Which layer of the OSI model is responsible for end-to-end communication and error recovery between hosts?