KR20210075440A - 네트워크 터널 상태 결정 방법 및 이를 이용한 장치 - Google Patents

네트워크 터널 상태 결정 방법 및 이를 이용한 장치 Download PDF

Info

Publication number
KR20210075440A
KR20210075440A KR1020190166511A KR20190166511A KR20210075440A KR 20210075440 A KR20210075440 A KR 20210075440A KR 1020190166511 A KR1020190166511 A KR 1020190166511A KR 20190166511 A KR20190166511 A KR 20190166511A KR 20210075440 A KR20210075440 A KR 20210075440A
Authority
KR
South Korea
Prior art keywords
gateway
data
tunnel
state
determining
Prior art date
Application number
KR1020190166511A
Other languages
English (en)
Other versions
KR102270142B1 (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 KR1020190166511A priority Critical patent/KR102270142B1/ko
Publication of KR20210075440A publication Critical patent/KR20210075440A/ko
Application granted granted Critical
Publication of KR102270142B1 publication Critical patent/KR102270142B1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability

Landscapes

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

Abstract

본 개시서는 외부 장치와 연결되는 제1 게이트웨이에 의해 수행되는, 상기 제1 게이트웨이와 서버와 연결되는 제2 게이트 웨이 사이에 형성되는 네트워크 터널(Network tunnel) 상태 결정 방법에 관한 것이다.
본 개시서에 따른 네트워크 터널 상태 결정 방법은 소정의 식별 정보를 포함하는 제1 데이터를 생성하는 단계, 상기 터널을 통해 상기 제2 게이트웨이로, 상기 제1 데이터를 전송하는 단계, 및 상기 제2 게이트웨이로부터 상기 터널을 통해 상기 소정의 식별 정보를 포함하는 제2 데이터를 수신하는 경우, 상기 제2 데이터에 기초하여 상기 터널의 상태를 결정하는 단계를 포함할 수 있다.

Description

네트워크 터널 상태 결정 방법 및 이를 이용한 장치{METHOD FOR DETERMINING NETWORK TUNNEL STATUS AND APPARATUS USING THE SAME}
본 개시서는 네트워크 터널 상태 결정 방법 및 이를 이용한 장치에 관한 것이다.
터널링이란, 데이터 스트림을 인터넷 상의 가상 채널(네트워크 터널)을 통해 전달하는 기술로, 데이터 패킷 내에 터널링할 대상을 캡슐화하여 목직지까지 전송하는 것을 말한다. 터널링은 PPTP(Point-to-point Tunneling protocol)와 같은 Layer 2의 터널링 방식, IPSec(Internet protocol security), GRE(Generic routing encapsulation)와 같은 Layer 3 터널링 방식 등 다양한 방식이 존재할 수 있다.
터널을 통해 데이터를 송수신하는 과정에서, 안정적인 통신을 위하여 네트워크 터널의 유효성을 검증하는 동작이 요구될 수 있다. 특히, IoT 환경과 같이 종단 단말이 기하급수적으로 증가하여, 검증 대상 네트워크 터널의 개수가 증가하는 환경에서, 효과적인 터널의 유효성 검증 방법이 요구될 수 있다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 실시예에 따른 외부 장치와 연결되는 제1 게이트웨이에 의해 수행되는, 상기 제1 게이트웨이와 서버와 연결되는 제2 게이트 웨이 사이에 형성되는 네트워크 터널(Network tunnel) 상태 결정 방법은 소정의 식별 정보를 포함하는 제1 데이터를 생성하는 단계; 상기 터널을 통해 상기 제2 게이트웨이로, 상기 제1 데이터를 전송하는 단계; 및 상기 제2 게이트웨이로부터 상기 터널을 통해 상기 소정의 식별 정보를 포함하는 제2 데이터를 수신하는 경우, 상기 제2 데이터에 기초하여 상기 터널의 상태를 결정하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 터널의 상태를 결정하는 단계는 상기 제2 데이터에 포함된 출발지 정보를 도착지 정보로 결정하고, 상기 제2 데이터에 포함된 도착지 정보를 출발지 정보로 결정함으로써, 상기 제2 데이터에 대응하는 제3 데이터를 생성하는 단계; 및 상기 제3 데이터에 기초하여 상기 터널의 상태를 결정하는 단계를 포함할 수 있다.
일 실시예에 따르면, 네트워크 터널 상태 결정 방법은 소정의 시간 동안 상기 터널을 통해 상기 소정의 식별 정보를 포함하는 제2 데이터를 수신하지 못하는 경우, 상기 터널의 상태가 유효하지 않는 것으로 결정하는 단계를 더 포함할 수 있다.
일 실시예에 따르면 상기 제2 데이터는 상기 제2 게이트웨이의 커널 단에서 수행되는 하드웨어 설정에 기초하여 추가적인 가공 없이 상기 제1 게이트웨이로 전송되는 상기 제1 데이터에 대응될 수 있다.
일 실시예에 따른 서버와 연결되는 제2 게이트웨이에 의해 수행되는, 외부 장치와 연결되는 제1 게이트웨이와 상기 제2 게이트웨이 사이에 형성된 네트워크 터널의 상태를 확인하는 네트워크 터널 상태 결정 방법은 상기 제1 게이트웨이로부터 데이터를 수신하는 단계; 상기 수신한 데이터에 미리 결정된 소정의 식별 정보가 존재하는 지 여부를 결정하는 단계; 및 상기 식별 정보가 존재하는 것으로 결정된 경우, 상기 수신한 데이터를 상기 제1 게이트웨이로 전송하는 단계를 포함할 수 있다.
일 실시예에 따른 서버와 연결되는 다른 컴퓨팅 장치에 대해 미리 형성된 네트워크 터널의 상태를 결정하는 컴퓨팅 장치는 상기 다른 컴퓨팅 장치에 데이터를 전송하는 통신 인터페이스; 상기 터널의 상태를 확인하기 위해 소정의 식별 정보를 포함하는 제1 데이터를 생성하는 프로세서를 포함하고, 상기 프로세서는 상기 통신 인터페이스를 통해 상기 제1 데이터를 상기 터널을 통해 상기 다른 컴퓨팅 장치에 전송하고, 상기 다른 컴퓨팅 장치를 통해 상기 소정의 식별 정보를 포함하는 제2 데이터를 수신하는 경우, 상기 제2 데이터에 기초하여 상기 터널의 상태를 결정할 수 있다.
본 발명의 실시 예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시 예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야의 통상의 기술자에게 있어서는 별개의 발명에 이르는 노력 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 개시서에 따른 터널 상태 결정 방법이 적용되는 시스템의 일례를 도시하는 도면이다.
도 2a는 본 개시서에 따른 포인트 게이트웨이의 예시적인 구성을 개략적으로 도시한 개념도이다.
도 2b는 본 개시서에 따른 서비스 게이트웨이의 예시적인 구성을 개략적으로 도시한 개념도이다.
도 3은 일 실시예에 따른 제1 게이트웨이에 의해 수행되는 네트워크 터널 상태 결정 방법을 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 제2 게이트웨이에 의해 수행되는 네트워크 터널 상태 결정 방법을 설명하기 위한 흐름도이다.
도 5는 일 실시예에 따른 네트워크 터널 상태 확인 방법을 설명하기 위한 흐름도이다.
도 6은 일 실시예에 따른 네트워크 터널 상태 결정 방법에서 사용되는 데이터의 구조를 예시적으로 도시하는 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시 예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시 예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.
그리고 본 개시서의 상세한 설명 및 청구항들에 걸쳐, '포함하다'라는 단어 및 그 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 또한, '하나' 또는 '한'은 하나 이상의 의미로 쓰인 것이며, '또 다른'은 적어도 두 번째 이상으로 한정된다.
통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다. 따라서, 특정 구조나 기능에 관하여 본 개시서에 개시된 상세 사항들은 한정하는 의미로 해석되어서는 아니되고, 단지 통상의 기술자가 실질적으로 적합한 임의의 상세 구조들로써 본 발명을 다양하게 실시하도록 지침을 제공하는 대표적인 기초 자료로 해석되어야 할 것이다.
더욱이 본 발명은 본 개시서에 나타난 실시 예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예에 관련하여 본 발명의 사상 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 각각의 개시된 실시 예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 사상 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 개시서에서 달리 표시되거나 분명히 문맥에 모순되지 않는 한, 단수로 지칭된 항목은, 그 문맥에서 달리 요구되지 않는 한, 복수의 것을 아우른다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
이하, 통상의 기술자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시 예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 개시서에 따른 터널 상태 결정 방법이 적용되는 시스템의 일례를 도시하는 도면이다.
시스템(100)은 IoT(Internet On Thing) 단말(111-1, 111-2, 111-3), IoT 단말(111-1, 111-2, 111-3)과 네트워크 연결을 형성하는 포인트 게이트웨이(110-1, 110-2, ..., 110-N), 포인트 게이트웨이(110-1, 110-2, ..., 110-N)와 네트워크 터널(120-1, 120-2, ..., 120-N)을 형성하는 서비스 게이트웨이(130), IoT 단말(111-1, 111-2, 111-3)를 통해 획득한 데이터를 서비스 게이트웨이(130)를 통해 수집하는 서버(150) 및, 시스템(100)의 네트워크를 제어하는 컨트롤러(140)를 포함할 수 있다.
IoT 단말(111-1, 111-2, 111-3)은 센서를 통해 센싱 정보를 획득하고, 통신 인터페이스를 통해 외부 장치와 네트워크 연결이 가능한 임의의 장치를 의미할 수 있다. 제시된 도면 상에서 IoT 단말(111-1, 111-2, 111-3)은 CCTV, 보일러, TV로 예시되고 있으나, 이에 한정되지 않고, 앞서 언급한 기능을 수행하는 임의의 장치에 대응될 수 있다는 것은 통상의 기술자가 이해할 것이다.
포인트 게이트웨이(110-1)는 IoT 단말(111-1, 111-2, 111-3)과의 네트워크 연결을 통해 IoT 단말(111-1, 111-2, 111-3)로부터 데이터(예를 들어, 센싱 데이터)를 수신할 수 있다. 포인트 게이트웨이(110-1)는 서비스 게이트웨이(130)와 네트워크 터널(120-1)을 형성할 수 있고, 네트워크 터널(120-1)을 통해 IoT 단말(111-1, 111-2, 111-3)로부터 수신한 데이터를 서비스 게이트웨이(130)로 전송할 수 있다.
또한, 사용자는 사용자 단말을 통해 포인트 게이트웨이(110-1, 110-2, ..., 110-N) 및 서비스 게이트웨이(130)를 경유하여 서버(150)에 접속할 수 있고, 서버(150)로부터 IoT 단말(111-1, 111-2, 111-3)과 관련된 서비스를 제공받을 수 있다.
서비스 게이트웨이(130)는 각각의 포인트 게이트웨이(120-1, ..., 120-N)를 통해 획득한 데이터를 서버(150)에 전송할 수 있다.
서버(150)는 서비스 게이트웨이(130)를 통해 획득한 데이터를 데이터베이스에 저장할 수 있다. 또한 서버(150)는 IoT 단말(111-1, 111-2, 111-3)과 연동된 사용자 단말에 IoT 단말(111-1, 111-2, 111-3)과 관련된 서비스를 제공할 수 있다. 예를 들어, 서버(150)는 CCTV(111-1)을 통해 획득한 영상을 실시간으로 연동된 사용자 단말에 전송할 수 있다.
컨트롤러(140)는 IoT 단말(111-1, 111-2, 111-3), 포인트 게이트웨이(110-1, 110-2, 110-N), 서비스 게이트웨이(130) 및 서버(150) 사이에 형성되는 네트워크를 제어할 수 있다. 예를 들어, 포인트 게이트웨이(120-1)와 서비스 게이트웨이(130) 사이의 네트워크(120-1) 생성을 제어하거나, 네트워크 연결 과정에서 요구되는 다양한 인증 절차를 관할하는 등, 네트워크 제어와 관련한 임의의 동작을 수행할 수 있다..
일 실시예에 따르면, 시스템(100)은 포인트 게이트웨이(110-1, ..., 110-N)와 서비스 게이트웨이(130) 사이에 형성된 네트워크 터널(120-1, 120-2, ..., 120-N)을 통해 분리된 네트워크 망을 제공할 수 있다. 보다 구체적으로, 포인트 게이트웨이(110-1)에 전달되는 데이터는 네트워크 터널(120-1)을 통해 서비스 게이트웨이(130)에 전달되고, 포인트 게이트웨이(110-2)에 전송되는 데이터는 네트워크 터널(120-2)을 통해 서비스 게이트웨이(130)에 전송될 수 있다. 시스템(100)은 앞서 설명된 바와 같이 상호 분리된 네트워크 망에 기반하여 데이터를 전송하는 수단을 제공함으로써, 단일 네트워크에 기반하여 데이터를 전송하는 종래의 시스템에 비해 보다 높은 보안성을 제공할 수 있다. 보다 구체적으로, 포인트 게이트웨이(110-1)가 해킹에 노출되어, 대응되는 네트워크 터널(120-1)의 보안이 취약해지는 상황에서도, 나머지 네트워크 터널(120-2, ..., 120-N)에 기반하여 개별적으로 형성되는 네트워크 망은 해킹의 영향을 받지 않을 수 있다.
다른 실시예에서, 포인트 게이트웨이(110-1, 110-2, ..., 110-N)는 내장된 가상 라우터에 기초하여 각각의 단말 별, 서비스 별, 사용자 별 분리된 네트워크를 제공할 수 있다. 예를 들어, 포인트 게이트웨이(110-1)는 가상 라우터에 기초하여 각각의 IoT 단말(111-1, 111-2, 111-3)에 대응되는 네트워크 터널(도면에 도시되지 않았으나, 단일 네트워크 터널(120-1)의 형태가 아닌, 각각의 IoT 단말(111-1, 111-2, 111-3)에 대응되는 서로 다른 3 개의 네트워크 터널의 형태로 구성될 수 있음.)을 형성함으로써, 단말별, 서비스별, 사용자별로 분리된 네트워크 망을 구성할 수 있다.
일 실시예에 따르면, 네트워크 터널(120-1, 120-2, ..., 120-N) VPN 터널일 수 있다. 네트워크 터널(120-1, 120-2, ..., 120-N)은 가상 사설망에서 캡슐화된 데이터를 송수신할 수 있는 통신 경로를 의미할 수 있으며, 터널을 통해 송수신되는 데이터는 외부의 엑세스로부터 보호될 수 있다.
일 실시예에 따르면, 포인트 게이트웨이(110-1, 110-2, ..., 110-N) 및 서비스 게이트웨이(130)는 상호간의 안정적인 통신을 위하여, 포인트 게이트웨이(110-1, 110-2, ..., 110-N)는 네트워크 터널(120-1, 120-2, ..., 120-N) 상태를 확인할 수 있다. 예를 들어, 네트워크 터널(120-1)의 상태를 확인하기 위하여, 포인트 게이트웨이(110-1)는 네트워크 터널(120-1)을 통해 서비스 게이트웨이(130)에 소정의 식별 정보를 포함하는 데이터를 전송할 수 있다. 서비스 게이트웨이(130)는 수신한 데이터가 소정의 식별 정보를 포함하는 지 여부를 결정하고, 결정 결과에 기초하여 수신한 데이터를 네트워크 터널 상태 확인을 위한 데이터로 결정할 수 있다. 이 경우, 서비스 게이트웨이(130)는 수신한 데이터에 포함된 출발지 정보를 도착지 정보로 변경하고, 수신한 데이터에 포함된 도착지 정보를 출발지 정보로 변경함으로써, 포인트 게이트웨이(110-1)에 전송할 재전송 데이터를 생성하고, 재전송 데이터를 포인트 게이트웨이(110-1)에 전송할 수 있다.
포인트 게이트웨이(110-1)는 소정의 식별 정보에 기초하여 식별되는 재전송 데이터를 수신하는 경우, 네트워크 터널(120-1)의 상태가 유효한 것으로 결정할 수 있다. "네트워크 터널의 상태가 유효하다"는 것의 의미는, 네트워크 터널을 통해 데이터가 유실되지 않고 안정적으로 송수신될 수 있음을 의미한다. "네트워크 터널의 상태가 유효하지 않다"는 것의 의미는, 네트워크 터널을 통해 데이터가 유실되는 상황을 의미할 수 있다. 보다 구체적으로, 포인트 게이트웨이(110-1)가 전송한 데이터가 서비스 게이트웨이(130)에서 수신되지 않거나, 서비스 게이트웨이(130)가 전송한 재전송 데이터가 포인트 게이트웨이(110-1)에서 다시 수신되지 않는 상황을 의미할 수 있다.
포인트 게이트웨이(110-1)는 서비스 게이트웨이(130)에 전송한 데이터가 네트워크 터널(120-1)을 통해 안정적으로 송수신 되는 것에 대한 확인 결과에 기초하여, 네트워크 터널의 상태를 유효한 상태로 결정할 수 있다. 이러한 동작은 미리 설정된 소정의 주기로 진행되거나, 소정의 데이터를 전송하기 이전에 사전적으로 이루어질 수 있다. 이를 통해 시스템(100)은 데이터 유실을 방지할 수 있고, 사전적 확인을 통해 상태가 유효하지 않은 네트워크 터널을 통한 불필요한 데이터 전송을 사전에 방지함으로써 리소스 낭비를 방지할 수 있다.
앞서 설명한 방식에 따르면, 서비스 게이트웨이(130)는 재전송 데이터를 생성하기 위하여, 소정의 리소스(예를 들어, CPU 리소스)가 소모될 수 있다. 보다 구체적으로, 서비스 게이트웨이(130)가 소정의 식별 정보를 포함하는 데이터에 기초하여 재전송 데이터를 생성하는 재가공 과정은 서비스 게이트웨이(130)에 내장된 소프트웨어에 의해 수행될 수 있고, 이 과정에서, CPU 리소스가 소모될 수 있다. 단말의 종류가 방대하고, 이와 연관된 포인트 게이트웨이(110-1, 110-2, ..., 110-N)의 개수가 확장될 수 있는 다양한 시스템 상에서는 각각의 네트워크 터널(120-1, 120-2, ... , 120-N)의 상태를 확인하는 과정에서 서비스 게이트웨이(130)의 리소스가 급격히 증가할 수 있다.
본 발명의 시스템(100)은 서비스 게이트웨이(130)에서 설정된 루프백(loopback)을 통해 추가적인 가공 프로세스 없이, 네트워크 터널 상태 확인을 위한 데이터를 다시 포인트 게이트웨이(110-1)에 전송함으로써, 네트워크 터널 상태 확인 과정에서 서비스 게이트웨이(130)의 부하를 저감할 수 있는 수단을 제공할 수 있다. 단일 서비스 게이트웨이(130)에 대응되는 포인트 게이트웨이(110-1, 110-2, ..., 110-N)의 개수가 기하급수적으로 증가하는 IoT 시스템 환경에서, 본원 발명은 서비스 게이트웨이(130)의 부하를 효과적으로 저감할 수 있는 수단을 제공할 수 있다. 더불어, 앞서 설명한 바와 같이, 보다 높은 보안성을 위하여 네트워크 터널(120-1)이 단말별, 서비스별, 사용자별로 별도 형성되는 상황에서, 본원 발명은 서비스 게이트웨이(130) 부하 절감에 매우 효과적인 해결책을 제공할 수 있다.
도 2a는 본 개시서에 따른 포인트 게이트웨이의 예시적인 구성을 개략적으로 도시한 개념도이다.
포인트 게이트웨이(110)는 사용자 단말 또는 IoT 단말을 통해 획득한 데이터를 집선하기 위한 소정의 컴퓨팅 장치를 의미할 수 있다.
도 2a를 참조하면, 예시적인 실시예에 따른 포인트 게이트웨이(110)는 통신 인터페이스부(111), 프로세서(112) 및 메모리(113)를 포함할 수 있다.
통신 인터페이스부(111)는 프로세서(112)의 제어에 의해 동작할 수 있다. 통신 인터페이스부(111)는 프로세서(112)의 명령에 따라 유선 통신 방식 또는 무선 통신 방식으로 신호를 전송할 수 있다. 통신 인터페이스부(111)는 무선 통신 또는 유선 통신 방식으로 외부 장치, 예를 들어, IoT 단말(111-1, 111-2, 111-3)과 통신할 수 있다. 통신 인터페이스부(111)는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 TCP(transmission control protocol) 세션(session)에 의하여 이루어질 수 있지만, 이에 한정되지는 않는 바, 예컨대 UDP(user datagram protocol) 데이터그램(datagram)으로서 송수신될 수도 있을 것이다.
프로세서(112)는 메모리(113)에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(112)는 중앙 처리 장치(central processing unit; CPU)와 같이 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(113)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(113)는 읽기 전용 메모리(read only memory; ROM) 및/또는 랜덤 액세스 메모리(random access memory; RAM)로 구성될 수 있다. 또한, 프로세서(112)는 MPU(micro processing unit), CPU(central processing unit) 또는 TPU(tensor processing unit), 캐시 메모리(cache memory), 데이터 버스(data bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
도 2a를 참조하여 설명한 포인트 게이트웨이(110)의 구성은 예시적인 것에 불과할 뿐, 실시예가 이에 제한되는 것은 아니다. 예를 들어, 포인트 게이트웨이(110)는 도 2a에 도시된 구성 외에도 다른 구성을 더 포함할 수 있다. 예를 들어, 포인트 게이트웨이(110)는 입력 인터페이스부, 출력 인터페이스부 등을 더 포함할 수 있다.
도 2b는 본 개시서에 따른 서비스 게이트웨이의 예시적인 구성을 개략적으로 도시한 개념도이다.
서비스 게이트웨이(130)는 사용자 단말 또는 IoT 단말을 통해 획득한 데이터를 집선하기 위한 소정의 컴퓨팅 장치를 의미할 수 있다.
도 2b를 참조하면, 예시적인 실시예에 따른 서비스 게이트웨이(130)는 통신 인터페이스부(131), 루프백부(132), 프로세서(133) 및 메모리(134)를 포함할 수 있다.
통신 인터페이스부(131)는 프로세서(133)의 제어에 의해 동작할 수 있다. 통신 인터페이스부(131)는 프로세서(133)의 명령에 따라 유선 통신 방식 또는 무선 통신 방식으로 신호를 전송할 수 있다. 통신 인터페이스부(131)는 무선 통신 또는 유선 통신 방식으로 포인트 게이트웨이(110-1, 110-2,..., 110-N)와 통신할 수 있다. 통신 인터페이스부(131)는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 TCP(transmission control protocol) 세션(session)에 의하여 이루어질 수 있지만, 이에 한정되지는 않는 바, 예컨대 UDP(user datagram protocol) 데이터그램(datagram)으로서 송수신될 수도 있을 것이다.
루프백부(132)는 하드웨어 루프백 설정 및 하드웨어 라우팅 설정 중 적어도 하나에 기초하여, 포인트 게이트웨이(110-1, 110-2, ..., 110-N)로부터 수신한 데이터를 추가적인 가공 없이 포인트 게이트웨이(110-1, 110-2, ..., 110-N)에 전송하도록 통신 인터페이스부(131)를 제어할 수 있다. 하드웨어 루프백 설정 및 하드웨어 라우팅 설정은 커넬(Kernel) 단에서 이루어질 수 있다. 루프백부(132)는 소정의 식별 정보에 의해 식별되는 데이터에 한하여, 해당 데이터를 루프백을 통해 포인트 게이트웨이(110-1, 110-2, ..., 110-N)에 전송할 수 있다.
루프백부(132)는 추가적인 가공 없이 수신한 데이터를 다시 포인트 게이트웨이(110-1, 110-2, ..., 110-N)로 전송하므로, 데이터의 전송에서는 CPU(프로세서(133))에 대한 부하가 저감될 수 있다.
프로세서(133)는 메모리(134)에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(133)는 중앙 처리 장치(central processing unit; CPU)와 같이 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(134)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(134)는 읽기 전용 메모리(read only memory; ROM) 및/또는 랜덤 액세스 메모리(random access memory; RAM)로 구성될 수 있다. 또한, 프로세서(133)는 MPU(micro processing unit), CPU(central processing unit) 또는 TPU(tensor processing unit), 캐시 메모리(cache memory), 데이터 버스(data bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
도 2b를 참조하여 설명한 서비스 게이트웨이(130)의 구성은 예시적인 것에 불과할 뿐, 실시예가 이에 제한되는 것은 아니다. 예를 들어, 서비스 게이트웨이(130)는 도 2b에 도시된 구성 외에도 다른 구성을 더 포함할 수 있다. 예를 들어, 서비스 게이트웨이(130)는 입력 인터페이스부, 출력 인터페이스부 등을 더 포함할 수 있다.
도 3은 일 실시예에 따른 제1 게이트웨이에 의해 수행되는 네트워크 터널 상태 결정 방법을 설명하기 위한 흐름도이다.
제1 게이트웨이는 IoT 기기와 네트워크 연결이 형성되는 게이트웨이고, 제2 게이트웨이는 적어도 하나의 제1 게이트웨이와 네트워크 통신을 위한 VPN(Virtual Private Network) 터널을 형성하는 게이트웨이일 수 있다. 제1 게이트웨이와 연결되는 기기는 IoT 기기에 한정되는 것이 아니고, 임의의 사용자 단말로 확장될 수 있으며, 서비스 게이트웨이는 적어도 하나의 포인트 게이트웨이와 서버의 통신을 중계하는 임의의 컴퓨팅 장치를 의미할 수 있음은 통상의 기술자가 이해할 것이다.
도 3를 참조하면, 외부 장치와 연결되는 제1 게이트웨이에 의해 수행되는, 상기 제1 게이트웨이와, 서버와 연결되는 제2 게이트 웨이 사이에 형성되는 네트워크 터널 상태 결정 방법에서, 제1 게이트웨이는 단계(310)를 통해 소정의 식별 정보를 포함하는 제1 데이터를 생성할 수 있다. 예를 들어, 소정의 식별 정보는 제1 데이터가 네트워크 터널 상태를 확인하기 위한 데이터임을 식별하는 임의의 정보일 수 있다.
단계(320)에서 제1 게이트웨이는 네트워크 터널을 통해 제2 게이트웨이로 제1 데이터를 전송할 수 있다.
단계(330)에서 제1 게이트웨이는 소정의 시간 동안 식별 정보를 포함하는 제2 데이터를 수신하였는 지 여부를 결정할 수 있다. 제2 데이터는 제2 게이트웨이의 설정된 하드웨어 루프백(hardware loopback)에 기초하여 제1 게이트웨이로 전송되는 상기 제1 데이터에 대응될 수 있다. 보다 구체적으로, 제2 데이터는 제1 데이터에 대한 루프백을 통해 추가적인 가공 없이 제2 게이트웨이로부터 전송되므로, 제2 데이터의 출발지 정보와 도착지 정보 각각은 제1 데이터의 출발지 정보 및 도착지 정보와 동일할 수 있다. 예를 들어, 제1 데이터의 출발지 정보가 172.17.0.2(제1 게이트웨이 주소에 대응)이고, 도착지 정보가 10.190.1.254(제2 게이트웨이 주소에 대응)인 경우, 제2 데이터의 출발지 정보는 172.17.0.2, 도착지 정보는 10.190.1.254 일 수 있다. 즉, 제2 데이터는 서비스 게이트웨이에서 그대로 반환되는 제1 데이터에 대응된다.
단계(330)를 통해 소정의 시간 내에 제2 게이트웨이로부터 네트워크 터널을 통해 상기 식별 정보를 포함하는 제2 데이터를 수신한 경우, 제1 게이트웨이는 단계(340)를 통해 네트워크 터널의 상태를 결정할 수 있다.
제2 데이터의 도착지 주소는 제1 데이터와 동일하게 제1 게이트웨이 주소에 해당하므로, 제1 게이트웨이는 제2 데이터를 수신하는 과정에서 오류가 발생할 수 있다. 따라서, 제1 게이트웨이는 제2 데이터에서 소정의 식별 정보가 확인된 경우, 제2 데이터에 대한 하기의 프로세스를 수행할 수 있다. 즉, 제1 게이트웨이는 목적지 정보가 제1 게이트웨이의 주소가 아닌 데이터 중 소정의 식별 정보를 포함하는 정보에 한하여 하기의 프로세스를 진행하고, 다른 데이터들은 폐기한다.
일 실시예에 따르면, 제1 게이트웨이는 제2 데이터에 포함된 출발지 정보를 도착지 정보로 결정하고, 제2 데이터에 포함된 도착지 정보를 출발지 정보로 결정함으로써, 제2 데이터에 대응하는 제3 데이터를 생성할 수 있다. 예를 들어, 제2 데이터의 출발지 정보는 172.17.0.2(제1 게이트웨이 주소에 대응)이고, 도착지 정보가 10.190.1.254(제2 게이트웨이 주소에 대응)이므로, 제2 데이터에 기초하여 생성되는 제3 데이터의 출발지 정보는 10.190.1.254(제2 게이트웨이 주소에 대응)로 결정되고, 도착지 정보는 172.17.0.2(제1 게이트웨이 주소에 대응)로 결정될 수 있다. 제3 데이터의 도착지 정보가 제1 게이트웨이의 주소로 결정되어 있기 때문에, 제1 게이트웨이는 오류 없이 제3 데이터를 처리할 수 있다.
제1 게이트웨이는 제3 데이터를 오류없이 처리할 수 있으므로, 제3 데이터에 기초하여 네트워크 터널의 상태가 유효한 것으로 결정할 수 있다.
단계(330)에서 소정의 시간 내에 소정의 식별 정보를 포함하는 제2 데이터를 수신하지 못한 것으로 결정된 경우, 제1 게이트웨이는 단계(350)를 통해 네트워크 터널의 상태가 유효하지 않는 것으로 결정할 수 있다.
도 4는 일 실시예에 따른 제2 게이트웨이에 의해 수행되는 네트워크 터널 상태 결정 방법을 설명하기 위한 흐름도이다.
도 4를 참조하면, 서버와 연결되는 제2 게이트웨이에 의해 수행되는, 외부 장치와 연결되는 제1 게이트웨이와 제2 게이트웨이 사이에 형성된 네트워크 터널의 상태를 확인하는 네트워크 터널 상태 결정 방법에서, 제2 게이트웨이는 단계(410)에서 제1 게이트웨이로부터 데이터를 수신할 수 있다.
단계(420)에서 제2 게이트웨이는 수신한 데이터에 미리 결정된 소정의 식별 정보가 존재하는 지 여부를 결정할 수 있다.
단계(420)에서 미리 결정된 소정의 식별 정보가 존재하는 것으로 결정된 경우, 제2 게이트웨이는 단계(430)를 통해 상기 수신한 데이터를 상기 제1 게이트웨이로 전송할 수 있다.
제2 게이트웨이는, 제2 게이트웨이의 커널 단에서 수행되는 하드웨어 설정 또는 루프백 설정에 기초하여 추가적인 가공 없이 수신한 데이터를 상기 제1 게이트웨이로 전송할 수 있다. 보다 구체적으로, 제2 게이트웨이는 커널 단에서 수행되는, 하드웨어 루프백(Hardware Loopback) 설정 및 하드웨어 라우팅 설정 중 적어도 하나에 기초하여 수신한 데이터를 제1 게이트웨이에 추가적인 가공 없이 전송할 수 있다. 이러한 동작을 통해 제2 게이트웨이에서 데이터 전송을 위해 추가적인 가공(예를 들어, 주소 설정)을 수행하는 종래의 방식에 비하여, 수신한 데이터를 제1 게이트웨이에 전송하는 과정에서 CPU에 대한 사용을 저감할 수 있다.
이러한 방식은 단말 및 포인트 게이트웨이의 숫자가 기하급수적으로 늘어나는 IoT 환경에 적합한 네트워크 구성을 제공할 수 있다.
도 5는 일 실시예에 따른 네트워크 터널 상태 확인 방법을 설명하기 위한 흐름도이다.
도 5를 참조하면, 포인트 게이트웨이에 대응되는 제1 게이트웨이(110)는 제1 게이트웨이 및 서비스 게이트웨이에 대응되는 제2 게이트웨이(130) 사이에 미리 형성된 네트워크 터널의 상태를 확인하기 위한 터널 확인 데이터를 생성할 수 있다(단계 521). 터널 확인 데이터는 앞서 설명된 소정의 식별 정보, 제1 게이트웨이(110)의 주소에 대응하는 출발지 정보 및 제2 게이트웨이(130)의 주소에 대응하는 도착지 정보를 포함하는 임의의 데이터일 수 있다.
제1 게이트웨이(110)는 제2 게이트웨이(130)에 터널 확인 데이터를 전송(단계(522)할 수 있다.
제2 게이트웨이(130)는 터널 확인 데이터를 소정의 식별 정보에 기초하여 식별하고, 커널 단에 설정된 루프백 설정에 기초하여 추가적인 가공 없이 터널 확인 데이터를 제1 게이트웨이(110)에 전송할 수 있다(단계 523). 제1 게이트웨이(110)에 전송된 터널 확인 데이터는 제1 게이트웨이의 주소를 출발지 정보로 포함하고, 제2 게이트웨이의 주소를 도착지 정보로 포함하기 때문에, 제1 게이트웨이(110)의 데이터 처리 과정에서 오류가 발생될 수 있다. 따라서, 제1 게이트웨이는 소정의 식별 정보에 기초하여 터널 확인 데이터를 식별(524)이 완료된 경우, 수신한 터널 확인 데이터의 출발지 정보를 최종 터널 확인 데이터의 도착지 정보로 결정(단계 525)하고, 수신한 터널 확인 데이터의 도착지 정보를 최종 터널 확인 데이터의 출발지 정보로 결정(단계 526)함으로써, 터널 확인 데이터에 기초하여 생성된 최종 터널 확인 데이터에 기초하여 네트워크 터널 상태를 결정(527)할 수 있다. 이 경우, 네트워크 터널 상태는 유효한 것으로 결정될 수 있다.
단계(521) 이후에, 제1 게이트웨이에서 소정의 시간 동안 터널 확인 데이터가 수신되지 않는 경우, 네트워크 터널의 상태는 유효하지 않은 것으로 결정될 수 있다.
도 6은 일 실시예에 따른 네트워크 터널 상태 결정 방법에서 사용되는 데이터의 구조를 예시적으로 도시하는 도면이다.
도 6을 참조하면, 데이터(610)는 제1 게이트웨이가 생성하는 제1 데이터에 대응될 수 있다. 제1 데이터는 소정의 식별 정보를 포함하는 영역(611), 제1 게이트웨이의 주소에 대응되는 출발지 정보를 포함하는 영역(612), 제2 게이트웨이의 주소에 대응되는 도착지 정보를 포함하는 영역(613) 및 기타 영역(614)을 포함할 수 있다.
제2 게이트웨이에서는 데이터에 대한 추가적인 가공이 진행되지 않기 때문에 앞서 언급한 제2 데이터도 데이터(610)와 동일한 형태를 가질 수 있다. 또한, 도 5에서 제시된 터널 확인 데이터도 데이터(610)와 동일한 형태를 가질 수 있다.
데이터(620)는 제1 게이트웨이에서 생성되는 제3 데이터 및 최종 터널 확인 데이터에 대응될 수 있다. 데이터(620)는 데이터(610)에서 영역(612)에 포함된 정보가 영역(623)에 할당되고, 영역(613)에 포함된 정보가 영역(622)에 할당됨으로써 출발지 정보와 도착지 정보가 상호 교환된 형태일 수 있다. 영역(621)에 포함된 정보는 영역(611)에 포함된 정보와 동일하고, 영역(624)에 포함된 정보는 영역(614)에 포함된 정보와 동일할 수 있다.
위 실시 예의 설명에 기초하여 해당 기술분야의 통상의 기술자는, 본 발명의 방법 및/또는 프로세스들, 그리고 그 단계들이 하드웨어, 소프트웨어 또는 특정 용례에 적합한 하드웨어 및 소프트웨어의 임의의 조합으로 실현될 수 있다는 점을 명확하게 이해할 수 있다. 상기 하드웨어는 범용 컴퓨터 및/또는 전용 컴퓨팅 장치 또는 특정 컴퓨팅 장치 또는 특정 컴퓨팅 장치의 특별한 모습 또는 구성요소를 포함할 수 있다. 상기 프로세스들은 내부 및/또는 외부 메모리를 가지는, 하나 이상의 마이크로프로세서, 마이크로컨트롤러, 임베디드 마이크로컨트롤러, 프로그래머블 디지털 신호 프로세서 또는 기타 프로그래머블 장치에 의하여 실현될 수 있다. 게다가, 혹은 대안으로서, 상기 프로세스들은 주문형 집적회로(application specific integrated circuit; ASIC), 프로그래머블 게이트 어레이(programmable gate array), 프로그래머블 어레이 로직(Programmable Array Logic; PAL) 또는 전자 신호들을 처리하기 위해 구성될 수 있는 임의의 다른 장치 또는 장치들의 조합으로 실시될 수 있다. 더욱이 본 발명의 기술적 해법의 대상물 또는 선행 기술들에 기여하는 부분들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 기계 판독 가능한 기록 매체에 기록될 수 있다. 상기 기계 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 기계 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 기계 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD, Blu-ray와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 전술한 장치들 중 어느 하나뿐만 아니라 프로세서, 프로세서 아키텍처 또는 상이한 하드웨어 및 소프트웨어의 조합들의 이종 조합, 또는 다른 어떤 프로그램 명령어들을 실행할 수 있는 기계 상에서 실행되기 위하여 저장 및 컴파일 또는 인터프리트될 수 있는, C와 같은 구조적 프로그래밍 언어, C++ 같은 객체지향적 프로그래밍 언어 또는 고급 또는 저급 프로그래밍 언어(어셈블리어, 하드웨어 기술 언어들 및 데이터베이스 프로그래밍 언어 및 기술들)를 사용하여 만들어질 수 있는바, 기계어 코드, 바이트코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 이에 포함된다.
따라서 본 개시서에 따른 일 태양에서는, 앞서 설명된 방법 및 그 조합들이 하나 이상의 컴퓨팅 장치들에 의하여 수행될 때, 그 방법 및 방법의 조합들이 각 단계들을 수행하는 실행 가능한 코드로서 실시될 수 있다. 다른 일 태양에서는, 상기 방법은 상기 단계들을 수행하는 시스템들로서 실시될 수 있고, 방법들은 장치들에 걸쳐 여러 가지 방법으로 분산되거나 모든 기능들이 하나의 전용, 독립형 장치 또는 다른 하드웨어에 통합될 수 있다. 또 다른 일 태양에서는, 위에서 설명한 프로세스들과 연관된 단계들을 수행하는 수단들은 앞서 설명한 임의의 하드웨어 및/또는 소프트웨어를 포함할 수 있다. 그러한 모든 순차 결합 및 조합들은 본 개시서의 범위 내에 속하도록 의도된 것이다.
예를 들어, 상기 하드웨어 장치는 본 개시서에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 상기 하드웨어 장치는, 프로그램 명령어를 저장하기 위한 ROM/RAM 등과 같은 메모리와 결합되고 상기 메모리에 저장된 명령어들을 실행하도록 구성되는 MPU, CPU, GPU, TPU와 같은 프로세서를 포함할 수 있으며, 외부 장치와 신호를 주고받을 수 있는 통신부를 포함할 수 있다. 덧붙여, 상기 하드웨어 장치는 개발자들에 의하여 작성된 명령어들을 전달받기 위한 키보드, 마우스, 기타 외부 입력장치를 포함할 수 있다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시 예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시 예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 사람이라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
그와 같이 균등하게 또는 등가적으로 변형된 것에는, 예컨대 본 개시서에 따른 방법을 실시한 것과 동일한 결과를 낼 수 있는, 논리적으로 동치(logically equivalent)인 방법이 포함될 것인바, 본 발명의 진의 및 범위는 전술한 예시들에 의하여 제한되어서는 아니되며, 법률에 의하여 허용 가능한 가장 넓은 의미로 이해되어야 한다.

Claims (13)

  1. 외부 장치와 연결되는 제1 게이트웨이에 의해 수행되는, 상기 제1 게이트웨이와 서버와 연결되는 제2 게이트웨이 사이에 형성되는 네트워크 터널(Network tunnel) 상태 결정 방법에 있어서,
    소정의 식별 정보를 포함하는 제1 데이터를 생성하는 단계;
    상기 터널을 통해 상기 제2 게이트웨이로, 상기 제1 데이터를 전송하는 단계; 및
    상기 제2 게이트웨이로부터 상기 터널을 통해 상기 소정의 식별 정보를 포함하는 제2 데이터를 수신하는 경우, 상기 제2 데이터에 기초하여 상기 터널의 상태를 결정하는 단계
    를 포함하는, 네트워크 터널 상태 결정 방법.
  2. 제1항에 있어서,
    상기 터널의 상태를 결정하는 단계는,
    상기 제2 데이터에 포함된 출발지 정보를 도착지 정보로 결정하고, 상기 제2 데이터에 포함된 도착지 정보를 출발지 정보로 결정함으로써, 상기 제2 데이터에 대응하는 제3 데이터를 생성하는 단계; 및
    상기 제3 데이터에 기초하여 상기 터널의 상태를 결정하는 단계
    를 포함하는, 네트워크 터널 상태 결정 방법.
  3. 제1항에 있어서,
    소정의 시간 동안 상기 터널을 통해 상기 소정의 식별 정보를 포함하는 제2 데이터를 수신하지 못하는 경우, 상기 터널의 상태가 유효하지 않는 것으로 결정하는 단계
    를 더 포함하는, 네트워크 터널 상태 결정 방법.
  4. 제1항에 있어서,
    상기 제2 데이터는,
    상기 제2 게이트웨이의 커널 단에서 수행되는 하드웨어 설정에 기초하여 추가적인 가공 없이 상기 제1 게이트웨이로 전송되는 상기 제1 데이터에 대응되는, 네트워크 터널 상태 결정 방법.
  5. 제1항에 있어서,
    상기 제1 게이트웨이는,
    IoT 기기와 네트워크 연결이 형성되는 게이트웨이고,
    상기 제2 게이트웨이는,
    적어도 하나의 제1 게이트웨이와 네트워크 통신을 위한 VPN(Virtual Private Network) 터널을 형성하는 게이트웨이인, 네트워크 터널 상태 결정 방법.
  6. 서버와 연결되는 제2 게이트웨이에 의해 수행되는, 외부 장치와 연결되는 제1 게이트웨이와 상기 제2 게이트웨이 사이에 형성된 네트워크 터널의 상태를 확인하는 네트워크 터널 상태 결정 방법에 있어서,
    상기 제1 게이트웨이로부터 데이터를 수신하는 단계;
    상기 수신한 데이터에 미리 결정된 소정의 식별 정보가 존재하는 지 여부를 결정하는 단계; 및
    상기 식별 정보가 존재하는 것으로 결정된 경우, 상기 수신한 데이터를 상기 제1 게이트웨이로 전송하는 단계
    를 포함하는, 네트워크 터널 상태 결정 방법.
  7. 제6항에 있어서,
    상기 제1 게이트웨이로 전송하는 단계는,
    상기 제2 게이트웨이에 커널 단에서 수행되는 하드웨어 설정에 기초하여 추가적인 가공 없이 상기 데이터를 상기 제1 게이트웨이로 전송하는, 네트워크 터널 상태 결정 방법.
  8. 제6항에 있어서,
    상기 제1 게이트웨이는,
    적어도 하나의 IoT 기기와 네트워크 연결이 형성되는 포인트 게이트웨이이고,
    상기 제2 게이트웨이는,
    적어도 하나의 제1 게이트웨이와 VPN 터널 연결을 형성하는 서비스 게이트웨이인, 네트워크 터널 상태 결정 방법.
  9. 컴퓨팅 장치로 하여금, 제1항 내지 제8항 중 어느 한 항의 방법을 수행하도록 구현된 명령어(instructions)를 포함하는 프로그램이 수록된 기계 판독 가능한 비일시적 기록 매체.
  10. 서버와 연결되는 다른 컴퓨팅 장치에 대해 미리 형성된 네트워크 터널의 상태를 결정하는 컴퓨팅 장치에 있어서,
    상기 다른 컴퓨팅 장치에 데이터를 전송하는 통신 인터페이스;
    상기 터널의 상태를 확인하기 위해 소정의 식별 정보를 포함하는 제1 데이터를 생성하는 프로세서
    를 포함하고,
    상기 프로세서는,
    상기 통신 인터페이스를 통해 상기 제1 데이터를 상기 터널을 통해 상기 다른 컴퓨팅 장치에 전송하고,
    상기 다른 컴퓨팅 장치를 통해 상기 소정의 식별 정보를 포함하는 제2 데이터를 수신하는 경우, 상기 제2 데이터에 기초하여 상기 터널의 상태를 결정하는, 컴퓨팅 장치.
  11. 제10항에 있어서,
    상기 프로세서는,
    상기 제2 데이터에 포함된 출발지 정보를 도착지 정보로 결정하고, 상기 제2 데이터에 포함된 도착지 정보를 출발지 정보로 결정함으로써, 상기 제2 데이터에 대응하는 제3 데이터를 생성하고,
    상기 제3 데이터에 기초하여 상기 터널의 상태를 결정하는, 컴퓨팅 장치.
  12. 제10항에 있어서,
    상기 프로세서는,
    소정의 시간 동안 상기 터널을 통해 상기 제2 데이터를 수신하지 못하는 경우, 상기 터널의 상태가 유효하지 않는 것으로 결정하는, 컴퓨팅 장치.
  13. 제10항에 있어서,
    상기 제2 데이터는,
    상기 다른 컴퓨팅 장치의 커널 단의 하드웨어 설정에 기초하여 상기 컴퓨팅 장치로 전송되는 상기 제1 데이터에 대응되는, 컴퓨팅 장치.
KR1020190166511A 2019-12-13 2019-12-13 네트워크 터널 상태 결정 방법 및 이를 이용한 장치 KR102270142B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190166511A KR102270142B1 (ko) 2019-12-13 2019-12-13 네트워크 터널 상태 결정 방법 및 이를 이용한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190166511A KR102270142B1 (ko) 2019-12-13 2019-12-13 네트워크 터널 상태 결정 방법 및 이를 이용한 장치

Publications (2)

Publication Number Publication Date
KR20210075440A true KR20210075440A (ko) 2021-06-23
KR102270142B1 KR102270142B1 (ko) 2021-06-28

Family

ID=76599454

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190166511A KR102270142B1 (ko) 2019-12-13 2019-12-13 네트워크 터널 상태 결정 방법 및 이를 이용한 장치

Country Status (1)

Country Link
KR (1) KR102270142B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100884988B1 (ko) * 2004-06-30 2009-02-20 레노보(베이징)리미티드 네트워크 장치들 사이의 데이터 전송방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100884988B1 (ko) * 2004-06-30 2009-02-20 레노보(베이징)리미티드 네트워크 장치들 사이의 데이터 전송방법

Also Published As

Publication number Publication date
KR102270142B1 (ko) 2021-06-28

Similar Documents

Publication Publication Date Title
KR102204705B1 (ko) 네트워크 접속 제어 시스템 및 그 방법
US20210081271A1 (en) Dynamic tracing control
CN110383795B (zh) 基于服务图的无服务器云管理平台
TWI746506B (zh) 用於網路的負載均衡、控制及網路交互的方法和裝置
JP6192725B2 (ja) ディープパケットインスペクション方法及び装置並びにコプロセッサ
CN114205342B (zh) 服务调试的路由方法、电子设备及介质
KR102270143B1 (ko) 네트워크 격리를 위한 통신 제어 방법 및 이를 이용한 장치
US20190327236A1 (en) System and method to securely execute datacenter management operations remotely
JP6666441B2 (ja) Ipアドレス取得方法及び装置
CN110968400B (zh) 应用程序的执行方法、装置、计算机设备和存储介质
KR102270142B1 (ko) 네트워크 터널 상태 결정 방법 및 이를 이용한 장치
US10999262B1 (en) High assurance tactical cross-domain hub
KR102270140B1 (ko) 네트워크 터널을 이용한 통신 제공 방법 및 이를 이용한 장치
CN113238789A (zh) 电子设备及其固件升级方法、装置和计算机可读存储介质
CN115225292A (zh) 一种内网访问方法、装置、设备及计算机可读存储介质
CN115396221A (zh) 授权处理方法及装置、系统、电子设备及存储介质
KR102270141B1 (ko) 통신 제어 방법 및 이를 이용한 장치
US8856304B2 (en) Accelerating UDP traffic
CN111200815A (zh) 基于移动应用的信息传输方法及装置
KR102337285B1 (ko) Ssid를 이용한 통신 중계 방법 및 이를 이용한 장치
US11902370B2 (en) Shared data management system
CN116708552B (zh) 一种地铁微服务注册方法、装置、设备及可读存储介质
ES2963521T3 (es) Procedimiento para generar protocolos de proceso en una infraestructura IT distribuida
KR20150067008A (ko) 푸시 알림 기반 원격 제어 방법 및 이를 위한 장치
CN118631895A (en) Unified communication method based on mobile terminal, electronic equipment and medium

Legal Events

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