1.简述osi七层模型和TCP/IP五层模型
osi七层模型
7层框架分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
TCP/IP五层模型
4层框架分别是:网络接口层、互联网层、传输层和应用层。
TCP/IP和OSI模型的比较
相同点
两者都是以协议栈的概念为基础
协议栈中的协议彼此相互独立
下层对上层提供服务
不同点
OSI是先有模型;TCP/IP是先有协议,后有模型
OSI是国际标准,适用于各种协议栈;TCP/IP实际标准,只适用于TCP/IP网络 层次数量不同
2.总结描述TCP三次握手四次挥手
三次握手
1.客户端发起请求,发送数据包:设置SYN标志位,用于建立同步连接,同时生成一个随机数填充序号seq。然后进入SYN_SEND状态。
2.服务端收到客户端发送的数据包,检测到已经设置了SYN标志位。服务端也会创建一个数据包,设置SYN和ACK标志位,ACK用于确认收到了刚刚客户端发送的数据包,同时生成一个随机数填充seq,与客户端的seq数据包无关。服务器将客户端数据包序号+1,填充ack。然后进入SYN-RCVD状态。
3.客户端收到数据包,检测到已经设置了SYN和ACK标志位,确认时服务端发来的数据包,并检测ack是否+1,如果是说明建立成功。确认完毕,客户端继续组建数据包,并设置ACK标志位,并在服务器端的数据包序号seq。客户端将数据包发出,进入ESTABLISED状态,表示连接已经成功建立。
4.服务器端收到数据包,检测到已经设置了 ACK 标志位,确认是客户端发来的数据包。、并会检测ack是否+1如果是说明建立成功。服务器进入ESTABLISED状态。
至此,客户端和服务器都进入了ESTABLISED状态,连接建立成功,接下来就可以收发数据了。
四次挥手
1.客户端向服务器发送 FIN 数据包,进入FIN_WAIT_1状态。
2.服务器收到数据包后,检测到设置了 FIN 标志位,于是向客户端发送“确认包”,进入CLOSE_WAIT状态。服务器收到请求后并不立即断开连接,而是先向客户端发送“确认包”。
3.客户端收到“确认包”后进入FIN_WAIT_2状态,等待服务器准备完毕后再次发送数据包。
4.服务器准备完毕,可以断开连接,于是再向客户端发送 FIN 包,告诉客户端准备好了,可以断开连接。然后进入LAST_ACK状态。
5.客户端收到服务器的 FIN 包后,再向服务器发送 ACK 包,表示可以断开连接。然后进入TIME_WAIT状态。
6.服务器收到客户端的 ACK 包后,就断开连接,关闭套接字,进入CLOSED状态。
3.描述TCP和UDP区别
TCP
工作在传输层面向连接协议全双工协议半关闭
错误检查
将数据打包成段,排序确认机制
数据恢复,重传
流量控制,滑动窗口
拥塞控制,慢启动和拥塞避免算法
UDP
工作在传输层
提供不可靠的网络访问非面向连接协议
有限的错误检查传输性能高
无数据恢复特性
4.网卡绑定bond0的实现
bond0配置
1./etc/sysconfig/network-scripts/ifcfg-bond0
NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=10.0.0.100
PREFIX=8
2./etc/sysconfig/network-scripts/ifcfg-eth0
NAME=eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
3./etc/sysconfig/network-scripts/ifcfg-eth1
NAME=eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes