STUN:
STUN协议主要完成对peer所在NAT类型的甄别。
通常,互联网视频p2p应用并不使用标准的STUN协议,而仅仅是遵循STUN说明的甄别流程。
TURN:
TURN协议通过中继的方式完成peer和peer之间的通信。一般在双方都是NAT4(对称型nat)或者一个nat4和一个nat3连接时才有需要使用。
turn不同于一般中继的特别之处是,一个peer可以通过中继一次和多个对端peer通信;中继数据给对端时通常走UDP协议。
因为TURN通过中继的方式完成通信,所以并不适合p2sp的音视频传输这样应用场景(互联网视频直播点播)。(因为,通过服务器(TURN server)中继,数据量没有减少,那就没有必要中继,直接让peer从CDN下载就好了。)
ICE: