Chapitre IX TCP/IP Les protocoles de l'architecture Internet 1. Couche Réseau dans Internet...

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