Dynamis Routing
Dynamis Routing
Routing by Rumor: Routers don't have complete knowledge of the entire network
topology. Instead, they learn about distant networks from their directly connected
neighbors. They essentially route based on the "rumors" they hear from their neighbors
about which destinations are reachable and at what cost.
Distance Vector: Each router maintains a routing table (sometimes called a distance
vector) that lists the best-known distance to each destination network and the next router
(neighbor) to forward packets to in order to reach that destination.
Periodic Updates: Routers periodically send their entire routing table to their directly
connected neighbors. This allows neighbors to update their own routing tables based on
the new information. Updates are also triggered when a router detects a change in the
network topology.
Bellman-Ford Algorithm: Distance vector protocols use the Bellman-Ford algorithm
(or variations of it) to calculate the shortest paths. This algorithm iteratively refines the
distance estimates based on the information received from neighbors.
Hop Count: The most common metric for distance is the hop count, where each router a
packet passes through counts as one hop. The path with the fewest hops is generally
considered the best.
Routing Table Updates: When a router receives an update from a neighbor, it examines
the advertised routes. If a new route to a destination through the neighbor is shorter than
the currently known route, the router updates its routing table.
Imagine a group of people in different cities trying to figure out the shortest way to travel to
other cities. Each person only knows the distances to the cities directly connected to their own.
They periodically tell their direct neighbors how far they know it is to reach all other cities. If a
neighbor hears about a shorter route to a city through them, the neighbor will update their own
information. This process continues until everyone has a good idea of the shortest routes to all
the cities.
RIP (Routing Information Protocol): One of the oldest routing protocols, primarily
used in smaller networks. It uses hop count as its metric (with a maximum of 15 hops).
IGRP (Interior Gateway Routing Protocol): A Cisco-proprietary protocol that was an
improvement over RIP, using a composite metric that considered bandwidth, delay, load,
and reliability.
BGP (Border Gateway Protocol): While often categorized separately as a path-vector
protocol, BGP shares some characteristics with distance vector protocols and is used for
routing between different autonomous systems on the internet.
EIGRP (Enhanced Interior Gateway Routing Protocol): Another Cisco-proprietary
protocol, often considered an "advanced distance vector" or a "hybrid" protocol because
it incorporates features of both distance vector and link-state protocols, offering faster
convergence and better scalability than traditional distance vector protocols.
Slow Convergence: When network topology changes occur, it can take a significant
amount of time for the routing information to propagate throughout the network, leading
to inconsistencies in routing tables.
Count-to-Infinity Problem: Routing loops can occur in certain network configurations,
where distance metrics increase indefinitely as routers try to find a path to a failed
network. Mechanisms like split horizon and poison reverse are used to mitigate this.
Large Routing Tables: In larger networks, the routing tables can become quite large as
each router needs to know the distance to all other networks.
Broadcast Updates: Periodic broadcasting of the entire routing table can consume
significant network bandwidth, especially in large networks.
Distance vector protocols are generally simpler to implement and require less overhead than
link-state protocols in small networks. However, their limitations in terms of convergence speed
and scalability make them less suitable for large and complex network environments.
Routing by Rumor: Routers don't have complete knowledge of the entire network
topology. Instead, they learn about distant networks from their directly connected
neighbors. They essentially route based on the "rumors" they hear from their neighbors
about which destinations are reachable and at what cost.
Distance Vector: Each router maintains a routing table (sometimes called a distance
vector) that lists the best-known distance to each destination network and the next router
(neighbor) to forward packets to in order to reach that destination.
Periodic Updates: Routers periodically send their entire routing table to their directly
connected neighbors. This allows neighbors to update their own routing tables based on
the new information. Updates are also triggered when a router detects a change in the
network topology.
Bellman-Ford Algorithm: Distance vector protocols use the Bellman-Ford algorithm
(or variations of it) to calculate the shortest paths. This algorithm iteratively refines the
distance estimates based on the information received from neighbors.
Hop Count: The most common metric for distance is the hop count, where each router a
packet passes through counts as one hop. The path with the fewest hops is generally
considered the best.
Routing Table Updates: When a router receives an update from a neighbor, it examines
the advertised routes. If a new route to a destination through the neighbor is shorter than
the currently known route, the router updates its routing table.
Imagine a group of people in different cities trying to figure out the shortest way to travel to
other cities. Each person only knows the distances to the cities directly connected to their own.
They periodically tell their direct neighbors how far they know it is to reach all other cities. If a
neighbor hears about a shorter route to a city through them, the neighbor will update their own
information. This process continues until everyone has a good idea of the shortest routes to all
the cities.
RIP (Routing Information Protocol): One of the oldest routing protocols, primarily
used in smaller networks. It uses hop count as its metric (with a maximum of 15 hops).
IGRP (Interior Gateway Routing Protocol): A Cisco-proprietary protocol that was an
improvement over RIP, using a composite metric that considered bandwidth, delay, load,
and reliability.
BGP (Border Gateway Protocol): While often categorized separately as a path-vector
protocol, BGP shares some characteristics with distance vector protocols and is used for
routing between different autonomous systems on the internet.
EIGRP (Enhanced Interior Gateway Routing Protocol): Another Cisco-proprietary
protocol, often considered an "advanced distance vector" or a "hybrid" protocol because
it incorporates features of both distance vector and link-state protocols, offering faster
convergence and better scalability than traditional distance vector protocols.
Slow Convergence: When network topology changes occur, it can take a significant
amount of time for the routing information to propagate throughout the network, leading
to inconsistencies in routing tables.
Count-to-Infinity Problem: Routing loops can occur in certain network configurations,
where distance metrics increase indefinitely as routers try to find a path to a failed
network. Mechanisms like split horizon and poison reverse are used to mitigate this.
Large Routing Tables: In larger networks, the routing tables can become quite large as
each router needs to know the distance to all other networks.
Broadcast Updates: Periodic broadcasting of the entire routing table can consume
significant network bandwidth, especially in large networks.
Distance vector protocols are generally simpler to implement and require less overhead than
link-state protocols in small networks. However, their limitations in terms of convergence speed
and scalability make them less suitable for large and complex network environments.
Sources
Topology Knowledge: Each router learns about all the routers and the links connecting
them in the network. They gain this knowledge by exchanging information about their
directly connected links with all other routers.
Link-State Advertisements (LSAs): Routers periodically (and when a link state
changes) generate Link-State Advertisements. These LSAs contain information about the
router's directly connected neighbors and the state of those links (e.g., up, down, cost).
Flooding: Each router floods its LSAs to all other routers within the routing domain.
This ensures that every router receives information about every link in the network.
Link-State Database (LSDB): Each router maintains a Link-State Database, which is a
collection of all the LSAs it has received. Ideally, all routers in the same routing domain
will have an identical LSDB.
Shortest Path First (SPF) Algorithm: Once a router has a complete LSDB, it uses the
Shortest Path First (SPF) algorithm, often Dijkstra's algorithm, to calculate the shortest
path to every destination in the network. This calculation is based on the link costs
associated with each link in the topology.
Routing Table: The result of the SPF algorithm is a shortest-path tree, with the router
itself as the root. This tree is then used to build the routing table, which specifies the best
next hop to reach each destination network.
Imagine everyone in a group wants to know the best way to get to everyone else's house. Instead
of asking their immediate neighbors, each person creates a detailed map of their own street,
showing all the houses on it and how long it takes to walk to each neighbor. They then share this
map with everyone else in the group. Once everyone has everyone else's street map, each person
can independently figure out the shortest way to get to any other person's house by looking at the
complete collection of maps.
OSPF (Open Shortest Path First): A widely used, open-standard link-state protocol
suitable for large enterprise networks. It supports various features like areas for
scalability and authentication for security.
IS-IS (Intermediate System to Intermediate System): Another robust link-state
protocol, often favored by large service providers due to its excellent scalability and
stability. It was originally developed for the OSI protocol suite but was later adapted for
IP.
NLSP (NetWare Link Services Protocol): A link-state protocol developed by Novell
for its IPX/SPX protocol suite.
Fast Convergence: When network topology changes occur, link-state protocols can react
quickly. The flooding of LSAs ensures that all routers are informed of the change rapidly,
and they can recalculate their shortest paths.
Loop-Free Routing: The SPF algorithm, used independently by each router based on a
consistent view of the topology, inherently prevents routing loops.
Detailed Network Knowledge: Routers have a complete picture of the network,
allowing for more intelligent path selection based on various metrics (e.g., bandwidth,
delay).
Efficient Updates: Updates are only triggered when there is a change in the network
topology, and only the information about the changed link state is flooded, reducing
bandwidth consumption compared to distance vector protocols that send periodic full
routing table updates.
Scalability: Link-state protocols, especially OSPF with its area concept and IS-IS with
its level hierarchy, are generally more scalable for larger networks compared to
traditional distance vector protocols.
Instead of strictly adhering to the principles of one type, hybrid protocols integrate features from
both approaches. This often involves:
Neighbor Discovery: Like distance vector protocols, hybrid protocols typically rely on
neighbors to exchange routing information. However, the information exchanged can be
more detailed than just distance vectors.
Partial Topology Information: Unlike link-state protocols where each router builds a
complete view of the network, hybrid protocols might maintain a more limited or
summarized view of the topology. This helps in reducing the overhead associated with
maintaining a full link-state database.
Event-Triggered Updates: Similar to link-state protocols, hybrid protocols often use
event-triggered updates to propagate changes in the network topology quickly, rather than
relying solely on periodic broadcasts like traditional distance vector protocols.
Metric Considerations: They often use more sophisticated metrics than simple hop
counts, potentially incorporating factors like bandwidth, delay, load, and reliability,
similar to some advanced distance vector protocols or the cost metrics used in link-state
protocols.
Route Calculation: The route calculation process in hybrid protocols can involve aspects
of both distance vector algorithms (like diffusing update algorithm) and shortest-path
algorithms (though perhaps on a more limited scope of the topology).
Faster Convergence: To react quickly to network changes and reduce routing loops,
addressing a major drawback of distance vector protocols.
Scalability: To handle larger networks more efficiently than traditional distance vector
protocols by reducing the amount of routing information exchanged and processed.
Reduced Overhead: To minimize the bandwidth and processing power required
compared to link-state protocols that flood the entire network with link-state information.
Loop Prevention: To incorporate mechanisms that actively prevent routing loops, which
can be a problem in distance vector protocols.
Why "Hybrid"?
Imagine you're trying to find the best way to travel between cities, and different countries have
their own travel rules and preferences. A distance vector protocol would just tell you the shortest
distance in miles. A path vector protocol, however, would tell you the sequence of countries
you'd have to travel through. Each country can then have its own rules, like "we don't allow
transit from country X" or "we prefer routes that go through our capital city." By knowing the
entire path of countries, you can choose a route that complies with everyone's rules and avoid
going in circles.
Key Features:
Autonomous System Numbers (ASNs): Path vector protocols like BGP use ASNs to
identify each autonomous system uniquely. The path vector in routing updates consists of
a list of these ASNs.
Route Attributes: Besides the AS path, path vector protocols often carry other attributes
with routing updates. These attributes provide additional information about the route and
can be used in policy decisions. Examples of BGP attributes include:
o AS_PATH: The sequence of ASNs that the route has traversed.
o NEXT_HOP: The IP address of the next router to reach the destination.
o LOCAL_PREF: An attribute used within an AS to prefer certain inbound paths.
o MED (Multi-Exit Discriminator): An attribute used to influence the path
selection of neighboring ASes.
o COMMUNITIES: Tags that can be attached to routes to convey routing policy
information.
BGP as the Primary Example: The most prominent and practically the only widely
used example of a path vector protocol is the Border Gateway Protocol (BGP). BGP is
the fundamental routing protocol of the internet, responsible for exchanging routing
information between the thousands of ASes that make up the global internet.
In summary, path vector protocols are essential for inter-domain routing, enabling policy-
based path selection and loop prevention across different autonomous systems. BGP is the
dominant example of this type of protocol and is the backbone of routing on the internet.