/ itsummaries

[GER]Internet-Protokolle

Aufbau des Internet

Tier-1 ISPs: z.B. Deutsche Telekom, BT, QWest

Tier-2 ISPs: kleinere ISPs, angebunden an einen oder mehrere Tier-1 ISPs. Können auch untereinander Verbunden sein.

Tier-3 ISPs: Binden den Kunden an. Treten gegenüber höheren ISPs als Kunden auf. Dienst Nahe am Endsystem.

Nachrichteszustellung

Internet-Layer
  • Datentransfer: Adressierung, Paketformate, Paketerarbeitung
    • IPv4, IPv6
  • Routing: Wegwahl an Zwischenknoten
    • Routingtabellen
  • Netzstatus: Fehlermeldung, Signalisierung
    • ICMP, ARP, RARP

IP

Transparente Ende-Zu-Ende Kommunikation zwischen Rechnern über unterschiedliche Netztypen

  • Verbindungslos
  • Keine Flusskontrolle
  • Bereitstellung weltweit eindeutiger IP-Adressen
  • Definition eines Paketformates
  • Zusammenspiel mit Routing
  • Zusammenspiel mit tieferen Schichten (ARP)

IP-Adressen

  • Eindeutig für jeden Host und Router
  • Hierarchisch struckturiert und netzbezogen
  • Struktur: Netzwerkteil.Rechnerteil
  • Damals: Adressklassenaufteilung

Weiterleiten von IP-Paketen:

  • IP-Implementierung entscheidet an wen das Paket gesendet wird
  • Kann direkt über Sicherungsschicht kommuniziert werden, wird dies gemacht
  • Wenn sich das Ziel in einem anderen Netzwerk befindet, entscheidet die Routingtabelle was zu tun ist

Subnetze, CIDR

Allgemeines
  • Zerlege ein Netz in kleinere Netze
  • Zerlegung durch Subnetzmaske
  • Schreibweise: Netzwerk-ID/22 = 22 Einsen in der SNM
  • Der Router berechnet das Netzwerk aus einer AND Operation auf Adresse und Subnetzmaske
  • Die Niedrigste Adresse : 0 : ist das Subnetz selbst
  • Die Höchste Adresse : 255 : ist die Broadcast-Adresse
Heute: Classless Inter Domain Routing (CIDR)
  • Trennung der Netzwerkklassen durch beliebig lange Netzwerkpräfixe
  • Router merken sich zusätzlich zu IP auch SNM
  • Sehr flexible Gestaltung möglich

Rechenbeispiel:

  • /27 = 32 Hosts
  • /26 = 64 Hosts
  • /25 = 128 Hosts
  • ...
  • /14 = 262.144 Hosts

Longest Match:

  • Suche nach dem Routing-Eintrag mit der größten Prefixüberdeckung
  • Suche nach 32Bit ... 31Bit ... 1Bit Übereinstimmung
  • Default Route wird als 0.0.0.0/0 gespeichert
  • Es wird der Weg ermittelt, der am genauesten spezifiziert wurde

Network Adress Translation (NAT)

  • Behilfslösung zur Behebung der Adressknappheit
  • Vergabe einer einzigen globalen Adresse
  • Diese wird für allen Verkehr nach außen genutzt

Prinzip:

  • Rechner A in lokalem Netz verwendet private IP-Adresse
  • Das Netz bekommt eine gültige globale IP-Adresse
  • Router nimmt transparente Umsetzung zwischen Adressen vor
    • Speicherung in Abbildungstabelle
    • keine Änderung am Endgerät nötig
  • Zur Rückübersetzung wird eine Zusatzinformation (meist Port) benötigt

Probleme:

  • Interne Rechner nur von extern erreichbar, wenn Mapping existiert
  • Manche Anwendungen (z.B. Telefon) kommunizieren ihre lokale Adresse nach außen

Es existieren Hilfsprotokolle zur Lösung dieser komplexeren Proble

Routing

  • Jeder Rechner und jeder Router hat eine eigene Weiterleitungstabelle
  • Kann statisch konfiguriert werden, soll meist aber schnell auf Änderungen reagieren können

Routingalgorithmen:

  • Link State
    • Open Shortest Path First (OSPF)
      • Jeder Router kennt seine direkten Anbindungen und Kosten und teilt diese Informationen mit allen anderen
  • Distance Vector
    • Border Gateway Protocol
      • Periodisch teilt jeder Router seinem Nachbar seine Ziele und Kosten mit
      • Der Empfangende Router addiert seine eignen Kosten
      • Sind die erhaltenen Kosten geringer als die eigenen wird der andere Router als Next-Hop eingtragen

Dijkstra und Bellman-Ford werden hier meist genutzt

Lokal Vs. Global:

  • Internet
    • Link-State (Dijkstra) wie OSPF in autonomen Systemen
    • Distance-Vector (Bellman-Ford) zur Koppelung dieser Systeme
  • Lokal
    • Meist statische Konfiguration oder DHCP

IP-Header und Funktionalität

  • Version (IP-Versionsnummer)
  • IHL (IP Header Length)
  • Total Length
  • Soure/Destination Adress (IP-Adressen)
  • Type of Service (Nie genutzt, Priorität, Qualität o.ä.)
  • Time-to-Live Lebenszeit (maximal 255 Hops)
  • Protocol (z.B. TCP:6, UPD:17)
  • Header Checksum (Wegen TTL bei jedem Hop neuberechnet)
  • Identification (Eindeutige Kennung)
  • DF: Don't Fragment (Zu große Pakete werden verworfen)
  • MF: More Fragments "1" Folgen weitere, "0" Letztes
  • Fragment Offset Folgenummer der Fragmente, gerechnet in 8 Byte Stücken
  • Options: Platz für Erweiterungen
Fragmentierung
  • MTU Maximum Transfer Unit
    • Maximallänge für Dateneinheit (Ethernet max 1500 Bytes)
  • Jeder Router prüft dies, Fragmentiert bei Bedarf
  • Empfänger nutzt MF und Offset um Framente zusammenzusetzen

Überprüfung des Headers:

  • Test der IP-Versionsnummer
  • Überprüfung der Länge
  • Überprüfen der Datagrammlänge
  • Prüfsummenbildung
  • Überprüfung der Paktelebezeit
  • Überprüfung der Protokoll-ID
  • Überprüfung der Adressgültigkeit
  • Bei einem Fehler wird das Paket verworfen und eine Fehlermeldung an den Sender geschickt

IPv6

Warum ein neues IP?
  • Adressen gehen aus (NAT als Hilfslösung)
  • Keine Unterstützung verschiedener Dienste
  • Keine Verschlüsselung oder Authentifizierung
  • Keine Mobilität (Ortsgebundene IP-Adressen)
  • Vereinfachung wäre sinnvoll
  • Routingtabellen zu groß
  • Keine vernünftigen Optionen für Weiterentwicklung
Änderungen bei IPv6
  • Adressgröße : 128Bit (4 Hex Zahlen)
  • Vereinfachung des Headers zur Beschleunigung
  • Keine Fragmentierung im Router
  • Markieren von Paketen für speziellen Verkehr
  • Sicherheitsmaßnahmen
Adressarten
  • Unitcast einzelner Rechner
  • Multicast zur Adressierung von Rechnergruppen
  • Anycast Adressierung eines beliebigen Rechners einer Gruppe (nicht von Multicast unterscheidbar)
  • Typ wird durch Präfix bestimmt
    • Loopback ::1/128
    • Multicast ff00::/8
    • Link-Local Unicast fe80::/10
      • Jeder Rechner hat mindestens eine
      • fe80::/64 + Interface ID
      • z.B. Austausch von Kontrollnachrichten mit Router
    • Unique-Local Unicast fc00::/7
      • Kommunikation innerhalb eines Subnetzes
    • IPv4 ::ffff:0:0/96
    • Global Unicast alles andere
Adressaufbau
  • n Bit Global Routing Prefix
    • Identifier, reduziert Routingtabellen
  • 64-n Bit Subnet ID
    • Adresse eines bestimmten Netzwerks
  • 64 Bit Interface
    • Eindeutige Rechneradresse, z.B. aus MAC
Haupt-Header
  • Version (IP-Versionsnummer)
  • Priority (Unterschiedliche Klassen von Übertragungen)
    • 1 - News
    • 4 FTP
    • 6 Telnet
    • 8 bis 15 Echtzeitverkehr
  • FlowLabel Sorgt für feste Pfade und "Verbindungsorietierung"
  • PayloadLen Paketlänge nach dem 40-Byte-Header
  • NextHeader 8-Bit, Typ des Erweiterungsheader
  • HopLimit TTL
  • SourceAddress/DestinationAddress
  • NextHeader/Data
Erweiterungsheader
  • Hop-by-Hop (Informationen für Teilstrecken)
  • Routing (Volle oder Teilweile Routendefinition)
  • Fragmentierung (Nur die Quelle. Wenn zu groß, wird eine Fehlermeldung gesendet)
  • Authentifikation (des Senders)
  • Verschlüsselung
  • Zieloptionen (Zusatzinformationen für das Ziel)

Der IPv6 Header ist zwar insgesamt länger, aber besser sortiert und einfacher abzuarbeiten.

Weitere Protokolle

Kontroll-/Hilfsprotokolle
  • Adress Resolution Protocol (ARP)
    • Erfragt die MAC-Adresse zu einer IP-Adresse, da untere Schichten, z.B. Netzwerkkarten, IP-Adressen nicht verstehen
    • Arbeitet nur im lokalen Netz, mittels lokaler Broadcast Adresse
  • Reverse Adress Resolution Protocol (RARP)
    • Rechner broadcasted MAC-Adresse und bekommt dann vom dedizierten RARP-Server eine IP-Adresse zugewiesen
  • Dynamic Host Configuration Protocol (DHCP)
    • Rechner sendet bei Start eine DHCP Request an Broadcast
    • Server verwaltet IP-Adressen und Antwortet
    • DHCP-ACK und DHCP-NACK für z.B. Adresserneuerungen
  • Internet Control Message Protocol (ICMP)
    • Steuer/Signalisierungsprotokoll für Schicht 3
    • Kommunikation vor allem im Fehlerfall: z.B. ping
    • Werden als IP-Pakete mit Protocol=ICMP versandt
    • Tyes
      • 8/0 Echo Reques/Delay z.B. ping
      • 3 Destination Unreachable
        • Code (weitere Details) z.B.
          • 0 Network unreachable
          • 1 Host unreachable
      • 4 Source Quenche (Bitte um Reduktion der Datenrate)
      • 11 Time exceeded (TTL ist 0)
      • 12 Parameter Problem (Header-Feld fasch gefüllt)
      • 15/16 Information Request / Reply
  • Domain Name System (DNS)
    • Abbildung von Rechnernamen auf IP-Adressen
    • Verteilte Datenbank
    • NameServer (Verwaltet Datenbank), Resolver (Anfragen)