• Aucun résultat trouvé

OPTIONS IP

Dans le document TCP/IP Internet/Intranet/Extranet (Page 33-43)

LE PROTOCOLE TCP/IP

1.2.11. OPTIONS IP

IP implémente un mécanisme permettant d'indiquer le niveau de sécurité d'un datagramme ainsi que certaines informations de routage par la source et des informations de marque de temps.

Comme ces précisions sont rarement utilisées, on a préféré les implanter sous forme de champs facultatifs appelés des options IP.

Le champ option est de taille variable. Quand elles existent, les valeurs doivent être des multiples de mots de 32 bits. On remplit éventuellement le champ de 0 pour que la taille de ce champ soit bien un multiple de mots de 32 bits.

Notes personnelles

page 34 TCP/IP - Internet/Intranet/Extranet Ces options sont les suivantes :

♦ Sécurité,

♦ Record route,

♦ Strict source routing,

♦ Loose source routing,

♦ Internet Timestamp.

Ces options IP doivent être prises en compte par tous les nœuds IP et apparaissent au sein des datagrammes IP près de la fin de l'en-tête. Leur présence dans un datagramme est, contrairement à l'implémentation, facultative.

Dans un environnement nécessitant un haut niveau de sécurité, par exemple, uniquement l'option sécurité peut être obligatoire dans tous les datagrammes.

Il existe deux formats pour les valeurs d'options IP.

Format 1 d'option : un seul octet de type d'option,

Format 2 d'option : un octet de type d'option, un octet de longueur d'option et les octets de données d'options. Dans ces conditions, l'octet de longueur d'option contient la taille totale de l'option, en comptant l'octet de type, de longueur et de données d'options.

Figure 3 : Formats d'option 1 et 2

Notes personnelles

TCP/IP - Internet/Intranet/Extranet page 35 L'octet de type d'option est le premier octet apparaissant dans toute spécification d'option. Dans le format 1, cet octet est le seul spécifié. Dans le format 2, il est suivi de deux autres champs.

Le type d'option est constitué de trois champs suivants :

Nom Taille (en bit) Type signification

Copié 1 Flag Spécifie la façon dont les routeurs traitent les champs lors de la fragmentation : 1 = options copiée dans tous les fragments du datagramme IP; 0 = options copiées dans les premiers fragments de datagramme IP , mais pas les suivants.

Classe d'option 2 Détermine la catégorie à laquelle appartient l'option.(00=0 :

Contrôle réseau et débogage), (01 = 1 : Réservé pour un usage ultérieur), (10 = 2 : débogage et mesures) , (11=3 : réservé pour un usage ultérieur)

Numéro d'option 5 Il permet de spécifier pour chaque catégorie de classe d'option 8

options différentes, donc au total, jusqu'à 32 options que nous ne verrons pas ici.

Tableau 14 : Valeur de type d'option

Pour plus d'informations et sur l'ensemble de ce qui n'a pas été développé ici, on peut se référer au RFC 791 et RFC 1122 et éventuellement Le Macmillan CampusPress (TCP/IP Nouvelle édition) de Karanjit S. Siyan.

Notes personnelles

page 36 TCP/IP - Internet/Intranet/Extranet 1.3. LES PROTOCOLES DE TRANSPORT

Les protocoles de transport TCP/IP correspondent à la couche de transport du modèle OSI. Pour ce niveau, la pile de protocoles TCP/IP fournit deux protocoles qui sont TCP (Transmission Control Protocol = Protocole de contrôle de Transmission) et UDP (User Datagram Protocol = Protocole de Datagramme Utilisateur).

Figure 4 : TCP et UDP

Ces deux protocoles vont faire l'objet de développement dans les paragraphes qui vont suivre. Comme pour IP, nous n'irons pas dans les détails de tous les champs qui les composent. Cependant, nous en dirons suffisamment de manière à appréhender la quintessence.

Notes personnelles

TCP/IP - Internet/Intranet/Extranet page 37 1.3.1. INFORMATIONS DE LA COUCHE TCP

Le protocole TCP fournit un service primordial dans la pile TCP/IP. C'est le mode connecté, autrement dit, il est responsable de la remise fiable de données.

TCP assure la fiabilité point à point entre les processus d'applications s'exécutant sur un système et d'autres processus d'applications s'exécutant sur un autre système distant. Ceci est réalisé grâce à l'ajout de différents services au-dessus d'IP.

TCP part du principe que IP est non fiable et ajoute ses propres services pour garantir la fiabilité. Il est le protocole de transport le plus utilisé pour des connexions fiables, full-duplex sur circuits virtuels. Il s'exécute la plupart du temps sur IPv4 et IPv6 (à voir plus loin). Il est aussi capable de s'exécuter au-dessus d'autres protocoles de couche réseau que IP.

Dans la pratique, à part les routeurs purs, tous les périphériques TCP/IP implémentent le protocole TCP dont les fonctionnalités fondamentales sont :

♦ Le transfert de données de base (transfert de lux continu d'octets dans chaque direction),

♦ La fiabilité (restauration des données endommagées, perdues, dupliquées)

♦ Le contrôle de flux (numérotation du flux de données octet par octet, chaque numéro est appelé numéro de séquence),

♦ Le multiplexage (TCP peut servir simultanément à plusieurs processus de la même machine),

♦ Connexions (mode connecté : avant de pouvoir envoyer des données à l'aide de TCP, les processus doivent d'abord établir une connexion. Cette connexion s'établie entre le numéro de port de l'émetteur et celui du récepteur),

♦ La préséance et la sécurité.

Notes personnelles

page 38 TCP/IP - Internet/Intranet/Extranet 1.3.2. LE FORMAT DES MESSAGES TCP

Comme la plupart des protocoles TCP/IP, l'en-tête TCP utilise un format en mot de 32 bits.

0 bit 16 bits 32

Port Source Port Destination

Numéro de séquence Accusé e réception

UA P RS F Fenêtre

Checksum Pointeur données urgentes

Option Bourrage

Data / Données de l'application Tableau 15: La structure des paquets TCP

Nous allons, dans les sections qui suivent, décrire quelques-uns des champs qui apparaissent sur le tableau ci-dessus.

Notes personnelles réservé

Data Offset

TCP/IP - Internet/Intranet/Extranet page 39 1.3.2.1. PORT SOURCE ET PORT DESTINATION

Ces champs servent à identifier les extrémités du circuit virtuel TCP. Ils contiennent comme leurs noms l'indiquent, les numéros de port des processus expéditeur et destinataire ; on rencontre trois catégories de numéro de port :

Type Caractéristique plage

Usuels (well-known) Réservés à l'IANA6 0-1023

Enregistrés Pas contrôlés par l'IANA > 1023

Affectés dynamiquement Affectés librement en fonction des besoins > 1023 Tableau 16 : Caractéristiques de sports TCP

1.3.2.2. NUMERO DE SEQUENCE ET ACCUSE DE RECEPTION

La fiabilité de la transmission par TCP repose sur les numéros de séquence et d'acquittement. Comme indiqué précédemment, le principe consiste à attribuer un numéro à chaque octet de données. Le numéro du premier octet de données du segment de message figure dans l'en-tête TCP du segment : c'est le numéro de séquence de segment.

De même, lorsque le récepteur envoie un segment de message, il envoie en même temps un numéro d'acquittement qui doit correspondre au numéro de séquence de l'octet de données suivant attendu. Les transmissions TCP sont full-duplex (un même module TCP peut être à la fois émetteur et récepteur).

L'acquittement signifie que le module TCP a reçu les données, mais il ne garantit pas que les données sont parvenues à l'application. Toutefois, le module TCP a la charge de faire parvenir les données et l'application finira par les obtenir, à moins qu'une erreur dans le module TCP ou dans l'interface de l'application ne l'empêche.

Ces deux champs ont une taille de 32 bits.

Notes personnelles

6 Internet Address Network Authority

page 40 TCP/IP - Internet/Intranet/Extranet

1.3.2.3. DATA OFFSET (DECALAGE DE DONNEES)

Ce champ indique le nombre de mots de 32 bits qui se trouvent dans l'en-tête TCP. Cette information est nécessaire parce que le champ Options à une longueur variable. Si ce dernier est vide, la valeur de Data Offset est cinq (soit 20 octets). La longueur de l'en-tête est toujours un multiple de 32 bits.

Les champs Reservé qui suivent Data Offset doivent recevoir la valeur 0.

Notes personnelles

TCP/IP - Internet/Intranet/Extranet page 41 1.3.2.4. LES FLAGS (U, A, P, R, S, F)

Les noms complets et les significations de ces flags sont répertoriés dans le tableau ci-dessous

Flag Nom complet Valeur signification

0

U URG 1 Indique l'envoie des données hors bande sans attendre que le récepteur ait traité les octets déjà envoyés dans le flux

0

A ACK 1 Indique que le champ Acknowledgment Number est valide

0

P PSH 1 Indique la remise immédiate des données au processus de la couche supérieure

0

R RST 1 Indique la réinitialisation du circuit virtuel pour cause d'erreurs irrécupérables

S SYN 0

1 indique l'ouverture d'une connexion de circuit virtuel

F FIN 0

1 Indique la fermeture de la connexion

Tableau 17: Les Flags de l'en-tête TCP

Une composition de ces flags fournit de nombreux renseignements sur l'état de la connexion TCP/IP.

Pour plus d'information sur ces flags et notamment le mode d'ouverture d'une connexion TCP/IP, se référer au MacMillan indiqué en bibliographie dans cet ouvrage.

Notes personnelles

page 42 TCP/IP - Internet/Intranet/Extranet 1.3.2.5. LA FENETRE

Ce champ implémente un contrôle de flux. Le principe veut que ce soit le récepteur qui fixe la taille de la fenêtre pour l'émetteur. Une fenêtre spécifie le nombre d'octets que le récepteur est en mesure d'accepter celui ci est indiqué à partir du renseignement fournit par le numéro d'acquittement.

1.3.2.6. CHECKSUM (LE TOTAL DE CONTROLE)

Ce champ contient le complément à 1 de la somme des compléments à 1 de tous les mots de 16 bits se trouvant dans le paquets TCP. Un pseudo en-tête de 96 bits (correspondant à la taille des adresse IP source et destination, de 8 bits, de l'ID du protocole(6 pour TCP) et de la longueur TCP) est réservé en amont de l'en-tête TCP pour le calcul du total de contrôle.

Ce pseudo en-tête sert à déterminer si le paquet est parvenu à destination et évite les erreurs de routage des segments TCP

1.3.2.7. LES OPTIONS

Ce champ se trouve placé à la fin de l'en-tête TCP et occupe un nombre de bits multiple de 8. Il participe au total de contrôle.

Une option peut commencer à n'importe quel octet.

Il existe deux formats d'option :

♦ Option à un seul octet indiquant le type de l'option,

♦ 1 octet pour le type, 1 octet pour la longueur et un ou plusieurs octets pour des données.

Pour le format 2, la longueur qui figure dans le deuxième octet prend en compte non seulement les données, mais l'octet de type et l'octet de longueur.

Notes personnelles

TCP/IP - Internet/Intranet/Extranet page 43 Il arrive que le nombre d'options ne permette pas d'atteindre la taille indiquée dans le champ Data Offset. Dans ce cas, comme pour IP, on remplit le reste de l'en-tête après l'octet de fin par des options avec des Zéros (0).

Type caractéristiques Longueur signification

0 00000000 - Fin des options

1 00000001 - Pas d'opération

2 00000010 00000100 Taille maximale de

segment Taille maximale de segment

Tableau 18 Les formats d'option TCP

Pour plus d'information, lire les RFC 792, et RFC 1122(STD37).

1.3.3. INFORMATIONS DE LA COUCHE UDP (USER DATAGRAM PROTOCOL)

Dans le document TCP/IP Internet/Intranet/Extranet (Page 33-43)