传输层 --- 无连接运输UDP

UDP(用户数据报协议)是一种无连接的传输层协议,提供进程到进程的报文交付服务,但不保证可靠性和顺序。它主要包含复用、分用和差错检测功能,报文头小,处理简单。UDP适用于流媒体、DNS等对实时性要求高且能容忍丢包的应用。其校验和用于检错,但计算是可选的。应用层可以通过特定机制实现在UDP上的可靠传输。
摘要由CSDN通过智能技术生成

一.UDP提供的服务

1.网络层提供的服务:
①尽最大努力将数据包交付到目的主机;

②不保证投递的可靠性和顺序;

③不保证带宽及延迟要求。

2.UDP提供的服务:
①进程到进程之间的报文交付;

②报文完整性检查(可选):检查并丢弃出错的报文。

3.UDP需要实现的功能
①复用和分用;
②报文检错。

二.UDP报文段结构

1.UDP报文:
①报头:携带协议处理需要的信息;
②载荷payload:携带上层数据。

2.用于复用和分用的字段:
①源端口号;
②目的端口号。

3.用于检测报文错误的字段:
①报文总长度;
②校验和(checksum)。
在这里插入图片描述
4.UDP只在IP的数据报服务之上增加了很少一点的功能
①复用和分用的功能;
②差错检测的功能。

5.常用于流媒体应用程序:
①丢包容忍;
②速率敏感。

6.其他UDP应用:
①DNS;
②SNMP。

7.经UDP的可靠传输:在应用层增加可靠性。
应用程序特定的差错恢复。
在这里插入图片描述

三.UDP校验和checksum

1.校验和字段的作用:对传输的报文段进行检错。

2.发送方:
①将报文段看成是由16比特整数组成的序列;

②对这些整数序列计算校验和;

计算步骤:求和、回卷、求反。

注意:当数字做加法时,最高位进比特位的进位需要加到结果中。

在这里插入图片描述

③将校验和放到UDP报文段的checksum字段。

3.接收方:
①对收到的报文段进行相同的计算;

②与报文段中的checksum字段进行比较:
a.不相等:说明报文段有错误;
b.相等:认为报文段没有错误。

4.UDP校验和计算
①计算UDP校验和时,要包括伪头、UDP头和数据三个部分;

②UDP伪头信息取自IP报头,包括:

a.源IP地址,目的IP地址;
b.UDP的协议号;
c.UDP报文段总长度。

③计算校验和时包含伪头信息,是为了避免由于IP地址错误等造成的误投递;

④UDP校验和的使用是可选的,若不计算校验和,该字段填入0。

四.为什么需要UDP?

1.应用可以尽可能快地发送报文:
①无建立连接的延迟;
②不限制发送速率(不进行拥塞控制和流量控制)

2.报头开销小

3.协议处理简单

4.UDP适合哪些应用?
①容忍丢包但对延迟敏感的应用,如流媒体;

②以单次请求/响应为主的应用:如DNS;

③若应用要求基于UDP进行可靠传输:
由应用层实现可靠性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

llurran

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

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

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

打赏作者

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

抵扣说明:

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

余额充值