Réseaux Locaux - LES RÉSEAUX SOUS TCP/IP

Networking, TCP/IP, Internet Protocol · course

Voir tous les documents en réseaux

ENSI -- II2

Réseaux Locaux

CHAPITRE 4

LES RÉSEAUX SOUS TCP/IP

N. Ben Azzouna

Réseaux Locaux - ENSI

1

Introduction

 INTERNET est formé d'un ensemble de sous-réseaux TCP/IP individuels.

 INTERNET connaît un succès énorme  importance des travaux de normalisation et

d'amélioration des protocoles utilisés

 Ces travaux sont conduits par l’IETF « Internet Engineering Task Force ».

 Les propositions d'ajout, de modification, ou de normalisation sous forme de rapports

techniques appelés RFC ("Request For Comments").

 L’ISO a produit une normalisation de l’IP : ISO8473.

 Une nouvelle version 6 de l’IP est produite  palier à certains problèmes liés à la version 4

de l’IP :

 épuisement des adresses,

 explosion des tables de routage,

 absence de types de données,

 variabilité des délais d’acheminement.

 Version 4 tient une place dominante sur le marché informatique

N. Ben Azzouna

Réseaux Locaux - ENSI

2

Architecture TCP/IP

 TCP ("Transmission Control Protocol")

 UDP ("User Datagram Protocol")

 IP ("Internet Protocol")

 ICMP ("Internet Control Message Protocol")

 ARP ("Address Resolution Protocol") / RARP ("Reverse ARP")

N. Ben Azzouna

Réseaux Locaux - ENSI

3

IP (RFC 791)

Adressage (RFC990)

 Une adresse IP permet de désigner de manière unique une machine.

 Elle est codée sur 32 bits et se divise en deux parties :

 numéro du réseau (net_id)

 numéro de la machine (host_id).

 Un organisme international le NIC (Network Information Center) attribue les

numéros de réseaux.

 Chaque pays a un organisme, dépendant du NIC, chargé d’attribuer les adresses IP.

 L’IANA « Internet Address Network Authority » est l’autorité au niveau mondial

qui distribue des espaces de numéros de réseau au NIC « Network Information

Center », à RIPE « Réseaux IP Européens », etc.

N. Ben Azzouna

Réseaux Locaux - ENSI

4

IP (RFC 791)

Adressage (RFC990)

 classe A : [1..127].[0..255].[0..255].[0..255],

 classe B : [128..191].[0..255].[0..255].[0..255],

 classe C : [192..223].[0..255].[0..255].[0..255],

 classe D : [224..239].[0..255].[0..255].[0..255].

 Si un site comporte plus de 254 machines et qu'une adresse de classe B sera sous

utilisée, le NIC attribue plusieurs adresses de classe C au même site

N. Ben Azzouna

Réseaux Locaux - ENSI

5

724Class A:0Network IDHost ID1416Class B:10Network IDHost ID218Class C:110Network IDHost ID28Class D (multicast):1110Multicast address27Class E (reserved):1111unused0IP (RFC 791)

Adressage (RFC990)

 un paquet émis vers une adresse, dont le net_id est égale à 127,

revient à l'émetteur sans passer par le réseau (boucle locale ou

"loopback"),

 une adresse dont le net_id est égal à 0 désigne le réseau courant,

Publicité

 une adresse dont tous les bits de host_id sont à 1 est une adresse de

diffusion,

 une adresse dont tous les bits de host_id sont à 0 et les bits du

net_id non nuls est une adresse de sous-réseau,

 0.0.0.0 est l’adresse des machines sans disque ignorant leur adresse

au moment du boot.

N. Ben Azzouna

Réseaux Locaux - ENSI

6

IP (RFC 791)

Adressage (RFC990)

 host_id peut être divisé en deux parties :

 adresse de sous-réseau

 adresse de machine.

 Les bits de chacune de ces parties ne sont pas forcément contigus, mais la plupart

des systèmes l’exige.

 Le «mask » du « subnet » définit la partie variable du « host ID »

 Les « subnet » ne sont pas visibles à l’extérieur du réseau (avec « network ID »)

N. Ben Azzouna

Réseaux Locaux - ENSI

7

IP (RFC 791)

Adressage (RFC990)

Table de routage du routeur R1

Subnet Number

128.96.34.0

128.96.34.128

128.96.33.0

Subnet Mask

255.255.255.128

255.255.255.128

255.255.255.0

Proch. Dest.

-

-

128.96.34.129

Interface

128.96.34.1

128.96.34.130

128.96.34.130

N. Ben Azzouna

Réseaux Locaux - ENSI

8

Datagramme IP (RFC 791)

 Version (4 bits) : indique le format de l'entête. Le format décrit est celui de la version 4.

 Longueur de l'entête (4 bits) : en nombre de mots de 32 bits.

 Longueur totale du datagramme (16 bits) : exprimé en octets (<65535).

 Identificateur commun aux fragments (16 bits) : tous les fragments d'un même

datagramme portent un même numéro.

N. Ben Azzouna

Réseaux Locaux - ENSI

9

Datagramme IP (RFC 791)

 Type de service (8 bits) : ce champ est utile pour le routage. Il indique la qualité

de service requise (RFC1349).

 Bits 0-2 : Priorité,

 Bit 3 : Délai de transmission,

 Bit 4 : Débit,

 Bit 5 : Chemin fiable,

 Bit 6 : Coût,

 Bit 7 à 0.

 Drapeau (3 bits)

 1er bit toujours à 0.

 2ème bit : si égal à 0  datagramme peut être fragmenté par un routeur.

 3ème bit : si égal à 0  dernier fragment d'un datagramme,

 par défaut la valeur est 000.

Publicité

 Déplacement fragment (13 bits) : position du 1er octet d'un fragment dans le

datagramme initial avant fragmentation.

 s'exprime en multiple de 8 octets.

N. Ben Azzouna

Réseaux Locaux - ENSI

10

Datagramme IP (RFC 791)

 Durée de vie (8 bits) : temps maximum pendant lequel le datagramme peut rester

dans le réseau. A la valeur 0 le datagramme est détruit.

 Protocole : de niveau supérieur (ip : 0, icmp : 1, tcp : 6, udp : 17, voir RFC 1340).

 checksum (16 bits) : le complément à 1 de la somme en complément à 1 des mots

de 16 bits de l'en-tête.

 Il est recalculé par chaque routeur puisque le champ durée vie est modifié.

 Adresses source, destination

 option (longueur variable) :

 gérer des problèmes de sécurité et de confidentialité,

 fournir aux routeurs des informations de routage par exemple un chemin désigné par

une suite d'adresses,

 connaître le chemin suivi par un datagramme,

 bourrage : pour que l’entête soit multiple de 32 bits.

N. Ben Azzouna

Réseaux Locaux - ENSI

11

Routage

Au niveau de la couche réseau

 Le routage statique : non adaptatif

 algorithme du plus court chemin

 algorithme fondé sur le flux

 routage par inondation «flooding»

Le routage dynamique

 routage à vecteur de distance «distance vector»

 routage à état de lien «link state»

N. Ben Azzouna

Réseaux Locaux - ENSI

12

Routage IP

 Routage RIP (RFC 1058) : Routing Information Protocol

 est le plus utilisé dans l'environnement TCP/IP.

 routage distribué basé sur l'échange d'informations entre routeurs adjacents (toutes

les 30 secondes).

 Chaque routeur a une connaissance de ses voisins

 utilisé sur des réseaux de petites tailles. Une route ne doit pas dépasser 15 noeuds

intermédiaires.

 Routage OSPF (RFC 1247) : Open Shortest Path First

 plus complexe que le routage RIP

 adapté aux réseaux de grandes tailles.

 chaque routeur a une connaissance complète de l'état des liens du réseau

 D'autres protocoles de routage sont utilisés : EGP ("Exterior Gateway Protocol"),

BGP ("Border Gateway Protocol") et CIDR ("Classless Internet Domain Routing").

N. Ben Azzouna

Réseaux Locaux - ENSI

13

Routage IP

CIDR «Classless Inter Domain Routing»

 pourquoi faire ?

épuisement des adresses de classe B (50% alloués dès 1992),

pallié par allocation d’adresses de classe C d’où une explosion de

la taille des tables de routage (NSFnet, janvier 1993 : 9000

réseaux connectés, janvier 1994 : 21400)

 Solution CIDR

allouer aux "utilisateurs" des réseaux de classe C contigus ayant

les mêmes bits de poids fort (préfixe) et grouper les préfixes par

zones, région, prestataires ... Ainsi on peut avoir une seule

entrée par préfixe (agrégat) dans la table de routage

exemple :les 2 réseaux explicites 193.127.32.0 et 193.127.33.0

sont agrégés en 193.127.32.0 255.255.254.0

Publicité

N. Ben Azzouna

Réseaux Locaux - ENSI

14

ICMP (RFC 792) : Internet Control Message

Protocol

 permet de rendre compte de certaines anomalies de

fonctionnement.

 Messages ICMP sont encapsulés dans des paquets IP (type = 0,

protocole = 1)

issus de routeurs comme de stations.

 Un message ICMP est soit une demande d'information soit une

indication d'erreur.

comporte au niveau des deux premiers octets un champ type et

un champ code.

Message d’erreurs

type (1 octet) + code (1 octet)+ spécifique au type (4 octets)+

entête Internet (variable) + 64 bits du paquet cause du

problème

N. Ben Azzouna

Réseaux Locaux - ENSI

15

Le Protocole ICMP

Problème de paramétrage

 type = 12, code = 0

Pointer : 1 octet; pointeur au problème dans l’entête

TTL expiré

type = 11

Code = 0 : died in transit ; Code = 1 : died during reassembly

Destination non joignable

type = 3

Code = 0 : net unreacahble ; Code = 1 : host unreachable ; Code = 2 :

protocol unreachable ; Code = 3 : port unreachable

N. Ben Azzouna

Réseaux Locaux - ENSI

16

Le Protocole ICMP

Déterminer si une destination est sur le réseau (ping)

Echo : type= 8/requête; 0/réponse ; Code = 0

Identifier/Sequence number (4 octets) : identifier la requête et sa

réponse

Data : variable; copiée dans la réponse

Echange de date (Timestamp)

type = 13/requête; 14/réponse

Code = 0

Identifier/Sequence number (4 octets) : identifier la requête et sa

réponse

Originate timestamp (4 octets): temps avant l’émission de de la requête

Receive timestamp (4 octets): : temps à la réception de la requête

Transmit timestamp (4 octets): : temps à la transmission de la réponse

N. Ben Azzouna

Réseaux Locaux - ENSI

17

Le Protocole ICMP

Demande du masque de sous-réseau (RFC 950)

type 17/requête; 18/réponse ;

Code = 0

Identifier/Sequence number (4 octets) : identifier la requête et sa réponse

Adress mask : 4 octets

Le réseau est en congestion ; la source doit diminuer son débit :

demande sur réseau« Source quench »

type = 4; Code = 0

Entête IP + 64 bits du datagram cause du problème

Redirect : routage ES-IS

N. Ben Azzouna

Réseaux Locaux - ENSI

18

Publicité

ARP

 Si une station émet sur un autre réseau que le sien, elle envoie le

datagramme vers le routeur (gateway)

 Si une station émet sur son réseau, elle doit trouver l’adresse

physique (MAC) pour acheminer le datagramme

 ARP consiste à envoyer en diffusion (niveau MAC et IP) sur le réseau un

datagramme d’interrogation à toutes les autres stations (Qui a cette adresse

IP ?)

 La station qui se reconnaît renvoie un datagramme d’identification avec son

adresse MAC

 Le datagramme à envoyer est alors encapsulé dans la trame avec les bonnes

adresses MAC (destination et source)

 Pour éviter de recommencer à chaque trame, les stations mémorisent dans un

« cache MAC » l’information.

 Les entrées dans le cache sont généralement temporisées et rafraîchies.

N. Ben Azzouna

Réseaux Locaux - ENSI

19

Protocoles de transport d’Internet

 TCP «Transmission Control Protocol» RFC 793 1122 1323

 UDP «User Datagram Protocol», RFC 768

 Service TCP

 orienté connexion, point à point, bidirectionnel, fiable, conserve le

séquencement

 TSAP : socket : (@ip + protocole +port)

 ports pré-définis (Telnet : 23, smtp : 25), RFC 1060, 1700

 flot d’octets

 l’entité TCP décide d’elle même du découpage du flot en segments

 utiliser le bit PUSH pour forcer l’envoi de données

 le bit URGENT provoque une interruption chez l’application destination pour

traiter les données « urgentes »

 Service UDP

 datagramme, UDP rajoute à IP l’information de service (port)

N. Ben Azzouna

Réseaux Locaux - ENSI

20

UDP

 « User Datagram Protocol »

 « Connectionless » ; service « end-to-end »

 Sans contrôle de flux.

 Pas d’acks

 Adressage à travers des ports

 Détection des erreurs au niveau de l’entête (Checksum) optionnelle.

 Dans un paquet IP, le champ protocole est égal à 17

Sorce port

Destination port

Length

Checksum

UDP

header

data

N. Ben Azzouna

Réseaux Locaux - ENSI

21

TCP

 Dans un paquet IP, le champ protocole est égal à 6

 Format d’un segment :

N. Ben Azzouna

Réseaux Locaux - ENSI

22

TCP : Primitives de service

N. Ben Azzouna

Réseaux Locaux - ENSI

23