推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

P2P之UDP穿透NAT的原理与实现-源代码

更新时间:2019-11-13 11:17:06 大小:789K 上传用户:xuzhen1查看TA发布的资源 标签:p2pudpnat 下载积分:0分 评价赚积分 (如何评价?) 收藏 评论(1) 举报

资料介绍

论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理。

首先先介绍一些基本概念:

NAT(Network Address Translators),网络地址转换:网络地址转换是在I P地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。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可以参看RFC1631


部分文件列表

文件名 大小
P2P之UDP穿透NAT的原理与实现-源代码.pdf 789K

部分页面预览

(完整内容请下载后查看)

全部评论(1)

  • 2020-06-30 15:20:56yaoke

    有参考价值,感谢分享