一般说到TCP协议我们都会想到UDP协议,两个协议都是传输层协议,我们现在使用的网络,视频,几乎都是通过这两种协议来实现的,那我们就来看看什么是TCP协议,什么是UDP协议,二者又有什么区别。
一、TCP协议和UDP协议的概念
TCP(英语:Transmission Control Protocol)是传输控制协议,是一种面向连接的协议,它保证数据在网络中传输的可靠性。
UDP(英语:User Datagram Protocol)是用户数据报协议,是一种无连接的协议,它不保证数据在网络中传输的可靠性。
二、TCP协议和UDP协议的区别
两者都是用来传输数据,在底层上都是一堆二进制,最大的区别就是连接的不同。
我在b站看到的视频,他是用一个简单的例子来描述的:
举个例子就是写信和打电话
写信:我们需要确认对方是否收到,内容是否完整,顺序是否正确 --->UDP(没有连接)
电话:电话接通,互相通信,结束挂断--->TCP(连接)
主要区别如下:
可靠性:TCP 是面向连接的协议,它会在数据发送端和接收端之间建立连接,并在数据传输过程中进行确认,保证数据在网络中传输的可靠性。UDP 是无连接的协议,它不会在数据发送端和接收端之间建立连接,也不会在数据传输过程中进行确认,所以 UDP 不保证数据在网络中传输的可靠性。
传输速度:TCP 是面向连接的协议,它需要在数据发送端和接收端之间建立连接,并在数据传输过程中进行确认,所以 TCP 的传输速度比 UDP 慢。UDP 是无连接的协议,它不需要在数据发送端和接收端之间建立连接,也不需要在数据传输过程中进行确认,所以 UDP 的传输速度比 TCP 快。
在TCP协议中,一个很重要的就是三次握手和四次握手,接下来我将以文字和图片来描述
三、三次握手和四次挥手
三次握手:一种用于在两个计算机之间建立可靠的通信链路的协议。它是TCP/IP协议族中的一个重要协议,用于在两个计算机之间建立连接。
过程如下:
1. 客户端向服务器发送一个连接请求(SYN)数据包。
2. 服务器向客户端发送一个确认(ACK)数据包,同时发送一个连接请求(SYN)数据包。
3. 客户端向服务器发送一个确认(ACK)数据包,完成连接。
四次挥手:是一种用于在两个计算机之间终止连接的协议。它是TCP/IP协议族中的一个重要协议,用于在两个计算机之间终止连接。
过程如下: 1. 客户端向服务器发送一个终止连接(FIN)数据包。
2. 服务器向客户端发送一个确认(ACK)数据包。
3. 服务器向客户端发送一个终止连接(FIN)数据包。
4. 客户端向服务器发送一个确认(ACK)数据包,完成连接终止。
图解:
三次握手和四次挥手是TCP/IP协议族中重要的协议,它们保证了在两个计算机之间建立连接和终止连接的可靠性。
对于TCP会进行三次握手和四次挥手,而UDP就是简答的把数据进行包装一下然后就发送出去。
四、使用场景
在实际使用中,我们可以根据应用场景的不同选择 TCP 或 UDP。如果对数据传输可靠性要求较高,我们可以选择 TCP。如果对数据传输可靠性要求不高,我们可以选择 UDP。
TCP 适用于对数据传输可靠性要求较高的应用场景,例如文件传输、数据库通信等。
UDP 适用于对数据传输可靠性要求不高的应用场景,例如视频直播、语音通话等。