1、简述osi七层模型和TCP/IP五层模型
物理层(Physical Layer)
实际上就是设备之间连接的传输介质,为数据链路层提供物理连接,主要定义了系统的电气、机械、过程和功能规范,传输的基本单位是比特流(bit),即0和1,就是最基本的电信号或光信号。
数据链路层(Data Link Layer)
是在设备间建立数据链路联接,为网络层提供差错控制和流量控制服务。主要功能是互联设备之间传送和识别数据帧(frame)。
网络层(Network Layer)
为数据在节点之间传输创建逻辑链路,通过路由选择传输数据包(packet)的最佳路径,从而实现拥塞控制、网络互联等功能。
传输层(Transport Layer)。
管理两个节点之间的数据段(segment)传输。负责可靠传输(处理数据报错误、数据包次序等传输问题,确保数据被可靠地传送到目标地址)
会话层( Session Layer)
负责维护两个节点之间建立、管理和终止应用程序之间的会话,确保点到点传输不中断,以及管理数据交换等功能。
表示层(Presentation Layer)
是处理在两个通信系统中交换信息的表示方式,主要包括数据格式变化、数据加密与解密、数据压缩与解压等。表示层为应用层所提供的服务包括:语法转换、语法选择和联接管理。
应用层(Application Layer)
用户的通信内容要由应用进程解决,应用层为应用程序进程(例如:电子邮件、文件传输和终端仿真)提供专门的网络程序服务。SMTP、DNS和FTP都是7层协议。
TCP/IP五层模型:
应用层:应用层决定了向用户提供应用服务时通信的活动。TCP/IP协议族内预存了各类通用的应用服务。比如,FTP(File Transfer Protocol,文件传输协议)和DNS(Domain Name System,域名系统)服务就是其中两类。HTTP协议也处于该层。
传输层:传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。在传输层有两个性质不同的协议:TCP(Transmission ControlProtocol,传输控制协议)和UDP(User Data Protocol,用户数据报协议)。
网络层:网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输路线。
数据链路层(又名网络接口层):用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在链路层的作用范围之内。
2、总结描述TCP三次握手四次挥手
SYN,ACK,FIN存放在TCP的标志位,一共有6个字符:
SYN:代表请求创建连接,所以在三次握手中前两次要SYN=1,表示这两次用于建立连接。
FIN:表示请求关闭连接,在四次分手时,我们发现FIN发了两遍。这是因为TCP的连接是双向的,所以一次FIN只能关闭一个方向。
ACK:代表确认接受,不管是三次握手还是四次分手,在回应的时候都会加上ACK=1,表示消息接收到了,并且在建立连接以后的发送数据时,都需加上ACK=1,来表示数据接收成功。
seq:序列号,当发送一个数据时,数据是被拆成多个数据包来发送,序列号就是对每个数据包进行编号,这样接受方才能对数据包进行再次拼接。
初始序列号是随机生成的,这样不一样的数据拆包解包就不会连接错了。
ack:这个代表下一个数据包的编号,这也就是为什么第二请求时,ack是seq+1,
三次握手:
(1)Client主动发送 SYN=1到Server请求建立连接,并发送随机序列号seq=x 的数据包到 Server
(2)Server收到Client请求后要确认联机信息,向Client发送SYN=1,ACK=1表示同意建立连接,并发送随机序列号为seq=y的数据包,ack=x+1 表示确认收到Client的序列号为seq=x的数据包,请求发送下一个序列号为x+1的数据包。
(3)Client收到后检查ACK=1,ack=x+1确认Server同意建立连接并已正确接收Client发送的数据包,此时 Client会再次发送 ack= y+1 表示成功接收Server发送的数据包,seq=x+1, Server收到后确认seq值与ACK=1,则连接建立成功。
四次挥手:
(1)Client发送FIN=1到Server请求断开连接,发送随机序列号seq=u的数据包到Server。
(2)Server收到断开连接请求后,发送一个ACK=1给Client表示确认接受,并发送随机序列号seq=v的数据包,ack=u+1表示成功接收Client发送的数据包
(3)Server再次发送FIN=1,ACK=1,seq=w,ack= u+1,用来关闭Server到Client的数据传送。
(4)Client收到Server的确认消息和断开请求后,接着发送一个ACK=1给Server,发送Client的下一个数据包seq=u+1,ack=w+1表示接收到Server的数据包。
3、描述TCP和UDP区别
TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。 TCP的缺点: 慢,效率低,占用系统资源高,易被攻击 TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,事实上,每个连接都会占用系统的CPU、内存等硬件资源。 而且,因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。
UDP的优点: 快,比TCP稍安全 UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传递数据时非常快。没有TCP的这些机制,UDP较TCP被攻击者利用的漏洞就要少一些。但UDP也是无法避免攻击的,比如:UDP Flood攻击…… UDP的缺点: 不可靠,不稳定 因为UDP没有TCP那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包。 基于上面的优缺点,那么: 什么时候应该使用TCP: 当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。 在日常生活中,常见使用TCP协议的应用如下: 浏览器,用的HTTP FlashFXP,用的FTP Outlook,用的POP、SMTP Putty,用的Telnet、SSH QQ文件传输 ………… 什么时候应该使用UDP: 当对网络通讯质量要求不高的时候,要求网络通讯速度能尽量的快,这时就可以使用UDP。 比如,日常生活中,常见使用UDP协议的应用如下: QQ语音 QQ视频 TFTP ……
4、总结ip分类以及每个分类可以分配的IP数量
IP地址分类
5、总结IP配置方法
1 nmcli命令行工具配置
nmcli con mod eth0 ipv4.addresses 192.168.122.127/24
注:命令实际修改的是配置文件
修改网卡IP
2 通过网卡配置文件修改
编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0
修改网卡、子网掩码配置:
IPADDR=192.168.122.127
PREFIX=24
:wq保存退出
重启网络服务