複製鏈接
請複製以下鏈接發送給好友

turn

(網絡協議)

鎖定
turn是網絡協議,又稱SPAN(Simple Protocol for Augmenting NATs)方式。
中文名
turn
又    稱
SPAN
TURN協議允許
NAT
通    過
Relay方式穿越NAT
TURN協議允許NAT或者防火牆後面的對象可以通過TCP或者UDP接收到數據。這在使用了對稱式的NAT(或者防火牆)的網絡中尤其具有實用價值 [1] 
TURN方式解決NAT問題的思路與STUN相似,是基於私網接入用户通過某種機制預先得到其私有地址對應在公網的地址(STUN方式得到的地址為出口NAT上的地址,TURN方式得到地址為TURNServer上的地址),然後在報文負載中所描述的地址信息直接填寫該公網地址的方式,實際應用原理也是一樣的。
TURN的全稱為Traversal Using Relay NAT,即通過Relay方式穿越NAT,TURN應用模型通過分配TURNServer的地址和端口作為客户端對外的接受地址和端口,即私網用户發出的報文都要經過TURNServer進行Relay轉發,這種方式應用模型除了具有STUN方式的優點外,還解決了STUN應用無法穿透對稱NAT(SymmetricNAT)以及類似的Firewall設備的缺陷,即無論企業網/駐地網出口為哪種類型的NAT/FW,都可以實現NAT的穿透,同時TURN支持基於TCP的應用,如H323協議。此外TURNServer控制分配地址和端口,能分配RTP/RTCP地址對(RTCP端口號為RTP端口號加1)作為本端客户的接受地址,避免了STUN應用模型下出口NAT對RTP/RTCP地址端口號的任意分配,使得客户端無法收到對端發過來的RTCP報文(對端發RTCP報文時,目的端口號缺省按RTP端口號加1發送)
TURN的侷限性在於所有報文都必須經過TURNServer轉發,增大了包的延遲和丟包的可能性。
參考資料