Kommunikation auf logischer Ebene Flashcards
Was versteht man unter Kommunikation auf logischer Ebene?
Kommunikation auf logischer Ebene beschreibt die Netzübergreifende Kommunikation von Geräten. Sie wird von der Vermittlungsschicht und der Transportschicht umgesetzt. Die Physikalischen Gegebenheiten, wie physikalische Adressierung sind nicht mehr relevant, da diese durch die untergelagerten Schichten bereits realisiert wurde. Der Fokus wird somit auf die logische Kommunikation gelenkt.
Was sind die Grundvoraussetzungen für die logische Kommunikation?
Die logische Kommunikation zwischen zwei Geräten setzt zunächst eine physikalische Verbindung über eine nahezu beliebige Anzahl von Knotenpunkten voraus. Die Ausgestaltung der physikalischen Verbindung (Kabelgebunden/Kabellos) spielt dabei keine Rolle, ebenso können unterschiedliche Techniken eingesetzt werden.
Wollen zwei Geräte auf logischer Ebene miteinander kommunizieren, werden ihnen logische Adressen zugewiesen.
Was sind die Merkmale eines (Layer-2-)Switches?
Switches verbinden Endgeräte bzw. Zweige eines Netzes auf physikalischer Ebene. Da (Layer-2-)Switches lediglich bis zur Sicherungsschicht arbeiten ist ihre Filter- und Weiterleitungsgeschwindigkeit höher als die vergleichbarer Router, welche die Pakete bis zur Vermittlungsschicht verarbeiten müssen. (Layer-2-)Switches bieten jedoch nur bedingt Schutzmechanismen vor Broadcast-Flooding.
Was sind die Merkmale eines Routers?
Router können mithilfe der IP-Adressen Broadcast-Domänen beschränken. Ausserdem wird, durch die maximale Anzahl von Hops im TTL-Feld, das Zirkulieren von Broadcast-Paketen im Netz beschränkt. Die aktive Topologie des Netzes ist somit nicht auf einen Spannbaum beschränkt, wodurch komplexe logische Netzstrukturen, wie z.B. das Interne, möglich werden.
Grundlagen der logischen Adressierung
Jedem Netzwerkadapter wird eine logische Adresse zugeordnet. Die hinter der logischen Adresse verborgene physikalische Adresse kann mittels Address Resolution Protocol (ARP) aufgelöst werden. Logische Adressen sind routbar und müssen nicht direkt in einem physikalischen Netzwerk erreichbar sein. Mit logischen Adressen können Elemente gruppiert werden (Unternehmensnetze, Abteilungsnetze) und Hosts auch ausserhalb dieser Gruppen und Netzwerkübergreifend erreichbar gemacht werden.
Was versteht man unter Unicast?
Als Unicast wird die direkte Kommunikation zwischen zwei Hosts bezeichnet. Die Adressierung eines Pakets erfolgt für genau einen Zielhost. Ist das Paket im Netzwerk des Hosts angekommen, wird die zur logischen Adresse gehörende MAC-Adresse ermittelt und das Paket zum Host weitergeleitet.
Wird von den meisten Standard-Client-Anwendungen wie Web-Browser, E-Mail-Client, etc. verwendet.
Was versteht man unter Multicast?
Die Kommunikation mit mehreren Empfängern einer logischen Gruppe wird als Multicast bezeichnet. Mit Multicast kann die Anzahl der Datenflüsse reduziert werden. Wird z.B. ein Video von mehreren Teilnehmern einer logischen Gruppe gestreamt, werden die Pakete nur einmal vom Server abgerufen und erst möglichst nahe an den Empfängern an diese parallel weitergeleitet. Dadurch können signifikant Ressourcen im Netzwerk eingespart werden.
Wird von den meisten Streaming-Anwendungen verwendet.
Was versteht man unter Broadcast?
Die Kommunikation mit allen Teilnehmern einer logischen Gruppe wird Broadcast genannt. Die Adressierung erfolgt dabei für die vollständige logische Gruppe. Somit wird auch die Weiterleitung der Broadcast-Nachricht auf der physikalischen Ebene auf genau diese Gruppe beschränkt.
Wird meistens nur von Netzwerk- und Systemdiensten verwendet.
Warum ist es wichtig Anwendungsprozesse zu adressieren und wie erfolgt die Adressierung?
In der Regel kommunizieren eine Vielzahl von Anwendungen auf einem Host über ein Netzwerk, daher reicht es nicht aus den Host zu adressieren, sondern es müssen auch die Anwendungen auf einem Host eindeutig identifiziert werden.
Auf der Transportschicht wir die logische Adressierung der Hosts um eine Adressierung der Anwendungsprozesse auf dem Host erweitert. Dies wird über Anwendungsports geregelt, welche in den Protokollen der Transportschicht definiert werden.
Die Anwendungsports werden erst auf dem Host selber zu einem Anwendungsprozess aufgelöst und die Pakete dann an den entsprechenden Prozess weitergeleitet.
Internet Protocol Version 4 (IPV4)
Die Logische Adressierung auf der Vermittlungsschicht geschieht meist mit IP-Adressen, welch auch über ein Netz hinaus gültig sein können.
Damit eine Ende-zu-Ende Adressierung möglich ist, benötigen beide Geräte eine gültige IP-Adresse, welche in den versendeten Netzwerkpaketen enthalten sein müssen. Absender- und Zieladressen, sowie einige weitere Parameter finden einen Platz im IP-Protokol.
Das Internet-Protokoll ist zuständig für die Adressierung zwischen Endgeräten und Fragmentierung von Netzwerkpaketen, sollten diese zu gross für die Übertragung sein.
Wie ist ein IPv4 Header aufgebaut?
Ein IPv4 Header besteht aus verschiedenen Feldern:
* Version: IP-Protokollversion (IPv4/IPv6)
* Internet Header Length: Länge des Headers
* Type-of-Service: Informationen zur Priorisierung von IP-Paketen
* Total Length: Länge des gesamten Datagramms in Byte (max. 65535 Byte)
* Identification: Eindeutige, nummerische Identifizierung
* Maximum Transfer Unit: Datagramme werden fragmentiert, falls sie grösser als die MTU sind, alle Fragmente haben dieselbe ID
* Don’t Fragment: verbietet das Fragmentieren
* More Fragments: weist auf weiter Fragmente hin
* Fragment Offset: Position des Fragments innerhalb des Datagramms
* Time to live: Zähler, der bei jedem Router um eins vermindert wird. Wenn TTL = 0, wird Datagramm verworfen
* Protocol: Welcher Protokollheader als nächstes folgt (z.B. TCP/UDP)
* Header Checksum: 16 Bit Prüfsumme zum Fehler bei der Übertragung erkennen
* Source Adress: Quell-IPv4-Adresse
* Destination Adress: Ziel-IPv4-Adresse
* Optionsteil: Hier können nicht implementierte Funktionen hinzugefügt werden wie z.B.:
* ○ Security:
* ○ Strict and Loose Source Routing
* ○ Record Route
Woher kommt die maximal erlaubte Grösse eines Netzwerkpakets?
Die maximale Grösse eines Netzwerkpakets wurde früher durch den Speicherausbau der Netzwerkkarten und die interaktivität des Netzwerks limitiert. Heute wird dies primär durch die eingesetzten Koppelelemente (Switch, Router) dominiert, welche oft eine grosse Zahl von Pakten zwischenspeichern müssen.
Wann wird ein IP Datagramm fragmentiert?
Ein Datagramm wird fragmentiert, wenn es die maximale Paket Grösse, definiert durch die Maximum Transfer Unit (MTU), überschreitet und eine Fragmentierung erlaubt ist. Der übliche MTU in Ethernetnetzwerken beträgt 1500 Byte, während die maximalle Grösse eines IP-Datagramms 65535 Byte beträgt. Wenn ein Datagramm die MTU von 1500 Byte überschreitet und Fragmentierung erlaubt ist (Don’t Fragment = 0), wird es in kleinere Teile zerlegt. Ist das Fragmentieren nicht erlaubt und das Datagramm überschreitet die MTU, würde es verworfen werden.
Fragmentiert wird dabei alles was dem IP-Header folgt.
Das zusammensetzen der Fragmente geschieht jeweils erst auf den Endgeräten.
Wie werden Fragmente von IP-Datagrammen identifiziert?
Jedes IP-Datagramm besitzt eine einzigartige ID. Damit mehrere Fragmente einem Datagramm zugeordnet werden können, ist die ID bei allen Fragmenten identisch.
Don’t Fragment (DF), More Fragments (MF), Fragment Offset (OF)
- Damit eine Fragmentierung erlaubt ist, muss das DF auf 0 gesetzt werden, sonst werden zu grosse Datagramme verworfen.
- Das MF ist, abgesehen vom letzten Fragment immer auf 1 gesetzt. MF = 0 kennzeichnet das letzte Fragment eines Datagramms.
- OF gibt an, an welcher Stelle das Fragment im IP-Datagramm bei der Zusammenstellung eingeordnet werden muss.
Wie wird das Routing der Fragmenten von IP-Datagrammen ermöglicht?
Jedes Fragment enthält einen eigenen vollständigen IP-Header, ohne den wäre aufgrund fehlender IP-Adressen kein Routing möglich. Ethernet- und IP-Header gehören also nicht zum fragmentierbaren Teil eines IP-Datagramms.
Was geschieht mit dem IP-Datagramm bei einem Übertragungsfehler?
Falls ein Fragment eines Datagramms verloren geht, wird auf der Empfängerseite eine definierte Zeitspanne gewartet, bevor das zum Teil zusammengesetzte Datagramm verworfen wird. Dies kann vom empfangenden Gerät mit einer Fehlermeldung an den Sender gemeldet werden.
Wie erfolgt die logische Adressierung von Hosts?
Die logische Adressierung von Hosts erfolgt im Internet Protocol mit IP-Adressen. Jeder Host im Netzwerk verfügt über eine physikalische MAC-Adresse, wie auch über eine IP-Adresse. Bei einer direkten physikalischen Verbindung zweier Hosts werden die im Ethernet-Header verfügbaren MAC-Adressen eingesetzt. Befinden sich die Hosts in unterschiedlichen Subnetzen, kommen die IP-Adressen im IP-Header zum Einsatz.
Ein Subnetz umfasst die Geräte, die sich gegenseitig physikalisch erreichen können.
Wie ist eine IPv4 Adresse aufgebaut?
Eine IPv4 Adresse wird in der Form x.x.x.x dargestellt. Wobei x eine ganze Zahl von 0 bis 255 sein kann. Die Zahlen werden durch Punkte getrennt.
Die ersten 3 Zahlen stellen den Netzwerk-Anteil der Adresse dar, die letzte Zahl den für Endgeräte reservierten Host-Anteil.
In jedem Netzwerk gibt es zwei reservierte Adressen:
Die Tiefste Adresse ist die Netzwerkadresse.
Die Höchste Adresse stellt die Broadcastadresse dar.
Welche zwei Typen von IP-Adressen werden unterschieden?
- Öffentliche IPv4-Adressen: Werden im Internet verwendet und von der IANA vergeben, sind einzigartig.
- Private IPv4-Adressen: Dürfen frei verwendet werden, funktionieren jedoch nicht im Internet.
IP-Adressen: interne Kommunikation
Der Adressbereich 127.0.0.0/255.0.0.0 ist für die interne Kommunikation eines Gerätes vorgesehen. Z.B. kann so die Kommunikation mit einem Webserver aufgenommen werden, der auf dem eigenen Computer installiert ist.
Wie können IPv4-Adressen konfiguriert werden?
IPv4-Adressen können entweder manuell und statisch konfiguriert oder mit dem Dynamic Host Configuration Protocol (DHCP) dynamisch zugewiesen werden. Werden die IPv4-Adressen dynamisch zugewiesen, ist die Zuweisung nicht nur flexibler, es kann auch sichergestellt werden, dass keine Adresse doppelt vorkommt.
Dynamic Host Configuration Protocol (DHCP)
Mit DHCP können IPv4-Adressen den Geräten dynamisch zugewiesen werden. Da bereits bei mittelgrossen Netzwerken die dynamische Konfiguration einen signifikante Konfigurationsaufwand einspart, setzen eine Mehrzahl der Geräte DHCP ein.
Vor allem bei Geräten, die oft das Netzwerk ändern, wie Notebook oder Smartphone, macht die dynamische Zuweisung Sinn.
Was kann mittels Dynamic Host Configuration Protocols (DHCP) konfiguriert werden?
Mit dem DHCP kann einem Gerät nicht nur eine IPv4-Adresse zugewiesen werden, es können auch weitere Parameter wie das Standardgateway, einen DNS-Server oder einen Timeserver festgelegt werden.
Um zu verhindern, dass durch doppelte vergabe einer IPv4-Adresse zu Fehaldressierung kommt, verwalten die DHCP-Server eine Liste mit freien IPv4-Adressen.
Bei der Vergabe wird auch eine maximale Gültigkeitsdauer mitgegeben, wenn diese Abläuft, wird die IPv4-Adresse wieder verfügbar. Geräte können auch um eine Verlängerung der Ausleizeit bitten, dies wird üblicherweise nach Ablauf der ersten Hälfte der Ausleizeit gemacht.
Wie läuft die Vergabe von IPv4-Adressen über das Dynamic Host Configuration Protocol ab?
- Ein Gerät beginnt via Broadcast, mit der Suche nach einem DHCP-Server
- Erhält ein DHCP-Server eine Anfrage, bietet er eine verfügbare IPv4-Adresse mit Parametern und einer Lease-Time an.
- Das Gerät wertet alle Angebote aus und signalisiert, abermals via Broadcast, welche IPv4-Adresse genutzt werden möchte. Via Broadcast, damit auch alle anderen DHCP-Server wissen, für welche IPv4-Adresse das Gerät sich entschieden hat.
- Ist die angebotene IPv4-Adresse immer noch frei, wird die Auswahl bestätigt, ansonsten abgelehnt.
DHCP-Server speichern die vergebene IPv4-Adresse oft mit der zugehörigen MAC-Adresse ab, um einem Gerät wieder die selbe IPv4-Adresse vergeben zu können, falls diese noch frei ist. Öffentliche IP-Adressen werden jedoch regelmässig, meist nach 24h, gewechselt.
Address Resolution Protocol (ARP)
Für die Kommunikation werden für gewöhnlich zwei unterschiedliche Adresstypen benötigt.
* MAC-Adressen im Ethernetheader (Physikalisch, im selben Subnetz)
* IP-Adressen im IPv4-Protokollheader (Logisch, über Subnetzgrenzen hinaus)
In der Regel ist nur die IPv4-Adresse bekannt, die MAC-Adresse jedoch nicht, da eine IPv4-Adresse meist nicht langfristig einer MAC-Adresse zugewiesen werden kann. Mit ARP wird die Auflösung von MAC-Adressen zu den gegebenen IPv4-Adressen ermöglicht.
Ablauf vom Adresse Resolution Protocol (ARP) (Mac Adresse auflösen)
Ein ARP-Request wird via Broadcast an alle Geräte im Subnetz gesendet, dabei wird gefragt, welches Gerät die gesuchte IPv4-Adresse kennt.
Ein Gerät, welches die gesuchte IPv4-Adresse kennt, antwortet mit einem ARP-Reply per Unicast direkt an das anfragende Endgerät. Die Antwort enthält die Kombination aus IPv4- und MAC-Adresse.
Sonderformen vom Address Resolution Protocol (ARP)
- Reverse ARP-Protocol (RARP): zu einer vorhanden MAC-Adresse soll eine IPv4-Adresse gesucht werden.
- Gratuitous ARP: Prüfen, ob die eigene IPv4-Adresse bereits im Netzwerk vorkommt, sowie das Updaten der eigenen Kombination aus IPv4- und MAC-Adresse in den ARP-Tabellen
Sicherheit vom Address Resolution Protocol (ARP)
Mit ARP-Spoofing kann ein Angreifer ARP-Requests oder ARP-Replys mit gefälschter Kombination aus IPv4- und MAC-Adressen versenden und so die ARP-Tabellen von anderen Geräten manipulieren und deren Kommunikation den eigenen Ansprüchen entsprechend umzuleiten.
Was ist das Internet Control Message Protocol (ICMP)?
Das Internet Control Message Protocol (ICMP) ist ein Hilfsprotokoll von IPv4, welches den Austausch von Informationsmeldungen und Fehlermeldungen ermöglicht. Der ICMP-Protokollheader folgt direkt nach dem IPv4-Header. Er enthält drei obligatorische Felder:
* Type
* Code
* Checksum
Mit Type und Code wird die Funktion des ICMP-Pakets festgelegt. Checksum ist eine 16 Bit grosse Prüfsumme, mit welcher der Header auf Bitfehler überptrüft werden kann.
Was versteht man unter Routing und wie funktioniert es?
Damit Pakete gezielt über die Grenzen des eignen Netzwerkes gesendet werden können, müssen die Pakete geroutet werden. Das Routing wird von Routern durchgeführt, dies sind Koppelelemente die auf der Vermittlungsschicht arbeiten und Subnetze miteinander verbinden.
Ein Router verfügt über jeweils eine physikalische Verbindung zu den Subnetzen von Client A und Client B und hat in beiden Subnetzen eine eigene MAC-Adresse.
Ein Client A sendet ein Paket an die physikalische Adresse des Routers, welche es dann ausgehend von seiner zweiten physikalischen Adresse zu Client B weitersendet.
Routingtabellen & Lokalroute
Die Informationen an welche Router ein Netzwerkpaket als nächstes gesendet werden muss, um das jeweilige Zielnetz zu erreichen, sind in der Routingtabelle enthalten.
Besonders wichtig ist, dass die Lokalroute (127.0.0.1) enthalten ist, da das Gerät sonst das eigene Subnetz nicht erreichen kann.
Die häufigsten Fehler beim Konfigurieren von Routingtabellen:
* Keine Lokalroute
* Nicht alle Netzwerke werden geroutet
* Rückroute wird vergessen
Network Address Translation (NAT)
Network Address Translation (NAT) bezeichnet die Veränderung von IP-Adressen und gegebenenfalls Portnummern in Netzwerkpaketen während des Routing. Dies wird beispielsweise oft in privaten Haushalten vorgefunden, in denen alle Geräte über eine einzige öffentliche IP-Adresse im Internet surfen. Die Geräte verfügen alle über eine eigene private IP-Adresse, die aber nicht im Internet gültig ist.
Die NAT-Variante Source Network Address Translation (SNAT) ermöglicht das ersetzen der internen Quell-IP-Adressen gegen eine oder wenige externe Quell-IP-Adressen.
Daneben gibt es die Variante Destination Network Address Translation (DNAT), welche sich auf das Ändern der Ziel-IP-Adressen und Ziel-Portnummern während des Routings beziehen. Wird häufig Port-Forwarding genannt.
NAT: Masquerading
SNAT und DNAT realisieren in Kombination die NAT-Variante Masquerading.
* Der Masquerading-Router speichert zunächst die Quell-iP, Quell-Port, Ziel-IP, Ziel-Port ab
* Tauscht die Quell-Adressen/Ports gegen die externen Werte aus
* Nachdem das Ziel erreicht wurde, wird ein Antwortpaket an die im Paket enthaltenten Quell-Adressen (jetzt öffentliche Adressen) zurückgesendet
* Masquerading-Raouter nimmt dann Zurückübersetzung der IP-Adressen und Portnummern mittels den abgespeicherten Werten vor.
Wieso wird Network Address Translation (NAT) eingesetzt?
- Durch die Zuordnung von vielen privaten IP-Adressen zu einer/wenigen öffentlichen IP-Adressen können öffentliche IP-Adressen eingespart werden. Nat wirkt somit der Knappheit von IPv4-Adressen entgegen.
- Sicherheit: Durch Masquerading gibt es für jedes Paket einen konkreten Rückweg. Trifft von extern ein Paket beim Masqueradin-Router ein, welches keinem ausgehenden Paket zugeordnet werden kann, wird dieses verworfen, da der Router nicht weiss, welchem Gerät es zugestellt werden soll.
Wo wird IPv6 unterstützt und was hat sich verändert?
IPv6 wird von allen modernen Betriebssystemen unterstützt, für gewöhnlich neben IPv4.
IPv6 verfügt über einen modularen Protokollheader und die IPv6-Adressen sind länger als die IPv4-Adressen, was ein entscheidender Schritt gegen die Verknappung der IP-Adressen ist.
Was bedeutet der modulare Aufbau des IPv6-Headers?
Bei IPv6 existiert ein Basisheader sowie mehrere Erweiterungsheader für das Hinzufügen verschiedener Funktionen. Bei IPv4 selten verwendete Funktionen werden in den Erweiterungsheadern realisiert. Der modulare Aufbau erleichtert es Routern IPv6-Pakete zu verarbeiten.
Wie ist ein IPv6-Protokollheader aufgebaut?
Der IPv6-Protokollheader unterscheidet sich vom IPv4-Header nicht nur durch den modularen Aufbau sondern auch durch eine Restrukturierung der Felder.
* Version: IP-Protokollversion
* Traffic Class: Priorisierung von Netzwerkpaketen
* Flow Label: Einfache sowie benutzerdefinierte Klassifizierung von Paketen
* Payload Length: Anzahl der Bytes, die dem IPv6-Header folgen (Nutzdaten sowie Erweiterungsheader)
* Next Header: Typ des nächsten Headers (Erweiterungsheader oder Transportprotokoll wie UDP oder TCP)
* Hop Limit: Zähler, der bei jedem passierten Router um 1 verringert wird.
* Absender IPv6-Adresse
* Empfänger IPv6-Adresse
Durch den grösseren IPv6-Protokollheader wird eine neue Mindestgrösse für Pakete von einer minimalen MTU von 1280 Byte, erforderlich.
Welcher Unterschied besteht zwischen den IPv4- und IPv6-Adressen?
- IPv4-Adressen: dezimal, als 4-Tubel, getrennt durch Punkte (192.168.0.1)
- IPv6-Adressen: hexadezimal, als 8-Tupel, getrennt durch Doppelpunkte (8000:0000:0000:0000:0123:4567:89AB:CDEF)
Fragmentierung bei IPv6
Wenn ein IPv6-Datagramm die MTU überschreitet und die Fragmentierung erlaubt ist, wird es fragmentiert. Dazu benötigt es den Fragmentation Erweiterungsheader. Dieser wird wie folgt aufgebaut:
* Next Header: Typ des nachfolgenden Headers
* Fragment Offset: Position des Fragments innerhalb des Datagramms
* More Fragments: gibt an, ob mehr Fragmente folgen, nur beim letzten Fragment =0, sonst = 1
* Identification: Einzigartige Identifikationsnummer. Bei allen Fragmenten eines Datagramms gleich.
Wie können IPv6-Adressen abgekürzt werden?
Es gibt zwei Vereinfachungen für die Darstellung von IPv6-Adressen:
* Führende Nullen in einem Block dürfen weggelassen werden.
* Treten mehrere Blöcke mit Nullen in Folge auf, dürfen diese durch zwei Doppelpunkte abgekürzt werden. Dies darf nur einmal vorkommen, da sonst die Eindeutigkeit verloren geht.
Wie ist eine IPv6-Adresse aufgebaut?
Eine IPv6-Adresse besteht aus zwei Teilen: Präfix und Suffix. Diese sind inhaltlich vergleichbar mit Host- und Network-Anteil bei IPv4-Adressen. Präfix bezeichnet den Netzbestandteil der IPv6-Adressen und Suffix ist den Adressen der Geräte vorbehalten.
Im Suffix ist der Interface Identifier vorhanden, der ein Gerät eindeutig identifizieren soll. Dafür bindet der Interface Identifier die Ethernetadresse des Geräts in deren IPv6-Adresse ein.
Sicherheit von IPv6-Adressen
Mit der Generierung des Interface Identifiers aus der Ethernetadresse erhält jedes Gerät in der Regel immer dieselbe IPv6-Adresse, wodurch die Anonymität der Geräte gefährdet wird. Mit der Privacy Extension (PE) für IPv6 wird der Interface Identifier zufällig mit der Hash-Funktion MD5 generiert und in regelmässigen Abständen gewechselt. Dadurch wird die Zuordnung einer IPv6-Adresse zu einem bestimmten Gerät erschwert.
Internet Control Message Protocol in Version 6 (ICMPv6)
ICMPv6 ist ein integraler Bestandteil von IPv6. Es ist ähnlich aufgebaut wie ICMPv4. Es kommen jedoch einige neue Funktionen hinzu, wie z.B. die Auflösung von IPv6 in Ethernetadressen sowie die Autokonfiguration von IPv6-Netzwerken.
Der Heder wird wie bei ICMPv4 aufgebaut aus:
* Type
* Code
* Checksumme
Neighbor Discovery Protocol (NDP)
Das Neigbor Discovery Protocol (NDP) basiert auf ICMPv6 und übernimmt verschiedene Aufgaben, z.B.:
* Autokonfiguration von IPv6-Netzwerken: Setzen der IPv6-Adressen sowie Router
* Auflösen von IPv6-Adressen in Ethernetadressen: Dies ist die wichtigste Funktion von NDP und entspricht der ARP Funktionalität in IPv4
Wie funktioniert die Adressauflösung in IPv6?
- Via Multicast wird eine Anfrage nach der Ethernetadresse zu einer bekannten IPv6-Adresse gestellt.
- Der angesprochene Host antwortet via Unicast an den anfragenden Host, um seine Ethernetadresse mitzuteilen.
- Gleichzeitig wird mitgeteilt, ob es sich beim angefragten Host um einen Router handelt oder nicht.
IPv6: Router Advertisement (RA)
Mit Router Advertisement (RA) teilen Router ihren physikalisch erreichbaren Subnetzen regelmässig ein Präfix mit. Empfängt ein Host eine RA konfiguriert er eine neue IPv6-Adresse mit seinem Interface Identifier für das angegebene Präfix. Erhält ein Host mehrere RA, wird für jedes Präfix eine weitere IPv6-Adresse angelegt.
In der RA teilen Router ausserdem mit:
* Welche weiteren Netze über sie erreicht werden können
* Ob sie als Default-Router fungieren
* Wie lange sie erreichbar sind
* Wie lange die gesendeten Informationen gültig sein sollen
Autokonfiguration von IPv6-Adressen (ablauf)
IPv6-Adressen werden in der Regel dynamisch zugewiesen. Dies vereinfacht die Zuweisung und stellt gleichzeitig sicher, dass keine Adressen doppelt vergeben werden.
Die Autokonfiguration von IPv6-Adressen läuft wie folgt ab:
1. IPv6-Schnittstelle wird aktiviert
2. Mit Hilfe der Ethernetadresse wir ein Interface Identifier generiert. Bevor diese aktiviert wird, wird überprüft, ob die Adresse noch frei ist.
3. Falls noch keine Router Advertisement (RA) eingetroffen ist, wird eine Anfrage gesendet.
4. Nach Erhalt der RA werden neue IPv6-Adressen für das angegebene Präfix generiert.
Routing bei IPv6
Das Routing bei IPv6 unterscheidet sich nicht wesentlich vom Routing bei IPv4. Geräte in einem Subnetz werden in der Regel über die MAC-Adressen angesprochen. Sind mehrere Subnetze vorhanden, setzt ein Router die IPv6-Pakete zwischen den Netzen um und fügt die jeweils benötigten MAC-Adressen der Geräte in den Ethernetheader ein.
Aufgrund der besseren Verfügbarkeit von IPv6-Adressen ist das Anbinden von Haushalten bei IPv6 auch ohne NAT möglich, dies ist aus Sicherheitsgründen aber nicht zu empfehlen.
Wieso braucht es Migrationsmechanismen von IPv4 zu IPv6?
Da weder alle Dienste im Internet, noch alle Haushalte über IPv6-Adressen verfügen würde ein harter Umstieg auf IPv6-only Nutzer heute noch weitestgehend vom Internet isolieren. Daher sind Migrationsmechanismen nötig, die das Erreichen von IPv4-Diensten als auch das Erreichen der IPv6-Dienste ermöglichen.
IP Migration: Dualstack
Dualstack bedeutet, dass in einem System sowohl eine IPv4- als auch eine IPv6-Adresse zur Verfügung steht. IPv4-Dienste werden dann über die IPv4-Adresse und IPv6-Dienste über die IPv6-Adresse erreichbar gemacht.
Die aktuellen Betriebssysteme unterstützen in der Regel Dialstack.
IP Migration: Tunnel
Soll in einem System ausschliesslich IPv4 oder IPv6 zum Einsatz kommen, können die Pakete getunnelt werden. Dafür gibt es verschiedene Möglichkeiten:
* 6to4: IPv6-Pakete in IPv4-Pakete tunneln, wenn der eigene Provider keine Möglichkeit bietet direkt mit IPv6 zu kommunizieren.
* 6in4
* 6over4
* Teredo
* Lösungen die IPv4-Pakete in IPv6-Pakete kapseln
IP Migration: NAT64
Nat64 kommt zum Einsatz, wenn ein Netzwerk, das ausschliesslich IPv6 beherrscht mit einem IPv4-Gerät kommunizieren will. Funktioniert wie folgt:
* Ziel-IPv4-Adresse wird in einer IPv6-Adresse codiert
* IPv6-Paket wird an NAT64-Router gesendet
* NAT64-Router generiert ein IPv4-Paket mit der in IPv6 codierten Ziel-IPv4-Adresse und versendet es. Als Absender-Adresse kommt die IPv4-Adresse des NAT64-Routers zum Einsatz.
* Auf dem Rückweg übersetzt der NAT64-Router das IPv4-Paket wieder in ein IPv6-Paket.