05_TCP/IP Flashcards
Normen und Standards
- verbindliche Standards und Normen garantieren Interoperabilität
- damit Hardware- und Softwarekomponenten verschiedener Hersteller zusammenarbeiten können
- Norm: von einer dafür autorisierten Organisation aufgestellt + verbindlich („De-jure-Standard“)
- Standard: kann jeder setzen und für die Nutzung auch Geld verlangen („De-facto-Standard“)
- Normungsgremien: ISO + IEC, IEEE, IETF
TCP/IP
Paketierung - Gründe
- keine Blockierung des Netzwerks
- Könnte ein Teilnehmer beliebig viele Daten am Stück übertragen, wäre das Netz in dieser Zeit für alle anderen blockiert.
- bei Paketierung abwechselnd Pakete verschiedener Teilnehmer
- Prüfsummen o.ä. möglich
- Für jedes einzelne Paket kann Empfänger herausfinden, ob Daten unterwegs beschädigt wurden -> Paket ggf. nochmals anfordern - nicht ganze Übertragung
- bei Datenübertragung am Stück -> bei Fehler ganze Übertragung von vorn beginnen
TCP/IP
IP - Eigenschaften
- weltweit eindeutige, hierarchisch aufgebaute Adressen (IP-Adresse)
- gesamtes Netzwerk besteht aus vielen Teilnetzen, über Router verbunden
- Jeder Router muss bei einem ankommenden Paket selbstständig entscheiden, an wen er es weiterleitet -> mit Tabelle. -> keine zentrale Instanz, die alles steuert
TCP/IP
Aufbau eines IP-Netzes
- > Router koppeln Subnetze
- > 1 Router ist immer mit mind. 2 Netzen verbunden
Privathaus: Router verbindet 3 Subnetze:
LAN (Ethernet) + WLAN + Internet

TCP/IP
IP - Funktionsweise
- Pakete werden einzeln als Datagramme verschickt
- Jedes Datagramm hat Absender- und Empfängeradresse
- behandelt nur einzelne Datenpakete, jedes für sich -> keine Zusammengehörigkeiten, keine Reihenfolge
- keine Garantie, dass ein Datagramm ankommt
- keine Mechanismen zur Fehlerbehebung (Wiederholung, Prüfung)
- keine Empfangsbestätigung
- Pakete können verloren gehen oder in Reihenfolge durcheinander geraten -> eine Schicht höher durch TCP-Protokoll geregelt
TCP/IP

IP - Funktionsweise eines Routers
- 1 Router gehört zu zwei oder mehr Subnetzen -> in jedem Subnetz eine Adresse (an jedem Anschluss)
- stellt Verbindung zwischen den an ihm angeschlossenen Subnetzen her
- wenn Router IP-Paket erhält -> Empfängeradresse anschauen
- Adresse gehört zu Subnetz, das direkt an diesen Router angeschlossen ist -> sendet Paket direkt an Empfänger
- Adresse nicht direkt erreichbar -> sendet Paket an anderen Router weiter, der (hoffentlich) näher am Empfänger ist
- IP-Pakete wandern von Router zu Router durchs Netzwerk, bis sie dem Empfänger zugestellt werden können

TCP/IP
Versionen des Internet Protocols
IPv4 - Version 4
- erste weit verbreitete Protokollversion
- bis heute am häufigsten für Kommunikation im Internet
- Adressraum von theoretisch 4 Mrd. Adressen geht zur Neige (4 Byte-Adresse)
- Performanceeinschränkungen in Hochgeschwindigkeitsnetzen
IPv6 - Version 6
- riesiger Adressraum und vereinfachte Paketverarbeitung (16 Byte-Adresse)
- nicht abwärtskompatibel zu IPv4 -> zwei Geräte müssen gleiches Protokoll können, um zu kommunizieren (aktuelle Betriebssysteme und Netzwerkhardware können parallel durch Dual-Stack-Betrieb)
TCP/IP
IP-Versionen: Paketaufbau im Vergleich
- grün: Protokollversion (4 o. 6)
- grau (IPv4): Länge des Headers (zusätzliche Header-Felder)
- gelb (IPv6): Priorisierung
-
Fragmentsteuerung
- IPv4: Aufteilung von großen Datenpaketen in mehrere kleine, wenn die MTU-Size eines Netzwerkes nicht groß genug ist
- IPv6: Paket verworfen und Sender per ICMP mitteilen, dass er kleinere Pakete schicken soll
- blau: Lebenszeit = TTL = time to live = hop limit: vom Sender festgelegt (hop = Zwischenstation) -> um Routingschleife zu vermeiden -> bei 0 verworfen
-
rosa (IPv4): Headerprüfsumme
- Fehler bei Übertragung des Headers erkennen -> Performanceproblem (jeder Router reduziert Lebenszeit reduziert und muss dann Prüfsumme neu berechnen)
- Prüfsumme für gesamte Pakete schon in 1. Schicht

TCP/IP
IP-Adressen
IPv4
- aus 4 Bytes
- Bytes einzeln als Dezimalzahl aufgeschrieben und durch Punkte getrennt - max. Wert 255 pro Byte
- z.B.
- 10.1.1.5
- 143.217.0.5
- 221.15.129.1
IPv6
- aus 16 Bytes
- hexadezimal angegeben, nach jeweils 2 Byte ein Doppelpunkt
- z.B. 100f:04e5:2300:0000:0000:0000:ab04:1fff
- führende Nullen weglassen: 100f:4e5:2300:0:0:0:ab04:1fff
- einmal pro Adresse mehrere Blöcke mit Nullen weglassen und durch 2 Doppelpunkte ersetzen: 100f:4e5:2300::ab04:1fff

TCP/IP
IP-Adressen - Aufbau
- IP-Adresse = Netzadresse + Hostadresse
- Subnetz = Teil des IP-Adressraumes
- Netzadresse = festgelegte Anzahl Bits am Beginn der Adressealle -> Geräte in einem Subnetz haben gleichen Adressbeginn
- Hostanteil = restliche Bits können frei gewählt werden -> je mehr, desto mehr Geräte können in Subnetz adressiert werden
- Host = Gastgeber -> im Internet ein Gerät mit eigener IP-Adresse
TCP/IP: IP-Adressen
Woher weiß man, welcher Teil der IP-Adresse zur Netzadresse gehört und welcher zum Hostanteil?
-
IPv4 und IPv6: Anzahl Bits, die zur Netzadresse gehören mit Schrägstrich getrennt hinter der IP-Adresse
- 100f:4e5:2300::ab04:1fff / 56
- 128.34.105.0 / 24 (erste 3 Zahlen sind Netzanteil)
-
IPv4: Subnetzmaske möglich - alle Bits, die zur Netzadresse gehören, auf 1 gesetzt (ununterbrochene Folge von 1, danach ununterbrochene Folge mit 0)
- Host: 128.34.105.0, Subnetzmaske 255.255.255.0 (255 = 8 Einsen - insg. 3 Zahlen sind Netzanteil)
TCP/IP
IP-Adressen - Beispiel
Umwandeln in andere Schreibweise
Wie viele Adressen sind im Subnetz möglich?
IP-Adresse: 10.1.1.5
Subnetzmaske: 255.255.255.0
- 1.1.5 / 24
- > 2^8 Adressen im Subnetz möglich

TCP/IP
IP-Adressen - Beispiel
Umwandeln in andere Schreibweise
Wie viele Adressen sind im Subnetz möglich?
kleinste + größte Adresse im Subnetz
10.1.173.5 / 20
IP-Adresse: 10.1.173.5
Subnetzmaske: 255.255.240.0
- > 2^12 Adressen im Subnetz möglich
- > Subnetz umfasst alle Adressen von 10.1.160.0 (173 - 1 1 0 1) bis 10.1.175.255 (173 + 0 0 1 0)

TCP/IP
Klassen bei IPv4-Adressen
Class A: Beginn mit 0 -> Hälfte der IP-Adressen (Subnetzmaske 255.0.0.0)
- 1^16 Hosts pro Subnetz möglich
- 2^7 (128) Subnetze möglich (8-1, da ein Bit vordefiniert)
Class B: Beginn mit 10 -> Viertel des Internets (Subnetzmaske 255.255.0.0)
- 2^16 Hosts pro Subnetz
- 2^14 Subnetze möglich (16 - 2 vordefinierte Bits)
Class C: 255.255.255.0
- 2^8 (256) Hosts pro Subnetz möglich
- 2^21 Subnetze möglich

TCP/IP: IP
Aufbau eines Netzwerks mit Subnetzen
- IP-Adresse auf einzelne Standorte verteilen
- Zentrale: Class-B-Netzwerk - Adressbeginn mit 10.1.
- andere Class-B-Subnetze mit 10.2 - 10.3 - …
- Class-C-Subnetz: weniger Geräte möglich mit 10.4.1 und 10.4.2
- Nullen am Adressende frei vergebbar

TCP/IP: IP
Besondere Adressen
- localhost
- private Netze
- Netzadresse: kleinste Adresse eines Subnetzes - Host-Anteil 0 - stellvertretend für gesamtes Subnetz
- Broadcastadresse: größte Adresse eines Subnetzes - kompletter Host-Anteil 1 - Pakete an diese Adresse gehen an alle Hosts des Subnetzes (z.B. Pakete mit Steuerungsfunktionen)
TCP/IP: IP
Besondere Adressen: localhost
- IPv4: 127.0.0.1 (localhost)
- IPv6: ::1 / 128 (127 Nullen, eine 1)
- immer das eigene Gerät (2. IP-Adresse) -> erreicht nur sich selbst, nicht von/nach außen
- erlaubt Versand von IP-Paketen innerhalb des lokalen Computers, auch ohne Netzwerk-Hardware
- Pakete an localhost werden nur lokal verarbeitet und gehen nie über ein LAN-Interface
TCP/IP: IP
Besondere Adressen: lokale Adessen
- *10.**0.0.0 - 10.255.255.255
- *172.**16.0.0 - 172.31.255.255
- *192.168.**0.0 - 192.168.255.255
- im Internet nicht genutzt und nicht geroutet -> Router verwerfen sie
- NAT: Network Access Translation - Router ersetzt Adresse mit offizieller Internetadresse
- vom Provider nur eine Adresse, aber im Haushalt für jedes Gerät andere Adresse -> im Internet durch offizielle Adresse des Providers ersetzt
- IPv6: fdxx : xxxx : xxxx : yyyy : zzzz : zzzz : zzzz : zzzz x=Zufallswert, y=Subnetz innerhalb des privaten Netzes, z=Hostanteil
TCP/IP: IP
Wie viele Adressmöglichkeiten gibt es in einem Class-C-Netz?
1 Byte für Hostanteil -> 2^8 Möglichkeiten
= 256 - Netzadresse - Hostadresse
= 254
TCP/IP
IP-Adressen bei einer Internetverbindung
IPv4
- Internetprovider verfügen über große Subnetze für ihre Kunden
- Normale Internetzugänge: genau 1 offizielle IPv4-Adresse vom Provider zugeteilt
- Um mehrere Hosts mit dem Internet zu verbinden, erhalten diese private IP-Adressen -> Internet-Router setzt auf offizielle Adresse um (NAT)
- dynamische IP-Adresse - Privatkunden: neue IPv4-Adresse bei jedem Verbindungsaufbau (Sicherheit/Schutz vor User Tracking, schwieriger selber Internetdienste anzubieten)
- statische IP-Adresse - Geschäftskunden: auf Wunsch immer die gleiche IP-Adresse
- symmetrische Internetzugänge: mehrere statische IPv4-Adressen (meist 8) in Form eines Subnetzes, damit der Kunde eigene Server im Internet bereitstellen kann -> auch mehr möglich (bis zu 32 oder 64 Adressen)
TCP/IP
IP-Adressen bei einer Internetverbindung
IPv6
- noch nicht alle Provider verteilen zusätzlich zur IPv4-Adresse eine IPv6-Adresse
- Kunden erhalten statisches oder dynamische Subnetz mit Hostanteil = 58 oder 64 Bit groß
- jedes Gerät bekommt individuelle Adresse zur Kommunikation im Internet -> Adressumsetzung nicht mehr notwendig
- Hostanteil kann Kunde bei allen Hosts selbst festlegen
- einige Betriebssysteme: Hardwareadresse als Hostanteil -> Problem: Host eindeutig identifizierbar
TCP/IP: IP
Routing - komplexer Fall
Routingtabelle
- bei mehreren Routern, bei Einrichtung des Routers erstellt
- Routingtabelle = Liste von Netzadressen und Subnetzmasken
- festgelegt, über welche Netzwerkschnittstelle und an welchen Router Pakete weitergeleitet werden sollen
- Zieladresse wird nacheinander gegen jeden Eintrag der Tabelle geprüft (UND-Verknüpfung der Subnetzmaske mit Empfängeradresse und Netzadresse, Vergleich)

TCP/IP
ICMP
- Internet Control Message Protocol
- als Nutzdaten eines IP-Pakets versenden
- Pakete enthalten immer mindestens die Felder „Type“ und „Code“
- Quell- und Zieladresse stehen im IP-Paket-Header
- Diagnosewerkzeug, um herauszufinden, ob und wie schnell Verbindung funktioniert -> ping + IP-Adresse/Name (z.B. www.spiegel.de): schickt ICMP-Paket -> Antwort mit echo reply -> PC zeigt an, ob er Antwort erhalten hat

TCP/IP
Wichtige ICMP-Pakete
Network Unreachable: vom Router, wenn er Subnetz nicht erreichen kann
Host Unreachable: vom Router des Subnetzes des Empfänger
Time Exceeded: TTL = Lebenszeit abgelaufen

TCP/IP
ICMP: Trace-Route für Time Exceeded
- um Routing-Fehler zu finden/herausfinden, auf welchem Weg Pakete geroutet werden
- traceroute: erzeugt Echo Request mit TTL=1 -> vom ersten Router verworfen -> schickt „Time exceeded“ -> Absenderadresse von Traceroute als erste Station angezeigt
- Echo Request mit TTL=2 verschickt -> erste Router leitet Paket weiter -> zweite verwirft es und antwortet mit „Time exceeded“ -> Absenderadresse = zweite Station
mit wachsender TTL fortsetzen - Bild: Echo Request mit TTL=3 erreicht Empfänger -> antwortet mit einem Echo Reply = Ende der Routenverfolgung

TCP/IP
Router im Schichtenmodell
- > arbeitet nur auf Ethernet- und Internet-Ebene
- > eine Schicht mehr als Switches
Router implementiert: Ethernet, WLAN, IP, NAT, ICMP, Firewall, …

TCP/IP
ARP und DHCP
Logische und physische Adressen
- IP-Adressen werden Netzwerkgeräten zugeteilt -> logische Adressen
- Infrastruktur arbeitet normalerweise mit anderen, physischen Adressen (Hardwareadresse, MAC-Adresse)
-> Problem: Wie kommt man von IP-Adresse auf Hardware-Adresse?
TCP/IP
ARP
- Address Resolution Protocol
-
broadcast -> Gerät schickt ARP-Request an alle Geräte im Subnetz, um Hardwareadresse herauszufinden, mit
- eigener IP-Adresse
- eigener HW-Adresse
- gesuchter IP-Adresse
- gesuchtes Gerät antwortet mit ARP-Reply, der die HW-Adresse enthält
- HW-Adresse wird für einige Minuten im ARP-Cache gespeichert, um die Anzahl von ARP-Anfragen zu begrenzen -> anschauen mit Befehl arp -a

TCP/IP
DHCP
- Dynamic Host Configuration Protocol
- wenn DHCP-Server im Netzwerk -> Endgeräte brauchen keine lokale IP-Konfiguration
- Einstellung „Konfiguration automatisch beziehen (DHCP)“
- sendet beim Hochfahren eine Anfrage an alle („Wie sind meine IP-Einstellungen?“)
- DHCP-Server antwortet -> Information aus Zuordnungstabelle oder dynamisch bestimmt
- für Einstellung aller wichtigen Netzwerkparameter (Subnetzmaske, Standardgateway, …)
TCP/IP
TCP - Grundfunktionen
bis jetzt: IP-Protokoll und angrenzende Protokolle (ARP, DHCP)
- > Leistung: einzelne Pakete jedes für sich an IP-Adressen weltweit versenden - NICHT: mehrere Pakete, verlorene Pakete wiederholen, Pakete in richtige Reihenfolge bringen
- *Wunsch:** Verbindung/Kommunikationskanal erstellen = TCP = 3. Schicht
Grundfunktionen
- Verbindungsauf- und -abbau (einer virtuellen Verbindung)
- Vollduplex: Verbindung ist in beiden Richtungen nutzbar
- Absicherung durch Sequenznummern und Prüfsummen (Reihenfolge der Pakete)
- Verlorengegangene Pakete werden wiederholt
- Dienstauswahl auf dem Server durch Portnummern
Anwendungen: Verbindungsorientierte Protokolle wie Telnet, FTP, HTTP
TCP/IP
TCP - Portnummern
- IP-Adresse wird um einen sogenannten Port ergänzt
- Nummer im Bereich von 0 – 65535
- wird bei der Absender- und bei der Empfängeradresse mit angegeben
- genaue Identifizierung mehrerer gleichzeitiger TCP-Verbindungen (durch bestimmte Kombination von Sender- und Empfängerportnummer)
- Auswahl eines von einem Server gewünschten Dienstes: FTP (21), Telnet (23), HTTP (80)
- Quellport = beliebig, aber jenseits von 1024
- *Empfängerport** = 80, weil er auf Webserver zugreifen will / 21 zur Dateienübertragung

TCP/IP
UDP
- *User Datagram Protocol**
- *Grundfunktionen:**
- Datagrammdienst
- Bereitstellung der Funktionalität von IP auf Schicht 4
- Dienstauswahl durch Portnummern wie bei TCP
- Sehr einfache Prüfsumme
Anwendungen
- verbindungslose Dienste wie DNS, SNMP
- Dienste, die Verbindungssteuerung und Flusskontrolle auf Anwendungsebene erledigen, z.B. NFS (TCP-Funktionen selber implementiert)

TCP/IP
Zusammenwirken der Schichten 1 - 4

TCP/IP
DNS
- Domain Name System
- ermöglicht die Ermittlung einer IP-Adresse aus einem sprechenden Namen/Namen zu einer IP-Adresse
- dezentrale Datenbank mit unterschiedlichen Verantwortlichkeiten
- DNS-Namen sind hierarchisch aufgebaut
- Hierarchieebenen sind durch Punkte getrennt - höchste Hierarchieebene am Ende
- Aufbau:.[.].
- TLD = Top Level Domain, z.B. .de, .com, .info, .name
- Jede TLD wird von einer Vergabeorganisation verwaltet, für .de beispielsweise die DeNIC.
- Domains können bei der zuständigen Vergabeorganisation reserviert werden (z.B. google.de)
- Subdomains und Hosts kann der Domaininhaber selbst einrichten (alles, was mit google.de endet)
TCP/IP
Ablauf einer DNS-Abfrage
- DNS Anfrage: PC benötigt IP-Adresse (netzwerkguide.de) -> DNS-Anfrage an lokal eingetragenen DNS-Server
- Weiterleitung: lokale DNS-Server kennt die Adresse nicht -> Weiterleitung an DNS-Server des Internet-Providers
- Anfrage beim Root Name Server: falls Nameserver des ISP die Domain nicht kennt -> Root Name Server kennt zu jeder TLD einen zuständigen Nameserver
- Antwort: Adresse des Authoritative Name Servers für .de
- Anfrage beim Authoritative Name Server: Nameserver des ISP schickt ursprüngliche Anfrage an den Authoritative Name Server
- Antwort: IP-Adresse des zuständigen Nameservers für netzwerkguide.de
- Anfrage beim Name Server für netzwerkguide.de: Nameserver des ISP schickt ursprüngliche Anfrage an den Name Server für netzwerkguide.de.
- Antwort: IP-Adresse von www.netzwerkguide.de
- Antwort wird an anfragenden PC ausgeliefert
