UDP:用户数据报协议

本文介绍了UDP协议的基本特性,包括其作为简单面向数据报的传输层协议的特点、不提供可靠性保障、应用层需关注数据报长度等问题。同时,文章还讨论了UDP首部结构及其校验和的计算方式,以及在特定情况下可能产生的ICMP差错报文。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 简介

1. UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份代发送的IP数据报。

 

2. UDP不提供可靠性

 

3. 应用程序必须关系IP数据报的长度。如果它超过网络的MTU,那么就要对IP数据报进行分片。

发送ICMP不可达差错的一种情况是:当路由器收到一份需要分片的数据报,而在IP首部又设置了不分片(DF)的标志比特。

 

二. UDP首部

1. 端口号表示发送和接收进程。注意,由于IP层会区分TCP和UDP,所以TCP端口号和UDP端口号是独立的。(尽管如此,如果TCP和UDP同时提供某种知名服务,两个协议通常选择相同的端口号。这纯粹是为了使用方便,而不是协议要求。)

 

2. IP首部的检验和只覆盖IP的首部,而UDP和TCP在首部中都有覆盖它们首部和数据的检验和。UDP的检验和是可选的,TCP的检验和是必须的。检验方法是16bit字的二进制反码和。因为UDP的数据报长度可以使奇数字节,所以必须要加上填充字节,以方便计算检验和。

如果发送端没有计算检验和而接收端检验和有差错,那么UDP数据报就要被悄悄地丢掉。不会产生任何差错报文(当IP层检测到IP首部检验和有差错的时候也是直接丢掉,没有差错报文)

 

三. ARP和UDP

大多数ARP实现在等待ARP应答时只保留最近传送给目的端的数据报。

 

四. 当系统接收IP数据报的速率超过这些数据报被处理的速率时,系统可能发送ICMP源站抑制差错报文。使用UDP时很容易产生这样的ICMP差错。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值