가상 네트워크 브리지: IP 주소가 할당되어야 하는 이유는 무엇입니까?

가상 네트워크 브리지: IP 주소가 할당되어야 하는 이유는 무엇입니까?

저는 QEMU/KVM 가상 머신을 설정 중이었고 이를 위해 브리지 네트워킹을 사용하고 싶었습니다. 내가 읽은 모든 매뉴얼/자습서에는 물리적 NIC에서 DHCP를 비활성화하고 브리지에서 활성화하라는 내용이 나와 있습니다. 내가 이해하지 못하는 것은 브리지가 물리적 브리지/스위치처럼 작동하는 경우 실제 물리적 NIC에는 IP 주소가 없는데 IP 주소가 할당되어야 하는 이유는 무엇입니까? 이 질문은 이미 몇 번이나 요청되었지만 아직 답변을 찾지 못했습니다.여기대답은 이렇게 하면 VM이 브리지와 통신할 수 있다고 말했습니다. 그런데 왜 그렇게 해야 합니까? 실제 물리적 시스템을 사용하면 브리지가 투명하게 작동하고 트래픽을 전달합니다. 그래서 내 질문은 다음과 같습니다.

  1. 물리적 브리지에는 IP 주소가 필요하지 않은데 가상 브리지에는 왜 IP 주소가 필요합니까?
  2. NIC에 가상 브리지의 IP 주소가 없을 때 물리적 NIC는 어떻게 가상 브리지의 IP 주소를 사용하는지 알 수 있습니까?
  3. 물리적 머신이 실제로 물리적 브리지와 직접 통신하지 않는데 VM이 브리지와 통신해야 하는 이유는 무엇입니까?

내가 의미하는 바를 더 잘 보여주는 몇 가지 그림은 다음과 같습니다.

  1. 네트워크 스위치가 있는 물리적 네트워크의 작동 방식은 다음과 같습니다.

네트워크 스위치가 있는 물리적 네트워크가 어떻게 작동하는지 상상해 보세요.

  1. 가상 브리지가 ~작동해야 한다~고 상상하는 방법

가상 브리지가 ~작동해야 한다~고 상상하는 방법

  1. 내가 이해하는 방법은 실제로 작동합니다.

내가 이해하는 방법은 실제로 작동합니다.

답변1

  1. 물리적 브리지에는 IP 주소가 필요하지 않은데 가상 브리지에는 왜 IP 주소가 필요합니까?

가상 브리지에 IP 주소가 필요하다는 것은 오해입니다. 그것은 필요하지 않습니다.

당신은 실제로~할 수 있다IP 주소가 없는 가상 브리지가 있습니다. 그러나 호스트 자체는 해당 물리적 ​​인터페이스의 IP를 통해 전혀 연결할 수 없으며 VM에만 연결할 수 있습니다.

엔터프라이즈 가상화 호스트에서 이는 유용할 수 있습니다. 고객의 VM에 연결해야 하는 고객 네트워크가 있을 수 있습니다. 이러한 네트워크에서 가상화 호스트 자체에 대한 액세스 권한을 부여하고 싶지 않을 수도 있지만오직해당 VM에. 그러면 가상화 호스트를 관리하는 데 사용할 물리적으로 분리된 또 다른 관리 네트워크가 있게 됩니다. 이 네트워크는 별도의 NIC를 통해 호스트에 연결됩니다.~ 아니다가상 브리지의 구성원이 되어야 합니다.

  1. NIC에 가상 브리지의 IP 주소가 없을 때 물리적 NIC는 어떻게 가상 브리지의 IP 주소를 사용하는지 알 수 있습니까?

물리적 NIC에 특정 IPv4 가속 기능이 없으면 IP 주소는 NIC의 페이로드 데이터일 뿐입니다. 기본 물리적 NIC는 레이어 2, 즉 MAC 주소에서만 작동합니다. IP 프로토콜은 레이어 3이며 일반적으로 운영 체제의 네트워크 드라이버 스택에 남아 있습니다. ifconfig또는 를 사용하여 "NIC에 대한 IP 주소를 구성"할 때 ip addr실제 물리적 하드웨어 구성을 반드시 변경할 필요는 없지만 물리적 NIC 및 연결된 OS 수준 IP 프로토콜 지원을 모두 포함하는 추상 구성으로 변경됩니다. NIC.

물리적 NIC가 브리지의 구성원으로 작동하도록 구성된 경우 레이어 3 가속 기능은 어쨌든 꺼야 할 수 있습니다. 브리지의 일부로 작동할 때 NIC는 모든 수신 패킷을 수신해야 합니다. 대상 MAC 또는 IP 주소와 브리지 코드에 따라 패킷이 전달될지 여부와 브리지의 어느 멤버로 전달될지 결정됩니다. 기본 브리지는 IP 주소를 전혀 신경 쓰지 않아야 합니다. 브리지의 모든 Layer-3 기능은 기본 브리지 기능 이상이며 가상 브리지에서는 선택 사항입니다.

물리적 NIC가 브리지의 일부로 구성될 때 IP 주소로 구성되면 해당 NIC(+해당 드라이버)에서 ARP 기능이 활성화됩니다. 그러나 물리적 NIC에서 나가는 ARP 메시지는 VM에 도달할 수 없습니다. ARP를 사용하여 전체 세그먼트에 도달하려면(적절한 레이어 2 기능에 따라) NIC 드라이버는 나가는 ARP 메시지를 두 가지 모두로 생성해야 합니다. & 수신 메시지가 동시에 발생하며 NIC 드라이버에는 이를 수행할 코드가 없습니다.

VM이 포함된 가상 브리지가 있다는 것은 브리지 IP 세그먼트의 일부가 물리적으로 호스트 외부에 있고 다른 일부는 호스트 내부에 있는 VM 내에 포함된다는 의미입니다. 호스트가 VM 중 하나와 통신하기 위해 평소와 같이 NIC를 사용하는 경우 패킷은 불필요하게 호스트 외부, 호스트가 연결된 물리적 스위치 또는 라우터로 전송됩니다. 호스트로 돌아와서 브리지를 통해 대상 VM으로 돌아옵니다.

이는 확실히 비효율적이며 실제로 전혀 작동하지 않을 수 있습니다. 가상 브리지가 있는 호스트가 연결된 물리적 스위치는 일반적으로 해당 호스트에서 시작된 패킷을 호스트 자체로 다시 보낼 이유가 없습니다.

대신, 호스트에서 브리지된 네트워크 세그먼트로 나가는 패킷은 브리지 코드를 통해 전송되어야 하며, 브리지 코드는 먼저 브리지의 어느 인터페이스(가상 또는 물리적)가 대상에 "가장 가까운"지 조회합니다. 목적지가 브리지에 알려지면 나가는 패킷이 브리지를 향해 직접 전송됩니다. 호스트와 해당 VM 간의 통신의 경우 이는 통신이 전적으로 물리적 호스트 내에서 발생하고 호스트 외부의 물리적 네트워크 대역폭을 전혀 사용하지 않음을 의미합니다.

대상 MAC 주소가 브리지에 알려지지 않은 경우 나가는 패킷은 처음에 모든 브리지 구성원 인터페이스로 전송됩니다. 응답이 수신되자마자 브리지는 초기 패킷의 대상 위치를 학습하고 돌아갈 수 있습니다. (위와 같이) 효율적인 작동 방법.

브리지가 포함된 호스트에서 ARP 요청을 할 때 요청은 VM 모두에 브로드캐스트되어야 합니다.그리고요청이 실제로 물리적 NIC로 전송되도록전체네트워크 세그먼트: 브리지 코드는 이를 수행할 수 있지만 개별 물리적 NIC는 이를 수행할 수 없습니다.

Linux 브리지가 물리적이거나 가상이어야 한다는 요구 사항은 없다고 생각합니다. Linux 브리지가 여러 물리적 인터페이스를 가질 수 없는 이유를 모르겠습니다.그리고연결된 VM 수에는 제한이 없습니다. 그러나 기업 환경에서는 일반적으로 그런 "모든 작업을 수행하는 호스트"를 구축하고 싶지 않을 것입니다. 다운타임이 전혀 발생하지 않는 까다롭고 중요한 인프라 부분이 되기 쉽습니다. 즉, 시스템 관리자에게는 골치 아픈 일입니다.

  1. 물리적 머신이 실제로 물리적 브리지와 직접 통신하지 않는데 VM이 브리지와 통신해야 하는 이유는 무엇입니까?

다시 한 번 오해: VM은~ 아니다"브릿지와 통신하려면" 브릿지에 IP 주소가 필요합니다.

하지만 만약 당신이원하다호스트와 VM이 동일한 IP 네트워크 세그먼트에서 서로 통신할 수 있도록 하려면 브리지 장치에 IP 주소를 할당하는 방법이 있습니다.

브리지 장치의 IP 주소는 주로 사용자의 통신 요구 사항을 충족하기 위해 존재합니다.주인, ~가 아닌VM- 그러나 원하는 경우 외부 장치를 통한 루프 없이 호스트가 IP를 통해 VM과 효율적으로 통신할 수 있습니다.

관련 정보