Umferðarskiptastaður: frá uppruna til að búa til þinn eigin IX

Umferðarskiptastaður: frá uppruna til að búa til þinn eigin IX

„Við settum upp símasamband á milli okkar og strákanna hjá SRI...“ sagði Kleinrock... í viðtali:
„Við skrifuðum L og við spurðum í síma: „Sérðu L?
„Já, við sjáum L,“ kom svarið.
„Við skrifuðum O og við spurðum: „Sérðu O.“
"Já, við sjáum O."
„Svo slógum við inn G og kerfið hrundi“...

Samt var bylting hafin…

Upphaf internetsins.


Halló allir!

Ég heiti Alexander, ég er netverkfræðingur hjá Linxdatacenter. Í greininni í dag munum við tala um umferðarskiptipunkta (Internet Exchange Points, IXP): hvað var á undan útliti þeirra, hvaða verkefni þeir leysa og hvernig þeir eru byggðir. Einnig í þessari grein mun ég sýna fram á meginregluna um notkun IXP með því að nota EVE-NG pallinn og BIRD hugbúnaðarleiðina, svo að þú hafir skilning á því hvernig það virkar „undir hettunni“.

Smá saga

Ef þú horfir hér, þá geturðu séð að ör vöxtur í fjölda umferðarskiptastaða hófst árið 1993. Þetta stafar af því að megnið af umferð fjarskiptafyrirtækjanna sem þá var til fór um bandaríska stofnnetið. Svo, til dæmis, þegar umferð fór frá rekstraraðila í Frakklandi til rekstraraðila í Þýskalandi, fór hún fyrst frá Frakklandi til Bandaríkjanna, og aðeins síðan frá Bandaríkjunum til Þýskalands. Grunnnetið í þessu tilviki virkaði sem flutningur milli Frakklands og Þýskalands. Jafnvel umferð innan eins lands fór oft ekki beint, heldur í gegnum burðarnet bandarískra rekstraraðila.

Þessi staða mála hafði ekki aðeins áhrif á kostnað við að afhenda flutningaumferð, heldur einnig gæði rása og tafir. Netnotendum fjölgaði, nýir símafyrirtæki komu fram, umferðarmagn jókst og internetið þroskaðist. Rekstraraðilar um allan heim fóru að átta sig á því að skynsamlegri nálgun við að skipuleggja samskipti milli rekstraraðila var þörf. „Af hverju ætti ég, rekstraraðili A, að greiða fyrir flutning í gegnum annað land til að koma umferð til rekstraraðila B, sem er staðsettur í næstu götu? Þetta er nokkurn veginn spurningin sem fjarskiptafyrirtæki spurðu sig á þeim tíma. Þannig fóru umferðarskiptapunktar að birtast í mismunandi heimshlutum á samþjöppunarstöðum rekstraraðila:

  • 1994 - LINX í London,
  • 1995 - DE-CIX í Frankfurt,
  • 1995 – MSK-IX, í Moskvu o.fl.

Internetið og dagarnir okkar

Hugmyndalega samanstendur arkitektúr nútíma internets af mörgum sjálfstæðum kerfum (AS) og mörgum tengingum þeirra á milli, bæði líkamleg og rökræn, sem ákvarða leið umferðar frá einu AS til annars.

AS eru venjulega fjarskiptafyrirtæki, netveitur, CDN, gagnaver og fyrirtækjahlutafyrirtæki. ASes skipuleggja rökréttar tengingar (peering) sín á milli, venjulega með því að nota BGP samskiptareglur.

Hvernig sjálfstæð kerfi skipuleggja þessar tengingar ræðst af nokkrum þáttum:

  • landfræðilegt,
  • efnahagslegt,
  • pólitískt,
  • samningum og sameiginlegum hagsmunum eigenda AS,
  • o.fl.

Auðvitað hefur þetta kerfi ákveðna uppbyggingu og stigveldi. Þannig er rekstraraðilum skipt í tier-1, tier-2 og tier-3, og ef viðskiptavinir staðbundinnar netveitu (tier-3) eru að jafnaði venjulegir notendur, þá til dæmis fyrir tier-1 rekstraraðilar á stigi, viðskiptavinirnir eru aðrir rekstraraðilar. Tier-3 rekstraraðilar leggja saman umferð áskrifenda sinna, Tier-2 fjarskiptafyrirtæki, aftur á móti, safna saman umferð Tier-3 rekstraraðila, og Tier-1 – alla netumferð.

Skipulega má tákna það svona:

Umferðarskiptastaður: frá uppruna til að búa til þinn eigin IX
Þessi mynd sýnir að umferð er samanlögð frá botni og upp, þ.e. frá endanotendum til tier-1 rekstraraðila. Það eru líka lárétt skipti á umferð milli AS sem eru nokkurn veginn jafngild hver öðrum.

Óaðskiljanlegur hluti og um leið ókostur þessa kerfis er ákveðinn ruglingur á tengingum milli sjálfstæðra kerfa sem staðsett eru nær endanlegum notanda, innan landfræðilegs svæðis. Skoðum myndina hér að neðan:

Umferðarskiptastaður: frá uppruna til að búa til þinn eigin IX

Gerum ráð fyrir að í stórri borg séu 5 fjarskiptafyrirtæki, sem skyggnast á milli sem af einni eða annarri ástæðu eru skipulagðir eins og sýnt er hér að ofan.

Ef notandinn Petya, tengdur Go ISP, vill fá aðgang að netþjóni sem er tengdur ASM þjónustuveitunni, þá mun umferðin á milli þeirra neyðast til að fara í gegnum 5 sjálfstæð kerfi. Þetta eykur seinkunina vegna þess fjöldi nettækja sem umferð mun fara í gegnum eykst, sem og magn flutningaumferðar í sjálfvirkum kerfum milli Go og ASM.

Hvernig á að fækka flutningum sem umferð neyðist til að fara í gegnum? Það er rétt - umferðarskiptapunktur.

Í dag er tilkoma nýrra IXPs knúin áfram af sömu þörfum og í upphafi 90-2000s, aðeins í smærri mælikvarða, til að bregðast við auknum fjölda fjarskiptafyrirtækja, notenda og umferðar, vaxandi magns efnis sem myndast af CDN netum og gagnaver.

Hvað er skiptipunktur?

Umferðarskiptastaður er staður með sérstökum netinnviðum þar sem þátttakendur sem hafa áhuga á gagnkvæmum umferðarskiptum skipuleggja gagnkvæma skynjun. Helstu þátttakendur umferðarskiptastaða: fjarskiptafyrirtæki, netveitur, efnisveitur og gagnaver. Á umferðarskiptastöðum tengjast þátttakendur beint hver við annan. Þetta gerir þér kleift að leysa eftirfarandi vandamál:

  • draga úr leynd,
  • draga úr magni flutningaumferðar,
  • hagræða leið milli AS.

Miðað við að IXP eru til staðar í mörgum stórborgum um allan heim hefur þetta allt góð áhrif á internetið í heild sinni.

Ef ofangreind staða með Petya er leyst með IXP, mun það koma í ljós eitthvað á þessa leið:

Umferðarskiptastaður: frá uppruna til að búa til þinn eigin IX

Hvernig virkar umferðarskiptastaður?

Að jafnaði er IXP sérstakt AS með eigin blokk af opinberum IPv4/IPv6 vistföngum.

IXP netið samanstendur oftast af samfelldu L2 léni. Stundum er þetta einfaldlega VLAN sem hýsir alla IXP viðskiptavinina. Þegar kemur að stærri, landfræðilega dreifðum IXP, er hægt að nota tækni eins og MPLS, VXLAN o.s.frv. til að skipuleggja L2 lén.

IXP þættir

  • SKS. Það er ekkert óvenjulegt hér: rekki, sjón krosstengingar, plásturspjöld.
  • Rofar – grundvöllur IXP. Skiptahöfnin er inngangsstaðurinn í IXP netið. Rofarnir framkvæma einnig hluta af öryggisaðgerðum - þeir sía ruslumferð sem ætti ekki að vera til staðar á IXP netinu. Að jafnaði eru rofar valdir út frá virknikröfum - áreiðanleika, studdum tengihraða, öryggiseiginleikum, sFlow stuðningi osfrv.
  • Leiðarþjónn (RS) – óaðskiljanlegur og nauðsynlegur hluti hvers kyns nútíma umferðarskiptastaða. Meginreglan um notkun er mjög svipuð leiðarreflektornum í iBGP eða tilnefndum beini í OSPF og leysir sömu vandamálin. Eftir því sem þátttakendum í umferðaskiptapunkti fjölgar fjölgar þeim BGP fundum sem hver þátttakandi þarf að standa undir, þ.e. þetta minnir á klassíska full-mesh staðfræði í iBGP. RS leysir vandamálið á eftirfarandi hátt: það stofnar BGP lotu með hverjum áhugasömum IXP þátttakanda og sá þátttakandi verður RS viðskiptavinur. Með því að fá BGP uppfærslu frá einum af viðskiptavinum sínum, sendir RS þessa uppfærslu til allra annarra viðskiptavina, að sjálfsögðu, að undanskildum þeim sem þessi uppfærsla var móttekin frá. Þannig útilokar RS þörfina á að koma á fullu möskva milli allra IXP meðlima og leysir sveigjanleika vandamálið á glæsilegan hátt. Það er athyglisvert að leiðarþjónninn sendir leiðir á gagnsæjan hátt frá einu AS til annars án þess að gera breytingar á eiginleikum sem sendar eru af BGP, til dæmis bætir hann ekki númerinu í AS sínum við AS-leiðina. Einnig á RS er grunnsíun á leiðum: til dæmis samþykkir RS ekki net Marsbúa og forskeyti IXP sjálfs.

    Opinn hugbúnaðarbeini, BIRD (bird internet routing daemon), er oft notaður sem leiðarþjónslausn. Það góða við það er að það er ókeypis, dreifist hratt á flestum Linux dreifingum, hefur sveigjanlegt kerfi til að setja upp leiðar-/síustefnur og er ekki krefjandi fyrir tölvuauðlindir. Einnig er hægt að velja vélbúnað/sýndarbeini frá Cisco, Juniper o.fl. sem RS.

  • Öryggi. Þar sem IXP net er samþjöppun mikils fjölda ASe verður öryggisstefnan sem allir þátttakendur verða að fylgja að vera vel skrifuð. Almennt séð gilda hér allar sömu aðferðirnar sem eiga við þegar komið er á BGP-aðlægð milli tveggja aðskilda BGP jafningja utan IXP, auk nokkurra viðbótar öryggiseiginleika.

    Til dæmis er góð venja að leyfa umferð aðeins frá tilteknu mac vistfangi IXP þátttakandans, sem samið er um fyrirfram. Neita umferð með öðrum ethertype-reitum en 0x0800(IPv4), 0x08dd(IPv6), 0x0806(ARP); þetta er gert til að sía út umferð sem á ekki heima í BGP-peering. Einnig er hægt að nota kerfi eins og GTSM, RPKI, osfrv.

Kannski eru ofangreindir helstu þættir hvers IXP, óháð stærð. Auðvitað geta stærri IXPs verið með viðbótartækni og lausnir til staðar.
Það gerist að IXP veitir þátttakendum sínum einnig viðbótarþjónustu:

  • settur á IXP TLD DNS netþjóninn,
  • setja upp vélbúnaðar NTP netþjóna, sem gerir þátttakendum kleift að samstilla tíma nákvæmlega,
  • veita vörn gegn DDoS árásum osfrv.

Meginreglan um rekstur

Við skulum skoða meginregluna um rekstur umferðarskiptapunkts með því að nota dæmið um einfaldan IXP, mótað með EVE-NG, og íhuga síðan grunnuppsetningu BIRD hugbúnaðarbeins. Til að einfalda skýringarmyndina munum við sleppa svo mikilvægum hlutum eins og offramboði og bilanaþoli.

Staðfræði netkerfisins er sýnd á myndinni hér að neðan.

Umferðarskiptastaður: frá uppruna til að búa til þinn eigin IX

Gerum ráð fyrir að við sjáum um lítinn skiptipunkt og bjóðum upp á eftirfarandi jafningarmöguleika:

  • almenningur,
  • einkaskyggni,
  • skygging í gegnum leiðarþjón.

AS númerið okkar er 555, við eigum blokk af IPv4 vistföngum – 50.50.50.0/24, þaðan gefum við út IP tölur fyrir þá sem vilja tengjast netinu okkar.

50.50.50.254 – IP vistfang stillt á leiðarmiðlaraviðmótinu, með þessu munu IP viðskiptavinir koma á BGP lotu ef peering í gegnum RS.

Einnig höfum við þróað einfalda leiðarstefnu sem byggir á BGP samfélaginu til að rýna í gegnum RS, sem gerir IXP þátttakendum kleift að stjórna til hvers og hvaða leiðum á að senda:

BGP samfélag
Lýsing

LOCAL_AS:PEER_AS
Sendu forskeyti aðeins til PEER_AS

LOCAL_AS:IXP_AS
Flyttu forskeyti á alla IXP þátttakendur

3 viðskiptavinir vilja tengjast IXP okkar og skiptast á umferð; Segjum að þetta séu netveitur. Þeir vilja allir skipuleggja peering í gegnum leiðarþjón. Hér að neðan er skýringarmynd með breytum viðskiptavinatengingar:

Viðskiptavinur
AS-númer viðskiptavinar
Viðskiptavinur auglýsti forskeyti
IP-tala gefin út til viðskiptavinarins til að tengjast IXP

ISP #1
AS100
1.1.0.0/16
50.50.50.10/24

ISP #2
AS200
2.2.0.0/16
50.50.50.20/24

ISP #3
AS300
3.3.0.0/16
50.50.50.30/24

Grunn BGP uppsetning á biðlarabeini:

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

Það er athyglisvert að nei bgp enforce-first-as stillingunni hér. Sjálfgefið er að BGP krefst þess að as-slóð móttekinnar BGP uppfærslu innihaldi sem bgp númer jafningjans sem uppfærslan var móttekin frá. En þar sem leiðarþjónninn gerir ekki breytingar á as-path verður númer hans ekki í as-path og uppfærslunni verður hent. Þessi stilling er notuð til að láta routerinn hunsa þessa reglu.

Við sjáum líka að viðskiptavinurinn hefur sett bgp community 555:555 á þetta forskeyti, sem samkvæmt stefnu okkar þýðir að viðskiptavinurinn vill auglýsa þetta forskeyti fyrir alla aðra þátttakendur.

Fyrir beina annarra viðskiptavina verða stillingarnar svipaðar, að undanskildum einstökum breytum þeirra.

Dæmi um BIRD uppsetningu:

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

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

Eftirfarandi lýsir síu sem tekur ekki við forskeytum Marsbúa, sem og forskeytum IXP sjálfs:

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

Þessi aðgerð útfærir leiðarstefnuna sem við lýstum áðan.

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;


}

Við stillum jafningja, beitum viðeigandi síum og stefnum.

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

Rétt er að taka fram að á leiðarþjóni er góð venja að setja leiðir frá mismunandi jafnöldrum í mismunandi RIB. BIRD gerir þér kleift að gera þetta. Í dæminu okkar, til einföldunar, er öllum uppfærslum sem berast frá öllum viðskiptavinum bætt við í eitt sameiginlegt RIB.

Svo, við skulum athuga hvað við fengum.

Á leiðarþjóninum sjáum við að BGP lota hefur verið komið á með öllum þremur viðskiptavinunum:

Umferðarskiptastaður: frá uppruna til að búa til þinn eigin IX

Við sjáum að við fáum forskeyti frá öllum viðskiptavinum:

Umferðarskiptastaður: frá uppruna til að búa til þinn eigin IX

Á as 100 routernum sjáum við að ef það er aðeins ein BGP lota með leiðarþjóninum, fáum við forskeyti frá bæði sem 200 og sem 300, á meðan BGP eiginleikarnir hafa ekki breyst, eins og að skygging á milli viðskiptavina hafi verið framkvæmd beint:

Umferðarskiptastaður: frá uppruna til að búa til þinn eigin IX

Þannig sjáum við að tilvist leiðarþjóns einfaldar mjög skipulagningu skynjunar á IXP.

Ég vona að þessi sýnikennsla hafi hjálpað þér að skilja betur hvernig IXPs virka og hvernig leiðarþjónninn virkar á IXP.

Linxdatacenter IX

Hjá Linxdatacenter smíðuðum við okkar eigin IXP byggt á bilunarþolnum innviði 2 rofa og 2 leiðarþjóna. IXP okkar er nú í prófunarham og við bjóðum öllum að tengjast Linxdatacenter IX og taka þátt í prófunum. Þegar þú ert tengdur færðu tengi með bandbreidd 1 Gbit/s, möguleika á að skyggnast í gegnum leiðaþjóna okkar, auk aðgangs að persónulegum reikningi þínum á IX gáttinni, sem er í boði á ix.linxdatacenter.com.

Skrifaðu í athugasemdir eða einkaskilaboð til að fá aðgang að prófunum.

Output

Umferðarskiptastaðir komu upp í dögun internetsins sem tæki til að leysa vandamálið um óhagkvæmt umferðarflæði milli fjarskiptafyrirtækja. Nú, með tilkomu nýrrar alþjóðlegrar þjónustu og aukins magns CDN umferðar, halda skiptipunktar áfram að hámarka rekstur alþjóðlega netsins. Fjölgun IXP í heiminum kemur bæði notendum þjónustunnar til góða og fjarskiptafyrirtækjum, efnisrekendum o.fl. Fyrir IXP þátttakendur kemur ávinningurinn fram í því að draga úr kostnaði við að skipuleggja ytri jafningja, draga úr umferð sem æðstu rekstraraðilar þurfa að borga fyrir, hagræða leið og getu til að hafa beint viðmót við efnisfyrirtæki.

gagnlegir krækjur

Heimild: www.habr.com

Bæta við athugasemd