Vous êtes sur la page 1sur 29

Révision de TCP/IP

Source:
„Chapitre 3 (Panko)

Copyright 2002 Prentice-Hall


Traduction et adaptation: Jean-Sébastien Pilon

Réseau simple: applications, client et


serveur, commutateurs, liens d’accès, liens
“trunk”, trames, chemin

Chemin
Trame

Serveur
Client
Liens “Trunk”

Liens
d’accès

Serveur
Client mobile

1
Organisation d’une trame

Trame

FIN Données Entête

Autre
Adresse
champ
d’entête Destination
Structure du message

Décision de commutation

Commutateur
Commutateur 1 2 3 4 5 6 transmet la trame
basée sur
Trame avec destination l’adresse
La station C de destination

Station Station Station Station


A B C D

2
Figure 3-1: Internet

„ Internet relie différents réseaux à l’aide de


routeurs.

Réseau #1

Réseau #3 Routeurs

Réseau #2

Figure 1.11: Internet


Plusieurs réseaux (LAN, MAN, WAN)
reliés par des routeurs

Réseau
Routeurs

Paquet

Route
Réseau

3
Figure 1.13: Internet

Navigateur Serveur Web

Réseau

Paquet Routeur Paquet

Route
Routeur

Routeur
Paquet

Figure 3-6: Trames et Paquets

Paquet
Routeur
A

Commutateur
Client PC

Paquet

Commutateur Routeur B
Serveur
8

4
Figure 1.12: Trames et Paquets

„ C’est comme la livraison d’un colis. Le colis dans une


boîte, la boîte dans une boîte de transport d’avion, …
Expéditeur Receveur
colis

Aéroport Aéroport
Camion Camion

Avion

Figure 3-2: Standard TCP/IP

„ Standart Hybride de TCP/IP et OSI


{ Combine les couches 3-5 de TCP/IP
{ Et combine également les couches 1-2 de OSI
TCP/IP OSI Hybrid TCP/IP-OSI
Application Application Application

Présentation

Session

Transport Transport Transport

Internet Network Internet

Subnet Access: Use Data Link Data Link


OSI Standards Here
Physical Physical
10

5
Figure 3-2: Standard TCP/IP
„ Couches OSI
{ Physique (couche 1): Définit les spécifications
électriques et le type de câbles entre les
équipements.
{ Liaison de donnée (couche 2): Définit l’accès au
média de communication
Lien physique Trame

Réseau
commuté

Liaison de donnée
11

Figure 3-2: Standard TCP/IP


„ Internet
{ Dirige la transmission des paquets à travers
l’Internet. Le chemin est la route.
Paquet

Réseau
Commuté 1

Réseau commuté 2 Routeurs


Route

Réseau
Commuté 3
12

6
Figure 3-2: Standard TCP/IP

„ Trames et paquets
{ Les trames sont les messages au niveau de la
couche liaison de donnée.
{ Les paquets sont les messages au niveau de la
couche Internet.

13

Figure 3-7: Internet et la couche Transport

Couche transport
Connexion bout en bout
TCP est orienté connexion, fiable
UDP est sans connexion, non fiable

Client Serveur
Couche Internet
Saut par saut (ordinateur-routeur ou routeur-routeur)
Sans connexion et non fiable

Routeur 1 Routeur 2 Routeur 3

14

7
Figure 3-2: Standard TCP/IP

„ Internet et la couche transport


{ Objectifs

„ La couche Internet dirige la transmission de


paquets saut par saut afin de faire la
transmission des messages jusqu’à
destination.

„ La couche transport offre la connexion de


bout en bout entre deux ordinateurs
(client/serveur).

15

Figure 3-2: Standard TCP/IP

„ Internet et la couche transport


{ Protocole Internet (IP)
„ La couche IP n’est pas fiable, car elle ne fait
pas de correction d’erreur entre chaque saut.
„ C’est une bonne chose: Réduit le temps de
traitement dans chaque routeur.

16

8
Figure 3-2: Standard TCP/IP

„ La couche transport
{ TCP (Transmission Control Protocol)
„ Fiable et orienté connexion
{ Il fait la correction d’erreurs.

{ UDP (User Datagram Protocol)


„ Non fiable et sans connexion
{ Très performant lorsque la détection d’erreurs n’est
pas importante.

17

Figure 3-8: Couche application:


ex: HTTP

HTTP (Hypertext Transfer Protocol)

Serveur Web
Navigateur
123.34.150.37 60.168.47.47

HTML (Hypertext Markup Language)

18

9
Figure 3-2: Standard TCP/IP

„ Couche Application
{ Dirige la communication entre une application
client et une application serveur.
{ Transfert de documents vs le format des
documents
„ HTTP / HTML pour le service WWW
„ SMTP / RFC 822 (ou RFC 2822) pour le
courriel
{ Il existe plusieurs standards au niveau de la
couche application (HTTP, SMTP, POP3, IMAP,
IRC, NNTP, etc.).
19

Figure 3-3: TCP/IP et OSI

TCP/IP OSI Hybrid TCP/IP-OSI


Application Application Application

Présentation

Session

Transport Transport Transport

Internet Network Internet

Subnet Access: Use Data Link Data Link


OSI Standards Here
Physical Physical

20

10
Figure 3-5: Paquet IP
0100 IP Version 4
Bit 0 Bit 31
Header
Version Diff-Serv Total Length
Length
(4 bits) (8 bits) (16 bits)
(4 bits)
Identification (16 bits) Flags Fragment Offset (13 bits)
Protocol (8 bits)
Time to Live
1=ICMP, 6=TCP, Header Checksum (16 bits)
(8 bits)
17=TCP
Source IP Address (32 bits)
Destination IP Address (32 bits)
Options (if any) Padding
Data Field

21

Figure 3-5: Paquet IP

„ Version
{ Pour la version 4 (0100)
„ Time to Live (TTL)
{ Prévient les messages qui tournent sans fin dans
le cas d’une boucle.
{ La valeur est défini par l’expéditeur.
{ Décrémenté par 1 pour chaque routeur qui
traitera le paquet sur sa route.
{ Si devient = 0, on élimine le paquet.

22

11
Figure 3-5: Paquet IP

„ Les champs adresses


{ Identifie la source et la destination.
{ Ils ont une longueur de 32 bits.
„ Longueur du paquet

23

Figure 3-9: Encapsulation

Application HTTP
Message

Transport HTTP TCP


Message

Internet HTTP TCP IP


Message

24

12
Figure 3-9: Encapsulation

Internet HTTP TCP IP


Message

Data Link DL HTTP TCP IP DL


Message

Physical Convertit les bits de la trame en


Signaux.

25

Figure 3-10: Encapsulation

Internet HTTP TCP IP


Message

Data Link DL HTTP TCP IP DL


Message

Data Link Convertit les bits de la trame en


signaux.

26

13
Figure 3-10: Encapsulation

Application HTTP
Message

Transport HTTP TCP


Message

Internet HTTP TCP IP


Message

27

Figure 3-11: Trame, Paquet et


Routeur

A
Routeur R1
Internet Layer
Paquet

Port 1 Port 2 Port 3 Port 4


DL DL DL DL
Trame
PHY PHY PHY PHY

28

14
Figure 3-11: Trame, Paquet et
Routeur
B
Routeur R1
Internet Layer Paquet

Port 1 Port 2 Port 3 Port 4


DL DL DL DL
Trame
PHY PHY PHY PHY

29

Figure 3-19: Logiciel de “traceroute”

traceroute to 132.211.193.1
1 core01 (132.211.1.1) 0.227 ms 0.185 ms 0.168 ms
2 10.10.90.253 (10.10.90.253) 0.227 ms 0.371 ms 0.185 ms
3 10.2.14.254 (10.2.14.254) 0.812 ms * 0.815 ms

Utilisation du TTL pour effectuer le « traceroute »

30

15
Figure 3-13: Internet Protocol (IP)

„ Orienté connexion et sans connexion


{ Les protocoles avec connexion ont une étape
d’établissement de connexion et une étape de
rupture de connexion (similaire aux appels
téléphoniques).
{ Les protocoles sans connexion ne font
qu’envoyer des messages (similaire à la poste).
{ IP est un protocole sans connexion.

31

Paquet IP

PC Premier routeur
Internet Internet
Paquet

Sans connexion
Les paquets n’arriveront pas nécessairement
dans le bon ordre.

Non fiable
Pas de correction d’erreur.
Sera rejeté par le receveur s’il n’est pas valide.
Réduit le traitement des routeurs.

32

16
Figure 3-15: Adresse IP

ID Réseau (selon la classe)


Sous réseau (selon la segmentation)
Équipement IP
Le total est toujours 32 bits.
128.171.17.13 Internet
Réseau (128.171)

Sous réseau (17)

Équipements
126.171.17.13
33

Figure 3-17: “IP Address Spoofing”

1. Relation de confiance

3. Le serveur accepte l’attaque


Serveur de confiance Serveur victime
60.168.4.6 60.168.47.47

2.
Attaque
La source est modifiée
Ordinateur 60.168.4.6
de l’attaquant L’identité de l’attaquant
1.34.150.37 n’est pas dévoilée!
34

17
Figure 3-18: LAND Attack Based on IP
Address Spoofing
En 1997, plusieurs ordinateurs étaient
vulnérables à ce genre d’attaque (ICQ)

DE: 60.168.47.47:23
Attaquant À: 60.168.47.47:23 Victime
1.34.150.37
60.168.47.47
Port 23 ouvert
et tombe sous
IP source = IP destination l’attaque

et
port source = port destination
35

Figure 3-24: Segment TCP


Bit 0 Bit 31
Entête IP

Source Port Number (16 bits) Destination Port Number (16 bits)

Sequence Number (32 bits)

Acknowledgment Number (32 bits)


Header
Reserved Flag Fields Window Size
Length
(6 bits) (6 bits) (16 bits)
(4 bits)
TCP Checksum (16 bits) Urgent Pointer (16 bits)

36

18
Figure 3-23: TCP (Transmission
Control Protocol)

„ On appelle un message TCP un segment


TCP.
{ La section “Flag Fields” contient plusieurs
drapeaux de 1 bit : ACK, SYN, FIN, RST, etc.

Header
Reserved Flag Fields Window Size
Length
(6 bits) (6 bits) (16 bits)
(4 bits)

37

Figure 3-23: TCP (Transmission


Control Protocol)
„ Confirmation
{ Le récepteur envoie toujours une confirmation
lorsque le message est bien reçu:
„ Le drapeau ACK est alors mis à (1).

{ Si l’émetteur ne reçoit pas de confirmation, il tentera


d’envoyer à nouveau le message.

PC Serveur Web
Transport Transport
TCP Segment
TCP Segment (ACK)

38

19
Figure 3-23: TCP (Transmission
Control Protocol)

„ Établissement et rupture
{ Établissement à trois étapes: SYN, SYN/ACK,
ACK (Figure 3-25).
{ Rupture normale à 4 étapes: FIN, ACK, FIN,
ACK (Figure 3-25).
{ Rupture brutale: RST (Figure 3-26).

39

Figure 3-25: Communication durant


une session TCP

PC Serveur Web
Transport Transport
1. SYN (Ouvrir)
Ouvrir
2. SYN, ACK (1)
(3)
3. ACK (2)

3 étapes

40

20
Figure 3-25: Communication durant
une session TCP

PC Webserver
Transport Transport
1. SYN (Ouvrir)
Ouvrir
2. SYN, ACK (1)
(3)
3. ACK (2)

4. Donnée = HTTP Requête


Échange
5. ACK (4)
d’information
HTTP 6. Donnée = HTTP Réponse
(4)
7. ACK (6)

41

Figure 3-25: Communication durant


une session TCP

PC Webserver
Transport Transport
8. Donnée = HTTP Requête (Erreur)
Échange
9. Donnée = HTTP Requête
d’information
HTTP 10. ACK (9)
(4)
11. Donnée = HTTP Réponse

12. ACK (11)

Gestion des erreurs de transmission

42

21
Figure 3-25: Communication durant
une session TCP

PC Webserver
Transport Transport
4 étapes de rupture

13. FIN
Rupture
(4) 14. ACK (13)

15. FIN

16. ACK (15)

43

Figure 3-25: Communication durant


une session TCP

PC Webserver
Transport Transport
Rupture brutale

RST
Rupture
(1)

Les 2 côtés peuvent émettre


un RST durant une session.

44

22
Figure 3-26: “SYN/ACK Probing”

1. Interroger
2. Il n’y pas de
60.168.47.47
connexion!!!
SYN/ACK Segment

IP Hdr RST Segment


Attaquant 5. Victime
1.34.150.37 60.168.47.47 60.168.47.47
4. Adresse IP
source = 3. Faire une Peut être
60.168.47.47 rupture déstabilisé
brutale

45

Figure 3-23: TCP (Transmission


Control Protocol)

„ # de séquence et de confirmation
{ # de séquence: Utilisé pour remettre en ordre
lors de la réception.
{ # de confirmation: Indique quelle partie du
message est confirmée.

Source Port Number (16 bits) Destination Port Number (16 bits)

Sequence Number (32 bits)

Acknowledgment Number (32 bits)

46

23
Figure 3-23: TCP (Transmission
Control Protocol)

„ # de port
{ Les # de ports identifient les applications entre
un client et un serveur.
{ Les ports entre (0-1023) sont généralement
utilisés par des applications serveurs bien
définies (Figure 3-27).
„ HTTP=80, Telnet=23, SMTP=25, etc.

Source Port Number (16 bits) Destination Port Number (16 bits)

47

Figure 3-23: TCP (Transmission


Control Protocol)

128.171.17.13:80
„ # de port
{ Pour rejoindre une application spécifique sur un
ordinateur, nous devons avoir une adresse IP et
un port: 128.171.17.13:80

48

24
Figure 3-27: Utilisation de TCP & UDP
Serveur Web
Client 60.171.17.13
60.171.18.22 Port 80
DE: 60.171.18.22:50047
À: 60.171.17.13:80

Serveur SMTP
123.30.17.120
Port 25

49

Figure 3-27: Utilisation de TCP & UDP


Serveur Web
Client 60.171.17.13
60.171.18.22 Port 80
DE: 60.171.18.22:50047
À: 60.171.17.13:80

DE: 60.171.17.13:80
À: 60.171.18.22:50047

Serveur SMTP
123.30.17.120
Port 25

50

25
Figure 3-29: UDP (User Data Protocol)

„ UDP est simple (Figure 3-30)

Bit 0 Bit 31
IP Header (Usually 20 Bytes)

Source Port Number (16 bits) Destination Port Number (16 bits)
UDP Length (16 bits) UDP Checksum (16 bits)

Data Field

51

Figure 3-29: UDP (User Data Protocol)

„ “Port Spoofing” est encore possible


„ UDP insertion
{ Il est plus facile de faire une insertion dans un
dialogue UDP, car il n’y a pas de # de
séquence.

52

26
Figure 3-33: ICMP (Internet Control
Message Protocol)

„ ICMP est pour superviser la bonne


opération des messages sur Internet.
„ Exemple: PING

53

Figure 8.13: ICMP (Internet Control Message


Protocol)

Routeur
“pas disponible”
Erreur

ICMP Message IP Entête


“Echo”
“Echo
Reply”

54

27
Figure 3-32: Message ICMP

Bit 0 Bit 31

IP Header (Usually 20 Bytes)

Type (8 bits) Code (8 bits) Depends on Type and Code

Depends on Type and Code

55

Figure 3-32: ICMP (Internet control


Message Protocol)
„ PING
{ “Echo” (Type 8, sans code) demande à
l’équipement s’il est opérationnel et disponible.
{ “Echo reply” (Type 0, sans code) est la réponse
à l’envoyeur.
{ Un logiciel de ping implante les fonctions de
“Echo” et “Echo Reply”.
{ Est utile pour les administrateurs réseaux afin
de savoir si un équipement est en opération.
{ Est utile pour les “hacker” afin de trouver des
victimes potentielles !!

56

28
Figure 3-20: “Ping-of-Death Attack”

Paquet IP qui contient un


Attaquant message trop long de Victime
1.34.150.37 type echo (PING) du 60.168.47.47
protocole ICMP tombe sous
l’attaque

Longueur maximum de 65,536 octets

57

29