前言
本文的资料来源于互联网,因初学CCNA,对学习指南中所讲的概念晦涩难懂,于是网上搜索这些资料,终于理解了大半,为对其他学者有益,故专门整理出来。
定义:
根端口(RP):指直接连到根桥的链路所在的端口,或者到根桥的路径最短的端口。如果有多条链路到根桥,就通过检查每条链路的的带宽来决定端口的开销,开销最低的端口就成为根端口。如果多条链路的开销相同,就使用桥ID小的那个桥。如果多条链路来自同一设备,就使用端口号最低的那条链路。
指定端口(DP):有最低开销的端口就是指定端口,指定端口被标记为转发端口。
首先要记住六点:
1. 根桥负责维护网络拓扑,根桥的所有端口都是指定端口
2. 选择根端口和制定端口的BPDU帧总是从根桥的所有端口向外发
3. 选举指定端口,站在链路上比较所有端口发送的BPDU
4. 选举根端口,站在桥上比较所有端口接收的BPDU(接收的BPDU+本接收端口线路带宽的cost)
5. 交换机接收BPDU时开销值增加,发送BPDU时开销值不变
6. 选举过程:选举根桥——>根端口——>指定端口——>其余为阻塞端口
实例1)
选举步骤:
1)当选举根桥之后,就会选举从非根桥到根桥最小的开销的端口即根端口。而选举根端口跟path cost有关系(每经过一个交换机的入接×××换机知道自己是多少带宽的因此能够检测到path cost比如10G是2, 1G是4, 100Mb是19),当switch3收到了从switch4过来的config bpdu它的path cost是19+100=119.从switch2过来的是19+19因此switch3的3/37成为根端口。
2)之后会选择switch3和switch4这段链路到达根桥开销最小的端口即指定端口。switch3的2/25从switch4收到的cost是19,switch4的3/25从switch3收到的cost是38。注意这个时候是在不加入switch3 switch4之间的cost时进行比较(站在链路上看)。由于switch4发送的BPDU的19小于switch3发送的BPDU的38因此这个是switch4的3/25是designed port switch3的2/25是ndport被block!!
实例2)
根桥是SWC,根端口(RP)有SWA的Fa0/1、SWBGi0/1、SWDGi0/2,指定端口(DP)有SWD的Gi0/1口,这些都没什么问题,主要问题在SWA-SWB这个链路上的指定端口的选择:
站在链路上,往左走开销是19(带宽100Mb),往右走开销是19(带宽100Mb)+ 4(带宽1Gb)= 23,所以链路左边的端口胜出,它就是指定端口(DP)了,那么右边的端口Gi0/2则变成阻塞状态。
技巧:
根端口的选择:把自己放到非根桥交换机的位置,沿着每个端口可到达根桥,累加途经的带宽开销,开销最小的那个端口胜出,即是根端口。
指定端口的选择:把自己放在链路的中点,从链路的中点开始沿着两个不同方向的端口到达根桥,累计途经的带宽开销,开销最小的那个端口胜出,即是指定端口。
实例3)
第一步,选举根桥。优先级一样,比较MAC地址,SW1为根桥。
第二步,选举每台非根桥交换机上的根端口,比较接收到的BPDU(BPDU由根桥发出,即SW1发出):
SW2:从f0端口收到的BPDU代价为19;从f1端口收到的BPDU代价为19+4+19=42;因此f0端口为根端口。
SW3:从g0端口收到的BPDU代价为19+19=38;从g1端口收到的BPDU代价为19+4=23;因此g1端口为根端口。
SW4:从g0端口收到的BPDU代价为19;从g1端口收到的BPDU代价为19+19+4=42;因此g0端口为根端口。
第三步,选举每个网段上的指定端口(Designated Port),比较发出的BPDU:
SW1-SW2网段:从SW1/f0口发出的BPDU代价为0;从SW2/f0口发出的BPDU代价为19+4+19=42;因此SW1/f0口为指定端口。
SW1-SW4网段:从SW1/f1口发出的BPDU代价为0;从SW4/g0口发出的BPDU代价为19+19+4=42;因此SW1/f1口为指定端口。
SW3-SW4网段:从SW3/g1口发出的BPDU代价为19+19=38;从SW4/g1口发出的BPDU代价为19;因此SW4/g1口为指定端口。
SW2-SW3网段:从SW2/f1口发出的BPDU代价为19;从SW3/g0口发出的BPDU代价为19+4=23;因此SW2/f1口为指定端口。
第四步,非根端口,非指定端口即为阻塞端口(Block Port),即SW3/g0口为阻塞端口。
实例4)
步骤一:选举根网桥
—比较四个交换机(SW1、SW2、SW3和SW4)的网桥ID,四个交换机的优先级都是32768,优先级相等,再比较背板MAC,显然SW1的背板MAC最小,所以SW1的网桥ID最小,SW1是根网桥。
步骤二:选举根端口
—在SW2上&#xff1a;端口到根网桥路径开销&#xff1a;0/1&#61;19<0/2&#61;19&#43;19,所以0/1号端口是SW2的根端口。
—在SW3上&#xff1a;端口到根网桥路径开销&#xff1a;0/3&#61;19<0/2&#61;19&#43;19,所以0/3号端口是SW3的根端口。
—在SW4上&#xff1a;端口到根网桥路径开销&#xff1a;0/1&#61;19<0/2&#61;19&#43;19,所以0/1号端口是SW4的根端口。
步骤三&#xff1a;选举指定端口
—在SW1-SW2的物理网段上&#xff1a;SW1上的0/1号端口的网桥到根网桥的路径开销是0&#xff0c;而SW2上的0/1号端口的网桥到根网桥的路径开销是19&#xff0c;所以在SW1-SW2的物理网段上&#xff0c;SW1上的0/1号端口是指定端口。
—在SW1—SW3的物理网段上&#xff1a;SW1上的0/3号端口的网桥到根网桥的路径开销是0&#xff0c;而SW3上的0/3号端口的网桥到根网桥的路径开销是19&#xff0c;所以SW1—SW3的物理网段上&#xff0c;SW1上的0/3号端口是指定端口。
—在SW1—SW4的物理网段上&#xff1a;SW1上的0/2号端口的网桥到根网桥的路径开销是0&#xff0c;而SW4上的0/1号端口的网桥到根网桥的路径开销是19&#xff0c;所以在SW1-SW4的物理网段上&#xff0c;SW1上的0/2号端口是指定端口。
—在SW2—SW3的物理网段上&#xff1a;SW2上的0/2号端口和SW3上的0/2号端口的网桥到根网桥的路径开销都是19&#xff0c;再比较两端口的发送方网桥ID,SW2上的0/2号端口的发送方网桥是32768.000d.280c.b300,而SW3上的0/2号端口的发送方网桥是32768.000d.280b.b200,所以在SW2-SW3的物理网段上&#xff0c;SW2上的0/2号端口是指定端口。
—在SW3—SW4的物理网段上&#xff1a;SW3上的0/1号端口和SW4上的0/2号端口的网桥到根网桥的路径开销都是19&#xff0c;再比较两端口的发送方网桥ID&#xff0c;SW3上的0/1号端口的发送方网桥是32768.000d.280d.b100,而SW4上的0/2号端口的发送方网桥是32768.000d.280c.b300,所以在SW3-SW4的物理网段上&#xff0c;SW3上的0/1号端口是指定端口。
步骤四&#xff1a;阻塞端口&#xff08;SW3上的0/2号端口和SW4上的0/2号端口&#xff09;
最后的STP生成拓扑图
结论&#xff1a;在根网桥上的所有端口都是指定端口&#xff0c;同一个交换机&#xff08;除了根网桥&#xff09;上的端口只能属于一种端口&#xff0c;不可能是根端口同时兼指定端口。