一、网络基础类面试题
1.简述ISO/OSI七层模型(理论模型)的分层与作用
ISO:国际标准化组织
OSI:开放系统互联
第7层应用层:为用户提供服务,给用户一个操作界面
第6层表示层:数据提供表示、加密(分为对称加密和非对称加密,一般用非对称加密,如ssh远程连接)、压缩
第5层会话层:确定数据是否需要进行网络传递
第4层传输层
对报文进行分组(发送时)、组装( 接收时)
提供传输协议的选择:(会问TCP、UDP那个好?各有好处,分开答)
TCP( 传输控制协议 ) :可靠的(可靠,准确) ,面向连接的传输协议(慢)
UDP( 用户数据报协议) : 不可靠的(快),面向无连接的传输协议(不可靠)
端口封装(源端口、目的端口)
差错校验(收到错的包?TCP会告诉发送方,UDP会丢掉)
第3层网络层:
IP地址编址(源IP、目的IP是唯一的,用于跨网段访问)
路由选择:(哪个好?)
静态路由(对路由器对消耗小、效率高,配置复杂,适合路由器少的网络)
动态路由(会考虑带宽、路径,配置简单、会计算开销,需要消耗CPU运算)
分组转发
第2层数据链路层:
MAC地址编址(物理地址,用于同网段(局域网)访问)
MAC地址寻址
差错校验
第1层物理层:
数据实际传输
电气特性定义(决定那根线传输数据等)
2.TCP/IP四层模型(实际应用模型)与作用?
TCP/IP四层模型是指互联网协议套件中的四个层级,分别是网络接口层、网际(网络)层、传输层和应用层。
网络接口层:负责将网络数据分割为数据包并在物理网络上发送。它定义了数据包如何在物理网络上进行传输,包括物理接口、数据链路层协议等。
网际层:主要处理数据包的路由和转发。它负责将数据包从源主机传输到目标主机,通过IP地址来标识主机和网络。网际层使用路由表来确定传输路径,并通过网络层协议(如IP协议)来处理数据包的传输。
传输层:提供端到端的通信服务,确保数据在源和目标主机之间的可靠传输。传输层协议(如TCP和UDP)负责将数据划分为数据段,并提供错误检测、流量控制和拥塞控制等机制。
应用层:为应用程序提供网络服务。应用层协议(如HTTP、FTP和SMTP)定义了应用程序如何在网络上通信,并提供特定的功能和服务,如文件传输、电子邮件和网页浏览等。
TCP/IP四层模型的作用是确保互联网上的数据能够在不同的网络设备和协议之间进行有效传输和通信。通过分层的结构,可以使不同层次的协议相互独立,提高了网络的可靠性和可扩展性。
3.TCP协议与UDP协议工作在哪一层,作用是什么?
TCP协议(Transmission Control Protocol)和UDP协议(User Datagram Protocol)是两种常用的传输层协议,用于在计算机网络中实现数据传输。
TCP协议的作用是提供可靠的数据传输。它通过将数据分割为多个小的数据包,并使用序列号和确认机制来保证数据的可靠传输。TCP协议还提供流量控制、拥塞控制和错误恢复等功能,以确保数据在网络中按顺序到达,并且不丢失或损坏。
UDP协议的作用是提供快速的数据传输。与TCP协议不同的是,UDP协议不提供数据的可靠性保证,数据包的传输可能会出现丢失或乱序。UDP协议适用于一些实时性要求高、对数据可靠性要求较低的应用,例如视频流、音频流和在线游戏等。
总结来说,TCP协议适用于对数据可靠性要求较高的应用,而UDP协议适用于对实时性要求较高的应用。
4.简述TCP三次握手的过程
TCP三次握手是用于建立TCP连接的一种协议,过程可以简述如下:
第一次握手:客户端向服务端发送一个SYN(同步)报文段,该报文段中包含客户端的初始序列号。这表明客户端希望建立连接。
第二次握手:服务端收到客户端的SYN报文段后,会向客户端发送一个SYN+ACK(同步确认)报文段,其中的ACK表示接收到了客户端的SYN报文段,而SYN表示服务端也希望建立连接,并将服务端的初始序列号包含在报文段中。
第三次握手:客户端收到服务端的SYN+ACK报文段后,会向服务端发送一个ACK(确认)报文段,表示客户端接收到了服务端的SYN+ACK报文段。此时双方的连接就建立起来了。
在这个过程中,每次握手都需要等待对方的回应,以确保双方都能够正确地接收到对方的信息。这样可以保证连接的可靠性和正确性。
5.简述TCP包头的内容
TCP包头是TCP协议中的一部分,用于在数据传输过程中进行控制和管理。它包含以下内容(主要的是序列号、确认号和标志位):
源端口号和目的端口号: 源端口号表示发送端的应用程序的端口号,目的端口号表示接收端的应用程序的端口号。通过端口号来确定数据属于哪个应用程序。
序列号和确认号: 序列号表示发送方发送的数据的字节流编号,确认号表示接收方期望接收的下一个字节流编号。通过序列号和确认号来实现可靠数据传输。
标志位: TCP包头中有6个标志位,用来控制TCP连接的建立、终止和管理。其中常见的标志位有SYN、ACK和FIN等。
窗口大小: 窗口大小表示接收方能够接收的数据量。通过动态调整窗口大小可以实现流量控制,保证发送方不会发送过多的数据导致接收方无法处理。
校验和: 校验和用于检验TCP包头和数据在传输过程中是否出现错误。接收方通过校验和来验证数据的完整性。
紧急指针: 紧急指针用于指示紧急数据的位置,当发送方需要发送紧急数据时,可以通过紧急指针来告知接收方。
选项字段: 选项字段是可选的,用于扩展TCP协议的功能。常见的选项包括最大报文段长度(MSS)和窗口扩大因子等。
TCP包头的长度为20字节,如果存在选项字段,则会根据选项的长度进行扩展。通过解析TCP包头的内容,可以控制和管理TCP连接的建立、传输和终止。
6.简述TCP四次挥手的过程
TCP四次挥手是指在TCP连接断开时,双方进行的一系列关闭连接的步骤。过程如下:
主动关闭方发送FIN报文段:主动关闭方向被动关闭方发送一个FIN报文段,该报文段表示主动关闭方已经没有数据要发送了,并且请求被动关闭方关闭连接。
被动关闭方发送ACK报文段:被动关闭方接收到FIN报文段后,发送一个ACK报文段作为确认。此时,被动关闭方进入CLOSE_WAIT状态,表示被动关闭方已经准备好关闭连接。
被动关闭方发送FIN报文段:被动关闭方检测到没有数据要发送后,发送一个FIN报文段给主动关闭方,表示被动关闭方也要关闭连接。
主动关闭方发送ACK报文段:主动关闭方接收到FIN报文段后,发送一个ACK报文段作为确认,表示主动关闭方已经知道被动关闭方也要关闭连接了。此时,主动关闭方进入TIME_WAIT状态,等待一段时间后关闭连接。
这样,双方都知道对方要关闭连接,并完成了关闭连接的过程。
总结(与三次握手的区别): TCP握手是在建立TCP连接时的三次交互过程,确保双方都能正常通信; TCP挥手是在关闭TCP连接时的四次交互过程,确保双方都能安全关闭连接。
二、面试原题
1.172.22.141.231/26,该IP位于哪个网段?该网段拥有多少可用IP地址?广播地址是什么 ?
考察知识点
子网掩码的作用:
子网掩码必须和IP地址成对出现,否则没有意义
子网掩码是用于给IP地址划分网络地址与主机地址的
和子网掩码1对应的IP地址,代表网络位;和子网掩码0对应的IP地址,代表主机位
子网中只要1是连续的,就是合理子网掩码
IP地址与子网掩码划分:
网络地址与广播地址的概念:
子网掩码为255.255.255.192(26指的是子网掩码中1的个数),计算网段可用IP地址数量的方法是通过子网掩码中主机位的数量来确定。子网字数有4个。子网掩码的主机位有6个(26位子网掩码 - 24位网络地址-2)。因此,可用IP地址的数量为2的6次方减二,即62个。广播地址是该网段的最后一个地址,它用于广播数据到该网段的所有设备。广播地址为172.22.141.255。
所以该IP位于网段172.22.141.192/26。 该网段拥有62个可用IP地址。 广播地址为172.22.141.255。
2.类似IP地址计算
3.IP地址分类
在A类划分中会排除0.0.0.0和127.x.x.x,因为127.0.0.0
作为{127}
集合中的一员,当然也是个回环地址。只不过127.0.0.1
经常被默认配置为localhost的IP地址。一般会通过ping 127.0.0.1
来测试某台机器上的网络设备是否工作正常。而0.0.0.0
是不能被ping
通的。在服务器中,0.0.0.0
并不是一个真实的的IP地址,它表示本机中所有的IPV4地址。监听0.0.0.0
的端口,就是监听本机中所有IP的端口。
4.私有IP地址的作用
私有IP地址是用于在局域网内部进行通信的地址,它的作用如下:
节省公共IP地址资源:公共IP地址是有限的资源,私有IP地址可以在局域网内部重复使用,从而节省了公共IP地址资源的消耗。
提供内网通信:私有IP地址用于局域网内部的设备之间进行通信,包括局域网内部的计算机、服务器、打印机、路由器等设备之间的通信。
提供网络安全功能:私有IP地址可以增强网络的安全性。通过使用网络地址转换(NAT)功能,将私有IP地址转换为公共IP地址,在局域网内部和公共网络之间提供一定的隔离,减少了外部攻击的风险。
支持内部服务和资源共享:私有IP地址可以用于内部服务和资源的共享,例如提供文件共享、打印共享、内部网站访问等功能。
总的来说,私有IP地址的作用是在局域网内部提供内部通信、安全性、服务和资源共享等功能。