Tcp协议

开场白

Tcp/IP是一个协议族而不是一个协议,这是很多人错误的认识。

常用的网络协议如下图所示:

说明:网际层也称为网络层;网络接口层也称为链路层;

TCP:是一种面向连接的、可靠的、基于字节流的传输层通信协议,确保数据送达目的地;

UDP:用户数据报协议,是一个无连接的简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。

ICMP:用于在IP主机路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。

IGMP:网络组管理协议。主要用于建立和管理多播组,对IP分组广播进行控制。

ARP:地址解析协议(IP转换MAC)。

RARP:反向地址转换协议(MAC转换IP)。

 TCP/IP七层物理模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

 TCP/IP四层物理模型:应用层、传输层、网络层、链路层

TCP三次握手

文字描述

1、客户端给服务器发送连接请求;

2、服务端收到请求后告诉他已经准备好;

3、客户端收到服务器发来的信息(已经准备好),再给服务器发送我已经收到信息。

图片描述

TCP四次挥手

文字描述

1、客户端关闭,并发送信息告诉服务器我已经关闭;

2、服务器收到客户端的请求,并告诉他我已经收到;

3、服务器关闭,告诉客户端已经关闭;

4、客户端收到服务器关闭的信息,整个流程结束。

图片描述

TCP长连接和短连接

短连接

文字描述:

1、客户端向服务器发送连接请求;

2、服务器接收到请求,双方建立连接;

3、客户端向服务器发送消息;

4、服务器回应客户端;

5、一次读写完成,此时双方任何一个都可以发起关闭操作,一般都是 client 先发起 close 操作。当然也不排除有特殊的情况。从上面的描述看,短连接一般只会在 client/server 间传递一次读写操作!

图片描述:

长连接

1、客户端向服务器发送连接请求;

2、服务器接收到请求,双方建立连接;

3、客户端向服务器发送消息;

4、服务器回应客户端;

5、一次读写完成,连接不关闭

6、后续读写操作...

7、长时间操作之后client发起关闭请求

 图片描述:

TCP半链接攻击

简介

tcp半链接攻击也称为:SYN Flood (SYN洪水)

是种典型的DoS (Denial of Service,拒绝服务) 攻击

效果就是服务器TCP连接资源耗尽,停止响应正常的TCP连接请求。

正常的连接情况

半链接攻击时的情况

防止Dos攻击的措施

1、确保服务器的系统文件是最新的版本,并及时更新系统补丁。
2、关闭不必要的服务。
3、限制同时打开的SYN半连接数目。
4、缩短SYN半连接的time out 时间。
5、正确设置防火墙
6、禁止对主机的非开放服务的访问
7、限制特定IP地址的访问
8、启用防火墙的防DDoS的属性
9、严格限制对外开放的服务器的向外访问
10、运行端口映射程序祸端口扫描程序,要认真检查特权端口和非特权端口。
11、认真检查网络设备和主机/服务器系统的日志。只要日志出现漏洞或是时间变更,那这台机器就可能遭到了攻击。
12、限制在防火墙外与网络文件共享。这样会给黑客截取系统文件的机会,主机的信息暴露给黑客,无疑是给了对方入侵的机会。

原文地址:https://www.cnblogs.com/meichao/p/9516744.html