STUN、TURN、ICE(p2p、内网穿透) 作者:马育民 • 2024-02-16 17:06 • 阅读:10033 摘自: https://www.cnblogs.com/mlgjb/p/8243690.html # STUN STUN,首先在RFC3489中定义,作为一个完整的NAT穿透解决方案,英文全称是Simple Traversal of UDP Through NATs,即简单的用UDP穿透NAT 即:UDP打洞、UDP内网穿透 STUN(Simple Traversal of User Datagram Protocol Through Network Address Translators),即简单的用UDP穿透NAT,是个轻量级的协议,是基于UDP的完整的穿透NAT的解决方案。它允许应用程序发现它们与公共互联网之间存在的NAT和防火墙及其他类型。它也可以让应用程序确定NAT分配给它们的公网IP地址和端口号。STUN是一种Client/Server的协议,也是一种Request/Response的协议,默认端口号是3478。(IETF官方文档RFC3489/STUN点此进入) 更多解释: https://info.support.huawei.com/info-finder/encyclopedia/zh/STUN.html # TURN 在RFC5766中定义,英文全称是Traversal Using Relays around NAT:Relay Extensions to Session Traversal Utilities for NAT,即使用中继穿透 NAT:STUN 的扩展。 即:STUN 穿透失败后,由 TURN 实现中继转发 如果一个主机位于NAT的后面,在某些情况下它不能够与其他主机点对点直接连接。在这些情况下,它需要使用中间网点提供的中继连接服务。TURN协议就是用来允许主机控制中继的操作并且使用中继与对端交换数据。TURN与其他中继控制协议不同的是它能够允许一个客户端使用一个中继地址与多个对端连接。 # ICE ICE的全称Interactive Connectivity Establishment(互动式连接建立),由IETF的MMUSIC工作组开发出来的,它所提供的是一种框架,使各种NAT穿透技术可以实现统一。ICE跟STUN和TURN不一样,ICE不是一种协议,而是一个框架(Framework),它整合了STUN和TURN。 原文出处:https://malaoshi.top/show_1IX7A5zi8yIM.html