1. 서 론
우리나라는 1998년 처음으로 초고속 인터넷 서비스를 제공하여 불과 4년만인 2002년에 초고속인터넷 가입자 수 1,000만 명을 넘어서는 등 세계 최강의 정보 인프라를 구축하여 IT분야의 세계 선도국가의 역할을 수행하고 있으며[1], 이와 함께 이동전화 가입자도 늘어나고 있는 상황이다. 특히 1인당 가입자 수는 초고속 인터넷 서비스가 아직도 100명당 45가입자 이하인 사실에 비해, 이동전화서비스는 100명당 100가입자를 2009년도에 넘어섰고, YouTube, NetFlix 등 실시간 스트리밍 서비스의 발달로 인해 트래픽 또한 급속히 증가하고 있는 추세이다.[2]
현재 우리가 유, 무선 인터넷에서 사용하는 TCP/IP 인터넷 구조는 IP 기반의 Client-Server 모델로 Client와 Server가 먼저 상호 연결이 된 후, 그 경로를 통해서만 패킷을 전송하는 방식, 즉 End to End 방식을 사용하고 있다. 하지만 IP 방식의 인터넷 사용은 서버 쪽의 트래픽 집중 현상을 보이며, 이에 따라 서버 쪽 네트워크의 트래픽 몰림 현상, 서버의 작업량 증가로 인한 과부하 발생 등의 문제를 유발하고 있다. 이러한 문제를 해결하고자 정보 중심 네트워크(Information-Centric Network, ICN)[3]라는 개념이 등장하였고, 이는 급증하는 트래픽 문제를 해결해줄 수 있는 주요 미래기술로 인정받아 지금까지도 활발한 연구가 진행되고 있다.
콘텐츠 중심 네트워크(Content-Centric Network, CCN)는 ICN의 기술 중 하나이며 기존의 인터넷 방식인 종단 간 통신(End-to-End) 방식을 효율적으로 개선한 방법으로, IP주소로 종단 간 연결을 요구하지 않고, 콘텐츠 이름을 사용하여 필요한 데이터의 요청 및 배포가 이뤄진다. 즉 기존 인터넷은 IP주소를 이용하여 어디서 데이터를 가져올지(Where)에 초점을 두었다면, CCN은 콘텐츠 이름(What)에 초점을 둔방 식으로, 서버에 트래픽이 몰리는 현상을 방지하기 때문에, 이동전화 서비스처럼 네트워크의 노드들이 무선 환경을 가질 때 효율적인 프로토콜이다.[4]
CCN에서의 연구 방향은 크게 2가지로, CS(Content Store)에서의 인기도 기반 자료저장 정책과 노드이동 시 이동성 지원에 대한 연구로 나눌 수 있다. 이 중에서 저자는 노드 이동 시 이동성 지원에 대한 분야를 연구하였으며, 노드의 이동 대상은 정보제공자 노드(Producer Node), 중간노드(Intermediate Node), 정보요청자 노드(Consumer Node) 총 3가지분류로 나뉠 수 있는데, 이중 중간노드가 이동하는 상황을 가정하여 중간노드에서 이동성이 측정되는 시점에 예비경로를 선정한 후 중간노드가 이탈하여 접속이 불가한 상태에 다다르면 기존에 선정된 예비경로를 이용하여 실시간 데이터 전송을 하는 방법을 제시하였다.
실험 방법은 CCN 프로토콜이 적용된 동일한 Topology(Producer(1), Router(8), Consumer(1)) 상황에서 특정 중간노드(Router)를 이동시킨 후 기존 CCN알고리즘과 MD-INS(Mobility Detection Intermediate Node Supporting, 이하 MD-INS)의 Delay Time, Packet Loss를 비교하였고, 실험 결과 MD-INS 알고리즘이 Delay Time과 Packet Loss 측면에서 모두 성능이 향상되었음을 확인할 수 있었다.
본 논문의 구성은 다음과 같다. 2장에서 CCN에 대한 시스템 구조와 동작 원리, 이동성 지원에 대한 연구내용을 서술한 다음, 3장에서 저자가 고안한 알고리즘의 작동 개념 및 알고리즘에 대해 서술한다. 다음 4장에서는 3장의 내용을 실험한 결과를 기존서비스와 비교, 분석하여 성능을 평가한 후 5장에서 결론을 맺는다.
2. 관련연구
2.1 CCN 서비스
CCN 서비스는 Van Jacobson에 의해 제안된[3] 프로토콜로, IP정보를 통해 End-to-End 방식으로 전달하던 기존의 IP 방식을 탈피하여 콘텐츠 이름을 중심으로 효율적으로 데이터를 요청하고 제공받을 수 있게끔 고안된 알고리즘이다. 콘텐츠 이름은 그자체로 콘텐츠를 나타내면서 라우팅 정보로도 사용되어야 하기 때문에 ‘/kndu.ac.kr/ski/’ 와 같이 사용자가 읽을 수 있는 계층적 구조로 되어있다. 또한, 라우팅을 수행하며 지나간 노드들에 각각 콘텐츠들을 저장하는 기능(In-network caching)을 수행한다. 이로 인해 동일한 콘텐츠가 요청된 경우에 정보제공자까지 도달하지 않고도 중간노드에서 콘텐츠를 받을 수 있게 되어 전체적인 네트워크 트래픽 감소효과가 나타나게 된다. 이러한 동작을 위한 CCN의 패킷구조는 아래의 Fig. 1[5] 과 같다.
Fig. 1. Packet structure in CCN.
즉, CCN에서의 Interest 패킷은 정보요청자가 정보제공자 방향으로 필요 Data를 요청하기 위해 보내는 요청 Packet이고, Data 패킷은 정보제공자가 정보요청자로부터 Interest 패킷을 받은 후, 이에 응답하여 정보요청자에게 필요한 Data를 전달하는 패킷을 말한다.
CCN 노드의 구성은 Content Store(CS), Pending Interest Table(PIT), Forwarding Information Base(FIB)로 구성된다. CS는 수신된 콘텐츠를 저장하는 캐시로써, LRU, LFU와 같은 알고리즘을 사용하여 캐시 교체정책을 수행한다. PIT는 정보제공자로부터 오는 Data를 정보요청자에게 전달하기 위한 경로를 저장하는 테이블로써, 정보요청자로부터 받은Interest 패킷의 Face정보를 기록하고 있다. FIB는 정보요청자가 정보제공자로 가기위해 필요한 경로의 FaceId가 기록된 테이블이다. CCN의 포워딩 과정은 Fig. 2와 같다[6].
Fig. 2. CCN Forwarding Model.
CCN의 포워딩 과정은 다음과 같다. 네트워크의 중간노드에 Interest 패킷이 도착하면(①), 요청 Data를 해당 노드에서 가지고 있는지 CS를 확인한다(②). CS에 요청 Data가 없으면, PIT에서 재수신 여부를 확인한다(③). 재수신된 경우라면 중복요청이기 때문에 Interest 패킷을 폐기하고 종료한다. 재수신된 경우가 아니라면 FIB를 참조하여(④) 다음 라우터로 포워딩 되는데,(⑥) 포워딩 되기 전에 추후 Data 패킷 전달 시 경로를 참고하기 위해 PIT에 경로를 저장하는 작업을 수행한다(⑤). 그 후 Interest 패킷이 정보제공자에게 잘 도착하여 원하는 Data 패킷이 역으로 내려오고, 중간노드가 Data 패킷을 받으면(⑦), PIT을 확인하여 정보요청자로 가는 경로를 참조한 후, 해당 참조내역을 삭제한다(⑧). 해당 데이터는 기존 CS에 존재하지 않던 새로운 Data이기 때문에, CS에 Data를 저장한 다음(⑨) 정보요청자에게 Data패킷을 전달한다(⑩). 이러한 과정을 통해 CCN은 패킷의 중복전송을 차단할 수 있고, CS를 통해 트래픽감소의 효과도 가져오게 된다. 또한 CCN에서의 Data패킷을 이용한 전송기술은 단순히 PIT 엔트리를 따라 전달만 하는 방식으로 기존의 End-to-End 방식보다 더욱 단순하기 때문에 대용량콘텐츠 공유환경에서도 효율적으로 작동할 수 있다.
2.2 CCN 환경에서의 이동성 문제
CCN 프로토콜은 콘텐츠 기반의 데이터 전송기법과 In-network caching 특성이 있기 때문에 콘텐츠를 효율적으로 전송하고, 네트워크의 트래픽 감소효과도 있다. 하지만 이러한 장점에도 불구하고 CCN 이동성 환경에서 정보요청자와 정보제공자 노드들이 이동하는 환경인 경우 몇 가지의 문제들이 발생된다. 본 장에서는 CCN의 이동성 모델을 정보요청자가 이동하는 경우와 정보제공자가 이동하는 경우, 중간노드가 이동하는 경우의 세 가지로 분류하여 각각의 문제점을 서술한다.
2.2.1 정보요청자가 이동하는 경우
CCN 이동성 환경에서 정보요청자가 이동하는 경우 간단하게 CCN의 ‘수신자 중심 특성’에 따라 정보제공자에게 Interest 패킷을 재전송하면 되므로 기존의 IP 기반 이동성 문제에 비해 효율적으로 대응이 가능하다. 하지만 이러한 효율적인 CCN의 특성에도 불구하고 다양한 문제점들이 발생할 수 있다. 먼저, 정보요청자가 이동한 위치에서 동일한 콘텐츠를 전송받기 위하여 두 번의 Interest 패킷을 전송해야 한다. 즉, 기존 위치에서 데이터를 요청하기 위해 Interest 패킷을 최초 전달했음에도 불구하고, 이동 후 동일한 콘텐츠 요청을 위해 Interest 패킷을 다시 한 번 전송하기 때문에 네트워크 자원의 낭비가 발생한다. 또한 정보제공자 입장에서는 정보요청자가 이동전 전송한 Interest 패킷에 대해 이미 응답했음에도 이동 후 새로운 위치에서 요청한 Interest 패킷에 다시 한 번 응답해야 하는 문제가 발생한다. 즉, 동일한 콘텐츠의 불필요한 재전송으로 인하여 데이터 및 네트워크 자원의 낭비가 발생한다.
2.2.2 정보제공자가 이동하는 경우
정보요청자가 이동하는 경우는 Interest 패킷을 단순히 정보제공자에게 재전송하는 방식으로 동작했지만, 정보제공자 이동시에는 정보요청자가 이동하는 경우보다 더욱 복잡한 문제들이 발생된다. 이 경우 모든 CCN 노드의 FIB가 갱신작업을 통해 새로운 정보제공자의 위치로 업데이트되기 전까지는 정보제공자의 위치가 어디인지 알 수 없다. 따라서 정보요청자가 콘텐츠를 요청하더라도 콘텐츠 제공을 보장받지 못한다. 또한 정보제공자가 이동하는 경우 정보제공자의 도메인이 변경되면서 이미 CCN 노드에 캐싱 되어있던 데이터를 사용할 수 없으므로 효율적인 콘텐츠 공유 환경을 제공하지 못한다.
2.2.3 중간노드가 이동하는 경우
중간노드가 이동하는 경우에도 문제가 발생된다. 이 경우에는 정보요청자가 중간노드를 찾지 못하여 정보제공자까지 가는 경로를 잃어버림으로써, Interest 패킷을 전송해도 정보제공자에게 전달이 될 수가 없다. 또한, Interest 패킷이 정보제공자로 전달이 된 이후에 중간노드의 이동이 발생한다면 Data패킷이 PIT를 참조하여 역으로 정보요청자를 찾아가야 하지만 중간노드가 없어짐에 따라서 정보요청자에게 Data 패킷을 제대로 전달할 수가 없다. 물론CCN에서는 이런 상황이 발생했을 때 Interest 패킷을 재전송하여 문제를 해결할 수 있지만, Interest 패킷의 기본 Lifetime이 4초임을 감안하면 실시간 서비스에서는 심각한 QoS의 저하를 유발하게 된다. 따라서 CCN 실시간 서비스에서 중간노드의 이동성을 효율적으로 지원할 수 있는 해결 방안이 필요하다.
2.3 소결론
정보요청자의 이동성 지원에 대한 문제는 정보요청자가 이동하는 경우 간단하게 정보제공자에게 Interest 패킷을 재전송하면 되므로 기존의 IP 기술에 비해 효율적으로 대응이 가능하다. 정보제공자의 이동성 지원에 대한 문제는 정보요청자 이동성 지원에 대한 문제보다 더 많은 문제점들이 발생되지만, 활발한 연구로 인해 여러 솔루션들이 체계적으로 발표되어 있다.
중간노드의 이동성에 대한 문제는 정보제공자 못지않게 많음에도 불구하고 관련 연구가 iN-MS[7] 알고리즘(멀티미디어학회논문지 제 20권 제 9호, 2017. 9) 하나밖에 없는 상황이다. iN-MS는 중간노드가 네트워크를 이탈하는 이동을 하기 직전에 주변의 인접 노드들에게 이동하겠다는 메시지를 전달하고, 그 정보를 받은 노드들은 FIB에서 이동하는 노드를 향한 경로값을 삭제함으로써 새로운 경로를 통해 패킷을 주고 받는다. 이 방법을 사용하면 Interest TimeOut 기본값인 4초동안 불필요한 패킷전송을 하지 않고, 서비스 단절시간도 줄어들게 된다.
하지만 iN-MS 알고리즘은 주변에 인접노드가 많은 환경에서는 네트워크에 트래픽 부하가 많아질 것으로 예상되며, 인접노드에 전파를 하지 않고 이동하거나 전파를 하지 않았음에도 전파를 한 것으로 착각하는 등의 오인동작이 있을 수 있다. 또한 중간노드 이동성에 대한 연구가 이 연구 외에는 존재하지 않으므로, iN-MS 외에도 중간노드의 이동성 지원을 위한 새로운 알고리즘 연구가 필요하다.
3. 이동성 변화에 따른 중간노드의 이동성 지원(MD-INS)
3.1 개요
CCN 에서 중간노드가 이동하여 네트워크를 벗어나면 패킷전송 경로가 단절됨으로써 정보요청자의 Interest 패킷이 정보제공자로 이동하는 과정에서 손실이 발생되고, 정보제공자에서 정보요청자로 Data 패킷이 전달되는 과정에서도 손실이 발생한다. 본 연구에서는 이와 같은 문제점들을 해결하여 서비스단절에 따른 QoS 저하를 최소화하기 위하여 CCN 실시간 서비스에서 중간노드 이동성 발생 시 중간노드이동성 지원(MD-INS, Mobility Detection Intermediate Node Supporting)에 대한 방안을 제안한다.
3.2 MD-INS 작동 원리
MD-INS의 기본원리는 Fig. 3과 같다. 먼저 이동중인 중간노드의 이동속도를 감시한다. 네트워크에서 10km/h를 넘는 중간노드(노드 A)가 발견되면 노드 A의 모든 인접 노드들은 FIB에 노드 A를 우회하는 경로(Indirect Route)를 추가한 후 노드 A로 향하는 FIB 엔트리의 FaceId를 제거하고, IR을 통해 Interest 패킷을 전달하여 정보제공자와 경로설정을 한 후 실시간 데이터를 주고받는다.
Fig. 3. MD-INS operating algorithm.
네트워크의 중간노드들은 이동성이 있는 노드들(Mobility Node)이다. 모든 노드들은 움직임을 가지지만, Wifi 특성상 중계기가 설치된 특별한 상항 외에는 대부분 특정된 구역(실내 등) 내 이기 때문에 AP 커버리지가 작다. 따라서 노드 움직임의 속도가 10 km/h 이상이 되면 AP 커버리지로부터 신호를 잃을 확률이 커질 것으로 판단하여 실험에서 중간노드 속도 변수의 조건을 10 km/h 이상으로 설정하였다. Fig. 4와 같은 CCN 네트워크 토폴로지에서 R2 노드의 속도 값이 12 km/h로 감지되었기 때문에 R2 노드의 주변 노드인 R1, R3 노드는 Fig. 5와 같이 FIB entry 값을 수정한다. R1 노드는 FIB entry 값 중에서 R2 노드로 향하는 “251” FaceId를 삭제한다. 만약이 값이 유일할 루트일 경우 해당 FIB entry 전체를 삭제한다. R3 노드도 동일하게 R2 노드를 향하는 FaceId 값을 삭제한다. 이렇게 되면 R1, R3 노드는 R2 노드로 향하는 경로가 삭제되기 때문에 R2 노드를 우회하는 IR 생성이 완료된다.
Fig. 4. Mobility CCN Network Topology.
Fig. 5. Modify FIB Entry in Neighboring Node.
IR 생성 이후에는 정보요청자가 발송하는 Interest 패킷이 IR을 이용하여 정보제공자까지 전송되기 때문에 새로운 경로가 생성되며, 경로생성 이후에는 새로운 경로를 통해 정보요청자와 정보제공자 간 실시간 Data 패킷 전송이 이루어진다.
3.3 기대효과
MD-INS 통해 다음과 같은 세 가지의 성능개선이 기대된다. 첫째, 중간노드가 이동했을 때 정보요청자가 이미 이동한 중간노드를 향해 정보제공자에게 도달할 수 없는 Interest 패킷을 계속해서 보내면 정보제공자로부터 Data 패킷을 수신하지 못하게 되어 서비스단절이 발생하는데 MD-INS를 사용하여 Interest 패킷 단절을 예방할 수 있다. 둘째, 정보제공자측면에서 정보요청자의 Interest 패킷을 더 이상 수신할 수 없게 되기 때문에 정보요청자에게 Data 패킷을 제공할 수 없게 되는데 MD-INS를 사용하여 Data 패킷의 손실을 최소화할 수 있다. 셋째, 네트워크 측면에서 정보요청자의 불필요한 Interest 패킷이 네트워크 대역폭을 점유하게 되어 네트워크 혼잡을 유발할 수 있는데 MD-INS를 통해 불필요한 패킷전송을 줄여 트래픽 감소 효과를 기대할 수 있다.
4. 실험 및 결과
4.1 실험방법
실험은 NS-3 기반의 ndnSIM2.7 시뮬레이션을 활용하였으며, MD-INS의 성능을 평가하기 위해 총 3개의 알고리즘(기존 CCN 알고리즘, InterestLifeTime을 4초에서 1초로 수정한 CCN 알고리즘, MDINS 알고리즘)에서 중간노드 이동시 서비스 단절시간과 패킷손실량에 대해 비교․분석했다.
4.2 실험환경
실험을 위한 시뮬레이션 토폴로지는 Fig. 6와 같은 환경으로 구성하였다. 정보제공자는 실시간 콘텐츠를 제공하고 있으며, 정보요청자는 정보제공자로부터 실시간 콘텐츠를 제공 받는다. 중간노드는 8개를 배치했으며, 이 중 이동하는 중간노드는 R2로 설정했다. 각 링크의 속도는 1Mbps, 지연시간은 10ms이며, 링크별 통신비용(Cost)는 Fig. 6에 명시된 바와 같다. 실험 환경은 Table 1과 같다. 시뮬레이션의 실험 지속 시간은 20s 이며, R2노드의 속도가 감지되는 시점은 3s, R2가 이동하여 네트워크를 떠나는 시점은 8s이다. 정보요청자의 Interest 패킷의 PPS는 100으로 설정했다. 따라서 정보요청자는 초당 100개의 Interest패킷을 전송하여 실시간 콘텐츠를 요청하며, Interest 패킷은 통신비용(Cost)가 가장 낮은 경로인R1-R2-R3을 경유하여 정보제공자에게 전송된다. 정보제공자는 Interest 패킷에 대응하는 Data 패킷을 Interest 패킷의 역방향 경로로 전송하여 정보요청자에게 실시간 서비스를 제공한다. Data 패킷의 사이즈는 1024byte이며, Interest 패킷의 LifeTime은 CCN의 디폴트값은 4s로 되어있지만, 이 수치는 실시간스트리밍 서비스가 고려되지 않은 값으로 판단된다. 실시간 스트리밍 서비스에서의 허용 지연시간은 150ms[13]이므로, LifeTime 설정을 CCN의 디폴트값인 4s에 1s를 추가하여 시뮬레이션 하였다. 실험 목적상 정보요청자에서 정보제공자로 가는 루트에 있는 중간노드들의 CS에는 정보저장이 되지 않도록 설정하였다.
Fig. 6. Simulation Topology.
Table 1. Simulation parameters
4.3 실험결과
본 실험은 4.2절의 실험환경에서 실시하였으며, 기존 CCN(Interestlifetime : 4s), 변형 CCN(Interestlifetime : 1s), MD-INS의 3가지 동작환경 설정을 통해 결과값을 도출하여 성능을 비교․분석 하였다.
4.3.1 서비스 단절시간(Delay time) 비교
서비스 단절시간의 실험 결과는 Fig. 7와 같다. 그림과 같이 MD-INS(c)가 기존 CCN(a), (b)에 비해 성능이 높게 나온 것을 확인할 수 있는데, 이는 InterestLifeTime과 밀접한 관련이 있다. 기존 CCN(a)실험 결과, InterestLifeTime이 4s였기 때문에 4s 이상이 소요되었고, InterestLifeTime을 1s로 설정하였을 때는 1s 이상 소요되었다. 실험간 네트워크 안에서 1Hop 이동간 0.01의 소요시간이 발생되었고, 실험 토폴로지에서 정보요청자로부터 정보제공자까지 4Hop, 돌아오는데 4Hop이 소요되어 0.08s의 패킷 전달시간이 소요되므로, ‘InterestLifeTime + Hop간 이동시간’이 총 서비스 단절시간이라는 것을 확인할 수 있었다.
MD-INS(c)는 중간노드의 이동이 감지되는 시점부터 대체경로를 생성하여, 중간노드가 이동하더라도 생성된 대체경로를 사용하여 패킷을 주고받는다. 이로 인해, Interest 패킷이 Timeout 되는 동안 기다리지 않고, 새로운 중간노드를 통하는 경로를 통해 정보요청자부터 정보제공자까지 연결되는 0.08s 동안의 단절시간만 발생한다는 것을 알 수 있다.
Fig. 7. Delay time.
4.3.2 Interest 패킷 손실비교
Interest 패킷의 손실을 비교한 결과는 Fig. 8과 같다. 실험 결과를 통해 우회경로가 설정된 MD-INS(c)에서는 Interest 패킷의 손실이 없다는 것을 알 수 있다. 기존의 CCN(a), (b)는 중간노드로 가는 기존경로가 단절됐음에도 불구하고 정보요청자가 정보제공자 쪽으로 Interest 패킷을 계속해서 보낸다. 하지만 기존에 있던 FIB는 이미 떠나버린 중간노드의 경로정보를 사용하여 패킷을 보내고 있기 때문에, Interest 패킷이 Timeout 되고 재전송 되기 전까지 계속하여 Interest 패킷을 보내게 되고, 그 패킷이 373개 Loss되는 것으로 판단된다. 이를 통해 InterestLifeTime을 1s로 조정해도 단절된 시간만큼 같은 상황이 발생하여 87개가 Loss된다는 것을 알 수 있다.
Fig. 8. Packet loss (Interest).
하지만 MD-INS(c)에서는 Interest 패킷의 손실이 발생하지 않는다. 기존에 생성한 IR를 통해 Interest 패킷을 손실 없이 정보제공자 쪽으로 보내기 때문에, 불필요한 Interest 패킷을 보내지 않기 때문이다. 단, 이 실험에서는 정보요청자와 정보제공자가 1:1인 상황으로 혼잡도가 없기 때문에 Interest 패킷의 손실이 없는 것으로 판단되며, 만약 정보요청자와 정보제공자가 1:N인 상황이면 손실이 발생할 가능성이 있다. 하지만 이 상황에서는 기존 CCN에서도 Interest 패킷의 손실 또한 동일하게 증가할 것이기 때문에, 혼잡도는 실험결과에 큰 영향을 미치지는 않는다.
4.3.2 Data 패킷 손실비교
Data 패킷의 손실을 비교한 결과는 Fig. 9과 같다. 실험 결과 MD-INS(c)에서 Data 패킷의 손실이 없어지지는 않지만, 기본 CCN(a), (b)에 비해서 많이 줄어들었음을 알 수 있다. 기존의 CCN(a) 실험 결과,Data 패킷이 10개 손상된 것을 알 수 있다. 이는 Interest 패킷의 Timeout이 발생된 시간동안 Data 패킷을 받지 못해 발생한 상황으로 볼 수 있으며, 수정된 CCN(b) 실험 결과에서도 Timeout 시간동안 Data 패킷을 받지 못해 Data Loss가 발생한 것을 확인할 수 있다.MD-INS(c)에서는 Data Loss를 완전히 없애지는 못했지만, 기존의 CCN(a), (b)보다 좋은 결과를 보여준다. 이는 Interest 패킷이 정상적으로 전달된다 하더라도 Data Loss가 발생한다는 것을 의미하며, InterestTimeOut이 없는 환경에서는 더욱 나은 환경을 제공한다는 것을 알 수 있다.
Fig. 9. Packet loss (Data).
5. 결 론
초고속 인터넷 및 이동통신의 가입자 및 트래픽이 급격하게 증가하고 있고, 국내 뿐 아니라 글로벌 인터넷 사용자 수의 증가와 유튜브, 넷플릭스 등 실시간 스트리밍을 중심으로 인터넷을 이용한 다양한 서비스의 등장으로 인하여 네트워크 트래픽 급증 현상이 일어나고 있다. 그러나 우리는 아직도 IP기반의 Server-Client 모델을 사용하여 통신하고 있기 때문에 폭발적으로 증가하는 트래픽을 효율적으로 제어하지 못하고 있다. 따라서 이러한 급격히 증가하는 트래픽을 효율적으로 제어하기 위해 미래 네트워크 구조인 ICN이 연구되고 있다. ICN 에서도 여러 가지 연구분야가 있지만, 이 중에서도 CCN이 대표적인 연구분야이다. CCN은 End-to-End 연결방식이 아닌 콘텐츠 자체를 이용하여 목적지 접근 및 데이터전달에 목표를 두고 있는 새로운 개념이다. CCN에서 패킷은 Interest(요청패킷)와 Data패킷(응답패킷)으로 구성되며, CCN의 각 노드는 CS, PIT, FIB로 구성되어 있다. CCN의 가장 큰 장점은 콘텐츠 중심이기 때문에 IP주소가 아닌 콘텐츠 이름을 기반으로 라우팅되어 호스트와의 사전연결이 필요하지 않으며, 네트워크 내 캐시를 보유하고 있어서 반복되는 컨텐츠는 내부 캐시에서 받아온다. 따라서 트래픽을 효율적으로 제어할 수 있다. 하지만 이는 데이터 전송방식이 PullBased 방식이기 때문에 콘텐츠 전송 중에 중간노드가 네트워크를 떠나게 되면 콘텐츠 전송의 단절이 발생한다. 특히 실시간 서비스에서 이러한 단절은 심각한 QoS 저하를 가져오게 된다. 본 연구에서는 CCN 실시간 서비스에서 중간노드의 이동성 지원방안인 MD-INS를 제안한다. 이는 노드의 이동성과 예비경로 선정개념을 이용한 방법으로, 특정 노드에서 특정속도 이상의 속도가 감지되면 그 근처의 노드들이 이동하는 노드를 우회하는 경로를 생성함으로써 작동한다. 세부적인 동작개념은 특정 중간노드의 움직임이 10 km/h 이상이 되면, 네트워크 내의 노드들은 움직임이 발견된 노드를 우회하는 대체경로(IR)를 생성한다. 그 후 주변 노드들은 Interest 패킷을 우회 노드를 통해 전송함으로써 중간노드의 이동성을 보장하게 된다. MD-INS를 구현하기 위해 중간노드의 움직임 감지 후 FIB를 수정하여 대체경로를 생성하는 동작, 수정된 경로를 통해 Interest 패킷을 재전송하는 동작을 설계했고, 이를 ndnSIM 시뮬레이터를 통해 기존 CCN과 비교하였다. 실혐 결과 MDINS는 기존 CCN에 비해 서비스 단절시간과 패킷손실 측면에서 뛰어난 성능을 보여주었다. 하지만 우회경로 선정 후 Interest 패킷을 재전송 하는 동안 서비스 지연은 다소 발생하였고, 완벽한 Data 패킷의 손실을 막지는 못하였다. 또한, 중간노드에 연결된 노드가 많을 경우 순간적으로 많은 트래픽이 발생될 수있 다. 본 연구를 통해 CCN이 원활한 실시간서비스를 하기 위해서는 InterestLifeTime의 조정이 필요하다는 것을 느꼈다. 기존의 InterestLifeTime 설정값인 4s로는 실시간 서비스를 사용하는 서비스 사용자 입장에서 중간노드 이동시 매우 불편함을 느낄 것이라 생각된다. 따라서, 향후에는 CCN서비스에서 실시간 서비스 유무에 따른 InterestLifeTime 유동성에대한 연구가 진행된다면, 중간노드의 이동성 뿐만 아니라 정보요청자, 정보제공자 노드의 이동성 지원에 대해서도 큰 발전이 있을 것이라 생각된다.
참고문헌
- The High-speed Internet Subscribers, http://www.index.go.kr/potal/main/EachDtlPageDetail.do?idx_cd=1348 (accessed October 12, 2019).
- Traffic Status by Mobile Terminal, https://www.msit.go.kr/web/msipContents/contentsView.do?cateId=mssw11241&artId=1643632 (accessed October 12, 2019).
- Cisco, Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update, Cisco 2015-2020 White Paper, 2015.
- Wikipedia, Content Centric Networking, https://en.wikipedia.org/wiki/Content_centric_networking (accessed October 12, 2019).
- J. Kim, H. Jung, and W. Park, “Content Centric Networking Technology,” Telecommunications Trend Analysis, Vol. 25, No. 6, pp. 136-143, 2010.
- E.K. Lee and T.W. Kwon, “A Study on the Support of CCN Mobility,” Journal of Korea Institute of Information Security and Cryptology, Vol. 26, No. 6, pp. 24-29, 2016.
- E.K. Lee and T.W. Kwon, “Supporting Intermediate-node Mobility in CCN Real-time Service,” Journal of Korea Multimedia Society, Vol. 20, No. 9, pp. 1527-1540, 2017. https://doi.org/10.9717/kmms.2017.20.9.1527