TCP 连接过程

Fork Me On Github
zodream 编程技术 2018年12月

开始连接(三次握手)

首先确认双方收发功能是否正常

第一次握手,服务端确认客户端的发送能力、服务端的接收能力。客户端发送一个SYN段,并指明客户端的初始序列号,即ISN(c).

第二次握手,客服端确认服务端的接收、发送能力,客户端的接收、发送能力。服务端发送自己的SYN段作为应答,同样指明自己的ISN(s)。为了确认客户端的SYN,将ISN(c)+1作为ACK数值。这样,每发送一个SYN,序列号就会加1. 如果有丢失的情况,则会重传。

第三次握手,服务端确认客户端的接收、发送能力,服务端的发送、接收能力。为了确认服务器端的SYN,客户端将ISN(s)+1作为返回的ACK数值。

确认之后,正式收发数据

结束连接(四次挥手)

第一次挥手,客户端发送一个FIN段,并包含一个希望接收者看到的自己当前的序列号K. 同时还包含一个ACK表示确认对方最近一次发过来的数据。

第二次挥手,服务端将K值加1作为ACK序号值,表明收到了上一个包。这时上层的应用程序会被告知另一端发起了关闭操作,通常这将引起应用程序发起自己的关闭操作。

第三次挥手,服务端发起自己的FIN段,ACK=K+1, Seq=L

第四次挥手,客户端确认。ACK=L+1

DOS 攻击

最基本的DoS攻击就是利用合理的服务请求(发送大量的SYN包)来占用过多的服务资源,从而使合法用户无法得到服务的响应。

DDOS 攻击

分布式拒绝服务攻击采取的攻击手段就是分布式的。

按照TCP/IP协议的层次可将DDOS攻击分为基于ARP的攻击、基于ICMP的攻击、基于IP的攻击、基于UDP的攻击、基于TCP的攻击和基于应用层的攻击。

参考

1.“三次握手,四次挥手”你真的懂吗?

点击查看全文
0 268 0