📡 第一章 网络硬件通用基础知识
📄 一句话概括

网络设备的操作系统与电脑的操作系统是两回事:它没有通用进程、没有文件系统,核心是「配置管理 + 协议栈 + 转发控制」。 命令行分层的本质是防误操作,配置不保存就等于没配。

📝 本节和前面几节的关系

上一节看灯,这一节进设备内部看软件。 这一节与 03.09「设置操作系统时使用的命令和模式」是同一主题的两次出现:这里讲结构, 那里讲路由器的具体命令。

一、设备操作系统里有什么

① 配置管理:把命令行或网管下发的配置解析成内部状态。 ② 协议栈:生成树、路由协议、LLDP、SNMP 等。 ③ 转发控制:把算出来的表写进芯片(这是与普通 OS 最大的不同)。 ④ 监控与日志:计数器、告警、日志外发。

注意第三条:普通操作系统的内核管进程与内存,网络设备的内核管「把表写进芯片」。 这就解释了为什么配置生效有延迟——下发是异步的。

二、命令行为什么分层

四层模式:用户模式看、特权模式管、全局配置改参数、接口配置改单个口。 分层的目的是防误操作:改配置必须「多说两句话」,这两句话的代价换来不手滑。

还有一个实际好处:分层让提示符自带上下文。 看到 (config-if)# 就知道接下来的命令只影响一个接口,不会影响全局。

三、配置的三种状态

运行配置(running):在内存里,立即生效,重启即失。 启动配置(startup):在 NVRAM 里,重启时加载。 备份配置:导出到外部,用于回滚。

三者关系:改配置只改 running;write 或 copy run start 之后才写 startup。 「配置明明改了怎么又回去了」——十次有九次是忘了这一步。

四、动手 Demo:模式切换是个状态机:四层与各自的提示符

这段把四层模式、各自的提示符、进入下一层的命令列成表,再模拟走一遍。

modes = [(u"用户模式", u"Router>", u"只看", u"enable"), ...]
for step in (u"enable", u"configure terminal", u"interface g0/1"):
    print(step)

实跑输出:

--------------------------------------------------------------------
设备操作系统里的模式切换,其实是个状态机
--------------------------------------------------------------------
**网络设备的命令行不是「一条命令一个功能」,而是分层的模式。**
书里 03.09 讲路由器的命令与模式,其实交换机也一样。四层模式:

  模式         提示符                 能做什么                   怎么进下一层
  -------------------------------------------------------------------------------------
  用户模式     Router>                只看,不能改               enable
  特权模式     Router#                看全部、可保存、可重启     configure terminal
  全局配置     Router(config)#        改全局参数                 interface g0/1
  接口配置     Router(config-if)#     改单个接口                 exit/end

**为什么这么设计**:防止误操作。改配置要「多说两句话」,
这两句话的代价换来的是「不会手滑把整个设备改掉」。

  输入 enable               → 特权模式
  输入 configure terminal   → 全局配置
  输入 interface g0/1       → 接口配置

**配置完一定要保存。**很多设备的运行配置在内存里,`write` 或 `copy run start` 之后才写进 NVRAM;
**断电就丢**——这是新手最常见的「明明配好了怎么又变回去了」。

提示符是唯一可靠的「我现在在哪」的判断依据。命令行出错时,先看提示符。

exit 退一层,end 直接回特权模式——这两个命令的区别很多人搞不清, 结果在接口模式里改了全局参数,发现「没生效」。

最后一句要记住:配置完一定保存。write(旧写法)或 copy running-config startup-config。 不保存的配置,断电就没了,而且不会有人提醒你。

30 秒实验

  1. 在一台设备上走一遍四层模式,记住每层的提示符。
  2. 改一个无害的参数(比如接口描述),不保存就重启,看是否回滚。
  3. 比较 exit 与 end 的行为差异。

常见误区

  1. 改完不保存。重启即回滚。
  2. 在接口模式里下全局命令。会报错或被忽略。
  3. 把设备 OS 当 Linux。它没有通用 shell,也没有包管理器。
自测三问(点开对答案) 1. 网络设备 OS 与电脑 OS 最大的不同? —— 它的核心职责之一是把转发表写进硬件芯片。 2. 运行配置与启动配置的区别? —— 运行配置在内存、立即生效、重启即失;启动配置在 NVRAM、重启加载。 3. exit 与 end 的区别? —— exit 退一层,end 直接回特权模式。

下一节:软件讲完,回到硬件——电源与整机功耗怎么估。

相关笔记