TCP协议的十一种状态集转换子网划分过程
Posted linux运维菜鸟之旅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP协议的十一种状态集转换子网划分过程相关的知识,希望对你有一定的参考价值。
网络运维基础(三)
1.1 TCP协议的十一种状态集转换
1.1.1 TCP三次握手状态集的转换
1.服务端:
1)服务端从closed状态转换为listen状态(在服务端开启相应服务),只有在listen才可以 接受客户端建立连接的请求
2)从colsed转变为listen,实际上就是创建了一个socket信息
netstat -an|grep -i es 可以看到socket条目信息
2.客户端:
1)客户端发送syn信息给服务端,然后客户端从closed状态变为syn_send状态(三次握手 的第一次握手)
3.服务端:
1)服务端在listen状态接收到客户端发送的syn请求,会响应syn和ack信息,并且从listen 状态装换为syn_rcvd状态(三次握手的第二次握手)
4.客户端:
1)客户端在syn_send状态接收到服务端的syn和ack字段信息,然后回复ack确认信息(三 次握手的第三次),发送完后,从syn_send转换为established
注:在/etc/sysctl.conf中设置net.ipv4.tcp_syncookies=1来防止SYN Flood攻击
1.1.2 TCP的四次挥手状态集的转化
1.客户端:
1)客户端在established状态发送fin字段信息给服务端(四次挥手的第一次挥手)
客户端状态转变为fin_wait1(第一次等待:服务端的确认ack信息)状态
2.服务端:
1)服务端在established接收到客户端发送的fin字段信息,从established状态转换成close_wait状态
2)服务端在close_wait状态发送ack确认字段(四次挥手的第二次挥手)
3.客户端:
1)客户端在fin_wait1状态接收到服务端的ack信息,进入到fin_wait2等待状态(第二次等待:等待服务端的fin信息)
4.服务端:
1)服务端在close_wait状态发送fin断开连接字段给客户端(四次挥手的第三次挥手)
2)服务端从close_wait状态变为last_ack状态
5.客户端:
1)客户端在fin_wait2状态接受服务端的fin信息,然后响应ack信息给服务端,并将自己的fin_wait2状态time_wait状态
6.服务端:
1)服务端在last_ack状态接受到客户端发送的ack字段信息后,就会进入最终的closed状态
7.客户端:
1)在time_wait状态会等待120秒钟的时间,才会进入到closed状态
注:传输层发送fin(请求断开连接),是接收到了会话层的断开连接请求(这样一层层的转发)
那么问题来了:1. 为什么会有四次挥手过程,ack 和fin要分开发送?
答:服务端接受到了客服端的FIN时会向应用层汇报,并回应ACK给客户端,
然后会等数据传输完毕后,在发送FIN请求断开连接。
2.客户端为什么要有time_wait状态
答:为了确保服务端能收到ack,客户端会在time_wait不断给服务端发送ack。
3.总结closing状态的由来:
答:在第二次挥手的时候,客户端没收到服务端发送的ack,但收到了fin字段信息,按理说收到fin后应该转换为time_wait,所以加了colsing起一个缓存时间(过程很快)
TCP的十一种状态总结:
1.2 UDP相关报文结构
1.3 IP地址分类与子网划分基础
1.3.1 什么是IP地址(常见的IP的地址为ipv4和ipv6)
1. IPV4:有32位二进制组成,采用点分十进制分为4段,每段为8位二进制
2. IPV4和IPV6的总数:用awk计算了一下,大约这么多
注:seq -w 10 让数字补齐
1.3.2 IP地址分类
A类:10.0.0.0 —— 10.0.0.255
B类:172.16.0.0 —— 172.31.255.255
C类:192.168.0.0 —— 192.168.2
1.3.3 ABC三类地址的可用主机数计算:
公式:2的N次方-2
1.3.4 ABC三类地址的可用网段数计算:
公式:2的N次方
1.3.5 特殊地址
1.3.6 三种常见的网络通讯类型
1.3.7 子网划分
1. 为什么要划分子网?
2)会引起局域网内的大量广播数据传送,形成广播风暴
2. 子网划分的优点:
1)将一个大的广播域划分为几个小的广播域
2)减少网关设备锁承载的负载量
3. 掩码作用:
2)利用掩码定位网络位信息
4. 掩码表现形式:
1)用十进制表示,分为四组,也是32为二进制数组成
2)A类默认掩码:255.0.0.0 或/8
B类默认掩码:255.255.0.0 或/16
C类默认掩码:255.255.255.0 或/24
实例1-1 子网划分计算过程:
小伙伴们可以关注我的博客号:GeorgeKai,点击“阅读原文”进入
以上是关于TCP协议的十一种状态集转换子网划分过程的主要内容,如果未能解决你的问题,请参考以下文章
IP封包协议头/TCP协议头/TCP3次握手/TCP4次挥手/UDP协议头/ICMP协议头/HTTP协议(请求报文和响应报文)/IP地址/子网掩码(划分子网)/路由概念/MAC封包格式