传输层:TCP和UDP的区别
文章目录
(一)UDP协议(用户数据报协议)
特点
- 基于IP协议(所以尽力而为不可靠)
○ 复用/分用
○ 简单的错误校验,没有错误恢复 - “Best effort” 服务
○ 造成丢失
○ 造成非按序到达 - 无连接
○ UDP发送方和接收方之间无需握手
○ 每个UDP段的处理独立于其他段
存在的原因
-
无需连接建立
-
无需维持连接状态
-
报文段头部开销小(每个UDP报文段首部开销仅需8字节,TCP需要20字节
-
没有拥塞机制,应用能够更好的控制发送时间和速率。
应用
• 可以容忍丢失,对速率敏感的流媒体应用
• DNS(名字转换),SNMP(网络管理),RIP(路由选择协议),NFS(远程文件服务器)
UDP实现可靠传输?
• 通过应用层增加可靠性机制
• 应用特定的错误恢复机制
报文段结构
校验和
(二)TCP协议(传输控制协议)
特点
- 面向连接(三次握手,四次挥手)
- 全双工
- 点对点
- 发送方和接收方缓存
- 流水线机制
- 流量控制机制
应用
- Telnet 远程登录协议
- SMTP 邮件传输协议
- HTTP 超文本传输协议
- FTP 文件传输协议
报文段结构
连接管理
快速重传机制
流量控制机制
拥塞控制机制
(三)两种协议的对比
UDP: 面向报文 一对多,一对一,多对多,多对一通信 没有拥塞机制 无连接,不可靠 头部开销小,只要8个字节
TCP: 面向字节流 只能一对一通信,全双工通信 有拥塞机制 需要连接,数据内容和顺序可靠 头部开销大,至少要20字节
均不能保证: 延时保证和带宽保证
(四)参考
哈工大国家精品课程《计算机网络》