1、简述osi七层模型和TCP/IP五层模型
网络图片
OSI 7层模型
应用层:提供为应用软件而设的接口,以设置与另一应用软件之间的通讯,如HTTP、HTTPS、FTP、TELNET、SSH等
表示层:使用正确的编码和解码,让数据能以正确的格式显示,或以正确的格式传输。
会话层:设置和维护本地与远程设备之间的会话连接
传输层:端到端的可靠或不可靠传输。
网络层:数据的路径选择,跨网络的远程通讯。
数据链路层:实现链路内部的通讯,网络寻址、错误侦测和纠错,将01组合为帧。
物理层:提供物理连接的电气特性
TCP/IP五层模型
应用层:OSI模型应用层、表示层、会话层的集合
传输层:与OSI的传输层功能一致,使用TCP和UDP协议实现端到端的可靠和不可靠通讯;
Internet层:与OSI的网络层功能一致
网络接口层(链路层):与OSI数据链路层、物理层功能一致
2、总结描述TCP三次握手四次挥手
三次握手:用于建立TCP连接,基于可靠机制,客户端发送SYN报文,服务器响应SYN+ACK报文,客户端响应ACK报文完成TCP三次握手的建立;
- 发送方主动发出的消息都会携带自己产生的seq,回复对方的ACK需要在对方SEQ基础上+1;
四次挥手:用于断开TCP连接,客户端发送FIN,服务器响应ACK;服务器也会发送FIN,客户端响应ACK;
- 挥手状态服务器端和客户端分开维护,客户端发送的FIN只是表明客户端的数据已发送完毕;服务器端依然可以继续发送数据给客户端直到服务器发起FIN;
3、描述TCP和UDP区别
TCP是可靠连接,支持半关闭,支持错误检查,有序列号确认数据按序传输和接收,有确认机制,能够执行数据恢复和重传,通过滑动窗口能够执行流控,有拥塞控制机制由拥塞避免算法实现
UDP是不可靠连接,有限的错误检查,传输性能高,无数据恢复特性
4、网卡绑定bond0的实现
由于是虚拟机环境,因此使用mod=1主备方式部署:
- 创建并编辑bond0网卡的配置文件
[root@cenos8 ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0
NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=192.168.1.200
PREFIX=24
GATEWAY=192.168.1.1
DNS=192.168.1.1
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
2.编辑eth0网卡的配置文件(eth0是修改网卡名后的结果):
[root@cenos8 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
UUID=cb1fe6ac-a6b6-403b-bb6b-1fad857ab3cc
DEVICE=eth0
ONBOOT=yes
MASTER=bond0
SLAVE=yes
- 编辑eth1网卡的配置文件:
[root@cenos8 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=none
NAME=eth1
UUID=5f7978ac-ebda-4a2b-9da5-dbbce969813d
DEVICE=eth1
ONBOOT=yes
MASTER=bond0
SLAVE=yes
- 执行如下命令激活bond0,由于通过如下方式激活失败,所以直接执行了重启:
#启动从属接口
nmcli con up eth0
nmcli con up eth1
#启动bond0
nmcli con up bond0
-
ip add show
可以看到只有bond0有IP信息
[root@cenos8 ~]# ip add show
<--ommited-->
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000
link/ether 00:0c:29:fa:38:3c brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000
link/ether 00:0c:29:fa:38:46 brd ff:ff:ff:ff:ff:ff
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:0c:29:fa:38:3c brd ff:ff:ff:ff:ff:ff
inet 192.168.1.200/24 brd 192.168.1.255 scope global noprefixroute bond0
valid_lft forever preferred_lft forever
inet6 2409:8a55:d85c:5ae0:20c:29ff:fefa:383c/64 scope global dynamic mngtmpaddr
valid_lft 259098sec preferred_lft 172698sec
inet6 fe80::20c:29ff:fefa:383c/64 scope link
valid_lft forever preferred_lft forever
<--ommited-->
- 确认bond0的状态正常
[root@cenos8 ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v4.18.0-305.3.1.el8.x86_64
Bonding Mode: fault-tolerance (active-backup) (fail_over_mac active)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0
Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:fa:38:3c
Slave queue ID: 0
Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:fa:38:46
Slave queue ID: 0