计算机网络——7.UDP

TCP的问题描述的差不多了,处在传输层的另一个协议也已经蠢蠢欲动了,他就是UDP

1.UDP

UDP全称为用户数据报协议,对比TCP来说他是一个不负责任的协议,也就是说他只管发送,不管数据是否丢失?是否乱序...这种性质保证了他的速度,也就是说它适用于一些对于数据可靠性,准确性不在意的场景,比如直播,视频通话等场景,但由于其不可靠性,所以几乎不适用于任何应用,因此文章将把UDP与TCP进行对比讲解(要不实在是没啥讲的)。

1.UDP格式

相比于TCP,UDP的头部简单的不能再简单,他只包含了:

1.源端口,目的端口:用于网络寻址,告知UDP应该将数据包发送给谁

2.包长度:该字段保存了数据包和头部的长度

3.校验和:校验和是为了提供可靠的 UDP 首部和数据而设计,防止收到在网络传输中受损的 UDP 包。通常被设置为0。如果需要进行校验和计算,那么计算结果会填充到这个字段。校验和用于校验数据是否出错,如果数据在传输过程中出错,则报文会被丢弃。

这就是UDP的头部,仅有8个字节

2.UDP和TCP的区别

1.头部

这个区别就很明显了,UDP头部只有上述的内容,相比之下,TCP的头部就丰富许多了,所以相比之下TCP的头部开销就更大,TCP至少有20个字节(没有用选项字段情况下)而UDP只有固定的8字节

2.连接

TCP面向连接,传输前先建立连接,传输完成后断开连接

UDP不面向连接,即刻传送数据

3.服务

TCP是端对端的连接,也就是一对一的

UDP支持一对一,一对多,多对多

4.可靠性

TCP是可靠的连接,他保证数据的准确,不会乱序,不会丢失

UDP不可靠,无法保证数据的准确性,是否丢包,是否乱序,只会尽力交付数据

5.传输方式

TCP为流式传输(数据像是水流一样可以分割)没有边界,但保证了准确和按序到达

UDP为报式传输,数据分成数据包,有边界,可能丢失和乱序

6.分片(我之前忘了讲分片,这里提一嘴)

每个传输链路的最大传输单元MTU各不相同,我们最常见的传输链路是以太网,大小为1500字节,当传输的数据包大小大于MTU他就会被分片(理解为货物太多了一车装不下,就分成好几车装)当数据经过分片发送后,只能由接收方将分片重组为一个大数据包,但是IP分片有一个问题,当分片有一个丢失,则整个数据全部作废,所以TCP引入了MSS(MSS=MTU-TCP报文头部-IP报文头部),也就是在TCP中分片,而不由IP分片,IP分片丢失一个 整个数据作废 浪费资源  所以在TCP分片后交给网络层 网络层就以为每个数据包都是完整的数据 而且正好能满足一个MTU大小  而且即使丢失了也会有TCP维护,对于UDP来说则没有这个选择,只能尽量控制数据包不超过MTU,所以区别这就来了

TCP的数据包在大于一个MTU时,会在TCP处进行分片,而后再交由网络层发送,接收方接收后也会在传输层重组这个数据包,即使丢失,只需要重传这个丢失的数据包即可

UDP没有分片的能力,当数据包大于一个MTU则会在IP层分片

3.UDP特点

1.无连接:不面向连接,每个数据包都是独立的没有先后顺序(因为没有序列号字段)

2.简单:相比TCP其头部更加简单,开销更小,并且没有握手和挥手等过程,耗时更少

3.速度快:由于没有TCP那么复杂的机制,这使得UDP拥有更快的速度

4.广播和多播支持:UDP支持广播和多播,允许向多个主机发送数据。

5.丢包:TCP并没有重传机制,所以对于丢包不会处理

6.无法保证顺序:UDP的每个数据包独立,所以需要在应用层处理数据包顺序(数据包乱序会发生奇怪的事)

7.拥塞控制,流量控制:UDP同样不支持,他只管发送,所以可能会导致网络拥塞(拥塞了也不管,只能委屈TCP触发拥塞发生算法了)

以上说了这么多,感觉UDP非常危险,其实真实情况并没有那么糟,之前我们提过在网络通畅的情况下,丢包的概率几乎为零,所以UDP并没有我们想象的那么不堪,科学家已经非常努力的建设网络了,你还不努力学习吗!

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​         

  • 16
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值