首页 > 代码库 > WebRTC学习之ICE深入理解
WebRTC学习之ICE深入理解
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,并重复整个过程。
asdadds
WebRTC学习之ICE深入理解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。