Avaa/R: Avaa reititys moderni verkostot – Facebook Engineering

  • Olemme avoinna-hankinta Avaa/R, laajennettavissa verkon reititys-alustan, joka mahdollistaa nopean innovoinnin verkon toimintoja ja sovelluksia.
  • Open/R käytetään Facebook on selkäranka ja data center-verkoissa.
  • alusta tukee erilaisia verkkotopologioita (kuten WANs, data center kankaat, ja langaton silmää) sekä useita taustalla olevia laitteisto-ja ohjelmisto-järjestelmät (FBOSS, Arista EOS, Juniper JunOS -, Linux-reititys, jne.).,
  • Open/R tarjoaa alustan jakaa valtion verkon yli ja mahdollistaa uusia sovelluksia voidaan rakentaa sen päälle. Se tarjoaa myös pohjoiseen rajapinnat mahdollistavat integroinnin ulkoiset ohjaimet.
  • Open/R tukee ominaisuuksia, kuten automaattinen IP etuliite kohdentaminen, RTT-pohjainen kustannus mittareita, siro uudelleenkäynnistys, nopea lähentyminen, ja valuta/undrain toimintaa.,
  • Olemme tehneet yhteistyötä ulkoisten kumppaneiden ja toimijoiden tuki ja käyttää Auki/R, ja kutsumme enemmän toimijoiden, internet-Palveluntarjoajien, toimittajat, järjestelmäintegraattorit, ja tutkijat voivat hyödyntää Open/R alustana uusien verkon reititys ideoita ja sovelluksia.

Avoin hankinta Avaa/R

Kun yhä useammat ihmiset tulevat verkossa ja kuluttaa rikkaampi sisältö, monimutkaisuus verkostojen taustalla tiedonkulkua myös kasvaa., Vaikka perinteiset reititysprotokollat ovat toimineet hyvin viimeisten 30 vuoden aikana, voi olla haastavaa ja aikaa vievää työntää nopeasti laajennuksia tai kokonaan uusia protokollia verkkolaitteisiin. Reitityksen uudet edistysaskeleet edellyttävät usein olemassa olevan protokollan huolellista laajentamista tai uusien overlay-laajennusten suunnittelua. Lisäksi useimmat protokollat suunniteltiin alun perin rajoittuneiden laitteisto-ja ohjelmistoympäristöoletusten perusteella vuosikymmenten takaa. Edelleen tuottaa rikas, reaaliaikaista, ja erittäin mukaansatempaavaa käyttökokemuksia verkoissa, on tärkeää nopeuttaa innovaatioiden routing domain.,

tänään, olemme avoimen hankinnan Open / R, reititysalusta, joka mahdollistaa nopean innovoinnin verkkotoiminnoissa. Avaa/R oli alun perin rakennettu Terragraph langaton backhaul-verkon, mutta me nopeasti näki sen mahdollinen käyttö Facebook on selkäranka, jossa se tarjoaa enemmän tehokas ja tarkka valvonta maailmanlaajuinen kuituverkkoa. Nyt olemme jopa alkaa roll se ulos meidän datakeskuksen kankaat, käynnissä sisällä FBOSS ja meidän Open Compute Project verkkolaitteita, kuten Kiila 100., Open / R on yksi alusta, joka kattaa monenlaisia verkkoalueita ja malleja, ja pyrimme soveltamaan sitä entistä enemmän käyttötapauksissa.

Facebook on ottanut ohjelmisto-centric lähestymistapa tulevaisuuden verkko, ja viime vuosien aikana meillä on ollut jaamme opit verkossa yhteisön. Esimerkiksi, meillä on jaettu koodi Facebook on auki switching system (FBOSS); tietoja verkon suunnittelun, hallinnan ja seurannan välineitä, kuten Robotti, FCR, ja fbflow; ja malleja meidän älykäs liikenteen ohjaus-järjestelmien, kuten Ilmaista Selkäranka ja Reuna Kangas., Nyt julkaisemalla nykyaikaisen, helposti laajennettavan ja hyvin testatun Open / R-Alustan aiomme edelleen edistää huipputasoa verkostoitumisyhteisössä.

tässä hengessä olemme innoissamme voidessamme ilmoittaa, että olemme työskennelleet useiden ulkoisten kumppaneiden tuoda Avata/R -, tuotanto-sekä Facebook-verkoston ja ulkoisesti. Avaa/R nyt toimii Arista kytkentä alustat, integrointi avoimen lähdekoodin EOS SDK, sekä Kataja QFX ja PTX-reititys alustoilla käyttämällä gRPC-pohjainen Api., Wireless ISP-yhtiö WiLine Networks on työskennellyt tiedon kanssa avoimen/R: n käyttöönotossa kaupallisessa verkossaan. Kutsumme muut myyjät, operaattorit, Palveluntarjoajat, järjestelmäintegraattorit, ja tutkijat voivat hyödyntää Open/R alustana uusien routing domain ideoita tehdä seuraavan sukupolven verkkojen tehokkaampia, älykkäämpiä ja helpompi käyttää.

Sovellettavuus eri verkko-verkkotunnukset

– Meillä oli varsin iloinen huomatessani, että Avoin/R on joustava ja laajennettavissa riitä käsittelemään monia erilaisia verkkotekniikoita ja topologioita., Kaikki alkoi Terragraph, joka esitteli haaste perinteinen verkko-protokollia: tuhannet langattomat solmut kommunikoivat ulkona sää, lehdet ja muut esteet jatkuvasti häiritsee yhteydet. Suuri Kerros 2 mesh ei olisi yhtä tehokas ja joustava, kun taas perinteiset Layer 3-protokollia, on suunniteltu lähinnä perus-yhteydet ja tavoitettavuus, ovat huonosti sopii erittäin vaihteleva ja dynaaminen ulko-olosuhteissa., ”Control it all central” vaikutti helpolta suunnitteluratkaisulta, mutta epäkäytännölliseltä, kun otetaan huomioon taajuusalueen ulkopuolisen hallinnan puute ja langattoman verkon suuri koko. Näin ollen suunnittelimme Auki/R distributed verkostoitumisen alustan päälle Terragraph verkosto, joka voisi selviytymään sen laajamittainen ja nopea muuttaa, ja mahdollistaa nopea laajennettavuus.

Kun me alun perin jaettu, että olimme kehittää Avoin/R, useat jäsenet verkostoitumisen yhteisö otti oppia enemmän, erityisesti langattoman tilaa., Langattoman verkon suunnittelijat ovat kaikki edessään sama haaste: kuinka levittää tietoa taustalla verkko nopeasti ja riittävän usein ottaen huomioon, kuinka nopeasti langattomia verkkoja voi muuttaa. WiLine Verkostojen oli alkanut yrittää muokata olemassa olevia protokollia kuten perusta sen alusta, mutta kun edustajat oppivat Auki/R, he ja Tiedon mukana Facebook nähdä, jos Auki/R voisi vastata heidän tarpeisiinsa. Niiden erityisesti verkon suunnittelu oli joitakin uusia, mielenkiintoisia haasteita Avata/R, mutta yhdessä pystyimme jatkamaan Auki/R mukautumaan uusiin vaatimuksiin., Open / R on nyt osa niiden tuotantoverkostoa. Samansuuntaisesti, muut palveluntarjoajat ja seuraavan sukupolven, millimetri-aalto-verkkojen näki suora sovellettavuus Auki/R, ja olemme aloittaneet keskustelut jäsenten kanssa Telecom Infra-Hanke (TIP).

sisäisesti näimme, että Open / R voisi vastata joihinkin Facebook-runkoverkkoon liittyviin haasteisiin. Kun selkäranka on täysin eri domain metro wireless mesh (selkäranka on tuhansia kilometrejä kuitua, joka ulottuu mantereilla, rajat meret, ja ympyrä maailmaa), mistä verkostoitumisen näkökulmasta se kohtaa samanlaisia ongelmia., Uusi Express-Runkoverkkomme vaati liikenteen ja reitityksen valvontaa monilla eri reiteillä ja nopeaa reagointia epäonnistumisiin. Sen sijaan käyttää perinteistä routing protocol kuten ON-ON, päätimme esitellä Auki/R Express Selkäranka distributed control kone verkkoon, jossa se toimii yhdessä keskitetyn controller. Täällä, Auki/R tarjoaa liitettävyyden verkkoon, nopeita reaktioita verkon tapahtumia, ja ”distributed information bus” viedä uutta tietoa, ohjain ja agentit verkon solmut.,

– viime aikoina me käänsimme huomiota Facebook datakeskuksen kankaat — jälleen verkkotunnuksen hyvin erilainen Terragraph ja maailmantalouden selkäranka. Suunnittelu, kangas on erittäin yhtenäinen ja tiheästi verkotettu, jossa on monia mahdollisia polkuja ottaa huomioon ja hyödyntää. Facebook on jo vuosia käyttänyt näitä suurikokoisia kankaita pelkästään Border Gateway Protocol (BGP) – protokollalla. Vaikka BGP tuo vahvuutensa erityisesti politiikan täytäntöönpanon ja laajuuden osalta, näimme mahdollisuuksia parantaa ja yksinkertaistaa suunnittelua tekemällä avointa / R-ja BGP-yhteistyötä., Open / R tässä osassa verkkoa toimii päälle FBOSS ja oman OCP verkottumisen laitteisto, kuten Wedge 100.

Reititys moderni laitteisto-ja ohjelmisto-ympäristö

Monet perinteiset routing protocols oli suunniteltu aiemmin, joilla on vahva keskittyä optimoimalla laitteiston rajoitettu sulautettujen järjestelmien, kuten Suorittimia ja MUISTIA. Lisäksi pöytäkirjat on suunniteltu yhtä tarkoitusta varten rakennettu ratkaisuja ratkaista tietty ongelma reititys yhteydet, pikemminkin kuin joustava ohjelmisto alustan rakentaa uusia sovelluksia verkossa.,

nykyään suorittimen ja RAM-muistin rajoitukset eivät ole enää suuri pullonkaula, mutta samalla verkkojen tarvitsemat sovellusvaatimukset ja käyttötapaukset kehittyvät nopeasti. Nämä muutokset ovat siirtäneet painopistettä verkko insinöörit optimoida protokollia, rakentaa uusia sovelluksia nopeasti, mikä voi olla haastavaa tehdä päälle olemassa olevia protokollia. Auki/R alusta mahdollistaa nopean innovaatioita tarvitaan tukemaan moderneja verkko-malleja ja vähentää operatiivisia monimutkaisuus.

suunnittelimme Open / R: n toimimaan useilla laitteistoalustoilla., Kaikki laitteistosta ja järjestelmästä riippuvaiset kappaleet on abstrahoitu RPC-rajapintojen kautta (esimerkiksi reittiohjaus ja link/address discovery). Tämä on antanut meille mahdollisuuden ajaa saman Avaa/R täytäntöönpanon erilaisia laitteita, eri ASICs tai jopa eri CPU perheitä. Tämä joustavuus tarjoaa heterogeenisten verkkolaitteiden päälle tasalaatuisuuden, mikä helpottaa verkon hallintaa ja hallintaa.,

nopean iteroinnin suunnittelu teki välttämättömäksi ottaa mukaan vankat testausmenettelyt, jotka antavat luottamusta ja selkeyttä jokaiseen koodinmuutokseen ja uuteen ominaisuusjulkaisuun. Pyrimme saamaan 100 prosentin koodikattavuuden vahvistaaksemme kaikki koodilogiikan ja saalisvirheet mahdollisimman varhaisessa vaiheessa. Yksistään yksikkötestit eivät kuitenkaan selvästikään riitä. Jokainen muutos koodi, testaamme Auki/R on todellisen käyttäytymisen suuri emuloidun verkkotopologian tuhansia solmuja, käynnissä regressio testit ja kokeet koko joukko ominaisuuksia, jotka takaavat taaksepäin yhteensopivuus., Tätä varten rakensimme puitteet pyörittämään suuria virtuaalisia topologioita käyttäen kevyitä säiliöitä solmuina useiden fyysisten koneiden välillä. Me myös hankimme avoimesti tämän emulointikehyksen yhdessä Open / R-alustan kanssa.

Avoin/R-design päivitykset

Kuten olemme aiemmin kuvattu, Avoin/R hyödyntää olemassa olevia avoimen lähdekoodin codebases kaksi keskeistä tehtävää. Ensinnäkin, koodaus ja dekoodaus control plane Tietorakenteet tehdään käyttämällä säästäväisyyttä. Toiseksi verkon solmujen välisen tiedonvaihdon logiikka toteutetaan ZeroMQ: n avulla., Tämä design valinta auttoi meitä poistamaan paljon teknisiä yläpuolella ja kehittää Open/R nopeasti, keskittyä korkeamman tason ominaisuuksia, pikemminkin kuin matalan tason putkityöt. Lisäksi, käyttämällä olemassa olevaa teknologiaa antoi meille mahdollisuuden luoda työkaluja ja kirjastoja muilla kielillä kuin C++ vuorovaikutuksessa Auki/R. esimerkki on Lämpötila CLI työkalu, joka on kirjoitettu Python ja tarjoaa tapoja olla vuorovaikutuksessa eri Open/R-moduulit.

Open / R: n arkkitehtuuria kuvaavan alkutekstimme jälkeen on lisätty useita parannuksia ja uusia ominaisuuksia., Yksi merkittävä arkkitehtoninen parannus on Alustamoduulin käyttöönotto. Se abstracts out-järjestelmä-riippuvainen osat ja altistaa Api-syötteen matalan tason tietoa muiden moduulien tai ohjelman erityiset taustalla laitteisto. Vanilla Linux solmut ohjelmiston reititys, se tarjoaa oletuksena käsittelijät käsitellä Huolinta tietopohja (FIB) ohjelmointi ja käyttöliittymä state change ilmoitukset Open/R., Järjestelmiä, jotka pystyvät paketti huolinta suoraan laitteiston (esimerkiksi, meidän Terragraph solmut tai Ilmaista Runkoverkon reitittimet), moduuli toteuttaa FIB käsittelijät, jotka ovat vuorovaikutuksessa erityisiä laitteisto Sdk. Esimerkiksi Wedge 100-alustassamme FBOSS-agentti toteuttaa suoraan Open / R: n FIB-ohjelmointirajapinnan.

seuraavassa kaaviossa on yhteenveto Auki/R: n korkean tason arkkitehtuuri:

  • KV-STORE: toimii monistaa avain-arvo myymälä, joka mahdollistaa hajautetun viestinnän ja valtion replikointi.,
  • Kipinä: suorittaa naapurin löytö rajapintoja käyttämällä Link-Local Multicast ja raportoi naapuri toimintaa.
  • LinkMonitor: seuraa järjestelmärajapintoja alustan kautta, hallinnoi kipinä-istuntoja niillä ja mainostaa löytäneensä naapureita KV-kaupasta.
  • PrefixManager: suorittaa automaattisen etuliitteen suballocation varten ad hoc kokoonpano.
  • päätös: laskee reititystiedot KV-kaupan kautta opittujen topologisten tietojen perusteella.
  • FIB: toimii proxy ohjelmointi laskettu reittien kautta Alustan, ylläpitää huolinta valtion (laskettu reitit).,
  • Platform: toteuttaa route-ohjelmoinnin ja interface discovery-logiikan target-laitteistoalustalle.

Emulointi-ja CLI

Avaa/R testaus perustuu kyky nopeasti perustaa suuria virtuaalisia verkkoja ilman todellista laitteisto. Tämän helpottamiseksi olemme rakentaneet geneerinen emulation library — kevyt kääre yli systemd-nspawn — ja emulation työkalu, joka käynnistyy tuhansia Linux kontit ja muodostaa mesh tunneleita joukossa yhdellä komennolla., Paketin menetyksen, viiveen tai jitterin emuloimiseksi työkalu tukee erilaisten verkkoympäristöjen, kuten Wan-verkkojen tai langattomien verkkojen, luomista määrittämällä liikenteen hoitoaineita. Tämä on helppo testata Auki/R käyttäytymistä eri tilanteissa, ja auttaa ylösajamiseen kehittäjät uusi, jos haluat Avata/R, tarjoamalla turvallinen tapa kokeilla.

alustan mukana tulee Breeze CLI, komentorivin rajapintatyökalu, jolla verkkoinsinöörit voivat olla vuorovaikutuksessa avoimien / R-instanssien verkon kanssa., Sen avulla tarkastus käynnissä valtion tietoja, kuten adjacencies, solmut, etuliitteitä, reitit, laskurit, ja uusin lähentyminen tilastot, sekä suorittaa valvontaa toimintaa, kuten tyhjennys-ja undraining solmut, jossa mukautettuja mittareita, linkkejä, ja ilmoittaa ja peruuttaa etuliitteitä., Esimerkiksi, hyödyllinen ominaisuus on kyky suorittaa reaaliaikainen tarkastus alustan monistaa valtion tietokantaan (KV-KAUPPA), joiden avulla insinöörit tarkastaa mitään toimintaa koko verkon (solmut tulossa, adjacencies revittiin alas, tai metriset arvot muuttuvat) vain kytkemällä yhden solmun.

Avoin/R ja keskitetty ohjaus

hajautettu näkökulma on tärkeää, että verkon luotettavuus. Silti älykkäät päätökset tehdään optimaalisesti, kun ne puretaan keskitettyyn ohjaimeen, esimerkiksi liikenneteknisiin tarkoituksiin., Sitä varten Avata/R tarjoaa Api mahdollistaa kauko-agentit oppia linkki valtion tai tilata tietokannan päivitykset, kuten ilmoitukset linkin kapasiteetin muutosta. Tällä voitaisiin esimerkiksi laskea merkkikytkettyjä polkuja ja ohjelmoida ne verkkoon keskeiseltä paikalta. Tämä toiminnallisuus mahdollistaa yhdistelmä ”paikallinen” (in-network) tapahtuma-käsittely keskitetty logiikka, koska olemme toteuttaneet menestyksekkäästi Nimenomaista Selkäranka hanke.,

Yhteenveto ominaisuuksia

Vaikka Avoin/R toteuttaa monia ominaisuuksia, samanlainen kuin löytyy perinteisiä protokollia, kuten ON-ON ja IÄ, se esittelee myös muutamia ainutlaatuisia ominaisuuksia omaa.

Tässä on nopea yhteenveto:

  • IPv6 ensimmäinen, hyödyntämällä IPv6 link-local-osoitteet saavuttaa nolla-touch kokoonpano. Erityistä verkkokonfiguraatiota ei tarvita.
  • tuki tarvittaessa alkuperäiselle IPv4-reititykselle.
  • Ad hoc-verkon etuliite jakamista ja IP-kokoonpano solmut verkon suurempi yhteenlaskettu etuliite.,
  • siro uudelleenkäynnistys, joka mahdollistaa live-ohjelmistopäivitykset häiritsemättä liikenteen välitystä.
  • tuki solmujen ja linkkien tyhjennykseen ja raivaukseen.
  • Dynamic link RTT metrics computed and siloted out from active probes.
  • kyky asettaa mukautettuja metrisiä arvoja, staattisesti tai dynaamisesti.
  • Nopea verkko lähentymistä smart takaisin-off-ajastimet linkin tai solmun epäonnistumisia.
  • Jatkuva terveyden tarkkailun verkon kautta live tavoitettavuus hyvää.
  • API integrointiin keskitetyillä ohjaimilla.,
  • Python-kirjasto vuorovaikutuksessa kaikkien tärkeimpien avoimien / R-prosessien kanssa.
  • kyky laajentaa alustan levittää kaikenlaisia muita tietoja, ja jopa ottaa käyttöön parannuksia tai muutoksia polun laskennan logiikkaa.

Johtopäätös

Vaikka perinteiset reititys protokollia on ollut merkittävää edistystä teknologian viime vuosikymmeninä, olemme tulleet pisteeseen, jossa verkostot täytyy kehittyä jopa nopeammin., Avaa/R on avoin alusta, jonka avulla on helppo nopeasti testata ja ottaa käyttöön uusia ideoita mittakaavassa, jolloin verkostojen tehokkaampi, nopeampi ottaa käyttöön, ja helpompi hallita.

suosittelemme, verkko-operaattorit, tutkijat, toimittajat, insinöörit, ja yleinen verkostoituminen yhteisön käyttää Auki/R toteuttamaan ideoitaan ja rakentaa moderni verkostoja, jotka ovat enemmän auki ja voi kehittyä nopeammin kuin koskaan.

Ja lopuksi, valtava kiitos menee monta joukkuetta, jotka työskennellyt core development group saadakseen Auki/R tämä tärkeä virstanpylväs., Tämä sisältää Terragraph joukkue, Ilmaista Selkäranka joukkue, Data Center Network Engineering, FBOSS joukkue, Facebook Infrastruktuurin Kumppanuuksia joukkue, ja meidän ulkoisten kumppanien kanssa.

Share

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *