以太网交换机还是比较常用的,于是我研究了一下以太网交换机中生成树协议的实现方法,在这里拿出来和大家分享一下,希望对大家有用。以太网交换机在第二层即MAC层必须具有路由功能。目前普遍使用的MAC层路由方式是IEEE802.1组织发布的标准:基于生成树算法的路由。
在局域网内的以太网交换机执行了生成树算法以后,会组成一个生成树动态拓扑结构,该拓扑结构使局域网内任意两个工作站之间不存在回路,以防止由此产生的局域网广播风暴,同时,生成树算法还负责监测物理拓扑结构的变化,并能在拓扑结构发生变化之后建立新的生成树。例如当一个以太网交换机坏了或某一条数据通咱断了后,能提供一定的容错能力而重新配置生成树的拓扑结构。以太网交换机根据生成树动态拓扑结构的状态信息来维护和更新MAC路由表,最终实现MAC层的路由。
一、以太网交换机在MAC层体系结构
以太网交换机在MAC层的功能主要是实现LAN的互连。根据IEEE802.1D协议的规定,在MAC层工作的体系结构必须包含以下内容:(1)一个用于连接交换机端口的MAC转发实体;(2)至少两个端口;(3)高层协议实体,其中包括交换机协议实体。如图1所示。
MAC转发实体主要实现交换机不同端口间的内部通信。该实体存储各个端口的工作状态并维护一个过滤数据库。数据库中存放了一张MAC地址表,用以实现MAC层的路由。当数据帧从一个端口的底层服务进程传上来时,MAC实体首先判断目的端口的工作状态,如果目的端口没有被阻塞,MAC转发实体将依据MAC地址表的对应关系将该帧从目的端口转发出去。同时MAC转发实体还可以进行过滤、记录MAC地址等操作。
以太网交换机端口的功能是从与其相连的LAN上接收或传送数据。端口的状态由生成树算法规定,包括转发、学习、监听、阻塞和禁止状态。高层协议实体位于LLC层,主要用于计算和配置LAN的拓扑结构。下面介绍的生成树协议算法就是运行在该协议实体内,用来实现MAC层的路由。在运行生成树算法时,高层协议实体可以直接调用MAC转发实体提供的服务,并能读取或更改MAC实体数据库中维护的信息,如从MAC实体中读取或更改某端口的状态信息等。
在运行生成树算法时,以太网交换机的高层协议实体将使用一个统一的组地址01-80-C2-00-00-00作为目的MAC地址,该数据被称为BPDU(桥协议数据单元)。BPDU中携带了实现生成树算法的有关信息。在实现生成树算法时,从端口接收上来BPDU,由LLC层的服务进程将其传给交换机协议实体。在执行了生成树算法以后,交换机的协议实体将根据算法的结果更新端口的状态信息并更新过滤数据库,以决定交换机端口的工作状态(阻塞或转发等),从而建立生成树拓扑结构。
二、生成树协议
1、生成树协议介绍
生成树协议基于以下几点:(1)有一个唯一的组地址(01-80-C2-00-00-00)标识一个特定LAN上的所有的交换机。这个组地址能被所有的交换机识别;(2)每个交换机有一个唯一的标识(BridegIdentifier);(3)每个交换机的端口有一个唯一的端口标识(PortIdentifier)。对生成树的配置进行管理还需要:对每个交换机调协一个相对的优先级;对每个交换机的每个端口调协一个相对的优先级;对每个端口调协一个路径花费。
具有***优先级的交换机被称为根(root)交换机。每个交换机端口都有一个根路径花费,根路径花费是该交换机到根交换机所经过的各个跳段的路径花费的总和。一个交换机中根路径花费的值为***的端口称为根端口,若有多个端口具有相同的根路径花费,则具有***优先级的端口为根端口。
在每个LAN中都有一个交换机被称为选取(designated)交换机,它属于该LAN中根路径花费最少的交换机。把LAN和选取交换机连接起来的端口就是LAN的选取端口(designatedport)。如果选取交换机中有两个以上的端口连在这个LAN上,则具有***优先级的端口被选为选取端口。拓扑结构如图2所示。
由于以太网交换机A具有***优先级(桥标识***),被选为根交换机,所以交换机A是LANA和LANB的选取交换机;假设交换机B的根路径花费为6,交换机C的根路径花费为4,那么交换机C被选为LANC的选取交换机,亦即LANC与交换机A之间的消息通过交换机C转发,而不是通过交换机B。LANC与交换机B之间的链路是一条冗余链路。
2、BPDU编码
以太网交换机之间定期发送BPDU包,交换生成树配置信息,以便能够对网络的拓扑、花费或优先级的变化做出及时的响应。BPDU分为两种类型,包含配置信息的BPDU包称为配置BPDU(ConfigurationBPDU),当检测到网络拓扑结构变化时则要发送拓扑变化通知BPDU(TopologycHANGEnOTIFICATIONBPDU)。配置BPDU编码如图3所示。