区分 TCP 和 UDP。

TCP

TCP代表传输控制协议,是一种面向连接的传输层协议。它通过网络在连接的机器之间提供可靠的连接和受保护的数据传输。它首先建立安全链接,然后发送数据。

TCP 以数据块的形式将数据从一个设备发送到另一个设备。它在数据传输上完全慢,但在系统中具有更多的功能,例如流量控制、错误控制和拥塞控制。TCP 报头为 20-60 字节,因此它包含几条信息以提高可靠性。但是,开销增加了。由于其可靠性,HTTP、FTP 等协议使用 TCP 在网络上正确传输数据。

UDP

UDP 代表用户数据报协议,是一种传输层无连接协议。它提供了通过网络在连接机器之间快速传输数据。在 UDP 中没有创建、维护和终止连接的开销。

它主要用于在我们无法承受任何传输延迟的情况下传输实时数据。UDP 以连续数据流的形式将数据从一台设备发送到另一台设备。

UDP 报头的大小是固定的,即 8 个字节。它不可靠,但速度更快。由于其传输速度,DNS、DHCP、RIP 等协议使用 UDP 在网络上正确传输数据。

TCP 和 UDP 的比较

TCP和UDP的主要区别如下:

基本TCPUDP
Full-FormTCP代表传输控制协议。UDP stands for User Datagram Protocol.
定义TCP 在发送数据之前在计算机之间建立连接。UDP sends the data directly to the destination computer without checking whether the system is ready to receive it or not.
连接类型它是一种面向连接的协议,表示应该在数据传输之前建立的连接。一旦发送方和接收方之间的通信结束,通信设备应该结束或移除连接。It is a Connectionless protocol representing no compulsion for creating, maintaining and removing a connection between source and destination end. It is best applicable for broadcast and multicast purposes.
可靠的TCP 是一种可靠的协议,因为它可以确保数据包的传送。UDP is an unreliable protocol. It does not affect the guarantee for the delivery of packets.
重传管理所有数据的交付,并自动重新传输丢失的数据。It is not performed. An application must detect lost data and retransmit
用法TCP 适用于需要高可靠性以及传输时间相对不那么重要的应用程序。UDP is relevant for applications that require fast, effective transmission, such as games. UDP's stateless nature is also helpful for servers that answer small queries from huge numbers of clients.
错误检查TCP 通过使用校验和来执行错误检查。当信息被更正后,数据被重新传输到接收器。It does not implement any error checking and also does not resend the lost data packets.
数据流数据以字节流的形式学习,没有特定的指示传达给信号消息(段)边界。数据包是单独发送的,只有在它们到达时才确定其完整性。数据包在接收时具有明确的边界,这意味着接收方套接字上的读取操作将产生最初发送的完整消息。