NFV와 네트워크 가상화
SDN이 제어 평면을 소프트웨어로 옮겼다면, NFV는 네트워크 기능 자체를 소프트웨어로 만드는 것입니다. NFV는 Network Functions Virtualization, 네트워크 기능 가상화입니다.
전용 장비에서 소프트웨어로
전통적인 네트워크에서는 방화벽, 로드밸런서, IDS(침입 탐지 시스템), NAT 장비 등이 각각 전용 하드웨어로 존재했습니다. 새로운 서비스를 추가하려면 전용 장비를 구매하고, 랙에 설치하고, 설정해야 했습니다. 장비 도입에 몇 달이 걸리기도 했습니다.
NFV는 이 전용 기능들을 범용 서버 위에서 돌아가는 소프트웨어로 구현합니다. 방화벽, 로드밸런서, NAT가 모두 가상 머신이나 컨테이너로 배포됩니다. 새 서비스가 필요하면 새 인스턴스를 몇 분 안에 띄웁니다. 트래픽이 늘면 인스턴스를 더 추가합니다.
VNF와 서비스 체이닝
NFV 환경에서 각 네트워크 기능 단위를 VNF(Virtual Network Function)라 합니다. 실제 트래픽은 여러 VNF를 순서대로 거칩니다. 외부에서 들어온 패킷이 방화벽 VNF를 통과하고, 로드밸런서 VNF에서 분산되고, 애플리케이션 서버에 도달하는 흐름이 서비스 체이닝입니다.
이 체이닝이 소프트웨어로 정의되므로, 새 VNF를 중간에 삽입하거나 순서를 바꾸는 것이 설정 변경 수준으로 가능합니다. 물리 케이블을 재배선할 필요가 없습니다.
텔레콤과 클라우드의 수렴
통신 사업자(텔레콤)는 NFV를 적극적으로 채택하고 있습니다. 앞 절에서 살펴본 5G 코어 네트워크가 그 대표 사례입니다. 5G 코어의 각 기능, 예를 들어 인증 기능, 세션 관리 기능, 정책 제어 기능은 독립된 마이크로서비스로 구현됩니다. 이것은 클라우드 네이티브 애플리케이션 설계와 동일한 원리입니다.
네트워크와 클라우드 인프라가 같은 원칙으로 만들어지면서, 둘의 경계가 점점 흐려지고 있습니다. 다음 절에서는 그 수렴의 결과물인 클라우드, CDN, 데이터센터 네트워크의 큰 그림을 살펴봅니다.