上一节说了TCP可能就有童鞋问如果我发的数据分片完怎么组合,都发乱了那我数据不恢复不了吗? 
这里我就要说一下我们的seq序列号的作用了,通过他进行排序,也就是TCP的有序传输。 
我们还有一点就是要知道seq是如何增长的,我们的seq值假如=100  len长度=7  那么我们下一个的seq就是107  通过107确定我们前面的数据接收到了不然可以通过前面的SEQ+len减去后面的seq来确定哪一部分的数据丢弃如何进行重传即可。 
 
 
我们的TCP是双向也就意味着每方都维护着一个seq,当然ack也自然维护者,另一方面我们的数据还得考虑每次传输的大小,专业的说是窗口大小,假设大小固定,每次发送数据过去然后不断的清空缓存然后继续发送,比如固定窗口大小5000,第一次发送2000还有3000,第二次发送2000还有1000,然后发送数据确确认ack我们清空缓存继续重新发送5000继续减小,但是一旦多个客户端同时进行这个就会变得缓存就需要一个滑动窗口大小来进行解决。 
 
 
滑动窗口根据我们的实际情况进行调整,比如一个5000的窗口大小,发送2000之后第二次发送2000的时候我这里就还有1000不够下一次,如果不调整数据就会丢弃,所以我进行调整告诉他我现在固定大小1000,就会发送的调整为1000,这样就解决了数据大小发送接收时候的尴尬局面。 
   当然我们的数据或者服务器出问题的时候,就必须启动秘密武器零窗口,告诉我现在零窗口不能发送给我,但是我们保持着连接的关系,直到可以发送的时候我发送一个固定大小值然后继续进行。 
 

wireshark从入门到精通(协议排错安全篇)7相关推荐

  1. 视频教程-2019版抓包分析-Wireshark从入门到精通【进阶篇】-其他

    2019版抓包分析-Wireshark从入门到精通[进阶篇] G-LAB IT实验室创始人.知名讲师.同时拿到路由交换.网络安全.数据中心3个方向的CCIE专家级别认证.教学风趣幽默,广受学员好评 郭 ...

  2. Android Studio2.0 教程从入门到精通MAC版 - 安装篇

    来自:http://www.open-open.com/lib/view/open1466430392743.html 前言 这个教程你将学会如何使用Android Studio2.0开发Androi ...

  3. SpringBoot入门到精通_第6篇 _必知必会

    接上一篇:SpringBoot入门到精通_第5篇 _SpringBoot Actuator监控 https://blog.csdn.net/weixin_40816738/article/detail ...

  4. SpringBoot入门到精通_第5篇 _SpringBoot Actuator监控

    接上一篇:SpringBoot入门到精通_第4篇 _开发三板斧 https://blog.csdn.net/weixin_40816738/article/details/101097161 文章目录 ...

  5. SpringBoot入门到精通_第4篇 _开发三板斧

    接上一篇:SpringBoot入门到精通_第3篇 _应用组件分析 https://blog.csdn.net/weixin_40816738/article/details/101096218 文章目 ...

  6. SpringBoot入门到精通_第3篇 _应用组件分析

    接上一篇:SpringBoot入门到精通_第2篇 _1分钟实战需求项目 https://blog.csdn.net/weixin_40816738/article/details/101095964 ...

  7. SpringBoot入门到精通_第2篇 _1分钟实战需求项目

    接上一篇:SpringBoot入门到精通_第1篇 _核心概念 https://blog.csdn.net/weixin_40816738/article/details/94916051 文章目录 一 ...

  8. SpringBoot入门到精通_第7篇 _必知必会总结

    接上一篇:SpringBoot入门到精通_第6篇 _必知必会

  9. SpringBoot入门到精通_第1篇 _核心概念

    SpringBoot 必知必会 核心精粹 文章目录 一.SpringBoot必知必会 1. 是什么?能做什么? 2. 有哪些特性? 一.SpringBoot必知必会 1. 是什么?能做什么? 是什么? ...

  10. MySQL零基础从入门到精通(多表篇)

    MySQL零基础从入门到精通(多表篇) MySQL零基础从入门到精通(多表篇) 实际开发中,一个项目通常需要很多张表才能完成.例如:一个商城项目就需要分类表(category).商品表(product ...

最新文章

  1. GitHub开源基于Android系统的金属探测器
  2. 20155328 《信息安全系统设计基础》 课程总结
  3. 入门科普,围绕JVM的各种外挂技术
  4. Java OkHttp3的简单使用
  5. cmake + visual studio 配置出错的解决方法
  6. 【小白学习C++ 教程】五、C++数据结构向量和数组
  7. MKL学习——功能简介
  8. MySQL中 JSON 数据类型应用
  9. C语言职工工资管理系统
  10. 数字人民币APP(试点版)上线引关注 | 产业区块链发展周报
  11. 读《超级整理术》--对整理的思路
  12. matlab画一条平滑曲线,Matlab画平滑曲线的两种方法( 拟合或插值后再用plot即可)...
  13. android手机打电话时没有网络,4G手机打电话为什么会断网 4G上网和通话不能并存原因分析...
  14. windows server 2012 更改网络位置
  15. 洛谷—— P1069 细胞分裂
  16. 【数据库原理】函数依赖 平凡依赖 非平凡依赖 完全函数依赖 部分函数依赖 传递函数依赖
  17. NepCTF2021一些web题目的总结与复现
  18. 好用免费的内网穿透工具
  19. 搭建Ethereum以太坊测试网络Rinkeby节点
  20. 使用Arduino和HCSR04超声波传感器进行简单的超声波悬浮

热门文章

  1. 有关Spring 3.0的发布
  2. piaoxue/feixue驱动程序分析
  3. 从Jenkins迁移到Jenkins X:一场持续交付之旅\n
  4. 大数据量下的集合过滤—Bloom Filter
  5. Confluence 6 从你的 JDBC 连接中直接启用校验查询
  6. AngularJS之Filter(二)
  7. apache 安装配置 以及php-fpm结合apache配置
  8. POJ3264[线段树]
  9. 2010年终总结---戏说茅台酒涨价
  10. 【转】WordPress源码解读(1)