가상 브리지: IP 주소를 할당해야 하는 이유는 무엇입니까?

가상 브리지: IP 주소를 할당해야 하는 이유는 무엇입니까?

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

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

내가 의미하는 바를 더 잘 설명하기 위한 몇 가지 그림은 다음과 같습니다.

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

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

  1. 가상 브리지가 어떻게 작동해야 하는지 상상해 보세요

가상 브리지가 어떻게 작동해야 하는지 상상해 보세요

  1. 그것이 실제로 작동한다는 것을 어떻게 이해합니까?

그것이 실제로 작동한다는 것을 어떻게 이해합니까?

답변1

  1. 가상 브리지에는 IP 주소가 필요하지만 물리적 브리지에는 필요하지 않은 이유는 무엇입니까?

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

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

엔터프라이즈 가상화 호스트에서 이는 유용할 수 있습니다. 게스트 VM에 연결해야 하는 게스트 네트워크가 있을 수 있습니다. 아마도 가상화 호스트 자체에 그러한 네트워크에 대한 액세스 권한을 부여하고 싶지 않을 것입니다.오직각각의 가상 머신에. 그러면 가상화 호스트를 관리하기 위한 물리적으로 분리된 또 다른 관리 네트워크가 있습니다. 이 네트워크는 별도의 NIC를 통해 호스트에 연결됩니다.아니요가상 브리지의 회원이 되십시오.

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

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

물리적 NIC가 브리지의 구성원으로 작동하도록 구성된 경우 레이어 3 가속 기능을 꺼야 할 수 있습니다. 브리지의 일부로 작동할 때 NIC는 상태에 관계없이 들어오는 모든 패킷을 수신해야 합니다. 대상 MAC 또는 IP 주소와 브리지 코드에 따라 패킷이 전달되는지 여부와 브리지의 어떤 멤버로 전달되는지가 결정됩니다. 기본 브리지는 IP 주소에 완전히 무관심해서는 안 됩니다. 브리지의 모든 레이어 3 기능은 기본 브리지 기능보다 높으며 가상 브리지에서는 선택 사항입니다.

물리적 NIC가 브리지의 일부로 구성될 때 IP 주소로 구성되면 해당 NIC(및 해당 드라이버)에서 ARP 기능이 활성화됩니다. 그러나 해당 물리적 ​​NIC에서 발행된 ARP 메시지는 가상 머신에 도달하지 않습니다. ARP를 통해 전체 네트워크 세그먼트에 도달하려면(올바른 레이어 2 기능에 필요한 경우) NIC 드라이버는 동시에 발행된 ARP 메시지로 ARP 메시지를 생성해야 합니다. & 메시지가 동시에 들어오고 NIC 드라이버에는 이 작업을 수행할 코드가 없습니다.

VM에 가상 브리지가 있다는 것은 브리지 IP 범위의 일부가 물리적으로 호스트 외부에 있고 다른 부분은 호스트 내부의 VM 내에 포함된다는 의미입니다. 호스트가 평소와 같이 NIC를 사용하여 가상 머신 중 하나와 통신을 시도하는 경우 패킷은 불필요하게 호스트에서 호스트가 연결된 물리적 스위치 또는 라우터로 전송되고 거기에서 다시 돌아가야 합니다. 호스트를 통과하고 브리지를 통과하여 대상 가상 머신에 도달합니다.

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

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

대상 MAC 주소가 브리지에 알려지지 않은 경우 나가는 패킷은 처음에 모든 브리지 구성원 인터페이스에서 전송됩니다. 일단 응답이 수신되면 브리지는 초기 패킷의 대상을 알고 효율적인 작업 방법을 반환할 수 있습니다(위에서 언급한 대로). .

브리지가 포함된 호스트에서 ARP 요청이 발행되면 요청이 가상 머신에 브로드캐스트되어야 합니다.그리고물리적 네트워크 카드 외부로 요청이 실제로 전송됩니다.모두네트워크 세그먼트: 브리징 코드는 이 작업을 수행할 수 있지만 단일 실제 네트워크 카드로는 수행할 수 없습니다.

Linux 브리지가 완전히 물리적이거나 가상이어야 한다는 요구 사항은 없다고 생각합니다. Linux 브리지가 여러 물리적 인터페이스를 가질 수 없는 이유를 이해하지 못합니다.그리고연결된 가상 머신 수. 그러나 기업 환경에서는 일반적으로 이와 같은 "일률적인 호스트"를 구축하고 싶지 않습니다. 이는 가동 중지 시간이 전혀 발생하지 않는 다루기 힘든 중요한 인프라가 될 수 있습니다. 즉, 시스템 관리자에게는 골치 아픈 일입니다.

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

또 다른 오해: 가상 머신은아니요"브릿지와 통신"하려면 브릿지의 IP 주소가 필요합니다.

하지만 만약 당신이생각하다호스트와 가상 머신이 동일한 IP 네트워크 세그먼트 내에서 서로 통신하려면 브리지 장치에 IP 주소를 할당해야 합니다.

브리지 장치의 IP 주소는 주로 통신 요구에 사용됩니다.주인,속하지 않는가상 기기- 하지만 필요한 경우 외부 장치를 통한 루프 없이 호스트가 IP를 통해 VM과 효율적으로 통신할 수 있습니다.

관련 정보