UDP User Datagram Protocol 译为用户数据报协议,是网络七层模型中典型的传输层协议,与TCP并驾齐驱,不分伯仲。

昨天我们一起学习了一下TCP的报文格式,作为传输层的两大协议之一,UDP肯定也是不能不讲的,今天我们就来一起简单了解一下UDP的报文格式,以及一些相关的知识点。

UDP由于其协议特性,减少了很多控制过程,所以UDP的报文格式相对TCP来讲要简单一些,老规矩,上个图:

udp常用协议有哪些(网苑杂谈之网络基础篇)(1)

看图说话,下面每个字段再简单看一下含义。

源端口号和目的端口号:表示的是使用UDP协议传送数据的上层应用。这个昨天TCP部分已经讲过,不清楚的可以参考,不再重复了。

UDP长度:这个表示的是整个UDP数据报文的长度,含UDP数据包头以及UDP数据部分。

UDP检验和:这个注意表示的是UDP头部 数据部分整体的校验和,而不仅仅是UDP头部。实际上,计算校验和的过程中,还会有一个IP的伪头部一起参与计算,通过将IP头的一些关键信息一起纳入检验和计算,来校验传输过程中的某些类型的错误。

从上面我们可以看到,UDP的报文头还是比较短小精悍的,不像TCP那样包含了很多控制类的字段和信息,所以UDP只能提供无连接的服务,无法确保不丢包和不乱序,但是同样由于开销比较小,他可以更加快速和高效的工作。

基于上述特点,我们看一下,UDP的适用场景?

简单归纳一下,UDP适用的场景可以认为主要有两大类。1是状态良好,不容易出现丢包,拥塞之类的网络问题的网络;2是对于实时性要求比较高但是可靠性要求相对宽松的应用,典型的就是即时通信类软件,比如QQ之类的。

另外,UDP也有增强功能,来适应更复杂的场景诉求,比如UDP Helper功能。

什么是UDP Helper?

简单来讲,UDP Helper就是解决广播UDP报文跨网段传播的问题。假设网络中的设备发送广播报文来查询服务器信息,但是被查询设备分布在不同的网段,那么就可能由于广播报文不能跨网段传输,导致查询不到期望的信息。怎么办呢?为了解决这个问题,UDP提供了一种功能,就是可以通过配置,对指定端口的UDP广播报文进行转发,具体来讲就是:当收到对应端口的UDP广播报文时,会将其转化成单播报文进行转发,起到中继的作用,对于非指定端口的UDP报文,则不进行转发,这就是所说的UDP Helper功能。

常见的UDP类的应用?

tftp 端口号 69

snmp 端口号 161

dns 端口号 53

tacacs 端口号 49

好了,小伙伴们,今天的讲解就结束了,希望大家能或多或少有所收获,欢迎留言交流切磋。

,