webrtc ICE 打洞总结

要搞清webrtc ICE连接是否能成功 , 主要是搞懂NAT

NAT 类型 简单来说

一 是本地的ip和端口 决定外部的 ip和端口(和目的Ip和端口无关) , (这种情况又分为 , 无限制,仅限制 ip , 限制ip和port , 也就是要自己先给这个另外设备ip1和port1发过信息的情况下决定是否让这个ip1,port1的消息进来) (按理说 外部ip和port是固定的 , 那么双方都知道对方的ip和Port的情况下 都会往双方发消息,每一次发消息也行会失败,但是之后 双方都会记录对方的IP和port ,所以双方都能进入了,所以如果A,B设备没有其中一个是对称 NAT的情况下 ICE理论上打洞成功的话应该是能接通的)

二是 本地ip和端口和目的ip和端口决定 外部的ip和端口 , 这种情况STUN服务器得到和外部ip和端口就是无效的,所以另外 一个B设备是无法知道A设备的外部 ip和端口的 ,所以这时候一定要A设备能够访问到B设备先ICE从能接通, 如果 A设备是对称型NAT 那么B设备一定要full cone NAT才能接通了(设想 B设备无法知道A设备的外部Ip和port的情况下 就无法向A发消息,那就只能靠B能进去A了)

相关推荐
北南京海3 小时前
[Linux]进程地址空间
linux·运维·服务器
yzx9910134 小时前
服务器生成图片
运维·服务器
林深的林4 小时前
Http证书体系及证书加密流程(通信流程)
网络协议·http·https
liulilittle6 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
caolib9 小时前
无需云服务器的内网穿透方案 -- cloudflare tunnel
运维·服务器·内网穿透·tunnel·cloudflared
誰能久伴不乏9 小时前
Linux系统调用概述与实现:深入浅出的解析
linux·运维·服务器
程序员学习随笔10 小时前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器
-SGlow-10 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
代码改变世界ctw11 小时前
Linux内核设计与实现 - 第14章 块I/O层
linux·运维·服务器
Dreams_l11 小时前
网络编程2(应用层协议,传输层协议)
运维·服务器·网络