51学通信技术论坛

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

正在学习LTE的协议,关于GTP协议有些疑问,望得到大侠们的解答! [复制链接]

Rank: 3Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2013-10-2 20:47:51 |只看该作者 |倒序浏览
一键分享 一键分享
本帖最后由 amr 于 2013-10-2 20:52 编辑

正在学习LTE的协议,在看ATTACH完整流程图。其中涉及到无线接入网和核心网的内容。看网上一些介绍,都是无线部分的介绍比较深入,核心网就比较潦草,甚至有些就只是标识大致内容,而没有详细细节。
深入学习,发现挺多内容不太理解,翻了翻23.401、29.274、29.281也没有得到想要的答案。我把我学习到的和相关疑惑写出来吧,望大侠们指导。

第一个疑惑是关于GTP协议的,以前没有接触过。

以LTE系统举例,UE想要上网,必须要经过eNB、SGW、PGW三个网元。其中S1-U和S5/S8这两个接口之间的实体使用了GTP协议。

看了看GTP的一些介绍,LTE使用的是GTPv2版本的协议。GTP协议分为控制面和用户面,使用GTP协议的网元是通过TEID来标识的,如下面两张图就分别是用户面和控制面涉及的网元(控制面还有很多网元使用,暂时使用SGW-PGW的一个例子说明)





有点通信知识的都知道,在不同的网元之间传输数据,肯定包括数据是谁的,数据从哪来到哪去,以及为了节省资源提高效率涉及到数据的服用/解服用的问题。



看attach的流程介绍12~22步骤,是default EPS bearer激活的流程。

12:NEW MM ---> SGW 发起Creat Session REQ
13:SGW ---> PGW 发起Creat Session REQ
15:PGW ---> SGW 发起Creat Session RES
20:eNB --->NEW MM发起Inital Context Setup REQ


这几条消息中都有一个共性:发消息的网元都携带自己的TEID随消息发送给接收方。如步骤13,协议是这么写的:The Serving GW creates anew entry in its EPS Bearer table and sends a Create Session Request (IMSI,MSISDN, APN, Serving GW Address for the user plane, Serving GW TEID of the userplane, Serving GW TEID of the control plane...

但29.274协议,关于GTP的overview是这么说的:

A GTP tunnel is identifiedin each node with a TEID, an IP address and a UDP port number. The receivingend side of a GTP tunnel locally assigns the TEID value the transmitting sidehas to use. The TEID values are exchanged between tunnel endpoints using GTP-Cor S1-MME or Iu-PSmessages. The GTPv2 entity communicates to the peer GTPv2 entity the TEID valueat which it expects to receive all subsequent control plane messages related tothat GTP tunnel via the:

-    "Sender F-TEID or Control Plane" IE,

-    "PGW S5/S8/S2a/S2b F-TEIDfor PMIP based interface or for GTP based Control Plane interface" IE,

-    "MSC Server Sv TEID forControl Plane" IE,

-    "S3/S16/S10 Address and TEID forControl Plane" IE, or

-    "MME/SGSN Sv TEID forControl Plane" IE.









一个GTP隧道上的网元是通过一个TEID、IP地址和UDP端口号。GTP隧道上接收方在本地分配TEID的值供发送方使用。TEID的值是通过GTP-C/S1-MME/Iu-PS这些控制面的消息传递。采用GTPv2协议通信的两端网元,它们的TEID的值是通过GTP隧道相关的控制面消息接收到的。


---- 按照步骤13中的实例,S-GW携带的是自己的TEID,而对GTP隧道overview字面的意思,携带的是对方的TEID(比如S-GW是TX,P-GW是RX)。


如果按照协议的字面意思,我的疑问:


1、GTP TX端怎么选择哪个RX网元?
这个疑问好回答,协议里面有说,如:NEW MME选择S-GW是考虑两个要素:a、网络拓扑结构,被选择的S-GW的服务范围是包含了UE的活动范围,尽可能减少改变S-GW的概率。b、S-GW之间的负载平衡。(不过真正到现网是如何实现的,也不清楚,求大神指导。)又如S-GW选择P-GW,是在步骤11中HSS的update location ack消息中就携带有UE签约的PDN上下文,里面就包含UE对应P-GW的地址。


2、TEID的值是怎么产生or配置的?
第二个疑问在协议中就查不到了,这不像是IP或者UDP端口号,可以在做网元配置的时候进设置且是固定的(猜的,虽然没接触过,但从实际经验来看就是如此,协议也定义了不同消息类型IP源/目的地地址,UDP端口的配置规则,在这里也请大神指导是否是人员配置的?),而且TEID的值是可变的,我想应该是从0x0开始累加的吧。

3、我想是不是自己理解错了,初始创建通道的时候,TX携带的是自己的TEID,当隧道简历好后正式发送消息,如GTP-C,隧道的创建、删除、修改,GTP-U传用数据的时候就是对端告知TEID的值。

后面我查看网上一些资料,如爱卫生管理员这个UMTS的实例,红色字体部分告诉我TX端的TEID值是RX端使用的。所以我就郁闷了,到底TX的TEID是自己的还是RX的,如果是RX的,步骤13为啥那样写呢?求指导!

http://www.gprshome.com/thread-61-1-1.html

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隧道。

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 3Rank: 3Rank: 3

沙发
发表于 2013-10-2 20:48:18 |只看该作者
我描述的应该清晰吧。。。

使用道具 举报

Rank: 9Rank: 9

板凳
发表于 2013-10-5 23:41:56 |只看该作者
1 GTP TX端怎么选择哪个RX网元?
  你提到了一部分,比如MME要选择SGW,可以根据SGW的地址位置即拓扑结构来选,具体的过程是通过DNS来完成的。其他Rx网元的选择也都是通过DNS来选择完成的。
2 TEID的值是怎么产生or配置的?
  设备自动产生,不用配置。一个4字节的随机值。没什么特征。
3 ”我想是不是自己理解错了,初始创建通道的时候,TX携带的是自己的TEID,当隧道简历好后正式发送消息,如GTP-C,隧道的创建、删除、修改,GTP-U传用数据的时候就是对端告知TEID的值。“
初始隧道建立时,Tx在GTP里携带两个GTP-C TEID,一个是在GTP-C包头出现的,这个TEID是Rx分的,但第一个包,Rx还没分,因此初始值为全0,另外就是在informatin element部分出现的,这是Tx分配给Rx用的,假设是TEID A,Rx在后续的GTP-C消息中,就需要用这个TEID A来标识,否则Tx将无法识别。同时,Rx也会给Tx分配一个TEID,不是在包头,也是在information element部分出现,假设是TEID B,这同样也是给Tx用的,Tx接下来所有的GTP-C消息都要用TEID B来标识,否则Rx同样也无法识别。
51学通信(www.51xuetongxin.com):致力打造最好的通信技术在线学习平台 。

使用道具 举报

Rank: 3Rank: 3Rank: 3

地板
发表于 2013-10-9 11:20:17 |只看该作者
admin 发表于 2013-10-5 23:41
1 GTP TX端怎么选择哪个RX网元?
  你提到了一部分,比如MME要选择SGW,可以根据SGW的地址位置即拓扑结构来 ...

多谢版主大人,我再去看看协议

information element那一块我就扫了一眼,却没有好好体会它的用处。看来协议写出来的东西不会那么漫无目的!

使用道具 举报

Rank: 3Rank: 3Rank: 3

5#
发表于 2013-10-9 15:38:52 |只看该作者
admin 发表于 2013-10-5 23:41
1 GTP TX端怎么选择哪个RX网元?
  你提到了一部分,比如MME要选择SGW,可以根据SGW的地址位置即拓扑结构来 ...

再请教一个问题,像S-GW,因为它是位于中间的网元,它的GTP通道(比如用户面)的IP地址、UDP端口,TEID对于eNB和P-GW是同样的吗?

使用道具 举报

Rank: 9Rank: 9

懒

6#
发表于 2013-10-9 19:13:54 |只看该作者
amr 发表于 2013-10-9 15:38
再请教一个问题,像S-GW,因为它是位于中间的网元,它的GTP通道(比如用户面)的IP地址、UDP端口,TEID对 ...

不是的呢。这是两段GTP tunnel。用不同的TEID来标识。
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

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

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

GMT+8, 2024-5-9 22:55 , Processed in 0.092006 second(s), 13 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部