Packet Switching Network Routing Protocols and Strategies
Routing in Packet Switching Networks
Routing is a key design issue for packet-switched networks, involving selecting the optimal route across the network between end nodes.
Required Routing Characteristics
- Correctness
- Simplicity
- Robustness
- Stability
- Fairness
- Optimality
- Efficiency
Internet Routing Protocols
Routers are responsible for receiving and forwarding packets through interconnected networks. They make routing decisions based on knowledge of the topology and traffic/delay conditions, exchanging information using specialized routing protocols.
Key Concepts in Routing Function
- Routing Information: Data concerning the topology and delays within the internet.
- Routing Algorithm: The algorithm used to make a routing decision for a particular datagram, based on current routing information.
Performance Criteria for Route Selection
Routes are selected based on criteria such as:
- Minimum Hop: Selecting the path with the fewest intermediate nodes.
- Least Cost Routing: Selecting the path with the lowest cumulative cost (often based on delay or utilization).
Least cost routing is generally more flexible and common than minimum hop routing.
Routing Decision Time
Decisions can be made on a:
- Packet (datagram) or virtual circuit basis.
- Fixed or dynamically changing basis.
Routing Decision Place
Decisions can be made:
- Distributed: Made by each node. This approach is more complex but more robust.
- Centralized: Made by a designated node.
- Source: Made by the source station.
Network Information Source and Update Timing
Routing decisions are usually based on knowledge of the network topology, traffic load, and link cost.
Information Sources
- Distributed Routing: Uses local knowledge, information from adjacent nodes, or information from all nodes on a potential route.
- Central Routing: Collects information from all nodes.
Update Timing
Update timing depends on the routing strategy:
- Fixed: Never updated.
- Adaptive: Regular updates.
Routing Strategies
Fixed Routing
Fixed routing uses a single permanent route for each source-to-destination pair of nodes. The route is determined using a least-cost algorithm and remains fixed until a change in network topology occurs or based on expected traffic/capacity.
- Advantage: Simplicity.
- Disadvantage: Lack of flexibility; does not react to network failure or congestion.
Flooding Strategy
In flooding, a packet is sent by a node to every neighbor. Eventually, multiple copies arrive at the destination. This strategy requires no prior network information.
Mechanisms are needed to limit incessant retransmission:
- Nodes can remember the identity of retransmitted packets.
- A hop count can be included in packets.
Properties of Flooding
- Advantages:
- All possible routes are tried.
- Highly robust.
- Can be used to send emergency messages.
- At least one packet will have taken the minimum hop route.
- All nodes directly or indirectly connected to the source are visited.
- Disadvantages:
- High traffic load generated.
- Security concerns.
Random Routing Strategy
Random routing offers the simplicity of flooding but generates much less traffic load. The node selects only one outgoing path for retransmission of an incoming packet.
- Selection can be random or round robin.
- A refinement involves selecting the outgoing path based on probability calculation.
- No network information is needed.
Note: A random route is typically neither least cost nor minimum hop.
Adaptive Routing Strategy
Adaptive routing is used by almost all packet switching networks. Routing decisions change dynamically as network conditions change (e.g., due to failure or congestion). This strategy requires current network information.
Adaptive Routing Characteristics
- Advantages:
- Improved performance.
- Aids in congestion control.
- Disadvantages:
- Routing decisions are more complex.
- Potential for oscillation (routing loops).
Classification of Adaptive Routing Strategies
Adaptive strategies are often classified based on the information source:
- Local (Isolated)
- Routes packets to the outgoing link with the shortest queue. Can include bias for each destination. Rarely used as it does not utilize available network information.
- Adjacent Nodes
- Takes advantage of delay and outage information shared between neighboring nodes. Can be distributed or centralized.
- All Nodes
- Similar to adjacent node strategies but involves information exchange across the entire network (e.g., Link-State protocols).
ARPANET Routing Strategies
ARPANET (Advanced Research Projects Agency Network) employed several generations of routing strategies:
1st Generation: Distance Vector Routing
- Distributed adaptive routing using estimated delay.
- Queue length was used as the estimate of delay.
- Employed a version of the Bellman-Ford algorithm.
- Nodes exchanged delay vectors with neighbors and updated routing tables based on incoming information.
- Limitation: Did not consider line speed, only queue length, and responded slowly to congestion.
2nd Generation: Link-State Routing
- Distributed adaptive routing using a measured delay criterion.
- Delay was measured using timestamps of arrival, departure, and ACK times.
- Average delays were re-computed every 10 seconds.
- Any changes were flooded to all other nodes.
- Routing was re-computed using Dijkstra’s algorithm.
- Performance: Good under light and medium loads, but under heavy loads, there was little correlation between reported delays and experienced delays.
3rd Generation Improvements
The third generation focused on refining link cost calculation to damp routing oscillations and reduce routing overhead:
- Measured average delay over the last 10 seconds and transformed it into a link utilization estimate.
- Normalized this estimate based on current and previous results.
- Set link cost as a function of average utilization.
Autonomous Systems (AS)
An Autonomous System (AS) is a fundamental concept in internet routing, exhibiting the following characteristics:
- It is a set of routers and networks managed by a single organization.
- It consists of a group of routers exchanging information via a common routing protocol.
- Except in times of failure, the AS is connected (in a graph-theoretic sense), meaning there is a path between any pair of nodes.
Interior Router Protocol (IRP)
An IRP is a shared routing protocol that passes routing information between routers within an Autonomous System (AS). IRPs are often custom-tailored to specific applications and requirements.
Exterior Router Protocol (ERP)
An ERP is used to pass routing information between routers in different ASs.
The ERP needs to pass less detailed information than an IRP because:
- If a datagram is transferred from a host in one AS to a host in another AS, a router in the first system only needs to determine the target AS and devise a route to reach that target system.
- Once the datagram enters the target AS, the internal routers (using the IRP) cooperate to deliver the datagram.
- The ERP is not concerned with, and does not know about, the detailed internal route within the target AS.
Examples of Routing Protocols:
- Border Gateway Protocol (BGP) (Typically an ERP)
- Open Shortest Path First (OSPF) (Typically an IRP)
Core Approaches to Internet Routing Protocols
Internet routing protocols (specifically IRPs) employ one of three primary approaches for gathering and using routing information:
- Distance-Vector Routing
- Path-Vector Routing
- Link-State Routing
Distance-Vector Routing Explained
This approach requires that each node exchange information with its neighboring nodes (nodes directly connected to the same network).
- It was used in the first-generation routing algorithm for ARPANET.
- Each node maintains a vector of link costs for each directly attached network, along with distance and next-hop vectors for each destination.
- The Routing Information Protocol (RIP) uses this approach.