Traversering med hjälp av relä NAT

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 13 juni 2016; kontroller kräver 2 redigeringar .

Traversal Using Relay NAT (TURN)  är ett protokoll som tillåter en värd bakom en NAT eller brandvägg att ta emot inkommande data över TCP- eller UDP- anslutningar. Denna funktion är särskilt relevant för värdar bakom symmetriska NAT:er, eller brandväggar, som håller på att vara värd för en anslutning till en specifik peer.

TURN är inte designad för att vidarebefordra serverportar via NAT, den stöder punkt-till-punkt-anslutningar mellan noder bakom NAT (som i IP-telefoni ).

I detta avseende behåller den säkerhetsfunktionerna som tillhandahålls av symmetrisk NAT och brandväggar , men ändrar översättningstabellerna så att en värd på insidan kan bli den mottagande änden av anslutningen.

TURN-protokollet beskrivs i RFC 5766 och en uppdatering av TURN för att stödja IPv6 beskrivs i RFC 6156 . URI-schemat för TURN är dokumenterat i RFC 7065 .

Introduktion

NAT har många fördelar men har också många nackdelar. Den viktigaste av dem är störningen av många befintliga nätverkstillämpningar och svårigheten att utveckla nya. Riktlinjer har tagits fram som beskriver hur man designar NAT-vänliga protokoll, men många protokoll kan helt enkelt inte byggas enligt dessa riktlinjer. Exempel på sådana protokoll är multimediaapplikationer och fildelning.

Session Traversal Utilities för NAT ( STUN ) tillhandahåller ett sätt att gå igenom NAT. STUN tillåter klienten att få en transportadress (IP-adress och port), vilket kan vara användbart för att ta emot paket från peers. Adresser som erhållits via STUN kan dock inte nås av alla peers. Dessa adresser fungerar beroende på nätverkstopologin. Därför kan STUN i sig inte tillhandahålla en heltäckande NAT-traverseringslösning.

Den kompletta lösningen kräver ett sätt genom vilket klienten kan erhålla en transportadress till vilken den kan ta emot dataström från vilken peer som helst som kan skicka datapaket till det offentliga Internet. Detta kan endast uppnås genom att vidarebefordra data via en server som finns på det offentliga Internet. Denna specifikation beskriver Traversal Using Relay NAT (TURN), ett protokoll som tillåter en klient att få IP-adresser och portar från sådana peers.

Medan TURN nästan alltid kommer att tillhandahålla en anslutning till klienten, lägger det en hel del påfrestningar på TURN-serverleverantören. Därför rekommenderas det att endast använda TURN som en sista utväg och att föredra andra mekanismer (som STUN eller direktanslutning) när det är möjligt. För att uppnå detta kan Interactive Connectivity Establishment (ICE) metodik användas för att hitta det optimala kommunikationssättet.