
«Ne vendosëm një lidhje telefonike midis nesh dhe djemve në SRI…», tha Kleinrock në një intervju:
«Ne shkruam L-në dhe pyetëm në telefon, „A e shihni L-në?“»
«Po, e shohim L-në,» erdhi përgjigjja.
«Ne shkruam O-në, dhe pyetëm, „A e shihni O-në?“»
«Po, e shohim O-në.»
«Pastaj shkruam G-në, dhe sistemi u crash-ua»…Megjithatë, një revolucion kishte filluar…
Fillimi i internetit.
Përshëndetje të gjithëve!
Unë quhem Aleksandër, jam inxhinier rrjeti në kompaninë Linxdatacenter. Në këtë artikull do të flitem për pikat e shkëmbimit të trafikut (Internet Exchange Point, IXP): për atë çfarë i parapriu krijimit të tyre, për çfarë problemeve zgjidhin dhe si ndodhin. Gjithashtu, në këtë artikull do të demonstron konceptin e punës së IXP-së përmes platformës EVE-NG dhe ruterit software BIRD, që të kuptohet se si funksionon «nën kapak».
Pak histori
Nëse shikojmë , mund të vërejmë se rritja e shpejtë e numrit të pikave të shkëmbimit të trafikut filloi në vitin 1993. Kjo lidhej me faktin se shumica e trafikut të operatorëve të komunikimit të atëhershëm kalonte përmes rrjetit backbone të SHBA-së. Për shembull, kur trafiku shkonte nga një operator në Francë te një operator në Gjermani, ai nga Franca fillimisht kalonte në SHBA dhe vetëm më pas nga SHBA në Gjermani. Rrjeti backbone në këtë rast shërbente si transit midis Francës dhe Gjermanisë. Edhe trafiku brenda një vendi shpesh kalonte, jo në mënyrë direkte, por përmes rrjeteve kurrizore të operatorëve amerikanë.
Kjo situatë ndikohej jo vetëm në koston e transportit të trafikut tranzit, por edhe në cilësinë e kanaleve dhe vonesën. Numri i përdoruesve të internetit po rritej, po shfaqeshin operatorë të rinj, volumi i trafikut po rritej, edhe interneti po bëhej më i madh. Operatorët nga mbarë bota filluan të kuptonin se nevojitej një qasje më e arsyeshme në organizimin e bashkëpunimit midis operatorëve. «Pse duhet të paguaj unë, operatori A, për transitin përmes një vendi tjetër, për të dërguar trafikun te operatori B, që ndodhet në rrugën përballë?». Një pyetje e tillë po bënin vetë operatorët e komunikimit në atë kohë. Kështu, në disa pjesë të botës, në pikat e përqendrimit të operatorëve filluan të shfaqen pikat e shkëmbimit të trafikut:
- 1994 – LINX në Londër,
- 1995 – DE-CIX në Frankfurt,
- 1995 – MSK-IX, në Moskë, etj.
Internet dhe ditët tona
Koncepcioni arkitektonik i internetit modern përbëhet nga shumë sisteme autonome (autonomous system, AS) dhe shumë lidhje ndërmjet tyre, si fizike ashtu edhe logjike, që përcaktojnë rrugën e kalimit të trafikut nga një AS në tjetrin.
Si AS zakonisht shërbejnë operatorët e komunikimit, ofruesit e internetit, CDN, qendrat e të dhënave, kompani në sektorin e sipërmarrjeve. AS organizojnë lidhje logjike (peering) midis vetes, zakonisht duke përdorur protokollin BGP.
Shtysat se si sistemet autonome organizojnë këto lidhje, përcaktohen nga një sërë faktorësh:
- gjeografike,
- ekonomike,
- politike,
- marrëveshje dhe interesa të përbashkëta midis pronarëve të AS,
- etj.
Patjetër, në këtë skemë ka një strukturë dhe hierarki të caktuar. Kështu, operatorët ndahen në tier-1, tier-2 dhe tier-3, dhe nëse klientët për ofruesin lokal të internetit (tier-3) zakonisht janë përdorues të zakonshëm, atëherë për shembull, për operatorët e nivelit tier-1, klientët janë operatorë të tjerë. Operatorët tier-3 aggregojnë trafikun e abonentëve të tyre, operatorët e komunikimit tier-2, nga ana tjetër, aggregojnë trafikun e operatorëve tier-3, ndërsa tier-1 – tërë trafikun e internetit.
Schema mund të paraqitet kështu:

Në këtë figurë shihet se trafiku agjerohet nga poshtë lart, dmth nga përdoruesit përfundimtarë te operatorët tier-1. Gjithashtu, ndodhin shkëmbime horizontale të trafikut midis AS-ve që janë, më pak ose më shumë, ekuivalente me njëra-tjetrën.
Një pjesë thelbësore dhe në të njëjtën kohë një disavantazh i kësaj skeme është njëfarë çrregullsie e lidhjeve midis sistemeve autonome që ndodhen më afër përdoruesit përfundimtar, brenda një zone gjeografike. Le të shqyrtojmë figurën më poshtë:

Të supozojmë se në një qytet të madh janë të pranishëm 5 operatorë të komunikimit, ndërmjet të cilëve, për arsye të ndryshme, shkëmbimi është organizuar siç është treguar më sipër.
Nëse përdoruesi Petja, i lidhur me ofruesin e internetit Go, dëshiron të aksesojë një server të lidhur me ofruesin ASM, atëherë trafiku mes tyre do të duhet të kalojë përmes 5 sistemeve autonome. Kështu, rritet vonesa, pasi rritet numri i pajisjeve rrjetërore përmes të cilave do të kalojë trafiku, si dhe volumi i trafikut tranzit në sistemet autonome midis Go dhe ASM.
Si të reduktojmë numrin e AS-ve tranzit që trafiku është i detyruar të kalojë? Saktë – pikë shkëmbimi trafiku.
Në kohët moderne, shfaqja e IXP-ve të reja është për shkak të të njëjtave nevoja si në fillimet e viteve '90 deri në 2000, vetëm në një shkallë më të vogël, në përgjigje të numrit në rritje të operatorëve të komunikimit, përdoruesve dhe trafikëve, si edhe rritjes së përmbajtjes së gjeneruar nga rrjetet CDN dhe qendrat e të dhënave.
Çfarë është një pikë shkëmbimi trafiku?
Një pikë shkëmbimi trafiku është një vend me një infrastrukturë të veçantë rrjetore, ku palët e interesuara për shkëmbimin e ndërsjellë të trafikut organizojnë peer-peer. Pjesëmarrësit kryesorë në pikat e shkëmbimit të trafikut janë: operatorët e komunikimit, ofruesit e shërbimit të internetit, ofruesit e përmbajtjes dhe qendrat e të dhënave. Në pikat e shkëmbimit të trafikut, pjesëmarrësit lidhen direkt me njëri-tjetrin. Kjo lejon zgjidhjen e çështjeve të mëposhtme:
- të reduktojnë vonesat,
- të zvogëlojnë sasinë e trafikëve tranzit,
- të optimizojnë rrugëtimin ndërmjet AS.
Duke marrë parasysh se IXP-të janë të pranishëm në shumë qytete të mëdha të botës, kjo ndikon pozitivisht në rrjetin e Internetit në përgjithësi.
Nëse situatën e përshkruar më sipër me Petën e zgjidhim duke përdorur IXP, do të rezultojë diçka e tillë:

Si funksionon një pikë shkëmbimi trafiku?
Si rregull, IXP është një AS e veçantë me bllokun e saj të adresave publike IPv4/IPv6.
Rrjeti IXP zakonisht paraqet një domen të vazhdueshëm L2. Ndonjëherë është thjesht një VLAN, ku ndodhen të gjithë klientët e IXP. Kur flasim për IXP më të mëdhenj, gjeografikisht të shpërndara, teknologji të tilla si MPLS, VXLAN etj., mund të përdoren për organizimin e domenit L2.
Elementet e IXP
- SCS. Këtu nuk ka asgjë të habitshme: raftet, krosat optike, panellet e ndërlidhjes.
- Switch-ët – baza e IXP. Porta e switch-it është pika e hyrjes në rrjetin IXP. Gjithashtu, switch-et kryejnë disa funksione sigurie – filtrojnë trafikun e padëshiruar, i cili nuk duhet të jetë në rrjetin IXP. Zakonisht, switch-et zgjidhen në përputhje me kërkesat për funksionalitet – besueshmëri, shpejtësia mbështetëse e porteve, funksionet e sigurisë, mbështetje për sFlow etj.
- Serveri i rrugëve (RS) – është një pjesë e pandashme dhe e domosdoshme e çdo pike moderne të shkëmbimit të trafikut. Në parimin e funksionimit, ai ngjan shumë me reflektorin e rrugëve në iBGP ose router-in e caktuar në OSPF dhe zgjidh të njëjtat probleme. Ndërsa rritet numri i pjesëmarrësve në pikat e shkëmbimit të trafikut, rritet edhe numri i sesioneve BGP, të cilat çdo pjesëmarrës duhet të mbajë, do thotë se kujton një topologji klasike full-mesh në iBGP. RS zgjidh problemin ashtu: krijon një sesion BGP me çdo pjesëmarrës të interesuar të IXP, dhe ai bëhet klient i RS. Duke pranuar një BGP update nga njëri nga klientët e saj, RS shpërndan këtë update te të gjithë klientët e tij të tjerë, natyrisht, përveç atij nga i cili është pranuar ky update. Në këtë mënyrë, RS eleminon nevojën për të krijuar një full-mesh midis të gjithë pjesëmarrësve të IXP dhe zgjidh elegant problemin e shkallëzimit. Duhet përmendur se serveri i rrugëve transmeton në mënyrë transparente rrugët nga një AS në një tjetër, pa bërë ndryshime në atributet e BGP të transmetuara, për shembull, nuk shton numrin e AS në AS-path. Po ashtu, në RS ndodh dhe filtrimi bazë i rrugëve: për shembull, RS nuk pranon rrjetet martiane dhe prefikset e IXP.
Si zgjidhje, serveri i rrugëve shpesh përdor një router programor me burim të hapur – BIRD (bird internet routing daemon). Ai është i shkëlqyer pasi është falas, implementohet shpejt në shumicën e shpërndarjeve të Linux-it, ka një mekanizëm fleksibël për të konfigurimin e politikave të rrugëtimit/filtrimit, dhe nuk kërkon shumë burime kompjuterike. Gjithashtu, mund të zgjidhet edhe një router harduerik/virtual Cisco, Juniper etj. si RS.
- Siguria. Duke qenë se rrjeti IXP është një koncentrim i një numri të madh AS-sh, politika e sigurisë, e cila duhet të ndiqet nga të gjithë pjesëmarrësit, duhet të jetë mirë e shkruar. Zakonisht, të njëjtat mekanizma që përdoren gjatë krijimit të fqinjësisë BGP midis dy BGP-pirave të veçantë jashtë IXP, përdoren edhe këtu, si dhe disa mjete shtesë mbrojtjeje.
Për shembull, një praktikë e mirë është lejimi i trafikëve vetëm nga një adresë mac të caktuar të pjesëmarrësit IXP, e cila diskutohet paraprakisht. Ndalohet trafiku me fusha ethertype që ndryshojnë nga 0x0800 (IPv4), 0x08dd (IPv6), 0x0806 (ARP); kjo bëhet për të filtruar trafikët që nuk kanë vend gjatë BGP-peer-imit. Mund të përdoren gjithashtu mekanizma të tillë si GTSM, RPKI etj.
Mund të thuhet se të dhënat e përmendura më sipër janë komponentët kryesorë të çdo IXP, pavarësisht nga shkalla. Sigurisht, IXP-të e mëdhenj mund të aplikojnë teknologji dhe zgjidhje shtesë.
Ndonjëherë, IXP-të gjithashtu ofrojnë shërbime shtesë për pjesëmarrësit e tyre:
- vendosin serverat DNS të TLD në IXP,
- instalojnë serverët e NTP harduerik, duke u ofruar mundësinë pjesëmarrësve të sinkronizojnë saktësisht kohën,
- sigurojnë mbrojtje nga sulmet DDoS, etj.
Parimi i funksionimit
Le të shqyrtojmë parimin e funksionimit të pikës së këmbimit të trafikut duke përdorur një shembull të thjeshtë të IXP, të simuluar me mjete EVE-NG, dhe pastaj të shqyrtojmë konfigurimin themelor të rrugës BIRD. Për të thjeshtuar skemën, ne do të anashkalojmë gjëra kaq të rëndësishme si rezervimi dhe qëndrueshmëria.
Topologjia e rrjetit është paraqitur në figurën më poshtë.

Le të supozojmë se ne administrojmë një pikë të vogël këmbimi trafiku dhe ofrojmë këto opsione për përshkallëzim:
- përshkallëzim publik,
- përshkallëzim privat,
- përshkallëzim përmes serverit të rrugëve.
Numri ynë AS është 555, ne zotërojmë një bllok IPv4 adresash - 50.50.50.0/24, nga e cila japim adresat IP për ata që dëshirojnë të lidhen me rrjetin tonë.
50.50.50.254 - adresa IP, e cila është konfiguruar në interfacin e serverit të rrugëve, me këtë IP klientët do të vendosin sesionin BGP në rastin e përshkallëzimit përmes RS.
Gjithashtu, për përshkallëzimin përmes RS kemi zhvilluar një politikë të thjeshtë rrugëzimi mbi bazën e komunitetit BGP, e cila u ofron pjesëmarrësve IXP mundësinë të rregullojnë se kujt dhe cilat ruta t'i dërgojnë:
komuniteti BGP
Përshkrimi
LOCAL_AS:PEER_AS
Të transferohet prefiksi vetëm tek PEER_AS
LOCAL_AS:IXP_AS
Të transferohet prefiksi tek të gjithë pjesëmarrësit e IXP
Në IXP tonë dëshirojnë të lidhen dhe të shkëmbejnë trafik 3 klientë; le të supozojmë se janë ofrues të internetit. Të gjithë ata dëshirojnë të organizojnë përshkallëzim përmes serverit të rrugëve. Më poshtë paraqitet skema me parametrat e lidhjes së klientëve:
Klienti
Numri AS i klientit
Prefikset e shpallura nga klienti
adresa IP e dhënë klientit për lidhjen me 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
Konfigurimi themelor i BGP në routerin e klientit:
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
Këtu vlen të theksohet konfigurimi no bgp enforce-first-as. Nga ana tjetër, BGP kërkon që në as-path e përditësimit BGP të pranuar të jetë i pranishëm numri as i bgp partnerit, nga i cili është pranuar ky përditësim. Por, për shkak se serveri i rrugëve nuk bën ndryshime në as-path, numri i tij do të mungojë në as-path dhe përditësimi do të hidhet poshtë. Kjo konfigurim zbatohet që routeri të fillojë të injorojë këtë rregull.
Gjithashtu, shohim se klienti ka vendosur bgp community 555:555 në këtë prefiks, që sipas politikës sonë do të thotë se klienti dëshiron të shpallë këtë prefiks për të gjitha palët e tjera.
Për маршрутизаторët e klientëve të tjerë, konfigurimi do të jetë i ngjashëm, përveç parametrave të tyre unikë.
Shembulli i konfigurimit BIRD:
define ixp_as = 555;
define ixp_prefixes = [ 50.50.50.0/24+ ];
template bgp RS_CLIENT {
local as ixp_as;
rs client;
}
Më poshtë përshkruhet një filtr që nuk pranon prefikse martians si dhe prefikset e IXP vetë:
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;
}
Kjo funksion realizon politikën e routing që kemi përshkruar më parë.
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;
}
Po konfigurojmë pirimin, duke aplikuar filtrat dhe politikat përkatëse.
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;
}
}
Duhet theksuar se në route server është një praktikë e mirë që të ruhet ruterat nga pirë të ndryshëm në RIB të ndryshme. BIRD e lejon këtë. Në shembullin tonë, për thjeshtësi, të gjitha përditësimet e marra nga të gjitha klientët ruhen në një RIB të përbashkët.
Pra, le të kontrollojmë se çfarë kemi arritur.
Në route server shohim se me të tre klientët është krijuar një sesion BGP:

Shohim se po marrim prefikse nga të gjithë klientët:

Në маршрутизаторе as 100, shohim se me një sesion të vetëm BGP me serverin e ruterave, marrim prefikse nga as 200 dhe as 300, duke ruajtur BGP-atributet siç do ndodhte nëse pirimi midis klientëve realizohej drejtpërdrejt:

Kështu shohim se pranimi i një serveri ruterash e thjeshton ndjeshëm organizimin e pirimit në IXP.
Shpresoj se kjo demostrim ju ndihmoi të kuptoni më mirë se si funksionojnë pikat e shkëmbimit të trafikut dhe si funksionon serveri i ruterave në IXP.
Linxdatacenter IX
Në Linxdatacenter kemi ndërtuar një IXP të vetin të bazuar në një infrastrukturë të qëndrueshme me 2 switche dhe 2 serverë ruterësh. Tani IXP-ja jonë është e aktivizuar në një mod të provës, dhe ne ftojmë të gjithë të interesuarit të lidhen me Linxdatacenter IX dhe të angazhohen në testim. Kur lidheni, do të keni në dispozicion një port me kapacitet prej 1 Gbit/s, mundësinë për të bërë peering përmes serverëve tanë ruter, si dhe akses në panelin tonë IX, i cili është i disponueshëm në adresën .
Shkruani në komentet ose në mesazhe private për të marrë qasje në testimin.
Përfundim
Pikat e ndërrimit të trafik kishin lindur në fillimet e internetit si një mjet për të zgjidhur çështjen e kalimit të trafikut në mënyrë jokompetitive ndërmjet operatorëve të komunikimit. Tani, me shfaqjen e shërbimeve globale të reja dhe rritjen e numrit të trafikëve CDN, pikat e ndërrimit vazhdojnë ende të optimizojnë funksionimin e rrjetit global. Rritja e numrit të IXP-ve në botë sjell përfitime si për përdoruesit e fundit të shërbimeve, ashtu dhe për operatorët e komunikimit, operatorët e përmbajtjes, etj. Për pjesëmarrësit në IXP, përfitimi shprehet në zvogëlimin e shpenzimeve për organizimin e peeringeve të jashtme, uljen e shumës së trafikut për të cilin duhet të paguhet operatorëve më të lartë, optimizimin e маршрутизациите, si dhe mundësinë për të pasur një lidhje të drejtpërdrejtë me operatorët e përmbajtjes.
Linqe të dobishme
- Shikoni hartën e vendndodhjeve të pikave të ndërrimit të trafikut:
- Shikoni statistikën më të detajuar mbi BGP peering, përfshirë praninë në IXP:
Burimi: habr.com
