本文要害字:宽带接入千兆以太网TDMAIEEE802.3PON路由器P2P
以太网无源光网络(EPON)是点到多点的网络拓扑与以太网技术的结合。
因而可以被看作是点到多点LAN。在上行方向(ONU到OLT),EPON是多点到点网络,在下行方向(OLT到ONU),EPON是一个广播网络。而且,EPON中OLT和ONU之间是不对等的,它们属于主从关系。
然而到目前为止,IEEE802.3标准中只定义了两种LAN:点到点(P2P)LAN和共享LAN。这两种LAN有一个共同的特点,那就是LAN中任何节点所发出的帧都可以到达同一个LAN中所有其它的节点。现有的路由器和基于IEEE802.1D标准的网桥,都只知道P2PLAN和共享LAN,它们并不知道P2MPLAN。而且,P2MP模式的EPON与生成树协议(STP)并不兼容。若在P2MPLAN上运行STP会导致数据帧的多拷贝转发或某些节点无法接收数据帧。
考虑到基于IEEE802.1D标准的路由器和网桥正被大量使用,EPON要能被广泛接受并得以应用,就必须要与现有的路由器和网桥等设备兼容。因此EPON必须具有仿真成标准的P2PLAN或共享LAN的能力。本文给出了EPON设备的设计方案,该方案在OLT和ONU中分别增加了反射和过滤功能,以实现P2PLAN仿真(P2PE)和共享LAN仿真(SE)。
P2PE和SE
所谓P2PE,就是仿真EPON外部的某个节点与EPON内部的某个ONU之间的点到点通信;或者是EPON内部的某两个ONU之间的点到点通信。所谓SE就是仿真EPON内部的ONU之间的多播或广播。
从上面对P2PE和SE的定义来看,要在EPON中实现P2PE和SE,必须解决以下三个问题:
首先,EPON下行方向是广播发送,非常适合于单拷贝广播(SCB),但是却不能进行点到点的通信。为了在OLT和ONU之间提供P2PE业务,就必须在OLT和ONU之间建立一个虚拟的P2P链路,即逻辑链路,并由LLID来标识。
第二,由于各个ONU之间没有直接的物理连接,ONU之间的通信要通过OLT进行中转,因此OLT必须具备将来自某一个ONU的帧反射到除了源ONU外的其它ONU的能力。
第三,为了能够最大限度地利用EPON下行信道的广播特性,实现单拷贝广播,除了为每一个点到点的逻辑链路指定一个LLID外,EPON中还要定义一个通用的广播LLID。此外,通用的广播LLID还可以用来区分是EPON内部ONU发送的广播帧,还是EPON外部节点发送的广播帧。EPON外部节点所发送的广播帧,可以被EPON内部所有的ONU接收,这种广播帧可以用通用广播LLID来标识;而对于EPON内部ONU所发出的广播帧,由于它不能被源ONU所接收,因而,这种反射帧不能使用通用广播LLID来标识,而必须使用源ONU的LLID,还要另定义一个模式比特(MB),来表示反射帧是单播还是广播。
P2PE和SE的系统方案
我们提出了一套EPON设备(OLT和ONU)的设计方案,见图1。需要说明的是,为了能突出本文的重点,我们在图1中省略了EPON系统的其他功能,如时分多址接入(TDMA)、带宽分配、ONU的测距等。
点击查看大图图1的(a)和(b)中,EPONPHY模块为OLT和ONU提供符合IEEE802.3ah草案1.3的1000BASE-PX光接口。帧接收(FR)模块和帧发送(FT)模块完成与标准的全双工千兆以太网MAC相同的功能。简单地说,FR去除接收到的帧的前导码,完成CRC校验,然后将帧传送给解析/复用模块;FT在要发送的帧中加上前导码和CRC,然后送交给PHY发送。解析模块负责对接收到的帧的类型进行解析,然后送往不同的电路。复用模块按照一定的顺序,调度不同类型的帧进行发送。网络侧接口和用户侧接口都可以看作是普通的以太网二层或三层交换平台。OLT的网络侧接口为OLT提供1000BASE-X或1000BASE-T的上联接口。ONU的用户侧接口可以提供若干个10/100M的以太网接口。
上述若干模块的功能都是在OLT和ONU之间传输以太网包所必须的功能,我们称之为基本功能模块。而OLT中的发现模块、地址学习与反射模块、反射数据帧缓存以及ONU中的请求注册模块、帧过滤功能模块则是完成ONU的注册、LLID的分配以及反射功能的要害模块。
1)发现模块和注册模块
发现模块和注册模块的主要功能就是完成ONU的注册和LLID的分配。EPON上行由多个ONU以TDMA方式共享。为了避免上行数据发生冲突,并提高效率,ONU的上行发送是在OLT的控制下进行的。OLT要将所有在线的ONU都登记在册,并根据一定的带宽分配算法,为每一个在线的ONU分配发送窗口。没有获得授权的ONU不能发送任何数据。因此,新连接到网络中的ONU,必须首先完成发现和注册过程,该过程同时也是建立逻辑链路和分配LLID的过程。一旦逻辑链路建立后,ONU就能在OLT为它指定的时间内享用上行带宽资源。在发现和注册过程中使用到了四个MPCP消息:GATE、REGISTER_REQ、REGISTER、REGISTER_ACK。
OLT中的发现模块将要定期或不定期地开发现窗,即广播发现GATE消息,为刚上线还没有注册的ONU提供注册的机会。当一个未注册的ONU接收到了发现GATE消息后,其注册模块就在发现窗时间内向OLT反馈一个REGISTER_REQ消息。在一个发现窗内,所有未注册的ONU都可以向OLT提出注册请求,这就有可能产生碰撞。因此,为了降低碰撞的概率,缩短注册成功的时间,ONU的注册模块在发送REGISTER_REQ消息之前都要随机延迟一段时间。
在发出了发现GATE后,OLT的发现模块可能会成功地接收到多个ONU的REGISTER_REQ消息。它将按照先来先服务的顺序处理这些消息。一旦OLT接受了某一个ONU的注册请求后,其发现模块就会为它分配一个LLID,并通过REGISTER消息将这个LLID传递给该ONU。ONU中的注册模块接收到这个LLID后,就将它存放到LLID寄存器中。至此,这个ONU与OLT之间的逻辑链路就已经建立成功。注册模块将在这个逻辑链路上向OLT发送REGISTER_ACK消息。OLT的发现模块接收到这个确认消息后,就表示这个ONU的注册过程已经完成。OLT就会在今后的时间内为这个ONU安排上行发送授权。
2)OLT中的地址学习与反射(AL&R)模块
AL&R模块只存在于OLT中,它主要完成三个功能:MAC地址和LLID的学习、反射帧检查、为将要发送的下行帧查找LLID。
a)MAC地址和LLID的学习
学习的目的是为了实现上行帧的反射功能,因此AL&R模块只学习来自ONU的上行帧的源地址(SA)和LLID,而不学习下行帧。学习的结果存放在一个地址表中。该地址表包括两栏:MAC地址栏和LLID栏,作用是将MAC地址与LLID值对应起来。由于一个ONU可以连接多个用户设备,因此MAC地址与LLID之间不是一一对应的,而是多个MAC地址对应一个LLID。
b)反射帧检查
AL&R模块的另一个功能是从接收到的上行数据帧中找出需要反射的帧,然后通知解析模块将该帧存放到反射数据帧缓存中,以便实现ONU之间的通信。为此,AL&R模块要检查接收到的上行帧的目的地址(DA)。假如DA是单播且能够在地址表中找到,说明该帧的目的设备是EPON内部用户。那么这个帧将要被反射回EPON,AL&R模块就通知解析模块将该帧存放到反射数据帧缓存中。假如DA是广播,那么这个帧即要送到上行数据帧缓存中,又要送到反射数据帧缓存中。
c)为将要发送的下行帧查找LLID
下行方向的帧有两种,分别存放在下行数据帧缓存和反射数据帧缓存中。下行数据帧缓存中的帧是来自EPON外部节点的帧,而反射数据帧缓存中的帧是将要被反射的上行帧。AL&R模块对这两种类型的帧的处理是不一样的,如图2所示。对于来自下行数据帧缓存中的帧,假如是单播帧,AL&R模块将其DA作为索引在地址表中查找对应的LLID。假如DA在地址表中,就将对应的LLID值插入到帧的前导码中,模式比特设置为单播。假如DA不在地址表中,或者这个帧是一个广播帧,那么就使用一个通用的广播LLID值,模式比特设置为广播。对于来自反射数据帧缓存中的帧,假如是单播帧,则方法同上;假如是广播帧,则要根据SA地址来查找LLID,且模式比特设置为广播。
3)ONU中的帧过滤模块
如前所述,由OLT发出的下行帧可以到达所有的ONU。因此ONU要将不属于自己的包过滤掉,具体方法如图3所示。当有一个新的下行帧到达时,帧过滤模块要检查前导码中的LLID和模式比特。假如该帧是单播帧,且LLID与ONU的LLID相匹配,就接收这个帧,否则就丢弃这个帧;假如该帧是广播帧,且LLID为通用的广播LLID或者是其它ONU的单播LLID,就接收这个帧;假如该帧是广播帧,但是LLID等于本ONU的LLID,就说明这个帧原本是本ONU发出的广播帧,因此ONU就要丢弃这个帧。
本文介绍的这种在EPON中实现反射和过滤技术的设计方案不仅使EPON具有了与现有路由器和网桥等设备互通的能力,同时又能最大限度地利用EPON的下行广播能力。
杨柳:华中科技大学电子与信息工程系博士研究生,主要研究方向为宽带接入网。
作者:杨柳,华中科技大学 毛谦,武汉邮电科学研究院