네트워크

“이제는 일상의 일부” 가상 네트워크의 이해

Josh Fruhlinger | Network World 2023.02.07
컴퓨터 네트워크라고 하면 우리는 흔히 이더넷, 광섬유, 동축 등 여러 케이블이 라우터, 스위치와 같이 데이터 패킷을 목적지로 보내는 어플라이언스에 연결된 모습을 떠올린다. 와이파이와 셀룰러 데이터 네트워크가 부상하면서 무선이 일부 유선 네트워크를 대체했지만, 사실 무선 통신도 물리적인 영역에 속하며, 결국 기지국 타워나 와이파이 액세스 포인트에 연결된다. 7계층 OSI 네트워크 참조 모델을 기준으로 이 같은 모든 네트워크 장비와 처리, 통신은 하위의 3계층을 구성한다. 레벨 3은 네트워크, 레벨 2는 데이터 링크, 레벨 1은 물리적 계층이다.
 
ⓒ Getty Image Bank

가상 네트워크(virtual network)에서는 모든 활동이 소프트웨어에서 일어난다. 가상 네트워크는 전체가 서버라는 하나의 물리적 머신 내에 존재할 수 있다. 또는 가상 네트워크와는 구성과 토포그래피가 상당히 다를 수 있는 물리적 네트워크 위에서 실행되는 추상화 계층을 형성할 수도 있다. 가상 네트워크를 구축하는 것은 복잡한 작업이지만 그 장점은 막대하다. 예를 들어 네트워크를 재구성해야 할 때 기존에는 쭈그리고 앉아 배관을 따라가며 힘들게 해야 했던 물리적 노동 대신 파일 하나만 변경하면 된다.
 

가상 네트워크의 작동 원리

가상 네트워크의 작동 방식을 이해하기 위해 일반적으로 더 익숙한 개념인 가상 머신(virtual machine, VM)에서 출발해 보자. 대부분 사람은 여러 애플리케이션 인스턴스를 하나의 물리적 머신에서 실행할 수 있는 VM에 익숙하다.

VM은 스스로 가상이란 사실을 “인식”하지 못한다. 기반 하드웨어를 대상으로 일반적으로 이뤄지는 모든 시스템 호출과 기타 통신을 하이퍼바이저라고 하는 소프트웨어 계층이 가로챈다. 하이퍼바이저는 하나의 머신에서 실행되는 여러 VM으로부터 오는 요청을 잘 조절해 기반 하드웨어 리소스를 최대한 효율적으로 사용한다.

또한 VM은 하드웨어 플랫폼 사이에서 명령을 변환한다. 예를 들어 ARM 프로세서용으로 설계된 VM이라 해도 x86 시스템에서 실행할 수 있다. 하이퍼바이저는 VM이 예상하는, 하드웨어 측이 보내는 결과를 VM에 반환할 수 있다.

가상 네트워크도 기본 원칙은 동일하다. 소프트웨어는 관리자가 원하는 특정 토포그래피로 네트워크를 에뮬레이션하도록 구성된다. VM과 마찬가지로 가상 네트워크가 작동하는 원리는 가상 네트워크와 통신하는 운영체제와 애플리케이션 쪽에서 상대가 실제 스위치인지 또는 가상 스위치(v스위치)인지 여부를 모른다는(또는 신경 쓰지 않는다는) 데 있다.

그저 헤더에 특정 네트워크 라우팅 정보가 표시된 패킷을 보내고, 그것과 비슷한 패킷이 반환될 것으로 예상할 뿐이다. 이와 같은 종류의 통신은 표준화되어 있으므로 물리적 네트워크 카드, 스위치 또는 라우터의 동작을 에뮬레이션할 수 있는 소프트웨어를 만들기 쉽다. 실제로 오픈 v스위치(Open vSwitch)와 같은 툴은 하이퍼바이저에서 실행할 수도, 물리적 네트워킹 하드웨어를 위한 제어 스택으로 실행할 수도 있다.

하이퍼바이저는 패킷을 받으면 물리적 네트워크 하드웨어와 마찬가지로 이 패킷을 목적지로 라우팅할 방법을 결정해야 한다. 차이점은 하이퍼바이저는 소프트웨어 정의 가상 네트워크(컴퓨터가 자신이 연결되어 있다고 “생각”하는 네트워크)에 대한 정보를 실제 기반 물리적 환경에 대한 정보로 변환해야 한다는 것이다.

컴퓨터는 같은 로컬 영역 네트워크에 있는 다른 컴퓨터로 패킷을 보낸다고 생각하겠지만 실제로는 두 머신이 서로 다른 국가에 위치할 수도 있고, 같은 서버에서 두 개의 가상 머신이 실행되는 상태일 수도 있다.

하이퍼바이저가 이 문제를 해결하기 위해 자주 사용하는 방법은 헤더에 다른 라우팅 정보가 포함된 다른 패킷 안에 패킷을 집어넣은 다음 이 패킷을 물리적 네트워킹 인프라로 넘기는 방법이다. 패킷이 목적지에 도착하면 겉 패킷이 제거된다. 물리적 네트워크를 통해 패킷이 이동했지만 이를 수신하는 시스템은 패킷이 물리적 네트워크가 아닌 가상 네트워크를 통해 도착한 것으로 인식한다.

물론 가상 네트워크를 구현하기 위해서는 상당한 노력과 생각이 필요하다. 굳이 그 어려움을 감수하는 이유는 무엇일까? 다양한 가상 네트워크 유형을 살펴보면, 가상 네트워크가 어떤 실제 시나리오에서 유용한지 감을 잡을 수 있을 것이다.
 

가상 네트워크의 유형

한 가지 중요한 차이점은 내부 가상 네트워크와 외부 가상 네트워크의 차이다. 내부 가상 네트워크는 같은 서버에서 실행되는 여러 VM을 연결하는 데 사용된다. 이 경우 하이퍼바이저는 네트워크 패킷을 캡슐화해서 실제 네트워크를 통해 전송할 필요 없이 어느 VM용 패킷인지 확인한 다음 보내면 된다.

컴퓨터 대 컴퓨터 통신용으로 개발된 프로토콜을 같은 물리적 하드웨어에서 실행되는 두 프로세서의 통신 수단으로 사용하는 것이 이상해 보일 수 있다. 같은 서버에서 여러 개 기본 운영체제를 완전히 개별적이고 자립적인 프로세스로 실행할 수 있다는 것이 가상화의 이점 중 하나임을 기억하자. 표준 네트워킹 패킷과 프로토콜을 관련 보안 인프라와 함께 이 용도로 사용하면 VM은 수정 없이 실행되면서 서로 통신할 수 있게 된다.

반면 외부 가상 네트워크에는 별도의 물리적 컴퓨터가 사용된다(또는 VM과 물리적 머신의 혼합). 이 상황에서 머신은 전통적인 물리적 네트워킹 장비에 의해 연결되지만(개방된 인터넷을 통한 연결 포함) 네트워크 관리자가 기반 물리적 토폴로지와는 다른 가상 네트워크 토폴로지를 만든다.

가상 네트워크는 크게 3종류로 나뉜다. 모두 내부 또는 외부 네트워크가 될 수 있다.
 
  • 가상 사설망(VPN)은 가장 단순한 형태의 가상 네트워크다. 개방 인터넷을 통해 로컬 회사 네트워크에 연결되는 단일 컴퓨터로 구성되는 방식이 가장 일반적이다. VPN이 설정되면 이 컴퓨터 및 이 컴퓨터와 상호작용하는 다른 컴퓨터의 관점에서 볼 때 컴퓨터는 원격으로 떨어져 있다고 해도 LAN의 일부다.
  • 가상 로컬 영역 네트워크(VLAN)는 더 복잡해서, 가상으로 정의된 전체 로컬 영역 네트워크로 구성된다. 하나의 물리적 LAN을 여러 VLAN으로 나누거나, 물리적으로 별개인 여러 LAN을 하나의 VLAN으로 결합하는 방식으로 VLAN을 만들 수 있다.
  • 가상 확장 가능 로컬 영역 네트워크(VXLAN)는 VLAN의 강화된 버전으로, 대규모 LAN을 다수의 개별 VLAN으로 분할할 수 있게 해주며 서비스 중단 없이 더 쉽게 VM을 마이그레이션할 수 있게 해준다. 2가지 모두 클라우드 인프라에서 중요하다.
 

가상 네트워크의 장점

가상 네트워킹은 같은 하드웨어에서 여러 VM을 실행 중인 경우(클라우드 컴퓨팅에서 일반적인 시나리오) 절대적으로 필요한 요소다. 기존 물리적 네트워크 위에 VLAN과 VXLAN을 만들면 관리자는 네트워크 구조를 조정해 필요한 요건을 신속하게 충족할 수 있다. 또한 코드형 인프라 시대인 지금은 그 과정을 자동화할 수 있는 경우가 많다. 수동으로 이렇게 물리적 네트워크를 재구축하기는 어렵거나 아예 불가능할 것이다.

이밖에 가상 네트워킹의 장점은 다음과 같다.
 
  • 물리적 네트워킹 하드웨어에 따르는 비용과 유지보수 필요성 절감
  • 제어를 중앙화, 자동화함으로써 네트워크 관리의 능률 향상
  • 더 유연하고 세분화된 네트워크 구성 옵션 제공

이와 같은 모든 혜택은 IT 생산성을 높이고 관리 비용을 낮추는 데 도움이 된다. 가상 네트워킹이 지금 우리 일상의 일부가 된 주된 이유다.
editor@itworld.co.kr
Sponsored
IDG 설문조사

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2023 International Data Group. All rights reserved.