Documente Academic
Documente Profesional
Documente Cultură
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.
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
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
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
ICMP
Packet Datagrammes 3 RESEAU
IP
ARP RARP
Trames 2 Liaison de données
21
22
La couche transport
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
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
• 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
• 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
• 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)
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
39
Planification 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é
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
Précédence D T R Inutilisé
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
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
Données spécifiques . . .
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
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.
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
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
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:
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
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)
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
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.
– 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.
109
TCP : ports standards
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
111
TCP : connexion
Syn seq=x
Syn seq=y,ack=x+1
Ack y+1
Fin seq=x
ack=x+1
+ fin-> applicatif
Données
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)
1 2 3 4 5 6 7 8 9 10 11 . . .
116
Fenêtre=900 Segment=300
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
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.
121
Les limitations d‟IPv4 ...
0 127
Subnet prefix Interface Identifier
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