chapter 4 network layer computer networks summer 2007 distributed computing group dynamic powerpoint...
TRANSCRIPT
Chapter 4 NETWORK LAYER
Computer Networks
Summer 2007
DistributedComputing
Group
Dynamic
PowerPoint
Slides O
nly
Distributed Computing Group Computer Networks R. Wattenhofer 4/2
Remember: Count to Infinity Problem
ba c
c: 2 c: 1
c: 3
c: 4c: 5
c: 6c: 7
c: 8
Distributed Computing Group Computer Networks R. Wattenhofer 4/3
BGP does not count to infinity
Destination Dir Dst Path
Zurich c 4 cdeZ
ba c d e
Destination Dir Dst Path
Zurich b 5 bcdeZ
Zurich
Distributed Computing Group Computer Networks R. Wattenhofer 4/4
Destination Dir Dst Path
Zurich c 4 cdeZ
ba c d e
Destination Dir Dst Path
Zurich b 5 bcdeZ
Zurich
“withdraw Zurich”
BGP does not count to infinity
Distributed Computing Group Computer Networks R. Wattenhofer 4/5
BGP Basics Continued
Destination Dir Dst Path
Zurich c 4 cdeZ
ba c d e
Destination Dir Dst Path
Zurich b 5 bcdeZ
Zurich
“announce bcdeZ”
Distributed Computing Group Computer Networks R. Wattenhofer 4/6
BGP Basics Continued
Destination Dir Dst Path
Zurich c 4 cdeZ
Zurich f 3 feZ
ba c d e
Destination Dir Dst Path
Zurich b 4 bfeZ
Zurich
“announce bfeZ”f
activebackup
30s
Distributed Computing Group Computer Networks R. Wattenhofer 4/7
BGP Basics Continued
Destination Dir Dst Path
Zurich c 4 cdeZ
Zurich f 3 feZ
ba c d e
Destination Dir Dst Path
Zurich b 4 bfeZ
Zurich
“announce bcdeZ”f
activebackup
Distributed Computing Group Computer Networks R. Wattenhofer 4/8
BGP (Border Gateway Protocol)
• BGP is the Internet de-facto standard• Path Vector protocol
1) Receive BGP update (announce or withdrawal) from a neighbor.
2) Update routing table.
3) Does update affect active route? (Loop detection, policy, etc.) If yes, send update to all neighbors that are allowed by policy.
MinRouteAdver: At most 1 announce per neighbor per 30+jitter seconds.
Store the active routes of the neighbors.
Distributed Computing Group Computer Networks R. Wattenhofer 4/9
Internet Architecture
BGP
BGP
BGP
Destination Dir Dst Path
Zurich c 4 cdeZ
172.30.160/19 R1 4 1239 1 3561
• iBGP• Route flap dampening• Multipath• Soft configuration• …
Distributed Computing Group Computer Networks R. Wattenhofer 4/10
Internet inter-AS routing: BGP
• BGP messages exchanged using TCP.• BGP messages
– OPEN: opens TCP connection to peer and authenticates sender– UPDATE: advertises new path (or withdraws old)– KEEPALIVE keeps connection alive in absence of UPDATES;
also ACKs OPEN request– NOTIFICATION: reports errors in previous msg; also used to
close connection• Policy
– Even if two BGP routers are connected they may not announce all their routes or use all the routes of the other
– Example: if AS A does not want to route traffic of AS B, then A should simply not announce anything to B.
Distributed Computing Group Computer Networks R. Wattenhofer 4/11
Robustness of BGP
• We are interested in routes to destination d.• Nodes a,b,c all have the policy to prefer a 2-hop route through their
clockwise neighbor over a direct 1-hop route to destination d.
b c
d
a
Distributed Computing Group Computer Networks R. Wattenhofer 4/12
BGP Update Traffic (Mae-East)
0200,000400,000600,000800,000
1,000,0001,200,0001,400,0001,600,0001,800,0002,000,000
4/1
7/1
99
7
7/1
7/1
99
7
10
/17
/19
97
1/1
7/1
99
8
4/1
7/1
99
8
7/1
7/1
99
8
10
/17
/19
98
1/1
7/1
99
9
4/1
7/1
99
9
7/1
7/1
99
9
10
/17
/19
99
1/1
7/2
00
0
Announcements
Withdraws
Cisco bug “withdraw loop”
is fixed with IOS release.
Distributed Computing Group Computer Networks R. Wattenhofer 4/13
NSFNet Backbone
RegionalRegional Regional
Campus Campus Campus Campus
Hello/EGPHello/EGP
Internet Evolution: NSFNet (1995)
Distributed Computing Group Computer Networks R. Wattenhofer 4/14
AS1AS2
AS3AS4
AS8
AS5
AS7
AS6
BGP
Internet Evolution: Today
Distributed Computing Group Computer Networks R. Wattenhofer 4/15
Experimental Setup
• Analyzed secondary paths of 20x20 AS pairs:– Inject and monitor BGP faults.– Survey providers on policies.
Distributed Computing Group Computer Networks R. Wattenhofer 4/16
0
20
40
60
80
100
0 20 40 60 80 100 120 140 160
Seconds Until Convergence
Cum
ula
tive
Per
cent
age
New Link → New Route New Link → Better Route
Failure, Backup exists Failure, No Backup
180
BGP Convergence Times
Distributed Computing Group Computer Networks R. Wattenhofer 4/17
BGP Convergence Results
• If a link comes up, the convergence time is in the order of time to forward a message on the shortest path.
• If a link goes down, the convergence time is in the order of time to forward a message on the longest path.
Distributed Computing Group Computer Networks R. Wattenhofer 4/18
a
b c d e f
p
a:pe:ap
a:pd:ap
a:pc:ap
a:pb:ap
a:p
p:p
Intuition for Slow Convergence
Distributed Computing Group Computer Networks R. Wattenhofer 4/19
a
b c d e f
p
a:pe:ap
a:pd:ap
a:pc:ap
a:pb:ap
a:p
p:p
Os
Intuition for Slow Convergence
Distributed Computing Group Computer Networks R. Wattenhofer 4/20
a
b c d e f
p
a:pe:ap
a:pd:ap
a:pc:ap
a:pb:ap
a:p
p:p
W W W W W
Intuition for Slow Convergence
Distributed Computing Group Computer Networks R. Wattenhofer 4/21
d e
a:pc:ap
W
a
c
Intuition for Slow Convergence
Distributed Computing Group Computer Networks R. Wattenhofer 4/22
d e
a:pc:ap
dcap
a
c
Intuition for Slow Convergence
Distributed Computing Group Computer Networks R. Wattenhofer 4/23
a
b c d e f
p
a:pe:ap
a:pd:ap
a:pc:ap
a:pb:ap
a:p
p:p
O.1s
W dcap edapcbap
Intuition for Slow Convergence
Distributed Computing Group Computer Networks R. Wattenhofer 4/24
a
b c d e f
p
e:apd:apc:apb:ap-
-
O.2s
dcap edapcbapW
c:bap d:cap e:dap
Intuition for Slow Convergence
Distributed Computing Group Computer Networks R. Wattenhofer 4/25
a
b c d e f
p
e:dapd:capc:bap--
-
W dcbap edcap
30s!!!
Intuition for Slow Convergence
Distributed Computing Group Computer Networks R. Wattenhofer 4/26
a
b c d e f
p
e:dcapd:cbap---
-
W edcbap
60s
Intuition for Slow Convergence
Distributed Computing Group Computer Networks R. Wattenhofer 4/27
a
b c d e f
p
e:dcbap----
-
W
90s
Intuition for Slow Convergence
Distributed Computing Group Computer Networks R. Wattenhofer 4/28
a
b c d e f
p
Convergence in the time to forward a message on the longest path.
Intuition for Slow Convergence
Distributed Computing Group Computer Networks R. Wattenhofer 4/29
a
p
c
f h
g
d
e
i
b
j
The longest path…
Distributed Computing Group Computer Networks R. Wattenhofer 4/30
a
p
c
f h
g
d
e
i
b
j
… is NP-complete (APX)
Distributed Computing Group Computer Networks R. Wattenhofer 4/31
Time BGP Message/Event
10:40:30 2129 withdraws p
10:41:08 2117 announces 5696 2129 p
10:41:32 2117 announces 1 5696 2129 p
10:41:50 2117 announces 2041 3508 3508 4540 7037 1239 5696 2129 p
10:42:17 2117 announces 1 2041 3508 3508 4540 7037 1239 5696 2129 p
10:43:05 2117 announces 2041 3508 3508 4540 7037 1239 6113 5696 2129 p
10:43:35 2117 announces 1 2041 3508 3508 4540 7037 1239 6113 5696 2129 p
10:43:59 2117 withdraws p
Example of BGP Convergence
Distributed Computing Group Computer Networks R. Wattenhofer 4/32
a
b c d e f
p
edap
W
edcap
edcbap
W
Remember the Example
Distributed Computing Group Computer Networks R. Wattenhofer 4/33
What might help?
• Idea: Attach a “cause tag” to the withdrawal message identifying the failed link/node (for a given prefix).
• It can be shown that a cause tag reduces the convergence time to the shortest path
• Problems– Since BGP is widely deployed, it cannot be changed easily– ISP’s (AS’s) don’t like the world to know that it is their link that is
not stable, and cause tags do exactly that.– Race conditions make the cause tags protocol intricate
Distributed Computing Group Computer Networks R. Wattenhofer 4/34
a
b c d e f
p
a:pe:ap
a:pd:ap
a:pc:ap
a:pb:ap
a:p
p:p
Example with BGP-CT (Cause Tags)
Distributed Computing Group Computer Networks R. Wattenhofer 4/35
a
b c d e f
p
a:pe:ap
a:pd:ap
a:pc:ap
a:pb:ap
a:p
p:p
Os
Example with BGP-CT
Distributed Computing Group Computer Networks R. Wattenhofer 4/36
a
b c d e f
p
a:pe:ap
a:pd:ap
a:pc:ap
a:pb:ap
a:p
p:p
W(ap) W(ap) W(ap) W(ap) W(ap)
O.1s
Example with BGP-CT
Distributed Computing Group Computer Networks R. Wattenhofer 4/37
p
b c
x
e f
Convergence Time using Cause Tags
Distributed Computing Group Computer Networks R. Wattenhofer 4/38
p
b c
x
e f
Convergence Time using Cause Tags
Distributed Computing Group Computer Networks R. Wattenhofer 4/39
p
b c
x
e f
Convergence in the time to forward a message on the new shortest path (instead of the longest).
Convergence Time using Cause Tags