数据通信——传输层(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就区别大了

相关推荐
救救孩子把7 分钟前
MCP本地高效与云端实时:stdio 与 HTTP+SSE 传输机制深度对比
网络·网络协议·http·sse·mcp·stdio
2501_9159090618 分钟前
我用 Appuploader绕过 Mac,成功把 iOS 应用上线了 App Store
websocket·网络协议·tcp/ip·http·网络安全·https·udp
hao_wujing38 分钟前
衡量 5G 和未来网络的安全性
网络·5g
哞哞不熬夜1 小时前
JavaEE--初识网络
java·网络·java-ee
什么半岛铁盒2 小时前
Linux信号的保存
linux·运维·网络
百锦再2 小时前
大数据技术的主要方向及其应用详解
大数据·linux·网络·python·django·pygame
{⌐■_■}2 小时前
【go】binary包,大小端理解,read,write使用,自实现TCP封包拆包案例
arm开发·tcp/ip·golang
Think Spatial 空间思维3 小时前
【HTTPS基础概念与原理】对称加密与非对称加密在HTTPS中的协作
网络协议·http·https
小疆智控5 小时前
数字化工厂升级引擎:Modbus TCP转Profinet网关助力打造柔性生产系统
服务器·网络·tcp/ip
DourPanda5 小时前
polarctf-web-[rce1]
linux·网络协议·网络安全