服务器网络与系统基础-面试题

服务器网络与系统基础 --- 面试题精选

覆盖范围: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和子网掩码,如何计算网络地址和可用主机范围?

计算步骤

  1. IP地址与子网掩码做按位与运算 → 得到网络地址
  2. 主机号全为0 → 网络地址(不可用)
  3. 主机号全为1 → 广播地址(不可用)
  4. 中间的就是可用主机范围

未划分子网时的默认子网掩码

  • A类:255.0.0.0(/8)
  • B类:255.255.0.0(/16)
  • C类:255.255.255.0(/24)

五、网关、路由器与DNS

Q13:网关的作用是什么?网关和路由器是什么关系?

  • 网关 :网络通信的唯一出口,请求发出和数据返回都要经过它,主要作用是协议转换
  • 在小型网络中,路由器就是网关
  • 路由器的三大作用
    1. 为机器分配IP地址(DHCP)
    2. 规划网络请求的路线
    3. 连接不同的网络

Q14:DNS是什么?域名解析的过程是怎样的?(高频面试题 ⭐)

DNS(Domain Name System):域名解析系统,将域名转换为IP地址。

域名本质上是IP地址的别名,访问域名实质就是访问其对应的IP地址。

浏览器输入 http://www.baidu.com 的解析过程

  1. 浏览器先查本地DNS缓存
  2. 没找到则查操作系统 hosts 文件
  3. 还没找到则向本地DNS服务器(通常由运营商提供)发起查询
  4. 本地DNS服务器依次查询:根域名服务器 → 顶级域名服务器(.com) → 权威域名服务器(baidu.com)
  5. 获取到IP地址后返回给浏览器
  6. 浏览器与该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到页面展示,中间发生了什么?(高频综合题 ⭐)

这道题综合了以上多个知识点:

  1. DNS解析:浏览器缓存 → hosts文件 → 本地DNS服务器 → 根域名 → 顶级域名 → 权威域名服务器,获取目标IP
  2. TCP三次握手:浏览器与服务器(IP:80或443)建立TCP连接
  3. 发送HTTP请求:浏览器构造HTTP请求报文发送给服务器
  4. 服务器处理并响应:服务器接收请求,处理后返回HTTP响应
  5. 浏览器渲染:解析HTML、CSS、JS,渲染页面
  6. TCP四次挥手:数据传输完成后断开连接(或保持长连接)
相关推荐
Cx330❀3 小时前
【MySQL基础】一文吃透“表的约束”:从 Null/Default 到主外键的终极安全法则
linux·服务器·数据库·c++·mysql·安全
程序员JerrySUN3 小时前
Jetson 刷机深度解析:flash.sh vs l4t_initrd_flash.sh(含安全与磁盘加密对比)
linux·网络·arm开发·安全·系统安全
aduzhe3 小时前
关于lib文件格式(keil/unix)
服务器·unix
视觉AI4 小时前
VS Code Remote-SSH 连接Jetson踩坑完整解决记录(网段不通+主机密钥变更双重故障)
运维·网络·人工智能·windows·ssh·边缘计算
银河麒麟操作系统4 小时前
闸机高效稳跑,通勤提速升级!银河麒麟赋能北京轨交新基建
运维·服务器·安全·交通物流
明志数科4 小时前
人形机器人格斗场景下的技术挑战:动力学控制、感知融合与实时决策
网络·数据库
蜡台4 小时前
Linux Python 安装使用
linux·运维·服务器
酉鬼女又兒4 小时前
零基础入门 DeepSeek V4 Pro API 开发:从环境搭建、消息格式规范到翻译函数实战、少样本提示、多轮对话聊天机器人与常见报错全流程详解指南
大数据·网络·数据库·人工智能·macos·机器人·github
欧神附体1234 小时前
在虚拟机中添加网卡,修改网卡名并关闭SElinux
linux·服务器·网络