View
110
Download
4
Category
Preview:
Citation preview
Chapitre IX
TCP/IPLes protocoles de l'architecture
Internet
1. Couche Réseau dans Internet (protocole IP)
1
Sommaire1.Généralités2.Concepts de l’interconnexion3.Modèle en couches4.Couche Réseau dans Internet
Fonctions du protocole IPDatagramme IPAdressage IPRoutage dans IP
5.Protocole ARP6.Protocole ICMP
2
Généralités
3
Origine: L’architecture TCP/IP a été développée, dans le milieu des années 1970, par DARPA ( Defense Advanced Research Project Agency-USA-) pour les besoins d’interconnexion des systèmes informatiques de l’armée (DoD: Departement of Defense).
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)
La mise en oeuvre de TCP/IP en 1980 sur le réseau de recherche de DARPA fût le début de l’internet.
TCP/IP est intégré à Unix BSD 4 par l’université de Berkeley, en fit le standard de la communauté UNIX (1980)
TCP/IP a remplacé le protocole NCP (Network control Program) dans ARPANET en 1983, ancêtre de l’Internet.
Aujourd'hui, TCP/IP est devenu le standard d'Internet (Internet pour Inter-Networking) plus de 100000 réseaux interconnectés, plusieurs millions de machines, plusieurs dizaines de millions d'utilisateurs de l’Internet Interconnecte divers réseaux : Ethernet, Token Ring, X25, FR, FDDI, ATM, etc.
4
TCP/IP: est un ensemble de protocoles permettant de résoudre les problèmes d’interconnexion en milieu hétérogène.
TCP/IP décrit un réseau logique (réseau IP) au-dessus du ou des réseaux physiques réels auxquels sont effectivement connectés les ordinateurs
Technologie constituée par des protocoles de base qui offrent les services de base du transfert des données :
transport de datagrammes : service élémentaire de la commutation de paquets. transport de messages sécurisés : service orienté connexion permettant d'acheminer des données en garantissant leur intégrité
Ces services de base sont indépendants du support de transmission: adaptables à toute sorte de media depuis les réseaux locaux jusqu'aux réseaux longue distance.
Interconnexion universelle : les machines ont une adresse unique sur l'Internet. deux machines reliées au réseau, communiquent grâce aux noeuds du réseau routage sur la base de l'adresse destinataire. 5
Dans le cas d’un transport sécurisé, acquittements effectués entre équipements terminaux (source et destinataire) non pas entre chaque noeud relayant les messages.
Technologie publique largement diffusée au travers de RFCs (Request For Comment)
Indépendante des constructeurs et disponible sur tous types de matériel (micro, station, super-calculateur et équipements de réseaux)
6
Concepts de l’interconnexion
7
Concepts de l’interconnexion
Le concept d'interconnexion ou d'Internet repose sur la mise en oeuvre d'une couche réseau :
masquant les détails de la communication physique du réseau déchargeant les applications des problèmes de routage.
L'interconnexion : faire transiter des informations depuis un réseau vers un autre réseau par des noeuds spécialisés appelés passerelles (gateway) ou routeurs (router).
Dans le monde Internet, le terme de passerelle est souvent préféré à celui de routeur.
Les routeurs possèdent une connexion sur chacun des réseaux
La passerelle interconnecte les réseaux A et B.
Le rôle de la passerelle est de transférer sur le réseau B, les paquets circulant sur le réseau A et destinés au réseau B et inversement.
8
P1 transfère sur le réseau B, les paquets émanant du réseau A et destinés aux réseaux B et C et inversement.
P2 assure le transfert des paquets en provenance du réseau A et B et à destination du réseau C et vice versa.
P1 doit avoir connaissance de la topologie du réseau : que C est accessible depuis le réseau B.
Le routage est effectué sur la base du réseau destinataire mais pas sur la base de la machine destinataire. 9
A l'intérieur de chaque réseau, les noeuds utilisent la technologie spécifique de leur réseau
La couche réseau masque ces spécificités et offre un service commun à toutes les applications : l'ensemble de ces réseaux hétérogènes apparaît comme un seul et unique réseau pour l ’utilisateur
10
Les réseaux interconnectés sont très divers mais utilise le même protocole réseau (IP)
11
Modèle en couches
12
Précédant le modèle OSI, TCP/IP en diffère fortement, non seulement par le nombre de couches, mais aussi par l’approche.
Le modèle OSI spécifie des services , TCP/IP des protocoles
Développé au-dessus d’un environnement existant, TCP/IP ne décrit , ni de couche physique ni de couche liaison de données.
L’architecture TCP/IP ne comprend que 2 couches: la couche transport (TCP) et la couche interréseau (IP)
13
Couche réseau : communications entre machines
IP - protocole d'interconnexion: réalise les fonctionnalités de la couche réseau
acheminement de datagrammes (mode non connecté) peu de fonctionnalités, pas de garanties simple mais robuste (défaillance d'un noeud intermédiaire)
14
Couche transport : communications entre application
TCP - protocole de transport de bout en bout uniquement présent aux extrémités transport fiable de segments (mode connecté) protocole complexe (retransmission,…)
15
Deux machines sur un même sous réseau
Prise en compte de l'hétérogénéité
Communications sans routeur Communications avec routeur
16
Encapsulation
Les données d’application constituent des messages, ceux-ci sont transportés dans des segments qui seront émis sur le réseau sous forme de datagrammes. L’unité de transport élémentaire est la trame qui constitue au niveau physique un train de bits.
17
Identification des protocoles
Ethertype des trames Ethernet identifie le protocole du niveau réseau.
L’identifiant de protocole dans le datagramme IP désigne le protocole de transport utilisé
La notion de port dans le segment TCP détermine l’instance locale d’application
18
Couche application
La couche application est la couche située au sommet des couches de protocoles TCP/IP. Celle-ci contient les applications réseaux permettant de communiquer grâce aux couches inférieures.
Les logiciels de cette couche communiquent donc grâce à un des deux protocoles de la couche inférieure (la couche transport) c'est-à-dire TCP ou UDP.
Les applications de cette couche sont de différents types, mais la plupart sont des services réseau, c'est-à-dire des applications fournies à l'utilisateur pour assurer l'interface avec le système d'exploitation. On peut les classer selon les services qu'ils rendent :
Les services de gestion (transfert) de fichier et d'impression (FTP).
le courrier électronique (smtp),
l’accès à des machines distantes (telnet)
Les services de connexion à distance (www). 19
Couche réseau
20
Couche réseau
La couche Réseau est la couche "la plus importante" pour le protocole TCP/IP. C'est elle qui définit les datagrammes (paquets de données) gère les notions d'adressage IP. permet l'acheminement des datagrammes vers des machines distantes ainsi la gestion de leur fragmentation et de leur assemblage à la réception.
La couche Internet contient quatre protocoles :
Le protocole IP (Internet Protocol).
Le protocole ARP (Address Resolution Protocol).
Le protocole ICMP (Internet Control Message Protocol).
Le protocole RARP (Reverse Address Resolution Protocol).
Les trois premiers protocoles sont les protocoles les plus importants de cette couche
21
Le protocole IP (Internet Protocol)
Le protocole Internet (Internet Protocol ou IP) réalise les fonctionnalités de la couche réseau (niveau 3 du modèle OSI)
Protocole mis en oeuvre dans l’Internet offrant une gestion décentralisée du réseau
favorise la croissance du réseau
Les attributions des adresses de niveau 3 sont contrôlées
IP fonctionne au dessus de tout :– Ethernet– Token Ring– Liaison série– FDDI– Ethernet 100 Mb/s– ATM
Le protocole IP définit : La DU transférée dans les interconnexions : Datagramme compté en octets La manière de router les paquets dans les réseaux : Notion d’adresse réseau & d’adresse machine La remise de paquets en mode non connecté
• Assemblage/réassemblage des paquets seulement chez le destinataire • La traversée des réseaux intermédiaires 22
Fonctions du protocole IP (1)
transporte des datagrammes de bout en bout
pour passer de l’équipement A à l’équipement C, le datagramme passe par R1, R2, R3
chaque datagramme contient :
l’@IP de l’émetteur l’@IP du destinataire
connaître l’@ IP d’un équipement pour pouvoir communiquer avec lui
mode sans connexion sans garantie de remise desdatagrammes
Assure le routage : savoir où envoyer le datagramme
Assure la fragmentation :
N’assure pas :vérification du séquencementdétection de perteretransmission en cas d’erreurcontrôle de flux
23
Datagramme IPLe datagramme IP» L'unité de transfert de base est le datagramme, constitué d'un en-tête et d'un champ de données
24
Signification des champs du datagramme IP
VERS (4 bits) : version de protocole IP, actuellement version 4,
HLEN (4bits) : ou IHL (Internet Header Length) longueur de l'en-tête en mots de 32 bits, généralement égal à 5 (20 octets sans options),
Type de service (6+2 bits) : ou TOS (Type of Service) indique comment le datagramme doit être géré :
pour distinguer différentes classes de services (niveaux de priorités) -> compromis entre fiabilité, délai et débit
champ ignoré par la plupart des routeurs
Longueur totale (16bits) : ou TL (Total Length) : en-tête + données 25
Champs liés à la fragmentation IP ID (16bits) : identification du datagramme
• utilisé par l’émetteur et le destinataire pour identifier le datagramme• numérotation faite par l’émetteur• uniquement utilisé pour la fragmentation
Flags (1 bit) : flags pour la fragmentation• 001 : fragment intermédiaire (More Fragment)• 000 : dernier fragment (ou pas encore fragmenté)• 01X : ne pas fragmenter (Don’t Fragment)
FO (13 bits) : Fragment Offset• position du fragment dans le datagramme d’origine• premier fragment = 0• le destinataire récupère tous les fragments, si un fragment est perdu tout le datagramme est perdu 26
27
Durée de vie (8 bits): TTL (Time To Live) Indique en secondes, la durée maximale de transit du datagramme sur l'internet. Définie par la machine qui émet le datagramme. Les routeurs traversés par le datagramme décrémentent sa durée de vie du nombre de secondes (1 au minimum) passées dans la passerelle. Lorsque le TTL=0 :
Le datagramme est détruit un message d'erreur est renvoyé à l'émetteur.
Évite au datagramme de circuler éternellement en cas de boucle
Protocole (8 bits) : identifie le protocole de niveau supérieur dont le message est véhiculé dans le champ données du datagramme :
6 => TCP, 17 => UDP, 1 => ICMP. Somme de contrôle en-tête (16 bits) : Header Checksum
couvre l’en-tête IP uniquement son but est de contrôler son intégrité recalculé par chaque routeur (car champ TTL est modifié) ne couvre pas les données (de la responsabilité du transport)
Adresse source (32 bits) : adresse IP de l’émetteur
Adresse destination (32 bits): adresse IP du destinataire adresses d’extrémité et pas des noeuds intermédiaires
28
Le champ Options
prévu pour des expérimentations mais peu utilisé dans la pratique
codé : <code option (1 octet)>,<longueur (1 octet)>, <données>
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
Padding : complète le champ options assure que la longueur de l’en-tête est un multiple de 32 bits
29
Adressage dans Internet
But de l’adressage : toute machine doit pouvoir communiquer avec toute autre
Une machine doit être accessible aussi bien par des humains que par d'autres machines
Une machine doit pouvoir être identifiée par : un nom (pour les utilisateurs), une adresse (identificateur universel de la machine) une route précisant comment la machine peut être atteinte
Adressage "à plat" par opposition à un adressage hiérarchisé
Notions de classes d’adresses
Utilisation de noms pour identifier les machines
30
Routage dans IP
processus permettant à un datagramme d’être acheminé vers le destinataire
Machines et routeurs participent au routage : un routeur possède deux ou plusieurs connexions réseaux une machine possède généralement qu’une seule connexion
Les machines doivent déterminer si le datagramme : doit être délivré sur le réseau physique sur lequel elles sont connectées (routage direct) ou doit être acheminé vers un routeur (routage indirect)
Les tables de routage IP renseignent seulement les adresses réseaux et non pas les adresses machines, pour des raisons évidentes d’encombrement.
Le routage est orienté réseau : basé sur la partie réseau de l’adresse31
La couche IP : Détermine la partie réseau de l’@ en appliquant le masque Si le réseau de destination est le réseau local : Le masque appliqué peut être le masque de sous réseau Si le masque est absent, la classe de l’adresse détermine sa partie réseau Recherche ensuite l’@ réseau dans la table de routage Les paquets sont routés suivant l’indication trouvée dans la table de routage
Les principales entrées de la table : adresse d’une machine, adresse d’un réseau, adresse d’un sous réseau. Une adresse particulière default
•toutes les adresses non spécifiées par les autres entrées de la table.
La route peut être une interface locale à la machine ou un routeur intermédiaire Le routeur doit avoir une adresse sur chacun des réseaux auxquels il est relié
Une métrique peut être associée à une route Le nombre de routeurs à traverser pour atteindre la destination Critères complexes : débit, délai, fiabilité des liaisons, … 32
Le routage dans IP - exemple
Table deroutage de S2
33
Protocole ARP
34
Adresse Internet ou adresse physique ? Besoin des 2 adresses !
La communication entre machines ne peut s'effectuer qu’à travers l'interface physique ; les applications connaissent les adresses IP, pas les adresses physiques => Établir le lien adresse IP / adresse physique
La solution : ARP (Address Resolution Protocol) Mise en place dans TCP/IP d’un protocole de bas niveau 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 destinataire
Principe du protocole ARP : Pour connaître l'adresse physique de B (PB) à partir de son adresse IP (IB), la machine A diffuse une requête ARP ( broadcast MAC ) contenant l'adresse IB vers toutes les machines La machine B répond avec un message ARP (le destinataire a reçu le broadcast et s'est reconnu, il envoie son @MAC ) qui contient la paire (IB, PB).
Les machines non concernées ne répondent pas Cache ARP : le résultat de chaque résolution est conservé localement pour les émissions suivantes la correspondance (@IP, @MAC) de l'émetteur sont inclus dans la requête ARP pour que le récepteur, voire toutes les machines qui reçoivent le broadcast, mettent à jour leur cache
35
Exemple :La station 1 veut envoyer un message à mary@eagle.cs.uni.edu (station 2: E2) étape 1 : trouver l’adresse IP de l’hôte 2 en regardant dans le DNS (serveur de noms) étape 2 : construire un paquet avec l’adresse IP 192.31.65.5 étape 3 : diffuser un message sur le LAN : «Qui a l’adresse 192.31.65.5 ?» étape 4 : hôte 2 renvoie son adresse IP à l’hôte 1 étape 5 : hôte 1 crée un paquet Ethernet avec le paquet IP dedans
Les étapes 3 et 4 = protocole ARP
36
Si elles ne sont pas sur le même réseau (par ex. de 1 vers 4) la diffusion ne passe pas le routeur résolution de proche en proche : 1 envoie les données à 192.31.65.1 (ARP pour trouver E3), le routeur info envoie les données à 192.31.60.7 (ARP pour trouver F3), le routeur élec envoie les données à 4 (ARP pour E6)
Proxy1 ARP : une machine qui répond à une requête à la place du destinataire (qui ne reçoit pas le broadcast) nécessaire si la route (adresse de la passerelle) pour atteindre le destinataire n'est pas connue1[proxy: Technique dans laquelle une machine ou un logiciel répond aux requêtes en lieu à la place d’une ou plusieurs machines ]
37
RARP - Reverse ARP
ARP : @IP->@MAC RARP : @MAC->@IP
"Mon @MAC est xx:xx:xx:xx:xx:xx. Quelqu'un connaît-il mon @IP ?«
permet à un hôte de récupérer son @IP au démarrage par interrogation d'un serveur RARP
stations sans disque
imprimantes,…
Même fonctionnement, même format de paquet
Obsolète car désormais remplacé par BOOTP (Bootstrap Protocol)(affectation statique d’une adresse) ou DHCP( Dynamic Host Configuration Protocol)(affection dynamique d’une adresse à la connexion) qui peuvent rendre le même service et ne nécessite pas un serveur RARP sur chaque réseau (broadcast MAC limité: les requêtes RARP ne sont pas retransmises par les routeurs, ce qui implique un serveur RARP par réseau(sous-réseau) )
38
BOOTP (bootstrap) – Principe
Protocole d'amorçage du réseau au dessus de UDP (les diffusions passent les routeurs)
le serveur informe la machine qui démarre de
son @IP, @IP du serveur de fichiers qui contient son image disque, @IP du routeur par défaut, masque de sous-réseau
Inconvénient : les tables de correspondances sont statiques (configurées manuellement)
Pour y remédier, BOOTP est devenu DHCP : Dynamic Host Configuration Protocol
39
DHCP – Principe
Configuration manuelle ou assignation dynamique des adresses IP
Un serveur spécifique s'occupe d'assigner des configurations réseaux aux hôtes qui en font la demande
Le serveur n'est pas nécessairement sur le même réseau (passage par un relais DHCP)
DHCP - économie d'adresses IP : quand un hôte quitte le réseau, il restitue son adresse•
Les stations essentielles ou connectées fréquemment reçoivent une adresse permanente (configurée manuellement).
40
Protocole ICMP
41
ICMP - Internet Control Message Protocol
ICMP (Internet Control Message Protocol) protocole de gestion de réseau.
Fonctionnement Les messages de contrôle ou d’erreur envoyés : par l’équipement destinataire ou un routeur intermédiaire vers l’émetteur L’émetteur modifie son comportement
Origine des erreurs : causées par l’émetteur, dues à des problèmes d’interconnexions sur l’Internet :
• machine destination déconnectée,• durée de vie du datagramme expirée,• congestion de passerelles intermédiaires
problème détecté sur un datagramme IP par une passerelle le détruit, émet un message ICMP pour informer l’émetteur initial.
42
messages ICMP : véhiculés à l’intérieur de datagrammes IP
utilise IP comme protocole de couche supérieurechamp protocole = 1
routés comme n’importe quel datagramme IP sur l’internet. Un message ICMP ne demande pas de réponse
ne doit pas engendrer un autre message ICMP
43
44
45
L'utilitaire ping
Ping : envoi d'un écho, attente de réponse, mesure du temps aller-retour
teste l'accessibilité d'une destination de bout en bout
évaluation de performances
la réponse doit parvenir avant 20 secondes
Exemples :•ping 127.0.0.1 : permet de tester la pile TCP/IP locale (en loopback)
•ping mon@IP : permet de vérifier la configuration réseau locale de la station
•ping @default-routeur : permet de tester la configuration du sous-réseau et de la passerelle
•ping @dest : permet de tester un chemin de bout en bout 46
47
48
49
50
Recommended