论文部分内容阅读
一、研究背景
某市Gb over IP局DGM23BE曾出现部分小区数据业务故障,爱立信BSC工程师分析认为是SGSN回送给BSC的数据包的目的地址错误导致的,即SGSN侧选择BSC的IP错误。
为便于日后对Gb over IP类似问题的分析,我们特针对Gb Over IP局的NSE选择对端IP的机制进行前。
3GPP 规范TS48.016中介绍了两种情况:load sharing function(负荷分担)和resource distribution function(资源分配),下面我们进行实际数据包分析,并对协议描述进行解读。
二、数据包实例分析
网元:DGM23BE
数据包时间:2011年6月20日下午
Case 1:BSC发送UL-UNITDATA请求改变IP端点
对应的数据包图示如下:
图:BSC发送UL-UNITDATA请求SGSN改变IP端点
从上图看出:
(1)第9、10个数据包:SGSN(10.129.185.46)发送下行数据包至BSC(10.128.189.68);
(2)第12、13、14个数据包:BSC(10.128.189.77)上发UL-UNITDATA至SGSN(10.129.185.46),请求SGSN将接下来的数据包发至10.128.189.77。
(3)第15、16、18、19个数据包:SGSN将数据包发送至BSC所期望的地址10.128.189.77。
值得注意的是,SGSN響应的下行NS-UNITDATA并没有将C-bit置1,这一点与Example 1略有不同。
Case 2:SGSN发送DL-UNITDATA请求改变IP端点
对应的数据包图示如下:
据观察,SGSN一般会在用户PDP激活成功之后,发起DL-UNITDATA消息,触发Resource Distribution Function。
如上图所示:
(1)第1个数据包:用户激活成功(Active PDP Context Accept);
(2)第3个数据包:SGSN(10.129.185.50)发起DL-UNITDATA消息,期望BSC将上行数据发往10.129.185.50;
(3) 第10、11、14个数据包:BSC发送上行数据至SGSN的预期地址10.129.185.50。
三、协议解读
由图1,首先介绍NS SDU Control bits:
NS SDU Control bits :用于控制IP Endpoint变更的控制bit
R-bit = Request Change Flow bit置1代表请求进行IP端点的变更
C-bit = Confirm change flow bit置1代表对IP端点变更请求的确认,确认后将按变更后的路径进行数据发送。
图1: NS SDU Control bits
四、 资源分配IP选择的两个实例
3GPP 规范TS48.016附录B,Recommended usage of Resource Distribution for IP主要介绍了在Gb Over IP的环境中,如果通信的双方即BSS和SGSN之间,如果某一方或双方需要同时进行IP Endpoint的变更,则对应有4种典型的场景。将分别介绍如下:
Example 1: BSC与SGSN都触发资源分配
可参照Case 1:BSC发送UL-UNITDATA请求改变IP端点
BSS从MS收到了一个上行的LLC PDU并创建了一个MS的上下文。现在BSS将选择源端及本地的IP/UDP1这个IP端点(取决于内部实现或内部配置)以及一个目的IP/UDP3这个IP端点(基于IP的负荷分担机制来选择)来发送相应的NS SDU(即用户的NS层的payload)。
BSS这时发送一个上行的NS-UNITDATA(将R-bit置1并且根据LSP来选择对应的IP端点)通过IP/UDP1发给SGSN侧的IP/UDP3.一旦SGSN接收到这个上行的NS-UNITDATA,SGSN也可以选择变更自己这一侧的IP端点,也就是SGSN期望后续的上行数据BSS发到自己这测的IP/UDP4这个IP端点。那么SGSN将响应一个下行的NS-UNITDATA给BSS,并且将R-bit置1以及C-bit也置1,并且从IP/UDP4发给BSS侧的IP/UDP1.由于C-bit也置1,代表对BSS这边的IP端点IP/UDP1进行了确认。
所以,后续的数据将在BSS侧的IP/UDP1和SGSN侧的IP/UDP4之间发送。
Example 2:只有BSC侧想改变IP端口,SGSN侧不变
BSS发送一个上行NS-UNITDATA并带上R-bit,从本端的IP/UDP1发向SGSN侧的IP/UDP3。SGSN并不想触发IP端点的重新分配,因此,SGSN只是通过IP/UDP4(本地选择的)发送了一个下行的NS-UNITDATA并带上C-bit给BSS侧的IP/UDP1,代表对BSS侧请求IP端点变更的确认。
由于得到了SGSN侧的确认,所以下行方向的数据,SGSN将发给BSS侧的IP/UDP1,而SGSN侧并没有变化,因此上行数据仍从BSS侧的IP/UDP1发向SGSN的IP/UDP3,而不是IP/UDP4。
五、总结
1、Load sharing function功能触发:BSC和SGSN之间可以定义多个IP端点来传输上层NS-PDU,实现负荷分担的功能。这个过程是由BSC和SGSN根据一定的原则来选择到底是由哪个IP端点来传输数据;
2、Resource distribution function功能触发:通常是因为一些特定的事件需要改变IP的端点。如果NS层的NS SDU Control Bit里面的R-bit置1为触发资源分配功能,申请IP端点改变;
3、 资源分配的优先级要高于负荷分担(The Resource Distribution Function overrides the Load Sharing function for the selection of the remote IP endpoint.);
参考文档
《3GPP TS48.016》
注:文章内所有公式及图表请用PDF形式查看。
某市Gb over IP局DGM23BE曾出现部分小区数据业务故障,爱立信BSC工程师分析认为是SGSN回送给BSC的数据包的目的地址错误导致的,即SGSN侧选择BSC的IP错误。
为便于日后对Gb over IP类似问题的分析,我们特针对Gb Over IP局的NSE选择对端IP的机制进行前。
3GPP 规范TS48.016中介绍了两种情况:load sharing function(负荷分担)和resource distribution function(资源分配),下面我们进行实际数据包分析,并对协议描述进行解读。
二、数据包实例分析
网元:DGM23BE
数据包时间:2011年6月20日下午
Case 1:BSC发送UL-UNITDATA请求改变IP端点
对应的数据包图示如下:
图:BSC发送UL-UNITDATA请求SGSN改变IP端点
从上图看出:
(1)第9、10个数据包:SGSN(10.129.185.46)发送下行数据包至BSC(10.128.189.68);
(2)第12、13、14个数据包:BSC(10.128.189.77)上发UL-UNITDATA至SGSN(10.129.185.46),请求SGSN将接下来的数据包发至10.128.189.77。
(3)第15、16、18、19个数据包:SGSN将数据包发送至BSC所期望的地址10.128.189.77。
值得注意的是,SGSN響应的下行NS-UNITDATA并没有将C-bit置1,这一点与Example 1略有不同。
Case 2:SGSN发送DL-UNITDATA请求改变IP端点
对应的数据包图示如下:
据观察,SGSN一般会在用户PDP激活成功之后,发起DL-UNITDATA消息,触发Resource Distribution Function。
如上图所示:
(1)第1个数据包:用户激活成功(Active PDP Context Accept);
(2)第3个数据包:SGSN(10.129.185.50)发起DL-UNITDATA消息,期望BSC将上行数据发往10.129.185.50;
(3) 第10、11、14个数据包:BSC发送上行数据至SGSN的预期地址10.129.185.50。
三、协议解读
由图1,首先介绍NS SDU Control bits:
NS SDU Control bits :用于控制IP Endpoint变更的控制bit
R-bit = Request Change Flow bit置1代表请求进行IP端点的变更
C-bit = Confirm change flow bit置1代表对IP端点变更请求的确认,确认后将按变更后的路径进行数据发送。
图1: NS SDU Control bits
四、 资源分配IP选择的两个实例
3GPP 规范TS48.016附录B,Recommended usage of Resource Distribution for IP主要介绍了在Gb Over IP的环境中,如果通信的双方即BSS和SGSN之间,如果某一方或双方需要同时进行IP Endpoint的变更,则对应有4种典型的场景。将分别介绍如下:
Example 1: BSC与SGSN都触发资源分配
可参照Case 1:BSC发送UL-UNITDATA请求改变IP端点
BSS从MS收到了一个上行的LLC PDU并创建了一个MS的上下文。现在BSS将选择源端及本地的IP/UDP1这个IP端点(取决于内部实现或内部配置)以及一个目的IP/UDP3这个IP端点(基于IP的负荷分担机制来选择)来发送相应的NS SDU(即用户的NS层的payload)。
BSS这时发送一个上行的NS-UNITDATA(将R-bit置1并且根据LSP来选择对应的IP端点)通过IP/UDP1发给SGSN侧的IP/UDP3.一旦SGSN接收到这个上行的NS-UNITDATA,SGSN也可以选择变更自己这一侧的IP端点,也就是SGSN期望后续的上行数据BSS发到自己这测的IP/UDP4这个IP端点。那么SGSN将响应一个下行的NS-UNITDATA给BSS,并且将R-bit置1以及C-bit也置1,并且从IP/UDP4发给BSS侧的IP/UDP1.由于C-bit也置1,代表对BSS这边的IP端点IP/UDP1进行了确认。
所以,后续的数据将在BSS侧的IP/UDP1和SGSN侧的IP/UDP4之间发送。
Example 2:只有BSC侧想改变IP端口,SGSN侧不变
BSS发送一个上行NS-UNITDATA并带上R-bit,从本端的IP/UDP1发向SGSN侧的IP/UDP3。SGSN并不想触发IP端点的重新分配,因此,SGSN只是通过IP/UDP4(本地选择的)发送了一个下行的NS-UNITDATA并带上C-bit给BSS侧的IP/UDP1,代表对BSS侧请求IP端点变更的确认。
由于得到了SGSN侧的确认,所以下行方向的数据,SGSN将发给BSS侧的IP/UDP1,而SGSN侧并没有变化,因此上行数据仍从BSS侧的IP/UDP1发向SGSN的IP/UDP3,而不是IP/UDP4。
五、总结
1、Load sharing function功能触发:BSC和SGSN之间可以定义多个IP端点来传输上层NS-PDU,实现负荷分担的功能。这个过程是由BSC和SGSN根据一定的原则来选择到底是由哪个IP端点来传输数据;
2、Resource distribution function功能触发:通常是因为一些特定的事件需要改变IP的端点。如果NS层的NS SDU Control Bit里面的R-bit置1为触发资源分配功能,申请IP端点改变;
3、 资源分配的优先级要高于负荷分担(The Resource Distribution Function overrides the Load Sharing function for the selection of the remote IP endpoint.);
参考文档
《3GPP TS48.016》
注:文章内所有公式及图表请用PDF形式查看。