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

angularjs 做的网站自学it怎么入门

angularjs 做的网站,自学it怎么入门,工业网页设计欣赏,html网页wordpress1#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://www.zqtcl.cn/news/708986/

相关文章:

  • wordpress4.9+多站点网络推广公司联系昔年下拉
  • 西安seo网站关键词优化罗田县建设局网站
  • 北京网站建设 shwllnmp新手 wordpress
  • 优化网站结构一般包括如何进行网络营销风险控制
  • 怎样查看网站是用什么做的郫都区规划建设局网站
  • 新乡营销型网站建设制作网站设计的总结
  • 做网站的免费空间微信crm管理系统
  • 网站开发方向 英语翻译护肤品网页设计图片
  • 南昌做兼职的网站佛山网站建设公司排名
  • 购物网站建设推进表国外设计素材网站
  • 广州网站建设推广公司有哪些有一个网站专门做民宿
  • 安徽省建设干部网站淘客网站超级搜怎么做
  • 网站地图提交地址网站地图可以自己做么
  • 电子商务网站建设与推广wordpress手机大标题
  • 网站页面上的下载功能怎么做ps扩展插件网站
  • 打开网站出现directory今天时政新闻热点是什么
  • 高校校园网站建设与运行网站规划教学设计
  • 包头手机网站制作seo推广手段
  • 汕头网站推广seo品牌网站建设 app建设
  • 网站后台word编辑器如何申请一个网站 做视频
  • 源代码做网站网站编辑可以做运营吗
  • 小游戏网站模板无锡网站建设818gx
  • 娄底做网站陕西网站维护
  • 电子商务网站建设首要问题是佛山网站设计步骤
  • iphone网站哈尔滨做平台网站平台公司吗
  • 公司网站制作高端有什么网站可以做外贸出口信息
  • 旅游网站建设ppt自己动手制作网站
  • 做注册任务的网站有哪些seo搜索排名优化
  • 用php做网站和go做网站网站建设 完成
  • 做平面设计在那个网站上找图好网站广告出价平台