专利名称:基于定时器的动态带宽分配能力发现和参数配置方法
技术领域:
本发明涉及光纤接入领域,尤其涉及一种用于以太网无源光网络系统的动态带宽分配能力发现和参数配置方法。
背景技术:
随着因特网的迅速发展和IPTV等新业务、新应用对接入带宽提出了更高的要求,光纤接入成为宽带接入网发展的必然方向。从技术的成熟度和运营成本考虑,以太网无源光网络(EPON)是光纤接入的最主要实现手段,也是最具发展潜力的接入技术。
由于EPON系统采用带宽共享的点到多点的拓扑结构,每个光线路终端(OLT)通过光分配网络(ODN)连接多个光网络单元(ONU),以进行下行广播发送,在从光网络单元到光线路终端的上行链路上采用时分多址接入(TDMA)的方式,用多点控制协议(MPCP)协议来协调数据有效的发送和接收,保证系统运行过程中上行方向在任意时刻只允许一个ONU发送业务。
在MPCP协议中主要定义了5个多点协议的协议数据单元(MPCPDU),其中用来报告上行队列的状态从而使光线路终端能够进行动态带宽分配的主要是PEPORT这个协议数据单元。在MPCP协议中定义了2个模块用于实现上行方向的动态带宽分配(DBA),即报告处理和选通处理。ONU利用REPORT帧向OLT汇报其上行队列的状态,进而在上行方向向OLT发送带宽请求。OLT根据与该ONU签署的服务等级协议(SLA)和该ONU的带宽请求,利用特定的算法计算给该ONU发布的上行带宽授权(Grant),以动态控制每个ONU的上行带宽。该特定的算法是现有技术中已知的算法。
目前,在IEEE 802.3ah标准中规定,ONU发送的REPORT报文帧中可以设置多个队列集(Queue Set),在每个队列集中包含对应于该队列集的所有队列的长度信息。设置队列集的主要目的是希望为OLT中的DBA服务器提供更详细的ONU队列中的以太网帧构成信息,以为OLT中DBA的计算提供更高的精度和效率。但是,802.3ah并没有给出队列集的确切定义,对于在多个队列集情况下各队列报告的填充内容也没有明确,所以目前各芯片厂商有不同的实现方式,进而导致EPON设备无法互通,轻者导致通信效率降低,重者导致业务无法互通。
为了实现多厂商ONU和OLT的互通性,必须对REPORT帧格式和各字段的填充内容进行详细的统一规定。此外,为了对ONU的DBA汇报能力进行发现和实现ONU的REPORT帧中DBA参数的可配置,必须有一个机制实现DBA能力发现和参数配置。
因此,现有技术中急迫地需要一种既能够实现以太网无源光网络中的动态带宽分配,又能够解决多厂商ONU和OLT的互通性问题的技术。
发明内容
本发明的目的之一是提供一种既能够实现以太网无源光网络中的动态带宽分配,又能够解决多厂商ONU和OLT的互通性问题的技术。
为了实现多厂商ONU和OLT的互通性,必须对REPORT帧格式和各字段的填充内容进行统一规定,而且必须有一个机制能够对ONU的DBA汇报能力进行发现和对该能力进行配置,并且使该机制对如何填充REPORT帧的内容和各字段进行规范,从而使不同厂商的ONU和OLT能够共同利用这种规范来填充REPORT帧格式,为OLT进行动态带宽分配提供一个共同的基础,使得在不同ONU和OLT能够互通的前提下解决动态带宽分配问题。
本发明的解决方案之一是一种动态带宽能力发现和参数配置方法,包括
在特定机构扩展的操作、管理和维护消息中,放置光网络单元支持的队列集数量和队列集中的每个队列长度的阈值,用于在光线路终端和光网络单元之间进行DBA参数的传递、设置;光网络单元按照设置好的队列集数量和队列集中的每个队列长度的阈值,在多点控制协议的REPORT帧中放置表示队列长度的队列集字段和队列集数量;光网络单元将该带有队列集字段和队列集数量的REPORT帧汇报到光线路终端,光线路终端根据上行队列集数量和每个队列长度给为光网络单元分配的上行带宽授权。
其中特定于机构的扩展的操作、管理和维护消息包括如下四种消息动态带宽分配参数请求消息;动态带宽分配参数响应消息、动态带宽分配参数设置请求消息、动态带宽分配参数设置确认消息。
其中所述四种消息的有效负荷域具有机构唯一标识符、标识扩展操作类型的扩展操作码、标识具体的动态带宽分配参数操作类型的动态带宽分配操作码和数据/填充字段的统一结构,数据/填充字段用于描述具体动态带宽分配参数。
其中所述四种消息的具体格式分别为所述动态带宽分配参数请求消息包括机构唯一标识符、标识扩展操作类型的扩展操作码、标识具体的动态带宽分配参数操作类型的动态带宽分配操作码、填充字节;所述动态带宽分配参数响应消息包括机构唯一标识符、标识扩展操作类型的扩展操作码、标识具体的动态带宽分配参数操作类型的动态带宽分配操作码、用于描述光网络单元发送的REPORT帧中队列集数量的队列集数量字段、用于指示REPORT帧的队列集字段中包含哪些队列的报告位图字段、用于指示REPORT帧的队列集字段中包含的各队列的阈值的队列阈值字段、填充字节;所述动态带宽分配参数设置请求消息包括机构唯一标识符、标识扩展操作类型的扩展操作码、标识具体的动态带宽分配参数操作类型的动态带宽分配操作码、用于对光网络单元发送的REPORT帧中的队列集数量进行设置的队列集数量字段、用于对REPORT帧的队列集字段中包含哪些队列进行设置的报告位图字段、用于对REPORT帧的队列集字段中包含的各队列的阈值进行设置的各队列阈值字段、填充字节;所述动态带宽分配参数设置确认消息包括机构唯一标识符、标识扩展操作类型的扩展操作码、标识具体的动态带宽分配参数操作类型的动态带宽分配操作码、表示动态带宽分配参数设置是否成功的设置确认字段、用于确认对光网络单元发送的REPORT帧中的队列集的数量的设置的队列集数量字段、用于确认对REPORT帧的队列集字段中包含哪些队列进行设置的报告位图字进行设置的队列阈值字段、填充字节。
其中光网络单元按照设置好的队列集数量和队列集中的每个队列长度的阈值在多点控制协议的REPORT帧中放置队列集数量和表示队列长度的队列集字段的过程如下在REPORT帧中放置设置好的队列集数量-1组的以下内容报告位图、队列#0报告、队列#1报告......队列#n报告...队列#m报告重复,其中n<m,n和m为自然数,队列#n报告表示队列n在REPORT帧产生时刻在低于该队列所对应的长度阈值的条件下该队列的完整以太网帧的总长度及其所需的帧间隔和前向纠错开销,该REPORT帧的最后一个队列集用于填写所有队列的全部长度。
其中队列#n报告的队列长度值采用累计方式。
其中多个队列集中的队列#n报告的队列长度值采取增量方式对于特定的队列#n,REPORT帧中的第一个队列集中的队列#n报告的队列长度值最小,随着队列集序号的增加,队列#n报告的队列长度值越来越大。
本发明还提供了一种光网络单元,具有下述功能模块传递和接受在特定机构扩展的操作、管理和维护消息中对光网络单元支持的队列集数量和队列集中的每个队列长度的阈值的设置的模块;向光线路终端发送按照设置好的队列集数量和队列集中的每个队列长度的阈值而放置了表示队列长度的队列集字段和队列集数量的REPORT帧的模块;接收光线路终端对为光网络单元分配的上行带宽的授权的模块。
本发明还提供了一种光线路终端,具有如下功能模块采用特定机构扩展的操作、管理和维护消息请求和设置光网络单元支持的队列集数量和队列集中的每个队列的阈值的模块;从光网络单元接收按照设置好的队列集数量和队列集中的每个队列长度阈值而放置了表示队列长度的队列集数量和队列集字段的REPORT帧的模块;根据上行队列集数量和每个队列长度对为光网络单元分配的上行带宽进行授权的模块。
由于本发明在特定机构扩展的操作、管理和维护消息中,放置光网络单元支持的队列集数量和队列集中的每个队列长度的阈值,这样就有了一个机制,能够对ONU的DBA汇报能力进行发现和对该能力进行配置,也能够利用该机制对如何填充REPORT帧的内容和各字段进行规范,然后光网络单元按照设置好的队列集数量和队列集中的每个队列长度的阈值,在多点控制协议的REPORT帧中放置队列集数量和表示队列长度的队列集字段。利用这种统一的机制,光线路终端就能够统一地获得上行队列的状态,从而据此给为光网络单元分配的上行带宽授权,从而既实现了以太网无源光网络中的动态带宽分配,又利用这种统一的机制解决了多厂商ONU和OLT的互通性问题。
图1是本发明中采用的REPORT帧格式的示意图。
图2是本发明中采用的get_DBA_request 操作、管理和维护协议数据单元的帧格式图。
图3是本发明中采用的get_DBA_response操作、管理和维护协议数据单元的帧格式图。
图4是本发明中采用的set_DBA_request操作、管理和维护协议数据单元的帧格式图。
图5是本发明中采用的set_DBA_response操作、管理和维护协议数据单元的帧格式图。
图6是动态带宽分配参数管理的流程图,包括ONU的DBA参数的通告和ONU的DBA参数的配置的流程。
图7是根据本发明的光网络单元的模块组成图。
图8是根据本发明的光线路终端的模块组成图。
具体实施例方式
本发明提供了一种动态带宽能力发现和参数配置方法,包括(一)在特定机构扩展的操作、管理和维护消息中,放置光网络单元支持的队列集数量和队列集中的每个队列长度的阈值,用于在光线路终端和光网络单元之间进行传递、设置。
在EPON的国际标准IEEE802.3ah中,规定了一种操作、管理和维护(OAM)功能,用于实现链路监控和环回功能。同时,该标准定义了一种特定机构扩展(Orgnization-Specific Extension)机制,以便于各厂商和运营商定义更多的OAM功能。特定机构扩展OAM功能是通过特定机构扩展的OAM协议数据单元实现的。本发明定义了特定机构扩展的OAM协议数据单元,以进行ONU的DBA能力发现和DBA参数远程管理。
DBA的管理属性包括ONU的REPORT帧支持的队列集数量和每个队列集中的队列所对应的阈值。DBA协商的OAM扩展主要涉及对ONU所要支持的队列集的数量及其各队列的阈值进行操作(读取和设置)。
在ONU的DBA参数配置过程中,OLT应工作在主动(Active)模式,ONU工作在被动(Passive)模式。OLT通过get_DBA_request消息和set_DBA_request消息对ONU的DBA参数进行读取和设置操作,ONU通过get_DBA_response消息和set_DBA_response消息对OLT的读取和设置操作请求做出应答。(下面会具体地介绍get_DBA_request消息和set_DBA_request消息、get_DBA_response消息和set_DBA_response消息的具体的帧格式)。
如图6所述,OLT向ONU发送get_DBA_request消息,当ONU接收到get_DBA_request消息后,应向OLT发送get_DBA_response消息,该消息中包含其当前DBA参数值,DBA参数值包括设置好的光网络单元支持的队列集数量和队列集中的每个队列长度的阈值。
当OLT需要向ONU设置动态带宽分配参数时,向ONU发送set_DBA_request消息。当ONU接收到set_DBA_request后,应按照set_DBA_request消息所定义的DBA参数设置本地的DBA参数,并发送set_DBA_response消息,以确认其是否已完成此次DBA参数设置。
这样,通过在特定机构扩展的操作、管理和维护消息中放置动态带宽分配参数,尤其是光网络单元支持的队列集数量和队列集中的每个队列长度的阈值,就完成了对ONU的DBA汇报能力的发现,并为以后配置REPORT帧中的DBA参数奠定了基础。
本发明定义用于DBA参数管理的特定机构扩展的OAM协议数据单元的有效负荷(Payload)部分由机构唯一标识符(OUI)、标识扩展操作类型的扩展操作码、标识具体的动态带宽分配参数操作类型的动态带宽分配操作码和数据/填充等字段组成,数据/填充字段用于描述具体动态带宽分配参数,该有效负荷的具体格式如下表1所示●OUI为标准的IEEE分配的OUI,其值与EPON设备的提供商或者运营商有关。
●长度为1个字节的扩展操作码(Ext.Opcode)的值为“Ox0A”(当然也可以采用其他值)。
●长度为一个字节的DBA操作码域进一步标识ONU的DBA参数配置功能所需要的消息类型。
●数据/填充字段的长度不定,用于填充与操作相关的数据或者用于填充。
表1用于DBA的Orgnization-Specific Extension OAM消息中payload部分的格式表1的DBA码部分具体采用0x00-0x03中的哪一种,可参照如下的表2进行规定
表2 Orgnization-Specific Extension OAM消息中DBA Code域的值及其对应的消息类型即0x00表示get_DBA_request,0x01表示get_DBA_response,0x10表示set_DBA_request,0x11表示set_DBA_response。
应当理解,以上仅是一种示例。比如不一定要用0x00-0x03来表示DBA操作码,上面讨论的特定机构扩展的操作、管理和维护消息中设置为4种,但也可能不是4种,只要在特定机构扩展的操作、管理和维护消息中能够放置光网络单元支持的队列集数量和队列集中的每个队列长度的阈值就可以。因此,当有多于4种或小于4种的特定于机构的扩展的操作、管理和维护消息被定义时,就用不同种的DBA操作码来区分就可以了。
下面对所述4种用于ONU的DBA参数配置的特定机构扩展的操作、管理和维护(OAM)消息的格式进行定义。其中,DBA参数请求帧和DBA参数响应帧实现ONU的DBA能力的发现和参数查询。DBA参数设置请求帧和DBA参数设置确认帧实现对ONU的DBA参数的配置管理。
该四种消息的具体定义如下1)DBA参数请求帧(get_DBA_request)OLT利用DBA参数请求帧指示ONU汇报其当前的DBA参数(REPORT帧中的Queue Set数量和每个队列的阈值)。DBA参数请求OAMPDU的结构如图2所示,其中有些字段是与本发明无关的通用的一些字段,因此,在下面主要介绍与本发明有关的一些字段a)机构唯一标识符(OUI)3字节,包含24比特结构唯一标识符,具体的OUI值待定;b)扩展操作码(Ext.Opcode)1字节,用于标识扩展的操作类型,对于用于DBA参数配置的扩展的OAMPDU,其值为“0x0A”;c)DBA操作码1字节,用于标识具体的DBA参数操作类型,对于get_DBA_request消息,其值为“0x00”;d)填充字节(PAD)0~30个字节,用于填充该OAM帧中的剩余字段使该OAM帧的总长度达到64字节,填充内容为“0x00”。
2)DBA参数响应帧(get_DBA_response)ONU利用DBA参数响应帧向OLT汇报其当前的DBA参数(REPORT帧中的队列集数量和每个队列的阈值)。DBA参数响应帧的结构如图3所示,其中与本发明相关的字段的详细的定义如下a)机构唯一标识符(OUI)3字节,包含24比特结构唯一标识符,具体的OUI值待定;
b)扩展操作码(Ext.Opcode)1字节,用于标识扩展的操作类型,对于用于DBA参数配置的扩展的OAMPDU,其值为“0x0A”;c)DBA操作码1字节,用于标识具体的DBA参数操作类型,对于get_DBA_response消息,其值为“0x01”;d)队列集数量1字节,用于描述ONU所发送的REPORT帧中的队列集(Queue Set)的数量,取值范围为“0x02”到“0x04”;e)报告位图1字节,为一个8比特标志寄存器,指明REPORTMPCPDU中包含哪些队列,如表3所示
表3 用于DBA参数管理的OAMPDU中的报告位图域的定义f)队列n的阈值(队列#n阈值)2字节,表示队列n上,该队列的长度所不能超过的阈值;g)填充字节(PAD)37字节,用于填充该OAM帧中的剩余字段使该OAM帧的总长度达到64字节,填充内容为“0x00”。
3)DBA参数设置请求帧(set_DBA_Request)OLT利用DBA参数设置请求帧指示ONU设置其DBA参数(REPORT帧中的队列集数量和各个队列的阈值)。DBA参数设置请求帧的结构如图4所示,其中与本发明有关的字段的详细的定义如下a)机构唯一标识符(OUI)3字节,包含24比特结构唯一标识符,具体的OUI值待定;b)扩展操作码(Ext.Opcode)1字节,用于标识扩展的操作类型,对于用于DBA参数配置的扩展的OAMPDU,其值为“0x0A”;c)DBA操作码1字节,用于标识具体的DBA参数操作类型,对于set_DBA_request消息,其值为“0x02”;d)队列集数量1字节,用于描述ONU所发送的REPORT帧中应有的队列集(Queue Set)的数量,即想要设置成的数量,取值范围为“0x02”到“0x04”,ONU应按照该值设置其REPORT帧中的队列集数量;e)报告位图1字节,为一个8比特标志寄存器,指明REPORTMPCPDU中应包含哪些队列,如上面表3所示。
f)队列n阈值2字节,表示在队列集中的队列n上,想要设置成的该队列长度所不能超过的阈值;第一个队列集中的queue #nthreshold的值应小于第二个队列集中的queue #n threshold的值,依次类推;g)填充字节(PAD)0~30个字节,用于填充该OAM帧中的剩余字段使该OAM帧的总长度达到64字节,填充内容为“0x00”。
另外,在本实施例中,REPORT帧格式中最后一个Queue Set用于填写所有队列的全部长度,因此,set_DBA_request帧中的队列#n阈值的数量为(队列集数量-1)。
4)DBA参数设置确认帧(set_DBA_response)ONU向OLT发送DBA参数设置确认帧(set_DBA_response)以通告其是否成功设置DBA参数。DBA参数设置确认帧的结构如图5所示,其中与本发明有关的字段的详细的定义如下a)机构唯一标识符(OUI)3字节,包含24比特结构唯一标识符,具体的OUI值待定;b)扩展操作码1字节,用于标识扩展的操作类型,对于用于DBA参数配置的扩展的OAMPDU,其值为“0x0A”;c)DBA操作码1字节,用于标识具体的DBA参数操作类型,对于set_DBA_response消息,其值为“0x03”;d)设置确认1字节,用于表示ONU的DBA参数设置是否成功;当Set ACK的值为“0x00”表示DBA参数设置未完成或被拒绝(Nack);当Set ACK的值为“0x01”表示DBA参数设置已完成(Ack);e)队列集数量1字节,用于描述ONU的REPORT帧中应有的队列集(Queue Set)的数量(DBA参数设置后),也就是被set_DBA_request帧所设置成的队列集的数量,取值范围为“0x02”到“0x04”,ONU应按照该值设置其REPORT帧中的队列集数量;f)报告位图1字节,为一个8比特标志寄存器,指明REPORTMPCPDU中应包含哪些队列(DBA参数设置后),如上面表3所示;g)队列n阈值2字节,表示在队列集中的队列n上,该队列长度所不能超过的阈值;第一个队列集中的队列#n阈值的值应小于第二个队列集中的队列#n阈值的值(如果包含3个或3个以上的Queue Set),依次类推;h)填充字节(PAD)1~29个字节,用于填充该OAM帧中的剩余字段使该OAM帧的总长度达到64字节,填充内容为“0x00”。
注由于前面规定REPORT帧格式中最后一个队列集用于填写所有队列的全部长度,因此,set_DBA_request帧中的队列#n阈值的数量为(阈值集数量-1)。
前面已经结合图6描述了ONU的DBA参数管理的消息交互流程。如图6所述,OLT向ONU发送get_DBA_request消息,当ONU接收到get_DBA_request消息后,应向OLT发送get_DBA_response消息。当OLT需要向ONU设置动态带宽分配参数时,向ONU发送set_DBA_request消息。当ONU接收到set_DBA_request后,设置本地的DBA参数,并发送set_DBA_response消息。因为该过程在前面已经有描述,所以不在此赘述。
前面举出了四种特定于机构的扩展的操作、管理和维护消息,即get_DBA_request消息、get_DBA_response消息、set_DBA_request消息和set_DBA_response消息(前面提到的是get_DBA_request帧、get_DBA_response帧、set_DBA_request帧和set_DBA_response帧,但在这里的帧和消息具有相同的含义),但不发明并不局限于这四种消息,只要能传递光网络单元支持的队列集数量和队列集中的每个队列长度的阈值就可以。比如说,可以设置成两种消息get_DBA_request+response消息、set_DBA_request+response消息即可。在get_DBA_request+response中,放置一个能够放置确认回的队列集数量的字段、各队列的长度阈值的字段,当OLT请求ONU汇报DBA参数时,这些字段是不填的,只要当从ONU向OLT返回时,ONU才添上这些字段;set_DBA_request+response消息中放置一个设置确认字段,当OLT向ONU进行DBA设置时,该字段是不填的,只有当ONU返回确认时才进行填写。再比如说对应队列集数量的字段、各队列的长度阈值的字段,可以单独分两种消息进行询问、确认,获知给上述四种字段进行不同的命名,其功能类似,但略有区别,都是可能的变型,但是它们的共同特点就是都能携带光网络单元支持的队列集数量和队列集中的每个队列长度的阈值,只要满足这样的条件,这些帧格式可以有不同的变形。且图6的消息交换流程也可以有不同的流程,比如当如上所述,采用了不同于以上四种的特定于机构的扩展的操作、管理和维护消息时,其流程完全有可能不同,但只要能在光线路终端和光网络单元之间传递、设置光网络单元支持的队列集数量和队列集中的每个队列长度的阈值就可以。
因此,本发明的这一过程可以概括为在特定机构扩展的操作、管理和维护消息中,放置光网络单元支持的队列集数量和队列集中的每个队列长度的阈值,用于在光线路终端和光网络单元之间进行传递、设置。
在一种实施例中,所述特定机构扩展的操作、管理和维护消息包括但不限于如下四种消息动态带宽分配参数请求消息;动态带宽分配参数响应消息、动态带宽分配参数设置请求消息、动态带宽分配参数设置确认消息。而其中的所述四种消息的有效负荷域可概括为具有机构唯一标识符、标识扩展的操作类型的扩展操作码、标识具体的动态带宽分配参数操作类型的动态带宽分配操作码和数据/填充字段的统一结构,数据/填充字段用于描述具体动态带宽分配参数。具体地说,所述四种消息的具体格式分别为所述动态带宽分配参数请求消息包括机构唯一标识符、标识扩展的操作类型的扩展操作码、标识具体的动态带宽分配参数操作类型的动态带宽分配码、填充字节;所述动态带宽分配参数响应消息包括机构唯一标识符、标识扩展的操作类型的扩展操作码、标识具体的动态带宽分配参数操作类型的动态带宽分配操作码、用于描述光网络单元发送的REPORT帧中的队列集的数量的队列集数量字段、用于指示REPORT帧的队列集字段中包含哪些队列的长度的报告位图字段、用于指示REPORT帧的队列集字段中各队列的阈值的队列阈值字段、填充字节;所述动态带宽分配参数设置请求消息包括机构唯一标识符、标识扩展的操作类型的扩展操作码、标识具体的动态带宽分配参数操作类型的动态带宽分配操作码、用于对光网络单元发送的REPORT帧中的队列集数量进行设置的队列集数量字段、用于对REPORT帧的队列集字段中包含哪些队列进行设置的报告位图字段、用于对REPORT帧的队列集字段中各队列的阈值进行设置的队列阈值字段、填充字节;所述动态带宽分配参数设置确认消息包括结构唯一标识符、标识扩展的操作类型的扩展操作码、标识具体的动态带宽分配参数操作类型的动态带宽分配操作码、表示动态带宽分配参数设置是否成功的设置确认字段、用于确认对光网络单元发送的REPORT帧中的队列集数量的设置的队列集数量字段、用于确认对REPORT帧的队列集字段中包含哪些队列进行设置的报告位图字段、用于确认对REPORT帧的队列集字段中包含的各队列的阈值进行的设置的各队列阈值字段、填充字节。
(二)光网络单元按照设置好的队列集数量和队列集中的每个队列长度的阈值,在多点控制协议的REPORT帧中放置队列集数量和表示队列长度的队列集字段。
在背景技术部分已提到,在IEEE 802.3ah标准中规定,ONU发送的REPORT报文帧中可以设置多个队列集(Queue Set),在每个队列集中包含对应于该队列集的所有队列的长度信息。但现有技术没有给出队列集的确切定义,对于在多个队列集情况下各队列报告的填充内容也没有明确,所以目前各芯片厂商有不同的实现方式。而本发明由于在前面的过程(一)中,对于REPORT帧中应当放入的队列集数量和队列集中的每个队列长度的阈值,已经在OLT和ONU之间得到了交流,就可以按照该设置好的队列集数量来在PEPORT帧中放置队列集(注意,在本实施例中,REPORT帧格式中要留出最后一个队列集用于填写所有队列的全部长度),并可以按照队列集中的每个队列长度的阈值,低于这个阈值地来放置表示队列长度的队列集字段,然后在后续的过程中,OLT中的DBA服务器才可以根据该PEPORT帧中反映出来的以太网帧构成信息,以为OLT中DBA的计算提供更高的精度和效率。
上述过程的一种具体实现如下如图1所示,在图1中有一些与本发明不太相关的字段,就不再讨论,下面主要讨论其中与本发明相关的字段。在图1的中部可以看出,队列集数量字段中存放着按照(一)中的过程协商好的队列集数量,该数量设为N,REPORT帧的中部有N组队列集。在REPORT帧中放置设置好的队列集数量N-1组的以下内容报告位图、队列#0报告、队列#1报告......队列#n报告...队列#m报告重复,其中n<m,n和m为自然数(图1中m=7,也就是说,每个队列集有8个队列),队列#n报告表示队列n在REPORT帧产生时刻在低于该队列所对应的长度阈值的条件下该队列的完整以太网帧的总长度及其所需的帧间隔和前向纠错开销,该REPORT帧的最后一个队列集用于填写所有队列的全部长度。以上是N组队列集的具体内容。应当理解,本发明不限于这种具体REPORT格式,比如,可以不将队列#0报告、队列#1报告......队列#n报告...队列#m连续排列,m可以不为7,可以不设最后一个队列集用于填写所有队列的全部长度,这种变形是很多的,只要这种格式满足“按照设置好的队列集数量和队列集中的每个队列长度的阈值,在多点控制协议的REPORT帧中放置表示队列长度的队列集字段和队列集数量”,因为只要传达了表示队列长度的队列集信息和队列集数量,OLT就可以根据这些队列的长度和队列集数量来进行动态带宽分配。
在图1中,在REPORT帧中,队列集,即图1中重复N次的部分,用于各个队列的长度,其每个长度都低于前述(一)过程中设置的阈值。特定队列集中的队列#n报告值表示队列n在报告消息产生时刻在不超出对应于该队列的阈值的前提下该队列集的完整以太网帧的总长度及其所需的帧间隔和前向纠错(FEC)开销(如果FEC使能)。队列#n报告的队列长度值应采用累计(Cumulative)方式,表示在不同阈值下,从队列起点到该阈值的完整以太网帧的总长度及其所需要的开销。多个队列集中的队列#n报告的队列长度值应采取增量(Incremental)方式对于特定的队列#n,REPORT帧中的第一个队列集中的队列#n报告的队列长度值最小,随着队列集序号的增加,队列#n报告的队列长度值越来越大。对于REPORT帧中的最后一个队列集,队列#n报告应描述该队列的总长度。当该队列的总长度(含完整以太网帧的总长度及其所需帧间隔及FEC开销)的值大于128Kbyte(2个八位字节所能描述的最大值)时,则该队列#n报告值为65535TQ。
可选地,可以对OLT和ONU做如下要求OLT应能够支持对REPORT帧中至少2个队列集的全部8个队列的状态信息的解析,以用于ONU上行带宽的动态分配。OLT缺省支持的队列集数量为2个。ONU应支持(至少)8个队列,并以每个REPORT帧包含2或2个以上队列集的形式向OLT上报本地队列状态。建议ONU具备支持4个队列集的能力。ONU缺省支持的队列集数量为2个。这样有利于ONU在DBA处理能力上的一致性。但也可以规定成其它方式,比如OLT可以支持至少4个队列集,ONU应支持至少16个队列,只要在规定上一致就可以实现互通。
应当理解,上述多个队列集中的队列#n报告的队列长度值采取的增量(Incremental)方式以及队列#n报告的队列长度值采用的累计(Cumulative)方式都是可选的内容,在满足“光网络单元按照设置好的队列集数量和队列集中的每个队列长度的阈值,在多点控制协议的REPORT帧中放置表示队列长度的队列集字段和队列集数量”的条件下,可以对REPORT帧作出各种其它设计。
(三)光网络单元将该带有队列集字段和队列集数量的REPORT帧汇报到光线路终端,光线路终端根据上行队列集数量和每个队列长度给为光网络单元分配的上行带宽授权。这一部分在背景技术中提出,在现有技术中有这样的算法,OLT可以根据ONU汇报上来的上行队列的状态,按照现有技术中的算法,计算给该ONU的上行带宽授权,以动态控制ONU的上行带宽。因此,这一部分不多赘述。
另外,本发明还涉及一种光网络单元接收(7),如图7所示,包括传递和接受对队列集数量和队列长度阈值的设置的模块(701),用于传递和接受在特定于机构的扩展的操作、管理和维护消息中对光网络单元支持的队列集数量和队列集中的每个队列长度的阈值的设置;向光线路终端发送放置了表示队列长度的队列集字段的REPORT帧的模块(702),用于向光线路终端发送按照设置好的队列集数量和队列集中的每个队列长度的阈值而放置了表示队列长度的队列集字段的REPORT帧;
接收对为光网络单元分配的上行带宽的授权的模块(703),用于接收光线路终端对为光网络单元分配的上行带宽的授权。
本发明还涉及一种光线路终端(8),如图8所示,包括请求和设置队列集数量和每个队列长度的阈值的模块(801),用于请求和设置在特定于机构的扩展的操作、管理和维护消息中光网络单元支持的队列集数量和队列集中的每个队列长度的阈值;从光网络单元接收放置了表示队列长度的队列集字段的REPORT帧的模块(802),用于从光网络单元接收按照设置好的队列集数量和队列集中的每个队列长度的阈值而放置了表示队列长度的队列集字段的REPORT帧;对为光网络单元分配的上行带宽进行授权的模块(803),用于根据上行队列集数量和每个队列长度对为光网络单元分配的上行带宽进行授权。
光网络单元和光线路终端中的这些模块都是与本发明的方法所对应的模块,可以由本领域技术人员根据该方法中体现出来的过程进行编程,或者说根据其与方法中的步骤相对应的功能进行编程而实现,因此不再赘述。
总之,本发明利用IEEE 802.3ah所规定的特定机构扩展(orgnization specific Extension)机制定义了新的OAM协议数据单元进行DBA能力发现和参数配置的协议,解决了由于光网络单元的DBA能力和参数与OLT不匹配导致的无法互通的问题。另外,发明了对ONU的REPORT帧中的队列集的新定义,规定了不同队列集中的队列报告字段的填写规则。利用本发明的REPORT帧格式填写规则和DBA参数管理方法可以实现EPON系统中DBA功能的互通,适用范围广。
应当理解,本领域技术人员在不脱离所附权利要求的范围内可以对本发明作出多种改变和变形。
权利要求
1.一种动态带宽分配能力发现和参数配置方法,包括在特定机构扩展的操作、管理和维护消息中,放置光网络单元支持的队列集数量和队列集中的每个队列长度的阈值,用于在光线路终端和光网络单元之间进行动态带宽分配能力参数传递、设置;光网络单元按照设置好的队列集数量和队列集中的每个队列的阈值,在多点控制协议的REPORT帧中放置表示队列长度的队列集字段和队列集数量;光网络单元将该带有队列集字段和队列集数量的REPORT帧汇报到光线路终端,光线路终端根据上行队列集数量和每个队列的长度信息为光网络单元分配的上行带宽授权。
2.根据权利要求1的方法,其中特定于机构的扩展的操作、管理和维护消息包括如下四种消息动态带宽分配参数请求消息;动态带宽分配参数响应消息、动态带宽分配参数设置请求消息、动态带宽分配参数设置确认消息。
3.根据权利要求2的方法,其中所述四种消息的有效负荷域具有机构唯一标识符、用于标识扩展操作类型的扩展操作码、标识具体的动态带宽分配参数操作类型的动态带宽分配操作码和数据/填充字段的统一结构,数据/填充字段用于描述具体动态带宽分配参数。
4.根据权利要求3的方法,其中所述四种消息的具体格式分别为所述动态带宽分配参数请求消息包括机构唯一标识符、标识扩展操作类型的扩展操作码、标识具体的动态带宽分配参数操作类型的动态带宽分配码、填充字节;所述动态带宽分配参数响应消息包括机构唯一标识符、标识扩展操作类型的扩展操作码、用于标识具体的动态带宽分配参数操作类型的动态带宽分配操作码、用于描述光网络单元发送的REPORT帧中队列集数量的队列集数量字段、用于指示REPORT帧的队列集字段中包含哪些队列的报告位图字段、用于指示REPORT帧的每个队列集中各队列的阈值的队列阈值字段、填充字节;所述动态带宽分配参数设置请求消息包括机构唯一标识符、标识扩展操作类型的扩展操作码、标识具体的动态带宽分配参数操作类型的动态带宽分配操作码、用于对光网络单元发送的REPORT帧中的队列集数量进行设置的队列集数量字段、用于设置REPORT帧包含哪些队列的报告位图字段、用于对光网络单元的REPORT帧的每个队列集中各队列的阈值进行设置的队列阈值字段、填充字节;所述动态带宽分配参数设置确认消息包括机构唯一标识符、标识扩展操作类型的扩展操作码、标识具体的动态带宽分配参数操作类型的动态带宽分配操作码、表示动态带宽分配参数设置是否成功的设置确认字段、用于确认对光网络单元发送的REPORT帧中队列集数量的设置的队列集数量字段、用于确认对REPORT帧中包含哪些队列的设置的报告位图字段、用于确认对REPORT帧的每个队列集字段中各队列的阈值的设置的队列阈值字段、填充字节。
5.根据权利要求1的方法,其中光网络单元按照设置好的队列集数量和队列集中的每个队列的阈值在多点控制协议的REPORT帧中放置表示队列长度的队列集字段的过程如下在REPORT帧中放置设置好的队列集数量-1组的以下内容报告位图、队列#0报告、队列#1报告……队列#n报告…队列#m报告重复,其中n<m,n和m为自然数,队列#n报告表示队列n在REPORT帧产生时刻在低于该队列所对应的长度阈值的条件下该队列的完整以太网帧的总长度及其所需的帧间隔和前向纠错开销,该REPORT帧的最后一个队列集用于填写所有队列的全部长度。
6.根据权利要求5的方法,其中队列#n报告的队列长度值采用累计方式。
7.根据权利要求5的方法,其中多个队列集中的队列#n报告的队列长度值采取增量方式对于特定的队列#n,报告帧中的第一个队列集中的队列#n报告的队列长度值最小,随着队列集序号的增加,队列#n报告的队列长度值越来越大。
8.一种光网络单元,包括传递和接受在特定机构扩展的操作、管理和维护消息中对光网络单元支持的队列集数量和队列集中的每个队列长度的阈值进行设置的模块;向光线路终端发送按照设置好的队列集数量和队列集中的每个队列长度的阈值而放置了表示队列长度的队列集字段和队列集数量的REPORT帧的模块;接收光线路终端对为光网络单元分配的上行带宽的授权的模块。
9.一种光线路终端,包括在特定机构扩展的操作、管理和维护(OAM)消息中对光网络单元支持的队列集数量和队列集中的每个队列长度的阈值进行请求和设置的模块;从光网络单元接收按照设置好的队列集数量和队列集中的每个队列长度的阈值而放置了表示队列长度的队列集字段和队列集数量的REPORT帧的模块;根据上行队列集数量和每个队列长度对为光网络单元分配的上行带宽进行授权的模块。
全文摘要
一种动态带宽能力发现和参数配置方法,包括在特定机构扩展的操作、管理和维护消息中,放置光网络单元支持的队列集数量和队列集中的每个队列长度的阈值,用于在光线路终端和光网络单元之间进行传递、设置;光网络单元按照设置好的队列集数量和队列集中的每个队列长度的阈值,在多点控制协议的REPORT帧中放置表示队列长度的队列集字段和队列集数量;光网络单元将REPORT帧汇报到光线路终端,光线路终端根据上行队列集数量和每个队列长度给为光网络单元分配的上行带宽授权。本发明还规定了相应光线路终端和光网络单元。本发明既能够实现以太网无源光网络中的动态带宽分配,又解决了多厂商ONU和OLT的互通性问题。
文档编号H04J3/16GK1897760SQ20061007535
公开日2007年1月17日 申请日期2006年4月10日 优先权日2006年4月10日
发明者沈成彬, 左建, 王晓平, 陆钧 申请人:中国电信股份有限公司