CCNA课堂笔记7

STP协议

 

BPDU,网桥协议数据单元

 

 

 

 

STP路径开销,以链路带宽为准,两个标准,现在主要以NEW为准

 

STP的选举:

  • 每个广播域选举一个根桥
  • 每个非根交换机选举一个根端口
  • 每个段选举一个指定端口
  • 选择一个非指定端口

 

需考虑的因素:

  • 最低的根桥ID
  • 到根桥的最低路径成本
  • 最低的发送者网桥ID
  • 最低的发送者端口ID

 

 

需要注意:

  • 跟桥的角色是可抢占的
  • 桥ID中的MAC是交换机的背板MAC,端口ID中的MAC是交换机端口的MAC。 Show int | in bia 可查看所有MAC,第一个就是背板MAC
  • 选择根端口:比较接收到的BPDU;
  • 选择指定端口:比较发送出BPDU
  • 根桥向自身的所有接口发送BPDU,非根交换机会从自己的根端口接收BPDU,并从自身的指定端口转发出去,非指定端口不转发BPDU,只会侦听,默认20秒没收到BPDU包,则开始发送BPDU;

 

 

 

  • 选举Root

比较所有网桥的优先级,优先级一致,比较MAC地址,SW1成为Root,Root所有端口为指定端口

  • 非根交换机选举跟端口

如图所示,SW1的F0/0与SW2的F0/1为Root Port,因为这些端口到达跟桥的Cost值最小

  • 每个段选举指定端口

Root所有端口为DP。比较SW2与SW3相连的接口,SW2会收到SW3发来的BPDU,SW3也会都到SW2发来的BPDU,各自比较自己和收到的BPDU报文中到根路径成本,也就是COST值,发现都为19,然后比较桥ID(比较发送者桥ID),明显SW2的MAC比较小,故成为DP,而SW3的F0/0被Block。

 

注意,这时如果试图在SW3上,将F0/1的COST调大,比如调整为200,那么在SW3上,F0/0就会成为RP。

 

一般在需改变的交换机上的端口做操作:

(config-if)#spanning-tree cost 10 //修改接口COST值,如果想让阻塞端口成为转发端口,

(config-if)#spanning-tree vlan 1 cost 10 //只针对某个vlan 修改接口COST值

   

  • 选举Root

不再赘述

  • 非根交换机选举跟端口

如图所示,SW2的两个接口都会收到BUDP报文,都是来自SW1,因此,两份BUDP中到Root的开销都是0,接着比较发送者桥ID,都是来自SW1,因此也比较不出来,再比较两份BPDU报文中的端口ID,假设SW1的端口优先级相等,则比较接口ID,明显SW1的F0/1接口ID比较小,故SW2的F0/1接口称为RP。

  • 每个段选举指定端口

Root的每个端口都是指定端口,SW2的F0/1接口为RP,故SW2的F0/2接口被Block。

 

注意,这时如果试图在SW2上将F0/2的接口优先级改小,也是没用的,因为比较的是发送者的端口ID,所以如果在SW1上,将F0/2的端口优先级调小,那么在SW2上,F0/2就会成为RP。

 

当然,如果将SW2的F0/2 Cost值调小,也可以让F0/2成为RP

 

 

修改接口优先级,一般在需改变的交换机上联设备接口下做操作:

(config-if)#spanning-tree port-priority 64 //修改接口优先级,必须是16的倍数, Cisco默认128,

spanning-tree vlan 1 port-priority 64 //只针对某个vlan 修改接口优先级

 

 

 

 

 

SW1

配置Vlan的主根桥:

(config)#spanning-tree vlan 1 priority 0 //将vlan 1 的优先级配置为0,,默认为32768

 

SW2

配置Vlan的次根桥:

(config)#spanning-tree vlan 1 priority 4096 //将vlan 1 的优先级配置为4096,比主根桥小,思考一下为什么?

 

 

 

 

 

 

 

 

 

posted @ 2020-11-26 23:47  叫我Ghost就好了  阅读(76)  评论(0)    收藏  举报