RESEAUX INFORMATIQUES
Module : SYSTEMES D'INFORMATION
Comité Formation
CELLULE SOUTIEN
Maroc
ma
Serveur pour
ma
Serveur pour Serveur pour
gov .ma ac.ma
Serveur pour Serveur
Serveur pour
pour
tax.gov.ma ma
enim.ac.ma
19/04/2017
Internet et
l'architecture TCP/IP
Historique et acronymes
ARPAnet, Advanced Research Projects Agency lancé au MIT
(Massachusetts Institute of Technology: le premier réseau
informatique utilisant la commutation par paquets et l'ancêtre
direct d'Internet
En 1969 : ARPANet totalise alors quatre nœuds avec le premier
protocole de communication poste-à-poste (NCP) .
IP : Internet Protocol - résout les problèmes d'interconnexion en
milieu hétérogène (1974)
TCP : Transmission Control Protocol - protocole de transport de
l'Internet (de bout en bout)
TCP/IP est intégré à Unix BSD 4 (Berkeley) en 1980
TCP/IP est intégré à ARPANET en 1983
Aujourd'hui, TCP/IP est devenu le standard d'Internet (Internet
2 pour Inter-Networking)
1
19/04/2017
Internet
Internet
2
19/04/2017
Fonctionnement de l'Internet (1)
Couche réseau : communications entre machines
IP - protocole d'interconnexion, best-effort
acheminement de datagrammes (mode non connecté)
peu de fonctionnalités, pas de garanties
simple mais robuste (défaillance d'un noeud intermédiaire)
Fonctionnement de l'Internet (2)
Couche transport : communications entre applications
TCP - protocole de transport de bout en bout
uniquement présent aux extrémités
transport fiable de segments (mode connecté)
protocole complexe (retransmission, gestion des erreurs, séquencement,
…)
3
19/04/2017
Architecture TCP/IP
Encapsulation de données TCP/IP
4
19/04/2017
Le protocole IP (IPv4)
L'Internet Protocol IP
IP (RFC 791) : protocole d'interconnexion de l'Internet
Il a été conçu en 1980 pour remplacer NCP (Network Control Protocol), le
protocole de l’ARPANET.
Les octets issus de la couche de transport et encapsulés à l’aide d’un en-tête IP avant
d’être propagés vers la couche lien (2)(Ethernet par exemple), sont collectivement
nommés « datagramme IP », datagramme Internet ou datagramme tout
court.
Ces datagrammes ont une taille maximale liée aux caractéristiques de propagation du
support physique, c’est le « Maximum Transfer Unit » ou MTU.
livraison au mieux - best-effort delivery : aucune garantie quant au service
d'acheminement (délai, taux de perte, …),
Ces services non assurés sont laissées à la charge de la couche supérieure
Fonctions Assurées:
adaptation des datagrammes IP à la MTU (maximum transmission unit )du
réseau physique traversé
acheminement dans le réseau logique
désignation des noeuds (adressage IP)
10
5
19/04/2017
Fragmentation de datagramme
MTU = Maximum Transfert Unit
Format du datagramme IP
12
6
19/04/2017
Le datagramme
IPv4 (1)
Le datagramme IPv4 (2)
VER - Version - 4 bits
numéro de version d'IP (généralement 4 pour IPv4)
IHL - Internet Head Length - 4 bits
longueur de l'en-tête du datagramme (en nombre de mots de 32 bits) -> 5 si pas
d'option
valeur maximale = 15 -> 40 octets d'options maximum
TOS -Type Of Service - 6+2 bits
Cette valeur permet d’appliquer un mécanisme de qualité de service (QS) aux paquets
de priorité élevée, tels que ceux transportant des données vocales de téléphonie. Le
routeur traitant les paquets peut être configuré pour déterminer le paquet à
transmettre en premier en fonction de la valeur de type de service.
13
Le datagramme
IPv4 (2)
LEN - total LENgth field - 16 bits longueur totale du datagramme en octets
au maximum 65535 octets
ID - Identification - 16 bits : identifiant de datagramme
permet à l’ordinateur destinataire de déterminer à quel datagramme appartient le fragment
reçu.
tous les fragments d'un même paquet ont le même ID
DF (1bit) et MF (1 bit)
DF - Don't Fragment : ordre au routeur de ne pas fragmenter (autre route ou destruction)
MF - More Fragment : indique qu'un fragment suit
Fragment Offset - 13 bits
position du premier bit du fragment dans le datagramme d'origine, en multiple de 8 octets
14
7
19/04/2017
Le datagramme
IPv4 (3)
TTL - Time To Live - 8 bits
compteur qui sert à limiter la durée de vie du datagramme
255 au départ puis décrémenté à chaque nouveau saut
datagramme éliminé s'il atteint zéro
évite les paquets perdus (erreurs de routage)
Protocol - 8 bits
protocole de la couche supérieure qui traite le datagramme assemblé (UDP(17) ou TCP (6) ou
ICMP(1))
Header Checksum - 16 bits
pour s’assurer de l’intégrité de l’en-tête. A la réception de chaque paquet, la couche calcule cette
valeur, si elle ne correspond pas à celle trouvée dans l’en-tête le datagramme est oublié (discard)
sans message d’erreur.
15
Le datagramme
IPv4 (4)
Le champ Options
prévu pour des expérimentations mais peu utilisé dans la pratique
longueur variable, plusieurs options possibles
exemples d'options :
sécurité : degré de confidentialité du datagramme (route plus sécurisée que
d'autres !)
routage strict par la source : suite d'@ IP décrivant le chemin pour atteindre la
destination
enregistrement de route : les routeurs traversés insèrent chacun leur @IP
16
8
19/04/2017
ICMP : Internet Contrôle Message Protocole
Protocole de ‘gestion’ de réseau (message d’erreur et supervision)
Implémenté sur tous les équipements IP (stations, routeurs)
Les ICMP sont les messages d'incident de réseaux.
Message envoyé par l’équipement destinataire ou un routeur intermédiaire :
Quand il s’aperçoit d’un problème dans un datagramme pour avertir
l’émetteur afin qu’il modifie son comportement -> mauvais routages,
contrôle de flux
Les commandes PING et TRACEROUTE s'appuient sur les ICMP
Message ICMP contenu dans un datagramme IP
17
ICMP
Message ICMP encapsulé par IP :
Exemples de messages ICMP :
18
9
19/04/2017
ARP Adress Resolution Protocol
Protocole permettant d'obtenir l'adresse Ethernet (adresse
physique) d'un équipement à partir de l’adresse IP.
Effectuer cette correspondance est une résolution d’adresse.
Cette résolution est dynamique (ne nécessite pas l'intervention
d'un opérateur).
L'adresse Ethernet (adresse physique) est inscrite matériellement
sur la carte réseau. Par contre, l'adresse IP est une adresse
stockée en mémoire.
L’adresse IP est totalement indépendante de l’adresse physique
(MAC)
Stockage des adresses MAC dans une table locale : cache ARP
19
ARP Adress Resolution Protocol
20
10
19/04/2017
ARP Adress Resolution Protocol
arp –a Toutes les entrées du cache
arp – s 192.14.25.56 00-80-C7-E0-7E-C5 Entrer une
nouvelle adresse IP / MAC
arp –d 192.14.25.56 Supprime une adresse IP du cache
21
RARP : Reverse ARP
Mécanisme permettant à la station d'obtenir son adresse IP depuis le réseau.
Permet d'obtenir son adresse IP à partir de l'adresse physique qui lui est
associée.
Comme pour ARP, une trame de diffusion Ethernet est émise, contenant une
requête RARP.
Requête : "Quelle est l'adresse IP correspondant à mon adresse Ethernet ?".
On utilise un serveur RARP sur le réseau physique qui fournit les adresses IP
associées aux adresses physiques des stations du réseau. Il envoie une réponse en
unicast.
Rem 1 : Possible que plusieurs serveurs RARP existent d'où la
génération de plusieurs réponses à la requête. La première réponse
est considérée.
Rem 2 : Une requête RARP ne peut traverser un routeur. Dans le cas
où aucun serveur RARP n'existe sur le réseau physique Ethernet, la
requête n'est pas satisfaite.
22
11
19/04/2017
Les protocoles de transport :
UDP et TCP
Deux protocoles pour la communication entre applications :
TCP : Transmission Control Protocol
communication avec connexion, fiable.
UDP : User Datagram Protocol
communication sans connexion, non fiable.
23
TCP/UDP : Notion de Port
Permet à plusieurs processus applicatifs de communiquer
simultanément sur le réseau, potentiellement avec un même protocole
de transport (TCP ou UDP).
Le port sert d’interface entre le processus applicatif et la couche
transport.
Pour connaitre les sockets ouvertes et utilisées sur sa machine : commande netstat.
24
12
19/04/2017
TCP/UDP : Notion de Port
Le couple de deux sockets définit complètement une connexion :
25
TCP/UDP : Notion de Port
Attribution des numéros de Port :
internationalement « assignés » par l’IANA (Internet Assigned Number
Authority) < 1023
dynamiquement alloués par l’OS si non spécifiés
configurables directement pour certaines applications
Lors des communications, les infos telles que les n° de ports sont envoyées
dans l’entête afin de désigner quelle connexion est concernée.
26
13
19/04/2017
Le protocole TCP
Transport Control Protocol (RFC 793, 1122, 1323, 2018, 2581)
Un protocole de bout en bout (uniquement aux extrémités ) entre applications orienté
connexion.
Protocole de bout en bout. Les processus pairs des couches transport de 2
équipements connectés dialoguent l'un avec l'autre sans rien connaître du réseau. C'est au
niveau IP que l'on se préoccupe de la fragmentation et du réassemblage des segments TCP.
Protocole orienté connexion.
La fiabilité du transport TCP dépend de l'établissement d'une connexion entre les processus pairs qui
veulent dialoguer ((@IP src, port src) --> (@IP dest, port dest))
L'établissement d'une connexion est réalisé par l'échange d'informations telles que le numéro de port,
le numéro de séquence et la taille de fenêtre.
Services offerts par TCP :
en mode connecté (ouverture, fermeture : circuit virtuel)
transporte un flot d'octets (ou flux)
l'application lit/écrit des octets dans un tampon
sans erreur : contrôle et retransmission si besoin
sans perte : numérotation et retransmission
avec contrôle de flux (fenêtre d’émission)
full duplex
27
Le segment TCP (1)
28
14
19/04/2017
Le segment TCP
(2)
Numéro de séquence NS (émission)
comptabilise les octets depuis le début de la connexion
ISN : numéro de séquence initial, valeur "aléatoire» acquittée lors de
l'établissement de la connexion
le numéro de séquence du premier octet transmis est ISN+1 puis
NS=ISN+nb_octets_transmis+1
Numéro de séquence NR (réception)
le récepteur renvoie le numéro du prochain octet attendu soit
29 NS_reçu+taille_données_reçues+1
Le segment TCP (3)
Les 6 indicateurs
URG : valide le champ « Ptr données urgentes »
ACK : valide le champ NR
PSH : PUSH indique au récepteur de délivrer immédiatement les données en attente sur le récepteur
TCP peut attendre d'avoir suffisamment de données avant de constituer un fragment
exemple : retour chariot (CR) dans un terminal virtuel
RST : demande au destinataire de réinitialiser la connexion ou rejet d'une demande de connexion
SYN : demande de connexion (échange des ISN)
FIN : demande de déconnexion (le destinataire n'est pas obligé de s'exécuter : fermeture négociée)
30
15
19/04/2017
Le protocole UDP
UDP (RFC 768) - User Datagram Protocol
protocole de transport le plus simple
service de type best-effort (comme IP)
les segments UDP peuvent être perdus
les segments UDP peuvent arriver dans le désordre
mode non connecté : chaque segment UDP est traité
indépendamment des autres
Pourquoi un service non fiable sans connexion ?
simple donc rapide (pas de délai de connexion, pas d'état entre
émetteur/récepteur)
petit en-tête donc économie de bande passante
sans contrôle de congestion donc UDP peut émettre aussi
rapidement qu'il le souhaite
31
Les utilisations d'UDP
Souvent utilisé pour les applications multimédias
tolérantes aux pertes
sensibles au débit
Autres utilisations d'UDP
applications qui envoient peu de données et qui ne nécessitent pas un
service fiable
exemples : DNS, SNMP, BOOTP/DHCP
Transfert fiable sur UDP
ajouter des mécanismes de compensation de pertes (reprise sur
erreur) au niveau applicatif
mécanismes adaptés à l'application
32
16
19/04/2017
Les utilisations d'UDP
Services offerts :
Un Transfert de données non fiable (ne garantit ni la remise ni
l’ordre des datagrammes délivrés),
Service de datagrammes sans connexion (ne fournit pas
établissement de connexion),
Pas de contrôle de flux,
Pas de contrôle de congestion,
Les sommes de contrôle des données sont facultatives dans le
protocole UDP.
33
Le datagramme UDP
34
17
19/04/2017
Quel protocole transport pour quel application?
35
la couche application:
36
18
19/04/2017
Paradigme du client-serveur
Serveur : tout programme qui offre un
service que l’on peut atteindre à Client : programme qui émet
travers un réseau. une demande vers un serveur et
Accepte les demandes, les traite et
attend la réponse
renvoie des réponses au demandeur
Plusieurs serveurs peuvent être
exécutés sur un seul système
Plusieurs serveurs peuvent proposer le
même services et peuvent être exécutés
sur un ordinateur ou sur plusieurs
Un serveur s’exécute avant le début des Le client se termine après avoir
interactions, accepte les demandes, les sollicité un serveur un nombre fini de
traite et renvoie des réponses sans fois
jamais s’arrêter
Serveur attend l’arrivée d’une demande Le client utilise un port
sur un port réservé affecté à ce service quelconque, inutilisé et non
réservé pour sa communication
37
Les protocoles de la couche application:
Les protocoles de couche application TCP/IP les plus connus sont ceux permettant l’échange
d’informations entre les utilisateurs. Ces protocoles spécifient les informations de format et de
contrôle nécessaires à un grand nombre de fonctions courantes de communication via Internet
38
19
19/04/2017
Protocoles et applications (1)
Niveau applicatif
HTTP - HyperText Transport Protocol
protocole du web: échange de requête/réponse entre un client et un
serveur web
FTP - File Transfer Protocol
protocole de manipulation de fichiers distants transfert, suppression,
création, …
TELNET - TELetypewriter Network Protocol
système de terminal virtuel
permet l'ouverture d'une session distante
SMTP - Simple Mail Transfer Protocol
service d'envoi de courrier électronique
réception (POP, IMAP, IMAPS, …)
DNS - Domain Name System
assure la correspondance entre un nom symbolique et une adresse Internet
(adresse IP)
bases de données réparties sur le globe
39
Protocoles et applications (2)
SNMP - Simple Network Management Protocol
protocole d'administration de réseau (interrogation,
configuration des équipements, …)
BOOTP - Boot Protocol
permet à une station de connaître sa configuration réseau lors
du démarrage par interrogation d'un serveur bootp
au-dessus d'UDP (ports 67 et 68)
DHCP - Dynamic Host Configuration Protocol
extension du protocole BOOTP
meilleure gestion du plan d'adressage IP avec attribution
dynamique des adresses IP pour une certaine durée (bail ou
lease time)
au-dessus d'UDP (ports 67 et 68)
40
20
19/04/2017
DNS : Introduction
Se rappeler d'une adresse IP est assez difficile, ex : 212.27.48.10
Mais alors de plusieurs (209.85.137.99, 139.124.187.4, . . . )!
Retenir des noms comme www.enim.ac.ma, www.google.com,
www.habouss.gouv.ma, c'est bien plus facile
C'est pourquoi le DNS existe : il permet de nommer des
ordinateurs et de "resoudre" des noms en adresses IP :
www.enim.ac.ma en 196.200.133.4
www.google.com en 209.85.137.99
….
et inversement : résolution inverse
41
DNS : espace de noms hiérarchisé et décentralisé
Au debut d'internet, l'espace de noms était "plat" et admettait des noms de type
(serveur,capucine,gandalf,..)
et centralisé : géré par le NIC (Network Information Center) puis plus tard par l'INTERNIC (Internet
Information Center)
mais la multiplicité des ordinateurs connectés et nommés a rendu la gestion trop lourde et un nom pris ne
pouvait plus être utilisé
Avec le DNS, l'espace de noms est organise en une hiérarchie au sommet de laquelle figure la racine et
immédiatement en dessous les TLD (Top-Level Domain) ou domaines de niveau supérieurs :
L'ICANN a ensuite délègué la gestion des sous-domaines des TLD à des entreprises ou
organisations gouvernementales :
•com et net a la societe VeriSign
•edu, org et autres a l'INTERNIC
•ma à l‘ANRT (Agence Nationale de Réglementation des Télécommunications)
21
19/04/2017
DNS : terminologie
Un nom de machine est composé de labels séparés par des « . »
Chaque label fait au plus 63 caractères et le nom complet au plus
255 caractères
Les majuscules et les minuscules sont indifférenciées
Le nom est positionné de façon hiérarchique ce qui permet de
déléguer l'attribution des noms (ma=maroc, ensmr=Ecole
Nationale Supérieure des mines, inscription=machine)
Le DNS permet d'associer chaque nom de machine à une adresse
Internet (Domain Name System)
La table locale (ou NIS) '/etc/hosts' propose un certain nombre
de conversions
43
DNS : base de données repartie, efficace et fiable
Un dépositaire de domaine doit mettre a disposition au moins 2 serveurs de noms
(sur des réseaux en principe différents) charges de répondre aux requêtes concernant
les noms locaux
Les serveurs de noms d'un domaine doivent connaître les serveurs de noms racines,
du domaine parent et des domaines fils (délégation de zone)
Un serveur de noms peut gérer un domaine ainsi que plusieurs sous-domaines
Les relations (non physiques) entre les différents serveurs peuvent être illustrées ainsi
44
22
19/04/2017
DNS : la résolution de noms
Tout hôte doit connaître au moins un serveur de noms (en
principe de son domaine mais ce n'est pas une obligation)
Sur un hôte, le client DNS effectuant la résolution de noms est
appelé solveur de noms
Pour résoudre un nom, le solveur s'adresse a son serveur de noms.
Deux possibilités :
résolution récursive : s'il ne connait pas la réponse, le serveur est
charge de la trouver. Il contactera un autre serveur, etc., et la réponse
reviendra
résolution itérative : s'il ne connait pas la réponse, le serveur peut
indiquer quel serveur est susceptible de la connaitre. Le solveur doit
ensuite effectuer la recherche seul en contactant ce serveur, etc.,
jusqu‘à contacter un serveur en mesure de lui répondre
45
Comment déterminer l’adresse IP?
Chercher www.a.a sur nav.b.a
23
19/04/2017
DHCP : Attribution d’adresse IP
Inconvénient des adresses IP statiques :
–"Gaspillage" d'adresses
–Rigidité
–Configuration personnalisée
•La solution : DHCP
Pour une machine
IP statique
IP dynamique par DHCP
(Dynamic Host
Configuration Protocol)
Envoie une requête
Une proposition
Accepte?
Confirmation
47
Courrier électronique
Envoi
SMTP (Simple Mail
Transfert Protocol ) Message de [email protected] à [email protected]
achemine le
courrier jusqu’à la
boite aux lettres.
Reception
POP (Post Office [email protected]
Protocol) ou POP3,
délivre le courrier
à l’utilisateur final
IMAP (Internet
Message Access [email protected]
Protocol est
identique à POP
mais en plus
évolué.
24
19/04/2017
Navigateur Internet: Client de SMTP, POP et IMAP
25