生成树协议试验范例分析
目录
生成树协议试验范例 (1)
1. 验证内容: (1)
2 试验环境: (1)
3 测试前准备: (3)
4试验过程: (6)
4.1.单独接入: (6)
4.2.基站逐步串接回环: (7)
4.3.66下挂111,使用光模块连接: (8)
4.4.电口向下接入基站31的port1口 (12)
4.5.31基站通port2接交换机,形成环 (16)
4.6.断开port2,66光口恢复 (20)
1.验证内容:
生成树的主要功能,切断阻断冗余拓扑环路,形成树形结构。拓扑改变时阻断能够恢复,避免影响通信。
生成树的工作步骤,选举根桥,确定根端口,指定端口,阻断端口。Tcn发出,阻断端口。拓扑改变时,恢复阻断端口通信。
生成树根据bpdu进行计算的过程。
拓扑改变时,tcn发出,tca的应答,tc+root拓扑改变的发出。
验证端口状态的变化和各定时器大小。
2试验环境:
三个具有生成树协议的基站,一个交换机,一台pc,一个usb转串口。
Ip和mac地址:
基站31,18.250.0.31 00:0e:5e:18:9a:9d 可提供2个fe接口和两个10m光接口。
基站111,18.250.0.111, 00:0e:5e:18:9b:5f,提供一个fe接口,两个10m光接口
基站66,18.250.0.66,00:15:e1:00:04:7c,提供一个fe接口,两个10m光接口
基站上有一个6口的交换芯片,所以相当于交换机相连。交换机是一个没有生成树协议的设备,对bpdu消息当做普通包处理。Putty接基站串口进行基站打印进行跟踪。
3测试前准备:
Wireshark的准备
因为stp是二层协议eth.dst是固定的01-80-c2-00-00-00,所以没有必要显示出来,面板的packet byte也没有必要显示出来。所以做一下改变。
Edit→preference→layout面板选成下图:
Columns改成只保留序号,时间,源mac,info
Edit→preference→columns改成下图:
只显示勾选上的列
为了判断时间方便确定消息发出的时刻,可以改时间格式为下图:
Putty的准备
为了方便跟踪串口打印,putty里建立一个默认的连接。
可以关闭后直接访问。
4试验过程:
4.1.单独接入:
插图单独接入交换机后的抓包。这时没有竞争关系,基站把自己的brgid作为rootid发出。
31
66
111
4.2.基站逐步串接回环:
测试过程:交换机接66后挂111再挂31,再有31的port2回接交换机
单独66
Rootid和brgid相同,cost为0,因为在交换机上接pc抓,不同端口间的cost为零。进入31后应该变成19。基站66把自己的桥id作为根id发出。
4.3.66下挂111,使用光模块连接:
111基站的mac地址为00-0e-5e-18-9b-5f。
66物理link up后,端口进入listen态,因为默认自己是根桥,所有端口开始发自己为根桥的bpdu,在收到111的bpdu后,发现111的rootid比自己级别高,就改写自己的rootid为111的rootid,启动20秒老化定时器,收到端口停止发bpdu,向其他激活的端口转发以111位根id的bpdu消息。
同时111收到66发来bpdu后,比较自己的优先级和mac地址,发现自己的mac地址小,舍弃此bpdu。
66的对应端口进入监听学习态,持续30秒,发现没有收到更优rootid的bpdu,确定111是根桥,自己的port3为根接口,发出tcn包,告知网桥拓扑改变。端口直接进入转发状态。见下图66串口的putty看到的打印:
经历listening,learning两个延时后,端口状态要转为转发状态时,发出tcn消息。
66收到111的tcn包后,发出tc+root的bpdu包,通知各网桥,自己要做根桥。经过老化时间+forwarddelay后,进入转发状态。111基站的putty打印见下图:
35s后,111正式作为根桥,端口处于转发态,周期性向拓扑端口发自己rootid的bpdu消息。
4.4.电口向下接入基站31的port1口
mac地址为00-0e-5e-18-9a-9d
31这边的
4.5.31基站通port2接交换机,形成环
基站31和基站66用8002端口和8001端口接入普通交换机,普通交换机相当于连接器。
开始66收到bpdu
没有接入前,111转发给66,31发出的root config消息。
接入后,因为31是根网桥,激活的端口都发root config消息,66收到31从port2发来的root config(因为66的port2一直接在交换机上,一直处于forward态),同时,31port1发来的root config消息也经过111的转发到达66,66同时收到网桥的两个不同端口的config消息,端口8002收到的bpdu里cost值为0,rootid相同,端口8003收到的bpdu
里cost值为19,所以端口8002收到的bpdu更优。所以更新记录的根id信息,并将从端口8003发出,但将要发出bpdu,和收到的bpdu比较,rootid相同,cost相同为19,但发出bid优先级低,所以8003端口被选做可选备份端口,由转发态转为阻塞态。端口由forward态变成block态,立即发出tcn消息,并闭塞66的光口。