OSI七层模型
TCP/IP协议
Transmission Control Protocol(翻译:传输控制协议)/Internet Protocol(翻译:互联网协议)的简写,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。协议采用了4层的层级结构。然而在很多情况下,它是利用 IP 进行通信时所必须用到的
TCP的三次握手
三次握手
建立一个TCP连接时,需要客户端和服务
端总共发送3个包以确认连接的建立。
为什么需要3次握手?
TCP是面对连接的,所以需要双
方都确认连接的建立。
第一次握手
客户端请求建立连接。SYN =1 生成一个随机字符串J
第二次握手
服务端应答客户端,,并请求建立连接。具体操作为SYN=1 ACK =1 ack=J+1 生成随机字符K
第三次握手
客户端针对服务端请求确认应答。ACK =1,ack =K+1
流程图
TCP的3次握手的漏洞
SYN洪泛攻击
定义:
通过网络服务所在的端口发送大量伪造原地址的攻击报文,发送到服务端,造成服务端上的半开连接队列被占满,从而阻止其他用户进行访问。
原理:
攻击者客户端利用伪造的IP地址向服务端发出请求(第一次握手),而服务端的响应(第二次握手)的报文将永远发送不到真实的客户端,服务端在等待客户端的第三次握手(永远都不会有的),服务端在等待这种半开的连接过程中消耗了资源,如果有成千上万的这种连接,主机资源将被耗尽,从而达到攻击的目的。
解决方案:
无效连接监控释放
延缓TCB分配方法
防火墙
TCP中的四次挥手(分手)
四次挥手
定义
断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。
为什么需要四次挥手
TCP是双全工(即客户端和服务器端可以相互发送和接收请求),所以需要双方都确认关闭连接。
过程
第一次挥手:客户端发送关闭请求
第二次挥手:服务端响应客户端关闭请求
第三次挥手:服务端发送关闭请求
第四次挥手:客户端发送关闭确认请