要保证企业的网络中的关键应用可持续性,就需要对交换网络进行冗余设计,然而这将产生广播风暴、“网络环路”等问题,严重时,将导致整个网络瘫痪?于是,STP生成树解决办法出现了…… 1.网桥ID(Bridge ID)
每台网桥都有一个ID表示,Bridge ID称为BID。它是由一个2字节加6字节,总共8字节组成的存储域组成,如图8-7所示。低6字节MAC地址由交换机分配好,高2字节BID为网桥优先级,范围从0~65 535,默认为32 768。
图8-6 生成树技术与端口阻塞(Block)
图8-7 网桥ID
2.路径开销(Path Cost)
IEEE 802.1D早期定义采用1 000Mbps来除以实际的带宽获得的数据作为路径开销值,但由于后来实际带宽超过1 000Mbps,得到了小数,不方便计算;后来IEEE 802.1D修正了新值,目前采用新值,如表8-1所示。
表8-1 生成树路径开销值
带 宽 | 开销(IEEE修订后) | 开销(IEEE修订前) |
10Mbps | 100 | 100 |
100Mbps | 19 | 10 |
1Gbps | 4 | 1 |
10Gbps | 2 | 1 |
3.桥接协议数据单元(BPDU)
生成树在运算选举中,还通过相互比较桥接协议数据单元(Bridge Protocol Data Units,BPDU)实现。BPDU有两种类型,配置BPDU和拓扑改变通知(TCN BPDU)。
BPDU配置消息是以以太网数据帧的格式进行传递的,采用多播MAC地址01-80-C2-00-00-00为目的MAC地址,网络中的网桥收到该地址后,能够判断出该数据帧是生成树协议的数据帧,源MAC地址域中的本网桥的MAC地址,数据帧的具体内容如表8-2所示。
表8-2 BPDU配置消息格式
DMA | SMA | L/T | LLC Header | Payload |
n DMA:目的MAC地址,固定的组播地址,0X0180C2000000。
n SMA:源MAC地址,发送BPDU配置消息的桥MAC地址。
n L/T:帧长。
n LLC Header:配置消息固定的链接头。
n PayLoad:BPDU数据区。
n
提示:IEEE 802.1D指定17个多播地址,范围从0x00180c2000000~0x00180c2000010,用于不同网桥版本,如果交换机端口开启STP,交换机CPU接收目标来地址0x0180C2000000~0x0180C2000010,如果STP被关闭,则认为这些多播地址为未知的。 |
表8-2中的Payload是BPDU的核心配置部分,具体组成信息如表8-3所示。
表8-3 BPDU值域
值 域 | 字 节 | 分 配 值 |
Protocol ID | 2 | 总为0 |
Version | 1 | STP为 0 RSTP为2 |
Type | 1 | 0 = 配置 BPDU 1=拓扑改变时发出的BPDU |
Flags | 1 | LSB = 拓扑改变标志位,MSB = 拓扑改变确认标志 |
Root BID | 8 | 当前的根桥ID,根桥的优先级加上MAC地址 |
续表
值 域 | 字 节 | 分 配 值 |
Root Path Cost | 4 | 计算到根桥的路径开销 |
Sender BID | 8 | 本地网桥ID,也叫指定网桥ID |
Port ID | 2 | 网桥的端口ID |
Message Age | 2 | 端口保存BPDU的一个生存期 |
Max Age | 2 | BPDU 老化时间 |
Hello Time | 2 | 周期发送BPDU的间隔时间 |
Forward Delay | 2 | 网桥从监听到学习状态的时间 |
拓扑改变BPDU(TCN BPDU),顾名思义就是拓扑改变时发出的BPDU,这是由拓扑改变的网桥发出的,与配置网桥区别在于,表8-3中的Type值为1。