option A is correct : in current scenerio we use full duplex to get improved throughput and reliability by eliminating collision of frames
option B is correct:we have sliding windows protocol to achieve this
option C is correct: The Network Layer wants to be sure that all messages it sends, will be delivered correctly (e.g., none lost, no corruption). .and dll delivers it's best effort
option D is also correct: