为什么路由器没有关机过程?

为什么路由器没有关机过程?

我非常清楚为什么要正确关闭计算机而不是直接拔掉电源插头……但这正是我们的路由器出现故障时我们被告知要做的。

为什么路由器对这种滥用的容忍度更高?

答案1

实际上,复杂的路由器确实有一个关机过程,特别是如果它们有自定义固件,例如 OpenWRT。

家用路由器的价格通常低于 100 美元,结构简单。它们没有动态状态。它们的唯一工作是按照既定模式(程序)处理网络连接,所有配置都存储在 EEPROM 芯片中,该芯片方式与计算机使用的磁盘相比,它更具故障安全性,因此只需拔掉普通路由器(但不是那些高端路由器!!)的插头就不会造成任何损害。

此外,计算机几乎一直都在读取和写入非易失性存储器,因此它应该在切断电源之前完成所有操作。相反,路由器只在启动时读取配置,并在您更改配置时(通过 Web 等)写入配置,因此其动态状态不可能被中断。

事实上,在路由器不断写入存储(例如在升级固件时)时切断电源是危险的。在这种情况下,您的路由器很可能会变砖。

如果你在更改设置时设法切断路由器的电源,那么你实际上可能会弄乱路由器。如果你能定时准确:)通常,错误的配置文件会被默认检测并覆盖,因此除了配置丢失之外,您可能无法观察到任何内容。

答案2

如果将路由器与计算机进行比较,您会发现它具有非常基本的硬件布局,主要由 CPU、ROM(带有固件)、一些 RAM 和一些实际的 R/W 内存(主要是 EEPROM)组成,仅用于读取/写入配置(仅在启动和手动保存文件时才会发生)。

因此,如果您切断电源,最糟糕的情况就是配置文件损坏 - 路由器很可能会检测到该文件,并用存储在其 ROM 中的配置文件覆盖该文件。除非您升级固件,否则 ROM 本身无法更改,如果您在升级时重置设备,则很可能会使设备完全变砖。

答案3

因为路由器没有需要保存的动态状态(例如打开的文件)来实现干净关机。

答案4

为什么路由器对这种滥用的容忍度更高?

因为,与其他嵌入式系统一样,它们被设计为能够承受突然关机和断电。即使是嵌入式 Linux 也可以针对这种情况进行构建:根文件系统可以存在于 initramfs(RAM 磁盘的改进版本)中,但存储在闪存中;该系统的运行方式类似于从 LiveCD 运行的桌面 Linux。需要在重启时保存的数据将被写入非易失性存储器,例如使用日志文件系统例如 UBIFS。
请参阅UBI/UBIFS 常见问题解答:“UBIFS 是一个日志文件系统,它可以容忍突然崩溃和非正常重启”并且“可以容忍断电,并且在设计时就考虑到了这一特性”。

相关内容