罗志成,张洁
(武汉邮电科学研究院,湖北武汉 430074)
随着通信互联网技术的不断发展,人们对图像、语音以及多媒体业务的需求不断增加。近几年,PON 技术凭借维护方便、成本较低、稳定性强以及可靠性高的优势越来越受通信设备厂商的青睐。
OLT 是PON 系统中的核心设备,它既能够将公用网络的信号传输到家庭用户,也能够将来自用户的信号分成不同种类的业务信号,分别送入到业务网中。随着越来越多用户的接入,传统OLT 设备中,双主控盘一个工作另一个当作备份的工作方式不足以处理庞大的数据量。另外,PON 网络中普通物理链路连接的带宽速率也满足不了当前人们对网速毫秒级延迟的需求。文中提出的1+1 工作模式的OLT 设备支持双主控盘同时工作,并支持接入网中跨盘链路聚合。此种工作模式的OLT 设备不仅能够保证主备倒换时业务的稳定性和可靠性,也提高了带宽速率。
PON 是一种由点到多点架构组成的网络宽带技术,主要由光网络单元(ONU)、光线路终端(OLT)和光分配网(ODN)组成。整个PON 系统的运行以及接入过程中无需任何使用电源的电子设备,因此PON也被称为无源光网络。PON 系统的网络结构如图1所示。
图1 PON系统结构图
PON 在上行和下行方向采用不同的复用技术。在下行方向中,OLT 将要送给每个ONU 的业务信号组装成帧,以广播的方式发给多个ONU,每路信号都含有发给所有特定ONU 的帧,各个ONU 接受属于自己的帧,丢弃其他ONU 的帧。下行广播方式如图2所示。
图2 PON系统下行广播方式
上行方向采用时分多址(TDMA)方式共享信道进行传输,OLT 为每个ONU 都分配一个传输时隙,不同的ONU 在不同的时隙发送上行信号。上行传输方式如图3 所示。
图3 PON系统上行广播方式
链路聚合是将多条物理链路绑定形成一条逻辑链路的技术。聚合后逻辑链路中的最大带宽等于原来物理链路的带宽总和。LACP 技术既能提高业务的带宽,同时也能提供备用链路,从而保持业务不会中断。
链路聚合技术分为手工聚合和LACP 模式链路聚合。在现网中,手工聚合由于操作复杂、不易控制而使用较少,文中不予以详细介绍。LACP 模式链路聚合是在IEEE802.3ad 标准中提出的协议,加入聚合组的成员通过发送LACP 报文与对端设备交互信息实现链路的汇聚。
LACP 协议要求将端口加入聚合组时比较端口的基本配置,只有基本配置(例如VLAN、双工、速率)相同的端口才能加入到同一聚合组中。
LACP 协议报文格式如图4 所示,内容包括目的MAC 地址、源MAC 地址、协议类型、Actor 的信息与Partner 的信息等。在报文内容中,Actor_State 和Partner_State 分别表示本端端口协议状态和对端端口的协议状态。协议状态是由LACP 内部的4 个状态机来计算的。端口状态是0x3d 或0x3f 表示端口LACP 协议协商成功,否则代表协商失败。
图4 LACP协议报文格式
LACP 协议的交互主要由协议内部的一组状态机来实现,这组状态机负责整个LACP 协议的运转。LACP 主要由4 个状态机和一个逻辑判断组成,具体如下:
接收状态机Receive machine:接收对端LACP 包并记录信息,判断对端是否和本端协商。
周期性发送状态机Periodic Transmission machine:通过周期性发送LACPDU 包来维持聚合状态。
聚合状态机Mux machine:控制端口加入或踢出聚合组。
发送状态机Transmit machine:为其他状态机服务,发送LACPDU 数据包。
逻辑判断Selection logic:为物理端口选择一个可用的聚合组。
要将OLT 设备中两个独立主控盘单独工作改成两个主控盘一起工作,首先要改变两块主控盘交换芯片的工作模式。文中的改进方法是将两块主控盘的交换芯片作为一个整体,而不是各自独立工作的交换芯片,也就是将1+1 工作模式下的两块主控盘配置成堆叠工作模式。设计模式如图5 所示。
图5 堆叠工作模式
将配置成堆叠模式的交换芯片的端口进行重新定义,两块主控盘之间的级联端口定义为堆叠端口,将主用主控盘、备用主控盘的端口以及上联盘的端口定义为普通端口。普通端口用来收发报文并进行MAC 地址表学习,堆叠端口只作为系统内部的通信端口,不参与报文的MAC 地址表学习。堆叠端口与普通端口设计模式如图6 所示。
图6 堆叠端口与普通端口
在堆叠模式下,需要将两块主控盘交换芯片的端口号在系统内部统一编号,编号方式是芯片号和端口号的组合。Chip ID 和Port ID 的数据长度为2 字节,组合方式如图7 所示。
图7 交换芯片端口号编号方式
在这样的方式下,当主控盘的交换芯片接收到二层以太网报文后,在报文头中增加芯片号和端口号信息,普通端口将由Chip ID 和Port ID 组成的新端口号信息加入到报文头中,堆叠端口不增加报文头。
通过以上设计方案,两块主控盘可实现1+1 并发工作模式,两块主控盘的上联口可同时工作,实现上联口的扩展和负载分担。主用主控盘交换芯片学习PON 业务单盘、主用主控盘、备用主控盘等所有端口收到的报文MAC 地址并记录到MAC 地址表中,并实时同步到备用主控盘中。而备用主控盘交换芯片不需要学习MAC 地址表,但也可以与主用主控盘的二层表项保持一致。这样,系统内只维护主用主控盘的二层表项,无需维护两个二层表项。
在传统OLT 设备中,只支持主用主控盘单独工作,而备用主控盘不运行协议。1+1 工作模式的OLT能够支持跨主控盘聚合。LACP 协议1+1 模式设计如图8 所示。
图8 LACP协议1+1模式设计
设备与设备之间的LACP 协议交互(如LACP 使能、创建Trunk 组、设置Trunk 的工作模式、设置Trunk 组的最大活动成员数、将端口加入到Trunk 组等)需要进行LACP 配置。
RCAL 是命令行模块,SNMP 是网管模块。这两个模块负责LACP 协议的配置下发与配置回读,主盘配置通过命令行直接下发,备盘配置通过数据库实现配置同步。
桥模块与协议模块的交互主要有端口事件上报、获取端口信息以及LACP 协议的收发报文。桥模块获取端口的双工、速率和状态来判断端口是up 还是down,并将此事件上报给协议模块。LACP 协议模块只有收到桥模块发来端口up 的消息并且端口配置了LACP 协议,才进行LACP 协议的处理。
LACP 协议通过注册收包函数lacp_register_rx_handler 到桥模块来进行收取报文。主用主控盘上联端口和备用主控盘上联端口形成链路聚合,主用主控盘端口收到报文的同时会复制一份到备盘中,但备盘不进行处理;备用主控盘的上联端口收到报文也会复制一份到主盘中,在主盘的CPU进行处理。
LACP 协议模块会调用桥模块的发包函数uv_portIfSend 进行组包,组包是在主用主控盘上完成的。组包完成后可以通过本盘的上联端口直接发送出去,也可以通过主从通道发给备盘,通过备用主控盘的上联端口发送出去。
基于提出的1+1 并发工作模式OLT 设备并支持LACP 跨盘聚合的方案设计,在实验室搭建图9 所示的实验环境。使用OLT 设备与华为交换机进行连接,其中9 盘为主用主控盘,10 盘为备用主控盘,9∶1与10∶1 形成跨盘链路聚合。
图9 LACP跨盘聚合
在OLT 设备与交换机设备上进行LACP 配置,发现LACP 协议可以正常协商。通过命令行在设备上回读LACP 聚合组信息,如图10 所示。
图10 LACP跨盘聚合信息
使用实验室仪表TestCenter 来模拟业务流,通过2/11 端口和2/4 端口进行双向打流,流量速率为1 000 fps。数据流量信息如图11 所示。
图11 跨盘聚合数据流量示意图
由图11 可以发现,2/4 端口发出1 000 fps 的业务流量,接收到1 000 fps 的业务流量;2/11 端口发出1 000 fps 的业务流量,也接收到1 000 fps 的业务流量,全程无丢包现象。
在正常聚合的条件下,拔掉9∶1 端口,使数据流全部通过10:1 端口进行传输,在仪表软件中查看丢包信息。丢包信息如图12 所示。
图12 LACP倒换丢包信息
文中实验设置流量速率为1 000 fps,根据图12可知,在LACP 倒换过程中丢失18 帧,因此倒换时间大约为18 ms。
提出的支持以1+1 并发工作模式OLT 为基础并且在软件上实现LACP 协议的方案设计,通过实验测试验证了可以支持跨主控盘聚合,不仅能够提高带宽、缩短倒换时间,而且在主控盘主备倒换时不会中断业务,提高了系统的数据处理性能和稳定性,展现了设备良好的商用价值。今后将主要关注设备跨网段之间的通信,进一步提高设备的实用性。