i am learning the basics.......!

Tuesday, May 06, 2008

Flow control in data link layer

Do we need flow control in datalink layer ?

May be we should have. The example given in switch book is like this: You may be travelling to watch a cricket match and the stadium has enough parking space.. but the road in btw is jammed due to traffic. So even if the parking space is there, it does not help us are we are stuck in traffic.

Similarly TCP has end-end flow control. But it does not detect link layer flow issues fast. Many techniques are used in ethernet for flow control.

In half duplex ethernet some of the techniques used are:
1. send jam signal in the link where u want to throttle the flow
2. or send preamble signal in the link where u want to throttle the flow
3. or start sending the packets before the interframe gap is finished ( so that ur output queue gets priority )

For full duplex ethernet, IEEE has designed MAC control frames - A PAUSE frame is send to start/stop flow.

The link layer techniques to control flow are handy. But it sometimes confuses the upper layer protocols. TCP may not detect the flow issues and will be sending packets.., if link layer flow controls are not there, TCP may detect flow control issues faster and can take remedial actions..

Full duplex Ethernet - without CS, MA and CD

Always we used to ask in interviews.. what is the media access protocol in ethernet ? - we always needed the answer CSMA/CD ... CSMA/CD was and is ethernet...

But in full duplex ethernet ???

In full duplex ethernet there is no multiple access... Rx of Host is connected directly to Tx of Switch and vice versa... No multiple access ( no MA).

So no need for career sensing ( no CS )

No chances of collision... so loopback connection also not needed ( no CD)

So full duplex ethernet is half duplex ethernet without CSMA/CD... Only the frame formats and related stuff is retained.. and full duplex ethernet does not add anything more to the protocol. It just makes it simple...

About Me

My photo
Predictably Unpredicatble, lazy, careless, sincere, honest, caring, Trouble maker, emotional, likeable