乐趣区

关于linux:W6-网络

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
退出移动版