zoukankan      html  css  js  c++  java
  • s6-2 UDP

    User Datagram Protocol

     UDP 是一个无连接的(connectionless)的传输层协议
     UDP传输数据段,无须建立连接
     UDP 在 RFC 768中描述
     很多C/S应用(如: DNS),都使用UDP发送一个请求, 然后对方应答

    UDP 数据段头

     UDP 数据段包括8字节( 8-Byte)的头部和数据两个部分
     其中的长度域表示的长度包括头部和数据总共的长度
     校验和(checksum)是可选的,如果不计算校验和,则该域置为 0
     UDP比IP好的地方在于它可以使用源端口和目的端口

    image

    端口(port)定义

     16 位,共有 2 16  个端口
    端口范围:0~65535
    <1023  用于公共应用(保留,全局分配,用于标准服务器),IANA分配
    1024~49151 用户端口,注册端口
    >49152  动态端口,私人端口

    自由端口(Free port)
    本地分配
    动态的随机端口

    UDP 保留端口

    image

    UDP 校验和

    image

    image

    TCP/UDP伪头部(pseudo header)

    image

     

    注意
     如果收方的校验和为全1,传输无错
     二进制反码求和
    从低位到高位逐列计算
    0和0相加是0,0和1相加是1,1和1相加是0,但产生进位
    最高位相加产生进位,该位为1
     检错能力较弱,但简单快速
     使用协议地址,破坏了分层原则

    小结:UDP


    提供端点标识,端到端的数据传输
    不提供差错检测和可靠传输,但简洁高效

    image

     UDP是传输层的一个轻量级协议,提供高效的端到端的数据段传输。
     UDP数据段包括头部和载荷两部分,头部有8个字节,共4个字段。
     UDP不提供数据传输的可靠保证

  • 相关阅读:
    windows 按时自动化任务
    Linux libusb 安装及简单使用
    Linux 交换eth0和eth1
    I.MX6 GPS JNI HAL register init hacking
    I.MX6 Android mmm convenient to use
    I.MX6 GPS Android HAL Framework 调试
    Android GPS GPSBasics project hacking
    Python windows serial
    【JAVA】别特注意,POI中getLastRowNum() 和getLastCellNum()的区别
    freemarker跳出循环
  • 原文地址:https://www.cnblogs.com/wenyule/p/12214133.html
Copyright © 2011-2022 走看看