KR101341728B1 - 네트워크에서의 장애 발생 라우터를 결정하기 위한 시스템, 방법 및 프로그램 - Google Patents

네트워크에서의 장애 발생 라우터를 결정하기 위한 시스템, 방법 및 프로그램 Download PDF

Info

Publication number
KR101341728B1
KR101341728B1 KR1020107025324A KR20107025324A KR101341728B1 KR 101341728 B1 KR101341728 B1 KR 101341728B1 KR 1020107025324 A KR1020107025324 A KR 1020107025324A KR 20107025324 A KR20107025324 A KR 20107025324A KR 101341728 B1 KR101341728 B1 KR 101341728B1
Authority
KR
South Korea
Prior art keywords
router
routers
target device
program
source device
Prior art date
Application number
KR1020107025324A
Other languages
English (en)
Other versions
KR20110021767A (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 KR20110021767A publication Critical patent/KR20110021767A/ko
Application granted granted Critical
Publication of KR101341728B1 publication Critical patent/KR101341728B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • 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
    • 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/28Routing or path finding of packets in data switching networks using route fault recovery
    • 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/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

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)
  • Small-Scale Networks (AREA)

Abstract

소스 장치로부터 대상 장치로의 통신의 장애 원인을 결정하기 위한 시스템, 방법 및 프로그램 제품에 관한 것이다. 소스 장치로부터 대상 장치로의 선호되는 경로는 순방향 순서로 일련의 라우터를 포함한다. 제1 프로그램 명령들은 대상 장치를 향하여 소스 장치로부터 순방향 순서로 일련의 라우터 중에서 하나 이상의 초기 라우터를 결정한다. 초기 라우터들 중 최종 라우터는 대상 장치를 향하는 순방향 순서의 일련의 라우터에서 다음 라우터를 지정하지 않는다. 제2 프로그램 명령들은 소스 장치를 향하여 대상 장치로부터 역방향 순서로 일련의 라우터를 결정한다. 제3 프로그램 명령들은, 제2 프로그램 명령들에 의해 결정되는 바와 같은 역방향 순서의 일련의 라우터 중에서 어떤 라우터를 초기 라우터들의 최종 라우터가 대상 장치를 향하는 순방향 순서의 자신의 다음 라우터로서 지정해야 하는지를 결정하고, 초기 라우터들의 최종 라우터가 어떤 라우터를 대상 장치를 향하는 순방향 순서의 자신의 다음 라우터로서 지정해야 하는지에 대한 통지를 송신한다.

Description

네트워크에서의 장애 발생 라우터를 결정하기 위한 시스템, 방법 및 프로그램{SYSTEM, METHOD AND PROGRAM FOR DETERMINING FAILED ROUTERS IN A NETWORK}
본 발명은 일반적으로 컴퓨터 시스템 및 네트워크에 관한 것으로서, 보다 상세하게는 네트워크 통신에서의 트러블-슈팅 장애에 관한 것이다.
오늘날 인터넷과 같은 컴퓨터 네트워크는 널리 알려져 있다. 이러한 네트워크로는 통신 매체, 방화벽, 라우터, 네트워크 스위치 및 허브가 있다(통상적으로, 방화벽, 네트워크 스위치 및 허브는 라우터를 포함한다). 네트워크는 흔히 클라이언트 컴퓨터 및 서버 또는 기타 소스 장치 및 대상 장치를 상호 접속한다. 대상 "장치"는 서브넷에 대한 대상 컴퓨터 또는 게이트웨이일 수 있다. 인터넷을 통한 통신의 경우, 통상적으로 소스 컴퓨터와 대상 장치 간에 많은 라우터 및 많은 라우팅가능 경로가 존재한다. 메시지가 라우터에 도달하면, 그 라우터는 대상 장치로의 경로에 있는 다음 라우터, 즉, 홉(hop)에 대한 결정을 내린다. OSPF, RIP, IGRP, EIGRP, ISIS 또는 BGP와 같이, 이러한 결정을 내리기 위한 많은 알고리즘이 알려져 있다. RIP, OSPF, ISIS 프로토콜을 이용하는 라우터들은, 최단 경로, 즉, 중계 라우터들의 최소 수를 통해 대상 장치에 메시지 패킷들을 라우팅하려 한다. OSPF 프로토콜을 이용하는 라우터들도 메시지 패킷을 다음 홉에 포워딩하는 데 사용되는 인터페이스에 기초하여 다음 홉에 대한 경로의 대역폭을 결정할 수 있다. IGRP 및 EIGRP 프로토콜을 이용하는 라우터들은 최대 대역폭, 최단 지연 및 최단 경로 인자들에 기초하여 메시지 패킷들을 라우팅하려 한다. BGP 프로토콜을 이용하는 라우터들은 최단 자율 시스템 경로(즉, 단일 관리 제어 내의 라우터들의 최소 수) 또는 최소 멀티-엑시트 디스크리미네이터(multi-exit discriminator; MED)(즉, 이웃 라우터들 등에게 광고되는 하나의 라우트(route)보다 다른 하나의 라우트의 선호)에 기초하여 메시지 패킷들을 라우팅하려 한다. OSPF, IGRP, EIGRP 및 BGP 라우팅 기능들은 대부분의 대상 장치들로의 하나보다 많은 라우트를 식별하고 기록하고, 이들을 적용가능 라우팅 정책에 기초하는 순서로 이들을 활용하려 한다.
일반적인 상황에서, 소스 컴퓨터는 TCP/IP 아답터 카드에 전달하는 메시지를 생성한다. TCP/IP 아답터 카드는 메시지를 패킷들로 분할하여 각 패킷마다 헤더를 추가한다. 헤더는 소스 IP 어드레스와 포트, 대상 IP 어드레스와 포트 및 프로토콜을 특정한다. 소스 컴퓨터는 메시지 패킷들을 소스 컴퓨터용 방화벽이나 (게이트웨이 라우터와 같은) 게이트웨이 장치에 포워딩한다. 통상적으로, 방화벽은 허용되는 메시지 흐름들("규칙들")의 리스트, 즉, 소스 IP 어드레스와 포트, 대상 IP 어드레스와 포트, 방화벽을 통해 양 방향으로 전달 허용되는 메시지 패킷용 프로토콜의 조합들의 리스트를 갖는다. 통상적으로, 방화벽은 라우터도 포함한다. 메시지 패킷이 소스 네트워크의 방화벽을 통해 전달될 자격이 있으면, 라우터는 대상 장치를 향하는 도중에 "다음 홉" 라우터를 결정한다. 라우터는, 전술한 바와 같이, 알려져 있는 라우팅 프로토콜에 기초하여 "다음 홉"을 결정한다. 이어서, 메시지 패킷은 대상 네트워크를 향하여 라우터 단위로 전진하며, 여기서 (대상 네트워크에서의 방화벽이 그 메시지 패킷의 흐름을 허용한다고 가정할 때) 대상 네트워크를 위한 방화벽이나 게이트웨이 장치는 메시지 패킷을 대상 컴퓨터나 기타 대상 시스템에 포워딩한다.
때때로, 메시지는 자신의 대상 장치에 도달하지 못한다. 이는 통신 경로의 라우터 장애, 통신 경로의 라우터들 간의 통신 링크 또는 장애, 통신 경로의 방화벽에 의한 적절한 차단 또는 부적절한 차단, 또는 기타 원인으로 인한 것일 수 있다.
관리자가 이러한 장애를 학습할 수 있는 여러 방식이 있다. 예를 들어, 소스 장치가 대상 장치로부터 예상 응답을 수신하지 않으면, 소스 장치의 사용자는 헬프 데스크를 호출하거나 그외에는 관리자에게 통지할 수 있다. 다른 예로, 경로의 라우터가 대상 장치로의 "라우트"(route)를 갖지 않거나 다음 홉으로의 통신 링크가 다운되면, 라우터는 에러 메시지를 소스 장치에 리턴할 수 있다.
관리자는, 네트워크에서 장애를 검출하면, 장애 원인을 식별한 후 그 장애를 고치려 할 것이다. 경로의 라우터가 대상 장치로의 "라우트"를 갖지 않거나 다음 홉으로의 통신 링크가 다운되면, 에러 메시지는 그 문제의 유형을 지시할 것이다.
본 발명의 목적은 네트워크 통신에서의 장애의 트러블-슈팅을 개선하는 것이다.
본 발명은 소스 장치로부터 대상 장치로의 통신의 장애 원인을 결정하기 위한 시스템, 방법 및 프로그램 제품에 관한 것이다. 소스 장치로부터 대상 장치로의 바람직한 라우트는 순방향 순서로 일련의 라우터를 포함한다. 제1 프로그램 명령들은 대상 장치를 향하여 소스 장치로부터 순방향 순서의 일련의 라우터 중에서 하나 이상의 초기 라우터를 결정한다. 초기 라우터들 중 최종 라우터는 대상 장치를 향하는 순방향 순서의 일련의 라우터에서 다음 라우터를 지정하지 않는다. 제2 프로그램 명령들은 소스 장치를 향하여 대상 장치로부터 역방향 순서로 일련의 라우터를 결정한다. 제3 프로그램 명령들은, 초기 라우터들 중 최종 라우터가 제2 프로그램 명령들에 의해 결정된 바와 같은 역방향 순서의 일련의 라우터 중에서 어떤 라우터를 대상 장치를 향하는 순방향 순서의 자신의 다음 라우터로서 지정해야 하는지를 결정하고, 초기 라우터들 중 최종 라우터가 어떤 라우터를 대상 장치를 향하는 순방향 순서의 자신의 다음 라우터로서 지정해야 하는지에 대한 통지를 송신한다.
본 발명의 일 양태에 따르면, 제1 프로그램 명령들은, 부분적으로는, 소스 장치에게 대상 장치를 향하는 자신의 다음 라우터에 대하여 질의하고 소스 장치의 다음 라우터에게 대상 장치를 향하는 그 소스 장치의 다음 라우터의 다음 라우터에 대하여 질의함으로써, 순방향 순서의 일련의 라우터 내의 하나 이상의 초기 라우터들을 결정한다. 제2 프로그램 명령들은, 대상 장치에게 소스 장치를 향하는 자신의 다음 라우터에 대하여 질의하고 대상 장치의 다음 라우터에게 소스 장치를 향하는 그 소스 장치의 다음 라우터의 다음 라우터에 대하여 질의함으로써, 소스 장치를 향하여 대상 장치로부터 역방향 순서로 일련의 라우터를 결정한다.
본 발명의 다른 일 양태에 따르면, 제4 프로그램 명령들은 바람직한 라우트의 방화벽을 결정하고 방화벽을 통한 소스 장치로부터 대상 장치로의 메시지 흐름을 허용하는 규칙을 그 방화벽이 포함하는지를 결정하며, 포함하지 않는다면, 방화벽을 통한 소스 장치로부터 대상 장치로의 메시지 흐름을 허용하는 규칙을 그 방화벽이 포함하지 않는다는 통지를 생성한다.
본 발명은 소스 장치로부터 대상 장치로의 통신의 장애 원인을 결정하기 위한 시스템, 방법 및 프로그램 제품을 제공한다.
도 1은 본 발명을 포함하는 네트워크 관리 서버, 네트워크 관리 서버가 네트워크 통신 장애를 트러블-슈팅할 수 있는 통신을 위한, 소스 컴퓨터, 게이트웨이 장치, 라우터 및 대상 장치의 블록도이다.
도 2a 내지 도 2f는 본 발명에 따른 네트워크 관리 서버 내의 네트워크 통신 트러블-슈팅 프로그램의 흐름도이다.
이하, 첨부 도면을 참조하여 본 발명을 상세히 설명한다. 도 1은 일반적으로 본 발명이 구체화되는 참조 번호 10으로 지정된 분산형 컴퓨터 시스템을 도시한다. 시스템(10)은 서브넷(30) 상의 소스 컴퓨터(20) 및 서브넷(30)을 사설 또는 (공중 인터넷과 같은) 공중 네트워크(34)에 인터페이싱하는 게이트웨이 장치(40)를 포함한다. 네트워크(34)는 (소스 컴퓨터(20)로부터 발생하는) 메시지 패킷들을 게이트웨이 장치(40)로부터 대상 서브넷(230)용 게이트웨이 장치(240)에 포워딩하기 위한 네트워크 라우터(36-1, 36-2, 36-3,...36-N)와 같은 다수의 라우터를 포함한다. 라우터들은 WAN 라우터, 커스터머 액세스 라우터, 커스터머의 내부 라우터, 인터넷 액세스 라우터, 인터넷 내의 라우터 등일 수 있다. 대상 컴퓨터(220)는, 서브넷(230) 상에 상주하며, 소스 컴퓨터(20)가 송신한 메시지들을 처리한다. 또한, 대상 컴퓨터(220)는 게이트웨이 장치(240), 네트워크 라우터(36-1, 36-2, 36-3,...36-N), 게이트웨이 장치(40)를 통해 (응답 및 발신) 메시지들을 소스 컴퓨터(20)에 송신하고, 소스 컴퓨터(20)는 그러한 메시지들을 처리한다.
소스 컴퓨터(20)는 워크스테이션, 서버 또는 다른 유형의 컴퓨터일 수 있으며, 공통 버스(25) 상에 알려져 있는 CPU(21), 운영 체제(22), RAM(23), ROM(24), 기억 장치(26) 및 TCP/IP 아답터 카드(27)를 포함한다. 또한, 소스 컴퓨터(20)는 대상 컴퓨터(220)용 (및 기타 대상 컴퓨터용) 출력 메시지들을 생성하고 입력 메시지들도 처리하는 애플리케이션(28)과 같이 알려져 있는 컴퓨터 프로그램을 포함한다.
게이트웨이 장치(40)는 공통 버스(45) 상에 알려져 있는 CPU(41), 운영 체제(42), RAM(43), ROM(44), 기억 장치(46) 및 TCP/IP 아답터 카드(127)를 포함한다. 또한, 게이트웨이 장치(40)는 알려져 있는 라우터 또는 OSPF, RJP, ISIS, IGRP, EIGRP 또는 BGP 라우팅 기능부와 같은 (하드웨어 및/또는 소프트웨어로 구체화된) 라우팅 기능부(47)를 포함한다. 이렇게 알려져 있는 라우팅 기능부들은 대상 장치(예를 들어, 대상 서브넷 또는 대상 컴퓨터)에 대한 노드(즉, 라우터, 방화벽 등)와 같은 하나 이상의 라우팅 경로, 즉, "라우트"를 식별 및 기록한다. 대상 장치에 대한 하나 이상의 라우팅 경로를 식별 및 기록하는 다른 라우팅 기능부들을 라우팅 기능부(47)용으로 이용해도 된다. 알려져 있는 RIP, OSPF 및 ISIS 라우팅 기능부들은 최단 경로, 즉, 최소 수의 중계 라우터를 통해 메시지 패킷들을 대상 장치에 라우팅하려 한다. 또한, 알려져 있는 OSPF 라우팅 기능부는 메시지 패킷을 다음 홉에 포워딩하는 데 이용되는 인터페이스에 기초하여 다음 홉에 대한 경로의 대역폭을 결정할 수 있다. 알려져 있는 IGRP 및 EIGRP 라우팅 기능부들은 최대 대역폭, 최단 지연 및 최단 경로 인자들에 기초하여 메시지 패킷들을 라우팅하려 한다. 알려져 있는 BGP 라우팅 기능부는 최단 자율 시스템 경로(즉, 단일 관리 제어 내의 최소 수의 라우터) 또는 최소 멀티 엑시트 디스크리미네이터(mult-exit discriminator; MED)(즉, 이웃하는 라우터들 등에 광고되는 하나의 라우터보다 다른 하나의 라우터를 선호)에 기초하여 메시지 패킷들을 라우팅하려 한다. OSPF, IGRP, EIGRP 및 BGP 라우팅 기능부들은 대부분의 장치에 대한 하나 이상의 라우트를 식별 및 기록하고, 이들을 적용가능 라우팅 정책에 기초하여 순서대로 활용하려 한다.
게이트웨이 장치(40)는 알려져 있는 방화벽(48) 및 TCP/IP 아답터 카드(257)도 포함한다. 방화벽(48)은 허용되는 메시지 흐름들("규칙들")의 리스트(52), 즉, 소스 IP 어드레스와 포트, 대상 IP 어드레스와 포트, 및 각 방향으로 방화벽(48)을 통해 전달 허용되는 메시지 패킷들을 위한 프로토콜의 조합들의 리스트를 갖는다.
대상 컴퓨터(220)는 워크스테이션, 서버 또는 다른 유형의 컴퓨터일 수 있으며, 공통 버스(225) 상에 알려져 있는 CPU(221), 운영 체제(222), RAM(223), ROM(224), 기억 장치(226) 및 TCP/IP 아답터 카드(227)를 포함한다. 또한, 대상 컴퓨터(220)는 소스 컴퓨터(20)용 (및 기타 대상 컴퓨터용) 출력 메시지들을 생성하고 소스 컴퓨터(20)(및 기타 소스 컴퓨터)로부터의 입력 메시지들도 처리하는 컴퓨터 프로그램(228)을 포함한다.
게이트웨이 장치(240)는 공통 버스(245) 상에 알려져 있는 CPU(241), 운영 체제(242), RAM(243), ROM(244) 및 기억 장치(246)를 포함한다. 또한, 게이트웨이 장치(240)는 알려져 있는 라우터 또는 OSPF, RJP, ISIS, IGRP, EIGRP 또는 BGP 라우팅 기능부와 같이 (하드웨어 및/또는 소프트웨어로 구체화된) 라우팅 기능부(247)를 포함한다. 이렇게 알려져 있는 라우팅 기능부들은 대상 장치에 대한 하나 이상의 라우팅 경로를 식별 및 기록한다. 대상 장치에 대한 하나 이상의 라우팅 경로를 식별 및 기록하는 다른 라우팅 기능부들을 라우팅 기능부(247)용으로 이용해도 된다. 전술한 바와 같이, 알려져 있는 RIP, OSPF 및 ISIS 라우팅 기능부들은 최단 경로, 즉, 최소 수의 중계 라우터를 통해 메시지 패킷들을 대상에게 라우팅하려 한다. 또한, 알려져 있는 OSPF 라우팅 기능부는 메시지 패킷을 다음 홉에 포워딩하는 데 이용되는 인터페이스에 기초하여 다음 홉에 대한 경로의 대역폭을 결정할 수 있다. 알려져 있는 IGRP 및 EIGRP 라우팅 기능부들은 최대 대역폭, 최단 지연 및 최단 경로 인자들에 기초하여 메시지 패킷들을 라우팅하려 한다. 알려져 있는 BGP 라우팅 기능부는 최단 자율 시스템 경로(즉, 단일 관리 제어 내의 최소 수의 라우터) 또는 최소 멀티 엑시트 디스크리미네이터(MED)(즉, 이웃하는 라우터들 등에 광고되는 하나의 라우터보다 다른 하나의 라우터의 선호)에 기초하여 메시지 패킷들을 라우팅하려 한다. OSPF, IGRP, EIGRP 및 BGP 라우팅 기능부들은 대상 장치들에 대한 하나 이상의 라우트를 식별 및 기록하고, 이들을 적용가능 라우팅 정책에 기초하여 순서대로 활용하려 한다.
게이트웨이 장치(240)는 알려져 있는 방화벽(248)도 포함한다. 방화벽(248)은 허용되는 메시지 흐름들("규칙들")의 리스트(252), 즉, 소스 IP 어드레스와 포트, 대상 IP 어드레스와 포트, 각 방향으로 방화벽을 통해 전달 허용되는 메시지 패킷들을 위한 프로토콜의 조합들의 리스트를 갖는다.
또한, 도 1은 공통 버스(325) 상에 알려져 있는 CPU(321), 운영 체제(322), RAM(323), ROM(324) 및 기억 장치(326)를 포함하는 네트워크 관리 서버(300)를 도시한다. 또한, 네트워크 관리 서버(300)는 장애가 발생한 네트워크 통신의 원인을 결정하여 정정 액션을 취하도록 본 발명에 따른 네트워크 통신 트러블-슈팅 프로그램(330)을 포함한다. 프로그램(330)은 (네트워크에서의 기타 게이트웨이 장치, 라우터 및 방화벽뿐만 아니라) 게이트웨이 장치들(40, 240) 및 라우터들(36-1 내지 36-N)의 각각에 대한 로그인/인증 정보를 갖는 테이블(340)을 포함한다. 통신 장애로 인해 (또는 프로그램(330)에 직접 송신되는 통신 메시지의 장애로 인해) 관리자가 프로그램(330)을 호출하면, 프로그램(330)은 이러한 로그인/인증 정보를 이용하여 선호하는 경로의 게이트웨이 장치들(40, 240) 및 라우터들(36-1 내지 36-N)의 각각에 로그온한다. 프로그램(330)은, 소스 장치 또는 통신 장애를 보고한 장치부터 시작하여 다음 홉을 위해 그 장치의 라우팅 테이블을 확인하면서, 선호하는 경로의 게이트웨이 장치들(40, 240) 및 라우터들(36-1 내지 36-N)을 순차적으로 식별한다. 이어서, 프로그램(330)은 다음 홉에 로그온하고 라우팅 테이블을 확인하여 다음 홉 등을 결정한다. 다음으로, 프로그램(330)은, (a) 각 라우팅 테이블의 각 대상 장치에 대하여, 대상 장치의 이름, 대상 네트워크, 대상 서브넷, 흔히 "대상 게이트웨이"라 칭하는 다음 홉 장치(즉, 대상 서브넷의 다음 홉 라우터, 다음 홉 방화벽 또는 게이트웨이 장치)의 이름을 포함하여 세이브된 각 대상 장치의 라우팅 테이블들, (b) 각 태스크 라우팅 테이블의 각 대상 장치에 대하여, 잡(job)의 이름(즉, 태스크 라우팅 테이블에 현재 액세스하는 사람의 이름), 대상 장치의 이름, 대상 네트워크의 이름, 대상 서브넷의 이름, 흔히 "대상 게이트웨이"라 칭하는 다음 홉(즉, 대상 서브넷의 다음 홉 라우터, 다음 홉 방화벽 또는 게이트웨이 장치)의 이름을 포함하는 각 대상 장치의 태스크 라우팅 테이블들, (c) 현재 액세스되고 있는 라우터 또는 게이트웨이 장치의 이름, 라우터 또는 게이트웨이 장치를 위한 인터페이스 이름(예를 들어, ETHO, ETHI, FastETHO, FastETHl), 라우터 또는 게이트웨이 장치를 위한 인터페이스 IP 어드레스, 및 라우터 또는 게이트웨이 장치를 위한 (동일한 서브넷에서의 나머지 IP 어드레스들을 식별하는) 인터페이스 서브넷 마스크를 포함하여 세이브된 인터페이스 테이블들, (d) 현재 잡의 식별(즉, 태스크 라우팅 테이블에 현재 액세스하고 있는 사람의 이름), 대상 장치의 이름, 대상 네트워크의 이름, 대상 서브넷의 이름, 및 대상 장치에 대한 흔히 "대상 게이트웨이"라 칭하는 다음 홉(즉, 대상 서브넷의 다음 홉 라우터, 다음 홉 방화벽 또는 게이트웨이 장치)의 이름을 포함하는 각 태스크 인터페이스 테이블들을 판독 및 기록한다. 또한, 선호 경로의 각 방화벽에 대하여, 프로그램(330)은, 소스 IP 어드레스와 포트, 대상 IP 어드레스와 포트, 및 각 방향의 프로토콜의 허용되는 조합들을 포함하여, 각 방화벽(48, 248)을 통해 허용되는 메시지 흐름들에 대한 규칙들(52, 252)의 리스트들을 판독 및 기록한다.
장애 발생 통신이, 통신을 수신하지만 대상 장치를 향한 적절한 다음 홉 라우터를 열거하지 않는 (그리고 통신을 적절한 다음 홉 라우터에 포워딩하지 않는) 선호 경로의 잘못 구성된 라우터로 인한 경우에, 프로그램(330)은 잘못 구성된 라우터에 대한 전술한 순방향 분석을 중단한다. 이어서, 프로그램(330)은 대상 장치부터 시작하여 초기 소스 장치를 향하여 홉 단위로 진행하면서 전술한 분석을 역방향으로 반복한다. 통상적으로, 적어도 하나의 방향(이 경우, 역방향)의 모든 라우터들은 모두 선호 라우트에서의 다음 홉을 각각 열거하도록 적절히 구성된다. 역방향 순서로 다음 홉들의 리스트가 선호 라우트에 따른다고 가정하면, 프로그램(330)은 이러한 역방향 순서의 다음 홉들의 리스트를 순방향 순서의 다음 홉들의 리스트와 비교하고, 잘못 구성된 라우터에 대한 라우팅 테이블에 오류를 기록한다. 예를 들어, (a) 라우터들(36-1 내지 36-N)이 이러한 순서로 소스 장치(20)로부터 대상 장치(220)로의 선호되는/유일한 라우트이고, (b) (순방향의) 라우터(36-2)가 라우터(36-3) 대신에 라우터(37)를 대상 장치(220)를 향한 다음 홉으로서 열거하고 대상 장치(220)를 향한 장치(20)로부터의 통신이 라우터(36-2)에서 장애가 발생하였고, (c) (역방향의) 라우터(36-3)가 라우터(36-2)를 소스 장치(20)를 향한 다음 홉으로서 열거하고 장치(20)를 향한 장치(220)로부터의 통신이 성공적이었다고 가정하면, 프로그램(330)은, 대상 장치(220)를 위한 라우터(36-2)의 라우팅 테이블 엔트리를 라우터(36-3)로 변경해서 다른 방향으로의 성공적인 라우트에 일치/따르게 해야 한다고 결정한다.
따라서, 프로그램(330)은 라우팅 테이블이 대상 장치에 대한 선호 라우트에서 다음 홉을 특정하지 않은 라우터를 장애 발생 통신의 원인으로서 식별한다. 다음으로, 프로그램(330)은 기존의 라우팅 테이블이 대상 장치를 향한 선호 라우트에서 다음 홉을 특정하지 않은 "테스트" 라우팅 테이블을 생성한다. "테스트" 라우팅 테이블은 대상 장치를 향한 선호 라우트에서 다음 홉을 열거한다. 이어서, 기존의 라우팅 테이블 대신에 "테스트" 라우팅 테이블을 이용하여, 프로그램(330)은 양 방향으로 선호 라우트의 모든 라우터에 대하여 전술한 분석을 반복하여, 이 모든 라우터가 선호 라우트에서 다음 라우터를 자신의 다음 홉으로서 열거하는지를 결정한다. 열거하지 않는다면, 프로그램(330)은, 전술한 바와 동일한 방식으로, 대상 장치를 향한 선호 라우트에서 다음 홉을 열거하지 않는 라우터를 위한 다른 하나의 "테스트" 라우팅 테이블을 생성 및 이용한다. 선호 라우트의 모든 라우터들이, "테스트" 라우팅 테이블이 없는 경우 자신들의 기존의 라우팅 테이블에 기초하여 또는 프로그램(330)이 "테스트" 라우팅 테이블을 생성한 경우 자신들의 "테스트" 라우팅 테이블에 기초하여 선호 라우트에서 다음 홉을 열거하면, 프로그램(330)은, 선호 라우트를 구현하도록 각 "테스트" 라우팅 테이블을 필요로 하는 각 라우터 및 선호 라우트를 구현하도록 각 라우팅 테이블에 추가될 필요가 있는 "다음 홉"을 관리자에게 통지한다. 이에 응답하여, 관리자는 이러한 라우터들의 라우팅 테이블들을 수동으로 갱신할 수 있고 또는 기존의 라우팅 테이블을 "테스트" 라우팅 테이블로 대체하여 그 라우팅 테이블들을 갱신할 것을 프로그램(330)에게 지시할 수 있다. 다른 방안으로, 프로그램(330)은, 선호 라우트의 모든 라우터들이 "테스트" 라우팅 테이블이 없는 경우 자신들의 기존의 라우팅 테이블에 기초하여 또는 프로그램(330)이 "테스트" 라우팅 테이블을 생성한 경우 자신들의 "테스트" 라우팅 테이블에 기초하여 선호 라우트에서 다음 홉을 열거하는 경우, 기존의 라우팅 테이블을 "테스트" 라우팅 테이블로 대체하여 라우팅 테이블들을 자동 갱신할 수 있다.
대상 장치를 향한 선호 라우트에서의 라우터의 라우팅 테이블로부터의 다음 홉 정보는 그 선호 라우트에 하나 이상의 방화벽을 포함할 수 있다. 이 정보를 이용하여, 프로그램(330)은 소스 컴퓨터의 방화벽이 존재한다면 이 방화벽 및 대상 컴퓨터의 방화벽이 존재한다면 이 방화벽을 포함하여 선호 라우트의 모든 방화벽을 식별한다. 다음으로, 프로그램(330)은 이러한 방화벽에 로그온하고 이러한 방화벽들에 대하여 허용되는 메시지 흐름들에 대한 규칙들을 획득하여, 이러한 방화벽들이 메시지 패킷들의 통과를 허용하는지, 즉, 소스 IP 어드레스 및 포트, 대상 IP 어드레스 및 포트, 및 장애 발생 통신의 프로토콜에 대하여 허용되는 메시지 흐름을 포함하는지를 결정한다. 포함하지 않는다면, 프로그램(330)은 장애 발생 통신의 메시지 패킷들의 흐름을 허용하지 않는 방화벽을 잠재적으로 문제가 있는 것으로서 식별한다. 또한, 프로그램(330)은 허용되는 메시지 흐름들에 대한 기존의 규칙들이 장애 발생 통신을 허용하지 않았던 방화벽에 대하여 허용되는 메시지 흐름들에 대한 규칙들의 새로운 "테스트" 리스트를 생성한다. 이 "테스트" 리스트는, 허용되는 메시지 흐름들에 대한 기존의 규칙들이 장애 발생 통신을 허용하지 않았던 방화벽에서 허용되는 메시지 흐름들에 대한 규칙들의 기존의 리스트의 복사본이며, 또한, "테스트" 규칙을 포함한다. "테스트" 규칙은 방화벽을 통한 장애 발생 통신의 흐름을 허용한다. 이어서, 프로그램(330)은 선호 라우트의 모든 방화벽에 대하여 전술한 분석을 반복하여 이러한 방화벽들 모두가 장애 발생 통신의 흐름을 허용하는 규칙을 포함하는지를 결정하고, 이러한 반복 분석에 있어서 기존의 리스트 대신에 "테스트" 리스트를 이용한다. 또한, 프로그램(330)은, 장애 발생 통신을 허용하는 규칙을 포함하지 않은 임의의 방화벽을 관리자에게 통지하고, 그 방화벽이 이러한 장애 발생 통신을 허용하는 규칙을 포함해야 하는지에 대하여 관리자에게 질의한다. 이 방화벽이 이 메시지 흐름을 허용하지 않아야 한다면, 그 방화벽은 적절한 것이며 변경되지 않아야 한다. 그 외에는, 관리자는 규칙들의 기존의 리스트를 규칙들의 "테스트" 리스트로 대체하도록 또는 프로그램(330)이 기존의 리스트를 "테스트" 리스트로 대체할 것을 요청하도록 방화벽을 재구성할 수 있다.
도 2a 내지 도 2f는 프로그램(330)의 기능 및 동작을 보다 상세히 도시한다. 단계(400)에서, 프로그램(330)은, 관리자로부터 장애 발생 통신의 소스 IP 어드레스 및 대상 IP 어드레스의 식별을 수신한다(또는 이 정보를 장애 발생 통신 메시지를 생성한 소스 장치 또는 라우터로부터 송신된 장애 발생 통신으로부터 자동 수신할 수 있다). 이에 응답하여, 프로그램(330)은 서버(도시하지 않음)로부터 소스 장치(예를 들어, 소스 컴퓨터(20))의 아이덴티티 및 대상 장치(예를 들어, 대상 컴퓨터(220))의 아이덴티티를 식별한다(단계 402). 다음으로, 프로그램(330)은 소스 장치와 대상 장치에 접속하려 한다(결정 단계 410). 프로그램(330)이 접속할 수 있는(결정 단계 410에서의 예) 소스 장치와 대상 장치의 각각에 대하여, 프로그램(330)은 이 장치들의 라우팅 및 인터페이스 구성을 페치한다(단계 414). 다음으로, 프로그램(330)이 소스 장치에 접속할 수 있었다면, 프로그램(330)은 소스 장치에 대한 라우팅 및 인터페이스 구성 정보가 소스 장치의 데이터베이스와 일치하는 지를 결정하고, 프로그램(330)이 대상 장치에 접속할 수 있었다면, 프로그램(330)은 대상 장치에 대한 라우팅 및 인터페이스 구성 정보가 대상 장치의 데이터베이스와 일치하는지를 결정한다(결정 단계 420). 일치한다면(결정 단계 420에서 예), 프로그램(330)은 인터페이스 및 라우팅 정보가 그 장치와 일치하는 (프로그램(330)이 접속 및 검색할 수 있었던) 소스 장치와 대상 장치의 각각에 대한 라우팅 및 구성 정보를 구문 분석한다(단계 430). 소스 장치에 대한 라우팅 및 인터페이스 구성 정보가 소스 장치의 데이터베이스와 일치하지 않으면(결정 단계 420에서 아니오), 프로그램(330)은 라우팅 및 인터페이스 정보와 일치하도록 소스 및/또는 대상 장치의 데이터베이스를 갱신(단계 424)한 후, 단계(430)로 진행하여 라우팅 및 인터페이스 정보를 구문 분석한다.
프로그램(330)이 소스 장치와 대상 장치 중 어느 하나 또는 둘 다로부터 라우팅 및 인터페이스 구성 정보를 접속 및 검색할 수 없었던 결정 단계(410)의 아니오(no)의 경우를 다시 참조한다. 이러한 경우에(결정 단계 410에서 아니오), 프로그램(330)은 라우팅 및 인터페이스 정보를 소스 장치와 대상 장치로부터 이용가능한 정도로 검색한다(단계 450). 다음으로, 프로그램(330)은 소스 장치와 대상 장치로부터 모든 라우팅 및 인터페이스 정보를 검색할 수 있는지를 결정한다(단계 460). 프로그램(330)이 소스 장치와 대상 장치로부터 검색할 수 없는 임의의 라우팅 및 인터페이스 정보에 대하여(결정 단계 460에서 아니오), 프로그램(330)은 라우팅 및 인터페이스 정보의 수동 입력을 관리자에게 질의한다(단계 464). 그 응답으로, 관리자는 라우팅 및 인터페이스 정보를 수동 입력한다. 프로그램(330)이 소스 장치와 대상 장치로부터 모든 라우팅 및 인터페이스 정보를 검색할 수 있는 결정 단계(460)에서의 예의 경우를 다시 참조한다. 이러한 경우에 , 프로그램(330)은 검색된 라우팅 및 인터페이스 정보를 표시한 후(단계 470), 이 라우팅 및 인터페이스 정보를 이용하길 원하는지를 관리자에게 질의한다(결정 단계 474). 원하지 않는다면, 프로그램(330)은 단계(464)로 진행하여 이용하길 원하는 임의의 다른 라우팅 및 인터페이스 정보를 입력할 것을 관리자에게 요청한다. 결정 단계(474)에서의 예의 경우 또는 관리자가 소스 장치와 대상 장치에 대한 라우팅 및 인터페이스 정보로 만족하는 단계(464) 후를 다시 참조한다. 이러한 경우에, 프로그램(330)은 단계(430)로 진행하여 라우팅 및 인터페이스 구성 정보를 구문 분석(parse)한다.
결정 단계(500)에서, 프로그램(330)은 "현재 장치"를 분석하기 시작한다. 단계들(500 내지 524)의 제1 반복 동안, 현재 장치는 소스 장치이다(단계들(500 내지 524)의 후속하는 반복 동안, "현재" 장치는 단계들(500 내지 524)의 이전 반복에 대한 다음 홉 장치이다). 현재 장치가 소스 장치이면(결정 단계 500에서의 아니오), 프로그램(330)은 소스 장치에 대한 라우팅 테이블을 확인하여 대상 장치를 향한 특정한 선호 라우트가 존재하는지를 결정한다(결정 단계 510). 존재하지 않는다면(결정 단계 510에서의 아니오), 프로그램(330)은 소스 장치가 대상 장치를 향한 디폴트 선호 라우트를 갖는지를 결정한다(결정 단계 514). 디폴트 선호 라우트는 대상 장치를 향하는 다음 홉을 포함한다. 현재 장치가 대상 장치이기 때문에 또는 디폴트 선호 라우트를 실수로 누락하였기 때문에 소스 장치가 디폴트 선호 라우트를 갖고 있지 않으면(결정 단계 514에서 아니오), 프로그램(330)은 후술하는 바와 같이 현재 장치부터 시작하여 역 경로 분석을 개시한다. 소스 장치가 디폴트 선호 라우트를 갖고 있다면(결정 단계 514에서 예) 또는 소스 장치가 대상 장치를 향한 특정 라우트를 갖는다는 결정 단계(510) 후에, 프로그램(330)은 다음 홉의 아이덴티티, 선호 라우트 및 소스 장치의 인터페이스 정보를 태스크 데이터베이스에 삽입한다(단계 520). 다음으로, 프로그램(330)은 (현재 장치에 관한) 다음 홉 장치를 현재 장치로서 설정한다(단계 524). 다음으로, 프로그램(330)은, 전술한 바와 같이 결정 단계(410) 및 단계들(414 내지 430)로 진행하여 이제 현재 장치에 대한 라우팅 및 인터페이스 정보를 검색하려 시도한 후, 이제 현재 장치에 대한 단계들(500 내지 524)을 반복한다. 선호 라우트의 다수의 라우터들에 대략 대응하는 단계들(500 내지 524)의 다수의 반복 후에, "현재" 장치는 대상 장치로 된다(결정 단계 500에서 예). 이때, 프로그램(330)은 선호 경로에서의 자신의 라우터 분석을 종료하고(단계 502) 단계(600)로 진행한다.
현재 장치가 대상 장치인 단계(502)의 반복 후에 또는 현재 장치로부터 대상 장치로의 특정 라우트나 디폴트 라우트가 없다면, 프로그램(330)은 현재 장치로부터 초기 소스 장치로의 역방향의 라우터들을 결정하기 시작한다(단계 600). 다음으로, 프로그램(330)은 초기 소스 장치를 새로운 대상 장치로서 설정한다(단계 602). 다음으로, 프로그램(330)은, (순방향 순서로 전술한 단계들(410 내지 474)의 반복에서 설정된 바와 같은) 현재 장치부터 시작하여, 역방향 순서의 선호 경로의 장치들에 대하여 전술한 단계들(410' 내지 474' 및 500' 내지 524')을 수행한다. 단계들(410' 내지 474')은, 단계들(410' 내지 474')에서의 분석시 "현재" 장치들의 순서를 역으로 하는 점을 제외하고 단계들(410 내지 474)과 동일하다. 단계들(500' 내지 524')은, 단계들(500' 내지 524')에서의 분석시 "현재" 장치들의 순서를 역으로 하는 점을 제외하고 단계들(500 내지 524)과 각각 동일하다. 따라서, 결정 단계(500')에서, 프로그램(330)은, 현재 장치가 초기 소스 장치인지를 결정하고, 현재 장치가 초기 소스 장치라면, 초기 소스 장치로의 (순방향 순서로 분석된 최종 장치로부터) 역방향 순서의 경로의 분석이 완료된다.
다음으로, 프로그램(330)은, 초기 소스 장치로부터 초기 대상 장치로의 (순방향 순서로) 라우터들의 완전한 경로가 존재하는지, 즉, 경로의 모든 라우터들이 선호 라우트에 따라 대상 장치로 이어지는 다음 홉을 열거하는 라우팅 테이블을 갖는지를 결정한다(결정 단계 800). 다음으로, 프로그램(330)은 초기 대상 장치로부터 초기 소스 장치로의 역방향 순서로 완전한 경로가 존재하는지를 결정한다(결정 단계 810). 존재한다면(결정 단계 810에서의 아니오), 프로그램(330)은 방향을 제외하고 순방향 순서의 경로가 역방향 순서의 경로와 동일한지를 결정한다(결정 단계 814에서 예). 동일하다면(결정 단계 814에서의 예), 라우팅 테이블들은 양호한 것이며 갱신할 필요가 없다(단계 816). 동일하지 않다면(결정 단계 814에서의 아니오), 프로그램(330)은 순방향의 라우터들의 리스트 및 역방향의 라우터들의 리스트를 표시한다(단계 818). 프로그램(330)은 두 개의 리스트 간의 차이, 즉, 역방향 경로의 일부가 아닌 순방향 경로의 라우터들 및 그 반대의 경우를 강조한다(단계 820). 또한, 프로그램(330)은 어느 방향이든 하나 이상의 라우터의 라우팅 테이블들의 변경을 열거/식별하여, 순방향 라우트와 역방향 라우트를 동일하게 하고 이러한 라우트가 소스 장치로부터 대상 장치로의 경로의 제1 라우터 또는 소스 게이트웨이 장치(40)의 라우트에서 지시된 바와 같이 선호 라우트에 대응하게 한다.
순방향 순서로 초기 소스 장치로부터 초기 대상 장치로의 경로가 완전하지 않은 아니오의 경우인 결정 단계(800)를 다시 참조한다. 이러한 경우, 프로그램(330)은 소스 장치부터 초기 대상 장치를 향하는 도중에 단계(524)에서 식별된 가장 하향의 라우터까지 라우터들의 리스트를 컴파일하고, 여기서 각 라우터는 순방향 순서로 자신의 다음 홉의 식별(ID) 및 초기 대상 IP 어드레스의 대상 IP 어드레스를 갖는다(단계 802).
초기 대상 장치로부터 초기 소스 장치로의 역방향 순서로 경로가 완전하지 않은 아니오의 경우인 결정 단계(810)를 다시 참조한다. 이러한 경우, 프로그램(330)은 단계(524)에서 식별된 가장 하향의 라우터부터 초기 소스 장치까지의 라우터들의 리스트를 컴파일하고, 여기서 각 라우터는 역방향 순서로 자신의 다음 홉의 식별(ID) 및 초기 소스 IP 어드레스의 대상 IP 어드레스를 갖는다(단계 822).
단계(802) 또는 단계(822) 후에, 프로그램(330)은 라우터들의 리스트에 있는 라우터들을 역으로 하여/반전하여, 태스크 데이터베이스 리스트에서의 이름 및 대상 게이트웨이/다음 홉 라우터(결정 단계(844)의 제1 반복 동안 경로에서의 제1 라우터)가 라우터들의 반전 리스트에서의 현재 라우터의 이름 및 대상 게이트웨이/다음 홉 라우터와 일치하는지를 결정한다(결정 단계 844). 일치하면(단계 844에서 예), 프로그램(330)은 현재 라우터의 이름을 표시할 라우터들의 리스트에 추가한다(단계 846). 다음으로, 프로그램(330)은 반전 리스트에 라우터들이 더 있는지를 결정한다(결정 단계 848). 더 있다면(결정 단계 848에서 예), 프로그램(330)은 반전 리스트의 다음 라우터를 현재 라우터로 하고(단계 850), 결정 단계(844)로 루프백하여 전술한 단계들(844, 846, 848)을 반복한다. 태스크 리스트로부터의 이름 및 대상 게이트웨이/다음 홉 라우터가 라우터들의 반전 리스트에서의 현재 라우터의 이름 및 대상 게이트웨이/다음 홉 라우터와 일치하지 않는 아니오의 경우인 결정 단계(844)를 다시 참조한다. 이러한 경우, 프로그램(330)은 태스크 데이터베이스로부터의 다음 홉 라우터의 이름을 표시할 라우터들의 리스트에 추가하고 이러한 다음 홉 라우터를 누락된 것으로서 마크한다(단계 854). 이어서, 프로그램(330)은 반전 리스트의 다음 라우터를 현재 라우터로 하고(단계 850), 결정 단계(844)로 루프백하여 그 현재 라우터에 대하여 전술한 단계들(844, 846, 848)을 반복한다. 프로그램(330)은 반전 리스트의 각 라우터에 대하여 전술한 단계들(844 내지 854)을 반복하고 (결정 단계 848에서 아니오의 경우) 표시할 라우터들의 리스트에 있는 라우터들을 표시한다(단계 860).
대상 장치를 향하는 라우트의 라우터들의 라우팅 테이블들로부터의 다음 홉 정보는 선호 라우트에서 하나 이상의 방화벽을 포함할 수 있다(결정 단계 900). 프로그램(330)은, 소스 컴퓨터의 방화벽이 존재한다면 이 방화벽 및 대상 컴퓨터의 방화벽이 존재한다면 이 방화벽을 포함하여, 선호 라우트의 모든 방화벽을 식별한다(단계 920). 다음으로, 프로그램(330)은 이러한 방화벽들에 로그온하여 이 방화벽들에 대하여 허용되는 메시지 흐름들의 규칙들을 획득하고(단계 908), 이 방화벽들이 장애 발생 통신의 메시지 패킷들의 통과를 허용하는지를 결정한다(단계 910). 허용하지 않는다면(단계 910에서 아니오), 프로그램(330)은 장애 발생 통신의 메시지 패킷들의 흐름을 허용하지 않는 방화벽을 잠재적으로 문제가 있는 것으로 식별하고 이러한 잠재적 문제의 통지를 생성한다(단계 916). 또한, 프로그램(330)은 허용되는 메시지 흐름들을 위한 기존의 규칙들이 장애 발생 통신을 허용하지 않은 방화벽에 대하여 허용되는 메시지 흐름들을 위한 규칙들의 새로운 "테스트" 리스트를 생성한다(단계 920). "테스트" 리스트는, 허용되는 메시지 흐름들을 위한 기존의 규칙들이 장애 발생 통신을 허용하지 않은 방화벽에서 허용되는 메시지 흐름들을 위한 기존의 규칙들의 리스트의 복사본이며, 또한, "테스트" 규칙을 포함한다. "테스트" 규칙은 방화벽을 통한 장애 발생 통신의 흐름을 허용한다. 이어서, 프로그램(330)은 선호 라우트의 모든 방화벽에 대하여 전술한 분석을 반복(단계 902, 908, 결정 단계 910, 단계 916 및 단계 910)하여 이 방화벽들 모두가 장애 발생 통신의 흐름을 허용하는 규칙을 포함하는지를 결정하지만, 이러한 반복 분석에 있어서 기존의 리스트 대신에 "테스트" 리스트를 이용한다. 단계(916)에서, 프로그램(330)은 또한 장애 발생 통신을 허용하는 규칙을 포함하지 않은 임의의 방화벽을 관리자에게 통지하고, 방화벽이 이러한 장애 발생 통신을 허용하는 규칙을 포함해야 하는지에 대하여 관리자에게 질의한다. 이 방화벽이 이 메시지 흐름을 허용하지 않는다면, 그 방화벽은 적절한 것이며 변경되지 않아야 한다. 그 외에는, 관리자는, 방화벽을 구성할 수 있고, 또는 기존의 규칙들의 리스트를 규칙들의 "테스트" 리스트로 대체하여 방화벽을 구성하는 것을 프로그램(330)에게 통지할 수 있거나 프로그램(330)이 기존의 리스트를 "테스트" 리스트로 대체할 것을 요청할 수 있다(단계 930).
프로그램(330)은 자기 테이프나 디스크, 광 매체, DVD, 반도체 메모리, 메모리 스틱 등의 컴퓨터 판독가능 매체(350)로부터 서버(300)에 로딩될 수 있고 또는 TCP/IP 아답터 카드(360)를 통해 인터넷으로부터 다운로드될 수 있다.
전술한 바와 같이 네트워크 통신 장애를 결정하기 위한 시스템, 방법 및 프로그램을 설명하였다. 그러나, 본 발명의 범위로부터 벗어나지 않고 많은 수정 및 대체를 행할 수 있다. 따라서, 본 발명은 예시적으로 개시된 것이며 한정적이지 않으며, 본 발명의 범위를 결정하려면 이하의 청구범위를 참조하기 바란다.

Claims (5)

  1. 소스 장치로부터 대상 장치로의 통신의 장애 원인을 결정하기 위한 컴퓨터 구현 방법 - 상기 소스 장치로부터 상기 대상 장치로의 경로는 일련의 라우터를 순방향 순서로 포함함 - 으로서,
    상기 소스 장치로부터 상기 대상 장치로의 상기 순방향 순서의 상기 일련의 라우터 중에서 하나 이상의 초기 라우터를 결정하는 단계 - 상기 하나 이상의 초기 라우터 중 최종 라우터는 상기 대상 장치를 향하는 상기 순방향 순서의 상기 일련의 라우터에서의 다음 라우터를 지정하지 않음 - 와,
    상기 대상 장치로부터 상기 소스 장치를 향하여 상기 일련의 라우터를 역방향 순서로 결정하는 단계와,
    상기 대상 장치를 향하는 상기 초기 라우터들 중 상기 최종 라우터가 상기 역방향 순서의 일련의 라우터 중에서 어떤 라우터를 상기 순방향 순서의 자신의 다음 라우터로서 지정해야 하는지를 결정하는 단계와,
    상기 초기 라우터들 중 상기 최종 라우터가 어떤 라우터를 상기 대상 장치를 향하는 상기 순방향 순서의 자신의 다음 라우터로서 지정해야 하는지에 대한 통지를 송신하는 단계
    를 포함하는, 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 순방향 순서의 상기 일련의 라우터 중에서 상기 하나 이상의 초기 라우터를 결정하는 단계는, 상기 소스 장치에게 상기 대상 장치를 향하는 상기 소스 장치의 다음 라우터에 대하여 질의하는 단계와, 상기 소스 장치의 상기 다음 라우터에게 상기 대상 장치를 향하는 상기 소스 장치의 상기 다음 라우터의 다음 라우터에 대하여 질의하는 단계를 부분적으로 포함하고,
    상기 대상 장치로부터 상기 소스 장치를 향하여 상기 일련의 라우터를 상기 역방향 순서로 결정하는 단계는, 상기 소스 장치를 향하는 상기 대상 장치에게 상기 대상 장치의 다음 라우터에 대하여 질의하는 단계와, 상기 소스 장치를 향하는 상기 대상 장치의 상기 다음 라우터에게 상기 대상 장치의 상기 다음 라우터의 다음 라우터에 대하여 질의하는 단계를 부분적으로 포함하는, 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    선호되는 상기 경로에서 방화벽을 결정하고 상기 방화벽을 통한 상기 소스 장치로부터 상기 대상 장치로의 메시지의 흐름을 허용하는 규칙을 상기 방화벽이 포함하는지를 결정하는 단계와,
    상기 방화벽이 상기 규칙을 포함하지 않는다면, 상기 방화벽을 통한 상기 소스 장치로부터 상기 대상 장치로의 상기 메시지의 흐름을 허용하는 규칙을 상기 방화벽이 포함하고 있지 않다는 통지를 생성하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 따른 방법의 모든 단계들을 실행하도록 구성된 수단을 포함하는 시스템.
  5. 데이터 처리 장치 상에서 실행될 때, 제1항 내지 제3항 중 어느 한 항에 따른 방법의 단계들을 실행하도록 특정하게 적응된 명령들을 포함하는 컴퓨터 프로그램을 포함하는 컴퓨터 판독가능 매체.
KR1020107025324A 2008-05-30 2009-05-27 네트워크에서의 장애 발생 라우터를 결정하기 위한 시스템, 방법 및 프로그램 KR101341728B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/130,273 US7929449B2 (en) 2008-05-30 2008-05-30 System, method and program for determining failure in network communication
US12/130,273 2008-05-30

Publications (2)

Publication Number Publication Date
KR20110021767A KR20110021767A (ko) 2011-03-04
KR101341728B1 true KR101341728B1 (ko) 2013-12-16

Family

ID=40888158

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107025324A KR101341728B1 (ko) 2008-05-30 2009-05-27 네트워크에서의 장애 발생 라우터를 결정하기 위한 시스템, 방법 및 프로그램

Country Status (9)

Country Link
US (1) US7929449B2 (ko)
EP (1) EP2245792B1 (ko)
JP (1) JP4876197B2 (ko)
KR (1) KR101341728B1 (ko)
CN (1) CN102027712B (ko)
AT (1) ATE520220T1 (ko)
CA (1) CA2706581C (ko)
TW (1) TW201012126A (ko)
WO (1) WO2009144250A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8095507B2 (en) 2008-08-08 2012-01-10 Oracle International Corporation Automated topology-based statistics monitoring and performance analysis
US8887144B1 (en) 2009-09-04 2014-11-11 Amazon Technologies, Inc. Firmware updates during limited time period
US8214653B1 (en) 2009-09-04 2012-07-03 Amazon Technologies, Inc. Secured firmware updates
US10177934B1 (en) 2009-09-04 2019-01-08 Amazon Technologies, Inc. Firmware updates inaccessible to guests
US9565207B1 (en) 2009-09-04 2017-02-07 Amazon Technologies, Inc. Firmware updates from an external channel
US8601170B1 (en) 2009-09-08 2013-12-03 Amazon Technologies, Inc. Managing firmware update attempts
US8971538B1 (en) 2009-09-08 2015-03-03 Amazon Technologies, Inc. Firmware validation from an external channel
US8959611B1 (en) 2009-09-09 2015-02-17 Amazon Technologies, Inc. Secure packet management for bare metal access
US8300641B1 (en) 2009-09-09 2012-10-30 Amazon Technologies, Inc. Leveraging physical network interface functionality for packet processing
US8381264B1 (en) 2009-09-10 2013-02-19 Amazon Technologies, Inc. Managing hardware reboot and reset in shared environments
US9515916B2 (en) * 2010-10-21 2016-12-06 Cisco Technology, Inc. Redirection of requests for target addresses
CN102209363B (zh) * 2011-05-18 2015-05-20 中兴通讯股份有限公司 一种在操作维护中心配置到基站路由的实现方法及系统
CN103036801B (zh) * 2012-12-18 2019-06-14 网神信息技术(北京)股份有限公司 数据包的处理方法及装置
US9036647B2 (en) * 2012-12-27 2015-05-19 Alcatel Lucent Method and apparatus for network security
US9418340B2 (en) * 2013-02-05 2016-08-16 Cisco Technology, Inc. Fast learning to train learning machines using shadow joining
WO2015013902A1 (zh) 2013-07-31 2015-02-05 华为技术有限公司 路由发布方法、系统及控制器
US10129284B2 (en) * 2013-09-25 2018-11-13 Veracode, Inc. System and method for automated configuration of application firewalls
US9363158B2 (en) * 2014-02-05 2016-06-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reduce size of IPV6 routing tables by using a bypass tunnel
DE102016205983A1 (de) * 2016-04-11 2017-10-12 Siemens Aktiengesellschaft Anordnung zum Überprüfen von wenigstens einer Firewall-Einrichtung und Verfahren zum Schutz wenigstens eines Datenempfängers
JP6502889B2 (ja) * 2016-05-24 2019-04-17 日本電信電話株式会社 ログ情報探索システム及びログ情報探索方法
US10594720B2 (en) * 2017-11-03 2020-03-17 International Business Machines Corporation Exercising security control point (SCP) capabilities on live systems based on internal validation processing
FR3091439B1 (fr) * 2018-12-26 2021-05-07 Thales Sa Commutateur pour un système de communication avionique et système de communication avionique comportant un tel commutateur

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173324B1 (en) 1998-07-15 2001-01-09 At&T Corp Method and apparatus for fault detection and isolation in data

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2327898A1 (en) * 2000-12-08 2002-06-08 Alcatel Canada Inc. System and method for establishing a communication path associated with an mpls implementation on an atm platform
US8543681B2 (en) * 2001-10-15 2013-09-24 Volli Polymer Gmbh Llc Network topology discovery systems and methods
US7082531B1 (en) * 2001-11-30 2006-07-25 Cisco Technology, Inc. Method and apparatus for determining enforcement security devices in a network topology
JP3742586B2 (ja) * 2001-12-17 2006-02-08 富士通株式会社 伝送装置及びインタフェース装置
US7433966B2 (en) * 2002-01-02 2008-10-07 Cisco Technology, Inc. Implicit shared bandwidth protection for fast reroute
US7188365B2 (en) * 2002-04-04 2007-03-06 At&T Corp. Method and system for securely scanning network traffic
JP2007525047A (ja) 2003-03-18 2007-08-30 レネシス コーポレーション ネットワーク経路指定を監視するための方法及びシステム
US7340771B2 (en) * 2003-06-13 2008-03-04 Nokia Corporation System and method for dynamically creating at least one pinhole in a firewall
US7401355B2 (en) * 2004-04-30 2008-07-15 Sun Microsystems Firewall load balancing using a single physical device
KR100637071B1 (ko) * 2004-09-24 2006-10-23 삼성전자주식회사 통신경로를 동적으로 조절하는 무선네트워크 시스템, 및그 방법
US7447796B2 (en) * 2004-12-17 2008-11-04 International Business Machines Corporation System, method and program product to route message packets

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173324B1 (en) 1998-07-15 2001-01-09 At&T Corp Method and apparatus for fault detection and isolation in data

Also Published As

Publication number Publication date
TW201012126A (en) 2010-03-16
CA2706581C (en) 2017-01-03
CN102027712B (zh) 2014-04-16
CN102027712A (zh) 2011-04-20
EP2245792B1 (en) 2011-08-10
EP2245792A1 (en) 2010-11-03
WO2009144250A1 (en) 2009-12-03
CA2706581A1 (en) 2009-12-03
JP4876197B2 (ja) 2012-02-15
KR20110021767A (ko) 2011-03-04
ATE520220T1 (de) 2011-08-15
JP2011522477A (ja) 2011-07-28
US7929449B2 (en) 2011-04-19
US20090296571A1 (en) 2009-12-03

Similar Documents

Publication Publication Date Title
KR101341728B1 (ko) 네트워크에서의 장애 발생 라우터를 결정하기 위한 시스템, 방법 및 프로그램
US7649834B2 (en) Method and apparatus for determining neighboring routing elements and rerouting traffic in a computer network
US8456987B1 (en) Method and apparatus for route optimization enforcement and verification
US7773596B1 (en) Distribution of traffic flow criteria
EP3474502B1 (en) Reduced configuration for multi-stage network fabrics
US9762537B1 (en) Secure path selection within computer networks
CN105847158B (zh) 用于处理路由数据的方法和系统
US20060056328A1 (en) Identifying network rotuters and paths
JP2007129702A (ja) Vpnトポロジの準リアルタイム更新を発見及び提供する方法及びシステム
US20120213218A1 (en) Automatically detecting best paths from shadow route reflectors
US7421483B1 (en) Autodiscovery and self configuration of customer premise equipment
US10924408B2 (en) System and method for optimizing traffic in packet-switched networks with internet exchanges
US20230010837A1 (en) Fault diagnosis method and apparatus thereof
US7702765B1 (en) Techniques for automatically creating an iBGP mesh
EP1185041B1 (en) OSPF autonomous system with a backbone divided into two sub-areas
US11627069B2 (en) Device and a system for OSPF cost metrics mirroring
Cisco Cisco IOS AppleTalk and Novell IPX Configuration Guide Release 12.2
JP2005020604A (ja) 経路情報管理方法および経路情報管理装置
EP3432518B1 (en) Remote management method and circuitry for mobile broadband router
Bandhakavi et al. Analyzing end-to-end network reachability
WO2024010951A1 (en) Intra-domain source address validation fast reroute using igps
Headquarters Cisco IOS Novell IPX Configuration Guide
Headquarters Configuring HSRP
Headquarters Cisco IOS XR MPLS Command Reference

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
LAPS Lapse due to unpaid annual fee