运输层:TCP流量控制

news/2024/5/17 15:51:09 标签: 运输层, TCP, 流量控制

TCP_0">1.运输层TCP流量控制

笔记来源:
湖科大教书匠:TCP流量控制
流量控制(flow control)就是让发送方的发送速率不要太快,要让接收方来得及接收。
实现方法:滑动窗口机制

移动发送窗口,因接收窗口大小为300,故将发送窗口大小调整为300


因1 ~ 100、101 ~ 200均已发送并确认,从发送缓存中将其删除

接着发送在发送窗口中未被发送的301 ~ 400和401 ~ 500

发送窗口中的201 ~ 300 触发超时重传

至此发送窗口内的数据全部发送并累积确认完成,向右滑动3个窗口

因接收窗口调整为了100,所以将发送窗口也调整为100

删除发送缓存中已经发送并确认的数据

将发送窗口内的数据201 ~ 600 发送出去,并接收累计确认


收到的确认报文中,滑动窗口向右移动1个,但由于接收窗口调整为了0,故发送窗口也需要调整为0



若接收缓存又有了一些存储空间,接收窗口调整为300,通告主机时,该通告丢失,而A一直等待B的通知,这样相互等待一直持续

对上述问题的解决:当接收窗口为0时,发送探测报文进行确认

例题:


http://www.niftyadmin.cn/n/1300841.html

相关文章

PeekMessage和GetMessage的区别

区别: 1. GetMessage的主要功能是从消息队列中“取出”消息,消息被取出以后,就从消息队列中将其删除;而PeekMessage的主要功能是“窥视”消息,如果有消息,就返回true,否则返回false。也可以使用…

vue.js层叠轮播效果的实例代码

最近写公司项目有涉及到轮播banner,一般的ui框架无法满足产品需求;所以自己写了一个层叠式轮播组件;现在分享给大家; 主要技术栈是vue.js ;javascript;jquery;确定实现思路因工作繁忙,暂时不做梳理了&…

CrashRpt

今天原本打算在谷歌上搜索处理SEH的文章,以使我不需要在每一个线程中使用__try{}__except()代码块包裹代码的情况下,就能在任意线程抛出SEH时生成MiniDump文件。不过最后的结果是处理SEH的文章没有搜索出几篇,却幸运的搜索出了满足我需要的工…

TypeScript基础入门教程之三重斜线指令详解

前言 TypeScript是Javascript的超集,实现以面向对象编程的方式使用Javascript。当然最后代码还是编译为Javascript。 三斜杠指令是包含单个XML标记的单行注释。 注释的内容用作编译器指令。 三斜杠指令仅在其包含文件的顶部有效。 三重斜杠指令只能在单行或多行注…

mpvue将vue项目转换为小程序

一、 mpvue简介 mpvue:是由 美团点评团队出品的小程序开 发的一款基于 vue的框架, 从整个 Vue的核心代码上经过二次开发而形成的一个框架,相当于是给Vue本身赋能,增加了开发微信小程序的能力。 使用 mpvue开发小程序,你将在小程…

vue、react等单页面项目部署到服务器的方法及vue和react的区别

tml页面空白,刷新当前路由404。。。用react做的项目也同样遇到类似问题。现在我们一起讨论下单页面如何部署到服务器? 由于前端路由缘故,单页面应用应该放到nginx或者apache、tomcat等web代理服务器中,千万不要直接访问index.htm…

vue服务端渲染添加缓存的方法

什么是服务器端渲染(SSR)? Vue.js 是构建客户端应用程序的框架。默认情况下,可以在浏览器中输出 Vue 组件,进行生成 DOM 和操作 DOM。然而,也可以将同一个组件渲染为服务器端的 HTML 字符串,将它们直接发送到浏览器&a…

vue服务端渲染缓存应用详解

服务端渲染简介 服务端渲染不是一个新的技术;在 Web 最初的时候,页面就是通过服务端渲染来返回的,用 PHP 来说,通常是使用 Smarty 等模板写模板文件,然后 PHP 服务端框架将数据和模板渲染为页面返回,这样的…