TCP 滑动窗口机制
您目前处于:开发&语言  -  Java  2016年07月06日  阅读 459

TCP 窗口是如何工作的:

1. 首先是 AB 之间三次握手建立 TCP 连接。在报文的交互过程中,A 将自己的缓冲区大小(窗口大小)3发送给 B,B 同理,这样双方就知道了对端的窗口大小。

2. A 开始发送数据,A 连续发送3个单位的数据,因为他知道 B 的缓冲区大小。在这一波数据发送完后,A 就不能再发了,需等待 B 的确认。

3. A 发送过来的数据逐渐将缓冲区填满。

4. 这时候缓冲区中的一个报文被进程读取,缓冲区有了一个空位,于是 B 向 A 发送一个 ACK,这个报文中指示窗口大小为1。

5. A 收到 B 发过来的 ACK 消息,并且知道 B 将窗口大小调整为1,因此他只发送了一个单位的数据并且等待 B 的下一个确认报文。

如此反复。



转载请并标注: “本文转载自 linkedkeeper.com ”

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

赞赏支持
分享到: 更多
作者  张强  发布于 2017年12月13日  阅读 410
作者  张强  发布于 2017年12月04日  阅读 845
作者  张强  发布于 2017年11月20日  阅读 2364
Spring AOP是我们日常开发中经常使用的工具,常被用来做统一的日志、异常处理、监控等功能,使用方法在此不多赘述,有兴趣的读者可以自行去网上查阅资料进行学习,我们以注解的使用方式为例,分析其相关源码,其他方式大同小异。开启Spring AOP注解方式首先要配置标签,我们就以这个标签的解析作为入口来分析,这里需要读者对Spring自定义标签解析的过程有一定的了解,笔者后续也会出相关的文章。锁定A...
作者  张强  发布于 2017年11月06日  阅读 2959
Spring事务是我们日常工作中经常使用的一项技术,Spring提供了编程、注解、aop切面三种方式供我们使用Spring事务,其中编程式事务因为对代码入侵较大所以不被推荐使用,注解和aop切面的方式可以基于需求自行选择,我们以注解的方式为例来分析Spring事务的原理和源码实现。首先我们简单看一下Spring事务的使用方式,配置: 在需要开启事务的方法上加上@Transactiona...
作者  张松然  发布于 2017年11月05日  阅读 7998
分布式事务分布式系统的特性分布式事务的基本介绍常用的分布式技术说明理解2PC和3PC协议「点击阅读」分布式服务协调技术什么是ZookeeperZookeeper和CAP的关系Zookeeper节点特性及节点属性分析Zookeeper的实现原理分析Zookeeper实践,共享锁,Master选举「点击阅读」分布式消息技术Kafka的基本介绍Kafka的设计原理分析Kafka数据传输的事务特点Kafk...