网络运维基础(三)
1.1 TCP 协议的十一种状态集转换
1.1.1 TCP 三次握手状态集的转换
1.
服务端:
1)服务端从 closed 状态转换为 listen 状态(在服务端开启相应服务),只有在 listen 才可以
接受客户端建立连接的请求
2)从 colsed 转变为 listen,实际上就是创建了一个 socket 信息
netstat -an|grep -i es 可以看到 socket 条目信息
socker 条目:tcp 或 udp 协议——目标地址,端口——源地址,端口——状态
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 状态会等待 90 秒钟的时间,才会进入到 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 地址分类
1. 按 IP 的数值范围划分
:A B C D E 五类地址
常用地址为 ABC 三类地址:
A 类地址 == 网络位 + 主机位 + 主机位 + 主机位
B 类地址 == 网络位 + 网络位 + 主机位 + 主机位
C 类地址 == 网络位 + 网络位 + 网络位 + 主机位
D 类地址为组播地址:每一个地址都作为一个网段
E 类地址为科学研究使用
2 按 IP 地址的用途分类
:公网地址,私网地址
私网地址:每个局域网都可以使用的地址信息,并局域网内唯一,跨越不同局域网可以重复 使用,因此私网地址有效缓解了地址枯竭问题
私网地址的范围:
A 类:10.0.0.8
——
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
注:N 为每类地址的主机位数(二进制),最后一个 2:表示主机位
1.3.4 ABC 三类地址的可用网段数计算:
公式:2 的 N 次方
注:N 表示每类地址的网络位数(二进制)
1.3.5 特殊地址
1.3.6 三种常见的网络通讯类型
1.3.7 子网划分
1. 为什么要划分子网?
1)会出现大量的局域网地址,向同一个网关请求,造成网关负载过高
2)会引起局域网内的大量广播数据传送,形成广播风暴
3)浪费地址
2. 子网划分的优点:
1)将一个大的广播域划分为几个小的广播域
2)减少网关设备锁承载的负载量
3)有效避免 ip 地址的浪费,使一个大的地址空间更加灵活的分配
3. 掩码作用:
1)利用掩码快速得知是 A 类地址,还是 B 类,C 类?
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
子网划分计算过程:
来源: http://www.bubuko.com/infodetail-2465153.html