面试_计算机网络_TCP与UDP

153 阅读1分钟

UDP 和 TCP 的特点

  • TCP是面向连接的传输层协议,保证可靠,传送的数据不丢失、无差错、按序到达。提供全双工通信,允许通信双方的应用进程在任何时候都可以发送数据。适用于对速度要求不高,但对可靠性要求高的场景。例如文件传输、邮件传输。HTTP、FTP、TELNET、SMTP协议都是基于TCP协议

  • UDP是一种无连接的传输层协议,不保证可靠交付,不关心对方是否已经正确接收到数据。

    适用于速度要求高,准确性要求低的场景,比如通话、视频会议、直播等(偶尔卡顿也不用重传)。DNS、DHCP、TFTP、SNMP、RIP都是基于UDP协议




TCP和UDP的具体比较

UDPTCP
是否连接无连接面向连接
是否可靠不可靠可靠
连接对象个数支持一对一,一对多,多对一和多对多交互通信只能是一对一通信
传输方式面向报文面向字节流(可能导致粘包)
首部开销首部开销小,仅8字节首部最小20字节,最大60字节
有序性无序依靠序列号,保持顺序



TCP前20个字节是固定的,后面有4n个字节是根据需而增加的选项,所以TCP首部最小长度为20字节。

UDP的首部只有8个字节,源端口号、目的端口号、长度和校验和各两个字节。