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

网站开店前的四项基本建设手机微信一体网站建设

网站开店前的四项基本建设,手机微信一体网站建设,wordpress标题调用标签,合肥企业网站建文章目录前言一、确认应答二、超时重传三、连接管理三次握手四次挥手前言 前边#xff0c;我们已经大概交代了TCP的报文结构。但是仍有一些字段我们不确定到底怎么理解#xff0c;这里就分析TCP的内部工作机制了。 TCP的内部很复杂#xff0c;有很多机制#xff0c;这里我们… 文章目录前言一、确认应答二、超时重传三、连接管理三次握手四次挥手前言 前边我们已经大概交代了TCP的报文结构。但是仍有一些字段我们不确定到底怎么理解这里就分析TCP的内部工作机制了。 TCP的内部很复杂有很多机制这里我们只讨论比较核心的10个机制。 本篇我们先介绍前3个。 一、确认应答 对于这个机制我们需要了解以下几点 TCP中确认应答是实现可靠传输的核心机制。这里的可靠传输不是说我们发的报文一定传输过去了而是说对于报文发送成功与否发送方都会收到一个信号告诉我们。这里的信号就是我们前边提到的六个标志位其一——ackacknowledge。它是由接收方发送的。倘若报文带有这条标志那么我们就可以认为我们发送成功了。此时这个报文也叫做应答报文。特殊情况短时间内连续发送消息可能出现后发先至的情况。原因是两个主机之间存在多条线路转发效率也会有所不同。如何规避后发先至给传输的数据和应答报文都进行编号即使乱了也知道如何进行排序。这里的功能就是通过我们的32位序号和32位确认序号来实现的。 下边我们就后发先至的规避做进一步的解释 任何数据都有序号而确认序号只有应答报文的有效。 TCP是面向字节流的所以这里的编号不是按照第一条、第二条……的方式编号的实际上也是按照字节流进行编号的。 这里可能会比较抽象我们图解一下。 为了加深印象我们这里举个小例子 小结TCP可靠传输能力最主要的就是通过应答机制保证通过应答报文就可以让发送方清楚的知道传输是否成功进一步通过序号和确认序号对应答报文的顺序进行说明。 二、超时重传 上边的例子里边我们是基于发送成功的前提下进行讨论的倘若发送失败了呢TCP采取怎样的策略应对呢这也就是我们接下来要说的超时重传。 这里我们需要知道一下几个点 发送失败即丢包有两种情况。一是发的数据包丢了二是接收方返回的ack丢了。这里发送方看到的效果就是结果丢了它会一视同仁认为是丢包了。TCP重传引入了一个时间阈值。发送后就会等待ack进行计时。具体时间根据业务而定。重传机制是在丢包后会重新发送n次同样的数据。但是这里的n也不会太大太大也没有意义。因为连续重传都丢概率很低乘法公式重传达到一定次数不会继续重传会认为是网络出现故障接下来TCP会尝试断开重连若重置还失败就彻底断开。**对于重传由特殊处理——去重。**TCP存在“接收缓冲区”和发送缓冲区这样的存储空间。主机B收到主机A的数据其实是B的网卡读到了数据把这个数据放到了socket/网卡的接收缓冲区【优先级阻塞队列】中。根据数据的序号TCP很容易识别当前接收缓冲区里的两条数据是不是重复【根据序号进行排序若相同就去重】。若重复则把后来这份data丢弃了保证app调用read读取的数据一定是不重复的。 小结由于去重和重新排序发送方只发现ack未按时到达就会触发重传机制。即使重复发送了也没关系接收方能处理好去重和排序都依赖于TCP报头的序号。 确认应答和超时重传机制两者相互配合共同支撑了可靠传输。 注不是说只有这两个而是说这两个是最重要的是支柱一样的存在。 三、连接管理 这里的连接是connection不是链接link。注意进行区分。前者是AB建立连接互相记录对方的信息例如端口号后者是快捷方式。 注意这里虽然网络层的ip协议是在传输层下边但ip的获得跟位置无关因为它相当于是经过了一个u型的过程。 这里的管理描述了连接如何创建如何断开。也就是我们经常说的三次握手四次挥手。这也是我们这里要讨论的超级重重点内容 三次握手 所以实际的例子效果应该是这样滴 这里我们有一个问题不合并可以不 答不可以因为封装分用一条报文从发送到接收有开销合并后成本降低OS也不是冤大头。 那么问题又来了,怎么确定合并了呢 答合并后接收方收到的效果是一条只不过有两个作用。具体细节略过。 可以只两次握手吗 答不可以这个确认是双方的双方的发送能力、接受能力都需要被确认 相信通过这个例子我们已经能理解个七七八八了下边我们就看看教科书上的真正的三次握手的过程。 对于这里的状态我们不做过多讨论只记住几个常见的即可。其中established已连接的、listen服务器状态表明服务器已准备就绪随时可与客户端建立连接。 三次握手的意义 让通信双方各自建立对对方的认同验证通信双方各自发送和接受能力是否正常通信双方协商一些重要参数 小结 所谓的三次握手本质上是四次交互通信双方各自向对方发起一个建立连接的请求同时再向对方发一个ack。 三次握手的流程一般是进行图解 三次握手的意义 四次挥手 三次握手就是建立连接与之对应的四次握手就是断开连接。 下边我们基于这个图具体来讨论四次挥手的过程及作用。 对于服务器 ESTABLISHED - CLOSE_WAIT 当客户端主动关闭连接调用close服务器会收到结束报文段服务器返回确认报文段并进入CLOSE_WAIT CLOSE_WAIT - LAST_ACK进入CLOSE_WAIT后说明服务器准备关闭连接需要处理完之前的数据当服务器真正调用close关闭连接时会向客户端发送FIN此时服务器进入LAST_ACK状态等待最后一个ACK到来这个ACK是客户端确认收到了FIN LAST_ACK - CLOSED 服务器收到了对FIN的ACK彻底关闭连接。 对于客户端 已连接到FINWAIT1状态客户端主动调用close时向服务器发送结束报文段同时进入FIN_WAIT_1 。 FIN_WAIT_1 - FIN_WAIT_2 站在客户端角度客户端收到服务器对结束报文段的确认则进入FIN_WAIT_2开始等待服务器的结束报文段 。 FIN_WAIT_1 - TIMEWAIT客户端收到服务器发来的结束报文段进入TIME_WAIT并发出LAST_ACK。 TIME_WAIT - CLOSED 客户端要等待一个2MSLMax Segment Life报文最大生存时间的时间才会进入CLOSED状态 。避免中间出现意外。 这里的是额外工作的保障一定程度上解决了丢包这样的情况。 【中间流程状态只是中间流程的结果】 试想这个和三次握手的四次交互不是挺像的吗这里不可以中间合并吗如果不能合并为什么 不能。原因是ACK的发送是由内核控制的FIN的发送是由应用调用socket的close方法进程退出才会触发FIN。 两者的发送很大概率不是同一时机。所以绝大多数情况下是不会同时发送。所以我们将其认为是不可合并的。 这里的TIME_WAIT约定的时间是2MSL具体是多长不会太短了吗 TIMEWAIT这个数值的含义是互联网上两个节点之间数据传输消耗的最大时间。 而这里的2MSL并不是不变的MSL是可以自己设定的但是实际开发过程中我们一般把它设置成一个经验值——60秒那么对于这里的2MSL就是120秒。 小结 TCP作为一个有连接的协议需要建立连接和断开连接其中建立连接时三次握手断开连接时四次挥手。 三次握手的意义双方建立认同感确认双方发送接收能力没有问题协商通信过程的一些关键参数。 四次挥手不可以合并成三次挥手的原因。 TIMEAIT意义和作用。
http://www.dnsts.com.cn/news/187004.html

相关文章:

  • 上海黑马网站制作谷歌网站关键词优化
  • 杭州的设计网站建设自己做家具网站
  • php网站投票源码网站建设营业执照如何写
  • 用阿里云空降怎么建设网站微信网站建设教程
  • 做一个谷歌网站多少钱创意100图片欣赏
  • 第一家中文商务网站北京互联网企业有哪些
  • 宝山区网站建设怎么推广自己的公司网站
  • 外贸网站框架织梦高端html5网站建设工作室网络公司网站模板
  • 行业seo网站优化方案建设积分兑换商城网站
  • 云建站精品模版国外购物网站有哪些
  • 顺的品牌网站设计价位赵本山死了最新新闻
  • 电子商务网站开发语言直播网站开发多少钱
  • sem搜索引擎郑州seo优化公司排名
  • 小程序建站哪家好网站建设行业2017
  • 做网站吗网上编程培训哪家好
  • dede 网站搬家铜川网络推广
  • 让做网站策划没经验怎么办品牌买购网
  • 十大接单网站wordpress中注册功能
  • 渭南网站建设电话广告ppt作品
  • 福州建站网络公司知识产权网站模板
  • 广州市官网网站建设平台企业网站关键词排名 s
  • 湖南餐饮网站建设做视频资源网站有哪些内容
  • 衡阳市做淘宝网站建设本地电商平台有哪些
  • 北京网站制作公司清远织梦网站内容怎么做付费可见
  • 杭州模板网站建站成都新站软件快速排名
  • 备案个人网站名称大全网店系统源码
  • 用wordpress仿a站工程承包合作协议书
  • 网站的ico怎么做360外链
  • 设计网站注意哪些问题最新永久ae88v最新人口
  • 广东圆心科技网站开发需要多少钱网件路由器恢复出厂设置