数据通信——传输层(UDP)

引言

我们上网观看比赛的时候,一旦网络信号出现问题,那可就太难受了,这意味着卡顿的时间内,你会错过这段时间内的内容。这种特性要归功于UDP(User Datagram Protocol)用户数据报协议。

无连接性 

    一般的,数据在通过应用层后会到达传输层,如果传输层使用UDP作为封装手段,那么UDP仅会在IP基础上增加端口和差错检测的功能,首部大小为8字节,作用简单,规模也不大,这让UDP传输起来非常的快

尽力交付

    UDP仅仅拥有一些差错检测功能,除此之位不提供任何可靠性措施。也就是看视频的时候错过去了也就是错过去了,因此稳定的网络环境和可靠的传输设备是很重要的!它们决定了数据流量是否能连续的到达UDP后返还给用户。在发送数据时,应用程序的设计决定了数据发出后经过UDP是否能稳定的传输给对方。

面向报文 

    UDP是面向报文的,它对应用层传输下来的报文添加首部后完整的发送给网络层,它一次发送一整个报文,而UDP能接受多大的报文呢?这取决于MTU(最大传输单元)的限制。反过来,网络层交付给UDP的报文,UDP在摘除首部后也会原封不动的发送给应用层。

UDP是个好人,他不会对你邮出去的货物进行拆分,但是缺点很明显,UDP不安全。因此你需要想办法在报文中提升安全性能。

 它对报文的爱不曾改变

多种通信模式 

    UDP简直是通信模式的王者。每个对端可以同时自由的发送信息,这很舒服。你想想,你在看直播的时候,和播主对话是不是双方畅通无阻。要是只能对方一句你一句,那直播还有什么意思。当然了,点播、组播、广播等等,UDP都同样适用。不过,你要确保网络质量的稳定哦! 

无拥塞控制

    一般呢?别人传话给我们后,我们在向别人转达这些话的时候,是不是要时不时的回忆一下再说出去。这个就相当于一个缓冲。但是UDP不会,它收到了消息,会一股脑的发送给你,他就像是个复读机,不管你听没听见,跟没跟上,他只在那里“喋喋不休” 。UDP没有缓冲,也没有拥塞机制。它迫切的需要其它设备为它进行传输的限制,如果无限制的话,大量的数据疯狂传递。,会造成链路堵塞,影响网络使用。

注:不过UDP套接字有缓冲区,这个不细说了,太偏门。

    虽然从物理层到应用层的设备几乎都有流量传输大小的限制。不过会出现这种情况——发送端发送大量的超长报文,UDP一股脑的接收整个报文然后源源不断发给接收端,但是接收端的接收能力不高,当其接受量超过阈值后,就开始丢弃报文了。UDP也不会负责流量的管理。因此协议栈中的每个设备都要相互配合,拥塞控制是个相关于全局的。

 上图是对拥塞控制的解释

后续

 UDP没什么好讲的,一个“毫无感情的数据输出”设备。不过它的简单特性却为我们带来了不少的使用空间。下次就要讲和它“反目成仇的兄弟”了。TCP协议!它和UDP就区别大了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/79841.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全网最全ArrayList底层原理实现

1. ArrayList集合底层数据结构 1. ArrayList集合介绍 ArrayList是实现了List接口的动态数组,所谓动态数组就是他的大小是可变的。实现了所有可选列表操作,并允许包括Null在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部…

[线程/C++]线程同(异)步和原子变量

文章目录 1.线程的使用1.1 函数构造1.2 公共成员函数1.2.1 get_id()1.2.2 join()2.2.3 detach()2.2.5 joinable()2.2.6 operator 1.3 静态函数1.4 call_once 2. this_thread 命名空间2.1 get_id()2.2 sleep_for()2.3 sleep_until()2.4 yield() 3. 线程同步之互斥锁3.1 std:mute…

wazuh环境配置及案例复现

文章目录 wazuh环境配置及案例复现wazuh环境配置 案例复现 wazuh环境配置及案例复现 wazuh环境配置 进入官网下载ova软件 https://documentation.wazuh.com/current/deployment-options/virtual-machine/virtual-machine.html 打开下载的ova,密码和用户名会显示…

自组织地图 (SOM) — 介绍、解释和实现

自组织地图 (SOM) — 介绍、解释和实现 一、说明 什么是SOM(self orgnize map)自组织地图,是GNN类似的图神经网络的概念。因为神经网络实质上可以解释为二部图的权重,因此无论GNN还是SOM都有共同的神经网络…

独立站怎么搭建?看这一篇就够了!强烈建议收藏!

独立站是跨境卖家对外销售的一个重要渠道,也是品牌塑造和品牌宣传的重要阵地。那么新手如何从0到1搭建出一个属于自己的独立站呢? 01.购买域名: 域名就相当于是一个网站的门牌号,是独立站的重要组成部分。卖家可以选择自己注册&…

什么是算法评价指标

在我们建立一个学习算法时,或者说训练一个模型时,我们总是希望最大化某一个给定的评价指标(比如说准确度Acc),但算法在学习过程中又会尝试优化某一个损失函数(比如说均方差MSE或者交叉熵Cross-entropy&…

【Azure API 管理】APIM如何实现对部分固定IP进行访问次数限制呢?如60秒10次请求

问题描述 使用Azure API Management, 想对一些固定的IP地址进行访问次数的限制,如被限制的IP地址一分钟可以访问10次,而不被限制的IP地址则可以无限访问? ChatGPT 解答 最近ChatGPT爆火,所以也把这个问题让ChatGPT来解答&#x…

openGauss学习笔记-48 openGauss 高级数据管理-函数

文章目录 openGauss学习笔记-48 openGauss 高级数据管理-函数48.1 数学函数48.2 三角函数列表48.3 字符串函数和操作符48.4 类型转换相关函数 openGauss学习笔记-48 openGauss 高级数据管理-函数 openGauss常用的函数如下: 48.1 数学函数 abs(x) 描述:…

MATLAB R2023a for Mac Update_5

MATLAB是一种高级的计算机编程环境和开发工具,主要用于数值计算、数据分析、算法开发和可视化。它由MathWorks公司开发,被广泛应用于科学研究、工程设计、数据分析和教育等领域。 MATLAB提供了丰富的数学和工程函数库,可以进行矩阵运算、信号…

什么是卷积神经网络

目录 什么是卷积神经网络 全链接相对笨重:大胖子​编辑 ​编辑 参数众多:容易造成过拟合 ​编辑 卷积核:进行图像特征提取,源于卷积原理:求相交面积 卷积的作用 卷积的意义 ​编辑 通过卷积核减少参数 深度卷积…

Spring练习31---用户添加操作--添加数据到数据库,最终添加讲师,助教操作最终完毕

视频链接:16-Spring练习-用户添加操作-添加数据到数据库_哔哩哔哩_bilibili 104 1、当你点击提交时,form表单进行提交 2、这个名字必须跟你当前封装的属性名一样 3、要封装跟user的属性名一样,这样springMVc才能自动封装进去 4、提交时选择r…

python 面向对象的属性,类方法,静态方法,实例方法的区别及用法详解

一. 前言 在Python的面向对象编程中,类属性和实例属性是两个不同的概念,它们在作用域和使用方式上有所区别。Python中的面向对象编程中有三种方法:实例方法、类方法和静态方法,它们之间的差异主要体现在参数传递和调用方式上。 …