[칼럼]'오픈플로' SW지향적 미래 네트워크를 그리다

전문가 칼럼입력 :2012/07/06 09:24

권희웅
권희웅

최근 네트워크 업계의 화두는 소프트웨어 정의 네트워크(SDN)와 오픈플로(OpenFlow)다. 이 둘 간의 관계는 SDN을 실현하는 데 있어 열쇠를 쥐고 있는 것이 오픈플로라 보면 된다. 먼저 두 키워드의 개념을 살피자면, SDN은 좀더 이해하기 쉬운 표현으로 NaaS(Network as a Service) 또는 프로그래밍 가능한 네트워크(Software Driven Network)라 할 수 있다. 전통적인 네트워크 장비는 각각의 역할이 정해져 있는 일종의 블랙박스다. SDN 환경에서는 스위치나 라우터가 기능이 고정된 완제품이 아니라 프로그래밍을 통해 필요한 때 원하는 기능을 할 수 있는 화이트박스다.

여러 벤더에서 만든 장비들을 마치 한 벤더 제품처럼 프로그래밍하거나 정책을 내려 역할을 정의하기 위해 필요한 것이 오픈플로다. 사실 SDN 보다 앞서 기술적으로 차세대 네트워크 구현에 접근하고 한 것이 오픈플로이며, 좀더 확장된 개념에서 산업 표준화를 추구하고자 하는 것이 SDN이라 보면 된다. 오픈플로는 쉽게 말해 표준화된 관리 인터페이스를 제공해 어떤 벤더의 장비이건 임의로 제어 및 프로그래밍을 통한 새로운 기능 부여를 가능케 하는 기술이라고 볼 수 있다.

필자가 칼럼을 통해 SDN과 오픈플로를 알리고자 한 이유는, 상용 제품을 만드는 벤더들이 기존 게임의 규칙을 깨고 부분적으로 오픈소스의 발전 모델을 적극 수용해 가고 있기 때문이다. 또 이런 움직임 덕에 대학 연구자나 중소 장비 업체들에게 새로운 기회가 다가오고 있다.

오픈플로는 명백하게 보면 오픈소스가 아니다. 추구하는 이상이 유사할 뿐이다. 오픈플로는 스탠포드 대학에서 진행한 미래 인터넷 연구의 주요 결과물 중 하나로 출발했지만, 현재 개발을 주도하는 주체는 멤버십 회원사들이다. 연구 자금을 대는 이사회 멤버로 마이크로소프트, 구글, 야후 등 6개 기업이 있고 회원사로는 KT, 시스코, IBM, 주피터, 브로드컴, VM웨어 등 56개 글로벌 ICT 기업들이 참여하고 있다.

■오픈플로, 오픈소스의 이상을 쫓다

이처럼 기업들의 입김이 강한 프로젝트인 오픈플로가 어떻게 오픈소스형 개발 및 혁신 모델을 취할 수 있을까? 오픈플로의 탄생 배경과 기술적 특징에서 이에 대한 답을 찾을 수 있다. 오픈플로는 네트워크 연구자들의 순수한 열정에서 아이디어가 출발한다. 새로운 프로토콜을 연구한다거나 스위치나 라우터 관련 새로운 기술적 시도를 할 때마다 연구자들은 실제 필드에서 테스트해보고 싶어한다. 하지만 이는 현실적으로 불가능하다. 실제 운영 중인 네트워크를 대상으로 실험을 한다는 것은 있을 수도 없는 일이다.

오픈플로는 이런 오래된 고민을 해결하는 방향을 제시해 준다. 상용 스위치나 라우터를, 시쳇말로 뜯어 보고 코드를 고치지 않고도 제어할 수 있는 표준화된 방법을 제공한다. 이를 가능케 하는 것은 바로 플로테이블(Flow-Table)이다.

플로테이블은 네트워크 상에서 통신을 할 때 스위치와 라우터를 지나가는 방법에 대한 규칙을 기록한 테이블이라 보면 된다. 가령 IP A에서 B로 통신할 때 1번 포트로 들어올 경우 10번 포트로 나가야 한다 등의 규칙을 플로테이블에 적어 두면, 이에 따라 스위치와 라우터가 동작한다. 물론 이런 제어 방식은 스위치와 라우터가 기본적으로 제공해왔던 것이다. 그렇다면 오픈플로 방식의 차이는 무엇일까? 기존 제품들은 제조사에서 제공한 방법 내에서만 가능하다면 오픈플로는 어떤 기업의 제품이건 가리지 않고 자유롭게 역할을 정의할 수 있다는 것이다.

이런 특징으로 인해 오픈플로는 대규모 프로덕션 네트워크 상에서 기존 환경과 서비스에 영향을 주지 않는 한에서 차세대 네트워크에 대한 다양한 실험을 가능케 한다. 바로 이 부분이 오픈플로가 개발자 또는 연구자들에게 ‘자유를 선사하는’ 오픈 소스의 발전 모델을 닮았다고 필자는 생각하고 있다.

다만 차이가 있다면 코드 수준이 아니라는 점이다. 오픈플로는 장비 단위가 아니라 네트워크 인프라 전반을 대상으로 하는 개념이다. 따라서 장비 제조사들에게 자사 제품의 코드나 하드웨어의 구조적 경쟁력을 굳이 공개하라는 무언의 압력을 넣을 필요가 없이 연구자들과 업체들 간 타협점을 찾을 수 있다. 그리고 기업들은 오픈플로를 기반으로 다양한 소프트웨어나 서비스를 개발 하고 판매 할 수 있어 연구자와 기업 모두가 원하는 바를 얻을 수 있는 윈윈 협력인 셈이다.

관련기사

오픈플로의 미래는 무척 밝아 보인다. 상용 장비 업체들과 연구자들의 뜻이 이미 맞았고 여러 업체에서 오픈플로 적용을 공식화 하는 분위기다. 필자가 몸담고 있는 회사에서도 오픈플로 관련 개발이 진행 중이다. L4/L7 영역에서 기존 스위치가 하던 역할을 뛰어 넘는 유연성을 부여할 수 있음에 대한 확인을 마치고 실제 기업 망에서 어떻게 적용 가능한지에 대한 검토 단계에 있다.

오픈플로를 검토하면서 필자가 느낀 점은 SDN과 오픈플로가 지향하는 네트워크를 소프트웨어로 정의한다는 것은 네트워크 엔지니어라는 전문 영역에 대한 고정 관념을 깬다는 것이다. 고정된 기능을 설정하는 것이 과거 네트워크 엔지니어의 주요 역할이었다면 SDN과 오픈플로가 주류가 될 경우 프로그래밍 역량이 네트워크 엔지니어게 요구될 것이다. 기업뿐 아니라 네트워크 엔지니어가 SDN과 오픈플로에 주목해야 할 이유가 아닐까.

*본 칼럼 내용은 본지 편집방향과 다를 수 있습니다.

권희웅 IT컬럼니스트

리눅스 커널을 들여다 보고 개발을 해온지 어언 십수년, 현재 네트워크 장비를 개발하고 있습니다. 효율적이고 생산적인 개발을 고민하고 있으며, 리눅스 및 커널 네트워킹과 시스템의 작동 원리 등에 관심이 많습니다.