Upload
sowhat-01
View
6
Download
0
Embed Size (px)
Citation preview
IP - ICMP - UDP - TCPCours de Reseaux
Tuyet Tram DANG NGOC
Universite de Cergy-Pontoise
20122013
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 1 / 47
Plan
1 Encapsulation
2 Ethernet
3 IPDatagramme IP
4 ICMPICMP : Echo Request (8), Echo Reply (0)ICMP : Destination Unreachable (3)ICMP : Source Quench (4)ICMP Redirect (5)ICMP : TTL Exceeded (11)
5 TCPSegment TCPPorts TCPConnexion TCP
6 UDP
7 References
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 2 / 47
Encapsulation
1 Encapsulation
2 Ethernet
3 IP
4 ICMP
5 TCP
6 UDP
7 References
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 3 / 47
Encapsulation
Encapsulation
Ethernet 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)
Internet 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
Transmission 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
Hypertext Transfer Protocol
GET /calendar/render?pli=1 HTTP/1.1
...
00 01 f4 32 9e 0e 00 16 76 04 f2 4a 08 00 45 00 04 2b
50 ba 40 00 40 06 5f 01 ac 16 88 12 d1 55
81 93 a5 41 00 50 09 84 40 a9 a2 bd c2 84 50 18
19 e9 f3 94 00 00 47 45 54 20 2f 63 61 6c 65 6e
64 61 72 2f 72 65 6e 64 65 72 3f 70 6c 69 3d 31
20 48 54 54 50 2f 31 2e 31 0d 0a 48 6f 73 74 3a
20 77 77 77 2e 67 6f 6f 67 6c 65 2e 63 6f 6d 0d
...
EnteteIP
EnteteEthernet
Datagramme EthernetDatagramme IP
EnteteTCP
Donnes ApplicationSegment TCP
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 4 / 47
Ethernet
1 Encapsulation
2 Ethernet
3 IP
4 ICMP
5 TCP
6 UDP
7 References
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 5 / 47
Ethernet
Datagramme Ethernet
0 8 16 24 31
. . .
(46 1500 bytes)
ADRESSE ETHERNET DESTINATION
ADRESSE ETHERNET SOURCE
DATATYPE
FCS/CRC Checksum
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 6 / 47
IP
1 Encapsulation
2 Ethernet
3 IPDatagramme IP
4 ICMP
5 TCP
6 UDP
7 References
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 7 / 47
IP
Caracteristique de IP
Pas de connexion : dialogue de machine a` machine
Non fiable : fiabilite assuree par les protocoles superieurs
Le protocole IP est simple : sa simplicite est la clef de sa robustesse
Datagramme IP : limite = 65535 octets
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 8 / 47
IP Datagramme IP
Datagramme IP
40 8 16 24 31VERSION HLEN SERVICETYPE TOTAL LENGTH
IDENTIFICATION FLAGS FRAGMENT OFFSETTIME TO LIVE PROTOCOL HEADER CHECKSUM
SOURCE IP ADDRESS
IP OPTIONS PADDINGDATA
. . .
DESTINATION IP ADDRESS
Note : sil ny a pas doptions IP, les donnees commencent directementapre`s ladresse IP de destination.De ce fait, len-tete IP, nest pas de taille fixe, elle peut varier en fonctiondes options (ou de son absence).En-tete entre 20 et 60 octets.
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 9 / 47
IP Datagramme IP
Datagramme IP
dentete
2416840 31Version Type de service Longueur totale
Identification Drapeau Dcalage fragmentDure de vie Protocole Somme de controle dentete
Adresse IP Source
Options IP RemplissageDonnes
. . .
Adresse IP destination
Longueur
Note : sil ny a pas doptions IP, les donnees commencent directementapre`s ladresse IP de destination.De ce fait, len-tete IP, nest pas de taille fixe, elle peut varier en fonctiondes options (ou de son absence).En-tete entre 20 et 60 octets.
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 9 / 47
IP Datagramme IP
Datagramme IP
Version (4bits) : version du protocole IP utilise (IPv4 = 0100 ).
Longueur den-tete (4bits) : Nombre de mots de 32 bits contenant len-tete (> 5)
Type de service (8 bits) : comment le paquet doit etre traite (priorite et indicateur de debit, delai et fiabilite). Rarementutilise.
Longueur totale (16bits) : taille totale du datagramme en octets
Identification (16bits), Drapeau (4bits) et Decalage (12bits) : Pour la fragmentation
Duree de vie ou TTL (8bits) : nombre maximal de routeurs traversables. En general fixe a` 64.
Protocole (8bits) : quel protocole est encapsule dans le datagramme (TCP, UDP, ICMP, IGMP)
Somme de controle (16bits) : controler lintegrite des donnees
Adresse IP source (32bits) : ladresse IP de lexpediteur
Adresse IP destination (32bits) : ladresse IP du destinataire
Options IP : liste doption. Une option fait en general 4 octets (1 octet de type, 1 octet de longueur doption et deuxoctets 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
Donnees : les donnees transportees par ce datagramme IP (au format repondant au protocole specifie avant)
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 10 / 47
IP Datagramme IP
Fragmentation MTU
Reseau sous-jacent : limite souvent inferieure
MTU : Maximum Transfert Unit
Passage par des reseaux de MTU inferieur
fragmentation des datagrammes
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 11 / 47
IP Datagramme IP
Fragmentation
Entete datagramme(1er fragment) 600 bits de donnes
Entete datagramme(2me fragment) 600 bits de donnes
Entete datagramme(3me fragment) de donnes
200 bits
Fragmentation (MTU = 600)
Drapeau (encore ?) = 1Identification = 42
Dcalage = 0
Drapeau (encore ?) = 1Dcalage = 600
Identification = 42
Drapeau (encore ?) = 0Identification = 42
Dcalage = 1200
Datagramme IP transmettre
Entete datagramme1400 bits de donnes
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 12 / 47
IP Datagramme IP
Time-to-Live (TTL)
Il peut arriver des proble`mesreseau
Exemple :
A route C via BB route C via A (routeur Bmal configure)
boucle de routage, les paquetscirculent sans fin (paquetsfantomes)
Solution : Duree de vie(Time-To-Live).
Compteur decremente a`chaque routeur.Le paquet est detruit lorsqueTTL=0
A
B
C
Je veux envoyerun paquet D
Pour aller D,il faut passer par C
D
Pour aller D,il faut passer par B
Pour aller C,il faut passer par B
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 13 / 47
IP Datagramme IP
Time-to-Live (TTL)
Il peut arriver des proble`mesreseau
Exemple :
A route C via BB route C via A (routeur Bmal configure)
boucle de routage, les paquetscirculent sans fin (paquetsfantomes)
Solution : Duree de vie(Time-To-Live).
Compteur decremente a`chaque routeur.Le paquet est detruit lorsqueTTL=0
A
B
C
Je veux envoyerun paquet D
Pour aller D,il faut passer par C
D
Pour aller D,il faut passer par B
Pour aller C,il faut passer par B
TTL=6
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 13 / 47
IP Datagramme IP
Time-to-Live (TTL)
Il peut arriver des proble`mesreseau
Exemple :
A route C via BB route C via A (routeur Bmal configure)
boucle de routage, les paquetscirculent sans fin (paquetsfantomes)
Solution : Duree de vie(Time-To-Live).
Compteur decremente a`chaque routeur.Le paquet est detruit lorsqueTTL=0
A
B
C
Je veux envoyerun paquet D
Pour aller D,il faut passer par C
D
Pour aller D,il faut passer par B
Pour aller C,il faut passer par B
TTL=5
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 13 / 47
IP Datagramme IP
Time-to-Live (TTL)
Il peut arriver des proble`mesreseau
Exemple :
A route C via BB route C via A (routeur Bmal configure)
boucle de routage, les paquetscirculent sans fin (paquetsfantomes)
Solution : Duree de vie(Time-To-Live).
Compteur decremente a`chaque routeur.Le paquet est detruit lorsqueTTL=0
A
B
C
Je veux envoyerun paquet D
Pour aller D,il faut passer par C
D
Pour aller D,il faut passer par B
Pour aller C,il faut passer par B
TTL=4
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 13 / 47
IP Datagramme IP
Time-to-Live (TTL)
Il peut arriver des proble`mesreseau
Exemple :
A route C via BB route C via A (routeur Bmal configure)
boucle de routage, les paquetscirculent sans fin (paquetsfantomes)
Solution : Duree de vie(Time-To-Live).
Compteur decremente a`chaque routeur.Le paquet est detruit lorsqueTTL=0
A
B
C
Je veux envoyerun paquet D
Pour aller D,il faut passer par C
D
Pour aller D,il faut passer par B
Pour aller C,il faut passer par B
TTL=3
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 13 / 47
IP Datagramme IP
Time-to-Live (TTL)
Il peut arriver des proble`mesreseau
Exemple :
A route C via BB route C via A (routeur Bmal configure)
boucle de routage, les paquetscirculent sans fin (paquetsfantomes)
Solution : Duree de vie(Time-To-Live).
Compteur decremente a`chaque routeur.Le paquet est detruit lorsqueTTL=0
A
B
C
Je veux envoyerun paquet D
Pour aller D,il faut passer par C
D
Pour aller D,il faut passer par B
Pour aller C,il faut passer par B
TTL=2
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 13 / 47
IP Datagramme IP
Time-to-Live (TTL)
Il peut arriver des proble`mesreseau
Exemple :
A route C via BB route C via A (routeur Bmal configure)
boucle de routage, les paquetscirculent sans fin (paquetsfantomes)
Solution : Duree de vie(Time-To-Live).
Compteur decremente a`chaque routeur.Le paquet est detruit lorsqueTTL=0
A
B
C
Je veux envoyerun paquet D
Pour aller D,il faut passer par C
D
Pour aller D,il faut passer par B
Pour aller C,il faut passer par B
TTL=1
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 13 / 47
IP Datagramme IP
Time-to-Live (TTL)
Il peut arriver des proble`mesreseau
Exemple :
A route C via BB route C via A (routeur Bmal configure)
boucle de routage, les paquetscirculent sans fin (paquetsfantomes)
Solution : Duree de vie(Time-To-Live).
Compteur decremente a`chaque routeur.Le paquet est detruit lorsqueTTL=0
A
B
C
Je veux envoyerun paquet D
Pour aller D,il faut passer par C
D
Pour aller D,il faut passer par B
Pour aller C,il faut passer par B
TTL=0
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 13 / 47
IP Datagramme IP
Time-to-Live (TTL)
Il peut arriver des proble`mesreseau
Exemple :
A route C via BB route C via A (routeur Bmal configure)
boucle de routage, les paquetscirculent sans fin (paquetsfantomes)
Solution : Duree de vie(Time-To-Live).
Compteur decremente a`chaque routeur.Le paquet est detruit lorsqueTTL=0
A
B
C
Je veux envoyerun paquet D
Pour aller D,il faut passer par C
D
Pour aller D,il faut passer par B
Pour aller C,il faut passer par B
TTL=0
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 13 / 47
ICMP
1 Encapsulation
2 Ethernet
3 IP
4 ICMPICMP : Echo Request (8), Echo Reply (0)ICMP : Destination Unreachable (3)ICMP : Source Quench (4)ICMP Redirect (5)ICMP : TTL Exceeded (11)
5 TCP
6 UDP
7 ReferencesTuyet Tram DANG NGOC IP - ICMP - UDP - TCP 14 / 47
ICMP
Caracteristique dICMP
Protocole encapsule dans des datagrammes IP
Genere par la destination ou un routeur intermediaire
indiquent une condition (derreur) a` lemetteur
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 15 / 47
ICMP
Message ICMP
. . .
0 4 8 16 24 31TYPE CODE CHECKSUM
HEADER OF ORIGINAL MESSAGEDATA
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 16 / 47
ICMP
Message ICMP
. . .
0 4 8 16 24 31Type Code Somme de controle
Entete IP + 64 premiers bits du datagramme IP ayant provoqu lerreur
Donnes
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 16 / 47
ICMP
Type ICMP
Type Signification
0 Echo reply
3 Destination Unreachable
4 Source Quench
5 Redirect
8 Echo request
11 TTL exceeded
12 Parameter Problem
13 Timestamp request
14 Timestamp reply
17 Address Mask Request
18 Address Mask Reply
Tuyet Tram 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 laccessibilite dune machine distante :
les tables de routage sont correctes
toutes les passerelles intermediaires fonctionnent
IP sur la machine distante fonctionne
ICMP sur la machine distante fonctionne
InternetICMP RequestICMP Reply
A B
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 18 / 47
ICMP ICMP : Destination Unreachable (3)
ICMP : Destination Unreachable (3)
Envoye lorsquun routeur ne peut router un datagramme (ex. pas dentreedans la table de routage)Plus de detail dans le champ code.
code signification
0 Network unreachable error.1 Host unreachable error.2 Protocol unreachable error3 Port unreachable error5 Source route failed error.6 Destination network unknown error.7 Destination host unknown error.
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 19 / 47
ICMP ICMP : Source Quench (4)
ICMP : Source Quench (4)
Definition
Controle de congestion : lorsquun routeur est congestionne (trop dedatagrammes arrivent), il envoie des ICMP Source Quench a` lemetteurpour reduire le debit.Lemetteur diminuera alors le debit progressivement jusqua` ne plusrecevoir dICMP Source Quench
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 20 / 47
ICMP ICMP Redirect (5)
ICMP Redirect (5)
Redirection des datagrammes
ex. A envoie un datagrammeadresse a` D vers B
B envoie un ICMP Redirect a` Apour lui indiquer de changer satable de routage
B envoie un datagrammeadresse a` D vers C
Pour aller versrseau 3rseau 1
Passer parBB
Pour aller
rseau 3 C
Passerparvers
A
C
D E
rseau 1
rseau 2
rseau 3
B
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 21 / 47
ICMP ICMP Redirect (5)
ICMP Redirect (5)
Redirection des datagrammes
ex. A envoie un datagrammeadresse a` D vers B
B envoie un ICMP Redirect a` Apour lui indiquer de changer satable de routage
B envoie un datagrammeadresse a` D vers C
Pour aller versrseau 3rseau 1
Passer parBB
Pour aller
rseau 3 C
Passerparvers
A
C
D E
rseau 1
rseau 2
rseau 3
Bsrc = Adst = Ddonnes
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 21 / 47
ICMP ICMP Redirect (5)
ICMP Redirect (5)
Redirection des datagrammes
ex. A envoie un datagrammeadresse a` D vers B
B envoie un ICMP Redirect a` Apour lui indiquer de changer satable de routage
B envoie un datagrammeadresse a` D vers C
Pour aller versrseau 3rseau 1
Passer parBB
Pour aller
rseau 3 C
Passerparvers
ICMP RedirectPour aller vers D, passer par C
A
C
D E
rseau 1
rseau 2
rseau 3
B
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 21 / 47
ICMP ICMP Redirect (5)
ICMP Redirect (5)
Redirection des datagrammes
ex. A envoie un datagrammeadresse a` D vers B
B envoie un ICMP Redirect a` Apour lui indiquer de changer satable de routage
B envoie un datagrammeadresse a` D vers C
Pour aller versrseau 3rseau 1
Passer parBB
Pour aller
rseau 3 C
Passerparvers
ICMP RedirectPour aller vers D, passer par C
A
C
D E
rseau 1
rseau 2
rseau 3
B
C
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 21 / 47
ICMP ICMP Redirect (5)
ICMP Redirect (5)
Redirection des datagrammes
ex. A envoie un datagrammeadresse a` D vers B
B envoie un ICMP Redirect a` Apour lui indiquer de changer satable de routage
B envoie un datagrammeadresse a` D vers C
Pour aller versrseau 3rseau 1
Passer parCB
Pour aller
rseau 3 C
Passerparvers
A
C
D E
rseau 1
rseau 2
rseau 3
Bsrc = Adst = Ddonnes
Tuyet Tram 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 envoye a` la sourceAstuce utilisee par traceroute
A B
R1
R2
R3
R4
R5
Tuyet Tram 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 envoye a` la sourceAstuce utilisee par traceroute
src=A dst= B UDP port XTTL=1
src= dst=A ICMP TTL_EXCEEDED
A B
R1
R2
R3
R4
R5
R1
R1
Tuyet Tram 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 envoye a` la sourceAstuce utilisee par traceroute
src=A dst= B UDP port XTTL=2
A B
R1
R2
R3
R4
R5
ICMP TTL_EXCEEDEDsrc= dst=AR2
R1R2
Tuyet Tram 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 envoye a` la sourceAstuce utilisee par traceroute
src=A dst= B UDP port XTTL=3
A B
R1
R2
R3
R4
R5
ICMP TTL_EXCEEDEDsrc= dst=AR3
R1R2R3
Tuyet Tram 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 envoye a` la sourceAstuce utilisee par traceroute
src=A dst= B UDP port XTTL=4
A B
R1
R2
R3
R4
R5
ICMP TTL_EXCEEDEDsrc= dst=AR4
R1R2R3R4
Tuyet Tram 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 envoye a` la sourceAstuce utilisee par traceroute
src=A dst= B UDP port XTTL=5
A B
R1
R2
R3
R4
R5
ICMP TTL_EXCEEDEDsrc= dst=AR5
R1R2R3R4R5
Tuyet Tram 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 envoye a` la sourceAstuce utilisee par traceroute
src=A dst= B UDP port XTTL=6
A B
R1
R2
R3
R4
R5
src= dst=AB ICMP PORT UNREACHABLE
R1R2R3R4R5B
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 22 / 47
TCP
1 Encapsulation
2 Ethernet
3 IP
4 ICMP
5 TCPSegment TCPPorts TCPConnexion TCP
6 UDP
7 References
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 23 / 47
TCP
Quest ce que TCP ?
TCP est un protocole base sur IP qui :
assure une connexion
utilise la notion de ports pour faire communiquer des applications surdes machines
controle les erreurs pour assurer une transmission fiable.
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 24 / 47
TCP
Caracteristiques de TCP
Transport fiable
Circuit virtuel
Transfert bufferise
Flux dinformation non-structure
Full-Duplex
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 25 / 47
TCP Segment TCP
Segment TCP
241610840 31
. . .
DATA
SEQUENCE NUMBERACKNOWLEDGEMENT NUMBER
WINDOWURGENT POINTERCHECKSUM
OPTIONS PADDING
HLEN RESERVED CODE
TCP SOURCE PORT TCP DESTINATION PORT
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 26 / 47
TCP Segment TCP
Segment TCP
1610840 3124
. . .
Donnes
Numro dacquittement
Taille de la fenetre
Pointeur urgentSomme de controleRemplissage
Rserv
Port source TCP Port destination TCPNumro de squence
Code
Options
Longueurentete
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 26 / 47
TCP Ports TCP
Ports
Une connexion TCP est identifiee par :
ladresse IP et le port du programme source
ladresse IP et le port du programme destination
25
80
21
Web
FTP
IP1:9862 > IPS1:80
IP2:8172 > IPS1:25
IP3:7154 > IPS2:80
IP3:7165 > IPS2:80
IP1
IP2
IP3
IPS1
IP1:5432 > IPS1:25
IP3:3412 > IPS1:80
IP1:5432 > IPS1:25IP1:9862 > IPS1:80
IP2:8172 > IPS1:25IP3:3412 > IPS1:80
IP3:7165 > IPS2:80IP3:7154 > IPS2:80
IP3:7154 > IPS2:80IP3:7165 > IPS2:80
IP3:7165 > IPS2:80
IP2:8172 > IPS1:25IP1:9862 > IPS1:80
IP1:5432 > IPS1:25IP2:8172 > IPS1:25
IP3:7154 > IPS2:80
Web80
IPS2
5432
9862
8172
34127165
7154
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 27 / 47
TCP Ports TCP
Ports
Une connexion TCP est identifiee par :
ladresse IP et le port du programme source
ladresse IP et le port du programme destination
25
80
21
Web
FTP
IP1
IP2
IP3
IPS1
Web80
IPS2
5432
9862
8172
34127165
7154
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 27 / 47
TCP Ports TCP
Ports bien connus
Port Nom Signification
21 FTP Transfert de fichiers
23 telnet Connexion a` distance
25 SMTP Courrier electronique
53 domain Serveur de noms
79 finger Finger
80 HTTP pages web
513 login rlogin
515 printer Impression deportee
6000 X11 XWindow Version 11
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 28 / 47
TCP Connexion TCP
Etablissement de connexion
Ouverture passive : attendre etaccepter les connexions(serveur)
Ouverture active : contacterlapplication distante et syconnecter (client)
Port A Port B
SYN (seq = x)
ACK ( seq = y + 1)
SYN ( seq = y) ; ACK (seq = x + 1)
Client Serveur
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 29 / 47
TCP Connexion TCP
Acquittement
Source DestinationPort A Port B
Emission du message Mi
Rception du message MiEmission de lacquittement Ai
Rception de lacquittement Ai
On arme le temporisateur
OK, on continue
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 30 / 47
TCP Connexion TCP
Acquittement
Source DestinationPort A Port B
Emission du message MiOn arme le temporisateur
Le temps est coul, on remet MiEmission du message Mi
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 30 / 47
TCP Connexion TCP
Acquittement
Source DestinationPort A Port B
Emission du message Mi
Rception du message MiEmission de lacquittement Ai
On arme le temporisateur
Le temps est coul, on remet MiEmission du message Mi
Tuyet Tram 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 acquitte au bout dun certain temps, le segment estconsidere comme perdu et est retransmis.
Champ SEQ : numero de sequence du premier octet du segment
Champ ACK : le prochain numero de sequence attendu parlemetteur de lacquittement.
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 31 / 47
TCP Connexion TCP
Ack=1001
Seq=1
Seq=1001
Ack=2001
Seq=2001
1000 octets
Seq=1 Seq=1001 Seq=2001
1000 octets1000 octets
Seq=1 Seq=1001 Seq=2001
1000 octets 1000 octets 1000 octets
Envoi de 1000 octets contenu dans le segment TCP
Envoi de 1000 octets contenu dans le segment TCP
Source Destination
entete entete entete
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 32 / 47
TCP Connexion TCP
Fenetre glissante
Fiabilite : lorsque A envoie unpaquet a` B, il suffit que Aattende laccuse de receptionavant denvoyer le paquetsuivant.
Proble`me : mecanisme trop lent(entre 100ms et 500 ms pourtraverser latlantique)
Solution : Sliding Windows(Fenetre mobile)
Client Serveur
Champ fenetre : quantite de donnees que lemetteur du segment estcapable de recevoir.
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 33 / 47
TCP Connexion TCP
Fenetre glissante
Exemple : fenetre taille 5
A envoie les paquets 1 a` 5
Quand A recoit laccuse dereception du paquet 1, il peutenvoyer le paquet 6
Client Serveur
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 34 / 47
TCP Connexion TCP
Fenetre glissante
Exemple : fenetre taille 5
A envoie les paquets 1 a` 5
Quand A recoit laccuse dereception du paquet 1, il peutenvoyer le paquet 6
Client Serveur
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 34 / 47
TCP Connexion TCP
Fenetre glissante
Exemple : fenetre taille 5
A envoie les paquets 1 a` 5
Quand A recoit laccuse dereception du paquet 1, il peutenvoyer le paquet 6
Client Serveur
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 34 / 47
TCP Connexion TCP
Fenetre glissante
Exemple : fenetre taille 5
A envoie les paquets 1 a` 5
Quand A recoit laccuse dereception du paquet 1, il peutenvoyer le paquet 6
Client Serveur
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 34 / 47
TCP Connexion TCP
Fenetre glissante et acquittement
Seq = 1
Seq = 101
Seq = 201
Seq = 301
Seq = 201
Seq = 301
Ack = 101
Seq = 101
Ack = 401
Seq = 1
Seq = 101
Seq = 201
Seq = 301
Seq = 201
Seq = 401
Seq = 401
Ack = 101
Mise en mmoire de 301
Mise en mmoire de 201
Attente de 101
Attente (fenetre =300)
Remission de 101
Buffer
SourceFenetre=300Segment=100
On reoit le 101 manquant
On reoit 1
On reoit 401
Tout a t acquitt jusqu 400
Destination
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 35 / 47
TCP Connexion TCP
Donnees urgentes
Proble`me : necessite de donnees urgentes (signaux, interruptions,conditions derreur, etc.).Solution : out of band dataImplementation :
flag URG : indique des donnees urgentes
urgent pointer : ou` sont les donnees
Lutilisateur est prevenu par un mecanisme dependant du syste`medexploitation (signaux sous Unix).
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 36 / 47
TCP Connexion TCP
Fermeture de connexion
Port A Port B
FIN (seq = x)
Client Serveur
ACK (seq = x + 1)
ACK ( seq = y + 1)
FIN (seq = y) ; ACK (seq = x + 1)fermeture
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 37 / 47
TCP Connexion TCP
Exemple TCP : SMTP
Client ServeurPort BPort A
Fermeture de la connexion
Ouverture de la connexion
250 [193.51.25.9] Hello [194.167.235.222] , pleased to meet youMAIL FROM: [email protected]
HELO [194.167.235.222]
250 2.1.0 [email protected]... Sender OKRCPT TO: [email protected]
250 2.1.5 [email protected]... Recipient OKDATA
354 Enter mail, end with "." on a line by itself
Bonjour,\n Comment ca va ?\n.\n
QUIT250 2.0.0 iAUMAkF16994 Message accepted for delivery
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 38 / 47
TCP Connexion TCP
Exemple TCP : SMTP
Client ServeurPort BPort A
ACK (seq = x + 1)
SYN (seq = y) ; ACK (seq = x + 1)
FIN (seq = y) ; ACK (seq = x + 1)ACK (seq = y + 1)
FIN (seq = x)
ACK (seq = y + 1)SYN (seq = x)
220 [193.51.25.9] ESMTP Sendmail 8.11.4
250 [193.51.25.9] Hello [194.167.235.222] , pleased to meet youMAIL FROM: [email protected]
HELO [194.167.235.222]
250 2.1.0 [email protected]... Sender OKRCPT TO: [email protected]
250 2.1.5 [email protected]... Recipient OKDATA
354 Enter mail, end with "." on a line by itself
Bonjour,\n Comment ca va ?\n.\n
QUIT250 2.0.0 iAUMAkF16994 Message accepted for delivery
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 38 / 47
TCP Connexion TCP
Exemple TCP : SMTP
Client ServeurPort 25Port A
ACK (seq = x + 1)
SYN (seq = y) ; ACK (seq = x + 1)
FIN (seq = y) ; ACK (seq = x + 1)ACK (seq = y + 1)
FIN (seq = x)
ACK (seq = y + 1)SYN (seq = x)
DATA
250 2.1.5 [email protected]... Recipient OK
, pleased to meet you
HELO [194.167.235.222]
MAIL FROM: [email protected]
RCPT TO: [email protected]
QUIT
Bonjour,\n Comment ca va ?\n.\n
250 2.0.0 iAUMAkF16994 Message
354 Enter mail, end with "." on a line by
250 2.1.0 [email protected]... Sender OK
250 [193.51.25.9] Hello [194.167.235.222]
220 [193.51.25.9] ESMTP Sendmail 8.11.4
accepted for delivery
itself
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 38 / 47
TCP Connexion TCP
Exemple TCP : SMTP
Client ServeurPort 25Port A
ACK (seq = x + 1)
ACK
ACKACK
ACK
ACKACK
ACK
SYN (seq = y) ; ACK (seq = x + 1)
FIN (seq = y) ; ACK (seq = x + 1)ACK (seq = y + 1)
FIN (seq = x)
ACK
ACK
ACK
ACK
ACK
ACK
ACK (seq = y + 1)SYN (seq = x)
DATA
250 2.1.5 [email protected]... Recipient OK
, pleased to meet you
HELO [194.167.235.222]
MAIL FROM: [email protected]
RCPT TO: [email protected]
QUIT
Bonjour,\n Comment ca va ?\n.\n
250 2.0.0 iAUMAkF16994 Message
354 Enter mail, end with "." on a line by
250 2.1.0 [email protected]... Sender OK
250 [193.51.25.9] Hello [194.167.235.222]
220 [193.51.25.9] ESMTP Sendmail 8.11.4
accepted for delivery
itself
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 38 / 47
UDP
1 Encapsulation
2 Ethernet
3 IP
4 ICMP
5 TCP
6 UDP
7 References
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 39 / 47
UDP
Caracteristique dUDP
UDP est un protocole base sur IP qui :
Fonctionne en mode non connecte
utilise la notion de ports pour faire communiquer des applications surdes machines
nassure pas la fiabilite de la transmission
UDP = IP + PortUDP = TCP - la fiabilite
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 40 / 47
UDP
Datagramme UDP
0 4 8 10 16 24 31
DATA
. . .
MESSAGE LENGTH CHECKSUMUDP SOURCE PORT UDP DESTINATION PORT
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 41 / 47
UDP
Datagramme UDP
0 4 8 10 16 24 31
Donnes
. . .
Longueur du message Somme de controlePort destination UDPPort source UDP
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 41 / 47
UDP
Ports bien connus
Port Nom Signification
13 daytime date courante dune machine
53 domain Serveur de noms
67 bootps Serveur bootstrap
68 bootpc Client bootstrap
69 tftp Trivial File Transfert
123 ntp Serveur de temps reseau (tre`s precis)
161 snmp Gestion de reseau
162 snmp-trap Trappes SNMP
513 who rwho
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 42 / 47
UDP
Exemple UDP : DHCP
Client ServerPort 68 Port 67
DHCP_DISCOVER
DHCP_OFFER
DHCP_REQUEST
DHCP_ACK
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 43 / 47
UDP
Synthe`se TCP/UDP
TCP :
Protocole fiable
Les applications utilisant TCP ne soccupent que de laspectdialogue sans se preoccuper de la fiabilite de la connexion. Programmation dapplication tre`s simple.Protocole Point a` Point
Lent
UDP :
Protocole non fiable
Les applications utilisant UDP doivent savoir gerer les erreurs durantles transmissions
Protocole non connecte. Diffusion possible.
Rapide
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 44 / 47
UDP
Quand utiliser TCP ou UDP ?
Dans lecriture dune application :TCP :
Ecrire lapplication simplement sans se preoccuper de la fiabilite de laconnexion.
UDP :
Sur une utilisation locale sans trop de risque derreurs et avec desbesoins en rapidite (NFS, TFTP)
Si un paquet perdu nest pas vital et quil vaudrait mieux faire uneautre requete (NTP)
En diffusion (BOOTP, DHCP, RIP, SNMP, etc.)
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 45 / 47
References
1 Encapsulation
2 Ethernet
3 IP
4 ICMP
5 TCP
6 UDP
7 References
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 46 / 47
References
References
TOS IP et options : http ://www.iana.org/assignments/ip-parameters
Tuyet Tram DANG NGOC IP - ICMP - UDP - TCP 47 / 47
EncapsulationEthernetIPDatagramme IP
ICMPICMP : Echo Request (8), Echo Reply (0)ICMP : Destination Unreachable (3)ICMP : Source Quench (4)ICMP Redirect (5)ICMP : TTL Exceeded (11)
TCPSegment TCPPorts TCPConnexion TCP
UDPRfrences