router current bandwidth

Sep 20, 2018
7
0
10
I need to know if routers store (often calculated) their current bandwidth, depending on the net load or a damage. The bandwidth is used by the Dijkstra algorithm to calculate the route (to choose routers) on the packet way to ensure the fastest sending of information.
 
Solution
That is the fundamental issue with using dijksta is it does not scale and they came up with methods to reduce the problems as much as they could. It is also why the internet uses BGP instead. This is not something new. It was being discussed more than 30 years ago when I was starting in networking.
Commercial routers generally always have utilization numbers and many ISP centrally monitor them.

None of this is used by routing selection. The routing protocol used on the internet is called BGP it is pretty much a hop count method. It does not take into account bandwidth or utilization or latency. It main concern is stability. It is designed to operate where a single group/ISP does not control the entire network. There are many consideration other than just performance.

The other routing protocol common used is called OSPF. This protocol also does not take into account utilization but it does use things like latency. It is only used internally to a companies private network. Only huge companies would do this and even they are not using it as much because of the replacement of private lines with MPLS. With MPLS the node all appear directly connected and the routing is outsourced to the provider. MPLS also uses BGP as its main routing protocol.

Cisco I think still supports a protocol called EIGP. It has some limited ability to support utilization but it is very limited. Almost nobody uses EIGP because it is a cisco proprietary protocol and if you do not have 100% cisco routers you can't use it.

The key problem with using using any form of utilization is it changes too much. It takes time...ie many milliseconds...for the routing messages to be send. During this time where the routers are selecting the best path the utilization may change and the routers must again make their routing calculations.

 
Sep 20, 2018
7
0
10
I am writing a small popular science article on using Dijkstra algorithm and need to know something if his algorithm for finding a shortest route in a weighted graph is used for finding path connecting routers while sendinga signal. Routers are graph nodes so if they store the speed of current signal going through them, it will probably be enough for me to put in my article, without going into much technical details.
 
This is not a new topic though. OSPF is based on Dijkstra. This has been well studied and using utilization has been found to lead to network instability. OSPF uses bandwidth as a consideration but it does not take into account how much the bandwidth is being used.
 
OSPF is actually very complex because of the need to understand the concept of AREA and the difference between extenal and internal prefixes.

If you only look at what is called OSPF cost that is dijksta based. It only uses the bandwidth of the path and it does not factor in if it is being used or not. A 100mbit connection will always have the same OSPF cost no matter if it is passing 1mbit of traffic or 99mbits.

The problem with utilization methods is it changes to much. It takes time for all the router to actually run the dijstra calculations and there is delay sending messages between routers communicating utilization changes far away so many times the calculation can be partially complete when a new message on utilization comes in and the process has to start again.

Even ignoring utilization this is a known issue with OSPF when links flap up and down quickly. If you search you will find all kinds of research papers discussing the problems of link flap and OSPF stability. Using utilization is almost the same as a constant link flap condition.



 
Sep 20, 2018
7
0
10
I know that Dijkstra searches all nodes of the graph to tell the cost of reaching them only to know the cost of reaching the target node. I wonder how OSPF does it. It seems impossible for the OSPF to ask all routers in the world just to find a route between two towns that are at a distance of 20 kilometers from each other.
 
It actually does it very well even over links that are much more than 20km.

This is where the concept of area comes in and proper design of the network is important. A overly simple example. Say I am a company and I have multiple office in city 1 and multiple office in city 2 but they all connect via the largest office in the area with a single connection. In this case if the path between office within a city were to change the other city does not really need to know this since all its traffic still goes via the main office. If you area running a single OSPF area all these changes are sent between the cities even though it does not really matter.

What you do is run different OSPF areas so these calculations are limited to devices within the area. The only time it would matter is if one of the offices completely lost connectivity and then you would have to send a message between the areas indicating that. OSPF also has very different timers based on if the routes are intra area or inter area. A bunch of lan switches running OSPF can switch very quickly when you consider the latency between them is say 1ms but it is very different than a router that is in another country that is 200ms away.

For OSPF to work well and avoid some of the common issues it takes a proper design. Since this can not be accomplished even between different companies it is limited to internal corporate network.
 
Sep 20, 2018
7
0
10
Let us just suppose theoretically that many connections between neighbouring towns have been cut off. Does it mean that OSPF, if it needs that, can direct the message to a different country, which then goes back to our country and to the target neighbouring town?
 
Sep 20, 2018
7
0
10
So OSPF and other algorithms, as I understand, do not seriously take into account the task of asking all major routers in the world to find the route to the neighbouring town? They do something to limit the scope of the search, right? Which is one of the differences from Dijkstra algorithm that requires all the graph nodes to be asked.
 
That is the fundamental issue with using dijksta is it does not scale and they came up with methods to reduce the problems as much as they could. It is also why the internet uses BGP instead. This is not something new. It was being discussed more than 30 years ago when I was starting in networking.
 
Solution