4. Communication Systems I Flashcards
Kommunikationssysteme
• Ein Kommunikationssystem ist eine Sammlung von:
- Hardware (Terminals, physische Netzwerk-Komponenten)
- Software (Betriebssysteme, Netzwerkprotokolle, Anwendungen)
- Übertragungsprotokolle, welche untereinander kompatibel sind und den Austausch von Informationen ermöglichen (Beispiel: zwischen Firmenseiten)
- Um die Komplexität der KS zu Verringern, sind Netzwerke in mehreren Schichten aufgebaut
- In allen Netzwerken bieten die Schichten Dienste für darüberliegende Schichten an (schirmen aber von den Details ab)
Funktionsweise eines Schichten-Modells
• Kommunikation innerhalb einer Schicht benutzt das entsprechende Protokoll
- Ein Kommunikationsprotokoll ist ein System von Regeln, die es zwei oder mehr Einheiten eines Kommunikationssystems erlauben, Informationen zu übertragen, unabhängig der Variation einer physischen Größe
- Das Protokoll besteht aus einer Menge von Regeln und definiert die Syntax, Semantik und Synchronisation der Kommunikation und mögliche Fehlerbehebungsmethoden
- Es gibt keine direkte Kommunikation von Schicht x von einem Host zur Schicht x von einem anderen Host
- Jede Schicht sendet Daten und Kontrollnachrichten zu der darunterlegenden Schicht, bis die niedrigste Schicht erreicht wird
- Unterhalb der Schicht 1 befindet sich das physische Übertragungsmedium, das für die Kommunikation verwendet wird
OSI Referenzmodell
OSI Reference Model - OSI steht für Open System Interconnection; Offene Systeme = offen für Kommunikation mit anderen Systemen
• Aufbau: Besteht aus 7 Schichten
- Schicht 1 - 4 sind transportorientierte Schichten, da sie sich auf den Transport von Bits spezialisieren
- Schichten 5 - 7 sind anwendungsorientierte Schichten, da sie die Nutzung von Datentransport-Anwendungen unterstützen
• Entstehung der 7 Schichten:
- Wenn ein neues Level der Abstraktion notwendig ist, dann wird eine neue Schicht eingeführt
- Jede Schicht soll mit einer klar definierten Aufgabe oder Funktion verbunden sein
- Bei der Auswahl der relevanten Funktionen sollten Protokolle beachtet werden, die zuvor auf internationaler Ebene standardisiert wurden
- Grenzen zwischen Schichten sollten so gewählt werden, dass der Informationsfluss durch die Schnittstellen minimiert wird
- Die Anzahl der Layer sollte so groß sein, dass verschiedene Funktionen nicht innerhalb einer Ebene gruppiert werden, aber dennoch so klein wie möglich (Übersichtlichkeit)
OSI Referenzmodell Layers
- Physical
- Data Link
- Network
- Transport
- Session
- Presentation
- Application
Schicht 1: Physical Layer
- Unterste Schicht des OSI Modells
- Es definiert mechanische, elektrische und zeitbezogene Spezifikationen für Schnittstellen vom Netzwerk
- Übertragung von Bits über einen Kommunikationskanal
- Typische übertragungsrelevante Aufgaben: Definition und Zuordnung von Anschlüssen und Pins, Verbindungsaufbau und -beendigung
Schicht 5: Session Layer
- Ermöglicht dem Benutzer Sessions von verschiedenen Computern zu starten
- Datenaustausch ist strukturiert
- Aufgaben:
- Dialogsteuerung: Verwalten, welcher Nutzer Daten übertragen darf und wann
- Token-Verwaltung: Verhindert, dass zwei kritische Vorgänge gleichzeitig ausgeführt werden
- Synchronisation: Wiederherstellungspunkte (Backups) werden erstellt; erlauben die Fortsetzung der Übertragung nach einer Unterbrechung
Schicht 6: Presentation Layer
- Beschäftigt sich mit Syntax und Semantik der zu übertragenden Informationen
- Damit Computer auch kommunizieren können, wenn Daten verschiedenartig dargestellt werden, müssen diese Daten zumindest abstrakt definiert werden
- Schicht verwaltet diese abstrakten Datentypen und ermöglicht deren Verwendung für den Datenaustausch auf der Anwendungschicht
- Aufgaben: Datenkonvertierung - Datenkomprimierung - Datenverschlüsselung
Schicht 7: Application Layer
- Alle Schichten unterhalb der Anwendungsschicht dienen dem sicheren Transport von Daten, sie führen jedoch keine speziellen Aufgaben für den Benutzer aus
- Layer 7 enthält eine Vielzahl von Protokollen, die Benutzer häufig für ihre Anwendungen benötigen
- Beispiele: DNS - E-Mail - HTTP - FTP
Application Layer: Beispiel DNS
- Einführung einer verteilten Datenbank, dem „Domain Name System“ (DNS)
- Befindet sich auf der Anwendungsschicht
- Übersetzt Namen in Adressen und umgekehrt, oder stellt Informationen zur IP-Adresse eines Mailservers für eine Domain zur Verfügung
- Es gibt 3 Arten:
- Lokal: DNS Server in eigener Organisation
- Root: Root-DNS einer Domain
- Authoritative: Autorisierte Server sind für bestimmte Domainnamen zuständig (siehe Vorlesung)
Schicht 2: Data Link Layer
- Enthält Algorithmen für eine effiziente und zuverlässige Kommunikation zwischen benachbarten kommunizierenden Parteien
- Hauptziel der Data Link Schicht ist die flüssige Übertragung von Bits von einer Quelle zum Ziel, (d.h dem Gegenstück, was durch die Netzwerkschicht oben (Schicht 3) initiiert wurde)
- Stellt Dienste für die Netzwerkschicht bereit, um eine reibungslose Übertragung zu ermöglichen
- Aufgaben:
- Fehlererkennung und Behebung: Genug redundante Daten senden, dass der Empfänger unvollständige Nachrichten als solche identifizieren und reparieren kann
- Verwaltung des gleichzeitigen Zugriffs: Vermeidung von Kollisionen/Überschneidungen
- Ablaufsteuerung (Flow Control): Stellt sicher, dass der Empfänger nur so viele Nachrichten erhält, wie er verarbeiten kann. Dies kann gewährleistet werden durch
a) Segmentierung; Zuordnung der Daten zu kleinen Pakten, die der Reihe nach weitergeleitet werden sollen
b) Bestätigung; Jedes Paket, das ordnungsgemäß empfangen wurde, wird von der kommunizieren Partei, die es empfängt, bestätigt
Schicht 3: Network Layer
- Sorgt für die Übertragung von Paketen von der Quelle bis zum Ziel
- Kann auch ein Durchlaufen von Netzwerksegmenten auf dem Weg zwischen zwei Routern umfassen
- Internet Protocol (IP) ist das Protokoll, was in der Netzwerkschicht verwendet wird
- Hauptaufgabe der Schicht ist das Routing Routing: Prozess des Auswählens von Pfaden und der Weiterleitung von Paketen, während sicher gestellt wird, dass der bestmögliche Pfad zum Zielnetzwerk verwendet wird
Bestmöglich meint: - Niedrige Transportkosten - Schnellster Transport - Fehlerminimaler Weg - Optimierte Netzwerkauslastung
- Ein Pfad muss sorgfältig ausgewählt sein, um Überlastung des Netzwerks zu vermeiden
• Dafür gibt es verschiedene Algorithmen - Bellman Gleichung (Principle of Optimality) - Dijkstra Algorithm - Ford Algorithm
Dijkstra Algorithmus
- 1959 von Edsger Wybe Dijkstra
- Wird verwendet, um den kürzesten Weg zwischen zwei Eckpunkte in einem Graph zu finden
- Für dieses Konzept wird ein Graph erstellt, in dem jeder Router durch einen Eckpunkt und jede Übertragungslinie durch eine Kante repräsentiert wird
- Der Algorithmus berechnet mit Hilfe dieses Graphen den kürzesten Pfad zwischen einem ausgewählten Paar von (zwei) Routern
- Die Etiketten der Kanten können verschiedene Werte annehmen, z.B.: Abstand, Bandbreite, durchschnittlicher Verkehr, Übertragungskosten, durchschnittliche Warteschlangenlänge, durchschnittliche gemessene Übertragungszeit oder andere Faktoren
- Jede gewichtete Kante wirkt sich auf den kürzesten Weg aus
Internet Protocol (IP) - Aufgaben, IP Addressing
- Aufgabe: Netzwerkübergreifender Transport von Datenpaketen von einem Sender zu einem Empfänger
- Typischerweise werden mehrere Netzwerke verwendet
- Übertragung ist: Paketorientiert - Verbindungslos - Nicht garantiert
- Ein Paket ist ein Datenblock zusammen mit den notwendigen Informationen, um ihn dem Empfänger zu übermitten
- Ein Datagram ist ein Paketformat, das durch eine IP definiert ist. Es bestimmt, wie Bits angeordnet werden, damit das Paket als IP-Paket erkannt wird
- Unteraufgaben von IP:
- Weiterleitung von Daten von der Transportschicht (Schicht 4) zur Netzwerkschicht (Schicht 3)
- Routing von Datagrammen durch das Netzwerk
- Aufteilen und Zusammensetzen von Datagrammen
• IP Addressing:
- IP-Adressen sind einzigartig, keine 2 Computer können zur gleichen Zeit dieselbe IP nutzen
- Jeder Host und Router hat eine IP-Adresse
• Es gibt verschiedene „Arten“ der IP:
- Neuste IPv6 - Besteht aus 128 Bits (alte 32 Bits)
- 8 Gruppen mit jeweils 4 Zeichen - Besteht aus Zahlen und Buchstaben von A-F
Schicht 4: Transport Layer
- Kern der Protokoll-Hierarchie
- “Schnittstelle” zwischen den darunter liegenden transportorientierten Schichten und den darüber liegenden anwendungsorientierten Schichten
- Sorgt für den verlässlichen Datentransport von der Quelle bis zum Ziel, unabhängig von physischen Netzwerken (logical end-to-end connection)
- Aufgaben:
- Set-Up von Ende-zu-Ende Verbindungen
- Erhalten von Daten aus Session Layer (Layer 5), Aufteilen in kleinere Segmente, Weitergeben der Segmente zum Network Layer (Layer 3), Sicherstellen, dass die Daten angekommen sind
• Dienste, die den höheren Schichten zur Verfügung gestellt werden:
- Einrichten, Koordinieren und Beenden von Verbindungen (3-way-handshake)
- Flowkontrolle und Puffern (Buffering)
• Wichtige Protokolle: Übertragungssteuerungsprotokoll (TCP) - Benutzerdatenprotokoll (UDP)
Transmission Control Protocol
Transmission Control Protocol / Übertragungssteuerungsprotokolle (TCP)
- Wurde entwickelt, um einen zuverlässigen und verbindungsorientierten Transport von Byte Streams durch unzuverlässige Netzwerke zu ermöglichen
- TCP ist in RFC 789 definiert
- Eigenschaften:
- Zuverlässig
- Datenübertragung wird wiederholt, bis die Gegenseite den Empfang bestätigt
- Verbindungsorientiert
- Vor dem Datentransfer (beim Aufbau einer TCP Verbindung) wird per 3-Way-Handshake eine logische Ende-zu-Ende Verbindung zwischen Sender und Empfänger hergestellt
- Ermöglich das Senden von Informationen direkt an Anwendungen
• 3-Way-Handshake am Bsp. Terminanfrage: 1. Anfrage 2. Bestätigung der Anfrage 3. Bestätigung des Erhaltes der Bestätigung