一、简述osi七层模型和TCP/IP五层模型
OSI和TCP/IP五层模型联系图解)OSI七层模型各层定义
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200914194910156.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpenV5dWFuMTIz,size_16,color_FFFFFF,t_70#pic_center)
```handlebars
1. 物理层:提供为建立、维护和拆除物理链路所需要的机械的、电气的、功能的和规程的特性;有关的物理链路上传输非结构的位流以及故障检测指示。
2. 数据链路层:在网络层实体间提供数据发送和接收的功能和过程;提供数据链路的流控。
3. 网络层:控制分组传送系统的操作、路由选择、拥护控制、网络互连等功能,它的作用是将具体的物理传送对高层透明。
4. 传输层:提供建立、维护和拆除传送连接的功能;选择网络层提供最合适的服务;在系统之间提供可靠的透明的数据传送,提供端到端的错误恢复和流量控制。
5. 会话层:提供两进程之间建立、维护和结束会话连接的功能;提供交互会话的管理功能,如三种数据流方向的控制,即一路交互、两路交替和两路同时会话模式 。
6. 表示层:代表应用进程协商数据表示;完成数据转换、格式化和文本压缩。
7. 应用层:提供OSI用户服务,例如事务处理程序、文件传送协议和网络管理等。
TCP/IP 五层模型
Transmission Control Protocol/Internet Protocol 传输控制协议/因特网互联协议
TCP/IP是一个Protocol Stack,包括TCP、IP、UDP、 ICMP、RIP、TELNET、FTP、SMTP、ARP等许多协议
最早发源于美国国防部(缩写为DoD)的因特网的前身 ARPA网项目,1983年1月1日,TCP/IP取代了旧的网络 控制协议NCP,成为今天的互联网和局域网的基石和标 准,由互联网工程任务组负责维护
1、物理层:
负责光电信号传递方式。集线器工作在物理层。以太网协议。
2、数据链路层:负责设备之间的数据帧的传输和识别。交换机工作在数据链路层。
例如网卡设备的驱动,帧同步,冲突检测,数据差错校验等工作。
3、网络层:负责地址管理和路由选择。路由器工作在网络层。
4、传输层:负责两台主机之间的数据传输。
5、应用层:负责应用程序之间的沟通。网络编程主要针对的就是应用层
共同点
(1)OSI参考模型和TCP/IP参考模型都采用了层次结构的概念。
(2)都能够提供面向连接和无连接两种通信服务机制。
不同点
1)OSI采用的七层模型,而TCP/IP是五层结构。
(2)TCP/IP参考模型的网络接口层实际上并没有真正的定义,只是一些概念性的描述。
OSI参考模型不仅分了两层,而且每一层的功能都很详尽,
甚至在数据链路层又分出一个介质访问子层,专门解决局域网的共享介质问题。
(3)OSI模型是在协议开发前设计的,具有通用性。
TCP/IP是先有协议集然后建立模型,不适用于非TCP/IP网络。
(4)TCP/IP参考模型的传输层是建立在网络互联层基础之上的,
而网络互联层只提供无连接的网络服务,所以面向连接的功能完全在TCP协议中实现,
TCP/IP的传输层还提供无连接的服务,如UDP
OSI参考模型的传输层是建立在网络层基础之上的,网络层既提供面向连接的服务,又提供无连接的服务,但传输层只提供面向连接的服务。
(5)OSI参考模型的抽象能力高,适合与描述各种网络;
TCP/IP是先有了协议,才制定TCP/IP模型的。
(6)OSI参考模型的概念划分清晰,但过于复杂;
TCP/IP参考模型在服务、接口和协议的 区别上不清楚,功能描述和实现细节混在一起。
(7)TCP/IP参考模型的网络接口层并不是真正的一层;
OSI参考模型的缺点是层次过多,划分意义不大但增加了复杂性。
(8)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连接成功)状态,完成三次握手。
四次挥手过程理解
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连接的时间要比客户端早一些。
三、描述TCP和UDP区别
1)基于连接vs无连接
TCP是面向连接的协议,而UDP是无连接的协议。
2)可靠性 不同
TCP提供交付保证,这意味着一个使用TCP协议发送的消息是保证交付给客户端的。如果消息在传输过程中丢失,那么它将重发,这是由TCP协议本身控制的。另一方面,UDP是不可靠的,它不提供任何交付的保证。一个数据报包在运输途中可能会丢失。这就是为什么UDP是不适合保证交付的项目。
3)有序性
TCP保证了消息的有序性。该消息将以从服务器端发出的同样的顺序发送到客户端,尽管这些消息到网络的另一端时可能是无序的。TCP协议将会为你排好序。UDP不提供任何有序性或序列性的保证。数据包将以任何可能的顺序到达。这就是为什么TCP是适合需要顺序交付方式的应用,尽管有基于UDP的协议通过使用序列号和重传来提供有序和可靠性的应用
4)速度
TCP速度比较慢,而UDP速度比较快,因为TCP必须创建连接,以保证消息的可靠交付和有序性,他需要做比UDP多的多的事。这就是为什么UDP更适用于对速度比较敏感的应用,例如:在线视频媒体,电视广播和多人在线游戏。
5)头大小
TCP具有比UDP更大的头。一个TCP数据包报头的大小是20字节,每行32位,5行。UDP数据报报头是8个字节,每行32位,2行。TCP报头中包含序列号,ACK号,数据偏移量,保留,控制位,窗口,紧急指针,可选项,填充项,校验位,源端口和目的端口。而UDP报头只包含长度,源端口号,目的端口,和校验和。
7)TCP有流量控制。在任何用户数据可以被发送之前,TCP需要三数据包来设置一个套接字连接。TCP处理的可靠性和拥塞控制。另一方面,UDP不能进行流量控制
四、总结ip分类以及每个分类可以分配的IP数量
A类地址
以0开头的地址,子网掩码为8位,范围:0.0.0.0-127.255.255.255,网络数量126(不能是0和127),可分配的ip数量2^24-2,私有地址10.0.0.0/8
B类地址
以10开头的地址,子网掩码为16位,范围:128.0.0.0-191.255.255.255,网络数量214,可分配的ip数量216-2,私有地址172.16.0.0/12
C类地址
以110开头的地址,子网掩码为24位,范围:192.0.0.0-223.255.255.255,网络数量2^21,可分配的ip数量254,私有地址192.168.0.0/16
D类地址
以1110开头的地址,组播地址,范围:224.0.0.0-239.255.255.255
E类地址
以1111开头的地址,为保留地址
五、总结IP配置方法
1,命令修改
ifconfig
实例
#禁用eth1网卡
ifconfig eth1 down
#配置IP地址
ifconfig eth1 192.168.1.125/24
#清除IP地址
ifconfig eth1 0.0.0.0
#保留原地址虚拟一个新的IP地址2
ifconfig eth1:2 192.168.1.126/24
#删除虚拟的地址2
ifconfig eth1:2 down
ip
实例
#修改网卡名为ens33的IP地址为192.168.232.100
ip addr add 192.168.232.100/24 dev ens33
#保留原地址虚拟一个新的IP地址2(ip addr add 缩写为ip a a)
ip a a 192.168.232.101/24 dev ens33 label ens33:2
#删除一个ens33上的10.10.10.10的IP地址
ip a d 10.10.10.10/24 dev ens33
#清除ens33上的所有IP地址
ip a f dev eth1
2,工具修改
永久配置IP地址(红帽专用),这种方式虽然简单,但是不建议使用这种方式。
setup工具的安装和配置
1、安装setuptool
#yum install setuptool
2、安装防火墙设置
yum install system-config-securitylevel-tui
3、安装网络设置
#yum install system-config-network-tui
4、安装系统服务管理
#yum install ntsysv
安装完成之后,
运行 setup命令,然后就可以进入setup操作界面了
1.输入setup命令
2.选择网络服务
3.进行设备配置
4.进行相关参数配置
5.保存后
执行 service network restart(centos8用这条命令重启 nmcli d reapply ens33)
命令重启网络服务
3,文件修改
ubuntu,网络配置文件在这个目录下
```bash
/etc/network/interfaces
centos一般网络配置文件是在这个目录下面,网卡名可能不一样,centos6默认是eth0,centos7,8默认是ens33
/etc/sysconfig/network-scripts/
4,图形化界面修改
linux图形化修改与win系统类似(有手就行系列就不细说)