Point d'Ă©change de trafic : des origines Ă  la crĂ©ation de votre propre IX

Point d'Ă©change de trafic : des origines Ă  la crĂ©ation de votre propre IX

« Nous avons établi une liaison téléphonique entre nous et les gars du SRI... », a déclaré Kleinrock... dans une interview :
« Nous avons tapé le L et nous avons demandé au téléphone : « Vous voyez le L ? »
« Oui, nous voyons le L », fut la réponse.
« Nous avons tapé le O et nous avons demandé : « Voyez-vous le O ? » »
« Oui, nous voyons le O. »
« Ensuite, nous avons tapé le G, et le systÚme a planté »...

Et pourtant, une rĂ©volution avait commencé 

Le début d'Internet.


Bonjour Ă  tous!

Je m'appelle Alexander et je suis ingĂ©nieur rĂ©seau chez Linxdatacenter. Dans l'article d'aujourd'hui, je parlerai des points d'Ă©change Internet (IXP) : leurs origines, les tĂąches qu'ils accomplissent et leur conception. Je vous montrerai Ă©galement le fonctionnement d'un IXP grĂące Ă  la plateforme EVE-NG et au routeur logiciel BIRD, afin que vous puissiez comprendre son fonctionnement interne.

Un peu d'histoire

Si vous regardez ici, on constate que la croissance rapide du nombre de points d'Ă©change de trafic a dĂ©butĂ© en 1993. Cela s'explique par le fait que la majeure partie du trafic des opĂ©rateurs tĂ©lĂ©coms de l'Ă©poque transitait par le rĂ©seau dorsal amĂ©ricain. Par exemple, lorsque le trafic passait d'un opĂ©rateur français Ă  un opĂ©rateur allemand, il allait d'abord de la France vers les États-Unis, puis seulement des États-Unis vers l'Allemagne. Le rĂ©seau dorsal servait alors de point de transit entre la France et l'Allemagne. MĂȘme le trafic intra-pays transitait souvent indirectement, via les rĂ©seaux dorsaux des opĂ©rateurs amĂ©ricains.

Cette situation a eu des rĂ©percussions non seulement sur le coĂ»t de l'acheminement du trafic de transit, mais aussi sur la qualitĂ© des canaux et la latence. Le nombre d'utilisateurs d'Internet augmentait, de nouveaux opĂ©rateurs Ă©mergeaient, le volume de trafic augmentait et Internet gagnait en maturitĂ©. Les opĂ©rateurs du monde entier ont commencĂ© Ă  comprendre la nĂ©cessitĂ© d'une approche plus rationnelle de l'organisation des interactions entre opĂ©rateurs. « Pourquoi devrais-je, en tant qu'opĂ©rateur A, payer pour transiter par un autre pays afin d'acheminer du trafic vers l'opĂ©rateur B, situĂ© juste en face ? Â» C'Ă©tait en gros la question que se posaient les opĂ©rateurs de tĂ©lĂ©communications Ă  l'Ă©poque. Ainsi, des points d'Ă©change de trafic ont commencĂ© Ă  apparaĂźtre dans diverses rĂ©gions du monde, lĂ  oĂč les opĂ©rateurs Ă©taient concentrĂ©s :

  • 1994 – LINX Ă  Londres,
  • 1995 – DE-CIX Ă  Francfort,
  • 1995 – MSK-IX, Ă  Moscou, etc.

Internet et le présent

Conceptuellement, l’architecture de l’Internet moderne est un ensemble de systĂšmes autonomes (AS) et un ensemble de connexions entre eux, Ă  la fois physiques et logiques, qui dĂ©terminent le chemin du trafic d’un AS Ă  un autre.

Les AS incluent généralement les opérateurs télécoms, les fournisseurs d'accÚs à Internet, les CDN, les centres de données et les grandes entreprises. Ils établissent généralement des relations d'appairage logique entre eux grùce au protocole BGP (Border Gateway Protocol).

La maniÚre dont les systÚmes autonomes organisent ces connexions est déterminée par un certain nombre de facteurs :

  • gĂ©ographique,
  • Ă©conomique,
  • politique,
  • accords et intĂ©rĂȘts communs entre les propriĂ©taires d'AS,
  • etc.

Bien sĂ»r, ce systĂšme prĂ©sente une certaine structure et une certaine hiĂ©rarchie. Les opĂ©rateurs sont rĂ©partis en trois catĂ©gories : Tier 1, Tier 2 et Tier 3. Alors que les clients d'un fournisseur d'accĂšs Internet local (Tier 3) sont gĂ©nĂ©ralement des utilisateurs ordinaires, les clients des opĂ©rateurs de Tier 1 sont, par exemple, d'autres opĂ©rateurs. Les opĂ©rateurs de Tier 3 agrĂšgent le trafic de leurs abonnĂ©s, les opĂ©rateurs de Tier 2 agrĂšgent Ă  leur tour le trafic des opĂ©rateurs de Tier 3, et les opĂ©rateurs de Tier 1 agrĂšgent l'ensemble du trafic Internet.

SchĂ©matiquement, cela peut ĂȘtre reprĂ©sentĂ© ainsi :

Point d'Ă©change de trafic : des origines Ă  la crĂ©ation de votre propre IX
Cette image montre que le trafic est agrégé de bas en haut, c'est-à-dire des utilisateurs finaux aux opérateurs de niveau 1. Il existe également un échange de trafic horizontal entre des AS d'importance à peu prÚs égale.

Un Ă©lĂ©ment essentiel et, en mĂȘme temps, un inconvĂ©nient de ce systĂšme rĂ©side dans la nature quelque peu dĂ©sorganisĂ©e des connexions entre les systĂšmes autonomes situĂ©s Ă  proximitĂ© de l'utilisateur final au sein d'une mĂȘme zone gĂ©ographique. ConsidĂ©rez l'image ci-dessous :

Point d'Ă©change de trafic : des origines Ă  la crĂ©ation de votre propre IX

Supposons que dans une grande ville il y ait 5 opérateurs de télécommunications, entre lesquels le peering, pour une raison ou une autre, est organisé comme indiqué ci-dessus.

Si l'utilisateur Petya, connecté au fournisseur d'accÚs Internet Go, souhaite accéder à un serveur connecté au fournisseur ASM, le trafic entre eux devra transiter par cinq systÚmes autonomes. Cela augmente la latence, car le nombre de périphériques réseau par lesquels le trafic doit transiter augmente, tout comme le volume de trafic transitant sur les systÚmes autonomes entre Go et ASM.

Comment rĂ©duire le nombre de points d'Ă©change de trafic que le trafic doit traverser ? La solution est un point d'Ă©change de trafic.

Aujourd’hui, l’émergence de nouveaux IXP est motivĂ©e par les mĂȘmes besoins qu’au dĂ©but des annĂ©es 90 et 2000, mais Ă  une Ă©chelle plus rĂ©duite, en rĂ©ponse au nombre croissant d’opĂ©rateurs tĂ©lĂ©coms, d’utilisateurs et de trafic, et Ă  la quantitĂ© croissante de contenu gĂ©nĂ©rĂ© par les rĂ©seaux CDN et les centres de donnĂ©es.

Qu'est-ce qu'un point d'échange de trafic ?

Un point d'Ă©change de trafic (TIP) est un emplacement dotĂ© d'une infrastructure rĂ©seau dĂ©diĂ©e oĂč les parties intĂ©ressĂ©es par l'Ă©change de trafic Ă©tablissent des relations d'appairage. Les principaux acteurs des TIP sont les opĂ©rateurs tĂ©lĂ©coms, les fournisseurs d'accĂšs Ă  Internet, les fournisseurs de contenu et les centres de donnĂ©es. Les parties se connectent directement entre elles grĂące Ă  ces TIP. Cela permet d'accomplir les tĂąches suivantes :

  • rĂ©duire la latence,
  • rĂ©duire le volume du trafic de transit,
  • optimiser le routage entre AS.

Étant donnĂ© que les IXP sont prĂ©sents dans de nombreuses grandes villes du monde, cela a un effet positif sur Internet dans son ensemble.

Si nous rĂ©solvons la situation dĂ©crite ci-dessus avec Petya en utilisant IXP, cela ressemblera Ă  ceci :

Point d'Ă©change de trafic : des origines Ă  la crĂ©ation de votre propre IX

Comment fonctionne un point d'échange de trafic ?

En rĂšgle gĂ©nĂ©rale, un IXP est un AS distinct avec son propre bloc d’adresses IPv4/IPv6 publiques.

Un rĂ©seau IXP est gĂ©nĂ©ralement constituĂ© d'un seul domaine de couche 2. Il s'agit parfois simplement d'un VLAN contenant tous les clients IXP. Cependant, pour les IXP plus importants et gĂ©ographiquement dispersĂ©s, des technologies telles que MPLS, VXLAN et autres peuvent ĂȘtre utilisĂ©es pour organiser le domaine de couche 2.

ÉlĂ©ments IXP

  • SKS. Il n'y a rien d'inhabituel ici : racks, croix optiques, panneaux de brassage.
  • Commutateurs – la base d'un IXP. Un port de commutation constitue le point d'entrĂ©e du rĂ©seau IXP. Les commutateurs assurent Ă©galement des fonctions de sĂ©curitĂ©, filtrant le trafic indĂ©sirable qui ne devrait pas ĂȘtre prĂ©sent sur le rĂ©seau IXP. Les commutateurs sont gĂ©nĂ©ralement sĂ©lectionnĂ©s en fonction d'exigences fonctionnelles, telles que la fiabilitĂ©, les dĂ©bits de port pris en charge, les fonctionnalitĂ©s de sĂ©curitĂ©, la prise en charge de sFlow, etc.
  • Serveur de routage (RS) Un RS est un composant essentiel et indispensable de tout point d'Ă©change de trafic moderne. Son principe de fonctionnement est trĂšs similaire Ă  celui d'un rĂ©flecteur de route dans iBGP ou d'un routeur dĂ©signĂ© dans OSPF, et il rĂ©sout les mĂȘmes problĂšmes. À mesure que le nombre de participants au point d'Ă©change de trafic augmente, le nombre de sessions BGP que chaque participant doit prendre en charge augmente, ressemblant Ă  une topologie en maillage complet classique dans iBGP. RS rĂ©sout ce problĂšme de la maniĂšre suivante : il Ă©tablit une session BGP avec chaque participant IXP intĂ©ressĂ©, et ce participant devient un client RS. DĂšs rĂ©ception d'une mise Ă  jour BGP de l'un de ses clients, RS la distribue Ă  tous ses autres clients, Ă  l'exception, bien sĂ»r, de celui d'oĂč provient la mise Ă  jour. Ainsi, RS Ă©limine la nĂ©cessitĂ© d'Ă©tablir un maillage complet entre tous les participants IXP et rĂ©sout avec Ă©lĂ©gance le problĂšme d'Ă©volutivitĂ©. Il est important de noter que le serveur de routes propage les routes de maniĂšre transparente d'un AS Ă  l'autre, sans modifier les attributs BGP transmis ; par exemple, il n'ajoute pas son numĂ©ro d'AS au chemin d'accĂšs AS. RS effectue Ă©galement un filtrage de route de base : par exemple, RS n'accepte pas les rĂ©seaux martiens ou les prĂ©fixes de l'IXP lui-mĂȘme.

    Le routeur logiciel open source BIRD (bird internet routing daemon) est souvent utilisé comme serveur de routage. Ses avantages incluent sa gratuité, sa rapidité de déploiement sur la plupart des distributions Linux, la flexibilité de configuration des politiques de routage/filtrage et sa faible consommation de ressources. Un routeur matériel ou virtuel de Cisco, Juniper ou d'autres fournisseurs similaires peut également servir de serveur de routage.

  • SĂ©curitĂ©. Puisqu'un rĂ©seau IXP regroupe un grand nombre d'AS, la politique de sĂ©curitĂ© Ă  laquelle tous les participants doivent se conformer doit ĂȘtre clairement dĂ©finie. GĂ©nĂ©ralement, les mĂȘmes mĂ©canismes que ceux utilisĂ©s pour Ă©tablir des relations de voisinage BGP entre deux homologues BGP distincts extĂ©rieurs Ă  un IXP sont Ă©galement appliquĂ©s, avec quelques mesures de sĂ©curitĂ© supplĂ©mentaires.

    Par exemple, une bonne pratique consiste Ă  n'autoriser le trafic qu'en provenance d'une adresse MAC spĂ©cifique d'un membre IXP, nĂ©gociĂ©e au prĂ©alable. Il est Ă©galement recommandĂ© de refuser le trafic dont les champs ethertype sont autres que 0x0800 (IPv4), 0x08dd (IPv6) ou 0x0806 (ARP) ; cette mesure permet de filtrer le trafic non autorisĂ© par le peering BGP. Des mĂ©canismes tels que GTSM, RPKI et autres peuvent Ă©galement ĂȘtre utilisĂ©s.

Les éléments ci-dessus constituent sans doute les composants clés de tout IXP, quelle que soit sa taille. Bien entendu, les IXP de plus grande taille peuvent utiliser des technologies et des solutions supplémentaires.
Parfois, les IXP fournissent également à leurs membres des services supplémentaires :

  • hĂ©berger des serveurs DNS sur les TLD IXP,
  • installer des serveurs NTP matĂ©riels, permettant aux participants de synchroniser l'heure avec prĂ©cision,
  • fournir une protection contre les attaques DDoS, etc.

Comment ça marche?

Nous explorerons le principe de fonctionnement d'un point d'échange de trafic à l'aide d'un IXP simple modélisé avec EVE-NG, puis aborderons la configuration de base du routeur logiciel BIRD. Pour simplifier le schéma, nous omettrons des aspects importants tels que la redondance et la tolérance aux pannes.

La topologie du réseau est illustrée dans la figure ci-dessous.

Point d'Ă©change de trafic : des origines Ă  la crĂ©ation de votre propre IX

Supposons que nous administrions un petit point d’échange Internet et que nous fournissions les options de peering suivantes :

  • peering public,
  • peering privĂ©,
  • peering via serveur de route.

Notre numéro AS est 555, nous possédons un bloc d'adresses IPv4 - 50.50.50.0/24, à partir duquel nous émettons des adresses IP à ceux qui souhaitent se connecter à notre réseau.

50.50.50.254 – Adresse IP configurĂ©e sur l'interface du serveur de route ; les clients Ă©tabliront une session BGP avec cette IP en cas de peering via RS.

Nous avons Ă©galement dĂ©veloppĂ© une politique de routage communautaire BGP simple pour le peering RS, qui permet aux participants IXP de contrĂŽler quelles routes sont envoyĂ©es Ă  qui :

Communauté BGP
Description

LOCAL_AS:PEER_AS
Transmettre les préfixes uniquement à PEER_AS

LOCAL_AS:IXP_AS
Transférer les préfixes à tous les participants IXP

Trois clients, par exemple des fournisseurs d'accĂšs Ă  Internet, souhaitent se connecter Ă  notre IXP et Ă©changer du trafic. Ils souhaitent tous Ă©tablir un peering via un serveur de routage. Le schĂ©ma ci-dessous illustre les paramĂštres de connexion des clients :

Client
Numéro AS du client
Préfixes annoncés par le client
Adresse IP attribuée au client pour la connexion à l'IXP

FAI n°1
AS 100
1.1.0.0/16
50.50.50.10/24

FAI n°2
AS 200
2.2.0.0/16
50.50.50.20/24

FAI n°3
AS 300
3.3.0.0/16
50.50.50.30/24

Configuration BGP de base sur le routeur client :

router bgp 100
 no bgp enforce-first-as
 bgp log-neighbor-changes
 neighbor 50.50.50.254 remote-as 555
address-family ipv4
  network 1.1.0.0 mask 255.255.0.0
  neighbor 50.50.50.254 activate
  neighbor 50.50.50.254 send-community both
  neighbor 50.50.50.254 soft-reconfiguration inbound
  neighbor 50.50.50.254 route-map ixp-out out
 exit-address-family

ip prefix-list as100-prefixes seq 5 permit 1.1.0.0/16
route-map bgp-out permit 10
 match ip address prefix-list as100-prefixes
 set community 555:555

Le paramĂštre « no bgp enforce-first-as Â» est important Ă  noter. Par dĂ©faut, BGP exige que le chemin d'accĂšs d'une mise Ă  jour BGP reçue inclue le numĂ©ro du chemin d'accĂšs du pair BGP d'oĂč provient la mise Ă  jour. Cependant, comme le serveur de routage ne modifie pas le chemin d'accĂšs, son numĂ©ro sera absent et la mise Ă  jour sera ignorĂ©e. Ce paramĂštre permet de forcer le routeur Ă  ignorer cette rĂšgle.

Nous voyons également que le client a défini la communauté BGP 555:555 sur ce préfixe, ce qui, selon notre politique, signifie que le client souhaite annoncer ce préfixe à tous les autres participants.

Pour les routeurs des autres clients, la configuration sera similaire, Ă  l'exception de leurs paramĂštres uniques.

Exemple de configuration BIRD :

define ixp_as = 555;
define ixp_prefixes = [ 50.50.50.0/24+ ];

template bgp RS_CLIENT {
  local as ixp_as;
  rs client;
}

Ce qui suit dĂ©crit un filtre qui n'accepte pas les prĂ©fixes martiens, ainsi que les prĂ©fixes de l'IXP lui-mĂȘme :

function catch_martians_and_ixp()
prefix set martians;
prefix set ixp_prefixes;
{
  martians = [ 
  0.0.0.0/8+,
  10.0.0.0/8+,
  100.64.0.0/10+,
  127.0.0.0/8+,
  169.254.0.0/16+,
  172.16.0.0/12+,
  192.0.0.0/24+,
  192.0.2.0/24+,
  192.168.0.0/16+,
  198.18.0.0/15+,
  198.51.100.0/24+,
  203.0.113.0/24+,
  224.0.0.0/4+,
  240.0.0.0/4+ ];

  if net ~ martians || net ~ ixp_prefixes then return false;

  return true;
}

Cette fonction implémente la politique de routage que nous avons décrite précédemment.

function bgp_ixp_policy(int peer_as)
{
  if (ixp_as, ixp_as) ~ bgp_community then return true;
  if (ixp_as, peer_as) ~ bgp_community then return true;

  return false;
}

filter reject_martians_and_ixp
{
  if catch_martians_and_ixp() then reject;
  if ( net ~ [0.0.0.0/0{25,32} ] ) then {
    reject;
  }
  accept;


}

Nous configurons le peering et appliquons des filtres et des politiques appropriés.

protocol as_100 from RS_CLIENT {
  neighbor 50.50.50.10 as 100;
  ipv4 {
    export where bgp_ixp_policy(100);
    import filter reject_martians_and_ixp;
  }
}

protocol as_200 from RS_CLIENT {
  neighbor 50.50.50.20 as 200;
  ipv4 {
    export where bgp_ixp_policy(200);
    import filter reject_martians_and_ixp;
  }
}

protocol as_300 from RS_CLIENT {
  neighbor 50.50.50.30 as 300;
  ipv4 {
    export where bgp_ixp_policy(300);
    import filter reject_martians_and_ixp;
  }
}

Il est important de noter qu'il est courant pour un serveur de routage de combiner les routes de différents homologues dans des RIB distincts. BIRD le permet. Dans notre exemple, par souci de simplicité, toutes les mises à jour reçues de tous les clients sont regroupées dans un seul RIB partagé.

Alors, vérifions ce que nous avons.

Sur le serveur de route, nous voyons qu’une session BGP a Ă©tĂ© Ă©tablie avec les trois clients :

Point d'Ă©change de trafic : des origines Ă  la crĂ©ation de votre propre IX

Nous voyons que nous recevons des préfixes de tous les clients :

Point d'Ă©change de trafic : des origines Ă  la crĂ©ation de votre propre IX

Sur le routeur 100, nous voyons qu'avec une seule session BGP avec le serveur de route, nous recevons des préfixes à la fois de 200 et de 300, alors que les attributs BGP n'ont pas changé, comme si le peering entre les clients était effectué directement :

Point d'Ă©change de trafic : des origines Ă  la crĂ©ation de votre propre IX

Ainsi, nous voyons que la prĂ©sence d’un serveur de route simplifie considĂ©rablement l’organisation du peering sur les IXP.

J'espÚre que cette démonstration vous a aidé à mieux comprendre le fonctionnement des IXP et le fonctionnement du serveur de route sur un IXP.

Linxdatacenter IX

Chez Linxdatacenter, nous avons construit notre propre IXP basĂ© sur une infrastructure tolĂ©rante aux pannes composĂ©e de deux commutateurs et de deux serveurs de routage. Notre IXP est actuellement en phase de test et nous invitons chacun Ă  se connecter Ă  Linxdatacenter IX et Ă  participer aux tests. Une fois connectĂ©, vous bĂ©nĂ©ficierez d'un port 1 Gbit/s, de fonctionnalitĂ©s de peering via nos serveurs de routage et d'un accĂšs Ă  votre compte portail IX, accessible Ă  l'adresse suivante : ix.linxdatacenter.com.

Écrivez dans les commentaires ou les messages privĂ©s pour accĂ©der aux tests.

conclusion

Les points d'échange de trafic sont apparus à l'aube d'Internet pour résoudre le problÚme de flux de trafic sous-optimal entre les opérateurs télécoms. Aujourd'hui, avec l'émergence de nouveaux services mondiaux et l'augmentation du trafic CDN, les points d'échange continuent d'optimiser les performances des réseaux mondiaux. La multiplication des IXP dans le monde profite aux utilisateurs finaux, aux opérateurs télécoms, aux fournisseurs de contenu et à d'autres acteurs. Pour les participants aux IXP, les avantages comprennent la réduction des coûts de mise en place de peering externe, la réduction des coûts de trafic supportés par les opérateurs en amont, l'optimisation du routage et la possibilité de se connecter directement aux fournisseurs de contenu.

Liens utiles

Source: habr.com

Achetez un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Achetez un hĂ©bergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster