KR101665276B1 - 가상 섀시 시스템에서 패스 스루 모드를 위한 시스템 및 방법 - Google Patents

가상 섀시 시스템에서 패스 스루 모드를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101665276B1
KR101665276B1 KR1020157012325A KR20157012325A KR101665276B1 KR 101665276 B1 KR101665276 B1 KR 101665276B1 KR 1020157012325 A KR1020157012325 A KR 1020157012325A KR 20157012325 A KR20157012325 A KR 20157012325A KR 101665276 B1 KR101665276 B1 KR 101665276B1
Authority
KR
South Korea
Prior art keywords
network node
chassis
network
identifier
virtual
Prior art date
Application number
KR1020157012325A
Other languages
English (en)
Other versions
KR20150067361A (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
Priority claimed from US13/674,352 external-priority patent/US9148391B2/en
Application filed by 알까뗄 루슨트 filed Critical 알까뗄 루슨트
Publication of KR20150067361A publication Critical patent/KR20150067361A/ko
Application granted granted Critical
Publication of KR101665276B1 publication Critical patent/KR101665276B1/ko

Links

Images

Classifications

    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

가상 섀시 시스템은, 네트워크 노드들 사이에서 패킷들의 교환을 위한 접속을 제공하는 가상 패브릭 링크(VFL)에 의해 접속되는 복수의 네트워크 노드들을 포함한다. 가상 섀시 시스템의 네트워크 노드는 패스 스루 모드에서 동작가능하다. 패스 스루 모드에서, 네트워크 노드는 VFL을 통해 패킷들을 수신하고, 패킷을 다른 VFL을 통해 가상 섀시 시스템의 다른 네트워크 노드에 투명하게 포워딩한다. 그러나, 네트워크 노드(110)는, 가상 섀시 시스템으로부터 외부 노드들에 접속된 포트 인터페이스들과 같은 다른 포트 인터페이스들을 디스에이블시킨다. 패스 스루 모드인 네트워크 노드(110)는 하나 이상의 VFL들을 통해 관리 커맨드들을 수신하도록 동작가능하고, 관리 커맨드들을 통해 여전히 관리될 수 있다.

Description

가상 섀시 시스템에서 패스 스루 모드를 위한 시스템 및 방법{SYSTEM AND METHOD FOR A PASS THRU MODE IN A VIRTUAL CHASSIS SYSTEM}
본 발명은 일반적으로 데이터 네트워크들에 관한 것이고, 특히, 하나 이상의 데이터 네트워크들의 노드들 사이에서 토폴로지 리던던시 및 복원성(resiliency)을 제공하기 위한 시스템들 및 방법들에 관한 것이다.
데이터 네트워크들은, 네트워크에 부착된 다양한 다른 네트워크 엘리먼트들 또는 원격 서버들과 그리고/또는 서로 통신하는, 예를 들어, 개인용 컴퓨터들, IP 텔레포니 디바이스들 또는 서버들과 같은 다양한 컴퓨팅 디바이스들을 포함한다. 예를 들어, 데이터 네트워크들은, 제한 없이, 예를 들어, VoIP(voice-over-IP), 데이터 및 비디오 애플리케이션들을 포함하는 다수의 애플리케이션들을 지원하는 메트로 이더넷 또는 기업 이더넷 네트워크들을 포함할 수 있다. 이러한 네트워크들은 통상적으로, 네트워크를 통해 트래픽을 라우팅하기 위해, 통상적으로 스위치들 또는 라우터들로 공지된 상호접속된 노드들을 포함한다.
데이터 네트워크들에 의해 직면되는 주요 난제들 중 하나는, 네트워크 복원성(network resiliency), 즉, 만족적 네트워크 성능을 제공하는데 치명적인, 궁극적인 컴포넌트 실패들, 링크 실패들 등에도 불구하고, 높은 이용가능성을 유지하는 능력에 대한 필요성이다. 네트워크 복원성은 부분적으로는, 토폴로지 리던던시를 통해, 즉, 여분의 노드들(및 노드들 내의 여분의 컴포넌트들) 및 노드들 사이의 다수의 물리적 경로들을 제공하여, 단일 포인트들의 실패를 방지함으로써, 그리고 부분적으로는 L2/L3 프로토콜들을 통해, 네트워크를 통한 트래픽 플로우들을 스위칭/라우팅하기 위한 대안적인 경로들 상에서 수렴하는 실패들의 발생 시에 리던던시를 활용하는 것으로 달성될 수 있다. 인식될 바와 같이, 검출 및 수렴 시간들은, 대안적인 경로들로의 끊김없는 전이를 달성하기 위해 네트워크들에서 신속하게(유리하게는, 1초 미만으로) 발생해야 한다. 네트워크 엘리먼트들 사이에서 리던던시를 제공하기 위해, 링 네트워크들, 부분적 메시 네트워크들, 전체적 메시 네트워크들, 허브 네트워크들 등과 같은 다양한 타입들의 네트워크 토폴로지들이 네트워크 내에서 구현된다. 네트워크 엘리먼트들 사이의 수렴 시간들 및 리던던시는 종종, 네트워크에서 구현되는 네트워크 토폴로지의 타입에 따라 변한다.
네트워크 엘리먼트들의 아키텍처들은 또한 변하고 네트워크 복원성에 영향을 미친다. 예를 들어, 다양한 노드 아키텍처들은 단일 스위칭 엘리먼트들, 스택가능한 스위칭 엘리먼트들, 다중-슬롯 섀시 기반 네트워크 엘리먼트들 등을 포함한다. 일반적으로, 비용 및 네트워크 필요성들에 따라, 이러한 타입들의 노드 아키텍처들 중 하나가 선택되고 네트워크 토폴로지들의 타입들 중 하나로 구현된다. 그러나, 일단 구현되면, 일 타입의 네트워크 토폴로지로부터 다른 타입의 네트워크 토폴로지로 업그레이드 또는 전이하는 것은 때때로 곤란하다. 또한, 네트워크 토폴로지 내에서 일 타입의 노드 아키텍처로부터 다른 타입의 노드 아키텍처로 전이하는 것 또는 하나의 네트워크 내에서 다양한 타입들의 노드 아키텍처들을 통합하는 것은 또한 곤란하다.
따라서, 하나 이상의 상이한 타입들의 네트워크 토폴로지들에서 하나 이상의 상이한 타입들의 노드 아키텍처들을 갖는 노드들 사이에서 복원성을 제공하기 위한 시스템들 및 방법들에 대한 필요성이 존재한다.
도 1a 내지 도 1c는, 본 발명에 따른 가상 섀시 시스템의 실시예들에 대한 개략적인 블록도들을 도시한다.
도 2는, 본 발명에 따른 가상 섀시 시스템에서 네트워크 토폴로지 발견 프로세스의 실시예에 대한 논리 흐름도를 도시한다.
도 3은, 본 발명에 따른 가상 섀시 시스템에서 네트워크 노드의 토폴로지 데이터베이스의 실시예에 대한 개략적 블록도를 도시한다.
도 4는, 본 발명에 따른 가상 섀시 시스템에서 네트워크 노드들의 실시예에 대한 개략적 블록도를 도시한다.
도 5는, 본 발명에 따른 가상 섀시 시스템에서 네트워크 노드의 네트워크 인터페이스 모듈의 실시예들에 대한 개략적 블록도를 도시한다.
도 6은, 본 발명에 따른 가상 섀시 시스템에서 패킷의 프리펜딩된 헤더의 실시예에 대한 개략적 블록도를 도시한다.
도 7은, 본 발명에 따른 가상 섀시 시스템에서 네트워크 노드를 통한 패킷 흐름의 실시예에 대한 개략적 블록도를 도시한다.
도 8은, 본 발명에 따른 가상 섀시 관리자 애플리케이션의 실시예에 대한 개략적 블록도를 도시한다.
도 9는, 본 발명에 따른 가상 섀시 시스템에서 네트워크 노드의 패스 스루(pass thru) 모드를 위한 방법의 실시예에 대한 논리 흐름도를 도시한다.
도 10a 내지 도 10d는, 본 발명에 따른 가상 섀시 시스템의 실시예들에 대한 개략적 블록도들을 도시한다.
도 11은, 본 발명에 따라, 네트워크 노드의 구성들을 패스 스루 모드로 업데이트하기 위한 방법의 실시예에 대한 논리 흐름도를 도시한다.
도 12는, 본 발명에 따른 가상 섀시 시스템에서 과도한 네트워크 노드들의 경우 패스 스루 모드를 위한 방법의 실시예에 대한 논리 흐름도를 도시한다.
도 13은, 본 발명에 따른 가상 섀시 시스템에서 동작적 섀시 식별자들의 복제 구성의 경우 패스 스루 모드를 위한 방법의 실시예에 대한 논리 흐름도를 도시한다.
도 14는, 본 발명에 따라 네트워크 노드에 대한 패스 스루 모드를 결정하기 위한 방법의 실시예에 대한 논리 블록도를 도시한다.
도 15는, 본 발명에 따른 패스 스루 할당 커맨드의 실시예에 대한 개략적 블록도를 도시한다.
하기 표준들은, 본 출원에서 참조되고, 참조로 본 명세서에 통합된다: 1) IEEE 802.3ad 태스크 포스에 의해 2000년 3월에 추가되었으며, 현재 2008년 11월 3일자 IEEE 802.1AX-2008에 통합된 것과 같은 IEEE 802.3 표준의 예전의 조항 43인 링크 어그리게이션 제어 프로토콜(Link Aggregation Control Protocol; LACP); 및 2) IEEE 표준 802.1Q, Virtual Bridged Local Area Networks, 2003 에디션.
도 1a는, 가상 패브릭 링크들(VFL들)(120)로 지칭되는, 제어 및 어드레싱 정보를 통신하기 위해 전용 링크 어그리게이트 그룹들에 의해 동작가능하게 연결된 복수의 네트워크 노드들(110)을 포함하는 가상 섀시 시스템(100)의 실시예를 도시한다. VFL들(120) 및 이들의 동작은, 2011년 1월 20일에 출원되고 계류중이며 발명의 명칭이 "SYSTEM AND METHOD FOR MULTI-CHASSIS LINK AGGREGATION"인 미국 특허 출원 제 13/010,168호에 더 상세히 설명되어 있고, 상기 미국 특허 출원은 본 명세서에 참조로 통합되고, 모든 목적들을 위해 본 US 유틸러티 특허 출원의 일부가 된다. VFL들(120)은, 트래픽 포워딩, MAC 어드레싱, 멀티캐스트 플로우들, 어드레스 해결 프로토콜(ARP) 테이블들, 계층 2 제어 프로토콜들(예를 들어, 스패닝 트리, 이더넷 링 보호, 논리 링크 검출 프로토콜), 라우팅 프로토콜들(예를 들어, RIP, OSPF, BGP), 및 네트워크 노드들과 외부 링크들의 상태와 관련된 정보의 교환을 위해 네트워크 노드들(110) 사이에 접속들을 제공한다.
실시예에서, 복수의 네트워크 노드들(110)은 단일화된 관리 능력들을 갖는 단일의 가상 네트워크 노드로서 동작한다. 마스터 네트워크 노드, 예를 들어, 네트워크 노드(110a)가 선택되고, 마스터 네트워크 노드(110)의 로컬 MAC 어드레스는, 다른 네트워크 노드들(110)에 의한 가상 섀시 시스템(100)에 대한 마스터 MAC 어드레스로서 채택된다. 마스터 MAC 어드레스는, 가상 섀시 시스템(100)에서 네트워크 노드들(110)에 어드레스하기 위해 외부 노드들(112)에 의해 활용된다. 따라서, 네트워크 노드들(110)은 외부 노드들(110)에 투명하게 동작하고, 외부 노드들(112)에 의해 단일 로컬 디바이스로서 취급된다.
외부 노드들(112)은, 단일 트렁크(trunk) 또는 링크, 링크 어그리게이트 그룹(LAG)(116) 또는 가상-섀시 링크 어그리게이트 그룹들(VC-LAG)(114)을 이용하여 가상 섀시 시스템(100)의 하나 이상의 네트워크 노드들(110)에 연결하도록 동작가능하다. 증가된 복원성을 제공하고 단일 포인트 또는 심지어 2개의 포인트들의 실패를 제거하기 위해, VC-LAG(114)는 가상 섀시 시스템(100)의 둘 이상의 네트워크 노드들(110)에 외부 노드를 연결시키도록 동작가능하다. 외부 노드는 VC-LAG(114)의 이용가능한 링크들을 통해 트래픽을 분산시키기 위한 로드 밸런싱 기술들을 이용할 수 있다. 예를 들어, VC-LAG(114)의 물리 링크들 중 하나가 외부 노드에 의해 선택되어, 대역폭의 더 효과적인 이용을 위해 로드-밸런싱 알고리즘(통상적으로, 소스 및 수신지 인터넷 프로토콜(IP) 또는 매체 액세스 제어(MAC) 어드레스 정보에 대해 동작하는 해시 함수를 수반함)에 기초하여 패킷을 송신한다.
정규의 동작 동안, 가상 섀시 시스템 내의 네트워크 노드들(110)은 광범위한 여러가지의 계층 2 및 계층 3 프로토콜들에 의해 시스템 식별을 위한 마스터 MAC 어드레스를 공유한다. 예를 들어, 스패닝 트리 프로토콜 및 LACP 프로토콜들은 마스터 MAC 어드레스를 가상 섀시 시스템(100)에 대한 식별자로서 이용한다. 인터넷 프로토콜(IP) 라우팅은 또한, 네트워크에서 외부 네트워크 엘리먼트들에게 가상 섀시 시스템(100)을 식별시키기 위해 마스터 MAC 어드레스를 활용하는데, 예를 들어, 피어들은, 가상 섀시 시스템(100)으로 향하는 패킷들에 대한 이더넷 수신지 어드레스로서 마스터 MAC 어드레스를 이용한다. 따라서, 가상 섀시 시스템(100) 내의 네트워크 노드들(110)은 외부 노드들(112)에 의해 단일의 논리 노드로서 간주된다. 또한, 가상 섀시 시스템(100) 내의 네트워크 노드들(110)은, 단일화된 운영, 동작 및 유지보수 관리 시스템을 갖는 단일 노드로서 관리된다.
가상 섀시 시스템(100) 내의 네트워크 노드들(110)이 외부 노드들(112)에 의해 단일의 논리 디바이스로서 취급되기 때문에, 외부 노드들(112)은 VC-LAG(114)의 모든 링크들 상에서 트래픽을 활성으로 포워딩하도록 동작가능하다. 이러한 특징은, 네트워크 노드(110) 실패들 뿐만 아니라 업링크 실패들을 한정하기 위한 캐리어-등급 검출 및 수렴 시간을 여전히 용이하게 하면서, 외부 노드들과 네트워크 노드들 사이의 스패닝 트리 프로토콜들을 요구함이 없이, 네트워크 노드들(110)로의 외부 노드들(112)의 다수의 호밍(homing)을 가능하게 한다. 가상 섀시 시스템(100)으로의 모든 VC-LAG(114) 업링크들의 활성 포워딩 모드의 다른 이점은, VC-LAG(114) 링크들의 대역폭 이용의 증가된 효율이다.
가상 섀시 시스템(100) 내에서, 네트워크 노드(110)는 섀시 식별자 또는 섀시 ID로 지칭되는 범용 고유 식별자를 할당받는다. 네트워크 노드(110)는 가상 섀시 시스템(100) 내의 자신의 구성된 VFL들(120) 각각에 내부 VFL 식별자(VFID)를 할당한다. VFL에 대한 VFID가 VFL들(120)의 내부 식별 및 구성을 위해 활용되기 때문에, 네트워크 노드(110)는 다른 네트워크 노드(110)에 의해 할당된 것과 동일하거나 상이한 VFID를 VFL(120)에 할당할 수 있다. 2011년 1월 20일에 출원되고 발명의 명칭이 "SYSTEM AND METHOD FOR MULTI-CHASSIS LINK AGGREGATION"인 미국 특허 출원 제 13/010,168호에 더 상세히 설명된 바와 같이, VFL들(120)은, 네트워크 노드들(110) 사이에서, 트래픽 포워딩, MAC 어드레싱, 멀티캐스트 플로우들, 어드레스 해결 프로토콜(ARP) 테이블들, 계층 2 제어 프로토콜들(예를 들어, 스패닝 트리, 이더넷 링 보호, 논리 링크 검출 프로토콜), 라우팅 프로토콜들(예를 들어, RIP, OSPF, BGP)에 관한 정보의 교환을 위한 접속을 제공한다. 실시예에서, 네트워크 노드들(110) 사이에서 매체 액세스 제어(MAC) 어드레스 테이블들과 같은 계층 2 어드레스 테이블들의 동기화가, 주기적인 킵-얼라이브 메커니즘에 의해서 뿐만 아니라 VFL들(120)을 통한 계층 2 패킷 플로우들에 의해 구동되어, 주어진 MAC 어드레스를 소유한 네트워크 노드(110)는 이러한 MAC 어드레스를 포함한 특정한 패킷들을 소스 어드레스로서 과도하게 보낸다. 동기화 메커니즘은 또한, 네트워크 노드(110) 또는 그의 컴포넌트들의 일부가 중단되는 경우들을 다루기 위해 표준 MAC 플러슁(flushing) 메커니즘을 구현할 필요가 있다. MAC 어드레스 소스 학습은, 미지의 수신지 MAC 어드레스들의 범람을 통한 VFL들(120)을 통해 가능하게 된다. 소스 학습 동안, 네트워크 노드들(110)은, 소스 섀시 ID, 소스 네트워크 인터페이스 식별자 및 소스 포트 식별자 정보와 같은 연관된 하드웨어 디바이스 정보 및 소스 MAC 어드레스들을 포함하는, 프리펜딩된 헤더들을 갖는 패킷들을 VFL들(120)을 통해 교환한다. 네트워크 노드들(110)은 이러한 정보를 이용하여, 최소 메시징 기반 MAC 테이블 동기화를 갖는 동기화된 MAC 어드레스 테이블들을 유지한다. 동기화된 MAC 어드레스 테이블을 활용하면, 네트워크 노드들(110)은 가상 섀시 시스템(100)의 네트워크 노드들(110) 사이에서 패킷들을 프로세싱 및 포워딩하도록 동작가능하다.
도 1a는, 네트워크 노드들(110)이 부분적인 메시(mesh) 네트워크 토폴로지에서 연결된 것을 도시한다. 그러나, 가상 섀시 시스템(100)의 네트워크 노드들(110)은, 가상 섀시 시스템(100)의 동작에 영향을 미치지 않고, 임의의 복수의 타입들의 네트워크 토폴로지들에서 연결될 수 있다. 도 1b는, VFL들(120)에 의해 연결된 링 네트워크 토폴로지에서 구성된 복수의 네트워크 노드들(110)을 갖는 가상 섀시 시스템(100)을 도시한다. 도 1c는, 허브 및 바퀴 타입 또는 별 타입의 네트워크 토폴로지로 구성된 복수의 네트워크 노드들(110)을 갖는 가상 섀시 시스템(100)을 도시한다. 선형, 트리, 완전한 메시, 하이브리드 등과 같은 미도시된 다른 네트워크 토폴로지들이 또한 가상 섀시 시스템(100)에 의해 지원된다. 복수의 상이한 타입들의 네트워크 토폴로지들을 지원하기 위해, 가상 섀시 시스템(100)의 네트워크 노드들(110)은 네트워크 토폴로지 발견 프로세스를 수행하도록 동작가능하다.
도 2는, 가상 섀시 시스템(100)에서 네트워크 토폴로지 발견 프로세스(130)의 실시예에 대한 논리 흐름도를 도시한다. 프로세스는, 시동, 재부팅, 네트워크의 상태 변경의 표시 또는 미리 결정된 시간 기간에 가상 섀시 시스템(100)의 활성 네트워크 노드들(110)에 의해 수행된다. 단계(132)에서, 네트워크 노드(110)는, 자신이 가상 섀시 모드(VCM)에서 동작하고 있음을 검출한다. 예를 들어, 네트워크 노드(110)의 하나 이상의 파라미터들은 가상 섀시 동작 모드를 나타내도록 구성된다. 네트워크 노드(110)는, 파라미터들이 (예를 들어, 독립형 모드 또는 다중-섀시 모드보다는) 가상 섀시 동작 모드를 나타냄을 검출한다. 그 다음, 네트워크 노드(110)는 단계(134)에서 하나 이상의 제어 프로토콜들을 수행하여, 가상 섀시 시스템(100)의 다른 네트워크 노드들(110)을 발견하고, 토폴로지 및 구성 정보를 교환한다. 네트워크 노드(110)는 이 정보를 이용하여, 가상 섀시 시스템(100)의 토폴로지 데이터베이스를 확립한다. 토폴로지 데이터베이스는, 다른 네트워크 노드들(110)에 대한 식별 정보(예를 들어, 로컬 MAC 어드레스, 섀시 식별자), 활성 VFL들(120)(또는 다른 활성 인터-스위치 링크들)을 호스팅하는 네트워크 인터페이스들에 대한 식별 정보, 네트워크 노드들(110) 상에서 VFL들(120) 및 이들의 연관된 멤버 포트들에 대한 식별 정보를 포함한다. 따라서, 네트워크 노드(110)는, 네트워크 노드들(110) 사이의 활성 접속들, 및 가상 섀시 시스템(100)의 다른 네트워크 노드들(110)의 구성 정보를 학습한다. 하기 표 1은 네트워크 노드(110a)에 대한 토폴로지 데이터베이스의 일례이고, 이 예에서, 예를 들어, 섀시 ID=1이고 발견 단계에 후속한다. 표 1은, 토폴로지 데이터베이스에 저장된 예시적인 정보를 포함하지만, 도시되지 않은 다른 정보 및 데이터가 또한 토폴로지 데이터베이스에 포함될 수 있다. 또한, 토폴로지 데이터베이스는, 별개의 데이터베이스들 또는 테이블들에 저장될 수 있거나, 네트워크 노드(110)의 다른 테이블들 또는 데이터베이스들과 결합될 수 있다.
Figure 112015044954152-pct00001
도 2의 단계(136)에서, 가상 섀시 시스템(100)에 대한 관리 및 다른 작업들을 수행하기 위해 마스터 네트워크 노드가 선택된다. 그 다음, 마스터 네트워크 노드의 로컬 MAC 어드레스가 다른 네트워크 노드들(110)에 의해 채택된다. 하기 표 2는, 섀시 ID = 1인, 선택된 마스터 네트워크 노드(110)에 대한 토폴로지 데이터베이스의 일례이다. 표 2에서 확인되는 바와 같이, 섀시 ID=1을 갖는 네트워크 노드는 마스터 역할을 갖는 것으로 표시되며, 다른 노드들은 토폴로지 데이터베이스에서 슬레이브 역할을 갖는 것으로 표시된다.
Figure 112015044954152-pct00002
마스터 네트워크 노드(110)의 선택은, 섀시 우선순위, 업 시간, 섀시 ID 및 섀시 MAC 어드레스를 포함하는 파라미터들의 우선순위화된 리스트에 기초한다. 업 시간의 파라미터는 더 긴 시간 기간들 동안 동작하는 네트워크 노드들(110)에 우선순위를 부여한다. 섀시 우선순위 파라미터는, 섀시 ID 또는 업 시간과 무관하게, 마스터 네트워크 노드(110)의 사용자 선호도를 정의하는 사용자 구성 우선순위이다. 다양한 파라미터들의 이용은 마스터 네트워크 노드(110)의 선택에 대한 유연성을 추가한다. 토폴로지 데이터베이스에 나타난 섀시 그룹 파라미터는 가상 섀시 시스템(100)을 식별한다. 상이한 섀시 그룹 식별들을 갖는 하나 이상의 추가적인 가상 섀시 시스템들(100)이 또한 네트워크에서 동작가능할 수 있다. 토폴로지 데이터베이스는 또한 네트워크 노드(110)의 활성 또는 주 제어 관리자 모듈들(CMM) 및 네트워크 노드(110)의 섀시 타입을 식별시킨다.
네트워크 토폴로지 발견 프로세스(130)의 단계(138)에서, 네트워크 노드(110)는 하나 이상의 프로토콜들을 수행하여, 가상 섀시 시스템(100)의 네트워크 노드들(110) 및 접속들의 상태 또는 스테이터스를 모니터링한다. 네트워크 노드들(110)의 현재의 상태가 토폴로지 데이터베이스에서 유지된다. 가상 섀시 시스템(100)의 네트워크 노드(110)에서 검출된 상태 변경은 라우팅의 변경, 마스터 노드의 변경 등을 개시할 수 있다. 네트워크 노드들(110)의 모니터링 및 토폴로지 자체-발견을 통해, 가상 섀시 시스템(100)은, 최소 사전-구성 및 개입으로 복수의 상이한 타입들의 네트워크 토폴로지들을 지원하도록 동작가능하다.
도 3은, 마스터 네트워크 노드(110)의 선택 이후, 가상 섀시 시스템(100)의 네트워크 노드들(110)에서 토폴로지 데이터베이스들(144)의 일례를 도시한다. 이 예에서, 네트워크 노드(110a)가 마스터 네트워크 노드로서 채택되고, 네트워크 노드들(110b 및 110c)이 슬레이브 노드들이다. 네트워크 노드(110a)의 로컬 MAC 어드레스(예를 들어, 마스터 MAC 어드레스 = A)는 네트워크 노드들(110a-c)에 의해 가상 섀시 MAC 어드레스로서 채택된다. 또한, 마스터 MAC 어드레스(MAC=A)가 관리 애플리케이션들에 대한 애플리케이션 MAC 어드레스로서 채택된다.
가상 섀시 시스템(100)은 또한, 단일 모듈의, 스택가능한 또는 다중-슬롯 섀시-기반 아키텍처들과 같은 하나 이상의 상이한 타입들의 노드 아키텍처들을 갖는 네트워크 노드들(110)을 포함하도록 동작가능하다. 도 4는, 상이한 타입들의 노드 아키텍처를 갖는 가상 섀시 시스템(100)의 네트워크 노드들(110)의 실시예에 대한 개략적 블록도를 도시한다. 이 예에서, 네트워크 노드(110a)는 복수의 네트워크 인터페이스 모듈들(152a-n)을 갖는 다중-슬롯 섀시-기반 아키텍처를 갖는다. 일반적으로, 다중-슬롯 섀시-기반 아키텍처들은, 하나의 인클로져, 제어 관리자 모듈들(CMM들)(150a-b), 및 라인 카드들 또는 포트 모듈들과 같은 하나 이상의 네트워크 인터페이스 모듈들(NIM들)(152a-n)을 갖는 공통 전원을 공유한다. 네트워크 인터페이스 모듈들(152n)은 큐잉 모듈(212) 및 스위칭 모듈(210)을 포함하고, 섀시의 백플레인에 통합된 패브릭 스위치(214)에 의해 접속된다.
이 예의 네트워크 노드(110b)는 스택가능한 노드 아키텍처를 갖고, 백플레인 접속들(142)에 의해 연결되는 복수의 네트워크 엘리먼트들(140a-n)을 포함한다. 각각의 네트워크 엘리먼트(140a-n)는 독립형 노드로서 동작가능하고, 자기 자신의 인클로져, 제어 관리자 모듈(CMM)(150), 스위칭 모듈(210), 큐잉 모듈(212) 및 전원을 포함한다. 몇몇 스택 아키텍처들에서, 하나의 네트워크 엘리먼트(이 예에서는 네트워크 엘리먼트(140a))가 관리 목적들을 위한 스택의 메인 또는 마스터 유닛으로 지정된다.
네트워크 노드(110c)는, 단일 스택가능한 엘리먼트(140)와 같은 단일 모듈 노드 아키텍처를 갖거나, 또는 대안적으로, 단일 네트워크 인터페이스 모듈(152)을 갖는 다중-슬롯 섀시-기반 아키텍처를 갖는다.
네트워크 노드들(110a-c)은 도 1a-c의 가상 섀시 시스템(100)의 네트워크 엘리먼트들(110) 중 하나 이상에 대응한다. 예를 들어, 가상 섀시 시스템(100)은, 오직 다중-슬롯 섀시-기반 노드 아키텍처들을 갖는 네트워크 노드들(110)을 포함하거나, 오직 스택가능한 노드 아키텍처들을 갖는 네트워크 노드들(110)을 포함하거나, 다중-슬롯 섀시-기반 아키텍처들, 스택가능한 노드 아키텍처들 및 단일 모듈 노드 아키텍처들과 같은 둘 이상의 타입들의 노드 아키텍처들을 갖는 네트워크 노드들(110)의 결합을 포함하도록 동작가능하다. 도시되지 않았지만, 가상 섀시 시스템(100)은 또한 다른 타입들의 노드 아키텍처들 및 구성들로 이루어진 네트워크 노드들(110)을 포함할 수 있다.
네트워크 노드(110a) 및 네트워크 노드(110b)는 VFL(120a)에 의해 동작가능하게 연결된다. 네트워크 노드들(110a 및 110b)은, 도 3에 도시된 바와 같이, 네트워크 노드(110b)에 의해 VFID = 0 및 네트워크 노드(110a)에 대해 VFID = 3과 같은 내부 VFL 식별자(VFID)를 갖는 VFL(120a)을 지정한다. 네트워크 노드(110a) 및 네트워크 노드(110c)는 VFL(120b)에 의해 동작가능하게 연결된다. 네트워크 노드들(110a 및 110c)은, 도 3에 도시된 바와 같이, 네트워크 노드(110c)에 의해 VFID = 1 및 네트워크 노드(110a)에 대한 VFID = 2와 같은 내부 VFL 식별자(VFID)를 갖는 VFL(120b)을 지정한다. 또한, 네트워크 노드들(110a-c)는 또한 도 1a-c에 도시된 바와 같이, 추가적인 VFL(120s)에 의해 하나 이상의 다른 네트워크 노드들(110)에 연결되도록 동작가능하다. 네트워크 노드들(110a 및 110b) 사이의 VFL(120a)은 가상 섀시 시스템(100)의 다양한 네트워크 노드들(110) 사이에서 VFL들(120)의 구성 및 동작의 일반화로서 아래에서 설명된다.
네트워크 노드(110a)와 네트워크 노드(110b) 사이의 VFL(120a)은 하나 이상의 스위칭 모듈들(210)의 하나 이상의 VFL 멤버 포트들에 동작가능하게 연결된다. 하나 이상의 포트들, 링크들 또는 모듈들의 실패의 경우 복원성을 위해, VFL(120a)는 네트워크 노드들(110a 및 110b)의 상이한 스위칭 모듈들(210) 사이에서 LACP 또는 유사한 어그리게이트 프로토콜을 이용하여 생성된 복수의 어그리게이트 링크들을 포함하도록 동작가능하다. 예를 들어, 도 4에서, VFL(120a)은, 네트워크 노드(110a)의 NIM(152a)과 네트워크 노드(110b)의 스택가능한 네트워크 엘리먼트(140a) 사이의 물리 링크들의 제 1 서브세트 A, 및 네트워크 노드(110a)의 NIM(152b)과 네트워크 노드(110b)의 스택가능한 네트워크 엘리먼트(140b) 사이의 물리 링크들의 제 2 서브세트 B를 포함한다.
네트워크 노드들(110)은 가상 섀시 시스템(100)에서 고유 섀시 식별자를 할당받는다. 각각의 네트워크 노드(110)에 대한 섀시 ID는 고유하고 범용적이고 토폴로지 발견에 걸쳐 있고, 네트워크 노드들(110)은 가상 섀시 시스템(100)에서 자신의 피어 네트워크 노드들(110)의 섀시 ID를 인식한다. 또한, 예를 들어, 네트워크 노드들(110)의 스위칭 모듈들(210) 및 포트 인터페이스들과 같은 다양한 컴포넌트들에 대한 고유 하드웨어 디바이스 식별자들 또는 모듈 식별자들(MID들)이 생성되어 로컬 및 원격 객체들의 관리를 허용한다. 실시예에서, 스위칭 모듈들(210)에 대한 하드웨어 디바이스 식별자들 MID들은 가상 섀시 시스템 내에서 범용 중요성을 갖는 한편, 큐잉 모듈들(212)과 같은 다른 컴포넌트들에 대해서는 오직 로컬 중요성만을 가질 수 있다. 예를 들어, 스위칭 모듈들(210)에 할당된 하드웨어 디바이스 식별자들은 다른 네트워크 노드들(110)에 알려지는 한편, 다른 디바이스들에 대한 하드웨어 디바이스 식별자들은 로컬 네트워크 노드(110)로 제한되고 다른 네트워크 노드들(110)에 중요하지 않다. 예를 들어, 스위칭 모듈(210)의 포트 인터페이스들은, 섀시 ID, 스위칭 모듈 ID 및 포트 인터페이스 ID를 포함하는 범용 고유 하드웨어 디바이스 식별자를 할당받는다. 실시예에서, 가상 섀시 시스템의 네트워크 노드들(110)은, VFL들(120)을 통해 데이터 및 제어 패킷들을 교환하기 위해 프리펜딩 헤더 모드에서 동작한다.
도 5는, 프리펜딩 헤더 모드에서 동작하는 네트워크 인터페이스 모듈(NIM)(152)의 실시예에 대한 더 상세한 개략적 블록도를 도시한다. 네트워크 인터페이스 모듈(152)이 도시되지만, 프리펜딩 헤더 모드에서 동작하기 위한 유사한 기능들을 수행하기 위해, 스택가능한 네트워크 엘리먼트(140) 또는 단일 모듈 네트워크 엘리먼트가 동작가능하다. 스위칭 모듈(210)은, 가상 섀시 시스템(100)으로부터 외부 노드들(112)에 접속되는 복수의 외부 포트들(240)을 포함한다. 외부 포트들(240) 중 하나 이상은, VC-LAG(114), LAG(116), 단일 트렁크 또는 다른 트렁크 그룹, 고정 링크 등에 대한 멤버 포트들을 포함할 수 있다. 외부 포트들(240)은, 동일한 물리 인터페이스 타입, 예를 들어, 구리 포트들(CAT-5E/CAT-6), 다중-모드 섬유 포트들(SX) 또는 단일-모드 섬유 포트들(LX)을 가질 수 있다. 다른 실시예에서, 외부 포트들(240)은 하나 이상의 상이한 물리 인터페이스 타입들을 가질 수 있다.
외부 포트들(240)은, 외부 포트 인터페이스 식별자들(포트 ID), 예를 들어, 스위칭 모듈(210)과 연관된 gport 및 dport 값들과 같은 디바이스 포트 값들을 할당받는다. 실시예에서, 네트워크 노드(110)의 섀시 ID, 스위칭 모듈(210)의 MID 및 외부 포트 인터페이스 식별자(포트 ID)는, 가상 섀시 시스템(100)의 네트워크 노드(110)에서 물리 외부 포트 인터페이스(240)의 범용 고유 식별자로 이용된다.
외부 포트 인터페이스(240) 상에서 패킷이 수신되는 경우, 스위칭 모듈(210)은, 패킷의 소스 및/또는 수신지 MAC 어드레스와 연관된 하드웨어 디바이스 정보(HDI)를 포함시키기 위해 프리펜딩된 헤더를 추가하는(또는 그렇지 않으면 패킷 헤더를 변경하는) 프리펜딩 패킷 헤더 인터페이스(PPHI)(246)에 패킷을 전송한다. 실시예에서, 프리펜딩된 헤더는 패킷 우선순위 및 로드 밸런스 식별자들과 같은 다른 정보를 포함할 수 있다. 패킷의 MAC 어드레스와 연관된 HDI 정보를 획득하기 위해, PPHI는 MAC/HDI 포워딩 테이블(250)에서 검색 프로세스를 수행한다. 어드레스 테이블 메모리(248)에 저장된 MAC/HDI 포워딩 테이블(250)은 MAC 어드레스들 및 연관된 하드웨어 디바이스 정보의 리스트를 포함한다. 하드웨어 디바이스 정보는 네트워크 노드(110), 스위칭 모듈(210) 및/또는 패킷을 라우팅하기 위한 포트 인터페이스(240)를 고유하게 식별한다. 하드웨어 디바이스 정보는, 예를 들어, 섀시 ID, 스위칭 모듈(210)의 MID, 및 수신지 MAC 어드레스와 연관된 외부 포트 인터페이스(240)의 포트 인터페이스 ID를 포함한다. MAC/HDI 포워딩 테이블(250)은, 소스 트렁크 맵, 트렁크 비트맵 테이블, 트렁크 그룹 테이블들, VLAN 맵핑 테이블 등과 같은 하나 이상의 테이블들을 포함할 수 있다. 실시예에서, MAC/HDI 포워딩 테이블(250) 또는 이의 일부들은 NIM(152)의 큐잉 모듈 또는 다른 모듈에 또한 위치될 수 있다.
토폴로지 데이터베이스(144)에 기초하여, VFL 라우팅 구성 테이블(254)은 유니캐스트 트래픽의 라우팅을 결정하기 위해 네트워크 노드(110)에서 생성된다. VFL 라우팅 구성 테이블(254)은 섀시 ID 및 연관된 VFL ID(VFID)를 포함한다. 섀시 ID와 연관된 VFID는 수신지 섀시 ID에 의해 식별되는 네트워크 노드(110)에 패킷을 라우팅하기 위해 가상 섀시 시스템(100)의 VFL(120)을 식별한다. 실시예에서, VFL 라우팅 구성 테이블(254)은, 최단 경로 알고리즘, 트래픽 기반 알고리즘 또는 다른 타입의 라우팅 알고리즘을 이용하여 생성된다. 도 1a에 도시된 가상 섀시 시스템(100)에 대한 VFL 라우팅 구성 테이블들(254)의 예가 아래의 표 3에 나타난다.
Figure 112015044954152-pct00003
MAC/HDI 포워딩 테이블(250) 및 VFL 라우팅 테이블(254)이 어드레스 테이블 메모리(248)에서 별개의 테이블들로서 도시되지만, 테이블들은 결합될 수 있거나, 또는 테이블들 중 하나로부터 다른 테이블 또는 테이블들에 포함되는 데이터는 하나 이상의 다른 테이블로 분리될 수 있다.
실시예에서, 패킷의 프리펜딩된 헤더의 하드웨어 디바이스 정보 HDI는, 표 3에 나타난 바와 같이, 수신지 섀시 ID와 연관된 VFL 포트(252)에 대한 발신 VFID를 포함한다. 프리펜딩된 헤더는 또한, 포트 인터페이스 ID, 스위칭 모듈(210)의 MID 및 섀시 ID와 같은, 패킷을 수신하는 소스 포트와 연관된 하드웨어 디바이스 정보 HDI를 포함한다. VLAN ID, 패킷 타입(멀티캐스트, 유니캐스트, 브로드캐스), 패킷 우선순위 및 로드 밸런스 식별자와 같은 추가적인 정보가 실시예에서 프리펜딩된 헤더에 추가된다.
그 다음, 프리펜딩된 헤더를 갖는 패킷은 패브릭 스위치(214)를 통한 라우팅을 위해 큐잉 모듈(212)에 송신된다. VFL 라우팅 구성 테이블(254)에 기초하여, 큐잉 모듈(212)은, 프리펜딩된 헤더를 갖는 패킷을, 발신 VFL(120)에 접속된 스위칭 모듈(210)에 라우팅한다.
큐잉 모듈(212)은, 패킷 버퍼(260), 트래픽 및 버퍼 관리를 제공하기 위한 큐 관리(262) 및 범용 HDI 어드레스 테이블(264)을 포함한다. 범용 HDI 어드레스 테이블(264)은 발신 VFL ID를, 다른 NIM들(152) 중 하나 이상의 큐잉 모듈들(212) 내의 적절한 큐들에 맵핑한다. 예를 들어, 큐잉 모듈(212)은, 발신 VFL(120)을 통한 송신을 위해 VFL 포트 인터페이스들(252) 중 하나 이상에 대한 적절한 탈출 큐로 패킷을 스위칭한다. 실시예에서, 특정한 VFL 포트 인터페이스에 대응하는 탈출 큐의 결정은 프리펜딩된 헤더의 로드 밸런스 식별자에 동작가능하게 기초한다.
스위칭 모듈(210) 및 큐잉 모듈(212)은 별개의 집적 회로들 또는 모듈들로서 도시되지만, 이 모듈들의 하나 이상의 기능들 또는 컴포넌트들은 다른 모듈 상에 포함될 수 있거나, 대안적인 모듈에 결합될 수 있거나 또는 그렇지 않으면 하나 이상의 집적 회로들에서 구현될 수 있다.
도 6은, 가상 섀시 시스템(100)에서 패킷의 프리펜딩된 헤더의 실시예에 대한 개략적 블록도를 도시한다. 프리펜딩된 헤더(300)는, 소스 HDI(302), 수신지 HDI(304), VLAN ID(306), 패킷 타입(308), 소스 MAC 어드레스(310) 및 수신지 MAC 어드레스(312)에 대한 필드들을 포함한다. 실시예에서, 프리펜딩된 헤더는 또한 로드 밸런스 식별자(314) 및 패킷 우선순위(316)를 포함할 수 있다. 수신지 HDI(304)는, 예를 들어, 포트 식별자(디바이스 포트(dport) 및/또는 범용 포트 값(GPV)), 스위칭 모듈(210)의 MID, 및 수신지 MAC 어드레스와 연관된 수신지 네트워크 노드(110)의 섀시 ID를 포함한다. 소스 HDI(302)는, 예를 들어, 포트 식별자(디바이스 포트(dport) 및/또는 범용 포트 값(GPV)), 스위칭 모듈(210)의 MID, 및 소스 MAC 어드레스와 연관된 소스 네트워크 노드의 섀시 ID를 포함한다. 로드 밸런스 식별자(314)는, 발신 VFL(120)을 통한 패킷의 송신을 위한 VFL 멤버 포트를 결정하기 위해 큐잉 모듈(212)에 의해 활용된다. 패킷 우선순위(316)는, 특정한 우선순위 큐를 결정하기 위해 큐잉 모듈(212)에 의해 활용된다. 유사하거나 추가적인 정보를 갖는 추가적인 또는 대안적인 필드들이 또한 프리펜딩된 헤더(300)에 포함될 수 있다.
도 7은, 가상 섀시 시스템(100)에서 네트워크 노드(110a)를 통한 다른 네트워크 노드(110b)로의 패킷 플로우의 실시예에 대한 개략적 블록도를 도시한다. 이 예에서, 소스 MAC 어드레스 "MAC1"을 갖는 외부 노드(112)는 수신지 MAC 어드레스 "MAC2"를 갖는 데이터 패킷을 송신한다. 이 예에서 섀시 ID = 1을 갖는 네트워크 노드(110a)는, 예를 들어, MID = 31을 갖는 스위칭 모듈(210n) 상에서, 예를 들어, 포트 ID = 2를 갖는 외부 포트 인터페이스(240)에서 패킷을 수신한다. 스위칭 모듈(210n)은 수신지 MAC 어드레스 MAC2를 추출하고, MAC/HDI 포워딩 테이블(250)에서 어드레스 테이블 검색을 수행하여, 수신지 MAC 어드레스 MAC2와 연관된 하드웨어 디바이스 정보(HDI)를 결정한다. 수신지 HDI는, 예를 들어, 수신지 MAC 어드레스와 연관되는, 수신지 섀시 ID 및 디바이스 모듈 식별자(MID들) 및 포트 식별자들을 포함한다. 수신지 HDI는 또한, 수신지 MAC 어드레스와 연관된 수신지 디바이스로의 경로에서 하나 이상의 다른 네트워크 노드들 또는 하드웨어 모듈들의 식별자들을 포함할 수 있다. 수신지 MAC 어드레스가 다른 네트워크 노드와 연관되는 경우, 예를 들어, 수신지 섀시 ID가 로컬 섀시 ID가 아닌 경우, 스위칭 모듈(210)은 수신지 섀시 ID와 연관된 발신하는 VFL ID를 결정한다. 발신하는 VFL ID는 프리펜딩된 헤더의 수신지 HDI에 추가될 수 있다. 예를 들어, 도 5의 경우, VFL 라우팅 테이블(254)은, 수신지 섀시 ID = 2가 VFID = 3을 갖는 VFL(120)과 연관됨을 나타낸다.
스위칭 모듈(210n)은 또한, 예를 들어, 포트 ID = 2인 발신 외부 포트 인터페이스와 연관된 프리펜딩된 헤더 소스 하드웨어 디바이스 정보(HDI)에 포함된다. 소스 HDI는, 발신 스위칭 모듈(210)의 MID, 소스 포트 식별자, 소스 NIM(152)에 대한 MID, 소스 섀시 ID 등과 같은 하나 이상의 하드웨어 디바이스 식별자들을 포함할 수 있다. 게다가, 실시예에서, 프리펜딩된 헤더는, 원래의 패킷으로부터 리트리브된 파라미터들(소스 MAC 어드레스, 수신지 MAC 어드레스, 소스 IP 어드레스, 수신지 IP 어드레스)에 기초하여 결정된 패킷 우선순위 및 로드 밸런스 식별자를 포함한다.
프리펜딩된 헤더를 갖는 패킷은, 큐잉 모듈(212n)에 송신되고, 그 다음, 큐잉 모듈(212n)은 수신지 HDI에 기초하여 패킷을 송신할 네트워크 노드(110) 상에서 NIM(152)을 결정한다. 수신지 HDI가 네트워크 노드 상에서 (예를 들어, 프리펜딩된 헤더에 포함된 수신지 MID에 기초하여) 로컬 외부 포트 인터페이스를 나타내는 경우, 큐잉 모듈은 로컬 외부 포트 인터페이스의 대응하는 NIM(152)으로의 송신을 위해 탈출 큐에 패킷을 배치한다. 도 5에 도시된 다른 예에서, 수신지 HDI가, 가상 섀시 시스템(100)에서 패킷이 VFL(120)을 통해 다른 네트워크 노드(110)에 송신될 필요가 있음을 나타내는 경우, 큐잉 모듈은 VFL ID로부터 패킷을 송신할 발신하는 NIM(152)을 결정한다. 이 예에서, 큐잉 모듈은, VFID = 3이 NIM(152a)에 동작가능하게 연결된다고 결정하고, 프리펜딩된 헤더를 갖는 패킷을 패브릭 스위치(214)를 통해 NIM(152a)에 송신한다. 다수의 스위칭 모듈들(210)이 발신하는 VFL(120)에 동작가능하게 연결되는 경우, 송신될 트래픽은 로드 밸런싱 방식으로 다수의 스위칭 모듈들(210) 사이에 분산될 수 있다. 또한, 스위칭 모듈(210) 상에서 VFL 멤버 포트의 선택(높은 우선순위 큐, 낮은 우선순위 등)은, 프리펜딩된 헤더 상에서 운반되는 로드 밸런스 식별자 파라미터들에 동작가능하게 기초한다. NIM(152a) 상의 큐잉 모듈(212a)은 프리펜딩된 헤더를 갖는 패킷을 수신하고, VFID = 3을 갖는 VFL(120)을 통한 송신을 위해 패킷을 큐잉한다. 그 다음, 스위칭 모듈(210a)은, VFID = 3을 갖는 VFL(120)을 통해 섀시 ID = 2인 네트워크 노드(110b)에, 소스 및/또는 수신지 HDI를 포함하는 프리펜딩된 헤더를 갖는 패킷을 송신한다.
실시예에서, 스위칭 모듈(210a)은 VFL(120)을 통한 송신 전에 프리펜딩된 헤더를 변경할 수 있다. 예를 들어, 스위칭 모듈(210a)은 로컬 중요성을 갖는 수신지 HDI(예를 들어, gport 값 또는 로컬 하드웨어 디바이스 식별자 MID)를 범용 중요성을 갖는 HDI로 변환하거나 프리펜딩된 헤더로부터 발신 VFID를 제거할 수 있다.
실시예에서, NIM들(152)의 MAC/HDI 포워딩 테이블들(250)은, 가상 섀시 시스템(100)을 통한 계층 2 패킷 플로우들에 응답하여 파퓰레이트 및 업데이트된다. 프리펜딩된 헤더가 소스 MAC 어드레스 및 소스 HDI 정보를 포함하기 때문에, 예를 들어, 실시예에서 특정 스위칭 모듈들(210)의 NIMS(152)는 이 정보로 MAC/HDI 포워딩 테이블(250)을 파퓰레이트할 수 있다. VFL(120)을 통해 소스 MAC 어드레스들 및 소스 HDI를 갖는 계층 2 패킷들을 교환하도록 프리펜딩된 헤더 모드에서 동작함으로써, 스위칭 모듈들(210)은 가상 섀시 시스템(100)의 네트워크 모듈들(110) 사이에서 MAC/HDI 포워딩 테이블들(250)을 동기화할 수 있다. MAC/HDI 포워딩 테이블(250) 및 VFL 라우팅 테이블(254)이 스위칭 모듈들(210) 내에 위치되는 것으로 설명되지만, 테이블들은 대안적으로 또는 부가적으로 큐잉 모듈들(212n) 또는 네트워크 노드(110)의 다른 모듈에 포함될 수 있다. 다른 실시예에서, CMM(150)(주 및 보조)은 또한 MAC/HDI 포워딩 테이블(250) 및 VFL 라우팅 테이블(254)을 포함할 수 있다.
도 8은 가상 섀시 시스템(100)의 네트워크 노드들(110)에서 동작가능한 가상 섀시 관리자 애플리케이션(400)의 실시예에 대한 개략적 블록도를 도시한다. 다중-슬롯 섀시 기반 노드 아키텍처를 갖는 네트워크 노드(110)의 실시예에서, 가상 섀시 관리자 애플리케이션(400)은 네트워크 노드(110)의 중앙 관리 모듈(CMM)(150)(VCM-CMM(402)으로 지칭됨)과 네트워크 노드의 지정된 네트워크 인터페이스 모듈(NIM)(152)의 프로세싱 모듈(266)(VCM-NIM(404)으로 지칭됨) 사이의 기능의 분산을 포함한다. 스택가능한 노드 아키텍처에서, 지정된 또는 마스터 스택가능한 네트워크 엘리먼트(140)는 VCM-NIM(404)을 동작시킨다. 지정된 NIM(152) 또는 스택가능한 엘리먼트(140)의 이용은 VCM 애플리케이션(400)의 기능들을 오직 CMM(150)에 중앙집중화하는 것을 회피한다. 가상 섀시 관리자 애플리케이션(400)의 기능의 분산의 일례가 표 4에 나타난다.
Figure 112015044954152-pct00004
실시예에서, VCM-CMM(402)은 가상 섀시 관리자 애플리케이션(400)과 엘리먼트 및/또는 네트워크 관리자 모듈(406) 사이의 인터페이스 뿐만 아니라 네트워크 노드(110) 상에서 동작가능한 VCM(400)에 등록된 다른 애플리케이션들(408)에 대한 인터페이스를 포함한다. 가상 섀시 관리자 애플리케이션(400)은 언제 가상 섀시 모드에서 동작할지를 등록된 애플리케이션들(408)에 통지한다. 더 일반적으로, 가상 섀시 관리자 애플리케이션(400)은, 로컬 노드 및 가상 섀시 시스템(100)의 다른 네트워크 노드들(110)의 상황 둘 모두에서 가상 섀시 시스템의 상태에 대한 관심있는 애플리케이션들을 통지하기 위해 광범위한 통지들을 제공한다. 상태 정보 중 일부는 관리 구성에 의해 구동되는 반면, 다른 상태 정보는 제어 데이터 교환, 협상 및 동의 시에, 가상 섀시 시스템 내의 네트워크 노드에 의해 개별적으로 또는 복수의 네트워크 노드들(110)에 의해 얻어진 런타임 판정들에 의해 트리거링된다. 가상 섀시 관리자 애플리케이션(400)은 또한, VLAN 관리자 애플리케이션 모듈(410), 스패닝 트리 프로토콜(STP) 애플리케이션 모듈(412), 소스 학습 애플리케이션 모듈(414), 링크 어그리게이션 애플리케이션 모듈(416) 및 포트 관리자 애플리케이션 모듈(418)과 (이러한 시스템 컴포넌트들로부터 서비스들을 요청하기 위해) 인터페이싱한다. 예를 들어, VCM 애플리케이션은, 가상 섀시 시스템(100)의 네트워크 노드들(110) 사이에서 인터-프로세스 통신 채널의 셋업을 허용하기 위해 제어 VLAN의 멤버로서 VFL 멤버 포트를 구성하도록 VLAN 관리자에 요청할 수 있다.
VCM-NIM(404)은 하드웨어 모듈들의 모듈 식별 구성(예를 들어, MID)을 수행한다. VCM-NIM(404)은 또한, 하드웨어 디바이스/큐 맵핑 기능들 및 인터-섀시 루프 회피 기능들을 수행하기 위해, 큐잉 모듈들(212)의 큐 관리(262)와 인터페이싱한다. VCM-NIM(404)은 또한 VFL들(120)의 제어 및 관리를 위한 가상 섀시 상태 기능을 포함한다. 가상 패브릭 링크 제어부는 VFL들(120)을 관리 및 구성하고, 포트 관리자 애플리케이션 모듈(418)과 인터페이싱하여, VFL들(120) 및 이들의 대응하는 멤버 포트들의 상태를 모니터링 및/또는 제어한다. 이것은 또한 VFL들(120)의 상태를 추적하고 업데이트한다. VCM-NIM(404)은 표준 LACP 프로토콜 또는 다른 유사한 프로토콜을 이용하여, 물리 레벨의 링크의 상태와 함께 각각의 VFL 멤버 포트의 상태를 추적한다. LACP 프로토콜에 부가하여, 가상 섀시 상태 프로토콜은, 가상 섀시 스위치들 둘 모두 상에서 지정된 NIM 상에서 실행되는 컴포넌트들의 상태 및/또는 동작성을 체크하기 위해, 주기적인 킵-얼라이브 체크들(헬로우 프로토콜)을 수행한다. 오류/조기 실패 검출을 회피하기 위해 모든 가상 섀시 프로토콜 패킷들에는 시스템에서 높은 우선순위가 할당되어야 하는데, 그 이유는, 이러한 실패의 조기 검출이 시스템에서 매우 방해적인 효과를 가질 수 있기 때문이다. 가상 섀시 상태 프로토콜을 주 지정된 NIM(152) 상에서 실행함으로써, 백업 지정된 NIM 모듈은 실패 시에 상태 프로토콜 프로세싱의 제어를 가정할 수 있다.
VCM-CMM(402) 및 VCM-NIM(404)은 VFL들(120)의 멤버 포트들 및 링크들에 대한 포트 상태 및 링크 상태 이벤트들을 수신하기 위해 포트 관리자 애플리케이션 모듈(418)에 등록한다. 다른 실시예에서, 가상 섀시 관리자 애플리케이션(400)은 VFL들(120)의 포트 및 링크 상태를 모니터링하기 위한 포트 관리자 애플리케이션 모듈을 포함할 수 있다. 가상 섀시 관리자 애플리케이션(400)은 VFL들(120)의 동작 상태를 추적하고, VFL 상태에 대한 이벤트들, 즉, 어그리게이트 생성/삭제/업/다운을 프로세싱한다. 포트 관리자 애플리케이션 모듈(418)은 VCM-CMM(402) 및 VCM-NIM(404) 둘 모두에 링크 상태 통지들을 제공한다.
실시예에서, 네트워크 노드들(110)의 지정된 NIM들(152) 또는 스택가능한 네트워크 엘리먼트들(140) 사이에서 제어 프로토콜 패킷들을 전송하기 위해 가상 섀시 시스템(100)에 전송 제어 프로토콜이 구현된다. 전송 제어 프로토콜은 상이한 노드 아키텍처들을 갖는 네트워크 노드들(110)에서 동작가능하다. 다중-슬롯 섀시 기반 노드 아키텍처의 경우, 지정된 프로세싱 모듈(266)을 갖는 지정된 NIM(152)이, 예를 들어, VCM-NIM(404)의 일부로서 전송 제어 프로토콜을 동작시킨다. 스택가능한 노드 아키텍처에서는, 지정된 또는 마스터 스택가능한 네트워크 엘리먼트(140)가 전송 제어 프로토콜을 동작시킨다.
섀시 감독자 모듈(420)은, 네트워크 노드(110)의 하드웨어에 대한 인터페이스를 제공하고, 다양한 애플리케이션 모듈들의 모니터링 및 부트업 또는 재시작을제어하고, 소프트웨어 재로딩들 및 소프트웨어 업그레이드들(예를 들어, 인-서비스(in-service) 소프트웨어 업그레이드들 ISSU들)을 제어하여, 엘리먼트 관리자 모듈(406)에 대한 커맨드 라인 인터페이스(CLI)를 제공하고, 네트워크 노드(110)의 시스템의 상태 또는 이미지 파일들에 대한 액세스를 제어한다. 가상 섀시 모드 동안, 섀시 감독자 모듈(420)은 부트 시퀀스를 제어하고, 소프트웨어 재로딩들 및 ISSU들을 제어하고, 가상 섀시 파라미터들에 액세스하기 위한 인터페이스를 제공한다.
구성 관리자 모듈(422)은, 네트워크 노드(110)의 동작을 가상 섀시 모드로부터 독립형 모드로 변환하거나 네트워크 노드(110)를 독립형 모드로부터 가상 섀시 모드로 변환하도록 동작가능하다. 구성 관리자 모듈은 또한 가상 섀시 관리자(400) 및 다중-섀시 관리자(424)를 구성하도록 동작가능하다. 구성 관리자 모듈(422)의 동작 및 네트워크 노드(110)의 동작 상태들은 아래에서 더 상세히 설명된다.
가상 섀시 시스템(100)의 네트워크 노드들(110)은, 가상 섀시 모드, 독립형 모드 및 다중-섀시(MC-LAG) 모드를 포함하는 복수의 동작 모드들에서 동작할 수 있다. 다양한 파라미터들 및 구성들은 동작 모드에 따라 변경된다. 표 5는, 동작 모드에 따른 섀시 ID들의 네트워크 노드들(110)로의 할당을 예시한다.
Figure 112015044954152-pct00005
독립형 모드에서, 네트워크 노드(110)는 단일 노드로서 동작되고, 범용 가상 섀시 MAC 어드레스보다는 자신의 구성된 로컬 MAC 어드레스를 활용한다. 다중-섀시 모드에서, 2개의 네트워크 노드들은, 동기화된 MAC 포워딩 테이블들 및 ARP 테이블들을 갖는 가상 노드들로서 구성되지만, 이들은, 2011년 1월 20일에 출원되고 발명의 명칭이 "SYSTEM AND METHOD FOR MULTI-CHASSIS LINK AGGREGATION"인 미국 특허 출원 제 13/010,168호에 더 상세히 설명된 바와 같이, 여전히 별개의 브릿지들 및 라우터들로서 동작하고, 이들 각각은 자기 자신의 로컬 섀시 MAC 어드레스를 이용한다. 본 명세서에서 설명되는 바와 같은 가상 섀시 모드에서, 복수의 N개의 네트워크 노드들은 가상 섀시 시스템(100)에서 가상 섀시 노드들로서 구성된다. 1부터 N까지의 범용 고유 섀시 ID가 가상 섀시 시스템(100)의 복수의 네트워크 노드들 각각에 할당된다.
독립형 모드, 다중-섀시 모드 및 가상 섀시 모드에 부가하여, 네트워크 노드(110)는 또한 가상 섀시 시스템(100)에서 패스 스루 모드로 동작가능하다. 패스 스루 모드에서, 네트워크 노드(110)는 VFL(120)을 통해 패킷 플로우들을 수신하고, 다른 VFL(120)을 통해 패킷 플로우들을 가상 섀시 시스템(100)의 다른 네트워크 노드에 포워딩한다. 그러나, 네트워크 노드(110)는, 외부 노드들(112)에 접속된 외부 포트 인터페이스들(240)과 같은 임의의 다른 외부 포트 인터페이스들(240)을 디스에이블시킨다. 패스 스루 모드인 네트워크 노드(110)는, 프리펜딩된 헤더들을 변형함이 없이 네트워크 노드들(110) 사이에서 VFL들을 통해 데이터 패킷 플로우들을 투명하게 포워딩한다. 패스 스루 모드인 네트워크 노드(110)는, 엘리먼트 관리자로부터 발행된 또는 마스터 네트워크 노드로부터 발행되고 VFL(120)을 통해 네트워크 노드(110)에 송신된 관리 커맨드들을 수신하도록 또한 동작가능하다. 따라서, 패스 스루 모드인 네트워크 노드(110)는, 관리 커맨드들을 통해 여전히 관리될 수 있고, VFL들(120)을 통해 네트워크 노드들(110) 사이에서 데이터 패킷들을 투명하게 포워딩하도록 동작가능하지만, 외부 노드들(112)로 또는 외부 노드들로부터 포트 인터페이스들(240)을 통해 데이터 패킷들을 수신 또는 송신하도록 동작가능하지는 않다.
네트워크 노드(110)는, 하드웨어 또는 소프트웨어 실패, 네트워크 노드들(110) 사이에서 복제된 섀시 식별자들, 과도한 네트워크 노드들(100), 몇몇 관련된 구성 파라미터 사이에서의 또는 명시적 관리 커맨드를 통한 사용자 요청시의 미스매치 또는 불일치와 같은 하나 이상의 이유들로 패스 스루 모드로 배치될 수 있다. 네트워크 노드(110)의 패스 스루 모드는 가상 섀시 시스템(120)에서 네트워크 노드들(110) 사이의 가상 섀시 분리 또는 접속 실패를 방지하는 메커니즘을 제공하는 한편, 엘리먼트 관리자 또는 마스터 네트워크 노드가 구성 커맨드들의 최소 세트를 모니터링하고 이를 네트워크 노드(110)에 발행하도록 여전히 허용한다.
도 9는 가상 섀시 시스템(100)에서 네트워크 노드(110)의 패스 스루 모드를 위한 방법(500)의 실시예에 대한 논리 흐름도를 도시한다. 단계(502)에서, 네트워크 노드(110)는 패스 스루 모드에 진입하라는 관리 커맨드를 수신한다. 관리 커맨드는, 네트워크 또는 엘리먼트 관리자에 의해 발행될 수 있거나, 가상 섀시 시스템(100)의 마스터 네트워크 노드에 의해 발행될 수 있다. 네트워크 노드(110)는 VFL(120)을 통해 관리 커맨드를 수신하고, 자신의 상태를 패스 스루 모드로 구성한다. 이 단계(502)는 본 명세서의 도 11에 대해 더 상세히 설명된다. 단계(504)에서, 패스 스루 모드인 네트워크 노드(110)는, 하나 이상의 VFL 멤버 포트들이 하나 이상의 VFL들(120) 상에서 특정한 패킷 플로우들을 포워딩하게 한다. 예를 들어, 네트워크 노드(110)는 VFL들(120)을 통한 제 1 네트워크 노드(110)와 제 2 네트워크 노드 사이의 데이터 패킷 플로우들을 가능하게 한다. 실시예에서, 하나의 VFL(120)에 진입한 데이터 패킷은, 패킷의 프리펜딩된 헤더를 변형함이 없이 다른 VFL(120)에 자동으로 포워딩된다. 또한, 패스 스루 모드인 네트워크 노드(110)는 하나 이상의 VFL들(120)을 통해 관리 커맨드들을 수신한다. 예를 들어, 네트워크 또는 엘리먼트 관리자는, 마스터 네트워크 노드에 의해 VFL(120)을 통해 네트워크 노드(110)에 송신되는 관리 커맨드들을 발행함으로써 패스 스루 모드인 네트워크 노드(110)를 관리하도록 여전히 동작가능하다. 단계(506)에서, 패스 스루 모드인 네트워크 노드(110)는 하나 이상의 외부 노드들(112)에 접속된 다른 외부 포트 인터페이스들(240)을 디스에이블시킨다.
도 10a-d는 가상 섀시 시스템(100)의 실시예들에 대한 개략적 블록도들을 도시한다. 네트워크 노드(110)를 가상 섀시 모드에 배치할지 여부의 결정은 가상 섀시 토폴로지에 의존한다. 실시예에서, 네트워크 노드(110)는 본 명세서에 설명된 바와 같이 토폴로지 데이터베이스(144)에 가상 섀시 토폴로지를 저장한다. 토폴로지 데이터베이스(144)에 기초하여, 네트워크 노드(110)는, 예를 들어, VFL 라우팅 테이블들(254)에서 컴퓨팅되는 바와 같이, 가상 섀시 시스템(100)의 네트워크 노드들(110) 사이의 경로들을 결정하도록 동작가능하다. 따라서, 네트워크 노드들(110)은, 네트워크 노드들(110) 사이의 VFL 접속들 및 임의의 쌍의 네트워크 노드들(110) 사이의 최단 경로들을 결정하도록 동작가능하다. 실시예에서, 네트워크 노드를 패스 스루 모드에 배치할지 여부의 결정은 가상 섀시 토폴로지에의 네트워크 노드(110)의 배치에 의존한다.
예를 들어, 도 10a에서, 네트워크 노드(110b)는 (예를 들어, 셧 다운 모드보다는) 패스 스루 모드에 배치되는데, 이는, 네트워크 노드(110b)가 네트워크 노드들(110a, 110b 및 110c) 사이의 단일 경로의 일부이기 때문이다. 어떠한 다른 경로도 네트워크 노드들(110a, 110b 및 110c)을 접속시키지 않는다. 네트워크 노드(110b)가 셧 다운 모드에 배치되면, 네트워크 노드들(110a, 110b 및 110c)은 가상 섀시 시스템(100)에서 통신가능하지 않을 것이다. 가상 섀시 시스템(100)은 네트워크 노드들의 둘 이상의 서브세트들로 분리될 것이다. 이러한 조건은 가상 섀시 분리 또는 프랙쳐로 지칭된다. 가상-섀시 토폴로지가 분리되는 경우, 가상 섀시 시스템(100)은 복제 MAC 어드레스들, 복제 구성가능한 자원들(예를 들어, IP 인터페이스들), 접속 손실, 관리 액세스의 손실 및 다수의 노드 리셋 이벤트들로 인한 불안정성들에 이르는 범위의 문제들에 직면한다. 도 10a의 이러한 예에서, 패스 스루 모드인 네트워크 노드(110b)는 네트워크 노드들(110a, 110b 및 110c) 사이에서 VFL들(120a, 120b 및 120c)을 통해 데이터 패킷들 및 제어 패킷들을 스위칭하도록 인에이블된다. 그러나, 외부 노드들(112)로의 다른 외부 포트 인터페이스들(240)은, 다른 트래픽이 네트워크 노드(110b)에 진입하는 것을 방지하기 위해 디스에이블된다. 도 10a의 이러한 예에서, 네트워크 노드(110a)는 마스터 네트워크 노드이다. 실시예에서, 패스 스루 모드인 네트워크 노드(110b)는 마스터 네트워크 노드로서 동작가능하지 않다. 슬레이브인 역할을 갖거나 미할당된 역할을 갖는 네트워크 노드들(110)(예를 들어, 노드 브링 업의 조기 스테이지들)은 패스 스루 모드로 전이하도록 동작가능하다.
도 10b는 가상 섀시 시스템(100)의 다른 실시예에 대한 개략적 블록도를 도시한다. 이 예에서, 네트워크 노드(110e)는 (예를 들어, 셧 다운 모드보다는) 패스 스루 모드에 배치되는데, 이는, 네트워크 노드가 네트워크 노드들(110a 및 110d) 사이의 최단 경로의 일부이기 때문이다. 가상 섀시 시스템(100)의 네트워크 노드들(110a 및 110d) 사이에 다른 경로들이 존재하지만, 네트워크 노드(110e)를 포함하는 네트워크 노드(110d)와 네트워크 노드(110a) 사이의 경로가 최단 홉 카운트를 갖는다. 따라서, 실시예에서 네트워크 노드(110e)는 VFL들(120d 및 120e)을 통해 네트워크 노드(110a)와 네트워크 노드(110d) 사이에서 패킷들을 포워딩하기 위해 패스 스루 모드로 배치된다. 그러나, 네트워크 노드들(110b) 및 네트워크 노드(110c)를 다른 네트워크 노드들에 접속시키기 위해, 유사한 홉 카운트를 갖는 대안적인 라우트들이 이용가능하기 때문에, 네트워크 노드(110e)의 VFL(120i) 및 VFL(120j)에 대한 VFL 포트 인터페이스들은 디스에이블된다. 패킷들은 VFL(120i) 및 VFL(120j)를 통해 네트워크 노드(110b) 또는 네트워크 노드(110c)로 또는 그들로부터 포워딩되지 않는다. 또한, 네트워크 노드(110e)의 다른 외부 포트 인터페이스들(240)은, 외부 노드들(112)로부터 네트워크 노드(110e)로 트래픽이 진입하는 것을 방지하기 위해 디스에이블된다.
도 10c는 가상 섀시 시스템(100)의 다른 실시예에 대한 개략적 블록도를 도시한다. 이 예에서, 네트워크 노드(110b)는 (예를 들어, 셧 다운 모드보다는) 패스 스루 모드에 배치되는데, 이는, 네트워크 노드(110b)가 실패인 경우 대안적인 경로를 제공하기 때문이다. 예를 들어, VFL(120b)가 실패하면, 네트워크 노드(110b)를 통한 경로는 네트워크 노드(110c) 및 네트워크 노드(110d)와 통신하기 위한 네트워크 노드(110a)에 대한 대안적인 경로가 될 것이다. 따라서, 가상 섀시 시스템(100)에서 개선된 복원성을 위해, 네트워크 노드(110b)는 (예를 들어, 셧 다운 모드보다는) 패스 스루 모드로 배치된다. 패스 스루 모드인 네트워크 노드(110b)는, VFL(120a) 및 VFL(120c)를 통해 네트워크 노드(110a)와 네트워크 노드(110d) 사이에서 트래픽을 포워딩하도록 인에이블된다. 다른 외부 포트 인터페이스들(240)은, 외부 노드들(112)로부터 네트워크 노드(110e)로 트래픽이 진입하는 것을 방지하기 위해 디스에이블된다.
도 10d는 다른 가상 섀시 시스템(100)의 실시예에 대한 개략적 블록도를 도시한다. 이 예에서, 네트워크 노드(110b)는 패스 스루 모드보다는 셧 다운 모드로 배치된다. 네트워크 노드(110b)는 2개의 네트워크 노드들(110) 사이의 단일 경로의 일부 또는 2개의 네트워크 노드들(110) 사이의 최단 경로의 일부가 아니다. 또한, 가상 섀시 시스템(100)의 하나 이상의 VFL들 또는 다른 네트워크 노드들(110)의 실패의 경우, 네트워크 노드들(110) 사이에 대안적인 경로가 존재한다. 따라서, 네트워크 노드(110b)는 셧 다운 모드로 배치되고, VFL들(120)을 통해 또는 외부 포트 인터페이스들(240)을 통해 데이터 패킷들을 포워딩하도록 인에이블되지 않는다. 그러나, 셧다운 모드인 네트워크 노드(110)는 네트워크 또는 엘리먼트 관리자 또는 마스터 네트워크 노드로부터 발행된 제어 패킷들을 수신 및 프로세싱하도록 여전히 동작가능하다. 또한, 셧다운 모드의 네트워크 노드(110)는, 예를 들어, 가상 섀시 토폴로지 또는 파라미터들이 변하는 경우, 패스 스루 모드로 전이하도록 동작가능하고, 그 반대도 마찬가지이다.
실시예에서, 2개의 타입들의 섀시 식별자들(섀시 ID)이 정의된다. 제 1 타입의 섀시 식별자들은 동작 섀시 식별자로서 정의된다. 네트워크 노드(110)의 동작 섀시 식별자는 네트워크 노드(110)를 식별하기 위해, 가상 섀시 시스템(100)의 네트워크 노드(110) 및 다른 네트워크 노드들(110) 및 이들의 연관된 모듈들에 의해 이용되는 런타임 값이다. 네트워크 노드(110)를 식별하기 위해, 네트워크 노드(110)의 동작 섀시 식별자는 다른 네트워크 노드들의 토폴로지 데이터베이스들(144)에 저장된다. 제 2 타입의 섀시 식별자는 구성된 섀시 식별자로서 정의된다. 구성된 섀시 식별자는 네트워크 노드(110)의 영구 메모리에 저장 및 유지된다. 구성된 섀시 식별자는 노드 재부팅에서와 같은 시동시에 네트워크 노드에 의해 이용된다. 구성된 섀시 식별자는 네트워크 노드(110)에서 변경 또는 재구성되지 않는다. 그러나, 동작 섀시 식별자는, 구성된 섀시 식별자 대신에 이용되도록 네트워크 노드(110)에 할당될 수 있다. 네트워크 노드(110)가 재부팅 또는 재시작하는 경우, 구성된 섀시 식별자는, 새로운 동작 섀시 식별자가 네트워크 노드(110)에 할당될 때까지 네트워크 노드(110)에 대한 동작 섀시 식별자로서 다시 이용된다.
네트워크 노드(110)가 패스 스루 모드에 할당되는 경우, 새로운 동작 섀시 식별자가 또한 네트워크 노드(110)에 할당된다. 새로운 동작 섀시 식별자는, 패스 스루 모드의 네트워크 노드들에 할당되는 섀시 식별자들의 범위 내에 있다. 예를 들어, 패스 스루 모드인 네트워크 노드(110)는 동작 섀시 식별자들의 미리 결정된 범위, 예를 들어, 1001부터 (MAX_CHASSIS_ID + 1000)에 할당된다. 네트워크 노드(110)가 패스 스루 모드로 전이하는 경우, 미리 결정된 범위 내의 패스 스루 섀시 식별자가 네트워크 노드(110)에 배정 및 할당된다. 이러한 패스 스루 섀시 식별자는 네트워크 노드(110)의 새로운 동작 섀시 식별자가 된다. 패스 스루 섀시 식별자는 동작 섀시 식별자이기 때문에, 영구 메모리에 저장되지 않고, 네트워크 노드(110)의 구성된 섀시 식별자를 대체하지 않는다.
도 11은, 네트워크 노드(110)의 구성들을 패스 스루 모드로 업데이트하기 위한 방법(520)의 실시예에 대한 논리 흐름도를 도시한다. 단계(522)에서, 네트워크 노드(110)는 패스 스루 모드에 진입하라는 커맨드를 수신한다. 커맨드는, 가상 섀시 시스템(100)의 네트워크 또는 엘리먼트 관리 모듈(460)에 의해 또는 마스터 네트워크 노드(110)에 의해 발행될 수 있다. 커맨드는, 패스 스루 모드에 대한 동작 섀시 식별자들의 미리 결정된 범위 내의 패스 스루 섀시 식별자를 포함한다. 단계(524)에서, 네트워크 노드는 자신의 동작 섀시 식별자를, 할당된 패스 스루 섀시 식별자로 업데이트한다.
단계(526)의 네트워크 노드(110)는 또한, 도 8에 설명된 바와 같이, 패스 스루 구성들로 다양한 애플리케이션 모듈들을 업데이트한다. 네트워크 노드(110)의 VCM-CMM(402)이 패스 스루 모드에 진입하라는 커맨드를 수신하는 경우, VCM-CMM(402)은, 네트워크 노드(110)가 더 이상 (슬레이브 또는 마스터 노드와 같은) 표준 가상 섀시 노드로서 동작하지 않고 이제 패스 스루 모드에서 동작함을, 도 8의 애플리케이션 모듈들(408-418)과 같은 애플리케이션 모듈들에 통지한다. 이러한 동작은, 소스 학습 애플리케이션 모듈(414)이 더 이상 소스 학습을 수행하지 않는 것과 같이, 특정 애플리케이션 모듈들이 자신의 정규의 기능들을 수행하는 것을 방지하고, 가상 섀시 시스템(100)의 다른 네트워크 노드들(110)과 상호작용하는 것으로부터 애플리케이션 모듈들을 분리시킨다. 네트워크 노드(110)의 VCM-CMM(402)은, 외부 노드들(112)에 연결된 외부 포트 인터페이스들(240)을 디스에이블하고, 특정 VFL들(120)에 대한 VFL 멤버 포트들만을 인에이블하도록 VCM-NIM(404)에 통지한다. 인에이블된 VFL들(120)의 경우, VCM-NIM(404)은, 프리펜딩된 헤더들을 변경함이 없이, 데이터 패킷 플로우들을 하나의 지정된 VFL(120)에, 그리고 그로부터 다른 VFL(120)에 포워딩하도록 스위칭 모듈들(210)에 지시한다.
데이터 패킷들의 패스 스루는 플로우 단위로 인에이블된다. 예를 들어, 특정 데이터 패킷 플로우의 패스 스루는, 예를 들어, 패스 스루 모드인 네트워크 노드(110)가 2개의 네트워크 노드들 사이의 최단 경로의 일부인 경우, 2개의 VFL들(120)에 의해 네트워크 노드(110)에 연결되는 2개의 네트워크 노드들 사이의 트래픽에 대해 인에이블될 수 있다. 그러나, 다른 네트워크 노드들(110) 사이 또는 상이한 VFL들(120)을 통한 다른 데이터 패킷 플로우들이 디스에이블될 수 있다. 인에이블된 VFL 멤버 포트들에 대한 스위칭 모듈들(210)은, 데이터 패킷들의 프리펜딩된 헤더들을 수정함이 없이, 인에이블된 VFL과 다른 인에이블된 발신하는 VFL 사이에서 사용자 데이터 패킷들을 포워딩하도록 통지받는다. 따라서, VFL 라우팅 테이블(254)은, 데이터 패킷들의 프리펜딩된 헤더의 수신지 섀시 식별자에 기초하여 데이터 패킷들을 하나의 인에이블된 VFL로부터 다른 인에이블된 VFL로 포워딩하기 위해 스위칭 모듈(210)에 의해 이용된다. 그러나, 스위칭 모듈들(210)은, 하드웨어 디바이스 정보로 소스 또는 수신지 MAC 어드레스들을 업데이트하거나 데이터 패킷들의 프리펜딩된 헤더들을 변경하기 위해, 더 이상 MAC/HDI 테이블(250)을 업데이트 또는 이용하지 않는다.
단계(528)에서 네트워크 노드(110)는 자신의 토폴로지 상태에 대한 업데이트를 다른 네트워크 노드들 및 네트워크 또는 엘리먼트 관리자 모듈(406)에 송신한다. 다른 네트워크 노드들(110)은, 패스 스루 네트워크 노드(110)의 상태의 토폴로지 업데이트, 패스 스루 모드에 대한 원인, 패스 스루 네트워크 노드(110)에 대한 업데이트된 동작 섀시 식별자(예를 들어, 패스 스루 섀시 식별자) 및 패스 스루 네트워크 노드(110)의 원래의 동작 섀시 식별자를 수신한다. 가상 섀시 시스템의 다른 네트워크 노드들(110)은 자신의 토폴로지 데이터베이스(144)를 이 정보로 업데이트한다.
또한, 패스 스루 모드에 진입하기 전에, 네트워크 노드는, 그 이벤트를 네트워크 또는 엘리먼트 관리자 모듈(406)에 경보하기 위해, 적절한 로그들 및 관리 트랩들(또는 다른 타입들의 관리 프로토콜 메시지들)을 생성한다. 네트워크 또는 엘리먼트 관리자 모듈(406)은, 충돌 또는 구성, 또는 패스 스루 모드로의 전이를 개시한 다른 문제들을 해결하기 위해 개입할 수 있다.
네트워크 노드(110)는, 하나 이상의 문제들, 예를 들어, 하드웨어 또는 소프트웨어 실패, 네트워크 노드들(110) 사이에서 복제된 섀시 식별자들, 과도한 네트워크 노드들(100), 몇몇 관련된 구성 파라미터 사이에서의 또는 명시적 관리 커맨드에 대한 미스매치 또는 불일치 때문에 패스 스루 모드로 배치될 수 있다. 예를 들어, 네트워크 노드는, 하기 구성 파라미터들, 즉, 노드 모델/타입, 라이센스 세팅들, 가상 섀시 그룹 식별자 또는 통신 프로토콜 파라미터들(예를 들어, 헬로우 프로토콜 또는 가상 섀시 시스템(100)에서 이용되는 다른 통신 프로토콜들)의 오구성(misconfiguration) 중 하나 이상의 불일치들에 응답하여 패스 스루 모드로 배치될 수 있다.
도 12는, 가상 섀시 시스템(100)에서 과도한 네트워크 노드들(110) 시에 패스 스루 모드를 위한 방법(540)의 실시예에 대한 논리 흐름도를 도시한다. 가상 섀시 시스템의 마스터 네트워크 노드(110)는, 가상 섀시 시스템(100)에 과도한 네트워크 노드들(110)이 존재한다고 결정한다. 예를 들어, 마스터 네트워크 노드(110)는, 네트워크 노드들(110) 중 하나 이상이, 임의의 외부 노드들(112)에 연결된 외부 포트 인터페이스들(240)을 갖는 것을 실패하고 외부 노드들(112)에 대한 접속을 필요로 하지 않는다고 결정한다. 하나 이상의 과도한 네트워크 노드들이 식별되는 경우, 마스터 네트워크 노드(110)는, 하나 이상의 과도한 네트워크 노드들(110)에 대한 패스 스루 모드를 개시하도록 결정한다. 마스터 네트워크 노드(110)는, 패스 스루 할당 커맨드를 가상 섀시 시스템(100)의 복수의 네트워크 노드들(110)에 분산시킨다. 할당 커맨드는, 패스 스루 커맨드와 연관된 과도한 네트워크 노드들(이들의 MAC 어드레스들 또는 섀시 식별자들에 의해 식별됨)의 리스트 및 각각의 나열된 노드에 할당된 패스 스루 섀시 식별자를 포함한다. 또한, 할당 커맨드는, 패스 스루 모드 커맨드에 대한 원인 코드를 갖는 필드를 포함한다. 원인 코드는, 이러한 경우의 과도한 네트워크 노드들과 같은, 패스 스루 커맨드에 대한 하나 이상의 원인들의 코드를 포함한다.
도 12의 단계(542)에서 패스 스루 할당 커맨드의 수신 시에, 네트워크 노드는, 단계(546)에서 할당 커맨드가 자신의 노드 식별자를 포함하는지 여부를 결정한다. 포함한다면, 네트워크 노드(110)는 패스 스루 할당 커맨드로부터 자신의 할당된 패스 스루 섀시 식별자 및 원인 코드를 결정한다. 단계(548)에서 네트워크 노드는 구성을 패스 스루 모드로 업데이트한다. 예를 들어, 네트워크 노드(110)는 자신의 동작 섀시 식별자를, 할당 커맨드에서 특정된 패스 스루 섀시 식별자로 변경하고, 자신의 동작 모드를 패스 스루 모드로 업데이트한다. 네트워크 노드(110)는 패스 스루 모드를 애플리케이션 모듈들에 통지한다. 단계(550)에서, 네트워크 노드는, 가상 섀시 시스템(100)의 네트워크 노드들(110) 사이에서 하나 이상의 데이터 패킷 플로우들을 포워딩하도록 둘 이상의 VFL들(120)을 인에이블한다. 네트워크 노드(110)는, 데이터 패킷 플로우들이 하나의 VFL(120)로부터 다른 VFL(120)로 포워딩되도록, 하나 이상의 인에이블된 VFL들(120)을 스위치 모듈들에 통지한다. 단계(552)에서, 네트워크 노드는 다른 외부 포트 인터페이스들(240)을 디스에이블시킨다.
패스 스루 모드를 지원하기 위해, 네트워크 노드들(110)은, 불일치 또는 복제 섀시 노드 식별자가 발생하는 경우에도 서로 통신하도록 동작가능하다. 본 명세서와 동일한 날에 출원되고 계류중이며 발명의 명칭이 "SYSTEM AND METHOD FOR CONTROL PROTOCOLS IN A VIRTUAL CHASSIS SYSTEM"인 미국 특허 출원 제 13/674,315호에 더 상세히 설명된 바와 같이 네트워크 노드들(110) 사이에서 통신을 제공하기 위한 하나 이상의 통신 프로토콜들이 이용되며, 상기 미국 특허 출원은 본 명세서에 참조로 통합되고, 모든 목적들을 위해 본 US 유틸러티 특허 출원의 일부가 된다.
도 13은, 가상 섀시 시스템(100)에서 동작 섀시 식별자들의 복제 구성의 경우 패스 스루 모드를 위한 방법(560)의 실시예에 대한 논리 흐름도를 도시한다. 단계(562)에서, 네트워크 노드(110)는, 다른 네트워크 노드(110)가 동일한 동작 섀시 식별자를 갖는다고 결정한다. 예를 들어, 토폴로지 발견을 통해, 네트워크 노드(110)는, 동일한 동작 섀시 식별자를 갖는 가상 섀시 시스템(100)의 다른 네트워크 노드(110)의 토폴로지 업데이트를 수신한다. 사용자 데이터 패킷들 및 제어 패킷들이 동작 섀시 식별자들에 기초하여 VFL들(120)을 통해 라우팅되기 때문에, 복제 동작 섀시 식별자들은, 가상 섀시 시스템(100)에서 미스라우팅을 초래하고 패킷들을 손실할 수 있다. 따라서, 실시예에서, 각각의 네트워크 노드(110)가 고유 동작 섀시 식별자로 구성되는 것이 중요하다.
복제 동작 섀시 식별자들이 단계(562)에서 결정되는 경우, 단계(564)에서 네트워크 노드(110)는 어느 네트워크 노드가 그의 동작 섀시 식별자를 변경할 필요가 있는지를 결정한다. 실시예에서, 네트워크 노드(110)는, 복수의 파라미터들에 기초하여 자신 또는 다른 노드가 그의 복제 동작 섀시 식별자를 변경할지를 선택한다. 복수의 파라미터들은, 복제 동작 섀시 식별자를 갖는 각각의 네트워크 노드(110)에 대한 선택 키를 결정하는데 이용되고, 그 다음, 선택 키들은, 어느 네트워크 노드(110)가 그의 복제 동작 섀시 식별자를 포기하는지를 결정하기 위해 비교된다. 예를 들어, 실시예에서, 네트워크 노드(110)의 선택 키는, 예를 들어, 섀시 우선순위, 업 시간, 섀시 ID, 섀시 MAC 어드레스를 포함하는 파라미터들의 우선순위화된 리스트에 기초하여 결정된다. 파라미터들의 이용은 선택에 유연성을 추가한다. 업 시간이 파라미터는 더 긴 시간 기간들 동안 동작하는 네트워크 노드들(110)에 우선순위를 부여한다. 섀시 우선순위의 파라미터는, 섀시 ID 또는 업 시간과 무관하게, 사용자 선호도를 정의하는 사용자 구성 우선순위이다. 선택 키를 결정하기 위해 파라미터들의 우선순위화된 리스트가 본 명세서에 개시되지만, 어느 네트워크 노드(110)가 그의 복제 동작 섀시 식별자를 포기하는지를 결정하기 위해 다른 파라미터들 또는 방법들이 이용될 수 있다.
네트워크 노드의 선택 키가 복제 동작 섀시 식별자를 갖는 다른 네트워크 노드의 선택 키에 대해 비우호적으로 비교되는 경우, 네트워크 노드(110)는, 자신이 자신의 복제 동작 섀시 식별자를 포기할 필요가 있다고 결정한다. 네트워크 노드(110)는 자신의 동작 섀시 식별자를 미리 결정된 복제 섀시 식별자 값으로 변경한다. 예를 들어, (예를 들어, 값(154)와 같은) 특정한 식별자 값이 가상 섀시 시스템(100)의 네트워크 노드들(110)의 미리 결정된 복제 섀시 식별자 값으로 구성된다. 그 다음, 네트워크 노드(110)는, 자신의 새로운 동작 섀시 식별자(미리 결정된 복제 섀시 식별자 값과 동일함)를 갖는 토폴로지 업데이트들을 VFL들(120)을 통해 다른 네트워크 노드들(110)에 송신한다. 다른 네트워크 노드들(110)은 그 네트워크 노드의 새로운 동작 섀시 식별자로 자신들의 토폴로지 데이터베이스들(144)을 업데이트한다.
예를 들어, 토폴로지 업데이트들 또는 다른 제어 프로토콜 메시지들을 통해, 복제 섀시 식별자 값과 동일한 동작 섀시 식별자를 갖는 네트워크 노드가 존재하는 것을 마스터 네트워크 노드(110)가 검출하는 경우, 마스터 네트워크 노드(110)는, 복제 섀시 식별자를 갖는 네트워크 노드를 패스 스루 모드로 배치할지 여부를 결정한다. 패스 스루 모드로 배치한다고 결정하면, 마스터 네트워크 노드(110)는 패스 스루 할당 커맨드를 송신한다. 패스 스루 할당 커맨드는, 패스 스루 모드에 대한 동작 섀시 식별자들의 미리 결정된 범위에서 노드 식별자(예를 들어, MAC 어드레스 또는 섀시 식별자) 및 패스 스루 섀시 식별자를 포함한다. 커맨드는 또한, 예를 들어, 이 경우에는 복제 동작 섀시 식별자들인, 패스 스루 모드에 대한 원인 코드를 포함한다.
도 13의 단계(568)에서 패스 스루 할당 커맨드의 수신 시에, 네트워크 노드(110)는, 단계(570)에서 커맨드가 자신의 노드 식별자를 포함하는지 여부를 결정한다. 포함한다면, 네트워크 노드(110)는 패스 스루 할당 커맨드로부터 자신의 할당된 패스 스루 섀시 식별자 및 원인 코드를 결정한다. 단계(572)에서 네트워크 노드는 자신의 구성을 패스 스루 모드로 업데이트한다. 예를 들어, 네트워크 노드(110)는 자신의 동작 섀시 식별자를, 복제 섀시 식별자 값으로부터 할당 커맨드에서 특정된 패스 스루 섀시 식별자로 변경한다. 네트워크 노드(110)는 자신의 모드를 패스 스루로 업데이트하고, 패스 스루 모드를 애플리케이션 모듈들에 통지한다. 단계(574)에서, 네트워크 노드(110)는, 하나 이상의 데이터 패킷 플로우들을 포워딩하도록 VFL들(120)을 인에이블한다. 네트워크 노드(110)는, 데이터 패킷 플로우들이 입력 VFL(120)로부터 다른 지정된 출력 VFL(120)로 포워딩되도록, 하나 이상의 인에이블된 VFL들(120)을 스위치 모듈들(210)에 통지한다. 단계(576)에서, 네트워크 노드는 다른 외부 포트 인터페이스들(240)을 디스에이블시킨다.
패스 스루 모드인 네트워크 노드(110)는 마스터 선택 프로세스에 후보로서 참여하지 않는다. 그러나, 네트워크 노드(110)는 토폴로지 업데이트들을 수신하고, 마스터 네트워크 노드의 섀시 식별자를 자신의 토폴로지 데이터베이스(144)에 저장한다. 패스 스루 모드인 네트워크 노드(110)는 또한, 복제 마스터 네트워크 노드들 및 복제 섀시 식별자들을 식별하는 프로세스에 참여하도록 동작가능하다. 실시예에서, 패스 스루 모드인 네트워크 노드(110)는, 복제 패스 스루 섀시 식별자를 갖는 다른 네트워크 노드를 여전히 검출할 수 있다. 예를 들어, 마스터 네트워크 노드(110)는 복제 패스 스루 섀시 식별자들을 의도치 않게 할당할 수 있다. 대안적으로, (각각 자기 가신의 가상 섀시 그룹 식별자를 갖는) 둘 이상의 가상 섀시 그룹들이 단일 가상 섀시 시스템(100)으로 병합되는 경우, 복제 패스 스루 섀시 식별자들을 갖는 네트워크 노드들(110)이 검출될 수 있다.
도 14는, 네트워크 노드(110)에 대한 패스 스루 모드를 결정하기 위한 방법(580)의 실시예에 대한 논리 블록도를 도시한다. 실시예에서, 단계(582)에서 마스터 네트워크 노드는, 가상 섀시 시스템(100) 및 그의 네트워크 노드들의 토폴로지를 모니터링한다. 단계(584)에서, 마스터 네트워크 노드(110)는, 과도한 네트워크 노드들과 같은 하나 이상의 문제들이 전체 토폴로지에 존재하는지, 또는 복제 섀시 식별자들과 같은 하나 이상의 문제들이 하나 이상의 네트워크 노드들(110)에 존재하는지를 결정한다. 또한, 마스터 네트워크 노드(110)는, 하기 구성 파라미터들, 즉, 노드 모델/타입, 라이센스 세팅들, 가상 섀시 그룹 식별자 또는 통신 프로토콜 파라미터들(예를 들어, 헬로우 프로토콜 또는 가상 섀시 시스템(100)에서 이용되는 다른 통신 프로토콜들)의 오구성 중 하나 이상의 불일치들과 같은, 몇몇 관련 구성 파라미터들 사이의 미스매치 또는 불일치가 발생했는지를 결정한다. 단계(584)에서 문제가 존재한다고 마스터 네트워크 노드(110)가 결정하는 경우, 마스터 네트워크 노드(110)는 하나 이상의 네트워크 노드들(110)을 패스 스루 모드에 할당할지를 결정한다. 예를 들어, 마스터 네트워크 노드(110)는, 가상 섀시 토폴로지에 기초하여, 네트워크 노드(110)가 다른 네트워크 노드들로의 단일 경로 또는 최단 경로의 일부인지, 또는 네트워크 노드(110)가 실패의 경우의 다른 네트워크 노드들 사이의 대안적 경로의 일부인지를 결정한다. 또한, 마스터 네트워크 노드(110)는 선택 키들에 기초하여, 하나 이상의 네트워크 노드들이 패스 스루 모드에 배치되어야 하는지를 결정할 수 있다. 대안적으로, 마스터 네트워크 노드(110)는, 특정한 네트워크 노드를 패스 스루 모드에 할당하기 위해, 네트워크 또는 엘리먼트 관리자 모듈(406)로부터 명시적 관리 커맨드를 수신할 수 있다.
관리자 네트워크 노드(110)가 단계(586)에서, 하나 이상의 네트워크 노드들이 패스 스루 모드에 할당되는 것으로 결정하는 경우, 마스터 네트워크 노드(110)는, 패스 스루 모드에 대한 동작 섀시 식별자들의 미리 결정된 범위에서 패스 스루 섀시 식별자, 및 단계(588)에서 패스 스루 모드에 할당될 각각의 네트워크 노드에 대한 원인 코드를 결정한다. 그 다음, 마스터 네트워크 노드(110)는 이러한 정보를 갖는 패스 스루 할당 커맨드를 가상 섀시 시스템(100)의 복수의 네트워크 노드들에 송신한다.
마스터 네트워크 노드가 도 14의 단계들 또는 프로세스들을 수행하는 것으로 설명되었지만, 네트워크 또는 엘리먼트 관리자 모듈(406)이 도 14에 대해 설명된 단계들 또는 프로세스들 중 하나 이상을 또한 수행하거나 대안적으로 수행할 수 있다. 예를 들어, 실시예에서, 네트워크 또는 엘리먼트 관리자 모듈(406)은, 문제가 발생했는지를 결정하기 위해 가상 섀시 시스템의 토폴로지 및 네트워크 노드들을 모니터링한다. 그 다음, 네트워크 또는 엘리먼트 관리자 모듈(406)은, 가상 섀시 시스템의 토폴로지에 기초하여 하나 이상의 네트워크 노드들(110)에 대해 패스 스루 모드를 개시할지를 결정하고, 개시하는 것으로 결정한다면, 관리 커맨드를 마스터 네트워크 노드에 발행한다.
도 15는, 패스 스루 할당 커맨드(600)의 실시예의 개략적 블록도를 도시한다. 패스 스루 할당 커맨드(600)는, 제어 패킷으로서 패킷의 식별을 포함하는 패킷 타입 필드(602) 및 패스 스루 할당으로서 제어 패킷을 식별하는 커맨드 타입 필드(604)를 포함한다. 패스 스루 할당 커맨드(600)는 노드 식별자 필드(606)를 포함한다. 노드 식별자 필드(606)는, 패스 스루 모드에 할당되고 있는 하나 이상의 네트워크 노드들의 (MAC 어드레스 또는 섀시 식별자와 같은) 식별자를 포함한다. 패스 스루 섀시 식별자 필드(608)는, 패스 스루 모드에 할당되고 있는 각각의 식별된 네트워크 노드에 대한 패스 스루 섀시 식별자를 포함하고, 원인 코드 필드(610)는 패스 스루 모드에 할당되고 있는 각각의 식별된 네트워크 노드에 대한 패스 스루 모드로의 할당 원인에 대한 코드를 포함한다. 유사하거나 추가적인 정보를 갖는 추가적인 또는 대안적인 필드들이 또한 패스 스루 할당 커맨드(600)에 포함될 수 있다.
패스 스루 모드는, 네트워크 노드의 오구성, 불일치들 또는 실패들의 검출에 응답하여, 사용자 데이터 및 제어 트래픽이 가상 섀시 시스템의 네트워크 노드를 통해 흐르는 시스템 및 방법을 제공한다. 따라서, 패스 스루 모드는 가상 섀시 시스템에서 토폴로지 프랙쳐 및 서비스 방해를 회피하는 것을 보조한다.
또한 본 명세서에서 사용될 수 있는 바와 같이, 용어(들) "동작가능하게 연결된", "연결된", 및/또는 "연결"은 아이템들 사이의 직접적인 연결 및/또는 개입 아이템을 통한 아이템들 사이의 간접적인 연결을 포함하며(예를 들어, 아이템은 컴포넌트, 엘리먼트, 회로 및/또는 모듈을 포함하지만 이에 제한되는 것은 아님), 여기서, 간접적인 연결의 경우, 개입 아이템은 신호의 정보를 변형하지 않지만 신호의 전류 레벨, 전압 레벨 및/또는 전력 레벨을 조정할 수 있다. 본 명세서에서 추가로 이용될 수 있는 바와 같이, 추론된 연결(즉, 하나의 엘리먼트가 추론에 의해 다른 엘리먼트에 연결되는 경우)은, "연결된"과 동일한 방식으로 2개의 아이템들 사이의 직접 및 간접적인 연결을 포함한다.
본 명세서에서 더 추가로 이용될 수 있는 바와 같이, 용어 "동작가능한" 또는 "동작가능하게 연결된"은, 아이템이, 전력 접속들, 입력(들), 출력(들) 등 중 하나 이상을 포함하여, 활성화되는 경우 하나 이상의 자신의 대응하는 기능을 수행하고, 하나 이상의 다른 아이템들에 추론된 연결을 더 포함할 수 있음을 나타낸다. 본 명세서에서 또한 추가로 이용될 수 있는 바와 같이, 용어 "연관된"은 별개의 아이템들의 직접 및/또는 간접적인 연결 및/또는 다른 아이템 내에 임베딩된 하나의 아이템 또는 다른 아이템과 함께 또는 다른 아이템에 의해 이용하도록 구성되는 하나의 아이템을 포함한다. 본 명세서에서 이용될 수 있는 바와 같이, 용어 "우호적으로 비교하다"는, 둘 이상의 아이템들, 신호들 등 사이의 비교가 원하는 관계를 제공함을 나타낸다. 예를 들어, 원하는 관계가, 신호 1이 신호 2보다 더 큰 크기를 갖는 것인 경우, 우호적인 비교는, 신호 1의 크기가 신호 2의 크기보다 큰 경우 또는 신호 2의 크기가 신호 1의 크기보다 작은 경우 달성될 수 있다.
본 명세서에서 또한 이용될 수 있는 바와 같이, "프로세싱 모듈", "프로세싱 회로", 및/또는 "프로세싱 유닛"은 단일 프로세싱 디바이스 또는 복수의 프로세싱 디바이스들일 수 있다. 이러한 프로세싱 디바이스는, 마이크로프로세서, 마이크로 제어기, 디지털 신호 프로세서, 마이크로컴퓨터, 중앙 처리 장치, 필드 프로그래머블 게이트 어레이, 프로그래머블 논리 디바이스, 상태 머신, 논리 회로, 아날로그 회로, 디지털 회로, 및/또는 회로 및/또는 동작 명령들의 하드 코딩에 기초하여 신호들(아날로그 및/또는 디지털)을 조작하는 임의의 디바이스일 수 있다. 프로세싱 모듈, 모듈, 프로세싱 회로, 및/또는 프로세싱 유닛은, 단일 메모리 디바이스, 복수의 메모리 디바이스들 및/또는 다른 프로세싱 모듈, 모듈, 프로세싱 회로 및/또는 프로세싱 유닛의 임베딩된 회로일 수 있는 집적 메모리 엘리먼트 및/또는 메모리일 수 있거나 이들을 더 포함할 수 있다. 이러한 메모리 디바이스는 판독 전용 메모리, 랜덤 액세스 메모리, 휘발성 메모리, 비휘발성 메모리, 정적 메모리, 동적 메모리, 플래쉬 메모리, 캐시 메모리 및/또는 디지털 정보를 저장하는 임의의 디바이스일 수 있다. 프로세싱 모듈, 모듈, 프로세싱 회로 및/또는 프로세싱 유닛이 하나보다 많은 프로세싱 디바이스를 포함하면, 프로세싱 디바이스들은 중앙집중적으로 위치될 수 있거나(예를 들어, 유선 및/또는 무선 버스 구조를 통해 직접적으로 함께 연결됨) 분산형으로 위치될 수 있음(예를 들어, 로컬 영역 네트워크 및/또는 광역 네트워크를 통한 간접적인 연결을 통한 클라우드 컴퓨팅)을 주목해야 한다. 추가로, 프로세싱 모듈, 모듈, 프로세싱 회로 및/또는 프로세싱 유닛이 상태 머신, 아날로그 회로, 디지털 회로 및/또는 논리 회로를 통해 자신의 기능들 중 하나 이상을 구현하면, 대응하는 동작 명령들을 저장하는 메모리 및/또는 메모리 엘리먼트는, 상태 머신, 아날로그 회로, 디지털 회로, 및/또는 논리 회로를 포함하는 회로 내에 또는 그 외부에 임베딩될 수 있음을 주목해야 한다. 또한 추가로, 메모리 엘리먼트는, 도면들 중 하나 이상에 도시된 단계들 및/또는 기능들 중 적어도 일부에 대응하는 하드 코딩된 및/또는 동작 명령들을 저장할 수 있고, 프로세싱 모듈, 모듈, 프로세싱 회로 및/또는 프로세싱 유닛은 이들을 실행한다. 이러한 메모리 디바이스 또는 메모리 엘리먼트는 제조 물품에 포함될 수 있다.
본 발명은, 특정된 기능들의 수행 및 이들의 관계들을 도시하는 방법 단계들의 보조로 앞서 설명되었다. 이러한 기능적 빌딩 블록들 및 방법 단계들의 경계들 및 순서는 설명의 편의를 위해 본 명세서에서 임의로 정의되었다. 특정된 기능들 및 관계들이 적절히 수행되는 한 대안적인 경계들 및 순서들이 정의될 수 있다. 따라서, 임의의 이러한 대안적인 경계들 또는 순서들은 청구된 발명의 범주 및 사상 내에 있다. 추가로, 이러한 기능적 빌딩 블록들의 경계들은 설명의 편의를 위해 임의로 정의되었다. 특정한 중요한 기능들이 적절히 수행되는 한, 대안적인 경계들이 정의될 수 있다. 유사하게, 흐름도 블록들은 또한 특정한 중요한 기능을 예시하기 위해 본 명세서에서 임의로 정의될 수 있다. 이용되는 범위까지, 흐름도 블록 경계들 및 순서는 달리 정의되었을 수 있고, 또한 특정한 중요한 기능을 수행할 수 있다. 따라서, 기능적 빌딩 블록들 및 흐름도 블록들 및 순서들 둘 모두의 이러한 대안적인 정의들은 청구된 발명의 범주 및 사상 내에 있다. 당업자는 또한, 본 명세서의 기능적인 개략적 블록들, 및 다른 예시적인 블록들, 모듈들 및 컴포넌트들이, 이산적 컴포넌트들, 주문형 집적 회로들, 적절한 소프트웨어를 실행하는 프로세서들 등 또는 이들의 임의의 조합으로 예시 또는 결합 또는 분리되는 것으로 구현될 수 있음을 인식할 것이다.
본 발명은 본 명세서에서, 적어도 부분적으로, 하나 이상의 실시예들의 관점에서 설명된다. 실시예는 본 명세서에서, 본 발명, 본 발명의 양상, 본 발명의 특징, 본 발명의 개념 및/또는 본 발명의 예를 예시하기 위해 설명된다. 장치, 제조 물품, 머신 및/또는 본 발명을 구현하는 프로세스의 물리적 실시예는, 본 명세서에서 논의된 실시예들 중 하나 이상을 참조로 설명되는 양상들, 특징들, 개념들, 예들 등 중 하나 이상을 포함할 수 있다. 추가로, 도면마다, 실시예들은, 동일하거나 유사한 참조 부호들을 이용할 수 있는, 동일하거나 유사하게 명명된 기능들, 단계들, 모듈들 등을 통합할 수 있고, 따라서, 기능, 단계들, 모듈들 등은 동일하거나 유사한 기능들, 단계들, 모듈들 등 또는 상이한 것들일 수 있다.
특정하게 반대로 언급되지 않으면, 본 명세서에 제시된 도면의 엘리먼트들로, 엘리먼트들로부터 및/또는 엘리먼트들 사이의 신호들은 아날로그 또는 디지털, 연속적 시간 또는 불연속적 시간, 및 단일-종단 또는 차동일 수 있다. 예를 들어, 신호 경로가 단일-종단 경로로서 도시되면, 이것은 또한 차동 신호 경로를 표현한다. 유사하게, 신호 경로가 차동 경로로 도시되면, 이것은 또한 단일-종단 신호 경로를 표현한다. 하나 이상의 특정한 아키텍처들이 본 명세서에서 설명되지만, 명시적으로 도시되지 않은 하나 이상의 데이터 버스들, 엘리먼트들 사이의 직접 접속 및/또는 다른 엘리먼트들 사이의 간접 연결을 이용하는 다른 아키텍처들이 유사하게 구현될 수 있다.
용어 "모듈"은 본 발명의 다양한 실시예들의 설명에서 이용된다. 모듈은, (앞서 설명된 바와 같은) 프로세싱 모듈, 기능 블록, 하드웨어, 및/또는 본 명세서에서 설명되는 하나 이상의 기능들을 수행하도록 동작가능한 메모리에 저장되는 소프트웨어를 포함한다. 모듈이 하드웨어를 통해 구현되면, 하드웨어는 소프트웨어 및/또는 펌웨어와 함께 그리고/또는 독립적으로 동작할 수 있음을 주목해야 한다. 모듈이 메모리에 저장된 소프트웨어로서 구현되는 경우, 모듈은, 본 명세서에서 설명되는 기능들을 수행하기 위해 모듈로 메모리에 저장된 소프트웨어를 실행하는 프로세싱 모듈 또는 다른 하드웨어를 이동하도록 동작가능하다. 본 명세서에서 설명되는 모듈은, 하나 이상의 서브 모듈들을 포함할 수 있고, 이들 각각은 하나 이상의 모듈들일 수 있거나, 하나 이상의 다른 모듈들에 통합될 수 있거나, 또는 하나 이상의 다른 모듈들을 포함할 수 있다.
본 발명의 다양한 기능들 및 특징들의 특정한 조합들이 본 명세서에서 명시적으로 설명되지만, 이러한 특징들 및 기능들의 다른 조합들이 유사하게 가능하다. 본 명세서에서 설명되는 실시예는 설명된 특정한 예들에 의해 제한되지 않고, 다른 조합들 및 실시예들을 포함할 수 있다.

Claims (10)

  1. 가상 섀시 시스템(a virtual chassis system)에서 동작 가능한 네트워크 노드로서,
    하나 이상의 네트워크 인터페이스 모듈들과,
    적어도 하나의 관리 모듈을 포함하되,
    상기 하나 이상의 네트워크 인터페이스 모듈은,
    하나 이상의 외부 포트 인터페이스를 통해 하나 이상의 외부 노드로부터 데이터 패킷을 수신하고,
    프리펜딩된 헤더(prepended headers)를 가지는 패킷을 생성하기 위해 상기 데이터 패킷을 변경 - 상기 프리펜딩된 헤더는 수신지 섀시 식별자(a destination chassis identifier)를 포함함 - 하고,
    상기 프리펜딩된 헤더를 가지는 패킷을 하나 이상의 가상 패브릭 링크들(virtual fabric links; VFL)을 통해 상기 가상 섀시 시스템 내의 복수의 네트워크 노드 중 하나 이상으로 전송 - 상기 복수의 네트워크 노드는 복수의 VFL에 의해 동작가능하게 연결됨 - 하도록 동작 가능하고,
    상기 적어도 하나의 관리 모듈은,
    패스 스루 커맨드(pass thru command)를 수신 - 상기 패스 스루 커맨드는 패스 스루 섀시 식별자(a pass thru chassis identifier)를 포함함 - 하고,
    상기 패스 스루 커맨드에 응답하여 상기 네트워크 노드를 패스 스루 모드로 구성 - 상기 네트워크 노드의 제1 섀시 식별자는 상기 패스 스루 섀시 식별자로 재구성됨 - 하고,
    상기 하나 이상의 외부 포트 인터페이스가 상기 하나 이상의 외부 노드로부터 데이터 패킷을 수신하는 것을 디스에이블하고,
    프리펜딩된 헤더를 가지는 패킷을 송신을 위해 상기 네트워크 노드에 연결된 상기 복수의 VFL 중 적어도 둘 이상을 인에이블하고,
    복수의 우선순위화된 파라미터에 기초하여 상기 복수의 네트워크 노드 중 다른 네트워크 노드가 상기 네트워크 노드의 상기 제1 섀시 식별자로서 복제 동작적 섀시 식별자를 가진다고 판정하고,
    상기 네트워크 노드 또는 상기 다른 네트워크 노드가 자신의 복제 섀시 식별자를 변경하는지 여부를 판정하도록 동작 가능한
    가상 섀시 시스템에서 동작 가능한 네트워크 노드.
  2. 제 1 항에 있어서,
    상기 하나 이상의 네트워크 인터페이스 모듈은,
    제1 VFL을 통해 프리펜딩된 헤더를 가지는 제1 패킷을 수신하고,
    상기 제1 패킷의 상기 프리펜딩된 헤더로부터 수신지 섀시 식별자를 판정하고,
    상기 프리펜딩된 헤더를 가지는 상기 제1 패킷을 제2 VFL을 통해 상기 수신지 섀시 식별자를 자니는 다른 네트워크로 포워딩하도록 동작 가능한
    가상 섀시 시스템에서 동작 가능한 네트워크 노드.
  3. 제 2 항에 있어서,
    상기 하나 이상의 네트워크 인터페이스 모듈은,
    어드레스 테이블에 액세스하도록 동작 가능하고,
    상기 어드레스 테이블은 상기 제1 패킷으로부터의 상기 수신지 섀시 식별자 및 상기 수신지 섀시 식별자와 연관된 대응하는 VFL 식별자를 포함하고, 상기 대응하는 VFL 식별자는 상기 수신지 섀시 식별자를 가지는 상기 다른 네트워크 노드에 연결된 제2 VFL을 식별하는
    가상 섀시 시스템에서 동작 가능한 네트워크 노드.
  4. 제 1 항에 있어서,
    상기 적어도 하나의 관리 모듈은,
    상기 가상 섀시 시스템 내의 상기 복수의 네트워크 노드로 토폴로지 상태 업데이트를 전송하도록 동작 가능하고, 상기 토폴로지 상태 업데이트는 상기 네트워크 노드의 상기 패스 스루 섀시 식별자를 포함하는
    가상 섀시 시스템에서 동작 가능한 네트워크 노드.
  5. 제 1 항에 있어서,
    상기 적어도 하나의 관리 모듈은,
    상기 복수의 우선순위화된 파라미터에 기초하여 상기 네트워크 노드의 상기 제1 섀시 식별자를 사전결정된 복제 섀시 식별자 값으로 변경할 것을 결정하고,
    상기 가상 섀시 시스템 내의 상기 복수의 네트워크 노드로 토폴로지 상태 업데이트를 전송하도록 동작 가능하고, 상기 토폴로지 상태 업데이트는 상기 사전결정된 복제 섀시 식별자 값을 포함하는
    가상 섀시 시스템에서 동작 가능한 네트워크 노드.
  6. 네트워크 노드에서 동작 가능한 방법으로서,
    하나 이상의 외부 포트 인터페이스들을 통해 하나 이상의 외부 노드들로부터 데이터 패킷들을 수신하는 단계와,
    프리펜딩된 헤더들을 갖는 패킷들을 생성하기 위해 상기 데이터 패킷들을 변형하는 단계 - 상기 프리펜딩된 헤더들은 수신지 섀시 식별자들을 포함함 - 와,
    상기 프리펜딩된 헤더들을 갖는 패킷들을, 복수의 가상 패브릭 링크들(VFL) 중 하나 이상을 통해 가상 섀시 시스템의 복수의 네트워크 노드들 중 하나 이상에 송신하는 단계와,
    패스 스루 커맨드를 수신하는 단계와,
    상기 패스 스루 커맨드에 응답하여 상기 네트워크 노드를 패스 스루 모드로 구성하는 단계와,
    상기 하나 이상의 외부 포트 인터페이스가 상기 하나 이상의 외부 노드로부터 데이터 패킷을 수신하는 것을 디스에이블하는 단계와,
    적어도 둘 이상의 인에이블된 VFL들에 의해 상기 네트워크 노드에 동작 가능하게 연결된 적어도 2개의 네트워크 노드들 사이에서 프리펜딩된 헤더들을 갖는 패킷들의 송신을 위해, 상기 네트워크 노드에 연결된 상기 복수의 VFL들 중 적어도 둘 이상을 인에이블하는 단계와,
    상기 가상 섀시 시스템 내의 상기 복수의 네트워크 노드로 토폴로지 상태 업데이트를 송신하는 단계 - 상기 토폴로지 상태 업데이트는 상기 네트워크 노드의 패스 스루 섀시 식별자를 포함함 - 와,
    상기 복수의 네트워크 노드 중 다른 네트워크 노드가 상기 네트워크 노드의 제1 섀시 식별자로서 복제 동작적 섀시 식별자를 가진다고 판정하는 단계와,
    복수의 우선순위화된 파라미터에 기초하여 상기 네트워크 노드 또는 상기 다른 네트워크 노드가 자신의 복제 섀시 식별자를 변경하는지 여부를 판정하는 단계와,
    상기 복수의 우선순위화된 파라미터에 기초하여 상기 네트워크 노드의 상기 제1 섀시 식별자를 사전결정된 복제 섀시 식별자 값으로 변경할 것을 결정하는 단계와,
    상기 가상 섀시 시스템 내의 상기 복수의 네트워크 노드로 토폴로지 상태 업데이트를 전송하는 단계 - 상기 토폴로지 상태 업데이트는 상기 사전결정된 복제 섀시 식별자 값을 포함함 -
    를 포함하는 네트워크 노드에서 동작 가능한 방법.
  7. 제 6 항에 있어서,
    제1 인에이블된 VFL을 통해 프리펜딩된 헤더를 갖는 제1 패킷을 수신하는 단계와,
    상기 프리펜딩된 헤더로부터 수신지 섀시 식별자를 결정하는 단계와,
    어드레스 테이블에 액세스하는 단계 - 상기 어드레스 테이블은 상기 수신지 섀시 식별자 및 상기 수신지 섀시 식별자와 연관된 대응하는 VFL 식별자를 포함하고, 상기 대응하는 VFL 식별자는 상기 수신지 섀시 식별자를 갖는 다른 네트워크 노드에 연결된 제2 VFL을 식별함 - 와,
    상기 프리펜딩된 헤더를 갖는 상기 제1 패킷을 상기 제2 VFL을 통해 상기 수신지 섀시 식별자를 갖는 상기 다른 네트워크 노드에 포워딩하는 단계
    를 더 포함하는 네트워크 노드에서 동작 가능한 방법.
  8. 삭제
  9. 삭제
  10. 삭제
KR1020157012325A 2012-11-12 2013-11-06 가상 섀시 시스템에서 패스 스루 모드를 위한 시스템 및 방법 KR101665276B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/674,352 US9148391B2 (en) 2010-08-04 2012-11-12 System and method for a pass thru mode in a virtual chassis system
US13/674,352 2012-11-12
PCT/US2013/068625 WO2014074541A2 (en) 2012-11-12 2013-11-06 System and method for a pass thru mode in a virtual chassis system

Publications (2)

Publication Number Publication Date
KR20150067361A KR20150067361A (ko) 2015-06-17
KR101665276B1 true KR101665276B1 (ko) 2016-10-11

Family

ID=49627086

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157012325A KR101665276B1 (ko) 2012-11-12 2013-11-06 가상 섀시 시스템에서 패스 스루 모드를 위한 시스템 및 방법

Country Status (5)

Country Link
EP (1) EP2918054B1 (ko)
JP (1) JP6109954B2 (ko)
KR (1) KR101665276B1 (ko)
CN (1) CN104769896A (ko)
WO (1) WO2014074541A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10425319B2 (en) 2015-05-21 2019-09-24 Huawei Technologies Co., Ltd. Transport software defined networking (SDN)—zero configuration adjacency via packet snooping
US10015053B2 (en) * 2015-05-21 2018-07-03 Huawei Technologies Co., Ltd. Transport software defined networking (SDN)—logical link aggregation (LAG) member signaling
CN110115005B (zh) * 2017-01-04 2021-07-09 三菱电机株式会社 传送装置和路径追加方法
WO2020060775A1 (en) * 2018-09-19 2020-03-26 Amazon Technologies, Inc. Scalable cell based packet processing service using client provided decision metadata
US11537406B2 (en) 2020-02-18 2022-12-27 Juniper Networks, Inc. Automatic formation of a virtual chassis using zero touch provisioning
CN113542141A (zh) * 2020-04-13 2021-10-22 烽火通信科技股份有限公司 一种基于框式设备堆叠***的设备间同步方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110299385A1 (en) * 2009-06-19 2011-12-08 Juniper Networks, Inc. No split virtual chassis based on pass through mode
US20120033668A1 (en) * 2010-08-04 2012-02-09 Alcatel-Lucent Usa, Inc. IP Multicast Snooping and Routing with Multi-Chassis Link Aggregation

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7751416B2 (en) * 2003-09-18 2010-07-06 Cisco Technology, Inc. Virtual network device
JP4238831B2 (ja) * 2005-01-14 2009-03-18 船井電機株式会社 デジタル放送受信装置
JP4688765B2 (ja) * 2006-09-20 2011-05-25 富士通株式会社 ネットワークの冗長方法及び中位スイッチ装置
CN101068250B (zh) * 2007-06-08 2011-08-31 杭州华三通信技术有限公司 网络设备id的分配方法及装置
CN101729353B (zh) * 2008-11-03 2012-04-04 华为技术有限公司 网络拓扑布局的方法、装置及***
US8339994B2 (en) * 2009-08-27 2012-12-25 Brocade Communications Systems, Inc. Defining an optimal topology for a group of logical switches
US8599864B2 (en) * 2009-10-08 2013-12-03 Brocade Communications Systems, Inc. Transit switches in a network of logical switches
US8369211B2 (en) * 2009-12-17 2013-02-05 Juniper Networks, Inc. Network distribution prevention when virtual chassis system undergoes splits and merges
US8488608B2 (en) * 2010-08-04 2013-07-16 Alcatel Lucent System and method for traffic distribution in a multi-chassis link aggregation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110299385A1 (en) * 2009-06-19 2011-12-08 Juniper Networks, Inc. No split virtual chassis based on pass through mode
US20120033668A1 (en) * 2010-08-04 2012-02-09 Alcatel-Lucent Usa, Inc. IP Multicast Snooping and Routing with Multi-Chassis Link Aggregation

Also Published As

Publication number Publication date
KR20150067361A (ko) 2015-06-17
JP6109954B2 (ja) 2017-04-05
CN104769896A (zh) 2015-07-08
WO2014074541A3 (en) 2014-07-03
EP2918054B1 (en) 2019-08-21
JP2016502329A (ja) 2016-01-21
EP2918054A2 (en) 2015-09-16
WO2014074541A2 (en) 2014-05-15

Similar Documents

Publication Publication Date Title
US9172662B2 (en) Virtual chassis system control protocols
US9148389B2 (en) System and method for a virtual chassis system
US9148391B2 (en) System and method for a pass thru mode in a virtual chassis system
US9148390B2 (en) System and method for virtual chassis split prevention
KR101691759B1 (ko) 가상 섀시 시스템 제어 프로토콜
EP2769515B1 (en) Fhrp optimizations for n-way gateway load balancing in fabric path switching networks
US8913489B2 (en) System and method for virtual fabric link failure recovery
US9059940B2 (en) System and method for transport control protocol in a multi-chassis domain
EP2832059B1 (en) System and method for virtual fabric link failure recovery
KR101665276B1 (ko) 가상 섀시 시스템에서 패스 스루 모드를 위한 시스템 및 방법
US10171303B2 (en) IP-based interconnection of switches with a logical chassis
US20110134923A1 (en) Intelligent Adjunct Network Device
KR101689096B1 (ko) 네트워크 노드 및 관리 액션이 가상 섀시 스플릿을 트리거한다는 경고를 발행할지의 여부가 결정되는 가상 섀시 시스템에서 동작가능한 노드에서의 방법

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