Ecole Supérieure des Procédés Electroniques et Optiques RÉSEAUX Gérard JACQUET Christophe LÉGER 2002–2003 Chapitre 1 : Présentation 1.1) Brève histoire de l’informatique 1.1.1) Evolution du paysage informatique Décrire l’évolution passée est sans doute beaucoup plus aisé que de prévoir ce que va devenir dans les années futures l’informatique et la communication de données qui lui est étroitement liée. Année ->1980 1980-87 1987-94 1995 1996 2002 Entreprises Ordinateur central + terminaux alphanumériques Ordinateur centralisé en gestion, micro-ordinateurs en production, communications point à point Développement des communications intra-entreprises (réseaux locaux) ordinateurs puissants + micro-ordinateurs Particuliers Inexistant Performances calcul : 1 vitesse liaison : 600bits/s taille fichiers : 1 ko Prix 20 calcul : 10 vitesse liaison : 9600b/s taille fichiers : 10ko 5 Evolution vers du graphique évolué calcul : 100 vitesse liaison : 10 Mb/s taille fichiers : 1Mo 1 Communications inter-entreprises (Internet...) Accès aux communications avec l’extérieur (Internet) calcul : 1000 vitesse : 10 Mb/s taille fichiers : 10Mo Développement des produits commerciaux pour entreprises (Intranet) Explosion des communications : facturation, saturation Commerce en ligne Serveurs/Clients Web Convergence Téléphonie / informatique Micro-ordinateurs interface texte ou graphique simple calcul : 1000 vitesse : 10Mb/s taille : 10Mo calcul : 5000 vitesse : 1Gb/s taille : 600Mo 1 1 1 Tableau 1 : Evolution approximative de l'informatique (en France) 3 A l’heure actuelle, le domaine des communications de données est devenu une branche industrielle à part entière. De nombreuses entreprises se sont créées ou ont tourné leurs activités vers cette branche. Les besoins sont encore énormes : augmentation des vitesses de communication, multiplication des services, réduction des coûts. Il est très difficile de prédire ce que sera l’informatique de demain : • Des systèmes d’exploitation et des applications répartis sur tout un réseau, comme le laisse envisager Java de SUN. • Des ordinateurs sans disque (NC : Network Computer) de faible coût (3000F) ne pouvant fonctionner qu’en réseau. Une certitude, les communications entre ordinateurs seront prépondérantes. Mais ceci ne pourra se faire qu’en liaison avec les télécommunications (facturation et débit entre autres) qui sont pour l’instant le facteur limitant. 1.1.2) Evolution des besoins Pour les entreprises, l’échange rapide d’informations pourra permettre : • une gestion automatisée de production (zéro défaut, zéro panne) grâce à des réseaux internes (réseaux locaux), • un suivi de bout en bout des produits (zéro délai, zéro stock) grâce aux réseaux internationaux, • des communications efficaces (zéro papier). Un exemple ancien : MAP (Manufacturing Automation Protocol), réseau global vendeurfournisseur (GM). En ce qui concerne les particuliers, le développement de nombreuses applications constitue un des enjeux économiques (avec le multimédia) des années à venir relativement à l’équipement des foyers et à la consommation d’unités de communication : • TV interactive, • services extérieurs (remplacement du minitel...). 1.2) Communications des données Dans le domaine des communications de données plusieurs alternatives existent et sont utilisées au gré des évolutions technologiques. 1.2.1) Liaisons analogiques / numériques L’information peut transiter sous différentes formes. • Analogique : télévision, radio, 4-20 mA... • Numérique : liaison RS 232, SCSI... • Mixte : téléphone, fax. 1.2.2) Liaisons point à point / bus Point à point : seules deux machines sont reliées (exemple : liaison RS232). Bus : plusieurs machines sont reliées ensemble et peuvent communiquer chacune à leur tour (exemple : bus IEEE 488). Les réseaux informatiques utilisent ces deux types de liaison en fonction de la technologie choisie pour les échanges. 4 1.2.3) Environnement de communication La communication de données peut s’effectuer dans des conditions très différentes : • à l’intérieur de bâtiments ou à l’extérieur, • dans des bureaux ou dans un atelier à l’environnement très perturbé. CELLULE ATELIER USINE ETUDES DIRECTION On parle de : - Réseaux locaux informatiques principalement dans le cas des bureaux. - Réseaux locaux industriels pour ce qui concerne les ateliers. - Réseaux de terrain pour ce qui concerne les ateliers et l’extérieur dans l’enceinte de l’entreprise. La communication longue distance est le domaine des réseaux de télécommunication. Ordinateurs Usine Ordinateur Atelier Ordinateur Cellule TERRAIN MOCN Ordinateur Atelier Ordinateur Cellule Ordinateur Cellule Contrôleur de process Automate programmable Asservissement Ordinateur Cellule Robot Convoyeur Figure 1 : Le modèle d'usine intégrée. 1.3) Fonctions d’un réseau 1.3.1) Communication • • Echange de messages humains : messagerie (locale..., internationale), Echange de messages entre machines : chaînes de production, 5 • Echange de données : transfert de fichiers. 1.3.2) Utilisation de ressources communes Stockage des données : • augmentation de la capacité de stockage, • facilité de partage, • facilité de gestion, • travail sur des postes différents, • sécurité si multi-copie. Exécution de programmes : • augmentation de la puissance de calcul (Terminaux, micro <-> Cray, multiprocessing), • compatibilité (Sun, IBM, PC....), • délocalisation de logiciels (CAO, gestion) Impression des documents : • économie des moyens, • confort. Accès à des bases de données : • partage des données, • mise à jour, • suivi des produits. 1.4) Caractéristiques des réseaux 1.4.1) Taille et vitesse des réseaux LAN Vitesse WAN 100 Mb Local Area Network Wide Area Network Réseau TV Image TV 10 Mb DAN BAN CAN Departemental MAN Metropolitan WAN 1 Mb Building Transmission numérique Campus 1 km LAN : câblage dédié. WAN : réseaux de télécommunication Figure 2 : Taille des réseaux. 6 100 Kb 1 km Téléphone 100 km Figure 3: Vitesse des réseaux. Taille Type Exemples Instrumentation Capteur/actionlégère neur de contrôle (local) commande Surveillance Alarmes Sécurité (global) Vision Instrumentation Radars lourde Sonars (local) Bureautique Terminaux, légère postes de (local) travail (textes) Gestion et base Terminaux de de données gestion d'image (global) transfert fichiers Interactions Voix humaines (global) Phonie Taille des structures de données Ordre de grandeur des délais 1 à 100 bits 1 à 100 bits 10 Mbits (vidéo) 10 ms (période d'échantillonnage) 10 ms (temps de réponse par avalanche) 1 "image" toutes les 50 ms 1 à 300 Kbits 30 à 300 Kbits 2 Kbits Débit par source Fiabilité Maximum 200 Kbits/s Moyenne (erreurs acceptées) 10 10 totale 1s Maximum 200 Kbits/s (si avalanche) 200 Kbits/s à 200 Mbits/s Moyen 1 à 30 Kbits/s 1 à 10 s Moyen 1 à 300 Kbits/s 10 totale 64 Kbits/s constant Erreurs acceptées 10 ms (variations ≤ 1 ms) Faible Moyenne 10 Tableau 2 : Types de trafic en milieu industriel. 1.4.2) Adressage Le but d’un réseau étant de faire communiquer ensemble plusieurs entités, chacune d’entre elles doit être identifiée. De ce fait, chaque utilisateur, chaque poste de travail doit avoir un ou plusieurs identificateurs propres appelés « adresse ». Il existe plusieurs types d’adresses : • littérale : exemples : Nom d’utilisateur, nom de machine, nom de réseau. [email protected] einstein.espeo.univ-orleans.fr • numérique : numéro d’utilisateur (attribué par le responsable réseau), numéro de machine (attribué par le responsable réseau), numéro d’interface machine (attribué par l’IEEE), numéro de réseau (attribué par le NIC : Network Information Center). 192.2.3.28 e0.26.ff.36.56.03 exemples : 1.4.3) Caractéristiques techniques D’autres caractéristiques interviennent lors du choix d’un réseau. On parle de : • Fiabilité : panne, taux d’erreurs, • Evolutivité, • Sécurité : accès contrôlé, accès détectable, confidentialité, • Facilité de gestion, • Compatibilité. 7 Nous verrons plus en détail ces caractéristiques dans la suite du cours, en particulier dans le chapitre 3. 1.5) Objectif du cours Ce cours présente une étude générale des réseaux qui pourra s’appliquer aux différents types de réseaux. Pour cela, il sera centré sur une description des fonctionnalités (modèle en couches). Pour chaque étape les implémentations les plus connues seront présentées. Le domaine des réseaux locaux informatiques servira le plus souvent de support. Les réseaux de terrain, qui sont en général une version simplifiée, du point de vue des protocoles, des réseaux informatiques, seront aussi abordés. Les réseaux de télécommunication, quoique étant un maillon essentiel de l’interconnexion des réseaux, dépassent le cadre du cours. Quoi qu’il en soit, les techniques mises en œuvre sont très souvent similaires. 8 Chapitre 2 : Modèles et normalisation 2.1) Principe d’un modèle en couches 2.1.1) Définition La mise en œuvre de systèmes complexes, comme peuvent l’être les réseaux informatiques, nécessite de mettre en place des outils pour spécifier, réaliser, comprendre ou dépanner. Le terme de « modèle » est en général utilisé pour ce qui concerne les réseaux. Le modèle le plus connu (voire l’unique) est le modèle en couches. Il peut se résumer de la manière suivante : Modèle en couches : modularité + restriction sur les communications verticales + possibilité de communications horizontales 2.1.2) Modularité C’est la décomposition d’un problème complexe en plusieurs sous–problèmes : • simplification du problème, • répartition des taches, • gestion des communications par entrées– sorties identifiées. 1 Pb 3 2 4 6 5 2.1.3) Communications verticales La restriction sur les communications verticales induit un aspect hiérarchique : • • 1 seul type de communication vers le bas : une couche utilise les services offerts par la ou les couches immédiatement inférieures. Elle effectue des demandes de services. 1 seul type de communication vers le haut : une couche fournit des services à la ou les couches immédiatement supérieures. 9 2.1.4) Communications horizontales Il existe une seule manière de communiquer avec la même couche d’un autre système. Le langage de communication entre couches de même niveau doit être le même (protocole). 2.1.5) Schéma global Dans un modèle en couches de réseau, la communication entre deux machines est représentée par une liaison globale correspondant à autant de liaisons virtuelles que de couches. En fait, seule une couche (le médium) assure une liaison réelle. 2.1.6) Exemple d’une modélisation en couche : le transport du courrier Exprime la requète Envoyer pièce n° 130 Responsable atelier Responsable atelier Formule la requète Prière envoyer pièce n° 130 Salutations Secrétaire Secrétaire Choix du mode de transmission : lettre, radio, téléphone Service expédition réception Service expédition réception Choix du mode de transport : avion, bateau, train Poste Poste Choix de l’itinéraire : Dakar-Londres Londres-Paris Mise en sac Transport des lettres 10 Service postal aéroport Service postal aéroport Service postal aéroport Manutention aéroport Manutention aéroport Manutention aéroport avion avion avion DAKAR LONDRES PARIS 2.2) Le modèle O.S.I. 2.2.1) Présentation du modèle Le modèle O.S.I. (Open System Interconnection) de l’I.S.O. (International Standardization Organization) est une architecture générale applicable à un réseau. C’est un concept hiérarchisé d’organisation (matériel et logiciel). Il existe des produits respectant ce concept, mais il n’y a pas de correspondance directe avec des produits commerciaux. Description de chaque couche. 7 Couche application 6 Couche présentation Couche Session : gestion d’une session de connexion (ouverture, fermeture, reprise sur incident). Connexion : temps de communication entre 2 observateurs. 5 Couche session Couche Transport : contrôle de bout en bout de la transmission : rassemble les paquets, élimine ceux en trop... 4 Couche transport Couche Réseau : interconnexion entre réseaux physiquement hétérogènes, choix du chemin entre deux utilisateurs (adresses). 3 Couche réseau Couche Liaison : gestion de l’accès au médium, contrôle des erreurs (travail sur un train d’information). 2 Couche liaison Couche Physique : définition des interfaces électriques, mécaniques, transmission des bits sur le circuit de communication. 1 Couche physique Couche Présentation : mise en forme, codage, compression, cryptage des données utilisateurs. Médium : câbles, fibres optiques. TRANSMISSION Couche Application : interface d’accès aux services réseaux pour les applications ou les utilisateurs. Exemple : transfert de fichiers (FTP). TRAITEMENT Application médium 11 2.3) « Modèle » I.E.E.E. du comité 802 2.3.1) Présentation du modèle Le modèle du comité 802 de l’I.E.E.E. ne décrit que les couches basses de la communication par réseau. Il concerne uniquement les couches 1 et 2 du modèle O.S.I. mais il définit deux sous-couches relativement à la couche « Liaison » de l’ISO. Sous couche LLC (Contrôle de liaison logique) : Elle décrit les procédures d’adressage et de mise en oeuvre de la liaison. Logical Link Control Sous couche MAC (Contrôle d’accès au médium) : Elle réalise la gestion des accès : exclusion, priorité, erreur, collision. Medium Access Control Couche PS (Signal Physique) : Elle est équivalente à la couche Physique O.S.I. Physical Signal Interface MAU (unité d’accès au médium) : elle vient se rajouter entre le médium et la couche PS pour définir la connexion. Médium Medium Access Unit médium 2.3.2) Normalisation de l’I.E.E.E. A partir de ce découpage, l’I.E.E.E. a constitué un ensemble de normes. Les principales différences se situent au niveau MAC où plusieurs normes ont été définies, chacune correspondant à un fabricant ou groupe de fabricants. De plus, l’utilisation d’une norme au niveau MAC conditionne largement les choix pour la plupart des autres couches ceci en fonction des offres des constructeurs : • • • 12 IEEE 802.3 ou Ethernet. Mise en place par Xérox et beaucoup d’autres, ce sont des réseaux à 10 Mbits/s (100 Mbits ou même 1 Gbits dans une nouvelle mise en œuvre). La méthode d’accès est dite à compétition. IEEE 802.4 ou Token Bus (jeton sur bus). C’est un réseau industriel créé par GM (réseau MAP. Les débits sont de 1 Mbits/s, 5 Mbits/s, 10 Mbit/s. Le support est souvent du coaxial type TV. IEEE 802.5 ou ISO 8802.5 ou Token Ring (jeton sur anneau). Défini à l’instigation d’IBM, il permet des débits de 1 Mbits/s, 4 Mbits/s, 16 Mbit/s. 2.4) Services et protocoles 2.4.1) Définitions a) Service Un service correspond à un dialogue vertical. Lors de ce dialogue, on dit que : • une couche N fournit un service à la couche N+1, • une couche N utilise un service de la couche N-1. Exemple : transmission de message, ouverture d’une connexion Remarque : celui qui utilise le service ne sait pas comment il est réalisé (principe de transparence). Une entité peut fournir un service à plusieurs utilisateurs (SAP : Service Access Point). L’unité d’échange s’appelle une SDU. SDU : Service Data Unit, message de service entre deux couches. b) Protocole Un protocole correspond à un dialogue horizontal entre deux couches de même type pour deux machines différentes. C’est une règle de dialogue entre deux entités appartenant à une couche de même type. L’unité d’échange est une PDU. PDU : Protocol Data Unit : message de protocole (à l’intérieur d’une couche). Remarque : on peut changer de protocole sans changer de service. 2.4.2) Fonctionnement a) Fonctionnement global On peut le décrire en 3 étapes de base : 1. Une entité de niveau N reçoit une SDU de la part de la couche N+1, 2. Elle doit transmettre une PDU à l’entité distante de même niveau, 3. Pour cela elle émet une SDU pour utiliser un service de la couche N-1. Ensuite, le même mécanisme est recommencé, jusqu’à arriver à la couche la plus basse : le médium, qui réalise effectivement l’échange de données. (N)SDU -> (N)PDU -> (N-1)SDU ->..... -> médium Un mécanisme inverse est mis en jeu lors de la réception d’une (N)PDU, la couche concernée transmet à la couche supérieure un service sous la forme d’un bloc de données : (N-1)PDU -> (N-1)SDU -> (N) PDU... 13 Site A Site B Couche N+1 Protocole de niveau N+1 (N+1) PDU (N) SDU Service offert à N+1 (N) SDU Couche N Procédure (N) du site A SAP Procédure (N) du site B Protocole de niveau N (N) PDU Appels au service N-1 b) Dénomination des primitives de service Il est nécessaire de définir des notations pour comprendre le fonctionnement des échanges. Le formalisme est commun quelles que soient les couches, il est réalisé à l’aide de primitives. Notation : (name)_(service)_(command) nom de la couche concernée • • • • type de service demande de service : transmission d’une demande : réponse à une transmission : réponse à une demande : type de commande ******_******_REQUEST ******_******_INDICATION ******_******_RESPOND ******_******_CONFIRM RESPOND et CONFIRM ne sont pas obligatoires. Ils dépendent du type de service demandé (avec ou sans accusé). N+1 N_CONNECT REQUEST 1 4 N 14 N+1 N_CONNECT CONFIRM N_CONNECT RESPOND Protocole PDU 3 2 N N_CONNECT INDICATION c) Exemple de transfert de données PDU UTILISATEUR 1 UTILISATEUR 2 (1) A_RELEASE req (13) A_RELEASE ind RLRQ APPLICATION (2) S_RELEASE req APPLICATION (12) S_RELEASE ind DN SESSION (3) T_DATA req SESSION (11) T_DATA ind DT TRANSPORT (4) N_UNITDATA req TRANSPORT (10) N_UNITDATA ind DT RÉSEAU (5) L_DATA req RÉSEAU (9) L_DATA ind UI LLC (6) MA_DATA req (7) MA_DATA conf LLC (8) MA_DATA ind MAC MAC (UI/DT/DT/DN/RLRQ) Figure 4 : Procédure de déconnexion, phase 1. PDU UTILISATEUR 1 (13) A_RELEASE conf UTILISATEUR 2 (1) A_RELEASE resp RLRE APPLICATION (12) S_RELEASE conf APPLICATION (2) S_RELEASE resp FN SESSION (11) T_DATA ind SESSION (3) T_DATA req DT TRANSPORT (10) N_UNITDATA ind TRANSPORT (4) N_UNITDATA req DT RÉSEAU (9) L_DATA ind RÉSEAU (5) L_DATA req UI LLC LLC (6) MA_DATA req (7) MA_DATA conf (8) MA_DATA ind MAC MAC (UI/DT/DT/FN/RLRE) Figure 5 : Procédure de déconnexion, phase 2. 15 PDU UTILISATEUR 1 UTILISATEUR 2 APPLICATION APPLICATION SESSION SESSION (1) T_DISCONNECT req (9) T_DISCONNECT ind DR TRANSPORT (2) N_UNITDATA req TRANSPORT (8) N_UNITDATA ind DT RÉSEAU (3) L_DATA req RÉSEAU (7) L_DATA ind UI LLC (4) MA_DATA req (5) MA_DATA conf LLC (6) MA_DATA ind MAC MAC (UI/DT/DR) Figure 6 : Procédure de déconnexion, phase 3. UTILISATEUR 1 PDU UTILISATEUR 2 APPLICATION APPLICATION SESSION SESSION (9) T_DISCONNECT ind DC TRANSPORT TRANSPORT (1) N_UNITDATA req (7) N_UNITDATA ind DT RÉSEAU RÉSEAU (2) L_DATA req (6) L_DATA ind UI LLC LLC (3) MA_DATA req (4) MA_DATA conf (5) MA_DATA ind MAC MAC (UI/DT/DC) Figure 7 : Procédure de déconnexion, phase 4. 16 2.4.3) Action sur les données : encapsulation Lorsqu’elle reçoit des données, chaque couche y rajoute des informations placées en début et en fin de message. La N_PDU est incluse dans les arguments de la (N-1)_SDU et devient par ajout des informations de niveau N-1 une (N-1)_PDU. La réception d’une N_SDU peut entrainer l’émission de plusieurs N_PDU. Donnée utilisateur Application APDU PSDU Présentation PPDU SSDU Session Transaction SPDU TSDU Transport Messages TPDU NSDU Réseau Paquet NPDU LSDU Frames Liaison LPDU MA-SDU Physique bit Figure 8 : Superposition des unités de données (ENCAPSULATION). 2.5) Normes et Organismes 2.5.1) Organismes de normalisation a) Organismes officiels • L’ISO (International Standard Organisation). 17 Il regroupe les organismes nationaux de normalisation et établit des normes internationales. Un comité technique (TC : Technical Committee) est constitué pour chaque domaine. • Le CCITT (Comité Consultatif International pour le Télégraphe et le Téléphone). Il regroupe les différents organismes de télécommunication. Il définit des normes. Exemples : V24, X25. • L’IEC (International Electrotechnical Commission) Il traite des normes en électricité et donc par conséquent il intervient dans le domaine des communications de données. • Le CEN (Comité Européen de Normalisation) Il coordonne en Europe les travaux des organismes nationaux. Dans le domaine des télécommunications, il agit par l’intermédiaire de la CEPT (Conférence Européenne des Postes et Télécommunications) et du CENELEC (Comité Européen de Normalisation ELECtrotechnique). • L’AFNOR (Association Française de Normalisation) Il représente en France L’ISO et en est son interlocuteur. b) Organismes privés Dans les pays où les Télécommunications sont privées, certains organismes privés remplacent les associations de normalisation. Ceci est particulièremennt le cas aux EtatsUnis où deux organisations ont pris une part importante dans les travaux de normalisation. • L’EIA Elle publie des recommandations reférencées RS (RS232...). • L’IEEE (Institute of Electrical and Electronical Engineers) C’est une société savante qui comprend un grand nombre de membres, particulièrement aux USA. Ses domaines de compétences s’étendent à tous les aspects de l’électricité et de l’électronique. Elle a joué, via son comité 802, un rôle prépondérant dans l’établissement des normes sur les couches basses des réseaux (IEEE 802.3...). 2.5.2) Les organismes de certification Ils ont un rôle complémentaire des organismes de normalisation. Ils doivent vérifier que les produits mis sur le marché ou importés sont conformes aux normes en vigueur dans le pays. En France, L’ACERLI (Association française des Centres d’Essais pour les Réseaux Locaux Industriels) réalise cette vérification sur les produits relatifs aux réseaux locaux. 2.5.3) Les principales normes Sous-couche MAC : IEEE 802.3 ou ISO 8802.3 : bus avec accès à compétition (CSMA/CD) IEEE 802.4 ou ISO 8802.4 : jeton sur bus (Token bus) IEEE 802.5 ou ISO 8802.5 : jeton sur anneau (Token ring) 18 Sous-couche LLC : IEEE 802.2 ou ISO 8802.2 : définition de la liaison logique X21 et X21bis pour les réseaux publics. Couche Réseau : Service sans connexion (CLNS) : ISO 8473 Service sur connexion : CCITT X25 Couche transport : Norme du service : ISO 8072 Norme du protocole : ISO 8073 Norme du CCITT : X224 Norme d’adressage : ISO 8348 Couche Session : Norme du service : ISO 8326 Norme du protocole : ISO 8327 Couche Présentation : Définition générale : ISO 8822 Norme du protocole : ISO 8823 Couche Application : ACSE : ISO 8650 MMS : ISO DIS 9506 FTAM : (File Transfert) ISO 8571 Messagerie : CCITT X400 Terminal virtuel : ISO DIS 9040 19 Chapitre 3 : Constitution physique des réseaux locaux : architecture, câblage 3.1) Topologie, architecture 3.1.1) Différents types de topologie La topologie d’un réseau local ou son architecture d’interconnexion est la manière dont les différents postes d’un réseau sont reliés. a) Bus Toutes les machines sont reliées au même câble. Les données sont disponibles à chaque instant pour tous les postes. b) Anneau Les données circulent de machine en machine. Une machine ne voit que la précédente et la suivante via des liaisons point à point. Les données sont disponibles de manière séquentielle sur les postes. c) Etoile C’est l’archétype d’une structure centralisée. Un poste concentre les données, il fait office d’aiguillage. Une panne du nœud central bloque toutes les communications. Le nœud central doit avoir une puissance importante. 21 d) Arbre C’est une architecture hiérarchisée. Les données remontent l’arborescence puis redescendent. Une panne ne compromet le trafic que des nœuds en dessous. e) Architectures mixtes Toutes les combinaisons des précédentes peuvent être faite pour constituer une topologie plus complexe. 3.1.2) Architecture physique et logique En fait, il existe une distinction importante entre les connexions électriques (architecture physique) et le type de fonctionnement, d’échange de données (architecture logique). L’un et l’autre ont une importance suivant le niveau d’intérêt dans les couches du modèle. Exemple 1 : Bus physique - Anneau logique 1 2 3 4 5 Les échange de données se font dans l’ordre suivant 1→2→3→4→5→1.... (anneau) Exemple 2 : Arbre physique - Bus logique Les données sont systématiquement propagées dans toutes les branches de l’arbre. 22 3.2) Caractéristiques des réseaux Suivant le type d’architectures physique et logique, les réseaux n’auront pas les mêmes caractéristiques topologiques ni les mêmes propriétés de fonctionnement. 3.2.1) Caractéristiques Certaines caractéristiques sont directement liées au choix de l’architecture : • • Type de liaison : point à point, multipoints, régulière, irrégulière. Hiérarchie des machines : identiques ou maître–esclave. Plusieurs propriétés en découlent : • • • • • • • Connectivité : facilité d’accès aux autres stations. Diffusion : capacité à émettre vers toutes les stations. Reconfiguration : facilité pour ajouter ou enlever une machine. Sûreté de fonctionnement : sensibilité aux défaillances d’un élément. Facilité de câblage. Fiabilité du câblage : rupture totale de la communication, parasitage, espionnage. Prix. Ces propriétés seront à prendre en compte lors du choix de réalisation d’un réseau. Nous verrons au fur et à mesure du cours les propriétés de chaque type de réseaux, et dans ce chapitre tout ce qui concerne la réalisation avec des éléments physiques. 3.2.2) Contraintes de câblage Le choix d’un type de câblage doit se faire en fonction d’un cahier des charges qui définit un certain nombre de contraintes : • • • • • • • • Taille du réseau : distance et nombres de machines, Débit désiré, Environnement de câblage : poids supporté, angles... Interaction avec l’environnement extérieur : résistance mécanique, tenue aux vibrations, température, parasites électromagnétiques, radiations, agression chimique,... Nature des informations, Les hommes : utilisateurs, techniciens de maintenance, Topologie imposée, Prix. Nous allons maintenant passer en revue les différents éléments qui constituent un câblage : c’est à dire, le médium, les éléments d’interconnexion, les terminaisons ainsi que tous les éléments actifs nécessaires au fonctionnement d’un réseau. 23 3.3) Un médium, des Média 3.3.1) Les câbles coaxiaux a) Le câble CATV (Community Antenna Television) : type TV C’est un câble de type liaison d’antenne de télévision. Il a une impédance de 75 ohms. Isolant Tresse cuivre Isolant Fil (monobrin) Du fait de son utilisation importante en télévision, c’est un câble d’un prix de revient faible. Il correspond bien à des réseaux locaux travaillant dans la gamme de fréquences de la télévision (500MHz-1GHz). C’est à dire pour les réseaux de type FACTOR ou MAP où l’information est modulée sur une porteuse. b) Le câble coaxial « jaune », ou gros ethernet : RG11 (câble jaune) Il est constitué de plusieurs couches de blindage et d’isolation. Son impédance caractéristique est de 50 ohms. Il pèse 182 kg/km. Isolant (jaune) Ruban alu 10 mm Tresse cuivre isolant Ruban alu Fil Cu (monobrin) Tresse cuivre Son utilisation principale est dans le réseau ethernet de type 10Base5 (10 pour 10 MHz, Base pour bande de base, 5 pour 500 mètres maximum par segment). Il permet de réaliser des réseaux de longueur maximum de 2.5 km, avec 100 postes par segments, chaque poste étant espacé de 2.5 m au minimum. C’est un des premiers câbles spécifiquement utilisés dans les réseaux locaux. Son utilisation est peu aisée : rigidité du câble, connexion spécifique. Il n’est utilisé que pour réaliser des « backbones » (épine dorsale de grands réseaux) servant à relier plusieurs sous–réseaux. c) Le câble coaxial standard, ethernet fin : RG58 (type oscilloscope) Il est constitué de deux conducteurs séparé par un isolant. Un conducteur multibrins central, et une tresse de cuivre. C’est le même type de câbles que ceux qui servent à relier les instruments de mesure en électronique (oscilloscope...). Il a une impédance de 50 ohms. Du fait de son âme centrale fine et du faible nombre de couches, il est très souple et relativement léger. 24 Isolant (noir) Tresse cuivre Ruban Alu Isolant Fils (multibrin) C’est le câble coaxial le plus répandu. Il est utilisé dans le câblage ethernet 10Base2. Il permet de réaliser des réseaux de 185 m par brin (925 m en tout) ; on peut y relier jusqu’à 30 postes/ segment. d) Caractéristiques communes Les câbles coaxiaux ont une bonne immunité aux perturbations électromagnétiques. Ils permettent de réaliser des réseaux ayant des bandes passantes utiles de 10 à 100 Mhz. Leur montage est relativement facile. Ils sont surtout adaptés pour des topologies physiques de type bus. Leur coût est relativement faible. Connecteurs BNC Outils de connexion 3.3.2) Les paires torsadées a) paire non blindée (UTP Unshielded Twisted Pair) Une paire torsadée est constituée de deux fils souples enroulés l’un autour de l’autre avec un pas réduit (6 torsades par mètre). Les paires sont en général regroupées dans des câbles. Ceux-ci peuvent avoir un grand nombre de paires. Ces câbles ont été initialement utilisés dans les liaisons téléphoniques (paire téléphonique). L’utilisation de fils torsadés réduit l’influence des perturbations électromagnétiques, mais il persiste un déséquilibre entre les deux fils, car l’un sert de référence de masse qui est dans la plupart des cas commune entre les deux équipements à relier, l’autre fil étant le fil du signal à transmettre. Leur sensibilité aux perturbations reste donc très grande. Ils offrent une bande passante de 10 Mhz jusqu’à 100 Mhz sur de faibles distances. Ils ont un 25 prix réduit. Ils sont utilisés pour des liaisons point à point et en particulier pour faire les câbles de liaison entre équipement et prise murale. Initialement, ils ont été utilisés pour le câblage : • TokenRing de type 3 (2 paires torsadées de 0.5 mm²) pour des liaisons de 45m maximum à 4Mbits/s. • Ethernet 10BaseT (T≡Twisted pair) sur une longueur maximum de 100m à 10Mbits/sec. b) La paire symétrique blindée (FTP ou F/FTP câble blindé ou blindé par paire) Les deux fils torsadés sont entourés d’une tresse conductrice. Ces paires sont en général aussi rassemblées dans des câbles pouvant comporter eux-mêmes un blindage global. L’utilisation d’un blindage permet de plus d’avoir un fil supplémentaire servant à relier les masses des deux équipements. La paire torsadée peut alors jouer tout son rôle en effectuant une véritable liaison symétrique. Elle permet de réaliser des liaisons point à point jusqu’à 100Mbits/sec. Elle est très souple, légère et d’un prix relativement réduit. c) Les différents standards L’utilisation de câbles composés de plusieurs paires torsadées blindées ou non dans le câblage des bâtiments est quasi–systématique à l’heure actuelle. Le faible coût de câblage, la facilité de réalisation et l’amélioration des performances relativement aux perturbations en font un câblage adapté à la bureautique et aux applications industrielles dans des milieux peu perturbés. Le câblage réseau s’accompagne du câblage téléphonique dans le même câble. Les supports peuvent même être non différenciés. Les cordons monobrins relient deux centres de câblage ou un centre de câblage et une prise murale. Conçus pour des chemins horizontaux ou des dorsales, ils ne doivent pas subir de courbures, de pliures, ni de torsions répétées. Les cordons multibrins sont utilisés pour connecter les cartes réseaux aux prises murales, ou comme cordons de brassage. Souples, ils ne doivent pas dépasser une longueur maximale de 6 mètres. Suivant le type de réseaux, plusieurs standards existent : • TokenRing Type 1 : 2 paires blindées de 0.6 mm² pour des réseaux à 4 ou 16 Mbits/sec, • TokenRing type 2 : 2 paires blindées+4 paires non blindées pour réseaux et services, • TokenRing type 5 : 4 paires blindées pour des réseaux à 16Mbits/sec, • Câble STP Catégorie 5 : semblable aux précédents mais pour Ethernet 100Mbits/sec, • Câble UTP Catégorie 5 : comme les STP mais non blindés pour liaisons courtes, • Câble FTP ou SFTP Catégorie 5+ (classe D) : pour les liaisons 10 et 100 Mbits/sec. • Câble UTP ou FTP Catégorie 5E (classe E, 2ème définition) : pour les liaisons 10, 100 et 1000 Mbits/sec. • Câble UTP ou FTP (250 MHz) Catégorie 6 : pour les liaisons 1 Gbits/sec. • Câble F/FTP Catégorie 6+ (500 MHz) : pour les liaisons 1 Gbits/sec en milieu perturbé. 3.3.3) Les fibres optiques La transmission de l’information dans des fibres optiques est réalisée par modulation de l’amplitude de la lumière d’un émetteur (diode, laser) placé à un bout de la fibre, un récepteur étant placé à l’autre extrémité. Il existe deux types de fibres : les fibres en verre et en plastique. La première possède de meilleures performances en terme 26 d’affaiblissement, mais est légèrement plus coûteuse et surtout plus difficile d’usage (fragilité) : elle est utilisée dans les liaisons rapides à longues distances. La deuxième ne peut être utilisée que sur de courtes distances avec des débits plus réduits. Connecteur SC (verrouillage coulissant) Connecteur ST (verrouillage baïonette) Les fibres optiques sont insensibles aux perturbations électromagnétiques, l’isolement électrique est total. Elles ont une atténuation du signal très faible. Elles sont légères mais relativement fragiles. Leur connexion est difficile rendant assez cher un câblage de ce type. Elles assurent une très bonne confidentialité des données. Elles sont utilisées pour des liaisons point à point à grande distance ou dans des environnements très perturbés. Le domaine des grands débits leur est en général aussi réservé (>100Mbits/sec). Elles sont utilisées dans les câblages principaux des réseaux (backbone ou anneau principal) : - Ethernet sur fibre optique, 100 base FX [F≡Fibre optique], - tokenRing type 5 pour l’anneau principal, - FDDI (Fiber Distributed Data Interface), réseau à 100Mbits/sec pouvant relier sur 200 km 1000 stations sur deux boucles en fibre optique. 3.3.4) Autres supports possibles a) Ondes hertziennes : satellite, radio La transmission longue distance d’information numérique peut passer par voie hertzienne, elle peut emprunter par exemple les réseaux téléphoniques par satellites. La faible fiabilité de ce type de liaison (perturbations atmosphériques) en limite l’usage. b) Faisceau laser, infra–rouge L’utilisation d’un faisceau laser pour transmettre dans l’atmosphère sur de faibles distances (100m) est quelquefois envisagé. Cela apporte une solution légère et souvent temporaire pour communiquer entre deux bâtiments séparés par une zone où un câblage est difficile (domaine public ou obstacle naturel). La fiabilité est faible et dépend de la visibilité. c) Champ magnétique Dans des locaux industriels, la transmission d’information numérique peut être envisagée par un champ magnétique. Un mobile (chariot guidé...) reçoit des informations lors de son passage proche d’un émetteur. Des implémentations basées sur une boucle magnétique dans un atelier existent et peuvent répondre à des contraintes de flexibilité et d’échange sans contact. d) Courant porteur L’utilisation du câblage électrique existant pour réaliser des réseaux locaux peut être une solution simple et peu onéreuse dans des locaux anciens où un câblage peut s’avérer 27 difficile. Plusieurs limitations existent : faibles débits, non maîtrise du câblage, difficulté de réamplification des signaux. 3.3.5) Utilisation A l’heure actuelle, le câblage par câble coaxial a fait place dans pratiquement tous les cas au câblage par paires torsadées. Toutefois l’utilisation d’Ethernet 10Base2 peut être une solution envisageable dans des locaux modulaires non précâblés : la reconfiguration du câblage étant alors plus simple. A l’autre extrémité, le câblage par fibre optique a aussi remplacé le coaxial pour les forts débits, les grandes distances et les environnements très perturbés. 3.4) Eléments passifs 3.4.1) Eléments d’interconnexion A chaque type de câblage est associé des éléments d’interconnexion qui pourront dans certains cas représenter une part non négligeable du coût. a) Borniers ou panneau de brassage Le câblage par paires torsadées correspond en général à un précâblage de bâtiment, la destination finale de chaque paires étant décidée par l’utilisateur. Il est alors nécessaire de prévoir dans des armoires techniques qui concentrent tout le câblage d’une partie de bâtiment (étage, couloir) des dispositifs permettant de mixer les connexions. Ce sont des rangées de borniers que l’on nomme panneau de brassage. Réseau 1 Câblage bâtiment Cordons de brassage Câblage bâtiment Réseau 2 b) Connecteurs type téléphone RJ45 Pour le précâblage de type paires torsadées, des prises murales sont posées dans chaque pièce. Ce sont en général des prises type RJ45 à 8 fils ressemblant aux petites prises téléphoniques (4 fils). La liaison entre la prise et l’ordinateur s’effectue par un câble RJ45 mâle–mâle 28 c) Té BNC En ce qui concerne l’ethernet 10Base2, il est nécessaire de garder la structure bus dans le câblage. La connexion sur l’ordinateur s’effectue par un té BNC. Des prises murales peuvent aussi exister et faire office de commutateur lors de l’ajout ou du retrait d’un ordinateur. Bouchon 50 ohms Adaptateur en T Câble BNC Transceiver ou adaptateur BNC d) Prises vampires Pour l’ethernet 10Base5, la taille du câble et son nombre de conducteurs sont tels qu’il ne peut être question de réaliser des connexions pour chaque ordinateur. On utilise donc des prises spéciales (dite Vampire) qui permettent la connexion sans coupure du câble. Connexion signal Isolant Tresse Brin central Connexion de masse 3.4.2) Eléments de terminaison Ces éléments sont présents dans le cas d’un câblage par bus. En effet, les bouts de chaque câble ne peuvent être laissés en l’air. Pour des raisons liées à la propagation des ondes dans les câbles, il faut placer des adaptateurs de lignes aux extrémités. Ce sont des charges d’impédance égales à l’impédance caractéristique de la ligne : soit 50 ohms, soit 75 ohms. 29 3.4.3) Connexions optiques La réalisation de connexions optiques sur des fibres est relativement difficile. Les liaisons longues distances sont le fait d’entreprises spécialisées. Pour les plus courtes distances, on peut trouver des mécanismes de connexion utilisables (HP), ou tout simplement acheter la fibre avec les connecteurs. 3.5) Les éléments actifs La description en détail de leur fonctionnement dépasse le cadre de ce chapitre, car les mécanismes de fonctionnement englobent les 4 ou 5 couches basses du modèle ISO. Nous nous contenterons donc de citer les différents éléments actifs et leurs principales caractéristiques ainsi que leur utilisation. 3.5.1) Carte interface réseau C’est une carte d’entrée–sortie au format du bus de l’ordinateur. Elle rassemble les fonctions des couches basses du réseau. Son prix est de l’ordre de 50 € (voire même 25 € pour une 10/100 Mbits la moins chère) jusqu’à 200 € pour les plus performantes. (a) carte bus PCI, RJ45, AUI, BNC. (b) carte PCMCIA ordinateur portable. Figure 9 : Cartes interface réseau. 3.5.2) Transceiver ou MAU (Medium Attachment Unit) Il est souvent inclus dans la carte réseau de PC pour les cartes 10BaseT ou 10Base2. Dans le cas des stations de travail ou de protocole moins courant, ce dispositif est proche du câble réseau. La carte réseau de l’ordinateur et le transceiver sont alors reliés par un câble de descente (Drop cable ou AUI Attachment Unit Interface) constitué de 4 paires blindées. Son prix est de l’ordre de 30 €. 30 3.5.3) Concentrateur ou HUB C’est un dispositif qui permet de réaliser une topologie logique de type bus sur un câblage de type arbre. Il est très utilisé dans la réalisation de réseaux de type 10BaseT et cohabite avec le panneau de brassage dans les armoires techniques. Il peut avoir des fonctions supplémentaires (filtrage...). Un Hub 16 entrées a un prix moyen de 250 €. 3.5.4) Commutateur ou Switch Un commutateur est un concentrateur qui filtre et achemine les paquets selon leur adresse MAC. En sélectionnant les ports qui doivent acheminer l’information, le commutateur réduit le trafic réseau et améliore donc les performances des concentrateurs. Un Switch 24 ports 100 MBits coûte en moyenne 1000 €. 3.5.5) Répéteur C’est un dispositif amplificateur qui vient se mettre en série sur le câblage, pour régénérer les signaux électriques au niveau physique (couche 1 du modèle OSI). Il permet de s’affranchir des problèmes d’atténuation du câble. Il réalise une remise en forme électrique des signaux, et un filtrage des collisions. Son prix est de l’ordre de 400 €. 10111 Couche physique médium 10001 10111 10001 31 3.5.6) Pont ou Bridge Cet appareil régénère la trame au lieu du signal, et donc ne transmet pas les « bruits » parasites. Il peut filtrer le trafic (pont filtrant) au sein d’un seul réseau ou de deux réseaux de même protocole. Il peut aussi réaliser une adaptation entre deux parties de réseau ayant des couches physiques différentes. Les prix des ponts sont très variables en fonction des performances et des protocoles : cela reste un appareil relativement onéreux (600 € et plus). Couche réseau Couche Liaison Couche Physique médium Couche Liaison Couche Physique 3.5.7) Routeur Un routeur est un dispositif d’aiguillage qui permet de faire transiter des paquets définis au niveau de la couche 3 du modèle OSI. Il réalise des liaisons entre deux ordinateurs par différents chemins. La gamme de prix est assez étendue comme pour les ponts. Pour obtenir des performances correctes, un routeur peut coûter plus de 3000 €. Couche réseau Couche Liaison Couche Physique médium Couche Liaison Couche Physique 3.5.8) Passerelle ou Gateway Le terme passerelle regroupe un certain nombre de matériels réalisant des interconnexions de réseaux de protocoles différents (couche 4 du modèle OSI). Les fonctions des ponts, routeurs, et passerelles sont d’ailleurs souvent englobées dans le même dispositif (pont-routeur, ...). Conversion protocole Couche réseau Couche liaison Couche physique 32 médium Couche réseau Couche liaison Couche physique 3.5.9) Modem Un modem permet d’utiliser une liaison de type analogique (téléphonique en général) pour transmettre des données numériques. Les débits obtenus sont de 14400 bits/sec, 28800 et même 33600 bits/sec sur une simple liaison téléphonique de bonne qualité (3kHz de bande passante). (a) externe. (b) PCMCIA ordinateur portable. Figure 10 : Modems. 3.6) Exemple de câblage ESPEO Est Niveau 2 3 LESI 192.254.8.0 LESI 1 : 192.254.8.253 5 6 CITU 192.33.145 7 ESP 2 : 164.167.25.253 8 Modules Bleus 1 GHz LESI 1 : 192.254.8.253 Modules Jaunes 4 ADM : 192.168.4.253 8 1 GHz (> 160 m) 3 Bornier 24 prises Gauss ESP1 : 192.168.49. ESP3 : 194.167.27.254 (≈ 300 m) Gremi : Modules Bleus ESPEO Ouest Niveau –1 Fibre optique 2 ESP 1 : 192.254.8.251 Modules Jaunes IUT 192.93.220 Fibre optique (> 180 m) DEG ESPEO PC 192.168.49.0 7 Modules Bleus ESPEO Est Niveau 0 Modules Jaunes Paire torsadée (< 20 m) 2 ESP 1 : 192.254.8.250 RENATER ESPEO Stations 194.167.25.0 ESP 1 : 192.168.49.252 (fibre optique, token ring) Réseau fédérateur université 1 ESPEO PC 192.168.49.0 ESPEO Admin 192.168.4.0 Amphi Gauss ESPEO PC 192.168.49.0 ESPEO LP 194.167.27.0 GREMI 193.49.77.0 Figure 11 : Schéma du réseau informatique ESPEO. 33 3.7) Les logiciels de gestion de réseaux Si les couches basses du modèle OSI sont contenues dans l’adaptateur réseau de l’ordinateur, les autres fonctions sont assurées par des logiciels. Les premiers types sont les logiciels de commande de la carte (Driver) vendus avec la carte. Ils réalisent jusqu’à la couche LLC inclus. La partie réseau et les autres couches supérieures sont réalisées par des logiciels réseau spécifiques que l’utilisateur doit acheter en plus ou qui sont fournis avec le système d’exploitation (Novell, TCP/IP, Windows95, Windows NT). Ces logiciels sont composés de deux parties, une pour le serveur l’autre pour les postes de travail. Les prix sont variables et dépendent du nombre de postes, quoi qu’il en soit, il représente une part non négligeable du coût de mise en réseau. 34 Chapitre 4 : Couche Physique 4.1) Fonctions de la couche physique La couche physique définit les aspects électriques et mécaniques de l’interfaçage avec un support physique pour transmettre des données, ainsi que l’installation, la maintenance et la déconnexion des liens physiques. Une fois en place, cette couche inclut le pilote logiciel pour chaque équipement de communication. 4.1.1) Services La couche Physique a comme fonction de transmettre une suite de bits de la manière la plus fiable possible, mais sans en interpréter le contenu ou le modifier. L'objectif étant qu'un 1 émis soit reçu comme un 1 et un 0 comme un 0. 1 -------------> 1 0 --------------> 0 1 -----xxxxx---> 0 0 -----xxxxx---> 1 Pour cela la couche physique réalise deux fonctions : conversion suite de bits -> signal électrique ou optique conversion signal électrique ou optique -> suite de bits 01010110 01010110 signal 4.1.2) Modules fonctionnels Avant d’être émis sur le médium, l’information binaire passe à travers différents étages de traitement (représenté par une suite de codages) dans le but d’améliorer les performances de la transmission. A la réception, le signal sur le médium subit les traitements inverses pour retrouver l’information binaire (suite de décodages). 4.1.3) Schéma général On peut définir un schéma général représentant tous les modules en série. 35 0101101100 Codage logique Modification de la série binaire : bourrage, … 00110000110 Codage signal ou en niveaux Codage de bits sous forme de niveaux (binaire, duobinaire, …) a, a/2, -a, … Codage physique ou analogique Mise en forme électrique ou optique Adaptation mécanique Codage sous forme d'une grandeur analogique (tension, fréquence, transition, …) Amplification Connecteurs médium L'information binaire est transformée en plusieurs étapes lors du passage dans la couche physique. Pour chaque étape plusieurs possibilités sont envisageables. Nous détaillerons les différents codages logiques et codages physiques dans les paragraphes suivants. En ce qui concerne le codage signal : • soit le codage est binaire : la valeur 0 correspond à un niveau donné et 1 à un autre • soit on utilise un codage multi-niveaux : un groupe de bits correspond à un niveau • économie : deux bits transmis par niveau • difficulté : discrimination des niveaux 00 → niveau 1 01 → niveau 2 10 → niveau 3 11 → niveau 4 36 00 01 00 10 11 01 10 4.2) Caractéristiques, définitions 4.2.1) Source, canal Canal : c’est la voie de transmission (considérée comme un élément passif) Source : c’est la partie active ou signal. source canal ∼ 4.2.2) Débits Débit binaire (Bit/sec) : C’est la quantité d'information transmise par seconde (le bit étant la quantité minimum d’information). Rapidité de modulation (baud) : C’est le nombre de changement d'états du signal par seconde. Différence entre les deux : Lors de la transmission sur la voie analogique, on peut utiliser plusieurs niveaux de la grandeur de codage. Un état peut apporter plus d’information que 1 bit. Exemple : 0 1 1 1 0 0 n4 n2 n1 1 n3 Dans tous les cas : Débit binaire ≥ Rapidité de modulation 4.2.3) Affaiblissement du signal On doit prendre en compte deux types d’atténuation. Atténuation globale : qui peut être assimilée à une composante résistive, elle est liée aux pertes d’énergie du signal durant la transmission (exprimée en dB/km). R (isolant) r (conducteur) Atténuation relative des fréquences : elle provient de la bande passante limitée du canal. 37 c c r c Bande passante d'un canal : limites haute et basse ou haute seulement (à –3dB le plus souvent) On considère qu'à l'intérieur de la bande passante les fréquences sont transmises sans affaiblissement relatif notoire. Pour évaluer la dégradation du signal, il est nécessaire de comparer la bande passante de la ligne à la largeur de bande du signal. Largeur de bande d'un signal (d'une source) : occupation spectrale du signal, transformée de Fourier -> harmoniques... H(f) f1 f2 f S(f) -3db Largeur bande signal Bande passante f 4.2.4) Rapport Signal/Bruit, taux d’erreur Pour bien définir ce rapport, il faut distinguer deux origines pour le bruit : • Le bruit stationnaire qui est intrinsèque au système (bruit thermique...) et qui perturbe les communications en permanence. • Le bruit impulsionnel (parasites...) qui vient brouiller les communications pendant un laps de temps court. Le rapport S/B est relatif au premier de ces bruits. On le calcule en rapport de puissance. S / Bglobal = Puissance Signal Puissance Bruit Souvent, pour obtenir une analyse plus fine, on le mesure dans des bandes de fréquences déterminées. S / B( f ) = Puissance Signal( f ) Puissance Bruit ( f ) En effet, le signal passe par des filtres qui limitent la bande passante de manière à adapter sa largeur de bande à celle du signal utile. Le rapport S/B à considérer est donc celui relatif à la bande d’intérêt. 38 Canal + bruit ∼ Filtre réception source S S+B S+B filtrés f f f Taux d'erreur : C'est le rapport entre le nombre de bits erronés reçus et le nombre total de bits reçus. De l’ordre de 10-7 pour une liaison non protégée dans un environnement peu perturbé. En fait, de la même manière que pour le bruit, on distingue les erreurs aléatoires (bruit stationnaire) et les erreurs groupées (bruit impulsionnel). 4.2.5) Débit maximum La valeur du débit maximum que l’on peut faire passer sur une ligne est donnée par le théorème de Shannon–Nyquist : Dans le cas où la transmission est sans bruit : Dmax = 2H Log2(V) en bits/sec avec H qui représente la bande passante du canal et V qui est le nombre de niveaux de quantification de la source. En pratique, le bruit limite l’augmentation du nombre de niveaux de quantification, et on a alors la nouvelle relation : C = H Log2 (1+S/B) où S/B est le rapport signal sur bruit du canal. En pratique, les débits constatés sont inférieurs car on n'exploite pas toutes les possibilités du canal et on conserve une marge de sécurité. Exemple : Ligne téléphonique : BP 3kHz, S/B = 30 dB, C = 30000 bits/sec (modem 14400 bps, 28800 bps, 33600 bps: mais marge faible) (commutateurs numériques : 56000 bps asymétriques (une seule direction) MAP : 26 dB et 12 MHz de Bande passante C = 103,6 Mbits/sec mais on a en pratique 10 Mbits/sec 39 4.2.6) Liaison synchrone, asynchrone a) Liaison synchrone Dans ce type de liaison on transmet une horloge avec le signal, les instants de lecture de l'information sont donnés par les fronts de cette horloge. Cette solution est fiable, mais nécessite des fils supplémentaires pour l’horloge. b) Liaison asynchrone Les horloges émetteur et récepteur doivent pouvoir se resynchroniser pour que l'information puisse être lue dans de bonnes conditions. => Synchronisation de l'horloge récepteur par le message lui-même. Exemple : • Liaison série : synchronisation sur le premier front puis la précision des horloges suffit pour récupérer tout le reste du message : message court, (10% -> 10 bits de longueur) • Code autosynchronisant : horloge mixée avec le message. Pour des raisons pratiques, seule la deuxième solution est utilisée dans les réseaux, car on privilégie la simplicité de câblage. 4.2.7) Liaison monodirectionnelle / bi-directionnelle Suivant la technologie utilisée, pendant qu'un poste communique avec un autre, il peut ou non recevoir des informations de ce poste. • Si un seul poste peut émettre : on parle de liaison simplex ou unidirectionnelle • Si chaque poste peut émettre à son tour : liaison half duplex ou bidirectionnelle à l'alternat • Si chaque poste peut émettre simultanément : liaison full duplex ou bidirectionnelle intégrale. La plupart des réseaux locaux fonctionnent avec la deuxième solution (par économie de fils entre autre) sauf s'ils utilisent un multiplexage fréquentiel. 4.3) Codage physique 4.3.1) Les codages en bande de base a) Propriétés Les codages en bande de base sont des codages ou les niveaux du signal d'information sont directement convertis en tensions ou en transitions entre deux tensions. niveau ----> valeur de tension ou niveau ----> transition entre deux tensions 40 Exemple : +4v +5v +2v 0v -2v Codage binaire -4v Codage 4 niveaux Les signaux résultants sont des signaux rectangulaires dont la fréquence de changement dépend directement du débit binaire : la bande occupée par ces signaux est à relativement basse fréquence. Deux contraintes doivent être prises en compte pour le choix d'un codage : • la synchronisation du récepteur sur le message, • la largeur de bande (passage du continu ou non, lobes hautes fréquences). Le respect de ces contraintes implique que le signal électrique ait des changements de niveaux fréquents quel que soit le message. Remarque : le calcul de la largeur de bande dépend du signal d'information, le spectre est donc aléatoire, la caractéristique à prendre en compte est un spectre moyen. S(f) 0101010 f S(f) 0000000 f b) Code NRZ (Non retour à zéro) La valeur du bit correspond à un niveau logique et à une tension +a ou -a 0 +a 1 0 0 1 1 1 0 1 Code NRZ 0 -a La synchronisation n'est assurée que si l'information est entourée de séquences de synchronisation. Exemple : RS232 bit start et stop pour 8 bits, rendement de 80% (8 bits signaux pour 10 bits transmis) L'occupation spectrale est importante vers les basses fréquences (en sinus x / x). 41 S(f) 0 1/2T 1/T 3/2T f c) Code NRZi (Non Retour à Zéro inversé) Ce code est basé sur le principe suivant : on inverse la représentation pour un 0 => transition les 1 ne produisent pas de transition C’est donc un codage par des transitions (à l’inverse du précédent qui était sur des niveaux). 0 +a 1 0 0 1 1 1 0 1 Code NRZi 0 -a Ce code a les mêmes caractéristiques que le précédent mais il a l’avantage de ne pas nécessiter le repérage des fils. d) Code biphasé ou Manchester I La valeur du bit est représentée par une transition (montante ou descendante) en milieu de temps bit (valeur 0 : front descendant ; valeur 1 : front montant). 0 +a 1 0 0 1 1 1 0 1 Code Biphasé ou Manchester I -a Il est réalisé à l'aide d'un Ou exclusif entre le signal binaire NRZ et l'horloge. Il permet une auto-synchronisation car il y a toujours des transitions. Son occupation spectrale se situe à plus hautes fréquences. Il ne génère pas de composante continue car la moyenne est nulle quel que soit la suite de bits. 42 S(f) 0 1/2T 1/T 3/2T f e) Code biphasé différentiel ou Manchester II Dans ce type de codage, le sens des transitions change suivant la valeur du bit : d(i) = 0 ; θ1(i) = +θ1(i−1) ; θ2(i) = −θ1(i) = +θ1(i−1) d(i) = 1 ; θ1(i) = −θ1(i−1) ; θ2(i) = −θ1(i) = −θ2(i−1) Avec θ1(i) valeur du 1er demi–temps du bit i et θ2(i) valeur du 2ème demi–temps. 0 +a 1 0 0 1 1 1 0 1 Code Manchester II -a Il a les mêmes caractéristiques que le précédent mais il ne nécessite aucun repérage des fils. f) Code de Miller Il est obtenu à partir du code biphasé en supprimant une transition sur deux. La logique de codage peut être obtenue à partir de celle du code biphasé : le choix de l’initialisation à une importance car on peut aussi obtenir un codage où les 0 et les 1 sont codés de manière inverse. • pour un 0 précédé d’un 0 : il reste seulement la transition entre les bits, • pour un 0 précédé d’un 1 : il n’y a aucune transition, • pour un 1 précédé d’un 0 : il y a uniquement une transition au milieu du temps bit, • pour un 1 précédé d’un 1 : il y a uniquement une transition au milieu du temps bit. La règle de décodage simple peut être employée : • transition au milieu du temps bit : c’est un 1, • pas de transition au milieu du temps bit : c’est un 0. Comme le nombre de transitions est réduit par 2 par rapport au code biphasé, le spectre des signaux codés est beaucoup plus réduit en largeur que celui du code biphasé. Des transitions étant générées même pour des suites de 0, ce code est auto– synchronisant. 43 0 +a 1 0 0 1 1 1 0 1 Code Biphasé ou Manchester I -a +a Code Miller 0 -a Du fait que le nombre de transitions est réduit (1 sur 2), le spectre des signaux codés est beaucoup plus réduit en largeur que pour le code biphasé. S(f) 0 1/2T 1/T 3/2T f g) Code bipolaire Pour ce code on utilise 3 niveaux de quantification : +a, 0 et –a. Ce choix permet de coder plus de combinaisons et en outre de supprimer la composante continue. • Code bipolaire simple : Les valeurs di des bits sont codées de la manière suivante : di = 0 ; i = 0 di = 1 ; θi = +a si le dernier état non nul était -a θi = -a si le dernier état non nul était +a θi étant la valeur de codage du bit di. 0 +a 0 -a 44 Code bipolaire 1 0 0 1 1 1 0 1 Ce code n'est pas auto-synchronisant car pour une suite de 0 il n’y a pas de transition donc aucun moyen de récupérer l’horloge. L'alternance de +a et -a rend le signal centré, la bande occupée est donc limitée vers le bas. S(f) 0 1/2T • 1/T 3/2T f Code bipolaire ordre 2 : La règle d’alternance des +a et -a du code bipolaire ordre 1 peut être généralisée sur plusieurs séries distinctes (paire, impaire pour l’ordre 2). La nouvelle logique de codage est alors la suivante : d i = 0 ; θi = 0 d2i = 1 ; θ2i = +a si le dernier état θ2j non nul était -a θ2i = -a si le dernier état θ2j non nul était +a d2i+1 = 1 ; θ2i+1 = +a si le dernier état θ2j+1 non nul était -a θ2i+1 = -a si le dernier état θ2j+1 non nul était +a 0 +a 1 0 0 1 1 1 0 1 Code bipolaire ordre 2 p i p i i 0 -a Ce n'est pas non plus un code auto-synchronisant, mais la bande occupée est encore réduite d'un facteur proche de 2. Le choix de deux séries distinctes pour gérer l’alternance permet de réduire statistiquement le nombre de transitions (par exemple sur une suite 11). S(f) 0 1/2T 1/T 3/2T f 45 h) Codage bipolaire à haute densité (BHDn, HDBn) Dans ce type de codage, le caractère bipolaire est utilisé pour éviter les longues séries de 0 et permettre ainsi l'autosynchronisation. Pour cela, la règle de conversion niveauxgrandeur analogique n'est pas toujours la même pour un 0, elle tient compte du nombre de zéros successifs. Pour un code HDBn, une suite de n+1 zéros est remplacée par une séquence de remplissage. Cette séquence comporte donc des symboles différents de zéro. Le choix de ces symboles doit permettre de respecter la contrainte de moyenne nulle, afin de limiter la bande occupée vers les basses fréquences. Le repérage des séquences sera effectué par une rupture dans la logique des codes bipolaires : deux symboles non nuls identiques se suivront (+a et +a ou -a et -a). Le symbole de répétition d’une valeur identique sera représenté par V dans la séquence de remplissage. Un symbole de valeur différente de la valeur précédente comme B. Pour un code HDB3, une séquence de 4 zéros sera remplacée soit : par 0 0 0 V , si le nombre de symboles différents de 0 depuis la dernière séquence de remplissage est impair par B 0 0 V, si le nombre de symboles différents de 0 est pair. 1 +a 0 0 0 0 1 0 1 1 0 0 0 0 0 1 1 0 0 1 Code bipolaire Haute Densité 0 -a Ce type de codage a l'inconvénient de provoquer des erreurs en chaîne difficilement maîtrisables, il n'est donc pas très fiable. 4.3.2) Codage physique par modulation L'information logique est alors représentée par une grandeur liée à un signal périodique, en général sinusoïdal : y(t) = A cos (ωt + ϕ) Les 3 paramètres de la relation peuvent servir à cette représentation : A : modulation d'amplitude ou AM ou ASK (Amplitude Shift Keying) y(t) = A(t) cos (ωt + ϕ) ω : modulation de fréquence ou FSK (Frequency Shift Keying) y(t) = A cos (ω(t) t + ϕ) ϕ : modulation de phase ou PSK (Phase Shift Keying) y(t) = A cos (ωt + ϕ(t)) 46 0 1 0 0 1 1 1 0 1 Données NRZ NRZi Manchester I Manchester II Miller Bipolaire Bipolaire ordre 2 temps bit Figure 12 : Codages de la bande de base (récapitulatif). 47 0 1 0 0 1 0 1 1 1 0 0 0 1 (a) Amplitudes : haute, A1 basse, A0 Fréquences : haute, f1 basse, f0 (b) (c) (d) Changements de phase Figure 13 : (a) Signal numérique ou train binaire, (b) Modulation d’amplitude, (c) Modulation de fréquence, (d) Modulation de phase. La modulation de fréquence peut être réalisée de deux manières : variations par phase continue, ou par phase cohérente. D'un point de vue théorique, une modulation de phase peut être considérée comme une modulation de fréquence : A cos (C(t)). En pratique, pour la transmission d'informations logiques, les deux types de modulations doivent être considérés séparément. La modulation d'amplitude peut être combinée avec une des deux autres modulations pour augmenter la capacité de transmission. La bande spectrale occupée par le signal modulé reste centrée autour de la fréquence de la porteuse. De ce fait, la modulation peut avoir deux applications : • adaptation de la largeur de bande du signal à la bande passante du support (ligne...), la modulation est utilisée uniquement pour des raisons de transmission (radio...). On parle de transmission en bande porteuse (Carrier band), Canal Source • 48 f Non modulée Modulée f passage de plusieurs signaux sur le même support : la modulation permet un multiplexage fréquentiel. On parle de transmission en bande large (Broad band). Canal Sources f S1 S2 S3 Réception 1 Réception 2 Réception 3 f f f f 4.4) Codage logique Pour améliorer les performances de la transmission et en particulier pallier les défauts du codage physique, on peut modifier la séquence binaire pour la rendre plus efficace. Nous appellerons ceci le codage logique. Il est évident que ces propriétés ne peuvent être obtenues qu'en allongeant la longueur du message. 0 1 1 0 0 ---> -----> 0 0 1 1 1 1 4.4.1) Codage logique à longueur variable - Bit Stuffing : On ajoute des valeurs différentes dans une séquence uniforme : Par exemple : 1 1 1 1 1 1 1 1 1 devient 1 1 1 1 1 0 1 1 1 1 La valeur à 0 est rajoutée pour provoquer une transition, elle n'a aucune signification en terme de message. L'utilité principale de cette technique étant d'éviter des longues séries sans transition au niveau du codage physique, le choix de la méthode de remplissage dépend du codage physique retenu. Pour un code bipolaire, seules les suites de 0 doivent être modifiées. Pour un code NRZi, c'est une suite de 1 qui doit être modifiée ( 1 1 1 1 1 -> 1 1 1 1 1 0). L'inconvénient de ce type de codage est que la longueur du message varie suivant son contenu, ce qui rend le décodage plus complexe. 4.4.2) Codage logique à longueur fixe Pour prévenir l'inconvénient du codage à longueur variable, on réalise systématiquement un ajout de bits toutes les n valeurs même sur les séquences qui n'en ont pas besoin. Pour profiter pleinement de ce nouveau codage, on modifie totalement la séquence pour supprimer les suites indésirables. On considère un bloc de n bits que l'on va transformer en un bloc plus long suivant un tableau de conversion. On parle de codage par bloc. 49 Codage par bloc : Un bloc de i bits est codé sur j bits (i<j), de telle manière que chaque nouveau mot comporte des transitions. Exemple : Code 4B/5B : i =4, j=5 0000:11110 0001:01001 0010:10100 0011:10101 0100:01010 0101:01011 0110:01110 0111:01111 1000:10010 1001:10011 1010:10110 1011:10111 1100:11010 1101:11011 1110:11100 1111:11101 Il reste des codes disponibles, ils peuvent être utilisés pour des caractères spéciaux : Début : 1 1 0 0 0 Fin : 1 0 0 0 1 Halt : 0 0 1 0 0 … 4.5) Application 4.5.1) Ethernet Le code utilisé est le code Manchester. Il permet une resynchronisation du récepteur. Sa largeur de bande relativement large n’est pas un problème pour un réseau à 10Mbits/sec comme l’implémentation standard d’ethernet. 4.5.2) Réseau MAP (Token Bus : 802.4) Ce réseau utilise une modulation FSK à phase cohérente. La gamme de fréquences des signaux correspond bien aux possibilités du support (câble TV). Cela permet d’avoir plusieurs voies sur un même médium. Numéro (5 Mb/s) (6 Mb/s) 1 2 3 4 5 6 Numéro (10 Mb/s) (12 Mb/s) 1 2 3 Emission Réception Appellation Bande (MHz) Appellation Bande (MHz) 3 4 4a 5 6 FMI 59,75–65,75 65,75–71,75 71,75–77,75 77,75–83,75 83,75–89,75 89,75–95,75 P Q R S T U 252–258 258–264 264–270 270–276 276–282 282–288 4.5.3) TokenRing Comme pour ethernet, et pour les mêmes raisons, le codage choisi est le Manchester. 50 4.5.4) FDDI Pour ce réseau à fibre optique et haut débit (100Mbits/sec), un codage NRZi a été retenu car il est simple et de largeur de bande plus réduite. La synchronisation du récepteur se fait par un codage logique de type 4B/5B. 4.5.5) Réseau Bitbus Pour ce réseau de terrain, la simplicité a fait choisir un codage NRZi. 4.5.6) Modem La transmission par modem sur des lignes téléphoniques est effectuée à l’aide d’une modulation FSK et un codage sur plusieurs niveaux. En effet, un bref calcul montre que les performances actuelles ne pourraient être obtenues que par un compromis entre la Rapidité de modulation et le nombre de niveaux de codage (nombre de fréquences). Exemple 14400 bits/sec = 12*12*10*10 => 1200 bauds sur 12 niveaux : ce choix risque d’être trop juste relativement à la bande passante de la ligne de 3 kHz (2.5 périodes de porteuse par état). ou 600 bauds sur 24 niveaux : le nombre de niveaux étant ensuite limité par le rapport S/B. 51 Chapitre 5 : Sous-couche d'Accès au Médium (MAC) La couche MAC contrôle l’intégrité des messages reçus, gère les accès à la voie et son utilisation, et assure la séquence des données transmises. 5.1) Fonctions et services de la sous-couche MAC Sous-couche MAC LLC MAC Physique données + adresses 0101101 Adressage/filtrage LLC MAC données + adresses Gestion accès 0101101 Vérif intégrité Physique Ajout synchro. ecoute LLC Physique 5.1.1) Fonctions La sous-couche MAC a deux fonctions principales : • gestion de l'accès au médium (lecture/écriture) • contrôle de l'intégrité de la transmission Plus précisément, cela se traduit par des fonctions spécifiques à plusieurs niveaux : Au niveau physique : Mise en série des informations + ajout d'une synchronisation si nécessaire. Possibilités de comparaison flux émis-flux reçu (si différent : problème électrique) synchro 1 0 1 0 1 sérialisation désérialisation comparaison 1 0 1 Au niveau logique : Choix des paquets à envoyer aux couches supérieures : Pour ne pas encombrer les couches supérieures (c’est à dire ne pas consommer de temps CPU) seuls les paquets destinés au poste de travail traversent la couche 53 MAC. Il y a filtrage en fonction de l’adresse destinataire. Ceci doit être fait de manière rapide pour ne pas réduire les performances de la machine (électroniquement par exemple). Positionnement de l'adresse physique destinataire (et source) Calcul et vérification d'une chaîne de contrôle des données. Au niveau données : Encapsulation de données LLC : trames niveau MAC Synchro Ad1 Ad2 Bits de synchronisation Adresse source Adresse destinataire Longueur Données FCS Contrôle d’intégrité 5.1.2) Services de la couche MAC Liaison avec LLC : MA_DATA_CONFIRM MA_DATA_INDICATION MA_DATA_REQUEST MA_DATA_REQUEST : Paramètres → MA_DATA_CONFIRM : Paramètres → MA_DATA_INDICATION : Paramètres → LPDU + adresse destination status en retour LPDU après transmission, adresse source, status, longueur du message Liaison avec la couche Physique : • Pas de service à proprement parlé car c’est une interface matérielle : la communication de données est uniquement une suite de bits. 5.2) Adressage physique Pour déterminer la couche MAC destinatrice du message, on utilise un adressage dit adressage physique ou universel. Les adresses universelles correspondent à l'adresse du coupleur (carte réseau), cette adresse est unique au niveau de la planète Terre. Ces adresses sont attribuées par un organisme unique (IEEE) aux constructeurs des cartes. L'adresse est figée en ROM. Elle est codée sur 48 bits (6 octets). 54 Les deux premiers bits ont une signification spéciale : 0 : adresse universelle -> administration globale des adresses 1 : adresse locale -> administration locale des adresses (réseau interne où les 6 octets sont définis par le gestionnaire du réseau) 0 : adresse individuelle 1 : adresse de groupe (si 1-----1 adresse Broadcast : diffusion à tout le monde…) Les 3 premiers octets représentent un numéro constructeur, les 3 derniers un numéro de série de la carte. Numéro constructeur Numéro carte Exemple : (08:00:20) SUN, (08:00:5A) IBM, (08:00:09) HP, (08:09:11) Textronix, (FF:FF:FF:FF:FF:FF) diffusion de la trame à toutes les stations du réseau. Un constructeur peut acheter plusieurs numéros, ou même revendre une partie de ses numéros. Certains bits peuvent avoir des significations supplémentaires, soit dans le cas d'une adresse locale, soit dans le cas d’adresses dites multicast. C’est une possibilité de communication vers un groupe de stations reconnaissant des adresses spéciales débutant par (01:00:5E). Cela permet d’envoyer des messages généraux sans occuper les couches hautes de machines non concernées. 5.3) Contrôle d'intégrité, détection des erreurs de transmission 5.3.1) Taux d'erreur, détection, correction Le taux d'erreur pour un réseau correct peut être compris entre 10-7 et 10-10, c'est à dire un bit erroné tous les 10 millions de bits ou tous les 10 milliards. L'objectif pour un réseau local est d'atteindre un taux de 10-14 erreurs non détectées. Si le réseau échange des données à 10 Mbits/sec, cela fera une erreur toutes les 10+7 secondes (dans l'hypothèse d'un trafic permanent). Ce qui correspond à 3000 heures ou 3 mois de fonctionnement sans erreurs non détectées. Cela peut paraître très important, mais une seule erreur non détectée peut avoir des conséquences très graves (fichier endommagé, programme ayant une action imprévue...). Nous avons vu (chapitre couche physique) qu'il existait deux types de perturbations dans les réseaux : le bruit aléatoire et les parasites transitoires. Par conséquence, nous serons confronté à deux types d'erreurs : des erreurs aléatoires, plus facilement détectables, et des erreurs groupées qui peuvent générer un message intelligible mais faux. 55 Le contrôle de l'intégrité des données peut prendre deux aspects : la détection ou la correction. Si le message contient suffisamment de redondance, il peut être possible de corriger l'erreur sans avoir à retransmettre. On arrive au schéma de fonctionnement général suivant : Demande de retransmission 1 : correction possible 2 : correction impossible 2 1 Erreur détectée données Correction OK Utilisation Erreur non détectée 5.3.2) Généralités sur les codes Pour prendre en compte la détection ou la correction des erreurs, il est nécessaire de ne plus considérer l'information comme une suite de bits sans lien. Les bits sont donc regroupés dans des ensembles plus grands d'information. Mot : suite de bits représentant la plus petite unité de données dans un message. Code : ensemble de mots constituant toutes les possibilités que l'on a pour construire un message complexe. La confusion entre deux mots est d'autant plus probable que ces deux mots se ressemblent. Pour quantifier cette probabilité de confusion, on définit une distance entre deux mots d'un code : c’est la distance de Hamming. Distance de Hamming de deux mots (distance entre deux mots d'un code) : nombre de bits différents entre les deux mots Exemple : 0 0 1 1 et 0 0 1 0 : distance d = 1 0 0 1 1 et 1 1 0 0 : distance d = 4 Distance de Hamming d'un code : distance entre les deux mots les plus proches d'un code : Espace des mots projeté : N dimensions si N bits . . . . . . . . X . . . . X . X . . . . . . . . . . . . X X . . . . . . X . . . . . d . . . X . . . X . . X . . . . . . . . . . . X : mots du code … : ensemble des mots possibles d : distance de hamming En pratique, on peut utiliser la représentation de Karnaugh qui déplie l'espace à N dimensions sur un plan en respectant (si on en connaît les conventions) la connexité des mots. 56 La distance entre deux mots est alors le nombre de cases qu'il faut parcourir pour aller d'un mot à l'autre. Exemple : Code : 0 0 0 1 0 1 1 0 0 0 1 0 00 01 11 10 X X 0 d=1 1 En déplaçant les mots, on peut améliorer le code : 0 0 00 01 11 10 0 1 0 X X 1 0 1 X X 1 1 X X 0 1 1 0 d=2 Performance d'un code détecteur d'erreurs ou correcteur : On peut détecter un nombre p d'erreurs dans un mot à condition que la distance de Hamming du code soit supérieure ou égale à p+1. On peut corriger un nombre p d'erreurs dans un mot si la distance de Hamming est supérieure ou égale à 2p+1. Exemple : Code 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 Ce code est composé de 4 mots avec une distance de 5 ; On peut donc détecter 4 erreurs et en corriger 2. Il est clair que pour obtenir ces performances, le code doit contenir une grande redondance (dans le cas précédent 2 bits d'information, 10 bits transmis). De plus, un mauvais choix des mots pourrait rendre encore plus mauvaises les performances. La première nécessité sera donc de répartir les mots au mieux pour optimiser la distance du code : x x x x Symboles proches x x x x Nous allons voir plusieurs mises en oeuvre du contrôle et de la correction d'erreurs. 57 5.3.3) Parité simple Principe : • Parité paire : nombre pair de bits à 1 dans les mots du code, • Parité impaire : nombre impair de bits à 1 dans les mots du code. On rajoute pour cela un bit de parité à 0 ou 1, pour respecter la parité : 1 1 1 0 1 1 0 0 1 : parité paire (6 bits à 1) La distance de Hamming est de 2 (les deux mots les plus proches avant parité ne sont pas de même parité) On peut détecter 1 erreur, mais pas 2, 3 peuvent être détectées... Exemple : liaison RS232 5.3.4) Parité transversale et longitudinale Cette méthode combine une double parité, en plus de la parité sur chaque mot, on réalise une parité transversale sur un bloc de mots. Exemple : 1 1 1 0 1 1 0 0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 1 . . . 0 . . . . 1 1 1 1 0 1 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 0 0 1 1 1 0 0 1 1 . . . 0 . . . . 1 erreur de parité erreur de parité Trame envoyée Trame reçue Détection de deux erreurs minimum (ou 3 erreurs si on utilise la parité de la parité), correction de 1 erreur. La détection peut être beaucoup plus performante si la configuration des erreurs est favorable. 5.3.5) Checksum C'est un contrôle global sur un bloc de mots. On ajoute tous les mots du bloc modulo la taille du mot de checksum pour garder le même format. M1 M2 M3 M4 M5 M6 Suite de mots M7 M8 … cks Mot de Checksum Cette méthode permet la détection d'une erreur simple ou d'erreurs groupées sur le même mot (pas la parité). Elle a un bon rendement car la séquence de mots peut être longue. 58 5.3.6) Code cyclique (CRC : Cyclical Redundancy Check) Pour obtenir une méthode performante pour la vérification d'intégrité, il faut combiner le principe du checksum, qui a un bon rendement mais qui détecte peu d'erreurs et celui d'un codage mieux réparti ayant une distance de Hamming plus importante. On crée pour cela un code périodique dont les mots seront équi-répartis. On utilise pour cela une approche basée sur une division polynomiale où l’on transmet le reste de la division en complément du mot de code. Le calcul se fait en plusieurs étapes : - Association Mot binaire – Polynôme Soit un mot binaire : chaque bit peut être considéré comme une variable prenant deux valeurs 0 ou 1 ; appelons ces variables an-1,...., a2, a1, a0 si le mot contient n bits. On peut écrire le polynôme équivalent : P(x) = a0 + a1x + a2 x² + a3x3 + .... + an-1 xn-1 Exemple : Soit le mot 10001111. Il est équivalent au polynôme : P(x) = x7 + x3 + x² + x + 1 - On utilise un polynôme spécial dit polynôme générateur G(x) de degré n On divise le polynôme xn P(x) par G(x) : le reste est un polynôme R(x) xn P(x) = Q(x) G(x) + R(x) Si on effectue les opérations modulo 2 (c’est à dire sans aucune retenue), alors l’addition est équivalente à la soustraction et au ou exclusif. Ceci facilite les calculs rapides (utilisation de circuits logiques). Les propriétés des polynômes ne sont pas modifiées. On peut alors calculer : xn P(x) − R(x) = Q(x) G(x) = Y(x) Le polynôme Y(x) est alors un multiple de G(x). Cela signifie que chaque polynôme Y(x) généré à partir de P(x) est éloigné d’un autre polynôme Y(x) par une distance G(x). Le polynôme transmis (le mot de code avec contrôle) est le polynôme Y(x) qui contient dans les bits de poids fort la véritable information et dans les bits de poids faibles le reste appelé CRC qui va servir au contrôle d’intégrité. Celui-ci est réalisé, par la machine réceptrice, en vérifiant que Y(x) est bien divisible par G(x). Exemple : Mot de données : (1 1 1 0) : P(x) = x3 + x² + x ; Polynôme générateur G(x) = x² + 1 (1 0 1) x² P(x) -> 1 1 1 0 0 0 59 1 1 1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 0 0 1 Degré < n On transmet : 1 1 1 0 0 1 CRC 5.3.7) Méthodes utilisées dans les réseaux Il existe plusieurs polynômes utilisés dans le contrôle d’intégrité. On peut citer : Recommandations V41 du CCITT : G(x) = x16 + x15 + x5 + 1 Ce code génère une clef de 16 bits. Il possède les performances suivantes. Détection erreurs isolées : 1, 2 et 3 erreurs isolées Détection de salves d’erreurs : si nombre de bits < 17 bits si nombre impair de bits et 99.998 % des salves paires >16 bits On considère qu’on multiplie par 10-4 le taux d’erreurs Dans certains réseaux locaux, la clef a une taille plus importante de 32 bits. Remarque : la correction d’erreurs n’est pas utilisée dans les réseaux locaux car cela conduirait à une redondance trop forte. 5.4) Contrôle de l'accès, partage du canal L’accès au médium d’un réseau local doit être contrôlé afin que plusieurs sources n’émettent pas en même temps. On dit qu’il y a partage du canal. Ce partage doit être considéré de manière temporelle. On parle de multiplexage car il y a partage du temps d’occupation entre plusieurs sources. 5.4.1) Classification Il existe plusieurs possibilités pour gérer l’accès à un canal de transmission que l’on va traiter sous forme de dichotomies successives. Partage du canal Multiplexage synchrone Multiplexage asynchrone Accès aléatoires Accès bus 60 Accès contrôlés Accès anneau Gestion centralisée Gestion décentralisée * Multiplexage synchrone : Une tranche de temps est réservée à chaque poste (même si rien à émettre) 1 2 Rien à émettre 3 1 2 3 1 2 … Rien à Rien à émettre émettre - Gestion simple, faible rendement, permet d’envisager des contraintes temps réel. Méthode utilisée dans certains autocommutateurs (PABX), et pour l’interrogation d’automates. Cette méthode peut être en partie utilisée dans des réseaux comme ATM (ou FDDI) pour permettre la transmission d’information en temps réel (vidéo, son). Il faut alors prévoir une tranche synchrone pour les applications, le reste gardant un caractère asynchrone. * Multiplexage asynchrone : L’ordre d’accès est non fixé, il dépend de la demande. Il y a un meilleur rendement mais il faut prévoir une gestion des accès multiples. ** Accès aléatoire : chaque machine décide d’émettre quand elle veut. *** Accès aléatoire de type bus : La liberté totale d’émission sur un même médium => collision => gestion des collisions 1 0 1 0 0 0 Bon à faible trafic, mais risque d’écroulement à fort trafic : solution réseaux locaux. *** Accès aléatoire type anneau : Circulation continue de trames sur le réseau. Si demande d’émission + trame vide => émission Bon à faible trafic. Dans les cas contraire, les délais augmentent. Cette solution est utilisée pour des réseaux métropolitains de grande taille où il est nécessaire de faire circuler plusieurs trames provenant de plusieurs sources. ** Accès contrôlés : L’émission est alors contrôlée par un mécanisme qui définit un ordre de passage, des priorités... 61 *** Accès contrôlé centralisé : Un maître interroge tous les postes tour à tour. Si rien à émettre -> suivant (la tranche de temps n’est pas réservée) Polling -> réseaux d’automates *** Accès contrôlé décentralisé : J On utilise un jeton donnant un droit d’émission. L’ordre de passage du jeton est fixé. Bon à fort trafic : bonne répartition de la bande passante du canal. Attention : ne pas mélanger circulation du jeton (topologie logique) et des données (topologie physique) 5.4.2) Temps de communication a) Définitions 2 Eqpt 1 1 3 Eqpt 2 c durée d’émission ou durée de transmission : TT = n/C n = nombre de bits à transmettre C = débit en bits/sec Exemple : 10 Mbits ; 1000 bit -> 100 µsec d délai de propagation ou délai de transmission : TP = TPL + TPE TPL : temps de propagation de la ligne TPL = L / Vm avec Vm : vitesse sur le médium ; L longueur de la ligne 62 Vm = vitesse de la lumière pour les fibres (ou la radio) Vm ≈ 5 km/µsec sur une ligne électrique chargée TPE : temps de propagation dans les équipements avec k nombre de bits stockés dans un équipement, NE nombre TPE = k NE / C d’équipements, C débit En fait k pourrait être différent pour chaque équipement. Il faudrait alors faire la somme sur tous les équipements i des ki NEi. e Durée d’occupation de la ligne Eqpt 1 Eqpt 2 t T0 T0+TT T0+TP t T0+TT+TP La ligne est occupée entre T0 et T0 + TP + TT La durée d’occupation est donc de TP + TT. On peut utiliser une représentation temps distance : Equipement 1 T0 Equipement 2 distance T0+TT T0+TP temps T0+TT+TP f longueur d’occupation sur le médium. Locc = Vm TT Exemple : bus 10 Mbits/sec, 1000 bits, 5 km/µsec --> Locc = 20 km >>L 100 Mbits/sec, 100 bits, 5 km/µsec ---> Locc = 200 m ~ L b) Conséquence sur une topologie bus + accès aléatoire Si il y a émission quasi-simultanée, alors on a une collision des deux messages. 63 Détection collision Début émission Détection de fin de porteuse Arrêt émission Equipement 1 temps Equipement 2 temps Début émission Détection collision distance Arrêt émission Détection de fin de porteuse Délai de propagation Comme un niveau est prioritaire sur l’autre (collecteur ouvert) Î pour une des stations qui émet émission ≠ réception Î détection des collisions Influence du délai de propagation : Une collision n’est pas détectée par toutes les stations si la durée de la transmission est trop petite. Equipement 1 Emission vers 2 Réception temps Collision temps Equipement 2 Emission vers 1 Réception Durée d’émission ≥ 2 x délai de propagation (tranche canal) Emission 1 temps Equipement 1 TP TP Conséquence : Détection équipement 1 si encore émission ⇒ TT≥2xTP Equipement n Emission n distance => limite minimale en durée d’émission + limite maximale en longueur de câble. 64 c) Circulation des trames sur un anneau physique Suivant les caractéristiques une trame peut faire le tour de l’anneau ou bien être localisée sur une partie. On peut définir une tranche canal qui correspond au temps que met une trame pour faire le tour de l’anneau. Taille d’une trame Généralement, Taille Trame > Taille Anneau 5.5) Normes 5.5.1) Norme 802.3 a) Partage du canal : méthode CSMA/CD CSMA/CD : Carrier Sense Multiple Access / Collision Detection Toutes les stations sont à l’écoute sur le même fil (topologie bus). Elles doivent donc détecter les conflits (collisions). Emission d’une trame Assemblage de la trame Demande émission Ecoute libre Collision détectée Gestion collision Oui Emission brouillage Non Non Début émission Retour OK Non Débuter émission Décision Réémission Occupé Fin message Détection porteuse Oui Transmission finie Oui E≠ S Retour collision Incrémenter compteur de tentatives Trop de tentatives Oui Non Calcul attente Attente Compte rendu Transmission réussie Compte rendu Echec trop de collisions Calcul du temps d’attente : BEB (Binary Exponential Backoff) Tirage aléatoire dans un domaine qui croît exponentiellement (2, 4, 8....) avec une limite à 210 65 Si le nombre de collisions successives dépasse 16 il y a arrêt (le nombre d’intervalles reste à 1024) 0 1 x T0 ----> 0 1 2 3 x T0 -> ........-> 0 1 ....2i-1 x T0 Equipement 1 t T1 Equipement 2 t T2 ∆t Equipement 3 ∆t t ∆t intertrame T1 et T2 temps « BEB » (Binary Exponentiel Back Off) Emission en attente Emission Brouillage b) Partage du canal : méthode CSMA/DCR (802.3D) DCR : Deterministic Collision Resolution L’algorithme de résolution est modifié afin de garantir un délai maximum (réseau industriel temps réel). Après une collision, les stations ne réémettent que si elles sont dans un groupe gagnant pré-déterminé. Le choix se fait par dichotomie -> arbre binaire de résolution. La gestion d’une collision fait intervenir dans l’arbre toutes les machines car la provenance de la collision est inconnue. état du bus Collision entre 7 stations : n m c c c pcv c c collision initiale m c m c pcv 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Figure 14 : CRCD : arbre binaire 66 début d’époque m1 m3 m4 pcv m7 m8 m10 m12 pcv fin d’époque Stations 0 1 C C C E C C C 2 3 4 5 C C 6 7 C C C C C E C E E V E 1 2 3 4 5 6 7 8 9 10 11 Collision initiale les stations 0, 1, 3, 6 et 7 émettent simultanément. Temps C = collision – E = émission – V = tranche de canal vide Stations non autorisées à émettre Figure 15 : CRCD : Timing collision sur 5 stations. c) Format des trames : Champs Taille en octets PRE 7 SFD 1 DA 2/6 SA 2/6 LEN 2 LLC Data (données) <1519 PAD <64 FCS 4 Tableau 3 : Format des trames IEEE 802.3 PRE : Préambule : séquence 1010…1010 destinée à l’autosynchronisation des répéteurs. SFD : Start Frame Delimiter (délimiteur de début) : séquence 10101011 marquant le début des informations exploitables. DA : Destination Adress (adresse de destination) : codable sur 16 ou 48 bit, mais la taille est fixe pour un réseau donné. SA : Source Adress (adresse de l’émetteur) : même structure que le DA. LEN : Longueur des données en octets. LLC DATA : Données : échangées entre entités du sous–niveau LLC, en nombre entier d’octets. PAD : Padding (Bourrage) : données sans signification insérées uniquement si le champ Données a une longueur insuffisante pour que les collisions puissent être détectées à coup sûr (temps d’émission supérieur à la tranche du canal). FCS : Frame Check Sequence (séquence de vérification de la trame) : c’est la clé obtenue par un CRC de degré 32. d) Problèmes de fonctionnement La connexion ou la déconnexion d’une machine durant le fonctionnement du réseau n’a aucune conséquence importante sur le transfert des informations. Il peut seulement y 67 avoir création temporaire de parasites qui sont interprétés soit comme des collisions soit comme des trames endommagées. La logique du réseau permettant de récupérer ce genre d’erreurs. A l’inverse si une station émet en continu (babillage) alors le réseau ne fonctionne plus. Pour éviter cela, on peut prévoir au niveau physique une temporisation sur l’émetteur. Celui-ci étant automatiquement coupé si la durée d’émission est trop longue. 5.5.2) Norme 802.4 a) Partage du canal : jeton sur bus (Token Bus) Utilisation d’une boucle logique entre les postes (anneau virtuel), ces derniers sont tous reliés sur un même bus physique. Chaque poste a une adresse unique. Un jeton (autorisation d’émettre) circule par adresses décroissantes. La fermeture de la boucle est faite par le poste de plus faible adresse qui renvoie le jeton vers le poste de plus forte adresse. Chaque communicateur mémorise : - son adresse TS (This Station), - l’adresse de son prédécesseur PS (Previous Station), - l’adresse de son successeur NS (Next Station). TS=4 PS=6 NS=3 TS=5 TS=6 PS=7 NS=4 TS=3 PS=4 NS=2 TS=8 TS=2 PS=3 NS=7 TS=7 PS=2 NS=6 Durée d’émission : Quand une station a le jeton, elle émet si besoin (si elle a des trames à émettre) et ceci jusqu’à épuisement d’un temps donné (TE : temps d’émission). TREJ : temps de rotation effectif du jeton : délai entre deux possessions successives du jeton pour une station. TREJMAX = N TE (si N stations actives sur le bus). Si le trafic est fort, ce temps peut être grand et ne pas répondre aux besoins. Mécanisme de priorités : Pour assurer des délais plus courts à certaines trames, on les privilégie en définissant des priorités : il existe 4 niveaux de priorité. A une trame, on affecte un OTR (Objectif Temps de Rotation) parmi 4 valeurs. Les plus prioritaires (OTR > TREJMAX) agissent comme les trames précédentes (sans priorité). 68 Les autres ne sont émises que si OTR > TREJ (c’est à dire si le trafic est faible). Exemple : soient 4 stations, dont 2 seulement, numérotées 7 et 5, sont dotées du mécanisme de priorité, limité ici à deux classes. On suppose : - que la station 9 n’émet que des trames de 128 octets, et que le temps qui lui est alloué, lui autorise d’envoyer 3 trames à chaque possession du jeton, - que la station 1 n’émet que des trames de 305 octets, et ne peut en émettre que 2 à chaque possession du jeton, - que les stations 7 et 5 n’ont que des trames de faible priorité à émettre, de longueurs respectives 400 et 356 octets (elles peuvent en émettre 3 à chaque possession du jeton), - que la trame jeton a une longueur de 19 octets. TS=9 Numéro du tour du jeton 0 1 2 3 4 5 TS=7 OTR=1600 TS=5 OTR=1600 TS=1 TREJ TE OE TREJ TE OE TREJ TE OE TREJ TE OE x 0 19 x 0 19 x 0 19 x 0 19 76 3 403 460 3 1219 1660 0 19 1660 2 629 2270 3 403 2270 0 19 1070 2 731 1782 2 629 1782 3 403 1782 0 19 1782 0 19 1070 2 629 1070 3 403 1070 2 819 1870 0 19 1870 2 629 1870 3 403 1870 0 19 1070 2 731 1782 2 629 TS = This station : numéro de station, TE = Trames émises, OTR = Objectif de Temps de Rotation, OE = Octets émis, TREJ = Temps de Rotation Effectif du Jeton. De la même manière que pour la norme 802.3, on peut définir une tranche canal ou temps de base : Temps de base = délai total maximal entre l’émission d’une trame et une confirmation en retour. = 2 délais de propagation entre les deux machines les plus éloignées + 1 temps de réponse de la couche MAC. Ce temps doit être défini à l’initialisation du réseau. Fenêtre de réponse (FR) : temps pendant lequel une station qui a émis se met à l’écoute en attente d’une réponse après certaines trames. En général FR = 1 ou 2 ou 3 temps de base. Après émission de certaines trames (« Requête avec réponse attendue ») la station destinatrice peut émettre sa réponse sans avoir le jeton. b) Fonctionnements « anormaux » (transitoires) * Initialisation du réseau. • Création du jeton. Les stations émettent une trame CLAIM_TOKEN dont la durée est liée à leur adresse (adresse élevée = trame de longue durée). A la fin de l’émission chaque station écoute le bus : - si message sur le bus -> abandon, - si plus de message -> la station gagne le jeton. 69 - Recherche de successeur. La station ayant le jeton émet une trame « SOLICIT_SUCCESSOR_2 » contenant sa propre adresse. Réponse des autres stations par la trame « SET_SUCCESSOR ». Si plusieurs réponses simultanées (collision), il y a émission d’une trame « RESOLVE_CONTENTION ». Les stations candidates répondent à nouveau après un temps dépendant de leur adresse (forte adresse, faible temps), la première réponse est seule prise en compte. En pratique, le démarrage des stations d’un réseau n’est pas instantané et on se retrouve dans une configuration d’ajout de stations durant le fonctionnement. * Gestion des adresses successeurs. • Prise en compte de nouveaux arrivants. Périodiquement, au moment de transmettre le jeton, les stations interrogent le réseau par une trame « SOLICIT_SUCCESSOR ». - Si TS > NS : émission d’une trame « SOLICIT_SUCCESSOR 1 » contenant les deux numéros TS et NS. Seules les stations comprises entre TS et NS répondent. - Si TS < NS : émission de « SOLICIT_SUCCESSOR 2 », ceci permet aux stations extérieures à l’anneau actuel de répondre. Les stations de numéro < TS répondent dans la première fenêtre. Les stations de numéro > NS répondent dans la 2ème fenêtre (si aucune réponse dans la première fenêtre). La réponse est réalisée par une trame « SET_SUCCESSOR » : - si pas de réponse le jeton circule comme avant, - si une réponse, la station change son NS (l’ordre de passage du jeton par numéro décroissant est toujours respecté grâce à ce principe). Si il y a plusieurs réponses : émission d’une trame « RESOLVE_CONTENTION » avec le même principe qu’à l’initialisation (la première réponse est prise en compte). 2 5 7 10 15 17 Figure 16 : Utilisation des trames SOLICIT_SUCCESSOR. Soient les stations 5, 10, 15 actives et 2, 7 et 17 candidates. Emise par 10 : SOLICIT_SUCCESSOR_1 (DA=5) Réponse de 7 seule dans la fenêtre Emise par 5 : SOLICIT_SUCCESSOR_2 (DA=15) Réponse de 2 dans la première fenêtre Réponse de 17 dans la seconde fenêtre • Prise en compte d’une panne de successeur. Après avoir transmis le jeton, la station écoute -> si rien de cohérent ne circule alors (après réémission du jeton une nouvelle fois) : - Emission d’une trame « WHO_FOLLOWS » (contenant l’adresse suivante suspectée de panne) - Le successeur du successeur (celui pour qui l’adresse envoyée correspond à PS) répond « SET_SUCCESSOR », NS et PS sont alors modifiés. - Si pas de réponse, alors la station qui a détecté le problème sur son successeur émet une trame « SOLICIT_SUCCESSOR_2 », on se retrouve dans un cas de 70 panne grave (2 stations ou plus arrêtées en même temps), en général, la gestion est identique à celle réalisée lors d’une initialisation. • Retrait volontaire d’une station. Avant de transmettre le jeton, la station prévient son prédécesseur par une trame « SET_SUCCESSOR » contenant le NS. Le prédécesseur change alors son NS. 1 6 1 Successeur désigné (5) 1 2 6 2 3 5 3 2 Jeton 5 4 4 La station 6 veut se retirer : 1 : elle change le successeur de son prédécesseur 2 : elle passe le jeton à son successeur. Configuration de l’anneau logique après un tour du jeton. * Gestion du jeton • Perte du jeton : Si une station détecte une inactivité supérieure à 7 temps de base, elle lance une procédure d’initialisation. • Duplication du jeton : Toute station qui possède un jeton et qui reçoit une trame qu’elle n’a pas provoquée (soit émise, soit trame réponse), détruit son jeton. Cette détection s’effectue plus particulièrement après les trames « WHO_FOLLOWS » et « SOLICIT_SUCCESSOR », si la réponse est autre que « SET_SUCCESSOR », alors ceci signifie qu’il existe deux jetons. c) Format des trames Champs Taille en octets PRE 1+ SD 1 FC 1 DA 2/6 SA 2/6 Data Unit (données) 0 à 8191 FCS 4 ED 1 Tableau 4 : Format des trames IEEE 802.4 PRE : Préambule : un ou plusieurs octets, constitué de symboles pad idle. SD : Start Delimiter (délimiteur de début) : constitué des symboles NN0NN000 avec N = Non Data, 0 = zéro. FC : Frame Control (contrôle du type de la trame) : le contenu de ce champs est explicité dans le tableau suivant. DA : Destination Adress (adresse de destination) : contenu conforme à la norme IEEE 802.3. SA : Source Adress (adresse de l’émetteur) : même structure que le DA. 71 Data Unit: Données : le contenu de ce champs dépend du type de trame : données échangées entre entités du sous–niveau LLC, données de gestion des stations, données spécifiques de trames de service ; c’est un nombre entier d’octets. FCS : Frame Check Sequence (séquence de vérification de la trame) : elle est composée à partir d’un polynôme générateur de degré 32, mais ce n’est pas un simple CRC. ED : End Delimiter (délimiteur de fin) : constitué des symboles NN1NNIIE avec N = Non Data, 1 = un, I = bit intermédiaire à 1 si une autre trame suit et à 0 sinon, E = erreur positionnée par un répéteur. Codage Trames de service MAC TOKEN WHO_FOLLOWS SOLICIT_SUCCESSOR_1 SOLICIT_SUCCESSOR_2 SET_SUCCESSOR RESOLVE_CONTENTION CLAIM_TOKEN Contenu du champ Adresse destination NS – NS 001000 000011 000001 000010 001100 000100 000000 00 TS si inititialisat. NS sinon TS du demandeur – – Trames de ordinaire 000 Données Adresse requête avec réponse attendue 01 001 PPP LLC réponse à la requête précédente 010 destination Trames de ordinaire 000 Données requête avec réponse attendue 10 001 PPP couche supérieure réponse à la requête précédente 010 NS : Next station, TS : This station, PPP : niveau de priorité (000 : le plus faible, 111 : le plus élevé). Contenu du champ Données – NS – – TS du répondeur – Valeur arbitraire longueur = 0, 2, 4 ou 6 temps de base Données Tableau 5 : Format du champs Frame Control. 5.5.3) Norme 802.5 a) Partage du canal : jeton sur anneau (Token Ring) Les trames circulent sur un anneau physique. A un instant donné, une seule trame est présente sur l’anneau, il n’y a qu’un émetteur. L’autorisation d’émission est obtenue grâce à une trame spéciale : le jeton. Lorsqu’une station veut émettre, elle attend le jeton, et envoie à sa place sa trame de données qui circule sur l’anneau. J A D P A D B C J P P B P C 1 A J 2 D P A D B C J P B C 3 72 P 4 Chaque station reçoit et réémet la trame. Si la trame lui est destinée, elle la stocke mais la réémet en modifiant un flag du FRAME_STATUS (4 bits de la trame). Lorsque la trame a fait un tour, son auteur la retire et vérifie qu’elle a bien été reçue. La station en possession du jeton continue d’émettre (si elle a d’autres trames et n’a pas dépassé la durée maximum d ’émission) ou bien passe le jeton à la suivante sur l’anneau. Mécanisme de priorité. Tout jeton a un niveau de priorité PJ. Chaque trame à émettre a un niveau de priorité PT. Si PT ≥ PJ alors il y a émission. L’augmentation de la priorité du jeton se fait par réservation. Quand une trame passe devant une station celle-ci peut faire une réservation à un niveau donné. Le possesseur du jeton, au retour de la trame réemet un jeton de priorité égale à la réservation. C’est le poste qui a émis le jeton avec une nouvelle priorité qui redescendra plus tard la priorité du jeton. Ceci assure qu’un jeton à une priorité donnée fasse un tour complet, tous les postes ayant des trames à cette priorité peuvent alors émettre. il existe 8 niveaux de priorité. Le schéma suivant décrit plusieurs cycles de fonctionnement. La trame est notée T suivie de deux chiffres (exemple : T5.7 : trame de priorité 5 avec une réservation de priorité 7). La notation pour le jeton est identique : J3.5. A B J3.0 A D B A D T3.5 B T3.7 D T3.5 C C C a) un J3.0 arrive devant B qui le piège et émet une T3.0 b) la T3.0 arrive devant C qui fait une réservation de P=5 c) la T3.5 arrive devant D qui fait une réservation de P=7 A A A T3.7 B J7.0 D B D J7.5 B T7.0 J7.5 C C C d) la T3.7 revient à B B crée un J7.0 e) C reçoit le J7.0 et fait une réservation de P=5 f) D piège le J7.5 et émet une T7.0 A A A B T7.5 D B J7.5 D B J7.5 J5.0 D D T7.5 C C C g) la T7.0 arrive devant C qui fait une réservation de P=5 h) la T7.5 revient à D D libère le J7.5 i) le J7.5 revient à B qui l’élimine et crée un J5.0 A A A T5.0 B D B T5.0 D J5.0 J5.0 B J5.0 J3.0 D C C C j) le J5.0 arrive devant C qui le piège et émet une T5.0 k) la T5.0 revient à C qui l’élimine et libère le J5.0 l) le J5.0 revient à B qui l’élimine et libère le J3.0 73 b) Occupation du canal Suivant la taille du réseau, la trame occupe toute la boucle ou non. Une station en émission peut alors recevoir son propre message avant la fin de l’envoi. La station détruit donc son message au fur et à mesure qu’elle le reçoit. Pour des réseaux très petits, il est tout de même nécessaire de prévoir un tampon de données sur une station. Une station ayant un rôle particulier (le moniteur) stocke 24 bits (3 octets), ce qui correspond à la taille du jeton. Ce tampon de données est aussi utilisé pour des raisons de synchronisation (l’horloge de départ a un retard notable après avoir effectuée un tour d’anneau). Cette horloge est en fait toujours présente sur l’anneau, même lorsqu’il n’y a pas de données, ceci permet de synchroniser les stations en permanence. c) Fonctionnements transitoires ou anormaux A la différence des précédentes normes, il existe une station ayant une fonction particulière : le moniteur. Toute station est un moniteur potentiel (ou de secours), le moniteur actif étant la station qui a émis le jeton. Cet aspect de contrôle n’est utilisé qu’en cas de problème, ce qui fait que la norme 802.5 est bien classée comme une méthode à accès aléatoire. * Initialisation. - La première station en marche crée le jeton (et devient moniteur actif). Ceci est réalisé par une émission d’une trame « CLAIM_TOKEN ». - Test d’unicité d’adresse : à l’insertion, chaque station vérifie que son adresse est unique par la trame « TEST_ADDRESS_DOUBLE ». - Création de la table des adresses. Le moniteur fait circuler une trame « ACTIVE_MONITOR_PRESENT », le 2ème poste mémorise l’adresse source et émet une trame « STAND_BY_MONITOR_PRESENT », la 3ème mémorise l’adresse source puis réemet... Chaque station connaît ainsi son prédécesseur sur l’anneau. * Mise en marche ou arrêt de stations. Pour garantir en permanence une continuité sur l’anneau physique (obligatoire pour le fonctionnement), les stations sont reliées à la boucle par un relais d’insertion qui ferme la boucle à l’état repos. Lorsque la station est mise en fonctionnement et intégrée sur le réseau, le relais s’ouvre automatiquement et les trames passent alors par l’électronique de la station. Physiquement, arrêt ou la mise en marche de stations ne posent donc pas de problème de gestion. * Coupure de boucle. Une coupure de boucle peut provenir de deux causes : - coupure du médium : le réseau est alors inopérant (sauf si une procédure de doublement de la boucle est prévue), mais ce n’est pas un cas courant. - panne d’un coupleur : le poste coupable garde son relais d’insertion ouvert, mais son électronique ne transmet plus les messages. Ce cas est traité par la machine qui suit et qui ne reçoit plus rien. Elle détecte l’absence d’émission pendant un temps déterminé et émet alors une trame « BEACON »1 de reconfiguration avec l’adresse de la machine précédente, cette trame déclenche directement la désactivation de la station incriminée et la fermeture de son relais d’insertion. * Perte de jeton. Le moniteur surveille l’activité, si le temps d’inactivité se prolonge au delà d’un temps fixé, il crée à nouveau un jeton. 1 Alarme, balise. 74 * Arrêt du moniteur actif. Le moniteur génère périodiquement une trame « ACTIVE_MONITOR_PRESENT», si une station détecte l’absence d’une telle trame pendant un temps déterminé, alors elle envoie une trame « CLAIM_TOKEN », et si elle est seule à avoir envoyé cette trame, elle devient moniteur actif. * Trame orpheline. Si une station en train d’émettre est arrêtée (arrêt brutal ou panne) , la trame qui a commencé de circuler n’est pas détruite par la station émettrice (à arrêt). Cette trame tourne sans arrêt sur l’anneau et bloque toute communication. Pour palier cela, le moniteur marque chaque trame qui passe par lui en modifiant un bit de la trame (M = 1). Il peut ainsi détecter une trame qui a fait plus d’un tour et la supprimer. En général, cette procédure est suivie d’une réinitialisation du réseau par une trame « RING_PURGE ». * Trame incorrecte. Une telle trame (checksum incorrect, mauvaise longueur...) est détectée par le moniteur qui la supprime et réinitialise le réseau par « RING_PURGE ». d) Format des trames Champs Taille en octets SD 1 AC 1 FC 1 DA SA Data Unit (données) FCS 2/6 2/6 0 à 4027 4 ED 1 ES 1 Tableau 6 : Format des trames IEEE 802.5 SD : Start Delimiter (délimiteur de début) : séquence constituée des symboles JK0JK0 avec J et K symboles Non–Data et 0 = zéro, marquant le début des informations exploitables. AC : Access Control (contrôle d’accès) (voir format ci-dessous). FC : Frame Control (contrôle du type de la trame) (voir contenu de ce champ cidessous). DA : Destination Adress (adresse de destination) : contenu conforme à celui de la norme IEEE 802.3. SA : Source Adress (adresse de l’émetteur) : même structure que le DA. DATA Unit : Données : contient les données du sous–niveau LLC, en nombre entier d’octets. FCS : Frame Check Sequence (séquence de vérification de la trame) : elle est composée à partir d’un polynôme de degré 32, mais ce n’est pas un simple CRC (idem IEEE 802.4). ED : End Delimiter (délimiteur de fin) : constitué des symboles JK1JK1IE avec J et K des symboles Non–Data, 1 = un, I = bit intermédiaire à 1 si une autre trame suit et à 0 sinon, E = erreur positionnée par toute station qui détecte une erreur dans la trame. FS : Frame Status (état de la trame) : constitué des symboles ACRRACRR où : A = adresse reconnue, les deux bits sont positionnés à un par la station qui reconnaît son adresse. C = copié, les deux bits sont positionnés à un par la station qui a copié correctement la trame. R = bit réservé, non affecté Remarque : A = 1 et C = 0 indique un engorgement en réception, et A = 0 et C = 1 n’est pas valide. 75 PPP RRR T M PPPTMRRR niveau de priorité du jeton (000 : faible, 111 : fort) niveau de réservation du jeton token (0 = jeton libre, 1 = jeton occupé) monitor (mis à zéro par l’émetteur, mis à un par le moniteur) Tableau 7 : Format du champ AC (Access Control) Code 0000 0000 0000 0101 0000 0110 0000 0011 0000 0100 0000 0010 0100 0PPP Fonction Test address double Active monitor present Standby monitor present Claim token Ring purge Beacon Trame de donnée LLC avec niveau de priorité PPP Tableau 8 : Format du champ FC (Frame Control) 5.5.4) Norme ISO9314 : F.D.D.I. a) Principe FDDI (Fiber Distributed Data Interface) est un réseau à haut débit (100 Mbits/s) et grande distance (200 km). C’est en général un réseau fédérateur (interconnexion de réseaux locaux). On peut le classer dans la catégorie des MAN. Token bus Passerelle Boucle FDDI Ethernet Token ring Ordinateur Ethernet Il possède une topologie en double anneau à fibre optique, ce qui permet d’allier sécurité et rapidité. Une coupure sur le réseau n’interrompt pas le fonctionnement total, mais conduit à une reconfiguration du câblage. 76 DAS DAS DAS DAS DAS DAS DAS DAS DAS Anneau principal ✄ Anneau secondaire DAC DAC DAC ✄ SAS SAS SAS SAS SAS SAS DAS : double attachement station DAC : double attachement concentrator SAS : single attachement station. b) Fonctionnement global FDDI fonctionne avec un mécanisme d’accès dit de rotation temporisée du jeton (TTR : Timed Token Rotation). Ce protocole permet plusieurs classes de services : - un service synchrone à bande passante garantie, - un service interactif dit à bande passante partagée (service standard), - un service en tâche de fond (batch) sans garantie. Dans le protocole MAC de FDDI, on distingue une classe de service synchrone et une asynchrone qui regroupe les services interactifs et batch, la distinction relevant alors de niveaux de priorité différents. Pour le service asynchrone, on distingue aussi deux modes : - un mode non-restreint (standard) - un mode restreint où certaines machines peuvent se réserver un temps de communication plus grand (exemple : serveurs de fichiers). Ce mode est rarement utilisé. A la réception du jeton, chaque station a un temps garanti d’émission, ce qui permet un trafic synchrone. Réception du jeton trafic asynchrone t trame synchrone Une station qui possède le jeton émet une ou plusieurs trames sans attendre le retour de la trame. Il peut donc y avoir plusieurs trames sur la boucle. Mais, une seule station doit émettre à la fois, il n’y a donc qu’un jeton. La station qui a émis les trames détruit leur contenu au fur et à mesure de leur retour. L’en-tête de trame (PA SD DA SA Idle) ne peut être détruit par la station qui a émis car il est situé avant l’adresse source : la station émettrice ne pouvant reconnaître son paquet que lors du passage de l’adresse source. Le restant du paquet est détruit par la station qui a le jeton, celle-ci purge toutes les trames qui circulent sur l’anneau. 77 A j D D 1 Ta Ta 2 Tb j C A B B D A Tb Ta 3 C j D j C A B Td 4 Tb C 1 : émission de A + jeton A→B 2 : émission de B + jeton B→C 3 : destruction de trame A, Jeton C→D 4 : émission de D + jeton D→A, destruction de trame B Par simplicité, les en-têtes de trame non détruits ne sont pas représentés. B Plusieurs mécanismes gèrent les temps de possession du jeton et donc le temps global de rotation. Il est nécessaire d’imposer un temps maximum de rotation pour respecter les contraintes du trafic synchrone. Pour cela 4 temps sont définis : - TTRT (Target Token Rotation Timer) : c’est une valeur négociée entre les stations au démarrage (compris entre 4 et 167 msec), - TRT (Token Rotation Timer) : à la réception du jeton TTRT est chargé dans un compteur qui est décrémenté en fonction du temps cette valeur donne TRT, - THT (Token Holding Timer) : à la réception du jeton et avant que TRT soit initialisé, TRT est chargé dans THT, cela donne la valeur du temps utilisable pour le trafic asynchrone pour une station déterminée. - TVX (valid Transmission Timer) : ce timer a une fonction plus globale de surveillance, il permet les récupérations sur erreurs. En effet, si TVX est décrémenté jusqu’à 0 après le passage du jeton alors la station détecte une erreur globale et lance une recherche de jeton (Claim Token). TVX est initialisé à une valeur très supérieure à TTRT. c) Mécanisme de priorité Il est analogue à celui de la norme 802.4, il fait intervenir un TREJ (temps de rotation effectif du jeton) et un OTR (objectif temps de rotation), mais avec quelques modifications. A la suite du temps réservé pour le trafic synchrone, si TREJ < OTRi, alors l’émission des trames de priorité i est possible. Il y a 8 niveaux de priorité pour le trafic asynchrone. De plus deux types de jeton peuvent être utilisés : - le jeton simple : il correspond à un fonctionnement normal, le temps entre deux possessions de jeton étant égal à 2 TTRT. Cela permet d’écouler un trafic synchrone à un taux de répétition garanti. - le jeton réduit : il permet le fonctionnement en mode restreint, il supprime le trafic asynchrone pour les machines fonctionnant en mode normal. Le trafic synchrone est toujours assuré. d) Format des trames Champs Nb de symboles PA 16 SD 1 FC 1 DA 2/6 SA 4 ou 16 Données 0 à 9000 FCS 8 Tableau 9 : Format des trames de données FDDI (2 symboles = 1 octet). 78 ED 2 FS 2.k PA : SD : FC : Préambule :16 symboles I. Start Delimiter (délimiteur de début) : deux symboles J et K. Frame Control (type de la trame) (jeton, commandes MAC, données LLC, trame asynchrone). DA : Destination Adress (adresse de destination) : type long ou court. SA : Source Adress (adresse de l’émetteur) : type long ou court. DATA Unit : Données : contient les données du sous–niveau LLC, en nombre entier d’octets. FCS : Frame Check Sequence (séquence de vérification de la trame) : basée sur l’utilisation d’un CRC. ED : End Delimiter (délimiteur de fin) : deux symboles T et E (E est mis à "1" si une erreur est détectée). FS : Frame Status (état de la trame) : constitué de paires de symboles A et C. A = "1" si la station a reconnu son adresse. C = "1" si la trame a été recopiée. Champs Nb de symboles PA 2 SD 2 FC 2 ED 2 Tableau 10 : Format des trames de jeton FDDI. Symbole Nom Codage I 11111 H 00100 Q 00000 J 11000 K 10001 L 00101 T 01101 R 00111 S 11001 0 11110 1 01001 2 10100 3 10101 4 01010 5 01011 6 01110 7 01111 8 10010 9 10011 A 10110 B 10111 C 11010 D 11011 E 11100 F 11101 V 00001 V 00010 V 00011 V 00110 V 01000 V 01100 V 10000 Signification Idle (caractère de bourrage pour synchronisation) Halt (permet l’arrêt de l’activité) Quiet (absence de transitions) Délimitation de trame Délimitation de trame Délimitation de trame (pour FDDI–II seulement) Délimitation de trame ‘0’ logique ‘1’ logique Données 0 ‘0000’ Données 1 ‘0001’ Données 2 ‘0010’ Données 3 ‘0011’ Données 4 ‘0100’ Données 5 ‘0101’ Données 6 ‘0110’ Données 7 ‘0111’ Données 8 ‘1000’ Données 9 ‘1001’ Données A ‘1010’ Données B ‘1011’ Données C ‘1100’ Données D ‘1101’ Données E ‘1110’ Données F ‘1111’ Invalide Invalide Invalide Invalide Invalide Invalide Invalide Tableau 11 : Symboles des trames FDDI. 79 5.5.5) Réseau DQDB (IEEE 802.6) DQDB (Distributed Queue Dual Bus) est un réseau qui a une vocation identique à celle de FDDI. Il permet de relier différents réseaux locaux au sein d’un ensemble plus vaste (réseaux de type MAN). A l’inverse de FDDI qui a une vocation privée, DQDB est plus orienté vers la constitution de réseaux publics d’interconnexion. DQDB exploite une paire de bus unidirectionnels, chacun étant utilisé pour un sens de transmission. L’information circule grâce à des trames synchrones. tête de bus fin de bus Bus A Bus B Station Station Station Pour chaque sens de transmission, et à l’intérieur de chaque trame, il y a partage du temps en tranches (slots). Une fonction particulière (incluse dans un équipement communiquant désigné) appelée « tête de bus » envoie ces trames périodiquement (toutes les 125 µsec). Suivant la capacité du support, elles contiennent plus ou moins de slots : la taille du slot étant fixé à 53 octets. 125 µs en-tête slot 0 slot 1 slot n PAD segment 1 ACF état d’occupation 4 en-tête du segment type de slot 48 charge utile du segment réservé PSR REQ 3 REQ 2 REQ 1 REQ 0 Le premier octet d’un slot (ACF : Access Control Field) est utilisé pour la gestion de la communication. Les 4 suivants sont un en-tête permettant de référencer les données. Il y a donc 48 octets utiles. Il existe deux types de slots : - les slots préarbitrés, dont l’usage est réservé à un poste défini. Ceci permet de garantir un trafic minimum entre deux postes, et donc de respecter des contraintes relativement à un trafic synchrone (voix...), - les slots arbitrés, qui sont accessibles par tous les postes suite à un arbitrage basé sur des files d’attente (trafic asynchrone). 80 L’accès asynchrone est géré par des paires de compteurs sur chaque poste : - un compteur de requête (RQ : Request Counter) - un compteur décrémental (CD : Count Down Counter) Pour une requête émise sur un des deux bus, les données transitent sur l’autre (requête sur A, données sur B et vice versa). Le choix de l’utilisation des deux bus est fait en fonction de la position des machines. Une paire de compteurs gère un bus pour les requêtes et l’autre pour les données. Le compteur de requête est incrémenté chaque fois qu’une requête passe sur le bus. Ce compteur est décrémenté chaque fois qu’un slot libre passe sur le bus opposé. Ce compteur permet de connaître l’occupation du bus dans le sens des transmissions de données. Le compteur décrémental permet lui de connaître à quel moment la station pourra émettre. Lorsque un poste veut émettre des données, il transfert le contenu de RQ dans CD puis émet une requête sur le bus opposé de celui où il veut transmettre les données. Ensuite à chaque passage d’un slot vide il décrémente son compteur CD. Quand le compteur atteint la valeur 0, la station peut alors utiliser le premier slot libre qui passe sur le bus. Elle y dépose ses données et le marque occupé. Ce mécanisme permet de gérer une file d’attente répartie sur tous les postes d’un réseau. v v –1 Compteur décrémental v BUS A Données Compteur 00 de requête 03 +1 Données en attente pour transmission sur le bus A RQ→CD O→RQ BUS B R R Inscription de la requête d’accès au bus Données p v v BUS A –1 Compteur décrémental 00 02 Compteur de requête +1 CD→…O Droit d’émettre sur le bus A, utilisation du premier slot vide BUS B R Pendant le déroulement de la procédure d’accès les requêtes continuent d’être prises en compte 5.5.6) Réseau ATM et le relais de cellules ATM (Asynchronous Transfert Mode) est plus particulièrement destiné à l’interconnexion grande distance des réseaux locaux. Sa définition générale est en particulier 81 indépendante de tous supports physiques (ceux-ci dépendant de l’opérateur de télécommunication par exemple). Pour pouvoir répondre au mieux à tous les besoins, ATM peut supporter deux types de trafic : le trafic synchrone (ou isochrone) et le trafic asynchrone. Pour garantir des délais d’acheminement réduit, l’information est découpée en petites cellules de taille fixe (53 octets). L’accès au médium est basé sur le principe des files d’attente. process remplissage cellule vide vide Du fait de sa vocation, l’accès global au médium est défini à l’aide d’un contrat de débit entre l’utilisateur et l’opérateur. Le respect du contrat doit être géré par l’utilisateur sous peine de voir son trafic rejeté par l’opérateur. A l’inverse, l’opérateur garantit un trafic donné ainsi qu’une qualité de service (cellules perdues, dupliquées...). Trois indicateurs de trafic sont définis : - Le trafic maximum auquel peut accéder l’utilisateur sur une courte période, Peak Cell Rate (PCR). - Le trafic moyen : Sustainable Cell rate (SCR). - Le trafic minimum : Minimum Cell Rate (MCR). Le trafic synchrone (voix, vidéo...) génère un trafic permanent (MCR). trafic en bits (quantité d’information échangée) trafic maximum capacité du médium trafic maximum autorisé pour l’utilisateur temps trame 1 82 trame 2 trame 3 trame 4 Chapitre 6 : Sous-couche Liaison Logique La couche liaison logique établit un chemin pour les communications. 6.1) Généralités a) Fonctions La sous-couche LLC (Logical Link Control) masque pour les couches supérieures (couche Réseau) les différences de protocoles du niveau MAC. La sous-couche LLC est la première couche vraiment indépendante du matériel. Elle peut avoir plusieurs points d’entrée (SAP : Service Access Point), mais une seule voie de sortie vers la couche MAC. Soumission de paquets à transmettre LLC données indifférenciées b) Services La couche LLC devrait assurer une liaison logique entre machines d’un même réseau. Liaison logique : relation privilégiée entre deux entités avec un protocole complet (ouverture, suivi, gestion des erreurs, fermeture). Une liaison logique correspond à une connexion virtuelle. En fait la couche LLC n’assure pas forcément cette fonction. La couche transport la réalise du point de vue connexion entre deux machines sur deux réseaux distincts, elle peut donc a fortiori réaliser les fonctions de la couche LLC, au détriment sans doute de la simplicité. Le choix de la couche assurant ces fonctions dépend de la topologie des réseaux. Par conséquence, la couche LLC peut fournir 3 types de services. Services de type 1 : service minimal dit mode datagramme. Il consiste à envoyer des paquets isolés à un ou plusieurs correspondants. Il n’y a donc pas de séquencement, ni de gestion des erreurs. Services de type 2 : véritable liaison logique, service maximum dit mode connexion. Il assure toutes les fonctions d’une connexion ce qui impose un protocole lourd. Services de type 3 : service intermédiaire dit mode datagramme acquitté. Il met en œuvre une détection des erreurs mais pas de connexion logique, il est simple mais plus sûr. c) Accès aux services : adressage Les accès aux services LLC sont réalisés par des LSAP (Link Service Access Point). Les points d’accès sont identifiés par des adresses (en partie définie par l’IEEE) codées sur 8 bits. 83 Réseau Réseau LSAP 4 Gestion LLC LSAP 2 LSAP 6 LLC LSAP 4 Gestion LLC LSAP 2 LSAP 6 LLC Mac Mac Station 1 Station 2 6.2) Fonctions ou primitives fournies par la couche LLC 6.2.1) Protocole de type 1 a) L.SDUs Ce protocole est très simple, il comprend uniquement deux primitives de service (SDU). - Demande d’envoi de données : L.DATA.request - Signalement de données reçues : L.DATA.indication adresse source, adresse destination, données, <priorité> SAP SAP Ces SDUs sont des procédures de niveau LLC fournies par le logiciel réseau pour la couche réseau (la couche LLC est une couche logicielle comme ses supérieures). Les paramètres de ces fonctions sont au nombre de 4 : - adresse source : SSAP + adresse physique source, - adresse destination : DSAP + adresse physique destination (Plusieurs adresses sont possibles), - données, - priorité : si le protocole MAP les accepte. b) L.PDUs Le protocole de type 1 n’utilise qu’un seul format de PDUs : le format U (Unnumbered). Il comprend 3 PDUs de commande et 2 PDUs de réponse. PDUs de commande : - UI : Unnumbered Information (paquets à transmettre), - XID : Exchange Identification (précision du type de services supportés), - TEST : sollicitation d’un retour d’une trame test par le récepteur. PDUs de réponse : 84 - ID : réponse à ID, TEST : réponse à TEST. 6.2.2) Protocole de type 2 a) L.SDUs Ce protocole comprend 14 primitives regroupées en 5 classes : connexion, données, contrôle, réinitialisation, déconnexion. L.DATA.CONNECT.request (A.S, A.D, données) Demande de l’établissement d’une connexion avec un point d’accès éloigné. Indication d’une demande de connexion ou d’une demande refusée de connexion. Compte rendu d’établissement ou non d’une connexion, suite à une requête L.CONNECT.request Passage d’un paquet à émettre. L.DATA.CONNECT.indication (A.S, A.D, données) Passage d’un paquet reçu. L.DATA.CONNECT.confirm (A.S, A.D, état) L.CONNECTION-FLOW CONTROL.request (A.S, A.D, montant) L.CONNECTION-FLOW CONTROL.indication (A.S, A.D, montant) L.RESET.request (A.S, A.D) Compte rendu de succès ou d’échec d’une ou plusieurs requêtes d’émission de paquet. Ajustement de la quantité de données acceptables sur le SAP concerné. Indication de la quantité de données acceptables sans perte sur le SAP concerné. Réinitialisation d’une connexion. L.RESET.indication (A.S, A.D, cause) Indication de la réinitialisation d’une connexion. L.RESET.confirm (A.S, A.D, état) Compte rendu d’exécution d’une réinitialisation. L.DISCONNECT.request (A.S, A.D) Demande de terminaison d’une connexion. L.DISCONNECT.indication (A.S, A.D, cause) Indication de terminaison d’une connexion. L.DISCONNECT.confirm (A.S, A.D, état) Compte rendu d’exécution d’une terminaison de connexion. L.CONNECT.request (A.S, A.D, cla.serv) L.CONNECT.indication (A.S, A.D, état, cla.serv) L.CONNECT.confirm (A.S, A.D, cla.serv) 2 Elles demandent les mêmes paramètres que précédemment avec en plus un retour possible de l’état de l’exécution. Comme il s’agit d’une liaison logique, elle est toujours de type point à point car elle nécessite une connexion et des acquittements. b) LPDUs Il y a 3 formats de L.PDUs, qui permettent d’effectuer les différents services liées à un mode connecté. * Format U (Unnumbered). Ces primitives permettent de réaliser les connexions, elles sont non numérotées car ce sont les premières et les dernières émises dans le cadre d’une liaison logique déterminée, leur numérotation n’ayant pas d’intérêt. Elles comprennent 2 PDUs de commandes et 3 PDUs de réponses. PDUs de commandes : 85 - SABME (Set Asynchronous Balanced Mode Extended) : établissement d’une connexion en mode asynchrone. DISC (Disconnect) : fin de la connexion PDUs de réponses : - UA (Unumbered Acknowledgment) : acquittement des trames de commandes précédentes (SABME et DISC). - DM (Disconnect Mode) : information que la couche LLC est déconnectée. - FRMR (Frame Reject Response) : la PDU reçue est incorrecte, elle contient en retour la partie du champ incorrecte. * Format I (Information). Ces trames véhiculent les informations qui sont numérotées afin d’en permettre le contrôle. Deux compteurs permettent de gérer ces informations. N(S) : numéro d’émission, N(R) : numéro de réception. Un flag précise si il est nécessaire de donner une réponse immédiate à une commande (flag P/F). * Format S (Supervision). Elles réalisent la gestion des échanges : réémission, arrêt temporaire... Elles comprennent 3 PDUs provenant du récepteur : - R-R (Receive Ready) : LLC prèt à recevoir (tous les PDUs de format I sont acquittées jusqu’à N(R)-1). - REJ (Reject) : demande de retransmission à partir de N(R), il y a acquittement jusqu’à N(R)-1). - RNR (Receive Not Ready) : impossibilité temporaire de réception, il y a acquittement jusqu’à N(R)-1. * Exemple de gestion des transmissions. Emetteur : Recepteur : SABME I1 UA I2 I3 R–R I4 I3 REJ I4 DISC R–R On peut distinguer plusieurs protocoles particuliers. Stop and Wait : Emission d’une trame puis attente d’un ACK. Si NACK ou si le temps d’attente est dépassé alors il y a réémission. Go Back N : Emission de plusieurs trames successives (de manière continue). Pour chaque ACK reçu on incrémente le compteur de trame OK, si NACK ou expiration d’un délai alors on réémet le tout. 86 UA Emission trame n°1 Lancement temporisation T1 Emission trame n°2 Lancement temporisation T2 Emission acquittement trame n°1 Figure 17 : Protocole Stop and Wait. Si l'acquittement n'est pas reçu pour t<T1, nouvelle émission. ⇒ nécessité de numéroter les trames. 0 7 8 2 3 4 1 5 E 2 6 3 4 7 8 9 10 Ack 7 6 Ack 6 5 Ack 5 4 Ack 4 3 Ack 2 2 Ack 1 1 Ack 0 0 Temps Ack 3 Time out 5 6 7 8 9 10 11 12 E = erreur Trames ignorées par la Couche Liaison de Données Time out Time out Time out 3 0 4 5 6 7 8 2 3 4 1 E 3 4 5 6 7 8 2 5 6 Ack 8 2 Ack 1 1 Ack 0 0 Temps 9 10 E = erreur Trames stockées par la Couche Liaison de Données n 0 1 Les paquets 2 à 8 sont transmis par la Couche Réseau n 2 0 1 2 3 3 4 7 5 6 après émission de 1 4 7 5 6 après acquittement de 1 Figure 18 : Protocole avec fenêtre d'anticipation de taille 4. 87 Répétition sélective : Même fonctionnement que précédemment, mais seules les trames NACK sont réémises Séquencement. Contrôle du flux : adaptation de la vitesse émission et réception. Gestion fenêtre (ou fenêtre d’anticipation) : un certain nombre de PDUs sont émises avant l’attente d’un ACK (numérotation séquentielle des PDUs). 6.2.3) Protocole de type 3 a) L.SDU Comme pour le protocole de type 1, il n’existe qu’un type de primitive (échange de données), mais avec une fonction de confirmation provenant de la couche LLC du receveur. En fait, une autre fonction est possible : l’interrogation d’équipements passifs. L.DATA_ACK.request (A.S, A.D, données, cla.serv) L.DATA_ACK.indication (A.S, A.D, données, cla.serv) L.DATA_ACK.confirm (A.S, A.D, données, cla.serv, état) Demande d’émission d’un datagramme avec acquittement. Transmission d’un datagramme reçu avec demande d’acquittement. Acquittement d’un datagramme. L.REPLY_UPDATE.confirm (A.S, données) Demande de mise à jour de donnée sur station passive. Confirmation de mise à jour. L.REPLY.request (A.S, A.D, cla.serv) Demande de lecture d’une station passive. L.REPLY.indication (A.S, A.D, cla.serv) Indication de lecture d’une station passive. L.REPLY.confirm (A.S, A.D, cla.serv, état) Transmission de la donnée après lecture. L.REPLY_UPDATE.request (A.S, données) 3 b) L.PDU Elles sont toutes de format U. UI (Unnumbered Information) : comme pour le type 1. UA (Unnumbered Acknowledgment) : permet d’acquitter les trames de données de type UI. FRMR (Frame Reject Response) : rejet d’une trame non correcte. 88 6.3) Format des L.PDUs Adresse DSAP : adresse du SAP destination Adresse SSAP : adresse du SAP source Contrôle : champ descriptif du PDU Champs Adresse DSAP Adresse SSAP Nombre d’octets Champs Adresse DSAP 1 1 76543210 Codage SSSSSSS C/R I/G : Données 1 ou 2 N Adresse SSAP Numéro de bit 76543210 DDDDDDD I/G Contrôle = 0 : DSAP individuel = 1 :DSAP de groupe C/R : = 0 : PDU de commande = 1 : PDU de réponse Type Numéro de bit I S U 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 N(S) P/F N(R) 1 0 S S X X X X P/F N(R) 1 1 M M P/F M M M N(S) N(R) S M X P/F = numéro d’émission = numéro de réponse = bit de fonction de supervision = bit "modificateur" spécifiant la fonction = réservé et positionné à zéro = Poll/Final : Poll (interrogation) pour PDU de commande, Final (fin) pour PDU de réponse 89 Chapitre 7 : Couche Réseau La couche réseau adresse les messages, crée le chemin entre les nœuds en communication, route les messages à travers les nœuds impliqués vers leur destination et contrôle le flux des messages entres les nœuds. 7.1) Généralités. 7.1.1) Fonctions La couche réseau réalise l’acheminement étape par étape des informations au travers du ou des réseaux locaux pour des modules non directement connectés. Transport 1 2 LLC LLC 3 4 5 LLC Réseau RL 1 LLC 6 LLC Réseau RL 2 RL 3 Figure 19 : Partage des fonctions au sein des couches. Pour mettre en œuvre cet acheminement la couche réseau doit réaliser plusieurs fonctions : - choix du chemin de transit : routage, - sélection des paquets transmis : filtrage, - modification des protocoles de niveaux inférieurs. A l’intérieur d’un réseau local relié à un seul médium, les fonctions de la couche réseau sont réduites (c’est en particulier le cas pour les réseaux de terrain actuels). 7.1.2) Services La couche réseau propose deux types de services : - Un service sans connexion, rapide et peu fiable. La gestion est reportée sur la couche transport (située sur l’hôte). Les deux ordinateurs intéressés par la communication ont en charge la gestion des erreurs et le contrôle du flux. Les ressources utilisées sont donc des ressources locales, la charge de travail pour les stations intermédiaires est faible. C’est le principe de base des communications de type Internet où le passage par les intermédiaires n’est pas facturé. - Un service avec connexion, complexe mais fiable. La couche réseau assure la gestion des erreurs et le contrôle du flux. C’est une gestion répartie, chaque machine par laquelle transitent les informations a une charge de travail non négligeable. Le passage 91 des informations étant contrôlé par chaque machine, il y a possibilité de facturation. C’est une vision plus adaptée à un transporteur. Ces deux types de services existent au niveau de la définition OSI (voir Tableau 12). N_CONNECT.request (appelé, appelant, confirmation_réception, données_exprès, qos, données_utilisateur) N_CONNECT.indication (appelé, appelant, confirmation_réception, données_exprès, qos, données_utilisateur) N_CONNECT.response (répondeur, confirmation_réception, données_exprès, qos, données_utilisateur) N_CONNECT.confirmation (répondeur, confirmation_réception, données_exprès, qos, données_utilisateur) N_DISCONNECT.request (origine, raison, données_utilisateur, adresse_en_réponse) N_DISCONNECT.indication (origine, raison, données_utilisateur, adresse_en_réponse) N_DATA_CONNECT.request (données_utilisateur) N_DATA_CONNECT.indication (données_utilisateur) N_DATA_CONNECT.response () N_DATA_CONNECT.confirm () N_EXPEDITED_DATA.request (données_utilisateur) N_EXPEDITED_DATA.indication (données_utilisateur) N_RESET.request (origine, raison) N_RESET.indication (origine, raison) N_RESET.response () N_RESET.confirm () (a) service orienté connexion. N_UNIDATA.request (adresse_source, adresse_destination, qos, données_utilisateur) N_UNIDATA.indication (adresse_source, adresse_destination, qos, données_utilisateur) N_FACILITY.request (qos) N_FACILITY.indication (adresse_destination, qos, raison) N_REPORT.indication (adresse_destination, qos, raison) (b) Service sans connexion. qos : qualité de service désiré (Quality of Service) raison : indique la raison de la commande. Tableau 12 : (a) Primitives du service avec connexion du modèle OSI. (b) Primitives du service sans connexion du modèle OSI. 7.2) Les ponts Ces appareils ont des fonctions correspondant à celles de la couche réseau, mais n’utilisent pas de données propres à cette couche, mais celle de la couche MAC (adresses universelles). Leur fonction principale est de transmettre ou non (fonction de filtrage) des paquets sans modification de leur contenu LLC ni de leur adresses universelles. Ils ont deux utilités : - augmentation de la bande passante de chaque sous-réseau en limitant les paquets transmis sur un sous-réseau. - augmentation quasi infinie de la taille d’un réseau local sans problème de couche MAC (collision...). Pour cela les ponts stockent et réémettent les paquets en ne tenant compte des contraintes MAC que sur chaque sous-réseau. 7.2.1) Ponts transparents Ces ponts sont normalisés sous la norme 802.1d. Ils regroupent plusieurs fonctions : Pont de base ---------> apprentissage 92 Pont intelligent -------------> Pont transparent algo. arbre recouvrant a) Pont de base C’est un pont reliant deux ou plusieurs sous-réseaux distincts. Chaque sous-réseau est relié a un port du pont. Port 1 Port 2 B N1 N2 Le stockage temporaire permet de lever les contraintes de longueur, mais il n’y a pas d’augmentation possible du trafic global. Réseau N1 Emission M3 sur N2 M1 Réseau N2 M2 M1 Emission M1 sur N1 M3 M3 t M2 t Emission M2 sur N1 Le pont réémet M1 sur N2 M2 a été stocké par le pont car M3 occupait N2, puis il est réémis sur N2 Figure 20 : Passage des paquets d’un sous réseau à un autre. b) Pont intelligent (apprentissage) L’ajout d’une fonction de filtrage des paquets locaux pourra permettre d’augmenter le trafic global. Le pont doit donc reconnaître les paquets destinés à l’extérieur du réseau émetteur. Plusieurs solutions (plus ou moins mauvaises) peuvent être envisagées : - Définition manuelle des adresses dans une base de données situées dans le pont. Cette solution valable du point de vue technique pose le problème de la maintenance, chaque modification du réseau (ajout, suppression de machines), voire modification d’une machine (changement de carte réseau pour une machine, donc changement de l’adresse universelle) nécessite une intervention humaine sur le pont. - Positionnement des stations par groupes d’adresses. Cette solution est impossible car les ponts utilisent les adresses universelles qui sont choisies par le fabricant et non par l’acheteur. La bonne solution est dérivée de la définition manuelle d’une table des adresses, l’intervention manuelle étant remplacée par un apprentissage automatique du pont. Fonctionnement de l’apprentissage : Chaque pont possède une mémoire cache de stockage (mémoire remise à jour régulièrement). Cette mémoire contient une base de données constituées : - des adresses universelles, - du numéro du port de connexion correspondant, - de la date de dernier accès. 93 Cette mémoire cache est initialement vide. Le pont écoute en mode promiscuous (il écoute tout) les paquets transmis. Pour un paquet donné, le pont enregistre son adresse source et le port de réception (s’ils ne sont pas déjà définis), il met à jour le champ correspondant au moment d’arrivée. Il recherche dans sa mémoire cache si l’adresse destination existe : - si oui, il envoie le paquet sur le port associé, ou le détruit si le port associé est le même que celui d’émission (trafic local). Ceci réalise la fonction de filtrage. - si non, il envoie le paquet sur tous les ports sauf sur celui de réception. Exemple de fonctionnement (Mi : machine, B : pont, Pi : port) : M1 M2 M3 P1 M1 → M2 M2 → M3 M3 → M1 M3 → M4 M4 → M3 M1 → M2 M1 → M5 M5 → M1 … Transmission paquet de . vers . M4 P2 B P3 M5 Topologie du réseau P1 → P2 et P3 P1 → P2 et P3 P2 → P1 P2 → P1 et P3 P2 → détruit P1 → détruit P1 → P2 et P3 P3 → P1 … Ports de réception et d’émission M1 – Port 1 M2 – Port 1 M3 – Port 2 Mise à jour date M3 M4 – Port 2 Mise à jour date M1 Mise à jour date M1 M5 – Port 3 … Contenu mémoire cache du pont Le fonctionnement du pont est correct à condition que le réseau ait une topologie arborescente (un seul chemin pour aller entre deux points). S’il existe plusieurs ponts entre les réseaux (et ceci est presque toujours le cas pour des raisons de fiabilité : pas d’interruption du service en cas de panne) le fonctionnement peut conduire et conduira à une congestion par multiplication du trafic. Exemple avec 2 et 3 ponts entre 2 sous-réseaux. N1 A1(2) A1(1) A1(3) A1(5) A1(4) N1 A’1(2) A’1(1) N2 Bouclage des paquets A1(1) A1(6) et A1(7) N2 A1(2) A1(3) A1(4) A1(5) (on suppose un seul sens) Prolifération des paquets Chaque paquet émis sur un réseau arrive sur un port de chaque pont, celui-ci le réémet sur ses autres ports, le paquet boucle ou se multiplie à chaque passage. Le pont doit se reconfigurer en permanence, car les paquets qui gardent leur adresse Liaison arrivent alternativement d’un côté ou de l’autre du pont. 94 Il est donc nécessaire de mettre en place un algorithme supplémentaire au niveau du pont pour parer à ce défaut. c) Algorithme de l’arbre recouvrant (Pont transparent) L’algorithme de l’arbre recouvrant (spanning tree) va permettre aux ponts de découvrir de manière dynamique une topologie sans boucle (arbre) qui permette d’accéder à tous les réseaux (recouvrant). Arbre recouvrant Figure 21 : Exemple d'arbre recouvrant. Les messages entre deux réseaux remontent la hiérarchie à partir de l’émetteur jusqu’à trouver le pont qui rassemble les deux branches auxquelles appartiennent les deux réseaux. Le message redescend alors vers le destinataire. Le pont situé au sommet de la hiérarchie est appelé pont racine. Chaque pont peut recevoir des messages montants par plusieurs ports, mais il ne les réémet que sur un seul (le port racine). Les messages descendants ne sont reçus que par un port (le port racine) mais peuvent être réémis sur plusieurs. Le pont racine peut en recevoir et en réémettre sur plusieurs ports. La configuration, ainsi que la reconfiguration en cas de panne, doit se faire automatiquement. Pour cela chaque pont émet périodiquement des messages spéciaux appelés BPDU de configuration (Bridge Protocol Data Unit). La BPDU a un format de niveau LLC suivant : Adr Dest. Adr. Source DSAP2 SSAP3 Message de configuration adresse cast spéciale adresse du port Destin. Service Access Point Source Service Access Point ID racine, ID pont émetteur Coût, ID de prot, âge du message... Le message de configuration fonctionnement de l’algorithme : - 2 3 contient plusieurs champs nécessaires au bon ID racine : identificateur du pont supposé être racine, ID pont émetteur : identificateur du pont qui émet le message, Coût : coût du trajet connu de moindre coût entre le pont émetteur et la racine, ID port : numéro du port sur lequel est émis le message. Destination Service Access Point. Source Service Access Point. 95 L’algorithme de l’arbre recouvrant fonctionne globalement de la manière suivante : - choix d’un pont racine, - pour chaque LAN choix d’un pont désigné sur ce LAN pour transmettre vers le pont racine, - calcul de la distance la plus courte entre un pont et le pont racine, - choix d’un port (port racine) donnant accès au meilleur trajet jusqu’au pont racine, - choix des ports à inclure dans l’arbre (port racine+ports reliés aux LAN où le pont est désigné). Choix du pont racine, des ponts désignés et des ports racines Le pont racine est celui qui émet le meilleur message de configuration. La classification des messages est faite suivant les champs du message : - message meilleur si l’ID racine est plus faible, - si égalité, message meilleur si le coût vers le pont racine est plus faible, - si égalité, message meilleur si l’ID émetteur est le plus faible, - si égalité, on départage les ports d’un même pont par l’ID du port. A l’état initial, chaque pont considère être le pont racine, il envoie donc dans le message de configuration son ID, un coût de 0, et une 2ème fois son ID (car il est l’émetteur), le numéro de port n’a pas d’intérêt direct pour choisir le pont racine. Chaque pont ayant un port situé sur le même LAN que l’un des ports du pont émetteur reçoit ce message. Il peut alors choisir entre lui et son voisin comme pont racine. Il émet alors un message de configuration où l’ID racine est le résultat de la comparaison, un coût incrémenté de un (ou d’une valeur prédéfinie) s’il n’est pas le pont racine et garde l’ID de l’émetteur qui a émis le meilleur message. Lorsque un pont reçoit un message de configuration meilleur que le sien sur un de ces ports relié à un LAN donné, alors il cesse d’émettre sur ce LAN car un autre pont est mieux placé par rapport au pont racine. Lorsque la configuration se stabilise, le pont racine est celui qui a l’ID le plus faible. Sur chaque réseau un seul pont est actif. Le pont désigné est celui qui est le plus proche en terme de coût du pont racine (ou si égalité celui qui à l’ID la plus faible). Il est relié au chemin du pont racine par le port racine et au réseau par un port, tous ces ports faisant partie de l’arbre recouvrant. Calcul du coût vers la racine Puisque lorsque la configuration se stabilise il n’y a qu’un seul pont qui transmet sur chaque LAN, le coût des messages de configuration représente le coût vers la racine. 7.2.2) Les ponts éloignés Ils permettent la connexion de deux parties de LAN géographiquement éloignées. On les appelle aussi ponts distants ou demi-ponts. B LAN 1 96 liaison point à point protocole au choix : B et B’ sont normalement identiques. B’ LAN 2 7.2.3) Pont à routage par la source Pour les ponts transparents, le chemin global entre deux points n’est connu de personne. Ceci peut conduire à des choix relativement peu performants : deux réseaux proches peuvent passer par le pont racine pour se transmettre des messages. Si on arrive à faire connaître à chaque pont la topologie complète de l’interconnexion il est alors possible de choisir a priori le chemin sans passer par le pont racine. C’est cette fonction qui est implémentée dans les ponts à routage par la source (Source Routing Bridge). Principe : le chemin de routage est présent dans le message initial. Chaque station doit donc maintenir une mémoire cache contenant une route indiquant le chemin à prendre pour communiquer avec une station déterminée. Si la station avec laquelle elle désire communiquer n’est pas dans la mémoire cache alors la station lance un paquet spécial qui va se reproduire et se diviser lorsqu’il y a plusieurs routes possibles. La route prise est stockée au fur et à mesure dans le paquet. Une fois les paquets arrivés à destination, la route optimale peut être choisie. Elle est stockée dans les mémoires caches. Le paquet spécial dit paquet de routage est différencié des paquets standard par le bit multicast adresse source à 1. Une fois la route déterminée, les paquets de données sont envoyés avec la route, ils ont un format spécial comprenant un champ dit RIF (Routing Information Field). Adresse Destination Adresse Source RIF Données Champ RIF : Type : 3 bits Longueur : 5 bits Direction : 1 bit Trame la plus longue : 3 bits Route : [ Numéro de LAN (12 bits) + Numéro de Ponts (4 bits) ] Route : ... ce champ est répété pour décrire toute la route. A l’heure actuelle, il y a une évolution vers la coexistence à l’intérieur des ponts des deux types de fonctions (Pont SRT : Source Routing Transparent). 7.2.4) Performances Les ponts ne sont utilisables que pour constituer un ensemble de réseaux ou de sousréseaux relativement réduit. Ils permettent de faire communiquer des réseaux ensembles mais ne peuvent constituer une base pour réaliser un réseau fédérateur international. Leur principale limitation provient de l’utilisation des adresses universelles. Celles-ci n’ayant aucune liaison les unes avec les autres dans un sous-ensemble, elles obligent à utiliser des algorithmes peu performants en terme de débit pour trouver les chemins entre deux postes. Cela a donc conduit à définir un nouveau système d’adressage de plus haut niveau. 97 7.3) Adresses de couche réseau Pour communiquer d’un équipement à un autre, il est nécessaire de définir des adresses. Les adresses universelles (couche MAC) ne répondent que partiellement aux besoins de la couche réseau (routage...) car elles ne sont pas fixées à une localisation (réseau...) mais à une machine voire à une interface réseau. Les déplacements, les remplacements doivent être transparents pour la couche réseau. Les adresses de la couche réseau devront donc être définies logiciellement par l’utilisateur et avoir une structure hiérarchique. 7.3.1) Adresses hiérarchiques Elles sont basées sur une idée de découpage du réseau global en sous-réseaux... Sous réseau de niveau 2 routage Sous réseau de niveau 1 routage Nœud d’extrémité routage Exemple d’adresse : 12.3.28 Sous-réseau 7.3.2) Adresses ISO Ce sont des adresses de longueur variable jusqu’à un maximum de 20 octets. Elles sont constituées de plusieurs champs : AIRE ID SEL Universelle Attribué localement IDP DSP AFI IDI DSP AIRE : indique la localisation du sous réseau, elle a une attribution universelle. IDP : Initial Domain Part AFI : (1 octet) Authority and Format Identifier Il contient l’autorité d’attribution, le format et la longueur du champ IDI. IDI : Initial Domain Identifier. Le champ IDI peut encore être découpé hiérarchiquement suivant des critères de localisation. 98 ID : numéro de nœud, Le champ ID peut contenir la valeur de l’adresse universelle. SEL : utilisateur à l’intérieur du nœud. Ces deux champs ont une attribution locale, on les regroupe dans un DSP (DSP : Domain Specific Part) Ce type d’adresses donne une trame complète pour un adressage hiérarchique. Dans les réseaux locaux, ce type d’adressage n’est pas utilisé tel quel mais avec des variantes plus ou moins éloignées suivant les protocoles retenus. Exemple d’adresses ISO: X121 longueur en ½ octets AFI 3 7 Long 2 1 Pays IDI Réseau Région 3 1 7 Extension locale 3 ou 5 DSP adresse 802.i 4 ou 12 Tableau 13 : AFI 37 = adresse globale de type X121 (réseau public). longueur en ½ octets AFI 4 9 2 IDI zone 2(=00) ou 5 DSP adresse 802.i 4 ou 12 Tableau 14 : AFI 49 = adresse locale. 7.3.3) Adresses IP (Internet Protocol) Ce sont des adresses de longueur fixe (4 octets) possédant deux champs de longueur variable : - un champ liaison, - un champ hôte. En fait, l’adresse complète est définie par l’adresse et le masque qui permet de distinguer les deux champs. Masque : 11111111 11111111 11000000 00000000 Adresse : 01001101 10001001 01001001 10110100 liaison hôte L’alternance de 0 et de 1 au sein du masque est permise mais déconseillée. Suivant la taille des champs, il peut exister plusieurs classes d’adresses prédéfinies où la longueur des champs est fixe. Ceci est particulièrement nécessaire dans les anciens protocoles où le masque n’est pas transmis. On considère 3 classes initiales de réseaux : Réseaux de classe A : 0 réseau xxxxxxxx xxxxxxxx xxxxxxxx 99 Le numéro de réseau est défini sur 7 bits, il va de 01 à 126, il y a donc 125 réseaux de type A possibles dans le monde, chacun des réseaux peut posséder 224 machines (16 millions de machines !). Seuls de très grands organismes peuvent obtenir ce type de réseaux. Réseaux de classe B : 10 réseau réseau xxxxxxxx xxxxxxxx Le numéro de réseau est défini sur 14 bits (de 128.000 à 191.254). Il permet de constituer des grands réseaux de 65563 machines. Réseaux de classe C : 110 réseau réseau réseau xxxxxxxx Le numéro de réseau est défini sur 21 bits. Il permet de créer 2 millions de réseaux de 254 machines numéroté de 192.000.000 à 223.255.254 D’autres types de réseaux peuvent être définis en utilisant les combinaisons inemployées (111xxxxx). De plus, à l’intérieur des réseaux de classes B et C, il est possible de définir un ou plusieurs niveaux hiérarchiques en créant ainsi des sous-réseaux pour faciliter la gestion des adresses. Certaines adresses ont une signification spéciale : 11111111 … : représente l’adresse tous (Broadcast) 00000000 … : sert à la détermination des adresses dans certains protocoles (RARP, BOOTP). 127 … : est réservée comme adresse interne pour le test des fonctions réseaux. L’adressage IP est limité en possibilité et en niveaux de hiérarchie. Il semble ne plus pouvoir répondre à la croissance actuelle du marché des communications par ordinateurs. Une autre norme est en cours de discussion. 7.3.4) Adresses IPv6 ou IPng (New Generation) Cette nouvelle norme qui devrait être largement utilisée à partir de l’année 1999 a été définie pour répondre aux problèmes de l’adressage IP antérieur (IPv4). Ces problèmes sont liés à une explosion du nombre de réseaux et principalement de réseaux de plus de 256 machines (classe B) dont le nombre est limité à 16000. Cette saturation a eu pour conséquence l’attribution de plusieurs numéros de classe C pour des réseaux dépassant 256 machines et a donc partiellement fait disparaître l’aspect hiérarchique essentiel au routage des paquets. La norme IPv6 a défini une adresse sur 128 bits (au lieu de 32 avec IPv4). Elle va permettre d’adresser approximativement un milliard de réseaux de 1000 machines. 3 types d’adresses sont définis : - des adresses Unicast : pour une machine, - des adresses de Cluster : pour un groupe réduit de machines, - des adresses Multicast : pour un grand ensemble de postes. 100 Les adresses de type Cluster sont un des apports de la norme afin de permettre de communiquer avec un groupe de machines sans avoir à perturber le fonctionnement de l’ensemble des machines sur le réseau. Il est prévu 22 classes d’adresses différentes, seules certaines sont attribuées à l’heure actuelle. L’aspect hiérarchique est beaucoup plus présent dans ce type d’adressage, une part de l’adresse peut même être occupée par l’adresse universelle, ce qui constitue un point important pour les mécanismes de résolution d’adresses que nous verrons ensuite. champs hiérarchiques Adresse universelle Adresse nœud Une adresse IPv6 se présente par groupes de 2 octets (4 chiffres hexadécimaux) séparés par le caractère « : » : 1080:0:0:78:600:200C:4A7B 7.3.5) Adresses IPX L’adressage IP, s’il est quasiment incontournable pour le monde des stations UNIX, doit partager avec IPX (Internetwork Packet Exchange de Novell Netware) le marché des réseaux de PC. Les réseaux de type Novell fonctionnent avec un adressage issu de IDP (Internet Datagram Protocol de Xerox), c’est un réseau qui fonctionne avec une couche MAC de type Ethernet. Une adresse IPX est constituée de 10 octets (80 bits). Elle comprend un champ réseau de 32 bits et un champ nœud machine de 48 bits. Le champ réseau correspond au numéro de sous-réseau sur lequel est connecté le poste, c’est aussi le numéro du serveur de ce sous-réseau. Le champ nœud machine qui est de 6 octets correspond à l’adresse universelle de la machine ce qui simplifie les procédures d’adressage au sein d’un même réseau. Pour une communication sur un seul réseau, il n’est pas nécessaire d’utiliser le champ sous-réseau qui est mis alors à 0. Le champ nœud permet d’envoyer directement un paquet à la couche LLC de la machine concernée. Cette conception de l’adressage ne peut pas répondre complètement à l’évolution des réseaux. En effet, même si la taille de l’adresse est plus grande que pour IPv4, le champ réservé au sous-réseau ne permet pas un adressage hiérarchique suffisant. Ceci s’explique par le fait que l’ambition initiale des réseaux de type Novell était de réaliser des réseaux d’étendue réduite où les communications sont principalement des communications de poste à serveur (ou l’inverse). 7.3.6) Résolution d’adresse Une des fonctions de la couche réseau est de déterminer l’adresse physique vers laquelle transmettre le paquet en connaissant seulement l’adresse niveau réseau : c’est la résolution d’adresse. Exemple : pour l’adressage IP, il existe : un protocole ARP (Address Resolution Protocol), adresse réseau vers adresse universelle un protocole RARP (Reverse Address Resolution Protocol), ad. universelle vers ad. réseau. 101 7.4) Routage en mode sans connexion 7.4.1) Présentation En mode sans connexion, le routage ou choix du chemin de parcours des données doit être réalisé pour chaque paquet et dans chaque routeur. a) Services et normes Service sans connexion. ISO : CLNP (Connexion Less Network Protocol) ISO 8473 IP : IP (Internet Protocol) ICMP (Internet Control Message Protocol) Prise de contact avec les voisins. ISO : ES-IS (Extremity System-Intermediate System) ISO 9542 IP : ICMP ARP (Address Resolution Protocol) Routage (Protocoles + algorithmes). ISO : IS-IS (Intermediate System-Intermediate System) IP : algorithme de routage libre sur chaque routeur exemple : RIP (Routing Information Protocol) gratuit tendance vers OSPF (Open Shortest Path First) IS-IS intégré (comme ISO) Les algorithmes de routage sont séparés en deux catégories : ceux fonctionnant à l’intérieur d’un domaine de routage (ensemble autonome de systèmes) ou routage intradomaine, ceux permettant de relier les domaines entre eux (routage inter-domaine). b) Problèmes à résoudre - Congestion : trafic trop important sur un routeur. - Contournement des éléments en panne. - Récupération après dépannage. - Modification possible d’architecture. - Pas d’administration centralisée. c) Mise en œuvre Chaque routeur modifie l’adresse couche Liaison de données jusqu’à ce que l’adresse Liaison soit celle de la machine destination précisée par l’adresse Réseau. Le paquet est alors délivré. Adresse IPD Adresse IPD Adresse IPD S R1 R2 D Adresse LLCR1 Adresse LLCR2 Adresse LLCD 102 d) Découpage des paquets Si certains paquets sont trop longs pour emprunter certaines voies, ils peuvent être découpés. Les routeurs ont la possibilité de découper des paquets, ils rajoutent alors à chaque sous paquets transmis des informations pour reconstituer le paquet initial après passage dans le chemin limité en taille. P3 fragmente le paquet qu’il reçoit Réseau 1 Paquet P4 réassemble les fragments qu’il reçoit Paquet P1 P2 P1 fragmente le paquet qu’il reçoit Paquet P3 P2 réassemble les fragments qu’il reçoit P4 Réseau 2 (a) Réseau 1 Réseau 2 Paquet P1 P1 fragmente le paquet qu’il reçoit P2 P3 P4 Les fragments ne sont pas réassemblés avant d’atteindre leur destination finale (b) Figure 22 : (a) Fragmentation transparente. (b) Fragmentation non transparente. e) Principe de base La mise en œuvre pratique du routage par les routeurs se fait en deux étapes qui sont renouvelées périodiquement : - une étape de détermination des chemins possibles entre deux points désirant communiquer, - une étape de choix du chemin considéré comme le meilleur en fonction de critères. La détermination des chemins possibles se fait par une prise de contact de chaque routeur avec ses voisins (via des trames spécifiques). Ensuite, à partir de cette vue locale (les voisins) il y a enrichissement de la vision de chaque routeur par communication du voisinage. Ce voisinage est stocké formellement dans une structure de données appelée « table de routage ». Cette table de routage contient un chemin pour chaque routeur proche et un chemin par défaut pour toutes les destinations inconnues. Le choix du chemin qui est le véritable routage, utilise localement la table de routage obtenue par le mécanisme précédent pour déterminer quel est le meilleur chemin que doit emprunter un paquet échangé entre deux réseaux. Le qualificatif de « meilleur » est relatif à un coût qui peut être par exemple un nombre minimum de routeurs à traverser ou un temps minimum pour échanger le paquet. Un mécanisme similaire est aussi utilisé par les postes de travail eux-mêmes pour choisir le routeur vers lequel ils vont envoyer les paquets vers l’extérieur du réseau. 103 E C A F D G B I H J Nœud destinataire du message A B D E F G H I J Autre Routage simple prochain nœud A D D E F A A F F E Routage multi-choix Prochain nœud et probabilité A(1) D(P1) – E (1 – P1) D(1) E(1) F(1) A(1) A(P1) – F (1 – P2) – D(1 – P1 – P2) F(P1) – D (1 – P1) F(P1) – D (P2) – E(1 – P1 – P2) Figure 23 : Exemples de routage du nœud C. 7.4.2) Prise de contact avec les voisins Ceci est le premier problème à résoudre pour permettre la transmission entre deux réseaux non directement connectés. L’objectif de cette prise de contact est la détermination de l’adresse couche Liaison de données connaissant l’adresse couche Réseau. a) Nœuds d’extrémités reliés par des liaisons point à point Fonction à réaliser : E G C’est la découverte par le routeur de l’adresse couche Réseau de E. Cela permettra au routeur de renvoyer les paquets destinés à E vers la bonne liaison. Le routeur G informera aussi les autres routeurs que les paquets pour E doivent être dirigés vers G. Solution ISO : paquets ESH (End System Hello). E informe périodiquement le routeur de son adresse Réseau. Solution IP : il n’y a pas de protocole, il doit y avoir une configuration pour chaque port (adresse+masque). 104 b) Nœuds d’extrémités rattachés par des LAN Fonctions à réaliser : G1 E1 G2 E3 E2 1) Découverte par les routeurs des adresses Réseau des nœuds d’extrémités voisins. 2) Découverte par les routeurs des adresses Liaison des nœuds d’extrémités voisins. 3) Les nœuds doivent connaître au moins une adresse couche de liaison d’un routeur. 4) Si E1 veut communiquer avec E2, il doit envoyer directement les paquets à E2. 4’) Même si les routeurs sont en panne ou n’existent pas, les nœuds d’extrémités doivent connaître les adresses couche Liaison sans utiliser de routeurs. 5) Si E1 veut communiquer avec E3, il doit être capable de déterminer vers quel routeur il doit envoyer ses paquets. * Solution ISO. 3 types de messages : - Signal de prise de contact (ESH) d’un système d’extrémité avec une adresse destination spéciale pour les routeurs. Signal de prise de contact (ISH : Intermediate System Hello) d’un système d’extrémité, avec une adresse de groupe LLC pour les systèmes d’extrémités. Message de redirection : si un routeur G reçoit un paquet d’un nœud E destiné à une adresse réseau D, et si G le réémet sur le même LAN vers le nœud ou vers un routeur, alors il informe E du nouveau chemin (qui est meilleur) à utiliser. ESH répond aux fonctions 1) et 2) ISH répond à la fonction 3) : avec l’existence d’une mémoire cache routeur dans E contenant l’adresse Liaison du routeur. Messages de redirection répondent à 4) et 5) : avec une mémoire cache destination contenant l’adresse Liaison en référence avec l’adresse Réseau. 4’) est résolu par un envoi à tous les Ex (Broadcast) avec l’adresse couche Réseau correcte. Alors l’E ayant cette adresse répond un ESH pour l’émetteur qui met ainsi dans sa mémoire cache la référence liant l’adresse Liaison et l’adresse Réseau. Avant d’entamer une série de transmission, il y a donc gène de tous les Ex car le message est Broadcast, mais ceci n’a lieu qu’une seule fois en début de communication pour initialiser la mémoire cache. Il y a une temporisation pour remettre à jour les mémoires caches. 105 Si il n’y a pas de routeur et que E1 veut communiquer avec E3, alors il n’y a pas de réponse au Broadcast de E1, les couches plus hautes de E1 doivent détecter ce problème et arrêter les tentatives de communications après un temps déterminé. * Solution IP. L’adresse contient la partie numéro de réseau, chaque nœud connaît cette adresse définie par configuration manuelle (adresse IP + masque). Les communications sur le même réseau peuvent donc se faire directement par comparaison des adresses IP masquée avec l’adresse de l’hôte masquée. Le routage n’est effectué que relativement à la partie liaison (numéro de réseau). La fonction 1) est résolue par configuration manuelle des routeurs. La fonction 3) est aussi résolue par une configuration manuelle des nœuds d’extrémité avec une adresse routeur (ou plusieurs). D’autres solutions existent mais ne sont pas normalisées (elles se rapprochent des solutions ISO). Les autres sont résolues par des messages : - demande de protocole de résolution d’adresse (ARP) : Broadcast + adresse Réseau, - réponse de protocole de résolution d’adresse (ARP) : adresse Liaison + adresse réseau - redirection (ICMP) : message contenant l’adresse de couche Réseau d’un autre routeur. Utilisation des messages ARP pour 2) 4) et 4’) : Soit deux postes (N et D) sur un même réseau L : N veut communiquer avec D dont il ne connaît pas l’adresse universelle. N envoie un message ARP avec une adresse Broadcast couche Liaison et l’adresse Réseau de D. Tous les postes sur L le reçoivent et vérifient que l’adresse Réseau ne les concerne pas sauf pour D. D renvoie un message ARP avec son adresse couche Liaison. N reçoit le message ARP et peut ainsi créer une entrée liant l’adresse Liaison et réseau de D dans sa mémoire cache. Dans certains cas, il est nécessaire d’utiliser d’autres messages pour réaliser ces fonctions (RARP ou BOOTP). N D (2) ARP L (1) ARP Utilisation de messages de redirection pour 5) : comme pour l’ISO, mais ici le message contient l’adresse couche réseau (comme ARP). c) Gestion des liens entre routeurs * Solution IP Le protocole IP définit des messages de contrôle appelés messages ICMP (Internet Control and error Message Protocol) qui sont des messages d’erreur et de supervision. Ils sont émis par les routeurs lors de la détection d’un problème ou d’une erreur (congestion, 106 route coupée...). Ce sont par exemple des messages à destination de l’expéditeur d’un paquet pour le prévenir que celui-ci n’a pas pu être délivré pour une raison précisée. Dans quelques cas les postes de travail peuvent aussi gérer ces messages ICMP. ✂ coupure paquet S→D S X G X G X D ICMP G IC Adresse IP Source Destinat. Les types de messages suivant peuvent être rencontrés : - test d’accessibilité (ping), - messages d’écho, - destination inaccessibilité, - congestion et contrôle de flux, - demande de limitation de production, - demande de modification de route, - détection de routes circulaires (hop count >>), - compre-rendu de problèmes de paramètres, - synchronisation des horloges, détermination du temps de transit, - obtention d’un masque de sous réseau. 7.4.3) Algorithmes de routage a) Algorithmes généraux • Vecteur distance (distance vector algorithm). Chaque nœud conserve la valeur de la distance entre lui et chaque destination. 1ère étape : détermination de la distance entre lui et ses voisins. 2ème étape : utilisation des distances déjà déterminée au niveau des voisins. Et ainsi de suite de manière itérative… • Routage par état des liaisons. Chaque routeur rentre en liaison avec ses voisins et apprend leur nom. Il construit alors un paquet qui contient la liste des noms, chacun associé à un coût. Ce paquet appelé LSP (Link State Packet) est transmis à tous les autres routeurs. Chaque routeur a donc une carte complète de la topologie. La transmission peut être effectuée par inondation avec un arrêt en fonction de l’âge. 107 b) Exemple de routage par vecteur distance Soit un ensemble de routeurs interconnectés : On ne considèrera que 5 d’entre eux et certains des réseaux connectés. G1 R2 G3 G2 R1 G4 G5 * Table de routage initiale (par prise de contact avec les voisins) : Table de routage du routeur G2 Destination Distance Route R1 0 directe R2 0 directe * Diffusion d’une copie de la table de routage d’un routeur à tous ces voisins * Mise à jour des tables en fonction des messages : Il y a modification si : - il existe un chemin plus court que celui existant, - une destination inconnue apparaît, - une distance a été modifiée (mais seulement si le routage s’effectue par le routeur qui a émis le message où il y a la modification). Table de routage du routeur G2 avant message Destination Distance Route R1 0 directe R2 0 directe R4 8 G5 R17 5 G4 R24 6 G1 R30 2 G3 R42 2 G1 Message de G1 Destination Distance R1 2 R4 3 R17 6 R21 4 R24 5 R30 10 R42 3 108 Table de routage du routeur G2 après message Destination Distance Route R1 0 directe R2 0 directe R4 4 G1 R17 5 G4 R24 6 G1 R30 2 G3 R42 4 G1 R21 5 G1 Distance = nombre de sauts (hop count). En général distance Gi->Gj = 1, si les deux routeurs sont connectés directement. Cette distance peut être prise > 1 si la liaison est lente. c) Inconvénients du routage par vecteur distance Il nécessite l’échange de messages de configuration longs (le contenu des tables de routage de chaque routeur). La longueur des messages est donc proportionnelle au nombre de routeurs. Le nombre de messages circulant est lui aussi proportionnel au nombre de routeurs. L’occupation globale du réseau est donc proportionnelle à (nombre de routeurs)². Ce type de routage a un mauvais temps de réponse aux changements de configuration et peut même déboucher sur des problèmes de blocage. Problème de bouclage : N1 G1 G2 G3 N1 G1 G2 G3 ✂ coupure G2 diffuse une route de distance = 2 pour aller vers N1 mais sans préciser qu’elle passe par G1 (les messages ne contiennent pas le chemin). G1 peut donc s’en servir si sa connexion vers N1 est rompue et retransmettre une route possible avec une distance incrémentée de 1 vers N1 alors qu’il n’y en a plus… ⇒ la distance vers N1 va tendre vers l’infini Solutions : - ne pas rediffuser sur le port d’arrivée les routes provenant de ce port. - temporisation avant modification avec diffusion d’un message de coupure si celle ci est prévisible. - rediffuser avec un coût infini pour la route. 109 d) Exemple de routage par état des liaison (SPF) Chaque routeur a pour objectif une connaissance complète de la topologie. NA G1 NC G2 NB G5 ND G3 NE G4 Nœuds = routeurs ; Arêtes = réseaux Méthodologie : • Test de l’activité des routeurs voisins Message court de type ping (ICMP) Si le voisin est vivant ou accessible → le lien est considéré comme actif Si le voisin n’est pas vivant ou accessible → le lien est considéré comme tombé • Propagation à tous les routeurs de l’état des voisins • Chaque routeur met à jour sa carte des liens : Si il y a modification, il recalcule les routes par l’algorithme du plus court chemin de Dijkstra. Avantages : - la taille des messages est limitée, - la convergence de l’algorithme est sûre car elle est calculée sur chaque routeur indépendamment. e) Protocole de routage intra-domaine RIP (Routing Information Protocol) : vecteur distance (pas de licence) IS-IS : état des liaisons OSPF (Open Shortest Path First) : état des liaisons SIN (Ships In the Night) : multiprotocole Routage intégré : IS-IS mais multiprotocole avec encapsulation GGP (Gateway to Gateway Protocol) : vecteur distance (élément ancien de TCP/IP) f) Protocole de routage inter-domaine Routage statique EGP (Exterior Gateway Protocol : IP) : vecteur distance modifié BGP (Border gateway Protocol) : en remplacement de EGP, vecteur distance IDRP (InterDomain Routing Protocol) : BGP amélioré mais pour l’ISO 110 Chapitre 8 : Couche Transport La couche transport fournit le contrôle de bout en bout d’une session de communication, une fois le chemin établi, ce qui permet un échange fiable et séquentiel des données, indépendamment des systèmes en communication et de leur emplacement réseau. 8.1) Présentation La couche transport réalise la charnière entre les fonctions de transmission et les fonctions d’exploitation. En effet, les couches supérieures ne sont plus véritablement dédiées à la transmission des données, mais réalisent soit la gestion de la communication, soit une mise en forme des données. La couche transport rend l’application indépendante des moyens mis en œuvre pour la transmission. 8.2) Caractéristiques 8.2.1) Transport de bout en bout Il assure un acheminement entre deux utilisateurs, dans l’ordre, sans perte ni duplication et avec un minimum d’erreurs. connexion de transport A Routeur B WAN Routeur 8.2.2) Transparence Le service transport doit accepter tous les formats, les tailles, les codages pour les informations. Il doit donc assurer une gestion de mémoires intermédiaires de stockage. appli émission appli réception segment transmis Buffer émission Buffer réception 111 8.2.3) Sélection de la qualité de service L’utilisateur peut choisir une qualité de service. Il existe un grand nombre de paramètres de qualité de service qui sont normalisés par l’ISO : - délai d’établissement d’une connexion, - délai de déconnexion, - probabilité d’échec de l’établissement de la connexion, - probabilité d’échec de la déconnexion, - débit sur la connexion, - temps de traversée des données, - taux d’erreurs résiduelles (non détectées), - probabilité de panne (coupure de la connexion), - protection contre l’espionnage des données. La qualité de service de la connexion est issue d’une négociation entre le prestataire de service et l’utilisateur : valeur demandée + valeurs de repli → acceptation ou réduction imposée par le prestataire 8.2.4) Adressage Il existe aussi des adresses de couche transport indépendantes des adresses réseaux. Le protocole réseau réalise la correspondance. Il y a une possibilité de multiplexage ou d’éclatement d’un point d’accès réseau vers plusieurs points d’accès transport ou l’inverse. TSAP11 TSAP12 TRANSPORT NSAP10 RESEAU TSAP21 TSAP22 NSAP20 LIAISON ET PHYSIQUE TSAP10 NSAP11 TRANSPORT NSAP12 RESEAU TSAP20 NSAP21 NSAP22 LIAISON ET PHYSIQUE 8.2.5) Classes de services normalisées La couche transport va interagir avec la couche réseau pour obtenir un service globalement fiable. 112 a) Types de service de la couche réseau Type A : service fiable, taux d’erreurs signalées faible Type B : taux d’erreurs non signalées faible, mais taux d’erreurs signalées importants → la couche transport doit prévoir une reprise sur erreur. Type C : taux des deux types d’erreurs trop élevé → la couche transport doit compenser (réseau sans connexion au niveau réseau) b) Classes de services au niveau de la couche transport Classe 0 : la plus simple → établissement de connexion et transfert avec segmentation Classe 1 : en plus reprise sur erreurs, déconnexion et données express Classe 2 : en plus multiplexage, contrôle de flux ; en moins reprise sur erreurs Classe 3 : classe 1 et 2 Classe 4 : en plus détection et reprise sur erreurs non signalées (réseaux locaux) Service de transport Connexion, transfert de données normales, segmentation Déconnexion, transfert de données express Contrôle de flux, multiplexage Récupération sur erreurs Détection d’erreurs Classe 0 Classe 2 Classe 3 Classe 4 Classe 1 Réseau de type B Réseau de type C Réseau de type B niveau de service réseau Réseau de type A 113 8.2.6) Exemples de services et de protocoles Phase ou service Etablissement de connexion Transfert de données normales - Transfert de données express Libération de connexion - Sans connexion - CR CC DR DC DT >ED AK EA RJ ER UD 114 Nom de la primitive du service T_CONNECT_request : demande de connexion T_CONNECT_indication : indication de connexion T_CONNECT_response : réponse de connexion T_CONNECT_confirm : confirmation de connexion T_DATA_request : demande d’envoi de données normales T_DATA_indication : indication de réception données normales T_EXPEDITED_DATA_request : indication d’envoi de données express T_EXPEDITED_DATA_indication : indication de réception de données express T_DISCONNECT_request : demande de déconnexion T_DISCONNECT_indication : indication de déconnexion T_UNIT_DATA_request : demande d’envoi de données T_UNIT_DATA_indication : indication de réception données Nom Demande d’établissement d’une connexion de transport Confirmation de l’établissement de la connexion Demande de déconnexion Confirmation de déconnexion Transfert de données Données express Accusé de réception Accusé de réception des données express Rejet Erreur de protocole TPDU invalide Transfert de données hors connexion Paramètres - Adresse appelée Adresse appelante Option de transfert de données express Qualité de service Données utilisateur (<32 octets) - Données utilisateur - Données utilisateur (<16 octets) - Raison de la déconnexion Données utilisateur - Adresse appelée Adresse appelante Qualité de service Données utilisateur - Paramètres Références, classes de services, crédit, adresses, taille des blocs Classes 0124+3 Données ≤ 32 octets Références, classe de service, crédit 01234 ≤ 32 octets Références, causes 01234 Aucune Références 1234 ≤ 64 octets Références, numéro de séquence, contrôle d’erreur, indication de fin Références, numéro Références, prochain numéro, crédit Références, numéro 01234 longueur négociée 1234 1234 1234 ≤ 16 octets Aucune Aucune Références Références, cause, répétition 13 01234 Aucune Références longueur non spécifiée T_CONNECT_request Repos pas de connexion en cours T_DISCONNECT Connexion demandée vers l’extérieur T_CONNECT_indication T_DISCONNECT T_DISCONNECT T_CONNECT_confirm Connexion demandée par l’extérieur T_CONNECT_response Transfert de données T_DATA T_EXPEDITED_DATA Utilisateur Prestataire de service transport Utilisateur T_CONNECT_ request CR T_CONNECT_ indication CC T_CONNECT_ confirm T_CONNECT_ response Figure 24 : Ouverture de connexion en classe 2 (Service réseau fiable). Utilisateur Prestataire de service transport Utilisateur T_CONNECT_ request CR T_CONNECT_ indication CC T_CONNECT_ confirm T_CONNECT_ response AK Figure 25 : Ouverture de connexion en classe 4 (Service réseau non fiable). 115 8.3) Service de transport d’Internet 8.3.1) Présentation Le service Transport d’Internet est lié à l’ensemble des protocoles TCP/IP (qui constitue la base réseau d'Internet). Initialement, ces protocoles sont issus du DARPA (Defense Advanced Research Projects Agency) qui a mis au point vers 1970 un ensemble de protocoles pour relier la plupart des centres de recherches aux USA et dans le monde. La forme actuelle de TCP/IP a été définie vers 1979. Définis pour des connexions de type WAN, ces protocoles peuvent aussi être utilisés en interne à une entreprise ou une administration. Ces protocoles sont en fait des normes de communication (indépendants des matériels). Ceci permet une adaptation aisée quelle que soit la machine utilisée. Pour l’utilisateur, ils sont masqués par des programmes d'application qui permettent de communiquer plus aisément (courrier électronique, transfert de fichiers, connexion à distance). Ils sont inclus à UNIX 4 BSD (Berkeley Software Distribution), avec des utilitaires de communication. L’implémentation est basées sur les "sockets" (extrémités de connexion...), mécanisme généralisant les entrées-sorties sous UNIX. L'IAB (Internet Activities Board créé en 1983 restructuré en 89) coordonne les évolutions d'Internet. Après restructuration, il a deux activités : - IRTF (Internet Research Task Force), - IETF (Internet Engineering TF). Le NIC (Network Information Center) gère les informations au sujet d’Internet (distribution de documents électroniques, détails administratifs). Les RFC (Request For Comments) comprennent les normes, les projets de normes (Draft Internet), et un certain nombre de remarques (un peu folklorique pour certaines) numérotés dans l'ordre chronologique de leur apparition. Les IEN (Internet Engineering Notes) plus synthétiques sont plus utilisées. On peut obtenir tous ces documents par courrier électronique ou par FTP. En France, l’INRIA relaie un certain nombre de fonctions du NIC. TCP comprend deux services principaux : - remise de paquets en mode sans connexion : rapide, peu fiable → UDP - service de transport fiable : gestion de la connexion → TCP ainsi que des fonctionnalités supplémentaires liées aux applications. 8.3.2) Protocole de Datagramme utilisateur (UDP) UDP assure les mécanismes de base permettant d'envoyer des datagrammes isolés. 116 Il permet de distinguer plusieurs applications destination sur une même machine. Il utilise IP pour le transfert du datagramme. UDP ne gère ni erreur ni contrôle de flux ni accusé de réception : c’est donc un service non fiable (comme IP). UDP est très efficace sur des réseaux locaux (protocole léger), les couches supérieures devant gérer les erreurs. Il n’est pas utilisé sur des liaisons longue distance avec routage car il n’assure pas une fiabilité suffisante. La répartition des messages à l'intérieur des machines se fait par des ports. Ceci permet de prendre en compte l'aspect multiprocess des S.E. Chaque application précise sur une machine possède un numéro de port associé (un entier). La communication s'effectue de machine à machine mais aussi de port à port. Chaque message contient le numéro IP mais aussi le numéro de port. Exemple : une machine utilise le service x d'une autre machine, elle passe alors ses messages de demande de service à un port numéroté i associé au service x. Chaque port possède des tampons (ou file d'attente) d'entrée et de sortie pour désynchroniser les échanges. Structure du datagramme UDP : entête UDP Numéro de port source + données IP Numéro de port destination Longueur du message UDP Total de contrôle UDP ........IP....... Le total de contrôle est réalisé en incluant des données IP (les adresses) (en violation du principe des couches) Adresses IP + 17 + longueur UDP (Complément à un de la somme des compléments à un) Décimal 0 7 9 11 13 15 17 19 37 42 43 53 67 68 Internet – ECHO DISCARD USERS DAYTIME – QUOTE CHARGEN TIME NAMESERVER NICNAME DOMAIN BOOTPS BOOTPC Unix – echo discard systat daytime netstat qotd chargen time name whois nameserver bootps bootpc Réservé Echo Détruire Utilisateurs actifs Horodate Qui est actif, ou Netstat Fuseau horaire Générateur de caractères Heure Machine serveur de noms Qui-est-ce ? Serveur de noms de domaine Serveur de protocole d’amorce Client de protocole d’amorce 117 69 111 123 161 162 512 513 514 525 Transfert de fichiers simple RPC de SUN Microsystems Protocole d’horloge réseau Moniteur d’administration de réseau SNMP Trappes SNMP Communications satellites Unix Démon Unix who Journalisation système Démon d’horodate tftp sunrpc ntp snmp snmp-trap biff who syslog timed TFTP SUNRPC NTP – – – – – – Tableau 15 : Exemple de ports UDP réservés qui présente les mots clés Internet standard et les équivalents Unix les plus courants. La liste n’est pas exhaustive. Les protocoles qui offrent des services identiques utilisent le même numéro de port UDP, ce qui permet des extensions. 8.3.3) Transport fiable en mode connecté TCP a) Généralités TCP (Transport Control Protocol) est le service fiable associé au protocole IP (non fiable). Il peut être considéré indépendamment (équivalent au TP-4 de l'ISO). TCP est adapté au transfert d'un grand nombre de données entre deux machines : avec correction des éventuelles erreurs qui statistiquement auront certainement lieu lors d'un échange important. Il permet de ne pas recommencer tout le transfert en cas d'un échec, comme ce serait le cas avec IP. TCP est un ensemble de normes ou protocoles (ce n'est pas un logiciel). Il ne spécifie que le fonctionnement et non l'interface des fonctions, ceci reste du domaine du S.E. car il y a utilisation des fonctions d'E/S de celui-ci. Cette souplesse de programmation permet à TCP d’être utilisé sur la plupart des machines. TCP est un service de remise fiable, il travaille donc en mode connecté. TCP établit une connexion bidirectionnelle simultanée entre deux machines. b) Structure du segment TCP 0 4 8 Port source 16 24 31 Port destination Numéro de séquence Numéro d’accusé de réception Lgr_entête Réservé Bits de code Fenêtre Total de contrôle Pointeur d’urgence Otions (éventuelles) Bourrage Données … Figure 26 : Format du segment TCP. Les champs Port source et Port destination contiennent les numéros de port TCP qui identifient les programmes d’application des extrémités de la connexion. Le Numéro de 118 séquence donne la position du segment dans le flux de l’émetteur, et le Numéro d’accusé de réception indique le numéro du prochain octet attendu par le récepteur. Il faut remarquer que le numéro de séquence fait référence au flot qui s’écoule dans le même sens que le segment, tandis que le numéro d’accusé de réception fait référence au flot de sens contraire. Lgr_entête représente la longueur de l’entête (x 32 bits). Fenêtre est la taille du tampon de réception. Bits de code est le contenu du segment. c) Propriétés du service de remise fiable TCP a une orientation connexion avec création de circuits virtuels : - il y a vérification avant l'échange que tout est en place pour transmettre, - pendant échange, il y a un suivi de la communication toujours pour vérification. Les programmes d'application voient la liaison comme une liaison physique continue et fiable. Il y a désynchronisation des échanges : Les données à transférer ou reçues sont mises dans des buffers. L’application ne s'occupe pas de la taille véritable des données qui transitent. TCP n’assure aucune structuration des données : c’est aux couches supérieures (présentation) de structurer les données. Ceci permet aux logiciels d'application de retrouver un formatage correct. La connexion est bidirectionnelle simultanée : - full-duplex - les accusés de réception peuvent être superposés aux données (piggybacking). d) Fonctionnement de TCP TCP utilise aussi des ports pour réaliser l'interface avec l'application. Chaque extrémité de la connexion est un port (un sur chaque machine). Les ports sont repérés par des numéros qui sont des nombres entiers (comme UDP). Un même port peut être utilisé par plusieurs applications (ou connexions). Plusieurs machines peuvent accéder à un même service via le même port, les différentes connexions sont différenciées par une des deux extrémités qui doit (peut) être différente. Décimal 0 1 5 7 9 11 13 15 17 19 20 21 23 25 37 42 43 53 77 79 93 95 Internet – TCPMUX RJE ECHO DISCARD USERS DAYTIME – QUOTE CHARGEN FTP–DATA FTP TELNET SMTP TIME NAMESERVER NICNAME DOMAIN – FINGER DCP SUPDUP Unix – – – echo discard systat daytime netstat qotd chargen ftp–data ftp telnet smtp time name whois nameserver rje finger – supdup Réservé Multiplexeur TCP Soumission de travaux à distance Echo Détruire Utilisateurs actifs Horodate Programmes d’état du réseau Fuseau horaire Générateur de caractères Protocole de transfert de fichiers (données) Protocole de transfert de fichiers Connexion en mode terminal Protocole simple de transfert de courrier Heure Machine serveur de noms Qui-est-ce ? Serveur de noms de domaine Service privé de soumission de travaux à distance De qui s’agit–il ? Protocole de contrôle de périphérique Protocole SUPDUP 119 101 102 103 104 111 113 117 119 129 139 160–223 HOSTNAME ISO_TSAP X.400 X.400–SND SUNRPC AUTH UUCP_PATH NNTP PWDGEN NETBIOS–SSN – hostnames iso–tsap X.400 X.400-snd sunrpc auth uucp–path nntp – – – Serveur de noms NIC ISO_TSAP Service de courrier X.400 Emission de courrier X.400 RPC de SUN Microsystems Service d’authentification Service de chemin UUCP Protocole de transfert de nouvelles USENET Protocole de génération de mot de passe Service de session NETBIOS Réservé Tableau 16 : Exemples de valeurs de numéros de port réservées. Pour permettre les extensions futures, des protocoles comme UDP utilisent les mêmes numéros de port. e) Mise en œuvre du service fiable de transmission de données Ouverture d'une connexion TCP : Avant l'ouverture d'une connexion, les programmes d'application doivent être d'accord et prévenir chacun la machine hôte afin d'autoriser la connexion. Sur la machine "réceptrice" en fait l'une des deux machines, il y a une ouverture dite passive (affectation d'un port TCP à l'application) en attente de réception d'une demande de la part du demandeur. Sur l'autre machine, il y a ouverture active (affectation d'un numéro de port) et demande de connexion. Etablissement d’une connexion : Libération d’une connexion TCP : SYN SYN + ACK FIN ouverture passive ACK FIN + ACK ACK Emetteur demande fermeture connexion ACK Récepteur demande Emetteur demande Récepteur demande Transmission de données : La suite d’octets à transmettre est divisée en segments (1 segment ~ un datagramme). Trois fonctions principales sont à réaliser pour assurer la transmission fiable des données : - le contrôle de flux, - la gestion des paquets perdus, - le contrôle de l’intégrité des données. En ce qui concerne le contrôle de l’intégrité, la principale technique utilisée est celle des accusés de réception avec retransmission si négatif. Ceci nécessite que les segments soient numérotés. 120 / Réinitialisation Début Fermé Ouverture passive Fermer Ouverture active / syn Écoute syn / Syn + ack Émission / syn Réinitialisation Fermer / temporisation syn / syn + ack SYN reçu SYN émis Réinitialisation ack syn + ack / ack Connexion établie Fermer / fin Fermer / fin Attente Fermer Fermer / fin Fin Attente 1 fin / ack Fermer en cours ack / fin-ack/ack ack / Fin Attente 2 fin / ack Tempo expirée Dernier ACK ack / La temporisation expire après 2 durées de vie de segment Figure 27: Automate à nombre d'états finis de TCP. Chaque extrémité de connexion commence dans l'état fermé. Les noms associés aux transitions indiquent l'événement cause de la transition ou la réponse correspondante éventuelle. * Contrôle du flux : Plusieurs mises en oeuvre sont possibles : - envoi1 - attente accusé1 - accusé1 - envoi2..... - Fenêtre glissante (fenêtre d'anticipation) : envoi1 - envoi2 - envoi3 - attente accusé123... Le choix pour TCP est la gestion d’une fenêtre glissante : 10 11 12 13 14 15 16 17 18 19 20 21 Acquitté Transmis A transmettre Pour la fenêtre d'émission, trois pointeurs sont à gérer : 121 données émises mais non acquittés, données en cours d'émission, données restant à émettre. Le mécanisme de fenêtre glissante permet de répondre à deux aspects du protocole : - l'efficacité de la transmission, le débit est important du fait de l'anticipation - le contrôle du flux, il peut être réglé car la taille de mémoire encore disponible peut être envoyée en retour. Pour cela le mécanisme agit au niveau de l'octet et non du segment, ceci procure plus de souplesse. La taille de la fenêtre d’anticipation peut être variable. Ceci permet d’ajuster le débit de l’émetteur à celui du récepteur. En effet, les accusés de réception contiennent la taille de la fenêtre de réception (nombre d’octets libres). Si cette taille augmente alors on peut augmenter la taille de la fenêtre de l’émetteur. Si la fenêtre de réception diminue alors il faut réduire celle de l’émetteur. Cette modification a lieu lors des glissements. * Gestion des paquets perdus. La gestion des paquets perdus est réalisée par l’émetteur à l’aide des accusés de réception de paquets envoyés qui ne lui sont pas parvenus. Pour cela l’émetteur doit décider à partir de quel délai un paquet non suivi d’un accusé de réception doit être considéré comme perdu. Cette valeur de la temporisation de retransmission nécessite de connaître approximativement le temps de transit entre les deux machines en communication. Ce temps de transit aller-retour est appelé RTT. La valeur de RTT est mise à jour de manière adaptative : RTT = k (old RTT) + (1-k) (RTT mesuré) Ce calcul peut être fait avec l’algorithme de Karn où il y a non prise en compte des segments retransmis. * Congestion dans TCP. La mise en oeuvre des méthodes précédentes peut conduire dans certains cas à des problèmes de congestion. Si la trafic augmente, alors les délais augmentent, donc le nombre de retransmission augmente, donc le trafic augmente… Ceci conduit à un collapsus congestif. Plusieurs solutions sont envisageables : - TCP diminue le débit d’émission par des messages ICMP issus d’un routeur. Algorithme de démarrage lent et de diminution dichotomique : on utilise une dissymétrie de méthode pour le calcul de l’accroissement et de la réduction du trafic. Lors de la perte d’un datagramme : la fenêtre de congestion est divisée par 2, Lors d’un accusé bon (ACK OK) reçu : la fenêtre de congestion est augmentée d’un. 122 Congestion Fenêtre normale L’intérêt de cette méthode est que lors d’un début de congestion, il y a une décroissance rapide du trafic, puis le débit augmente doucement, évitant une recongestion rapide. * syndrome de la fenêtre stupide (Silly window syndrome) Pour les applications lisant ou écrivant caractère par caractère, il peut y avoir augmentation du nombre de segments transmis avec un seul octet de donnée utile. On instaure alors un nombre minima de données reçues avant un ACK et un groupage pour l’écriture. Rappel : Orientation des datagrammes Datagrammes : ARP RARP IP « BOOTP » ICMP EGP IP : UDP TCP (suivant le type de l’en–tête) Protocole BOOTP. Protocole en remplacement de RARP pour déterminer au démarrage l'adresse IP d'une machine sans disque. BOOTPO utilise des adressages spéciaux IP. 8.4) Format du paquet IP 0 4 8 16 24 31 Version Lg_ent Type de service Longueur totale Identification Flags Dép. Fragment Durée de vie Protocole Total de contrôle d’entête Adresse IP source Adresse IP destination Otions IP (éventuelles) Bourrage Données … Figure 28 : Format du paquet (datagramme) IP. 123 8.5) Format du paquet IPX 1er octet 2ème octet 3ème octet 4ème octet 1 Checksum Longueur du paquet 2 Nombre de sauts Type du paquet Réseau destination 3 Réseau destination (suite) Nœud destinataire 4 Nœud destinataire (suite) 5 Socket destinataire Réseau origine 6 Réseau origine (suite) Nœud origine 7 Nœud origine (suite) 8 Socket origine Entête protocole suivant - données 9, 10, SDU – Données utilisateur 11, Figure 29 : Format du paquet IPX. Les champs du paquet IPX sont les suivants : - Un checksum sur 2 octets contrôle l’intégrité des 30 octets de l’en-tête IP uniquement. Ce champ n‘est pas utilisé par Netware pour des raisons d’efficacité. IPX le force à FF FF, - La longueur du paquet IPX en octets, en-tête compris, - le champ Nombre de sauts (appelé Transport Control) est mis initialement à zéro par la source. Il est incrémenté dans chaque routeur. S’il atteint la valeur 16, le paquet est jeté, ceci afin d’éviter les boucles. - Type du paquet indique le protocole destinataire. C’est un SAP. Les valeurs sont :0 pour incoonu,(le paquet sera délivré à SAP ou RIP), 1 pour RIP, 4 pour IPX (ce qui permet l’encapsulation IPX dans IPX, ce qui est utile en particulier pour les mobiles), 5 pour SPX, 17 pour NCP ou SAP… - les champs adresse source et destination. 8.6) Les sockets UNIX Les E/S UNIX sont basées sur un principe (paradigme) Ouvrir-lire-écrire-fermer. TCP/IP pourrait fonctionner avec ce principe sur un fichier /dev/tcp. Mais cette mise en œuvre ne répond pas parfaitement à tous les cas de communication par réseaux locaux (attente de connexion, ou mise en œuvre active de connexion, destination variable pour deux datagrammes successifs). D'où l'introduction d'un nouveau concept : les tubes nommés (sockets). C’est une généralisation des accès aux fichiers. L'ouverture d'un socket (avec attribution d'un numéro) se fait sans y attribuer une adresse spécifique comme pour les fichiers. Ensuite l'application peut associer une adresse spécifique ou la préciser à chaque fois. Création : numéro_socket = socket(af, type, protocole) af : famille de protocole (ex : AF_INET pour TCP/IP) type : type de communication souhaité (ex : service de remise fiable SOCK_STREAM) protocole : protocole particulier parmi af. Simulation des tubes : socketpair(af, type, protocol, stab) communication aux deux bouts (communication réseau virtuelle) 124 héritage des sockets : à l'aide de fork (se répliquer) et de exec (exécuter la copie), la nouvelle copie hérite de tous les sockets ouverts. Il doit donc y avoir un compteur de référence associé à chaque socket pour ne pas le fermer avant la disparition de toutes les copies. close(socket) : décrémentation du compteur associé au socket. spécification de l'adresse locale : bind (socket, adresse-locale,longueur adresse) connexion à une adresse destination : connect(socket, adr destination, longueur adr) adresse : structure sockaddr émission d'information : write(socket, tampon,longueur) writev(socket,vecteur_E/S, lgr_vecteur) send(socket, message, longueur , drapeaux) sendto socket, message, longueur , drapeaux, adresse destination,lgr_adresse) sendmsg(socket, struct_message,drapeaux) réception d'information : read readv recv(socket, tampon, longueur, drapeaux) recvfrom(socket, tampon, longueur, drapeaux,adr_source,lgr_adresse) recvmsg getpeername : détermination de l'adresse du pair (extrémité distante) getpeername(socket, adr-destination,lgr-adresse) getsockname(socket, adrlocale, long_adr) adresse locale associée au socket. getsockopt, setsockopt, listen, setdomainname, getdomainname. accept, select, gethostname, sethostname, 125 Chapitre 9 : Couche Application 9.1) Composition Cette couche regroupe les différentes applications qui vont utiliser les fonctionnalités d’un réseau. Il est évident que l’on ne peut dresser une liste exhaustive de ces applications. Certaines applications sont néanmoins présentes quel que soit le type de réseau : partage de fichiers, messagerie, navigateur Internet, etc. Nous allons donc présenter dans la suite quelques applications typiques utilisées couramment avec des réseaux de machines UNIX. Dans un système d’exploitation multi-tâches multi-utilisateurs, comme UNIX, chaque application est constituée de plusieurs types de fichiers et de commandes : • des commandes standard (accessibles directement par l’utilisateur), • des commandes réservées à l’administrateur, • des programmes qui « tournent » en permanence en tâche de fond (démons ou daemons en anglais), • des fichiers de configuration pour ces démons, • des fichiers de commandes pour lancer plus facilement l’application. BOS (Basic Operating system) Démon Fichiers de configuration Applications Schéma de fonctionnement des applications. L’étude d’une application pourra se faire à plusieurs niveaux suivant l’utilisateur : • étude des commandes uniquement pour un simple utilisateur • étude plus complète pour les gestionnaires du réseau. 9.2) Application TCP/IP 9.2.1) Interface TCP/IP Les fonctions TCP/IP sont plutôt relatives aux couches 3 et 4 (respectivement couches réseau et transport), donc inaccessibles par l’utilisateur. En fait, en plus des fonctions de gestion et de surveillance relatives aux couches basses et qui sont accessibles par l’utilisateur, TCP/IP fournit aussi un environnement de communication pour échanger des informations et se connecter sur des machines distantes. 127 9.2.2) Commandes pour l’utilisateur final a) Commandes d'affichage d'informations ping : affiche l'état du réseau ou d'un hôte éloigné. La commande ping permet de faire un test des liaisons physiques en restant à un niveau bas. Elle consiste à réaliser l'échange de paquets de données et à faire des statistiques sur le temps de transfert et les erreurs rencontrées. host : affiche le nom d'un hôte connaissant son numéro Internet, ou l'inverse. whois : affiche des informations complémentaires sur un utilisateur. Cette commande permet d'obtenir l'ID utilisateur ainsi que les surnoms (nickname). finger : affiche les informations sur les utilisateurs connectés à une machine. rwho : affiche quels sont les utilisateurs connectés à un hôte. b) Commandes d'exécution ou de connexion à distance telnet : connexion sur un hôte éloigné (TELNET interface). rlogin : connexion transparente avec un hôte éloigné. ftp : transfert de fichiers avec un hôte éloigné. tftp : transfert de fichiers avec un hôte éloigné (protocole TFTP). rcp : transfert de fichiers entre deux hôtes éloignés. rsh : exécute une commande sur un hôte éloigné. rexec : exécute une commande spécifique sur un hôte éloigné (avec mot de passe). c) Commande de communication à distance talk : permet de communiquer interactivement avec un autre utilisateur via le clavier et l'écran. 9.2.3) Commandes pour l'utilisateur privilégié (non exhaustives) netstat : affiche l'état du réseau. lsnamsv : affiche les services de noms disponibles dans la base de données. lsprtsv : affiche les services d'impression disponible dans la base de données. arp : affiche les tables de transformations adresses physique-adresses Internet. ruptime : affiche l'état de chaque hôte sur le réseau. 128 9.2.4) Démons inetd : fournit les fonctions de base de gestion du réseau. Inetd regroupe plusieurs démons qui sont lancés lors d'un appel à des fonctions de communications. gated : permet le routage des informations entre deux machines, il définit le cheminement des messages. named : permet de résoudre (réaliser une correspondance entre un nom et une adresse) les noms des machines dans un domaine donné. routed : gère les tables de routage. syslogd : gère les messages système. timed : gestion de l'heure. Fingerd, ftpd, rexecd, rlogind, rshd, rwhod, talkd, telnetd, tftpd fournissent les fonctionnalités pour les commandes équivalentes. 9.2.5) Fichiers de configuration pour les démons TCP/IP Ils sont situés principalement dans les répertoires /etc et /var/adm. Ils servent à définir le mode de fonctionnement des démons, ainsi qu'à apporter les informations nécessaires à leur fonctionnement. gated.conf : fichier de configuration pour le démon gated. inetd.conf : fichier de configuration de inetd. resolv.conf : fichier de configuration pour la résolution des adresses. named.boot : fichier de configuration de DNS, initialisation du nom de domaine. 9.2.6) Fichiers de commande (exécutable) Ce sont des fichiers textes qui regroupent toutes les commandes à lancer au moment du boot (démarrage de la machine). Ils lancent en particulier tous les démons nécessaires. rc.net : configuration de l'interface réseau. rc.tcpip : mise en route des démons TCP/IP. 9.3) Application NFS 9.3.1) Présentation NFS (Network File System) permet de gérer les partages de ressources entre machine (disque, impression, etc.). NFS fournit principalement des services qui permettent un accès à des fichiers et à des répertoires sur d'autres machines, aussi simplement que s'ils étaient locaux. La machine 129 sur laquelle sont les fichiers les exporte (elle a une fonction de serveur). Les machines utilisatrices sont appelées client. Ce concept dit de client-serveur s'applique à un grand nombre d'applications (X11, NFS, NIS...). Il est à la base de toute l'informatique partagée. Client Serveur Fichiers Relation Client-Serveur. NFS (initialement produit par SUN) est indépendant du type de machine, de réseau et de système d'exploitation. Il existe par exemple sur PC sous DOS (PC-NFS) ou même sous Windows. 9.3.2) Fonctionnement NFS utilise principalement RPC (Remote Procedure CalI) RPC est une bibliothèque de fonctions qui permettent de faire exécuter par une machine un processus défini dans une autre machine. Les échanges se font par XDR (eXternal Data Representation) qui standardise les formats des données échangées. Les autres fonctions sont assurées par des appels à des fonctions TCP/IP. Les fonctions principales de NFS sont : • l'exportation de fichiers (côté serveur). Un serveur possède une liste de fichiers (ou systèmes de fichiers) exportés, c'est à dire qui ont l'autorisation d'utilisation par une autre machine. La liste des fichiers exportable est contenue dans le fichier /etc/exports. L'exportation est réalisée par la commande /etc/exportfs. On peut obtenir à un instant donné la liste des fichiers exportés dans /etc/xtab. • le montage de fichiers (côté client). Une machine cliente doit pouvoir accéder de manière transparente à certains fichiers situés sur d'autres machines. Elle doit réaliser une opération de montage de ces fichiers sur un répertoire local. Client (local) Serveur Montage Répertoire exporté Schéma de montage d'un système de fichiers. Le montage est effectué par la commande mount (démontage par umount). La liste des fichiers prédéfinis est dans /etc/filesystems. 130 La liste des fichiers montés à un instant donné est dans /etc/mtab ou /etc/fstab. Toutes les opérations d'exportation et de montage sont initialisées au démarrage dans le fichier /etc/rc.nfs. 9.3.3) Démons et autres commandes a) Démons démons serveur: rpc. mountd, nfsd, démon client: biod, démon de liaison entre l'application et le serveur: portmap, démon de statistiques ! : rstatd, liste des utilisateurs: /usr/etc/rpc.ruserd, connexion avec un PC: /etc/rpc. pcnfsd, montage automatique: automount. b) Commandes rup : affiche l'état d'un hôte, nfsstat : affiche les statistiques sur les échanges NFS pour une machine, rpcinfo : statut des échanges par RPC, showmount : affiche la liste des clients NFS, rusers : donne la liste des utilisateurs du réseau, rwall : envoi de message à tous les utilisateurs, spray: envoi d'un certain nombre de paquets à un hôte. c) Fichiers de configuration ethers: liste des adresses Ethernet, netgroup : liste des groupes sur un réseau, networks : information sur le réseau, 9.4) Application NIS 9.4.1) Présentation NIS (Network Information Service) est une application développée par SUN (sous le nom de yellow pages, en fait propriété d'ATT). Elle permet au sein d'un réseau de partager des informations sur les utilisateurs de telle manière qu'elles soient communes pour toutes les machines du réseau. Ces informations partagées sont, par exemple, les mots de passe, les répertoires de connexion, etc. NIS complète les fonctionnalités de NFS relativement au partage des ressources pour les utilisateurs. 9.4.2) Constitution Le principe de fonctionnement est identique à celui de NFS. Il est basé sur une relation client-serveur. Il consiste à partager pour toutes les machines les mêmes fichiers de configuration. Par exemple, en ce qui concerne les mots de passe, le fichier /etc/passwd du serveur NIS est transmis à toutes les autres machines qui l'utilisent en complément de celui de la machine locale. Ceci permet à un utilisateur de se connecter de la même manière sur toutes les machines. Cette fonctionnalité est essentielle dans un réseau de 131 stations (sous UNIX) où toutes les machines peuvent être clients et serveurs en même temps. Pour accroître la fiabilité d'un tel fonctionnement, il peut exister des serveurs NIS esclaves qui relaient la machine serveur maître lors d'interruptions ou de surcharges momentanées. Les informations partagées se trouvent dans des fichiers temporaires appelés tables (map). Ces tables sont communes à un ensemble de machines rassemblées dans un domaine. Un domaine comprend donc un serveur maître, éventuellement plusieurs serveurs esclaves si nécessaire, et des clients. 9.4.3) Démons et commandes a) Démons ypbind : démon client, ypserv : affiche les informations sur les tables (fichiers de configuration) NIS, yppasswdd : gère les mots de passe. b) Commandes domainname : affiche le nom du domaine NIS, lsmaster : affiche les caractéristiques du serveur NIS, ypcat : affiche les tables NIS, yppasswd : change le mot de passe pour un utilisateur (pour NIS), ypwhich : identifie le serveur utilisé. 9.5) Application DNS Une autre catégorie d’adresses peut être utilisée. Ce sont les adresses basées sur la syntaxe DNS (Domain Name Service). On les retrouve au niveau Application pour de nombreux logiciels (messagerie, ftp...). Elles ont l’avantage d’être littérales et hiérarchiques, elles permettent de définir rapidement la localisation ou le type d’activité du site. Format : [email protected] Exemple : [email protected] L’extension peut être soit un pays, soit un type de trafic (surtout aux USA). com : entreprise et association edu : université gov : gouvernement mil : militaire int : organisation internationale net : site réseau d’importance majeure org : le reste fr : nl : uk : 132 France Nollande United Kingdom (Royaume de Grande Bretagne...) L’adresse peut représenter une personne mais plus généralement aussi une machine ou un ensemble d’entités. La recherche de l’adresse IP à partir de cette adresse littérale se fait par un mécanisme de résolution de nom. Pour chaque niveau et pour chaque point de l’arbre, une machine doit connaître toutes les adresses inférieures. La résolution se fait ainsi par aiguillage. Chaque machine gère aussi une mémoire cache pour retrouver rapidement les sites les plus demandés. Les adresses WEB sont basées sur le même principe avec un en-tête différent : http ://www.univ-orleans.fr, par exemple. 9.6) Application Mail 9.6.1) Présentation Mail fournit un ensemble d'utilitaires permettant d'envoyer et de recevoir des messages personnels à tout moment. Cette application gère une boite aux lettres pour chaque utilisateur. Mail fonctionne indépendamment de tout protocole, c'est à dire que l'on peut recevoir des messages provenant de n'importe quelle machine, même si elle ne travaille pas sous UNIX. Il existe plusieurs types de messages: message simple, message secret, message de vacances ! Mail ne permet de transmettre correctement que des messages ASCII standard. En effet, les accents et autres caractères spéciaux sont implémentés différemment suivant les machines. Des protocoles spécifiques (MIME) ont du être développés pour permettre la transmission des caractères spéciaux. Pour transmettre un message il est nécessaire de connaître l'adresse électronique (mél) de son correspondant. Elle est composée d'un nom de personne suivi, si nécessaire, d'un nom de machine (séparé par @). Si le correspondant n'est pas local, un nom de réseau est aussi ajouté. Exemple : mail leger : envoie un message à l'utilisateur local leger, mail leger@mailhost : envoie un message à l'utilisateur leger sur mailhost, mail [email protected] : envoie un message à l'utilisateur leger du lesi de l'Université d'Orléans de France. 9.6.2) Fonctionnement Le schéma ci-dessous décrit les différentes étapes pour transmettre un message d'un utilisateur à un autre. Le fonctionnement d'une messagerie s'apparente totalement à celui de PTT, avec tous les services envisageables. 133 éditeur User 1 Machine 3 Send Receive ~user2/mbox (ou mailbox) machine4 /var/spool/mail/user2 User 2 Machine 4 .forward Machine5 /var/spool/mail/user2 Schéma de fonctionnement de la messagerie Mail. Sous UNIX, l'application Mail est appelée par la commande mail. Elle fournit toutes les fonctionnalités pour l'envoi et la réception des messages. Certains fichiers de configuration peuvent être utilisés : .forward : redirection des messages, .mailrc : liste d'envoi, alias, sendmaiLcf: configuration pour l'envoi des messages. Les messages sont stockés : − dans /usr/spool/mail/nom-utilisateur avant lecture, − dans le fichier ./mbox après sauvegarde, − dans dead.letter si ils ne sont pas transmis. Il faut noter que sous les environnements Windows, de nombreuses applications fournissent des interfaces utilisateurs plus conviviales à utiliser que la commande texte UNIX mail. 134 Chapitre 10 : Bibliographie Liste de sites Internet ayant trait aux réseaux informatiques 10.1) Organismes de normalisation ou organismes officiels (Souvent points de départ vers beaucoup d’autres sites) 10.1.1) World Wide Web Consortium http://www.w3.org/ : http://www.w3.org:8001/nnsc.nsf:210/internet-rfcs? : les RFCs sur TCP/IP http://www.w3.org:8001/nnsc.nsf:210/internet-drafts? : les drafts !! http://www.w3.org:8001/nnsc.nsf:210/ietf-documents?: les documents de l’IETF !!! http://www.w3.org/hypertext/DataSources/Archives/RFC_sites.html : Nearest server http://www.w3.org/hypertext/DataSources/ByAccess.html : listes de sites http://www.inria.fr : relai européen du W3C 10.1.2) L’Internet Society NIC http://www.internic.net ds.internic.net : pour télécharger les RFC par FTP gopher://nic.merit.edu/ (Merit Information) gopher://ietf.CNRI.Reston.va.us/ (Internet Society) 10.1.3) ITU (International Telecommunication Union / CCITT http://www.itu.ch http://www.itu.int gopher://info.itu.ch (gopher) 10.1.4) ISO (International Standard Organisation) http://www.iso.ch 10.1.5) Institut of Electrical and Electronics Engineers http://www.ieee.org/ http://www.ieee.org /db/status/index.html/ : pour commander des standards : ex 802 10.1.6) ATM Forum http://www.atmforum.com 10.2) Autres sites généraux International mobile satellite organisation http://www.inmarsat.fr 10.2.1) INRIA (Institut National Recherche en Informatique et Automatique http://www.inria.fr 135 10.3) Entreprises spécialisées dans les domaines Télécom-Réseaux France Telecom : Indigo : http://www.francetelecom.fr http://www.indigo-net.com/fr/lmr298.htm 10.4) Entreprises de fabrication de produits réseaux http://www.sps.mot.com http://www.3com.com http://www.allayer.com http://www.galileoT.com http://www.icube.com http://www.mmcnet.com http://www.netcom.com http://www.pmc-sierra.bc.ca http://www.ti.com/sc http://www.vertex-networks.com (Motorola) (3COM Corporation) (Allayer Technologies Corp) (Galileo Technology) (I-Cube) (MMC Networks) (Network and communication consulting ?) (PMC-Sierra) (Texas Instruments : page réseau) (Vertex Networks bien sur) 10.5) Entreprises de commercialisation de produits réseaux Catalogue et commandes INMAC (lent) : Catalogue Transtec : Catalogue BlackBox : Catalogue Misco : http://www.inmac.fr http://www.transtec.fr http://www.blackbox.fr http://www.blackbox.com (USA) http://www.hcsmisco.fr http://www.misco.de http://www.globalcomputer.com (USA) 10.6) Cours ou sites à vocation pédagogique cell-relay.indiana.edu (gopher) : réseaux haut débit gopher.urec.edu (unité réseaux du CNRS) http://www.research.att.com/biblio.html (bibliographie) http///wwwhost.ots.utexas.edu/ethernet/ethernet.home.html 10.7) Autres 10.8) http://www.vlib.org 136 Virtual library Chapitre 11 : Glossaire Actif/passif – Dans les applications à boucle de courant, un équipement capable de fournir le courant pour la boucle est "actif"; un équipement qui doit s'alimenter sur l'équipement connecté est "passif". Adresse – Désignation unique de l'emplacement de données ou identité d'un équipement intelligent; chaque équipement sur une même ligne de communication peut répondre à son propre message, Analogique – Mode de transmission dans lequel les données sont représentées par un signal électrique variant en continu. Voir Numérique. ANSI (American National Standards Institute) – Principal organe de standardisation aux Etats– Unis. L'ANSI est un organisme non gouvernemental, sans but lucratif, soutenu par des organisations commerciales, des associations professionnelles et l'industrie– Elle est le membre américain de l'lS0 (lnternational Standards Organisation). API (Application Program Interface) – Ensemble d'appels logiciels et de routines formalisés qui peuvent être utilisés par une application en vue d'accéder à des services de réseau sous–jacents. APPC (Advanced Peer–to–Peer Communications) – Architecture de réseau ® définie par IBM , spécifiée comme présentant des fondions d'interaction de programmes de haut niveau sur une base d'égal à égal. Appel sélectif – Technique de communication qui détermine quand un terminal est prêt à envoyer des données. L'ordinateur interroge continuellement tous les terminaux connectés tour à tour. Le terminal ne répond à celle interrogation que s'il a des données à envoyer. ® AppleTalk – Standard de réseau informatique ® propre à Apple Computer pour la connexion ® d'ordinateurs Macintosh et d'autres périphériques, en particulier les imprimantes ® Laserwriter , ce réseau fonctionne à 230 kbits/s. Arbre – Topologie de réseau local qui ne reconnait qu'une seule roule entre deux nœuds du réseau. Le schéma ressemble à un arbre ou à la lettre T. Architecture de réseau – Ensemble de principes conceptuels, comprenant l'organisation des fondions et la description des formats de données et des procédures; base pour la conception et la mise en œuvre d'un réseau (ISO). ARP (Address Resolution Protocol) – Processus TCP/IP (Transmission Control Protocol/lnternet Protocol) qui fait correspondre les adresses IP et les adresses Ethernet; requis par TCP/IP pour utiliser Ethernet. ARPA (Advanced Research Projects Agency) – Organisme qui a développé le premier grand réseau à commutation de paquets; opère dans le cadre du Département américain de la Défense. ARQ (Automatic Request for Retransmission) – Fonction de communication dans laquelle le récepteur demande à l'émetteur de renvoyer un bloc ou une trame, généralement en raison d'erreurs détectées par le récepteur. ASCII (American Standard Code for Information Interchange) – Code binaire composé de 7 bits de données plus 1 bit pour la parité ou les symboles spéciaux; code défini par l'ANSI pour assurer la compatibilité entre les services de données. Asynchrone – Mode de transmission dans lequel les intervalles entre les caractères transmis peuvent être de longueur irrégulière. La transmission est contrôlée par des bits "start" et "stop" au début et à la fin de chaque caractère. Voir Synchrone. Bande passante – Plage de fréquences disponibles pour la transmission de signaux; différence entre la fréquence la plus élevée et la fréquence la plus basse d'une bande, mesurée en Hertz. Baud – Unité de débit de transmission des signaux. Le débit en bauds est le nombre de changements de ligne (en fréquence, amplitude, etc.) ou d’événements par seconde. A de faibles débits, chaque événement représente uniquement l'état d'un bit et le débit en bauds est donc équivalent au nombre de bps (bits par seconde). A mesure que le débit augmente, chaque événement représente plus qu'un bit, si bien que le débit en bauds n'est pas tout à fait équivalent au nombre de bits/s. Baudot – Code de transmission de données dans lequel un caractère est représenté par cinq bits. L'inversion lettres/chiffres permet de représenter 64 caractères alphanumériques. Le code Baudot est utilisé dans de nombreux systèmes de téléscripteurs, avec l'addition d'un bit de début et 1,5 bit d'arrêt. ® Bell 212 – Spécification AT&T d'une transmission de données full–duplex, asynchrone ou synchrone, à1200 bits/s, pour le réseau téléphonique public. Bell 43401 – Publication AT&T qui définit les exigences pour la transmission de données sur les circuits métalliques privés de longueur limitée fournis par l'entreprise de téléphone. Bisynchrone (BSC) – Protocole de communication IBM orienté octet ou caractère qui est devenu un standard. Ce protocole utilise un ensemble défini de caractères de contrôle pour la transmission synchronisée de données en code 137 binaire entre les stations d'un système de communication de données. Bit (Binary Digit) – La plus petite unité d'information dans un système binaire; un étal "1" ou "0". Bit de parité – Bit qui est mis à "0" ou à "1" dans un caractère de sorte que le nombre total de bits "1" dans le champ de données soit pair ou impair, selon la convention choisie. Bit Error Rate/Block Error Rate Testing (BERT/BLERT) – Technique de détection d'erreurs qui compare une structure de données reçue avec une structure de données transmise connue pour déterminer la qualité de la ligne de transmission. Blindage – Couverture protectrice d'un câble qui élimine les interférences électromagnétiques et radioélectriques. Boucle de courant – Méthode d'interconnexion de terminaux et de transmission de signaux; un état actif ("1" binaire) est représenté par la présence de courant sur la ligne; un espace ("0" binaire) est représenté par l'absence de courant. Buffer – Unité de stockage temporaire utilisée pour compenser une différence de débit et de flux de données entre deux équipements (généralement un ordinateur et une imprimante) ; on dit également spooler. Câblage croisé – Configuration de câblage qui permet à deux DTE ou à deux DCE de communiquer entre eux. CCITT (Comité Consultatif International Télégraphique et Téléphonique) – Association internationale qui définit des standards de communication au niveau mondial (par exemple V.21, V.22 et X.25). Le CCITT a été remplacé par l'UIT. Central – Bâtiment dans lequel les opérateurs publics font aboutir les circuits utilisateurs. Chaîne – Processus composé d'une série de "threads". Cheval de Troie – Programme ou données qui semblent inoffensives lorsqu'elles sont chargées dans un système ou un réseau mais qui facilitent ensuite une attaque par un pirate ou un virus. Codage Manchester – Technique de codage numérique spécifiée pour le standard de réseau en bande de base Ethernet IEEE. Chaque période de bit est divisée en deux moitiés complémentaires; une transition (changement de tension) négatif–positif au milieu de la période désigne un "1" binaire, tandis qu'une transition positif–négatif représente un "0". Cette technique de codage permet également à l'équipement récepteur de récupérer l'horloge dans le train de données entrant (self–clocking). Conditionnement – Ajout d'équipements à une ligne louée de qualité voix pour que celle–ci réponde aux spécifications requises pour une transmission de données. Contention – Fonction fournie par le réseau commuté ou par un auto–commutateur privé pour permettre à plusieurs terminaux de se partager un 138 nombre restreint de ports d'ordinateurs selon le principe du "premier arrivé, premier servi". Contrôle de flux – Procédure organisant le flux des données entre deux équipements. Elle évite la perte de données lorsque le buffer d'un équipement parvient à saturation. Contrôle de parité – Ajout de bits de contrôle pour former un bloc de transmission dans lequel le nombre total de1 est toujours pair (parité paire) ou impair (parité impaire) ; cette technique permet de détecter des erreurs de transmission. Couche de liaison – Couche 2 du modèle de référence OSI, également appelée couche de liaison de données. Couche réseau – Couche 3 du modèle OSI j entité de réseau logique qui sert la couche de transport; cette couche doit garantir le routage et la transmission sur le réseau des données qu'elle reçoit de la couche de transport. Couche d'application – La plus haute couche dans la structure en sept couches du modèle OSI ; elle contient tous les programmes utilisateurs ou d'application; dans l'architecture ® SNA d'lBM SNA, c'est la couche de l'utilisateur final. CRC (Cyclic Redundancy Check) – Mécanisme élémentaire de contrôle d'erreurs pour les transmissions de , données au niveau d'une liaison; fonction caractéristique des protocoles de transmission de données (généralement) orientés bit. L'intégrité des données d'une trame ou d'un paquet reçu est vérifiée selon un algorithme polynomial basé sur le contenu de la trame, puis est comparée au résultat de la même opération effectuée par l'émetteur, résultat qui est inclus dans un champ (généralement de 16 bits) annexé à la trame. Croisé – Se dit d'un conducteur qui se connecte à un numéro de broche différent à chaque extrémité du câble. CSMA/CD (Carrier Sense Multiple Access/Collision Detection) – Méthode d'accès en réseau local dans laquelle la contention entre deux ou plusieurs stations est résolue par la détection de collision : lorsque deux stations transmettent en même temps, elles s'arrêtent toutes deux et signalent qu'une collision s'est produite. Chacune réessaie ensuite après avoir attendu pendant un laps de temps prédéterminé, généralemenl de quelques micro–secondes. CSU (Channel Service Unit) – DCE numérique utilisé pour terminer des circuits numériques (comme des lignes DDS ou T1) chez le client. DCE (Data Communications Equipment) – Equipement fournissant les fonctions requises pour établir, maintenir et mettre fin à une connexion de transmission de données, par exemple un modem. DDD (Direct Distance Dialing) – Service téléphonique en Amérique du Nord qui permet à un abonné d'appeler d'autres abonnés en dehors de la zone d'appel locale sans l'aide d'un opérateur. ® DDS (Dataphone Digital Service) – Service de communication AT&T dans lequel des données sont transmises sous une forme numérique plutôt qu'analogique. DSR (Data Set Ready) – Signal de contrôle de l'interface modem RS–232 qui indique que le terminal est prêt à transmettre. DSU (Digital Service Unit) – Interface entre l'équipement terminal de données (DTE) d'un utilisateur et un service de données numériques, généralemenl par le biais d'un CSU. DTE (Data Terminal Equipment) – Equipement opérant comme source de données et/ou collecteur de données. DTMF (Dual Tone Multiple Frequency) – Fréquence de signalisation audio sur les appareils téléphoniques à touches. EBCDIC (Extended Binary Coded Decimal Interchange Code) – Code de caractères 8 bits ® utilisé dans les équipements IBM . Ce code permet 256 structures binaires différentes. EIA (Electronic Industries Association) – Organisme de standardisation américain spécialisé dans les caractéristiques électriques et fonctionnelles des équipements d'interface. EIA.485 – Standard recommandé par l'EIA et spécifiant les caractéristiques électriques des générateurs et des récepteurs dans les systèmes numériques multipoints. Eliminateur de modems – Equipement utilisé pour connecter un terminal local et un port d'ordinateur en lieu et place des deux modems qui seraient normalement requis ; cet équipement permet des connexions de données et de contrôle de DTE à DTE qui sont difficiles à réaliser avec des câbles et des connecteurs standards. Emulation – Imitation totale ou partielle d'un système informatique par une combinaison de matériels et logiciels, permettant à des systèmes incompatibles de fonctionner ensemble. EPROM (Erasable Programmable Read Only Memory) – PROM non volatile qui peut être effacée et réutilisée par une exposition à une source intense de lumière ultraviolette. Espace – Absence de signal. Dans les communications télégraphiques, un espace représente un état ouvert ou l'absence de courant. Cet état est équivalent à un "0" binaire. Etablissement de liaison – Echange de signaux prédéterminés entre deux équipements pour établir une connexion. Cet échange fait généralement partie d'un protocole de communication. Faux modem – Equipement qui connecte directement deux DTE en émulant la connexion physique d'un DCE. Filtrage électromagnétique et radioélectrique (EMI/RFI) – Protection contre le "bruit de fond" qui pourrait altérer ou détruire les données transmises. Full Duplex (FDX) – Transmission simultanée, indépendante, sur deux voies dans les deux directions. Half Duplex (HDX) – Transmission dans un sens ou dans l'autre, mais pas simultanément. HDLC (High–Level Data Link Control) – Protocole de communication standard international défini par l'ISO. Horloge – Terme désignant la ou les sources des signaux de synchronisation utilisés dans une transmission synchrone. Plus généralement: la ou les sources de synchronisation d'événements électroniques. IEEE (Institute of Electrical and Electronic Engineers) – Organisme professionnel international qui émet ses propres standards et est membre de l'ANSI et de l'ISO. Intégrité des données – Mesure de performance basée sur le taux d'erreurs non détectées. Interface – Limite commune définie par des caractéristiques physiques communes d'interconnexion, des caractéristiques de signal et la signification des signaux échangés. Inversion de ligne – Inversion du sens de transmission lorsque la transmission utilise un circuit half–duplex. ISO – International Standards Organisation. Large bande – Canal de communication offrant une plus large bande passante qu'une ligne de qualité voix et potentiellement capable d'offrir des débits de transmission plus élevés. LED (Light Emitting Diode) – Source lumineuse à semi–conducteurs qui convertit les signaux électriques en une lumière visible ou en des rayonnements infrarouges invisibles. Liaison composite – Ligne ou circuit reliant une paire de multiplexeurs ou de concentrateurs ; circuit transportant des données multiplexées. Ligne chargée – Une ligne téléphonique équipée de bobines de charge pour ajouter de l'inductance en vue de minimiser la distorsion d'amplitude. Ligne commutée – Liaison de communication dans laquelle le chemin physique peut varier à chaque utilisation, comme dans le réseau téléphonique public. Ligne de jonction – Circuit téléphonique dédié reliant deux centres de commutation, centraux ou concentrateurs de données. Se dit aussi du câble principal d'un réseau. Ligne de qualité voix – Canal capable de transporter les signaux aux fréquences vocales. Ligne locale/Boucle locale – Canal reliant l'équipement de l'abonné à l'équipement de terminaison de ligne dans le central. Il s'agit généralement d'un circuit métallique à 2 ou 4 fils). Ligne louée – Ligne téléphonique réservée à l'usage exclusif du locataire, sans dispositifs de commutation entre centraux. On dit également ligne spécialisée ou privée. Ligne multipoint – Ligne ou circuit de communication unique interconnectant plusieurs stations; celle ligne exige généralement un mécanisme d'appel sélectif pour accéder à chaque terminal connecté au moyen d'une adresse unique. 139 LLC (Logical Link Control) – Protocole développé par le comité IEEE 802 pour le contrôle de transmission au niveau de la liaison de données; sous–couche supérieure de la couche 2 IEEE (OSI) (complément du protocole MAC); standard IEEE 802.2; inclut l'adressage "end– syslem" et le contrôle d'erreurs. LU 6.2 – Dans SNA, ensemble de protocoles assurant une communication d'égal à égal entre les applications. MAC (Media Access Control) – Protocole de contrôle d'accès spécifique au support, défini dans le cadre des spécifications IEEE 802; ce protocole comporte actuellement des variantes pour Token Ring, bus à jeton et CSMA/CD; sous– couche inférieure de la couche de liaison IEEE (OSI), complément du protocole LLC (Logical Link Conlrol). Mainframe – Gros système informatique pouvant englober un vaste ensemble de logiciels et plusieurs périphériques. MAP (Manufactvring Automation Protocol) – Ensemble de protocoles de réseau créés par ® General Molors , MRP suit les sept couches du modèle OSI. Mémoire morte (ROM) – Puces de mémoire contenant des données ou du logiciel. Mémoire vive (RAM) – Mémoire de lecture/écriture volatile à base de semi– conducteurs. Les données stockées sont perdues en cas de coupure de l’alimentation en courant. Microprogramme – Programme informatique ou logiciel stocké en permanence en PROM ou en ROM, ou de manière semi–permanente en EPROM. Modem (Modulateur/Démodulateur) – Equipement utilisé pour convertir les données numériques série reçues d'un terminal émetteur en un signal analogique à transmettre sur une ligne téléphonique, ou pour reconvertir le signal analogique transmis en données numériques série pour le terminal récepteur. Modulation de phase – Une des trois façons de modifier un signal sinusoïdal pour lui faire "parler" des informations. La phase de l'onde sinusoïdale ou "porteuse" est modifiée selon les informations à transmettre. Multiplexage statistique – Technique de multiplexage dans laquelle la bande passante est allouée dynamiquement en fonction des besoins. Multiplexage temporel (TOM) – Transmission de plusieurs voies sur une seule ligne de transmission par la connexion alternée des terminaux à intervalles réguliers; les bits (Bit TOM) ou les caractères (Character TOM) des différents terminaux sont donc entrelacés dans le même train binaire. Multiplexeur de fréquence (FDM) – Equipement qui subdivise la plage de fréquences de transmission disponibles en plus petites unités, utilisées chacune pour un canal séparé. Multiplexeur – Equipement qui divise un moyen de transmission en deux ou plusieurs sous– 140 canaux, soit en fractionnant la bande de fréquences en bandes plus étroites (multiplexage de fréquence), soit en allouant un canal commun à plusieurs équipements différents tour à tour (multiplexage temporel). Nœud – Point d'interconnexion sur un réseau. Normalement, point auquel un certain nombre de terminaux ou de circuits en cascade se connectent au réseau. NRZ (Non Return to Zero) – Mode de transmission binaire dans lequel il n'y a pas de retour à l'état neutre après l'envoi de chaque bit. Numérique – Mode de transmission dans lequel les données sont codées sous la forme d'un 1 ou 0 binaire ; voir Analogique. Octet – Forme la plus répandue du "multiplet" (unité d'information généralement plus courte qu'un "mot" d'ordinateur). Un octet se compose de huit bits. Opérateur public – Entreprise privée fournissant des services de communication au public. Ordinateur frontal – Ordinateur conçu jour le contrôle des communications avec un ordinateur central (mainframe). PAO (Packet Assembler Disassembler) – Interface entre un terminal ou ordinateur et un réseau à commutation de paquets. Paquet – Groupe de bits (comprenant des signaux de données et de contrôle d'appel) transmis à la fois sur un réseau à commutation de paquets. Un paquet est généralement plus petit qu'un bloc de transmission. Parallèle – Mode de transmission dans lequel un certain nombre de bits sont émis simultanément sur des lignes séparées (par exemple, 8 bits sur 8 lignes). Cette transmission est généralement unidirectionnelle. Parité paire – Méthode de vérification de données pour terminal "non Intelligent" dans laquelle chaque caractère doit avoir un nombre pair de bits à l'état "1". Partage de temps (Time Sharing) – Mode de fonctionnement des ordinateurs qui permet à plusieurs terminaux interactifs d'utiliser un même ordinateur. Les terminaux sont servis séquentiellement, mais le débit élevé de l'ordinateur donne l'impression que tous les terminaux sont servis simultanément. Point à point (liaison) – Connexion entre deux et seulement deux équipements. PROM (Programmable Read Only Memory) – Mémoire non volatile où des données ou programmes sont stockés en permanence. Voir Volatile. Protocole – Ensemble formel de conventions régissant le formatage et la synchronisation relative de l'échange de messages entre deux systèmes qui communiquent. Pseudo modem – Equipement DCE qui amplifie un signal de données pour le transmettre sur des distances de câble supérieures à la limite de 15 mètres du RS–232, et jusqu'à plusieurs kilomètres. Rebouclage – Type de diagnostic dans lequel le signal émis est renvoyé à l'émetteur après avoir traversé tout ou partie de la liaison ou du réseau de communication. Le rebouclage permet de comparer le signal renvoyé avec le signal émis. Réseau local (LAN) – Système de communication de données limité à une zone géographique restreinte (jusqu'à 10 kilomètres environ) et utilisant des débits moyens élevés (de 100 kbits/s à 50 Mbits/s). La zone servie peut être un simple bâtiment, un complexe de bâtiments ou un "campus". Le réseau utilise une forme de commutation et n'emploie pas les circuits des opérateurs publics, mais peut contenir des passerelles ou des ponts vers d'autres réseaux publics ou privés. Réseau public commuté (PSTN) – Tout système de communication à commutation, Télex, TWX ou réseaux téléphoniques publics offrant à ses clients un service de commutation de circuit. Réseau – Groupe de nœuds interconnectés; ensemble de points, nœuds ou stations connectés par des canaux de communication; ensemble de l'équipement par lequel les connexions entre les stations de données sont réalisées. RS–232 – Standard d'interface FIA entre DTE et DCE, utilisant un échange de données binaires série. C'est l'interface la plus courante en informatique. RS–422, 423 – Standard d'interface FIA qui porte les vitesses de transmission et les distances au– delà des spécifications RS–232/V.24. RS–422 est un système à tension équilibrée offrant une grande immunité au bruit; le RS–423 est la version non équilibrée. RS–449 – Interface FIA à usage général, 37 broches et 9 broches, pour DCE et DCE, reposant sur un échange de données binaires série. RS–485 – Interface équilibrée similaire au RS– 422 mais utilisant des circuits à trois états pour les applications multipoints. SDLC (Synchronous Data Link Control) – ® Protocole standard IBM , qui remplace le bisynchrone (BSC). Série – Mode de transmission le plus courant: les bits d'information sont envoyés séquentiellement sur un seul canal de données. Signal de caractère – Présence d'un signal. Dans une communication télégraphique, un signal de caractère représente l'état fermé, ou le passage du courant. Cet état est équivalent à un "1" binaire. STX (Start of Text) – Caractère de contrôle utilisé pour indiquer le début d'un message; il suit immédiatement l'en–tête dans les blocs de transmission. Surtension – Une tension excessive fournie par le distributeur d'électricité, pouvant durer plusieurs secondes. Une surtension importante peut endommager les équipements électroniques. Synchrone – Mode de transmission dans lequel les bits de données sont envoyés à un débit fixe, l'émetteur et le récepteur étant synchronisés. La transmission synchronisée élimine la nécessité de bits de début et d'arrêt. Voir Asynchrone. Temps de réponse – (1) Temps écoulé entre la fin d'un message et le début de la réponse; ce temps comprend les délais des terminaux et du réseau; (2) rapidité avec laquelle un para– surtenseur répond aux surtensions; également appelé "temps d’écrêtage". Tension d’écrêtage – Niveau de tension prédéfini auquel un circuit d’écrêtage (nivellement d'amplitude) s'active. Thread – (1) Instruction ou série d'instructions constituant une opération ou un processus complet qui ne peut pas être interrompu. (2) Série de messages liés dans une conversation en ligne. Topologie de réseau – Relation physique et logique entre les nœuds d'un réseau; schéma d'organisation des liaisons et des nœuds d'un réseau; les réseaux utilisent généralement une topologie en étoile, en anneau, en arbre ou en bus, ou une combinaison de ces topologies. Transitoire – Changement de tension brusque et de courte durée, par exemple, une brève impulsion provoquée par l'actionnement d'un commutateur. UIT (Union Internationale des Télécommunications) – Organisme qui a remplacé le CCITT. V.24 – Recommandation d'interface CCITT (UIT) qui définit des circuits d'échange; le V.24 est similaire et compatible avec RS–232. V.35 – Standard CCITT (UIT) régissant la "transmission de données à 48 kbits/s sur circuits 60–108 kHz". Volatile – Se dit d'un support de stockage qui perd toutes ses données lorsque le courant est coupé. Voir PROM. X–ON/X–OFF (Transmitter On/Transmitter Off) – Caractères de contrôle utilisés pour le contrôle de flux, invitant un terminal à commencer (X–ON) et à terminer une transmission (X–OFF). X.21 – Standard CCITT (UIT) régissant l'interface entre un DTE et un DCE pour des transmissions synchrones sur services numériques. X.25 PAD (Voir PAD) – Appareil permettant la communication entre des unités non X.25 et les équipements d'un réseau X.25. X.25 – Standard CCITT (UIT) régissant l'interface entre un DTE et un DCE pour les terminaux fonctionnant en mode paquets sur les services numériques. 141 Table des Matières Chapitre 1 : Présentation _________________________________________________________ 3 1.1) Brève histoire de l’informatique ____________________________________________________ 3 1.1.1) Evolution du paysage informatique________________________________________________________ 3 1.1.2) Evolution des besoins __________________________________________________________________ 4 1.2) Communications des données ______________________________________________________ 4 1.2.1) Liaisons analogiques / numériques ________________________________________________________ 4 1.2.2) Liaisons point à point / bus ______________________________________________________________ 4 1.2.3) Environnement de communication ________________________________________________________ 5 1.3) Fonctions d’un réseau _____________________________________________________________ 5 1.3.1) Communication _______________________________________________________________________ 5 1.3.2) Utilisation de ressources communes _______________________________________________________ 6 1.4) Caractéristiques des réseaux _______________________________________________________ 6 1.4.1) Taille et vitesse des réseaux _____________________________________________________________ 6 1.4.2) Adressage ___________________________________________________________________________ 7 1.4.3) Caractéristiques techniques ______________________________________________________________ 7 1.5) Objectif du cours _________________________________________________________________ 8 Chapitre 2 : Modèles et normalisation _______________________________________________ 9 2.1) Principe d’un modèle en couches____________________________________________________ 9 2.1.1) Définition ___________________________________________________________________________ 9 2.1.2) Modularité ___________________________________________________________________________ 9 2.1.3) Communications verticales ______________________________________________________________ 9 2.1.4) Communications horizontales ___________________________________________________________ 10 2.1.5) Schéma global _______________________________________________________________________ 10 2.1.6) Exemple d’une modélisation en couche : le transport du courrier _______________________________ 10 2.2) Le modèle O.S.I. ________________________________________________________________ 11 2.2.1) Présentation du modèle ________________________________________________________________ 11 2.3) « Modèle » I.E.E.E. du comité 802__________________________________________________ 12 2.3.1) Présentation du modèle ________________________________________________________________ 12 2.3.2) Normalisation de l’I.E.E.E. _____________________________________________________________ 12 2.4) Services et protocoles ____________________________________________________________ 13 2.4.1) Définitions__________________________________________________________________________ 13 2.4.2) Fonctionnement______________________________________________________________________ 13 2.4.3) Action sur les données : encapsulation ____________________________________________________ 17 2.5) Normes et Organismes ___________________________________________________________ 17 2.5.1) Organismes de normalisation ___________________________________________________________ 17 2.5.2) Les organismes de certification __________________________________________________________ 18 2.5.3) Les principales normes ________________________________________________________________ 18 Chapitre 3 : Constitution physique des réseaux locaux : architecture, câblage______________ 21 3.1) Topologie, architecture ___________________________________________________________ 21 3.1.1) Différents types de topologie ___________________________________________________________ 21 3.1.2) Architecture physique et logique_________________________________________________________ 22 3.2) Caractéristiques des réseaux ______________________________________________________ 23 3.2.1) Caractéristiques ______________________________________________________________________ 23 3.2.2) Contraintes de câblage_________________________________________________________________ 23 3.3) Un médium, des Média ___________________________________________________________ 24 3.3.1) Les câbles coaxiaux___________________________________________________________________ 24 3.3.2) Les paires torsadées___________________________________________________________________ 25 3.3.3) Les fibres optiques ___________________________________________________________________ 26 3.3.4) Autres supports possibles ______________________________________________________________ 27 143 3.3.5) Utilisation __________________________________________________________________________ 28 3.4) Eléments passifs_________________________________________________________________ 28 3.4.1) Eléments d’interconnexion _____________________________________________________________ 28 3.4.2) Eléments de terminaison _______________________________________________________________ 29 3.4.3) Connexions optiques __________________________________________________________________ 30 3.5) Les éléments actifs_______________________________________________________________ 30 3.5.1) Carte interface réseau _________________________________________________________________ 30 3.5.2) Transceiver ou MAU (Medium Attachment Unit) ___________________________________________ 30 3.5.3) Concentrateur ou HUB ________________________________________________________________ 31 3.5.4) Commutateur ou Switch _______________________________________________________________ 31 3.5.5) Répéteur ___________________________________________________________________________ 31 3.5.6) Pont ou Bridge_______________________________________________________________________ 32 3.5.7) Routeur ____________________________________________________________________________ 32 3.5.8) Passerelle ou Gateway_________________________________________________________________ 32 3.5.9) Modem ____________________________________________________________________________ 33 3.6) Exemple de câblage ______________________________________________________________ 33 3.7) Les logiciels de gestion de réseaux __________________________________________________ 34 Chapitre 4 : Couche Physique ____________________________________________________ 35 4.1) Fonctions de la couche physique ___________________________________________________ 35 4.1.1) Services ____________________________________________________________________________ 35 4.1.2) Modules fonctionnels _________________________________________________________________ 35 4.1.3) Schéma général ______________________________________________________________________ 35 4.2) Caractéristiques, définitions_______________________________________________________ 37 4.2.1) Source, canal ________________________________________________________________________ 37 4.2.2) Débits _____________________________________________________________________________ 37 4.2.3) Affaiblissement du signal ______________________________________________________________ 37 4.2.4) Rapport Signal/Bruit, taux d’erreur _______________________________________________________ 38 4.2.5) Débit maximum______________________________________________________________________ 39 4.2.6) Liaison synchrone, asynchrone __________________________________________________________ 40 4.2.7) Liaison monodirectionnelle / bi-directionnelle ______________________________________________ 40 4.3) Codage physique ________________________________________________________________ 40 4.3.1) Les codages en bande de base ___________________________________________________________ 40 4.3.2) Codage physique par modulation ________________________________________________________ 46 4.4) Codage logique _________________________________________________________________ 49 4.4.1) Codage logique à longueur variable ______________________________________________________ 49 4.4.2) Codage logique à longueur fixe__________________________________________________________ 49 4.5) Application_____________________________________________________________________ 50 4.5.1) Ethernet ____________________________________________________________________________ 50 4.5.2) Réseau MAP (Token Bus : 802.4)________________________________________________________ 50 4.5.3) TokenRing__________________________________________________________________________ 50 4.5.4) FDDI ______________________________________________________________________________ 51 4.5.5) Réseau Bitbus _______________________________________________________________________ 51 4.5.6) Modem ____________________________________________________________________________ 51 Chapitre 5 : Sous-couche d'Accès au Médium (MAC) _________________________________ 53 5.1) Fonctions et services de la sous-couche MAC_________________________________________ 53 5.1.1) Fonctions ___________________________________________________________________________ 53 5.1.2) Services de la couche MAC ____________________________________________________________ 54 5.2) Adressage physique______________________________________________________________ 54 5.3) Contrôle d'intégrité, détection des erreurs de transmission _____________________________ 55 5.3.1) Taux d'erreur, détection, correction_______________________________________________________ 55 5.3.2) Généralités sur les codes _______________________________________________________________ 56 5.3.3) Parité simple ________________________________________________________________________ 58 5.3.4) Parité transversale et longitudinale _______________________________________________________ 58 5.3.5) Checksum __________________________________________________________________________ 58 144 5.3.6) Code cyclique (CRC : Cyclical Redundancy Check) _________________________________________ 59 5.3.7) Méthodes utilisées dans les réseaux ______________________________________________________ 60 5.4) Contrôle de l'accès, partage du canal _______________________________________________ 60 5.4.1) Classification________________________________________________________________________ 60 5.4.2) Temps de communication ______________________________________________________________ 62 5.5) Normes ________________________________________________________________________ 65 5.5.1) Norme 802.3 ________________________________________________________________________ 65 5.5.2) Norme 802.4 ________________________________________________________________________ 68 5.5.3) Norme 802.5 ________________________________________________________________________ 72 5.5.4) Norme ISO9314 : F.D.D.I. _____________________________________________________________ 76 5.5.5) Réseau DQDB (IEEE 802.6)____________________________________________________________ 80 5.5.6) Réseau ATM et le relais de cellules ______________________________________________________ 81 Chapitre 6 : Sous-couche Liaison Logique __________________________________________ 83 6.1) Généralités _____________________________________________________________________ 83 6.2) Fonctions ou primitives fournies par la couche LLC___________________________________ 84 6.2.1) Protocole de type 1 ___________________________________________________________________ 84 6.2.2) Protocole de type 2 ___________________________________________________________________ 85 6.2.3) Protocole de type 3 ___________________________________________________________________ 88 6.3) Format des L.PDUs______________________________________________________________ 89 Chapitre 7 : Couche Réseau ______________________________________________________ 91 7.1) Généralités. ____________________________________________________________________ 91 7.1.1) Fonctions ___________________________________________________________________________ 91 7.1.2) Services ____________________________________________________________________________ 91 7.2) Les ponts ______________________________________________________________________ 92 7.2.1) Ponts transparents ____________________________________________________________________ 92 7.2.2) Les ponts éloignés ____________________________________________________________________ 96 7.2.3) Pont à routage par la source ____________________________________________________________ 97 7.2.4) Performances________________________________________________________________________ 97 7.3) Adresses de couche réseau ________________________________________________________ 98 7.3.1) Adresses hiérarchiques ________________________________________________________________ 98 7.3.2) Adresses ISO ________________________________________________________________________ 98 7.3.3) Adresses IP (Internet Protocol) __________________________________________________________ 99 7.3.4) Adresses IPv6 ou IPng (New Generation)_________________________________________________ 100 7.3.5) Adresses IPX _______________________________________________________________________ 101 7.3.6) Résolution d’adresse _________________________________________________________________ 101 7.4) Routage en mode sans connexion__________________________________________________ 102 7.4.1) Présentation ________________________________________________________________________ 102 7.4.2) Prise de contact avec les voisins ________________________________________________________ 104 7.4.3) Algorithmes de routage _______________________________________________________________ 107 Chapitre 8 : Couche Transport ___________________________________________________ 111 8.1) Présentation ___________________________________________________________________ 111 8.2) Caractéristiques________________________________________________________________ 111 8.2.1) Transport de bout en bout _____________________________________________________________ 111 8.2.2) Transparence _______________________________________________________________________ 111 8.2.3) Sélection de la qualité de service________________________________________________________ 112 8.2.4) Adressage _________________________________________________________________________ 112 8.2.5) Classes de services normalisées ________________________________________________________ 112 8.2.6) Exemples de services et de protocoles ___________________________________________________ 114 8.3) Service de transport d’Internet ___________________________________________________ 116 8.3.1) Présentation ________________________________________________________________________ 116 8.3.2) Protocole de Datagramme utilisateur (UDP)_______________________________________________ 116 8.3.3) Transport fiable en mode connecté TCP __________________________________________________ 118 8.4) Format du paquet IP____________________________________________________________ 123 145 8.5) Format du paquet IPX __________________________________________________________ 124 8.6) Les sockets UNIX ______________________________________________________________ 124 Chapitre 9 : Couche Application _________________________________________________ 127 9.1) Composition ___________________________________________________________________ 127 9.2) Application TCP/IP_____________________________________________________________ 127 9.2.1) Interface TCP/IP ____________________________________________________________________ 127 9.2.2) Commandes pour l’utilisateur final ______________________________________________________ 128 9.2.3) Commandes pour l'utilisateur privilégié (non exhaustives)____________________________________ 128 9.2.4) Démons ___________________________________________________________________________ 129 9.2.5) Fichiers de configuration pour les démons TCP/IP__________________________________________ 129 9.2.6) Fichiers de commande (exécutable) _____________________________________________________ 129 9.3) Application NFS _______________________________________________________________ 129 9.3.1) Présentation ________________________________________________________________________ 129 9.3.2) Fonctionnement_____________________________________________________________________ 130 9.3.3) Démons et autres commandes __________________________________________________________ 131 9.4) Application NIS ________________________________________________________________ 131 9.4.1) Présentation ________________________________________________________________________ 131 9.4.2) Constitution ________________________________________________________________________ 131 9.4.3) Démons et commandes _______________________________________________________________ 132 9.5) Application DNS _______________________________________________________________ 132 9.6) Application Mail _______________________________________________________________ 133 9.6.1) Présentation ________________________________________________________________________ 133 9.6.2) Fonctionnement_____________________________________________________________________ 133 Chapitre 10 : Bibliographie _____________________________________________________ 135 10.1) Organismes de normalisation ou organismes officiels ________________________________ 135 10.1.1) World Wide Web Consortium_________________________________________________________ 135 10.1.2) L’Internet Society NIC ______________________________________________________________ 135 10.1.3) ITU (International Telecommunication Union / CCITT _____________________________________ 135 10.1.4) ISO (International Standard Organisation) _______________________________________________ 135 10.1.5) Institut of Electrical and Electronics Engineers____________________________________________ 135 10.1.6) ATM Forum ______________________________________________________________________ 135 10.2) Autres sites généraux __________________________________________________________ 135 10.2.1) INRIA (Institut National Recherche en Informatique et Automatique __________________________ 135 10.3) Entreprises spécialisées dans les domaines Télécom-Réseaux _________________________ 136 10.4) Entreprises de fabrication de produits réseaux _____________________________________ 136 10.5) Entreprises de commercialisation de produits réseaux _______________________________ 136 10.6) Cours ou sites à vocation pédagogique ____________________________________________ 136 10.7) Autres _______________________________________________________________________ 136 Chapitre 11 : Glossaire _________________________________________________________ 137 146