Microsoft/Azure

Azure 에서의 2계층 통신

게킴의 블로그 2025. 4. 1. 11:02

|   개요

Azure 네트워크를 공부하면서 기존 온프레미스 환경에서 사용하던 네트워크 지식과 충돌하는 지점들이 몇 가지 있었다. 그중에서도 가장 혼란스러웠던 부분은 바로 2계층(Layer 2) 이다.

온프레미스 환경에서는 동일 네트워크 내에서 통신할 때 MAC 주소를 기반으로 통신이 이루어진다는 것을 당연하게 여겨왔다. 이 개념이 Azure에서도 그대로 적용되는지 확인해보기 위해, 간단한 네트워크 환경을 구성하여 실험을 진행해보았다.

 

|   실습 (동일 네트워크 내 VM 간 통신)

간단하게 아래와 같이 네트워크 환경을 구성하고 각 Subnet 별로 VM 을 두 대씩 생성하였다.

Azure에 생성한 두 개의 VM, TestSVR01 (10.10.10.4)에서 TestSVR02 (10.10.10.8)로 Ping을 시도해보았다.

실습 구성도

 

|   실습 결과

예상 결과

온프레미스 환경에서의 일반적인 네트워크 동작을 기준으로 보면, 동일 서브넷 내 통신은 MAC 주소 기반으로 이루어지기 때문에 Ping이 이루어진 후 TestSVR01의 **MAC 테이블(ARP Table)**에는 TestSVR02의 MAC 주소가 저장될 것으로 예상했다. 각 NIC(네트워크 인터페이스)는 고유한 MAC 주소를 가지므로, 서로 다른 호스트는 서로 다른 MAC 주소로 식별될 것이라고 생각한 것이다.

실제 결과

하지만 실제로 TestSVR01에서 ARP 테이블을 조회해본 결과, TestSVR02의 IP에 대해 아래와 같이 공통된 MAC 주소가 조회되었다. 

12:34:56:78:9a:bc

예상과 다른 결과였다. 각 VM이 서로 다른 호스트임에도 불구하고 동일한 MAC 주소가 표시된 것이다. Azure의 네트워크에서는 우리가 기존에 알고 있던 L2 레벨의 동작과는 다르게 추상화된 방식으로 처리가 되고 있다는 점을 알 수 있었다.

 

|   결론 (Azure는 L2 기능을 지원하지 않는다)

Azure 공식 QnA 를 살펴보면 아래와 같이 명시되어있다.

1) Layer 2 semantics 미지원

Can I bring my VLANs to Azure by using virtual networks?
No. Virtual networks are Layer 3 overlays. Azure does not support any Layer 2 semantics.

VLAN처럼 L2에서 작동하는 네트워크 구성은 Azure VNet에서 사용할 수 없다는 점을 명확히 말하고 있다. 즉, Azure VNet은 L3 오버레이 네트워크로 동작하며, L2 기반의 MAC 브로드캐스트, 스패닝 트리, VLAN 태깅 같은 기능은 동작하지 않는다는 뜻이다.

 

2) 브로드캐스트 및 멀티캐스트 미지원

Do VNets support multicast or broadcast?
Azure virtual networks don't support multicast or broadcast. However, Unicast is supported.

L2 네트워크에서 자주 사용하는 브로드캐스트 및 멀티캐스트 트래픽이 Azure에서는 지원되지 않음을 의미한다. 따라서 ARP 요청처럼 브로드캐스트 방식으로 작동하는 트래픽도 Azure가 대신 응답하거나 처리하게 된다.

 

Azure Virtual Network 자주 묻는 질문 

 

Azure Virtual Network FAQ

Answers to the most frequently asked questions about Microsoft Azure virtual networks.

learn.microsoft.com

 

|   의문점

그렇다면 왜 Azure Portal에서 각 NIC MAC 주소를 표시해주는 걸까...? 이걸 알아서 어디에 쓸 수 있는건지... 아무리 찾아봐도 모르겠다.