文章目录

  • 1.用户数据报协议UDP概述及特点优势
  • 2.UDP首部格式
  • 3.当传输层从IP层收到UDP数据报时
  • 4.UDP校验

1.用户数据报协议UDP概述及特点优势


为什么应用开发人员宁愿在UDP之上构建应用,也不选择TCP?既然TCP提供可靠的服务,而UDP不提供,那么TCP总是首选吗?答案是否定的,因为有很多应用更适合用UDP,主要是因为UDP具有如下优点:

1)UDP无须建立连接。

  • UDP不会引入建立连接的时延。
  • 试想如果DNS运行在TCP而非UDP.上,那么DNS的速度会慢很多。
  • HTTP使用TCP而非UDP,是因为对于基于文本数据的Web网页来说,可靠性是至关重要的。

2)无连接状态。

  • TCP需要在端系统中维护连接状态。此连接状态包括接收和发送缓存、拥塞控制参数和序号与确认号的参数。
  • 而UDP不维护连接状态,也不跟踪这些参数。
  • 因此,某些专用应用服务器使用UDP时,一般都能支持更多的活动客户机

3)分组首部开销小。

  • TCP20B首部开销,而UDP仅有8B的开销。

4)应用层能更好地控制要发送的数据和发送时间。

  • UDP没有拥塞控制,因此网络中的拥塞不会影响主机的发送效率
  • 某些实时应用要求以稳定的速度发送,能容忍一些数据的丢失,但不允许有较大的时延,而UDP正好满足这些应用的需求。

5)UDP常用于一次性传输较少数据的网络应用

  • 如DNS、SNMP等,因为对于这些应用,若采用TCP,则将为连接创建、维护和拆除带来不小的开销。
  • UDP也常用于多媒体应用(如IP电话、实时视频会议、流媒体等),显然,可靠数据传输对这些应用来说并不是最重要的,但TCP的拥塞控制会导致数据出现较大的延迟,这是它们不可容忍的。

6)UDP提供尽最大努力的交付,即不保证可靠交付

  • 但这并不意味着应用对数据的要求是不可靠的,因此所有维护传输可靠性的工作需要用户在应用层来完成。
  • 应用实体可以根据应用的需求来灵活设计自己的可靠性机制

7)UDP是面向报文的。

  • 发送方UDP对应用层交下来的报文,在添加首部后就向下交付给IP层,
    既不合并,也不拆分,而是保留这些报文的边界;
  • 接收方UDP对IP层交上来UDP用户数据报,在去除首部后就原封不动地交付给上层应用进程,一次交付一个完整的报文。
  • 因此报文不可分割,是UDP数据报处理的最小单位

2.UDP首部格式


各字段意义如下:

  • 1)源端口。源端口号。在需要对方回信时选用,不需要时可用全0。
  • 2)目的端口。目的端口号。这在终点交付报文时必须使用到。
  • 3)长度。UDP数据报的长度(包括首部和数据),其最小值是8 (仅有首部)。
  • 4)校验和。检测UDP数据报在传输中是否有错。有错就丢弃。该字段是可选的,当源主机不想计算校验和时,则直接令该字段为全0。

3.当传输层从IP层收到UDP数据报时

根据首部中的目的端口,把UDP数据报通过相应的端口.上交给应用进程

如果接收方UDP发现收到的报文中的目的端口号不正确(即不存在对应于端口号的应用进程),那么就丢弃该报文,并由ICMP发送“端口不可达”差错报文给发送方

4.UDP校验


  • 伪首部和全0字节是不发送的,仅供校验使用

5.2 计算机网络之传输层UDP协议相关推荐

  1. 计算机网络传输层UDP协议--龙之介计算机网络学习(3)

    概述: 其实计算机网络主要聊的就是因特网五层协议栈的那几种协议,通过对各个协议的构成,了解一个数据包(报文)是如何从网络中完成传输的作用. 这是一个系列的,主要用于自己复习计网. 计算机网络应用层–龙 ...

  2. 计算机网络概述---传输层 UDP和TCP

    传输层的功能 传输层为应用进程间提供端到端的逻辑通信(网络层是提供主机之间的逻辑通信), 传输层两大重要的功能:复用 和 分用. 复用:在发送端,多个应用进程公用一个传输层: 分用:在接收端,传输层会 ...

  3. 网络 传输层 | UDP协议与TCP协议详解(三次握手及四次挥手、滑动窗口、拥塞控制)

    概念 传输层:是负责应用程序之间的数据传输(通过端口的描述,描述了哪两个进程间的通信):传输层的两个主要协议:UDP 和 TCP UDP协议 UDP协议全称:用户数据报协议(User Dategram ...

  4. 前端网络基础-传输层UDP协议

    UDP(User Dategram Protocol)即用户数据报协议 它也是传输层协议. 我们需要知道数据分为重要数据和不重要数据,比如你发了一封邮件,下载文件,这些都是重要数据,少了一点,可能文件 ...

  5. 【TCP/IP网络协议】(五)传输层UDP协议

    文章目录 传输层协议 一.端口 二.UDP概述 三.UDP报文 四.程序测试 传输层协议 从之前介绍的网络层协议来看,通信的两端是两台主机,IP数据报首部就标明了这两台主机的IP地址,但是从传输层来看 ...

  6. 传输层——UDP协议

    文章目录 传输层 再谈端口号 端口号划分 认识及查看知名端口号 linux下网络命令 **netstat(查看当前主机的连接情况,高频重要)** pidof(查看服务器的进程id) UDP协议 UDP ...

  7. [转](传输层)UDP协议

    目录 数据单位 特点 具体实现 要求 UDP首部格式 发送UDP请求的客户端图释 数据单位 UDP 传送的数据单位协议是 UDP 报文或用户数据报 特点 UDP 是无连接的,即发送数据之前不需要建立连 ...

  8. 计算机网络 --- 传输层UDP协议

    UDP只在IP数据报服务之上增加了很少功能,即复用分用和差错检测功能. UDP的主要特点 UDP是无连接的,减少开销和发送数据之前的时延. UDP使用最大努力交付,即不保证可靠交付. UDP是面向报文 ...

  9. 【计算机网络】传输层 : TCP 协议 ( TCP 协议特点 | TCP 报文段首部格式 | TCP 报文段控制位 )

    文章目录 一.TCP 协议 特点 二.TCP 报文段首部格式 三.TCP 报文段首部 666 控制位 一.TCP 协议 特点 TCP 协议 特点 : ① 面向连接 : TCP 协议的连接是 " ...

最新文章

  1. 分享一个轻型ORM--Dapper选用理由
  2. linux 下安装node 环境
  3. JEECG_3.7 权限开发讲解-张代浩-专题视频课程
  4. ModelCoder状态机中的State逻辑
  5. 半夜“逃离上海”?阿里副总裁贾扬清回应:正常差旅回去看病 请不要误解
  6. 记dropbox与git不和谐的一个问题
  7. mysql 事务操作详细实例介绍
  8. 一加6体验深度测评:一款性价比极高的旗舰
  9. 光绪变法为什么没成功
  10. Maven-Eclipse使用maven创建HelloWorld Java项目
  11. logstash zip linux安装,centos7.4安装测试logstash6.5.0
  12. 实对称矩阵的特征值求法_旋转之三 - 旋转矩阵
  13. 超简单版Python打包exe文件,并修改图标,这将是你见过最容易上手的教程~
  14. matlab中whos怎么用,【安富莱DSP教程】第3章 Matlab 简易使用(一)
  15. 计算机知识的研修总结,计算机信息技术学习研修总结
  16. Redis RDB和AOF
  17. linux 强制类型转换,C++ 新标准下的强制类型转换详解
  18. 首批通过!百度智能云曦灵平台获信通院数字人能力评测权威认证
  19. java replica set_K8s 的ReplicaController ReplicaSet DaemonSet和Job
  20. 蓝牙麦克风 android,带有蓝牙麦克风的Android语音识别器

热门文章

  1. HTTP协议(5)HTTP请求和响应
  2. Openstack rabbitMQ 安装与配置
  3. CentOS6.x下配置sendmail发邮件
  4. VMware Workstation
  5. 算法导论5:基数排序和计数排序 2016.1.5
  6. 全屏背景:15个jQuery插件实现全屏背景图像或媒体
  7. java多线程(同步和死锁,生产者和消费者问题)
  8. ytu 2335: 0-1背包问题
  9. nagios errors
  10. go数组详解:数组的定义、遍历、使用细节、二维数组的定义及其遍历