传输层
传输层(英语:Transport Layer)在电脑网络中是互联网协议包与开放系统互连(OSI)网络堆栈中协议的分层结构中的方法的一个概念划分。该层的协议为应用进程提供端到端的通讯服务。[1] 它提供面向连接的数据流支持、可靠性、流量控制、多路复用等服务。
互联网与一般性网络的开放系统互连OSI模型的基础,TCP/IP模型的传输层的具体实现和含义(RFC 1122)[2]是不同的。在OSI模型中传输层最常被称作第4层或L4,而TCP/IP中不常给网络层编号。
最著名的TCP/IP传输协议是传输控制协议(TCP), 它的名称借用自整个包的名称。它用于面向连接的传输,而无连接的用户数据报协议(UDP)用于简单消息传输。TCP是更复杂的协议,因为它的状态性设计结合了可靠传输和数据流服务。这个协议组中其他重要协议有数据拥塞控制协议(DCCP)与流控制传输协议(SCTP)。
服务
传输层服务通过传输层协议的编程接口传递给应用进程。该服务可以包括以下功能:
- 连接导向式通讯:通常对于一个应用进程来说,把连接解读为数据流而非处理底层的无连接模型(如用户数据报协议(UDP)与网际协议(IP)的资料包模型)更加容易。
- 相同次序交付:网络层通常不保证数据包到达顺序与发送顺序相同,但这往往是一个可取的特点。这通常是通过给报文段编号来完成的,接收者按次序将它们传给应用进程。这可能会造成队头阻塞。
- 可靠性:由于网络拥塞和错误,数据包可能在传输过程中丢失。通过检错码(如校验和),传输协议可以检查数据是否损坏,并通过向发送者传ACK或NACK消息确认正确接收。自动重发请求方案可用于重新传输丢失或损坏的数据。
- 流量控制:有时必须控制两个节点之间的数据传输速率以阻止快速的发送者传输超出接收缓冲器所能承受的数据,造成缓冲区溢出。这也可以通过减少缓冲区不足来提高效率。
- 拥塞避免:拥塞控制可以控制进入到电信网络的流量。
- 多路复用:端口可以在单个节点上提供多个端点。例如,邮政地址的名称是一种多路复用,并区分同一位置的不同收件人。每个电脑应用进程会监听它们自己的端口,这使得在同一时间可以使用多个网络服务。它是在TCP/IP模型中是传输层的一部分,但在OSI模型中属于会话层。