STP 抓包分析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STP 抓包分析相关的知识,希望对你有一定的参考价值。
# STP(Spanning-Tree Protocol,生成树协议)的工作原理,在分层网络中存在冗余链路的情况下容易引起流量环路,使用STP能够动态的管理这些冗余链路;当某台交换机的一条连接丢失时,另一条链路能迅速取代失败链路,并且不会产生流量环路。文章主要包括下面几点内容:冗余拓扑中存在的问题、生成树协议、生成树收敛、利用生成树实现负载均衡等。 # 1、STP交换机角色 # 根交换机(root bridge)和非根交换机(none root bridge) # 首先要知道什么是BID(Bridge ID,桥ID),因为根交换机的选举是基于BID的,BID由三部分组成——优先级、发送交换机的MAC地址、Extended System ID(扩展系统ID,可选项);BID一共8个字节,其中优先级2个字节,MAC地址6个字节。优先级包括Priority 4bit(4096*n)和Extended System ID 12bit(pvst协议和rapid-pvst协议采用vlan id,MST 采用instance id);在进行BID比较时,先比较桥优先级,优先级值小的为根桥;当桥优先级值相等时,再比较桥的背板MAC地址,MAC地址小的为根桥。 IOU1#sh spanning-tree VLAN0001 Spanning tree enabled protocol ieee # 表示交换机使用的生成树协议是"PVST+",这也是思科默认的生成树协议 Root ID Priority 32769 # 表示根交换机的优先级是32769, Address aabb.cc00.0800 # 根交换机的MAC地址 This bridge is the root # 表示当前这台交换机就是根交换机 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec # BPDU发送间隔默认2秒,最大存在时间是20秒,转发延时是15秒。 Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) # Extended System ID是1,所以总优先级就是32768+1=32769 Address aabb.cc00.0800 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Et1/1 Desg FWD 100 128.6 Shr Et1/2 Desg FWD 100 128.7 Shr Et1/3 Desg FWD 100 128.8 Shr IOU2#sh spanning-tree VLAN0001 Spanning tree enabled protocol ieee Root ID Priority 32769 Address aabb.cc00.0800 Cost 100 Port 10 (Ethernet2/1) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) Address aabb.cc00.0d00 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Et2/1 Root FWD 100 128.10 Shr Et2/3 Altn BLK 100 128.12 Shr Et3/3 Altn BLK 100 128.16 Shr IOU3#sh spanning-tree VLAN0001 Spanning tree enabled protocol ieee Root ID Priority 32769 Address aabb.cc00.0800 Cost 100 # 端口cost :100 Port 14 (Ethernet3/1) # Ethernet3/1 为 10M Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) Address aabb.cc00.0a00 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Et3/1 Root FWD 100 128.14 Shr Et3/2 Desg FWD 100 128.15 Shr Et3/3 Desg FWD 100 128.16 Shr
# 2、端口cost和路径cost # 根交换机被选举出来后,计算其他交换机到根交换机的cost,STA考虑两种cost,端口cost和路径cost,路径cost是从根交换机出发到最终交换机入方向的端口cost总和,也就是说在上面的拓扑图图三中,假设SW1是根交换机,想要改变SW3到根交换机SW1的花费,应该在SW3的fa0/1来改变,而不是在SW1的fa0/3端口上改变。 # 如果一台交换机有多条路径到达根交换机,这台交换机会选择路径花费最小的那条,下面是默认的端口cost参照表: # 10G -- 2,1G -- 4,100M -- 19,10M -- 100 # 3、BPDU结构浅析 # BPDU包含12个字段 Frame 1417: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface 0 IEEE 802.3 Ethernet Logical-Link Control Spanning Tree Protocol Protocol Identifier: Spanning Tree Protocol (0x0000) Protocol Version Identifier: Spanning Tree (0) BPDU Type: Configuration (0x00) BPDU flags: 0x00 # 标记域,包含TC(Topology Change,拓扑改变)比特位,TCA(Topology Change Acknowledgment,拓扑改变确认)比特位。 Root Identifier: 32768 / 1 / aa:bb:cc:00:08:00 # Root ID:包含了根交换机的BID。 Root Path Cost: 0 # Cost of path:到根交换机的路径花费。 Bridge Identifier: 32768 / 1 / aa:bb:cc:00:08:00 # Bridge ID:转发BPDU的交换机的BID。 Port identifier: 0x8007 # Port ID:转发BPDU的交换机的PID,PID等于端口优先级(默认128)加端口号, Message Age: 0 # Message age:BPDU已经存在的时间。 Max Age: 20 # Max age:BPDU最大存在时间。 Hello Time: 2 # Hello time:根交换机发送配置信息的间隔时间,默认2秒。 Forward Delay: 15 # Forward Delay:转发延时,默认15秒。 # STP端口角色 # 1)根端口(Root Port,RP):转发并接收BPDU;每个非根交换机上有且仅有一个根端口, # 2)指派端口(Designated Port,DP):转发并自身发送BPDU;网络上除根端口外,所有允许转发流量的端口,每个网段都有一个指派端口,根交换机上的端口都是指派端口。 # 3)非指派端口:只接收BPDU;既不是根端口也不是指派端口,这种端口虽然是激活的但是会被堵塞(Blocking)用来阻止环路,根端口和指派端口都处于转发(Forwarding)状态。 # 4)禁用端口:被管理员使用"shutdown"命令关闭的端口称作禁用端口,禁用端口不参与生成树算法。
以上是关于STP 抓包分析的主要内容,如果未能解决你的问题,请参考以下文章