IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 【计网】3.2 运输层——UDP:无连接服务 -> 正文阅读

[网络协议]【计网】3.2 运输层——UDP:无连接服务

在这里插入图片描述
本文基于《计算机网络——自顶向下方法》一书

无连接运输:UDP

UDP只是做了运输协议能够做的最少工作。除了复用/分解功能海燕少量的差错检测之外,它几乎没有对IP增加别的东西。事实上,如果程序员选择UDP,则该应用程序差不多就是直接与IP打交道。使用UDP发送报文段之前,发送方和接收方的运输层实体之间并没有握手。正因如此,UDP是无连接的。

UDP的优点有以下几点:

  • 关于发送什么数据以及何时发送的应用层控制更为精细。TCP为了保证其报文送达,会一直发送数据报知道目的主机收到并且加以确认,不管可靠交付需要用多长时间。而UDP只会把数据报发送出去之后就不管了。因为实时应用(比如直播、网络电话等)对最小发送速率有要求,而且不希望过分的延迟报文段传送,并且可以容忍一些数据丢失,因此这些应用可以使用UDP构建
  • 无需建立连接。TCP在开始传输数据之前需要经过三次握手,但是UDP可以不进行任何准备就开始传输数据,因此UDP没有建立连接的时延。这也是DNS建立在UDP智商的主要原因。
  • 无连接状态。TCP需要维护连接状态,包括接收和发送缓存,拥塞控制参数以及序号和确认好的参数。而UDP不维护连接状态,也不需要这些参数。因此,某些专门用于某种特定应用的服务器在使用UDP时会能支持更多的活跃用户。
  • 分组首部开销小 每个TCP报文段都有20自洁的首部开销,而UDP仅有8字节的开销。

因此,电子邮件、远程终端访、Web等运行在了TCP上,而DNS运行在UDP上。但是对于视频流媒体是否使用UDP仍然有争议,因为如果每个人都启用流式高比特率视频而不使用任何拥塞控制,则会使得路由器的缓存被快速耗尽,导致路由有大量的分组溢出。以至于只有非常少的UDP分组能够成功通过源传输到目的地。

3.3.1 UDP报文段结构

在这里插入图片描述

UDP首部只有四个字段,每个字段有两个字节组成。长度字段知识了UDP报文段中的字节数(首部加数据)。接收方使用校验和来检查报文是否出了差错。

3.3.2 UDP校验和

UDP校验和提供了差错检测的功能,就是说校验和用于确定当UDP报文段从源到达目的地移动时,其中的比特是否发生了改变。

假定我们有如下三个16bit的字:

一、0110011001100000 二、0101010101010101 三、1000111100001100

一和二和三相加为0100101011000010

则将这个和作反码运算得1011010100111101,这个就是UDP的的校验和。如果该分组中没有在传输中出现差错,则在接收方处将报文中的所有字相加,并且和校验和相加,得出的结果为1111111111111111。如果得出的结果出现了0,则证明传输出现了差错。但是虽然UDP提供了差错检测,但是它对恢复差错无能为力,它只能丢弃受损的报文段或者将受损的报文段交给应用程序并给出警告。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 16:49:22  更:2022-03-03 16:51:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/5 13:28:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码