4,502 views

1 Answer

Best answer
3 votes
3 votes

This is because the goals of each layer are different.

Data Link Layer is responsible for node to node delivery while Transport Layer is responsible for host to host delivery.

Consider below diagram

Now, A wants to send data to B.

So, A will send to R1. To successfully deliver to R1 from A, data link layer will take care of Flow Control (sending packets at a desired rate as per receiver) & Error Control (Error free packets / retransmission if needed)., So, it only takes responsibility to deliver to just (next) node.

Now, R1 will send to R2 and R2 to B. Between the two nodes, if any problem occurs (related to flow and error), Data Link layer would take care of that.

But, who will take responsibility for end to end error free delivery from A to B. It is Transport Layer. If anything goes wrong at R2, because of which packet could not be delivered, it is Transport layer which will take care of retransmission (Error Control). It also takes care of Maximum Segment Size (MSS) of the segments which are to be sent to destination host (B).

So, both layers need error and flow control mechanism, as their responsibilities are different. 

selected by

Related questions