您的位置:首页 > 编程语言 > PHP开发

STP生成树相关

2017-10-16 22:08 218 查看
端口协商参数:
speed - 速率;
duplex - 双工模式
半双工 - 同一时刻,只能收或者发;
全双工 - 同一时刻,可以同时收和发;
建议:不同类型的设备之间进行互联链路时,需要手动指定速率和双工
传统交换网络存在的问题:
单点故障
解决方案:
增加冗余链路
增加冗余设备
环路是如何形成
数据转发环路;
产生环路的数据,会不断的在网络中进行传输,从而消耗
网络中链路资源和设备资源;
解决方案:
在交换机上运行 STP 协议;
STP - 生成树协议; (802.1D)
-作用
存在冗余链路的情况下,实现环路的防护;
在LAN中,保证任何两个通信终端之间永远只有一个最短无环的转发路径。
-实现
BPDU - 桥接协议数据单元
-分类
PVST \ RSTP \ MSTP
工作过程:
1、确定交换机角色
根交换机
非根交换机
原则:比较每个交换机的 BID(桥ID),越小越好;
组成:
优先级+MAC
优先级 - 默认是32768
MAC - 交换机的主板MAC(基MAC)
查看命令:show version

2、确定端口角色
根端口 - 每一个非根交换机只有一个 距离 根交换机最近的口
指定端口 - 每一个“冲突域”中都存在一个距离根交换机最近的口
非指定端口- 其他所有端口,都叫做非指定端口

如何表示“距离”
在 STP 中,通过 cost 表示一个路径的距离;
对于某些链路,均有默认的 cost 值:
10M - cost 100 ;
100M - cost 19 ;
1G - cost 4 ;
10G - cost 2 ;
BPDU -
Root-ID #表示根交换机是谁;
Cost #表示发送该BPDU的交换机到达 根交换机 的距离
BID #表示发送该BPDU的交换机的名字;
Port-ID #表示发送方交换机是在哪个端口发送出来的;
-组成:
端口优先级.端口号
-优先级默认值为 128 ;

3、确定端口状态
disable #相当于shutdown,此时端口不能使用;
listening #侦听,该状态侦听的是BPDU,用于确定端口角色
learning #学习,该状态学习的是MAC,形成MAC地址表;
forwarding #转发, 即端口的最终转发状态;(根端口 、指定端口)
blocking #阻塞,此时的端口是不可以发送数据的;(非指定端口)
修改交换机的 STP 优先级:
SW2(config)#spanning-tree vlan 1 priority 0 #手动指定
or
spanning-tree vlan 1 root priority #自动识别成为根
导致的结果,此时网络中的“根交换机”由 SW1 变成了 SW2 ;
注意:当我们修改交换机的优先级的时候,发现问题:

SW2(config)#spanning-tree vlan 1 priority 1
% Bridge Priority must be in increments of 4096.
% Allowed values are:
0 4096 8192 12288 16384 20480 24576 28672
32768 36864 40960 45056 49152 53248 57344 61440
即:交换机的 STP 优先级必须得是 4096 的倍数;
开启一个 VLAN 的 STP 协议:
默认情况下,交换机为每个 VLAN 打开了 STP ;
想关闭:no spanning-tree vlan 200
验证:show spanning-tree
交换机如何区分不同 VLAN 的 BPDU :
我们使用 BID 中的 2 个字节的优先级中的 低12 bit 作为vlan 号 ;
由此得出:
前面2个字节的优先级字段,真正用来表示优先级的,仅有4
bit ; 所有呢,优先级只能有 16 个 ;
但是,在表示优先级数值的时候,后面的12bit,都必须算上
同时,必须是0;
即,每个交换机的 STP 的优先级,都是 2的12次方的 0-15
倍数,即 4096的倍数;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  STP 生成树