网站大量收购闲置独家精品文档,联系QQ:2885784924

UDP内网穿透讲解及代码实现..doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UDP内网穿透讲解及代码实现.

UDP内网穿透讲解及代码实现.txt偶尔要回头看看,否则永远都在追寻,而不知道自己失去了什么。男人掏钱是恋人关系,女人掏钱是夫妻关系,男女抢着掏钱是朋友关系。男人爱用眼睛看女人,最易受美貌迷惑;女人爱用心看男人,最易受伤心折磨。UDP内网穿透讲解及代码实现 首先先介绍一些基本概念: NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益 缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT 和NAPT(Network Address/Port Translator)。 最开始NAT是运行在路由器上的一个功能模块。 最先提出的是基本的NAT,它的产生基于如下事实:一个私有网络(域)中的节点中只 有很少的节点需要与外网连接(呵呵,这是在上世纪90年代中期提出的)。那么这个子网 中其实只有少数的节点需要全球唯一的IP地址,其他的节点的IP地址应该是可以重用的。 因此,基本的NAT实现的功能很简单,在子网内使用一个保留的IP子网段,这些IP对外 是不可见的。子网内只有少数一些IP地址可以对应到真正全球唯一的IP地址。如果这些节 点需要访问外部网络,那么基本NAT就负责将这个节点的子网内IP转化为一个全球唯一的IP 然后发送出去。(基本的NAT会改变IP包中的原IP地址,但是不会改变IP包中的端口) 关于基本的NAT可以参看RFC 1631 另外一种NAT叫做NAPT,从名称上我们也可以看得出,NAPT不但会改变经过这个NAT设 备的IP数据报的IP地址,还会改变IP数据报的TCP/UDP端口。基本NAT的设备可能我们见的 不多(呵呵,我没有见到过),NAPT才是我们真正讨论的主角。看下图: Server S1 1:1235 | ^ Session 1 (A-S1) ^ | | 1:1235 | | v 1:62000 v | | NAT 1 | ^ Session 1 (A-S1) ^ | | 1:1235 | | v :1234 v | | Client A :1234 有一个私有网络10.*.*.*,Client A是其中的一台计算机,这个网络的网关(一个NAT 设备)的外网IP是1(应该还有一个内网的IP地址,比如0)。如果Clie nt A中的某个进程(这个进程创建了一个UDP Socket,这个Socket绑定1234端口)想访问外 网主机1的1235端口,那么当数据包通过NAT时会发生什么事情呢? 首先NAT会改变这个数据包的原IP地址,改为1。接着NAT会为这个传输创 建一个Session(Session是一个抽象的概念,如果是TCP,也许Session是由一个SYN包开始 ,以一个FIN包结束。而UDP呢,以这个IP的这个端口的第一个UDP开始,结束呢,呵呵,也 许是几分钟,也许是几小时,这要看具体的实现了)并且给这个Session分配一个端口,比 如62000,然后改变这个数据包的源端口为62000。所以本来是(:1234-18.181.0 .31:1235)的数据包到了互联网上变为了(1:62000-1:1235)。 一旦NAT创建了一个Session后,NAT会记住62000端口对应的是的1234端口, 以后从1发送到62000端口的数据会被NAT自动的转发到上。(注意:这 里是说1发送到62000端口的数据会被转发,其他的

文档评论(0)

xznh + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档