Вы находитесь на странице: 1из 78

IP - ICMP - UDP - TCP

Cours de R eseaux Tuy et Tr am DANG NGOC


<dntt@u-cergy.fr>

Universit e de Cergy-Pontoise

20122013

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

1 / 47

Plan
1 2 3

6 7

Encapsulation Ethernet IP Datagramme IP ICMP ICMP : Echo Request (8), Echo Reply (0) ICMP : Destination Unreachable (3) ICMP : Source Quench (4) ICMP Redirect (5) ICMP : TTL Exceeded (11) TCP Segment TCP Ports TCP Connexion TCP UDP R ef erences
Tuy et Tr am DANG NGOC IP - ICMP - UDP - TCP 2 / 47

Encapsulation

Encapsulation Ethernet IP ICMP TCP UDP R ef erences

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

3 / 47

Encapsulation

Encapsulation

thernet II Destination: Enterasy 32:9e:0e (00:01:f4:32:9e:0e) Source: Intel 04:f2:4a (00:16:76:04:f2:4a) Type: IP (0x0800) nternet Protocol Version: 4 Header length: 20 bytes Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00) Total Length: 1067 Identification: 0x50ba (20666) Flags: 0x04 (Dont Fragment) Fragment offset: 0 Time to live: 64 Protocol: TCP (0x06) Header checksum: 0x5f01 Source: 172.22.136.18 Destination: 209.85.129.147 ransmission Control Protocol Source port: 42305 (42305) Destination port: http (80) Sequence number: 0 Next sequence number: 1027 Acknowledgement number: 0 Header length: 20 bytes Flags: 0x0018 (PSH, ACK) Window size: 6633 Checksum: 0xf394 ypertext Transfer Protocol GET /calendar/render?pli=1 HTTP/1.1 ... Tuy et Tr am DANG NGOC

00 01 50 ba 81 93 19 e9 64 61 20 48 20 77 ...

f4 40 a5 f3 72 54 77

32 00 41 94 2f 54 77

9e 40 00 00 72 50 2e

0e 06 50 00 65 2f 67

00 5f 09 47 6e 31 6f

16 01 84 45 64 2e 6f

76 ac 40 54 65 31 67

04 16 a9 20 72 0d 6c

f2 88 a2 2f 3f 0a 65

4a 12 bd 63 70 48 2e

08 d1 c2 61 6c 6f 63

00 55 84 6c 69 73 6f

45 00 04 50 65 3d 74 6d 18 6e 31 3a 0d

Entete Ethernet

Entete Entete Donnes Applic IP TCP Segment TCP Datagramme IP Datagramme Ethernet

IP - ICMP - UDP - TCP

4 / 47

Ethernet

Encapsulation Ethernet IP ICMP TCP UDP R ef erences

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

5 / 47

Ethernet

Datagramme Ethernet

16

24

31

ADRESSE ETHERNET DESTINATION

ADRESSE ETHERNET SOURCE TYPE DATA

(46 1500 bytes)

...
FCS/CRC Checksum

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

6 / 47

IP

Encapsulation Ethernet IP Datagramme IP

ICMP TCP UDP R ef erences

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

7 / 47

IP

Caract eristique de IP

Pas de connexion : dialogue de machine ` a machine Non able : abilit e assur ee par les protocoles sup erieurs Le protocole IP est simple : sa simplicit e est la clef de sa robustesse Datagramme IP : limite = 65535 octets

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

8 / 47

IP

Datagramme IP

Datagramme IP
0 4 8 16 24
TOTAL LENGTH FLAGS FRAGMENT OFFSET HEADER CHECKSUM

31

VERSION HLEN SERVICETYPE

IDENTIFICATION TIME TO LIVE PROTOCOL

SOURCE IP ADDRESS DESTINATION IP ADDRESS IP OPTIONS DATA ... PADDING

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

9 / 47

IP

Datagramme IP

Datagramme IP
0 4 8
Identification Dure de vie Protocole

16
Drapeau

24
Longueur totale Dcalage fragment

31

Longueur Version dentete Type de service

Somme de controle dentete

Adresse IP Source Adresse IP destination Options IP Donnes ... Remplissage

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

9 / 47

IP

Datagramme IP

Datagramme IP

Version (4bits) : version du protocole IP utilis e (IPv4 = 0100 ). Longueur den-t ete (4bits) : Nombre de mots de 32 bits contenant len-t ete (> 5) Type de service (8 bits) : comment le paquet doit etre trait e (priorit e et indicateur de d ebit, d elai et abilit e). Rarement utilis e. Longueur totale (16bits) : taille totale du datagramme en octets Identication (16bits), Drapeau (4bits) et D ecalage (12bits) : Pour la fragmentation Dur ee de vie ou TTL (8bits) : nombre maximal de routeurs traversables. En g en eral x e` a 64. Protocole (8bits) : quel protocole est encapsul e dans le datagramme (TCP, UDP, ICMP, IGMP) Somme de contr ole (16bits) : contr oler lint egrit e des donn ees Adresse IP source (32bits) : ladresse IP de lexp editeur Adresse IP destination (32bits) : ladresse IP du destinataire Options IP : liste doption. Une option fait en g en eral 4 octets (1 octet de type, 1 octet de longueur doption et deux octets pour les valeurs de loption). Il peut y avoir de 0 ` a 10 options dans un datagramme IP. Remplissage : pour que les bits doptions soient un multiple de 32 bits Donn ees : les donn ees transport ees par ce datagramme IP (au format r epondant au protocole sp eci e avant)

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

10 / 47

IP

Datagramme IP

Fragmentation MTU

R eseau sous-jacent : limite souvent inf erieure MTU : Maximum Transfert Unit Passage par des r eseaux de MTU inf erieur fragmentation des datagrammes

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

11 / 47

IP

Datagramme IP

Fragmentation
Datagramme IP transmettre

1400 bits de donnes Entete datagramme

Fragmentation (MTU = 600)

Entete datagramme (1er fragment) Identification = 42 Drapeau (encore ?) = 1 Dcalage = 0

600 bits de donnes

Entete datagramme (2me fragment) Identification = 42 Drapeau (encore ?) = 1 Dcalage = 600

600 bits de donnes

Entete datagramme 200 bits (3me fragment) de donnes Identification = 42 Drapeau (encore ?) = 0 Dcalage = 1200

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

12 / 47

IP

Datagramme IP

Time-to-Live (TTL)
Il peut arriver des probl` emes r eseau Exemple :
A route C via B B route C via A (routeur B mal congur e)
Je veux envoyer un paquet D A
Pour aller C, il faut passer par B

boucle de routage, les paquets circulent sans n (paquets fant omes) Solution : Dur ee de vie (Time-To-Live).
Compteur d ecr ement e` a chaque routeur. Le paquet est d etruit lorsque TTL=0
Tuy et Tr am DANG NGOC IP - ICMP - UDP - TCP

Pour aller D, il faut passer par C

Pour aller D, il faut passer par B

13 / 47

IP

Datagramme IP

Time-to-Live (TTL)
Il peut arriver des probl` emes r eseau Exemple :
A route C via B B route C via A (routeur B mal congur e)

Je veux envoyer un paquet D A TTL=6 B

boucle de routage, les paquets circulent sans n (paquets fant omes) Solution : Dur ee de vie (Time-To-Live).
Compteur d ecr ement e` a chaque routeur. Le paquet est d etruit lorsque TTL=0
Tuy et Tr am DANG NGOC IP - ICMP - UDP - TCP

Pour aller C, il faut passer par B

Pour aller D, il faut passer par C

Pour aller D, il faut passer par B

13 / 47

IP

Datagramme IP

Time-to-Live (TTL)
Il peut arriver des probl` emes r eseau Exemple :
A route C via B B route C via A (routeur B mal congur e)

Je veux envoyer un paquet D A

boucle de routage, les paquets circulent sans n (paquets fant omes) Solution : Dur ee de vie (Time-To-Live).
Compteur d ecr ement e` a chaque routeur. Le paquet est d etruit lorsque TTL=0
Tuy et Tr am DANG NGOC IP - ICMP - UDP - TCP

Pour aller C, il faut passer par B

Pour aller D, il faut passer par C

TTL=5 C
Pour aller D, il faut passer par B

13 / 47

IP

Datagramme IP

Time-to-Live (TTL)
Il peut arriver des probl` emes r eseau Exemple :
A route C via B B route C via A (routeur B mal congur e)
Je veux envoyer un paquet D A
Pour aller C, il faut passer par B

boucle de routage, les paquets circulent sans n (paquets fant omes) Solution : Dur ee de vie (Time-To-Live).
Compteur d ecr ement e` a chaque routeur. Le paquet est d etruit lorsque TTL=0
Tuy et Tr am DANG NGOC IP - ICMP - UDP - TCP

Pour aller D, il faut passer par C

TTL=4 C
Pour aller D, il faut passer par B

13 / 47

IP

Datagramme IP

Time-to-Live (TTL)
Il peut arriver des probl` emes r eseau Exemple :
A route C via B B route C via A (routeur B mal congur e)
Je veux envoyer un paquet D A TTL=3 B
Pour aller D, il faut passer par C Pour aller C, il faut passer par B

boucle de routage, les paquets circulent sans n (paquets fant omes) Solution : Dur ee de vie (Time-To-Live).
Compteur d ecr ement e` a chaque routeur. Le paquet est d etruit lorsque TTL=0
Tuy et Tr am DANG NGOC IP - ICMP - UDP - TCP

Pour aller D, il faut passer par B

13 / 47

IP

Datagramme IP

Time-to-Live (TTL)
Il peut arriver des probl` emes r eseau Exemple :
A route C via B B route C via A (routeur B mal congur e)
Je veux envoyer un paquet D A TTL=2 B
Pour aller D, il faut passer par C Pour aller C, il faut passer par B

boucle de routage, les paquets circulent sans n (paquets fant omes) Solution : Dur ee de vie (Time-To-Live).
Compteur d ecr ement e` a chaque routeur. Le paquet est d etruit lorsque TTL=0
Tuy et Tr am DANG NGOC IP - ICMP - UDP - TCP

Pour aller D, il faut passer par B

13 / 47

IP

Datagramme IP

Time-to-Live (TTL)
Il peut arriver des probl` emes r eseau Exemple :
A route C via B B route C via A (routeur B mal congur e)
Je veux envoyer un paquet D A
Pour aller C, il faut passer par B

boucle de routage, les paquets circulent sans n (paquets fant omes) Solution : Dur ee de vie (Time-To-Live).
Compteur d ecr ement e` a chaque routeur. Le paquet est d etruit lorsque TTL=0
Tuy et Tr am DANG NGOC IP - ICMP - UDP - TCP

Pour aller D, il faut passer par C

TTL=1 C
Pour aller D, il faut passer par B

13 / 47

IP

Datagramme IP

Time-to-Live (TTL)
Il peut arriver des probl` emes r eseau Exemple :
A route C via B B route C via A (routeur B mal congur e)
Je veux envoyer un paquet D A
Pour aller C, il faut passer par B

boucle de routage, les paquets circulent sans n (paquets fant omes) Solution : Dur ee de vie (Time-To-Live).
Compteur d ecr ement e` a chaque routeur. Le paquet est d etruit lorsque TTL=0
Tuy et Tr am DANG NGOC IP - ICMP - UDP - TCP

Pour aller D, il faut passer par C

TTL=0 C

Pour aller D, il faut passer par B

13 / 47

IP

Datagramme IP

Time-to-Live (TTL)
Il peut arriver des probl` emes r eseau Exemple :
A route C via B B route C via A (routeur B mal congur e)
Je veux envoyer un paquet D A
Pour aller C, il faut passer par B

boucle de routage, les paquets circulent sans n (paquets fant omes) Solution : Dur ee de vie (Time-To-Live).
Compteur d ecr ement e` a chaque routeur. Le paquet est d etruit lorsque TTL=0
Tuy et Tr am DANG NGOC IP - ICMP - UDP - TCP

Pour aller D, il faut passer par C

TTL=0 C

Pour aller D, il faut passer par B

13 / 47

ICMP

Encapsulation Ethernet IP ICMP ICMP ICMP ICMP ICMP ICMP TCP UDP
Tuy et Tr am DANG NGOC IP - ICMP - UDP - TCP 14 / 47

: Echo Request (8), Echo Reply (0) : Destination Unreachable (3) : Source Quench (4) Redirect (5) : TTL Exceeded (11)

ICMP

Caract eristique dICMP

Protocole encapsul e dans des datagrammes IP G en er e par la destination ou un routeur interm ediaire indiquent une condition (derreur) ` a l emetteur

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

15 / 47

ICMP

Message ICMP
0 4
TYPE

8
CODE

16

24
CHECKSUM

31

HEADER OF ORIGINAL MESSAGE DATA

...

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

16 / 47

ICMP

Message ICMP
0 4
Type

8
Code

16

24
Somme de controle

31

Entete IP + 64 premiers bits du datagramme IP ayant provoqu lerreur

Donnes

...

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

16 / 47

ICMP

Type ICMP
Type 0 3 4 5 8 11 12 13 14 17 18 Signication Echo reply Destination Unreachable Source Quench Redirect Echo request TTL exceeded Parameter Problem Timestamp request Timestamp reply Address Mask Request Address Mask Reply

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

17 / 47

ICMP

ICMP : Echo Request (8), Echo Reply (0)

ICMP : Echo Request (8), Echo Reply (0)


Test de laccessibilit e dune machine distante : les tables de routage sont correctes toutes les passerelles interm ediaires fonctionnent IP sur la machine distante fonctionne ICMP sur la machine distante fonctionne

ICMP Request

Internet
ICMP Reply

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

18 / 47

ICMP

ICMP : Destination Unreachable (3)

ICMP : Destination Unreachable (3)

Envoy e lorsquun routeur ne peut router un datagramme (ex. pas dentr ee dans la table de routage) Plus de d etail dans le champ code. code signication 0 Network unreachable error. 1 Host unreachable error. 2 Protocol unreachable error 3 Port unreachable error 5 Source route failed error. 6 Destination network unknown error. 7 Destination host unknown error.

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

19 / 47

ICMP

ICMP : Source Quench (4)

ICMP : Source Quench (4)

Denition Contr ole de congestion : lorsquun routeur est congestionn e (trop de datagrammes arrivent), il envoie des ICMP Source Quench ` a l emetteur pour r eduire le d ebit. L emetteur diminuera alors le d ebit progressivement jusqu` a ne plus recevoir dICMP Source Quench

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

20 / 47

ICMP

ICMP Redirect (5)

ICMP Redirect (5)

Redirection des datagrammes ex. A envoie un datagramme adress e` a D vers B B envoie un ICMP Redirect ` aA pour lui indiquer de changer sa table de routage B envoie un datagramme adress e` a D vers C

Pour aller vers rseau 3 rseau 1

Passer par B B rseau 1

A B
rseau 2

Pour aller Passer vers par rseau 3 C

C
rseau 3

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

21 / 47

ICMP

ICMP Redirect (5)

ICMP Redirect (5)

Redirection des datagrammes ex. A envoie un datagramme adress e` a D vers B B envoie un ICMP Redirect ` aA pour lui indiquer de changer sa table de routage B envoie un datagramme adress e` a D vers C

Pour aller vers rseau 3 rseau 1

Passer par B B rseau 1

A B
rseau 2 src = A dst = D donnes

Pour aller Passer vers par rseau 3 C

C
rseau 3

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

21 / 47

ICMP

ICMP Redirect (5)

ICMP Redirect (5)

Redirection des datagrammes ex. A envoie un datagramme adress e` a D vers B B envoie un ICMP Redirect ` aA pour lui indiquer de changer sa table de routage B envoie un datagramme adress e` a D vers C

Pour aller vers rseau 3 rseau 1

Passer par B B rseau 1

A B
rseau 2

ICMP Redirect Pour aller vers D, passer par C

Pour aller Passer vers par rseau 3 C

C
rseau 3

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

21 / 47

ICMP

ICMP Redirect (5)

ICMP Redirect (5)

Redirection des datagrammes ex. A envoie un datagramme adress e` a D vers B B envoie un ICMP Redirect ` aA pour lui indiquer de changer sa table de routage B envoie un datagramme adress e` a D vers C

Pour aller vers rseau 3 rseau 1

Passer par B C B rseau 1

A B
rseau 2

ICMP Redirect Pour aller vers D, passer par C

Pour aller Passer vers par rseau 3 C

C
rseau 3

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

21 / 47

ICMP

ICMP Redirect (5)

ICMP Redirect (5)

Redirection des datagrammes ex. A envoie un datagramme adress e` a D vers B B envoie un ICMP Redirect ` aA pour lui indiquer de changer sa table de routage B envoie un datagramme adress e` a D vers C

Pour aller vers rseau 3 rseau 1

Passer par C B rseau 1

A B
rseau 2 src = A dst = D donnes

Pour aller Passer vers par rseau 3 C

C
rseau 3

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

21 / 47

ICMP

ICMP : TTL Exceeded (11)

ICMP : TTL Exceeded (11)

Quand TTL = 0 le message ICMP TTL Exceeded est envoy e` a la source Astuce utilis ee par traceroute
A R2 R1 R4 B

R3

R5

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

22 / 47

ICMP

ICMP : TTL Exceeded (11)

ICMP : TTL Exceeded (11)

Quand TTL = 0 le message ICMP TTL Exceeded est envoy e` a la source Astuce utilis ee par traceroute
TTL=1 src=A dst= B UDP port X

A R2 R1 R1
src=R1 dst=A ICMP TTL_EXCEEDED

B R4

R3

R5

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

22 / 47

ICMP

ICMP : TTL Exceeded (11)

ICMP : TTL Exceeded (11)

Quand TTL = 0 le message ICMP TTL Exceeded est envoy e` a la source Astuce utilis ee par traceroute
TTL=2 src=A dst= B UDP port X

A R2 R1 R1 R2
src= R2 dst=A ICMP TTL_EXCEEDED

B R4

R3

R5

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

22 / 47

ICMP

ICMP : TTL Exceeded (11)

ICMP : TTL Exceeded (11)

Quand TTL = 0 le message ICMP TTL Exceeded est envoy e` a la source Astuce utilis ee par traceroute
TTL=3 src=A dst= B UDP port X

A R2 R1 R1 R2 R3 R4

R3

R5

src= R3 dst=A ICMP TTL_EXCEEDED

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

22 / 47

ICMP

ICMP : TTL Exceeded (11)

ICMP : TTL Exceeded (11)

Quand TTL = 0 le message ICMP TTL Exceeded est envoy e` a la source Astuce utilis ee par traceroute
TTL=4 src=A dst= B UDP port X

A R2 R1 R1 R2 R3 R4 R4

R3

R5

src= R4 dst=A ICMP TTL_EXCEEDED

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

22 / 47

ICMP

ICMP : TTL Exceeded (11)

ICMP : TTL Exceeded (11)

Quand TTL = 0 le message ICMP TTL Exceeded est envoy e` a la source Astuce utilis ee par traceroute
TTL=5 src=A dst= B UDP port X

A R2 R1 R1 R2 R3 R4 R5 R4

R3

R5

src= R5 dst=A ICMP TTL_EXCEEDED

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

22 / 47

ICMP

ICMP : TTL Exceeded (11)

ICMP : TTL Exceeded (11)

Quand TTL = 0 le message ICMP TTL Exceeded est envoy e` a la source Astuce utilis ee par traceroute
TTL=6 src=A dst= B UDP port X

A R2 R1 R1 R2 R3 R4 R5 B R4

R3

R5

src= B dst=A ICMP PORT UNREACHABLE

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

22 / 47

TCP

Encapsulation Ethernet IP ICMP TCP Segment TCP Ports TCP Connexion TCP UDP R ef erences
Tuy et Tr am DANG NGOC IP - ICMP - UDP - TCP 23 / 47

TCP

Quest ce que TCP ?

TCP est un protocole bas e sur IP qui : assure une connexion utilise la notion de ports pour faire communiquer des applications sur des machines contr ole les erreurs pour assurer une transmission able.

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

24 / 47

TCP

Caract eristiques de TCP

Transport able Circuit virtuel Transfert bueris e Flux dinformation non-structur e Full-Duplex

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

25 / 47

TCP

Segment TCP

Segment TCP

8 10

16

24

31

TCP SOURCE PORT

TCP DESTINATION PORT

SEQUENCE NUMBER ACKNOWLEDGEMENT NUMBER HLEN RESERVED CHECKSUM OPTIONS DATA ... CODE WINDOW URGENT POINTER PADDING

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

26 / 47

TCP

Segment TCP

Segment TCP

8 10

16

24
Port destination TCP

31

Port source TCP

Numro de squence Numro dacquittement


Longueur entete Rserv

Code

Taille de la fenetre Pointeur urgent Remplissage

Somme de controle Options Donnes ...

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

26 / 47

TCP

Ports TCP

Ports
Une connexion TCP est identi ee par : ladresse IP et le port du programme source ladresse IP et le port du programme destination

5432 IP1 9862


IP1:5432 > IPS1:25 IP1:5432 > IPS1:25 IP1:9862 > IPS1:80 IP2:8172 > IPS1:25 IP1:9862 > IPS1:80 IP3:3412 > IPS1:80 IP2:8172 > IPS1:25 IP1:5432 > IPS1:25 IP2:8172 > IPS1:25

25

Mail

80

Web

IP1:9862 > IPS1:80

21 IP2:8172 > IPS1:25

FTP

IPS1

IP3:3412 > IPS1:80

8172 IP2 3412

IP3:7165 > IPS2:80

7165
IP3:7154 > IPS2:80

IP3:7154 > IPS2:80 IP3:7165 > IPS2:80 IP3:7154 > IPS2:80 IP3:7165 > IPS2:80 IP3:7154 > IPS2:80 IP3:7165 > IPS2:80

80

Web

7154 IP3 IPS2

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

27 / 47

TCP

Ports TCP

Ports
Une connexion TCP est identi ee par : ladresse IP et le port du programme source ladresse IP et le port du programme destination

5432 IP1 9862

25

Mail

80

Web

21

FTP

IPS1

8172 IP2 3412 7165


80 Web

7154 IP3 IPS2

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

27 / 47

TCP

Ports TCP

Ports bien connus

Port 21 23 25 53 79 80 513 515 6000

Nom FTP telnet SMTP domain nger HTTP login printer X11

Signication Transfert de chiers Connexion ` a distance Courrier electronique Serveur de noms Finger pages web rlogin Impression d eport ee XWindow Version 11

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

28 / 47

TCP

Connexion TCP

Etablissement de connexion

Client
Port A SYN (seq = x)

Serveur
Port B

Ouverture passive : attendre et accepter les connexions (serveur) Ouverture active : contacter lapplication distante et sy connecter (client)
ACK ( seq = y + 1)

SYN ( seq = y) ; ACK (seq = x + 1)

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

29 / 47

TCP

Connexion TCP

Acquittement

Source Port A

Destination Port B

Emission du message Mi On arme le temporisateur

Rception du message Mi Emission de lacquittement Ai

Rception de lacquittement Ai OK, on continue

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

30 / 47

TCP

Connexion TCP

Acquittement

Source Port A

Destination Port B

Emission du message Mi On arme le temporisateur

Le temps est coul, on remet Mi Emission du message Mi

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

30 / 47

TCP

Connexion TCP

Acquittement

Source Port A

Destination Port B

Emission du message Mi On arme le temporisateur

Rception du message Mi Emission de lacquittement Ai

Le temps est coul, on remet Mi Emission du message Mi

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

30 / 47

TCP

Connexion TCP

Gestion des acquittements

Pour tout segment emis, TCP sattend ` a recevoir un acquittement. Sil nest pas acquitt e au bout dun certain temps, le segment est consid er e comme perdu et est retransmis. Champ SEQ : num ero de s equence du premier octet du segment Champ ACK : le prochain num ero de s equence attendu par l emetteur de lacquittement.

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

31 / 47

TCP

Connexion TCP

1000 octets 1000 octets Seq=1

1000 octets

1000 octets

1000 octets

1000 octets

Seq=1001 Seq=2001

entete

Seq=1

entete Seq=1001

entete Seq=2001

Source

Destination

Seq=1

Envoi de 1000 octets contenu dans le segment TCP

Ack=1001

Seq=1001 Envoi de 1000 octets contenu dans le segment TCP Ack=2001

Seq=2001

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

32 / 47

TCP

Connexion TCP

Fen etre glissante


Client Serveur

Fiabilit e : lorsque A envoie un paquet ` a B, il sut que A attende laccus e de r eception avant denvoyer le paquet suivant. Probl` eme : m ecanisme trop lent (entre 100ms et 500 ms pour traverser latlantique) Solution : Sliding Windows (Fen etre mobile)
Tuy et Tr am DANG NGOC IP - ICMP - UDP - TCP 33 / 47

TCP

Connexion TCP

Fen etre glissante


Client Serveur

Exemple : fen etre taille 5 A envoie les paquets 1 ` a5 Quand A re coit laccus e de r eception du paquet 1, il peut envoyer le paquet 6

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

34 / 47

TCP

Connexion TCP

Fen etre glissante


Client Serveur

Exemple : fen etre taille 5 A envoie les paquets 1 ` a5 Quand A re coit laccus e de r eception du paquet 1, il peut envoyer le paquet 6

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

34 / 47

TCP

Connexion TCP

Fen etre glissante


Client Serveur

Exemple : fen etre taille 5 A envoie les paquets 1 ` a5 Quand A re coit laccus e de r eception du paquet 1, il peut envoyer le paquet 6

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

34 / 47

TCP

Connexion TCP

Fen etre glissante


Client Serveur

Exemple : fen etre taille 5 A envoie les paquets 1 ` a5 Quand A re coit laccus e de r eception du paquet 1, il peut envoyer le paquet 6

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

34 / 47

TCP

Connexion TCP

Fen etre glissante et acquittement


Source
Fenetre=300 Segment=100

Destination

Seq = 1 On reoit 1 Ack = 101 Seq = 101 Attente de 101 Seq = 201 Mise en mmoire de 201 Seq = 301 Ack = 101 Mise en mmoire de 301 Attente (fenetre =300) Remission de 101 Seq = 101 On reoit le 101 manquant Seq = 101 Seq = 201 Ack = 401 Seq = 201 Seq = 301
Tout a t acquitt jusqu 400

Seq = 1

Buffer Seq = 201

Seq = 301

Seq = 401

On reoit 401 Seq = 401

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

35 / 47

TCP

Connexion TCP

Donn ees urgentes

Probl` eme : n ecessit e de donn ees urgentes (signaux, interruptions, conditions derreur, etc.). Solution : out of band data Impl ementation : ag URG : indique des donn ees urgentes urgent pointer : o` u sont les donn ees Lutilisateur est pr evenu par un m ecanisme d ependant du syst` eme dexploitation (signaux sous Unix).

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

36 / 47

TCP

Connexion TCP

Fermeture de connexion

Client
Port A FIN (seq = x)

Serveur
Port B

ACK (seq = x + 1) fermeture FIN (seq = y) ; ACK (seq = x + 1)

ACK ( seq = y + 1)

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

37 / 47

TCP

Connexion TCP

Exemple TCP : SMTP

Client
Port A

Serveur
Port B

Ouverture de la connexion

HELO [194.167.235.222] 250 [193.51.25.9] Hello [194.167.235.222] MAIL FROM: dntt@ucergy.fr 250 2.1.0 dntt@ucergy.fr... Sender OK RCPT TO: card@cri.uvsq.fr 250 2.1.5 card@cri.uvsq.fr... Recipient OK DATA 354 Enter mail, end with "." on a line by Bonjour,\n Comment ca va ?\n.\n QUIT 250 2.0.0 iAUMAkF16994 Message

, pleased to meet you

itself

accepted for delivery

Fermeture de la connexion

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

38 / 47

TCP

Connexion TCP

Exemple TCP : SMTP

Client
Port A SYN (seq = x) ACK (seq = y + 1)

Serveur
Port B SYN (seq = y) ; ACK (seq = x + 1) 220 [193.51.25.9] ESMTP Sendmail 8.11.4

HELO [194.167.235.222] 250 [193.51.25.9] Hello [194.167.235.222] MAIL FROM: dntt@ucergy.fr 250 2.1.0 dntt@ucergy.fr... Sender OK RCPT TO: card@cri.uvsq.fr 250 2.1.5 card@cri.uvsq.fr... Recipient OK DATA 354 Enter mail, end with "." on a line by Bonjour,\n Comment ca va ?\n.\n QUIT 250 2.0.0 iAUMAkF16994 Message

, pleased to meet you

itself

accepted for delivery

FIN (seq = x) ACK (seq = x + 1) FIN (seq = y) ; ACK (seq = x + 1) ACK (seq = y + 1)

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

38 / 47

TCP

Connexion TCP

Exemple TCP : SMTP

Client
Port A SYN (seq = x) ACK (seq = y + 1) HELO [194.167.235.222]

Serveur
Port 25 SYN (seq = y) ; ACK (seq = x + 1) 220 [193.51.25.9] ESMTP Sendmail 8.11.4

250 [193.51.25.9] Hello [194.167.235.222] , pleased to meet you MAIL FROM: dntt@ucergy.fr 250 2.1.0 dntt@ucergy.fr... Sender OK RCPT TO: card@cri.uvsq.fr 250 2.1.5 card@cri.uvsq.fr... Recipient OK DATA 354 Enter mail, end with "." on a line by itself Bonjour,\n Comment ca va ?\n.\n 250 2.0.0 iAUMAkF16994 Message accepted for delivery QUIT FIN (seq = x) ACK (seq = x + 1) FIN (seq = y) ; ACK (seq = x + 1) ACK (seq = y + 1)

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

38 / 47

TCP

Connexion TCP

Exemple TCP : SMTP

Client
Port A SYN (seq = x) ACK (seq = y + 1) ACK HELO [194.167.235.222]

Serveur
Port 25 SYN (seq = y) ; ACK (seq = x + 1) 220 [193.51.25.9] ESMTP Sendmail 8.11.4 ACK 250 [193.51.25.9] Hello [194.167.235.222] , pleased to meet you 250 2.1.0 dntt@ucergy.fr... Sender OK

ACK MAIL FROM: dntt@ucergy.fr ACK RCPT TO: card@cri.uvsq.fr

ACK ACK 250 2.1.5 card@cri.uvsq.fr... Recipient OK

ACK DATA ACK 354 Enter mail, end with "." on a line by ACK Bonjour,\n Comment ca va ?\n.\n ACK ACK 250 2.0.0 iAUMAkF16994 Message accepted for delivery ACK FIN (seq = x) ACK (seq = x + 1) FIN (seq = y) ; ACK (seq = x + 1) ACK (seq = y + 1) itself

ACK QUIT

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

38 / 47

UDP

Encapsulation Ethernet IP ICMP TCP UDP R ef erences

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

39 / 47

UDP

Caract eristique dUDP

UDP est un protocole bas e sur IP qui : Fonctionne en mode non connect e utilise la notion de ports pour faire communiquer des applications sur des machines nassure pas la abilit e de la transmission UDP = IP + Port UDP = TCP - la abilit e

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

40 / 47

UDP

Datagramme UDP

8 10

16

24
CHECKSUM

31

UDP SOURCE PORT MESSAGE LENGTH DATA ...

UDP DESTINATION PORT

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

41 / 47

UDP

Datagramme UDP

8 10

16

24
Port destination UDP Somme de controle

31

Port source UDP Longueur du message Donnes ...

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

41 / 47

UDP

Ports bien connus

Port 13 53 67 68 69 123 161 162 513

Nom daytime domain bootps bootpc tftp ntp snmp snmp-trap who

Signication date courante dune machine Serveur de noms Serveur bootstrap Client bootstrap Trivial File Transfert Serveur de temps r eseau (tr` es pr ecis) Gestion de r eseau Trappes SNMP rwho

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

42 / 47

UDP

Exemple UDP : DHCP


Client Port 68 DHCP_DISCOVER Server Port 67

DHCP_OFFER DHCP_REQUEST

DHCP_ACK

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

43 / 47

UDP

Synth` ese TCP/UDP


TCP : Protocole able Les applications utilisant TCP ne soccupent que de laspect dialogue sans se pr eoccuper de la abilit e de la connexion. Programmation dapplication tr` es simple. Protocole Point ` a Point Lent UDP : Protocole non able Les applications utilisant UDP doivent savoir g erer les erreurs durant les transmissions Protocole non connect e. Diusion possible. Rapide
Tuy et Tr am DANG NGOC IP - ICMP - UDP - TCP 44 / 47

UDP

Quand utiliser TCP ou UDP ?

Dans l ecriture dune application : TCP : Ecrire lapplication simplement sans se pr eoccuper de la abilit e de la connexion. UDP : Sur une utilisation locale sans trop de risque derreurs et avec des besoins en rapidit e (NFS, TFTP) Si un paquet perdu nest pas vital et quil vaudrait mieux faire une autre requ ete (NTP) En diusion (BOOTP, DHCP, RIP, SNMP, etc.)

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

45 / 47

R ef erences

Encapsulation Ethernet IP ICMP TCP UDP R ef erences

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

46 / 47

R ef erences

R ef erences

TOS IP et options : http ://www.iana.org/assignments/ip-parameters

Tuy et Tr am DANG NGOC

IP - ICMP - UDP - TCP

47 / 47