P2P网络NAT穿透原理(打洞方案)

P2P通信基本原理 P2P即点对点协议。当A和B通信的时候,最简单的方式如下,A和B之间通过一个服务器转发数据。而P2P是这样的,双方直接进行通信这种方式能大大减轻服务端的负载,所以特别适合大数据的传输,比如实时音视频聊天、在线视频直播、大文件传输等应用场景。 阅读详情

1.关于NAT

NAT技术(Network Address Translation,网络地址转换)是一种把内部网络(简称为内网)私有IP地址转换为外部网络(简称为外网)公共IP地址的技术,它使得一定范围内的多台主机只利用一个公共IP地址连接到外网,可以在很大程度上缓解了公网IP地址紧缺的问题,同时也能防止外网攻击保障内网安全。如下图:

NAT主要的通过对数据包头的地址替换来完成内网计算机访问外网服务器的。当内部机器要访问外部网络时,NAT设备把内网机器的IP与端口号(网络层地址与传输层地址,如:192.168.1.100:666),转换成 NAT 的外部 IP与端口号(如:100.10.10.10:1666),发送给外网服务器;数据返回时,再把目的IP和端口端口号(100.10.10.10:1666)的数据包替换为内网机器的IP地址和端口号(192.168.1.100:666),发给内网机器。若通讯协议的内容中有IP地址的传递,如FTP协议,NAT在转换时还要把数据包内涉及协议地址交互的地方替换,否则协议就会出现地址混乱。在 NAT设备中维护了这个要替换地址的映射表,并根据内部计算机的通讯需求维护该表。外部网络来数据包能否进入内网,主要是看是否已经有可转换的映射表项,若没有就会丢弃。

下图的例子是内网Client A和Client B访问外网Server,Server回复Client A 和Client B请求,NAT转换IP过程中,通过映射不同端口号区分不用内网主机。

NAT的外网地址可以是一个IP,也可以是一个IP段,形成地址池。NAT 还可以把某个外网地址直接影射给内网的某个服务器,让外网的用户可以直接访问到这台服务器。NAT的工作隐藏了内网的机器,但允许内网主动打开到外网的通讯 “通道”,也就是建立映射表项。

NAT的内外网通讯双方不是平等的,允许内网机器主动发起连接访问外网,当NAT没有对应的地址转换映射表项时,会建立一个映射表项,数据包经过NAT地址转换后发送给外网的服务器,连接建立以后可双向传送数据,但却禁止反方向的主动访问:在没有对应地址映射表项情况下,不允许外网主动访问内网主机,因为没有对应的地址映射表项用于转换地址,外网发送的数据包会被丢弃。而地址映射表项的建立往往是因为内网主动访问外网或NAT静态设置。

2.NAT类型

NAT分为两大类,基本NAT(Basic Network Address Translator)和NAPT(Network Address/Port Translator)。

基本NAT,它仅将内网主机的私有IP地址转换成公网IP地址,但并不将TCP/UDP端口信息进行转换,有动态与静态之区分。静态NAT:私有地址与公有地址进行一对一的映射,这种一对一映射无法缓解可用公有地址短缺的问题。动态NAT:私有地址与公有地址进行一对多的映射,先建立公有地址池,当私有地址向外通信时,会从公有地址池中选择非在用的公有地址进行映射,当通信结束时,释放映射关系,公有地址重新恢复到地址池中待用。

NAPT(Network Address/Port Translator),从名称上我们也可以看得出,NAPT不但会转换经过的数据包的IP地址,还会转换数据包的TCP/UDP端口。由于现在大部分都属于NAPT,故这里不详细讨论基础NAT,下文的NAT指NAPT。

NAT有4种类型:完全锥形NAT(Full Clone NAT)、限制性锥形NAT(Restricted Clone NAT)、端口限制性锥形NAT( Port Restricted Clone NAT)、对称式NAT(Symmetric NAT),前面3种是锥形NAT(Clone NAT)。

2.1.完全锥形NAT(Full Clone NAT)

完全锥形NAT(Full Clone NAT):所有从同一个内网主机的IP和端口发送出来的请求都会被映射到同一个NAT的外网IP和端口,且任何一个外网主机均可通过此映射表项发送数据包到对应的内网主机。外网主机可以主动连接内网主机,有点类似于静态NAT。

2.2.限制性锥形NAT(Restricted Clone NAT)

限制性锥形NAT(Restricted Clone NAT):所有从同一个内网主机的IP(标为Src_IP)和端口(标记Src_IP)发送出来的外网请求都会被映射到同一个NAT的外网IP和端口,但增加了一个限制:只有被内网主机(Src_IP:Src_IP)请求过的外网主机IP才能被使用(此外网主机可使用任意端口),否则外网发送的数据包会被丢弃。限制性锥形NAT也被称为IP限制性锥形NAT或地址限制性锥形NAT。

2.3.端口限制性锥形NAT( Port Restricted Clone NAT)

端口限制性锥形NAT( Port Restricted Clone NAT):所有从同一个内网主机的IP(标为Src_IP)和端口(标记Src_IP)发送出来的外网请求都会被映射到同一个NAT的外网IP和端口,但限制:只有被内网主机(Src_IP:Src_IP)请求过的外网主机IP和端口才能被使用,否则外网发送的数据包会被丢弃。即在IP受限锥形NAT基础上增加了端口的限制。

2.4.对称式NAT(Symmetric NAT)

对称式NAT(Symmetric NAT):所有从同一个内网主机的IP(标为Src_IP)和端口(标记Src_IP)发送到同一个外网主机(IP地址标为目的Des_IP,端口标记为Des_Port)的请求都会被映射到同一个NAT的外网IP和端口。即此映射表项只能被**外网主机(Des_IP:Des_Port)**所用。

看一个例子,假设有如下网络,Client使用666端口访问了Server1的1999端口、1988端口和Server2的1888端口。

根据NAT类型,可能产生如下映射表,↔符号左表示内网主机IP和端口,↔符号右表示NAT的外网IP和端口,@符号右表示限制条件:外网主机地址IP和端口。

实际上大部运营商提供的光猫上网服务都是锥形NAT的,而3G、4G网络、公共WiFi等因为安全因素都是对称式NAT。(我们通常在云上购买的服务器就可以理解为是完全锥型NAT)

3.NAT穿透

NAT技术虽然在一定程度上在解决IPv4地址、构建防火墙、保证网络安全方面都发挥了一定的作用,因不允许外网主机访问内网主机,却破坏了端到端的网络通信。为了让跨越NAT的主机之间有效的P2P通信,需要用到NAT穿透,或者叫做NAT打洞。

STUN(Session Traversal Utilities for NAT,NAT会话穿越应用程序,IETF RFC 3489)是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。

3.1.检测NAT类型

第一步 对称式NAT、锥形NAT检测:

①Client首先使用相同的端口分别连接Server1和Server2,Server1获取到NAT映射的IP1:Port1,Server2获取到NAT映射的IP2:Port2;

②Server2把IP2:Port2发给Server1,Server1对比IP1:Port1和IP2:Port2,若不相等,NAT是对称式;否则就是锥形NAT。

第二步 限制锥形NAT、完全锥形NAT检测:

①Client首先向Server2发送消息Mesg,Server2获取到NAT映射的IP2:Port2和Mesg;

②Server2把IP2:Port2和Mesg发给Server1;

③Server1向IP2:Port2发送消息Mesg,Client如果收到Mesg,NAT完全锥形,否则就是限制性锥形。

第三步 IP限制锥形NAT、端口限制锥形NAT检测:

①Client首先向Server1发送消息Mesg,Server1使用端口Port_S1接收Mesg,并获取到NAT映射的IP1:Port1;

②Server1另取一闲置端口Port_Sx(Port_Sx≠Port_S1),Server1使用Port_Sx发送Mesg到IP1:Port1,若Client收到Mesg,NAT是IP限制锥形,否则是端口限制锥形。

3.2.NAT穿透原理与能力

NAT穿透原理如下图可以简要分为6步:

①Client1和Client2分别与Server连接,Server由此获取两者在NAT1和NAT2上的外网映射IP1:Port1和IP2:Port2;

②Server把IP1:Port1发给Client2并告之连接Client1;

③Client2发送请求IP1:Port1,NAT1接收到数据包由于没有对应的映射表项,NAT1把数据包丢弃,但在NAT2上留下IP1:Port1映射表项;

④Client2向Server发送消息:请求Server转告Client1连接Client2,Server发送IP2:Port2给Client1并告知连接IP2:Port2;

⑤Client1连接IP2:Port2;

⑥Client2接收到Client1连接,穿透成功;接收不到则穿透失败。

检测到需要穿越NAT的类型后,根据NAT类型特性,实施穿透策略。我们可以得出以下结论:

序号NAT类型穿越
1完全锥形NAT完全锥形NAT
2完全锥形NATIP限制性锥形NAT
3完全锥形NAT端口限制性锥形NAT
4完全锥形NAT对称式NAT
5IP限制性锥形NATIP限制性锥形NAT
6IP限制性锥形NAT端口限制性锥形NAT
7IP限制性锥形NAT对称式NAT
8端口限制性锥形NAT端口限制性锥形NAT
9端口限制性锥形NAT对称式NAT
10对称式NAT对称式NAT

3.3.两种特殊的P2P场景

3.3.1.TCP通信双方只有一方在NAT内网

这是所有P2P场景中最简单的,它使用一种被称为“反向链接技术”。

由于Client2拥有外网IP地址,所以Client1可以直接发起TCP连接到Client2,但如果Client2尝试发起TCP连接到Client1进行P2P通信则会失败。这时Client2不是直接向Client1发起TCP连接,而是通过Server给Client1发送一个请求:反过来请求Client1连接到Client2(即进行反向链接),Client1在收到从Server转发过来的请求后,会主动向Client2发起一个TCP的连接请求,这样在NAT设备上就会建立起映射表项,Client1和Client2之间能够正常TCP连接。

3.3.2.UDP通信双方在同一个NAT内网

假设有内网主机Client1和Client2,他们对应的NAT为NAT1和NAT2,有一个外网服务器Server,我们可以把Client1和Client2之间的UDP通信NAT穿透方案优化为:

①Client1和Client2向Server发送自己内网IP和端口,Server分别记为IP_C1:Port_C1和IP_C2:Port_C2;同时Server记下Client1、Client2实际与自己通信所使用的外网IP地址和端口号(即对应NAT映射表项外网IP地址和端口),分别记为IP1:Port1和IP2:Port2;

②Client1请求Server帮助建立与Client2的UDP连接;

③Server将Client1的{IP_C1:Port_C1, IP1:Port1}发给Client2,同时,Server将Client2的{IP_C2:Port_C2, IP2:Port2}也发给Client1;

④当Client2收到{IP_C1:Port_C1, IP1:Port1}后,开始向IP_C1:Port_C1和IP1:Port1分别发送UDP数据包,并且Client2会自动锁定第一个给出响应的IP地址和端口号。同理,当Client1收到{IP_C2:Port_C2, IP2:Port2}后,也会开始向IP_C2:Port_C2和IP2:Port2分别发送UDP数据包,并且自动锁定第一个得到Client2回应的IP地址和端口号。由于Client1与Client2互相向对方发送UDP数据包的操作是异步的,所以Client1和Client2发送数据包的时间先后并没有时序要求。

当Client1、Client2在同一个NAT内网时,NAT1=NAT2,如上图,正常情况下,Client1、Client2分别向对方内网IP端口发送的数据包因为不需要路由先到达,因而一般采用内网直联P2P通信。而Client1、Client2分别向对方外网IP端口发送的数据包能否收到取决于NAT是否支持不同端口之间的UDP数据包传输(即Hairpin转换特性)。

注:Hairpin又被称为Hairpin NAT、Loopback NAT或Hairpin Translation,翻译“端口回流”,“回环NAT”。它能够让两台位于同一台NAT网关后面的主机,通过对方的外网地址和端口相互访问,NAT网关会根据一系列规则,将对内网主机发向其NAT外网IP地址的报文进行转换,并从内网接口发送给目标主机。

如上图, Client1和Client2进行P2P连接,最好的方式NAT1外网地址端口直联NAT2外网地址端口,但是实际上,Client1、Client2和Server都无法获取到NAT1、NAT2的外网地址和端口。Client1、Client2只能向对方在NAT3上映射的外网端口发送数据包,如果NAT3不支持Hairpin,那么Client1、Client2就不能进行P2P通信。

p2p和端口转发的python网络打洞实现 转载出处受限制于NAT网关的特性,处于不同局域网内的客户端无法直接连接。即使知道了网关的公网ip和映射端口,任何“不请自来”的数据包都会被NAT网关丢弃,从而无法建立连接。因此需要依赖第三方服务器辅助双方“打洞”建立连接,一旦连接成功建立,即开启了真正的P2P通信,再无需服务器介入。打洞原理为:首先client A和client B(为一对peer)分别向服务器发起请求,服务器记录下双方的公网ip和端口,将对方的地址返回给各自客户端,这样client A和client B都获得了对方的公网地址,接下来就可以 阅读详情

相关推荐

p2p打洞

当这个私有设备发送给一个公网设备175.169.32.155:1234,NAT还有添加一个映射关系,把之前的IP和port和这个映射,因此当这个公网IP响应时,NAT会查看映射表是否含有这个公网IP,来确定是否接收。这者并不相同,但有的nat,同一个局域网的ip和port,发送给不同的外网ip和port时,nat映射的port并不相同。由以上可知,当我们的流程序端口是1234时,我们通过这个端口向stun服务器的6789端口发送信息,stun返回1234这个端口和它的局域网IP映射的公网IP和端口。

宝安小雨 442

内网穿透实现P2P通信

1.什么是NAT?NAT(Network Address Translation,网络地址转换)是一种网络地址翻译技术,主要是将内部的私有IP地址(private IP)转换成可以在公网使用的公网IP(public IP)。2.为什么会有NAT?时光回到上个世纪80年代,当时的人们在设计网络地址的时候,觉得再怎么样也不会有超过32bit位长即2的32次幂台终端设备连入互联网,再加上增加ip的长度(即使是从4字节增到6字节)对当时设备的计算、存储、传输成本也是相当巨大的。

albertbanda的专栏 1689

精通P2P私网穿透技术:NAT打洞原理与应用

网络地址转换(NAT)是大多数现代网络中必不可少的组件,尤其是对于那些拥有私有IP地址范围的网络。NAT使得多个设备能够共享一个或几个公网IP地址,实现对互联网的访问。它主要有两种类型:静态NAT和动态NAT。静态NAT为内部网络中的每一个IP地址提供一个固定的公网IP地址映射。换句话说,私有IP地址与公网IP地址是一对一的映射关系。这使得从外部网络对私有网络中的设备发起连接成为可能。静态NAT的主要作用是允许外部设备根据固定的公网IP地址和端口号,主动与内部网络中的特定设备通信。动态NAT。

weixin_42515842的博客 1339

针对新手友好的frp内网穿透p2p教程(流量不走云服务器)

简单易用的frp教程,减少命令行配置,针对新手友好

qq_44761176的博客 2万+

Win10 LTSC 2021 CPU占用率飙升?KB5017308补丁修复全攻略

本文针对Windows 10 LTSC 2021系统中因wsappx进程导致的CPU占用率异常飙升问题,提供了详细的解决方案。核心在于安装微软官方发布的KB5017308补丁,该补丁能从根本上修复系统组件缺陷,使CPU占用恢复正常。文章详解了补丁的下载、安装步骤、注意事项及安装后的验证方法,是解决此问题的权威指南。

python9snake的博客 1267

电磁流量计模拟前端电路设计与优化

模拟前端电路(AFE)是传感器信号处理的核心环节,通过放大、滤波和模数转换实现信号调理。其设计需重点考虑放大器共模抑制比(CMRR)和ADC分辨率等关键参数,在电磁流量计等工业测量应用中,AD8220仪表放大器与AD7172-2 Σ-Δ型ADC的组合能有效简化传统多级架构。现代过采样技术结合数字滤波可替代模拟滤波器,显著提升系统集成度与测量精度,这种设计方法同样适用于压力传感、生物电信号采集等需要高精度信号调理的场景。

weixin_42602241的博客 618

STUN打洞穿透NATHiChatBox方案

本文介绍HiChatBox系统如何利用STUN技术实现NAT穿透,通过并发打洞建立P2P直连,降低通信延迟。涵盖原理、信令交换、实际挑战及应对策略,适用于音视频通话等实时场景。

weixin_35755562的博客 945

华强北手表256G真相大揭秘:ADB命令实测内存与存储(附完整调试教程)

本文通过ADB命令实战揭秘华强北智能手表256G存储等硬件参数的真实性。文章提供了从开启调试模式到使用ADB命令查询系统属性、验证内存与存储容量的完整教程,帮助用户识别参数虚标,评估设备真实性能与潜在风险。

e3f4g5的博客 1233

WebRTC 核心技术:P2P 打洞原理

P2P打洞技术是WebRTC实现点对点直连的关键,它通过巧妙利用STUN服务器"欺骗"NAT设备。当两台设备处于不同内网时,首先通过公网服务器交换地址信息,然后互相发送UDP包建立NAT映射关系。虽然UDP打洞在锥型NAT下效果良好,但对称型NAT需要降级使用TURN服务器中转。保持连接需要定期发送心跳包防止NAT映射过期。理解这一底层原理有助于解决WebRTC连接中的各类异常问题。

yk_18的博客 2452

UDS服务应该支持哪些否定响应码

UDS服务应该支持哪些否定响应码所有服务都需支持的否定响应码具体的服务需要支持的否定响应码否定响应码定义及其取值 USD诊断服务的否定响应中包含有导致否定响应原因的编码,称为否定响应码(NRC, Negative Response Code)。否定响应码的取值范围为0x00 - 0xFF,被分为三组: 0x00:服务器内部实现否定响应码判断逻辑时使用,表示要给出肯定响应。 0x01 – 0x7F:诊断通信相关的否定响应码。 0x80 – 0xFF:服务器收到诊断服务请求时,由于某些条件不满足要求而给出的否定

闲聊汽车软件开发 4万+

4、基于球面波展开的近场/远场变换技术解析

本文深入解析了基于球面波展开的近场/远场变换技术,涵盖坐标系统选择、截断测量处理、高级SWE方法及实际应用场景。重点介绍了广义SWE、全探头补偿、平移SNF测量(TSWE)等关键技术,结合吸收材料与导电地板系统的误差处理方案,系统总结了各类方法的优缺点与适用场景,并通过流程图和案例分析展示了技术应用路径。该技术在汽车、通信和航空航天领域的天线测量中具有重要价值,可显著提升测量效率与精度。

dell8的博客 255

IPV4地址不足,私有IP无法访问,使用NAT技术、内网穿透与打洞逐个解决

本文介绍了NAT技术及其衍生应用。NAT(网络地址转换)通过将私有IP映射为公网IP解决IPv4地址不足问题,其核心是NAPT转换表实现IP和端口映射。由于NAT的单向性,需借助内网穿透技术,利用公网服务器中转实现私网设备通信;内网打洞则通过服务器交换地址信息,使私网设备直接点对点连接。此外,代理服务器分为正向代理(客户端代理)和反向代理(服务端代理),分别在应用层实现请求转发,用于访问控制、负载均衡等场景。这些技术共同构成了现代网络通信的基础架构。

2301_79969685的博客 1209

MATLAB 开发项目实例 1000 例专栏之第37例:基于Simulink的无人机飞行控制系统设计

通过上述项目实例,我们成功地使用Simulink设计和仿真了一个无人机的飞行控制系统。这个项目展示了从无人机建模、路径规划、控制器设计到仿真验证的完整流程。Simulink的可视化和模块化特性使得系统的建模和仿真更加直观和高效。

xiaoheshang_123的博客 163

010-NAT-代理服务-内网穿透

反向代理服务器是一种网络架构模式,其作为 Web 服务器的前置服务器,接收来自客户端的请求,并将这些请求转发给后端服务器,然后将后端服务器的响应返回给客户端。这种架构模式可以提升网站性能、安全性和可维护性等。

czxyvX的博客 437

12、多端神经形态晶体管:原理、应用与算法探索

本文综述了多端神经形态晶体管的原理、应用与算法探索。从神经元MOS晶体管的发展到基于电解质栅极晶体管(EGT)的新型器件设计,系统阐述了其在低电压、多功能逻辑运算和突触行为模拟方面的优势。重点介绍了其在化学生物传感器(如多巴胺和pH检测)中的高灵敏度应用,以及在树突整合、时空总和、动态逻辑和神经元算术等树突算法中的实现。文章还总结了该类器件在神经形态计算、智能传感等领域的广阔前景,并分析了当前面临的材料工艺、理论建模与系统集成挑战,展望了未来发展方向。

delta的博客 143

11、iOS设备逻辑数据分析全解析

本文深入解析iOS设备中的逻辑数据,涵盖图像相关数据库(Photos.sqlite和PhotosAux.sqlite)、录音文件、iPhoto照片存储结构、多媒体文件、第三方应用程序、社交网络应用(如Twitter、Skype、Facebook等)以及苹果相关应用(如Google Mobile、Bing)的数据存储结构和取证方法。此外,还介绍了文档类应用(如Pages、Numbers、Documents To Go)的文件存储结构及恢复方法。适用于iOS取证、数据挖掘和数字调查领域。

rain6的博客 226

DNS解析 HTTP TCP/IP ICMP/NAT/NAPT相关知识点

本文讲解DNS解析,HTTP,TCP/IP ,ICMP/NAT等相关知识点

铭哥不写bug的博客 521

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

我的世界快快联机怎么实现?从模组到平台完整指南

《Minecraft快速联机指南》摘要:本文介绍三种无需复杂配置的Minecraft联机方案。VoxLink模组支持Fabric 1.20+版本,通过6位房间码实现P2P直连;贝锐蒲公英平台创建虚拟局域网,成员通过虚拟IP加入;内网穿透工具映射25565端口生成公网地址。三种方案各具特点:模组操作简单,平台兼容性强,内网穿透适合长期服务器。用户可根据设备版本和需求选择最适合的方式,实现分钟级快速联机。(149字)

limaaa1的博客 179

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

P2P如何实现内网穿透(打洞)

目录 概述 P2P简介 P2P通信技术 中继(Relaying) 逆向连接(Connection reversal) UDP打洞 端点处于不同NAT 端点处于相同的NAT 固定端口绑定 空闲状态下的超时问题 TCP打洞 套接字和TCP端口的重用 打开P2P的TCP流 TCP同时打开 参考资料 概述 P2P简介 我们知道,内网设备是不能直接访问公网的,如果需要内网...

u014023993的专栏 8万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

【Linux网络】NAT、内网穿透、内网打洞

本文围绕计算机网络里三大高频实用技术:NAT 地址转换、正向 & 反向代理服务、内网穿透(FRP+NAT 打洞)进行完整知识点梳理,内容依托网络实操学习笔记整理,是计算机运维、后端网络编程、网络安全学习的核心复习资料。日常生活里随处可见三类技术落地:家里路由器上网依托 NAT 完成内网设备共用一个公网 IP;校园网限制 SSH 远程登录 XShell 是正向代理做了访问拦截;程序员居家远程操控公司内网服务器依靠 FRP 内网穿透;短视频直播主播和观众点对点传输视频流依靠 NAT 内网打洞 P2P。全文顺着。

艾莉丝努力练剑的博客,感谢大家一直以来的对艾莉丝的支持和鼓励,uu们如果对C/C++方向感兴趣的话,可以通过艾莉丝主页的微信名片加艾莉丝的好友,和努力练剑的艾莉丝一起加油! 5354

P2P技术详解-P2P中的NAT穿越(打洞)方案详解笔记

P2P即点对点通信,或称为对等联网,与传统的服务器客户端模式有明显的区别,在即时通讯方案中应用广泛。在P2P网络中,所有通讯节点的地位都是对等的,每个节点既是客户端又是服务端,节点之间通过直接通信实现文件信息、处理器运算能力、存储空间等资源的共享。P2P网络具有分散性、可扩展性、健壮性等特点,这使得P2P在信息共享、即时通讯、协同工作、分布式计算、网路存储等领域有广阔的应用。图1-经典的CS模式图2-P2P结构模型打洞技术看起来是一项近似乎蛮干的技术,却不失为一种有效的技术手段。

2302_76401432的博客 3165

网络穿透 P2P 穿透 UDP打洞、TCP打洞 原理

网络穿透 P2P 穿透 UDP打洞、TCP打洞 原理

Sico2Sico 6076

【网络】P2P打洞原理(简单描述)

P2P即 Peer to Peer,是一种对等连接方式,纯P2P架构包含如下内容没有总是在线的服务器任意端之间直接通信对等方之间可以间断链接,并可以动态改变IP地址文件分发(BT下载)流媒体VolP内网穿透式访问(建立P2P链接,直接和内网主机通信)即本文即将要讲述的P2P打洞。

慕雪华年的博客 8766

【网络】P2P打洞原理

P2P即 Peer to Peer,是一种对等连接方式,纯P2P架构包含如下内容没有总是在线的服务器任意端之间直接通信对等方之间可以间断链接,并可以动态改变IP地址文件分发(BT下载)流媒体VolP内网穿透式访问(建立P2P链接,直接和内网主机通信)即本文即将要讲述的P2P打洞。

慕雪华年的博客 4258
上一篇: 一个基于Spring Boot+Vue+Redis的物联网智能家居系统
yi博说
博客等级 码龄11年 20粉丝 30原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值