cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
66626
Views
76
Helpful
13
Replies

what different between distance-vector and link-state routing protocol ?

sang20319951
Level 1
Level 1

I see that  Routers  run protocol routing distance-vector and link-state update is  route from neighbor.

so what  is different between distance-vector and link-state routing protocol ?  

1 Accepted Solution

Accepted Solutions

Peter Paluch
Cisco Employee
Cisco Employee

Hello,

The fundamental difference between distance vector and link state routing protocols is in the nature of the routing information routers send to each other.

In distance vector protocols, each router sends its neighbors a list of all known networks along with its own distance to each one of these networks. Because in software engineering, a list (or better said, an array) is also called a vector, the list of networks and distances is sometimes called the vector of networks and distances, hence the name distance vector routing protocol.

In link state routing protocols, each router describes itself and its interfaces to its directly connected objects; these objects can be either neighboring adjacent routers, or they can be directly attached networks. This information is passed unchanged from one router to another, so that in the end, every router knows about every other router, its interfaces and what exactly they connect to. In essence, in link state routing protocols, each router knows the entire network topology down to every single router and every single interconnection, also called the state of a link, hence the name link state routing protocol.

So these protocol types differ in what they know about the network and what information they use to compute the routing table. Distance vector routing protocols do not advertise the entire network topology, and with a distance vector routing protocol, none of the routers in the network knows how the network looks like in its entirety. A router running a distace vector routing protocol only knows its directly connected neighbors, and it knows about the lists of networks these neighbors have advertised, but it does not really know where those networks really are.

Link state routing protocols allow a router to have a complete map of the network, and use specific algorithms to find shortest paths to every object in the network, including destination IP networks.

The fact that we have both distance vector and link state routing protocols is due to historical reasons: Originally, distance vector protocols were much easier to design and implement in software, and so they were very popular. However, without some clever ideas which haven't been invented until early 90's, they had some drawbacks, especially in terms of how fast they reacted to a change in the network and how they avoided creating a routing loop. In the meantime, another approach to routing protocol design, the link state approach, was developed. Link state protocols are much more complex and require more processing power and memory, but as the resources in routers improved over time, link state routing protocols slowly took over.

Nowadays, we have extremely fine routing protocol implementations from both worlds - EIGRP is a state-of-the-art distance vector routing protocol, while in link state world, we have OSPF and IS-IS.

Feel welcome to ask further!

Best regards,
Peter

View solution in original post

13 Replies 13

Peter Paluch
Cisco Employee
Cisco Employee

Hello,

The fundamental difference between distance vector and link state routing protocols is in the nature of the routing information routers send to each other.

In distance vector protocols, each router sends its neighbors a list of all known networks along with its own distance to each one of these networks. Because in software engineering, a list (or better said, an array) is also called a vector, the list of networks and distances is sometimes called the vector of networks and distances, hence the name distance vector routing protocol.

In link state routing protocols, each router describes itself and its interfaces to its directly connected objects; these objects can be either neighboring adjacent routers, or they can be directly attached networks. This information is passed unchanged from one router to another, so that in the end, every router knows about every other router, its interfaces and what exactly they connect to. In essence, in link state routing protocols, each router knows the entire network topology down to every single router and every single interconnection, also called the state of a link, hence the name link state routing protocol.

So these protocol types differ in what they know about the network and what information they use to compute the routing table. Distance vector routing protocols do not advertise the entire network topology, and with a distance vector routing protocol, none of the routers in the network knows how the network looks like in its entirety. A router running a distace vector routing protocol only knows its directly connected neighbors, and it knows about the lists of networks these neighbors have advertised, but it does not really know where those networks really are.

Link state routing protocols allow a router to have a complete map of the network, and use specific algorithms to find shortest paths to every object in the network, including destination IP networks.

The fact that we have both distance vector and link state routing protocols is due to historical reasons: Originally, distance vector protocols were much easier to design and implement in software, and so they were very popular. However, without some clever ideas which haven't been invented until early 90's, they had some drawbacks, especially in terms of how fast they reacted to a change in the network and how they avoided creating a routing loop. In the meantime, another approach to routing protocol design, the link state approach, was developed. Link state protocols are much more complex and require more processing power and memory, but as the resources in routers improved over time, link state routing protocols slowly took over.

Nowadays, we have extremely fine routing protocol implementations from both worlds - EIGRP is a state-of-the-art distance vector routing protocol, while in link state world, we have OSPF and IS-IS.

Feel welcome to ask further!

Best regards,
Peter

Disclaimer

The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.

Liability Disclaimer

In no event shall Author be liable for any damages wha2tsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.

Posting

Just to add a bit to what Peter has already described.

As Peter noted, distance vector routing passes lists of routes to neighbors, and since they do that, they often support manipulation of what's passed between routers.  As Peter noted, in distance vector routing, router's don't "know" the whole topology, and often, for performance reasons, we don't want router's to "know" all.

Link state routing does "know" all, and this is often the Achilles' heel of these algorithms, i.e. they don't easily scale to large topologies. To deal with that problem, link state routing support some form of partitioning, such as areas in OSPF.  Surprisingly, routing between the "partitions" often uses distant vectoring.

Hi Peter,

When you say -

Link state routing protocols allow a router to have a complete map of the network, and use specific algorithms to find shortest paths to every object in the network, including destination IP networks.

Do you mean a router in OSPF non-backbone area 1, for example, will know how to reach a subnet attached to a router in another OSPF non-backbone area 2, again, for example? Or will the router in area 1 only have a complete picture of all prefixes within its own area, area 1? I am assuming the answer will be that the ABR of area 1 and area 0 (the backbone area) will advertise LSA Type 3 - summary LSA into area 1 that will have prefixes from the backbone area, area 0. Will that summary LSA also contain prefixes from area 2?

Hi,

My sincere apologies for responding late.

Do you mean a router in OSPF non-backbone area 1, for example, will know how to reach a subnet attached to a router in another OSPF non-backbone area 2, again, for example? Or will the router in area 1 only have a complete picture of all prefixes within its own area, area 1?

An internal router in area 1 will only have a complete picture of area 1, of course. Anything past the boundaries of area 1 will be known only by its prefix and distance from the area border router (ABR), but the topology will no longer be known.

When I explained about the fundamentals of link-state routing, I purposefully chose not to discuss areas because they introduce the distance-vector nature into the link-state world and I thought it to be confusing, especially in a post that tries to draw a clear line between the distance-vector and link-state world. But of course, you are correct - if having multiple areas, a router internal to an area knows the topology details about that area only. What I described in my original post is basically the link-state protocol operation with a single area.

I am assuming the answer will be that the ABR of area 1 and area 0 (the backbone area) will advertise LSA Type 3 - summary LSA into area 1 that will have prefixes from the backbone area, area 0. Will that summary LSA also contain prefixes from area 2?

Yes, it will. With OSPF in particular, there is one Type-3 LSA for one prefix from a different area, so there will be as many Type-3 LSAs as many prefixes from other areas exist. The logic to originate Type-3 LSA on an ABR is simple: Assuming we're looking at a particular area A, take all intra-area and inter-area routes that do not come from area A, and for each of them, inject a Type-3 LSA into area A. In other words, take all internal (intra and inter) routes from other areas, and have them injected as Type-3 LSAs into the area A.

Best regards,
Peter

Hi Peter,

Thanks for responding. Yes I was wondering where you were, tried to message you but its not available as an option. Thanks for clearing that up, it does answer my question well.

hi there, your information is verry usuful,

i was just wondering,

how would link state and distance vector operates  in a network where one of the cable is broken (a link is continously going up and down) in a large network,

thank you

You ask an interesting question. And any appropriate answer has many "it depends" in the response.

 

Let us evaluate some answers:

- for a link state protocol such as OSPF, the obvious part of the answer is that each time the link flaps then OSPF will need to calculate the convergence algorithm. The first "it depends" is about how many OSPF devices are in this area. If OSPF is configured  with a large area with many devices in the area then the impact will be magnified. But if OSPF has few devices in the area then the impact is minimized. Also to consider is that the Cisco implememtation provides a delay factor such that after the first convergence calculation then OSPF will wait for the next calculation till the timer expires which will minimize the impact of the flapping link.

- for EIGRP the main "it depends" is about how many routers have detailed knowledge of the specific subnet of the flapping link. If every subnet is advertised to every router in the EIGRP network then the impact is magnified. But the use of techniques like summarization can limit the number of routers who have knowledge of specific subnets and reduce the impact of the flapping.

 

HTH

 

Rick

HTH

Rick

Nice Bro ..... Very Professional

Hello!

It sounds like LS routers only send directly connected subnets and do not pass through the "links and statuses" of other routers. It seems that this is not so and the router describes not only itself and its interfaces to its directly connected objects, but also what it learned from other routers.

DV routers transmit a list of all known networks (static, directly connected and what they learned from others), supplementing it every time, which is very similar to the previous paragraph.

It may seem that distance and vector, like link and state, are just subnet and metric; and the Bellman – Ford algorithm does the same as Dijkstra's algorithm.

Mark Malone
VIP Alumni
VIP Alumni

link state will advertise the whole table when a change occurs while distance vector only advertise the change routing by rumour , uses less resources , both have benefits though and now in link state ospf you can set ispf for incremental updates similar to distance vector to reduce the amount of updating in larger AS networks

http://packetlife.net/blog/2008/oct/2/distance-vector-versus-link-state/

Thank you very much !

sang20319951
Level 1
Level 1

Thanks Peter Paluch , which you give for me very useful . I see more. 

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Innovations in Cisco Full Stack Observability - A new webinar from Cisco