• A large portion of this lecture material comes from BGP tutorial given by Philip
Smith from Cisco (ftp://ftpeng.cisco.com/pfs/seminars/APRICOT2004
-BGP00.pdf)
• What does a router do?
– Find path (routing)
– Forward packet from one interface to another interface (forwarding)
• Routing versus forwarding
– Routing: building maps and giving directions
– Forwarding: moving packet based on the directions.
• IP Routing:
– Path derived from information received from a routing protocol.
– Several alternative paths may exist
• Best next hop stored in forwarding table.
– Decisions are updated periodically or as topology changes (event driven)
– Decisions are based on
• Topology, policies and metrics (hop count, filtering, delay, bandwidth)
• IP route lookup (part of forwarding):
– Based on destination address
– “longest match” routing
• More specific prefix preferred over less specific prefix.
• Example: packet with destination of 10.1.1.1/32 is sent to the router announcing 10.1/16 rather than the router announcing 10/8
• Explicit versus default routing:
– Default:
• Simple, cheap
• Low granularity
– Explicit
• High overhead, complex, high cost, high granularity
– Hybrid
• Minimize overhead
• Provide useful granularity
• Autonomous System (AS)
– Collective of networks with same routing policy
– Single routing protocol
– Usually under single ownership and administrative control
– Identified by the autonomous system number
(ASN), which is a 16-bit number.
• Border Gateway Protocol (BGP)
– Described in RFC 1771
– Routing protocol used to exchange routing information between networks
– The AS is BGP’s fundamental operating unit
• Used to identify networks with common routing polocy.
– BGP-4 is the de facto standard in the Internet
• BGP terms:
– Neighbours: AS’s which directly exchange routing information
– Announce: send route information to the neighbor
– Accept: receive and use the information sent by a neighbour
– Originate: insert routing information into external announcement
– Peers: routers that can directly exchange routing and policy information
Routing flow and packet flow:
• BGP basic:
– Runs over TCP – port 179
– Path vector protocol (distance vector algorithm
+ explicit AS path)
– Two types of updates
• (Route) announcement and withdraw
– BGP update attributes
• ASPATH and some other information
NLRI=128.186.0.0/16
ASPATH=[0]
ASPATH=[10]
128.186.0.0/16
NLRI=128.186.0.0/16
ASPATH=[10]
NLRI=128.186.0.0/16
ASPATH=[210] NLRI=128.186.0.0/16
ASPATH=[3210]
[3210]*
[4210]
[7610]
NLRI=128.186.0.0/16
ASPATH=[210]
NLRI=128.186.0.0/16
ASPATH=[53210]
NLRI=128.186.0.0/16
ASPATH=[610]
NLRI=128.186.0.0/16
ASPATH=[610]
• BGP general operation
– Learn multiple paths via internal and external
BGP speakers
– Picks the best path and installs in the forwarding table
– Best path is sent to external BGP neighbours
– Policies applies by influencing the best path selection
• Policy based routing protocol
• BGP route selection:
– Prefer routes with highest local preference
– Prefer routers with shortest AS path
– Prefer routers with lowest MED value
– Prefer EBGP routes over IBGP routes
– Prefer routes via nearest IGP neighbor
– Tie breaking: lowest router ID
• Global routing system never converge
• problems
– Anyone can claim ownership of NLRI
– Anyone can claim en route to NLRI