10 TCP限流技术

摘要:
TCP流限制的原因是接收方可以完全接受消息,以确保数据安全而不会丢失。首先,窗口机制引入了发送方和接收方都有一个窗口。当发送方发送数据时,将发送落入窗口中的数据。当接收器接收到数据时,落入接收器窗口的数据将被接受。可以看出,流量会受到窗口大小II的限制。滑动窗口技术1TCP滑动窗口技术通过动态改变窗口大小来调整两台主机之间的数据传输。

  TCP限流是因为让接收方充分接受完消息,保证数据安全,不会丢失

一、窗口机制介绍

发送端和接收端都拥有一个窗口,当发送端发送数据时,落进窗口的数据被发送,当接受端接受数据时,落进接收端窗口的数据将会被接受。由此可见可以通过窗口大小限制流量

二、滑动窗口技术(限流使用到的技术)

1 TCP滑动窗口技术通过动态改变窗口大小来调节两台主机间的数据传输。每个TCP/IP主机支持全双工数据传输,因此TCP有两个滑动窗口: 
一个用于接收数据,另一个用于发送数据.TCP使用确定技术,其确定号指的是下一个所期待字节.假定发送方设备以每次三个数据包发送数据,也就是说,窗口大小为3.
发送方发送序列号的1,2,3的三个数据包,接收方成功接收数据包,用序列号4确认.发送方设备收到确认,继续以窗口大小3发送数据.当接收方设备要求降低或者增大网络流量时,
可以对窗口大小进行减小或者增加.本例降低窗口大小为2,每一次发送两个数据包.当接收方设备要求窗口大小为0,表示接收方已经接受全部数据,或者接收方应用程序没有时间读取数据,
要求暂停发送,发送方接受到携带窗口号为0的确认,停止这一方向的传输.

三、举例说明

10 TCP限流技术第1张

过程分析:

  1、初始状态,发送方没有帧发出,发送窗口前后相位重合。接收方0号窗口打开,等待就接收0号帧;

  2、发送方打开0窗口,表示已发出0帧但尚未确认返回信息。此时接收窗口状态不变;

  2、发送方再打开1号窗口,表示0,1号帧都在等待确认之列。至此发送方打开的窗口数已达到规定限度,在未接受新的确认返回帧之前,发送方将暂停发送新的数据帧。此时接收窗口状态仍未改变

  4、接收方收到0号帧,0号窗口关闭,1号窗口打开,表示准备接受一号帧,此时发送窗口不变,

  5、发送方收到接收方发来的0号确认返回信息,关闭0号窗口,表示从重发表中删除0号帧。此时接收方窗口不变。

  6、发送方删除0号帧以后,没有达到最大限制,将2号窗口打开,,准备发送2号帧,此时待确认之列中有1号帧和2号帧。此时2号帧加入发送窗口又已达到规定限度,在未接收到新的确认返回帧之前,发送方暂停数据帧的发送,此时接收窗口状态不变

  7、接收方已收到1号帧,一号窗口关闭,2号窗口打开,表示准备接收2号帧。此时发送窗口不变

  8、发送方收到接收方发来的一号帧接收完的确认信息,关闭1号窗口,表示删除1号帧。此时接收窗口状态仍不变。

10 TCP限流技术第2张

免责声明:文章转载自《10 TCP限流技术》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ESXi挂载NFS共享存储国产操作系统——银河麒麟V10 SP1使用小结下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

springCloud组件详细解析

1 springcloud有哪些组件?  Eureka 服务注册中心  Ribbon 负载均衡  Zuul 网关  Fegin 客户端Web  Hsytri 熔断器  Bus 消息总线  Config 统一配置中心 2 什么是自我保护模式  springCould的服务注册中心会监控微服务的心跳。如果检测到心跳,那么这个时候服务注册中心进入自我保护模式...

各大免费邮箱邮件群发账户SMTP服务器配置及SMTP发送量限制情况

网络产品推广和新闻消息推送时,经常用到的工具就是用客户邮箱发送邮件了,如果是要发送的邮件量非常大的话,一般的建议是搭建自己的邮局服务器,或者是花钱购买专业的邮件群发服务,免费邮箱的SMTP适合少量的邮件群发需求。 例如Wordpress的评论邮件通知功能,每天要发送的邮件数量最多可能是几百封,如果用PHP自带的Mail()函数发送,容易被各大邮箱判定为垃圾...

群发技术-使用python3给微信好友群发消息

本文介绍如何给个人微信好友群发消息。 微信个人号中的群发助手可以一次给30个发送消息,如果要给所有所有群发,则需要自己手动发送多次,或者借助程序实现了。本文即是程序实现教程 一、原理 在微信的官方网站上 https://weixin.qq.com/,提供了一个网页版的微信,地址为 https://wx.qq.com/ 登录该网页版微信后,可以在网页上给对方...

Mozilla公布火狐4详情:更快 更支持开放标准

Mozilla公布火狐4详情:更快 更支持开放标准 火狐公布火狐4.0版的更多技术详情 北京时间5月11日消息,据国外媒体报道,火狐(Firefox)浏览器开发商Mozilla技术开发副总裁迈克·贝尔泽纳(Mike Beltzner)今天公布了火狐4.0版的更多技术详情,称火狐4.0版整体运行速度将更快,将更多支持开放互联网浏览标准,同时把隐私保护...

docker容器的端口映射

1.创建一个Nginx 容器,先不映射端口 [root@localhost ~]# docker run --name my_nginx -d nginx 7be3673a4c0f8f7ffe79a7b11ab86c4327dacaf734ed574e88e28c1db2243716 [root@localhost ~]# docker ps -a...

Maven 命令参数 整理

命令参数 备注 mvn -v --version 显示版本信息; mvn -V --show-version 显示版本信息后继续执行Maven其他目标; mvn -h --help 显示帮助信息; mvn -e --errors 控制Maven的日志级别,产生执行错误相关消息; mvn -X --debug 控制Maven的日志级别...