简单说一下 TCP打洞和UDP打洞】的更多相关文章

为什么网上讲到的P2P打洞基本上都是基于UDP协议的打洞?难道TCP不可能打洞?还是TCP打洞难于实现?     假设现在有内网客户端A和内网客户端B,有公网服务端S.     如果A和B想要进行UDP通信,则必须穿透双方的NAT路由.假设为NAT-A和NAT-B.          A发送数据包到公网S,B发送数据包到公网S,则S分别得到了A和B的公网IP, S也和A B 分别建立了会话,由S发到NAT-A的数据包会被NAT-A直接转发给A, 由S发到NAT-B的数据包会被NAT-B直接转发给…
为什么网上讲到的P2P打洞基本上都是基于UDP协议的打洞?难道TCP不可能打洞?还是TCP打洞难于实现?     如果如今有内网clientA和内网clientB.有公网服务端S.     如果A和B想要进行UDP通信,则必须穿透两方的NAT路由.如果为NAT-A和NAT-B. A发送数据包到公网S,B发送数据包到公网S,则S分别得到了A和B的公网IP, S也和A B 分别建立了会话.由S发到NAT-A的数据包会被NAT-A直接转发给A, 由S发到NAT-B的数据包会被NAT-B直接转发给B,除…
为什么网上讲到的P2P打洞基本上都是基于UDP协议的打洞?难道TCP不可能打洞?还是TCP打洞难于实现?     假设现在有内网客户端A和内网客户端B,有公网服务端S.     如果A和B想要进行UDP通信,则必须穿透双方的NAT路由.假设为NAT-A和NAT-B.          A发送数据包到公网S,B发送数据包到公网S,则S分别得到了A和B的公网IP, S也和A B 分别建立了会话,由S发到NAT-A的数据包会被NAT-A直接转发给A, 由S发到NAT-B的数据包会被NAT-B直接转发给…
1, TCP协议通信: 现在有两台电脑A和B.在 假设A的地址为 192.168.0.100 假设B的地址为 192.168.0.102 A想给B发送一个字符串Hello,  如果A,B之间采用TCP协议,那么B收到Hello的过程是怎样的呢? 首先建立连接(3次握手成功之后,A和B的链接才算成功),然后A在给B发送数据. 如果A,B不在一个局域网内,A,B通信就需要打洞了. 假设A通过路由器S1上网.B通过路由器S2上网. S1的外网IP:114.66.5.211          本地IP:…
本博客曾经发布了通过 Finalspeed 加速 Shadowsocks 的教程,大家普遍反映能达到一个非常不错的速度.Finalspeed 虽好,就是内存占用稍高,不适合服务器内存本来就小的用户:而且现在 Finalspeed 停止维护,就需要寻找一个能替代 Finalspeed 的工具. 今天我就给大家介绍这么一个能替代 Finalspeed 的项目 — Kcptun. Kcptun介绍 Kcptun 是一个非常简单和快速的,基于 KCP 协议的 UDP 隧道,它可以将 TCP 流转换为 K…
UDP穿越NAT的具体设计 首先,Client A登录服务器,NAT 1为这次的Session分配了一个端口60000,那么Server S收到的Client A的地址是200.0.0.132:60000,这就是ClientA的外网地址了.同样,Client B登录Server S,NAT B给此次Session分配的端口是40000,那么Server S收到的B的地址是200.0.0.133:40000. 此时,Client A与Client B都可以与ServerS通信了.如果Client…
catalogue . NAT概念 . P2P概念 . UDP打洞 . P2P DEMO . ZeroNet P2P 1. NAT概念 在STUN协议中,根据内部终端的地址(LocalIP:LocalPort)到NAT出口的公网地址(PublicIP:PublicPort)的影射方式,把NAT分为四种类型(rfc3489: http://www.ietf.org/rfc/rfc3489.txt) . Full Cone: 这种NAT内部的机器A连接过外网机器C后,NAT会打开一个端口,然后外网的…
http://www.cnblogs.com/whyandinside/archive/2010/12/08/1900492.html http://www.gzsec.com/oldversion/filesys/news_view.asp?newsid=84 NAT的原理NAT怎么能够节约公网IP地址呢?这是因为它能够让由私有IP构成的局域网内所有的计算机通过一台具有公网IP和NAT功能的计算机进入公网(Internet),比如上网冲浪,这样一个局域网就只需要一个或很少几个公网IP就行了,从…
所谓udp打洞就是指客户端A通过udp协议向服务器发送数据包,服务器收到后,获取数据包,并且 可获取客户端A地址和端口号.同样在客户端B发送给服务器udp数据包后,服务器同样在收到B发送过来 的数据包后获取B的地址和端口号,将A和B的地址与端口号分别发送给对方,这样双方可以继续用UDP协议 通信.这么做有什么用呢?因为对于一些应用或者需求,需要两个客户端临时做一些通信,而这种通信 不需要建立tcp就可以完成,所以才去udp打洞. 下面附上测试代码: 头文件 // udphole.cpp : 定义…
1.NAT(Network Address Translator)介绍 NAT有两大类,基本NAT和NAPT. 1.1.基本NAT 静态NAT:一个公网IP对应一个内部IP,一对一转换 动态NAT:N个公网IP对应M个内部IP,不固定的一对一转换关系  1.2.NAPT(Network Address/Port Translator) 现在基本使用这种,又分为对称和锥型NAT. 锥型NAT,有完全锥型.受限制锥型.端口受限制锥型三种: a)Full Cone NAT(完全圆锥型):从同一私网地址…