链路聚合有成端口聚合,端口捆绑,英文名port trunking.功能是将交换机的多个低带宽端口捆绑成一条高带宽链路,可以实现链路负载平衡。避免链路出现拥塞现象。通过配置,可通过两个三个或是四个端口进行捆绑,分别负责特定端口的数据转发,防止单条链路转发速率过低而出现丢包的现象。

  Trunking的优点:价格便宜,性能接近千兆以太网;不需要重新布线,也无需考虑千兆网传输距离极限问题;trunking可以捆绑任何相关的端口,也可以随时取消设置,这样提供了很高的灵活性还可以提供负载均衡能力以及系统容错。

  命令:port-group mode {active|passive|on}

  no port-group

  功能:将物理端口加入Port Channel,该命令的no 操作为将端口从Port Channel 中去除

  参数: 为Port Channel 的组号,范围为1~16;active(0) 启动端口的LACP 协议,并设置为Active 模式;passive(1) 启动端口的LACP 协议,并且设置为Passive 模式;on(2) 强制端口加入Port Channel,不启动LACP 协议。

  举例:在Ethernet0/0/1 端口模式下,将本端口以active 模式加入port-group

  Switch(Config-Ethernet0/0/1)#port-group 1 mode active

  命令:interface port-channel

  功能:进入汇聚接口配置模式

  命令模式:全局配置模式

  举例:进入port-channel1 配置模式

Switch(Config)#interface port-channel 1
Switch(Config-If-Port-Channel1)#

  举例1:如果交换机Switch1 上的1,2,3 端口都是access 口,并且都属于vlan 1,将这三个端口以active 方式加入group 1,Switch2 上6,8,9 端口为trunk 口,并且是allow all,将这三个端口以passive 方式加入group 2,将以上对应端口分别用网线相连。

  方法1配置步骤如下:

Switch1#config
Switch1 (Config)#interface eth 0/0/1-3
Switch1 (Config-Port-Range)#port-group 1 mode active
Switch1 (Config-Port-Range)#exit
Switch1 (Config)#interface port-channel 1
Switch1 (Config-If-Port-Channel1)#
Switch2#config
Switch2 (Config)#port-group 2
Switch2 (Config)#interface eth 0/0/6
Switch2 (Config-Ethernet0/0/6)#port-group 2 mode passive
Switch2 (Config-Ethernet0/0/6)#exit
Switch2 (Config)# interface eth 0/0/8-9
Switch2 (Config-Port-Range)#port-group 2 mode passive
Switch2 (Config-Port-Range)#exit
Switch2 (Config)#interface port-channel 2
Switch2 (Config-If-Port-Channel2)#

  配置结果:

  过一段时间后,shell 提示端口汇聚成功,此时Switch1 的端口1,2,3 汇聚成一个汇聚端口,汇聚端口名为Port-Channel1,Switch2 的端口6,8,9 汇聚成一个汇聚端口,汇聚端口名为Port-Channel2,并且都可以进入汇聚接口配置模式进行配置。

方法2:以ON 方式配置Port Channel.

  配置步骤如下:

Switch1#config
Switch1 (Config)#interface eth 0/0/1
Switch1 (Config-Ethernet0/0/1)# port-group 1 mode on
Switch1 (Config-Ethernet0/0/1)#exit
Switch1 (Config)#interface eth 0/0/2
Switch1 (Config-Ethernet0/0/2)# port-group 1 mode on
Switch1 (Config-Ethernet0/0/2)#exit
Switch1 (Config)#interface eth 0/0/3
Switch1 (Config-Ethernet0/0/3)# port-group 1 mode on
Switch1 (Config-Ethernet0/0/3)#exit
Switch2#config
Switch2 (Config)#port-group 2
Switch2 (Config)#interface eth 0/0/6
Switch2 (Config-Ethernet0/0/6)#port-group 2 mode on
Switch2 (Config-Ethernet0/0/6)#exit
Switch2 (Config)# interface eth 0/0/8-9
Switch2 (Config-Port-Range)#port-group 2 mode on
Switch2 (Config-Port-Range)#exit

  配置结果:

  将交换机Switch1 上的1,2,3 三个端口依次加入port-group1 后我们可以看到,以on 方式加入一个组完全是强制性的,两端的交换机并不会通过交换LACP PDU 来完成汇聚,汇聚也是触发式的,当敲入将2 号端口加入port-group1 的命令时,1 和2 马上汇聚在一起形成port-channel1,当将3 号端口加入port-group1 时,1 和2 汇聚成的port-channel1 被拆散,马上1,2,3 三个端口又重新汇聚成port-channel1(需要说明的是,当有一个新的端口要加入已经汇聚成功的组时,必须先拆散原先的组,然后再能汇聚成一个新的组)。结果是Switch1 和Switch2 上的三个端口都以ON 模式汇聚起来,各自形成一个汇聚端口。

  总结 :

  1;生成树,STP,主要作用是避免环路,网络中有冗余,经常使用多条链路就会产生环路,广播风暴,网络瘫痪,注意的是涉及网络时候千万不要忘记生成树的启动。如图3,比如说一般大企业中核心交换机于其他交换机都是两条网线连接,这样其中一条出现错误另一条可以工作,但是如果PC2和PC1通信这样就容易出现环路,产生广播风暴,,生成树可以解决这个问题。

  2:链路聚合:它的主要作用就是增加网络带宽,一种是交换机之间,如图二比如说两台交换机设备,用一根百兆网线级联,由于访问两台太大就会产生屏蔽,速度变慢,这个时间就可以使用链路聚合,使用port-group命令,建立链路聚合,多用两条网线连接交换机,并把两台交换机连接的端口各自聚合在一起,能增加网络带宽。还有一种情况就是,如图一,交换机于服务器之间的链接,比如说一台服务器连接交换机上,如果访问量很大,那么服务器就会承受不了,就可以考虑多按两块网卡,使用链路聚合使两块网卡连接的端口聚合在一起,减轻服务器的负担。

CISCO交换机与华为交换机链路聚合及IRF_第1张图片

 

链路聚合技术

链路聚合技术亦称主干技术(Trunking)或捆绑技术(Bonding),其实质是将两台设备间的数条物理链路“组合”成逻辑上的一条数据通路,称为一条聚合链路,如Figure 1示意。交换机之间物理链路Link 1、Link2和Link3组成一条聚合链路。该链路在逻辑上是一个整体,内部的组成和传输数据的细节对上层服务是透明的。

 

链路聚合示意图

聚合内部的物理链路共同完成数据收发任务并相互备份。只要还存在能正常工作的成员,整个传输链路就不会失效。仍以上图的链路聚合为例,如果Link1和Link2先后故障,它们的数据任务会迅速转移到Link3上,因而两台交换机间的连接不会中断(参见Figure2)。

 

链路聚合成员相互备份

链路聚合的优点

从上面可以看出,链路聚合具有如下一些显著的优点:

         提高链路可用性

链路聚合中,成员互相动态备份。当某一链路中断时,其它成员能够迅速接替其工作。与生成树协议不同,链路聚合启用备份的过程对聚合之外是不可见的,而且启用备份过程只在聚合链路内,与其它链路无关,切换可在数毫秒内完成。

         增加链路容量

聚合技术的另一个明显的优点是为用户提供一种经济的提高链路传输率的方法。通过捆绑多条物理链路,用户不必升级现有设备就能获得更大带宽的数据链路,其容量等于各物理链路容量之和。聚合模块按照一定算法将业务流量分配给不同的成员,实现链路级的负载分担功能。

某些情况下,链路聚合甚至是提高链路容量的唯一方法。例如当市场上的设备都不能提供高于10G的链路时,用户可以将两条10G链路聚合,获得带宽大于10G的传输线路。

此外,特定组网环境下需要限制传输线路的容量,既不能太低影响传输速度,也不能太高超过网络的处理能力。但现有技术都只支持链路带宽以10为数量级增长,如10M、100M、1000M等。而通过聚合将n条物理链路捆绑起来,就能得到更适宜的、n倍带宽的链路。

链路聚合的标准

目前链路聚合技术的正式标准为IEEE Standard 802.3ad,由IEEE802委员会制定。标准中定义了链路聚合技术的目标、聚合子层内各模块的功能和操作的原则,以及链路聚合控制的内容等。

其中,聚合技术应实现的目标定义为必须能提高链路可用性、线性增加带宽、分担负载、实现自动配置、快速收敛、保证传输质量、对上层用户透明、向下兼容等等。

链路聚合控制协议LACP

链路聚合控制协议(Link Aggregation Control Protocol)是IEEE 802.3ad标准的主要内容之一,定义了一种标准的聚合控制方式。聚合的双方设备通过协议交互聚合信息,根据双方的参数和状态,自动将匹配的链路聚合在一起收发数据。聚合形成后,交换设备维护聚合链路状态,当双方配置变化时,自动调整或解散聚合链路。

LACP协议报文中的聚合信息包括本设备的配置参数和聚合状态等,报文发送方式分为事件触发和周期发送。当聚合状态或配置变化事件发生时,本系统通过发送协议报文通知对端自身的变化。聚合链路稳定工作时,系统定时交换当前状态以维护链路。协议报文不携带序列号,因此双方不检测和重发丢失的协议报文。

需要指出的是,LACP协议并不等于链路聚合技术,而是IEEE802.3ad提供的一种链路聚合控制方式,具体实现中也可采用其它的聚合控制方式。

 

CISCO Port Channel 介绍

 

   在介绍port channel之前,先介绍一下port group的概念:portgroup是配置层面上的一个物理端口组,配置到port group里面的物理端口才可以参加链路汇聚,并成为portchannel里的某个成员端口。在逻辑上,port group并不是一个端口,而是一个端口序列。加入port group中的物理端口满足某种条件时进行端口汇聚,形成一个port channel,这个port channel具备了逻辑端口的属性,才真正成为一个独立的逻辑端口。端口汇聚是一种逻辑上的抽象过程,将一组具备相同属性的端口序列,抽象成一个逻辑端口。portchannel是一组物理端口的集合体,在逻辑上被当作一个物理端口。对用户来讲,完全可以将这个port channel当作一个端口使用,因此不仅能增加网络的带宽,还能提供链路的备份功能。端口汇聚功能通常在交换机连接路由器、主机或者其他交换机时使用。

   

    如上图中显示交换机s1的1—4号端口汇聚成一个port channel,该port channel的带宽为4个端口带宽的总和。而s1如果有流量要经过portchannel传输到s2,s1的portchannel将根据流量的源mac地址及目的mac地址的最低位进行流量分配运算,根据运算结果决定由portchannel中的某一成员端口承担该流量。当port channel中的一个端口连接失败,原应该由该端口承担的流量将再次通过流量分配算法分配给其他连接正常的端口分担。流量分配算法由交换机的硬件决定的。

    dcs-3926s提供了两种配置端口汇聚的方法:手工生成port channel、lacp(link aggregationcontrolprotoc01)动态生成portchannel。只有双工模式为全双工模式的端口才能进行端口汇聚。

    为使port channel正常工作,portchannel的成员端口必须具备以下相同的属性:

    1 端口均为全双工模式;

    2 端口速率相同;

    3 端口的类型必须一样,比如同为以太口或同为光纤口;

    4 端口同为access端口并且属于同一个vlan或同为trunk端口;

    5 如果端口为trunk端口,则其allowed vlan和nativevlan属性也应该相同。

    当dcs-3926s通过手工方式配置portchannel或lacp方式动态生成portchannel,系统将自动选举出port channel中端口号最小的端口作为port channel的主端口(masterport)。若交换机打开spanning—tree功能,spanning-tree视port channel为一个逻辑端口,并且由主端口发送bpdu帧。

    另外,端口汇聚功能的实现与交换机所使用的硬件有密切关系,dcs-3926s系列交换机支持任意两个交换机物理端口的汇聚,最大组数为6个,组内最多的端口数为8个。

    汇聚端口一旦汇聚成功就可以把它当成一个普通的端口使用,在dcs-3926s中还建立了汇聚端口配置模式,与vlan和物理端口配置模式一样,用户能在汇聚端口配置模式下对汇聚端口进行相关的配置。

 

 

分布式链路聚合技术

IRF架构下的聚合技术

IRF技术将多台交换设备组合成一个高性能的整体,目的是以尽可能少的开销,获得尽可能高的网络性能和网络可用性。支持IRF技术的设备都具备三个重要特性:分布式设备管理DDM、分布式链路聚合DLA和分布式弹性路由DRR。这三项技术是完成IRF技术目标不可缺少的环节。其中,DLA用于提高传输链路的可用性和容量。

多台IRF交换机堆叠后,端口的数量增加了,要求DLA能支持更多的聚合组,每组能有更多的聚合成员。更多的聚合组意味着交换设备可提供更多的高速链路,而更多的聚合成员则不仅能提高链路容量,还能降低整个数据线路失效的风险。在不同的IRF设备上,上述两项参数不同,但IRF系统至少支持8组聚合链路,每组能提供一条总容量为80M、800M或8000M的传输链路。一些配置较高的交换机还允许两个10G端口的聚合,为用户提供一条带宽更高的链路。

除了能提供更大的带宽之外,DLA还实现了IEEE 802.3ad标准中聚合的其它目标:

         带宽的增加是可控的、线性的,可以由用户的配置决定,不以 10为倍数增长。

         传输流量时,DLA根据数据内容将其自动分布到各聚合成员上,实现负载分担功能。

         聚合组成员互相动态备份,单条链路故障或替换不会引起链路失效。

         聚合内工作链路的选择和替换等细节对使用该服务的上层应用透明。

         交换设备的链路连接或配置参数变化时,DLA迅速计算和重新设置聚合链路,将数据流中断的时间降到最小。

         如果用户没有手工设定聚合链路,系统可自动设置聚合链路,将条件匹配的物理链路捆绑在一起。

         链路聚合结果是可预见的、确定的,只与链路的参数和物理连接情况相关,与参数配置或改变的顺序或无关。

         聚合链路无论稳定工作还是重新收敛,收发的数据不会重复和乱序。

         可与不支持聚合技术的交换机正常通信,也能与其它厂商支持聚合技术的设备互通。

         用户可通过CONSOLE、SNMP、TELNET、WEB等方式配置聚合参数或查看聚合状态。

DLA的特征

作为一项新技术,IRF技术呈现出许多新特性,其分布式构架方式使其各功能具有与众不同的优势。DLA体现了IRF技术在链路聚合方面的独到之处:

         支持非连续端口聚合

与之前的聚合实现方式不同,IRF系统不要求同一聚合组的成员必须是设备上一组连续编号的端口。只要满足一定的聚合条件,任意数据端口都能聚合到一起。用户可以根据当前交换系统上可用端口的情况灵活地构建聚合链路。

         支持跨设备和跨芯片聚合

目前一些堆叠技术并不支持跨设备的聚合方式,即堆叠中只有位于相同物理设备的端口才能加入同一聚合组中,用户不能随意指定聚合成员。这种限制在一定程度上抵消了端口数量扩展的好处。例如,当用户打算通过聚合将一条传输线路的容量提高到800M时,如果每一单独的设备上的端口都不足8个,这一需求就无法满足。虽然整个系统还有足够可用的100M端口,但它们分散在各物理设备上,无法形成一条满足带宽要求的逻辑链路。

IRF则不同。在IRF看来,堆叠的多台设备(称为unit)是一个整体,链路聚合功能和操作也应是一个整体。DLA模块对用户屏蔽了端口的具体物理位置这一细节,其示意图见Figure3。只要聚合条件相同,用户就能将不同unit的端口聚合到一起,如图中的端口p1、p2、p3和p4,组成了一条逻辑链路。此时,unit1~4协同计算和选择聚合组内的工作链路。P1~p4彼此动态备份,跨设备实现数据收发和负载分担,最大限度地发挥了多设备的优势。

 

跨设备的聚合链路

此外,有些交换设备不支持跨芯片聚合,即位于同一设备不同交换芯片的端口不能聚合。这一限制对IRF设备同样不存在,DLA允许端口跨芯片形成聚合组。对一些使用子卡的IRF设备而言,子卡上端口同样能与本unit或其它unit上任一条件匹配的端口聚合。

         分布式聚合控制

虽然IRF系统呈现为一个整体,但并不限制用户只能在某一特定的unit上操作。以聚合为例,用户可在系统的任一unit上对所有聚合链路进行配置和管理,查看全部聚合组和聚合端口的状态。通过CONSOLE、SNMP、TELNET或WEB方式连接到系统的任何一个unit上,用户就能创建或删除聚合组,显示聚合信息,也能进入具体的端口模式修改或显示其聚合参数。在这一过程中,DLA自动将用户命令交给端口所在的unit同步执行。接收命令的unit获取执行结果后提供给用户。

分布式聚合技术进一步消除了设备单点失效的问题,提高了链路的可用性。由于聚合成员可以来自不同设备,这样,即使系统内某些unit失效,其它正常工作的unit会继续控制和维护剩余的端口的状态,聚合链路也不会完全中断。这对核心交换系统以及一些高质量服务的网络意义重大。以下面的Figure4为例, IRF系统X1和X2之间有一条聚合链路。该链路由物理连接Link1~Link4构成,负责局域网LAN1和LAN2之间的通信。假如X1中交换机X11发生故障,导致Link1和Link2不可用,Link3与Link4不受影响,仍能聚合在一起收发数据。此后如果X2中X22也失灵,X1与X2之间至少还能通过Link3保持连接。

 

两个IRF系统之间的聚合链路

IRF设备可视为 “积木式”(scalable)的交换机。用户既可使用单台IRF交换机组网,也可以逐台增加从而按需增强网络设备的性能。同时这一高性能堆叠交换机也可以拆分,拆分后各unit恢复成为独立工作的交换设备。上述过程分别称为合并(merge)和拆分(split)。如果合并前两个系统各自创建了参数相同的聚合链路,IRF要求合并后这些聚合成员必须加入同一组,即聚合组也实现合并。合并后各个unit协同工作,在全局匹配配置参数、分配聚合组号、将端口加入对应组并重新计算和设置端口状态。同样,如果拆分前同一聚合组成员分布于不同unit上,拆分后它们仍留在各自创建的同名同类型聚合组中。DLA确保各unit保留当前的聚合配置,从组中删除已离开的端口,然后计算剩余端口的状态。

这一特性最大限度保护了用户的聚合配置。而且,当堆叠链路故障引起系统拆分时,该特性让IRF系统尽可能地维持已有的聚合链路,降低故障带来的数据传输损失。

         多种聚合类型

DLA实现了三种类型的聚合方式:手工聚合、静态聚合和动态聚合。

手工和静态聚合组通过用户命令创建或删除,组内成员也由用户指定。创建后,系统不能自动删除聚合组或改变聚合成员,但需要计算和选择组内成员的工作状态。聚合成员是否成为工作链路取决于其配置参数,并非所有成员都能参加数据转发。

手工和静态聚合主要是聚合控制方式不同。手工聚合链路上不启用LACP协议,不与对端系统交换配置信息,因此聚合控制只根据本系统的配置决定工作链路。这种聚合控制方式在较早的交换设备上比较多见。静态聚合组则不同,虽然聚合成员由用户指定,但DLA自动在静态链路上启动LACP协议。如果对端系统也启用了LACP协议,双方设备就能交换聚合信息供聚合控制模块使用。

动态聚合控制完全遵循LACP协议,实现了IEEE802.3ad标准中聚合链路自动配置的目标。用户只需为端口选择动态方式,系统就能自动将参数匹配的端口聚合到一起,设定其工作状态。动态聚合方式下,系统互相发送LACP协议报文,交换状态信息以维护聚合。如果参数或状态发生变化,链路会自动脱离原聚合组加入另一适合的组。

上述三种聚合方式为IRF系统提供了良好的聚合兼容性。系统不仅能与不支持链路聚合的设备互连,还能与各种不同聚合实现的设备配合使用。用户能根据实际网络环境灵活地选择聚合类型,获得高性能高可靠的链路。

DLA的应用例

与IRF的其它功能配合,DLA能在许多应用环境下发挥重要的作用。下面给出两个应用例。

         DLA在办公楼区的应用

Figure5显示了IRF在一个办公楼群中的应用案例。整个楼群通过4台IRF交换机unit1~unit4与外网通信。Unit1~unit4分别位于4栋办公楼中。它们之间以光纤相连,组成一个IRF系统。IRF系统通过Link1~Link8与外部网络相连(Link1~Link8为100M带宽链路)。

Link1~Link8聚合后,整个IRF系统可为楼内用户提供高可靠的通信。以用户H1为例,正常情况下,H1与外网交换数据的速率理论上能达到800M。即使Link1和Link2发生故障,H1与外网的通信经由Link3~Link8转发,也能获得一条最大带宽为600M的线路。此外H1与网内邻居H2之间的通信也能由unit之间的光纤高速转发。

 

IRF-DLA应用于办公楼群

         DLA在HPC系统内的应用

下图显示了IRF-DLA在一个高性能机群计算系统HPC(High Performance Computer)中的应用。HPC系统主要用于完成大计算量任务。机群的主节点将任务分成多个可独立进行的片段,交由各个计算节点完成。出于对高速计算的要求,HPC对数据吞吐速度和数据交换系统的可靠性有很高的要求。

图中所示的HPC服务器均通过两块网卡与IRF系统相连。其中主节点和备份节点上各使用2条10G链路分别与X1和X2相连,各计算节点分别使用2条1G的链路线路与之相连。X1和X2均正常工作时,主节点通过总容量20G的聚合链路将计算任务源源不断地发送给各计算节点,同时各计算节点将结果通过2G的链路提交给主节点。

当与主节点相连接的某条10G链路出现故障,或者X1失灵时,虽然系统的整体计算性能有一定程度的下降,但10G链路基本能满足HPC的要求,不会成为整个计算系统的性能瓶颈。

 

IRF-DLA应用于HPC系统

华为交换机配置:链路聚合例子

设置在端口上启用聚合
[Quidway]link-aggregation group 1 mode manual
[Quidway]int e1/0/5
[Quidway-Ethernet1/0/5]port link-aggregation group 1
[Quidway-Ethernet1/0/5] quit
[Quidway]int e1/0/6
[Quidway-Ethernet1/0/6] port link-aggregation group 1


[Quidway-Ethernet1/0/6]dis cur
#
local-server nas-ip 127.0.0.1 key huawei
#
domain default enable system
#
link-aggregation group 1 mode manual
#
queue-scheduler wrr 1 2 3 4 5 9 13 15
#
radius scheme system
#
domain system
#
vlan 1
#
interface Vlan-interface1
ip address 192.168.1.2 255.255.255.0
#
interface Aux1/0/0
#
interface Ethernet1/0/1
#
interface Ethernet1/0/2
#
interface Ethernet1/0/3
#
interface Ethernet1/0/4
#
interface Ethernet1/0/5
port link-aggregation group 1
#
interface Ethernet1/0/6
port link-aggregation group 1
#
interface Ethernet1/0/7
#
interface Ethernet1/0/8
#
interface Ethernet1/0/9
#
interface Ethernet1/0/10