网络工程师必备实战技术
网络工程师必备实战技术
一.链路聚合的概念
常见的端口类型名称
(1)发送/接收速率为10Mbit/s的以太网端口长被称为标准以太网端口,或标准以太口、10兆以太网端口、10兆以太口、10M以太网端口、10M以太口,或10M口。
(2)发送/接收速率为100Mbit/s的以太网端口长被称为快速以太网端口,或快速以太口、100兆以太网端口、100兆以太口、100M以太网端口、100M以太口,或FE端口、FE口(FE:Fast Ethernet简称)。
(3)发送/接收速率为1000Mbit/s的以太网端口长被称为千兆以太网端口,或千兆以太口、千兆以太口、千兆口、吉比特端口、吉比特口或GE端口、GE口(FE:Fast Ethernet简称)。
(4)发送/接收速率为10Gbit/s的以太网端口常被称为万兆以太网端口,或万兆以太口、万兆口、10GE端口或10GE口。
(5)发送/接收速率为100Gbit/s的以太网端口常被称为100GE端口或100GE口。
如果一条链路两端的端口是GE口,那么该链路就是一条GE链路;若链路两端的端口是FE端口,则这条链路是一条FE链路,等等。
链路聚合的优点
(1)根据需要灵活的增加网络设备之间的带宽供给。
(2)增强网络设备之间连接的可靠性。
(3)节约成本。
二.链路聚合技术的运用场景
链路聚合同时也被称为链路绑定。链路聚合技术不仅可以运用在交换机之间,还可以应用在交换机与路由器之间、路由器与路由器之间、交换机与服务器之间、路由器与服务器之间、服务器与服务器之间。
原理上,PC机上也是可以实现链路聚合的,但是成本较高,所以现实中没有真正的实现。
三.链路聚合的原理
(1)把聚合后得到的逻辑链路称为聚合链路,把聚合链路中的每一条物理链路称为成员链路。
(2)把聚合后得到的逻辑端口称为聚合端口,把聚合端口中的每一个物理端口称为成员端口。
(3)聚合链路也被称为Eth-Trunk链路,聚合端口也被称为Eth-Trunk端口。
1.交换机A是怎样通过自己的Eth-Trunk端口向交换机B的Eth-Trunk端口发送帧的?
(1)来自交换机A的其他端口的帧进入到Eth-Trunk端口的帧发送队列。
(2)Eth-Trunk端口的帧分发器(FD)将这些帧按照某种算法依次发给成员端口。FD的分发顺序是:先将Frame A发给某个成员端口,再将Frame b发给某个成员端口,依次类推。
(3)每个成员端口按照常规方法将来自FC的帧发送到自己的物理链路上。
假若FD能够非常均匀的将帧分发给不同的成员端口,则Eth-Trunk端口的带宽就等于各成员端口的带宽之和,而Eth-Trunk链路的带宽就等于各成员链路的带宽之和。
但是,FD对帧的分发并不是非常均匀的,所以Eth-Trunk链路实际上能够提供的最大的链路带宽一般会小于各成员链路带宽的总和。
2.交换机B是怎样从自己的Eth-Trunk端口接收到来自交换机A的Eth-Trunk端口发送过来的帧?
(1)每个成员端口会按照常规方式接收来自物理链路上的帧,将接收到的帧送到Eth-Trunk端口的帧收集器(FC)。
(2)当帧“完全进入”(指:帧的末尾也进入到FC中)到FC中后,FC会将它送至Eth-Trunk端口的帧接收队列中。
(3)最先完全进入FC的帧是Frame a,其次是Frame b,等等类推。
(4)Eth-Trunk端口的帧接收队列中的帧会被依次的送往交换机B 的其他端口。
原理总结:
链路聚合的基本原理就是“流量分担”原理:多条成员链路共同分担了聚合链路的总流量。
如果聚合链路中的某一条成员链路发生故障而中断了,那么聚合链路的总流量会继续被其他的成员链路来分担(本该由故障链路所分担的流量将会被FD转移到其他的成员链路)。
链路聚合技术面临的“乱序问题”:
(1)所谓的乱序现象就是指:交换机B的帧接收队列中帧的排序不同于其在交换机A的帧发送队列中的顺序。
(2)乱序现象分为两种:“有害”乱序,“无害”乱序。
“有害”的乱序:会多少对网络应用程序有所影响。
“无害”的乱序:交换机B的帧接收队列中发生的乱序现象是一种无害的乱序。
聚合链路在工作的过程中,由于帧的长度有所不同,则帧的传输时间就会有所不同,有长有短的时间,同时不同的帧所经过的成员链路也可能不同。
所有在一般情况下总是会出现乱序现象。虽然无法避免乱序现象的发生,但是可以尽可能的避免有害乱序现象的发生。
避免有害乱序现象的关键是:聚合端口的FD是怎样将帧分发给不同的成员端口的。
Conversation概念:
一个Conversation是指由若干个帧组成的一个集合,该集合中的不同的帧在接收端的聚合端口的帧的接收队列中的先后顺序必须与它们在发送端的聚合端口的帧的发送队列中的先后顺序保持一致。
如果保持了一致,则一定不会发生有害乱序现象;若没有保持一致,则一定会发生有害乱序现象。
强调:不同的Conversation之间的交集必须是一个空集,即同一个帧,不能既属于这个Conversation,又属于另外一个Conversation;一个帧不能不属于任何Conversation。
聚合端口需要遵从的分发原则:
(1)同一个Conversation中的帧,必须被分发给同一条成员端口(可避免有害乱序现象)。
(2)不同Conversation中的帧,可以被分发给同一个成员链路,也可以被分发给不同的成员链路(可实现流量分担)。
图中:交换机A的聚合端口首先会对帧的发送队列中的帧进行Conversation划分。
划分的方法是:把具有相同目的MAC地址的帧分进同一个Conversation,而且要保证同一个Conversation中的帧都具有相同的目的MAC地址。
在实际的链路聚合实现中,聚合链路的FD需要根据HASA算法来定义出恰当的Conversation,然后再对不同的Conversation进行分发。(该图中的目的MAC地址被选择成用来定义Conversation的参考量)。
在实际的网络环境中,聚合链路的两端的设备属性(如:交换机和路由器,等等)以及上层应用的属性,都需要称为确定Conversation的参考量的考虑因素,最终可能参考的是目的MAC地址或者源MAC地址,等等。
四.LACP——链路聚合控制协议
该协议定义在IEEE 802.3ad(包含:LACP和Market Protocol两个协议)中。
在设备上实现链路聚合时,通常可以有两种模式:一种称为手工负载分担模式,另一种是LACP模式。
若采用手工负载分担模式在两个交换机上配置聚合端口,就有可能在S1上绑定4个端口,在S2上绑定3个端口,然而这种错误是不容易被发现的。
但是该图若采用LACP模式,则S1和S2之间会通过交换LACP协议帧来自主协商,则问题便会很容易被发现。
五.Smart Link基本原理
该协议的主要作用是在一定的场景下替代STP协议,并能实现快速(毫秒级)的链路切换。该技术常用于双上行组网环境中。
一个Smart Link组由两个端口组成,其中一个为主端口,另一个为从端口。
在正常情况下,只有主端口处于转发(Active)状态,而从端口被阻塞,处于待命(Inactive)状态。当主端口发生故障时,Smart Link组会自动将主端口阻塞,并立即将从端口的状态从待命状态切换到转发状态。
丢帧问题
Smart Link定义了一种被称为Flush帧的协议帧,这种帧的目的MAC地址为组播MAC地址01-0f-e2-00-00-04。Flush帧的主要作用是通知相关的交换机即时清除MAC地址表中的错误表项。
为了控制Flush帧的传播范围,Smart Link会专门为Flush帧定义一个VLAN,称为控制VLAN。Flush帧在被发送之前必须要带上控制VLAN的Tag。
若某台设备需要接收并处理Flush帧,就必须先对该设备进行相应的配置,使它能够接收和识别处理带有控制VLAN Tag的帧。若没有该设置,则其在接收到带有控制VLAN Tag的帧后,会直接将其丢弃。
Smart Link的回切功能
在正常的情况下,Smart Link的主端口处于Active状态,从端口处于Inactive状态。当主端口Down掉(主链路中断)后,主端口的状态会切换成Inactive状态,从端口的状态会被切换成Active。
但是,当主端口重新恢复正常后(UP后),Smart Link并不会自动将主端口的状态回切到Active,同时也不会将从端口的状态回切到Inactive。
如果需要将主端口的状态回切到Active,将从端口回切到Inactive状态,需要配置Smart Link的回切功能。
在配置Smart Link回切功能时,还需要配置“回切时间”的参数,其缺省值为60s。即当主端口重新Up后,还需要等待一段时间(回切时间)之后才开始进行回切操作。
原因是:主端口重新接通后,其工作状态可能并不是很稳定,甚至会出现闪通和闪断的现象,因此回切操作不宜立刻进行。
六.Monitor Link基本原理
该协议的主要作用是在一定的场景下配合Smart Link的使用,以至更好的避免丢帧情况的发生。
Monitor Link的工作原理
如上图所示:我们可以在S2上配置一个Monitor Link组,而这个Monitor Link组包含了两个端口,即GE1/0/1端口——上行端口,GE1/0/2端口——下行端口。
一个Monitor Link组由一个上行端口和若干个下行端口组成,如果上行端口因为某些原因而不能正常工作,则其所有的下行端口都必须立刻被Down掉。
因为下行端口与上行端口之间存在一种联动机制,下行端口的工作状态需要与上行端口的工作状态保持一致。
在正常情况下,处于工作状态的链路有Link-3、Link1-2、Link2-4。
如果S2的GE1/0/1端口发生了故障,那么在Monitor Link协议的作用下,S2的GE1/0/2端口就会被立即Down掉,从而,S4的GE1/0/1端口也无法正常工作。
那么,S4的Smart Link就会立即进行切换操作,将其从端口GE1/0/2的状态从Inactive切换到Active。于是,处于工作工作状态的链路就变成了Link1-3和Link3-4,网络的连通性仍然得到了保障。
还可以进一步的进行网络可靠性的增强,就是也在S3上配置一个Mointer Link组,使得S3的GE1/0/2端口可以与GE1/0/1端口实现联动。
如上图所示:S1、S2、S3上分别配置了一个Smart Link组,同时在S2和S3上分别配置了一个Monitor Link组。
注意:对于S2上的Monitor Link组讲,S2上的整个Smart Link组才算是其上行端口,只有当该Smart Link组的两个端口都不能正常工作时,其下行端口才会被Down掉。S3的情况相同。
如果S2的主端口出现故障,则其从端口会立即被切换到工作状态,此时,S2上的Monitor Link组并不会产生联动效应。
如果S2上的主端口都出现了故障,则S2的下行端口就会被Down掉,就会触发S1上的Smart Link组进行切换操作。
Monitor Link的回切功能
一个Monitor Link组的上行端口不能正常工作时,其所有的下行端口都会被Down掉。
但是,如果上行端口恢复了正常,则其下行端口也会自动重新Up。我们也可以为Monitor Link的回切功能配置一个适合的回切时间。
推荐阅读
>>>华为HCIA实战必备模拟器-小凡/ENSP/EVE/GNS3模拟器教程
网工界市场认可度极高的华为认证,你考了吗?
拿下华为HCIE认证之后,你可以:
跨越90%企业的招聘硬门槛
增加70%就业机会
拿下BAT全国TOP100大厂敲门砖
体系化得到网络技术硬实力
技术大佬年薪可达30w+
资源放送
2021新版华为思科双厂商认证18集小白入门到进阶实战课,扫描下方二维码,即可观看: