穿越NAT建立TCP连接的研究.pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
穿越NAT建立TCP连接的研究木 袁刚郭骏侯整风 合肥工业大学,安徽合肥230001 摘要:NAT技术能够有效解决IP地址不足的问题,但NAT的使用限制了由外网发起到内网的连 接请求,因此一系列穿越NAT的方法孕育而生。本文提出一种能穿越NAT建立TCP连接的新方法, 该方法极易编程实现。 关键词:P2P地址转换TCPNAT穿越 1引 言 随着互连网的迅速增长,32位地址的IPv4已经不能满足对口地址的需求,目前IPv6还没有被广泛应 用。网络地址转换(NAT)作为一种过渡解决手段,可以缓解这一矛盾。NAT可以实现多台私有IP地址的主 NAT只允许内网向外网建立TCP连接,而拒绝外网主动向内网发出的TCP连接请求,这样就给在两个内 网之间建立TCP连接带来了很大的困难。 目前,两个NAT的内网主机之间通信大多采用两种方法,一种是通过一个公网服务器进行数据中转, 另一种是利用UDP穿越NAT进行通信。但两种方法都有各自的弊端,前者服务器的压力过大,而后者的 传输可靠性得不到保障。许多研究人员尝试穿越NAT建立TCP连接,然后进行数据通信,但他们的方法 编程比较繁琐,实现较为困难。本文提出一种新的方法穿越NAT建立TCP连接,该方法建立连接速度快, 受NAT设备型号影响小,并且容易编程实现。 2NAT的分类及穿透原理 类,前3种NAT类型可统称为Cone类型。 端口。任何一个外部主机均可通过该映射发送口包到该内部主机。 (2)限制性锥型(RestrictedCone),NAT把所有来自相同内部口地址和端口的请求映射到相同的外部 m地址和端口。但是,只有当内部主机先给m地址为X的外部主机发送P包,该外部主机才能向该内部主 机发送IP包。 制,即只有内部主机先向P地址为X,端口号为P的外部主机发送1个D包,该外部主机才能够把源端口号 为P的口包发送给该内部主机。 (4)对称式NAT(SymmetricNAT):这种类型的NAT与上述3种类型的不同,在于当同一内部主机使用 相同的端El与不同地址的外部主机进行通信时,NAT对该内部主机的映射会有所不同。 ·作者简介,Ji瓤]1](1979-),男,安徽池州人,汉族。研究生,主要研究方向为网络安全。yuang@ahfriend.CON. NAT通过对数据包头的地址替换来完成内网主机访问外网服务的。当内网主机要访问外部网络时, 的映射表,并根据内部计算机的通信需求维护该表。外部网络来的数据包能否进入NAT,主要是看是否已 经有可映射的表项,若没有就会丢弃。如果能在NAT设备的地址映射表中增加外网主机和内网主机之间的 地址映射信息,外网主机发送到内网主机的数据包就能顺利通过NAT。 3TCP穿越NAT的过程 3.1 TCP穿越NAT的实验环境 如图1所示,Server是拥有公网口的协助 连接服务器,同时有两个局域网分别通过NAT —A和M订一B连接到Intemet,本文的目的是 让A1借助Server与B1直接建立TCP连接, A1是连接发起者,Bl是接受者。为书写方便, 下文中以A表示发起者Al,B表示接受者B1。 3.2穿越过程 如图2所示,A与B建立TCP连接的步骤 如下: (1)Server启动两个网络侦听,一个叫“主 连接”侦听,一个叫“协助穿越”的侦听。 图1TCP穿越NAT实验环境 (2)A和B分别与Server的“主连接”侦听建立连接,并通过该“主连接”与Server保持通讯。 申请。同时A在该本地端口号上启动侦听。注意由于要在相同的网络终端上绑定到不同的套接字上,所以 必须为这些套接字设置SO_REUSEADDR属性(即允许重用),否则侦听会失败。 主机^I“T-A s啪 NAT.B主机B 一靶Rv髓《协助穿越】箱口发送协助毪擅申请. 并在本地同一端口启动fjI听 遁过【主连接】告诉B,^经过MAT一^转执 .

文档评论(0)

gubeiren_001 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档