千家信息网

什么是UDP协议

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,什么是UDP协议,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。UDP是什么?UDP是User Datagram Protocol的缩写,
千家信息网最后更新 2025年02月03日什么是UDP协议

什么是UDP协议,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

UDP是什么?

UDP是User Datagram Protocol的缩写,是一种用户数据报协议,又称为用户数据报文协议。区别于TCP是面向连接的协议,UDP是一个简单的面向数据报的传输层协议,UDP的发起和接受是不需要经过连接的,仅仅只需要发送在对应端口上进行监听接受即可,不需要两个客户端一定是连接的

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

UDP传输不可靠的原因有五点:

  1. 它一但把数据发送给网络的数据发送出去,就不保留备份数据

  2. 在UDP的数据层面,只管发送或者是接受数据,而不对这个数据进行保存备份重发等等

  3. UDP在IP数据报的头部仅仅加入了复用和数据校验

  4. 发送端生产数据、接受端从网络中抓取数据,发送的时机和抓取的时机不想等,可能会导致客户端发送的数据服务器端没有接受到,在UDP中其实是没有标准的客户端和服务器端的,

  5. UDP结构简单,无校验,速度快,容易丢包、可广播

TCP协议和UDP协议的区别是什么?

  1. TCP协议是有连接的,有连接的意思是开始传输实际数据之前TCP的客户端和服务器端必须通过三次握手建立连接,会话结束之后也要结束连接。而UDP是无连接的

  2. TCP协议保证数据按序发送,按序到达,提供超时重传来保证可靠性,但是UDP不保证按序到达,甚至不保证到达,只是努力交付,即便是按序发送的序列,也不保证按序送到。

  3. TCP协议所需资源多,TCP首部需20个字节(不算可选项),UDP首部字段只需8个字节。

  4. TCP有流量控制和拥塞控制,UDP没有,网络拥堵不会影响发送端的发送速率

  5. TCP是一对一的连接,而UDP则可以支持一对一,多对多,一对多的通信。

  6. TCP面向的是字节流的服务,UDP面向的是报文的服务。

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

常见问题:QQ用的是TCP还是UDP?

QQ采用的通信协议以UDP为主,辅以TCP协议。QQ并不是完全基于UDP实现,比如在使用QQ进行文件传输等活动的时候,就会使用TCP作为可靠传输的保证。

由于QQ的服务器设计容量是海量级的应用,一台服务器要同时容纳十几万的并发连接,因此服务器端只有采用UDP协议与客户端进行通讯才能保证这种超大规模的服务。

QQ客户端之间的消息传送也采用了UDP模式,因为国内的网络环境非常复杂,而且很多用户采用的方式是通过代理服务器共享一条线路上网的方式,在这些复杂的情况下,客户端之间能彼此建立起来TCP连接的概率较小,严重影响传送信息的效率。而UDP包能够穿透大部分的代理服务器,因此QQ选择了UDP作为客户之间的主要通信协议。

采用UDP协议,通过服务器中转方式。大家都知道,UDP协议是不可靠协议,它只管发送,不管对方是否收到的,但它的传输很高效。但是,作为聊天软件,怎么可以采用这样的不可靠方式来传输消息呢?于是,腾讯采用了上层协议来保证可靠传输:如果客户端使用UDP协议发出消息后,服务器收到该包,需要使用UDP协议发回一个应答包。如此来保证消息可以无遗漏传输。之所以会发生在客户端明明看到"消息发送失败"但对方又收到了这个消息的情况,就是因为客户端发出的消息服务器已经收到并转发成功,但客户端由于网络原因没有收到服务器的应答包引起的。

之所以当时应用UDP,最本质上UDP的优势还是带宽的利用。这一切要回归到99~03年的网络状况,当时网络的特点就是接入带宽很窄而且抖动特别厉害。所谓抖动可能是多方面的,例如延时突发性地暴增、也有可能是由于路由层面的变化突然导致路由黑洞,还各种等等等等的问题。TCP因为拥塞控制、保证有序等原因,在这种网络状态上对带宽的利用是非常低的。而且因为网络抖动的原因,应用层心跳超时,应用层主动断掉socket之后TCP需要三次握手才能重新建立链接,一旦出现频繁的小抖动就会使得带宽利用更低。而等待四次挥手的时间,也会占用服务器上宝贵的资源。

总结来说,当网络差到一定程度了,TCP的优势反而会成为劣势。

看完上述内容,你们掌握什么是UDP协议的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

数据 服务 服务器 客户 客户端 网络 保证 传输 消息 原因 带宽 方式 问题 应用 之间 用户 控制 通信 复杂 一对一 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 闵行区新型网络技术质量保障 淮南定制软件开发 战争雷霆服务器脱机 数据库技术应用的是什么 直流充电桩软件开发 网络安全与执法的特点 内蒙古专业软件开发价钱 乐心手环服务器忙怎么办 思科零信任网络安全架构 北京点胶软件开发 携号转网时代运营商归属数据库 飞扬时光服务器请求没有成功 网易云网络安全工程师 天津商城软件开发放心省心 商赢软件开发 湖南电网网络安全 阿里云中怎么删除数据库 浏览器访问服务器不用什么协议 大黄峰网络技术有限公司 求生之路2几分钟重新连接服务器 移动营业厅里的服务器 魔法金属开不了服务器 合适的郑州软件开发公司 服务器买回家要自己装系统吗 参加网络安全大赛有什么用 明日之后服务器互通公告哪里看 系统管理不能登陆到加密服务器 善诚网络技术有限公司 成为软件开发测试工程师 软件开发及计费规范和标准
0