Kurseinheit 3 Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

Wie kommunizieren zwei Rechner miteinander?

A
  • Zwei Prozesse auf unterschiedlichen Endsystemen kommunizieren miteinander.
  • Die Kommunikation erfolgt durch den Austausch von Nachrichten über ein Computernetzwerk.
  • Ein sendender Prozess erzeugt und sendet Nachrichten über das Netzwerk.
  • Ein empfangender Prozess empfängt diese Nachrichten.
  • Der empfangende Prozess kann antworten, indem er Nachrichten zurück schickt.
  • Die Nachrichten können verschiedene Formate haben, wie Text, Datenpakete oder Befehle.
  • Kommunikation erfolgt über Netzwerkprotokolle wie TCP/IP, HTTP, FTP, usw.
  • Die Kommunikation kann über kabelgebundene oder drahtlose Verbindungen stattfinden, je nach Netzwerktechnologie.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wer kommuniziert mit wem auf der Transportschicht?

A
  • Die Transportschicht ermöglicht die Kommunikation zwischen Anwendungsprozessen auf verschiedenen Endgeräten.
  • Sie stellt Kommunikationsdienste für die Anwendungsprozesse bereit.
  • Zwei Prozesse, die auf unterschiedlichen Endgeräten laufen, kommunizieren über die Transportschicht miteinander.
  • Die Transportschicht ermöglicht die logische Kommunikation zwischen diesen beiden Prozessen.
  • Die Transportschicht bietet verschiedene Transportprotokolle wie TCP (Transmission Control Protocol) und UDP (User Datagram Protocol) an.
  • Anwendungsdaten werden in Segmente oder Datagramme aufgeteilt und über die Transportschicht übertragen.
  • Sie sorgt für eine zuverlässige, verlustfreie oder verlustbehaftete Datenübertragung, je nach gewähltem Protokoll.
  • Die Transportschicht identifiziert Anwendungsprozesse durch Portnummern, um die Kommunikation zu steuern.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wer kommuniziert mit wem auf der Vermittlungsschicht?

A
  • Die Vermittlungsschicht ermöglicht die Kommunikation zwischen Endsystemen in einem Netzwerk.
  • Sie stellt logische Übertragungskanäle zur Verfügung, über die Datagramme zwischen Quell- und Zielhosts transportiert werden.
  • Die Vermittlungsschicht besteht aus dem IP-Protokoll (Internet Protocol) und verschiedenen Routing-Protokollen.
  • Das IP-Protokoll definiert das Format von IP-Datagrammen, die zur Übertragung von Daten zwischen Endsystemen verwendet werden.
  • Die Routing-Protokolle bestimmen, welche Routen die Datagramme zwischen dem Quell- und Zielhost nehmen.
  • Auf der Vermittlungsschicht werden IP-Adressen verwendet, um Endsysteme zu identifizieren und zu adressieren.
  • Die Vermittlungsschicht ermöglicht das Routing von Datenpaketen über verschiedene Netzwerke hinweg.
  • Sie trägt dazu bei, dass Datenpakete sicher und effizient an ihre Zielhosts gelangen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist ein Protokoll? Was ist ein Dienst?

A

Protokoll:
- Ein Protokoll ist eine Reihe von Regeln und Standards, die das Format, die Reihenfolge und die Bedeutung von Nachrichten in einem Kommunikationssystem festlegen.
- Es dient dazu, die Kommunikation zwischen Geräten oder Systemen zu koordinieren und zu standardisieren.
- Protokolle definieren, wie Daten ausgetauscht, verarbeitet und interpretiert werden sollen, um eine reibungslose Kommunikation zu ermöglichen.
- Protokolle können in verschiedenen Kontexten eingesetzt werden, z. B. in Netzwerken, Kommunikationsprotokollen, Sicherheitsprotokollen usw.

Dienst:
- Ein Dienst ist eine Funktion oder eine Sammlung von Funktionen, die von einer bestimmten Schicht in einem Kommunikationssystem bereitgestellt wird.
- Dienste werden genutzt, um die Anforderungen der darüber liegenden Schicht zu erfüllen und die Kommunikation zwischen verschiedenen Schichten zu ermöglichen.
- Ein Dienst definiert, welche Operationen ausgeführt werden können und welche Ergebnisse erwartet werden können.
- Die Definition eines Dienstes beschreibt, was er leistet, ohne Einzelheiten darüber preiszugeben, wie die darunterliegenden Schichten den Dienst bereitstellen oder implementieren.
- Dienste sind in der Regel gut definiert, um eine klare Kommunikation und Interaktion zwischen verschiedenen Ebenen eines Kommunikationssystems zu gewährleisten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was ist eine Schnittstelle?

A
  • Eine Schnittstelle ist ein definiertes Set von Regeln, Operationen und Protokollen.
  • Sie ermöglicht die Interaktion und Kommunikation zwischen zwei Komponenten oder Schichten.
  • In Kommunikationssystemen oder Softwarearchitekturen stellt eine Schnittstelle den Zugangspunkt dar.
  • Über diese Zugangspunkte greift eine Komponente auf die Dienste oder Funktionen einer anderen Komponente zu.
  • Eine Schnittstelle spezifiziert erlaubte Aktionen, Parameter, Daten und erwartete Ergebnisse.
  • Schnittstellen ermöglichen die Trennung von Implementierungsdetails und beschreiben nur die Funktionalität.
  • Sie spielen eine Rolle bei Modularität, Wiederverwendbarkeit und Interoperabilität von Komponenten und Systemen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist der Unterschied zwischen Diensten, Schnittstelle und Protokollen?

A

Hier sind die Unterschiede zwischen Diensten, Schnittstellen und Protokollen im Überblick:

Dienste:
- Funktionen, die von einer Schicht bereitgestellt werden, um die Bedürfnisse der darüber liegenden Schicht zu erfüllen.
- Spezifizieren, welche Aktionen ausgeführt werden können und welche Ergebnisse erwartet werden.
- Fokussieren auf die Funktionalität und Dienstleistungen einer Schicht für eine höhere Schicht.

Schnittstellen:
- Dienstzugangspunkte, die festlegen, wie eine Schicht auf die Dienste der direkt darunter liegenden Schicht zugreift.
- Definieren, welche Operationen auf welchen Parametern ausgeführt werden können, um auf Dienste zuzugreifen.
- Beschreiben den Zugriff auf Funktionen und Dienste, ohne Implementierungsdetails preiszugeben.

Protokolle:
- Eine Sammlung von Regeln, die das Format, die Sequenz und die Bedeutung der Kommunikation zwischen Schichten oder Komponenten festlegen.
- Sorgen dafür, dass die Nachrichtenübertragung strukturiert und verständlich abläuft.
- Definieren, wie Daten in Nachrichten verpackt werden, um zwischen Schichten ausgetauscht zu werden.

Die Dienste erfüllen die Anforderungen der übergeordneten Schicht, die Schnittstellen definieren den Zugriff auf diese Dienste, und die Protokolle regeln den Kommunikationsablauf und das Datenformat zwischen Schichten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Welche Beziehungen haben Protokolle und Dienste?

A

Die Beziehung zwischen Protokollen und Diensten kann wie folgt beschrieben werden:

  • Protokolle legen die Regeln fest: Protokolle definieren die spezifischen Regeln, nach denen Nachrichten zwischen Schichten oder Systemen ausgetauscht werden. Sie legen das Format, die Sequenz und die Bedeutung der Kommunikation fest.
  • Dienste werden durch Protokolle ermöglicht: Protokolle dienen dazu, die gewünschten Dienste zwischen den Schichten oder Systemen bereitzustellen. Sie stellen sicher, dass die Kommunikation gemäß den Anforderungen der Dienste abläuft.
  • Nutzung von untergeordneten Diensten: Protokolle nutzen die Dienste der darunter liegenden Schichten, um die gewünschten Funktionalitäten zu erreichen. Sie greifen auf die zur Verfügung stehenden Dienste zu, um die Nachrichtenübertragung erfolgreich abzuwickeln.
  • Dienste werden mit Protokollen erbracht: Die Kommunikationseinheiten (wie Anwendungen, Systeme oder Schichten) erbringen ihre definierten Dienste mithilfe der festgelegten Protokolle. Die Protokolle ermöglichen es den Einheiten, auf standardisierte Weise miteinander zu interagieren und die Dienste zu erfüllen.

Insgesamt ermöglichen Protokolle die Umsetzung und Bereitstellung von Diensten durch die Festlegung von Regeln für die Kommunikation und den Datenaustausch zwischen den beteiligten Einheiten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was ist ein Dienstzugangspunkt?

A
  • Ein Dienstzugangspunkt ist eine Schnittstelle.
  • Er legt fest, wie eine Schicht auf den Dienst der darunter liegenden Schicht zugreift.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was ist eine geschichtete Protokollarchitektur?

A
  • Geschichtete Protokollarchitektur organisiert Protokolle, Netzwerkhardware und -software in Schichten.
  • Jede Schicht definiert Funktionen und Dienste für die darüber liegende Schicht.
  • Protokolle einer Schicht regeln den Nachrichtenaustausch zwischen Endsystemen auf dieser Schicht.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist das Schichtenmodellsprinzip?

A

Das Schichtenmodellprinzip:

  • Unterteilt ein komplexes System in mehrere Schichten.
  • Jede Schicht stellt einen spezifischen Satz von Funktionen bereit.
  • Schichten bieten Dienste für die Schicht darüber an und nutzen Dienste von der Schicht darunter.
  • Vereinfacht Implementierung und Entwicklung, da Schichten unabhängig voneinander sind.
  • Änderungen in einer Schicht beeinflussen normalerweise nicht die anderen Schichten, solange die Schnittstellen konstant bleiben.
  • Wird in verschiedenen Netzwerkprotokollen wie TCP/IP und OSI angewendet.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Welche Vorteile hat ein Schichtenmodell?

A
  • Vereinfacht die Realisierung von komplexen Systemen.
  • Änderungen im Dienst einer Schicht beeinflussen nicht das gesamte System.
  • Unabhängige Entwicklung und Wartung der Schichten.
  • Erleichtert die Fehlerbehebung.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wie funktioniert die Kommunikation in einem Schichtenmodell?

A

Die Kommunikation in einem Schichtenmodell erfolgt wie folgt:

  • Daten werden nicht direkt zwischen den Schichten eines Rechners und den Schichten eines anderen Rechners übertragen.
  • Eine Schicht nutzt den Dienst der direkt darunter liegenden Schicht über einen Dienstzugangspunkt, der auch als Schnittstelle bezeichnet wird.
  • Die eigentliche Kommunikation und Nachrichtenübertragung finden nur in der untersten Schicht statt.
  • Jede Schicht kann empfangene Daten mit Headern und Trailern versehen, um Informationen für den Empfänger auf derselben Schicht hinzuzufügen.
  • Die Kommunikation erfolgt über Dienstzugangspunkte und Schnittstellen zwischen den Schichten.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie sieht das Internet-Schichtenmodell aus?

A

Das Internet-Schichtenmodell sieht wie folgt aus:

  1. Anwendungsschicht: Hier werden Protokolle und Dienste für die Kommunikation von Anwendungen genutzt, um Daten über das Netzwerk auszutauschen. Beispiele sind HTTP, FTP und SMTP.
  2. Transportschicht: Diese Schicht ermöglicht die Datenübertragung zwischen Anwendungen auf verschiedenen Geräten. Hauptprotokolle sind TCP und UDP.
  3. Internetschicht: Verantwortlich für den Pakettransport zwischen unterschiedlichen Netzwerken. Das wichtigste Protokoll ist IP.
  4. Vermittlungsschicht: Hier erfolgt die Übertragung von Paketen innerhalb eines Netzwerks. Bedeutende Protokolle sind ARP und ICMP.
  5. Sicherungsschicht: Zuständig für die Datenübertragung zwischen Geräten auf derselben physischen Verbindung. Beispiele sind Ethernet und Wi-Fi.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Welche Dienste bietet eine Schicht und welche Protokolle hat jede Schicht?

A

Natürlich, hier ist die Antwort in der vereinbarten Bulletpoint-Struktur:

Dienste einer Schicht:
- Dienste werden durch eine Menge von Programmen oder Operationen definiert.
- Dienste können von der darüber liegenden Schicht genutzt werden.
- Die Implementierung der Dienste einer Schicht nutzt die Dienste der darunter liegenden Schicht.

Protokolle jeder Schicht:
- Jede Schicht hat eigene Protokolle.
- Protokolle definieren, wie zwei Endsysteme Nachrichten auf der jeweiligen Schicht austauschen.
- Ein Protokoll einer Schicht legt genau die Regeln für den Nachrichtenaustausch fest.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Welche Verzögerungen gibt es in einem Router?

A

Verzögerungen in einem Router:
- Verarbeitungsverzögerung: Zeit für Paketverarbeitung, Fehlerprüfung, Header-Entfernung und Routing-Informationen.
- Warteschlangenverzögerung: Zeit, die ein Paket in der Warteschlange verbringt, bevor es weitergeleitet wird.
- Übertragungsverzögerung: Zeit für die Weiterleitung eines Pakets von Eingangsport zu Ausgangsport.
- Ausbreitungsverzögerung: Zeit, die ein Bit benötigt, um sich auf der Verbindungsleitung auszubreiten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was bedeuten die einzelnen Verzögerungen?

A

Natürlich, hier ist die Antwort in der vereinbarten Bulletpoint-Struktur:

Bedeutung der Verzögerungen:
- Verarbeitungsverzögerung: Zeit für Paketverarbeitung, Fehlerprüfung, Header-Entfernung und Routing-Informationen.
- Warteschlangenverzögerung: Zeit, die ein Paket in der Warteschlange verbringt, bevor es weitergeleitet wird.
- Übertragungsverzögerung: Zeit für die Weiterleitung eines Pakets von Eingangsport zu Ausgangsport.
- Ausbreitungsverzögerung: Zeit, die ein Bit benötigt, um sich auf der Verbindungsleitung auszubreiten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Was bedeutet Speichervermittlung (Store-and-Forward-Übertragung)?

A

Natürlich, hier ist die Antwort in der vereinbarten Bulletpoint-Struktur:

Speichervermittlung (Store-and-Forward-Übertragung):
- Verfahren, bei dem ein Router mit dem Senden eines Pakets erst beginnt, wenn das gesamte Paket empfangen wurde.
- Das Paket wird im Router zwischengespeichert (gespeichert) und dann weitergeleitet.
- Verzögerungen wie Verarbeitungsverzögerung, Warteschlangenverzögerung, Übertragungsverzögerung und Ausbreitungsverzögerung können auftreten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Benutzt ein Router die Speichervermittlung-Technik?

A

Natürlich, hier ist die Antwort in der vereinbarten Bulletpoint-Struktur:

  • Ja, ein Router benutzt die Speichervermittlung (Store-and-Forward-Übertragung) Technik.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Warum benutzt ein Router im Internet die Store-and-Forward-Technik?

A
  • Das Internet ist ein paketvermitteltes Netzwerk, bei dem Daten in Form von Paketen übertragen werden.
  • Die Store-and-Forward-Technik ermöglicht es einem Router, das gesamte Paket zu empfangen, bevor es weitergeleitet wird.
  • Dadurch kann der Router das Paket auf Fehler überprüfen und sicherstellen, dass es korrekt weitergeleitet wird.
  • Die Speichervermittlung ermöglicht eine Pufferung von Paketen bei Überlastung oder unterschiedlichen Übertragungsraten zwischen Routern.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Was ist der Unterschied zwischen Leitungsvermittlung und Paketvermittlung?

A

Natürlich, hier ist die Antwort in der vereinbarten Bulletpoint-Struktur:

  • Leitungsvermittlung:
    • Dedizierte Verbindung zwischen Endpunkten vor Datenübertragung.
    • Verbindung bleibt während der gesamten Übertragungsdauer bestehen.
    • Beispiel: Telefonnetz.
  • Paketvermittlung:
    • Daten werden in Form von Paketen übertragen.
    • Pakete enthalten Informationen über Absender, Empfänger und Datenmenge.
    • Pakete fließen durch eine Reihe von Routern.
    • Router leiten Pakete unabhängig voneinander basierend auf Paket-Header-Informationen weiter.
    • Beispiel: Internet.
  • Unterschied:
    • Leitungsvermittlung verwendet dedizierte Verbindungen, während Paketvermittlung Pakete durch verschiedene Wege leitet.
    • Bei Leitungsvermittlung bleibt die Verbindung während der Übertragung bestehen, während bei Paketvermittlung Pakete einzeln weitergeleitet werden.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Was benutzt das Internet und warum?

A

Natürlich, hier ist die Antwort in der vereinbarten Bulletpoint-Struktur:

  • Technik im Internet:
    • Paketvermittlungstechnik wird im Internet verwendet.
  • Warum das Internet Paketvermittlung nutzt:
    • Effiziente und zuverlässige Datenübertragung.
    • Mehrere Datenströme gleichzeitig übertragbar.
    • Keine dedizierte Verbindung zwischen Endpunkten nötig.
    • Effiziente Nutzung von Netzwerkressourcen.
    • Vermeidung von Engpässen durch flexible Routenwahl.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Welche Vorteile hat ein leitungsvermitteltes im Vergleich zu einem paketvermittelten Netzwerk?

A
  • Vorteile eines leitungsvermittelten Netzwerks:
    • Zuverlässigere Datenübertragung.
    • Geringere Verzögerungen und Datenverluste.
    • Einfachere Übertragung von Echtzeitdaten wie Sprache und Video.
    • Höhere Bandbreite für Datenübertragung.
  • Nachteile eines leitungsvermittelten Netzwerks:
    • Geringere Effizienz im Vergleich zu paketvermittelten Netzwerken.
    • Kontinuierliche Belegung der Verbindung, auch wenn keine Daten übertragen werden.
    • Aufwendige und teure Einrichtung dedizierter Verbindungen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Was ist der Unterschied zwischen Datagramm-Netzwerk und VC-Netzwerk?

A
  • Datagramm-Netzwerk:
    • Pakete werden anhand der Zieladresse des Hosts weitergeleitet.
    • Jedes Paket enthält die Zieladresse des Empfängerhosts.
    • Jeder Router entscheidet unabhängig, wohin das Paket weitergeleitet wird.
    • Flexibilität und effiziente Nutzung der Netzwerkressourcen.
    • Beispiel: Das Internet mit dem IP-Protokoll.
  • VC-Netzwerk (Virtual Channels, virtuelle Kanäle):
    • Pakete werden anhand von virtuellen Kanalnummern weitergeleitet.
    • Jeder virtuelle Kanal stellt eine dedizierte Verbindung dar.
    • Pakete werden über den virtuellen Kanal gesendet.
    • Jeder Router leitet Pakete anhand der virtuellen Kanalnummer weiter.
    • Höhere Zuverlässigkeit und bessere Unterstützung für Echtzeitdaten.
    • Häufig in ATM-Netzwerken (Asynchronous Transfer Mode) verwendet.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Welche Unterschiede haben Hosts, Router und Bridges?

A
  • Hosts:
    • Endsysteme wie Computer, Smartphones.
    • Senden und empfangen Daten.
    • Implementieren alle fünf Schichten des Protokollstapels.
    • Fähig zur Datenverarbeitung und -interpretation.
  • Router:
    • Netzwerkgeräte, leiten Pakete zwischen Netzwerken weiter.
    • Implementieren Schichten 1 bis 3 des Protokollstapels.
    • Weiterleitung von Paketen anhand der Zieladresse.
    • Übersetzung von Netzwerkadressen, Traffic-Filterung möglich.
  • Bridges:
    • Netzwerkgeräte, verbinden mehrere Netzwerke.
    • Implementieren Schichten 1 und 2 des Protokollstapels.
    • Weiterleitung von Datenpaketen anhand der MAC-Adresse.
    • Traffic-Filterung, Segmentierung von Netzwerkverkehr.

Hauptunterschied:
- Hosts: Verarbeiten und interpretieren Daten, alle fünf Schichten.
- Router und Bridges: Spezialisiert auf Datenweiterleitung, bestimmte Protokollstapel-Schichten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Was ist ein Client/Server-Modell?

A
  • Das Client/Server-Modell ist eine Architektur für Netzwerkanwendungen.
  • Es teilt Prozesse in zwei Gruppen ein: Server-Prozess und viele Client-Prozesse.
  • Der Server-Prozess implementiert und bietet einen Dienst an.
  • Client-Prozesse fordern Dienste vom Server an, senden Anfragen und warten auf Antworten.
  • Ein Beispiel: Web-Clients (Web-Browser) fordern Dokumente vom Web-Server an.
  • Vorteile: Effiziente, skalierbare Bereitstellung von Diensten, klare Trennung von Verantwortlichkeiten, erleichtert Entwicklung und Wartung von Anwendungen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Wie unterscheidet sich das Client/Server-Modell von der Hardware Server-Rechner und Client-Rechner?

A
  • Client/Server-Modell: Architektur für Netzwerkanwendungen, teilt Prozesse in Server- und Client-Gruppen auf.
  • Server-Rechner und Client-Rechner: Physische Geräte im Netzwerk.
  • Server-Rechner: Leistungsstärkere Maschinen, oft zentral verwaltet.
  • Client-Rechner: Häufig auf Benutzerschreibtischen oder in Taschen, können jedoch auch Dienste anbieten.
  • Unterscheidung zwischen Server und Client im Hinblick auf physische Geräte, während das Modell die Rollen von Prozessen in Netzwerkanwendungen beschreibt.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Welcher Prozess ist der Client und welcher der Server in
einer Kommunikationssitzung zwischen zwei Prozessen?

A
  • Client-Prozess: Die Anwendung, die eine Anforderung an den Server-Prozess sendet, um einen bestimmten Dienst anzufordern.
  • Server-Prozess: Die Anwendung, die den angeforderten Dienst implementiert und bereitstellt, und auf die Anforderung des Client-Prozesses reagiert, indem sie eine Antwort zurücksendet.
  • Welcher Prozess der Client und welcher der Server ist, hängt von der spezifischen Anwendung und dem angeforderten Dienst ab.
  • Ein Prozess kann in verschiedenen Situationen sowohl als Client als auch als Server fungieren, je nachdem, ob er einen Dienst anfordert oder bereitstellt.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Welche Protokolle gibt es auf der Anwendungsschicht?

A
  • HTTP (Hypertext Transfer Protocol): Für den Austausch von Webseiten und Ressourcen im World Wide Web.
  • SMTP (Simple Mail Transfer Protocol): Für den Austausch von E-Mails zwischen Mail-Servern.
  • IMAP (Internet Message Access Protocol): Für den Zugriff auf E-Mails auf einem Mail-Server.
  • POP3 (Post Office Protocol version 3): Für den Abruf von E-Mails von einem Mail-Server auf einen Client-Rechner.
  • FTP (File Transfer Protocol): Für den Austausch von Dateien zwischen einem Client und einem Server.
  • NNTP (Network News Transfer Protocol): Für den Austausch von Nachrichten in Usenet-Newsgroups.
  • Telnet: Für die Fernsteuerung eines Computers über das Netzwerk.
  • SIP (Session Initiation Protocol): Für die Einrichtung, Steuerung und Beendigung von Echtzeitkommunikationssitzungen wie Internet-Telefonie und Videokonferenzen.
  • RTP (Real-time Transport Protocol): Für die Übertragung von Audio- und Videodaten in Echtzeit.
  • Es gibt viele weitere Protokolle auf der Anwendungsschicht, die für spezifische Anwendungen und Dienste verwendet werden.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Für Welche Anwendungen sind sie da?

A

Die verschiedenen Protokolle auf der Anwendungsschicht sind für unterschiedliche Anwendungen und Dienste konzipiert. Hier ist eine kurze Zusammenfassung der wichtigsten Anwendungen, für die die genannten Protokolle auf der Anwendungsschicht verwendet werden:

  • HTTP: Wird für den Austausch von Webseiten und anderen Ressourcen im World Wide Web verwendet.
  • SMTP: Wird für den Austausch von E-Mails zwischen Mail-Servern verwendet.
  • IMAP: Wird für den Zugriff auf E-Mails auf einem Mail-Server verwendet.
  • POP3: Wird für den Abruf von E-Mails von einem Mail-Server auf einen Client-Rechner verwendet.
  • FTP: Wird für den Austausch von Dateien zwischen einem Client und einem Server verwendet.
  • NNTP: Wird für den Austausch von Nachrichten in Usenet-Newsgroups verwendet.
  • Telnet: Wird für die Fernsteuerung eines Computers über das Netzwerk verwendet.
  • SIP: Wird für die Einrichtung, Steuerung und Beendigung von Echtzeitkommunikationssitzungen wie Internet-Telefonie und Videokonferenzen verwendet.
  • RTP: Wird für die Übertragung von Audio- und Videodaten in Echtzeit verwendet.

Es gibt noch viele weitere Anwendungen und Dienste, für die Protokolle auf der Anwendungsschicht verwendet werden, aber diese Liste gibt einen guten Überblick über die wichtigsten Anwendungen und ihre zugehörigen Protokolle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Wie identifiziert man eine Ressource im Inetrnet und was sagt der Identifizier?

A
  • Eine Ressource im Internet wird durch eine eindeutige Adresse identifiziert, die als URL (Uniform Resource Locator) bezeichnet wird.
  • Eine URL besteht aus drei Teilen: dem Protokoll, dem DNS-Namen oder der IP-Adresse des Rechners (den eindeutigen Namen des Hosts), auf dem sich die Ressource befindet, und einem lokalen eindeutigen Namen der Ressource.
  • Das Namensschema für eine URL lautet <protocol>:<protocol>.</protocol></protocol>
  • Die Identifizierung einer Ressource im Internet durch eine URL ermöglicht es, dass ein Client-Prozess eine Anfrage an einen Server-Prozess senden kann, um die Ressource abzurufen oder darauf zuzugreifen.
  • Der Server-Prozess kann dann die Anfrage verarbeiten und die Ressource an den Client-Prozess zurücksenden.
  • Die Identifizierung einer Ressource durch eine URL sagt also aus, wo sich die Ressource befindet und wie sie abgerufen werden kann.
  • Die URL ermöglicht es, dass ein Client-Prozess die Ressource im Internet finden und darauf zugreifen kann.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Kann HTTP nur HTML-Dateien holen?

A
  • Nein, HTTP (Hypertext Transfer Protocol) kann nicht nur HTML-Dateien holen.
  • HTTP kann auch andere Arten von Ressourcen holen, wie Bilder, Videos, Audio-Dateien, PDF-Dokumente und andere Dateiformate.
  • HTTP ist ein Protokoll der Anwendungsschicht, das für den Austausch von Ressourcen im World Wide Web verwendet wird.
  • Es ermöglicht es, dass ein Client-Prozess eine Anfrage an einen Server-Prozess senden kann, um eine bestimmte Ressource abzurufen oder darauf zuzugreifen.
  • Der Server-Prozess kann dann die Anfrage verarbeiten und die Ressource an den Client-Prozess zurücksenden, unabhängig von ihrem Dateiformat.
32
Q

Welche Nachrichtentypen hat HTTP?

A
  • HTTP definiert zwei Nachrichtentypen: HTTP-Anfragenachricht und HTTP-Antwortnachricht.
  • Die Anfragenachricht wird von einem Client-Prozess an einen Server-Prozess gesendet, um eine bestimmte Ressource abzurufen oder darauf zuzugreifen.
  • Die Antwortnachricht wird vom Server-Prozess an den Client-Prozess zurückgesendet, um die angeforderte Ressource oder eine Fehlermeldung zu übermitteln.
  • Die HTTP-Anfragenachricht enthält Informationen über die gewünschte Ressource, wie z.B. den Pfad zur Ressource, den Hostnamen des Servers und optionale Informationen wie Cookies oder Authentifizierungsdaten.
  • Die HTTP-Antwortnachricht enthält Informationen über die angeforderte Ressource, wie z.B. den Statuscode, den Inhalt der Ressource und optionale Informationen wie Cookies oder Cache-Steuerungsinformationen.
  • Beide Nachrichtentypen sind in einem einfachen ASCII-Textformat geschrieben, das von Menschen gelesen werden kann.
33
Q

Was ist der Unterschied zwischen Nicht-persistente und persistente Verbindung?

A
  • Nicht-persistente Verbindung: Verbindung wird nach Lieferung des angeforderten Objekts sofort abgebaut.
  • Persistente Verbindung: Verbindung zwischen Client-Prozess und Server-Prozess bleibt offen für mehrere Anfragen und Antworten.
  • Bei nicht-persistenten Verbindungen wird die Verbindung nach Ablieferung der Antwortnachricht geschlossen.
  • Bei persistenter Verbindung bleibt die Verbindung offen, solange sie für eine bestimmte Zeitdauer benutzt wird.
  • Persistente Verbindungen mit Pipelining ermöglichen das Senden mehrerer Anfragen ohne Warten auf vorherige Antworten.
  • Pipelining kann die Verbindung besser auslasten und schnelleren Zugriff auf bereits geladene Teile des Dokuments ermöglichen.
34
Q

Welche Verbindungen unterstützen HTTP-Version 1.0 und HTTP-Version 1.1?

A
  • HTTP-Version 1.0: Unterstützt das TCP-Protokoll der Transportschicht für Nachrichtenaustausch.
  • HTTP-Version 1.0: Nutzt nicht-persistenten Verbindungen.
  • HTTP-Version 1.1: Unterstützt das TCP-Protokoll der Transportschicht für Nachrichtenaustausch.
  • HTTP-Version 1.1: Unterstützt sowohl nicht-persistenten als auch persistenten Verbindungen.
  • HTTP-Version 1.1: Abwärtskompatibel mit Version 1.0.
  • Web-Server, die Version 1.1 unterstützen, verstehen auch Anfragen gemäß Version 1.0.
  • Web-Browser, die Version 1.1 verwenden, passen sich auch Web-Servern an, die Version 1.0 betreiben.
35
Q

Welche Vorteile hat ein Web-Cache?

A
  • Reduzierung der Reaktionszeit: Direktes Senden von gecachten Objekten an den Client, ohne erneute Anforderung.
  • Reduzierung des Netzwerkverkehrs: Vermeidung von erneuter Anforderung gecachter Objekte vom ursprünglichen Host.
  • Entlastung des ursprünglichen Hosts: Keine erneute Bereitstellung gecachter Objekte durch den ursprünglichen Host.
  • Verbesserung der Skalierbarkeit: Gecachte Objekte können direkt an Clients gesendet werden, entlastet den Host.
  • Verbesserung der Verfügbarkeit: Gecachte Objekte können auch dann an Clients gesendet werden, wenn der ursprüngliche Host nicht verfügbar ist.
36
Q

Wie funktioniert ein Web-Cache?

A
  • Proxy-Server zwischen Client und Server: Positioniert sich zwischen Client und Server.
  • Speichert häufig angeforderte Objekte: Kopien gecachter Objekte werden gespeichert.
  • Anfrageverarbeitung im Web-Cache:
    • Überprüfung des Caches: Prüfung, ob das Objekt im Cache vorhanden ist.
    • Objekt im Cache: Direktes Senden an Client.
    • Objekt nicht im Cache:
      • Anforderung an ursprünglichen Host: Anfrage des Objekts wie ein Client.
      • Empfangenes Objekt wird im Cache gespeichert.
      • Objekt wird an Client gesendet.
  • Kooperative Funktionalität:
    • Objektaustausch zwischen Web-Caches zur Effizienzsteigerung.
  • Modifikation und Erweiterung:
    • Web-Caches können Anfragen, Antworten oder zusätzliche Dienste verändern oder hinzufügen.
  • Proxy-Server mit Dualfunktion: Operieren als Server und Client gleichzeitig.
  • Browser-Konfiguration: Browser-Anfragen werden zuerst an den Web-Cache gerichtet.
37
Q

Wie wird ein Prozess im Internet eindeutig identifiziert? oder wie wird ein Prozess im Internet adressiert?

A
  • Eindeutige Identifizierung: Kombination aus IP-Adresse und Portnummer.
  • IP-Adresse: Identifiziert den Host im Internet.
  • Zielhost-IP-Adresse erforderlich: Um Verbindung zu einem anderen Host herzustellen.
  • Portnummer: Identifiziert den Zielprozess auf einem Host.
  • 16-Bit-Nummer: Eindeutige Zuordnung zu einem Prozess.
  • Angabe der Zielprozess-Portnummer: Bei Verbindungsaufbau angegeben.
  • Adressierung eines Segments: An die Ziel-IP-Adresse und Zielprozess-Portnummer.
  • Weiterleitung an Zielprozess: Basierend auf IP-Adresse und Portnummer.
  • Multiplexen und Demultiplexen: Durch Kombination von IP-Adresse und Portnummer auf Vermittlungsschicht.
38
Q

Warum benutzt man nicht die Prozess-ID (Prozessnummer) sondern die Portnummer, um ein Prozess auf einem Rechner zu identifizieren?

A
  • PID (Prozess-ID): Lokale Nummer vom Betriebssystem zugewiesen.
  • Lokale Verwendung: Nur auf dem Host relevant, nicht im Netzwerk.
  • Portnummer: Im gesamten Netzwerk eindeutig.
  • Identifikation im Netzwerk: Prozess auf Hosts mit Netzwerkverbindungen.
  • Portzuordnung: Jeder solche Prozess hat eine Portnummer.
  • Multiplexen und Demultiplexen: Portnummer ermöglicht auf Vermittlungsschicht.
  • Segmentadressierung: An Host-IP-Adresse und Zielprozess-Portnummer.
  • Verbindungsherstellung: Prozesse auf verschiedenen Hosts identifiziert.
  • Portnummer über PID: Effizient und netzwerkweit eindeutig für Prozessidentifikation.
39
Q

Warum benutzen HTTP, FTP, SMTP, POP3 und IMAP nicht UDP, sondern TCP?

A
  • Zuverlässigkeit: TCP gewährleistet zuverlässige Datenübertragung, fordert verlorene oder beschädigte Segmente erneut an.
  • Flusskontrolle: TCP bietet Flusskontrolle, um Überlastung des Netzwerks zu verhindern und korrekte Übertragung zu gewährleisten.
  • Verbindungszustand: TCP speichert den Verbindungszustand, wichtig für Diensteigenschaften und Verwaltung der Verbindung.
  • Anwendungsanforderungen: HTTP, FTP, SMTP, POP3, IMAP haben spezifische Datenübertragungsanforderungen.
  • FTP: Große Dateiübertragung erfordert Segmentierung und korrekte Reihenfolge.
  • TCP besser geeignet: Zuverlässigkeit, Verbindungszustand und Datenübertragungsanforderungen.
  • Gesamtbild: TCP passt besser zu HTTP, FTP, SMTP, POP3 und IMAP-Anforderungen im Vergleich zu UDP.
40
Q

Welche zwei Dienstarten der Transportschicht bietet das Internet seinen Anwendungen?

A
  • Verbindungsorientierter Dienst (TCP): Zuverlässige, verbindungsorientierte Übertragung von Daten. Aufbau einer Verbindung vor Datenübertragung. Flusskontrolle, Fehlerkorrektur.
  • Verbindungsloser Dienst (UDP): Unzuverlässige, verbindungslose Übertragung von Daten. Keine Garantie für Ankunft oder Reihenfolge der Nachrichten.
  • TCP: Zuverlässige Datenübertragung, Verbindungsaufbau, Flusskontrolle, Fehlerkorrektur.
  • UDP: Schnelle Datenübertragung, Datenverluste möglich, keine Verbindungsaufbau.
  • Anwendungswahl: Verwendung von TCP für zuverlässige Übertragung, UDP für schnelle Übertragung mit tolerierbaren Datenverlusten.
41
Q

Welche Dienstmerkmale weisen sie auf?

A

Verbindungsorientierter Dienst (TCP):
- Zuverlässigkeit: Gewährleistet zuverlässige Übertragung, Flusskontrolle und Fehlerkorrektur.
- Verbindungszustand: Speichert den Verbindungszustand, benötigt mehr Ressourcen.
- Langsamere Übertragung: Aufgrund von Verbindungsaufbau und zusätzlichem Overhead etwas langsamer.

Verbindungsloser Dienst (UDP):
- Keine Zuverlässigkeit: Keine Garantie für Ankunft oder Reihenfolge der Nachrichten.
- Kein Verbindungszustand: Kein Verbindungsaufbau oder -zustand, geringerer Overhead, schneller.
- Schnellere Übertragung: Schneller als TCP, gut für Anwendungen mit geringem Bedarf an Zuverlässigkeit.

Die Wahl zwischen TCP und UDP sollte den Anforderungen der jeweiligen Anwendung entsprechen.

42
Q

Warum braucht man noch UDP, wenn TCP besser ist?

A

Obwohl TCP in vielen Aspekten überlegen ist, gibt es dennoch verschiedene Gründe, warum UDP weiterhin verwendet wird, auch wenn TCP als zuverlässiger gilt:

  1. Schnelligkeit: UDP ist schneller als TCP, da es weniger Overhead hat und keine Verbindung aufbauen muss. Dies ist entscheidend für Anwendungen wie Echtzeit-Kommunikation, Videostreaming und Online-Spiele, wo eine geringe Verzögerung wichtig ist.
  2. Einfachheit: UDP ist weniger komplex als TCP, da es keinen Verbindungszustand speichert. Dadurch ist es einfacher zu implementieren und erfordert weniger Ressourcen. Das ist besonders nützlich für Anwendungen mit vielen gleichzeitigen Verbindungen, wie z.B. Sprach- oder Videoanrufe.
  3. Geringerer Netzwerkverkehr: Der Header von UDP ist kleiner als der von TCP, wodurch weniger Netzwerkverkehr erzeugt wird. Dies ist vorteilhaft für Anwendungen, die viele kleine Nachrichten übertragen, wie zum Beispiel DNS-Anfragen.
  4. Keine Flusskontrolle: UDP hat keine eingebaute Flusskontrolle, was bedeutet, dass der Sender nicht auf die Bestätigung von Empfangsbestätigungen warten muss. Das macht es ideal für Anwendungen, bei denen Geschwindigkeit wichtiger ist als Datenintegrität, wie z.B. Livestreaming.

Insgesamt erfüllt UDP spezifische Anforderungen, die von TCP nicht optimal erfüllt werden können. Die Wahl zwischen den beiden hängt von den Prioritäten und Anforderungen der jeweiligen Anwendung ab.

43
Q

Bei welchen Anwendungen kann man UDP einsetzen? Warum?

A

UDP wird bevorzugt in Anwendungen eingesetzt, bei denen eine schnelle Datenübertragung wichtiger ist als absolute Zuverlässigkeit. Hier sind einige Anwendungen, in denen UDP häufig verwendet wird, zusammen mit den Gründen:

  1. Videostreaming: In Videostreaming-Anwendungen, sei es für Live-Übertragungen oder für das Streaming von Videos auf Abruf, ist die schnelle Übertragung der Daten entscheidend, um Pufferung und Verzögerung zu minimieren.
  2. Online-Spiele: Bei Online-Spielen ist die Echtzeitkommunikation zwischen Spielern von großer Bedeutung. UDP ermöglicht eine schnellere Aktualisierung des Spielstatus und minimiert Latenzzeiten.
  3. VoIP (Voice over IP): Bei Sprach- und Videotelefonie ist eine geringe Verzögerung wichtig, um natürliche Gespräche zu ermöglichen. UDP hilft dabei, Sprachdaten schnell zu übertragen.
  4. Streaming-Audio: Ähnlich wie beim Videostreaming erfordert das Streaming von Audiodaten eine reibungslose und schnelle Übertragung, um Unterbrechungen zu vermeiden.
  5. DNS-Anfragen: Das Domain Name System (DNS) verwendet oft UDP für seine Anfragen, da DNS-Anfragen klein und häufig sind. Die geringe Netzwerklast von UDP ist hier von Vorteil.
  6. IoT-Kommunikation: In Anwendungen des Internet der Dinge (IoT) wie Sensornetzwerken, bei denen viele kleine Datenpakete übertragen werden müssen, kann UDP effizient eingesetzt werden.

In diesen Anwendungen steht die Geschwindigkeit der Datenübertragung im Vordergrund, und einige Datenverluste können toleriert werden, ohne die Gesamtleistung der Anwendung signifikant zu beeinträchtigen.

44
Q

Was ist DNS?

A

Das “Domain Name System” (DNS) ist ein Protokoll der Anwendungsschicht, das die Aufgabe hat, menschenlesbare Hostnamen in numerische IP-Adressen umzuwandeln. Es spielt eine wichtige Rolle im Internet, da es ermöglicht, dass Benutzer Websites und andere Ressourcen anhand von leicht verständlichen Domainnamen anstelle von komplizierten IP-Adressen identifizieren können.

Hier sind einige wichtige Merkmale des DNS:

  1. Namensauflösung: Das DNS ermöglicht die Umwandlung von Domänennamen (wie www.example.com) in IP-Adressen (wie 192.0.2.1), die von Netzwerken verwendet werden, um Daten zu übertragen.
  2. Hierarchische Struktur: Das DNS ist in einer hierarchischen Struktur organisiert. Es gibt verschiedene Ebenen von DNS-Servern, die gemeinsam die Aufgabe der Namensauflösung erfüllen. Diese Hierarchie umfasst Root-Server, Top-Level-Domain-Server (TLD), autoritative Server der zweiten Ebene und lokale DNS-Server.
  3. Verteilte Datenbank: Das DNS arbeitet mit einer verteilten Datenbank, die auf den verschiedenen Ebenen der DNS-Server verteilt ist. Jeder Server kennt nur einen Teil des gesamten Namensraums.
  4. Caching: DNS-Server können Antworten für Anfragen zwischenspeichern, um die Leistung zu verbessern und die Belastung des Systems zu reduzieren. Dies ermöglicht schnellere Auflösungszeiten für häufig abgefragte Domänen.
  5. Auflösungsprozess: Wenn ein Gerät eine Domäne auflösen möchte, beginnt es bei einem lokalen DNS-Server. Wenn dieser die Antwort nicht kennt, fragt er andere DNS-Server in der Hierarchie, bis die richtige IP-Adresse gefunden ist.
  6. DNSSEC: DNS Security Extensions (DNSSEC) ist ein Sicherheitsmechanismus, der dazu dient, die Integrität und Authentizität der DNS-Antworten sicherzustellen und somit vor Manipulationen zu schützen.

Insgesamt ist das DNS ein entscheidendes Element im Internet, das die menschenlesbaren Domainnamen mit den numerischen IP-Adressen verknüpft, um die Kommunikation zwischen Geräten im Netzwerk zu ermöglichen.

45
Q

Welches Transportprotokoll im Internet benutzt DNS? Warum?

A

Das DNS-Protokoll benutzt in der Regel das User Datagram Protocol (UDP) als Transportprotokoll im Internet. Die Wahl von UDP für DNS hat mehrere Gründe:

  1. Schnelligkeit: UDP ist schneller als TCP, da es weniger Overhead hat und keine Verbindung aufbauen muss, bevor Daten übertragen werden können. DNS-Anfragen und -Antworten sind oft klein und erfordern eine schnelle Übertragung.
  2. Geringerer Overhead: UDP hat einen kleineren Header als TCP, was bedeutet, dass weniger zusätzliche Informationen in den Datenpaketen enthalten sind. Dies reduziert den Overhead bei der Übertragung von DNS-Anfragen und -Antworten.
  3. Einfachheit: UDP ist einfacher als TCP, da es keinen Verbindungszustand speichert. Dies erleichtert die Implementierung und den Betrieb von DNS-Servern und -Clients.
  4. Häufigkeit kleiner Anfragen: DNS-Anfragen sind oft kurz und erfordern keine zuverlässige Datenübertragung. Da UDP keine Bestätigungen oder erneuten Sendungen erfordert, ist es effizient für die meisten DNS-Transaktionen.

Es ist jedoch wichtig zu beachten, dass UDP unzuverlässig ist, d.h. es bietet keine Garantie für die erfolgreiche Übertragung von Daten. Für DNS-Anwendungen ist dies akzeptabel, da Anfragen oft wiederholt werden können, wenn eine Antwort verloren geht. In Fällen, in denen eine zuverlässige Übertragung erforderlich ist, kann das Transmission Control Protocol (TCP) als Alternative für DNS verwendet werden.

46
Q

Wie übersetzt DNS einen Hostnamen in die IP-Adresse?

A

Das DNS-System übersetzt einen Hostnamen in die zugehörige IP-Adresse mithilfe einer hierarchischen Struktur von DNS-Servern. Der Prozess sieht wie folgt aus:

  1. Anfrage des Clients: Ein Client, z.B. ein Web-Browser, sendet eine DNS-Anfrage an den lokalen DNS-Server, um die IP-Adresse eines bestimmten Hostnamens zu ermitteln.
  2. Lokaler DNS-Server: Der lokale DNS-Server überprüft zuerst seine eigene DNS-Datenbank. Wenn er den Eintrag für den angeforderten Hostnamen kennt, gibt er die zugehörige IP-Adresse zurück.
  3. Weiterleitung: Wenn der lokale DNS-Server den Eintrag nicht kennt, leitet er die Anfrage an einen übergeordneten DNS-Server weiter. Dieser übergeordnete Server könnte ein DNS-Server des Internet Service Providers (ISP) oder ein anderer öffentlicher DNS-Server sein.
  4. Hierarchie von DNS-Servern: Die Anfrage wird von einem DNS-Server zum nächsten weitergeleitet, wobei die Server sich in einer hierarchischen Struktur befinden. Diese Struktur umfasst Stufen wie die Root-DNS-Server, Top-Level-Domain-DNS-Server (z.B. .com, .org) und authoritative DNS-Server für bestimmte Domains.
  5. Auflösung: Die DNS-Server speichern DNS-Einträge, die den Hostnamen mit der zugehörigen IP-Adresse verknüpfen. Wenn ein DNS-Server eine Anfrage erhält, sucht er in seiner lokalen DNS-Datenbank nach einem Eintrag für den angeforderten Hostnamen und gibt die zugehörige IP-Adresse zurück, wenn er einen Eintrag findet.
  6. Antwort an den Client: Der DNS-Server, der den korrekten Eintrag für den Hostnamen gefunden hat, sendet die IP-Adresse an den lokalen DNS-Server, der sie wiederum an den ursprünglichen Client zurückgibt.

Dieser Prozess setzt sich fort, bis der DNS-Server gefunden wird, der den gesuchten DNS-Eintrag enthält. Dies ermöglicht es, dass der Client die korrekte IP-Adresse für den angegebenen Hostnamen erhält und somit die Verbindung zu diesem Host herstellen kann.

47
Q

Welche Fehlererkennung bietet UDP? Wie wird die (Internet-)Prüfsumme berechnet?

A

UDP bietet eine Fehlererkennung durch die Verwendung einer Prüfsumme im Header des UDP-Segments. Die Berechnung der (Internet-)Prüfsumme erfolgt folgendermaßen:

  1. Das 16-Bit-Segment wird in 16-Bit-Wörter aufgeteilt. Wenn die Länge des Segments ungerade ist, wird das letzte Byte mit Nullen aufgefüllt, um ein vollständiges 16-Bit-Wort zu erhalten.
  2. Die 1er-Komplement-Summe aller 16-Bit-Wörter wird berechnet. Dies bedeutet, dass alle 16-Bit-Wörter addiert werden, wobei das Übertragsbit nicht übertragen wird, sondern um 1 erhöht wird, wenn eine Übertragung auftritt.
  3. Das Ergebnis der Summe wird invertiert, um die Prüfsumme zu erhalten. Die Inversion erfolgt durch Bitweises Negieren aller Bits.
  4. Wenn mindestens ein Bit der invertierten Prüfsumme gleich 0 ist, wird davon ausgegangen, dass ein Übertragungsfehler aufgetreten ist.
  5. Der Empfänger berechnet die Prüfsumme erneut, indem er die gleichen Schritte auf das empfangene Segment anwendet. Wenn das Ergebnis der erneuten Berechnung nicht 1111111111111111 (0xFFFF) ist, wird auf einen Übertragungsfehler geschlossen.

Wenn ein Übertragungsfehler erkannt wird, wird das Segment normalerweise verworfen oder mit einer Warnung an den Anwendungsprozess weitergeleitet. Die Prüfsumme ermöglicht somit die Erkennung von Übertragungsfehlern und trägt zur Integrität der übertragenen Daten bei.

48
Q

Der TCP-Server im Abschnitt 3.3.5 benötigt zwei Sockets, während der UDP-Server in Abbildung 3.15 nur ein Socket braucht. Warum?

A

Der TCP-Server im Abschnitt 3.3.5 benötigt zwei Sockets, weil TCP eine Verbindung zwischen Client und Server herstellt, bevor Daten übertragen werden können. Der Server-Socket wird verwendet, um eingehende Verbindungen von Clients anzunehmen, während der Client-Socket verwendet wird, um Daten an den Client zu senden und von ihm zu empfangen. Im Gegensatz dazu ist UDP verbindungslos und es ist nicht erforderlich, eine Verbindung zwischen Client und Server herzustellen, bevor Daten übertragen werden können. Daher kann ein einzelner UDP-Socket sowohl für eingehende als auch für ausgehende Daten verwendet werden, ohne dass separate Sockets für eingehende und ausgehende Daten erforderlich sind.

49
Q

Warum muss das Server-Programm im Abschnitt 3.3.6 vor dem Client-Programm ausgeführt werden?

A
  • Der Server-Socket muss vor dem Client-Programm erstellt werden.
  • Der Client benötigt eine vorhandene Server-Verbindung zum Aufbau.
  • Wenn der Server-Socket nicht existiert, schlägt die Verbindung fehl.
  • Der Server muss gestartet sein, um auf eingehende Verbindungen zu warten.
  • Erst nach dem Start des Servers kann der Client eine Verbindung herstellen.
50
Q

Was bedeuten Multiplexen und Demultiplexen?

A
  • Multiplexen: Das Hinzufügen von Kontrollinformationen zu Nachrichten vor der Übergabe an die Vermittlungsschicht zur Verteilung an verschiedene Empfängerprozesse.
  • Demultiplexen: Die Identifizierung des korrekten Empfängerprozesses in einem empfangenen Segment mithilfe der Felder SourcePort und DestinationPort im Segmentheader.
  • Multiplexen erweitert die Kommunikation von Host-zu-Host auf Prozess-zu-Prozess.
  • Demultiplexen erfordert die Angabe der Portnummern des Ziel- und Senderprozesses.
  • Diese Prozesse sind Teil der Kommunikation auf der Vermittlungsschicht.
51
Q

Bei wem (Sender, Empfänger) findet Multiplexen bzw. Demultiplexen statt?

A
  • Multiplexen: Beim Sender
  • Demultiplexen: Beim Empfänger
  • Multiplexen: Hinzufügen von Portnummern zum Segmentheader beim Sender
  • Demultiplexen: Identifizieren des korrekten Empfängerprozesses anhand von Portnummern im Segmentheader beim Empfänger
52
Q

Wann passiert Multiplexen bzw. Demultiplexen?

A
  • Multiplexen: Bei der Prozess-zu-Prozess-Kommunikation, wenn das sendende Transportprotokoll Kontrollinformationen zum Segment hinzufügt, bevor es zur Vermittlungsschicht übergeben wird.
  • Demultiplexen: Bei der Prozess-zu-Prozess-Kommunikation, wenn das empfangende Transportprotokoll mittels der Felder SourcePort und DestinationPort im Segmentheader den korrekten Empfängerprozess identifiziert und das Segment zu diesem Prozess stellt.
53
Q

Welche Informationen werden bei Multiplexen und Demultiplexen benötigt?

A
  • Multiplexen: Portnummern des Quellprozesses und des Zielprozesses.
  • Demultiplexen: Portnummern des Senderprozesses und des Zielprozesses, um die logische Kommunikationsverbindung eindeutig zu definieren und das Segment zum richtigen Empfängerprozess zu stellen.
54
Q

Was bedeutet die Zuverlässigkeit?

A
  • Die Zuverlässigkeit bezieht sich auf die Fähigkeit eines Netzwerks, Datenverluste zu vermeiden, sodass Anwendungen sicherstellen können, dass die übertragenen Daten vollständig und unverändert beim Empfänger ankommen.
55
Q

Wie wird die Zuverlässigkeit der Datenübertragung erreicht oder welche Mechanismen (Prinzipien) benutzt man, um die Datenübertragung zuverlässig zu machen?

A
  • Fehlererkennungs- und Fehlerkorrekturverfahren: Durch die Hinzufügung von Prüfsummen oder anderen Fehlererkennungsmechanismen können Fehler in den Daten erkannt werden. Bei Erkennung eines Fehlers kann das System die Daten erneut anfordern.
  • Sequenznummern: Durch die Verwendung von Sequenznummern können Datenpakete in der richtigen Reihenfolge wiederhergestellt werden, falls sie nicht in der korrekten Reihenfolge ankommen.
  • Bestätigungen: Der Empfänger sendet Bestätigungen (ACKs) an den Sender, um den Empfang korrekt übertragener Datenpakete zu bestätigen. Wenn der Sender keine Bestätigung erhält, sendet er die Daten erneut.
  • Timeouts: Wenn der Sender nach einer bestimmten Zeitspanne keine Bestätigung erhält, geht er davon aus, dass das Datenpaket verloren gegangen ist, und sendet es erneut.
  • Flusskontrolle: Durch die Verwendung von Flusskontrolle kann der Senderprozess verlangsamt werden, um den Empfängerprozess nicht zu überlasten.

Diese Mechanismen und Prinzipien tragen dazu bei, eine zuverlässige Datenübertragung zu gewährleisten.

56
Q

Wie funktioniert ein Stop-and-Wait-Protokoll?

A
  • Der Sender sendet ein Datenpaket an den Empfänger.
  • Der Sender wartet auf eine Bestätigung (ACK) vom Empfänger.
  • Wenn der Empfänger das Paket korrekt empfangen hat, sendet er ein ACK zurück an den Sender.
  • Wenn der Empfänger das Paket nicht korrekt empfangen hat, sendet er ein NACK zurück an den Sender.
  • Bei Erhalt eines NACK sendet der Sender das Paket erneut.
  • Das Protokoll wiederholt diesen Ablauf für jedes Datenpaket.
  • Der Sender muss immer auf eine Bestätigung warten, bevor er das nächste Paket senden kann.
  • Das Stop-and-Wait-Protokoll ist einfach, aber ineffizient, da der Sender viel Zeit mit Warten verbringt.
57
Q

Warum sind die Stop-and-Wait- und Alternating-Bit-Protokolle nicht effizient?

A
  • Die Stop-and-Wait- und Alternating-Bit-Protokolle sind nicht effizient, weil der Sender immer auf eine Bestätigung warten muss, bevor er das nächste Paket senden kann.
  • Die Übertragungsgeschwindigkeit dieser Protokolle wird durch die Round-Trip-Time (RTT) des Netzwerks begrenzt.
  • Bei diesen Protokollen wird die Bandbreite des Netzwerks nicht optimal ausgenutzt, da der Sender jeweils nur ein Paket sendet, unabhängig von der verfügbaren Bandbreite.
  • Praktischere Protokolle wie das Go-Back-N-Protokoll oder das Selective-Repeat-Protokoll werden verwendet, um mehrere Pakete gleichzeitig zu senden und die Netzwerkbandbreite besser zu nutzen.
58
Q

Welche Voraussetzung gibt es für das Alternating-Bit-Protokoll?

A
  • Das Alternating-Bit-Protokoll ist für die zuverlässige Datenübertragung über einen verlustbehafteten Kanal mit Bitfehlern konzipiert.
  • Die Sequenznummern der Pakete alternieren immer zwischen 0 und 1.
  • Die Wahl der Länge des Timeout-Intervalls ist entscheidend, um die Effizienz des Protokolls sicherzustellen.
59
Q

Warum kann man die Sequenznummern 0 und 1 beim Alternating-Bit-Protokoll verwenden?

A
  • Beim Alternating-Bit-Protokoll werden die Sequenznummern der Pakete immer zwischen 0 und 1 alterniert.
  • Dies liegt daran, dass das Protokoll nur zwei Zustände hat: den Zustand, in dem der Sender auf eine Bestätigung (ACK) für das zuletzt gesendete Paket wartet, und den Zustand, in dem der Sender ein neues Paket senden kann.
  • Die Verwendung von nur zwei Sequenznummern vereinfacht die Implementierung und das Verständnis des Protokolls.
  • Außerdem erleichtert es die Fehlererkennung, da der Empfänger nur zwei mögliche Sequenznummern erwartet.
60
Q

Was ist ein Fenster-Protokoll?

A
  • Ein Fenster-Protokoll ist ein Protokoll für die zuverlässige Datenübertragung über einen verlustbehafteten Kanal.
  • Es ermöglicht das Senden mehrerer Pakete, bevor eine Bestätigung des Empfängers eintreffen muss.
  • Pakete werden nummeriert, um den Überblick über die übertragene Datenmenge zu behalten.
  • Die Fenstergröße legt fest, wie viele Pakete gesendet werden dürfen, ohne dass die vorhergehenden Pakete bestätigt werden müssen.
  • Ein Sendefenster enthält die Paketnummern, die der Sender aktuell beim Versenden von Paketen verwenden darf.
  • Der Empfänger bestätigt normalerweise nicht jedes einzelne Paket, sondern den Empfang einer korrekt empfangenen Paketfolge (kumulative Bestätigung).
  • Dazu sendet der Empfänger die Nummer des letzten in der Folge korrekt empfangenen Pakets.
61
Q

Welche Möglichkeiten hat der Empfänger bei der Bestätigung?

A

Der Empfänger hat bei der Bestätigung bei einem Fenster-Protokoll mit einer Fenstergröße größer als 1 folgende Möglichkeiten:

  1. Go-Back-N (Go-Back-N Sliding-Window-Protokoll): Der Empfänger kann den Sender auffordern, das fehlerhafte Paket und alle danach bereits gesendeten (n - 1) Folgepakete erneut zu senden.
  2. Selective Repeat (Selective-Reject-Protokoll): Der Empfänger kann den Sender auffordern, nur das fehlerhafte Paket erneut zu senden und die nachfolgenden Pakete in der Sendewarteschlange zu belassen.
62
Q

Was ist der Unterschied zwischen kumulative Bestätigung und Selektive Bestätigung?

A

Der Unterschied zwischen kumulativer Bestätigung und selektiver Bestätigung ist wie folgt:

Kumulative Bestätigung:
- Der Empfänger bestätigt den Empfang einer korrekt empfangenen Paketfolge.
- Die Bestätigung enthält die Nummer des letzten in der Folge korrekt empfangenen Pakets.
- Alle Pakete bis zu dieser Nummer gelten als empfangen.

Selektive Bestätigung:
- Der Empfänger bestätigt nur das korrekt empfangene Paket.
- Der Sender wird aufgefordert, nur das fehlerhafte Paket erneut zu senden und die nachfolgenden Pakete in der Sendewarteschlange zu belassen.

Die kumulative Bestätigung wird bei Protokollen mit einer Fenstergröße größer als 1 verwendet, während die selektive Bestätigung bei Protokollen mit einer Fenstergröße von 1 eingesetzt wird.

63
Q

Warum ist das Sliding-Window-Protokoll besser als Stop-and-Wait-Protokolle?

A

Das Sliding-Window-Protokoll ist besser als Stop-and-Wait-Protokolle aus folgenden Gründen:

  • Höhere Übertragungseffizienz: Im Sliding-Window-Protokoll können mehrere Pakete hintereinander gesendet werden, bevor eine Bestätigung eintrifft. Dadurch wird der Kanal besser ausgelastet und die Datenübertragung effizienter.
  • Geringere Wartezeiten: Bei Stop-and-Wait-Protokollen muss der Sender nach jedem gesendeten Paket auf die Bestätigung warten, was zu Wartezeiten führt. Im Sliding-Window-Protokoll kann der Sender kontinuierlich Pakete senden, ohne auf jede einzelne Bestätigung warten zu müssen.
  • Nutzung größerer Fenstergrößen: Das Sliding-Window-Protokoll erlaubt die Verwendung von Fenstergrößen größer als 1, was bedeutet, dass mehrere Pakete in einem “Fenster” gesendet werden können, bevor eine Bestätigung benötigt wird. Dies erhöht die Effizienz der Datenübertragung.
  • Bessere Ausnutzung der Bandbreite: Durch die Möglichkeit, mehrere Pakete im Voraus zu senden, wird die Bandbreite des Kanals besser genutzt, da der Sender nicht ständig auf Bestätigungen warten muss.

Insgesamt bietet das Sliding-Window-Protokoll eine schnellere und effizientere Datenübertragung im Vergleich zu Stop-and-Wait-Protokollen.

64
Q

Wie wird der Aufbau der Verbindung bei TCP durchgeführt?

A

Der Aufbau einer Verbindung bei TCP erfolgt durch einen Drei-Wege-Handshake, bei dem der Client in drei Schritten vorgeht:

  1. Schritt 1 - SYN senden: Der Client sendet ein SYN-Segment an den Server. Dieses Segment hat das SYN-Bit im Header auf 1 gesetzt und enthält eine initiale Sequenznummer (client_isn), die vom Client-TCP gewählt wurde.
  2. Schritt 2 - SYNACK empfangen: Der Server antwortet mit einem SYNACK-Segment. Dieses Segment hat sowohl das SYN-Bit als auch das ACK-Bit im Header auf 1 gesetzt. Es enthält auch die vom Server-TCP gewählte initiale Sequenznummer (server_isn) als Bestätigung der Sequenznummer des Clients.
  3. Schritt 3 - ACK senden: Der Client sendet ein ACK-Segment an den Server. Dieses Segment hat das ACK-Bit im Header auf 1 gesetzt und enthält die vom Server-TCP gewählte Sequenznummer als Bestätigung.

Nach Abschluss dieses Drei-Wege-Handshakes ist die Verbindung zwischen Client und Server aufgebaut und der Datenaustausch kann beginnen.

65
Q

Welche Informationen werden beim Aufbau der Verbindung ausgetauscht?

A

Beim Aufbau einer Verbindung bei TCP werden folgende Informationen ausgetauscht:

  1. Schritt 1 - Client sendet SYN: Der Client sendet ein SYN-Segment an das Server-TCP. Dieses Segment hat das SYN-Bit im Header auf 1 gesetzt und enthält die initiale Sequenznummer (client_isn), die vom Client-TCP gewählt wurde.
  2. Schritt 2 - Server sendet SYNACK: Der Server antwortet mit einem SYNACK-Segment. Dieses Segment hat sowohl das SYN-Bit als auch das ACK-Bit im Header auf 1 gesetzt. Es enthält auch die initiale Sequenznummer (server_isn), die vom Server-TCP gewählt wurde. Das ACK-Feld des SYNACK-Segments enthält die Sequenznummer (client_isn) des Clients als Bestätigung des SYN-Segments.
  3. Schritt 3 - Client sendet ACK: Der Client sendet ein ACK-Segment an den Server. Dieses Segment hat das ACK-Bit im Header auf 1 gesetzt und enthält die Sequenznummer (server_isn) des Servers als Bestätigung des SYNACK-Segments.

Nach diesem Drei-Wege-Handshake ist die Verbindung aufgebaut und es können Daten zwischen Client und Server ausgetauscht werden.

66
Q

Warum reicht nicht ein Zwei-Wege-Handschlag bei TCP aus?

A
  • Zwei-Wege-Handschlag legt keine initiale Sequenznummer für die Verbindung fest.
  • Fehlende initiale Sequenznummer kann zu Problemen bei der Datenübertragung führen.
  • Sequenznummern dienen der Identifikation und Reihenfolge der übertragenen Daten.
  • Drei-Wege-Handshake ermöglicht Festlegung einer initialen Sequenznummer durch den Client.
  • Server-TCP bestätigt die Sequenznummer und wählt eine eigene initiale Sequenznummer.
  • Dadurch wird eine eindeutige Sequenznummer für beide Seiten der Verbindung sichergestellt.
  • Korrekte Übertragung und Reihenfolge der Daten werden gewährleistet.
  • Drei-Wege-Handshake ermöglicht auch die Bestätigung des Empfangs von Nachrichten.
  • Aufbau einer zuverlässigen Verbindung zwischen Client und Server wird ermöglicht.
67
Q

Warum sind die beiden initialen Sequenznummern beim Aufbau der TCP-Verbindung erforderlich?

A
  • Erforderlich für Übertragung von Daten zwischen Client und Server.
  • Gewährleistung der richtigen Reihenfolge der empfangenen Daten.
  • TCP nummeriert jedes Byte im Datenstrom zwischen Sender und Empfänger.
  • Sequenznummer eines Segments definiert die Bytestromnummer des ersten Bytes im Segment.
  • Client-TCP und Server-TCP wählen jeweils eine initiale Sequenznummer.
  • Austausch der initialen Sequenznummern identifiziert Übertragung von Daten.
  • Ohne initialen Sequenznummern könnten Probleme bei Datenübertragung auftreten.
  • Sequenznummern dienen zur Identifikation und Reihenfolge der Daten.
  • Austausch sicherstellt eindeutige Sequenznummern für korrekte Datenübertragung.
68
Q

Wie sieht ein TCP-Segment aus?

A

Ein TCP-Segment besteht aus:

  • Header-Feld (20 Byte): Enthält Steuerinformationen.
  • Optionsfeld (variable Länge): Optionale Informationen.
  • Anwendungsdaten: Zu übertragende Nutzdaten.

Der TCP-Header enthält folgende Felder:

  • Source Port Number (2 Byte): Port-Nummer des sendenden Prozesses.
  • Destination Port Number (2 Byte): Port-Nummer des empfangenden Prozesses.
  • Sequence Number (4 Byte): Nummer des ersten Bytes im Segment.
  • Acknowledgment Number (4 Byte): Nummer des erwarteten nächsten Bytes.
  • Header Length (4 Bit): Länge des TCP-Headers in 32-Bit-Wörtern.
  • Reserved (6 Bit): Reserviert für zukünftige Erweiterungen.
  • Flags (6 Bit): Steuerbits wie SYN, ACK, FIN, RST.
  • Window Size (2 Byte): Größe des Empfängerfensters.
  • Checksum (2 Byte): Prüfsumme zur Fehlererkennung.
  • Urgent Pointer (2 Byte): Zeiger auf dringende Daten.
  • Options (variable Länge): Optionale Felder wie Maximum Segment Size (MSS).

Die maximale Segmentgröße ist implementierungsabhängig und sollte zur IP-Datagrammgröße passen. Typische MSS sind z.B. 1460 Byte, 536 Byte oder 512 Byte (max. 64 KB in IP Version 4).

69
Q

Gibt es eine Einschränkung auf die Größe eines TCP-Segments?

A

Ja, es gibt eine Einschränkung auf die Größe eines TCP-Segments:

  • Die maximale Anzahl von Bytes, die in einem Segment übertragen werden können, ist implementierungsabhängig und sollte zur Datagrammgröße der Vermittlungsschicht (IP-Protokoll) passen.
  • Übliche maximale Segmentgrößen (Maximum Segment Size, MSS) sind z. B. 1460 Byte, 536 Byte oder 512 Byte.
  • In IP Version 4 beträgt die maximale Segmentgröße maximal 64 KB.
70
Q

Wodurch wird die Größe eines TCP-Segments trotzdem eingeschränkt?

A

Die Größe eines TCP-Segments wird trotzdem durch die maximale Anzahl von Bytes begrenzt, die in einem Segment übertragen werden können:

  • Die maximale Segmentgröße (Maximum Segment Size, MSS) ist implementierungsabhängig und sollte zur Datagrammgröße der Vermittlungsschicht (IP-Protokoll) passen.
  • Die maximale Segmentgröße wird normalerweise durch die maximale Größe des IP-Datagramms begrenzt, das von der Vermittlungsschicht (z.B. IPv4 oder IPv6) unterstützt wird.
  • Wenn ein TCP-Segment größer als die maximale Segmentgröße ist, wird es in mehrere kleinere Segmente aufgeteilt, um übertragen zu werden.
71
Q

Warum können beliebig viele Segmente mit einer TCP-Verbindung gesendet werden,
obwohl die Sequenznummer von TCP-Segmenten begrenzt ist?

A

Obwohl die Sequenznummer von TCP-Segmenten begrenzt ist, können theoretisch beliebig viele Segmente über eine TCP-Verbindung gesendet werden, weil:

  • Die Sequenznummern in einem zyklischen Bereich von 2^32 liegen.
  • Wenn die maximale Sequenznummer erreicht ist, beginnt die Sequenznummer wieder bei 0.
  • Da die Sequenznummern in einem zyklischen Bereich liegen, können beliebig viele Segmente gesendet werden, solange die Sequenznummern nicht zu schnell wiederverwendet werden.
72
Q

Wie wird die Sequenznummer eines Segments definiert?

A
  • Die Sequenznummer eines TCP-Segments wird als die Bytestromnummer des ersten Bytes im Segment definiert.
73
Q

Wie wird der zuverlässige Datentransfer hier realisiert?

A
  • TCP erkennt und behebt Datenverluste, um zuverlässige Übertragung sicherzustellen.
  • Es gewährleistet eine gleichbleibende Reihenfolge der übertragenen Daten.
  • TCP nummeriert jedes Byte im Datenstrom zwischen Sender und Empfänger.
  • Die Sequenznummer eines Segments wird als Bytestromnummer des ersten Bytes im Segment definiert.
  • Sequenz- und Bestätigungsnummern werden verwendet, um korrekte Reihenfolge und Verlustfreiheit zu gewährleisten.
74
Q

Warum wiederholt (fast retransmit) der Sender die erneut Übertragung eines Segments erst, wenn er vier ACK dafür erhalten hat?

A
  • Der Sender wiederholt die Übertragung eines Segments nicht erst nach Erhalt von vier ACKs, sondern nach Erhalt von drei Duplikat-ACKs.
  • Dieses Verfahren, bekannt als Fast-Retransmit, beschleunigt die Wiederübertragung verlorener Segmente, ohne auf den Ablauf eines Timers zu warten.
  • Der Sender geht davon aus, dass ein Segment verloren gegangen ist, wenn er drei aufeinanderfolgende ACKs für dasselbe Segment erhält.
  • Dies zeigt an, dass der Empfänger das Segment empfangen hat, aber das ACK für das Segment verloren gegangen ist.
75
Q

Wie funktioniert die Flusskontrolle bei TCP?

A
  • TCP bietet einen Flusskontrolldienst, um das Problem des Empfangspufferüberlaufs beim Empfänger zu lösen.
  • Jeder TCP-Prozess besitzt eine Variable namens Empfangsfenster, die den verfügbaren freien Pufferplatz beim Empfänger angibt.
  • Beim Senden von Daten zieht der Sender den benötigten Speicherplatz vom Empfangsfenster ab.
  • Wenn kein freier Platz im Empfangsfenster vorhanden ist, stoppt der Sender das Senden von weiteren Daten.
  • Der Empfänger informiert den Sender in jedem Segment über das WINDOW-Feld des TCP-Headers darüber, wie viel freien Platz er im Puffer hat.
76
Q

Welche Ziele verfolgen die Flusskontrolle und Überlastungskontrolle?

A
  • Flusskontrolle: Vermeidung des Empfangspufferüberlaufs beim Empfänger durch Begrenzung der Senderate.
  • Empfänger teilt dem Sender in jedem Segment den freien Pufferplatz mit, Sender passt Rate entsprechend an.
  • Überlastungskontrolle: Vermeidung von Netzwerküberlastung durch Begrenzung der Senderate.
  • TCP passt Senderate anhand von Netzwerk-Rückmeldungen an, um Überlastung zu vermeiden.
  • Diese Mechanismen gewährleisten zuverlässige und effiziente Datenübertragung.
77
Q

Wie groß muss ein Empfangsfenster mindestens sein?

A

Die Größe des Empfangsfensters hängt von verschiedenen Faktoren ab:
- Empfangspuffergröße beim Empfänger
- Verfügbarkeit der Netzwerkbandbreite
- Es gibt keine feste Mindestgröße
- Soll ausreichend sein, um effiziente Datenübertragung zu ermöglichen
- Vermeidung von Empfangspufferüberlauf beim Empfänger
- Zu kleines Fenster kann zu Übertragungsverzögerungen führen