TURN

TURN（全名Traversal Using Relay around NAT），是一種資料傳輸協議（data-transfer protocol）。允許在TCP或UDP的連線上跨越NAT或防火牆。

TURN是一个client-server协议。TURN的NAT穿透方法與STUN類似，都是通過取得應用層中的公有地址達到NAT穿透。但實現TURN client的終端必須在通訊開始前與TURN server進行交互，並要求TURN server產生"relay port"，也就是relayed-transport-address。這時TURN server會建立peer，即遠端端點（remote endpoints），開始進行中繼（relay）的動作，TURN client利用relay port將資料傳送至peer，再由peer轉傳到另一方的TURN client。

## 參見

[编辑]

* NAT穿越
* Session Traversal Utilities for NAT（STUN）
* Interactive Connectivity Establishment（ICE）

## 外部連結

[编辑]

* RFC 5766 Traversal Using Relay NAT (TURN)
* Yahoo! - Director of Engineering explaining STUN and TURN (Video)（页面存档备份，存于互联网档案馆）

### 实现

[编辑]

* Numb（页面存档备份，存于互联网档案馆）是一種免費的STUN/TURN server.
* TurnServer（页面存档备份，存于互联网档案馆） - OpenSource TURN server.
* reTurn（页面存档备份，存于互联网档案馆） - opensource STUN/TURN server and client library（C++）