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/2021Admin
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)
2Recap: 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)
3Recap: 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.
4Recap: 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).
5Recap: OSPF Scaling through
Summary (Backbone->Area)
AS boundary
routes injected
6Recap: 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
7Requirements 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
8Recap: 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
9AS 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
10Linking OSPF and BGP BGP
From area 1
From area 2
From external From area 3:
Assume RT11
summarize
all nets as one
number (max).
11Demo: 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/)
12Routing 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) 13Features 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
14Offline Exercise
q Compare the designs between OSPF and BGP
o Similarities
o Differences
q Good exercise
o Integration and unification possibilities
15Exercise
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?
16Outline
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
17Decentralized 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 !
18General 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
19Example: 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
20Global 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.
21Proofs 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.
22The 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
23Step 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*
24Step 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
25Step 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.
26Outline
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
27BGP 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
28Complete 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?
29P-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?
30Outline
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
31Internet 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 32Route 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
33Export 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
34Example: 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
35Typical 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)
36Typical 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
37Typical 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.
38Stability 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).
39Case 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
40Case 2: Link is CP/PP
AS 1 AS 2 AS 3 AS 4
CP
CP
CP/PP
CP/PP CP/PP
41Networking 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)
42Outline
q Admin and recap
q The Internet networking systems
q Networking systems in Mobile, ad-hoc network (MANET)
43Setting: 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
44Two 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
45Outline
q Admin and recap
q The Internet networking systems
q Networking systems in Mobile, ad-hoc network (MANET)
o OLSRv2
• Basic idea
46OLSRv2 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
47OLSRv2 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
48You can also read