Brevet FR3133509A1 — publié le 20230915

Procédé de gestion d’une retransmission de données échangées sur un chemin établi entre un premier équipement de communication et un deuxième équipement de communication au moyen d’une valeur d’un paramètre de performance intermédiaire déterminée par un nœud intermédiaire appartenant audit chemin. L'invention concerne une méthode permettant l’amélioration de la coopération entre deux équipements de communication constituant les extrémités d’un chemin comprenant au moins un équipement intermédiaire. Les systèmes de chiffrement de bout en bout sont conçus pour résister à toute tentative de surveillance ou de falsification, car aucun tiers ne peut déchiffrer ni modifier les données communiquées. Cette réduction de la coopération entre les équipements de communication situés aux extrémités de la connexion et les équipements intermédiaires impacte négativement les performances d’une connexion établie sur le chemin de communication comprenant des équipements intermédiaires. L'invention permet de rétablir la coopération entre des équipements de communication, constituant les extrémités d’une connexion, avec des nœuds intermédiaire sen calculant un paramètre de performance intermédiaire . FIGURE 1 Procédé de gestion d’une retransmission de données échangées sur un chemin établi entre un premier équipement de communication et un deuxième équipement de communication au moyen d’une valeur d’un paramètre de performance intermédiaire déterminée par un nœud intermédiaire appartenant audit chemin Domaine de l'invention Le domaine de l'invention est celui de la transmission de données. Plus précisément, l'invention concerne l’amélioration de la coopération entre deux équipements de communication constituant les extrémités d’un chemin comprenant au moins un équipement intermédiaire. Art antérieur et ses inconvénients Le chiffrement de bout en bout (en anglais, End-to-end encryption ou E2EE ) est une technique utilisée dans les systèmes de communication où seuls les équipements de communication ayant établi une connexion entre eux peuvent accéder au contenu de certaines données transmises au moyen de la connexion, les données utiles à l’acheminement pouvant être non chiffrées. Les systèmes de chiffrement de bout en bout sont conçus pour résister à toute tentative de surveillance ou de modification des données, car aucun tiers ne peut déchiffrer, et donc accéder aux données ainsi communiquées s’il ne possède pas les clés de sécurité utilisées pour le chiffrement et le déchiffrement. Ainsi, le contenu des messages transmis à l’équipement de communication destinataire est chiffré localement par l’équipement de communication émetteur avant même que les messages soient envoyés au travers de la connexion, établie sur un chemin de communication comprenant des équipements intermédiaires. Ces équipements intermédiaires, de type « middlebox » par exemple, ne font que relayer les messages chiffrés, à partir des données d’acheminement non chiffrées, et c'est l’équipement de communication destinataire qui déchiffre le message. La transaction est ainsi sécurisée indépendamment de l’équipement intermédiaire qui, lui, pourrait être compromis. Le chiffrement de bout-en-bout est devenu une pratique qui se généralise de plus en plus sur l’Internet. A cela vient s’ajouter l’évolution des protocoles constituant la pile de protocoles de services Web, et plus particulièrement l’évolution de la couche transport du modèle OSI ( Open Systems Interconection ) de cette pile protocolaire. La conjonction de ces deux phénomènes contribue à réduire la coopération entre les équipements de communication situés aux extrémités de la connexion et les équipements intermédiaires ou « middlebox ». Un exemple d’un tel protocole est le protocole de la couche transport QUIC ( Quick UDP Internet Connections ), normalisé à l’IETF ( Internet Engineering Task Force ) dans la RFC9000 qui est de plus en plus utilisé dans les réseaux de communication. Cette réduction de la coopération entre les équipements de communication situés aux extrémités de la connexion et les équipements intermédiaires impacte négativement les performances d’une connexion établie sur le chemin de communication comprenant des équipements intermédiaires. Ainsi, par exemple, la réduction de la coopération entre les équipements de communication situés aux extrémités de la connexion et les équipements intermédiaires impacte le traitement de la retransmission des données perdus. En effet, deux mécanismes de retransmission des données perdues cohabitent : un mécanisme de retransmission dit de bout-en-bout mis en œuvre par l’un ou l’autre des équipements de communication et un mécanisme local mis en œuvre par l’un des équipements intermédiaires. En l’absence de coopération entre les équipements de communication situés aux extrémités de la connexion et les équipements intermédiaires, ces deux mécanismes de retransmission entrent en compétition augmentant les risques d’engorgement de la connexion sans pour autant garantir la bonne retransmission des données perdues. Il existe donc un besoin d'une technique de coopération entre les différents équipements appartenant à un même chemin permettant de réduire les effets des inconvénients précités. L'invention répond à ce besoin en proposant un procédé de gestion d’une retransmission de données échangées sur un chemin établi entre un premier équipement de communication et un deuxième équipement de communication, ledit chemin comprenant au moins un équipement intermédiaire capable de retransmettre au moins une partie des données manquantes. Un tel procédé est mis en œuvre par le premier équipement de communication et comprenant les étapes suivantes : - détection de données manquantes parmi les données transmises par le deuxième équipement de communication, - traitement, par une application dudit premier équipement de communication, desdites données transmises, - sélection, en fonction d’une valeur d’un paramètre de performance intermédiaire représentative d’une position relative de l’équipement intermédiaire vis-à-vis du premier équipement de communication et d’informations relatives aux données manquantes, d’un mode de traitement desdites données manquantes parmi une pluralité de modes de traitement des desdites données manquantes comprenant un premier mode de traitement desdites données manquantes et au moins un deuxième mode de traitement desdites données manquantes, - lorsque le premier mode de traitement des données manquantes, dit mode de retransmission des données manquantes, est sélectionné et lorsque la valeur du paramètre de performance intermédiaire est inférieure à un premier seuil, retardement, jusqu’à l’expiration d’un compte à rebours proportionnelle à une première durée de propagation aller-retour entre le premier équipement de communication et le nœud intermédiaire, d’une émission à destination du deuxième équipement d’un message demandant une retransmission des données manquantes.. Un tel procédé de gestion repose sur une connaissance de la nature des erreurs impactant les données manquantes couplée à une connaissance relative au chemin emprunté par les données transmises et aux nœuds qui le parsèment. La présente solution permet alors aux extrémités d’adapter certains traitements qu’elles sont amenées à mettre en œuvre dans le cadre du traitement de données manquantes. Ainsi, en fonction d’une valeur d’un paramètre de performance intermédiaire représentative d’une position relative de l’équipement intermédiaire vis-à-vis du premier équipement de communication et d’informations relatives aux données manquantes, le premier équipement de communication détermine l’intérêt d’une retransmission totale ou partielle des données manquantes et sélectionne parmi l’équipement intermédiaire et le deuxième équipement de communication celui qui est le plus à même de retransmettre les données manquantes. S’il est déterminé qu’une retransmission des données manquantes présente un intérêt, par exemple comme c’est le cas lorsque les données reçues manquantes sont des données utiles ou des données qui ne sont pas des données temps réel et qu’elles seront exploitées une fois retransmises, alors le premier équipement de communication met en œuvre un premier mode de traitement des données transmises reposant sur la retransmission des données manquantes. Dans le cadre de la mise en œuvre de ce premier mode de traitement, le premier équipement de communication utilise un compte à rebours d’une durée dont la valeur est proportionnelle à une durée de propagation aller-retour entre le premier équipement de communication et le nœud intermédiaire ce qui lui laisse le temps d’identifier parmi l’équipement intermédiaire et le deuxième équipement de communication celui qui est le plus à même de retransmettre les données manquantes Cela permet d’améliorer la coopération entre les différents équipements et nœuds appartenant à un même chemin et plus particulièrement la gestion des retransmissions de paquets de données manquants et la gestion de l’établissement de la connexion avec des paramètres réalistes. Ainsi, afin de ne pas engorger la connexion et de ne pas utiliser des ressources inutilement au niveau du deuxième équipement de communication, le premier équipement de communication retarde l’émission d’un message de demande de retransmission des données manquantes à destination du deuxième équipement de communication jusqu’à ce que la durée du compte à rebours soit expirée. Dans un exemple, lorsque la valeur du paramètre de performance intermédiaire est supérieure audit premier seuil, le message demandant une retransmission des données manquantes est émis à destination du deuxième équipement de communication avant l’expiration du compte à rebours. Lorsque les données manquantes ont été reçues avant l’expiration du compte à rebours, le procédé de gestion de la retransmission de données met en œuvre une étape de traitement, par ladite application dudit premier équipement de communication, des données manquantes transmises par le nœud intermédiaire. Ces données manquantes sont par exemple émises par l’équipement intermédiaire dans un message ICMP_SF à destination du premier équipement de communication. Dans un autre exemple, ces données manquantes sont par exemple émises par l’équipement intermédiaire dans un message de la couche transport du protocole QUIC spécifique au procédé QUIC_SF, par exemple dans un DATAGRAM QUIC spécifique au procédé QUIC_DGRAM_SF ou encore un datagram MASQUE utilisant une capsule spécifique au procédé MASQUE_CAP_SF décrit dans le document normatif référencé https://datatracker.ietf.org/doc/html/draft-ietf-masque-h3-datagram-05#section-4. En effet, la durée du compte à rebours étant supérieure ou égale à une durée de propagation aller-retour entre le premier équipement de communication et le nœud intermédiaire, cela laisse le temps à ce dernier de retransmettre les données manquantes via un mécanisme de retransmission local tel qu’un mécanisme HARQ (Hybrid Automatic Repeat Request) mis en œuvre par le nœud intermédiaire. Dans un exemple le procédé de gestion de la retransmission de données comprend en outre une étape de détermination de la valeur du paramètre de performance intermédiaire correspondant à un rapport entre la première durée de propagation aller-retour entre le premier équipement de communication et le nœud intermédiaire et une deuxième durée de propagation aller-retour entre le premier équipement de communication et le deuxième équipement de communication. Ainsi, le premier équipement de communication peut déterminer de manière autonome la valeur du paramètre de performance intermédiaire. Lorsqu’un deuxième mode de traitement desdites données manquantes, dit mode sans retransmission des données manquantes, est sélectionné parmi ladite pluralité de modes de traitement des desdites données manquantes, le compte à rebours n’est pas déclenché. En fonction de la nature des erreurs impactant les données transmises, le premier équipement de communication peut déterminer qu’une retransmission des données manquantes est inutile. Les données transmises sont alors traitées par le premier équipement de communication au lieu d’être rejetées comme cela est le cas dans certaines solutions de l’état de l’art. Un tel deuxième mode de traitement desdites données transmises est sélectionné par exemple lorsque les données manquantes sont des données de remplissage. Dans un tel cas de figure la présence ou l’absence de données de correction n’aura aucun impact sur le traitement des données transmises et il est inutile d’encombrer la connexion avec des demandes de retransmission. C’est notamment le cas de paquets de données conformes au protocole QUIC qui contiennent des données de remplissage chiffrées que seule une application couche transport peut identifier comme utile ou non. Dans un exemple, le deuxième mode de traitement desdites données manquantes est sélectionné lorsque le nombre de données manquantes dépasse un deuxième seuil. En effet, lorsqu’un nombre de données manquantes dépasse un certain seuil, cela a pour conséquence que les demandes de retransmission et la retransmission des données manquantes imposent une charge trop élevée sur la connexion et sur les équipements de communication impliqués. Ainsi, il est intéressant de ne pas demander de retransmission des données manquantes, indépendamment de la nature des erreurs impactant les données transmises, tout en procédant à leur traitement. Dans un autre exemple, un paramètre identifiant le mode de traitement à appliquer aux données manquantes est associé auxdites données transmises par une application d’une couche liaison de données dudit premier équipement de communication, ledit paramètre identifiant ledit mode de traitement à appliquer aux données manquantes étant destiné à être utilisé par une application dudit premier équipement de communication lorsqu’elle met en œuvre ladite étape de sélection d’un mode de traitement des données manquantes. Les informations relatives aux données manquantes utilisées dans le cadre de la mise en œuvre du procédé de gestion de la retransmission de données, appartiennent au groupe comprenant : - les données échangées étant découpées en sous-groupes de données, un identifiant d’au moins un sous-groupe de données, - une position d’au moins un sous-groupe auquel appartiennent lesdites données manquantes dans un train de sous-groupes de données transmis par le deuxième équipement de communication, - un nombre de données manquantes, - un pointeur indiquant les données manquantes dans le train de données transmis par le deuxième équipement de communication. Dans un exemple, le message demandant une retransmission des données manquantes audit deuxième équipement comprend au moins l’une desdites informations précédentes relatives aux données manquantes. Ainsi, le deuxième équipement de communication peut identifier les données à retransmettre. L’invention a également pour objet un équipement de communication constituant une première extrémité d’un chemin établi entre ledit équipement de communication et un autre équipement de communication, ledit chemin comprenant au moins un équipement intermédiaire capable de retransmettre au moins une partie de données reçues manquantes, ledit équipement étant capable de gérer une retransmission de données échangées sur le chemin de communication et comprenant au moins un processeur configuré pour : - détecter des données manquantes parmi les données transmises par le deuxième équipement de communication, - traiter, par une application dudit premier équipement de communication, lesdites données transmises, - sélectionner, en fonction d’une valeur d’un paramètre de performance intermédiaire représentative d’une position relative de l’équipement intermédiaire vis-à-vis du premier équipement de communication et d’informations relatives aux données manquantes, un mode de traitement desdites données manquantes parmi une pluralité de modes de traitement des desdites données manquantes comprenant un premier mode de traitement desdites données manquantes et au moins un deuxième modes de traitement desdites données manquantes, - lorsque le premier mode de traitement des données manquantes, dit mode de retransmission des données manquantes, est sélectionné et lorsque la valeur du paramètre de performance intermédiaire est inférieure à un premier seuil, retarder, jusqu’à l’expiration d’un compte à rebours d’une durée proportionnelle à une première durée de propagation aller-retour entre le premier équipement de communication et le nœud intermédiaire, une émission à destination du deuxième équipement d’un message demandant une retransmission des données manquantes. L’invention concerne enfin un produit programme d'ordinateur comprenant des instructions de code de programme pour la mise en œuvre d’un procédé tel que décrit précédemment, lorsqu’il est exécuté par un processeur. L’invention vise également un support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions de code de programme pour l’exécution des étapes du procédé selon l’invention tel que décrit ci-dessus. Un tel support d'enregistrement peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une clé USB ou un disque dur. D'autre part, un tel support d'enregistrement peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens, de sorte que le programme d’ordinateur qu’il contient est exécutable à distance. Le programme selon l'invention peut être en particulier téléchargé sur un réseau par exemple le réseau Internet. Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé objet de l’invention précité. Liste des figures D'autres buts, caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante, donnée à titre de simple exemple illustratif, et non limitatif, en relation avec les figures, parmi lesquelles : : cette figure représente un système dans lequel les procédés objets de l’invention sont mis en œuvre, : cette figure représente les différentes étapes mises en œuvre par les différents éléments du système lors de l’exécution d’un procédé de détermination d’au moins une valeur d’un paramètre de performance intermédiaire PPI du chemin, : cette figure représente les différentes étapes mises en œuvre par les différents éléments du système 1 lors de l’exécution d’un procédé de gestion d’une retransmission de données échangées sur le chemin, : cette figure représente de manière schématique un nœud intermédiaire, : cette figure représente de manière schématique un équipement de communication. Description détaillée de modes de réalisation de l'invention Le principe général de l'invention repose sur la détermination de la nature des erreurs impactant des données reçues par un premier équipement de communication via une connexion établie sur un chemin établi entre le premier équipement de communication et un deuxième équipement de communication via au moins un nœud intermédiaire afin de déterminer la pertinence d’une retransmission de données manquantes parmi les données reçues. Une fois la pertinence de la retransmission des données actée, l’invention repose sur la détermination par le premier équipement de communication d’une valeur d’un paramètre de performance intermédiaire relatif à la connexion établie sur ce chemin et représentatif d’une position relative de l’équipement intermédiaire vis-à-vis du premier équipement de communication et du deuxième équipement. Un tel paramètre de performance intermédiaire permet d’améliorer la coopération entre les différents équipements et nœuds appartenant à un même chemin en fournissant à tout ou partie de ces équipements une information relative à une performance intermédiaire d’une connexion établie sur le chemin considéré. La connaissance de cette information de performance intermédiaire permet d’améliorer, entre autres, la gestion des retransmissions de paquets de données manquantes et la gestion de l’établissement de la connexion avec des paramètres réalistes. La représente un système 1 dans lequel les procédés objets de l’invention sont mis en œuvre. Le système 1 comprend au moins un premier équipement de communication 10, un tel équipement de communication 10 est par exemple une passerelle domestique telle qu’une LiveBox®, un téléphone portable de type « smartphone », un terminal IoT, une voiture connectée, un décodeur numérique ou « Set Top Box », etc. Le système 1 comprend au moins un nœud intermédiaire 11 situé dans un réseau de communication. Un tel nœud intermédiaire 11 est par exemple un élément d’un réseau mobile (MEC ( Mobile Edge Computing ), C-RANs ( Cloud Radio Access Networks )), un routeur, une passerelle dotée de fonctions de transport ou de fonctions applicatives, ou un proxy. Le nœud intermédiaire 11 héberge une ou plusieurs fonctions de transmission. Un tel nœud intermédiaire peut également être embarqué dans un satellite ou tout autre équipement en déplacement, comme un drone. Enfin, le système 1 comprend un deuxième équipement de communication 20 tel qu’un serveur par exemple. Un chemin de communication cid1 au travers duquel des données sont destinées à être transmises, est établi ou en cours d’établissement entre le premier équipement de communication 10 et le deuxième équipement de communication 20. Ce chemin de communication cid1 est établi au travers d’un ou plusieurs nœuds intermédiaires dont le nœud intermédiaire 11. Un tel chemin de communication cid1 étant établi entre le premier équipement de communication 10 et le deuxième équipement de communication 20, seuls ces deux équipements de communication 10, 20 peuvent accéder au contenu des données transmises sur le chemin cid1. Ainsi, le nœud intermédiaire 11 n’accède pas aux données transmises au travers du chemin cid1, il se contente de les transmettre à l’équipement suivant, soit un autre nœud intermédiaire, soit le deuxième équipement de communication 20. Il est bien entendu que certaines données dites de routage comme l’adresse de destination, sont accessibles aux équipements intermédiaires pour acheminer les données mais pas les données comprises, par exemple, dans des champs de couche transport ou applicative des messages. La représente les différentes étapes mises en œuvre par les différents éléments du système 1 lors de l’exécution d’un procédé de détermination d’au moins une valeur d’un paramètre de performance intermédiaire PPI du chemin cid1. Dans une étape E1, le premier équipement de communication 10 émet un premier paquet de données comprenant dans un entête une première valeur d’un paramètre de latence PL1 conformément au mécanicisme SpinBit. Dans un exemple, la première valeur PL1 du paramètre de latence est 0. Le nœud intermédiaire 11 intercepte ce premier paquet de données, et horodate et mémorise la première valeur PL1 du paramètre de latence avant de transférer le premier paquet de données à destination du deuxième équipement de communication 20 dans une étape E2. En réponse à la réception du premier paquet de données, le deuxième équipement de communication 20 émet, dans une étape E3, un deuxième paquet de données à destination du premier équipement de communication 10 comprenant dans une entête la première valeur du paramètre de latence PL1. Le nœud intermédiaire 11 intercepte ce deuxième paquet de données, et horodate et mémorise la première valeur PL1 du paramètre de latence extraite de ce deuxième paquet de données avant de transférer le deuxième paquet de données à destination du premier équipement de communication 10 dans une étape E4. Dans une étape E5, à réception du deuxième paquet de données, le premier équipement de communication 10 émet un troisième paquet comprenant dans une entête une deuxième valeur PL2 du paramètre de latence distincte de la première valeur PL1. Dans un exemple, la deuxième valeur PL2 du paramètre de latence est 1. Le nœud intermédiaire 11 intercepte ce troisième paquet de données, et horodate et mémorise la deuxième valeur PL2 du paramètre de latence avant de transférer le troisième paquet de données à destination du deuxième équipement de communication 20 dans une étape E6. L’équipement de communication 10 et l’équipement de communication 20 peuvent grâce à cet échange de paquets de données, déterminer une durée de propagation aller-retour RTT entre le premier équipement de communication 10 et le deuxième équipement de communication 20, si ce n’est pas fait à l’aide de paquets d’acquittement. Dans une étape E7, le nœud intermédiaire 11 détermine une première durée de propagation aller-retour RTT1011 entre le premier équipement de communication 10 et le nœud intermédiaire 11, et une deuxième durée de propagation aller-retour RTT1120 entre le nœud intermédiaire 11 et le deuxième équipement de communication 20, au moyen des données d’horodatage associées aux différentes valeurs du paramètre de latence PL1 et PL2 mémorisées. Par exemple la durée de propagation aller-retour RTT1120 entre le nœud intermédiaire 11 et le deuxième équipement de communication 20 est obtenue grâce aux horodatages de la sortie du premier paquet de données et de l’arrivée du deuxième paquet de donnée dans l’équipement intermédiaire 11. La durée de propagation aller-retour RTT1011 entre le premier équipement de communication 10 et le nœud intermédiaire 11 est quant à elle obtenue grâce aux horodatages de l’entrée du deuxième paquet de données et de la sortie du troisième paquet de donnée dans l’équipement intermédiaire 11. Le nœud intermédiaire 11 détermine ensuite, au cours d’une étape E8, une valeur d’un paramètre de performance intermédiaire PPI. Dans ce mode de réalisation, le paramètre de performance intermédiaire PPI est le rapport entre la première durée de propagation aller-retour RTT1011 et la deuxième durée de propagation aller-retour RTT1120 : A titre d’exemple, si la valeur PPI du paramètre de performance intermédiaire est inférieure à 1 alors cela signifie que le nœud intermédiaire 11 est plus proche (temporellement) de l’équipement de communication 10 que de l’équipement de communication 20. A titre d’exemple, lorsque la valeur PPI du paramètre de performance intermédiaire est supérieure à 1 alors cela signifie que le nœud intermédiaire 11 est plus proche de l’équipement de communication 20 que de l’équipement de communication 10. Le nœud intermédiaire 11 procède ensuite à la transmission de la valeur PPI du paramètre de performance intermédiaire ainsi obtenue au cours d’une étape E9. Dans l’exemple représenté à la , le nœud intermédiaire 11 transmet la valeur PPI du paramètre de performance intermédiaire aux deux équipements de communication 10 et 20. Afin de transmettre la valeur PPI du paramètre de performance intermédiaire, le nœud intermédiaire 11 peut l’encoder et l’introduire dans un champ d’entête d’un paquet de données transitant sur le chemin cid1 à destination de l’un ou l’autre des équipements de communication 10, 20. Dans un exemple, la valeur du paramètre de performance intermédiaire PPI est encodée dans les bits ECN ( « Explicit Congestion Notification ») du champ d’entête d’un paquet de données conformes au protocole QUIC. Par exemple, la valeur PPI du paramètre de performance intermédiaire peut être encodée sur 2 bits où ‘01’ signifie que le nœud intermédiaire 11 est plus proche, temporellement parlant de l’équipement de communication 10 que de l’équipement de communication 20. Dans ce cas de figure, la valeur PPI du paramètre de performance intermédiaire est par exemple strictement inférieure à 1. Lorsque l’encodage de la valeur PPI du paramètre de performance intermédiaire est ‘11’, cela signifie que le nœud intermédiaire 11 se situe temporellement à équidistance entre l’équipement de communication 10 et l’équipement de communication 20. Dans ce cas de figure, la valeur PPI du paramètre de performance intermédiaire est par exemple égale à 1. Enfin, lorsque l’encodage de la valeur PPI du paramètre de performance intermédiaire est ’10’ cela signifie que le nœud intermédiaire 11 est plus proche, temporellement parlant de l’équipement de communication 20 que de l’équipement de communication 10. Dans ce cas de figure, la valeur PPI du paramètre de performance intermédiaire est par exemple strictement supérieure à 1. Bien entendu, la valeur PPI du paramètre de performance intermédiaire peut être encodée sur plus de 2 bits. Enfin, un tel procédé peut également s’appliquer à des chemins comprenant plus de deux extrémités. La représente les différentes étapes mises en œuvre par les différents éléments du système 1 lors de l’exécution d’un procédé de gestion d’une retransmission de données transmises sur le chemin cid1. Dans la suite de la description de ce procédé, on fera l’hypothèse que le premier équipement de communication 10 reçoit des données émises par le deuxième équipement de communication 20. Bien entendu, ce qui est décrit ci-dessous s’applique également au cas dans lequel le deuxième équipement de communication 20 reçoit des données émises par le premier équipement de communication 10, notamment dans le cas d’une liaison radio, par exemple de type inter satellites, entre le deuxième équipement de communication 20 et l’équipement intermédiaire. Dans ce procédé, l’utilisation d’un compte à rebours dont la durée est proportionnelle à une durée de propagation aller-retour entre le premier équipement de communication et le nœud intermédiaire permet à un équipement de communication de déterminer parmi le mécanisme de retransmission dit de bout-en-bout et le mécanisme local, tel qu’un mécanisme HARQ mis en œuvre par le nœud intermédiaire, lequel est le plus à même d’offrir une retransmission des données perdues la plus rapide et la plus efficace. Ainsi dans une étape G1, le premier équipement de communication 10 détecte une anomalie dans les paquets de données reçus depuis le deuxième équipement de communication 20. L’anomalie détectée peut être la perte d’un paquet de données ou d’une partie d’un paquet de données telle qu’un sous-groupe de données, un paquet de données reçu tardivement, la réception d’un paquet de données dé-séquencé, ou la réception d’un paquet de données dont une partie est erronée ou manquante. En d’autres termes, le premier équipement de communication 10 détermine qu’il y a des données manquantes parmi les données transmises par le deuxième équipement de communication 20. Dans un premier exemple, le premier équipement de communication 10 reçoit dans une étape G2 qui peut être antérieure, postérieure ou concomitante à l’étape G1, une valeur du paramètre de performance intermédiaire PPI obtenue par le nœud intermédiaire comme décrit en référence à la . Toujours dans cette étape G2, le premier équipement 10 procède également à la mesure d’une première durée de propagation aller-retour RTT1011 entre le premier équipement de communication 10 et le nœud intermédiaire 11 Dans un deuxième exemple, au cours d’une étape G2’, l’équipement de communication 10 procède à la mesure de la première durée de propagation aller-retour RTT1011 entre le premier équipement de communication 10 et le nœud intermédiaire 11, et une deuxième durée de propagation aller-retour RTT1020 entre le premier équipement de communication 10 et le deuxième équipement de communication 20, au moyen de données d’horodatage. Le premier équipement de communication 10 détermine ensuite une valeur du paramètre de performance intermédiaire PPI. Dans cet exemple, la valeur du paramètre de performance intermédiaire PPI est obtenue à partir de la première durée de propagation aller-retour RTT1011 entre le premier équipement de communication 10 et le nœud intermédiaire 11, et de la deuxième durée de propagation aller-retour RTT1020 entre le premier équipement de communication 10 et le deuxième équipement de communication 20. Tout comme la valeur du paramètre de performance intermédiaire PPI obtenue selon le procédé décrit en référence à la , la valeur du paramètre de performance intermédiaire PPI obtenue au cours de cette étape G2’ est, elle aussi, représentative d’une position relative de l’équipement intermédiaire vis-à-vis du premier équipement de communication. Ainsi, lorsque la valeur du paramètre de performance intermédiaire PPI est calculée par le premier équipement de communication 10 alors, si la valeur PPI du paramètre de performance intermédiaire est inférieure à 1/2 alors cela signifie que le nœud intermédiaire 11 est plus proche (temporellement) de l’équipement de communication 10 que de l’équipement de communication 20. De manière corollaire, lorsque la valeur PPI du paramètre de performance intermédiaire est supérieure à 1/2 alors cela signifie que le nœud intermédiaire 11 est plus proche de l’équipement de communication 20 que de l’équipement de communication 10. A l’issue de l’étape G2 ou de l’étape G2’, lorsqu’il dispose des informations nécessaires, le premier équipement de communication 10 peut déterminer, dans une étape G3, un compte à rebours d’une durée proportionnelle à une première durée de propagation aller-retour entre le premier équipement 10 et le nœud intermédiaire 11. Dans une étape G4, une application de la couche liaison de données de l’équipement de communication 10 collecte des informations relatives aux données manquantes telles que, entre autres : - les paquets de données étant constitués de sous-groupes de données, un identifiant d’au moins un sous-groupe de données, - une position d’au moins un sous-groupe auquel appartiennent lesdites données manquantes dans ledit paquet de données, - un nombre de données manquantes, - un pointeur indiquant les données manquantes dans le paquet de données. Dans une étape G5, une application de la couche liaison de données de l’équipement de communication 10 introduit un paramètre identifiant un mode de traitement à appliquer aux données manquantes dans un champs d’entête du paquet de données comprenant les données manquantes. Dans un exemple, l’application de la couche liaison de données réutilise des bits ECN (« Explicit Congestion Notification ») du champ d’entête d’un paquet de données conformes au protocole IP pour encoder le paramètre identifiant le mode de traitement à appliquer aux données échangées. Ainsi, un tel paramètre identifiant un premier mode de traitement à appliquer aux données manquantes, dit mode non-fiable, peut être encodé sur 2 bits où ‘01’ signifie qu’une retransmission des données manquantes est demandée, c’est le cas par exemple lorsque les données manquantes concernent la charge utile du paquet de données ou que les données transmises ne sont pas des données temps réel. Un tel paramètre identifiant un deuxième mode de traitement à appliquer aux données transmises, dit mode extrêmement non-fiable, peut être encodé sur 2 bits où ‘11’ signifie qu’une retransmission des données manquantes n’est pas demandée car les données manquantes sont des données de remplissage ou « padding » ou que les données transmises sont des données temps réel dont le traitement ne supporte pas une retransmission Enfin un tel paramètre identifiant un troisième mode de traitement à appliquer aux données transmises, dit également mode extrêmement non-fiable, peut être encodé sur 2 bits où ’10’ signifie qu’une retransmission des données manquantes ne sera pas demandée car le nombre des données manquantes dépasse un certain seuil au-delà duquel la retransmission des données manquantes impacte négativement les performances de la connexion et/ou les performances des équipements de communication 10, 20 et/ou de l’équipement intermédiaire 11. D’autres modes de traitements des données transmises peuvent être envisager afin de répondre aux besoins des applications embarquées dans le premier équipement de communication 10 auxquelles les données transmises sont destinées. A l’issue de cette étape G5, l’application de la couche liaison de données transfert, dans une étape G6, les données transmises par le deuxième équipement de communication 20 vers une application de la couche réseau et cela malgré la présence de données manquantes parmi les données reçues. Ainsi, les mémoires-tampons de la couche liaison de données sont libérées et peuvent recevoir un nouveau train de données. L’application de la couche réseau procède alors au traitement de ces données. Un tel traitement peut consister, entre autres, à une destruction des données transmises, à un déchiffrement des données transmises, à un transfert des données transmises vers une application de la couche transfert, etc. Au cours de cette étape G6, les informations relatives aux données manquantes collectées au cours de l’étape G3 ainsi que la durée du compte à rebours sont également transmises à l’application de la couche transport. A réception des paquets de données traités et au cours d’une étape G7, l’application de la couche transport sélectionne en fonction du paramètre identifiant un mode de traitement à appliquer aux données transmises compris dans un champ d’entête du paquet de données lequel des trois modes de traitement des données doit être mis en œuvre. Lorsque le mode de traitement des données manquantes sélectionné au cours de l’étape G7 est le premier mode de traitement, dans une étape G8 l’application de la couche transport déclenche le compte à rebours. Dans une étape G9 concomitante à l’étape G8, L’application de la couche transport de l’équipement de communication 10 détermine, en fonction de la valeur du paramètre de performance intermédiaire PPI s’il est plus judicieux d’attendre une retransmission des données manquantes depuis l’équipement intermédiaire 11 ou s’il est plus judicieux de demander directement une retransmission de bout-en-bout au deuxième équipement de communication 20. A titre d’exemple, si la valeur PPI du paramètre de performance intermédiaire calculée par l’équipement intermédiaire 11 est inférieure à 1, alors cela signifie que le nœud intermédiaire 11 est plus proche (temporellement) de l’équipement de communication 10 que l’équipement de communication 20 et qu’il est plus judicieux d‘attendre une retransmission des données manquantes depuis l’équipement intermédiaire 11. Lorsque la valeur PPI du paramètre de performance intermédiaire calculée par l’équipement intermédiaire 11 est supérieure à 1, alors cela signifie que le nœud intermédiaire 11 est plus proche de l’équipement de communication 20 et qu’il est plus judicieux de demander directement une retransmission de bout-en-bout au deuxième équipement de communication 20. Ainsi, dans le cas où il est plus judicieux d‘attendre une retransmission des données manquantes depuis l’équipement intermédiaire 11, le premier équipement de communication 11 retarde l’émission, à destination du deuxième équipement de communication 20, d’un message MSGRT demandant une retransmission des données manquantes. L’équipement de communication 10 retarde l’émission du message MSGRT jusqu’à l’expiration du compte à rebours. Cela laisse le temps au nœud intermédiaire 11 de mettre en œuvre le mécanisme HARQ et de transmettre les données manquantes au premier équipement de communication 10 dans une étape G10. Ce retardement de la transmission du message MSGRT à destination du deuxième équipement de communication 20 permet de ne pas engorger le chemin cid1 et de ne pas utiliser des ressources inutilement au niveau du deuxième équipement de communication 20 . Lorsque le compte à rebours expire et que les données manquantes sensées avoir été émises par le nœud intermédiaire 11 n’ont pas été reçues, le premier équipement de communication 10 peut émettre ledit message MSGRT demandant la retransmission des données manquantes à destination du deuxième équipement de communication 20 au cours d’une étape G11. Suite à la réception de ce message MSGRT, l’équipement de communication 20 retransmet les données manquantes au premier équipement de communication10 dans une étape G12. Dans le cas où il est plus judicieux de demander directement une retransmission de bout-en-bout au deuxième équipement de communication 20, le premier équipement de communication 10 directement ledit message MSGRT demandant la retransmission des données manquantes à destination du deuxième équipement de communication 20 au cours d’une étape G13, sans attendre l’expiration du compte à rebours. Suite à la réception de ce message MSGRT, l’équipement de communication 20 retransmet les données manquantes au premier équipement de communication10 dans une étape G14. Dans un exemple, les données manquantes sont retransmises par le deuxième équipement de communication 20 dans un paquet de contrôle du niveau réseau, par exemple dans un message de type ICMP ICMP_SF propre au procédé objet de la présente demande. Dans un autre exemple, les données manquantes sont retransmises par le deuxième équipement de communication 20 dans un message de la couche transport du protocole QUIC spécifique au procédé QUIC_SF, par exemple dans un DATAGRAM QUIC spécifique au procédé QUIC_DGRAM_SF ou encore un datagram MASQUE utilisant une capsule spécifique au procédé MASQUE_CAP_SF décrit dans le document normatif référencé https://datatracker.ietf.org/doc/html/draft-ietf-masque-h3-datagram-05#section-4. A réception des messages de retransmission, une application de la couche réseau de l’équipement de communication 10 transmet les données manquantes retransmises à destination d’une application de la couche transport de l’équipement de communication 10 dans une notification setsockopt() de type SO_BLOCK_RTX propre au procédé objet de la présente solution, les données retransmises et les valeurs d’un identifiant de ces données repID, d’un identifiant indiquant les données reçues manquantes dans le paquet de données repPtr, d’une valeur du nombre des données repLen contenus dans le message ICMP_SF. struct retx { u_long repID; uint32_t repPtr ; uint32_t repLen; char* subfrm; }; setsockopt(sockfd, SOL_SOCKET, SO_BLOCK_RTX, (const char*)& retx, sizeof(retx)) Les données retransmises sont disponibles à l’adresse subfrm pendant une durée arbitraire qui peut correspondre à la durée du compte à rebours afin de laisser le temps à l’application de la couche transport d’accéder à ces données. Dans une variante, subfrm est un pointeur de fonction char* (*subfrm)(). L’application de la couche transport peut appeler cette fonction par un appel subfrm(repID, …) qui retourne alors les données manquantes retransmises ou une donnée vide si rien n’a été retransmis, ou encore si la fonction subfrm() est appelée après l’expiration compte à rebours, par exemple. Lorsque l’équipement de communication 10 est en possession des données manquantes retransmises par l’équipement de communication 20, à l’issue de l’étape G9 ou G11, l’application de la couche transport procède à leur traitement au cours d’une étape G12. Un tel traitement consiste en une transmission de l’ensemble des données, données transmises et données manquantes retransmises, à destination d’une ou plusieurs applications de la couche applicative du premier équipement de communication 10. Lorsque le mode de traitement des données manquantes sélectionné au cours de l’étape G7 est le deuxième mode de traitement ou le troisième mode de traitement, aucune retransmission des données manquantes n’est requise ou attendue et le compte à rebours n’est pas déclenché. La représente de manière schématique un nœud intermédiaire 11. Le nœud intermédiaire 11, peut comprendre au moins un processeur matériel 401, une unité de stockage 402, un dispositif de saisie 403, un dispositif d'affichage 404, une unité d'interface 405, et une interface de réseau 407 qui sont connectés entre eux au travers d’un bus 406. Bien entendu, les éléments constitutifs du nœud intermédiaire 11 peuvent être connectés au moyen d’une connexion autre qu’un bus. Le processeur 401 commande les opérations du nœud intermédiaire 11. L'unité de stockage 402 stocke au moins un programme pour déterminer au moins une valeur d’un paramètre de performance intermédiaire PPI d’un chemin cid1 établi entre un premier équipement de communication 10 et un deuxième équipement de communication 20, à exécuter par le processeur 401, et diverses données, telles que des paramètres utilisés pour des calculs effectués par le processeur 401, des données intermédiaires de calculs effectués par le processeur 401, etc. Le processeur 401 peut être formé par tout matériel ou logiciel connu et approprié, ou par une combinaison de matériel et de logiciel. Par exemple, le processeur 501 peut être formé par un matériel dédié tel qu'un circuit de traitement, ou par une unité de traitement programmable telle qu'une unité centrale de traitement ( Central Processing Unit ) qui exécute un programme stocké dans une mémoire de celui-ci. L'unité de stockage 402 peut être formée par n'importe quel moyen approprié capable de stocker le programme, et des données d'une manière lisible par un ordinateur. Des exemples d'unité de stockage 402 comprennent des supports de stockage non transitoires lisibles par ordinateur tels que des dispositifs de mémoire à semi-conducteurs, et des supports d'enregistrement magnétiques, optiques ou magnéto-optiques chargés dans une unité de lecture et d'écriture. Le programme amène le processeur 401 à exécuter un procédé de gestion de la retransmission de données manquantes selon un mode de réalisation de l’invention. Le dispositif de saisie 403 peut être formé par un clavier, un dispositif de pointage tel qu'une souris à utiliser par un utilisateur pour entrer des commandes. Le dispositif d'affichage 404 peut être formé par un dispositif d'affichage pour afficher, tel que par exemple une interface graphique utilisateur (GUI). Le dispositif de saisie 403 et le dispositif d'affichage 404 peuvent être formés intégralement au moyen d’un écran tactile, par exemple. L'unité d'interface 405 fournit une interface entre le nœud intermédiaire 11 et un appareil externe. L'unité d'interface 405 peut communiquer avec l'appareil externe via une connexion filaire ou sans fil. Un tel appareil externe est par exemple un ordinateur portable. Une interface réseau 407 fournit une connexion entre le nœud intermédiaire 11 et un autre nœud intermédiaire 11 via un réseau de communication, tel qu'Internet, ou un équipement de communication 10, 20. L'interface réseau 407 peut fournir, en fonction de sa nature, une connexion filaire ou sans fil au réseau. La représente de manière schématique un équipement de communication 10, 20. L’équipement de communication 10,20, peut comprendre au moins un processeur matériel 501, une unité de stockage 502, un dispositif de saisie 503, un dispositif d'affichage 504, une unité d'interface 505, et une interface de réseau 507 qui sont connectés entre eux au travers d’un bus 506. Bien entendu, les éléments constitutifs de l’équipement de communication 10, 20 peuvent être connectés au moyen d’une connexion autre qu’un bus. Le processeur 501 commande les opérations de l’équipement de communication 10, 20. L'unité de stockage 502 stocke au moins un programme pour gérer une retransmission de données échangées sur un chemin cid1 établi entre le premier équipement de communication 10 et le deuxième équipement de communication 20 à exécuter par le processeur 501, et diverses données, telles que des paramètres utilisés pour des calculs effectués par le processeur 501, des données intermédiaires de calculs effectués par le processeur 501, etc. Le processeur 501 peut être formé par tout matériel ou logiciel connu et approprié, ou par une combinaison de matériel et de logiciel. Par exemple, le processeur 501 peut être formé par un matériel dédié tel qu'un circuit de traitement, ou par une unité de traitement programmable telle qu'une unité centrale de traitement ( Central Processing Unit ) qui exécute un programme stocké dans une mémoire de celui-ci. L'unité de stockage 502 peut être formée par n'importe quel moyen approprié capable de stocker le programme, des données d'une manière lisible par un ordinateur. Des exemples d'unité de stockage 502 comprennent des supports de stockage non transitoires lisibles par ordinateur tels que des dispositifs de mémoire à semi-conducteurs, et des supports d'enregistrement magnétiques, optiques ou magnéto-optiques chargés dans une unité de lecture et d'écriture. Le programme amène le processeur 501 à exécuter un procédé de gestion de la retransmission de données manquantes selon un mode de réalisation de l’invention. Le dispositif de saisie 503 peut être formé par un clavier, un dispositif de pointage tel qu'une souris à utiliser par un utilisateur pour entrer des commandes. Le dispositif d'affichage 504 peut être formé par un dispositif d'affichage pour afficher, tel que par exemple une interface graphique utilisateur (GUI). Le dispositif de saisie 503 et le dispositif d'affichage 504 peuvent être formés intégralement au moyen d’un écran tactile, par exemple. L'unité d'interface 505 fournit une interface entre l’équipement de communication 10, 20 et un appareil externe. L'unité d'interface 505 peut communiquer avec l'appareil externe via une connexion filaire ou sans fil. Une interface réseau 507 fournit une connexion entre l’équipement de communication 10, 20 et un nœud intermédiaire 11 via un réseau de communication, tel qu'Internet. L'interface réseau 507 peut fournir, en fonction de sa nature, une connexion filaire ou sans fil au réseau. Procédé de gestion d’une retransmission de données échangées sur un chemin établi entre un premier équipement de communication et un deuxième équipement de communication, ledit chemin comprenant au moins un équipement intermédiaire capable de retransmettre au moins une partie des données manquantes, ledit procédé étant mis en œuvre par le premier équipement de communication et comprenant les étapes suivantes de : - détection de données manquantes parmi les données transmises par le deuxième équipement de communication, - traitement, par une application dudit premier équipement de communication, desdites données transmises, - sélection, en fonction d’une valeur d’un paramètre de performance intermédiaire représentative d’une position relative de l’équipement intermédiaire vis-à-vis du premier équipement de communication et d’informations relatives aux données manquantes, d’un mode de traitement desdites données manquantes parmi une pluralité de modes de traitement des desdites données manquantes comprenant un premier mode de traitement desdites données manquantes et au moins un deuxième mode de traitement desdites données manquantes, - lorsque le premier mode de traitement des données manquantes, dit mode de retransmission des données manquantes, est sélectionné et lorsque la valeur du paramètre de performance intermédiaire est inférieure à un premier seuil, retardement, jusqu’à l’expiration d’un compte à rebours d’une durée proportionnelle à une première durée de propagation aller-retour entre le premier équipement de communication et le nœud intermédiaire, d’une émission à destination du deuxième équipement d’un message demandant une retransmission des données manquantes. Procédé de gestion d’une retransmission de données selon la revendication 1 dans lequel, lorsque la valeur du paramètre de performance intermédiaire est supérieure audit premier seuil, le message demandant une retransmission des données manquantes est émis à destination du deuxième équipement de communication avant l’expiration du compte à rebours. Procédé de gestion d’une retransmission de données selon la revendication 1 comprenant une étape de traitement, par ladite application dudit premier équipement de communication, des données manquantes transmises par le nœud intermédiaire lorsque ces dernières ont été reçues avant l’expiration du compte à rebours. Procédé de gestion d’une retransmission de données selon la revendication 1 comprenant en outre une étape de détermination de la valeur du paramètre de performance intermédiaire correspondant à un rapport entre la première durée de propagation aller-retour entre le premier équipement de communication et le nœud intermédiaire et une deuxième durée de propagation aller-retour entre le premier équipement de communication et le deuxième équipement de communication. Procédé de gestion d’une retransmission de données selon la revendication 1 dans lequel lorsqu’un deuxième mode de traitement desdites données manquantes, dit mode sans retransmission des données manquantes, est sélectionné parmi ladite pluralité de modes de traitement des desdites données manquantes, le compte à rebours n’est pas déclenché. Procédé de gestion d’une retransmission de données selon la revendication 3 dans lequel le deuxième mode de traitement desdites données manquantes est sélectionné lorsque les données manquantes sont des données de remplissage. Procédé de gestion d’une retransmission de données selon la revendication 5 dans lequel le deuxième mode de traitement desdites données manquantes est sélectionné lorsque le nombre de données manquantes dépasse un deuxième seuil. Procédé de gestion d’une retransmission de données selon l’une quelconque des revendications précédentes dans lequel un paramètre identifiant le mode de traitement à appliquer aux données manquantes est associé auxdites données transmises par une application d’une couche liaison de données dudit premier équipement de communication, ledit paramètre identifiant ledit mode de traitement à appliquer aux données manquantes étant destiné à être utilisé par une application de la couche transport dudit premier équipement de communication lorsqu’elle met en œuvre ladite étape de sélection d’un mode de traitement des données manquantes. Procédé de gestion d’une retransmission de données selon l’une quelconque des revendications précédentes dans lequel les informations relatives aux données manquantes appartiennent au groupe comprenant : - les données échangées étant découpées en sous-groupes de données, un identifiant d’au moins un sous-groupe de données, - une position d’au moins un sous-groupe auquel appartiennent lesdites données manquantes dans un train de sous-groupes de données transmis par le deuxième équipement de communication, - un nombre de données manquantes, - un pointeur indiquant les données manquantes dans le train de données transmis par le deuxième équipement de communication. Procédé de gestion d’une retransmission de données selon la revendication 8 dans lequel ledit message demandant une retransmission des données manquantes audit deuxième équipement comprend au moins l’une desdites informations relatives aux données manquantes. Équipement de communication constituant une première extrémité d’un chemin établi entre ledit équipement de communication et un autre équipement de communication, ledit chemin comprenant au moins un équipement intermédiaire capable de retransmettre au moins une partie de données reçues manquantes, ledit équipement étant capable de gérer une retransmission de données échangées sur le chemin de communication et comprenant au moins un processeur configuré pour : - détecter des données manquantes parmi les données transmises par le deuxième équipement de communication, - traiter, par une application dudit premier équipement de communication, lesdites données transmises, - sélectionner, en fonction d’une valeur d’un paramètre de performance intermédiaire représentative d’une position relative de l’équipement intermédiaire vis-à-vis du premier équipement de communication et d’informations relatives aux données manquantes, un mode de traitement desdites données manquantes parmi une pluralité de modes de traitement des desdites données manquantes comprenant un premier mode de traitement desdites données manquantes et au moins un deuxième modes de traitement desdites données manquantes, - lorsque le premier mode de traitement des données manquantes, dit mode de retransmission des données manquantes, est sélectionné et lorsque la valeur du paramètre de performance intermédiaire est inférieure à un premier seuil, retarder, jusqu’à l’expiration d’un compte à rebours d’une durée proportionnelle à une première durée de propagation aller-retour entre le premier équipement de communication et le nœud intermédiaire, une émission à destination du deuxième équipement d’un message demandant une retransmission des données manquantes. Produit programme d’ordinateur comprenant des instructions qui, lorsque ces instructions sont exécutées par un processeur, conduisent celui-ci à mettre en œuvre les étapes du procédé de gestion d’une retransmission de données selon la revendication 1.