Routing Algorithms and Network Layer Design: A Comprehensive Guide

Routing Algorithms in a Single Network

A routing algorithm is a procedure that determines the path for transferring data packets from a source to a destination. These algorithms play a crucial role in directing internet traffic efficiently. When a data packet leaves its source, it can potentially traverse numerous paths to reach its destination. Routing algorithms employ mathematical computations to identify the optimal path, often referred to as the “least-cost path,” for routing the packet.

Types of Routing Algorithms

Routing algorithms can be broadly classified into two main categories: adaptive and non-adaptive. These categories can be further subdivided as illustrated in the following diagram:

2Q==

Adaptive Routing Algorithms

Adaptive routing algorithms, also known as dynamic routing algorithms, make routing decisions dynamically based on the prevailing network conditions. They construct routing tables by considering network traffic and topology. These algorithms strive to compute the most efficient route by taking into account factors such as hop count, transit time, and distance.

Non-Adaptive Routing Algorithms

Non-adaptive routing algorithms, also known as static routing algorithms, create a static routing table to determine the paths for packet transmission. This static routing table is generated based on the routing information stored in the routers during network initialization.

Network Layer Design Issues

The network layer encounters several design issues, which are outlined below:

1. Store and Forward Packet Switching

In this mechanism, the host transmits a packet to the nearest router, where it is stored until it has been fully received. Once the link is processed and the checksum is verified, the packet is forwarded to the next router, and this process continues until the packet reaches its destination. This mechanism is known as “Store and Forward packet switching.”

2. Services Provided to the Transport Layer

The network layer provides its services to the transport layer through the network/transport layer interface. These services are described below. However, before providing these services, the following goals must be considered:

  • The offered services should not be dependent on the underlying router technology.
  • The transport layer should be shielded from the type, number, and topology of the available routers.
  • Network addresses for the transport layer should utilize uniform numbering patterns, even across LAN and WAN connections.

Based on the type of connection, two types of services are provided:

  • Connectionless: Routing and insertion of packets into the subnet are performed individually, without requiring any prior setup.
  • Connection-Oriented: The subnet must provide a reliable service, and all packets must be transmitted over a single route.

3. Implementation of Connectionless Service

In this service, packets are referred to as “datagrams,” and the corresponding subnets are called “datagram subnets.” When the message size to be transmitted exceeds four times the packet size, the network layer divides the message into multiple packets and transmits each packet to the router using specific protocols. Each data packet carries a destination address and is routed independently of other packets.

4. Implementation of Connection-Oriented Service

To utilize a connection-oriented service, a connection must first be established, used, and then released. In this type of service, data packets are delivered to the receiver in the same order in which they were sent by the sender.

Benefits of Computer Networking

Some of the key advantages of computer networking are discussed below:

  1. Central Storage of Data: Files can be stored on a central node (file server) and shared with all users in an organization.
  2. Connectivity: Connecting to a modern computer network requires minimal effort, making it accessible to users of all ages and technical abilities.
  3. Faster Problem-Solving: By dividing a large process into smaller tasks and distributing them across connected devices, problems can be solved more efficiently.
  4. Reliability: Data backup and redundancy are enhanced through networking. If data on one computer becomes corrupted or inaccessible, copies can be retrieved from other workstations, ensuring smooth operation and continuity.
  5. Flexibility: Networking technology offers flexibility by allowing users to explore various aspects of software and systems without impacting their productivity.
  6. Security through Authorization: Network security and data protection are achieved through authorization mechanisms. Only authorized network users can access specific files or applications, safeguarding data privacy and security.
  7. Storage Capacity: Networking enables efficient data storage and sharing. Users can store and access data without storage space limitations.

Multiple access protocol- ALOHA, CSMA, CSMA/CA and CSMA/CD

Random Access Protocol

In this protocol, all stations have equal priority to transmit data over a shared channel. No station controls or depends on another station. Each station transmits data frames based on the channel’s state (idle or busy). However, if multiple stations transmit simultaneously, collisions or data conflicts may occur, potentially leading to data frame loss or corruption.

Controlled Access Protocol

This method aims to reduce data frame collisions on a shared channel. In controlled access, stations interact and decide which station is allowed to transmit, with approval from all other stations. This prevents individual stations from transmitting without consensus. There are three types of controlled access: Reservation, Polling, and Token Passing.

Channelization Protocols

Channelization protocols enable the sharing of total usable bandwidth in a shared channel among multiple stations based on time, distance, and codes. This allows all stations to transmit data frames simultaneously.

  1. FDMA (Frequency Division Multiple Access)

  2. TDMA (Time Division Multiple Access)

  3. CDMA (Code Division Multiple Access)

wMowgByITWE2QAAAABJRU5ErkJggg==