KR102544733B1 - 멀티 호밍 네트워크 장치를 위한 인터넷 도달성 검출 및 인터넷 고 가용성 - Google Patents

멀티 호밍 네트워크 장치를 위한 인터넷 도달성 검출 및 인터넷 고 가용성 Download PDF

Info

Publication number
KR102544733B1
KR102544733B1 KR1020180120679A KR20180120679A KR102544733B1 KR 102544733 B1 KR102544733 B1 KR 102544733B1 KR 1020180120679 A KR1020180120679 A KR 1020180120679A KR 20180120679 A KR20180120679 A KR 20180120679A KR 102544733 B1 KR102544733 B1 KR 102544733B1
Authority
KR
South Korea
Prior art keywords
network interface
interest
internet
network
reachability
Prior art date
Application number
KR1020180120679A
Other languages
English (en)
Other versions
KR20190059839A (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 하만인터내셔날인더스트리스인코포레이티드
Publication of KR20190059839A publication Critical patent/KR20190059839A/ko
Application granted granted Critical
Publication of KR102544733B1 publication Critical patent/KR102544733B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5691Access to open networks; Ingress point selection, e.g. ISP selection
    • H04L12/5692Selection among different networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/308Route determination based on user's profile, e.g. premium users
    • 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
    • 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
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4541Directories for service discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W60/00Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration
    • H04W60/005Multiple registrations, e.g. multihoming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/663Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/677Multiple interfaces, e.g. multihomed nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

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

복수의 네트워크 인터페이스를 갖는 네트워크 내의 멀티 호밍 장치를 위한 인터넷 도달성과 인터넷 고 가용성을 판정하는 방법은, 멀티 호밍 장치를 복수의 네트워크 인터페이스 내의 네트워크 인터페이스에 접속하는 단계, 및 인터넷 도달성이 판정될 때까지 적어도 하나의 주목 네트워크 인터페이스를 위한 디폴트 루트 엔트리를 설정하는 임의의 기능성을 비활성화하는 단계를 포함한다.

Description

멀티 호밍 네트워크 장치를 위한 인터넷 도달성 검출 및 인터넷 고 가용성{INTERNET REACHABILITY DETECTION AND INTERNET HIGH AVAILABILITY FOR MULTI-HOMED NETWORK DEVICES}
본 개시 내용은, 멀티 호밍(multi-homed) 네트워크 장치에 관한 것으로서, 더욱 구체적으로는, 멀티 호밍 네트워크 장치를 위한 인터넷 도달성 검출 및 인터넷 고 가용성 방법에 관한 것이다.
멀티-홈 네트워크 장치는, 예를 들어, 이더넷, 와이파이(Wi-Fi), 블루투스, USB 등과 같은 다수의 네트워크 인터페이스를 통해 다수의 네트워크에 동시에 물리적으로 접속된 장치이다. 멀티-홈 네트워크 장치의 예로는, 네트워크 라우터, 브리지, 스위치, 개인용 컴퓨터, 랩톱 컴퓨터, 태블릿, 휴대 전화 및 자동차 인포테인먼트 유닛이 있을 수 있지만, 이에 한정되지 않는다. 멀티-홈 장치는 하나보다 많은 네트워크 인터페이스를 통해 인터넷에 대한 접속을 제공할 수 있다. 단지 예시로서, 본 명세서에서의 설명은 와이파이와 이더넷 네트워크 인터페이스를 갖는 자동차 인포테인먼트 장치를 지칭한다. 인포테인먼트 장치는 두 개의 루트를 통해 인터넷에 접속할 수 있다. 인포테인먼트 장치는, 와이파이 인터페이스를 통해, 인터넷에 접속할 수 있는 공공 장소, 집, 또는 사무실 W-Fi 핫스팟과 같은 액세스 포인트에 접속할 수 있다. 이더넷 인터페이스를 통해, 인포테인먼트 장치는, 인터넷에 접속할 수 있는 모뎀(3G/4G)을 갖는 차량 상의 텔레매틱스 유닛에 접속될 수 있다.
인포테인먼트 장치는, 다수의 장치를 통해 인터넷에 동시에 접속할 수 있지만, 실제로는, 한 번에 하나의 장치만을 통해 인터넷에 접속된다. 이것은, 임의의 네트워크 장치의 네트워크 라우팅 테이블이 인터넷 게이트웨이에 대한 루트를 정의하는 단일 "디폴트" 루트 엔트리를 갖는 것이 표준적인 관행이라는 사실로 인한 것이다.
다수의 네트워크 인터페이스를 이용할 수 있는 경우 어떤 네트워크 인터페이스가 장치를 인터넷에 접속하기 위한 "디폴트" 게이트웨이로서 사용되어야 하는지를 검출하고 "디폴트" 인터넷 게이트웨이 인터페이스가 이용불가로 되거나 현재 디폴트 게이트웨이로부터의 인터넷이 다운되는 경우 중단되지 않는 인터넷 접속성을 제시하는 방법이 필요하다.
복수의 네트워크 인터페이스를 갖는 네트워크 내의 멀티 호밍 장치를 위한 인터넷 도달성을 판정하는 방법은, 멀티 호밍 장치를 복수의 네트워크 인터페이스 내의 주목 네트워크 인터페이스에 접속하는 단계, 및 인터넷 도달성을 판정할 때까지 적어도 하나의 주목 네트워크 인터페이스를 위한 디폴트 루트 엔트리를 설정하는 임의의 기능성을 비활성화하는 단계를 포함한다. 인터넷 도달성의 판정 시, 디폴트 루트 엔트리가 미리 존재하지 않으면, 주목 네트워크 인터페이스를 디폴트 루트로서 추가한다. 디폴트 루트 엔트리가 미리 존재하면, 선호 구성을 적용한다.
선호 구성은, 미리 판정된 기준의 충족을 통해, 디폴트 루트 엔트리가 오버라이트(overwrite)되어야 할지 여부를 나타낸다. 인터넷 도달성이 없다고 판정되면, 선호 구성은, 적용되고, 미리 판정된 기준의 충족을 통해, 네트워크 인터페이스가 여전히 디폴트 루트 엔트리로서 추가되어야 함을 나타낼 수 있다. 모든 네트워크 인터페이스 접속을 연속적으로 또는 주기적으로 감시하여, 주목 네트워크 인터페이스를 통한 인터넷 도달성을 판정하고 최적의 인터넷 접속을 유지할 수 있다.
도 1은 인터넷 접속을 위해 다수의 네트워크 인터페이스를 갖는 차량 상의 예시적인 멀티 호밍 장치의 블록도이다.
도 2는 네트워크 인터페이스 장치에 대한 디폴트 루트를 설정하기 위한 방법의 하나 이상의 실시형태를 도시하는 흐름도이다.
도 3은 네트워크 인터페이스 장치가 인터넷에 도달 가능한지 여부를 판정하기 위한 방법의 하나 이상의 실시형태를 도시하는 흐름도이다.
도 4는 인터넷 고 가용성을 판정하는 방법의 하나 이상의 실시형태를 도시하는 흐름도이다.
도면의 요소와 단계는, 간략화 및 명료성을 위해 도시된 것이며, 반드시 특정 순서에 따라 이루어진 것은 아니다. 예를 들어, 동시적으로 또는 상이한 순서로 수행될 수 있는 단계들은 본 발명의 주제의 실시형태들에 대한 이해를 돕도록 도면에 도시되어 있다.
본 발명의 주제의 다양한 양태를 특정한 예시적인 실시형태를 참조하여 설명하지만, 본 발명의 주제는 이러한 실시형태들로 한정되지 않으며, 추가 수정, 응용, 및 실시형태가 본 발명의 주제를 벗어나지 않고 구현될 수 있다. 도면에서, 유사한 참조 번호는 동일한 구성요소를 설명하기 위해 사용될 것이다. 통상의 기술자는, 본 명세서에 개시된 다양한 구성요소가 본 발명의 주제의 범위로부터 벗어나지 않고 변경될 수 있음을 인식할 것이다.
본 명세서에서 설명하는 장치들 중 임의의 하나 이상은, 다양한 프로그래밍 언어 및/또는 기술을 사용하여 생성되는 컴퓨터 프로그램으로부터 컴파일링되거나 해석될 수 있는 컴퓨터 실행가능 명령어를 포함한다. 일반적으로, (마이크로프로세서와 같은) 프로세서는, 예를 들어, 메모리, 컴퓨터 판독가능 매체 등으로부터 명령어를 수신하고, 명령어를 실행한다. 처리 유닛은, 소프트웨어 프로그램의 명령어를 실행할 수 있는 비일시적 컴퓨터 판독가능 저장 매체를 포함한다. 컴퓨터 판독가능 저장 매체는, 전자 저장 장치, 자기 저장 장치, 광학 저장 장치, 전자기 저장 장치, 반도체 저장 장치, 또는 이들의 임의의 적절한 조합일 수 있지만, 이에 한정되는 것은 아니다. 본 명세서에서 설명하는 장치들 중 임의의 하나 이상은 펌웨어에 의존할 수 있으며, 이러한 펌웨어는 운영 체제, 개선점과 추가 기능, 보안 업데이트 등과의 호환성을 보장하기 위해 수시로 업데이트해야 할 수 있다. 서버, 수신기, 또는 장치에 대한 접속과 네트워킹에는, SATA, 와이파이, 라이트닝, 이더넷, UFS, 3G, 4G, 5G, USB, Bluetooth 등이 포함될 수 있지만, 이에 한정되는 것을 아니다. 하나 이상의 장치는, 전용 운영 체제, 그래픽, 오디오, 무선 네트워킹, 활성화 애플리케이션, 차량 구성요소, 시스템, 컴퓨터, 랩톱, 스마트폰, 태블릿, 기타 시스템 등의 외부 장치의 집적 하드웨어를 사용하여 동작할 수 있다.
멀티 호밍 장치를 인터넷에 접속할 때 고려해야 할 몇 가지 사항이 있다. 예를 들어, 어떤 네트워크 인터페이스를 사용해야 할지를 판정해야 한다. 네트워크 인터페이스들 중 하나를 언제 라우팅 테이블에 "디폴트" 게이트웨이로서 추가할지를 판정해야 한다. 네트워크 인터페이스가 인터넷에 접속할 수 있는지 여부를 판정하도록 체크해야 한다. 현재 인터넷 접속 상태를 감시해야 한다. 그리고, "디폴트" 인터넷 게이트웨이 네트워크 인터페이스가 다운되면, 임의의 중단없는 지속적인 인터넷 서비스가 제공되어야 한다.
도 1은, 인터넷(106)에 접속하기 위한 다수의 네트워크 인터페이스를 갖는 차량(104) 상의 인포테인먼트 장치(102)와 같은 멀티 호밍 장치를 위한 예시적인 애플리케이션의 블록도(100)이다. 멀티 호밍 장치의 다른 예로는, 네트워크 라우터, 브리지, 스위치, 개인용 컴퓨터, 랩톱, 태블릿, 휴대 전화 등이 있지만, 이에 한정되지 않는다. 다수의 네트워크 인터페이스는, 이더넷 인터페이스(108), 텔레매틱스 모뎀(110), 와이파이(112), USB 동글(3G/4G)(114)을 포함할 수 있지만, 이에 한정되는 것은 아니다. 이 예는, 인터넷 접속을 위해 한 번에 하나의 "디폴트" 게이트웨이가 네트워크 매니저(116)에 의해 관리되는 바와 같이 라우팅 테이블(도 1에는 도시되지 않음)에 설정되어 있는 네트워크에 적용된다. 네트워크 매니저(116)는, 다양한 프로그래밍 언어 및/또는 기술을 사용하여 생성되는 컴퓨터 프로그램으로부터 컴파일링되거나 해석될 수 있는 컴퓨터 실행가능 명령어를 포함한다. 일반적으로, (마이크로프로세서와 같은) 프로세서는, 예를 들어, 메모리, 컴퓨터 판독가능 매체 등으로부터 명령어를 수신하고, 그 명령어를 실행한다. 처리 유닛은, 소프트웨어 프로그램의 명령어를 실행할 수 있는 비일시적 컴퓨터 판독가능 저장 매체를 포함한다. 컴퓨터 판독가능 저장 매체는, 전자 저장 장치, 자기 저장 장치, 광학 저장 장치, 전자기 저장 장치, 반도체 저장 장치, 또는 이들의 임의의 적절한 조합일 수 있지만, 이에 한정되는 것은 아니다. 본 명세서에서 설명하는 장치들 중 임의의 하나 이상은 펌웨어에 의존할 수 있으며, 이러한 펌웨어는 운영 체제, 개선점과 추가 기능, 보안 업데이트 등과의 호환성을 보장하기 위해 수시로 업데이트해야 할 수 있다.
계층- 2 접속은, 인포테인먼트 장치(102)가 자신의 네트워크 인터페이스들(108 내지 114) 중 하나에 접속할 때 발생한다. 장치는 네트워크의 일부로 된다. 계층-2 접속 후, 장치는, 인터넷 프로토콜(IP) 어드레스, 서브넷 마스크, 게이트웨이 IP 어드레스, 및 도메인 네임 시스템(DNS) 서버 IP 어드레스를, 해당 네트워크 상에서 동작하고 있는 동적 호스트 구성 프로토콜(DHCP) 서버로부터 수신한다. 인포테인먼트 장치(102) 상에서 동작하는 DHCP 클라이언트는, 네트워크에 대응하는 호스트 루트를 라우팅 테이블에 추가한다. 예를 들어, 이더넷 인터페이스 19=08을 통한 접속의 경우, "10.90.14.0 * 255.255.0 U 1 0 0 eth0" 엔트리가 아래에 도시한 바와 같이 라우팅 테이블에 추가된다.
Figure 112018099764378-pat00001
실제로, DHCP 클라이언트는 이 엔트리를 라우팅 테이블의 "디폴트" 루트로서 추가한다. 그러나 현재 알려진 관행에서는, 특정 네트워크 인터페이스를 디폴트 게이트웨이로서 추가하기 전에 네트워크 인터페이스가 인터넷에 도달할 수 있음을 보장하기 위한 체크를 수행하지 않는다. 이에 대한 문제점은, 인터넷에 도달할 수 없는 네트워크 인터페이스(108)가 인터넷에 대한 "디폴트" 루트로 될 수 있다는 점이다. 또한, 현재 알려진 관행에서, DHCP 클라이언트는, 예를 들어, 텔레매틱스 장치(110)와 같은 다른 네트워크 인터페이스 장치가 다른 네트워크에 접속할 때 라우팅 테이블의 기존의 "디폴트" 루트를 오버라이트하지 않는다.
그 결과, 멀티 호밍 장치 네트워크에서, 인터넷 도달성이 없는 네트워크 인터페이스가 첫 번째로 접속하여 라우팅 테이블의 "디폴트" 루트 슬롯을 취하고 인터넷 도달성이 있는 다른 네트워크 인터페이스가 두 번째로 접속하면, "디폴트" 루트에는 어떠한 변경도 행해지지 않는다. 따라서, 인터넷 도달성이 없는 네트워크 인터페이스(108)는, 단지 네트워크에 첫 번째로 접속하여 라우팅 테이블의 기존의 "디폴트" 루트로서 설정되었기 때문에 인터넷에 대한 루트로서 남겨지게 된다. 그 결과, 멀티 호밍 장치인 이 예에서의 인포테인먼트 장치(102)는 자신의 네트워크 인터페이스들 중 적어도 하나인 이 예에서의 텔레매틱스 모뎀(110)이 인터넷에 도달할 수 있더라도 인터넷 없이 남겨지게 된다.
도 2는, 네트워크 인터페이스를 라우팅 테이블에 "디폴트" 인터넷 루트로서 추가하기 전에 이 문제를 처리하고 네트워크 인터페이스가 인터넷에 도달할 수 있는지를 판정하는 방법(200)에 대한 흐름도이다. 이 방법은, 표준 DHCP 클라이언트 구성을 수정하여 라우팅 테이블에 "디폴트" 루트 엔트리를 추가하는 기능을 비활성화한다(202). 이렇게 함으로써, 방금 접속된 네트워크 인터페이스가 인터넷에 도달 가능함을 체크할 기회를 제공하도록 네트워크 인터페이스를 통해 멀티 호밍 장치를 네트워크에 접속할 때 "디폴트" 루트 없이 라우팅 테이블이 남게 된다. 방금 접속된 네트워크 인터페이스는 본 명세서에서 주목 네트워크 인터페이스라고도 한다.
방금 접속된 네트워크 인터페이스를 통해 멀티 호밍 장치를 네트워크에 접속하면(204), 주목 네트워크 인터페이스가 인터넷 도달 가능한지 여부를 판정(206)하는 체크를 행한다. 이 단계는 도 3을 참조하여 이후에 보다 상세히 설명한다. 계속 도 2를 참조해 볼 때, 네트워크 접속이 인터넷에 도달할 수 있다고 판정되면, 방법은 "디폴트" 루트가 라우팅 테이블에 미리 존재하고 있는지를 판정한다(210). "디폴트" 루트가 미리 존재하면(212), 네트워크 매니저는 "디폴트" 루트가 오버라이트되어야 하는지를 판정하도록(214) (본 명세서에서 이후에 또한 상세히 설명할) 선호 구성을 적용한다. 예를 들어, 이더넷 네트워크 인터페이스와 와이파이 모두가 인터넷에 도달 가능한 경우 이더넷 네트워크 인터페이스가 와이파이보다 인터넷 접속에 선호됨을 선호 구성이 나타내면, 이러한 루트 변경이 네트워크 매니저에 의해 처리될 수 있다.
"디폴트" 루트가 라우팅 테이블에 미리 존재하지 않는 경우(216), 네트워크 인터페이스 어드레스는 인터넷에 대한 "디폴트" 루트로서 라우팅 테이블(218)에 추가된다. 네트워크 매니저는 계속해서 네트워크 인터페이스 접속을 감시한다(220).
네트워크 접속이 인터넷 도달 가능하지 않다고 판정되면(222), 선호 구성에 기초하여 주목 네트워크 인터페이스를 라우팅 테이블의 "디폴트" 루트로서 설정할지 여부를 판정한다(224). 실제로, 인터넷 도달성에 관계없이 다른 서브넷과 같은 다른 네트워크 상의 다른 호스트에 도달해야 하는 경우가 때때로 있다. 따라서, 네트워크 매니저는, 인터넷 도달성이 없는 경우에도 네트워크 인터페이스를 "디폴트" 루트로 추가해야 하는지 여부를 네트워크별로 판정한다. 네트워크에 대한 선호 구성이, 네트워크 접속이 계속 사용되어야 함을 나타내는 경우, 이것을 "디폴트" 루트로서 설정할 수 있다.
상기 방법은 네트워크 인터페이스 접속을 계속 감시한다(220). 네트워크 인터페이스를 감시함으로써(220), 인터넷이 다운된 때를 검출할 기회를 제공하고, 과도 기간 동안 인터넷 접속성을 제공하는 다른 대체 네트워크 인터페이스가 없다면 네트워크 인터페이스를 "디폴트" 루트로서 추가함으로써 인터넷 접속성을 복구할 기회를 제공한다. 또한, 선호 구성이, 인터넷 도달성을 가능하게 하는 다른 네트워크 상의 다른 호스트에 더 이상 도달할 필요가 없음을 나타내면, "디폴트" 루트를 조정하도록 수정할 수 있다.
주목 네트워크 인터페이스에 대한 네트워크 접속이 인터넷 도달 가능한지 여부를 판정하는 단계(206)를 도 3에 도시된 흐름도(300)를 참조하여 상세하게 설명한다. 운영 체제 이벤트 메커니즘을 사용하여 주목 네트워크 인터페이스에 대한 네트워크 접속이 인터넷 도달 가능한지를 판정하기 위해, "인터페이스 업/다운", "IP 어드레스 할당" 등과 같은 이벤트에 대해 각 네트워크 인터페이스를 감시한다(302). 주목 네트워크 인터페이스에 대하여 "IP 주소 할당" 이벤트가 발생하면, 웹사이트의 IP 어드레스를 취득하기 위해 하나보다 많은 잘 알려진 인터넷 웹사이트 URL에 대해 DNS 쿼리를 수행한다(304). 성공적인 DNS는, 네트워크 인터페이스가 인터넷에 도달할 수 있다는 표시일 수 있지만, 주목 네트워크 인터페이스가 네트워크에 접속된 유일한 인터페이스인 경우에만 신뢰성 있는 표시자이다. 멀티 호밍 장치는, 기본적으로 다수의 네트워크 인터페이스와 다수의 네트워크 접속을 갖는다. 멀티 호밍 장치 상의 다른 네트워크 인터페이스가 네트워크에 미리 접속되어 있다면, DNS 응답은, 주목 네트워크 인터페이스가 아닌 해당 네트워크 인터페이스로부터 온 것일 수 있으므로, 그 차이를 알 방법이 없다. 따라서, 문제의 현재 네트워크 인터페이스가 인터넷에 도달 가능함을 추론하기 위해 성공적인 DNS 응답에만 의존하는 것은, 문제의 네트워크 인터페이스에 대한 인터넷 도달성의 신뢰성 있는 표시자가 아니다.
이러한 결함을 다루도록, 네트워크 매니저는, DHCP 제공에서 수신된 주목 네트워크 인터페이스의 게이트웨이를 갖는 호스트 루트를 "디폴트" 루트로서 추가하고 DNS 결정(resolve)된 IP 어드레스를 목적지 호스트로서 추가한다(306). 예를 들어, Linux 시스템에서, 루트는 다음과 같이 추가될 수 있다.
#sudo route add-host 210.35.14.21 gw 192.168.43.1
210.35.14.31 ==> 잘 알려진 웹사이트 URL의 DNS 결정된 IP 어드레스
192.168.43.1 ==> 네트워크 상의 DHCP 서버로부터 DHCP 제공에서 리턴된 바와 같은 와이파이 네트워크의 게이트웨이
이 루트는, 목적지 IP 어드레스 210.35.13.31을 갖는 호스트로의 모든 트래픽이 와이파이 네트워크 인터페이스("wlan0")를 거쳐 와이파이 네트워크의 게이트웨이(192.168.43.1)만을 통과해야 한다고 규정한다.
TCP 소켓을, 생성하고(308), 휴대용 운영 체제 인터페이스(POSIX) 바인드() 애플리케이션 프로그래밍 인터페이스(API)를 사용하여 주목 네트워크 인터페이스와 결합한다(310). 호스트 루트를 추가하는 단계(306)와는 별도로, TCP 소켓을 결합함으로써(310), 이러한 소켓 상의 임의의 트래픽이 다른 네트워크 인터페이스가 존재하는 경우 이러한 다른 네트워크 인터페이스를 통하는 것이 아니라 결합된 인터페이스만을 통해 장치로부터 출력되는 것을 보장한다.
TCP 접속은, 목적지 서버 어드레스(216.58.214.46) 및 하이퍼텍스트 전송 프로토콜(HTTP) 포트(80 및/또는 8080)를 갖는 바운드 소켓에 대해 수행된다(312). HTTP 프로토콜은 TCP를 기반으로 하기 때문에, 포트 80 또는 포트 8080 상의 유효한 HTTP 서버에 대한 TCP 접속은, 네트워크 인터페이스가 인터넷에 도달할 수 있는 경우 성공적이어야 한다(314). 호스트 루트(306)의 추가 및 주목 네트워크 인터페이스에 대한 TCP 소켓의 결합(310)으로 인해, TCP 접속(3방향 핸드셰이크)이 인터넷 도달성이 판정되고 있는 주목 네트워크 인터페이스만을 통해 발생한다고 알려져 있는 결과를 보장한다.
원격 인터넷 웹사이트의 IP 어드레스에 대한 TCP 접속이 성공적인 경우(316), 특정한 주목 네트워크 인터페이스가 인터넷 도달 가능하다고 확실히 결론내릴 수 있다(318). TCP 접속에 "erno:ENETUNREACH("네트워크가 도달불가")와 같은 에러가 발생한 경우(320), 주목 네트워크 인터페이스가 인터넷에 도달할 수 없다고 확실히 결론내릴 수 있다(322).
결론에 도달한 경우, TCP 소켓을 즉시 폐쇄한다(324). 추가된 호스트 루트를 삭제한다(326). 예를 들어, Linux 시스템에서, 호스트 루트는 #sudo route del -host 210.35.14.31 gw 192.168.43으로서 삭제될 수 있다. 주목 네트워크 인터페이스가 인터넷에 도달 가능한지 여부를 판정하였다.
다시 도 2를 참조해 볼 때, 계층-2와 계층-3에서 접속되었지만 현재 인터넷에 도달할 수 없는 네트워크 인터페이스는, 네트워크 매니저에 의해 연속적으로 또는 주기적으로 감시될 수 있다(220). 네트워크 인터페이스는, 신호 강도, 지형, 인터넷 서비스 공급자(ISP) 문제 등과 같은 다양한 이유로 간헐적으로 인터넷에 도달하지 못할 수 있다. 전술한 선호 구성들(214, 224)은, 네트워크 인터페이스를 "디폴트" 루트로서 추가할지 여부를 판정하기 위해 네트워크 매니저 등을 통해 적용될 수 있다. 선호 구성은, 특정 시점에 임의의 주목 네트워크 인터페이스에 가장 적합한 "디폴트" 루트에 우선 순위를 부여하고 이러한 디폴트 루트를 선택하도록 네트워크 매니저에 의해 적용될 수 있다. 선호의 예로는, 송신 속도, 신호 강도, 액세스 비용(4G v 와이파이) 등이 포함될 수 있지만, 이에 한정되지는 않는다. 이러한 선호 구성은, 네트워크 시스템에 대한 선호 구성의 중요도와 적용에 기초하여 가중치를 부여받으며, 주목 네트워크 인터페이스의 선택을 구현하기 위해 그리고 네트워크 인터페이스를 인터넷에 대한 게이트웨이로서 추가할 것인지 여부 또는 기존의 "디폴트" 루트를 오버라이트할 것인지 여부를 판정하기 위해 정책 판정을 내리는 데 사용된다.
또한, 바람직하지 않은 네트워크 인터페이스는 선호되는 네트워크 인터페이스로 대체될 수 있다. 예를 들어, 4G가, 멀티 호밍 장치가 접속되고 ISP 문제가 발생한 핫스팟으로서 인터넷을 제공한다고 가정한다. ISP 문제가 결정되면, 와이파이를 통해 제공되는 인터넷이 리턴되고, 연속 감시가 진행된다(220). 와이파이가 4G보다 빠르고 더 저렴하다는 것을 고려하면, 본 방법(200)은, 선호 구성에 기초하여 와이파이가 4G를 "디폴트" 루트로서 대체해야 한다고 판정할 수 있다. 네트워크 매니저는, 본 명세서에서 설명하는 방법을 사용하여, 이러한 조정을 행하여 시스템을 최적화하고 궁극적으로 최종 사용자의 경험을 개선하는 기회를 제공받는다.
인터넷 고 가용성은, "디폴트" 루트의 조정을 판정할 필요가 있을 때 네트워크 매니저에 의해 고려되는 요소이다. 도 4는 인터넷 고 가용성을 수행하는 방법에 대한 흐름도(400)이다. 전술한 바와 같이 네트워크 인터페이스의 인터넷 도달성을 체크하고 그 네트워크 인터페이스를 "디폴트" 루트로서 설정한 후, 주목 네트워크 인터페이스가 여전히 "디폴트" 루트로서 사용하기 위한 최적의 인터페이스인지를 판정하기 위해 주목 네트워크 인터페이스를 주기적으로 감시한다(402). 도 2와 도 3에서 설명한 방법은 이러한 주기적 감시에 적용되며, 네트워크 매니저는 구성 선호에 기초하여 판정을 내린다. 주목 네트워크에 대한 인터넷 감시의 주기성은 원하는 대로 설정될 수 있다.
주목 "디폴트" 네트워크 인터페이스가 여전히 인터넷에 도달 가능하고(404) 여전히 네트워크에 인터페이싱하기 위한 최적의 선택인 경우, 주기적 감시를 계속한다(402). "디폴트" 네트워크 인터페이스가 더 이상 인터넷에 도달할 수 없거나(406) 더 이상 최적의 선택이 아닌 경우, 도 2에 기술된 방법을 적용함으로써 다른 임의의 네트워크 인터페이스가 최적이고 인터넷에 도달 가능한지를 판정하는 체크가 이루어진다(408). 다시 말하면, 어떤 대체 네트워크 인터페이스가 기존의 주목 "디폴트" 네트워크 인터페이스를 대체해야 하는지에 대한 판정은, 선호 구성과 인터넷 도달성 판정에 기반하는 정책 판정이다.
일단 대체 네트워크 인터페이스가 판정되면, 이것은, 더 이상 인터넷에 도달할 수 없으며 및/또는 네트워크 인터페이스에 대한 최적의 선택이 아닌 기존의 "디폴트" 루트를 대체한다. 그 결과, 중단없는 서비스가 최종 사용자에게 제공될 수 있다. 최종 사용자는, 네트워크 속도가 불량한 일시적 기간 동안 인터넷 중단을 겪지 않는다.
현재로는, 포괄적 인터넷 도달성 관리 및 고 가용성 관리를 위한 표준 구현이 없으므로, 장치들과 운영 체제들(OS) 간의 구현이 다양하다. 본 명세서에서 설명하는 방법들은, 포괄적 인터넷 관리를 제공하고 멀티 호밍 장치의 고 가용성 기능을 감시한다. 현재, 일부 구현은, 인터넷 도달성을 전혀 검출하지 못하며, 디폴트 루트를 맹목적으로 설정하여, 인터넷 접속성 결여로 인해 최종 사용자의 불만을 초래한다. 본 명세서에서 설명하는 방법들은, 중단없는 인터넷 서비스를 제공하여 향상된 사용자 경험을 제공한다.
인터넷 도달성을 판정하기 위한 몇몇 공지된 방법은, 프로토콜 오버헤드로 인해 시간 소모적이고 또한 HTTP 프로토콜 지원을 필요로 하는 HTTP 프로토콜 교환에 의존한다. 본 명세서에서 설명하는 방법들은, 비용 절약, 개선된 효율성, 더욱 빠른 속도, 더욱 적은 탈락 등과 같은 운영 이점들을 제공하는 선호 구성에 따라 "디폴트" 루트 또는 게이트웨이를 동적으로 변경할 수 있는 기회를 제공한다.
사물 인터넷(IOT) 장치 및 웨어러블과 같은 많은 소형 내장형 장치는, HTTP 프로토콜을 지원하지 않을 수 있으므로, 인터넷 도달성을 판정하는 데 사용될 수 없다. 소형 장치에는 종종 TCP/IP 스택이 여전히 있다. 본 명세서에서 설명하는 방법들은 DNS 및 TCP에 의존한다. IOT 장치 또는 웨어러블과 같이 작은 풋프린트 및 메모리 제약이 있는 장치들은, 본 명세서에서 설명하는 방법들을 사용하여 인터넷 도달성을 판정하는 데 사용될 수 있다.
전술한 설명에서, 본 발명의 주제를 특정한 예시적인 실시형태를 참조하여 설명하였다. 그러나, 청구범위에 기재한 바와 같이 본 발명의 주제의 범위를 벗어나지 않고 다양하게 수정 및 변경을 행할 수 있다. 명세서와 도면은 제한적이라기보다는 예시적이며, 수정을 본 발명의 주제의 범위 내에 포함하고자 하는 것이다. 이에 따라, 본 발명의 주제의 범위는, 단순히 전술한 예에 의해서라기보다는 청구범위 및 청구범위의 법적 균등물에 의해 판정되어야 한다.
예를 들어, 임의의 방법 또는 공정 청구항에서 언급되는 단계들은, 임의의 순서로 실시될 수 있으며, 해당 청구항에 제시된 특정 순서로 한정되는 것은 아니다. 또한, 임의의 장치 청구항에서 언급되는 구성요소 및/또는 요소는, 다양한 순열로 조립될 수 있거나 동작식으로 구성될 수 있으며, 이에 따라 해당 청구항에 제시된 특정 구성으로 한정되는 것은 아니다.
이점, 다른 장점, 및 문제 해결책을 특정 실시형태와 관련하여 전술하였지만, 임의의 특정 이익, 장점, 또는 해결책을 발생시키거나 더욱 명확하게 만들 수 있는 임의의 이점, 장점, 문제 해결책 또는 임의의 요소는, 임의의 또는 모든 청구범위의 중요한, 요구되는, 또는 필수적인 기능부나 구성요소로서 해석되어서는 안된다.
"포함하다"(comprise), "포함한다"(comprises), "포함하는"(comprise), "갖는"(having), "포함하는"(including), "포함한다"(includes), 또는 이들의 임의의 변형 등의 용어들은, 언급되는 요소들만을 포함하는 것이 아니라 명시적으로 열거되지 않은 또는 이러한 프로세스, 방법, 물품, 조성, 또는 장치 고유의 것이 아닌 다른 요소들도 포함할 수 있는 요소들의 리스트를 포함하는 프로세스, 방법, 물품, 조성, 또는 장치 등의 비배타적 포함을 언급하고자 한 것이다. 특정하게 언급하지 않은 것에 더하여, 본 발명의 주제의 실시에 사용되는 전술한 구조, 배열, 응용, 비율, 요소, 재료, 또는 구성요소의 다른 조합 및/또는 수정은, 본 발명의 일반적인 원리로부터 벗어나지 않고서, 가변될 수 있거나 특정 환경, 제조 명세, 설계 파라미터, 또는 다른 동작 요건에 구체적으로 맞춰질 수 있다.

Claims (18)

  1. 네트워크 인터페이스 접속이 가능한 복수의 네트워크 인터페이스를 갖는 네트워크 내의 멀티 호밍(multi-homed) 장치를 위한 인터넷 도달성(Internet reachability)을 판정하며, 네트워크 매니저에 의해 실행되는 방법으로서,
    상기 멀티 호밍 장치를 상기 복수의 네트워크 인터페이스 내의 주목 네트워크 인터페이스에 접속하는 단계;
    상기 주목 네트워크 인터페이스의 인터넷 도달성을 판정하기 전에 상기 주목 네트워크 인터페이스를 위한 디폴트 루트 엔트리(default route entry)를 설정하는 동적 호스트 구성 프로토콜(DHCP) 클라이언트 기능성을 비활성화하는 단계;
    상기 주목 네트워크 인터페이스의 인터넷 도달성을 판정하는 단계;
    인터넷 도달성의 판정 시, 상기 주목 네트워크 인터페이스를 위한 디폴트 루트 엔트리가 미리 존재하는지 여부를 판정하는 단계;
    디폴트 루트 엔트리가 미리 존재하지 않으면, 상기 주목 네트워크 인터페이스를 위한 루트 엔트리를 추가하는 단계;
    디폴트 루트 엔트리가 미리 존재하면, 미리 판정된 기준의 충족을 통해, 상기 디폴트 루트 엔트리가 상기 주목 네트워크 인터페이스를 위한 루트 엔트리로 오버라이트(overwrite)되어야 함을 나타내는 선호 구성을 적용하는 단계;
    기존의 디폴트 루트 엔트리를 상기 주목 네트워크 인터페이스를 위한 루트 엔트리로 오버라이트하는 단계;
    상기 네트워크 인터페이스 접속 각각을 감시하여 인터넷 도달성을 판정하는 단계; 및
    상기 주목 네트워크 인터페이스를 위한 인터넷 도달성이 존재하지 않는다고 판정 시, 미리 판정된 기준을 통해, 상기 복수의 네트워크 인터페이스 내의 대체 네트워크 인터페이스가 인터넷 도달 가능하며 인터넷 고 가용성을 제공하도록 상기 기존의 디폴트 루트 엔트리를 오버라이트하는 루트 엔트리로서 추가되어야 함을 나타내는 선호 구성을 적용하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 인터넷 도달성을 위해 네트워크 인터페이스 접속 각각을 감시하는 단계는, 모든 네트워크 인터페이스 접속을 연속 감시하는 단계를 더 포함하는, 방법.
  3. 제1항에 있어서, 상기 인터넷 도달성을 위해 모든 네트워크 인터페이스 접속을 감시하는 단계는, 미리 판정된 간격으로 모든 네트워크 인터페이스 접속을 감시하는 단계를 더 포함하는, 방법.
  4. 제1항에 있어서, 상기 인터넷 도달성을 판정하는 단계는,
    "IP 어드레스 할당" 이벤트에 대하여 각 네트워크 인터페이스를 감시하는 단계;
    적어도 두 개의 미리 판정된 인터넷 웹사이트 URL에 대하여 DNS 쿼리를 수행하는 단계;
    상기 DNS 쿼리에 대한 성공적 응답의 수신 시, 상기 주목 네트워크 인터페이스를 갖는 호스트 루트를 추가하여 상기 성공적 응답이 수신된 DNS 쿼리를 통해 결정되는 인터넷 웹사이트 URL에 대한 목적지 IP 어드레스에 도달하는 단계;
    상기 주목 네트워크 인터페이스를 위한 TCP 소켓을 생성하는 단계;
    상기 주목 네트워크 인터페이스를 위한 상기 TCP 소켓을 결합하는 단계;
    상기 목적지 IP 어드레스에 결합된 TCP 소켓을 위한 TCP 접속을 HTTP 포트 80, HTTP 포트 8080, 또는 HTTP 포트 80과 8080에 대하여 수행하는 단계;
    상기 목적지 IP 어드레스에 대한 TCP 접속 시, 상기 주목 네트워크 인터페이스를 위한 인터넷 도달성 판정 또는 인터넷 도달성 없음 판정을 설정하는 단계;
    상기 TCP 소켓을 폐쇄하는 단계; 및
    추가된 상기 호스트 루트를 삭제하는 단계를 더 포함하는, 방법.
  5. 제1항에 있어서, 상기 인터넷 도달성을 위해 모든 네트워크 인터페이스 접속을 감시하는 단계는,
    주목 네트워크 인터페이스가 인터넷 도달성을 갖지 않는 것으로 판정되었더라도 기존의 디폴트 루트 엔트리를 오버라이트할지 여부를 나타내는 미리 판정된 기준을 갖는 선호 구성을 적용하는 단계; 및
    적용된 상기 선호 구성이 미리 판정된 기준을 충족하는 경우 상기 기존의 디폴트 루트 엔트리를 상기 주목 네트워크 인터페이스를 위한 루트 엔트리로 오버라이트하는 단계를 더 포함하는, 방법.
  6. 제5항에 있어서, 상기 모든 네트워크 인터페이스 접속을 감시하여 인터넷 도달성을 판정하는 단계는,
    "IP 어드레스 할당" 이벤트에 대하여 각 네트워크 인터페이스를 감시하는 단계;
    적어도 두 개의 미리 판정된 인터넷 웹사이트 URL에 대하여 DNS 쿼리를 수행하는 단계;
    상기 DNS 쿼리에 대한 성공적 응답의 수신 시, 상기 주목 네트워크 인터페이스를 갖는 호스트 루트를 추가하여 상기 성공적 응답이 수신된 DNS 쿼리를 통해 결정되는 인터넷 웹사이트 URL에 대한 목적지 IP 어드레스에 도달하는 단계;
    상기 주목 네트워크 인터페이스를 위한 TCP 소켓을 생성하는 단계;
    상기 주목 네트워크 인터페이스를 위한 상기 TCP 소켓을 결합하는 단계;
    상기 목적지 IP 어드레스에 결합된 상기 TCP 소켓을 위한 TCP 접속을 HTTP 포트 80, HTTP 포트 8080, 또는 HTTP 포트 80과 8080에 대하여 실시하는 단계;
    상기 목적지 IP 어드레스에 대한 TCP 접속 시, 상기 주목 네트워크 인터페이스를 위한 인터넷 도달성 판정을 설정하는 단계;
    상기 TCP 소켓을 폐쇄하는 단계; 및
    추가된 상기 호스트 루트를 삭제하는 단계를 더 포함하는, 방법.
  7. 프로그램을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 프로그램은, 하나 이상의 프로세서에 의해 실행되는 경우,
    멀티 호밍 장치를 복수의 네트워크 인터페이스 내의 주목 네트워크 인터페이스에 접속하는 것;
    상기 주목 네트워크 인터페이스의 인터넷 도달성을 판정하기 전에 상기 주목 네트워크 인터페이스를 위한 디폴트 루트 엔트리를 설정하는 동적 호스트 구성 프로토콜(DHCP) 클라이언트 기능성을 비활성화하는 것;
    상기 주목 네트워크 인터페이스의 인터넷 도달성을 판정하는 것;
    인터넷 도달성의 판정 시, 디폴트 루트 엔트리가 존재하는지 여부를 판정하는 것;
    디폴트 루트 엔트리가 미리 존재하지 않으면, 상기 주목 네트워크 인터페이스를 위한 루트 엔트리를 추가하는 것;
    디폴트 루트 엔트리가 미리 존재하면, 미리 판정된 기준의 충족을 통해, 상기 디폴트 루트 엔트리가 상기 주목 네트워크 인터페이스를 위한 루트 엔트리로 오버라이트되어야 함을 나타내는 선호 구성을 적용하는 것;
    기존의 디폴트 루트 엔트리를 상기 주목 네트워크 인터페이스를 위한 루트 엔트리로 오버라이트하는 것;
    상기 네트워크 인터페이스 접속 각각을 감시하여 인터넷 도달성을 판정하는 것; 및
    상기 주목 네트워크 인터페이스를 위한 인터넷 도달성이 존재하지 않는다고 판정 시, 미리 판정된 기준을 통해, 상기 복수의 네트워크 인터페이스 내의 대체 네트워크 인터페이스가 인터넷 도달 가능하며 인터넷 고 가용성을 제공하도록 상기 기존의 디폴트 루트 엔트리를 오버라이트하는 디폴트 루트 엔트리로서 추가되어야 함을 나타내는 선호 구성을 적용하는 것
    을 포함하는 동작을 수행하는, 컴퓨터 판독가능 저장 매체.
  8. 제7항에 있어서, 상기 인터넷 도달성을 위해 네트워크 인터페이스 접속 각각을 감시하는 동작은, 모든 네트워크 인터페이스 접속을 연속 감시하는 동작을 더 포함하는, 컴퓨터 판독가능 저장 매체.
  9. 제7항에 있어서, 상기 인터넷 도달성을 위해 모든 네트워크 인터페이스 접속을 감시하는 단계는, 미리 판정된 간격으로 모든 네트워크 인터페이스 접속을 감시하는 동작을 더 포함하는, 컴퓨터 판독가능 저장 매체.
  10. 제7항에 있어서, 상기 인터넷 도달성을 판정하는 동작은,
    "IP 어드레스 할당" 이벤트에 대하여 각 네트워크 인터페이스를 감시하는 동작;
    적어도 두 개의 미리 판정된 인터넷 웹사이트 URL에 대하여 DNS 쿼리를 수행하는 동작;
    상기 DNS 쿼리에 대한 성공적 응답의 수신 시, 상기 주목 네트워크 인터페이스를 갖는 호스트 루트를 추가하여 상기 성공적 응답이 수신된 DNS 쿼리를 통해 결정되는 인터넷 웹사이트 URL에 대한 목적지 IP 어드레스에 도달하는 동작;
    상기 주목 네트워크 인터페이스를 위한 TCP 소켓을 생성하는 동작;
    상기 주목 네트워크 인터페이스를 위한 상기 TCP 소켓을 결합하는 동작;
    상기 목적지 IP 어드레스에 결합된 TCP 소켓을 위한 TCP 접속을 HTTP 포트 80, HTTP 포트 8080, 또는 HTTP 포트 80과 8080에 대하여 수행하는 동작;
    상기 목적지 IP 어드레스에 대한 TCP 접속 시, 상기 주목 네트워크 인터페이스를 위한 인터넷 도달성 판정 또는 인터넷 도달성 없음 판정을 설정하는 동작;
    상기 TCP 소켓을 폐쇄하는 동작; 및
    추가된 상기 호스트 루트를 삭제하는 동작을 더 포함하는, 컴퓨터 판독가능 저장 매체.
  11. 제7항에 있어서, 상기 인터넷 도달성을 위해 모든 네트워크 인터페이스 접속을 감시하는 동작은,
    주목 네트워크 인터페이스가 인터넷 도달성을 갖지 않는 것으로 판정되었더라도 기존의 디폴트 루트 엔트리를 오버라이트할지 여부를 나타내는 미리 판정된 기준을 갖는 선호 구성을 적용하는 동작; 및
    적용된 상기 선호 구성이 미리 판정된 기준을 충족하는 경우 상기 기존의 디폴트 루트 엔트리를 상기 주목 네트워크 인터페이스를 위한 루트 엔트리로 오버라이트하는 동작을 더 포함하는, 컴퓨터 판독가능 저장 매체.
  12. 제11항에 있어서, 상기 모든 네트워크 인터페이스 접속을 감시하여 인터넷 도달성을 판정하는 동작은,
    "IP 어드레스 할당" 이벤트에 대하여 각 네트워크 인터페이스를 감시하는 동작;
    적어도 두 개의 미리 판정된 인터넷 웹사이트 URL에 대하여 DNS 쿼리를 수행하는 동작;
    상기 DNS 쿼리에 대한 성공적 응답의 수신 시, 상기 주목 네트워크 인터페이스를 갖는 호스트 루트를 추가하여 상기 성공적 응답이 수신된 DNS 쿼리를 통해 결정되는 인터넷 웹사이트 URL에 대한 목적지 IP 어드레스에 도달하는 동작;
    상기 주목 네트워크 인터페이스에 대한 TCP 소켓을 생성하는 동작;
    상기 주목 네트워크 인터페이스에 대한 상기 TCP 소켓을 결합하는 동작;
    상기 목적지 IP 어드레스에 결합된 상기 TCP 소켓을 위한 TCP 접속을 HTTP 포트 80, HTTP 포트 8080, 또는 HTTP 포트 80과 8080에 대하여 실시하는 동작;
    상기 목적지 IP 어드레스에 대한 TCP 접속 시, 상기 주목 네트워크 인터페이스를 위한 인터넷 도달성 판정을 설정하는 동작;
    상기 TCP 소켓을 폐쇄하는 동작; 및
    추가된 상기 호스트 루트를 삭제하는 동작을 더 포함하는, 컴퓨터 판독가능 저장 매체.
  13. 인터넷 도달성을 판정하기 위한 시스템으로서,
    네트워크 매니저에 의해 관리되는 복수의 네트워크 인터페이스를 갖는 네트워크 내의 멀티 호밍 장치를 포함하되,
    상기 네트워크 매니저는 하나 이상의 프로세서를 갖고, 상기 프로세서는,
    상기 멀티 호밍 장치를 상기 복수의 네트워크 인터페이스 내의 주목 네트워크 인터페이스에 접속하는 동작;
    상기 주목 네트워크 인터페이스의 인터넷 도달성을 판정하기 전에 상기 주목 네트워크 인터페이스를 위한 디폴트 루트 엔트리를 설정하는 동적 호스트 구성 프로토콜(DHCP) 클라이언트 기능성을 비활성화하는 동작;
    상기 주목 네트워크 인터페이스의 인터넷 도달성을 판정하는 동작;
    인터넷 도달성의 판정 시, 디폴트 루트 엔트리가 존재하는지 여부를 판정하는 동작;
    디폴트 루트 엔트리가 미리 존재하지 않으면, 상기 주목 네트워크 인터페이스를 위한 루트 엔트리를 상기 디폴트 루트 엔트리로서 추가하는 동작;
    디폴트 루트 엔트리가 미리 존재하면, 미리 판정된 기준의 충족을 통해, 상기 디폴트 루트 엔트리가 상기 주목 네트워크 인터페이스를 위한 루트 엔트리로 오버라이트되어야 함을 나타내는 선호 구성을 적용하는 동작;
    기존의 디폴트 루트 엔트리를 상기 주목 네트워크 인터페이스를 위한 루트 엔트리로 오버라이트하는 동작;
    인터넷 도달성이 존재하지 않는다고 판정 시, 미리 판정된 기준을 통해, 상기 네트워크 인터페이스가 상기 디폴트 루트 엔트리로서 추가되어야 함을 나타내는 선호 구성을 적용하는 동작;
    상기 네트워크 인터페이스 접속 각각을 감시하여 인터넷 도달성을 판정하는 동작을 수행하는, 시스템.
  14. 제13항에 있어서, 상기 네트워크 매니저는, 각각의 네트워크 인터페이스 접속을 연속 감시하는 동작을 수행하는, 시스템.
  15. 제13항에 있어서, 상기 네트워크 매니저는, 미리 판정된 간격으로 각각의 네트워크 인터페이스 접속을 감시하는 동작을 수행하는, 시스템.
  16. 제13항에 있어서, 상기 네트워크 매니저는,
    "IP 어드레스 할당" 이벤트에 대하여 각 네트워크 인터페이스를 감시하는 동작;
    적어도 두 개의 미리 판정된 인터넷 웹사이트 URL에 대하여 DNS 쿼리를 수행하는 동작;
    상기 DNS 쿼리에 대한 성공적 응답의 수신 시, 상기 주목 네트워크 인터페이스를 갖는 호스트 루트를 추가하여 상기 성공적 응답이 수신된 DNS 쿼리를 통해 결정되는 인터넷 웹사이트 URL에 대한 목적지 IP 어드레스에 도달하는 동작;
    상기 주목 네트워크 인터페이스를 위한 TCP 소켓을 생성하는 동작;
    상기 주목 네트워크 인터페이스를 위한 상기 TCP 소켓을 결합하는 동작;
    상기 목적지 IP 어드레스에 결합된 TCP 소켓을 위한 TCP 접속을 HTTP 포트 80, HTTP 포트 8080, 또는 HTTP 포트 80과 8080에 대하여 수행하는 동작;
    상기 목적지 IP 어드레스에 대한 TCP 접속 시, 상기 주목 네트워크 인터페이스를 위한 인터넷 도달성 판정 또는 인터넷 도달성 없음 판정을 설정하는 동작;
    상기 TCP 소켓을 폐쇄하는 동작; 및
    추가된 상기 호스트 루트를 삭제하는 동작
    을 추가로 수행함으로써, 상기 주목 네트워크 인터페이스를 위한 인터넷 도달성을 판정하는 동작을 수행하는, 시스템.
  17. 제13항에 있어서, 상기 네트워크 매니저는,
    주목 네트워크 인터페이스가 인터넷 도달성을 갖지 않는 것으로 판정되었더라도 기존의 디폴트 루트 엔트리를 오버라이트할지 여부를 나타내는 미리 판정된 기준을 갖는 선호 구성을 적용하는 동작; 및
    적용된 상기 선호 구성이 미리 판정된 기준을 충족하는 경우 상기 기존의 디폴트 루트 엔트리를 상기 주목 네트워크 인터페이스를 위한 루트 엔트리로 오버라이트하는 동작을 수행하는, 시스템.
  18. 제17항에 있어서, 상기 네트워크 매니저는,
    "IP 어드레스 할당" 이벤트에 대하여 각 네트워크 인터페이스를 감시하는 동작;
    적어도 두 개의 미리 판정된 인터넷 웹사이트 URL에 대하여 DNS 쿼리를 수행하는 동작;
    상기 DNS 쿼리에 대한 성공적 응답의 수신 시, 상기 주목 네트워크 인터페이스를 갖는 호스트 루트를 추가하여 상기 성공적 응답이 수신된 DNS 쿼리를 통해 결정되는 인터넷 웹사이트 URL에 대한 목적지 IP 어드레스에 도달하는 동작;
    상기 주목 네트워크 인터페이스를 위한 TCP 소켓을 생성하는 동작;
    상기 주목 네트워크 인터페이스를 위한 상기 TCP 소켓을 결합하는 동작;
    상기 목적지 IP 어드레스에 결합된 TCP 소켓을 위한 TCP 접속을 HTTP 포트 80, HTTP 포트 8080, 또는 HTTP 포트 80과 8080에 대하여 수행하는 동작;
    상기 목적지 IP 어드레스에 대한 TCP 접속 시, 상기 주목 네트워크 인터페이스를 위한 인터넷 도달성 판정 또는 인터넷 도달성 없음 판정을 설정하는 동작;
    상기 TCP 소켓을 폐쇄하는 동작; 및
    추가된 상기 호스트 루트를 삭제하는 동작
    을 추가로 수행함으로써, 상기 모든 네트워크 인터페이스 접속을 감시하여 인터넷 도달성을 판정하는 동작을 수행하는, 시스템.
KR1020180120679A 2017-11-23 2018-10-10 멀티 호밍 네트워크 장치를 위한 인터넷 도달성 검출 및 인터넷 고 가용성 KR102544733B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN201741042024 2017-11-23
IN201741042024 2017-11-23

Publications (2)

Publication Number Publication Date
KR20190059839A KR20190059839A (ko) 2019-05-31
KR102544733B1 true KR102544733B1 (ko) 2023-06-16

Family

ID=64476947

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180120679A KR102544733B1 (ko) 2017-11-23 2018-10-10 멀티 호밍 네트워크 장치를 위한 인터넷 도달성 검출 및 인터넷 고 가용성

Country Status (4)

Country Link
US (2) US10644993B2 (ko)
EP (2) EP3490227B1 (ko)
KR (1) KR102544733B1 (ko)
CN (1) CN109831383B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110418375B (zh) * 2018-04-27 2022-12-02 慧与发展有限责任合伙企业 自动确定网络设备的网状网角色
US11785658B2 (en) * 2021-06-24 2023-10-10 Mediatek Inc. Method and apparatus for performing internet reachability management with aid of indicator
GB2621316A (en) * 2022-07-25 2024-02-14 Mercedes Benz Group Ag An intelligent system and method for communicating with a motor vehicle

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140280910A1 (en) * 2013-03-14 2014-09-18 Nomadix, Inc. Hierarchical rule-based routing system
US20170207893A1 (en) * 2012-03-16 2017-07-20 Qualcomm Incorporated System and method for heterogeneous carrier aggregation
US20170280316A1 (en) * 2016-03-25 2017-09-28 International Business Machines Corporation Policy-driven aggregated network data use in mobile devices

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7284068B1 (en) 2002-06-20 2007-10-16 Cisco Technology, Inc. Technique for providing multi-homing capability in data networks
JP2005072685A (ja) * 2003-08-27 2005-03-17 Ntt Docomo Inc ルータ装置及びその装置における経路情報の配布方法並びに通信システム
CN100484044C (zh) * 2004-04-27 2009-04-29 华为技术有限公司 检测默认网关工作状态的方法及其装置
FI20050919A0 (fi) 2005-09-15 2005-09-15 Nokia Corp Monikotiselta isäntäkoneelta tulevien datapakettien reititys
US20090124284A1 (en) * 2007-11-14 2009-05-14 Shimon Scherzer System and method for providing seamless broadband internet access to web applications
RU2011117608A (ru) * 2008-10-15 2012-11-27 Нокиа Корпорейшн Способ, устройство и компьютерный программный продукт для определения сетевого интерфейса, используемого для доступа к сетевому ресурсу
US8171124B2 (en) * 2008-11-25 2012-05-01 Citrix Systems, Inc. Systems and methods for GSLB remote service monitoring
US8976795B2 (en) * 2009-02-25 2015-03-10 Microsoft Corporation Gateway advertisement in a wireless mesh
US8750188B2 (en) * 2010-12-01 2014-06-10 Deutsche Telekom Ag System support for accessing and switching among multiple wireless interfaces on mobile devices
US9736045B2 (en) * 2011-09-16 2017-08-15 Qualcomm Incorporated Systems and methods for network quality estimation, connectivity detection, and load management
US9706423B2 (en) * 2012-03-16 2017-07-11 Qualcomm Incorporated System and method of offloading traffic to a wireless local area network
TWI500290B (zh) * 2012-05-23 2015-09-11 Realtek Semiconductor Corp 網路連接裝置
CN103457774A (zh) * 2013-09-05 2013-12-18 深圳市共进电子股份有限公司 实现网络双上行自动切换备份的方法
CN105893193A (zh) * 2015-12-08 2016-08-24 乐视移动智能信息技术(北京)有限公司 安卓调试桥adb的连接控制方法及相关设备
US9825805B2 (en) * 2016-02-18 2017-11-21 Dell Products L.P. Multi-homing internet service provider switchover system
CN105721298B (zh) * 2016-02-19 2019-05-10 烽火通信科技股份有限公司 一种cpe设备实现双wan口上网的方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170207893A1 (en) * 2012-03-16 2017-07-20 Qualcomm Incorporated System and method for heterogeneous carrier aggregation
US20140280910A1 (en) * 2013-03-14 2014-09-18 Nomadix, Inc. Hierarchical rule-based routing system
US20170280316A1 (en) * 2016-03-25 2017-09-28 International Business Machines Corporation Policy-driven aggregated network data use in mobile devices

Also Published As

Publication number Publication date
US10931569B2 (en) 2021-02-23
US20190158386A1 (en) 2019-05-23
EP3490227B1 (en) 2020-07-29
EP3764608A1 (en) 2021-01-13
EP3764608B1 (en) 2023-08-09
EP3490227A1 (en) 2019-05-29
CN109831383B (zh) 2022-07-12
KR20190059839A (ko) 2019-05-31
US10644993B2 (en) 2020-05-05
CN109831383A (zh) 2019-05-31
US20200236036A1 (en) 2020-07-23

Similar Documents

Publication Publication Date Title
US8423607B2 (en) Fallback procedures for domain name server update in a mobile IP registration
US10931569B2 (en) Internet reachability detection and internet high availability for multi-homed network devices
KR102000310B1 (ko) 홈 네트워크에서 디바이스들의 인터넷 프로토콜 버전 6(IPv6)의 주소들을 추적하기 위한 방법 및 네트워크 엘리먼트
US20150281367A1 (en) Multipath tcp techniques for distributed computing systems
JP4765796B2 (ja) ルータ装置
RU2679345C1 (ru) Способ и устройство для автоматического сетевого взаимодействия устройства шлюза
US20190306111A1 (en) High precision mapping with intermediary dns filtering
CN110381131B (zh) Mec节点标识的实现方法、移动终端、服务器和存储介质
CN112654049B (zh) 用于配置无线通信覆盖扩展系统的方法、系统、节点和介质
WO2019052058A1 (zh) 一种域名重定向方法和系统
KR20140007363A (ko) 기업 네트워크 외부로부터의 사이트-인식 분산형 파일 시스템 액세스
EP3409071B1 (en) Wireless mesh network formation
US9806946B2 (en) Dynamic middlebox redirection based on client characteristics
KR102141444B1 (ko) 모바일 콘텐트 네트워크에서 데이터 전송 및 수신 장치 및 방법
US20170289099A1 (en) Method and Device for Managing Internet Protocol Version 6 Address, and Terminal
CN105376835A (zh) 一种便携式设备和移动终端连接便携式设备的方法
US8488618B1 (en) Dual-connect service box with router bypass
US20190158372A1 (en) Captive portal detection
Kozuka et al. A policy-based path selection mechanism in QUIC multipath extension
WO2017049986A1 (zh) Ip参数配置方法、网址处理方法及装置
CN116260886A (zh) 通信方法、系统、设备及存储介质
CN115514637A (zh) 远程网关调整方法及系统

Legal Events

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