Date    : Wed, 06 Aug 2003
Lecture : 5
Author  : Piyush Jain
 
-----------------------------------------------------------------------
TERMINOLOGY :
 
Internal Gateway Protocol (IGP) : A protocol that distributes routing information between 
routers belonging to a single Autonomous System so that data traffic can be sent from one 
router in the AS to another router within the same AS. E.g. RIP (Routing Information Protocol), OSPF (Open Shortest Path First) and IS-IS (Intermediate System to Intermediate System).
 
Autonomous System (AS): A group of routers exchanging routing information via a common routing protocol. The routers within the same AS are typically under the same technical and administrative control. Each Autonomous System has a single IGP. Separate Autonomous Systems may be running different IGPs.
 
External Gateway  Protocol (EGP): A protocol that distributes routing information between different Autonomous Systems so that data traffic can be sent from a router in one AS to a router in another eg. BGP(Border Gateway Protocol).
 
----------------------------------------------------------------------------------------- 
CONVERGENCE PROCESS:
It means detecting the topology change 
Leads to flooding of new LSAs throughout the network. 
Bad news (say, a router is down) is more important than good news ()
Hardware detection is not always possible as in switched Ethernet.
Failure detection is normally through hello protocol
-Takes normally 3 to 4 hello interval. Each is of, by default 10 seconds. So, in a network of 2.5 Gbps it can lead to a loss of 2.5*4*10= 100 Gb.
So, there is a need for speedy detection.
Possible solution--
1.Reduce Hello interval range to milliseconds. But, this may lead to false alarm as if a router is not able to reply soon, it would be considered as down.
2.Prioritize Hello Protocol. But, since Hello protocol is itself bulky (contains a lot of information, it will a problem
3.Use another (Heartbeat) protocol for it & process it by a line card to prevent loading OSPF process
But, what if process itself crashes??. Time stamp may be used.
(OSPF doesn't allow unidirectional links.)
-----------------------------------------------------------------------------------------

LSA GENERATION :
When something changes in network , this information has to be conveyed.
LSA transmission is reliable
Generally generation is delayed to collect multiple changes, then hold down to limit network traffic (on order of seconds)
More intelligent strategy is to rapidly announce interesting changes, allow several successive changes to be announced quickly before hold down
Newer LSPs will tend to overtake old ones during flooding on systems under load, if done intelligent hello protocol
So, there is a need for speedy detection.
Possible solution--
1.Reduce Hello interval range to milliseconds. But, this may lead to false alarm as if a router is not able to reply soon, it would be considered as down.
2.Prioritize Hello Protocol. But, since Hello protocol is itself bulky (contains a lot of information, it will a problem
3.Use another (Heartbeat) protocol for it & process it by a line card to prevent loading OSPF process
But, what if process itself crashes??. Time stamp may be used.
(OSPF doesn't allow unidirectional links.)
-----------------------------------------------------------------------------------------

VENDOR-INTRODUCED CONFIGURABLE DELAYS

Pacing delay The minimum delay enforced between two successive Link State Update packets sent down an interface. Observed to be 33ms. Not always configurable.

spfDelay : The delay between the shortest path calculation and the first topology change that triggered the calculation. Used to avoid frequent shortest path calculations. Usually 5 seconds.
spfHoldTime The minimum delay between successive shortest path calculations. Usually 10 seconds.
ROUTER-SPECIFIC DELAYS
SPF calculation delay :The time required to do shortest path calculation.
LSA processing delay :The time required to process an LSA including the time required to process the Link State Update packet before forwarding the LSA to the OSPF process. Observed to be less than 1 ms.
-----------------------------------------------------------------------------------------
DELAYS 
Useful in having stability in case of frequent changes
But leads to slow convergence as against the goal itself!
Solution :
setting spfdelay so that most LSA are received before SPF calculation.
Using Exponential Backoff algorithm for spfholdtime.
-----------------------------------------------------------------------------------------
SPF CALCULATION TIME :
For L Links & N Nodes, it's order of ( L log N)
Full mesh --> N*N--> SPF N2logN
Partial Mesh, 100 routers per area, N=10-->SPF 7*103
 Incremental SPF - operates only on the subtree downstream of the afftected links& is usually much more efficient in all topologies except full mesh.
-----------------------------------------------------------------------------------------
Why Convergence should be slow?
A change in IGP next Hop may cause a next hop change in many thousands of BGP routes.
-----------------------------------------------------------------------------------------
TRAFFIC ENGINEERING 
Concerned with the performance optimization of the operational networks, with main focus on minimizing over-utilization of one link when some other link is free, i.e., to controlled flow according to traffic rather than shortest path only
OSPF consider only shortest path , not network traffic
MPLS defines complete path & can consider link utilization but is still immature state compared to OSPF.
Traffic engineering goal can be achieved only to so that most LSA are received before SPF calculation.
Using Exponential Backoff algorithm for spfholdtime.
-----------------------------------------------------------------------------------------
Why Covergence should be slow?
A change in IGP next Hop may cause a next hop change in many thousands of BGP routes.
-----------------------------------------------------------------------------------------

GRACEFUL RESTART:
Routing process gets rebooted often, leading to corresponding generation of new LSAs, flooding, SPFs, routing table updates etc.
So, control & forwarding functions are separated with different processors for them. This allows as OSPF router to stay on the forwarding path even as its OSPF software is restarted
-----------------------------------------------------------------------------------------