Article de reference

Protocole de communication

Un protocole de communication est un système de règles permettant à deux ou plusieurs entités d'un système de communication de transmettre des informations . Le protocole défini...

Un protocole de communication est un système de règles permettant à deux ou plusieurs entités d'un système de communication de transmettre des informations . Le protocole définit les règles, la syntaxe , la sémantique et la synchronisation de la communication , ainsi que les méthodes de récupération d'erreurs possibles . Les protocoles peuvent être implémentés par du matériel , un logiciel ou une combinaison des deux.

Les systèmes de communication utilisent des formats bien définis pour l'échange de messages. Chaque message a une signification précise, conçue pour susciter une réponse parmi un éventail de réponses possibles prédéterminées pour une situation donnée. Le comportement spécifié est généralement indépendant de sa mise en œuvre . Les protocoles de communication doivent faire l'objet d'un accord entre les parties concernées. Pour parvenir à un tel accord, un protocole peut être formalisé en une norme technique . Un langage de programmation décrit la même chose pour les calculs ; il existe donc une analogie étroite entre les protocoles et les langages de programmation : les protocoles sont à la communication ce que les langages de programmation sont aux calculs . Une autre formulation affirme que les protocoles sont à la communication ce que les algorithmes sont au calcul .

Plusieurs protocoles décrivent souvent différents aspects d'une même communication. Un ensemble de protocoles conçus pour fonctionner ensemble est appelé une suite de protocoles ; lorsqu'ils sont implémentés dans un logiciel, on parle de pile de protocoles .

Parmi les protocoles de communication les plus connus figurent ceux liés à Internet , au Web et au courrier électronique, développés et publiés par l' IETF ( Internet Engineering Task Force ) et le W3C (World Wide Web Consortium ). De nombreux protocoles filaires et sans fil sont également bien connus, tels qu'Ethernet, Bluetooth et, bien sûr, les normes de téléphonie mobile . Ces derniers sont principalement gérés par l' IEEE (Institute of Electrical and Electronics Engineers, par exemple, pour Ethernet). L' UIT-T (Union internationale des télécommunications) gère quant à elle les protocoles et formats de télécommunications pour le réseau téléphonique public commuté (RTPC). Avec la convergence du RTPC et d'Internet , de nombreux protocoles tendent à converger. L' ISO ( Organisation internationale de normalisation ) gère de nombreux autres types de protocoles.

Systèmes de communication

Histoire

Le Groupe de travail international sur les réseaux a convenu d'une norme de datagrammes sans connexion , présentée au CCITT en 1975 mais non adoptée par le CCITT ni par l'ARPANET. Des recherches internationales distinctes, notamment les travaux de Rémi Després , ont contribué au développement de la norme X.25 , basée sur les circuits virtuels , qui a été adoptée par le CCITT en 1976. Les fabricants d'ordinateurs ont développé des protocoles propriétaires tels que l'architecture de réseau système (SNA) d'IBM, DECnet de Digital Equipment Corporation et Xerox Network Systems .

Le logiciel TCP a été repensé comme une pile de protocoles modulaire, appelée TCP/IP. Celle-ci a été installée sur SATNET en 1982 et sur ARPANET en janvier 1983. Le développement d'une suite complète de protocoles Internet en 1989, tel que décrit dans les RFC 1122 et RFC 1123 , a jeté les bases de l'essor de TCP/IP en tant que suite de protocoles exhaustive et composant central de l' Internet naissant .

Les travaux internationaux sur un modèle de référence pour les normes de communication ont abouti au modèle OSI , publié en 1984. À la fin des années 1980 et au début des années 1990, ingénieurs, organisations et nations se sont polarisés sur la question de savoir quelle norme , le modèle OSI ou la suite de protocoles Internet, permettrait de créer les réseaux informatiques les plus performants et les plus robustes.

Concept

Les informations échangées entre appareils via un réseau ou tout autre support sont régies par des règles et des conventions définies dans les spécifications des protocoles de communication. La nature de la communication, les données échangées et les comportements dépendants de l'état sont définis par ces spécifications. Dans les systèmes informatiques, ces règles peuvent être exprimées par des algorithmes et des structures de données . Les protocoles sont à la communication ce que les algorithmes ou les langages de programmation sont aux calculs.

Les systèmes d'exploitation comprennent généralement un ensemble de processus coopérants qui manipulent des données partagées pour communiquer entre eux. Cette communication est régie par des protocoles bien définis, qui peuvent être intégrés au code du processus lui-même. En revanche, en l'absence de mémoire partagée , les systèmes communicants doivent utiliser un support de transmission commun . La transmission n'est pas nécessairement fiable et les différents systèmes peuvent utiliser du matériel ou des systèmes d'exploitation différents.

Pour implémenter un protocole réseau, les modules logiciels du protocole sont interfacés avec un framework implémenté sur le système d'exploitation de la machine. Ce framework implémente les fonctionnalités réseau du système d'exploitation. Lorsque les algorithmes du protocole sont exprimés dans un langage de programmation portable, le logiciel du protocole peut être rendu indépendant du système d'exploitation . Les frameworks les plus connus sont le modèle TCP/IP et le modèle OSI .

À l'époque du développement d'Internet, l'architecture par couches d'abstraction s'était révélée une approche de conception efficace pour les compilateurs et les systèmes d'exploitation. Compte tenu des similarités entre les langages de programmation et les protocoles de communication, les programmes réseau monolithiques d'origine ont été décomposés en protocoles coopératifs. Ceci a donné naissance au concept de protocoles en couches, qui constitue aujourd'hui la base de la conception de protocoles.

Les systèmes n'utilisent généralement pas un seul protocole pour gérer une transmission. Ils utilisent plutôt un ensemble de protocoles coopérants, parfois appelés suite de protocoles . Parmi les suites de protocoles les plus connues figurent TCP/IP , IPX/SPX , X.25 , AX.25 et AppleTalk .

Les protocoles peuvent être regroupés par fonctionnalité ; par exemple, il existe un groupe de protocoles de transport . Les fonctionnalités sont associées aux couches, chaque couche résolvant une classe distincte de problèmes liés, par exemple, aux fonctions d’application, de transport, d’Internet et d’interface réseau. Pour transmettre un message, un protocole doit être sélectionné à chaque couche. La sélection du protocole suivant s’effectue en ajoutant au message un sélecteur de protocole pour chaque couche.

Encodage du message

Les protocoles de communication définissent la représentation des messages échangés entre les systèmes communicants. Les méthodes courantes d'encodage des messages utilisent des représentations textuelles ou binaires.

Basé sur le texte

Un protocole textuel ou protocole en texte brut représente ses messages dans un format lisible par l'homme , souvent en texte brut encodé dans un encodage lisible par machine tel que ASCII ou UTF-8 , ou dans des formats textuels structurés tels que le format Intel hex , XML ou JSON .

La lisibilité humaine immédiate contraste avec les représentations binaires des messages, qui présentent des avantages inhérents pour une utilisation dans un environnement informatique (tels que la facilité d' analyse mécanique et une meilleure utilisation de la bande passante ).

Les applications réseau disposent de diverses méthodes d'encapsulation des données. L'une des plus courantes avec les protocoles Internet est une représentation textuelle des messages qui transmet les requêtes et les réponses sous forme de lignes de texte ASCII , terminées par un caractère de nouvelle ligne (et généralement un caractère de retour chariot). Parmi les protocoles utilisant du texte brut lisible par l'humain pour leurs commandes, on peut citer FTP ( File Transfer Protocol ), SMTP ( Simple Mail Transfer Protocol ), les premières versions de HTTP ( Hypertext Transfer Protocol ) et le protocole Finger .

Les représentations textuelles des messages sont généralement plus faciles à inspecter et à interpréter pour les humains et sont donc appropriées chaque fois qu'une inspection humaine du contenu du protocole est requise, par exemple lors du débogage et lors des premières phases de conception du développement du protocole.

Binaire

Un protocole binaire utilise une représentation des messages pouvant exploiter toutes les valeurs d'un octet , contrairement à une représentation textuelle qui se limite aux valeurs correspondant aux caractères d'un encodage tel que l'ASCII ou l'UTF-8 . Les messages binaires sont destinés à être traités par des machines plutôt qu'à être lus directement par des humains. Les protocoles binaires présentent l'avantage de la concision, ce qui se traduit par une rapidité de transmission et d'interprétation.

Les représentations binaires de messages ont été utilisées dans les normes modernes telles que EbXML , HTTP/2 , HTTP/3 et EDOC . Une interface en UML peut également être considérée comme un protocole binaire.

exigences de base

L'acheminement des données sur un réseau ne représente qu'une partie du problème pour un protocole. Les données reçues doivent être évaluées dans le contexte de la conversation ; un protocole doit donc inclure des règles décrivant ce contexte. Ces règles expriment la syntaxe de la communication. D'autres règles déterminent si les données sont pertinentes dans le contexte de l'échange. Ces dernières expriment la sémantique de la communication.

Les messages sont envoyés et reçus sur les systèmes communicants pour établir la communication. Les protocoles doivent donc spécifier les règles régissant la transmission. En général, la plupart des points suivants doivent être abordés :

Formats de données pour l'échange de données
Les chaînes de bits des messages numériques sont échangées. Ces chaînes sont divisées en champs, chacun contenant des informations relatives au protocole. Conceptuellement, la chaîne de bits est divisée en deux parties : l’ en-tête et la charge utile . Le message proprement dit est contenu dans la charge utile. L’en-tête contient les champs nécessaires au fonctionnement du protocole. Les chaînes de bits plus longues que l’ unité de transmission maximale (MTU) sont divisées en segments de taille appropriée.
Formats d'adresses pour l'échange de données
Les adresses servent à identifier l'expéditeur et le ou les destinataires. Elles sont contenues dans l'en-tête des chaînes de bits, permettant ainsi aux destinataires de déterminer si ces chaînes sont pertinentes et doivent être traitées ou ignorées. Une connexion entre un expéditeur et un destinataire peut être identifiée par une paire d'adresses (adresse de l'expéditeur, adresse du destinataire) . Généralement, certaines valeurs d'adresse ont une signification particulière. Une adresse composée uniquement de 1 peut être interprétée comme une adresse couvrant toutes les stations du réseau ; l'envoi à cette adresse équivaut donc à une diffusion sur le réseau local. L'ensemble des règles décrivant la signification des valeurs d'adresse est appelé schéma d'adressage .
Cartographie des adresses
Il arrive que les protocoles doivent faire correspondre des adresses d'un schéma à des adresses d'un autre schéma. Par exemple, pour traduire une adresse IP logique spécifiée par l'application en une adresse MAC Ethernet. On parle alors de correspondance d'adresses .
Routage
Lorsque les systèmes ne sont pas directement connectés, des systèmes intermédiaires situés sur le trajet jusqu'au(x) destinataire(s) prévu(s) doivent acheminer les messages pour le compte de l'expéditeur. Sur Internet, les réseaux sont connectés par des routeurs. L'interconnexion des réseaux via des routeurs est appelée interconnexion de réseaux .
Détection des erreurs de transmission
La détection d'erreurs est nécessaire sur les réseaux où la corruption des données est possible. Dans une approche courante, un CRC de la zone de données est ajouté à la fin des paquets, permettant ainsi au récepteur de détecter les différences dues à la corruption. Le récepteur rejette les paquets présentant des différences de CRC et organise leur retransmission.
Remerciements
La confirmation de la bonne réception des paquets est nécessaire pour la communication orientée connexion . Les accusés de réception sont renvoyés par les récepteurs à leurs expéditeurs respectifs.
Perte d'informations - délais d'attente et nouvelles tentatives
Les paquets peuvent être perdus sur le réseau ou retardés lors de leur transmission. Pour pallier ce problème, certains protocoles exigent que l'émetteur reçoive un accusé de réception de la part du récepteur dans un délai déterminé. Ainsi, en cas de dépassement de ce délai , l'émetteur peut être amené à retransmettre les informations. Si la liaison est définitivement interrompue, la retransmission est sans effet ; le nombre de retransmissions est donc limité. Le dépassement de cette limite est considéré comme une erreur.
Sens du flux d'information
Il est nécessaire de définir la direction de transmission si les transmissions ne peuvent s'effectuer que dans un seul sens à la fois, comme sur les liaisons semi-duplex, ou d'un seul expéditeur à la fois, comme sur un support partagé . C'est ce qu'on appelle le contrôle d'accès au support . Des dispositions doivent être prises pour gérer les cas de collision ou de contention lorsque deux parties transmettent ou souhaitent transmettre simultanément.
Contrôle de séquence
Si de longues chaînes de bits sont divisées en segments puis envoyées individuellement sur le réseau, ces segments peuvent se perdre, être retardés ou, sur certains types de réseaux, emprunter des chemins différents pour atteindre leur destination. Par conséquent, les segments peuvent arriver dans le désordre. Les retransmissions peuvent entraîner la duplication des segments. En marquant les segments avec des informations de séquence à l'émetteur, le récepteur peut déterminer ce qui a été perdu ou dupliqué, demander les retransmissions nécessaires et reconstituer le message original.
Contrôle du débit
Le contrôle de flux est nécessaire lorsque l'émetteur transmet plus rapidement que le récepteur ou l'équipement réseau intermédiaire ne peut traiter les transmissions. Le contrôle de flux peut être mis en œuvre par messagerie du récepteur à l'émetteur.
File d'attente
Les processus communicants ou les machines à états utilisent des files d'attente (ou « tampons »), généralement des files d'attente FIFO, pour traiter les messages dans l'ordre d'envoi, et peuvent parfois avoir plusieurs files d'attente avec une priorisation différente.

Conception du protocole

Les principes de l'ingénierie des systèmes ont été appliqués pour créer un ensemble de principes communs de conception de protocoles réseau. La conception de protocoles complexes implique souvent leur décomposition en protocoles coopératifs plus simples. Un tel ensemble de protocoles coopératifs est parfois appelé famille de protocoles ou suite de protocoles , dans un cadre conceptuel donné.

Les systèmes communicants fonctionnent de manière concurrente. Un aspect important de la programmation concurrente est la synchronisation des logiciels pour la réception et la transmission séquentielles des messages. La programmation concurrente est traditionnellement abordée dans les ouvrages de théorie des systèmes d'exploitation. La vérification formelle semble indispensable car les programmes concurrents sont connus pour les bogues cachés et sophistiqués qu'ils contiennent. Une approche mathématique de l'étude de la concurrence et de la communication est appelée processus séquentiels communicants (CSP). La concurrence peut également être modélisée à l'aide d'automates finis , tels que les machines de Mealy et de Moore. Ces dernières sont utilisées comme outils de conception dans les systèmes électroniques numériques, notamment dans les dispositifs de télécommunications et les appareils électroniques en général.

La littérature présente de nombreuses analogies entre la communication informatique et la programmation. Par analogie, le mécanisme de transfert d'un protocole est comparable à une unité centrale de traitement (CPU). Ce cadre introduit des règles permettant au programmeur de concevoir des protocoles coopératifs indépendamment les uns des autres.

superposition

Figure 2. Protocoles en relation avec le schéma de couches Internet.
Le modèle TCP/IP ou schéma de superposition d'images Internet et sa relation avec certains protocoles courants.

Dans la conception moderne de protocoles, ces derniers sont organisés en couches pour former une pile de protocoles. Le principe de conception par couches consiste à diviser la tâche de conception d'un protocole en étapes plus petites, chacune accomplissant une fonction spécifique et interagissant avec les autres parties du protocole de manière restreinte et bien définie. Cette approche permet de concevoir et de tester les différentes parties d'un protocole sans engendrer une explosion combinatoire de cas, ce qui garantit la simplicité de chaque conception.

Les protocoles de communication utilisés sur Internet sont conçus pour fonctionner dans des environnements divers et complexes. Ils sont conçus pour être simples et modulaires et s'intègrent dans une hiérarchie générale de couches fonctionnelles définies dans la suite de protocoles Internet . Les deux premiers protocoles coopérants, le protocole de contrôle de transmission (TCP) et le protocole Internet (IP), sont issus de la décomposition du protocole de contrôle de transmission original, un protocole de communication monolithique, en cette suite de communication en couches.

Le modèle OSI a été développé à l'échelle internationale sur la base de l'expérience acquise avec les réseaux antérieurs à Internet, comme modèle de référence pour la communication générale, avec des règles d'interaction des protocoles beaucoup plus strictes et une hiérarchisation rigoureuse.

En général, les logiciels d'application reposent sur une couche de transport de données robuste. Cette couche sous-tend un mécanisme de distribution et de routage des datagrammes, généralement sans connexion sur Internet. Le relais des paquets entre les réseaux s'effectue sur une autre couche qui utilise uniquement les technologies de liaison réseau, souvent spécifiques à certaines technologies de la couche physique, comme Ethernet . L'architecture en couches permet d'échanger des technologies au besoin ; par exemple, les protocoles sont souvent empilés dans une structure de tunnelisation pour permettre la connexion de réseaux différents. Ainsi, le protocole IP peut être tunnelé sur un réseau ATM ( Asynchronous Transfer Mode ).

superposition de protocoles

Figure 3. Flux de messages utilisant une suite de protocoles.
Figure 3. Flux de messages utilisant une suite de protocoles. Les boucles noires représentent les boucles de messagerie proprement dites, les boucles rouges représentent la communication effective entre les couches, rendue possible par les couches inférieures.

La structuration en couches de protocoles constitue le fondement de la conception des protocoles. Elle permet de décomposer des protocoles complexes en protocoles coopératifs plus simples. Chaque couche de protocole résout une classe distincte de problèmes de communication. Ensemble, les couches forment un schéma ou un modèle de structuration.

Les calculs font appel à des algorithmes et à des données ; la communication, quant à elle, repose sur des protocoles et des messages ; ainsi, un diagramme de flux de messages est l’équivalent d’un diagramme de flux de données. Pour visualiser l’organisation en couches et les suites de protocoles, la figure 3 présente un diagramme des flux de messages au sein et entre deux systèmes, A et B. Ces deux systèmes utilisent la même suite de protocoles. Les flux verticaux (et les protocoles associés) sont intra-système, tandis que les flux horizontaux (et les protocoles associés) sont inter-systèmes. Les flux de messages sont régis par des règles, et les formats de données sont spécifiés par les protocoles. Les lignes bleues délimitent les couches de protocoles (horizontales).

superposition de logiciels

Figure 5 : Architecture en couches du protocole et du logiciel. Les modules logiciels implémentant les protocoles sont représentés par des cubes. Le flux d’informations entre les modules est représenté par des flèches. Les deux flèches rouges horizontales supérieures sont virtuelles. Les lignes bleues délimitent les couches.

Le logiciel prenant en charge les protocoles possède une organisation en couches, et sa relation avec la superposition des protocoles est illustrée dans la figure 5.

Pour envoyer un message sur le système A, le module logiciel de couche supérieure interagit avec le module situé directement en dessous et lui transmet le message à encapsuler. Le module inférieur renseigne les données d'en-tête conformément au protocole qu'il implémente et interagit avec le module inférieur, qui envoie le message via le canal de communication au module inférieur du système B. Sur le système B destinataire, l'opération inverse se produit, de sorte que le message est finalement livré dans sa forme originale au module de couche supérieure du système B.

La traduction de programmes est divisée en sous-problèmes. Par conséquent, le logiciel de traduction est également structuré en couches, ce qui permet de concevoir les couches logicielles indépendamment. On retrouve la même approche dans l'architecture en couches du protocole TCP/IP.

Les modules situés sous la couche application sont généralement considérés comme faisant partie du système d'exploitation. Le transfert de données entre ces modules est beaucoup moins coûteux que le transfert de données entre un programme d'application et la couche transport. La limite entre la couche application et la couche transport est appelée limite du système d'exploitation.

Superposition stricte

L’application stricte d’un modèle en couches, une pratique connue sous le nom de « couches strictes », n’est pas toujours la meilleure approche pour la mise en réseau. Une couche stricte peut avoir un impact négatif sur les performances d’une implémentation.

Bien que l'utilisation de la couche de protocoles soit aujourd'hui omniprésente dans le domaine des réseaux informatiques, elle a été historiquement critiquée par de nombreux chercheurs car l'abstraction de la pile de protocoles de cette manière peut amener une couche supérieure à dupliquer la fonctionnalité d'une couche inférieure, un exemple principal étant la récupération d'erreurs à la fois au niveau de chaque lien et de bout en bout.

Modèles de conception

Les problèmes récurrents dans la conception et la mise en œuvre des protocoles de communication peuvent être résolus par des modèles de conception logicielle .

Spécification formelle

Les méthodes formelles populaires de description de la syntaxe de communication sont la notation de syntaxe abstraite One (une norme ISO ) et la forme Backus-Naur augmentée (une norme IETF ).

Des modèles de machines à états finis sont utilisés pour décrire formellement les interactions possibles du protocole. et des machines à états finis communicantes

Développement de protocoles

Pour que la communication ait lieu, des protocoles doivent être sélectionnés. Les règles peuvent être exprimées par des algorithmes et des structures de données. L'indépendance vis-à-vis du matériel et du système d'exploitation est renforcée par l'utilisation d'un langage de programmation portable pour exprimer les algorithmes. L'indépendance du code source de la spécification assure une interopérabilité plus large.

Les normes de protocole sont généralement élaborées avec l'approbation ou le soutien d'un organisme de normalisation , qui initie le processus. Les membres de cet organisme s'engagent volontairement à respecter les résultats des travaux. Souvent, ils détiennent d'importantes parts de marché liées au protocole, et dans de nombreux cas, les normes sont imposées par la loi ou les pouvoirs publics car elles sont considérées comme servant un intérêt public majeur ; l'obtention de cette approbation peut donc s'avérer cruciale pour le protocole.

La nécessité de normes de protocole

La nécessité de normes de protocoles peut être illustrée par l'exemple du protocole BSC ( Binary Synchronous Communications ) inventé par IBM . Le BSC est un protocole de liaison ancien utilisé pour connecter deux nœuds distincts. Initialement conçu pour un réseau non multinœud, son utilisation dans ce contexte a révélé plusieurs de ses faiblesses. En l'absence de normalisation, les fabricants et les organisations se sont sentis libres de modifier le protocole, créant ainsi des versions incompatibles sur leurs réseaux. Dans certains cas, cette modification était délibérée afin de dissuader les utilisateurs d'utiliser des équipements d'autres fabricants. Il existe plus de 50 variantes du protocole bi-synchrone original. On peut supposer qu'une norme aurait permis d'éviter au moins une partie de cette situation.

Dans certains cas, des protocoles s'imposent sur le marché sans passer par un processus de normalisation. On les appelle alors des standards de facto . Ces standards sont fréquents sur les marchés émergents, les marchés de niche ou les marchés monopolistiques (ou oligopolistiques ). Ils peuvent exercer une emprise néfaste sur un marché, notamment lorsqu'ils servent à dissuader la concurrence. Historiquement, la normalisation doit être perçue comme une mesure visant à contrer les effets néfastes des standards de facto. Il existe toutefois des exceptions notables : un système d'exploitation comme Linux, qui est un standard de facto, n'exerce pas cette emprise néfaste sur son marché car son code source est publié et maintenu de manière ouverte, favorisant ainsi la concurrence.

organismes de normalisation

Parmi les organismes de normalisation importants pour les protocoles de communication figurent l' Organisation internationale de normalisation (ISO), l' Union internationale des télécommunications (UIT), l' Institute of Electrical and Electronics Engineers (IEEE) et l' Internet Engineering Task Force (IETF). L'IETF gère les protocoles utilisés sur Internet. L'IEEE contrôle de nombreux protocoles logiciels et matériels dans l'industrie électronique, pour les appareils commerciaux et grand public. L'UIT est une organisation faîtière regroupant des ingénieurs en télécommunications qui conçoivent le réseau téléphonique public commuté (RTPC), ainsi que de nombreux systèmes de radiocommunication . Pour l'électronique marine , les normes NMEA sont utilisées. Le World Wide Web Consortium (W3C) élabore des protocoles et des normes pour les technologies Web.

Les organismes internationaux de normalisation sont censés être plus impartiaux que les organismes locaux, qui ont des intérêts nationaux ou commerciaux à défendre. Ces organismes mènent également des activités de recherche et développement pour les normes de demain. En pratique, les organismes de normalisation mentionnés coopèrent étroitement entre eux.

Plusieurs organismes de normalisation peuvent participer à l'élaboration d'un protocole. En l'absence de coordination, il peut en résulter plusieurs définitions incompatibles du protocole, ou plusieurs interprétations incompatibles des messages ; des invariants importants d'une définition (par exemple, la décroissance monotone des valeurs de durée de vie pour éviter les boucles de routage stables ) peuvent ne pas être respectés dans une autre.

Le processus de normalisation

Au sein de l'ISO, le processus de normalisation débute par la mise en place d'un sous-comité de travail. Ce sous-comité diffuse des projets de norme et des documents de discussion aux parties intéressées (y compris d'autres organismes de normalisation) afin de susciter des échanges et des commentaires. Ceci génère de nombreuses questions, des discussions approfondies et généralement quelques désaccords. Ces commentaires sont pris en compte et le sous-comité élabore une proposition . Après intégration des retours d'information, modifications et compromis, la proposition devient un projet de norme internationale , puis une norme internationale . Les normes internationales sont régulièrement mises à jour afin de corriger les lacunes et de refléter l'évolution des points de vue sur le sujet.

Normalisation OSI

L'IETF est aujourd'hui devenue un organisme de normalisation pour les protocoles utilisés sur Internet. Le modèle RM/OSI a été étendu pour inclure les services sans connexion, ce qui a permis le développement des protocoles TCP et IP en normes internationales.

Image filaire

L'ossification des protocoles correspond à la perte de flexibilité, d'extensibilité et d'évolutivité des protocoles réseau . Elle est principalement due aux boîtiers intermédiaires , sensibles à l'interprétation du protocole sur le réseau, qui peuvent interrompre ou interférer avec des messages valides mais qu'ils ne reconnaissent pas correctement. Ceci constitue une violation du principe de bout en bout . Parmi les causes secondaires, on peut citer le manque de flexibilité des implémentations des protocoles au niveau des terminaux.

L'ossification constitue un problème majeur dans la conception et le déploiement des protocoles Internet , car elle peut empêcher le déploiement de nouveaux protocoles ou extensions sur Internet, ou imposer des contraintes à leur conception ; les nouveaux protocoles peuvent devoir être encapsulés dans un protocole déjà déployé ou reproduire l'architecture réseau d'un autre protocole. En raison de l'ossification, le protocole de contrôle de transmission (TCP) et le protocole de datagrammes utilisateur (UDP) sont les seuls choix pratiques pour les protocoles de transport sur Internet, et le TCP lui-même s'est considérablement ossifié, rendant difficile son extension ou sa modification.

Les méthodes recommandées pour prévenir l'ossification comprennent le chiffrement des métadonnées du protocole et la garantie que les points d'extension sont exploités et que la variabilité de l'image du réseau est représentée aussi pleinement que possible . La correction de l'ossification existante nécessite une coordination entre les participants au protocole . QUIC est le premier protocole de transport de l'IETF à avoir été conçu avec des propriétés anti-ossification spécifiques

Taxonomies

Les systèmes de classification des protocoles s'articulent généralement autour de leur domaine d'utilisation et de leur fonction. À titre d'exemple de domaine d'utilisation, les protocoles orientés connexion sont utilisés sur les réseaux orientés connexion, tandis que les protocoles non orientés connexion sont utilisés sur les réseaux non orientés connexion. Un protocole de tunnelisation , quant à lui, sert à encapsuler des paquets dans un protocole de haut niveau afin qu'ils puissent transiter par un système de transport utilisant ce protocole.

Un schéma de couches combine fonction et domaine d'utilisation. Les schémas de couches dominants sont ceux développés par l'IETF et l'ISO. Bien que leurs hypothèses sous-jacentes soient suffisamment différentes pour justifier une distinction, il est courant de les comparer en associant les protocoles communs aux couches respectives. Le schéma de couches de l'IETF est appelé architecture en couches Internet ou architecture TCP/IP . Celui de l'ISO est appelé modèle OSI ou architecture en couches ISO .

Dans la configuration des équipements réseau, une distinction terminologique est souvent établie : le terme « protocole » désigne strictement la couche transport, tandis que le terme « service » désigne les protocoles utilisant un protocole pour le transport. Dans le cas courant de TCP et UDP, les services sont identifiés par des numéros de port. Le respect de ces numéros de port étant facultatif, dans les systèmes d'inspection de contenu, le terme « service » désigne strictement les numéros de port, et le terme « application » est souvent utilisé pour désigner les protocoles identifiés par des signatures d'inspection.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index