传输层提供传输相关的服务:

UDP 与 TCP 是常见的传输层协议。

UDP 数据报与 TCP 数据段在数据的前面都有报头,包含源端口号和目的端口号。 通过使用端口号,数据就可以准确发送到目的计算机的特定应用程序。

TCP 在目的主机没有确定可以接收数据时不会向网络发送数据。 TCP 管理数据流,并会重新发送目的主机没有确认收到的数据。 TCP 使用握手、计时器、确认消息和动态窗口机制实现可靠性。 但是,当源和目的之间的数据段报头增加和网络流量增多时,可靠性流程会增加网络开销。

如果应用程序数据需要在网络上快速传输,或者网络带宽无法支持源端和目的端系统之间由控制信息带来的开销,那么 UDP 无疑是开发人员作为传输层协议的优先选择。 这是因为,UDP 在目的端不跟踪或者确认数据报的接收,它只是将收到的数据报直接传给应用层,并且不会重新传输丢失的数据报。 但是,这并不意味着这种通信方式不可靠。因为应用层协议和服务中有一些机制,可以根据应用程序的要求处理丢失或延迟的数据报。

应用程序开发人员会决定最适合应用程序要求的传输层协议。 切记,其他层在数据网络通信过程中均有一定作用且会影响通信性能。