51学通信技术论坛

 找回密码
 立即注册
搜索
查看: 14238|回复: 59

3 用户附着成功后,SGSN删除用户数据,用户关机再附着(但仍是同一个SGSN的服务区)     [复制链接]

Rank: 9Rank: 9

懒

发表于 2011-2-8 14:02:20 |显示全部楼层
一键分享 一键分享

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

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

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

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

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

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

(本例请参考附件的pcap抓包文件。  )

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

  

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

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

  

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

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

  

图3 MS向SGSN报告自己的IMSI

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

  

图4 SGSN向HLR请求鉴权参数

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

  

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

  

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

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

  

图7 SGSN向MS发起鉴权请求

  

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

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

  

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

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

  

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

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

  

图11 SGSN给MS发送Attach Accept消息

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

  

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

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

论坛元老

分组域未来之星

Rank: 10Rank: 10Rank: 10

VIP 论坛核心会员 特殊贡献奖

发表于 2011-6-21 08:42:14 |显示全部楼层
结合Gb和Gr口来讲解MS附着流程,很清晰,赞一个~
生命只有一次,珍惜珍重,勿浪费

使用道具 举报

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

版主

发表于 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发来的请求鉴权组数决定。

使用道具 举报

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

版主

发表于 2011-6-23 11:13:02 |显示全部楼层
有关SGSN<->MS之间鉴权消息的应答,各厂家支持程度各不相同。

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

使用道具 举报

Rank: 9Rank: 9

懒

发表于 2011-6-23 13:05:36 |显示全部楼层
本帖最后由 爱卫生 于 2011-6-23 13:06 编辑

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

使用道具 举报

Rank: 2Rank: 2

发表于 2011-8-14 01:18:10 |显示全部楼层
很多高人呀,来的太值得了。。好好学习,先下载,看看抓到包里面都有哪些信元。。比较容易来理解23.060的几个流程啦。。。downloading

使用道具 举报

Rank: 3Rank: 3Rank: 3

发表于 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)

使用道具 举报

Rank: 9Rank: 9

懒

发表于 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的位置信息。
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 3Rank: 3Rank: 3

发表于 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码,并且该怎么解释,谢谢!

使用道具 举报

Rank: 9Rank: 9

懒

发表于 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。
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 2Rank: 2

发表于 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发起第二次请求!

使用道具 举报

Rank: 2Rank: 2

发表于 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号码。

使用道具 举报

Rank: 9Rank: 9

懒

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

  谢谢指教。太感谢了!把这个困扰我的问题解决了。谢谢!看来还是对TCAP理解的不够透啊!
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 9Rank: 9

懒

发表于 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。
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 2Rank: 2

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

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

使用道具 举报

Rank: 9Rank: 9

懒

发表于 2011-10-25 13:20:03 |显示全部楼层
回复 arrowbroken 的帖子

  恩。是的。确实是lab里的包。{:soso_e100:}
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 9Rank: 9

懒

发表于 2011-11-15 11:09:09 |显示全部楼层
  为了让初学者更加容易学习,特为本帖加入了截图说明。后续将陆续为论坛中的实例贴加上截图说明,争取做到浅显易懂易学。
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 1

发表于 2012-3-27 00:04:02 |显示全部楼层
爱总,我下载附件,文件名是forum.php,wireshark打不开,能传个给我?airlipeng@163.com,谢谢了

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

站长邮箱|Archiver|51学通信 ( 粤ICP备11025688 )

GMT+8, 2018-11-22 19:08 , Processed in 0.091453 second(s), 15 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部