• UDP协议详解


    一、UDP协议简介

    UDP协议,即用户数据报协议(User Datagram Protocol),是一个简单的面向数据报的传输层协议。UDP协议只在IP数据报服务商增加了很少一点的功能,就是复用和分用,以及差错检测的功能。

    二、UDP协议的主要特点

    1)无连接的
    发送数据之前不需要建立连接,减少了开销和发送数据之前的时延。
    (2)尽最大努力交付
    不保证可靠的交付,主机不需要维持复杂的链接状态表。
    (3)面向报文的
    发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。
    (4)没有拥塞控制。
    (5)支持一对一、多对一和多对多的交互通信。
    (6)首部开销小,只有8个字节。

    三、UDP数据报的首部结构

    用户数据报UDP有两个字段:数据字段和首部字段。首部字段只有8个字节,如下图所示:

    首部部分很简单,只有8个字节,由四个字段组成,每个字段都是两个字节。各个字段意义分别是:

    (1)源端口

    在需要对方回信时使用,不需要时全为0

    (2)目的端口

    发送UDP数据报的目的地。

    (3)长度

    UDP数据报的长度,最短为8个字节,只包含首部。

    (4)检验和

    用于检验UDP数据报在传输过程中有没有出差错,有则丢弃。

    伪首部:
    a.伪首部是用来校验的,它必须和首部中的校验和结合起来使用。
    b.在计算检验和时临时加上去的,伪首部既不向下传送也不向上提交,而仅仅时为了计算检验和
    c.在计算检验和时,需要在UDP用户数据报之前增加12个字节的伪首部。这个伪首部并不是UDP真正的首部,这是在计算检验和时临时和UDP用户数据报连接在一起,得到一个过渡的UDP用户数据报,检验和就是按照这个过渡的UDP用户数据报来计算的。伪首部既不向下传送也不向上提交,而仅仅时为了计算检验和。UDP计算检验和的方法和计算IP数据报首部检验和的方法相似,不同的是,IP数据报的检验和只是检验IP数据报的首部,但是UDP的检验和是将首部和数据部分一起都检验。

  • 相关阅读:
    Linux (x86) Exploit 开发系列教程之三(Off-By-One 漏洞 (基于栈))
    Linux (x86) Exploit 开发系列教程之二(整数溢出)
    Linux (x86) Exploit 开发系列教程之一(典型的基于堆栈的缓冲区溢出)
    Linux (x86) Exploit 开发系列教程之四(使用return-to-libc绕过NX bit)
    xss level11
    f.select
    jquery.backstretch
    linux目录或文件权限
    pradino 命令
    Padrino 博客开发示例
  • 原文地址:https://www.cnblogs.com/duanxz/p/3471058.html
Copyright © 2020-2023  润新知