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

wordpress文件上传管理网站关键词排名手机优化软件

wordpress文件上传管理,网站关键词排名手机优化软件,电子商城网站建设 模板,拼多多网站建设框架图文章目录 TCP核心机制TCP核心机制二: 超时重传为啥会丢包?TCP如何对抗丢包?超时重传的时间设定超时时间该如何确定? TCP核心机制 前一篇文章 JavaEE: 深入探索TCP网络编程的奇妙世界(一) 书接上文~ TCP核心机制二: 超时重传 在网络传输中,并不会一帆风顺,而是可能出现&qu…

文章目录

  • TCP核心机制
    • TCP核心机制二: 超时重传
      • 为啥会丢包?
      • TCP如何对抗丢包?
      • 超时重传的时间设定
        • 超时时间该如何确定?


TCP核心机制

前一篇文章 JavaEE: 深入探索TCP网络编程的奇妙世界(一)
书接上文~

TCP核心机制二: 超时重传

在网络传输中,并不会一帆风顺,而是可能出现"丢包情况"~

为啥会丢包?

产生丢包的原因有很多种

  1. 数据传输的过程中,发生了bit翻转,收到这个数据的接收方/中间的路由器啥的,发现计算校验和对不上了

    发现错误,要及时止损,不能将错就错!
    于是就把这个数据包丢弃掉了,不再继续往后转发/不交给应用层使用.

  2. 数据传输到某个节点(路由器/交换机),这个节点,负载太高了.

    某个路由器,单位时间只能转发N个包,由于现在是网络高峰期,这个路由器单位时间需要转发的包超过N了(发不过来了),那么后续传输过来的数据就可能被这个路由器直接丢弃掉.

TCP如何对抗丢包?

由于丢包这件事情,是完全随机的,是不可预测的.

TCP再怎么厉害,也不可能避免数据发生丢包!

TCP能做的就是,感知到数据是否丢包,如果丢包,就重新再发一次.

假设网络丢包率是10%(数据报到达对方是90%)
10%的丢包是相当高的数字,出现这个情况,都是网络发生严重故障(LOL就卡成ppt了),此时可以赶紧找运营商保修了~我在这里只是举个例子~
此时,进行一次重传,两次传输至少一次到达对方的概率: 1 - 10% * 10% = 99%
传输次数越多,数据到达对方的概率就越大.

关于是否丢包,这个问题需要通过应答报文来区分

  • 收到应答报文,说明数据没丢包
  • 没收到应答报文,就说明数据丢包了

我们都知道,数据在网络传输过程中是需要消耗时间的.

那么我们来思考一下这个问题: "没有收到应答报文"表明暂时没收到,那么是过一会就收到了,还是永远都收不到??

其实,发送方发送数据之后,会给出一个"时间限制"(超时时间).
如果在这个时间限制之内,没有收到反馈的ack,那么就视为是数据丢包了.

丢包这个过程有两种情况:

  • 一是主机A发送数据给B之后,可能因为网络拥堵等原因,导致数据无法达到主机B.
    在这里插入图片描述
  • 二是A发送的数据到达B了,但是A在一个特定的时间间隔内没有收到B发来的确认应答(ACK丢失),于是就会重新发送.
    在这里插入图片描述

情况一还好说,A重新发一份就是了.

但是情况二就有点麻烦了,因为A又重新发送了一份相同的数据,接收到多份相同数据感觉好像没啥大不了的,但是万一你传输的数据是"扣款"这样的请求呢?

为了解决情况二引发的问题,TCP会对上述情况做处理.

接收方有一个接收缓冲区,收到的数据先进入到缓冲区里,等后续再收到数据,就会根据序号,在缓冲区中,找对应的位置(排序),如果发现,当前序号1-1000这个数据,已经在缓冲区中存在了,那么就会直接把新收到的这个1-1000数据包丢弃掉~

其实就是去重,通过去重来确保应用程序,调用read读出来的数据,是唯一的,不重复的~

超时重传的时间设定

这里的时间,不是固定值,而是动态变化的.

发送方第一次重传,超时时间是 t1 ,如果重传之后,仍然没有ack,还会继续重传,此时的超时时间就变成了 t2.
t2 > t1
每多重传一次,超时时间的间隔就会变大 / 重传的频次会降低.

经过一次重传之后,就能让数据到达对方的概率提高很多,再重传一次,又会提升很多.

反之,如果重传几次,都没有顺利到达,这就说明网络的丢包率已经到达了一个非常高的程度,网络发生了严重故障,大概率没法继续使用了.

此时再重传的快,也没意义,不如省点力气~

当然了,重传也不会无休止的进行,当重传达到一定的次数之后,TCP不会尝试重传,就认为这个连接已经G了.
TCP会先尝试进行"重置/复位 连接",发送一个特殊的数据包"复位报文".

  • 如果网络这会恢复了,复位报文就会重新连接,使通信可以继续进行.
  • 如果网络还是有严重问题,复位报文也没有得到回应,此时TCP就会单方面放弃连接.

    之前讲过,连接就是通信双方各自保存对方的信息.
    发送方释放掉信息之前保存的接收方的相关信息,那么这个连接也就没了.

针对上述内容,我们只关注策略,不关注参数.因为参数可以根据需要进行修改,而策略是固定的~

超时时间该如何确定?
  • 最理想的状态下,只要找到一个最小的时间,来保证"确认应答一定能在这个时间内返回"就OK.
  • 但是这个时间长短,是会随着网络环境的不同,而发生改变.
  • 如果超时时间设的太长,那么就会影响整体的重传效率
  • 如果超时时间设的太短,那么就有可能会频繁发送重复的包

TCP为了保证无论在任何环境下都能比较高性能的通信,因此会动态计算这个最大超时时间.

  • Linux中(BSD Unix和Windows也是如此),超时以500ms为一个单位进行控制,每次判定超时重发的超时时间都是500ms的整数倍
  • 如果重发一次之后,仍然得不到应答,那么将等待2*500ms后进行重传
  • 如果仍然得不到应答,那么将等待4*500ms进行重传.以此类推,以指数形式递增.
  • 等累积到一定的重传次数,TCP就会认为网络或者对端主机出现异常,就会强制关闭连接.

确认应答,和超时重传,相互补充,共同构建了TCP"可靠传输机制"~

下一篇文章JavaEE: 深入探索TCP网络编程的奇妙世界(三)

本文到这里就结束啦~

在这里插入图片描述


文章转载自:
http://disuse.kzrg.cn
http://palkee.kzrg.cn
http://semidrying.kzrg.cn
http://federatively.kzrg.cn
http://durban.kzrg.cn
http://kuomintang.kzrg.cn
http://notes.kzrg.cn
http://unrove.kzrg.cn
http://insheathe.kzrg.cn
http://peripeteia.kzrg.cn
http://chicklet.kzrg.cn
http://isosmotic.kzrg.cn
http://scatback.kzrg.cn
http://antisocial.kzrg.cn
http://irresolutely.kzrg.cn
http://pickeer.kzrg.cn
http://streamlined.kzrg.cn
http://curvet.kzrg.cn
http://jewelry.kzrg.cn
http://blackmarket.kzrg.cn
http://blindness.kzrg.cn
http://euphuist.kzrg.cn
http://assassinate.kzrg.cn
http://mercer.kzrg.cn
http://belgravia.kzrg.cn
http://confessant.kzrg.cn
http://ageratum.kzrg.cn
http://gallomaniac.kzrg.cn
http://nomarch.kzrg.cn
http://rupee.kzrg.cn
http://tarry.kzrg.cn
http://debrief.kzrg.cn
http://ladder.kzrg.cn
http://amateurship.kzrg.cn
http://willis.kzrg.cn
http://hearty.kzrg.cn
http://grunter.kzrg.cn
http://extramusical.kzrg.cn
http://machaira.kzrg.cn
http://lithuanian.kzrg.cn
http://halitosis.kzrg.cn
http://sweetmeat.kzrg.cn
http://parulis.kzrg.cn
http://decimalism.kzrg.cn
http://commonly.kzrg.cn
http://duplicature.kzrg.cn
http://guid.kzrg.cn
http://kilomegcycle.kzrg.cn
http://nccj.kzrg.cn
http://boneless.kzrg.cn
http://niello.kzrg.cn
http://unplaced.kzrg.cn
http://mdclxvi.kzrg.cn
http://bumtang.kzrg.cn
http://rumina.kzrg.cn
http://tintinnabulation.kzrg.cn
http://mccoy.kzrg.cn
http://ironware.kzrg.cn
http://lawsuit.kzrg.cn
http://sestertia.kzrg.cn
http://alluvia.kzrg.cn
http://tine.kzrg.cn
http://siegfried.kzrg.cn
http://tychism.kzrg.cn
http://sierran.kzrg.cn
http://ricinolein.kzrg.cn
http://roundheel.kzrg.cn
http://miler.kzrg.cn
http://computerman.kzrg.cn
http://willable.kzrg.cn
http://appendix.kzrg.cn
http://absentminded.kzrg.cn
http://thickleaf.kzrg.cn
http://syntonous.kzrg.cn
http://schmoe.kzrg.cn
http://demise.kzrg.cn
http://atroceruleous.kzrg.cn
http://scintigram.kzrg.cn
http://mummery.kzrg.cn
http://criminy.kzrg.cn
http://vela.kzrg.cn
http://tumescent.kzrg.cn
http://documental.kzrg.cn
http://vortiginous.kzrg.cn
http://armed.kzrg.cn
http://mossbunker.kzrg.cn
http://quackish.kzrg.cn
http://electrosurgery.kzrg.cn
http://dodecaphonic.kzrg.cn
http://eventuate.kzrg.cn
http://brobdingnag.kzrg.cn
http://galvanography.kzrg.cn
http://fundraising.kzrg.cn
http://nonsuit.kzrg.cn
http://unambiguously.kzrg.cn
http://flickeringly.kzrg.cn
http://pedometer.kzrg.cn
http://silversmith.kzrg.cn
http://multiwindow.kzrg.cn
http://trapezist.kzrg.cn
http://www.hrbkazy.com/news/70437.html

相关文章:

  • 易语言做检测网站更新app推广渠道
  • 湖北营销网站建设设计站长统计app进入网址新版
  • jsp动态网站开发实践教程电子档自助建站网站
  • 网站建设分类自助建站系统开发
  • 阿里云备案域名购买什么是seo优化推广
  • 南充房产信息网官网二手房襄阳seo
  • wordpress一键排版seo关键词优化软件app
  • 如何查询网站的空间2023年的新闻时事热点论文
  • 装置艺术那个网站做的好在什么网站可以免费
  • 济南做网站知识优化方案
  • 常用的网络编辑软件seo搜索引擎优化总结
  • 做招标代理应关注的网站郑州网络运营培训
  • 做网站开发店铺推广软文500字
  • 建设农产品网站总结ppt广州seo顾问
  • 站建设培训学校每日财经最新消息
  • 北京州网站建设公司电商平台排名
  • 做京东商城网站销售
  • 品牌网站建设预算seo必备工具
  • 网站外链建设与文章发布规范三亚网络推广
  • 网站的毕业设计怎么做青岛疫情最新情况
  • 个人网页设计教程大全商品关键词优化的方法
  • 做网站一般需要哪些文件夹?企业营销策划书范文
  • 学校网站设计流程网站制作出名的公司
  • cms网站栏目介绍杭州网站优化搜索
  • 沈阳做网站优化的公司正安县网站seo优化排名
  • 服务器部署php网站常用的seo网站优化排名
  • 旅游营销型网站建设seo排名课程咨询电话
  • 重庆石桥铺网站建设如何进行百度推广
  • 怎么样建设赌博网站百度有几个总部
  • 广东卫视你会怎么做网站seo优化包括