Vous êtes sur la page 1sur 14

Modèle TCP/IP et Internet

Plan :

Présentation générale De TCP/IP OSI et TCP/IP Pile de protocoles TCP/IP Des organismes de gestion. L’adressage Avec la norme IPv4 Aperçu de la norme Ipv6 Le protocole réseau IP Présentation Structure du Datagramme IP Le Routage IP Le protocole de transport TCP Structure du message TCP La connexion TCP

TCP/IP :

Modèle OSI et protocoles TCP/IP (Transport Control Protocol / Internet Protocol)

TCP/IP (Transport Control Protocol / Internet Protocol) Dans ce contexte, on parlera d'une pile de protocoles

Dans ce contexte, on parlera d'une pile de protocoles du modèle TCP/IP. Par exemple :

1

ARP (Adress Resolution Protocol) Permet de faire la correspondance entre les adresses logiques et les

ARP (Adress Resolution Protocol) Permet de faire la correspondance entre les adresses logiques et les adresses physique (MAC) - Type = 806 RARP (Reverse Adress Resolution Protocol) Correspondance Adresse physique / adresse logique - Type = 8035 UDP (User Datagram Protocol) Protocole équivalent à TCP mais en mode non connecté (Datagramme). Livraison non fiabilisée (pas de garantie d'arrivée, pas de contrôle de flux ni du séquencement…)

La Gestion d'internet

Le réseau Internet est géré par l'ICANN (Internet Corporation for Assigned Names

and Numbers) organisation de droit privé (droit californien) à but non lucratif créé en

1998.

De par ses statuts elle doit :

Coordonner les éléments techniques pour préserver la connectivité universelle des réseaux. De par ses statuts elle doit :

Allouer et gérer l'espace des adresses IP Attribuer des identificateurs de protocole Gérer les noms de domaine de premier niveau pour les codes génériques (.com, .net, etc.) et nationaux (.fr, .it, etc.) Superviser et garantir le fonctionnement du système racine DNS. L'ICANN remplace et assume maintenant les fonctions assurée précédemment par l'IANA (Internet Assigned Number Authority). L'ICANN est dirigé par un comité directeur de 19 membres élus. Les principales composantes de l'ICANN :

Le DNSO (Domain Name Supporting Organization) qui traite des noms de domaines.

Les principales composantes de l'ICANN :

L'ASO (Address Supporting Organization) qui s'occupe des adresses IP. Elle délègue la gestion des adresses IP à divers organismes :

2

RIPE NCC (Réseaux IP Européens - Network Coordination Center) pour l'Europe, Moyen-Orient, Afrique du Nord APNIC (Asia-Pacific NetWork Information Center) pour l'Asie et le Pacifique ARIN (American Registry for Internet Numbers) pour les États-Unis et le reste du monde Ces organisme délèguent à leur tour (en France, l’AFNIC -au sein de l’INRIA- gère le domaine .fr). Le PSO (Protocol Supporting Organization) travaille sur les protocoles utilisés dans les communication sur l'Internet. PSO collabore avec les organismes qui ont définis ou fait évolués les standards (IETF, W3C, etc.) et les organismes de télécommunication

L'adressage IP (Ipv4)

La norme IPv4, bientôt remplacée par IPv6, a connu de nombreuses évolutions :

Une application "Classfull" de la norme. Puis devant les limites de ce type d'adressage, Le SubNetting (sous-réseaux)

L'adressage CLASSFULL Une adresse IP est codée sur 32 bits (4 octets) traditionnellement exprimée à l'aide de 4 nombres (0 à 255) séparés par des points Exemple d'adresse : 192.48.92.2 Décomposition d'une adresse IP :

: 192.48.92.2 ∑ Décomposition d'une adresse IP : Classe A ( premier bit à zéro )
: 192.48.92.2 ∑ Décomposition d'une adresse IP : Classe A ( premier bit à zéro )

Classe A (premier bit à zéro) 126 Réseaux possibles (00 à 7F) + 16 millions de machines (000000 à FFFFFF). Adresses attribuées aux grands organismes (Défense US, MIT, etc.). Actuellement plus attribué.

3

Classe B (second bit à zéro) 16384 réseaux (8000 à BFFF) et 65535 machines. Adresses allouées aux grands sites industriels, centres de recherche, universités, etc.). Classe C (troisième bit à zéro) 2097152 réseaux (C00000 à DFFFFF) avec 254 machines sur chaque réseau. Classe D (quatrième bit à zéro) Ces adresses ne désignent pas une machine mais un groupe de machines voulant partager la même adresse. La diffusion sur le groupe s'appelle MULTICAST

adresse. La diffusion sur le groupe s'appelle MULTICAST Adresses Particulières : 0.0.0.0 Adresse utilisée par

Adresses Particulières :

0.0.0.0 Adresse utilisée par une machine pour connaître son adresse Internet durant une procédure d'initialisation (cf DHCP). 255.255.255.255 message envoyé à toutes les machines du réseau mais pas vers les autres réseaux (broadcast limité). <réseau>.255 message envoyé à toutes les machines du réseau <réseau> (broadcast dirigé). Par exemple : 193.16.24.255. <réseau>.0 Adresse utilisée pour désigner le réseau <réseau>. Par exemple :

193.16.12.0.

127.x.x.x Adresse de boucle. Le paquet envoyé avec cette adresse revient à l'émetteur. La valeur de 'x' est indifférente. On utilise généralement 127.0.0.1 Le RFC 1597 fournit des adresses pour les réseaux privés (Adresses non routables sur l'Internet) :

10.0.0.0 1 réseau de classe A

Soit le bloc d’adresses : 10.0.0.0 - 10.255.255.255 de 172.16.0.0 à 172.31.0.0 16 réseaux de classe B Soit le bloc d’adresses : 172.16.0.0 - 172.31.255.255 de 192.168.0.0 à 192.168.255.0 256 réseaux de classe C Soit le bloc d’adresses : 192.168.0.0 - 192.168.255.255

C Soit le bloc d’adresses : 192.168.0.0 - 192.168.255.255 Partant d'une adresse d'hôte (machine), le masque

Partant d'une adresse d'hôte (machine), le masque de réseau va permettre de reconnaître chacune des deux parties. Dans un contexte "classfull", il y a un masque par classe.

4

Remarque importante : Avec le protocole IP, contrairement à l'adresse IP, LE MASQUE NE CIRCULE

Remarque importante :

Avec le protocole IP, contrairement à l'adresse IP, LE MASQUE NE CIRCULE PAS sur le réseau (voir trame IP ). Il est connu par les hôtes et les différents routeurs situés sur le ou les réseaux. Le masque se déduit du premier octet. Réseaux IP:

Un réseau IP se défini comme un ensemble de machines (hôtes) interconnectées ayant la même adresse réseau et le même masque. Les réseaux IP sont séparés et interconnectés par des routeurs

IP sont séparés et interconnectés par des routeurs Réseaux IP: Dans un contexte "classfull" chaque

Réseaux IP:

Dans un contexte "classfull" chaque réseau possède une adresse de classe et son masque

réseau possède une adresse de classe et son masque Réseaux IP : Sur un réseau local

Réseaux IP : Sur un réseau local on créera des réseaux IP pour :

des raisons d’optimisation du trafic : Un réseau IP formera au moins un domaine de collision. La diffusion ARP et DHCP se fait sur le réseau IP de l’émetteur. des raisons de sécurité : La fonction routage peut être associé à des fonctions de filtrage (proxy, firewall, filtre,…)

5

Limites du "classfull" L'utilisation stricte du "classfull" a très rapidement atteint ses limites :

Le stock d'adresses publiques fut rapidement épuisé. Pour les très grands réseaux, le nombre d'adresses privées est insuffisants. Gaspillage d'adresses ; Avec une adresse de classe C, 253 hôtes, pour parfois un nombre d'hôtes inférieur. Le SubNetting (sous-réseau) L'administrateur d'un LAN est maître de sa codification. Il peut s'il le désire créer diviser une adresse "classfull" en sous-réseaux dans la partie qui lui revient. L'adresse IP d’un hôte sera alors l’association de 3 adresses :

Adresse du réseau Adresse du Sous-réseau Adresse de la machine sur le sous-réseau Donc deux problèmes peuvent se poser à l’administrateur :

Définir son plan d’adressage donc définir un masque de réseau Retrouver grâce au masque de réseau, les éléments constitutifs d’une adresse (réseau, sous-réseau et hôte).

d’une adresse (réseau, sous-réseau et hôte). Le masque de réseau doit permettre de séparer la partie

Le masque de réseau doit permettre de séparer la partie réseau + sous-réseau d'avec la partie numéro de machine. Exemples :

Rappel : sans sous-réseau (classfull) Classe A : 255.0.0.0 - Classe B : 255.255.0.0 Classe C : 255.255.255.0 Calcul :

<Adresse-IP> ET <Masque> = <Adresse-réseau>.0

La division des bits à la disposition de l'administrateur se fera selon :

Le nombre de sous-réseaux à adresser et/ou Le nombre d'hôtes à adresser sur chaque sous-réseau en tenant compte de l'évolution de ce nombre. Application: calculs des sous-réseaux et VLSM :variable length subnet mask

Une convention d'écriture des adresses IP On trouve parfois l'écriture suivante des adresses IP (reprise de la notation CIDR) :

6

142.12.42.145 / 24 - 153.121.219.14 / 20 Dans cette écriture les nombres 24 (pour 255.255.255.0) et 20 (pour 255.255.240.0) représentent le nombre de bits consacré à la codification du réseau (et sous réseau). C'est une autre façon de donner le masque. La technique CIDR La méthodologie CIDR (Classless Internet Domain Routing – Routage de domaine Internet sans classe ) s'applique essentiellement à l'Internet. Devant l'expansion d'Internet 2 problèmes qui sont liés, sont apparus :

Faire face au manque d'adresses Faire face à la taille importante des tables de routage des routeurs. Problème :

Une organisation désire 2000 adresses. Un réseau de classe B lui procurera 65534 hôtes (63534 adresses perdues). Un réseau de classe C lui procurera seulement 254 hôtes. Pour une bonne gestion du stock d'adresses, l'organisation obtiendra 8 réseaux de classe C (254*8 = 2032 adresses) par exemple les ID de réseau 220.78.16.0 à 220.78.23.255 (ID contiguës) Mais cette multiplicité de réseaux implique une surcharge des tables de routage car pour 1 organisation 8 lignes sont nécessaires alors qu'une seule devrait suffire.

sont nécessaires alors qu'une seule devrait suffire. La technique du CIDR va permettre de remplacer ces

La technique du CIDR va permettre de remplacer ces 8 lignes par une seule. Cette entrée dans la table de routage sera :

[ID Réseau la plus basse – Masque de réseau_CIDR] Entre d'autres termes, cette méthode fixe une adresse de départ et une étendue.

cette méthode fixe une adresse de départ et une étendue. Les Adresses IP (Ipv6) ∑ L'adressage

Les Adresses IP (Ipv6)

L'adressage 32 bits se révéle insuffisant avec le développement d'Internet

7

(émergence de nouveaux pays – Inde, Chine…). IPv6 (ou Ipng - ng pour "Next Génération") prévoit des adresses sur 128 bits (1 milliard de réseaux). IPv6 pourra contenir un adresse IPv4 sur les 32 bits de poids faibles + un préfixe sur les bits de poids forts. Une adresse IPv6 s'exprime en notation hexadécimal avec le séparateur "deux- points".[vu plus tard dans un chapitre consacré à l’IPV6] Exemple d'adresse :

5800:10C3:E3C3:F1AA:48E3:D923:D494:AAFF

Le Protocole IP

Le protocole IP offre une couche d'abstraction par rapport aux caractéristiques physiques et matériels du réseau

aux caractéristiques physiques et matériels du réseau Un réseau IP est : ∑ En mode DATAGRAMME

Un réseau IP est :

En mode DATAGRAMME ou sans connexion (chaque datagramme est routé indépendamment du précédent) La couche IP ne tente pas d'assurer "une livraison fiable à la destination". La fiabilité et le problème du séquencement sont traités par un protocole de couche supérieure comme TCP. Le DATAGRAMME IP sera encapsulé dans "la zone de donnée" de la trame du niveau inférieur.

zone de donnée" de la trame du niveau inférieur. ∑ Version : 4 bits pour la

Version : 4 bits pour la version ( 4 pour IPv4 -actuellement utilisé- ou 6 pour IPv6).

Internet Header Length (IHL) : 4 bits pour donner la longueur de l'en-tête IP exprimée en mot de 32 bits. Avec un bourrage dans le champs option pour s'aligner sur un multiple de 32 bits. Sans le champs options la longueur minimum de l'en-tête

8

IP est de 20 octets soit 5 mots de 32 bits. Type de Service (ToS :Type Of Service) 8 bits qui se décomposent ainsi

(ToS :Type Of Service) 8 bits qui se décomposent ainsi ∑ totale du Datagramme : 16

totale du Datagramme :

16 bits pour la longueur totale (En-tête + Données). Les Datagrammes dont la longueur dépasse la zones de données (MTU : Maximum Transmission Unit) du réseau sous-jacent doivent être fragmentés (rappel : MTU Ethernet 1500 octets mais de valeurs différentes selon les types de réseaux empruntés

La Fragmentation : La fragmentation recouvre les champs identification, drapeau et place du fragment. Identification : Chaque émetteur numérote le datagramme (0 à 65535). Champs utilisé pour réassembler un datagramme fragmenté. Drapeau : 3 bits

Longueur

un datagramme fragmenté. ∑ Drapeau : 3 bits Longueur ∑ DF = 0 Fragmentation possible. DF

DF = 0 Fragmentation possible. DF = 1 Fragmentation interdite. MF = 0 Dernier fragment. MF = 1 Ce n'est pas le dernier fragment. Place du fragment : 13 bits pour indiquer la position des données du fragment par rapport au début du datagramme originel (en mot de 8 octets).

Drapeau (suite) :

La Durée de Vie (TTL : Time To Live)

Temps maximal pendant lequel le paquet peut rester dans le système.

Valeur = 0

En principe TTL est exprimé en Seconde. Mais les durées de propagation sont difficilement évaluables par les routeurs. En pratique TTL contient le nombre de routeurs maximal qu'un paquet peut traverser. Chaque routeur décrémente de 1. Évite ainsi un bouclage infini dans les réseaux maillés des routeurs de l’internet.

Protocole Ce champ indique le protocole de couche supérieur

=====>

Le paquet est détruit

9

∑ au complément à 1 de la somme des mots de 16 bits (excepté le

au complément à 1 de la somme des mots de 16 bits (excepté le checksum). Cette somme est recalculée par chaque routeur (modification du champs TTL)

Adresse Source (cf Adressage IP)

Adresse Destination (cf Adressage IP)

CheckSum : Égal

Le Routage IP

Les réseaux IP sont interconnectés entre eux pour former un vaste réseau dont l'étendue peut être mondial (INTERNET). Les réseaux IP sont reliés entre eux à l'aide de périphériques : Les ROUTEURS. La transmission des datagrammes IP vers leurs destinataires s'appelle le ROUTAGE. (Le routage ne s'entend que dans un environnement interconnecté de réseaux ou de sous-réseaux.) Dans chaque routeur un logiciel de routage IP à l'aide d'une table de routage achemine l'information de proche en proche vers le destinataire Les hôtes -station d'un réseau- peuvent avoir aussi une table de routage.

Schéma simplifié d'une table de Routage :

∑ Schéma simplifié d'une table de Routage : Les Protocoles de transport On trouve typiquement au
∑ Schéma simplifié d'une table de Routage : Les Protocoles de transport On trouve typiquement au

Les Protocoles de transport On trouve typiquement au dessus du protocole IP (couche réseau - 3), les protocoles de transport (couche 4) suivants :

UDP (User Datagramme Protocol)

10

Protocole sans connexion:transmet sans s’assurer de l’écoute à l’extrémité Livraison non fiabilisée (pas de garantie d'arrivée, pas de contrôle de flux ni du séquencement…)

TCP (Transmission Control Protocol) Mode connecté: établit une relation entre les extrémités avant d’envoyer

Le Message TCP

Caractéristiques du protocole TCP Un contrôle des données transférées (données endommagées, perdues et/ou dupliquées) et un reséquencement si la couche IP ne les délivre pas dans l'ordre. Un niveau de priorité. Les données transmises dans un message peuvent être traitées avec plus ou moins de priorité. Un contrôle du flux grâce à un mécanisme de "fenêtre« d’anticipation qui permet d’envoyer x paquets sans attendre l’accusé réception. Cette fenêtre se réajuste automatiquement si paquets perdus et retransmis, ce qui permet de « s’adapter » à la surcharge des réseaux

qui permet de « s’adapter » à la surcharge des réseaux ∑ Port Source - Port

Port Source - Port Destination L'adresse IP, au niveau 3, permet de situer une machine. Une fois la machine trouvée, il faut pouvoir déterminer l'application qui doit traiter les données.

L'application est désignée par un NUMERO DE PORT.

L'application est désignée par un NUMERO DE PORT . Le RFC 1700 donne l'affectation des numéros

Le RFC 1700 donne l'affectation des numéros de port aux applications connues (wellknown ports)

11

Les numéros de port compris entre 0 et 1023 sont réservés pour les ports usuels. L'association :

[Adresse IP + Numéro de port] s'appelle un Socket . Numéro de séquence et Acquittement Principe : Pour la fiabilité de la transmission les octets sont numérotés.

Champ des bits de contrôle (Flag) 6 Bits pour définir la fonction des message et la validité de certains champs :

URG : Message urgent - Les données doivent être traitées sans attendre que le récepteur ait traité les octets envoyés dans le flux. ACK : Indique la validité du champ acquittement. Champ des bits de contrôle (Flag) PSH : Les données reçues doivent être immédiatement remises à la couche supérieure. RST (Reset) : Réinitialisation de la connexion suite à une erreur irrécupérable. SYN : Indique l'ouverture d'une connexion. FIN : Fermeture normale d'une connexion Champ réservé Pour un usage futur et positionné à 0. Déplacement Nombre de mots de 32 bits qui constitue l'entête TCP car le champ Option est de longueur variable. Avec aucune option, déplacement = 5 (20 octets). Champ fenêtre Ce champ est une implémentation du contrôle de flux . Nombre d'octets qu'il est possible de recevoir par rapport au numéro d'acquittement (cf. plus loin ). Il est calculé par le récepteur en fonction de la taille encore disponible dans son buffer d'entrée. CheckSum Pointeur message Urgent Pointe sur les octets qui doivent être traités en priorité. Options Champ de longueur variable avec un bourrage pour s'aligner sur un multiple de 32 bits (voir déplacement)

La Connexion TCP

Gestion d'une connexion TCP

Les champs numéro de séquence , acquittement et flags sont utilisés par le protocole TCP à gérer la communication de bout en bout (couche 4) Une application qui appelle le module TCP utilise les appels systèmes suivants :

OPEN pour ouvrir la connexion. On distingue :

OPEN PASSIF qui est un open type serveur. Il reste à l'écoute et accepte les requêtes qui lui arrive. OPEN ACTIF qui est un open type client qui après une connexion sur un open passif enverra des données. CLOSE pour fermer la connexion

12

SEND pour envoyer les données après un OPEN RECEIVE pour recevoir des données STATUS pour obtenir des informations sur la connexion.

L'ouverture d'un connexion TCP se négocie en 3 temps à l'aide des flags SYN et ACK :

se négocie en 3 temps à l'aide des flags SYN et ACK : ∑ Le contrôle

Le contrôle de flux se fait à l'aide des champs numéro de séquence (noté #SEQ) et

acquittement (noté #ACK). La valeur initiale de #SEQ est produite à partir d'une horloge et d'un compteur incrémenté toutes les 4 ms. Il permet de numéroter les octets de données. Avec ces éléments un schéma d'une connexion TCP sera le suivant (il existe d'autres séquences de protocole ) :

ces éléments un schéma d'une connexion TCP sera le suivant (il existe d'autres séquences de protocole
ces éléments un schéma d'une connexion TCP sera le suivant (il existe d'autres séquences de protocole

13

14

14