传输层:TCP和UDP的区别


(一)UDP协议(用户数据报协议)

特点

  • 基于IP协议(所以尽力而为不可靠)
    ○ 复用/分用
    ○ 简单的错误校验,没有错误恢复
  • “Best effort” 服务
    ○ 造成丢失
    ○ 造成非按序到达
  • 无连接
    ○ UDP发送方和接收方之间无需握手
    ○ 每个UDP段的处理独立于其他段

存在的原因

  • 无需连接建立

  • 无需维持连接状态

  • 报文段头部开销小(每个UDP报文段首部开销仅需8字节,TCP需要20字节

  • 没有拥塞机制,应用能够更好的控制发送时间和速率。

应用

• 可以容忍丢失,对速率敏感的流媒体应用
• DNS(名字转换),SNMP(网络管理),RIP(路由选择协议),NFS(远程文件服务器)

UDP实现可靠传输?

• 通过应用层增加可靠性机制
• 应用特定的错误恢复机制

报文段结构

传输层:TCP和UDP的区别

校验和

传输层:TCP和UDP的区别
传输层:TCP和UDP的区别


(二)TCP协议(传输控制协议)

特点

  • 面向连接(三次握手,四次挥手)
  • 全双工
  • 点对点
  • 发送方和接收方缓存
  • 流水线机制
  • 流量控制机制

应用

  • Telnet 远程登录协议
  • SMTP 邮件传输协议
  • HTTP 超文本传输协议
  • FTP 文件传输协议

报文段结构

传输层:TCP和UDP的区别

连接管理

三次握手和四次挥手

快速重传机制

传输层:TCP和UDP的区别
传输层:TCP和UDP的区别

流量控制机制

传输层:TCP和UDP的区别
传输层:TCP和UDP的区别
传输层:TCP和UDP的区别

拥塞控制机制

传输层:TCP和UDP的区别
传输层:TCP和UDP的区别
传输层:TCP和UDP的区别
传输层:TCP和UDP的区别
传输层:TCP和UDP的区别
传输层:TCP和UDP的区别
传输层:TCP和UDP的区别
传输层:TCP和UDP的区别


(三)两种协议的对比

传输层:TCP和UDP的区别

UDP: 面向报文 一对多,一对一,多对多,多对一通信 没有拥塞机制 无连接,不可靠 头部开销小,只要8个字节
TCP: 面向字节流 只能一对一通信,全双工通信 有拥塞机制 需要连接,数据内容和顺序可靠 头部开销大,至少要20字节
均不能保证: 延时保证和带宽保证


(四)参考

哈工大国家精品课程《计算机网络》