FR3154269A1 - Procédés d’acheminement de données, de configuration, d’allocation d’identifiants et d’accès à un service dans un réseau de communication mettant en œuvre des tranches réseau, entités et programme d’ordinateur correspondants. - Google Patents
Procédés d’acheminement de données, de configuration, d’allocation d’identifiants et d’accès à un service dans un réseau de communication mettant en œuvre des tranches réseau, entités et programme d’ordinateur correspondants. Download PDFInfo
- Publication number
- FR3154269A1 FR3154269A1 FR2310990A FR2310990A FR3154269A1 FR 3154269 A1 FR3154269 A1 FR 3154269A1 FR 2310990 A FR2310990 A FR 2310990A FR 2310990 A FR2310990 A FR 2310990A FR 3154269 A1 FR3154269 A1 FR 3154269A1
- Authority
- FR
- France
- Prior art keywords
- network slice
- terminal
- network
- identifier
- type
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/18—Selecting a network or a communication service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/11—Allocation or use of connection identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
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és d’acheminement de données, de configuration, d’allocation d’identifiants et d’accès à un service dans un réseau de communication mettant en œuvre des tranches réseau, entités et programme d’ordinateur correspondants.
L’invention concerne un procédé d’acheminement de données en provenance ou à destination d’un terminal dans un réseau de communication mettant en œuvre des tranches réseau, comprenant :
l’obtention (4411) d’informations de configuration d’un algorithme permettant d’associer, à au moins une tranche réseau ou à au moins un type de tranche réseau, au moins un ensemble d’identifiants, l’obtention (4412) d’au moins un paquet de données comportant un identifiant de terminal apte à identifier de manière unique un terminal émetteur ou destinataire dudit au moins un paquet de données, la sélection (4413) d’une tranche réseau ou d’un type de tranche réseau associée à l’ensemble d’identifiants auquel appartient ledit identifiant de terminal, à partir desdites informations de configuration,l’acheminement (4414) dudit au moins un paquet de données via ladite tranche réseau ou ledit type de tranche réseau sélectionné(e).
Figure pour l’abrégé : figure 5
Description
1. Domaine technique
Le domaine de l’invention est celui des communications au sein d’au moins un réseau de communication, et notamment le domaine des services IP à valeur ajoutée.
Plus précisément, l’invention concerne l’acheminement de données en provenance ou à destination d’un terminal qui utilise les ressources de tranches réseau (« network slice » ou « slice » en anglais) d’un réseau de communication.
En particulier, l’invention propose une solution pour simplifier le procédé d’identification d’une ou plusieurs tranches réseau à utiliser afin d’optimiser l’acheminement de données en provenance ou à destination d’un terminal.
2. Art antérieur
Une tranche réseau peut être définie comme une partition logique ou physique du réseau, telle qu’un réseau privé virtuel (RPV, ou VPN pour « Virtual Private Network » en anglais) déployé sur une infrastructure fixe, mobile, ou une combinaison des deux.
Les caractéristiques d’une tranche réseau sont principalement exprimées en termes de capacité (bande passante) et de qualité de service (par exemple latence ou temps de transit unidirectionnel), voire de sécurité (par exemple préservation de la confidentialité des informations transmises au sein du RPV moyennant l’utilisation de techniques de chiffrement) et de fonctions service (« Service Functions (SF) »).
A titre illustratif, l’organisme 3GPP a défini différents types de tranches réseau selon leurs caractéristiques, par exemple :
- un premier type de tranches réseau permettant d’offrir un service mobile large bande amélioré (« enhanced Mobile BroadBand » ou eMBB en anglais) ;
- un deuxième type de tranches réseau permettant d’offrir un service dans le cadre d’un déploiement (massif) de l’Internet des Objets (« massive Internet of Things » ou mIoT en anglais) ; et
- un troisième type de tranches réseau permettant d’offrir un service de communication ultra fiable et à faible latence (« Ultra Reliable Low Latency Communications » ou URLLC en anglais).
Le choix de concevoir et de déployer un type de tranche réseau est conditionné par la nature du trafic caractéristique des applications ou services utilisés ou souscrits par un utilisateur. Par exemple, un service dit « immersif » qui exploite des techniques de réalité augmentée ou virtuelle est généralement très exigeant en termes de latence et de fiabilité des échanges de données : l’utilisation de tranches de type URLLC est donc privilégiée pour un service immersif de ce type lorsqu’il est déployé sur une infrastructure réseau mobile 5G.
Les caractéristiques d’une tranche réseau sont par exemple présentées dans le document « A Framework for Network Slices in Networks Built from IETF Technologies » de A. Farrel et al., version 25 publiée le 14 septembre 2023.
Un exemple d’utilisation de tranches réseau déployées dans une infrastructure mobile 5G est présenté dans le document « A Realization of IETF Network Slices for 5G Networks Using Current IP/MPLS Technologies » de K. G. Szarkowicz et al., version 9 publiée le 23 mai 2023.
Classiquement, le trafic susceptible d’être acheminé au sein d’une tranche réseau fait l’objet d’une habilitation (aussi appelée contrôle d’accès) à emprunter le ou les chemins établis au sein de ladite tranche. Une telle habilitation repose typiquement sur l’application de règles de classification de trafic. Ces règles sont en général appliquées par un nœud situé en périphérie du réseau au sein duquel des tranches réseau ont été déployées. Un tel nœud de périphérie est généralement déployé en frontal des accès clients (il s’agit alors par exemple d’un routeur d’accès) ou bien utilisé pour connecter un réseau à d’autres réseaux voisins (il s’agit alors par exemple d’un routeur de bordure ou nœud de périphérie). Par exemple, un tel nœud de périphérie peut être situé à l’interface de raccordement d’une passerelle qui permet d’accéder au réseau Internet. Cette passerelle est désignée « Packet Gateway » pour les générations (4G, 5G) les plus récentes des réseaux mobiles. Dans ce cas, la fonction de classification de trafic peut être localisée à l‘interface de raccordement d’une « Packet Gateway » au réseau Internet. Un nœud de périphérie peut également se situer à l’interface de raccordement d’un terminal mobile (ou « User Equipment » ou UE en anglais) au réseau d’accès radio (ou « Radio Access Network » ou RAN en anglais), de façon notamment à optimiser l’usage des ressources radio en fonction du type de la tranche réseau et du profil du trafic qu’elle est susceptible d’acheminer. Un profil de trafic est l’ensemble des caractéristiques propres au trafic. Ces caractéristiques peuvent refléter la sensibilité des applications à la latence, au délai de transit ou à la perte de paquets, mais également des pratiques d’usage, par exemple un trafic qui ne serait généré que sur une période donnée (tel qu’un trafic de gestion lié à l’exécution d’une opération de maintenance d’un équipement programmée pendant la nuit).
En résumé, les règles de classification et de contrôle d’admission de trafic sont appliquées à la périphérie du réseau, dans les nœuds de périphérie (routeur d’accès, routeur de bordure par exemple).
L’application des règles de classification de trafic peut être complexe, car le niveau de granularité associé à l’ingénierie et au déploiement d’une tranche réseau peut être macroscopique (par exemple une tranche réseau déployée pour acheminer le trafic à destination de l’Internet), ou bien microscopique (par exemple une tranche réseau déployée pour le trafic applicatif échangé entre deux terminaux mobiles).
Cette granularité génère une complexité globale de l’ingénierie des tranches réseau, par exemple une difficulté à optimiser l’usage des ressources mises en œuvre par une tranche réseau, par un ensemble de tranches réseau, ou par toutes les tranches réseau, ou une difficulté à garantir strictement l’isolation du trafic acheminé au sein d’une tranche réseau, ou encore une difficulté à garantir strictement le niveau de qualité ou de sécurité associé à une tranche réseau, voire le niveau de disponibilité et de résilience d’une tranche réseau donnée, etc.
En particulier, la complexité de la configuration et de l’application de règles de classification de trafic associées à la mise en place d’une tranche réseau donnée évolue avec la diversité des trafics, la richesse de l’organisation de la structure qui exploite la tranche réseau (par exemple un service de comptabilité, un service de R&D, un service de production) ou encore le mode d’usage de la tranche réseau (par exemple, gestion des surcharges de trafic lors des heures chargées ou principes de répartition de la charge de trafic). Cette complexité peut notamment être aggravée par l’évolution des règles de classification de trafic au cours du temps (par exemple, dans le contexte du déploiement d’une tranche réseau pour la retransmission d’un événement sportif ou culturel, les règles de classification de trafic peuvent évoluer avec le nombre et le profil des utilisateurs de la tranche réseau).
Il existe donc un besoin pour une nouvelle technique cherchant à simplifier l’application des règles de classification de trafic dans un réseau mettant en œuvre des tranches réseau.
3. Exposé de l’invention
L’invention propose une solution ne présentant pas l’ensemble des inconvénients de l’art antérieur, sous la forme d’un procédé d’acheminement de données en provenance ou à destination d’un terminal dans un réseau de communication mettant en œuvre des tranches réseau, comprenant :
- l’obtention d’informations de configuration d’un algorithme permettant d’associer, à au moins une tranche réseau ou à au moins un type de tranche réseau, au moins un ensemble d’identifiants apte à être utilisés par un terminal pour émettre ou recevoir au moins un paquet de données via ladite tranche réseau, ou ledit type de tranche réseau, chaque ensemble d’identifiants étant associé à une unique tranche réseau ou à un unique type de tranche réseau,
- l’obtention d’au moins un paquet de données comportant un identifiant de terminal apte à identifier de manière unique un terminal émetteur ou destinataire dudit au moins un paquet de données,
- la sélection d’une tranche réseau ou d’un type de tranche réseau associée à l’ensemble d’identifiants auquel appartient ledit identifiant de terminal, à partir desdites informations de configuration,
- l’acheminement dudit au moins un paquet de données via ladite tranche réseau ou ledit type de tranche réseau sélectionné(e).
De telles étapes peuvent notamment être mises en œuvre par une entité en périphérie du réseau, également appelée nœud de périphérie, par exemple un routeur d’accès (notamment pour accéder au réseau Internet) ou un routeur de bordure (notamment dans le cas où plusieurs réseaux sont impliqués dans le support des tranches), pour acheminer un flux de données vers une tranche réseau (ou un type de tranche réseau) identifiée à partir du flux de données.
Pour ce faire, une tranche réseau, ou un type de tranche réseau, est préalablement associé(e) à un ensemble d’identifiants par une entité du réseau, par exemple par une entité de gestion du réseau, comme un contrôleur. Un algorithme permettant d’associer une unique tranche réseau (ou type de tranche réseau) à un unique ensemble d’identifiants est ainsi défini. Des informations de configuration d’un algorithme peuvent alors être transmises aux différentes entités du réseau, permettant à chacune de ces entités d’exécuter l’algorithme permettant d’associer une unique tranche réseau (ou type de tranche réseau) à un unique ensemble d’identifiants.
Un ensemble d’identifiants comprend au moins un identifiant, ou au moins une portion d’au moins un identifiant, ou de façon plus générale le résultat de l’application d’une fonction (par ex. fonction « hash ») sur au moins un identifiant.
Un identifiant appartenant audit ensemble est également préalablement alloué au terminal, par exemple à une interface réseau du terminal ou à d’autres modules logiciels embarqués dans le terminal tels que des containers, pour que le terminal puisse émettre ou recevoir des paquets de données. Un tel identifiant est appelé identifiant de terminal dans ce document. Un tel identifiant de terminal peut être un identifiant source, lorsque le terminal émet des données, ou identifiant destination, lorsque le terminal reçoit des données. Un tel identifiant de terminal peut notamment être consigné dans l’entête des paquets de données. Un tel identifiant est typiquement unique par terminal.
Lorsqu’un flux de données est reçu par un nœud de périphérie, celui-ci peut obtenir l’identifiant du terminal émetteur ou destinataire de ce flux de données. Par suite, le nœud de périphérie peut déterminer l’ensemble des identifiants auquel appartient l’identifiant de terminal, et ainsi la tranche réseau (ou le type de tranche réseau) associée à cet ensemble, à partir des informations de configuration d’un algorithme. La tranche réseau ainsi sélectionnée peut alors être utilisée pour acheminer le flux de données vers le terminal si le terminal est destinataire du flux de données, ou vers une autre entité si le terminal est émetteur du flux de données.
De cette façon, la procédure d’acheminement d’un flux de données est simplifiée.
Notamment, la solution proposée ne nécessite pas le maintien de tables d’états par différentes entités du réseau, par exemple par des routeurs de bordure ou des routeurs d’accès. La solution simplifie ainsi les opérations mises en œuvre par les différentes entités du réseau pour l’acheminement du trafic.
Dans un mode de réalisation particulier, le procédé comprend également le marquage dudit au moins un paquet de données avec un identifiant apte à identifier de manière unique ladite tranche réseau ou ledit type de tranche réseau sélectionné(e), dit identifiant de tranche.
De cette façon, la classification des paquets de données est facilitée, et chaque entité recevant un paquet de données peut ainsi l’acheminer via la tranche réseau sélectionnée en appliquant les règles de classification correspondant à l’identifiant de tranche, associé à l’identifiant de terminal inclus dans le paquet de données et tel que reçu par un nœud de périphérie.
Notamment, lorsqu’un paquet de données arrive dans le réseau, l’entité de périphérie par laquelle transite ce paquet applique une règle de classification en fonction de l’identifiant de terminal, de façon à déterminer la tranche réseau (ou type de tranche réseau) à utiliser pour l’acheminement des données, si le paquet de données est éligible.
Par exemple, si le paquet de données est destiné au terminal, un routeur de bordure localisé sur le chemin de ce paquet est amené à recevoir ledit paquet et obtenir l’identifiant de terminal (identifiant destination). Par suite il peut déterminer l’ensemble des identifiants auquel appartient l’identifiant de terminal ainsi obtenu, puis la tranche réseau (ou le type de tranche réseau) associée. Le routeur de bordure peut éventuellement marquer le paquet avec un identifiant de tranche permettant aux routeurs intermédiaires d’identifier de façon unique la tranche réseau (ou le type de tranche réseau), et associer ledit paquet à la tranche réseau adéquate.
Les règles de classification ne sont donc pas spécifiques à un terminal donné. Elles sont déterminées pour au moins un ensemble d’identifiants. En particulier, le fait d’associer un ensemble d’identifiants à une tranche réseau (ou un type de tranche) de manière algorithmique évite la gestion et le maintien de tables d’états par différentes entités du réseau à chaque fois qu’un nouveau terminal se connecte au réseau. Ce faisant, un terminal éligible à utiliser les ressources d’une tranche réseau peut bénéficier de ce service même lorsque des adresses ou préfixes IP dynamiques sont allouées à ce terminal. Une telle approche est donc indépendante du ou des terminaux connectés au réseau.
Selon un premier mode de réalisation, ladite étape de sélection comprend :
- la détermination de l’ensemble d’identifiants auquel appartient ledit identifiant de terminal,
- la détermination de ladite tranche réseau ou dudit type de tranche réseau associé(e) audit ensemble d’identifiants.
Par exemple, l’ensemble d’identifiants comprend une ou plusieurs plages d’adresses IP, contiguës ou non. Chaque ensemble d’identifiants peut notamment être identifié par une référence unique, associée à un identifiant apte à identifier de manière unique une tranche réseau ou un type de tranche réseau.
La configuration des différents ensembles d’identifiants, et leur association aux tranches réseau ou types de tranche, peut être effectuée au préalable, par exemple par une entité de gestion du réseau.
Selon un deuxième mode de réalisation, ladite étape de sélection comprend :
- l’extraction d’une portion dudit identifiant de terminal,
- la détermination de ladite tranche réseau ou dudit type de tranche réseau associé(e) à ladite portion.
Par exemple, l’identifiant de terminal est une adresse IP et la portion d’identifiant est une suite binaire de ladite adresse, associée à une tranche réseau ou un type de tranche réseau.
Ce deuxième mode de réalisation ne nécessite pas la configuration préalable de différents ensembles d’identifiants.
Dans un autre mode de réalisation, l’invention concerne une entité adaptée à mettre en œuvre le procédé d’acheminement de données décrit précédemment. Une telle entité pourra bien sûr présenter les différentes caractéristiques relatives au procédé d’acheminement de données selon l’invention, qui peuvent être combinées ou considérées isolément. Ainsi, les caractéristiques et avantages de cette entité sont les mêmes que ceux du procédé et ne sont pas détaillés plus amplement.
Par exemple, une telle entité est un nœud de périphérie, comme un routeur de bordure ou un routeur d’accès.
Un autre aspect de l’invention concerne un procédé de configuration d’un réseau de communication mettant en œuvre des tranches réseau, destiné à acheminer des données en provenance ou à destination d’au moins un terminal.
Un tel procédé comprend :
- une étape d’association, à au moins une tranche réseau ou à au moins un type de tranche réseau, d’au moins un ensemble d’identifiants apte à être utilisés par un terminal pour émettre ou recevoir au moins un paquet de données via ladite tranche réseau, ou ledit type de tranche réseau, chaque ensemble d’identifiants étant associé à une unique tranche réseau ou à un unique type de tranche réseau,
- une étape de transmission d’informations de configuration d’un algorithme à au moins une entité dudit réseau, permettant à ladite entité d’associer ladite au moins une tranche réseau ou ledit au moins un type de tranche réseau audit au moins un ensemble d’identifiants.
Une telle association peut notamment être mise en œuvre par une entité de gestion dudit réseau pour associer un ensemble d’au moins un identifiant avec une tranche réseau ou un type de tranche réseau au cours d’une étape préalable de préparation du réseau (et typiquement, s’assurer de la configuration adéquate des différentes entités du réseau). Les informations de configuration peuvent ensuite être transmises à d’autres entités du réseau, comme un serveur d’allocation d’identifiants, des nœuds de périphérie, etc. Chacune de ces entités peut alors exécuter un algorithme pour retrouver les ensembles d’identifiants associés aux tranches réseau, ou vice versa. A noter que différents algorithmes peuvent être utilisés selon différents critères. Par exemple, un premier algorithme d’association peut être mis en œuvre pour le trafic émis et reçu par un terminal connecté au réseau et un deuxième algorithme d’association peut être mis en œuvre le trafic de gestion « interne » au réseau.
En variante, d’autres entités du réseau, comme un serveur d’allocation, un routeur d’accès ou un routeur de bordure, peuvent directement mettre en œuvre cette étape d’association. Notamment, si elle est mise en œuvre par le serveur d’allocation, celui-ci peut transmettre les informations de configuration aux nœuds de périphérie.
Ainsi, un routeur d’accès et/ou un routeur de bordure, ainsi qu’un serveur d’allocation qui alloue les identifiants à un terminal quand il se raccorde au réseau, disposent des informations de configuration.
De cette façon, les différentes entités du réseau peuvent être configurées de façon homogène. En particulier, elles peuvent exécuter un algorithme permettant d’identifier, à partir d’un identifiant de terminal, une tranche réseau ou un type de tranche réseau à utiliser pour acheminer des données à destination du terminal ou en provenance du terminal. Ainsi, quand une entité traite un paquet de données, elle sait comment l’associer à la tranche adéquate. A noter que les routeurs d’accès et/ou des routeurs de bordure ne nécessitent pas la connaissance précise des identifiants ainsi que les terminaux auxquels un identifiant a été alloué.
Éventuellement, une version de l’algorithme ainsi qu’un horodatage peuvent être stockés dans une zone de stockage (mémoire ou registre, par exemple) de l’entité. Par exemple, il est possible de changer de version d’algorithme lorsque le nombre de terminaux auxquels un identifiant doit être alloué augmente et plus généralement si les paramètres de configuration de l’algorithme ont été modifiés.
Dans un mode de réalisation particulier, chaque ensemble d’identifiants est identifié par une référence unique et ladite étape d’association associe ladite référence unique avec un identifiant apte à identifier de manière unique ladite tranche réseau ou ledit type de tranche réseau considéré(e), dit identifiant de tranche.
Par exemple, la référence unique attribuée à un ensemble d’identifiants est notée « pool_id_# » et l’identifiant de tranche est noté « slice_id_# ». Une fonction « f(pool_id_#) = slice_id_# » peut ainsi être définie pour déterminer de façon algorithmique la tranche réseau (ou le type de tranche réseau) associé à un ensemble d’identifiants.
Par exemple, ledit au moins un ensemble d’identifiants comprend au moins un identifiant appartenant au groupe comprenant :
- une adresse IP (« Internet Protocol »),
- un préfixe IP,
- une adresse MAC (« Media Access Control »),
- un identifiant VLAN (« Virtual Local Area Network »),
- un identifiant I-SID (« Instance Service Identifier »),
- un identifiant ESI (« Ethernet Segment Identifier »),
- un identifiant selon le protocole LISP (« Locator/ID Separation Protocol »)
- une combinatoire de tout ou partie des identifiants ci-dessus,
- un résultat d’une fonction appliquée à au moins l’un des identifiants ci-dessus (fonction de hachage, de troncature, etc.).
Le protocole LISP est par exemple décrit dans le document « The Locator/ID Separation Protocol (LISP) », D. Farinacci Etal., Janvier 2013.
Un ensemble d’identifiants peut ainsi comprendre un ou plusieurs identifiants, ou une portion d’un identifiant.
Dans un mode de réalisation particulier, au moins un desdits ensembles d’identifiants comprend au moins deux identifiants non contigus. Selon un premier exemple, un ensemble d’identifiants comprend au moins deux identifiants VLAN non contigus, par exemple VLAN#61 et VLAN#64. Selon un autre exemple, un ensemble d’identifiants comprend au moins deux adresses IP non-contiguës. Selon encore un autre exemple, un ensemble comprend plusieurs plages d’adresses, et ces plages peuvent être contiguës ou non.
Dans un autre mode de réalisation, l’invention concerne une entité adaptée à mettre en œuvre le procédé de configuration décrit précédemment. Une telle entité pourra bien sûr présenter les différentes caractéristiques relatives au procédé de configuration selon l’invention, qui peuvent être combinées ou considérées isolément. Ainsi, les caractéristiques et avantages de cette entité sont les mêmes que ceux du procédé et ne sont pas détaillés plus amplement.
Par exemple, une telle entité est une entité de gestion du réseau, un serveur d’allocation de ressources réseau (par ex. adresses IP), un routeur de bordure, un routeur d’accès, etc.
L’invention concerne également un procédé d’allocation d’au moins un identifiant à un terminal dans un réseau de communication mettant en œuvre des tranches réseau, comprenant :
- l’obtention d’informations de configuration d’un algorithme permettant d’associer, à au moins une tranche réseau ou à au moins un type de tranche réseau, au moins un ensemble d’identifiants apte à être utilisés par un terminal pour émettre ou recevoir au moins un paquet de données via ladite tranche réseau, ou ledit type de tranche réseau, chaque ensemble d’identifiants étant associé à une unique tranche réseau ou à un unique type de tranche,
- la réception, en provenance d’un terminal connecté au réseau, d’au moins une requête d’allocation d’au moins un identifiant destiné à être utilisé par ledit terminal pour émettre ou recevoir au moins un paquet de données via une tranche réseau ou un type de tranche réseau à laquelle ou auquel ledit terminal est habilité à se connecter,
- la détermination de l’ensemble d’identifiants associé à ladite tranche réseau ou audit type de tranche réseau, à partir desdites informations de configuration,
- la transmission, audit terminal, d’au moins un identifiant dudit ensemble d’identifiants, alloué audit terminal et apte à identifier de manière unique ledit terminal, dit identifiant de terminal.
De telles étapes peuvent notamment être mises en œuvre par un serveur d’allocation d’identifiants, par exemple un serveur DHCP tel que décrit dans le document RFC 2131 (« Dynamic Host Configuration Protocol » R. Droms, mars 1997) ou DHCPv6 tel que décrit dans le document RFC 8415 (« Dynamic Host Configuration Protocol for IPv6 (DHCPv6) » T. Mrugalski et al., novembre 2018).
En particulier, à réception d’une requête d’allocation d’identifiants, le serveur vérifie la disponibilité d’au moins un identifiant dans l’ensemble d’identifiants associé à une tranche réseau (ou type de tranche) à laquelle le terminal est habilité à se connecter. Si un identifiant est disponible, il est alloué au terminal et permet d’identifier de manière unique ledit terminal. Si aucun identifiant n’est disponible, la requête d’allocation peut être rejetée. En variante, un serveur d’allocation peut le cas échéant ignorer la tranche (ou type de tranche réseau) indiquée dans la requête d’allocation si aucun identifiant n’est disponible dans l’ensemble d’identifiants associé à cette tranche réseau ou si la tranche indiquée n’est pas disponible pour ce terminal, et choisir d’utiliser au moins une autre tranche à laquelle ledit terminal est habilité à se connecter. Une telle habilitation peut être déterminée par un serveur d’allocation en sollicitant par exemple un serveur RADIUS selon le mécanisme décrit dans le document RFC 9445 (« RADIUS Extensions for DHCP-Configured Services », M. Boucadair et al., août 2023).
En d’autres termes, à partir des informations de configuration d’un algorithme, le serveur peut exécuter un algorithme (ou une fonction) pour identifier un ensemble d’identifiants à utiliser en fonction de la tranche réseau demandée par ou autorisée pour le terminal, sélectionner un identifiant disponible parmi l’ensemble d’identifiants, et retourner l’identifiant sélectionné au terminal.
En particulier, même si l’ensemble d’identifiants comprend plusieurs identifiants (par exemple un préfixe IP correspondant à une plage d’adresses), un identifiant de terminal distinct peut être alloué à différents terminaux pour accéder à une même tranche réseau.
Dans un autre mode de réalisation, l’invention concerne une entité adaptée à mettre en œuvre le procédé d’allocation d’identifiants décrit précédemment. Une telle entité pourra bien sûr présenter les différentes caractéristiques relatives au procédé d’allocation d’identifiants selon l’invention, qui peuvent être combinées ou considérées isolément. Ainsi, les caractéristiques et avantages de cette entité sont les mêmes que ceux du procédé et ne sont pas détaillés plus amplement.
Par exemple, une telle entité est un serveur d’allocation d’identifiants.
L’invention concerne par ailleurs un procédé d’accès à au moins un service par un terminal, via un réseau de communication mettant en œuvre des tranches réseau, comprenant, pour au moins une tranche réseau ou un type de tranche réseau à laquelle ou auquel ledit terminal est habilité à se connecter :
- la transmission d’une requête d’allocation d’au moins un identifiant destiné à être utilisé par ledit terminal pour émettre ou recevoir au moins un paquet de données via ladite tranche réseau, ou ledit type de tranche réseau,
- la réception, en réponse à ladite requête, d’au moins un identifiant d’un ensemble d’identifiants, alloué audit terminal et apte à identifier de manière unique ledit terminal, dit identifiant de terminal,
- le stockage dudit identifiant de terminal associé à ladite tranche réseau ou audit type de tranche réseau.
Un tel procédé peut notamment être mis en œuvre par un terminal, de façon à lui allouer au moins un identifiant de terminal. Par exemple, au moins un identifiant de terminal peut être alloué à au moins une interface réseau du terminal. En variante, au moins un identifiant de terminal peut être alloué à au moins un module logiciel embarqué dans le terminal (par exemple un container).
Comme indiqué précédemment, un tel identifiant de terminal peut être un identifiant source, lorsque le terminal émet des données, ou un identifiant destination, lorsque le terminal reçoit des données. En particulier, un tel identifiant de terminal appartient à un ensemble d’identifiants associé à une tranche réseau (ou un type de tranche réseau) négociée avec une instance de service. A noter qu’une réponse du serveur d’allocation peut inclure plusieurs identifiants (par ex. adresses IP), chacune associées avec une tranche donnée (ou type de tranche).
Selon un mode de réalisation particulier, le terminal met en œuvre une étape préalable de sélection d’au moins une tranche réseau, ou d’un type de tranche réseau, destiné(e) à être utilisé(e) par ledit terminal pour émettre ou recevoir des données associées audit au moins un service.
Si aucune tranche réseau ou type de tranche n’est demandé(e) par le terminal, les étapes précédentes peuvent être mises en œuvre pour toutes les tranches réseau auxquelles le terminal est habilité à se connecter, selon les informations du réseau.
Selon un mode de réalisation particulier, le terminal peut insérer un identifiant de la tranche réseau ou du type de tranche réseau dans la requête d’allocation d’identifiants.
De nouvelles options DHCP peuvent être définies à cet effet.
Si le terminal est un CPE (« Customer Premises Equipment » en anglais), ou si le terminal expose une adresse locale aux applications (c’est-à-dire non routable sur Internet, par exemple une adresse IPv4 privée puisée dans l’espace défini par le document RFC 1918 « Address Allocation for Private Internets », Y. Rekhter et al., février 1996), une API (« Application Programming Interface » en anglais ou interface programmatique d’application) peut éventuellement être mise en œuvre pour s’assurer que l’identifiant de terminal est bien utilisé comme identifiant externe du terminal. Par exemple, une table peut être maintenue pour associer une adresse locale du terminal à l’identifiant de terminal. De cette façon, l’identifiant de terminal (identifiant source ou destination) est toujours utilisé par le terminal pour émettre ou recevoir des paquets de données, ce qui permet de déterminer la tranche réseau (ou type de tranche réseau) à utiliser pour l’acheminement des données, comme décrit précédemment.
Selon un mode de réalisation particulier, ledit procédé met en œuvre, préalablement à l’émission d’au moins un paquet de données, une étape de sélection de l’identifiant de terminal à utiliser pour une transmission via une tranche réseau cible, parmi le ou les identifiants de terminal stockés par ledit terminal.
En effet, suite à l’envoi d’au moins une requête d’allocation d’identifiants, le terminal dispose d’au moins un identifiant de terminal associé à au moins une tranche réseau. Une API du terminal peut notamment être utilisée pour demander que les paquets de données émis par une application embarquée dans le terminal soient émis via une tranche réseau cible. Le terminal peut alors choisir, selon la tranche réseau cible, l’identifiant de terminal (identifiant source) à utiliser parmi les identifiants de terminal stockés par ledit terminal.
Selon un mode de réalisation particulier, le procédé comprend en outre une étape de remplacement d’une adresse locale dudit terminal par ledit identifiant de terminal sélectionné pour l’acheminement de paquets de données via une tranche réseau cible.
En d’autres termes, une ré-écriture de l’adresse locale utilisée par le terminal (éventuellement contrôlée via une API du terminal) par un identifiant de terminal (externe) qui correspond à la tranche réseau cible via laquelle le paquet de données doit être acheminé peut être mise en œuvre.
Dans un autre mode de réalisation, l’invention concerne un terminal adapté à mettre en œuvre le procédé d’accès décrit précédemment. Un tel terminal pourra bien sûr présenter les différentes caractéristiques relatives au procédé d’accès selon l’invention, qui peuvent être combinées ou considérées isolément. Ainsi, les caractéristiques et avantages de ce terminal sont les mêmes que ceux du procédé et ne sont pas détaillés plus amplement.
Par exemple, un tel terminal est un équipement utilisateur, un CPE ou une instance de service.
Dans les différents modes de réalisation envisagés, au moins l’une desdites tranches réseau peut être composée d’au moins une tranche réseau locale déployée dans au moins un sous-réseau du réseau de communication (par exemple dans un réseau d’accès, un réseau de collecte, un réseau cœur, un réseau de transit).
L’invention concerne encore au moins un programme d’ordinateur comportant des instructions pour la mise en œuvre d’au moins un des procédés décrits ci-dessus, lorsque ce ou ces programmes sont exécutés par un processeur, ainsi qu’au moins un support d’informations lisible par un ordinateur comportant des instructions d’au moins un programme d’ordinateur tel que mentionné ci-dessus.
Le procédé selon l’invention peut être mis en œuvre de diverses manières, notamment sous forme câblée ou sous forme logicielle.
4. Liste des figures
D’autres caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description suivante d’un mode de réalisation particulier, donné à titre d’exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels :
- la
FIG. 1 illustre un exemple de réseau de communication composé de plusieurs sous-réseaux ; - la
FIG. 2 illustre un exemple d’agrégation de plusieurs services au sein d’une même tranche réseau ; - la
FIG. 3 illustre un exemple de déploiement de plusieurs instances de service ; - la
FIG. 4 représente un système dans lequel l’invention peut être mise en œuvre ; - la
FIG. 5 illustre les principales étapes des procédés selon au moins un mode de réalisation de l’invention ; - la
FIG. 6 illustre un exemple de mise en œuvre selon un mode de réalisation particulier ; - la
FIG. 7 présente la structure simplifiée des différentes entités selon un mode de réalisation particulier.
5. Description d’un mode de réalisation de l’invention
5.1 Généralités
On considère un réseau de communication (composé éventuellement de plusieurs réseaux ou sous-réseaux) qui supporte des tranches réseaux. Une tranche réseau peut être associée à d’autres tranches réseau pour fournir des services à valeur ajoutée. Par exemple, un fournisseur de service peut s’appuyer sur des tranches mises en place dans différents sous-réseaux pour fournir un service dont le trafic est destiné à être acheminé dans la tranche réseau « globale » composée des tranches déployées dans les différents sous-réseaux. On parle alors de « tranche multi-domaines » (ou « stitched slices » ou « hierarchical slices » en anglais). Une telle tranche réseau peut en effet refléter une structure hiérarchique.
Par exemple, comme illustré par laFIG. 1 , le réseau SSP (« Slice Service Provider » en anglais, ou fournisseur de services reposant sur des tranches réseau) 12 peut être composé de plusieurs sous-réseaux 121, 122 et 123. Chaque sous-réseau peut supporter une ou plusieurs tranches réseau. Par exemple, le premier sous-réseau 121 supporte quatre tranches réseau, le deuxième sous-réseau 122 supporte trois tranches réseau, et le troisième sous-réseau 123 supporte quatre tranches réseau. La première tranche réseau Sl. #1 161 du réseau de communication est par exemple composée des tranches réseau Sl. #3 déployée sur le sous-réseau 121, Sl. #2 déployée sur le sous-réseau 122 et Sl. #2 déployée sur le sous-réseau 123. Les interfaces de raccordement entre tranches adjacentes (« Attachment Circuits » en anglais) sont par exemple gérées en utilisant les mécanismes décrits dans le document « YANG Data Models for 'Attachment Circuits'-as-a-Service (ACaaS) » de M. Boucadair et al., version 6 publiée le 3 mai 2023.
Par exemple, chaque sous-réseau peut être associé à un domaine distinct (par exemple, un réseau de communication peut être composé d’un réseau d’accès, d’un réseau de collecte, d’un réseau cœur et d’un réseau de transit). Chacun de ces domaines supporte des tranches réseau dont l’ingénierie et l’exploitation sont caractéristiques du domaine (par exemple, une tranche déployée sur un réseau cœur mobile 5G peut faire appel à des fonctions de traitement de trafic et d’exploitation caractéristiques d’un réseau cœur mobile 5G). Chaque domaine (accès, collecte, cœur, transit, etc.) peut exploiter différentes technologies pour la réalisation des tranches réseau.
Ainsi, la réalisation d’une tranche réseau qui s’étend sur plusieurs domaines n’est pas conditionnée par la disponibilité ou l’activation des mêmes technologies utilisées pour la réalisation des tranches « locales » à chaque domaine.
Par exemple, en référence à laFIG. 1 , un premier domaine associé au premier sous-réseau 121 met en place des tunnels IPsec qui sont exploités pour acheminer le trafic dans les tranches déployées dans ce domaine, alors qu’un deuxième domaine associé au deuxième sous-réseau 122 utilise une ingénierie de réseau privé virtuel de niveau réseau (« Layer 3 VPN » ou L3VPN en anglais) combiné avec des mécanismes d’ingénierie de trafic (« Traffic Engineering » ou TE en anglais) pour acheminer le trafic dans les tranches déployées dans ce domaine, tandis qu’un troisième domaine associé au troisième sous-réseau 123 utilise les ressources du routage par segments reposant sur le protocole IPv6 (« Segment Routing IPv6 » ou SRv6 en anglais) pour acheminer le trafic dans les tranches déployées dans ce domaine.
Selon un autre exemple, une tranche réseau dans un réseau mobile (5G par exemple) peut reposer sur la mise en place de tranches réseau dans les différents sous-réseaux/segments suivants : réseau d’accès radio (« Radio Access Network » ou RAN), réseau cœur (« Core Network » ou CN) et réseau de transport (« Transport Network » ou TN).
L’association d’une tranche réseau, par exemple une tranche réseau 5G dans le cas d’un réseau mobile de dernière génération, aux tranches réseau déployées dans chacun des segments / sous-réseaux composant le réseau mobile 5G est réalisée dans le plan de contrôle et à la périphérie de chacun des réseaux RAN, CN et TN. La tranche réseau déployée dans le réseau TN est parfois appelée « IETF Network Slice ».
Selon l’invention, aucune hypothèse n’est faite quant à la nature des tranches réseau déployées dans un réseau, leur nombre, et le « mapping » entre des tranches réseau de domaines voisins (par exemple RAN et TN, TN et CN).
Par exemple, les mécanismes décrits dans le document « A Realization of IETF Network Slices for 5G Networks Using Current IP/MPLS Technologies » précédemment cité sont mis en œuvre pour la réalisation des tranches réseau dans un réseau IP/MPLS (qui est un exemple de réseau de transport au sens du 3GPP).
On note par ailleurs qu’une même tranche réseau peut être utilisée pour agréger le trafic d’un ou plusieurs services. Ainsi, comme illustré par laFIG. 2 , un premier service S1 servi par une ou plusieurs instances de service 21 peut être fourni à un premier client UE1 via une tranche réseau Sl. #3 du réseau SSP, un deuxième service S2 servi par une ou plusieurs instances de service 22 peut être fourni à un deuxième client UE2 via la même tranche réseau Sl. #3 du réseau SSP, un troisième service S3 servi par une ou plusieurs instances de service 23 peut être fourni au deuxième client UE2 via la même tranche réseau Sl. #3 du réseau SSP.
De plus, une tranche réseau peut impliquer une ou plusieurs fonctions service (ou « Service Functions » en anglais, selon la terminologie utilisée par le document RFC7665 – « Service Function Chaining (SFC) Architecture » de J. Halpern et al. publié en octobre 2015, ou « Network Functions » comme gNB (« gNodeB ») ou des fonctions UPF (« User Plane Function ») selon la terminologie utilisée par le 3GPP). Une même fonction service peut être fournie par une ou plusieurs instances de service.
LaFIG. 3 illustre un exemple de déploiement d’instances de service. En particulier, une instance de service peut être hébergée par le SSP (par exemple les instances de service 33 et 34) ou au sein d’une autre infrastructure (par exemple l’instance de service 35).
Dans un mode de réalisation particulier, des chaînes de service (« Service Function Chain » ou SFC en anglais) peuvent être mises en place afin de faciliter l’acheminement de trafics de différentes natures et présentant des profils différents pour les besoins de la réalisation d’une tranche réseau ou au sein d’une tranche réseau (par exemple les instances de service 311, 312 et 313 de laFIG. 3 ).
On considère par ailleurs un terminal, connecté à au moins un réseau. Un terminal peut être un équipement utilisateur (« User Equipment » en anglais), une instance de service, un CPE, etc. Le terminal peut être mobile, fixe, etc.
Des applications (ou clients applicatifs) peuvent être utilisées pour accéder à un service depuis un terminal. Ces applications peuvent solliciter, via des API exposées par le système d’exploitation (« Operating System » ou OS en anglais) du terminal, des traitements spécifiques.
5.2 Principe général
Le principe général de l’invention repose sur l’association d’une tranche réseau, ou d’un type de tranche réseau, à un ensemble d’identifiants, sans nécessiter la configuration explicite de l’ensemble des identifiants au niveau des différentes entités qui interviennent dans l’acheminement des paquets, i.e. sans nécessiter la gestion et le maintien de tables d’états.
Pour ce faire, les différentes entités du réseau qui interviennent dans l’acheminement des paquets peuvent exécuter un algorithme d’association, à partir d’informations de configuration d’un algorithme préalablement obtenues.
Par exemple, de telles informations de configuration peuvent être mises à jour périodiquement ou lorsqu’un changement est détecté dans le réseau (par exemple configuration ou suppression d’une nouvelle tranche réseau). De cette façon, les différentes entités du réseau qui interviennent dans l’acheminement des paquets peuvent exécuter un algorithme d’association qui tient compte de ces modifications.
Un tel ensemble d’identifiants comprend au moins un identifiant ou le résultat d’une fonction appliquée à au moins un identifiant, apte à être utilisé par un terminal pour émettre ou recevoir au moins un paquet de données via la tranche réseau, ou le type de tranche réseau, considéré(e).
Par exemple, un ensemble d’identifiants est un « pool » d’identifiants associé à une unique tranche réseau. Un identifiant distinct, choisi parmi ledit ensemble d’identifiants, peut être alloué à chaque terminal souhaitant se raccorder à une même tranche réseau. Un tel identifiant, dit identifiant de terminal, est apte à identifier de manière unique le terminal émetteur ou destinataire d’un paquet de données.
Cet algorithme d’association d’une tranche réseau, ou d’un type de tranche réseau, avec un ensemble d’identifiants peut être connu des différentes entités du réseau. Il n’est donc pas spécifique à un terminal.
De cette façon, l’acheminement des paquets via les nœuds de périphérie est facilité, puisque la tranche réseau à utiliser peut être déterminée à partir d’un identifiant de terminal (par exemple une adresse source utilisée par un terminal pour transmettre des données ou une adresse destination utilisée par un terminal pour recevoir des données, allouée à une interface réseau du terminal ou à un module logiciel embarqué dans le terminal par exemple).
En particulier, comme déjà indiqué, les nœuds de périphérie n’ont pas besoin de maintenir une table des états pour déterminer la tranche réseau à utiliser pour acheminer des données.
Une telle procédure est appelée ci-après « Simplified Packet Identification and classification in sliced NetworkS » ou SPINS, pour procédure simplifiée de classification et d’identification de paquets dans les réseaux mettant en œuvre des tranches réseau. Les différentes entités qui interviennent dans l’acheminement des paquets et participent à cette procédure sont également appelées « éléments SPINS ».
LaFIG. 4 illustre un exemple de système dans lequel l’invention peut être mise en œuvre.
On considère par exemple que le terminal est un équipement utilisateur UE 41 (« User Equipment » en anglais) souhaitant accéder à au moins un service via un réseau de communication SSP 42 mettant en œuvre des tranches réseau, par exemple deux tranches réseau Sl. #1 421 et Sl. #2 422 (« Slice » en anglais).
Le terminal UE 41 peut éventuellement être connecté au réseau 42 via un routeur intermédiaire, par exemple un CPE.
Le service peut être fourni par au moins une instance de service, par exemple par deux instances de services SFI #1 431 et SFI #2 432. Une instance de service peut être connectée au réseau 42 par l’intermédiaire d’un routeur de bordure du réseau. Par exemple, l’instance 431 est connectée au réseau 42 par l’intermédiaire du premier routeur de bordure BR 441 (« Border Router » en anglais), et la deuxième instance 432 est connectée au réseau 42 par l’intermédiaire du deuxième routeur de bordure BR 442. Les instances de service ne sont pas nécessairement directement connectées aux routeurs de bordure.
Un serveur d’allocation d’identifiants, par exemple un serveur DHCP 45, peut notamment fournir un identifiant de terminal au terminal UE 41, comme expliqué par la suite.
Une entité de gestion, par exemple un contrôleur 46, peut définir un algorithme d’association permettant d’associer une tranche réseau, ou un type de tranche réseau, à un ensemble d’identifiants, et transmettre des informations de configuration de l’algorithme à différentes entités du réseau, par exemple aux routeurs de bordure 441 et 442 et au serveur 15. Ainsi, chaque entité peut exécuter l’algorithme d’association pour déterminer une tranche réseau (ou un type de tranche réseau) à utiliser à partir d’un ensemble d’identifiants.
On présente désormais, en relation avec laFIG. 5 , les principales étapes mises en œuvre par les différentes entités du réseau selon un mode de réalisation de l’invention.
Pour préparer l’acheminement de données via des tranches réseau, une entité de gestion, par exemple le contrôleur 46, met en œuvre une étape d’association 461, d’au moins une tranche réseau ou d’au moins un type de tranche réseau, avec au moins un ensemble d’identifiants aptes à être utilisés par un terminal pour émettre ou recevoir au moins un paquet de données via ladite tranche réseau, ou ledit type de tranche réseau, considéré(e). Chaque ensemble d’identifiants est associé à une unique tranche réseau ou à un unique type de tranche réseau.
Selon un premier mode de réalisation, l’étape d’association associe un ensemble d’au moins deux identifiants à une tranche réseau ou un type de tranche réseau.
Selon un deuxième mode de réalisation, l’étape d’association associe un masque (par exemple une portion d’un identifiant apte à être utilisé par le terminal pour émettre ou recevoir au moins un paquet de données) à une tranche réseau ou un type de tranche réseau. Plus généralement on peut envisager d’associer le résultat de tout autre type de fonction appliquée à un tel identifiant à une tranche réseau ou un type de tranche réseau.
Le contrôleur 46 transmet ensuite à différentes entités du réseau des informations de configuration d’un algorithme permettant de retrouver l’association ainsi définie.
Le contrôleur 46 peut ainsi configurer au cours d’une étape 462 au moins une entité du réseau (par exemple un routeur d’accès, ou les routeurs de bordure 441 et 442, ou le serveur d’allocation 45) avec les informations de configuration obtenues, par exemple en communiquant l’algorithme d’association à ladite au moins une entité du réseau.
Par exemple, le routeur de bordure 441, respectivement le serveur d’allocation 45, obtient les informations de configuration au cours d’une étape 4411, respectivement 451.
Ainsi, dans un mode de réalisation, l’étape d’obtention 4411 (respectivement 451) d’informations de configuration, mise en œuvre par le routeur de bordure 441 (respectivement par le serveur d’allocation 45) met en œuvre la réception d’informations de configuration en provenance d’une entité distincte.
En variante, l’étape d’obtention 4411 (respectivement 451) d’informations de configuration met en œuvre les étapes d’association 461 et de transmission 462 d’informations de configuration (vers le serveur d’allocation 45 si les étapes d’association 461 et de transmission 462 sont mises en œuvre par le routeur de bordure 441, ou vers le routeur de bordure 441 si les étapes d’association 461 et de transmission 462 sont mises en œuvre par le serveur d’allocation 45).
Par ailleurs, afin d’obtenir au moins un identifiant de terminal, par exemple une adresse externe que le terminal UE 41 peut utiliser pour émettre ou recevoir des données, le terminal UE 41 met en œuvre les principales étapes suivantes.
Au cours d’une première étape 411, facultative, le terminal UE 41 peut sélectionner au moins une tranche réseau ou un type de tranche réseau destiné(e) à être utilisé(e) par le terminal pour émettre ou recevoir des données associées à au moins un service.
Au cours d’une deuxième étape 412, le terminal transmet une requête d’allocation d’au moins un identifiant destiné à être utilisé par le terminal pour émettre ou recevoir au moins un paquet de données via une tranche réseau (ou un type de tranche réseau) à laquelle le terminal est habilité à se connecter. Si le terminal sélectionne au moins une tranche réseau (ou un type de tranche réseau) au cours de l’étape 411, la requête d’allocation peut comporter un indicateur de la ou des tranches réseau sélectionnées. En variante, aucune indication de tranche réseau n’est fournie dans la requête d’allocation si le terminal souhaite récupérer les identifiants associés à toutes les tranches réseau pour lesquelles ledit terminal est habilité.
Une telle requête peut notamment être reçue (452) par le serveur d’allocation d’identifiants 45.
A réception de la requête d’allocation, le serveur d’allocation d’identifiants 45 détermine (453) un ensemble d’identifiants associé à la tranche réseau (ou au type de tranche réseau) à laquelle le terminal est habilité à se connecter (éventuellement sélectionnée par le terminal), en exécutant l’algorithme d’association, et alloue au terminal au moins un identifiant libre choisi parmi ledit ensemble. Un tel identifiant de terminal est apte à identifier de manière unique ledit terminal. L’identifiant de terminal peut être un identifiant source, destiné à être utilisé par le terminal UE 41 pour transmettre des données. En variante, l’identifiant de terminal peut être un identifiant destination destiné à être utilisé par le terminal UE 41 pour recevoir des données. Un même identifiant peut être utilisé pour l’envoi et la réception des paquets de données.
Après avoir reçu au moins un identifiant de terminal, le terminal peut notamment stocker au cours d’une étape 414, par exemple dans une mémoire ou un registre du terminal, l’identifiant de terminal reçu au cours d’une étape 413 et la tranche réseau (ou le type de tranche) associé. De cette façon, l’identifiant de terminal est toujours disponible au niveau du terminal et peut être utilisé par le terminal comme identifiant externe (adresse externe, typiquement) pour envoyer et/ou recevoir des données.
On présente désormais les principales étapes mises en œuvre par une entité du réseau par laquelle transite le trafic à destination ou en provenance d’un terminal. Par exemple, une telle entité est un routeur d’accès ou un routeur de bordure.
Une telle entité, par exemple le routeur de bordure 441, reçoit au cours d’une étape 4412 au moins un paquet de données émis par le terminal si l’on considère un flux en provenance du terminal, ou au moins un paquet de données destiné au terminal si l’on considère un flux à destination du terminal.
Un tel paquet porte un identifiant de terminal apte à identifier de manière unique un terminal émetteur ou destinataire dudit au moins un paquet de données.
Au cours d’une étape 4413, l’entité considérée, par exemple le routeur de bordure 441, peut sélectionner la tranche réseau ou le type de tranche réseau associé(e) à l’ensemble d’identifiants auquel appartient l’identifiant de terminal en exécutant l’algorithme d’association.
Selon un premier mode de réalisation, la sélection de la tranche réseau ou du type de tranche réseau met en œuvre la détermination de l’ensemble auquel appartient l’identifiant de terminal, et la détermination de la tranche réseau (ou du type de tranche réseau) associée à l’ensemble d’identifiants. Par exemple, un premier ensemble d’identifiants comprend une première plage d’adresses IP et est associée à une première tranche réseau, un deuxième ensemble d’identifiants comprend une deuxième plage d’adresses IP et est associée à une deuxième tranche réseau, un troisième ensemble d’identifiants comprend une troisième plage d’adresses IP et est associée à une troisième tranche réseau, etc. Si l’identifiant de terminal appartient à la deuxième plage d’adresses IP, alors la tranche réseau sélectionnée est la deuxième tranche réseau, associée au deuxième identifiant. La configuration des différents ensembles d’identifiants, et leur association avec les tranches réseau ou type de tranche, peut être effectuée au préalable, par exemple par le contrôleur 46. Le contrôleur 46 peut alors envoyer des informations de configuration de l’algorithme d’association au routeur de bordure 441, afin que le routeur de bordure 441 puisse exécuter l’algorithme et retrouver la tranche réseau associée à l’ensemble auquel appartient l’identifiant de terminal.
Selon un deuxième mode de réalisation, la sélection de la tranche réseau ou du type de tranche réseau met en œuvre l’extraction d’une portion de l’identifiant de terminal, et la détermination de la tranche réseau (ou du type de tranche réseau) associée à la portion. Par exemple, un masque (« bitmask ») peut être défini pour indiquer la position des bits à extraire pour obtenir une portion d’identifiant. Si l’on considère des adresses IP, ce masque peut être par exemple :
- « 48-56 » pour indiquer que les bits à extraire de l’identifiant de terminal, pour obtenir une portion d’identifiant, sont ceux compris entre le bit 48 et 56 d’une adresse IPv6.
- « 48-64 » pour indiquer que les bits à extraire pour obtenir une portion d’identifiant sont ceux compris entre le bit 48 et 64 d’une adresse IPv6.
Différents masques peuvent également être alloués aux différentes tranches. Par exemple, si 8 bits sont utilisés pour former un « bitmask », le masque « 00011000 » est alloué à une première tranche réseau, le masque « 01010101 » est alloué à une deuxième tranche réseau, etc. Sur présentation d’un identifiant de terminal, l’entité considérée (également appelée élément SPINS), par exemple le routeur de bordure 441, extrait les bits qui correspondent au « bitmask » puis compare les bits ainsi extraits avec les différents masques pour identifier la tranche réseau correspondante.
Par exemple, si la portion extraite de l’identifiant source (respectivement destination) est égale à « 01010101 », alors la deuxième tranche réseau est sélectionnée.
Au cours d’une étape 4414, l’entité considérée, par exemple le routeur de bordure 441, peut alors acheminer le ou les paquets de données via la tranche réseau ou le type de tranche réseau obtenu(e). Éventuellement, les paquets de données peuvent être marqués avec un identifiant de tranche correspondant à la tranche réseau obtenue.
Comme illustré enFIG. 5 et décrit ci-dessus, l’entité considérée, par exemple le routeur de bordure 441, peut avoir reçu au préalable, au cours d’une étape 4411, des informations de configuration d’un algorithme permettant d’associer une tranche réseau ou un type de tranche réseau à un ensemble d’identifiants, par exemple en provenance du contrôleur 46 ou du serveur d’allocation d’identifiants 45. Notamment, les masques selon le deuxième mode de réalisation peuvent être transmis dans les informations de configuration, ou connus au préalable de l’entité considérée. Le routeur de bordure n’a pas à connaître la caractérisation exacte des adresses allouées aux terminaux pour une tranche réseau donnée.
5.3 Exemple de mise en œuvre
On présente désormais un exemple de mise en œuvre de l’invention.
Dans cet exemple, on considère que les identifiants d’un ensemble d’identifiants sont des adresses IP ou préfixes IP. Dans d’autres modes de réalisation, de tels identifiants sont des adresses MAC, des identifiants VLAN, I-SID, ESI, LISP, etc., une combinatoire de tout ou partie de ces identifiants, le résultat d’une fonction appliquée à au moins l’un de ces identifiants.
On considère également que le terminal est un équipement utilisateur. Dans d’autres modes de réalisation, un tel terminal est un CPE ou une instance de service.
5.3.1 Construction des ensembles d’identifiants
Un ensemble d’identifiants selon l’invention comprend au moins un identifiant, ou de façon plus générale le résultat de l’application d’une fonction à au moins un identifiant (fonction de hachage, de troncature, etc.).
Par exemple, un ensemble d’identifiants comprend au moins deux adresses.
Chaque ensemble d’identifiants est dédié à une tranche réseau (ou à un type de tranche réseau).
On suppose que le réseau déploie « N » tranches réseau. Chacune des tranches réseau peut être identifiée par un identifiant unique de tranche : « slice_id_i », avec « i » un entier compris entre 1 et N.
Cet identifiant de tranche peut être identique ou distinct de celui utilisé pour le marquage des paquets de données.
Une ou plusieurs tranches réseau peu(ven)t être associée(s) chacune à un ou plusieurs ensemble(s) d’identifiants comprenant uniquement des adresses IPv4, une ou plusieurs tranches réseau peu(ven)t être associée(s) chacune à un ou plusieurs ensemble(s) d’identifiants comprenant uniquement des adresses IPv6, une ou plusieurs tranches réseau peu(ven)t être associée(s) chacune à un ou plusieurs ensemble(s) d’identifiants comprenant des adresses IPv4 et des adresses IPv6.
Par exemple, le système de gestion des adresses utilisées dans (ou exploitées par) le réseau alloue « M » ensembles d’identifiants, chaque ensemble étant identifié par une référence unique : « pool_id_j », avec « j » un entier compris entre 1 et M. Un ensemble d’identifiants peut comprendre plusieurs plages d’identifiants ; chaque plage étant identifiée par une référence unique « pool_k », avec « k » un entier. Un tel système est communément appelé IPAM (« IP Address Management »). Il peut être mise en œuvre par un serveur d’allocation, par exemple un serveur DHCP, ou par une entité de gestion, par exemple un contrôleur 46. Aucune hypothèse n’est faite quant à la nature de la solution IPAM déployée dans un réseau.
Un ensemble d’identifiants comprend au moins un identifiant, par exemple au moins une adresse IP. Un ensemble d’identifiants peut inclure des adresses IPv4 et IPv6. En variante, des ensembles par famille d’adresses (par exemple au moins un premier ensemble pour les adresses IPv4, et au moins un deuxième ensemble pour des adresses IPv6) peuvent être envisagés.
Un ensemble d’identifiants peut être un bloc d’adresses contiguës. Un premier exemple d’ensemble d’identifiants comportant au moins deux adresses contiguës est : « 1.2.3.4/16 ». Un deuxième exemple d’ensemble d’identifiants comportant au moins deux adresses contiguës est : « 2001:db8::/32 ».
Un ensemble d’identifiants peut être un bloc d’adresses non contigües, ou deux blocs non contigus. Un premier exemple d’ensemble d’identifiants comportant au moins deux blocs non-contigus est : « 1.2.3.0/24, 55.66.77.88/24 ». Un deuxième exemple d’ensemble d’identifiants comportant au moins deux blocs non-contigus est : « 2001:db8::/50, 2001:db8:1:c000::/50 ». Plusieurs blocs non-contigus peuvent donc appartenir à un même ensemble.
Les ensembles d’identifiants peuvent être de même taille ou de tailles différentes.
5.3.2 Association des ensembles d’identifiants à des tranches réseau
On suppose que des entités du réseau, tels que des routeurs d’accès, des routeurs de bordure ou un serveur IPAM, ont la capacité d’exécuter un algorithme qui permet d’associer un ensemble d’identifiants, par exemple identifié par la référence « pool_id_j », à une et seulement une tranche réseau (ou un type de tranche réseau), par exemple identifiée par l’identifiant de tranche « slice_id_i ».
Un premier exemple d’algorithme est décrit comme suit :
FILTER(ADDRESS_FAMILY=Y/N)
SORT(POOLS, CRITERIA)
slice_id_j ≡ pool_id_i mod(N); (ou mod() correspond à l’opération modulo)
Selon la première étape de cet algorithme (application de la fonction FILTER), si des ensembles par famille d’adresses sont utilisés (par exemple au moins un premier ensemble pour les adresses IPv4, et au moins un deuxième ensemble pour des adresses IPv6) alors la procédure décrite est exécutée par famille d’adresses (identifiée par la variable Y). Sinon, la procédure est exécutée indépendamment de la famille d’adresses.
Selon la deuxième étape de cet algorithme (application de la fonction SORT), les différents ensembles d’identifiants (POOLS) sont triés en tenant compte d’un ou de plusieurs critères déterminés (CRITERIA), comme par exemple leur taille (qui peut être définie par le nombre d’identifiants qui composent un ensemble) ou selon une relation d’ordre, etc.
Enfin, chaque ensemble d’identifiants est associé à une seule tranche réseau, ou à un type de tranche réseau.
Un deuxième exemple d’algorithme permettant d’associer un ensemble d’identifiants à une et seulement une tranche réseau (ou un type de tranche réseau) est proposé ci-après.
Au cours d’une première étape, un masque est défini, permettant de spécifier une portion à extraire d’un identifiant. Ce masque (« bitmask ») est par exemple :
- « 48-56 » pour indiquer que les bits à extraire pour l’identification sont ceux compris entre les bits 48 et 56 d’une adresse IPv6.
- « 48-64 » pour indiquer que les bits à extraire pour l’identification sont ceux compris entre les bits 48 et 64 d’une adresse IPv6.
Au cours d’une deuxième étape, on alloue des masques par tranche : par exemple « 00011000 » pour la tranche 1, « 01010101 » pour la tranche 3, etc. On associe ainsi une tranche réseau à une portion extraite d’un identifiant.
Selon ces différents exemples, on peut donc exécuter une fonction algorithmique « f() » permettant d’associer une tranche réseau à un ensemble d’identifiants. Par exemple, « slice_id = f(pool_id) ».
On note que la configuration de la fonction « f() » peut évoluer dans le temps. Elle peut notamment être définie dans une autre entité, par exemple un contrôleur 46.
Les paramètres de configuration (par exemple la taille de l’ensemble d’identifiants, le filtrage par famille d’adresses, les critères d’ordre selon une politique de priorisation qui imposerait par exemple de puiser des identifiants dans un premier ensemble, puis dans un second à l’issue de l’épuisement du premier (ou de l’atteinte d’un seuil correspondant à « x % » du nombre d’identifiants disponibles ou utilisés), etc., l’ordre de sélection des identifiants pouvant être défini selon l’organisation de l’entité responsable de la gestion des ensembles d’identifiants, la nature du trafic, etc., le nombre de tranches réseau, etc.), un horodatage, et éventuellement une version de la fonction « f() » peuvent être enregistrés à chaque changement de configuration, par exemple lorsqu’un nouveau terminal se connecte au réseau.
La fonction « f() » peut être exécutée par les entités suivantes, en tenant compte des différents paramètres de configuration :
- un serveur d’allocation d’adresses ou de préfixes, ou plus généralement, d’allocation d’identifiants (par exemple de type DHCP ou DHCPv6),
- un routeur qui active une fonction de délégation de préfixes,
- un nœud de périphérie responsable de la classification des paquets en provenance ou à destination d’un terminal : routeur d’accès, routeurs de bordure (par exemple routeurs ASBR « Autonomous System Border Routers »), etc.
Si une nouvelle tranche réseau est configurée ou supprimée dans un réseau, ou si l’ingénierie d’une tranche réseau fait l’objet d’une modification, la configuration des paramètres permettant d’exécuter la fonction « f() » peut être modifiée pour refléter l’impact des événements précédemment mentionnés (ajout/suppression/modification). Par exemple, lorsque qu’un seuil de trafic est atteint au sein de la tranche, une mise à jour des ressources en bande passante peut se révéler nécessaire. Dans ce cas, l’opérateur peut décider d’allouer des ressources de transmission supplémentaires à cette tranche, lorsqu’une tranche réseau a été redimensionnée pour servir plus (ou moins) d’utilisateurs, ou lorsque des adresses initialement faisant partie d’un ensemble d’identifiants « pool_id_i » ont été transférées vers un autre ensemble d’identifiants « pool_id_j ».
Cette nouvelle configuration peut notamment être communiquée aux différentes entités impliquées dans le calcul de la fonction « f() ».
En particulier, la nouvelle configuration doit être coordonnée/synchronisée entre les différentes entités, afin d’éviter que le trafic ne soit malencontreusement classé comme devant être acheminé au sein d’une autre tranche réseau que celle à laquelle il doit être associé, ce qui risquerait de dégrader la qualité du service dont ce trafic est caractéristique, et, partant, la qualité du service telle que perçue par l’utilisateur.
5.3.3 Demande de raccordement
Afin de pouvoir émettre et/ou recevoir des données, un terminal doit se raccorder à au moins une tranche réseau.
Pour ce faire, le terminal négocie avec au moins un SSP auprès duquel l’utilisateur du terminal a souscrit un service (de connectivité) une liste de tranches réseau qu’il est susceptible d’utiliser pour envoyer ou recevoir du trafic. Pour chaque tranche réseau, son type peut aussi être négocié entre le terminal et le réseau.
En particulier, le terminal demande un identifiant de terminal, par exemple une adresse ou un préfixe, à utiliser pour émettre ou recevoir des données via la ou les tranches réseau auxquelles il souhaite se raccorder. Pour ce faire, comme illustré par laFIG. 5 , le terminal transmet (412) une requête d’allocation d’au moins un identifiant à une entité dédiée, par exemple un serveur d’allocation d’identifiants (serveur DHCP par exemple).
Selon un mode d’implémentation particulier, un terminal peut insérer un identifiant du type de tranche réseau ou de la tranche réseau demandée dans la requête d’allocation d’identifiants (allocation d’adresse ou délégation de préfixes par exemple). De nouvelles options DHCP « SLICETYPE » et « SLICEID » peuvent être définies à cet effet.
Un exemple d’option DHCPv6 « OPTION_SLICEID » permettant d’insérer un identifiant de tranche réseau (SLICEID) de longueur variable « OPTION_LEN » est proposé ci-après :
| 0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 |
| OPTION_SLICEID | OPTION_LEN | ||||||||||||||||||||||||||||||
| SLICEID (longueur variable) |
Un exemple d’option DHCPv6 « OPTION_SLICETYPE » permettant d’insérer un type de tranche réseau (SLICETYPE) de longueur variable « OPTION_LEN » est proposé ci-après :
| 0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 |
| OPTION_SLICETYPE | OPTION_LEN | ||||||||||||||||||||||||||||||
| SLICETYPE (longueur variable) |
Sur réception de la requête d’allocation d’adresse/préfixe par le serveur d’allocation (ou plus généralement de l’entité sollicitée pour l’allocation d’identifiants), ce dernier peut vérifier si le terminal est autorisé à accéder à une tranche donnée.
Le serveur peut alors exécuter la fonction « f() » pour déterminer l’ensemble d’identifiants à utiliser pour la ou les tranches réseau demandées par le terminal (tranches réseau « cibles »). L’identité de la ou des tranche(s) réseau cible(s), par exemple un identifiant de tranche, peut être extraite des informations d’autorisation pour ce terminal ou de la requête d’allocation.
Pour une tranche réseau, une ou plusieurs adresses (et/ou un ou plusieurs préfixes) disponibles, sélectionnées parmi l’ensemble d’identifiants, peuvent être allouée(s) au terminal.
Par exemple, l’identité de la tranche réseau associée à une adresse (ou préfixe) peut être explicitement indiquée dans une réponse envoyée par le serveur d’allocation, notamment si une réponse « commune » (ou groupée) est utilisée pour les différentes tranches réseau. Par exemple, l’une des options DHCP « SLICETYPE » ou « SLICEID » peut être retournée dans la réponse envoyée par le serveur d’allocation au terminal pour l’informer de l’adresse (ou préfixe) alloué(e) pour une tranche réseau donnée. On note que l’identification de la tranche réseau n’est pas nécessaire si les informations consignées dans la réponse permettent d’identifier de façon univoque la tranche réseau concernée.
Sur réception (413) de la réponse envoyée par le serveur d’allocation, le terminal enregistre (414) l’association entre un identifiant alloué au terminal (adresse/préfixe par exemple), dit identifiant de terminal, et la tranche réseau associée. Par exemple, si l’identifiant de terminal est alloué à une interface réseau du terminal, le terminal enregistre l’association entre l’identifiant de terminal et la tranche réseau associée pour l’interface réseau via laquelle les informations ont été reçues. Si l’identifiant de terminal est alloué à un module logiciel embarqué dans le terminal, le terminal enregistre l’association entre l’identifiant de terminal et la tranche réseau associée pour le module logiciel via lequel les informations ont été reçues.
On suppose qu’une table est maintenue à cet effet par le terminal. Cette table est par exemple appelée ici « ADDR_SLICES ».
5.3.4 Terminal émetteur des données
On considère ci-après que le terminal souhaite émettre des données via une tranche réseau cible.
Une application peut notamment utiliser une API du terminal pour demander que des paquets de données soient acheminés via une tranche réseau donnée.
Selon un premier exemple, on suppose que le terminal héberge un gestionnaire SPINS qui a la capacité d’imposer l’adresse source des paquets émis par le terminal à destination d’une tranche réseau donnée en accord avec les informations descriptives de cette tranche réseau, et telles que consignées dans la table ADDR_SLICES. Selon un deuxième exemple, l’imposition (resp. l’ordre d’utilisation - par exemple selon la nature de l’application qui peut privilégier l’utilisation de l’adresse affectée à l’interface Wi-Fi© du terminal avant d’exploiter l’adresse affectée à l’interface 5G du terminal ou contrôler la préférence d’utilisation des tranches disponibles et donc des adresses associées) de l’adresse source est effectuée (resp. émis) directement par l’application. L’imposition de l’adresse source consiste donc à influencer le choix de l’adresse externe source à utiliser par un terminal pour l’envoi d’un paquet de données généré par une application.
En d’autres termes, l’adresse source des paquets de données envoyés par le terminal via une tranche réseau doit correspondre à l’identifiant de terminal enregistré dans la table ADDR_SLICES pour cette tranche réseau.
Si une adresse locale est utilisée par l’application (par exemple une adresse privée IPv4 ou une adresse « link-local » IPv6), alors un état peut être enregistré localement pour maintenir le lien entre l’adresse interne du terminal telle que perçue par l’application et l’adresse source (identifiant de terminal) sélectionnée pour les besoins de la procédure SPINS.
Éventuellement, un ou des nœuds d’accès peuvent procéder à des vérifications pour s’assurer que le trafic reçu d’un terminal est émis avec une adresse source associée à une tranche à laquelle ce terminal est autorisé à se connecter.
5.3.5 Terminal destinataire des données
Pour les paquets reçus d’un réseau voisin (par exemple, un réseau exploité par un autre opérateur, un centre de données (« data center », en anglais) ou une infrastructure « cloud » qui serait également exploitée par un tiers), un nœud de périphérie extrait l’identifiant du terminal destinataire (par exemple l’adresse destination), qui peut notamment être consignée dans l’entête de tels paquets. Il identifie ensuite l’ensemble d’identifiants auquel appartient cet identifiant destination, et par suite la tranche réseau, ou le type de tranche réseau, associé à cet ensemble d’identifiants.
Par exemple, si un ensemble d’identifiants est trouvé, le nœud de périphérie détermine la référence unique associée à l’ensemble d’identifiants : « pool_id_i ». Le nœud de périphérie exécute ensuite la fonction « f() » en utilisant comme paramètre d’entrée la référence unique « pool_id_i ». L’identifiant de tranche réseau retourné, « slice_id », correspond à la tranche réseau sélectionnée. Il peut notamment être utilisé pour marquer les paquets de données à acheminer via cette tranche réseau.
Le cas échéant, le nœud de périphérie marque le trafic et l’achemine via la tranche réseau ainsi sélectionnée.
Si aucun ensemble d’identifiants n’est trouvé, le nœud de périphérie peut traiter le trafic selon une règle par défaut. Par exemple, une telle règle consiste à envoyer le trafic dans le réseau sans solliciter l’une ou l’autre des tranches réseau disponibles.
A titre illustratif, laFIG. 6 fournit un exemple de mise en œuvre de l’invention. On considère par exemple un terminal 61 connecté à un nœud d’accès 62, lui-même connecté au réseau Internet 63 via un routeur de bordure 64.
Comme indiqué précédemment, les nœuds de périphérie (nœud d’accès 62, routeur de bordure 64) peuvent être configurés avec les mêmes paramètres de configuration pour l’exécution de la fonction « f() ».
Le terminal 61 dispose d’une table ADDR_SLICES permettant de lister les identifiants de terminal, alloués par le serveur d’allocation, et les tranches réseau associées {@, Slice#}.
Par exemple, une application APP1 utilise l’API exposée par le terminal 61 pour demander que des paquets soient acheminés via une tranche réseau « Slice1 » et une application APP2 utilise cette API pour demander que des paquets soient acheminés via une tranche réseau « Slice2 ». Le terminal 61 sélectionne (611) l’identifiant de terminal (identifiant source : src_@) correspondant aux tranches réseau demandées, en consultant la table ADDR_SLICES. Par exemple, l’identifiant de terminal « @1 » peut être utilisé par le terminal pour envoyer des données via la tranche réseau « Slice1 », et l’identifiant de terminal « @2 » peut être utilisé par le terminal pour envoyer des données via la tranche réseau « Slice2 ».
A réception de données en provenance du terminal 61, le nœud d’accès 62 peut notamment vérifier (621) si les données reçues ont bien été émises avec l’identifiant de terminal source associé à la tranche réseau ad hoc : ainsi, si le nœud d’accès 62 reçoit des données en provenance du terminal via la tranche réseau « Slice2 » (par exemple, via un tunnel dédié), il peut vérifier si l’identifiant source est bien l’adresse « @2 ». Le nœud d’accès 62 peut notamment faire suivre les données au routeur de bordure 64, via la ou les tranches réseaux sélectionnées (« Slice 1 » pour l’application APP1, « Slice2 » pour l’application APP2).
Pour le trafic retour, le routeur de bordure extrait l’identifiant de terminal (identifiant destination : dst_@) tel que consigné dans l’entête des paquets de données. En exécutant la fonction « f() », il peut notamment identifier (624) la tranche réseau à utiliser pour transmettre les données vers le terminal.
On a décrit ci-dessus le cas où la fonction « f() » permet d’associer une tranche réseau à un ensemble d’identifiants identifié par une référence unique.
Dans le cas où la fonction « f() » met en œuvre un « bitmask », un élément SPINS peut notamment extraire les bits de l’identifiant de terminal (source ou destination) qui correspondent au « bitmask », puis comparer les bits ainsi extraits avec les différents masques pour identifier la tranche réseau correspondante.
5.4 Variantes
On a décrit ci-dessus différents exemples selon lesquels le terminal est un équipement utilisateur. Dans d’autres modes de réalisation, mettant en œuvre des étapes similaires, le terminal peut être un CPE ou une instance de service.
5.5 Structure simplifiée des entités correspondantes
On présente finalement, en relation avec laFIG. 7 , les structures simplifiées d’une entité, par exemple un nœud de périphérie, une entité de gestion, un serveur d’allocation d’identifiants ou un terminal selon au moins un mode de réalisation décrit ci-dessus.
Comme illustré par laFIG. 7 , une telle entité comprend au moins une mémoire 71 comprenant une mémoire tampon, au moins une unité de traitement 72, équipée par exemple d’une machine de calcul programmable ou d’une machine de calcul dédiée, par exemple un processeur P, et pilotée par le programme d’ordinateur 73, mettant en œuvre des étapes d’au moins un procédé selon au moins un mode de réalisation de l’invention.
A l’initialisation, les instructions de code du programme d’ordinateur 73 sont par exemple chargées dans une mémoire RAM avant d’être exécutées par le processeur de l’unité de traitement 72.
Si l’entité est un nœud de périphérie, le processeur de l’unité de traitement 72 met en œuvre des étapes du procédé d’acheminement de données décrit précédemment, selon les instructions du programme d’ordinateur 73, pour :
- obtenir des informations de configuration d’un algorithme permettant d’associer, à au moins une tranche réseau ou à au moins un type de tranche réseau, au moins un ensemble d’identifiants apte à être utilisés par un terminal pour émettre ou recevoir au moins un paquet de données via ladite tranche réseau, ou ledit type de tranche réseau, considéré(e), chaque ensemble d’identifiants étant associé à une unique tranche réseau ou à un unique type de tranche réseau,
- obtenir au moins un paquet de données comportant un identifiant de terminal apte à identifier de manière unique un terminal émetteur ou destinataire dudit au moins un paquet de données,
- sélectionner une tranche réseau ou un type de tranche réseau associée à l’ensemble d’identifiants auquel appartient ledit identifiant de terminal, à partir desdites informations de configuration,
- acheminer ledit au moins un paquet de données via ladite tranche réseau ou ledit type de tranche réseau sélectionné(e).
Si l’entité est une entité de gestion, le processeur de l’unité de traitement 72 met en œuvre des étapes du procédé de configuration décrit précédemment, selon les instructions du programme d’ordinateur 73, pour :
- associer, à au moins une tranche réseau ou à au moins un type de tranche réseau, au moins un ensemble d’identifiants apte à être utilisés par un terminal pour émettre ou recevoir au moins un paquet de données via ladite tranche réseau, ou ledit type de tranche réseau, chaque ensemble d’identifiants étant associé à une unique tranche réseau ou à un unique type de tranche réseau,
- transmettre des informations de configuration d’un algorithme à au moins une entité dudit réseau, permettant à ladite entité d’associer ladite au moins une tranche réseau ou ledit au moins un type de tranche réseau audit au moins un ensemble d’identifiants.
Si l’entité est un serveur d’allocation d’identifiants, le processeur de l’unité de traitement 72 met en œuvre des étapes du procédé d’allocation décrit précédemment, selon les instructions du programme d’ordinateur 73, pour :
- obtenir des informations de configuration d’un algorithme permettant d’associer, à au moins une tranche réseau ou à au moins un type de tranche réseau, au moins un ensemble d’identifiants apte à être utilisés par un terminal pour émettre ou recevoir au moins un paquet de données via ladite tranche réseau, ou ledit type de tranche réseau, chaque ensemble d’identifiants étant associé à une unique tranche réseau ou à un unique type de tranche,
- recevoir, en provenance d’un terminal connecté audit réseau, au moins une requête d’allocation d’au moins un identifiant destiné à être utilisé par le terminal pour émettre ou recevoir au moins un paquet de données via une tranche réseau ou un type de tranche réseau à laquelle ou auquel ledit terminal est habilité à se connecter,
- déterminer l’ensemble d’identifiants associé à ladite tranche réseau ou audit type de tranche réseau, à partir desdites informations de configuration,
- transmettre, audit terminal, au moins un identifiant dudit ensemble d’identifiants, alloué audit terminal et apte à identifier de manière unique ledit terminal, dit identifiant de terminal.
Si l’entité est un terminal, le processeur de l’unité de traitement 72 met en œuvre des étapes du procédé d’accès à au moins un service décrit précédemment, pour au moins une tranche réseau ou un type de tranche réseau à laquelle ou auquel ledit terminal est habilité à se connecter, selon les instructions du programme d’ordinateur 73, pour :
- transmettre une requête d’allocation d’au moins un identifiant destiné à être utilisé par le terminal pour émettre ou recevoir au moins un paquet de données via ladite tranche réseau, ou ledit type de tranche réseau,
- recevoir, en réponse à ladite requête, au moins un identifiant d’un ensemble d’identifiants, alloué audit terminal et apte à identifier de manière unique ledit terminal, dit identifiant de terminal,
- stocker ledit au moins un identifiant de terminal associé à ladite tranche réseau ou audit type de tranche réseau.
Claims (16)
- Procédé d’acheminement de données en provenance ou à destination d’un terminal dans un réseau de communication mettant en œuvre des tranches réseau, comprenant :
- l’obtention (4411) d’informations de configuration d’un algorithme permettant d’associer, à au moins une tranche réseau ou à au moins un type de tranche réseau, au moins un ensemble d’identifiants apte à être utilisés par un terminal pour émettre ou recevoir au moins un paquet de données via ladite tranche réseau, ou ledit type de tranche réseau, chaque ensemble d’identifiants étant associé à une unique tranche réseau ou à un unique type de tranche réseau,
- l’obtention (4412) d’au moins un paquet de données comportant un identifiant de terminal apte à identifier de manière unique un terminal émetteur ou destinataire dudit au moins un paquet de données,
- la sélection (4413) d’une tranche réseau ou d’un type de tranche réseau associée à l’ensemble d’identifiants auquel appartient ledit identifiant de terminal, à partir desdites informations de configuration,
- l’acheminement (4414) dudit au moins un paquet de données via ladite tranche réseau ou ledit type de tranche réseau sélectionné(e).
- Procédé selon la revendication 1, caractérisé en ce qu’il comprend également le marquage dudit au moins un paquet de données avec un identifiant apte à identifier de manière unique ladite tranche réseau ou ledit type de tranche réseau sélectionné(e), dit identifiant de tranche.
- Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que ladite étape de sélection comprend :
- la détermination de l’ensemble d’identifiants auquel appartient ledit identifiant de terminal,
- la détermination de ladite tranche réseau ou dudit type de tranche réseau associé(e) audit ensemble d’identifiants.
- Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que ladite étape de sélection comprend :
- l’extraction d’une portion dudit identifiant de terminal,
- la détermination de ladite tranche réseau ou dudit type de tranche réseau associé(e) à ladite portion.
- Procédé de configuration d’un réseau de communication mettant en œuvre des tranches réseau, destiné à acheminer des données en provenance ou à destination d’au moins un terminal, comprenant :
- une étape d’association (461), à au moins une tranche réseau ou à au moins un type de tranche réseau, d’au moins un ensemble d’identifiants apte à être utilisés par un terminal pour émettre ou recevoir au moins un paquet de données via ladite tranche réseau, ou ledit type de tranche réseau, chaque ensemble d’identifiants étant associé à une unique tranche réseau ou à un unique type de tranche réseau,
- une étape de transmission (462) d’informations de configuration d’un algorithme à au moins une entité dudit réseau, permettant à ladite entité d’associer ladite au moins une tranche réseau ou ledit au moins un type de tranche réseau audit au moins un ensemble d’identifiants.
- Procédé selon la revendication 5, caractérisé en ce que ledit au moins un ensemble d’identifiants est identifié par une référence unique et en ce que ladite étape d’association associe ladite référence unique avec un identifiant apte à identifier de manière unique ladite tranche réseau ou ledit type de tranche réseau, dit identifiant de tranche.
- Procédé selon l'une quelconque des revendications 5 et 6, caractérisé en ce que ledit au moins un ensemble d’identifiants comprend au moins un identifiant appartenant au groupe comprenant :
- une adresse IP,
- un préfixe IP,
- une adresse MAC,
- un identifiant VLAN,
- un identifiant I-SID,
- un identifiant ESI,
- un identifiant selon le protocole LISP,
- une combinatoire de tout ou partie des identifiants ci-dessus,
- un résultat d’une fonction appliquée à au moins l’un des identifiants ci-dessus.
- Procédé selon l'une quelconque des revendications 5 à 7, caractérisé en ce qu’au moins un desdits ensembles d’identifiants comprend au moins deux identifiants non contigus.
- Procédé d’allocation d’au moins un identifiant à un terminal dans un réseau de communication mettant en œuvre des tranches réseau, comprenant :
- l’obtention (451) d’informations de configuration d’un algorithme permettant d’associer, à au moins une tranche réseau ou à au moins un type de tranche réseau, au moins un ensemble d’identifiants apte à être utilisés par un terminal pour émettre ou recevoir au moins un paquet de données via ladite tranche réseau, ou ledit type de tranche réseau, chaque ensemble d’identifiants étant associé à une unique tranche réseau ou à un unique type de tranche,
- la réception (452), en provenance d’un terminal connecté audit réseau, d’au moins une requête d’allocation d’au moins un identifiant destiné à être utilisé par ledit terminal pour émettre ou recevoir au moins un paquet de données via une tranche réseau ou un type de tranche réseau à laquelle ou auquel ledit terminal est habilité à se connecter,
- la détermination (453) de l’ensemble d’identifiants associé à ladite tranche réseau ou audit type de tranche réseau, à partir desdites informations de configuration,
- la transmission (454), audit terminal, d’au moins un identifiant dudit ensemble d’identifiants, alloué audit terminal et apte à identifier de manière unique ledit terminal, dit identifiant de terminal.
- Procédé d’accès à au moins un service par un terminal, via un réseau de communication mettant en œuvre des tranches réseau, comprenant,
pour au moins une tranche réseau ou un type de tranche réseau à laquelle ou auquel ledit terminal est habilité à se connecter :- la transmission (412) d’une requête d’allocation d’au moins un identifiant destiné à être utilisé par ledit terminal pour émettre ou recevoir au moins un paquet de données via ladite tranche réseau, ou ledit type de tranche réseau,
- la réception (413), en réponse à ladite requête, d’au moins un identifiant d’un ensemble d’identifiants, alloué audit terminal et apte à identifier de manière unique ledit terminal, dit identifiant de terminal,
- le stockage (414) dudit au moins un identifiant de terminal associé à ladite tranche réseau ou audit type de tranche réseau.
- Procédé selon la revendication 10, caractérisé en ce que, préalablement à l’émission d’au moins un paquet de données, il comprend une étape de sélection de l’identifiant de terminal à utiliser pour une transmission via une tranche réseau cible, parmi le ou les identifiants de terminal stockés par ledit terminal.
- Procédé selon la revendication 11, caractérisé en ce qu’il comprend en outre une étape de remplacement d’une adresse locale dudit terminal, par ledit identifiant de terminal sélectionné pour l’acheminement de paquets de données via une tranche réseau cible.
- Entité apte à acheminer des données en provenance ou à destination d’un terminal dans un réseau de communication mettant en œuvre des tranches réseau, comprenant au moins un processeur configuré pour :
- obtenir des informations de configuration d’un algorithme permettant d’associer, à au moins une tranche réseau ou à au moins un type de tranche réseau, au moins un ensemble d’identifiants apte à être utilisés par un terminal pour émettre ou recevoir au moins un paquet de données via ladite tranche réseau, ou ledit type de tranche réseau, chaque ensemble d’identifiants étant associé à une unique tranche réseau ou à un unique type de tranche réseau,
- obtenir au moins un paquet de données comportant un identifiant de terminal apte à identifier de manière unique un terminal émetteur ou destinataire dudit au moins un paquet de données,
- sélectionner une tranche réseau ou un type de tranche réseau associé(e) à l’ensemble d’identifiants auquel appartient ledit identifiant de terminal, à partir desdites informations de configuration,
- acheminer ledit au moins un paquet de données via ladite tranche réseau ou ledit type de tranche réseau sélectionné(e).
- Entité apte à configurer un réseau de communication mettant en œuvre des tranches réseau, destiné à acheminer des données en provenance ou à destination d’au moins un terminal, comprenant au moins un processeur configuré pour :
associer, à au moins une tranche réseau ou à au moins un type de tranche réseau, au moins un ensemble d’identifiants apte à être utilisés par un terminal pour émettre ou recevoir au moins un paquet de données via ladite tranche réseau, ou ledit type de tranche réseau, chaque ensemble d’identifiants étant associé à une unique tranche réseau ou à un unique type de tranche réseau,
transmettre des informations de configuration d’un algorithme à au moins une entité dudit réseau, permettant à ladite entité d’associer ladite au moins une tranche réseau ou ledit au moins un type de tranche réseau audit au moins un ensemble d’identifiants. - Serveur d’allocation d’au moins un identifiant à un terminal dans un réseau de communication mettant en œuvre des tranches réseau, comprenant au moins un processeur configuré pour :
- obtenir des informations de configuration d’un algorithme permettant d’associer, à au moins une tranche réseau ou à au moins un type de tranche réseau, au moins un ensemble d’identifiants apte à être utilisés par un terminal pour émettre ou recevoir au moins un paquet de données via ladite tranche réseau, ou ledit type de tranche réseau, chaque ensemble d’identifiants étant associé à une unique tranche réseau ou à un unique type de tranche,
- recevoir, en provenance d’un terminal connecté audit réseau, d’au moins une requête d’allocation d’au moins un identifiant destiné à être utilisé par ledit terminal pour émettre ou recevoir au moins un paquet de données via une tranche réseau ou un type de tranche réseau à laquelle ou auquel ledit terminal est habilité à se connecter,
- déterminer l’ensemble d’identifiants associé à ladite tranche réseau ou audit type de tranche réseau,
- transmettre, audit terminal, au moins un identifiant dudit ensemble d’identifiants, alloué audit terminal et apte à identifier de manière unique ledit terminal, dit identifiant de terminal.
- Terminal apte à accéder à au moins un service, via un réseau de communication mettant en œuvre des tranches réseau, comprenant au moins un processeur configuré pour :
- transmettre une requête d’allocation d’au moins un identifiant destiné à être utilisé par ledit terminal pour émettre ou recevoir au moins un paquet de données via une tranche réseau ou un type de tranche réseau à laquelle ou auquel ledit terminal est habilité à se connecter,
- recevoir, en réponse à ladite requête, d’au moins un identifiant d’un ensemble d’identifiants, alloué audit terminal et apte à identifier de manière unique ledit terminal, dit identifiant de terminal,
- stocker ledit identifiant de terminal associé à ladite tranche réseau ou audit type de tranche réseau.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2310990A FR3154269A1 (fr) | 2023-10-12 | 2023-10-12 | Procédés d’acheminement de données, de configuration, d’allocation d’identifiants et d’accès à un service dans un réseau de communication mettant en œuvre des tranches réseau, entités et programme d’ordinateur correspondants. |
| PCT/EP2024/078679 WO2025078597A1 (fr) | 2023-10-12 | 2024-10-11 | Procédés d'acheminement de données, de configuration, d'allocation d'identifiants et d'accès à un service dans un réseau de communication mettant en œuvre des tranches réseau, entités et programme d'ordinateur correspondants |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2310990A FR3154269A1 (fr) | 2023-10-12 | 2023-10-12 | Procédés d’acheminement de données, de configuration, d’allocation d’identifiants et d’accès à un service dans un réseau de communication mettant en œuvre des tranches réseau, entités et programme d’ordinateur correspondants. |
| FR2310990 | 2023-10-12 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| FR3154269A1 true FR3154269A1 (fr) | 2025-04-18 |
Family
ID=89573470
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR2310990A Pending FR3154269A1 (fr) | 2023-10-12 | 2023-10-12 | Procédés d’acheminement de données, de configuration, d’allocation d’identifiants et d’accès à un service dans un réseau de communication mettant en œuvre des tranches réseau, entités et programme d’ordinateur correspondants. |
Country Status (2)
| Country | Link |
|---|---|
| FR (1) | FR3154269A1 (fr) |
| WO (1) | WO2025078597A1 (fr) |
-
2023
- 2023-10-12 FR FR2310990A patent/FR3154269A1/fr active Pending
-
2024
- 2024-10-11 WO PCT/EP2024/078679 patent/WO2025078597A1/fr active Pending
Non-Patent Citations (14)
| Title |
|---|
| A REALIZATION OF IETF NETWORK SLICES FOR 5G NETWORKS USING CURRENT IP/MPLS TECHNOLOGIES |
| A. FARREL ET AL., A FRAMEWORK FOR NETWORK SLICES IN NETWORKS BUILT FROM IETF TECHNOLOGIES, 14 September 2023 (2023-09-14) |
| D. FARINACCI ET AL., THE LOCATOR/ID SE-PARATION PROTOCOL (LISP, January 2013 (2013-01-01) |
| GONG W CHENG CHINA MOBILE C LIN M CHEN NEW H3C TECHNOLOGIES J DONG HUAWEI TECHNOLOGIES R CHEN ZTE CORPORATION Y LIANG RUIJIE NETWO: "Segment Routing based Solution for Hierarchical IETF Network Slices draft-gong-teas-hierarchical-slice-solution-00 ;draft-gong-teas-hierarchical-slice-solution-00.txt", 10 July 2022 (2022-07-10), pages 1 - 14, XP015152845, Retrieved from the Internet <URL:https://tools.ietf.org/html/draft-gong-teas-hierarchical-slice-solution-00> [retrieved on 20220710] * |
| HUAWEI ET AL: "Slice-based Unified Access Control", vol. RAN WG2, no. Sanya, China; 20180416 - 20180420, 6 April 2018 (2018-04-06), XP051415604, Retrieved from the Internet <URL:http://www.3gpp.org/ftp/tsg%5Fran/WG2%5FRL2/TSGR2%5F101bis/Docs/> [retrieved on 20180406] * |
| J. HALPERN ET AL.: "Service Function Chaining (SFC) Architecture", RFC7665, October 2015 (2015-10-01) |
| K. G. SZARKOWICZ ET AL., A REALIZATION OF IETF NETWORK SLICES FOR 5G NETWORKS USING CURRENT IP/MPLS TECHNOLOGIES, 23 May 2023 (2023-05-23) |
| LM CONTRERAS TELEFONICA S HOMMA NTT J A ORDONEZ-LUCENA TELEFONICA J TANTSURA MICROSOFT H NISHIHARA NTT-EAST: "IETF Network Slice Use Cases and Attributes for the Slice Service Interface of IETF Network Slice Controllers draft-ietf-teas-ietf-network-slice-use-cases-01; draft-ietf-teas-ietf-network-slice-use-cases-01.txt", no. 1, 24 October 2022 (2022-10-24), pages 1 - 29, XP015156249, Retrieved from the Internet <URL:https://tools.ietf.org/html/draft-ietf-teas-ietf-network-slice-use-cases-01> [retrieved on 20221024] * |
| M. BOUCADAIR ET AL., YANG DATA MODELS FOR 'ATTACHMENT CIRCUITS'-AS-A-SERVICE (ACAAS, 3 May 2023 (2023-05-03) |
| M. BOUCADAIR ET AL.: "RADIUS Extensions for DHCP-Configured Services", RFC 9445, August 2023 (2023-08-01) |
| R. DROMS, RFC 2131, vol. Dynamic Host Configuration Protocol, March 1997 (1997-03-01) |
| ROKUI NOKIA S HOMMA NTT D LOPEZ TELEFONICA I+D X DE FOY INTERDIGITAL INC L CONTRERAS-MURILLO J ORDONEZ-LUCENA TELEFONICA I+D P MAR: "5G Transport Slice Connectivity Interface; draft-rokui-5g-transport-slice-00.txt", 2 July 2019 (2019-07-02), pages 1 - 28, XP015133660, Retrieved from the Internet <URL:https://tools.ietf.org/html/draft-rokui-5g-transport-slice-00> [retrieved on 20190702] * |
| T. MRUGALSKI ET AL.: "Dynamic Host Configuration Protocol for IPv6 (DHCPv6", RFC 8415, November 2019 (2019-11-01) |
| Y. REKHTER ET AL.: "Address Allocation for Private Internets", RFC 1918, February 1996 (1996-02-01) |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2025078597A1 (fr) | 2025-04-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10779339B2 (en) | Wireless roaming using a distributed store | |
| EP3257204B1 (fr) | Procédé de sélection de concentrateurs de connexions réseau | |
| EP3646557A1 (fr) | Procédé de communication quic via des chemins multiples | |
| EP3284224B1 (fr) | Procédé d'émulation dune connexion à chemins multiples | |
| EP3476096A1 (fr) | Procédé de communication udp via des chemins multiples entre deux terminaux | |
| EP3787344B1 (fr) | Procédé de configuration d'un système d'extension de couverture de communication sans-fil et un système d'extension de couverture de communication sans-fil mettant en oeuvre ledit procédé | |
| EP3387862A1 (fr) | Dispositif et procede de communication sans-fil dans un reseau ip | |
| EP3682601B1 (fr) | Routage de données dans une passerelle résidentielle mettant en oeuvre l'agrégation de liens | |
| EP3682600B1 (fr) | Gestion de la connexion avec d'autres passerelles residentielles d'une passerelle residentielle mettant en oeuvre l'agregation de liens | |
| FR3154269A1 (fr) | Procédés d’acheminement de données, de configuration, d’allocation d’identifiants et d’accès à un service dans un réseau de communication mettant en œuvre des tranches réseau, entités et programme d’ordinateur correspondants. | |
| WO2020120850A1 (fr) | Terminal pouvant être connecté simultanément à plusieurs réseaux d'accès, procédé de différentiation de trafic émis par le terminal, dispositif et procédé de gestion du trafic | |
| FR3154893A1 (fr) | Procédés et dispositifs pour la configuration et l’utilisation d’un réseau supportant des tranches réseau | |
| CN122003900A (zh) | 用于在实现网络切片的通信网络中路由数据、配置、分配标识符和访问服务的方法,以及对应的实体和计算机程序 | |
| WO2025003097A1 (fr) | Procédés d'accès à un service, procédé de fourniture de services, procédé de contrôle, procédé de gestion, terminal, instance de service, contrôleur, nœud de bordure et programmes d'ordinateur correspondants | |
| WO2025078594A1 (fr) | Procédés de sélection de tranches réseau adaptées à un service, de gestion d'au moins une tranche réseau et de communication, et entités configurées pour mettre en œuvre ces procédés | |
| WO2025133029A1 (fr) | Procédé d'accès à un service par un dispositif de communication via au moins un réseau de communication | |
| FR3150669A1 (fr) | Procédés d’accès à un service et de fourniture de services, terminal, instance de service, et programmes d’ordinateur correspondants. | |
| FR3154268A1 (fr) | Procédés de vérification, de gestion, de contrôle, d’exécution d’une vérification de l’accessibilité d’un équipement, équipement, serveur de contrôle, contrôleur réseau, entité relais et programme d’ordinateur correspondants. | |
| FR3157745A1 (fr) | Transmissions de paquets de donnees dans un reseau de communication maille de type reseau local | |
| CN118870402A (zh) | 网关集群中的客户端设备的动态分布 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PLFP | Fee payment |
Year of fee payment: 2 |
|
| PLSC | Publication of the preliminary search report |
Effective date: 20250418 |