计算机网络——18无连接传输UDP

无连接传输UDP

UDP

  • “尽力而为的”服务,报文段可能
    • 丢失
    • 送到应用进程的报文段乱序
  • 无连接
    • UDP发送端和接收端之间没有握手
    • 每个UDP报文段都被独立的处理
  • UDP被用于
    • 流媒体
    • DNS
    • SNMP
  • 在UDP上实现可靠传输
    • 在应用层增加可靠性
    • 应用特定的差错格式

UDP:用户数据报协议

为什么要有UDP

  • 不建立连接(会增加延时)
  • 简单:在发送端和接收端没有连接状态
  • 报文段的头部很小(开销小)
  • 无拥塞控制和流量控制:UDP可以尽可能快的发送报文段
    • 应用 -> 传输的速率 = 主机 -> 网格的速率

在这里插入图片描述

UDP校验和

目标:检测在被传输报文段中的差错(如比特反转)

发送方

  • 将报文段的内容视为16比特的整数
  • 校验和:报文段的加法和(1的补运算)
  • 发送方将校验和放在UDP的校验和字段

接收方

  • 计算接收到的报文段的校验和
  • 检查计算出的校验和与校验和字段的内容是否相等
    • 不相等——检测到差错
    • 相等:没有检测到差错 ,但也许还是有差错 (残存错误,未检测出来)

Internet校验和的例子

  • 注意:当数字相加时,在最高位的进位要回卷(加到最低位上),再加到结果上

在这里插入图片描述

  • 目标端:校验范围+校验和=1111111111111111 通过校验
    • 否则没有通过校验
  • 注:求和时,必须将进位回卷到结果上(进位回滚)

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-19 11:32:02       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-19 11:32:02       97 阅读
  3. 在Django里面运行非项目文件

    2024-02-19 11:32:02       78 阅读
  4. Python语言-面向对象

    2024-02-19 11:32:02       88 阅读

热门阅读

  1. 顺序表 严蔚敏 数据结构代码c语言

    2024-02-19 11:32:02       51 阅读
  2. 【LeetCode每日一题】单调栈 402 移掉k位数字

    2024-02-19 11:32:02       53 阅读
  3. 【开源】C++ 周期任务调度的思想和实现

    2024-02-19 11:32:02       40 阅读
  4. 银行的金额大小写转换

    2024-02-19 11:32:02       47 阅读