回复 ktpd00wen99 的帖子
1 UDP的端口号,在协议里没有说一定要源和目的端口都相同。不见得源端口也要用2123。 规范29.060里的原话是: The UDP Destination Port number for GTP-C request messages is 2123. It is the registered port number for GTP-C. The UDP Destination Port number for GTP-U request messages is 2152. It is the registered port number for GTP-U. The UDP Source Port is a locally allocated port number at the sending GSN/RNC. 因此,GSN节点可以本地分配源端口,只需要在本地能够区分出上层应用即可。 2 谢谢,之前的回复确实不准确。已经更新。正确的应该如下。 SGSN发给GGSN的用户面和控制面IP可以是相同的,也可以不相同的。这是两个GTP协议的IE(信息元素)。一个GTP-C,一个GTP-U。要区分的话,不是通过IP地址来区分,而是通过TEID。控制面和用户面的TEID通常是不一样的。即使一样,也能够区分。在解封装的时候,GGSN是先解IP头部,然后解UDP,看到不同的端口号,就送给不同的进程(GTP-C和GTP-U)来处理。不同的进程再根据TEID来区分用户。 另外,#2的TEID是SGSN给GGSN分的,用于下行GTP包封装,而#3的TEID是GGSN给SGSN分的,用于上行方向GTP封装。两者没有直接联系。 3 这个问题的答案见第1个问题的答案。如果GGSN确定是用户面,则目的端口为2152,否则是2123。源端口可以随机定。也可以和目的端口一致。看厂家了。 |