KR100889881B1 - 인접 캐시 테이블 동기화를 위한 장치 및 방법 - Google Patents

인접 캐시 테이블 동기화를 위한 장치 및 방법 Download PDF

Info

Publication number
KR100889881B1
KR100889881B1 KR1020067025041A KR20067025041A KR100889881B1 KR 100889881 B1 KR100889881 B1 KR 100889881B1 KR 1020067025041 A KR1020067025041 A KR 1020067025041A KR 20067025041 A KR20067025041 A KR 20067025041A KR 100889881 B1 KR100889881 B1 KR 100889881B1
Authority
KR
South Korea
Prior art keywords
entry
network device
cache table
neighbor cache
address
Prior art date
Application number
KR1020067025041A
Other languages
English (en)
Other versions
KR20070027566A (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 KR20070027566A publication Critical patent/KR20070027566A/ko
Application granted granted Critical
Publication of KR100889881B1 publication Critical patent/KR100889881B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

백업 네트워크 장치의 인접 캐시 테이블을 마스터 네트워크 장치의 인접 캐시 테이블과 동기화하기 위한 방법 및 장치가 제공된다. 엔트리가 마스터 네트워크 장치의 인접 캐시 테이블에 추가되거나 인접 캐시 테이블로부터 삭제될 때마다 마스터 네트워크 장치는 Add 명령 또는 Delete 명령을 백업 네트워크 장치로 전송할 수 있다. 더 나아가, 신규한 네트워크 장치가 링크에 가입하여 마스터 또는 백업이 되면, 동기화 요청 및 동기화 확인 명령이 채택됨으로써 신규한 네트워크 장치를 마스터 네트워크 장치와 동기화할 수 있다. 또한, 네트워크 장치가 마스터가 되면, 이것은 갱신 명령을 전송함으로써 인접 스위치 장치로 하여금 그들의 인접 캐시 테이블(존재한다면)을 갱신하고, 트래픽을 그 네트워크 장치로 리디렉션하도록 허용할 수 있다.

Description

인접 캐시 테이블 동기화를 위한 장치 및 방법{Apparatus and method for neighbor cache table synchronization}
본 발명은 컴퓨터 네트워크에 관련되며, 특히, 백업 장치 내의 인접 캐시 테이블을 마스터 장치 내의 인접 캐시 테이블과 동기화하기 위한 장치 및 방법에 관련된다.
패킷 전달(packet forwarding) 동작은 원격 위치로의(remotely-destined) 패킷들을 목적지로의 경로를 가지는 전달 노드로 전달함으로써 수행된다. 몇 가지 경우에는, 트래픽은 전달 노드(forwarding node)로 전송될 수 있다. 예를 들어, 전달 노드는 방화벽을 포함할 수 있다. 그러나, 전달 노드를 이용할 수 없게 되면, 목적지에 도달할 수 없는 경우가 발생될 수 있다.
이러한 문제점을 해결하기 위하여, 다수의 독립 장치들이 전달 노드로서 동작하는 여분의(redundant) 장치로서 이용될 수 있다. 그러므로, 만일 한 여분의 장치가 이용할 수 없게 되면, 다른 여분의 장치가 그 대신에 역할을 수행할 수 있다. 한 여분의 장치로부터 다른 장치로의 오류 전달(fail-over) 과정은 고가용성(HA, high-availability) 프로토콜을 동작시킴으로써 달성될 수 있다.
본 발명에 대한 한정적이지 않고 예시적인 실시예들은 다음 첨부되는 도면을 참조하여 설명될 것이다.
도 1은 일 시스템의 일 실시예의 블록도를 도시한다.
도 2는 도 1에 도시된 시스템에 대한 프로세스의 일 실시예에 대한 흐름도를 도시한다.
도 3은 고가용성 시스템에 대한 인접 캐시 테이블 동기화를 위하여 구현되는 시스템의 일 실시예를 예시하는 도면이다.
도 4 및 도 5는 본 발명의 측면에 따른 고가용성 시스템 내의 인접 캐시 테이블 동기화를 위한 프로세스의 일 실시예를 나타내는 흐름도를 도시한다.
본 발명의 여러 가지 실시예는 도면을 참조하여 상세히 설명될 것인데, 여기서 수 개의 도면에서 동일한 부재 번호는 유사한 구성 요소 및 어셈블리들을 나타낸다. 여러 가지 실시예에 대한 참조는 본 발명의 기술적 범위를 한정하는 것이 아니며, 본 발명의 기술적 범위는 본 명세서에 첨부된 청구의 범위에 따른 범위에 의하여만 한정된다. 또한, 본 명세서에 제시되는 모든 예시들은 한정적인 의미로 제공되는 것이 아니며, 청구되는 발명에 대한 다양한 가능한 실시예들 중 몇 가지를 예시하는데 지나지 않는다.
명세서 및 청구항 전체에서, 다른 의미로 사용되는 것이라고 명확히 구문상 지시되지 않는 한, 다음의 용어들은 최소한 본 명세서에 명백히 관련된 의미를 가 진다. 이하 식별되는 의미들은 용어의 의미를 한정하려는 것이 아니며 해당하는 용어들의 예시적인 의미들을 제공하려는 것 뿐이다. "하나(a)", "하나(an)", 및 "그(the)"의 의미에는 수 개의 부재들이 포함되며, "내부에(in)"이라는 의미는 "상에(on)"이라는 의미를 포함한다. "일 실시예에서"라는 구문은 본 명세서에서는 동일한 실시예를 반드시 의미하는 것은 아니지만, 동일한 실시예를 의미하는 것일 수도 있다. "신호"라는 용어는 적어도 하나의 전류, 전압, 부하(charge), 온도, 데이터, 또는 다른 신호를 의미한다.
간단히 진술하면, 본 발명은 백업 네트워크 장치의 인접 캐시 테이블을 마스터 네트워크 장치의 인접 캐시 테이블과 동기화하기 위한 방법 및 장치에 관련된다. 마스터 네트워크 장치는 마스터 네트워크 장치의 인접 캐시 테이블에 엔트리가 추가되거나 인접 캐시 테이블로부터 엔트리가 삭제될 때마다 백업 네트워크 장치로 추가 명령 또는 삭제 명령을 전송할 수 있다. 더 나아가, 신규한 네트워크 장치가 링크에 결합하여 마스터 또는 백업 네트워크 장치가 되면, 동기화 요청 및 동기화 확인 명령이 채택됨으로써 신규한 네트워크 장치를 마스터 네트워크 장치와 동기화할 수 있다. 또한, 네트워크 장치가 마스터 네트워크 장치가 되면, 이것은 갱신 명령을 전송함으로써 인접 스위치 장치로 하여금 그들의 s인접 캐시 테이블(존재한다면)을 갱신함으로써, 트래픽을 해당 네트워크 장치로 리디렉션(redirect)하도록 허용한다.
도 1은 시스템(100)의 일 실시예의 블록도를 도시한다. 시스템(100)은 외부 네트워크(104)를 포함하며, 외부 네트워크(102)에는 근거리 통신망(LAN), 인터넷 등이 포함될 수 있다. 시스템(100)도 내부 네트워크(104)를 포함하며, 이것은 근거리 통신망 등을 포함할 수 있다. 시스템(100)은 또한, 고가용성(HA) 시스템(105)을 포함하며, 그것은 네트워크 장치(110) 및(111)을 포함한다. 네트워크 장치(110)는 송수신기(120)를 포함한다. 네트워크 장치(111)는 송수신기(122)를 포함한다. 또한, 네트워크 장치(110, 111)는 라우터, 브릿지, 방화벽, 프록시 서버, 스위치, 계층-2 전달 노드, 등 중 어느 하나일 수 있다. 네트워크 장치들(110, 111)은 각각 송수신기들(120, 122)을 사용하는 것에 의해 패킷을 송신 및 수신하도록 구현된다. 또한, 비록 도시되지는 않았지만, 네트워크 장치들(110, 111)은 소정의 동작을 수행하도록 구현된 프로세서를 포함할 수 있다.
부가적으로, HA 시스템(105)은 언제라도 HA 시스템(105)의 네트워크 장치 중의 한 개가 마스터 역할을 담당하도록 구현될 수 있으며, 하고, HA 시스템(105) 내의 하나 또는 그 이상의 다른 네트워크 장치들은 백업의 역할을 담당하도록 구현될 수 있다. 일 실시예에서, 네트워크 장치(110)는 디폴트 마스터(default master)로서 구성되고 네트워크 장치(111)는 디폴트 마스터를 위한 백업 네트워크 장치로서 구성된다. 이러한 실시예에서, 네트워크 장치(110)가 최초로 마스터 역할을 담당한다. 그러나, 만일 장애 상태가 네트워크 장치(110)에서 발생하면, 네트워크 장치(111)가 마스터 역할을 담당할 수 있다.
고가용성 장치는 고가용성 프로토콜을 사용하는 것에 의해 달성될 수 있다. 고가용성 프로토콜의 예시에는 "Virtual Router Redundancy Protocol"(VRRP), "Hot Standby Router Protocol"(HSRP), "IP Standby Protocol"(IPSTB), 등을 포함하지 만, 이에 한정되는 것은 아니다.
또한, 네트워크 장치(110, 111)는 각각 인접 캐시 테이블을 저장할 수 있다. 인접 캐시 테이블은 또한 "주소 테이블", "브리지 테이블" 등으로도 불릴 수 있다. 마스터(즉, 마스터 역할을 담당하고 있는 장치)는 자신의 인접 캐시 테이블에 부분적으로 기반하여 패킷을 전달하도록 구성된다. HA 프로토콜을 사용하는 것에 첨부하여, 네트워크 장치들(110, 111)도 인접 캐시 테이블 동기화를 위한 프로토콜을 채택한다.
일 실시예에서, 인접 캐시 테이블 동기화에 관계없는 기존 프로토콜(existing protocol)이 채택되어 신규 명령들을 기존 프로토콜에 추가함으로써 인접 캐시 테이블 동기화를 수행한다. 다른 실시예에서, 인접 캐시 테이블 동기화를 위한 별도의 프로토콜이 채택될 수 있다.
만일 마스터 역할을 담당하고 있는 네트워크 장치(110, 111)가 패킷(HA 프로토콜, 인접 캐시 테이블 동기화 프로토콜 또는 그러한 것에 관련되지 않은 패킷)을 수신하면, 네트워크 장치는 부분적으로 인접 캐시 테이블에 기반하여 해당 패킷을 전달한다. 만일 백업 역할을 담당하고 있는 네트워크 장치(110, 111)가 패킷(HA 프로토콜, 인접 캐시 테이블 동기화 프로토콜, 또는 그러한 것에 관련되지 않은 패킷)을 수신하면, 네트워크 장치는 해당 패킷을 폐기(drop)할 수 있다. 따라서, 마스터가 해당 패킷들의 전달을 제어한다. 만일 오류 전달(fail-over) 현상이 발생하면, 전달 동작의 제어는 새로운 마스터로 오류 전달된다.
도 2는 프로세스(200)의 실시예의 흐름도를 도시한다. 일 실시예에서, 프로 세스(200)는 시스템(100)에 의해 채택된다. 프로세스(200)는 HA 시스템(105)과 같은 HA 시스템으로 전송된 패킷들을 전달하기 위한 프로세스이다.
시작 블록 이후, 프로세스는 결정 블록(290)으로 진행하고, 거기서 네트워크 장치(110)가 마스터 역할을 담당하는지에 대한 결정이 이루어진다. 만약 그렇다면, 프로세스는 블록(292)으로 나아가고, 거기서 네트워크 장치(110)가 전달을 위하여 HA 시스템으로 전송된 패킷들을 전달하도록 허용된다.
그러면, 프로세스는 블록(292)으로부터 분기 블록(294)으로 진행하며, 거기서 네트워크 장치(110)의 인접 캐시 테이블이 변하였는지에 대한 결정이 수행된다. 만일 네트워크 장치(110)의 인접 캐시 테이블이 변하지 않았다면, 프로세스는 복귀 블록으로 진행하고, 거기서 다른 처리가 수행된다. 그러나, 만일 네트워크 장치(294)의 인접 캐시 테이블이 변했다면, 프로세스는 블록(298)으로 진행하고, 거기서 적어도 하나의 백업 네트워크 장치(예컨대 네트워크 장치(111)) 내의 인접 캐시 테이블은 네트워크 장치(110) 내의 인접 캐시 테이블과 동기화된다. 그러면, 프로세스는 블록(298)으로부터 복귀 블록으로 진행하고, 거기서 다른 처리가 수행된다.
결정 블록(290)에서, 만일 네트워크 장치(110)가 마스터 역할을 담당하고 있지 않으면, 프로세스는 블록(296)으로 진행하고, 거기서 백업 네트워크 장치(예컨대 네트워크 장치(111))가 전달을 위하여 HA 시스템으로 전송된 패킷들을 전달할 수 있다. 그러면, 프로세스는 블록(296)으로부터 복귀 블록으로 진행하고, 거기서 다른 처리가 수행된다.
도 3은 시스템(300)의 실시예를 도시하는데, 시스템은 고가용성 시스템에 대한 인접 캐시 테이블 동기화를 위하여 구현된다. 시스템(300)은 구성 요소, 이를테면 스위치 장치(331-334), 라우터(335-336), 호스트 장치(341-344), 링크(L1-L14) 및 HA 시스템(305)과 같은 구성 요소를 포함한다. HA 시스템(305)은 도 3에 도시된 것보다 더 많은 스위치 장치, 호스트 장치, 라우터 및 링크를 포함할 수 있다는 것이 이해된다. 또한, 도 3에서 도시된 토폴로지(topologies) 이외의 토폴로지가 사용될 수 있다. 시스템(300)의 구성요소는 시스템(100)의 유사하게 명명된 구성 요소와 유사한 방식으로 동작하도록 구현될 수 있으며, 몇 가지 방법으로 상이한 방법으로도 동작할 수 있다.
스위치 장치(331-334)는 패킷 교환기 등을 각각 포함할 수 있는데, 여기에는 이를테면 브릿지, 라우터, 계층-2 스위치, 계층-3 스위치, 등이 포함될 수 있다. 라우터(335-336)는 각각 이를테면 인터넷 프로토콜(IP)과 같은 프로토콜을 채택함으로써 패킷들을 라우팅하도록 구현될 수 있다. 또한, 스위치 장치(331-334) 각각은 복수 개의 링크에 연결된다. 만일 스위치 장치가 패킷을 수신하면, 그것은 패킷을 송신함으로써 다른 링크로 전달한다. 스위치 장치 중의 하나 또는 그 이상은 인접 캐시 테이블을 포함할 수 있다.
일 실시예에서, 네트워크 장치(310-311) 각각은 방화벽을 포함한다. 어느 경우에나, 네트워크 장치(310-311)의 각각은 복수 개의 링크에 연결된다. 만일 네트워크 장치(310-311) 중의 하나가 전달할 패킷을 수신하고, 네트워크 장치가 마스터 역할을 담당하고 있다면, 해당 네트워크 장치는 해당 패킷을 송신함으로써 다른 링크에 전달한다. 더 나아가, 네트워크 장치(310, 311)들 각각은 인접 캐시 테이블을 포함한다.
호스트 장치(341-344)들은 각각 네트워크를 통하여 패킷을 송수신할 수 있는 모든 네트워크 장치일 수 있다. 이러한 장치들의 집합에는 전형적으로 유선 통신 매체를 이용하여 접속하는 장치들(즉, 개인용 컴퓨터, 멀티 프로세서 시스템, 마이크로 프로세서에 기반을 두거나 프로그램 가능한 소비자 전자 장치, 네트워크 PC, 등과 같은 장치)로서, 네트워크 장치로서 동작하도록 구성될 수 있는 장치들이 포함될 수 있다. 이러한 장치들의 집합에는 전형적으로 유선 통신 매체를 이용하여 접속하는 장치들(즉, 무선 전화, 스마트 전화, 페이저, 워키 토키, 무선(RF) 장치, 적외선 장치, CB, 이러한 장치들 중 하나 이상을 결합한 통합형 장치 등과 같은 장치)로서, 네트워크 장치(appliance)로서 구성될 수 있는 장치들이 포함될 수 있다. 또는, 호스트 장치(341-344)는 각각 유선 또는 무선 통신 매체를 통하여 접속할 수 있는 장치(즉, PDA, POCKET PC, 착용 컴퓨터(wearable computer)와 같은) 및 네트워크 장치로서 동작하여 유선 및/또는 무선 통신 매체를 통하여 통신하도록 구현된 다른 모든 장치일 수 있다. 이같이, 네트워크 장치(341-344)들은 각각 웹 서버, 캐시 서버, 파일 서버, 파일 저장 장치, 프록시, 등과 같은 장치로서 동작하도록 구현될 수 있다.
일 실시예에서, 스위치 장치(331-334)는 계층-2 스위치이고, 네트워크 장치들(310 및 311)은 계층-2 전달 노드들이다. 스위치 장치(331-331)들 및 이들 각각은 자신의 인접 캐시 테이블을 채택하는 것에 의해 전달을 수행할 수 있다. 인접 캐시 테이블의 각 엔트리는 특정 호스트에 관련된다. 호스트는 말단-호스트(end-host) 또는 라우터일 수 있다. 또한, 각 엔트리는, 호스트의 주소를 표시하는 필드, 호스트에 도달하기 위하여 이용되는 링크를 표시하는 필드, 및 엔트리가 만료되면 폐기하기(discard)하기 위하여 경과되는 시간 필드와 같은 것을 포함한다. 패킷이 수신되면, 스위치 장치는 인접 캐시 테이블에 엔트리를 추가한다. 추가된 엔트리는, 패킷의 소스 주소를 주소 필드에 포함하고, 해당 패킷이 수신된 링크를 링크에 포함하며, 시간 엔트리를 포함한다.
또한, 전달할 패킷이 수신되면, 스위치 장치는 해당 패킷의 목적지 주소가 인접 캐시 테이블의 엔트리에 포함되는지 여부를 결정한다. 만약 그렇다면, 스위치 장치는 패킷을 엔트리의 링크 필드에 표시된 링크에 전송한다.
일 실시예에서, 호스트 장치(341)는 인터넷 프로토콜(IP)을 채택하는 것에 의하여 패킷을 라우터(335)로 전송할 수 있다. 이것을 수행하기 위해, 호스트 장치(341)는 해당 패킷을 스위치 장치(333)에 전송할 수 있다. 일 실시예에서, 스위치 장치(333)는 스위치 장치(333) 내의 인접 캐시 테이블에 기반하여 해당 패킷을 링크(L7)로 전송한다. 해당 패킷이 링크(L7)를 통하여 네트워크 장치(310)로 전달되고, 네트워크 장치(310)가 마스터라면, 네트워크 장치(310)는 패킷을 전달한다. 일 실시예에서, 네트워크 장치(310)는 해당 패킷을 네트워크 장치(310)의 인접 캐시 테이블에 기초에 기반하여 링크(L3)로 전달한다. 스위치 장치(331)는 링크(L3)에서 패킷을 수신하고, 해당 패킷을 전달한다. 일 실시예에서, 스위치 장치(331)는 스위치 장치(331) 내의 인접 캐시 테이블에 기반하여 해당 패킷을 링크(L1)를 통해 라우터(335)에 전달한다.
네트워크 장치(310)는 만일 네트워크 장치(310)가 마스터라면. 패킷들을 전달하기 위하여 자신의 인접 캐시 테이블을 채택하도록 구현된다. 마찬가지로, 네트워크 장치(311)는 만일 네트워크 장치(311)가 마스터라면 패킷들을 전달하기 위하여 자신의 인접 캐시 테이블을 채택하도록 구현된다. 일 실시예에서, 인접 캐시 테이블은 고속 검색(fast-lookup)을 위하여 해시에 기반한다(hash-based). 마스터는 스위치 장치(331-334)에 관해서 전술된 방법과 유사한 방법으로 자신의 인접 캐시 테이블을 채택할 수 있다.
만일 네트워크 장치(310)가 마스터 역할을 담당하고 있지 않으면, 이것은 전달을 위해 네트워크 장치(310)로 전송되고 자신이 수신한 모든 패킷을 폐기한다.
마찬가지로, 만일 네트워크 장치(311)가 마스터 역할을 담당하고 있지 않으면, 이것은 전달을 위해 네트워크 장치(311)로 전송되고 자신이 수신한 모든 패킷을 폐기한다.
만일 네트워크 장치(310)가 마스터 역할을 담당하고, 네트워크 장치(310)에서 오류 조건이 발생되면, HA 프로토콜이 채택됨으로써 네트워크 장치(311)가 마스터 역할을 수행하여, 전달을 위하여 고가용성 시스템(305)에 전송되는 패킷의 전달동작의 제어가 오류-전달되도록 한다. 일 실시예에서, 고가용성 프로토콜은 고가용성 멀티캐스트 주소로 멀티캐스트되는 명령을 채택한다. 네트워크 장치(310 및 311)들은 모두 고가용성 멀티캐스트 그룹의 성분들이다.
더 나아가, 네트워크 장치(310 및 311)들은 인접 캐시 테이블 동기화 프로토 콜을 채택한다. 동기화 프로토콜은 추가(Add), 삭제(Delete), 확인(Ack), 동기화(Sync-request), 동기화 확인(Sync-Ack), 및 갱신(Update)과 같은 명령들을 포함할 수 있다. 동기화 프로토콜은 고가용성 시스템(305)으로 하여금 전달 정보(forwarding information)의 동기화를 유지하도록 허용함으로써, 오류-전달이 발생하면, 트래픽이 상대적으로 최소인 레이턴시(latency)를 가지고 끊김(disruption)이 없이 전달될 수 있도록 한다. 만일 장애 전달이 발생하면, 인접 캐시 테이블이 동기화되므로 트래픽은 고속으로 그리고 효율적으로 연속하여 전달될 수 있다.
일 실시예에서, 동기화 프로토콜의 각 명령은 네트워크 장치(310 및 311)들을 포함하는 멀티캐스트 주소로 프로토콜 명령을 멀티캐스트함에 의하여 전송될 수 있다. 일 실시예에서, 동기화 프로토콜에서 사용된 멀티캐스트 주소는 고가용성 프로토콜에 사용된 멀티캐스트 주소와 같은 주소이다. 다른 실시예에, 동기화 프로토콜에 사용된 멀티 캐스팅 주소는 고가용성 멀티캐스트 주소와는 다른 주소일 수 있다.
또한, 전술된 바와 같이, 별개의 프로토콜을 채택하는 대신에, 추가(Add), 삭제(Delete), 확인(Ack), 동기화(Sync-request), 동기화 확인(Sync-Ack), 및 갱신(Update)과 같은 동기화 명령들이 기존의 프로토콜에 추가될 수도 있다. 일 실시예에서, 추가(Add), 삭제(Delete), 확인(Ack), 동기화(Sync-request), 동기화 확인(Sync-Ack), 및 갱신(Update)과 같은 동기화 명령들은 주소 결정 프로토콜(ARP, address resolution protocol)에 포함된 명령이다. 이 실시예에서, 동기화 멀티캐 스트 그룹에 포함되는 장치들은 이 포함된 ARP 명령을 식별하고, 이에 응답하도록 프로그램 된다. 그러나, 본 발명은 ARP 프로토콜에 한정되지 않으며, 다른 또는 신규한 패킷 타입도 채택될 수 있다. 일 실시예에서, 이러한 포함된 ARP 명령은 전술된 바와 같이, HA 멀티캐스트 그룹으로 멀티캐스트된다. 이 포함된 ARP 명령은 본 명세서에서 HA ARP 명령이라고 불린다.
만일 마스터(예컨대 네트워크 장치(310))가 그 인접 캐시 테이블에 새로운 엔트리를 추가하면, 마스터는 Add 명령을 백업(예컨대 네트워크 장치(311))에 전송한다. Add 명령은 새로운 엔트리의 주소 필드에 제시된 주소를 포함한다. 일 실시예에서, 해당 명령은 새로운 엔트리의 링크 필드에 제시된 링크도 포함한다. 다른 실시예에서, 링크를 명령에 포함시키는 대신에, 해당 링크는 그 링크를 이용하여 Add 명령을 전송하는 것에 의해 묵시적으로 표시된다. 백업(예컨대 네트워크 장치(311))은 Add 명령을 수신하면, 해당 명령 내에 표시된 주소를 포함하고, Add 명령에 의하여 명시적으로 또는 묵시적으로 표시되는 링크를 포함하는 신규한 엔트리를 추가한다. 링크가 묵시적으로 표시되는 실시예에서, 백업의 인접 캐시 테이블 내의 신규한 엔트리의 링크 필드는 Add 명령이 수신된 링크를 포함한다.
일 실시예에서, 만일 마스터가 그 인접 캐시 테이블로부터 엔트리를 삭제하면, 마스터는 Delete 명령을 백업에 보낸다. Delete 명령에 응답하여, 백업은 그 인접 캐시 테이블로부터 상응하는 엔트리를 삭제한다. 이 실시예에서, 마스터는 자신의 인접 엔트리에 시간을 경과하도록 하고, 백업은 자신의 엔트리에 시간을 경과하도록 하지 않는다. 다른 실시예에서, Delete 명령은 채택되지 않으며, 백업은 자신의 인접 캐시 테이블에 시간을 경과하도록 한다.
일 실시예에서, 백업은 적합한 Add 또는 Delete 명령을 수신하는데 응답하여 의해. Ack 명령을 마스터로 전송한다.
일 실시예에서, 네트워크 장치(예컨대 310 또는 311)가 고가용성 시스템(305)에 최초로 가입할 때, 네트워크 장치는 현재의 마스터에게 현재 마스터의 인접 캐시 테이블 내의 모든 엔트리를 요청하는 Sync-request 명령을 전송한다. Sync-request 명령을 수신하면, 현재의 마스터는 마스터의 인접 캐시 테이블 내의 엔트리들에 상응하는 Sync-Ack 명령을 송신한다. 일 실시예에서, 하나의 Sync-Ack 명령이 마스터의 인접 캐시 테이블 내의 모든 엔트리를 위해 전송된다. 다른 실시예에서는, 동일한 링크 필드를 가지는 주소들은 결합되어 단일 Sync-Ack 명령을 형성한다.
Add 명령에서의 경우와 같이, 일 실시예에서 링크 필드는 Sync-Ack 명령 내에 명시적으로 표시되고, 다른 실시예에서는 인접 캐시 테이블의 링크 필드 내에 포함된 링크를 이용하여 Sync-Ack 명령을 송신하는 것에 의하여 Sync-Ack 명령에 의하여 묵시적으로 표시된다.
일 실시예에서 네트워크 장치(예컨대 310 또는 311)가 마스터되면(오류 전달 조건 때문이거나 리부팅 이후에 마스터의 역할을 회복한 이후에), 마스터가 되면 네트워크 장치는 자신의 인접 캐시 테이블 내의 모든 엔트리에 대한 Update 명령을 전송한다. Update 명령은 해당 패킷의 소스 주소 필드 내의 엔트리의 주소 필드로부터의 주소를 포함한다. 일 실시예에서, 네트워크 장치는 자신의 부착된 링크들 각각에 Update 명령의 사본을 전송하는데, 이 경우 해당 인접(neighbor)이 연결된 링크를 제외한다.
Update 명령을 수신하면, 인접 스위치 장치(예컨대 331-334)는 자신의 인접 캐시 테이블(존재한다면)을 갱신하고, 트래픽을 신규 마스터로 리디렉션하도록 구현된다. 더 상세하게는, 인접 스위치 장치가 Update 명령 패킷을 수신하면, 그것은 신규한 엔트리를 인접 스위치 장치의 인접 캐시 테이블에 추가한다. 신규한 엔트리의 주소 필드는 Update 명령 패킷의 소스 필드 내의 주소를 포함한다. 신규한 엔트리의 링크 필드는 신규한 마스터로 통하는 링크를 포함한다.
도 4 및 도 5는 프로세스(400)의 실시예의 흐름도를 도시하는데, 이 흐름도는 HA 시스템과 같은 시스템 내의 인접 캐시 테이블 동기화를 위하여 채택될 수 있다. 일 실시예에서, 프로세스(400)는 도 3에 도시된 네트워크 장치(310 및 311) 중 하나 또는 모두에 의하여 채택될 수 있다.
개시 블록에서, 네트워크 장치 310 또는 네트워크 장치 311과 같은 네트워크 장치는 우선 링크에 도달한다. 그러면, 프로세스는 그 다음 블록(450)으로 진행하고, 거기서 HA ARP Sync-request 명령은 멀티캐스트된다. 그러면, 프로세스는 블록(451)으로 진행하고, 거기서 인접 캐시 테이블이 생성된다. 그러면, 프로세스는 블록(452)으로 진행하고, 거기서 엔트리는 수신될 수 있는 모든 Sync-Ack 명령들에 응답하여 인접 캐시 테이블 내에 추가된다.
그러면, 프로세스는 결정 블록(454)으로 진행하고, 거기서 네트워크 장치가 마스터 역할을 수행하는지에 대한 결정이 수행된다. 만약 그렇다면, 프로세스는 블록(458)으로 진행하고, HA ARP Update 명령이 전송된다. 그러면, 프로세스는 결정 블록(460)으로 진행하고, 거기서 Sync-Request HA ARP 명령이 수신되었는지 여부가 결정된다. 만약 그렇다면, 프로세스는 블록(466)으로 진행하고, 거기서 HA ARP Sync-Ack 명령이 해당 인접 캐시 테이블 내의 각 인접 전달 엔트리(neighbor forwarding entry)에 대해 멀티캐스트된다.
그러면, 프로세스는 결정 블록(461)으로 진행하고, 거기서 전달할 패킷이 수신되었는지에 대한 결정이 수행된다. 만약 그렇다면, 프로세스는 블록(468)으로 진행하고, 거기에서 패킷이 전달된다. 그러면, 프로세스는 결정 블록(470)으로 진행하고, 거기서 인접 캐시 테이블 내의 엔트리중 어느 것이 해당 패킷을 전송한 호스트의 주소를 포함하고 있는지에 대한 결정이 수행된다. 만약 그렇지 않다면, 프로세스는 블록(472)으로 진행하고, 거기서 해당 호스트 주소에 대한 엔트리가 인접 캐시 테이블에 추가된다. 그러면, 프로세스는 블록(474)으로 진행하고, 거기서 호스트 주소를 위한 HA ARP Add 명령이 멀티캐스트된다.
그러면, 프로세스는 분기 기호(462)로 진행하고, 거기서 인접 캐시 테이블의 각 엔트리에 대하여, 해당 엔트리의 시간 필드 내에 표시된 시간이 만료되었는지에 대한 결정이 이루어진다. 만약 그렇다면, 프로세스는 블록(476)으로 진행하고, 거기서 만료된 엔트리는 삭제된다. 그러면, 프로세스는 블록(478)으로 진행하고, 거기서 만기된 엔트리를 위한 HA ARP Delete 명령이 멀티캐스트된다. 그러면, 프로세스는 결정 블록(463)으로 진행하고, 거기서 네트워크 장치가 여전히 마스터 역할을 담당하는지에 대한 결정이 이루어진다.
만약 그렇지 않다면, 프로세스는 분기 기호(455)로 진행하여, 거기서 HA ARP Add 명령이 수신되었는지에 대한 결정이 수행된다. 만약 그렇다면, 프로세스는 블록(480)으로 진행하고, 거기서 HA ARP Add 명령에 응답하여 엔트리가 인접 캐시 테이블에 추가된다. 그러면, 프로세스는 결정 블록(456)으로 진행하여, 거기서 HA ARP Delete 명령이 수신되었는지에 대한 결정이 수행된다. 만약 그렇다면, 프로세스는 블록(482)으로 진행하고, 거기서 HA ARP Delete 명령에 응답하여 엔트리가 인접 캐시 테이블로부터 삭제된다. 그러면, 프로세스는 결정 블록(454)으로 진행한다.
결정 블록(454)에서, 만일 네트워크 장치가 마스터 역할을 담당하고 있지 않다고 결정되면, 프로세스는 결정 블록(455)으로 진행한다. 결정 블록(455)에서, 만일 HA ARP Add 명령이 수신하지 않았다고 결정되면, 프로세스는 결정 블록(456)으로 진행한다. 결정 블록(456)에서, 만일 HA ARP Delete 명령이 수신하지 않았다고 결정되면, 프로세스는 결정 블록(454)으로 진행한다.
결정 블록(470)에서, 만일 호스트 주소가 이미 인접 캐시 테이블에 포함된다고 결정되면, 프로세스는 결정 블록(462)으로 진행한다. 결정 블록(462)에서, 만일 엔트리의 시간 필드에 포함되는 시간이 만료되지 않았다고 결정되면, 프로세스는 결정 블록(463)으로 나아간다. 결정 블록(463)에서, 만일 네트워크 장치가 마스터 역할을 여전히 담당하고 있다고 결정되면, 프로세스는 결정 블록(460)으로 진행한다. 결정 블록(460)에서, 만일 Sync-Request 명령이 수신되지 않았다고 결정되면, 프로세스는 결정 블록(461)으로 나아간다. 결정 블록(461)에서, 만일 전달 을 위해 관련된 패킷이 수신되지 않았다고 결정되면, 프로세스는 블록(462)으로 진행한다.
도 5에서 보이게 되는 결정 블록(460-463)들의 결정의 순서가 임의적으로 결정된 것이라는 것과 이러한 결정 블록은 다른 순서로도 수행되거나 실질적으로 동시에 수행될 수도 있다는 것이 이해될 것이다. 이와 유사하게, 도 4에 도시된 결정 블록들(455-456)의 결정 순서가 임의적인 것이며, 이들은 다른 순서로 수행되거나 실질적으로 동시에 수행될 수도 있다는 것이 이해될 것이다. 도면에 도시된 이러한 결정의 순서들은 절대로 한정적인 것으로 이해되어서는 안되며 예시적인 목적에서 제공된 것일 뿐이다.
상기의 상세한 설명과 실시예 및 데이터는 본 발명의 제조 및 통합 사용이 가능하다는 것을 설명한다. 본 발명의 기술적 사상에서 벗어나지 않는 범위에서 다양한 실시예들이 구현될 수 있기 때문에, 본 발명은 첨부된 청구의 범위에 의하여 정의된다.
본 발명은 컴퓨터 네트워크에 적용될 수 있으며, 특히, 백업 장치 내의 인접 캐시 테이블을 마스터 장치 내의 인접 캐시 테이블과 동기화하기 위하여 적용될 수 있다.

Claims (22)

  1. 삭제
  2. 삭제
  3. 네트워크 장치에 있어서,
    송수신기; 및
    프로세서를 포함하며, 상기 프로세서는,
    동기화 요청을 수신하는데 응답하여, 상기 송수신기를 통하여 동기화 요청 응답을 송신하는 단계로서, 상기 동기화 요청 응답은 제1 인접 캐시 테이블(neighbor cache table) 내의 엔트리에 관련된 정보를 포함하는, 동기화 요청 응답을 송신하는 단계;
    상기 제1 인접 캐시 테이블에 대해 삭제가 수행되는데 응답하여, 상기 송수신기를 통하여 다른 네트워크 장치로 상기 삭제를 나타내는 정보를 송신하는 단계; 및
    상기 제1 인접 캐시 테이블에 다른 엔트리가 추가되는데 응답하여, 상기 송수신기를 통하여 상기 다른 네트워크 장치로 상기 다른 엔트리를 나타내는 정보를 송신하는 단계로서, 상기 다른 엔트리는 호스트와 관련되고, 상기 다른 엔트리에 대한 정보는 상기 호스트와 관련된 링크 상에서 송신되는, 다른 엔트리를 나타내는 정보를 송신하는 단계를 포함하는 동작을 수행하도록 구현될 수 있고,
    상기 제1 인접 캐시 테이블 내의 엔트리들은,
    엔트리 주소를 나타내는 주소 필드, 및 상기 엔트리 주소로의 전달을 위하여 어느 링크가 이용되는지를 나타내는 링크 필드를 포함하고, 상기 프로세서는,
    상기 송수신기를 통하여 다른 동기화 요청을 송신하고;
    상기 송수신기를 통하여 수신 링크에서 다른 동기화 요청 응답을 수신하며; 및
    상기 다른 동기화 요청 응답에 기반하여 추가적 엔트리를 상기 제1 인접 캐시 테이블에 추가함으로써, 상기 다른 엔트리의 링크 필드가 상기 수신 링크를 포함하도록 더욱 구현될 수 있는, 네트워크 장치.
  4. 네트워크 장치에 있어서,
    송수신기; 및
    프로세서를 포함하며, 상기 프로세서는,
    동기화 요청을 수신하는데 응답하여, 상기 송수신기를 통하여 동기화 요청 응답을 송신하는 단계로서, 상기 동기화 요청 응답은 제1 인접 캐시 테이블(neighbor cache table) 내의 엔트리에 관련된 정보를 포함하는, 동기화 요청 응답을 송신하는 단계;
    상기 제1 인접 캐시 테이블에 대해 삭제가 수행되는데 응답하여, 상기 송수신기를 통하여 다른 네트워크 장치로 상기 삭제를 나타내는 정보를 송신하는 단계;
    상기 네트워크 장치로 트래픽을 리디렉션(redirect)하기 위하여 적어도 하나의 명령어를 인접 스위치 장치로 상기 송수신기를 통하여 송신하는 단계; 및
    상기 제1 인접 캐시 테이블에 다른 엔트리가 추가되는데 응답하여, 상기 송수신기를 통하여 상기 다른 네트워크 장치로 상기 다른 엔트리를 나타내는 정보를 송신하는 단계로서, 상기 다른 엔트리는 호스트와 관련되고, 상기 다른 엔트리에 대한 정보는 상기 호스트와 관련된 링크 상에서 송신되는, 다른 엔트리를 나타내는 정보를 송신하는 단계를 포함하는 동작을 수행하도록 구현될 수 있는, 네트워크 장치.
  5. 제4항에 있어서, 상기 제1 인접 캐시 테이블 내의 엔트리들 각각은,
    엔트리 주소를 나타내는 주소 필드를 포함하고, 상기 프로세서는,
    상기 제1 인접 캐시 테이블 내의 각 엔트리에 대해서, 상기 엔트리 주소를 포함하는 소스 주소 필드를 포함하는 패킷을 전송함으로써, 상기 네트워크 장치로 트래픽을 리디렉션하기 위하여 상기 적어도 하나의 명령어를 상기 인접 스위치 장치로 상기 송수신기를 토하여 송신하도록 더욱 구현될 수 있는, 네트워크 장치.
  6. 네트워크 장치에 제1 인접 캐시 테이블을 저장하는 단계;
    상기 네트워크 장치의 수신 링크에서 호스트 주소와 관련된 패킷을 수신하는 단계;
    상기 제1 인접 캐시 테이블이 상기 호스트 주소와 관련되는 엔트리를 포함하는지 결정하는 단계;
    상기 제1 인접 캐시 테이블이 상기 엔트리를 포함하지 않는다는 결정에 응답하여, 상기 제1 인접 캐시 테이블로 상기 엔트리를 추가하는 단계; 및
    상기 제1 인접 캐시 테이블로 상기 엔트리를 추가하는데 응답하여, 추가 명령(Add command)을 상기 수신 링크로부터 백업 네트워크 장치에 연결된 복수의 링크들 중 제1 링크로 송신하는 단계로서, 상기 추가 명령은 상기 호스트 주소를 포함하는, 추가 명령을 송신하는 단계를 포함하는 방법.
  7. 제6항에 있어서, 상기 백업 네트워크 장치는 제2 인접 캐시 테이블을 저장하고,
    상기 제1 및 제2 인접 캐시 테이블들 내의 엔트리들은,
    엔트리 주소를 나타내는 주소 필드, 및
    상기 엔트리 주소로의 전달을 위하여 어느 링크가 이용되는지를 나타내는 링크 필드를 포함하고,
    상기 제2 인접 캐시 테이블에 추가될 신규 엔트리의 상기 주소 필드는 상기 호스트 주소를 포함하고,
    상기 신규 엔트리의 상기 링크 필드는 상기 추가 명령어가 그로부터 수신되는 상기 백업 네트워크 장치의 링크를 나타내는, 방법.
  8. 제6항에 있어서,
    상기 복수의 링크들 중 제1 링크에서 상기 추가 명령어를 수신하는 단계;
    상기 추가 명령어의 수신에 응답하여 상기 백업 네트워크 장치 내의 제2 인접 캐시 테이블로 신규 엔트리를 추가하는 단계;
    상기 백업 네트워크 장치로부터 상기 네트워크 장치로 동기화 요청을 전송하는 단계;
    상기 네트워크 장치에서 상기 동기화 요청의 수신에 응답하여, 상기 제1 인접 캐시 테이블 내의 엔트리들 각각에 관련된 엔트리 정보를 상기 백업 네트워크 장치로 전송하는 단계로서, 상기 엔트리 정보는 상기 제1 인접 캐시 테이블 내의 각 엔트리의 주소 필드의 엔트리 주소를 포함하고, 상기 엔트리 주소들 각각은 상기 엔트리 주소를 포함하는 상기 제1 인접 캐시 테이블 내의 엔트리의 링크 필드에 포함된 상기 링크를 채택함으로써, 상기 백업 장치로 전송되는 단계; 및
    상기 정보의 엔트리 주소들 각각에 대하여,
    상기 백업 네트워크 장치의 복수 개의 링크들 중 하나에서 상기 엔트리 주소를 수신하는 단계; 및
    상기 엔트리 주소의 수신에 응답하여, 다른 신규 엔트리를 상기 제2 인접 캐시 테이블 내에 추가함으로써, 상기 다른 신규 엔트리의 상기 주소 필드가 상기 엔트리 주소를 포함하도록 하고, 상기 다른 신규 엔트리의 상기 링크 필드가 상기 엔트리 주소를 수신한 상기 백업 네트워크 장치의 복수 개의 링크들 중 상기 하나를 포함하도록 하는 단계를 포함하는 단계를 더 포함하는 방법.
  9. 제6항에 있어서,
    상기 제1 인접 캐시 테이블의 각 엔트리 내에 포함된 시간 필드가 경과하도록(aging)하는 단계;
    상기 제1 인접 캐시 테이블 내의 각 엔트리에 대하여, 상기 엔트리의 상기 시간 필드가 만료되었는지 결정하는 단계로서, 상기 엔트리의 상기 시간 필드가 만료되었다는 결정에 응답하여,
    상기 제1 인접 캐시 테이블로부터 상기 엔트리를 삭제하는 단계;
    상기 네트워크 장치로부터 상기 백업 네트워크 장치로 삭제 명령(delete command)을 전송하는 단계로서, 상기 삭제 명령은 상기 제1 인접 캐시 테이블로부터 삭제된 상기 엔트리에 관련되는 단계; 및
    상기 삭제 명령의 수신에 응답하여, 상기 백업 네트워크 장치 내의 제2 인접 캐시 테이블 내의 다른 엔트리를 삭제하는 단계를 포함하는 단계를 더 포함하는 방법.
  10. 제6항에 있어서, 상기 추가 명령은,
    상기 추가 명령을 고가용성(high-availability) 프로토콜 멀티캐스트 주소로 멀티캐스팅함으로써, 상기 네트워크 장치로부터 상기 백업 네트워크 장치로 전송되는, 방법.
  11. 제6항에 있어서,
    상기 제1 인접 캐시 테이블 내의 각 엔트리에 대하여, 상기 네트워크 장치로부터의 갱신 패킷(update packet)을 전송하는 단계로서, 상기 갱신 패킷은 상기 엔트리의 상기 엔트리주소를 포함하는 소스 주소 필드를 포함하는, 갱신 패킷을 전송하는 단계; 및
    상기 갱신 패킷들 중 적어도 하나의 수신에 응답하여, 트래픽을 상기 네트워크 장치로 리디렉션하도록 인접 스위치 장치 내의 제3 인접 캐시 테이블을 갱신하는 단계를 더 포함하는 방법.
  12. 네트워크 장치에 있어서,
    송수신기: 및
    프로세서를 포함하며, 상기 프로세서는,
    상기 네트워크 장치가 마스터 역할(master role)을 담당할 때,
    복수 개의 패킷들을 수신하는 단계로서, 상기 복수 개의 패킷들 중 수신된 패킷은 수신 링크에서 수신되고, 상기 수신된 패킷은 호스트 주소와 관련되는, 복수 개의 패킷들을 수신하는 단계;
    제1 인접 캐시 테이블이 상기 호스트 주소와 관련된 엔트리를 포함하는지 결정하는 단계;
    상기 제1 인접 캐시 테이블이 상기 엔트리를 포함하지 않는다는 결정에 응답하여, 상기 제1 인접 캐시 테이블에 상기 엔트리를 추가하는 단계; 및
    상기 제1 인접 캐시 테이블에 상기 엔트리를 추가하는데 응답하여, 상기 송수신기를 통하여 백업 네트워크 장치로 상기 호스트 주소를 송신하는 단계를 포함하는 동작을 수행하도록 구현될 수 있는, 네트워크 장치.
  13. 제12항에 있어서,
    상기 호스트 주소를 상기 백업 네트워크 장치로 전송하는 단계는 상기 수신 링크를 이용하여 달성되는, 네트워크 장치.
  14. 제12항에 있어서, 상기 프로세서는,
    상기 네트워크 장치로 트래픽을 리디렉션하기 위하여 상기 송수신기를 통하여 갱신 명령을 인접 스위치 장치로 송신하도록 더 구현될 수 있는 네트워크 장치.
  15. 제12항에 있어서, 상기 네트워크 장치가 상기 마스터 역할을 담당할 때, 상기 프로세서는,
    동기화 요청을 수신하고; 및
    상기 송수신기로 하여금 상기 동기화 요청의 수신에 응답하여, 상기 제1 인접 캐시 테이블 내의 각 엔트리에 관련된 엔트리 정보를 상기 송수신기를 통하여 상기 백업 네트워크 장치로 전송하도록 더욱 구현될 수 있고,
    상기 제1 인접 캐시 테이블 내의 엔트리들 각각은 엔트리 주소를 나타내는 주소 필드, 및 상기 엔트리 주소로의 전달을 위하여 어느 링크가 이용되는지 나타내는 링크 필드를 더욱 포함하며,
    상기 엔트리 정보는 상기 제1 인접 캐시 테이블 내의 각 엔트리의 주소 필드의 엔트리 주소들을 포함하고, 상기 엔트리 주소들 각각은 상기 엔트리 주소를 포함하는 상기 제1 인접 캐시 테이블 내의 엔트리의 상기 링크 필드 내에서 표시된 상기 링크를 채택함으로써 상기 백업 장치로 전송되는, 네트워크 장치.
  16. 제12항에 있어서, 상기 프로세서는,
    상기 제1 인접 캐시 테이블로부터 상기 엔트리의 삭제에 응답하여, 상기 제1 인접 캐시 테이블 내의 각 엔트리에 대하여, 삭제 명령어를 상기 백업 네트워크 장치로 상기 송수신기를 통하여 송신되도록 더욱 구현되는, 네트워크 장치.
  17. 제12항에 있어서,
    상기 네트워크 장치가 상기 마스터 역할을 담당할 때, 상기 프로세서는 상기 복수 개의 패킷들의 전달을 제어하도록 더욱 구현될 수 있고,
    상기 백업 네트워크 장치가 상기 마스터 역할 역할을 담당할 때, 상기 백업 네트워크 장치는 상기 복수 개의 패킷들의 전달을 제어하도록 구현될 수 있는, 네트워크 장치.
  18. 제12항에 있어서, 상기 제1 인접 캐시 테이블 내의 각 엔트리는,
    엔트리 주소를 나타내는 주소 필드, 및 상기 엔트리 주소로의 전달을 위하여 어느 링크가 이용되어야 하는지를 나타내는 링크 필드를 포함하고, 상기 프로세서는,
    상기 네트워크 장치가 백업 역할을 수행할 때,
    다른 수신 링크에서 추가 명령의 수신에 응답하여, 추가된 엔트리를 상기 제1 인접 캐시에 추가함으로써, 상기 추가된 엔트리가 상기 추가된 엔트리의 주소 필드 내의 상기 추가 명령에 관련된 다른 호스트 주소, 및 상기 추가된 엔트리의 상기 링크 필드 내의 다른 수신된 링크를 포함하도록 하는 단계; 및
    삭제 명령의 수신에 응답하여, 상기 삭제 명령과 관련된 엔트리를 상기 제1 인접 캐시 테이블로부터 삭제하는 단계; 및
    상기 네트워크 장치가 상기 백업 역할로부터 상기 마스터 역할로의 변경하는데 응답하여, 상기 제1 인접 캐시 테이블 내의 각 엔트리에 대하여, 상기 엔트리의 주로 필드에 의하여 나타난 상기 엔트리 주소를 포함하는 소스 주소 필드를 포함하는 패킷을 송신하는 단계를 수행하도록 더욱 구현될 수 있는 네트워크 장치.
  19. 삭제
  20. 삭제
  21. 명령어들로 부호화된 컴퓨터로 판독 가능한 매체에 있어서, 상기 명령어들의 실행은,
    제1 인접 캐시 테이블을 저장하는 단계;
    네트워크 장치의 수신 링크에서 호스트 주소와 관련된 패킷을 수신하는 단계;
    상기 제1 인접 캐시 테이블이 상기 호스트 주소와 관련된 엔트리를 포함하는지를 결정하는 단계; 및
    상기 제1 인접 캐시 테이블이 상기 엔트리를 포함하지 않는다는 결정에 응답하여, 상기 제1 인접 캐시 테이블로 상기 엔트리를 추가하는 단계; 및
    상기 제1 인접 캐시 테이블로 상기 엔트리를 추가하는데 응답하여, 백업 네트워크 장치로 추가 명령을 송신하는 단계로서, 상기 추가 명령은 상기 호스트 주소를 포함하는, 추가 명령을 송신하는 단계의 동작들을 야기하는, 컴퓨터로 판독 가능한 매체.
  22. 제21항에 있어서, 상기 제1 인접 캐시 테이블의 엔트리의 일부를 포함하는 시간 필드를 경과시키는 단계;
    상기 엔트리의 시간 필드가 상기 제1 인접 캐시 테이블 내의 각각의 엔트리에 대하여 경과되었는지 결정하는 단계; 및
    상기 엔트리의 시간 필드가 경과되었다는 결정에 응답하여:
    상기 제1 인접 캐시 테이블로부터 상기 엔트리를 삭제하는 단계;
    삭제 명령을 상기 네트워크 장치로부터 상기 백업 네트워크 장치로 송신하는 단계로서, 상기 삭제 명령은 상기 제1 인접 캐시 테이블로부터 삭제된 상기 엔트리와 관련된, 삭제 명령을 송신하는 단계의 동작들을 더 포함하는 컴퓨터로 판독 가능한 매체.
KR1020067025041A 2004-04-30 2005-04-14 인접 캐시 테이블 동기화를 위한 장치 및 방법 KR100889881B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/837,559 US20050257002A1 (en) 2004-04-30 2004-04-30 Apparatus and method for neighbor cache table synchronization
US10/837,559 2004-04-30
PCT/IB2005/001013 WO2005104650A2 (en) 2004-04-30 2005-04-14 Apparatus and method for neighbor cache table synchronization

Publications (2)

Publication Number Publication Date
KR20070027566A KR20070027566A (ko) 2007-03-09
KR100889881B1 true KR100889881B1 (ko) 2009-03-24

Family

ID=35242090

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067025041A KR100889881B1 (ko) 2004-04-30 2005-04-14 인접 캐시 테이블 동기화를 위한 장치 및 방법

Country Status (9)

Country Link
US (1) US20050257002A1 (ko)
EP (1) EP1763762A2 (ko)
JP (1) JP2007535852A (ko)
KR (1) KR100889881B1 (ko)
CN (1) CN101427525A (ko)
BR (1) BRPI0510793A (ko)
RU (1) RU2006140686A (ko)
TW (1) TW200619940A (ko)
WO (1) WO2005104650A2 (ko)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7586838B2 (en) * 2004-06-22 2009-09-08 Skylead Assets Limited Flexible M:N redundancy mechanism for packet inspection engine
WO2006049235A1 (ja) * 2004-11-04 2006-05-11 Matsushita Electric Industrial Co., Ltd. マルチインタフェース通信装置、端末、および経路切替方法
US8036172B1 (en) 2006-07-17 2011-10-11 Sprint Communications Company L.P. Stateful home agent recovery protocol (SHARP)
US8312541B2 (en) * 2007-07-17 2012-11-13 Cisco Technology, Inc. Detecting neighbor discovery denial of service attacks against a router
US8521856B2 (en) * 2007-12-29 2013-08-27 Cisco Technology, Inc. Dynamic network configuration
US8165253B2 (en) * 2008-08-28 2012-04-24 Agere Systems Inc. Methods and apparatus for serializer/deserializer transmitter synchronization
KR101544480B1 (ko) * 2010-12-24 2015-08-13 주식회사 케이티 복수 개의 프락시 서버를 포함하는 분산 저장 시스템 및 그 오브젝트 관리 방법 및 컴퓨터에 의하여 독출가능한 저장 매체
US8743885B2 (en) 2011-05-03 2014-06-03 Cisco Technology, Inc. Mobile service routing in a network environment
US9088584B2 (en) * 2011-12-16 2015-07-21 Cisco Technology, Inc. System and method for non-disruptive management of servers in a network environment
CN102694735B (zh) 2012-06-11 2014-12-10 杭州华三通信技术有限公司 用于fc交换机重启后同步的方法和装置
US9794379B2 (en) 2013-04-26 2017-10-17 Cisco Technology, Inc. High-efficiency service chaining with agentless service nodes
US9191271B2 (en) * 2013-04-29 2015-11-17 Telefonaktiebolaget L M Ericsson (Publ) Fast traffic recovery in VRRP based routers
US9509614B2 (en) 2013-06-20 2016-11-29 Cisco Technology, Inc. Hierarchical load balancing in a network environment
CN103401755A (zh) * 2013-08-15 2013-11-20 山东神思电子技术股份有限公司 虚拟通信链路中数据传输的方法
US9336142B2 (en) * 2013-11-06 2016-05-10 International Business Machines Corporation Cache configured to log addresses of high-availability data via a non-blocking channel
US9374297B2 (en) 2013-12-17 2016-06-21 Cisco Technology, Inc. Method for implicit session routing
US9379931B2 (en) 2014-05-16 2016-06-28 Cisco Technology, Inc. System and method for transporting information to services in a network environment
US9479443B2 (en) 2014-05-16 2016-10-25 Cisco Technology, Inc. System and method for transporting information to services in a network environment
US10417025B2 (en) 2014-11-18 2019-09-17 Cisco Technology, Inc. System and method to chain distributed applications in a network environment
USRE48131E1 (en) 2014-12-11 2020-07-28 Cisco Technology, Inc. Metadata augmentation in a service function chain
US9660909B2 (en) 2014-12-11 2017-05-23 Cisco Technology, Inc. Network service header metadata for load balancing
US9762402B2 (en) 2015-05-20 2017-09-12 Cisco Technology, Inc. System and method to facilitate the assignment of service functions for service chains in a network environment
CN105991349B (zh) * 2015-05-25 2020-04-03 杭州迪普科技股份有限公司 一种邻居表项备份方法及装置
US11044203B2 (en) 2016-01-19 2021-06-22 Cisco Technology, Inc. System and method for hosting mobile packet core and value-added services using a software defined network and service chains
US10187306B2 (en) 2016-03-24 2019-01-22 Cisco Technology, Inc. System and method for improved service chaining
US10931793B2 (en) 2016-04-26 2021-02-23 Cisco Technology, Inc. System and method for automated rendering of service chaining
US10419550B2 (en) 2016-07-06 2019-09-17 Cisco Technology, Inc. Automatic service function validation in a virtual network environment
US10320664B2 (en) 2016-07-21 2019-06-11 Cisco Technology, Inc. Cloud overlay for operations administration and management
US10218616B2 (en) 2016-07-21 2019-02-26 Cisco Technology, Inc. Link selection for communication with a service function cluster
US10225270B2 (en) 2016-08-02 2019-03-05 Cisco Technology, Inc. Steering of cloned traffic in a service function chain
US10218593B2 (en) 2016-08-23 2019-02-26 Cisco Technology, Inc. Identifying sources of packet drops in a service function chain environment
US10361969B2 (en) 2016-08-30 2019-07-23 Cisco Technology, Inc. System and method for managing chained services in a network environment
CN107018170B (zh) * 2016-10-27 2020-09-08 阿里巴巴集团控股有限公司 一种数据同步方法和设备
US10225187B2 (en) 2017-03-22 2019-03-05 Cisco Technology, Inc. System and method for providing a bit indexed service chain
US10884807B2 (en) 2017-04-12 2021-01-05 Cisco Technology, Inc. Serverless computing and task scheduling
US10257033B2 (en) 2017-04-12 2019-04-09 Cisco Technology, Inc. Virtualized network functions and service chaining in serverless computing infrastructure
US10333855B2 (en) 2017-04-19 2019-06-25 Cisco Technology, Inc. Latency reduction in service function paths
US10554689B2 (en) 2017-04-28 2020-02-04 Cisco Technology, Inc. Secure communication session resumption in a service function chain
US10735275B2 (en) 2017-06-16 2020-08-04 Cisco Technology, Inc. Releasing and retaining resources for use in a NFV environment
US10798187B2 (en) 2017-06-19 2020-10-06 Cisco Technology, Inc. Secure service chaining
US10397271B2 (en) 2017-07-11 2019-08-27 Cisco Technology, Inc. Distributed denial of service mitigation for web conferencing
US10673698B2 (en) 2017-07-21 2020-06-02 Cisco Technology, Inc. Service function chain optimization using live testing
US11063856B2 (en) 2017-08-24 2021-07-13 Cisco Technology, Inc. Virtual network function monitoring in a network function virtualization deployment
US10791065B2 (en) 2017-09-19 2020-09-29 Cisco Technology, Inc. Systems and methods for providing container attributes as part of OAM techniques
US11018981B2 (en) 2017-10-13 2021-05-25 Cisco Technology, Inc. System and method for replication container performance and policy validation using real time network traffic
US10541893B2 (en) 2017-10-25 2020-01-21 Cisco Technology, Inc. System and method for obtaining micro-service telemetry data
US10666612B2 (en) 2018-06-06 2020-05-26 Cisco Technology, Inc. Service chains for inter-cloud traffic
US11706162B2 (en) * 2019-10-21 2023-07-18 Sap Se Dynamic, distributed, and scalable single endpoint solution for a service in cloud platform

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030120816A1 (en) * 2001-12-21 2003-06-26 International Business Machines Corporation Method of synchronizing firewalls in a communication system based upon a server farm

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490285B2 (en) * 1998-08-25 2002-12-03 International Business Machines Corporation IP multicast interface
US7007100B1 (en) * 2000-12-20 2006-02-28 Nortel Networks Limited Method for synchronization of multicast routing table changes with a plurality of multicast routing protocols
US7647422B2 (en) * 2001-11-06 2010-01-12 Enterasys Networks, Inc. VPN failure recovery
US7231462B2 (en) * 2001-12-21 2007-06-12 International Business Machines Corporation Method of preserving symmetrical routing in a communication system based upon a server farm
US7209435B1 (en) * 2002-04-16 2007-04-24 Foundry Networks, Inc. System and method for providing network route redundancy across Layer 2 devices
US7516202B2 (en) * 2002-07-10 2009-04-07 Nortel Networks Limited Method and apparatus for defining failover events in a network device
US7403474B2 (en) * 2004-01-27 2008-07-22 Hewlett-Packard Development Company, L.P. Redundant router set up

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030120816A1 (en) * 2001-12-21 2003-06-26 International Business Machines Corporation Method of synchronizing firewalls in a communication system based upon a server farm

Also Published As

Publication number Publication date
US20050257002A1 (en) 2005-11-17
BRPI0510793A (pt) 2007-11-20
EP1763762A2 (en) 2007-03-21
CN101427525A (zh) 2009-05-06
JP2007535852A (ja) 2007-12-06
KR20070027566A (ko) 2007-03-09
WO2005104650A3 (en) 2009-04-16
WO2005104650A2 (en) 2005-11-10
TW200619940A (en) 2006-06-16
RU2006140686A (ru) 2008-06-10

Similar Documents

Publication Publication Date Title
KR100889881B1 (ko) 인접 캐시 테이블 동기화를 위한 장치 및 방법
AU2004306913B2 (en) Redundant routing capabilities for a network node cluster
US7885180B2 (en) Address resolution request mirroring
US7490161B2 (en) Method and system for implementing OSPF redundancy
JP4449903B2 (ja) ルータ装置およびネットワーク接続方式
EP3373547B1 (en) Method for realizing disaster tolerance backup
US7155632B2 (en) Method and system for implementing IS-IS protocol redundancy
US7974186B2 (en) Connection recovery device, method and computer-readable medium storing therein processing program
JP2008219514A (ja) ルータ、通信保証方法および通信保証プログラム
KR20080084163A (ko) 시스템 이중화된 네트워크상에서 Nonstop 패킷포워딩 방법 및 라우터
US9401865B2 (en) Network appliance redundancy system, control apparatus, network appliance redundancy method and program
JP2011160363A (ja) コンピュータシステム、コントローラ、スイッチ、及び通信方法
US8411558B1 (en) Stateful home agent recovery protocol (SHARP)
KR101017540B1 (ko) 로컬 노드 운전 정지 동안의 무중단 네트워크 제어 메시지 발생
JP6299745B2 (ja) 通信システム、制御装置、通信方法及びプログラム
TW200836525A (en) Selective passive address resolution learning
JP2007243467A (ja) ブレード型システムおよびコネクション管理方法
CN113992571A (zh) Sdn网络中多路径业务收敛方法、装置和存储介质
KR101308088B1 (ko) 고가용성 정적 멀티캐스트 라우팅 방법 및 시스템
US20240015095A1 (en) Designating a primary multicast flow and a backup multicast flow for multicast traffic
WO2021024377A1 (ja) L2スイッチ、通信制御方法、および、通信制御プログラム
JP2014168157A (ja) 通信システム、制御装置、制御装置の制御方法及びプログラム
JP2012029026A (ja) 通信システム、ルータおよび冗長方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee