-
P2P 之 UDP穿透NAT的原理与实现(附源代码)
原创:shootingstars
参考:http://midcom...
P2P 之 UDP穿透NAT的原理与实现(附源代码)
原创:shootingstars
参考:http://midcom-p2p.sourceforge.net/draft-ford-midcom-p2p-01.txt
baidu
论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理。
首先先介绍一些基本概念:
NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(Network Address/Port Translator)。
最开始NAT是运行在路由器上的一个功能模块。
最先提出的是基本的NAT,它的产生基于如下事实:一个私有网络(域)中的节点中只有很少的节点需要与外网连接(呵呵,这是在上世纪90年代中期提出的)。那么这个子网中其实只有少数的节点需要全球唯一的IP地址,其他的节点的IP地址应该是可以重用的。
因此,基本的NAT实现的功能很简单,在子网内使用一个保留的IP子网段,这些IP对外是不可见的。子网内只有少数一些IP地址可以对应到真正全球唯一的IP地址。如果这些节点需要访问外部网络,那么基本NAT就负责将这个节点的子网内IP转化为
- 2022-05-26 09:33:21下载
- 积分:1
-
可以进行续传的例子代码,很好用的
可以进行续传的例子代码,很好用的-can Continuingly example code, the good
- 2023-02-07 20:25:03下载
- 积分:1
-
编程读取,设置linux内核的link信息,用于状态检测防火墙的内容过滤部分...
编程读取,设置linux内核的link信息,用于状态检测防火墙的内容过滤部分-programming read, installed linux kernel link information, for the state inspection firewall part of the content filtering
- 2023-06-12 03:25:03下载
- 积分:1
-
分配大量小型类对象(如:10,000小型记录)最快和最佳方法是什么? 当然,MFC 序列流化对象可以完成所需的任务。但是,内存的分配和销毁相当耗时。有没有办法对...
分配大量小型类对象(如:10,000小型记录)最快和最佳方法是什么? 当然,MFC 序列流化对象可以完成所需的任务。但是,内存的分配和销毁相当耗时。有没有办法对此进行改进?-distribution of a large number of small class objects (for example : 10,000 small records), the fastest and best way is of course, MFC-sequence objects can complete the required tasks. However, memory allocation and elimination of time-consuming. Is there a way to improve this?
- 2022-03-03 06:56:25下载
- 积分:1
-
ICQ security solutions and prevention
ICQ安全问题的解决与防范-ICQ security solutions and prevention
- 2023-09-04 00:50:10下载
- 积分:1
-
红客揭密
红客揭密- The red guest reveals
- 2022-02-26 16:16:00下载
- 积分:1
-
the resoures about the capturing of data from ethernet.
基于winpcap 对于以太网帧头的捕获。用c++编写-the resoures about the capturing of data from ethernet.
- 2022-08-08 07:14:43下载
- 积分:1
-
md5信息摘要的c实现,你说为什么呢?我的名字是小沈阳
md5信息摘要的c实现,你说为什么呢?我的名字是小沈阳-implementation of md5. my name is xiao shenyang
- 2022-04-23 00:08:35下载
- 积分:1
-
过程控制应用软件
application softwar of process control
- 2022-02-05 11:31:08下载
- 积分:1
-
一般的为PE文件新增一个节的代码都是汇编代码,但是这是一个VC写的为PE文件新增一个节的代码,代码注释详尽!...
一般的为PE文件新增一个节的代码都是汇编代码,但是这是一个VC写的为PE文件新增一个节的代码,代码注释详尽!-General for the PE file add a section of the code are compiled code, but this is a VC for the PE file written in a new section of the code, the code detailed notes!
- 2023-06-11 05:20:03下载
- 积分:1