View
240
Download
3
Tags:
Embed Size (px)
Citation preview
Prologue
• Internet is divided into Autonomous Systems (ASs)
• AS - a collection of one or more networks under a single technical administration
• technical administration- refers to aspects of the n/w like, routing policies etc.
Contd.
• Intra-AS routing driven mostly by performance considerations
• Inter-AS routing depends on policy issues, economics etc
BGP (basic info)
• BGP is the de facto Inter-AS routing protocol
• Used for exchanging route information between ASs
• Conveys information about AS path topology
BGP (basic info contd.)
• Current version, BGP 4, defined in RFC 1771
• Runs over TCP (port 179)
• Path Vector protocol– Exchange entire path information– Prevents loops
• Incremental
How does BGP work?
• How is it configured?
• How is route information exchanged using BGP?
• What are the attributes of the exchanged routes?
• How is this information processed? And further distributed?
BGP Configuration
• Identify BGP “speakers”, assign AS number and define neighbors (peers)
• External BGP peers are directly connected
• Not necessary for Internal BGP peers
BGP Message Exchange
• BGP peers form a TCP connection, use the OPEN message to establish BGP connection;
• Connections kept open by KEEPALIVE messages;
• Initially exchange routing table, further modifications are incremental;
BGP Message Exchange (II)
• Modifications (Route additions and withdrawls) are made by UPDATE messages;
• Errors are reported by NOTIFICATION messages;
• Most interesting stuff happens in the processing of UPDATE messages.
The UPDATE message
• Used to transfer routing information between peers
• Advertise new routes, withdraw unfeasible paths
• Contains Path Attributes info
Routing Information Storage
• Adj-RIBs-In– Store messages that have been learned from
inbound UPDATE messages
• Loc-RIB– Contains local routing information of a BGP
speaker
• Adj-RIBs-Out– Store routing information local router has
chosen for distribution
Path Attributes
• Origin– defines the origin of a path
• AS_PATH• NEXT_HOP• MULTI_EXIT_DISC• LOCAL_PREF• Community
Community Attribute
• Optional Attribute
• Method to group destination in a certain community
• Range 0, 4294,967,200
• Apply routing destinations (accept,prefer,redistribute) using these communities
Decision Process
• Phase I– Calculating the degree of preference for each
route
• Phase II– Choosing the best route and installing it into
Loc-RIB
• Phase III– dissemination,route aggregation and
information reduction
Applying Policy in the Decision Process
• Policy based on AS path, community information
• Accept / Reject routes
• Set Attributes to influence path selection
Phase I
• For each received update, local speaker shall calculate the degree of preference
• Degree of preference calculated based on the LOCAL_PREF attribute if received from within AS
• Calculated from pre-configured policy information if received from neighboring AS
Phase 2
• Route selection– highest degree of preference of any route
to to the same set of destinations– is only route to the destination– use tie breaking techniques
• Install route in Loc-RIB
Phase 3
• Route Dissemination to peers in neighboring ASs– when routes in a Loc-RIB to local
destinations have changed
• All routes processed in Adj-RIBs-OUT
• Aggregation of routes may occur here
Overlapping Routes
• BGP speaker may transmit routes with overlapping NLRI Information
• Overlap occurs when a set of destinations are identified in non-matching routes
• Destinations are always identified by IP prefixes
• More specific prefix route gets precedence.
Internal BGP (iBGP)
• Same protocol as BGP;
• Used when AS_PATH is supposed to be intact between different eBGP peers;
• iBGP nodes are fully meshed;
• No re-advertisement of route updates to prevent looping;
iBGP Scaling
• BGP Confederations– Divide AS into Sub-ASs to reduce size of mesh– Still present a unified front to the outside world
• Route Reflectors– Relax no re-advertisement rule– Single iBGP peer reflects routes to sub-ordinate
peers within a cluster– No peering between clusters