FR3075529A1 - CORRECTION OF AN ICMP PACKET RELATED TO AN IP PACKET HAVING BEEN PROCESSED BY ALG - Google Patents
CORRECTION OF AN ICMP PACKET RELATED TO AN IP PACKET HAVING BEEN PROCESSED BY ALG Download PDFInfo
- Publication number
- FR3075529A1 FR3075529A1 FR1762464A FR1762464A FR3075529A1 FR 3075529 A1 FR3075529 A1 FR 3075529A1 FR 1762464 A FR1762464 A FR 1762464A FR 1762464 A FR1762464 A FR 1762464A FR 3075529 A1 FR3075529 A1 FR 3075529A1
- Authority
- FR
- France
- Prior art keywords
- packet
- size
- value
- message
- icmp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Procédé de correction d'un paquet d'un message de protocole de contrôle sur Internet (ICMP), lors d'un acheminement d'un paquet (12, 12t) entre un réseau privé (LAN) et un réseau public (WAN) ayant été traité par une passerelle de couche d'application (ALG), comprenant des étapes de : lecture (PC1) d'un paquet d'un message de protocole de contrôle sur Internet (ICMP) comprenant un message « besoin de fragmenter » et une valeur d'une unité de transmission maximale (MTU) qui définit la taille de paquets de données maximale prise en charge dans un protocole de communication utilisé par un routage, calcul (PC2) d'une valeur (n) d'une taille de traitement en comparant une taille (Lin) d'un paquet non traité (12) par l'intégrateur de passerelle de couche d'application (ALG) et une taille (Lout) du même paquet traité (12t) par l'intégrateur de passerelle de couche d'application (ALG), modification (PC3) du paquet d'un message de protocole de contrôle sur internet (ICMP) en écrasant la valeur de l'unité de transmission maximale (MTU) par une valeur de taille de paquet maximale réelle qui est fonction de la valeur de la taille de traitement (n), envoi (PC4), vers un émetteur (1) ayant envoyé le paquet non traité (12t), du paquet d'un message de protocole de contrôle sur internet modifié (ICMP). Method for correcting a packet of an Internet control protocol (ICMP) message, when a packet (12, 12t) is routed between a private network (LAN) and a public network (WAN) having been processed by an application layer gateway (ALG), comprising steps of: reading (PC1) of a packet of an Internet control protocol (ICMP) message including a “need to fragment” message and a value of a maximum transmission unit (MTU) which defines the size of data packets maximum supported in a communication protocol used by a routing, calculation (PC2) of a value (n) of a processing size by comparing a size (Lin) of an unprocessed packet (12) by the application layer gateway integrator (ALG) and a size (Lout) of the same packet processed (12t) by the application layer gateway integrator (ALG), modification (PC3) of the packet of an internet control protocol message (ICMP) by overwriting the value of the maximum transmission unit (MTU) with a value of actual maximum packet size which is a function of the value of the processing size (n), sending (PC4), to an emitter (1) having sent the unprocessed packet (12t), of the packet of a modified internet control protocol (ICMP) message.
Description
La présente invention se rapporte de manière générale au routage de données dans une passerelle entre un réseau privé LAN (de l’anglais : Local Area Network pour réseau privé) et un réseau public WAN (de l’anglais : WideArea Network pour réseau privé , par opposition au réseau local ou LAN), comprenant un protocole de passerelle de couche d’application ALG (de l’anglais « Application Layer Gateway » pour passerelle de couche d’application), pour l’établissement d’une connexion multichemins entre au moins un équipement informatique d’un réseau privé et un équipement informatique ou équipements de réseau informatique d’un autre réseau public.The present invention relates generally to the routing of data in a gateway between a private LAN network (from English: Local Area Network for private network) and a public network WAN (from English: WideArea Network for private network, as opposed to the local area network (LAN), comprising an application layer gateway protocol ALG (for the application layer gateway), for establishing a multi-path connection between the minus computer equipment from a private network and computer equipment or computer network equipment from another public network.
Plus précisément, les messages sont conformes au protocole de contrôle de messages Internet ICMP. (L’ICMP est l’acronyme de l’anglais : Internet Control Message Protocol pour protocole de message de contrôle d’internet). Le protocole ICMP permet de gérer les informations relatives aux erreurs détectées par les machines connectées au réseau Internet. Ainsi, le protocole ICMP est utilisé des routeurs pour reporter une erreur. Les messages d’erreur ICMP sont transportés sur le réseau sous forme de datagramme, comme n'importe quelle donnée dans un paquet d’un message de protocole de contrôle sur internet ICMP.Specifically, the messages conform to the ICMP Internet message control protocol. (ICMP is the acronym for English: Internet Control Message Protocol). The ICMP protocol is used to manage information relating to errors detected by machines connected to the Internet. Thus, the ICMP protocol is used by routers to report an error. ICMP error messages are transported over the network in the form of a datagram, like any data in a packet of an ICMP internet control protocol message.
L’invention concerne plus particulièrement un procédé de correction d’un paquet d’un message de protocole de contrôle sur Internet ICMP issue d’un paquet SIP ( de l’anglais : « Session Initiation Protocol » pour protocole d’ouverture de session ) contenant une taille dépassant la taille de transmission maximum MTU (de l’anglais : « Maximum Transmission Unit » pour unité de transmission maximum) d’un routeur, lors d’un acheminement d’un paquet entre un réseau privé et un réseau public par le biais d’un intégrateur de passerelle de couche d’application ALG.The invention relates more particularly to a method of correcting a packet of a control protocol message on the Internet ICMP originating from a SIP packet (from English: "Session Initiation Protocol" for session opening protocol) containing a size exceeding the maximum transmission size MTU (from the English: “Maximum Transmission Unit” for maximum transmission unit) of a router, when routing a packet between a private network and a public network by through an ALG application layer gateway integrator.
L'invention trouve des applications, en particulier, dans les appels utilisant le protocole SIP dont les paquets sont traités par un protocole de passerelle de couche d’application ALG.The invention finds applications, in particular, in calls using the SIP protocol whose packets are processed by an ALG application layer gateway protocol.
Arrière-plan TechnologiqueTechnological background
L’ALG protocole de passerelle de couche d’application est une technique utilisée dans les réseaux informatiques, pour permettre d’augmenter la sécurité d’un pare-feu ou NAT entre un réseau local et un réseau public. L’ALG protocole de passerelle de couche d’application est un composant logiciel qui gère des protocoles d’applications spécifiques comme le SIP et le FTP (de l’anglais File Transfer Protocol pour protocole de transfert de fichier). Le protocole de passerelle de couche d’application ALG agit donc en intermédiaire entre un réseau public (Internet) et un réseau privé dans une passerelle qui peut comprendre des protocoles d’application. Par exemple, le protocole de passerelle de couche d’application ALG réécrit la couche protocolaire SIP pour permettre la translation entre un réseau privé LAN et un réseau public WAN. L’ALG apparaît comme le point de terminaison avant le routage de la passerelle, c’est-à-dire la sortie de la passerelle. L’ALG contrôle l’autorisation ou le refus du trafic vers une application du serveur. Il le fait en interceptant et en analysant un trafic spécifié, pour permettre au trafic de passer par la passerelle.The ALG application layer gateway protocol is a technique used in computer networks to increase the security of a firewall or NAT between a local network and a public network. The ALG application layer gateway protocol is a software component that manages specific application protocols such as SIP and FTP (from the English File Transfer Protocol). The ALG application layer gateway protocol therefore acts as an intermediary between a public network (Internet) and a private network in a gateway which may include application protocols. For example, the ALG application layer gateway protocol rewrites the SIP protocol layer to allow translation between a private LAN and a public WAN. The ALG appears as the end point before routing the gateway, that is, leaving the gateway. The ALG controls the authorization or refusal of traffic to an application on the server. It does this by intercepting and analyzing specified traffic, to allow traffic to pass through the gateway.
Lors d’un envoi d’un paquet d’un réseau interne à un réseau externe, le protocole de passerelle de couche d’application ALG peut convertir des informations, des adresses, dans une couche réseau du paquet. Cela peut entraîner des problèmes du fait que la taille du paquet peut dépasser une taille maximum de transmission d’un hôte, par exemple un routeur, entre un émetteur et le récepteur.When sending a packet from an internal network to an external network, the ALG application layer gateway protocol can convert information, addresses, into a network layer of the packet. This can cause problems because the packet size can exceed a maximum transmission size of a host, such as a router, between a transmitter and a receiver.
Il est connu qu’en cas de taille d’un paquet dépassant une taille de transmission maximum MTU d’un Hôte, par exemple un routeur, d’utiliser un protocole de message de contrôle d’internet ICMP qui est un message d’erreur, par exemple lorsqu’un service ou un hôte est inaccessible, envoyé à l’émetteur. Le routeur utilise le protocole de message de contrôle d’internet ICMP, pour transférer un paquet d’un message de protocole de contrôle sur internet ICMP vers l’émetteur comprenant une information sur la taille Maximum de transmission MTU de l’hôte en l’occurrence du routeur. Un flag DF (Don't Fragment) du paquet sortant permet de découvrir la taille Maximum de transmission MTU d'un chemin donné (appelé aussi « MTU discovery » de l’anglais découverte de la taille de transmission maximum MTU ). Le long du chemin emprunté par un tel paquet, si l'un des hôtes ou routeurs traversés a un MTU plus petit que la taille du paquet émis, ce dernier sera rejeté et un paquet d’un message de protocole de contrôle sur internet ICMP, contenant une taille MTU de l'hôte qui le génère, sera envoyé afin d'informer la source.It is known that in case of a packet size exceeding a maximum transmission size MTU of a Host, for example a router, to use an ICMP internet control message protocol which is an error message , for example when a service or a host is inaccessible, sent to the sender. The router uses the ICMP internet control message protocol, to forward a packet of an ICMP internet control protocol message to the transmitter including information about the host's maximum transmission MTU size in occurrence of the router. A flag DF (Don't Fragment) of the outgoing packet allows to discover the Maximum MTU transmission size of a given path (also called "MTU discovery" of the English discovery of the maximum MTU transmission size). Along the path taken by such a packet, if one of the hosts or routers crossed has an MTU smaller than the size of the transmitted packet, the latter will be rejected and a packet of a control protocol message on the ICMP internet, containing an MTU size of the host that generates it, will be sent to inform the source.
Un exemple de ce type de message est représenté par exemple sur la figure 6 qui est une copie d’une partie d’écran d’ordinateur, sur lequel on peut lire:An example of this type of message is represented for example in FIG. 6 which is a copy of a part of the computer screen, on which one can read:
type 3 / code 4, Fragmentation Needed la valeur du MTU est dans un champ du paquet d’un message de protocole de contrôle sur internet ICMP: « taille de transmission maximum MTU of next hop » : 1492 dans cet exempletype 3 / code 4, Fragmentation Needed the value of the MTU is in a field of the packet of a control protocol message on the ICMP internet: "maximum transmission size MTU of next hop": 1492 in this example
Notamment, il est connu des valeurs usuelles de MTU pour diffèrent type de réseau :In particular, the usual MTU values are known for different types of network:
sur Ethernet :over Ethernet:
MTU = 1 500 octets par défaut.MTU = 1,500 bytes by default.
MTU = 1500 à 9000 octets avec Jumbo frame.MTU = 1500 to 9000 bytes with Jumbo frame.
sur PPPoE : MTU = 1 492 octets.on PPPoE: MTU = 1,492 bytes.
sur ADSL ou ATM25 : MTU = 1 468 octets.on ADSL or ATM25: MTU = 1468 bytes.
sur ADSL en Wi-Fi MTU = 1 468 octets.over ADSL over Wi-Fi MTU = 1468 bytes.
Ainsi, l’émetteur peut envoyer un paquet, par exemple de taille 1491 octets et si il n’y a pas de message d’erreur, il peut en déduire qu’il peut envoyer au moins des paquets de 1491 octets.Thus, the transmitter can send a packet, for example of size 1491 bytes and if there is no error message, it can deduce therefrom that it can send at least packets of 1491 bytes.
Si l’émetteur reçoit un paquet d’un message de protocole de contrôle sur internet ICMP avec l’information de fragmenter et comprenant l’information d’une taille de transmission maximum MTU d’une valeur de 1468 octets, l’émetteur peut soit fragmenter pour atteindre une taille inférieure ou égale à 1468 octets, soit réduire son message pour atteindre 1468 octets, notamment quand le paquet ne peut pas être fragmenté.If the transmitter receives a packet of an ICMP internet control protocol message with the fragment information and including the information of a maximum transmission size MTU of 1468 bytes, the transmitter can either fragment to reach a size less than or equal to 1468 bytes, or reduce its message to reach 1468 bytes, especially when the packet cannot be fragmented.
Par exemple, dans le cadre téléphonique en VoIP (Voix sur IP), un émetteur peut envoyer dans le réseau privé un paquet marqué « ne pas fragmenter » DF comprenant dans la couche 7 d’application un paquet SIP qui est un protocole S.I.P. Le paquet SIP est un protocole de signalisation avec une information permettant l'initialisation de sessions multimédias et peut être modifié par le protocole de passerelle de couche d’application ALG.For example, in the VoIP (Voice over IP) telephone framework, a transmitter can send in the private network a packet marked "do not fragment" DF comprising in the application layer 7 a SIP packet which is an S.I.P. The SIP packet is a signaling protocol with information allowing the initialization of multimedia sessions and can be modified by the ALG application layer gateway protocol.
En effet, lors du traitement du paquet SIP par le protocole de passerelle de couche d’application ALG, l’entête du paquet SIP peut être modifié, par exemple une adresse IP ou un port peuvent être modifiés, des informations peuvent être ajoutées dans la couche applicative du paquet SIP. Cette modification peut entraîner une modification de la taille du paquet IP envoyé comme décrit précédemment.Indeed, during the processing of the SIP packet by the ALG application layer gateway protocol, the header of the SIP packet can be modified, for example an IP address or a port can be modified, information can be added in the application layer of the SIP packet. This change may result in a change in the size of the IP packet sent as described above.
Lorsqu’un paquet dépasse la taille de transmission maximale MTU d'un paquet pouvant être transmis en une seule fois (sans fragmentation), un routage renvoie vers l’émetteur un paquet d’un message de protocole de contrôle sur internet ICMP comprenant l’information d’un besoin de fragmenter (« Fragmentation Needed ») ainsi que la valeur maximum de transmission unit MTU.When a packet exceeds the maximum transmission size MTU of a packet which can be transmitted at once (without fragmentation), a routing sends back to the sender a packet of a control protocol message on the ICMP internet including the information on a fragmenting need and the maximum transmission value of MTU.
Dans le cas où la valeur de taille de transmission maximum MTU est inférieure à la taille du paquet IP transmis par l’émetteur, l’émetteur peut soit renvoyer un paquet de plus petite taille ou peut accepter la fragmentation du paquet en renvoyant le même paquet mais sans le flag DF.In case the maximum transmission size value MTU is less than the size of the IP packet transmitted by the sender, the sender can either send back a smaller packet or can accept the fragmentation of the packet by sending the same packet but without the DF flag.
Cependant, du fait que le protocole de passerelle de couche d’application ALG a modifié le paquet, il est possible dans certains cas que la valeur de taille de transmission maximum MTU soit supérieure à la taille du paquet envoyé par l’émetteur et bien évidemment inférieure à la taille du même paquet traité par le protocole de passerelle de couche d’application ALG. L’émetteur ne comprend pas l’erreur mentionnée dans le paquet d’un message de protocole de contrôle sur internet ICMP étant donné que la taille du paquet envoyé par l’émetteur était inférieure à la valeur de transmission maximum.However, since the ALG application layer gateway protocol has modified the packet, it is possible in certain cases that the value of maximum transmission size MTU is greater than the size of the packet sent by the transmitter and obviously smaller than the same packet processed by the ALG application layer gateway protocol. The transmitter does not understand the error mentioned in the packet of an ICMP internet control protocol message since the size of the packet sent by the transmitter was less than the maximum transmission value.
L’émetteur ne comprenant pas, le processus d’appel s’arrête et donc échoue.As the transmitter does not understand, the calling process stops and therefore fails.
Un exemple va être décrit pour mieux illustrer ce problème :An example will be described to better illustrate this problem:
L’émetteur envoie un paquet d’une taille de 1490 octets comprenant un paquet IP marqué « ne pas fragmenter » DF (de l’anglais : « don’t fragment » pour ne pas fragmenter). Le protocole de passerelle de couche d’application ALG modifie le paquet SIP en modifiant notamment les adresses IP LAN par l’adresse IP WAN de la passerelle et peut modifier le port. Ces modifications entraînent dans cet exemple une augmentation de 7 octets de la taille du paquet.The transmitter sends a packet with a size of 1490 bytes including an IP packet marked "do not fragment" DF (from English: "don’t fragment" not to fragment). The ALG application layer gateway protocol modifies the SIP packet by modifying in particular the LAN IP addresses by the gateway WAN IP address and can modify the port. In this example, these changes result in a 7-byte increase in packet size.
La taille du paquet traité par le protocole de passerelle de couche d’application ALG est donc de 1490 octets + 7 octets soit 1497 octets. Le routage de la passerelle après le protocole de passerelle de couche d’application ALG pour passer du réseau privé LAN au réseau public WAN peut par exemple accepter la taille de 1497 octets, mais un des routages par exemple, dans le réseau public, n’accepte que 1492 octets, c’est-à-dire que la valeur de la taille de transmission maximum MTU est de 1492.The packet size processed by the ALG application layer gateway protocol is therefore 1490 bytes + 7 bytes, or 1497 bytes. The routing of the gateway after the ALG application layer gateway protocol to pass from the private LAN to the public WAN network can for example accept the size of 1497 bytes, but one of the routings for example, in the public network, does not accepts only 1492 bytes, that is, the value of the maximum transmission size MTU is 1492.
Ce routage, du fait du paquet SIP marqué DF, va renvoyer vers l’émetteur de ce paquet, un paquet d’un message de protocole de contrôle sur internet ICMP marqué «fragment needed » avec une valeur de taille de transmission maximum MTU de 1492. Celui-ci va passer la passerelle du réseau public vers le réseau privé puis l’émetteur va recevoir ce paquet d’un message de protocole de contrôle sur internet ICMP contenant la valeur de taille de transmission maximum MTU de 1492 alors que l’émetteur a envoyé un paquet d’une taille de 1490 octets.This routing, due to the SIP packet marked DF, will send back to the sender of this packet, a packet of a control protocol message on the ICMP internet marked "fragment needed" with a value of maximum transmission size MTU of 1492 This will pass the gateway from the public network to the private network, then the transmitter will receive this packet of a control protocol message on the ICMP internet containing the value of maximum transmission size MTU of 1492 while the transmitter sent a packet with a size of 1490 bytes.
II y a donc un échec de l’appel. Cela est particulièrement dangereux dans le cas d’un appel d’urgence.There is therefore a failure of the call. This is particularly dangerous in the case of an emergency call.
II y a donc un besoin de remédier à ces problèmes.There is therefore a need to remedy these problems.
Résumé de l'inventionSummary of the invention
L'invention permet de résoudre un problème posé par une augmentation de taille d’un paquet par le protocole de passerelle de couche d’application ALG et dans lequel l’augmentation de la taille ajoutée fait dépasser la valeur de la taille de transmission maximum MTU d’un routage entre l’émetteur et le récepteur.The invention solves a problem posed by an increase in packet size by the ALG application layer gateway protocol and in which the increase in added size exceeds the value of the maximum transmission size MTU. routing between the transmitter and the receiver.
L'invention vise à supprimer, ou du moins atténuer, tout ou partie des inconvénients de l'art antérieur précités.The invention aims to eliminate, or at least mitigate, all or part of the disadvantages of the aforementioned prior art.
A cet effet, un premier aspect de l’invention propose de modifier la valeur de la taille de transmission maximum MTU reçu dans le paquet d’un message de protocole de contrôle sur internet ICMP par une valeur inférieure fonction de la modification de la taille du paquet par le protocole de passerelle de couche d’application ALG.To this end, a first aspect of the invention proposes to modify the value of the maximum transmission size MTU received in the packet of a control protocol message on the ICMP internet by a lower value depending on the modification of the size of the packet by ALG application layer gateway protocol.
A cet effet, un premier aspect de l’invention propose un procédé de correction d’un paquet d’un message de protocole de contrôle sur Internet ICMP, lors d’un acheminement d’un paquet entre un réseau privé et un réseau public ayant été traité par une passerelle de couche d’application ALG, comprenant des étapes de :To this end, a first aspect of the invention proposes a method for correcting a packet of a control protocol message on the ICMP Internet, when routing a packet between a private network and a public network having been processed by an ALG application layer gateway, comprising steps of:
• lecture d’un paquet d’un message de protocole de contrôle sur Internet ICMP comprenant un message besoin de fragmenter et une valeur de taille de transmission maximale (MTU, maximum transmission unit) qui définit la taille de paquets de données maximale prise en charge dans un protocole de communication utilisé par un routage, • calcul d’une valeur d’une taille (appelé aussi longueur) de traitement en comparant une taille d’un paquet non traité par l’intégrateur de passerelle de couche d’application ALG et une taille du même paquet traité par l’intégrateur de passerelle de couche d’application ALG, • modification du paquet d’un message de protocole de contrôle sur internet ICMP en écrasant la valeur de la taille de transmission maximale MTU par une valeur de taille de paquet maximale réelle qui est fonction de la valeur de la taille de traitement, • envoi, vers un émetteur ayant envoyé le paquet non traité (12t), du paquet d’un message de protocole de contrôle sur internet modifié ICMP.• Reading a packet of an ICMP Internet control protocol message including a Need to Fragment message and a maximum transmission unit value (MTU) which defines the maximum supported data packet size. in a communication protocol used by a routing, • calculation of a value of a processing size (also called length) by comparing a size of a packet not processed by the application layer gateway integrator ALG and a size of the same packet processed by the ALG application layer gateway integrator, • modification of the packet of an ICMP internet control protocol message by overwriting the value of the maximum transmission size MTU with a value of size maximum actual packet which is a function of the value of the processing size, • sending, to a sender who sent the unprocessed packet (12t), the packet of a message of ICMP modified internet control protocol.
Cela permet que la valeur de taille de la modification d’un paquet modifié par le protocole de passerelle de couche d’application ALG soit prise en compte dans le paquet d’un message de protocole de contrôle sur internet ICMP .This allows the modification size value of a packet modified by the ALG application layer gateway protocol to be taken into account in the packet of an ICMP internet control protocol message.
Il s’ensuit qu’à l’essai suivant, l’émetteur modifiera son paquet pour avoir une taille inférieure à la valeur de la taille de transmission maximum MTU réelle correspondant à une valeur de taille de transmission maximum MTU lorsque le paquet est modifié. La modification peut par exemple, dans le cas d’un appel par le Protocol SIP, être réalisée en supprimant un codée dans la partie message.It follows that in the next test, the transmitter will modify its packet to have a size less than the value of the actual maximum transmission size MTU corresponding to a value of maximum transmission size MTU when the packet is modified. The modification can for example, in the case of a call by the SIP Protocol, be carried out by deleting an encoded code in the message part.
Selon un mode de réalisation, le procédé de correction d’un paquet d’un message de protocole de contrôle sur Internet ICMP, comprenant en outre une étape de :According to one embodiment, the method for correcting a packet of an ICMP Internet control protocol message, further comprising a step of:
• calcul de la valeur de taille de transmission maximale réelle en soustrayant la valeur calculée de la taille de traitement à la valeur de l’unité de transmission maximale du paquet d’un message de protocole de contrôle sur internet ICMP.• calculation of the actual maximum transmission size value by subtracting the calculated value of the processing size from the maximum transmission unit value of the packet of an ICMP internet control protocol message.
Ce mode de réalisation permet que la taille de paquet que peut envoyer l’émetteur soit la taille maximum avant traitement. L’émetteur peut donc supprimer un message tel que, un codée peu utile, ayant une taille correspondant au moins à la taille de transmission maximale réelle soustrait de la taille du paquet envoyé précédemment.This embodiment allows the packet size that the transmitter can send to be the maximum size before processing. The transmitter can therefore delete a message such as, a code that is not very useful, having a size corresponding at least to the actual maximum transmission size subtracted from the size of the packet sent previously.
Selon un mode de réalisation pouvant se combiner avec le mode décrit précédemment, le procédé de correction d’un paquet d’un message de protocole de contrôle sur Internet comprend en outre une étape de :According to an embodiment which can be combined with the mode described above, the method for correcting a packet of a control protocol message on the Internet further comprises a step of:
• mesure de la taille du paquet non traité, • mémorisation de la taille du paquet non traité, • mesure de la taille du paquet traité par l’intégrateur de passerelle de couche d’application ALG, • mémorisation de la valeur de la taille de traitement calculée.• measurement of the size of the untreated packet, • storage of the size of the untreated packet, • measurement of the size of the packet processed by the ALG application layer gateway integrator, • storage of the value of the size of calculated salary.
Selon un mode de réalisation, le procédé comprend une étape d’envoi d’un paquet d’un message de protocole de contrôle sur Internet ICMP comprenant la valeur de taille de transmission maximale réelle MTU si la taille du paquet traité est supérieure à une taille prédéterminée, par exemple 1500 octets.According to one embodiment, the method comprises a step of sending a packet of a control protocol message on the Internet ICMP comprising the value of maximum actual transmission size MTU if the size of the packet processed is greater than a size predetermined, for example 1500 bytes.
Cela permet de directement envoyer la valeur de taille de transmission maximale réelle directement. La taille prédéterminée pouvant être mise à jour dans le cas où une nouvelle taille de transmission maximum MTU connu est supérieure à cette taille prédéterminée.This allows the actual maximum transmission size value to be sent directly. The predetermined size can be updated in the event that a new known maximum transmission size MTU is greater than this predetermined size.
Un deuxième aspect de l’invention concerne aussi un procédé de traitement d’un paquet entre un réseau privé et un réseau public comprenant le procédé de correction d’un paquet d’un message de protocole de contrôle sur Internet ICMP décrit précédemment ou un ou des modes de réalisation décrits précédemment. Ce procédé comprend en outre une étape de :A second aspect of the invention also relates to a method of processing a packet between a private network and a public network comprising the method of correcting a packet of a control protocol message on the ICMP Internet described above or one or more of the embodiments described above. This method further includes a step of:
• réception d’un paquet, marqué ne pas fragmenter, non traité par un intégrateur de passerelle de la couche d’application ALG, • transformation du paquet non traité par l’intégrateur de passerelle de la couche d’application ALG en un paquet traité.• reception of a packet, marked not to fragment, not processed by a gateway integrator of the ALG application layer, • transformation of the packet not processed by the gateway integrator of the ALG application layer into a processed packet .
Selon un mode de réalisation du procédé de traitement d’un paquet entre un réseau privé et un réseau public, le procédé comprend en outre une étape :According to one embodiment of the method for processing a packet between a private network and a public network, the method further comprises a step:
• d’envoi du paquet traité vers le destinataire sur un réseau public si la taille du paquet traité n’est pas supérieure à une taille de valeur d’une unité de transmission maximale (MTU, maximum transmission unit) du routage de la passerelle.• sending the processed packet to the recipient on a public network if the size of the processed packet is not greater than a size value of a maximum transmission unit (MTU, maximum transmission unit) of the gateway routing.
Ce mode de réalisation permet d’envoyer sur le réseau public le paquet uniquement si la valeur de la taille du paquet envoyé est inférieure à la taille de transmission maximum MTU de la passerelle.This embodiment allows the packet to be sent over the public network only if the value of the size of the packet sent is less than the maximum transmission size MTU of the gateway.
Selon un mode de réalisation du procédé de traitement d’un paquet entre un réseau privé et un réseau public pouvant se combiner avec le mode de réalisation précédent, le procédé comprend en outre une étape de :According to one embodiment of the method for processing a packet between a private network and a public network which can be combined with the previous embodiment, the method further comprises a step of:
• génération d’un paquet d’un message de protocole de contrôle sur Internet ICMP si la taille du paquet traité est supérieure à une taille de valeur d’une unité de transmission maximale MTU, et dans lequel l’étape de modification du paquet d’un message de protocole de contrôle sur Internet est réalisée.Generation of a packet of a control protocol message on the Internet ICMP if the size of the packet processed is greater than a value size of a maximum transmission unit MTU, and in which the step of modifying the packet d a control protocol message on the Internet is carried out.
Cela permet de modifier directement dans le routage de la passerelle du protocole de passerelle de couche d’application ALG d’envoyer la taille maximum de transmission réelle.This allows direct modification in the gateway routing of the ALG application layer gateway protocol to send the actual maximum transmission size.
Selon un mode de réalisation du procédé de traitement d’un paquet entre un réseau privé et un réseau public pouvant se combiner avec les modes de réalisation précédents, le paquet du message est un paquet IPV4 ou IPV6.According to an embodiment of the method for processing a packet between a private network and a public network which can be combined with the previous embodiments, the message packet is an IPV4 or IPV6 packet.
Selon un mode de réalisation du procédé de traitement d’un paquet entre un réseau privé et un réseau public pouvant se combiner avec les modes de réalisation précédents, la couche d’application du message envoyé est un protocole de signalisation SIP.According to an embodiment of the method for processing a packet between a private network and a public network which can be combined with the preceding embodiments, the application layer of the message sent is a SIP signaling protocol.
Cela permet d’émettre un appel en passant par un protocole de passerelle de couche d’application ALG.This allows a call to be made using an ALG application layer gateway protocol.
Selon un exemple de ce mode de réalisation le paquet SIP contient une requête INVITE ou BYE.According to an example of this embodiment, the SIP packet contains an INVITE or BYE request.
Selon un mode de réalisation du procédé de traitement d’un paquet entre un réseau privé et un réseau public pouvant se combiner avec les modes de réalisation précédents, la couche d’application du message est un protocole de transfert de fichier FTP.According to one embodiment of the method for processing a packet between a private network and a public network which can be combined with the preceding embodiments, the application layer of the message is an FTP file transfer protocol.
Un troisième aspect de l’invention concerne aussi un intégrateur de protocole de passerelle de couche d’application ALG comprenant le procédé de correction décrit précédemment avec ou sans un ou des modes de réalisation décrit précédemment.A third aspect of the invention also relates to an ALG application layer gateway protocol integrator comprising the correction method described above with or without one or more embodiments described above.
Un quatrième aspect de l’invention concerne aussi un produit de « Logiciel d’ordinateur » comprenant l’intégrateur de passerelle de couche d’application ALG selon le troisième aspect de l’invention.A fourth aspect of the invention also relates to a "Computer software" product comprising the ALG application layer gateway integrator according to the third aspect of the invention.
Un cinquième aspect de l’invention concerne aussi un routeur comprenant le produit de « Logiciel d’ordinateur » comprenant l’intégrateur de passerelle de couche d’application ALG selon le quatrième aspect de l’invention.A fifth aspect of the invention also relates to a router comprising the "Computer software" product comprising the ALG application layer gateway integrator according to the fourth aspect of the invention.
Un sixième aspect de l’invention concerne aussi un réseau privé LAN comprenant un routeur selon le cinquième aspect de l’invention et au moins un appareil apte à envoyer un paquet au routeur, notamment un paquet SIP comprenant une requête INVITE.A sixth aspect of the invention also relates to a private LAN network comprising a router according to the fifth aspect of the invention and at least one device capable of sending a packet to the router, in particular a SIP packet comprising an INVITE request.
Un septième aspect de l’invention concerne aussi un dispositif d’une passerelle de couche d’application ALG permettant la communication entre un réseau privé et un réseau public, dans lequel le dispositif de passerelle comprend :A seventh aspect of the invention also relates to a device of an ALG application layer gateway allowing communication between a private network and a public network, in which the gateway device comprises:
• une entrée privée de données configurée pour recevoir des données d’un réseau privé LAN, • une entrée publique de données configurée pour recevoir des données d’un réseau public WAN, • une mémoire de données permettant de mémoriser des données • une mémoire de programme comprenant :• a private data input configured to receive data from a private LAN, • a public data input configured to receive data from a public WAN network, • a data memory for storing data • a memory for program including:
i) un programme de lecture d’un paquet d’un message de protocole de contrôle sur Internet ICMP comprenant un message besoin de fragmenter et une valeur d’une unité de transmission maximale (MTU, maximum transmission unit) qui définit la taille de paquets de données maximale de données maximale prise en charge dans un protocole de communication utilisé par un routage, ii) un programme de calcul d’une valeur de la taille de traitement en comparant la taille d’un paquet non traité par l’intégrateur de passerelle de couche d’application ALG et la taille du même paquet traité par l’intégrateur de passerelle de couche d’application ALG, iii) un programme d’écriture pour modifier le paquet d’un message de protocole de contrôle sur internet ICMP en écrasant la valeur de l’unité de transmission maximale par une valeur de taille de paquet maximale réelle qui est fonction de la valeur de la taille de traitement, iv) un programme d’envoi vers un émetteur ayant envoyé le paquet non traité dans l’entrée privée, du paquet d’un message de protocole de contrôle sur internet modifié (ICMP).i) a program for reading a packet of an ICMP Internet control protocol message including a need to fragment message and a value of maximum transmission unit (MTU) which defines the size of packets maximum data maximum data supported in a communication protocol used by a routing, ii) a program for calculating a value of the processing size by comparing the size of a packet not processed by the gateway integrator ALG application layer and the size of the same packet processed by the ALG application layer gateway integrator, iii) a write program to modify the packet of an ICMP internet control protocol message by overwriting the value of the maximum transmission unit by an actual maximum packet size value which is a function of the value of the processing size, iv) a sending program to a transmitter having sent the unprocessed packet to the private entry, from the Modified Internet Control Protocol (ICMP) message packet.
Selon un mode de réalisation, le dispositif d’une passerelle de couche d’application est un routeur.According to one embodiment, the device of an application layer gateway is a router.
Un huitième aspect de l’invention concerne aussi un produit programme d'ordinateur chargeable directement dans la mémoire interne d'un ordinateur numérique, comprenant des portions de code de logiciel qui, lorsque ledit programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre toutes les étapes du procédé de correction ou du procédé de traitement décrit précédemment sans ou avec les différents modes de réalisation décrit.An eighth aspect of the invention also relates to a computer program product which can be loaded directly into the internal memory of a digital computer, comprising portions of software code which, when said program is executed by a computer, lead the latter to implementing all the steps of the correction method or of the treatment method described above without or with the various embodiments described.
Un neuvième aspect de l’invention concerne aussi un support d'enregistrement de données lisible par une machine comprenant un processeur, comprenant le programme d’ordinateur décrit précédemment.A ninth aspect of the invention also relates to a machine-readable data recording medium comprising a processor, comprising the computer program described above.
Brève Description des DessinsBrief Description of the Drawings
D’autres caractéristiques et avantages de l’invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels :Other characteristics and advantages of the invention will become apparent on reading the description which follows. This is purely illustrative and should be read in conjunction with the accompanying drawings in which:
- la Figure 1 est un schéma fonctionnel montrant un exemple d’envoi d’un paquet ayant une taille supérieure à la valeur de taille de transmission maximum MTU d’un routage WAN et mettant en œuvre la correction de la valeur de taille de transmission maximum MTU dans un paquet d’un message de protocole de contrôle sur internet ICMP;- Figure 1 is a block diagram showing an example of sending a packet having a size greater than the maximum transmission size value MTU of a WAN routing and implementing the correction of the maximum transmission size value MTU in a packet of an ICMP internet control protocol message;
- la Figure 2 est un schéma fonctionnel montrant un exemple d’envoi d’un paquet ayant une taille supérieure à la valeur de taille de transmission maximum MTU d’un routage LAN-WAN et mettant en œuvre la correction de la valeur de taille de transmission maximum MTU dans un paquet d’un message de protocole de contrôle sur internet ICMP ;- Figure 2 is a block diagram showing an example of sending a packet having a size greater than the maximum transmission size value MTU of a LAN-WAN routing and implementing the correction of the size value of maximum transmission MTU in a packet of an ICMP internet control protocol message;
- La figure 3 est un schéma montrant le cas où l’émetteur a modifié son paquet après le cas de la figure 1 ou 2 ;- Figure 3 is a diagram showing the case where the transmitter has modified its packet after the case of Figure 1 or 2;
- La Figure 4 est un diagramme d’étapes qui illustre un mode de mise en œuvre du procédé de correction de la valeur du taille de transmission maximum MTU.- Figure 4 is a step diagram which illustrates an implementation of the method for correcting the value of the maximum transmission size MTU.
- La figure 5 montre une portion d’un imprime écran illustrant un exemple de paquet IP à ne pas fragmenter contenant un protocole SIP.- Figure 5 shows a portion of a screen print illustrating an example of an IP packet not to fragment containing a SIP protocol.
- La figure 6 montre une portion d’un imprime écran illustrant un paquet d’un message de protocole de contrôle sur internet ICMP.- Figure 6 shows a portion of a screen print illustrating a packet of an ICMP internet control protocol message.
Description détaillée de modes de réalisationDetailed description of embodiments
Dans la description de modes de réalisation qui va suivre et dans les figures des dessins annexés, les mêmes éléments ou des éléments similaires portent les mêmes références aux dessins.In the description of embodiments which follows and in the figures of the appended drawings, the same or similar elements bear the same references in the drawings.
Comme il a été exposé en introduction, différentes applications de la couche 7 peuvent être modifiées par le protocole de passerelle de couche d’application ALG, notamment le FTP et le SIP.As discussed in the introduction, different Layer 7 applications can be modified by the ALG application layer gateway protocol, including FTP and SIP.
L’invention va être décrite à titre d’exemple avec l’envoi d’un paquet SIP.The invention will be described by way of example with the sending of a SIP packet.
Le protocole SIP a à de nombreuses applications telles que l’appel VoIP, la visiophonie, la messagerie instantanée, la réalité virtuelle ou même les jeux vidéo en ligne.The SIP protocol has many applications such as VoIP calling, video calling, instant messaging, virtual reality or even online video games.
Le SIP partage de nombreuses similitudes avec le protocole HTTP comme le codage en ASCII et les codes de réponse.SIP shares many similarities with the HTTP protocol such as ASCII encoding and response codes.
Dans l’entête, on retrouve des informations telles que :In the header, we find information such as:
l'adresse IP de la source l'adresse IP de la destination le type de message (INVITE, ACK, OK, BYE, etc...) le type de contenu du message (souvent SDP) etc.the source IP address the destination IP address the type of message (INVITE, ACK, OK, BYE, etc.) the type of content of the message (often SDP) etc.
L’invention va être en particulier décrite pour un appel VoIP par le protocole SIP.The invention will be described in particular for a VoIP call by the SIP protocol.
L’émetteur appelé aussi client, envoie des requêtes au serveur qui lui renvoie une réponse. Les requêtes de base sont :The transmitter, also called a client, sends requests to the server, which returns a response. The basic queries are:
• INVITE permet à un client de demander une nouvelle session, • ACK confirme l'établissement de la session, • CANCEL annule un INVITE en suspens, • BYE termine une session en cours, • OPTIONS permet de récupérer les capacités de gestion des usagers, sans ouvrir de session, • REGISTER permet de s'enregistrer auprès d'un serveur d'enregistrement.• INVITE allows a client to request a new session, • ACK confirms the establishment of the session, • CANCEL cancels a pending INVITE, • BYE ends a session in progress, • OPTIONS allows to recover the user management capacities, without opening a session, • REGISTER allows you to register with a registration server.
L’invention sera décrite avec un exemple de paquet SIP INVITE dans la suite mais bien entendu est uniquement à titre d’exemple.The invention will be described with an example of a SIP INVITE package in the following, but of course is only by way of example.
La figure 1 montre un exemple d’envoi du paquet SIP INVITE.Figure 1 shows an example of sending the SIP INVITE packet.
La figure 5 montre un exemple de paquet IP utilisant le Protocol SIP comprenant une requête INVITE. Le paquet SIP envoyé par l’émetteur peut comprendre par exemple pour un IPv4, en indicateur le champ Flag le bit 1 qui dit bit DF (Don’t Fragment) (au contraire s’il est positionné à 0, la fragmentation est autorisée). Dans l’exemple décrit ci-dessous le bit 1 du champ Flag est positionné à 1 et donc la fragmentation est interdite. Le paquet IP de la figure 5 comprend l’indication ne pas fragmenter DF : don’t fragment.Figure 5 shows an example of an IP packet using the SIP Protocol including an INVITE request. The SIP packet sent by the transmitter can include for example for an IPv4, by indicating the Flag field bit 1 which says bit DF (Don't Fragment) (on the contrary if it is set to 0, fragmentation is authorized) . In the example described below bit 1 of the Flag field is set to 1 and therefore fragmentation is prohibited. The IP packet in Figure 5 includes the indication do not fragment DF: don’t fragment.
Le paquet IP de la figure 5 montre que sa taille « Total length » est de 1485 Octets.The IP packet in Figure 5 shows that its “Total length” size is 1485 Bytes.
L’émetteur 1 qui est par exemple un téléphone IP est dans un réseau privé LAN et envoie un paquet 12 de protocole SIP étiqueté DF ayant une requête INVITE dans une entrée privée de données configurée pour recevoir des données d’un réseau privé LAN, d’un routeur 2. Le routeur 2 est un dispositif qui sert de passerelle entre un réseau privée LAN et un réseau public WAN. Le routeur 2 comprend donc une entrée publique de données configurée pour recevoir des données d’un réseau privé WAN. Par entrée, on entend des données qui peuvent entrer ou sortir dans le routeur 2.The transmitter 1 which is for example an IP telephone is in a private LAN network and sends a packet 12 of SIP protocol labeled DF having an INVITE request in a private data entry configured to receive data from a private LAN network, d a router 2. Router 2 is a device which serves as a gateway between a private LAN network and a public WAN network. Router 2 therefore includes a public data entry configured to receive data from a private WAN network. By input, we mean data that can enter or exit router 2.
La figure 4 montre un diagramme d’étape du routeur 2 montrant une étape P1 de réception de ce paquet 12. Le paquet 12 est à destination d’un receveur 3 étant par exemple un ordinateur. Le routeur 2 réalise une étape P2 visible sur la figure 4 qui mémorise la valeur Lin de la taille du paquet 12 qui est en l’occurrence 1485 octets dans une mémoire de données permettant de mémoriser des données.FIG. 4 shows a step diagram of the router 2 showing a step P1 of receiving this packet 12. The packet 12 is intended for a receiver 3 being for example a computer. The router 2 performs a step P2 visible in FIG. 4 which stores the value Lin of the size of the packet 12 which is in this case 1485 bytes in a data memory making it possible to store data.
Le routeur 2 comprend une mémoire programme comprenant un protocole de passerelle de couche d’application ALG pour adapter le paquet 12 provenant du réseau privé LAN à un réseau public WAN. Le routeur réalise donc une étape P3 de traitement protocole de passerelle de couche d’application ALG du paquet 12 ce qui entraîne des modifications de la couche d’application SIP, notamment les occurrences de l’adresse IP LAN qui sont remplacées par une autre adresse IP WAN ainsi que dans cet exemple la modification d’un port. Le paquet 12 devient alors un paquet traité 12t. Les modifications ont augmentées la taille Lin du paquet 12 qui passe de 1485 à la taille Lout du paquet traité 12t à 1495 octet dans cet exemple.Router 2 includes program memory including an ALG application layer gateway protocol for adapting packet 12 from the private LAN to a public WAN. The router therefore performs a step P3 of processing the ALG application layer gateway protocol of the packet 12, which causes modifications to the SIP application layer, in particular the occurrences of the LAN IP address which are replaced by another address. IP WAN as well as in this example the modification of a port. The package 12 then becomes a processed package 12t. The modifications increased the size Lin of the packet 12 which goes from 1485 to the size Lout of the packet processed 12t to 1495 bytes in this example.
Le routeur 2 réalise une étape P4 qui mémorise la taille Lout du paquet traité 12t dans la mémoire de donnée. Le routeur 2 comprend ensuite, un routage E1 qui en l’occurrence vérifie la valeur de taille de transmission maximum MTU qui est de 1500 octets et le compare à la taille du paquet 12t.Router 2 performs a step P4 which stores the size Lout of the processed packet 12t in the data memory. Router 2 then includes a routing E1 which in this case checks the maximum transmission size value MTU which is 1500 bytes and compares it with the size of the packet 12t.
Le paquet 12t est ensuite transféré dans le réseau Public par lequel il va passer par plusieurs routages, notamment le routage E3. Le routage E3 vérifie aussi la taille du paquet 12t par rapport à la valeur de sa taille de transmission maximum MTU qui est en l’occurrence de 1492 Octets.The 12t packet is then transferred to the Public network through which it will go through several routes, in particular E3 routing. The E3 routing also checks the size of the 12t packet compared to the value of its maximum transmission size MTU which is in this case 1492 bytes.
La taille du paquet 12t étant supérieure à la taille de transmission maximum du routage E3 , le routage E3 renvoie en direction du téléphone 1 un paquet d’un message de protocole de contrôle sur internet ICMP. La figure 6 montre un exemple de paquet d’un message de protocole de contrôle sur internet ICMP pour être retransmis à l’émetteur 1. Dans ce paquet d’un message de protocole de contrôle sur internet ICMP, on peut voir un champ « MTU next hop » dont la valeur est de 1492, correspondant à la taille de transmission maximum MTU de ce routage E3.Since the size of the 12t packet is greater than the maximum transmission size of the E3 routing, the E3 routing returns towards the telephone 1 a packet of a control protocol message on the ICMP internet. FIG. 6 shows an example packet of an ICMP internet control protocol message to be retransmitted to the transmitter 1. In this packet of an ICMP internet control protocol message, we can see a field “MTU next hop ”whose value is 1492, corresponding to the maximum transmission size MTU of this E3 routing.
Le paquet d’un message de protocole de contrôle sur internet passe par les mêmes routeurs par lequel le paquet traité 12t est passé et notamment passe par le routeur 2 pour passer du réseau public WAN au réseau privé LAN.The packet of a control protocol message on the internet passes through the same routers through which the processed packet 12t has passed and in particular passes through router 2 to pass from the public WAN network to the private LAN network.
Le routeur 2 ayant reçu le paquet d’un message de protocole de contrôle sur internet ICMP, et ayant mémorisé la valeur de la taille du paquet 12 et du même paquet traité 12t peut procéder à un procédé de correction d’un paquet d’un message de protocole de contrôle sur Internet ICMP.Router 2 having received the packet of an ICMP internet control protocol message, and having stored the value of the size of the packet 12 and of the same processed packet 12t can carry out a method of correcting a packet of a ICMP Internet control protocol message.
Un exemple de ce procédé de correction PC est représenté dans le diagramme d’étape sur la figure 4. Dans cet exemple, la modification d’une valeur de taille de transmission maximum MTU dans le paquet d’un message de protocole de contrôle sur internet ICMP est réalisée dès lors qu’un paquet d’un message de protocole de contrôle sur internet ICMP est reçu dans le routeur et que le paquet IP d’origine a été traité par un protocole de passerelle de couche d’application ALG. Le routeur 2 comprend donc une mémoire de programme pour effectuer ce procédé de correction. Le procédé de correction comprend une première étape PC1 de réception d’un paquet d’un message de protocole de contrôle sur internet ICMP et de lecture dans le paquet d’un message de protocole de contrôle sur Internet ICMP d’une valeur d’une unité de transmission maximale (MTU, maximum transmission unit) qui définit la taille de paquets de données maximale prise en charge dans le routage E3.An example of this PC correction method is shown in the step diagram in Figure 4. In this example, changing a maximum transmission size value MTU in the packet of a control protocol message on the internet ICMP is performed when an ICMP internet control protocol message packet is received in the router and the original IP packet has been processed by an ALG application layer gateway protocol. Router 2 therefore includes a program memory for performing this correction process. The correction method comprises a first step PC1 of receiving a packet of an ICMP internet control protocol message and reading in the packet of an ICMP internet control protocol message of a value of maximum transmission unit (MTU) which defines the maximum data packet size supported in E3 routing.
Le procédé de correction, dans ce mode de réalisation, comprend en outre une étape de calcul PC2 d’une valeur de la taille de traitement en comparant la longueur d’un paquet non traité par l’intégrateur de passerelle de couche d’application ALG et la taille du paquet traité par protocole de passerelle de couche d’application ALG. En l’occurrence, la valeur de la taille du paquet 12 non traité était de 1485 et la taille du paquet traité était de 1495 soit une valeur de la taille de traitement de 10.The correction method, in this embodiment, further comprises a step of calculating PC2 of a value of the processing size by comparing the length of a packet not processed by the application layer gateway integrator ALG and the packet size processed by ALG application layer gateway protocol. In this case, the value of the size of the untreated packet 12 was 1485 and the size of the treated packet was 1495, ie a value of the processing size of 10.
Le procédé de correction comprend en outre une étape de modification PC3 du paquet d’un message de protocole de contrôle sur internet en écrasant la valeur de l’unité de transmission maximale par une valeur de taille de paquet maximale réelle qui est fonction de la valeur de la taille de traitement.The correction method further comprises a step PC3 of modifying the packet of a control protocol message on the internet by overwriting the value of the maximum transmission unit with a value of actual maximum packet size which is a function of the value processing size.
En l’occurrence, l’étape de modification PC3 comprend une soustraction de la valeur calculée de la taille de traitement qui était égale à 10 à la valeur du champ « MTU of next hop » qui était de 1492 du paquet d’un message de protocole de contrôle sur internet ICMP. Ainsi la valeur de taille de paquet maximale réelle dans le champ « taille de transmission maximum MTU of next hop » est de 1482 du paquet d’un message de protocole de contrôle sur internet ICMP modifié.In this case, the modification step PC3 comprises a subtraction of the calculated value of the processing size which was equal to 10 from the value of the field "MTU of next hop" which was 1492 from the packet of a message of ICMP internet control protocol. Thus the actual maximum packet size value in the "maximum MTU of next hop transmission size" field is 1482 of the packet of a modified ICMP internet control protocol message.
Enfin le procédé de correction comprend une étape d’envoi vers l’émetteur du paquet d’un message de protocole de contrôle sur internet modifié ICMP, dans lequel le champ taille de transmission maximum « MTU of next hop » est de 1482 et non 1492.Finally, the correction method includes a step of sending to the sender of the packet an ICMP modified internet control protocol message, in which the maximum transmission size field "MTU of next hop" is 1482 and not 1492 .
Il s’ensuit que l’émetteur 1 comprend l’erreur du fait que son paquet faisait 1485 et le modifie par exemple en supprimant un codée puis renvoie son paquet 12m avec le protocole SIP et la requête INVITE comprenant une taille inférieure à 1482 octets, par exemple 1480 octets.It follows that the transmitter 1 understands the error of the fact that its packet was 1485 and modifies it for example by deleting an encoded then returns its packet 12m with the SIP protocol and the INVITE request comprising a size less than 1482 bytes, for example 1480 bytes.
La figure 3 est un schéma montrant le cas où l’émetteur a modifié son paquet après le cas de la figure 1. Le paquet 12m est traité par le protocole de passerelle de couche d’application ALG. Un paquet 12mt sors du protocole de passerelle de couche d’application ALG avec une taille de 1490 octets par exemple, puis passe par différents routages E1, E2 E3, En jusqu’à arriver au récepteur 3.FIG. 3 is a diagram showing the case where the transmitter has modified its packet after the case in FIG. 1. The 12m packet is processed by the ALG application layer gateway protocol. A 12mt packet leaves the ALG application layer gateway protocol with a size of 1490 bytes for example, then goes through different routes E1, E2 E3, En until arriving at receiver 3.
Bien entendu, un autre routage, par exemple E4 non représenté peut avoir une taille de transmission maximum MTU inférieure à 1492, par exemple 1468 octets. Dans ce cas, si le paquet IP comprend toujours un flag DF (Don’t Fragment), le procédé de protocole d’un message de contrôle sur internet ICMP recommence, puisque la taille du nouveau paquet 12mt est supérieure à la taille de transmission maximum MTU du routage E4. Un nouveau paquet d’un message de protocole de contrôle sur internet ICMP est donc envoyé du routage E4 au routeur 2, comprenant un champ taille de transmission maximum « MTU next hop » de 1468 octets. Le routeur 2 réalise donc l’étape de calcule PC2. En l’occurrence, la valeur de la taille du paquet 12 non traité était de 1480 et la taille du paquet traité était de 1490 pour passer la dernière valeur de taille de transmission maximum MTU de 1492 soit toujours la valeur de la taille de traitement de 10. Le routeur 2 réalise alors la modification de la taille de transmission maximum MTU en remplaçant 1468 par 1458 (1468 - 10).Of course, another routing, for example E4 not shown may have a maximum transmission size MTU less than 1492, for example 1468 bytes. In this case, if the IP packet still includes a DF (Don't Fragment) flag, the protocol process for a control message on the ICMP internet starts again, since the size of the new 12mt packet is greater than the maximum transmission size MTU of E4 routing. A new packet of an ICMP internet control protocol message is therefore sent from routing E4 to router 2, including a maximum transmission size field "MTU next hop" of 1468 bytes. Router 2 therefore performs the PC2 calculation step. In this case, the value of the size of the unprocessed packet 12 was 1480 and the size of the processed packet was 1490 to pass the last value of maximum transmission size MTU of 1492 being always the value of the processing size of 10. Router 2 then modifies the maximum transmission size MTU by replacing 1468 with 1458 (1468 - 10).
. Il s’ensuit que le routeur réalise l’étape d’envoi PC5 à l’émetteur 1 du paquet d’un message de protocole de contrôle sur internet ICMP comprenant la valeur de la taille de transmission maximum MTU de 1458 dans le champs « MTU next hop ».. It follows that the router performs the step of sending PC5 to the sender 1 of the packet of an ICMP internet control protocol message comprising the value of the maximum transmission size MTU of 1458 in the field "MTU next hop ".
Il s’en suit qu’à chaque réception d’un paquet d’un message de protocole de contrôle sur internet ICMP issue d’un paquet IP ayant été modifié par le protocole de passerelle de couche d’application ALG, on réalise l’étape de calcul PC2 et l’étape de modification PC3 et enfin l’étape d’envoi du paquet d’un message de protocole de contrôle sur internet ICMP modifié PC4. Ainsi, en cas de protocole de message de contrôle sur internet ICMP issue d’un paquet modifié par l’ALG, l’émetteur IP reçoit toujours un paquet d’un message de protocole de contrôle sur internet ICMP modifié. Cela a pour avantage d’éviter un second paquet d’un message de protocole de contrôle sur internet ICMP par le même hôte (routeur) puisque le traitement est pris en compte dès la première fois.It follows that on each reception of a packet of an ICMP internet control protocol message originating from an IP packet having been modified by the ALG application layer gateway protocol, the PC2 calculation step and PC3 modification step and finally the step of sending the packet of a modified ICMP control protocol message on the PC4 internet. Thus, in the event of an ICMP internet control message protocol originating from a packet modified by the ALG, the IP transmitter always receives a packet of a modified ICMP internet control protocol message. This has the advantage of avoiding a second packet of an ICMP internet control protocol message by the same host (router) since the processing is taken into account from the first time.
Le routeur 2 peut aussi, à la suite de la modification du paquet 12, envoyé par l’émetteur 1, par le protocole de passerelle de couche d’application ALG envoyer à l’émetteur 1 un paquet d’un message de protocole de contrôle sur internet ICMP si la taille du paquet modifié est supérieure à sa taille de transmission maximum MTU. La figure 2 représente un schéma fonctionnel montrant le routeur réalisant le protocole de passerelle de couche d’application ALG et le paquet d’un message de protocole de contrôle sur internet ICMP.Router 2 can also, following the modification of packet 12, sent by transmitter 1, by the application layer gateway protocol ALG send to transmitter 1 a packet of a control protocol message. on the ICMP internet if the size of the modified packet is greater than its maximum transmission size MTU. FIG. 2 represents a functional diagram showing the router implementing the ALG application layer gateway protocol and the packet of an ICMP internet control protocol message.
L’émetteur 1 envoie donc d’un réseau privé un paquet IP 12 pour un appel par VoIP utilisant le protocole SIP à un receveur 3 en passant par un réseau LAN comme dans l’exemple de la figure 1. Le receveur 3 peut être aussi dans un autre réseau privé LAN mais accessible uniquement par un réseau Public WAN.The transmitter 1 therefore sends an IP packet 12 from a private network for a call by VoIP using the SIP protocol to a receiver 3 via a LAN network as in the example in FIG. 1. The receiver 3 can also be in another private LAN but accessible only by a Public WAN network.
Dans cet exemple d’appel, le paquet 12 qui a une taille Lin par exemple 1491 octets, a sa valeur de taille mémorisé comme dans l’exemple de la figure 1 dans une mémoire de donnée puis le paquet 12 est modifié par le protocole de passerelle de couche d’application ALG pour devenir un paquet traité 12t contenant 1501 octets. Le routeur 2 mémorise comme dans l’exemple de la figure 1, la taille Lout du paquet traité 12t dans une mémoire de donnée. Le routeur 2 effectue un calcul d’une valeur (n) de la taille de traitement en comparant la taille Lin du paquet 12 et la taille Lout du paquet 12t. Le routeur mémorise dans cet exemple la valeur n dans une structure « sk_buff » du paquet IP. Le routage 1 LAN-WAN vérifie la taille Lout du paquet 12t de 1501 octets par rapport à sa taille de transmission maximum MTU de 1500 octets. Le paquet 12t étant un paquet SIP marqué « ne pas fragmenter » DF, le routeur 2 envoie en direction de l’émetteur 1 un paquet d’un message de protocole de contrôle sur internet ICMP contenant une valeur de taille de transmission maximum MTU en fonction de la valeur n mémorisée dans le paquet IP.In this example of call, the packet 12 which has a size Lin for example 1491 bytes, has its value of size stored as in the example of FIG. 1 in a data memory then the packet 12 is modified by the protocol of ALG application layer gateway to become a processed 12t packet containing 1501 bytes. Router 2 stores, as in the example in FIG. 1, the size Lout of the packet processed 12t in a data memory. Router 2 performs a calculation of a value (n) of the processing size by comparing the size Lin of the packet 12 and the size Lout of the packet 12t. In this example, the router stores the value n in a “sk_buff” structure of the IP packet. LAN-WAN routing 1 checks the Lout size of the 12t packet of 1501 bytes against its maximum MTU transmission size of 1500 bytes. The 12t packet being a SIP packet marked “do not fragment” DF, the router 2 sends towards the transmitter 1 a packet of a control protocol message on the ICMP internet containing a value of maximum transmission size MTU in function of the value n stored in the IP packet.
En l’occurrence, la mémoire de programme comprend un programme d’écriture pour modifier le paquet d’un message de protocole de contrôle sur internet ICMP en écrasant la valeur de l’unité de transmission maximale par une valeur de taille de paquet maximale réelle qui est la valeur de la taille de transmission maximum MTU du routeur soit 1500 soustrait de la valeur de traitement n qui est de 10.In this case, the program memory includes a write program for modifying the packet of an ICMP internet control protocol message by overwriting the value of the maximum transmission unit with an actual maximum packet size value. which is the value of the maximum transmission size MTU of the router or 1500 subtracted from the processing value n which is 10.
La mémoire programme comprend en outre un programme d’envoi vers une des entrées privées ou sortie ayant reçu d’un émetteur du message le paquet d’un message de protocole de contrôle sur internet modifié ICMP.The program memory further comprises a program for sending to one of the private inputs or outputs having received from a message sender the packet of an ICMP modified internet control protocol message.
Selon un autre exemple on modifie la valeur de la taille de transmission maximum MTU par la valeur de la taille de transmission maximum MTU reçu soustrait de la somme de la valeur de la taille de traitement calculée à l’étape PC2 et d’une valeur prédéterminée de marge de sécurité. La marge de sécurité peut par exemple être égale à 1 octet.According to another example, the value of the maximum transmission size MTU is modified by the value of the maximum transmission size MTU received subtracted from the sum of the value of the processing size calculated in step PC2 and by a predetermined value. safety margin. The safety margin can for example be equal to 1 byte.
La présente invention a été décrite et illustrée dans la présente description détaillée et dans les figures des dessins annexés, dans des formes de réalisation possibles. La présente invention ne se limite pas, toutefois, aux formes de réalisation présentées. D’autres variantes et modes de réalisation peuvent être déduits et mis en œuvre par la personne du métier à la lecture de la présente description et des dessins annexés.The present invention has been described and illustrated in the present detailed description and in the figures of the appended drawings, in possible embodiments. The present invention is not limited, however, to the embodiments presented. Other variants and embodiments can be deduced and implemented by the person skilled in the art on reading this description and the attached drawings.
Dans les revendications, le terme comprendre ou comporter n’exclut pas d’autres éléments ou d’autres étapes. Un seul processeur ou plusieurs autres unités peuvent être utilisées pour mettre en œuvre l’invention. Les différentes caractéristiques présentées et/ou revendiquées peuvent être avantageusement combinées. Leur présence dans la description ou dans des revendications dépendantes différentes, n’excluent pas cette possibilité. Les signes de référence ne sauraient être compris comme limitant la portée de l’invention.In the claims, the term include or include does not exclude other elements or other steps. A single processor or more than one other unit can be used to implement the invention. The various features presented and / or claimed can be advantageously combined. Their presence in the description or in different dependent claims does not exclude this possibility. The reference signs should not be understood as limiting the scope of the invention.
Claims (9)
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1762464A FR3075529B1 (en) | 2017-12-19 | 2017-12-19 | CORRECTION OF AN ICMP PACKET RELATED TO AN IP PACKET HAVING BEEN PROCESSED BY ALG |
US16/954,896 US11012363B2 (en) | 2017-12-19 | 2018-12-13 | Correction of an ICMP packet linked to an IP packet having been processed by an ALG |
EP18814947.0A EP3701688B1 (en) | 2017-12-19 | 2018-12-13 | Correction of an icmp packet linked to an ip packet having been treated by an alg |
PCT/EP2018/084668 WO2019121281A1 (en) | 2017-12-19 | 2018-12-13 | Correction of an icmp packet linked to an ip packet having been treated by an alg |
CN201880086746.5A CN111615815A (en) | 2017-12-19 | 2018-12-13 | Correction of ICMP packets linked to IP packets already processed by ALG |
BR112020012359-5A BR112020012359A2 (en) | 2017-12-19 | 2018-12-13 | correction of icmp packet connected to ip packet having been processed by alg |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1762464 | 2017-12-19 | ||
FR1762464A FR3075529B1 (en) | 2017-12-19 | 2017-12-19 | CORRECTION OF AN ICMP PACKET RELATED TO AN IP PACKET HAVING BEEN PROCESSED BY ALG |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3075529A1 true FR3075529A1 (en) | 2019-06-21 |
FR3075529B1 FR3075529B1 (en) | 2019-11-22 |
Family
ID=61224132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1762464A Expired - Fee Related FR3075529B1 (en) | 2017-12-19 | 2017-12-19 | CORRECTION OF AN ICMP PACKET RELATED TO AN IP PACKET HAVING BEEN PROCESSED BY ALG |
Country Status (6)
Country | Link |
---|---|
US (1) | US11012363B2 (en) |
EP (1) | EP3701688B1 (en) |
CN (1) | CN111615815A (en) |
BR (1) | BR112020012359A2 (en) |
FR (1) | FR3075529B1 (en) |
WO (1) | WO2019121281A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150188833A1 (en) * | 2013-12-31 | 2015-07-02 | Red Hat Israel, Ltd. | Overhead management for virtual machines |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7650635B2 (en) * | 2004-04-07 | 2010-01-19 | Cisco Technology, Inc. | Method and apparatus for preventing network attacks by authenticating internet control message protocol packets |
US7697524B2 (en) * | 2005-04-05 | 2010-04-13 | Cisco Technology, Inc. | Method and system for determining path maximum transfer unit for IP multicast |
CN101521622A (en) * | 2008-02-29 | 2009-09-02 | 华为技术有限公司 | Method and device for determining maximum transmission unit |
US9069727B2 (en) * | 2011-08-12 | 2015-06-30 | Talari Networks Incorporated | Adaptive private network with geographically redundant network control nodes |
US8934489B2 (en) * | 2013-01-31 | 2015-01-13 | Gemtek Technology Co., Ltd. | Routing device and method for processing network packet thereof |
US9088515B2 (en) * | 2013-03-15 | 2015-07-21 | International Business Machines Corporation | Dynamic maximum transmission unit size adaption |
US20190124055A1 (en) * | 2017-10-24 | 2019-04-25 | Ultra Electronics, 3eTI | Ethernet security system and method |
-
2017
- 2017-12-19 FR FR1762464A patent/FR3075529B1/en not_active Expired - Fee Related
-
2018
- 2018-12-13 US US16/954,896 patent/US11012363B2/en active Active
- 2018-12-13 EP EP18814947.0A patent/EP3701688B1/en active Active
- 2018-12-13 WO PCT/EP2018/084668 patent/WO2019121281A1/en unknown
- 2018-12-13 CN CN201880086746.5A patent/CN111615815A/en active Pending
- 2018-12-13 BR BR112020012359-5A patent/BR112020012359A2/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150188833A1 (en) * | 2013-12-31 | 2015-07-02 | Red Hat Israel, Ltd. | Overhead management for virtual machines |
Also Published As
Publication number | Publication date |
---|---|
US11012363B2 (en) | 2021-05-18 |
EP3701688A1 (en) | 2020-09-02 |
WO2019121281A1 (en) | 2019-06-27 |
BR112020012359A2 (en) | 2020-11-24 |
FR3075529B1 (en) | 2019-11-22 |
EP3701688B1 (en) | 2021-09-01 |
US20200382434A1 (en) | 2020-12-03 |
CN111615815A (en) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3476095B1 (en) | Method for multi-path udp communication method between two terminals | |
US7472411B2 (en) | Method for stateful firewall inspection of ICE messages | |
EP2297928B1 (en) | Method for receiving a data packet in an ipv6 domain, and associated device and residential gateway | |
EP2073507A1 (en) | Control of the interface for emitting an SIP response message | |
EP3556130B1 (en) | Method of surveillance of a telecommunications network implemented by an access point | |
EP3643044B1 (en) | Method of activating processes applied to a data session | |
EP1868346B1 (en) | Detection of loops within an intermediate SIP signalling element | |
EP3972218A1 (en) | Method for secure access to resources via a telecommunications network and associated control system | |
US8510466B2 (en) | Bypassing an application layer gateway | |
FR3096533A1 (en) | Method for managing a communication between terminals in a communication network, and devices for implementing the method | |
WO2009125158A2 (en) | Method of routing a data packet in a network and associated device | |
EP3549368B1 (en) | Method of fractioning application messages in an ip network | |
EP3238422B1 (en) | Method and device for maintaining transport address associations for an address translation entity | |
EP3701688B1 (en) | Correction of an icmp packet linked to an ip packet having been treated by an alg | |
EP3087719B1 (en) | Method of slowing down a communication in a network | |
WO2020193924A1 (en) | Gateway and method for differentiating traffic transmitted by the gateway, traffic management device and method | |
WO2008145901A1 (en) | Method and device for interfacing between the udp or tcp and sctp protocols | |
EP2171966B1 (en) | Managing multi-stream sessions between a terminal and a server | |
EP3070911A1 (en) | Method for controlling access to a private network | |
WO2024121281A1 (en) | Method for managing a set of ip addresses, collaboration method, and devices configured to implement these methods | |
EP4453765A1 (en) | Methods for identifying at least one server for mitigating and protecting a client domain against a computer attack, corresponding devices and signal | |
FR3144466A1 (en) | Method for anonymizing a communication between a source application and a destination application; associated computer system, module and program product. | |
WO2008031967A2 (en) | Method of supervising a session for accessing a service set up by a client terminal by means of a dynamic configuration protocol | |
FR3147063A1 (en) | Methods for transmitting configuration data, associated electronic devices, central network and server comprising such an electronic device | |
FR2873254A1 (en) | Data packet transmission device for Internet network, has packet processing module to prepare transmission of packet with IPv4 type header having source and destination addresses, where part of destination address is located outside header |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20190621 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
ST | Notification of lapse |
Effective date: 20230808 |