当前位置: 首页 > wzjs >正文

什么是网站建设和维护网站开发还有哪些

什么是网站建设和维护,网站开发还有哪些,企业网站如何建立,百度一下官方网目录 流量控制 滑动窗口 丢包重传 情况一:数据到达,应答丢失 情况二:数据包丢失 流量控制 TCP协议会根据接收端的缓冲区大小来调整发送速度,剩余空间多则发送速度快,否则降低发送速度 接收端将⾃⼰可以接收的缓…

目录

流量控制

滑动窗口 

丢包重传

情况一:数据到达,应答丢失

情况二:数据包丢失


流量控制

TCP协议会根据接收端的缓冲区大小来调整发送速度,剩余空间多则发送速度快,否则降低发送速度

接收端将⾃⼰可以接收的缓冲区剩余空间⼤⼩放⼊ TCP ⾸部中的 "窗⼝⼤⼩" 字段,窗⼝⼤⼩字段越⼤, 说明⽹络的吞吐量越⾼

接收端⼀旦发现⾃⼰的缓冲区快满了, 就会将窗⼝⼤⼩设置成⼀个更⼩的值通知给发送端

发送端接受到这个窗⼝之后, 就会减慢⾃⼰的发送速度,如果接收端缓冲区满了, 就会将窗⼝置为0; 这时发送⽅不再发送数据, 但是需要定期发送⼀个窗⼝探测数据段, 使接收端把窗⼝⼤⼩告诉发送端.

同时如果接收方的缓冲区腾出空间了,会发送窗口更新通知给发送端

窗口的初始大小由三次握手阶段的ACK包来确定

窗口的大小在TCP首部里是16位,但并不意味着最大只能有65535,首部里的选项还包含了⼀个窗⼝扩⼤因⼦M, 实际窗⼝⼤⼩是 窗⼝字段的值左移 M 位

滑动窗口 

 对每⼀个发送的数据段, 都要给⼀个ACK确认应答. 收到ACK后再发送下⼀个数据段. 这样做有⼀个⽐较⼤的缺点, 就是性能较差. 尤其是数据往返的时间较⻓的时候

既然如此,一次发送多条数据而不等待应答就可大大提升效率

如上图,就是选择一次发送四条数据(这里先记住,TCP协议只能像这样一条发送有限字节的数据,图中就是1000字节,也就是一次只能发送1000字节,不能更多,主要是因为数据链路层的限制,一次性只能传输有限字节的数据)

发送前四个段的时候, 不需要等待任何ACK, 直接发送
收到第⼀个ACK后, 滑动窗⼝向后移动, 继续发送第五个段的数据,依次类推
操作系统内核为了维护这个滑动窗⼝, 需要开辟发送缓冲区来记录当前还有哪些数据没有应答; 只
有确认应答过的数据, 才能从缓冲区删掉;
窗⼝越⼤, 则⽹络的吞吐率就越⾼; 

所谓窗口,就是你写算法题经常遇到的那个滑动窗口。。。这个窗口内所维护的就是待发送的数据段,窗口左边是确认收到应答的数据段,窗口右边就是以后再发的数据段

窗口大小的确定与TCP首部的16位窗口大小有关,先可以理解为那个字段就是窗口大小,根据上面流量控制的讨论,我们知道,这个大小完全取决于接收端的缓冲区剩余空间大小,由这个参数,滑动窗口就能实现流量控制

窗口具体如何移动,取决于TCP首部的确认应答号

确认应答号i+1表示从1~i序号的数据段全收到了,比如上面的图,如果2001~3000丢包了,只收到了1001~2000,不管后面的数据段接收端是否收到,确认应答号都是2001,注意窗口左边的是已经确认过应答的数据段

根据确认应答号i,可以确定窗口左边left = i;

根据16位窗口大小,确定窗口右边right = left + window;

这样滑动窗口就能向右移动起来,注意上面的计算方式只适用于没有丢包的情况

丢包重传

情况一:数据到达,应答丢失

这种情况下, 部分ACK丢了并不要紧, 因为可以通过后续的ACK进⾏确认,比如上图1~1000的数据丢了无所谓,后续会收到1~2000的确认应答号2001,收到2001,根据确认应答好的定义,1~2000全收到了,不用管1~1000没收到应答

情况二:数据包丢失

接收端根本没收到数据包

 对于这种情况,拿下图讨论一下

窗口内的数据段都有可能丢,我们不妨先来回忆一下确认应答号的定义,确认应答号为i表示1~i-1的数据全部收到了,把left赋值为i,表示1~i-1的数据全收到了,如果i <= right,可以看出丢包了,那么i~right的每一个数据段,都有可能丢包了,但是,我们只需要处理最左边的数据段,即以left为开头的第一个数据段,把它重发即可

做完之后,如果确认应答号i > right,直接left = i, right = left + window,否则说明仍有丢包的,假设刚才发的以left为开始的第一个数据段为丢包,那么确认应答号i肯定大于left,直接left = i,然后完全重复上面的工作即可

实际中可能不能根据i <= right来判断是否丢包,因为收到的确认应答号总是要更小的,以下图为例

判断是否丢包,一般根据是否收到3次重复的确认应答为准,不是两次是因为,数据包到达时间并不严格按照发送先后时间,可能3001~4000比2001~3000先到达,导致收到了两次重复的确认应答号,所以一般设置为3次,3次一般足够精确,再多又不好了 


文章转载自:

http://0S6gZdZu.hcszr.cn
http://HuTUW5j5.hcszr.cn
http://MytIMKWG.hcszr.cn
http://IznOsBF5.hcszr.cn
http://GgyGYxc6.hcszr.cn
http://jzah8PHK.hcszr.cn
http://srckFZvV.hcszr.cn
http://LEtoazy0.hcszr.cn
http://kriuiPKK.hcszr.cn
http://UsAuT872.hcszr.cn
http://ig5NQtI5.hcszr.cn
http://ZeQoPYBm.hcszr.cn
http://GDs2qBnk.hcszr.cn
http://IYCh5U2K.hcszr.cn
http://btOlykGX.hcszr.cn
http://chyprk6w.hcszr.cn
http://NpSnXmgi.hcszr.cn
http://DVITWLd0.hcszr.cn
http://6o62Aluz.hcszr.cn
http://5MUN4ZCB.hcszr.cn
http://z1TlvuLb.hcszr.cn
http://57V9Xm4g.hcszr.cn
http://3xNCW4qK.hcszr.cn
http://es9O4WMM.hcszr.cn
http://ohMAN4vB.hcszr.cn
http://r4EEzY0g.hcszr.cn
http://N06ktMhk.hcszr.cn
http://XVJKhl6Q.hcszr.cn
http://FjRJWz5f.hcszr.cn
http://xaLiq51l.hcszr.cn
http://www.dtcms.com/wzjs/698286.html

相关文章:

  • 梅州市建设培训中心网站.net 网站自动登录
  • 网站制作 深圳信科网络网站常用模块功能说明
  • 电子平台网站建设个人站长做导航网站
  • 百度不收录你的网站产品微信公众平台使用方法
  • 一个服务器可以做几个网站怀柔网站建设优化seo
  • 建设h5网站淄博阿雷网站建设公司
  • 网站开发公司招聘技术人员wordpress 竖导航栏
  • 网站第三方统计工具下载佛山企业网站设计公司
  • 甘肃网站备案广东建筑人才网招聘信息网
  • 网站建设需要掌握什么技术泰安seo服务
  • 江门整站优化网站建设怎么设置网址
  • 鹰潭网站开发wordpress 分享按钮
  • 农业科技工作服务站建站模板自助建站平台有哪些
  • 站长统计幸福宝网站统计最新网络游戏
  • 网站开发语言查看器温州软件开发
  • 网站推广方案策划书2000别墅装修公司排名前十强
  • 房产机构网站建设广州网站建设 易点
  • 海淀区城市建设档案馆网站农村电商怎么赚钱
  • php 网站温州网页制作招聘
  • 网站改版计划如果在网上接网站建设项目
  • wordpress顶部图片轮播2022年百度seo
  • 晋江市住房与城乡建设局网站查看网站是哪家做的怎么看
  • 简述网站开发的工作流程网站建设春节放假
  • 建app网站要多少钱如何做文献ppt模板下载网站
  • 无锡自适应网站开发查企业用什么软件
  • 自己做网站服务器可以吗游戏推广话术技巧
  • 湖北网站设计制作价格一个公司可以做几个百度推广
  • 一流的手机网站建设口碑好的网站建设商家
  • 如何自己做网站发布到服务器上面和黑人做网站
  • 廊坊网站建设精灵网站开发流程有哪些