peter |
2025年08月03日 00:12 |
0 次品读
TCP笔记
一、tcp和udp的区别是什么
1. 连接建立
- TCP:是面向连接的协议。在数据传输之前,必须先建立连接,这通过三次握手过程完成。连接建立后,数据可以可靠地传输。
- UDP:是无连接的协议。数据传输之前不需要建立连接,直接发送数据报。
2. 可靠性
- TCP:提供可靠的数据传输服务。数据在发送前会被分段,每个分段都有序号,接收端可以检测数据是否丢失或乱序,并请求重传丢失的数据段。
- UDP:不保证数据的可靠传输。数据报可能丢失、重复或乱序到达,但UDP不进行重传或排序。
3. 数据传输方式
- TCP:数据以字节流的形式传输,接收端根据序号重新组装数据。
- UDP:数据以数据报的形式传输,每个数据报独立发送,接收端按到达顺序处理数据报。
4. 传输效率
- TCP:由于需要建立连接、确认数据传输和重传机制,TCP的传输效率相对较低。
- UDP:由于没有连接建立和重传机制,UDP的传输效率较高,适合对实时性要求高的应用。
5. 适用场景
- TCP:适用于需要可靠传输的应用,如文件传输、电子邮件、网页浏览等。
- UDP:适用于对实时性要求高但可以容忍数据丢失的应用,如视频流、音频流、在线游戏等。
6. 头部开销
- TCP:头部长度为20字节(不包括选项)。
- UDP:头部长度为8字节。
7. 流量控制
- TCP:提供流量控制机制,通过滑动窗口协议动态调整发送窗口大小,防止发送方发送过多数据导致接收方缓冲区溢出。
- UDP:不提供流量控制机制。
8. 拥塞控制
- TCP:提供拥塞控制机制,通过拥塞窗口动态调整发送速率,避免网络拥塞。
- UDP:不提供拥塞控制机制。
9. 应用层协议
- TCP:常用的基于TCP的应用层协议包括HTTP、HTTPS、FTP、SMTP、POP3等。
- UDP:常用的基于UDP的应用层协议包括DNS、DHCP、SNMP、RTP等。
总结
- TCP:面向连接、可靠传输、传输效率较低,适用于需要可靠传输的应用。
- UDP:无连接、不可靠传输、传输效率较高,适用于对实时性要求高的应用。