Open In App

Why Flow Control is Used in Both Data Link Layer and Network Layer?

Last Updated : 25 Jul, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

OSI model was established in1947 by international standard organization is a multinational body dedicated to worldwide agreement on international standards.ISO standard covers all the aspects of network communications is the Open System Interconnection model.It was introduced in the late 1070s. an open system is a set of protocols that allows any two different systems to communicate regardless of their underlying architecture.The purpose of the OSI model is to show how to facilitate communication between different systems without requiring changes to the logic of the underlying hardware and software.

OSI model

Data Link Layer in OSI Model

Data link layer is the second layer of OSI model.It is responsible to make the physical layer error-free to the upper layer i.e network layer. It is also responsible for moving frames from one hop (node) to next. Data link layer are responsible for the following: 

  • Framing
  • Physical addressing
  • Flow Control
  • Error Control
  • Access Control

Network Layer in OSI Model

Network layer is the third layer of OSI model.It is responsible for the delivery of individual packets from the source host to the destination host. Network layer is also responsible for the following:

  • Logical Addressing
  • Routing
  • Packet Forwarding
  • Fragmentation and Reassembly
  • Quality of Services(QOS)
  • Network Address Translation (NAT)
  • Network Layer Security

Important Reasons for Use Flow Control in Data Link Layer

  • Preventing Data Loss: in case of data link layer Flow control ensures that the receiver does not get overwhelmed by an excessive amount of data from the sender. By regulating the rate of data transmission, flow control helps prevent data loss that can occur when the receiver’s buffer becomes full and cannot accommodate any more incoming data.
  • Maintaining Synchronization: Flow control helps maintain synchronization between the transmitter and receiver. It ensures that the sender does not transmit data faster than the receiver can process it. By regulating the flow of data, flow control ensures that the transmitter and receiver remain in synchronization, avoiding issues such as frame misalignment or timing errors.
  • Matching Speeds between Devices: In some cases where the transmitter and receiver operate at different speeds, flow control helps to match their data transfer rates. For example, if the sender is transmitting data at a higher speed than the receiver can handle, flow control mechanisms slow down the transmission rate to match the receiver’s capabilities.
  • Buffer Management: Flow control takes into account the available buffer space at the receiver. By controlling the rate of data transmission based on the receiver’s buffer capacity, flow control prevents buffer overflow situations where incoming data exceeds the receiver’s storage capacity. This ensures that no data is lost due to buffer overflow.
  • Back pressure Indication: Flow control mechanisms in the data link layer can provide back pressure indication to the sender, signaling the sender to slow down or pause data transmission temporarily. This feedback helps the sender avoid overwhelming the receiver and allows the receiver to catch up with the incoming data.

Overall, flow control in the data link layer is crucial for managing the flow of data between sender and receiver, preventing data loss, maintaining synchronization, matching speeds between devices, and ensuring reliable and efficient data transmission. 

Important Reason for Use Flow Control in Network Layer

  • Flow control mechanisms are not typically used in the network layer of the OSI model. The network layer primarily focuses on logical addressing, routing, and forwarding of packets across networks. Flow control is primarily implemented at lower layers such as the data link layer and transport layer. However, the network layer indirectly influences flow control through its routing functions.
  • The network layer indirectly contributes to flow control by avoiding congestion and facilitating smooth data transfer.
  • While flow control mechanisms are not typically employed at the network layer, the network layer plays a crucial role in managing network resources, congestion control, and load balancing. These functions indirectly influence the overall flow of data within the network by dynamically determining paths and ensuring efficient utilization of network resources.
  • Congestion Management: Flow control at the network layer helps manage congestion within a network. It ensures that network resources are efficiently utilized and prevents network congestion caused by an overwhelming influx of data packets. By regulating the flow of packets, flow control helps maintain network performance and avoids packet loss or delays due to congestion.
  • Fair Resource Allocation: Flow control mechanisms in the network layer promote fair allocation of network resources. By regulating the flow of packets, flow control prevents a single sender from monopolizing network resources, allowing all network nodes to have a fair chance of utilizing the available bandwidth.

Flow Control in Data Link Layer and Network Layer

  • Flow control is an important aspect of data communication, and it is implemented in both the data link layer and network layer of the OSI model.
  • In the data link layer, the main goal of flow control is to managing the flow of frames between the transmitter and receiver
  • It includes the following techniques such as buffer management, stop-and-wait protocol, and sliding window protocol.
  • These flow control techniques in the data link layer helps to regulate the flow of data and prevent buffer overflow.
  • In case of network layer, flow control is concerned with controlling the movement of packets inside a network, usually between routers.
  • The main purpose is to avoid network congestion and promote equitable resource distribution.
  • At the network layer, traffic policing is a flow control technique. It applies a rate limit on incoming or outgoing packets and checks the packet flow to see if it goes above a predetermined limit. In order to avoid network congestion, extra packets can be dropped or marked for lower priority treatment.
  • Another flow control technique in this layer is traffic shaping. Traffic shaping regulates the flow of packets by delaying them to ensure they conform to a specific traffic profile.
  • This helps prevent congestion and improves overall network performance by smoothing out bursts of traffic.
  • in addition, quality of service (QoS) mechanisms, routing protocols, and congestion control algorithms in the network layer contribute to flow control by prioritizing packets, optimizing routing paths, and managing network traffic load.

Conclusion:

In summary, flow control is used in both the data link layer and the network layer to prevent buffer overflow, maintain synchronization, manage congestion, promote fair resource allocation. While the specific mechanisms and techniques may differ between the two layers, the overall goal is to regulate the flow of data and ensure efficient and reliable communication within the network.


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads