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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络(八)——UDP和TCP -> 正文阅读

[网络协议]计算机网络(八)——UDP和TCP

1. 无连接运输:UDP

1.1 概述

UDP是一种不提供不必要服务的最简化运输层协议。
(1)功能

  • 多路复用和多路分解
  • 差错检验

(2)执行过程

  1. UDP从应用进程得到数据块,并附加上首部字段形成报文段,然后传递给网络层。
  2. 报文段到达接收主机后,根据目的端口将报文段通过套接字定向分解到正确的进程。

特点: 无连接,在发送报文段之前,发送方和接收方之间没有握手。

(3)特点

  • 无连接。
  • 无可靠数据传输。
  • 无拥塞控制机制。
  • 无流量控制。

1.2 流行的因特网应用及其运输层协议

UDP不提供可靠数据传输服务,可能导致分组丢失。那为什么很多应用还会使用UDP协议呢?

问题:UDP的优缺点

(1)优点

  • 无须连接建立,从而不会引入建立连接的时延。
  • 无需维护连接状态,从而一般能支持更多活跃客户。
    ①连接状态包括:接收和发送缓存、拥塞控制参数和序号与确认号的参数。
  • 分组首部开销小,每个TCP报文都有20个字节的首部开销,而UDP报文只有8个字节的开销。
  • 应用层控制更加精细:应用进程将数据传递给UDP,UDP立即将数据封装成报文段并发送给网络层。
    ①因为TCP有拥塞控制机制,当链路拥塞时,为了保证每个报文段都能无差错的到达目的主机,TCP可能会反复传递某个报文段,而导致T报文段传播延时过长。

(2)缺点
因为UDP不提供可靠数据传输、拥塞控制机制,所以可能导致大量的分组溢出。

  • 可能导致UDP发送方和接收方之间的高丢包率。并挤垮TCP会话。

为了弥补UDP没有提供可靠数据传输服务的问题,可以在应用层的应用程序本身建立可靠数据传输机制。

(3)流行应用的运输层协议
在这里插入图片描述
UDP不提供可靠数据传输服务,因此一些无法容忍分组丢失的应用,只能采用TCP协议。因为UDP不提供拥塞控制机制,因此对于能够容忍少量分组丢失,并对实时性要求较高或者在高拥塞环境下运行的应用,则可以选择UDP服务。

1.3 UDP报文段结构

UDP报文段是由8个字节的首部字段和由应用层数据占用的数据字段两部分组成。
在这里插入图片描述
(1)首部字段

  • 源端口号
    作为接收方发送给发送方的报文段的地址的一部分。
  • 目的端口号
    用于执行多路分解功能。
  • 长度
    指示了UDP报文段中的字节数。
  • 检验和
    UDP检验和提供了差错检验服务。

1.3.1 UDP检验和

UDP检验和提供了差错检验服务。但没有提供差错恢复功能。对于有差错的数据,UDP可以采取一下两种方式处理:

  • 丢失受损报文段。
  • 将受损报文段发送给应用程序并给出警告。

(1)差错检验步骤

  • Step1: 发送方的UDP对报文段的所有16比特字进行求和并取反获得检验和。求和过程中的溢出都被回卷。
  • Step2: 接收方对所有16比特字包括检验和求和,若结果中所有比特全为1则没有差错。

Step1:对所有16比特字求和并取反在这里插入图片描述
取反后的结果为:1011 0101 0011 1101

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 16:25:55  更:2022-04-06 16:27:20 
 
开发: 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年11日历 -2024/11/26 4:34:15-

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