马哥N63第五周作业

我自横刀向天笑,去留肝胆两昆仑。这篇文章主要讲述马哥N63第五周作业相关的知识,希望能为你提供帮助。
就业第5周作业

一、简述osi七层模型和TCP/IP五层模型
OSI七层模型:(应表会传网数物)
7、应用层:OSI 参考模型中最靠近用户的一层,为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP等。


6、表示层:提供各种用于应用层数据的编码和转换功能,确保一个主机的应用层发送的数据能被另一个主机的应用层识别。如果有必要,该层可以提供一种标准的表示形式,用于将计算机内部的多种数据格式转换成通信中采用的标准表示形式。


5、会话层:负责创建、管理和终止表示层实体之间的通信会话。


4、传输层:创建了主机之间的端到端的连接。传输层的作用,是为上层协议提供端到端的可靠的透明的数据传输服务,包括差错控制和流量控制等问题。我们通常说的TCP、UDP就是在这一层。端口号即是这里的“
端 ”。TCP 协议。UDP 协议。


3、网络层:网络层通过 IP 寻址来创建两个网络节点之间的连接,为源主机的传输层送来的分组,选择合适的路由和交换节点,正确无误的按照 IP 地址传送给目的主机的传输层。就是通常说的 IP 层,使用 IP协议和路由器的路由选择信息。数据传输单位是分组。IP 地址。路由器。IP 协议。


2、数据链路层:将比特组合成字节,再将字节组合成帧,使用数据链路层地址 (以太网使用的是 MAC 地址)来访问介质,并进行差错检测。在物理层提供的服务基础之上,负责在通信的实体之间创建数据链路。传输以帧为单位的数据包。


1、物理层:实际的最终信号的传输是通过物理层实现的。通过物理介质传输0-1 比特流。常用的设备有(各种物理设备)集线器、中继器、调制解调器、网线、双绞线、同轴电缆。这些都是物理层的传输介质。
传输的单位是比特。


TCP/IP五层模型:



OSI七层模型




TCP/IP五层模型




应用层




应用层




表示层




会话层




传输层




传输层




网络层




网络层




数据链路层




数据链路层




物理层




物理层




二、总结描述TCP三次握手四次挥手。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers);


第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;


第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。


★为什么要三次握手
我们要知道网络传输是有延迟的,可能丢失的,不是说A发一个包给B,B保证能立刻收到,甚至B可能一直收不到。


第一次。A跟B说,我要建立连接了。


第二次。B跟A说,OK,那我也建立连接。


第三次。A跟B说,嗯,我知道了。


第二次和第三次都是为了保证连接是可靠的。


假设只有一次握手,而A的包无法发到B那里去,那A就是自顾自的建立了连接,傻傻的发信息,却不知道对方其实根本收不到。所以第二次握手是为了告诉A,B收到了你的信息。假设只有两次握手,那么对B来说,B是不知道A是否收到了自己的信息的,第三次握手是为了告诉B,A收到了B的信息了,并且可以互发信息了。 B真的需要知道 A是否收到了自己发出的第二次握手的信息吗?是的,如果A的第一次握手因为某些原因延迟很久才到B,而其实现在A和B已经聊完天,关闭连接了,这时B发出第二次握手,而A已经没什么想跟B说的,就不会发出第三次握手,这样B就不会建立连接消耗资源。若是只有二次握手的这种情况,B会直接建立连接消耗资源。


四次挥手:
1)客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u(等于前面已经传送过来的数据的最后一个字节的序号加1),此时,客户端进入FIN-WAIT-1(终止等待1)状态。 TCP规定,FIN报文段即使不携带数据,也要消耗一个序号。


2)服务器收到连接释放报文,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时,服务端就进入了CLOSE-WAIT(关闭等待)状态。TCP服务器通知高层的应用进程,客户端向服务器的方向就释放了,这时候处于半关闭状态,即客户端已经没有数据要发送了,但是服务器若发送数据,客户端依然要接受。这个状态还要持续一段时间,也就是整个CLOSE-WAIT状态持续的时间。


3)客户端收到服务器的确认请求后,此时,客户端就进入FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文(在这之前还需要接受服务器发送的最后的数据)。


4)服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,FIN=1,ack=u+1,由于在半关闭状态,服务器很可能又发送了一些数据,假定此时的序列号为seq=w,此时,服务器就进入了LAST-ACK(最后确认)状态,等待客户端的确认。


5)客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端就进入了TIME-WAIT(时间等待)状态。注意此时TCP连接还没有释放,必须经过2??MSL(最长报文段寿命)的时间后,当客户端撤销相应的TCB后,才进入CLOSED状态。


6)服务器只要收到了客户端发出的确认,立即进入CLOSED状态。同样,撤销TCB后,就结束了这次的TCP连接。可以看到,服务器结束TCP连接的时间要比客户端早一些。


★为什么要四次挥手
第一次。A跟B说,我要断开连接了。


第二次。B跟A说,好的,我知道了,我不再接收你的信息了。


第三次。B跟A说,我传给你的信息传完了,你可以关闭连接了。


第四次。A跟B说,好的,我关闭连接了。


第二次挥手是为了告诉A,B知道你不再发送信息了,且B不再接收信息。但B仍可以向A发送信息。因为A是主动关闭的一方,但B可能仍然有信息未发送完。第三次挥手是为了告诉A,B的信息发完了,A你可以关闭连接了。
第四次挥手是为了告诉B,A我知道可以关闭连接了,你也可以关闭了。对B来说,第四次挥手B才知道A成功关闭连接了,不关闭很耗费资源,所以要保证关闭了。若B接收不到第四次挥手信息,将会继续第三次挥手,直到收到确认信息为止。注意:对A来说,第四次挥手后2MSL内未接收到B的第三次挥手信息才会关闭连接,否则会继续第四次挥手。防止B接收不到第四次挥手信息。(若B接收不到第四次挥手信息,将重复发送第三次挥手信息,这个2MSL就是如果真的有重复发送的第三次挥手信息,在这个时间内肯定到达A了(路由不出问题的话),就是为了保证B收到第四次挥手信息)。


三、描述TCP和UDP区别
TCP:传输控制协议
这是一个面向连接的传输协议,在发送数据之前,要和对方建立可靠的连接。一个TCP连接必须经过三次握手才能建立,经过四次挥手才能断开。
三次握手:客户端向服务器发送syn请求建立连接;
服务器向客户端发送syn以及ack确定是否建立连接?
客户端向服务器发送ack确定建立连接。
四次握手:客户端向服务器发送fin请求断开连接;
服务器向客户端发送数据包;
服务器向客户端fin以及ack确定是否断开连接;
客户端向服务器发送fin确定断开连接。
UDP:用户数据报协议
这是一个无连接的简单的面向数据报的传输层协议
UDP不提供可靠性,只是把应用程序传给ip层的数据包发送出来,但是不能保证他们到达目的地;由于UDP在传输数据包前不用在客户和服务器之间建立连接,并且没有超时重发机制,所以速度很快。
区别:
1.基于连接与无连接;
2.对系统资源的要求(TCP较多,UDP较少);
3.UDP程序结构较为简单;
4.TCP是流模式(SOCK_STREAM) UDP是数据报模式(SOCK_DGRAM);
5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证;
基于TCP的网络协议:
Tlenet:远程登录协议
FTP:文件传输协议
SMTP:简单邮件传输协议
SNMP:简单网络管理协议
HTTP:超文本传输协议
基于UDP的网络协议:
NTP:网络时间协议
TFTP:简单文件传输协议


四、网卡绑定bond0的实现
1)配置网卡:



2)加载bond0并查看bond0状态
# modprobe bonding
# cat /proc/net/bonding/bond0




3)测试bond0
a.断开网卡ens33,看网络是否正常


b.连接上ens33,断开ens34



网络依然正常
c.同时断开ens33和ens34



直接连不上


d.恢复网卡连接


网络恢复




















【马哥N63第五周作业】


    推荐阅读