ICE-RFC5245摘要

ICE:Interactive Connectivity Establishment

参考链接:http://tools.ietf.org/html/rfc5245

简介

      ICE技术使用请求/应答模型的信令协议建立交互式连接,方便基于UDP的媒体流的NAT穿透。它也整合了STUN和TURN协议的内容,形成了完整的穿透NAT的解决方案,相对于其他解决方案,如ALGs(应用层网关)、Middlebox Control Protocol、STUN(RFC3489)、RSIP等,ICE都表现出优势。

应用场景

      两个对端(或者称为代理)之间已经可以通过一些信号协议(SIP、XMPP等)互发SDP消息了,ICE是为了给它们找到最好的媒体流传输路径。

基本思想

      ICE使Agent发现足够多的拓扑信息,便于发现一条或者多条潜在的通讯路线,其实是一些候选的传输地址,分三类:本地地址(跟网卡相关)、位于公网的经NAT转换后的地址、Agent使用的中继地址。

      两个对端A和B都有用ICE发现自己的候选地址,双方的候选地址有多个组合,ICE尝试所有可以正常工作的组合(连通性检查),直到找到一个或者多个可以工作的组合(具体实现时,可能找到一个就不再找了,即冻结候选,因为候选已经经过排序,前面的优先级高于后面的候选的优先级)。

基本流程

     收集候选的传输地址

     三种地址:一种从本地接口可以获取的客户端地址;第二种NAT方式转换后的公网IP地址(通过STUN协议发现);第三种是中继地址(通过TURN协议发现)。

    候选组合排序

    连接性检查

    客户端A收集到所有的候选传输地址后,进行排序,然后通过信令通道发给B。B收到后,也进行收集过程,然后作为响应发给A。然后双方互发STUN请求和STUN响应,来检查连通性。

    冻结候选

    安全性检查

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值