5-2传输层-UDP协议

一.UDP数据报

1.UDP实现了传输协议能够做的最少工作,在IP的数据报服务之上增加了两个最基本的服务:复用和分用以及差错检测

2.UDP优点
(1)UDP无须建立连接:不会有建立连接的时延
(2)无连接状态:UDP不维护连接状态,应用服务器使用UDP时,一般都能支持更多的活动客户机
(3)分组首部开销小
(4)UDP无拥塞控制,适合很多实时应用
(5)UDP首部开销小(8B),而TCP为20B
(6)IP数据报只能找到目的主机而无法找到目的进程,UDP提供端口功能及复用和分用功能,可以将数据报投递给对应的进程。因此,UDP数据报比IP数据报多提供了端口功能

3.特点
(1)UDP常用于一次性传输较少数据的网络应用,如DNS、SNMP等
(2)UDP提供尽最大努力的交付,即不保证可靠交付:所有维护传输可靠性的工作需要用户在应用层来完成
(3)UDP是面向报文的:报文是UDP数据报处理的最小单位

在这里插入图片描述

4.UDP的首部格式
(1)源端口:源端口号。在需要对方回信时选用(可有可无),不需要时可用全0
(2)目的端口:这在终点交付报文时必须使用到。UDP协议实现分用所依据的头部字段是目的端口
(3)长度:UDP数据报的长度(包括首部8B和数据)(不含伪首部),其最小值是8(仅有首部)
(4)校验和
①检测UDP数据报在传输中是否有错,有错就丢弃。
②该字段是可选的,当源主机不想计算校验和时,则直接令该字段为全0

在这里插入图片描述

5.收到数据报
(1)根据首部中的目的端口,把UDP数据报通过相应的端口上交给应用进程
(2)如果接收方UDP发现收到的报文中的目的端口号不正确,丢弃该报文,并由ICMP发送“端口不可达”差错报文给发送方

二.UDP校验

伪首部只有在计算检验和时才出现,不向下传送也不向上递交。其中的0表示固定字段,17表示协议字段。通过伪首部,不仅可以检查源端口号、目的端口号和UDP用户数据报的数据部分,还可以检查IP数据报的源IP地址和目的地址。

在这里插入图片描述

伪首部包括源IP地址和目的IP地址,因此伪首部包括IP分组报头的一部分

在这里插入图片描述
【在发送端】
1.填上伪首部
2.全0填充检验和字段
在这里插入图片描述
3.全0填充数据部分(使之成为4B的整数倍)

在这里插入图片描述
4.伪首部+首部+数据部分采用二进制反码求和(此时首部中校验和字段为全0)
因此:UDP校验和对伪首部、UDP报文头以及应用层数据进行校验

5.把和求反码填入检验和字段(即二进制反码运算求和再取反
如果校验和的计算结果恰好为0,那么将校验和字段置为全1
在这里插入图片描述
6.去掉伪首部,发送

【在接收端】
1.填上伪首部
2.伪首部+首部+数据部分采用二进制反码求和(此时首部中的校验和字段为刚刚计算出的值,并非全0)
3.结果全为1则无差错,如果UDP校验和校验出UDP数据报是错误的,那么可以丢弃,也可以交付给上层(应用层),但是需要附上错误报告

三.优缺点

1.简单、处理速度快
2.检错能力并不强

四.应用

UDP的特点是开销小,时间性能好且易于实现。

1.在客户/服务器模式中,它们之间的请求都很短,使用UDP不仅编码简单,而且只需要很少的消息
2.远程调用使用UDP的理由和客户/服务器模式的一样
3.对于实时多媒体应用,需要保证数据及时传送,而比例不大的错误是可以容忍的,所以使用UDP也是合适的,而且使用UDP协议可以实现多播,给多个客户端服务

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡__卡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值