The Intenet Ecosystem and Evolution
Contents Netwok outing: basics distibuted/centalized, static/dynamic, linkstate/path-vecto inta-domain/inte-domain outing Mapping the sevice model to AS-AS paths valley-fee outing: feasible/fobidden paths, computing valley-fee paths pefe-custome policy, shotest AS-path, policy outing
Routing: Basics
Routing vesus fowading The concepts of outing and fowading ae often confused Fowading: passing each eceived packet to the next-hop IP addess, by longest-pefix-matching the packet's destination addess in the FIB (Fowading Infomation Base) Fowading needs a coect FIB to be in-place Routing: setting up/maintaining/updating the FIB based on topology infomation collected fom the netwok Responsibility of dedicated outing potocols
Static vesus dynamic Static outing: configued manually by the opeato (via the CLI) aely used simple, abitay outing can be configued does not scale and does not adapt to topology changes (in case of a link/node failue) Dynamic outing: FIB maintained by a dedicated outing potocol widely used adaptive and scalable but the paths ae fixed by the outing potocol's policy (e.g., pe-destination shotest path)
Centalized vs distibuted Centalized outing: dedicated oute seve, PCE, SDN contolle, sets all FIBs FIB FIB Distibuted outing: outes exchange topology desciptos and set up FIB individually FIB computation FIB topology info FIB FIB computation
Link-state vs path-vecto Link-state: outes maintain a distibuted linkstate database that descibes the entie gaph of the netwok They compute shotest paths and set FIB enties based on the fist hop along the paths Path-vecto: outes distibute available paths between each othe Each oute can pick a path it consides best accoding to its autonomous local policy Pemits highly flexible policy outing Distance-vecto: obsolete (RIP)
Taxonomy of outing schemes Routing Static Dynamic Centalized Distibuted Link-state Path-vecto
Inside and between ASes Thee ae diffeent outing potocols deployed at diffeent levels of the Intenet Inta-domain outing: outing between hosts/ outes inside an AS Inteio-Gateway Potocol (IGP) typically homogeneous outing policy (e.g., shotest path) acoss the AS: link-state Inte-domain outing: outing between ASes Exteio Gateway Potocol (EGP) heteogeneous outing policies: path-vecto
A Big Fou Link-state Vecto IGP OSPF, IS-IS RIP EGP BGP OSPF: Open-Shotest Path Fist IS-IS: Intemediate-System-to-Intemediate-System RIP: Routing Infomation Potocol BGP: Bode Gateway Potocol
IGP/EGP coopeation Routes un multiple outing potocols side-byside, e.g., an EGP and an IGP each potocol maintains its own RIB oute distills a FIB fom these RIBs AS 2 EGP AS 3 EGP EGP IGP EGP RIB RIB IGP FIB manage FIB
IGP/EGP coopeation R1 can each pefix 10.1.1.0/24 in two ways via (towads R4) o via (to R2 and then though R5) Exteio outes must be distibuted inside an AS as well: ibgp (Intenal BGP) To distinguish, inte- AS BGP is called Extenal BGP: ebgp R1 OSPF ebgp R3 R4 ibgp AS 1 ebgp OSPF R2 R5 ebgp AS 2 10.1.1.0/24 AS3
IGP/EGP collaboation Each outing potocol has its own RIB: all outing infomation known by the potocol (pefixes, available paths/next-hops to these pefixes, the best path/next-hop fom these, etc.) Each oute uns a FIB manage, esponsible fo assembling the FIB fom the individual RIBs Opeatos associate weights to each potocol If a pefix occus in moe than one RIB, the smallest weighted outing potocol's best path is pefeed local < static < OSPF < ebgp < ibgp Local outes ae always pefeed ebgp < ibgp means that the path though a neighboing AS is pefeed ove a path eceived fom a oute within the same AS: hot-potato outing (late) Weights can be econfigued abitaily
Mapping AS-AS business elationships to AS-level paths
Inte-domain outing Routing policy: a mechanism to epesent an ISP's AS-level business stategies in the fowading paths povisioned by the ISP Need a sophisticated outing potocol to be able to abitaily map business inteests to paths (flexible policy outing) BGP How to encode these AS-level business inteest into the fowading paths?
Tansit vs pee Recall: two ASes typically establish a tansit o a peeing elationship between one anothe tansit: global Intenet access fo a monthly fee pee: fee taffic exchange between two ASes and between any of thei customes We focus on these two specific cases fo now How does outes induced by the tansit and, espectively, the pee elationships look like?
Feasible and pohibited paths The fowading paths set up by ASes eflect the business/policy inteests of ISPs Feasible path: a path between two ASes that align with the business inteests of intemediay ASes e.g., any tansit path fom a custome though a povide: economic incentive fo the povide to oute that taffic though its netwok Fobidden path: a fowading path though an AS that goes against the economic incentives of the AS e.g., between two tansit povides though a common custome's netwok the custome was not contacted to oute such taffic economic incentive to block this taffic
Tansit: feasible/fobidden paths Feasible path: fom the custome though any povide towads any emote AS (including the povides themselves and all thei customes and pees): Custome AS Povide, Custome AS Remote AS, etc. Fobidden path: between povides via the custome AS: Povide Custome AS Povide Povide Remote AS Custome AS Povide
Pee elationship: Feasible paths 1) Between pee ASes: AS6-AS7, AS7-AS8, 2) Between a custome and a pee: AS4-AS7,... custome's custome is also OK: -AS7 AS9 0 AS5 pee elationship AS6 pee elationship AS7 pee elationship AS8 AS4 AS3
Pee elationship: Feasible paths 3) Between customes of pee ASes: AS4-AS3 tansit is tansitive : -, -AS3 ae also OK AS9 0 AS5 pee elationship AS6 pee elationship AS7 pee elationship AS8 AS4 AS3
Pee elationship: Fobidden paths 1) ASes connected via two o moe pee-pee links: AS5-AS7, AS5-AS8 ( peeing is not tansitive ) 2) Between povide and a pee of an AS: AS9-AS7 AS9 0 AS5 pee elationship AS6 pee elationship AS7 pee elationship AS8 AS4 AS3
Pee elationship: Fobidden paths 3) Between an AS's povide and its pee's povide (AS9-0), as this would be a tansit sevice fo which tansit fees could be chaged AS9 0 AS5 pee elationship AS6 pee elationship AS7 pee elationship AS8 AS4 AS3
Valley-fee outing Routing by these citeia: valley-fee outing Backgound: paths confoming to the tansitpee elationships neve contain valleys in the tansit hieachy AS3 AS4 AS5 AS6 AS7 AS8
Valley-fee outing: Rules Definition: a path is valley-fee, if it contains fist, zeo o moe custome povide links then zeo o one pee pee link and finally zeo o moe povide custome links AS3 AS5 AS6 AS8
Valley-fee outing: Repesentation How to check the valley-fee popety? We use a simple labeled diected gaph-model The nodes of the gaph ae ASes and the acs/ links ae as follows: tansit link in the custome povide diection: diected ac maked with label p (povide) tansit link in the povide custome diection: diected ac maked by label c (custome) pee link in any diection: diected ac with label (pee)
Valley-fee outing: Repesentation = pee link = AS3 AS4 AS5 AS3 AS4 AS5 p c AS6 AS7 AS8 AS6 AS7 AS8
Valley-fee outing: Calculation A gaph epesentation can be eadily used to decide whethe an AS-level path is valley-fee Is the below path feasible in valley-fee outing? AS3 AS4 AS5 AS6 AS7 AS8
Valley-fee outing: Calculation 1) Obtain the diected gaph epesentation AS3 AS4 AS5 p c AS6 AS7 AS8 Note the consecutive labels of the acs along the diected path: p, p, c,, c
Valley-fee outing: Calculation Theoem: a path is fobidden if and only if it contains a two-hop, c, p, o subpath Coollay: a path is valley-fee, if and only it the labels match the below egula expession: p*?c* Regula expession: a context-fee gamma to decide whethe some input coesponds to a cetain patten *: zeo/moe occuences of the peceding label?: zeo o one occuence of the peceding label
Valley-fee outing: Example 2) Check if labels match the egexp: p*?c* AS3 AS4 AS5 p c AS6 AS7 AS8 Label sting ppcc does not match the egexp: path is fobidden (thee is a c subpath)
Valley-fee outing: Example Is the below AS6 AS8 path valley-fee? AS3 AS4 AS5 AS6 AS7 AS8
Valley-fee outing: Example Reading out the path's labels fom the gaph epesentation: p, p, c, c Matches the egexp p*?c*: path is feasible AS3 AS4 AS5 p c AS6 AS7 AS8
Valley-fee outing: Example But the AS6 AS8 path is fobidden: p,,, c Contains an subpath AS3 AS4 AS5 AS6 AS7 AS8
Path pefeence Suppose that AS3 have thee valley-fee paths to a pefix in AS6: via the tansit povide anothe via the pee AS4 o diectly though the diect custome link to AS6 How to choose between these? AS3 AS5 AS4 AS6
Path pefeence If taffic is sent though the povide: tansit fee is chaged fo this taffic If the path via the pee AS is chosen: the taffic is most pobably fee of chage but if we oveload the pee link the symmetic taffic demand equiement might be violated in the peeing ageement the othe side might de-pee us If taffic is sent though the custome: it is guaanteed that no fees will be chaged
Pefe custome ule Typically, ISPs pefe paths via a custome (if available) Pefeence ode: 1. Path whose fist link is a povide custome link (fee of chage) 2. Path with a pee pee link as the fist link (pobably fee) 3. Path stating with a custome povide link (comes fo a fee!) AS3 AS5 AS4 AS6
Pefe custome ule In tems of the gaph model: path though the povide: pcc, fist link is labeled p the pee path: c, fist link: diect path: c Obsevation: the fist link along a valley-fee paths fixes its pefeence AS3 AS5 AS4 AS6
Pefe custome ule Denote with l(p) the label of the fist link along a path P: P p (povide path): l(p p ) = p P c (custome path): l(p c ) = c P (pee path): l(p ) = Theoem: the pefe custome ule equals the below elation: P c < P < P p Smalle weighted path pefeed AS3 AS5 AS4 AS6
Pefe custome ule In ou specific example: P c < (povide path) P < (pee path) P p (tansit path) Again, the smalle the bette AS3 AS4 p c p c AS5 AS6
Pefe custome ule The pefe custome ule does not always poduce optimal paths If thee is a longish sequence of custome links between and AS4 Fo smalle latency, it may be plausible to choose the tansit via instead and pay the tansit fee Soveeign decision of an opeato ISP policies can be eally complex! AS3 longish custome path AS4
Shotest AS path If thee ae multiple, equally pefeed valley-fee paths available to a pefix Hee, can choose fom a 2-AS-hop long and a vey long custome path It is plausible to pick the shote one: shotest AS path policy Ode of evaluation: take all valley-fee paths choose the most pefeed ones in line with the pefe-custome ule pick the shotest one fom the esultant paths longish custome path AS3