【计算机网络笔记】传输层——UDP简介

系列文章目录

什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 vs 电路交换
计算机网络性能(1)——速率、带宽、延迟
计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率
计算机网络体系结构概念
OSI参考模型基本概念
OSI参考模型中非端-端层(物理层、数据链路层、网络层)功能介绍
OSI参考模型中端-端层(传输层、会话层、表示层、应用层)功能介绍
TCP/IP参考模型基本概念,包括五层参考模型
网络应用的体系结构
网络应用进程通信
网络应用对传输服务的需求
Web应用之HTTP协议(涉及HTTP连接类型和HTTP消息格式)
Cookie技术
Web缓存/代理服务器技术
传输层服务概述、传输层 vs. 网络层
传输层——多路复用和多路分用


  • 系列文章目录
  • UDP
  • UDP存在的价值是什么?
  • UDP校验和(checksum)


UDP

UDP即User Datagram Protocol (RFC 768)

  • 基于Internet IP协议

    • 实现多路复用/分用
    • 实现简单的错误校验机制
  • 遵循 “尽力而为 ”的服务模型,所以UDP段可能会丢失、非按序到达

  • 无连接

    • UDP发送方和接收方之间不需要握手(建立连接)
    • 每个UDP段的处理独立于其他段

UDP存在的价值是什么?

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

UDP常用于:

  • 流媒体应用。这类应用的特点是能够容忍数据丢失,但对速率敏感
  • UDP还用于DNS和SNMP

我们仍然可以在UDP上实现可靠数据传输,只不过需要应用开发人员在应用层增加可靠性机制。


UDP校验和(checksum)

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

实现:

  • 发送方计算校验和,然后填充到报文段中。

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

    • 计算所收到段的校验和
    • 将其与校验和字段进行对比。若不相等则数据在传输的过程中出现错误了,若相等则没有检测出错误(但仍然有可能发生错误)

有些错误能够检测出来,有的则检测不出来,检测不出来不代表没有错误。

【计算机网络笔记】传输层——UDP简介_第1张图片

你可能感兴趣的:(计算机网络,笔记,udp,网络协议,网络)