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

做app必须有网站wordpress页面显示摘要

做app必须有网站,wordpress页面显示摘要,一个域名可以做两个网站么,室内设计导航1#xff1a;TCP 四次挥手过程是怎样的#xff1f; 客户端打算关闭连接#xff0c;此时会发送一个 TCP 首部 FIN 标志位被置为 1 的报文#xff0c;也即 FIN 报文#xff0c;之后客户端进入 FIN_WAIT_1 状态。 服务端收到该报文后#xff0c;就向客户端发送 ACK 应答报文… 1TCP 四次挥手过程是怎样的 客户端打算关闭连接此时会发送一个 TCP 首部 FIN 标志位被置为 1 的报文也即 FIN 报文之后客户端进入 FIN_WAIT_1 状态。 服务端收到该报文后就向客户端发送 ACK 应答报文接着服务端进入 CLOSE_WAIT 状态。 客户端收到服务端的 ACK 应答报文后之后进入 FIN_WAIT_2 状态。 等待服务端处理完数据后也向客户端发送 FIN 报文之后服务端进入 LAST_ACK 状态。 客户端收到服务端的 FIN 报文后回一个 ACK 应答报文之后进入 TIME_WAIT 状态 服务端收到了 ACK 应答报文后就进入了 CLOSE 状态至此服务端已经完成连接的关闭。 客户端在经过 2MSL 一段时间后自动进入 CLOSE 状态至此客户端也完成连接的关闭。 你可以看到每个方向都需要一个 FIN 和一个 ACK因此通常被称为四次挥手。 这里一点需要注意是主动关闭连接的才有 TIME_WAIT 状态。 2为什么挥手需要四次 关闭连接时客户端向服务端发送 FIN 时仅仅表示客户端不再发送数据了但是还能接收数据。 服务端收到客户端的 FIN 报文时先回一个 ACK 应答报文而服务端可能还有数据需要处理和发送等服务端不再发送数据时才发送 FIN 报文给客户端来表示同意现在关闭连接。 从上面过程可知服务端通常需要等待完成数据的发送和处理所以服务端的 ACK 和 FIN 一般都会分开发送因此是需要四次挥手。 但是在特定情况下四次挥手是可以变成三次挥手的 3第一次挥手丢失了会发生什么 当客户端超时重传 3 次 FIN 报文后由于 tcp_orphan_retries 为 3已达到最大重传次数于是再等待一段时间时间为上一次超时时间的 2 倍如果还是没能收到服务端的第二次挥手ACK报文那么客户端就会断开连接。 4第二次挥手丢失了会发生什么 当客户端超时重传 2 次 FIN 报文后由于 tcp_orphan_retries 为 2已达到最大重传次数于是再等待一段时间时间为上一次超时时间的 2 倍如果还是没能收到服务端的第二次挥手ACK 报文那么客户端就会断开连接。 注意客户端收到服务端的ACK应答报文后之后进入FIN_WAIT_2状态并且使用的是shutdown函数(只关闭发送方向而接收方向并没有关闭)关闭连接而不是close并且一直没有没收到第三次挥手那么主动关闭方的连接将会一直处于 FIN_WAIT2 状态tcp_fin_timeout 无法控制 shutdown 关闭的连接 5第三次挥手丢失了会发生什么 当服务端重传第三次挥手报文的次数达到了 3 次后由于 tcp_orphan_retries 为 3达到了重传最大次数于是再等待一段时间时间为上一次超时时间的 2 倍如果还是没能收到客户端的第四次挥手ACK报文那么服务端就会断开连接。 客户端因为是通过 close 函数关闭连接的处于 FIN_WAIT_2 状态是有时长限制的如果 tcp_fin_timeout 时间内还是没能收到服务端的第三次挥手FIN 报文那么客户端就会断开连接 6第四次挥手丢失了会发生什么 当服务端重传第三次挥手报文达到 2 时由于 tcp_orphan_retries 为 2 达到了最大重传次数于是再等待一段时间时间为上一次超时时间的 2 倍如果还是没能收到客户端的第四次挥手ACK 报文那么服务端就会断开连接。 客户端在收到第三次挥手后就会进入 TIME_WAIT 状态开启时长为 2MSL 的定时器如果途中再次收到第三次挥手FIN 报文后就会重置定时器当等待 2MSL 时长后客户端就会断开连接 7为什么 TIME_WAIT 等待的时间是 2MSL MSL 是 Maximum Segment Lifetime报文最大生存时间MSL 与 TTL 的区别 MSL 的单位是时间而 TTL 是经过路由跳数。所以 MSL 应该要大于等于 TTL 消耗为 0 的时间以确保报文已被自然消亡。 TTL 的值一般是 64Linux 将 MSL 设置为 30 秒意味着 Linux 认为数据报文经过 64 个路由器的时间不会超过 30 秒如果超过了就认为报文已经消失在网络中了。 TIME_WAIT 等待 2 倍的 MSL比较合理的解释是一来一回需要等待 2 倍的时间。 2MSL 的时间是从客户端接收到 FIN 后发送 ACK 开始计时的 Linux 系统内核代码里的名称为 TCP_TIMEWAIT_LEN如果要修改 TIME_WAIT 的时间长度只能修改 Linux 内核代码里 TCP_TIMEWAIT_LEN 的值并重新编译 Linux 内核。 8为什么需要 TIME_WAIT 状态TIME_WAIT 过多有什么危害 防止历史连接中的数据被后面相同四元组的连接错误的接收保证「被动关闭连接」的一方能被正确的关闭 过多的 TIME-WAIT 状态主要的危害有两种 第一是占用系统资源比如文件描述符、内存资源、CPU 资源、线程资源等 第二是占用端口资源端口资源也是有限的一般可以开启的端口为 3276861000也可以通过 net.ipv4.ip_local_port_range参数指定范围。 8如何优化 TIME_WAIT 这里给出优化 TIME-WAIT 的几个方式都是有利有弊 打开 net.ipv4.tcp_tw_reuse 和 net.ipv4.tcp_timestamps 选项复用处于 TIME_WAIT 的 socket 为新的连接所用。 net.ipv4.tcp_max_tw_buckets当系统中处于 TIME_WAIT 的连接一旦超过这个值时系统就会将后面的 TIME_WAIT 连接状态重置 程序中使用 SO_LINGER 应用强制使用 RST 关闭。 9服务器出现大量 TIME_WAIT 状态的原因有哪些服务器出现大量 CLOSE_WAIT 状态的原因有哪些通常都是代码的问题没有调用 close 第一个场景HTTP 没有使用长连接 第二个场景HTTP 长连接超时 第三个场景HTTP 长连接的请求数量达到上限 10如果已经建立了连接但是客户端突然出现故障了怎么办TCP保活机制 11如果已经建立了连接但是服务端的进程崩溃会发生什么 TCP 的连接信息是由内核维护的所以当服务端的进程崩溃后内核需要回收该进程的所有 TCP 连接资源于是内核会发送第一次挥手 FIN 报文后续的挥手过程也都是在内核完成并不需要进程的参与所以即使服务端的进程退出了还是能与客户端完成 TCP 四次挥手的过程。
http://wiki.neutronadmin.com/news/17576/

相关文章:

  • 江苏省建设厅政务网站桔子摄影
  • 有什么兼职做it的网站wordpress 文章间距
  • 番禺五屏网站建设为什么wordpress慢
  • 公主坟网站建设淮阴区住房和城乡建设局网站
  • 婚纱摄影网站论文网站浮动qq
  • 公司网站开发人员的的工资多少百度网址安全中心怎么关闭
  • 做品牌推广网站需要多少钱哪家的虚拟主机哪个好
  • 常州做网站公司排名抖音账号权重查询
  • 艺阳科技网站建设最强商城系统
  • 专业网站建设哪个好wordpress转换emlog
  • 河源北京网站建设网页制作与设计是什么
  • 微信官方网站建设如何确定一个网站的关键词
  • 本科网站开发毕业设计php网站建设案例教程视频
  • 国外 网站网站珠海做网站设计
  • 广州网站建设服务商广州专业网站设计公司
  • 如何做企业网站内容策划沈阳科技网站首页
  • 怎么给你新网站做seo有没有做gif的专门网站
  • 深圳一百讯网站建设使用word做网站
  • 做旅游网站犯法吗域名到期网站
  • 网站的建设的项目介绍怎么写网页打不开无法连接服务器
  • 做网站需要干什么世界500强企业logo
  • 如何制作网站和软件网站建设优化服务
  • 深圳建设官方网站ps做网站 大小
  • 长春火车站附近有什么好玩的地方京东网上购物商城
  • 河南省建设科技协会网站网站安全优化
  • 榆社网站建设企业网站建设的文献
  • 郑州金水区做网站公司申请免费个人网站和域名
  • 免费网站注册申请网站开发基本流程
  • 做理财网站 程序员 违法吗前端容易被裁还是后端
  • 网站的建设方案网站关键词优化代码