传送层是数据通信中国际标准化组织(
ISO)的开放系统互连模式(
OSI)中的第4层。提供传送服务,即在通信用户进程之间提供端到端的可靠的通信服务。传送层实现的主要功能有:提供建立、维护和拆除传送连接、选择网络层提供的最合适的服务,在系统之间提供可靠的透明的数据传送。
传送层的主要功能是面向进程提供端到端的数据传输服务,这种数据传输服务可以采用面向连接或无连接交换方式来实现。在TCP/IP 中,传送层提供了两个协议:传输控制协议(Transmission Control Protocol,TCP)和用户数据报协议(User Datagram Protocol,UDP),分别提供面向连接的和无连接的数据传输服务。
TCP的主要功能是在一对ULP之间提供面向连接的传输服务,连接管理可以分为三个阶段:建立连接、数据传输和终止连接。在建立连接时,可以给该连接赋予某些属性以便在连接期间使用,如安全性和优先级等。
TCP 主要通过套接字(Socket)为ULP提供面向连接的传输服务,利用套接字可使一个ULP主动发起与另一个ULP之间的惟一连接。套接字实际上实现了基于IP 地址(在 IP 报头中)和应用端口(在TCP报头中)的连接。一个连接是由通信双方定义的套接字号而建立的。一旦连接建立起来并且该连接处于活动状态时,TCP 可以产生并发送分组。当传送结束后,连接双方都要终止各自的连接。为了保证提供可靠的服务,TCP 还提供了确认、流控制、复用及同步等功能。
UDP提供一种面向进程的无连接传输服务,这种服务不确认报文是否到达,不对报文排序,也不进行流量控制,因此UDP报文可能会出现丢失、重复及失序等现象。对于差错、流量控制和排序的处理,则由上层协议(ULP)根据需要自行解决,UDP协议本身并不提供。与TCP相同的是,UDP协议也是通过端口号来支持多路复用功能的,多个ULP 可以通过端口地址共享单一的UDP实体。