How BGP is implemented over TCP?
- Actually TCP run over IP where the actual routing for data takes place but if we come to BGP it routes the control
flow, the control flow is implemented on
TCP
BGP ;
BGP is used for routing in between ASes (Externel Gateway Protocol). It is a path vector routing protocol
It will do its routing using messages
- a Open message is for intialization during which it exchanges its AS numbers
- a Update message is that which is actually used for routing there are 2 in it
-- a Announcement is raised if there is a new link or or a new node
-- a Withdrawl when a link or a node goes down
when a router receives this messages then it will update its routing table and forward that
- a Notification message to close a connection
- a Keep-Alive to tell the peer router that the router is alive
----------------------------------------------------------------------------------------------------------------------------
BGP uses Incremental approach to update state changes
- This will respond only when there is a change of state but for this we need to maintain per client state which is a overhead. In
this some errors may arise
----------------------------------------------------------------------------------------------------------------------------
Some of the Path Attributes are
Multi Exit Descriminators (MED) : These are used when there are more than one route to a particular destination AS having different links
in between then the link which is best is set in this attribute.
LOCAL PREF : If we can go to to a an AS via 2 ASes then this AS preference is set in this Attribute
----------------------------------------------------------------------------------------------------------------------------
For BGP the rules for the order of selection of routes are
- It will check the LOCAL- PREF attribute if it is not set then it will go for AS-PATH followed by MED
Then it will see wheter it is E-BGP or I-BGP The preference of E-BGP > I-BGP
----------------------------------------------------------------------------------------------------------------------------
BGP takes much to converge i.e. if there is a change in topology then it takes time to all router come to know that and change their routing tables this
may take even few minutes to converge
Instability in routing :
What is instability ?
- Instability is change in routes/topology , due to links/routers going down or new one comes
Effects of Instability
- Lost packets - packets may lose due to change in routes
- Load on Routers - this is to update the routing tables continuously which causes cpu wastage
----------------------------------------------------------------------------------------------------------------------------
In IGP Instability is not of interest because
- smaller in size : as the size is small there is less updates
- single protocol is followed by all routers
----------------------------------------------------------------------------------------------------------------------------
Instability in BGP :
Instability is actually due to updates
UPDATES can be divided in to
1)Announcements and 2) Withdrawls
Withdrawls are divided into
Implicit(By changing the value) Explicit(by discarding the value)
Update can cause instability or some pathological (Redundant or which are not required ) update may come
This instability can be Forwarding Instability(topology changes) or Policy fluctuation(change of policies regularly)
----------------------------------------------------------------------------------------------------------------------------
Goals and Methodology
- Goal: How many updates are comming ? among which How many are valid ?
- Method :
--- Collect BGP update traces at large exchange points
Exchange point :: An exchange point is that in a room there will be a router of each AS which exchanges data through that exchange point the data is exchanged between them.
This is public when there are more than two routers of different AS
This is public when there only two routers that exchange data
----------------------------------------------------------------------------------------------------------------------------
Default-free route is that when there is no route specified with the address present in that packet the it is sent to a route which is default for that router
----------------------------------------------------------------------------------------------------------------------------
What are the effects of instability on BGP
- Route caching will not be effective:: i.e. if there is continuous change of route then caching that route for that destination may not be effective it has to be changed frequently
- "Route flap storm" :: when a router cannot even process Keep alive messages then it will think that router is failed and deletes from its routing table this continues
- Large state -dump :: when a line goes down and come up again it has to send all its routing table to the peer router this will dump large data on to the network.
----------------------------------------------------------------------------------------------------------------------------
Possible ways to reduce Instability :
1. Address aggregation
2. Route servers
3. Route Dampening
----------------------------------------------------------------------------------------------------------------------------
Address Aggregation ::
- This is combining the prefixes of two networks and send it to whole network(core of internet)
for example :
If there are networks with addresses 1.2.3.0/19 and 1.2.19.0/19 then these two addresses can be aggregated and can send it to the Core of internet the aggregated address is 1.2.3.0/18 in which both if them comes
But Aggregation is not possible in BGP
-- Multi homing- when a network is connected to more than one network the it is not possible to aggreagate with one
-- While changing it's connection from one network to another it may not change its address then also it is not possible to aggregate