私は組み込みLinux(カーネル2.6.21)とさまざまなネットワーキングツールを備えたシンプルな家庭用ユーザールーター(D-Link DIR-300)を持っています。 Telnetを介してこのシステムの内部を調べたところ、次のコマンドの出力が得られました(少し修正、削除、lo
スキップifbN
しました)ifconfig -a
。
br0 Link encap:Ethernet HWaddr CB:B2:32:9C:4D:2E
inet addr:192.168.5.1 Bcast:192.168.5.255 Mask:255.255.255.0
RX bytes:94887799 (90.4 MiB) TX bytes:1042490563 (994.1 MiB)
br8 Link encap:Ethernet HWaddr CB:B2:32:9C:4D:2E
RX bytes:974053699 (928.9 MiB) TX bytes:0 (0.0 B)
eth2 Link encap:Ethernet HWaddr CB:B2:32:9C:4D:2E
collisions:0 txqueuelen:1000
RX bytes:2150801235 (2.0 GiB) TX bytes:2142220936 (1.9 GiB)
Interrupt:3
eth2.1 Link encap:Ethernet HWaddr CB:B2:32:9C:4D:2E
RX bytes:17544 (17.1 KiB) TX bytes:994732248 (948.6 MiB)
eth2.2 Link encap:Ethernet HWaddr CB:B2:32:9C:4D:2E
RX bytes:0 (0.0 B) TX bytes:72669 (70.9 KiB)
eth2.3 Link encap:Ethernet HWaddr CB:B2:55:9C:4D:2E
RX bytes:96947373 (92.4 MiB) TX bytes:1045811045 (997.3 MiB)
eth2.4 Link encap:Ethernet HWaddr CB:B2:32:9C:4D:2E
RX bytes:0 (0.0 B) TX bytes:72669 (70.9 KiB)
eth2.5 Link encap:Ethernet HWaddr CB:B2:32:9C:4D:2F
inet addr:ex.te.rn.al Bcast:ex.te.rn.255 Mask:255.255.255.0
RX bytes:2024079220 (1.8 GiB) TX bytes:99321148 (94.7 MiB)
eth2.5.35 Link encap:Ethernet HWaddr CB:B2:32:9C:4D:2E
... PROMISC ...
RX bytes:984221760 (938.6 MiB) TX bytes:22318 (21.7 KiB)
物理的には5つのイーサネットソケットがありますが、上記の情報からわかるように、ハードウェアNICは2つあります(CB:B2:32:9C:4D:2E、CB:B2:32:9C:4D:2F)。論理的に発生:LANとWAN。たぶん私が間違っているかもしれませんeth2.5
が、それは唯一のようです。ノーマル状況(自己IP / MAC)。残りの8つのレコードは何が起こっているのか理解するのが難しいです。 8つのレコードはすべて同じMAC(CB:B2:32:9C:4D:2E)を持ち、br0
IPが1つだけ割り当てられ、特別に見え、eth2
中断txqueuelen:1000
があります(他のレコードには割り込みがなくてもeth2.5
)同じ数のTXバイトがeth2.2
あり、eth2.4
バイトを受信せずにbr8
バイトのみを受信します。
それでは、このネットワークはどのように実装されますか?魔法働く?さまざまなデバイス名、同じMAC、異なる属性NIC、MACアドレス、およびデバイス名
の間の関係は何ですか?
答え1
~によるとブリッジとNICの組み合わせ?:
ブリッジングは通常、2つのネットワーク接続を組み合わせようとしますが、必ずしも同じことを行う必要はない場合に使用されます(たとえば、仮想マシンがネットワーク上の物理コンピュータとして表示されるようにしたい場合など)。仮想マシンのソフトウェアネットワークカード(存在する場合)を物理カードに接続してNATを実行する代わりに、LANに直接アクセスできます。
コンピュータはこれを1として認識しますが、LAN/インターネットへの接続は1つだけです。
ブリッジを生成するために使用されるインターフェイスを確認するにはブリッジングツールLinuxで。例えばbrctl ディスプレイbr0、ブリッジbr0を生成するために使用されたインターフェイスが表示され、br0のハードウェアアドレス(MACアドレス)は、ブリッジbr0を生成するために使用された最初のインターフェイスのMACアドレスです。実行後に初めて表示されるインターフェイスです。brctl表示eth2 です。 ifconfigの結果を確認した後、インターフェイスeth2とeth1、eth3、eth4、eth5などeth2.1などの他のインターフェイスの間にブリッジがあるようです。 eth5 はブリッジの作成中に最初のインターフェイスと見なされるため、eth2.5 の MAC アドレスが異なることがわかります。