TCP 的重传机制、选择确认、缓存与流量控制、连接管理、拥塞控制(计算机网络-运输层)

news2024/12/27 12:29:34

目录

TCP 的重传机制

TCP 的选择确认

TCP 的缓存与流量控制

TCP 的连接管理

TCP的拥塞控制


TCP 的重传机制


TCP 每发送一个报文段就设置一个超时计时器

TCP 使用指数加权移动平均算法计算 RTT 及其偏差的估计值,并据此计算超时重传时间;

若超时还没有收到该报文段的确认,则重传该报文段;

对重传报文段不使用 RTT 测量值计算超时重传时间,而是直接将超时重传时间增大一倍;

如果连续收到某报文段的 3 个重复确认,则进行快速重传。

TCP 的选择确认


TCP的固定首部中没有哪个字段能提供上述这些字节块的边界信息,因此TCP在首部中提供了一个可变长的“SACK选项字段”来存放这些信息

当使用选择确认时,TCP首部中的确认号字段的功能和意义并没有改变,实际上SACK是对原来累积确认功能的一种补充,并可以和使用累积确认的超时重传与快速重传机制一起工作

 

TCP 的缓存与流量控制


接收方根据空余的接收缓存大小调整接收窗口的大小;

接收方在确认对方数据时将自己的接收窗口大小通知给对方;

发送方根据收到报文段中确认号和窗口字段调整自己的发送窗口;

由于发送方的发送窗口大小总是由接收方的接收窗口大小控制,即接收方通过接收窗口控制发送方的发送速率,保证了接收缓存不会溢出

TCP 的连接管理


面向连接协议通信的三个阶段,即:建立连接、数据传送和释放连接

建立连接的目的就是为接下来要进行的通信做好充分的准备工作,其中最重要的就是分配相应的资源。在通信结束之后显然要释放所占用的资源,即释放连接

TCP连接是运输层连接,只存在于通信的两个端系统中,而网络核心的路由器完全不知道它的存在

TCP的拥塞控制


当网络中出现太多的分组时,网络的性能开始下降。这种情况称为拥塞(congestion)

如果网络中的负载,即发送到网络中的数据量,超过了网络的容量,即网络中能处理的数据量,那么在网络中就可能发生拥塞


通过拥塞窗口控制发送窗口来限制发送速率

初始拥塞窗口为1,执行慢启动拥塞窗口呈指数增长

当拥塞窗口增大到慢启动门限执行拥塞避免,拥塞窗口呈线性增长(加性增);

若发生超时,慢启动门限设为当时发送窗口的一半,并将拥塞窗口减为1重新执行慢启动

当收到3个冗余ACK,拥塞窗口减半(乘性减),执行快速恢复,直接进入拥塞避免

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/114881.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

8 NP完全性理论

8 NP完全性理论 p问题 NP问题 NP完全问题 NPC(complete ) NP难问题NP-hard p问题 是一类能够用**(确定的)算法**在多项式时间内求解的可判定问题 ●这种问题类型也称为多项式类型 NP问题 是一类能够用不确定算法在多项式时间内求解的可判定问题 在确定性计算模型下多项式时…

程序员高手解决问题,都是从正确的提问开始

回顾各大技术网站、社区、问答,我们发现:真正的程序员高手都极度擅长提问。 好的提问不但能得到建设性的解决方案,更加能激发人们的好奇心、创造力和学习的动力。 毫不夸张地说,会提问的程序员一开口就赢了! 所以今…

HashMap源码剖析(下)——java集合

系列文章目录 文章目录系列文章目录前言一、 回顾总结二、HashMap数据插入流程JDK1.8 HashMap的put方法源码如下:2.1 扩容机制2.2 链表树化2.3 红黑树转链三、查找总结四、删除五、遍历前言 既上一节内容 本节内容是,HashMap还有基本的数据功能;存储、删…

(三)GNSS定位中的定位系统和误差源

翻看了一下记录,离上一次GNSS内容的更新已经过去9个月了。时间过的太快,硕士生涯已经过去一半,有遗憾也有收获,过去的9个月经历了各种喜怒哀乐以及迷茫。永远相信美好的事情即将发生,GO LONG CHINA! 今天写…

魅族大会公布未来多项规划!全场景门店、旗舰新品明年将落地

如果说中国手机行业中哪个品牌的粉丝忠诚度最高,那恐怕魅族说第二,也没几家敢说第一。这些年来,虽然魅族手机经历风风雨雨,但依然有着非常庞大的粉丝基础。前不久刚刚结束的魅友大会2022大会现场人潮涌动,随着天南海北…

Linux系统下的常用查找指令及用法

find指令&#xff1a;将从指定目录向下递归地遍历其各个子目录&#xff0c;将满足条件的文件或者目录显示在终端&#xff0c; 语法&#xff1a;find[搜索范围][选项] 方式作用-name<查询方式>按照指定的文件名查找模式查找文件-user<用户名>查找属于指定用户名所有…

Java项目:springboot教务管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 1.系统默认超级管理员账号为admin&#xff0c;默认密码为123456 系统配置&#xff1a;用户管理、角色管理、权限管理 默认已配置好基本数据&…

4.3.2、分类编址的 IPv4 地址

分类编址的 IPv4 地址分为 A、B、C、D、E 五类 A 类地址的网络号部分占 888 比特&#xff0c;主机号部分占 242424 比特。网络号的最高位固定为 000B 类地址的网络号部分占 161616 比特&#xff0c;主机号部分占 161616 比特。网络号的最高两位固定为 101010C 类地址的网络号部…

Reason: CORS request did not succeed 浏览器

放上我的错误&#xff1a; 一定要坚信他给你的提提示&#xff01;&#xff01;&#xff01;一定要怀疑是浏览器的设置 因为我试过网上的两种方法&#xff0c;均无效 法一&#xff1a;将Access-Control-Allow-Origin设置为&#xff1a;* 法二&#xff1a;因为我使用的是vue3&…

深度学习——转置卷积(笔记)

1.卷积层和汇聚层通常会减少下采样输入图像的空间维度&#xff08;高和宽&#xff09;&#xff0c;语义分割对输入进行像素级别的输出&#xff0c;但是卷积会不断减小高宽&#xff0c;不利于像素级别的输出。通过转置卷积能增大输入的高和宽 2.具体操作&#xff1a;步幅为1没有…

uni-app整包更新与热更新方案(安卓和IOS)

原文链接&#xff1a;uni-app整包更新与热更新方案(安卓和IOS) 效果预览 大致效果&#xff1a; 打开App&#xff0c;进入首页&#xff08;首次&#xff09;&#xff0c;检测线上是否存在新版本&#xff0c;如果存在&#xff0c;弹窗提示用户是否进行版本更新。Android 有热更新…

VMware17虚拟机安装及Linux系统搭建(详细版)

✅作者简介&#xff1a;大家好&#xff0c;我是小杨 &#x1f4c3;个人主页&#xff1a;「小杨」的csdn博客 &#x1f433;希望大家多多支持&#x1f970;一起进步呀&#xff01; &#x1f4dc;前言&#xff1a; VMware是一个虚拟PC的软件&#xff0c;可以在现有的操作系统上虚…

虚拟机最小化方式安装Centos7后,ping和ifconfig都不可用解决方法

我用的是台式机&#xff0c;主机连接的是网线&#xff0c;在以最小化方式安装Centos7后&#xff0c;ping和ifconfig不可用。这里要记住&#xff0c;vm虚拟机使用网络适配器是&#xff1a;NAT 模式(N): 用于共享主机的 IP 地址 问题&#xff1a; ifconfig command not found p…

QT基本组件与常用类

目录 一、设计师 Designer&#xff08;掌握&#xff09; 二、布局 Layout 2.1 布局的基本使用&#xff08;掌握&#xff09; 2.2 布局属性&#xff08;掌握&#xff09; 2.3 伸展器&#xff08;掌握&#xff09; 2.4 嵌套&#xff08;掌握&#xff09; 2.5 伸展与策略&#xff…

【C语言进阶】想用好C++?那就一定要掌握动态内存管理

目录 &#x1f929;前言&#x1f929;&#xff1a; 一、动态内存概述⚔️&#xff1a; 1.什么是动态内存&#xff1a; 2.动态内存分配的意义&#xff1a; 二、常用的动态内存函数&#x1f3f9;&#xff1a; 1. malloc 和 free函数&#xff1a; ①. malloc 函数&#xff1a; …

基于PSO粒子群优化的带时间窗VRPTW问题matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation)&#xff0c;1995 年由Eberhart 博士和kennedy 博士提出&#xff0c;源于对鸟群捕食的行为研究 。该算法最初是受到飞鸟集群活…

数据结构初阶:树与二叉树(1)——堆

许久没发博客&#xff0c;在这里跟各位看客道声久等了~ 冬至已至&#xff0c;各位有没有吃上热乎的饺子呢 下面给各位奉上承载着满满干货的饺子吧&#xff1a; 目录 一、树 1. 树的结构定义 2. 树的相关概念 3. 树的表示 孩子兄弟表示法 二、二叉树 1. 二叉树的结构定义 2. 特…

自己整理的vue实现生成分享海报(含二维码),看着网上的没实现

大家好&#xff0c;我是雄雄。 前言 相信大家在许多的场景下&#xff0c;看到过这样的案例。 当我们在某购物app上看好一件商品&#xff0c;想分享给别人时&#xff0c;app会给我们生成一张海报&#xff0c;我们将其保存在手机里面转发给其他人达到分享。当我们逛CSDN的时候&…

【Android弹窗】Dialog Bottom Translate Animation

文章目录1. 系统Dialog2. 自定义Dialog3. 其余1. 系统Dialog 首先先来使用回顾一下系统的Dialog弹窗&#xff0c;这里使用比较简单的AlertDialog为例&#xff1a; AlertDialog.Builder builder new AlertDialog.Builder(this).setTitle("弹窗标题").setMessage(&q…

【小程序】全局数据共享

目录 全局数据共享 1. 什么是全局数据共享 2. 小程序中的全局数据共享方案 全局数据共享 - MobX 1. 安装 MobX 相关的包 2. 创建 MobX 的 Store 实例 3. 将 Store 中的成员绑定到页面中 4. 在页面上使用 Store 中的成员 ​5. 将 Store 中的成员绑定到组件中 6. 在组件中…