XGTC
XGTC层是XG-PON协议栈的一部分,该协议栈一方面指定了上层服务数据单元(SDUs)和另一方面适用于调制光载波的位流之间映射的格式和过程。
XGTC层由三个子层组成:XGTC服务适应子层、XGTC框架子层和XGTC PHY适应子层。
XGTC层同时存在于XG-PON系统的光线端子(OLT)和ONU侧。在下游方向上,XGTC层和物理介质依赖(PMD)层之间的接口由一个以标称接口速率表示的连续位流表示,该位流被划分为125个帧。在上游方向上,XGTC层和PMD层之间的界面由一系列精确定时的突发来表示。
大致数据方向:
ONU上行
SDU->Ser->Fra->Phy(burst)->Phy(frame)->Fra->Ser->SDU
XGTC服务适应子层
XGTC业务自适应子层负责在PON上传输过程中上层SDU的封装、复用和描述。
在发射机端,XGTC服务适应子层接受由用户数据帧和ONU管理和控制接口(OMCI)流量表示的上层SDU,在必要时执行SDU碎片,将XGEM端口-ID分配给SDU或SDU片段,并对其应用XG-PON封装方法以获得XGEM帧。XGEM帧有效负载可以选择加密。一系列XGEM帧在下游方向形成XGTC帧的有效载荷或在上游方向形成XGTC突发.
在接收机端,XGTC服务自适应子层接受XGTC帧和突发的有效载荷,执行XGEM帧描述,基于XGEM端口-id过滤XGEM帧,如果发射机已执行了加密,则解密XGEM有效负载,重新组装碎片化的SDU,并将SDU交付给各自的客户端。
XGTC框架子层
XGTC框架子层负责构建和解析支持必要的PON管理功能的开销字段。帧格式的设计使帧及其元素尽可能与4字节字的边界对齐。
在发射机端,XGTC帧子层接受来自XGTC服务适应子层的形成XGTC有效载荷的多个系列XGEM帧,并通过提供嵌入式OAM和物理层操作、管理和维护(PLOAM)消息传递信道开销字段来构造下游XGTC帧或上游XGTC突发。每个下游XGTC帧有效载荷的大小是通过从下游XGTC帧的固定大小中减去上游带宽管理开销的可变大小和PLOAM信道负载而得到的。在上游方向,XGTC突发多路复用与多个alloc-id相关联的XGTC有效负载,每个有效负载的大小基于输入的带宽管理信息确定。
在接收端,XGTC帧子层接受XGTC帧或XGTC突发,解析XGTC开销字段,提取传入的嵌入式管理和PLOAM消息传递流,并将XGTC有效负载交付到服务适应子层。传入的PLOAM消息传递通道流将被传递到PLOAM处理引擎。嵌入式的与上游带宽管理(BWmap解析)和动态带宽分配(DBA)信令有关的OAM信息在帧子层内部进行处理,提供对PHY自适应子层(上游PHY突发时序和轮廓控制)和业务自适应子层(加密密钥指示)的部分控制。其余嵌入的OAM信息被传递到框架子层之外的控制实体,如ONU电源管理和性能监控块。
XGTC PHY适应子层
PHY自适应子层包括修改比特流调制光学发射机的功能,目的是改善在光学介质上传输的信号的检测、接收和描绘特性。
在发射端,PHY自适应子层接受来自XGTC帧子层的XGTC帧(下游方向)或XGTC突发(上游方向),将它们划分为FEC数据块,计算FEC奇偶校验字段并附加到每个FEC数据块,执行FEC受保护的内容的扰动,准备适合下游(PSBd)或上游(PSBu)传输的物理同步块,并提供产生的比特流的定时对齐。
在接收端,PHY自适应子层对输入位流进行物理同步和描述,对PHY帧或突发的内容进行干扰,执行正向错误校正并提取前正误差校正(FEC)奇偶校验符号,将结果XGTC帧(下游)或XGTC突发(上游)传送到XGTC帧子层。
8.1
Downstream XGTC framing
下游XGTC帧的固定大小为135432字节,由XGTC报头和XGTC有效负载部分组成,如图8-1所示。XGTC有效载荷形成在发射侧,并由业务自适应子层在接收侧进行处理。下游的XGTC帧报头由一个固定大小的HLend结构和两个可变大小的分区组成:带宽映射分区(BWmap)和下游的PLOAM分区(PLOAMd)。
8.1.1 HLend structure
HLend是一个4字节的结构,它控制XGTC标头内可变长度分区的大小。它由三个字段组成: BWmap长度[11位]:包含一个无符号整数N,表示BWmap分区中分配结构的数量。PLOAM计数[8位]:包含一个无符号整数P,表示PLOAMd分区中的PLOAM消息的数量。混合错误校正(HEC)[13位]:HLend结构的错误检测和校正字段,它是在HLend结构的31个初始位上操作的一个截断的BCH(63,12,2)代码和单个奇偶校验位的组合。
8.1.2 BWmap partition
BWmap是一系列8字节的分配结构。BWmap中分配结构的数量在HLend结构的BWmap长度字段中给出。BWmap分区的实际长度为8×N字节。每个分配结构都指定对特定Alloc-ID的带宽分配。与属于同一ONU的Alloc-id相关联的一个或多个分配结构序列,旨在用于连续的上游传输。BWmap分区的格式和分配结构如图8-2所示。分配结构的字段将在以下子句中进一步解释。
8.1.2.1
Alloc-ID field
分配ID字段包含指示带宽分配的接收人的14位号码,ONU内的特定T-CONT或上游OMCC
8.1.2.2
Flags field
包含两个单独指标的2位标记字段:
-DBRu:如果设置了这个位,ONU应该发送给定的Alloc-ID的DBRu报告。如果未设置该位,则不发送DBRu报告。
–PLOAMu:如果这个位设置在突发分配序列的第一个分配结构,上游XGTC突发头的大小应该是52字节,ONU应该传输PLOAM消息作为XGTC突发头的一部分。如果在上游突发的第一个分配结构中,没有设置PLOAMu位,则上游XGTC突发头的大小应该为4字节,并且不应该传输PLOAM消息。对于同一突发的所有后续分配结构,PLOAMu标志应该被发射器设置为0,而被接收器忽略。
8.1.2.3
StartTime field
开始时间字段包含一个16位的数字,该数字指示在上游PHY帧内的上游XGTC突发的第一个字节的位置。开始时间从上游PHY帧的开始开始测量,其单位为1个字(4个字节)。开始时间=0的值对应于上游PHY帧的第一个字;开始时间= 9719的值对应于上游PHY帧的最后一个字。在每个突发分配序列中,只有第一个分配携带特定的开始时间值。突发分配序列的所有剩余分配结构都携带的开始时间值为0x FFFF。
(上行XGTC Burst)
请注意,上游PHY帧的开始只是一个参考点,与任何外部可观察的事件无关
8.1.2.4
GrantSize field
GrantSize字段包含一个16位的数字,它表示在给定分配范围内传输的具有DBRu开销的XGTC有效负载数据的组合长度。(上图中A/B)
GrantSize最小单位为1字(4字节),当serial number grants and ranging grants 两个PLOMAu消息时,GrantSize为0。当下行XGTC-Fram未设置DBRU时,XGTC本身的最小GrantSize为16字节,即GrantSize = 4字
8.1.2.5
Forced wake-up indication (FWI) bit
当处理支持基于协议的电源管理的ONU时,OLT会设置FWI位,以加快唤醒一直处于低功率模式的ONU。当OLT电源管理状态机需要时,在每个突发分配序列的第一个分配结构中将FWI位设置为给定的ONU。在突发分配序列的后续分配结构中的FWI位的值不受控制,并被ONU忽略。
8.1.2.6
BurstProfile field
BurstProfile字段是一个2位字段,它包含由ONU的PHY自适应子层用于形成PHY突发的突发轮廓的索引。此索引指的是通过PLOAM消息传递通道上的广播或单播传输来通信给ONUs的一组有效的突发配置文件。对于每个指定的配置文件,索引都在配置文件PLOAM消息中显式定义
8.1.2.7 HEC field
用于分配结构的错误检测和校正字段是在分配结构的63个初始位上操作的BCH(63、12、2)码和单个奇偶校验位的组合。
8.1.3 BWmap construction limitations and parsing rules
8.1.3.1 BWmap 结构限制
OLT使用BWmap分区将上游传输机会分配给ONU和每个ONU内的各个alloc-id。分配给每个ONU和每个Alloc-ID的频率和大小取决于各自的服务参数和每个给定ONU的当前电源管理模式。根据设计,每个BWmap分区最多可以包含2047个分配结构。然而,在每个PHY帧中构建BWmap时,OLT应该满足额外的限制:
1、OLT需要在BWmap中按起始顺序升序指定多个不同的突发分配序列。
2、最小的开始时间值为零。这一要求意味着上游PHY突发的PSBu部分在技术上可以属于之前的PHY帧
3、最大开始时间值为9719。这一要求意味着一个ONU突发可以跨越PHY帧边界。
4、每个BWmap的最大分配结构数为512个(GPON为256)(图8-2中N的数量)
5、每个突发分配序列的最大分配结构数为16个(XGTC brust为16个)
6、在一个BWmap中,每个给定的ONU的最大分配结构数量是64(GPON为8)
7、在一个BWmap中,每个给定的ONU的突发分配序列的最大数量为4(XGSPON为16)
8、最大分配大小为= 9718字(去掉头尾后的)。(XGS为9719)
9、最大XGTC突发大小= 9720字(包含头尾)。
最大XGTC突发大小已设置为不超过PHY帧的大小(38880字节,或9720字)。考虑到固定的XGTC开销的大小(去掉4字节XGTC头4字节XGTC尾),理论上可能的最大的GrantSize大小值是9718。如果存在PLOAMu字段,则GrantSize大小最多可为9706(9718减去48/4字)
8.1.4 PLOAMd partition
PLOAMd分区包含零条、一条或多个PLOAM消息。每个PLOAM消息的长度为48个字节。PLOAMd分区中的PLOAM消息数由HLend结构中的PLOAM计数字段给出。PLOAMd分区的实际长度是48×P字节。
8.2
Upstream XGTC framing(XGTC brust)
在上游方向上,XGTC框架子层和XGTC PHY自适应子层之间的界面由上游XGTC突发表示。由给定ONU传输的上游XGTC突发具有动态确定的大小,由上游XGTC突发头、一个或多个带宽分配间隔,每个间隔与特定的AllocID相关联,以及XGTC尾组成,如图8-5所示。每个分配间隔的大小由BWmap的特定分配结构决定
8.2.1 Upstream XGTC burst header
XGTC报头包括一个4字节的固定部分和一个非固定部分。固定部分由ONU-ID、Ind和HEC组成。非固定的部分有0个字节或一个48个字节的PLOAM消息,这取决于相应的BWmap分配结构的PLOAMu标志的值。
8.2.1.1 ONU-ID field
ONU-ID字段是一个10位字段,其中包含传输突发的ONU的唯一ONU-ID。ONU-ID在激活过程中被分配给了ONU。OLT可以根据BWmap检查这个字段,以确认正确的ONU正在传输。如果未分配ONU-ID的ONU响应广播服务节点(SN)请求分配,以宣布其在PON上的存在,则它应使用值0x03FF来代替XGTC突发报头中的ONU-ID。
8.2.1.2 Ind field
Ind字段有9位,提供ONU状态的快速非请求信令,并按如下方式分配。
8.2.1.3 HEC field
上游XGTC标头的错误检测和纠正字段是操作于标头的31个初始位和单个奇偶校验位的截断BCH(63、12、12)代码的组合。
8.2.1.4 Upstream PLOAM (PLOAMu) field
如果存在,则PLOAMu字段只包含一条PLOAM消息。PLOAM消息的存在由OLT与突发分配序列中第一个分配结构的PLOAMu标志一起控制。PLOAM消息长度为48字节。未配置为0.
8.2.2 Allocation overhead
如果存在,则分配开销将由DBRu结构组成。DBRu的存在由OLT控制,在BWmap中具有相应分配结构的DBRu标志。4字节的DBRu结构携带一个与特定的Alloc-ID相关联的缓冲区状态报告。
8.2.2.1 BufOcc field
缓冲区占用(BufOcc)字段是3字节长,包含SDU流量的总量,以字(4字节)为单位表示,在与提供给定分配的Alloc-ID关联的所有缓冲区中聚合.0x000000表示空缓冲区,0x FFFFFF表示无效的度量
8.2.2.2 CRC field
8.2.3 Upstream XGTC burst trailer
上游的XGTC突发拖车包含一个4字节宽的位交错甚至奇偶校验(BIP)字段。OLT接收机验证BIP,以估计上游光链路上的误码率。请注意,基于bip的误码率估计仅适用于FEC被关闭时。当在PHY适应子层中打开上游FEC时,应根据FEC校正结果获得原始BER估计。
9.4 Mapping of services into XGEM frames
9.4.1 Ethernet over XGEM
以太网帧直接在XGEM帧有效载荷中携带。在XGEM封装之前,IEEE 802前导分隔符和开始帧分隔符(SFD)字节将被丢弃。每个以太网帧都被映射到单个XGEM帧中,如图9-5所示,或被映射到多个XGEM帧中。在后一种情况下,适用第9.3条中的碎片化规则。一个XGEM帧不能封装多个以太网帧。
9.4.2 MPLS over XGEM
多协议标签交换数据包直接在XGEM帧有效负载中携带。每个MPLS包被映射到一个XGEM帧,如图9-6所示,或映射到多个XGEM帧。在后一种情况下,适用第9.3条中的碎片化规则。一个XGEM帧不能封装多个MPLS数据包。
10 PHY adaptation sublayer
本条款讨论了XG-PON中下游和上游传输的物理同步和描述、正向误差修正和加扰码等问题。
10.1 Downstream PHY frame
OLT正在向下游方向连续传输。OLT的传输被划分为固定大小的下游PHY帧。下游PHY帧的持续时间为125usm,其下游速率为9.95328 Gbit/s,对应于155520字节(38880字)的大小。一个下游的PHY帧由一个24字节的物理同步块(PSBd)和一个155496字节的PHY帧有效载荷,由下游XGTC帧表示,其内容受FEC保护并乱码。特定下游PHY帧的开始在给定网络元素的上下文中定义,并对应于其PSBd的第一个位的传输(通过OLT)或接收(通过ONU)。下游PHY框架图如图10-1所示。
10.1.1 Downstream physical synchronization block (PSBd)
下游物理同步块(PSBd)的大小为24个字节。它包含三个独立的8字节结构:PSync、超帧计数器(SFC)结构和PON-ID结构(参见图10-2)。
10.1.1.1 Physical synchronization sequence (PSync)
物理同步序列包含一个固定的64位模式。ONU使用这个序列在下游的PHY帧边界上实现对齐。PSync字段的编码为0xC5E5 1840 FD59 BB49。
10.1.1.2 Superframe counter structure
SFC结构是一个64位字段,其中包含一个51位超帧计数器(SFC)和一个13位HEC字段(参见图10-2)。每个下游PHY帧中的SFC值相对于上一个PHY帧增加1。当SFC达到其最大值(所有值)时,在以下下游PHY帧上将其设置为0。HEC字段是在SFC结构的63个初始位上操作的BCH(63、12、2)代码和单个奇偶校验位的组合。
10.1.1.3 PON-ID structure
PON-ID结构包含一个51位的PON标识符和一个13位的HEC字段(请参见图10-2)。PON-ID由OLT自行设置。其默认值为51位的零。HEC字段是在PONID结构的63个初始位上操作的BCH(63、12、2)代码和单个奇偶校验位的组合。
10.1.2 ONU downstream synchronization
ONU开始于Hunt状态。在Hunt状态下,ONU会在下游信号中所有可能的对齐(包括位和字节)中搜索PSync模式。一旦找到与第10.1.1.1条中指定的PSync模式精确匹配,ONU将验证紧接PSync模式之后的64位是否形成有效(即无错误或可纠正的)HEC保护的SFC结构(HEC验证规则见表A.4)。如果64位受保护的SFC结构不可纠正,则ONU仍处于Hunt状态,并继续搜索PSync模式。如果64位受保护的SFC结构有效,则ONU将存储SFC值的本地副本,并转换到Pre-sync状态。
一旦ONU找到下游PHY帧的边界并离开Hunt状态,它将对每个后续PHY帧边界(即每155520字节一次)执行PSync和SFC验证,并执行下游同步状态机的相应转换。在PSync和SFC验证之前,ONU将本地SFC值增加1。在下游PHY帧的边界处的第一个传入的64位序列被认为是一个PSync字段,而随后的64位序列被认 为是一个SFC结构。如果输入的64位序列中至少有62位匹配固定的PSync模式,则PSync验证成功;否则,PSync验证失败。如果输入的64位序列形成有效(无错误或可纠正的)HEC保护字段,并且输入的SFC值等于本地存储(刚刚递增)SFC值,则SFC验证成功;否则,SFC验证失败。
一旦进入预同步状态,如果PSync验证和SFC验证都成功,则ONU将过渡到(Sync)同步状态,如果PSync验证或SFC验证都失败,则ONU将返回到Hunt状态。
一旦处于同步状态,只要PSync验证和SFC验证都成功,ONU就会保持在该状态,如果PSync验证或SFC验证失败,ONU将过渡到重新同步状态。一旦处于重新同步状态,如果PSync和SFC都被成功地验证了一次,那么ONU就会转换回同步状态。但是,如果M-1连续PHY帧的PSync验证或SFC验证失败,ONU将声明丢失下游同步,丢弃本地SFC副本,并转换到Hunt状态。参数M的推荐值为3。
10.1.3 Downstream PHY frame payload
下游PHY帧的有效负载大小为155496字节。它从相应的下游XGTC帧(见第8.1条)获得,其大小为135432字节,通过应用FEC相加20064奇偶校验字节(第10.3.1条),并打乱结果(第10.4.1条)。
10.2 Upstream PHY frames and upstream PHY bursts
上游PHY帧的持续时间为125usm,上游速率为2.48832 Gbit/s,对应于38880字节(9720字)。
根据OLT的指示,每个ONU通过适当地偏移各自的下游PHY帧的起始点来确定与特定的上游PHY帧的开始点相对应的时间点。上游PHY帧边界点的序列通过OLT和PON口上的所有ONU提供了一个共同的时间参考,但这些点不对应任何特定事件(不像下游PHY帧边界点,其参考时间在PSBd的传输或接收开始的地方)。
在上游方向上,每个ONU传输一系列相对较短的PHY脉冲,并在脉冲之间保持空闲状态。上游PHY突发由上游物理同步块(PSBu)和由上游XGTC brust表示的PHY突发有效载荷组成,其内容可以被FEC保护并被乱码。OLT使用BWmap来控制上游PHY爆发的时间和持续时间,从而使不同ONUs的上游传输不重叠。每个ONU的上游PHY脉冲都引用了适当的上游PHY帧的开始时间。只要上游PHY帧在下游PHY帧N传输的BWmap中指定,上游PHY突发就属于上游PHY帧N。如果是这样,XGTC突发头的第一个字节在PHY帧N的边界内传输。上游PHY突发的PSBu部分可以在前一个PHY帧的边界内传输。属于特定上游PHY帧的上游PHY突发可以延伸到该帧的后边界之外。
10.2.1 Upstream physical synchronization block (PSBu)
PSBu部分包含前导符和分隔符(见图10-5),允许OLT的光接收器调整到光信号的水平,并描绘突发。前导符和分隔符的长度和模式构成了突发的轮廓。允许的突发配置文件集将由OLT提前使用配置文件PLOAM消息来指定。在相应的BWmap分配中,由OLT在突发轮廓字段中选择与特定PHY突发一起使用的特定配置文件。
10.2.2 Upstream PHY burst payload
上游PHY突发的有效载荷来自相应的上游XGTC突发(见第8.2条),选择性地应用FEC,由突发轮廓控制的OLT决定,并打乱结果(第10.4.2条)。
10.2.3 Guard time
为了防止上游传输相互碰撞和干扰,OLT构建了BWmap,允许来自不同onu的上游爆发之间有适当的保护时间。保护时间可容纳Tx启用时间和Tx禁用时间,并包括单个ONU传输漂移的裕量。建议的最小保护时间为64位。
10.3 Forward error correction
PHY自适应子层采用前向误差校正(FEC)在传输数据中引入冗余。这允许解码器检测和纠正某些传输错误。在XGPON系统中,FEC编码是基于里德-所罗门(RS)编码的。
里德所罗门码(RS)是一种非二进制码,它操作于字节符号,属于系统线性循环块码族。RS代码接受一个固定大小的数据块,并在最后添加额外的奇偶校验字节,从而创建一个码字。使用这些额外的字节,FEC解码器处理数据流,发现错误,纠正错误,并恢复原始数据。
最常用的RS代码是RS(255,239),其中255字节的码字由239个数据字节和16个奇偶校验字节组成;和RS(255,223),其中255字节的码字由223个数据字节和32个奇偶校验字节组成。RS(255、239)代码在[ITU-TG.709)中指定。本建议采用截断或缩短的形式的RS代码,从而允许使用更方便的码字和数据块大小。248个符号的缩短码字在编码器上填充7个前导零符号,这些符号没有传输,但在解码前重新插入到接收机。在下游方向上,FEC代码是RS(248、216),这是RS(255、223)代码的截断形式。在上游方向上,FEC代码是RS(248,232),这是RS(255,239)代码的截断形式。RS(248,216)和RS(248,232)代码在附录b中被正式描述。OLT和ONU在上游和下游方向的FEC支持都是强制性的。在下游方向,FEC始终开启,在上游方向,FEC的使用由OLT动态控制。
10.3.1 Downstream FEC
下游的FEC代码为RS(248,216)。每个下游的PHY帧包含627个FEC码字。每个码字都有248个字节长。在一个码字中,216个数据字节后面跟着32个奇偶校验字节。24字节的PSBd部分不包括在FEC码字中。在下游的PHY帧中,第一个码字从PHY帧的第25字节开始(XGTC报头部分的第一个字节)开始,第二个码字从PHY帧的第273字节开始,第三个码字从PHY帧的第521字节开始,以此类推。下游的FEC奇偶校验字节插入和有效负载重建分别如图10-6和10-7所示。请注意,下游的FEC编码处理步骤是在下游置乱之前应用的。
10.3.2 Upstream FEC
上游的FEC代码为RS(248,232)。每个码字都有248个字节长。在一个码字中,232个数据字节后面跟着16个奇偶校验字节。PSBu部分不包括在FEC码字中。PHY突发中的第一个码字以XGTC标头部分开始。一个特定ONU的所有分配都具有相同的FEC状态。连续分配被编码为单个数据块,因此在突发结束时最多有一个缩短的码字。在解码器处的上游FEC奇偶校验码节插入和有效载荷重构分别如图10-8和10-9所示。
请注意,上游FEC编码处理步骤是在上游置乱之前应用的。
10.3.2.2 BWmap considerations
在构建BWmap时,OLT应考虑到FEC的使用情况,并努力提供分配,以便在何时使用FEC时将产生整数个的FEC块。一旦计算出XGTC突发内分配的GrantSizes,OLT可以通过以下步骤计算相应的XGTC突发的大小:
1)XGTC突发的大小等于GrantSizes的总和,XGTC header,XGTC trailer,和48字节PLOAM字段的总和。
2)如果请求的突发配置文件包括FEC,则FEC开销等于每个整体的一个16字节的奇偶校验块,也可能等于XGTC突发中的一个232字节的部分数据块。
3)然后,PHY突发的总大小等于XGTC突发的大小、FEC开销(如果适用)和PSBu块的大小。PSBu块的大小由OLT所选择的配置文件决定。
一旦分配了给定的PHY突发的开始时间,在BWmap中的下一个PHY突发的开始时间至少应该间隔以下内容的总和:
给定的XGTC突发的大小和FEC开销,最小保护时间,和下一个PHY突发的PSBu块的大小。
10.3.2.3 Upstream FEC on/off control
OLT通过选择适当的突发profile.,动态地在上游方向激活或停用给定ONU的FEC功能。当FEC被激活时,FEC解码器提供对上游链路上的BER的估计值。如果观察到的BER非常低,并且操作员熟悉吞吐量增益和有效误码率增加之间的权衡,则可以关闭FEC。当FEC被停用时,使用XGTC trailer中的BIP-32值获得BER估计值。如果观察到的BER过高,操作员可以再次激活FEC。
11 PLOAM messaging channel
11.1 Overview
XG-PON系统中的物理层OAM(PLOAM)消息传递通道是OLT和ONUs之间的一个操作和管理设施,它基于一组固定的消息传输在XGTC帧头(下游)和XGTC突发头(上游)的指定字段内。OLT和ONU PLOAM处理引擎显示为各自的XGTC框架子层的客户端。PLOAM通道提供比嵌入式管理通道更灵活的功能,通常比OMCI通道快。
11.1.1 PLOAM channel functionality
PLOAM通道支持XG-PON TC层管理功能。它基于在下游XGTC帧头的PLOAM分区和在上游XGTC突发头中传输的48字节消息的交换。PLOAM通道支持以下功能:
-brust配置文件通信;
-ONU激活;
-ONU注册;
-加密密钥更新交换;
-保护切换信令;
-电源管理
11.1.2 PLOAM channel rate limitations
下游的PLOAM消息可以分为两类,一类是广播到所有的ONU,另一类是单播到一个特定的ONU。在一个给定的125-µs帧内,OLT可以向每个ONU传输最多一个广播PLOAM消息和最多一个单播PLOAM消息。
ONU应该能够存储8个单播和广播PLOAM下行消息,在这些消息被处理之前。PLOAM处理模型是单线程的。PLOAM消息的规范处理时间为750µs。即,一旦在下游PHY帧N的空队列中接收到下游PLOAM消息,ONU应该能够从队列中移除该消息,执行所有相关的处理,并生成不迟于上游PHY帧N+6的上游发送的响应。此外,如果在上游发送PLOAM响应的上游帧开始时,PLOAM队列仍不为空,则应处理队列头部的消息和相应,如果给定消息类型需要响应,则不迟于后续第6个上游PHY帧准备上游传输。根据这些,OLT可以确定给定ONU的未确认的广播和单播PLOAM消息的最大数量,以及任何下游PLOAM消息的预期响应时间。
ONUs在OLT的控制下传输上游的PLOAM消息,OLT在各自的分配结构中显式地设置了PLOAMu标志。OLT应给予每个ONU定期的PLOAM传输机会。OLT会授予ONU上游PLOAMu传输速率,基于ONU类型、配置的操作和服务参数、在下游传输的PLOAM消息的数量和类型,以及ONU自己以PLOAM队列状态指示的形式进行的反馈。
11.1.3 PLOAM channel robustness (稳定性)
当单播PLOAM消息处理的结果是ONU进入或保持在操作状态时(见第12条),它通过生成上游PLOAM消息来确认处理结果。这样的响应PLOAM可以是特定的PLOAM协议所要求的特定类型,也可以是通用的确认类型。在出现下游PLOAM格式或处理错误时,也会生成一个确认PLOAM消息。特定类型响应和确认类型响应都携带要确认的下游消息的序列号。此外,确认类型响应携带一个完整代码,指示PLOAM消息处理的结果。
此外,当没有上游PLOAM可用于传输时,将使用确认类型的PLOAM消息来响应PLOAM分配。在这种情况下,完成代码允许区分空闲条件(传输队列中没有PLOAM消息或正在处理)和繁忙条件(PLOAM上游传输队列为空,但正在处理下游PLOAM消息)。
11.2 PLOAM message format
11.2.1 ONU-ID
ONU-ID字段包括6个保留位,再加上一个实际的10位ONU标识符,该标识符指定下游方向的消息接收者或上游方向的消息发送者。在ONU激活期间,ONU被分配一个0到1022范围的ONU-ID。保留的ONU-ID值1023(0x3FF)表示在下游方向的广播消息或在上游方向未分配ONU-ID的ONU。
11.2.2 Message type ID
消息类型ID是一个8位的字段,它指示消息的类型,并定义了消息有效负载的语义。
11.2.3 SeqNo
SeqNo是一个8位字段,其中包含一个序列号计数器,用于确保PLOAM消息传递通道的健壮性。在下游方向上,在SeqNo字段中填充了相应的OLT序列号计数器的值。OLT为每个ONU单播和广播PLOAM消息流维护一个单独的序列号计数器。广播PLOAM消息流的计数器在OLT重新启动时被初始化为1。对于每个ONU,OLT在ONU-ID分配时将序列号计数器初始化为1。在传输广播或单播PLOAM消息时,适当的序列号计数器被增加。每个序列号计数器从255转到1;下游不使用值0。
在上游方向上,当上游PLOAM消息是对下游PLOAM消息的响应时,SeqNo字段的内容就等于下游消息的SeqNo字段的内容。相同的SeqNo可能出现在多个上游PLOAM消息上;
11.2.4 Message content
消息有效负载内容特定于特定的消息类型ID,并在第11.3条中定义。消息有效负载内容的未使用的八进制数被传输PLOAM处理器填充为值0x00,并被接收PLOAM处理器忽略。
11.2.5 Message integrity check
消息完整性检查(MIC)是一个8字节的字段,用于验证发件人的身份,并防止伪造的PLOAM消息攻击。如果PLOAM消息的消息完整性检查失败,则接收方将丢弃它。
MIC生成的规定见第15.6条。PLOAM MIC第15.8条规定了密钥生成、和管理。
发送方使用PLOAM消息内容和共享的PLOAM完整性密钥计算MIC,并通过PLOAM消息发送。使用相同的消息内容和共享密钥,接收方计算其MIC的版本,并将其与接收到的PLOAM消息中所携带的MIC值进行比较。如果两个MIC值相等,则PLOAM消息有效。否则,消息将声明无效,应该丢弃。
11.3 PLOAM message definitions
11.3.1 Downstream message summary
Message type ID | Message name | Function | Trigger | Effect of receipt |
0x01 | Profile | 广播或单播消息,以提供上游突发报头信息。 | 定期由OLT自行决定。 | ONU存储Profile,以用于后续的上游传输。如果处于状态O5并响应定向Profile消息,请发送确认。 |
0x09 | Request_Registration | 请求ONU的注册ID。 | 由OLT自行决定;ONU之前已经被激活了。 | 发送注册消息。 |
0x0D | Key_Control | OLT指示ONU生成一个新的数据加密密钥或确认一个现有的数据加密密钥 | 由OLT自行决定。 | 为响应内容的每个32字节片段发送一条Key_Report消息。 |
0x12 | Sleep_Allow | 实时启用或禁用ONU节能 | 由OLT自行决定。 | 如果通过OMCI启用了ONU电源管理,则ONU响应由第16条的状态机控制。否则,ONU将忽略该消息。 |
11.3.2 Upstream message summary
0x02 | Registration | 要报告一个ONU的注册ID。 | 当ONU处于范围状态或响应范围授予时,或当ONU处于操作状态并响应“请求注册”消息时 | OLT可以使用第15.2.1条中进一步描述的ONU的注册ID。 |
11.3.3.1 Profile message
突发profile信息以几百毫秒或更长时间的间隔周期性地传输。特定的突发profile定义的版本可能会随着时间的推移而改变,因此,在每次消息出现时,ONU都将使用最新版本更新自己。为了确保所有ONUs都是最新的,OLT在每个ONU处于唤醒状态时至少接收两次之前不会使用更改后的信息。
ONU积累的突发Profile message 不会在ONU激活过程中持续存在。新激活的ONU只有在获得与该授予相关联的突发Profile message 后,才可以对广播序列号授予作出响应。
12 ONU activation
12.1.1 Definitions
从下游PHY帧的传输到从给定的ONU最早接收到相应的PHY上游突发之间的OLT处的时间间隔称为ONU的往返延迟(RTD)。
RTD由与ONU的光纤距离成正比的往返传播延迟和ONU的响应时间组成。RTD因ONU而异。为了确保来自不同ONUs的突发在同一上游PHY帧的边界上对齐,每个给定的ONU必须在其常规响应时间后延迟上游突发的传输。这个额外的时间被称为ONU的均衡延迟(EqD)。每个给定ONU的方程EQD由OLT根据相应RTD的测量计算。
为了避免在序列号获取和新加入的ONUs范围期间与常规的上游突发发生冲突,在可以预期来自新ONU的上游突发到达的时间间隔内,OLT必须暂时抑制在职ONU的上游传输。这样的时间间隔被称为一个安静的窗口。
激活过程包括三个阶段:同步、序列号采集和测距。
在同步阶段,ONU在保持被动状态的同时,初始化下游同步状态机的一个本地实例,并实现与下游PHY帧的同步。
在序列号采集阶段,ONU开始学习用于上游传输的突发profile参数。ONU通过响应序列号授予来宣布其在PON上的存在。序列号授予是一种分配结构,其地址是广播的Alloc-ID,并设置了PLOAMu标志。OLT通过其序列号发现一个新的ONU,并为该ONU分配一个唯一的ONU-ID
在测距阶段,ONU响应定向测距授权。范围授予是一种分配结构,它指向ONU的默认Alloc-ID,并设置了PLOAMu标志。OLT执行往返延迟测量,计算均衡延迟,并将其通信给ONU。
12.1.2 Causal sequence of activation events
OLT通过发布特定于功能的带宽授予、交换上游和下游的PLOAM消息来控制ONU的激活过程。激活过程事件的因果顺序的概要如下:
1、进入激活过程的ONU侦听下游传输,并获得PSync和超帧同步。
2、ONU侦听由OLT定期发布的Profile PLOAM消息,以开始学习为上游传输指定的burst profiles 。
3、一旦ONU收到一个具有已知Profile的序列号授予,它就会通过一条Serial_Number_ONU PLOAM消息宣布其在PON上的存在。
4、OLT发现一个新连接的ONU的序列号,并使用Assign_ONU-ID消息为其分配一个ONU-ID。
5、OLT可选择地向新发现的ONU发放定向测距授予,并准备准确地测量响应时间。
6、ONU响应了注册PLOAM消息。
7、OLT根据注册ID对ONU进行初始认证,计算个体均衡延迟,并使用Ranging_Time PLOAM消息将该均衡延迟传递给ONU。
8、ONU根据其分配的均衡延迟调整其上游PHY帧时钟的开始。
9、ONU完成激活并开始正常操作。
对于正常运行的ONU,OLT监控到达的上游传输的相位和误码率。基于所监测的相位信息,OLT可以重新计算和动态地更新任何ONU的均衡延迟。
12.2 Activation mechanism at the ONU
12.2.1 ONU activation states, timers and counters
定义了六种ONU激活状态:
O1初始状态
O2-3序列号状态
O4测距状态
O5操作状态
O6间歇LODS状态
O7紧急停止状态
为了支持激活过程,ONU维护了两个计时器:
TO1 测距计时器。计时器TO1用于通过限制ONU可以保持在测距状态(O4)的总时间来中止一个不成功的激活尝试。TO1的建议初始值为10秒。
TO2 丢失下游同步(LODS)计时器。计时器TO2用于通过限制ONU可以保持在间歇性LODS状态(O6)的时间,来断言从间歇性LODS状态中恢复的失败。TO2的推荐初始值为100 ms。
12.2.2/3 ONU activation state specification (与GPON区别在于没有los,只有lof、02/03状态时合并的,等待接收Assign ONU-ID)
12.3 OLT support of the activation process
为了允许ONUs加入或恢复在PON上的操作,OLT会定期发布序列号授予。序列号授予被发送给广播Alloc-ID,携带一个常见的广播突发配置文件,并设置了PLOAMu标志。序列号授予应该有重置DBRu标志,携带授予大小为0,并伴有一个适当的安静窗口。序列号授予的频率可以通过操作考虑进行调节,包括未决的ONU安装和暂时不活动或故障的ONU。
一旦OLT发现了一个愿意加入或恢复在PON上的操作的ONU,它就会执行ONU-ID分配,并可能向该ONU发出定向测距授予,以测量其往返延迟。测距授予被指向处于测距状态的ONU的默认Alloc-ID,携带先前已通信给ONU的突发配置文件,并设置了PLOAMu标志。
测距补授权应重置DBRu标志,携带GrantSize为0,并配有适当的静默窗口。在某些情况下,例如,在发生电源丢失或保护切换事件后,OLT可能会分配ONU-id并发出已知的范围授予,而不会显式地重新发现它们的序列号。在决定伴随测距授予的静默窗口的大小时,OLT可以使用从序列号响应获得的测距信息,在ONU的先前激活期间,或者在受保护的光分布网络(ODN)的情况下,通过备选ODN路径获得的测距信息。
当ONU处于操作状态时,OLT可以使用对该ONU的任何授权来执行在职往返延迟测量和均衡延迟调整。
OLT可自行决定停用先前分配的ONU-ID,迫使ONU丢弃所有TC层配置信息并重新进入激活过程,或禁用特定序列号,迫使该ONU进入紧急停止状态,并抑制该ONU的任何上游传输或状态转换,直到将来获得明确许可。
OLT可以使用均衡延迟调整、ONU-ID停用和禁用序列号功能,以防止ONU预防、检测和隔离。在一种极端的情况下,当一个无法声明其序列号的ONU表现出流氓行为时,OLT可以全局禁用PON上的所有ONUs,并随后逐个重新启用符合要求的ONUs。
13 OLT and ONU timing relationships
13.1 ONU transmission timing and equalization delay
本条款中提供的材料基于以下定义:
1)下游PHY帧的开始是PSync字段的第一位的传输/接收时刻。
2)上游PHY突发的参考开始时间是由相应带宽分配结构的开始时间所识别的字的第一位的发送/接收时刻。这是XGTC突发头的第一位。 3)上游PHY帧的开始是第一字的第一个位的发送/接收时刻(实际的或计算的),如果存在,则将由零值的开始时间指针识别。
4)OLT处的静默窗口偏移量是从传输序列号授予或测距授予的下游PHY帧开始到携带响应PLOAM的上游PHY突发的最早可能开始之间所 经过的时间。
5)OLT处的上游PHY帧偏移量Teqd是从携带特定BWmap的下游PHY帧开始到实现该BWmap的上游PHY帧之间经过的时间。
13.1.1 Timing of ONU upstream transmissions (O1)
所有的ONU传输事件都被引用到携带包含相应的突发分配序列的BWmap的下游PHY帧的开始处。注意,特别是,ONU传输事件没有引用相应的突发分配序列本身的接收,这可能发生在下游PHY帧的可变时间。
在任何时候,ONU保持一个运行的上游PHY帧时钟,该钟与下游PHY帧时钟同步,并精确偏移量。偏移量是两个值的总和:ONU响应时间和必要的延迟,如图13-1所示。(Propagation delay:扩展延时 ONU response time:响应时间, Requisite delay:必要延时 )
ONU响应时间的范围是一个系统范围的参数,选择给ONU足够的时间来接收下游帧,包括上游带宽图,根据需要执行下游和上游FEC,并准备上游响应。所有ONUs的ONU响应时间都被要求为35±1 μs。此外,ONU还需要知道其响应时间。
一般术语“必要延迟”是指ONU在其常规响应时间后可能需要适用于上游传输的总额外延迟。必要延迟的目的是补偿单个ONU的传播和处理延迟的变化,并避免或减少上游传输之间发生的碰撞概率。必要延迟的值随ONU状态的变化如下所述
13.1.2 Timing relationships and quiet window during serial number acquisition (O2-O3)
ONU在激活过程中获得与下游PHY帧的同步后,将进入Serial_Number状态(O2-3)。当处于此状态的ONU接收到序列号授予时,它将以Serial_Number_ONU PLOAM消息的形式发送序列号响应。
为了避免来自序列号状态的ONU的序列号响应与来自操作状态的ONUs的常规上游突发之间的冲突,OLT打开一个安静窗口,暂时抑制服务ONUs的上游传输
由于序列号授予是针对所有处于Serial_Number状态的ONU的广播带宽分配,因此可能会有多个ONU响应它,当多个序列号响应同时到达OLT时,可能会发生冲突。为了减少碰撞的概率,序列数状态下(O2-O3)的必要延迟是局部生成的随机延迟。随机延迟的范围为0-48 μs,并且相对于标称上游线速率2.48832 Gbit/s,以比特时间表示。对于对序列号授予的每个响应,ONU将生成一个新的随机延迟。
13.1.3 Timing relationships and quiet window during ranging (O4)
在分配ONU-ID时,ONU进入测距状态(O4)。在测距状态下,ONU将使用PLOAMu标志设置的任何定向带宽分配解释为测距授予,并使用注册PLOAM消息响应它。
为了避免测距授予响应和来自操作状态的ONU的常规上游突发之间的碰撞,OLT打开一个安静窗口,暂时抑制在职ONU的上游传输。在测距期间,必要的延迟等于零。
13.1.4 Calculating the equalization delay
由OLT计算并通信到ONU的均衡延迟值相对于2.48832 Gbit/s的标称上游线速率精确到单个比特时间。ONU需要保持均衡延迟调整的间隔尺寸。
一旦ONU提供均衡延迟值,它就被认为同步到上游PHY帧的开始。上游数据在分配结构指定的相对于上游PHY帧开始的时间间隔内传输。
13.1.5 Timing relationships during regular operation (O5)
在操作状态下,ONU保持其上游PHY帧时钟与下游PHY帧时钟同步,并且偏移量是ONU响应时间和Ranging_Time消息中OLT指定的分配的均衡延迟之和,如图13-5所示。当ONU接收到一个带宽分配时,它传输从开始时间字段中指示的上游字开始的数据。在正常操作过程中,所需的延迟等于所分配的均衡延迟。
13.1.6 In-service equalization delay adjustment
OLT预计ONU的上游传输将在上游PHY帧期间的固定时间到达。ONU传输的到达阶段可能会由于老化、温度的变化等因素而发生漂移。在这些情况下,均衡延迟可以根据上游传输的漂移进行重新计算和调整。服务均衡延迟调整允许进行小的修正,而不必重新调整ONU。
均衡延迟的变化等于符号相反的漂移时间。如果PHY突发提前到达,则OLT将通过漂移时间增加均衡延迟。如果PHY突发到达较晚,则OLT将通过漂移时间减少均衡延迟。均衡延迟调整使用Ranging_Time PLOAM消息通信到处于操作状态下(O5)的ONU。一个相对延迟参数可以方便地用于此目的。
为了避免过度频繁的均衡延迟调整并确保符合ONU,OLT保持两个适用于所有ONU的漂移阈值。较低的阈值建立了传输漂移被认为是可接受的安全范围,不需要任何减轻措施。当漂移超过下阈值时,OLT计算一个新的均衡延迟值,并使用Ranging_Time PLOAM消息将其发送到ONU。OLT还可以识别窗口的漂移(DOWi)事件。上阈值建立临界,传输漂移会影响PON上的其他onu。如果漂移超过上阈值(只要ONU符合均衡延迟调整就不应该发生的事件),OLT声明传输干扰警告(TIWi),并采取进一步的减轻措施,可能包括停用或禁用违规ONU-ID,或执行流氓ONU诊断程序。
13.1.7 Quiet window implementation considerations
当处于序列号和测距状态时,ONUs传输Serial_Number_ONU PLOAM消息和注册PLOAM消息。因为OLT还不知道这些ONUs的均衡延迟,所以它打开了一个安静的窗口,以防止序列号或测距响应与在服务的ONUs的常规上游传输之间的冲突。
13.2 Time of day distribution over XG-PON
本条款描述了获取XG-PON ONU的准确时间(ToD),OLT和ONU之间的定时关系,以及定时误差分析。在ONU处所要求的ToD时钟的精度为±1。实现ONU模具时钟的准确性是进一步研究的课题。
其操作原理如下。假设OLT具有精确的实时时钟,通过超出本建议范围的方法获得。OLT通知ONU一天中某个下游XGTC帧到达一个假设的ONU的时间,该ONU具有零均衡延迟和零ONU响应时间。某些下游帧由N标识,其超帧计数器的值,这是协议的一个现有特征。信息传输使用OMCI通道完成,不需要实时传输。在学习了第N帧的ToD到达时间后,ONU可以利用其均衡延迟和响应时间以非常高的精度计算与任意下游帧到达相关的ToD。
13.2.1 Notation
TstampN:这个术语指的是下游XGTC帧N的第一位到达一个假设的ONU时的确切ToD,该ONU的EQD为零,响应时间为零。信号到达ONU的时刻被定义为光信号穿过作为ODN和ONU之间的边界的光连接器或剪接器的瞬间。
TsendN:下游帧N的第一位离开OLT的确切标记。信号的离开被定义为光信号穿过作为OLT和ODN之间的边界的光连接器或剪接器的瞬间。
TrecvN,i –下游帧N的第一位到达ONU i的确切标记。信号到达ONU的时刻被定义为光信号穿过作为ODN和ONU之间的边界的光连接器或剪接器的瞬间。
RspTimei-ONU i的响应时间的值,它在34到36微秒的范围内。
Teqd-上游PHY帧相对于OLT位置的下游PHY帧的偏移量。OLT调整每个ONU的均衡延迟,这样,对于所有的ONU,OLT处的上游帧的开始发生在下游帧开始后的Teqd秒。
15 XG-PON security
本条款讨论了XG-PON操作环境中的威胁模型特征,并指定了系统的身份验证、数据完整性和隐私保护等方面.
15.1 Threat model for XG-PON
XG-PON安全旨在防止以下威胁:
a)由于下游数据被广播到XG-PON OLT上的所有ONUs,恶意用户可以替换或重新编程ONU的下游数据。
b)由于光线路终端(OLT)接收到的上游数据可以来自于连接到XG-PON光分配网络(ODN)的任何ONU,恶意用户能够替换或重新编程ONU的伪造数据包。
c)攻击者可以在基础设施上的不同点连接恶意设备,可以拦截和/或产生流量。它可以伪装成OLT,也可以伪装成ONU。
d)在上述任何一种情况下,恶意用户都可以记录在无源光网络(PON)上传输的数据包,然后将它们回放回PON上,或者进行位翻转攻击。
无源光网络(PONs)被部署在各种各样的场景中。在某些情况下,ODN、分光分离器,甚至ONUs可以以一种被认为是物理安全或防篡改的方式安装。为了以经济的方式适应这些场景,激活一些XG-PON安全特性是可选的,如以下条款所示
15.2 身份验证
XG-PON系统支持几种身份验证机制。
第一种机制是基于注册ID。它在ONU激活的过程中执行,并可能在整个激活周期中重复进行,即,直到ONU的下一次进入初始状态(O1)。基于注册的身份验证机制为ONU到OLT上游的基本身份验证。它不提供OLT到ONU下游的身份验证。所有XG-PON设备都必须支持基于注册的身份验证机制。
第二种是基于ONU管理和控制接口(OMCI)消息交换(见附件C)。
第三种是基于IEEE 802.1X消息交换,并提供了广泛的可扩展特性(见附录D)
在设备规范阶段,运营商可以要求支持一个或两个安全相互认证机制,并在系统服务时使用任何或没有认证方法,包括基本的基于注册的身份认证。
在身份验证失败时,OLT可能采取措施恢复功能并防止潜在的安全漏洞,这可能包括使用相同或替代机制重复身份验证、阻止上游和下游流量、停用或禁用违规ONU,或执行流氓ONU诊断程序。
15.2.1 Registration ID-based authentication
基于注册id的身份验证机制可以提供ONU到OLT的身份验证,反之不行。所有XG-PON系统都必须支持它。为了保持完整的功能,此方法要求:
-将注册ID分配给管理层的用户;
-将注册ID提供到OLT并直接通知现场人员或用户;
-ONU支持在现场输入注册ID的方法(该方法的规范超出了本建议的范围);
-现场人员或订阅者实际上将注册ID输入ONU
15.2.1.1 The OLT perspective
OLT必须支持基于报告的注册ID执行ONU身份验证的可能性(此过程的细节是针对操作人员的),以及基于报告的注册ID执行MSK和派生的共享密钥计算过程(见第15.3条)。OLT在以下情况下向ONU请求注册ID:
-在ONU激活过程中,通过发出测距授权;
-作为完成安全相互认证过程后的最后握手,向ONU发送请求注册消息;
-在ONU激活周期的任何时候,自行决定向ONU发送请求注册消息。
如果在收到来自ONU的注册ID时,OLT和ONU之间没有有效的安全相互关联(SMA)(即,在ONU激活过程中,或者没有执行安全相互认证或失败),OLT:
-必须根据报告的注册ID计算主会话密钥(MSK)和派生共享密钥;
-可以根据报告的注册ID对ONU执行身份验证
由操作员指定是否执行基于注册的身份验证以及如何使用结果。基于注册的认证失败不得阻止OLT向ONU发出均衡延迟或与ONU保持管理级别通信,但可能对OLT进一步处理ONU,特别是对后续服务供应产生影响。
如果在进行注册ID报告时,OLT和ONU之间存在有效的SMA,则不会执行基于注册的身份验证,也不会计算基于注册的MSK和派生的共享密钥。
一旦OLT向ONU发送请求的注册消息,同时期望使用报告的注册ID进行共享密钥派生,它就避免使用ONU特定的MIC,直到接收到注册ID和计算基于注册的MSK和派生共享密钥发送给ONU其他PLOAM或OMCI消息。
一旦OLT完成了对特定ONU的基于注册的MSK和派生的共享密钥的计算,它将立即将这些密钥提交为活动密钥。
在ONU的激活周期开始时,OLT会丢弃任何活动的基于注册的MSK和派生的共享密钥。
15.2.1.2 The ONU perspective
ONU必须能够根据注册ID计算MSK和派生的共享密钥。
ONU在通电时计算基于注册的MSK和派生的共享密钥,以及每次注册ID更改时。计算值的存储以备将来使用。由于在任何时候都需要基于注册的密钥集,ONU可以通过存储基于注册的MSK和派生的共享密钥与MSK和基于安全相互认证的派生共享密钥分开获益。
ONU在以下情况下向OLT报告注册ID:
-在ONU激活的过程中,响应一个测距授予;
-在ONU激活周期中的任何时候,响应请求_注册消息。
导致基于注册的密钥重新计算的事件与物理层操作、管理和维护(PLOAM)通道事件异步。ONU在向OLT报告其注册ID时,应具有基于注册的MSK和派生的共享密钥。
如果OLT和ONU之间没有有效的SMA,ONU会在发送注册PLOAM消息后立即根据报告的注册ID提交共享密钥集。ONU保留注册ID和存储的基于注册的MSK,以及在激活周期之间和电源周期之间派生的共享密钥
15.5.3.1 Sequence of encryption key exchange and activation events
单播数据加密密钥交换和激活的过程在OLT的控制下通过一系列PLOAM消息进行。激活过程事件如下:
1、控制系统首先使用包含新密钥的密钥索引的Key_OLT(Generate)PLOAM消息从ONU请求一个新的单播数据加密密钥。发送请求的单个副本,如果没有响应,OLT应该重试该请求。
2、在收到来自OLT的Key_Control(Generate)PLOAM消息后,ONU将使用适合于加密的随机数生成器生成一个新的加密密钥。ONU将新密钥存储在其加密控制和解密控制结构中(根据指定的密钥索引)。然后,ONU使用Key_Report(NewKey)PLOAM消息将新密钥发送到OLT。密钥在AES-ECB的Key_Report(NewKey)PLOAM消息中加密。
3、当OLT接收到Key_Report(NewKey)PLOAM消息时,它会解密新密钥,并根据指定的密钥索引将其存储在原始ONU的逻辑加密控制和解密控制结构中。
4、然后,OLT发送包含新生成密钥的键索引的Key_Control(Confirm)PLOAM消息。
5、当ONU收到Key_Control(确认)PLOAM消息时,它知道OLT现在有了新的密钥。因此,ONU将加密控制结构中的新密钥状态更改为活动状态。ONU响应一个Key_Report(存在Key)PLOAM消息,指示指定密钥的“Key_Name”。
6、如果OLT在任何时候希望根据自己的密钥检查ONU的密钥(以诊断密钥不匹配的情况),OLT可以为现有密钥的密钥索引发出密钥控制(确认)PLOAM消息。这将触发ONU响应一个包含密钥名称的Key_Report(存在密钥)PLOAM消息。
前面的描述属于一个正常的密钥交换过程;但是,第15.5.3.2条和第15.5.5.3.3条中的状态图是该行为的主要参考。
如果在收到Key_Report(存在密钥)PLOAM消息时,OLT发现报告的密钥和本地计算的密钥哈希之间的差异,它应该停止使用具有指定密钥索引的数据加密密钥,并自行决定采取补救操作。这些操作可能包括,例如,密钥的重新确认、生成新密钥、或ONU的重新身份验证。
参照图15-3和15-4的状态图,符号约定“oldkey”和“newkey”表示两个数据加密密钥(具有对应的密钥索引),前者在密钥交换启动前是激活的,后者在密钥交换完成后是激活的。
注意,在关键交换的OLT和ONU,oldkey时刻发送失效和oldkey时刻接收失效是不同的,并且newkey发送有效也是不同于newkey的接收有效。
对于OLT和ONU,存在一个oldkey和newkey对传输都有效的时间间隔,以及存在一个oldkey和newkey对接收都有效的时间间隔。在oldkey和newkey对传输有效的时间间隔内,各发送方选择开始加密newkey输出的XGEM帧有效负载并将newkey的密钥_index索引到输出的XGEM帧报头。一旦发送方切换到使用newkey进行发送,发送方应该停止使用并丢弃oldkey进行传输。在oldkey和newkey都对接收有效的时间间隔内,接收方接收任何一个key_index来解密传入的XGEM帧有效负载。在此间隔之外,接收方将丢弃使用无效密钥加密的XGEM帧有效负载。
OLT负责确保Key_Control PLOAM消息的key_index参数被正确设置。特别是,OLT应该避免ONU上无效的key_index发送Key_Control(Confirm)PLOAM消息,除了密钥不匹配恢复情况外,也要避免ONU唯一有效的key_index发送Key_Control(Generate)PLOAM消息。
15.5.3.2 OLT states and state diagram
加密密钥交换和激活的五种OLT状态定义如下:
Key Inactive state (KL0) ONU已注册并处于O5状态。没有用于XGEM有效负载加密的活动密钥。在OLT和ONU之间没有有效的接收和/或传输的键。当OLT决定启动单播数据加密密钥交换时,它将移动到密钥请求状态(KL1)。
Key Request state (KL1) OLT通过发送Key_Contol(Generate)PLOAM消息来启动新的密钥请求,该消息指示ONU生成新密钥并将其发送到上游。在这种状态下,OLT尚未知道新密钥,因此接收无效,传输无效。如果存在旧密钥(即现有密钥),则旧密钥对于接收仍然有效,对于在OLT上发送仍然有效。一旦收到Key_Report(NewKey)PLOAM消息,OLT将移动到密钥确认状态(KL2)。
如果计时器TK1过期,并且没有接收到Key_Report(NewKey)消息,则OLT将启动一个新的密钥请求。
Key Confirm state (KL2) 在此状态下,新密钥在发送时有效,而在OLT上接收时无效。旧密钥(如果有旧密钥)对接收有效,对在OLT上发送有效。OLT选择开始使用新密钥加密XGEM有效负载的时刻。
Key Confirm Waiting state (KL3) OLT为指定的密钥索引发送一个键_控制(Confirm)PLOAM消息。新密钥对接收有效,对在OLT上发送有效。旧密钥(如果有旧密钥)在接收时仍然有效,但在OLT上发送则无效。一旦收到Key_Report(ExistingKey)PLOAM,OLT将移动到密钥活动状态(KL4)。如果计时器TK2过期,且没有收到Key_Report(ExistingKey),OLT将发送一个新的Key_Control(Confirm)PLOAM消息。
Key Active state (KL4) 一旦收到Key_Report(ExistingKey)PLOAM消息,旧密钥(如果有旧密钥)接收无效,传输无效。新密钥是在OLT和ONU之间接收和传输的唯一活动密钥。如果需要重密钥,OLT将移动到密钥请求状态(KL1)。如果需要进行密钥检查,OLT会发送Key_Control(Confirm)PLOAM消息,但不会发生状态转换。
为了支持加密密钥交换和激活,OLT维护了三个计时器:
TK1-OLT密钥交换等待计时器。计时器TK1用于通过限制OLT在KL1、KL2和KL3状态中停留的总时间来中止不成功的密钥交换或密钥检查尝试。TK1的推荐初始值为100 ms。
TK2 – 键等待计时器。计时器TK2用于通过限制OLT在KL1状态下停留的总时间来中止不成功的密钥请求尝试。TK2的推荐初始值为10 ms。
TK3-密钥确认等待计时器。计时器TK3用于通过限制OLT可以在状态KL3中停留的总时间来中止一个不成功的密钥确认请求尝试。TK3的推荐初始值为10 ms。
15.5.3.3 ONU states and state diagram
加密密钥交换和激活的五种ONU状态定义如下:
Key Inactive state (KN0)
ONU已注册并处于O5状态。在OLT和ONU之间没有用来进行XGEM有效负载加密的活动密钥。当收到新密钥的Key_Control(Generate)PLOAM消息时,ONU将移动到密钥生成状态(KN1)。
Key Generating state (KN1)
ONU将生成一个新的键。如果有旧密钥,则旧密钥对接收有效,对在ONU上发送有效。新密钥接收无效,在ONU上发送无效。
Key Ack Waiting state (KN2)
ONU发送一条Key_Report(NewKey)PLOAM消息,通知OLT新密钥。新密钥使用KEK进行加密,以便使用AES-ECB进行PLOAM传输。新密钥在接收时成为有效,而在ONU上传输时仍然无效。一旦收到Key_PLOAM(Confirm)控制消息,ONU将移动到Key Ack状态(KN3)。
如果计时器TK5过期,并且没有收到Key_控制(Confirm)消息,则ONU将使用新密钥重新发送Key_Report(NewKey)PLOAM消息。如果控制接收到新的Key_ONU(Generate)PLOAM消息,它也会重新发送Key_Report(NewKey)PLOAM消息。在这种情况下,ONU可以自行决定使用以前生成的密钥,或者生成另一个新密钥。
Key Ack state (KN3)
在此状态下,新密钥对接收有效,对在ONU上传输有效。旧密钥(如果有旧密钥)在传输时仍然有效,但在ONU上接收时则无效。ONU开始使用新密钥加密XGEM有效负载。ONU通过发送包含新生成密钥的Key_Report(ExistingKey)PLOAM消息来确认OLT。一旦发送了Key_Report(ExistingKey)PLOAM消息,ONU将移动到密钥活动状态(KN4)。
Key Active state (KN4)
在此状态下,新密钥对接收有效,对在ONU上传输有效。旧密钥(如果有旧密钥)在接收时无效,在ONU上传输时无效。
一旦收到当前不活动的key_inkey Key_Control(Generate) PLOAM消息,ONU将移动到密钥生成状态(KN1),活动密钥作为旧密钥引用。
如果在任何时候收到针对现有密钥的Key_Control(Confirm) PLOAM消息,ONU将发送密钥_报告(ExistingKey)PLOAM消息,但不会发生状态转换。
为了支持加密密钥交换和激活,ONU维护了两个计时器:
TK4-ONU密钥交换等待计时器。计时器TK4用于通过限制ONU在KN1、KN2和KN3状态集合中停留的总时间来中止不成功的密钥交换或密钥检查尝试。TK4的推荐初始值为100 ms。
TK5-键Ack等待计时器。计时器TK5用于限制ONU可以在状态KN2中停留的总时间。TK5的推荐初始值为20 ms。
15.5.4 Downstream multicast encryption
密钥交换过程由OLT启动。OLT会选择要更改的键索引。OLT停止使用此密钥索引,以避免在重新键控过程中密钥不匹配。OLT使用适合于加密目的的随机数生成器生成每个广播密钥。然后,OLT通过OMCI将密钥写入配置以接收组播流量的每个ONU的MIB中的广播密钥表属性(参见[ITU-TG.988]的第9.13.11条)。广播加密密钥使用使用KEK的AES-ECB算法进行加密。OMCI是一个公认的通道,因此OLT可以确认ONU确实已经修改了有问题的关键属性。一旦OLT确认所有相关的ONUs都有新的广播密钥,OLT就可以将密钥索引重新投入服务。
15.6 Integrity protection and data origin verification for PLOAM
对于PLOAM消息传递通道,通过使用PLOAM消息格式的8字节消息完整性检查(MIC)字段来实现发送者身份验证和防止伪造的保护。
15.6.1 Cryptographic method
PLOAM消息格式的MIC字段使用[NIST SP800-38B]中指定的基于密码的消息认证码(CMAC)算法构建,并使用128位高级加密标准(AES-128)加密算法[NIST FIPS-197]作为底层块密码。调用AES-CMAC函数的参数和符号在第15.3.1条中描述。
15.6.2 MIC calculation
根据PLOAM消息内容的40字节和PLOAM完整性键PLOAM_IK,发送方和接收方可以计算MIC字段如下: