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

沈阳网站建设培训网站软件下载

沈阳网站建设培训,网站软件下载,建站模板工程造价,建设银行荆门招聘网站文章目录 为什么是三次握手为什么是四次挥手什么是TIME_WAIT状态解决TIME_WAIT状态引起的bind失败的方法 为什么是三次握手 因为这是双方都有收发的最小次数 握手的目的:确认网络好着没,对方好着没 确认双方主机是否健康(双方)…

文章目录

    • 为什么是三次握手
    • 为什么是四次挥手
    • 什么是TIME_WAIT状态
    • 解决TIME_WAIT状态引起的bind失败的方法

为什么是三次握手

因为这是双方都有收发的最小次数

握手的目的:确认网络好着没,对方好着没

  1. 确认双方主机是否健康(双方)
  2. 验证双方是否具有全双工。

比如发送数据不是为了对方接受,而是为了证明自己能够发送数据。两次握手只能验证自己能收发,而不能验证对方能发,第三次的时候对方也才知道自己有收发能力了。而四五六七次是显得多余了,握手只是为了证明双方主机是否健康,三次是成本最低的方式

再者,一次握手受到攻击的可能性是很大的,因为每次建立链接成功就要产生结构体,那么别人就可以发大量的链接导致你的服务器资源消耗很大,二次握手同理,服务器的回复别人不用管,只要认为链接成功就能一直给你发链接。这叫做SYN洪水,相对而言三次握手的话对方也会建立链接,那么对方识别syn+ack的时候其实也就是正常的三次握手

为什么是四次挥手

断开链接是双方都应该知晓并且同意的过程,四次挥手是双方都能得知断开链接的最小次数。双方协商断开链接的最小次数,首先我申请断开,对方同意并且我得知。其次对方申请断开,我同意并且对方得知。这就是协商的最小次数

什么是TIME_WAIT状态

主动断开链接的一方,要进入一个timewait状态,这时候即使四次挥手完成,客户端也不会释放链接,因为最后一次ack并没有保证一定获取,这个状态是在客户端收到服务端发来的关闭请求,也就是第三次挥手的时候。然后发送最后一次挥手ack,然后经过两次报文的最大生存时间(MSL)后才进入closefd

g)

  • [FIN_WAIT_1 -> FIN_WAIT_2] 客户端收到服务器对结束报文段的确认, 则进入FIN_WAIT_2, 开始等待服务器的结束报文段;
  • [FIN_WAIT_2 -> TIME_WAIT] 客户端收到服务器发来的结束报文段, 进入TIME_WAIT, 并发出LAST_ACK;
  • [TIME_WAIT -> CLOSED] 客户端要等待一个2MSL(Max Segment Life, 报文最大生存时间)的时间, 才会进入CLOSED状态.

TIME_WAIT状态的客户端主机程序无法监听同样的server端口,因为实际的链接并未断开,这也就是平时我们绑定端口的时候出现bind error的原因。

  • 为什么是TIME_WAIT的时间是2MSL?

MSL是TCP报文的最大生存时间, 因此TIME_WAIT持续存在2MSL的话,就能保证在两个传输方向上的尚未被接收或迟到的报文段都已经消失(否则服务器立刻重启, 可能会收到来自上一个进程的迟到的数据, 但是这种数据很可能是错误的);

同时也是在理论上保证最后一个报文可靠到达(假设最后一个ACK丢失, 那么服务器会再重发一个FIN. 这时虽然客户端的进程不在了, 但是TCP连接还在, 仍然可以重发LAST_ACK)

解决TIME_WAIT状态引起的bind失败的方法

在server的TCP连接没有完全断开之前不允许重新监听, 某些情况下可能是不合理的

  • 服务器需要处理非常大量的客户端的连接(每个连接的生存时间可能很短, 但是每秒都有很大数量的客户端来请求).
  • 这个时候如果由服务器端主动关闭连接(比如某些客户端不活跃, 就需要被服务器端主动清理掉), 就会产生大量TIME_WAIT连接.
  • 由于我们的请求量很大, 就可能导致TIME_WAIT的连接数很多, 每个连接都会占用一个通信五元组(源ip,源端口, 目的ip, 目的端口, 协议). 其中服务器的ip和端口和协议是固定的. 如果新来的客户端连接的ip和端口号和TIME_WAIT占用的链接重复了, 就会出现问题

使用setsockopt()设置socket描述符的 选项SO_REUSEADDR为1, 表示允许创建端口号相同但IP地址不同的多个socket描述符

int opt = 1;
setsockopt(listenfd,SOL_SOCKET,SO_REUSEDDR,&opt,sizeof(opt));
http://www.hkea.cn/news/275358/

相关文章:

  • 动态网站上的查询怎么做新媒体运营培训学校
  • 网站开发人员必备技能百度优化推广
  • 花都 网站建设百度推广怎么添加关键词
  • 开发公司成本部职责岗位职责和流程苏州网站建设优化
  • 湛江网站制作系统seo排名需要多少钱
  • 城乡现代社区建设seo关键词推广案例
  • 旅游网站开发外文文献关键洞察力
  • 大学生asp网站开发的实训周长沙百度快速优化
  • 黑龙江省建设网站百度投流运营
  • 网站关键词太多好不好兰州seo整站优化服务商
  • 义乌网站设计网店推广策划方案
  • 无锡网站优化工作室网站关键词排名优化推广软件
  • 长沙做网站的公司亚马逊seo什么意思
  • 仪征建设银行官方网站怎么优化一个网站
  • 那个网站可以查询美做空基金宁波网站推广平台效果好
  • 杨凌企业网站建设天津seo优化
  • 建设网站的工具免费b站在线观看人数在哪儿
  • 毕业设计餐饮网站建设国内前10电商代运营公司
  • 日本b2b网站市场调研的步骤
  • 强企网做网站网店推广有哪些
  • 博物馆网站建设策划书公司如何在百度宣传
  • 做cpa广告网站教程百度sem推广具体做什么
  • 免费网站建站WWW222国际军事最新消息今天
  • 做网站软件miscrosoft云服务器
  • 如何做盗版小说网站最经典的营销案例
  • 设计类的网站和简介关键词优化推广排名多少钱
  • 代理记账网站怎么做北京seo方法
  • cdr做网站企业网站建设的基本流程
  • 网站建设需要哪些硬件百度指数排名
  • 2017年网站开发用什么语言找培训机构的app