Introduction to Internet Routing
Download
Report
Transcript Introduction to Internet Routing
Introduction to BGP
Lixin Gao
ECE Dept.
UMASS, Amherst
7/16/2015
ECE697F: Special Topics-Internet Routing
1
Border Gateway Protocol (BGP)
Dynamic Inter-AS Routing Protocol
Goals:
Exchange reachability information between ASes
Apply
local policies for
selecting route
receiving and announcing route
ECE697F: Special Topics-Internet Routing
2
BGP Sessions
Used for Exchange Reachability Information
iBGP : fully meshed, might not directly connected,
Alternative to fully meshed: confederation, route reflector
eBGP
eBGP
iBGP
AS701
AS7018
AS1
ECE697F: Special Topics-Internet Routing
3
Route Information Exchange
Route Announcement
Local Policies
1.2.0.0/16 (1)
1.2.0.0/16 (7018,1)
eBGP
iBGP
AS701
1.2.0.0/16 (1)
1.2.0.0/16 (1)
1.2.0.0/16 (7018,1)
1.2.0.0/16 (7018,1)
1.2.0.0/16 ( )
AS7018
1.2.0.0/16 (1)
AS1
1.2.0.0/16 (1)
1.2.0.0/16
ECE697F: Special Topics-Internet Routing
4
Route Announcement
Network Prefix: 12.0.0.0/8
Attributes: for reaching network prefix
AS path
Next hop : next hop IP addr
Local Preference
Multiple Exit Discriminator (MED)
Community Set
Origin code
Atomic Aggregate
Aggregator
ECE697F: Special Topics-Internet Routing
…..
5
AS Path
Sequence of ASes traversed
Loop avoidance
Path selection: Path Length
Policy: AS7018 in AS path is more preferred
ECE697F: Special Topics-Internet Routing
6
Next Hop
Next hop IP address to reach network prefix
EBGP: next hop IP addr of announcer
iBGP
From same AS:IP address of announcer
From diff AS: next hop unchanged
AS7018
AS1
2.3.4.1
3.4.5.2
1.2.0.0/16 (1) 2.3.4.1
1.2.0.0/16 (1) 2.3.4.1
1.2.0.0/16
1.2.0.0/16 ( ) 3.4.5.2
ECE697F: Special Topics-Internet Routing
7
Next hop
Determine next hop in forwarding table
Combing Inter-AS and Intra-AS routing table
Recursive route lookup
BGP abstract topology in AS level
ECE697F: Special Topics-Internet Routing
8
Local Preference
Local to AS
carry in iBGP session but not eBGP session
Used to influence path selection
Select the highest Local Pref path
eBGP
iBGP
AS701
1.2.0.0/16 (1) 100
1.2.0.0/16 (1) 100
1.2.0.0/16 (7018,1) 200
1.2.0.0/16 (7018,1) 200
1.2.0.0/16 ( ) 300
AS7018
1.2.0.0/16 (1) 90
AS1
1.2.0.0/16 (1) 90
1.2.0.0/16
ECE697F: Special Topics-Internet Routing
9
Multiple Exit Discriminator (MED)
Used for path selection
select an entry point among several to an AS
(smaller MED is preferred)
meaningful among paths from the same AS
may use Intra-AS routing cost metrics
AS701
Non-transitive
1.2.0.0/16 (1) 200
1.2.0.0/16 (1) 100
AS1
1.2.0.0/16
ECE697F: Special Topics-Internet Routing
10
Community Set
Used for grouping destination
Simplify policy setting
AS701
1.2.0.0/16 (1) 1000
1.2.0.0/16 (1) 1000
3.0.0.0/18 (7018) 1000
3.0.0.0/16 (7018) 1000
3.0.0.0/8
AS7018
AS1
1.2.0.0/16
ECE697F: Special Topics-Internet Routing
11
Origin Code
IGP
interior to the originating AS.
EGP
learned via EGP (Exterior Gateway Protocol)
Incomplete
unknown
ECE697F: Special Topics-Internet Routing
12
Atomic Aggregate
Aggregation that loses
information
ECE697F: Special Topics-Internet Routing
13
Aggregator
Optional
For route that is an aggregation
ECE697F: Special Topics-Internet Routing
14
Announcement Processing
Input Policy Engine
Receive from neigboring Ases new announcements
Attribute Manipulation and Filter announcement
Store announcements (Incremental protocol)
Path Selection among announcements
Output Policy Engine
Attribute Manipulation
Send to neighboring Ases new announcements
ECE697F: Special Topics-Internet Routing
15
Input Policy Engine
Set local preference
Filter routes with the same AS number (loop
avoidance)
Filter bogus routes
ECE697F: Special Topics-Internet Routing
16
Path Selection Process
For each prefix,
Prefer largest Local Preference
Prefer route this router originates
Prefer shorter AS path
prefer the lowest origin code (IGP<EGP<INCOMPLETE).
Prefer path with lowest MED
Prefer route with lowest IP addr
ECE697F: Special Topics-Internet Routing
17
Output Policy Engine
Send to neighbors only the best path
Send to neighbors only the best path changes
Set MED
Set Community set
Set Atomic Aggregate
Set next hop
Append AS number
ECE697F: Special Topics-Internet Routing
18
Routing Information Storage
Adj-RIBs-In
routes received
Input to route selection
Loc-RIB
Routes selected by selection process
Output of route selection
Adj-RIBs-Out
announcements to neighbor
Output of Output Policy Engine
ECE697F: Special Topics-Internet Routing
19
BGP Session Implementation
OPEN message
establish TCP session
KEEPALIVE message
keep session going
Update message
announcement or withdrawal
Notification message
error in announcement
ECE697F: Special Topics-Internet Routing
20