浅探Gb Over IP局NSE选择对端IP的机制

时间:2022-08-11 09:08:31

一、研究背景

某市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形式查看。

上一篇:浅析高速公路桥梁设计要点 下一篇:浅析工程量清单计价模式下投标的风险