WebRTC学习之ICE深入理解
2017-08-08 10:11
281 查看
ICE(交互式连接建立—Interactive Connectivity Establishment),是一种标准穿透协议。它利用STUN和TURN服务器来帮助端点建立连接。下图显示了ICE的基本步骤:
建立连接的前提是A、B都在线。
其中传输地址是IP地址和端口号的组合。
1.收集候选传输地址
2.在信令通道中交换候选项
3.执行连接检查
4.选择选定的对,并启动媒体
5.发送长连接请求(KeepAlive),任何一端检测到使用中的IP地址发生变化,都重新启动ICE(即返回步骤1)。
针对上面提到的一些过程整理一下概念:
长连接
为了确保NAT映射和过滤规则不在回话期间超时,ICE会不断通过使用中的候选项对发送连接进行检查。这样的话,可以确保,即使媒体暂停或因其他情况没有发送,也会有数据包得到持续发送。
ICE重启
因为IP地址是用来生成正在使用的候选项对的传输地址。所以无论哪一端的ICE检测到传输基地址发生改变,都会触发ICE的事件。此事件会导致改变方的ICE重新执行步骤1来收集候选项,再以SDP提议形式将这些候选项发送给另一端的ICE代理。这会使得对端的ICE也重新执行步骤1,并重复整个过程。
建立连接的前提是A、B都在线。
其中传输地址是IP地址和端口号的组合。
1.收集候选传输地址
2.在信令通道中交换候选项
3.执行连接检查
4.选择选定的对,并启动媒体
5.发送长连接请求(KeepAlive),任何一端检测到使用中的IP地址发生变化,都重新启动ICE(即返回步骤1)。
针对上面提到的一些过程整理一下概念:
长连接
为了确保NAT映射和过滤规则不在回话期间超时,ICE会不断通过使用中的候选项对发送连接进行检查。这样的话,可以确保,即使媒体暂停或因其他情况没有发送,也会有数据包得到持续发送。
ICE重启
因为IP地址是用来生成正在使用的候选项对的传输地址。所以无论哪一端的ICE检测到传输基地址发生改变,都会触发ICE的事件。此事件会导致改变方的ICE重新执行步骤1来收集候选项,再以SDP提议形式将这些候选项发送给另一端的ICE代理。这会使得对端的ICE也重新执行步骤1,并重复整个过程。
相关文章推荐
- WebRTC学习之ICE深入理解
- WebRTC学习之ICE深入理解
- WebRTC学习之ICE深入理解
- EM算法学习笔记2:深入理解
- 深入理解计算机系统学习记录(一)
- KJFrameForAndroid框架学习----深入理解注解原理
- Python学习笔记 --- 深入理解字符串
- 深入理解 Java 虚拟机之学习笔记(3)
- MySQL学习(四)深入理解乐观锁与悲观锁
- 深入理解C#学习笔记之走出误区
- 深入理解linux网络技术内幕(学习笔记)
- android初级学习之深入理解Context
- <深入理解JavaScript>学习笔记(5)_强大的原型和原型链
- C++学习之深入理解虚函数--虚函数表解析
- 【Android学习之】深入理解JNI
- Java中关于Arrays.asList方法的深入学习与理解
- 【深入理解Java虚拟机】------ 学习0304 HotSpot的算法实现
- 【深入理解Java虚拟机】------ 学习0303 垃圾收集算法
- Java学习笔记之一(深入理解Object类中方法)
- 【深度学习】深入理解ReLU(Rectifie Linear Units)激活函数