园区网架构
交换机实现了以下功能
- 无限的传输距离——识别,重写电信号(帧)保证信息完整
- 彻底解决了冲突
- 二层单播——MAC地址表
- 提高端口密度
MAC
单播地址:MAC地址第一个字节第8位为0
组播地址:MAC地址第一个字节第8位为1
广播地址:全1
MAC地址表包括:
源MAC 接口 VID 老化时间(300s)
在一个城市中,除了马路和家庭住所外,都是园区
广域网+局域网=城域网
传统的园区网一般是在一个连续的、有限的地理区域相互连接的局域网,不连续区域的网络会被视为不同的园区网络
AP:无线访问接入点
无线是有线的最后一公里
无线网络的缺陷:
- 无线信号穿透性较差
- 无线网传输速率和信号强度有关
- 信号强度存在波动,距离信号发射点越远,信号越弱
- 上网用户数量增多,网络卡顿
CSMA/CD
停等式流控
企业网三层架构
接入层
- 接入层可以被看做是网络的边界,主要的功能是提供终端用户接入网络的接口,并负责将终端用户产生的数据发送到外部网络。
- 典型设备:二层交换机
汇聚层 - 汇聚层是流量的汇聚地,该层面也通常是终端设备的网关所在地
- 由于汇聚层设备是接入层设备的网关所在地,需要保障其可靠性,防止大面积网络故障产生。一般会在汇聚层放置多台设备实现备份冗余。
- 典型设备:三层交换机
- 同时具备二层交换功能和路由功能的交换机
- 有二层接口和三层接口
核心层
- 网络的骨干层面
- 负责高速转发数据,因为其处于的网络位置极其重要,必须充分考虑其高可靠性和高容错性
路由器的转发效率比三层交换机低(交换机是硬件转发看MAC,路由器是软件转发CPU计算)
园区网设计的原则
- 可靠性——冗余能力
- 线路冗余、设备冗余、网关冗余、UPS冗余(电源)
- 可信任性——安全能力
- 可管理性
三层交换机为什么没有代替路由器:功能不同(路由转发)、环境不同(路由器可以在更加复杂的环境)
VLAN-虚拟局域网
垃圾流量问题
网络安全问题
VLAN的特点+ 一个VLAN就是一个广播域;不同VLAN内部的数据无法进行跨广播域通讯
- VLAN的划分是不受地域限制的
VLAN的实现
主机的网卡一般只能发送和接收无标记帧(Untagged Frame). Tagged Frame——标记帧
注意:在交换机内部,所有的数据都是标记帧,原因在于所有的数据需要区分不同VLAN的数据
VLAN标签
IEEE 802.1Q标准,对以太帧格式进行了修改,在源MAC地址字段和协议类型字段之间加入4字节的802.1Q Tag。802.1Q Tag也称为VLAN Tag,带有VLAN Tag的以太帧称为VLAN帧。——Dot1Q
VLAN的划分方式
- 基于接口划分——根据交换机的接口划分
- PVID——缺省VLAN
- Port VLAN ID ——接口上的缺省VLAN
- 0-4095
- 配置简单直观,该方式是目前现网环境中应用最广泛的划分VLAN的方式
- PVID——缺省VLAN
- 基于MAC地址划分——根据数据帧的源MAC地址划分
- VLAN映射表——记录了MAC地址与VLAN ID的关联情况
- 灵活性高
- 基于IP子网划分——根据数据帧中的源IP地址和子网掩码来划分
- 基于协议划分——根据数据帧所属的协议类型及封装格式来划分VLAN
- 基于策略的划分——根据配置的策略划分VLAN,能够实现多种组合的划分方式
接口划分VLAN——接口类型
[Huawei]display vlan 查看接口VLAN
交换机默认存在VLAN1,所有接口都在VLAN1
第一步:创建VLAN
[Huawei]vlan 2
[Huawei]vlan batch 10 20 30
[Huawei]vlan batch 100 to 200
第二步:将接口划入VLAN
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type access
[Huawei-GigabitEtherneto/0/1]port default vlan 2 //设置缺省VLAN
[Huawei]display port vlan----查看vlan与端口的对应关系
[Huawei]display port vlan active ---查看映射简便
PVID——端口的VLAN-ID
华为给每一个接口都配置一个PVID,也就是接口所属的VID。每个接口只能有一个PVID值。在默认情况下,PVID为1
Access类型
Access类型的二层接口通常用于连接终端设备,原因在于Access接口所连接的设备网卡只能处理无标记帧
Access接口接收数据帧
- Access接口接收到一个Untagged帧
- 交换机会接收这个数据帧,并将数据帧打上接口缺省VLAN的Tag
- 当Access接口收到一个Tagged帧
- 如果该帧携带的VID与接口的PVID相同,则交换机接收该数据帧。
- 若帧携带的VID与接口的PVID不同,则交换机丢弃该数据帧
Access接口发送数据帧
- 该数据一定是带tagged数据帧
- 会剥离tag,然后将数据恢从该接口发送出去。----Access接口发送的数据帧一定当交换机接收到该数据帧后,是无标记帧。
第三步:配置Trunk干道
[sw1-GigabitEthernet0/0/5]port link-type trunk
[sw1-GigabitEthernet0/0/5]port trunk allow-pass vlan 2 3
[sw2-GigabitEthernet0/0/3]port trunk pvid vlan 10 ----修改Trunk干道的缺省VLAN,修改后一定要将PVID放入允许列表中
trunk千道创建时默认放通vlan 1,且创建时缺省vlan为vlan 1。
Trunk类型
该接口可以接收或发送多人VLAN的数据帧。所以Trunk类型的接口多见于交换机之间互联的接口
Trunk接口接收数据帧
- 当Trunk接口收到一个Untagged帧
- 交换机会给该接口打上缺省VLAN的Tag,并检查该vlan是否属于允许列表中 (VLAN-List),如果允许则接收该数据帧,否则丢弃。
Trunk接口发送数据帧
- 当发送的数据帧的VID与Trunk接口的PVID相同,且在允许列表中
- 剥离数据帧的VLAN-ID字段,并发送数据
- 当发送的数据帧的VID与Trunk接口的PVID不同,且在允许列表中。
- 直接携带VLAN-ID数值发送
当数据帧的VID不再允许列表中,不管PVID为多少,都拒绝发送数据
- 直接携带VLAN-ID数值发送
Hybrid——混杂接口
该接口类型是华为私有设计的接口类型。华为交换机默认接口类型为Hybrid类型。
VLAN List----允许列表,标识了该接口允许放通的流量,并且标识了交换机在发送数据时,是否要携带标签
U----untagged----发送数据不携带标签
T----tagged-----发送数据携带标签
总结:
- Access
- 可以修改PVID,可以修改允许列表,但是PVID和允许列表中必须相同且只能允许一个VLAN通过
- 出口封装方式只能是不携带标签
- Trunk
- 可以修改PVID,可以修改允许列表
- 允许列表中可以通过多个VLAN流量
- 出口封装方式仅为携带标签 (若PVID在允许列表中,则不携带)
- Hybrid
- 可以修改PVID,修改允许列表
- 而且允许列表中可以通过多个VLAN的流量
- 可以修改出口的封装方式
Hybrid工作方式
- PVID----接口缺省vlan
- tagged----接口允许通过列表,且携带标签
- untagged----接口允许通过列表,不允许携带标签
Hybrid接口接收数据时
- Hybrid接口收到一个无标记帧
- 数据帧被打上PVID的数值
- 且该PVID在允许列表中,不管是属于U还是T,都会将数据接收
- 且此PVID不在允许列表中,则丢弃数据
- Hybrid接口收到一个标记帧
- 若在允许列表则接收数据
- 若不在允许列表则丢弃数据
Hybrid接口发送数据时
- 若数据帧中的VID不在允许列表中则丢弃
- 若数据帧中的VID在允许列表中
- 在tagged列表,则携带标签转发
- 在untagged列表,则剥离标签转发
Hybrid
1.每个接口修改PVID,实现access口功能(打标签)
[sw1-GigabitEthernet0/0/2]port link-type hybrid //修改接口类型
[sw1-GigabitEthernet0/0/2]port hybrid pvid vlan 2 //设置混杂接口PVID
[sw1-GigabitEthernet0/0/2]port hybrid untagged vlan 2 3 5 //设置不携带标签的允许列表
[sw1-GigabitEthernet0/0/2]port hybrid tagged vlan ?
INTEGER<1-4094> VLAN ID
All
通过洪泛范围判断广播域
VLAN间通讯
- 单臂路由——使用逻辑接口——以太网子接口(sub interface)
- 多臂路由——使用vlan的方式减小广播域的原因在于路由器接口数量不够,而为了实现跨广播域通讯,还是需要使用路由器多个接口,得不偿失。
- hybrid配置
- 三层交换机
单臂路由
[r1]interface GigabitEthernet 0/0/1.10 ----创建子接口
[r1-GigabitEthernet0/0/1.10]description vlan10 -----描述信息
[r1-GigabitEthernet0/0/1.10]ip address 192.168.10.254 24 ----配置IP地址
[r1-GigabitEthernet0/0/1.10]dot1q termination vid 10 ----开启子接口处理802.1Q数据帧的能力,且针对于VLAN10
[r1-GigabitEthernet0/0/1.10]arp broadcast enable ---开启伪广播
- 华为子接口默认不开启ARP应答功能,所以需要手工开启
- 华为子接口默认不能处理802.1Q数据顿
缺点:负载大、不能关闭
最好单多结合
三层交换机
SVI——switch virtual interface——VLAN IF接口——三层接口
三层交换机的所有虚拟三层接口公用一个MAC地址
[SW1]display bridge mac-address----查看交换机系统MAC地址
VLANIF 接口默认可以处理802.1Q——子承父业
VLANIF 间用无标签帧交互
先配二层再配三层
[SW2]vlan batch 10 20
[SW2-GigabitEthernet0/0/22]po li t
[SW2-GigabitEthernet0/0/22]po t all v 10 20
[SW2]interface Vlanif 10 //创建VLANIF接口,该接口编号为10,且能够处理VLAN10的标签
[SW2-Vlanif10]ip address 192.168.10.254 24
将SW2的 g0/0/24口改成access口(打上标签)能处理路由器传过来的信息
可以配OSPF
管理VLAN
单独设置一个VLAN来远程登陆管理设备
router 无法 telnet SW1
因为SW1没法回包,但是SW1可以找到SW2
所以可以Telnet SW2,再通过SW2 telnet SW1实现
STP——生成树协议
交换机成环——广播风暴——龙卷风摧毁交换机
- 设备宕机,网络瘫痪
- MAC地址表翻滚——同一个数据帧,顺时针接收后记录MAC地址及接口的对应信息,之后逆时针数据接收到后,还会修改MAC地址表,如此循环
- 多重复数据帧
STP原理
在网络中部署生成树后,交换机之间开始交互相关协议报文,并在网络中进行计算,得到一个无环的网络拓扑
当网络中存在环路时,生成树协议会将网络中的一个或多个接口进行阻塞,从而打破环路
被阻塞的接口不能转发业务流量,在之后,交换机会监控网络拓扑状态,当网络拓扑发生变更时,能够及时感知,并动态调整(打开某些阻塞的接口),该过程无需人工干预。
802.1D生成树
802.1D——由IEEE组织颁布的公有协议——标准的STP协议
802.W——RSTP
802.1S——MSTP
STP基本概念
桥ID
每一台运行了STP的交换机都拥有一个唯一的桥ID(一个广播域)
8字节,其中前2字节为桥优先级,后6字节为桥MAC地址
根桥(root Bridge)
STP的根桥就是STP树的树根
当STP协议开始工作后,第一件事就是在网络中选举出根桥设备。在交换网络中根桥有且只能有一个
根桥选举规则: **网络中拥有最小桥ID的交换机成为根桥设备。**先比较优先级,后比较MAC地址。
- 华为交换机缺省的桥优先级为32768
- 优先级取值范围0-61440
- 桥优先级虽然是16bit,但是实际上只使用了前4位,后12位被称为扩展系统ID
开销与根路径开销(cost and Root Path Cost ,RPC)
每个激活了STP的交换机的每一个接口都维护着一个Cost值,接口的开销值用于计算RPC,也就是计算到达根桥的开销。
交换机接口Cost与接口速率、工作模式有关,甚至于STP Cost值的计算方法也影响最终Cost数值。
- 802.1D-1998标准
- 802.1T标准-----缺省时使用
- legacy----华为私有
[Huawei]display stp interface GigabitEthernet 0/0/1 ---查看stp接口相关参数
[Huawei-GigabitEthernet0/0/1]speed 1000 ----修改接口速率[Huawei]stp pathcost-standard ?
dot1d-1998 IEEE 802.1D-1998
IEEE 802.1Tdot1t
legacy Legacy
若修改了开销值计算方式,则全网设备均需要修改,保证交换网络中所有STP设备使用一致的计算方式。
RPC根路径开销为流量经过的每一段链路的开销值总和
接口ID
运行STP的交换机使用接口ID来标识每个接口,接口ID主要用于在特定场景下选举角色
接口ID长度16bit,高4bit是接口优先级,低12bit是接口编号
华为交换机缺省接口优先级为128,可修改,取值范围0-240,必须是16的倍数。
STP报文——BPDU
- 配置BPDU
- TCN BPDU
组播MAC地址:0180-c200-0000
配置BPDU
在交换网络的初始化过程中,每台交换机都从自己激活了STP的接口向外发送配置BPDU。
当STP收敛完成后,只有根桥会周期性(2)发送配置BPDU。而非根网桥,只能根据自己接收到的根发送来的配置BPDU,来计算自己本端的BPDU,从而发送自己的BPDU报文。
- 协议版本——PVI
- STP=0;RSTP=2;MSTP=3
- BPDU类型
- 0X02——RSTP或MSTP
- 标记
- 在802.1D中仅使用了最高位(TCA——拓扑变更确认标记);最低位TC——拓扑变更标记
- 根交换机的桥ID
- 指的是根网桥的BID
- 网桥ID
- 发送该BPDU的交换机的BID
- RPC
- 端口ID
- 消息寿命
- 代表该BPDU从发出到现在经过的时间,初始值为0,每经过一台交换机,数值加1
- 存在一个最大消息寿命——MAX hop 默认20
- Max Age最大生存时间
- 缺省值20s
- 当超过20S没有从接口收到BPDU报文,则认为该接口连接的链路出现故障。
- Hello Time
- Forward Delay
TCN BPDU
TCN BPDU用于在网络拓扑发生变化时,向根桥通知变化的发生
在交换网络中,因为交换机依靠MAC地址表进行数据转发,如果交换网络出现故障,交换机没有办法通过某种方式来自动修改自己的MAC地址表,因为MAC地址表是只有流量通过时才会被修改。若MAC地址表不进行修改可能会造成通讯障碍。所以,STP需要一种机制,在网络拓扑发生变更时,促使全网交换机尽快将自己所有的MAC地址表项老化,然后重新学习新的MAC地址表项。
- 本地交换链路故障后,STP将重新收敛,为了加快刷新全网交换机的MAC地址表,故障交换机会向本地运行了STP协议的其他接口发送TCN BPDU报文
- 邻居交换机收到TCN报文后,回复一个TCA标记为1的配置BPDU,用于可靠性确认。
- 该过程一直持续到根网桥收到TCN BPDU
- 然后根网桥在接收到TCN报文后,发送TC标记位为1的配置BPDU,该报文只能由根网桥发送。
- 所有交换机收到TC标记位为1的报文,则将自己本地的MAC地址表的老化时间临时性设置为较小的值(等于转发延时,默认15s)
STP角色选举
根桥选举
**根桥的地位是具备可抢占性的。**新加入的设备BID比原本的根桥小,则会发生抢占,并且导致网络重新收敛,引发网络震荡,从而对业务流量的正常转发造成影响。
根接口——RP
- 选举范围:每一个非根桥交换机
- 根接口,实际上是指所有非根网桥上所有接口中收到最优BPDU的接口,该接口有且只有一个
BPDU的比较原则
-
选举具有最小根桥ID的BPDU
- 实际上是在选举根网桥
-
比较入向的配置BPDU的RPC值,选择接收到最小RPC值的BPDU所在接口为根端口或指定端口
-
比较对端BID值,选择BID值小的设备所应的接口作为根端口或指定端口
- 在SW4的视角中,既然自己不是根网桥,那么当根网桥出现故障后,一定会在SW2和SW3之间选择出一个根网桥,则选择BID值小的,减少后续选举的资源浪费。
-
如果对端设备BID相同,则比较对端的PID值,PID小的端口所对应的端口为根端口或指定端口。
-
若对端PID相同,则比较本端PID值,选择本端PID值较小的接口为根端口或指定端口。
指定接口——DP
- 选举范围: STP将在每个链路上选举一个指定端口
- 该接口是该链路上所有接口到达根网桥的最优接口
- 该接口负责转发BPDU
- 对于非根桥而言,所有接口中收到的最优BPDU的接口为该设备的跟接口,而非根网桥使用该最优BPDU,为本设备上其他接口各自计算一个BPDU。
- 然后使用计算出的BPDU与该接口上接收到的BUDP进行对比,选择出最优BPDU保存在该接口上,并且,发送出最优BPDU的接口为指定接口。
- 一般而言,根桥的所有接口都是指定接口;并且,在存在根端口的链路上,对端必然是指定端口。
非指定接口——NDP
经过STE计算后,如果交换机的某个接口既不是根端口,也不是指定端口,则必然是非指定端口。而非指定端口将被STP在逻辑上阻塞,从而打破二层环路。
被阻塞端口,不会接收也不会发送业务数据。并且不能发送BPDU,但是可以侦听BPDU报文。
STP工作过程
- STP交换机初始化后,都会认为自己是根桥,并且在发送给其他交换机的BPDU中的根桥ID字段填写自己的BID.
- 当交换机收到网络中其他设备发送的BPDU后,会比较BPDU中的根桥ID和自己的BID
- 交机之间不断交与BPDU报文,同时对BID进行比较,最终在全网交机中选择一个BID最小的交换机为根桥,其他交换机自动成为非根桥。
- 根桥的角色可抢占。当有更优的BID的交换机加入网络时,网络会重新进行STP计算,选择新的根桥
- 在选举出根桥后,根桥周期性(2s)发送BPDU报文,而非根桥持续接收根桥的BPDU
- 每个交换机根据从自己不同接口收到的BPDU报文中选择最优的BPDU,从而选择出根端口
- 比较RPC
- 比较对端BID
- 比较对端PID
- 比较本端PID
- 每台交换机的每一条链路选举指定端口
- 否则成为非指定端C
交换机将本接口与本接口接收到的BPDU进行对比,若本地接口的BPDU较优,则本接口称为指定端口。 - RPC
- BID
- 链路两端的PID
- 否则成为非指定端C
- 在确定了根端口和指定端口后,交换机上剩余的端口成为非指定端口。且在逻辑上阻塞非指定端口。
- 一旦非指定端口被阻塞,则生成无环STP树
- 阻塞端口不能转发业务数据,也不能转发BPDU,但是可以接收和处理BPDU
所有流量都要经过根桥,根桥的位置很重要
因为STP的一切工作都是基于根网桥的位置而定的,如果根网桥选举的位置不恰当,那么可能会造成流量走向异常。一般会将根桥放在网关所在地
三点和一:网关+根桥+流量
STP接口状态
- 禁用
- 接口关闭
- 接口禁用生成树协议
- 阻塞
- 生成树协议激活接口后进入的第一个状态,在该状态下,原本属于交换机的任何功能,都将被拒绝,不能转发业务流量,不能学习MAC地址。但是该接口可以接收BPDU报文,但是不能发送BPDU报文
- 若所有交换机同一时刻启动STP,则二层交换网络的数据被中断,并且此时网络中没有交换机在发送BPDU,通常情况下,根网桥设备2s发送一次BPDU,而当交换机超过20s最大老化时间没有接收到BPDU报文,会认为此时根网桥出现故障,需要重新选举,接口进入下一个状态。
- 侦听
- STP的角色选举阶段
- 该状态可以收发BPDU,但是不能转发业务数据,也不能学习MAC地址
- 侦听状态停留一个转发延时时间,及时角色选举提前结束,也需要等待时间超时再进入下一个状态。
- 角色选举结束后,只有根端口和指定端口会进入下一个状态,非指定端口则退回到阻塞状态
- 学习
- 会侦听业务数据流,并且学习业务流量的MAC地址,但是不转发数据。学习状态需要停留一个转发延迟时间,时间超时后进入下一状态。
- 进行MAC地址的学习目的是为了减少单播帧的洪泛(先把自己本地的用户MAC学好,然后别人访问的时候就无需洪泛)
- 转发
- 可以正常接收和发送业务数据和BPDU报文
picture
802.1D生成树是基于计时器收敛的。导致收敛速度慢
-
首次收敛——50s(20阻塞+15侦听+15学习)
-
根桥故障——50s(前20s收不到BPDU->老化时间)
-
直连链路故障-----非指定端口从阻塞状态迁移到侦听状态,并转换到学习、转发状态。—30S
-
非直连链路故障----50S
注意: TCN BPDU虽然说是在网络拓扑发生变化时向根桥通知变化的发生,但是实际上该BPDU与拓扑的重新收敛并没有任何关系。
STP配置
[sw1]stp mode stp ---修改STP工作模式为STP,华为默认情况下为MSTP
[sw1]stp enable ----启动生成树,华为默认开启生成树
display stp ---- 查看生成树接口参数
Role—角色-----DESI–指定;ROOT—根端口; Alte—非指定端口
State—状态
[sw1]stp root primary -----将交换机设置为根网桥,其本质是将BID的优先级修改为0
[sw2]stp root secondary ----将交换机设置为备份根网桥,其本质是将BID的优先级修改为4096
[sw3]stp priority ? ----修改交换机优先级INTEGER<0-61440>
Bridge priority, in steps of 4096
[sw3]stp priority 8192
[sw6-GigabitEthernet0/0/1]stp port priority ? -----修改接口优先级
INTEGER<0-240> Port priority, in steps of 16
[sw6-GigabitEthernet0/0/1]stp port priority
[sw6]stp pathcost-standard ?
dot1d-1998 IEEE 802.1D-1998
dot1t IEEE 802.1T
legacy Legacy
[sw6-GigabitEthernet0/0/2]stp cost ?
INTEGER<1-20000000> Port path cost
修改接口开销值时,根据使用的算法不同,可以修改的开销值范围不同
RSTP——802.1W——快速生成树
STP问题:
- 收敛速度慢
- 链路利用率低——PVST、VBST
改进点1:端口角色
802.1D:根端口、指定端口、非指定端口
802.1W:根端口、指定端口、替代端口、备份端口
替代端口、备份端口 都是阻塞端口
替代(Alternate)端口——可以理解为根端口的备份
该接口是一台设备上,由于受到了其他设备所发送的BPDU从而被阻塞的端口。
一台设备如果是非根桥,则只能存在一个根端口,但是替代端口可以有可以无,若有则可以存在多个。当根端口出现故障时,最优的替代端口将成为新的根端口
备份(Backup)端口—指定端口的备份
备份端口是一台设备上由于收到了自己所发送的BPDU从而被阻塞的端口
如果一台交换机用有多个接口接入同一个网段,并且这些接口中有一个被选举为指定端口,那么其他接口均为备份接口。若指定端口故障,则最优的备份端口成为指定端口。通常情况下,备份端口处于丢弃状态
改进点2:端口状态
改进点3:RST BPDU
RST BPDU相当于STP协议中的配置BPDU。
- 类型字段,RST BPDU为0x02
- 标志字段:
- 在RSTP中,无论根网桥还是非根网桥,都会周期性发送RST BPDU
P/A机制
将802.1D基于计时器切换状态的机制,变更为选择出端口
将802.1D基于计时器切换状态的机制,变更为选择出端口角色则立即切换状态
RSTP通过P/A机制来保证一个指定接口得以从丢弃状态快速进入转发状态,从而加速了生成树的收敛速度。在P/A机制中存在一个“同步过程”,实际上就是将其他全部接口设置为丢弃状态,防止临时环路的产生。
改进点4:对BPDU的处理
- 对于非根网桥而言,在拓扑稳定后,也可以每隔2s主动发送自己的配置BPDU
- 加快了老化时间——6s
- 次优BPDU的处理
- 在STP中,当指定端口收到次优BPDU后,将立即发送自己的BPDU。而对于非指定端口,当收到次优BPDU后,将等待接口所保存在BPDU老化时间超时后,在重新计算自己的BPDU,并发送。这就会导致非指定接口需要最长20S的时间才能启动状态迁移。
- RSTP中,无论接口角色如何,只要接口收到次优BPDU,则立即发送自己的BPDU,这个方式使得RSTP的收敛速度加快。
改进点5:快速收敛机制
- 根端口和指定端口的快速切换
改进点6:保护功能
BPDU保护功能
当交换机激活该功能后,如果边缘端口收到BPDU,则交换机会立即将接口关闭,同时触发告警信息。
[Huawei]stp bpdu-protection ----开启BPDU保护
如果受保护的边缘接口由于受到BPDU而被关闭,缺省状态下不会被恢复,需要手工在接口视图下配置shutdown和undo shutdown命令,或者restart命令来恢复接口。
[Huawei]error-down auto-recovery cause bpdu-protection interval 30 -----设置在30S
根保护
在一个RSTP网络中,若已经完成收敛,如果根网桥发生变化,则会导致RSTP重新计算,业务流量收到影响。般来说,会选择网络中性能最优的设备,同时也是位置最关键的设备作为根桥,将其优先级设置为最小值0,然后改措施未必是完美的,因为根桥的角色是具备可抢占性的。
环路保护
交换机的根端口以及处于丢弃状态的替代端口都可能引发环路问题。—可能是网络中出现链路的单向故障或者网络拥塞的情况,导致无法正常接收BPDU报文,会导致该设备重新计算,接口状态发生变化,引入环路。
- 根端口上激活环路保护
- 如果该接口长时间没有收到BPDU,那么交换机将会重新选举根端口,并将原本的根端口转换为指定端口,此时交换机会将该接口状态切换为丢弃状态,避免环路。
- 在替代端口上激活环路保护
- 如果该接口长时间没有收到BPDU,那么交换机将替代端口转换为指定端口,但是将其状态保持在丢弃。
[Huawei-GigabitEthernet0/0/20]stp loop-protection ---开启环路保护功能
拓扑变更保护
一个稳定的交换网络不会频繁的出现拓扑变更,一旦拓扑变更出现,TC标记位的BPDU将会被洪泛到全网,而TC标记位的BPDU将会触发网络中交换机的MAC地址表的删除功能。如果网络环境不稳定,则可能会洪泛大量TC报文消耗交换机资源,并且网络中充斥着大量的洪泛报文.
拓扑变更保护功能开启后,交换机将在单位时间内进行一定次数的TC BPDU处理,如果交换机在该时间内处理数量达到上限,则超出的部分,必须等待一段时间才能处理
[Huawei]stp tc-protection
交换机在单位时间(hello time)内只能处理一次TC报文
[Huaweistp tc-protection threshold 2 ---修改单位时间内处理TC报文的次数
改进点7:拓扑变更机制改进
MSTP——802.1S——多实例生成树
实例——instance——一个或多个VLAN的集合
instance ID——12bit——0-4094 实例0为华为特殊设计,并且默认所有VLAN都属于该实例
BID优先级中的后12位:扩展系统ID——用来携带instance ID。区分不同树发送的BPDU
基于instance的生成树被称为MSTI(多生成树实例),一个instance可以包含多个VLAN,但是一个VLAN只能被映射到一个instance
将交换机划分到同一个MST域中要保证三个参数相同:
- 相同域名
- 相同的修订等级
- 相同的VLAN和instance的映射关系
[sw3]port-group group-member igabitEthernet 0/0/22 t g 0/0/23 ----对接口进行批量操作
1、修改生成树模式
[sw1]stp mode mstp
[sw1]stp enable
[sw1]display stp region-configuration ----查看当前MST域配置情况
2、配置MST域
[sw1]stp region-configuration -----进入MST域配置视图
[sw1-mst-region]region-name hcip ---修改域名,域名默认情况为交换机MAC地址
[sw1-mst-region]revision-level 10 ---设置域修订等级,默认为0
[sw1-mst-region]instance 1 vlan 2 to 10 --将vlan划入实例
[sw1-mst-region]instance 2 vlan 11 to 20
[sw1-mst-region]active region-configuration ----激活配置
[sw1]display stp region-configuration ----查看当前MST域配置情况
[sw1]stp instance 0 root primary ----设置主根
[sw1]stp instance 2 root secondary----设置备份根
链路聚合和VRRP
链路聚合
链路聚合技术(Eth-Trunk):将两个或多个物理接口捆绑成一个逻接口,即将N条物理链路聚合为一条逻链路。可以在不升级硬件资源的条件下,达到增加链路带宽的目的。
里面的每一根链路称为成员链路,正常传送数据的接口称为活动接口
聚合模式–手工聚合和LACP聚合模式活动接口或活动链路-- 是参与数据转发的成员接口或链路优势:
1、提高带宽
2、增强可靠性
3、负载分担
链路聚合条件
- 链路两端,必须为同一台设备
- 华为设备要求,加入聚合口的成员接口必须具备相同的速率、双工模式、接口类型包括放通的VLAN及PVID
- 配置聚合链路之前,不可以在成员接口上做任何操作
手工模式
eth-trunk的建立以及成员接口的接入均使用手工配置的方式。一般在环境简单,或设备老旧的场景下使用。
手工模式的eth-trunk链路中的所有成员链路均为活动链路,即该模式下所有链路参与数据转发,平均分担流量,若某条链路故障,则该链路流量分担到其他活动链路上.
1、创建聚合接口
[Huawei]interface Eth-Trunk ?
<0-63> Eth-Trunk interface number
[Huawei]interface Eth-Trunk 0
2、将物理接口加入聚合接口
方法一:
[Huawei-Eth-Trunk0]trunkport GigabitEthernet 0/0/1 t 0/0/2
方法二:
[Huawei-GigabitEthernet0/0/1]eth-trunk 0
华为的eth-trunk要求添加物理链路时,物理链路上不能存在任何配置,否则不能加入到聚合链路中。并且,当物理链路加入到聚合链路后,所有关于这些物理链路的配置必须在聚合链路中操作。
负载分担
分担方式:
- 逐包分担——交换机无法实现
- 因为MTU会导致数据在网络层被分片,而分片后的数据包将通过多条链路传递给对端,到达对端的时间不一致,从而引发数据乱序的情况,而交换机只能解读数据链路层内容,该层面没有办法将乱序的数据包进行重组。
- 逐流分担
- 相同的流从同一条链路进行数据传输,避免了数据传递的乱序现象
- 基于数据包的五元组信息判断相同的数据流
- 五元组:源IP地址、目标IP地址、源MAC地址、目标MAC地址和TCP/UDP端口号
[Huawei]display eth-trunk 0 ---查看聚合链路
华为设备默认通过源IP和目标IP来区分不同的数据流
[Huawei-Eth-Trunk0]load-balance ?
dst-ip According to destination IP hash arithmetic
dst-mac According to destination MAC hash arithmetic
src-dst-ip According to source/destination IP hash arithmetic
src-dst-mac According to source/destination MAC hash arithmetic
src-ip According to source IP hash arithmetic
src-mac According to source MAC hash arithmetic
[Huawei-Eth-Trunk1]undo portswitch ----将二层接口切换到三层接口
LACP模式
LACP——链路聚合控制协议——IEEE802.3ad标志
聚合链路形成后,LACP负责维护链路状态,在聚合条件发生变化时,自动调整链路聚合
LACP模式下Eth-Trunk建立过程
LACP PDU——链路聚合控制协议数据单元
在LACP模式下,成员接口会通过发送LACPDU向对端通告自己的系统优先级、MAC地址、接口优先级、接口编号等一系列参数,对端接收到这些信息后,将这些信息与自身接口所保存的信息比较,用以选择能够聚合的接口。且选择出活动链路。
- 系统LACP优先级
- 为了区分两端设备优先级的高低而配置的参数,在LACP模式下,两端设备所选择的活动接口必须保持致,否则聚合链路无法建立。
- 其中拥有较小优先级的设备根据较大优先级的接口来选择自己的活动接口。
- 系统LACP优先级,越小越好。
- 接口LACP优先级
- 为了区分同一个Eth-Trunk接口中不同成员接口被选为活动接口的优先程度,优先级高的接口被优先选择为活动接口。
- 接口LACP优先级越小,接口优先级越高
1.在LACP模式的Eth-Trunk中加入成员接口后,两端互相发送LACPDU报文
2.确定主动端和活动链路
-
当B设备接收到A发送的LACPUD报文,先比较系统LACP优先级,确定主动端。
- 若系统LACP优先级相同,则比较双方MAC地址,MAC地址小的一端未主动端
-
以主动端的接口优先级来选择活动接口
- 若主动端的接口优先级相同,则选择接口编号较小的为活动接口.
3.LACP模式支持配置最大活动接口数目,当成员接口数目超过最大活动接口数目时,比较接口优先级或接口编号来选举出活动接口。其余接口称为备份接口。
4.当活动接口出现故障,从非活动接口中寻找一条优先级最高的链路替代故障链路。
LACP抢占
开启LACP抢占功能后,聚合组会始终保持高优先级的接口工作在活动接口的状态
LACP模式实现方式
-
静态LACP模式
- 该模式下,聚合链路的接口建立、成员接口加入都是手工完成
- 该模式下,LACP参与活动接口的选择
-
动态LACP模式
- 该模式下,聚合链路的接口建立、成员接口加入、活动接口选择都是由LACP吸烟协商完成的
1、创建聚合链路
[sw1]interface Eth-Trunk 0
[sw1-Eth-Trunk0]mode lacp-static
2、向聚合链路中加入成员接口
[sw1-Eth-Trunk0]trunkport GigabitEthernet 0/0/1 t 0/0/3
3、确定主动端(可选)
[sw1]lacp priority 100 //修改优先级,越小越优先,默认值32768
4、设置活动接口数量
[sw1-Eth-Trunk0]max active-linknumber 2 ----活动接口上限值
5、设置活动接口(可选)
[sw1-GigabitEthernet0/0/1]lacp priority 100 ----默认值32768
[sw1-GigabitEthernet0/0/2]lacp priority 100
picture
[sw1-Eth-Trunk0]lacp preempt enable -----开启抢占功能
[sw1-Eth-Trunk0]least active-linknumber 1 ----设置最小活跃接口数量
维度 | 手工模式 | LACP模式 |
---|---|---|
Eth-Trunk建立的方式 | 管理员对逻辑接口的建立、成员接口的加入进行手工配置 | 接口创建、成员接口的加入,由管理员或LACP完成。活动接口的确定由LACP完成。可以自动调整或解散链路。 |
设备是否支持LACP | 不需要 | 需要 |
数据转发 | 所有链路均为活动链路,所有活动链路均转发数据。如有故障,则流量在剩余链路中传递 | 部分链路为活动链路,所有活动链路均转发数据。如有故障,则从非活动链路中选择最优的一条承担故障活动链路的功能,参与数据转发的链路数量不变。 |
故障检测 | 无法检测 | 可以检测链路故障、链路错连、链路断路 |
VRRP——虚拟路由器冗余技术
VRRP基本概念
版本:
+ VRRPv2——仅适用于IPV4——华为路由器默认使用的版本
+ VRRPv3——适用于IPV6和IPV4
VRRP路由器—VRRP是配置在路由器的接口上的,而且也是基于接口来工作的。一起协同工作的VRRP路由器的接口必须处于同一个广播域,否则VRRP报文无法正常交互,也就没办法选举出Master和Backup设备。
VRRP组——一个VRRP组由多台协同工作的路由器的接口组成,使用相同VRID(虚拟路由器标识,8bit)来进行标识。VRRP组----一个VRRP组中只能出现一台Master路由器。一个路由器的一个接口可能存在多个VRRP组。
虚拟路由器
- 虚拟IP地址——网络管理员配置时手工指定一台虚拟路由器可以有一个或多个IP地址
- 虚拟MAC地址——0000-5e00-01xx(VRID)
- Master路由器收到请求虚拟路由器MAC地址的ARP Request报文,在ARP Repy报文中回复的MAC地址是虚拟MAC地址,而不是物理接口MAC地址。
- 如果回复的是物理接口MAC地址,那么当Master设备故障后,PC还是会认为网关IP所对应的MAC地址是已故障的设备,会导致数据传输存在一定的真空期。
一般情况下,虚拟路由器IP使用网段中单独规划的IP地址,而在某些IP地址资源紧张的环境下,可以使用某台VRRP路由器的接口IP地址用于虚拟路由器,此时该路由器无条件成为Master设备。
- Master路由器——接口处于Master状态的路由器。Master路由器在一个VRRP组中承担报文转发的任务,只有Master设备才能响应针对虚拟IP地址的ARP请求报文。周期性发送VRRP报文。
- Backup路由器——接口处于Backup状态的路由器。实时侦听Master路由器发送的VRRP报文。
- 选举条件: 先比较优先级,越大越优;在比较接口IP地址,越大越优
VRRP工作机制
报文格式
通告报文—封装在IP报文中,协议号112,目的IP地址—224.0.0.18
该报文中,TTL值恒为255,若不为255,则路由器接收后丢弃
- 类型字段恒为1
- 优先级:取值范围0-255,缺省值为100
- 认证类型
- 0——无认证
- 1——明文
- 2——MD5
- 通告间隔
- VRRP发送报文的时间间隔,缺省情况下为1s
VRRP状态机
VRRP计时器
- 通告路由间隔计时器——1s
- 主备设备关闭计时器——备份路由器监听该计时器超市后,会成为Master设备
- 定时器时间=3*通告路由器间隔计时器+偏移时间
- 偏移时间=(256-当前接口优先级)/256
1.初始状态
- 当接口down时处于该状态
- 当接口up时,如果VRRP优先级为255,则接口VRRP状态立马切换为Master状态。如果接口VRRP优先级不为255,则接口进入Backup状态。
2.备份状态
- 处于Backup状态的路由器是VRRP组中的备份路由器,并不参与数据转发工作,但是会监听当前Master路由器的工作状态,以便随时接替Master的工作
- Backup路由器进行如下工作
- 对关于VRRP虚拟IP的ARP请求不做应答
- 丢弃目的MAC地址为VRRP虚拟MAC地址的数据帧
- 不接受目的IP地址为VRRP虚拟IP地址的数据包
- 实时监听Master路由器发送的VRRP报文
3.主状态
- 处于Master状态的路由器是当前VRRP组的主路由器,,承担数据转发任务
- 对关于VRRP虚拟IP的ARP请求进行应答
- 转发目的MAC地址为VRRP虚拟MAC地址的数据帧
- 周期性发送VRRP报文,时间间隔1S
VRRP主备切换
- Master主动退出VRRP组
- Master设备发送一个优先级设置为0的VRRP报文,用以通知VRRP组中的其他设备,主失效。
- Backup设备等待一个偏移时间后切换为Master
- Master设备故障
- Backup设备等待主关闭计时器超时,则切换为Master状态。
抢占模式切换会造成交换机MAC地址表震荡,因为两边都在发报文
工作过程
- Master,若优先级相同,则比较物理接口IP地址,IP地址大的为Master设备同一个VRRP组中的所有设备在切换为Master状态后,发送VRRP报文,相互比较优先级,优先级大的设备为Master设备
- Master设备发送一个免费ARP报文,PC和交换机用以丰富自己的ARP缓存表和MAC地址表
- 之后Master设备以1S为间隔,周期性发送VRRP报文
- Backup设备会启动一个主设备关闭计时器,然后周期性接收VRRP报文,若在该定时器内,没有收到VRRP报文,在认为主出现故障
- Backup设备切换为Master状态,并立即发送免费ARP报文,用来刷新全网交换机的MAC地址表
- 在这个过程中,PC是无感知的。
- 若Master设备恢复,则接口状态先切换到Backup状态,用以接收此时新的Master设备的VRRP报文,若发现自己的优先级高于对方
- 开启抢占功能
- 将自己状态切换为Master,并忽略对方发来的VRRP报文,同时发送免费ARP刷新全网交换机,并周期性发送VRRP报文
- 而原Master设备在接收到对方发送的VRRP报文后,因为优先级原因,将自己切换为Backup状态
- 若没有开启抢占功能
- 保持Backup状态
- 开启抢占功能
配置
[r2-GigabitEthernet0/0/0]vrrp vrid 1 virtual-ip 192.168.1.254-----设置虚拟IP地址
[r3-GigabitEthernet0/0/0]vrrp vrid 1 virtual-ip 192.168.1.254
[r2]display vrrp ----查看VRRP配置
VRRP的抢占性仅对优先级有效,不关注接口IP地址大小
(优先级一样即使IP地址比对方大也不会抢)
[r3-GigabitEthernet0/0/0]vrrp vrid 1 priority 120 ----设置VRRP优先级
立即抢占在某种情况下不合理,如果R3的接口处于震荡状态,就会导致虚拟网关不停在设备间切换,造成通讯障碍。所以,一般会配置一个抢占延时时间,使得优先级高的设备就算恢复了,也不会立即抢占Master角色,以保证自己的接口链路不会出现问题。
[r3-GigabitEthernet0/0/0]vrrp vrid 1 preempt-mode timer delay 20
配置抢占延时为20S,当设备恢复后,在20S后才会切换状态。默认情况下,抢占延时为0
一般只需要给Master设备配置
Master设备发送的免费ARP是周期性发送的。默认120s
[r3-GigabitEthernet0/0/0]vrrp vrid 1 track interface GigabitEthernet 0/0/1 reduced 30
[r3-GigabitEthernet0/0/0]vrrp vrid 1 track interface GigabitEthernet 0/0/1 reduced 30 //可与bfd联动
[Huawei-GigabitEthernet0/0/0]vrrp vrid 1 track ip route 12.0.0.0 24 reduced 30 ----监控上行路由