HCIP笔记13-交换(2)

一台交换机上的一个接口可以映射多个不同的MAC地址,但一台PC上一个MAC只能对应一个接口

三层架构--冗余--二层的桥接环路

导致的问题:

1.广播风暴

2.对同一数据帧的反复拷贝

3.MAC地址表翻滚

这三个问题将不断占用硬件资源,逐渐导致设备性能极限,设备过热保护;重启或关机

STP生成树 逻辑阻塞交换网络中的部分接口;实现从根到所有节点唯一尽量最短路径;

当最佳链路故障时,再打开部分阻塞端口,来恢复通讯,实现线路备份;

生成树在生成过程中,应该尽量生成一棵星型结构,且最短路径数;

存在算法: 802.1D PVST PVST+(CISCO) RSTP(802.1W) MSTP(802.1S)

一、802.1D 一个交换网络内仅存在一棵生成树实例;

交换机间使用BPDU--桥协议单元 -交换机间沟通互动收发的数据

配置BPDU--只有根网桥可以发送,在交换网络初始状态时,所有交换机均定义本地为根网桥,进行BPDU的发送;使网络中所有交换机均收到其他设备的BPDU,之后基于数据中的参数进行比对,选举出根网桥;再所有非根网桥不在发送BPDU,而是仅接受和转发根网桥的BPDU,周期2s发送,hold time 20s;

TCN--拓扑变更信息(也是BPDU):本地交换机链路故障后,STP重新收敛,为了快速刷新全网所有交换机的MAC表,将向本地所有STP接口发送TCN(标记位中的TCN位置1),邻居交换机收到TCN后,先标记为ACK位回复,用于可靠传输信息,之后将TCN逐级转发到根网桥处,由根网桥回复TC消息来逐级回复到所有交换机,使所有交换机临时将MAC表的老化时间修改为15s(默认的,转发延时)

拓扑改变导致MAC地址表变化

选举----根网桥 根端口 指定端口 非指定端口(阻塞端口)

根网桥-----台交换机,在每一棵树形结构中有且仅有一台

周期的发送BPDU,计算整颗树形结构,保活和指挥整颗树的收敛

比较BPDU中的桥ID=BID

BID=优先级 默认32768 0-65535 小优

若优先级相同,比较MAC地址数值 小优

透明交换机无MAC,自然不支持生成树

支持stp的交换机,一定也支持SVI技术;SVI技术可以让交换机配置ip地址,成为源或目标设备,自然出厂时携带MAC地址;stp可以借用该 mac地址

BID=网桥优先级+MAC地址

根端口--一个接口 在每台非根网桥上有且仅有一个接口成为根端口;该交换机本地离根网桥最近的接口,用于接受来自根的BPDU;也正常转发用户的数据;--不被阻塞;

1.比较从根网桥发出的BPDU,通过该接口进入时的最小cost值

2.入向cost值相同时,比较对端(上级)设备的BID,小的对应接口为根端口

3.若上级设备的BID相同,比较上级接口的PID,上级PID小,对应接口为根端口

4.比较本地PID

指定端口--一个接口 在每一条两端均运行STP的物理链路上,有且仅有一个接口转发来自根的BPDU,也正常转发用户数据--不被阻塞

根端口对端为指定端口,根网桥上所有接口为指定端口

1.比较从根网桥发出的BPDU,通过该接口转出的最小cost值

2.比较本地BID,小优

3.比较本地PIID,小优

4.直接阻塞

非指定端口---以上所有角色选择完成后,剩余没有角色的接口全部成为非指定端口

非指定端口为阻塞状态,---不是down;可以收数据,但不转发任何流量

主要关注BPDU数据

PID=接口优先级 0-255 默认128 小优 +接口编号 小优

cost值:

V1(802.1D):10M 100 100M 19 1000M 4 10G 2 >10G 1

V2(802.1T):1000M 20000 100M 200000

SWAstp pathcost-standard ? 默认华为使用802.1t标准

dot1d-1998 IEEE 802.1D-1998

dot1t IEEE 802.1T

接口角色--根端口 指定端口 非指定端口

状态:

down STP未运行

侦听 15s 所有交换机收发BPDU,选举所有角色 根端口+指定端口进入学习状态

非指定端口进入阻塞状态

学习15s 关注用户流量中的源MAC地址,生成MAC表 之后进入转发状态

转发 只有转发状态后,方可进行用户数据的转发

阻塞

802.1D算法的收敛时长:

1.初次收敛 30s=15s侦听+15s学习

2.结构变化

【1】30s存在直连检测=本地仅存在一个阻塞端口可以接受来自根网桥的BPDU

【2】50s 非直连检测=20s hold time+30s收敛

802.1D缺点:

1.收敛慢

2.链路利用率低

二、PVST--基于VLAN的生成树 cisco私有主要是在802.1D的基础上,提高了链路的利用率

一个VLAN一棵树;一棵树的内部正常进行所有802.1D计算

将不同VLAN的根网桥放置于不同汇聚层设备处,可以实现所有链路均存在部分VLAN可通讯,且互为备份;

在每个 vlan内,存在一棵树,每个树的工作原理同802.1d一致;不同vlan的BPDU区别在于优先级;优先级=4096倍数+ vlan id人为仅可修改4096倍数备份,且只能修改为4096的整倍

仅支持trunk干道封装为ISL ( cisco 私有封装)

三、PVST + 在PVST 的基础, 兼容802.1q的trunk封装; 且设计了部分的加速;

端口加速(接入层连接用户的接口)--连接终端的接口,不需要30s

上行链路加速-针对直连检测

骨干加速一针对次优BPDU

上行链路加速仅在接入层设备上配置.因为配置后.该交换机将自动加大本地的网桥优先级:在直连检测条件下阻塞接口将跳过30s,直接进入转发状态--上行链路加速

骨干加速所有交换机均可配置,针对接收到次优BPDU的阻塞端口可以跳过20s的hold time;缺点: 1、收敛慢 (加速不彻底) 2、树多 (仅cisco存在单独的芯片, 友商无法负荷)

3.私有协议

四、快速生成树

cisco的RSTP --- 基于 vlan的快速生成树 一 一个vun−棵树 pvst+的升级

公有RSTP (802.1w) --- 整个交换网络一棵树 802.1d的升级

快速的原理:

1、取消了计时器,而是在一个状态工作完成后,直接进入下一状态;

2、分段式同步,两台设备间逐级收敛;使用请求和同意标记;依赖标记位的第1和第6位3、BPDU的保活为6s; hello time 2s;

4、将端口加速(边缘接口)、上行链路加速、骨干加速集成了

5、兼容802.1d和PVST, 但802.1d和PVST 没有使用标记位中的第1-6位, 故不能快速收敛; 因此如果网络中有一台设备不支持快速收敛,那么其他开启快速收敛的设备也不能快速;

当tcn消息出现时,不需要等待根网桥的BPDU,就可以刷新本地的cam表;

五、MSTP/MST/802.1S 华为设备默认使用该协议

继承了快速生成树的基础; 将多个VLAN放置与一个组内,基于每个组一棵生成树;

不同组间的BPDU中优先级=4096倍数+组号

sw1stp mode mstp

默认存在分组0,且所有vlan默认处于改组;优先级=32168+0

分组

sw1stp enable

sw1stp region-configuration

sw1-mst-regionregion-name a 所有设备应在一个组内

sw1-mst-regioninstance 1 vlan 1 to 5

sw1-mst-regioninstance 2 vlan 6 to 10

sw1-mst-regionactive region-configuration 激活当前配置(必须配置该命令)

切记:若将创建某个组,但该组内的VLAN,在本交换机上没有创建,同时没有为该VLAN服务的接口;改组将没有任何信息;整个交换网络中所有设备的分组信息必须完全一致;

定义本地组为1的主根,组2的备份根

stp instance 1 root primary 优先级修改为0

stp instance 2 root secondary 优先级修改为4096

sw1stp instance 1 priordity ?

INTERGER<0-61440> Bridge prority. in steps of 4096

sw1interface g0/0/1

sw1-GigabitEthernet0/0/1stp instance 1 cost ?

INTERGER<1-200000000> Port path cost

sw1-GigabitEthernet0/0/1stp instance 1 port priority ?

INTERGER<0-240> Port priority. in steps of 16

sw1display stp region-configuretion 查看stp配置

相关推荐
智者知已应修善业12 分钟前
【51单片机4位静态数码管显示1234】2023-11-14
c++·经验分享·笔记·算法·51单片机
whyTeaFo41 分钟前
MIT6.1810: xv6 book Chapter4: Traps and system calls 笔记
笔记
jimbo_lee1 小时前
yocto 用法(随手笔记,记录以备不时之需)
笔记·yocto
Xin_ye100861 小时前
C# 零基础到精通教程 - 第十八章:部署与发布——让应用上线
开发语言·c#
思麟呀1 小时前
C++11并发编程:call_once一次性执行+atomic原子类型+CAS无锁编程+自旋锁
linux·开发语言·jvm·c++·windows
码不停蹄的玄黓2 小时前
Java 生产者-消费者模型详解
java·开发语言·python
爱讲故事的2 小时前
操作系统第一讲复习:为什么学习操作系统,以及操作系统到底在做什么?
linux·开发语言·windows·学习·ubuntu·c#
笨蛋不要掉眼泪2 小时前
Java并发编程:Executors框架类深度解析
java·开发语言·并发
_童年的回忆_3 小时前
【php】在linux下PHP安装amqp扩展
linux·开发语言·php
郑洁文3 小时前
基于Python的网络入侵检测系统
网络·python·php