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

news/2024/5/18 15:29:29 标签: udp, 网络协议, 网络, 信息与通信, tcp/ip

引言

我们上网观看比赛的时候,一旦网络信号出现问题,那可就太难受了,这意味着卡顿的时间内,你会错过这段时间内的内容。这种特性要归功于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.niftyadmin.cn/n/4963055.html

相关文章

从零学算法151

151.给你一个字符串 s ,请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意:输入字符串 s中可能会存在前导空格、尾随…

如何创建「录取查询系统」?

随着高校招生规模的不断扩大,学校录取工作变得越来越繁琐。为了提高效率和准确性,许多学校开始采用电子化的录取查询系统。易查分作为一款功能强大的在线查询工具,可以帮助学校快速搭建自己的「录取查询系统」。 好消息!博主给大家…

互联网摸鱼日报(2023-08-22)

互联网摸鱼日报(2023-08-22) 36氪新闻 要不要回老家,找一份“铁饭碗”的工作? OpenAI宣布收购Global Illumination,字节、快手AI对话产品“组团”亮相,Meta实现自动化对齐 |36氪GPT周报 Nature发文:韩国LK-99不是超…

C++学习系列之DLL动态库使用

C学习系列之DLL动态库使用 啰嗦动态库的创建动态库的调用函数生成1.需要头文件函数定义(头文件)2.需要函数定义(函数文件)3.动态库中的头文件4.动态库中的主文件5.运行查看是否存在C#的调用的入口点6.C#调用 总结 啰嗦 项目需要&…

【Java 高阶】一文精通 Spring MVC - 转换器(五)

👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区&#x…

信号的傅里叶分析之傅里叶级数

1 为什么要进行傅里叶分析 信号分析方法主流方法有: (1)时域分析:以冲激信号为基本信号,任意输入信号可分解为一系列冲激信号; (2)频域分析:以正弦信号和虚指数信号为基…

湘潭大学 湘大 XTU OJ 1325 K-Good Number 题解(非常详细)

链接 1325 题面 题目描述 如果一个整数的二进制(无前导0)中1的个数比0的个数多,我们称其为好数。如果其中1比0多k个,我们称其为k-好数 现在给你一个整数,请计算它的k。 输入 第一行一个整数T(1≤T≤10000)&#…

【ThingJS | 3D可视化】开发框架,一站式数字孪生

博主:_LJaXi Or 東方幻想郷 专栏: 数字孪生 | 3D可视化框架 开发工具:ThingJS在线开发工具 ThingJs 低代码开发 ThingJs 低代码开发注意点场景效果配置层级层级常用API实例化 Thing,加载场景load 加载函数ThingJs 层级关系图查找层…