运输层常用的两种协议TCP UDP
TCP
传输控制协议 TCP(Transmisson Control Protocol)——面向连接的,可靠的,基于字节流的传输层通信协议。
TCP的主要特点:
TCP 是面向连接的:数据传输之前需要建立连接(会有三次握手来建立连接);
每一条 TCP 连接只能有两个端点,每一条 TCP 连接只能是点对点的(一对一);
TCP 提供可靠交付的服务。通过 TCP 连接传送的数据,无差错、不丢失、不重复、并且按序到达;
TCP 提供全双工通信。TCP 允许通信双方的应用进程在任何时候都能发送数据。TCP 连接的两端都设有发送缓存和接收缓存,用来临时存放双方通信的数据;
基于字节流:不限制数据大小,打包成报文段,保证有序接收,重复报文自动丢弃;
UDP
用户数据协议 UDP(User Datagram Protocol)——提供无连接的,尽最大努力的数据传输服务(不保证数据传输的可靠性)。
UDP的主要特点:
UDP 是无连接的;
UDP 使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态(这里面有许多参数);
UDP 是面向报文的;
UDP 没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如 直播,实时视频会议等);
UDP 支持一对一、一对多、多对一和多对多的交互通信;
UDP 的首部开销小,只有 8 个字节,比 TCP 的 20 个字节的首部要短。