In [1]:
mkdir -p work
cd work

Computernetze: Internet - Einführung

Teil 1: Grundlagen

Internet

  • inter (lateinisch) = zwischen
  • Internet: Vernetzung zwischen Computernetzen

Netzwerkprotokolle

"Ein Protokoll definiert das Format und die Reihenfolge des Nachrichtenaustausches zwischen zwei oder mehr kommunizierenden Entitäten sowie Handlungen, die beim Übertrag und/oder Empfang einer Nachricht oder anderer Ereignisse ausgeführt werden." [Seite 16, Kurose]

In einem Kommunikationsprotokoll ist die

  • Syntax: Struktur und Format der ausgetauschten Nachrichten, wie Aufbau, Reihenfolge, Codierung, etc.
  • Semantik: Bedeutung der Felder
  • Synchronisation der Kommunikation: Zeitliche Abgleich

festgelegt, damit Parteien Daten/Informationen austauschen können.

In einem Protokoll sind beispielsweise folgende Dinge geregelt:

  • Wie beginnt eine Nachricht? Wie endet eine Nachricht?
  • Wie ist die Nachricht formatiert?
  • Wen adressiert die Nachricht?
  • Was passiert im Fehlerfall?

Netzwerkprotokolle sind Kommunikationsprotokolle, die den Austausch von Daten zwischen Computern regeln.

Die Beschreibungen der Protokolle des Internets und weitere Internetstandards werden in RFC-Dokumenten (Request for Comments) festgehalten, die von der Internet Engineering Task Force (IETF) herausgegeben werden.

Internetprotokollfamilie

Die wichtigsten Kommunikationsprotokolle im Internet sind:

  • TCP: Transmission Control Protocol
  • IP: Internet Protocol

Meist wird der Begriff TCP/IP synonym für die Internetprotokollfamilie verwendet, die den Datenaustausch im Internet regeln. Die Internetprotokollfamilie besteht aber aus einer Vielzahl von Protokollen.

TCP/IP Schichtmodell

Software ist oft in Schichten organisiert, um die Komplexität in den Griff zu bekommen (vgl. Schichtenarchitektur). Das ISO/OSI-Referenzmodell beschreibt eine (idealisierte) Schichtstruktur für Computernetzwerke mit sieben Schichten.

Hier betrachten wir nur das vereinfachte TCP/IP-Referenzmodell, das in der Praxis des Internets verwendet wird:

Schicht Beispiel-Protokolle
Anwendungsschicht (application layer) HTTP, FTP, SMTP, POP3
Transportschicht (transport layer) TCP, UDP, SCTP
Internetschicht (internet layer) IP, ICMP
Netzzugangsschicht (link layer) Ethernet, WLAN, Token Ring

Diese Vier-Schichten-Architektur bildet die Grundlage des Internets und ist in der technischen Spezifikation RFC 1122 beschrieben.

Dabei kann eine Schicht immer nur auf die Funktionalitäten, der direkt darunterliegenden Schicht zugreifen. Der Zugriff erfolgt über die bereitgestellten (Software)-Schnittstellen entsprechend den korrespondierenden Protokollen.

Für weitere Beispiele von Protokolle in den Schichten siehe z.B. https://de.wikipedia.org/wiki/Internetprotokollfamilie#Protokollstapel

Rolle und das Zusammenspiel der Schichten

am Beispiel der Auslieferung einer Webseite:

Wenn eine Anwendung (hier ein Webserver-Programm) aufgrund einer Anfrage (getriggert von einem Webbrowser), die mit den Protokollen der Anwendungsschicht arbeitet, eine Nachricht (hier eine Webseite) versenden will, so erstellt sie zuerst die entsprechende Nachricht im entsprechenden Protokoll der Anwendungsschicht: die HTML-Webseite wird in eine HTTP-Nachricht (HyperText Transfer Protocol) eingebunden.

Die Nachricht (im HTTP-Format) wird dann über einen API-Aufruf an die darunterliegende Transportschicht-TCP weitergegeben. Die Software der Transportschicht teilt die Nachricht (in der Regel) in kleinere Stücke. Die Stücke werden dann jeweils in das entsprechenden TCP-Format eingepackt und an die Internetschicht (per API-Call) weitergegeben. Hier wird sie in der Regel weiter geteilt und die Teile werden wieder in das IP-Format eingepackt und an die Netzzugangschicht weitergereicht. Die Netzzugangsschicht übernimmt die direkte Kommunikation zwischen zwei Computern auf physikalischer Ebene (Strom bzw. elektromagnetische Wellen, wie Funkwellen oder Licht). Dazu werden die IP-Pakete in der Regel wieder weiter unterteilt und dann über den physikalischen Kanal versendet.

Auf der Empfängerseite empfängt die Netzzugangsschicht (über ein physikalisches Gerät) die einzelnen Pakete und baut diese zu IP-Paketen (wie sie ursprünglich versendet wurden) zusammen und übergibt die IP-Pakete der Internetschicht. Auf der Ebene der Internetschicht wird jetzt auf Grund der Adress(meta)information im IP-Paket entschieden, ob das IP-Paket an ein angrenzendes (physikalisches) Netz weitergereicht werden soll oder ob das IP-Paket für diesen Computer bestimmt ist. Falls es noch nicht am Zielort ist, ist der Computer (höchstwahrscheinlich) ein sogenannter Router, der IP-Pakete zwischen angrenzenden Computernetzen weiterreicht (mehr hierzu später). Dann wird das IP-Paket wieder an die Netzzugangsschicht (mit Information zu: welches physikalisches Gerät, d.h. welches Netz) weitergegeben. Und so landen die Teile des IP-Paketes in einem anderen (physikalischen) Netz. Dies geht solange weiter, bis das IP-Paket an seinem Zielort angelangt ist. Nachdem dort von der Netzzugangsschicht das IP-Paket zusammengebaut wurde, wird es an die Internetschicht weitergereicht. Die Internetschicht baut aus allen korrespondierenden IP-Paketen wieder ein TCP-Paket zusammen und reicht dieses an die Transportschicht-TCP weiter. Die TCP-Schicht empfängt so (nach und nach) alle TCP-Pakete der HTTP-Nachricht und kann somit die HTTP-Nachricht rekonstruieren und an die Anwendungsschicht weiterreichen. In unserem Fall ist die Anwendung der Webbrowser des Empfänger. Im Webbrowser kann somit z.B. die html-Webseite (oder eine HTTP-Fehlermeldung etc.) dem Nutzer angezeigt werden.

Hinweis:
Bevor der Webserver eine solche Nachricht (der Webseite) an den Rechner des Nutzers sendet, muss diese Nachricht natürlich angefordert sein. Dazu wird vom Nutzerrechner zuerst eine TCP-Verbindungsanforderung an den Server gestellt. Dieser antwortet mit einer TCP-Verbindungsbestätigung. Wenn dies so erfolgreich funktioniert hat, wird vom Nutzerrechner die html-Webseite mit dem eigentlichen HTTP GET request mit der Adresse der HTML-Seite angefordert, z.B. GET http://christianherta.de/index.html.

Anwendungsschicht

Internet-Anwendungssoftware nutzt in der Regel direkt die Protokolle der Anwendungsschicht, wie z.B.:

  • Webbrowser: HTTP, HTTPS
  • Email-Programme: SMTP, POP3
  • FTP-Clients bzw. Server: FTP (file transfer)
  • SSH

Beispiele für Kommandozeilenprogramme (Beschreibungen aus der Manpage), die mit Protokollen der Anwendungsschicht arbeiten:

  • wget: GNU Wget is a free utility for non-interactive download of files from the Web. It supports HTTP, HTTPS, and FTP protocols, as well as retrieval through HTTP proxies.
  • curl is a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP). The command is designed to work without user interaction.

Beispiel wget zum Herunterladen einer Webseite und anzeigen des HTTP-Headers:

In [2]:
# Schalter -S für
# Print the headers sent by HTTP servers and responses sent by FTP servers.

wget -S http://christianherta.de/index.html
# The html-file is saved to disc 
--2026-07-10 12:29:55--  http://christianherta.de/index.html
Resolving christianherta.de (christianherta.de)... 217.160.0.91
Connecting to christianherta.de (christianherta.de)|217.160.0.91|:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 302 Found
  Content-Type: text/html; charset=iso-8859-1
  Content-Length: 258
  Connection: keep-alive
  X-WS-Origin: available
  X-WS-RateLimit-Limit: 1000
  X-WS-RateLimit-Remaining: 999
  Date: Fri, 10 Jul 2026 10:29:55 GMT
  Server: Apache
  Location: http://christianherta.de/index.php
Location: http://christianherta.de/index.php [following]
--2026-07-10 12:29:55--  http://christianherta.de/index.php
Reusing existing connection to christianherta.de:80.
HTTP request sent, awaiting response... 
  HTTP/1.1 200 OK
  Content-Type: text/html; charset=UTF-8
  Transfer-Encoding: chunked
  Connection: keep-alive
  X-WS-Origin: available
  X-WS-RateLimit-Limit: 1000
  X-WS-RateLimit-Remaining: 998
  Date: Fri, 10 Jul 2026 10:29:55 GMT
  Server: Apache
Length: unspecified [text/html]
Saving to: ‘index.html’


index.html              [<=>                 ]       0  --.-KB/s               
index.html              [ <=>                ] 184,57K  --.-KB/s    in 0,1s    

2026-07-10 12:29:56 (1,84 MB/s) - ‘index.html’ saved [188997]

In [3]:
rm index.html*

Schritte:

  • Zuerst Übersetzen des Domainnames der Webadresse (christianherta.de) in eine IP-Adresse:
    Resolving christianherta.de (christianherta.de)... 217.160.0.91

  • Aufbau der TCP-Verbindung:
    Connecting to christianherta.de (christianherta.de)|217.160.0.91|:80... connected.

  • Senden des HTTP GET-Requests
    HTTP request sent, awaiting response...

  • Der Server antwortet hier zunächst mit einer Umleitung (HTTP/1.1 302 Found, Location: http://christianherta.de/index.php), der wget automatisch folgt und die Anfrage erneut stellt.

  • Dann wird der Header der finalen Antwort auf stdout ausgegeben und die html-Datei index.html im Dateisystem gespeichert. Header:

    HTTP/1.1 200 OK
    Content-Type: text/html; charset=UTF-8
    Transfer-Encoding: chunked
    Connection: keep-alive
    X-WS-Origin: available
    X-WS-RateLimit-Limit: 1000
    X-WS-RateLimit-Remaining: 998
    Date: Mon, 15 Jun 2026 12:50:07 GMT
    Server: Apache

Der HTTP-Header beinhaltet im allgemeinen Meta-Daten zur Anfrage (request) bzw. zur Antwort (response) etc., mehr siehe z.B.

Transportschicht des Internets

Es gibt hier zwei Protokolle UDP und TCP:

UDP ist relativ einfach aufgebaut und verbindungslos.

TCP basiert auf einer Verbindung (connection) zwischen den beteiligten Rechnern:

  1. Verbindungsaufbau bei TCP:
  • Client sendet Connection-Request
  • Server antwortet mit Connection-Reply (Anforderungsbestätigung)
  1. Datenaustausch, bis einer der Teilnehmer die Verbindung explizit beendet.
    • Segmentierung von Daten in Datenpaketen bei TCP: Die Nachrichten werden in kleinere Einheiten aufgeteilt und getrennt versendet.
    • Verlustfreier Datentransfer gewährleistet. Einzelne Pakete können verloren gehen, dann werden sie ggf. nochmal gesendet.

Client-Server Modell

Ein Server (Diener) ist ein Computer, der in einem Netzwerk bestimmte Dienste zur Verfügung stellt. Der Server beantwortet Anfragen, die von außen an ihn gestellt werden. Die Dienste sind typischerweise rechen- und/oder speicherintensiv, sodass Server oft leistungsfähige Rechner sind.

Typische Dienste sind:

  • Retrieval (Suche) in Datenbanken.
  • Zugriff und Speicher auf Dateisysteme oder Emails.
  • Numerische Berechnungen.
  • Ausliefern von Webseiten.

Clients (Kunden) sind Computer, die die Dienste der Server nutzen. Dazu sendet ein Client ein Anfrage (Request) an einen Server, auf die der Server antwortet (Response).

Daneben gibt es noch den älteren Begriff Host (Gastgeber) aus der Zeit der Großrechner (1960er Jahre). Dies bezeichnet einen Computer, der im Netzwerk eingebunden ist und ggf. bestimmte Dienste zur Verfügung stellt. Host wird auch oft synonym mit dem Begriff Server eingesetzt. Aber oft wird der Begriff Host auch nur für ein am Internet angeschlossenes Endgerät verwendet.

Kommunikation in einem Computernetz

Die Endgeräte sind in einem Netz durch Kommunikationsleitungen (communication link) und Switches/Hubs miteinander verbunden. Wenn ein Endgerät Daten an ein anderes senden will, teilt das zu sendende Endgerät die Daten in Segmente auf und fügt jeweils Header-Bytes hinzu. Diese Informationsteile (Segment und Header) werden Pakete genannt. Auf Empfängerseite werden diese wieder zu den ursprünglichen Daten zusammengesetzt.

Routing

Das Internet ist ein Netz aus Computernetzen. Die einzelnen Netze sind durch Router (physikalisch) verknüpft. So erscheint das Internet als riesiges Computernetz, obwohl es eigentlich aus vielen kleinen physikalischen Computernetzen besteht. Die Router verbinden dabei die Computernetze, d.h. mittels Router können Datenpakete Netzwerkgrenzen "überschreiten". Dies ist dann notwendig, wenn sich Sender und Empfänger eines Datenpaketes nicht im gleichen (physikalischen) Netz befinden. Oft durchquert ein Datenpaket viele unterschiedliche Netze. Dabei verbindet ein Router typischerweise nur zwei Netzwerke. Dazu ist er physikalisch in beiden Netzwerken mit jeweils einer Netzwerkschnittstelle angebunden.

Den Vorgang des Finden des Wegs von Sender zum Empfänger durch die verschiedenen Stationen (Router) wird Routing genannt. Beim Routing-Vorgang wird also der Weg des Datenpakets bestimmt. Jeder Router verwendet hierfür eine sogenannte Routing-Tabelle (routing table), in der er abhängig von der Routenwahlmethode (verwendeter Algorithmus) und der Zieladresse den nächsten Router (genauer: die IP-Adresse des nächsten Routers) auswählt, der innerhalb des Netzes direkt zu erreichen ist, mehr siehe z.B. https://www.elektronik-kompendium.de/sites/net/0810101.htm.

Die Routing-Protokolle liegen im Schichtenmodell auf der Internet-Schicht (IP-Protokoll) (entspricht der Vermittlungsschicht/Netzwerkschicht im OSI-Modell).

Die Routing-Tabellen können

  • statisch manuell von den Administrierenden angelegt werden (z.B. mit dem Befehl ip route) oder
  • dynamisch im Austausch mit den angrenzenden Routern automatisch angepasst werden.

Hinweis: Routing-Tabellen bestimmen nicht nur in Routern die Regeln für die Weiterleitung der Pakete, sondern auch in "normalen" Rechnern (wohin die Pakete in Abhängigkeit der Zieladresse geschickt werden). Hier sind sie aber im Normalfall sehr einfach gehalten.

Gateway

Gateways verbinden zwei Systeme, hier zwei Computernetze. Router sind somit spezielle Gateways auf der Internetschicht (bzw. Ebene 3. des OSI-Schichtmodells). Gateways können aber auch auf anderen Schichten des OSI-Modells liegen, siehe z.B. https://de.wikipedia.org/wiki/Gateway_(Informatik)#Arbeitsweise.

Dennoch wird oft der Begriff Gateway mit Router synonym verwendet.

Aufgabe (dringend empfohlen)

Studieren Sie die Grundlagen der TCP/IP Protokollfamilie mit dem Linux Netzwerkkurs.

Aufgabe (optional)

Probieren Sie das Programm traceroute aus.

IP Adressen

Computer (mit Netzwerkgeräten bzw. Netzkarten), die am Internet angeschlossen sind, können eindeutig durch eine IP-Adresse identifiziert werden (analog zu einer Telefonnummer). In einem Computer können aber mehrere Netzwerkkarten stecken, sodass er mehrere IP-Adressen haben kann.

Es gibt zwei Adressierungsschemata:

  • IPv4: 32bit-Adresse (4 Bytes), jedes Byte wird typischerweise als Dezimalzahl (von 0 bis 255) geschrieben. Die einzelnen Bytes sind mit Punkten getrennt, z.B. $91.65.98.254$.
  • IPv6: 128bit-Adresse (16 Bytes). Da die 32bit Adressen nicht ausreichen für alle an das Internet angeschlossenen Rechner, wurde ein neues Adresssierungsschema entworfen.

Die IP-Adresse ihres Rechners erhalten Sie z.B. folgendermaßen:

In [4]:
hostname --all-ip-addresses # oder -I
192.168.178.52 192.168.122.1 fd0c:7332:b972:0:1973:8670:e03b:2f83 fd0c:7332:b972:0:5b72:406:3c17:d887 2003:ec:1f14:6200:6171:b3ae:2d35:51d1 2003:ec:1f14:6200:419e:6fa7:63d:f9a3 

Die ausgegeben IP-Adressen (private Adressen) können sich von der IP-Adresse unterscheiden, über die man von außerhalb sieht. Diese öffentliche Adresse erhält man z.B. mittels der Webseite http://ifconfig.me:

In [5]:
# mit curl
curl ifconfig.me # curl schreibt die heruntergeladene Datei standardmäßig nach stdout
2003:ec:1f14:6200:6171:b3ae:2d35:51d1

Wenn Sie dies von zu Hause aus tun, erhalten Sie in der Regel so unterschiedliche IP-Adressen.

Erklärung: Wenn Sie sich von zuhause ins Internet einwählen, bekommt Ihr DSL- bzw. Kabelmodem eine (öffentliche) IP automatisch von Ihrem Provider zugewiesen. Das Modem arbeitet dabei in der Regel auch als Gateway/Router und übersetzt per NAT (Network Address Translation, siehe auch IP Masquerading/Port Address Translation) die internen (nicht offiziellen) IPs ihres Heimnetz auf die zugewiesene öffentliche IP (ihres Routers) und umgekehrt.

Nebenbemerkung: Mittels NAT können viele Rechner (nicht öffentlich sichtbar) gleiche IPs haben. Dies schwächt das Problem ab, dass die Anzahl der Addressen bei IPv4 begrenzt ist.

Nicht offizielle IPv4 Adressen

IP Adressen müssen (eigentlich) eindeutig sein, damit im Internet ein Computer bzw. seine Netzwerkkarte genau addressiert werden kann. Es gibt aber IPv4-Bereiche, die nicht offiziell vergeben werden. Diese können von (verschiedenen) lokalen Netzen genutzt werden. D.h. dass solche Computer nicht vom öffentlichen Netz durch diese IPv4-Adressen erreicht werden können.

Folgende IPv4 Adressenbereiche sind nicht offiziell vergeben:

Addressbereich Menge
10.0.0.0 - 10.255.255.255 ca. 16 Mio Adressen
172.16.0.0 - 172.31.255.255 ca. 1 Mio Adressen
192.168.0.0 - 192.168.255.255 ca. 65.500 Adressen

Außerdem wird 127.0.0.0 bis 127.255.255.255 nicht offiziell vergeben und nur für lokale Kommunikation in einem Rechner genutzt. 127.0.0.1 wird dabei für localhost, d.h. den eigenen Rechner verwendet (siehe auch weiter unten).

Netzwerkmasken

Der vordere Teil einer IPv4-Adresse entspricht der Netzwerkadresse. Der hintere Teil sind die Host-Bits. Ähnlich wie bei einer Telefonnummer, bei der der vordere Teil die Stadt ausmacht. Dieser Teil ist insbesondere für das Routing relevant. Mit einer Netz(werk)maske (netmask) werden diese Bits markiert.

Netzwerkmasken dienen insbesondere auch dazu anzugeben, welche IPs über die (konfigurierten) Gateways/Router (typischerweise ein Standardgateway) und welche IPs lokal, d.h. ohne über einen Router, erreichbar sind.

Beispiel für die Netzwerkmaske 255.255.0.0 und einer IP 141.45.0.12:

Netzwerkmaske/IPv4

255       255       000       000

entspricht in Bits

11111111  11111111  00000000  00000000

d.h. die ersten 16 Bits geben das Netzwerk an. Alle IPs mit 141.45.*.* stehen für Adressen im Netzwerk. Bei Anfragen von außen auf eine Adresse 141.45.*.* wird ins Netzwerk geroutet. Interne Adressierungen auf 141.45.*.* bleiben im Netzwerk. Wird versucht eine andere IP zu erreichen, so läuft das über das Gateway (Router). Das heißt, die Datenpakete werden über das physikalische Netz an das Gateway gesendet (zusammen mit weiteren Informationen, wie der gewünschten Ziel-IP-Adresse).

Früher (vor 1993) waren die einzelnen Byte-Blöcke der Netzmaske entweder 255 oder 0. Dabei wurden verschiedene Netzklassen definiert. Seit 1993 gibt es CIDR (Classless Inter-Domain Routing). Die Netzwerkmaske wird bei CIDR oft mit eine Suffix knapp beschrieben, für das obige Beispiel ist dies 141.45.0.12/16. Die 16 ist das Suffix, welches hier angibt, dass die ersten 16 Bits der Netzwerkmaske den Wert 1 haben. Der Rest (hinteren Bits) ist 0.

Hinweis: CIDR gibt es analog auch für IPv6.

Aufgabe

Machen Sie sich die CIDR Notation klar. Sehen Sie sich hierzu auch das Beispiel "10.10.1.32/27" an.

Aufgabe

Welche IPs wären für 141.50.45.12/20 im gleichen Netzwerk?

  • 141.50.33.21
  • 141.50.28.250
  • 141.50.51.32
  • 141.50.210.230
  • 141.50.46.83
  • 141.50.93.83
  • 141.50.4.34
  • 141.50.40.231
  • 141.51.40.231

Lösung:

Suffix /20 entspricht der Netzmaske:

11111111 11111111 1111|0000 00000000

Die 45 in der IP-Adesse entspricht 00101101:

xxxxxxxx xxxxxxxx 0010|1101 xxxxxxxx

Extremfälle im gleichen Netz:

0010|0000 = 32                
0010|1111 = 47   

d.h.:

- 141.50.33.21  ja
- 141.50.28.250 nein
- 141.50.51.32  nein
- 141.50.210.230 nein
- 141.50.46.83   ja 
- 141.50.93.83 nein
- 141.50.4.34  nein
- 141.50.40.231 ja
- 141.51.40.231 nein

Hinweis: Die Extremfälle werden auch benötigt für

  • 141.50.32.0 IP Netz-Adresse
  • 141.50.47.255 IP Broadcastadresse. Mit dieser IP werden Nachrichten an alle Rechner des Netzes gesendet.
In [6]:
bc << BOF
0*2^7 + 0*2^6 + 1*2^5 + 0*2^4 + 0*2^3 + 0*2^2 + 0*2^1 + 0*2^0
0*2^7 + 0*2^6 + 1*2^5 + 0*2^4 + 1*2^3 + 1*2^2 + 1*2^1 + 1*2^0
BOF
32
47

Zusammenfassung: Netzmaske, Netzadresse und Broadcastadresse

Netzmaske und CIDR-Suffix

Eine IPv4-Adresse zerfällt in einen Netz-Teil (vorne) und einen Host-Teil (hinten). Die Netzmaske (netmask) legt fest, welche Bits zum Netz gehören:

  • Netz-Bits sind in der Maske 1, Host-Bits sind 0.
  • Das CIDR-Suffix /n gibt die Anzahl der führenden 1-Bits der Netzmaske an, d.h. die Länge des Netz-Teils in Bit.

Beispiel: /24 entspricht

11111111 11111111 11111111 00000000  =  255.255.255.0

d.h. die ersten 24 Bit (3 Bytes) sind der Netz-Teil, die letzten 8 Bit der Host-Teil.

Zwei Adressen liegen im selben Netz, wenn ihr Netz-Teil übereinstimmt -- also wenn IP AND Netzmaske für beide denselben Wert (die Netzadresse) ergibt.

Netzadresse und Broadcastadresse

In jedem (Sub-)Netz sind zwei IP-Adressen fest reserviert und werden nicht an einzelne Rechner (Hosts) vergeben. Man erhält sie, indem man den Host-Teil der Adresse (die Bits, die in der Netzmaske 0 sind) auf lauter 0 bzw. lauter 1 setzt.

Netzadresse (network address)

  • Alle Host-Bits sind 0.
  • Sie ist die erste (kleinste) Adresse des Netzes.
  • Sie bezeichnet das Netz als Ganzes (nicht einen einzelnen Rechner) und wird z.B. in Routing-Tabellen als Bezeichner des Netzes verwendet.
  • Berechnung: bitweises UND (AND) von IP-Adresse und Netzmaske.

Broadcastadresse (broadcast address)

  • Alle Host-Bits sind 1.
  • Sie ist die letzte (größte) Adresse des Netzes.
  • Ein an diese Adresse gesendetes Paket erreicht alle Rechner des (Sub-)Netzes gleichzeitig (Rundsendung), ohne dass die einzelnen Empfängeradressen bekannt sein müssen.

Anzahl nutzbarer Host-Adressen

Da diese beiden Adressen reserviert sind, gilt bei $h$ Host-Bits:

$$ \text{nutzbare Hosts} = 2^{h} - 2 $$

Beispiel 141.50.45.12/20

20 Netz-Bits, also $h = 32 - 20 = 12$ Host-Bits:

Netzmaske:         255.255.240.0   (20 Einsen, dann 12 Nullen)
Netzadresse:       141.50.32.0     (alle 12 Host-Bits = 0)
Broadcastadresse:  141.50.47.255   (alle 12 Host-Bits = 1)
nutzbare Hosts:    2^12 - 2 = 4094

Das dritte Oktett zeigt das Prinzip in Bits (die ersten 4 Bit gehören zum Netz, die letzten 4 zum Host):

Netzmaske         3. Oktett:  1111|0000  = 240
Netzadresse       3. Oktett:  0010|0000  = 32
Broadcastadresse  3. Oktett:  0010|1111  = 47

Subnetting

Ein großes IP-Netz (z.B. ein altes Klasse-A-Netz wie 10.0.0.0/8 mit ca. 16 Mio. Adressen) ist kein einzelnes physikalisches Netz: So viele Rechner lassen sich nicht an ein physikalisches Medium (eine Broadcast-Domäne) hängen.

Deshalb wird das Netz intern in viele kleine Subnetze zerlegt, die jeweils einem physikalischen Segment (z.B. einem LAN) entsprechen. Dazu wird die Netzmaske verlängert, d.h. ein Teil der Host-Bits wird zu Subnetz-Bits:

10.0.0.0/8        offizielles Netz (nach außen sichtbar)
  |
  +-- 10.1.0.0/16        Standort A
  |     +-- 10.1.1.0/24      ein physikalisches LAN
  |     +-- 10.1.2.0/24      ein weiteres LAN
  +-- 10.2.0.0/16        Standort B
  +-- ...

Nach außen erscheint weiterhin nur ein Netz; die feinere Unterteilung ist nur intern sichtbar.

Routing innerhalb des Netzes:

  1. Ein Host prüft per Subnetzmaske, ob die Ziel-IP im eigenen Subnetz liegt. Wenn ja → direkte Zustellung im selben physikalischen Segment (über ARP/Ethernet).
  2. Wenn nein → das Paket geht an das Standardgateway (den lokalen Router).
  3. Die Router untereinander kennen die Subnetze über ein internes Routing-Protokoll (Interior Gateway Protocol, IGP), z.B. OSPF oder früher RIP, und leiten das Paket per Longest-Prefix-Match Hop für Hop bis zum Ziel-Subnetz weiter.

Zur Abgrenzung: Das Routing zwischen verschiedenen Netzen (Organisationen) übernimmt dagegen ein Exterior Gateway Protocol, heute BGP, das nur die aggregierten Netze (z.B. das /8) kennt.

Recherche-Aufgabe

Informieren Sie sich zu DHCP. Was ist das? Wozu dient es?

Webquellen:

Standardlehrbücher zu Computernetzwerken:

  • [Kurose] J. Kurose, K. Ross: Computernetzwerke, 6., aktualisierte Auflage, Pearson Studium 2014
  • Andrew S. Tanenbaum / Prof. David J. Wetherall: Computernetzwerke, 5., aktualisierte Auflage, Pearson Studium 2012