51学通信技术论坛

 找回密码
 立即注册
搜索
查看: 37371|回复: 78
打印 上一主题 下一主题

GTP协议循序渐进(三)----通过实例了解TEID   [复制链接]

Rank: 9Rank: 9

懒

跳转到指定楼层
楼主
发表于 2011-2-10 14:05:09 |只看该作者 |正序浏览
一键分享 一键分享
  要了解GTP协议,一定要了解GTP协议的作用。
  根据它的名字,可以推断出,首先它是一个隧道协议,是在GSN节点之间建立的,用于传递用户数据的payload。这个隧道需要穿越运营商GPRS的骨干网。那既然是这样,GTP协议就应该至少具备以下基本功能:
   由于这个隧道是用于传递GPRS的用户数据的,那首先要能够标识出这个隧道是属于哪个用户的,否则,每个用户在上网时都会有自己的GTP-U隧道,成千上万个用户都在SGSN-GGSN之间传递,如果在GGSN这边解封装,还原成普通IP包的时候不能区分出用户,就无法将用户的数据包放到相应的APN里去传递了。
   这个用于区分用户隧道的标识就是TEID。我们通过一个例子来了解一下TEID。

1 #1是MS发起的PDP激活请求给SGSN。包含请求的APN,QOS,pdp type等信息。

2 #2是SGSN向GGSN发起了create pdp context request,请求和GGSN建立关于这个用户的GTP-U隧道,来传递这个用户的payload信息。点开#2,在length 137下面,会发现有一个TEID:0x00000000,因为这是一个初始化的请求消息,所以TEID为0.用于标识这个初始的GTP-U隧道。再往下看,会发现两个IE,一个是TEID DATA I:0x32f02bf9。一个是TEID Control Plane:0x32f02bf9。这两个TEID是SGSN分配给GGSN使用的。指示了GGSN在接下来(后续消息一直到这个用户去激活的时间周期内)关于这个用户的信息,究竟应该用哪个TEID来标识。其中一个是标识这个用户的GTP-C,一个是GTP-U隧道。

3 #3是GGSN给SGSN回应的create pdp context response消息。在这里消息里,GGSN给MS分配了访问外部PDN网络的IP地址192.168.252.130。并且为了能够让SGSN能够区分出这个消息是针对哪个用户的,使用了SGSN分配给自己的TEID,由于本消息是个GTP-C的控制平面消息,所以使用了TEID Control Plane:0x32f02bf9。这可以同样在Length下面可以看到TEID使用的不再是全0了,而是在#2消息里SGSN分配的0x32f02bf9。只不过凑巧的是,SGSN分配的控制和用户平面的TEID都是一样的值。反过来,GGSN也给SGSN分配了两个TEID,是给SGSN在上行方向来标识用户的GTP隧道的。同样是分控制和用户平面。值分别为:0x010000085和0x010000080。

4 #4是SGSN给MS的响应,代表激活成功。并且SGSN记录下了GGSN给它分配的两个标识这个用户的TEID,在后续的关于这个MS的上下文信令和payload相关隧道中使用。

5 #5 MS开始发起到外部PDN的访问,SGSN使用GTP-U隧道将用户数据封装起来,同时里面携带的TEID值是0x010000085,也就是GGSN分配给SGSN使用,用来标识这个用户上行方向GTP-U隧道的TEID值。
注释:#5-#8是一个MS发起的TCP连接建立流程。三次握手,源IP是GGSN分配的192.168.252.130。目的IP地址是PDN网络后面的应用服务器IP,在这里例子里面,是一个RSTP流媒体服务器的IP地址。

6 #9三次握手建立完成以后,MS就可以发起RSTP的指令去向server请求相应的流媒体视频了。
可以看到,所有GTP-U的隧道的TEID都是GGSN分配给SGSN来使用的关于这个MS的用户平面的TEID值:0x010000085。


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

Rank: 1

79#
发表于 2015-8-20 09:16:14 |只看该作者
此贴对新人非常有用,感谢。。。

使用道具 举报

Rank: 1

78#
发表于 2014-9-16 21:00:17 |只看该作者
真的很荣幸结实咱们这个论坛啊

使用道具 举报

Rank: 3Rank: 3Rank: 3

77#
发表于 2014-6-26 17:20:32 |只看该作者
本帖最后由 ouwangqiu 于 2014-6-26 17:22 编辑

多谢斑竹分享

使用道具 举报

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

76#
发表于 2014-5-31 22:30:31 |只看该作者
感谢楼主,学到很多知识了。。。

使用道具 举报

Rank: 2Rank: 2

75#
发表于 2013-11-29 10:09:00 |只看该作者
爱卫生 发表于 2013-11-28 18:09
GTP可以通过端口号来区分控制用户面报文,另外包头以及IE部分都可以做过滤条件。DCC依赖于diameter,也可 ...

谢谢,我们目前分析的数据包是独立的,如GTP-C、GTP-U和Diameter,都是从特定的端口去读取大量的数据,然后写C++代码进行独立的解析。我用GTP-C里面的IMSI和Diameter里的User-name(IMSI)关联,GTP-U里的TEID和GTP-C里的TEID关联,这样就把三个协议串起来了,可以这样吗?数据都是放后台缓存处理的,最后再放到数据库中。

点评

爱卫生  基本上应该可以。但也可能会漏一些。比如有些GTP-C的报文是不带IMSI的,例如去激活的delete pdp context request消息,只有TEID。  发表于 2013-11-30 17:48:38

使用道具 举报

Rank: 9Rank: 9

懒

74#
发表于 2013-11-28 18:09:40 |只看该作者
Harrison 发表于 2013-11-28 14:07
楼主你好,我是GPRS新手,请教下GTP和DCC怎么关联起来,是不是可以说成MS访问网站,DCC怎么给它计费?非常感 ...

GTP可以通过端口号来区分控制用户面报文,另外包头以及IE部分都可以做过滤条件。DCC依赖于diameter,也可以根据包头和AVP过滤。中间加一个or关键字过滤,就关联起来了。

www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 2Rank: 2

73#
发表于 2013-11-28 14:07:00 |只看该作者
楼主你好,我是GPRS新手,请教下GTP和DCC怎么关联起来,是不是可以说成MS访问网站,DCC怎么给它计费?非常感谢!

使用道具 举报

Rank: 9Rank: 9

懒

72#
发表于 2013-11-13 21:34:22 |只看该作者
songyuwen 发表于 2013-11-13 15:55
楼主你好,不知道你还在不在这个论坛出现了…
我有一个关于TEID的问题,在更新PDP上下文的时候,TEID号会变 ...

在的,一直在,从未消失。已经将该帖附件阅读权限修改为1,所有注册用户均可以浏览和下载。欢迎自行下载。

另外,在PDP上下文更新过程中,TEID可以改变。

www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 2Rank: 2

71#
发表于 2013-11-13 15:55:09 |只看该作者
楼主你好,不知道你还在不在这个论坛出现了…
我有一个关于TEID的问题,在更新PDP上下文的时候,TEID号会变化么?
还有,这个帖子的附件我没办法下载,可能是因为是新人,所以权限什么的不够吧…如果可以的话,可以给我发一份么?
邮箱是songyuwen0808@126.com

使用道具 举报

Rank: 2Rank: 2

70#
发表于 2013-10-3 20:04:33 |只看该作者
为什么里面的附件提示只有特定的用户才可下载呀?是否我的权限不够,楼主

点评

admin  现在你已经是“注册会员”用户组了,应该可以下载了。:)谢谢支持。因为刚刚你回复了该贴,捡了1两切糕,卖了6金钱。  发表于 2013-10-5 23:29:45
admin  现在应该可以了吗?附件设置了阅读权限10,用户组“注册会员”以上均可以下载,默认注册完成后用户组为“新手上路”,只要积分达到50分就可以成为注册会员,很容易的。此举措是为鼓励大家的活跃度及保护老会员权益  发表于 2013-10-5 23:28:55

使用道具 举报

Rank: 3Rank: 3Rank: 3

69#
发表于 2013-10-2 17:12:28 |只看该作者
学习一下,我正在看LTE的协议,正好看到TEID有些不懂的地方,待会我发上来,希望得到楼主的答复。

使用道具 举报

Rank: 3Rank: 3Rank: 3

68#
发表于 2013-6-7 10:07:48 |只看该作者
学习一下

使用道具 举报

Rank: 2Rank: 2

67#
发表于 2013-6-5 10:37:41 |只看该作者
请教下,有个疑问,在V0中,TID是IMSI+NSAPI组成,在V1中TEID有特殊的组成规则么?还是随机生成的?
谢谢啊

点评

admin  V1的TEID没有什么组成规律哦。可以说是随机生成的。  发表于 2013-6-5 21:01:49

使用道具 举报

Rank: 2Rank: 2

66#
发表于 2013-6-5 09:33:39 |只看该作者
帖子中的附件,咋下不了了???
提示如下:
[抱歉,只有特定用户可以下载本站附件]

使用道具 举报

Rank: 2Rank: 2

65#
发表于 2013-3-29 10:37:56 |只看该作者
太好了,非常详细的讲解

使用道具 举报

Rank: 8

特殊贡献奖

64#
发表于 2012-11-13 17:30:02 |只看该作者
爱卫生 发表于 2011-4-26 14:44
回复 bestflora 的帖子

    其实这个例子里的包分成两部分来看。一部分为PDP上下文激活。另一部分为业务 ...

爱总,我想问个问题:
Wap流程中,用户发起的TCP连接目标ip是WAP网关IP?还是外网的sp服务器IP?(TCP三次握手只是在WAP网关内么?)
wap类tcp连接的建立经历的网络节点有哪些,流程交互是怎样的?

点评

爱卫生  用户的TCP连接目标IP是WAP网关10.0.0.172。TCP三次握手也是和WAP网关。WAP网关就看成是你在IE浏览器中设置的HTTP代理就好理解了。所有的外部访问都是由代理取回后再发回给终端侧。外部网络感知不到终端的存在。  发表于 2012-11-17 21:51:00

使用道具 举报

Rank: 2Rank: 2

63#
发表于 2012-10-9 14:55:59 |只看该作者
爱卫生 发表于 2011-11-24 15:12
在PDP激活的过程中,实际上并不需要IMSI和MSISDN。特别是后者,这在电路域里很重要,但在分组域里并不需 ...

请教下 一个网内的两个SGSN给GGSN侧分配的TEID会重复吗?会不会想GGSN给MS侧分配ip的时候分配给各个GGSN能分配ip网段是不同的?从而使用不同MS的ip不会重复?

点评

admin  有可能会一样。但不用担心。两个SGSN的IP地址不一样。所以GGSN是可以区分的。SGSN Address也是很重要的PDP激活里的GTP协议信息元素。  发表于 2012-10-9 21:20:57

使用道具 举报

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

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

GMT+8, 2024-5-10 02:01 , Processed in 0.098446 second(s), 14 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部