TCP实现P2P通信、TCP穿越NAT的方法、TCP打洞
TCP实现P2P通信、TCP穿越NAT的方法、TCP打洞(附源代码)
◆◆◆ 作者 ◆◆◆
谢红伟 · chrys · chrys@163.com · doc.guandang.net ◆◆◆ 日期 ◆◆◆ 2007-07-24 01:34:57
这个标题用了两个顿号三个名称,其实说得是同一个东西,只是网上有不同的说法罢了,另外好像还有人叫TCP打孔(我的朋友小妞听说后问“要打孔啊,要不要我帮你去借个电钻过来啊?”“~!·¥% ·!”)。
闲话少说,我们先看一下技术背景:
Internet的迅速发展以及IPv4 地址数量的限制使得网络地址翻译(NAT,Network Address Trans2lation)设备得到广泛应用。NAT设备允许处于同一NAT后的多台主机共享一个公网(本文将处于同一NAT后的网络称为私网,处于NAT前的网络称为公网) IP 地址。一个私网IP 地址通过NAT设备与公网的其他主机通信。公网和私网IP地址域,如下图所示:
广域网与私网示意图
一般来说都是由私网内主机(例如上图中“电脑A-01”)主动发起连接,数据包经过NAT地址转换后送给公网上的服务器(例如上图中的“Server”),连接建立以后可双向传送数据,NAT设备允许私网内主机主动向公网内主机发送数据,但却禁止反方向的主动传递,但在一些特殊的场合需要不同私网内的主机进行互联(例如P2P软件、网络会议、视频传输等),TCP穿越NAT的问题必须解决。网上关于UDP穿越NAT的文章很多,而且还有配套源代码,但是我个人认为UDP数据虽然速度快,但是没有保障,而且NAT为UDP准备

UDP/TCP 穿越 NAT 的 P2P 通信方法研究(UDP/TCP 打洞 H ole Punching) ...了广泛的理解和应用,在此,也将讨论如何 利用它实现可靠的 p2p 的 TCP 流通信...
TCP 实现 P2P 通信、TCP 穿越 NAT 的方法、TCP 打洞 这个标题用了两个顿号...实现过程如下(请参照源代码): 1、 S 启动两个网络侦听,一个叫【主连接】...
实现TCP的P2P打洞C语言源代码_信息与通信_工程科技_专业资料。TCPIP 网络通信... TCP打洞技术 14页 免费 TCP实现P2P通信 15页 免费 UDPTCP 打洞(穿越NAT)技...
在分析了一种简单而又实用的NAT穿越技术-hole-punching,该方式一般适用于UDP通信,进一步把它扩展到TCP,详细描述了使用TCP穿越NAT的细节,TCP连接具备很多优点,在...
基于TCP的P2P点播系统NAT穿越设计_专业资料。Pv4地址的日益减少和对网络安全性要求的提高导致了NAT设备的大范围使用。不同的NAT设备在面对进站或出站数据包时有不...
提出了一种新的 TCP 打洞 0 引言P2P 技术使得...*国家863计划课题 “基于可执行代码逆向分析的软件...要实现 TCP 穿越 NAT 或者防火墙,位于 NAT 或者防...
目前,UDP穿透已经得到较好地解决,TCP穿透NAT虽然有一些解决方案,但都不完善。... P2P网络中的NAT穿越方案 5人阅读 5页 3.00 TCP穿透NAT在P2P网络中的....
下面是一个模拟P2P聊天的过程的源代码,过程很简单,P2PServer运行在一个拥有公网...《UDP穿透NAT的原理与实现》 2 关于tcp的穿越 由于tcp是面向连接的,socket需要...
行互联(例如 P2P 软件、网络会议、视频传输等),TCP 穿越 NAT 的问题必须解 ...个可以实现 TCP 穿越 NAT,让不 同的私网内主机建立直接的 TCP 通信的源代码...
主机进行互联(例如 P2P 软件、网络会 议、视频传输等),TCP 穿越 NAT 的问题...个可以实现 TCP 穿越 NAT,让不同的私网内主机建立直接的 TCP 通信的源代码。...
热门文档