[发明专利]一种基于传输控制协议建立会话连接的方法、装置及系统有效
申请号: | 201310103897.6 | 申请日: | 2013-03-28 |
公开(公告)号: | CN104079537B | 公开(公告)日: | 2018-03-23 |
发明(设计)人: | 王灿;戴辉 | 申请(专利权)人: | 联想(北京)有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京中博世达专利商标代理有限公司11274 | 代理人: | 申健 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 传输 控制 协议 建立 会话 连接 方法 装置 系统 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种基于传输控制协议(Transmission Control Protocol,以下简称为TCP)建立会话连接的方法、装置及系统。
背景技术
网络地址转换(Network Address Translators,NAT)是在IP地址日益缺乏的情况下产生的,主要目的就是为了能够地址重用。NAT是一个IETF(Internet Engineering Task Force,互联网工程任务组)标准,可以将局域网中的内部地址节点翻译成合法的IP地址在Internet上使用(即把IP包内的地址域用合法的IP地址来替换),或者可以把一个IP地址转换成某个局域网节点的地址,从而可以帮助网络超越地址的限制,合理的安排网络中共有Internet地址和私有IP地址的使用。
然而,NAT的存在将给通信双方建立会话连接带来问题。比如:当主叫对处于NAT后的被叫发起会话请求时,由于此时被叫用户尚未在其NAT上留下端口映射关系,因此主叫不知道目的的端口号,NAT设备也不知道该往内网何处转发外来的请求。这种接连是不能建立成功的。如果通信双方都在NAT之后,建立会话连接将会更加困难。
康奈尔大学的NUTSS项目组提出了一种STUN(Simple Traversal of UDP over NATs,NAT的UDP简单穿越)的改进协议STUNT(STUN with TCP),这个协议利用发送一个低生命周期的信号来引发本地NAT返回一个ICMP(Internet Control Message Protocol,Internet控制报文协议)错误消息,以获得TCP连接 序号等信息,然后利用这些信息来伪造一个TCP连接的方法从而实现NAT的穿越。
具体的,如图1所示,终端双方(终端A、终端B)都主动发送低生命周期(TTL)的SYN,且SYN的生命周期要足够大,大到SYN包能穿过终端双方各自的NAT,但生命周期又要足够小,小到穿过各自的NAT后就过期而被网络丢弃。这样发起终端一方的NAT就会返回一个ICMP消息,通过侦听经过原始套接字(RAW-socket)或PCAP(packet capture library,抓包库)返回的ICMP消息,终端可以得知初始TCP的序号。终端双方把各自的序号告诉都能抵达(连接)的STUNT服务器,紧接着STUNT服务器通过设置匹配的序号构造一个SYNACK来欺骗双方(双方都认为该SYNACK是对方回应的)。完成TCP握手任务的ACK按照正常方式穿过网络。这种方法最大的缺点在于,需要一个第三方为一个任意地址产生一个欺骗包,而该欺骗包很可能被网络中各种各样的进出过滤器丢弃。
发明内容
本发明的实施例提供一种基于TCP建立会话连接的方法、装置及系统,用于实现NAT的TCP简单穿越。
为达到上述目的,本发明的实施例根据如下技术方案:
第一方面,本发明实施例提供了一种基于TCP建立会话连接的方法,包括:获取主叫方网关的地址以及使用网关的端口信息;根据所述主叫方网关的地址以及使用网关的端口信息向所述主叫方网关发起TCP建立连接,以使得被叫方网关记录被叫方与被叫方网关之间的端口映射关系;在所述主叫方发起TCP建立连接时,接收所述被叫方网关根据所述被叫方与被叫方网关之间的端口映射 关系发送的握手消息并向所述主叫方返回第一应答消息;接收主叫方发送的第二应答消息,建立与主叫方之间的会话连接。
第二方面,本发明实施例还提供了一种基于TCP建立会话连接的方法,包括:获取被叫方网关的地址以及使用网关的端口信息;在所述被叫方向主叫方网关发起TCP建立连接后,根据所述被叫方网关的地址以及使用网关的端口信息向所述被叫方网关发送握手消息以使得所述被叫方网管将所述握手消息发送给被叫方,所述被叫方网关在所述被叫方发起TCP建立连接时记录有被叫方与被叫方网关之间的端口映射关系;接收被叫方返回的第一应答消息并发送第二应答消息给被叫方,建立与被叫方之间的会话连接。
第三方面,本发明实施例还提供了一种服务端,包括:
第一获取单元,用于获取主叫方网关的地址以及使用网关的端口信息;
第一发起单元,用于根据所述第一获取单元获取的主叫方网关的地址以及使用网关的端口信息向所述主叫方网关发起TCP建立连接,以使得被叫方网关记录被叫方与被叫方网关之间的端口映射关系;
第一接收单元,在所述主叫方发起TCP建立连接时,用于接收所述被叫方网关根据所述被叫方与被叫方网关之间的端口映射关系发送的握手消息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联想(北京)有限公司,未经联想(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310103897.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种信息传输方法及相关设备、系统
- 下一篇:一种盗链检测方法、系统及装置