Licence Math-Informatique 1ère année
Partie 7
Olivier Glück
Université LYON 1 / Département Informatique
[Link]@[Link]
[Link]
Copyright
Copyright © 2023 Olivier Glück; all rights reserved
Ce support de cours est soumis aux droits d’auteur et n’est donc
pas dans le domaine public. Sa reproduction est cependant
autorisée à condition de respecter les conditions suivantes :
Si ce document est reproduit pour les besoins personnels du reproducteur,
toute forme de reproduction (totale ou partielle) est autorisée à la
condition de citer l’auteur.
Si ce document est reproduit dans le but d’être distribué à des tierces
personnes, il devra être reproduit dans son intégralité sans aucune
modification. Cette notice de copyright devra donc être présente. De plus,
il ne devra pas être vendu.
Cependant, dans le seul cas d’un enseignement gratuit, une participation
aux frais de reproduction pourra être demandée, mais elle ne pourra être
supérieure au prix du papier et de l’encre composant le document.
Toute reproduction sortant du cadre précisé ci-dessus est interdite sans
accord préalable écrit de l’auteur.
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 2
Plan du cours
CM1 : Internet, les réseaux et le web
CM2 : Pages HTML et feuilles de styles CSS
CM3 : Web interactif, formulaires, pages dynamiques et PHP
CM4 : Protocole HTTP, méthodes GET et POST
CM5 : Les applications d’Internet
CM6 : La couche transport : les protocoles TCP et UDP
CM7 : Le protocole IP
CM8 : Les protocoles Ethernet, ARP et ICMP. Synthèse des
échanges entre un client et serveur Web
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 3
CM7 – Le protocole IP
Les adresses IPv4
Les sous-réseaux
Le routage
Configuration des interfaces
Les adresses privées et le NAT
Format de l’en-tête, fragmentation
Les adresses IPv6
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 4
Plan du CM7
Les adresses IPv4
Les sous-réseaux
Le routage
Configuration des interfaces
Les adresses privées et le NAT
Format de l’en-tête, fragmentation
Les adresses IPv6
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 5
Internet du point de vue de l’utilisateur
@IP
@IP
@IP
@IP Réseau logique IP
@IP
@IP
Connexion virtuelle au réseau logique
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 6
Format de l'adresse IPv4
L'internet se décompose en plusieurs réseaux logiques IP
L'adresse IP est composée de deux champs
NET_ID : identifiant du réseau IP (utilisé pour le routage)
HOST_ID : identifiant de la machine dans le réseau IP
NET_ID HOST_ID
réseau
logique IP machine
Adresse IP = 32 bits = 4 octets (représentée par 4 valeurs
décimales [0-255] séparées par un .)
Exemples : [Link] [Link]
[Link] [Link]
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 7
Héxadécimal / Décimal / Binaire
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 8
Les classes d'adresses IPv4
Les adresses réseaux sont distribuées par un organisme
international à but non lucratif : ICANN (Internet Corporation for Assigned
Names and Numbers) puis décentralisé au niveau de chaque pays
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 9
Adresses IPv4 particulières
Diffusions locale et distante
[Link] : adresse de broadcast sur le réseau IP local
(ne traverse pas le routeur, traduit en broadcast ARP)
<NET_ID><111…111> : adresse de broadcast dirigée vers le
réseau de numéro NET_ID (exemple : [Link] =
diffusion dans le réseau [Link]/16 traduit en broadcast
ARP par le routeur destination)
Rebouclage local (loopback) : 127.x.y.z
généralement [Link] (localhost)
permet de tester la pile TCP/IP locale sans passer par une
interface matérielle
l'adresse [Link]
attribuée à une machine qui n’a pas encore d’adresse
adresse de la route par défaut qui englobe tout l’Internet
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 10
Les adresses privées IPv4
Adresses privées (RFC 1918)
des adresses qui ne seront jamais attribuées (usage
strictement privé) et qui ne sont pas routées sur l'Internet
classe A : de [Link] à [Link]
classe B : de [Link] à [Link]
classe C : de [Link] à [Link]
Si une entreprise qui utilise des adresses privées
souhaitent tout de même disposer d'une connexion à
l'Internet, il faut
demander une adresse publique
faire des conversions adresse privée <--> adresse publique
(Network Address Translation)
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 11
Internet du point de vue réel
@phys @phys
@phys @phys
@phys Routeur
@phys
Connexion physique au
Sous-réseau physique
sous-réseau réel
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 12
Topologie physique/logique
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 13
Les sous-réseaux
Une organisation dispose généralement d'une seule
adresse de réseau IP mais est composée de plusieurs
sites/départements
Il est possible de diviser un réseau IP en plusieurs sous-réseaux
-> prendre quelques bits dans la partie <HOST_ID> de l'adresse IP
pour distinguer les sous-réseaux
-> transparent vis à vis de l'extérieur
NET_ID SUBNET_ID HOST_ID
Réseau logique
IP de SR1 SR2
machine
l'organisme
SR3 3 sous-réseaux
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 14
Masque de sous-réseau
Masque de sous-réseau (Netmask)
Permet de donner la taille du sous-réseau
Se note comme une adresse IP avec tous les bits à 1 dans
<NET_ID><SUBNET_ID>
Exemple : [Link] attribuée à l'UCBL
divisée en 64 sous-réseaux : [Link], [Link],
[Link], …, [Link], [Link]
netmask = [Link] ou /22 (22 bits pour désigner le
sous-réseau, il reste 10 bits pour les machines)
Adresse de classe B dont 6 bits sont réservés à la
Olivier Glück L1 Math-info
numérotation
UCBL - LIFASR2 :des
Introduction
sous-réseaux
aux réseaux et au web 15
Exemple de routage IPv4
destination netmask gateway int cost
Table de [Link] [Link] - eth0 0
routage de S2 [Link] [Link] [Link] - 1
default [Link] ou /0 [Link] - -
[Link]/0 est la route par défaut. C’est
le réseau de plus grande taille qui Internet
représente tout l’Internet. @m92
S4 S5 S6 .30.6 .0.1 R9
.20.9
[Link]/28 @m6 @m91134.214.20.0/24
@m72 @m82
.30.7 .20.8
.10.7 R7 .10.8 R8
@m71 @m81 [Link]/24
@m1 @m2 @m3
.10.1 S1 .10.2 S2 .10.3 S3
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 16
Configuration d’une interface réseau (1)
Pour une machine d'extrémité, il suffit d'indiquer
Son adresse IP
Le masque de sous-réseau
L'adresse IP du routeur par
défaut (tous les paquets qui
ne sont pas à destination du
sous-réseau de la machine
sont envoyés vers ce routeur)
Eventuellement, l’adresse IP
d’un serveur de noms pour
faire les requêtes DNS
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 17
Configuration d’une interface réseau (2)
Le fait de configurer une interface réseau en lui
assignant une adresse IP et un masque ajoute une ligne
dans la table de routage qui permet de joindre toutes les
machines qui sont dans le même réseau qu’elle
Par exemple,
ip addr add [Link]/22 dev eth0
ip link set up dev eth0
ajoute la ligne suivante dans le table de routage :
Destination Masque Passerelle Interface
[Link] [Link] - eth0
La carte eth0 est dans le réseau [Link]/22 et
permet de joindre toutes les machines de [Link]
à [Link] (dernière machine du réseau)
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 18
Petits calculs sur les adresses réseaux (1)
Soit le réseau, [Link]/23
Le masque /23 est équivalent à [Link]
Il donne la taille du réseau c’est-à-dire le nombre de
machines qu’il contient : 2^(32-23)-2 = 510
En effet, il reste 9 bits pour numéroter les machines du
réseau soit 512 adresses mais il faut retirer l’adresse du
réseau et l’adresse de diffusion que l’on ne peut pas
attribuer à une machine
Adresse du réseau : [Link]/23
Adresse de diffusion : [Link]
Première machine du réseau : [Link]
Dernière machine du réseau : [Link]
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 19
Petits calculs sur les adresses réseaux (2)
Soit le réseau, [Link]/27
La partie réseau de l’adresse est constituée des 3 premiers
octets (24 bits) + les bits 2^7, 2^6 et 2^5 du 4ème octet.
Comme 2^5=32, les réseaux de taille /27 sont les multiples de
32 dans le dernier octet. [Link]/27 est donc bien
l’adresse d’un réseau car 64 est un multiple de 32.
L’adresse du réseau suivant est le multiple de 32 suivant soit
Adresse du réseau suivant : [Link]/27
Adresse du réseau précédant : [Link]/27
Adresse du réseau : [Link]/27
Première machine = @réseau+1 : [Link]
Dernière machine =@diffusion-1: [Link]
Adresse de diffusion = @réseau_suivant-1 : [Link]
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 20
Exemple de table de routage d'hôte IPv4
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 21
Table de routage d’un routeur IPv4
[Link]/24 [Link]/24
.10 G0/0 .10
PC1 [Link] /30
.1 .1
.225 .226
R1 S0/0/0 R2
.10 .1 .1 .10
PC2 G0/1
[Link]/24 [Link]/24
R1#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
[Link]/8 is variably subnetted, 2 subnets, 2 masks
D [Link]/24 [90/2170112] via [Link], [Link], Serial0/0/0
D [Link]/24 [90/2170112] via [Link], [Link], Serial0/0/0
[Link]/24 is variably subnetted, 2 subnets, 3 masks
C [Link]/24 is directly connected, GigabitEthernet0/0
L [Link]/32 is directly connected, GigabitEthernet0/0
[Link]/24 is variably subnetted, 2 subnets, 3 masks
C [Link]/24 is directly connected, GigabitEthernet0/1
L [Link]/32 is directly connected, GigabitEthernet0/1
[Link]/24 is variably subnetted, 2 subnets, 3 masks
C [Link]/30 is directly connected, Serial0/0/0
Olivier
L Glück L1 Math-info
[Link]/32 UCBL
is directly - LIFASR2 : Serial0/0/0
connected, Introduction aux réseaux et au web 22
Etapes de la configuration d’un routeur
[Link]/24 [Link]/24
.10 G0/0 .10
PC1 [Link] /30
.1 .1
.225 .226
R1 S0/0/0 R2
.10 .1 .1 .10
PC2 G0/1
[Link]/24 [Link]/24
Router> enable Router> en Pour configurer le routeur
Router# configure terminal Router# conf t
Enter configuration commands, one per line. Enter configuration commands, one per line.
Terminez par CNTL/Z. OU Terminez par CNTL/Z.
Donne un nom au
Router(config)# hostname R1 Router(config)# ho R1
R1(config)# R2(config)# routeur
R1(config)# ip route [Link]/24 [Link] Ajout des routes vers les 2
R1(config)# ip route [Link]/24 [Link]
R1(config)# réseaux distants
R1# copy running-config startup-config Sauvegarde de la configuration
Destination filename [startup-config]?
Building configuration... courante pour le prochaine
[OK]
démarrage du routeur
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 23
Configuration des interfaces d’un routeur
[Link]/24 [Link]/24
.10 G0/0 .10
PC1 [Link] /30
.1 .1
.225 .226
R1 S0/0/0 R2
.10 .1 .1 .10
PC2 G0/1
[Link]/24 [Link]/24
R1# conf t
Enter configuration commands, one per line. Terminez par CNTL/Z.
R1(config)#
R1(config)# interface gigabitethernet 0/0 Configuration
R1(config-if)# ip address [Link] [Link] de l’interface
R1(config-if)# description Link to LAN-10
R1(config-if)# no shutdown G0/0
%LINK-5-CHANGED: Interface GigabitEthernet0/0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0,
changed state to up
R1(config-if)# exit
R1(config)#
R1(config)# int g0/1 Configuration
R1(config-if)# ip addr [Link] [Link]
R1(config-if)# des Link to LAN-11
de l’interface
R1(config-if)# no shut G0/1
%LINK-5-CHANGED: Interface GigabitEthernet0/1, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/1,
changed state to up
R1(config-if)# exit Il manque la configuration de S0/0/0
R1(config)#
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 24
Vérification de la config. des interfaces
[Link]/24 [Link]/24
.10 G0/0 .10
PC1 [Link] /30
.1 .1
.225 .226
R1 S0/0/0 R2
.10 .1 .1 .10
PC2 G0/1
[Link]/24 [Link]/24
R1# show ip interface brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 [Link] YES manual up up
GigabitEthernet0/1 [Link] YES manual up up
Serial0/0/0 [Link] YES manual up up
Serial0/0/1 unassigned YES NVRAM administratively down down
Vlan1 unassigned YES NVRAM administratively down down
R1#
R1# ping [Link]
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209 165 200 226, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/9 ms
R1#
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 25
La traduction d’adresses privées (NAT)
NAT (RFC 3022) - Network Address Translator
mise en correspondance d'une adresse privée et d'une
adresse publique
traduction statique ou dynamique (lors de la connexion)
une solution au manque d'adresses IP publiques : quelques
adresses IP publiques pour beaucoup d'adresses IP privées
mais le NAT est coûteux en perf.
Fonctionnement du NAT
une table stockée dans le NAT fait la correspondance entre
(@IP_src privée, port_src) et une @IP_publique
quand le paquet part : @IP_src devient @IP_publique,
port_src devient la référence de l'entrée dans la table
quand la réponse revient : port_dest du paquet permet de
retrouver dans la table @IP et port_src
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 26
NAT - IP masquerading Exemple de requête sortante
Machine locale Passerelle NAT [Link]
[Link] [Link]/[Link] [Link]
[Link] [Link] 5555 80
Requête HTTP Mémorisation de la
translation et réexpédition
[Link] [Link] 2222 80
Envoi de la réponse HTTP
[Link] [Link] 80 2222
[Link] [Link] 80 5555
Recherche de la référence
2222 et translation
Olivier Glück ... @IP_src @IP_dest
L1 Math-info ... : port_src
UCBL - LIFASR2 port_dest
Introduction aux ...web
réseaux et au 27
NAT - port forwarding Exemple de requête entrante
Machine locale (xxxx) Passerelle NAT Poste quelconque
[Link] [Link]/[Link] A.B.C.D
telnet sur xxxx
A.B.C.D [Link] 4444 23
Mémorisation de la Alias DNS de xxxx sur [Link]
translation et réexpédition
A.B.C.D [Link] 4444 23
[Link] A.B.C.D 23 4444
réponse
[Link] A.B.C.D 23 4444
inversion de la translation
Olivier Glück ... @IP_src @IP_dest
L1 Math-info ... : Introduction
UCBL - LIFASR2 port_src auxport_dest
réseaux et au...
web 28
Format de l’en-tête IPv4
Un en-tête de 20 octets + une partie facultative de
longueur variable (options)
32 bits
1er bit
transmis VER IHL TOS LEN
D M
20 octets
(Fragment) ID Fragment Offset
F F
TTL Protocol Header Checksum
Source Address
Destination Address
Options (O ou plusieurs mots)
Data (segment TCP, …)
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 29
La fragmentation des datagrammes IPv4
Datagramme origine
Exemple (valeurs en décimal) : 4 5 00 LEN=368
ID=12001 00 Offset=0
MTU de 128 octets (soit 108 octets de
TTL Pro=6 Checksum
données IP par fragment), l'offset
Source Address
devant être un multiple de 8 octets -> Destination Address
13*8=104 octets Data (348 octets)
4 5 00 LEN=124 4 5 00 LEN=124
ID=12001 01 Offset=0 ID=12001 0 1 Offset=13
TTL Pro=6 Checksum TTL Pro=6 Checksum
F1 Source Address Source Address F2
Destination Address Destination Address
Data (104 octets) Data (104 octets)
4 5 00 LEN=124 4 5 00 LEN=56
ID=12001 0 1 Offset=26 ID=12001 0 0 Offset=39
F3 TTL Pro=6 Checksum TTL Pro=6 Checksum F4
Source Address Source Address
Destination Address Destination Address
Data (104 octets) Data (36 octets)
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 30
Caractéristiques du protocole IP
Couche réseau : communications entre machines
IP IP
IP IP
IP
IP IP IP
IP
IP IP
IP IP
datagramme Nœud intermédiaire :
routeur (matériel ou
logiciel)
IP - protocole d'interconnexion, best-effort
acheminement de datagrammes (mode non connecté)
peu de fonctionnalités, pas de garanties
simple mais robuste (à la défaillance d'un nœud intermédiaire)
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 31
Pourquoi l’IPv6 ?
Espace d'adressage plus important
Amélioration du traitement des paquets
Élimination du besoin d'adresses réseau (NAT)
4 milliards d'adresses IPv4
4 000 000 000
340 undécillions d'adresses IPv6
340 000 000 000 000 000 000 000 000 000 000 000 000
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 32
Les adresses IPv6
Comportent 128 bits, sous la forme d'une chaîne de valeurs
hexadécimales
Dans l'adressage IPv6, 4 bits représentent un seul chiffre
hexadécimal, 32 valeurs hexadécimales = adresse IPv6
[Link]
[Link]
Un hextet fait référence à un segment de 16 bits ou quatre
hexadécimales
Peuvent être écrites en minuscules ou en majuscules
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 33
Exemple de table de routage d'hôte IPv6
Olivier Glück L1 Math-info UCBL - LIFASR2 : Introduction aux réseaux et au web 34