Menu

문서정보

<!> 미완성

목차

개요

클라우드를 위한 네트워크 환경에는 전통적인 데이터 센터 구축에서 사용했던 VLAN과 같은 네트워크 분할 기법은 적당하지 않다. VLAN은 물리적인 제한을 뛰어넘어서 수많은 VM을 띄울 수 있는 클라우드 컴퓨팅에 사용하기에는 유연성과 확장성이 떨어진다. 때문에 L2 네트워크 위에서 (주로 터널링 기법을 사용한다) 확장가능한 L3 네트워크를 구성하기 위한 기술들을 개발했다. 여기에서는 L2 네트워크위에서 유연하고 확장이 용이한 네트워크를 구성하기 위한 기술들을 살펴볼 것이다.

여기에서 살펴볼 기술들은 다음과 같다.

Overlay Network

L2 네트워크 기술에 대해서 살펴보기 전에 Overlay Network에 대해서 짚고 넘어가야겠다. Network Overlay는 기존 네트워크 구성을 그대로 두고, 그 위에 새로운 네트워크를 구성하는 개념이다.

예를 들어 광주에서 서울구간철도가 구성돼 있다고 가정해보자. 현재는 완행열차만 운용을 하고 있다. 완행 열차를 운영하면 승객이 원하는 위치까지 비교적 정확하게 운송할 수 있다는 장점이 있다. 반면 장거리 이용고객의 경우 시간소모가 많다는 단점이 있다. 이 문제는 주요하지 않은 역을 지나치는 "직통열차"를 운용하는 것으로 해결할 수 있는데, "기존 철도 인프라의 수정없이" 가능하다.

즉 Overlay Network는 기존 인프라의 변경없이 (기존 인프라 위에)새로운 네트워크 환경을 구축하는게 그 목적이다. 이런 목적이 만들어진 이유에 대해서 살펴보려고 한다.

서버 가상화에 따른 물리적 네트워크 증설에 대한 요구

서버 가상화가 진행됨에 따라서, 시스템 인프라의 변화 없이 더 많은 서버를 수용할 수 있게 됐다. 서버수가 늘어나면, 다음과 같은 이유로 네트워크 증설도 필요하다.

Multiple tenants

데이터센터를 호스팅하려면, 유저에게 독립된 네트워크 환경을 제공해야 한다.

네트워크 구성

L2 데이터 센터 구축시 해결해야할 이슈들

L2 네트워크를 기반으로 한 데이터 센터를 클라우드로 확장할 경우 발생할 수 있는 문제점을 살펴보려고 한다.

Spanning Tree의 한계

L2 네트워크는 STP(Spanning Tree protocol)을 이용해서 중복된 패스(path)를 제거하는 것으로 루프를 방지한다. STP는 다음과 같은 한계를 가지고 있다.

Broadcas isolation / security

L2 데이터센터 네트워크는 VLAN을 이용해서 브로드캐스트영역을 분리(isolation)한다. VLAN은 12bit의 크기로 4096개의 vlan을 만들 수 있다. 클라우드에서는 충분한 크기가 아니다. 클라우드는 multitenant 환경의 지원이 (거의)기본 사양인데, 4096은 너무 작은 값이다.

POD 관리의 어려움

POD는 네트워크와 스토리지까지를 포함한 하나 이상의 rack로 구성된 구성요소다. POD는 다른 POD와 독립적으로 구성되는게 기본원칙이다. 즉 POD 단위로 확장이 가능하며, POD 스스로 (조그만) 데이터 센터 역할이 가능하다.

때문에 클라우드 환경에서 VM은 POD에 종속이 되는데, 이로 인해 자원의 효율적인 이용이 어려워지는 문제가 생긴다. A, B 두개의 POD로 구성된 데이터 센터가 있다고 가정해 보자. A는 cpu core를 모두 사용해서 더 이상 vm을 만들 수 없는 반면, storage는 40%의 여유 공간이 있다. B는 여분의 cpu core가 있지만 사용할 수 있는 storage 공간이 없다. A는 B의 cpu core를 사용하고 B는 A의 storage를 사용하면 자원을 효율적으로 사용할 수 있겠지만, 이게 쉽지가 않다. A는 storage를 낭비하고 B는 cpu core를 낭비하게 된다.

TOR 스위치의 테이블 크기

가상환경에서 TOR 스위치는 더 많은 수의 MAC을 관리할 수 있어야 한다. 최대 서버당 100개의 MAC이 추가적으로 만들어진다고 가정해야 한다. 일반적으로 rack이 24에서 48개의 서버로 구성이 된다. 따라서 굉장히 많은 수의 MAC을 관리해야 한다.

만약 MAC 관리 테이블이 overflows 된다면, 스위치는 새로운 MAC을 학습할 수 없게 된다.

VxLAN - Virtual Extensible LAN

VxLAN 개요

VxLAN은 STP, CAPEX 제약을 제거하는데 촛점을 맞춘 프로토콜이다. 그래서 가상화된 네트워크를 구성해서 용량과 서버 확장을 용이하게 하는데 그 목적이 있다. VxLAN은 Cisco, VMware, Arista Networks에 의해서 만들어졌다. 현재는 Citrix, cumulus Networks, OpenBSD, Red Hat등이 참여하고 있는 주목받는 network overlay 기술이다. Open vSwitch에서도 지원한다.

VLAN이 4096의 네트워크만 관리할 수 있는데, VxLAN은 160,000개의 네트워크를 관리할 수 있다. 이 정도면 multi-tenanat를 지원하는데 문제없는 수준의 크기다.

VxLAN은 MAC-in-UDP encapusulation 기술로, IP/UDP위에 L2 이더넷 정보를 인캡슐레이션한다. IP/UDP는 L3/L4 계층으로 하드웨어에 영향을 받지 않는 "유연하게 확장 및 구성할 수 있는" 영역이다. 물론 L2 정보를 L3 이상에서 처리하게 되면, 데이터 처리에 더 많은 컴퓨팅 파워를 사용해야 하는 단점이 있긴 하다. 하지만 유연함과 확장성이 중요한 클라우드 환경에서는 데이터 처리 비용을 감수할 만한 충분한 가치가 있다.

VxLAN 네트워크 구조

vswitch

VTEP

VxLAN 패킷 구조

OTV

참고