共计 2218 个字符,预计需要花费 6 分钟才能阅读完成。
1、总结形容 TCP 三次握手四次挥手
三次握手
第一次握手: 建设连贯时,Client 将标记位 SYN 置为 1, 序号 seq=j(也可能是其余), 并发送该 SYN 包到 Server 端, 进入 SYN_SEND 状态, 期待 Server 确认
第二次握手:Server 收到 SYN 包, 由标记位 SYN= 1 晓得 Client 申请连贯,Server 要给 Client 确认, 确认包中标记位 SYN 和 ACK 都为 1,ack=j+1, 序号 seq=k, 发送完 SYN+ACK 包后,Server 进入 SYN_RECV 状态
第三次握手:Client 收到 Server 的 SYN+ACK 包, 查看 ack 是否为 j +1,ACK 是否为 1, 如果正确则将标记位 ACK 置为 1,ack=k+1, 并将该包回复给 Server,Server 查看 ack 是否为 k +1,ACK 是否为 1, 如果正确则连贯建设胜利,Client 和 Server 进入 ESTABLISHED 状态, 实现三次握手,Client 和 Server 开始传送数据
四次挥手
第一次挥手:Client 发送一个 FIN 给 Server, 用来敞开 Client 到 Server 的数据传送,Client 进入 FIN_WAIT_1 状态
第二次挥手:Server 收到 FIN 后, 发送一个 ACK 给 Clinet, 确认序号为收到序号 +1,Server 进入 CLOSE_WAIT 状态
第三次挥手:Server 发送一个 FIN 给 Clinet, 用来敞开 Server 到 Client 的数据传送,Server 进入到 LAST_ACK 状态
第四次挥手:Clinet 收到 FIN 后, 进入 TIME_WAIT 状态, 接着发送一个 ACK 给 Server, 确认序号为收到序号 +1,Server 进入 CLose 状态, 实现四次握手.
2、形容 TCP 和 UDP 区别
协定区别 | TCP | UDP |
---|---|---|
数据包发送 | 对数据进行分包 | 不分包, 一次发送全部内容 |
连贯 | 须要建设 | 不须要建设, 单向传输 |
传输性能 | 不高, 须要屡次确认 | 高 |
交付 | 残缺交付, 失落会重传, 保障达到 | 无奈保障牢靠交付, 失落不会重传 |
数据类型 | 数据段 | 数据报, 应用层给多少, 就包装多少, 一次传输一个报文 |
首部 | 20 字节 | 8 字节 |
拥挤管制 | 有 | 没有 |
3、总结 ip 分类以及每个分类能够调配的 IP 数量
分类 | 阐明 | 可调配 IP 数 |
---|---|---|
A | 网络 ID 最高 8 位, 主机 ID24 位低位 | 2^24-2=16777214 |
B | 网络 ID 最高 16 位, 主机 ID16 位低位 | 2^16-2=65534 |
C | 网络 ID 最高 24 位, 主机 ID8 位低位 | 2^8-2=254 |
D | 组播 1110 0000 – 1110 1111.X.Y.Z: 224-239.X.Y.Z | |
E | 保留未应用,240-255 |
4、总结 IP 配置办法
IP 配置能够动静 DHCP 配置, 也能够动态指定配置
须要更改 /etc/sysconfig/network-scripts/ifcfg-xx
结尾的文件
# 动态 IP 配置
TYPE=Ethernet
IPADDR=10.0.0.81
PREFIX=8
GATEWAY=10.0.0.1
DNS1=10.0.0.8 # 也能够改成其余的
NAME=eth0
DEVICE=eth0
ONBOOT=yes
# 动静 IP 配置
BOOTPROTO=dhcp
NAME=eth0
DEVICE=eth0
ONBOOT=yes
能够应用 ifconfig\ip\nmcli 命令配置 IP 地址
命令 | 创立 IP |
---|---|
ifconfig | ifconfig eth0 192.168.1.125/24 |
ip | ip addr add 192.168.1.125/24 dev eth0 |
nuclei | nmcli c modify eth0 +ipv4.addresses 192.168.1.125/24 |
5、应用 nmcli 实现 bonding
bonding 将多网卡绑定同一 IP 对外提供服务, 实现高可用或负载平衡
应用配置文件实现
/etc/sysconfig/network-scripts/ifcfg-bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=10.0.0.100 # 共用的 IP 地址, 对外提供服务
PREFIX=8
#miimon 指定链路监测工夫距离。如果 miimon=100,那么零碎每 100ms 监测一次链路连贯状态,如果有一 条线路不通就转入另一条线路
BONDING_OPTS="mode=1 miimon=100"
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
应用 nmcli 实现
# 增加 bonding 接口
nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup #增加隶属接口
nmcli con add type bond-slave ifname eth0 master bond0
nmcli con add type bond-slave ifname eth1 master bond0 #注: 如有为隶属接口提供连贯名,则该名称是接口名称加类型形成
#要启动绑定,则必须首先启动隶属接口
nmcli con up bond-slave-eth0
nmcli con up bond-slave-eth1
#启动绑定
nmcli con up mybond0