The Internet Networking Systems: BGP Analysis; Routing Systems in Mobile, Ad-hoc Networks - Y. Richard Yang
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
The Internet Networking Systems: BGP Analysis; Routing Systems in Mobile, Ad-hoc Networks Y. Richard Yang http://zoo.cs.yale.edu/classes/cs434/ 04/14/2021
Admin q Projects update Ø Week 2 (Apr 9 - Apr 15): Reading on related work/systems; initial proposal • Office hours: Apr 13 (Tuesday) 1-2 pm; Apr 14 (Wed): 5:15-6:15 (after class); Apr 15 (Thu) 11-12, 5-6 pm o Week 3 (Apr 16 - Apr 22): Proposal iteration; reading more related work/systems o Week 4 (Apr 23 - Apr 29): Prototyping; Mid-point checkpoint; meet w/ the instructor o Week 5 (Apr 30 - May 6): Refinement; iterations o Week 6 (May 7 - May 13): Final implementation, final report (6-8 pages) 2
Recap: OSPF Scaling multiaccess networks q Data model o Introduce in the graph a network node representing each multi-access network, routers linking to/from networks q Synchronization o Each network elects a designed router (DR) and a backup designed router (BDR) o Routers synchronizes with the DR and the BDR only RT7: DR • Differentiate between neighboring relation (who can hear each other) and RT3: BDR adjacency relationship (who synchronizes with each other) 3
Recap: OSPF Scaling to Large Network q OSPF design: a Autonomous system (AS) summarize two-level design connecting o Divide network into areas areas • One area is called the backbone area o Area routers summarize networks between areas N1 N2 N3 Assume area 1 has 3 networks. 4
Recap: OSPF Scaling through Summary (Area->Backbone) From area 1 From area 2 From external From area 3: Assume RT11 summarize all nets as one number (max). 5
Recap: OSPF Scaling through Summary (Backbone->Area) AS boundary routes injected 6
Recap: OSPF Reliable State Synchronization q Hello packets o Neighbor discovery, leader election, adjacency formation q Database description (D-D) connection setup, transport o Master/slave protocol to discover data base differences q Link State Request q Link State Update q Link State Acknowledgement 7
Requirements and Solution of Current Global Internet Routing q Scalability: handle network size (#devices) much higher than typical LS can handle o Solution: Introduce one more level of abstraction (autonomous system) to reduce network (graph) size q Autonomy/privacy: allow each network to have individual preference of routing (full control of its internal routing, i.e., using different routing algorithms) o Solution: path vector based policy routing 8
Recap: BGP Routing Framework route 130 selection policy: Adj-RIB-In 10 rank paths select best routing cache path Loc-RIB export export path policy: Qwest to neighbors which AT&T Internet2 paths export to Adj-RIB-Out which Yale neighbors 9
AS D Recap: BGP Example d h E eac : D r h r e Ex p AS A c an pat ac or I y h (OSPF) 2: D; m ho t to > a d- s in st E st s i : i- o n D; >e: a2 h can reach pa I c a2->a1: I th an s t s in D ; path: D hosts h o :I a1->i: I can reach a1 No export AD in D; my path: AD F i to F (effect?) Route selection policy: AS C - Shortest AS Path policy: b- > i: i2 ts i ho Choose AD using a1 in I c -> n s D; an i: D; Loc-RIB for D: ? AS B my re I Impact on OSPF? pa ach ca pat (OSPF intra th h n h: : B ost routing) re B Export policy CD s ac CD i2 h controls ingress, i.e., who can use I b b->i2 :Ic in D; an reac my p h ath: hosts BCD 10 AS I 10
Linking OSPF and BGP BGP From area 1 From area 2 From external From area 3: Assume RT11 summarize all nets as one number (max). 11
Demo: BGP Looking Glass q Search Yale ASN o whois -h whois.arin.net "o yale university” o Check ref link • For ASN, search “autnum” • For network address blocks allocated to Yale, search “networks” q ASN number lookup, many web sites o https://mxtoolbox.com/asn.aspx q BGP looking glass server (http://www.bgp4.as/looking- glasses), o e.g., CERN (http://lg.cern.ch/) 12
Routing Table Size of BGP (number of globally advertised, aggregated entries) Active BGP Entries (http://bgp.potaroo.net/as1221/bgp-active.html) Internet Growth (http://www.caida.org/research/topology/as_core_network/historical.xml) 13
Features of BGP Routing Architecture Design q Scalability o Only a small # of routers (gateways) from each AS in the interdomain level o CIDR aggregation reduces amt data to be carried q Privacy o Interdomain routing carries only path vector, not internal network path q Autonomy o Autonomous systems have flexibility to choose their own intradomain routing protocols o Each network chooses interdomain path according to its own policy 14
Offline Exercise q Compare the designs between OSPF and BGP o Similarities o Differences q Good exercise o Integration and unification possibilities 15
Exercise q OSPF o Routers in the same area synchronize to derive the same database. o Do they have to use exactly the same algorithm when computing the paths? o Does a OSPF routing system always converge (despite area->backbone- >area iterations)? q BGP o Does BGP routing always converge? 16
Outline q Admin and recap q The Internet networking systems o Overview o OSPF: Intra-domain networking using distributed link state protocol o BGP-4: Inter-domain networking using decentralized path vector protocol • BGP protocol design • Decentralized networking guidance and analysis – Guidance: Decentralized networking as global aggregation of individual preferences 17
Decentralized Policy Routing Instability q A decentralized policy routing system can be considered as a system to aggregate individual preferences, but aggregation may not be always successful. The BAD GADGET example: preferred - 0 is the destination 210 - the route selection policy 2 of each AS is to prefer its 20 counter clock-wise neighbor 4 less preferred 0 130 320 1 3 30 10 3 Policy (preferences) aggregation fails: routing instability ! 18
General Framework of Preference Aggregation Guiding Protocol Design q Theory framework o Given individual preferences, define a framework (called constitution in social choice; protocol in network systems) to aggregate individual preferences: • A set of choices: a, b, c, … • A set of voters 1, 2, … – Each voter has a preference (ranking) of all choices, e.g., » voter 1: a > b > c » voter 2: a > c > b » voter 3: a > c > b • A well-specified aggregation rule (protocol) computes an aggregation of ranking, e.g., – Society (network): a > c > b 19
Example: Aggregation of Global Preference q Choices (for S->D route): o SAD, SBD, SABD, SBAD q Voters: o S, A, B, D q Each voter has a preference, e.g., o S: SAD > SBD > SABD > SBAD o A: SAD > SABD > SBD > SBAD o … A S D B 20
Global Aggregation Framework/Protocol q Axioms: o Transitivity • if a > b & b > c, then a > c o Unanimity: • If all participants prefer a over b (a > b) => a > b o Independence of irrelevant alternatives (IIA) • Global ranking of a and b depends only on the relative ranking of a and b among all participants q Result: o Arrow’s Theorem: Any constitution (protocol) that respects transitivity, unanimity and IIA must be a dictatorship. 21
Proofs of Arrow’s Theorem q There are quite a few proofs, and the six-page paper linked on the Schedule page gives three simple proofs. q Below, we give the key insight of the proof using approach 1. 22
The Extremal Lemma q Let choice b be chosen arbitrarily. Assume that every voter puts b at the very top or the very bottom of his ranking. Then constitution protocol must as well (even if half voters put b at the top and half at the bottom) q Proof: by contradiction. o Assume there exist a and c such that constitution protocol has a >= b; b >= c. o We can move c above a w/o changing a-b or b-c votes 23
Step 1: Existence of Pivotal Voter q Let choice b be chosen arbitrarily. There exists a voter n* = n(b) who is extremely pivotal for b in the sense that by changing his vote at some profile, he can move b from the very bottom to the very top in the global ranking. q Proof: o Consider an extreme profile where b is at the bottom of each voter. o Consider voter from 1 to n, and we move b from bottom to top one-by-one. o The first voter whose change causes b to move to the top is n* 24
Step 2: n*=n(b) is dictator of any pair ac not involving b q Proof b b . . . o Consider a from ac pair. We Profile . . . . . constitution: show that if a >n* c, then I . . . . . b bottom society has a > c . . b b b o Let profile before n* moves b b b b . . to top as profile I constitution : o Let profile after n* moves b Profile . . . . . b top to top as profile II II . . . . . o Construct profile III from II . . . b b by letting n* move a above b; 1 2 n* . N constitution : all others can arrange ac as b b a . . a > b since they want, but leave b in Profile . . b . . ab same as I extreme position III . . . . . b > c since . . c b b bc same as II 25
Step 3: n* is dictator for every pair ab q Consider c not equal to a or b q There exists n(c) who is a dictator of any pair not involving c, such as the pair ab, i.e., o For any profile, if a >n(c) > b, a > b for society q n(c) must be n* o Assume not. • Consider Profile I and Profile II. • Since n(c) is not n*, n(c) ranking of ab does not change in Profile I and Profile II. • When n* changes ab ranking between Profile I and Profile II, the global ranking of ab changes. • Contradiction. 26
Outline q Admin and recap q The Internet networking systems o Overview o OSPF: Intra-domain networking using distributed link state protocol o BGP-4: Inter-domain networking using decentralized path vector protocol • BGP protocol design • Decentralized networking guidance and analysis – Guidance: Decentralized networking as global aggregation of individual preferences – Analysis: BGP analysis using dependency analysis 27
BGP Policy Analysis as Dependency Analysis 210 q Observation: BGP decisions 2 20 have dependencies o The “closer” a node to the 0 destination, the more 130 1 3 320 10 30 “powerful” it may be q Note: this captures egress 1 3 0 2 1 0 3 2 0 routing (only on paths starting from itself) only 1 0 2 0 3 0 o BGP handling ingress is not well understood and a good project 28
Complete Dependency: P-Graph 210 q Complete dependency can be captured 20 by a structure called P-graph 2 q Nodes in P-graph are feasible paths q Edges represent dependency priority 0 (low to high) 130 3 320 10 1 30 o A directed edge from path N1P1 to P1 • intuition: to let N1 choose N1P1, P1 must be chosen and exported to N1 1 3 0 2 1 0 3 2 0 o A directed edge from a lower ranked path to a higher ranked path • intuition: the higher ranked path 1 0 2 0 3 0 should be considered first Any observation on the P-graph? 29
P-Graph and BGP Convergence q If the P-graph of the networks has no loop, then policy routing converges. q Example: suppose we swap the order of 30 and 320 210 20 Exercise: 2 1 3 0 2 1 0 3 0 What are 0 the final 130 3 30 1 0 2 0 3 2 0 paths? 10 1 320 q Exercise (general case): why BGP does converges despite asynchronous BGP protocol, if P-graph has no loop? 30
Outline q Admin and recap q The Internet networking systems o Overview o OSPF: Intra-domain networking using distributed link state protocol o BGP-4: Inter-domain networking using decentralized path vector protocol • BGP protocol design • Decentralized networking guidance and analysis – Guidance: Decentralized networking as global aggregation of individual preferences – Analysis: BGP analysis using dependency analysis – Economics and current Internet interdomain routing 31
Internet Economy: Two Types of Business Relationship Customer provider relationship Peer-to-peer relationship o a provider is an AS that connects o mutually agree to exchange the customer to the rest of the traffic between their Internet respective customers only o customer pays the provider for the o there is no payment transit service between peers o e.g., Yale is a customer of AT&T and QWEST peer peer provider provider customer provider to customer 32
Route Selection Policies and Economics q Route selection (ranking) policy: o the typical route selection policy is to prefer customers over peers/providers to reach a destination, i.e., Customer > pEer/Provider (why?) provider customer peer 33
Export Policies and Economics provider case 1: routes learned from customer customer Routes learned from a customer are sent to customer all other neighbors peer case 2: routes learned from provider case 3: routes learned from peer provider provider provider peer customer customer Routes learned from peer Routes learned from peer a provider are sent a peer are sent only only to customers to customers 34
Example: Typical Export -> No-Valley Routing P1 P2 A advertises path A advertises path to C, but not P2 to C, but not P1 A learns A paths to A advertises to C C, P1, P2 paths to P1 and P2 C IP traffic Suppose P1 and P2 are providers of A; A is a provider of C 35
Typical Export Policies Route Patterns q Assume a BGP path SABCD to destination AS D. Consider the business relationship between each pair: S A B C D q Three types of business relationships: o PC (provider-customer) o CP (customer-provider) o PP (peer-peer) 36
Typical Export Policies Route Patterns q Invariant 1 of valid BGP routes (with labels representing business relationship) P C P C P C ?P C Dest Reasoning: only route learned from customer is sent to provider; thus after a PC, it is always PC to the destination 37
Typical Export Policies Route Patterns q Invariant 2 of valid BGP routes (with labels representing business relationship) CP ? CP CP /PP ······ Dest Reasoning: routes learned from peer or provider are sent to only customers; thus all relationship before is CP. 38
Stability of BGP Policy Routing q Suppose 1. there is no loop formed by provider-customer relationship in the Internet 2. each AS uses typical route selection policy: C > E/P 3. each AS uses the typical export policies q Then decentralized BGP policy routing converges (i.e., is stable). 39
Case 1: A Link is PC Proof by contradiction. Assume a loop in P-graph. Consider a fixed link. in the loop AS 1 AS 2 AS 3 AS 4 PC PC PC 40
Case 2: Link is CP/PP AS 1 AS 2 AS 3 AS 4 CP CP CP/PP CP/PP CP/PP 41
Networking System Journey So Far q Routers in a network need to discover attached networks o Basic link-state broadcast q Basic link state is not scalable (multiaccess domain) o Introduce networks in graph model, elect designed router, neighboring -> adjacency q Basic link state is not scalable (large graph) o Divide into areas, with a backbone connecting areas; abstracting other areas q Basic link state transport is not reliable, persistent o State synchronization, reliable transport q Link state is not scalable in large, global setting; does not support decentralization/heterogenous/local decisions o Introduce one more abstraction level (autonomous system); link state routing -> policy path vector routing q Generic decentralization/local decision can be unstable o Internet economics provides the “invisible hand” (not a contribution of network system design) 42
Outline q Admin and recap q The Internet networking systems q Networking systems in Mobile, ad-hoc network (MANET) 43
Setting: MANET q Settings o Military scenarios o Sensor networks o Rescue operations q Challenges o Wireless links (limited bandwidth, broadcast links) • Exercise: a basic rule of link state broadcast is to send to all links except the incoming link. Is this possible in wireless? o Nodes are mobile, topology can be very dynamic 44
Two Types of MANET Protocols q Re-active RREQ RREQ protocols/systems o Establishes routes “on B RREQ demand” by flooding a query o Example AODV (RFC3561) RR RR EP EQ RR P EP Q EQ E R RR R RE R q Proactive RREP RREQ protocols/systems A o OLSRv1 o OLSRv2 45
Outline q Admin and recap q The Internet networking systems q Networking systems in Mobile, ad-hoc network (MANET) o OLSRv2 • Basic idea 46
OLSRv2 Basic Idea q Based on regular link state flooding protocol in wireless networks o each node forwards a packet once and only once (Exercise: assume n nodes, how many broadcast?) q OLSR basic idea: Multipoint Relaying (MPR) o Restricts the set of nodes retransmitting a packet from all nodes (in regular flooding) to a subset of all nodes called multipoint relaying (MPR) nodes n 47
OLSRv2 Basic Idea: Detail q Let N1(n) and N2(n) be the 1-hop, and 2-hop neighbors of node n q Select flooding MPR(n): a subset of N1(n) so that N1( MPR(n) ) covers N2(n) q After receiving a broadcast from n, only nodes in MPR(n) rebroadcast N1(n) N2(n) MPR(n) n 48
You can also read