180 likes | 329 Views
Monipolkureititys IP verkoissa (Equal Cost Multipath Routing in IP networks). Diplomityöesitelmä Ari Lappeteläinen Työn valvoja: prof Raimo Kantola. Sisältö. Työn tavoitteet ECMP esittely Staattiset reitit Dynaamiset reitit Toteutus Testaus Tulokset Yhteenveto. Työn tavoitteet.
E N D
Monipolkureititys IP verkoissa(Equal Cost Multipath Routing in IP networks) Diplomityöesitelmä Ari Lappeteläinen Työn valvoja: prof Raimo Kantola
Sisältö • Työn tavoitteet • ECMP esittely • Staattiset reitit • Dynaamiset reitit • Toteutus • Testaus • Tulokset • Yhteenveto TELLABS CONFIDENTIAL PROPRIETARY
Työntavoitteet • Pääasiallinen tavoite: • ECMP:n toteutus Tellabsin 8600- sarjan reitittimiin • Muita tavoitteita(katso diplomityö) • Tutustuminen muihin verkon kuormanjakotapoihin ja verkon suojausmekanismeihin • Vertailua yksipolku, ECMP ja MPLS kuormanjakojen kesken.
ECMP (Equal Cost Multipath)esittely • Kaikki polut, joilla on sama kustannus määränpäähän ovat ECMP hyödynnettäviä
ECMP (Equal Cost Multipath)esittely • Staattiset reitit • reitit, joilla sama etäisyys (distance) configuroinnissa muodostavat ECMP ryhmän • Dynaamiset reitit • Reititysprotokollat, useimmiten OSPF ja IS-IS, käyttävät hyväkseen Djikstran algoritmia ja laskevat automaattisesti ECMP polut • Kertaus linkkitilaprotokollista: • Hello-protokolla löytää naapurit • Exhange-protokolla kopioi naapurien linkkitiedot • Flooding protocol levittää linkkien tilatiedot koko verkkoon • -> kaikilla reitittimillä sama tieto verkon topologiasta linkkitilatietokannassa (link-state database)
ECMP esittely • ECMP:n kaksi etua: • Auttaa liikennekuormien jakamisessa tasaisemmin eri puolille verkkoa=kuorman balansointi (load balancing) • Auttaa verkkoa elpymään nopeasti vioista (fast protection) • Jos yksi ECMP polku katkeaa esim linkkivian takia, katkennut liikenne voidaan siirtää alle 50ms:ssa lopuille ECMP poluille. • Tämän mahdollistaa nopea rautatason suojaus
ECMP muutoksetreitittimenarkkitehtuuriin • Tärkeimmät muutokset ohjelmistossa: • Djikstran algoritmia muutettava, jotta IS-IS ja OSPF protokollat löytävät kaikki ECMP polut määränpäähän. • Reitillä voi olla yhden nexthopin sijasta useita nexthoppeja • Vaikuttaa moneen osaan reitittimen perustoiminnasta • Lisää reitittimen ohjelmiston sisäistä liikennettä eri prosessien välillä • Muistinkulutus saattaa suurentua merkittävästikin • Muutokset RIB:n (Routing Information Base) toimintaan • Muutokset FIB:n (Forwarding Information Base) toimintaan • Alle 50 ms:n elpyminen liikennekatkoista vaatii nopean tavan ilmoittaa ECMP-polkujen muutokset ohjelmistosta raudalle
ECMP muutoksetreitittimenarkkitehtuuriin • Alimpien ohjelmistotasojen muutokset riippuvat enemmän laitteistoarkkitehtuurista • Kuorman balansointitaulu (load balancing table) merkittävin lisäys laitteistoläheisessä ohjelmistossa • Ohjaa kuorman balansointialgoritmia, joka vaikuttaa eniten ECMP:n laatuun
ECMP muutoksetreitittimenarkkitehtuuriin • Tärkein rautatason lisäys: • Kuormanbalansointi algoritmi (Load balancing algorithm) jakaa liikenteen usealle ECMP polulle • Useita tapoja toteuttaa, mutta useimmat algoritmit perustuvat hajautusalgoritmiin, jonka sisääntuloksi annetaan tietyt kentät IP headeristä, joita ovat mm. • Lähetysosoite (Source address =SA) • Määränpääosoite Destination Address = DA • Protokollakenttä ( esim. UDP, TCP..) • IPv6:n vuo leima (flow label) • Protokollan lähtöportti (Source port SP) • Protokollan sisääntuloportti (Destination Port = DP)
Kuormanbalansointialgoritmi • Esimerkki toteutuksesta: Hash-Threshold algoritmi • Pitää identifioidut liikennevuot tarkasti omilla poluillaan • Ei ole mahdollista tapahtua pakettien saapumista väärässä järjestyksessä. • Jos liikennevuoita uudelleenjärjestellään, paketit voivat saapua erijärjestyksessä määränpäähän, koska eri poluilla on eri viiveet
ECMP testaus • Yksinkertainen testisetup, jossa useita ECMP linkkejä • Kuorman balansointitestaus tehtiin muuttamalla liikennevoiden ja ECMP linkkien määrää ja maksimiliikenne ilman pakettihäviöitä mitattiin • Palautuminen vikatilanteista: • Yksi linkki katkaistiin ja kadonneiden pakettien lukumäärä mitattiin • Tätä kautta saadaan elpymisaika, kun liikenne constant bit rate • Testi vaatii kytkimen reitittimien väliin, jottei linkin katkoa tunnisteta jo fyysisellä tasolla
ECMP tulokset • Kuorman balansointi
Tulokset 2 • Liikennejakauma eri linkkien välillä
Tulokset 3 • Liikennejakauma eri linkkien välillä käyttäen IS-IS protokollia BFD:n kanssa eri parametreilla ja ilman • BFD(=Bidirectional Forwarding Detection) on yksinkertainen hello-protokolla nopeaa linkkien tilan detektointia varten
Johtopäätökset • Kuorma saadaan jakautumaan tasaisesti eri poluille, kunhan liikennevuoiden määrä on riittävän suuri, esim 10<, mikä toteutuu käytännössä lähes aina • Paras tulos saadaan, kun ECMP linkkejä on 2, 4, 8… • Elpyminen ECMP linkin viasta saadaan melko kivuttomasti alle 50ms:n
Yhteenveto • ECMP on melko yksinkertainen ratkaisu parantamaan yksipolkureititystä IP verkoissa ja se soveltuu useisiin eri tilanteisiin • Muutokset melko pieniä olemassaolevaan reititinarkkitehtuuriin • Kuormanbalansointialgoritmilla suurin merkitys toteutuksen laatuun • Lisääntynyt muistinkulutus lähinnä suurin ongelma reititinohjelmistossa