KR101806259B1 - VPN 터널링의 QoS를 위한 다중큐잉 실시간 트래픽 쉐이핑 시스템 및 방법 - Google Patents

VPN 터널링의 QoS를 위한 다중큐잉 실시간 트래픽 쉐이핑 시스템 및 방법 Download PDF

Info

Publication number
KR101806259B1
KR101806259B1 KR1020160056784A KR20160056784A KR101806259B1 KR 101806259 B1 KR101806259 B1 KR 101806259B1 KR 1020160056784 A KR1020160056784 A KR 1020160056784A KR 20160056784 A KR20160056784 A KR 20160056784A KR 101806259 B1 KR101806259 B1 KR 101806259B1
Authority
KR
South Korea
Prior art keywords
packet
vpn
vpn tunneling
traffic
packets
Prior art date
Application number
KR1020160056784A
Other languages
English (en)
Other versions
KR20170126584A (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 KR1020160056784A priority Critical patent/KR101806259B1/ko
Publication of KR20170126584A publication Critical patent/KR20170126584A/ko
Application granted granted Critical
Publication of KR101806259B1 publication Critical patent/KR101806259B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/58Changing or combining different scheduling modes, e.g. multimode scheduling
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 원격지의 두 네트워크를 하나의 네트워크로 만들기 위해 연결된 가상 사설망(VPN)의 터널링 구간을 다중 큐잉으로 설계하고 다중 큐잉을 통해 전송할 패킷을 VPN 터널링 구간에 걸리는 네트워크 상태에 따라 적응적으로 할당하여 트래픽을 쉐이핑(shaping)함으로써 회선품질의 변화가 빈번하더라도 최적의 네트워크 환경을 유지하여 VPN 터널링의 서비스 품질(QoS)을 보장하는 VPN 터널링 QoS를 위한 다중큐잉 실시간 트래픽 쉐이핑 시스템 및 방법을 제공한다.

Description

VPN 터널링의 QoS를 위한 다중큐잉 실시간 트래픽 쉐이핑 시스템 및 방법{SYSTEM AND METHOD FOR REAL-TIME TRAFFIC SHAPING BY MULTI-QUEUING FOR QoS OF VIRTUAL PRIVATE NETWORK TUNNELING}
본 발명은 원격지의 두 네트워크를 하나의 네트워크로 만들기 위해 연결된 가상 사설망(VIRTUAL PRIVATE NETWORK; 이하 VPN)의 터널링(tunneling) 구간을 네트워크 상태에 따라 트래픽을 제어함으로써 VPN 터널링의 서비스 품질(QoS)을 보장하는 VPN 터널링의 QoS를 위한 다중큐잉 실시간 트래픽 쉐이핑 시스템 및 방법에 관한 것이다.
최근 클라우드, 스마트 디바이스, 사물인터넷 등 정보통신 기반의 다양한 서비스 기술이 급속히 발전하고 있으며, 여기에 필요한 네트워크 장비인 라우터, 스마트 게이트웨이, 스위치, 방화벽 등 플랫폼 기술도 더불어 발전하고 있다. 이러한 정보통신 기술의 발전은 스마트 디바이스의 활용이 시간과 공간의 제약을 극복하고, 사무실이나 집, 학교, 외부 등 어느 곳에서도 자신이 하던 일을 계속 이어서 할 수 있고, 물리적으로 떨어진 원격지 환경과 동일한 네트워크 환경을 제공하는 것이 가능하게 되었다.
이렇게 다수의 원격지 네트워크를 하나의 로컬 네트워크로 구성할 수 있는 기술은 이미 잘 알려진 네트워크간 VPN(Virtual Private Network)장비로 구현이 가능하다. 상용 VPN장비의 경우 발전을 거듭하여 기본적인 라우터 기능, 터널링(Tunneling) 기능 외에 IDS(Intrusion Detection System), IPS(Intrusion Protection System) 등 지능형 방화벽, QoS(Quality of Service) 기술, 다중회선 지원, 로드밸런싱(Load Balancing)등 다양한 고급 기능을 적용할 수 있도록 제공하고 있다.
그런데, 상용 VPN 장비의 경우 고성능의 제품으로 구축된 전용선 환경에서 전문가의 지원으로 활용되고 있으며, 고가의 전용 장비에 의해 기술의 특성상 기기간 호환성도 보장하기 힘든 문제를 가지고 있다. 또한, VPN 터널링 기술은 높은 도입 비용과 고가의 안정적인 전용회선이 필요하기 때문에 일반적인 가정이나 기업에서 쓰는 인터넷 환경에서는 운영하기 어려운 문제가 있다.
이를 보안하고자 일반 인터넷 환경에 네트워크간 VPN을 지원하는 유무선 공유기가 개발되었으나, 대부분 단순한 VPN 서버의 기능만 제공하여 네트워크간 VPN 연동은 가능하지 않고 PC나 스마트폰에서 직접 연동하는 방법만 제공하기 때문에 그 활용성이 떨어지고, 지원하는 기기가 국한되어 있다. 또한 VPN 터널링의 속도가 5Mbps 수준에 불과하고, 상용 VPN 전용 장비의 경우 대중화 시키기에는 경제성이 떨어지며 전용선 등 회선 상황이 보장이 되어야 운영 이 가능한 문제를 가지고 있다.
이와 관련된 선행기술문헌으로는 한국공개특허 제 10-2004-0039909호(발명의 명칭: 전송계층 터널링을 이용한 가상사설망에서의 통신품질향상방법, 공개일: 2004.05.12.)가 있다.
본 발명은 원격지의 두 네트워크를 하나의 네트워크로 만들기 위해 연결된 가상 사설망(VIRTUAL PRIVATE NETWORK; 이하 VPN)의 터널링(tunneling) 구간을 다중 큐잉으로 설계하고 다중 큐잉을 통해 전송할 패킷을 VPN 터널링 구간에 걸리는 네트워크 상태에 따라 적응적으로 할당하여 트래픽 쉐이핑(traffic shaping)을 수행함으로써 회선품질의 변화가 빈번하더라도 최적의 네트워크 환경을 유지하여 VPN 터널링의 서비스 품질(QoS)을 보장하는 VPN 터널링의 QoS를 위한 다중큐잉 실시간 트래픽 쉐이핑 시스템 및 방법을 제공하는 데 그 목적이 있다.
상기한 과제를 달성하기 위한 본 발명의 일 실시예는, 원격지의 네트워크를 가상 사설망(VPN)을 통해 연결하기 위한 VPN 터널링 구간에서 인바운드 또는 아웃바운드하는 패킷을 잠시 버퍼링하였다가 사전에 정의된 우선순위에 따라 상기 패킷을 출력하는 다중 큐; 상기 VPN 터널링 구간에 걸리는 네트워크 상태를 모니터링하고 분석하는 모니터링부; 및 상기 모니터링부를 통해 분석된 네트워크 상태에 따라 상기 인바운드 또는 아웃바운드하는 패킷을 상기 다중 큐에 적응적으로 할당하여 상기 인바운드 또는 아웃바운드의 트래픽을 제어하는 패킷 할당부;를 포함하는 VPN 터널링의 QoS를 위한 다중 큐잉 실시간 트래픽 쉐이핑 시스템을 제공한다.
상기 패킷 할당부는, 상기 모니터링부를 통해 분석된 네트워크 상태에 맞는 트래픽 쉐이핑 알고리즘을 선택하고 선택된 트래픽 쉐이핑 알고리즘을 이용하여 상기 패킷을 상기 다중 큐에 할당한다.
또한, 상기 패킷 할당부는, 상기 패킷을 서비스 포트별, IP주소별로 구분하고 구분된 패킷을 상기 네트워크 상태에 따라 할당할 수 있다.
또한, 상기 다중 큐잉 실시간 트래픽 쉐이핑 시스템은, 상기 다중 큐의 개수, 우선순위, 대역폭을 조절 또는 변경할 수 있는 큐 제어부;를 더 포함할 수 있다.
상기 큐 제어부는, 상기 패킷의 서비스 포트별, IP주소별로 상기 다중 큐를 구분하여 구분된 다중 큐의 우선순위, 대역폭을 조절할 수 있다.
상기 다중 큐는, ToS(Type of Service)와 우선순위에 따라 패킷을 출력하는 SFQ(Stochastic Fair Queuing) 로직을 갖는 큐, 대역폭을 조절에 의해 패킷의 유효속도 또는 최대속도를 제한하는 HTB(Hierarchical Token Bucket) 로직을 갖는 큐를 포함하며, 각 큐의 우선순위 또는 대역폭이 다르게 할당된다.
또한, 상기 다중 큐는, 상기 인바운드 또는 아웃바운드하는 패킷을 잠시 버퍼링하였다가 상기 SFQ 로직 또는 상기 HTB 로직을 기반으로 패킷을 다중 큐잉하는 것을 특징으로 한다.
상기 모니터링부는, 상기 VPN 터널링에 사용되는 CPU의 부하량을 계산하여 상대적인 트래픽 상황을 판단하는 방법과, 상기 VPN 터널링에 걸린 패킷의 드롭(drop)율을 계산하여 트래픽 상황을 판단하는 방법을 이용하여 네트워크 상태를 분석한다.
이때, 상기 VPN 터널링에 사용되는 CPU의 부하량 계산은 하기 수학식 1을 이용하여, 시스템 전체 CPU 사용시간과 상기 VPN 터널링의 데몬 사용시간을 일정시간 간격으로 계산하는 것으로 수행된다.
[수학식 1]
Figure 112016044255854-pat00001
(단, utime은 유저 모드 지피스(user mode jiffies), utime_before 및 utime_after는 유저 모드 지피스가 발생하는 전/후시간, user_util은 시스템 전체 CPU사용시간이고, stime은 커널 모드 지피스(kernel mode jiffies), stime_before 및 stime_after는 커널 모드 지피스가 발생하는 전/후시간, sys_util은 커널 모드 사용시간임)
상기 VPN 터널링에 걸린 패킷의 드롭율 계산은 하기 수학식 2을 이용하여 일정시간 간격으로 수행된다.
[수학식 2]
Figure 112016044255854-pat00002
(단, rx_drop은 VPN 터널링 디바이스의 송신 측에서 드롭된 패킷 수, tx_drop은 VPN 터널링 디바이스의 수신 측에서 드롭된 패킷 수, rx_pkt_tot는 VPN 터널링 디바이스의 송신 측 패킷 수, tx_pkt_tot는 VPN 터널링 디바이스의 수신 측 패킷 수임)
한편, 본 발명의 다른 실시예에서는, 원격지의 네트워크를 가상 사설망(VPN)을 통해 연결하기 위한 VPN 터널링 구간에서의 트래픽 쉐이핑 방법으로서, 모니터링부가 상기 VPN 터널링 구간에 대하여 네트워크 상태를 모니터링하고 분석하는 단계; 패킷 할당부가 상기 VPN 터널링 구간을 통해 인바운드 또는 아웃바운드하는 패킷을 상기 모니터링부를 통해 분석된 네트워크 상태에 따라 다중 큐에 적응적으로 할당하여 트래픽을 제어하는 단계;를 포함하는 VPN 터널링의 QoS를 위한 다중 큐잉 실시간 트래픽 쉐이핑 방법을 제공한다.
또한, 상기 다중 큐가 유입되는 패킷을 잠시 버퍼링하였다가 ToS(Type of Service)와 우선순위에 따라 패킷을 출력하는 SFQ(Stochastic Fair Queuing) 로직, 대역폭을 조절에 의해 패킷의 유효속도 또는 최대속도를 제한하는 HTB(Hierarchical Token Bucket) 로직을 기반으로 패킷을 다중 큐잉하는 단계;를 더 포함하는 VPN 터널링의 QoS를 위한 다중 큐잉 실시간 트래픽 쉐이핑 방법을 제공할 수 있다.
상기 트래픽을 제어하는 단계에서는, 상기 패킷 할당부가 상기 모니터링부를 통해 분석된 네트워크 상태에 맞는 트래픽 쉐이핑 알고리즘을 선택하고 선택된 트래픽 쉐이핑 알고리즘을 이용하여 상기 패킷을 상기 다중 큐에 할당한다.
상기 트래픽을 제어하는 단계에서는, 상기 패킷 할당부가 상기 패킷을 서비스 포트별, IP주소별로 구분하고 구분된 패킷을 상기 네트워크 상태에 따라 할당할 수 있다.
또, 상기 트래픽을 제어하기 단계 이전에 큐 제어부가 상기 패킷의 서비스 포트별, IP주소별로 상기 다중 큐를 구분하고 구분된 상기 다중 큐에 대하여 우선순위, 대역폭을 단계;를 더 포함할 수 있다.
따라서, 본 발명은 다중큐잉 실시간 트래픽 쉐이핑 기술을 VPN 터널에 적용하여 최소 20Mbps 이상의 터널링 속도를 구현하고 인터넷 회선 품질의 변화가 크더라도 회선 상황을 파악하여 트래픽을 제어함으로써 최적의 네트워크 환경을 유지할 수 있는 효과가 있다. 이로써 VPN 터널링의 서비스 품질(QoS)을 향상시키는 효과가 있다.
또한, 본 발명은 제안하는 다중큐잉 실시간 트래픽 쉐이핑에 관한 제어 알고리즘을 유무선 공유기에 구현함으로써 대중적인 VPN 터널링 플랫폼을 제공하고, 저렴한 장비를 활용하는 동시에, 전용선이 아닌 일반 인터넷 회선 상에서도 우수한 성능을 기대할 수 있는 효과가 있다.
또한, 인터넷을 통해 연결된 VPN 터널은 시시각각 빠르게 변하는 인터넷 상황 때문에 서비스 품질이 저하될 수 있는데, 본 발명은 VPN 터널링에 사용되는 CPU사용량과 패킷 드롭(drop)율 정보를 이용해 네트워크 속도를 실시간 계산함으로써 시스템의 부하를 최소화하면서도 실시간에 트래픽 상황을 예측하여 회선 속도를 산출할 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 VPN 터널링의 QoS를 위한 다중큐잉 실시간 트래픽 쉐이핑 시스템의 구성도이다.
도 2는 본 발명의 실시예에 따른 시스템의 상세도이다.
도 3 및 도 4는 다중 큐잉을 제어하는 알고리즘에 대하여 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 다중 큐잉을 통한 트래픽 쉐이핑을 보여주는 도면이다.
도 6은 VPN 터널링의 CPU 부하량과 패킷 드롭율을 계산하여 미리 준비된 트래픽 쉐이핑 알고리즘들 중 네트워크 상황에 맞는 최적화된 알고리즘을 적용하는 예를 보여주는 도면이다.
도 7은 VPN 시스템에서 다중 큐잉의 성능을 비교하기 위한 실시한 테스트 베드를 나타낸 도면이다.
도 8은 도 7의 테스트 결과를 나타낸 비교표이다.
도 9는 발명의 실시예에 따른 트래픽 쉐이핑 방법을 적용한 시스템과 기존 시스템간 성능 분석 결과를 나타낸 비교표이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 VPN 터널링의 QoS를 위한 다중큐잉 실시간 트래픽 쉐이핑 시스템의 구성도이다.
본 발명의 실시예에 따른 다중큐잉 실시간 트래픽 쉐이핑 시스템은 물리적으로 떨어져 있는 원격지의 네트워크(LOC.A, LOC.B)를 가상의 네트워크를 이용하여 마치 하나의 네트워크처럼 보이게 구성하는 VPN 시스템에 구현하여 VPN 터널링 시 최적의 터널링 속도를 유지하여 우수한 인터넷 회선 품질을 제공하고자 한다.
VPN 시스템은 두 개의 사설 네트워크(LOC.A, LOC.B) 사이에 게이트웨이(100, 200)를 통해 연결된다. 두 개의 사설 네트워크(LOC.A, LOC.B)는 인터넷을 두고 서로 떨어져 있고, 각 사설 네트워크(LOC.A, LOC.B)는 외부 접근이 어렵기 때문에 서로 트래픽을 전달할 수 없다. 하지만, 사설 네트워크(LOC.A, LOC.B)에는 인터넷으로 트래픽을 보내기 위한 게이트웨이(100, 200)가 연결되고 각 게이트웨이(100, 200)들은 공인 주소(public ip)를 가지므로 두 개의 사설 네트워크(LOC.A, LOC.B)가 게이트웨이(100, 200)를 통해 연결된다.
이때, 게이트웨이(100, 200)간 터널링(tunneling) 구간에서는 VPN을 통해 브릿지(bridge) 또는 라우팅(routing) 연결이 된다.
브릿지 방식으로 연결되는 경우, VPN 시스템은 두 개의 네트워크 간 라우팅이 필요없고, 주소체계가 동일하며, 동일 네트워크처럼 동작하기 때문에 이더넷 패킷까지 교환되고 모든 장비에 접근이 가능하다. DLNA(Digital Living Network Alliance), 인트라넷 등 동일 네트워크에서 동작하는 프로그램을 그대로 쓸 수 있는 장점이 있고 이더넷 패킷까지 모두 전송되어 트래픽이 과도하다는 단점이 있다.
라우팅 방식으로 연결되는 경우, VPN 시스템은 모든 장비의 주소 체계가 다르고 다른 네트워크처럼 동작하기 때문에 명시적으로 라우팅 설정을 해서 사용해야 한다. 장단점은 브릿지 방식과 반대라고 할 수 있다.
본 발명의 실시예에 따른 다중큐잉 실시간 트래픽 쉐이핑 시스템은 VPN 게이트웨이 제어 장치(300)를 통해 VPN 게이트웨이(200)의 동작을 제어한다. VPN 게이트웨이 제어 장치(300)는 도 1에 나타난 바와 같이 VPN 게이트웨이(200)를 포함하여 구현될 수 있고, VPN 게이트웨이(200)와는 별개로 구현될 수 있다. VPN 게이트웨이(200)가 유무선 공유기로 구현되는 경우 VPN 게이트웨이 제어 장치(300)는 응용 프로그램 형태로 유무선 공유기에 탑재되어 일체로 형성될 수 있다.
본 발명의 실시예에 따른 다중큐잉 실시간 트래픽 쉐이핑 시스템은 VPN 터널링 구간을 다중 큐잉으로 구현하고, 다중 큐잉을 통해 패킷을 전송할 때 VPN 게이트웨이 제어 장치(300)가 네트워크 상태에 따라 적응적으로 패킷을 할당하여 트래픽 쉐이핑을 수행하는 것에 특징이 있다. 예컨대, 도 1에 도시한 바와 같이 본 발명에 따르면 VPN 터널링 구간에서 다중 큐잉을 통해 DLNA 동영상을 스트리밍(streaming)하면서, 이와 동시에 ftp 송수신과 ssh 접속을 원활하게 함께 할 수 있게 된다.
참고로, 트래픽 쉐이핑은 트래픽 흐름을 보다 매끄럽게 제한/정형화시키는 방법을 말하는 것으로, 네트워크 망 내로 유입 또는 유출되는 트래픽의 양 및 속도를 조절하여 트래픽 폭주를 방지하는 트래픽 제어 관리이다.
VPN 게이트웨이 제어 장치(300)는 도 1에서 클라이언트 측의 VPN 게이트웨이(200)를 제어하는 것으로만 도시하였으나, 이에 한정하지 않고 서버 측의 VPN 게이트웨이(100) 측에도 구현될 수 있으며, 인바운드(inbound), 아웃바운드(outbound)의 패킷 전송에 모두 적용할 수 있을 것이다.
VPN 게이트웨이 제어 장치(300)는 구체적으로 도 2에 도시한 바와 같이 구성된다.
도 2를 참조하면, VPN 게이트웨이 제어 장치(300)는 그 내부에 다중 큐(310), 큐 제어부(320), 패킷 할당부(330), 모니터링부(340)를 포함한다. VPN 게이트웨이 제어 장치(300)는 VPN 게이트웨이(200) 또는 VPN클라이언트(200')와 연결될 수 있다.
다중 큐(310)는 인바운드 또는 아웃바운드하는 패킷을 전송하기 전에, VPN 터널링 구간으로 들어오는 패킷을 잠시 버퍼링하였다가 사전에 정의된 트래픽 제어 룰에 따라 패킷을 출력하는 저장소이다. 다중 큐(310)는 실제 패킷을 저장하는 메모리 공간이 아니라, 패킷이 대기하고 있는 메모의 위치를 알려주는 포인터 정보를 연속적으로 가지고 있는 것으로 볼 수 있다. 큐잉(queuing)은 이러한 다중 큐(310)를 이용하여 아웃바운드 또는 인바운드 인터페이스로 내보내기 위해 대기하고 있는 패킷들의 포인터 주소를 기 정의된 스케줄링에 따라 나열하는 작업을 말한다.
다중 큐(310) 내에서는 먼저 들어온 패킷을 먼저 출력하는 FIFO(First In First Out) 로직, 밴드폭을 조절할 수 있는 HTB(Hierarchical Token Bucket) 로직, 우선순위 조절이 우수한 SFQ(Stochastic Fair Queuing) 로직을 기반으로 패킷을 큐잉한다.
큐 제어부(320)는 네트워크 상태 또는 시스템 자원 점유율에 따라 다중 큐(310)의 밴드폭 또는 우선순위를 조절 또는 변경한다.
SFQ(Stochastic Fair Queuing) 특성을 이용한 큐잉은 도 3에 자세히 나타나 있다. 도 3의 (a)는 우선순위가 없는 단순 FIFO 큐잉이다. 즉, 먼저 들어온 패킷을 먼저 출력한다. 도 3의 (b)는 다수의 큐가 존재하고 ToS와 priomap에 따라 각 큐에 자동 할당되어 동작하며, 큐잉의 우선순위를 사용자가 직접 정의, 변경할 수 있다. 주요 특징은 특정 패킷이 큐를 독점할 수 없게 하는 것으로 해쉬 함수에 의해 큐의 우선순위를 조정할 수 있다. 따라서 벌크 패킷에 의해 다른 패킷들의 순위가 임계치 이상 늦어지는 것을 방지할 수 있다.
HTB(Hierarchical Token Bucket) 특성을 이용한 큐잉은 도 4에서 자세히 보여주고 있다. 도 4에서는 1:100, 1:200, 1:300, 1:400 그리고 1:999 등 5개의 클래스로 구분해 놓고 각 클래스에 FIFO나 SFQ 알고리즘을 적용해서 패킷을 할당한다. 이때, 각 클래스에는 절대적인 대역폭(유효속도)이 할당되고 여유분의 대역폭이 있더라도 할당된 대역폭 내에서만 사용이 가능한데, HTB 로직은 사용자가 각 클래스의 절대적인 대역폭(유효속도)을 조절할 수 있으며 여분의 대역폭에 대하여 정해진 비율로 계산하여 우선순위에 따라 각 클래스에 추가 할당하여 최대로 사용할 수 있는 대역폭(최대속도)을 확장할 수 있도록 한다. 따라서, 원하는 패킷의 종류에 따라 구분하여 유효속도, 최대속도 등을 제한할 수 있다.
큐 제어부(320)는 위 도 3의 SFQ(Stochastic Fair Queuing) 로직과 도 4의 HTB(Hierarchical Token Bucket) 로직을 이용하여 다중 큐(310)를 제어한다. 즉, 큐 제어부(320)는 네트워크 상태 또는 시스템 자원의 점유율에 따라 다중 큐(310)의 개수, 우선순위, 대역폭 등을 제어한다. 다중 큐(310)의 개수가 많을수록 패킷 전송률이 우수하고 패킷 드롭율이 낮은 장점이 있지만, 버퍼링의 딜레이가 커지고 이는 곧 시스템 부하가 높아지게 되므로, 네트워크 상태 또는 시스템 자원의 점유율에 따라 최적의 다중 큐잉이 가능하도록 제어한다.
또한, 큐 제어부(320)는 서비스 포트별, IP주소별로 큐를 구분하고 구분된 큐의 우선순위 또는 대역폭을 조절할 수 있다. 서비스 포트별은 ftp, htb, ssh, telnet, www, tcmp 프로토콜을 통해 접속되는 포트를 포함한다.
이러한 큐 제어부(320)를 통해, 다중 큐(310)는 ToS, QoS에 따른 우선순위가 지정될 수 있지만, IP주소별, 서비스 포트별로 배치시킨 각 큐에 대해서도 우선순위가 할당되고 각 큐의 대역폭도 네트워크 상태, 시스템 자원 점유율에 따라 설정 및 변경될 수 있다.
패킷 할당부(330)는 다중 큐(310)에 대하여 패킷을 적응적으로 할당하여 인바운드 또는 아웃바운드하는 트래픽을 제어한다. 특히, 본 발명의 실시예에 따른 패킷 할당부(340)는 다중 큐(310)를 통해 전송할 패킷을 VPN 터널링 구간에 걸리는 네트워크 상태와 큐 상태에 따라 적응적으로 할당하여 트래픽을 쉐이핑한다. 또한, 패킷 할당부(230)는 패킷을 서비스 포트별, IP주소별 등 세부적으로 구분하여 할당할 수 있다.
이때, VPN 터널링 구간에 걸리는 네트워크 상태는 모니터링부(340)를 통해 분석하며, 패킷 할당부(330)는 모니터링부(340)를 통해 분석된 네트워크 상태에 따라 최적화된 트래픽 쉐이핑 알고리즘을 선택하고 선택된 트래픽 쉐이핑 알고리즘에 따라 패킷을 할당한다. 알고리즘 선택은 패킷 할당이 필요할 때마다 수행할 수 있지만, 패킷 할당 시점과는 상관없이 모니터링부(340)에서 네트워크 상태를 분석하는 일정 주기마다 수행하고 주기 동안에는 선택된 알고리즘으로 동작하도록 할 수 있다.
트래픽 쉐이핑 알고리즘은 다중 큐잉에 따라 다양한 쉐이핑이 가능하다. IDC에서 사용하는 수준의 인바운드, 아웃바운드 트래픽 제어는 물론, 각 서비스 포트별, IP주소별, IP 네트워크별, 또는 이더 패킷(ether packet) 수준의 트래픽 제어까지 구현할 수 있다. 또한, 패킷 큐잉을 통해서 TAP 장비에서 사용하는 패킷 인스펙션까지 구현할 수 있기 때문에 점점 지능화 되어가고 있는 해킹 공격에 대해서도 트래픽 제어가 가능하다.
도 5는 일 예로 다중 큐잉을 통한 트래픽 쉐이핑을 보여주고 있다.
도 5를 살펴보면, 먼저 tap0에 HTB qdisc를 핸들 1: 이름으로 할당하고, 디폴트 패킷은 모두 1:20으로 보낸다. 그러면 클래스 1:20은 SFQ qdisc 20: 큐를 통해 패킷을 전송하며, 클래스 1:1은 패킷을 서비스 포트별, IP주소별로 구분하고, 서비스 포트별(ssh, ftp, telnet), IP주소별(192.168.2.118, 192.168.2.248, 192.168.2.200, 192.162.2.110, 192.168.2.112,113,119,120,121)로 지정된 해당 클래스를 통해 각 클래스와 매칭되는 큐로 할당한다. 각 클래스는 서비스 포트별, IP주소별로 정해진 우선순위에 따라 다중 큐잉을 수행한다.
여기서, ssh 접속된 서비스 포트와 특정 IP 주소(192.168.2.112,113,119,120,121)에 대해서만 가장 높은 우선순위로 다중 큐잉을 수행하고, ftp 접속에 대해서는 가장 하위 우선순위로 다중 큐잉하는 예를 보여주고 있다.
이는 트래픽 쉐이핑의 일 예를 도시한 것으로, 시시각각 변하는 네트워크 상황에 따라 원하는 동작을 하는 트래픽 쉐이핑 알고리즘을 각각 구현해 두고, 네트워크 상황에 따라 적절한 알고리즘을 선택하여 실행할 수 있다.
다시 도 2를 참조하여 설명하면, 모니터링부(340)는 VPN 터널링 구간에 걸리는 네트워크 상태를 모니터링하고 분석한다. 네트워크 상태를 분석하기 위한 방법으로 ping을 이용하여 간단히 계산할 수도 있지만, 이 방법은 라우팅 경로 상의 패킷 필터링에 쉽게 차단될 수 있고 트래픽 상황을 계산하기에는 오차가 큰 문제가 있다. 또한 iperf 등 전용 트래픽 계산 프로그램을 이용한 방법은 계산하고자 하는 양끝단에 서버와 클라이언트 프로그램이 동작하고 있어야 하는 문제와 프로그램 자체의 부하가 크기 때문에 실시간 모니터링 목적으로 활용하기에는 적합하지 않다.
본 발명의 실시예에 따른 모니터링부(340)는 VPN 터널링의 시스템 자원 점유율을 비교해서 상대적인 트래픽 상황을 판단하는 방법과, VPN 터널링에 걸리는 패킷 드롭(drop)율을 계산하여 판단하는 방법을 이용하여, 시스템의 부하를 최소화하면서 동시에 트래픽 상황을 비교적 정확하게 계산할 수 있는 방안을 제안한다.
시스템 자원 점유율을 이용하는 방법에는 VPN 터널링에 사용되는 CPU의 부하량을 계산하는 것으로 판단할 수 있다. CPU 부하량은 하기 수학식 1을 이용하여 계산된다.
[수학식 1]
Figure 112016044255854-pat00003
위 수학식 1에서, utime은 유저 모드 지피스(user mode jiffies), utime_before 및 utime_after는 유저 모드 지피스가 발생하는 전/후시간, user_util은 시스템 전체 CPU사용시간이고, stime은 커널 모드 지피스(kernel mode jiffies), stime_before 및 stime_after는 커널 모드 지피스가 발생하는 전/후시간, sys_util은 커널 모드 사용시간이다.
위 수학식 1은 시스템 전체 CPU 사용시간과 openVPN 터널링 데몬의 사용시간을 일정시간(1초 내지 10초) 간격으로 계산함으로써, openVPN 터널링 데몬의 부하량으로 VPN 터널링에 사용되는 CPU 부하량을 예측한다.
VPN 터널링 디바이스 상의 패킷 드롭율을 계산하는 방법은 하기 수학식 2을 이용한다.
[수학식 2]
Figure 112016044255854-pat00004
rx_drop은 VPN 터널링 디바이스의 송신 측에서 드롭된 패킷 수, tx_drop은 VPN 터널링 디바이스의 수신 측에서 드롭된 패킷 수, rx_pkt_tot는 VPN 터널링 디바이스의 송신 측 패킷 수, tx_pkt_tot는 VPN 터널링 디바이스의 수신 측 패킷 수이다.
위 수학식 2는 VPN 터널링 디바이스의 패킷 정보를 일정시간(1초 내지 10초) 간격으로 계산하여 패킷 드롭율을 계산한다.
위 수학식 1 및 2에 의거 실시간 트래픽 쉐이핑은 다음과 같이 이루어진다. 별도의 쓰레드(thread)로 동작하며 매 주기(1초 내지 10초)마다 CPU 부하량과 패킷 드롭율을 계산하여 네트워크 상태에 맞는 트래픽 쉐이핑 알고리즘을 선택한다. 예컨대, 도 6은 실시간 CPU 부하량과 패킷 드롭율을 계산하여 미리 준비된 네 가지의 트래픽 쉐이핑 알고리즘에서 네트워크 상황에 맞는 알고리즘을 선택할 수 있는 방법을 보여주고 있다.
도 7은 VPN 시스템에서 다중 큐잉의 성능을 비교하기 위해 실험한 테스트 베드를 나타낸 도면이다.
도 7에서는 DLNA 서버(①,③), DLNA 플레이어(⑩,⑪), DLNA 콘트롤러(⑬,⑭), ftp 또는 ssh서버(②), 클라이언트 장비(⑫)를 VPN 환경의 테스트베드로 구축하고, 구축된 동적인 테스트베드 환경에서 다중 큐잉의 성능을 비교하기 위하여 다음과 같이 3가지 종류에 대하여 성능평가를 실시하였다. 실험 데이터의 우선순위는 원하는 대로 다양하게 적용할 수 있지만, 도 7에서는 동영상 끊김 효과를 바로 확인할 수 있도록 DLNA 스트림 데이터를 가장 높은 우선순위로 지정하여 실험하였다.
- 트래픽 쉐이핑 없이 VPN 터널링만 동작
- 단일큐잉에서 트래픽 쉐이핑 동작
- 다중 큐잉에서 트래픽 쉐이핑 동작
트래픽 쉐이핑 없이 VPN 터널링만 동작하는 경우에 대한 테스트 1
도 7에 도시한 VPN 터널링만 구성하여 연결하고 일체의 트래픽 쉐이핑 방법을 적용하지 않았다.
테스트 시나리오는 다음과 같다.
(가) 번호⑬ → 번호③ → 번호⑩ : DLNA 콘트롤러(⑬)로 DLNA 서버(③)에 있는 동영상(3.5GB, 1920x800, 4508Kbps)을 DLNA 플레이어(⑩)에 재생
(나) 번호② → 번호⑫ : FTP 서버(②)에 있는 파일(3.4GB)을 FTP클라이언트(⑫)에 다운로드한다.
(다) 번호⑭ → 번호① → 번호⑪ : DLNA 콘트롤러(⑭)로 DLNA 서버(①)에 있는 동영상(381MB, 1280x720, 7062Kbps)을 DLNA 플레이어(⑪)에 재생시킨다.
테스트 결과는 다음과 같다.
시나리오 (가), (나), (다) 순서로 동시 실행한 결과,
- 공유기의 VPN 프로세스 CPU 점유율 : 90~98%
- 시나리오 (가) : 간헐적으로 버퍼링
- 시나리오 (나) : 단독실행시 13000Kbps, 동시 실행시 1000Kbps ~ 9000Kbps 가변적
- 시나리오 (다) : 지속적인 버퍼링
즉, 트래픽 쉐이핑이 동작하지 않기 때문에 IP간 DLNA간 FTP간 대역폭, 우선순위가 설정되지 않았다. 따라서, FT P속도의 변화폭이 크고, DLNA 플레이어 중 나중에 실행시킨 (다)의 경우 지속적인 버퍼링 현상이 발생한다.
단일 큐잉에서 트래픽 쉐이핑 동작할 경우에 대한 테스트 2
2개의 큐를 가지고 첫 번째 큐에는 1종의 데이터 스트림만 전송하고 두 번째 큐에는 2종의 데이터 스트림을 전송한다. 2개의 큐는 모두 동일한 우선순위, 대역폭으로 구성한다.
테스트 시나리오는 다음과 같다.
(가) 큐1: 번호⑬ → 번호③ → 번호⑩ : 큐1을 통해서 DLNA 콘트롤러(⑬)로 DLNA 서버(③)에 있는 동영상(3.5GB, 1920x800, 4508Kbps)을 DLNA 플레이어(⑩)에 플레이시킨다.
(나) 큐2: 번호② → 번호⑫ : 큐2를 통해 FTP 서버(②)에 있는 파일(3.4GB)을 FTP 클라이언트(⑫)에 다운로드한다.
(다) 큐2: 번호⑭ → 번호① → 번호⑪ : (나)에서 함께 사용하는 큐2를 통해 DLNA 콘트롤러(⑭)로 DLNA 서버(①)에 있는 동영상(381MB, 1280x720, 7062Kbps)을 DLNA 플레이어(⑪)에 플레이시킨다.
테스트 결과는 다음과 같다.
시나리오 (가), (나), (다) 순서로 동시 실행한 결과,
- 공유기의 VPN프로세스 CPU점유율 : 70~80% 사이 안정적
- 시나리오 (가) : 전혀 버퍼링 없음
- 시나리오 (나) : 3000Kbps ~ 4000KBps 범위 유지
- 시나리오 (다) : 자주 버퍼링
트래픽 쉐이핑이 동작하고 큐1을 독립적으로 사용하는 (가)의 경우 항상 안정적인 속도가 보장되어 원활한 동영상 디스플레이가 가능하다. 하지만, 큐2를 같이 쓰는 (나)와 (다)는 FTP속도의 변화가 1000Kbps정도의 폭에서 가변적이고, 동영상은 자주 버퍼링 현상이 발생한다.
다중 큐잉에서 트래픽 쉐이핑 동작할 경우에 대한 테스트 3
3개의 큐를 가지고 각 테스트 시나리오 마다 별도의 큐를 사용하게 한다. 동영상 스트림이 통과하는 큐1과 큐3은 우선순위와 대역폭을 동일하게 설정한다. FTP스트림이 통과하는 큐2는 큐1,3에 비해 우선순위가 낮고 대역폭도 좁게 설정한다.
테스트 시나리오는 다음과 같다.
(가) 큐1: 번호⑬ → 번호③ → 번호⑩ : 큐1을 통해서 DLNA 콘트롤러(⑬)로 DLNA 서버(③)에 있는 동영상(3.5GB, 1920x800, 4508Kbps)을 DLNA 플레이어(⑩)에 플레이시킨다.
(나) 큐2: 번호② → 번호⑫ : 큐2를 통해서 FTP 서버(②)에 있는 파일(3.4GB)을 FTP 클라이언트(⑫)에 다운로드한다.
(다) 큐3: 번호⑭ → 번호① → 번호⑪ : 큐3을 통해서 DLNA 콘트롤러(⑭)로 DLNA 서버(①)에 있는 동영상(381MB, 1280x720, 7062Kbps)을 DLNA 플레이어(⑪)에 플레이시킨다.
테스트 결과는 다음과 같다.
시나리오 (가), (나), (다) 순서로 동시 실행한 결과,
- 공유기의 VPN프로세스 CPU점유율 : 86~93% 사이 안정적
- 시나리오 (가) : 전혀 버퍼링 없음.
- 시나리오 (나) : 900Kbps ~ 4000Kbps 가변적. 우선순위가 낮아 전체 트래픽이 올라가면 낮아짐.
- 시나리오 (다) : 속도체크를 위한 1~2번의 버퍼링만 발생.
트래픽 쉐이핑이 동작하고 큐1, 큐3을 사용하는 동영상은 모두 안정적으로 플레이된다. 큐3의 경우 동영상 플레이 중 한 번이나 두 번 버퍼링이 발생하는데 이는 버퍼링 용량을 계산하기 위한 동작이기 때문에 원활히 플레이 된다고 볼 수 있다. FTP스트림이 사용하는 큐2는 우선순위가 낮고 대역폭이 작기 때문에 큐1,3에 영향을 주지 않는다. 큐2의 경우 우선순위가 가장 낮기 때문에 큐1,3이 우선 대역폭을 사용하고 남은 용량을 사용하기 때문에 속도의 하한치가 낮아지고 속도 변화량이 다소 증가함을 알 수 있다.
위의 3가지 방법에 대한 실험 테이터의 결과는 도 8과 같이 정리할 수 있다. 도 8의 비교표는 큐를 사용하지 않는 방법 보다는 단일 큐잉의 성능이 우수하고, 다중 큐잉을 적용한 경우 가장 우수하다는 것을 알 수 있다.
CPU 부하는 VPN 터널링 알고리즘에 소요되는 비용이다. 큐잉을 사용함에 따라 안정적으로 CPU 부하를 제어할 수 있음을 알 수 있다. 또한, ssh 반응은 트래픽 쉐이핑을 통해 바로 효과가 나타남을 알 수 있다. ftp 전송은 우선순위를 낮추어서 스트림 데이터에 지장을 주지 않도록 적용을 하였다. 따라서 다중 큐잉에서 ftp 전송 속도가 가장 늦고 변화폭이 큰 것을 알 수 있다. 이에 대한 이득은 모두 동영상 스트림 데이터의 우선순위로 갖게 된다.
마지막으로 DLNA 스트림의 버퍼링은 트래픽 쉐이핑의 적용여부와 다중 큐를 사용함에 따라 그 효과가 다르게 나타남을 알 수 있다.
도 9는 발명의 실시예에 따른 트래픽 쉐이핑 방법을 적용한 시스템과 기존 시스템간 성능 분석 결과를 나타낸 비교표이다.
도 9에서와 같이 본 연구결과는 동급 H/W장비에 비교해서는 전 분야 월등히 우수한 성능을 보여 주었고, 고가의 전용 VPN장비에 비교해도 지원방식, 호환성 그리고 특히 트래픽 쉐이핑 분야에서 우수한 성능을 보여주고 있다. 특히 다중큐잉 실시간 트래픽 쉐이핑 기술 적용으로 전용선이 아닌 일반 인터넷 회선상 에서도 우수한 성능을 기대할 수 있다. 실시간 트래픽 쉐이핑에 대한 정량적 평가 방법은 아직 찾아진 것이 없다. 향후 과제에서는 이에 대한 평가방법도 적용될 수 있을 것이다.
한편, 본 발명의 실시예에 따른 VPN 터널링의 QoS를 위한 다중 큐잉 실시간 트래픽 쉐이핑 방법은, 원격지의 네트워크를 가상 사설망(VPN)을 통해 연결하기 위한 VPN 터널링 구간에서의 트래픽 쉐이핑 방법으로서, VPN 터널링 구간에 대하여 네트워크 상태를 모니터링하고 분석하는 단계와, VPN 터널링 구간을 통해 인바운드 또는 아웃바운드하는 패킷을 네트워크 상태에 따라 다중 큐에 적응적으로 할당하여 트래픽을 제어하는 단계를 포함한다.
그리고, 이러한 단계를 통해 다중 큐는, 유입되는 패킷을 잠시 버퍼링하였다가 ToS(Type of Service)와 우선순위에 따라 패킷을 출력하는 SFQ(Stochastic Fair Queuing) 로직, 대역폭을 조절에 의해 패킷의 유효속도 또는 최대속도를 제한하는 HTB(Hierarchical Token Bucket) 로직을 기반으로 패킷을 다중 큐잉하게 된다.
한편, 본 발명은 상술한 트래픽 쉐이핑 방법을 소프트웨어적인 프로그램 또는 어플리케이션으로 구현하여 컴퓨터로 읽을 수 있는 소정 기록매체에 기록해 둘 수 있다. 또는 유무선 공유기나 VPN 통신을 지원하는 디바이스에 기록해 둘 수 있다.
예컨대, 기록 매체는 각 재생 장치의 내장형으로 하드 디스크, 플래시 메모리, RAM, ROM 등이거나, 외장형으로 CD-R, CD-RW와 같은 광디스크, 콤팩트 플래시 카드, 스마트 미디어, 메모리 스틱, 멀티미디어 카드일 수 있다.
이 경우, 컴퓨터로 읽을 수 있는 기록 매체에 기록한 프로그램 또는 어플리케이션은, 원격지의 네트워크를 가상 사설망(VPN)을 통해 연결하기 위한 VPN 터널링 구간에 대하여 네트워크 상태를 모니터링 및 분석하고, VPN 터널링 구간을 통해 인바운드 또는 아웃바운드하는 패킷을 네트워크 상태에 따라 다중 큐에 적응적으로 할당하여 트래픽을 제어하는 명령어를 포함할 수 있다.
이상의 설명은 본 발명을 예시적으로 설명한 것에 불과하며, 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술적 사상에서 벗어나지 않는 범위에서 다양한 변형이 가능할 것이다. 따라서 본 발명의 명세서에 개시된 실시예들은 아래의 특허청구범위에 의해 해석 되어야 하며, 그와 균등한 범위 내에 있는 모든 기술도 본 발명의 범위에 포함되는 것으로 해석해야 할 것이다.
100, 200: VPN 게이트웨이 300: VPN 게이트웨이 제어 장치
310: 다중 큐 320: 큐 제어부
330: 패킷 할당부 340: 모니터링

Claims (15)

  1. 원격지의 네트워크를 가상 사설망(VPN)을 통해 연결하기 위한 VPN 터널링 구간에서 인바운드 또는 아웃바운드하는 패킷을 잠시 버퍼링하였다가 사전에 정의된 우선순위에 따라 상기 패킷을 출력하는 다중 큐;
    상기 VPN 터널링 구간에 걸리는 네트워크 상태를 모니터링하고 분석하는 모니터링부; 및
    상기 모니터링부를 통해 분석된 네트워크 상태에 따라 상기 인바운드 또는 아웃바운드하는 패킷을 상기 다중 큐에 적응적으로 할당하여 상기 인바운드 또는 아웃바운드의 트래픽을 제어하는 패킷 할당부;
    를 포함하고,
    상기 모니터링부는,
    상기 VPN 터널링에 사용되는 CPU의 부하량을 계산하여 상대적인 트래픽 상황을 판단하는 방법을 이용하여 네트워크 상태를 분석하고,
    상기 VPN 터널링에 사용되는 CPU의 부하량 계산은 하기 수학식 1을 이용하여, 시스템 전체 CPU 사용시간과 상기 VPN 터널링의 데몬 사용시간을 일정시간 간격으로 계산하는 것을 특징으로 하는 VPN 터널링의 QoS를 위한 다중 큐잉 실시간 트래픽 쉐이핑 시스템.
    [수학식 1]
    Figure 112017112153432-pat00016

    (단, utime은 유저 모드 지피스(user mode jiffies), utime_before 및 utime_after는 유저 모드 지피스가 발생하는 전/후시간, user_util은 시스템 전체 CPU사용시간이고, stime은 커널 모드 지피스(kernel mode jiffies), stime_before 및 stime_after는 커널 모드 지피스가 발생하는 전/후시간, sys_util은 커널 모드 사용시간임)
  2. 제1항에 있어서,
    상기 패킷 할당부는,
    상기 모니터링부를 통해 분석된 네트워크 상태에 맞는 트래픽 쉐이핑 알고리즘을 선택하고 선택된 트래픽 쉐이핑 알고리즘을 이용하여 상기 패킷을 상기 다중 큐에 할당하는 것을 특징으로 하는 것을 특징으로 하는 VPN 터널링의 QoS를 위한 다중 큐잉 실시간 트래픽 쉐이핑 시스템.
  3. 제1항 또는 제2항에 있어서,
    상기 패킷 할당부는,
    상기 패킷을 서비스 포트별, IP주소별로 구분하고 구분된 패킷을 상기 네트워크 상태에 따라 할당하는 것을 특징으로 하는 VPN 터널링의 QoS를 위한 다중 큐잉 실시간 트래픽 쉐이핑 시스템.
  4. 제1항에 있어서,
    상기 다중 큐의 개수, 우선순위, 대역폭을 조절 또는 변경할 수 있는 큐 제어부;
    를 더 포함하는 것을 특징으로 하는 VPN 터널링의 QoS를 위한 다중 큐잉 실시간 트래픽 쉐이핑 시스템.
  5. 제4항에 있어서,
    상기 큐 제어부는,
    상기 패킷의 서비스 포트별, IP주소별로 상기 다중 큐를 구분하여 구분된 다중 큐의 우선순위, 대역폭을 조절하는 것을 특징으로 하는 VPN 터널링의 QoS를 위한 다중 큐잉 실시간 트래픽 쉐이핑 시스템.
  6. 제1항에 있어서,
    상기 다중 큐는,
    ToS(Type of Service)와 우선순위에 따라 패킷을 출력하는 SFQ(Stochastic Fair Queuing) 로직을 갖는 큐,
    대역폭을 조절에 의해 패킷의 유효속도 또는 최대속도를 제한하는 HTB(Hierarchical Token Bucket) 로직을 갖는 큐를 포함하며,
    각 큐의 우선순위 또는 대역폭이 다르게 할당된 것을 특징으로 하는 VPN 터널링의 QoS를 위한 다중 큐잉 실시간 트래픽 쉐이핑 시스템.
  7. 제6항에 있어서,
    상기 다중 큐는,
    상기 인바운드 또는 아웃바운드하는 패킷을 잠시 버퍼링하였다가 상기 SFQ 로직 또는 상기 HTB 로직을 기반으로 패킷을 다중 큐잉하는 것을 특징으로 하는 VPN 터널링의 QoS를 위한 다중 큐잉 실시간 트래픽 쉐이핑 시스템.
  8. 삭제
  9. 삭제
  10. 원격지의 네트워크를 가상 사설망(VPN)을 통해 연결하기 위한 VPN 터널링 구간에서 인바운드 또는 아웃바운드하는 패킷을 잠시 버퍼링하였다가 사전에 정의된 우선순위에 따라 상기 패킷을 출력하는 다중 큐;
    상기 VPN 터널링 구간에 걸리는 네트워크 상태를 모니터링하고 분석하는 모니터링부; 및
    상기 모니터링부를 통해 분석된 네트워크 상태에 따라 상기 인바운드 또는 아웃바운드하는 패킷을 상기 다중 큐에 적응적으로 할당하여 상기 인바운드 또는 아웃바운드의 트래픽을 제어하는 패킷 할당부;
    를 포함하고,
    상기 모니터링부는,
    상기 VPN 터널링에 사용되는 CPU의 부하량을 계산하여 상대적인 트래픽 상황을 판단하는 방법과, 상기 VPN 터널링에 걸린 패킷의 드롭(drop)율을 계산하여 트래픽 상황을 판단하는 방법을 이용하여 네트워크 상태를 분석하고,
    상기 VPN 터널링에 걸린 패킷의 드롭율 계산은 하기 수학식 2을 이용하여 일정시간 간격으로 수행되는 것을 특징으로 하는 VPN 터널링의 QoS를 위한 다중 큐잉 실시간 트래픽 쉐이핑 시스템.
    [수학식 2]
    Figure 112017112153432-pat00017

    (단, rx_drop은 VPN 터널링 디바이스의 송신 측에서 드롭된 패킷 수, tx_drop은 VPN 터널링 디바이스의 수신 측에서 드롭된 패킷 수, rx_pkt_tot는 VPN 터널링 디바이스의 송신 측 패킷 수, tx_pkt_tot는 VPN 터널링 디바이스의 수신 측 패킷 수임)
  11. 원격지의 네트워크를 가상 사설망(VPN)을 통해 연결하기 위한 VPN 터널링 구간에서의 트래픽 쉐이핑 방법으로서,
    모니터링부가 상기 VPN 터널링 구간에 대하여 네트워크 상태를 모니터링하고 분석하는 단계;
    패킷 할당부가 상기 VPN 터널링 구간을 통해 인바운드 또는 아웃바운드하는 패킷을 상기 모니터링부를 통해 분석된 네트워크 상태에 따라 다중 큐에 적응적으로 할당하여 트래픽을 제어하는 단계;
    를 포함하고,
    상기 네트워크 상태를 모니터링하고 분석하는 단계는,
    상기 VPN 터널링에 사용되는 CPU의 부하량을 계산하여 상대적인 트래픽 상황을 판단하는 방법을 이용하여 네트워크 상태를 분석하는 단계를 포함하고,
    상기 VPN 터널링에 사용되는 CPU의 부하량 계산은 하기 수학식 1을 이용하여, 시스템 전체 CPU 사용시간과 상기 VPN 터널링의 데몬 사용시간을 일정시간 간격으로 계산하는 것을 특징으로 하는 VPN 터널링의 QoS를 위한 다중 큐잉 실시간 트래픽 쉐이핑 방법.
    [수학식 1]
    Figure 112017112153432-pat00018

    (단, utime은 유저 모드 지피스(user mode jiffies), utime_before 및 utime_after는 유저 모드 지피스가 발생하는 전/후시간, user_util은 시스템 전체 CPU사용시간이고, stime은 커널 모드 지피스(kernel mode jiffies), stime_before 및 stime_after는 커널 모드 지피스가 발생하는 전/후시간, sys_util은 커널 모드 사용시간임)
  12. 제11항에 있어서,
    상기 다중 큐가 유입되는 패킷을 잠시 버퍼링하였다가 ToS(Type of Service)와 우선순위에 따라 패킷을 출력하는 SFQ(Stochastic Fair Queuing) 로직, 대역폭을 조절에 의해 패킷의 유효속도 또는 최대속도를 제한하는 HTB(Hierarchical Token Bucket) 로직을 기반으로 패킷을 다중 큐잉하는 단계;
    를 더 포함하는 것을 특징으로 하는 VPN 터널링의 QoS를 위한 다중 큐잉 실시간 트래픽 쉐이핑 방법.
  13. 제11항에 있어서,
    상기 트래픽을 제어하는 단계에서,
    상기 패킷 할당부가 상기 모니터링부를 통해 분석된 네트워크 상태에 맞는 트래픽 쉐이핑 알고리즘을 선택하고 선택된 트래픽 쉐이핑 알고리즘을 이용하여 상기 패킷을 상기 다중 큐에 할당하는 것을 특징으로 하는 것을 특징으로 하는 VPN 터널링의 QoS를 위한 다중 큐잉 실시간 트래픽 쉐이핑 방법.
  14. 제13항에 있어서,
    상기 트래픽을 제어하는 단계에서는,
    상기 패킷 할당부가 상기 패킷을 서비스 포트별, IP주소별로 구분하고 구분된 패킷을 상기 네트워크 상태에 따라 할당하는 것을 특징으로 하는 VPN 터널링의 QoS를 위한 다중 큐잉 실시간 트래픽 쉐이핑 방법.
  15. 제11항에 있어서,
    상기 트래픽을 제어하기 단계 이전에 큐 제어부가 상기 패킷의 서비스 포트별, IP주소별로 상기 다중 큐를 구분하고 구분된 상기 다중 큐에 대하여 우선순위, 대역폭을 단계;
    를 더 포함하는 것을 특징으로 하는 VPN 터널링의 QoS를 위한 다중 큐잉 실시간 트래픽 쉐이핑 방법.
KR1020160056784A 2016-05-10 2016-05-10 VPN 터널링의 QoS를 위한 다중큐잉 실시간 트래픽 쉐이핑 시스템 및 방법 KR101806259B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160056784A KR101806259B1 (ko) 2016-05-10 2016-05-10 VPN 터널링의 QoS를 위한 다중큐잉 실시간 트래픽 쉐이핑 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160056784A KR101806259B1 (ko) 2016-05-10 2016-05-10 VPN 터널링의 QoS를 위한 다중큐잉 실시간 트래픽 쉐이핑 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20170126584A KR20170126584A (ko) 2017-11-20
KR101806259B1 true KR101806259B1 (ko) 2017-12-07

Family

ID=60809370

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160056784A KR101806259B1 (ko) 2016-05-10 2016-05-10 VPN 터널링의 QoS를 위한 다중큐잉 실시간 트래픽 쉐이핑 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101806259B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111880955A (zh) * 2020-08-04 2020-11-03 北京立通智联科技有限公司 对物联网设备的消息处理方法、装置、终端及介质
CN113242606B (zh) * 2021-05-19 2023-12-05 苏州瑞立思科技有限公司 一种低延迟的数据传输方法和装置
CN113873041B (zh) * 2021-09-30 2024-03-01 迈普通信技术股份有限公司 报文传输方法、装置、网络设备及计算机可读存储介质
WO2024071715A1 (ko) * 2022-09-26 2024-04-04 삼성전자주식회사 네트워크 레벨을 조정하기 위한 전자 장치 및 방법
CN117278360B (zh) * 2023-11-22 2024-02-09 北京派网科技有限公司 基于虚拟专用网络的网络通信方法、装置以及存储介质

Also Published As

Publication number Publication date
KR20170126584A (ko) 2017-11-20

Similar Documents

Publication Publication Date Title
KR101806259B1 (ko) VPN 터널링의 QoS를 위한 다중큐잉 실시간 트래픽 쉐이핑 시스템 및 방법
US9867167B2 (en) Airtime-based packet scheduling for wireless networks
US10243865B2 (en) Combined hardware/software forwarding mechanism and method
US9819608B2 (en) Method and system for resource coherency and analysis in a network
US9948561B2 (en) Setting delay precedence on queues before a bottleneck link based on flow characteristics
KR101172491B1 (ko) 네트워크의 서비스 품질을 향상시키는 시스템 및 방법
RU2316127C2 (ru) Спектрально-ограниченная контролирующая пакетная передача для управления перегрузкой и установления вызова в сетях, основанных на пакетах
US8774001B2 (en) Relay device and relay method
EP2670094B1 (en) Method and device for load sharing
US11509570B2 (en) Resource usage in a multipath network
AU2015222811A1 (en) Dynamic allocation of network bandwidth
WO2016045702A1 (en) Transmitting data based on flow input from base station
KR102033402B1 (ko) 사물인터넷 지원 스마트 게이트웨이 및 그것의 vpn 터널링 실시간 속도 제어 방법
US8203956B1 (en) Method and apparatus providing a precedence drop quality of service (PDQoS)
EP2985963A1 (en) Packet scheduling networking device
US10412006B2 (en) Bandwith sentinel
US11115857B2 (en) Bandwidth sentinel
KR100714099B1 (ko) 흐름 인식 흐름 제어 방법, 정보 단말기기 및 네트워크장비
KR101707416B1 (ko) 무선 랜에서 데이터 방송 서비스를 위한 QoS 제어 방법 및 시스템, 이를 위한 액세스 포인트
JP2015149537A (ja) 経路制御装置及びシステム及び方法
US8804521B1 (en) Quality of service for inbound network traffic flows during slow-start phases
Grewal et al. A framework for quality of service in wireless networks
TWI429243B (zh) 嵌入式設備及其資料封包轉發方法
Biesbroek Last-mile lightpath services: on packet-switched shared infrastructure
KR20140122379A (ko) 네트워크 장치의 혼잡 제어 방법 및 장치

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant