internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit hdlc-rahmenbildung...

68
Internet (2) Transportdienste und -protokolle © Prof. Dr.-Ing. habil. Lutz Winkler Fakultät Elektro- und Informationstechnik https://www.telecom.hs-mittweida.de [email protected] 2013-09

Upload: nguyenthuy

Post on 29-Aug-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet (2)Transportdienste und -protokolle

© Prof. Dr.-Ing. habil. Lutz WinklerFakultät Elektro- und Informationstechnik

https://[email protected]

2013-09

Page 2: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

Ziel und Inhalt der Vorlesung

2Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

� Ziel Vermittlung von Kenntnissen zu Diensten und Protokollen der Schichten 2 bis 4, einschließlich des Betriebes.

� InhaltÜbersicht: Internetarchitektur, Protokollstack, Kerntransportprotokolle .......................2

L2-Protokolle: SLIP, PPP, PPPoE ........................................................................................6

L3-Protokolle: IPv4, IPv6 ..................................................................................................20

L4-Protokolle: TCP, UDP ……….......................................................................................... 37

Unterschied Download, Streaming ................................................................................. 65

Multicast Bone ................................................................................................................ 66

Literatur ...........................................................................................................................68

Page 3: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

Übersicht: Internetarchitektur

3Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Internet-Backbone B

Ro

ute

r

Internet A

GW

z.B. 2, 4, 8, 16, 34,155 Mbits/s

Internet-Backbone A

Ro

ute

r

z.B. 34, 155, 620 Mbits/s

Koax, LWL

Router Router

RouterRouter

Zu Hause:PC mit Modem oder ISDN-Karte

z.B. 34, 155, 620 Mbits/s

34, 155, 620 Mbits/s

Internet ZGW

Dial-Up-

ServerFernsprechnetz

DSL-Modem

Cu-Doppelader DSL-Modem

DSL-Modem

z.B. Down-/Uplod:786/128, 1024/192, 2048/256 … kbit/s.

Firma, Einrichtung

Firma, Einrichtung

z.B. 33, 64, 128 kbit/s.

Zu Hause:PC mit DSL-Modem und Ethernet-Karte

Koax, LWL

Koax, LWL

DSL-Modem

DSL-Modem

DSL-Modem

DSLAM

Page 4: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

Übersicht: Internet - Protokollstack

Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 4

Netzwerk mit Routers Server

http ftpsmtppop

Server-Anwendungen

WWW FTP Mail

Client-Anwendungen

Telefonleitung

Modem/ISDN-Karte

Modem/ISDN-Karte

LWL, Koax, Twisted Pair

LAN-Karte LAN-Karte

PPP LLC, MAC

IP IP

TCP/UDP TCP/UDP

Bitübertragung Bitübertragung

DL-Datenpakete Link-Datenpakete

Ende-zu-Ende-Datentransport

IP-Datenpakete IP-Datenpakete

http ftpsmtppop

WWW FTP Mail

„Well known“-PortadressenPortadressen 2180

Anwendungsprotokolle

Anwendungen

Layer 765

OSI

Application

Layer 4

Layer 3

Layer 2

Layer 1

PPP

IP

LLCMAC

IPR

Internet

Client

25110

Page 5: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

Übersicht: OSI-Sicht – Kerntransportprotokolle

Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 5

FTPDHCP DNS

TCPTransmission Control Protocol

UDPUser Datagram Protocol

Ping

IPInternet Protocol

ICMPInternet Control

Message Protocol

MACMedia Access Control

FTP

LAN

LCP, PAP,CHAP, CBCP

IPCP,IPXCP, ...

ModemDSL-Modem

Au

f-A

bb

au

ein

er

Fern

spre

chve

rbin

du

ng

Transport-und

Helfer-Protokolle

SMTPPOP

E-Mail

HTTP

WWW

Anwendungs-Protokolle

Anwendungen,Dienste

Netzwer-spezifischeProtokolle

Laye

r 2

Laye

r 1

Laye

r 3

Laye

r 5

..7

Laye

r 4

ARPAddress Resolution

Protocol

SLIP,PPP

RARPReverse Address

Resolution Protocol

DSL/ISDN/Fernsprechnetz/ …

ISDN-Karte

DHCP DNS

DFÜ

ARP RARP

LLCWMAC

WLAN

PPPoE

Page 6: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L2-Protokolle: Anwendungsszenario für PPP und SLIP

Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 6

� Das Point-to-Point-Protocol wird in Zugangsnetzen zum Internet genutzt.� Es löste das weniger leistungsfähige Serial Line Internet Protocol ab.

InternetFernsprechnetz

OV

St

OV

St

PC

Modem Modem

Modem

Modem

InternetFernsprechnetz

NT

BA

NT

PA

OV

St

OV

St

ISDN-Karte

ISDN-Karten

PPP (SLIP)

Internet

FernsprechnetzSplitte

r

OV

St

Ethernet-Karte

DSL

AM

DSL-Mod.

Splitte

r

DSL-Mod.

DSL-Mod.

DSL-Mod.

PPP over Ethernet/ATM (PPPoE, PPPoA)

Cu-Doppelader

PC

PC

Dial-Up-Server

Dial-Up-Server

Page 7: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L2-Protokolle: SLIP - Serial Line Internet Protocol

Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 7

"The TCP/IP protocol family runs over a variety of network media: IEEE

802.3 (ethernet) and 802.5 (token ring) LAN's, X.25 lines, satellite links, and serial lines. There are standard encapsulations for IP packets defined for many of these networks, but there is no standard for serial lines. SLIP, Serial Line IP, is a currently a de facto standard, commonly used for point-to-point serial connections running TCP/IP. It is not an Internet standard. Distribution of this memo is unlimited."

7

4

3

1 Modem/ISDN-Karte

SLIP

IP

TCP UDP

SMTPPOPHTTP

WWW E-Mail

2

� SLIP ist ein einfaches zeichenorientiertes Schicht-2-Protokoll, was auf temporären asynchron arbeitenden Netzzugängen verwendet wird [RFC 1055, 1988].

� Zum Beispiel zwischen Modem/ISDN-Karte und Dial-Up-Server.

Page 8: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L2-Protokolle: SLIP - Serial Line Internet Protocol

Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 8

� Blockanfang und -ende werden durch das Zeichen 0xc0 ($c0, 1100 0000b) markiert.

� Zur Sicherung der Zeichentransparenz wird ein Zeichenstuffing unter Benutzung des SLIP-ESC-Zeichens 0xdb ($db, 1101 1011b) vorgenommen:

– 0xc0 wird als 0xdb 0xdc (1101 1011 1101 1100) übertragen,

– 0xdb wird als 0xdb 0xdd (1101 1011 1101 1101) übertragen.

� Blockaufbau und Prinzip des Stuffings:

c0 db

IP - Datagramm

c0 db dc c0db dd

Blockende/

Blockanfang

Blockende

IP-Datagram

SLIP-Frame

Page 9: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L2-Protokolle: SLIP - Serial Line Internet Protocol

Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 9

� SLIP-Kritik:− unterstützt keinen Mechanismus zur Zuweisung einer IP-Adresse.

�Diese muss händisch im PC eingetragen werden.− SLIP kennt keinen Mechanismen zur Benennung eines N-Title.

� Es können nur IP-Frames übertragen werden. − SLIP unterstützt keine Fehlersicherung über eine Block-Check-Summe.

� Übertragungsfehler müssen die höheren Schichten (TCP, Anwendung) beseitigen.

� CSLIP, Compressed Slip ist ein SLIP bei dem die IP/TCP-Header nicht vollständig gesendet werden [RFC 1144, 1990].

� Insbesondere bei der Übertragung von einzelnen Zeichen, sind TCP/IP sehr geschwätzig. Beide Protokolle umhüllen dieses eine Zeichen mit jeweils 20 Byte PCI. D.h., bei der Übertragung von einem Byte werden 41 gesendet.

� CSLIP hat ein Verfahren spezifiziert, wo anstelle der 40 Byte nur 3 oder 5 Byte übertragen werden.

� Des weiteren kann CSLIP bis zu 16 logische Verbindungen über einen Link unterstützen.

� Heutzutage wird hauptsächlich PPP eingesetzt.

Page 10: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L2-Protokolle: PPP - Point-to-Point Protocol

RFC 1661, 1994 STD 51

"Abstract

The Point-to-Point Protocol (PPP) provides a standard method for transporting multi-protocol datagrams over point-to-point links. PPP is comprised of three main components:

1. A method for encapsulating multi-protocol datagrams.

2. A Link Control Protocol (LCP) for establishing, configuring, and testing the data-link connection.

3. A family of Network Control Protocols (NCPs) for establishing and configuring different network-layer protocols.

10Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

7

4

3

1 Modem/ISDN-Karte

PPP

IP

TCP UDP

SMTPPOPHTTP

WWW E-Mail

2

This document defines the PPP organization and methodology, and the PPP encapsulation, together with an extensible option negotiation mechanism which is able to negotiate a rich assortment of configuration parameters and provides additional management functions. The PPP Link Control Protocol (LCP) is described in terms of this mechanism."

Page 11: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L2-Protokolle: Dienste der PPP-Protokollfamilie

� Aufbau, Konfiguration, Abbau und Test von Schicht-2-Verbindungen (Nutzung des

Link Control Protocols, LCP).

� Authentikation, Datenkompression, Rückruf (PAP/CHAP, CCP,CBCP).

� Protokolleinstellungen für Schicht-3-Protokolle (IPCP)

� Übertragung von Datagrammen (IP, IPX usw.)

– mit Blockbildung bei asynchronem Link (8-Bit-Zeichen, keine Parität),

– mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet.

11Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

LCPRFC 1661

IPCPrfc1332

CHAP CCP

NBCP

PAPrfc1334

CBCPrfc 1570

IPXCP

PPP-Protokollfamilie

PPP in HDLC-likeFraming RFC 1662

IPCP IP Control Protocol (ist das DHCP für PPP)

IPXCP IPX Control Protocol

NBCP NetBIOS Control Protocol

PAP Password Authentication Protocol

CHAP Challenge Handshake Authentication Protocol

CCP Compression Control Protocol

CBCP Call Back Control Protocol

LCP Link Control Protocol

Page 12: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L2-Protokolle: PPP – HDLC-Framing /RFC 1662, 1994/

Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 12

7e ff 03 7e

addressflag control N-title information check sum flag

bis zu 1500 Byte

c0 21 LCP data

c0 23 PAP data

c0 29 CCP data

80 21 IPCP

08 00 IP-Datagramm

81 27 IPX-Datagramm

broadcast-address

unnumberedinformation

HDLC-Rahmenformat:

Link Control Protocol

Password Authentication Protocol

Compression Control Protocol

IP Control Protocol

Page 13: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L2-Protokolle: PPP – Stuffing bei HDLC -Framing /RFC 1662, 1994/

Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 13

� Bei einer zeichenorientierten Übertragung wird die Transparenz durch “Zeichenstopfen” mit dem Zeichen 0x7d ($7d, 0111 1101B) erreicht.

� Stopfvorschrift:– alle Zeichen mit einer ASCII-Codierung < $20 sowie die Zeichen 0x7e, 0x7d werden

dadurch markiert, indem 0x7d vorangestellt wird.– und im nächsten Zeichen das 6. Bit invertiert wird (das 6. Bit hat die Wertigkeit 25) .

� Beispiel:

B1 41 02 03 7d 42 7e 33

B1 41 22 23 5d 42 5e 337d 7d 7d 7d

� Beim bitorientierten Link �Regelfall, wird die Transparenz des Kanals durch das “Nullstopfen” gesichert (für alle Bit’s zwischen dem Start- und Ende-Flag wird nach 5-mal “1” eine “0” gestopft und im Empfänger wieder entfernt).

das ist zu

übertragen

das wird

übertragen

Page 14: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L2-Protokolle: PPP – Haupt-Zustände /RFC 1661/

Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 14

(1) Herstellen einer Verbindung vom Host zum Dial-Up-Server | DSLAM | CMTS.

(2) PPP-Verbindung mittels LCP konfigurieren: �Message Transfer Unit, �Authentikationsprotokoll,

�Kompression usw.

(3) Authentikation des Nutzers gegenüber dem Dial-Up-Server: mit �PAP oder �CHAP

(4) Einstellung von Schicht-3-Parametern mittels IPCP (so ähnlich wie DHCP)

�temporäre IP-Adresse, �Subnetzmaske, �Default Gateway, �DNS-Adressen

(5) Nutzung der Verbindung

(6) Abbau der PPP-Verbindung und Abbau der Wählverbindung

Ruheper LCP

logische Verbindungkonfigurieren

phys.Verbindungherstellen per PAP

oder CHAPautentifizieren

per LCPlogische Verbindung

beenden

per UI-FramesDaten übertragen

log. Verbindungbeenden

per IPCPIP-Adresse, Default Gateway-Adresse,

Subnetzmaske, DNS1/2

phys.Verbindungbenden

Verbindungnutzbar

erfolgreicherfolglos erfolglos

erfolgreich

Page 15: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L2-Protokolle: PPP over ISDN : Verbindungsaufbau, LCP-Phase

Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 15

InternetFernsprechnetz

NT

BA

NT

PA

OV

St

OV

St

SETUPSETUP SETUP

CONNECTCONNECTCONNECT

(1) DFÜ-Programm wird gestartet����Wählverbindung herstellen

B B

D D

ConfigRq (Magic-Number, Compression, CallBack, …)

(2) Verbindungsparameter proRichtung getrennt aushandeln Jede Seite schlägt der anderen Parameter vor, der andere akzeptiert (Ack) oder weist zurück (Rej). Die Beziehung ist errichtet, wenn jede Seite ConfigAck gesendet hat.

ConfigRq (MRU, PAP)

LCP LCP

ConfigAck (MRU, PAP)

ConfigRej (Compression, CallBack)

Beispiel für Ablehnung:Protokollfeld- und Adressen-

feld-Kompression, CallBack ConfigRq (Ctrl-Char, Magic-Number)

ConfigAck (Ctrl-Char, Magic-Number)

Dial-Up-ServerDial-Up-Client

MRU -Maximum Receive Unit

PAP - Password Authentication Protocol (RFC1334)

64 kbit/s-B-KanalB-Kanal geschaltet

Basiseinstellungen ausgehandelt

Magic-Number dient zur

Schleifenerkennung.

Page 16: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L2-Protokolle: PPP over ISDN: PAP, IPCP, Kommunikation, LCP, Abbau

Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 16

B B

AuthenticateRq (User-ID, PWD)(3) Authentifizierung des Nutzers

gegenüber dem Dial-Up-Server PAPPAP

AuthenticateAck ()

IPCPIPCPConfigRq (IP-Address=0, Primary DNS, Secundary DNS)

ConfigRq (IP-Address)

(4) IP-Addresse, Default Gateway,Netzmaske, DNS-Adressen beziehen

ConfigAck (IP-Address)

ConfigAck (IP-Address, Primary DNS, Secundary DNS)

UI-Frame (Protocol-Field, Data)

UI-Frame (Protocol-Field, Data)(5) Communication

TerminateRq ()

TerminateAck ()

LCP LCP

DISCONNECTDISCONNECT DISCONNECT

RELEASERELEASE

D D

RELEASE COMPLETE RELEASE

COMPLETE

(6) logische Verbindung beenden

(6) B-Kanal-Verbindung beenden

Layer is Up

DFÜ-Programm wird beendet

Page 17: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L2-Protokolle: PPP over Ethernet /RFC 2516, 1999/

� Im STD 51 (RFC's 1661/1662) wurden Protokolle festgelegt zur:– Link-Parametrisierung,– Authentifikation,– IP-Konfigurierung.

� Diese wurden für Punkt-zu-Punkt-Beziehungen entwickelt.

17Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

7

43

1 xDSL

TCP UDP

SMTPPOPHTTP

WWW E-Mail

PPPoEEthernet-MAC

PPPIP

2

� Heutzutage können z.B. an einem DSL-Zugang mehrere Host's über einen Ethernet-Switch betrieben werden �P2MP.

� In RFC 2516 "A Method for Transmitting PPP Over Ethernet (PPPoE) wurde deshalb festgelegt:

− Wie PPP-Frames in einem Ethernet-Frames übertragen werden.− Wie über einen "Discovery process" die Ethernet-Adressen der Remote-Host's dem

Zugangskonzentrator (z.B. DSLAM, CMTS) bekannt gemacht werden.

� In PPPoE unterscheidet man deshalb Rahmen für:− den Erkundungsprozess,− die Datenkommunikation.

Page 18: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L2-Protokolle: PPPoE - Rahmenaufbau

destination address(6 octets)

source address(6 octets)

ether type(2 octets)

payload

cheksum

18Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

� Eine PPPoE-Instanz nutzt den folgenden Rahmenaufbau, wobei:

− Destination address:• im Erkundungsprozess die Unicast-address oder ff-ff-ff-ff-ff-ff• beim Datentransport immer die Unicast-address verwendet werden.

− Source-address immer die Unicast-address ist.

− Ethertype:• 0x8863 (Discovery Stage - Erkundung) oder• 0x8864 (PPP Session Stage- Sitzung).

− Payload0..3 4..7 8..15 16..31

Version Type Code Session_IDLength Payload ….

− The VER field is four bits and MUST be set to 0x1 for this version. − The TYPE field is four bits and MUST be set to 0x1 for this version.− The CODE field is eight bits and is defined below for the Discovery and PPP Session stages. − The SESSION_ID field is sixteen bits. It is an unsigned value in network byte order. It's value is defined

below for Discovery packets. The value is fixed for a given PPP session and, in fact, defines a PPP session along with the Ethernet SOURCE_ADDR and DESTINATION_ADDR.

− The LENGTH field is sixteen bits. The value, in network byte order, indicates the length of the PPPoEpayload. It does not include the length of the Ethernet or PPPoE headers.

Page 19: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolleProf. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 19

L2-Protokolle: PPPoE – Discovery process, LCP, PAP, IPCP

� Analysieren Sie mittels und RFC 2516 und Wireshark folgenden PPPoE-Beispiel1) !

� Nebenstehend die AnsichtFlow Graph aus dem MenüStatistics

1) Quelle: http://packetlife.net/captures/protocol/pppoes/

usr ntw

Page 20: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L3-Protokolle: IPv4 - Internet Protocol /RFC 791, 1981/

Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 20

7

4

2

1 Modem/ISDN-Karte

MAC

IPv4TCP UDP

SMTPPOPHTTP

WWW E-Mail

3

“The internet protocol provides for transmitting blocks of data called datagrams from sources to destinations, where sources and destinations are hosts identified by fixed length addresses. The internet protocol also provides for fragmentation and reassembly of long datagrams, if necessary, for transmission through "small packet" networks.”

“There are no mechanisms to augment end-to-end data reliability, flow control, sequencing, or other services commonly found in host-to-host protocols.”

Page 21: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L3-Protokolle: IPv4 - Übersicht

Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 21

PCI Protocol Control InformationPDU Protocol Data UnitSDU Service Data Unit

TCP oder UDP-PDU

IP-PCI IP-SDU

TCP, UDP

IP

Schicht 2

N-DATA.Rq�

DL-DATA.Rq�

IP-PDU (protocol data unit)

� IP � connectionless

– Sender sendet Datagramme, die nicht vom Empfänger quittiert werden.

– Große L4-Segmente werden in Datagramme fragmentiert und erst am Ziel reassembliert.

– Das Routing wird anhand der weltweit eindeutigen IP-Adresse realisiert.

– Fehler in der Netzschicht werden durch das Internet Control Message Protocol ICMP an die Quelle gesendet. ICMP ist integraler Bestandteil der Netzschicht.

Page 22: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L3-Protokolle: IPv4 – Protocol Control Information (PCI)

Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 22

Version IP-Protokollversion, hier steht bei IPv4 (0100)b, bzw. (4)h

IP-Header length IP-Headerlänge: als Multiplikator*4-Byte (Mindestwert ist 5, also (0101)B, (5)h)

Type of Service (TOS) oderDifferentiated Services (DiffServ)

Die Nutzung dieses Feldes erfolgt entweder nach RFC 1394: als Type-of-Service-Feld odernach RFC 2474: als Verkehrsprofil

Total length1 Byteanzahl des Datagramms inklusive Header (max. 216=65535 Byte).

Identification field 16-Bit-Zufallszahl wird bei IP-Initialisierung ermittelt. Jedes Datagramm enthält Id-Field und IP-Absenderadresse. Dadurch wird es temporär einmalig. Wert wird nach jedem Datagram inkrementiert.

Flags und Fragment offset

Große L4-Segmente müssen an die MTU-Größe (Maximum Transfer Unit) angepasst �fragmentiertwerden. Zur Fragmentierung werden das Id-Field, Flags und Fragment-Offset verwendet.

Time-to-live (TTL): Anfangswert beim Absenden ist 255,128, 64. Jeder Router dekrementiert Wert um 1 (bei längerer Verweildauer pro Sekunde um 1). Ist TTL=Null, wird Datagram verworfen und eine ICMP-Message an den Absender geschickt. Damit verhindert man das Kreisen verirrter Pakete im Netz.

Protocol field (N+1)-title: z.B. TCP=6, UDP=17, ICMP=1, �Alle Dezimal-Werte siehe RFC 3232

Header checksum Wird über IP-Header gebildet, um Fehler zu erkennen.

IP-Addresses siehe Script Internet1

0..3 4..7 8..11 12..15 16..19 20..23 24..27 28..31

Version Header length Type of Service (TOS) oderDifferentiated Services(DiffServ) Total length (in bytes)

Identification 3 Flags Fragment offset

Time to live (TTL) Protocol Header checksum

Source IP address

Destination IP address

Options (if any)Data

Page 23: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolleProf. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 23

L3-Protokolle: IPv4 – Fragmentierung

� Bei Zerlegung (Fragmentierung):– werden viele IP-Header-Felder beibehalten (ID, Addresses, TOS, …).– es ändern sich Total Length, Flags, Fragment Offset und Header Checksum.

� Fragmente werden durch weitere Router nicht defragmentiert, dies macht erst der Zielhost.

� Fragmentverlust: erhält Zielhost erstes Fragment, startet er Timer. Sind bei TimeOut noch nicht alle Fragmente da, werden alle bisherigen Fragmente verworfen.

Netz 2, MTU=576 ByteNetz 1, MTU=1500 Byte

Router

IP-PCI

Ziel-Host

IP-PCI 11

IP-PCI 12

IP-PCI 13

Defragmentierung

Fragmentierung

Großes Datagramm (1500 Byte)wird in drei kleinere (mit max. 576 Byte)

zerlegt �fragmentiert

Page 24: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolleProf. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 24

L3-Protokolle: IPv4-Fragmentierung

� Drei Felder steuern Fragmentierung– Identification: kennzeichnet zusammengehörige Fragmente.– More fragment-Flag wird auf „1“ gesetzt, beim letzten Fragment auf „0“.– Fragment offset: enthält Offset bezogen auf den Anfang des Original-Datagrams in 8-Byte-

Schritten.

Identification16 bit

Fragment offset13 bit

Flags3 bit

0reserved

0 | 1DF: Don't Fragment

0 | 1MF: More Fragments

DF=0: darf fragmentiert werden; DF=1 nicht fragmentierenMF=0: letztes Fragment bzw. einziges Fragment; MF=1: ein Fragment von mehreren.

� Beispiel: Netz-1-MTU=1500 Byte, ID=33344; Netz-2-MTU=576 Byte− 576-20=556 ����nächster durch 8 teilbarer Wert = 552 ���� 552/8=69− 1500 in 552-Byte-Pakete ergibt 3 Fragmente zu 552+552+396 Byte

Fragment 1 2 3

Identification 33344 33344 33344

Total Length 572 572 416 20-Byte-PCI +Daten

Fragment Offset 0 69 138 * 8 Byte

More fragment flag 1 1 0

Page 25: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolleProf. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 25

L3-Protokolle: IPv4-Fragmentierung

� Beispiel /Halsall, Seite 504/

– An NSDU of 1000 octets is to be transmitted over a network which supports a Maximum transfer unit of 256 octets (identification=456).

� Lösung

– Maximum usable data per datagram=256-20=236 octets (max. Byte-Anzahl pro Datagramm)

– Use 29*8=232 octets (Nutzbare Byte-Anzahl pro Datagramm als ganzzahliges Vielfaches von 8 Byte)

– Five datagrams are required, four with 232 octes of user data and one with 72 octets.

– The fields are as follows:

Fragment 1 2 3 4 5

Identification 456 456 456 456 456

Total Length 252 252 252 252 92 20-Byte-PCI +Daten

Fragment Offset 0 29 58 87 116 * 8 Byte

More fragment flag 1 1 1 1 0

Page 26: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolleProf. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 26

L3-Protokolle: IPv4-QOS (Quality of Service) mittels TOS/DissServ

� Das Internet wird für viele Dienste genutzt. Jeder Dienst stellt andere Anforderungen an die QOS des IP-Transportnetzes:– E-Mail: sichere Übertragung innerhalb von Sekunden/Minuten.– WWW: kurze Antwort-Zeit u.a.– Voice over IP: minimale Verzögerung der Sprachdaten, bei geringem Jitter usw.

� Zur Priorisierung gibt es zwei Methoden: TOS und DiffServ.

� Prinzip: Eckrouter teilen Pakete in Klassen ein �Klassenzuordnung bestimmt Routingzeitpunkt.

Eck-RouterKlassifizierer

3

2

1

0

7

6

5

4

3

2

1

0

Scheduler

ingress portEingangsport

egress portAusgangsport

Die Klassenkennzeichnung kann erfolgen:− L2-Mitteln: siehe IEEE-802.1p− L3-Mitteln: IP-TOS, IP-DiffServ

Page 27: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolleProf. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 27

TOS-Werte nach /RFC 1349/.

L3-Protokolle: IPv4-TOS - Type of Service, Precedence

� 4 Bits (Bit 3 .. 6) bilden TOS-Feld, wo Anwendungen QOS angeben können.

� 3 Bits (Bit 0 .. 2) werden durch Edge-Router genutzt, um IP-Pakete in 8 Precedence-Klassen einzuteilen, als Prioritäts-Info für das Routing.

genutzt durch die Applikationen

Bit 3

Minimizedelay

Bit 4

Maximizetroughput

Bit 5

Maximizereliability

Bit 6

Minimizemonetary cost

Bit 7

immer 0

Hex value

Normal service 0 0 0 0 0 0x00

Telnet/Rlogin 1 0 0 0 0 0x10

FTP control 1 0 0 0 0 0x10

FTP data 0 1 0 0 0 0x08

SMTP command phase 1 0 0 0 0 0x10

SMTP data phase 0 1 0 0 0 0x80

ICMP 0 0 0 0 0 0x00

40 158 16 31

4 5 6 70 1 2 3

Precedence TOS-Field

Klasse Bit 0 Bit 1 Bit 2

7 1 1 1

6 1 1 0

5 1 0 1

4 1 0 0

3 0 1 1

2 0 1 0

1 0 0 1

0 0 0 0

TOS-Werte nach /RFC 1349/

Page 28: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolleProf. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 28

L3-Protokolle: IPv4-DiffServ - Differentiated Services

� Als DiffServ-Feld werden 6 Bits (Bit 0..5) verwendet. Bit 6, 7 sind derzeit Null.

� Die Verwendung ist standardisiert in /RFC 2474, RFC 2475/.

� Mit 6 Bit kann man 26=64 Klassen (Differentiated Service Codepoints -DSCP) bilden. Damit kann man Verkehrsanforderungen besser priorisieren

� 3 Bits (Bit 0, 1, 2) werden, zur Sicherung der Abwärtskompatibilität zu TOS, als Class Selector Codepoints verwendet.

� Die restlichen 3 Bits enthalten die Weiterleitungspriorität.

� Im Unterschied zu TOS, können Anwendungen sowohl die Klasse als auch die Weiterleitungspriorität einstellen. Edge-Router können diese Angaben prüfen und ev. überschreiben.

40 158 16 31

4444 5555 6 70000 1111 2222 3333

Class Selector Code Point

Differentiated Service Codepoints -DSCP

Page 29: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolleProf. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 29

L3-Protokolle: Analysieren Sie folgende IPv4-PCIs

45 00 00 2C 0F 86 40 00 7F 06 F8 A0 8D 37 60 43 8D 37 02 6A

--Data--------------------------

04 51 05 DF 01 86 1A 8D 00 00 00 00 60 02 20 00 D4 C7 00 00 02 04 05 B4

45 00 00 28 0F 87 40 00 7F 06 F7 A4 8D 37 60 43 8D 37 02 6A

--Data--------------------------

04 51 05 DF 01 86 1A 8E 00 29 AC A0 50 10 22 38 3D 73 00 00

v/hl/tos totLength Identif. Fragm. TTL Prot. Hchecksum sourceIP destIP

IP-PCI-1 �Lösung IP-PCI-2 �Lösung

v/hl/tos totLength Identif. Fragm. TTL Prot. Hchecksum sourceIP destIP

Page 30: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L3-Protokolle: IPv6 /RFC 2460, 1998/

IP version 6 (IPv6) is a new version of the Internet Protocol, designed as the successor to IP version 4 . The changes from IPv4 to IPv6 fall primarily into the following categories:

− Erweiterte Adressierung: eine IPv6-Adresse ist 128 Bit, damit lassen sich eine große

Anzahl von Hosts adressieren, eine bessere Adressenhierarchie und auto-konfigurierte Adressen einrichten. Desweiteren wird Multicast besser unterstützt und eine neuer Adressentyp "Anycast" definiert . Damit kann man IP-Pakete an einen aus eine Gruppe von Knoten (nodes) senden.

30Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

7

4

2

1 PHY

MAC

IPv6TCP UDP

SMTPPOPHTTP

WWW E-Mail

3

−Headervereinfachung: Einige IP4-Header wurden abgeschafft oder optional. Damit verbessern sich in den Routers Durchsatz und Übertragungungsverzögerung. Z.B. wurde "Header checksum" abgeschafft, da beiIPv4 jeder Router diesen Wert neu berechnen musste.

Bessere Unterstützung von Erweiterungen und Optionen

− Flow Labeling Capability: Im Header wurde ein Flow label field vorgesehen. womit man einen "pseudo-verbindungsorientierten" Datentransport in einem "verbindungslosen" Netzwerk realisieren kann.

− Authentication and Privacy Capabilities Extensions: Zur Unterstützung einer Authentikation, Daten-Integrität und Daten-Vertraulichkeit.

Page 31: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L3-Protokolle: IPv6 – Protocol Control Information (PCI)

Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 31

Version IP-Protokollversion, hier steht bei IPv6 (0110)b, bzw. (6)h

Traffic Class Die Nutzung dieses Feldes erfolgt nach RFC 2474. Dieses Feld ist kompatibel zu IPv4.

Flow Label Dieses Feld entspricht dem MPLS-Protokoll (Multiprotocol Label Switching), RFC 3031/3032. Innerhalb eines CL-Netzes wird, adressiert über Labels, verbindungsorientiert geroutet. Damit kann man Virtuelle Netze im globalen IP-Netz bilden. Man kann QOS garantieren und eine größere Sicherheit. Die Nutzung des Feldes in IPv6 ist im RFC 3697 geregelt.

Payload Length Byteanzahl des Datagramms ohne Header (max. 216=65535 Byte). Wert 0 verweist auf ein Jumpopaket.

Next Header Identifiziert den Header, der unmittelbar dem IPv6-Header folgt. Ist vergleichbar mit dem Protocol-Field bei IPv4, siehe RFC 1700 und folgende.

Hop Limit Entspricht dem Time-to-Live-Feld von IPv4. Anfangswert beim Absenden ist 255,128, 64. Jeder Router dekrementiert Wert um 1 (bei längerer Verweildauer pro Sekunde um 1). Ist TTL=Null, wird Datagram verworfen und eine ICMP-Message an den Absender geschickt. Damit verhindert man das Kreisen verirrter Pakete im Netz.

IP-Addresses siehe Script Internet1

0..3 4..7 8..11 12..15 16..19 20..23 24..27 28..31Version 4Bit Traffic Class 8Bit Flow Label 20Bit

Payload Length 16Bit Next Header 8Bit Hop Limit 8Bit

Source Address 128Bit

"""

Destination Address 128Bit

"""

Extension Headers (optional)Payload …

Page 32: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L3-Protokolle: IPv6 – Hauptheader /Tannenbaum, S. 510 ff/

� Flow Label (Flussmarke)

– das Konzept ist identisch ähnlich dem MPLS-Protocol (Multiprotocol Label Switching).

– Ist der Markenwert ≠ 0, werden die Router prüfen, welchen Weg diese Datenpakete durch das verbindungslose Netz gehen. Man kann damit virtuelle Netze mit z.B. Durchsatzgarantie, höherer Sicherheit bilden.

– Jeder Datenfluss ist adressiert durch Ziel-, Absender-IP und Label.

� Payload length (Nutzdatenlänge) gibt an, wie viel Byte nach dem fixen 40 Byte Hauptheader kommen.

� Next Header (nächster header) gibt an, ob dem Hauptheader ein Optionsheader folgt. Im Optionsheader gibt es wieder dieses Feld.

– Derzeit sind 6 Optionsheader-Typen spezifiziert.

– Gibt es keinen Erweiterungsheader, steht in diesem Feld z.B. das Schicht-4-Protoll TCP oder UDP.

� Hop Limit (Teilstreckenlimit) wird in jedem Router dekrementiert, um die Lebensdauer von Paketen im Netz zu begrenzen. In IPv4 hieß dieser Wert TTL (time

to live) und sollte in Routers pro Sekunde dekrementiert werden.

32Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Page 33: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L3-Protokolle: IPv6 – Weggefallene Header /Tannenbaum, S. 510 ff/

� IP-Header length ist nicht notwendig, da der IPv6-Hauptheader eine feste Länge von 40 Byte hat und danach die Optionsheader kommen, jeder mit eigener Längenangabe.

� Protocol field wird quasi durch Next Header ersetzt.

� Fragmentation (Fragmentierung) gibt es in IPv6 nicht mehr.

– Alle Teilnetze müssen eine Paketmindestgröße von 1280 Byte unterstützen. Bei IPv4 waren das nur 576 Byte.

– Sendet der Host ein zu großes Paket, bekommt er von dem Router, der das Paket nicht weiter leiten kann, eine ICMP-Nachricht mit der Längenangabe.

– Die Fragmentierung findet also beim Absenderhost statt und belastet nicht mehr die Rechenleistung der Router.

� Header check sum (Header-Prüfsumme) wurde weggelassen, weil

– die Teilstrecken heutzutage geringere Fehlerraten haben,

– oft in der Schicht-2 eine Datensicherung genutzt wird (LLC – logical link control),

– TCP eine Ende-zu-Ende-Sicherung realisiert, wodurch Schicht-3-Fehler behoben werden.

33Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Page 34: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L3-Protokolle: IPv6 – Optionsheaders /Tannenbaum, S. 514 ff/

� Derzeit gibt es mehrere Erweiterungsheadertypen, die in der angegeben Reihenfolge verwendet werden sollten.

34Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Optionsheader genutzt durch

Kurzbeschreibung

Hop-by-hop alle Router Bisher wurde nur eine Option definiert, zur Übertragung von Jumbo-Frames (größer als 64 KiByte = 65536 Byte).

Destinationoptions

Zielhost Muss nur vom Zielhost ausgewertet werden. Derzeit noch nicht benutzt.

Routing alle Router Der Routing-Header dient dazu, Routeradressen zu definieren, die in der Route vorhanden sein müssen (Wegepunkte beim Navi). Zwischen den Wegpunkten können beliebige andere Router genutzt werden.

Fragmentation Hosts Der Fragment-Header enthält ähnliche Konzepte, wie bei IPv4: Paket-Identifier, Fragment-Nummer, Bit zur Kennzeichnung, ob fragmentiert wurde bzw. das noch ein Fragment folgt oder keins mehr. Router

Authentification Hosts In einer IPv4-Umgebung wurde ein sicheren Datentransport durch IPSec möglich. Mittels eines AH Authentification header (AH ) kann man den Hash, gebildet über IP-Header+AH+TCP-Header+Data , an den Empfänger übertragen. Damit kann ziemlich sicher der Absender autentifiziert werden. Dieses Konzept muss durch IPv6 unterstützt werden.

Encryptedsecurity payload

Hosts Der "Encryptet security payload"-Header (ESP) sichert in erster Linie die Geheimhaltung der Daten durch Verschlüsselung. Im ESP-Header befindet sich zusätzlich ein Feld HashedMessage Authentication Code (HMAC), worüber auch die Authentification realisiert werden kann. ESP realisiert Authentifikation und Verschlüsselung, AH nur Authentifikation. ESPmuss von IPv6 unterstützt werden.

Page 35: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L3-Protokolle: IPv6 – Optionsheader

� Drei Beispiele für die Erweiterung des IPv6-Headers durch Optionsheader– Next-Header=6: Es gibt keine Extension Headers, es wird ein TCP-Segment übertragen.

– Next-Header=43: Es gibt einen Extension Header mit Routing-Informationen. Es folgt ein TCP-Segment.

– Next-Header=43: Es gibt einen Routing Header, gefolgt von einem Fragment-Header mit Fragmentierungsangaben. Es folgt ein TCP-Segment.

35Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

1IPv6 -HeaderNext Header=6

1)TCP-Header + Data …

2IPv6 -HeaderNext Header=43

1)Routing-HeaderNext Header=6

1)TCP-Header + Data …

3IPv6 -HeaderNext Header=431)

Routing-HeaderNext Header=44

1)Fragment-HeaderNext Header=6

1)TCP-Header + Data …

1) siehe http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml

Page 36: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L3-Protokolle: IPv6 – Header-Beispiel

36Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Analysieren Sie folgenden IPv6-PCI:6c0000000041064020010db800000000000000000000000120010db8000000000000000000000002

0110 IP-Version: 61100 0000 Traffic Class: 0xc00000 0000 0000 0000 0000 Flowlabel: 0x00000000 0000 0100 0001 Payload Length: 65 Byte 0000 0110 Next Header: 6 �TCP0100 0000 Hop Limit: 6420010db8000000000000000000000001 Source-IP: 2001:db8::1/32 1)

20010db8000000000000000000000002 Dest.-IP: 2001:db8::2/32 1)

1) Dummy-Adressen für Dokumentationszwecke (wenn man z.B. Buch, Artikel schreibt), siehe RFC 3849 ansonsten findet man weltweit vergebene Adressblöcke unter: http://www.dfn.de/dienstleistungen/dfninternet/ipadressvergabe0/ipv6bloeckeweltweit/

Page 37: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokolle: TCP - Transmission Control Protocol /RFC 7931), 1981/

The Transmission Control Protocol (TCP) is intended for use as a highly reliable host-to-host protocol between hosts in packet-switched computer communication networks, and in interconnected systems of such

networks.

As noted above, the primary purpose of the TCP is to provide reliable, securable logical circuit or connection service between pairs of processes. To provide this service on top of a less reliable internet communication system requires facilities in the following areas:

− Basic Data Transfer

− Reliability

− Flow Control

− Multiplexing Connections

− Precedence and Security

1) Updated by Updated by: 1122, 3168, 6093, 6528

7

3

1 PHY

DL

IP

TCP UDP

SMTPPOPHTTP

WWW E-Mail

2

4

37Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Page 38: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokolle: TCP-Schicht-Dienste

� Verbindungsaufbau:

– Vor der Datenübertragung wird eine Verbindung zwischen den beiden TCP-Instanzen aufgebaut �3-Wege-Handshake zur Anfangs-Initialisierung (seqNr, ackNr, winSz).

– Es ist eine Duplex-Verbindung, jede Seite sendet zur anderen einen Byte-Strom.

� Gesicherte Datenübertragung:

– Die Daten werden segmentiert und jedes Segment mit einem Header versehen. Im Header befinden sich �Absender- und Zielportnummer �Sequenznummer �Empfangspuffergröße usw.

– Durch Sequenznummern, kann der Empfänger fehlende Segmente erkennen. Fehlerbehaftete Pakete werden beim Empfänger einfach weggeworfen.

– Jedes fehlerfrei empfangene Paket wird vom Empfänger quittiert.

– Der Sender überwacht die Quittierung von Datensegmenten durch einen Timer. Sendet er ein Datensegment, startet er einen Timer. Läuft dieser ab, bevor er eine Quittung erhalten hat, sendet er das Segment noch einmal.

� Verbindungsabbau:

– Die beim Aufbau hergestellte Duplexverbindung, wird beim Abbau wie zwei Einzelverbindungen behandelt.

– Jede Seite muss seine Verbindung getrennt abbauen.

38Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Page 39: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokoll TCP: Dienste, Primitives und Protokoll

TCP-Entity

Clt-ApplicationEvents

Actions

SAP*

TCP-Entity

Srv-Application

TCP-Protokoll

Entities kommunizieren mittels Segments auch PDUs genannt:− SYN synchronisation - Verbindungsaufbau− ACK acknowledge - Quittung− PSH push - Datensegment− FIN finale - Verbindungsabbau− RST restart – Rücksetzen einer Verbindung− URG urgend – dringende out of band data

Port

Events

Actions

TCP- Dienste Action/Event SegmentsVerbindungsaufbau listen on port Srv-Appl.: meldet sich passiv am TCP-Stapel an, wartet auf Verbindungen

open port SYN, SYN/ACK, ACK Clt-Appl.: stellt aktiv eine Connection zu einer Srv-Appl. her

connected Positivantwort auf listen on port oder open port

connected failed Negativantwort auf listen on port oder open port

Datenübertragung send data PSH, ACK, PSH/ACK Sende Daten über die Connection

read data Empfange Daten aus der Connection

data ready Daten können aus der Connection gelesen werden

errored Die Connection ist fehlerhaft und wurde beendet

Verbindungsabbau close FIN, ACK, FIN/ACK Beende die Connection

closed Die Connection wurde beendet

SAP*PortTCP-Dienste

39Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Page 40: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokoll TCP: Funktionsweise (Prinzip)

ServerClientTCP-Instanz X

SYN-Segment

TCP-Instanz YTCP-Segmente (auch PDUs genannt)

Applikation Applikation

listen on port (passiv open)(activ) open port

SYN/ACK-Segment

ACK-Segmentconnected connected

Verbindungs-Aufbau

3-Wege-Hand-shake

PSH/ACK-Segment mit data (A)send data(A)

PSH/ACK-Segment mit data (a)

data ready (A)

ACK-Segment

send data(a)

ACK-Segment

data ready(a)

data read(a)

data read(a)Daten-

kommu-nikation

ACK-Segment

FIN-Segment

FIN-Segmentcloseclosed

closed

closeVerbindungs-

Abbau

Primitives PrimitivesTCP-Segmente (Protocol Data Units)

40Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

ACK-Segment

Page 41: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokoll TCP: Protocol Control Information (auch Header)

0..3 4..7 8..11 12..15 16..19 20..23 24..27 28..31

Source port number (spNr) 16 bit Destination port number (dpNr) 16 bit

Sequence number (seqNr) 32 bit

Acknowledge number (ackNr) 32 bit

Header length Reserved 4 bit URG ACK PSH RST SYN FIN Windows size (winSz)1 6 bit

TCP checksum 16 bit Urgent pointer 16 bit

Options (if any)Data (if any)

Source Port, Destination Port Bindung der Anwendungen an den TCP-Kommunikationsstack. Man kann 216 Ports adressieren, siehe extra Chart.

Sequence Number (seqNr): Wird zur Nummerierung der Datensegmente verwendet. Damit kann man fehlende Segmente erkennen und fehlerfreie quittieren. Jede Seite verwaltet eigene Nummerierung. Austausch der Startwerte beim Verbindungsaufbau.

Acknowledge number (ackNr): Wird zur Qittierung des Startwertes oder zur Quittierung von Daten verwendet. Die ackNr=x bedeutet, habe bisher das Byte x-1 empfangen, erwarte jetzt x.

Header Length: TCP-Headerlänge Multiplikator*4-Byte �Mindestwert ist 5*4 Byte, also 0101B

Flags zeigen den Typ des TCP-Segmentes an (eins oder mehrere können gesetzt sein):

URG: Dringend-Segment (urgent), im Feld Urgent Pointer steht Zeiger. ACK: Quittungs-Segment (acknowledge), Quittierung einer TCP-Dateneinheit durch AcknowledgeNumber.PSH: Daten sofort zur Anwendung (push), Informations (Daten)-SegmentRST: Verbindung zurücksetzen (restart), SYN: Sequenznummern synchronisieren (synchronisation)

FIN: Datenende beim Sender (final).

Windows size Enthält die momentane Größe des Empfangspuffers in Byte und wird zur Flusssteuerung verwendet. Ist der Empfangspuffer des Partners voll, wird nichts mehr gesendet, bis wieder Platz ist. Muss mindestens MSS groß sein.

TCP-Checksum Diese Prüfsumme wird über den Header+Daten gebildet und dient der Empfangsseite zur Fehlererkennung

Urgent pointer Nur gültig, mit URG-Flag. URG-Pointer zeigt auf Anfang der normale Daten. Alles zwischen Header und der Stelle auf die der URG-Pointer zeigt, sind dringende Daten.

OptionsDas Options-Feld enthält Zusatzinformationen, die nicht durch Header-Infos übertragen werden können. Optionen werden in der Regel beim Verbindungsaufbau ausgetauscht. Die Optionen sind ein Vielfaches von 32 Bit lang. Sind sie das nicht, muss mit Null-Bits aufgefüllt werden (Padding).

41Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Page 42: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokoll TCP: Einzelheit Portnummern

service echo http pop3 imap ldap https

port 7 23 25

protocol(s) tcp,udp tcp,udp tcp

� Damit mehrere Anwendungen gleichzeitig TCP- und/oder UDP-Kommunikation machen können, hat man Portnummern eingeführt.

� Für TCP und UDP gibt es jeweils 216=65536 Portnummern, von 0 bis 65535.

� 3 Portnummernbereiche (verwaltet durch IANA - Internet Assigned Numbers Authority)

– Well Known Ports: 0.. 1023, für allgemein anerkannte Dienste

• Beispiele: �FTP: 21/TCP ����Telnet: 23/TCP ����SMTP: 25/TCP ����POP: 110/TCP ����HTTP: 80/TCP

– Registered Ports: 1024..49151, für proprietäre Dienste

• Beispiel: �SIP: 5060/TCP|UDP

– Private Ports: 49152..65535, für private Anwendungen

� Bis 1992 ging die Well Known Ports lediglich von 0..256.

� Portnummern findet man:– http://www.iana.org/assignments/port-numbers

– C:\WINDOWS\system32\drivers\etc\services

� Ergänzen Sie die fehlenden Werte:

42Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Page 43: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokoll TCP: Einzelheit Reihenfolgesteuerung

� Sendedaten werden als fortlaufenden Datenstrom aufgefasst. Mittels der seqNr und der ackNr wird die Einhaltung der Byte-Reihenfolge realisiert. Es sind Zahlen zwischen 0 .. (232-1) zulässig.

– Bei TCP werden die Bytes nummeriert. Im Feld seqNr steht die Nummer des 1. Bytes im aktuellen Segment.

– In der ackNr steht die Bytenummer, die im nächsten Segment als seqNr erwartet wird.

� Beim Verbindungsaufbau werden die Startwerte für die seqNr zwischen den Instanzen ausgetauscht. Der Startwert ist ein Zufallswert!

� Außerdem werden die Empfangspuffergrößen ausgetauscht, damit die Instanzen wissen, wie viel Byte der Partner momentan empfangen kann

� TCP-Verbindungsaufbau mittels SYN/ACK-Sequenzen zur Initialisierung der Verbindung, auch 3-Wege-Handshake genannt.

TCP-Instanz X

(1) SYN-Segment mit seqNr=X

(2) SYN/ACK-Segment mit seqNr= Y und ackNr= X+1

TCP-Instanz YByteStream

connected(3) ACK-Segment mit seqNr=X+1 und ackNr= Y+1

connected

open port

43Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Page 44: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolleProf. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 44

L4-Protokoll TCP: Einzelheit Reihenfolgesteuerung

� Beispiel: Eine TCP-Instanz habe 3500 Byte zu senden. Der Sequ-Nr-Startwert sei 8000, MSS betrage 1000 Byte.

� Die Instanz teilt diese 3500 Byte in 4 Segmente, die mit den gezeigten Sequence-Numbers gesendet, bzw. mit den gezeigten Acknowledge-Numbers quittiert werden.

� Beachte: Die Ack-Nr ist der Erwartungswert der nächsten Sequ-Nr. Quittungsgeber sagt: wenn du mir was sendest, erwarte ich folgende Sequ-Nr.

Segment 1 Segment 2 Segment 3 Segment 4

Sequ-Nr 8001 9001 10001 11001

Bytes 1 … 1000 1001 … 2000 2001 … 3000 3001 … 3500

Ack-Nr 9001 10001 11001 11501

Page 45: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokoll TCP: Einzelheit Reihenfolgesteuerung

� Beispiel:

– X habe bisher 560 Byte gesendet oder als Startwert ermittelt. Die Empfangs-puffergröße betrage 2048 Byte.

– Y habe bisher 900 Byte gesendet oder als Startwert ermittelt. Die Empfangs-puffergröße sei 8192 Byte.

(1) X sendet SYN mit seqNr=560, winSz=2048

Ermitteln Sie die fehlenden Werte und tragen sie diese in den MSC ein!

45Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

TCP-Instanz X

(1) SYN ( seqNR= ackNr= winSz= )

(2) SYN/ACK ( seqNr= ackNr= winSz= )

TCP-Instanz YByteStream

connected(3) ACK ( seqNr= ackNr= winSz= )

connected

open port

Page 46: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

� Options werden im RFC 1323 deklariert:

– End of option list

– No operation 1)

– Maximum segment size 2)

– Windows scale factor

– Timestamp

1)zum Auffüllen auf Vielfache von 4 Byte2)in SYN-Segment zur Angabe der maximalen Segmentgröße die TCP verwenden sollte, damit IP nicht fragmentieren muss.

� siehe nächste Folie

3) darf nur in SYN/PSH-Segment ohne gesetztes ACK-Flag verwendet werden. Der Wert repräsentiert den lokalen Sendezeitpunkt.

4) der Wert ist nur gültig, wenn das ACK-Flag gestzt ist. Der Wert repräsentiert den Sendezeitpunkt bei der entfernten Instanz.

L4-Protokoll TCP: Einzelheit Optionen

kind=0

kind=1

kind=2 len=4 2 bytes MSS

kind=3 len=3 1 byte

kind=8 len=10 4 bytes timestamp value3) 4 bytes timestamp echo replay4)

byte1 byte2 byte3 byte4

46Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Page 47: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokoll TCP: Maximum Segment Size - MSS

� RFC 8791983 "The TCP Maximum Segment Size and Related Topics" befasst sich mit der Frage, welche Segmentgröße TCP verwenden sollte, damit IP nicht fragmentieren muss:

MSS = MTU – sizeof(TCPHDR) – sizeof(IPHDR)

47Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

� Die MTU (Maximum Transfer

Unit) ist die Anzahl von Oktetts, die ein Netzwerk max. übertragen kann. IP darf also der Schicht-2 keine größeren Pakete zum Senden übergeben.

TCP

IP

MAC

Physical

Net

wor

k

Ethernet: 64 .. 1518 Oktetts

MAC-HDR =18 Oktetts

IP-HDR =20 Oktetts

TCP-HDR =20 Oktetts

- 18

1500MTU ����

- 20

- 20

1460MSS ����

Page 48: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolleProf. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 48

L4-Protokoll TCP: Retransmission Time Out – RTO /rfc 2988/

� Sendet eine TCP-Instanz ein PSH-Segment wartet sie RTO auf Antwort, bevor sie das Segment neu sendet.

� RTO ist ein dynamischer Wert, der den TCP-Datendurchsatz bestimmt.

� Jede TCP-Instanz nutzt zur Ermittlung von RTO zwei Statusvariable:SRTT (smoothed1) round-trip time) and RTTVAR (round-trip time variation).

� Regeln zur Ermittlung von SRTT, RTTVAT und RTO

(1) noch kein RTT gemessen: RTO=3 s festgelegt

(2) erste RTT-Messung RTTakt liegt vor: SRTTnew = RTTakt

RTTVARnew = RTTakt /2RTO = SRTTnew + 4 * RTTVARnew

(3) Für jede weitere RTT-Messung:RTTVARnew = 0,75 * RTTVARold + 0,25 * |SRTTold - RTTakt| SRTTnew = 0,875 * SRTTold + 0,125 * RTTakt

RTO = SRTTnew + 4*RTTVARnew

1) smoothed – geglätted

Excel-Arbeitsmappe "Berechnung RTO nach RFC 2988"https://www.telecom.hs-mittweida.de/kommunikationstechnikvorlesungen/teachware.html#c18955

Page 49: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolleProf. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 49

L4-Protokolle: TCP - Urgent Pointer

� TCP erlaubt das Übermitteln dringender Daten (out of band data).

� Enthält ein Segment dringende Daten, ist das URG-Flag gesetzt und das Feld Urgent-Pointer enthält einen Zeiger auf das erste normale Datenbyte.

� Dringende Daten werden sofort an die Anwendung weiter geleitet .

0..3 4..7 8..11 12..15 16..19 20..23 24..27 28..31

Source Port Number 16 bit Destination Port Number 16 bit

Sequence number 32 bit

Acknowledge number 32 bit

Header length reserved 6 bit

URG

ACK

PSH

RST

SYN

FIN

Windows size 16 bit

TCP checksum 16 bit Urgent pointer 16 bit

Options (if any)

Urgend Data

Data1.Byte

Page 50: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokoll TCP: Übung - Analysieren Sie folgende Header

04 51 05 DF 01 86 1A 8D 00 00 00 00 60 02 20 00 D4 C7 00 00 02 04 05 B4

spNr dpNr seqNr ackNr hl fl winSz CRC uPtr options

Head1: LösungHead2: Lösung

spNr dpNr seqNr ackNr hl fl winSz CRC uPtr options

05 DF 04 51 00 29 AC 9F 01 86 1A 8E 60 12 22 38 25 B6 00 00 02 04 05 B4

50Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Page 51: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokoll TCP: Übung - Analysieren Sie folgende Header

05 DF 04 51 00 29 AC A0 01 86 1A 9C 50 10 22 2A 3D 73 00 00

51Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

spNr dpNr seqNr ackNr hl fl winSz CRC uPtr options

05 DF 04 51 00 29 AC A0 01 86 1A 9C 50 18 22 2A 2A C4 00 00

03 00 00 0E 09 D0 03 E4 00 0D 00 C0 01 0A

Head3: LösungHead4: Lösung

spNr dpNr seqNr ackNr hl fl winSz CRC uPtr options

Page 52: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokoll TCP: State Machine /Stevens/

CLOSE_WAIT

LAST_ACKFIN_WAIT_1

FIN_WAIT_2

CLOSING

TIME_WAIT

appl: passive opensend: <nothing>

CLOSED

appl: active opensend: SYN

LISTEN

SYN_SENT

ESTABLISHED

starting point

passive open

active open

data transfer state

SYN_RCVD appl: close or timeout

send: <nothing>

recv: FIN

send: ACK

recv: SYN, ACKsend: ACK

recv: SYNsend: SYN, ACK

simultaneous open

recv: RST

recv: SYN

send: SYN, ACK

appl: close send: FIN

recv: FIN

send: ACK

recv: FIN, ACKsend: ACK

recv: FIN

send: ACK

recv: ACKsend: <nothing>

recv: ACKsend: <nothing>

recv: ACK

send: <nothing>

appl: close send: FIN

appl: send datasend: SYN

appl: close send: FIN

passive close

normal transitions for client

normal transition for server appl: application request

recv: received segment

send: sent segment

simultaneous close

2MSL timeout

recv: ACKsend: <nothing>

MSL maximum segment lifetime (0,5..2 min)

52Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

active close

Page 53: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokoll TCP: Connection establishment im Detail

� Eine TCP-Verbindung wird durch ein sogenanntes 3-Wege-Handshake eröffnet: Die Serverapplikation “meldet” sicham Stack an, die TCP-Instanz ist im Zustand LISTEN.

1. Die Clientapplikation fordert eine Verbindung zum Server. Es wird ein SYN-Frame gesendet, die seqNr=X, winSz und MSS werden übermittelt.

2. Die Serverseite antwortet mit einem SYN/ACK-Frame, die seqNr=Y, winSz und MSS der Serverseite werden übermittelt, die seqNrder Clientseite wird durch ackNr=X+1 bestätigt (X+1, nächster erwarteter Wert)

3. Der Client bestätigt mit einem ACK-Frame die seqNr der Serverseite (ackNr=Y+1, nächster erwarteter Wert)

ServerClient

TCP-Instanz X

SYN (seqNr= X , winSz= 1892, mss=1460)

TCP-Instanz YTCP-Segmente (PDU‘s|Frames)Applikation Applikation

CLOSED CLOSED

listen on port (passiv open)

LISTEN(activ) open port

SYN_SENT

SYN/ACK (seqNr= Y, ackNr=X+1, winSz=8760, mss=1460)

SYN_RCVD

ACK (seqNr= X+1, ackNr=Y+1, winSz=1892)

ESTABLISHED ESTABLISHED

connected

connected

53Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Page 54: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

Segment 1 ************************************************************************************00000: 00 AA 00 12 BC B1 00 00 92 90 6F 2E 08 00 45 00 Ethernet, IP00010: 00 2C 86 0F 40 00 7F 06 F8 A0 8D 37 60 43 8D 3700020: 02 6A 04 51 05 DF 01 86 1A 8D 00 00 00 00 60 02 TCP00030: 20 00 D4 C7 00 00 02 04 05 B4

Segment 2 ************************************************************************************00000: 00 00 92 90 6F 2E 00 AA 00 12 BC B1 08 00 45 00 Ethernet, IP00010: 00 2C 34 03 40 00 80 06 49 AD 8D 37 02 6A 8D 3700020: 60 43 05 DF 04 51 00 29 AC 9F 01 86 1A 8E 60 12 TCP00030: 22 38 25 B6 00 00 02 04 05 B4

Segment 3 ***********************************************************************************00000: 00 AA 00 12 BC B1 00 00 92 90 6F 2E 08 00 45 00 Ethernet, IP00010: 00 28 87 0F 40 00 7F 06 F7 A4 8D 37 60 43 8D 3700020: 02 6A 04 51 05 DF 01 86 1A 8E 00 29 AC A0 50 10 TCP00030: 22 38 3D 73 00 00

L4-Protokoll TCP: Connection establishment trace

54Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Page 55: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokoll TCP: Übung - Connection establishment

55Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

LAN

IPTCP

LAN

IPTCP

Application Application

Ermitteln Sie aus dem Trace für TCP:Typ des Segmentes 1: Typ des Segmentes 1: Typ des Segmentes 1:

Ermitteln Sie für den A-Teilnehmer:Eigene Ethernet-Adresse:

Socket-AdresseIP-Adresse:

TCP-Port-Nummer: sequNr:

winSz:MSS:

Ermitteln Sie für den B-Teilnehmer:Eigene Ethernet-Adresse:

Socket-AdresseIP-Adresse:

TCP-Port-Nummer: sequNr:

winSz:MSS:

Page 56: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

Server

L4-Protokoll TCP: Data transfer

� Der Client sendet an den Server Daten der Anzahl A mittels eines ACK/PSH-Segments. � Der Server quittiert den Empfang mit einem ACK-Segment� Der Server schickt anschließend zwei Datensegmente der Anzahl a und b.

Client

TCP-Instanz X

ACK/PSH sequNr=X+1, ackNr=Y+1

TCP-Instanz YTCP-Segmente (PDU‘s)Applikation Applikation

send data(A)

ACK/PSH sequNr=Y+1, ackNr=X+A+1

ESTABLISHED ESTABLISHED

data ready (A)

ACK ackNr= X+A+1

send data(a)

ACK ackNr= Y+a+1

data ready(a)

ACK/PSH sequNr=Y+a+1, ackNr=X+A+1

send data(b)

ACK ackNr= Y+a+b+1

data ready(b)

ACK/PSH sequNr=Y+a+1, ackNr=X+A+1

data read(a)

data read(a)

data read(a)

56Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Page 57: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokoll TCP: Data transfer trace

Segment 1****************************************************************************************Rahm Zeit 7 16.752 00000: 00 AA 00 12 BC B1 00 00 92 90 6F 2E 08 00 45 00 Ethernet, IP00010: 00 36 89 0F 40 00 7F 06 F5 96 8D 37 60 43 8D 3700020: 02 6A 04 51 05 DF 01 86 1A 8E 00 29 AC A0 50 18 TCP00030: 80 00 CC F5 00 00 03 00 00 0E 09 E0 00 00 03 E4 Data00040: 00 C0 01 0D

Segment 2******************************************************************************************Rahm Zeit 8 16.892 00000: 00 00 92 90 6F 2E 00 AA 00 12 BC B1 08 00 45 00 Ethernet, IP00010: 00 28 35 03 40 00 80 06 48 B1 8D 37 02 6A 8D 3700020: 60 43 05 DF 04 51 00 29 AC A0 01 86 1A 9C 50 10 TCP00030: 22 2A 3D 73 00 00

Segment 3******************************************************************************************Rahm Zeit 9 17.004 00000: 00 00 92 90 6F 2E 00 AA 00 12 BC B1 08 00 45 00 Ethernet, IP00010: 00 36 36 03 40 00 80 06 47 A3 8D 37 02 6A 8D 3700020: 60 43 05 DF 04 51 00 29 AC A0 01 86 1A 9C 50 18 TCP00030: 22 2A 2A C4 00 00 03 00 00 0E 09 D0 03 E4 00 0D Data00040: 00 C0 01 0A

Segment 4******************************************************************************************Rahm Zeit 10 17.16800000: 00 AA 00 12 BC B1 00 00 92 90 6F 2E 08 00 45 00 Ethernet, IP00010: 00 28 8A 0F 40 00 7F 06 F4 A4 8D 37 60 43 8D 3700020: 02 6A 04 51 05 DF 01 86 1A 9C 00 29 AC AE 50 10 TCP00030: 7F F2 DF 9C 00 00

57Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Page 58: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokoll TCP: Übung - Data transfer

� Skizzieren Sie den Ablauf des Datentransfers (siehe vorangehende Folie). Ermitteln Sie die Werte für seqNr, ackNr, winSz!

ServerClient

TCP-Instanz X TCP-Instanz YTCP-Segmente (PDU‘s)Applikation Applikation

ESTABLISHED ESTABLISHEDsend data(A)

ACK/PSH(01 86 1a 8e, 00 29 ac a0, 80 00) Data(A)

ACK( 00 29 ac a0, 01 86 1a 9c, 22 2a)

58Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Page 59: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokoll TCP: Connection termination

� Der Verbindungsabbau wird für jede Halbverbindung extra realisiert:– FIN_WAIT1: X sendet an Y FIN-Segment und wartet auf ACK-Segment von Y– FIN_WAIT2: X wartet auf Abbau der Verbindung von Y– CLOSE_WAIT: Y hat Verbindungsabbau von X quittiert. X darf an Y keine Daten mehr senden, Y kann aber noch

an X Daten senden.– TIME_WAIT: X quittiert FIN von Y mit ACK und wartet MSL (2*maximum segment lifetime) ehe der Zustand

CLOSED erreicht wird. �Damit ist Portnummer erst nach dieser Wartezeit wieder benutzbar.

ServerClient

TCP-Instanz X TCP-Instanz YTCP-Segmente (PDU‘s)Applikation Applikation

ESTABLISHED ESTABLISHED

FIN-Segment sequNr=Mclose

FIN_WAIT1ACK-Segment ackNr=M+1

CLOSE_WAITFIN-Segment sequNr=N

FIN_WAIT2

LAST_ACK

closed

TIME_WAIT

ACK-Segment ackNr=N+1

CLOSED

CLOSED

2MSL

59Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

close

closed

closed

Page 60: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokoll TCP: Connection termination trace

Segment 1 ************************************************************************************Rahm Zeit 14 17.769 00000: 00 AA 00 12 BC B1 00 00 92 90 6F 2E 08 00 45 00 Ethernet, IP00010: 00 28 8C 0F 40 00 7F 06 F2 A4 8D 37 60 43 8D 3700020: 02 6A 04 51 05 DF 01 86 1B 51 00 29 AD 46 50 11 TCP00030: 7F 5A DE E6 00 00

Segment 2 ************************************************************************************Rahm Zeit 15 17.770 00000: 00 00 92 90 6F 2E 00 AA 00 12 BC B1 08 00 45 00 Ethernet, IP00010: 00 28 39 03 40 00 80 06 44 B1 8D 37 02 6A 8D 3700020: 60 43 05 DF 04 51 00 29 AD 46 01 86 1B 52 50 10 TCP00030: 21 75 3C CC 00 00

Segment 3 ************************************************************************************Rahm Zeit 16 17.771 00000: 00 00 92 90 6F 2E 00 AA 00 12 BC B1 08 00 45 00 Ethernet, IP00010: 00 28 3A 03 40 00 80 06 43 B1 8D 37 02 6A 8D 3700020: 60 43 05 DF 04 51 00 29 AD 46 01 86 1B 52 50 11 TCP00030: 21 75 3C CB 00 00

Segment 4 ************************************************************************************Rahm Zeit 17 17.771 00000: 00 AA 00 12 BC B1 00 00 92 90 6F 2E 08 00 45 00 Ethernet, IP00010: 00 28 8D 0F 40 00 7F 06 F1 A4 8D 37 60 43 8D 3700020: 02 6A 04 51 05 DF 01 86 1B 52 00 29 AD 47 50 10 TCP00030: 7F 5A DE E5 00 00

60Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Page 61: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokoll TCP: Übung - Connection termination

� Skizzieren Sie den Ablauf des Verbindungsabbaus (siehe vorangehende Folie)

– Geben Sie die Segmenttypen und die TCP-Zustände an!

– Ermitteln Sie die Werte für seqNr, ackNr!

61Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

ServerClient

TCP-Instanz X TCP-Instanz YTCP-Segmente (PDU‘s)Applikation Applikation

ESTABLISHED ESTABLISHED

FIN (seqNr= )

Page 62: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolleProf. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 62

L4-Protokolle: UDP – User Datagram Protocol /RFC 768, 1980/

"Introduction

This User Datagram Protocol (UDP) is defined to make available a datagram mode of packet-switched computer communication in the environment of an interconnected set of computer networks. This protocol assumes that the Internet Protocol (IP) is used as the underlying protocol.

This protocol provides a procedure for application programs to send messages to other programs with a minimum of protocol mechanism. The protocol is transaction oriented, and delivery and duplicate protection are not guaranteed.

Applications requiring ordered reliable delivery of streams of data should use the Transmission Control Protocol (TCP)."

7

3

1 PHY

DL

IP

TCP UDP

SMTPPOPHTTP

WWW E-Mail

2

4

Page 63: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokolle: UDP – Protocol Control Information (PCI)

� UDP ist ein einfaches, datagramm-orientiertes Transportschicht-Protokoll.

� Jede Output-Operation eines Anwendungsprozesses erzeugt genau ein UDP-Datagramm.

63Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

0..3 4..7 8..11 12..15 16..19 20..23 24..27 28..31

Source Port Number 16 bit Destination Port Number 16 bit

UDP length16 bit UDP checksum16 bit

Data

Source/Destination Port

Bindung der Anwendungen an den UDP/IP-Kommunikationsstack. Man kann 216 Ports adressieren.

UDP length Länge des Header+Daten. Minimum=8. Diese Längenangabe ist redundant, da die Länge in Total length des IP-Headers nochmal angegeben wird.

UDP-Checksum Diese Prüfsumme wird über den Header+Daten gebildet und dient der Fehlererkennung

Page 64: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

L4-Protokoll UDP: Traces

Datagram 1********************************************************************von LUWI12 (141.55.210.23, 00A0244D36E2) an DNS (141.55.192.50, 00E05285C900)

00000: 00 E0 52 85 C9 00 00 A0 24 4D 36 E2 08 00 45 00 ..R.....$M6...E.

00010: 00 3C 11 EB 00 00 80 11 7C 0D 8D 37 D2 17 8D 37 .<......|..7...7

00020: C0 32 0D 9B 00 35 00 28 B1 5E 00 01 01 00 00 01 .2...5.(.^......

00030: 00 00 00 00 00 00 03 77 77 77 06 6E 6F 76 65 6C .......www.novel

00040: 6C 03 63 6F 6D 00 00 01 00 01 l.com.....

Datagram 2******************************************************************** von DNS (141.55.192.50, 00E05285C900) an LUWI12 (141.55.210.23, 00A0244D36E2)

00000: 00 A0 24 4D 36 E2 00 E0 52 85 C9 00 08 00 45 00 ..$M6...R.....E.

00010: 00 ED 31 26 00 00 3F 11 9D 21 8D 37 C0 32 8D 37 ..1&..?..!.7.2.7

00020: D2 17 00 35 0D 9B 00 D9 44 C0 00 01 81 80 00 01 ...5....D.......

00030: 00 03 00 03 00 03 03 77 77 77 06 6E 6F 76 65 6C .......www.novel

00040: 6C 03 63 6F 6D 00 00 01 00 01 C0 0C 00 01 00 01 l.com...........

64Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Ermitteln Sie:destPort:sourPort:udpLength:

Ermitteln Sie:destPort:sourPort:udpLength:

Page 65: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

Player

Player

Player

Unterschied Download und Streaming

Festplatte

(1) Download per TCP/IP

(1) RTP/UDP/IP Echtzeitdaten

(1) RTSP/UDP/IP-Start, -Stop, -Vor, -Zurück, -Pause

65

Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

RTP-Client

RTP-Server

(1) RTCP/UDP/IP QOS-Pakete

(1) RTSP/UDP/IP-DatenRTSP-Client

RTSP-Server

Cache

TCP-Server

TCP-Client

(2) Abspielen

(1) Abspielen

(1) Abspielen

RTP real time protocol (RFC 1889)RTCP real time control protocol (RFC 1890)RTSP real time streaming protocol

Page 66: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

Mbone – Multicast-Backbone

� Multicast-Adressen der Klasse D dienen zur Adressierung einer Gruppe von Rechnern in einem Netz, auch gerichteter Broadcast genannt

� Server die z.B. Live Video/Radio im Internet aussenden, bekommen eine Multicast-adresse

� Client A, Client B bauen z.B. eine Verbindung zu einem Multicast-Server auf.– Router erkennen Multicast-Adresse, markieren den Link, über den eine Multicast-Verbindung

aufgebaut wurde.– Kommen Pakete mit dieser Multicast-Adresse vom Server, werden diese nur an die markierten

Links weitergeleitet.

� Die Router bilden damit für diese Multicast-Adresse ein virtuelles Netz im Netz:Mbone genannt.

66Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Client A Client BRouter

Multicast-Server

Router

Page 67: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolle

Unterschied: Unicast - Multicast

67Prof. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de

Page 68: Internet (2) - staff.hs-mittweida.dewin/vorlesungen/internet2.pdf · – mit HDLC-Rahmenbildung für IP-Datagramme, wenn der Link synchron bitorientiert arbeitet. Prof. Dr.-Ing. habil

Internet 2 – Transportdienste und -protokolleProf. Dr.-Ing. habil. Lutz Winkler ::: https://www.telecom.hs-mittweida.de 68

Literatur

Fachbücher

Comer Computernetzwerke und Internets, Prentice Hall, 2002, ISBN 3-8272-9552-1

Tanenbaum Computernetzwerke, Pearson Studium, 2003, ISBN 978-3-8273-7046-4

Halsall Data Communications, Computer Networks and Open Systems, Addison Wesley 1996, ISBN 0-201-42293-X

Stevens TCP/IP Illustrated, Volume 1 The Protocols, Addison Wesley 1994, ISBN 0-201-63346-9

Badach, Hoffmann

Technik der IP-Netze, Hanser Verlag, 2007, ISBN 978-3-446-21935-9

Stainov IPnG, Das Internet-Protokoll der nächsten Generation, Internat. Thomson Publ., 1997, ISBN 3-8266-4018-7

Taschenbuch

STEIN Taschenbuch Rechnernetze und Internet, Fachbuchverlag Leipzig, 2004, ISBN 3-446-22573-0

Standards

IETF http://tools.ietf.org

Wiresharktraces

http://wiki.wireshark.org/SampleCaptures

http://packetlife.net/captures

URLs

Webbasierter IP-Analysator http://zyxel.trc.dk/

RFC‘c http://tools.ietf.org/html oder http://www.ietf.org