Rechnerkommunikation - Exam
Aufgabe 1)
Grundlegende Kommunikationsmodelle beschreiben den Austausch von Informationen zwischen Sender und Empfänger in Rechnernetzen.
- OSI-Modell - 7 Schichten: Physikalisch, Sicherung, Vermittlung, Transport, Sitzung, Darstellung, Anwendung
- TCP/IP-Modell - 4 Schichten: Netzwerkzugriff, Internet, Transport, Anwendung
- Sender und Empfänger nutzen Protokolle zur Kommunikation
- Wichtige Konzepte: Datenkapselung, Schnittstellen, Dienstzugriffspunkte
a)
Vergleiche das OSI-Modell und das TCP/IP-Modell hinsichtlich ihrer Schichten. Erläutere die Unterschiede und Gemeinsamkeiten, insbesondere im Hinblick auf die Schichten und ihre Funktionen. Gehe dabei auf mindestens drei Schichten genauer ein und beschreibe ihre Aufgaben in jedem Modell.
Lösung:
Um das OSI-Modell und das TCP/IP-Modell zu vergleichen, sollten wir zunächst ihre Schichten und deren Funktionen betrachten.
- OSI-Modell: 7 Schichten - Physikalisch, Sicherung, Vermittlung, Transport, Sitzung, Darstellung, Anwendung
- TCP/IP-Modell: 4 Schichten - Netzwerkzugriff, Internet, Transport, Anwendung
Nun gehen wir auf mindestens drei Schichten genauer ein und erläutern ihre Aufgaben in beiden Modellen.
- 1. Physikalische Schicht (OSI) / Netzwerkzugriffsschicht (TCP/IP):
- OSI: Die physikalische Schicht ist die unterste Schicht und befasst sich mit dem Übertragen von Bits über eine physikalische Verbindung. Dazu gehört alles, was mit den physikalischen Aspekten der Übertragung zu tun hat, wie z.B. Kabel, Stecker, elektrische Signale usw.
- TCP/IP: Im TCP/IP-Modell wird die physikalische Schicht und die Sicherungsschicht des OSI-Modells zur Netzwerkzugriffsschicht zusammengefasst. Diese Schicht umfasst alles, was notwendig ist, um eine physikalische Verbindung zum Netzwerk herzustellen und die Datenübertragung auf dem Medium zu ermöglichen.
- 2. Transportschicht:
-
- OSI: Die Transportschicht (Layer 4) stellt eine zuverlässige Datenübertragung zwischen den Endgeräten sicher. Wichtige Protokolle auf dieser Schicht sind TCP (Transmission Control Protocol) und UDP (User Datagram Protocol). Ihre Aufgaben umfassen unter anderem Fehlerkorrektur, Flusskontrolle und Datenstromsteuerung.
- TCP/IP: Auch im TCP/IP-Modell gibt es eine Transportschicht mit ähnlichen Funktionen. Diese Schicht sorgt für die Zuverlässigkeit und Integrität der Datenübertragung zwischen Anwendungen. Die Hauptprotokolle sind ebenfalls TCP und UDP, die dieselben Aufgaben erfüllen wie im OSI-Modell.
- 3. Anwendungsschicht:
- OSI: Die Anwendungsschicht (Layer 7) ist die oberste Schicht des OSI-Modells. Sie stellt Schnittstellen für Anwendungen bereit und ermöglicht den direkten Zugriff auf Netzwerkdienste. Beispiele für Protokolle auf dieser Schicht sind HTTP, FTP, SMTP und DNS.
- TCP/IP: Im TCP/IP-Modell umfasst die Anwendungsschicht alle Protokolle und Dienste, die Endbenutzern direkte Netzwerkfunktionalitäten bereitstellen. Auch hier finden sich Protokolle wie HTTP, FTP, SMTP und DNS.
Gemeinsamkeiten:
- Beide Modelle haben eine Anwendungsschicht, die für die direkte Interaktion mit Anwendungen zuständig ist.
- In beiden Modellen gibt es eine Transportschicht, die die zuverlässige Datenübertragung zwischen Hosts sicherstellt.
Unterschiede:
- Das OSI-Modell hat eine detailliertere und differenziertere Struktur mit sieben Schichten, während das TCP/IP-Modell mit nur vier Schichten auskommt.
- Im TCP/IP-Modell sind die physische und die Sicherungsschicht des OSI-Modells zur Netzwerkzugriffsschicht kombiniert. Ebenso sind die Schichten Sitzung und Darstellung des OSI-Modells in der Anwendungsschicht des TCP/IP-Modells enthalten.
b)
In einem Netzwerk kommunizieren ein Client und ein Server gemäß dem TCP/IP-Modell. Der Client sendet eine HTTP-Anfrage, die vom Server beantwortet wird. Beschreibe detailliert den Prozess der Datenkapselung und Entkapselung für diese Kommunikation. Erkläre, welche Informationen in den Datenpaketen auf den verschiedenen Schichten hinzugefügt werden und welche Schritte erforderlich sind, um die ursprüngliche HTTP-Anfrage am Ziel zu erhalten.
Lösung:
Wenn ein Client eine HTTP-Anfrage an einen Server über das TCP/IP-Modell sendet, durchläuft die Anfrage mehrere Schichten der Netzwerkprotokolle, wobei jede Schicht spezifische Informationen hinzufügt. Dieser Prozess wird als Datenkapselung bezeichnet. Wenn der Server die Anfrage empfängt, entfernt er diese zusätzlichen Informationen in einem Prozess namens Entkapselung. Lass uns diesen Vorgang Schritt für Schritt durchgehen:
1. Anwendungsschicht:
- Der Client erstellt eine HTTP-Anfrage (z.B. eine GET-Anfrage), die die URL der Zielressource enthält.
- Diese Anfrage wird in ein HTTP-Nachrichtenformat eingebettet.
2. Transportschicht:
- Die Transportschicht (TCP) nimmt die HTTP-Nachricht und kapselt sie in ein TCP-Segment ein.
- Die TCP-Schicht fügt Header-Informationen hinzu, wie z.B. Quell- und Zielportnummern, Sequenznummern, Prüfsummen zur Fehlererkennung und andere Kontrollinformationen.
3. Internetschicht:
- Das TCP-Segment wird an die Internetschicht übergeben, wo es in ein IP-Datenpaket (oder IP-Datagramm) eingebettet wird.
- Die IP-Schicht fügt einen IP-Header hinzu, der unter anderem die Quell- und Ziel-IP-Adressen, die Version des IP-Protokolls und die Lebensdauer (TTL) enthält.
4. Netzwerkzugriffsschicht:
- Das IP-Datenpaket wird an die Netzwerkzugriffsschicht übergeben (auch bekannt als Link-Schicht oder Data-Link-Schicht).
- Diese Schicht kapselt das IP-Datenpaket in einem Ethernet-Frame (oder einem anderen geeigneten Frame für andere physikalische Netze).
- Der Ethernet-Frame enthält Header- und Trailer-Informationen, wie z.B. MAC-Adressen der Quell- und Zielgeräte, und eine Prüfsumme für Fehlererkennung.
Übertragung durch das Netzwerk:
- Der Ethernet-Frame wird über das physische Netzwerkmedium zu dem Ziel gesendet (hier: der Server).
5. Entkapselung bei Ankunft:
- Der Server empfängt den Ethernet-Frame und beginnt mit der Entkapselung, indem er zunächst die Informationen der Netzwerkzugriffsschicht entfernt.
- Das entkapselte IP-Datenpaket wird an die Internetschicht übergeben, wo der IP-Header geprüft und entfernt wird. Dabei wird die IP-Adresse des Servers erkannt und validiert.
- Das verbleibende TCP-Segment wird an die Transportschicht übergeben, wo die TCP-Header-Informationen entfernt und die Integrität der Daten überprüft werden. Der Server identifiziert die Anwendung anhand der Zielportnummer.
- Die verbleibende HTTP-Nachricht wird schließlich an die Anwendungsschicht übergeben, wo sie durch den Webserver behandelt und beantwortet wird.
Nachricht an den Client zurücksenden:
- Der Server erstellt eine HTTP-Antwort (z.B. eine 200 OK Antwort), die denselben Prozess der Kapselung durchläuft, jedoch in umgekehrter Reihenfolge bis zum Client.
- Der Client erhält die Antwort und entkapselt diese in umgekehrter Reihenfolge, ähnlich wie beschrieben, um die ursprüngliche HTTP-Antwort zu erhalten.
Dies beschreibt den detaillierten Prozess der Datenkapselung und Entkapselung gemäß dem TCP/IP-Modell während der Kommunikation zwischen einem Client und einem Server.
c)
Ein Unternehmen plant die Implementierung eines neuen Netzwerkdienstes. Entwerfe ein Konzept, wie dieser Dienst innerhalb des OSI-Modells realisiert werden könnte. Erkläre, welche Schichten relevant sind und wie die Schnittstellen und Dienstzugriffspunkte zwischen den Schichten definiert und genutzt werden sollen. Achte darauf, sowohl die logische Struktur als auch praktische Aspekte der Umsetzung zu erläutern.
Lösung:
Um ein Konzept für die Implementierung eines neuen Netzwerkdienstes innerhalb des OSI-Modells zu entwerfen, müssen wir die relevanten Schichten identifizieren und die Schnittstellen sowie Dienstzugriffspunkte detailliert beschreiben. Dabei sollte sowohl die logische Struktur als auch die praktischen Aspekte der Umsetzung berücksichtigt werden.
Schritt 1: Definition des Dienstes
Angenommen, das Unternehmen plant, einen sicheren Dateiübertragungsdienst bereitzustellen, der über das Internet zugänglich ist. In diesem Fall sind Sicherheitsaspekte, Zuverlässigkeit, Datenintegrität und Benutzerfreundlichkeit wichtige Faktoren.
Schritt 2: Relevante Schichten und ihre Funktionen
- 1. Anwendungsschicht: Diese Schicht stellt die Schnittstelle zwischen den Anwendungen und dem Netzwerk bereit. Für unseren Dateiübertragungsdienst könnte ein Protokoll wie SFTP (SSH File Transfer Protocol) verwendet werden. Hier werden die Benutzeranfragen verarbeitet und die Dateien zur Übertragung vorbereitet.
- 2. Darstellungsschicht: Diese Schicht übernimmt die Datenformatierung, Verschlüsselung und ggf. Komprimierung. Sie sorgt dafür, dass die Daten in einem standardisierten Format übertragen werden. Im Falle von SFTP werden die Daten verschlüsselt, um die Sicherheit während der Übertragung zu gewährleisten.
- 3. Sitzungsschicht: Diese Schicht verwaltet die Sitzungen zwischen den Endpunkten (Client und Server). Sie stellt sicher, dass die Datentransfersitzung korrekt initiiert, aufrechterhalten und beendet wird. Dies ist wichtig für Wiederverbindungen und Sitzungsverwaltungen bei Unterbrechungen.
- 4. Transportschicht: Diese Schicht stellt die zuverlässige Übertragung der Daten zwischen den Computern sicher. Bei SFTP wird TCP verwendet, das eine zuverlässige Datenübertragung mit Fehlerkorrektur, Flusskontrolle und Datenstromsteuerung gewährleistet.
- 5. Vermittlungsschicht: Diese Schicht ist für die Wegwahl (Routing) und die Zustellung der Datenpakete zwischen den Netzwerken verantwortlich. Sie verwendet IP-Adressen, um die Datenpakete auf dem effizientesten Weg durch das Netzwerk zu leiten.
- 6. Sicherungsschicht: Diese Schicht sorgt für die fehlerfreie Übertragung der Daten auf dem physischen Medium und die physische Adressierung. Sie nutzt MAC-Adressen, um sicherzustellen, dass die Daten an die richtigen physikalischen Geräte gesendet werden.
- 7. Physikalische Schicht: Diese Schicht befasst sich mit der Übertragung der rohen Bitströme über das physische Medium (z.B. Kabel, Glasfaser, Funkwellen). Sie stellt sicher, dass die Bits korrekt gesendet und empfangen werden.
Schritt 3: Definition der Schnittstellen und Dienstzugriffspunkte
Schnittstellen und Dienstzugriffspunkte (SAPs) ermöglichen die Kommunikation zwischen den Schichten. Jede Schicht stellt Dienste für die darüber liegende Schicht bereit und nutzt die Dienste der darunter liegenden Schicht. Hier sind einige Beispiele, wie dies realisiert werden kann:
- Anwendung zu Darstellung: Die Schnittstelle zwischen der Anwendungsschicht und der Darstellungsschicht definiert die APIs für die Formatierung und Verschlüsselung der Daten.
- Darstellung zu Sitzung: Die Darstellungsschicht bietet verschlüsselte und formatierte Daten an die Sitzungsschicht, die eine Sitzung initiiert und verwaltet.
- Sitzung zu Transport: Die Sitzungsschicht übergibt die Sitzungsdaten an die Transportschicht, die zuverlässige Übertragung und Fehlerkorrektur übernimmt.
- Transport zu Vermittlung: Die Transportschicht sendet die segmentierten Daten an die Vermittlungsschicht, die das Routing der Daten übernimmt.
- Vermittlung zu Sicherung: Die Vermittlungsschicht übergibt die IP-Datenpakete an die Sicherungsschicht, die für die Sicherstellung der fehlerfreien Übertragung zwischen den physikalischen Adressen verantwortlich ist.
- Sicherung zu Physik: Die Sicherungsschicht übermittelt die Frames an die physikalische Schicht, die die eigentliche Übertragung der Bits über das physische Medium durchführt.
Schritt 4: Praktische Umsetzung
- Implementierung der Anwendung: Entwicklung einer Frontend- und Backend-Anwendung, die die Dateiübertragungsanforderungen des Benutzers verarbeitet und an die Darstellungsschicht übergibt.
- Sicherheitsmaßnahmen: Implementierung von Verschlüsselung und Datenformatierung in der Darstellungsschicht zur Sicherstellung von Datensicherheit und Integrität.
- Sitzungsmanagement: Implementierung von Mechanismen für die Sitzungsverfolgung, Wiederverbindung und Sitzungsablauf in der Sitzungsschicht.
- Datenübertragung: Konfiguration von TCP/IP zur zuverlässigen Übertragung und Fehlererkennung auf der Transportschicht.
- Physische Infrastruktur: Auswahl und Implementierung geeigneter physischer Netzwerkhardware (Router, Switches, Kabel usw.) zur Implementierung der unteren Schichten des Modells.
Durch die Kombination dieser Schritte und die Berücksichtigung der relevanten Schichten des OSI-Modells kann das Unternehmen eine robuste, sichere und effiziente Lösung für den neuen Netzwerkdienst implementieren.
Aufgabe 2)
- Fehlererkennung: Detektion von Übertragungsfehlern (z.B. Paritätsbit, CRC, Checksummen)
- Fehlerkorrektur: Korrektur erkannter Fehler (z.B. Hamming-Code, Reed-Solomon-Code)
- Paritätsbit: Ein zusätzliches Bit zur Fehlererkennung
- CRC: Zyklische Redundanzprüfung, nutzt Polynomdivision
- Checksummen: Summierung der Daten zur einfache Fehlerprüfung
- Hamming-Code: Fehlerkorrektur durch zusätzliche Prüf-Bits
- Reed-Solomon-Code: Korrektur mehrerer Fehler, besonders in Speichermedien und Kommunikation
a)
1. Paritätsbit und Fehlererkennung: Gegeben ist ein Datenwort von 7 Bits: 1011101.
- a) Berechne das Paritätsbit für gerade Parität und ergänze das Datenwort.
- b) Wenn das Paritätsbit im vorherigen Datenwort inkorrekt ist (ersetze das Paritätsbit mit 0), wie würdest Du das erkennen?
Lösung:
1. Paritätsbit und Fehlererkennung: Gegeben ist ein Datenwort von 7 Bits: 1011101.
- a) Berechne das Paritätsbit für gerade Parität und ergänze das Datenwort.
Um das Paritätsbit für gerade Parität (auch bekannt als gerade Paritätsprüfung) zu berechnen, folge diesen Schritten:
- Zähle die Anzahl der Einsen im Datenwort. Für unser Datenwort 1011101 gibt es fünf Einsen.
- Da die Anzahl der Einsen ungerade ist (es gibt fünf Einsen), muss das Paritätsbit gesetzt werden, um die Anzahl der Einsen insgesamt gerade zu machen. In diesem Fall fügen wir eine 1 hinzu.
- Das neue Datenwort mit gerade Parität ist somit: 1011101 1 (das Paritätsbit ist die letzte Stelle).
- b) Wenn das Paritätsbit im vorherigen Datenwort inkorrekt ist (ersetze das Paritätsbit mit 0), wie würdest Du das erkennen?
Um zu prüfen, ob das Paritätsbit korrekt ist, folge diesen Schritten:
- Ersetze das Paritätsbit mit 0: Das modifizierte Datenwort wird somit: 10111010
- Zähle die Anzahl der Einsen im modifizierten Datenwort. Für 10111010 gibt es fünf Einsen.
- Da das Paritätsbit für gerade Parität sorgen soll, aber die Anzahl der Einsen (fünf) ungerade ist, schlussfolgern wir, dass das Paritätsbit inkorrekt ist.
Wenn der ursprüngliche Datenstrom also
1011101 0 ist und das Paritätsbit wirklich 0 gesetzt wurde, aber die Anzahl der Einsen ist ungerade, wissen wir, dass ein Fehler aufgetreten ist.Zusammengefasst:
- Das korrekte Datenwort für gerade Parität ist: 1011101 1
- Ein fehlerhaftes Datenwort, bei dem das Paritätsbit falsch auf 0 gesetzt wurde, würde lauten: 1011101 0, und würde durch die Zählung der Einsen detektiert werden (ungerade Anzahl).
b)
2. Zyklische Redundanzprüfung (CRC): Gegeben ist das Datenwort 11010111 und das Generator-Polynom 1011.
- a) Berechne die CRC-Prüfsumme für das gegebene Datenwort.
- b) Wie würdest Du das Datenwort mit der CRC-Prüfsumme zur Übertragung senden?
Lösung:
2. Zyklische Redundanzprüfung (CRC): Gegeben ist das Datenwort 11010111 und das Generator-Polynom 1011.
- a) Berechne die CRC-Prüfsumme für das gegebene Datenwort.
Um die CRC-Prüfsumme zu berechnen, folge diesen Schritten:
- Erweitere das Datenwort um drei Nullen. Das entspricht der Anzahl der Bits des Generator-Polynoms minus eins. Das erweiterte Datenwort lautet: 11010111000
- Führe die Polynomdivision mit dem Generator-Polynom 1011 durch.
1 1 0 1 0 1 1 0 0 0 (Datenwort + Anhängsel)1011 -------- 0100 (1. Schritt der Division, 1101 XOR 1011 = 0100) 1011 ------ 0011 0 (2. Schritt, 01001 XOR 1011 (nach Shiften um 1 Position)) 1011 ------ 0000 11 (3. Schritt, 00110 XOR 1011 (nach Shiften um 1 Position)) 1011 ------ 00000 00 (4. Schritt, 00011 XOR 1011 (nach Shiften um 2 Positionen))
- Das Ergebnis der Polynomdivision ist der Rest. Der Rest lautet: 011
- Daher ist die CRC-Prüfsumme für das Datenwort 11010111: 011
- b) Wie würdest Du das Datenwort mit der CRC-Prüfsumme zur Übertragung senden?
Um das Datenwort mit der CRC-Prüfsumme zu übertragen, hänge die CRC-Prüfsumme an das ursprüngliche Datenwort an. Das erweiterte Datenwort zur Übertragung lautet daher:
- 11010111 011 (ursprüngliches Datenwort + CRC-Prüfsumme)
c)
3. Hamming-Code: Angenommen, Du möchtest das 4-Bit-Datenwort 1001 mit dem Hamming-Code (7,4) verschlüsseln.
- a) Bestimme die Platzierung der Prüf-Bits im 7-Bit-Codewort.
- b) Berechne die Werte der Prüf-Bits und gebe das vollständige Hamming-Codewort an.
- c) Wenn das empfangene Codewort fehlerhaft ist (bitte tausche das 5. Bit aus, um einen Fehler zu simulieren), wie würdest Du den Fehler erkennen und korrigieren?
Lösung:
3. Hamming-Code: Angenommen, Du möchtest das 4-Bit-Datenwort 1001 mit dem Hamming-Code (7,4) verschlüsseln.
- a) Bestimme die Platzierung der Prüf-Bits im 7-Bit-Codewort.
Für den Hamming-Code (7,4) verwenden wir 4 Datenbits und 3 Prüf-Bits. Diese Prüf-Bits werden an den Positionen platziert, die Potenzen von 2 sind (1, 2, und 4). Das 7-Bit-Codewort wird daher in folgender Reihenfolge initialisiert:Position 1: Prüf-Bit P1Position 2: Prüf-Bit P2Position 3: Datenbit D1 (wert 1)Position 4: Prüf-Bit P4Position 5: Datenbit D2 (wert 0)Position 6: Datenbit D3 (wert 0)Position 7: Datenbit D4 (wert 1)Somit wird das initialisierte codewort (ohne berechnete Prüf-Bits) wie folgt aussehen:
P1 P2 1 P4 0 0 1
- b) Berechne die Werte der Prüf-Bits und gebe das vollständige Hamming-Codewort an.
Die Werte der Prüf-Bits werden bestimmt, indem sie so gesetzt werden, dass die Parität aller Bits, die an den jeweiligen Prüf-Bits hängen, korrekt ist.
- P1 (Position 1) überprüft die Bits (1. Position, 3. Position, 5. Position, 7. Position):
P1 1 0 1
Für gerade Parität wird: P1 = 0, da die Summe der Einsen (1+0+1=2) eine gerade Zahl ist. - P2 (Position 2) überprüft die Bits (2. Position, 3. Position, 6. Position, 7. Position):
P2 1 0 1
Für gerade Parität wird: P2 = 1, da die Summe der Einsen (1+0+1=2) eine gerade Zahl ist. P2 muss Eins sein, um die Parität zu wahren. - P4 (Position 4) überprüft die Bits (4. Position, 5. Position, 6. Position, 7. Position):
P4 0 0 1
Für gerade Parität wird: P4 = 1, da die Summe der Einsen (0+0+1=1) ungerade ist.
Das vollständige Hamming-Codewort ist somit:
0111001
- c) Wenn das empfangene Codewort fehlerhaft ist (bitte tausche das 5. Bit aus, um einen Fehler zu simulieren), wie würdest Du den Fehler erkennen und korrigieren?
Angenommen, das 5. Bit wurde ausgetauscht. Das empfangene fehlerhafte Codewort sieht nun so aus (bitte tausche 0 durch 1 bei der 5. Position):
0111101
- Ermittle die Prüf-Bits und überprüfe die Parität:
- P1 (Position 1) überprüft die Bits (1. Position, 3. Position, 5. Position, 7. Position):
0 1 1 1
Die Summe der Einsen ergibt (1+1+1=3), daher stimmt die Parität nicht. P1 = falsch - P2 (Position 2) überprüft die Bits (2. Position, 3. Position, 6. Position, 7. Position):
1 1 0 1
Die Summe der Einsen ergibt (1+1+0+1=3), daher stimmt die Parität nicht. P2 = falsch - P4 (Position 4) überprüft die Bits (4. Position, 5. Position, 6. Position, 7. Position):
1 1 0 1
Die Summe der Einsen ergibt (1+1+0+1=3), daher stimmt die Parität nicht. P4 = falsch
Die ermittelte Fehlerposition wäre (P4P2P1): 111 was `7` ist.
- An der 7. Position (letzte Position) befindet sich der Fehler.
- Ändere das 7. Bit von 1 zu 0, um den Fehler zu korrigieren. Das korrekte Codewort sollte nun 0111001 sein, wie ursprünglich enkodiert.
Zusammengefasst :
- Das Platzieren der Prüf-Bits erfolgt in die Positionen 1, 2 und 4.
- Die vollständige Hamming-Codewort lautet: 0111001
- Fehlerhaftes empfangenes Codewort: 0111101
- Fehler wurde an der Position 7 gefunden und erfolgreich korrigiert.
Aufgabe 3)
Betrachten Sie die folgenden Netzwerkprotokollstapel: das OSI-Modell mit seinen 7 Schichten (Physisch, Sicherung, Netzwerk, Transport, Sitzung, Darstellung, Anwendung) und das TCP/IP-Modell mit seinen 4 Schichten (Netzzugang, Internet, Transport, Anwendung). Jede dieser Schichten erfüllt spezifische Funktionen innerhalb des Kommunikationsprozesses. Die Schichtenmodelle strukturieren und standardisieren die Netzkommunikation, um Modularität und Interoperabilität zu gewährleisten.
a)
(a) Vergleich der Schichtenmodelle:
Erläutere die Hauptunterschiede zwischen dem OSI- und dem TCP/IP-Modell. Gehe dabei insbesondere auf die Schichten ein, die im OSI-Modell vorhanden sind, jedoch im TCP/IP-Modell nicht explizit genannt werden. Nutze konkrete Beispiele, um zu demonstrieren, wie Daten von der Anwendungsschicht bis zur physischen Schicht durch das Netzwerk übertragen werden.
Lösung:
Vergleich der Schichtenmodelle:
Das OSI-Modell und das TCP/IP-Modell sind zwei grundlegende Referenzmodelle, die in der Netzwerkkommunikation verwendet werden. Beide Modelle zerlegen den Kommunikationsprozess in Schichten, wobei jede Schicht spezifische Funktionen erfüllt. Hier sind die Hauptunterschiede und die fehlenden Schichten im TCP/IP-Modell:
- Schicht 1: Physische Schicht (Physical Layer)
Im OSI-Modell ist dies die unterste Schicht, die sich mit der Übertragung von rohen Bitströmen über ein physisches Medium befasst. Hierzu gehören Hardware-Komponenten wie Kabel, Hubs und Netzwerkkarten. Im TCP/IP-Modell wird diese Schicht nicht explizit genannt, sie ist jedoch implizit Teil der Netzzugriffsschicht (Link Layer).
- Schicht 2: Sicherungsschicht (Data Link Layer)
Diese Schicht ist im OSI-Modell für die Fehlererkennung und -korrektur auf der physikalischen Ebene zuständig. Protokolle wie Ethernet und WLAN operieren auf dieser Schicht. Im TCP/IP-Modell wird diese Funktion ebenfalls von der Netzzugriffsschicht (Link Layer) abgedeckt.
- Schicht 3: Netzwerkschicht (Network Layer)
Das OSI-Modell platziert hier die Verantwortung für die Pfadbestimmung und logische Adressierung (zum Beispiel IP-Adressen). Das TCP/IP-Modell hat eine eigene Internetschicht (Internet Layer), die diese Funktionen übernimmt, und verwendet IP (Internet Protocol) als primäres Protokoll.
- Schicht 4: Transportschicht (Transport Layer)
Beide Modelle haben eine Transportschicht. Das OSI-Modell verwendet Protokolle wie TCP und UDP zur Steuerung der Datenübertragung zwischen Endgeräten. Im TCP/IP-Modell übernimmt die Transportschicht diese Aufgaben ebenfalls, wobei TCP und UDP die Hauptprotokolle sind.
- Schicht 5: Sitzungsschicht (Session Layer)
Das OSI-Modell hat eine Sitzungsschicht, die Dialoge zwischen zwei Geräten verwaltet und steuert. Diese Schicht ist im TCP/IP-Modell nicht explizit vorhanden; ihre Funktionen werden von der Transportschicht und Anwendungen übernommen.
- Schicht 6: Darstellungsschicht (Presentation Layer)
Diese Schicht im OSI-Modell sorgt für die Datenübersetzung und -verschlüsselung, sodass verschiedene Systeme miteinander kommunizieren können. Ein Beispiel wäre die Konvertierung von Datenformaten wie ASCII zu EBCDIC. Das TCP/IP-Modell nennt diese Schicht nicht explizit; deren Aufgaben werden von den Anwendungen selbst gehandhabt.
- Schicht 7: Anwendungsschicht (Application Layer)
Beide Modelle beinhalten eine Anwendungsschicht. Im OSI-Modell umfasst diese Schicht verschiedene Anwendungsdienste wie HTTP, FTP und SMTP. Beim TCP/IP-Modell übernimmt die Anwendungsschicht dieselben Aufgaben, auch hier sind Protokolle wie HTTP, FTP und SMTP vertreten.
Um den Datenfluss von der Anwendungsschicht zur physischen Schicht zu veranschaulichen, nehmen wir das Beispiel eines einfachen Web-Browsing-Dienstes:
- Ein Benutzer gibt eine URL in den Browser ein, wodurch eine HTTP-Anfrage (Anwendungsschicht) generiert wird.
- Die Anfrage wird an die Transportschicht weitergeleitet, wo sie von TCP in Segmente aufgeteilt und mit einem Port versehen wird.
- Diese Segmente gelangen zur Internetschicht, wo sie in Pakete verpackt und mit der IP-Adresse des Zielservers versehen werden.
- Die Pakete gelangen zur Netzzugriffsschicht, wo sie in Frames eingehüllt und über das physische Medium, zum Beispiel Ethernet-Kabel, gesendet werden.
- Das Netzwerkgerät des Zielservers empfängt die Datenrahmen, extrahiert die Pakete, verarbeitet die Segmente und schließlich die HTTP-Anfrage, die dann vom Webserver beantwortet wird.
Dieser Prozess illustriert, wie die Trennung in Schichten sowohl im OSI- als auch im TCP/IP-Modell die Modularität und Interoperabilität von Netzwerksystemen ermöglicht.
b)
(b) Funktionen und Protokolle:
Geben Sie zu jedem der folgenden Protokolle an, zu welcher Schicht des OSI-Modells sie gehören und erläutern Sie kurz ihre Hauptaufgaben:
Beschreiben Sie detaillierter die Funktion eines der oben genannten Protokolle, indem Sie dessen Rolle beim Datentransfer in einem typischen Client-Server-Szenario erläutern.
Lösung:
Funktionen und Protokolle:
Im Folgenden wird jedes der genannten Protokolle einer Schicht des OSI-Modells zugeordnet und seine Hauptaufgaben kurz erläutert:
- HTTP (HyperText Transfer Protocol)
Schicht: Schicht 7 - Anwendungsschicht (Application Layer)
Hauptaufgabe: HTTP ist ein Protokoll, das den Austausch von Hypertext-Dokumenten über das Internet ermöglicht. Es wird hauptsächlich für die Übertragung von Webseiten verwendet. HTTP setzt auf TCP (Transport Layer) auf und definiert, wie Anfragen von Clients (z. B. Webbrowsern) an Webserver und Antworten von Webservern an Clients übertragen werden.
- TCP (Transmission Control Protocol)
Schicht: Schicht 4 - Transportschicht (Transport Layer)
Hauptaufgabe: TCP gewährleistet eine zuverlässige, verbindungsorientierte Datenübertragung zwischen Geräten. Es spaltet die Daten in Segmente, übernimmt die Fehlerüberprüfung, die Flusskontrolle und die Wiederherstellung verlorener Datenpakete. TCP stellt sicher, dass die Daten vollständig und in der richtigen Reihenfolge beim Empfänger ankommen.
- IP (Internet Protocol)
Schicht: Schicht 3 - Netzwerkschicht (Network Layer)
Hauptaufgabe: IP ist für die logische Adressierung und die Vermittlung von Paketen im Netzwerk verantwortlich. Es definiert die IP-Adressen, die zur Identifizierung von Geräten verwendet werden, und bestimmt den Weg (Routing), den die Datenpakete von der Quelle zum Ziel nehmen sollen. Zwei Hauptversionen sind IPv4 und IPv6.
- Ethernet
Schicht: Schicht 2 - Sicherungsschicht (Data Link Layer) und Schicht 1 - Physische Schicht (Physical Layer)
Hauptaufgabe: Ethernet ist ein Protokoll, das den physikalischen und logischen Zugang zum Netzwerkmedium regelt. Auf der Sicherungsschicht (Data Link Layer) wird der Datenrahmen definiert, Adressen verwaltet und Fehlererkennung durchgeführt. Auf der physischen Schicht (Physical Layer) definiert es die Kabeltypen und Signalübertragungsmethoden. Ethernet ist weit verbreitet in LANs (Local Area Networks).
Detaillierte Beschreibung der Funktion von TCP:
Im Folgenden wird die Rolle von TCP in einem typischen Client-Server-Szenario erläutert:
- 1. Verbindungsaufbau: Wenn ein Client (z. B. ein Webbrowser) eine Datenübertragung mit einem Server (z. B. ein Webserver) initiieren möchte, baut TCP eine Verbindung durch einen Handshake-Prozess auf. Dies wird oft als 3-Wege-Handshake bezeichnet: Der Client sendet ein SYN-Segment (Synchronize) an den Server, der Server antwortet mit einem SYN-ACK-Segment (Synchronize-Acknowledge), und der Client bestätigt mit einem ACK-Segment (Acknowledge). Nun ist eine bidirektionale Kommunikationsverbindung etabliert.
- 2. Datenübertragung: Sobald die Verbindung hergestellt ist, beginnt die eigentliche Datenübertragung. Der Client sendet Daten in Form von TCP-Segmenten, die in Pakete eingeteilt werden. Jedes Segment enthält eine Sequenznummer, die die Reihenfolge der Daten bestimmt, und eine Prüfsumme zur Fehlererkennung. Der Server empfängt die Segmente, überprüft deren Integrität und Ordnung. Empfangene Segmente werden mit ACK-Segmenten bestätigt, um dem Sender mitzuteilen, dass die Daten angekommen sind.
- 3. Fehlerbehandlung und Flusskontrolle: TCP sorgt für die Zuverlässigkeit der Übertragung, indem es nicht bestätigte Segmente neu sendet. Zudem passt TCP die Übertragungsgeschwindigkeit an die Netzwerkkapazität und den Empfangsbuffer des Empfängers an, um Überlastungen und Paketverluste zu verhindern.
- 4. Verbindungsabbau: Nachdem alle Daten übertragen wurden, bauen der Client und der Server die Verbindung kontrolliert ab. Dies geschieht durch einen 4-Wege-Handshake-Prozess: Eine Seite sendet ein FIN-Segment (Finish), die andere Seite bestätigt mit einem ACK und sendet anschließend ein eigenes FIN-Segment. Das letzte ACK-Segment schließt die Verbindung ordnungsgemäß ab.
Durch diese Prozesse bietet TCP eine zuverlässige, geregelte und kontrollierte Datenübertragung, die für viele internetbasierte Anwendungen (wie HTTP) unerlässlich ist.
Aufgabe 4)
Das OSI-Modell beschreibt die Kommunikationsfunktionen von Netzwerksystemen in sieben Schichten: Anwendungsschicht, Darstellungsschicht, Sitzungsschicht, Transportschicht, Netzwerkschicht, Sicherungsschicht und Bitübertragungsschicht. Jede Ebene bietet spezifische Funktionen und Dienste, die der darüber liegenden Schicht zur Verfügung gestellt werden. Ziel des Modells ist es, die Interoperabilität und Standardisierung in der Netzwerkkommunikation zu gewährleisten. Interaktionen finden dabei nur zwischen direkt benachbarten Schichten statt.
a)
Teil 1: Die Anwendungsschicht (Schicht 7) des OSI-Modells ist verantwortlich für den direkten Austausch von Daten zwischen ablaufenden Anwendungen und den Benutzern. Erkläre, welche spezifischen Dienste und Funktionen diese Schicht bietet. Nenne mindestens drei konkrete Beispiele für Protokolle oder Anwendungen, die in dieser Schicht arbeiten, und beschreibe kurz deren Aufgaben.
Lösung:
Teil 1: Die Anwendungsschicht (Schicht 7) des OSI-Modells ist die höchste Schicht und verantwortlich für den direkten Austausch von Daten zwischen laufenden Anwendungen und den Benutzern. Diese Schicht bietet eine Vielzahl von spezifischen Diensten und Funktionen, welche die Kommunikation, Datenverarbeitung und den Benutzerzugriff regeln. Hier sind einige der wichtigsten Funktionen und Dienste der Anwendungsschicht:
- Benutzeroberflächen: Die Anwendungsschicht ermöglicht die Interaktion zwischen dem Benutzer und der Anwendung. Zum Beispiel steuert sie, wie Daten eingegeben oder ausgegeben werden.
- Datenübertragung: Sie bietet Dienstleistungen, die den Austausch von Nachrichten, Dateien und anderen Daten zwischen Netzwerkanwendungen regeln.
- Prozesssteuerung: Sie unterstützt den reibungslosen Ablauf und die Verwaltung von Anwendungsprozessen.
- Verzeichnisdienste: Verwalten von Verzeichnissen und Datenbanken, die für die Authentifizierung und Autorisierung von Benutzern und Systemen notwendig sind.
Hier sind konkrete Beispiele für Protokolle und Anwendungen, die in der Anwendungsschicht arbeiten:
- HTTP (HyperText Transfer Protocol): Ein Protokoll, das für die Übertragung von Webseiten und anderen Daten über das Internet verantwortlich ist. Es ermöglicht den Zugriff auf Webseiten durch Webbrowser und den Austausch von Informationen zwischen Webservern und Clients.
- FTP (File Transfer Protocol): Ein Protokoll zur Übertragung von Dateien zwischen Rechnern im Netzwerk. Es ermöglicht den Upload und Download von Dateien sowie die Verwaltung von Dateien auf einem entfernten Server.
- SMTP (Simple Mail Transfer Protocol): Ein Protokoll, das für den Versand und Empfang von E-Mails verwendet wird. Es regelt den Austausch von E-Mails zwischen Mailservern und unterstützt somit den Versand und Empfang elektronischer Nachrichten.
b)
Teil 2: Angenommen, ein Datenpaket wird von einem Benutzer A in einem Rechnernetzwerk an einen Benutzer B gesendet. Beschreibe den Weg des Datenpakets durch die verschiedenen OSI-Schichten vom Sender bis zum Empfänger. Gehe dabei insbesondere auf die Aufgaben und Funktionen der Transportschicht (Schicht 4) und der Sicherungsschicht (Schicht 2) ein und erläutere deren jeweilige Verantwortlichkeiten und Mechanismen.
Lösung:
Teil 2: Angenommen, ein Datenpaket wird von einem Benutzer A in einem Rechnernetzwerk an einen Benutzer B gesendet. Der Weg des Datenpakets durch die verschiedenen OSI-Schichten vom Sender bis zum Empfänger kann wie folgt beschrieben werden:
- Anwendungsschicht (Schicht 7): Die Kommunikation beginnt in der Anwendung, z. B. durch Absenden einer Nachricht. Diese Schicht übernimmt die Bereitstellung von Anwendungsdiensten für Endbenutzer.
- Darstellungsschicht (Schicht 6): Die Daten werden in ein standardisiertes Format umgewandelt, das für alle Teilnehmer des Netzwerks verständlich ist. Hier werden ggf. Verschlüsselung oder Komprimierung angewendet.
- Sitzungsschicht (Schicht 5): Diese Schicht verwaltet und steuert die Verbindungen zwischen den Anwendungen. Sie sorgt dafür, dass die Kommunikation synchronisiert wird und Wiederherstellungsprozeduren bereitstehen.
- Transportschicht (Schicht 4): Eine der wichtigsten Aufgaben dieser Schicht ist die Gewährleistung einer zuverlässigen Datenübertragung. Dies geschieht durch Mechanismen wie:
- Segmentierung: Zerlegung der Daten in kleinere Pakete oder Segmente.
- Fehlererkennung und -korrektur: Sicherstellung der Integrität der Daten durch Überprüfungen, wie Checksummen oder Prüfpakete.
- Flusskontrolle: Verhinderung von Überlastung durch Steuerung der Datenflussrate.
Beispiele für Protokolle in der Transportschicht sind TCP (Transmission Control Protocol) und UDP (User Datagram Protocol). TCP bietet zuverlässige, verbindungsorientierte Übertragungen, während UDP schnelle, verbindungslose Übertragungen bietet.
- Netzwerkschicht (Schicht 3): Hier erfolgt die Weiterleitung der Datenpakete zwischen verschiedenen Netzwerken. Diese Schicht ist für das Routing verantwortlich und verwendet IP-Adressen zur Adressierung. Ein bekanntes Protokoll dieser Schicht ist das Internet Protocol (IP).
- Sicherungsschicht (Schicht 2): Diese Schicht hat zwei Hauptaufgaben:
Am Empfänger durchläuft das Datenpaket die OSI-Schichten in umgekehrter Reihenfolge: von der Bitübertragungsebene bis zur Anwendungsebene, wobei jede Schicht ihre jeweilige Aufgabe übernimmt, bis die Daten die Anwendung des Benutzers B erreichen.
c)
Teil 3: Stell dir vor, du hast eine Netzwerkverbindung, bei der regelmäßig Daten verloren gehen. Welches Schicht des OSI-Modells wäre primär verantwortlich für das Erkennen und möglicherweise Korrigieren dieser Datenverluste? Erläutere detailliert die Mechanismen, die auf dieser Schicht verwendet werden, um Datenverluste zu erkennen und zu korrigieren. Gehe dabei gegebenenfalls auch auf mathematische Modelle oder Protokolle ein, die zur Fehlererkennung und -korrektur verwendet werden können.
Lösung:
Teil 3: Bei einer Netzwerkverbindung, bei der regelmäßig Daten verloren gehen, wäre primär die Transportschicht (Schicht 4) des OSI-Modells verantwortlich für das Erkennen und möglicherweise Korrigieren dieser Datenverluste. Die Transportschicht hat die Aufgabe, eine zuverlässige Datenübertragung sicherzustellen und erreicht dies durch verschiedene Mechanismen und Protokolle.
- Fehlererkennung und -korrektur: Die Transportschicht verwendet Techniken wie Prüfsummen oder Checksummen, um sicherzustellen, dass die Daten korrekt übertragen wurden. Wenn ein Fehler entdeckt wird, kann die fehlerhafte Datenübertragung wiederholt werden.
- Zusammensetzung von Segmenten: Die Daten werden in kleinere Pakete oder Segmente zerlegt, die einzeln übertragen und beim Empfänger wieder zusammengesetzt werden. Jedes dieser Segmente enthält Informationen, die für die Überprüfung und Zusammensetzung notwendig sind.
- Flusskontrolle: Diese Technik stellt sicher, dass der Sender die Daten mit einer Geschwindigkeit überträgt, die der Empfänger verarbeiten kann.
- Verbindungssteuerung: Diese sorgt dafür, dass eine stabile Verbindung zwischen Sender und Empfänger aufgebaut und aufrechterhalten wird.
Ein häufig verwendetes Protokoll in der Transportschicht ist das Transmission Control Protocol (TCP), welches verschiedene Mechanismen zur Fehlererkennung und -korrektur integriert:
- Acknowledgements (Bestätigungen): Empfänger senden Bestätigungen an den Sender, wenn Pakete erfolgreich empfangen wurden. Bleibt eine Bestätigung aus, geht der Sender von einem Paketverlust aus und sendet das betreffende Paket erneut.
- Sequenznummern: Jedes Datensegment ist mit einer einzigartigen Sequenznummer versehen, die dem Empfänger hilft, die Daten in der richtigen Reihenfolge zusammenzusetzen und fehlende Segmente zu erkennen.
- Retransmission (Neuübertragung): Wenn ein Timeout beim Warten auf eine Bestätigung abläuft, sendet der Sender das Paket erneut.
- Checksum (Prüfsumme): Eine Prüfsumme wird verwendet, um Übertragungsfehler zu erkennen. Der Empfänger berechnet die Prüfsumme der empfangenen Daten und vergleicht sie mit der gesendeten Prüfsumme. Bei einer Abweichung wird das Paket als fehlerhaft erkannt.
Ein bekanntes mathematisches Modell zur Fehlererkennung ist der CRC (Cyclic Redundancy Check). Der CRC wird eingesetzt, um Datenübertragungsfehler in Netzwerkübertragungen zu erkennen. Der Sender berechnet einen Prüfwert aus den Daten und sendet diesen zusammen mit den Daten. Der Empfänger berechnet ebenfalls einen Prüfwert aus den empfangenen Daten und vergleicht ihn mit dem gesendeten Prüfwert. Werden Abweichungen festgestellt, wird von einem Übertragungsfehler ausgegangen.
Zusammengefasst ist die Transportschicht primär verantwortlich für das Erkennen und Korrigieren von Datenverlusten, indem sie Mechanismen zur Fehlererkennung und -korrektur einsetzt, die insbesondere durch das TCP-Protokoll und mathematische Modelle wie CRC realisiert werden.