握手过程主要使用TCP协议的标志flag——SYN和ACK
发送端: 将一个标有SYN(synchronize)的数据包发送至接收端。 接收端: 接收到带有SYN的数据包后,返回一个标有SYN/ACK(acknowledgement)的数据包 发送端:收到后发送标有ACK的数据包,代表握手结束。
如果握手过程在某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包。
TCP三次握手用于建立TCP连接(确保传输的可靠性) 在请求响应结束后,还有断开TCP连接的过程: 服务器: 发送FIN至客户端 客户端:发送ACK表示确认 客户端:发送FIN表示可以断开了 服务器:返回ACK表示已经断开。
三次握手的缺陷:SYN攻击(DDoS攻击) 通过网络服务所在端口发送大量的伪造源地址的攻击报文,可能造成目标服务器中的半连接队列被占满,从而阻止其他合法用户进行访问。攻击者伪造地址发送SYN请求,而真是的IP会认为没有发送请求,不作回应,服务器没有收到回应,不知道(SYN+ACK)是否发生成功,默认情况下会重试5次,但即使这样,也会大量消耗服务器的内存和带宽。而且如果伪造者在公网的话,很难追踪IP。
转载请注明原文地址: https://ju.6miu.com/read-1579.html