The transport layer is responsible for process-to-process delivery of data across network layers. There are three main protocols at the transport layer: UDP, TCP, and SCTP. UDP provides connectionless and unreliable data delivery, while TCP and SCTP provide connection-oriented and reliable delivery. The transport layer requires port numbers along with IP addresses to uniquely identify the sending and receiving processes and allow for multiplexing and demultiplexing of data between different applications and processes.