Satiksmes apmaiÅas punkts: no pirmsÄkumiem lÄ«dz sava IX izveidei
"MÄs izveidojÄm telefona savienojumu starp mums un SRI puiÅ”iem...," intervijÄ sacÄ«ja Kleinroks.
"MÄs ierakstÄ«jÄm L un pa tÄlruni jautÄjÄm: "Vai jÅ«s redzat L?"
"JÄ, mÄs redzam L," skanÄja atbilde.
"MÄs ierakstÄ«jÄm O un vaicÄjÄm: "Vai jÅ«s redzat O."
"JÄ, mÄs redzam O."
"Tad mÄs ierakstÄ«jÄm G, un sistÄma avarÄja" ...
TomÄr bija sÄkusies revolÅ«cijaā¦
Interneta sÄkums.
Sveiki visiem!
Mani sauc Aleksandrs, es esmu tÄ«kla inženieris uzÅÄmumÄ Linxdatacenter. Å odienas rakstÄ mÄs runÄsim par trafika apmaiÅas punktiem (Internet Exchange Points, IXP): kas bija pirms to parÄdÄ«Å”anÄs, kÄdus uzdevumus tie atrisina un kÄ tie tiek veidoti. ArÄ« Å”ajÄ rakstÄ es demonstrÄÅ”u IXP darbÄ«bas principu, izmantojot EVE-NG platformu un BIRD programmatÅ«ras marÅ”rutÄtÄju, lai jums bÅ«tu izpratne par to, kÄ tas darbojas āzem pÄrsegaā.
Nedaudz vÄstures
Ja paskatÄs Å”eit, tad var redzÄt, ka straujÅ” satiksmes apmaiÅas punktu skaita pieaugums sÄkÄs 1993. gadÄ. Tas ir saistÄ«ts ar faktu, ka lielÄkÄ daļa tajÄ laikÄ pastÄvoÅ”o telekomunikÄciju operatoru trafika gÄja caur ASV maÄ£istrÄlo tÄ«klu. TÄ, piemÄram, kad satiksme pÄrgÄja no operatora FrancijÄ uz operatoru VÄcijÄ, tÄ vispirms devÄs no Francijas uz ASV un tikai pÄc tam no ASV uz VÄciju. PamattÄ«kls Å”ajÄ gadÄ«jumÄ darbojÄs kÄ tranzÄ«ts starp Franciju un VÄciju. Pat satiksme vienas valsts robežÄs bieži notika nevis tieÅ”i, bet gan caur Amerikas operatoru mugurkaula tÄ«kliem.
Å is stÄvoklis ietekmÄja ne tikai tranzÄ«ta satiksmes nodroÅ”inÄÅ”anas izmaksas, bet arÄ« kanÄlu kvalitÄti un kavÄjumus. Pieauga interneta lietotÄju skaits, parÄdÄ«jÄs jauni operatori, pieauga trafika apjoms, un internets nobrieda. Operatori visÄ pasaulÄ sÄka saprast, ka ir nepiecieÅ”ama racionÄlÄka pieeja operatoru savstarpÄjÄs mijiedarbÄ«bas organizÄÅ”anai. "KÄpÄc man, operatoram A, bÅ«tu jÄmaksÄ par tranzÄ«tu caur citu valsti, lai nodroÅ”inÄtu satiksmi operatoram B, kurÅ” atrodas nÄkamajÄ ielÄ?" Aptuveni Å”Ädu jautÄjumu tolaik sev uzdeva telekomunikÄciju operatori. TÄdÄjÄdi dažÄdÄs pasaules vietÄs operatoru koncentrÄcijas punktos sÄka parÄdÄ«ties satiksmes apmaiÅas punkti:
1994 ā LINX LondonÄ,
1995 ā DE-CIX FrankfurtÄ,
1995. gads ā MSK-IX, MaskavÄ u.c.
Internets un mūsu dienas
KonceptuÄli mÅ«sdienu interneta arhitektÅ«ra sastÄv no daudzÄm autonomÄm sistÄmÄm (AS) un daudziem savienojumiem starp tÄm, gan fiziskiem, gan loÄ£iskiem, kas nosaka trafika ceļu no vienas AS uz otru.
AS parasti ir telekomunikÄciju operatori, interneta pakalpojumu sniedzÄji, CDN, datu centri un uzÅÄmumu segmenta uzÅÄmumi. AS organizÄ loÄ£iskos savienojumus (peering) savÄ starpÄ, parasti izmantojot BGP protokolu.
To, kÄ autonomÄs sistÄmas organizÄ Å”os savienojumus, nosaka vairÄki faktori:
Ä£eogrÄfisks,
ekonomisks,
politisks,
AS Ä«paÅ”nieku vienoÅ”anÄs un kopÄ«gÄs intereses,
uc
Protams, Å”ai shÄmai ir noteikta struktÅ«ra un hierarhija. TÄdÄjÄdi operatori tiek sadalÄ«ti 1., 2. un 3. lÄ«menÄ«, un, ja vietÄjÄ interneta pakalpojumu sniedzÄja (3. lÄ«meÅa) klienti parasti ir parastie lietotÄji, tad, piemÄram, 1. lÄ«menÄ«. lÄ«meÅa operatori klienti ir citi operatori. TreÅ”Ä lÄ«meÅa operatori apkopo savu abonentu trafiku, 3. lÄ«meÅa telekomunikÄciju operatori, savukÄrt, apkopo 2. lÄ«meÅa operatoru trafiku, bet 3. lÄ«meÅa operatori ā visu interneta trafiku.
Shematiski to var attÄlot Å”Ädi:
Å ajÄ attÄlÄ redzams, ka satiksme tiek apkopota no apakÅ”as uz augÅ”u, t.i. no gala lietotÄjiem lÄ«dz 1. lÄ«meÅa operatoriem. Notiek arÄ« horizontÄla trafika apmaiÅa starp AS, kas ir aptuveni lÄ«dzvÄrtÄ«gas viena otrai.
Å Ä«s shÄmas neatÅemama sastÄvdaļa un vienlaikus trÅ«kums ir zinÄma sajaukÅ”anÄs starp autonomÄm sistÄmÄm, kas atrodas tuvÄk gala lietotÄjam, Ä£eogrÄfiskÄ apgabalÄ. Apsveriet tÄlÄk redzamo attÄlu:
PieÅemsim, ka lielÄ pilsÄtÄ ir 5 telekomunikÄciju operatori, starp kuriem viena vai otra iemesla dÄļ ir organizÄts, kÄ parÄdÄ«ts iepriekÅ”.
Ja lietotÄjs Petya, kurÅ” ir savienots ar Go ISP, vÄlas piekļūt serverim, kas ir savienots ar ASM pakalpojumu sniedzÄju, satiksme starp viÅiem bÅ«s spiesta iziet cauri 5 autonomÄm sistÄmÄm. Tas palielina kavÄÅ”anos, jo palielinÄs tÄ«kla ierÄ«Äu skaits, caur kurÄm notiks trafika, kÄ arÄ« tranzÄ«ta satiksmes apjoms autonomajÄs sistÄmÄs starp Go un ASM.
KÄ samazinÄt tranzÄ«ta AS skaitu, kurÄm satiksme ir spiesta iziet cauri? TieÅ”i tÄ ā satiksmes maiÅas punkts.
MÅ«sdienÄs jaunu IXP raÅ”anos nosaka tÄs paÅ”as vajadzÄ«bas, kas 90.-2000. gadu sÄkumÄ, tikai mazÄkÄ mÄrogÄ, reaÄ£Äjot uz pieaugoÅ”o telekomunikÄciju operatoru, lietotÄju un trafika skaitu, pieaugoÅ”o CDN tÄ«klu radÄ«tÄ satura apjomu. un datu centri.
Kas ir maiÅas punkts?
Satiksmes apmaiÅas punkts ir vieta ar speciÄlu tÄ«kla infrastruktÅ«ru, kur savstarpÄjÄ satiksmes apmaiÅÄ ieinteresÄtie dalÄ«bnieki organizÄ savstarpÄjo peering. Galvenie trafika apmaiÅas punktu dalÄ«bnieki: telekomunikÄciju operatori, interneta nodroÅ”inÄtÄji, satura nodroÅ”inÄtÄji un datu centri. Satiksmes apmaiÅas punktos dalÄ«bnieki tieÅ”i savienojas viens ar otru. Tas ļauj atrisinÄt Å”Ädas problÄmas:
samazinÄt latentumu,
samazinÄt tranzÄ«ta satiksmes apjomu,
optimizÄt marÅ”rutÄÅ”anu starp AS.
Å emot vÄrÄ, ka IXP ir daudzÄs lielajÄs pilsÄtÄs visÄ pasaulÄ, tas viss labvÄlÄ«gi ietekmÄ internetu kopumÄ.
Ja iepriekÅ” minÄtÄ situÄcija ar Petju tiek atrisinÄta, izmantojot IXP, tas izrÄdÄ«sies apmÄram Å”Äds:
KÄ darbojas satiksmes apmaiÅas punkts?
Parasti IXP ir atseviŔķa AS ar savu publisko IPv4/IPv6 adreŔu bloku.
IXP tÄ«kls visbiežÄk sastÄv no nepÄrtraukta L2 domÄna. Dažreiz tas ir vienkÄrÅ”i VLAN, kurÄ tiek mitinÄti visi IXP klienti. RunÄjot par lielÄkiem, Ä£eogrÄfiski sadalÄ«tiem IXP, L2 domÄna organizÄÅ”anai var izmantot tÄdas tehnoloÄ£ijas kÄ MPLS, VXLAN utt.
IXP elementi
SKS. Å eit nav nekÄ neparasta: statÄ«vi, optiskie ŔķÄrssavienojumi, plÄkstera paneļi.
SlÄdži ā IXP pamats. SlÄdža ports ir ieejas punkts IXP tÄ«klÄ. SlÄdži veic arÄ« daļu no droŔības funkcijÄm - tie filtrÄ nevÄlamo trafiku, kam nevajadzÄtu bÅ«t IXP tÄ«klÄ. Parasti slÄdži tiek izvÄlÄti, pamatojoties uz funkcionÄlajÄm prasÄ«bÄm - uzticamÄ«bu, atbalstÄ«to portu Ätrumu, droŔības lÄ«dzekļiem, sFlow atbalstu utt.
MarÅ”ruta serveris (RS) ā jebkura moderna satiksmes apmaiÅas punkta neatÅemama un nepiecieÅ”ama sastÄvdaļa. DarbÄ«bas princips ir ļoti lÄ«dzÄ«gs marÅ”ruta reflektoram iBGP vai norÄdÄ«tajam marÅ”rutÄtÄjam OSPF un atrisina tÄs paÅ”as problÄmas. Pieaugot dalÄ«bnieku skaitam satiksmes apmaiÅas punktÄ, palielinÄs BGP sesiju skaits, kas jÄatbalsta katram dalÄ«bniekam, t.i. tas atgÄdina klasisko pilna tÄ«kla topoloÄ£iju iBGP. RS atrisina problÄmu Å”ÄdÄ veidÄ: izveido BGP sesiju ar katru ieinteresÄto IXP dalÄ«bnieku, un Å”is dalÄ«bnieks kļūst par RS klientu. SaÅemot BGP atjauninÄjumu no viena no saviem klientiem, RS nosÅ«ta Å”o atjauninÄjumu visiem citiem saviem klientiem, protams, izÅemot to, no kura Å”is atjauninÄjums tika saÅemts. TÄdÄjÄdi RS novÄrÅ” nepiecieÅ”amÄ«bu izveidot pilnu tÄ«klu starp visiem IXP dalÄ«bniekiem un eleganti atrisina mÄrogojamÄ«bas problÄmu. Ir vÄrts atzÄ«mÄt, ka marÅ”ruta serveris pÄrskatÄmi pÄrsÅ«ta marÅ”rutus no vienas AS uz otru, neveicot izmaiÅas BGP pÄrsÅ«tÄ«tajos atribÅ«tos, piemÄram, tas nepievieno AS ceļam numuru savÄ AS. ArÄ« RS ir pamata marÅ”rutu filtrÄÅ”ana: piemÄram, RS nepieÅem marsieÅ”u tÄ«klus un paÅ”a IXP prefiksus.
AtvÄrtÄ pirmkoda programmatÅ«ras marÅ”rutÄtÄjs BIRD (putnu interneta marÅ”rutÄÅ”anas dÄmons) bieži tiek izmantots kÄ marÅ”ruta servera risinÄjums. LabÄ lieta ir tÄda, ka tÄ ir bezmaksas, Ätri tiek izvietota lielÄkajÄ daÄ¼Ä Linux izplatÄ«jumu, tai ir elastÄ«gs mehÄnisms marÅ”rutÄÅ”anas/filtrÄÅ”anas politiku iestatÄ«Å”anai, un tas nav prasÄ«gs skaitļoÅ”anas resursiem. KÄ RS var izvÄlÄties arÄ« aparatÅ«ras/virtuÄlo marÅ”rutÄtÄju no Cisco, Juniper utt.
DroŔība. TÄ kÄ IXP tÄ«kls ir liela skaita AS koncentrÄcija, droŔības politikai, kas jÄievÄro visiem dalÄ«bniekiem, jÄbÅ«t labi uzrakstÄ«tai. KopumÄ Å”eit tiek piemÄroti visi tie paÅ”i mehÄnismi, kas tiek piemÄroti, izveidojot BGP blakus starp diviem atseviŔķiem BGP vienÄdrangiem Ärpus IXP, kÄ arÄ« daži papildu droŔības lÄ«dzekļi.
PiemÄram, laba prakse ir atļaut trafiku tikai no konkrÄtas IXP dalÄ«bnieka mac adreses, kas tiek iepriekÅ” saskaÅota. Trafika liegÅ”ana ar Ätera tipa laukiem, kas nav 0x0800(IPv4), 0x08dd(IPv6), 0x0806(ARP); tas tiek darÄ«ts, lai filtrÄtu trafiku, kas neietilpst BGP peering. Var izmantot arÄ« tÄdus mehÄnismus kÄ GTSM, RPKI u.c.
IespÄjams, iepriekÅ” minÄtie ir jebkura IXP galvenie komponenti neatkarÄ«gi no mÄroga. Protams, lielÄkiem IXP var bÅ«t ieviestas papildu tehnoloÄ£ijas un risinÄjumi.
GadÄs, ka IXP saviem dalÄ«bniekiem nodroÅ”ina arÄ« papildu pakalpojumus:
ievietots IXP TLD DNS serverī,
instalÄt aparatÅ«ras NTP serverus, ļaujot dalÄ«bniekiem precÄ«zi sinhronizÄt laiku,
nodroÅ”inÄt aizsardzÄ«bu pret DDoS uzbrukumiem utt.
KÄ tas darbojas
ApskatÄ«sim satiksmes apmaiÅas punkta darbÄ«bas principu, izmantojot vienkÄrÅ”a IXP piemÄru, kas modelÄts, izmantojot EVE-NG, un pÄc tam apsvÄrsim BIRD programmatÅ«ras marÅ”rutÄtÄja pamata iestatÄ«jumus. Lai vienkÄrÅ”otu diagrammu, mÄs izlaidÄ«sim tÄdas svarÄ«gas lietas kÄ atlaiÅ”ana un kļūdu tolerance.
TÄ«kla topoloÄ£ija ir parÄdÄ«ta attÄlÄ zemÄk.
PieÅemsim, ka mÄs administrÄjam nelielu apmaiÅas punktu un nodroÅ”inÄm Å”Ädas peering iespÄjas:
publiska skatÄ«Å”anÄs,
privÄta skatÄ«Å”anÄs,
peering caur marŔruta serveri.
MÅ«su AS numurs ir 555, mums pieder IPv4 adreÅ”u bloks ā 50.50.50.0/24, no kura izsniedzam IP adreses tiem, kas vÄlas pieslÄgties mÅ«su tÄ«klam.
50.50.50.254 ā marÅ”ruta servera saskarnÄ konfigurÄta IP adrese, ar Å”o IP klienti izveidos BGP sesiju, ja tiks veikta peering caur RS.
TÄpat, lai veiktu paging caur RS, esam izstrÄdÄjuÅ”i vienkÄrÅ”u marÅ”rutÄÅ”anas politiku, kuras pamatÄ ir BGP kopiena, kas ļauj IXP dalÄ«bniekiem regulÄt, kam un kÄdus marÅ”rutus nosÅ«tÄ«t:
BGP kopiena
Apraksts
LOCAL_AS:PEER_AS
Sūtīt prefiksus tikai uz PEER_AS
LOCAL_AS:IXP_AS
PÄrsÅ«tiet prefiksus visiem IXP dalÄ«bniekiem
3 klienti vÄlas izveidot savienojumu ar mÅ«su IXP un apmainÄ«ties ar trafiku; PieÅemsim, ka tie ir interneta pakalpojumu sniedzÄji. ViÅi visi vÄlas organizÄt peering caur marÅ”ruta serveri. ZemÄk ir diagramma ar klienta savienojuma parametriem:
Klients
Klienta AS numurs
Klienta reklamÄtie prefiksi
IP adrese, kas izsniegta klientam, lai izveidotu savienojumu ar IXP
ISP #1
AS 100
1.1.0.0/16
50.50.50.10/24
ISP #2
AS 200
2.2.0.0/16
50.50.50.20/24
ISP #3
AS 300
3.3.0.0/16
50.50.50.30/24
BGP pamata iestatÄ«Å”ana klienta marÅ”rutÄtÄjÄ:
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
Ir vÄrts atzÄ«mÄt Å”eit esoÅ”o iestatÄ«jumu no bgp enforce-first-as. PÄc noklusÄjuma BGP pieprasa, lai saÅemtÄ BGP atjauninÄjuma as-ceļŔ saturÄtu tÄ vienÄdranga as bgp numuru, no kura tika saÅemts atjauninÄjums. Bet, tÄ kÄ marÅ”ruta serveris neveic izmaiÅas as-path, tÄ numurs nebÅ«s as-path un atjauninÄjums tiks atmests. Å is iestatÄ«jums tiek izmantots, lai marÅ”rutÄtÄjs ignorÄtu Å”o noteikumu.
MÄs arÄ« redzam, ka klients Å”im prefiksam ir iestatÄ«jis bgp Community 555:555, kas saskaÅÄ ar mÅ«su politiku nozÄ«mÄ, ka klients vÄlas reklamÄt Å”o prefiksu visiem pÄrÄjiem dalÄ«bniekiem.
Citu klientu marÅ”rutÄtÄjiem iestatÄ«jumi bÅ«s lÄ«dzÄ«gi, izÅemot to unikÄlos parametrus.
BIRD konfigurÄcijas piemÄrs:
define ixp_as = 555;
define ixp_prefixes = [ 50.50.50.0/24+ ];
template bgp RS_CLIENT {
local as ixp_as;
rs client;
}
TÄlÄk ir aprakstÄ«ts filtrs, kas nepieÅem marsieÅ”u prefiksus, kÄ arÄ« paÅ”a IXP prefiksus:
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;
}
Å Ä« funkcija ievieÅ” iepriekÅ” aprakstÄ«to marÅ”rutÄÅ”anas politiku.
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;
}
MÄs konfigurÄjam peering, izmantojam atbilstoÅ”us filtrus un politikas.
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;
}
}
Ir vÄrts atzÄ«mÄt, ka marÅ”ruta serverÄ« ir laba prakse dažÄdu vienaudžu marÅ”rutus ievietot dažÄdos RIB. BIRD ļauj jums to izdarÄ«t. MÅ«su piemÄrÄ vienkÄrŔības labad visi atjauninÄjumi, kas saÅemti no visiem klientiem, tiek pievienoti vienÄ kopÄjÄ RIB.
TÄtad, pÄrbaudÄ«sim, kas mums ir.
MarÅ”ruta serverÄ« mÄs redzam, ka ir izveidota BGP sesija ar visiem trim klientiem:
MÄs redzam, ka mÄs saÅemam prefiksus no visiem klientiem:
MarÅ”rutÄtÄjÄ as 100 mÄs redzam, ka, ja ir tikai viena BGP sesija ar marÅ”ruta serveri, mÄs saÅemam prefiksus gan no 200, gan kÄ 300, savukÄrt BGP atribÅ«ti nav mainÄ«juÅ”ies, it kÄ peering starp klientiem tiktu veikta tieÅ”i:
Es ceru, ka Ŕī demonstrÄcija palÄ«dzÄja jums labÄk izprast, kÄ darbojas IXP un kÄ marÅ”ruta serveris darbojas IXP.
Linxdatacenter IX
UzÅÄmumÄ Linxdatacenter mÄs izveidojÄm paÅ”i savu IXP, kuras pamatÄ ir 2 slÄdžu un 2 marÅ”ruta serveru kļūmju izturÄ«ga infrastruktÅ«ra. MÅ«su IXP tagad darbojas testa režīmÄ, un mÄs aicinÄm ikvienu izveidot savienojumu ar Linxdatacenter IX un piedalÄ«ties testÄÅ”anÄ. Kad esat pieslÄgts, jums tiks nodroÅ”inÄts ports ar joslas platumu 1 Gbit/s, iespÄja pÄriet caur mÅ«su marÅ”ruta serveriem, kÄ arÄ« piekļuve jÅ«su personÄ«gajam IX portÄla kontam, kas pieejams ix.linxdatacenter.com.
Rakstiet komentÄros vai privÄtÄs ziÅÄs, lai piekļūtu testÄÅ”anai.
secinÄjums
Satiksmes apmaiÅas punkti radÄs interneta rÄ«tausmÄ kÄ instruments, lai atrisinÄtu jautÄjumu par neoptimÄlu satiksmes plÅ«smu starp telekomunikÄciju operatoriem. Tagad, parÄdoties jauniem globÄliem pakalpojumiem un palielinoties CDN trafika apjomam, apmaiÅas punkti turpina optimizÄt globÄlÄ tÄ«kla darbÄ«bu. IXP skaita pieaugums pasaulÄ nÄk par labu gan pakalpojuma gala lietotÄjam, gan telekomunikÄciju operatoriem, satura operatoriem u.c. IXP dalÄ«bniekiem ieguvums izpaužas, samazinot ÄrÄjÄs peering organizÄÅ”anas izmaksas, samazinot trafika apjomu, par kuru jÄmaksÄ augstÄka lÄ«meÅa operatoriem, optimizÄjot marÅ”rutÄÅ”anu un iespÄju izveidot tieÅ”u saskarni ar satura operatoriem.