Puntu di scambiu di trafficu: da l'urighjini à a creazione di u vostru propiu IX

Puntu di scambiu di trafficu: da l'urighjini à a creazione di u vostru propiu IX

"Avemu stabilitu una cunnessione telefonica trà noi è i ragazzi di SRI ...", Kleinrock ... hà dettu in una entrevista:
"Avemu digitatu a L è avemu dumandatu à u telefunu: "Vedi a L?"
"Iè, vedemu a L", hè stata a risposta.
"Avemu digitatu l'O, è avemu dumandatu: "Vedi l'O".
"Iè, vedemu l'O".
"Allora avemu digitatu u G, è u sistema hè cascatu"...

Eppuru una rivoluzione era principiata...

U principiu di l'internet.


Bonghjornu ognunu!

Mi chjamu Alexander, sò un ingegnere di rete in Linxdatacenter. In l'articulu d'oghje parlemu di i punti di scambiu di u trafficu (Internet Exchange Points, IXP): ciò chì precede a so apparizione, chì compiti risolve è cumu sò custruiti. Ancu in questu articulu dimustraraghju u principiu di funziunamentu di l'IXP cù a piattaforma EVE-NG è u router di u software BIRD, perchè avete capitu cumu si travaglia "sottu u cappucciu".

Un pocu di storia

Sè vo circate ccà, Allora pudete vede chì u rapidu crescita in u nùmeru di punti di scambiu di trafficu principia in 1993. Questu hè duvuta à u fattu chì a maiò parte di u trafficu di l'operatori di telecomunicazione chì esistevanu à quellu tempu passava per a reta di u spinu di i Stati Uniti. Allora, per esempiu, quandu u trafficu passava da un operatore in Francia à un operatore in Germania, prima hè andatu da Francia à l'USA, è solu dopu da l'USA à a Germania. A reta di spina in questu casu hà agitu cum'è un transitu trà Francia è Germania. Ancu u trafficu in un paese spessu passava micca direttamente, ma attraversu e rete di spine di l'operatori americani.

Stu statu di l'affari hà affettatu micca solu u costu di furnisce u trafficu di transitu, ma ancu a qualità di i canali è i ritardi. U nùmeru di l'utilizatori di l'Internet hà aumentatu, i novi operatori apparsu, u voluminu di u trafficu aumentatu, è l'Internet maturu. L'operatori di u mondu cuminciaru à capisce chì un approcciu più raziunale per urganizà l'interazzione interoperatore era necessariu. "Perchè aghju, operatore A, pagà per u transitu attraversu un altru paese per furnisce u trafficu à l'operatore B, chì si trova nantu à a strada vicinu?" Questa hè più o meno a quistione chì l'operatori di telecomunicazioni si ponenu à quellu tempu. Cusì, i punti di scambiu di trafficu cuminciaru à apparisce in diverse parti di u mondu in i punti di cuncentrazione di l'operatore:

  • 1994 - LINX in Londra,
  • 1995 - DE-CIX in Francoforte,
  • 1995 - MSK-IX, in Mosca, etc.

Internet è i nostri ghjorni

Conceptually, l'architettura di l'Internet mudernu hè custituitu da parechji sistemi autonomi (AS) è parechje cunnessione trà elli, fisichi è lògichi, chì determinanu a strada di u trafficu da un AS à l'altru.

L'AS sò generalmente operatori di telecomunicazioni, fornitori di Internet, CDN, centri di dati è cumpagnie di segmentu di l'impresa. ASes urganizeghja cunnessione logica (peering) trà elli, di solitu utilizendu u protocolu BGP.

Cumu i sistemi autonomi urganizanu sti cunnessione hè determinatu da una quantità di fatturi:

  • geograficu,
  • ecunomica,
  • puliticu,
  • accordi è interessi cumuni trà i pruprietari di AS,
  • è cusì.

Di sicuru, stu schema hà una certa struttura è ierarchia. Cusì, l'operatori sò spartuti in tier-1, tier-2 è tier-3, è se i clienti per un fornitore d'Internet lucale (tier-3) sò, in regula, utilizatori ordinariu, allora, per esempiu, per u tier-1. operatori di livellu i clienti sò altri operatori. L'operatori di Tier-3 aggregate u trafficu di i so abbonati, l'operatori di telecomunicazione di u tier-2, à u turnu, aggregate u trafficu di l'operatori di u tier-3, è u tier-1 - tuttu u trafficu Internet.

Schematically pò esse rapprisintatu cusì:

Puntu di scambiu di trafficu: da l'urighjini à a creazione di u vostru propiu IX
Questa stampa mostra chì u trafficu hè aggregatu da u fondu à a cima, i.e. da l'utilizatori finali à l'operatori di livellu 1. Ci hè ancu un scambiu horizontale di trafficu trà AS chì sò apprussimatamente equivalenti à l'altri.

Una parte integrale è à u stessu tempu un svantaghju di stu schema hè una certa cunfusione di cunnessione trà i sistemi autonomi situati più vicinu à l'utilizatori finali, in una zona giugrafica. Cunsiderate u ritrattu sottu:

Puntu di scambiu di trafficu: da l'urighjini à a creazione di u vostru propiu IX

Assumimu chì in una grande cità ci sò 5 operatori di telecomunicazione, peering trà quale, per una ragione o l'altru, hè urganizatu cum'è mostratu sopra.

Se l'utilizatore Petya, cunnessu à u Go ISP, vole accede à un servitore cunnessu à u fornitore ASM, u trafficu trà elli serà obligatu à passà per 5 sistemi autonomi. Questu aumenta u ritardu perchè u numeru di i dispusitivi di rete attraversu quale u trafficu andarà aumenta, è ancu u voluminu di u trafficu di transitu nantu à i sistemi autonomi trà Go è ASM.

Cumu riduce u numeru di AS di transitu chì u trafficu hè obligatu à passà? Hè ghjustu - puntu di scambiu di trafficu.

Oghje, l'emergenza di novi IXP hè guidata da i stessi bisogni cum'è à l'iniziu di l'anni 90-2000, solu à una scala più chjuca, in risposta à u crescente numeru di operatori di telecomunicazioni, utilizatori è trafficu, a quantità crescente di cuntenutu generatu da e rete CDN. è centri di dati.

Chì ghjè un puntu di scambiu?

Un puntu di scambiu di trafficu hè un locu cù una infrastruttura di rete speciale induve i participanti interessati à u scambiu di trafficu mutuale urganizanu peering mutuale. I principali participanti di i punti di scambiu di trafficu: l'operatori di telecomunicazioni, i fornituri di Internet, i fornituri di cuntenutu è i centri di dati. À i punti di scambiu di u trafficu, i participanti cunnettanu direttamente cù l'altri. Questu permette di risolve i seguenti prublemi:

  • riduce a latenza,
  • riduce a quantità di trafficu di transitu,
  • ottimizà u routing trà AS.

Cunsiderendu chì l'IXPs sò prisenti in parechje grande cità in u mondu, questu tuttu hà un effettu benefizièvule in Internet in tuttu.

Se a situazione di sopra cù Petya hè risolta cù IXP, serà una cosa cusì:

Puntu di scambiu di trafficu: da l'urighjini à a creazione di u vostru propiu IX

Cumu funziona un puntu di scambiu di trafficu?

In regula, un IXP hè un AS separatu cù u so propiu bloccu di indirizzi IPv4 / IPv6 publicu.

A reta IXP hè più spessu custituita da un duminiu L2 continuu. A volte hè solu una VLAN chì ospita tutti i clienti IXP. Quandu si tratta di IXP più grande, distribuitu geograficamente, tecnulugie cum'è MPLS, VXLAN, etc. ponu esse aduprate per urganizà un duminiu L2.

Elementi IXP

  • SKS. Ùn ci hè nunda inusual quì: racks, ottiche cross-connects, patch panels.
  • Cambia - a basa di IXP. U portu di switch hè u puntu di entrata in a reta IXP. I switches facenu ancu una parte di e funzioni di sicurità - filtranu u trafficu junk chì ùn deve micca esse presente in a reta IXP. Comu regula, i switches sò selezziunati basatu nantu à esigenze funziunali - affidabilità, velocità di portu supportati, funzioni di sicurità, supportu sFlow, etc.
  • Servitore di rotta (RS) - una parte integrante è necessaria di ogni puntu di scambiu di trafficu mudernu. U principiu di funziunamentu hè assai simili à u riflettore di rotta in iBGP o u router designatu in OSPF è risolve i stessi prublemi. Quandu u numeru di participanti in un puntu di scambiu di trafficu cresce, u numeru di sessioni BGP chì ogni participante deve sustene aumenta, i.e. questu hè una reminiscenza di a topologia classica full-mesh in iBGP. RS risolve u prublema in a seguente manera: stabilisce una sessione BGP cù ogni participante IXP interessatu, è quellu participante diventa un cliente RS. Riceve un aghjurnamentu BGP da unu di i so clienti, RS manda sta aghjurnazione à tutti i so altri clienti, sicuru, cù l'eccezzioni di quellu da quale sta aghjurnazione hè stata ricevuta. Cusì, RS elimina a necessità di stabilisce una maglia piena trà tutti i membri IXP è risolve elegantemente u prublema di scalabilità. Hè da nutà chì u servitore di rotta trasmette in modu trasparente e rotte da un AS à l'altru senza fà cambiamenti à l'attributi trasmessi da BGP, per esempiu, ùn aghjunghje micca u numeru in u so AS à u AS-path. Ancu in RS ci hè un filtramentu basicu di rotte: per esempiu, RS ùn accetta micca e rete Martians è i prefissi di l'IXP stessu.

    Un router di software open source, BIRD (bird internet routing daemon), hè spessu usatu cum'è una soluzione di u servitore di rotta. U bonu hè chì hè gratuitu, si implementa rapidamente in a maiò parte di e distribuzioni Linux, hà un mecanismu flexible per stabilisce e pulitiche di routing / filtrazione, è ùn hè micca esigenti nantu à e risorse di l'informatica. Inoltre, un hardware / router virtuale da Cisco, Juniper, etc. pò esse sceltu cum'è RS.

  • Seguretat. Siccomu una reta IXP hè una cuncentrazione di un gran numaru di AS, a pulitica di sicurità chì tutti i participanti devenu seguità deve esse scritta bè. In generale, tutti i stessi meccanismi chì si applicanu quandu si stabilisce una adiacenza BGP trà dui parenti BGP separati fora di un IXP si applicanu quì, più alcune funzioni di sicurezza supplementari.

    Per esempiu, hè una bona pratica per permette u trafficu solu da un indirizzu mac specificu di u participante IXP, chì hè negoziatu in anticipu. Denegazione di u trafficu cù ethertype fields altru chè 0x0800 (IPv4), 0x08dd (IPv6), 0x0806 (ARP); questu hè fattu per filtrà u trafficu chì ùn appartene micca à u peering BGP. Meccanismi cum'è GTSM, RPKI, etc. ponu dinù esse usatu.

Forsi quì sopra sò i cumpunenti principali di qualsiasi IXP, indipendentemente da scala. Di sicuru, IXP più grande ponu avè tecnulugia è suluzioni supplementari in u locu.
Succede chì IXP furnisce ancu i so participanti cù servizii supplementari:

  • postu nantu à u servitore DNS IXP TLD,
  • installà i servitori NTP hardware, chì permettenu à i participanti di sincronizà accuratamente u tempu,
  • furnisce a prutezzione contru l'attacchi DDoS, etc.

Come si travaglia

Fighjemu u principiu di funziunamentu di un puntu di scambiu di trafficu utilizendu l'esempiu di un IXP simplice, modellatu cù EVE-NG, è dopu cunsiderà a cunfigurazione basica di un router di software BIRD. Per simplificà u diagramma, omettemu e cose impurtanti cum'è a redundanza è a toleranza di difetti.

A topologia di a rete hè mostrata in a figura sottu.

Puntu di scambiu di trafficu: da l'urighjini à a creazione di u vostru propiu IX

Assumimu chì amministramu un picculu puntu di scambiu è furnisce e seguenti opzioni di peering:

  • peering publicu,
  • peering privatu,
  • peering via u servitore di route.

U nostru numeru AS hè 555, avemu un bloccu di indirizzi IPv4 - 50.50.50.0/24, da quale emettemu indirizzi IP per quelli chì volenu cunnette à a nostra reta.

50.50.50.254 - L'indirizzu IP cunfiguratu nantu à l'interfaccia di u servitore di rotta, cù questu i clienti IP stabilisceranu una sessione BGP in casu di peering via RS.

Inoltre, per peering via RS, avemu sviluppatu una pulitica di routing simplice basatu nantu à a cumunità BGP, chì permette à i participanti IXP di regulà à quale è quali rotte per mandà:

cumunità BGP
discrizzione

LOCAL_AS:PEER_AS
Mandate i prefissi solu à PEER_AS

LOCAL_AS:IXP_AS
Trasferite i prefissi à tutti i participanti IXP

I clienti 3 volenu cunnette cù u nostru IXP è scambià u trafficu; Dicemu chì questi sò fornituri di Internet. Tutti volenu urganizà peering attraversu un servitore di rotta. Quì sottu hè un diagramma cù i paràmetri di cunnessione di u cliente:

Cliente
U numeru AS di u cliente
Clienti annunziate prefissi
L'indirizzu IP emessu à u cliente per cunnette à l'IXP

ISP #1
Cume 100
1.1.0.0/16
50.50.50.10/24

ISP #2
Cume 200
2.2.0.0/16
50.50.50.20/24

ISP #3
Cume 300
3.3.0.0/16
50.50.50.30/24

Configurazione BGP di basa nantu à u router cliente:

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

Vale a pena nutà l'impostazione no bgp enforce-first-as quì. Per automaticamente, BGP richiede chì u percorsu di una aghjurnazione BGP ricevuta cuntene u numeru cum'è bgp di u peer da quale l'aghjurnamentu hè statu ricevutu. Ma postu chì u servitore di a strada ùn cambia micca a strada, u so numeru ùn serà micca in a strada è l'aghjurnamentu serà scartatu. Stu paràmetru hè utilizatu per fà chì u router ignore sta regula.

Avemu vistu ancu chì u cliente hà stabilitu bgp community 555: 555 à questu prefissu, chì secondu a nostra pulitica significa chì u cliente vole publicità stu prefissu à tutti l'altri participanti.

Per i router di l'altri clienti, i paràmetri seranu simili, cù l'eccezzioni di i so paràmetri unichi.

Esempiu di cunfigurazione BIRD:

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

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

I seguenti descrizanu un filtru chì ùn accetta micca i prefissi marziani, è ancu i prefissi di l'IXP stessu:

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;
}

Questa funzione implementa a pulitica di routing chì avemu descrittu prima.

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;


}

Configuremu peering, applicà filtri è pulitiche adatti.

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;
  }
}

Hè da nutà chì nantu à un servitore di rotta hè una bona pratica per mette rotte da diverse pari in RIBs differenti. BIRD vi permette di fà questu. In u nostru esempiu, per simplicità, tutte l'aghjurnamenti ricevuti da tutti i clienti sò aghjuntu in una RIB cumuna.

Allora, andemu à verificà ciò chì avemu.

Nantu à u servitore di rotta vedemu chì una sessione BGP hè stata stabilita cù tutti i trè clienti:

Puntu di scambiu di trafficu: da l'urighjini à a creazione di u vostru propiu IX

Avemu vistu chì ricevemu prefissi da tutti i clienti:

Puntu di scambiu di trafficu: da l'urighjini à a creazione di u vostru propiu IX

Nantu à u router 100, vedemu chì s'ellu ci hè una sola sessione BGP cù u servitore di rotta, ricevemu prefissi sia da 200 sia da 300, mentre chì l'attributi BGP ùn anu micca cambiatu, cum'è se u peering trà i clienti hè stata realizata direttamente:

Puntu di scambiu di trafficu: da l'urighjini à a creazione di u vostru propiu IX

Cusì, vedemu chì a presenza di un servitore di rotta simplifica assai l'urganizazione di peering nantu à l'IXP.

Spergu chì sta dimostrazione vi hà aiutatu à capisce megliu cumu funziona l'IXP è cumu u servitore di a strada funziona in un IXP.

Linxdatacenter IX

In Linxdatacenter, avemu custruitu u nostru propiu IXP basatu annantu à una infrastruttura tolerante à i difetti di 2 switches è 2 servitori di route. U nostru IXP hè avà in esecuzione in modu di prova, è invitamu tutti à cunnette à Linxdatacenter IX è participà à a prova. Quandu hè cunnessu, vi sarà furnitu un portu cù una larghezza di banda di 1 Gbit/s, a capacità di peer through our route servers, è ancu l'accessu à u vostru contu persunale di u portale IX, dispunibule à ix.linxdatacenter.com.

Scrivite in cumenti o missaghji privati ​​​​per accede à e teste.

cunchiusioni

I punti di scambiu di trafficu sò ghjunti à l'alba di l'Internet cum'è un strumentu per risolve u prublema di u flussu di trafficu suboptimal trà l'operatori di telecomunicazione. Avà, cù l'avventu di novi servizii globale è un aumentu di a quantità di trafficu CDN, i punti di scambiu cuntinueghjanu à ottimisà l'operazione di a reta globale. L'aumentu di u numeru di IXP in u mondu benefiziu à l'utilizatori finali di u serviziu è l'operatori di telecomunicazione, l'operatori di cuntenutu, etc. Per i participanti IXP, u benefiziu hè spressu in a riduzzione di i costi di l'urganizazione di peering esternu, riducendu a quantità di trafficu per quale l'operatori di livellu più altu anu da pagà, ottimisendu u routing, è a capacità di avè una interfaccia diretta cù l'operatori di cuntenutu.

E ligami utili

Source: www.habr.com

Add a comment