摘要:分布式链路聚合技术实现多个数据终端设备上任意链路之间的业务互为备份和负载分担,同时实现节点保护功能。该技术是链路聚合技术发展的新阶段,易于实现和升级,极大提高了现有技术在链路备份、负载分担、节点保护、故障隔离、业务倒换方面的能力。
关键词: 分布式链路聚合;节点保护;链路备份;业务保护
链路聚合技术已在2000年左右在IEEE802.3ad完成标准化,后由802.1AX标准对该技术的模型、操作、控制协议以及管理进行全面规范。该技术可以将数据终端设备和数据终端设备之间的多条全双工点到点链路聚合起来形成一个链路聚合组(LAG)。上层功能模块则可以将链路聚合组当成一条逻辑链路使用,从而达到平滑扩展链路带宽的目的,同时LAG组的物理链路之间互为备份提高了链路可靠性。
链路聚合技术采用链路聚合控制协议来管理链路配置并在链路间分布负载,它在增加数据终端设备之间的连接带宽、实现传输链路的弹性和冗余方面起到了重要的作用。
随着网络的进一步发展,传统的链路聚合技术由于LAG组成员无法跨节点进行链路捆绑,逐渐无法满足现网应用的需求,因此需要一种分布式LAG技术(如图1所示)来实现跨节点的链路负载备份。
1应用场景及需求分析
1.1应用场景1:城域以太网
如图2所示,在城域以太网通用架构规范(MEF 4)中,两个城域以太网业务提供商的网络设备和以太网业务的分界点被定义为外部网络间接口(ENNI)。ENNI是连接两个网络管理域之间的参考点,也是某管理域的边界点。对于某一个管理域来说,ENNI是所连接的另一个管理域的唯一参考点。
ENNI可以由一条或多条物理链路来实现,MEF的规范中要求当ENNI由多条物理链路来实现时,则采用LAG来进行链路的冗余保护。当ENNI一端的城域网外部边界由两个或两个以上的节点组成时,ENNI实际上是由一个互连区域来实现(如图3所示)。采用互连区域实现ENNI除了可以应付链路失效的情况,还可以提供节点失效保护,更进一步提高了ENNI的可靠性,如图3所示为一个经过冗余ENNI的E-LINE业务。已有的LAG技术无法满足该组网需求,需采用分布式LAG技术实现[1]。
1.2 应用场景2:移动回程网
如图4所示,在长期演进(LTE)移动回程网中,可以采用eNodeB连接分组传送网(PTN)二层网络,再由PTN连到路由器,从而连接到服务网关(S-GW)和移动管理实体(MME)的方式组网,路由器作为eNodeB、S-GW和MME的三层网关。路由器和PTN之间通常采用双节点多链路互联来提高可靠性,若采用传统路由和以太网技术,需要设计十分复杂的故障检测、故障联动和倒换同步机制,对设备能力和网络维护都带来很大的压力。这种组网场景下,采用分布式的LAG技术可以很好地解决多节点多链路互备保护和同步的问题,并大大简化路由器和PTN之间的组网。图4所示的虚线方框为四节点的互连区域,对PTN下挂的eNodeB来说,两台路由器必须等同于同一个网关,而对于S-GW和MME来说,两台路由器还是各自独立的[2]。
1.3应用场景3:云计算数据中心
如图5所示,在云计算数据中心网络内部通常采用大二层三级组网模式:接入层由架顶交换机组成,以连接数十台服务器或者内置Blade Switch的服务器网络出口,架顶交换机与汇聚层交换机通过双归方式进行互连;核心层是网络的L2/L3分割点,是服务器的三层网关,通过部署MC-LAG、vPC、虚拟路由器冗余协议+多生成树协议(VRRP+MSTP)等提供网关备份和流量的负荷分担。这些技术的实现、网络规划和运营比较复杂。如果采用分布式LAG技术,可以在接入、汇聚、核心层交换机之间升级LAG技术,实现链路与网关节点保护和流量的负载分担,克服传统技术存在的扩展性差和带宽利用率低等问题[3]。
2 LAG技术原理及实现
分布式LAG技术,指LAG组的两端可以终结在一个或多个数据终端设备上,即增加了跨节点的能力,同时兼容原有的链路聚合技术的所有功能和能力。
如图1所示,如果LAG的一端是由多个聚合系统组成,则这一端称为门户(Portal),即在分布式链路聚合模型中,LAG一端的单个聚合系统被一个Portal取代了。
除了继承原链路聚合所能提供的能力外,分布式LAG还能提供:
·兼容性。多系统门户可以连接单系统门户或者传统的聚合系统。
·管理隔离。分布式LAG所连接的两个网络属于不同的管理域,运行不同的故障恢复协议。
·管理独立。分布式链路聚合协议并不取代分布式LAG两端的两个网络内部的控制协议。
·互连网络的故障隔离。一个网络内的链路或节点的故障或恢复,由本网络内的控制协议动作与通过分布式链路聚合组连接的另一网络内的控制协议相互隔离。
·网络和分布式LAG互连区域的故障隔离。门户间的聚合链路故障、恢复对其连接的两个网络内部来说是透明的。
·快速故障恢复。门户内的系统间通过内部通信协商快速响应故障或恢复。
·分发独立。满足自身网络需求的帧分发算法和在聚合组内帧分发到各聚合链路的分发算法不同。
2.1分布式链路聚合模型
为了能让两个或多个系统的链路加入到一个分布式LAG中,每个门户内的每个系统都需要通过分布式中继互连起来。门户内的每个系统(为了区分传统聚合组的系统,这里称为门户系统)运行链路聚合协议,每个门户系统对应一个聚合器。通过分布式中继连接多个聚合系统形成门户系统作为链路聚合组的一端。从链路聚合组的另一端来看,该链路聚合组终结在一个模拟系统端。原则上,分布式中继支持任意多的门户系统互连,但这需要引入一些协议处理。每一个链路聚合功能均包括一个或多个媒体接入控制(MAC)[4]。
为了能更好地描述分布式中继,这里用示例来说明。如图6所示,系统A和系统B都可以执行上层功能,这里的上层功能可以是某些帧的转发功能,如路由器或交换机。系统A和系统B都独自运行了链路聚合子层。假设现在我们需要将系统A和系统B上的链路聚合关联起来形成一个门户,系统A和系统B上的聚合链路形成一个聚合组。这时我们就需要用到分布式中继,如图7所示,通过分布式中继,使得系统A和系统B呈现出存在第3个模拟系统C。模拟系统C和系统A或系统B之间是上层功能层和链路聚合层之间的虚拟链路连接起来,即本端的系统A和系统B模拟成为了一个模拟系统C。聚合组的另一端门户或系统是和系统C连接的,系统C是存在的。
分布式中继依据的原则有:
·模拟系统C上的分布式中继是一个N +1端口中继(N 为门户内的系统个数),即N 个网关端口和一个模拟链路聚合子层。图7中包括了2个用于连接门户系统的网关端口以及1个模拟链路聚合子层。
·聚合端口移到了模拟系统上,对于其他系统来说,这些聚合端口是对等的。
·分布式中继网关是虚拟连接,它将分布式中继连接到系统上。
系统A和系统B的实际结构如图8所示,每个系统A和系统B都有自己的分布式中继功能模块,用于实现分布式中继。分布式中继的原则是:
·系统A和系统B中和系统C关联的端口均移到分布式中继功能的链路聚合子层下面。
·分布式中继功能和上层功能层间有虚拟链路,称为网关链路。
·每对分布式中继功能间由内连链路(IPL)连接,而IPL终结在分布式中继功能上的内连端口(IPP)上。
·有一个网关算法用于决定帧从哪个网关链路进入/离开模拟分布式中继。
·有一个端口算法用于决定从哪个门户系统中的聚合端口进入/离开模拟分布式中继。
·分布式中继功能用于在网关链路、IPL和链路聚合子层间传送帧。
2.2会话感知的帧分发与收集
LAG聚合器的帧分发器负责根据帧分发算法将聚合器客户层所发送的帧发送到正确的聚合端口上,帧收集器则负责将从各个聚合端口上收到的帧发送给聚合器客户层。
LAG聚合器的帧分发器和帧接收器也可以按会话的方式实现帧的接收和分发。会话就是一组需要保持其序列的帧,在分布式链路聚合技术中,会话标志是一个12位的数值,代表一组帧,因此每一个帧都有一个对应的会话标志。会话标志可以依据帧携带的C-tag、S-tag、I-tag等标签的值或经过映射处理之后的值确定。
会话标志可以分为网关会话标志和端口会话标志,每个帧对应一个网关会话标志和端口会话标志。对于下行流量(从网关链路到聚合链路),则依据帧的端口会话标志来进行帧的分发;对于上行流量(从聚合链路到网关),则依据帧的网关会话标志来进行帧的分发。一般来说,网关会话标志和端口会话标志可以是一样的。因此有如下一些要求:
·链路聚合协议数据单元(LACPDU)中需要携带能指明帧分发器所用的分发算法信息。
·帧分发器给每个帧分配一个端口会话ID,并按照端口会话ID给每个帧分配一个聚合端口。
·帧接收器和帧分发器执行一样的帧映射会话ID的算法。
· LACPDU中携带相应信息用于说明帧分发器会将哪些会话ID分发到哪些聚合端口上。
· 帧接收器将从聚合端口上接收到的帧按分发算法进行计算,将本不应通过该聚合端口的会话丢弃。
通过这种帧收集器仅能从某特定聚合端口上接收某特定会话的方式可以保证帧的不乱序。因此对于分布式链路聚合来说,一个门户内的多个系统上的接收器需要统一协商确定某会话仅能从某一个聚合端口上接收。
帧收集器根据分发算法获取帧的端口会话ID,并判断此会话是否应该从接收该帧的端口上收到,如果信息吻合,则该会话则会被上送到客户侧端口。
实现会话感知的帧分发和收集需要扩展链路汇聚控制协议(LACP)协议,对每个聚合端口来说,LACP协议需要维护协商一致的配置信息、与对端系统交互配置信息来验证每端口会话ID配置选择的一致性、以及依据从对端系统链路聚合控制实体所获得的信息来使能或禁用基于端口会话ID的聚合器帧收集和帧分发。其中一种会话感知的流量分发算法为按帧所属业务来划分会话。按帧业务来确定会话ID来进行流量分发,可以实现:
·CFM一致性。连通性错误管理(CFM)的检测帧和数据平面一致。按业务帧分发方式可以保证CFM帧和数据帧走同一条物理链路。
·双向同路。对于一个特定的业务流量,其在聚合组的两端向聚合链路上发的时候使用的是同一条物理链路,从而保证了在链路发生故障需要切换时,受影响的业务最少;也给那些需要在发送和接收路径严格对称的协议(如IEEE 1588协议)提供支持。
·入口的可预测性。有时需要按业务对入口流量进行测量。将一个业务的流量限制在一条链路上,可以方便这一动作的执行。
按业务分发可以应用在分布式中继和/或聚合器上。在使能了这种分发方式后,帧按照其帧中的Tag来分发到不同的物理聚合链路上。Tag的格式包括了IEEE802.1Q-2011中定义的几种Tag:
·用户VLAN Tag(C-TAG)。
·业务VLAN Tag或者骨干VLAN Tag(S-TAG或者B-TAG)。
·骨干业务实例Tag(I-SID)。
2.3 分布式中继转发原理
如果采用了会话感知的帧分发方式,帧分发器、帧接收器和分布式中继功能都会查看帧的Tag。如果是封装了上述几种Tag类型,则会根据这些Tag来决定其对应的业务ID。如果帧没有封装Tag,则其对应的业务ID为0。
门户系统中的分布式中继功能有3种类型的端口:
·IPP。IPP指同一个门户内的门户系统间IPL两端的端口。
·虚拟网关端口。虚拟网关端口通过一条虚拟链路连接到分布式中继功能所在的门户系统。
·聚合器端口。聚合器下面有多个聚合端口。
分布式中继用于将从聚合端口上收到的帧(上行帧)发送到一个网关,或者丢弃;同时,将从一个网关收到的帧(下行帧)发送到一个聚合端口,或者丢弃。为了转发到正确的聚合端口或网关,分布式中继功能可能需要从IPL上发送帧。当分布式中继功能模块在进行帧转发时,需要为帧分配网关会话ID和端口会话ID,并为相应的会话ID配置相应的网关、聚合端口和IPL。通过网关收发的双向帧都需要应用网关算法。对于上行帧,分布式中继功能网关算法决定该帧是否应从本门户系统的网关链路转发,还是通过其他邻接门户系统的网关链路发送。如果该帧的网关会话ID属于本门户系统,则发送该帧到本门户系统的网关链路;如果该帧的网关会话ID属于其他邻接门户系统,则发送该帧到和该邻接门户系统相连的内连链路。对于下行帧,分布式中继功能的端口算法决定是否从本门户系统的聚合端口发送,还是从其他邻接门户系统的聚合链路发送。如果该帧的端口会话ID属于本门户系统,则发送该帧到本门户系统的聚合端口;如果该帧的端口会话ID属于其他的邻接系统,则发送该帧到和该邻接门户系统相连接的内连链路上[5]。
网关算法包含两个功能:一是为帧分配网关会话ID,二是将网关会话ID配置到网关上。端口算法的功能也是相似的,即为帧分配端口会话ID和将端口会话ID配置到聚合端口。
在任意时刻,需要保证任意给定网关会话ID分配到最多一个网关,任意给定端口会话ID配置到最多一个聚合端口。
可以给某帧配置相同的网关会话ID和端口会话ID(非强制)。当一个帧从网关进入分布式中继功能时,由端口算法决定向聚合端口或特定的IPP端口转发该帧。当一个帧从聚合端口收上来进入分布式中继功能时,则由网关算法决定向网关或特定的IPP端口转发。当一个帧从IPL上收到时,分布式中继功能需要同时应用网关算法和端口算法。
2.4分布式中继控制协议
分布式链路聚合技术中本端与对端进行链路聚合协商时,两端都需要分别使用统一的聚合参数进行协商,才能聚合成功。本端可以是多个系统,但对于对端来说,本端应该是一个系统,即本端聚合为一个模拟系统。这样才符合链路聚合条件。
因此利用分布式中继控制协议(DRCP),可以通过IPL建立门户系统之间的通信,确保门户系统上的配置(如端口算法、网关算法、门户内各系统的标志等)的一致性,并确定门户模拟系统的标志。DRCP在门户系统之间交互各自的状态以及聚合端口信息(如业务的初始和备用网关、聚合端口列表),计算需要穿过IPL的帧并和邻接的门户系统交换信息以防止成环或重复发送。
此外,分布式中继需要对有些链路聚合中的变量进行特殊的设计,以将多个聚合系统创建成一个单独的模拟聚合系统。
·分布式中继的每一个聚合端口的标志符由该聚合端口所在的系统的编号和聚合端口号组成。
·分布式中继的每一个聚合端口的管理键值由聚合端口所在的系统的编号和聚合端口物理特征码所组成。
3结束语
文章主要研究了分布式链路聚合技术在承载网中的几种典型的应用场景和需求,介绍了分布式LAG的基本原理和功能。分布式LAG技术能够为两个独立网络之间的一组设备提供冗余连接,以提供网络互连区域的多链路、多节点的保护,实现两个网络的管理与控制协议的独立性,并保证同一业务流量走同一物理路径。分布式LAG对单节点LAG进行了重大改进,同时又具备后向兼容的特性。
·IPP。IPP指同一个门户内的门户系统间IPL两端的端口。
·虚拟网关端口。虚拟网关端口通过一条虚拟链路连接到分布式中继功能所在的门户系统。
·聚合器端口。聚合器下面有多个聚合端口。
分布式中继用于将从聚合端口上收到的帧(上行帧)发送到一个网关,或者丢弃;同时,将从一个网关收到的帧(下行帧)发送到一个聚合端口,或者丢弃。为了转发到正确的聚合端口或网关,分布式中继功能可能需要从IPL上发送帧。当分布式中继功能模块在进行帧转发时,需要为帧分配网关会话ID和端口会话ID,并为相应的会话ID配置相应的网关、聚合端口和IPL。通过网关收发的双向帧都需要应用网关算法。对于上行帧,分布式中继功能网关算法决定该帧是否应从本门户系统的网关链路转发,还是通过其他邻接门户系统的网关链路发送。如果该帧的网关会话ID属于本门户系统,则发送该帧到本门户系统的网关链路;如果该帧的网关会话ID属于其他邻接门户系统,则发送该帧到和该邻接门户系统相连的内连链路。对于下行帧,分布式中继功能的端口算法决定是否从本门户系统的聚合端口发送,还是从其他邻接门户系统的聚合链路发送。如果该帧的端口会话ID属于本门户系统,则发送该帧到本门户系统的聚合端口;如果该帧的端口会话ID属于其他的邻接系统,则发送该帧到和该邻接门户系统相连接的内连链路上[5]。
网关算法包含两个功能:一是为帧分配网关会话ID,二是将网关会话ID配置到网关上。端口算法的功能也是相似的,即为帧分配端口会话ID和将端口会话ID配置到聚合端口。
在任意时刻,需要保证任意给定网关会话ID分配到最多一个网关,任意给定端口会话ID配置到最多一个聚合端口。
可以给某帧配置相同的网关会话ID和端口会话ID(非强制)。当一个帧从网关进入分布式中继功能时,由端口算法决定向聚合端口或特定的IPP端口转发该帧。当一个帧从聚合端口收上来进入分布式中继功能时,则由网关算法决定向网关或特定的IPP端口转发。当一个帧从IPL上收到时,分布式中继功能需要同时应用网关算法和端口算法。
2.4分布式中继控制协议
分布式链路聚合技术中本端与对端进行链路聚合协商时,两端都需要分别使用统一的聚合参数进行协商,才能聚合成功。本端可以是多个系统,但对于对端来说,本端应该是一个系统,即本端聚合为一个模拟系统。这样才符合链路聚合条件。
因此利用分布式中继控制协议(DRCP),可以通过IPL建立门户系统之间的通信,确保门户系统上的配置(如端口算法、网关算法、门户内各系统的标志等)的一致性,并确定门户模拟系统的标志。DRCP在门户系统之间交互各自的状态以及聚合端口信息(如业务的初始和备用网关、聚合端口列表),计算需要穿过IPL的帧并和邻接的门户系统交换信息以防止成环或重复发送。
此外,分布式中继需要对有些链路聚合中的变量进行特殊的设计,以将多个聚合系统创建成一个单独的模拟聚合系统。
·分布式中继的每一个聚合端口的标志符由该聚合端口所在的系统的编号和聚合端口号组成。
·分布式中继的每一个聚合端口的管理键值由聚合端口所在的系统的编号和聚合端口物理特征码所组成。
3结束语
文章主要研究了分布式链路聚合技术在承载网中的几种典型的应用场景和需求,介绍了分布式LAG的基本原理和功能。分布式LAG技术能够为两个独立网络之间的一组设备提供冗余连接,以提供网络互连区域的多链路、多节点的保护,实现两个网络的管理与控制协议的独立性,并保证同一业务流量走同一物理路径。分布式LAG对单节点LAG进行了重大改进,同时又具备后向兼容的特性。
·IPP。IPP指同一个门户内的门户系统间IPL两端的端口。
·虚拟网关端口。虚拟网关端口通过一条虚拟链路连接到分布式中继功能所在的门户系统。
·聚合器端口。聚合器下面有多个聚合端口。
分布式中继用于将从聚合端口上收到的帧(上行帧)发送到一个网关,或者丢弃;同时,将从一个网关收到的帧(下行帧)发送到一个聚合端口,或者丢弃。为了转发到正确的聚合端口或网关,分布式中继功能可能需要从IPL上发送帧。当分布式中继功能模块在进行帧转发时,需要为帧分配网关会话ID和端口会话ID,并为相应的会话ID配置相应的网关、聚合端口和IPL。通过网关收发的双向帧都需要应用网关算法。对于上行帧,分布式中继功能网关算法决定该帧是否应从本门户系统的网关链路转发,还是通过其他邻接门户系统的网关链路发送。如果该帧的网关会话ID属于本门户系统,则发送该帧到本门户系统的网关链路;如果该帧的网关会话ID属于其他邻接门户系统,则发送该帧到和该邻接门户系统相连的内连链路。对于下行帧,分布式中继功能的端口算法决定是否从本门户系统的聚合端口发送,还是从其他邻接门户系统的聚合链路发送。如果该帧的端口会话ID属于本门户系统,则发送该帧到本门户系统的聚合端口;如果该帧的端口会话ID属于其他的邻接系统,则发送该帧到和该邻接门户系统相连接的内连链路上[5]。
网关算法包含两个功能:一是为帧分配网关会话ID,二是将网关会话ID配置到网关上。端口算法的功能也是相似的,即为帧分配端口会话ID和将端口会话ID配置到聚合端口。
在任意时刻,需要保证任意给定网关会话ID分配到最多一个网关,任意给定端口会话ID配置到最多一个聚合端口。
可以给某帧配置相同的网关会话ID和端口会话ID(非强制)。当一个帧从网关进入分布式中继功能时,由端口算法决定向聚合端口或特定的IPP端口转发该帧。当一个帧从聚合端口收上来进入分布式中继功能时,则由网关算法决定向网关或特定的IPP端口转发。当一个帧从IPL上收到时,分布式中继功能需要同时应用网关算法和端口算法。
2.4分布式中继控制协议
分布式链路聚合技术中本端与对端进行链路聚合协商时,两端都需要分别使用统一的聚合参数进行协商,才能聚合成功。本端可以是多个系统,但对于对端来说,本端应该是一个系统,即本端聚合为一个模拟系统。这样才符合链路聚合条件。
因此利用分布式中继控制协议(DRCP),可以通过IPL建立门户系统之间的通信,确保门户系统上的配置(如端口算法、网关算法、门户内各系统的标志等)的一致性,并确定门户模拟系统的标志。DRCP在门户系统之间交互各自的状态以及聚合端口信息(如业务的初始和备用网关、聚合端口列表),计算需要穿过IPL的帧并和邻接的门户系统交换信息以防止成环或重复发送。
此外,分布式中继需要对有些链路聚合中的变量进行特殊的设计,以将多个聚合系统创建成一个单独的模拟聚合系统。
·分布式中继的每一个聚合端口的标志符由该聚合端口所在的系统的编号和聚合端口号组成。
·分布式中继的每一个聚合端口的管理键值由聚合端口所在的系统的编号和聚合端口物理特征码所组成。
3结束语
文章主要研究了分布式链路聚合技术在承载网中的几种典型的应用场景和需求,介绍了分布式LAG的基本原理和功能。分布式LAG技术能够为两个独立网络之间的一组设备提供冗余连接,以提供网络互连区域的多链路、多节点的保护,实现两个网络的管理与控制协议的独立性,并保证同一业务流量走同一物理路径。分布式LAG对单节点LAG进行了重大改进,同时又具备后向兼容的特性。