Q & A on Data Link and Transport Protocols

Q: I found a very high similarities between Data Link/Transport Protocols, both of them use the same sliding window technique for example.

A: Transport protocols are end-to-end, while data link protocols are machine-to-machine. Furthermore, if you compare TCP to typcial data-link protocol, you will find vast differences (e.g., in the windowing mechanisms).

Q: My questions are:

1: why does reliability/flow control implemented in two different layers?

A: Reliabaility at each layer is an old idea; TCP/IP does *not* require reliable lower layers.

Q:

2: does people usually use both of them at the same time?

A: Not any more; see above.

Q:

3: If they are exclusively used, how do people usually select between them?

A: End-to-end reliability is required; hence, one would choose to place reliabilty at the transport layer.