网络基础 linux系统定制网卡名

一、网络基础 

1. OSI 七层 vs TCP/IP 四层模型对比

(1)分层结构对照

OSI 七层(自上而下)
  1. 应用层:为应用程序提供网络服务(HTTP、FTP、DNS)
  2. 表示层:数据加密、解密、编码、格式转换、压缩
  3. 会话层:建立 / 维护 / 断开应用会话,同步会话
  4. 传输层:端到端流量控制、差错校验、端口区分(TCP/UDP)
  5. 网络层:寻址、路由、跨网段转发(IP、ICMP)
  6. 数据链路层:帧封装、MAC 寻址、差错检测(以太网、ARP)
  7. 物理层:比特流传输、硬件电气标准(网线、网卡、集线器)
TCP/IP 四层(行业实际标准)
  1. 应用层:合并 OSI 应用 + 表示 + 会话层,直接面向应用(HTTP、SSH、DNS)
  2. 传输层:和 OSI 传输层功能一致(TCP、UDP)
  3. 网际层(互联网层):等价 OSI 网络层(IP、ICMP、ARP)
  4. 网络接口层(主机 - 网络层):合并 OSI 数据链路 + 物理层,负责帧与比特流收发

(2)两种模型定位

  • OSI 七层模型:纯理论标准,国际标准化组织 ISO 制定。用于教学、理论分析、设备分层设计参考;分层细致逻辑严谨,但协议实现复杂,现实无完整设备严格遵循七层。
  • TCP/IP 四层模型:实践标准,基于互联网原生协议栈。所有操作系统、路由器、交换机、互联网全部基于该模型;分层精简贴合实际协议,是生产环境唯一落地标准。

2. 数据封装与解封装

(1)发送端封装(从上到下逐层加头部,数据链路层加尾部 FCS 校验)

  1. 应用层:应用数据(原始数据,如网页文本)
  2. 传输层:添加 TCP/UDP 头部(源端口、目的端口、序列号等)→ 段 (Segment)
  3. 网络层:添加 IP 头部(源 IP、目的 IP、TTL、协议号)→ 包 (Packet)
  4. 数据链路层:添加 MAC 头部(源 MAC、目的 MAC)+ 尾部 FCS 校验 → 帧 (Frame)
  5. 物理层:帧转换为二进制比特流,通过网线传输

(2)接收端解封装(自下而上逐层剥离头部,校验丢弃错误数据)

  1. 物理层:接收比特流,重组完整帧,上交数据链路层
  2. 数据链路层:校验 FCS,出错直接丢弃;剥离 MAC 头部
  3. 网络层:校验 IP 头部,剥离 IP 头部
  4. 传输层:校验 TCP/UDP 头部,剥离传输头
  5. 应用层:交付原始数据给对应应用程序

(3)链路层、网络层判断处理方式

  1. 数据链路层
    读取帧头部以太类型字段
    • 0x0800:上层是 IPv4 数据包,上交网络层 IP 模块;
    • 0x0806:ARP 报文,交由 ARP 协议处理;
    • 0x86DD:IPv6 报文,交给 IPv6 协议栈。
  2. 网络层(IP 头部)
    读取 IP 头部协议号
    • 6:TCP 协议,上交 TCP 传输模块;
    • 17:UDP 协议,上交 UDP 传输模块;
    • 1:ICMP 协议,交由 ICMP 处理。

3. 通信模式 & 双工机制

(一)单播 / 广播 / 组播

  1. 单播 Unicast
    定义:一对一通信,目标地址唯一一台主机。
    特点:点对点传输;仅目标主机接收;占用带宽小;日常网页、SSH、文件传输均为单播。
  2. 广播 Broadcast  广播/播送
    定义:一对所有,目标 MAC/IP 为广播地址,本网段全部主机接收。
    特点:同一广播域所有设备都会处理报文;极易产生广播风暴;典型:DHCP 请求、ARP 广播。
  3. 组播 Multicast
    定义:一对一组,仅加入对应组播组的主机接收数据。
    特点:跨网段可路由;不打扰无关主机;多用于视频直播、监控流、PTP 时钟同步。

(二)单工 / 半双工 / 全双工

  1. 单工
    单向传输,一端只能发、一端只能收,不能反向通信。例:广播收音机、电视信号。
  2. 半双工
    两端均可收发,但同一时刻只能单向传输,收发互斥,存在冲突。例:老式对讲机、集线器 Hub。
  3. 全双工
    收发通道独立,两端可同时收发数据,无冲突,带宽翻倍。例:交换机、现代网卡。

异同总结

相同点:三者都支持双向数据交互(单工除外);
差异:传输并行能力不同:单工单向;半双工分时单向;全双工双向并行。

4. mii-tool vs ethtool 网卡工具  4. mii-tool 与 et 的对比

(1)速率与使用限制差异

  1. mii-tool
    • 老旧工具,仅支持百兆、千兆基础协商;不支持万兆、25G、40G、100G 高速网卡;
    • 仅操作 MII 总线以太网设备;不支持查看网卡高级参数(中断、队列、Offload、光模块信息);
    • 新版 Linux 逐步弃用,Rocky/CentOS8 + 默认不预装。
  2. ethtool
    • 现代标准网卡工具,支持 10M/100M/1G/10G/25G/40G/100G 电口、光口;
    • 可查看硬件参数、中断、RSS 队列、offload、光模块、统计丢包;
    • 支持修改速率、双工、自动协商,所有主流发行版默认自带。

(2)查看 ens160 物理链路状态

ethtool ens160

(3)强制 1000Mbps、全双工、关闭自动协商

ethtool -s ens160 speed 1000 duplex full autoneg off

5. Hub、交换机、路由器分层与转发逻辑

(1)OSI 分层

  • 集线器 Hub:物理层设备,只转发比特流,无 MAC/IP 识别;
  • 交换机 Switch:数据链路层设备,基于 MAC 地址转发帧;
  • 路由器 Router:网络层设备,基于 IP 地址跨网段路由数据包。

(2)交换机未知目的 MAC 处理流程

收到帧后查询本地 MAC 地址表:
  1. 表中无目的 MAC 条目 → 泛洪(广播转发)
  2. 除接收帧的入端口外,向交换机所有其他端口转发该数据帧。

(3)冲突域 & 广播域隔离对比

  1. 冲突域:同一线路同时发数据产生冲突的范围
    • Hub:所有端口同属一个冲突域;
    • 交换机:每个端口独立一个冲突域(隔离冲突域);
    • 路由器:每个接口独立冲突域。
  2. 广播域:广播帧能够到达的设备范围
    • Hub、交换机不能隔离广播域,广播帧会传遍所有端口;
    • 路由器每个接口独立广播域,默认不转发广播报文,隔离广播域。

6. VMware 三种虚拟机网络模式

虚拟网卡对应关系

  • VMnet0:桥接模式(默认绑定物理网卡)
  • VMnet1:仅主机 Host-Only  VMnet1:仅主机模式/仅限主机使用
  • VMnet8:NAT 模式

三种模式特点

  1. 桥接模式(VMnet0)
    虚拟机和宿主机同网段,分配局域网真实 IP;局域网内其他物理机可直接访问虚拟机;虚拟机等同于局域网一台独立物理电脑。
  2. NAT 模式(VMnet8,默认)  NAT 模式(VMnet8)
    独立虚拟子网,宿主机充当 NAT 网关;虚拟机可访问外网 / 局域网物理机,但外部物理机默认无法主动访问虚拟机;最常用,无需占用局域网 IP。
  3. 仅主机 Host-Only(VMnet1)  仅主机模式 Host-Only(VMnet1)
    仅虚拟机与宿主机互通,无法访问外部局域网 / 互联网;隔离环境,用于内网测试、离线开发。

7. 网卡命名规则与配置文件路径

(1)恢复传统 eth0 命名(Rocky9总结步骤如下)

订制网卡的信息 重置网卡的名称
一、红帽下rocky的系统网卡的配置
1.rocky的网卡配置文件
    --/etc/NetworkManager/system-connections/
2.将配置文件下的网卡信息名和文件名修改成 eth0
    --sed -i "s/ens160/eth0/g" ens160-nmconnection
3.手动配置网卡的ip地址(示例)
    --address1=10.0.0.164/24,10.0.0.2
    --dns=10.0.0.2;
    --method=manual
4.配置启动项grub
    --vim /etc/default/grub ##进入配置文件
    --net.ifnames=0 biosdevname=0 ##添加到Linux结尾的行中
5配置rules.d文件
    --vim /etc/udev/rules.d/70-persistent-net.rules
      1--SUBSYSTEM=="net",ACTION=="add"
      2--ATTR{address}=="mac地址"
      3--ATTR{type}=="1",NAME="eth0" 
      ##1 2 3 属于一个网卡的配置
6生效配置文件 
    --grub2-mkconfig -o /etc/grub2.cfg
7.重新启动 --reboot

(2)网卡配置文件路径差异

  1. CentOS7(传统 NetworkManager 兼容 ifcfg)
    CentOS7(兼容传统 NetworkManager 及 ifcfg 配置文件)
    路径:/etc/sysconfig/network-scripts/ifcfg-ens160
  2. Rocky9 / CentOS Stream9(弃用 network-scripts,统一 nmcli)
    • 原 network-scripts 目录仅做兼容,不再推荐;
    • 标准配置存储路径:/etc/NetworkManager/system-connections/
      配置文件后缀为 .nmconnection,权限严格限制。

8. 10.240.0.0/13 子网划分计算

已知网段:10.240.0.0/13,需划分 16 个子网
  1. 计算子网位:需要 16 个子网,2⁴=16,需借 4 位主机位做子网位
  2. 新前缀长度:13 + 4 = /17
  3. 子网掩码点分十进制:/17 → 255.255.128.0
  4. 每个子网总主机位:32-17=15 位,可用主机 = 2¹⁵ - 2 = 32766(减网络地址、广播地址)
  5. 父网段总地址块大小:2^(32-13)=524288;每个子网块大小 524288 ÷ 16 = 32768
1)子网掩码
255.255.128.0
2)每个子网可用主机数
32766 台
3)最小网段 ID、最大网段 ID
父网:10.240.0.0/13,地址范围 10.240.0.0 ~ 10.247.255.255
块大小 32768(第三字节步长 128)
  • 最小子网 Network ID:10.240.0.0/17
  • 最大子网 Network ID:10.247.128.0/17

9. 超网聚合(路由聚合)

(1)超网定义 & 和子网划分区别

  • 超网(路由聚合 / 汇总):将多个连续同掩码小网段,合并为一条大的汇总路由,减少路由表条目,降低路由器开销。通过缩短前缀长度实现。
  • 子网划分:借网络位延长前缀(/16 → /24),拆分大网为多个小子网;
  • 超网聚合:归还子网位缩短前缀(多个 / 24 合并为 / 21),合并多个子网为一个大网;二者操作完全相反。

(2)220.78.168.0/24 ~ 220.78.175.0/24 8 个网段聚合计算

  1. 第三段地址:168、169、170、171、172、173、174、175,共 8 个 C 类 / 24 网段
  2. 2³=8,需要 3 位作为块标识,汇总前缀 = 24 - 3 = /21
  3. 块大小:2^(24-21)=8,刚好容纳 8 个 / 24
  4. 取最小网段 220.78.168.0 作为汇总网络 ID
  5. 最终聚合超网:220.78.168.0/21

二、Linux 系统启动流程 8 大题完整解答

1. Linux 五大启动阶段(通电到登录界面)

  1. BIOS/UEFI 上电自检 POST
    通电后固件初始化硬件 CPU、内存、硬盘、外设;检测硬件故障;读取启动顺序,找到可引导磁盘。
  2. Bootloader 引导加载器(GRUB2)
    读取磁盘分区引导扇区;展示内核选择菜单;加载内核 vmlinuz 与临时根 initramfs 到内存。
  3. 内核解压与初始化
    内核解压运行;驱动 initramfs 内硬件驱动,识别真实硬盘、文件系统;挂载临时根文件系统。
  4. 切换真实根,启动 systemd/init 进程
    内核执行切换根操作,卸载临时 initramfs;启动 PID=1 的 systemd(CentOS7+),系统初始化入口。
  5. 系统服务启动 + 登录界面
    systemd 并行启动所有 target、系统服务、网络、挂载;启动显示管理器(gdm/lightdm)或终端 getty,弹出登录界面。

2. BIOS vs UEFI 四维度对比  2. BIOS 与 UEFI 的对比

表格
对比维度传统 BIOS现代 UEFI
磁盘分区支持仅 MBR 分区表,单盘最大 2TB,最多 4 主分区支持 GPT 分区表,单盘 9.4ZB,128 主分区,突破容量限制
启动速度串行初始化硬件,自检慢;磁盘寻址低效并行硬件初始化;内置驱动;预加载,启动速度大幅提升
启动逻辑16 位实模式;依赖磁盘引导扇区 512 字节限制;无分区文件系统识别32/64 位保护模式;内置文件系统驱动,可直接读取分区内 GRUB 配置;独立 ESP 系统分区存放引导文件
安全性无安全校验,恶意引导程序可篡改系统支持 Secure Boot 安全启动;校验内核、引导程序数字签名,阻止未签名恶意代码加载

3. Bootloader 作用与常见类型

核心作用

  1. 硬件初始化简易环境;
  2. 提供多内核选择菜单;
  3. 从磁盘读取内核 vmlinuz 与 initramfs 镜像加载至内存;
  4. 传递内核启动参数,移交 CPU 执行内核。

常见 Linux Bootloader(除 GRUB2)
常见的 Linux 引导加载程序(GRUB2 除外)

  1. GRUB Legacy(GRUB1,CentOS6 及更早使用)
    GRUB Legacy(GRUB1,CentOS6 及更早版本所使用)
  2. LILO(老旧发行版引导器,现已淘汰)
  3. Syslinux / ISOLINUX(U 盘、光盘启动盘专用)
  4. U-Boot(嵌入式 ARM 开发板专用引导加载器)

4. vmlinuz、initramfs 作用与切换根流程

(1)两个镜像作用

  • vmlinuz:压缩后的 Linux 内核主体,包含进程调度、内存管理、基础系统逻辑;缺少磁盘、RAID、LVM、文件系统驱动。
  • initramfs:小型临时根文件系统,内置磁盘控制器、LVM、加密卷、文件系统驱动;内核启动初期无硬件驱动,依靠它识别本地磁盘。

(2)initramfs 完整工作流程  (2)initramfs 完整无缺

  1. GRUB2 将 vmlinuz 与 initramfs 载入内存,内核解压运行;
  2. 内核挂载内存中的 initramfs 作为临时根;
  3. 运行 init 脚本,加载硬盘 RAID、LVM、ext4/xfs 等驱动;
  4. 扫描磁盘,识别存放真实系统的根分区;
  5. 激活逻辑卷、解密加密磁盘,挂载真实磁盘根文件系统
  6. 执行switch_root系统调用:清空临时 initramfs,将系统根切换到物理硬盘;
  7. 启动真实系统 PID1 进程(systemd),临时内存文件系统销毁。

5. SysV 运行级别 ↔ systemd Target 映射

(1)运行级别对应关系

表格
SysV Runlevel  SysV 运行级别含义对应 systemd target  对应于 systemd 的目标/配置项
0关机poweroff.target
1单用户救援模式rescue.target
2无网络多用户multi-user.target(无网络服务)
3字符多用户(服务器默认)multi-user.target
4保留未使用multi-user.target
5图形桌面模式graphical.target  graphic.target
6重启reboot.target

(2)systemd 两大核心 target

  1. multi-user.target:字符界面多用户,服务器默认核心目标;
  2. graphical.target:图形桌面界面,工作站使用。

(3)查看 / 修改默认启动目标

# 查看默认启动target
systemctl get-default

# 修改为字符模式
systemctl set-default multi-user.target

# 修改为图形模式
systemctl set-default graphical.target

6. systemd-analyze 启动耗时分析命令

查看整体启动总耗时

systemd-analyze

按耗时排序列出所有服务(最耗时在前)

systemd-analyze blame

输出启动关键时序链路(链式启动依赖)

systemd-analyze critical-chain
生成可视化 HTML 启动图表
systemd-analyze plot > boot-time.html
将生成的 boot-time.html 用浏览器打开,直观查看各服务启动时间轴。

7. SysV chkconfig 注释行 # chkconfig: 2345 90 60 详解

  1. 2345:运行级别,表示该服务在 2、3、4、5 级别开机自启动;0/1/6 不自动启动。
  2. 90:启动优先级(S 编号),开机启动脚本软链接为S90服务名;数字越小越早启动。
  3. 60:关闭优先级(K 编号),关机 / 切换级别停止脚本软链接为K60服务名;数字越小越先关闭。

和 rc.d 软链接关系

执行chkconfig --add 服务名时,系统自动在对应级别 rc 目录创建软链接:
  • /etc/rc.d/rc2.d/rc3.d/rc4.d/rc5.d 创建 S90xxx 开机启动链接;
  • /etc/rc.d/rc0.d/rc1.d/rc6.d 创建 K60xxx 关机停止链接。

8. 内核 /initramfs 丢失救援修复

1)重建 initramfs 命令

CentOS6(SysV、dracut 旧版)

mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

Rocky 9/10、CentOS7+(统一 dracut 工具)
Rocky 9/10、CentOS7+(使用统一的 dracut 工具)

dracut -f /boot/initramfs-$(uname -r).img $(uname -r)

2)光盘救援模式修复步骤

  1. 插入系统安装光盘 / ISO 镜像,从光盘引导;
  2. 启动菜单选择 TroubleshootingRescue a Rocky/CentOS system 进入救援模式;
  3. 程序自动扫描本地系统分区,提示挂载本地系统至 /mnt/sysimage,选择 Continue;
  4. 切换至真实系统根环境:chroot /mnt/sysimage
  5. 修复方案二选一:
    • 丢失 vmlinuz:从光盘 Packages 内核包提取内核文件复制到 /boot;
    • 丢失 initramfs:执行 dracut/mkinitrd 重新生成镜像;
  6. 修复 GRUB 引导:grub2-mkconfig -o /boot/grub2/grub.cfg
  7. 退出 chroot:exit;卸载磁盘,重启服务器,拔出光盘从本地硬盘引导。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值