2、TCP和UDP
大约 1 分钟
1.TCP和UDP的区别
TCP传输控制协议和UDP用户数据报协议(User Datagram Protocol)都是传输层协议,它们的区别如下:
- 面向连接:TCP是面向连接的,UDP不是
- 可靠:TCP是可靠的,UDP是不可靠的
- 格式:TCP是面向字节流的,UDP是面向报文的
- 状态:TCP是有状态的,会记录数据包是否已经发送、已经接收,UDP不会记录状态
- 速度:TCP需要进行确认、重传等,比较慢,UDP很快
- 首部长度:TCP首部长(20B-60B),UDP首部短(8B)
2.什么时候选TCP/UDP
- 需要可靠连接的时候,一般会选择TCP
- 需要高效率传输时候,可靠不那么重要,一般会选择UDP,比如在线音频视频等等,丢失一个包可能影响也不大
3.HTTP基于TCP还是UDP
HTTP/3.0之前是TCP的,HTTP/3.0之后是UDP的了
主要是为了解决队头阻塞问题。所谓队头阻塞,就是HTTP/2.0中多个HTTP请求是共享一个TCP连接的,当某个请求阻塞时,后面的都会阻塞。
HTTP/3.0采用多个连接,所以缓解了队头阻塞问题。
4.使用TCP/UDP的协议有哪些
使用TCP连接的:
- HTTP/3.0之前
- HTTPS
- FTP
- SSH 专为远程登录提供的安全协议
- IMAP/POP3 邮件接收
- SMTP 简单邮件发送
- Telnet 远程登录
使用UDP的:
- DNS DNS是TCP和UDP都使用了,53端口
- HTTP/3.0
- DHCP 动态主机配置协议,动态配置IP地址用的