51学通信技术论坛

标题: Gb接口(IP承载)的自动配置流程实例 [打印本页]

作者: 爱卫生    时间: 2012-7-5 15:20:45     标题: Gb接口(IP承载)的自动配置流程实例

Gb接口当采用IP的承载时是自动配置的。主要是通过NS层子网业务部分所提供的Config流程来实现的。

Config流程用于在Gb接口两个NSE之间交换配置信息,达到自动配置的目的。SNS-CONFIG PDU包含了以下信息元素:
- NSEI:NSE标识
- End Flag:指示是否是BSS NSE发送的最后一个SNS-CONFIG PDU
- IPV4端点列表:一个或多个IPV4端点
- IPV6端点列表:一个或多个IPV6端点。

具体信令流程和实例如下图所示:

[attach]1326[/attach]

步骤如下:

下图给出了具体步骤:

[attach]1327[/attach]

1)#1号报文BSC发起SNS-SIZE流程,向SGSN发送SNS-SIZE PDU,该PDU的内容包括:
- PDU Type=0x12,代表该NS PDU是一个SNS-SIZE PDU
- NSEI=101,代表BSC侧的NSEI标识为101
- Reset flag=1,代表BSC侧请求SGSN在进行后续的Config流程之前对现有配置进行清除
- 最大NSVC数量=64,代表BSC侧所支持的NSVC最大数量为64条
- IPV4端点数量=2,代表BSC侧所支持的IPV4最大端点数量为2个

2)根据规范的要求,SGSN收到BSS侧的SNS-SIZE PDU后,将检查是否支持BSC上报的能力参数,如果能够支持,则SGSN返回正常的SNS-SIZE-ACK PDU消息。并且SGSN还需要检查Reset Flag,本例中Reset Flag的值为1,因此SGSN将据此清除Gb接口相关配置信息并等待后续的Config流程。至此,SIZE流程结束,两端NSE完成了能力参数的协商。

3)#3号报文是BSC发送SNS-Config PDU给SGSN启动Config流程,该PDU中包含的内容有:
- PDU Type=0x0f,代表该NS PDU是一个SNS-CONFIG PDU
- NSEI=101,代表BSC侧的NSEI标识为101
- End flag=1,代表这是BSC发送给SGSN侧的第一个也是最后一个SNS-CONFIG PDU
- List of IPV4 Elements包含了一个IP端点,其IP地址是172.16.17.200,使用UDP端口2157做为Gb Over IP的端口号,并且为该IP端点分别分配了信令和数据流程的权重值都是42

4)SGSN将对BSC侧报告的IP端点及相关参数进行检查,包括查看权重值是否为0以及IPV4端点列表中的IP端点数量是否超过SIZE流程中BSC侧报告的支持的IP端点最大数量,如果没有异常,则SGSN将响应一个正常的SNS-CONFIG ACK PDU。

5)SGSN接下来在#5号报文中发送SNS-CONFIG PDU给BSC,将SGSN侧的IP端点相关信息告知BSC。该PDU包含的内容与#3号报文BSC侧上报的SNS-CONFIG PDU内容一致,唯一的区别是SGSN侧配置了12个IP端点。

6)BSC侧也需要对SGSN报告的IP端点及相关参数进行检查,如果没有异常,则BSC将响应一个正常的SNS-CONFIG ACK PDU。

至此,Gb接口的初始化及接口自动配置全部完成。BSC和SGSN均获知了对方的IP端点以及权重值。


作者: hycl5410    时间: 2012-7-9 13:16:51

有几个小问题请教:
1.为啥BSC说有2个end point,但是实际上只带了一个?
2. NSVC的建立能不能在抓包里看到?
3. 各个NSVC下的数据包会打上这个NSVC的tag么?

先谢啦,之前没搞过自动配置的GBIP
作者: 爱卫生    时间: 2012-7-9 13:52:15

hycl5410 发表于 2012-7-9 13:16
有几个小问题请教:
1.为啥BSC说有2个end point,但是实际上只带了一个?
2. NSVC的建立能不能在抓包里看 ...

1 2个说的是最大两个,SNS-CONFIG流程可以先调用1个进行自动配置,如果还要加新的再调用SNS-ADD流程添加新的IP端点。

2 应该看不到。NSVC没有一个标识符来标识,这个是设备本地来生成和映射的,不需要在网络中传播。

3 什么flag?应该没有。


作者: hycl5410    时间: 2012-7-9 15:14:18

本帖最后由 hycl5410 于 2012-7-9 15:16 编辑

多谢多谢!
我这里有一个# gsh get_nse 4113
NSEI                           : 4113
Local IP-end-points            :
10.159.10.125:34532, SW=1, DW=0
10.159.10.125:2158, SW=0, DW=1
Remote IP-end-points           :
10.243.146.42:50000, SW=1, DW=1, status=ok

不知道是真的只有一个对端地址还是只显示了一个,而且CPI也写了GBIP是不显示NSVCI的。有点迷糊了。。。
作者: admin    时间: 2012-7-9 18:44:30

是只有一个,这条命令的输出都是由BSS发送的SNS-CONFIG PDU中的内容解码得到的。就像本例中的#3号报文。
作者: lighcen    时间: 2012-7-9 20:16:46

谢谢爱总{:soso_e100:}

这个例子很少机会见到,能否上传个pcap上来供大家学习呢?

作者: 爱卫生    时间: 2012-7-9 21:14:03

可以啊。[attach]1336[/attach]
象征性收取5金钱。防止未注册恶意用户。

作者: yonka    时间: 2012-7-10 08:27:04

爱卫生 发表于 2012-7-9 21:14
可以啊。
象征性收取5金钱。防止未注册恶意用户。

爱总,问个比较严重的问题啊

作为SERVER端的端口号应该是多少呢?
我看文中提到2157
但爱立信SGSN上get_nse看到的local endpoint为什么都是2158呢?

谢谢


作者: hycl5410    时间: 2012-7-10 09:01:16

admin 发表于 2012-7-9 18:44
是只有一个,这条命令的输出都是由BSS发送的SNS-CONFIG PDU中的内容解码得到的。就像本例中的#3号报文。

那么如果SNS-CONFIG中带的BSS侧地址很多,显示就会很多呗?
如果SGSN侧地址跟BSS侧某些地址之间网络不通(比如没配路由),显示会是什么样呢?

作者: 爱卫生    时间: 2012-7-10 09:29:16

yonka 发表于 2012-7-10 08:27
爱总,问个比较严重的问题啊

作为SERVER端的端口号应该是多少呢?

不太清楚哦,规范里没有提到一定要用2157、2158。
作者: 爱卫生    时间: 2012-7-10 09:32:53

hycl5410 发表于 2012-7-10 09:01
那么如果SNS-CONFIG中带的BSS侧地址很多,显示就会很多呗?
如果SGSN侧地址跟BSS侧某些地址之间网络不通 ...

1 理论上应该会显示很多,但BSS侧一般也不会配很多,就两个吧。

2 如果不通的话,是有NS-ALIVE PDU去周期性探测的,如果发现网络不通,对段NSE实体会发送NS-STATUS PDU给本端,并携带原因代码“ "IP test failed”(TS48.016 7.4b.1.1 Abnormal Conditions for signalling endpoints)。本端收到后,应该会把get_nse里的显示输出进行更新。(个人理解,未证实)。


作者: hycl5410    时间: 2012-7-10 10:08:09

多谢爱老大指点~~
作者: yonka    时间: 2012-7-10 17:14:18

爱卫生 发表于 2012-7-10 09:32
1 理论上应该会显示很多,但BSS侧一般也不会配很多,就两个吧。 2 如果不通的话,是有NS-ALIVE PDU去周期 ...

爱立信的BSC似乎很多,六七个吧。
华为的好像只有一个。

这个在机制上的区别是?



作者: 小丙张嘎    时间: 2012-7-16 09:28:19

爱立信SGSN 2010年初的时候一般配置很多个业务地址,不同的业务地址通过设置信令和数据的权重进行业务的处理;但是后来新版本的SGSN后期做了改造,每个SGSN只配置一个业务地址,通过不同的udp 端口号进行信令和媒体的区分,一般2157为信令面,媒体面的端口号普遍大于30000.
作者: 爱卫生    时间: 2012-7-16 22:58:46

小丙张嘎 发表于 2012-7-16 09:28
爱立信SGSN 2010年初的时候一般配置很多个业务地址,不同的业务地址通过设置信令和数据的权重进行业务的处理 ...

非常感谢补充。
作者: qyanchen    时间: 2012-10-17 11:56:44

GPRS-NS这个协议,在网上根本找不到标准,有没有这样的规范呀,希望可以提供一份以供参考!
作者: jmt110    时间: 2012-11-29 17:14:32

爱卫生 发表于 2012-7-10 09:29
不太清楚哦,规范里没有提到一定要用2157、2158。

bsc第一次向sgsn(爱立信)发起连接的时候都是2157 ,但是建立连接后alive 消息一般是另外高位端口,用户数据的是2158.
华为的sgsn都是在一个端口上,这个端口可以协商(一般为高位端口)。

作者: syluofeng    时间: 2012-12-31 10:30:45

最近准备正开发gb口,学习了。谢谢
作者: wisage    时间: 2013-10-17 18:00:33

很详细,谢谢
作者: nickyxiaowei    时间: 2014-4-29 09:58:58

小丙张嘎 发表于 2012-7-16 09:28
爱立信SGSN 2010年初的时候一般配置很多个业务地址,不同的业务地址通过设置信令和数据的权重进行业务的处理 ...

2157、2158、30000多是BSC上配置的关于SGSN的port么?其中2157是传BSC和SGSN信令面,30000多是payload,那还有个2158那个是啥呢?





欢迎光临 51学通信技术论坛 (http://51xuetongxin.com/bbs/) Powered by Discuz! X2