当我关闭以太网时会发生什么?关闭以太网后操作系统将执行哪些步骤?

当我关闭以太网时会发生什么?关闭以太网后操作系统将执行哪些步骤?

我想知道关闭以太网后实际会发生什么。操作系统在网络层做什么?它会刷新路由表或类似的东西吗?

答案1

Linux 内核通过struct net_device(结构网络设备)。每个struct net_device都有一组struct net_device_ops应该由设备驱动程序实现的。其中最重要的是:

  • ndo_open()。当您将以太网适配器设置为 ON ( ip link set up dev <eth_dev>) 时调用。
  • ndo_start_xmit()。当您开始通过接口传输数据时调用。
  • ndo_stop()。当您将以太网适配器设置为 OFF( ip link set down dev <eth_dev>) 时调用。

那么,当设备宕机时到底会发生什么?

大多数驱动程序都实现了一组例程:

  • 停止与特定设备相关的所有队列。
  • 清除与特定设备相关的 ARP 表条目。
  • 将接口状态标记为DOWNip link show dev <eth_dev>)。
  • 设备特定功能:清除一些结构、缓冲区、将以太网控制器芯片移至睡眠状态...

相关内容