무선 네트워크 환경에서의 최근 애플리케이션 요구 사항들은 완고한(inflexible) 관리와 동작 방식을 갖는 기존의 WiFi 네트워크 기술로 충족되기 어렵다. 이 글에서는 SDN(Software-Defined Networking)/NFV(Network Function Virtualization) 기술을 이용한 OpenSDWN이라 불리는 프로그래머블(programmable) WiFi 네트워크 구조를 제시한다. OpenSDWN은 데이터-경로 프로그래머빌리티(programmability)를 사용하며 서비스 차등화(service differentiation), 전송 제어, 어플리케이션-별 우선순위화를 제공한다.

OpenSDWN은 끊김 없는 이동성(mobility) 및 마이그레이션(migration)을 지원하기 위해, 클라이언트에 따른 가상 접속 포인트들(APs: Access Points)과 가상 미들박스(MB: MiddleBox)들을 구현한다. OpenSDWN은 홈 네트워크의 제어를 외부로 참여식 인터페이스(participatory interface)나 인터넷 서비스 제공자(ISP: Internet Service Provider)에 위탁하는 것도 가능하다.

이 글에서는 OpenSDWN에 대한 주요 내용들을 개략적으로 서술하여 프로그래머블 WiFi 네트워크에 대한 이해를 돕고자 한다. 

1. 서론
고효율의 최적화된 새로운 5G용 무선 인터페이스와 5G 인프라 요구 사항을 지원하게 될 수정된 네트워크는 하드웨어와 소프트웨어의 근본적인 복잡성을 추상화하는(abstract underlyaing complexity) 간소화된 관리와 오케스트레이션(orchestration) 계층을 구축하는 기능을 제공해야 한다.

새로운 5G 인프라를 성공적으로 구축하기 위해서는 다양한 장비들이 필요하다. 지리적 위치나 클라우드 무선 접속망(Cloud RAN)과 같은 기술, 분산형 콘텐츠 전송, 확장형 제어 네트워크, 적응형 안테나 어레이 등이 필요할 것이다. 예를 들어, Cloud RAN은 혁신적인 신기술로 다수의 기지국과 관련 제어 네트워크가 클라우드를 사용하기로 한 곳에 제공된다.

Cloud RAN, 분산형 콘텐츠 전송, 확장형 제어 네트워크 전반의 새로운 플랫폼 요구 사항을 충족하기 위해 다음과 같은 새로운 기술들을 활용하여 획기적인 성과를 이루어냈다.

2. OpenSDWN의 사용 예와 개요
2.1. 사용 예들
서비스 차등화(service differentiation): 전송 속도, 송수신 전력, 재전송 등을 관리자/사용자가 플로우(flow)나 패킷(packet) 단위로 설정할 수 있어서 미세한 네트워크 관리/제어가 가능하다. 

이동성과 마이그레이션(migration): 클라이언트-당 AP(Access Point) 및 MB(MiddleMox)들을 가상화하여 이동 중에도 끊김이 없도록 mobility을 지원하고, 사용자 요구에 따라 동적으로 자원량을 조절하고 기능을 마이그레이션한다. 마이그레이션은 기존의 것들을 새로운 환경으로 이전하는 것을 말한다.  

그림 1. OpenSDWN의 세 가지 기본 동작들.

유연한 전개(flexible deployment): 방화벽(firewall), NAT(Network Address Translation), 서비스 차등화(service differentiation)에 대한 네트워크 기능들을 유연하게 전개하고 할당할 수 있다. 예를 들어, 한 집에 있는 다른 사용자들은 MB나 컨트롤러(controller)를 실행하기 위해 그들 각자의 거주지 밖에 있는 shared box를 사용할 수도 있다. 

유연한 제어(flexible control)와 참여식 네트워킹(participatory networking): 네트워크 장비 및 MB에 통합 제어와 프로그래머빌리티(programmability)를 제공하며, 참여식 인터페이스(participatory interface)로 개인화된 시스템 유연성(예: 우선순위나 전송 정책 변경)을 제공한다. 

2.2. 개요
프로그래매틱 추상화(programmatic abstrac-tion): 중앙-집중식 control plane은 국지적으로 AP와 MB 모두를 가상화하여 클라이언트 상태에 따른 제어와 마이그레이션을 쉽게 한다[그림 1(a)]. vMB는 클라이언트의 MB 상태를 가상의 MB 객체로 캡슐화하여 SDN/NFV 어플리케이션에 따른 제어 논리 고립화를 얻는다.

OpenSDWN 추상화는 Odin의 NFV에 대한 확장으로 보일 수 있다. Odin의 LVAP(Light Vir-tual Access Point) 개념은 IEEE 802.11 프로토콜 스택(인증, 핸드오버)의 복잡성을 추상화하고 유무선 네트워크의 통합된 슬라이싱을 위해 적용되었다. 

프로그래머블 데이터-경로: 프로그래머블 데이터-경로는 플로우-당 전송 설정(예: 전송 전력, 전송 속도)이 가능하여 특정 플로우를 다른 플로우들과 차등화할 수 있다[그림 1(b)]. 같은 플로우 내의 패킷들 사이에서도 차등화가 가능하다.

예를 들어, 실시간 스트림에서 주요 프레임들은 다른 것들에 비해 높은 우선순위를 가질지도 모른다. 이것은 패킷 분류(packet classification)와 태킹(tagging) 기능을 갖는 IDS(Intrusion Detection System) 사용하여 가능하다. 

참여식 인터페이스(participatory interface): 참여식 인터페이스는 플로우나 고객의 우선순위 설정을 할 수 있게 한다. 설정된 우선순위들은 컨트롤러에 의해 의미를 가지는 네트워크 정책들로 번역된다. 그 우선순위는 아무 때나 설정되어 적용될 수 있다. 

3. OpenSDWN 시스템 
3.1. 무선 SDN
OpenSDWN은 LVAP(Light Virtual Access Point) 추상화, LVAP 마이그레이션을 통한 이동성 지원(mobility support), 논리 네트워크상의 자원 중재를 위한 슬라이싱(slicing)을 제공한다. 네트워크 슬라이스는 SSID의 개별 셋을 갖는 가상의 네트워크이다. 

OpenSDWN은 플로우 단위의 WiFi 데이터-경로 설정 규칙들(예: OpenFlow 엔트리에 대한 전송 특성들)로 서비스 차등화를 제공한다. 특히 OpenFlow 매치-액션(match-action) 규칙들을 무선 AP들의 WDTX(Wireless Transmis-sion rules)에 결합하면 미세한 전송 제어가 가능하다. BPR(Best Probability Rate), BTR(Best Throughput Rate), SBTR(Second Best Throughput Rate), CMR(Common Maximum Rate = Fixed Rate) 등의 목표 수치에 근거해 무선 전송을 하게 된다. 이때 전송 속도는 변조(modulation)나 코딩(coding) 방식에 의존적이다. 

무선 네트워크의 동적 특성과 클라이언트 이동성 지원을 위해, OpenSDWN은 퍼블리시-서브스크라이브(publish-subscribe) 인터페이스를 통해 컨트롤러에서 네트워크 이벤트들에 대한 개별 제어를 한다. 

3.2. 가상 미들박스들
OpenSDWN에서 서비스 차등화 메커니즘은 플로우들을 식별하고 분류하기 위해 딥-패킷 인스펙션 미들박스(deep-packet inspection middlebox)를 이용한다. OpenSDWN은 마이그레이션을 통해 가상 네트워크 내에 있는 MB들을 통합하고 클라이언트 이동성 지원과 동적 네트워크에 대한 확장성을 제공한다. 

vMB는 사용자-특유의 상태 정보를 유지하고, 하나의 MB 인스턴스로부터 다른 인스턴스로 전송될 수 있다. 물리적 MB의 상위에서 MB 에이전트는 MB의 물리적 자원들로의 인터페이스, vMB들을 다루고, 원격 엔트리에 대한 MB의 제어를 가능하게 한다. 또 MB 에이전트는 컨트롤러가 기능 초기화, 삭제, 모니터링을 하는 등의 동작을 제공한다. 

OpenSDWN에서, vMB들은 튜닝 가능한 내부 파라미터의 리스트인 configuration file에 의해 정의된다. vMB가 하나의 MB 에이전트에서 다른 MB 에이전트로 옮기면, 새로운 MB가 사용자의 트래픽을 다룰 수 있다. vMB들은 물리 MB들 사이에서 사용자 트래픽에 무관하게 MB들을 제어하도록 설계되었다. 네트워크 이벤트에 따른 확장을 지원하고 MB를 모니터링하기 위해, OpenSDWN은 퍼블리시-서브스크라이브 인터페이스를 구현한다. 

3.3. 참여식 인터페이스
OpenSDWN의 참여식 인터페이스는 WiFi 사용자/네트워크 운영자/콘텐츠 제공자가 플로우 차등화(flow differentiation) 관점에서 성능을 나타낼 수 있게 한다. 특히 전송 우선순위를 할당하여 외부 엔티티들에 대한 정렬이 가능하다. 참여식 인터페이스는 종단-사용자(end-user)들에게 네트워크 복잡도(complexity)를 숨긴다. 사용자는 선호도에 따라 우선순위를 설정할 수 있다. 그 설정된 우선순위는 컨트롤러에 의해 반영된다.

그림 2. WDTX과 vMB 조작을 통한 OpenSDWN 내 플로우의 미세 전송 제어에 대한 평가.

콘텐츠 서버 IP에 따른 고정 서비스 매핑(mapping) 방식은 시스템을 무겁고 다루기 힘들게 함에 따라, OpenSDWN은 서명 기반의 침입 탐지 시스템(IDS: Intrusion Detection Sys-tem)을 사용한다. IDS가 관심 서비스를 탐지하면 즉시 OpenSDWN 컨트롤러에 알려 필요에 따라 정책을 변경할 수 있게 한다. 

시스템 진화와 새로운 서비스 도입을 위해, 참여식 API는 외부 어플리케이션들에 의한 새로운 서명(signature)들을 이용할 수 있게 한다. 기술적으로 참여식 인터페이스는 HTTP GET request에 포함된 또는 인증서 내 도메인 이름에 포함된 URI(Uniform Resource Identifier)에 기반하여 구현될 수 있다.

4. 평가
4.1. 전개 및 방법론
OpenSDWN은 25개의 IEEE 802.11n AP들로 구성된 오피스 빌딩의 한 층으로 구성한 인도어(indoor) WiFi 네트워크와 이더넷(Ethernet)과 10개의 인도어/아웃도어 WiFi AP들을 사용하여 21500 제곱피트 내의 전체 빌딩들로 구성한 네트워크에서 실험되었다. 모든 AP들은 OpenFlow 1.3을 지원하는 OpenWrt의 Chaos Calmer를 실행한다. WiFi AP는 하나 이상의 NIC가 장착되어 IEEE 802.11a/b/g/n을 지원한다. 

OpenSDWN의 컨트롤러와 MB들은 하이퍼-쓰레딩(hyper-threading) 지원을 위한 4개의 CPU 코어들과 8 GB RAM이 장착된 비-가상화(non-virtualized) 서버에서 평가되었다. 모든 서버는 OvS 2.0.2나 2.3.90의 Debian-기반의 OS에서 동작한다.

시스템은 모니터링 포트를 통해 데이터를 검사한다. 컨트롤러와 MB들의 성능 평가를 위해 OpenFlow 컨트롤러, MB(MiddleBox), 그리고 트래픽 발생기(traffic generator)의 3개의 단독 서버가 사용됐다.

4.2. 사용자-정의된 서비스 차등화
전송 규칙 확장에 대한 벤치마킹: WDTX 규칙이나 플로우 엔트리 바운드(flow entry bound)를 통해, OpenSDWN에서는 트래픽의 우선순위를 나누는 것이 가능하다. 지연-민감(latency sensitive) UDP 플로우에 대한 플로우 단위의 전송 규칙을 할당에 따른 성능 영향을 살펴본다. 실험을 위해, 각 2개의 OpenSDWN AP들과 클라이언트들을 사용한다.

각 클라이언트는 인도어(indoor) 테스트베드(testbed) 내의 AP들 중 하나에 연결된다. 실험에서 하나의 AP와 하나의 클라이언트 사이에 BE(Best Effort) TCP 트래픽을 발생시키고 그 AP와 다른 클라이언트 사이에 지연-민감 플로우를 발생시킨다. 

초기에는 지연-민감 플로우와 백그라운드 트래픽(background traffic)이 동일하게 취급되어 플로우는 대략 8 ms의 RTT(Round Trip Time)을 갖게 된다. 플로우에 할당된 BPR(Best Probabil-ity Rate)은 그 RTT가 변하지 않도록 한다.

이때 미디엄(medium) 접근이 높은 우선순위를 갖는 음성 접속 카테고리(AC:VO; Voice Access Category)로 변경되면, 그림2(a)에서 보듯이 높은 우선순위를 가진 플로우들의 RTT가 4 ms 이하로 줄어들게 된다.

그 다음으로 그림2(b)는 패킷 손실(packet loss)에 따른 전송 속도 실험 결과이다. 높은 우선순위를 갖도록 플로우에 해당되는 OpenFlow 규칙을 설정하면, MAC 계층에서의 재전송이 줄어든다. 결과적으로 OpenSDWN은 현재 홈 네트워크에서의 트래픽 요구사항에 더 적합하게 플로우 단위의 자원 할당을 가능하게 한다. 

DPI 인터페이스에 대한 벤치마킹: 지연 시간과 서비스 발견(service discovery)을 위한 부하에 대한 이해를 위해 대학 캠퍼스 네트워크에서의 전형적 스트리밍 서비스를 추적하였다. 그림2(c)는 그 측정된 서비스 탐지 시간과 부하 지연 시간 분석 결과를 보여준다.

서비스 탐지 체인(service detection chain)에서의 병목 현상들을 추정하기 위해, 그 탐지 과정에서 다른 콤퍼넌트들에 의해 추가되는 지연 시간을 측정한다. 여기서 버스트(burst) 시나리오 상에서 시스템이 다른 속도의 이벤트들에 대해 어떻게 반응하는지가 주요 관심사이다. 그래서 다른 시간 간격에서 연속적으로 트리거링(triggering)되는 서비스 이벤트들을 탐지한다. 

이때 두 개의 연속 이벤트 사이에서 결정(decision)을 위한 지연 시간이 추가된다. 실험을 위해 2 us에서 1s 사이의 지연을 위해 총 300개의 이벤트를 발생시킨다. 이 과정을 2개의 다른 시나리오에서 실험한다. 첫 번째 시나리오에서 네트워크 지연 시간을 제거하기 위해, 컨트롤러와 MB 에이전트를 동일 호스트에 위치시킨다. 이 시나리오에서는 이벤트 큐에서 발생되는 평균 지연을 측정한다. 

두 번째 시나리오에서 그 컨트롤러와 MB 에이전트는 다른 호스트에 위치시킨다. 이 시나리오에서는 이벤트가 발생하고 플로우를 위해 필요한 전송 규칙을 설치하는 시간을 측정한다. 이 지연 시간은 MB 에이전트의 처리 시간, MB 프로토콜에 의한 시간 지연, 그리고 컨트롤러에서 이벤트를 다루는 시간을 포함한다. 예상대로 더 큰 지연을 갖는 느린 속도의 이벤트들에 대해서는 늦게 반응한다. 높은 속도의 이벤트들에 대한 최악의 경우에는 대략 60ms의 총 지연 시간을 갖는다. 

미디엄 접근 최적화기(medium access opti-mizer): 단일 AP와 3개의 클라이언트로 구성된 네트워크에서 VoD(Video-on-Demand) 전송 최적화에 대한 실험을 하였다. 시스템 업데이트를 하는 클라이언트, VoD 스트림을 요청하는 클라이언트, UDP 기반의 VoIP 전화 통화를 하는 클라이언트가 있다고 하자.  

초기에 모든 플로우들은 BE(Best Effort) 트래픽으로 동등하게 다뤄지지만, 우선순위가 높은 트래픽의 처리율이 더 클 것이다. 그러나 mac80211에서 음성 큐는 집적(aggregation)을 수행하지 않아서 너무 많은 경쟁 기지국에 의한 문제가 있을 수 있다. 특히 미디엄(medium) 접속 확률이 높을지라도, 802.11 프레임 집적 없이는 네트워크 성능이 상당히 낮을 수 있다. 

즉 이웃 WiFi 네트워크 등에 의한 백그라운드 트래픽에 의해 플로우가 방해 받으면, 플로우를 집적(aggregation)을 가진 높은 큐로 스위칭(switching)하여 처리율을 높일 수 있다. 

DASH(Dynamic Adaptive Streaming over HTTP) 기반의 VoD(Video-on-Demand) 트래픽은 그 버스트 특성 때문에, VoD 서비스들은 더 많은 집적이 가능하면 비디오 품질에 따른 빠른 스위칭으로 그 BE 트래픽을 다소 감소시킨다. 

BE 플로우들은 우선순위 트래픽들의 존재에 따른 심각한 재전송 문제가 발생되지 않는다. 왜냐하면 우선순위를 사용하는 것은 그림 3(a)에서 보는 것과 같이 MAC 계층의 재선송에 대한 큰 영향 없이 BE 플로우들의 처리량을 감소시키기 때문이다.

4.3. 스마트 다이렉트 멀티캐스트 서비스
OpenSDWN은 그룹 통신[예: 멀티캐스트(multicast), 브로드캐스트(broadcast)] 추상화에 사용될 수 있다. IEEE 802.11에서 기본 속도로 보내어진 멀티캐스트 패킷들은 DMS(Direct Multicast Service)에 의해 유니캐스트(unicast) 방식으로 전송될 수 있다. 

그림 3. 서비스 차등화와 스마트 multicast OpenSDWN 어플리케이션의 평가.

OpenSDWN의 컨트롤러는 특정한 멀티캐스트 서비스를 위해 서브스크립션(subscription)들의 수를 검출하고 이들에 대한 전송을 제어한다. OpenSDWN은 무선 장치 그룹에서 멀티캐스트 데이터의 특정 스트림에 WDTX 전송 규칙을 할당하기도 한다. 

단일 AP와 IPTV STB(Set-Top-Box)를 갖는 OpenSDWN에서 단일 스테이션의 경우 멀티캐스트 스트림을 무선 미디엄에서 유니캐스트처럼 보내기 위한 규칙을 설정하고, 다수 스테이션의 경우 MCTR(Maximum Common Transmission Rate)에서 멀티캐스트하도록 스위칭한다. 이때, 유니캐스트로의 스위칭은 시간 지연을 발생시킨다.

단일 AP와 IPTV Set-Top-Box가 있는 OpenSDWN의 스마트 멀티캐스트 어플리케이션의 성능을 평가한다. 먼저 IPTV는 멀티캐스트 데이터를 그 Set-Top-Box로 연속 스트림 방식으로 보낸다. 그 어플리케이션은 단일 기지국에서의 멀리캐스트 스트림은 무선 미디엄 상의 유니캐스트처럼 보내도록 하는 규칙을 설정한다.

다수 기지국이 있으면 그 어플리케이션은 MCTR에서의 멀티캐스트가 되도록 스위칭한다. 그림3(c)는 멀티캐스트에서 유니캐스트로 스위칭 될 때, 처리량과 프레임 수가 28s 이후에 증가하는 것을 보여준다. 그림3(b)는 HD IPTV 스트림이 IEEE 802.11g 네트워크의 기본 속도를 쉽게 넘게 되는 것을 보여준다.   

4.4. 사용자 이동성
상태-저장형(stateful) 방화벽 vMB 인터페이스에 대한 벤치마킹: 사용자 이동성은 OpenSDWN vMB의 상태-저장형 방화벽에서 Linux Kernel의 conntrack 모듈에 있는 netlink 인터페이스를 이용하는 vMB 확장의 읽기, 쓰기, 삭제 성능에 영향을 준다. 마이그레이션 동작은 최소 읽기 및 쓰기 시간의 합에 엔트리 수를 곱한 값 이상의 시간을 필요로 한다. 오래된 vMB 상태의 삭제는 객체를 완전히 로드(load)한 뒤에 새로운 MB로 교체 후 이뤄진다.

방화벽 상태 마이그레이션: 방화벽 상태 마이그레이션 서비스는 MB 인스턴스들 사이에서 상태 변경의 외부 이벤트를 통해 구동되는 리액티브(reactive) 애플리케이션이다.

Odin이 새로운 AP에서 더 높은 수신신호강도(RSSI; Received Signal Strength Indi-cation)를 가진 클라이언트를 검출하면 새로운 AP로 옮기기 위한 핸드오버 이벤트가 발생되고 핸드오버 전에 클라이언트의 방화벽 상태는 그 AP로 마이그레이션된다. 

방화벽 상태 마이그레이션 서비스는 그 다음 모바일 사용자의 상태가 마이그레이션이 필요한지 아닌지 결정하고, AP들과 방화벽들 사이에 매핑 관계를 유지한다. 만약 클라이언트가 다른 AP로 이동하면, 클라이언트 연결 추적 상태의 마이그레이션이 수행된다. 

상태 마이그레이션 동작 중에 컨트롤러는 MB에 있는 내용을 읽고 목적 MB 식별자로 설정 정보를 쓰고 그 상태를 이동하고 삭제하는 3가지 동작을 수행한다. 에이전트에서 단일 규칙을 위한 커널 통신은 1msec 이하이다. 리눅스 커널 넷링크(Linux Kernel netlink) 인터페이스에서의 RPC(Remote Procedure Call) 인터페이스와 엔트리 프로세싱이 대부분의 프로세싱 시간을 차지한다. 

5. 프로토타입 구현
5.1. 인터페이스들
라디오 인터페이스: OpenSDWN의 WiFi AP에서 시간-민감(time-critical) 부분은 WiFi NIC의 하드웨어에 의해 동작되고 시간-둔감(non time-critical) 부분은 컨트롤러나 에이전트에 소프트웨어로 구현된다. 이는 분석 WiFi 스플릿(split)-MAC 구조에서 구현된다. 입력 프레임들의 일치 과정은 네트워크 어플리케이션들이 프레임-당 이벤트들을 구독할 수 있는 퍼블리시-서브스크라이브(publish-subscribe) 시스템을 지원하기 위해 수행된다. 

무선 전송 규칙 인터페이스를 미세하게 제어하기 위해, 리눅스 커널의 mac80211 드라이버 추상화와 minstrel 속도 제어 알고리즘을 OpenSDWN에 구현한다. OpenSDWN에서는 플로우 단위의 물리 계층 설정을 WDTX 규칙들로 제어한다.

무선 전송 설정은 WiFi NIC(Network Inter-face Controller)의 다중 속도 재시도 체인(multirate retry chain)에 따라 설정될 수 있다. 전송을 위해 LVAP(Light Virtual Access Point)의 MCTR(Maximum Common Trans-mission Rate) 또는 WDTX 규칙의 최대 전송 시간을 설정할 수 있다. 입력 포트에서의 OpenFlow 플로우 엔트리(entry)들과 일치하는 모든 패킷들에 태그를 붙여 새로운 동작을 정의하여, WDTX 규칙들이 OpenFlow 규칙을 따를 수 있게 한다. 

효과적인 제어 결정을 위해, 무선 네트워크 어플리케이션들은 프레임 단위뿐 아니라 미디엄 그 자체에 대한 통계에 대한 접근이 필요하다. 다중 계층에서의 RSSI, OpenFlow 통계, 스펙트럼 관리 등에 대한 통계도 활용이 필요하다. 

미들박스 인터페이스: 미들박스(MB: Mid-dleBox)의 에이전트는 무선 자원들에 대한 인터페이스를 제공하고 vMB 및 control plane의 MB를 관리/제어한다. OpenSDWN는 MB에 대한 2개의 인터페이스를 구현한다. 하나는 상태-저장형(stateful) 방화벽이며 다른 하나는 딥-패킷(deep packet) 감시를 위한 인터페이스이다. 상태-저장형 방화벽 vMB은 비-실시간 부분에 대해서는 외부 라이브러리를 이용하여 확장 가능하며, 통계 정보를 수집할 수 있다.

MB 에이전트는 콘트롤 플레인 상에 퍼블리시/서브스크라이브(publish-subscribe) 시스템을 구현한다. 상태-저장형(stateful) 방화벽 추상화(abstraction)는 컨트롤러에서 이벤트를 받기 위한 인터페이스를 구현해야 한다.

에이전트는 이벤트 마스크(event mask)를 생성하는 데 사용될 수 있는 파라미터들의 리스트를 제공한다. 컨트롤러는 이벤트 정보를 ‘Event_List_Req’ 메시지를 통해 요청할 수 있다. 각 이벤트 마스크를 위해 그 에이전트는 필터와 이벤트 ID를 생성한다. 이러한 식으로 컨트롤러는 ID에 따라 관심이 없는 공지를 비활성화한다.  

5.2. 제어 영역(Control Plane)
OpenSDWN 컨트롤러는 애플리케이션에 대한 인터페이스들의 집합을 진열하고 이벤트들을 네트워크 장비들 상의 명령어들 집합으로 바꿔준다. 또한, 그 컨트롤러는 클라이언트들, AP들, MB들, OpenFlow 스위치들을 포함하는 네트워크에서 애플리케이션들에 따라 그들을 제어할 수 있게 한다. 

리액티브(reactive) 애플리케이션들은 라디오와 MB 에이전트의 퍼블리시-서브스크라이브(publish-subscribe) 시스템에 영향을 준다. 이벤트들의 양을 감소시키기 위해 OpenSDWN은 이벤트들에 대한 임계값 등록을 위한 애플리케이션들을 지원한다. PHY/MAC 계층에서 수신신호강도(RSSI: Receiver Signal Strength In-dicator)의 통계 정보, 비트-속도(bit-rate), 마지막 받은 패킷의 타임스탬프(timestamp) 정보가 제공될 수 있다. 

즉 컨트롤러의 어플리케이션은 ­70dBm 이상의 RSSI에서 프레임이 에이전트에 수신될 때 에이전트에서 컨트롤러로 공지되었는지를 물어볼 수 있다. 그리고 애플리케이션들은 프레임워크 바깥에 있는 다중 측정 소스로부터 데이터를 수신할 수 있다. 

참여식 인터페이스(participatory interface): 참여식 인터페이스는 서비스 랭킹(service ranking)이라 불리는 SDN의 Web 애플리케이션 형태로 구현된다. 입력으로 우선순위 정보를 수신하고 컨트롤러에 요청에 따라 전송 규칙(예: 플로우에 대한 QoS 클래스나 WDTX 규칙 할당)을 만든다.

OpenSDWN의 트래픽 매니저 모듈은 출발지 IP, 목적지 IP, 출발지 포트, 목적지 포트, 그리고 전송 프로토콜(transport pro-tocol)의 5개 헤더 튜플(header tuple)을 공유하는 패킷 그룹인 플로우들에 대해 네트워크 정책(예: 전송 규칙)을 적용한다. 참여식 인터페이스에 대한 애플리케이션 개발자는 서비스 이름, 장치 ID나 IP 주소, 우선순위를 정의해 서비스 랭킹 인터페이스와 상호작용하도록 할 수 있다. 

리액티브(reactive)와 프로액티브(proactive) 애플리케이션들: OpenSDWN의 상위에 있는 네트워크 어플리케이션들은 리액티브 또는 프로액티브 방식으로 기능을 할 수 있다. 리액티브 애플리케이션들이 이벤트를 다루기 위해 트리거들(triggers)이나 콜백들(callbacks)을 사용하는 반면에 프로액티브 어플리케이션들은 시간에 의존적이다. 리액티브 방식의 동작은, 특히, 채널 품질이 빠르게 변할 수 있는 WiFi 네트워크 관점에서 흥미롭다. 

라디오 에이전트 인터페이스: 리액티브 어플리케이션들은 라디오 에이전트의 퍼블리시-서브스크라이브 시스템의 사용이 가능하다. 프레임 단위에서의 공지를 받음으로써 핸들러(handler)를 등록할 수 있다. 어플리케이션들은 PHY/MAC 계층의 수신 통계에 대한 임계치를 등록한다. 

미들박스 에이전트 인터페이스: vMB 프로토콜에서 메시지 교환을 위해 요청(request)-응답(response) 모델과 퍼블리시-서브스크라이브 모델을 사용한다. 요청-응답 모델에서 컨트롤러는 원격에서도 콘텐츠 요청 메시지를 MB 에이전트에 보내고 그에 대응되는 액션을 수행시킨다. 퍼블리시-서브스크라이브 모델에서 컨트롤러는 설정된 이벤트 셋과 파라미터들을 이용하여 필요한 콘텐츠를 선별한다. 

OpenFlow 통계: OpenFlow는 스위치 플로우 테이블을 통해 플로우 단위 또는 포트 기반의 엔트리 통계를 제공한다.

6. 관련 연구
OpenSDWN은 LVAP 추상화를 제공하는 Odin와 Aeorflux 구조의 확장이다. Dy-son은 무선 LAN의 확장 구조이다. Flash-back은 데이터 전송 중에 제어 메시지 송신이 가능하게 하는 WiFi 네트워크 제어 기술을 소개한다.

BeHop은 거주지/엔터프라이즈 환경에 밀집된 WiFi 네트워크들을 위한 프로그래머블 무선 테스트베드이다. Atomix는 무선 인프라에 애플리케이션 구축을 위한 모듈러(modular) 소프트웨어 프레임워크이다. FlexRadio는 MIMO, 전-이중(full-duplex) 통신, 간섭 정렬(interference alignment)과 같은 RF 체인 기술을 통합하고 유연한 RF 자원을 할당하는 것이 목적이다. 

DIRAC는 링크 계층 정보가 AP의 에이전트들에 의해 중앙 컨트롤러로 릴레이되는 스플릿(split) 구조이다. DenseAP는 채널 할당을 통한 효율적인 자원 이용이 가능하지만, 슬라이싱이나 클라이언트 관리에 있어서는 제한적이다. Centaur는 엔터프라이즈 WiFi 네트워크에 히든 터미널(hidden terminal)들을 마이그레이션하고 외부 터미널들을 찾아 데이터-경로 설정을 최적화하는 것이 목적이다. 

Picasso는 MAC/PHY 계층에서의 가상화가 가능하며 스펙트럼 슬라이싱을 이용하여 단일 라디오가 다른 주파수들로 동시에 송수신하는 것을 허용한다. MAClets는 다중 MAC/ PHY 프로토콜들로 하나의 RF 프론트-엔드(front-end)를 공유하는 것을 가능하게 한다. 

FICA는 트래픽 요구에 따라 PHY 계층에서의 하나의 채널을 독립된 서브채널들로 나눈다. Jello는 플로우 단위의 전송 설정이 가능하다. OpenRadio는 시스템이 클린-상태(clean-state) 프로그래머블 네트워크 data plane을 가질 수 있게 한다. 

프로그래머블 셀룰러 네트워크 관점에서, C-RAN(Cloud RAN)은 프로세싱을 중앙-집중화하고 라디오 송수신 유닛들을 모바일 가입자에 가깝게 배치하여 저비용의 유연한 네트워크 운용을 가능하게 한다.

SoftCell은 셀룰러 네트워크에서의 동작을 단순화하고 MB들의 시퀀스들로 서비스 정책을 설정한다. SoftRAN은 SDN 기술로 중앙-집중식 간섭/부하/QoS 관리를 하며 플러그-앤-플레이(plug-and-play) 알고리즘으로 기지국 추상화를 제공한다. 

SDN/NFV 합동 제어식의 OpenNF 구조에서는 네트워크 기능 인스턴스들 상의 플로우들을 효과적 관리를 위해 이동, 복사, 공유가 가능한 NBI(Nouth-Bound Interface)가 구현되어 있다. ClickOS는 단순한 가상 머신에서 MB들을 구동하는 NFV 플랫폼이다. 


7. 결론
OpenSDWN은 서비스 차등화, 이동성 지원, 마이그레이션, 유연한 제어 등을 제공하는 프로그래머블 WiFi 네트워크이다. 통합된 프로그래머빌리티와 추상화, 프로그래머블 데이터-경로 설정, 사용자 인터페이스의 프로토타입 구현을 통해 홈이나 엔터프라이즈 WiFi 네트워크에 유연성을 포함한 다양한 이점을 준다.

프로그래머블 MB들은 더 빠른 ISP 서비스 전달에 이용될 수 있다. 유연한 네트워크의 장점들을 취하기 위해 광 네트워크뿐 아니라 무선 네트워크에서도 SDN 및 NFV 기술을 적용하고 있다. 광범위한 지역에 다양한 목적으로 전개된 WiFi 네트워크의 프로그래머빌리티에 대한 연구는 유무선 통합의 유연한 네트워크 관리를 위해 필수적이다. 

글 : 방준성 / 한국전자통신연구원
자료 협약 및 제공 : KOSEN(한민족과학기술자 네트워크) / www.kosen21.org

회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지