TCP和UDP的区别
TCP的特点
- TCP是面向连接的.
- 仅支持单播传输, 每一条TCP连接只能有两个端点, 点对点的数据传输, 不支持多播和广播传输方式.
- TCP提供可靠交付的服务, 通过TCP连接传输的数据, 无差错, 不丢失, 不重复, 并且按序.
- TCP提供拥塞控制, 当网络出现拥塞时, TCP能减小数据发送的速率和数量, 缓解拥塞.
- TCP提供双全工通信, TCP允许通信双方的应用进程在任何时候都能发送数据. TCP连接的两端都设有发送缓存和接收缓存, 用来临时存放双方通信的数据.
- 面向字节流, 虽然应用程序和TCP的交互是一次一个大小不等的数据块, 但是TCP把数据仅仅看成一连串的 无结构的字节流.
UDP的特点
- UDP是面向无连接的.
- UDP使用尽最大努力交付, 即不保证可靠交付, 因此主机不需要维持复杂的连接状态.
- UDP 是面向报文的.
- UDP 没有拥塞控制, 因此网络出现拥塞不会使源主机的发送速率降低, 对实时应用很有用.
- UDP支持一对一, 一对多, 多对一和多对多的交互通信.
- UDP的首部开销小, 只有8个字节, 比TCP的20个字节的首部要短.
TCP和UDP比较
|
TCP |
UDP |
是否连接 |
面向连接 |
面向无连接 |
是否可靠 |
传输可靠 |
传输不可靠 |
连接对象个数 |
点对点, 一对一 |
一对一, 一对多, 多对一, 多对多 |
传输方式 |
面向字节流 |
面向报文 |
首部开销 |
20-60 |
8 |
所需资源 |
多 |
少 |
传输效率 |
低 |
高 |
使用场景 |
要求通信数据可靠, 如文件传输 |
要求通信速度高的实时应用, 如域名转换 |
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/KX-Lau/p/12555604.html