VM웨어와 마이크로소프트(MS)가 오버레이 네트워크를 두고 맞붙었다. 대규모 클라우드 운영을 누가 더 쉽게 해주느냐를 두고 벌어진 대결이다.
클라우드 컴퓨팅의 규모가 커지면 여러 곳에 분산된 데이터센터를 이용하게 된다. 이런 경우 서비스도 별도로 분리된다. 단일한 서비스를 제공하면서도 복수의 인프라를 운영해야 하는 상황이 발생하는 것이다.
이를 해결하려면, 거대한 네트워크를 만들어 물리적으로 떨어진 데이터센터를 하나의 가상 인프라로 통합해야 한다. 오버레이 네트워크는 가상화 환경을 단일한 네트워크 속에서 운영할 수 있게 해주는 핵심 기술이다.
오버레이 네트워크 기술은 VM웨어의 VXLAN과, MS의 NVGRE가 있다. VM웨어와 MS는 작년 8월과 9월 각자의 오버레이 네트워크 기술을 공개했다. VM웨어는 VXLAN을 상용화한 반면, MS의 NVGRE는 지난달에야 윈도서버2012 정식판 출시와 함께 본격적으로 사용될 기반을 확보했다. VM웨어와 MS의 가상 네트워크 기술 표준 경쟁은 이제 막 총성을 울렸다.
■‘거대한 클라우드’엔 ‘거대한 네트워크’가 필요하다
오버레이 네트워크는 라우팅 프로토콜(L3) 위에 스위칭 프로토콜(L2)을 올리는 방식으로 구현된다. 각자 분리된 L2네트워크가 서로 통신할 때 라우팅을 거치지 않고 가상의 터널을 통해 직접 통신하는 것이다. 오버레이 네트워크는 터널링 기술로도 불린다.
클라우드 컴퓨팅에서 오버레이 네트워크가 부각되는 이유는 기존 표준 기술의 한계 때문이다. 클라우드는 하나의 인프라를 무수한 사용자에게 공유하도록 하면서도, 사용자별로 독립된 환경을 보장해야 한다. 이런 조건은 현존 기술의 표준화 당시엔 존재하지 않았던 것이다.
하나의 네트워크를 가상으로 쪼개 사용하는 기술이 VLAN(IEEE 802.1Q)이다. 사용자는 물리적으로 하나의 네트워크를 다른 사용자와 함께 사용하지만, 별도의 IP주소를 할당받는다. 그러나 VLAN은 최대 4천28개만 생성할 수 있다. 한 네트워크에 4천개의 IP주소밖에 만들어낼 수 없단 얘기다.
이는 클라우드 컴퓨팅 규모가 커질 경우 풀기 어려운 숙제를 던진다. A 인프라에 4천개 VLAN을 다 생성했다면 새로운 인프라 B를 구성해야 한다. 이 때 B 인프라는 별도의 네트워크로 운영된다.
이때 여러 문제점이 발생한다. 예를 들어 甲이란 사용자가 VM을 A 인프라에서 사용하다가 용량 부족으로 B 인프라를 더 사용하려 할 때다. 이 사용자는 다만 용량과 성능을 높이려하는 것일 뿐 별도의 애플리케이션을 만들려는 건 아니다. 그러나 그는 A와 B 인프라를 가상으로 묶어 사용할 수 없다. IP주소를 2개 이용해야 하며, 구분된 환경으로 이용해야 한다.
甲의 요구사항을 충족하려면, 사업자는 고객의 VM을 A에서 B로 이동시켜야 한다. 하지만 이때 사용자에게 할당된 IP주소가 변경된다. 사용자는 VM의 IP주소뿐 아니라 그에 대한 컴플라이언스, 보안정책 등을 새로 설정해줘야 한다.
근본적인 해결책은 A나 B를 구분하지 않고 단일한 인프라로 제공하는 것이다. L3 경로를 거치지 않고 가상의 ‘거대한 L2 네트워크’를 만드는 게 필요한데, 오버레이 네트워크는 물리적 장비 변경 없이 SW기술로 구현하기 위한 방안으로 고안됐다.
■무한 확장하는 MAC 주소, 어떻게 관리?
인프라 운영자 측면에서 오버레이 네트워크가 고안된 이유는 또 있다. 가상화 이후 MAC 주소의 급격한 증가다.
세상의 모든 이더넷 통신기기는 저마다 고유한 MAC 주소를 갖는다. MAC 주소는 각 기기의 이름역할을 하는데, 서버에 탑재되는 네트워크인터페이스카드(NIC)가 MAC주소를 하나씩 갖고 있다. 이는 이더넷 장비의 MAC 테이블에서 관리된다. 장비가 관리하는 서버들의 목록을 보관해두는 것이다.
문제는 장비가 처리할 수 있는 MAC 테이블이 제한된다는 사실이다. 통상적으로 대형 장비가 8천~1만6천개 정도의 MAC 주소를 관리할 수 있다. 이는 한 장비가 관리할 수 있는 서버 대수와 같다고 볼 수 있다.
물리적 서버의 경우 아무 문제가 없지만, 서버 가상화 환경이라면 상황이 달라진다. 한대의 서버에서 30~40대의 VM을 만들면, 서버 1천대만 운영해도 8만개의 MAC 주소가 생성된다.
거대한 통신장비를 가져다 수용해도 VM 이동빈도 증가에 전체 네트워크가 흔들릴 수 있다. 오버레이네트워크는 MAC 주소를 필요할 때만 업데이트하고, 서버끼리만 MAC을 공유하게 한다. 오버레이 네트워크는 통신장비에서 처리되는 프로토콜 작업이 없기 때문에 서버와 서버가 통신하는 모습이다. 이를 통해 네트워크 장비는 VM 대신 실제 물리적 서버의 MAC 테이블만 관리하게 된다.
■VM웨어 VXLAN vs. 마이크로소프트 NVGRE
이런 기본적인 콘셉트에서 VM웨어의 VXLAN은 기존 가상랜(VLAN)을 확장해 사용하자는 아이디어다. X는 'eXtensible'에서 나왔듯 신축성과 확장성을 의미한다. VXLAN은 VLAN 생성개수를 4천개 이상으로 늘리고, VM을 이동할 때 동일한 IP주소를 유지시켜 무중단 이전을 수행하도록 하는 아이디어다.
VXLAN은 24비트로 네트워크ID를 만들기 때문에 이론상 160만개까지 생성할 수 있다. VM을 이동할 때 IP주소를 이와 함께 이더넷 패킷 앞머리에 IP/UDP를 붙여 이동해야 할 위치를 표시한다. VM을 이동해도 IP는 기존과 같은 것을 사용하게 된다. 이동하는 경로는 VPN을 이용한다.
MS의 NVGRE는 기본적인 지향점은 같다. VLAN 생성의 한계로 발생하는 물리적 제약을 없애는 방안으로 사용된다. 다만 패킷 자체를 일반라우팅캡슐화(GRE) 암호화한다는 게 차이점이다. VXLAN이 완전히 새로운 프로토콜이라면, NVGRE는 기존 GRE를 사용한다. VLAN 수에 상관없이 무한 확장 가능하다.
VXLAN과 NVGRE를 비교할 때 기술적 우열을 가리는 건 어렵다. 두 기술 모두 새로운 아이디어이며, 훌륭한 성능을 보여준다는 평가를 받는다. 다만, 각 기술에 대한 관련업체들의 지지여부에서 차이를 가릴 수 있다.
VXLAN은 VM웨어가 제안하고, 시스코, 아리스타, 브로케이드, 브로드컴, 인텔, 에뮬엑스 등이 지지한다. 여기에 레드햇과 시트릭스가 동조했다. NVGRE는 MS가 제안하고 HP, 델 등이 참여했다. 아리스타, 에뮬엑스, 인텔 등도 참여한다. 네트워크업체들은 두 기술을 모두 지원하는 추세다.
가상화 측면을 보면 VXLAN이 대부분의 가상화 솔루션업체가 참여한 반면, NVGRE는 MS 외에 가상화 솔루션업체의 참여가 없다. 이는 현 단계에서 NVGRE를 하이퍼V 외 다른 하이퍼바이저 환경에 사용할 수 없다는 의미다.
관련기사
- 시스코, 가상스위치 '넥서스1K' 무료로 푼다2012.10.17
- 오픈플로, 네트워크판 어떻게 바꿀까2012.10.17
- VM웨어-시스코 , 가상랜 무한확장 기술 공개2012.10.17
- 네트워크, 자유로운 가상서버를 잡아라2012.10.17
VXLAN은 기술적 성숙단계를 거쳐 생태계를 넓혀하는 단계고, NVGRE는 아직 표준화 단계다. NVGRE는 MS 윈도서버2012부터 이용할 수 있는 기술이기 때문에, 윈도서버2012 정식 출시 이후 본격적인 생태계 확대를 노릴 것으로 보인다.
현재 전문가들은 VXLAN과 NVGRE 두 기술을 혼용해야 한다는 의견을 내놓고 있다. 한 관계자는 클라우드 운영자의 처한 상황에 따라 유연하게 사용해야 한다라며 현재 상황에서 무엇이 해결하고자 하는 부분인지 면밀히 검토하는 과정이 필요하다고 조언했다.