一种远端光网络单元设备向网络管理系统自动上报MAC地址的方法
技术领域
本发明属于光纤通信领域,涉及基于千兆以太网的无源光网络(EPON)中的远端光网络单元(ONU)设备向网络管理系统自动上报MAC地址的方法。
背景技术
EPON是以太网应用于宽带接入网中的一种新的拓扑形式。EPON一般由一个位于树根的局端节点光线路终端(OLT)和多个位于树枝的远端节点光网络单元(ONU)组成。OLT与ONU之间通过无源光分配网络(ODN)连接,如图1所示。OLT一般置于服务提供商一侧,将光接入网连接到一个IP、ATM或SONET骨干网。OLT还要提供与网络管理系统(下面简称网管系统)的接口,以便网管系统对EPON进行操作管理和维护。而ONU一般放在用户一侧,可以位于路边(FTTC方式),或终端用户所在地(FTTH和FTTB方式),为用户提供宽带语音,图像和数据业务。
在EPON内分别在两个波长的两个光传输方向分别定义如下:
信号从OLT到ONU为下行方向,为广播方式发送;
信号从ONU到OLT为上行方向,采用时分多址(TDMA)技术。
EPON中所有的信号传输都是在OLT和ONU之间完成。在EPON系统下行方向上,EPON是一个点到多点的广播媒质,由OLT发出的以太网帧通过单拷贝广播的方式到达每一个ONU。ONU只接收目的地是本地的包并交付给用户,将其它的帧丢弃。在上行方向上,多个ONU共享一条上行信道。EPON网络的层次模型与OSI7层参考模型相兼容(如图2示),EPON在体系结构上对802.3也并没有很大的变动。
考虑到PON所特有的点到多点(P2MP)拓扑的以太网,IEEE 802.3ah工作组将IEEE 802.3中定义的MAC控制子层扩展成了多点MAC控制子层。图3为扩展后的多点MAC控制子层的功能图。由图中可以看出,多点MAC控制子层是在原有的以太网MAC控制子层的功能上,增加了光多点(OMP)控制的功能。OMP控制功能主要是依靠多点控制协议(MPCP)来实现的。MPCP的目的就是实现一个可控制的网络配置,如ONU的自动发现和注册,以及通过测距来优化上行带宽利用率等等。
为了完成图3所示的OMP的功能(图中虚框内的功能),在已经定义的MAC控制子层消息(PAUSE帧)外,MPCP协议还引入了5条新的控制消息:GATE、REPORT、REGISTER_REQ、REGISTER,和REGISTER_ACK。MPCP消息是无标记的以太网帧,其长度为最小以太网帧长度(64字节)。
MPCP协议中描述的自动发现和注册过程定义了一个OLT和ONU之间的握手过程。它主要功能是在系统复位或上电之后发现各个ONU,或者在正常工作的过程中发现新加入的ONU;给新发现的ONU分配逻辑链路标识符(LLID);学习新发现的ONU的MAC地址,并将分配给此ONU的LLID与它的MAC地址对应起来;对ONU的环回时间(RTT)进行粗测;对ONU的能力参数进行协商等等。
整个发现和注册过程由OLT发起并驱动,ONU只是被动地响应。在由OLT集中控制的TDMA EPON中,为了避免冲突,所有的ONU只有在接收到了OLT给出的授权后才能发送数据。同时,为了提高上行带宽的利用率,OLT只会给已经注册的在线ONU安排授权。那些掉电或离线的ONU就不应该再占用系统资源。
由于OLT是无法预知新加入的ONU的具体位置,因此不能精确地安排它发送注册请求的时间。为了不影响其他已经注册的ONU的正常工作,OLT必须为新ONU的发现和注册安排特殊的时隙。为此,OLT必须定期或不定期地打开一个发现窗口,给新加入的还没有注册的ONU一个机会。由于在发现窗口内,已经注册的ONU是不能发送数据的,因此发现窗口的频率不能过于密集,否则就会降低上行带宽的利用率。而且发现窗口的长度要能满足最远的ONU也能被发现。例如,当ONU与OLT之间的距离为20km时,其RTT大约为200μs,还要考虑激光器的打开和关闭时间,以及OLT接收机的同步时间,因此,对于最大距离为20km的EPON系统,发现窗口的长度应该在250μs左右。图4为IEEE802.3ah EPON草案中规定的ONU注册过程的流程图。
首先,OLT广播一个发现GATE消息,该消息携带了发现窗口的开始时间和长度。已经注册的ONU接收到广播的发现GATE消息后,将忽略这个消息,并停止发送一切数据。未注册的ONU接收到这个消息后,等待窗口开始。一旦发现窗口开始后,就发送一个REGISTER_REQ消息给OLT。与数据窗口不同的是,在发现窗口内多个ONU可以同时访问OLT,因此可能会发生碰撞,需要采用冲突解决方法。在一个发现窗口内,OLT可以收到多个ONU发送的REGISTER_REQ消息。REGISTER_REQ消息中,包括了ONU的MAC地址、ONU的激光器打开和关闭时间参数、ONU最多能支持的数据授权的个数等等。收到REGISTER_REQ消息之后,OLT就给ONU进行注册,分配新的逻辑端口号(即分配LLID),并将ONU的MAC捆绑到相应的逻辑端口号上。
一旦OLT接受了ONU的注册请求后,就发送一个REGISTER消息给提出注册请求的ONU。在REGISTER消息中包括了分配给这个ONU的LLID,OLT的同步时间,以及OLT所支持的性能。同时,OLT反馈ONU的性能矢量以及激光器开关参数,用于性能参数的协商。现在,OLT有足够的信息来调度ONU的上行发送时隙。于是给ONU发送一个普通数据GATE消息,使其发送一个REGISTER_ACK消息。OLT收到ONU的REGISTER_ACK后,就表明该ONU的发现过程结束,ONU已经被注册,可以开始正常的通信了。
从上面介绍可以看出,目前IEEE 802.3ah制定的MPCP协议主要是针对OLT对ONU的控制,包括ONU的自动发现和注册,带宽分配等等。但是,OLT如何将远端ONU信息,自动上报给网管系统,特别是将第一次开通的ONU设备的特征信息上报给网管系统,却没有有关的规定。
在EPON中,OLT和ONU是主从关系,ONU的注册、报告以及数据的发送都要在OLT的控制下进行。因此在EPON的网管系统中,也应该直观地显示这种数型结构。将ONU作为OLT的下级管理对象。但是OLT和ONU实际不在一个机框内部,二者之间的最大距离可以是10km或20km。因此网管系统不能通过OLT机框内的槽位号来定位ONU。而且,OLT和ONU之间全部采用无源器件相连,例如光纤、光纤连接器以及无源光合路/分路器等。因此在EPON中也无法象传统的有源网络那样,通过端口号来标识或定位ONU。唯一能够标识一个ONU的就是ONU设备的MAC地址。
目前,当用户在申请安装一个ONU时,必须由网络管理人员人工将这个ONU的MAC地址输入到网管系统中,然后再下发命令让OLT允许ONU注册。目前,一个OLT最多可以控制32或64个ONU,未来还可以做到一个OLT控制128个ONU。在一个电信级的设备中,一个机框还可以插入多个OLT线卡。这样一个EPON网管系统所管理的ONU的个数在百个甚至千个数量级上。如果全部需要网络管理人员人工输入ONU的MAC地址才能开通,网络管理人员和工程开通人员的工作量将会非常大,而且不方便。
综上所述,ONU设备需要的这种数据位较长的MAC地址的标示,但在现有的管理系统中还缺乏将这个标示ONU的MAC地址自动的输入到网管系统中的机制。
本发明给出了将所有新开通的ONU的MAC地址自动上报给网管系统的方法,实现更人性化的管理界面。同时此方法还可以用于防止非法(未授权)用户进入到EPON网络中。在这个方法中,OLT自动区分ONU是否是第一次发现的ONU,并将在MPCP注册过程中得到的这个ONU的信息(MAC地址)自动上报给网管系统,等待网管系统的确认。在未得到网管系统给该ONU授权之前,OLT将禁止这个ONU继续连接到EPON系统中,占用网络资源。使用该方法后,可以简化工程开通或网络管理人员的操作,提高工作效率。并且防止非法或恶意用户设备对网络资源进行占用。
发明内容
本发明目的在于提供一种远端光网络单元(ONU)设备向网络管理系统自动上报MAC地址的方法,该方法不需要人工键入,并避免重复上报。
本发明另一个目的是提供一种向网管系统自动上报MAC地址的OLT单盘。
本发明提供的一种远端光网络单元(ONU)设备向网络管理系统自动上报MAC地址的方法,包括步骤:系统初始化时,根据多点控制协议(MPCP)过程得到的ONU MAC地址在OLT中建立未授权ONU MAC地址表,并上报给网管;
网管对OLT单盘上报的未授权ONU进行授权,将未授权的ONU的MAC地址转移到授权ONU序号映射表栏中,建立ONU序号映射表,网管系统将下发序号映射表给光线路终端(OLT);
OLT检测到有ONU注册后,如果没有在本地序号映射表以及未授权ONU MAC地址表中找到与试图注册的ONU的MAC地址匹配的条目,表明这个ONU是第一次发现的ONU,OLT单盘要在本地的未授权ONU MAC地址表中添加这个ONU的MAC地址,然后上报给网管系统;
当网管系统确认要对该ONU授权时,将该ONU的MAC地址添加到已授权序号映射表,下发给OLT单盘;
逐条比较本地保存的序号映射表以及从网管接收到的新的序号映射表,以便发现是否有新被授权的ONU以及曾经授权但现在取消授权的ONU;
如果在相同的序号下,本地保存的序号映射表该序号下MAC地址栏为全0,而接收到的序号映射表中该序号下的MAC地址为有效地址,则表示有新的ONU被授权或者被取消了授权的ONU重新得到授权,OLT单盘将这个MAC地址写入到本地序号映射表中,并且发出命令解除对这个ONU的封锁,如果这个ONU的MAC地址在未授权表中,还要它从未授权表中删除;
如果在OLT单盘的本地序号映射表中,某一个序号下对应有一个有效的MAC地址,但是在新收到的序号映射表中没有这个序号,就表示这个ONU的授权被取消,OLT单盘将本地序号映射表中该序号下的MAC地址栏清零,并且发出命令封锁该ONU的通信,同时还要将这个MAC地址插入到未授权链表中,上报给网管。
本发明提供的一种向网管系统自动上报MAC地址的OLT单盘,包括:未授权表维护模块,系统初始化时,所有ONU的注册信息将直接发往该模块,并负责将ONU的MAC地址记录到未授权地址链表中,通过上报模块上报给网管;
接收和比较模块,当网管下发了序号映射表后,该模块将对比本地的序号映射表与新接收到的序号表,然后判断是否有新授权的ONU以及取消授权的ONU;
序号映射表维护模块,将比较模块的比较结果通知该模块,如果有新授权ONU,该模块将这个ONU的MAC地址存放到本地序号映射表中;
ONU注册管理模块,通知该模块允许这个ONU注册;
未授权表查表模块,同时还要将这个MAC地址传递到该模块,该模块在未授权地址链表中查找,如果查找到有匹配项,就通知未授权表维护模块将这个MAC地址从链表中删除。
本发明实现了远端ONU设备的MAC地址向网管系统的自动上报,不需要人工键入。
如前所述,MPCP协议允许OLT发现有新的ONU加入到网络,但是MPCP过程在OLT的MAC层就终结。目前尚没有任何标准或文献报道OLT如何将ONU的MAC地址传递到网管系统中。本发明中定义了一套OLT和网管系统之间的通信协议。通过该协议OLT可以将ONU的MAC地址上报给网管系统,并且获取网管系统的授权。该协议也支持网络管理人员手动输入ONU的MAC地址,并且授权。
从实用化的角度来看,在一个PON系统中,分路比应该至少为1∶32。即一个OLT单盘最少应该可以连接32个ONU。在一个电信级设备中,以一个机框可以容纳16块OLT单盘,每一个OLT单盘支持32个ONU为例,一套网管系统将要管理512个ONU。如果这些ONU的MAC地址全部需要人工输入,将会是非常巨大的工作量。利用本发明中的方法,在系统初始化的时候(例如开局时),每一块OLT单盘都可以将通过MPCP过程中获得的ONU MAC地址自动上报给网管系统。不需要网管人员或工程开通人员手工输入,节省了大量的手工劳动。
本发明区分第一次发现的ONU设备和已经授权的ONU设备,避免重复上报。
我们将ONU分为三类,一类是OLT第一次发现的ONU,尚等待网管系统授权;第二类就是已经发现过,但一直未得到网管系统授权,或者曾经被授权,但因为某些原因(如欠费等)而不再继续授权的ONU;第三类ONU就是已经获得了网管系统的授权,可以正常通信的ONU。我们统称第一类和第二类ONU为未授权ONU,第三类ONU为已授权ONU。
为了减轻OLT与网管系统之间的通信量,OLT只需要将未授权ONU的MAC地址上报给网管系统。而对于已经授权ONU的MAC地址则不用再此上报。因此OLT单盘必须要记录已经授权的ONU,以便区分未授权ONU和已授权ONU。
本发明禁止非法或恶意用户占用网络资源。
从前面对ONU自动发现和注册过程的描述中可以看出,一旦OLT发现有ONU试图注册,就会自动分配一个或多个LLID给该ONU,然后给这些LLID分配网络资源,如带宽等。这个过程网管系统无法控制。这样就使得EPON网络非常容易受到恶意用户的攻击,也无法防止没有得到授权的用户占用网络资源。虽然可以使用PPPOE或802.1X身份认证来防止上述问题的发生,但是还需要增加额外的身份认证服务器等设备,并且也带来了一定的处理开销。
本发明中提出了一种防止非法或恶意用户占用网络资源的方法,是对PPPOE或802.1x身份认证的有效补充。在本方法中,对于没有得到网管系统授权的ONU,OLT都将会发送去除注册的MPCP消息,使得这些ONU无法继续使用。一旦得到网管授权后,OLT再要求这些ONU重新进行注册。
附图说明
图1是PON系统示意图;
图2是EPON的层次模型;
图3是多点MAC控制功能图;
图4是ONU注册过程图;
图5是OLT单盘与网管系统的总体框图;
图6是网管协议帧结构图;
图7是OLT单盘模块支持MAC地址自动上报的流程图;
图8是网管系统支持ONU MAC地址自动上报的流程图;
图9是OLT单盘中处理序号映射表和未授权ONU MAC地址表的功能模块图。
图10(a)是系统初始化时ONU MAC地址网管界面图;
图10(b)是OLT单盘上报了未授权ONU MAC地址时ONU MAC地址网管界面图;
图10(c)是网管工作人员给ONU授权时ONU MAC地址网管界面图;
图10(d)是网管人员取消了两个ONU的授权时ONU MAC地址网管界面图;
具体实施方式
在本发明中,OLT单盘收集EPON核心芯片所得到的ONU信息,然后通过制定的协议上报给网管系统。并且对未授权的ONU的注册过程进行干预。下面将对本发明进行详细介绍。
图5是OLT单盘与网管系统的总体框图。图中EPON核心芯片执行IEEE802.3ah所规定的MPCP功能。而OLT单盘模块提供网管系统与EPON核心芯片之间的接口。对EPON核心芯片和OLT单盘进行初始化和设备性能统计告警等操作。本方案所提出的ONU MAC地址自动获取并上报网管系统的功能主要在OLT单盘模块中执行。网管系统模块与OLT单盘模块进行通信,通过OLT单盘模块对OLT单盘和整个EPON系统进行管理和维护。
OLT单盘和网管系统之间是通过自定义的帧格式进行通信的,我们称为网管协议帧。帧格式见图6。表1为帧头各参数的意义和取值。
表1 网管协议帧头参数的取值和意义
参数名称 |
字节数 |
参数意义描述 |
槽位号 | |
对于电信级的设备,槽位号从1~N编码,N为一个机框最多可以插入的OLT单盘数量对于1U的设备,由于只有一个单盘,因此槽位号规定为1 |
帧长度 | |
帧长度仅为净荷部分的长度,不包括帧头长度 |
帧类型 | |
1:表示帧是网管下发的命令帧2:表示帧是OLT单盘的响应帧或主动上报帧 |
帧序号 | |
帧的序列号 |
命令标识 | |
帧所携带的命令的名称的编码,例如ONU MAC地址自动上报帧的命令ID为0x50f3下发已授权ONU序号映射表的帧的命令ID为0x50f1 …… |
下发已授权ONU序号映射表的命令帧的净荷格式为见表2;未授权ONU MAC地址自动上报帧净荷的格式见表3:
表2 已授权ONU序号映射表的命令帧净荷格式
参数名称 |
范围 |
注意事项 |
授权的ONU个数 |
1-64 |
本命令帧中所携带的已授权的ONU |
(n) | |
MAC地址的个数 |
序号1 | | |
ONU MAC地址1 |
普通的MAC地址格式 |
序号为1的ONU的MAC地址 |
… |
… |
… |
序号n | | |
ONU MAC地址n |
普通的MAC地址格式 |
序号为n的ONU的MAC地址 |
表3未授权ONU MAC地址自动上报帧净荷的格式
参数名称 |
范围 |
注意事项 |
条目个数(m) |
1-64 |
后面的ONUMAC地址的个数 |
ONU MAC地址1 |
普通的MAC地址格式 | |
… |
… | |
ONU MAC地址m |
普通的MAC地址格式 | |
OLT单盘为了收集未授权ONU的MAC,同时记录已授权ONU的MAC地址,特定义了两张表格。表2记录已被网管系统授权的ONU的MAC地址和序号映射表,简称已授权ONU序号映射表。凡是在该表中的ONU,都可以正常使用EPON网络。
表4已授权ONU的序号映射表(已授权表)
已授权ONU序号 |
已授权ONU MAC地址 |
1 |
MAC1 |
2 |
MAC2 |
|
|
为了减少OLT单盘和网管系统通信的开销,在网管系统与OLT单盘之间通信时,都是使用2个字节的ONU序号来指明ONU,而不是使用6字节的MAC地址。网管系统将会为每一个得到授权的ONU分配一个序号。网管系统负责建立EPON中所有已授权的ONU的序号和MAC地址的对应关系,并使用下发已授权ONU序号映射表的协议帧将这个对应关系告知OLT单盘。每当有新的ONU被授权或者有ONU被取消授权资格时,网管系统都将下发一次序号映射表给OLT单盘。OLT单盘在本地保存这张表。
网管人员可以在网管界面上人工配置已授权ONU序号映射表,即键入ONU的MAC地址,并分配相应序号,然后下发给OLT单盘。但是这样非常不灵活。为了减轻网管工作人员以及网络开通人员的工作量,本文提出了一个方案,支持OLT单盘将新发现又没有得到授权的ONU的MAC地址自动上报给网管系统。因此,本文又另外定义了一个未授权ONU的MAC地址表(在本文的以下部分简称为未授权表),见表3。该表由OLT单盘建立,每当该表有更新的时候,OLT单盘将主动上传该表,网管系统也可以定期或不定期的在需要的时候向OLT单盘提取。
图7为OLT单盘支持ONU MAC地址自动上报的状态转移图。当单盘OLT模块检测到有ONU注册后(将会收到EPON核心芯片上报的ONU发现消息),将会进行以下操作:
①首先查找已授权ONU的序号映射表,检查该ONU的MAC地址是否在表中有匹配项。如果有匹配项,则表明该ONU是已经得到授权的ONU,这个ONU可以正常使用网络资源。在系统初始化(如开局时),序号映射表一般为空(并不排除人工预先将系统中所有ONU的MAC地址输入到序号映射表的情况,但不必如此),因此查找序号映射表的过程可以省略。
②如果序号映射表为空或者没有在映射表中找到匹配项,则表示该ONU是未得到网管系统授权的。OLT单盘模块就要继续查找未授权ONU MAC地址表。如果在未授权ONUMAC地址表中找到了匹配项,表示这个ONU是属于第二类的ONU,即以前曾经发现过,但是一直没有得到网管系统授权(或曾经被授权,但现在取消了授权)。单盘模块将继续阻止该ONU注册,但是不修改未授权ONU MAC地址表。
③如果未授权ONU MAC地址表为空(如系统初始化时)或者没有在未授权ONU MAC地址表中找到与试图注册的ONU的MAC地址匹配的条目,表明这个ONU是第一次发现的ONU。那么OLT单盘要阻止这个ONU的注册,禁止该ONU使用网络资源。并且在本地的未授权ONU MAC地址表中添加这个ONU的MAC地址,然后上报给网管系统。
④在网管界面上有未授权ONU MAC地址表栏和已授权ONU的序号和MAC地址映射表栏(参见图10)。当网管接收到OLT单盘上报的未授权ONU MAC地址表后,将在网管界面上的未授权ONU表栏中显示所有未授权ONU的MAC地址。包括新发现的未授权ONU,以及曾经被授权,但现在取消了授权的ONU。网管人员或工程开通人员的任务就是决定是否对这些ONU授权。如果要对某一个ONU授权,只需要将该ONU从未授权表栏转移到序号映射表栏中即可。而不需要人工在序号映射表中键入ONU的MAC地址。当网管修改了已授权ONU序号映射表后,就会将新的序号映射表下发给OLT单盘软件。在刚刚开局的时候,系统中不存在映射表,所有的ONU都是未授权的。系统中所有的ONU都将进行本文第2节中所述的注册和发现过程,因此OLT单盘可以获取所有的ONU的MAC地址,并且上报给网管系统。网管人员或者工程开通人员可以在未授权表栏中看到系统中所有ONU的MAC地址,并将这些MAC地址添加到映射表中,并下发给OLT单盘,系统就可以开通。整个过程都不需要网管人员或工程开通人员手工输入任何ONU的MAC地址。关于网管的处理流程见图8。
当OLT单盘接收到网管系统下发的已授权ONU序号映射表后,将执行以下操作:
①要逐条比较软件本地保存的序号映射表以及从网管接收到的新的序号映射表。以便发现是否有新被授权的ONU以及曾经授权但现在取消授权的ONU。由于网管系统每次下发已授权ONU序号映射表时,都会将所有的已经授权的ONU的MAC地址和序号重新下发一遍,而没有授权的或者不再继续授权的ONU就不再下发。例如:
第一次下发:
序号 MAC地址
1 ONU1 MAC
2 ONU2 MAC
3 ONU3 MAC
表示现在授权了ONU1,ONU2和ONU3。
第二次下发:
序号 MAC地址
1 ONU1 MAC
3 ONU3 MAC
4 ONU4 MAC
表示除了ONU1和ONU3外又新授权了ONU4,而ONU2不再继续授权。
②如果在相同的序号下,本地保存的序号映射表该序号下MAC地址栏为全0,而接收到的的序号映射表中该序号下的MAC地址为有效地址,则表示有新的ONU被授权或者被取消了授权的ONU重新得到授权(如上例中的ONU4)。则OLT单盘将这个MAC地址写入到本地序号映射表中。并且软件发出命令解除对这个ONU的封锁。如果这个ONU的MAC地址在未受权表中,还要它从未授权表中删除。
③如果在OLT单盘的本地序号映射表中,某一个序号下对应有一个有效的MAC地址,但是在新收到的序号映射表中没有这个序号,就表示这个ONU的授权被取消(如上例中的ONU2)。OLT单盘将本地序号映射表中该序号下的MAC地址栏清零,并且发出命令封锁该ONU的通信。同时还要将这个MAC地址插入到未授权链表中,上报给网管。
④如果在相同的序号下,OLT单盘本地保存的序号映射表中所记录的MAC地址和新收到的序号映射表中该序号下记录的MAC地址相同(例如上例中的ONU1和ONU3),则OLT单盘不作任何操作。
下面将以实际使用的烽火通信公司EPON产品网管系统为例,介绍网管系统自动获取EPON中远端ONU设备的MAC地址的方法。
在OLT单盘上主要定义的数据结构就是已授权ONU序号映射表和未授权ONU MAC地址表。
①已授权ONU序号映射表数据结构的定义
考虑到一个OLT能够支持的ONU的个数是有限的,目前最多为64个。也就是说在满配的情况下,一个OLT单盘下所能连接的已经授权的ONU的个数不会超过64个。为了简化操作,我们将OLT单盘上的已授权ONU的序号映射表定义为一个二维数组结构,数组名称为mapTable:
unsigned char mapTable[N][8];
该数组的第一维表示一个OLT单盘下的ONU的序号;第二维的8个字节记录与序号对应的ONU的MAC地址(6字节的MAC地址加上2字节的保留)。即该数组有N行,行号就是ONU的序号。而每一行的内容就是与该序号对应的ONU的MAC地址。如果某一个序号i没有分配,或者序号为i的ONU不再被授权,则第i行的内容为全零。
在系统初始化的时候将这个数组的所有元素全部清零,表示系统中还没有ONU被授权。当OLT单盘接收到网管系统下发的已授权ONU序号映射表时,根据ONU序号,将对应的MAC地址存放到mapTable数组相应的单元中。如果某一个序号没有分配给ONU或者某一个序号所对应的ONU被取消了授权,数组中对应的条目为0。
②未授权ONU MAC地址表的数据结构定义
由于未授权的ONU MAC地址表要经常进行加入和删除操作。即当OLT单盘发现了一个新的未授权ONU时,要将它的MAC地址加入到未授权ONU MAC地址表中,然后即时上报给网管系统,或者等待网管系统的查询。当有ONU被授权时,OLT单盘还要将这个ONU的MAC地址从未授权表中删除。因此,我们定义了一个链表结构来表示未授权ONU的MAC地址表,以方便插入和删除操作。该链表名称为unAuthenMacT,定义如下:
typedef struct unAuthenMacT
{
unsigned char unAuthenMac[8];/*未授权ONU地址*/
struct unAuthenMacTable*next;/*指向下一个节点的指针*/
}UNAUTHENMACTABLE;
UNAUTHENMACTABLE*unAuMacTableH;
该链表的每一个节点都是一个结构体,包含了未授权的ONU的MAC地址以及指向下一个节点的指针。该链表具有一个头指针:*unAuMacTableH。每当有一个新的节点要插入时,全部插入到链表头。
③功能块的定义
图9为OLT单盘中处理序号映射表和未授权ONU MAC地址表的功能块的定义和关系图。
整个功能可以分为两大块:序号映射表处理功能块和未授权表处理功能块。
序号映射表处理功能块包括:接收&比较模块,序号映射表维护模块,查表模块,以及ONU注册管理模块。
未授权表处理功能块包括:查表模块和未授权ONU MAC地址表维护模块。
两个功能块公用上报模块。
序号映射表处理功能块中的接收和比较模块控制一个二选一模块。当接收和比较模块从未接收到网管下发的序号映射表(如系统初始化时),所有ONU的注册信息将直接发往未授权表维护模块。后者负责将ONU的MAC地址记录到unAuthenMacT链表中。并且通过上报模块上报给网管。
当网管下发了序号映射表后,接收和比较模块将对比本地的mapTable与新接收到的序号表,然后判断是否有新授权的ONU以及取消授权的ONU。并且将比较结果告知序号映射表维护模块。如果有新授权ONU,序号映射表维护模块将这个ONU的MAC地址存放到本地mapTable中,并通知ONU注册管理模块允许这个ONU注册。同时还要将这个MAC地址传递到未授权表查表模块,后者将在unAuthenMacT链表中查找,如果查找到有匹配项,就通知未授权表维护模块将这个MAC地址从链表中删除。如果是有ONU被取消授权,则序号映射表维护模块要将mapTable数组中相应条目的MAC地址清零。并通知ONU注册管理模块阻止这个ONU继续使用网络资源。还要通知未授权表维护模块将这个MAC地址添加到unAuthenMacT链表中。
在接收到网管下发的序号映射表后,接收和比较模块会设置一个标志。此后,如果再有ONU注册,注册信息不再直接发送到未授权表维护模块,而是发送到序号映射表查表模块。该模块负责检查企图注册的ONU是否是已经授权的ONU,即mapTable数组中是否有匹配项。如果有,则通知ONU注册管理模块,允许该ONU继续注册。如果没有匹配项,则通知ONU注册管理模块阻止ONU注册,同时还要将MAC地址传递给未授权表查表模块,查找是否在未授权表中,如果是以前从未记录过的ONU,则未授权表维护模块还要将这个ONU的MAC地址记录到unAuthenMacT链表中。
图10为实际使用的EPON网管界面。如前所述,网管界面上有未授权ONU MAC地址栏和已授权ONU序号映射表栏。在序号映射表中除了ONU序号和对应的MAC地址外,还增加了一个是否授权选项。
在界面上还分别设置了获取键和下发键。网管人员或工程开通人员可以人工在MAC地址栏中键入ONU的MAC地址,并在是否授权选项中打勾,表示给该ONU授权,然后点击下发键,将授权的MAC地址表下发给OLT单盘。也可以发出命令(点击获取键),要求OLT单盘上报未授权的ONU的MAC地址和序号映射表。
在系统初始化时,未授权表栏和已授权表栏都为空,见图10(a)。当网管人员点击获取键后,OLT单盘将系统中所有发现到的ONU的地址都上报给网管,并在未授权表栏中显示,见图10(b)。如果网管人员确认要给所有的ONU授权,则将所有ONU都转移到授权表栏,并点击下发键下发给OLT单盘,见图10(c)。图10(d)为网管人员取消了序号为10和11的ONU的授权,下发给OLT单盘后,再点击获取键,这两个ONU的MAC地址又会在未授权表中显示。
本发明中给出的方案,使得EPON的网管系统可以自动的从OLT单盘获得ONU的MAC地址,并在网管界面上显示给网管人员。从而简便了网管人员或工程开通人员操作的复杂度,使得网管界面更加的人性化。尤其在同时开通多部ONU时具有非常明显的实用价值。同时,利用此方法还可以将ONU分为授权和非授权两大类,禁止非授权的ONU注册,因此可以用于防止非法(未授权)用户进入到EPON网络中,使得非法用户被阻止在到EPON网络ODN中,进入不了EPON的带宽集中交换或者上联的交换,减轻PPPOE服务器的负担,是对IEEE802.1X和PPPOE等身份认证的有益补充。