La Fibre

Télécom => Réseau => reseau IPv6 => Discussion démarrée par: vivien le 31 janvier 2020 à 21:38:31

Titre: Free Mobile déployé en SRv6 en Italie
Posté par: vivien le 31 janvier 2020 à 21:38:31
Free Mobile déployé en SRv6 en Italie

(Merci à Bad Max pour l'info et la photo)

(https://lafibre.info/images/ipv6/202001_Iliad_SRv6_Segment_Routing_IPv6.jpg)

SRv6 est la déclinaison de Segment Routing pour le plan de transfert IPv6. SRv6 identifie un segment par une adresse IPv6.

SRv6 est un nouveau type d’en-tête de routage IPv6 (Routing Extension Header) appelée en-tête Segment Routing (Segment Routing Header : SRH). Le SRH est principalement constitué d’une liste d’adresses IPv6 identifiant les segments à traverser (Segment List), ainsi que d’un compteur indiquant le nombre de segments restant à parcourir (Segments Left) afin de pouvoir identifier le prochain segment à visiter. Il peut également contenir une liste de données au format TLV. Un champ « Tag » permet enfin d’identifier une classe de paquets.

Trois types de nœuds peuvent être distingués :
- le nœud source crée le paquet IPv6 avec pour adresse IP destination l’adresse du premier segment. Si plus d’un segment est nécessaire, un en-tête SRH est ajouté. En corolaire, si un seul segment est nécessaire, le paquet envoyé est un paquet IPv6 natif ;
- les routeurs de transit transportent le paquet vers la destination du segment en cours. Cette destination étant indiquée dans l’adresse de destination IPv6 habituelle, ces routeurs de transit sont des routeurs IPv6 standard. Ils n’ont pas besoin de supporter SRv6 ;
- les routeurs de terminaison de segments, qui ont annoncé les segments. Ces routeurs annonçant des segments doivent supporter l’extension SRv6  qui peut ne pas être supportée par les routeurs précédemment déployés.


Source : Techniques de l’Ingénieur
Titre: Free Mobile déployé en SRv6 en Italie
Posté par: vivien le 31 janvier 2020 à 21:44:09
Voici quelques documents datant de 2017 sur SRv6 :

Document Cisco : Une introduction à la technologie SRv6 (Segment Routing over IPv6 dataplane). Découvrez la puissance du concept de programmation réseau SRv6. Découvrez comment SRv6 offre la possibilité de coder directement dans chaque en-tête de paquet où le trafic doit être envoyé et comment le trafic doit être traité. Découvrez comment SRv6 fait interagir vos applications et votre réseau d'une toute nouvelle manière.


(cliquez sur la miniature ci-dessous - le document est au format PDF)
(https://lafibre.info/images/ipv6/201712_Cisco_SRv6_Segment_Routing_IPv6.png) (https://lafibre.info/images/ipv6/201712_Cisco_SRv6_Segment_Routing_IPv6.pdf)



Documents David Lebrun et Olivier Bonaventure, de l'ICTEAM et l'Université catholique de Louvain :

Implémentation du routage de segments IPv6 dans le noyau Linux par Olivier Bonaventure

Le routage de segments IPv6 est une extension IPv6 majeure qui fournit une version moderne du routage source actuellement en cours de développement au sein de l'Internet Engineering Task Force (IETF). Nous proposons la première implémentation open-source du routage de segments IPv6 dans le noyau Linux. Nous le décrivons d'abord en détail et expliquons comment il peut être utilisé à la fois sur les hôtes finaux et les routeurs. Nous évaluons et comparons ensuite ses performances avec le transfert de paquets IPv6 standard dans un environnement de laboratoire. Nos mesures indiquent que la pénalité de performance liée à l'insertion d'en-têtes de routage de segments IPv6 ou à l'encapsulation de paquets est limitée à moins de 15%. D'un autre côté, la fonction de sécurité HMAC en option du routage de segments IPv6 est coûteuse dans une implémentation logicielle pure. Puisque notre implémentation a été incluse dans le noyau officiel Linux 4.10, nous nous attendons à ce qu'elle soit étendue par d'autres chercheurs pour de nouveaux cas d'utilisation.


(cliquez sur les miniatures ci-dessous - les documents sont au format PDF)
(https://lafibre.info/images/ipv6/201706_ICTEAM_UCLouvain_SRv6_Segment_Routing_IPv6.png) (https://lafibre.info/images/ipv6/201706_ICTEAM_UCLouvain_SRv6_Segment_Routing_IPv6.pdf) (https://lafibre.info/images/ipv6/201707_ICTEAM_UCLouvain_SRv6_Segment_Routing_IPv6.png) (https://lafibre.info/images/ipv6/201707_ICTEAM_UCLouvain_SRv6_Segment_Routing_IPv6.pdf)
Titre: Free Mobile déployé en SRv6 en Italie
Posté par: kgersen le 01 février 2020 à 10:38:57
Ils parlent pas de l'usage et l'utilité du SRv6 pour eux ... ;D sachant qu'a la base, pour un FAI, c'est principalement pour faire des trucs anti-neutralité du Net non ?
Titre: Free Mobile déployé en SRv6 en Italie
Posté par: alain_p le 01 février 2020 à 10:57:40
On parlait du problème du manque d'IPv4 pour le lancement d'un nouvel opérateur. Or, Iliad est dans ce cas en Italie (il devrait se lancer prochainement dans le fixe). Combien Iliad a d'IPv4 en Italie ? C'est peut-être pour cela qu'ils vont se lancer tout de suite dans l'IPv6, peut-être avec le 4rd aussi ?
Titre: Free Mobile déployé en SRv6 en Italie
Posté par: Hugues le 01 février 2020 à 11:35:41
Non, pas de 4Rd, juste du NAT64
Titre: Free Mobile déployé en SRv6 en Italie
Posté par: fanning le 01 février 2020 à 13:47:40
pour un FAI, c'est principalement pour faire des trucs anti-neutralité du Net non ?

Non ce n'est pas l'usage.
Comparé au MPLS, pas besoin de faire de signaling sur les router P avec tout les avantages que sa représente (ex: plus besoin de router P qui savent gérer des milliers de LSP = $$$$$$$)
Titre: Free Mobile déployé en SRv6 en Italie
Posté par: BadMax le 01 février 2020 à 15:14:43
La présentation complète où j'ai pris la photo:
https://www.ciscolive.com/c/dam/r/ciscolive/emea/docs/2020/pdf/BRKRST-3122.pdf

Dans les grandes lignes, la configuration déployée par Iliad en Italie n'est évidemment pas détaillée mais lorsque l'on connait les avantages de SRv6 cela coule de source.

Tout d'abord concernant Segment Routing, la première implémentation a été faite sur MPLS et a depuis été déployé à assez large échelle:
Titre: Free Mobile déployé en SRv6 en Italie
Posté par: BadMax le 01 février 2020 à 15:17:53
Segment Routing implémente beaucoup de choses mais là où ce protocole est novateur c'est qu'il embarque des policy de monitoring tel quel la mesure de latence
Titre: Free Mobile déployé en SRv6 en Italie
Posté par: BadMax le 01 février 2020 à 15:20:48
Segment routing permet aussi de construire des circuits virtuels comme à la grande époque d'ATM, bien que l'on parle de types de services, l'idée reste la même.
Titre: Free Mobile déployé en SRv6 en Italie
Posté par: BadMax le 01 février 2020 à 15:27:07
Toujours orienté besoins opérateurs, plusieurs algorithmes sont disponibles pour l'IGP, l'un d'entre eux s'appelle FlexAlgo. L'idée est que les paramètres tel que le délai ou l'affinité par lien sont définissables pour l'exploitant. Mieux, on peut même faire tourner plusieurs instances sur la même infra:

Titre: Free Mobile déployé en SRv6 en Italie
Posté par: BadMax le 01 février 2020 à 15:32:27
Concernant SRv6, l'idée est de revenir à quelque chose de plus basique en supprimant MPLS et en utilisant IPv6, comme à la manière d'un tunnel IP-IP. Sauf que nous allons ajouter un en-tête SRv6 après l'en-tête IPv6.

Ainsi SRv6 est d'abord une trame IPv6 standard et 2 noeuds SRv6 peuvent communiquer directement en traversant un réseau IPv6 sans que ce dernier n'est besoin d'avoir connaissance de SRv6.

Les noeuds SRv6 peuvent encapsuler IPv4, IPv6 et même du L2. L'entête SR va contenir toutes les informations nécessaires pour les autres noeuds SRv6 tandis que l'entête IPv6 standard sera supporté même par des routeurs de 20 ans d'âge (ndr: c'était un joke de cisco mais j'aimerai bien voir si IPv6 était correctement supporté il y a 20 ans).
Titre: Free Mobile déployé en SRv6 en Italie
Posté par: Hugues le 01 février 2020 à 15:41:23
Ça a l'air vraiment cool ! Hâte de jouer avec, d'ici quelques années  ::)
Titre: Free Mobile déployé en SRv6 en Italie
Posté par: Snickerss le 01 février 2020 à 16:00:38
Question conne juste de curiosité : ce principe de header dans le paquet IP aurait il été possible avec IPv4 ? (Je ne parle pas de l’intérêt, juste de la faisa purement technique)
Titre: Free Mobile déployé en SRv6 en Italie
Posté par: Hugues le 01 février 2020 à 16:03:35
Oui, sans problème. Le premier Segment Routing avait l'air d'utiliser IPv4 comme plan de contrôle, avec LDP. Mais Badmax t'en dira plus, je n'ai jamais bossé la techno :)

Extrait de la RFC :

Citer
How Segment Routing Works
A router in a Segment Routing network is capable of selecting any path to forward traffic, whether it is explicit or Interior Gateway Protocol (IGP) shortest path. Segments represent subpaths that a router can combien to form a complete route to a network destination. Each segment has an identifier (Segment Identifier) that is distributed throughout the network using new IGP extensions. The extensions are equally applicable to IPv4 and IPv6 control planes. Unlike the case for traditional MPLS networks, routers in a Segment Router network do not require Label Distribution Protocol (LDP) and Resource Reservation Protocol - Traffic Engineering (RSVP-TE) to allocate or signal their segment identifiers and program their forwarding information.
Titre: Free Mobile déployé en SRv6 en Italie
Posté par: BadMax le 01 février 2020 à 16:06:20
SR c'est du MPLS, pas IPv4. On n'aurait pas pu faire SR sur IPv4 sans sacrifier certaines fonctions, je reviendrai dessus plus tard.
Titre: Free Mobile déployé en SRv6 en Italie
Posté par: BadMax le 01 février 2020 à 22:16:30
Un exemple d'utilisation de SRv6 où le transport IPv6 est mis à profit.

Les noeuds 1, 7, 8 et 2 sont SRv6. Les autres sont IPv6-only.

Le noeud 1 doit encapsuler le trafic du réseau A vers le réseau B, le TE indique de passer par les noeuds 7 et 8 avant d'atteindre 2.

Nous allons mettre en place l'adressage suivant:
Citer
• Node 8 advertises the IGP route bbbb:bbbb:0800::/48
• Node 7 advertises the IGP route bbbb:bbbb:0700::/48
• Node 2 advertises the IGP route bbbb:bbbb:0200::/48

Vous êtes prêt ? c'est parti, étape 1:
Citer
Node 1 encapsulates IPv4 packet from Site A and sends an IPv6 packet with
DA = bbbb:bbbb:0800:0700:0200:0000:0000:0000

Le nexthop est 4 car c'est le chemin direct vers bbbb:bbbb:0800::/48.
4 forward vers 5, qui forward à son tour vers 8, c'est du routage IPv6 basique.

Et maintenant attention, nous allons demander à modifier l'adresse de destination:
Rx’d DA: bbbb:bbbb:0800:0700:0200:0000:0000:0000
shift << 16 des bits 48-127 vers 32-111 soit
Tx’d DA: bbbb:bbbb:0700:0200:0000:0000:0000

On doit désormais atteindre : bbbb:bbbb:0700::/48
-> Forward vers 7

On fait la même opération, on décale les mêmes bits (et on remplace à 0 les anciens):
Rx’d DA: bbbb:bbbb:0700:0200:0000:0000:0000:0000
shift << 16 des bits 48-127 vers 32-111 soit
Tx’d DA: bbbb:bbbb:0200:0000:0000:0000:0000

Notre nouvelle destination est bbbb:bbbb:0200::/48, le node 7 forward vers 6 (routeur IPv6 classique), qui forward vers 3 puis 2.
Titre: Free Mobile déployé en SRv6 en Italie
Posté par: BadMax le 01 février 2020 à 22:31:28
Cette technique de "Network Programmability" est appelée SRv6 uSID et définie ici:
https://tools.ietf.org/html/draft-filsfils-spring-net-pgm-extension-srv6-usid-00

On retrouve la fonction vue au-dessus
Citer
   This behavior takes a 96b argument, "Arg", which contains the next
   uSIDs in the uSID carrier.

   When N receives a packet whose IPv6 DA is S and S is a local uN SID,
   N does:

   1.   IF DA[32..47] != 0                                       ;; Ref1
   2.      Copy DA[32..127] into DA[16..111]
   3.      Set DA[112..127] to 0x0000
   4.      Forward the packet to the new DA
   5.   ELSE
   6.      Execute the End pseudocode                            ;; Ref2

   Ref 1: DA[X..Y] refers to the bits from position X to Y (included) in
   the IPv6 Destination Address of the received packet.  The bit 0 is
   the MSB, while the bit 127 is the LSB.

   Ref 2: This refers to the End behavior as defined in Section 4.1 of
   [I-D.ietf-spring-srv6-network-programming].  The End behavior may be
   combined with the PSP, USP and USD flavours.

Avantages de cette technique:
 - Faible impact sur la MTU
 - on peut coder le uSID sur 16 ou 32 bits soit 65k/4.3M uSID par domaine
 - très facile à manipuler en hardware
 - aucun impact soft (pas de table, pas d'extension dans le control-plane)

Quel intérêt ? Fournir des niveaux de service différents: latence, bandwidth, backup...
Titre: Free Mobile déployé en SRv6 en Italie
Posté par: Loren2o le 25 octobre 2020 à 21:33:53
Hello à tous,

Je vous invite à venir voir du côté de NOIA Network > https://noia.network/ (https://noia.network/), ils vont justement utiliser le protocole SRv6 pour leur plateforme (qu'ils sont entrain de développer - mise en place fin T1 2021)

Leur but est de fluidifier le trafic grâce à leur protocole DARP (Distributed Autonomous Routing Protocol) > explication: https://medium.com/@laurent.coglitore/noia-network-darp-distributed-autonomous-routing-protocol-d3a0a7c44e18 (https://medium.com/@laurent.coglitore/noia-network-darp-distributed-autonomous-routing-protocol-d3a0a7c44e18)

Si vous voulez plus d'info, n'hésitez pas à notre rejoindre dans notre communauté Télégram > https://t.me/NoiaNetworkFranceChat (https://t.me/NoiaNetworkFranceChat)

A très vite ;-)

Laurent
Twitter NOIA Network Fr: https://twitter.com/NoiaFr (https://twitter.com/NoiaFr)
Twitter NOIA Network: https://twitter.com/NoiaNetwork (https://twitter.com/NoiaNetwork)
Titre: Free Mobile déployé en SRv6 en Italie
Posté par: Loren2o le 26 octobre 2020 à 15:56:28
https://datatracker.ietf.org/doc/draft-matsushima-spring-srv6-deployment-status/?include_text=1 (https://datatracker.ietf.org/doc/draft-matsushima-spring-srv6-deployment-status/?include_text=1)

Voir image