오픈인프라 한국 커뮤니티 / 김관영 부회장


그로메트릭 / 김관영 대표


 

오픈스택은 클라우드 컴퓨팅 구축을 위한 대표적인 오픈소스 소프트웨어로 현재까지 다양한 발전을 거듭하여 발전하는 네트워크 요구 사항을 지속적으로 수용하면서 인프라 구축 및 관리를 지원하는 강력한 플랫폼으로 자리매김하였다. 이제 3부에서는 클라우드 네트워크에 대한 전반적인 관점에서 주요 퍼블릭 클라우드에서 지원하는 네트워크 기능과 함께 오픈스택 네트워크 기능을 살펴보고자 한다.

 

[참고] 본 기고는 20151, 오픈스택 한국 커뮤니티 밋업에서 최영락 3기 대표께서 공유하였던 OpenStack 네트워크와 SDN에 설명한 내용을 기반으로 현재(202311)를 기준으로 하여 최신 내용을 업데이트하였습니다.

 




 

오늘날 클라우드에서 지원하는 네트워크 기능들을 살펴보면 클라우드 포털에서 직접 네트워크 서브넷 대역을 생성할 수 있을 뿐만 아니라 로드밸런서 도입 및 방화벽과 같은 설정을 하는 것이 가능해졌다. 이와 같은 형태로 발전하는데 있어 다음과 같은 여러 개념들이 제안되었고, 실제 오픈스택을 포함한 여러 프라이빗/퍼블릭 클라우드에 이러한 철학이 반영되어 있는 상황이다.

 

1. SDN (Software Defined Networking)

소프트웨어 정의 네트워킹이라 불리는 SDN은 네트워크에서 제어 계층 (control plane)과 데이터 전송을 담당하는 계층 (data plane)을 서로 분리하여 네트워크를 효과적으로 관리하는 접근 방식이다. 그림1에서와 같이 (출처: [1]) 전통적인 레거시 네트워크 환경과 달리 SDN 환경에서는 제어 계층을 전송 메커니즘으로부터 분리하여 프로그래밍의 유연성을 높이고 관련된 새로운 여러 네트워크 기능 및 프로토콜 설계를 가능하게 하였다.

 


[그림1. 레거시(legacy)와 SDN 인프라 네트워크 환경 (출처: [1])]


 

ONF (Open Networking Foundation)을 통해 표준으로 제정된 OpenFlow가 대표적인 SDN으로 잘 알려져 있다. OpenFlow는 실제 물리 네트워크 스위치 또는 라우터에 네트워크 플로우 (Source IP/Port, Destination IP/Port, Protocol에 해당하는 5-tuple) 단위로 패킷 통신 및 제어를 가능하게 한다. 현재 ONF 홈페이지 [2]를 통해 공개된 최신 OpenFlow Switch 표준 버전은 1.5.1이다.

 




 

2. Network as a Service (NaaS)

클라우드가 발전하면서 클라우드에서 제공하는 네트워크 자체를 서비스 형태로 바라보고 이를 제공한다는 개념에 해당한다. 2012년 USENIX에서 발표된 논문 [3]에 따르면, 클라우드 사용자가 네트워크 자원이 어떻게 사용되고 있는지 바라보는데 (visibility) 한계가 있으며, 이에 따른 효율성 저하가 심각하여 이를 대응하고자 NaaS라는 개념을 제안한다고 소개하고 있다. 즉, 클라우드 컴퓨팅을 사용하고 있는 사용자, 테넌트 입장에서 사용자 정의 경로 및 다중 전송 프로토콜 배포, 패킷 수정, 네트워크 데이터 집계, 중복 제거, 스마트 캐싱과 같은 고급 네트워크 기능을 효과적으로 이용할 수 있어야 한다는 것이다.

 


[그림2. 데이터 센터에서의 NaaS 아키텍처 (출처: [3])]


 

그림2는 데이터센터에서 NaaS를 구성할 때 당시 기술에 따른 아키텍처를 제안하고 있다. 해당 아키텍처를 기반으로 한 초기 시뮬레이션 결과에 따르면, 네트워크 스위치의 제한된 기능에도 불구하고 NaaS가 응용 프로그램 처리량을 효율적으로 향상시키고 전체 네트워크 트래픽을 감소시킨다고 한다.

 

오픈스택에서도 이 두 가지에 대한 방향성이 잘 반영되어 있다. 먼저, SDN에 대한 부분은 지난 2부에서 소개한 Neutron이 ML2 (Modular Layer 2)를 도입하여 OpenFlow 기반의 SDN 컨트롤러 뿐만 아니라 상용 장비에서 지원하는 여러 프로토콜을 Type 드라이버와 Mechanism 드라이버로 구분하여 지원을 하였다. 또한 지난 1부에서 소개한 오픈스택 Map을 살펴보면 2부에서 언급하였던 Neutron, Octavia, Designate와 같은 여러 독립 컴포넌트들이 있다.

 

클라우드 환경에서 사용자는 필요에 따라 가상머신 간의 통신을 조절하고 네트워크 리소스를 효율적으로 관리할 수 있어야 하며, 또한, 다양한 네트워크 토폴로지 및 서비스를 구성하고 다양한 요구 사항을 충족시킬 수 있어야 한다. 오픈스택에서 이런 역할을 수행하고 지원하기 위한 네트워크 기능은 다음과 같다.

오픈스택은 Neutron을 통해 VPNaaS를 포함한 다양한 네트워크 서비스를 제공하고 있다. 그리고 대표적인 NaaS를 Designate(DNS기능), Octavia(로드밸런서 기능)라는 2개의 독립 컴포넌트를 통해 소개하고 있다.

 

  1. Neutron (Networking): 가상 네트워크와 관련된 모든 기능을 담당하는 주요 네트워크 프로젝트이다. 가상 서버 간의 통신, 네트워크 토폴로지 생성, 서비스의 연결 등을 관리한다. VPNaaS (VPN-as-a-Service) 을 확장 버전으로 제공하기도 한다.
  2. Designate (DNSaaS): DNS 서비스를 제공하는 프로젝트로, 도메인 이름 관리와 관련된 기능을 처리한다. 인스턴스나 서비스에 대한 도메인 이름 할당을 지원한다,.
  3. Octavia (LBaaS): 로드 밸런싱 서비스를 제공하는 프로젝트로, 애플리케이션 트래픽을 여러 서버로 분산시키는 역할을 수행한다.

 

앞서 언급하였듯이 오픈스택은 클라우드 컴퓨팅을 구축하는데 있어 일종의 레퍼런스가 되는 오픈소스로 자리매김을 하였다. 그렇다면 이러한 클라우드 네트워크 기능은 잘 알려진 퍼블릭 클라우드에서도 당연히 지원을 해야 할 것이다. 따라서 오픈스택 네트워크 기능에 대해 사용자 관점 및 클라우드 제공자 관점에서 바라보면서 기능을 살펴보았다면, 이제부터는 퍼블릭 클라우드에서 어떤 기능을 제공하고 있는지를 비교해보도록 하자. 표1을 통해 퍼블릭 클라우드에서 제공하는 네트워크 기능을 오픈스택과 비교해 보았다.

 


[표1. 오픈스택과 퍼블릭 클라우드 네트워크 기능]


 

이와 같이 각 클라우드 플랫폼은 고유한 네트워크 기술을 제공하고 있습니다. 오픈스택은 Neutron을 통해 이러한 다양한 기능을 오픈소스 기반으로 제공하며, 사용자가 네트워크 및 인프라를 세밀하게 조정할 수 있는 특징을 가지고 있다.

 

오픈스택환경에서의 뉴트론은 가상 네트워크를 생성하고 관리하여 테넌트(클라우드 사용자)에게 논리적으로 분리된 네트워크 환경을 제공하며, AWS의 VPC(Virtual Private Cloud)와 Azure Virtual Network, Google Cloud VPC와 동일한 기능을 제공한다. 사용자가 네트워크를 설정하고 가상 네트워크 환경을 제어할 수 있게 한다.

 

뉴트론은 방화벽 관점에서는 Security Group, Network firewall, VPN firewall 기능을 수행하며, 트래픽을 제어할 수 있습니다. 다른 CSP의 Security group, Cloud Firewall 서비스와 유사한 기능을 제공한다.

 

뉴트론의 가상라우터와 VPNaaS는 AWS VPN, Azure Virtual WAN,VPN Gateway 등 가상 사설 네트워크를 구축하고 연결할 수 있는 기능을 제공한다.

 

이상으로 퍼블릭 클라우드에서 지원하는 서비스관점에서의 네트워크 기능과 함께 오픈스택 네트워크 기능을 살펴보았다. 앞으로도 클라우드 네트워크는 속도적인 향상 뿐 아니라 연동방식도 다양하게 변화될 것으로 예상하고 오픈스택의 네트워크 기술도 이에 맞춰 지속적으로 발전하고 나아갈 것으로 기대한다.

 

 



참 고 문 헌




  1. Wenjuan Li et al, “A survey on OpenFlow-based Software Defined Networks: Security challenges and countermeasures”, Journal of Network and Computer Applications, Vol 68, 2016, page 126-139, ISSN 1084-8045.
  2. https://opennetworking.org/software-defined-standards/specifications/
  3. Costa, Paolo, et al. "{NaaS}:{Network-as-a-Service} in the Cloud." 2nd USENIX Workshop on Hot Topics in Management of Internet, Cloud, and Enterprise Networks and Services (Hot-ICE 12). 2012.





저작권 정책


K-ICT 클라우드혁신센터의 저작물인 『오픈스택으로 바라보는 클라우드 네트워크 기술』은 K-ICT 클라우드혁신센터에서 오픈인프라 한국 커뮤니티 김관영 부회장에게 집필 자문을 받아 발행한 전문정보 브리프로, K-ICT 클라우드혁신센터의 저작권정책에 따라 이용할 수 있습니다.
다만 사진, 이미지, 인용자료 등 제3자에게 저작권이 있는 경우 원저작권자가 정한 바에 따릅니다.