Sunteți pe pagina 1din 139

ENSMR

Architecture TCP/IP

S. ASSOUL
assoul@enim.ac.ma

Édition 2017-2018
1
Objectifs
• Les réseaux informatiques sont devenus incontournables
aujourd‟hui. Ils sont employés dans toutes les entreprises et
même chez les particuliers.
• Ce cours a l‟ambition de permettre aux étudiants de:
– Comprendre les protocoles de communication utilisés dans le réseau
Internet.
– Présenter l‟architecture et le fonctionnement du réseau Internet (Pile
TCP/IP).
– Distinguer les différents protocoles de routage et leur utilisation
– Comprendre les différentes applications du réseau: DNS, TP, HTTP,…

2
PLAN
I. Introduction
– Historique
– Normalisation
– Principe de fonctionnement
– Architecture du réseau Internet
II. Le protocole IP
- Adressage IPv4
- Adressage IPv6
- Structure du paquet
- Protocoles associés à IP: ICMP, ARP, DHCP, NAT
III. Principes de routage
- Fonctions d‟un routeur
- Famille d‟algorithmes de routage
VI. Les protocoles TCP/UDP
V. Les protocoles applicatifs
- DNS, HTTP, Messagerie électronique, FTP, …
3
Bibliographie
1. C. Servin. Réseaux & Télécoms. 4ème Edition. Dunod
2013.

2. Jean-Luc Mantagnier. Réseaux d‟entreprise par la


pratique. 3ème Edition. Eyrolles 2011

3. A.Tanenbaum. Réseaux, architectures, protocoles,


applications. Inter Editions 2011.

4. Douglas Comer. TCP/IP. Architecture, protocoles et


applications. Pearson Ed.ucation.

5. Karajnit S.SIAYAN. TCP/IP. Campus Press 2003.

6. Cisco system et all. Technologies des interconnexions


4
réseaux. Campus Press 2001.
I. Introduction

5
Le réseau Internet

6
L‟architecture du réseau Internet

7
Equipement de l‟internaute

8
Le réseau d‟accès

9
Les FAI

10
Les dorsales d‟Internet

11
Les sites web

12
13
Historique
-1957: Création de l‟ARPA(Advanced Reseach Project Agency)
- 1969: Interconnexion de 4 nœuds(instituts de recherche et universités)
- 1970: Première publication au sujet de ARPANET (15 nœuds)
- 1973: Interconnexion avec l‟Angleterre via la Norvège
- 1974: Vint cerf et Bob Kahn spécifient le protocole TCP
- 1977: Spécification du mail et apparition de Telnet
- 1980: ARPANET arrêté (virus) et réseau Milnet pour les militaires
- 1982: ARPA adopte la pile TCP/IP

- 1984: Introduction du DNS


- 1987: Création du backbone NSFNET (plus de 10000 ordinateurs
connectés)
- 1988: Connexion vers plusieurs pays (France, canada, Allemagne,…)
- 1989: Création de WWW au CERN
- 1990: Réseau mondial Internet
- 2000: nouveaux services: VoIP, e-commerce,…
- 2015: Internet des objets (IoT ou WoT)
14
Fonctionnalités
• Interconnecte divers réseaux : Ethernet, Token Ring, X25,
• La technologie est constituée par des protocoles de base (suite TCP/IP) qui offrent
les services de base du transfert des données :
– transport de datagrammes : service élémentaire de la commutation de paquets.
– transport de messages fiable : service orienté connexion permettant d'acheminer
des données en garantissant leur intégrité
• adaptation de la technologie TCP / IP à la plupart des interfaces matérielles.
• Ces services de base sont indépendants du support de transmission; adaptables à
toute sorte de media depuis les réseaux locaux jusqu'aux réseaux longue distance.
• Interconnexion universelle :
– les machines ont une adresse unique sur l'Internet. Deux machines reliées au
réseau, communiquent grâce aux autres nœuds du réseau qui routent de manière
coopérative sur la base de l'adresse destinataire.
• Interconnexion d'égal à égal (peer to peer systems) :
– il n'y a pas de machines prioritaires (en opposition à une structure hiérarchique).
• Applications standards bâties sur la technologie de base :
– courrier électronique, transfert de fichier, émulation terminal, etc. 15
Normalisation
 IAB (Internet Architecture Board):
 Organisme chargé de la supervision et de la coordination des processus de standardisation
 Il dirige les évolutions de l'Internet via l'IEFT , l'IRTF et l‟IANA

 IETF (Internet Engineering Task Fore): organisé en groupes de travail, coordonne les développements
techniques de l'Internet(la mise en œuvre de l‟Internet)
 Groupe de standardisation à court terme
 Dépend de l‟IAB et est divisé en plusieurs zones ou domaines: applications, routage, adressage,…
 Un groupe de pilotage coordonne ses travaux
 Les standards officiels de la communauté Internet sont publiés sous forme de Ex : RFC 793 décrit TCP
 RFC: Request For Comment
 IRTF (Internet Researc Task Fore):
 Poursuit des recherches sur des projets à long terme
 Dépend de l‟IAB

 ICANN (Internet Corporation for Assigned names and Numbers) où l‟IANA ( Internet Assigned Number
Authority) gère l‟attribution des adresses IP(4 et 6)
 Des organismes régionaux ou nationaux agissent par délégation de l‟IANA
 EX: RIPE(Réseau IP Europeen) représenté en France, par l‟AFNIC( Association Française pour le
Nommage Internet en Coopération); l‟AFRINIC pour l‟Afrique

 ISOC (Internet SOCiety):


 Organisation Internationale à but non lucratif qui supervise le développement de l‟Internet (Société
professionnelle) destinée à faciliter, aider et promouvoir le développement et la croissance de l‟Internet. Et
traite les aspects sociaux de l‟internet.
 ex: MISOC au Maroc
16
Organismes de normalisation

IANA

17
Normalisation
• L‟ICANN (Internet Corporation for Assigned Named and
Numbers) via l‟ASO (Address Supporting Organization)
délègue des blocs d‟adresses publiques aux RIR(Regional
Internet Registrie) avec l‟aide technique de l‟IANA
• RIR (sous autorités régionales de l‟ICANN)
– APNIC : Asie et Pacifique
– ARIN : Amériques du nord et pays Africains au sud de l‟équateur
– RIPE : Europe, Moyen Orient et Asie Centrale
– LACNIC : Amérique centrale, Amérique du sud et Caraïbes
– AFRINIC : pour l‟Afrique
• allouent les adresses IP publiques aux «Local Internet
Registries» (LIR) qui à leur tour attribuent les @ aux FAI
intermédiaires et aux utilisateurs
– FAI
– Grandes entreprises

18
Normalisation

19
Services Internet
• TCP/IP décrit un réseau logique (réseau IP) au dessus du ou des
réseaux physiques réels, auxquels sont connectés les machines.
• Internet couvre deux aspects:
– réseau: ensemble de standards réseau spécifiant la façon
dont les ordinateurs communiquent entre eux et un ensemble
de conventions régissant l‟interconnexion des réseaux;
– Services: du point de vue utilisateur, l‟Internet est composé
d‟un ensemble de programmes d‟application utilisant le
réseau sous-jacent afin d‟exécuter des tâches de
communication. Parmi les services qui ont fait le succès
d‟Internet: le WWW; courrier électronique, le transfert de
fichiers, …L‟utilisateur de ces services ne fait qu‟exécuter
des applications.

20
Modèle en couches: la pile TP/IP

Messages, Flots APPLICATIONS


5
Unités de données
telnet, ftp, mail, www

Segments TCP 4 TCP UDP TRANSPORT


Datagrammes UDP

ICMP
Packet Datagrammes 3 RESEAU
IP
ARP RARP
Trames 2 Liaison de données

Train de bits 1 Physique

21
22
La couche transport

• UDP fonctionne en mode non connecté , sans accusé de réception et sans


contrôle de message

• TCP fonctionne en mode connecté , il est responsable de la division des


messages en segments puis de réassemblage à l’arrivée , avec un accusé de
réception.
23
La couche réseau

• ICMP est utilisé pour envoyer des messages de contrôle ou d ’erreur.


• ARP est utilisé pour associer une adresse IP connue à une adresse MAC.
• IP est le protocole de la couche Réseau de transport de données

24
Modèle en couches sur les équipements

Station A Station B
Dans réseau IP1 Dans réseau IP2
APPLICATIONS APPLICATIONS
Routeur
telnet,ftp,mail,www telnet,ftp,mail,www
Dans réseau IP1
&
4 TCP UDP Dans réseau IP2 4 TCP UDP

ICMP ICMP ICMP


3 3 3
IP IP IP
ARP RARP ARP RARP ARP RARP

2 LD (Ethernet hdlc,..) 2 LD (Ethernet hdlc,..) 2 LD (Ethernet hdlc,..)

1 Physique 1 Physique 1 Physique

25
Méthodes d‟adressage et d‟accès aux réseaux
• Toute entité sur le réseau, ainsi que ses services, est
identifiée par une adresse (au sens large)
– Une carte réseau (NIC) → une adresse physique :
@ MAC, attribuée par le constructeur
– Une station sur le réseau → une adresse logique :
@ IP4/IP6, attribuée par l‟administrateur
– Une application en environnement TCP/IP → un
numéro de port (TCP ou UDP)
– Une page HTML sur le Web → une URL (nom de
domaine) ou @ mail,…

26
II. Le protocole IPv4 :
L‟Adressage dans le réseau
logique

27
L‟adressage IP

• But : fournir un service de communication universel permettant à toute


machine de communiquer avec toute autre machine de l‟interconnexion

• Une machine doit être accessible aussi bien par des humains que par
d'autres machines
• le terme hôte (host en anglais) s'applique à tout système informatique
qui possède une interface réseau et qui utilise un logiciel de
communication implantant TCP/IP pour transmettre ou recevoir des
informations.
• Une machine doit pouvoir être identifiée par :
– une adresse qui doit être un identificateur universel de la machine,
– un nom (mnémotechnique pour les utilisateurs),
– une route précisant comment la machine peut être atteinte.

28
L‟adressage IPv4
• Chaque interface du réseau Internet dispose d‟une adresse IP
unique:
– Codée sur 32 bits (4 octets);
– Format décimal pointé: 192.168.1.1
– Format binaire: 10000000 .00001010. 00000010. 00011110
• L‟adresse est divisée en 2 parties:
– La partie identifiant la machine: Host_ID
– La partie identifiant le réseau auquel appartient la machine: Net_ID
• L‟adresse appartient à une classe: A, B, C, D et E, déterminée
par la valeur du premier octet.

29
Classes d‟adresses

30
Classes d‟adresses
Classe A: utilisée pour les très grands réseaux
- Il y en a 127 réseaux
- Nombre d‟hôtes < 224
- ex: MIT, défense américaine
Classe B: utilisée pour les réseaux moyens
- Il y en a 16384 réseaux
- Nombre d‟hôtes < 216
- ex: les universités américaines

Classe C: utilisée pour les petits réseaux


- Plus de 2 millions de réseaux
- Nombre d‟hôtes < 28 = 256
- ex :une entreprise, une école,…
Classe D: définit les adresse multicast(groupe
-Groupes permanents (prédéfinis)
- 224.0.0.1: tous les hôtes d‟un LAN
- 224.0.0.2: tous les routeurs
Groupes temporaires à créer: processus utilisateur
Classe E: réservée pour l‟expérimentation 31
Types d‟adresses
 Les adresses de destination sont de 3 types:
Unicast: adresse individuelle: paquet destiné à un hôte;
Multicast: adresse de groupe: paquet destiné aux hôtes du groupe. Le
protocole qui utilise ce groupe est IGMP (Internet Group Management
Protocol);
Broadcast: adresse de diffusion à tous les hôtes du réseau

 Une adresse source est de type unicast.

Quelques adresses particulières:


 0.0.0.0: adresse inconnue (quand une station sollicite une @ via DHCP)
 127.0.0.1: adresse local host(la machine ou loopback)
 <Net-id.<Host-id Nul: le réseau
< Net-id>.<host-id avec tous les bits à 1>: toutes les machines de ce réseau
 255.255.255.255: broadcast limité àtoutes les machines d‟un même réseau
 169.254.0.0 – 169.254.255.255: lien local (adresses auto-configurées)
32
Adresses Privées
• RFC 1918 : Les réseaux privés ≈ "non routable"

– Classe A : 10.0.0.0 à 10.255.255.255


– Classe B : 172.16.0.0 à 172.31.255.255
– Classe C : 192.168.0.0 à 192.168.255.255

• Utilisable localement par tous (intranet). Les paquets qui les contiennent ne
sont pas routés sur Internet.
• Les adresses publiques sont attribuées par l‟IANA et elles sont uniques .
Elles peuvent être obtenues auprès d‟un Fournisseur d‟Accès Internet (FAI)
• Si un de ces réseaux a besoin d‟un accès à un réseau public, on réalise une
conversion d‟adresses, via le NAT(Network Address Translation).
Reserved Private Network Allocation
Network Class Default Netmask •Plages d’adresses réservés

A 255.0.0.0 10.0.0.0 - 10.255.255.255

B 255.255.0.0 172.16.0.0 - 172.31.255.255

C 255.255.255.0 192.168.0.0 - 192.168.255.255


33
Le sous adressage: le subnetting
• Le sous-adressage est une extension du plan d‟adressage initial
• Devant la croissance du nombre de réseaux de l‟Internet, il a été
introduit afin de limiter la consommation d‟adresses IP qui permet
également de diminuer :
– la gestion administrative des adresses IP,
– la taille des tables de routage des passerelles,
– la taille des informations de routage,
– la taille des domaines de broadcast: moins de trafic.
– accroître la sécurité en séparant les réseaux locaux.

• Principes
– A l‟intérieur d‟une entité associée à une adresse IP de classe A, B
ou C, plusieurs réseaux physiques partagent cette adresse IP.
– On dit alors que ces réseaux physiques sont des sous-réseaux
(subnet) du réseau d‟adresse IP.

34
Le sous adressage (suite)

• Conceptuellement, la partie locale dans le plan d‟adressage


initial est subdivisée en “partie réseau physique” +
“identification de machine (hostid) sur ce sous-réseau” :
Partie Internet Partie locale

Partie Internet Réseau physique Identificateur Machine

 «Partie Internet» correspond au NetId (plan d’adressage initial)


 «Partie locale» correspond au hostid (plan d’adressage initial)
 les champs «Réseau physique» et «identifier Machine» sont de taille variable;
la longueur des 2 champs étant toujours égale à la longueur de la «Partie
locale».

35
Le sous adressage (suite)
• L‟utilisation de l‟identifiant subNet_ID de longueur variable nécessite d‟indiquer à
chaque nœud du réseau les bits de l‟adresse réseau à prendre en compte pour définir
le chemin dans le réseau.
• Cette information est fournie sous forme d‟un champ de bits à 1, appelé masque de
sous réseau.
• Le sous-adressage ==> masque de 32 bits associé au sous-réseau.
• Bits du masque de sous-réseau (subnet mask) :
– positionnés à 1 : partie réseau/sous-réseau,
– positionnés à 0 : partie machine
• Exemple Classe C 11111111 11111111 11111111 00000000
==> 3 octets pour le champ réseau, 1 octet pour le champ machine
• Les notations suivantes sont utilisées pour le masque:
– décimale pointée; exemple : 255.255.255.0
– Préfixe réseau: Adresse réseau/masque : 193.49.60.0/27 (27= bits contigus du
masque ou longueur du préfixe réseau)

36
Utilisation du masque fixe

• Pour déterminer si la machine cible est localisée sur le même sous réseau
source, le routeur/la machine réalise:
– un « ET » logique entre les bits de l‟@ source et ceux du masque de sous
réseau;
– un « ET » logique entre les bits de l‟@ de destination et ceux du masque de sous
réseau;
– Si le résultat donne la même valeur, les 2 machines sont sur le même sous
réseau.
– Sinon, le paquet est adressé à la passerelle par défaut, qui sera chargée de trouver
le sous réseau destinataire;
• Pour déterminer l‟@ de l‟hôte on effectue un « ET» logique entre l‟@ IP et
le complément du masque(non masque)
• Une machine d‟un réseau logique IP, désirant envoyer un datagramme vers
une autre machine, doit connaître:
– Son @ IP;
– Le masque de sous réseau;
– L‟@ de la passerelle par défaut

37
Exemple

- 10000011 01101100 00000010 est l’@ du sous


réseau en binaire
- Le sous réseau est 131.108.2.0 38
Le sous adressage (suite)
• Le choix du découpage dépend des perspectives d‟évolution du site, sur le
nombre de sous-réseaux et le nombre d‟hôtes. si H est le nombre de bits pour
les hôtes on aura
CH= 2H- 2 avec H> 1 car:
- Un numéro pour identifier le sous réseau;
- Un numéro pour le broadcast
• Pour créer l‟identificateur du sous réseau, on emprunte des bits du champ
Host_ID.
• Lorsque le sous-adressage est ainsi défini, toutes les machines du réseau
doivent s‟y conformer sous peine de dysfonctionnement du routage ==>
configuration rigoureuse
• Exemple:
– Le réseau 10.0.0.0/20
– L‟@ 10.3.0.0 représente le réseau <10.3> ou le sous-réseau <10.3.0>?
– L‟@ 10.3.255.255 est un broadcast sur tout le réseau ou seulement sur le sous-
réseau?
– Les versions d‟IOS des routeurs cisco (12.0 et plus) autorisent les sous-réseaux
zéro par défaut. Donc, on considère les 2n sous-réseaux (RFC1812)

39
Planification de sous réseau

Nbre bits Masque Nbre s/réseaux Nbre Hôtes


2 255.255.255.192 4 62
3 255.255.255.224 8 30
4 255.255.255.240 16 14
5 255.255.255.248 32 6
6 255.255.255.252 64 2 40
Définition d'un masque de sous-réseau

41
Définition des identificateurs d'hôte/ sous-réseau

42
Le sous-adressage variable: VLSM
• VLSM:Variable Length Subnet Masks
• Évite la rigidité du masque fixe qui impose :
– le nombre de sous-réseaux
– le nombre de machines par sous-réseau
• Utilisation du sous-réseau de numéro 0
• Assure une flexibilité max lors du choix du sous-adressage
pour une organisation: une partition différente pour chaque
réseau physique
• Exemple : 130.5.0.0/22 ==> 62 sous-réseaux et 1022 machines
/ sous-réseau
– inadapté pour des petits sous-réseaux de quelques machines;
exemple 30 machines sur un sous-réseau ==> 992 adresses
IP perdues

43
VLSM
- Le masque variable permet:
- l‟adaptation de l‟adressage IP à la taille des sous-réseaux
- masquer les informations de routage entre groupes de sous-réseaux
- routage hiérarchique

44
Utilisation de VLSM
Masque Bits empruntés Bits empruntés Bits empruntés
Classe C Classe B Classe A

/24 0 8 16

/25 1 9 17

/26 2 10 18

/27 3 11 19

/28 4 12 20

/29 5 13 21

/30 6 14 22

45
Avantages du VLSM
• Adapter le masque en fonction de la taille du réseau
• La technique VLSM offre un adressage efficace et évolutif sur
IPv4
– Réseau n‟ayant pas beaucoup d‟hôtes => masque long
– Réseau ayant beaucoup d‟hôtes => masque court
• VLSM permet de subdiviser un sous-réseau en sous-réseaux
avec différents masques
• VLSM utilisé dans le domaine privé
• la technique VLSM est utilisée pour découper l‟@ de classe C
en plusieurs sous-réseaux de taille variables et pour les
connexions point-à-point où on a besoin de 2 adresses.
• Les protocoles de routage qui prennent en charge le VLSM:
RIP2, EIGRP, OSPFv2, etc.

46
Le protocole IP
Le Datagramme

47
IP : Internet Protocol
• Le protocole Internet (Internet Protocol ou IP) :
– réalise les fonctionnalités de la couche réseau selon le modèle OSI
– se situe au coeur de l'architecture TCP/IP qui met en oeuvre un mode de
transport fiable (TCP) sur un service réseau en mode non connecté
– Masque aux applications les réseaux physiques traversés

Services Applicatifs
Service de transport fiable
Service réseau en mode non connecté

 Le service offert par le protocole IP est dit non fiable :


 remise de paquets non garantie,

 sans connexion (paquets traités indépendamment les uns des autres),

 pour le mieux (best effort, les paquets ne sont pas éliminés sans raison).
48
IP : Internet Protocol

• Le protocole IP définit :
– l'unité de donnée transférée dans les
interconnexions (paquet ou datagramme),
– la fonction de routage,
– les règles qui mettent en œuvre la remise de
paquets en mode non connecté

49
Le format du datagramme IP
• Le datagramme IP
L'unité de transfert de base dans un réseau Internet est le
datagramme qui est constituée d'un en-tête et d'un champ de
données:
0 4 8 16 19 24 31
VERS HLEN Type de service Longueur totale
Identification Flags Offset fragment
Durée de vie Protocole Somme de contrôle Header
Adresse IP Source
Adresse IP Destination

Options IP (éventuellement) Padding


Données
...
50
Le datagramme IP
Signification des champs du datagramme IP :
• VERS : numéro de version de protocole IP, version 4 ou 6 et par
conséquent le format du paquet,
• HLEN : longueur de l'en-tête en mots de 32 bits, généralement égal à 5
mots ou 20 octets (si pas d'option),
• Longueur totale : longueur totale du datagramme (en-tête + données), la
longueur max est 65536 octets(théorique). Indique généralement la taille du
fragment
• Type de service : indique comment le datagramme doit être géré :

Précédence D T R Inutilisé

 PRECEDENCE (3 bits) : définit la priorité du datagramme; en général


ignoré par les machines et passerelles .
 Bits D, T, R : indiquent le type d'acheminement désiré du datagramme,
permettant à une passerelle de choisir entre plusieurs routes (si elles
existent) : D signifie délai court, T signifie débit élevé et R signifie grande
fiabilité. 51
Le datagramme IP
• FRAGMENT OFFSET, FLAGS, IDENTIFICATION : les champs de la
fragmentation.
– Sur toute machine ou passerelle mettant en oeuvre TCP/IP une unité
maximale de transfert (Maximum Transfert Unit ou MTU) définit la taille
maximale d'un datagramme véhiculé sur le réseau physique correspondant
– lorsque le datagramme est routé vers un réseau physique dont le MTU est
plus petit que le MTU courant, la passerelle fragmente le datagramme en un
certain nombre de fragments, véhiculés par autant de trames sur le réseau
physique correspondant(rappel : les datagrammes peuvent emprunter des
chemins différents),
– le destinataire final reconstitue le datagramme initial à partir de l'ensemble
des fragments reçus; la taille de ces fragments correspond au plus petit MTU
emprunté sur le réseau. Si un seul des fragments est perdu, le datagramme
initial est considéré comme perdu : la probabilité de perte d'un datagramme
augmente avec la fragmentation.

52
Le datagramme IP

53
Le datagramme IP
• FRAGMENT OFFSET : sur 13 bits indique le déplacement des données contenues dans le
fragment par rapport au datagramme initial. C'est un multiple de 8 octets; la taille du
fragment est donc également un multiple de 8 octets.
• chaque fragment a une structure identique à celle du datagramme initial, seul les champs
FLAGS et FRAGMENT OFFSET sont spécifiques.
• Longueur totale : taille du fragment et non pas celle du datagramme initial, à partir du
dernier fragment (TOTAL LENGTH, FRAGMENT OFFSET et FLAGS) on peut
déterminer la taille du datagramme initial.
• IDENTIFICATION : entier qui identifie le datagramme initial (utilisé pour la
reconstitution à partir des fragments qui ont tous la même valeur).
• FLAGS: le champ est composé de 3 bits: le premier non utilisé, le deuxième DF et le
troisième MF. Si DF=1, on demande au routeur de ne pas fragmenter.
• Le« MF: More fragments" (FLAGS = 001: signifie d'autres fragments à suivre) permet au
destinataire final de reconstituer le datagramme initial en identifiant les différents
fragments.

54
Le datagramme IP
• Durée de vie: TTL
– Ce champ indique en secondes, la durée maximale de transit du
datagramme sur l'internet. La machine qui émet le datagramme définit sa
durée de vie.
– Les passerelles qui traitent le datagramme doivent décrémenter sa durée
de vie du nombre de secondes (1 au minimum) que le datagramme a
passé pendant son séjour dans la passerelle; lorsque celle-ci expire le
datagramme est détruit et un message d'erreur est renvoyé à l'émetteur.

55
Le datagramme IP
• Protocole
Ce champ identifie le protocole de niveau supérieur dont le message est véhiculé
dans le champ données du datagramme. Ces valeurs sont définies dans la RFC
1700. Ce champs permet le multiplexage de flux.
1: ICMP 2: IGMP41: IPv6 dans IPv4
6: TCP 8: BGP
17: UDP 89: OSPF
• Checksum: contrôle d‟erreurs sur l‟entête de 16 bits. Le total de contrôle est le
complément à 1de la somme en complément à 1 des données de l‟entête
découpées en mots de 16 bits.
• Adresse source et destination: indiquent les adresses IP de l‟émetteur et du
récepteur.
• Options: de 0 à 44 octets(16 mots), champ de longueur variable, est codé: code
option(type), longueur, valeur. Il peut être suivi de bits de bourrage pour assurer
l‟alignement de l‟entête de l‟entête IP sur des mots de 32 bits. Il est peu utilisé.
– Routage à la source: route imposée par la source
– Router record: récupérer les adresses des routeurs intermédiaires
56
Le protocole ARP : Address
Resolution Protocol

57
ARP: Address Resolution Protocol
• Le Besoin
– La communication entre machines ne peut s'effectuer qu'à travers l'interface
physique
– Les applicatifs ne connaissant que des adresses logiques IP, comment établir le
lien adresse IP / adresse physique?
• La Solution : ARP
– Mise en place dans TCP/IP d‟un mécanisme de résolution d‟adresses, appelé
Address Resolution Protocol (ARP)
– Rôle de ARP : fournir à une machine donnée l'adresse physique d'une autre
machine située sur le même réseau à partir de l'adresse IP de la machine
destinatrice
• La Technique :
– Diffusion d'adresse sur le réseau physique
– La machine d'adresse IP émet un message contenant son adresse physique
– Les machines non concernées ne répondent pas
– Gestion du cache pour ne pas effectuer de requête ARP à chaque émission
58
ARP
• La machine source diffuse une demande de
résolution d‟adresse(ARP) sur le réseau physique ;
• Toutes les machines actives sur le segment
reconnaissant une requête ARP, en extraient les
adresses MAC et IP de la source et stockent ces
valeurs dans la table cache ARP;
• Seule la machine qui a reconnu son adresse IP
dans la requête répond par une réponse ARP en
fournissant son adresse MAC
• La réponse est stockée dans le cache ARP de la
machine source.

59
Le mécanisme de résolution d‟adresses
Machine Passerelle
Machine Machine source Machine cible
source cible
Requête ARP
Requête ARP
Résolution inter-réseaux
Réponse ARP Réponse ARP

Données Requête ARP


Données

Réponse ARP

Données
Résolution intra- réseau
Résolution inter-réseaux

60
DHCP
Dynamic Host Configuration Protocol
Présenté pour la première fois en octobre 1993 et est
défini par la RFC 1541 et 2131,

Evolution du BOOTP
Service configuré par l‟administrateur
Un protocole de configuration dynamique
Mécanisme chargé d‟affecter les adresses IP aux
machines
61
DHCP
 Résolution des problèmes de configuration et d‟administration IP
 Distribution des adresses IP sur le réseau
 Eliminer la configuration manuelle
 Gain de temps dans la gestion de l‟adressage IP
 Les modifications des paramètres réseaux se font sans passer sur
les stations
 Le protocole DHCP est un protocole de niveau applicatif (sur les
hôtes). Les messages DHCP sont transportés par le protocole
UDP.
 Le protocole DHCP est un protocole de niveau réseau(sur les
routeurs).

62
DHCP
• Lorsqu'un client DHCP (machine) initialise un accès à un réseau TCP/IP, le processus
d'obtention de l‟adresse IP se déroule en 4 phases :
 Le client émet un message de demande de l‟adresse IP (DHCPDISCOVER) qui
est envoyé sous forme d'une diffusion sur le réseau avec adresse IP source provisoire :
0.0.0.0, adresse IP destination: 255.255.255.255 et adresse MAC.
 Les serveurs DHCP actifs répondent en proposant une adresse IP avec une durée de bail, il
s‟agit du message ( DHCOFFER).
 Le client sélectionne la première adresse IP reçue (s'il y a plusieurs serveurs
DHCP) et envoie une demande d'utilisation de cette adresse au serveur
DHCP (DHCPREQUEST). Son message envoyé par diffusion comporte
l'identification du serveur sélectionné qui est informé que son offre a été
retenue.
 Le serveur DHCP sélectionné accuse réception de la demande et accorde
l'adresse en bail, et ce par le message ( DHCPACK), les autres serveurs retirent
leur proposition. Enfin le client utilise l'adresse pour se connecter au réseau.
• La machine pourra utiliser cette adresse lors des connexions jusqu‟à expiration du bail,
échéance au bout de laquelle elle devra formuler une demande de renouvellement.
• Le message DHCP release permet au client de résilier son bail avant échéance
• Le message DHCP renew permet au client de renouveler le bail
63
DHCP

64
Format du message DHCP
Opcode (8) Type_réseau(8) Long @phy (8) Sauts(8)
Identification
Temps B 00000000000000000
@ IP client
@ IP serveur
@ IP de la passerelle
@ physique client
Nom du serveur
Nom et chemin d‟accès du fichier boot
Information spécifique
DHCP dispose de 3 modes d‟allocation des @ IP:
- Statique: l‟administrateur réserve une @ IP à une station(@ MAC)
particulière)
- automatique: l‟administrateur autorise le serveur DHCP à attribuer une @
permanente aux clients (bail infini); 65
- dynamique: le serveur loue une @ pendant une durée limitée.
Format du message DHCP
- Opcode: octet indiquant le type d‟opération
effectuée: Discover, Offer,…
Opcode Signification
- Type_réseau: 1: Ethernet; 0: Token Ring
- Long_@phy: vaut 6 quand le type_réseau est
Ethernet(@ MAC) 1 DHCP_Discover
- Sauts: positionné à 1 par le client et peut être
2 DHCP_Offer
incrémenté par le serveur proxy(nbre de proxy).
- Identification: numéro donné par le client dans la
3 DHCP_Request
demande et renvoyé par le serveur pour associer
une requête à une réponse
4 DHCP_Decline
- Temps: est défini par le client pour indiquer
l‟instant d‟émission de la requête
- B: 1 indique que la réponse doit être diffusée 5 DHCP_ACK
- @ IP client: généralement à 0
-@IP du serveur, nom du serveur: identifie le 6 DHCP_NACK
serveur ayant répondu à la requête
7 DHCP_Release
- Chemin d‟accès: Boot filename
-@IP de la passerelle: @ de la première passerelle
ayant relayé la réponse 8 DHCP_Inform
- Informations spécifiques: informations diverses 66
Agent de relais DHCP
• Une machine serveur peut être aussi configurée comme agent
de relais DHCP, il suffira de lui spécifier l'adresse du serveur
DHCP.
• Les demandes des clients DHCP seront relayées vers le
serveur DHCP par l'agent de relais DHCP qui transmettra les
offres aux clients.

67
Agent de relais DHCP

68
Le protocole ICMP

69
Le Protocole ICMP
Le besoin
• Le protocole ICMP (Internet Control Message Protocol) permet d‟informer la
source d‟une erreur réseau (message d‟erreur) ou de formuler une demande d‟état à
un système(message d‟information).
• Beaucoup d‟erreurs sont causées par l‟émetteur, mais d‟autres sont dues à des
problèmes d‟interconnexion rencontrées sur l‟Internet :
– machine destination déconnectée,
– durée de vie du datagramme expirée,
– congestion des passerelles intermédiaires.
• Si une passerelle détecte un problème sur un datagramme IP, elle le détruit et émet
un message ICMP pour informer l‟émetteur initial.
• Les messages ICMP sont encapsulés dans un datagrammes IP et sont routés
comme n‟importe quel datagramme IP sur l‟internet.
• ICMP ne fiabilise pas IP, c‟est un protocole d‟information.
• Une erreur engendrée par un message ICMP ne peut donner naissance à un autre
message ICMP (évite l‟effet cumulatif).
70
Le paquet ICMP

TYPE CODE CHECKSUM


Identifier Seq. number

Données spécifiques . . .

IDENTIFIER et SEQUENCE NUMBER sont utilisés par l‟émetteur pour


contrôler les réponses aux requêtes .
TYPE (8 bits) : type de message
CODE (8 bits): informations complémentaires ( Plus d‟info
sur le champ type)
CHECKSUM 16 bits; champ de contrôle
HEAD-DATA en-tête datagramme + 64 premiers bits des données.

71
ICMP : les messages d‟erreur
Lorsqu‟une passerelle émet un message ICMP de type destination inaccessible, le
champ code décrit la nature de l‟erreur
Type 0 Réponse d‟écho
3 Destination inconnue
4 Limitation de débit par la source
5 Redirection (0 : par le réseau; 1: Par l‟hôte)
8 Requête d‟écho
11 Expiration de délai (Si TTL=0)
12 Paramètre IP inintelligible (entête erroné)
13 Requête d‟horodatage
14 Réponse d‟horodatage
17 Requête de masque d‟adresse
18 Réponse de masque d‟adresse
Si type= 3 alors:
Code = 0 Réseau inaccessible
Code =1 Hôte inaccessible
Code= 2 Protocole inaccessible
Code= 3 Port inaccessible
Code=4 Besoin de fragmenter mais DF positionné
Code = 5 Routage à la source abandonné
72
ICMP : les commandes

Demande d‟écho et réponse d‟écho (Echo-Request, Echo Reply)

– Permettent à une machine ou passerelle de déterminer la validité d‟un chemin sur le


réseau.
– Le champ de données spécifiques est composé de données optionnelles de longueur
variable émises par la requête d'écho et devant être renvoyées par le destinataire si
présentes.
– Utilisé par les outils applicatifs tels ping et
– L‟utilitaire ping permet de tester l‟accessibilité d‟un système et d‟évaluer le temps aller
et retour entre la source et la destination
– L‟utilitaire traceroute permet de découvrir la route empruntée par un datagramme entre
une machine source et une machine cible traceroute (récupère les adresses des différents
routeurs traversés).

73
ICMP : les commandes
Synchronisation des Horloges et temps de transit

• Les horloges de deux machines qui diffèrent de manière importante peuvent poser
des problèmes pour des logiciels distribués.

• Une machine peut émettre une demande d‟horodatage (timestamp request) à une
autre machine susceptible de lui répondre (timestamp reply) en donnant l‟heure
d‟arrivée de la demande et l‟heure de départ de la réponse.

• L‟émetteur peut alors estimer le temps de transit ainsi que la différence entre les
horloges locale et distante.

• Le champ de données spécifiques comprend l‟heure originale (originate timestamp)


émis par le demandeur, l‟heure de réception (receive timestamp) du destinataire, et
l‟heure de départ (transmit timestamp) de la réponse.
• Le protocole NTP(Network Time Protocol) utilise cette fonction
74
ICMP : Contrôle de congestion

• Le protocole IP étant un protocole en mode non connecté :


=> les passerelles ne peuvent réserver à l‟avance la quantité de mémoire
nécessaire au routage des datagrammes.
=> des datagrammes sont alors détruits.
• Cette situation de congestion se produit :
– lorsqu‟une passerelle est connectée à deux réseaux aux débits différents (elle
ne peut écouler au rythme imposé par le réseau le plus rapide),
– lorsque de nombreuses machines émettent simultanément des datagrammes vers
une passerelle.
• Pour palier ce problème, la machine peut émettre un message ICMP de limitation
de débit de la source (Source Quench) vers l‟émetteur.
• Il n‟existe pas de message d‟annulation de limitation de débit. La source diminue le
débit, puis l‟augmente progressivement tant qu‟elle ne reçoit pas de nouvelle
demande de limitation.

75
NAT(Network Address Translation): RFC 1631
• Quand un hôte situé à l’intérieur du réseau d’extrémité souhaite
émettre vers un hôte de l’extérieur, il transfère le paquet au
routeur périphérique frontière. Ce routeur périphérique frontière
effectue le processus NAT et traduit l‟adresse privée interne d‟un
hôte en une adresse publique externe routable. Deux techniques de
translation:
– Statique: associer une adresse IP publique à une adresse IP privée interne au
réseau. Le routeur permet donc d'associer à une adresse IP privée une
adresse IP publique routable sur Internet et de faire la traduction, dans un
sens comme dans l'autre, en modifiant l'adresse dans le paquet IP.
– Dynamique: permet de partager une adresse IP routable (ou un nombre
réduit d'adresses IP routables) entre plusieurs machines en adressage privé.
Ainsi, toutes les machines du réseau interne possèdent virtuellement, vu de
l'extérieur, la même adresse IP.

76
NAT statique

77
NAT statique
1. Etablir le mapping statique :
Router(config)#ip nat inside source static {@ IP locale} {@ IP globale}
2 . Définir les interfaces :
Router(config-if)#ip nat inside l‟interface connectée à l‟intérieur
Router(config-if)#ip nat outside l‟interface connectée à l‟extérieur

78
NAT dynamique
La fonction NAT dynamique est conçue pour mapper une adresse IP
privée sur une adresse publique. Une adresse IP quelconque prise dans
un groupe d‟adresses IP publiques est attribuée à un hôte du réseau.

79
Configuration du NAT dynamique
1 Définir une liste d‟@IP globales à allouer :
Router(config)#ip nat pool {nom_pool} {@ IP début} {@ IP fin} netmask {masque}
2 Définir une ACL standard autorisant les @ qui doivent être traduites.
3- Etablir la traduction dynamique
Router(config)#ip nat inside source list {n° ACL} pool {nom_pool}
4 Définir les interfaces :
Router(config-if)#ip nat inside l‟interface connectée à l‟intérieur
Router(config-if)#ip nat outside l‟interface connectée à l‟extérieur

80
PAT ou NAT surchargé: RFC 3022
• La fonction PAT utilise des numéros de port source uniques sur l‟adresse IP globale
interne, de façon à assurer une distinction entre les traductions.
• On utilise le PAT (Port Address Translation)
– Toutes les machines du réseau privé du site natté, auront pour unique adresse
l‟interface de sortie du routeur.
– Le routeur distinguera ces machines, en leur attribuant un port de communication.
– La table des traductions s'enrichit: (@IP locale interne, port 1, @ IP globale
interne, port 2).

81
Avantages/Inconvénients
• NAT statique
 Avantage:
 Accessibilité des machines (serveurs) sur Internet
 Inconvénient:
 Nécessite autant d'adresses externes que de machines en interne
 Utilisation:
 utiliser le NAT statique quand vous voulez rendre une application disponible sur Internet,
comme un serveur web, mail ou un serveur FTP.

• NAT dynamique
 Avantage:
 Sécurité : une machine n‟est pas joignable de l‟Internet
 Répondre au problème de pénurie d‟adresses

 Inconvénient:
 L‟existence de protocoles n‟utilisant pas la notion de port(ICMP, PP2TP, Netbios... )
 Utilisation:
 Donner un accès à Internet à des machines qui n'ont pas besoin d'être joignables de
l'extérieur (partage de l'ADSL )

82
III. Les algorithmes de routage

83
Routage des datagrammes IP
 Le routage est le processus permettant d'acheminer un
datagramme IP de son hôte émetteur jusqu'à son hôte
destinataire. Rappelons que chaque datagramme IP est
routé indépendamment des autres.
 Le routage est une fonction de la couche 3 qui permet
de déterminer le chemin dans un réseau maillé. Il
utilise:
une table de routage dans chaque nœud: contient
les informations pour atteindre le prochain nœud;
 un algorithme de routage: permet de calculer un
chemin optimal pour atteindre une destination
 L‟équipement qui réalise cette fonction est le routeur

84
Routage des datagrammes IP
 Lorsqu'un routeur IP reçoit sur l'une de ses interfaces une trame
physique, il en extrait le datagramme qu‟elle contient. Puis il met en
oeuvre un algorithme de routage utilisant une table de routage pour
déterminer dans quelle direction propager le datagramme.
 En fonction de l'adresse de destination IP contenue dans l'en-tête du
datagramme, il détermine vers quel réseau physique (parmi ceux
auxquels il est connecté) doit être routé le datagramme. Il encapsule
alors ce datagramme dans une nouvelle trame physique, puis émet
cette dernière sur ce réseau physique.
 Les tables de routage ne contiennent donc que des adresses réseau (ou
des adresses de sous-réseau).
• L'en-tête d'un datagramme en transit dans l'inter-réseau a toujours
comme adresse IP source celle de l'hôte émetteur du datagramme et
comme adresse IP destination celle de l'hôte destinataire.
• C'est au niveau de la trame physique (trame Ethernet par exemple) que
les adresses physiques source et destination changent à chaque passage
par un routeur.

85
Routage des datagrammes IP

 Un protocole routé (routable): ensemble de règles qui


permettent au routeur de transmettre des données entre
les ± noeuds du réseau. Il permet d‟attribuer un numéro
de réseau et un numéro d‟hôte à chacune des machines.
Il englobe les fonctions suivantes:
 Le plan d‟adressage pour permettre le transfert vers
le nœud suivant
 Le format et l‟usage des champs du paquet
Exp: IP, IPx de Novell, Apple Talk d‟Apple, XNS
de Xerox…
 NetBEUI n‟est pas routable

86
Routage des datagrammes IP
 Un protocole de routage: permet aux routeurs
d‟acheminer les paquets des protocoles routés en
choisissant le meilleur chemin. Les fonctions d‟un
protocole de routage sont:
 Il fournit les processus utilisés pour partager les
informations d‟acheminement(algorithmes)
 Il permet aux routeurs de communiquer entre eux afin de
mettre à jour et de gérer les tables de routage
 Exp: RIP(Routing Information Protocol), OSPF(Open
Shortest Path First), IGRP(Interior Gateway Routing
Protocol), …

87
Table de routage
Une entrée d'une table de routage contient cinq champs :
Network address, Subnet Mask, IP address. Metric, TTL
- Le champ Network address contient l'adresse IP d'un réseau ou d'un sous-réseau.
- Le champ Subnet Mask (Netmask) contient le subnet mask associé à Network address
- Le champ IP address(gataway address) contient :
soit l‟identificateur du prochain routeur dans la direction du réseau à atteindre.
soit la mention „Deliver Directly’, alors la machine est connectée sur le même
réseau physique que la machine destination.
- Le champ Interface: contient l‟adresse de l‟interface de sortie du routeur.

88
Exemple de table de routage

89
Routage des datagrammes IP

90
Familles d‟algorithme de routage

 Routage non adaptatif: basé sur des algorithmes


simples qui ne prennent pas en compte l‟environnement
d‟un réseau.
 Routage statique: chemin déterminé à l‟avance par
l‟administrateur de réseau

 Routage par inondation: propagation du paquet vers


tous les nœuds; pas de table de routage

 Routage local: se débarrasser rapidement du paquet


vers le nœud voisin Hot potatoes

91
Familles d‟algorithme de routage
 Routage adaptatif: routage dans le temps et dans l‟espace, basé
sur des alg complexes qui prennent en charge l‟environnement
d‟un réseau, avec MAJ périodique des tables de routage:

 Centralisé: les tables de routage de tous les nœuds sont


calculées dans un seul nœud : RCC(Routing Control Center)
 Réparti: les tables de routage sont calculées dans chaque
nœud; échange périodique des tables de routage entre les
nœuds voisins
 Hiérarchique: découper les grands réseaux en zones(area).
Chaque nœud  à une zone et connaît les nœuds  à la même
zone. Ces zones sont appelées AS(Autonomos System).
 Le routage dans une zone est appelé IGP(Interior Gateway Protocol).
 Le routage entre zones est appelé EGP/ BGP(Exterior/Border
Gateway Protocol).

92
Systèmes autonomes

93
Métrique (Metric)
 Les algorithmes de routage utilisent différentes
métriques pour déterminer le chemin optimal
 Les valeurs des métriques faibles indiquent le meilleur
chemin
 Les métriques peuvent être calculées sur la base d‟une
seule caractéristique de chemin, ou sur la base de
plusieurs:
 Débit(bande passante): nbre de bits/s
 Délai nécessaire à l‟acheminement des paquets
 Charge: quantité de trafic sur une liaison ou un routeur
 Fiabilité: taux d‟erreurs sur la liaison
 Nombre de sauts: nbre de routeurs par les quels un paquet
doit passer
 Distance: distance qui sépare les nœuds

94
Algorithmes à vecteur de distance
• Chaque routeur commence par identifier ses voisins
• Chaque routeur maintient une table de routage pour toutes les destinations :
Destination, Nœud suivant, Distance
– Distance: Nombre de sauts, délai, …
– Distance peut être infinie si aucune route n‟est connue
• Le routeur connaît la distance qui le sépare de ses voisins directs
– Les mises à jour (updates) se font directement entre voisins
– Les voisins échangent les routes connues
– Périodiquement ou quand la table change (appelé “triggered update”)
 Algorithme Bellman-Ford (Routage par rumeur)
– Le routeur X connaît la distance d(X,Y) vers ses voisins Y
– Initialement, la distance D(X,n) vers la destination n est
• D(X,n) = 0, si X est directement connecté au réseau n
• D(X,n) = ∞ pour toutes les autres destinations
– Le routeur X reçoit le vecteur des distances {D(Y,n)} du voisin Y vers tous les n
– Le routeur X calcule la meilleure distance vers la destination n:
• D(X,Yn) = min(d(X,Y) + d(Y,n)) avec Y voisin de X
95
Algorithmes à vecteur de distance
 Algorithme distribué:
 Chaque routeur reçoit la table de routage de ses voisins
 Chaque routeur connaît ou estime le coût pour atteindre chacun de ses
voisins
 A l‟aide de ces informations, chaque routeur pourra construire sa propre
table
 Implémentent généralement une technique appelée découpage
d‟horizon (Split Horizon). Le découpage d‟horizon empêche l‟envoi
d‟informations via l‟interface qui les a envoyées (de métrique plus
élevée).
 Exemple: voir exercice 1
 Avantages: algorithme simple, facile à mettre en
œuvre(processeur léger)
 Inconvénients: trafic important et convergence lente

96
RIP et IGRP
 Routing Information Protocol (RIP)
 utilisé sur Internet, normalisé par IETF: RFC 1058
 basé sur le nombre de sauts comme métrique
 Le nombre de saut est limité à 15 pour limiter le tps de convergence
 Annonce toutes les 30s(par défaut) en broadcast
 Si un routeur ne reçoit rien au bout de 180 s (Invalid timer), la route est déclarée
inaccessible
 simple, mais ne s‟adapte pas aux grands réseaux
 RIP v2 prend en charge le VLSM et CIDR, envoi des MAJ en multicast (224.0.0.9)
 RIP v2 gère l‟authentification des messages
 RIP v3 (RIPng) supporte IPv6
 Interior Gateway Routing Protocol (IGRP) : alg vecteur de distance
– Enhanced IGRP (EIGRP) remplace IGRP
 propriétaire Cisco
 Protocole à vecteur de distance avancé, hybride:
 Découverte de voisins avec l‟@ Multicast 224.0.0.10
 Echange de tables de routage chaque fois qu‟il y a une nouvelle relation de voisinage
 basé sur une métrique qui combine: bande passante, charge, délai et fiabilité
avec M= F*(k1/D*(1-C) + k2/T) . K1 et k2 des coefficients de pondération
 adapté aux grands réseaux
97
Algorithmes à État de liens
• Chaque routeur doit périodiquement effectuer les opérations suivantes:
1. Découvrir ses voisins et apprendre leur adresse respective
2. Déterminer la distance vers chacun des voisins
3. Construire un paquet contentant l‟information apprise
4. Envoyer ce paquet spécial à tous les autres routeurs du sous-réseau
5. Calculer le plus court chemin vers tous les autres routeurs
• Un routeur apprend alors la topologie complète du réseau
• Un routeur envoie périodiquement des messages Hello(224.0.0.5) sur toutes
les lignes de sortie
• Un routeur voisin répond avec
– son nom,
– son adresse IP, …
– Ainsi, un routeur détecte rapidement l‟état des liens de sortie (up, down)
• Calcul du plus court chemin: algorithme de Dijsktras

98
Algorithmes à État de liens
• Chaque routeur construit des paquets contentant l‟information
sur l‟état des liens locaux (LSP: link state packet)
 Les LSP d‟un routeur sont diffusés dans le réseau entier
 Efficace afin que tous les équipements de routage puissent
créer des bases de données transcrivant de manière précise la
topologie du réseau et mettre à jour leur table de routage ;
 Assure l‟équilibrage de charge: quand deux chemins ont la
même métrique, il partage le trafic sur les 2 chemins

 Les algorithmes à état de liens se servent généralement de leurs


bases de données pour créer des entrées dans la table de routage
qui privilégient le chemin le plus court

 Complexe et consomme bcp de CPU

99
Algorithmes à État de liens
 Algorithme distribué, basé sur un graphe valué[Dijkstras]:
 Un nœud du graphe représente un nœud du réseau et le lien entre 2
nœuds est représenté par un arc
 L‟alg consiste à trouver le plus court chemin entre une source et une
destination
 Chaque nœud est étiqueté par sa distance au nœud source en suivant le
meilleur chemin connu
 Un nœud est représenté par étiquette provisoire ou permanente:
1. On commence avec le nœud source: il a une étiquette permanente et sa
distance au source est nulle. C‟est le nœud actif
2. Tous les nœuds adjacents au nœud actif sont examinés
3. Chaque nœud est étiqueté en indiquant le meilleur chemin au nœud source et
la liaison à utiliser pour l‟atteindre
4. A chaque tour, le nœud actif est celui qui, parmi tous les nœuds étiquetés du
réseau, a la valeur la plus faible vers le nœud source. Son étiquette devient
alors permanente
5. On recommence au point 2 avec le nouveau nœud actif
6. L‟alg s‟arrête quand l‟étiquette du nœud destination est permanente
100
Algorithmes à État de liens
 OSPF (Open Shortest Path First)
 Mis au point par l‟IETF
 Utilisé pour les grands réseaux
 Protocole de routage interne à état de lien
 La métrique est le débit (108/Débit)
 Version 2 et version 3
 Les grands réseaux OSPF utilisent une conception hiérarchique.
Plusieurs zones se connectent à une zone de distribution, la zone 0,
également appelée backbone.
 IS-IS (Intermediate System-to-Intermediate System)
 normalisé par ISO(ISO 10589)
 Utilisé pour les protocoles routés autres que IP
– Afin de construire sa topologie, IS-IS utilise 3 types de
messages:
• les messages HELLO permettant de construire les adjacences;
• les messages LSP (Link State Protocol) permettant d'échanger les
informations sur l'état des liens;
101
Routage EGP: BGP
• Un système autonome(AS) correspond à un domaine de routage sous le
contrôle d‟une autorité d‟administration unique.
• Les différents AS composant l‟Internet doivent s‟échanger leur information
d‟accessibilité
• Chacun des routeurs de bordure doit d‟une part, établir une connectivité, et
d‟autre part, informer son voisin des réseaux qu‟il sait atteindre par
l‟intermédiaire d‟un protocole de routage inter-domaine(EGP)
• Actuellement Internet met en œuvre BGP4. Les informations de routage
échangées comprennent:
– Le numéro de AS
– La liste de réseaux de chaque SA et la distance relative vers chacun des
sous-réseaux de l‟AS;
– L‟@ IP du routeur d‟accès à ces réseaux.
• La métrique annoncée est un coût forfaitaire(distance arbitraire) car chaque
AS peut utiliser une métrique différente en interne.
• Les administrateurs peuvent alors favoriser le transit par tel ou tel réseau en
fonction d‟accords commerciaux ou autres.

102
Distance administrative(DA)

Protocole Distance Administrative


Interface connectée 0
Route Statique 1
Route sommaire EIGRP 5
BGP 20
Route interne EIGRP 90
IGRP 100
0SPF 110
IS-IS 115
RIP 120
Route externe EIGRP 170
Inconnu 255

103
VI. Les protocole TCP et UDP

104
TCP(Transmission Control Protocol)
• Transport fiable de la technologie TCP/IP.
– fiabilité
– connexions bidirectionnelles et simultanées

• Service en mode connecté


• Les services offerts par TCP sont:
– Segmentation des données d'application de couche supérieure.
– Établissement d'une connexion de bout en bout.
– Transport des segments d‟un hôte d‟extrémité à un autre.
– Contrôle du flux assuré par les fenêtres glissantes.
– Fiabilité assurée par les numéros de séquence et les accusés de
réception.
• TCP est utilisé par des applications tels que: HTTP, FTP, SMTP,…

105
TCP : Segment
• Segment : unité de transfert du protocole TCP.
– Échangé pour établir les connexions,
– transférer les données,
– émettre des acquittements,
– fermer les connexions;
0 4 10 16 24 31
Port source Port destination
Numéro de séquence
Numéro d’acquittement
HLEN réservé Codes fenêtre
Checksum pointeur urgence
Options éventuelles padding
Données . . .
106
TCP : Format du Segment
• Port source: numéro du port qui envoie les données.
• Port de destination: numéro du port qui reçoit les données.
• Numéro de séquence: valeur aléatoire définie et acquittée par les 2 systèmes lors de la
phase de connexion, ensuite il indique le rang du premier octet du segment transmis
• Numéro d'accusé de réception: accuse réception du segment en indiquant le numéro
du prochain octet attendu
• HLEN: nombre de mots de 32 bits contenus dans l'en-tête.
• Réservé: champ réglé sur zéro.
• Fenêtre: nombre d'octets non acquittés
• Somme de contrôle: somme de contrôle des champs de données et d'en-tête en
utilisant
• Pointeur d'urgence: indique la fin des données urgentes
• Option: une des options actuellement disponibles est la taille maximale d'un segment
TCP (MSS – Maximum Segment Size ), facteur d‟échelle de fenêtre(Window
scale),…
• Données: données de protocole de couche supérieure.
• Bits de code: fonctions de contrôle, telles que l'ouverture et la fermeture d'une
session(SYN, ACK, URG,RST, PSH, FIN)

107
TCP : Format du Segment
• CODE BITS : indique la nature du segment :

– URG : le pointeur de données urgentes est valide, les données sont émises sans
délai, les données reçues sont remises sans délai.

– SYN : utilisé à l‟initialisation de la connexion pour indiquer où la numérotation


séquentielle commence;

– FIN : utilisé lors de la libération de la connexion;

– Ack: indique que le segment est un acquittement;

– PSH : fonction push. Normalement, en émission, TCP reçoit les données depuis
l‟applicatif , les transforme en segments à sa guise puis transfère les segments sur
le réseau; un récepteur TCP décodant le bit PSH, transmet à l‟application
réceptrice, les données correspondantes sans attendre plus de données de
l‟émetteur. Exemple : émulation terminal, pour envoyer chaque caractère entré au
clavier (mode caractère asynchrone).
– RST : utilisé par une extrémité pour indiquer à l‟autre extrémité qu‟elle doit
réinitialiser la connexion. Ceci est utilisé lorsque les extrémités sont
désynchronisées.

108
Ports
• les adresses IP désignent les machines entre lesquelles les communications
sont établies. Lorsqu'un processus désire entrer en communication avec un
autre processus, il doit adresser le processus s'exécutant sur cette machine.
• Numéro de port compris entre 1 et 65535
– ports < 1024 (ports well known)= port système ou ports bien connus (une
application peut utiliser plusieurs ports (par exemple ftp 20 et 21)
– Ports dynamiques ou éphémères: entre 1024 et 49150 pour les ports source
– Ports privés > 49150 sont destinés à des applications spécifiques à des
fournisseurs
• L'émission d'un message se fait sur la base d'un port source et un port
destinataire.

• Les processus disposent d'une interface système leur permettant de spécifier


un port ou d'y accéder (socket, ...).
• SOCKET = Combinaison @IP + N° de port

109
TCP : ports standards

Protocole Application Protocol transport N°port


TFP- Data TCP 20
FTP- Control TCP 21
SSH(Secure Shell) TCP 22
Telnet TCP 23
SMTP TCP 25
DNS TCP/UDP 53
TFTP UDP 69
HTTP TCP 80
IMAP TCP 143
POP3 TCP 110
DHCP TCP/UDP 56

110
TCP : La connexion
• une connexion de type circuit virtuel est établie avant que les données ne soient
échangées : appel + négociation + transfert

• Une connexion = une paire d'extrémités de connexion


• Une extrémité de connexion = couple (adresse IP, port)
• Exemple de connexion : ((124.32.12.1, 1034), (19.24.67.2, 21))
• Une extrémité de connexion peut être partagée par plusieurs autres extrémités
de connexions (multi-instanciation)
• La mise en œuvre de la connexion se fait en deux étapes :
– une application (extrémité) effectue une ouverture passive en indiquant
qu'elle accepte une connexion entrante,
– une autre application (extrémité) effectue une ouverture active pour
demander l'établissement de la connexion.

111
TCP : connexion

Une connexion TCP est établie en trois temps de manière à assurer la


synchronisation nécessaire entre les extrémités :

TCP source TCP destination

Syn seq=x

Syn seq=y,ack=x+1

Ack y+1

Ce schéma fonctionne lorsque les deux extrémités effectuent une demande


d'établissement simultanément. TCP ignore toute demande de connexion, si
cette connexion est déjà établie. 112
TCP : déconnexion
• Une connexion TCP est libérée en deux temps
• Sachant que la communication est bidirectionnelle, le tiers qui demande la
fin de connexion (il n‟a donc plus d‟information à envoyer) doit attendre
que l‟autre tiers lui envoie sa demande de déconnexion

TCP source TCP destination

Fin seq=x

ack=x+1
+ fin-> applicatif
Données

Applicatif -> close


Fin seq=y ack=x+1
Ack y+1

113
TCP : Segmentation
• Segmentation
– Les données transmises à TCP constituent un flot d'octets de longueur n  MSS
négocié à l‟ouverture de connexion.
– TCP divise ce flot de données en segments
– TCP numérote chaque segment, le numéro de segment est le numéro du 1er octet
du segment

• Acquittement de messages
– TCP garantit l'arrivée des messages, c'est à dire qu'en cas de perte, les deux
extrémités sont prévenues.
– Ce concept repose sur les techniques d‟acquittement de message : lorsqu'une
source S émet un message Mi vers une destination D, S attend un acquittement
Ai de D avant d'émettre le message suivant Mi+1.
– Si l‟acquittement Ai ne parvient pas à S, S considère au bout d'un certain temps
que le message est perdu et re-émet Mi
– TCP n‟acquitte que les segments correctement reçus
114
TCP : Technique de fenêtrage
• Le récepteur a la possibilité d‟indiquer à l‟émetteur la taille maximale des données qu‟il
peut traiter (taille de la fenêtre)

• Une fenêtre à 0 invite l‟émetteur à stopper l‟émission


• Afin de maintenir la connexion, l‟émetteur peut envoyer 1 octet régulièrement
• Le récepteur ignore cette donnée mais répond en indiquant de nouveau la taille de la
fenêtre
• La fenêtre permet également au destinataire de faire diminuer le débit de l'émetteur donc
de gérer le contrôle de flux.
• Le mécanisme de fenêtrage mis en œuvre dans TCP opère au niveau de l'octet et non pas
au niveau du segment
• Une fenêtre de w indique le nombre d‟octets que le récepteur peut traiter
• La taille de la fenêtre peut varier pendant le transfert

1 2 3 4 5 6 7 8 9 10 11 . . .

Octets émis et Octets émis et Octets Octets non émissibles


acquittés non acquittés émissibles tout de suite.
115
TCP : acquittements
Acquittements et retransmissions
• Le mécanisme d‟acquittement de TCP est cumulatif :
– il indique le numéro de séquence du prochain octet attendu : tous les octets
précédents cumulés sont implicitement acquittés
– Si un segment a un numéro de séquence supérieur au numéro de séquence
attendu (bien que dans la fenêtre), le segment est conservé mais
l‟acquittement référence toujours le numéro de séquence attendu.
• Pour tout segment émis, TCP s‟attend à recevoir un acquittement
– Si le segment n‟est pas acquitté, le segment est considéré comme perdu et
TCP le retransmet.
– Or un réseau d‟interconnexion offre des temps de transit variables
nécessitant le réglage des temporisations;
– TCP gère des temporisations variables pour chaque connexion en utilisant
un algorithme de retransmission adaptative

116
Fenêtre=900 Segment=300

TCP source TCP destination


Seq=3
Envoi de 300 octets
Seq=303 Ack=303
Envoi de 300 octets

Seq=603 Attente de 303


Attente car Envoi de 300 octets
f = 900
Ack=303

Seq=303 Peut être


Envoi de 300 octets conservé ==>
Seq=603 peut ne pas
être réémis
Envoi de 300 octets
car acquitté
Ack=903
entre temps
117
Time out adaptatif pour la retransmission
• TCP calcule continuellement le temps que mettent les
acquittements pour revenir et adapte le timeout en
conséquence
• Temps aller-retour:
– Round Trip Time (RTT) = "Receive Time of Ack" – "Sent
Time of Segment
• TCP calcule d'abord une moyenne pondérée du temps
aller-retour (SRTT=Smoothed RTT):
– SRTT(n) := α·SRTT(n-1)+(1- α)·RTT(n) avec α [0,1]
• Le délai d'attente (time out) pour une retransmission
(RTO) est calculé ainsi:
– RTO(n) := β·SRTT(n) avec β· 2…4

118
Contrôle de congestion
• TCP utilise les timers pour détecter toute congestion potentielle dans le réseau
qui peut engendrer:
– La perte de paquets(débordement des routeurs);
– Délais importants (file d‟attente dans le routeur)
• TCP gère deux fenêtres dépendantes l‟une de l‟autre:
– fluxwin: fenêtre de contrôle de flux
– congwin : fenêtre de congestion
• L‟émetteur limite ses émissions à la plus petite des deux:
– W_émission = Min[W_flux, W_cong]
• Pour contrôler la congestion, TCP adopte 2 phases:
– Slow start(après établissement de la connexion): démarrage lent avec
congwin=1
• Pour chaque segment acquitté congwin++ jusqu‟à perte de paquet ou
atteinte de seuil max
– Eviter la congestion: seuil = congwin/2 et congwin= 1 et augmenter le
RTO(double sa valeur) pour les segments restants 119
UDP : User Datagram Protocol

• UDP : protocole de transport sans connexion de service


applicatif :
– émission de messages applicatifs : sans établissement de
connexion au préalable
– l'arrivée des messages ainsi que l‟ordonnancement ne sont
pas garantis.
• Donc communication simple, non fiable mais rapide
– Application temps réel (flux vidéo, audio)
– Application assurant la fiabilité: RPC(Remote Procedure
Call) utilisé par NFS sous UNIX pour le partage de fichiers
– Echange de messages courts : DNS, TFTP, DHCP

120
UDP : Format des segments
Les messages UDP sont également appelés des datagrammes UDP.
Ils contiennent deux parties : un en-tête UDP et les données UDP.

Le port source est facultatif (égal à zéro si non utilisé).

La longueur du message est exprimée en octets (8 octets au min) (en-


tête + données), le champ de contrôle est optionnel (0 si non utilisé).

121
Les limitations d‟IPv4 ...

• Fin 2003: 1,3 milliards d‟@ non allouées


– Mais forte croissance Internet (15 à 20%/an) du
fait de nouveaux entrants (Asie)
– Épuisement du stock prévu en 2015
• Répartition géographique inégale des @
allouées:
– Zone américaine: 74%
– Zone européenne: 17%
– Zone asiatique: 9%

Pour l’Europe et l’Asie c’est un


enjeu stratégique
Pourquoi un nouveau Protocole IP ?

● L'espace d'adressage limitant les possibilités de croissance d'Internet.


● La complexité croissante des tables de routage( 250 000 routes). Le routage
IPv4 n‟est pas hiérarchique
● L'absence de mécanismes permettant d'assurer la sécurité des échanges et la
qualité de service.
● Donc 
 Développement d'IPv6(ou IPng) a commencé vers 1993
 IPv5: pour les communications temps réel mais non retenu
 SIP: Simple IP
 SIPP: Simple IP Plus

 Début de la normalisation par l'Internet Engineering Task Force (IETF)


vers 1999.
Objectifs
• Remédier aux problèmes de pénurie d'adresses
• Simplifier le traitement des routeurs(dimensionnement des tables
de routage)
• Ajouter de nombreuses fonctionnalités optionnelles d'IPv4:
– Auto configuration (surtout pour les objets sur internet)
– Gestion de la QOS(Pas nouveau!!)
– Mobilité(pas nouveau!!)
– Multicast
– Sécurité (Authentification et confidentialité)(pas nouveau!!)
• Le véritable défi auquel IPv6 doit faire face est d'apporter une
solution qui résout non seulement les problèmes d'aujourd'hui
mais qui soit aussi en mesure d'appréhender ceux de demain
particulièrement dans les marchés émergeants.
Espace d'adressage étendu…
• Adresse plus longue: 128 bits (16 octets)
– Adressage de 3,4*1038 équipements (des milliards d‟@ par m2
de surface terrestre). Une adresse pour chaque grain de sable
– Adressage hiérarchique (agrégé)
– Adressage permettant l‟identification et la localisation
– Plusieurs adresses pour une interface
– Une partie de l‟@ peut être l‟@MAC  Auto configuration
• 3 types d‟adresses
– Unicast
– Multicast
– Anycast
– Pas d‟adresses de broadcast en IPv6
Format des adresses
 Exemples d'adresses:
● IPv4: sous la forme numérique: "x.x.x.x" où x
représente les valeurs décimales (entre 1 et 255) des
4 portions de 8 bits de l'adresse (par exemple
192.168.1.1),
● IPv6: sous la forme numérique préférée:
"x:x:x:x:x:x:x:x" où x représente les valeurs
hexadécimales des 8 blocs de 16 bits de l'adresse
par exemple
5f06:b500:89c2:a100:0000:0800:200a:3ff7
Format des @ IPv6

0 127
Subnet prefix Interface Identifier

n bits (64 bits max) 128-n bits (64 bits max)

- Préfixe et Interface Identifier sur 64


bits Max

Plusieurs - Préfixe: notation CIDR pour désigner


formats pour le les subnets: @IPv6/taille préfixe
préfixe - Interface Identifier: @MAC au
format IEEE EUI 64(Code constructeur
24 bits + N° de série 40 bits)

- Une @ Ipv6 n‟a de sens que si l‟équipement est connecté à un réseau


- Si l‟emplacement de l‟équipement change, l‟@ devra changer
Format des adresses IPv6
 Notation canonique hexadécimale complète en 8 blocs de 16 bits
 Exp: FE0C:DA98:0000:0000:0000:0000:5645:376E
 FE0C:DA98:0:0:0:0:5645:376E
 Notation hexadécimale simplifiée: on remplace une succession
de 0 par ::
 Exp: FE0C:DA98::5645:376E
 Notation avec préfixe: une notation similaire à celle du CIDR.
Une adresse fait partie d‟un réseau dont le préfixe est de
longueur déterminée (netmask <= 64), @IPv6/taille_préfixe
 Exp: FE0C:DA98::/ 32 le préfixe du réseau est sur 32 bits
 Notation avec [] pour les browsers:
[2001:660:3003:2a00:20FF:FE:18:964C]
 Adresses particulières:
 :: @ inconnue
 ::1 @local host
Plan d'adressage unicast global: RFC 3587
• L‟adresse Unicast est définie par 3 champs (adressage agrégé):
– Préfixe de 3 bits: définissent le format du préfixe d‟@ :
001 plan agrégé
– TLA(Top Level Agregator): sur 13 bits agrégat de niveau supérieur,
identifie un organisme public tel qu‟un grand opérateur national
– Res: 8 bits réservés pour éventuellement augmenter les champs TLA ou
NLA;
– NLA(Next Level Agregator): sur 24 bits identifie un opérateur réseau
intermédiaire tel un FAI
– SLA(Site Level Agregator): sur 16 bits décrit la topologie locale du site.
Longueur fixée pour assurer la compatibilité des sites si changement de
FAI, …
– EUI(End User Identifier): identificateur de l‟interface user sur 64 bits.
Plan d'adressage global

Domaine public Site Interface locale

Pref TLA Res NLA SLA Ident_Interface

3 bits 13 bits 8 bits 24 bits 16 bits 64 bits


Allocation des adresses IPv6 publiques
– Le 6bone est un réseau expérimental créé pour tester le
déploiement de l'IPv6. Il s'étend en Asie, Amérique, Australie
et en Europe.
– Juin 1998: ouverture du 6bone. adresses IPv6 utilisées par ce
réseau sont regroupées par leur préfixe commun 1FFE et
3FFE.
– Janvier 2004: arrêt d 'attribution des adresses en 3FFE.
Désormais, on obtient des adresses définitives commençant
par 2001.
– Juin 2006: fermeture du 6bone.
• RFC 2450 affecte à Internet IPv6 le TLA 2001::/16, (préfixe
détenu par l‟IANA)  Réseau agrégé (001)
• IANA délègue des sous TLA de 13 bits aux 5 autorités régionales
(RIR: Regional Internet Registry)
Adresses unicast globales

http://www.iana.org/assignments/ipv6-tla-assignments
Plan d‟adressage agrégé
 Pour obtenir un préfixe TLA de 48 bits en Europe :
– S‟adresser au RIPE et remplir le formulaire RIPE-195
• www.ripe.net et l‟envoyer à hostmaster@ripe.net
– Être un opérateur IPv4 avec au moins 3 peering actif avec
d‟autres AS
– Avoir au moins 40 clients IPv4 ou une expérience sur le
réseau test 6bone
– Envisager d‟offrir des services IPv6 dans les 12 prochains
mois
 Début 2000 : 124 TLA ont déjà été attribués au niveau
international.
 Un TLA peut allouer plus de 68,7 millions de préfixes réseaux
IPv6
Allocation des adresses unicast
• IANA délègue des blocs d'adresses IPv6 aux RIR en /23
• Les RIR délèguent aux LIR des blocs d'adresses IPv6 en /32
• Les LIR assignent des préfixes aux utilisateurs en /48
• IAM et CNRST les 2 premiers LIR au Maroc ayant obtenu des blocs d‟@
IPv6 Rabat
• Exemple 2: Marwan3
2001:4310:0100::/40
Univ. Mohamed V - Agdal Univ. Mohamed V - Souissi

2001:4310:0110::/44 2001:4310:0120::/44

2001:4310:0113::/48 2001:4310:0112::/48
Faculté des Sciences
Faculté des Lettres et
des Sciences Humaines
Adresse de lien local
Adresses Multicast

8 bits 4 bits 4 bits 112 bits

11111111 Flag Scope Group ID

Scope: portée de la diffusion


0: réservé
FF00
Flag: type d’@ :000T 1: Node local FF01
T= 0 @ Multicast 2: Link local FF02
permanente(routage,
3: Subnet local FF03
liens,…)
4: Admin locale FF04
T= 1 @ Multicast
temporaire (exp: 5: Site local FF05
visioconférence)
8: Organisation-Locale FF08
E: Global FF0E
Adresses Multicast
• Adresses multicast pré-attribuées par l‟IANA:
– FF01::1 Toutes les interfaces du nœud
– FF01::2 Toutes les interfaces du routeur
– FF02::1 Tous les nœuds du lien
– FF02::2 Tous les routeurs du lien
– FF02::5/6: routeurs OSPF du lien
– FF02::9: routeurs RIP du lien
– FF02::1:2: agents relai DHCP
– FF02::A: routeurs EIGRP
– FF02::B: agents mobiles
– FF05::1:3: tous les serveurs DHCP du site
– FF0E:0:0:0:0:0:0:101: tous les serveurs NTP sur tout l‟Internet
• Liste complète: http://www.iana.org/assignments/ipv6-
multicast-addresses
Adresses Multicast
• Les routeurs ne doivent pas router des paquets au delà du
scope indiqué dans le champ approprié.
• Une adresse multicast non permanente est dépendante de la
valeur de scope.
Adresses Multicast
• Deux types d‟@ multicast permanentes sont à
distinguer:
– Des @ correspondants à des services de niveau
réseau (routage, DHCP6, agent mobile,…)
– Des @ correspondants à des services applicatifs
commerciaux comme la distribution des chaînes de
TV.
• Pour les @ de type lien local ou multicast, qui ne
permettent pas de désigner, sans ambiguïté, l‟interface
de sortie, il est nécessaire de la spécifier en ajoutant à la
fin le nom de l‟interface voulue, précédée du caractère
% (BSD, Mac OS, Windows)

S-ar putea să vă placă și