イーサネットをオフにするとどうなりますか? イーサネットをオフにすると、OS はどのような手順を実行しますか?

イーサネットをオフにするとどうなりますか? イーサネットをオフにすると、OS はどのような手順を実行しますか?

イーサネットをオフにすると実際に何が起こるのか知りたいです。OS はネットワーク層で何を行うのでしょうか? ルーティング テーブルをフラッシュしたり、そのようなことをするのでしょうか。

答え1

Linuxカーネルは、すべてのイーサネットアダプタ(物理デバイスまたは仮想デバイス)をstruct net_device構造体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>)としてマークします。
  • デバイス固有の機能: 一部の構造体、バッファをクリアし、イーサネット コントローラ チップをスリープ状態にします...

関連情報