侵权投诉

TCP协议和UDP协议对比 UDP协议的原理及应用

39度创意研究所 2020-10-26 15:05 次阅读

前言

TCP协议在不可靠的网络环境上提供了可靠的通信通道,隐藏了大量的底层细节,使应用程序更加简洁。但有些应用并不需要这么高的可靠性,并不需要按序交付,而且TCP为了提高可靠性也增加了延时,在某些对延时或抖动要求很高的情景下并不适用。为此,UDP(User Datagram Protocol,用户数据报协议)被提出。UDP虽然应用较为广泛,比如DNS查询等,但一直不是重要的角色。自从WebRTC被提出以来,它可以使浏览器在UDP的基础上实现原生的语音和视频实时通信及其他形式的P2P通信,UDP在这种境况下显得更加重要。本文大致介绍UDP的原理及应用,以求加深对其理解。

UDP

TCP是面向连接的,需要三次握手建立连接之后再传输数据,而是UDP面向无连接的,它并不能保证信息交付,也不能保证按序交互,也不跟踪连接状态,也不需要拥塞控制。

要了解UDP和为什么它通常被称为“空协议”,我们首先需要了解一下互联网协议(IP),它位于TCP和UDP协议层下面。IP层主要任务就是基于地址将数据报从源主机发送到目的主机。要做到这一点,消息都封装在一个IP包,标识源和目的地址,以及一些其他路由参数。

我们再次强调一下上面提到的数据报这个术语的含义:IP层提供了不可靠的数据传输,既没有消息确认,也没有丢失通知, IP层直接把这一层的不可靠性暴露给上层。如果一个数据报在传输过程中因为某个路由节点拥塞,高负荷,或因其他原因丢失,那么由IP上层的协议来检测,恢复,并重传数据 - 当然这是在上层有这个需求的时候!IPv4的首部结构如下:

UDP协议会用自己的分组结构封装用户信息,其数据格式如下:

如上图所示,我们在UDP数据报里增加了源端口和目标端口,这样就使得当IP分组被送到接收端后,接收端就可以拆开UDP分组,根据目标端口找到对应的应用程序,然后再把数据传递给应用程序。

从IP和UDP的数据格式可以看到,它们的首部都带有校验和,都可以用来校验数据,那么应用程序即使忽略UDP的校验和也不影响数据完整性,校验和字段是可选的。这意味着UDP层所有的错误检测和纠错,可以委托给上述应用层校验。说到底,UDP仅仅是在IP层上通过嵌入应用程序的源端口和目标端口,提供了一个“应用程序多路复用”机制。由此可以得到UDP的特征如下:

不保证消息交付:不确认,不重传,无超时;

不保证交付顺序:不设置包序号,不重排,不发生队首阻塞;

不跟踪连接状态:不必建立连接或重启状态机;

不需要拥塞控制:不内置客户端或网络反馈机。

TCP是一个面向字节流的协议,能够通过多个分组的形式发送应用程序的消息数据,包内本身没有任何明确的消息边界。为了实现这一目标,连接两端都分配了连接状态,并且数据包被排序,重发丢包,按顺序发送。相反UDP数据报有明确的界限:每一个数据报都被打包到一个IP包中,应用层读到的每一个UDP包都是完整的信息 - 数据报不能被分割

关于数据报(Datagram)详细定义如下:

数据报:一个自包含的,独立的数据实体,其承载了足够的信息,使其可以从源路由到达目标路由,而不依赖于在网络节点前的数据交换和传输网络没有任何依赖。

数据报文(Datagram)和数据包(Packet)两个术语往交替使用,但其实二者有一些细微差别。数据包(packet)一般用来描述任何格式的数据块,而数据报(Datagram)往往被保留用来描述通过一个不可靠的服务传输的数据包(Packet) - 没有传输保障,没有失败通知。所以UDP包一般或者说更准确的被称为数据报(Datagram)。

UDP是一个简单的,无状态的协议,适合于引导上层的其他应用层协议 - 几乎所有的协议决策都留给它上面的应用层。然而,在你想实现自己的协议来取代TCP,你应该仔细考虑有关的复杂性,如UDP与其它层的交互(比如NAT穿越),以及网络协议一些最佳实践。没有仔细的规划和设计,设计一个新的协议不是一个好主意,最终也许实现成一个的简陋的TCP版本。
编辑:hfy

收藏 人收藏
分享:

评论

相关推荐

微软计划增加一种“去高级权限”浏览器的方法,遭到谷歌工程师质疑

IT之家11月25日消息 外媒Windows Latest报道,微软最近的Chromium提交表明,....
的头像 工程师邓生 发表于 11-25 15:45 34次 阅读
微软计划增加一种“去高级权限”浏览器的方法,遭到谷歌工程师质疑

关于Modbus协议的PLC和仪表转SQL数据库双向通讯

IGT-DSER智能网关模块,支持各种PLC、智能仪表、远程IO与数据库之间双向通讯,既可以读取设备的数据上报到MySQL...
发表于 11-25 10:51 0次 阅读
关于Modbus协议的PLC和仪表转SQL数据库双向通讯

微软明年将停止支持Internet Explorer 11

事实上,对于微软来说,封杀IE处理器是情理之中事情(第三大浏览器),因为他们要全力发展Edge。
的头像 lhl545545 发表于 11-25 10:25 198次 阅读
微软明年将停止支持Internet Explorer 11

微软不希望用户使用IE浏览网站

外媒Windows Latest报道,看来微软真的不希望你使用IE浏览器浏览流行网站,比如YouTu....
的头像 璟琰乀 发表于 11-25 09:41 55次 阅读
微软不希望用户使用IE浏览网站

微软将下手封杀IE,全力发展Edge浏览器

事实上,对于微软来说,封杀IE处理器是情理之中事情(第三大浏览器),因为他们要全力发展Edge。
的头像 如意 发表于 11-25 09:39 59次 阅读
微软将下手封杀IE,全力发展Edge浏览器

微软Edge浏览器智能复制功能 可直接复制网页表格

微软目前正在 Chromium Edge 中测试一项名为 智能复制的新功能,以改变文档、邮件等中复制....
的头像 工程师邓生 发表于 11-24 11:21 173次 阅读
微软Edge浏览器智能复制功能 可直接复制网页表格

如何放弃中国特供版,直接下载原生火狐浏览器

最近看到有朋友在吐槽火狐浏览器,推送的内容实在是太过辣眼睛。
的头像 如意 发表于 11-24 09:51 217次 阅读
如何放弃中国特供版,直接下载原生火狐浏览器

因浏览器拦截优酷广告,开发者被告上法庭

在优酷等视频网站上,广告是重要的营收来源,拦截广告是有可能引来麻烦的。日前X浏览器的开发者就在网上诉....
的头像 如意 发表于 11-23 16:07 35次 阅读
因浏览器拦截优酷广告,开发者被告上法庭

微软盘点对Chromium浏览器的开发贡献

外媒 mspoweruser 报道,自从微软宣布将放弃开发自家的 EdgeHTML 渲染引擎,Edg....
的头像 璟琰乀 发表于 11-23 10:46 112次 阅读
微软盘点对Chromium浏览器的开发贡献

Chrome浏览器决定 延长Windows 7系统的支持时间

10亿用户的全球第一大浏览器Chrome日前决定,延长对Windows 7系统的支持时间。 今年1月....
的头像 工程师邓生 发表于 11-23 10:15 141次 阅读
Chrome浏览器决定 延长Windows 7系统的支持时间

Flash退役:目前已有1000多款小游戏和动画被悄悄保存下来了

今年12月31日,Adobe将结束对Flash的官方支持,诸多浏览器已经在Beta版甚至稳定版中移除....
的头像 工程师邓生 发表于 11-23 10:09 142次 阅读
Flash退役:目前已有1000多款小游戏和动画被悄悄保存下来了

谷歌决定自明年放弃对Windows 7的更新支持

坐拥10亿用户的全球第一大浏览器Chrome日前决定,延长对Windows 7系统的支持时间。
的头像 lhl545545 发表于 11-23 09:05 154次 阅读
谷歌决定自明年放弃对Windows 7的更新支持

域名系统DNS的概念和设施详细说明

本RFC是对域名系统(DNS)的介绍,它省略了许多可以在RFC中找到的细节,“域名-实现和规范”〔R....
发表于 11-23 08:00 24次 阅读
域名系统DNS的概念和设施详细说明

Linux运维经常使用的40个命令总结

本文档的主要内容详细介绍的是Linux运维经常使用的40个命令总结
的头像 Wildesbeast 发表于 11-22 11:14 228次 阅读
Linux运维经常使用的40个命令总结

谷歌Chrome浏览器已实现iPadOS多窗口功能

Google Chrome for iPad 的一个全新更新,让用户可以并排打开多个浏览器窗口,这一....
的头像 如意 发表于 11-20 15:35 219次 阅读
谷歌Chrome浏览器已实现iPadOS多窗口功能

微软加紧对Chromium浏览器核心,有利于其行业发展

对于浏览器市场,微软采取了 “如果你不能打败他们,就加入他们 ”的方式。浏览器市场最新份额报告显示,....
的头像 如意 发表于 11-20 14:44 153次 阅读
微软加紧对Chromium浏览器核心,有利于其行业发展

《HarmonyOS网络编程》实验指导、代码、课件

HarmonyOS物联网编程第四讲——HarmonyOS网络编程 本讲包含以下内容,具体代码、课件、代码实验指南请下载附件: ...
发表于 11-20 14:12 870次 阅读
《HarmonyOS网络编程》实验指导、代码、课件

Edge浏览器或将更改URL链接的复制粘贴方法

基于 Chromium 的新版 Edge 正计划更改你在电子邮件、应用或者网页中复制和粘贴链接的方式....
的头像 如意 发表于 11-20 11:32 249次 阅读
Edge浏览器或将更改URL链接的复制粘贴方法

谷歌决定为iOS开发XCloud的网页应用版本

美国当地时间周四,谷歌正式宣布其云游戏服务Stadia将以网页应用的形式登陆苹果iOS平台。此举旨在....
的头像 lhl545545 发表于 11-20 10:45 198次 阅读
谷歌决定为iOS开发XCloud的网页应用版本

Edge浏览器正针对苹果M1进行优化

苹果推出的ARM处理器M1搅动了PC行业的一池春水,伴随着该芯片的到来,软件巨头们也纷纷跟进,宣布针....
的头像 如意 发表于 11-19 11:50 149次 阅读
Edge浏览器正针对苹果M1进行优化

适用于M1 MacBook的Firefox和Chrome浏览器上线

援引外媒 9to5Google 报道,适用于 Apple Silicon Mac 设备的 Chrom....
的头像 如意 发表于 11-19 11:12 220次 阅读
适用于M1 MacBook的Firefox和Chrome浏览器上线

Intel即将推出Rocket Lake台式机CPU

Apple M1作为由ARM驱动的芯片,引起了许多关注,尤其是对于众多果粉而言更是一件兴奋的事情。
的头像 lhl545545 发表于 11-19 10:00 940次 阅读
Intel即将推出Rocket Lake台式机CPU

再见了,令人烦恼的广告弹窗

近年来,随着移动互联网的快速发展,手机浏览器逐渐成为广大网民日常获取讯息的重要窗口。然而,手机浏览器....
的头像 如意 发表于 11-18 16:10 263次 阅读
再见了,令人烦恼的广告弹窗

Chrome 87发布下载,CPU占用率爆降5倍

本周,Chrome 87发布下载,面向Windows PC、Mac、Linux、Android、iO....
的头像 如意 发表于 11-18 10:46 228次 阅读
Chrome 87发布下载,CPU占用率爆降5倍

谷歌升级浏览器中的虹膜追踪模型

虹膜追踪(Iris tracking) 可广泛应用于多个领域,如辅助技术中的免触摸界面,以及了解除点....
的头像 TensorFlow 发表于 11-18 09:50 168次 阅读
谷歌升级浏览器中的虹膜追踪模型

微软Edge将加入多任务处理等新功能

据外媒 WindowsLatest 今日报道,基于 Chromium 的微软 Edge 浏览器在最新....
的头像 璟琰乀 发表于 11-18 09:39 202次 阅读
微软Edge将加入多任务处理等新功能

微软已确认win10的 Edge 浏览器无法卸载

前几天升级了Windows 10 H2版,冷不丁发现微软自动安装了新版Edge浏览器,虽然我之前已经....
的头像 如意 发表于 11-18 09:32 544次 阅读
微软已确认win10的 Edge 浏览器无法卸载

谷歌发布多个平台的Chrome 87正式版浏览器 针对Apple Silicon优化

谷歌今天发布了多个平台的 Chrome 87 正式版浏览器,谷歌称此次更新是多年来 Chrome 浏....
的头像 工程师邓生 发表于 11-18 09:26 530次 阅读
谷歌发布多个平台的Chrome 87正式版浏览器 针对Apple Silicon优化

微软Edge浏览器更新:已支持同步历史记录

据Windows Central报道,微软Edge浏览器刚刚获得了一项新功能,用户可以跨设备打开浏览....
的头像 如意 发表于 11-18 09:24 233次 阅读
微软Edge浏览器更新:已支持同步历史记录

WhatsApp 终止对 Win10 经典 Edge 浏览器支持

外媒 Windows Latest 报道,今年 1 月,微软推出了基于开源平台 Chromium 的....
的头像 工程师邓生 发表于 11-16 16:52 228次 阅读
WhatsApp 终止对 Win10 经典 Edge 浏览器支持

微软正在对一项新的 “功能”进行 A/B 测试?

外媒 Windows Latest 报道,Windows 10 开始测试用全屏 Edge 浏览器广告....
的头像 lhl545545 发表于 11-16 16:34 429次 阅读
微软正在对一项新的 “功能”进行 A/B 测试?

Edge浏览器份额突破10%,能否与Chrome一战?

我们知道,Edge浏览器在今年正式换用了Chromium内核。对于软粉来说,这不是一个值得高兴的事情....
的头像 如意 发表于 11-16 09:31 156次 阅读
Edge浏览器份额突破10%,能否与Chrome一战?

微软Edge的同步要比Chrome靠谱?

我们知道,Edge浏览器在今年正式换用了Chromium内核。对于软粉来说,这不是一个值得高兴的事情....
的头像 lhl545545 发表于 11-16 09:03 203次 阅读
微软Edge的同步要比Chrome靠谱?

【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】TCP/IP编程简述和TCP客户端demo

本篇学习内容主要参考润和官方demo https://gitee.com/hihopeorg/HarmonyOS-IoT-Application-Development 连老师TC...
发表于 11-14 16:26 22次 阅读
【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】TCP/IP编程简述和TCP客户端demo

微软在补丁日为Windows 10推送了累积安全更新

Windows 10本周二推送的一个新的补丁修复了TCP/IP死锁问题,在之前的用户反馈中,由于TC....
的头像 lhl545545 发表于 11-14 10:29 556次 阅读
微软在补丁日为Windows 10推送了累积安全更新

如果美国关闭根服务器,全世界是否会“无网可用”?

如今全球正处于互联网时代,信息的交汇和数据的处理变得非常简单,真正做到了足不出户便已知晓天下大事!这....
的头像 我快闭嘴 发表于 11-14 09:11 318次 阅读
如果美国关闭根服务器,全世界是否会“无网可用”?

索尼PS5有浏览器功能,但无法随意访问它

索尼最近表示PS5并没有内置浏览器。不过这并不准确,PS5实际上是拥有浏览器的,但是玩家无法随意访问....
的头像 如意 发表于 11-13 11:41 349次 阅读
索尼PS5有浏览器功能,但无法随意访问它

五种常见的物联网安全威胁

黑客每天都在扫描网络中的设备和已知漏洞,并越来越多地使用非标准端口来获取网络访问权限。一旦他们拥有设....
的头像 物联网智慧城市D1net 发表于 11-12 16:16 228次 阅读
五种常见的物联网安全威胁

Linux网络状态工具ss命令使用详解

很多流行的Linux发行版都支持ss以及很多监控工具使用ss命令.熟悉这个工具有助于您更好的发现与解....
的头像 Linux爱好者 发表于 11-12 15:43 216次 阅读
Linux网络状态工具ss命令使用详解

为什么建链接要3次握手,断链接需要4次挥手?

假设Client端发起中断连接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说"....
的头像 Linux爱好者 发表于 11-12 15:36 226次 阅读
为什么建链接要3次握手,断链接需要4次挥手?

Chrome 浏览器全局媒体控件支持桌面实时字幕

外媒 mspoweruser 报道,Chrome 浏览器一直在缓慢地更新其全局媒体控制的功能,并在其....
的头像 工程师邓生 发表于 11-10 16:44 276次 阅读
Chrome 浏览器全局媒体控件支持桌面实时字幕

ARM版Chrome浏览器至今未推出,技术问题已解决

想要让传统 Windows 应用在 Windows 10 on ARM 设备上运行的更快,最佳的解决....
的头像 如意 发表于 11-10 10:54 471次 阅读
ARM版Chrome浏览器至今未推出,技术问题已解决

Chrome扩展程序过多找不到怎么办?教你解决

如果你是一名Chrome的熟客,那么应该对各类扩展程序得心应手。
的头像 如意 发表于 11-10 09:23 189次 阅读
Chrome扩展程序过多找不到怎么办?教你解决

请问407+LWIP+TCP+无操作系统测试的发送速度是多少?

请问你们的407+LWIP+TCP+无操作系统测试的发送速度是多少? ...
发表于 11-09 23:12 303次 阅读
请问407+LWIP+TCP+无操作系统测试的发送速度是多少?

谷歌申请认证让所有的浏览器和操作系统都能收录

现在大多数网络都使用 HTTPS 协议来安全传输信息,这部分得益于谷歌的推动。然而,这也意味着如果你....
的头像 lhl545545 发表于 11-09 11:49 296次 阅读
谷歌申请认证让所有的浏览器和操作系统都能收录

2021年将无法在Android 7.1.1更早的系统上访问认证

证书管理机构Let’s Encrypt警告称,计划从2021年1月11日开始,停止对上述手机系统默认....
的头像 lhl545545 发表于 11-09 10:45 303次 阅读
2021年将无法在Android 7.1.1更早的系统上访问认证

历史记录和选项卡同步功能现已上线微软 Edge 浏览器 Dev88 版本

微软在本周三推出了 Dev 88.0.685.3 版本的 Edge 浏览器,官方并未提及历史同步方面....
的头像 工程师邓生 发表于 11-06 15:46 237次 阅读
历史记录和选项卡同步功能现已上线微软 Edge 浏览器 Dev88 版本

TCP BBR拥塞控制算法深度解析

我一向觉得TCP拥塞控制算法太过复杂,而复杂的东西基本上就是用来装逼的垃圾,直到遇到了bbr。
发表于 11-06 09:26 457次 阅读
TCP BBR拥塞控制算法深度解析

微软的新版Edge影响了很多以Chromium为内核的其他浏览器

不得不说,这个设计真的非常难用,而且它还影响了很多以Chromium为内核的其他浏览器,例如微软的新....
的头像 lhl545545 发表于 11-05 10:58 235次 阅读
微软的新版Edge影响了很多以Chromium为内核的其他浏览器

TCP/IP十个问题

本文整理了一些TCP/IP协议簇中需要必知必会的十大问题,既是面试高频问题,又是程序员必备基础素养。....
的头像 璟琰乀 发表于 11-04 14:46 269次 阅读
TCP/IP十个问题

TCP/IP介绍

TCP/IP 是用于因特网 (Internet) 的通信协议。 计算机通信协议(Computer Communication Protocol)计算机通信协议是...
发表于 11-04 11:44 202次 阅读
TCP/IP介绍

再见IE,你好Edge,微软将在2021年终止对IE的支持

浏览器市场最近几年竞争非常激烈,基于Chromium核心的浏览器大行其道,非常受欢迎,在这场浏览器大....
的头像 如意 发表于 11-03 16:30 436次 阅读
再见IE,你好Edge,微软将在2021年终止对IE的支持

浏览器更应该做好哪些功能?

这也是近几年来,手机浏览器类 APP 第一次遭到网信办如此严厉的警告,且涉及范围之广,超乎以往。
的头像 lhl545545 发表于 11-03 16:17 872次 阅读
浏览器更应该做好哪些功能?

自研搜索,苹果意在何为?

由此可见,苹果对于搜索这块蛋糕觊觎已久,在与谷歌展开合作的同时,在自建搜索业务上也是动作频频,而究其....
的头像 lhl545545 发表于 11-03 16:08 305次 阅读
自研搜索,苹果意在何为?

TCP/IP必会的10个问题图解

一、TCP/IP模型 TCP/IP协议模型(Transmission Control Protoco....
的头像 数据分析与开发 发表于 11-03 09:34 229次 阅读
TCP/IP必会的10个问题图解

TCP、VISA通讯

TCP、VISA通讯,仅供参考
发表于 09-29 19:19 182次 阅读
TCP、VISA通讯

外网浏览器安卓版哪个好用

外网浏览器器安卓版哪个好用?现在的人都喜欢用手机浏览各种网页新闻,或者看小说,这些都是需要有浏览器才能完成的,那么安卓版...
发表于 09-24 14:56 202次 阅读
外网浏览器安卓版哪个好用

请问手机版免费跨境浏览器怎么下载?

手机是现在很多人都不离身的东西,因为没有了手机就联系不上了,而且手机是人们获取外界信息的重要工具,现在的人都喜欢通过手机...
发表于 09-17 15:48 404次 阅读
请问手机版免费跨境浏览器怎么下载?

labviewTCP通讯为什么只能发送一次数据?

在程序框图里面我已经使用WHILE循环在一直读数据,然后又使用事件结构想实现发送数据的功能,但是现在点击以及布尔之后就会...
发表于 09-16 13:19 124次 阅读
labviewTCP通讯为什么只能发送一次数据?

学嵌入式网络编程少不了的协议:TCP/IP

1、OSI参考模型及TCP/IP参考模型读者一定都听说过著名的OSI协议参考模型,它是基于国际标准化组织(ISO)的建议发...
发表于 08-25 18:52 1010次 阅读
学嵌入式网络编程少不了的协议:TCP/IP