OSI-Schicht 4

Transcription

OSI-Schicht 4
Rechnernetze
BA Dresden :: 3MI11-1 :: Jan/Feb 2013
Vorlesung 2.3:
Die OSI-Schicht 4
Josef Spillner <[email protected]>
OSI-Schicht 4: Transport
Aufgaben der Transportschicht
●
●
●
●
Zuverlässige Ende-zu-Ende-Verbindung
Unabhängigkeit von Unzuverlässigkeiten
auf der Vermittlungsschicht, z.B. plötzliche
Routenänderungen
Fehlerbehandlung und Flusskontrolle auf
der Ende-zu-Ende-Verbindung
Aushandlung von DienstgüteEigenschaften
Datentransport im Internet
Fokus auf Zuverlässigkeit
●
Transmission Control Protocol (TCP)
Fokus auf Durchsatz und Latenz
●
User Datagram Protocol (UDP)
Differenzierte Schwerpunktsetzung
●
Internet Stream Protocol (ST)
●
Stream Control Transmission P. (SCTP)
●
Reliable Data Protocol (RDP), u.a.
Spezialprotokolle nicht für Datentransport
Portnummern für Dienste
Einige Protokolle definieren: 1 Host ≙ n Ports
Anwendungsdienste können > 1 Port belegen
Portangabe in TCP, UDP: n = 16 Bit = 65536
Transportprotokollangabe in IP: 8 Bit = 256
Standardisierung:
UNIX:
IANA protocol-numbers
/etc/protocols \drivers\etc\protocol
IANA service-names/port-numbers /etc/services
Windows:
\drivers\etc\services
UDP
User Datagram Protocol [RFC 768]
Lightweight UDP [RFC 3828]
●
teilweise beschädigte Daten werden
zugestellt anstatt verworfen
TCP
Transmission Control Protocol [RFC 793 +
Ergänzungen]
SCTP
Stream Control Transmission Protocol [RFC
4960]
(Chunks)
Anwendungen
●
zuverlässige, geordnete Einzelnachrichten
ST & RDP
Internet Stream Protocol [RFC 1819]
●
experimentell, aktuelle Version ST2+
●
Ende-zu-Ende-Echtzeitgarantien
●
nicht vollständig in IP integrierbar
Reliable Data Protocol [RFC 908]
●
experimentell
●
zuverlässig, aber nicht sequenzgetreu
●
einfacher als TCP
Übungsaufgaben
Welche fünf grundlegenden
Systemschnittstellen sind für TCP definiert?
Welche hingegen für UDP?
Wie läuft der dreistufige TCP-„Handschlag“
zwischen Client und Server ab?
Welche Ports sind für RDP zulässig?
Was drücken B/E-Bits in SCTP-Chunks aus?
Übungsaufgaben 2
Wie ist „Transport Layer Security“ (TLS) in
die OSI-Schichten bzw. in die
Transportprotokolle einzuordnen?
Werkzeugunterstützung OSI 4
Verbindungen bzw. belegte Ports anzeigen
●
netstat (aus dem Paket net-tools)
Beispiel: Übersicht über Serveranwendungen
% netstat -ltp
Aktive Internetverbindungen (Nur Server)
Proto RcvQ SndQ LA
FA
State
PID/Program name
tcp
*:*
LISTEN
2293/apache2
0
0
localhost:http
# “Protokolle”: tcp, tcp6, udp, udp6, raw, unix, ...
Werkzeugunterstützung OSI 4
Verbindungen aufbauen
●
netcat (auf Client und Server)
Beispiel: Client-Server-Verbindung
H1% netcat -l -p 5000
H2% netcat localhost 5000
> Hallo, Welt.
# Parameter: -u
# Parameter: -U <socketdatei>
Werkzeugunterstützung OSI 4
Verbindungen weiterleiten
●
●
socat
morebalance (Web:
morebalance.coolprojects.org)
Beispiel: transparente Komprimierung
| 10000:local use localhost as 10001:compress
| 10001:compress use localhost as 10002
% ./morebalance
* Cluster: localhost [port 10000 (local)] [-> port 10001 (compress)]
Werkzeugunterstützung OSI 4
Verbindungen analysieren
●
iptraf, tcpdump, ngrep (textorientiert)
●
etherape, wireshark (grafisch)
Beispiel: Netzwerkverkehr über WLANSchnittstelle überwachen
% ngrep -d wlan0 -W byline
% tcpdump -i wlan0
Zusammenfassung VL 2.3
Aufgaben der Transportschicht
Datentransport im Internet
Internettransportprotokolle
Werkzeugunterstützung
Quellen + Literatur
[Pa12] J. Pattloch, Topologie des X-Win, Online-Publikation zum DFNWissenschaftsnetz
[OE13] The Organisation for Economic Co-operation and Development (OECD):
Internetgrafik, OECD-Webseite
[He11] Mathias Helminger, Interactive visualization of global routing dynamics,
Bachelorarbeit TU München
[Gü13] D. Gütter, Rechnernetzpraxis, Vorlesung TUD