www.wikidata.de-de.nina.az
Session Traversal Utilities for NAT STUN englisch fur Werkzeuge zum Durchkreuzen von NATs ist ein einfaches Netzwerkprotokoll um das Vorhandensein und die Art von Firewalls und NAT Routern zu erkennen und direkte Verbindungen zwischen Geraten welche sich hinter einer NAT Firewall befinden aufzubauen Damit ist es Geraten welche hinter bestimmten Typen von NAT Firewalls betrieben werden moglich direkte bidirektionale Verbindungen zwischen den Endknoten aufzubauen Beispiele fur die Anwendung von STUN sind SIP Telefone und Computer Programme in Heimnetzwerken Inhaltsverzeichnis 1 Allgemeines 2 Funktionsweise 2 1 STUN Algorithmus 3 Implementierungen 4 Weblinks 5 EinzelnachweiseAllgemeines BearbeitenSTUN dient dazu die Informationen wie die offentliche IP Adresse und Port Nummer fur den direkten Kontaktaufbau zwischen zwei Endgeraten den Clients welche sich normalweise nicht direkt erreichen konnen zu ermitteln um dann in Folge und unabhangig von STUN den Clients mit diesen Informationen die direkte Kontaktaufnahme zu ermoglichen STUN wird unter anderem bei der IP Telefonie v a im Zusammenhang mit SIP und bei Online Spielen von Spielekonsolen eingesetzt STUN wurde in RFC 3489 1 definiert und stand damals noch fur englisch Simple traversal of UDP through NATs Aufgrund der gemachten Erfahrungen und neuen Definitionen aus anderen RFCs wurde STUN dann uberarbeitet und in englisch Session Traversal Utilities for NAT umbenannt RFC 5389 2 Dabei wurde STUN als Framework neu definiert und alle Funktionen bis auf die Basisfunktionalitat verschwanden dafur wurde allerdings definiert wie Erweiterungen moglich sind Ein in der Funktion ahnliches Protokoll stellt TURN dar die Abkurzung steht fur englisch Traversal Using Relays around NAT welches im Gegensatz zu STUN sich eines externen im offentlichen Internet befindlichen Relay Server bedient um so eine Verbindung zwischen Clients mit einem direkten Kommunikationskanal aufzubauen Dies erlaubt auch Kommunikationen wo die direkte Verbindung von Endgeraten untereinander durch bestimmte restriktive NAT Firewalls blockiert werden Der Nachteil ist dass der normalerweise verschlusselte Datentransfer uber den TURN Server laufen muss und diese Anbindung bei vielen Verbindungen einen Flaschenhals darstellt Funktionsweise BearbeitenSTUN ist ein auf dem User Datagram Protocol UDP basierendes Client Server Protokoll Es dient zur Ermittlung einer externen IP Adresse und zur Analyse der Verbindung eines Clients zum Internet Es ermittelt ob NAT verwendet wird und welche NAT Art vorliegt Es dient nicht zur kompletten Durchdringung von Firewalls hole punching Fur eine vollstandige Analyse der Verbindungsarten NAT Arten werden zwei STUN Server mit unterschiedlichen IP Adressen benotigt RFC 3489 1 ist mittlerweile als obsolet gekennzeichnet RFC 5389 2 und RFC 7350 3 enthalten geanderte und erweiterte STUN Varianten Eine STUN Anfrage gemass RFC 3489 1 besteht aus folgenden Parametern Transaktions ID Vom Client vergeben Dient zur Unterscheidung mehrerer STUN Verbindungen Antwortadresse Der STUN Server soll seine Antwort an diese Adresse senden die aus IP Adresse und UDP Port besteht Ist das Feld leer so sendet er die Antwort an die Absenderadresse der Anfrage Alternative IP Ist dieses Bit gesetzt so wird die Antwort von dem zweiten STUN Server beantwortet Alternativer Port Dieses Bit weist den Server an die Antwort nicht vom gleichen UDP Port zu beantworten an den die Anfrage gesendet wurde Die Antwort beinhaltet die offentliche IP Port Adresse die der STUN Server sieht Mit IP Port Adresse ist die Kombination aus IP Adresse und dem Absender UDP Port des Clients gemeint Diese Adresse ist mit einer XOR Maske kodiert damit sie nicht vom NAT Router ubersetzt wird Ausserdem wird die alternative IP Adresse des zweiten STUN Servers und die Adresse des antwortenden Servers gesendet STUN Algorithmus Bearbeiten nbsp STUN AlgorithmusBekommt der Client nach mehrmaligem Wiederholen keine Antwort werden UDP Pakete wahrscheinlich blockiert und die Anfrage wird abgebrochen Entspricht die IP Adresse in der STUN Antwort der der Netzwerkkarte des Clients so wird keine NAT verwendet und der Client ist direkt z B uber ein Modem mit dem Internet verbunden Anderenfalls muss der Typ der NAT genauer untersucht werden Dazu sind weitere Tests erforderlich Im Fall der direkten Verbindung muss nur noch die Firewall getestet werden Dazu wird wieder eine Anfrage an den ersten STUN Server gesendet aber mit gesetztem Alternativen IP und Alternativen Port Bit Damit wird die Antwort vom zweiten Server gesendet und nicht vom ersten Empfangt der Client eine Antwort so sind eingehende Verbindungen uneingeschrankt moglich Wird keine Antwort empfangen so wird eine Firewall eingesetzt Diese lasst nur eingehende Pakete von Absendern durch wenn vorher ein Paket an diesen Absender gesendet wurde Die Firewall verhindert also eingehende Verbindungen und ist fur IP Telefonie ungeeignet Falls eine NAT erkannt wird wird genau die gleiche Anfrage mit gesetztem Alternativen IP und Alternativen Port Bit an den ersten Server gesendet Lasst der NAT Router die Antwort des zweiten STUN Servers durch so handelt es sich um eine Full Cone NAT Eingehende Verbindungen werden uneingeschrankt an den Client umleitet sobald diese an die offentliche IP Port Adresse des Clients gerichtet sind die er in der Antwort des STUN Servers im ersten Test empfangen hat Die Full Cone NAT weist dem Port des Clients im lokalen Netzwerk einen festen Port mit der offentlichen IP Adresse zu Mapping der dann nicht mehr geandert wird Erhalt der Client keine Antwort beginnt der dritte Test Er sendet eine normale Anfrage ohne gesetzte Bits an den zweiten STUN Server Anschliessend vergleicht er die offentliche IP Port Adresse die der zweite Server ermittelt hat mit der aus der ersten Antwort Sind diese unterschiedlich weil der UDP Port unterschiedlich ist so wird eine symmetrische NAT eingesetzt Diese nutzt fur jede IP Adresse des Ziel Servers eine andere Portzuweisung Mapping Eingehende Verbindungen an eine festgelegte IP Port Adresse sind somit nicht moglich Sind die IP Port Adressen dagegen identisch wird ein vierter Test ausgefuhrt Der Client sendet wieder eine Anfrage in der ausschliesslich das Alternativer Port Bit gesetzt ist Der Server antwortet von einem anderen Port aber an die gleiche offentliche IP Port Adresse Wird die Antwort an den Client durchgereicht so handelt es sich um eine Restricted NAT Diese behalt zwar die gleiche Portzuweisung Mapping unabhangig von der Ziel Adresse des Paketes bei lasst aber eingehende Pakete nur durch wenn vorher ein Paket an dessen Quelle gesendet wurde Erhalt der Client dagegen keine Antwort ist eine Port Restricted NAT im Einsatz Diese verhalt sich ahnlich der Restricted NAT Im Gegensatz dazu muss die Ziel Portnummer des vorher ausgehenden Paketes mit der Quell Portnummer des nun eintreffenden Paketes ubereinstimmen sonst wird es verworfen In den beiden letzten Fallen ist IP Telefonie ebenfalls moglich nur dass der Client vorher ein Paket an die Gegenstelle senden muss damit der Port fur sie freigeschaltet wird Implementierungen BearbeitenSTUN Client and Server library JSTUN Java Implementierung Stuntman Open Source STUN ServerWeblinks BearbeitenRFC 3489 STUN Simple Traversal of User Datagram Protocol UDP Through Network Address Translators NATs englisch RFC 5389 Session Traversal Utilities for NAT STUN englisch RFC 7350 Datagram Transport Layer Security DTLS as Transport for Session Traversal Utilities for NAT STUN englisch Entwurf fur die NAT Typerkennung VoIP und Firewalls All About Security Memento vom 3 Februar 2010 im Internet Archive Einzelnachweise Bearbeiten a b c RFC 3489 STUN Simple Traversal of User Datagram Protocol UDP Through Network Address Translators NATs englisch a b RFC 5389 Session Traversal Utilities for NAT STUN englisch RFC 7350 Datagram Transport Layer Security DTLS as Transport for Session Traversal Utilities for NAT STUN englisch Abgerufen von https de wikipedia org w index php title Session Traversal Utilities for NAT amp oldid 235835503