Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Department of Computer and IT Engineering
University of Kurdistan
Computer Networks II
Border Gateway protocol (BGP)
By: Dr. Alireza Abdollahpouri
Internet structure: network of networks
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
local ISP local
ISP local ISP
local ISP
local ISP Tier 3
ISP
local ISP
local ISP
local ISP
2
Hierarchical Routing
� aggregate routers into
regions, “autonomous
systems” (AS)
� routers in same AS run
same routing protocol
� “intra-AS” routing
protocol
� routers in different
AS can run different
intra-AS routing
protocol
� special routers in AS
� run intra-AS routing protocol with all other routers in AS
� also responsible for routing to destinations outside AS
� run inter-AS routing protocol with other gateway routers
gateway routers
3
Internet’s Area Hierarchy
� What is an Autonomous System (AS)? � A set of routers under a single technical
administration, using Intra-AS routing protocols (e.g., RIP, OSPF) and common metrics to route packets within the AS and using an Inter-AS routing protocol to route packets to other AS’s
� Each AS assigned unique ID
4
Intra-AS and Inter-AS routing
Host2
C
A
B
Intra-AS routing within AS A ( RIP, OSPF, …)
Intra-AS routing within AS B ( RIP, OSPF, …) Host1
a b
a d
b c
a c
b
C.b
A.a
B.a
A.c
BGP
5
AS Categories
� Stub: an AS that has only a single connection to one other AS - carries only local traffic.
� Multi-homed: an AS that has connections to more than one AS, but does not carry transit traffic
� Transit: an AS that has connections to more than one AS, and carries both transit and local traffic (under certain policy restrictions)
6
AS Categories
AS1
AS3 AS2
AS1
AS2
AS3 AS1
AS2
Stub
Multi-homed
Transit
7
Internet inter-AS routing: BGP
� BGP (Border Gateway Protocol): the de facto standard
� BGP is a Path Vector protocol:
� similar to Distance Vector protocol
� each Border Gateway broadcast to neighbors (peers) entire path (i.e., sequence of AS’s) to destination
� BGP routes to networks (ASs), not individual hosts
� E.g., Gateway X may send its path to dest. Z:
� Path (X,Z) = X,Y1,Y2,Y3,…,Z
8
Internet inter-AS routing: BGP
Suppose: gateway X send its path to peer gateway W
� W may or may not select path offered by X
� cost, policy (don’t route via competitors AS), loop prevention reasons.
� If W selects path advertised by X, then:
Path (W,Z) = W, Path (X,Z)
� Note: X can control incoming traffic by controlling its
route advertisements to peers:
� e.g., don’t want to route traffic to Z -> don’t advertise any routes to Z
9
BGP: controlling who routes to you
� A,B,C are provider networks
� X,W,Y are customer (of provider networks)
� X is dual-homed: attached to two networks
� X does not want to route from B via X to C
� .. so X will not advertise to B a route to C
A
B
C
W X
Y
provider network
customer network
10
BGP operation
Q: What does a BGP router do?
� Receiving and filtering route advertisements from
directly attached neighbor(s).
� Route selection.
� To route to destination X, which path (of several advertised) will be taken?
� Sending route advertisements to neighbors.
11
Initial routing tables in path vector routing
12
Stabilized tables for four autonomous systems
13
14
BGP messages
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 (send periodically, every 30 seconds)
� NOTIFICATION: reports errors in previous msg; also used to close connection
15
Policy with BGP
� BGP provides capability for enforcing various
policies
� Policies are not part of BGP: they are provided
to BGP as configuration information
� BGP enforces policies by choosing paths from
multiple alternatives and controlling
advertisement to other AS’s
16
Examples of BGP Policies
� A multi-homed AS refuses to act as transit
� Limit path advertisement
� A multi-homed AS can become transit for some
AS’s
� Only advertise paths to some AS’s
� An AS can favor or disfavor certain AS’s for
traffic transit from itself
17
R3 R4
R1
R2
E-BGP
I-BGP
AS1 AS2
External BGP (E-BGP): BGP runs between different ASs
Internal BGP (I-BGP): BGP runs between two peers in the same AS
18
I-BGP and E-BGP
AS-Path
� Sequence of AS’s a route traverses
� Used for loop detection and to apply policy
120.10.0.0/16 130.10.0.0/16
110.10.0.0/16
AS-1
AS-2
AS-3 AS-4
AS-5
120.10.0.0/16 AS-2 AS-3 AS-4 130.10.0.0/16 AS-2 AS-3
110.10.0.0/16 AS-2 AS-5
19
BGP Operations (Simplified)
Establish session on TCP port 179
Exchange all active routes
Exchange incremental updates
AS1
AS2
While connection is ALIVE exchange
route UPDATE messages
BGP session
20
Example: Multiple AS Paths
AS
701
AS
73
AS
7018
AS
1239
AS
9
128.2/16
128.2/16
9 701 128.2/16
9 7018 1239
21
Shorter Doesn’t Always Mean Shorter
AS 4
AS 3
AS 2
AS 1
Path 4 1 is “better”
than path 3 2 1
22
23
Questions Questions