Datagramme

Un article de Wikipédia, l'encyclopédie libre.

Un datagramme est un paquet de données transmis avec ses adresses de source et de destination par un réseau de télécommunications (WAN) ou un réseau local (LAN). Un service de datagramme est la variante sans connexion des services de tranmission utilisant la commutation de paquets (l'autre variante, avec connexion, étant un service de circuit virtuel).

Du fait de l'absence de connexion, la transmission est faite en mode best effort (au mieux de ce qui est possible) : le réseau, qui n'exerce pas sur les sources de données un contrôle de flux, ne garantit pas par lui-même un taux de perte de paquets qui soit borné (par exemple, une source qui émet en continu vers un destination dont le débit de réception est deux fois moindre impose que, pour ces données, le réseau ait un taux de perte d'au moins 50 %). Dans la version la plus générale du service de datagramme, celle notamment de l'IP d'Internet[1], le réseau peut livrer les datagrammes dans un ordre différent de celui de leur émission. Il peut aussi, dans certaines circonstances, les dupliquer. La charge de délivrer aux applications qui le nécessitent des données sans perte est alors assurée par un protocole de niveau supérieur, dit protocole de transport, qui réalise un service de circuit virtuel avec garantie de bonne livraison.

Le premier standard de datagramme d'Internet, celui de l'IPv4, a été publié en sa première version en 1980[1]. Le standard d'IPv6, la deuxième génération de datagrammes d'Internet, a été publié en sa première version en 1995[2]. Le standard de TCP, le premier protocole d'Internet pour réaliser de bout en bout des circuits virtuels, a été publié en sa première version en 1980[3].

Histoire[modifier | modifier le code]

En 1964, Paul Baran décrit, dans une série de rapports de la RAND Corporation[4], un réseau militaire conçu pour résister à une attaque nucléaire. Les données, notamment de la voix numérisée, y sont transmises sous forme de «courts messages» dont le format est standardisé. Chaque message comprend, outre les données utiles, une adresse de source et une adresse de destination. Les messages sont propagés de proche en proche par des ordinateurs qui jouent le rôle de nœuds d'un réseau maillé. Pour en sécuriser la réception, ils peuvent être transmis en parallèle sur des routes multiples. Les destinataire suppriment à l'arrivée les messages reçus en double, et remettent les autres dans leur ordre d'origine. Pour la transmission de la voix, les utilisateurs qui ont demandé ce qu'il appelle une connexion virtuelle voient le réseau comme une boîte noire réalisant entre eux une apparente connexion de circuit.

En 1967, Donald Davies publie son article fondateur dans lequel il introduit le terme commutation de paquets (packet switching). Il y décrit un réseau de transmission de données géré par un opérateur de télécommunication (common carrier). Ce réseau achemine des données informatiques entre des ordinateurs utilisateurs, et entre des terminaux en mode caractère et des ordinateurs serveurs[5]. Comme dans le modèle de Paul Baran, mais suite à une invention faite en parallèle au NPL, les données y sont transmises, de proche en proche entre des ordinateurs servant de nœuds d'un réseau maillé, sous forme de paquets indépendants. Chaque paquet comprend une adresse de source et une adresse de destination. Les paquets, pour atteindre au plus vite leur destination, suivent une route susceptible d'évoluer en fonction de la charge du réseau (routage dynamique). L'article suppose que «tous les utilisateurs du réseau se doteront eux-mêmes d'un contrôle d'erreur et que, cela pourrait faire repérer sans difficulté un paquet manquant», sans toutefois indiquer comment.

En mai 1970, Larry Roberts présente le réseau expérimental d'ordinateurs Arpanet, alors en cours de réalisation[6]. Il avait été embauché pour ce projet à l'ARPA (l'agence pour la recherche avancée du Département de la Défense des États-Unis), par Bob Taylor, alors à la tête de l'IPTO (Information Processing Techniques Office). Le cœur du réseau suit le modèle des paquets indépendants de Donald Davies mais, pour que les ordinateurs raccordés n'aient pas à s'adapter par eux-mêmes à un service à taux de perte non négligeable, tâche complexe et aux solutions encore changeantes, le réseau s'en charge. Il applique pour cela un protocole interne, entre nœuds d'entrée et nœuds de sortie des paquets. Ce protocole effectue le nécessaire contôle de flux entre les sources et les destinations, ainsi que les détections de pertes et les retransmissions. Le premier message de l'histoire transmis en mode paquet avait eu lieu lors d'un test d'octobre 1969 : parti du laboratoire à Los Angeles de Leonard Kleinrock, depuis plusieurs années théoricien des files d'attente de paquets[7] et proche de Larry Roberts, il avait été reçu au SRI de Stanford[8].

Début 1973, Halvor Bothner-By crée le mot datagramme pour désigner les paquets autonomes du modèle de Donald Davies[9]. Il le fait dans le cadre de réunions organisées par le rapporteur sur la commutation de paquets à la CEPT. L'objet de ces réunions était d'identifier quels pourraient être des services de réseaux publics en mode paquets, et d'en proposer l'éventuelle standardisation au CCITT. Bothner-By, qui était lui-même rapporteur sur le sujet au CCITT, cherchait un terme aisé à retenir (télégramme de données) pour distinguer le mode sans connexion de l'autre à l'étude, les circuit virtuels.

En mai puis septembre 1973, Louis Pouzin décrit le fonctionnement des commutateurs et les principes généraux du réseau expérimental d'ordinateurs Cyclades inspiré d'Arpanet[10],[11]. Il avait été nommé directeur de ce projet en 1971 par Maurice Allègre, alors à la tête de la Délégation Générale à l'Informatique. L'acheminement des paquets dans le sous-réseau de transmission de Cyclades suit le modèle des datagrammes du cœur d'Arpanet, mais Pouzin choisit d'adopter, pour la première fois en vraie grandeur, l'idée d'origine de Davies : laisser aux ordinateurs utilisateurs le soin de s'adapter à un service de réseau sans contrôle de flux exercé sur les sources (service best effort). Cyclades sera ainsi le premier réseau sur lequel seront expérimentés les protocoles sophistiqués à concevoir pour s'adapter à un réseau à service de datagrammes. Ceci permettra notamment à des ingénieurs ayant participé au projet Cyclades, en particulier Hubert Zimmermann, Gérard Le Lann, Michel Elie, de contribuer activement auprès de Vint Cerf à la conception du premier TCP d'Internet[12],[3].

En juin 1973, l'International Network Working Group (INWG), une extension à l'international du Network Working Group qui avait spécifié les protocoles d'utilisation d'Arpanet, se réunit à New York [13]. La réunion est présidée par Vint Cerf qui en fera le compte rendu. Parmi les huit participants se trouvent Bob Kahn, le supérieur hiérarchique de Vint Cerf à l'ARPA, et deux européens : Hubert Zimmermann de l'équipe Cyclades et Roger Scantlebury du NPL. L'objet de la réunion est de fixer les caractéristiques majeures de ce que sera le protocole d'Internet IP. Un choix crucial y est fait, à savoir qu'aucune variable d'état ne devra être gérée à la frontière entre réseaux, autrement dit que, pour l'interconnexion des réseaux, seule la variante datagramme de la commutation de paquets sera étudiée par l'INWG. Ceci excluait, sans argument technique, l'autre variante, les circuits virtuels. Deux opérateurs de réseaux à datagrammes internes différents seront malgré cela interconnectés avec succès dès 1978 en utilisant à leur frontière le mode circuit virtuel (Datapac au Canada et Telenet aux États-Unis[14]). Mais, si l'on en croit Christian Huitema, l'un de ceux qui ont côtoyé Bob Kahn, celui-ci expliquait volontiers que pour lui Il importe d'étudier ce que font les PTT (...) Et il faut faire ensuite exactement le contraire[15]. L'autre choix entériné ce jour là par l'INWG est que les datagrammes pourront être fragmentés aux frontières entre réseaux. (Il fallait en effet prendre en compte des réseaux aussi divers que des réseaux par satellites, à grands paquets, et des réseaux terrestres par radio, à petits paquets, dont s'occupait personnellement Bob Kahn[16]). Cette fragmentation, une innovation par rapport aux datagrammes de Baran-Davies-Roberts-Pouzin, sera ultérieurement l'objet de vifs débats à l'INWG, mais elle sera maintenue dans l' IP d'Internet sur décision de Bob Kahn[13].

En janvier 1980, IPv4, la première génération de protocole IP d'Internet, est spécifiée dans sa première version[1]. Les datagrammes, fragmentables dans le réseau, peuvent avoir un maximum théorique de 65,535 octets à la source. Ils peuvent être reçus en fragments dont la longueur, imposée par le plus contraignant des sous-réseaux traversés, peut être réduite à 68 octets. Tout ordinateur doit pouvoir par ailleurs accepter (en un ou plusieurs fragments) tout datagramme qui ne dépasse pas 576 octets. Il est donc recommandé de n'émettre un datagramme dépassant cette longueur qu'avec l'assurance que son destinataire peut l'accepter. Un champ type de service est inclus dans chaque datagramme (et reporté le cas échéant dans chacun de ses fragments). L'idée est que chaque réseau intermédiaire pourra un jour en tenir compte dans sa gestion des files d'attente, d'une façon qui reste à spécifier.

En 1994, le mécanisme des NAT (Network Address Translation) est décrit. Son but est de retarder la pénurie d'adresses publiques IPv4, devenue inévitable tant Internet s'est développé au-delà des prévisions. À la frontière d'un sous-réseau privé en direction du cœur d'Internet, chaque adresse interne qui échange du trafic est traduite. Le NAT détecte la fin des périodes d'activité pour libérer sa possibilité de traduction pour d'autres connexions. Avec la variante ultérieure NAPT, une seule adresse externe sera utilisable pour de multiples connexions simultanées, TCP ou autres. Les NAT introduisent ainsi une rupture par rapport au modèle d'origine où les datagrammes étaient toujours transmis de bout en bout sans changement, et où aucun nœud ne conservait d'état sur les connexions en cours. Le routage via un NAT s'apparente désormais à un routage de circuit virtuel où la réinitialisation d'un nœud intermédiaire peut entrainer la rupture de toutes les communications qui les traversent. Le procédé, perfectionné au fil des ans, sera quasi-généralisé dans les Box à l'entrée des réseaux locaux privés.

En décembre 1995, IPv6, la deuxième génération de protocole des datagrammes d'Internet est spécifiée dans sa première version [2]. Sa raison d'être est de mettre fin à la pénurie d'adresses dIPv4 qui semble s'approcher de plus en plus. Pour cela, ses adresses passent de 32 à 128 bits. Par ailleurs, la taille des datagrammes que tout ordinateur doit accepter passe de 576 à 1 500 octets et la taille des fragments que tout sous-réseau IPv6 doit acheminer sans les fragmenter passe de 68 à 576 octets. Innovation : un champ d'«étiquette de flux» (flow label) est ajouté à chaque datagramme. Il est toutefois précisé que son usage doit rester expérimental. Divers usages facultatifs en seront décrits en 2011 (RFC 6437[17]). Suite à diverses difficultés de gestion de la coexistence entre IPv4 et IPv6, la progression de l'usage d'IPv6 sera lente (selon une statistique, 5 % fin 2014 et 30 % fin 2019[18]).

En juin 1999, les codes du champ «type de service» à utiliser pour des services garantis sont spécifiés (assured forwarding du RFC 2597[19]). Dans un réseau où la grande majorité du trafic est en mode best effort, un traitement prioritaire des paquets ayant un de ces codes, et sous réserve que débit à la source de chaque connexion à service garanti soit plafonné, cela suffit pour que la qualité de service requise soit atteignable. En juin 2006, le protocole SIP détaille, pour les transmissions de la voix ou d'autre données en temps réel, l'utilisation de l'un de ces codes de service garanti (RFC 4504[20]).

Arts et littérature[modifier | modifier le code]

Un roman publié en 2020 par Eric Reinhardt raconte comment Ambroise Roux, patron de la Compagnie générale d'électricité (CGE) à l'époque du début des surfacturations aux PTT puis à France Télécom, a "obtenu de l'État l'arrêt du financement des recherches de Louis Pouzin, pionnier français de l'internet"[21], ainsi que l'abandon du Plan Calcul et d'Unidata, consortium informatique européen, sur lesquels étaient organisés les projets industriels de Cyclades[21], réseau dirigé par de Louis Pouzin, qui risquait de concurrencer la CGE à moyen terme sur le marché des télécoms[21], avec un trafic routé par voie informatique plutôt que par les commutateurs à forte marge bénéficiaire vendus par la Compagnie générale d'électricité (CGE) aux PTT[21].

Notes et références[modifier | modifier le code]

  1. a b et c (en) « RFC 760 : DOD standard Internet Protocol »,
  2. a et b (en) « RFC 1883 : Internet Protocol, Version 6 (IPv6) Specification »,
  3. a et b (en) « RFC 761 : DOD Srandard - Transmission Control Protocol »,
  4. (en) Paul Baran, « On Distributed Communications »,
  5. (en) Donald Davies, « A Digital Communication Network for Computers Giving Rapid Response at remote Terminals »
  6. (en) Larry Roberts, « Computer Network Development to Achieve Resource Sharing »
  7. (en) Leonard Kleinrock, « Message delay in communication nets with storage »
  8. (en) « The Internet's first message sent from UCLA »
  9. (en) « X.25 Virtual Circuits - Transpac in France - Pre-Internet Data Networking »
  10. Louis Pouzin & Jean-Louis Grangé, « Cigale, la Machine de Commutation de Paquets du Réseau Cyclades », Conférences de l'AFCET,‎
  11. (en) Louis Pouzin, « Presentation and Major Design Aspects of the Cyclades Computer Network »,
  12. (en) Vinton Cerf & Robert Kahn, « A Protocol for Packet Network Intercommunication »
  13. a et b (en) Alexander McKenzie, « INWG and the Conception of the Internet: An Eyewitness Account »
  14. (en) « X.75 Internetworking of Datapac and Telenet »
  15. Christian Huitema, Et Dieu créal'Internet, Eyrolles, , p. 55
  16. Packet radio
  17. (en) Request for comments no 6437.
  18. « Statistiques sur l'adoption de l'IPv6 sur Internet »
  19. (en) Request for comments no 2597.
  20. (en) Request for comments no 4504.
  21. a b c et d Raphaëlle Leyris, « « Comédies françaises », d’Eric Reinhardt : sur les traces du fiasco de l’Internet français », sur lemonde.fr, (consulté le 22 août 2020)