ICE
ICE(Interactive Connectivity Establishment
)。指的是为了建立端到端之间的连接而使用的一系列技术手段,是一种框架,可以整合各种NAT穿越技术如STUN、TURN。
概念
ICE Candidate
每一个candidate都是IP + port,都是一个潜在的通路
Peer之间的candidate使用SDP
进行交换
每个candidate都包括协议
,IP + port
,类型
candidate 类型
类型 | 说明 |
---|---|
主机类型(host) | 网卡本身的ip地址和端口 |
反射类型(reflexive) | 经过nat的ip和端口 |
中继类型(relayed) | 使用TRUN服务分配的ip和端口 |
ICE做的事情
- 收集潜在的
candidate
- host : 本机网卡所有IP和指定的端口
- reflexive : 通过STUN获取到映射后的ip和端口
- relayed : 使用TRUN申请的ip和端口
- 对candidate进行排序
- 优先级高的先做连通性检测