KR20180129376A - Smart gateway supporting iot and realtime traffic shaping method for the same - Google Patents

Smart gateway supporting iot and realtime traffic shaping method for the same Download PDF

Info

Publication number
KR20180129376A
KR20180129376A KR1020170065312A KR20170065312A KR20180129376A KR 20180129376 A KR20180129376 A KR 20180129376A KR 1020170065312 A KR1020170065312 A KR 1020170065312A KR 20170065312 A KR20170065312 A KR 20170065312A KR 20180129376 A KR20180129376 A KR 20180129376A
Authority
KR
South Korea
Prior art keywords
vpn tunneling
queuing
traffic
packet
load
Prior art date
Application number
KR1020170065312A
Other languages
Korean (ko)
Other versions
KR102033402B1 (en
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 KR1020170065312A priority Critical patent/KR102033402B1/en
Publication of KR20180129376A publication Critical patent/KR20180129376A/en
Application granted granted Critical
Publication of KR102033402B1 publication Critical patent/KR102033402B1/en

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/22Traffic shaping
    • H04L47/225Determination of shaping rate, e.g. using a moving window
    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6295Queue scheduling characterised by scheduling criteria using multiple queues, one for each individual QoS, connection, flow or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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
    • 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/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Landscapes

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

Abstract

An IoT gateway smart gateway according to an embodiment of the present invention includes multiple queues which temporarily buffer inbound or outbound packets in a virtual private network (VPN) tunneling interval for connecting a remote network through a VPN, and output them according to a predefined priority; a monitoring part which monitors and analyzes a network state including a traffic load on the VPN tunneling interval and a traffic load on each queuing of the multiple queues; and a packet allocation part which adaptively allocates the inbound or outbound packets to the multiple queues based on the analysis result of the network state and controls the traffic of the VPN tunneling interval. It is possible to support stable and seamless IoT connection.

Description

사물인터넷 지원 스마트 게이트웨이 및 그것의 VPN 터널링 실시간 속도 제어 방법{SMART GATEWAY SUPPORTING IOT AND REALTIME TRAFFIC SHAPING METHOD FOR THE SAME}TECHNICAL FIELD [0001] The present invention relates to an Internet-enabled smart gateway and a VPN tunneling method for real-

본 발명의 실시예들은 사물인터넷 지원 스마트 게이트웨이 및 사물인터넷 지원 스마트 게이트웨이의 VPN 터널링 실시간 속도 제어 방법에 관한 것이다.Embodiments of the present invention relate to a VPN tunneling real-time speed control method for a smart Internet gateway supporting a Smart Internet and a Smart Internet Gateway.

최근 클라우드, 스마트 디바이스, 사물인터넷 등 정보통신 기반의 다양한 서비스 기술이 급속히 발전하고 있으며, 여기에 필요한 네트워크 장비인 라우터, 스마트 게이트웨이, 스위치, 방화벽 등 플랫폼 기술도 더불어 발전하고 있다. 이러한 정보통신 기술의 발전은 스마트 디바이스의 활용이 시간과 공간의 제약을 극복하고, 사무실이나 집, 학교, 외부 등 어느 곳에서도 자신이 하던 일을 계속 이어서 할 수 있고, 물리적으로 떨어진 원격지 환경과 동일한 네트워크 환경을 제공하는 것이 가능하게 되었다.In recent years, a variety of service technologies based on information communication such as cloud, smart device, and Internet have been rapidly developed. Platform technologies such as routers, smart gateways, switches, and firewalls, which are necessary for this, are also developing. The development of this information and communication technology can overcome the time and space limitations of using smart devices and can keep doing what they are doing in office, home, school, outside, It becomes possible to provide a network environment.

이렇게 다수의 원격지 네트워크를 하나의 로컬 네트워크로 구성할 수 있는 기술은 이미 잘 알려진 네트워크간 VPN(Virtual Private Network)장비로 구현이 가능하다. 상용 VPN장비의 경우 발전을 거듭하여 기본적인 라우터 기능, 터널링(Tunneling) 기능 외에 IDS(Intrusion Detection System), IPS(Intrusion Protection System) 등 지능형 방화벽, QoS(Quality of Service) 기술, 다중회선 지원, 로드밸런싱(Load Balancing)등 다양한 고급 기능을 적용할 수 있도록 제공하고 있다.The technology that can configure multiple remote networks into one local network can be implemented with well-known network-to-network VPN (Virtual Private Network) equipment. In the case of commercial VPN equipment, it has evolved to provide intelligent firewall such as IDS (Intrusion Detection System) and IPS (Intrusion Protection System), QoS (Quality of Service) technology, multi-line support, load balancing (Load Balancing) and so on.

그런데, 상용 VPN 장비의 경우 고성능의 제품으로 구축된 전용선 환경에서 전문가의 지원으로 활용되고 있으며, 고가의 전용 장비에 의해 기술의 특성상 기기간 호환성도 보장하기 힘든 문제를 가지고 있다. 또한, VPN 터널링 기술은 높은 도입 비용과 고가의 안정적인 전용회선이 필요하기 때문에 일반적인 가정이나 기업에서 쓰는 인터넷 환경에서는 운영하기 어려운 문제가 있다.However, in the case of commercial VPN equipment, it is utilized as a specialist support in a private line environment constructed with a high-performance product, and it is difficult to guarantee inter-device compatibility due to the characteristics of technology by expensive dedicated equipment. In addition, since VPN tunneling technology requires a high introduction cost and a stable and expensive dedicated line, it is difficult to operate in an Internet environment used in general households or corporations.

이를 보안하고자 일반 인터넷 환경에 네트워크간 VPN을 지원하는 유무선 공유기가 개발되었으나, 대부분 단순한 VPN 서버의 기능만 제공하여 네트워크간 VPN 연동은 가능하지 않고 PC나 스마트폰에서 직접 연동하는 방법만 제공하기 때문에 그 활용성이 떨어지고, 지원하는 기기가 국한되어 있다. 또한 VPN 터널링의 속도가 5Mbps 수준에 불과하고, 상용 VPN 전용 장비의 경우 대중화 시키기에는 경제성이 떨어지며 전용선 등 회선 상황이 보장이 되어야 운영 이 가능한 문제를 가지고 있다.In order to secure this, a router supporting the network-to-network VPN has been developed in the general internet environment. However, most of them provide only the function of the VPN server so that the network-to-network VPN connection is not possible. The usability is poor, and the devices to be supported are limited. In addition, VPN tunneling speed is only 5Mbps, commercial VPN dedicated equipment is not economical to popularize, and there is a problem that the line condition such as leased line must be guaranteed to operate.

관련 선행기술로는 한국공개특허 제10-2004-0039909호(발명의 명칭: 전송계층 터널링을 이용한 가상사설망에서의 통신품질향상방법, 공개일자: 2004.05.12.)가 있다.Related Prior Art Korean Patent Application No. 10-2004-0039909 entitled " Method for improving communication quality in virtual private network using transmission layer tunneling, public date: 2004.05.12. &Quot;

본 발명의 일 실시예는 VPN 터널링의 실시간 트래픽 쉐이핑 알고리즘에 CPU 부하, 패킷 드롭(drop)율 그리고 큐잉 우선순위를 적용하여 구현함으로써 저품질의 인터넷 상황에서도 안정적이고 원활한 사물인터넷 연동을 지원할 수 있는 스마트 게이트웨이 및 그것의 VPN 터널링 실시간 속도 제어 방법을 제공한다.According to an embodiment of the present invention, a CPU load, a packet drop rate, and a queuing priority are applied to a real-time traffic shaping algorithm of VPN tunneling to implement a smart gateway capable of supporting stable and seamless Internet connection even in low- And its VPN tunneling real time speed control method.

본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the above-mentioned problem (s), and another problem (s) not mentioned can be clearly understood by those skilled in the art from the following description.

본 발명의 일 실시예에 따른 사물인터넷 지원 스마트 게이트웨이는 원격지의 네트워크를 가상 사설망(VPN)을 통해 연결하기 위한 VPN 터널링 구간에서 인바운드 또는 아웃바운드하는 패킷을 잠시 버퍼링하였다가 사전에 정의된 우선순위에 따라 출력하는 다중 큐; 상기 VPN 터널링 구간에 걸리는 트래픽 부하 및 상기 다중 큐의 각 큐잉별 트래픽 부하를 포함하는 네트워크 상태를 모니터링하고 분석하는 모니터링부; 및 상기 네트워크 상태의 분석 결과에 기초하여 상기 인바운드 또는 아웃바운드하는 패킷을 상기 다중 큐에 적응적으로 할당하여 상기 VPN 터널링 구간의 트래픽을 제어하는 패킷 할당부를 포함한다.The Internet gateway smart gateway according to an embodiment of the present invention temporarily buffers inbound or outbound packets in a VPN tunneling interval for connecting a remote network through a virtual private network (VPN) Multiple queues to output; A monitoring unit monitoring and analyzing a network state including a traffic load on the VPN tunneling interval and a traffic load on each queuing of the multiple queues; And a packet allocation unit for adaptively allocating the inbound or outbound packet to the multiple queues based on the analysis result of the network state to control the traffic of the VPN tunneling period.

상기 모니터링부는 상기 각 큐잉별 드롭(drop)율 및 상기 각 큐잉별로 할당된 밴드폭에 기초하여 상기 각 큐잉별 트래픽 부하량을 계산하고, 상기 각 큐잉별 트래픽 부하량에 기초하여 상기 VPN 터널링 구간에 걸리는 트래픽 부하를 모니터링하고 분석할 수 있다.Wherein the monitoring unit calculates a traffic load for each queuing based on a drop rate for each queuing and a bandwidth allocated for each queuing, and calculates a traffic load on the VPN tunneling interval based on the traffic load for each queuing, Loads can be monitored and analyzed.

상기 패킷 할당부는 상기 각 큐잉별 트래픽 부하량에 기초하여 다중 큐잉 중 부하가 상대적으로 적은 큐잉을 찾아서 밴드폭을 줄이고, 상대적으로 부하가 큰 다른 큐잉에 밴드폭을 더 할당하여 상기 VPN 터널링 구간의 트래픽을 제어할 수 있다.The packet allocator finds queuing with a relatively small load during multi queuing based on the traffic load for each queuing to reduce the bandwidth and further allocates a bandwidth to another queuing having a relatively high load to transmit the traffic of the VPN tunneling period Can be controlled.

상기 모니터링부는 시스템 전체에 대한 CPU 사용 시간과 VPN 터널링 데몬의 사용 시간을 바탕으로 상기 VPN 터널링 데몬의 부하량을 계산하여 상기 VPN 터널링에 사용되는 CPU의 부하량을 계산하고, 상기 CPU의 부하량에 기초하여 상기 VPN 터널링 구간에 걸리는 트래픽 부하를 모니터링하고 분석할 수 있다.Wherein the monitoring unit calculates a load of the VPN tunneling daemon based on the CPU usage time of the entire system and the usage time of the VPN tunneling daemon to calculate a load of the CPU used in the VPN tunneling, You can monitor and analyze the traffic load on the VPN tunneling section.

상기 모니터링부는 하기 수학식 1에 기초하여, 상기 시스템 전체에 대한 CPU 사용 시간과 상기 VPN 터널링 데몬의 사용 시간을 일정시간 간격으로 계산하여 상기 VPN 터널링에 사용되는 CPU의 부하량을 계산할 수 있다.The monitoring unit may calculate a CPU usage time for the entire system and a usage time of the VPN tunneling daemon at a predetermined time interval based on Equation (1) below to calculate a CPU load used for VPN tunneling.

[수학식 1][Equation 1]

Figure pat00001
Figure pat00001

여기서, utime은 유저 모드 지피스(user mode jiffies), utime_before 및 utime_after는 유저 모드 지피스가 발생하는 전/후 시간, user_util은 시스템 전체에 대한 CPU 사용 시간이고, stime은 커널 모드 지피스(kernel mode jiffies), stime_before 및 stime_after는 커널 모드 지피스가 발생하는 전/후 시간, sys_util은 커널 모드 사용 시간임.Where utime is the user mode jiffies, utime_before and utime_after are the time before and after the user mode is generated, user_util is the CPU usage time of the entire system, and stime is the kernel mode jiffies), stime_before, and stime_after are the time before and after the kernel mode delay occurs, and sys_util is the time of kernel mode usage.

상기 패킷 할당부는 상기 CPU의 부하량에 기초하여 해당 네트워크 상태에 맞는 트래픽 쉐이핑 알고리즘을 선택하고, 상기 선택된 트래픽 쉐이핑 알고리즘을 이용하여 상기 패킷을 상기 다중 큐에 할당하여 상기 VPN 터널링 구간의 트래픽을 제어할 수 있다.The packet allocator selects a traffic shaping algorithm that matches the network condition based on the load of the CPU and allocates the packet to the multiple queues using the selected traffic shaping algorithm to control the traffic of the VPN tunneling interval have.

상기 모니터링부는 VPN 터널링 디바이스의 패킷 정보에 기초하여 전체 패킷 드롭(drop)율을 계산하고, 상기 전체 패킷 드롭율에 기초하여 상기 VPN 터널링 구간에 걸리는 트래픽 부하를 모니터링하고 분석할 수 있다.The monitoring unit may calculate a total packet drop rate based on packet information of the VPN tunneling device and monitor and analyze a traffic load on the VPN tunneling period based on the total packet drop rate.

상기 모니터링부는 하기 수학식 2에 기초하여, 상기 VPN 터널링 디바이스의 패킷 정보를 일정시간 간격으로 계산하여 상기 전체 패킷 드롭율을 계산할 수 있다.The monitoring unit may calculate the total packet drop rate by calculating packet information of the VPN tunneling device at a predetermined time interval based on Equation (2).

[수학식 2]&Quot; (2) "

Figure pat00002
Figure pat00002

여기서, rx_drop은 상기 VPN 터널링 디바이스의 송신 측에서 드롭된 패킷 수, tx_drop은 상기 VPN 터널링 디바이스의 수신 측에서 드롭된 패킷 수, rx_pkt_tot는 상기 VPN 터널링 디바이스의 송신 측 패킷 수, tx_pkt_tot는 상기 VPN 터널링 디바이스의 수신 측 패킷 수임.Where rx_drop is the number of dropped packets on the transmitting side of the VPN tunneling device, tx_drop is the number of dropped packets on the receiving side of the VPN tunneling device, rx_pkt_tot is the number of transmitting packets on the VPN tunneling device, tx_pkt_tot is the number of dropped packets on the VPN tunneling device Lt; / RTI >

상기 패킷 할당부는 상기 전체 패킷 드롭율에 기초하여 해당 네트워크 상태에 맞는 트래픽 쉐이핑 알고리즘을 선택하고, 상기 선택된 트래픽 쉐이핑 알고리즘을 이용하여 상기 패킷을 상기 다중 큐에 할당하여 상기 VPN 터널링 구간의 트래픽을 제어할 수 있다.The packet allocator selects a traffic shaping algorithm that matches the network condition based on the total packet drop rate and allocates the packet to the multiple queues using the selected traffic shaping algorithm to control traffic in the VPN tunneling interval have.

상기 패킷 할당부는 상기 패킷을 서비스 포트별, IP 주소별로 구분하고, 상기 구분된 패킷을 상기 네트워크 상태의 분석 결과에 기초하여 상기 다중 큐에 적응적으로 할당할 수 있다.The packet assigning unit may classify the packets according to service ports and IP addresses, and adaptively allocate the divided packets to the multiple queues based on an analysis result of the network state.

본 발명의 일 실시예에 따른 사물인터넷을 지원하는 스마트 게이트웨이는 상기 다중 큐의 개수, 우선순위 및 대역폭 중 적어도 하나를 조절 또는 변경하는 큐 제어부를 더 포함할 수 있다.The smart gateway supporting the Internet of objects according to an embodiment of the present invention may further include a queue controller for adjusting or changing at least one of the number, priority, and bandwidth of the multiple queues.

상기 다중 큐는 ToS(Type of Service)와 우선순위에 따라 패킷을 출력하는 SFQ(Stochastic Fair Queuing) 로직을 갖는 큐; 및 대역폭의 조절을 통해 패킷의 유효 속도 또는 최대 속도를 제한하는 HTB(Hierarchical Token Bucket) 로직을 갖는 큐를 포함할 수 있다.Wherein the multiple queues have a type of service (ToS) and a queue having SFQ (Stochastic Fair Queuing) logic for outputting packets according to a priority order; And a queue with Hierarchical Token Bucket (HTB) logic that limits the effective or maximum rate of the packet through bandwidth throttling.

상기 다중 큐는 상기 SFQ 로직 또는 상기 HTB 로직을 기반으로 상기 패킷을 다중 큐잉할 수 있다.The multiple queues may multi-queue the packet based on the SFQ logic or the HTB logic.

본 발명의 일 실시예에 따른 사물인터넷 지원 스마트 게이트웨이의 VPN 터널링 실시간 속도 제어 방법은 원격지의 네트워크를 가상 사설망(VPN)을 통해 연결하기 위한 VPN 터널링 구간에 걸리는 트래픽 부하, 및 상기 VPN 터널링 구간에서 인바운드 또는 아웃바운드하는 패킷을 잠시 버퍼링하였다가 사전에 정의된 우선순위에 따라 출력하는 다중 큐의 각 큐잉별 트래픽 부하를 포함하는 네트워크 상태를 모니터링하고 분석하는 단계; 및 상기 네트워크 상태의 분석 결과에 기초하여 상기 인바운드 또는 아웃바운드하는 패킷을 상기 다중 큐에 적응적으로 할당하여 상기 VPN 터널링 구간의 트래픽을 제어하는 단계를 포함한다.The VPN tunneling real-time rate control method of the Internet-enabled smart gateway according to an embodiment of the present invention includes a traffic load on a VPN tunneling period for connecting a remote network through a virtual private network (VPN) Monitoring or analyzing a network state including a traffic load for each queuing of multiple queues buffering outbound packets for a while and outputting according to a predefined priority; And controlling the traffic of the VPN tunneling period by adaptively allocating the inbound or outbound packets to the multiple queues based on the analysis result of the network status.

상기 네트워크 상태를 모니터링하고 분석하는 단계는 상기 각 큐잉별 드롭(drop)율 및 상기 각 큐잉별로 할당된 밴드폭에 기초하여 상기 각 큐잉별 트래픽 부하량을 계산하는 단계; 및 상기 각 큐잉별 트래픽 부하량에 기초하여 상기 VPN 터널링 구간에 걸리는 트래픽 부하를 모니터링하고 분석하는 단계를 포함할 수 있다.Wherein the step of monitoring and analyzing the network status comprises: calculating a traffic load for each queuing based on a drop rate for each queuing and a bandwidth allocated for each queuing; And monitoring and analyzing a traffic load on the VPN tunneling period based on the traffic load for each queuing.

상기 VPN 터널링 구간의 트래픽을 제어하는 단계는 상기 각 큐잉별 트래픽 부하량에 기초하여 다중 큐잉 중 부하가 상대적으로 적은 큐잉을 찾아서 밴드폭을 줄이는 단계; 및 상대적으로 부하가 큰 다른 큐잉에 밴드폭을 더 할당하여 상기 VPN 터널링 구간의 트래픽을 제어하는 단계를 포함할 수 있다.The step of controlling the traffic of the VPN tunneling interval may include a step of finding a queuing having a relatively small load during multiple queuing based on the traffic load for each queuing to reduce a bandwidth of the queuing; And controlling the traffic of the VPN tunneling period by further allocating a bandwidth to another queuing having a relatively large load.

상기 네트워크 상태를 모니터링하고 분석하는 단계는 시스템 전체에 대한 CPU 사용 시간과 VPN 터널링 데몬의 사용 시간을 바탕으로 상기 VPN 터널링 데몬의 부하량을 계산하여 상기 VPN 터널링에 사용되는 CPU의 부하량을 계산하는 단계; 및 상기 CPU의 부하량에 기초하여 상기 VPN 터널링 구간에 걸리는 트래픽 부하를 모니터링하고 분석하는 단계를 포함할 수 있다.Wherein the step of monitoring and analyzing the network status comprises: calculating a load of the CPU used in the VPN tunneling by calculating a load of the VPN tunneling daemon based on a CPU usage time of the entire system and a usage time of the VPN tunneling daemon; And monitoring and analyzing a traffic load on the VPN tunneling period based on the load of the CPU.

상기 네트워크 상태를 모니터링하고 분석하는 단계는 VPN 터널링 디바이스의 패킷 정보에 기초하여 전체 패킷 드롭(drop)율을 계산하는 단계; 및 상기 전체 패킷 드롭율에 기초하여 상기 VPN 터널링 구간에 걸리는 트래픽 부하를 모니터링하고 분석하는 단계를 포함할 수 있다.Wherein monitoring and analyzing the network conditions comprises: calculating an overall packet drop rate based on packet information of the VPN tunneling device; And monitoring and analyzing the traffic load on the VPN tunneling interval based on the overall packet drop rate.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.The details of other embodiments are included in the detailed description and the accompanying drawings.

본 발명의 일 실시예에 따르면, VPN 터널링의 실시간 트래픽 쉐이핑 알고리즘에 CPU 부하, 패킷 드롭(drop)율 그리고 큐잉 우선순위를 적용하여 구현함으로써 저품질의 인터넷 상황에서도 안정적이고 원활한 사물인터넷 연동을 지원할 수 있다.According to an embodiment of the present invention, the CPU load, the packet drop rate, and the queuing priority are applied to the real-time traffic shaping algorithm of the VPN tunneling, so that it is possible to support stable and smooth Internet connection even in low-quality Internet .

본 발명의 일 실시예에 따르면, 실시간에 다중 큐잉의 내부 트래픽을 세부적으로 계산하여 다중 큐잉 밴드폭을 효율적으로 실시간에 최적의 상태로 변화시켜 줄 수 있다.  즉, 미리 설계된 다중 큐잉 시나리오 없이 최적의 상태로 운영이 가능하다.According to an embodiment of the present invention, it is possible to efficiently calculate the multi-queuing bandwidth and to change the multi-queuing internal traffic to an optimum state in real time. That is, it can be operated in an optimal state without a pre-designed multi-queuing scenario.

본 발명의 일 실시예에 따르면, 미리 정해진 큐잉 알고리즘을 단순히 적용하여 발생하는 속도 제어 오류를 방지하고 실시간 해당되는 큐잉 및 관련 큐잉에 대해서 세부적으로 제어할 수 있다.According to an embodiment of the present invention, a speed control error generated by simply applying a predetermined queuing algorithm can be prevented, and real-time queuing and related queuing can be controlled in detail.

도 1은 본 발명의 일 실시예에 따른 사물인터넷 지원 스마트 게이트웨이의 네트워크 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 사물인터넷 지원 스마트 게이트웨이를 설명하기 위해 도시한 블록도이다.
도 3은 원격 제어 모니터링의 일례를 도시한 도면이다.
도 4는 VPN 터널에 대한 다중 큐잉을 통한 트래픽 쉐이핑의 일례를 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 트래픽 쉐이핑을 적용한 시스템과 기존 시스템 간 성능 분석 결과를 나타낸 비교표이다.
도 6 내지 도 9는 본 발명의 일 실시예에 따른 사물인터넷을 지원하는 스마트 게이트웨이의 VPN 터널링 실시간 속도 제어 방법을 설명하기 위해 도시한 흐름도이다.
FIG. 1 is a diagram illustrating a network configuration of a smart Internet gateway supporting objects according to an exemplary embodiment of the present invention. Referring to FIG.
FIG. 2 is a block diagram illustrating an Internet gateway smart gateway according to an embodiment of the present invention. Referring to FIG.
3 is a diagram showing an example of remote control monitoring.
4 is a diagram illustrating an example of traffic shaping through multiple queuing for a VPN tunnel.
FIG. 5 is a table showing performance analysis results between a system to which traffic shaping is applied and an existing system according to an embodiment of the present invention.
6 to 9 are flowcharts for explaining a VPN tunneling real time speed control method of a smart gateway supporting object Internet according to an embodiment of the present invention.

본 발명의 이점 및/또는 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and / or features of the present invention, and how to accomplish them, will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. It should be understood, however, that the invention is not limited to the disclosed embodiments, but is capable of many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, To fully disclose the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.

또한, 이하 실시되는 본 발명의 바람직한 실시예는 본 발명을 이루는 기술적 구성요소를 효율적으로 설명하기 위해 각각의 시스템 기능구성에 기 구비되어 있거나, 또는 본 발명이 속하는 기술분야에서 통상적으로 구비되는 시스템 기능 구성은 가능한 생략하고, 본 발명을 위해 추가적으로 구비되어야 하는 기능 구성을 위주로 설명한다. 만약 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 하기에 도시하지 않고 생략된 기능 구성 중에서 종래에 기 사용되고 있는 구성요소의 기능을 용이하게 이해할 수 있을 것이며, 또한 상기와 같이 생략된 구성 요소와 본 발명을 위해 추가된 구성 요소 사이의 관계도 명백하게 이해할 수 있을 것이다.It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. The configuration is omitted as much as possible, and a functional configuration that should be additionally provided for the present invention is mainly described. Those skilled in the art will readily understand the functions of components that have been used in the prior art among the functional configurations that are not shown in the following description, The relationship between the elements and the components added for the present invention will also be clearly understood.

또한, 이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다. 특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다.In the following description, terms such as "transmission", "communication", "transmission", "reception", and the like of a signal or information means that a signal or information is directly transmitted from one component to another As well as being transmitted via other components. In particular, "transmitting" or "transmitting" a signal or information to an element is indicative of the final destination of the signal or information and not a direct destination. This is the same for "reception" of a signal or information.

이하에서는 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 사물인터넷 지원 스마트 게이트웨이의 네트워크 구성을 도시한 도면이다.FIG. 1 is a diagram illustrating a network configuration of a smart Internet gateway supporting objects according to an exemplary embodiment of the present invention. Referring to FIG.

도 1을 참조하면, 본 발명의 일 실시예에 따른 사물인터넷 지원 스마트 게이트웨이(100)는 물리적으로 떨어져 있는 원격지의 네트워크(사무실, 원격지)를 가상의 네트워크를 이용하여 마치 하나의 네트워크처럼 보이게 구성하는 VPN 시스템에 구현하여 VPN 터널링 시 최적의 터널링 속도를 유지하여 우수한 인터넷 회선 품질을 제공할 수 있다.Referring to FIG. 1, a smart Internet gateway 100 according to an exemplary embodiment of the present invention includes a remote network (office, remote site) physically separated from a remote location by using a virtual network VPN system, it is possible to maintain the optimal tunneling speed during VPN tunneling and to provide excellent Internet line quality.

여기서, 상기 VPN 시스템은 두 개의 사설 네트워크(사무실, 원격지) 사이에 게이트웨이(110, 120)를 통해 연결될 수 있다. 두 개의 사설 네트워크(사무실, 원격지)는 인터넷을 두고 서로 떨어져 있고, 외부 접근이 어렵기 때문에 서로 트래픽을 전달할 수 없다.Here, the VPN system may be connected through two gateways 110 and 120 between two private networks (offices, remote sites). Two private networks (office, remote) are separated from each other by the Internet and can not transmit traffic to each other because of difficult access to the outside world.

하지만, 사설 네트워크(사무실, 원격지)에는 인터넷으로 트래픽을 보내기 위한 게이트웨이(110, 120)가 연결될 수 있고, 각 게이트웨이(110, 120)들은 공인 주소(public ip)를 가지므로 두 개의 사설 네트워크(사무실, 원격지)가 게이트웨이(110, 120)를 통해 연결될 수 있다.However, since the gateways 110 and 120 for transmitting traffic to the Internet can be connected to the private network (office, remote site), and each gateway 110 and 120 has a public IP, , A remote site) can be connected through the gateways 110 and 120. [

이때, 상기 게이트웨이(110, 120)간 터널링(tunneling) 구간에서는 VPN을 통해 브릿지(bridge) 또는 라우팅(routing) 연결이 될 수 있다. 참고로, 상기 게이트웨이(110)는 오픈VPN 서버 액세스 게이트웨이(OpenVPN Server Access Gateway)이고, 상기 게이트웨이(120)는 오픈VPN 클라이언트 게이트웨이(OpenVPN Client Gateway)일 수 있다.At this time, a bridge or a routing connection can be established through a VPN in a tunneling period between the gateways 110 and 120. For reference, the gateway 110 is an OpenVPN Server Access Gateway, and the Gateway 120 may be an OpenVPN Client Gateway.

상기 브릿지 방식으로 연결되는 경우, 상기 VPN 시스템은 두 개의 네트워크 간 라우팅이 필요없고, 주소 체계가 동일하며, 동일 네트워크처럼 동작하기 때문에 이더넷 패킷까지 교환되고 모든 장비에 접근이 가능하다. 따라서, DLNA(Digital Living Network Alliance), 인트라넷 등 동일 네트워크에서 동작하는 프로그램을 그대로 쓸 수 있다.When the bridge system is connected, the VPN system does not require routing between two networks, and has the same address system. Since the VPN system operates as the same network, it can exchange Ethernet packets and access all equipment. Therefore, a program running on the same network, such as DLNA (Digital Living Network Alliance) or Intranet, can be used as it is.

상기 라우팅 방식으로 연결되는 경우, 상기 VPN 시스템은 모든 장비의 주소 체계가 다르고 다른 네트워크처럼 동작하기 때문에 명시적으로 라우팅 설정을 해서 사용할 수 있다.When connected by the routing scheme, the VPN system can be used by explicitly setting routing because all devices have different address systems and operate like other networks.

상기 VPN 시스템은 OpenVPN Client Gateway 제어 시스템(130)를 통해 상기 OpenVPN Client Gateway(120)의 동작을 제어할 수 있다. 본 발명의 일 실시예에 따른 사물인터넷 지원 스마트 게이트웨이(100)는 상기 OpenVPN Client Gateway(120) 및 상기 OpenVPN Client Gateway 제어 시스템(130)을 포함하여 구현될 수 있다.The VPN system can control the operation of the OpenVPN Client Gateway 120 through the OpenVPN Client Gateway control system 130. The Smart Internet gateway 100 according to an embodiment of the present invention may include the OpenVPN Client Gateway 120 and the OpenVPN Client Gateway control system 130.

여기서, 상기 OpenVPN Client Gateway 제어 시스템(130)은 상기 OpenVPN Client Gateway(120)를 포함하여 구현될 수도 있고, 상기 OpenVPN Client Gateway(120)와는 별개로 구현될 수도 있다. 상기 OpenVPN Client Gateway(120)가 유무선 공유기로 구현되는 경우, 상기 OpenVPN Client Gateway 제어 시스템(130)은 응용 프로그램 형태로 유무선 공유기에 탑재되어 일체로 형성될 수도 있다.The OpenVPN Client Gateway control system 130 may include the OpenVPN Client Gateway 120 or may be implemented separately from the OpenVPN Client Gateway 120. When the OpenVPN Client Gateway 120 is implemented as a wireless router, the OpenVPN Client Gateway control system 130 may be installed in a wireless router as an application program.

본 발명의 일 실시예에 따른 사물인터넷 지원 스마트 게이트웨이(100)는 VPN 터널링 구간을 다중 큐잉으로 구현하고, 상기 다중 큐잉을 통해 패킷을 전송할 때 상기 OpenVPN Client Gateway 제어 시스템(130)이 네트워크 상태에 따라 적응적으로 패킷을 할당하여 트래픽 쉐이핑(Traffic Shaping)을 수행할 수 있다.The Internet gateway 100 supports the VPN tunneling period in multiple queuing and when the packet is transmitted through the multi-queuing, the OpenVPN Client Gateway control system 130 is controlled according to the network conditions It is possible to adaptively allocate a packet to perform traffic shaping.

예를 들면, 본 발명의 일 실시예에 따르면 상기 VPN 터널링 구간에서 상기 다중 큐잉을 통해 DLNA(Digital Living Network Alliance) 동영상을 스트리밍(streaming)하면서, 이와 동시에 ftp(File Transfer Protocol) 송수신과 ssh(Secure Shell) 접속을 원활하게 함께 할 수 있다.For example, according to an embodiment of the present invention, a DLNA (Digital Living Network Alliance) video stream may be streamed through the multi-queuing in the VPN tunneling period, while a file transfer protocol (ftp) Shell) connection smoothly.

참고로, 상기 트래픽 쉐이핑은 트래픽 흐름을 보다 매끄럽게 제한/정형화시키는 방법을 말하는 것으로, 네트워크 망 내로 유입 또는 유출되는 트래픽의 양 및 속도를 조절하여 트래픽 폭주를 방지하는 트래픽 제어 관리 기술이다.For reference, the traffic shaping refers to a method of smoothly limiting / shaping a traffic flow, and is a traffic control management technique for preventing traffic congestion by adjusting the amount and speed of traffic flowing into or out of a network.

상기 OpenVPN Client Gateway 제어 시스템(130)은 도면에서와 같이 클라이언트 측의 OpenVPN Client Gateway(120)를 제어하는 것으로만 도시되어 있으나, 이에 한정하지 않고 서버 측의 OpenVPN Server Access Gateway(110) 측에도 구현될 수 있으며, 인바운드(inbound), 아웃바운드(outbound)의 패킷 전송에 모두 적용할 수 있다.Although the OpenVPN Client Gateway control system 130 is shown only as controlling the OpenVPN Client Gateway 120 on the client side as shown in the drawing, the OpenVPN Client Gateway control system 130 may be implemented on the server side OpenVPN Server Access Gateway 110 side And can be applied to both inbound and outbound packet transmission.

한편, 본 발명의 일 실시예에 따른 사물인터넷 지원 스마트 게이트웨이(100)는 원격지에서 안전하게 VPN을 이용하여 사무실의 네트워크에 동일한 네트워크처럼 가상화 접속하여 센서 네트워크 장비들에 양방향으로 접속이 가능하도록 한다.Meanwhile, the Internet-enabled smart gateway 100 according to an embodiment of the present invention can securely connect to the sensor network equipments in a bidirectional manner by using a VPN to securely connect to the network of the office as a virtual network.

이렇게 구현된 VPN 터널링은 도 3과 같이 원격지의 PC나 스마트 폰 화면을 통해서 사무실의 센서 네트워크 장치 등을 웹으로 접속하여 제어하고 모니터링할 수 있다. 카메라를 보며 센서 네트워크 장치들이 마치 바로 옆에 있는 것처럼 안전하게 제어가 가능하다. 참고로, 도 3은 원격 제어 모니터링의 일례를 도시한 도면이다.As shown in FIG. 3, the VPN tunneling thus implemented can be controlled and monitored by connecting the sensor network device of the office through the web through the PC or smart phone screen of the remote site. Looking at the camera, you can safely control the sensor network devices as if they were right next to you. 3 is a diagram showing an example of remote control monitoring.

도 2는 본 발명의 일 실시예에 따른 사물인터넷 지원 스마트 게이트웨이를 설명하기 위해 도시한 블록도이다.FIG. 2 is a block diagram illustrating an Internet gateway smart gateway according to an embodiment of the present invention. Referring to FIG.

도 2를 참조하면, 본 발명의 일 실시예에 따른 사물인터넷 지원 스마트 게이트웨이(100)는 다중 큐(210), 큐 제어부(220), 패킷 할당부(230), 및 모니터링부(240)를 포함할 수 있다.2, the Internet-enabled smart gateway 100 includes a plurality of queues 210, a queue control unit 220, a packet allocation unit 230, and a monitoring unit 240 can do.

상기 다중 큐(210)는 원격지의 네트워크를 가상 사설망(VPN)을 통해 연결하기 위한 VPN 터널링 구간에서 인바운드 또는 아웃바운드하는 패킷을 잠시 버퍼링하였다가 사전에 정의된 우선순위에 따라 출력할 수 있다. 다시 말해, 상기 다중 큐(210)는 패킷을 잠시 버퍼링하였다가 사전에 정의된 트래픽 제어 룰에 따라 패킷을 출력하는 저장소 역할을 한다.The multiple queues 210 may temporarily buffer inbound or outbound packets in a VPN tunneling interval for connecting a remote network through a virtual private network (VPN), and output the buffered packets according to a predetermined priority order. In other words, the multi-queue 210 serves as a buffer for temporarily buffering a packet and outputting a packet according to a predefined traffic control rule.

상기 다중 큐(210)는 실제 패킷을 저장하는 메모리 공간이 아니라, 패킷이 대기하고 있는 메모리의 위치를 알려주는 포인터 정보를 연속적으로 가지고 있는 것으로 볼 수 있다. 큐잉(queuing)은 이러한 다중 큐(310)를 이용하여 아웃바운드 또는 인바운드 인터페이스로 내보내기 위해 대기하고 있는 패킷들의 포인터 주소를 기 정의된 스케줄링에 따라 나열하는 작업을 말한다.The multiple queues 210 may not be a memory space for storing actual packets, but may have pointer information continuously indicating a location of a memory in which packets are waiting. Queuing refers to the operation of arranging the pointer addresses of the packets waiting to be transmitted to the outbound or inbound interface using the multiple queues 310 according to the predefined scheduling.

상기 다중 큐(210)는 ToS(Type of Service)와 우선순위에 따라 패킷을 출력하는 SFQ(Stochastic Fair Queuing) 로직을 갖는 큐, 및 대역폭의 조절을 통해 패킷의 유효 속도 또는 최대 속도를 제한하는 HTB(Hierarchical Token Bucket) 로직을 갖는 큐를 포함할 수 있다.The multi-queue 210 includes a queue having ToS (Type of Service) and a Stochastic Fair Queuing (SFQ) logic for outputting packets according to a priority, and a queue having an HTB Lt; RTI ID = 0.0 > (Hierarchical Token Bucket) < / RTI > logic.

상기 다중 큐(210)는 상기 SFQ 로직 또는 상기 HTB 로직을 기반으로 상기 VPN 터널링 구간에서 인바운드 또는 아웃바운드하는 패킷을 다중 큐잉(Multi-Queuing)할 수 있다.The multiple queues 210 may multi-queue packets that are inbound or outbound in the VPN tunneling interval based on the SFQ logic or the HTB logic.

상기 큐 제어부(220)는 상기 다중 큐(210)의 개수, 우선순위 및 대역폭 중 적어도 하나를 조절 또는 변경할 수 있다. 이를 위해, 상기 큐 제어부(220)는 상기 SFQ 로직 및/또는 상기 HTB 로직을 이용하여 상기 다중 큐(210)를 제어할 수 있다.The queue control unit 220 may adjust or change at least one of the number, priority, and bandwidth of the multiple queues 210. To this end, the queue controller 220 may control the multiple queues 210 using the SFQ logic and / or the HTB logic.

즉, 상기 큐 제어부(220)는 네트워크 상태 또는 시스템 자원의 점유율에 따라 상기 다중 큐(210)의 개수, 우선순위, 대역폭 등을 제어할 수 있다. 여기서, 상기 다중 큐(210)의 개수는 많을수록 패킷 전송률이 우수하고 패킷 드롭(drop)율이 낮은 장점이 있지만, 버퍼링의 딜레이가 커지고 이는 곧 시스템 부하가 높아지게 되는 단점도 있게 된다. 그러므로, 상기 큐 제어부(220)는 네트워크 상태 또는 시스템 자원의 점유율에 따라 최적의 다중 큐잉이 가능하도록 제어할 수 있다.That is, the queue control unit 220 may control the number, priority, bandwidth, and the like of the multiple queues 210 according to the network state or occupancy rate of system resources. Here, although the number of the multiple queues 210 increases, the packet transmission rate is excellent and the packet drop rate is low. However, the buffering delay increases and the system load increases. Therefore, the queue control unit 220 can control optimal multi-queuing according to the network state or the occupancy rate of system resources.

상기 큐 제어부(220)는 서비스 포트별, IP 주소별로 상기 다중 큐(210)를 개별 큐로 구분할 수 있으며, 상기 구분된 개별 큐의 우선순위 또는 대역폭을 조절할 수 있다. 여기서, 상기 서비스 포트는 ftp, htb, ssh, telnet, www, tcmp 프로토콜을 통해 접속되는 포트를 포함할 수 있다.The queue control unit 220 may divide the multiple queues 210 into individual queues according to service ports and IP addresses, and may adjust the priority or bandwidth of the individual queues. Here, the service port may include a port connected through the ftp, htb, ssh, telnet, www, tcmp protocols.

상기와 같은 큐 제어부(220)의 동작을 통해, 상기 다중 큐(210)에는 ToS, QoS에 따른 우선순위가 지정될 수 있지만, IP 주소별, 서비스 포트별로 배치시킨 각 큐에 대해서도 우선순위가 할당되고 각 큐의 대역폭도 네트워크 상태, 시스템 자원 점유율 등에 따라 설정 및 변경될 수 있다.Through the operation of the queue control unit 220, the priority according to the ToS and the QoS can be assigned to the multiple queues 210. However, it is also possible to assign priority to each queue arranged for each IP address and service port And the bandwidth of each queue can also be set and changed according to the network status, system resource occupancy, and the like.

상기 패킷 할당부(230)는 후술하는 모니터링부(240)에 의한 네트워크 상태의 분석 결과에 기초하여 상기 인바운드 또는 아웃바운드하는 패킷을 상기 다중 큐(210)에 적응적으로 할당할 수 있으며, 이를 통해 상기 VPN 터널링 구간의 트래픽을 제어할 수 있다.The packet allocating unit 230 may adaptively allocate the inbound or outbound packet to the multi-queue 210 based on the analysis result of the network state by the monitoring unit 240, which will be described later, The traffic of the VPN tunneling period can be controlled.

또한, 상기 패킷 할당부(230)는 상기 패킷을 서비스 포트별, IP 주소별 등 세부적으로 구분하여 할당할 수 있다. 즉, 상기 패킷 할당부(230)는 상기 패킷을 서비스 포트별, IP 주소별로 구분하고, 상기 구분된 패킷을 상기 네트워크 상태의 분석 결과에 기초하여 상기 다중 큐에 적응적으로 할당할 수 있다.In addition, the packet allocating unit 230 can allocate the packets by service port and IP address. That is, the packet assigning unit 230 may classify the packets according to service ports and IP addresses, and adaptively allocate the classified packets to the multiple queues based on the analysis result of the network state.

이때, 상기 VPN 터널링 구간에 걸리는 네트워크 상태는 모니터링부(340)를 통해 분석될 수 있으며, 상기 패킷 할당부(230)는 상기 모니터링부(240)를 통해 분석된 네트워크 상태에 따라 최적화된 트래픽 쉐이핑 알고리즘을 선택하고, 상기 선택된 트래픽 쉐이핑 알고리즘에 따라 패킷을 할당할 수 있다.In this case, the network status of the VPN tunneling period may be analyzed through the monitoring unit 340. The packet allocating unit 230 may be configured to perform an optimal traffic shaping algorithm And may allocate a packet according to the selected traffic shaping algorithm.

상기 패킷 할당부(230)는 상기 트래픽 쉐이핑 알고리즘의 선택을 패킷 할당이 필요할 때마다 수행할 수 있지만, 패킷 할당 시점과는 상관없이 상기 모니터링부(240)에서 상기 네트워크 상태를 분석하는 일정 주기마다 수행하고 주기 동안에는 상기 선택된 트래픽 쉐이핑 알고리즘으로 동작하도록 할 수 있다.The packet allocator 230 may perform the selection of the traffic shaping algorithm every time packet allocation is required, but may be performed at a predetermined period of time to analyze the network status in the monitoring unit 240 regardless of the packet allocation time And to operate with the selected traffic shaping algorithm during the period.

상기 트래픽 쉐이핑 알고리즘은 다중 큐잉에 따라 다양한 쉐이핑이 가능하다. 상기 트래픽 쉐이핑 알고리즘은 IDC(Internet Data Center)에서 사용하는 수준의 인바운드, 아웃바운드 트래픽 제어는 물론, 각 서비스 포트별, IP 주소별, IP 네트워크별, 또는 이더 패킷(ether packet) 수준의 트래픽 제어까지 구현할 수 있다. 또한, 상기 트래픽 쉐이핑 알고리즘은 패킷 큐잉을 통해서 TAP(Test Access Port) 장비에서 사용하는 패킷 인스펙션까지 구현할 수 있기 때문에 점점 지능화 되어가고 있는 해킹 공격에 대해서도 트래픽 제어가 가능하다.The traffic shaping algorithm can be variously shaped according to multiple queuing. The traffic shaping algorithm can be used to control inbound and outbound traffic levels used by IDCs (Internet Data Centers), traffic control for each service port, IP address, IP network, or ether packet level Can be implemented. Also, since the traffic shaping algorithm can implement packet inspection used in TAP (Test Access Port) equipment through packet queuing, it is possible to control the traffic against the increasingly intelligent hacking attacks.

상기 모니터링부(240)는 상기 VPN 터널링 구간에 걸리는 트래픽 부하 및 상기 다중 큐의 각 큐잉별 트래픽 부하를 포함하는 네트워크 상태를 모니터링하고 분석할 수 있다.The monitoring unit 240 can monitor and analyze a network state including a traffic load on the VPN tunneling interval and a traffic load on each queuing of the multiple queues.

이를 위해, 일 실시예로서, 상기 모니터링부(240)는 시스템 전체에 대한 CPU 사용 시간과 VPN 터널링 데몬의 사용 시간을 바탕으로 상기 VPN 터널링 데몬의 부하량을 계산하여 상기 VPN 터널링에 사용되는 CPU의 부하량을 계산하고, 상기 CPU의 부하량에 기초하여 상기 VPN 터널링 구간에 걸리는 트래픽 부하를 모니터링하고 분석할 수 있다.For this, the monitoring unit 240 calculates the load of the VPN tunneling daemon based on the CPU usage time of the entire system and the usage time of the VPN tunneling daemon, and calculates the load of the CPU used for the VPN tunneling And monitor and analyze the traffic load on the VPN tunneling period based on the load of the CPU.

이때, 상기 모니터링부(240)는 하기 수학식 1에 기초하여, 상기 시스템 전체에 대한 CPU 사용 시간과 상기 VPN 터널링 데몬의 사용 시간을 일정시간(1초~10초) 간격으로 계산하여 상기 VPN 터널링에 사용되는 CPU의 부하량을 계산할 수 있다.At this time, the monitoring unit 240 calculates the CPU usage time for the entire system and the usage time of the VPN tunneling daemon at intervals of a predetermined time (1 second to 10 seconds) based on Equation (1) It is possible to calculate the load of the CPU to be used.

[수학식 1][Equation 1]

Figure pat00003
Figure pat00003

여기서, utime은 유저 모드 지피스(user mode jiffies), utime_before 및 utime_after는 유저 모드 지피스가 발생하는 전/후 시간, user_util은 시스템 전체에 대한 CPU 사용 시간이고, stime은 커널 모드 지피스(kernel mode jiffies), stime_before 및 stime_after는 커널 모드 지피스가 발생하는 전/후 시간, sys_util은 커널 모드 사용 시간임.Where utime is the user mode jiffies, utime_before and utime_after are the time before and after the user mode is generated, user_util is the CPU usage time of the entire system, and stime is the kernel mode jiffies), stime_before, and stime_after are the time before and after the kernel mode delay occurs, and sys_util is the time of kernel mode usage.

이에 따라, 상기 패킷 할당부(230)는 상기 CPU의 부하량에 기초하여 해당 네트워크 상태에 맞는 트래픽 쉐이핑 알고리즘을 선택하고, 상기 선택된 트래픽 쉐이핑 알고리즘을 이용하여 상기 패킷을 상기 다중 큐에 할당하여 상기 VPN 터널링 구간의 트래픽을 제어할 수 있다.Accordingly, the packet allocator 230 selects a traffic shaping algorithm suitable for the network condition based on the load of the CPU, allocates the packet to the multiple queues using the selected traffic shaping algorithm, The traffic of the interval can be controlled.

다른 실시예로서, 상기 모니터링부(240)는 VPN 터널링 디바이스의 패킷 정보에 기초하여 전체 패킷 드롭(drop)율을 계산하고, 상기 전체 패킷 드롭율에 기초하여 상기 VPN 터널링 구간에 걸리는 트래픽 부하를 모니터링하고 분석할 수 있다.In another embodiment, the monitoring unit 240 calculates a total packet drop rate based on packet information of the VPN tunneling device, monitors a traffic load on the VPN tunneling period based on the total packet drop rate Can be analyzed.

이때, 상기 모니터링부(240)는 하기 수학식 2에 기초하여, 상기 VPN 터널링 디바이스의 패킷 정보를 일정시간(1초~10초) 간격으로 계산하여 상기 전체 패킷 드롭율을 계산할 수 있다.At this time, the monitoring unit 240 may calculate the total packet drop rate by calculating packet information of the VPN tunneling device at intervals of a predetermined time (1 second to 10 seconds) based on Equation (2).

[수학식 2]&Quot; (2) "

Figure pat00004
Figure pat00004

여기서, rx_drop은 상기 VPN 터널링 디바이스의 송신 측에서 드롭된 패킷 수, tx_drop은 상기 VPN 터널링 디바이스의 수신 측에서 드롭된 패킷 수, rx_pkt_tot는 상기 VPN 터널링 디바이스의 송신 측 패킷 수, tx_pkt_tot는 상기 VPN 터널링 디바이스의 수신 측 패킷 수임.Where rx_drop is the number of dropped packets on the transmitting side of the VPN tunneling device, tx_drop is the number of dropped packets on the receiving side of the VPN tunneling device, rx_pkt_tot is the number of transmitting packets on the VPN tunneling device, tx_pkt_tot is the number of dropped packets on the VPN tunneling device Lt; / RTI >

이에 따라, 상기 패킷 할당부(230)는 상기 전체 패킷 드롭율에 기초하여 해당 네트워크 상태에 맞는 트래픽 쉐이핑 알고리즘을 선택하고, 상기 선택된 트래픽 쉐이핑 알고리즘을 이용하여 상기 패킷을 상기 다중 큐에 할당하여 상기 VPN 터널링 구간의 트래픽을 제어할 수 있다.Accordingly, the packet allocating unit 230 selects a traffic shaping algorithm according to the network condition based on the total packet drop rate, allocates the packet to the multiple queues using the selected traffic shaping algorithm, The traffic of the interval can be controlled.

또 다른 실시예로서, 상기 모니터링부(240)는 상기 각 큐잉별 드롭(drop)율 및 상기 각 큐잉별로 할당된 밴드폭에 기초하여 상기 각 큐잉별 트래픽 부하량을 계산하고, 상기 각 큐잉별 트래픽 부하량에 기초하여 상기 VPN 터널링 구간에 걸리는 트래픽 부하를 모니터링하고 분석할 수 있다.In yet another embodiment, the monitoring unit 240 may calculate the traffic load for each queuing based on the drop rate for each queuing and the bandwidth allocated for each queuing, The traffic load on the VPN tunneling period can be monitored and analyzed.

이에 따라, 상기 패킷 할당부(230)는 상기 각 큐잉별 트래픽 부하량에 기초하여 다중 큐잉 중 부하가 상대적으로 적은 큐잉을 찾아서 밴드폭을 줄이고, 상대적으로 부하가 큰 다른 큐잉에 밴드폭을 더 할당하여 상기 VPN 터널링 구간의 트래픽을 제어할 수 있다.Accordingly, the packet allocating unit 230 finds queuing having a relatively small load during multiple queuing based on the traffic load for each queuing to reduce the bandwidth, and further allocates a bandwidth to another queuing having a relatively large load The traffic of the VPN tunneling period can be controlled.

즉, 상기 패킷 할당부(230)는 상기 모니터링부(240)를 통해 다중 큐잉에서 큐잉별로 패킷량, drop량이 계산되면, 그 계산 결과를 토대로 하여 트래픽 유발 큐잉을 찾아 해당 트래픽에 대하여 우선순위, 속도를 최적화할 수 있도록 제어할 수 있다.That is, when the packet amount and the drop amount are calculated for each queuing in the multi-queuing through the monitoring unit 240, the packet allocating unit 230 searches for the traffic induced queuing based on the calculation result, Can be controlled to be optimized.

앞서 수학식 1, 2를 통해 설명한 CPU 부하량과 패킷 drop율은 리눅스 커널에서 실시간 시스템 정보를 가지고 계산하는 것이다. 즉, 추가 부하 없이 네트워크 트래픽 부하를 계산해내는 것이다.The CPU load and the packet drop rate described above in Equations 1 and 2 are calculated by the Linux kernel with real-time system information. That is, it calculates the network traffic load without additional load.

여기서, 패킷 drop율은 전체 모든 종류의 패킷에 대한 drop을 보는 것이다. 이때 문제점은 네트워크 패킷이 과부하 상태라 drop 하기는 하는데 어떤 서비스 때문에 drop을 하는지 모르는데 있다.Here, the packet drop rate is a drop of all the packets of all kinds. The problem here is that the network packet is overloaded, but it is dropping due to some services.

이를 해결하고자 네트워크 트래픽을 세부적인 서비스별로 각각 다중 큐잉을 하여 각 큐잉별, 즉 서비스별로 패킷의 drop을 파악하여 어떤 서비스가 지정된 큐잉 폭보다 더 부하가 큰가를 파악하는 것이다. 즉, 큐잉별 패킷 drop을 계산하고 할당된 큐잉 밴드폭을 계산하면 각 서비스별로 세부적으로 부하량을 계산할 수 있다.To solve this problem, the network traffic is multi-queued for each detailed service, and the packet drop per each queuing, that is, the service is grasped to determine which service is larger than the designated queuing width. That is, by calculating the packet drop per queuing and calculating the allocated queuing bandwidth, the load can be calculated in detail for each service.

이러한 계산은 큐잉별 실시간에 가능하고 이를 바탕으로 여러 큐잉 중 부하가 적은 큐잉을 찾아서 밴드폭을 줄이고, 이렇게 줄인 만큼 부하가 큰 큐잉에 밴드폭을 더 할당해 줄 수 있도록 하는 방식이다.These calculations are possible in real time per queuing. Based on this, it is possible to find a queuing having a small load among a plurality of queuing to reduce the bandwidth, and to allocate more bandwidth to the queuing having a heavy load.

이 방법은 전체 패킷 drop율만 가지고 네트워크 부하를 측정하는 경우 추가로 부하가 걸리지 않는 것과 동일한 장점을 그대로 가지고 있고, 여기에 어떤 종류의 서비스 패킷이 원인인가까지 찾아낼 수 있는 방법이다.This method has the same advantage of not adding an additional load when measuring the network load with only a full packet drop rate, and it is a way to find out what kind of service packet is the cause.

따라서, 상기의 방법에 의하면 실시간에 다중 큐잉의 내부 트래픽을 세부적으로 계산하여 다중 큐잉 밴드폭을 효율적으로 실시간에 최적의 상태로 변화시켜 줄 수 있다.  즉, 미리 설계된 다중 큐잉 시나리오 없이 최적의 상태로 운영이 가능하다. 다시 말해, 미리 정해진 큐잉 알고리즘을 단순히 적용하여 발생하는 속도 제어 오류를 방지하고 실시간 해당되는 큐잉 및 관련 큐잉에 대해서 세부적으로 제어할 수 있다.Therefore, according to the above method, the multi-queuing internal traffic can be calculated in detail in real time, thereby efficiently changing the multi-queuing bandwidth to an optimal state in real time. That is, it can be operated in an optimal state without a pre-designed multi-queuing scenario. In other words, it is possible to prevent speed control errors caused by simply applying a predetermined queuing algorithm and to control in detail real-time queuing and related queuing.

도 4는 VPN 터널에 대한 다중 큐잉을 통한 트래픽 쉐이핑의 일례를 도시한 도면이다.4 is a diagram illustrating an example of traffic shaping through multiple queuing for a VPN tunnel.

ToS, QoS를 지원하는 대부분의 유무선 게이트웨이는 단일 큐잉에서 동작한다. ToS를 기준으로 QoS를 제어해 주기 때문에 어느 정도 성능 향상은 기대할 수 있지만, 동일 ToS의 서비스 종류가 여러 개 있을 경우에는 문제가 발생한다. 이를 해결할 수 있는 방법이 다중 큐잉 지원 커널이다.ToS, QoS, most wired and wireless gateways operate in single queuing. QoS can be controlled based on ToS, so performance improvement can be expected to some extent, but problems occur when there are multiple service types of the same ToS. A way to solve this is the multi-queuing support kernel.

다중 큐잉을 지원하기 위해서는 OS의 네트워크 커널에서 CBQ, SFQ 등을 지원하도록 커널 수정을 해야 하기 때문에 안정성 및 성능을 보장하기 위해서는 적절한 튜닝기술을 적용하는 것이 바람직하다.In order to support multi-queuing, the kernel kernel must be modified to support CBQ, SFQ, etc. in the network kernel of OS. Therefore, it is desirable to apply appropriate tuning technology to guarantee stability and performance.

본 발명의 일 실시예에서는 센서 제어 및 VPN 접속에 최적화된 다중 큐잉과 터널링을 지원하도록 커널을 수정하고, 프로그램을 구현할 수 있다. 또한, 서로 다른 특성의 SFQ, HTB 큐를 구성하고 각 큐에 서비스 포트별, IP 주소별로 할당하여 동작하도록 할 수 있다.In one embodiment of the present invention, the kernel can be modified to support multi-queuing and tunneling optimized for sensor control and VPN access, and a program can be implemented. In addition, SFQ and HTB queues having different characteristics can be configured, and each queue can be assigned to each service port and each IP address to operate.

특히, ToS, QoS에 따른 우선순위도 있지만 센서 제어 및 VPN 터널링에 우수한 성능을 발휘하도록 IP, 서비스 포트별로 원하는 대로 배치시킨 각 큐에 대해서도 우선순위를 할당할 수 있고, 각 큐의 대역폭도 원하는 대로 지정하도록 할 수 있다.Particularly, although there is a priority according to ToS and QoS, it is possible to assign priority to each queue arranged according to IP and service port so as to excel in sensor control and VPN tunneling. Can be specified.

구체적으로 도 4를 참조하면, 먼저 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 주소별로 정해진 우선순위에 따라 다중 큐잉을 수행한다.Specifically, referring to FIG. 4, first, an HTB qdisc is assigned to tap0 as a handle 1: name, and all default packets are transmitted as 1:20. Class 1: 20 sends packets through the SFQ qdisc 20: queue. Class 1: 1 classifies packets by service port and IP address. By classifying packets by service port (ssh, ftp, telnet) 192.168.2.118, 192.168.2.248, 192.168.2.200, 192.162.2.110, 192.168.2.112,113,119,120,121) to the queue matched with each class. Each class performs multiple queuing according to the priority set by service port and IP address.

여기서, ssh 접속된 서비스 포트와 특정 IP 주소(192.168.2.112,113,119,120,121)에 대해서만 가장 높은 우선순위로 다중 큐잉을 수행하고, ftp 접속에 대해서는 가장 하위 우선순위로 다중 큐잉하는 예를 보여주고 있다.Here, an example is shown in which multiple queuing is performed with the highest priority only for the ssh connected service port and specific IP addresses (192.168.2.112,113,119,120,121), and multi-queuing is performed with the lowest priority for the ftp connection.

이는 트래픽 쉐이핑의 일례를 도시한 것으로, 본 발명의 일 실시예에 따른 트래픽 쉐이핑에 의하면, 시시각각 변하는 네트워크 상황에 따라 원하는 동작을 하는 트래픽 쉐이핑 알고리즘을 각각 구현해 두고, 네트워크 상황에 따라 적절한 알고리즘을 선택하여 실행할 수 있다.According to traffic shaping according to an exemplary embodiment of the present invention, a traffic shaping algorithm that performs a desired operation according to a varying network situation is implemented, and an appropriate algorithm is selected according to a network situation Can be executed.

도 5는 본 발명의 일 실시예에 따른 트래픽 쉐이핑을 적용한 시스템과 기존 시스템 간 성능 분석 결과를 나타낸 비교표이다.FIG. 5 is a table showing performance analysis results between a system to which traffic shaping is applied and an existing system according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 본 연구결과는 동급 H/W장비에 비교해서는 전 분야 월등히 우수한 성능을 보여 주었고, 고가의 전용 VPN장비에 비교해도 지원방식, 호환성 그리고 특히 트래픽 쉐이핑 분야에서 우수한 성능을 보여주고 있다. 특히 다중큐잉 실시간 트래픽 쉐이핑 기술 적용으로 전용선이 아닌 일반 인터넷 회선상 에서도 우수한 성능을 기대할 수 있다.As shown in FIG. 5, the results of this study show that the performance of the present invention is superior to that of the H / W equipments of the related art in all fields, and the performance, compatibility, and excellent performance in traffic shaping . In particular, multi-queuing real-time traffic shaping technology can be applied to general Internet line instead of leased line.

본 연구의 성능은 2가지로 생각해볼 수 있다.The performance of this study can be considered in two ways.

첫째, 정량적인 성능 향상으로 커널 튜닝 및 VPN 터널링 알고리즘 최적화를 통해서 동급 H/W에 비교하여 3배 이상의 성능 향상을 측정할 수 있다.First, through quantitative performance enhancement, kernel tuning and VPN tunneling algorithm optimization can measure performance improvement over 3 times compared with H / W of same class.

둘째, 정성적인 성능 향상이다. 실시간 네트워크 상황에 따라 다중 큐잉에 적용되는 우선순위와 속도를 세분화된 큐잉별(서비스별)로 조절하여 전체적인 속도 총량은 동일하지만 우선순위에 따라 더 많이 할당하는 방식으로 하여 체감 속도를 높일 수 있는 속도 분배가 가능한데 있다.Second, it is a qualitative improvement. According to real-time network situation, the priority and speed applied to multi-queuing are adjusted to individual queuing (service-specific), so that the total speed is the same but the more the priority is allocated according to the priority, Distribution is possible.

특히, 본 발명의 일 실시예에 따른 사물인터넷을 지원하는 스마트 게이트웨이의 경우, 다른 서비스보다 사물인터넷 관련 패킷 큐잉에 대해 우선순위를 높임으로써 체감할 정도로 성능이 향상되는 구현 방법이다.Particularly, in the case of a smart gateway supporting the Internet of things according to an embodiment of the present invention, performance is improved so that the performance can be improved so that the priorities are increased for object Internet related packet queuing rather than other services.

이상에서 설명된 장치는 하드웨어 구성 요소, 소프트웨어 구성 요소, 및/또는 하드웨어 구성 요소 및 소프트웨어 구성 요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성 요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, controller, arithmetic logic unit (ALU), digital signal processor, microcomputer, field programmable array (FPA) A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing apparatus may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

도 6 내지 도 9는 본 발명의 일 실시예에 따른 사물인터넷을 지원하는 스마트 게이트웨이의 VPN 터널링 실시간 속도 제어 방법을 설명하기 위해 도시한 흐름도이다.6 to 9 are flowcharts for explaining a VPN tunneling real time speed control method of a smart gateway supporting object Internet according to an embodiment of the present invention.

여기서 설명하는 VPN 터널링 실시간 속도 제어 방법은 본 발명의 하나의 실시예에 불과하며, 그 이외에 필요에 따라 다양한 단계들이 부가될 수 있고, 하기의 단계들도 순서를 변경하여 실시될 수 있으므로, 본 발명이 하기에 설명하는 각 단계 및 그 순서에 한정되는 것은 아니다.The VPN tunneling real-time rate control method described herein is only one embodiment of the present invention. In addition, various steps may be added according to need, and the following steps may also be performed by changing the order. Is not limited to each step and the order described below.

먼저 도 6을 참조하면, 단계(610)에서 상기 스마트 게이트웨이는 VPN 터널링 구간에 걸리는 트래픽 부하, 및 다중 큐의 각 큐잉별 트래픽 부하를 포함하는 네트워크 상태를 모니터링하고 분석할 수 있다.Referring first to FIG. 6, in step 610, the smart gateway may monitor and analyze network conditions including traffic load on a VPN tunneling interval and traffic load for each queuing of multiple queues.

이를 위해, 상기 스마트 게이트웨이는 도 7에 도시된 바와 같이, 상기 각 큐잉별 드롭(drop)율 및 상기 각 큐잉별로 할당된 밴드폭을 계산하고(710), 상기 각 큐잉별 드롭(drop)율 및 상기 각 큐잉별로 할당된 밴드폭에 기초하여 상기 각 큐잉별 트래픽 부하량을 계산할 수 있다(720). 이어서, 상기 스마트 게이트웨이는 상기 각 큐잉별 트래픽 부하량에 기초하여 상기 VPN 터널링 구간에 걸리는 트래픽 부하를 모니터링하고 분석할 수 있다(730).7, the smart gateway calculates a drop rate for each of the queues and a bandwidth allocated for each queuing (710), and calculates a drop rate for each queuing and a drop rate for each queuing, The traffic load for each queuing may be calculated based on the bandwidth allocated for each queuing (720). Then, the smart gateway may monitor and analyze the traffic load on the VPN tunneling period based on the traffic load for each queuing (730).

다른 실시예로서, 상기 스마트 게이트웨이는 도 8에 도시된 바와 같이, 시스템 전체에 대한 CPU 사용 시간과 VPN 터널링 데몬의 사용 시간을 바탕으로 상기 VPN 터널링 데몬의 부하량을 계산하고(810), 상기 VPN 터널링 데몬의 부하량에 기초하여 상기 VPN 터널링에 사용되는 CPU의 부하량을 계산할 수 있다(820). 이어서, 상기 스마트 게이트웨이는 상기 CPU의 부하량에 기초하여 상기 VPN 터널링 구간에 걸리는 트래픽 부하를 모니터링하고 분석할 수 있다(830).8, the smart gateway calculates a load of the VPN tunneling daemon based on the CPU usage time of the entire system and the usage time of the VPN tunneling daemon (810), and the VPN tunneling A load of the CPU used in the VPN tunneling may be calculated based on the load of the daemon (820). Then, the smart gateway may monitor and analyze 830 the traffic load on the VPN tunneling period based on the load of the CPU.

또 다른 실시예로서, 상기 스마트 게이트웨이는 도 9에 도시된 바와 같이, VPN 터널링 디바이스의 패킷 정보에 기초하여 전체 패킷 드롭(drop)율을 계산하고(910), 상기 전체 패킷 드롭율에 기초하여 상기 VPN 터널링 구간에 걸리는 트래픽 부하를 모니터링하고 분석할 수 있다(920).In another embodiment, the smart gateway calculates (910) an overall packet drop rate based on packet information of a VPN tunneling device, as shown in FIG. 9, The traffic load on the tunneling interval can be monitored and analyzed (920).

다시 도 6을 참조하면, 단계(620)에서 상기 스마트 게이트웨이는 상기 네트워크 상태의 분석 결과에 기초하여 상기 인바운드 또는 아웃바운드하는 패킷을 상기 다중 큐에 적응적으로 할당하여 상기 VPN 터널링 구간의 트래픽을 제어할 수 있다.6, in step 620, the smart gateway adaptively allocates the inbound or outbound packets to the multiple queues based on the analysis result of the network status to control the traffic of the VPN tunneling interval can do.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CDROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CDROMs, DVDs, magneto-optical media such as floptical disks, Magneto-optical media, and hardware devices specifically configured to store and perform program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

110: OpenVPN Server Access Gateway
120: OpenVPN Client Gateway
130: OpenVPN Client Gateway 제어 시스템
210: 다중 큐
220: 큐 제어부
230: 패킷 할당부
240: 모니터링부
110: OpenVPN Server Access Gateway
120: OpenVPN Client Gateway
130: OpenVPN Client Gateway Control System
210: Multiple queues
220:
230:
240:

Claims (18)

원격지의 네트워크를 가상 사설망(VPN)을 통해 연결하기 위한 VPN 터널링 구간에서 인바운드 또는 아웃바운드하는 패킷을 잠시 버퍼링하였다가 사전에 정의된 우선순위에 따라 출력하는 다중 큐;
상기 VPN 터널링 구간에 걸리는 트래픽 부하 및 상기 다중 큐의 각 큐잉별 트래픽 부하를 포함하는 네트워크 상태를 모니터링하고 분석하는 모니터링부; 및
상기 네트워크 상태의 분석 결과에 기초하여 상기 인바운드 또는 아웃바운드하는 패킷을 상기 다중 큐에 적응적으로 할당하여 상기 VPN 터널링 구간의 트래픽을 제어하는 패킷 할당부
를 포함하는 것을 특징으로 하는 사물인터넷 지원 스마트 게이트웨이.
A multi-queue for temporarily buffering inbound or outbound packets in a VPN tunneling interval for connecting a remote network through a virtual private network (VPN), and outputting the packet in accordance with a predefined priority;
A monitoring unit monitoring and analyzing a network state including a traffic load on the VPN tunneling interval and a traffic load on each queuing of the multiple queues; And
And a packet allocation unit for adaptively allocating the inbound or outbound packet to the multiple queues based on the analysis result of the network state to control traffic of the VPN tunneling period,
Wherein the smart gateway is a smart gateway.
제1항에 있어서,
상기 모니터링부는
상기 각 큐잉별 드롭(drop)율 및 상기 각 큐잉별로 할당된 밴드폭에 기초하여 상기 각 큐잉별 트래픽 부하량을 계산하고, 상기 각 큐잉별 트래픽 부하량에 기초하여 상기 VPN 터널링 구간에 걸리는 트래픽 부하를 모니터링하고 분석하는 것을 특징으로 하는 사물인터넷 지원 스마트 게이트웨이.
The method according to claim 1,
The monitoring unit
Calculating a traffic load for each queuing based on a drop rate for each queuing and a bandwidth allocated for each queuing, and monitoring a traffic load on the VPN tunneling period based on the traffic load for each queuing And analyzing the Internet gateways.
제2항에 있어서,
상기 패킷 할당부는
상기 각 큐잉별 트래픽 부하량에 기초하여 다중 큐잉 중 부하가 상대적으로 적은 큐잉을 찾아서 밴드폭을 줄이고, 상대적으로 부하가 큰 다른 큐잉에 밴드폭을 더 할당하여 상기 VPN 터널링 구간의 트래픽을 제어하는 것을 특징으로 하는 사물인터넷 지원 스마트 게이트웨이.
3. The method of claim 2,
The packet assigning unit
The traffic of the VPN tunneling period is controlled by allocating a bandwidth to another queuing having a relatively large load by finding a queuing having a relatively small load during multiple queuing based on the traffic load for each queuing, Things to do with Internet-enabled smart gateways.
제3항에 있어서,
상기 모니터링부는
시스템 전체에 대한 CPU 사용 시간과 VPN 터널링 데몬의 사용 시간을 바탕으로 상기 VPN 터널링 데몬의 부하량을 계산하여 상기 VPN 터널링에 사용되는 CPU의 부하량을 계산하고, 상기 CPU의 부하량에 기초하여 상기 VPN 터널링 구간에 걸리는 트래픽 부하를 모니터링하고 분석하는 것을 특징으로 하는 사물인터넷 지원 스마트 게이트웨이.
The method of claim 3,
The monitoring unit
Calculating a load of the VPN tunneling daemon based on the CPU usage time of the entire system and the usage time of the VPN tunneling daemon to calculate a load of the CPU used in the VPN tunneling, Monitoring and analyzing traffic load on the Internet.
제4항에 있어서,
상기 모니터링부는
하기 수학식 1에 기초하여, 상기 시스템 전체에 대한 CPU 사용 시간과 상기 VPN 터널링 데몬의 사용 시간을 일정시간 간격으로 계산하여 상기 VPN 터널링에 사용되는 CPU의 부하량을 계산하는 것을 특징으로 하는 사물인터넷 지원 스마트 게이트웨이.

[수학식 1]
Figure pat00005

여기서, utime은 유저 모드 지피스(user mode jiffies), utime_before 및 utime_after는 유저 모드 지피스가 발생하는 전/후 시간, user_util은 시스템 전체에 대한 CPU 사용 시간이고, stime은 커널 모드 지피스(kernel mode jiffies), stime_before 및 stime_after는 커널 모드 지피스가 발생하는 전/후 시간, sys_util은 커널 모드 사용 시간임.
5. The method of claim 4,
The monitoring unit
Wherein the CPU usage time of the entire system and the usage time of the VPN tunneling daemon are calculated at predetermined time intervals based on Equation (1), and the load of the CPU used in the VPN tunneling is calculated Smart gateway.

[Equation 1]
Figure pat00005

Where utime is the user mode jiffies, utime_before and utime_after are the time before and after the user mode is generated, user_util is the CPU usage time of the entire system, and stime is the kernel mode jiffies), stime_before, and stime_after are the time before and after the kernel mode delay occurs, and sys_util is the time of kernel mode usage.
제4항에 있어서,
상기 패킷 할당부는
상기 CPU의 부하량에 기초하여 해당 네트워크 상태에 맞는 트래픽 쉐이핑 알고리즘을 선택하고, 상기 선택된 트래픽 쉐이핑 알고리즘을 이용하여 상기 패킷을 상기 다중 큐에 할당하여 상기 VPN 터널링 구간의 트래픽을 제어하는 것을 특징으로 하는 사물인터넷 지원 스마트 게이트웨이.
5. The method of claim 4,
The packet assigning unit
Selecting a traffic shaping algorithm that matches the network condition based on the load of the CPU and allocating the packet to the multiple queues using the selected traffic shaping algorithm to control traffic of the VPN tunneling interval Internet-enabled smart gateway.
제3항 또는 제6항에 있어서,
상기 모니터링부는
VPN 터널링 디바이스의 패킷 정보에 기초하여 전체 패킷 드롭(drop)율을 계산하고, 상기 전체 패킷 드롭율에 기초하여 상기 VPN 터널링 구간에 걸리는 트래픽 부하를 모니터링하고 분석하는 것을 특징으로 하는 사물인터넷 지원 스마트 게이트웨이.
The method according to claim 3 or 6,
The monitoring unit
Computing a total packet drop rate based on packet information of the VPN tunneling device and monitoring and analyzing a traffic load on the VPN tunneling interval based on the total packet drop rate.
제7항에 있어서,
상기 모니터링부는
하기 수학식 2에 기초하여, 상기 VPN 터널링 디바이스의 패킷 정보를 일정시간 간격으로 계산하여 상기 전체 패킷 드롭율을 계산하는 것을 특징으로 하는 사물인터넷 지원 스마트 게이트웨이.
[수학식 2]
Figure pat00006

여기서, rx_drop은 상기 VPN 터널링 디바이스의 송신 측에서 드롭된 패킷 수, tx_drop은 상기 VPN 터널링 디바이스의 수신 측에서 드롭된 패킷 수, rx_pkt_tot는 상기 VPN 터널링 디바이스의 송신 측 패킷 수, tx_pkt_tot는 상기 VPN 터널링 디바이스의 수신 측 패킷 수임.
8. The method of claim 7,
The monitoring unit
Wherein the total packet drop rate is calculated by calculating packet information of the VPN tunneling device at predetermined time intervals based on the following equation (2).
&Quot; (2) "
Figure pat00006

Where rx_drop is the number of dropped packets on the transmitting side of the VPN tunneling device, tx_drop is the number of dropped packets on the receiving side of the VPN tunneling device, rx_pkt_tot is the number of transmitting packets on the VPN tunneling device, tx_pkt_tot is the number of packets dropped on the VPN tunneling device Lt; / RTI >
제7항에 있어서,
상기 패킷 할당부는
상기 전체 패킷 드롭율에 기초하여 해당 네트워크 상태에 맞는 트래픽 쉐이핑 알고리즘을 선택하고, 상기 선택된 트래픽 쉐이핑 알고리즘을 이용하여 상기 패킷을 상기 다중 큐에 할당하여 상기 VPN 터널링 구간의 트래픽을 제어하는 것을 특징으로 하는 사물인터넷 지원 스마트 게이트웨이.
8. The method of claim 7,
The packet assigning unit
Selects a traffic shaping algorithm that matches the state of the network based on the total packet drop rate and allocates the packet to the multiple queues using the selected traffic shaping algorithm to control the traffic of the VPN tunneling period Internet-enabled smart gateway.
제1항에 있어서,
상기 패킷 할당부는
상기 패킷을 서비스 포트별, IP 주소별로 구분하고, 상기 구분된 패킷을 상기 네트워크 상태의 분석 결과에 기초하여 상기 다중 큐에 적응적으로 할당하는 것을 특징으로 하는 사물인터넷 지원 스마트 게이트웨이.
The method according to claim 1,
The packet assigning unit
Wherein the packet is divided according to service ports and IP addresses, and the divided packets are adaptively allocated to the multiple queues based on an analysis result of the network state.
제1항에 있어서,
상기 다중 큐의 개수, 우선순위 및 대역폭 중 적어도 하나를 조절 또는 변경하는 큐 제어부
를 더 포함하는 것을 특징으로 하는 사물인터넷 기반 스마트 게이트웨이.
The method according to claim 1,
A queue controller for adjusting or changing at least one of the number, priority,
Further comprising: an Internet-based smart gateway.
제1항에 있어서,
상기 다중 큐는
ToS(Type of Service)와 우선순위에 따라 패킷을 출력하는 SFQ(Stochastic Fair Queuing) 로직을 갖는 큐; 및
대역폭의 조절을 통해 패킷의 유효 속도 또는 최대 속도를 제한하는 HTB(Hierarchical Token Bucket) 로직을 갖는 큐
를 포함하는 것을 특징으로 하는 사물인터넷 기반 스마트 게이트웨이.
The method according to claim 1,
The multi-
A queue having ToS (Type of Service) and Stochastic Fair Queuing (SFQ) logic for outputting packets according to priority; And
A queue with Hierarchical Token Bucket (HTB) logic that limits the effective or maximum rate of packets through bandwidth throttling
Wherein the smart gateway comprises:
제12항에 있어서,
상기 다중 큐는
상기 SFQ 로직 또는 상기 HTB 로직을 기반으로 상기 패킷을 다중 큐잉하는 것을 특징으로 하는 사물인터넷 기반 스마트 게이트웨이.
13. The method of claim 12,
The multi-
Wherein the packet is multi-queued based on the SFQ logic or the HTB logic.
원격지의 네트워크를 가상 사설망(VPN)을 통해 연결하기 위한 VPN 터널링 구간에 걸리는 트래픽 부하, 및 상기 VPN 터널링 구간에서 인바운드 또는 아웃바운드하는 패킷을 잠시 버퍼링하였다가 사전에 정의된 우선순위에 따라 출력하는 다중 큐의 각 큐잉별 트래픽 부하를 포함하는 네트워크 상태를 모니터링하고 분석하는 단계; 및
상기 네트워크 상태의 분석 결과에 기초하여 상기 인바운드 또는 아웃바운드하는 패킷을 상기 다중 큐에 적응적으로 할당하여 상기 VPN 터널링 구간의 트래픽을 제어하는 단계
를 포함하는 것을 특징으로 하는 사물인터넷 지원 스마트 게이트웨이의 VPN 터널링 실시간 속도 제어 방법.
A traffic load on a VPN tunneling interval for connecting a remote network through a virtual private network (VPN), and a buffer for temporarily buffering inbound or outbound packets in the VPN tunneling interval and outputting the packets according to a predefined priority Monitoring and analyzing network conditions including traffic loads for each queue of queues; And
Controlling the traffic of the VPN tunneling period by adaptively allocating the inbound or outbound packet to the multiple queues based on the analysis result of the network state
Wherein the VPN tunneling real time speed control method of the Internet gateway supporting smart gateway.
제14항에 있어서,
상기 네트워크 상태를 모니터링하고 분석하는 단계는
상기 각 큐잉별 드롭(drop)율 및 상기 각 큐잉별로 할당된 밴드폭에 기초하여 상기 각 큐잉별 트래픽 부하량을 계산하는 단계; 및
상기 각 큐잉별 트래픽 부하량에 기초하여 상기 VPN 터널링 구간에 걸리는 트래픽 부하를 모니터링하고 분석하는 단계
를 포함하는 것을 특징으로 하는 사물인터넷 지원 스마트 게이트웨이의 VPN 터널링 실시간 속도 제어 방법.
15. The method of claim 14,
The step of monitoring and analyzing the network condition
Calculating a traffic load for each queuing based on a drop rate for each queuing and a bandwidth allocated for each queuing; And
Monitoring and analyzing a traffic load on the VPN tunneling period based on the traffic load for each queuing step
Wherein the VPN tunneling real time speed control method of the Internet gateway supporting smart gateway.
제15항에 있어서,
상기 VPN 터널링 구간의 트래픽을 제어하는 단계는
상기 각 큐잉별 트래픽 부하량에 기초하여 다중 큐잉 중 부하가 상대적으로 적은 큐잉을 찾아서 밴드폭을 줄이는 단계; 및
상대적으로 부하가 큰 다른 큐잉에 밴드폭을 더 할당하여 상기 VPN 터널링 구간의 트래픽을 제어하는 단계
를 포함하는 것을 특징으로 하는 사물인터넷 지원 스마트 게이트웨이의 VPN 터널링 실시간 속도 제어 방법.
16. The method of claim 15,
The step of controlling traffic in the VPN tunneling interval
Determining a queuing having a relatively small load during the multiple queuing based on the traffic load for each queuing to reduce the bandwidth; And
Allocating a bandwidth to another queuing having a relatively large load to control traffic of the VPN tunneling period
Wherein the VPN tunneling real time speed control method of the Internet gateway supporting smart gateway.
제16항에 있어서,
상기 네트워크 상태를 모니터링하고 분석하는 단계는
시스템 전체에 대한 CPU 사용 시간과 VPN 터널링 데몬의 사용 시간을 바탕으로 상기 VPN 터널링 데몬의 부하량을 계산하여 상기 VPN 터널링에 사용되는 CPU의 부하량을 계산하는 단계; 및
상기 CPU의 부하량에 기초하여 상기 VPN 터널링 구간에 걸리는 트래픽 부하를 모니터링하고 분석하는 단계
를 포함하는 것을 특징으로 하는 사물인터넷 지원 스마트 게이트웨이의 VPN 터널링 실시간 속도 제어 방법.
17. The method of claim 16,
The step of monitoring and analyzing the network condition
Calculating a load of the VPN tunneling daemon by calculating a load of the VPN tunneling daemon based on a CPU usage time of the entire system and a usage time of the VPN tunneling daemon; And
Monitoring and analyzing a traffic load on the VPN tunneling period based on the load of the CPU
Wherein the VPN tunneling real time speed control method of the Internet gateway supporting smart gateway.
제16항에 있어서,
상기 네트워크 상태를 모니터링하고 분석하는 단계는
VPN 터널링 디바이스의 패킷 정보에 기초하여 전체 패킷 드롭(drop)율을 계산하는 단계; 및
상기 전체 패킷 드롭율에 기초하여 상기 VPN 터널링 구간에 걸리는 트래픽 부하를 모니터링하고 분석하는 단계
를 포함하는 것을 특징으로 하는 사물인터넷 지원 스마트 게이트웨이의 VPN 터널링 실시간 속도 제어 방법.
17. The method of claim 16,
The step of monitoring and analyzing the network condition
Calculating an overall packet drop rate based on packet information of the VPN tunneling device; And
Monitoring and analyzing a traffic load on the VPN tunneling interval based on the total packet drop rate
Wherein the VPN tunneling real time speed control method of the Internet gateway supporting smart gateway.
KR1020170065312A 2017-05-26 2017-05-26 Smart gateway supporting iot and realtime traffic shaping method for the same KR102033402B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170065312A KR102033402B1 (en) 2017-05-26 2017-05-26 Smart gateway supporting iot and realtime traffic shaping method for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170065312A KR102033402B1 (en) 2017-05-26 2017-05-26 Smart gateway supporting iot and realtime traffic shaping method for the same

Publications (2)

Publication Number Publication Date
KR20180129376A true KR20180129376A (en) 2018-12-05
KR102033402B1 KR102033402B1 (en) 2019-11-08

Family

ID=64744232

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170065312A KR102033402B1 (en) 2017-05-26 2017-05-26 Smart gateway supporting iot and realtime traffic shaping method for the same

Country Status (1)

Country Link
KR (1) KR102033402B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101998064B1 (en) 2019-01-21 2019-10-01 (주)그립 Device for autonomously controlling iot devices in an emergency and method thereof
KR20200090599A (en) 2019-07-03 2020-07-29 (주)그립 Device for autonomously controlling iot devices in an emergency and method thereof
KR102162991B1 (en) * 2019-05-17 2020-10-07 배재대학교 산학협력단 Integrated security router for idc and integrated secutiry service based on traffic shaping and ips fusion implementation

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11329924B2 (en) * 2020-06-03 2022-05-10 Cisco Technology, Inc. Systems and methods for adapting a WAN egress shaper rate

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150143505A1 (en) * 2002-01-28 2015-05-21 Hughes Network Systems, Llc Method and system for communicating over a segmented virtual private network (vpn)
KR101686850B1 (en) * 2015-06-09 2016-12-15 배재대학교 산학협력단 Wired/wireless gateway system supporting lan-to-lan vpn
US20170111250A1 (en) * 2015-04-24 2017-04-20 Pismo Labs Technology Limited Methods and systems for reducing network congestion

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150143505A1 (en) * 2002-01-28 2015-05-21 Hughes Network Systems, Llc Method and system for communicating over a segmented virtual private network (vpn)
US20170111250A1 (en) * 2015-04-24 2017-04-20 Pismo Labs Technology Limited Methods and systems for reducing network congestion
KR101686850B1 (en) * 2015-06-09 2016-12-15 배재대학교 산학협력단 Wired/wireless gateway system supporting lan-to-lan vpn

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
‘다중큐잉 실시간 트래픽쉐이핑을 이용한 네트워크간 VPN 지원 유무선공유기 시스템’, 한국정보통신학회논문지, Vol.19, No.5, pp1097-1103, 2015.05.* *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101998064B1 (en) 2019-01-21 2019-10-01 (주)그립 Device for autonomously controlling iot devices in an emergency and method thereof
KR102162991B1 (en) * 2019-05-17 2020-10-07 배재대학교 산학협력단 Integrated security router for idc and integrated secutiry service based on traffic shaping and ips fusion implementation
KR20200090599A (en) 2019-07-03 2020-07-29 (주)그립 Device for autonomously controlling iot devices in an emergency and method thereof

Also Published As

Publication number Publication date
KR102033402B1 (en) 2019-11-08

Similar Documents

Publication Publication Date Title
US9917781B2 (en) Methods for intelligent data traffic steering
US9819608B2 (en) Method and system for resource coherency and analysis in a network
US9866487B2 (en) Adaptive load balancer and methods for intelligent data traffic steering
US8681614B1 (en) Quality of service for inbound network traffic flows
JP2020502948A (en) Packet transmission system and method
US8861359B2 (en) Network system, control method thereof and controller
US10536533B2 (en) Optimization of packetized data transmission in TCP-based networks
JP5659125B2 (en) Relay device and relay method
US20050232153A1 (en) Method and system for application-aware network quality of service
US10721744B2 (en) Resource reallocation
US10892994B2 (en) Quality of service in virtual service networks
KR102033402B1 (en) Smart gateway supporting iot and realtime traffic shaping method for the same
KR102053596B1 (en) Method and apparatus of network slicing by using dynamic network traffic analysis based on software defined networking
WO2016133965A1 (en) Methods for intelligent data traffic steering
KR101806259B1 (en) SYSTEM AND METHOD FOR REAL-TIME TRAFFIC SHAPING BY MULTI-QUEUING FOR QoS OF VIRTUAL PRIVATE NETWORK TUNNELING
Nkosi et al. Multi-path load balancing for SDN data plane
Chaturvedi et al. An adaptive and efficient packet scheduler for multipath TCP
US7869366B1 (en) Application-aware rate control
Caraguay et al. Framework for optimized multimedia routing over software defined networks
JP6461834B2 (en) Network load balancing apparatus and method
US20050243814A1 (en) Method and system for an overlay management system
JP6829156B2 (en) Network load balancer and method
KR100714099B1 (en) Method of performing flow-aware flow control, terminal equipment and network device
JP5511709B2 (en) QoS control system, QoS control management apparatus, and QoS control method
US8804521B1 (en) Quality of service for inbound network traffic flows during slow-start phases

Legal Events

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