3일동안의 시행착오 끝에 VxLAN 패킷을 확인할 수 있었다. EVE-NG 설치, Intel VT-X/EPT 오류 잡기, Nexus 9K 이미지 설치 및 기타 등등 시작부터 난관을 겪었다. 오로지 VxLAN 패킷을 한번 보고 싶어서, 직접 구성하고 Wireshark로 VxLAN 헤더를 확인해보고 싶어서 매달리고 매달렸더니 드디어 확인할 수 있었다.
VxLAN은 VLAN의 한계를 극복하기 위해 만들어졌다. 이러한 Overlay 기술인 VxLAN은 OSPF와 같은 L3 프로토콜을 활용하여 L2 Extension 환경을 구현할 수 있다. 실제 Static 환경에서 VxLAN을 직접 구축해 본 결과, 데이터 센터나 캠퍼스에서 VxLAN이 널리 도입되는 이유를 명확히 이해할 수 있었다.
VxLAN의 Lab 과정이나 Config를 바로 작성하기에 앞서서, 다시 Legacy 환경으로 돌아가서 살펴보자. 아래와 같은 구성에서 PC간의 통신을 하기 위한 인프라를 만들어야한다. 보통의(전통의) Network 구축환경이라면 다음 일련의 구성이 따라올 것이다.
PC와 각각 인접한 스위치에 Interface VLAN을 만들고, OSPF를 만드는 것이다, 보통의 L3 환경이다.
OSPF에 단말의 대역까지 광고를 해야 각각의 스위치는 Host 대역을 Routing Table에 추가하고, Routing Table을 참고하고 하여 패킷을 Forwarding 할 수 있다.
패킷의 이동 경로/흐름은 아래의 화살표와 같다. PC는 자신의 대역이 아닌 IP 대역은 연결된 스위치 포트의 VLAN ID에 따라 Default Gate인 Interface VLAN 10으로 패킷을 전달하고, 스위치는 Routing Table을 참고하여 전달하는 일련의 과정이다. 이러한 과정은 전통적으로 지금까지의 방식이다.
급격한 IT 환경 변화와 수많은 인프라 장비 및 단말의 증가로 인해 기존 방식은 현대 환경에서 명확한 한계가 드러났다. 특히 데이터 센터의 수요가 높아지면서 기존 Underlay 방식으로는 유연한 인프라를 구축하기는 어렵다. 아래의 구성도는 단순히 4개의 장비를 사용하는 예시여서 간단해 보이지만, 실제 환경에서는 수백에서 수천 개의 장비 / VM 환경을 수용하기에는 부족함을 보여준다.
VLAN은 VLAN ID가 12bit로, 총 4096개의 VLAN만 지원한다. 수천 개 이상의 장비와 VM 환경을 수용하기에는 부족하며, 이러한 기술적 한계를 극복하기 위해 VxLAN이 도입되었다.
VxLAN은 L3 기반에서 L2 통신을 구현하는 기술이다. Underlay 네트워크 위에 Overlay를 구축하여, OSPF와 같은 L3 프로토콜로 스위치 간에는 L3로 통신하고, 단말 간에는 L2로 통신할 수 있다. 이 기술은 L2 터널링을 생성해 동일 대역이 아니어도 통신을 가능하게 한다. 스위치는 단말의 IP 정보를 유지하지 않고, VLAN ID만 동일하면 터널 인터페이스를 통해 통신이 가능하다.
드디어 VxLAN 패킷을 확인해보자. 192.168.100.100에서 192.168.200.100으로의 ICMP를 전달하는 과정을 패킷으로 확인할 수 있는데, 위에서 주구장창 찬양(?) 했던 VxLAN 헤더를 확인할 수 있다.
VxLAN Network ID (VNI) 라는 값이 눈에 띈다. 이는 VLAN 10에 VNI 값 10000을 매칭시켜 VLAN10 에 존재하는 호스트 간의 통신을 할 수 있도록 하는 값이다. 이는 VxLAN Static LAB에서 다시 정리하려고 한다.
VxLAN Static LAB을 통하여 캡쳐한 Wireshark 파일로 확인해 볼 수 있다.
VxLAN은 VLAN ID에 있는 모든 호스트가 IP 대역에 상관없이 통신할 수 있도록 지원하며, VLAN ID의 한계를 넘어 최대 16,777,216개의 네트워크를 생성할 수 있다.(24bits) 이러한 이유로 데이터 센터와 캠퍼스 네트워크에서 VxLAN이 적극적으로 활용되고 있다. 현재 Static 방식으로 LAB을 구축해 보았으며, 다음에는 BGP-EVPN 기반으로 시도해볼 예정이다. 기대가 된다.
'IT > ㄴ Cisco' 카테고리의 다른 글
[정리] Cisco vPC (Virtual Port Channel) 정리 (0) | 2025.01.18 |
---|---|
[VxLAN] VxLAN Static 구성 Lab (0) | 2025.01.16 |
[CISCO] IGMP와 PIM의 관계 (0) | 2025.01.14 |
[CISCO] IGMP (Internet Group Management Protocol) (0) | 2025.01.14 |
[CISCO] Multicast 이론, Routing, 그리고 PIM Modes (0) | 2025.01.13 |