如果将要传输的以太网传输开销超过网络的最大传输单元(MTU),则应用传输分段。
本文档中允许两种分段方法:
- 应用层分段
- 传输层分段
1)应用层分段
当应用程序创建C平面或U平面消息时,确保其payload可以满足网络设置的MTU要求。
每条消息Sequence ID加一,E=1,Subsequence ID=0。E bit和Subsequence ID用于无线传输层分段,在应用层分段中,应使用默认值。
上图是应用层分段的一个示例,一个长数据section被分割成了多个U平面消息。
图中可以看出,一个C平面消息(SectionId=0xABC),被9个相同SectionId的U平面消息引用,并且每个U平面消息中包括了不同PRB范围,U平面消息之间的PRB组是连续的,分别由startPrbu和numPrbu字段指示。即,C平面消息描述的PRB范围是0~272,U平面消息描述的PRB范围分别是0~31,32~63,64~95,96~127,128~159,160~191,192~223,224~255,256~272。
示例中I/Q的位宽是14bit,对于这样大的数据section,需要多个U平面消息。
ecpriRtcid/ecpriPcid的值0xDEF3是随机值,具体意义需要根据子字段的划分进行明确定义。
C平面消息中Sequence ID的值0x99与U平面消息中Sequence ID的值0x40~0x48是独立产生,两者之间没有联系。详见ORAN传输封装类型中的描述。
2)无线传输层(eCPRI或IEEE 1914.3)分段
当应用程序创建U平面消息时,其payload可能超出网络设置的MTU要求。
无线传输层将可能包含多个section的消息拆分为多个片段,以使每个分段的payload符合网络设置的MTU要求。
对于所有分段,Sequence ID保留相同的值。Subsequence ID从0开始递增,第一个分段Subsequence ID=0,第二个分段Subsequence ID=1,以此类推。除最后一个分段的E bit=1外,其余分段的E bit=0。
两种分段方式的ecpriSeqid字段对比如下:
1)应用层分段由应用程序在生成U平面消息时,生成不同的Sequence ID,E bit始终等于1,Subsequence ID字段始终等于0。
2)eCPRI层分段可以将应用程序生成一个U平面消息分成多个较小的U平面消息,Sequence ID不变,分段后的最后一个U平面消息E bit=1,其他U平面消息E bit=0,Subsequence ID字段从分段后的第一个U平面消息开始,从0递增。
3)分段准则
应该使用应用层分段,以便使用最大size的标准IEEE 802.3以太网帧。(如果使用巨帧,则增加最大MTU size)。
- 在仅有L2的解决方案中,应用层最大传输单元(MTU)大小为:标准IEEE 802.3以太网帧payload size(1500字节)- 传输开销(8字节)= 1492字节(或对于巨帧,MTU size更大)
当由于PRB数量大而对U平面section payload进行分段时,U平面消息携带的PRB数据将被分成多个PRB组,以使每个PRB组(包括应用程序header)符合MTU要求。每个PRB组应具有各自的控制字段,包括来自C平面的相同section ID,以及标识其内容的startPrbu和numPrbu。应用层分段后的每个U平面消息,具有相同的section ID和不同的PRB范围,且不同U平面消息携带的PRB是连续的。
当应用层消息超过M平面配置MTU size时,可以在传输层应用无线传输层分段。优点是,允许应用层消息符合任何MTU size,而应用程序无需知道传输级的详细信息。
参考 《O-RAN.WG4.CUS.0-R003-v11.00.pdf》