TCP与UDP区别

TCP 提供了有连接、可靠的、基于字节流的传输,适用于需要数据完整性和顺序的场景

UDP 则提供了无连接、不可靠、面向报文的传输,适用于实时性要求高的场景。

区别总结

特性 TCP UDP
连接方式 面向连接 无连接
可靠性 提供可靠性,保证数据按顺序到达 不可靠,不保证顺序或完整性
流量控制/拥塞控制 提供流量控制和拥塞控制 没有流量控制和拥塞控制
顺序保证 保证数据顺序 不保证数据顺序
头部大小 较大(20字节的固定首部) 较小(8字节的首部)
性能 较低,延迟大 较高,延迟小
数据传输模式 字节流传输模式 数据报传输模式
适用场景 文件传输、Web、邮件等需要可靠性的应用 实时通讯、语音、视频、游戏等高性能要求应用

为什么要进行流量控制:

由于收发双方各自的工作速率和缓存空间有差异,可能出现发送方的发送能力大于接收方的接收能力的情况,这样会导致接收方来不及接收,造成帧丢失。因此,流量控制的目的就是为了限制发送放的数据流量,使得接收方能够正确接收。

tcp流量控制常见方式:

  1. 停止-等待协议
  2. 后退N帧协议(GBN)
  3. 选择重传协议(SR)

可靠传输机制:

  1. 确认
  2. 超时重传

常见的基于TCP的协议:

  • HTTP:80
  • HTTPS:403
  • FTP:控制连接21,数据连接20
  • SMTP:25
  • POP3
  • BGP:179

常见的基于UDP的协议:

  • DNS:53
  • DHCP:67/68
  • RIP:520

你可能感兴趣的:(tcp/ip,udp,网络)