Bases des rseaux IP
Phil Regnauld
Interconnexion de rseaux
Interconnexion de rseaux
Plusieurs petits rseaux
Supports diffrents:
etherrnet, lignes spcialises, RTC, ATM, Frame Relay, FDDI
Chaque support ses propres rgles daddressages et ses protocoles
Comment les relier entre eux et fournir une vue unifie du tout ?
Unification par la couche rseau
Dfinir un protocol qui fonctionne de la mme manire quel que soit le
support sous-jacent
Appelons celle-ci la couche rseau
Les routeurs IP fonctionnent la couche rseau
Des mthodes sont dfinies pour utiliser:
IP sur ethernet
IP sur ATM
IP sur FDDI
IP sur ligne srie (PPP)
IP au dessus de tout... (RFC 1149)
Le modle en sablier ("hourglass model")
Couches rseau
Trame, Datagramme, Segment, Paquet
Diffrents noms pour les paquets diffrents niveaux
- Ethernet (lien physique): trame
- IP (couche rseau): datagramme
- TCP (transport): segment
La terminologie nest pas strictement respecte
On utilise souvent le terme "paquet" tous les niveaux
Fonctions des couches dans la pile protocole
Couche 1: couche physique
Couche physique
Transmets des bits en utilisant du courant lectrique, lumire, ondes radio,
etc...
Pas de concept doctets ou de trames.
Les bits sont dfinis par des niveaux de tension, ou autre proprit
physique similaire:
Couche 2: donnes
Regroupe les bits en trames, achemine les trames entre les stations sur un
mme lien
Une trame a un dbut, une fin et une taille
utilisation de certaines valeurs pour dlimiter dbut/fin
Dispose souvent dune adresse source et destination sur le lien (ex:
adresse MAC ethernet)
Certains types de liens dtectent les trames corrompues
Certains types de liens relayent les trames corrompues (pas ethernet)
Couche 3: rseau (Ex: IP)
Un espace dadressage pour tout le rseau dinterconnexion
Ajoute une couche dadressage supplmentaire
ex: adresse IP != adresse MAC
nous avons donc besoin dun mcanisme de correspondance entre
adresses de niveau diffrents
Non fiable (meilleur effort)
si les paquets sont perdus, la couche rseau ne sen soucie pas
cest le rle des couches suprieures de retransmettre les paquets
perdus
"robuste mais non fiable"
Couche 3: rseau (IP -- suite)
Retransmet les paquets saut par saut (hop by hop forwarding)
les paquets de la couche rseau sont encapsuls dans une trame de la
couche donnes
diffrentes formes dencapsulation sur diffrents type de liens
possibilit denvoyer sur un lien, retransmettre sur un autre
Il peut y avoir de nombreux sauts entre la source et la destination
Couche 3: rseau (IP -- suite)
Prend des dcisions de routage
comment envoyer un paquet plus prs de sa destination finale ?
les tables de routage et de retransmission reprsentent la
"connaissance" de la topologie du rseau
les routeurs peuvent discuter entre eux pour changer des informations
sur la topologie du rseau
Couche 4: transport (ex: TCP)
Transport bout en bout des segments
encapsulation des segments TCP par la couche rseau
ajoute la fiabilit en dtectant et remettant les paquets perdus
utilise les acquittement et le numros de squence pour tenir compte des paquet transmis avec
succs, transmis dans le dsordre ou perdus
des compteurs permettent de faire la diffrence entre la perte de paquet et les dlais
UDP est beaucoup plus simple: pas de fiabilit
Couches 5,6,7
5: Session
pas utilise dans le modle TCP/IP
6: Prsentation
pas utilise dans le modle TCP/IP
7: Application
Utilise les couches sous-jacentes
ex: SMTP (mail), HTTP (web), Telnet, FTP, DNS
Interaction des couches (1)
Interaction des couches (2)
Interaction des couches (3)
La couche application est bout-en-bout
La couche transpart est bout-en-bout
Encapsulation/dcapsulation par la couche rseau aux extrmits
Couche rseau stend tout le rseau dinterconnexion
Encapsulation/dcapsulation par la couche rseau chaque saut
Les couches physiques et de donnes peuvent-tre diffrentes chaque
saut:
(ethernet, token ring, ppp, fibre...)
Encapsulation
Les couches infrieures ajoutent des en-ttes (et quelquefois
des suffixes) aux donnes des couches suprieures
Couche 2: Trame Ethernet
+---------+--------+--------+----------+------+=========+---------+
| En-tte | Dest. | Source | Longueur | Type | Donnes |
CRC
|
+---------+--------+--------+----------+------+=========+---------+
6 octets 6 octets 2 octets 2 oct. 46-1500 oct. 4 oct.
Destination et source sont des adresses MAC sur 48 bits (6 octets)
Le type de valeur 0x0800 indique que la partie donnes de la trame donn
es contient un datagramme IP. Le type 0x0806 indique ARP.
Couche 3: datagramme IP
Version = 4
Si pas doption, IHL (IP Header Length) = 5
Adresses IP Source et destination sont sur 32 bits
Couche 4: segment TCP
Les ports source et destinations TCP sont sur 16 bits
(Ladresse IP est spcifie dans len-tte IP)
Si pas doptions, la valeur du dcalage des donnes (data offset) = 5
But dune adresse IP
Identification unique
Source (quelquefois utilis dans le filtrage)
Destination (pour que le rseau sache o envoyer les donnes)
Format rseau indpendant (ordre des octets)
IP au dessus de tout
Structure de base dune adresse IP
Nombre sur 32 bits (4 octets, donc 0-255, 0-255, 0-255, 0-255)
ex: [Link]
Reprsentation dcimale
|
84
|
201
95
100
Reprsentation binaire
| 01010100 | 11001001 | 01011111 | 01100100 |
Reprsentation hxadcimale
|
54
|
C9
Exercice adressage
5F
64
Exercice adressage
Construire une adresse IP pour relier votre PC au backbone
84.201.95.x
(x = 1 pour la 1re table, 2 pour la 2me, et ainsi de suite)
Ecrire cette adresse sous forme dcimale ainsi que binaire
Adressage dans les rseaux dinterconnexions
(Internets) (1)
Plus dun rseau physique
Diffrentes localits
Plus grand nombre de machines
Besoin de structure dans les adresses IP
partie rseau indique de quel rseau on parle dans le rseau
dinterconnexion
partie hte identifie la machine sur ce rseau
Adressage dans les rseaux (2)
Division hirarchique des adresses IP
Partie rseau (prfixe)
indique quel rseau physique
Partie hte (adresse de la machine)
indique quelle machine sur ce rseau
+--------------------------------||----------+
|
84
.
201
.
95
||
1
|
+--------------------------------||----------+
| 01010100 | 11001001 | 01011111 || 00000001 |
+--------------------------------||----------+
\_______________ ______________/ \____ ___/
V
V
rseau
hte
La frontire peut se situer nimporte o
TRES souvent elle nest PAS un multiple de 8 bits!
Masques rseau (netmask)
Indique quels bits sont utiliss pour dcrire la partie rseau
Plusieurs reprsentations:
notation dcimale point: [Link]
binaire: 11111111 11111111 11100000 00000000
<------------------->
longueur du masque
nombre de bits: / 19
hxadcimale: 0xFFFFE000
Lopration binaire AND de ladresse IP 32 bits avec le netmask donne la
partie rseau de ladresse
Exemple de prfixes
[Link]/17 (netmask [Link])
1111 1111
1111 1111
1 || 000 0000
0000 0000
--------------------------||--------------------1000 1001
1001 1110
1 || 000 0000
0000 0000
[Link]/16 (netmask [Link])
1111 1111
1111 1111 || 0000 0000
0000 0000
-----------------------||----------------------1100 0110
1000 0110 || 0000 0000
0000 0000
[Link]/25 (netmask [Link])
1111 1111
1111 1111
1111 1111
1 || 000 0000
--------------------------------------||--------0101 0000
1111 1000
0100 1000
1 || 000 0000
Adresses particulires
Tout 0 dans la partie hte: ladresse du rseau lui mme
ex: [Link]/24 -> rseau [Link]
ex: [Link]/25 -> rseau [Link]
Tout 1 dans la partie hte: diffusion sur ce rseau (broadcast)
ex: [Link] ([Link]/16)
ex: [Link] ([Link]/24)
ex: [Link] ([Link]/17)
[Link]/8: boucle locale (loopback -> [Link])
[Link]: utilisation spciale (DHCP, ...)
Exercices dadressage
Sachant quil y a 11 routeurs sur le rseau dorsal (backbone) de la salle de
classe:
Quel est le nombre miminum de bits ncessaire dans la partie hte pour
pouvoir allouer une adresse IP unique chaque routeur ?
Quel est la longueur du prfixe correspondante ? / X
Quel est le netmask correspondant (en dcimal) ? 255.X.Y.Z
Combien de machines au total peut-on adresser avec ce netmask ?
Exercices binaires
En dcimal (base 10), le nombre 403 signifie:
(4*10^2) + (0*10^1) + (3*10^0)
<=> (4*100) + (0*10) + (3*1)
<=> 400 + 0 + 3
Pareillement, en binaire (base 2), le nombre 1011 signifie:
1*2^3 + 0*2^2 + 1*2^1 + 1*2^0
<=> 1*8 + 0*4 + 1*2 + 1*1
<=> 8 + 0 + 2 + 1
<=> 11 en dcimal
Regroupement de nombre dcimaux
Supposons que nous avons une liste de nombres dcimaux 4 chiffres
allant de 0000 9999.
On veut faire un groupe de 10^2 (100) nombres
On pourrait utiliser 00xx (0000 0099) ou 31xx (3100 3199), ou encore
99xx (9900 9999), etc...
On ne peut pas utiliser (0124 0223) ou (3101 3200), parce quils ne
forment pas de groupe homognes
Regroupement de nombres binaires
Supposons que lon ait une liste de nombres binaires de 4 chiffres allant
de 0000 1111.
On veut former des groupes de 2^2 (4) nombres.
On pourrait utiliser 00xx (0000 0011), ou 01xx (0100 0111) ou 10xx
(1000 1011) ou encore 11xx (1100 1111)
On ne peut pas utiliser (0101 1000) ou (1001 1100), parce quils ne
forment pas de groupes homognes
Regroupement de nombres dcimaux
Soit une liste de nombres dcimaux 4 chiffres (0000 9999) -> 10^4 =
10000 nombres en tout.
On peut avoir:
10^1 (10) groupes de 10^3 (1000)
10^2 (100) groupes de 10^2 (100)
10^3 (1000) groupes de 10^1 (10)
10^4 (10000) groupes de 1
Tout grand groupe peut tre sous divis en groupes plus petits, et ceci de
manire rcursive.
Regroupement de nombres binaires (1)
Soit une liste de nombres binaires bits (0000 1111) -> 2^4 = 16
nombres en tout.
On peut avoir:
2^1 (2) groupes de 2^3 (8)
2^2 (4) groupes de 2^2 (4)
2^3 (8) groupes de 2^1 (2)
2^4 (16) groupes de 1
Tout grand groupe peut tre sous divis en groupes plus petits, et ceci de
manire rcursive.
Regroupement de nombres binaires (2)
Soit grand nombre de nombres sur 32-bits (000...000 111...111)
On peut avoir:
2^0 (1) groupe de 2^32 nombres
2^8 (256) groupes de 2^24 nombres
2^25 groupes de 2^7 nombres
Prenons un groupe de 2^7 (128) nombres
ex: 1101000110100011011010010xxxxxxxx
On peut le diviser en 2^1 (2) groupes de 2^6 (64)
On peut le diviser en 2^3 (8) groupes de 2^4 (16)
etc...
Niveaux de hirarchie
Ne pas oublier de la division dune adresse IP en une partie rseau et une
partie hte
De manire similaire, on peut regrouper plusieurs rseaux dans un plus
grand bloc, ou diviser un grand bloc en blocs plus petits (supernetting et
subnetting)
nombre arbitraire de niveaux et de hirarchies
les blocks nont pas besoin dtre de la mme taille (VLSM)
Les vieilles implmentations sont souvent moins flexibles
Ancienne classification des adresses IP (1)
Diffrentes classes utilises pour reprsenter diffrentes tailles de rseaux
(petit, moyen, grand)
Classe A (grand)
8 bits de rseau, 24 bits hte (/8 => [Link])
Premier octet dans lintervalle 0-127
Classe B (moyen)
16 bits de rseau, 16 bits hte (/16 => [Link])
Premier octet dans lintervalle 128-191
Classe C (petit)
24 bits de rseau, 8 bits hte (/24 => [Link])
Premier octet dans lintervalle 192-223
Ancienne classification des adresses IP (2)
Il suffit de regarder ladresse pour connatre la classe
Classe A: [Link] [Link]
binaire 0xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
Classe B: [Link] [Link]
binaire 10xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
Classe C: [Link] [Link]
binaire 110xxxxx xxxxxxxx xxxxxxxx xxxxxxxx
Classe D (multicast): [Link] [Link]
binaire 1110xxxx xxxxxxxx xxxxxxxx xxxxxxxx
Classe E (reserv): [Link] [Link]
Netmasks implicites des classes dadresses
Un rseau " classe" (classful) netmask / longueur de prfixe implicite:
Classe A: prfixe de longueur 8, netmask [Link]
Classe B: prfixe de longueur 16, netmask [Link]
Classe C: prfixe de longueur 24, netmask [Link]
Les quipements de routage anciens suivent souvent le netmask implicite.
Les quipements de routage modernes utilisent toujours un netmask /
longueur de prfixe explicite.
Dcoupage en sous-rseau (subnetting) des rseaux
classe
Les anciens quipements de routage permettaient un rseau classe
(classful) dtre divis en sous-rseaux
Tous les sous-rseaux (du mme rseau classe) devait tre de mme
taille et avoir le mme netmask
Les sous-rseaux ne pouvaient pas tre sous-diviss eux-mmes
Aucune de ces restrictions ne sapplique aux systmes modernes
Groupage traditionnel (supernetting)
Certains anciens systmes autorisaient le supernetting, cest--dire le
regroupement la cration de groupes de rseaux adjacents, vus comme
un seul rseau.
Par exemple: combinaison de 2 rseaux de Classe C (ayant des num
ros conscutifs) peuvent tre group en un supernet de masque
[Link] (/23)
Un systme moderne untilise un principe plus gnrale sans classes
(classless)
Adressage sans classes (classless)
Oubliez les classes A, B et C
Le routage dans lInternet et la gestion dadresse se font aujourdhui sans
classes
CIDR = Classless Inter Domain Routing
(routage interdomaine sans classe)
le routage ne dduit pas quun rseau dont le nombre est de classe A, B
ou C une longeur de prfixe de /8, /16 ou /24
VLSM = Variable Length Subnet Masks (masque de sous-rseau
longueur variable)
le routage ne conclut pas que tous les sous-rseaux sont de mme taille
Exemple dadressage sans classe
Un grand ISP obtient un gros bloc dadresses
ex: un prfixe /16, cest dire 65536 adresses
Il alloue des blocs plus petits aux clients, par exemple:
un prfixe /22 (1024 adresses) un client
et un prfixe /28 (16 adresses) un autre client
Une organisation qui obtient un /22 de son ISP peut son tour le
sous-diviser en blocs plus petits, par exemple:
un prfixe /26 (64 adresses) pour un dpartement,
un prfixe /27 (32 adresses) pour un autre dpartement.
Hirarchie des prfixe CIDR
Exercice dadressage sans classe
Prenons un bloc dadresses [Link]/24
Allouez 8 blocs /29 et un bloc /28
Quelle est ladresse IP de chaque bloc ? (adresse rseau)
en notation longeur de prfixe (A.B.C.D/X)
avec netmask en dcimal
les plages dadresses associes
Quelle est le plus grand bloc qui soit encore disponible ?
Quels autres blocs reste-t-il ?
Routeur IP
Un quipement ayant plus dune interface au niveau de la couche de donn
es
Plusieurs adresses IP (dans des sous-rseaux diffrents) sur des
interfaces diffrentes
Reoit des paquets sur une interface, et le retransmet (forwarding),
souvent sur une autre interface, pour les rapprocher de leur destination
Maintient une table de retransmission (!= routage, bien quelles soient
souvent confondues)
IP -- une dcision pour chaque paquet
Un paquet est reu sur une interface
Vrification pour voir ladresse de destination est le routeur lui-mme
Dcrment du TTL (Time to Live), destruction du paquet si le TTL atteint 0
Recherche de la destination dans la table de retransmission
La destination peut-tre sur un lien directement connect, ou via un autre
routeur
Le forwarding saut par saut
Chaque routeur essaye de transmettre le paquet un saut plus loin, vers la
destination
Chaque routeur prend une dcision indpendente, bas sur sa table de
retransmission
Des routeurs distinct auront des tables de routage diffrentes
Les routeurs discutent entre eux en utilisant des protocoles des routage,
pour mettre jour la table de routage et de retransmission
Structure de la table de retransmission (forwarding)
La table ne contient pas toutes les adresses IP de lInternet
A la place, la table de forwarding contient des prfixes (numros de r
seau)
"Si les /n premiers bits correspondent cette entre, envoyer le
datagramme dans cette direction"
Si plus dun prfixe correspond, le prfixe le plus long "gagne" (route la
plus spcifique)
[Link]/0 est une "route par dfaut" -- elle correspond tout, mais
uniquement sil nxiste pas dautre prfixe correspondant.
Types de liens
Diffrentes stratgies dencapsulation et de dacheminement des paquets
IP sur les diffrents type de liens
Point--Point - ex: PPP
Diffusion (broadcast) - ex: Ethernet
Non-broadcast, multi-access - ex: Frame Relay, ATM
Liens point--point
Deux htes sont relis par un lien point--point
les donnes envoyes par lun sont reues par lautre
Lmetteur prend un datagramme IP, lencapsule dune manire ou dune
autre (PPP, HDLC, SLIP, ...) et le transmet
Le destinataire enlve lencapsulation de la couche de donnes
Vrification de lintgrit, jette les mauvais paquets, et trate les paquets
corrects.
Lien diffusion (broadcast) - 1
De nombreux htes connects un mdia de diffusion
les donnes envoyes par un hte peuvent tre reues par tous les
autres
ex: radio, ethernet
Lien diffusion (broadcast) - 2
Limite les interfrences en empchant les transmissions simultanes
(CSMA/CD ou CSMA/CA)
Addressages individuel des htes
les machnes savent ainsi quels paquet leurs sont destins, et donc
traiter, et lesquels ignorer
ladressage de la couche donnes est trs diffrente de celui de la
couche rseau
Correspondance entre les adresses de couche rseau et celles de la
couche de donnes (ex: ARP)
Liens NMBA (Non-broadcast, multi-access)
ex: X.25, Frame Relay, SMDS
De nombreux htes
Chaque hte dispose dune adresse unique sur la couche de donnes
Chaque hte peut potentiellement envoyer un paquet tout autre machine
Chaque paquet est reu par un seul hte
Dans certains cas, la diffusion (broadcast) est galement disponible
Rappels essentiels sur lethernet
Ethernet est un mdia de diffusion
Structure dune trame ethernet
+---------+--------+--------+----------+------+---------+---------+
| En-tte | Dest. | Source | Longueur | Type | Donnes |
CRC
|
+---------+--------+--------+----------+------+---------+---------+
Un datagramme IP constitue la totalit de la partie donnes dune trame
Ethernet
Mcanisme dacheminement (CSMA/CD)
On attend et on ressaie plus tard en cas de collision
Correspondance IP/Ethernet
Adresse Internet
unique au monde (sauf pour les rseaux privs RFC 1918)
indpendente du rseau physique
Adresse Ethernet
unique au monde (sauf erreurs)
ethernet seulement
Besoin deffectuer une correspondence de la couche suprieure vers la
couche infrieure (cest--dire IP vers Ethernet), en utilisant ARP
Le protocole de rsolution dadresse ARP
Vrifier le cache ARP pour voir si ladresse IP y figure
Si elle nest pas trouve, paquet broadcast contenant ladresse IP envoye
chaque host sur lethernet
Le "propritaire" de ladresse IP rpond
La rponse est cache dans la table ARP pour rutilisation future
Les anciennes entres sont supprimes aprs un certain temps
EOF
Questions ?