文章目录
- 零、ICE具体做些什么
- 一、ICE协议是什么
- 二、ICE Candidate
- 2.1 ICE CANDIDATE TYPE
- 2.2 收集candidate
零、ICE具体做些什么
- 收集candidate
- 对不同type的所有candidate pair进行排序,比如优先使用同一内网的host candidate
- 连通性检查
一、ICE协议是什么
ICE,interactive connectivity establishment. 即需要两端交互才能进行连接。
如图,两个终端通过白云(信令服务器)进行建立连接。在建立连接之前需要通过STUN Server来进行NAT穿越,如果STUN Server 进行NAT穿越不成功就使用Relay Server。
二、ICE Candidate
每一个ICE Candidate就是一个代表某个地址的四元祖,其包括:
(协议,IP,端口和类型)。例如a = candidate … UDP … 192.169.1.2 8080 typ host
2.1 ICE CANDIDATE TYPE
- 主机候选者
- 反射候选者
- 中继候选者
2.2 收集candidate
- Host Candidate: 收集本机所有IP和指定端口。
- Reflextive Candidate: STUN / TURN Server的ip和端口。
- Relay Candidate : TURN Server的ip和端口