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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络-传输层-TCP和UDP的区别 -> 正文阅读

[网络协议]计算机网络-传输层-TCP和UDP的区别

数据传输层重点

端口和套接字的意义
UDP 和 TCP 的区别以及两者的应用场景
在不可靠的网络上实现可靠传输的工作原理,停止等待协议和 ARQ 协议
TCP 的滑动窗口,流量控制,拥塞控制和连接管理
TCP 的三次握手,四次挥手机制

TCP和UDP的区别

在这里插入图片描述
特点和性能:
TCP:面向连接,可靠传输,以字节流的方式传输,传输效率较慢,有复杂的三次握手建立连接,四次挥手关闭连接,校验和,拥塞避免,流量控制,ARQ、超时重传等手段,提供了报文的无差错、无重复、不丢失和有序到达传输。
UDP:无连接的不可靠传输,以数据包的方式传输,传输效率较快,所需资源较少,提供了最大努力交付传输的服务。
适用性:
TCP适用于要求通信数据可靠的传输,比如文件传输,邮件传输等
UDP适用于要求通信速度高的情况,如视频传输,直播,语音等。

TCP 协议如何保证可靠传输

  1. 分块:应用数据被分割成 TCP 认为最适合发送的数据块。
  2. 序列号:TCP 给发送的每一个包进行编号,接收方对数据包进行排序,把有序数据传送给应用层。
  3. 校验和: TCP 将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP 将丢弃这个报文段和不确认收到此报文段。
  4. 丢弃重复:TCP 的接收端会丢弃重复的数据。
  5. 流量控制: TCP 连接的每一方都有固定大小的缓冲空间,TCP 的接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收方来不及处理发送方的数据,能提示发送方降低发送的速率,防止包丢失。TCP 使用的流量控制协议是可变大小的滑动窗口协议。 (TCP 利用滑动窗口实现流量控制)
  6. 拥塞控制: 当网络拥塞时,减少数据的发送。
  7. ARQ 协议: 也是为了实现可靠传输的,它的基本原理就是每发完一个分组就停止发送,等待对方确认。在收到确认后再发下一个分组。
  8. 超时重传: 当 TCP 发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。

TCP和UDP头

TCP头部
20个字节
在这里插入图片描述
UDF头部
8个字节
在这里插入图片描述

流量控制

NetWork——TCP的流量控制和拥塞控制:(讲的很好)https://blog.csdn.net/seu_calvin/article/details/53198282

https://www.cnblogs.com/wxgblogs/p/5616829.html
定义:所谓的流量控制就是让发送方的发送速率不要太快,让接收方来得及接受。
TCP的流量控制是利用滑动窗口机制实现的,接收方在返回的ACK中会包含自己的接收窗口的大小,以控制发送方的数据发送。
TCP的窗口单位是字节,不是报文段,发送方的发送窗口不能超过接收方给出的接收窗口的数值。

TCP报文段发送时机的选择

 TCP报文段发送时机主要有以下几种选择途径。
 1)TCP维持一个变量,它等于最大报文段长度MSS,只要缓存中存放的数据达到MSS字节就组装成一个TCP报文段发送出去。
 2)由发送方的应用程序指明要求发送报文段,即TCP支持的推送操作
 3)是发送方的一个计时器期限到了,这时就把当前已有的缓存数据装入报文段发送出去。

拥塞控制

使用慢开始、拥塞避免、快开始、快恢复
设置一个门限ssthresh,当前窗口小于门限值时,采用慢开始算法,大于时,采用拥塞控制算法。

  1. 慢开始:指开始发送数据时,并不清楚网络的负荷情况,会先发送一个1字节的试探报文,当收到确认后,就发送2个字节的报文,继而4个,8个以此指数类推。
  2. 拥塞避免让拥塞窗口缓慢地增大,线性增大窗口。
  3. 快重传:如果发送端接收到3个以上的重复ACK,不需要等到重传定时器溢出就重新传递,比如报文M3丢失,接收端就立即发送三个M2重复确认,发送方就立即重传M3。
  4. 快恢复:收到3个重复ACK确认时,拥塞门限值ssthresh降为原来的一半,拥塞窗口也降低为原来的一半,并执行拥塞避免算法,拥塞窗口线性增加。

快重传图片
在这里插入图片描述在这里插入图片描述

拥塞控制和流量控制的差别

所谓拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制是一个全局性的过程,涉及到所有的主机、路由器,以及与降低网络传输性能有关的所有因素。
流量控制往往指的是点对点通信量的控制,是个端到端的问题。流量控制所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。

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

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