• Aucun résultat trouvé

Protocoles Internet

Dans le document Protocoles et architectures (Page 24-34)

Les protocoles Internet (IP) sont des protocoles intraréseaux et sont non orientés connexion (connectionless) – ou dits sans connexion. Ils occupent les trois premières couches du modèle OSI.

Des routeurs connectent ensemble des réseaux. Ils sont appliqués aux couches physique, liaison et réseau. Ce sont donc des relais. Le rôle d’un protocole Internet est de communiquer avec les routeurs voisins.

Le protocole IP prend en charge le routage, la taille du paquet, l’information sur le type de service, le contrôle du début, la segmentation et le rassemblement en paquets.

Protocole IP

Le IP (Internet Protocol) est un protocole non orienté connexion qui permet l’interopérabilité entre de nombreux réseaux : anneaux à jetons, X.25, Internet, etc., quelles que soient les caractéristiques de la couche physique de ces réseaux.

Il existe deux versions du protocole IP : la version 4 et la version 6 (ou IP nouvelle génération), normalisées par l’IETF (Internet Engineering Task Force). La version 4 est la plus utilisée; elle permet un adressage des terminaux sur 32 bits, alors que la version 6 offre un adressage sur 128 bits. La version 6 est en pleine expansion.

Du point de vue des couches ISO, IP se situe immédiatement au-dessus de la sous-couche réseau et offre une adresse logique pour les ordinateurs d’un réseau. L’adresse IP de 32 bits doit être capable d’adresser des nœuds recevant des liaisons de types différents (Internet : 48 bits, X.25 : 14 chiffres décimaux) et des trames de longueurs différentes fixées à la carte réseau de l’ordinateur (4500 octets en FDDI, 1518 octets pour Internet, etc.). Pour cela, un service de datagramme permet de refragmenter ou de rassembler les trames entrantes en paquets généralement plus petits. La fragmentation n’est nécessaire que si la longueur de la trame est plus grande que celle que permet un datagramme. Dans le cas contraire, le datagramme partiellement rempli est transmis. Les datagrammes peuvent arriver à destination en suivant un routage différent. Ils sont numérotés afin de reconnaître leur ordonnancement.

Le protocole IP n’offre ni contrôle de flux ni contrôle d’erreurs. Il les détecte sans les contrôler; si le paquet est erroné, il le rejette sans en aviser la couche supérieure et sans chercher à en générer un autre.

L’en-tête associé aux protocoles IP comprend les informations suivantes : adresses de source et de destination, type de service, longueur des paquets et des en-têtes, codage d’erreurs de l’en-tête, information de fragmentation, mécanique et automatique, si l’on n’est pas dans une boucle, numéro de version, amplificateur et variété de champs optionnels, comme forcer l’information à passer par un routeur particulier.

La figure 3.12 illustre un datagramme IP.

Version

Le champ Version (VERS) de quatre bits indique la version de protocole IP : version 4 ou version 6.

Le champ En-tête (IHL, Internet Header Length) de quatre bits indique la longueur de l’en-tête en mots de 32 bits, ce qui permet de pointer directement vers le début des données. Le nombre de mots de 32 bits peut varier entre cinq et seize, selon la longueur du champ d’options.

Le champ Type de service est un champ de 8 bits indiquant le type de service. Les trois premiers bits indiquent la priorité. Les quatre bits suivants précisent le type de service (normal : 0 0 0 0, avec minimisation des coûts : 0 0 0 1, avec fiabilité maximale : 0 0 1 0, avec maximisation de débit : 0 1 0 0, ou en minimisation de délai : 1 0 0 0).

Le champ Longueur totale (total length) est un champ de 16 bits et indique la longueur totale (en octets) de l’adresse IP (en-tête IP et données IP). La longueur maximale d’un datagramme IP est limité à 65 535 octets. Les routeurs sont conçus pour interpréter des datagrammes IP d’au moins 576 octets.

Le champ Identification permet de modifier un datagramme IP particulier : c’est le numéro d’identification d’un datagramme spécifique. Si un datagramme IP doit être fragmenté, le numéro du datagramme est copié dans chaque fragment.

Le champ Fanion (flags) est un champ de quatre bits; il informe le récepteur si le datagramme est fragmenté ou non. La figure 3.13 nous montre comment ce champ est divisé.

0 DF M F

"More Fragment"

MF = 1 indique que d'autres

fragments suivent.

"Don't Fragment"

DF = 1 signifie que le datagramme ne peut être fragmenté.

Réservé ; doit être égal

à zéro.

FIGURE 3.13

Le champ Fanion (Flags).

Le champ Fragment (fragment offset) indique la position du fragment dans le datagramme IP. La valeur de ce champ correspond au premier numéro d’octet qui appartient à ce fragment particulier. Si le fragment précédent contenait par exemple 2364 octets allant du numéro 6700 à 9064, le champ du fragment actuel affichera alors la valeur 9065.

Le champ Durée maximale (time-to-live) de huit bits indique la durée maximale permise d’un datagramme IP. La valeur de ce champ fait démarrer un compteur qui est décrémenté régulièrement. Lorsque le compteur atteint la valeur zéro, le datagramme est détruit. Ce champ permet d’éviter des situations où l’information circule indéfiniment en boucle entre les routeurs.

Le champ Protocole de huit bits indique le type de protocole qui est encapsulé dans les données du datagramme IP. Les valeurs types sont :

– 1 pour ICMP;

– 6 pour TCP;

– 17 pour UDP.

Le champ Contrôle d’erreurs de l’en-tête (header checksum) de seize bits effectue un contrôle d’erreurs, mais au sein de l’en-tête seulement. Ce champ est vérifié par le destinataire. S’il y a découverte d’une erreur, le datagramme est détruit.

Les champs Adresse d’origine et Adresse de destination occupent chacun 32 bits. Les adresses sont des adresses IP de classe A, B, C ou D.

Le champ Options a une longueur variable. Il peut être étendu ou omis. Des bits de remplissage sont utilisés pour compléter un mot à 32 bits. Le champ Options comprend un bit de fanion, deux bits pour la classe d’option et cinq bits pour l’option.

Alternativement, ce champ peut consister en un seul octet définissant une option particulière.

La figure 3.14 illustre comment sont définis les types d’options, dans le premier cas.

Fanion 1

Classe 2

Option 5

Remplissage ou paramètres d'option supplémentaires FIGURE 3.14

Définition des types d’options.

Le fanion est un bit dont la valeur « 1 » ou « 0 » indique si le fichier a été copié au routeur ou non.

Les bits de la classe d’options sont de quatre types : – contrôle (0 0);

– réservé (1 0);

– dépannage et mesure (0 1);

– réservé également (1 1) pour un usage futur.

Les cinq bits d’options peuvent être réservés :

– 0 0 0 0 0 End of Option List indique la fin de la liste des options, au cas où cette liste n’occuperait pas 32 bits.

– 0 0 0 0 1 No Operation sert à aligner les octets dans une liste d’options et ne représente pas une option particulière.

– 0 0 0 1 0 Security sert à définir le niveau de sécurité employé.

– 0 0 0 1 1 Loose Source Routing indique qu’aucun routage particulier n’est retenu.

– 0 1 0 0 1 Strict Source Routing indique que le datagramme doit passer par des nœuds (ou routeurs) bien définis.

– 0 0 1 1 1 Record Route permet de conserver l’historique des routeurs empruntés.

– 0 1 0 0 0 Stream ID ceci est une option (discrète) pour transporter une identification de type SATNET.

– 0 0 1 0 0 Type Stamping permet d’indiquer l’heure (en milliseconde) à chaque nœud.

Adresse IP

Comme le montre la figure 3.15, l’adresse IP est divisée en deux parties : la première (Netid) est destinée à identifier le routeur, la seconde (Hostid) est destinée à identifier le terminal. Il existe cinq classes d’adresses dénommées A, B, C, D et E qui dépendent du nombre de réseaux ou de terminaux rattachés au serveur.

En-tête Netid Hostid

Adresse IP Classe En-tête Bits

« Netid »

Nombre d’adresses de routeurs

Bits

« Hostid »

Nombre d’adresses de terminaux

A 0 7 127 24 16 777 214

B 10 14 16 384 16 65 536

C 110 21 2 097 152 8 255

D 1110 Mode tous-points « Broadcast »

E 1111 Classe non encore définie

FIGURE 3.15

Adresse IP et classes d’adresses.

L’adresse est lue en quatre octets séparés, chaque octet étant lu de façon décimale.

Exemple d’adresse

146 . 25 . 19 . 34

P . Q . R . S

Le premier nombre décimal P est indicateur de la classe d’adresses.

Dans la classe A, l’en-tête est composé du bit « 0 ». Les sept autres bits du premier octet constituent l’indicateur de la classe qui peut prendre des valeurs comprises entre 1 et 127. Le premier octet permet d’identifier les routeurs, tandis que les trois autres octets servent à identifier les différents terminaux. Cette classe est utilisée pour l’adressage, dans les réseaux qui comprennent un très grand nombre de terminaux, soit 16 777 214.

Dans la classe B, l’en-tête est composé des bits « 10 ». Les six autres bits du premier octet constituent l’indicateur de la classe qui peut prendre des valeurs comprises entre 128 et 191. Les deux premiers octets permettent d’identifier les routeurs, tandis que les deux autres octets servent à identifier les différents terminaux. Cette classe est utilisée pour l’adressage, dans les réseaux intermédiaires pouvant compter jusqu’à 65 536 terminaux.

Dans la classe C, l’en-tête est composé des bits « 110 ». Les cinq autres bits du premier octet constituent l’indicateur de la classe, qui peut prendre des valeurs comprises entre 192 et 223. Les trois premiers octets permettent d’identifier les routeurs, tandis que le dernier octet sert à identifier les différents terminaux. Cette classe est utilisée pour l’adressage, dans les réseaux d’au plus 255 terminaux.

Dans la classe D, l’en-tête est composé des bits « 1110 ». Les quatre autres bits du premier octet constituent l’indicateur de la classe, qui peut prendre des valeurs comprises entre 224 et 239. Dans cette classe d’adresses, la notion de réseau est absente. Cette classe est utilisée pour diffuser les datagrammes vers un groupe de terminaux.

Dans la classe E, l’en-tête est composé des bits « 1111 ». Elle est réservée pour un usage futur.

Adresse de masque

Le sous-réseautage simplifie l’administration en permettant de former des sous-groupes fonctionnels au sein d’une administration. L’adresse IP devient :

Netid Numéro de

terminal Numéro de

sous-réseau Hostid

Pour que l’on puisse savoir s’il existe un sous-réseau ou non, l’adresse IP est accompagnée d’un masque « P.Q.R.S. » Les principaux masques sont :

– 255.0.0.0 pour une adresse IP de classe A; Q.R.S. est l’adresse du terminal;

– 255.255.0.0 pour une adresse IP de classe B; R.S. est l’adresse du terminal;

– 255.255.255.0 pour une adresse IP de classe C; S constitue l’adresse du terminal.

La démarcation entre les valeurs décimales 255 et 0 du masque permet d’établir quelle partie du champ Hostid servira à déterminer le sous-réseau. La partie gauche servira à déterminer le sous-réseau, tandis que la partie droite servira à déterminer le terminal.

Rappelons que le nombre P (le premier nombre de l’adresse IP) définit la classe d’adresse IP : de 1 à 127 pour la classe A, de 128 à 191 pour la classe B, de 192 à 223 pour la classe C et de 224 à 239 pour la classe D. L’adresse IP complète d’un terminal est donc constituée de l’adresse IP et du masque IP. Ces informations sont généralement accompagnées de l’identification d’un routeur par défaut.

Considérons l’adresse IP « 75.40.6.13 », accompagnée du masque « 255.255.0.0. » L’adresse IP montre qu’il s’agit d’une adresse de classe A, et que le terminal est identifié par « 40.6.13 ». Comme la démarcation dans le masque se situe entre le deuxième et le troisième nombre décimal à partir de la gauche, dans l’adresse du terminal, « 40 » représentera le numéro du sous-réseau et « 6.13 » représentera le terminal.

Considérons l’adresse IP « 160.38.6.9 » accompagnée d’un masque « 255.255.255.0 ».

L’adresse IP montre qu’il s’agit d’une adresse IP de classe B, et que le terminal est identifié par « 6.9 ». Comme la démarcation dans le masque se trouve entre le troisième et le quatrième nombre, « 6 » représentera le sous-réseau, tandis que « 9 » représentera le terminal.

Considérons enfin l’adresse IP « 198.230.160.5 » accompagnée du masque

« 255.255.255.0 ». L’adresse IP montre qu’il s’agit d’une adresse de classe C, et que le terminal est identifié par « 5 ». Comme la démarcation dans le masque se trouve entre le troisième et le quatrième nombre, le nombre « 5 » représentera le terminal. Il n’y a pas de sous-réseau étant donné qu’il n’y a aucun nombre à gauche de la démarcation pour pouvoir le représenter.

L’adresse du sous-réseau occupe une partie du champ Hostid, ce qui réduit la dimension de l’adresse du terminal et augmente la dimension de l’information de routage. De fait, un réseau particulier est défini par l’adresse Hostid « 0 » (zéro), c’est-à-dire que tout le champ Hostid, qui peut être inférieur à un octet, est tout plein de bits « 1 » (un), c’est que l’on est en mode tous-points (Broadcast).

Normalement, l’adresse IP est fournie par le pourvoyeur de service Internet. Toutefois, si un usager ne veut pas se brancher à Internet, il peut obtenir une adresse IP valide grâce à un NAT (Network Address Translation). Les adresses réservées pour un usager privé sont :

10 0 0 0 10 255 255 255

172 16 0 0 172 31 255 255 16

192 168 0 0 192 168 255 255 256

. . . .

. . . .

. . . .

soit un réseau de classe A soit réseaux de classe B soit réseaux de classe C

Ces adresses sont uniques au sein d’un réseau local donné. Toutefois, il peut y avoir des problèmes si l’on en sort, car la même adresse privée peut avoir été octroyée ailleurs.

Aussi est-il préférable de passer par le NAT.

Pour surmonter les limitations de l’adressage IP traditionnel (version 4), la nouvelle version IPv6 fait usage d’une adresse de 128 bits qui inclut l’adresse IPv4 : 96 bits sont ajoutés avant les 32 bits de l’adresse IPv4; ceci permet d’inclure du cryptage. Par ailleurs, certains zéros de l’adresse sont compressés.

Protocole SNAP

Le protocole SNAP (SubNet Access Protocol) permet d’inclure de l’information d’adressage dans huit octets du champ d’information d’une trame LLC (Logical Link Control) IEEE 802.3, 802.4, X.25 ou à la couche AAL de ATM. Ce protocole est utilisé par IBM et Apple. L’information IP insérée est :

DSAP SSAP CTR OUI Ethetype

DSAP (Destination Service Access Point);

SSAP (Source Service Access Point);

– CTR (contrôle);

OUI (Organisation Unit Identifier ou Identification du protocole de l’organisation);

– Ethertype (type de l’application).

Protocoles de routage

Voyons deux protocoles de routage : le protocole de routage basé sur la distance vectorielle minimale et le protocole de routage basé sur le statut de la liaison. La figure 3.16 présente un exemple de routage.

Le protocole de routage basé sur la distance vectorielle minimale vise à un minimum d’étapes intermédiaires entre le terminal et l’appelant et entre le terminal et l’appelé.

Dans le protocole de routage basé sur le statut de la liaison, le délai de transmission minimal prend en considération les vitesses de propagation. Ce protocole est donc bien plus performant que le précédent.

1 0 M b/s

1 kb /s 1 kb/s

1 0 M b /s

1 0 M b /s 2 0 00 s 0.3 s

A B

C h oisit le ro u ta ge aya nt le no m b re de p o nts m in im a l

L e m au v a is ch e m in sera p ris e n co nsidé ra tio n car le n o m bre d e po nts m in im a l n e corre sp on d p a s tou jo urs au d é lai de

tran sm ission m in im a l.

FIGURE 3.16

Exemple de routage.

Routeurs IP

Le rôle d’un routeur est de traiter chacun des datagrammes entrant par un port donné et de les acheminer vers d’autres ports, en se basant sur une table de routage interne et sur l’adresse IP de la destination. Une table de routage permet de désigner le chemin à prendre entre deux routeurs ou entre un terminal et un routeur. Les routeurs communi-quent entre eux par des liens séparés. La figure 3.17 présente le diagramme d’un routeur.

Le protocole de routage tient compte des routeurs qui lui sont directement liés ou de ceux qui sont reliés par un certain nombre de routeurs intermédiaires. Il va sans dire que le routeur vérifie tout d’abord si le datagramme entrant ne cherche pas à rejoindre une adresse appartenant à son réseau local. Si le routeur est directement connecté à l’adresse de la destination, il procède à un ARP (Address Resolution Protocol) en vue d’obtenir l’adresse MAC du terminal désiré avant d’acheminer le datagramme à cette adresse. Si le routeur n’est pas directement connecté à l’adresse de destination, il se fie à sa table de routage. Si l’adresse de destination n’apparaît pas dans la table de routage, il utilise une route « par défaut » pour continuer à chercher l’adresse de destination. Le nombre d’étapes de routage est limité. L’information TTL (Time To Live) dans la trame IP est décrémentée à chaque routeur. La transmission est interrompue lorsque le compteur TTL est rendu à zéro. De la sorte, on évite les situations où l’information circule en boucle fermée entre des routeurs.

M é m o r is a t io n d u p r o g r a m m e

F l a s h C o n f ig u r a t io n C P U R A 1 M é m o ir e

viv e T a b l e s

d e r o u ta g e

C a r te s I/O

R A M

C o n s o le

FIGURE 3.17

Diagramme synoptique d’un routeur.

Si un même serveur réalise que deux terminaux ont la même adresse IP, il peut ignorer la seconde, effacer la première ou alors rester bloqué. Il convient alors de retracer le problème au moyen d’un analyseur de réseau ou d’un renifleur (sniffer). Un paquet IP comprend, entre autres, les adresses de source et de destination, ainsi que de l’information relative à la fragmentation ou la non-fragmentation des paquets. Chaque fragment a son en-tête. L’information du champ Fragment (fragment offset) permet de situer le fragment par rapport à l’origine du message.

Les informations optionnelles peuvent inclure le routage, le niveau de sécurité, le temps de transmission, etc. De nombreux mécanismes permettent de limiter le temps de transmission; si l’information est bloquée, la transmission doit être interrompue. Les adresses ont des longueurs variables (classes A, B, C et D), l’adresse du réseau pouvant varier de sept, quatorze et 21 bits.

Il est possible de diviser l’adresse en sous-réseaux de façon à créer des sous-réseaux Internet privés regroupant un certain nombre de terminaux (IP Multicast, IP Subnetworking). Le nombre d’adresses IP possible est de plusieurs dizaines de millions. La figure 3.18 illustre le passage aux sous-réseaux.

O r g a n i s a t io n d e l'a d m in is t r a t io n

S o u s - r é s e a u

A d m i n i s t r a t i o n d e s o u s - r é s e a u x

D e r n ie r t e r m i n a l S o u s - r é s e a u

FIGURE 3.18

Du réseau au sous-réseau.

IP nouvelle génération

Le problème de la longueur limitée des adresses est pris en compte par le IpnG (IP Next Generation) et sa version IPv6. La longueur des adresses passe à 16 octets. En effet, il est prévu qu’il pourra y avoir de nombreux sous-réseaux par personne (résidence, voiture, amis, travail, etc.). Avec ce protocole, la fragmentation est la responsabilité des TCP et non plus des IP. L’en-tête est deux fois plus long; il est donc de 40 octets, dont 16 octets pour l’adresse de source et seize autres pour l’adresse de destination, et le nombre d’options est plus important. Le protocole doit permettre de configurer un réseau en tenant compte du fait qu’il doit interroger les terminaux pour connaître les adresses IP et les adresses MAC (adresses de la couche liaison propre au réseau).

Il existe une version 4 (IP V.4) qui peut coexister avec celle de l’IP V.6.

Autres protocoles Internet Internet OSI ou CLNP

Le protocole de la couche réseau en mode sans connexion (CNLP Connectionless Network Layer Protocol), que montre la figure 3.19, est une extension du protocole IP.

Les adresses sont des adresses OSI longues de 20 bits et la segmentation est optionnelle.

AFI

La compagnie Novell a son propre protocole Internet : Novell IPX (Internet Pocket Exchange). Au niveau de la couche transport, son protocole est comparable à l’UDP (User Datagram Protocol). Ce protocole est approprié pour fonctionner avec la plupart des applications. La longueur des paquets est auto-ajustée. L’adresse du réseau est octroyée par Novell ou par l’administrateur du réseau; celle des terminaux est l’adresse MAC.

AppleTalk DDP

Le nombre de nœuds intermédiaires des AppleTalk DDP (Datagram Delivery Protocol) est limité à quinze et est renouvelé toutes les dix secondes.

Dans le document Protocoles et architectures (Page 24-34)

Documents relatifs