Chapitre suivantIndex des CoursChapitre précedentChapitre 9

Le modele de reference OSI

LA COUCHE RESEAU : NIVEAU 3

 

9. 1. CARACTERISTIQUES

La couche réseau a pour rôle de fournir les procédures et les moyens fonctionnels nécessaires à l'échange des informations données par la couche transport. C'est un service de bout en bout qui est responsable de l'acheminement des paquets de données qui peuvent traverser plusieurs noeuds intermédiaires. Pour parvenir à ce résultat de nombreux services sont fournis par la couche réseau. Nous allons les passer en revue.

Il faut tout d'abord un service d'adressage. Les adresses de réseau forment le moyen d'identifier de manière unique chacun de ses utilisateurs. Une fonction d'établissement et de libération de connexion de réseau peut être nécessaire pour transférer des paquets de données entre deux utilisateurs identifiés par leurs adresses réseaux; une connexion de réseau pouvant être du type point à point ou multipoint. La couche réseau assure l'intégrité du transport des paquets. Pour ce faire, il est nécessaire de définir un format de paquet et de se donner des moyens pour détecter les erreurs. En premier lieu un contrôle de flux est nécessaire pour assurer que la connexion réseau est capable de véhiculer les paquets émis par l'émetteur. Une fonction de routage permettra de sélectionner la route à suivre entre deux adresses. Des techniques de détection d'erreurs seront implantées dans la couche réseau pour vérifier le maintien de la qualité de service.

De plus, des fonctions de correction d'erreurs seront incluses pour permettre de maintenir la qualité demandée. En particulier, des techniques de reprise sur erreur doivent être spécifiées. Les erreurs irrécupérables seront notifiées à la couche transport. Des services facultatifs peuvent être rendus par la couche réseau. Par exemple, la livraison en séquence des paquets reçus par la couche transport, le transfert accéléré de paquets de supervision, le multiplexage de connexions réseau...

De même que pour la couche liaison les constructeurs de matériels informatiques ont souvent leur propre protocole, bien évidemment incompatibles entre eux. Cependant cette couche dont le développement est plus récent et qui est surtout nécessaire dans les réseaux maillés où les paquets doivent traverser plusieurs noeuds avant d'arriver à, leurs destinations, a été étudié en détail récemment ; elle n'est pas prise en compte dans les réseaux constitués par une seule liaison. Les caractéristiques de cette couche ont été déterminées par la réalisation effective de réseaux d'ordinateurs généraux.

Deux grandes possibilités sont apparues : les protocoles du type datagramme et ceux du type circuit virtuel. Le datagramme est un paquet remis par la couche transport et que la couche réseau émet d'une manière autonome. Il ne comporte pas d'information apparente, définissant à quel message il appartient. De ce fait des paquets d'un même message peuvent être dirigés vers leur destination par des routes différentes. Le circuit virtuel, lui, demande une connexion explicite entre les adresses réseau, qui permet de créer une route par laquelle transiteront tous les paquets d'un même message. Le circuit virtuel demande une plus grande complexité de gestion. Par contre, il inclut explicitement un contrôle de flux, des techniques de reprise sur erreur, etc.. C'est un cas de « circuit virtuel » qui a été normalisé par le CCITT sous le nom de protocole X25, que nous allons décrire au paragraphe 9. 5.


9. 2. LE CONTRÔLE DE FLUX

Le contrôle de flux est une des composantes les plus importantes avec le routage, du transport des paquets dans un réseau. Son existence est liée à la possibilité d'avoir des états de congestion qui mènent à de complets effondrements des performances du réseau. Le contrôle de flux, comme le routage, est principalement pris en charge par le niveau 3 de l'architecture en couches : le protocole réseau. En effet le niveau 2 peut contenir un premier contrôle mais ne s'exerçant que sur les liaisons : la procédure de liaison, pour récupérer les erreurs de transmission, dispose d'un contrôle par fenêtre qui permet de stopper les transmissions lorsque le nombre de trames non acquittées atteint une valeur fixée à l'avance. Si les acquittements ne sont envoyés par le récepteur que lorsque les paquets disposent d'une place effective dans la ligne de sortie du noeud, le protocole de niveau 2 prend part au contrôle de flux. Cependant, beaucoup de concepteurs de réseaux ne lui ont pas donné ce rôle, en le limitant à un contrôle d'erreurs entre l'émetteur et la file du commutateur du noeud suivant sans tenir compte de l'existence de places disponibles dans une ligne de sortie. L'inconvénient du contrôle de flux au niveau 2 est de gérer le paquet à un niveau supérieur (routage ... ) avant de pouvoir envoyer un acquittement. Comme nous l'avons indiqué au début, le contrôle de flux s'exerce souvent au niveau 3 bien que de plus en plus souvent le niveau 4 y participe. Passons en revue, les méthodes les plus utilisées dans les réseaux à commutation de paquets. Nous pouvons les classer en deux types : les politiques à seuil et les méthodes de préallocation des ressources.

9. 2. 1. Les politiques à seuil

Le seuil peut être fixé sur le nombre de clients qui transitent dans le réseau. Le contrôle de flux de type isarythmique limite le nombre global de paquets qui peuvent emprunter l'intérieur du réseau. La méthode la plus simple pour ce contrôle consiste à faire circuler dans le réseau des crédits que doivent acquérir les paquets pour avoir la permission d'y entrer. Un paquet ayant pris un crédit ne le relâchera qu'une fois atteint son destinataire. Le crédit peut revenir au noeud initial en transportant l'acquittement de bout en bout. Cette technique est souvent très efficace mais aussi limitative. En effet si le nombre de crédits est suffisamment petit pour effectuer un contrôle de flux valide, certaines parties du réseau peuvent en être complètement dépourvues malgré une sous-utilisation. De plus, tous les paquets transitant dans le réseau peuvent passer par le même noeud de commutation et la technique décrite ne peut empêcher la congestion. Cette technique est utilisée dans le réseau NPL construit par le National Physical Laboratory anglais.

Pour éviter la sous-utilisation de certaines parties du réseau, il est possible de dédier les crédits à des noeuds origines ou à des connexions de réseau. Dans ce dernier cas, le contrôle de flux est équivalent à l'existence d'une fenêtre de bout en bout. Pour rendre le contrôle encore moins restrictif, on peut mettre une fenêtre sur la connexion de transport : c'est un contrôle de niveau 4. Par cette méthode, un utilisateur ne peut émettre plus d'un nombre, fixé à l'avance, de paquets dans le réseau. Cette technique est expérimentée dans le réseau ARPA aux Etats-Unis où le noeud d'entrée limite le nombre de paquets en transit par client. Cette technique s'est avérée peu efficace dès que beaucoup de clients sont connectés sur les stations de transport et émettent en même temps. Les contrôles de flux que nous venons de décrire sont relativement simples et demandent un logiciel réduit. Ils ont l'inconvénient de n'être que peu efficaces sauf s'ils sont très restrictifs. Un autre contrôle de flux par seuil s'exerce sur le nombre de paquets que l'on laisse entrer dans le réseau par unité de temps. Ce type de contrôle demande un logiciel de commande beaucoup plus complexe mais bien sûr les débits obtenus en sortie sont plus importants.

Par contre, à la moindre défaillance du système de commande, les performances du système s'effondrent. Un exemple de tel contrôle a été essayé dans le réseau Cyclades, où l'émetteur limite le nombre de paquets qui entrent dans le réseau par unité de temps, en fonction de la charge des routes par lesquelles les paquets seront acheminés. Des paquets de contrôle doivent circuler pour faire parvenir les informations nécessaires aux noeuds d'entrée du réseau. Cette technique peut être soit très efficace soit très mauvaise suivant l'acuité du contrôle.

9. 2. 2. Les politiques de préallocation

Avant de faire transiter un paquet dans le réseau, on lui réserve des ressources pour éviter la congestion des noeuds. Les ressources sont principalement les liaisons et les mémoires tampons des noeuds de commutation. Il est difficile de demander et de réserver des ressources pour juste le transfert d'un seul paquet. L'idée qui a prévalu, consiste à préallouer des mémoires tampons pour l'ensemble des paquets d'un même message. Lors de l'établissement d'une connexion de réseau, le paquet chargé de cette mission peut réserver, à la traversée des noeuds du réseau, des mémoires tampons qui ne pourront être utilisées que par les paquets transitant sur cette connexion de réseau. Les exemples d'utilisation de cette technique sont nombreux et en particulier la plupart des réseaux satisfaisant à la norme X25 y figurent. Dans ce dernier cas, la connexion de réseau n'est autre que le circuit virtuel qui est matérialisé par la réservation de mémoires tampons par le paquet d'appel qui le trace. Le circuit virtuel se complète d'un contrôle par fenêtre qui s'il est interprété de bout en bout, mène à un contrôle de flux sans aucun risque de congestion (fig. 9. 1).

A01

Figure 9. 1. : Contrôle de flux par préallocation totale.

Cependant cette méthode est très chère en ressource et mène à des débits réduits. En effet, les mémoires tampons sont sous-utilisées et le nombre de circuits virtuels qui peuvent être ouverts ne dépend que de la quantité de mémoire disponible à chaque noeud et qui est limitée. Pour éviter ces désagréments on suralloue les mémoires tampons des noeuds pour obtenir des débits raisonnables tout en conservant une probabilité de débordement des noeuds très faible. Cette superposition des méthodes de préallocation et de seuil sur la connexion de transport est par exemple utilisée par le réseau Telenet aux USA. Le réseau TRANSPAC français utilise la préallocation avec surallocation, mais la fenêtre du circuit virtuel est locale (entre ETTD et ETCD) ce qui oblige à ajouter une méthode de contrôle à seuil par limitation du nombre de paquets par unité de temps aux entrées du réseau. Le réseau Datapac, qui est aussi conforme à la norme X25, utilise une méthode de contrôle à seuil entre les nœuds d'entrée du réseau. En effet l'intérieur du réseau est considéré comme un datagramme. Finalement si l'on ne veut pas être trop restrictif pour le débit de bout en bout, le contrôle de flux ne doit pas être trop limitatif. De ce fait, la congestion peut s'instaurer et il faut des moyens pour la combattre, ce sont les contrôles de congestion.

9. 2. 3. Les contrôles de congestion

Malgré les contrôles de flux, la congestion peut apparaître et des mécanismes doivent être inclus au niveau 3 pour combattre ce mal. Une première solution consiste à garder des mémoires tampons en réserve, pour ne les utiliser que lorsque la congestion est déclarée. Cette méthode utilisée sur le réseau ARPA s'est révélée peu efficace, les mémoires tampons de réserve étant rapidement congestionnées elles-mêmes. Une seconde solution consiste à munir les paquets de temps maximum qui les détruiront s'ils sont dépassés. Cette méthode est dangereuse puisqu'elle peut éliminer des paquets qui sont sur le point d'atteindre leur but. Par contre, elle est utile dans la prévention des blocages et elle est souvent utilisée. Plus simplement, on peut abandonner les paquets qui veulent transiter par une liaison surchargée. Le protocole de transport prendra à sa charge la retransmission des paquets perdus. Cette solution a été adoptée par le réseau Cyclades.

Dans les réseaux utilisant la technique circuit virtuel, la congestion d'un noeud équivaut à couverture d'un trop grand nombre de circuits virtuels passant par ce noeud. Il faut donc en fermer autoritairement quelques-uns pour faire disparaître la congestion. La couche transport prendra à sa charge leur réouverture qui ne sera acceptée que lorsque la congestion aura disparu.

9. 3. LE ROUTAGE

Une des caractéristiques les plus importantes des réseaux à commutation de paquets est la vitesse de reconfiguration en cas de panne, l'anomalie ou tout simplement de congestion. La reconfiguration doit porter sur les ressources du système. Le routage est un des éléments primordiaux qui permet la reconfiguration du système. De nombreux algorithmes statiques, dynamiques ou adaptatifs ont été proposés dans la littérature. Cependant, ceux implantés sur les réseaux existants sont rarement adaptatifs pour des raisons de simplification de la gestion du réseau et de la peur de l'inconnu ! En effet les performances des algorithmes adaptatifs sont mal connues : ils peuvent mener, sans un contrôle rigoureux à des situations de verrou mortel ou de rebouclage infini. Ce qui rend le problème du routage très complexe est qu'il est distribué dans l'espace et dans le temps : les décisions à prendre doivent obligatoirement tenir compte de ces deux dimensions. Les principales actions à entreprendre pour déterminer une table de routage sont les suivantes :

--  les noeuds du réseau doivent communiquer leur état à leurs voisins, à tous les noeuds du réseau ou à un centre de contrôle;

--  chaque noeud ou le centre de contrôle doit assembler les rapports qu'il a reçus pour en tirer un état global du réseau,

--  en fonction de l'état global du réseau, déterminer une table de routage.

Ces trois actions peuvent donner lieu à des techniques de routage très différentes les unes des autres selon la façon de les effectuer. Nous allons commencer par décrire les algorithmes les plus connus pour analyser les techniques utilisées.

9. 3. 1. Les techniques centralisées

Indépendamment de l'adaptativité, nous pouvons définir deux grandes classes de routage : les techniques centralisées et les techniques distribuées. La première catégorie est caractérisée par l'existence d'un centre de contrôle. La méthode la plus simple est un routage rixe pour une configuration donnée. En cas de défaillance d'un élément du réseau le centre de contrôle envoie une nouvelle table de routage à chaque noeud. Cette technique est certainement encore la plus utilisée. L'adaptation n'a lieu que sur des conditions bien précises (ici le changement de la topologie). Une technique un peu plus compliquée est donnée par un centre de contrôle qui modifie les tables de routage à des instants précis de mise à jour : les noeuds envoient régulièrement un compte-rendu de leur état; ceci permet au centre, de contrôle d'élaborer une nouvelle table de routage. Les points d'adaptation sont donc situés dans le temps à des instants déterminés à l'avance.

Une technique plus élaborée provient de l'envoi des tables de routage d'une façon asynchrone : les noeuds envoient un compte rendu dès que celui-ci a suffisamment varié par rapport au précédent. De même, le centre de contrôle dresse des tables de routage au fur et à mesure de l'arrivée de nouvelles informations. Il envoie à tous les noeuds la première table de routage qui lui paraît « suffisamment » différente de la précédente. L'adaptation est ici asynchrone.

Les performances de ces trois méthodes de routage centralisé dépendent de l'architecture et de la topologie du réseau. En effet le principal problème du routage et de l'adaptation est de pouvoir se faire en temps réel : entre le moment où un noeud envoie un compte rendu impliquant un nouveau routage et le moment où la nouvelle table de routage arrive, il ne doit pas y avoir de changement substantiel de l'état du système. Cette condition peut être très mal réalisée si le réseau est grand, et les artères surchargées (les paquets de contrôle sont rarement prioritaires par rapport aux paquets transportant des informations).

D'autre part il semble que parmi les trois propositions de routage centralisé, la troisième soit meilleure que la seconde, et elle-même meilleure que la première. La qualité du routage correspond à première vue à une adaptation de plus en plus sophistiquée. C'est là que se pose le deuxième grand problème au niveau des performances, d'ailleurs très lié au premier : la sophistication entraîne une surcharge du réseau par des paquets de contrôle qui peuvent empêcher un fonctionnement en temps réel.

On voit bien sur les exemples précédents que tel algorithme de routage sera moins efficace que tel autre pour un réseau à trois noeuds et que le contraire sera vrai pour un réseau à vingt noeuds. La première conclusion que nous pouvons tirer est l'inexistence d'un « meilleur » algorithme, même pour un réseau bien déterminé (il dépend du trafic). D'autre part il semble qu'il existe un optimum dans la complexité de l'algorithme d'adaptation pour ne pas surcharger le réseau inutilement.

9. 3. 2. Les techniques distribuées

La plus simple des techniques distribuées n'est absolument pas adaptative, c'est l'inondation. A la réception dans un noeud, un paquet est retransmis vers toutes les destinations. De même, la méthode aléatoire qui consiste à retransmettre un paquet vers une sortie aléatoire, n'est pas adaptative. Dans les algorithmes un peu. plus complexes, l'adaptativité commence à apparaître légèrement. Elle se fait seulement sur une dimension : le temps.  Pour un paquet entrant dans le noeud i et se dirigeant vers le noeud j, plusieurs lignes de sortie peuvent être choisies. Dans la méthode dénommée « hot-potatoe » on essaie de se débarrasser du paquet le plus rapidement possible « pour ne pas se brûler ». On le transmet sur la première ligne de sortie vide. Des techniques légèrement plus élaborées existent en grand nombre; des coefficients sont donnés aux différentes lignes de sortie pour une destination donnée. En effet, il y a presque toujours une ligne de sortie qui est plus appropriée que les autres. Toutes ces techniques sont très locales puisque les états des autres noeuds ne sont pas considérés. Une première étape pour adapter l'algorithme dans l'espace, est d'avoir une idée de ce qui se passe dans les noeuds voisins. Sans utiliser de paquets de contrôle, on a un échantillon du trafic des noeuds voisins en comptabilisant les arrivées de ces noeuds. Sinon, les noeuds voisins peuvent envoyer de façon synchrone ou asynchrone des comptes-rendus de leur état. En tenant compte de ces informations implicites ou explicites la file de sortie peut être choisie en connaissance de cause. L'adaptation est encore limitée dans l'espace puisque une cassure deux chaînons plus loin risque de ne pas être prise en compte par les comptes rendus des noeuds voisins.

L'algorithme de routage distribué, adaptatif à la fois pleinement dans l'espace et dans le temps, demande une connaissance de l'état de tous les noeuds du réseau. Les divers noeuds doivent donc s'échanger des messages. Si chaque noeud transmet un message à tous les autres, le trafic total risque sérieusement d'augmenter de façon inquiétante. Pour rester dans des limites raisonnables, un noeud ne transmet un compte-rendu qu'à ses voisins. Ceux-ci doivent en tenir compte dans leur propre compte-rendu. De nouveau les instants de mise à jour peuvent être synchrones ou asynchrones. Les inconvénients et les avantages de ces deux types de mesure sont les mêmes que dans le cas centralisé.

9. 3. 3. Exemple de routage décentralisé

Soit un noeud représenté sur la figure 9. 2 possédant trois voisins : N1, N2, N3. Le processeur de ce commutateur est supposé capable de connaître le temps de réponse de ses trois files d'attente de sortie du noeud, que nous noterons respectivement wl, w2 et w3.

A02

Figure 9. 2. : Le noeud de commutation étudié.

Intéressons-nous à 4 destinataires possibles Ml, M2, M3, M4 et supposons que les noeuds N1, N2 et N3 soient capables de connaître les délais d'acheminement optimal d'un paquet entrant dans leur commutateur pour atteindre un noeud terminal. Ces délais sont donnés dans le tableau suivant

 

M1

M2

M3

M4

N1

160

260

180

218

N2

140

255

175

200

N3

100

247

140

220

L'intersection de la colonne M3 et de la ligne N2 donne le délai d'acheminement optimal pour aller à la destination M3 pour un paquet entrant dans le noeud N2. Prenons les valeurs suivantes pour le temps de réponse des files de sortie du noeud étudié :

W1

W2

W3

26

40

64

Nous pouvons maintenant calculer pour chaque destination les délais d'acheminement à partir du noeud étudié, en passant par les divers voisins de ce noeud. Ces délais sont indiqués dans le tableau suivant

 

vers M1

vers M2

vers M3

vers M4

Par N1

160 + 26

260 + 26

180 + 26

218 + 26

Par N2

140 + 40

255 + 40

175 + 40

200 + 40

Par N3

100 + 64

247 + 64

140 + 64

220 + 64

On en déduit la table de routage du noeud étudié

Destination

M1

M2

M3

M4

File de sortie

N3

N1

N3

N2

L'hypothèse d'un noeud capable de connaître les délais d'acheminement vers un destinataire tombe puisque nous venons de voir que la connaissance de ces délais pour chaque noeud permet de les obtenir pas à pas. Pour ce faire chaque noeud doit envoyer, à tous ses voisins, sa table de délai. Les temps de propagation pour ces diverses transmissions s'ajoutent les informations en la possession d'un noeud risquent de ne pas être à jour de ce fait. Les problèmes de surcharge par les paquets de contrôle et de véracité des informations sont les deux générateurs de trouble dans les politiques de routage décentralisé qui veulent tenir compte de l'ensemble des ressources de transport. Un des problèmes cruciaux posé par le routage distribué, qu'il soit adaptatif ou non, est celui du rebouclage : un paquet peut repasser plusieurs fois par le même noeud. Un exemple typique est fourni par le réseau ARPANET qui utilise le dernier algorithme décrit et pour lequel les mesures effectuées ont montré un grand nombre de rebouclages.

9. 3. 4. Caractérisation de l'adaptation

A partir des exemples que nous avons décrits dans les paragraphes précédents nous pouvons tirer un certain nombre de caractérisations de l'adaptation et de l'algorithme de routage. Tout d'abord le réseau doit réagir promptement à la moindre défaillance. Un routage centralisé est souvent à exclure à cause de son long temps de réponse. L'adaptation doit se faire dans l'espace et dans le temps. Pour cela, chaque noeud doit avoir une connaissance aussi complète que possible de l'état global du réseau. Par contre, il faut limiter au maximum les échanges d'information. Enfin, il faut éviter les rebouclages c'est-à-dire opter à première vue pour un algorithme centralisé. Nous voyons que ces conditions sont quelque peu contradictoires. Le choix de l'adaptation synchrone ou asynchrone n'est pas simple non plus. En effet l'asynchrone augmente le trafic dès que le réseau commence à se charger: les mises à jour doivent se faite de plus en plus souvent.

9. 4. L'ADRESSAGE

9. 4. 1. Les grands types d'adressage

Les ressources d'un réseau ne peuvent être atteintes que par l'intermédiaire d'un adressage spécifiant l'interface de sortie à choisir pour atteindre le programme ou l'utilisateur désirés. L'adressage peut être physique ou logique dans le sens suivant. Une adresse physique correspond à une jonction physique sur laquelle est connecté un hôte. Une adresse logique correspond à un utilisateur ou un programme utilisateur qui peut parfaitement se déplacer géographiquement. Dans ce dernier cas, la procédure à mettre en place est beaucoup plus compliquée, mais le service est supérieur.

Un premier exemple d'adressage physique est donné par le réseau téléphonique qui, à un numéro fait correspondre un combiné téléphonique. Dans ce réseau, l'adressage est hiérarchique, avec l'utilisation d'un code pour le pays, puis, pour la région, puis pour un autocommutateur et enfin les quatre derniers numéros indiquent l'abonné. Si l'abonné se déplace, il change de numéro. Les autocommutateurs temporels pourront dérouter, à la demande de l'abonné, l'appel vers un autre numéro, mais, il n'y a pas de conservation de l'adressage.

Un second exemple est proposé par le réseau Ethernet qui, par l'intermédiaire de la société Xerox, affecte à chaque communicateur un numéro unique : il n'y a donc pas deux communicateurs portant la même adresse sur le globe. Si la partie portant l'adresse ne peut pas être déplacée, l'adressage est physique; par contre, si l'utilisateur part avec son terminal et son interface et s'il peut se reconnecter, l'adressage devient logique. Dans les deux derniers cas, cependant le problème du routage dans les grands réseaux est particulièrement compliqué. Dans le cas du réseau Ethernet l'adressage est absolu : il n'y a pas a priori de relation entre des adresses qui sont sur des sites proches l'un de l'autre.

L'avantage de l'adressage absolu est de ne demander que peu de place, 2 octets peuvent être suffisants. Par contre, la situation géographique de l'abonné est impossible à connaître et le routage sera donc délicat. L'adressage hiérarchique, qui est celui normalisé et que nous allons expliciter en détail, permet un routage plus simple mais demande une place beaucoup plus importante. Aujourd'hui la norme X121 que nous allons décrire occupe 14 demi-octets, mais beaucoup la jugent insuffisante et l'ISO recommande un adressage sur 32 chiffres, ce qui correspond à 16 octets.

9. 4. 2. L'adressage dans les réseaux publics

Au niveau des réseaux publics, l'adressage doit pouvoir tenir compte de l'ensemble des interfaces utilisatrices. Chaque terminal doit pouvoir être adressé sans aucune ambiguïté. Pour accéder à une telle structure, il faut définir une adresse globale qui est un identificateur désignant, de façon unique, toute jonction terminale sur un réseau public. De plus, l'internationalité de l'adresse globale doit être reconnue. Si l'on suit le protocole X25 niveau 3, le champ d'adresse est déterminé par un champ de longueur d'adresse sur 4 bits, ce qui permet de coder l'adresse sur 16 demi-octets. L'adressage sur 16 demi-octets peut ne pas être suffisant en lui-même, puisqu'il sert parfois à préciser le réseau sur lequel le terminal est connecté ; ce réseau pouvant être un réseau téléinformatique public, un réseau téléphonique, le réseau télex, un RNIS... De plus, une adresse complémentaire peut être nécessaire pour accéder à une jonction, interne à un organisme privé.

A03

Figure 9. 3. : L'adressage dans X25.

Une adresse globale sera composée de l'ensemble des éléments nécessaires à une désignation unique et sera organisée en domaine d'adressage : type de réseau (téléphone, télex, données ... ) pays, région, compagnie.. Les adresses globales font partie d'un domaine global d'adressage réseau, qui peut être représenté de la façon suivante (fig. 9. 4)

A04

Figure 9. 4. : Les adresses globales.

Les adresses sont constituées par des séquences de chiffres décimaux. Chaque chiffre de cette séquence est significatif (en particulier, les zéros éventuels en début ou en fin de séquence). L'adresse est indépendante du service établi au travers de l'interface utilisatrice. Le champ d'adresse a une longueur variable qui n'excède pas un maximum déterminé pour l'ensemble des adresses globales. La normalisation actuelle préconise 14 chiffres. Les différents numéros du domaine global d'adressage réseau possèdent une structure hiérarchique comme représenté dans la figure suivante :

A05

Figure 9. 5. : L'adressage hiérarchique.

9. 4. 3. La norme d'adressage X121

La norme X121 a été adoptée par le CCITT comme plan de numérotage international pour les réseaux publics de données. Le jeu de caractères adopté est composé des chiffres décimaux. L'adresse globale est composée de 14 chiffres, dans l'ordre suivant :

A06

Figure 9. 6. L'adressage X121

Les trois premiers chiffres indiquent le pays. Le premier de ces trois chiffres est déterminé par le tableau ci-dessous :

--  0, 1 :                     réserve

--  2, 3, 4, 5, 6, 7 :     pour les codes d'identification de réseau

--  8 :                         pour l'interfonctionnement avec le réseau télex

--  9 :                         pour l'interfonctionnement avec les réseaux téléphoniques

Pour les pays qui sont sensés avoir de nombreux réseaux, plusieurs codes ont été réservés, par exemple, pour les Etats-Unis de 310 à 329, pour le Canada de 302 à 307, pour la France de 208 à 212, pour le Royaume-Uni de 234 à 238. Le quatrième chiffre indiquant un numéro de réseau à l'intérieur du pays, au total, il est possible d'adresser 200 réseaux aux Etats-Unis, 60 au Canada et 50 en France et au Royaume-Uni. Il reste 10 chiffres pour indiquer l'abonné dans les pays qui n'ont pas été complètement déterminée par l'avis X121. On peut considérer sept chiffres pour l'adresse de l'hôte et trois chiffres pour une adresse complémentaire.

9. 5. LE PROTOCOLE X25

9. 5. 1. Principe général

Adopté en septembre 1976 par le CCITT, le protocole X25 résulte de l'expérience accumulée sur différents réseaux à commutation de paquets. Proposé par quatre grands organismes : les PTT français et britanniques, TCTS (Trans Canada Telephone System) au Canada et Telenet Communication Corps aux USA, il est implanté entre autres sur les réseaux publics de ces quatre compagnies : Transpac, EPSS, Datapac et Telenet.

Le protocole X25 en lui-même contient les 3 premières couches de protocole. Le niveau physique provient principalement de la norme X21, la couche liaison est constituée par un sous-ensemble de la norme HDLC : LAP-B que nous avons décrit dans le chapitre 8. Ici, c'est le niveau 3 de la norme X25 qui nous intéresse. Comme il est possible de le remarquer dès la description de cette norme, de nombreux paramètres ne sont pas spécifiés.

La recommandation X25 précise un protocole définissant l'interface entre un ETTD (Equipement Terminal de Traitement de Données) et un ETCD (Equipement de terminaison de Circuit de Données) pour la transmission de paquets. Le Protocole X25 est donc en premier lieu une interface locale entre un équipement informatique connecté au réseau et le réseau lui-même (fig. 9. 7).

A07

Figure 9. 7. : Applicabilité du protocole X25.

Les trois premières couches du protocole ISO sur l'architecture des réseaux informatiques sont prises en compte par le protocole X25 (fig. 9. 8).

A08

Figure 9. 8. : Les niveaux du protocole X25.

La recommandation X25 du CCITT définit les types de paquets et leur format cependant elle ne spécifie pas comment certaines informations de contrôle doivent être interprété. En particulier, la fenêtre de contrôle de flux peut être interprété au niveau local entre l'ETTD et l'ETCD, ou au niveau global entre l'ETTD émetteur et l'ETCD récepteur. Ces imprécisions donnent naissance à des réseaux conformes à la norme X25, mais très différents les uns des autres.

Le protocole X25 utilise le concept de circuit virtuel. De ce fait il multiplexe sur le niveau 2 des circuits virtuels qui sont des associations bidirectionnelles de canaux logiques comme représenté sur la figure 9. 10. Le niveau paquet de X25 permet un maximum de 16 groupes de 256 canaux logiques entre un ETTD et un ETCD. L'en-tête du paquet contiendra un champ de 4 bits pour identifier le groupe et un champ de 8 bits pour le numéro du canal logique. Ainsi 4095 (la validité du canal 0 n'est pas claire dans la norme) canaux logiques sont utilisables sur une entrée. L'ETTD et l'ETCD partagent le même numéro de canal logique lors de la formation d'un circuit virtuel. Le circuit virtuel sera formé par l'envoi d'un paquet d'appel, qui, en général, marquera un chemin à l'intérieur du réseau qui sera emprunté par l'ensemble des paquets d'un même message. Le marquage peut s'accompagner d'allocation de ressources pour assurer le contrôle de flux et garantir le séquencement des paquets dans le réseau

9. 5. 2. Format des paquets

Le format général des paquets se présente sous la forme suivante

A09

Figure 9. 9. :Format des paquets X25.

La zone d'identificateur du type de paquet permet de déterminer la fonction du paquet, elle ressemble à la zone de supervision de HDLC pour le contrôle de la connexion de réseau. Nous donnons dans le tableau suivant les différents types de paquets que l'on peut rencontrer dans le protocole X25.

IM01

Les bits X indiquent des informations de contrôle contenues dans le champ identificateur. La vie d'un circuit virtuel est décrite dans la figure 9. 10.

9. 5. 3. Ouverture et fermeture d'un circuit virtuel

Un utilisateur qui veut transmettre des paquets doit au préalable ouvrir un circuit virtuel. Pour ce faire, il émet une demande d'ouverture. Le paquet contient le numéro du canal logique obtenu par l'utilisateur (le plus grand disponible) et l'adresse réseau des abonnés demandé et demandeur. Ces dernières sont inscrites dans un champ de longueur variable dont la longueur est donnée par un champ de quatre bits qui spécifie cette longueur en nombre de demi-octets (fig. 9. 11).

A10

Figure 9. 10. : La vie d'un circuit virtuel.

A11

Figure 9. 11. : Demande d'ouverture et appel d'ouverture.

Le paquet contient un champ pour indiquer les options de contrôle du circuit virtuel ainsi qu'un champ de 16 octets maximum destiné à l'utilisateur. Il peut utiliser ce champ pour donner entre autres des adresses complémentaires si l'adresse du récepteur est un réseau local ou un autocommutateur privé. Le paquet d'appel lorsqu'il arrive à l'ETCD destinataire capte le plus petit numéro de canal logique pour éviter la collision avec une demande l'ouverture de circuit virtuel qui pourrait arriver sur l'ETCD après avoir réservé le même numéro de canal logique sur l'ETTD; la demande entrante étant alors prioritaire. Le récepteur retourne s'il accepte la communication un appel accepté (ou prêt à recevoir), sinon il envoie une demande de fermeture. L'émetteur ou le récepteur peut mettre fin au circuit virtuel en envoyant une demande de fermeture qui est acquittée au niveau local comme indiqué sur la figure 9. 10. Le paquet de fermeture peut contenir la raison de la demande : numéro logique à l'ETTD récepteur occupé, émetteur absent ou occupé, paquet non dans l'ordre, erreur locale, congestion d'un noeud...

A12

Figure 9. 12. : Demande de fermeture et indication de fermeture.

A13

Figure 9. 13. : Les causes de fermeture.

Le format des trames de Demande de fermeture et d'Indication de fermeture est décrit dans la figure 9. 12. L'octet 4 indiquant la cause de fermeture peut être l'un de ceux indiqués dans la figure 9. 13. L'octet 5 indique le diagnostic et il contient des informations supplémentaires; les 256 possibilités sont utilisées et sont explicitées dans la norme CCITT ou ISO.

9. 5. 4. La phase de transfert

Le format des paquets de données est donné dans la figure 9. 14.

A14

Figure 9. 14. : Les paquets de données.

Les paquets de données sont transférés sur un circuit virtuel permanent ou commuté. Les numéros p(s) et p(r) servent pour le contrôle de flux. Comme nous l'indiquerons dans la suite, il n'est pas précisé dans la norme à quoi s'appliquent les fenêtres : canal logique ou circuit virtuel. p(s) est le numéro du paquet envoyé, alors que p(r) est le numéro du prochain paquet attendu par le récepteur. Ce dernier autorise l'émetteur à envoyer plusieurs autres paquets selon l'ouverture de la fenêtre. Bien sûr, l'émetteur et le récepteur gardent en mémoire des numéros v(s) et v(r) analogues à ceux de HDLC.

Le bit Q indique que le paquet transporte des « données qualifiées » (Qualified data). L'avis X25 ne spécifie pas la nature des données qualifiés mais l'intention sous-jacente est de permettre de distinguer entre les données de l'utilisateur et des données de contrôle provenant de la couche supérieure. Si Q = 1, la zone de données transportera des messages de contrôle de la couche 4. Cest une signalisation dans la bande.

Le bit D précise la portée des acquittements : si D = 0, le contrôle de flux est local et le champ p(r) est positionné par l'ETCD local. Par contre, si D = 1, le contrôle de flux est de bout en bout et p(r) provient de l'ETTD récepteur. Il faut noter que le standard X25 original ne permettait que D = 0 et que plusieurs réseaux internationaux qui ont adopté la norme X25 ne permettent pas au bit D d'être à « 1 ». Dans l'identificateur général, les deux bits « modulo » indiquent le modulo de la séquence des numéros de paquet. Si c'est la suite 01, la numérotation sera effectuée modulo 8, si la suite 10 est affichée, le modulo sera en mode étendu porté à 128. Dans le dernier cas, le champ de supervision est étendu à deux octets.

Le bit M indique s'il est à « 1 » que les données font partie d'un message qui a été fragmenté en paquets et qu'il faut regrouper ces données avec celles du paquet précédent. Un « 0 » indique que c'est le dernier fragment du message. La fenêtre qui contrôle l'avancement des compteurs p(r) et p(s) sert au contrôle de flux puisque le contrôle des erreurs est assuré au niveau 2. Cette fenêtre limite le nombre de paquets circulant entre les deux bouts de cette fenêtre. Cependant ceux-ci ne sont pas dérinis dans la norme et deux interprétations très différentes président aux implantations de la norme X25. La compréhension de cette fenêtre peut être de bout en bout c'est-à-dire de l'ETTD émetteur jusqu'à l'ETTD récepteur. En général elle est interprétée comme locale, entre l'ETTD et l'ETCD. Le contrôle de flux s'effectue dans ce dernier cas sur le canal logique et non plus sur le circuit virtuel. Les deux extrémités d'un circuit virtuel peuvent très bien être gérées par des fenêtres distinctes avec des longueurs de paquet différentes. Les paquets utilisés par le contrôle de flux sont comparables à ceux de HDLC : les paquets RR, RNR et REJ dont les formats sont donnés dans la figure 9. 15.

A15

Figure 9. 15. : Les paquets de contrôle.

Le paquet RR (Receive Ready) sert d'accusé de réception lorsque le récepteur n'a rien à transmettre. Il acquitte tous les paquets dont les numéros précèdent p(r).

Le paquet RNR (Receive Not Ready) sert à indiquer que le noeud qui l'envoie ne peut pour des raisons diverses, recevoir de nouveaux paquets; il acquitte tous les paquets précédant celui numéroté p(r). Il détruira automatiquement tous les paquets qui lui parviendront jusqu'à ce qu'il émette un paquet RR avec le numéro p(r) indiquant que le prochain paquet attendu est celui numéroté p(r).

Le paquet REJ n'est utilisé que par l'ETCD pour demander la retransmission à partir du numéro p(r) à la suite d'un problème. En effet le paquet ne contient pas de bloc de contrôle d'erreurs et l'ETCD ne peut détecter les erreurs qui auraient été laissées par la couche inférieure.

La longueur des paquets est spécifiée au moment de la demande d'ouverture du circuit virtuel. Le maximum recommandé par la norme est de 128 octets mais les valeurs suivantes sont permises : 16, 32, 256, 512, 1024 ou même 255 octets. La longueur peut être un nombre quelconque d'octets (même non entier) si le tout est inférieur à la longueur maximum. Si la fenêtre de contrôle est locale, le nombre maximum d'octets de longueur peut être différent à chacun des bouts. A l'intérieur du réseau lui-même les paquets peuvent être fragmentés ou réassemblés.

Les paquets de demande d'interruption

Les paquets de demande d'interruption ne sont pas soumis au contrôle de flux : ils n'ont pas de numéro p(s). Ils peuvent être envoyés lorsque la fenêtre de contrôle est atteinte. Ce sont en quelque sorte des paquets prioritaires pouvant transporter un octet de données.

A16

Figure 9. 16. : Les paquets d'interruption.

Les paquets de demandes d'interruption sont acquittés par des paquets de confirmation d'interruption. Une demande seulement peut circuler sur le canal logique. Les paquets de confirmation d'interruption comportent seulement trois octets et l'identificateur du type de paquet (3ème octet) est : 00100111.

9. 5. 5. Les services complémentaires

Les paquets de redémarrage et de reprise

La procédure de reprise réinitialise un circuit virtuel particulier dans les deux directions à la fois et détruit les paquets et les demandes d'interruption qui pourraient se trouver dans le circuit. Les compteurs p(s) et p(r) sont remis à 0. Une reprise peut être initialisée par chacun des deux bouts, en général sur une erreur de séquence ou une erreur indiquée par la couche inférieure. Les reprises sont acquittées au niveau local. Le redémarrage est une réùùtialisation de tous les circuits virtuels. Son fonctionnement est identique à la reprise mais sur l'ensemble des circuits virtuels en parallèle. Le format de ces paquets est le suivant :

A17

Figure 9. 17. : Les paquets de redémarrage et de reprise.

Services facultatifs

De nombreux services facultatifs sont suggérés dans la norme X25.

--  Les groupes fermés d'abonnés. Des utilisateurs peuvent former un sous-réseau « privé » : ils peuvent communiquer entre eux mais non à l'extérieur et vice versa les abonnés n'appartenant pas au groupe fermé ne peuvent pas communiquer avec ceux y appartenant.

--  Prise en charge par le demandé. Des appels en PCV peuvent être effectués.

--  Sélection des paramètres de contrôle de flux, les utilisateurs peuvent sélectionner la longueur maximum des paquets, la largeur de la fenêtre ainsi que des classes de débit.

--  Possibilité de prendre une fenêtre de 127. Dans ce cas le champ p(r) et le bit M constituent un octet le champ p(s) et le bit 0 en constituent un second.

Dans tous les cas, suivant la nature de l'abonnement des options sont prises par défaut :

--  Canal logique unidirectionnel. Pour éviter des collisions de paquets d'appel, les canaux logiques peuvent être unidirectionnels.

--  Les temporisateurs pour envoyer les paquets d'interruption, de reprise et de démarrage ne sont pas définis. Ils seront déterminés par l'utilisateur suivant les options prises et en particulier si la fenêtre de contrôle est locale ou de bout en bout.

La norme X25 peut également être utilisée pour envoyer des paquets de type datagramme. Ceci n'était pas prévu dans la 1re version de la norme mais a été rajouté à la demande de nombreux exploitants de réseaux. En effet, le transport d'un message contenu dans un seul paquet est très lourd lorsque l'on utilise la norme X25 : il faut ouvrir, fermer et maintenir un circuit virtuel juste pour un seul paquet. L'idée de base pour superposer un datagranime est d'utiliser un paquet dappel qui transportera juste le paquet en question sans ouvrir un circuit virtuel. Cette facilité dans X25 est supprimée à partir de 1984 dans la nouvelle norme X25-« 84 » que nous examinons plus loin. Les formats des paquets de datagramme sont donnés dans les figures 9. 18 et 9. 19 pour le mode normal et le mode étendu.

A18-19

Figure 9. 18. : Format des paquets datagramme.      Figure 9. 19. : Format des paquets datagramme.

                        Mode normal.                                                            Mode étendu.

La distinction avec un paquet d'appel classique se fait par le champ de données utilisateur qui identifie la fonction de datagramme par les deux premiers octets et qui peut contenir jusqu'à 128 octets. Le champ utilisateur d'un paquet d'appel était limité à une longueur de 16 octets. La signalisation du service datagramme s'effectue par des paquets ayant le bit Q = 1 pour indiquer que les données qui sont transportées sont du type supervision.

9. 5. 6. X25-1984

La procédure X25 a quelque peu été améliorée en 1984 avec le standard X25-1984. Nous donnons dans les lignes qui suivent les nouvelles possibilités. Cependant elles ne doivent pas être utilisées pour être compatibles aux réseaux X25-1980. Deux nouvelles tailles de paquets sont admises : 2048 et 4096 octets, pour favoriser les interconnexions avec les réseaux à haut débit comme les réseaux locaux ou les réseaux satellites. Les paquets Demande d'ouverture (Call request), Appel Couverture (Incoming Call), Appel accepté (Call accepted) et Circuit virtuel ouvert (Call connected) peuvent avoir un champ de service complémentaire d'une longueur de 64 à 109 octets. Ils étaient limités à 63 octets. De plus, le bit D (bit 7 du premier octet) peut être mis à 1 dans ces paquets, ce qui n'était pas le cas de X25-1980, pour indiquer un contrôle de bout en bout.

Le nouveau format permet au bit 7 de la longueur de champ complémentaire d'être à « 1 »; le bit 8 étant toujours à 0. D'autre part, les paquets de Demande de fermeture, Indication de fermeture, Demande de redémarrage, Indication de redémarrage, Demande de reprise et Indication de reprise peuvent mettre le bit 8 de l'octet 4 (indiquant la cause de fermeture) à « 1 ». Lorsque ce bit est à « 0 », il indique que la cause provient d'un réseau public; lorsqu'il est à 1, il indique que la cause provient d'un réseau privé. Dans la Demande de fermeture et l'Indication de fermeture, la longueur des adresses et la longueur du champ de service complémentaire'doivent obligatoirement apparaître, même si elles ne comportent que des « 0 ». Dans les paquets d'interruption, le champ de données peut contenir jusqu'à 32 octets au lieu d'un seul. Ce type de paquet remplace en quelque sorte les paquets datagramme qui sont supprimés dans la norme X25-1984.

9. 6. LE PROTOCOLE RÉSEAU « INTERNETWORK PROTOCOL » (IP)

Ce protocole qui, entre autres, est une norme ECMA (European Computer Manufacturers Association), a pour but de faciliter l'interconnexion de réseaux par l'adoption de cette norme commune. Cette norme rend un service sans connexion du type datagramme qui est justement en opposition avec les normes X25 de niveau 3 ou les normes de niveau 4 adoptées par l'ISO et le CCITT qui sont avec connexion: avant de transmettre des données, il faut par des messages spécifiques, ouvrir une connexion entre les utilisateurs qui vont s'échanger des données. Cette norme est aussi adaptée aux réseaux locaux et elle forme la couche réseau ou seulement une partie.

Structure du paquet du protocole IP

Le paquet encore appelé IPDU (Internetwork Protocol Data Unit) est composé de plusieurs segments représentés dans la figure 9. 20.

Drapeau

Partie fixe

Adresse

Partie de segmentation

Options

Données

Figure 9. 20. : Composition d'un paquet IP.

La partie fixe

La partie fixe contient les paramètres les plus classiques d'un protocole réseau. Elle est décrite dans la figure 9. 21. Le premier octet indique en binaire la longueur de l'en-tête sans les données ni l'octet de la zone elle-même. La longueur maximum est de 254 octets (1111 1110). La valeur 255 (1111 1111) est réservée à des extensions. La version du protocole est unique (0000 0001) et correspond à la version 1. Le temps de vie indique, en binaire, le temps pendant lequel le paquet peut rester en vie dans le réseau. A chaque noeud, ce temps est comparé au temps courant. S'il y a dépassement, le paquet est détruit.

L'octet 4 est composé de 3 zones : SP (Segmentation Permitted Flag), MS (More Segments Flag) et Type. La partie SP détermine si la segmentation est permise. La valeur 1 indique la permission; la valeur 0 la non-permission. Quand SP est mis à « 1 », la partie MS à « 1 » indique que les données qui sont transportées dans le paquet font partie d'un ensemble plus vaste déterminé par le champ Partie de Segmentation; si la partie MS est à « 0 », les données forment la dernière partie du segment de données de l'utilisateur et la zone Position du Segment permet de regrouper les données.

A21

Figure 9. 21. : Composition de la partie fixe.

Le type identifie le protocole utilisé. Il est unique aujourd'hui : 1111 00. La zone longueur du paquet spécifie la longueur exacte du paquet en incluant les en-têtes et les données. Les octets 7 et 8 doivent contenir une zone de contrôle permettant de détecter les erreurs sur cette première en-tête.

La partie adresse

La partie adresse se décompose aussi en sous-champs conune indiqué dans la figure 9. 22.

A22

Figure 9. 22. : Décomposition de la partie adresse.

Les indicateurs de longueur indiquent la longueur des adresses en octets. Ces longueurs peuvent être conformes à l'avis X121.

La partie segmentation

Si le bit SP (Segmentation Permitted Flag) de la partie fixe est à « 1 », la partie segmentation existe et se présente comme sur la figure 9. 23.

A23

Figure 9. 23. : La partie segmentation.

L'identificateur des données permet de reconnaître à quel message appartiennent les données transportées par le paquet. Ceci permet un regroupement aisé des différents champs de données des paquets. La zone de position du segment permet de déterminer quelle est la place à l'intérieur du message des données transportées. En particulier, le premier segment d'un message sera déterminé par une valeur « 0 » dans la zone de position du segment.  La position est mesurée en octets depuis le début du message. Le contenu de la zone est donc un nombre d'octets indiqué en binaire. La zone de longueur totale indique la longueur totale du paquet (en-tête et données).

Options

La partie options déterminé les différents paramètres optionnels utilisés dans le protocole. La longueur de cette zone est déterminée par la longueur de l'en-tête indiqué dans la partie fixe à laquelle il faut enlever les longueurs des adresses de la partie de segmentation et la partie fixe. Chaque paramètre est décrit de la façon suivante (cf. fig. 9. 24).

A24

Figure 9. 24. : Description des paramètres.

Le code de paramètre fixe le paramètre; jusqu'à 255 paramètres peuvent être prédéfinis. La valeur 255 est réservée pour de futures extensions. La longueur du paramètre indique en octets la longueur de la zone " valeur du paramètre".

Les paquets de contrôle

Les paquets de contrôle indiquant à l'émetteur les problèmes qui se sont produits dans le réseau sont formés de façon identique aux paquets transportant les données. Seul le champ de données est remplacé par une zone de rapport. Dans les options, le code paramètre 11 00 00 01 indique les raisons de la destruction d'un paquet La longueur du paramètre est de un octet. La valeur du paramètre peut être :

1          adresse source ou destination incorrecte

2          détection d'une erreur dans l'en-tête

3          destruction due au temps de vie du paquet qui a été dépassé

4          présence d'options non supportées par le protocole

5          destruction due à un contrôle de congestion

6          violation d'une procédure du protocole.

La zone de rapport terminant les paquets de contrôle contient les octets des paquets détruits jusqu'à l'octet en cause.

9. 7. LES ACCÈS ASYNCHRONES : X3, X28, X29

9. 7. l. Présentation générale

La nonne X25 définit un format de paquets ainsi que les contrôles d'entrée dans la couche réseau. Les réseaux publics acceptent les paquets, déjà formatés suivant l'avis X25. Seuls les terminaux de haut de gamme, synchrones, peuvent se permettre de supporter le protocole X25, qui est relativement lourd. Les terminaux asynchrones du type « start-stop » sont peu chers mais ne sont en général, pas programmables. De ce fait pour les connecter à un réseau public, il faudrait ajouter une boîte noire intermédiaire capable de supporter X25 dont le coût serait au moins celui du terminal. Dans ces conditions, les terminaux asynchrones ne seraient pas connectés aux réseaux. Pour remédier à cette faiblesse, les réseaux supportant la norme X25 possèdent un PAD (Packet Assembler Desassembler) ou en français ADP (Assembleur Désassembleur de Paquets). Nous utiliserons dans la suite la nomenclature anglo-saxonne qui est la plus courante. Le fonctionnement des PAD a été normalisé par les avis X3, X28 et X29 suivant le schéma ci-dessous

A25

Figure 9. 25. : La normalisation du PAD.

La fonction du PAD est d'assembler des caractères en paquets ou de désassembler des paquets en caractères. De plus le PAD doit gérer le dialogue avec le terminal, par des messages de supervision et de signalisation, permettant ainsi au terminal d'accéder aux services du réseau public et en particulier de mettre en place un circuit virtuel pour l'envoi des données. L'accès au réseau peut s'effectuer, par une liaison spécialisée ou par le réseau téléphonique cornmuté. Les débits de 110, 150, 200 et 300 bit/s se font conformément à l'avis V21. Par contre les débits 600 et 1200 bit/s utilisent l'avis V23. Pour accéder à un PAD par le réseau téléphonique, il suffit de composer le numéro téléphonique correspondant au PAD qui répond automatiquement et transmet une tonalité provenant du modem. L'opérateur du terminal branche alors son modem. S'il ne le fait pas, au bout d'un temps déterminé le PAD coupe la communication.

Le PAD doit ensuite reconnaître la vitesse de transmission du terminal. Une détection automatique s'effectue grâce à 2 caractères émis par le terminal (*) :

--  caractère de recherche utilisé par le PAD pour déduire la vitesse

--  un caractère de confirmation pour vérifier la déduction précédente.

Le PAD confirme au terminal la détection de vitesse, puis la liaison passe dans l'état « ligne active ». Dans le cas d'une liaison spécialisée, le débit de la ligne est connu et la liaison passe directement sur rétat « ligne active ». Les caractères qui sont échangés entre le terminal et le PAD proviennent de l'alphabet n°5 du CCITT complété par un bit de parité; le tout encadré par les bits start et stop (1 bit stop sauf à 110 bit/s où il y en a 2). Le PAD ignore le bit de parité envoyé par le terminal. Par contre, dans le sens inverse, il génère des caractères avec un bit de parité toujours pair.

Dans l'état de ligne active, le terminal émet des « commandes » et le PAD des « indications » qui peuvent être des acquittements de commandes ou des réponses. Les commandes permettent rétablissement, le maintien, le transfert de données et la libération du circuit virtuel.

(*) Note : Une procédure plus simple est mise en oeuvre sur TRANSPAC.

La procédure X29 définit les commandes du PAD par l'ETTD X25. Ces commandes passent par l'intermédiaire des paquets X25 échangés entre le PAD .et l'ETTD X25 avec le bit Q = 1 pour indiquer justement que le champ de données contient des informations de supervision. Les paquets échangés ont le format suivant

A26

Figure 9. 26. : Le format des paquets.

Les messages d'erreurs sont les suivants :

IM02

Dans les trois derniers cas de messages d'erreurs, il existe un octet 6 qui contient l'octet de type du message erroné.

9. 7. 2. Description du dialogue avec le PAD

Le PAD réalise la conversion nécessaire entre les procédures propres aux terminaux asynchrones et le protocole utilisé sur les circuits virtuels (X25). La procédure X28 détermine les commandes accessibles par un ETTD-caractère à destination du PAD auquel il est connecté. De même, la procédure X29 décrit le protocole entre un ETTD X25 et le PAD pour le transfert des données et la commande du PAD à travers le réseau. Le rôle principal de ces deux procédures est de permettre le contrôle et la modification d'une liste de paramètres gérés par l'avis X3 décrivant les fonctions du PAD. Il y a 18 paramètres gérés par le PAD, notons cependant que les quatre derniers fournissent des services complémentaires qui ne sont pas nécessairement fournis par tous les PAD. L'ensemble des valeurs choisies pour ces paramètres est associé à une ligne connectée à un terminal et définit la notion de profil. Un profil différent peut donc être attribué à chaque ligne asynchrone. Il existe également des profils normalisés offerts par le PAD pour l'initialisation de ces paramètres.

La liste des paramètres et leurs valeurs possibles sont les suivants :

1.      Choix du caractère d'échappement

Le rôle de ce paramètre est de permettre éventuellement le rappel du PAD

par l'utilisation d'un caractère spécial en cours de session.

0                      échappement possible

1                      échappement par le caractère DLE (Control-p sur TRANSPAC)

32-126            échappement par un caractère choisi parmi ces valeurs

2.      Renvoi en écho

Ce paramètre offre la possibilité d'obtenir un écho local des caractères

0          pas d'écho

1          écho

3.      Choix du signal d'envoi de données

La définition d'une valeur pour ce paramètre, permet le choix du caractère qui sera associé à renvoi des données :

0          pas de caractère d'envoi de données

2          caractère « retour chariot » (CR)

.

.

.           autre caractère à choisir dans l'alphabet international n°5.

4.      Temporisation d'envoi de données

Cette temporisation déclenche renvoi des données si aucun caractère n'est reçu pendant une durée déterminée par la valeur de ce paramètre (0 £ n £ 255 en vingtième de seconde).

5.      Commande de dispositifs auxiliaires

Ce paramètre permet l'asservissement du terminal par le PAD (contrôle de ffux) par l'intermédiaire de la procédure X-ON/X-OFF (valeur 0 ou 1).

6.      Commande des signaux de service du PAD

Le contrôle de l'émission d'indications du PAD vers l'ETTD-caractère est obtenu en utilisant les valeurs de ce paramètre :

0          pas d'émission d'indications

1          émission d'indications

4          émission du message d'accueil à la connexion du terminal (signal « service rapide »).

7.      Choix du fonctionnement à la réception d'un break

Ce paramètre définit l'action à entreprendre sur un Break

0          rien

1          envoi d'un paquet d'interruption

2          réinitialisation

4          envoi à l'ETTD X25 ou à l'autre PAD, suivant la structure du réseau, d'un message         d'indication de coupure (indication de break)

8          échappement de l'état transfert de données

16        mise au rebut des données destinées à l'ETTD-caractère.

8.      Mise au rebut des données de sortie

La valeur 0 ou 1 permet de placer le terminal respectivement en mode de « transfert normal » ou en mode de « mise au point ».

9.      Bourrage après CR (retour chariot)

Détermine le nombre de caractères de bourrage après un CR :

0                      pas de bourrage

1 à 255                        nombre de caractères (par exemple « NULL ») à insérer.

10.  Pliage de ligne

Le PAD insère automatiquement un caractère de retour à la ligne après n caractères

0                      pas de pliage

1 à 255                        nombre de caractères par ligne.

11.  Débit binaire de la ligne

La valeur de ce paramètre n'est pas modifiable dynamiquement. Elle correspond à un entier compris entre 0 et 18 permettant le choix de débits variant de 50 à 64000 bit/s (cette gamme de débits dépend évidemment du type de matériel PAD utilisé).

12.  Contrôle deflux du PAD par l'ETTD-caractère

Cet asservissement, s'il est choisi (valeur 1 du paramètre), est réalisé par la procédure X-ON/X-OFF.

13.  Insertion d'un LF (saut de ligne) après CR (retour chariot)

Il est possible de choisir le mode d'insertion d'un caractère LF après un retour chariot :

0          pas d'insertion

1          insertion après tout CR émis du PAD vers l'ETTD-caractère

2          insertion après tout CR émis de l'ETTD-caractère vers le PAD.

14.  Remplissage de caractères après LF

Détermine le nombre de caractères insérés par le PAD (par exemple caractère « NULL ») après un LF (valeur 0 £ n £ 255).

15.  Edition pendant le transfert de données

16.  Effacement de caractère

17.  Effacement de ligne

18.  Affichage de ligne

Remarque : Certains paramètres peuvent posséder des valeurs combinées assurant l'association de plusieurs actions sur un événement.

9. 7. 3. Présentation d'un PAD

Nous effectuerons dans la suite une description d'un matériel existant ainsi que de son utilisation générale (PAD COMPAC MODELE 116 de la société TRT).

9. 7. 3. 1. Description physique générale

Ce système est construit à partir d'une famille de circuits Zilog. Le microprocesseur utilisé est un Z80 fonctionnant à 4 MHz. Il dispose d'une mémoire de 64 Koctets décomposés en 2 Koctets de PROM ou REPROM et de 62 Koctets de RAM dynamique. Le modèle CP 15 permet la gestion de 16 lignes numérotées de 0 à 15. La ligne 0 est une ligne synchrone de débit binaire maximum égal à 19,2 Kbit/s gérée suivant la procédure X25 (mode LAPB au niveau trame). Les autres lignes sont asynchrones avec un débit maximum de 9600 bit/s. Le système est muni d'un dérouleur de cassettes permettant le changement du logiciel.

9. 7. 3. 2. Utilisation de l'équipement en fonctionnement normal

9. 7. 3. 2. 1. Phase de connexion des terminaux asynchrones (ETTD-caractère)

Si le terminal est configuré avec reconnaissance automatique de vitesse (RAV), la procédure de connexion est la suivante :

1.      L'opérateur frappe au clavier le caractère « H » suivi du caractère « retour chariot » (CR). Ce signal de demande de service permet au PAD de détecter le débit du terminal et de choisir un profil initial de paramètres.

2.      L'ETTD-caractère se positionne alors en attente du signal de service du PAD appelé «identification du PAD». Le succès de la RAV se concrétise par l'émission de ce signal constitué par un message d'accueil.

Si ce signal n'est pas reçu, il faut réitérer la procédure. Le message d'accueil est envoyé par le PAD uniquement si le paramètre 6 est non nul. La procédure de connexion sur une ligne à vitesse fixe est obtenue par la simple connexion physique du terminal (mise sous tension ou appel fructueux par téléphone). Le succès de la connexion se concrétise de la même façon que précédemment par l'émission du message d'accueil par le PAD. Il faut noter, qu'aucun appel ni dialogue ne peut s'établir entre le PAD et un terminal asynchrone si la procédure de connexion physique a échoué. La connexion physique du terminal au PAD s'étant effectuée avec succès, à est alors possible d'établir une communication.

9. 7. 3. 2. 2. Etablissement d'une communication à partir d'un terminal asynchrone

Cette phase suit immédiatement la phase de connexion physique. Le PAD se trouve en attente d'envoi par le terminal d'un signal de commande du PAD appelé « sélection ». L'opérateur tape le numéro de son correspondant suivi du caractère « CR ». Le PAD construit alors un paquet d'appel (conformément à la procédure X25) véhiculé sur le réseau Le terminal est en attente du résultat de sa requête, caractérisé par un signal de service du PAD appelé « communication établie » et représentant l'am'vée du paquet du même nom. En cas de succès, l'indication COM apparaît sur l'écran. Dans le cas contraire, un message ERROR ou LIB est délivré au terminal; ce message comporte généralement une cause et un diagnostic fournissant une indication sur la raison du refus de l'appel. La phase d'établissement étant achevée, le terminal entre dans la phase de transfert de données.

9. 7. 3. 2. 3. Libération d'une communication

Une communication peut être interrompue par le terminal en tapant le signal d'échappement suivi du signal de commande du PAD « libération » : DLE LIB « CR » (échappement par le caractère DLE : paramètre 1 = 1). L'indication de libération qui représente un signal de service du PAD est alors envoyée au terminal et le message LIB CONF s'affiche sur l'écran. Le PAD fabrique alors un paquet de libération renvoyé à l'ETTD distant. Le PAD peut également interrompre une communication en envoyant au terminal un signal de service du PAD appelé « indication de libération ».

9. 7. 3. 2. 4. Echanges de donné« entre l'ETTD-caractère et le PAD

Durant la phase de transfert de données, le PAD collecte les caractères reçus du terminal asynchrone pour les assembler sous forme de paquets X25. Inversement les paquets émis par l'ETTD X25 et véhiculés sur le réseau à destination du terminal sont analysés et désassemblés en caractères qui lui sont ensuite délivrés. Les conditions d'envoi d'un paquet par le PAD, sur le réseau à destination de l'abonné distant, dépendent du choix initial du profil. Sous réserve de contrôle de flux, ces conditions sont par exemple

--  la taille maximale du paquet est atteinte

--  la temporisation d'envoi de données définie par le paramètre 4 arrive à échéance (un temps t supérieur à la valeur de la temporisation s'est écoulé depuis la réception du dernier caractère en provenance du terminal)

--  le terminal a émis le caractère d'envoi de données spécifié dans le paramètre 3

--  le réseau reçoit un signal break.

Le terminal peut s'échapper de la phase de transfert de données en émettant le caractère spécial déterminé par le paramètre 1 (par exemple le caractère DLE est choisi si le paramètre 1 est égal à 1). L'utilisateur peut alors dialoguer avec le PAD.

9. 7. 3. 3. Dialogue avec le PAD (procédures X28 et X29)

Les procédures X28 et X29 sont intégralement gérées dans le PAD COMPAC. Une liste de 14 paramètres est disponible, l'ensemble de ces 14 valeurs définit un profil. Ces paramètres sont visualisables ou modifiables soit à partir de l'ETTD-caractère par l'intermédiaire de la procédure X28, soit par l'abonné distant à travers le réseau à destination du PAD X25 (X29).

9. 7. 3. 3. 1. Modification et lecture des paramètres d'un profil par utilisation de X28

L'utilisation d'un terminal connecté au PAD peut modifier ou consulter uniquement les paramètres associés à la ligne connectée à son terminal. Ces signaux de commande du PAD sont utilisés pour établir et libérer les circuits virtuels mais aussi pour effectuer les fonctions suivantes :

a) Lecture des paramètres

Les valeurs courantes des paramètres du PAD peuvent être visualisées par l'utilisateur en exécutant la commande PAR? Il est possible de demander la valeur courante d'un paramètre, d'une liste de paramètres ou de l'ensemble de paramètres.

Exemple :       - PAR ?2                    réponse PAR2:0

                        la valeur du paramètre 2 est égale à zéro

                        PAR? 1, 2, 5,              réponse : PAR1:0, 2:1, 5:1

                        valeurs des paramètres 1, 2, 5

                        PAR?                          réponse : état du profil

                        valeurs de tous les paramètres.

b) Positionnement, modification ou lecture des paramètres

La commande SET? permet d'affecter une nouvelle valeur à un ou plusieurs paramètres du profil correspondant à la ligne utilisée.

Exemple :       - SET? 1:0                  réponse : PAR1:0

                        le paramètre 1 possède désormais la valeur 0

                        SET? 1:0, 2:0, 4:3

                        Affectation des valeurs 0, 0 et 3 respectivement aux paramètres 1, 2 et 4 du profil.

Le PAD est capable de vérifier la validité de la commande.

Exemple :       - SET?2:4                   réponse : PAR2:INV.

                        Le paramètre 2 ne peut pas prendre la valeur 4.

Si la commande est acceptée, la réponse s'affiche sur la ligne suivante.

c) Demande des informations d'état

L'utilisateur peut demander les informations d'état relatives à toute communication virtuelle avec le terminal en utilisant la commande STAT. La réponse fournie par le PAD est ENGAGED si le circuit virtuel est établi, FREE dans le cas contraire.

D'autres commandes sont disponibles et permettent :

--  l'envoi d'un paquet de réinitialisation du circuit virtuel à son correspondant (ETTD X25) en cours de communication (RESET)

--  l'envoi d'un paquet d'interruption (INT)

--  le choix du profil standard n° X disponible dans le PAD (PROFX)

……………..

Les signaux de service émis par le PAD servent donc :

--  à transmettre les signaux de progression d'appel pendant la phase d'établissement d'un circuit virtuel

--  à accuser réception des commandes

--  à transmettre des informations relatives au fonctionnement du PAD.

9. 7. 3. 3. 2. Modification et lecture des paramètres d'un profil par utilisation de X29

De la même façon, 1'utilisateur distant (ETTD-X25) peut consulter ou modifier les valeurs courantes des paramètres du PAD en lui transmettant un « message du PAD » de position, lecture ou position et lecture. Ces commandes sont véhiculées dans le champ de données des paquets X25 de l'abonné distant. Ces paquets sont caractérisés par le positionnement à 1 du bit Q dans les deux sens du CV. Le PAD qui reçoit un tel message expédie à l'ETTD-caractère toutes les informations qu'il contient avant de les traiter. Les données de l'usager distant sont véhiculées sur le réseau conformément à ravis X25 avec le bit Q positionné à zéro dans les deux sens du circuit virtuel.

Chapitre précedentIndex des CoursChapitre suivant

Révisé le :23-Sep-2007| ©2007 www.technologuepro.com