Kommunikationsnetze & deren Dienste
- Der Weg vom Client zum Server
- OSI- und TCP/IP-Modell
- Server, Client und Router im TCP/IP-Modell
- Protokolle
- Genauere Betrachtung der Header
- ICMP
- CSMA
- Routing
- ARP - Address Resolution Protocol
- DNS - Domain Name System
- DSL - Digital Subscriber Line
- Telefon
- Mobilfunk
Der Weg vom Client zum Server
OSI- und TCP/IP-Modell
OSI-Modell Merksatz: Alle deutschen Studenten trinken verschiedene Sorten Bier.
TCP/IP-Modell Merksatz: Andy Tanzt Nie Disco-Fox. (N = Netzwerk, D = Data Link)
Server, Client und Router im TCP/IP-Modell
Was auf der selben Schicht liegt, ist gegeneinander austauschbar (z.B. Webserver und Browser).
Die Transportschicht wählt die Anwendung aus, während die Internetschicht die Routingentscheidung trifft. Hier wird die entsprechende Netzwerkkarte ausgewählt.
Protokolle
Der Client baut zunächst ein Datenpaket aus verschiedenen Headern mit Hilfe der folgenden Protokolle zusammen:
HTTP
Als Sprache für den Webserver
TCP
mit Source-Port und Destination-Port. Die Portnummern werden bei Start des Gerätes vom Betriebssystem verteilt. Dabei sollte auf Port-Standards der IANA geachtet werden: HTTP verwendet bspw. oft den Port 80 (serverseitig).
IP
mit Source-IP-Adresse und Destination-IP-Adresse. Die Destination-IP-Adresse kann mit Hilfe DNS ermittelt werden.
Eth (Ethernet)
mit Source-MAC-Adresse und Destination-MAC-Adresse. Das Ziel in diesem Fall ist nur der nächste Router, denn das Ethernet-Protokoll bringt das Datenpaket lediglich einen Schritt weiter in Richtung Ziel.
Wird nun die Internetschicht des ersten Routers erreicht, werden Ethernet-Header und -Trailer abgeschnitten. Anschließend wird anhand der Informationen im IP-Header eine Routing-Entscheidung getroffen. Danach werden mit dem entsprechenden NIC ein neuer Ethernet-Header und -Trailer angehängt. Das Datenpaket nimmt den nächsten Teilschritt auf dem Weg in Richtung Ziel.
Beim Server angekommen werden die entsprechenden Header beim Durchlauf der Schichten von unten nach oben abgeschnitten, sodass beim Webserver nur noch der HTTP-Header ankommt. Für die Antwort werden IP-Adresse und Port des Clients zwischengespeichert.
Protokolle auf der gleichen Schicht sind gegeneinander austauschbar.
HTTPS -> sichere Verbindung durch verschlüsselten Header
TCP -> '3-Way-Handshake' SYN+ACK, zuverlässige Verbindung, Fehlermeldung bei Nichtzustellung
UDP -> direkt drauf los (Streaming)
Genauere Betrachtung der Header
Die Zusammensetzung der einzelnen Header finden sich in RFCs (Request for Comments)
- IPv4-Header
- TCP-Header
- UDP-Header
IPv4-Header
- 32 Bit lang
- Version (4 Bit)
- Protocol (8 Bit)
- Source Address (32 Bit)
- Destination Address (32 Bit)
'Time to live' im IPv4-Header
Durch eine falsche Routing-Entscheidung könnte eine Schleife entstehen. Durch die 'Time to live' wird bei jedem passierten Router der Zähler dieses Wertes um 1 reduziert. Erreicht der Zähler die 0, wird das Datenpaket vom Router verworfen, damit es nicht sinnlos im Netz verweilt.
TCP-Header
- Source-Port (16 Bit)
- Destination-Port (16 Bit)
- Verifizierung der Pakete durch Prüfsumme
UDP-Header
- Source-Port (16 Bit)
- Destination-Port (16 Bit)
- Beginnt wie TCP-Header
ICMP
→ Internet Control Message Protocol
- Informiert über verschiedene Fehler durch Austausch von Steuerungsnachrichten
- Destination Unreachable
- Source Quench (Quelle löschen)
- Parameter Problem
- Time Exceeded
- innerhalb der Daten des IP-Headers
CSMA
→ Carrier Sense Multiple Access
Das CSMA dient der Überwachung des Kabels bei mehrfachem Zugriff, um Kollisionen zu vermeiden.
Es gibt diese Technik in zwei Ausführungen: Für LAN (CD: Collision Detection) und für WLAN (CA: Collision Avoidance).
CSMA/CD
Ein HUB sendet ein Paket an alle angeschlossenen Geräte weiter. Die Empfänger prüfen die MAC-Adresse: Ist das Paket nicht für sie, wird es verworfen.
Problem:
Werden mehrere Pakete gleichzeitig versendet, kommt es zu einer Kollision, die Daten werden unbrauchbar.
Lösung:
Die Geräte hören, ob der Übertragungskanal frei ist, bevor sie senden. (→ Listen before Talk)
Wenn zwei Geräte gleichzeitig hören und der Kanal frei ist, beginnen sie zu senden und es kommt zu einer Kollision. Das falsche Signal kommt bei den Sendern an. Sie hören auf zu senden.
Nach einer Zufallszeit wird weiter gehört und gesendet.
CSMA/CA
Senden mehrere Geräte gleichzeitig, kommt es zu Interferenzen. Die Daten werden unbrauchbar. Um dies zu vermeiden soll auch hier gehört werden. Die Daten werden durch ein ACK bestätigt.
Dies läuft ähnlich ab wie bei LAN: Nach dem ACK wird eine Zeit gewartet und weiter gesendet.
S1 bekommt nichts von den Daten von S2 mit. Durch das ACK-Paket vom Access-Point weiß S1 aber, dass gesendet wird.
Deshalb wird zuerst ein Request to Send abgesendet. Ist der Kanal frei, antwortet der Access Point mit einem Clear to Send, das auch S2 mitbekommt. S2 weiß nun, dass bis zum nächsten ACK-Paket der Kanal belegt ist.
Nach dem ACK warten S1 und S2 eine vorgegebene Zeit, plus eine Zufallszeit, bevor sie eine RTS senden.
SIFS
- Short Interframe Space
- Damit keine andere Station dazwischen sendet
DIFS
- Distributed Coordination Function Interframe Space
- Längerer Sendeabstand zum letzten Frame
Die vom Frame selbst generierte Zufallszahl wird bis 0 runterzählt. Wenn 0 erreicht ist, wird gesendet.
Routing
Dort wo zwei Netze aufeinander treffen, befindet sich ein Router.
Router verbinden Netze.
Im Betriebssystem wird die Routing-Entscheidung getroffen:
- Ist das Ziel im eigenen Netz? → Direkt zustellen
- Wo ist die nächste Schnittstelle? → Standardgateway
Die Routingtabelle
Die Ziel-Adresse wird durch AND-Verknüpfungen Zeile für Zeile mit der Routingtabelle verglichen, um die Routing-Entscheidung zu treffen.
ARP - Address Resolution Protocol
Ist die Routing-Entscheidung getroffen, wird der Ethernet-Header zusammengestellt. Dazu werden Quell-MAC-Adresse und Ziel-MAC-Adresse benötigt. Die Ziel-MAC-Adresse wird mit ARP herausgefunden.
Dazu sendet der PC einen ARP-Broadcast an alle Geräte im gleichen Netzwerk. Dafür wird eine einheitliche MAC-Adresse verwendet, die binär nur aus 1en besteht.
Das passende Gerät sendet eine ARP-Response mit seiner MAC-Adresse zurück. Der PC kann den Ethernet-Header vervollständigen. Die MAC-Adresse wird für 20 min im ARP-Cache gespeichert, um Zeit und Datenverkehr beim Versenden von weiteren Datenpaketen an den gleichen Adressaten zu verringern.
DNS - Domain Name System
Mit DNS kann der Teil www.ibs-ol.de (Auch FQDN bzw. Hostname genannt) in die IP-Adresse des dahinter stehenden Servers umgewandelt werden. Dazu wird ein DNS-Server benötigt. Es gibt auch einen DNS-Cache.
DSL - Digital Subscriber Line
Einfluss der Kabeldämpfung
Je kleiner die Frequenz, desto größer ist der Einfluss der Kabeldämpfung (gerade im Uploadbereich). Je länger das Kupferkabel ("letzte Meile"), desto größer ist die Kabeldämpfung.
Telefon
POTS - Plain old Telephone (Gutes altes Telefon)
→ Nutzt die großen Frequenzen im DSL-Bereich
Puls-Code-Modulation
→ Sprache in digitale Informationen umwandeln
Früher beim analogen Telefon traf der Luftdruck aus der Sprache auf eine Membran, die ein elektrisches Signal erzeugte (elektrische Schwingungen). Dies wurde über eine exklusive Leitung übertragen.
Heute funktioniert das Mikrofon mit dem Luftdruck und der Membran noch gleich. Die elektrischen Signale werden bei ISDN etwa 8.000 mal pro Sekunde abgetastet und in Binärcode umgewandelt.
- Stufen definieren
- Abtastrate definieren (konstant)
- PAM-Stufen zeichnen
- Werte ablesen
- Bitfolge bilden (PCM-Signal)
Dieses Signal wird als Datenpaket übertragen. In der Realität wird hier NICHT-LINEAR gearbeitet:
- In der Mitte um die x-Achse wird sehr fein mit sehr kleinen Stufen gearbeitet. Nach außen hin werden die Stufen größer.
- Bessere Sprachqualität
Voice over IP (VoIP)
Voice over IP meint das Telefonieren über das Internet zwischen Telefonen aber auch zwischen PCs (z.B. Skype). Da es sich um eine Echtzeit-Interaktion handelt, sind die Qualitätsanforderungen (Sprachqualität, Geschwindigkeit) sehr hoch.
Protokolle
RTP
- Real Time Transport Protocol
- Kontinuierliche Übertragung audiovisueller Daten über ein IP-Netzwerk
- UDP aufsetzend, Zusammenarbeit mit RTCP
RTCP
- Real Time Control Protocol
- Quality of Service (QoS) durch Steuerungsnachrichten
- Identifikation der Teilnehmer
- Steuerung RTCP-Bandbreite
SIP
- Session Initiation Protocol
- Steuerung, Aufbau und Abbau der Kommunikationssitzung
- User Agent (Anwender)
- 1. A → B (UAA initiiert SIP Anforderung)
- 2. B → A (UAA bearbeitet und antwortet)
- SIP-Server
- 1. Registrar (Adressen der Benutzer)
- 2. Redirect (Anfragen und Mitteilung, wie bestimmte Endgeräte zu erreichen sind)
- 3. Proxy (Anforderungen entgegen nehmen und weiterleiten)
Ein Datenpaket für Telefonie sieht wie folgt aus:
Mobilfunk
- MSC
- Volldigitale Vermittlungsstelle. Schnittstelle zwischen Funknetz und Telefonfestnetz. Beinhaltet VLR.
- HLR
- beinhaltet Vertragsdaten
- VLR
- Kopie der Vertragsdaten lokal im MSC hinterlegt. (z.B. beim Einloggen bei einem Provider im Ausland)
- Speichert über welchen BTS ein Gerät verbunden ist.
- BTS
- Handy loggt sich beim BTS mit der besten Verbindungsqualität ein.
Wie läuft ein beispielhaftes Telefonat ab?
Handy A tippt eine Rufnummer ein und drückt auf den grünen Hörer. BTS (Mit dem Handy A aktuell kommuniziert) gibt Information an BSC (lediglich eine Verbindungskomponente), dieser an das MSC. Hier wird festgestellt, dass Handy B im gleichen VLR angemeldet und damit erreichbar ist. Es wird im VLR abgefragt mit welchem BTS Handy B verbunden ist. Damit wird der Anruf bzw. die Verbindung mit dem jeweiligen BTS bzw. Handy B hergestellt.