1 TCP与UDP的区别
- 是否面向连接:UDP传数据前不需要先建立连接,TCP传数据前必须先建立连接,传送完必须先释放连接
- 是否可靠传输::
- 远地主机在收到 UDP 报文后,不需要给出任何确认,并且不保证数据不丢失,不保证是否顺序到达。
- TCP 提供可靠的传输服务,TCP 在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制。通过 TCP 连接传输的数据,无差错、不丢失、不重复、并且按序到达。
- 传输效率:TCP传输时多了连接、确认、重传等机制,所以TCP传输效率比UDP低很多
- 传输形式:TCP是面向字节流的,UDP是面向报文的
- 首部开销:TCP 首部开销(20 ~ 60 字节)比 UDP 首部开销(8 字节)要大。
2 什么时候选择 TCP,什么时候选 UDP?
UDP 一般用于即时通信,比如: 语音、 视频 、直播等等。这些场景对传输数据的准确性要求不是特别高,比如你看视频即使少个一两帧,实际给人的感觉区别也不大。
TCP 用于对传输准确性要求特别高的场景,比如文件传输、发送和接收邮件、远程登录等等
3 使用 TCP 的协议有哪些?使用 UDP 的协议有哪些?
运行于 TCP 协议之上的协议
HTTP 协议/HTTPS 协议 :主要为浏览器与服务器间通信设计的。HTTP 协议是基于 TCP 协议的,所以发送 HTTP 请求之前首先要建立 TCP 连接也就是要经历 3 次握手。
FTP 协议:FTP提供文件传输服务,可以屏蔽操作系统和文件存储方式。基于 TCP 实现可靠传输。
SMTP 协议:简单邮件传输协议,基于 TCP 协议,用来发送电子邮件。注意 ⚠️:接受邮件的协议不是 SMTP 而是 POP3 协议。
POP3/IMAP 协议: POP3 和 IMAP 两者都是负责邮件接收的协议。
SSH 协议 : SSH( Secure Shell)是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH 建立在可靠的传输协议 TCP 之上。
运行于 UDP 协议之上的协议
RTP协议:实时传输协议,主要用于音视频传输协议,基于UDP协议
DNS : 域名系统(DNS,Domain Name System)将人类可读的域名转换为机器可读的 IP 地址。 我们可以将其理解为专为互联网设计的电话薄。实际上 DNS 同时支持 UDP 和 TCP 协议
标签:协议,UDP,TCP,传输,SSH,连接 From: https://www.cnblogs.com/iterationjia/p/16965425.html