Brevet FR2922704A1 — publié le 20090424

Procédé et dispositif de traitement de paquets de données dans un réseau de communication supportant une pluralité de niveaux d'importance et de classes de service pour les paquets de données. La présente invention se rapporte au traitement des paquets de données dans un réseau de communications supportant une pluralité de niveaux d'importance et de classes de service pour les paquets de données. Elle trouve une application générale dans les services de communication du type voix, vidéo, et/ou données d'application, et plus particulièrement dans les communications de type Voix sur IP appelé encore VoIP pour �Voice over Internet Protocol�. Sous VoIP, notamment sous le protocole MPLS (�Multiple Protocol Label 15 Switching�, les paquets de données représentant la voix, la vidéo et/ou les données d'applications sont généralement transmis par des routeurs qui peuvent introduire un délai de traitement ou supprimer l'appel en raison de problèmes de congestion, ou d'encombrement du réseau survenant par exemple en cas d'évènements particuliers de type catastrophe naturelle, 20 attaque terroriste ou équivalent. Pour permettre l'acheminement des appels prioritaires, en dépit de tels évènements, les routeurs du commerce traitent les paquets de données VoIP selon des files d'attente ou queues prioritaires séparées dans lesquelles les 25 paquets de niveau de priorité le plus élevé, par exemple les paquets de données relatifs à l'horloge du réseau (�clocking�) peuvent être traités en premier tandis que les autres peuvent être traités ultérieurement ou supprimés pour décongestionner le réseau. Par exemple, l'architecture est basée sur huit queues associées respectivement à huit classes de service, 30 une queue pour chaque classe de service. Dans le document US-B-7006440, les classes de service peuvent en outre être traitées selon des critères liés aux clients de manière à traiter de manière privilégiée certains clients ayant souscrit un service particulier au détriment de 35 clients n'y ayant pas souscrit. Un tel procédé permet ainsi de traiter les paquets de données sur la base d'une discrimination prédéfinie des clients. On connaît aussi des services différenciés, appelés encore � DiffServ � dans lesquels certains types de trafics telle que la voix possèdent une précédence 40 par rapport aux autres types telle que la vidéo ou les données d'application (ftp,http,...). Ainsi, les paquets de données représentant la voix sont traités en priorité par rapport aux paquets de données représentant la vidéo ou les données d'application. 45 Dans le document US-B-7050447, une queue de traitement dite � prioritaire � dispose en outre de ressources mémoires plus grandes que les autres queues non prioritaires pour traiter les paquets de données de manière discriminatoire selon un schéma de priorité prédéfini. De tels traitements de paquets de données de l'art antérieur ne sont pas totalement satisfaisants dans la mesure où la discrimination des paquets est de mise en oeuvre relativement contraignante et figée puisqu'elle est liée au client (US-B-7006440), à la source ou la nature des paquets (DiffServ), ou nécessite un algorithme de gestion supplémentaire des ressources mémoires d'une queue prioritaire (US7050447). La présente invention remédie à ces inconvénients. Elle vise ainsi à améliorer encore le traitement des paquets de données dans un réseau de communication supportant une pluralité de niveaux d'importance et de classes de services des paquets et cela indépendamment de la source (port) des paquets de données, du client, de l'espace mémoire des queues ou de la nature du paquet de données (voix, vidéo, applications). Elle a pour objet un procédé de traitement de paquets de données dans un réseau de communications supportant une pluralité de niveaux d'importance et de classes de service pour les paquets de données. Selon une définition générale de l'invention, le procédé comprend les étapes suivantes : - recevoir des paquets de données ayant chacun un niveau d'importance choisi et une classe de service choisie; - prévoir une pluralité de queues dédiées chacune à un niveau 25 d'importance choisi ; chaque queue possédant au moins une zone de stockage dédiée à une classe de service choisie ; - stocker le paquet de données courant dans la zone de stockage correspondant à la classe de service dudit paquet de données ainsi traité et appartenant à la queue de niveau d'importance correspondant; 30 et - pour chaque paquet de données ainsi stocké, appliquer un algorithme de traitement fonction du niveau d'importance et de la classe de service dudit paquet. 35 Un tel traitement des paquets de données selon plusieurs queues en fonction du niveau d'importance et de la classe de service des paquets permet une discrimination des paquets de données de mise en oeuvre plus souple, plus riche et plus robuste que les discriminations de l'art antérieur. En effet, il est possible de définir un algorithme de suppression (� drop en anglo-saxon �) 40 des paquets de données en tenant compte en priorité du niveau d'importance du paquet puis de la classe de service à laquelle appartient le paquet . En pratique, le réseau de communication supporte six niveaux d'importance et huit classes de service pour les paquets de données. Selon un mode de réalisation, chaque paquet de données comprend un champ dédié au niveau d'importance et un champ dédié à la classe de service dudit paquet. 45 Par exemple, dans le protocole IP (�Internet Protocol�), le champ dédié au niveau d'importance et le champ dédié à la classe de service sont contenus dans le champ TOS. En variante, dans le protocole MPLS, le champ dédié au niveau d'importance est le champ Cos et le champ dédié à la classe de service est contenu dans le champ étiquette. La présente invention a également pour objet un dispositif de traitement de paquets de données dans un réseau de communications supportant une pluralité de niveaux d'importance et de classes de service pour les paquets de données. Selon un autre aspect de l'invention, le dispositif comprend: - des moyens de réception pour recevoir des paquets de données ayant chacun un niveau d'importance choisi et une classe de service choisie; - une pluralité de queues dédiées chacune à un niveau d'importance choisi; chaque queue possédant au moins une zone de stockage dédiée à une classe de service choisie ; - des moyens de stockage pour stocker le paquet de données courant dans la zone de stockage correspondant à la classe de service dudit paquet de données ainsi traité et appartenant à la queue de niveau d'importance correspondant; et - des moyens de traitement apte, pour chaque paquet de données ainsi 25 stocké, à appliquer un algorithme de traitement fonction du niveau d'importance et de la classe de service dudit paquet. D'autres caractéristiques de l'invention apparaîtront à la lumière de la description détaillée ci-après et des dessins dans lesquels : 30 - la figure 1 illustre schématiquement une pluralité de queues apte à discriminer les paquets de données selon le niveau d'importance et la classe de service desdits paquets selon l'invention ; et la figure 2 est une variante d'implémentation des queues selon 35 l'invention. La présente invention trouve une application dans un réseau de communication supportant plusieurs niveaux d'importance et plusieurs classes de service pour les paquets de données. D'une manière générale, le 40 routage des données utilise un protocole qui peut être de type IP, MPLS ou analogue. Par exemple, les six niveaux d'importance sont , par ordre d'importance décroissant: Flash override override, Flash override, Flash, Immediate, priority 45 et routine. Le niveau d'importance peut être établi lors de l'appel par l'intermédiaire d'un bouton spécifique ou d'une action spécifique exécutée à partir d'un menu affiché sur le terminal, ou au cours de l'établissement de l'appel, ou 50 physiquement attaché au terminal (cas le plus probable). Un serveur d'appel (�Cali server� en anglo-saxon) est chargé d'établir l'appel et configure le niveau d'importance et la classe de service Les informations en relation avec l'appel, notamment l'adresse IP, la largeur de bande négociée, le niveau d'importance, sont chargées dans le routeur pour être utilisée en tant qu'informations de filtrage et de classification. En référence à la figure 1, un routeur comprend plusieurs ports d'entrée PE, individualisés en PEI à PEN, connectés à des sources de données de nature 10 différente (voix, vidéo, données d'applications). Chaque port d'entrée PE est relié à une chaîne de traitement comprenant notamment un processeur de paquets CL (individualisé en CL1 à CLN) de type � classifieur � apte à détecter un champ dans l'en-tête du paquet qui 15 identifie le niveau d'importance et la classe de service dudit paquet. Chaque classifieur CL envoie des paquets à des processeurs de traitement de paquets de type � policer/shaper � POS, individualisé en POSij, avec i le nombre de niveaux d'importance ici 6, et j le nombre de classes de service ici 20 8. En présence de 6 niveaux d'importance et 8 classes de services par niveau, le routeur comprend pour chaque port d'entrée PE 48 processeurs de type policer/shaper POS. On verra en référence à la figure 2 que le nombre de 25 classes pertinentes à traiter peut être inférieur à huit. Le routeur comprend en outre 6 queues prioritaires Q, individualisée en QI à Q6. 30 La queue Q1 est associée au niveau d'importance Flash override override, la queue Q2 est associée au niveau d'importance Flash override, la queue Q3 est associée au niveau d'importance Flash, la queue Q4 est associée au niveau d'importance Immediate, la queue Q5 est associée au niveau d'importance priority et la queue Q6 est associée au niveau d'importance 35 routine. Chaque queue prioritaire Q comprend des zones de stockage Z (individualisée en Zij), associée chacune à une classe de service. Ainsi la queue de niveau d'importance � flash override override comprend 8 zones de 40 stockage individualisée en Z11à Z18, la zone Z11 étant associée à la classe de service � NC �, la zone Z12 étant associée à la classe de service � HI �, la zone Z13 étant associée à la classe de service � express forwarding EF�, la zone Z14 étant associée à la classe de service � H2 � la zone Z15 étant associée à la classe de service � L1 � la zone Z16 étant associée à la classe 45 de service � assured forwarding AF �, la zone Z17 étant associée à la classe de service � L2 � et la zone Z18 étant associée à la classe � best effort service BE �. Chaque zone de stockage Z comprend une mémoire tampon (buffer) 50 Le paquet de données courant est stocké dans la zone de stockage Z correspondant à la classe de service dudit paquet de données ainsi traité et appartenant à la queue de niveau d'importance correspondant. Par exemple le paquet de données ayant le niveau d'importance � flash � et de classe de service � best effort � est stocké dans la zone de stockage Z38. Les paquets entrant et quittant chaque queue est compté par un compteur élémentaire SH, individualisé en SHI à SH6, et dédié chacun à une queue respective. Un compteur général CG compte les paquets entrant et sortant des six compteurs élémentaires Un mécanisme de traitement, appelé � scheduling � est apte, pour chaque 15 paquet de données ainsi stocké, à appliquer un algorithme de traitement fonction du niveau d'importance et de la classe de service dudit paquet. Le résultat du mécanisme est appliqué au port de sortie PS du routeur. 20 Grâce à ce mécanisme, il est donc possible de traiter uniquement les paquets appartenant au niveau d'importance le plus élevé et à la classe de service la plus élevée et supprimer (� Drop �) les autres paquets en cas de congestion du trafic. 25 En référence à la figure 2, on a décrit une variante d'implémentation dans laquelle les queues prioritaires ne traitent que 6 classes de services, au lieu de 8 comme décrit en référence à la figure 1. Il s'agit en pratique des zones de stockage associées aux classes de services 30 NC et H1 qui sont traitées à part, sans passer par les queues prioritaires Q1 à Q6. En effet, les classes de services NC et H1 sont des classes les plus prioritaires. Elles contiennent uniquement des paquets de contrôles internes 35 au réseau (protocoles,...) qui ne sont pas issus des communications des utilisateurs finaux. Il n'est donc pas nécessaires de les discriminer par les queues Q1 à Q6. En pratique, chaque paquet de données comprend un champ dédié au niveau 40 d'importance et un champ dédié à la classe de service dudit paquet. En environnement IP, le champ dédié au niveau d'importance et le champ dédié à la classe de service sont contenus dans le champ TOS. 45 En environnement MPLS, le champ dédié au niveau d'importance est le champ Cos et le champ dédié à la classe de service est contenu dans le champ étiquette.10 REVENDICATIONS 1. Procédé de traitement de paquets de données dans un réseau de communications supportant une pluralité de niveaux d'importance et de classes de service, dans lequel le procédé comprend les étapes suivantes : - recevoir des paquets de données ayant chacun un niveau d'importance choisi et une classe de service choisie; - prévoir une pluralité de queues (Q1 à Q6) dédiées chacune à un niveau d'importance choisi ; chaque queue (Q) possédant au moins une zone de stockage (Zij) dédiée à une classe de service choisie ; - stocker le paquet de données courant dans la zone de stockage (Zij) correspondant à la classe de service dudit paquet de données ainsi traité et appartenant à la queue (Q) de niveau d'importance correspondant; et - pour chaque paquet de données ainsi stocké, appliquer un algorithme de traitement fonction du niveau d'importance et de la classe de service dudit paquet. 2. Procédé selon la revendication 11 dans lequel e réseau de communication supporte six niveaux d'importance et huit classes de service pour les paquets de données. 3. Procédé selon la revendication 1 dans lequel chaque paquet de données comprend un champ dédié au niveau d'importance et un champ dédié à la classe de service dudit paquet. 4. Procédé selon la revendication 3 dans lequel le champ dédié au niveau 30 d'importance et le champ dédié à la classe de service sont contenus dans le champ TOS. 5. Procédé selon la revendication 3 dans lequel le champ dédié au niveau d'importance est le champ Cos et le champ dédié à la classe de service est 35 contenu dans le champ étiquette. 6. Dispositif de traitement de paquets de données dans un réseau de communications supportant une pluralité de niveaux d'importance et de classes de service, caractérisé en ce qu'il comprend: 40 - des moyens de réception (PEI à PEN) pour recevoir des paquets de données ayant chacun un niveau d'importance choisi et une classe de service choisie; - une pluralité de queues (QI à Q6) dédiées chacune à un niveau d'importance choisi ; chaque queue possédant au moins une zone de 45 stockage (Zij) dédiée à une classe de service choisie ; - des moyens de stockage pour stocker le paquet de données courant dans la zone de stockage correspondant à la classe de service dudit paquet de données ainsi traité et appartenant à la queue de niveau d'importance correspondant; etdes moyens de traitement apte, pour chaque paquet de données ainsi stocké, à appliquer un algorithme de traitement fonction du niveau d'importance et de la classe de service dudit paquet.