ettrends banner

정희영 (Jung H.Y.) 네트워크연구본부 책임연구원
김선미 (Kim S.M.) 네트워크연구본부 책임연구원/PL

Ⅰ. 서론

최근 인터넷 상에서 멀티미디어 기반 서비스의 폭증에 따라 전달되는 컨텐츠의 규모가 빠르게 증가하고 있어 기존 TCP/IP 보다 더 효율적으로 컨텐츠를 전달할 수 있는 정보중심네트워킹(ICN: Information Centric Networking) 기술이 주목을 받고 있다.

정보중심네트워킹은 기존 TCP/IP가 정보가 위치한 컴퓨터를 기반으로 하는 통신이었던 것에 반해 전달하려고 하는 정보 자체를 중심으로 하는 새로운 네트워킹 기술이다. 정보중심네트워킹은 정보의 네임(Name)을 기반으로 라우팅/포워딩을 수행하며, 네트워크 내 정보 케싱(Caching)을 이용하므로 기존의 TCP/IP 보다 효율적으로 컨텐츠를 전달할 수 있다는 장점을 가진다.

이러한 컨텐츠 전달에서의 정보중심네트워킹의 장점에 따라 5세대 또는 그 이후의 이동통신 시스템에서 정보중심네트워킹 기술의 도입이 적극 검토되고 있다. 대표적인 인터넷장비 업체인 시스코에서는 최근 IPv6에 정보중심네트워킹 기술을 결합한 hICN 기술을 개발하였으며 개발 기술의 차세대 통신 시스템으로의 도입을 활발히 추진 중이다[1].

정보중심네트워킹이 차세대 네트워크 인프라 기술로실질적으로 자리잡기 위해 현재 또는 향후 활성화될 것으로 예상되는 응용들에 대한 효율적인 지원이 필수적으로 요구된다. 이런 관점에서 최근 사물 인터넷, 소셜네트워킹과 같은 이벤트 기반 응용의 활성화와 이를 지원하기 위한 Pub/Sub(Publish/Subscribe) 통신 방식 기술들에 대한 수요가 늘고 있다는 것을 주목할 필요가 있다. 또한, 빅데이터나 대규모 시스템 로그 처리, 마이크로 서비스 등에서도 Pub/Sub 통신 방식을 기본적으로 요구하고 있으며 이에 따라 다양한 관련 기술들이 개발되고 있다. 이러한 상황을 볼 때 Pub/Sub 통신 방식에 대한 효율적인 지원은 정보중심네트워킹에서도 중요하게 고려되어야 할 연구 분야라고 할 수 있다.

본고에서는 정보중심네트워킹을 기반으로 하는 Pub/ Sub 기술에 대한 최근까지의 주요 연구 동향을 정리하고 향후 대응이 필요한 연구 이슈에 대하여 논하고자 한다.

Ⅱ. Pub/Sub 기술배경

Pub/Sub 통신 방식은 현재 웹서비스 등에서 일반적으로 사용되는 요청/응답(Request/Reply) 통신 방식과 개념 상으로 완전히 차별화되는 통신 방식으로 다양한 응용에서 사용되고 있다. 정보 소비자의 요청에 의해 정보 제공자가 동기화 기반으로 정보를 전달하는 요청/ 응답 방식과는 달리 Pub/Sub 통신 방식은 출판자 (Publisher)와 구독자(Subscriber)를 분리하는 비동기식 통신 방식이다. Pub/Sub 통신 방식은 개념적으로 출판자와 구독자 간을 공간적, 시간적, 동기적의 3가지 측면에서 분리하는 것으로 알려져 있다[2]. 즉, 공간적 측면에서 출판자와 구독자는 서로 간을 인지할 필요가 없으며, 시간적 측면에서 출판자와 구독자는 동일 시간 내에 동작할 필요가 없고, 동기화 측면에서 출판자와 구독자는 서로의 동작에 무관하게 출판 및 구독 절차를 수행할 수 있다. 이러한 Pub/Sub 통신 방식의 특징을 필요로 하는 다양한 응용들이 존재해 왔으며 최근 들어 이러한 응용들이 더욱더 활성화되고 있다.

Pub/Sub 통신 방식을 기반으로 하는 대표적인 예가 사물인터넷이다. 사물인터넷에서 센서와 같은 사물에서 발생하는 데이터는 임의의 시간에 이벤트 성격으로 발생하는 경우가 많다. 이러한 이벤트 성 데이터는 관련 이벤트를 관리하는 시스템에 이벤트 발생 시점에 따라 비동기 형태로 전달되어야 할 필요가 있다. 또한, 모니터링 시스템이 특정한 이벤트를 감지하였을 때 해당 이벤트와 관련된 엑추에이트(actuator)를 이벤트 구동 형식으로 동작시킬 필요도 있다. 이러한 목적으로 사물 인터넷을 위해 현재 사용되는 대표적인 Pub/Sub 기술들이 MQTT(MQ Telemetry Transport)[3]와 DDS(Data Distribution Service)[4]라고 할 수 있다.

사물인터넷 외에도 최근 다양한 분야에서 Pub/Sub 통신 방식의 사용이 늘고 있다. 이벤트 기반의 Pub/Sub 통신 방식이 기본 동작인 소셜 네트워킹이나 시스템 로그 관리 등이 그 예이다. 또한, 빅데이터나 데이터 스트림 처리, 마이크로 서비스 지원 등과 같이 대규모 이벤트 성격의 데이터 처리를 필요로 하는 분야에서도 Pub/Sub 통신 방식에 대한 수요가 빠르게 증가하고 있다. 링크드인(LinkedIn)에서 오픈소스로 개발한 카프카(Kafka)는 이러한 용도로 현재 가장 많이 사용되는 기술이다. 카프카는 포춘에서 지정한 500대 기업 중 1/3이 사용하고 있으며, 세계 상위 10개 여행사, 7개 은행, 8개 보험사 및 9개 통신회사에서 도입하여 비즈니스 관리를 위해 사용 중인 것으로 발표되고 있다[5].

현재 Pub/Sub 통신 방식을 지원하는 기술들은 대부분 기존 TCP/IP 네트워킹 기술에 기반하고 있다. 전술한 바와 같이 정보중심네트워킹 기술은 현 TCP/IP 네트워킹과는 다른 개념 하에 설계되었다. 따라서 향후 정보중심네트워킹으로의 네트워크 진화 시 어떻게 다양한 분야에서 요구하는 Pub/Sub 통신 방식을 효율적으로 지원할 수 있는 가가 정보중심네트워킹의 주요 연구 이슈 중 하나라고 할 수 있다.

Ⅲ. ICN 기반 Pub/Sub 연구 동향

본 장에서는 2010년경부터 이루어진 정보중심네트워크기반의 Pub/Sub 통신 방식의 주요 기술들인 컨텐츠 기반 Pub/Sub(Content-based Publish/Subscribe and ICN)[6], COPSS(An Efficient Content Oriented Publish/ Subscribe System)[7], PSync(Partial Synchronization)[8], 및 CCN 기반 알림(Support for Notification in CCN)[9]의 설계 개념과 주요 내용을 정리한다.

1. 컨텐츠 기반 Pub/Sub

제안 기술에서는 컨텐츠 기반 통신을 다음과 같은 두 가지의 주요한 통신 형태로 분류한다.

• 요청기반 컨텐츠 전달(Delivering named content upon demand).

• Pub/Sub 이벤트 알림(Publish/Subscribe event notification).

이 두가지 통신 형태에서, 일반적으로 많이 사용되는 요청기반 컨텐츠 전달에 비해 Pub/Sub 이벤트 알림은 여러 부분에서 차이를 가진다. Pub/Sub 이벤트 알림은 메시지의 정보가 전달될 장소를 선택하는 특성을 가지며, 정보의 제공자가 컨텐츠를 단순히 출판하고 수신자는 자신들이 필요한 컨텐츠를 구독하는 통신 형태를 가진다. 컨텐츠 특성 측면에서도 요청기반 컨텐츠 전달 기술들이 주로 영속성(Persistent)을 가지는 컨텐츠를 정보 소비자가 요구하는 형태이나, 이에 반하여 Pub/Sub 방식은 일시적(Transient) 정보가 주를 이루며 정보 생산자가 정보의 제공을 주도 하는 형태로 통신이 이루어 진다.

이러한 근본적인 차이에 따라 통신 절차도 서로 다르게 수행된다. 먼저 요청기반 컨텐츠 전달의 절차는 다음과 같다.

(1) 정보 생성자는 생성된 정보의 프리픽스(prefix)를 광고(advertisement) 한다.

(2) 네트워크의 각 라우터는 이 광고에 따라 자신의 포워딩 테이블을 갱신한다.

(3) 정보 소비자는 정보의 네임을 기반으로 해당 정보를 요청한다.

(4) 정보 소비자의 요청은 각 라우터의 포워딩 테이블에 기반하여 전달되어 정보 생성자에게 전달된다.

(5) 정보 생성자는 해당 정보를 정보 소비자에게 전달한다.

이에 비해 Pub/Sub 이벤트 알림은 다음과 같은 다른 절차를 통해 이루어 진다.

(1) 정보 구독자는 자신이 필요한 구독 정보를 광고한다.

(2) 네트워크의 각 라우터는 이 광고에 따라 자신의 포워딩 테이블을 갱신한다.

(3) 정보 출판자는 이벤트가 발생하면 이에 대한 정보를 네트워크로 전달한다.

(4) 이벤트는 각 라우터의 포워딩 테이블에 기반하여 이벤트 구독자에게 전달된다.

이와 같이 요청기반 컨텐츠 전달은 요청이 이루어진 역방향 경로로 데이터 전달이 이루어지는 양방향 절차이나 이벤트 알림의 경우 단 방향성 절차로 이루어 진다. 또한 요청기반 컨텐츠 전달은 경로 중에 캐시된 정보를 얻게 되면 완료가 되나 이벤트 알림의 경우 모든 종단 정보 소비자에게 메시지가 전달 되어야 한다.

이러한 분석에 기반하여 제안된 컨텐츠 기반 Pub/ Sub 기술에서는 두 가지 통신 방식을 효율적으로 통합하기 위한 방안을 제시하며, 이를 위해 단방향성 메시지 (Message), 요청(Request) 및 응답(Reply)의 3가지 메시지를 정의한다. 제안된 통합 방법에 의한 절차는 다음과 같다.

(1) 정보 생성자 또는 구독자는 생성된 정보나 구독 목록에 대한 프리픽스를 광고한다.

(2) 네트워크의 각 라우터는 이 광고에 따라 자신의 포워딩 테이블을 갱신한다.

(3-1) 정보 출판자가 생성된 이벤트를 전달하고자 할 경우, 단방향성 메시지(Message)를 통해 메시지를 전달하며 이 메시지는 각 라우터의 포워딩 테이블에 기반하여 이벤트 구독자에게 전달된다.

(3-2) 정보 소비자가 특정 정보를 필요로 하는 경우, 정보의 네임을 포함하는 요청 메시지(Request)를 이용하며 요청하며, 이 요청은 각 라우터의 포워딩 테이블에 의해 정보 제공자에게 전달된다. 정보 제공자는 요청된 데이터를 응답 메시지(Reply)를 통해 정보 소비자에게 전달한다.

통합 절차에서는 절차 (1)과 같이 두 통신 방식에서 사용될 포워딩 경로 설정이 공통으로 이루어진다. 이후 Pub/Sub 이벤트 알림의 경우 단방향 메시지(Message)로, 요청기반 컨텐츠 전달의 경우 요청과 응답의 양방향 절차에 의해서 각각 전달이 이루어 진다. 따라서 제안된 컨텐츠 기반 Pub/Sub 방식을 사용하는 경우 두가지 통신형태에서 하나의 포워딩 테이블을 공유할 수 있다는 장점을 가질 수 있다.

2. COPSS

COPSS에서는 대표적인 정보중심네트워킹 기술인 NDN(Named Data Networking)[10]이 Pub/Sub 통신 방식을 직접적으로 구현하는데 어려움이 있음을 지적한다. 즉, NDN의 풀(pull) 방식 멀티캐스트는 푸시(push) 방식에 비해 많은 비효율성을 가지며, 요청/응답 기본 구조는 구독자가 출판자의 정확한 URL를 알아야 한다는 문제점을 지적한다. COPSS는 이러한 문제를 해결하고 정보중심네트워킹에서 효율적인 Pub/Sub 지원 능력을 제공하기 위해 다음과 같은 주요 설계 요구사항을 가지고 설계되었다.

• 실시간성 보장을 위한 푸시 기반의 정보 배포.

• 출판자와 구독자 간의 분리.

• 다수의 출판자와 구독자를 지원하는 규모확장성 및 이를 위한 네트워크에서의 상태 관리 최소화.

• 네트워크와 서버 자원의 효율적 이용.

• 현 IP 네트워크에서의 진화 지원.

이러한 요구 사항에 따라 COPSS는 멀티캐스트를 사용하는 푸시 기반의 전달을 제안한다. 이를 위해 COPSS는 랑데뷰 노드를 도입하여 다중 송신자와 다중 수신자가 랑데부 노드를 중심으로 멀티캐스트를 이용하며 정보를 전달한다. 랑데뷰 노드는 트래픽 집중을 막기 위해 네트워크 내에 다수가 존재할 수 있다.

구독은 CD(Content Descriptor)를 기반으로 이루어진다. CD는 COPSS에서 규정된 컨텐츠 네임이며 계층적인 구조를 가진다. 예를 들어 /myhome/livingroom/ TV라는 네임이 주어지면 /myhome, /myhome/livingroom, /myhome/livingroom/TV가 모두 CD가 될 수 있으며 이들은 필요에 따라 통합될 수 있다. 각 CD는 랑데뷰 노드와 연계된다.

출판된 정보는 설정된 멀티캐스트 트리를 이용하여 랑데뷰 노드로 전달된다. 이를 위해 COPSS를 지원하는 각 라우터는 구독 테이블(ST: Subscription Table)을 구비하며 CD 기반의 구독 정보를 분산 및 통합된 형 태로 관리한다. 각 ST에서 구독한 CD 정보는 블룸필터 (Bloom Filter)를 이용하여 축약된 형태로 유지되며 다운스트림을 위한 해당 페이스(face)와 매핑이 관리된다.

COPSS의 전반적인 절차는 다음과 같다. 먼저 다수의 라우터 중 하나 이상의 라우터가 랑데뷰 노드로 설정되면 각 라우터의 포워딩 테이블에 이 정보가 갱신된다. 이 후 구독자들의 구독 정보는 이 포워딩 테이블을 기반으로 설정된 랑데뷰 노드로 포워딩된다. 이 포워딩 절차에서 경로 상에 있는 라우터들의 ST에 관련 구독 정보가 설정된다. 이후 출판자가 컨텐츠를 출판하고자 하면 /rendezvous라는 미리 정해진 헤더 프리픽스(header prefix)를 이용하여 출판 사항을 랑데뷰 노드로 전달한다. 출판 시 라이프타임(lifetime)은 0로 설정되어 기존 PIT(Pending Interest Table)에서의 처리없이 랑데뷰 노드로 전달된다. 랑데뷰 노드는 /Rendezvous 헤더를 제거하고 구독자들에게 전달하는데 이때 각 라우터에 기 설정된 ST를 기반으로 출력 페이스(face)가 결정된다.

3. PSync

NDN[10]은 TCP와 같은 신뢰성 전송을 지원하기 위해 ChronoSync, iSync와 같은 싱크 프로토콜을 사용한다. 이러한 싱크 프로토콜은 데이터 전체에 대한 싱크만을 지원하며 부분적인 싱크는 지원하지 않는다. 따라서 Pub/Sub의 통신 특성을 필요로 하는 응용들을 효율적으로 지원하는데 한계를 가진다. PSync는 특정 데이터의 부분 집합만을 효율적으로 동기화 시켜 Pub/Sub 기반의 응용을 지원하기 위해 제안되었다.

PSync에서 구독자는 자신의 구독 목록을 블룸필터 형태로 표현한다. 출판자는 자신의 데이터 출판 상태를 IBF(Invertible Bloom Filter)를 사용하여 관리하며, 이전 IBF와 현재의 IBF 간의 뺄셈 연산을 통해 새로운 데이터의 생성을 확인한다.

PSync의 기본 절차는 다음과 같이 이루어 진다. 먼저, 정보 소비자는 자신이 구독한 구독 목록을 정보 생산자에게 보낸다. 구독 목록을 수신 한 정보 생산자는 수신한 구독 목록 중 새롭게 생성된 데이터가 있는 경우 해당 데이터의 네임을 알려준다. 응답된 네임을 기반으로 정보 소비자는 해당 네임에 대한 데이터를 요청하며 최종적으로 정보 생산자는 해당 데이터를 정보 소비자에게 전송한다.

PSync는 이러한 동작을 지원하기 위해 새롭게 Sync Interest와 Sync Reply는 두 가지 메시지를 정의하였다. Sync Interest는 정보 소비자가 정보 제공자에게 주기적으로 보내는 메시지로 NDN의 Interest 패킷을 기반으로 만들어 진다. Sync Interest는 구독자의 구독 목록(<SL>)과 구독자가 보유하고 있는 이전 IBF 값을 네임에 포함한다. Sync Reply는 Sync Interest에 대한 정보 제공자의 응답으로 NDN Data 패킷을 기반으로 만들어 진다. Sync Reply는 구독자가 구독하고 있는 목록 중에서 이전 IBF와 현 IBF 간의 차이를 확인하여 차이가 있으면 해당되는 컨텐츠 네임을 컨텐츠 영역에 포함시킨다.

PSync에서의 정보 소비자와 정보 제공자 간에 이루어 지는 싱크 절차는 다음과 같다.

(1) 정보 소비자는 Synch Interest 메시지를 이용하여 정보 구독 목록을 정보 제공자에게 송부한다. 이때 Synch Interest 메시지에 포함되는 네임의 형태는 다음과 같다.

Sync Interest

(Name=/<routable-prefix>/psync/<SL>/

<old-IBF>)

(2) 정보 소비자로부터 Synch Interest를 받았을 때 정보 제공자는 먼저 현재 IBF와 정보 소비자에게 수신한 IBF를 비교하여 두 개의 IBF가 차이를 가지는 모든 데이터 네임을 도출한다. 만일 도출한 네임 중 정보 소비자가 구독한 네임과 일치되는 항목이 발견되면 해당 네임을 즉각 정보 소비자로 응답한다. 만일 두 IBF 간에 차이가 없다면 정보 제공자는 수신한 Sycn Interest를 보관하여 새로운 데이터가 생성될 때마다 구독자 구독 목록과 비교한다. 만일 새로운 데이터 생성이 발견되면 Sync Reply를 보낸다. 이 때 Synch Reply 메시지에 포함되는 네임과 컨텐츠의 내용은 다음과 같다.

Sync Reply

(Name=/<routable-prefix>/psync/<SL>/

<old-IBF>/<new-IBF>,

Content=<new data name>)

(3) Sync Reply를 받을 때마다 정보 소비자는 자신의 구독 목록 및 해당 시퀀스 번호가 정말 새로운 것인지를 확인한다. 만일 새로운 데이터로 확인된다면 해당 데이터를 가져오기 위해서 Interest 메시지를 보낸다.

Interest (Name=<new data name>)

(4) 최종적으로 정보 제공자는 요청 데이터를 제보 소비자에게 전송한다.

Data (Content=<new data>)

4. CCN 기반 알림

Pub/Sub 통신 방식은 기본적으로 이벤트에 의해서 구동되는 푸시 방식의 통신을 필요로 한다. 제안 기술은 효율적인 Pub/Sub 서비스 제공을 위해서 다음과 같은 푸시 방식 통신에 대한 요구사항을 제시한다.

• 응용에서 필요로 하는 푸시를 효율적이고 규모확장성있도록 지원하여야 한다.

• 푸시 정보를 필요로 하는 모든 수신자들에게 멀티캐스트 될 수 있어야 한다.

• 인증과 암호화를 통해 안전하게 전달될 수 있어야 한다.

• 푸시를 위한 프리픽스는 푸시 특성을 지원하기 위해 기존 Interest와는 다르게 라우팅/포워딩 측면에서 처리되어야 한다.

• 푸시는 PIT와 CS(Content Store)에서의 기존의 동작에 영향을 주어서는 안된다.

CCN 기반 알림 기술에서는 먼저 현재 푸시를 위해 고려되고 있는 방식을 크게 Long-lived Interest, Polling, Interest overloading, Interest trigger의 4가지로 구분하고 각 방식의 접근 방법과 문제점을 다음과 같이 분석한다.

• Long-lived Interest 방식: Interest가 해당 데이터가 수신된 경우에도 PIT에서 특정한 시간 동안 목록을 유지하도록 함으로써 구독과 같은 특성을 가지도록 한다. 이 방법의 경우 모든 구독자들이 자신이 필요로 하는 모든 데이터 네임을 알아야하며, PIT에서 유지하여야 할 상태 정보가 증가하는 문제가 있다.

• Polling 방식: Long-lived Interest의 문제를 해결하기 위해 정보 제공자는 타임스탬프를 이용해서 컨텐츠를 출판하며 정보 소비자는 컨텐츠 그룹의 네임만을 안다고 가정한다. 그러나 이 경우에도 정보 제공자와 소비자 간의 시간 동기화가 이루어져야 하며, 다중의 정보 제공자가 동일 타임스탬프를 사용하여 출판하는 경우 컨텐츠의 혼동이 있을 수 있다.

• Interest Overloading 방식: Interest 패킷에 푸시할 데이터를 포함하여 보낸다. 이 방식은 라우팅/포워딩에서 푸시를 위한 Interest를 처리하는 경우 PIT에서의 상태 저장을 하지 않는 등 일반적인 Interest와 구별하여 처리하여야 하는 부담이 있다. 또한 FIB(Forwarding Information Base)가 모든 정보 제공자들의 정보를 포함하여야 하며 특정 크기 이상의 데이터는 Interest 패킷의 특성에 맞지 않을 수 있다는 문제점이 있다.

• Interest Trigger 방식: 정보 제공자가 이벤트 발생 시 정보 소비자에게 트리거 Interest를 보내며 이를 기반으로 정보 사용자는 풀(pull) 형태로 데이터를 가져간다. 이 방식의 경우 한번 이상의 RTT(Round Trip delay Time)가 필요하므로 지연에 민감한 응용의 경우 문제가 될 수 있으며, 트리거가 모든 정보 구독자들에게 보내져야 하므로 라우팅/포워딩에서도 문제가 된다.

이러한 기존 방법에 대한 문제점 분석에 따라 CCN 기반 알림에서는 푸시는 기존의 Data 및 Interest와는 다른 새로운 트래픽으로 구분되어야 하며 이를 처리하기 위한 새로운 메시지의 정의가 필요하다고 주장한다. 이를 위해 대표적인 정보중심네트워킹 기술 중의 하나인 CCN[11]에서의 푸시를 효율적으로 지원하기 위한 새로운 메시지인 CCN 알림 메시지(CCN Notification Message)를 제안한다. 제안된 CCN 알림 메시지는Content Object 형태로 정의되며 메시지의 각 필드는 다음과 같다.

• MessageType=Content Object: 2bytes

• MessageLength: 2bytes

• Name TLV: 4bytes

• Optional MetaData TLV: 4bytes

• Message Payload Type: 2bytes

• Message Type Length: 2bytes

• Payload or Optional Content Object: 4bytes

• Optional CCNx ValidationAlgorithm TLV

• Optional CCNx ValidationPayload TLV

CCN 알림 메시지에서 Name TLV는 알림 메시지를 라우팅하기 위해 사용되며, MetaData TLV는 알림 메시지에 대한 메타데이터를 포함한다. 상기의 메시지를 처리하기 위해 CCN 포워더(Forwarder)에서는 메시지의 네임을 기반으로 FIB를 이용하여 포워딩하며 저지연 알림과 같은 포워딩 전략(strategy)을 구현하기 위해 메타데이터 부분도 함께 처리한다. 또한 CCN 포워더는 알림 메시지의 내용을 캐시하지 않아야 하는 차이점을 가진다.

Ⅳ. 결론

본고에서는 정보중심네트워킹 기반의 Pub/Sub 기술에 대한 최근까지의 주요 연구 동향을 정리하였다. 정보중심네트워킹은 다가오는 데이터 중심의 4차산업혁명 기반의 사회를 위한 새로운 네트워킹 기술로 고려되고 있으며 최근 본격적으로 그 도입이 추진되고 있다. 한편 Pub/Sub 기반 통신 방식은 기존 사물인터넷, 소셜네트워킹 뿐만 아니라 빅데이터 처리, 마이크로 서비스 등에서 그 수요가 빠르게 증가하고 있다. 따라서 정보중심네트워킹이 본격적으로 네트워크 인프라 기술로 자리 잡기 위해서는 이러한 Pub/Sub 통신 방식을 효율적으로 지원할 수 있어야 한다.

현재 정보중심네트워킹의 대표 기술인 NDN에서는 사물인터넷을 위한 Pub/Sub 통신 방식의 지원에 대하여 이를 네트워크 계층이 아닌 응용 계층에서 구현하는 것을 제안하고 있다[12]. 또한, NDN 그룹에서 독립적인 Pub/Sub 방안으로 제시하고 있는 PSync의 경우도 종단 노드 간의 부분적인 동기화를 통해서 Pub/Sub 통신 방식을 지원하는 형태로 설계되었다[8]. 이러한 현재의 방식들은 사물인터넷과 같은 작고 간단한 메시지를 처리를 가정하여 제안되었기 때문에, 최근 수요가 늘고 있는 카프카[4] 기술에서 볼 수 있듯이 분산 환경에서의 대규모 데이터에 대한 이벤트 구동형 처리를 지원하는 데는 근본적인 한계가 있다고 할 수 있다. 또한, [9]에서 분석한 바와 같이 현재 대표적인 정보중심네트워킹 기술들은 모두 요청/응답 기반의 풀(pull) 형태의 통신을 기반하고 있어 Pub/Sub 통신 방식에서 요구하는 푸시(push) 을 규모확장성(scalable)있게 지원하는 것에 심각한 비효율성이 존재한다.

정보중심네트워킹이 차세대 네트워크 인프라 기술로 자리 잡기 위해서는 다양한 응용들에 대한 효율적인 지원이 필수적이다. 이러한 관점에서 정보중심네트워킹은 기존 요청/응답형의 통신 방식뿐만 아니라 최근 그 필요성이 빠르게 증가하고 있는 Pub/Sub 통신 방식도 효율적으로 지원할 수 있어야 한다. 또한 그 Pub/Sub 통신 방식은 사물인터넷에서의 간단한 메시지 전달 뿐만 아니라 시스템 로그, 데이터 스트림, 마이크로 서비스 처리 등과 같은 대규모성의 데이터도 효율적으로 지원할 수 있어야 한다.

그러나 본고에서 살펴본 바와 같이 아직 정보통신네트워킹에서 Pub/Sub 통신 방식에 대한 연구는 초기 단계이며 현재 기술들은 간단한 메시지 전달 지원 정도에 그치고 있는 상황이다. 따라서 다양한 Pub/Sub 기반 응용을 효율적으로 지원하기 위한 새로운 Pub/Sub 통신 방식에 대한 본격적인 연구개발이 필요한 시점이라고 할 수 있다.

용어해설

ICN(Information Centric Networking)현 호스트 기반의TCP/IP 기술과는 달리 정보 자체를 기반하는 통신 방식으로 정보 네임을 기반으로 라우팅/포워딩을 수행하며 네트워크 내 정보 캐쉬를 이용하여 정보 전달을 효율적으로 할 수 있는 새로운 네트워킹 방식. 대표적인 기술로는 CCN, NDN이 있음.

Publish/Subscribe통신 구독자가 구독한 정보에 대해서 해당 이벤트가 발생하였을 경우 출판자가 비동기식으로 이를 전달하는 방식으로, 구독자와 출판자를 시간, 공간 및 동기화 측면에서 분리시켜주는 통신 방식. 대표적인 기술로는 MQTT, Kafka 등이 있음.

약어 정리

BF

Bloom Filter

CCN

Content Centric Networking

CS

Content Store

FIB

Forwarding Information Base

IBF

Invertible Bloom Filter

ICN

Information Centric Networking

NDN

Named Data Networking

PIT

Pending Interest Table

Pub/Sub

Publish/Subscribe

RTT

Round Trip delay Time

TLV

Type Length Value

References

[1] M. Cooney, ”Cisco, Verizon Take Information-Centric Networking for a Real-World Spin,“ NetworkWorld, Mar. 22,2018. Available: Https://www.networkworld.com/art-icle/3264650/wi-fi/cisco-verizon-take-information-centric-networking-for-a-real-world-spin.html
[2] P.T. Eugster et al., ”The Many Faces of Publish/Subscribe,“ ACM Comput. Surveys, vol. 35, no. 2, June 2003, pp. 114-131.
[3] MQTT homepage. Available: http://mqtt.org/
[4] DDS homepage. Available: https://www.omg.org/omg-dds-portal/
[5] Apache Kafak. Available: https://kafka.apache.org/
[6] A. Carzaniga, M. Papalini, and A.L. Wolf, ”Content-Based Publish/Subscribe Networking and Information-Centric Networking,“ Proc. ACM SIGCOMM Workshop Inform. -Centric Netw., Toronto, Canada, Aug. 19, 2011, pp. 56-61.
[7] J. Chen et al., ”Copss: An Efficient Content Oriented Publish/Subscribe System,“ Proc. ACM/IEEE Symp. Architect. Netw. Commun. Syst., Brooklyn, NY, USA, Oct. 3-4, 2011, pp. 99-110.
[8] M. Zhang, V. Lehman, and L. Wang, ”Scalable Name-Based Data Synchronization for Named Data Networking,“ INFOCOM IEEE Conf. Comput. Commun., Atlanta, GA, USA, May 1-4, 2017, pp. 1-9.
[9] R. Ravindran et al., ”Support for Notifications in CCN,“ Working Draft, IETF Secretariat, Internet-Draft Draft-Ravi-CCN-Notification-01, July 2017.
[10] DDS homepage. Available: https://www.omg.org/omg-dds-portal/
[11] Apache Kafak. Available: https://kafka.apache.org/
[12] W. Shang et al., ”Named Data Networking of Things (Invited Paper), “IEEE Int. Conf, Internet-of-Things Design Implementation (IoTDI), Berlin, Germany, Apr. 4-8, 2016, pp. 117-128.