关于UDP协议的用途,看完就懂了

 我来答
白露饮尘霜17
2022-07-06 · TA获得超过1.2万个赞
知道大有可为答主
回答量:6701
采纳率:100%
帮助的人:36.4万
展开全部
目前我们用的大多数应用层的协议都是基于TCP的,例如:telent, ftp, http, https, smtp.很少有基于UDPy协议的应用层的协议。

那么UDP协议到底有什么作用呢?

首先我们比较下TCP与UDP协议的差别

(1)连接与无连接

TCP是面向连接的,UDP是面向无连接的。 因此导致TCP更适合于消息的多播发布可以向多个点传送消息(因为没有繁琐的握手机制与挥手机制)同时也导致UDP适用于快速传输的协议,对信息的时实性要求严格的协议。

由于UDP的速度快,所以适合于在线视频媒体,电话视频聊天,qq聊天,电视广播,多人在线游戏这些项目。

(为了时实性牺牲写可靠性,即使有包丢失,可能会导致语音不清楚,视频不清楚等问题,不过没有影响)

(2)可靠性

TCP是可靠的传输协议,UDP是不可靠的。

因此导致UDP不适合金融支付这方面要求可靠性的项目。 (因为UDP没有超时重传的机制不能保证可靠性)。

(3)有序性

TCP协议可以保证有序性,UDP协议不保证。

(消息将会以从服务端发出的顺序发送给客户端,尽管消息可能到网络的另一端时是无顺序的,TCP协议会为你排好序) 但是即使UDP不可靠,无序,但是我们可以将这些要求转移给上层应用来实现,不仅降低了执行时间,而且使质量得到保证。(例如可以通过给UDP协议使用序列号和重传机制来改善它的这两个缺点)。

(4)重量级与轻量级

TCP协议是重量级,UDP协议是轻量级

因为TCP要保证可靠性和有序性,所以TCP数据报报头的信息量大,报头大小是20个字节,UDP报头的大小是8个字节。所以TCP占用的系统的开销大。

(5)拥塞和流量控制

TCP有流量控制,UDP没有。

TCP通常在发送包之前会测试网络的快慢情况,就好比我们在linux中投的ping命令,通过往返的时间和丢包率来评估网路的状况,来调动滑动窗口的大小。(这项机制增加了TCP的可靠性)。

(6)数据边界

TCP协议没有数据边界,UDP有

因此TCP容易发生粘包的现象。在UDP中数据包是单独发送的,只有当他们到达时才会再次集成,包有明确的界限来判断哪些包已经收到。

总结:

UDP协议被广泛用到对网络数据传输的实时性很高,对数据准确性不是非常高的场合,并且如今网络物理介质的高速提升(光纤)降低了数据丢包的机率,并且当网络状况很好的情况下,UDP的缺点又可以很好的大程度上的被改善。因此UDP协议发展前途无量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
迪凯特科技(北京)有限公司
2018-11-13 广告
协议一般要包含:起始符、数据、校验码、结束符,5个部分的定义。 其中 起始符、结束符,不能与其他数据重码。 如只要传输字母与数字,可以看下ASCII码表,使用非数字和字母的符号做起始结束符即可,如{}; 数据长度码即表示此串数据包的数据长度... 点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式