一 交换机冗余链路
许多交换机或交换机设备组成的网络环境中,通常使用一些备份连接,以提高网络的健全性,稳定性。备份连接也叫备份链路,冗余链路等。
为了解决共享式局域网的碰撞问题,采用了交换机构成的交换式局域网,它可以识别数据帧中的封装的MAC地址,并根据地址信息将数据交换到特定端口,这样的工作方式使交换机不同端口之间不会碰撞,即分割碰撞域。但是单点失败问题难以保证通信正常,因此需要冗余技术解决单点失败问题。
虽然使用冗余备份能够为网络带来健全性,稳定性,和可靠性等好处。但备份链路使网络存在环路。环路问题是备份链路面临的最严重的问题,将导致广播风暴,多帧复制,不稳定的MAC地址表等问题。
(1)广播风暴
广播风暴是一种由于网络上广播太多导致的特殊堵塞情况,这也可能由失常的NIC卡,设计不足的网络或桥接/交换回路导致。
如果没有回路规避服务,每个交换机就会无穷无尽地泛滥广播。这种情况通常称为网络回路,从而产生广播风暴,导致带宽浪费,严重影响网络和主机性能。消除回路的方案是通过在正常操作期间阻止四个接口中的传输或接收数据来解决的,也可以看到生成树的工作情况。
(2)重复非广播帧传输
多份非广播帧传给目的站。很多协议期望接收每个传输的单个副本,同一帧的多个副本可能导致不可恢复的错误。多数协议设计既不识别也不处理传输副本。通常利用序列号机制的协议假定多数传输失败,序列号将被循环使用。其他协议试着传输副本到上层协议——这会导致不可预测的结果。
消除回路的方案是通过在正常操作期间阻止四个接口中的传输或接收数据来解决的,这也是生成树协议的另一个目的。
(3)MAC地址表的不稳定性
当一个帧的多个副本到达交换机的不同端口时,导致网络MAC地址表信息不稳定。
当交换机在MAC地址表中因克服地址颠簸而消耗资源时,转发的数据可能被损坏,而根据交换机的内部结构,不可能处理或不可能很好处理MAC数据库的快速变化问题。
消除回路的方案也是通过在正常操作期间阻止四个接口中的传输或接收数据来解决的,阻止数据库的不稳定性是生成树协议的另一个功能。
二 生成树协议
冗余功能是高可用性分层网络拓扑的关键要素,但是在网络中配置多条路径有可能导致环路。可使用生成树协议(STP)来防止环路。
生成树协议定义在IEEE802.1d中,是一种桥到桥的链路管理协议,在防止产生自循环的基础上提供路径冗余。为了使以太网更好的工作,两个工作站之间只有一条活动路径。网络环路的发生有多种原因,最常见的是故意生成的冗余,万一一个链路或者交换机失败,会有另一个链路或者交换机替代。所以STP的主要思想是存在冗余链路时,只允许主链路激活,如果主链路因故障断开后,备用链路才会被打开。
生成书协议分为三代:第一代生成树协议STP(IEEE802.1d);第二代生成树协议RSTP(IEEE802.1w);第三代生成树协议MSTP。
STP的主要作用:避免回路,冗余备份。生成树的协议基于以下几点:
(1)有唯一的组地址(01-80-C2-00-00-00)标识一个特定LAN上的所有的交换机。这个组地址能被所有的交换机识别。
(2)每个交换机有唯一的标识。
(3)每个交换机的端口有唯一的端口标识。
对生成树的管理还需要:对每个交换机协调一个相对的优先级;对每个交换机的每个端口协调一个相对的优先级;对每个端口协调一个路径花费。
关于STP的工作原理:
首先网桥有三个典型方式:透明桥,源路由桥,源路由透明桥。网桥连接两个用同样介质存取控制方法的网段,IEEE802.1d 规范定义了透明桥。桥的两边的网段分属于不同的冲突域,却属于同一个广播域。
透明桥是指对于数据的接收端看不到路径中经由的交换机,认为数据是从发送端直接到达目的地。源路由桥是由IBM公司为它的令牌环路网络开发的。源透明路由桥是透明桥和源路由桥的结合。
在一个由透明桥桥接的网络里,存在冗余的路径就能建立一个桥回路,但桥回路对一个局域网来说是致命的。而生成树协议是一种嵌套桥协议,可以用来消除桥回路。它的工作原理是:生成树协议定义一个数据包,称为桥协议数据单元BPDU,网桥用BPDU来相互通信,并使用BPDU的相关机能来动态选择根桥和备份桥,所以桥回路被消除。
含BPDU的以太帧格式
以太网帧头包括DLC头部,LLC头部,BPDU字段,填充DLC的Padding。BPDU也经常被封装在IEEE802.q的头部后。
(1)DLC头部:长度14字节,包含 DMA , SAMA , L/T 三个字段。
* DMA:指目的MAC地址,BPDU通常采用的是Bridge group addr 网桥组多播地址,其多播目标MAC地址为:01-80-c2-00-00-00.
* SAM:指源MAC地址。
* L/T:指帧长。
(2)LLC头部:长度为3字节,包括DSAP Address,SSAP Address,Unnumbered frame 字段。
(3)BPDU:长度为32字节。
(4)DLC:长度为8字节,是为了补齐60字节边界用的DLC填充(Padding)8字节。
BDPU分为两种:包含配置信息的BPDU包,称为配置BPDU;检测到网络拓扑结构发生变化时,则要发送拓扑变化通知BPDU。
配置BPDU编码
发送拓扑变化通知BPDU帧格式
对于配置BPDU,超过35字节的部分将被忽略;对于拓扑变化通知BPDU,超过4字节的部分将被忽略掉。由配置BPDU和和发送拓扑变化通知BPDU格式可见,发送拓扑变化通知BPDU的组成部分是配置BPDU帧格式的帧头部分。
BPDU帧格式含义:
(1)Protocol Identifier: 协议ID,长度2字节,协议标识符值固定为0。
(2)Protocol Version Identifier:版本号,长度为1字节,当数值为00时,表示使用协议IEEE802.d;当数值为02时,表示使用协议IEEE802.1w。
(3)BPDU Type:消息类型,长度为1字节,配置BPDU数值为ox00,配置TCN数值为ox80。
(4)Flag:标志长度为一字节,字节最高低位用于标识TC(Topology Change ,拓扑是否变化),字节最高位用于标识TCA(Topology Change Acknowlegment,是否是拓扑变化确认信息)。
(5)Root Identifier:根ID,长度为8字节,用于表示根网桥的网桥ID,习惯写成Root ID。其包括两部分:字节的priority(根优先级)和6字节的MAC Address (根端口IP地址)组成。
(6)Root Path Cost:路径开销,长度为4字节,用于表示从交换机到达根网桥方向STP开销的叠加。如果交换机自己就是根网桥,其值为0。
(7)Bridge Identifier:网桥ID,长度为8字节,用于转发根网桥BPDU的网桥的ID,习惯写成Bridge ID。Bridge ID 包括两部分:Priority(交换机自己的优先级),MAC Addresss(交换机自己的MAC地址)其中,Priority 数值范围为0~61440,默认值为0x8000,即十进制的32768;在设定时,其值只能为"0"或"4096"的倍数,故共16个。
(8)Port Identifier:端口ID,长度为2字节,用于转发根网桥BPDU的网桥的端口ID,习惯写为Port ID。Port ID由1字节的端口优先级和1字节的端口ID组成。端口优先级的范围为0~240,默认值为128,在设定时,其值必须是"0"或"16"的倍数,总共16个。
(9)Message Age :消息老化时间,长度为2字节。
(10)Max Age:最大寿命,长度为2字节,用于记录对方有效BPDU消息的最长时间,当一段时间未收到任何BPDU,生成期到达Max Age时,网桥认为该端口连接的链路发生故障,默认20秒。
(11)Hello Time:长度为2字节,用于根桥定期发送BPDU的时间间隔,默认2秒。
(12)Forward Delay:指转发延迟,长度为2字节,通常是指网桥端口由网桥监听与学习状态改变的时间间隔,默认为15秒。
STP为解决环路和重复帧问题,会通过生成树算法(STA)堵塞可能导致环路的冗余路径(逻辑堵塞),这些物理路径仍然实际存在,一旦需要启用此类路径来抵消网络电缆和交换机故障的影响时,STP会重新计算路径,将必要的端口解除堵塞,使冗余路径进入活动状态。
生成树形成方法如下:
(1)决定根交换机(根的上端口都是根端口)
(2)决定根端口
开销->对端BID->对端PID->本端PID
(3)决定指定交换机
(4)决定指定端口
指定交换机和LAN相连的端口称为指定端口;除根端口之外,可以在网络中获准转发流量的所有端口,都指的是指定端口。交换机确定哪台交换机上的哪个端口作为特定LAN网段的特定端口时所采用的步骤如下:
(5)决定非指定端口
除了根端口和指定端口之外所有端口都被称为未指定端口,其是被堵塞的交换机端口,不会转发数据帧,也不会使用源地址填充MAC地址。
(6)确定端口状态
运行生成树协议的交换机端口具有4种状态:转发,学习,监听和堵塞,并且总处于四种状态之一。
(1)堵塞:接收BPDU,不学习MAC地址,不转发数据帧,所有端口为堵塞状态,由交换机决定哪个端口转为转发状态。
(2)监听:接收BPDU,不学习MAC地址,不转发数据帧,交换机向其他交换机通告此端口,参与选举根端口和指定端口,这种状态属于临时状态。
(3)学习:接收BPDU,学习MAC地址,不转发数据帧,这种状态属于临时状态。
(4)转发:可以正常的传送和接受数据,数据帧。
确定完根端口和指定端口后进入转发状态,其它冗余非指定端口设为堵塞状态,这样一个生成树的拓扑结构也就产生了。
好了,以上内容就是海翎光电关于交换机的冗余链路管理这个问题的相关详细介绍,希望能对大家有所帮助!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。