报文在三次握手过程中丢失怎么办? |
您所在的位置:网站首页 › 和客户握手怎么握手 › 报文在三次握手过程中丢失怎么办? |
• 第一次:计算机(第一台计算机)发送SYN=1的请求报文,此时第一台计算机进入SYN SENT状态,等待服务器(第二台计算机)确认。 //此时如果报文丢失发送不到对端会如何? 第一台计算机发送报文之后会启动一个定时器,在超时之后未收到服务器端的确认,会再次发送SYN请求, 每次尝试的时间会是第一次的二倍,如果总的总尝试时间为75秒,此次建立链接失败。 • 第二次:服务器端收到计算机发送的SYN报文(建立链接请求)后,S端必须返回确认号并且同时发送一条SYN报文,此时进入SYN RCVD状态。 //为啥要连带发送SYN报文? TCP是全双工通信,协议规定当收到建立链接请求后必须返回序列号,同时建立本端到对端的通信链接。 这也叫做捎带应答机制。 //如果第二次报文丢失怎么办? 在发送完ACK+SYN报文后会启动一个定时器,超时没有收到ACK确认,会再次发送,会进行多次重试。 超时时间依旧每次翻倍,重试次数可设置。 修改 /proc/sys/net/ipv4/tcp_synack_retries 的值 • 第三次:C端收到S端发的ACK+SYN报文,需要返回一个应答ACK的报文,此时该连接会进入半连接状态的队列,当S端收到ACK后,一条完整的全双工TCP链接建立完成,双方进入ESTABLISHED状态。 这里有个常用攻击手段,攻击者伪造一个SYN请求发送给服务端,服务端响应之后,会收不到C端的ACK确认, 服务端会不断的重试,默认会重试五次。 此时服务端会维持这个链接的所有资源,如果有大量这样的请求,服务端的资源会被耗完。 这就是DOS攻击。 //如果第三次报文丢失怎么办? S端在发出ACK+SYN报文后会启动一个定时器,在超时触发还没收到ACK就确认是丢失了,会重试一次发送。
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |