STUN协议 与 TURN协议

STUN (Session Traversal Utilities for NAT,NAT会话穿越应用程序)是一种网络协议,

STUN(Simple Traversal of User Datagram Protocol through Network Address Translators (NATs),NAT的UDP简单穿越)是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于 NAT路由器之后的主机之间建立UDP通信。该协议由RFC 3489定义。目前RFC 3489协议已被RFC 5389协议所取代,新的协议中,将STUN定义为一个协助穿越NAT的工具,并不独立提供穿越的解决方案。它还有升级版本RFC 7350,目前正在完善中。

STUN是一个客户机-服务器协议。一个VoIP电话或软件包可能会包括一个STUN客户端。这个客户端会向STUN服务器发送请求,之后,服务器就会向STUN客户端报告NAT路由器的公网IP地址以及NAT为允许传入流量传回内网而开通的端口。

对nat肯能有效,对防火墙可能就无能为力

TURN(全名 Traversal Using Relay NAT),是一种资料传输协议(data-transfer protocol)。允许在TCP或UDP的连线上跨越 NAT 或防火墙。是STUN协议的扩展,当采用UDP打洞技术不能实现的时候,就必须要一台中间服务器扮演数据包转发的角色

对称性的nat只能转发

相关推荐
开始了码1 天前
UDP 协议详解与 Qt 实战应用
qt·网络协议·udp
Sleepy MargulisItG1 天前
【Linux网络编程】TCP Socket
linux·网络·tcp/ip
Watermelo6171 天前
【前端实战】从 try-catch 回调到链式调用:一种更优雅的 async/await 错误处理方案
前端·javascript·网络·vue.js·算法·vue·用户体验
Andre_BWM99921 天前
跨境电商防关联技术实践:美客多自养号环境搭建(指纹浏览器/IP隔离/支付合规)
网络·网络协议·tcp/ip
hh.h.1 天前
无网络也能用!Flutter+开源鸿蒙构建轻量级应急通信系统
网络·flutter·开源
橘子真甜~1 天前
C/C++ Linux网络编程14 - 传输层TCP协议详解(保证可靠传输)
linux·服务器·网络·网络协议·tcp/ip·滑动窗口·拥塞控制
真正的醒悟1 天前
图解网络34
网络
IT·小灰灰1 天前
告别“翻墙“烦恼:DMXAPI让Gemini-3-pro-thinking调用快如闪电
网络·人工智能·python·深度学习·云计算
任子菲阳1 天前
学Java第五十六天——网络编程
网络
程序员zgh2 天前
常用通信协议介绍(CAN、RS232、RS485、IIC、SPI、TCP/IP)
c语言·网络·c++