KR101966284B1 - 상태 기반 포워딩을 수행하는 네트워크에서의 능동적인 요청 패킷 관리 장치 및 그 방법 - Google Patents

상태 기반 포워딩을 수행하는 네트워크에서의 능동적인 요청 패킷 관리 장치 및 그 방법 Download PDF

Info

Publication number
KR101966284B1
KR101966284B1 KR1020170076395A KR20170076395A KR101966284B1 KR 101966284 B1 KR101966284 B1 KR 101966284B1 KR 1020170076395 A KR1020170076395 A KR 1020170076395A KR 20170076395 A KR20170076395 A KR 20170076395A KR 101966284 B1 KR101966284 B1 KR 101966284B1
Authority
KR
South Korea
Prior art keywords
packet
class
router
request
pit
Prior art date
Application number
KR1020170076395A
Other languages
English (en)
Other versions
KR20180137623A (ko
Inventor
염익준
이수기
김유성
김영훈
Original Assignee
성균관대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 성균관대학교 산학협력단 filed Critical 성균관대학교 산학협력단
Priority to KR1020170076395A priority Critical patent/KR101966284B1/ko
Priority to US16/216,283 priority patent/US10833999B2/en
Publication of KR20180137623A publication Critical patent/KR20180137623A/ko
Application granted granted Critical
Publication of KR101966284B1 publication Critical patent/KR101966284B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/23Bit dropping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/323Discarding or blocking control packets, e.g. ACK packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 각 라우터에서 PIT 정보를 기반으로 혼잡을 예측하고 요청 패킷을 확률적으로 드롭(drop)시킴으로써 혼잡을 예방하는 선행적 혼잡 제어(proactive congestion control)를 수행한다. 요청 패킷 드롭 시 NACK 패킷을 발생시켜 네트워크 혼잡 상황을 알리며, 요청 패킷 드롭 확률은 본 발명에서 추산하는 PIT base size에 의해 결정된다. PIT base size는 라우터에서 네트워크 큐를 모니터링 한 정보를 바탕으로 실시간으로 조절한다.
본 발명에서 라우터는 이용 가능한 인터페이스들을 순위를 매겨 관리하며, 특정 인터페이스로의 요청 패킷 전송이 실패하면 다음 순위의 인터페이스로 전송을 수행함으로써 다중경로 전송을 지원한다. 뿐만 아니라 라우터는 다음 홉의 라우터로부터 발생 한 NACK 패킷을 해당하는 요청 패킷 전송을 다른 경로로 재시도 한다.

Description

상태 기반 포워딩을 수행하는 네트워크에서의 능동적인 요청 패킷 관리 장치 및 그 방법{ACTIVE REQUEST MANAGEMENT APPARTUS IN STATEFUL FORWARDING NETWORKS AND METHOD THEROF}
본 발명은 패킷 관리 장치 및 그 방법에 관한 것으로서, 구체적으로는 상태 기반 포워딩을 수행하는 네트워크에서의 능동적인 요청 패킷 관리 장치 및 그 방법에 관한 것이다.
현대의 네트워크는 IP주소를 사용하여 호스트 간 상호 연결을 바탕으로 데이터 전송을 수행한다. 그런데, 최근의 트래픽 패턴을 살펴보면, 대용량 멀티미디어 콘텐츠의 전송량이 증가하고 인기 있는 콘텐츠들의 반복적인 요청이 주를 이루고 있는데, 이러한 트래픽 패턴을 처리하는데 있어 IP 주소 기반 네트워크는 동일한 데이터 패킷의 반복 전송이 많이 발생해 매우 비효율적으로 동작한다.
이러한 문제점을 해결하기 위해 제안된 새로운 네트워크 아키텍쳐(architecture)가 콘텐츠 중심 네트워크 (Content-Centric Networking, CCN)이다. CCN은 현재 그 성능을 인정받아 많은 네트워크 기업에서 연구 중이다. 특히, CISCO에서는 상용 CCN 라우터를 개발 및 출시했으며, 세계적으로 저명한 CCN 전문가를 영입해 CCN 연구팀을 결성하는 등 CCN에 대한 활발한 연구가 진행 중이다.
CCN에서는 데이터에 접두어(prefix)를 가지는 계층적인 이름을 부여하고 이를 기반으로 데이터 전송을 수행한다. CCN의 콘텐츠 소비자는 데이터 패킷과 동일한 이름을 가지는 요청 패킷(Interest)을 콘텐츠 제공자에게 전달함으로써 원하는 데이터 패킷을 요청하고 전송받는다. 이러한 통신 방식을 지원하기 위해 CCN의 라우터는 FIB(Forwarding Information Base), PIT(Pending Interest Table), CS(Content Store)에 저장된 네트워크 상태 정보들을 활용한다. FIB는 prefix 별 라우팅 정보를 관리한다. prefix란 콘텐츠 이름의 접두어를 의미하며 특정 콘텐츠를 이루는 데이터 패킷들은 동일한 prefix를 가지고 있다. 라우터는 수신한 요청 패킷의 이름을 FIB에 존재하는 prefix 정보와 매칭하여 라우팅 정보를 찾고, 해당 정보에 따라 요청패킷을 포워딩 시킨다. 요청 패킷을 포워딩 시킬 때는 PIT에 포워딩되는 요청 패킷의 이름과 함께 해당 요청 패킷의 출입 인터페이스(interface) 정보를 기록한다. 해당 정보는 이후, 콘텐츠 제공자로부터 발생한 데이터 패킷에게 콘텐츠 소비자까지의 경로를 제공하는 역할을 한다. 데이터 패킷이 사용한 PIT 항목은 해당 데이터 패킷이 전송된 이후 삭제되며 전송된 데이터 패킷은 네트워크 캐시(In-network Cache) 역할을 수행하는 CS에 일정시간동안 복사된다. 이는 해당 데이터 패킷에 대한 반복되는 요청이 발생 시 해당 데이터 패킷을 라우터의 CS에서 바로 제공할 수 있도록 해줌으로써 콘텐츠 제공자로부터의 불필요한 데이터 패킷 전송을 줄여준다. 이에 더해서, CCN의 라우터는 PIT에 존재하는 정보를 활용하여 요청 패킷 집약 기능을 지원한다. 해당 기능은 짧은 시간 내에 발생한 동일한 이름을 가진 반복적인 요청 패킷들을 하나의 요청 패킷으로 집약하고 PIT가 해당 정보를 기록 및 관리하게 한다. 그리고 집약된 요청 패킷에 상응하는 데이터 패킷이 라우터에 전송되면 PIT에 기록된 정보에 따라 멀티캐스트 (multicast)로 콘텐츠 소비자에게 전송해줌으로써 반복적인 요청 패킷 및 데이터 패킷 전송을 효과적으로 방지한다.
본 명세서에서는 상기와 같이 CCN에서 패킷 포워딩 수행 시 라우터에서 포워딩 정보를 저장 및 관리하고 이를 활용하는 방식을 “상태 기반 포워딩(Stateful forwarding)”이라 정의한다. 상태 기반 포워딩은 기존 IP 기반 네트워크와는 매우 차별화된 점이라 할 수 있다. 기존 IP 기반 네트워크는 라우팅의 경우 CCN과 동일하게 네트워크 상태정보를 FIB에 저장하고 관리하면서 수행하는 반면, 패킷을 포워딩 할 때에는 어떤 정보도 관리 하지 않고 단순히 라우팅 정보에만 의존한다. 이러한 “무상태 패킷 포워딩” 방식은 패킷 포워딩을 간소화함으로써 라우터의 부하를 줄일 수 있다는 장점이 있지만 라우팅 정보는 매우 긴 시간을 주기로 갱신되기 때문에 실시간적으로 발생하는 네트워크 장애 및 혼잡에 빠르게 대응할 수 없다는 단점이 있다. 그러나 상태 기반 포워딩을 수행하는 CCN에서는 라우터가 포워딩 정보를 관리하는 PIT를 모니터링(monitoring) 함으로써 특정 prefix에 대한 지연왕복 시간 및 처리량을 쉽게 측정할 수 있고 이를 활용하여 네트워크 장애 및 혼잡을 신속하게 감지 할 수 있다. 뿐만 아니라, 라우터는 감지된 정보를 바탕으로 전송이 원활한 다른 경로로 요청패킷을 전송함으로써 혼잡에 효과적으로 대응할 수도 있다. 이러한 기능은 CCN이 자연스럽게 다중 경로 전송을 지원할 수 있도록 해주며 상태 기반 포워딩이 요청 패킷 전송 시 콘텐츠 제공자와 소비자 사이에 특정 연결을 요구하지 않기 때문에 다중 경로 전송이 하나의 콘텐츠 제공자를 대상으로 제공 될 수도 여러 콘텐츠 제공자를 대상으로 제공될 수 있도록 해준다.
한편, CCN 혼잡 제어 분야에서 여러 기술들이 제안되어 왔지만, 본 명세서에서는 대표적인 세 가지 기술에 대해 분석하겠다.
첫 번째 기술은 ICP(Interest Control Protocol)이다. ICP는 콘텐츠 소비자가 데이터 패킷의 지연왕복 시간을 측정하고 이를 기반으로 혼잡을 감지하는 기술이다. 본 기술에서 콘텐츠 소비자는 요청 패킷을 전송한 뒤 측정된 평균 지연 왕복시간이 경과하기 전까지 데이터 패킷이 돌아오지 않으면 네트워크 혼잡으로 인해 데이터 패킷이 손실되었다고 판단하고 손실 복구를 위해 요청 패킷을 재전송함으로써 네트워크 혼잡을 처리한다. 그리고 혼잡을 감지한 콘텐츠 소비자는 자신의 요청 패킷 전송률을 감소시킨다. 여기서 요청 패킷 전송률은 기존의 TCP/IP 네트워크에서 사용되는 AIMD(Additive Increase Multiplicative Decrease)방식으로 관리된다. ICP는 기존 TCP/IP 네트워크에서 사용되는 혼잡제어 기술을 CCN에 잘 적용한 기술이다. 그러나 CCN은 상태 기반 포워딩을 수행함에 따라 TCP/IP 네트워크와 달리 특정 콘텐츠에 대해 다수의 콘텐츠 제공자가 존재하거나 라우터가 CS를 활용하여 데이터 패킷을 발생시킬 수 있기 때문에 동일 콘텐츠 전송에 속한 데이터 패킷들이라고 하더라도 지연왕복시간이 매우 다양하다. 그러므로 종단에서 지연왕복시간 측정을 기반으로 혼잡을 제어 하는 것은 정확하지 못 하다. 추가적으로 ICP는 손실 복구 지연 문제를 가지고 있다. 해당 문제는 CCN 라우터에서 요청 패킷 집약을 위해 PIT 내에서 요청 패킷 포워딩 기록을 특정 시간동안 유지하고 있는 과정과 ICP의 콘텐츠 소비자가 데이터 패킷 손실 복구를 위해 요청 패킷을 재전송하는 과정이 상충되어 나타나는 문제점이다.
도 1은 ICP에서 손실 복구 지연 문제가 발생하는 과정의 참고도이다.
도 1을 참조하면, 콘텐츠 소비자로부터 요청 패킷이 전송된 후, 데이터 패킷 손실이 발생하면, 해당 콘텐츠 소비자는 지연 왕복 시간을 기준으로 혼잡을 감지하고 요청 패킷을 재전송한다. 그런데 일반적으로 라우터는 다양한 경로를 통해 발생하는 요청 패킷들을 효과적으로 집약하고 데이터 패킷의 전송을 보장하기 위해 네트워크의 평균 지연왕복시간보다 훨씬 긴 시간동안 PIT에 요청 패킷 정보를 저장하며 이로 인해 재전송된 요청 패킷은 라우터의 PIT에 집약되어 정상적인 손실복구가 수행되지 못한다. 그리고 결국에는 PIT에 저장된 요청 패킷 정보가 만료되어 삭제 된 뒤에서야 ICP 콘텐츠 소비자는 정상적으로 손실복구를 수행할 수 있게 된다. 해당 문제는 콘텐츠의 전송완료 시간을 증가시키며 이러한 영향은 전송 완료 시간이 아주 짧은 크기가 작은 콘텐츠들의 전송 성능을 크게 저하시킨다.
두 번째 기술은 HIS(Hop-by-hop Interest Shaper)이다. HIS는 각 라우터 별로 독립적으로 혼잡 제어를 수행하며, NACK(Negative-ACKnowledgement) 패킷을 활용하여 네트워크에게 명시적으로 혼잡 발생을 알린다.
도 2는 HIS의 구조를 나타낸 개념도이다.
도 2를 참조하면, HIS 라우터는 요청 패킷을 포워딩 할 때, 링크의 대역폭과 평균 데이터 패킷 사이즈의 크기를 활용하여 아래 식 (1)과 같이 요청 패킷 전송률을 계산한 뒤 해당 전송률에 맞게 요청 패킷을 페이싱(pacing)하여 전송한다.
식 (1)
Figure 112017057617806-pat00001
페이싱된 요청 패킷들을 보관하기 위해 요청 큐를 사용하며 해당 요청 큐가 가득 차면 네트워크 혼잡으로 판단하고 NACK 패킷을 발생시켜 이전 홉의 라우터에게 네트워크 혼잡발생을 알린다. 이렇게 발생한 NACK 패킷은 데이터 패킷과 마찬가지로 PIT에 존재하는 요청 패킷 포워딩 정보를 소비하면서 콘텐츠 소비자에게 전송되고 이를 수신한 콘텐츠 소비자는 자신의 요청 패킷 전송률을 줄이고 요청 패킷을 재전송함으로써 혼잡을 제어한다. HIS는 NACK 패킷을 활용하여 손실 된 데이터 패킷에 대한 PIT 항목을 제거함으로써 ICP에서 발생한 손실 복구 지연 문제를 해결하였고, 단일 경로 환경에서 매우 효과적으로 혼잡제어를 수행한다. 그러나 HIS는 다중 경로 전송을 지원하지 못한다는 문제점을 안고 있으며 해당 문제는 ICP도 해당된다.
마지막으로 설명할 기술은 NACK 패킷을 활용하여 각 라우터 별로 혼잡 제어를 수행하면서 다중 경로 전송까지 지원하는 AF(Adaptvie Forwarding)이다. AF는 HIS와 동일하게 라우터에서 적절한 요청 패킷 전송율을 계산하고 그에 맞게 요청 패킷을 페이싱하여 전송한다. 이에 더하여 AF는 다음과 같은 방식으로 다중 경로 전송을 제공한다. 우선, 라우터들은 콘텐츠 제공자들로 연결되는 이용 가능한 interface들을 찾고 라우팅 선호도를 고려하여 해당 interface들 간의 순위를 매긴다. 그리고 라우터는 데이터 전송 성능(지연왕복 시간과 처리량 등)을 모니터링하면서 interface 간 순위를 실시간으로 조율한다. 이러한 interface 순위 정보는 AF 라우터가 다중 경로 전송을 수행할 때 우선적으로 전송을 시도 할 경로를 선택하는 기준으로 사용된다. 다음으로 AF 라우터는 per-interface- per-prefix로 요청 패킷 전송률 상한값을 관리한다. 해당 값은 AIMD 방식으로 관리되며, 데이터 패킷 전송이 성공하면 증가하고 NACK 패킷이 발생하면 감소된다. 만약 라우터가 특정 interface로 특정 prefix를 가지는 요청 패킷들을 전송하고 있는 도중에 해당 패킷에 해당하는 per-interface-per-prefix 요청률이 상한값을 초과하면 라우터는 해당 prefix를 가지는 요청 패킷들을 해당 interface로 전송하지 않고 다음 순위에 위치하는 interface에 연결된 경로로 전송함으로써 다중 경로를 활용한다. 만약 추가적으로 이용 가능한 interface가 존재하지 않는다면 라우터는 이를 혼잡으로 판단하고 NACK 패킷을 이전 홉의 라우터로 전송한다. NACK 패킷을 받은 라우터는 NACK 패킷이 들어온 interface와 해당 prefix에 상응하는 전송률 상한값을 줄인다. 추가적으로, 라우터는 다른 이용 가능한 interface가 존재하는지 확인하고 만약 존재한다면 NACK 패킷에 상응하는 요청 패킷을 만들어 이용 가능한 interface로 포워딩을 재시도 한다. 마찬가지로, 이용 가능한 interface가 존재하지 않는 경우에는 NACK 패킷을 전송한다.
도 3은 AF의 다중 경로 전송의 구조의 개념도이다.
도 3의 (a)는 라우터가 요청 패킷을 처리하는 과정을 나타내며, 도 3의 (b)는 NACK 패킷을 처리하는 과정을 보여준다. AF는 NACK 패킷을 활용하여 혼잡을 제어함으로써 손실 복구 지연 문제를 겪지 않으면서 단일 경로 및 다중 경로 두 환경에서 모두 효과적으로 동작하는 기술이다. 그런데 HIS와 마찬가지로 페이싱을 수행하기 때문에 요청 큐가 추가적으로 요구된다는 점과 per- interface-per-prefix로 네트워크 상태를 관리해야하는 점은 라우터에 큰 부하를 준다는 문제점이 존재한다.
대한민국 등록특허공보 제10-1705464호
본 발명은 CCN의 상태 기반 포워딩 특징을 최대한 활용하여 라우터에 추가적인 큐 설치나 큰 부하를 요구하지 않으면서 단일 경로 및 다중 경로 전송을 효과적으로 제공하는 혼잡제어를 수행할 수 있는 패킷 관리 장치 및 그 방법을 제공하는 것을 목적으로 한다.
본 명세서에 기재된 해결과제는 이상에서 언급한 것들에 한정되지 않으며, 언급되지 아니한 다른 해결과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명에 따른 패킷 관리 장치는, CCN에서 라우터 역할을 수행하는 패킷 관리 장치로서, PIT에 존재하는 포워딩 정보 항목 수에 따라 발생될 데이터 트래픽 양을 예측하는 트래픽 예측부; 및 상기 트래픽 예측부에 예측된 데이터 트래픽 양에 따라 요청 패킷들을 확률적으로 드롭시키는 선행적 혼잡제어부;를 포함한다.
본 발명의 일 실시예에 따른면, 상기 선행적 혼잡제어부는 라우터에서 요청 패킷들을 드롭시킬 때 NACK 패킷을 발생시킨다.
본 발명의 일 실시예에 따른면, 상기 선행적 혼잡제어부는 포워딩 가능한 인터페이스(interface)가 없을 때, NACK 패킷을 발생시킨다.
본 발명의 일 실시예에 따른면, 상기 선행적 혼잡제어부는 NACK 패킷을 받았을 때, NACK 패킷이 들어온 인터페이스의 다음 순위에 위치하는 인터페이스에게 해당 NACK 패킷에 상응하는 요청 패킷을 생성해 포워딩한다.
본 발명의 일 실시예에 따른면, 상기 선행적 혼잡제어부는 요청 패킷의 서비스 클래스에 따라 차등확률적으로 드롭시킨다.
본 발명의 일 실시예에 따른면, 상기 트래픽 예측부는 데이터 패킷들의 지연왕복시간에 따라 PIT base size 값을 더 설정한다.
본 발명에 따른 패킷 관리 방법은 CCN에서 라우터를 제어하는 패킷 관리 방법으로서, (a) 트래픽 예측부가 PIT에 존재하는 포워딩 정보 항목 수에 따라 발생될 데이터 트래픽 양을 예측하는 단계; 및 (b) 선행적 혼잡제어부가 트래픽 예측부에 예측된 데이터 트래픽 양에 따라 요청 패킷들을 확률적으로 드롭시키는 단계;를 포함한다.
본 발명의 일 실시예에 따른면, (c) 상기 선행적 혼잡제어부가 라우터에서 요청 패킷들을 드롭시킨 이후에 NACK 패킷을 발생시키는 단계;를 더 포함한다.
본 발명의 일 실시예에 따른면, 상기 (c) 단계는 선행적 혼잡제어부가 포워딩 가능한 인터페이스(interface)가 없을 때, NACK 패킷을 발생시키는 단계이다.
본 발명의 일 실시예에 따른면, (d) 상기 선행적 혼잡제어부가 NACK 패킷을 받았을 때, NACK 패킷이 들어온 인터페이스의 다음 순위에 위치하는 인터페이스에게 해당 NACK 패킷에 상응하는 요청 패킷을 생성해 포워딩하는 단계;를 더 포함한다.
본 발명의 일 실시예에 따른면, 상기 (b) 단계는 상기 선행적 혼잡제어부가 요청 패킷의 서비스 클래스에 따라 차등확률적으로 드롭시킨다.
본 발명의 일 실시예에 따른면, 상기 (a) 단계는 상기 트래픽 예측부가 데이터 패킷들의 지연왕복시간에 따라 PIT base size 값을 더 설정한다.
본 발명에 따른 패킷 관리 방법은 컴퓨터에서 패킷 관리 방법의 각 단계들을 수행하도록 작성되어 컴퓨터로 독출 가능한 기록 매체에 기록된 컴퓨터프로그램 형태로 구현될 수 있다.
본 발명은 CCN에서 단일 경로 및 다중 경로 전송을 효과적으로 제공함으로써 CCN 네트워크 성능의 비약적인 향상을 도모할 수 있다. 그리고 해당 기능을 제공함에 있어 라우터에 추가적인 큐 설치나 큰 부하를 요구하지 않아 뛰어난 확장성을 제공할 수 있다. 추가적으로, 본 발명은 차등화 서비스를 제공하는 데 있어 콘텐츠 제공자 중심이라는 새로운 접근법을 제시함으로써 차등화 서비스의 실용성을 증가시킬 수 있다.
본 명세서에 기재된 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 ICP에서 손실 복구 지연 문제가 발생하는 과정의 참고도이다.
도 2는 HIS의 구조를 나타낸 개념도이다.
도 3은 AF의 다중 경로 전송의 구조의 개념도이다.
도 4는 본 발명에 따른 패킷 관리 장치가 포함된 시스템에 대한 개략적인 개념도이다.
도 5는 요청 패킷 드롭의 확률 모델이다.
도 6은 서비스 클래스에 따른 패킷 드롭 확률의 예시도이다.
도 7은 본 발명에 따른 선행적 혼잡제어부가 라우터에서 요청 패킷을 처리하는 과정도이다.
도 8은 본 발명에 따른 선행적 혼잡제어부가 NACK 패킷을 받은 라우터의 동작도이다.
도 9는 시나리오 1에 따른 모의 실험 결과에 대한 표이다.
도 10은 시나리오 2에서 사용된 토폴로지도이다.
도 11은 시나리오 2에 따른 모의 실험 결과에 대한 표이다.
도 12는 시나리오 3에 따른 모의 실험 결과에 대한 표이다.
이하, 첨부한 도면을 참조하여, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 설명한다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 이해할 수 있는 바와 같이, 후술하는 실시예는 본 발명의 개념과 범위를 벗어나지 않는 한도 내에서 다양한 형태로 변형될 수 있다. 가능한 한 동일하거나 유사한 부분은 도면에서 동일한 도면부호를 사용하여 나타낸다.
본 명세서에서 사용되는 전문용어는 단지 특정 실시예를 언급하기 위한 것이며, 본 발명을 한정하는 것을 의도하지는 않는다. 여기서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다.
본 명세서에서 사용되는 "포함하는"의 의미는 특정 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분을 구체화하며, 다른 특정 특성, 영역, 정수, 단계, 동작, 요소, 성분 및/또는 군의 존재나 부가를 제외시키는 것은 아니다.
본 명세서에서 사용되는 기술용어 및 과학용어를 포함하는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 일반적으로 이해하는 의미와 동일한 의미를 가진다. 사전에 정의된 용어들은 관련기술문헌과 현재 개시된 내용에 부합하는 의미를 가지는 것으로 추가 해석되고, 정의되지 않는 한 이상적이거나 매우 공식적인 의미로 해석되지 않는다.
본 발명은 콘텐츠 제공자에서 라우팅 프로토콜을 활용하여 네트워크로 퍼뜨린 콘텐츠의 클래스(class) 정보를 활용하여 요청 패킷 확률을 클래스별로 달리 설정함으로써 콘텐츠별 차등화 서비스를 제공한다.
이하에서는 도면을 중심으로 본 명세서에 따른 패킷 관리 시스템 및 그 방법을 설명하고자 한다. 한편, 본 발명을 설명함에 있어서 기존 CCN에 대한 구체적인 설명은 생략하도록 하며, 기존 CCN과 차이점을 중심으로 설명하도록 하겠다.
도 4는 본 발명에 따른 패킷 관리 장치가 포함된 시스템에 대한 개략적인 개념도이다.
<선행적 혼잡제어>
CCN에서는 요청 패킷 하나에 대해서 반드시 데이터 패킷 하나가 발생하며 각 라우터는 포워딩된 요청 패킷의 정보들을 PIT에 저장 및 관리 한다. 그러므로 PIT 크기(PIT에 존재하는 포워딩 정보 항목 수)정보를 사용한다면 미래에 발생될 데이터 트래픽 양을 예측할 수 있다. 본 발명은 이러한 특성을 활용하여 네트워크 혼잡을 사전에 방지하는 선행적 혼잡제어 기술을 제안한다. 본 발명에서 라우터는 interface별 PIT 크기를 측정하고 이를 기반으로 네트워크 혼잡이 발생하기 이전에 요청 패킷들을 확률적으로 드롭시킴으로써 선행적 혼잡제어를 수행한다. 라우터에서 요청 패킷들을 드롭시킬 때에는 NACK 패킷을 발생시켜 콘텐츠 요청자에게 요청 패킷 드롭 사실을 알려 드롭된 요청 패킷이 재전송 될 수 있도록 한다.
도 5는 요청 패킷 드롭의 확률 모델이다.
도 5를 참조하면, 해당 확률 모델은 TCP의 RED에서 사용한 확률 모델과 비슷하다. 현재의 PIT 크기가 minTh보다 작다면 모든 요청 패킷은 드롭을 겪지 않고 포워딩 된다. 그러나 PIT 크기가 minTh보다 크다면 요청 패킷들은 확률적으로 드롭되게 되고 maxTh보다 커지는 경우에는 모든 요청 패킷들이 드롭된다. minTh와 maxTh는 식 (2)와 (3) 같이 계산된다.
식 (2)
Figure 112017057617806-pat00002
식 (3)
Figure 112017057617806-pat00003
α는 설정가능한 매개변수이고, base_size는 네트워크 링크가 가장 이상적으로 사용될 수 있는 PIT 크기를 의미한다. PIT 크기가 base_size로 유지된다면 네트워크 큐는 최소한으로 사용하면서 링크의 대역폭은 가득 찬 상태로 데이터 전송이 이루어진다. base_size 계산 방법은 이후에 설명할 것이다. 본 발명은 종래 기술인 IS 및 AF와 달리 요청 패킷 페이싱을 위한 추가적인 큐 설치 없이 선행적 혼잡제어를 수행한다는 점에서 차별성을 가진다.
<다중 경로를 활용한 데이터 전송>
본 발명은 AF와 유사한 알고리즘을 사용하여 다중 경로를 충분히 활용하는 데이터 전송을 수행한다. 본 발명에서 라우터는 네트워크 상황을 고려하여 이용 가능한 interface들에 순위를 매겨 관리한다. 이와 함께 본 발명은 라우터가 요청 패킷과 NACK 패킷을 처리할 때 각각 특정 동작을 수행하도록 하여 다중경로 데이터 전송을 지원한다.
만약 특정 인터페이스로의 요청 패킷 포워딩이 랜덤 드롭에 의해 실패한다면 라우터는 NACK 패킷을 발생시키기 이전에 이용 가능한 다른 interface가 존재하는 지 검사 한 후 존재한다면 가장 높은 순위의 interface로 요청 패킷 전송을 시도한다. 이러한 동작은 특정 interface로의 요청 패킷 포워딩이 성공하거나 더 이상 포워딩 가능한 interface가 없을 때까지 반복되며, 포워딩 가능한 interface가 없다면 라우터는 NACK을 발생시킨다.
다음으로, NACK 패킷을 받은 라우터는 다음과 같이 동작한다.
라우터는 NACK 패킷이 들어온 interface의 다음 순위에 위치하는 interface들로 해당 NACK 패킷에 상응하는 요청 패킷을 생성해 포워딩을 재시도 한다. 마찬가지로 이 동작 역시 요청 패킷 포워딩이 성공하거나 더 이상 포워딩 가능한 interface가 없을 때까지 반복되며, 없다면 NACK 패킷을 다음 홉으로 전달한다. 다중 경로를 활용하기 위한 전체적인 메커니즘은 AF와 유사하나, 본 발명은 AF와 달리 per-interface-per-prefix로 네트워크 상태를 관리하지 않기 때문에 라우터에 큰 부하를 주지 않고 동작할 수 있다.
<콘텐츠 공급자 주도의 차등화 서비스>
기존 IP 기반 네트워크에서의 일반적인 차등화 서비스는 플로우(flow)별로 적용되며 엣지(edge) 라우터에서 플로우 분류, 분류 정보 마킹(marking) 등과 같은 복잡한 일을 수행하고 코어(core) 라우터에서는 단순히 분류된 정보를 바탕으로 차별화된 패킷 포워딩을 수행하는 방식으로 동작한다.
본 발명은 이와 같은 엣지 라우터 주도의 플로우 별 차등화 서비스를 제공하는 것은 물론, 새로운 차등화 서비스 방식인 콘텐츠 공급자 주도의 차등화 서비스 또한 제공할 수 있다. 기본적으로 CCN에서는 콘텐츠 제공자가 라우팅 프로토콜을 활용하여 라우팅 정보를 콘텐츠 이름의 접두부와 함께 전체 네트워크에 퍼뜨린다. 이를 활용하여 본 발명은 콘텐츠 제공자가 라우팅 정보를 퍼뜨릴 때, 해당 콘텐츠의 서비스 클래스 정보를 함께 보내게 하고 라우터에서는 이러한 클래스 정보를 바탕으로 패킷을 차등적으로 포워딩함으로써 차등화 서비스를 제공한다. 라우터는 라우팅 정보와 서비스 클래스 정보를 prefix 별로 FIB에서 관리한다. 이는 이미 CCN라우터에서 라우팅 정보를 FIB에 prefix 별로 관리하고 있기 때문에 라우터에 큰 부하를 주지 않는다.
도 6은 서비스 클래스에 따른 패킷 드롭 확률의 예시도이다.
라우터는 해당 클래스 정보에 따라 요청 패킷 드롭 확률을 달리 적용함으로써 요청 패킷 포워딩에 차등을 준다. 예를 들어 서비스 클래스가 2종류(우선순위가 높은 high 클래스와 낮은 low 클래스)로 이루어져 있을 때의 요청 패킷 드롭 확률은 도 6과 같다. minTh와 maxTh는 클래스 별로 각각 다른 값을 가지며 이를 바탕으로 high 클래스 콘텐츠 들은 요청 패킷 드롭 시 상대적으로 큰 minTh와 maxTh가 적용되어 low 클래스보다 더 적은 요청 패킷들이 드롭됨으로써 차등적인 패킷 포워딩이 적용될 수 있다. 식 (4)와 (5)는 클래스 별 minTh와 maxTh를 계산하는 식이다.
식 (4)
Figure 112017057617806-pat00004
식 (5)
Figure 112017057617806-pat00005
여기서, βclass는 클래스별 차등화 변수로 식 (6)과 같이 계산된다.
식 (6)
Figure 112017057617806-pat00006
γ는 식 (7)로 계산되며, 여기서 objThroclass는 해당 클래스가 요구하는 목표 처리량이고 curThroclass는 라우터에서 측정된 해당 클래스의 처리량이다.
식 (7)
Figure 112017057617806-pat00007
objThroclass는 콘텐츠 제공자가 클래스 정보를 퍼뜨릴 때 설정되며 필요에 따라서는 네트워크 관리자가 직접 설정할 수도 있다. γ는 특정 클래스의 처리량이 목표로 한 처리량에 미치지 못 할 경우 βclass를 증가시켜 해당 클래스의 minTh와 maxTh가 커지도록 할 것이다. 추가적으로 본 발명은 안정적인 동작을 위해 βclass의 급격한 변화를 막고자 γ의 최대값을 설정 가능한 매개변수인 δ로 설정하였고 새로운 βclass가 적용 된 후 해당 클래스의 처리량이 일정 수준으로 수렴되기 이전에는 βclass를 변화시키지 않도록 하였다. 본 발명이 제공하는 차등화 서비스는 특정 라우터가 플로우 별로 요청 패킷을 분류하고 요청 패킷에 마킹 할 필요 없이 쉽게 차등화 서비스를 제공할 수 있다는 점에서 차별성이 있다.
<PIT Base Size>
PIT base size는 본 발명의 성능에 큰 영향을 미치는 중요한 요소이다. 본 발명이 네트워크 링크 대역폭을 충분히 활용하기 위해선 요청 패킷 드롭의 기준이 되는 PIT base size가 적절한 값으로 설정되어야 한다. 본 발명에서는 PIT base size를 네트워크 링크가 가장 이상적으로 사용될 때의 PIT size로 정의한다. 그리고 네트워크 큐를 최소한으로 사용하면서 네트워크 대역폭을 모두 활용하고 있는 경우를 네트워크 링크가 가장 이상적으로 사용되고 있는 환경이라고 정의한다. 일반적으로 PIT base size는 링크의 BDP와 그 값이 같다. 그래서 PIT base size 값은 전송되는 데이터 패킷들의 지연왕복시간에 따라 달라져야 한다. 예를 들어, 데이터 패킷들의 평균 지연왕복시간이 큰 경우는 작은 경우에 비해 PIT base size가 더 큰 값이 되어야 네트워크 대역폭이 모두 활용될 수 있다. 본 발명의 성능을 최적화시키기 위해서는 PIT base size가 실시간으로 전달되는 데이터 패킷들의 평균 지연 왕복시간을 고려하여 적절하게 변화되어야 한다. 그러므로 본 발명은 데이터 패킷들의 지연 왕복시간의 변화를 라우터의 네트워크 큐를 모니터링함으로써 인지하고, PIT base size를 해당 상황에 맞게 적절히 조율하는 새로운 매커니즘(mechanism)을 제안한다. 해당 매커니즘의 동작 방식은 다음과 같다. 네트워크 큐를 모니터랑 하는 라우터는 네트워크 큐 크기가 특정 경계를 넘어서는 경우 데이터패킷에 해당 정보를 마킹 한다. 마킹 된 데이터 패킷을 받은 라우터는 해당 정보를 활용하여 PIT base size를 적절히 변화시킨다. bmin과 bmax는 네트워크 큐의 경계값으로 식 (8)과 (9)와 같이 설정된다.
식 (8)
Figure 112017057617806-pat00008
식 (9)
Figure 112017057617806-pat00009
해당 매커니즘을 활용함으로써, 본 발명은 링크에 존재하는 데이터 패킷들의 지연 왕복시간의 변화에 상관없이 일정한 성능을 보여 줄 수 있다. 뿐만 아니라, 해당 매커니즘은 데이터 패킷 마킹 수행 시, 모든 데이터 패킷에 마킹을 하는 것이 아니라 특정 경계를 넘어서는 하나의 데이터 패킷에만 마킹을 수행하기 때문에 라우터에 큰 부하 없이 동작 가능하다.
상술한 내용을 구현하기 위해 본 발명에 따른 패킷 관리 장치는 CCN에서 라우터 역할을 수행하는 패킷 관리 장치로서, 트래픽 예측부 및 선행적 혼잡제어부를 포함할 수 있다. 상기 트래픽 예측부는 PIT에 존재하는 포워딩 정보 항목 수에 따라 발생될 데이터 트래픽 양을 예측할 수 있다. 상기 선행적 혼잡제어부는 상기 트래픽 예측부에 예측된 데이터 트래픽 양에 따라 요청 패킷들을 확률적으로 드롭시킬 수 있다.
도 7은 본 발명에 따른 선행적 혼잡제어부가 라우터에서 요청 패킷을 처리하는 과정도이다.
도 8은 본 발명에 따른 선행적 혼잡제어부가 NACK 패킷을 받은 라우터의 동작도이다.
상기 트래픽 예측부 및 선행적 혼잡제어부의 동작에 대해서 상술하였으므로 반복적인 설명은 생략하도록 하겠다.
본 발명은 성능 평가를 위해 ns-3 시뮬레이터 ndnSIM 모듈을 사용하여 모의실험(simulation)을 진행하였으며, 실험 대조군으로 ICP, HIS 그리고 AF를 사용하였다. 총 3가지의 모의실험 시나리오를 사용하여 본 발명의 세 가지 기능(선행적 혼잡제어, 다중 경로 전송, 공급자 주도의 차등화 서비스)의 성능을 각각 평가하였다. 모든 실험에서 공통적으로 사용되는 본 발명의 설정 가능한 매개변수 값인 maxP, α, δ 값들은 각각 0.1, 0.3, 0.0025로 설정하였다.
<시나리오 1 - 단일 경로 전송>
모의실험 환경
첫 번째 모의실험 시나리오에서는 단일 경로 전송 환경에서 본 발명의 선행적 혼잡제어에 대한 성능평가가 진행되었다. 해당 실험에서는 콘텐츠 소비자들과 제공자들이 단일 링크 양 끝단에 연결된 덤벨(dumbel) 토폴로지를 사용하였다. 단일 링크는 병목구간 역할을 하도록 대역폭을 20Mbps로 설정하였으며 모든 콘텐츠 소비자들과 제공자들은 병목구간인 단일링크에 100Mbps 링크로 연결되었다. 지연 왕복시간은 25ms로 설정하였다. 크기가 20KB인 10,000개의 콘텐츠가 존재하고 모든 콘텐츠의 prefix는 동일하며 해당 콘텐츠들은 exponential 분포에 따라 콘텐츠 소비자들에 의해 요청 되고 콘텐츠 요청 인기도는 α값이 0.8인 pareto 분포를 따르도록 하였다. 해당 콘텐츠 요청률은 20~100 requests/s 사이에서 변경해가며 모의실험을 진행하였다. 추가적으로 크기가 무한한 8개의 콘텐츠가 링크에 백그라운드 트래픽(background traffic)으로 존재하도록 하였다. 네트워크 큐 및 HIS와 AF에 사용되는 요청 큐의 크기는 모두 BDP로 설정하였다.
모의실험 결과
도 9는 시나리오 1에 따른 모의 실험 결과에 대한 표이다.
도 9의 (a)는 20KB 콘텐츠들의 평균 전송 완료 시간을 보여준다. 본 발명, 이하 ARM(Active Request Management)은 모든 요청률에서 가장 뛰어나고 안정적인 성능을 보였다. HIS도 안정적인 성능을 보였으나 ARM보다는 약간 큰 전송 완료 시간을 경험하였다. 이는 HIS의 경우, 요청 큐가 가득 차야 NACK 패킷이 발생하기 때문에 요청 큐가 항상 가득 차있을 것이며, 이로 인해 네트워크 큐를 일정 수준 이하로 유지하는 ARM에 비해 큐 지연 시간을 많이 겪었기 때문이다. ICP는 요청률이 20~60 requests/s 사이일 때 매우 잘 동작 하였으나, 80 requests/s 이상의 요청률에서는 성능이 급격히 나빠졌는데, 그 이유는 요청률이 증가함에 따라 데이터 패킷 드롭이 발생하였고 이로 인해 손실 복구 지연 문제가 발생했기 때문이다. AF도 요청률이 증가함에 따라 성능이 떨어졌다. 그 이유는 모든 콘텐츠들이 동일한 prefix를 사용하는 환경에서 특정 한 콘텐츠 전송의 혼잡으로 인해 발생한 per-interface- per-prerix 요청률 상한값의 감소가 모든 콘텐츠 전송에 영향을 미쳤기 때문이다. 해당 문제는 요청률 상한값을 per-interface-per-prefix가 아닌 per-interface-per-name으로 관리를 하면 해결될 수 있으나, 모든 요청 패킷 이름 별로 네트워크 상태를 관리하는 것은 라우터에 매우 큰 부하를 줄 것이기 때문에 좋은 해결방안이라 할 수 없다.
도 9의 (b)는 크기가 무한한 콘텐츠들의 전송 처리량을 나타낸 그래프이다. ARM과 HIS는 모든 요청률에서 최고의 처리량을 달성했다. 그런데 ICP는 낮은 요청률이 적용된 환경에서 가장 낮은 처리량을 기록했다. ICP는 기본적으로 지연 왕복 시간을 기준으로 혼잡을 제어하기 때문에 패킷들의 지연 왕복 시간이 큰 값으로 증가하는 것을 막아 네트워크 큐가 거의 항상 비어있게 만든다. 이로 인해 크기가 무한한 콘텐츠 전송이 20KB 콘텐츠 전송들과 경쟁하는데 있어 네트워크 큐를 충분히 활용하지 못하게 되고 결과적으로 네트워크 처리량이 매우 떨어지는 문제점이 발생하였다고 볼 수 있다. AF는 ICP보다는 높은 처리량을 보였으나 ARM과 HIS에 비해서는 좋지 않은 성능을 보였는데, 그 원인은 앞서 언급한 per-interface-per-prefix 요청률 상한값을 관리하는데 있어 발생하는 문제점과 동일하다.
도 9의 (c)와 (d)는 각각 모델 별 데이터 패킷 드롭과 NACK 패킷 발생 횟수를 나타낸다. 오직 ICP만이 80~100 requests/s에서 손실 복구 지연을 발생시키는 데이터 패킷 손실을 겪었다. 그 외의 모델들은 사전에 요청 패킷을 드롭 시킴으로써 데이터 패킷을 손실을 경험하지 않았다. NACK 패킷 발생 횟수의 경우, AF가 HIS와 ARM에 비해 매우 높았으며 그 이유는 한번 감소된 요청률 상한값이 모든 콘텐츠 전송에 대해 NACK을 발생시키기 때문이다. 그리고 ARM은 HIS에 비해 NACK이 조금 더 발생하였다. 왜냐하면 HIS는 요청 큐가 가득차야 NACK을 발생시키는 반면 ARM은 네트워크 큐가 가득차기 이전에 확률적으로 NACK을 발생시키기 때문이다.
도 9의 (e)와 (f)는 각각 요청패킷이 초당 80개 발생 할 때의 모델 별 네트워크 큐와 요청 큐 크기 변화를 보여준다. 요청 큐는 AF와 HIS에서만 사용되었다. 네트워크 큐 크기 변화를 보면 ICP의 네트워크 큐는 진동이 매우 심한채로 불안정하게 동작하는 반면 ARM은 일정 수준을 유지하며 매우 안정적으로 동작한다. HIS와 AF에서는 요청 패킷을 페이싱하여 전송하기 때문에 네트워크 큐는 사용되지 않았다. 요청 큐 크기 변화 양상을 보면, HIS는 항상 가득 차있었으며, AF의 경우 요청률 상한값의 변화 때문에 크게 진동하고 있다는 것을 확인할 수 있었다.
<시나리오 2 - 다중 경로 전송>
모의실험 환경
도 10은 시나리오 2에서 사용된 토폴로지도이다.
두 번째 시나리오는 ARM의 다중 경로 전송 효율성을 평가하기 위해 도 10과 같은 토폴로지를 사용하여 모의실험을 진행하였다. 8개의 콘텐츠 요청자들은 각각 크기가 무한한 콘텐츠를 요청한다. 실험에 사용되는 prefix 종류는 1~8개로 바꿔가며 실험을 진행했으며 각 prefix 마다 동일 한 수의 콘텐츠가 할당되었다. 예를 들어 prefix가 8개 사용된 경우는 모든 콘텐츠가 다른 prefix를 가지며 4개가 사용된 경우에는 동일한 prefix를 가지는 콘텐츠가 2개씩 존재하도록 하였다. 다중 경로들의 병목구간은 20Mbps이고 다중 경로 수는 2~8개로 변경해가며 실험을 진행했으며 각 경로를 path-1, path-2, ... ,path-8으로 칭하였다. “path-”뒤에 붙은 path number가 작을수록 높은 우선순위를 가진 경로라고 설정하였다. 다른 조건은 시나리오 1에서와 동일하게 설정하였으며 ICP와 HIS는 다중 경로 전송을 지원하지 않기 때문에 본 실험에서는 ARM과 AF만을 비교하였다.
모의실험 결과
도 11은 시나리오 2에 따른 모의 실험 결과에 대한 표이다.
도 11의 (a)와 (b)는 각각 2~8개의 다중 경로가 사용되는 환경에서 ARM과 AF의 사용된 prefix 수 별 처리량을 보여준다. n개의 prefix를 사용한 ARM과 AF를 ARM-n 그리고 AF-n이라고 칭하였다. 다중 경로 수가 증가할수록 두 모델은 모두 처리량이 증가하였으나 항상 ARM이 AF보다 우수한 성능을 보였다. ARM은 prefix 별 상태 정보를 관리하거나 활용하지 않기 때문에 prefix 수 변화에 대한 처리량 변화는 보이지 않았다. 그러나 AF의 경우 prefix 별 요청률 상한값이라는 상태 정보를 활용하기 때문에 prefix 수에 따라 처리량이 달라졌으며, prefix 수가 증가함에 따라 처리량이 증가하였고 8개의 prefix를 사용하는 경우 즉, 모든 콘텐츠들의 상한값을 따로 관리한 경우에만 ARM과 비슷한 성능을 낼 수 있다는 것을 확인했다. 그 이유는 prefix 수가 증가함에 따라 특정 콘텐츠 전송으로 인한 요청률 상한값의 감소가 더 적은 콘텐츠 전송에 영향을 미쳤기 때문이라고 볼 수 있다.
도 11의 (c)는 ARM이 4개의 경로를 사용할 때 각 경로의 네트워크 큐 이용률을 보여준다. AF의 경우 요청 패킷 페이싱으로 인해 네트워크 큐를 사용하지 않기 때문에 표시하지 않았다. ARM은 prefix 수에 관계없이 모든 경로의 네트워크 큐를 큰 편차 없이 평균 20%의 이용률을 유지하며 안정적으로 사용하였다. AF는 앞서 언급한 것처럼 네트워크 큐를 사용하지 않는 대신 요청큐를 사용하다.
도 11의 (d)에서 AF의 요청 큐 이용률을 볼 수 있다. AF의 요청 큐 이용률은 사용되는 prefix 수가 증가됨에 따라 점점 안정적으로 사용되었다는 것을 확인할 수 있다. 그러나 모든 경우에서 path-1와 path-2에 비해 path-3과 path-4의 네트워크 큐를 잘 활용하지 못하였다. 이 또한 per-interface-per-prefix 요청률 상한값 관리에 의해 발생하는 문제점이며 prefix 수가 증가함에 따라 해당 문제로 인해 발생하는 부작용은 완화되었다. 이와 같이, 안정적이지 못하고 불균형적인 네트워크 큐 사용이 ARM과 비교할 때 AF의 처리량을 크게 떨어뜨렸다.
<시나리오 3 - 차등화 서비스>
모의실험 환경
마지막 모의실험은 ARM의 차등화 서비스 성능을 평가하기 위해 수행되었다. 시나리오 1과 동일한 토폴로지를 사용하였으나 본 실험에서는 2개의 콘텐츠 공급자만을 사용하였다. 각 콘텐츠 공급자는 우선순위가 다른 콘텐츠를 제공하며 우선순위가 높은 콘텐츠 클래스를 assured_forwarding, 낮은 콘텐츠 클래스를 best_effort라고 칭하였다. 총 8개의 콘텐츠 요청자가 존재하며, 그 중 넷은 우선순위가 높은 클래스의 콘텐츠를 요청하고, 나머지는 우선순위가 낮은 클래스의 콘텐츠를 요청하였다. 그리고 본 실험에서는 백그라운드 트래픽으로써 각 콘텐츠 공급자에게 크기가 20KB인 콘텐츠를 초당 10개씩 요청하도록 하였다. 콘텐츠 요청자와 공급자 사이의 지연 왕복 시간에 관련해서는 두 가지 경우를 고려하여 실험을 진행하였다. assured_forwarding 콘텐츠와 best_effort 콘텐츠가 25ms로 동일한 지연 왕복 시간을 겪는 경우와 서로 다른 지연 왕복시간 (assured_forwarding : 50ms, best_effort : 25ms)을 겪는 경우를 고려하였다. 동일한 지연 왕복 시간을 겪는 경우를 same-RTT, 다른 지연 왕복 시간을 겪는 경우를 diff-RTT로 칭하였다.
ARM의 차등화 서비스는 각 클래스별로 threshold(minTH와 maxTH)값들을 달리 적용시킴으로서 적용된다. 본 실험에서는 이러한 접근법의 유효성을 검증하기 위해 assured_forwarding과 best_effort 간의 threshold값의 차이가 성능에 어떤 영향을 미치는지 보여준다. 이를 위해 해당 실험은 assured_forwarding과 best_effort의 threshold 값들에 영향을 주는 β를 특정 상수 값으로 설정하고 두 클래스의 β 상수 값의 차이(assured_forwarding의 β - best_effort의 β)를 -0.25와 0.25사이로 변경해가며 설정함으로써 진행하였다. 그리고 최종적으로, 본 실험은 본 발명에서 제시한 적응형(adaptive) β 계산 알고리즘의 성능을 평가하였고, 이 때 목표 처리량은 assured_forwarding의 경우 15Mbps, best_effort는 5Mbps로 설정하였다. 클래스 별 처리량 측정 및 β 갱신은 매초마다 수행하였다.
모의실험 결과
도 12는 시나리오 3에 따른 모의 실험 결과에 대한 표이다.
도 12의 (a)는 same-RTT 환경에서의 다양한 β 상수 값에 따른 처리량 변화를 보여준다. x축은 assured_forwarding과 best_effort의 β 상수 값 차이이다. 해당 차이가 양수인 경우에는 assured_forwarding의 처리량이 best_effort보다 컸으며 음수인 경우에는 그 반대였다. 처리량 격차는 β 상수 값 차이가 커질수록 더 커졌다.
도 12의 (b)는 diff-RTT 환경에서 동일한 실험을 한 결과이다. diff-RTT 환경의 경우 same-RTT 환경과 달리 β 상수 값 차이가 0일 때 assured_forwarding의 처리량이 best_effort의 처리량 보다 낮은데 그 이유는 best_effort 콘텐츠 전송이 겪는 지연 왕복 시간이 더 짧기 때문이다. 그러나 β 상수 값 차이가 변화함에 따라 나타나는 변화 양상은 same-RTT 환경과 동일하였다. 해당 실험을 통해 클래스 별로 threshold 값들을 달리 설정하였을 때 클래스 별 처리량의 차등화가 가능하며 클래스 간 threshold 값들의 차이를 키울수록 차등화 정도를 심화시킬 수 있다는 것을 확인함으로써 본 발명이 제시한 접근법의 유효성을 검증할 수 있었다.
도 12의 (c)와 (d)는 본 발명이 제시한 적응형 β 계산 알고리즘을 적용하여 실험을 진행한 결과이다. 각 그래프는 same-RTT와 diff-RTT 환경에서 처리량 변화양상을 보여주는 그래프이다. 두 그래프 모두에서 차등 서비스는 모두 10초에 시작되었다. 두 실험 모두에서 차등 서비스 기능이 실행되고 얼마 지나지 않아 빠르게 목표 처리량이 달성되었고 이후 안정적으로 목표 처리량이 유지 되었다.
모의실험들을 통해 본 발명이 단일 경로 및 다중 경로 환경에서 종래의 기술들의 성능을 월등히 능가하며, 기존 CCN 라우터를 추가적인 큐 설치 없이 그대로 활용하면서 종래의 기술들 보다 라우터에 적은 부하를 부과한다는 확인할 수 있었다. 그러므로 본 발명은 CCN의 차세대 혼잡 제어 기술이 될 것이며, CCN이외의 상태 기반 포워딩을 수행하는 모든 네트워크 아키텍쳐에서 동작하는 혼잡 제어 기술들의 기반 기술이 될 것이다. 뿐만 아니라 본 발명은 콘텐츠 제공자 주도의 차등화 서비스를 안정적으로 제공함으로써 차등화 서비스의 적용 범위와 실용성을 증대시킬 수 있을 것이다.
본 명세서에서 설명되는 실시예와 첨부된 도면은 본 발명에 포함되는 기술적 사상의 일부를 예시적으로 설명하는 것에 불과하다. 따라서, 본 명세서에 개시된 실시예들은 본 발명의 기술적 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이므로, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아님은 자명하다. 본 발명의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시 예는 모두 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (13)

  1. CCN에서 라우터 역할을 수행하는 패킷 관리 장치로서,
    PIT에 존재하는 포워딩 정보 항목 수에 따라 발생될 데이터 트래픽 양을 예측하는 트래픽 예측부; 및
    상기 예측된 데이터 트래픽 양과 요청 패킷의 서비스 클래스에 따라 요청 패킷들을 차등확률적으로 드롭시키는 선행적 혼잡제어부;를 포함하며,
    상기 선행적 혼잡제어부는, 상기 PIT 크기가 minThclass보다 크고 maxThclass이하인 경우, 상기 요청 패킷들을 차등확률적으로 드롭시키되,
    상기 minThclass는,
    Figure 112019003324264-pat00022
    이고,
    상기 maxThclass는,
    Figure 112019003324264-pat00023
    이며,
    상기 minTh는,
    Figure 112019003324264-pat00024
    이고,
    상기 maxTh는,
    Figure 112019003324264-pat00025
    이며,
    상기 α는 설정가능한 매개변수이고, 상기 base_size는 네트워크 링크가 가장 이상적으로 사용될 수 있는 PIT 크기이며,
    상기 βclass는,
    Figure 112019003324264-pat00026
    에 의해 계산되는 클래스별 차등화 변수이고,
    상기 γ는,
    Figure 112019003324264-pat00027
    에 의해 계산되며,
    상기 objThroclass는 해당 클래스가 요구하는 목표 처리량이고 curThroclass는 라우터에서 측정된 해당 클래스의 처리량이며,
    상기 δ는 상기 γ의 최대값을 설정 가능한 매개변수인 것을 특징으로 하는 패킷 관리 장치.
  2. 청구항 1에서,
    상기 선행적 혼잡제어부는,
    라우터에서 요청 패킷들을 드롭시킬 때 NACK 패킷을 발생시키는 것을 특징으로 하는 패킷 관리 장치.
  3. 청구항 2에서,
    상기 선행적 혼잡제어부는,
    포워딩 가능한 인터페이스(interface)가 없을 때, NACK 패킷을 발생시키는 것을 특징으로 하는 패킷 관리 장치.
  4. 청구항 2에서,
    상기 선행적 혼잡제어부는,
    NACK 패킷을 받았을 때, NACK 패킷이 들어온 인터페이스의 다음 순위에 위치하는 인터페이스에게 해당 NACK 패킷에 상응하는 요청 패킷을 생성해 포워딩하는 것을 특징으로 하는 패킷 관리 장치.
  5. 삭제
  6. 청구항 1에서,
    상기 트래픽 예측부는,
    데이터 패킷들의 지연왕복시간에 따라 PIT base size 값을 더 설정하는 것을 특징으로 하는 패킷 관리 장치.
  7. CCN에서 라우터를 제어하는 패킷 관리 방법으로서,
    (a) 트래픽 예측부가 PIT에 존재하는 포워딩 정보 항목 수에 따라 발생될 데이터 트래픽 양을 예측하는 단계; 및
    (b) 선행적 혼잡제어부가 상기 예측된 데이터 트래픽 양과 요청 패킷의 서비스 클래스에 따라 요청 패킷들을 차등확률적으로 드롭시키는 단계;를 포함하며,
    상기 (b) 단계는 상기 PIT 크기가 minThclass보다 크고 maxThclass이하인 경우, 상기 요청 패킷들을 차등확률적으로 드롭시키되,
    상기 minThclass는,
    Figure 112019003324264-pat00028
    이고,
    상기 maxThclass는,
    Figure 112019003324264-pat00029
    이며,
    상기 minTh는,
    Figure 112019003324264-pat00030
    이고,
    상기 maxTh는,
    Figure 112019003324264-pat00031
    이며,
    상기 α는 설정가능한 매개변수이고, 상기 base_size는 네트워크 링크가 가장 이상적으로 사용될 수 있는 PIT 크기이며,
    상기 βclass는,
    Figure 112019003324264-pat00032
    에 의해 계산되는 클래스별 차등화 변수이고,
    상기 γ는,
    Figure 112019003324264-pat00033
    에 의해 계산되며,
    상기 objThroclass는 해당 클래스가 요구하는 목표 처리량이고 curThroclass는 라우터에서 측정된 해당 클래스의 처리량이며,
    상기 δ는 상기 γ의 최대값을 설정 가능한 매개변수인 것을 특징으로 하는 패킷 관리 방법.
  8. 청구항 7에서,
    (c) 상기 선행적 혼잡제어부가 라우터에서 요청 패킷들을 드롭시킨 이후에 NACK 패킷을 발생시키는 단계;를 더 포함하는 것을 특징으로 하는 패킷 관리 방법.
  9. 청구항 8에서,
    상기 (c) 단계는,
    선행적 혼잡제어부가 포워딩 가능한 인터페이스(interface)가 없을 때, NACK 패킷을 발생시키는 단계인 것을 특징으로 하는 패킷 관리 방법.
  10. 청구항 8에서,
    (d) 상기 선행적 혼잡제어부가 NACK 패킷을 받았을 때, NACK 패킷이 들어온 인터페이스의 다음 순위에 위치하는 인터페이스에게 해당 NACK 패킷에 상응하는 요청 패킷을 생성해 포워딩하는 단계;를 더 포함하는 것을 특징으로 하는 패킷 관리 방법.
  11. 삭제
  12. 청구항 7에서,
    상기 (a) 단계는,
    상기 트래픽 예측부가 데이터 패킷들의 지연왕복시간에 따라 PIT base size 값을 더 설정하는 단계인 것을 특징으로 하는 패킷 관리 방법.
  13. 컴퓨터에서 청구항 7 내지 청구항 10, 청구항 12 중 어느 한 청구항에 따른 패킷 관리 방법의 각 단계들을 수행하도록 작성되어 컴퓨터로 독출 가능한 기록 매체에 기록된 컴퓨터프로그램.
KR1020170076395A 2017-06-16 2017-06-16 상태 기반 포워딩을 수행하는 네트워크에서의 능동적인 요청 패킷 관리 장치 및 그 방법 KR101966284B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170076395A KR101966284B1 (ko) 2017-06-16 2017-06-16 상태 기반 포워딩을 수행하는 네트워크에서의 능동적인 요청 패킷 관리 장치 및 그 방법
US16/216,283 US10833999B2 (en) 2017-06-16 2018-12-11 Active request management apparatus in stateful forwarding networks and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170076395A KR101966284B1 (ko) 2017-06-16 2017-06-16 상태 기반 포워딩을 수행하는 네트워크에서의 능동적인 요청 패킷 관리 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20180137623A KR20180137623A (ko) 2018-12-28
KR101966284B1 true KR101966284B1 (ko) 2019-04-08

Family

ID=65008449

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170076395A KR101966284B1 (ko) 2017-06-16 2017-06-16 상태 기반 포워딩을 수행하는 네트워크에서의 능동적인 요청 패킷 관리 장치 및 그 방법

Country Status (2)

Country Link
US (1) US10833999B2 (ko)
KR (1) KR101966284B1 (ko)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6820133B1 (en) * 2000-02-07 2004-11-16 Netli, Inc. System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US7007089B2 (en) * 2001-06-06 2006-02-28 Akarnai Technologies, Inc. Content delivery network map generation using passive measurement data
US7032048B2 (en) * 2001-07-30 2006-04-18 International Business Machines Corporation Method, system, and program products for distributed content throttling in a computing environment
WO2012024030A2 (en) * 2010-07-26 2012-02-23 Seven Networks, Inc. Context aware traffic management for resource conservation in a wireless network
CN102143199A (zh) * 2010-10-19 2011-08-03 华为技术有限公司 获取内容的方法、节点及内容网络
ES2703429T3 (es) * 2011-06-22 2019-03-08 Ericsson Telefon Ab L M Procedimientos y dispositivos para control de distribución de contenido
US8694675B2 (en) * 2011-09-01 2014-04-08 Futurewei Technologies, Inc. Generalized dual-mode data forwarding plane for information-centric network
KR20130093812A (ko) * 2012-01-12 2013-08-23 삼성전자주식회사 컨텐츠 중심 네트워크에서 트래픽 전송량을 제어하기 위한 컨텐츠 라우터의 통신 방법 및 그 컨텐츠 라우터
WO2014011216A1 (en) * 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9674251B2 (en) * 2013-06-17 2017-06-06 Qualcomm Incorporated Mediating content delivery via one or more services
US10694000B2 (en) * 2013-12-02 2020-06-23 Amazon Technologies, Inc. Browser-based analysis of content request mode performance
US10171607B2 (en) * 2014-03-28 2019-01-01 Time Warner Cable Enterprises Llc Apparatus and methods for managing quality of experience during the delivery of content
KR102363534B1 (ko) * 2015-06-08 2022-02-17 삼성전자주식회사 통신 시스템에서 tcp 기반의 전송 제어 방법 및 장치
US10313227B2 (en) * 2015-09-24 2019-06-04 Cisco Technology, Inc. System and method for eliminating undetected interest looping in information-centric networks
KR101705464B1 (ko) 2015-10-19 2017-02-23 성균관대학교산학협력단 콘텐츠 중심 네트워크에서의 전송 완료 시간 향상을 위한 능동적인 인터레스트 패킷 관리방법 및 그 시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
‘Differentiated forwarding and caching in named-data networking’, Journal of Network and Computer Applications, Vol.60, pp.155-169, 2016.01.*
‘Named data networking’, ACM SIGCOMM Computer Communication Review (CCR), Vol.44, No.3, pp.66-73, 2014.07.*

Also Published As

Publication number Publication date
US20190245788A1 (en) 2019-08-08
KR20180137623A (ko) 2018-12-28
US10833999B2 (en) 2020-11-10

Similar Documents

Publication Publication Date Title
Yi et al. A case for stateful forwarding plane
Mahdian et al. MIRCC: Multipath-aware ICN rate-based congestion control
Hafeez et al. Detection and mitigation of congestion in SDN enabled data center networks: A survey
US20110273988A1 (en) Distributing decision making in a centralized flow routing system
US10873529B2 (en) Method and apparatus for low latency data center network
Abu et al. Interest packets retransmission in lossy CCN networks and its impact on network performance
Im et al. Receiver-side TCP countermeasure to bufferbloat in wireless access networks
CN104995883A (zh) 用信号通知拥塞
Alubady et al. Pending interest table control management in Named Data Network
Qazi et al. Congestion control with multipacket feedback
Dong et al. Low-cost datacenter load balancing with multipath transport and top-of-rack switches
Abu et al. Inferring and controlling congestion in CCN via the pending interest table occupancy
US20080267068A1 (en) Lightweight bandwidth-management scheme for elastic traffic
Abu et al. Leveraging the pending interest table occupancy for congestion control in CCN
Farzaneh et al. A novel congestion control protocol with AQM support for IP-based networks
KR101966284B1 (ko) 상태 기반 포워딩을 수행하는 네트워크에서의 능동적인 요청 패킷 관리 장치 및 그 방법
Asmaa et al. EC-elastic an explicit congestion control mechanism for named data networking
Lee et al. Active request management in stateful forwarding networks
Thibaud et al. Cooperative congestion control in NDN
Zhang et al. Performance analysis and improvement of HighSpeed TCP with TailDrop/RED routers
Li et al. Improving the transmission control efficiency in content centric networks
Szilágyi et al. Efficient LTE PDCP buffer management
Nandhini et al. Exploration and Evaluation of Congestion Control Algorithms for Data Center Networks
Rodríguez‐Pérez et al. An OAM function to improve the packet loss in MPLS‐TP domains for prioritized QoS‐aware services
Arshad et al. A simulation-based study of FAST TCP compared to SCTP: Towards multihoming implementation using FAST TCP

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant