Diplomityöesitelmä Ari Lappeteläinen Työn valvoja: prof Raimo Kantola 4/7/2017 Monipolkureititys IP verkoissa (Equal Cost Multipath Routing in IP networks) Diplomityöesitelmä Ari Lappeteläinen Työn valvoja: prof Raimo Kantola
TELLABS CONFIDENTIAL PROPRIETARY Sisältö Työn tavoitteet ECMP esittely Staattiset reitit Dynaamiset reitit Toteutus Testaus Tulokset Yhteenveto TELLABS CONFIDENTIAL PROPRIETARY 4/7/2017
Työn tavoitteet 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. 4/7/2017
ECMP (Equal Cost Multipath) esittely Kaikki polut, joilla on sama kustannus määränpäähän ovat ECMP hyödynnettäviä 4/7/2017
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) 4/7/2017
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 4/7/2017
ECMP muutokset reitittimen arkkitehtuuriin 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 4/7/2017
ECMP muutokset reitittimen arkkitehtuuriin 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 4/7/2017
ECMP muutokset reitittimen arkkitehtuuriin 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) 4/7/2017
Kuorman balansointialgoritmi 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 4/7/2017
Reitittimen korkean tason arkkitehtuuri ECMP:n näkökulmasta 4/7/2017 4/7/2017
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 4/7/2017
ECMP tulokset Kuorman balansointi 4/7/2017
Tulokset 2 Liikennejakauma eri linkkien välillä 4/7/2017
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 4/7/2017
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 4/7/2017
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 4/7/2017
Kiitos!