저는 임베디드 Linux(커널 2.6.21)와 다양한 네트워킹 도구를 갖춘 간단한 가정용 사용자 라우터(D-Link DIR-300)를 가지고 있습니다. 텔넷을 통해 이 시스템의 내부를 조사한 결과 다음 명령의 출력을 얻었습니다(약간 수정되고 제거되었으며 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가 하나만 할당되어 eth2
특별해 보이며 txqueuelen:1000
중단이 있습니다( 다른 레코드에는 인터럽트가 없고 심지어 eth2.5
) 동일한 수의 TX 바이트가 eth2.2
있으며 eth2.4
바이트를 수신하지 않고 br8
바이트만 수신합니다.
그렇다면 이 네트워크는 어떻게 구현됩니까?마법일하다? 다양한 장치 이름, 동일한 MAC, 다른 속성 NIC, MAC 주소 및 장치 이름
간의 관계는 무엇입니까 ?
답변1
~에 따르면브리지와 NIC 조합?:
브리징은 일반적으로 두 개의 네트워크 연결을 결합하려고 하지만 반드시 동일한 작업을 수행하도록 할 필요는 없을 때 사용됩니다(예: 가상 머신이 네트워크에서 실제 컴퓨터로 표시되도록 하려는 경우). 가상 머신의 소프트웨어 네트워크 카드(있는 경우)를 물리적 카드와 연결하여 NAT를 수행하는 대신 LAN에 직접 액세스할 수 있습니다.
컴퓨터에서는 이를 1로 인식하지만 LAN/인터넷에 대한 연결은 하나만 있습니다.
브리지를 생성하는 데 사용되는 인터페이스를 알아보려면브리징 도구리눅스에서. 예를 들어brctl 디스플레이br0, 브리지 br0을 생성하는 데 사용된 인터페이스가 표시되고, br0의 하드웨어 주소(MAC 주소)는 브리지 br0을 생성하는 데 사용된 첫 번째 인터페이스의 MAC 주소입니다. 실행 후 처음으로 보게 되는 인터페이스입니다.brctl표시eth2 입니다. ifconfig 결과를 확인한 후 인터페이스 eth2와 eth1, eth3, eth4, eth5 등 eth2.1 등의 다른 인터페이스 사이에 브리지가 있는 것으로 보입니다. eth5는 브리지 생성 중에 첫 번째 인터페이스로 간주되므로 eth2.5의 MAC 주소가 다르다는 것을 알 수 있습니다.