码农知识堂 - 1000bd
Python
PHP
JS/TS
JAVA
C/C++
C#
GO
Kotlin
Swift
【TCP:可靠数据传输,快速重传,流量控制,TCP流量控制】
文章目录
可靠数据传输
TCP:可靠数据传输
TCP发送方事件
快速重传
流量控制
TCP流量控制
可靠数据传输
TCP:可靠数据传输
TCP在IP不可靠服务的基础上建立了rdt
管道化的报文段
GBN or SR
累计确认(像GBN)
单个重传定时器(像GBN)
是否可以接受乱序的,可以缓存,也可以丢弃
通过以下事件触发重传
超时(只重发那个最早的未确认段:SR)
重复的确认
例子:收到了ACK50,之后又收到3个ACK50
首先考虑简化的TCP发送方:
考虑重复的确认
忽略流量控制和拥塞控制
NextSeqNum = NextSeqNum + length(data):
发送窗口前沿向前移动。
SendBase = y
/* SendBase–1: last cumulatively ACKed byte */
if (there are currently not-yet-acked segments) start timer else stop timer:
发送窗口后沿向前移动,没有已发送未确认的字节,关掉定时器。
TCP发送方事件
从应用层接收数据:
用nextseq创建报文段
序号nextseq为报文段首字节的字节流编号
如果还没有运行,启动定时器
定时器与最早未确认的报文段关联
过期间隔:TimeOutInterval
超时:
重传后沿最老的报文段
重新启动定时器
收到确认:
如果是对尚未确认的报文段确认
更新已被确认的报文序号
如果当前还有未被确认的报文段,重新启动定时器
解释:这里发送方传送的序号从92开始的,8个字节,接收方收到给一个ACK100的确认,但是这个确认丢失,发送方又传了100开始,20个字节。这个时候就要重发92,8。
这里有几种情况:
①隐忍不发,等多个报文在一起时候再一起发。
②延时等待,下一个报文在延时时间发了的话,就一起发送。没发的话,就只发送一个ACK。
③在发送重复的ACK,指明下一个期待的字节序号。
④若报文中间有gap间隔,完全补齐的话,就发送所有的ACK,部分补齐的话,就发送补齐部分。
快速重传
超时周期往往太长:
在重传丢失报文段之前的延时太长
通过
重复
的ACK来检测报文段丢失
发送方通常连续发送大量报文段
如果报文段丢失,通常会引起多个重复的ACK
如果发送方收到同一数据的3个冗余ACK,重传最小序号的段:
快速重传:在定时器过时之前重发报文段
流量控制
TCP流量控制
流量控制:接收方控制发送方,不让发送方发送的太多,太快以致于让接收方的
缓冲区溢出
。
接收方在其向发送方的TCP段头部的rwnd字段“通告”其空闲buffer大小。
保证接收方不会被淹没。
相关阅读:
【数据结构】时间复杂度---OJ练习题
全面认识痛风:症状、风险因素、发病机理及管理
层级锁笔记
css宽高自适应
java基础 包装类、String类、StringBuffer、StringBuilder、Math类、Arrays类
c语言入门---调试技巧
Python爬虫遇上动态加载
基于springboot的旅游景点管理系统
【深蓝学院】手写VIO第7章--VINS初始化和VIO系统--笔记
850. 矩形面积 II--(每日一难phase--day16)
原文地址:https://blog.csdn.net/forever_youyang/article/details/138119543
最新文章
攻防演习之三天拿下官网站群
数据安全治理学习——前期安全规划和安全管理体系建设
企业安全 | 企业内一次钓鱼演练准备过程
内网渗透测试 | Kerberos协议及其部分攻击手法
0day的产生 | 不懂代码的"代码审计"
安装scrcpy-client模块av模块异常,环境问题解决方案
leetcode hot100【LeetCode 279. 完全平方数】java实现
OpenWrt下安装Mosquitto
AnatoMask论文汇总
【AI日记】24.11.01 LangChain、openai api和github copilot
热门文章
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
奉劝各位学弟学妹们,该打造你的技术影响力了!
五年了,我在 CSDN 的两个一百万。
Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
面试官都震惊,你这网络基础可以啊!
你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
心情不好的时候,用 Python 画棵樱花树送给自己吧
通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
13 万字 C 语言从入门到精通保姆级教程2021 年版
10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系
2656653265@qq.com
京ICP备2022015340号-1
正则表达式工具
cron表达式工具
密码生成工具
京公网安备 11010502049817号