MPCP协议详解带注释EPON关键协议.docx
- 文档编号:23093607
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:26
- 大小:1.44MB
MPCP协议详解带注释EPON关键协议.docx
《MPCP协议详解带注释EPON关键协议.docx》由会员分享,可在线阅读,更多相关《MPCP协议详解带注释EPON关键协议.docx(26页珍藏版)》请在冰豆网上搜索。
MPCP协议详解带注释EPON关键协议
MPCP协议详细介绍
1MPCP帧结构
MPCP定义了5种消息,称之为MPCPDATAUNITs,
GATE、REPORT、REGISTER_RQ、REGISTER、REGISTER_ACK,他们用于OLT和ONU之间的信息交换。
所有的MPCPDU为64字节的MAC控制帧,包括以下域:
1、DA(目的地址),6个字节域,所有的MPCPDU都使用一个共同的多播MAC目的地址,其值为:
01-80-C2-00-00-01,但是REGISTER报文除外,其使用ONU的实际MAC地址。
2、SA(源地址),在OLT中,对应一个GMII接口有多个MAC实例,因此不同的MAC发出的数据都必须携带其对应的SA。
3、类型域值为8808
4、Opcode区分MAC控制帧类型。
0001为PAUSE帧,0002为GATE帧,0003为REPORT帧,0004为REGISTER_REQ帧,0005为REGISTER帧,0006为REGISTER_ACK帧。
5、TIMESTAMP,时标;用于同步OLT与ONU的MPCPCLOCK,其参考点为DA的首字节。
6、Opcode-specificfield:
用于传输特定的MPCP功能,不用的时候置0;
7、FCS,CRC32
1.1REPORT帧
REPORT帧是ONU用来向OLT上报本地队列状态的。
1.1.1Queue#nreport
这个域的内容表示的不是实际的队列字节长度,其为传送这些字节需要的时间,这个时间还要考虑上前导码、帧间隔、FEC检验域等时间。
1.1.2Reportbitmap
Queue有效指示,相应位为1则表示此QUEUE域值有效,否则无效。
总共对应8个队列。
1.1.3NumberofQueueSets
由于OLT分配给ONU的时隙不会正好等于ONU中的数据队列的发送时间,因此在时隙边界有可能会浪费部分的带宽(不能传送被切断的以太网帧),所以802.3ah工作组进入了多个queuesets,每个queueset都表示从队列开始的队列指示,但是分别指示了不同的长度,如果OLT分配的时隙中无法发送整个队列的话,则可以选择其中一种queueset来作为给ONU分配时隙的依据。
简单而言,就是ONU提供了本地队列长度的多个门限截至位置,这些位置可以给OLT以更加灵活有效的带宽分配依据。
1.2GATE帧
1.2.1NumberofGrants/flags
NumberofGrants/Flag域中的低3比特(比特2~比特0)表示此GATE中携带的窗口授权个数,最多不能超过4个,其值从0变化到4,当为0时表示不进行窗口授权,仅表示一种链接机制,为1时表示携带1个窗口授权参数,为4表示携带4个窗口授权参数。
一个常规GATE帧的发送对象为固定的,由LLID指定,最多可分配4个时隙(窗口)。
比特3表示此GATE消息是discoveryGATE还是normalGATE,为0表示normalGATE。
比特7~比特4表示在对应的授权窗口内需要ONU回告REPORT消息(强制回告)。
比特4对应第1个授权窗口,比特7对应第4个授权窗口。
一般来讲,如果OLT强制要求ONU回告REPORT消息的话,必须分配一个比原有授权窗口略大的一个窗口参数以适合REPORT消息的传送,如果OLT还是按照原来的参数进行分配的话,ONU的REPORT消息将会抢占正常数据的发送位置,由此可能导致带宽存在浪费的现象。
当然,ONU也可自主发出REPORT消息,此时的REPORT消息应该是计算在队列长度中的。
1.2.2Grant#nstarttime
StartTime是以TQ为单位的,32位的计数器,ONU将在此StartTime指定的时刻开启激光器。
不过在discoveryGATE中指定的startTime仅仅是可以打开激光器的参数值,因为ONU将会在此值上延时一个随机时间后才能打开激光器。
1.2.3Grant#nLength\
在DiscoveryGATE中的GrantLength用来给ONU计算随机时间范围,在ONU中是根据grantLength减去REGISTER_REQ的传送时间作为随机时间范围的。
1.2.4Synctime
这个仅在discoveryGATE中设置。
ONU在指定的TAGC与TCDR期间发送IDLE码型。
OLT最多一次4个授权窗口,ONU如何知道此授权窗口是给自己的,通过前导码中的逻辑链路标识LLID
1.3REGISTER_REQ帧
OLT收到REGISTER_REQ帧后有两个重要信息要处理:
计算RTT与学习ONU的MAC地址。
1.3.1FLAGs
Flag=1表示注册请求,Flag=3表示撤销注册请求。
其他值均为保留值,OLT接收到保留值是不处理的。
1.3.2PendingGrants
ONU接收到GATE消息后将把startTime等参数存贮起来等待本地MPCP时钟到点时再根据存贮起来的参数进行数据发送,ONU中会有一个缓存,此pendingGrants就是指示这个缓存中剩余空间的,其目的是告诉OLT我还能缓存多少个授权窗口参数信息,如果超过则会被ONU丢弃。
1.4REGISTER帧
REGISTER消息用来为通过注册验证的ONU分配LLID,由于此时链接尚未建立,因此REGISTER消息发送时采用了广播的LLID,但是其MAC地址却是学习到的对应ONU的MAC地址。
(此时有其他用户根据广播LLID可以获取MAC数据帧的话就可以把其MAC设置为混杂模式以便监听其他ONU的下行数据了)。
由于是MPCP的控制帧,所以大家都可以收到此帧,别人就可以侦听到相应LLID的对应MAC地址。
REGISTER消息还能用来撤销注册,OLT发送REGISTER消息给一个已经注册上的ONU时,表示要求其重新注册或者撤销其注册资格。
此时OLT发出的REGISTER消息采用唯一的LLID以及多播MAC地址01-80-C2-00-00-01。
1.4.1AssignedPort
携带唯一的LLID信息。
一个PON调度处理引擎系统中的LLID都是唯一的,也就是说同一个处理平台上的不同PON光口分配的LLID不能有冲突。
但是不同的处理系统中(比如两块PON接口板)的LLID可以成各自独立分配系统。
1.4.2FLAGs
有四种情况,除去这四种情况外的REGISTER报文在ONU处是不处理的。
1、对已经注册的ONU要求其重新注册;
2、撤销注册,对已经注册的ONU撤销其注册状态,撤销后ONU将加入未初始化的ONU一类;
3、注册成功响应,表示ONU注册信息验证通过;
4、注册未成功响应,表示ONU注册信息验证没有通过;
1.4.3SyncTime
同REGISTER_REQ中的synctime类似,但是数值可以不同,为经过调整的数值。
1.4.4Echoedpendinggrant
表示OLT已经知晓ONU中的缓存空间。
1.5REGISTER_ACK帧
Flags域表示ONU是否响应注册;
Echoedassignedport为REGISTER中分配指定的port的一份拷贝。
Synctime也是REGISTER的数据拷贝。
2Opcode-independentprocess
MAC控制子层中的处理操作分为两种:
与Opcode无关的parser控制处理、发送复用处理,以及与Opcode相关的PAUSE帧处理、discovery处理、GATE处理、REPORT处理。
其实parser与复用模块也是有与opcode相关的部分。
2.1Controlparser
Controlparser负责把接收到的帧进行分类,分发到不同的处理模块进行处理,比如数据帧去业务处理,GATE帧去GATE处理模块等等。
OLT与ONU中的controlparser模块基本相同,唯一的区别在于时标处理方式。
其中guardThresholdOLT=12TQ,guardThresholdONU=8TQ
2.2ONUControlMultiplexer
其中的checksizestate处如果发现待传送帧的TQ大于指配的时间窗时,此数据帧(控制帧)必须停止发送,也就是仍然存放在缓存队列中的首地址位置。
2.3Multi-pointtransmissioncontrol
2.4OLTControlMultiplexer
3Gatingprocess
Gateprocess包括OLT产生GATE信息以及ONU接收和处理GATE信息的过程。
在OLT侧为Gategenerationprocess,在ONU侧为Gatereceptionprocess(parsingandverifying接收的GATE帧)和Gateactivationprocess(发送timing控制)。
3.1GategenerationatOLT
Gategeneration由DBAagent驱动,它决定给分配给ONU的startTime和length参数值,每接收到DBAagent来的请求,Gategenerationprocess都会产生一个GATE信息帧发送给ONU。
Gate信息还能用来实现keep-alive机制,其可以告知ONU,OLT虽然没有下发GATE时间信息,但是OLT中对应的逻辑运转还是正常的。
这种情况发生在DBA没有按时(50ms)向gategenerationprocess发起请求,那么gategenerationprocess将自动产生GATE信息(grantnumber=0)给ONU以保持链接。
3.2GatereceptionatONU
ONU如果在1s之内(MPCPclock)没有收到GATE信息,则ONU将撤销注册。
3.3GateactivationatONU
802.3ah协议规定,ONU撤销注册时,当前正在发送的帧必须传送完;另有一种意见是立刻中止传送。
4Reportingprocess
4.1ReportgenerationatONU
Report消息由DBA驱动,当DBA在设定的时间内无发送report消息的请求时,ONU需要自动产生一个空的report消息,以此来告知OLT一个结果:
ONU在运转。
4.2ReportreceptionatOLT
在1s之内如果收不到ONU的report消息,则认为此ONU下线,必须在本地数据库中撤销其注册登记资料。
5Discoveryprocess
自动发现机制用来检测新上线的ONU,学习其RTT时间以及MAC地址。
这个发现过程分为四个阶段:
discoverygategenerationprocess、Requestreceptionprocess、Registergenerationprocess、finalregistrationprocess。
这四个阶段都是由DiscoveryAgent来驱动的。
由于OLT的周期性广播discover帧,未注册的ONU发现后,在允许时间内发送register_req帧。
当OLT得到MAC,ONU得到LLID后,至此他们之间的连接注册建立。
此后,他们之间的通信为单一链路通信(通过LLID识别)。
5.1Discoverygategenerationprocess
MACR-----MA_CONTROL.request
MACI------MA_CONTROL.indication
UCT-----uncondition
5.2RequestreceptionatOLT
OLT收到REGISTER_REQ帧后有两个重要信息要处理:
计算RTT与学习ONU的MAC地址。
5.3RegistergenerationatOLT
5.4FinalRegistrationatOLT
5.5DiscoveryprocessatONU
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MPCP 协议 详解 注释 EPON 关键