服务器网络与系统基础 --- 面试题精选
覆盖范围:IP地址与端口、OSI七层模型、TCP/UDP、三次握手与四次挥手、子网划分、网关与DNS、Linux服务器基础
一、IP地址与端口
Q1:IP地址分为哪几类?各类的地址范围是多少?
| 类别 | 地址范围 | 默认子网掩码 | 适用场景 |
|---|---|---|---|
| A类 | 1.0.0.0 ~ 126.255.255.255 | 255.0.0.0 | 超大型网络,可容纳1600万+主机 |
| B类 | 128.0.0.0 ~ 191.255.255.255 | 255.255.0.0 | 中型网络,可容纳约6.5万主机 |
| C类 | 192.0.0.0 ~ 223.255.255.255 | 255.255.255.0 | 小型网络,最多254台主机 |
| D类 | 224.0.0.0 ~ 239.255.255.255 | --- | 广播地址,不分配给主机 |
| E类 | 240.0.0.0 ~ 255.255.255.255 | --- | 保留地址,不使用 |
快速记忆技巧:将IP第一段转为二进制看前缀:
0开头 → A类10开头 → B类110开头 → C类
Q2:什么是私有IP地址?有哪些保留的内网地址段?
私有IP地址是专门保留给内网使用的,不在公网上路由。三类保留地址:
| 类别 | 私有地址范围 |
|---|---|
| A类 | 10.0.0.0 ~ 10.255.255.255 |
| B类 | 172.16.0.0 ~ 172.31.255.255 |
| C类 | 192.168.0.0 ~ 192.168.255.255 |
追问 :我们公司内网所有人通过一个公网IP上网,这个公网IP通常属于哪类?
回答:C类(192.168.x.x 是内网地址,公网出口IP通常是运营商分配的公网IP)。
Q3:端口的作用是什么?范围是多少?
- 端口是应用在计算机中的唯一标识,用于区分同一台计算机上不同的网络应用。
- 端口范围:1 ~ 65535
- 知名端口(系统端口):1 ~ 1024,很多已被标准应用占用(如 22=SSH、80=HTTP、443=HTTPS、21=FTP)
- 开发端口:项目开发中一般使用 1024 ~ 65535 范围内的端口
Q4:IPv4 和 IPv6 的区别?
| 对比项 | IPv4 | IPv6 |
|---|---|---|
| 位数 | 32位(4字节) | 128位 |
| 地址总数 | 约43亿(可用约36亿) | 接近无限 |
| 表示形式 | 点分十进制(如 192.168.1.1) | 冒号分隔十六进制 |
二、OSI七层模型与TCP/IP四层模型
Q5:OSI七层模型从下到上分别是哪七层?
| 层级 | 名称 | 核心功能 | 典型协议/设备 |
|---|---|---|---|
| 7 | 应用层 | 为用户提供网络服务接口 | HTTP、FTP、DNS、SMTP |
| 6 | 表示层 | 数据格式转换、加密解密、压缩 | SSL/TLS、JPEG |
| 5 | 会话层 | 建立、管理、终止会话 | RPC、SQL |
| 4 | 传输层 | 端到端的可靠数据传输 | TCP、UDP |
| 3 | 网络层 | 路由选择和逻辑寻址 | IP、ICMP、路由器 |
| 2 | 数据链路层 | 物理寻址、帧封装、差错检测 | 以太网、交换机、MAC地址 |
| 1 | 物理层 | 比特流传输 | 网线、光纤、集线器 |
记忆口诀(从下到上):物/数/网/传/会/表/应
Q6:TCP/IP四层模型与OSI七层模型的对应关系?
| TCP/IP四层模型 | 对应OSI层 |
|---|---|
| 应用层 | 应用层 + 表示层 + 会话层 |
| 传输层 | 传输层 |
| 网络层 | 网络层 |
| 网络接口层 | 数据链路层 + 物理层 |
TCP/IP四层模型是OSI七层模型的简化版,是实际工业标准。OSI是理论标准蓝图。
三、TCP与UDP
Q7:TCP和UDP的区别?(高频面试题 ⭐)
| 对比项 | TCP | UDP |
|---|---|---|
| 连接方式 | 面向连接(需三次握手建立连接) | 无连接 |
| 可靠性 | 可靠传输(不丢数据) | 不可靠(可能丢数据) |
| 传输方式 | 基于字节流 | 基于数据报 |
| 速度 | 相对较慢 | 相对较快 |
| 适用场景 | 文件传输、网页浏览、邮件 | 视频直播、语音通话、DNS查询 |
Q8:TCP三次握手的过程是什么?(高频面试题 ⭐)
三次握手用于建立TCP连接:
客户端 服务端
| |
| --- SYN (seq=x) -----> | 第1次:客户端发送SYN,请求建立连接
| |
| <-- SYN+ACK (seq=y, --- | 第2次:服务端回复SYN+ACK,确认请求并同步
| ack=x+1) |
| |
| --- ACK (ack=y+1) ---> | 第3次:客户端发送ACK,确认服务端的SYN
| |
| ===== 连接建立 ======== |
为什么要三次?
- 第一次:服务端确认客户端的发送能力正常
- 第二次:客户端确认服务端的发送和接收能力正常
- 第三次:服务端确认客户端的接收能力正常
- 两次握手无法防止历史失效的连接请求被服务端接受
Q9:TCP四次挥手的过程是什么?(高频面试题 ⭐)
四次挥手用于断开TCP连接:
客户端 服务端
| |
| --- FIN (seq=u) -----> | 第1次:客户端发送FIN,表示没有数据要发送了
| |
| <--- ACK (ack=u+1) --- | 第2次:服务端回复ACK,确认收到FIN
| | (此时服务端可能还有数据要发送)
| |
| <--- FIN (seq=v) ----- | 第3次:服务端发送FIN,表示也没有数据了
| |
| --- ACK (ack=v+1) ---> | 第4次:客户端回复ACK,确认收到FIN
| |
| (等待2MSL后关闭) | (服务端收到ACK后关闭)
为什么断开要四次,而建立只要三次?
- 建立连接时服务端的SYN和ACK可以合并为一次发送
- 断开连接时,服务端收到客户端的FIN后,可能还有数据未发完,所以先回ACK,等数据发完再发FIN,因此需要四次
四、子网划分与子网掩码
Q10:什么是子网掩码?它的作用是什么?
子网掩码用于区分IP地址中的网络号 和主机号:
- 将IP地址与子网掩码进行按位与运算 → 得到网络地址(网络号)
- 将子网掩码按位取反,再与IP地址按位与 → 得到主机号
举例:
IP地址: 200.10.0.34
子网掩码: 255.255.255.128
网络地址: 200.10.0.0 (IP & 子网掩码)
可用主机范围:200.10.0.1 ~ 200.10.0.126
主机号: 34
Q11:为什么要进行子网划分?
- 实际使用中,一个C类网络可容纳254台主机,但很多时候我们用不了这么多
- 不划分子网会造成IP地址浪费
- 子网划分的核心思路:网络号变长,主机号变短,减少每个子网可容纳的主机数,从而不浪费IP地址
Q12:给定IP和子网掩码,如何计算网络地址和可用主机范围?
计算步骤:
- IP地址与子网掩码做按位与运算 → 得到网络地址
- 主机号全为0 → 网络地址(不可用)
- 主机号全为1 → 广播地址(不可用)
- 中间的就是可用主机范围
未划分子网时的默认子网掩码:
- A类:255.0.0.0(/8)
- B类:255.255.0.0(/16)
- C类:255.255.255.0(/24)
五、网关、路由器与DNS
Q13:网关的作用是什么?网关和路由器是什么关系?
- 网关 :网络通信的唯一出口,请求发出和数据返回都要经过它,主要作用是协议转换
- 在小型网络中,路由器就是网关
- 路由器的三大作用 :
- 为机器分配IP地址(DHCP)
- 规划网络请求的路线
- 连接不同的网络
Q14:DNS是什么?域名解析的过程是怎样的?(高频面试题 ⭐)
DNS(Domain Name System):域名解析系统,将域名转换为IP地址。
域名本质上是IP地址的别名,访问域名实质就是访问其对应的IP地址。
浏览器输入 http://www.baidu.com 的解析过程:
- 浏览器先查本地DNS缓存
- 没找到则查操作系统 hosts 文件
- 还没找到则向本地DNS服务器(通常由运营商提供)发起查询
- 本地DNS服务器依次查询:根域名服务器 → 顶级域名服务器(.com) → 权威域名服务器(baidu.com)
- 获取到IP地址后返回给浏览器
- 浏览器与该IP地址的80端口建立HTTP连接
追问 :为什么访问
www.baidu.com时没有端口号?回答:因为默认端口是80,HTTP默认端口可以省略不写。
六、Linux服务器基础
Q15:为什么服务器通常使用Linux而不是Windows?(高频面试题 ⭐)
| 对比项 | Linux | Windows Server |
|---|---|---|
| 体积 | 小(虚拟机中几十M) | 大(动辄十几G) |
| 稳定性 | 高,更新不需重启 | 较低,更新常需重启 |
| 费用 | 免费 | 收费 |
| 安全性 | 较高,开源积百家之长,无统一攻击目标 | 较低,闭源有统一规范,易被针对 |
| 界面 | 无图形界面,命令行操作 | 可视化界面,消耗更多内存 |
| 资源占用 | 极低 | 较高 |
核心原因:轻量、稳定、免费、安全、资源占用低,适合服务器场景。
Q16:什么是虚拟机?VMWare是什么?
- 虚拟机:用软件模拟硬件并具有操作系统的软件系统,具有完整电脑的所有功能,但硬件由软件模拟
- VMWare :不是虚拟机本身,而是虚拟机管理系统,用于创建、安装、编辑(硬盘重分、内存划分、网络设置)和删除虚拟机
Q17:Linux系统的超级管理员用户是什么?
- root,拥有最高权限
- 安装Linux系统时需要为root设置密码
Q18:Linux中查看IP地址的命令有哪些?
bash
# 方式1
ifconfig
# 方式2
ip addr
Q19:常见的远程连接Linux服务器的工具有哪些?
| 工具 | 主要用途 |
|---|---|
| MobaXterm | 连接远程Linux服务器,执行命令操作 |
| Xftp | Windows与Linux之间文件上传下载 |
七、综合应用题
Q20:在浏览器输入URL到页面展示,中间发生了什么?(高频综合题 ⭐)
这道题综合了以上多个知识点:
- DNS解析:浏览器缓存 → hosts文件 → 本地DNS服务器 → 根域名 → 顶级域名 → 权威域名服务器,获取目标IP
- TCP三次握手:浏览器与服务器(IP:80或443)建立TCP连接
- 发送HTTP请求:浏览器构造HTTP请求报文发送给服务器
- 服务器处理并响应:服务器接收请求,处理后返回HTTP响应
- 浏览器渲染:解析HTML、CSS、JS,渲染页面
- TCP四次挥手:数据传输完成后断开连接(或保持长连接)