UDP协议的面向链接问题

网络 网络管理
UDP协议的基础内容,我们来介绍一下再面向链接的主要内容。那么在之后的文章中,我们还会对C#的实现方法进行阐述。

UDP协议的优点有很多,在TCP协议方面我们也做过比较。大家也都清楚,它的快速是TCP无法比拟的。现在我们就来简单介绍一下UDP协议的情况。走进UDP协议: UDP(User Datagram Protocol)协议就是“用户数据报协议",它是一种无连接的协议,无连接主要是和TCP协议相比较的。

我们知道当利用TCP协议传送数据的时候,首先必须先建立连接(也就是所谓的握手)才可以传输数据。而当计算机利用UDP协议进行数据传输的时候,发送方只需要知道对方的IP地址和端口号就可以发送数据,而并不需要进行连接。

当然如果你非要进行连接,通过Visual C#也是可以实现的,但前提是要确定连接的远程主机的端口号处于监听状态,否则程序会出现不必要的错误,但这是种画蛇添足的做法,不仅丢失了UDP协议的无连接传送数据的特点和优点,而且还给程序运行带来了不安定的因素。所以这种方法并不值得提倡。

由于UDP协议并不需要进行确定的连接,所以编写基于UDP协议的应用程序比起编写基于TCP协议的应用程序要简单些(程序中可以不需要考虑连接和一些异常的捕获工作)。但同时也给基于UDP协议编写的程序带来了一个致命的缺点,UDP由于不提供可靠数据的传输,当计算机之间利用UDP协议传送数据的时候,发送方只管发送数据,而并不确认数据是否被对方接收。这样就会导致某些UDP协议数据包在传送的过程中丢失,尤其网络质量不令人满意的情况下,丢失数据包的现象会更严重。这就是为什么在网络上传输重要数据不采用UDP协议的原因。

但是我们也不能因为这一个缺点就全面否定UDP协议,这是因为虽然利用UDP协议来传送安全性要求高的数据是不适合的,但对于那些不重要的数据,或者即使丢失若干数据包也不影响整体性的数据,如音频数据,视频数据等,采用UDP协议就是一个非常不错的选择。

如目前网络流行的很多即时聊天程序,如OICQ和ICQ等,采用的就是UDP协议。同时虽然UDP协议无法保证数据可靠性,但具有对网络资源开销较小,数据处理速度快的优点,所以在有些对数据安全性要求不是很高的情况下,采用UDP协议也是一个非常不错的选择。

总结一下上面的内容,可见UDP是一种不面向连接的网络协议,既有其优点,也有其不足,具体如下:

1.基于UDP协议的网络应用程序,实现起来比较简单,并且基于UDP协议的网络应用程序在运行时,由于受到环境影响较小,所以不容易出错。

2.UDP协议占用网络资源较少,数据处理较快,所以在网络中传送对安全性要求不是十分高数据时,其优点比较明显。所谓对安全性要求不高的数据,是指那些不重要的数据,或者是即使丢失若干数据,也不影响其整体的数据,如音频数据等。目前很多流行的网络应用程序都是基于UDP协议的,如OICQ、ICQ等。

3.由于其不是面向连接的网络协议,其缺点也是非常明显的,有些时候甚至是致命的。因为使用UDP协议来传送数据,在数据发送后,在发送方并不确认对方是否接收到。这样就可能导致传送的数据在网络中丢失,尤其在网络条件并不很好的情况下,丢失数据包的现象就更多。所以传送重要数据一般不采用UDP协议。

责任编辑:佟健 来源: 互联网
相关推荐

2010-07-09 10:13:42

UDP协议

2010-07-07 10:45:22

TCP UDP协议

2010-07-06 15:16:34

UDP协议

2013-08-01 10:01:02

网络协议TCP协议UDP协议

2014-06-13 13:47:31

UDP

2010-07-12 21:14:09

UDP协议

2010-06-28 15:45:07

UDP协议

2010-07-05 16:17:18

UDP协议

2020-01-03 07:57:39

UDPTCP网络协议

2010-07-08 12:42:34

UDP协议

2010-07-09 09:29:00

UDP协议

2010-07-01 16:55:03

UDP协议

2010-07-07 11:17:01

UDP协议应用

2010-06-10 16:20:37

BGP路由协议

2017-08-23 08:09:11

UDPDocker容器

2014-06-27 09:10:23

UDPTCP

2010-07-12 15:40:24

2010-06-12 15:30:57

UDP协议

2010-07-06 15:10:05

UDP协议

2010-07-08 12:58:03

UDP协议
点赞
收藏

51CTO技术栈公众号