马哥教育N63013-第五周作业
1、简述osi七层模型和TCP/IP五层模型
OSI七层模型 应用层:针对特定应用的协议,提供为应用软件而设的接口,以设置与另一应用软件之间的通讯。例如:HTTP、HTTPS、FTP、TELNET、SSH、SMTP、POP3、MySQL等 表示层:设备固有数据格式和网络标准数据格式的转换,把数据转换为能与接收者的系统格式兼容并适合传输的格式。 会话层:通信管理,负责数据传输中设置和维护电脑网络中两台电脑的通讯连接。 传输层:管理两个节点之间的数据传输,负责可靠传输。把传输表头(TH)加至数据以形成数据包。传输表头包含所使用的协议等发送信息。例如:TCP协议 网络层:地址管理与路由选择,决定数据的路径和转寄,将网络表头(NH)加至数据包,以形成报文。网络表头包含了网络数据。例如:ip协议 数据链路层:互联设备之间传送和识别数据帧。复杂网络寻址、错误侦测和改错。 物理层:以“0”、“1”代表电压的高低,灯光的闪灭,界定连接器和网线的规格。在局部局域网上传送数据帧,它负责管理电脑通讯设备和网络媒体之间的互通。 TCP/IP五层模型 应用层 传输控制层 网络层 链路层 物理层 TCP/IP和OSI模型比较: 相同点:- 两者都是以协议栈的概念为基础
- 协议栈中的协议彼此互相独立
- 下层对上层提供服务
- OIS是先有模型,TCP/IP是先有协议,后有模型
- OSI是国际标准,适用于各种协议栈;TCP/IP实际标准,只适用于TCP/IP网络
- OSI七层,TCP/IP五层

2、总结描述TCP三次握手四次挥手
TCP三次握手
第一次握手:起初两端都处于CLOSED关闭状态,Client将标志位SYN置为1,随机产生一个值seq=x,并将该数据包发送给Server,Client进入SYN-SENT状态,等待Server确认;
第二次握手:Server收到数据包后由标志位SYN=1得知Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=x+1,随机产生一个值seq=y,并将该数据包发送给Client以确认连接请求,Server进入SYN-RCVD状态,此时操作系统为该TCP连接分配TCP缓存和变量;
第三次握手:Client收到确认后,检查ack是否为x+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=y+1,并且此时操作系统为该TCP连接分配TCP缓存和变量,并将该数据包发送给Server,Server检查ack是否为y+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client和Server就可以开始传输数据。
TCP四次挥手
第一次挥手: Client端发起挥手请求,向Server端发送标志位是FIN报文段,设置序列号seq,此时,Client端进入FIN_WAIT_1
状态,这表示Client端没有数据要发送给Server端了。
第二次分手:Server端收到了Client端发送的FIN报文段,向Client端返回一个标志位是ACK的报文段,ack设为seq加1,Client端进入FIN_WAIT_2
状态,Server端告诉Client端,我确认并同意你的关闭请求。
第三次分手: Server端向Client端发送标志位是FIN的报文段,请求关闭连接,同时Client端进入LAST_ACK
状态。
第四次分手 : Client端收到Server端发送的FIN报文段,向Server端发送标志位是ACK的报文段,然后Client端进入TIME_WAIT
状态。Server端收到Client端的ACK报文段以后,就关闭连接。此时,Client端等待2MSL的时间后依然没有收到回复,则证明Server端已正常关闭,那好,Client端也可以关闭连接了。
3、描述TCP和UDP区别
文件传输数据对完整性要求高,传输中如果数据丢失会导致整个文件损坏无法打开,所以传输层针对文件传输类的工作,选用TCP协议。
语音视频通话属于实时采集的数据,发送的并不是一个事先准备好的文件,所以没有文件完整性一说。而且采集多少数据就传输多少数据,这时传输层则会选择忽略完整性检查,会选择速度更快延迟更小的UDP协议。
4、网卡绑定bond0的实现
1)创建bond0的配置文件
vim /etc/sysconfig/network-scripts/ifcfg-bond0 NAME=bond0 TYPE=bond DEVICE=bond0 BOOTPROTO=none IPADDR=10.0.0.100 PREFIX=8 BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
2)配置第一块eth0网卡
vim /etc/sysconfig/network-scripts/ifcfg-eth0 NAME=eth0 DEVICE=eth0 BOOTPROTO=none MASTER=bond0 SLAVE=yes ONBOOT=yes
3)配置第二块eth1网卡
vim /etc/sysconfig/network-scripts/ifcfg-eth1 NAME=eth1 DEVICE=eth1 BOOTPROTO=none MASTER=bond0 SLAVE=yes ONBOOT=yes
4)查看bond0状态
cat /pro/net/bonding/bond0