컴퓨터는 여러 개의 프로그램을 동시에 실행하는 경우가 많다. 그러므로 발신지에서 목적지로 메시지를 전달하는 것은 한 컴퓨터에서 다른 컴퓨터로 메시지를 전달하는 것을 의미할 뿐 아니라 한 컴퓨터의 특정 프로세스(실행중인 응용 프로그램)에서 다른 컴퓨터의 특정 프로세스로 메시지를 전달하는 것을 의미한다.
전송 계층(transport layer)은 하부 네트워크와 독립적으로 신뢰성 있는 프로세스 상호 간의 완전한 메시지 전달 기능을 제공한다. 즉, 프로세스-대-프로세스(process-to-process) 전달을 제공한다. 이를 그림으로 나타내면 [ 그림 2-12 ] 와 같다.
네트워크 계층은 개별 패킷들의 종단 간 전달을 담당하지만 패킷들 간의 관계는 전혀 인식하지 못하므로 마치 별개의 메시지인 듯 각각의 패킷을 독립적으로 전달한다. 반면에 전송 계층은 오류 제어와 흐름 제어를 종단 간(발신지-대-목적지) 수준에서 수행하면서 전체 메시지가 올바른 순서대로 도착하는 것을 보장한다.
[ 그림 2-13 ] 은 전송 계층에서 이루어지는 동작을 나타낸 것이다. 전송 계층이 세션 계층으로부터 받은 데이터에 헤더를 추가하여 네트워크 계층으로 내려보낸다. 전송 계층의 헤더에는 포트 주소(port address) 또는 소켓 주소라고 부리는 서비스 지점 주소가 들어 있다. 이러한 포트 주소 때문에 송신 측의 데이터가 수신 측의 해당 프로세스를 정확하게 전달되며, 이를 종단간 전송 기능이라고 본다.
전송 계층의 주요 기능은 다음과 같다.
대표적인 전송 계층 프로토콜에는 ISO의 TP(Transport Protocol), IETF에서 표준화한 연결형 서비스인 TCP(Transmission Control Protocol)와 비연결형 서비스인 UDP(User Datagram Protocol) 등이 있다.