TCP穿越NAT的原理与实现方法.pdf

TCP穿越NAT的原理与实现方法.pdf

ID:58294838

大小:250.33 KB

页数:4页

时间:2020-04-17

TCP穿越NAT的原理与实现方法.pdf_第1页
TCP穿越NAT的原理与实现方法.pdf_第2页
TCP穿越NAT的原理与实现方法.pdf_第3页
TCP穿越NAT的原理与实现方法.pdf_第4页
资源描述:

《TCP穿越NAT的原理与实现方法.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、口TELECOMMUNICA丁IONSNETWORKTECHNOLOGYNo.7PRODUCTANDTECHNOLOGYSCHEMETCP穿越NAT的原理与实现方法何秀淼工业和信息化部电信研究院通信标准研究所工程师摘要网络地址翻译(NAT)设备的应用很好地解决了IPv4地址不足的问题,但同时也给端到端的连接带来了障碍。目前,对于UDP通信穿越NAT已经有了一些通用的、有效的解决方法,但对于TCP端到端通信,NAT穿越技术还需继续研究。本文给出了一种较为简单有效的TCP穿越NAT的方法。该方法可以完成市场上主流NAT设

2、备的TCP穿越。关键词端到端通信网络地址翻译穿越TCP打孔1引言(2)限制克隆型NAT:NAT设备把所有来自相同内部IP地址和端口的TCP或UDP请求映射到相同的因特网中端到端通信的应用飞速发展,用户越来外部IP地址和端口。但是,只有当内部主机先给IP地越多,因此IPv4地址数量显得更为匮乏,这也使得网络址为x的外部主机发送IP包,该外部主机才能向该内地址翻译(NAT:NetworkAddressTranslation)设备得部主机发送IP包,并建立TCP或UDP的连接。到了广泛使用。NAT设备可以允许处在同一NAT

3、设备后的多台主机或通信设备共享一个公网(本文将处于同一NAT后具有保留IP地址的网络称为私网,处于NAT前的具有非保留IP地址的网络称为公网)IP地址,多个私网IP地址的主机需要通过NAT设备的地址翻Intemet络译功能才能与公网的其他主机或设备公嘲地址城进行通信(见图1)。这样的组网可以完美地解决IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,2l26NAT设备可以隐藏并保护网络内部的主机,但这样的组网方式也会使在不同lNAT下的私网间主机的端到端通信受到阻碍。2NAT设备的类型与工作原理当前NAT设

4、备根据端口映射方式可分为以下4类:ClientAClientB(1)全克隆型NAT:NAT设备把所l92.I68.1.1ll92.168.O.20有来自相同内部IP地址和端口的TCPTCP端Ll:7777TCP蹦t.-1:8888或UDP请求映射到相同的外部IP地址图1NAT私网示意图和端口,任何一个外部主机均可通过该映射发送IP包到该内部主机,并建立TCP或UDP的(3)端口限制克隆型NAT:端口限制性克隆与限制连接。克隆相似,只是在端口号上加以限制,即只有内部主机·86·产品与技术方案《电信网技术}2014年7月

5、第7期口先向IP地址为x、端口号为A的外部主机发送一个IPSYN(Synchro—端包,该外部主机才能够把源端口号为A的IP包发送到nizeSequence该内部主机。Numbers)包到(4)对称式NAT:这种类型的NAT设备与上述3种连接接收端(下类型都不相同,当该NAT设备的内部主机使用相同的称服务器端)并端EI与外部主机进行通信时,NAT设备对该内部主机进入SYNSEN的映射会有所不同,即每次通信的映射端口都会发生D状态。变化,它会为每个新的会话分配一个新的端口号,而该(2)服务器图2TCP三次握手示意图端口

6、号一般无规则可循,基本为随机分配。端收到SYN包后进行确认并发送SYN+ACK包给客户端,与此同时3TCP穿越NAT方法介绍进入SYNRECV状态。目前流行的P2P应用程序解决NAT穿越问题的方(3)客户端收到SYN+ACK包后,发送ACK包给法有很多,对于UDP穿越NAT的方法也有了比较标准服务器端。至此一个完整的TCP连接建立完成。的规范,而对于TCP穿越NAT至今仍没有特别好的解这种TCP连接方式是协议规定的标准模式,TCP决方法,下面介绍3种比较有效的方法:连接除此标准连接模式外还有一种处理异常情况时用(1)

7、中转服务器转发数据。这种方法要求在公网到的连接模式,即所谓的“同时打开”(见图3)。TCP协上设置一个中转服务器,使其拥有一个公网IP地址,然议设计时特意考虑了可以处理同时打开的场景,对于后使通信双方分别与该中转服务器建立TCP连接,通同时打开它建立一条连接而不是两条连接。当出现同信中的所有数据均发往该服务器,再由它转发给对端时打开的情况时,两端几乎在同时发送SYN,并进入主机。这是当前使用较多的一种解决TCP穿越NATSYNSENT状态。当每一端收到SYN时,状态变为问题的方法,它实现较为简单、成功率高,但缺点也很

8、SYNRCVD,同时它们都再发送SYN并对收到的突出,即中转服务器的转发性能和有限的带宽将成为SYN进行确认。当双方都收到SYN及相应的ACK通信瓶颈、降低通信效率。时,状态变迁为ESTABLISHED。一个同时打开的连(2)用户更改NAT设备配置。用户通过修改NAT接需要交换4个报文段,比正常的三次握手多一个,而设备的端口配置,开放某些特定的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。