Skip to main content

DHCP / DNS / FTP / TCP / UDP

DHCP

Dynamic Host Configuration Protocol – mit diesem Protokoll werden die IP-Adressen an Endgeräte (das könnte ein PC, Smartphone oder Drucker sein) innerhalb eines Netzwerks zugewiesen. Die Hosts werden dynamisch (automatisch) konfiguriert.

Das Ziel von diesem Protokoll ist es, dass jedem Host im Netzwerk eine IP-Adresse sowohl auch ein Gateway, Subnetzmaske und DNS automatisch zuzuordnen.

Port 67 - UDP (Server)
Port 68 - UDP (Client)

Layer 7 (Application Layer) - OSI Modell

Ablauf DHCP
  1. DHCPOFFER: Die DHCP-Server antworten mit entsprechenden Werten auf eine DHCPDISCOVER-Anfrage.

  1. DHCPREQUEST: Der Client fordert eine der angebotenen IP-Adressen, weitere Daten sowie Verlängerung der Lease-Zeit von einem der antwortenden DHCP-Server.

  1. DHCPACK: Bestätigung des DHCP-Servers zu einer DHCPREQUEST-Anforderung oder die Übermittlung von Konfigurationsparametern, die vorher durch DHCPINFORM vom Client angefordert wurden.

  1. DHCPNAK: Ablehnung einer DHCPREQUEST-Anforderung durch den DHCP-Server.

  1. DHCPDECLINE: Ablehnung durch den Client, da die IP-Adresse schon verwendet wird.

  1. DHCPRELEASE: Der Client gibt die eigene Konfiguration frei, damit die Parameter wieder für andere Clients zur Verfügung stehen.

  1. DHCPINFORM: Anfrage eines Clients nach weiteren Konfigurationsparametern, z. B. weil der Client eine statische IP-Adresse besitzt.

Wichtige Headereinträge DHCP

Client-/Transaction-ID

Zufallszahl, die der Client bestimmt und dem Server der Zuordnung hilft

Flags

Discover

Offer

Request

Acknowledge

Server-Address

Hilft dem DHCP-Server zu erkennen, an wen der Request gerichtet ist

Client-Address

Die IP-Adresse, die dem Client dann zugeordnet wird

Client hardware address

MAC-Adresse welcher der Client Broadcastet


DNS

Domain Name System – funktioniert ähnlich wie ein Telefonbuch: Es verwaltet die Zuweisung zwischen Namen und Nummern. DNS-Server übersetzen Namensanforderungen in IP-Adressen und steuern dabei, welchen Server ein Endbenutzer erreicht, wenn er in seinen Webbrowser einen Domänen-Namen eingibt.

Port 53 - UDP

Layer 7 (Application Layer) - OSI Modell

Auf jedem Client ist ein Stück Software installiert, dass sich Resolver nennt. Sollte man eine IP-Adresse auf Basis einer URL benötigen, dann kümmert sich der Resolver um die Anfrage beim DNS-Server.

Eine Anfrage bei einem DNS-Server kann zwei unterschiedliche Antworten zur Folge haben.
Beim itterativen Verfahren (links im Bild) bekommt man entweder die gewünschte Antwort oder einen Verweis zu einem anderen DNS-Server. Dieser wird dann vom Resolver auf dem Client angefragt.
Beim rekursiven Verfahren (rechts im Bild) frägt der Resolver ebenfalls bei einem DNS-Server an, sollte der die Antwort nicht kennen, dann leitet dieser sie selbst an den nächsten DNS-Server weiter.

rekursiv-iterativ.jpg

TCP

Transmission Control Protocol - ist ein verbindungsorientiertes und paketvermitteltes Transportprotokoll. Kommunikation über TCP lässt sich in drei Schritte einteilen, dem Verbindungsaufbau, der Datenübertragung und dem Verbindungsabbau.

Verbindungsaufbau - Drei-Wege-HandshackeHandshake
Client (Rechner der Verbindung aufbauen will) schickt ein SYN mit einer zufälligen 16-32-Bit langen Sequenznummer(seq). Ist der Server (Rechner zu dem die Verbindung aufgebaut wird) bereit die Verbindung zu zulassen, dann antwortet er mit einem SYN-ACK.Dabei wird die erhaltene seq um eins weitergezählt und als Acknowledgenummer(ack) zurück geschickt. Zusätzlich erstellt der Server selbst eine 16-32-Bit lange Sequenznummer und schickt diese mit.
Das SYN-ACK wird vom Client mit einem ACK bestätigt. Hier wird die seq des Servers als ack verwendet und um eins hochgezählt.

1024px-Tcp-handshake.svg.png

Datenübertragung 
Hier werden die eigentlichen Informationen übertragen. Früher wurde jedes Paket das ausgetauscht wurde von der Gegenseite mit Hilfe einer Sequenznummer bestätig. Das führt allerdings zu einer hohen Netzbelastung. Aus diesem Grund hat man die Möglichkeit geschaffen auch mehrere Pakete auf einmal schicken und bestätigen zu können. Dabei wird immer das letzte Paket, dass passt bestätigt. Damit ist dem Sender bekannt, was er nochmal nachschicken muss bzw. ab welchem Punkt er weitere Pakete schicken kann.

Verbindungsabbau - Vier-Wege-Handshake
Ähnlich wie beim Verbindungsaufbau, wird auch hier gegenseitig bestätig, dass man die Verbindung abbaut. Dabei schickt die eine Seite ein FIN mit zufälliger Sequenznummer(seq). Diese wird um eins hoch gezählt und als ACK zurückgeschickt. Zusätzlich wird ein zweites, eignes FIN Paket verschickt, welches ebenfalls mit einem ACK bestätigt wird. Erst ab diesem Moment ist die Verbindung geschlossen.
1024px-TCP-Teardown.svg.png