Auteur Sujet: Free Mobile déployé en SRv6 en Italie  (Lu 1604 fois)

0 Membres et 1 Invité sur ce sujet

Snickerss

  • Expert Free + Client Bbox fibre FTTH
  • Modérateur
  • *
  • Messages: 4 240
  • Mes paroles n'engagent que moi :)
Free Mobile déployé en SRv6 en Italie
« Réponse #12 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)

Hugues

  • AS57199 MilkyWan
  • Expert
  • *
  • Messages: 8 360
  • Paris (19ème)
    • Twitter
Free Mobile déployé en SRv6 en Italie
« Réponse #13 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.

BadMax

  • Client Free adsl
  • Modérateur
  • *
  • Messages: 3 501
  • Malissard (26)
Free Mobile déployé en SRv6 en Italie
« Réponse #14 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.

BadMax

  • Client Free adsl
  • Modérateur
  • *
  • Messages: 3 501
  • Malissard (26)
Free Mobile déployé en SRv6 en Italie
« Réponse #15 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.
« Modifié: 01 février 2020 à 22:37:51 par BadMax »

BadMax

  • Client Free adsl
  • Modérateur
  • *
  • Messages: 3 501
  • Malissard (26)
Free Mobile déployé en SRv6 en Italie
« Réponse #16 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...

 

Mobile View