# Datagramme

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 transmission utilisant la commutation de paquets (l'autre variante, avec connexion, étant un service de circuit virtuel). Exemples de services datagramme : Ethernet, Internet Protocol (IP).
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 une 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, 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 : la RFC 760. Le standard d'IPv6, la deuxième génération de datagrammes d'Internet, a été publié en sa première version en 1995. 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 : la RFC 761.

## Histoire

En 1964, Paul Baran décrit, dans une série de rapports de la RAND Corporation, 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 destinataires 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 éventuel futur réseau de transmission de données géré par un opérateur de télécommunications (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. Comme dans le modèle de Paul Baran, mais à la suite d'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. 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 contrô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 et proche de Larry Roberts, il avait été reçu au SRI de Stanford.
Début 1973, Halvor Bothner-By crée le mot datagramme pour désigner les paquets autonomes du modèle de Donald Davies. 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 circuits 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$^,$. 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$^,$.
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. 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). 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. 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). 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.
En janvier 1980, IPv4, la première génération de protocole IP d'Internet, est spécifiée dans sa première version. 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. 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). À la suite de 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).
En juin 1999, les codes du champ « type de service » à utiliser pour des services garantis sont spécifiés (assured forwarding du RFC 2597). 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 le 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'autres données en temps réel, l'utilisation de l'un de ces codes de service garanti (RFC 4504).

## Datagramme et voix sur IP

Le Datagramme est considéré comme parfaitement capable de transporter de la "voix sur IP" dès le printemps 2001. Pierre Vincent, chercheur à l'Institut national des télécommunications(INT), spécialiste du transfert de la voix sur IP, lors d'un entretien dans Le Monde, pour expliquer que « ce n'est pas tant une question de volume du trafic qu'une question d'interfaces entre opérateurs », car le format numérique de la voix sur IP « autorise bien sûr la compression de chaque Datagramme » vocal, mais celle-ci peut-être évitée sans problème. Selon lui, à moyen terme, le protocole Diffserv, non-propriétaire et standardisé par l'Internet Engineering Task Force (IETF), « qui définit des niveaux de priorité dans l'acheminement des paquets, permettrait d'améliorer le passage de la voix d'un opérateur à l'autre ». Le chercheur souligne cependant « le problème » de devoir « attendre que ce protocole soit déployé partout et que tout le monde l'emploie de la même façon » et constate que les grands opérateurs de télécom traditionnels « observent de très près » la téléphonie sur IP qui « peut en effet remettre en cause l'économie de leur réseau » mais « également leur permettre de conquérir d'autres marchés ». Selon lui, la téléphonie sur IP « peut représenter un danger là où l'opérateur est déjà implanté », mais aussi « une opportunité dans les pays où il ne l'est pas encore »car elle donnera naissance à « des nouveaux services, associant voix et données », par exemple, consulter un site et en cliquant sur un lien entrer en contact avec un opérateur.
Lors du printemps 2001, la presse avait constaté au Salon international des télécoms de Las Vegas que « la voix sur IP était omniprésentee » car « en train de modifier de fond en comble le paysage des réseaux, et, en premier lieu, celui des opérateurs, qui passent de la commutation de circuits à la commutation de paquets », avec en particulier, chez leurs grands fournisseurs, la rivalité entre Juniper Networks et Cisco Systems sur le marché des routeurs Terabit, mais qu'en France, les opérateurs étrangers comme KPN-Qwest, Global Crossing et Carrier visent surtout le marché des entreprises. Une conférence sur VoIP avait été organisée lors de ce salon et son organisateur conseille de conserver des passerelles vers la téléphonie classique, car les temps de réponse varient de 17 à 125 Millisecondes, le journal informatique 01net estimant qu'à plus de 125 Millisecondes, « on est en droit de se poser des questions sur l'intérêt des systèmes ».
Le décollage de la "voix sur IP" attendra cependant la période 2003-2005, surtout auprès des entreprises, les équipementiers Cisco et Alcatel évitant de brusquer leur premier client français, Orange. L'arrivée de Skype en 2005 coïncide avec une accélération, même si des analystes cités par la presse françaises se montrent plutôt sceptiques et si des consultants français sont réticents. Finalement, c'est le succès fulgurant de la startup WhatsApp en 2012-2013 qui pousse Facebook à la racheter très rapidement et à coupler son succès avec celui de la Voix sur IP.