Comment est-il possible de mettre en œuvre un réseau cœur 5G dynamique et élastique? C'est ce que nous allons voir dans cette vidéo. Pour commencer, précisons bien le vocabulaire. Quand on parle de fonction réseau, ou NF, Network Function, on désigne quelque chose qui est défini pour recevoir et envoyer des paquets de façon à fournir un certain service. Si l'on met de côté l'UPF que nous ne considérons pas ici, toutes les NF sont dans le plan contrôle, c'est à dire que les paquets sont des messages de contrôle, des PUT, des GET, comme on l'a vu. Lorsqu'on parle d'instance de NF, on désigne quelque chose qui reçoit et envoie réellement des paquets, c'est-à -dire qui est déployé dans le réseau, qui est actif. Au sens strict, les échanges de messages de contrôle se font non entre les NF mais entre les instances de NF. Nous pouvons considérer deux propriétés : l'élasticité, qui peut être vue comme la capacité de nouvelles instances, identiques à des instances existantes, de démarrer, et, bien sûr, de s'arrêter. Et la dynamicité qui peut être vue comme la possibilité de démarrer des nouvelles instances avec des services différents, des caractéristiques différentes, des instances existantes. C'est le cas, par exemple, lorsqu'on cherche à déployer une nouvelle tranche de réseau, un nouveau slice, qui, donc, offre des services spécifiques. On peut atteindre une instance en indiquant soit un nom symbolique, qui est appelé Fully-Qualified Domain Name ; prenons des exemples : l'opérateur Syldavie Telecom va avoir comme nom symbolique pour une SMF, smf.syltel.com. Où il peut choisir si il a une SMF qui est à Klow, de faire smf.klow.syltel.com ou une SMF liée à une slice particulière. On peut aussi indiquer directement son adresse IP. Si on indique un nom symbolique, il faut passer par un serveur DNS, qui va convertir le nom symbolique en adresse IP, si on indique directement l'adresse IP, il n'y a évidemment pas de DNS mais on perd de la flexibilité. Pour identifier de manière unique chaque instance dans le réseau, on va utiliser un mécanisme spécifié par l'IETF et une identité appelée Universally Unique IDentifier. Pour les passionnés, ils peuvent aller voir la RFC 4122, il s'agit de la version 4 de l'UUID, qui est utilisé en 5G. L'UUID est choisi par chaque instance et il y a garantie de l'unicité dans l'espace et le temps. Cela est facilité car l'UUID est codé sur 128 bits et cela nous donne 10 puissance 38 valeurs d'UUID différentes. J'ai repris l'exemple qui est proposé par la norme et je vous ferai grâce de la lire pour ne pas perdre trop de temps. Chaque instance peut correspondre à un unique nœud matériel, par exemple, c'est un matériel spécifique qui tourne quelque part ou ça peut être une machine virtuelle sur un matériel générique. Cela peut être aussi une instance distribuée qui est répartie sur plusieurs machines. Soulignons bien la différence entre l'UUID et le FQDN, l'UUID c'est seulement un unique identificateur de l'instance quelle que soit la configuration du réseau, alors que le FQDN, c'est un nom symbolique qui permet d'atteindre l'instance, avec un DNS bien sûr. Pour connaître le nombre et les instances qui sont actives à un moment donné, puisque cela peut évoluer dans le temps, nous avons besoin d'un service d'annuaire. Ce service est fourni par le NRF : Network-function Repository Function (NRF). Le NRF va maintenir la liste des instances de NF qui sont disponibles et des services fournis par chaque instance. Il y a aussi la possibilité pour une instance qui démarre, de s'enregistrer auprès du NRF ou lorsqu'elle s'arrête, de se désenregistrer. Notons qu'il y a possibilité de fonctionner à l'ancienne, si vous me permettez cette expression, c'est-à -dire que la liste des instances va être stockée, configurée dans le NRF par l'opérateur. On perd de la dynamicité dans le réseau bien sûr dans ce cas là . Le NRF permet aussi aux autres instances de NF d'être averties des instances qui démarrent et qui s'arrêtent. Et enfin le NRF joue le rôle de serveur d'autorisation. Nous le verrons dans la partie spécifique consacrée à cela. Voyons la procédure d'enregistrement d'une instance de NF, elle est appelée registration. Il y a un nom d'API associé à cela, nnrf-nfm pour Network Function Management, et dans l'instance de NF, on configure le nom symbolique, le FQDN, du NRF qui est disponible. Le principe général de la procédure est indiqué ici, mais nous allons le voir sur un exemple un peu plus concret. Supposons qu'une nouvelle instance de SMF démarre et s'enregistre auprès du NRF, nous faisons abstraction de toutes les procédures liées à la sécurité pour nous concentrer sur l'enregistrement. Le SMF est configuré avec le nom symbolique lié au NRF, il va faire une requête DNS pour avoir l'adresse IP de ce NRF, il établit une connexion TCP avec le NRF et choisit ensuite un UUID. Cet UUID est appelé, dans le contexte des normes 3GPP, nfinstanceID pour identité d'instance de fonction réseau. À chaque instance active dans le réseau correspond une ressource dans le NRF. C'est-à -dire que pour indiquer l'instance qui démarre, on va créer cette ressource et donc envoyer un PUT. On utilise l'API que nous avons vue et l'instance de SMF place l'UUID qu'elle a choisi. Dans les paramètres de la méthode, on va indiquer à nouveau cette identité d'instance, le fait que c'est un SMF qui se signale, et soit le nom symbolique de l'instance, soit l'adresse IP, plus d'autres paramètres, tout ceci constitue le profil de la NF. Comme je l'ai dit, le NRF va créer une ressource correspondant à l'instance qui vient de démarrer et renvoie donc un 201 created, avec en écho, l'URI qui est utilisé. L'unicité de l'UUID permet de s'assurer que l'URI est bien aussi unique. Dans la réponse, nous avons une valeur de temps, en effet, si jamais un SMF ou plutôt une instance de SMF venait à tomber en panne brutalement, nous aurions toujours la ressource côté NRF et aucune instance réellement active dans le réseau. Il faut donc éviter ce problème-là . Pour l'éviter on donne une durée maximale, appelée heartBeatTimer, et au bout de cette durée, l'instance de SMF doit se signaler au NRF, et il utilise pour ça une méthode PATCH, et il reprécise l'URI de la ressource correspondant à l'instance dans le patch. Bien sûr, il y a un scénario de désenregistrement. Si l'instance de SMF s'arrête, on envoie une méthode DELETE avec l'URI sans l'API Root correspondant à la ressource liée à l'instance. Et le SMF ensuite peut réellement s'arrêter ou plutôt l'instance de SMF. Voyons maintenant la procédure de découverte qui permet à une instance NF de découvrir les autres instances NF et les services qu'elles offrent. Nous avons un service différent, donc une API différente, ici nnrf-disc pour discovery. Le principe de fonctionnement est indiqué ici. On a dit qu'il peut y avoir une réponse positive ou des réponses négatives, mais nous allons l'expliquer sur un exemple plus concret. Nous ne considérons pas la sécurité comme précédemment. Supposons que le NRF indique directement l'adresse IP. L'AMF par exemple cherche une instance de SMF pour établir des sessions PDU. L'instance d'AMF va envoyer un GET avec une URI correspondant au service de découverte et indique qu'elle recherche un SMF. Elle indique par exemple comme critère la liste des zones de suivi, ou tracking area, qui doivent être couvertes par le SMF recherché. Et d'autres critères. Dans les recommandations 3GPP, il y a un très grand nombre de critères, plus de 90 qui sont spécifiés. Le NRF cherche une instance de SMF qui remplisse les critères et va renvoyer par un message 200 OK l'identité unique, l'UUID ou l'identité d'instance de NF correspondant à la NF, plus dans notre exemple, l'adresse IP. Il suffit ensuite d'établir une connexion TCP et l'AMF peut envoyer des PUT, des POST, des GET pour utiliser les services du SMF. Lorsque c'est un nom symbolique qui est utilisé, la procédure sur le plan du principe est très similaire. La réponse au GET contient le nom symbolique, ce qui veut dire que l'instance d'AMF doit faire une requête DNS pour convertir le nom symbolique en adresse IP. Le reste est identique. Pour synthétiser ce que nous avons vu, il y a possibilité dans un réseau 5G de démarrer et d'arrêter des instances de NF. Le NRF joue un rôle central. C'est un annuaire des instances actives. Il y a une procédure de découvertes d'instances de NF qui est utilisable par chaque NF bien sûr qui est autorisée. Dans la requête, on indique le type de NF et des critères qui peuvent être nombreux. Dans la réponse, l'instance de NRF indique l'instance ou les instances de NF sous la forme soit d'une adresse IP, soit d'un FQDN. Enfin, il y a une procédure d'enregistrement de chaque nouvelle instance de NF auprès du NRF. [MUSIQUE] [MUSIQUE]