UDP协议(传输层)

1 UDP协议的基本概念

UDP: User Datagram Protocol [RFC 768]

  • 基于Internet IP协议
    • 复用/分用
    • 简单的错误校验
  • “Best effort”服务(不可靠),UDP段可能
    • 丢失
    • 非按序到达
  • 无连接

    • UDP发送方和接收方之间不需要握手
    • 每个UDP段的处理独立于其他段
  • 常用于流媒体应用

    • 容忍丢失
    • 速率敏感
  • UDP还用于
    • DNS
    • SNMP

在UDP上实现可靠数据传输?

  • 在应用层增加可靠性机制
  • 应用特定的错误恢复机制

UDP为什么存在?

  • 无需建立连接 (减少延迟)
  • 实现简单:无需维护连接状态
  • 头部开销少
  • 没有拥塞控制: 应用可更好地控制发送时间和速率

2 UDP协议的责任

  • 创建进程到进程间的通信(由端口号完成)
  • 有限的差错控制,出现差错悄悄丢弃报文分组

3 UDP协议数据格式

这里写图片描述

这里写图片描述

UDP校验和(checksum)

目的:检测UDP段在传输中是否发生错误(如位翻转)。

发送方

  • 将段的内容视为16-bit整数
  • 校验和计算:计算所有整数的和,进位加在和的后面,将得到的
    值按位求反,得到校验和
  • 发送方将校验和放入校验和字段
      

接收方

  • 计算所收到段的校验和
  • 将其与校验和字段进行对比
    • 不相等:检测出错误
    • 相等:没有检测出错误(但可能有错误)

注意:最高位进位必须被加进去

示例:
这里写图片描述

4 关于端口

这里写图片描述

TCP和UDP都用端口(port)号来识别应用层实体,以便准确地把信息提交给上层对应地协议(进程)。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值