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

广州led网站建设物联网公司排名国内

广州led网站建设,物联网公司排名国内,做网站什么职业,母婴 网站 策划TCP协议是一种面向连接的、可靠的、基于字节流的运输层通信协议。它通过三次握手来建立连接#xff0c;通过四次挥手来断开连接。 三次握手 所谓三次握手#xff0c;是指建立一个TCP连接时#xff0c;需要客户端和服务器总共发送3个报文。三次握手的目的是连接服务器指定端…TCP协议是一种面向连接的、可靠的、基于字节流的运输层通信协议。它通过三次握手来建立连接通过四次挥手来断开连接。 三次握手 所谓三次握手是指建立一个TCP连接时需要客户端和服务器总共发送3个报文。三次握手的目的是连接服务器指定端口建立TCP连接并同步连接双方的序列号和确认号交换TCP窗口大小信息。 三次握手过程的示意图如下 客户端 服务器| || SYN seqx | 第一次握手|--------------------------|| || SYN seqy, ACK ackx1| 第二次握手|--------------------------|| || ACK acky1 | 第三次握手|--------------------------|| |第一次握手客户端将TCP报文标志位SYN置为1随机产生一个序号值seqx保存在TCP首部的序列号字段里指明客户端打算连接的服务器的端口并将该数据包发送给服务器端发送完毕后客户端进入SYN_SENT状态等待服务器端确认。第二次握手服务器端收到数据包后由标志位SYN1知道客户端请求建立连接服务器端将TCP报文标志位SYN和ACK都置为1ackx1随机产生一个序号值seqy并将该数据包发送给客户端以确认连接请求服务器端进入SYN_RECV状态。第三次握手客户端收到确认后检查ack是否为x1ACK是否为1如果正确则将标志位ACK置为1acky1并将该数据包发送给服务器端服务器端检查ack是否为y1ACK是否为1如果正确则连接建立成功客户端和服务器端进入ESTABLISHED状态完成三次握手随后客户端与服务器端之间可以开始传输数据了。 四次挥手 所谓四次挥手是指断开一个TCP连接时需要客户端和服务器总共发送4个报文。四次挥手的目的是终止数据传输并释放双方的资源。由于TCP是全双工模式所以每个方向都需要单独进行关闭。 四次挥手过程的示意图如下 客户端 服务器| || FIN sequ | 第一次挥手|--------------------------|| || ACK acku1 | 第二次挥手|--------------------------|| || FIN seqv | 第三次挥手|--------------------------|| || ACK ackv1 | 第四次挥手|--------------------------|| |第一次挥手主动关闭方可以是客户端或服务器发送一个FIN报文用来关闭主动方到被动关闭方的数据传送也就是主动关闭方告诉被动关闭方我已经不会再给你发数据了当然在fin包之前发送出去的数据如果没有收到对应的ack确认报文主动关闭方依然会重发这些数据但此时主动关闭方还可以接受数据。第二次挥手被动关闭方收到FIN报文后发送一个ACK给对方确认序号为收到序号1与SYN相同一个FIN占用一个序号。第三次挥手被动关闭方发送一个FIN报文用来关闭被动关闭方到主动关闭方的数据传送也就是告诉主动关闭方我的数据也发送完了不会再给你发数据了。第四次挥手主动关闭方收到FIN后发送一个ACK给被动关闭方确认序号为收到序号1至此完成四次挥手。 常见问题 为什么连接的时候是三次握手关闭的时候却是四次挥手 答因为当服务器端收到客户端的SYN连接请求报文后可以直接发送SYNACK报文。其中ACK报文是用来应答的SYN报文是用来同步的。但是关闭连接时当服务器端收到FIN报文时很可能并不会立即关闭SOCKET所以只能先回复一个ACK报文告诉客户端“你发的FIN报文我收到了”。只有等到服务器端所有的报文都发送完了服务器端才能发送FIN报文因此不能一起发送。故需要四步握手。 为什么TIME_WAIT状态需要经过2MSL最大报文段生存时间才能返回到CLOSE状态 答虽然按道理四个报文都发送完毕我们可以直接进入CLOSE状态了但是我们必须假象网络是不可靠的有可能最后一个ACK丢失。所以TIME_WAIT状态就是用来重发可能丢失的ACK报文。在客户端发送出最后的ACK回复但该ACK可能丢失。服务器端如果没有收到ACK将不断重复发送FIN片段。所以客户端不能立即关闭它必须确认服务器端接收到了该ACK。客户端会在发送出ACK之后进入到TIME_WAIT状态。客户端会设置一个计时器等待2MSL的时间。如果在该时间内再次收到FIN那么客户端会重发ACK并再次等待2MSL。所谓的2MSL是两倍的MSLMaximum Segment Lifetime。MSL指一个片段在网络中最大的存活时间2MSL就是一个发送和一个回复所需的最大时间。如果直到2MSL客户端都没有再次收到FIN那么客户端推断ACK已经被成功接收则结束TCP连接。 为什么不能用两次握手进行连接 答3次握手完成两个重要的功能既要双方做好发送数据的准备工作双方都知道彼此已准备好也要允许双方就初始序列号进行协商这个序列号在握手过程中被发送和确认。现在把三次握手改成仅需要两次握手死锁是可能发生的。作为例子考虑计算机S和C之间的通信假定C给S发送一个连接请求分组S收到了这个分组并发送了确认应答分组。按照两次握手的协定S认为连接已经成功地建立了可以开始发送数据分组。可是C在S的应答分组在传输中被丢失的情况下将不知道S是否已准备好不知道S建立什么样的序列号C甚至怀疑S是否收到自己的连接请求分组。在这种情况下C认为连接还未建立成功将忽略S发来的任何数据分组只等待连接确认应答分组。而S在发出的分组超时后重复发送同样的分组。这样就形成了死锁。
http://www.w-s-a.com/news/49060/

相关文章:

  • 湖南智能网站建设哪家好wordpressμ
  • 公司网站备案必须是企业信息么睢宁县凌城做网站的
  • 上海网站建设公司 珍岛宁波免费自助建站模板
  • 南昌知名的网站建设公司南京网站开发选南京乐识赞
  • 外贸网站建设 深圳seo怎么提升关键词的排名
  • 网站推广效果的评价google关键词
  • 模板网站建站哪家好做微信充值网站
  • 抽奖的网站怎么做的广州小程序定制开发
  • 网站的文件夹建设企业网站公积金
  • 做网站的的价位网站建设 考试题目
  • 深圳比邻网站建设北京优化服务
  • 菏泽网站建设哪家好电子商务网络安全
  • 仿一个网站广州网站建设正规公司
  • 网站建设 目的seo网站关键词排名快速
  • 什么叫做响应式网站自媒体全平台发布
  • 企业网站 案例哪里需要人做钓鱼网站
  • 厚街东莞网站建设网站开发者调试模式
  • 网站推广营销联系方式wordpress adminlte
  • 哪些网站可以做文字链广告卖水果网站建设的策划书
  • 雕刻业务网站怎么做企业qq官网
  • 新华书店的做的数字阅读网站wordpress编辑器格式
  • jq做6个网站做什么好广西临桂建设局网站
  • 网站新闻图片尺寸南京网站设计公司
  • 重庆seo建站网站服务器 安全
  • 咸宁做网站的公司桂林网站建设兼职
  • 教做网站网站开发行业分析
  • 忻州网站建设培训友情链接交换形式有哪些
  • 佛山做外贸网站渠道外贸常用网站
  • 文章收录网站网站及新媒体建设办法
  • 招聘网站排行榜2021找建网站公司