Sie sind auf Seite 1von 62

Webbasierte Anwendungen

Internet Protocol Suite (TCP/IP)


Univ.-Prof. Dr.-Ing. habil. Gero Mühl

Architektur von Anwendungssystemen (AVA)


Fakultät für Informatik und Elektrotechnik (IEF)
Universität Rostock
Überblick

> TCP/IP-Referenzmodell
> Schichtenmodelle
> TCP/IP-Modell
> Internetschicht
> Internet Protocol (IP)
> Transportschicht
> Transmission Control Protocol (TCP)
> Datenfluss- und Überlastkontrolle
> Dienstgüte
> Leaky Bucket und Token Bucket
> Integrated Services und Differentiated Services

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 2


TCP/IP-Referenzmodell

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 3


Schichtenmodelle
> In hierarchischen Architekturen gibt es Schichten
mit verschiedenen Funktionen

> Jede Schicht


> realisiert eine bestimmte Funktionalität
> bietet der jeweils nächst höheren Schicht ihre Dienste
mittels einer festgelegte Schnittstelle an
> nutzt Dienste der jeweils nächst niedrigeren Schicht
zur eigenen Funktionserbringung
> abstrahiert von Details der Implementierung

> Ziele
> Geringere Komplexität
> Austauschbarkeit der Implementierungen
der einzelnen Schichten

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 4


Protokoll
> Ein Protokoll der Schicht n legt fest, wie Schicht n der Maschine A
mit Schicht n der Maschine B kommuniziert
> Eine Protokollhierarchie (engl. Protocol Stack)
besteht aus mehreren übereinander angeordneten Schichten
> Hierbei baut Schicht n mit n > 1 auf dem Dienst auf, den Schicht
n – 1 erbringt, ohne deren Implementierungsdetails zu kennen
> Beim Senden leitet jede Schicht die Daten an die darunterliegende
Schicht weiter, bis die unterste Schicht erreicht ist
> In jeder Schicht können die Daten transformiert (z.B. aufgeteilt) und
zusätzliche Informationen (z.B. Header, Trailer) hinzugefügt werden
> Der Empfang erfolgt entsprechend umgekehrt

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 5


Protokollhierarchien

Schicht 3 Schicht 3
Schicht 3-Protokoll

Schicht 2/3- Schicht 2/3-


Schnittstelle Schnittstelle

Schicht 2 Schicht 2
Schicht 2-Protokoll
Schicht 1/2- Schicht 1/2-
Schnittstelle Schnittstelle

Schicht 1 Schicht 1
Schicht 1-Protokoll

Physikalisches Medium

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 6


Protokollhierarchien PhilosophIn/ÜbersetzerIn/
SekretärIn-Architektur

I like Nachricht Philosoph J‘aime


rabbits. les lapins.

Deutsch Information Übersetzerin Deutsch


Ich mag für entfernte Ich mag
Kaninchen. Übersetzerin Kaninchen.

Fax # ----- Information Sekretär Fax # -----


Deutsch für entfernten Deutsch
Ich mag Sekretär Ich mag
Kaninchen. Kaninchen.

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 7


Informationsfluss

M M
M: Gesamte Nachricht
Mi: Teilnachricht i
Hi: Header der Schicht i
H3 M H3 M

H2 H3 M1 H2 M2 H2 H3 M1 H2 M2

H1 H2 H3 M1 H1 H2 M2 H1 H2 H3 M1 H1 H2 M2

1. 2. 1. 2.

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 8


Leitungsvermittelt vs. Paketvermittelt
> Leitungsvermittelt
> Bevor zwei Rechner Nutzdaten austauschen, wird ein
Weg festgelegt, über den alle Daten vom Sender
zum Empfänger und vice versa übertragen werden
> Oft wird Bandbreite für die Übertragung reserviert
> Analog zur ursprünglichen Realisierung des Telefonnetzes

> Paketvermittelt
> Jedes Paket reist unabhängig von anderen Paketen vom Sender
zum Empfänger und nimmt potentiell einen anderen Weg
> Einfachere Realisierung, aber Pakete können in einer anderen
Reihenfolge ankommen, als sie gesendet wurden

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 9


Verbindungslos vs. Verbindungsorientiert

> Verbindungslos
> Direkter Austausch von Nutzdaten ohne
vorherige Abstimmung
> Unidirektionale Kommunikation möglich

> Verbindungsorientiert
> Vor dem Austausch von Nutzdaten Verbindungsaubau
zwischen den Kommunikationspartnern
> Setzt bidirektionale Kommunikation voraus
> Voraussetzung für zuverlässige Ende-zu-Ende-Kommunikation
und Ende-zu-Ende-Flusssteuerung
> Zwei häufige Variationen zuverlässiger Ende-zu-Ende-
Kommunikation: Nachrichtenfolgen und Byteströme

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 10


Kombinationsmöglichkeiten

Leitungsvermittelt Paketvermittelt

Verbindungslos Rohrpost UDP/IP

Verbindungsorientiert Analoges Telefon TCP/IP

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 11


TCP/IP-Referenzmodell
> Verarbeitung
> Stellt Anwendungsprotokolle bereit (z.B. HTTP, FTP oder SMTP)
> Transport
> Kommunikation zwischen Anwendungen
> TCP: verbindungsorientierte, zuverlässige, Verarbeitung
Kommunikation auf Basis von Byteströmen
> UDP: unzuverlässige, verbindungslose Transport
Kommunikation auf Basis von Datenpaketen
Internet
> Internet
> Ende-zu-Ende Senden und Empfangen
Host-an-Netz
einzelner Pakete zwischen Rechnern
> Host-an-Netz
> Senden, Weiterleiten und Empfangen von Paketen
zwischen direkt verbundenen Rechnern

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 12


TCP/IP-Referenzmodell

Verarbeitung Verarbeitung

Transport Transport

Internet Internet Internet

Host-an-Netz Host-an-Netz Host-an-Netz

Gateway (Router)

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 13


TCP/IP-Referenzmodell

HTTP, SMTP, DNS, IMAP


Verarbeitung
Protokolle TCP, UDP
Transport

IP
Internet
Netze LAN, ATM, FDDI, WLAN
Host-an-Netz
Quelle: Wikipedia

> Internet-Schicht/Internet-Protokoll (IP)


> Verbirgt verschiedenste Netzwerke und Netzwerktechnologien
> Bildet die Basis unterschiedlichster Dienste und Anwendungen

 Stundenglas-Architektur

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 14


TCP/IP – Kommunikationsbeispiel
Internet-Protokoll (IP)
> IP-Adresse identifiziert Rechner
IP-Adresse Transport-Protokoll (TCP, UDP)
192.168.0.3
> Port-Nummer identifiziert
Applikation Port
Dienst/Anwendung
Mail-Client 50123
Browser 52987
IP-Adresse
192.168.0.1

IP-Adresse
192.168.0.2
Port Dienst
Applikation Port 25 Mail
Browser 49654 80 WWW
Netz
Client Server

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 15


Fragen?

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 16


Internetschicht

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 17


Internet Protocol (IPv4)
> IP als kleinster gemeinsamer Nenner ermöglicht Austausch
von Datenpaketen zwischen beliebigen Rechnern
 unterste Schicht mit Ende-zu-Ende Bedeutung
> Einheitliches, internetweit gültiges Adressierungsschema
> Jeder Rechner (strenggenommen jede Netzwerkkarte)
erhält eindeutige Kennung  IP-Adresse

> Verbindungslose Weiterleitung von Datenpaketen


vom Quellrechner zum Zielrechner
> Best Effort-Kommunikation
> Pakete können verändert oder dupliziert werden,
verloren gehen, etc.

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 18


IP-Paket

Version IHL TOS Total Length


D MF
Identification F Fragment Offset
TTL Protocol Header Checksum

Header
Source Address
Destination Address

Options

Content
Data

32 Bit

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 19


Fragmentierung bei IP
> Jedes Paket trägt die Information (d.h. Quell- und Zieladresse),
um von der Quelle zum Ziel zu gelangen
> Pakete, die für das physikalische Netzwerk zu groß sind,
werden in kleinere Fragmente aufgeteilt
> Die Fragmente werden unterwegs nicht mehr zusammengesetzt,
sondern jedes Fragment reist als eigenständiges IP-Datagramm

Ethernet Punkt-zu-Punkt FDDI


1 ETH 1400 2 PPP 512 3 FDDI 512 4
PPP 512 FDDI 512
PPP 376 FDDI 376

x 0 0 x 1 0 x 1 512 x 0 1024

1400 512 512 376

More Framents-Flag Offset


G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 20
IP-Subnetze
> Ermöglichen eine für die Außenwelt transparente Aufteilung
eines größeren Netzes in mehrere kleinere
> Interpretation eines Teils der Rechneradresse als Subnetz-Adresse
> Erkennung, ob Zieladresse in eigenem Subnetz liegt,
durch logische UND-Verknüpfung mit der Subnetzmaske
> Ist das Ergebnis gleich der eigenen Subnetznummer, dann direktes
Senden; sonst indirektes Senden über Router
> Beispiel
27 = 128 Subnetze
16 7 9
Netz Subnetz Rechner

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0

Subnetzmaske = 255.255.254.0
Alternative Notation: /23 29 - 2 = 510 Rechner

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 21


IP-Routing

> Wie gelangen IP-Pakete durch evtl. mehrere Netze zum Ziel?

> Routing-Tabellen
> Ordnen IP-Adressen die nächste zu wählende Teilstrecke zu
> Direktes Routing (im selben Netz)
> Indirektes Routing (über einen Router)

> Tabelle enthält IP-Adressen, keine physischen Adressen


> Routing-Entscheidungen unabhängig von physischen Adressen
> Verbirgt Details der Netze vor IP, klare Separation
> Isoliert Routing-Information in Routing-Tabellen

> IP-Routing ändert die Adressen von Quelle und Ziel nicht
> Paket wird „hopweise“ weitergereicht, bis es sein Ziel erreicht

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 22


IP-Routing-Protokolle

> Aktualisieren die Routing-Tabellen


> Intradomain- vs. Interdomain-Routing

> Beispiele für Intradomain-Routing-Protokolle


> Routing Information Protocol (RIP) [RFC 1058]
> Router tauschen periodisch Distanzvektoren aus
> Vektor beinhaltet, Entfernung zu anderen Netzen in „Hops“
> Open Shortest Path First (OSPF) [RFC 1247]
> Jeder Router kennt Netzwerk und berechnet kürzesten Pfad

> Beispiel für Interdomain Routing-Protokolle


> Border Gateway Protocol (BGP) [RFC 1654]

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 23


Fragen?

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 24


Transportschicht

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 25


Transmission Control Protocol (TCP)

> RFCs 793, 1122, 1323

> Bereitstellung eines zuverlässigen bidirektionalen Bytestroms


zwischen 2 Endpunkten in unzuverlässigem Netzverbund
> Endpunkt: IP-Adresse + TCP-Portnummer
(z.B. 139.30.1.211:80)

> Verbindungsorientierter Transportdienst


> Teilt Anwendungsdaten in Blöcke (Segments) à max. 64 KBytes
(meistens ca. 1500 Bytes), die als IP-Paket versandt werden
> Sliding Window Protocol
für Fehlerbehandlung und Flusskontrolle

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 26


Zuverlässiger Bytestrom

> Die Anwendungsdaten (Bytestrom) werden fehlerfrei


empfangen, ohne Datenverluste oder -duplikate, in der
Reihenfolge, in der sie gesendet wurden

> Dies wird durch das Versenden der Pakete mit


Checksummen und Sequenznummern erreicht
> Checksummen: Erkennen fehlerhafter Segmente
> Sequenznummern: Erkennen fehlerhafter / doppelter Segmente
sowie Anordnung der Segmente in der richtigen Reihenfolge

> Anwendung selbst sieht keine Paketgrenzen


> ein send kann zu mehreren receives führen und umgekehrt!
> z.B. send(170 Bytes) + send(230)  receive(400)

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 27


Aufbau eines TCP-Pakets

0 8 16 24 32
Source Port Destination Port
Sequence Number

20 Byte
Acknowledgement Number
Header HLen Flags Window Size
Checksum Urgent Pointer

Options

Body Data

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 28


Aufbau eines TCP-Pakets

> Source- und Destination Port


> Identifizieren die lokalen Endpunkte der Verbindung

> Sequence- and Acknowledgement Number


> Bytenummerierung und Empfangsbestätigung

> Window Size (Fenstergröße)


> Größe des Empfangsfensters beim Sliding Window Protocol

> Checksum (Prüfsumme)


> Gebildet über TCP-Header + Daten + IP-Pseudo-Header

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 29


TCP-Segmente

> Kommunikationspartner geben ihre


maximale Segmentgröße (MSS) bekannt
> Größere Segmente sind effizienter

> MSS ≤ MTU des Netz – IP-Header – TCP-Header


(20 Byte) (20 Byte)

> Z.B. Ethernet MTU = 1500 Byte  MSS = 1460 Byte

> Z.B. Berkeley UNIX Implementierung  MSS = 1024 Byte

> Voreinstellung MSS = 536 Byte  IP-Pakete mit 576 Byte

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 30


Sliding Window Protocol

gesendet und
Fenstergröße Sender bestätigt
gesendet aber
nicht bestätigt
kann gesendet
werden
kann noch nicht
send_base send_next gesendet werden

ausgeliefert an
Anwendung
Fenstergröße Empfänger
empfangen und
bestätigt
empfangen

erwartet
Kann noch nicht
rec_base empfangen werden

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 31


TCP-Retransmission Timer

> Problem: Wahl des Timeouts für


Wiederholungen bei fehlender Bestätigung?
Timeout
> Timeout zu kurz  unnötige Wiederholung
> Timeout zu lang  unnötige Verzögerung
von Wiederholungen
> Idee: Orientierung an der Round Trip Time

> Round Trip Time („Rundreisezeit“)


> Zeit für eine Nachricht vom Sender zum Empfänger und zurück
> Ändert sich u.U. dauernd und schnell

> Dynamische Algorithmen zur Anpassung des


Time-out-Intervalls (Jacobsen, 1988)

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 32


Jacobsen Algorithmus

> Round Trip Time (RTT) sowie Schwankungen der RTT


zur Wahl des Timeouts heranziehen
> Schätzung der Round Trip Time (RTT)
RTT = α1 · RTT + (1 – α1) · M

> Berechnung der durchschnittlichen Abweichung (D)


D = α2 · D + (1 – α2) · |RTT – M|

> Wahl des Timeouts


Timeout = RTT + 4·D

M: RTT des letzten bestätigten Segments


α1, α2: Glättungsfaktoren (typisch α1 = α2 = 7/8)

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 33


TCP-Überlastkontrolle

> Durch Überlast entsteht Paketverlust


> Zwei wesentliche Ursachen
1. Überlasteter Empfängerprozess (liest Daten zu langsam)
2. Überlastete Strecken bzw. Router

Sender

Überlauf nach
Netzüberlastung

Empfänger
G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 34
TCP-Überlastkontrolle

> TCP führt Überlastkontrolle aus (engl.: Flow Control)

> Ziel: Überlast möglichst durch dynamische Anpassung der


Senderate vermeiden
> Verwendung eines Empfängerfensters beim Empfänger sowie
eines Überlastungsfenster beim Sender
> Aktuelle Größe des Sendefensters ergibt dann sich aus dem
Minimum der beiden Fenster

> Funktioniert auch dann, wenn viele TCP-Verbindungen


zwischen verschiedenen Rechnern aktiv sind, die sich
physikalische Verbindungen teilen

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 35


Empfängerfenster

> Entspricht der Anzahl an Bytes, die der Empfänger bereit ist,
maximal als nächstes zu akzeptieren
> Angabe der Größe des Empfängerfensters bei Bestätigungen
> 16 Bit Größe  max. 64KB
> Skalierungsfaktor im Header (für größere Fenster) möglich

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 36


Überlastungsfenster
> Slow-Start zur Adaption des Überlastungsfensters [Jacobsen, 1988]
> Ausgehend von Initialwert exponentielle Vergrößerung des
Überlastungsfensters bis zu Schwellwert, ab dort lineare Steigerung
> Bei Überlast Zurücksetzen des Schwellwerts auf das halbe aktuelle
Überlastungsfenster und des Überlastungsfensters auf den Initialwert
> Unterstützung durch alle TCP-Implementierungen

Schwelle

Größe des Über-


lastungsfenster

initial 1 KB ( = MSS)

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 37


TCP–Effizienz: Senderseite

> Tinygrams
> Eine Anwendung sendet ständig kleinste Datenmengen
(z.B. 1 Byte)  enormes Verkehrsaufkommen
> 1 Byte Daten + 20 Byte TCP Header + 20 Byte IP Header
= 41 Byte Übertragungslast für 1 Byte Nutzlast
> Zusätzlicher Aufwand durch z.B. darunter liegendes Ethernet
(14 Bytes Header + 4 Bytes Checksumme)

> Lösung: Nagle-Algorithmus


> Leistungsverbesserung durch Sammeln von Sendedaten
> Sollte bei interaktiven Anwendungen (z.B. SSH, X Windows)
allerdings deaktiviert werden

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 38


TCP–Effizienz: Empfängerseite

> Silly Window Syndrome


> Nur kleine Segmente werden geschickt, obwohl der Sendepuffer
genügend Daten für ein größeres Segment enthält

> Ursache
> Anwendung beim Empfänger liest Daten, z.B. byteweise
> Speicher im vollen Puffer wird byteweise frei
> Empfänger bietet zu kleines Empfängerfenster (hier 1 Byte) an,
anstatt zu warten, bis ein größeres Fenster möglich wäre

> Lösung: Clark-Algorithmus


> Empfänger aktualisiert das Fenster nur, wenn Erhöhung um
definierte Mindestmenge möglich ist

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 39


User Datagram Protocol (UDP)

> Verbindungsloser Transportdienst [RFC 768]


> Ermöglicht das Senden einzelner Pakete an einen Endpunkt
(IP-Adresse + UDP-Portnummer)
> Empfänger empfängt einzelne UDP-Pakete
> UDP-Pakete können verloren gehen und in beliebiger
Reihenfolge beim Empfänger eingehen
> Bietet größtmögliche Freiheit und Flexibilität bei weniger
Overhead als bei TCP
> Die Anwendung kümmert sich selbst, falls notwendig, um
Fehlerbehandlung und Flusssteuerung
> Unterstützt auch Multicast-Kommunikation
auf Basis von IP-Multicast

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 40


Aufbau eines UDP Pakets

0 8 16 24 32
UDP-Quellport UDP-Zielport
Header
Länge Prüfsumme

Daten Body

Quell- und Zielport wie bei TCP


Länge Länge des Datagramms in Bytes
(inkl. 8 Byte Header)
Prüfsumme Fehlerüberprüfung für Header, Daten und
wichtige IP-Informationen

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 41


Well-Known TCP/UDP-Ports

> Well-Known Ports (Portnummern < 1024) reserviert für


bestimmte Dienste
[http://www.iana.org/assignments/port-numbers]
> Achtung: TCP- und UDP-Portnummern sind
unabhängig voneinander!

FTP SSH Telnet SMTP HTTP DNS NFS SNMP

22 23 25 80 53 111
20 161
21 162
TCP UDP

IP

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 42


Literatur
1. V. Jacobson. Congestion Avoidance and Control. In Symposium
Proceedings on Communications Architectures and Protocols,
pages 314–329, Stanford, CA, USA, 1988. ACM.

2. W. R. Stevens. TCP/IP Illustrated, Volume 1: The Protocols.


Addison-Wesley, 1991.

3. G. R. Wright and W. R. Stevens. TCP/IP Illustrated, Volume 2: The


Implementation. Addison-Wesley, 1995.

4. J. Nagle. Congestion Control in IP/TCP Internetworks. RFC 896,


January 1974.
5. D. D. Clark. Window and Acknowledgement Strategy in TCP. RFC 813,
July 1982.

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 43


Fragen?

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 44


Dienstgüte

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 45


Neue Anwendungen und Anforderungen
> Neuere Anwendungen des Internets
> Audio
> Video
> Internet Telephony Dienst Bitrate
> Tele Learning
> Online Gaming Audio MP3 100-200 Kbit/s
MPEG Video 2 Mbit/s
> Game Streaming Standard Video 140 Mbit/s
> ... HDTV (1080i50/MPEG-2) 27 Mbit/s

> Neue Anforderungen


> Echtzeit
> Synchronisation
> Multicast („Fernsehen“ per Internet)
> Niedriger Ping
> ...

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 46


Dienstgüte

> Dienstgüte (engl.: Quality of Service (QoS))


> wird vom Empfänger bzw. Kunden festgestellt
> erfordert Ende-zu-Ende-Sicht
> betrifft alle Schichten

> Diensteigenschaften aus Benutzersicht


> Wiedergabequalität, Antwortzeit, Zuverlässigkeit,
Verschlüsselung, ...

> Anforderungen eines Dienstes an das Netzwerk


> Fehlerrate, Verzögerung, Schwankungsbreite (Jitter), Bandbreite
> Synchronisation (z.B. Lippen-Synchronisation bei
Videokonferenz)

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 47


Anforderungen an die QoS-Parameter

Anforderung Anforderung Anforderung Anforderung


Anwendung
an Fehlerrate an Verzögerung an Schwankung an Bandbreite

E-Mail Hoch Niedrig Niedrig Niedrig

Dateitransfer Hoch Niedrig Niedrig Mittel

Web–Zugriff Hoch Mittel Niedrig Mittel

Remote Login Hoch Mittel Niedrig Niedrig

Audio on demand Niedrig Niedrig Hoch Mittel

Video on demand Niedrig Niedrig Hoch Hoch

IP-Telefonie Niedrig Hoch Hoch Niedrig

Video-Konferenz Niedrig Hoch Hoch Hoch

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 48


Allgemeine QoS-Techniken

> Überdimensionierung
Senden
> Pufferung beim Empfänger
Ankunft
> Gleicht Schwankungen aus
> Üblich sind ca. 10 sec Pufferung
Wiedergabe
> Eingangssteuerung
(engl. Admission Control) Übertra- Pufferung
t

> Türsteher entscheidet, gungszeit

ob Datenstrom akzeptiert wird

> Verkehrsformung (engl. Traffic Shaping)


> Glätten des Datenstroms nach vorheriger Vereinbarung

> Reservierung von Ressourcen

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 49


Verkehrsformung (Traffic Shaping)

> Überlastsituationen werden vorrangig durch


Verkehrsspitzen verursacht
> Diese entstehen z.B., wenn Rechner mit
stark ungleichmäßiger Rate senden

> Ziel
> Beeinflussung der Rechner, so dass sie gleichmäßiger senden
und damit weniger Überlastsituationen auftreten

> Vorgehen
> Beim Sender werden Algorithmen ausgeführt, die den
Verkehr formen  Verkehrsformung

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 50


Leaky Bucket
> Maximale Senderate
wird begrenzt
> Zu sendende Pakete
kommen in den Eimer
> Pakete verlassen Eimer
mit konstanter Rate
und werden gesendet
> Eimer hat
beschränkte Kapazität
> Bei vollem Eimer
werden Pakete verworfen
> Implementierung des © Tanenbaum, Computer Networks

Eimers als Warteschlange

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 51


Token Bucket
> Durchschnittliche
Senderate wird begrenzt
> Token werden mit
konstanter Rate
in Eimer gelegt
> Bis zu n Token können
gesammelt werden
> Jede Nachricht nimmt
beim Senden ein Token
> Bursts mit bis zu n
Nachrichten gehen durch
> Es werden keine
Nachrichten verworfen,
sondern der Sender
© Tanenbaum, Computer Networks
wird blockiert

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 52


Verkehrsformung

> Ohne Verkehrsformung (a)

> 2 MB/sec Leaky Bucket (b)

> 2 MB/sec Token Bucket


> mit Kapazität von 250 KB (c)
> mit Kapazität von 500 KB (d)
> mit Kapazität von 750 KB (e)

> 2 MB/sec Token Bucket mit


500 KB Kapazität
und nachfolgend
10 MB/sec Leaky Bucket (f) © Tanenbaum, Computer Networks

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 53


QoS-Erweiterungen für das Internet

Integrated Services (IntServ)


> Annahme: Knappe Ressourcen
> Feingranulare Reservierung von Ressourcen per Flow
auf dem Pfad zwischen Sender und Empfänger  Garantien
> Umsetzung durch Resource reSerVation Protocol (RSVP)
> Nicht skalierbar und daher nur für Intranets geeignet

1. Path
Empfänger
2. Resv
Sender

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 54


QoS-Erweiterungen für das Internet

Differentiated Services (DiffServ)


> Annahme: Genügend Ressourcen
> Grobgranulare Verteilung der Ressourcen mittels
Verkehrsklassen  Flow-Aggregation
> Bevorzugt Pakete aufgrund ihrer Klassifikation
> Minimierung des Verwaltungsaufwands
> Keine Garantien
> Keine dynamische Anpassung
> Skalierbarkeit gegeben

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 55


Kombination von IntServ und DiffServ

Subnetz A Backbone Subnetz B

IntServ DiffServ IntServ

> Endsysteme > Weitverkehr


> Reservieren > Klassen zuteilen
> Garantien > Einfache und
schnelle Bearbeitung

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 56


Fragen?

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 57


Exemplarische Fragen zur Lernkontrolle

TCP/IP-Referenzmodell
1. Was ist ein Protokoll?
2. Was ist eine Protokollhierarchie (engl.: protocol stack)?
3. Aus welchen zwei Hauptbestandteilen besteht ein Paket?
4. Welche Struktur hat ein Paket der Schicht n?
5. Erklären Sie den Unterschied zwischen verbindungsorientierter und
verbindungsloser Kommunikation!
6. Erläutern Sie den Unterschied zwischen leitungsvermittelter und
paketvermittelter Kommunikation!
7. Erläutern/skizzieren Sie das TCP/IP-Referenzmodell!
8. Nennen Sie Beispiele für Protokolle der einzelnen Schichten!
9. Welchen Dienst erbringt eine Schicht der nächst höheren Schicht?
10. Auf welcher Schicht arbeiten die Router bei TCP/IP?
11. Welches ist die unterste Schicht mit Ende-zu-Ende Bedeutung?
G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 58
Exemplarische Fragen zur Lernkontrolle

IP
1. Welche Funktionalität bietet IP?
2. Wie ist eine IPv4-Addresse aufgebaut?
3. Was sind Klasse A/B/C-Netze?
4. Was sind Subnetze und warum werden sie verwendet?
5. Erläutern Sie das Konzept der Netzmasken!
6. Wovon hängt die maximal mögliche Rechneranzahl in einem
Subnetz ab?
7. Wie viele Rechner unterstützt ein Subnetz mit der Maske
255.255.255.128?

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 59


Exemplarische Fragen zur Lernkontrolle

TCP und UDP


1. Welchen Dienst bietet TCP bzw. UDP?
2. Unterstützt TCP Multicast-Kommunikation?
3. Was ist ein Port?
4. Erläutern Sie das Sliding Window Protocol!
5. Wozu dient der Algorithmus von Nagle?
6. Wie wird bei TCP vermieden, dass ein schneller Sender den
Empfänger überlastet? Zu welchen Problemen kann dieser
Mechanismus führen?
7. Warum sind zu kurze und zu lange Timeouts beim TCP
Retransmission Timer problematisch? Erläutern Sie den
diesbezüglichen Vorschlag von Jacobson!

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 60


Exemplarische Fragen zur Lernkontrolle

Dienstgüte
1. Was versteht man unter Dienstgüte?
2. Nennen Sie Beispiele für Netzwerkeigenschaften, die die
Dienstgüte beeinflussen können!
3. Welche Garantien gibt das Internet?
4. Warum hat der Empfänger einen Puffer z.B. beim Abspielen
eines Films?
5. Was versteht man unter Verkehrsformung?
6. Erläutern sie die Funktion eines Leaky Buckets bzw.
eines Token Buckets?
7. Vergleichen Sie IntServ mit DiffServ! Auf welchen Annahmen
beruhen beiden Ansätze?

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 61


Vielen Dank für Ihre
Aufmerksamkeit!
Univ.-Prof. Dr.-Ing. Gero Mühl
gero.muehl@uni-rostock.de
https://www.ava.uni-rostock.de

G. Mühl Webbasierte Anwendungen / Internet Protocol Suite 62

Das könnte Ihnen auch gefallen