欢迎来到军工软件开发人才培养基地——学到牛牛

UDP与TCP通信

时间:2024-05-06 07:01:10 来源:学到牛牛

​本文主要是带大家了解一下网络通信,以及UDP、TCP通信协议概念与其优缺点。

网络通信:

在将UDP、TCP之前,我们需要先了解什么是网络通信。网络通信是通过网络将各个孤立的设备进行连接,通过信息交换实现人与人,人与计算机,计算机与计算机之间的通信。说的通俗点,网络通信是通过网络使不同设备之间可以进行数据交互。

我们可以看一些生活中最常见的例子:

蓝牙

 

WiFi

 

手机热点

 

常见的网络通信设备:

而常见的一些网络通信设备有:

交换机

 

路由器

 

光猫

 

网线

 

网卡

网络通信协议:

网络通信中最重要的就是网络通信协议,那么什么是网络通信协议呢?

网络通信协议是一种网络通用语言,为连接不同操作系统和不同硬件体系结构的互联网络提供通信支持。

简单点,网络协议就是网络之间进行沟通、交流的桥梁,只有相同网络协议的计算机才能进行信息的沟通与交流。就像人与人之间一样,只有使用相同语言的人才能进行正常的交流与沟通。

常见的网络通信协议有:UDP、TCP、ICMP、HTTP、HTTPS、FTP等。

Internet 的传输层有两个主要协议,互为补充。无连接的是 UDP,面向连接的是 TCP。

UDP通信:

UDP是用户数据报协议(User Datagram Protocol),它为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。并且UDP报文没有可靠性保证、顺序保证和流量控制字段等,可靠性较差。

但是正因为UDP协议的控制选项较少,在数据传输过程中延迟小、数据传输效率高,适合对可靠性要求不高的应用程序,或者可以保障可靠性的应用程序,如DNS、TFTP、SNMP等。

通俗来讲,UDP通信就像发短信一样,我们只需要知道对方的电话即可编辑短信发送消息,并不需要理会对方是否处于在线、欠费、关机等状态。

 

 

 

一般应用于:周期性的状态信息、图片和视频数据传输、局域网内数据传输。

TCP通信:

TCP是传输控制协议(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

说的直白点,TCP就像打电话一样,必须要对方接通电话了,才能进行交流。一定要双方连接之后才能进行通信。因此TCP有三次握手和四次挥手。

三次握手:

第一次握手: 建立连接

第二次握手: 服务器接收到SYN报文段

第三次握手:客户端接收到服务器的SYN+ACK报文段

四次挥手:

第一次挥手: 主机1给主机2发送一个FIN报文段

第二次挥手: 主机2接收到后,向主机1回一个FIN报文段

第三次挥手: 主机2向主机1发送FIN报文段,请求关闭连接

第四次挥手: 主机1接到后向主机2发送ACK报文段,然后进入TIME_WAIT状态

简单来说,其实三次握手、四次挥手就像打电话一样。

三次握手:

客户端:你好,是服务器吗?

服务器:我在,是客户端吗?

客户端:是我

... ...

 

四次挥手:

客户端:我的事情说完了,你有问题吗?

服务器:还有一件事,等一下

 

... ...一段时间后:

 

服务器:好了,这下没问题了,挂了哦

客户端:好的

 

总结:

TCP:

传输控制协议(Transmission Control Protocol),比较像打电话。无连接、不可靠、无序、效率高、资源要求低

UCP:

用户数据报协议(User Datagram Protocol),比较像发消息。面向连接、可靠、不重复、安全、点对点、效率低、资源要求较高