51学通信技术论坛

标题: 3 用户附着成功后,SGSN删除用户数据,用户关机再附着(但仍是同一个SGSN的服务区) [打印本页]

作者: 爱卫生    时间: 2011-2-8 14:02:20     标题: 3 用户附着成功后,SGSN删除用户数据,用户关机再附着(但仍是同一个SGSN的服务区)

   这个例子,也非常普遍。和贴2中提到的用户位置不移动,附着成功后关机再开机附着有一点不同的是,SGSN在本例中删除了用户数据。

对于SGSN上为什么,何时会删除用户数据。有很多中例子。比如:

1 SGSN上通过人工干预用命令删除了用户数据。

2 网络侧发起了对MS的去附着。例如HLR上更新的用户的签约数据。收到了PCRF的策略控制指示,SGSN上的隐式去附着计时器超时等等。   

因此,这个例子中的场景是,某个用户,白天开机后手机自动做了附着,但由于一天都没有执行GPRS数据业务,那SGSN就执行了隐式去附着将用户的签约信息和位置信息以及鉴权信息等都删除了。

那这个用户晚上关机睡觉后,第二天再开机进行附着的流程就应该如下:   

(本例请参考附件的pcap抓包文件。 [attach]13[/attach] )

1 #1是MS发起的附着请求经BSC发给SGSN。里面携带的身份ID是P-TMSI。这里是0xe02ccb60,并且携带了RAI代表上一次附着的RA是谁,也即说明上一次的服务区是由哪个SGSN提供的。为了方便标识,把MS附着请求里带的P-TMSI和RAI称为old RAI和old P-TMSI。如图1所示。

  [attach]961[/attach]

图1 用户用P-TMSI发起附着并带上Old RAI

2 虽然用户并没有移动位置,这个old RAI和old P-TMSI也都是由当前这个SGSN分配的,但这个SGSN因为已经删除了用户数据,所以已经不能识别了,所以在#2,SGSN发送identity request要求MS提供自己的IMSI来完成鉴权流程。如图2所示。

  [attach]962[/attach]

图2 SGSN向MS请求IMSI进行后续的鉴权

3 #3是MS回应的identity response里携带了自己的IMSI46000*,因为只有IMSI才能做鉴权。如图3所示。

  [attach]963[/attach]

图3 MS向SGSN报告自己的IMSI

4 #4是SGSN根据用户提供的IMSI向HLR发起请求,要求提取和这个用户相关的鉴权三参数组,并提供了用户的IMSI。在本例中SGSN向HLR请求两组鉴权参数。如图4所示。

  [attach]964[/attach]

图4 SGSN向HLR请求鉴权参数

5 #5是HLR发送的响应,携带了关于这个用户的鉴权三参数组。   但在#5的响应中,HLR只返回了一组鉴权参数。但实际上SGSN请求了两组。因此在#6和#7的Gr接口的信令交互中,HLR返回了另一组用户的鉴权参数信息。如图5和图6所示。

  [attach]966[/attach]

图5 HLR返回第一组鉴权参数

  [attach]967[/attach]

图6 HLR返回第二组鉴权参数

6 #8和#9是SGSN和MS完成鉴权过程。如图7和图8所示。

  [attach]968[/attach]

图7 SGSN向MS发起鉴权请求

  [attach]969[/attach]

                                          图8 MS向SGSN返回鉴权响应和鉴权计算结果完成鉴权

7 鉴权通过后,SGSN在#10向HLR发起位置更新请求,包含了自己的地址信息和用户信息。如图9所示。

[attach]970[/attach]  

图9 SGSN向HLR发起位置更新请求

8 HLR返回用户的签约数据给SGSN,并完成位置更新。到#13结束。HLR返回的用户签约数据如图10所示。

  [attach]971[/attach]

图10 HLR向SGSN返回用户的签约数据

9 #14 是SGSN发送attach accept消息给MS标识网络侧已经认可附着成功。并下发当前的RAI,和分配新的P-TMSI以及Ready Timer等参数。如图11所示。

  [attach]972[/attach]

图11 SGSN给MS发送Attach Accept消息

10 #15是MS回应的确认,完成整个附着流程。如图12所示。

  [attach]973[/attach]

图12 MS回Attach Complete确认对P-TMSI的分配并完成整个附着过程。


作者: hendouse    时间: 2011-6-21 08:42:14

结合Gb和Gr口来讲解MS附着流程,很清晰,赞一个~
作者: gprssanling    时间: 2011-6-23 11:05:47

有关SGSN<->HLR之间鉴权消息的应答,各厂家支持程度各不相同:

一、SGSN向HLR一次性请求鉴权参数组的组数,最大为5组。
华为、中兴:2G/3G一个参数控制,取值范围1-5,默认5。
爱立信:无对应控制参数,默认第一次申请2组,第二次申请3组。

二、HLR参数配置是否在一条鉴权数据请求的响应消息内,返回请求的所有鉴权组。
华为:2G无开关控制,默认返回4组鉴权集。3G默认返回1组,参数开启则返回5组。
中兴:发送鉴权三元组的组数(TRIPLENUM)、发送鉴权五元组的组数(QUINTETNUM)默认值5。
爱立信:2G默认值3;3G鉴权组返回数目由SGSN发来的请求鉴权组数决定。
作者: gprssanling    时间: 2011-6-23 11:13:02

有关SGSN<->MS之间鉴权消息的应答,各厂家支持程度各不相同。

或支持或不支持区分流程/业务,或支持或不支持鉴权开关、鉴权频次的设定。


作者: 爱卫生    时间: 2011-6-23 13:05:36

本帖最后由 爱卫生 于 2011-6-23 13:06 编辑

  感谢gprssanling版主的纠正哈。我在最上面的时候介绍的不对。特此更正。#4到#7应该是SGSN去HLR取了两次鉴权参数。不是镜像抓的重复包。
  但我这里还有个疑问,为什么SGSN要分两次去取呢?或者说在SGSN上设置分两次去取有什么好处呢?不是还会增加Gr接口负荷吗?我找了下二次鉴权,都指介绍了SGSN和MS之间的二次鉴权。没有提到SGSN和HLR的二次取鉴权参数。这里有点困惑。

作者: yinxueai    时间: 2011-8-14 01:18:10

很多高人呀,来的太值得了。。好好学习,先下载,看看抓到包里面都有哪些信元。。比较容易来理解23.060的几个流程啦。。。downloading
作者: wbl070818    时间: 2011-9-3 06:33:18

请教几个问题:1)这个MAP协议是基于7号信令的,应该是用不上IP地址的。为什么,在抓包文件中的相应的底层会有ip地址,#4上的两个ip地址该怎么理解10.64.21.33和20.20.0.1.
2)7 鉴权通过后,SGSN在#10向HLR发起位置更新请求,包含了自己的地址信息和用户信息
关于这个SGSN已经返回了GT码(sgsn-numbe)给hr ,这个应该就可以满足了路由需求,为什么后面还要一个IP地址(192.168.100.1)
作者: 爱卫生    时间: 2011-9-3 12:14:21

wbl070818 发表于 2011-9-3 06:33
请教几个问题:1)这个MAP协议是基于7号信令的,应该是用不上IP地址的。为什么,在抓包文件中的相应的底层会 ...

第一个问题:MAP协议是基于7号信令的,应该是用不上IP地址的。。。
   答:MAP协议是属于SS7,但SS7分成两个部分,UP/AP和MTP。MAP是属于上层的AP,用于SGSN和HLR之间端到端的通信,而你说的7号信令用不上IP地址是传统的SS7的MTP部分采用E1的接口,MTP/1/2/3的协议栈,而现在的SS7已经可以Over IP了,也叫做SIGTRAN,采用了M3UA和SCTP这两种协议来对传统的MTP层进行适配。所以MAP协议也可以由IP网络来承载,并且这是今后的一个趋势。也就是全IP。
第二个问题:7鉴权通过后,SGSN在#10。。。
   答:这个IP 192.168.100.1是SGSN address,用于SGSN向HLR做一个位置登记,告诉HLR,这个用户现在是由我来提供服务。这是TS23.060的规范定义的。至于为什么要使用IP,而不直接使用SGSN的GT码做为用户的位置登记信息。我的理解是,这个标识SGSN位置信息应该是为后续的用户信令流程服务的,而不仅是为了Gr接口。比较典型的,应该是为了Gn接口的用户会话管理提供服务的,例如有下行数据到达GGSN时,GGSN可以通过Gc接口到HLR去查询目前为这个用户提供服务的SGSN的IP是多少,从而发起“网络侧发起的PDP上下文激活流程(只不过Gc接口目前现网没有)”。而Gn接口是全IP的。必须要使用IP地址来标识SGSN的位置信息。

作者: wbl070818    时间: 2011-9-13 07:24:29

楼主,还问一个关于GT路由的问题。在#4上sgsn向HLR要鉴权参数时,在sccp层里,被叫的gt码是861514100000101,然而在#5上HLR向sgsn返回HLR鉴权参数时,其主叫HLR GT码又变成了861370800,这个应该是真实的HR的GT吗,那问题是之前的gt码是861514100000101,这个是谁的GT码,并且该怎么解释,谢谢!
作者: 爱卫生    时间: 2011-9-13 15:58:33

wbl070818 发表于 2011-9-13 07:24
楼主,还问一个关于GT路由的问题。在#4上sgsn向HLR要鉴权参数时,在sccp层里,被叫的gt码是861514100000101 ...

   很好的问题。“在#4上sgsn向HLR要鉴权参数时,在sccp层里,被叫的gt码是861514100000101” 这里用到的GT码是SGSN第一次寻址HLR用的GT码,叫MGT,采用E.214的编码格式,由IMSI和MSISDN组合而成。而“在#5上HLR向sgsn返回HLR鉴权参数时,其主叫HLR GT码又变成了861370800,这个应该是真实的HR的GT码”这里的HLR回的GT码确实是HLR的真实的GT码,是采用E.164格式。后续的数据包SGSN如果要找HLR的话,就会接下来使用861370800这个由HLR提供的GT码,只不过是在第一次SGSN寻址HLR的时候,SGSN并不知道HLR的E.164地址信息作为GT码,所以使用了MGT来做GT寻址,因此HLR上也要做相应的GT落地配置。你可以看下后面#6以后的包SGSN的GT码用的就是HLR提供的。而不再使用MGT作为寻址。也就是MGT只在第一次SGSN寻址HLR的时候使用。
   注意,你有个笔误,在#5里,HLR返回的自己的GT码是8615100406,要看calling party address。

作者: arrowbroken    时间: 2011-10-21 11:12:01

爱卫生 发表于 2011-6-23 13:05
感谢gprssanling版主的纠正哈。我在最上面的时候介绍的不对。特此更正。#4到#7应该是SGSN去HLR取了两次鉴 ...

  爱总,去取两次不是SGSN上设置的,是因为HLR的原因,HLR第一个ReturnRuslt里只给SGSN一组认证五元矢量组,但是SGSN在请求里请求的是两组(numberOfRequestedVectors: 2),另外HLR第一个ReturnRulst使用的TCAP continue而不是END,所以SGSN发起第二次请求!
作者: arrowbroken    时间: 2011-10-21 11:22:14

爱卫生 发表于 2011-9-13 15:58
很好的问题。“在#4上sgsn向HLR要鉴权参数时,在sccp层里,被叫的gt码是861514100000101” 这里用到的 ...

爱总,你提到的这个MGT,我觉得应该是IMSI分析,而不是由IMSI和MSISDN组合而成,这个例子里,IMSI=460004100000101,MSISDN=8615221000101,虽然这两者之间有关联,但是这里是152,那如果按照你的说话,那MGT应该是861524100000101,但是在这里,我觉得应该就是把IMSI前五位去掉,再加上86151,这个主要是方便STP能找到路由现在这个MS属于哪个HLR,所以要把IMSI变成GT号码。

作者: 爱卫生    时间: 2011-10-22 17:42:50

arrowbroken 发表于 2011-10-21 11:12
爱总,去取两次不是SGSN上设置的,是因为HLR的原因,HLR第一个ReturnRuslt里只给SGSN一组认证五元矢量组 ...

  谢谢指教。太感谢了!把这个困扰我的问题解决了。谢谢!看来还是对TCAP理解的不够透啊!
作者: 爱卫生    时间: 2011-10-22 18:32:23

arrowbroken 发表于 2011-10-21 11:22
爱总,你提到的这个MGT,我觉得应该是IMSI分析,而不是由IMSI和MSISDN组合而成,这个例子里,IMSI=4600041 ...

  是的。你说的GT转换方法我同意。不过MGT是标准说法。IMSI(E.212编码)采用MCC+MNC+MSIN的格式,ISDN号码采用E.164编码,采用CC+NDC+SN的形式,转换成MGT的格式为E.214编码,采用CC+NDC+MSIN的格式。通常转换成MGT的时候,会将MCC+MNC的部分去掉就是你说的前5位,替换成指定的CC+NDC,本例里就是86151构成MGT。
作者: arrowbroken    时间: 2011-10-24 10:29:58

爱卫生 发表于 2011-10-22 18:32
是的。你说的GT转换方法我同意。不过MGT是标准说法。IMSI(E.212编码)采用MCC+MNC+MSIN的格式,ISDN号码 ...

收到,谢谢!不过这个例子,配置的时候还是有点松散,没有严格按照标准,不然的话MGT应该是861524100000101吧,爱总,这个是实验室抓的包吧!

作者: 爱卫生    时间: 2011-10-25 13:20:03

回复 arrowbroken 的帖子

  恩。是的。确实是lab里的包。{:soso_e100:}
作者: 爱卫生    时间: 2011-11-15 11:09:09

  为了让初学者更加容易学习,特为本帖加入了截图说明。后续将陆续为论坛中的实例贴加上截图说明,争取做到浅显易懂易学。
作者: airlipeng    时间: 2012-3-27 00:04:02

爱总,我下载附件,文件名是forum.php,wireshark打不开,能传个给我?airlipeng@163.com,谢谢了
作者: 爱卫生    时间: 2012-3-27 00:11:15

airlipeng 发表于 2012-3-27 00:04
爱总,我下载附件,文件名是forum.php,wireshark打不开,能传个给我?,谢谢了

刚试过。应该可以正常下载。


不用担心。已发邮件。来电邮箱为gprshome@163.com谢谢!


作者: airlipeng    时间: 2012-3-27 22:32:25

谢谢爱总,看过了你的视频,再仔细研究了一下包,受益匪浅。
作者: jayslkidd    时间: 2012-4-27 10:39:57

爱总,你最开始说的“帖2”在哪啊,麻烦发个链接啊
作者: 爱卫生    时间: 2012-4-28 19:16:17

回复 jayslkidd 的帖子

[原创] 2 MS未离开当前RA,附着成功后关机再重新附着   : http://www.gprshome.com/forum.php?mod=viewthread&tid=48&extra=page%3D1

作者: Erin    时间: 2012-7-26 11:31:01

我想问问楼主,这个包是怎么抓到的?用手机的shark软甲你可以抓到吗?
作者: Erin    时间: 2012-7-26 11:31:29

这里真是高手如云,我也要好好学习
作者: Erin    时间: 2012-7-26 19:23:38

Erin 发表于 2012-7-26 11:31
我想问问楼主,这个包是怎么抓到的?用手机的shark软甲你可以抓到吗?

呵呵,我不明白,我刚学GPRS。我用手机上装了shark可以抓包,但是好像都是一些IP包。不知道怎样才可以抓到信令包,行GPRS附着这种,用手机可以抓吗?你说的这个LAN SW是什么?
谢谢了,各位!请赐教


作者: wenliu    时间: 2013-1-6 09:58:10

手机上用的是空口,无线口。手机信令应该直接被手机封装了直接走空口就发送出去了。你用wireshark抓不到的。

注意下wireshark的使用方式,它是用来侦听网卡上的数据包的。

爱总提供的是BSC和sgsn A接口之间的信令流。 并且是A接口因为用了SCTP/M3UA/BSSAP,才抓到的信令流(所以说是镜像,在ip 交换机侧,将某个port的数据流mirror到另外个物理端口来提供抓取工作)。 如果是走E1,就得挂另外的检测仪表抓信令了。
作者: wwoopp    时间: 2013-1-29 12:07:03

爱卫生 发表于 2011-6-23 13:05
感谢gprssanling版主的纠正哈。我在最上面的时候介绍的不对。特此更正。#4到#7应该是SGSN去HLR取了两次鉴 ...

对楼主的一点补充:SGSN分两次取鉴权的原因是SAI消息里带了Immediate Response Preferred 字段, 对于该字段HLR处理方式是给予高优先级,如果遇到鉴权拥塞等情况(或楼主LAB的情况),则只回一组鉴权VECTOR,SGSN如只收到一组鉴权,会发送TC-CONTINUE取另一组鉴权。爱立信SGSN取鉴权的行为是ATTACH时鉴权要两组VECTOR并携带Immediate Response Preferred 字段,其他情况要三组VECTOR,不携带Immediate Response Preferred 字段.
除收到Immediate Response Preferred 字段的情况,爱立信HLR不会对小于等于4组VECTOR的SAI请求分多次(多个TRANSACTION) 发送VECTOR。

If the parameter Immediate Response Preferred is received in the message, at least one authentication vector can be provided for the specific subscriber to the VLR/SGSN.


作者: skyqtf    时间: 2013-3-14 09:40:55

写得很好,学到了不少!
作者: vicai    时间: 2013-4-17 18:04:28

先收藏了,呵呵。
作者: chenxiaoan503    时间: 2013-6-24 14:51:58

受益匪浅,爱总威武。
作者: chanmao83    时间: 2013-7-5 11:28:06

爱总,为啥现在不让下载附件了? 哭
作者: chanmao83    时间: 2013-7-7 15:52:56

chanmao83 发表于 2013-7-5 11:28
爱总,为啥现在不让下载附件了? 哭

好吧 现在积分还差一点儿
作者: ttyy2528    时间: 2013-7-11 12:02:34

wbl070818 发表于 2011-9-13 07:24
楼主,还问一个关于GT路由的问题。在#4上sgsn向HLR要鉴权参数时,在sccp层里,被叫的gt码是861514100000101 ...

sgsn向hlr要鉴权,被叫gt是手机号码.
hlr向sgsn发鉴权,主叫gt是hlr sccp地址.

作者: yuqinwan    时间: 2013-8-22 11:30:54

文件下载不下来
作者: lelepxl2011    时间: 2013-8-28 14:12:20

爱总 厉害

作者: lelepxl2011    时间: 2013-9-2 11:15:39

请问“抱歉,只有特定用户可以下载本站附件”这个是什么情况

作者: nianqi86    时间: 2013-10-15 09:33:04

讲的非常细致,回去要好好研究研究
作者: nianqi86    时间: 2013-10-15 09:35:10

想请教一下这个包是怎么抓下来的?谢谢!
作者: qgdage    时间: 2013-11-29 10:37:09

还是没看懂
作者: ccc123    时间: 2014-2-9 22:48:17

谢谢楼主分享的数据包。。。
作者: 花亊未了    时间: 2014-2-25 17:06:36

有点不太明白:MS进行GPRS附着的时候为什么会有IP呢,比如#1报文
作者: 爱卫生    时间: 2014-2-25 21:08:12

花亊未了 发表于 2014-2-25 17:06
有点不太明白:MS进行GPRS附着的时候为什么会有IP呢,比如#1报文

那个不是MS的IP,因为是Gb接口抓的,所以是BSC和SGSN之间通信的IP。
作者: zxtcinderella    时间: 2014-3-3 12:07:19

讲的很清晰,有了很好的理解!

作者: shi981    时间: 2014-4-9 09:51:17

新报告,过来学习一下,感谢分享


作者: ffwkbs    时间: 2014-4-9 13:50:36

好东西啊,虽然自己也知道,但是没有研究的这么细过,学习了
作者: qiyan1201    时间: 2014-6-5 15:11:07

讲的的不错,初学者只看懂了大半,细节的东西还得在多学习学习
作者: ouwangqiu    时间: 2014-6-22 13:53:39

多谢爱总制作和分享

作者: hannerson    时间: 2014-7-7 23:10:38

请问一下,GSM中GPRS能不能同时存在多个激活的PDP context
作者: ahuaking    时间: 2014-7-9 10:04:33

来学习一下
谢谢
作者: leonzhao2004    时间: 2014-7-11 10:27:32

接着爱总这个例子问个问题:当用户关机后,用户数据在SGSN侧留存多久后被清除呢?有没有依据可查?
作者: maqizhao    时间: 2014-8-3 00:29:14

我已深深爱上这个地方了,在成为专家之前坚决不撤退!
作者: maqizhao    时间: 2014-8-3 00:29:52

速度抢沙发,感谢卤煮分享!
作者: maqizhao    时间: 2014-8-3 11:09:22

我已深深爱上这个地方了,在成为专家之前坚决不撤退!
作者: chengyu110    时间: 2014-9-10 17:09:45

前人栽树,后人乘凉。。。
作者: aceword    时间: 2014-10-30 16:26:59

权限不够怎么办啊。。。
作者: diyinjitai    时间: 2014-11-10 21:52:40

很实用的学习,谢谢up主
作者: ferrislau    时间: 2015-3-16 11:26:32

为什么下载不了呢?怎样升级权限?
作者: admin    时间: 2015-3-24 09:14:29

ferrislau 发表于 2015-3-16 11:26
为什么下载不了呢?怎样升级权限?

谢谢支持。我鼓励多交流、分享。设置的阅读权限是10,用户组为“注册会员”即可。只需要金钱达到50就可以自动升级到”注册会员“。
刚注册时“新手上路”----“注册会员”----中级会员----高级会员。。。
具体可以看登陆后点击右上角名字下面的“积分:xxx",有更多说明。


获取积分的方法有很多,但常见的有发帖+2,回复+1。如果被管理员认定为精华可以+10,威望+5,贡献+3。这些都可以转换为金钱的。

再次感谢支持。

作者: admin    时间: 2015-3-24 09:16:31

aceword 发表于 2014-10-30 16:26
权限不够怎么办啊。。。

谢谢支持。我鼓励多交流、分享。设置的阅读权限是10,用户组为“注册会员”即可。只需要金钱达到50就可以自动升级到”注册会员“。
刚注册时“新手上路”----“注册会员”----中级会员----高级会员。。。
具体可以看登陆后点击右上角名字下面的“积分:xxx",有更多说明。


获取积分的方法有很多,但常见的有发帖+2,回复+1。如果被管理员认定为精华可以+10,威望+5,贡献+3。这些都可以转换为金钱的。

再次感谢支持。

不过,因为大家对积分不是很了解。所以本帖特意刚刚修改了权限,取消了阅读权限。只要是注册成功的用户都可以下载。

作者: sky    时间: 2015-3-26 22:44:03

请问爱总,nas加密的上下行计数器,它和加完保头的计数器有什么联系,并且MME侧的如何和UE侧的计数器关联起来。谢谢!!




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