最新要闻
- 新芝生物持续加大科学仪器研发投入 上半年研发人员数量同比增加46.81%
- 以成人之名 献青春热血
- 云南警官学院网络空间安全是公安专业吗 云南警官学院
- 养老反被啃老❓36岁梅西15天高强度连踢5场比赛+场场取胜
- 葛冲村村民委员会(关于葛冲村村民委员会简述)
- 正通汽车(01728.HK)盈警:预计中期权益股东应占亏损不超3.96亿元
- 《海贼王》真人版海报曝光 8月31日正式开播
- 塞罕坝旅游攻略自驾游路线(塞罕坝旅游攻略)
- 长城哈弗H5新款上市:搭载2.0T柴/汽油发动机
- 跌破3%?记者实探郑州多家银行 经营贷“3字头”仍是主流
- 11.28万就能买纯电旅行车!全新别克微蓝6上市 换装磷酸铁锂电池
- 29.99万起 全新宝马iX1纯电SUV上市:“杂牌”电动车买吗?
- OPPO Find N3 Flip实拍舒淇 刘作虎:这人像效果绝了
- 主臂105米世界最长!徐工900吨起重机炫技:不带超起吊装风电
- 理想官宣通勤NOA推送计划:9月推出内测版本 年内达到100城!
- 香港财库局:继续联同监管机构加紧筹备将人民币柜台纳入港股通
手机

西安卫健委七夕发短信催婚催育

1961年,赫本抱着一岁儿子肖恩准备登机,穿长裙气质尊贵落落大方
- 西安卫健委七夕发短信催婚催育
- 1961年,赫本抱着一岁儿子肖恩准备登机,穿长裙气质尊贵落落大方
- 初页倒闭了作品怎么办(初页)
- 采购经理指数是什么意思(采购经理指数是什么意思)
- 西游记里,灵山若和天庭大打出手会如何?如来:我方一佛出战即可
- 瑞士联邦文化总局向我国返还流失文物艺术品
家电
窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理
本文分享自华为云社区《窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理》,作者: Lion Long。
【资料图】
一、TCP报头
0 |1 |2 |3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-------------------------------+-------------------------------+|Source Port|Destination Port|+---------------------------------------------------------------+|Sequence Number|+---------------------------------------------------------------+|Acknowledgment Number|+-------+-----------+-+-+-+-+-+-+-------------------------------+| Header| Reserve |U|A|P|R|S|F||| Length| |R|C|S|S|Y|I|Windowsize|| | |G|K|H|T|N|N||+-------------------------------+-------------------------------+|Checksum |Urgent Pointer |+---------------------------------------------------------------+|Option|+---------------------------------------------------------------+|Data||...|+---------------------------------------------------------------+
二、TCP流量控制
一般来说,我们希望数据传输得更快;但如果发送方发送数据过快,接收方还没来得急接收数据,就会造成丢包现象。
流量控制就是让发送方控制发送速率,让接收方能及时接收数据。TCP利用滑动窗口机制实现发送方的流量控制。
网络上进行数据传输的时候,需要考虑如何达到高效的收发数据。那么就需要考虑接收方可以接收多少网络包和网络上可以发送多少网络包的问题。
接收方通过发送数据出去的时候,同时告诉发送方我还能接收多少数据包。
要知道网络上数据传输的状态,可以通过计算往返时间。
2.1、持续计时器
TCP为每一个连接设有一个持续计时器。只有TCP的一方收到对方的零窗口通知,就启动持续计时器;只要持续计时器超时,就放送一个零窗口探测报文,携带一字节的数据;而对方收到零窗口探测报文时,回复自己现有的接收窗口值。如果窗口大小依旧是零,那么收到报文的一方就重新启动持续计时器。
零窗口探测报文丢失是不是无法打破死锁?零窗口探测报文发送的时候也会启动重传计时器,不必担心零窗口探测报文丢失会无法打破死锁局面。
持续计时器是为了解决双方相互等待(A等待B发送非零窗口的通知,B等待A发送数据)而形成的死锁现象。这种现象一般发生在发送窗口大小数据包丢失时。
2.2、RTT
RTT,全称Round Trip Time,即往返时间。由链路传播时间、末端系统处理时间、路由器缓存中排队和处理的时间组成。
Round Trip Time
对于TCP来说,路由器缓存中排队和处理的时间会随着网络拥塞程度辩护而变化。通过计算RTT可以反应网络拥塞程度,从而拥塞控制。
RTT
RTT的计算公式:new_RTT = percent*pre_RTT+(1-percent)*RTT;
其中percent取值范围0.8~0.9 ;pre_RTT是上一次的RTT,RTT是本次RTT。计算出来new_RTT,如果RTT大于new_RTT,那么就超时。
2.3、RTO
RTO,全称Retransmission TimeOut,即重传超时时间。
超时之后TCP进入Loss状态,重传所有没有被确认的报文,同时进入慢启动的回复过程。
2.4、拥塞的定义
随着网络上的主机不断增加其发送速率,会使整个网络变得非常拥挤;这会导致网络经常出现丢包现象,使网络传输效率大幅度下降。
如果不对网络做拥塞控制,会降低整个网络的传输效率,直到吞吐量为0,进入死锁。
拥塞
2.5、慢启动和拥塞控制
(1)一条TCP连接开始时,window size被设置为1 MSS(最大报文段大小)。
(2)TCP发送方发送完发送窗口数据,并收到所有的确认,window size以指数增长(以2的倍数进行翻倍),即慢启动阶段。
(3)window size增长到一个慢启动的阈值thresh,开始执行拥塞控制算法(window size呈线性增长),进入拥塞控制阶段。
(4)随着window size增长,发送速率提高,出现网络拥塞,分组超时重传。
慢启动
拥塞控制
慢启动是指一开始向网络中发送的报文段少,而不是指拥塞窗口增长速度慢。
拥塞避免不是指完全能够避免拥塞,而是指在拥塞避免阶段将拥塞窗口控制为线性规律增长,使网络比较不容易出现拥塞。
2.6、快重传和快恢复
1990增加新的拥塞控制算法:快重传和快恢复。用于改进TCP的性能。
有时候,个别报文会在网络中丢失,当实际上网络并没有发生拥塞,这将导致发送方超时重传并认为网络出现了拥塞;从而错误的启动慢启动算法,因此降低传输效率。为此,引入快重传算法,可以让发送方尽早知道个别报文段的丢失。
所谓快重传,就是发送方尽快的进行重传,而不是等超时计时器超时才重传。快重传可以使整个网络吞吐量提高约20%。
发送方接收到3个重复确认,就知道只丢失了个别报文段,于是不启动慢启动算法,而是执行快恢复算法。
所谓快恢复,就是发送方将慢启动上限和拥塞窗口值调整为当前窗口的一半,开始执行拥塞避免算法。
三、滑动窗口
TCP基于以字节为单位的滑动窗口来实现可靠传输。
滑动窗口需要考虑网络上能发多少以及接收方能接收多少;即窗口大小=min{接收方窗口,网络上可发送数据包大小};
两个指针,前指针指示已接收或已发送并确认的字节序,后指针指示不允许接收/发送的开始位置,两个指针之间就是可收发数据的窗口大小。
|<---------- window size ---------->|+--------------+-----------------------------------+-------------+|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21 |+--------------+--------------------+--------------+-------------+|已发送并确认 P1 已发送未确认 P2 未发送 P3 不可接收 |+----------------------------------------------------------------+
窗口大小是动态的,可以通过RTT计算。比如发4K到网络,出现拥塞,那么就将窗口逐渐减小。RTT防抖,可以推算窗口大小。
四、思考
(1)接收方不recv,发送方一直send,send的数据去哪里了??
这种情况接收方的缓冲区逐渐饱和,达到饱和时滑动窗口为0,此时发送方还在send,那么数据就会滞留在发送方的缓冲区,发送方缓冲区也会逐渐饱和,当发送方缓冲区无法再写入数据时,send返回-1,告诉应用程序IO不可写。
(2)tcp如何保证顺序?
不能保证接收序号是顺序的,只能保证应用程序取的时候是顺序的。适当延迟回复ACK可以提高TCP的传输效率,一般最多延迟0.5秒,否则可能会使重传计时器超时出现重传。
总结
- TCP通过以字节为单位的滑动窗口实现可靠传输。
- TCP进行流量控制时使用四个算法:慢启动、拥塞避免、快重传、快恢复。
- 滑动窗口是动态的,它的大小取接收端可接受窗口大小和网络可发送大小的最小值。比如一条公共路段和接收方的仓库,发送的货物多少取决于公路和仓库的最小值;公路很大但仓库很小,公路上运输再多的货物而仓库无法装载得下;仓库很大但公路较小,仓库就算能装再多的货物而公路只能运输少量的货物。
- 滑动窗口为0时,会开启持续计时器,用于探测接收方是否有空间接收数据,防止进入无休止的等待,即死锁。
- 详细的计算机网络知识,可以参看湖科大计算机网络视频。
点击关注,第一时间了解华为云新鲜技术~
关键词:
-
-
-
-
窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理
《星空》新旧版本对比视频:画面更棒 延期是值得的
新芝生物持续加大科学仪器研发投入 上半年研发人员数量同比增加46.81%
湖北宜昌7.40亿成功出让三宗涉宅地 总出让面积约17.54万㎡
西安卫健委七夕发短信催婚催育
十里秦淮焕新,折射中国经济强劲脉动
普里戈任坠机遇难,佩斯科夫:普京已得知,已采取必要措施
曝胡歌低调开启新工作 同出版社工作人员聚会
存安全隐患,湖南召回5万支打火机
以成人之名 献青春热血
网易新作《代号:无限大》开启全平台预约,《绝区零》有对手了?
中国电信启动AI算力服务器集采 头部厂商集体瞄准智算 哪些细分领域将受益?
DC有望“复活”《神奇女侠3》正式为全系列作结
飞度适用轮胎(本田飞度装什么轮胎?)
云南警官学院网络空间安全是公安专业吗 云南警官学院
新炬网络2涨停
微粒贷分期还款后利息会变少吗-微粒贷分期还款后利息会变少吗为什么
江西检察机关依法对邱少华决定逮捕
为爹背锅,球哥终于要扛不住了…
恺英网络:筹建恺英网络数字经济研发中心
ETF日报|524只股票类ETF上涨
营销管理创新研究(关于营销管理创新研究简述)
开奖结果查询福彩3D:本期通杀号码8,个位金胆关注5
度小满CTO许冬亮:金融行业是大模型落地应用的高潜场景,但有三大挑战需解决
贝克汉姆:又一个美好夜晚&又一次决赛,为迈阿密国际自豪
菜鸟学通电子电路(关于菜鸟学通电子电路简述)
养老反被啃老❓36岁梅西15天高强度连踢5场比赛+场场取胜
李想暗示某车企“腐败严重”
1961年,赫本抱着一岁儿子肖恩准备登机,穿长裙气质尊贵落落大方
乔丹:魔术师约翰逊是史上最好的控卫!库里得往后排
小团队开发剧情模拟经营游戏 众筹8万元
全流程法律服务!他们推动旧改工作提质加速
初页倒闭了作品怎么办(初页)
民生银行菏泽分行组织开展“清廉金融文化建设主题月”活动
死神vs火影佩恩怎么玩
工信部等七部门:开展铁矿石“红黄蓝”供需预警 强化期现货市场监管
蔡依林对象(蔡依林绯闻男友)
采购经理指数是什么意思(采购经理指数是什么意思)
新手如何倒车入库图解(新手倒车入库技巧图解)
护航企业走稳创业路 辽源路人社中心举办“百企宣讲促发展”活动
浙江94家省级单位共同编纂“两志”,深意何在?
福建首条高速公路重卡换电绿色物流专线启用
日本两大航司增加中国航班!
应对核废水入海 澳门海关将对从日本入境澳门人士物品提升检查力度
康师傅全系列方便面(康师傅方便面图片)
好戏连台活力足 暑期文化消费热背后藏着什么“密码”?
葛冲村村民委员会(关于葛冲村村民委员会简述)
波动率太低,炒汇炒不动了?全球银行外汇交易收入大跌15%
李敏镐主演的电视剧(李敏镐)
台州非常良心的景区,虽然贵为5A却一直免费,传说是济公出家之地
西游记里,灵山若和天庭大打出手会如何?如来:我方一佛出战即可
小红书粉丝量前十的消费品 这场博弈值不值得重点入场?
因金钱故意放鲁能鸽子,如今看李源一成核心拿长约,张源后悔了?
“注水剧”现象,该治治!
《昆虫(二)》特种邮票发行
挂号超过了就诊时间 卫健委回应医院提供黄牛电话挂号 基本情况讲解
日本正式启动福岛核污水排海,今年将分4次共排3.12万吨
境内外知名教育机构将参展服贸会 展示全球教育创新模式
12分小胜省队!U18男篮四连胜,杨瀚森24+18+8帽,北大前锋33分
男生遭4个同学围殴,其父用钢管117秒砸45次反击,因致死被判17年
大涨 10.53%!东方甄选“跳槽”淘宝:宝,我们来啦
5省市场主体超1000万户,这个省每7个人就有一个老板
翰宇药业:8月18日公司高管曾少贵、曾少彬减持公司股份合计67.12万股
温氏股份:8月23日融券净卖出6.02万股,连续3日累计净卖出28.95万股
银行短期贷款,银行短期贷款占比增加的原因
新元科技:8月23日融资买入77.75万元,融资融券余额8627.39万元
博菲电气:公司尚未获得受邀参加上述会议的信息,我们将关注和了解会议相关情况
正通汽车(01728.HK)盈警:预计中期权益股东应占亏损不超3.96亿元
海南省市场监管局发布关于规范食盐价格行为的通告
《海贼王》真人版海报曝光 8月31日正式开播
郑州雪松美寓具体位置在哪里?什么时候开始申请?
瑞士联邦文化总局向我国返还流失文物艺术品
科创板有69位亿万富翁 华兴源创实控人登科创板首富
时代光影 百部川扬 | 《一项技术护卫国家粮油安全》
疾病险多少钱一年?
手机相关知识:苹果11恢复出厂设置会有影响吗
小区绿地率算法(小区绿地率怎么算)
香港:8月24日起禁止日本10个都县水产品进口
绿椅子2005完整版下载(绿椅子2005完整版)
美媒批评日本强推核污水排海:丧失公信力,在全世界开启恶劣先例!
塞罕坝旅游攻略自驾游路线(塞罕坝旅游攻略)
NYMEX原油下看79.35美元
长城哈弗H5新款上市:搭载2.0T柴/汽油发动机
中盐集团:食盐储备供应充足 请社会各界理性消费
浦东金桥14.5亿元中期票据获准注册
泰永长征2023年上半年净利5194.67万 同比增加5.68%
全国总工会劳动和经济工作部原副部长王晓涛被查
中国建筑兴业:上半年实现收入47.16亿港元
全面推进公募基金降费,参与降费的公募产品数量突破2800只
涉案价值500余万元 呼和浩特警方打掉跨省倒卖电子烟链条
跌破3%?记者实探郑州多家银行 经营贷“3字头”仍是主流
上海证大(00755.HK)发布中期业绩,股东应占亏损1.87亿港元 同比收窄60.12%
11.28万就能买纯电旅行车!全新别克微蓝6上市 换装磷酸铁锂电池
29.99万起 全新宝马iX1纯电SUV上市:“杂牌”电动车买吗?
国星光电:上半年净利5380.66万元 加快新能源汽车领域市场开拓
OPPO Find N3 Flip实拍舒淇 刘作虎:这人像效果绝了
主臂105米世界最长!徐工900吨起重机炫技:不带超起吊装风电
理想官宣通勤NOA推送计划:9月推出内测版本 年内达到100城!
海外华文媒体人士感受自贸港建设“日新月异”:向世界展示美丽海南
川维化工精醋酸甲酯年销量破10万吨