什么是Candidate

image.png

收集Candidate

image.png

Candidate的类型及优先级

image.png
Host Candidate,也就是本地网络接口的地址。例如收集udp,本机有两个网卡,每个网卡有两个ip,ipv4和ipv6,则本地会收到四个candidate。
Server Reflexive Candidate,是通过主机候选地址向STUN服务器发送STUN请求获得的网络地址。实际上就是终端的网络包经过一重或多重NAT穿透之后,由STUN服务器观察到的经过NAT转换之后的地址。
Peer Reflexive Candidate,通过从主机候选地址发送一个STUN请求到运行在Peer 候选地址上的STUN服务器而获取的候选地址。
Relayed Candidate,通过从主机候选传输地址发送一个STUN分配请求到STUN服务器而获取的一个候选地址。它是STUN服务器为STUN请求的发起方在本机上分配的代理地址,所有被路由到该地址的网络包将会被转发到服务器反向地址,继而穿透NAT 发送到终端,实际上就是中继服务器的地址。当NAT是对称式的防火墙时,STUN无法穿透的情况下由中继服务器来转发数据。
优先级:Host Candidate > Server Reflexive Candidate > Peer Reflexive Candidate > Relayed Candidate

收集Candidate

image.png