KR20050036977A - 네트워크 시스템, 스패닝 트리 구성 방법, 스패닝 트리 구성 노드, 및 스패닝 트리 구성 프로그램 - Google Patents

네트워크 시스템, 스패닝 트리 구성 방법, 스패닝 트리 구성 노드, 및 스패닝 트리 구성 프로그램 Download PDF

Info

Publication number
KR20050036977A
KR20050036977A KR1020057003039A KR20057003039A KR20050036977A KR 20050036977 A KR20050036977 A KR 20050036977A KR 1020057003039 A KR1020057003039 A KR 1020057003039A KR 20057003039 A KR20057003039 A KR 20057003039A KR 20050036977 A KR20050036977 A KR 20050036977A
Authority
KR
South Korea
Prior art keywords
tree
tag
node
spanning tree
frame
Prior art date
Application number
KR1020057003039A
Other languages
English (en)
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 KR20050036977A publication Critical patent/KR20050036977A/ko

Links

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/48Routing tree calculation
    • H04L45/484Routing tree calculation using multiple routing trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4645Details on frame tagging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery

Abstract

복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 노드는, 변경 전에 존재하는 트리를 운용하면서 또 다른 LAN을 사용하여 비용 변경 이후의 트리를 생성하고, 신규한 트리를 안정시킨 후에 포워딩용으로 사용되는 트리를 스위칭한다.

Description

네트워크 시스템, 스패닝 트리 구성 방법, 스패닝 트리 구성 노드, 및 스패닝 트리 구성 프로그램{NETWORK SYSTEM, SPANNING TREE STRUCTURING METHOD, SPANNING TREE STRUCTURE NODE, AND SPANNING TREE STRUCTURE PROGRAM}
발명의 배경
1. 발명의 기술분야
본 발명은 네트워크 시스템에 관한 것으로, 좀더 자세하게는, 스패닝 트리 (spanning tree) 를 재구성할 때에 네트워크가 정지하는 것을 방지하고, 또한, 부하 분산 기능을 갖는 네트워크 시스템, 스패닝 트리 구성 방법 및 스패닝 트리 구성 노드에 관한 것이다.
2. 관련 기술의 설명
종래, 이러한 타입의 스패닝 트리는, 루프 (링) 의 형태로 배열되는 네트워크에서 데이터가 영원히 순환하는 것을 방지하기 위해 사용되었다.
예를 들어, "1998 IEEE Std 802.1D" 라는 제목으로 IEEE 에 의해 발행된 표준화 문서에는, 루프 (링) 의 형태로 배열되는 네트워크에서 데이터가 영원히 순환하는 것을 방지하기 위하여, 노드들 사이에서 브리지 프로토콜 데이터 유닛 (BPDU) 이라고 지칭되는 제어 정보를 교환하고, 물리적으로 루프 형상인 네트워크의 일부를 논리적으로 디스에이블 (disable) 시킴으로써, 논리적으로 트리 형상의 토폴로지를 형성하는 스패닝 트리라고 지칭되는 제어 기술이 규정되어 있다. 이것을 종래 기술 1 로서 가정한다.
또한, "2001 IEEE Std 802.1w" 라는 제목으로 IEEE 에 의해 발행된 표준화 문서에는, 제어 정보의 교환 방법을 확장함으로써 종래 기술 1 로 트리 생성을 고속화하고, 또한, 우회 경로를 미리 설정함으로써 장애 발생 시에 우회 경로를 신속하게 셋업하는 고속 스패닝 트리라고 지칭되는 제어 기술이 규정되어 있다. 이것을 종래 기술 2 로서 가정한다.
상술한 종래의 기술로서는 후술되는 바와 같은 문제점이 존재하였다.
첫째, 폭주 (congestion) 에 의해, 프레임의 도달 지연 및 손실이 발생하는 문제가 존재하였다.
종래 기술 1 의 경우, 스패닝 트리에 속하는 노드 및 링크의 추가/삭제 시에, 스패닝 트리가 정지되고 처음부터 재구성되었기 때문에, 재구성 중 연장된 시간 동안에 전체 네트워크가 정지하고 폭주가 발생했다는 사실로 인하여, 종종, 프레임의 도달이 지연되거나 손실되었다.
종래 기술 2 의 경우, 스패닝 트리에 속하는 노드 및 링크의 추가/삭제 시에 데이터 프레임의 포워딩 (forwarding) 이 국부적으로 정지되면서 그 스패닝 트리가 국부적으로 재구성되기 때문에, 재구성 중에 네트워크의 일부가 중지 및 폭주하여, 종종, 프레임의 도달이 지연되거나 손실되었다.
둘째, 스패닝 트리에 속하는 노드의 추가/삭제와 같이 스패닝 트리 재구성 시에 네트워크가 정지한다는 문제점이 있었다.
종래 기술 1 의 경우, 스패닝 트리에 속하는 노드의 추가/삭제 시에 스패닝 트리가 정지되고 처음부터 재구성되기 때문에, 종종, 재구성 중 장시간 동안에 전체 네트워크가 정지하였다.
종래 기술 2 의 경우, 스패닝 트리에 속하는 노드의 추가/삭제 시에 데이터 프레임의 포워딩이 국부적으로 정지되면서 그 스패닝 트리가 점진적으로 재구성되기 때문에, 종종, 재구성 중에 네트워크의 일부가 중지되었다.
셋째, 트래픽의 부하가 분산될 수 없다고 하는 문제점이 존재하였다.
종래 기술 1 및 2 의 경우, 링크 용량을 이용하여 비용이 계산되고 스패닝 트리의 구성 시에 경로를 선택하는데 사용되기 때문에, 트래픽에 따른 동적 부하 분산을 위한 경로의 변경이 불가능하였다.
넷째, 스패닝 트리의 재구성으로 인해, 부하 분산을 시도할 때에 네트워크가 정지한다는 문제점이 존재하였다.
종래 기술 1 의 경우, 트래픽 상태에 따라 비용을 동적으로 변화시키려고 할 경우, 스패닝 트리를 일시 정지시키고 재구성하여 경로를 변경하기 때문에, 종종, 재구성 중 연장된 시간 동안에 전체 네트워크가 정지하였다.
종래 기술 2 의 경우, 트래픽 상태에 따라 비용을 동적으로 변화시키려고 할 경우, 데이터 프레임의 포워딩을 국부적으로 정지시키면서 스패닝 트리의 일부를 점진적으로 재구성하기 때문에, 종종, 재구성 중에 네트워크의 일부가 정지하였다.
다섯째, 수신지로의 최저 비용을 갖는 경로가 항상 선택되지는 않는다고 하는 문제가 존재하였다.
종래 기술 1 및 2 의 경우, 스패닝 트리의 오직 하나의 시스템이 네트워크 상에서 설정되고 각각의 노드마다 미리 설정된 우선순위 값과 MAC 어드레스에 의해 오직 하나의 루트 노드가 그 네트워크 상에서 정의되어 단일의 트리를 생성하기 때문에, 트리의 말단에 위치하는 노드들이 서로 통신하는 경우에, 비록 상이한 최단 경로가 존재하더라도, 종종, 그 최단 경로가 차단되거나 긴 경로가 취해졌다.
여섯째, 링크 이용율이 낮은 한편, 부하가 루트 노드 부근에 집중되는 문제가 존재하였다.
종래 기술 1 및 2 의 경우, 스패닝 트리의 오직 하나의 시스템이 네트워크 상에서 설정되고 각각의 노드마다 미리 설정된 우선순위 값과 MAC 어드레스에 의해 오직 하나의 루트 노드가 그 네트워크 상에서 정의되어 단일의 트리를 생성하기 때문에, 트리의 말단에서 위치되어 있더라도 이용되지 않은 링크가 출현하여 링크 이용율이 감소된다. 이와 대조적으로, 종종, 루트 노드 부근에서는 트래픽이 집중되어 폭주 발생의 가능성이 증가된다.
일곱째, 루트 노드 장애 발생 시의 트리 구성에 시간이 걸려 그 기간 중에 네트워크가 정지하는 문제가 존재하였다.
종래 기술 1 의 경우, 스패닝 트리의 오직 하나의 시스템이 네트워크 상에서 설정되고 오직 하나의 루트 노드가 존재하기 때문에, 루트 노드에서 장애가 발생하면, 스패닝 트리를 정지시키고 처음부터 재구성하여 구축하여, 종종, 재구성 중 연장된 시간 동안에 전체 네트워크가 정지하였다.
종래 기술 2 의 경우, 루트 노드에서 장애가 발생하면, 데이터 프레임의 포워딩이 국부적으로 정지되면서 스패닝 트리가 점진적으로 재구성되기 때문에, 종종, 네트워크의 일부가 재구성 중에 정지하였다.
여덟째, IEEE 802.1D를 이용하는 섹션에서, 장애 발생 시에 루트의 스위칭이 느려지고, 스패닝 트리의 재구성에도 긴 시간이 걸린다는 문제가 존재하였다.
이것은, 종래 기술 1 의 경우에, 트리의 구축 시에 데이터가 교환될 수 있을 때까지, 종종, 수십초가 시간이 걸리기 때문이다.
또한, 아홉째, 종래 기술 1 및 2 의 경우, 단일의 트리만이 존재하기 때문에, 트래픽이 루트 노드 부근에 집중 및 폭주하여, 종종, 프레임의 도달이 지연되거나 손실되었다.
발명의 요약
본 발명의 제 1 목적은, 폭주 발생의 확률을 저감시키고, 폭주로 인하여 프레임의 도달 지연 또는 손실이 발생하는 빈도를 감소시킬 수 있는 네트워크 시스템, 스패닝 트리 구성 방법, 스패닝 트리 구성 노드, 및 스패닝 트리 구성 프로그램을 제공하는 것이다.
본 발명의 제 2 목적은, 네트워크를 정지시키지 않고서, 스패닝 트리에 속하는 노드의 추가/삭제를 수행하는 것과 같이 스패닝 트리를 재구성할 수 있는 네트워크 시스템, 스패닝 트리 구성 방법, 스패닝 트리 구성 노드, 및 스패닝 트리 구성 프로그램을 제공하는 것이다.
본 발명의 제 3 목적은, 트래픽의 부하를 분산시킬 수 있는 네트워크 시스템, 스패닝 트리 구성 방법, 스패닝 트리 구성 노드, 및 스패닝 트리 구성 프로그램을 제공하는 것이다.
본 발명의 제 4 목적은, 경로 변경에 수반하는 스패닝 트리 재구성을 위하여 네트워크를 정지시키지 않고도 부하를 분산시킬 수 있는 네트워크 시스템, 스패닝 트리 구성 방법, 스패닝 트리 구성 노드, 및 스패닝 트리 구성 프로그램을 제공하는 것이다.
본 발명의 제 5 목적은, 수신지로의 최소 비용을 갖는 경로가 선택되는 네트워크 시스템, 스패닝 트리 구성 방법, 스패닝 트리 구성 노드, 및 스패닝 트리 구성 프로그램을 제공하는 것이다.
본 발명의 제 6 목적은, 링크 이용율을 증가시키고, 루트 노드 부근에 부하를 집중시키지 않고도 그 부하를 분산시킬 수 있는 네트워크 시스템, 스패닝 트리 구성 방법, 스패닝 트리 구성 노드, 및 스패닝 트리 구성 프로그램을 제공하는 것이다.
본 발명의 제 7 목적은, 루트 노드 장애로 인한 네트워크 중지를 피할 수 있는 네트워크 시스템, 스패닝 트리 구성 방법, 스패닝 트리 구성 노드, 및 스패닝 트리 구성 프로그램을 제공하는 것이다.
본 발명의 제8의 목적은, 스패닝 트리가 IEEE 802.1D 이용 섹션을 통과하여 설정되는 것을 방지하고, 장애 발생 시의 스위칭이나 루트 변경을 고속화하고, 폭주 발생 및 프레임의 손실 가능성을 저감시킬 수 있는 네트워크 시스템, 스패닝 트리 구성 방법, 스패닝 트리 구성 노드, 및 스패닝 트리 구성 프로그램을 제공하는 것이다.
본 발명의 제 1 양태에 의하면, 복수의 노드들을 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 노드로서, 네트워크 구성 변경 전에 존재하였던 스패닝 트리를 계속 동작시키면서, 네트워크 구성 변경 후에 신규한 스패닝 트리를 생성하고, 신규한 스패닝 트리가 안정된 후에, 포워딩용으로 사용되는 스패닝 트리를 신규한 스패닝 트리로 스위칭시키는 것을 포함한다.
본 발명의 제 2 양태에 의하면, 복수의 노드들을 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 노드로서, 네트워크의 링크 비용 변경 시에, 현재의 스패닝 트리를 계속 동작시키면서, 그 비용 변경 후의 신규한 스패닝 트리를 생성하고, 신규한 스패닝 트리가 안정된 후에, 포워딩용으로 사용되는 스패닝 트리를 신규한 스패닝 트리로 스위칭시키는 것을 포함한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 노드로서, 독립적으로 동작하는 복수의 스패닝 트리를 생성하는 복수의 트리 매니저, 포워딩용으로 사용되는 스패닝 트리에 대응하는 태그를 반환하는 태그 테이블, 그 태그 테이블로부터 반환된 태그를 프레임에 삽입하는 태그 삽입 유닛, 포워딩용으로 사용되는 스패닝 트리를 결정하는 트리 선택기, 프레임의 포워딩 출력 수신지가 수신지마다 기록되는 포워딩 테이블, 그 포워딩 테이블에서 특정된 포워딩 출력 수신지로 프레임을 포워딩하는 프레임 포워딩 유닛, 및 태그에 따라 프레임의 포워딩 수신지의 트리 매니저를 결정하는 분별기를 구비한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 노드로서, 네트워크 내의 각 노드가 루트 노드로서 제공하는 스패닝 트리를 생성하고, 수신지가 루트 노드로서 제공하는 스패닝 트리를 이용하여 프레임 (프레임들) 을 포워딩하는 것을 포함한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 노드로서, 독립적으로 동작하는 복수의 스패닝 트리를 생성하는 복수의 트리 매니저, 포워딩용으로 사용되는 스패닝 트리에 대응하는 태그를 반환하는 태그 테이블, 그 태그 테이블로부터 반환된 태그를 프레임에 삽입하는 태그 삽입 유닛, 네트워크 내에 존재하는 루트 노드의 갯수 만큼 트리 매니저를 생성하는 트리 선택기, 프레임의 포워딩 출력 수신지가 수신지마다 기록되는 포워딩 테이블, 그 포워딩 테이블에서 특정된 포워딩 출력 수신지로 프레임을 포워딩하는 프레임 포워딩 유닛, 및 태그에 따라 프레임의 포워딩 수신지의 트리 매니저를 결정하는 분별기를 구비한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 노드로서, 스패닝 트리를 생성하는 트리 매니저는 스패닝 트리 프로토콜의 타입 및 버전에 기초하여 비용값을 조정하는 비용 조작기를 포함한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 노드로서, 네트워크에 존재하고 동작이 느린 프로토콜을 사용하는 각각의 링크에 대하여 각 링크의 비용이 최대인 스패닝 트리를 생성하고, 각각의 링크에서 장애가 발생할 경우에, 링크의 비용이 최대인 트리를 이용하여 프레임을 포워딩하는 것을 포함한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 노드로서, 독립적으로 동작하는 복수의 스패닝 트리를 생성하는 복수의 트리 매니저, 포워딩용으로 사용되는 트리에 대응하는 태그를 반환하는 태그 테이블, 그 태그 테이블로부터 반환된 태그를 프레임에 삽입하는 태그 삽입 유닛, 네트워크 내에 존재하는 링크의 갯수 만큼 트리 매니저를 생성하고 동작이 느린 프로토콜을 사용하는 트리 선택기, 프레임의 포워딩 출력 수신지가 수신지마다 기록되는 포워딩 테이블, 그 포워딩 테이블에서 특정된 포워딩 출력 수신지로 프레임을 포워딩하는 프레임 포워딩 유닛, 및 태그에 따라 포워딩 수신지의 트리 매니저를 결정하는 분별기를 구비한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크 상에서 스패닝 트리에 의해 포워딩 경로가 설정되는 네트워크 시스템으로서, 각각의 노드가 네트워크 구성 변경 전에 존재하였던 스패닝 트리를 계속 동작시키면서, 네트워크 구성 변경 후에 신규한 스패닝 트리를 생성하고, 신규한 스패닝 트리가 안정된 후에, 포워딩용으로 사용되는 스패닝 트리를 신규한 스패닝 트리로 스위칭시킨다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크 상에서 스패닝 트리에 의해 포워딩 경로가 설정되는 네트워크 시스템으로서, 각각의 노드가, 네트워크의 링크 비용 변경 시에, 현재의 스패닝 트리를 계속 동작시키면서, 그 비용 변경 후의 신규한 스패닝 트리를 생성하고, 신규한 스패닝 트리가 안정된 후에, 포워딩용으로 사용되는 스패닝 트리를 신규한 스패닝 트리로 스위칭시킨다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크 상에서 스패닝 트리에 의해 포워딩 경로가 설정되는 네트워크 시스템으로서, 각각의 노드는, 독립적으로 동작하는 복수의 스패닝 트리를 생성하는 복수의 트리 매니저, 포워딩용으로 사용되는 스패닝 트리에 대응하는 태그를 반환하는 태그 테이블, 그 태그 테이블로부터 반환된 태그를 프레임에 삽입하는 태그 삽입 유닛, 포워딩용으로 사용되는 스패닝 트리를 결정하는 트리 선택기, 프레임의 포워딩 출력 수신지가 수신지마다 기록되는 포워딩 테이블, 그 포워딩 테이블에서 특정된 포워딩 출력 수신지로 프레임을 포워딩하는 프레임 포워딩 유닛, 및 태그에 따라 프레임의 포워딩 수신지의 트리 매니저를 결정하는 분별기를 구비한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크 상에서 스패닝 트리에 의해 포워딩 경로가 설정되는 네트워크 시스템으로서, 네트워크 내의 각 노드가 루트 노드로서 제공하는 스패닝 트리를 생성하고, 수신지가 루트 노드로서 제공하는 스패닝 트리를 이용하여 프레임을 포워딩하는 것을 포함한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크 상에서 스패닝 트리에 의해 포워딩 경로가 설정되는 네트워크 시스템으로서, 독립적으로 동작하는 복수의 스패닝 트리를 생성하는 복수의 트리 매니저, 포워딩용으로 사용되는 스패닝 트리에 대응하는 태그를 반환하는 태그 테이블, 그 태그 테이블로부터 반환된 태그를 프레임에 삽입하는 태그 삽입 유닛, 네트워크 내에 존재하는 노드의 갯수 만큼 트리 매니저를 생성하는 트리 선택기, 프레임의 포워딩 출력 수신지가 수신지마다 기록되는 포워딩 테이블, 그 포워딩 테이블에서 특정된 포워딩 출력 수신지로 프레임을 포워딩하는 프레임 포워딩 유닛, 및 태그에 따라 프레임의 포워딩 수신지의 트리 매니저를 결정하는 분별기를 구비한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크 상에서 스패닝 트리에 의해 포워딩 경로가 설정되는 네트워크 시스템으로서, 스패닝 트리를 생성하는 트리 매니저는 스패닝 트리 프로토콜의 타입 및 버전에 기초하여 비용값을 조정하는 비용 조작 프로세싱을 실행한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크 상에서 스패닝 트리에 의해 포워딩 경로가 설정되는 네트워크 시스템으로서, 스패닝 트리를 생성하는 트리 매니저는 스패닝 트리 프로토콜의 타입 및 버전에 기초하여 비용값을 조정하는 비용 조작기를 구비한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크 상에서 스패닝 트리에 의해 포워딩 경로가 설정되는 네트워크 시스템으로서, 네트워크에 존재하고 동작이 느린 프로토콜을 사용하는 각각의 링크에 대하여 각 링크의 비용이 최대인 스패닝 트리를 생성하고, 각각의 링크에서 장애가 발생할 경우에, 링크의 비용이 최대인 트리를 이용하여 프레임을 포워딩하는 것을 포함한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크 상에서 스패닝 트리에 의해 포워딩 경로가 설정되는 네트워크 시스템으로서, 독립적으로 동작하는 복수의 스패닝 트리를 생성하는 복수의 트리 매니저, 포워딩용으로 사용되는 트리에 대응하는 태그를 반환하는 태그 테이블, 그 태그 테이블로부터 반환된 태그를 프레임에 삽입하는 태그 삽입 유닛, 네트워크 내에 존재하는 링크의 갯수 만큼 트리 매니저를 생성하고 동작이 느린 프로토콜을 사용하는 트리 선택기, 프레임의 포워딩 출력 수신지가 수신지마다 기록되는 포워딩 테이블, 그 포워딩 테이블에서 특정된 포워딩 출력 수신지로 프레임을 포워딩하는 프레임 포워딩 유닛, 및 태그에 따라 포워딩 수신지의 트리 매니저를 결정하는 분별기를 구비한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크에서의 스패닝 트리 구성 방법으로서, 네트워크 구성 변경 전에 존재하였던 스패닝 트리를 계속 동작시키면서, 네트워크 구성 변경 후에 신규한 스패닝 트리를 생성하는 단계, 및 신규한 스패닝 트리가 안정된 후에, 포워딩용으로 사용되는 스패닝 트리를 신규한 스패닝 트리로 스위칭시키는 단계를 포함한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크에서의 스패닝 트리 구성 방법으로서, 네트워크의 링크 비용 변경 시에, 현재의 스패닝 트리를 계속 동작시키면서, 그 비용 변경 후의 신규한 스패닝 트리를 생성하는 단계, 및 신규한 스패닝 트리가 안정된 후에, 포워딩용으로 사용되는 스패닝 트리를 신규한 스패닝 트리로 스위칭시키는 단계를 포함한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크에서의 스패닝 트리 구성 방법으로서, 신규한 노드를 추가할 때에, 신규한 노드를 기존 스패닝 트리에 참가시키지 않고, 예비 스패닝 트리에만 참가시키는 단계를 포함한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크에서의 스패닝 트리 구성 방법으로서, 노드를 삭제할 때에, 삭제 노드를 예비 스패닝 트리에 참가시키지 않고, 기존 스패닝 트리에만 참가시키는 단계를 포함한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크에서의 스패닝 트리 구성 방법으로서, 네트워크 구성이 변경될 때, 예비 시스템을 사용하여 변경한 후에 트리를 생성하는 단계를 포함한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크에서의 스패닝 트리 구성 방법으로서, 링크의 자유 대역폭을 이용하여 비용을 계산하는 단계를 포함한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크에서의 스패닝 트리 구성 방법으로서, 네트워크 내의 모든 노드가 그 모든 노드를 멤버로서 갖는 스패닝 트리들 중에서 어떠한 하나의 루트 노드로서 제공되도록 복수의 스패닝 트리를 생성하는 단계를 포함한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크에서의 스패닝 트리 구성 방법으로서, 네트워크 내에 존재하는 모든 노드를 갖는 스패닝 트리들을 생성하고, 그 트리들 중에서, 장애 복구가 느린 프로토콜을 사용하는 각각의 링크에 대하여 복수의 스패닝 트리를 생성하는 단계를 포함한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크에서 신호 송신용으로 사용되는 논리 토폴로지를 형성하는 방법으로서, 네트워크 구성 변경 전에 존재하였던 논리 토폴로지를 사용하여 신호 전송을 수행하고 있는 상태로, 네트워크 구성 변경 후의 논리 토폴로지를 생성하는 단계, 및 그 구성 변경 후의 논리 토폴로지가 안정된 후에, 신호 전송용으로 사용되는 논리 토폴로지를 구성 변경 후의 논리 토폴로지로 스위칭하는 단계를 포함한다.
본 발명의 또 다른 양태에 의하면, 노드는, 네트워크에서의 논리 토폴로지를 사용하여 신호 전송을 하고 있는 상태로, 자신이 속하는 네트워크의 구성을 변경할 때에, 네트워크 구성 변경 후의 논리 토폴로지를 생성하는 엘리먼트, 및 구성 변경 후의 논리 토폴로지가 안정된 후에, 신호 전송용으로 사용되는 논리 토폴로지를 구성 변경 후의 논리 토폴로지로 스위칭하는 엘리먼트를 포함한다.
본 발명의 또 다른 양태에 의하면, 복수의 노드들을 접속시키는 네트워크 시스템으로서, 네트워크 구성 변경 전에 존재하였던 논리 토폴로지를 사용하여 신호전송을 하고 있는 상태로, 네트워크 구성 변경 후의 논리 토폴로지를 생성하고, 구성 변경 후의 논리 토폴로지가 안정된 후에, 신호 전송용으로 사용되는 논리 토폴로지를 구성 변경 후의 논리 토폴로지로 스위칭하는 것을 포함한다.
본 발명의 또 다른 양태에 의하면, 노드는, 입력되는 프레임이 유지하는 수신지에 관한 정보와 스패닝 트리 프로토콜을 사용하여 프레임의 포워딩 수신지에 관한 정보 사이의 대응관계를 생성하는 엘리먼트, 및 입력된 프레임의 포워딩 수신지를 결정하기 위하여 그 대응관계를 참조하는 엘리먼트를 포함한다.
본 발명의 다른 목적, 특징 및 이점은 후술되는 상세한 설명으로부터 명백히 알 수 있다.
도면의 간단한 설명
본 발명은, 본 발명의 바람직한 실시형태에 대한 첨부 도면 및 후술되는 상세한 설명으로부터 더 완전히 알 수 있지만, 그 실시형태는 본 발명을 제한하려는 것이 아니라 오직 설명 및 이해를 위한 것이다.
도 1 은 종래의 VLAN 태그형 이더넷 프레임의 구성예를 나타낸 도면이다.
도 2 는 본 발명의 확장 태그형 이더넷 프레임의 구성예를 나타낸 도면이다.
도 3 은 본 발명의 확장 태그형 이더넷 프레임의 또 다른 구성예를 나타낸 도면이다.
도 4 는 본 발명의 확장 태그 저장 영역의 구성예를 나타낸 도면이다.
도 5 는 본 발명에서의 구성 BPDU 프레임의 프레임 구성을 나타낸 포맷도이다.
도 6 은 본 발명에서의 토폴로지 변경 통지 BPDU 프레임의 프레임 구성을 나타낸 포맷도이다.
도 7 은 본 발명의 제 1 실시형태의 구성을 나타낸 블록도이다.
도 8 은 본 발명의 제 1 실시형태에서의 노드 (11) 의 구성을 나타낸 블록도이다.
도 9 는 본 발명의 제 1 실시형태에서의 포워딩 테이블 (114) 의 구성예를 나타낸 테이블이다.
도 10 은 본 발명의 제 1 실시형태에서의 트리 매니저 (1151) 의 구성을 나타낸 블록도이다.
도 11 은 본 발명의 제 1 실시형태에서의 트리 선택기 (116) 의 구성을 나타낸 블록도이다.
도 12 는 본 발명의 제 1 실시형태에서의 메인 제어기 (1164) 의 동작을 나타낸 흐름도이다.
도 13 은 본 발명의 제 1 실시형태에서의 태그 테이블 (117) 의 구성예를 나타낸 테이블이다.
도 14 는 본 발명의 제 1 실시형태에서 노드 (700) 이 추가되기 전의 스패닝 트리 (51) 의 구성을 나타낸 블록도이다.
도 15 는 본 발명의 제 1 실시형태에서 노드 (700) 이 추가된 후의 스패닝 트리 (52) 의 구성을 나타낸 블록도이다.
도 16 은 본 발명의 제 1 실시형태에서의 제어 프레임의 교환을 나타낸 시퀀스도이다.
도 17 은 본 발명의 제 2 실시형태에서의 트리 선택기 (116) 의 구성을 나타낸 블록도이다.
도 18 은 본 발명의 제 2 실시형태에서의 메인 제어기 (1164) 의 동작을 나타낸 흐름도이다.
도 19 는 본 발명의 제 3 실시형태에서의 메인 제어기 (1164) 의 동작을 나타낸 흐름도이다.
도 20 은 본 발명의 제 4 실시형태에서의 노드 (11) 의 구성을 나타낸 블록도이다.
도 21 은 본 발명의 제 4 실시형태에서의 포워딩 테이블 (114) 의 구성예를 나타낸 테이블이다.
도 22 는 본 발명의 제 4 실시형태에서의 태그 테이블 (117) 의 구성예를 나타낸 테이블이다.
도 23 은 본 발명의 제 4 실시형태에서의 트리 (61) 의 구성을 나타낸 블록도이다.
도 24 는 본 발명의 제 4 실시형태에서의 트리 (62) 의 구성을 나타낸 블록도이다.
도 25 는 본 발명의 제 4 실시형태에서의 트리 (63) 의 구성을 나타낸 블록도이다.
도 26 은 본 발명의 제 4 실시형태에서의 트리 (64) 의 구성을 나타낸 블록도이다.
도 27 은 본 발명의 제 4 실시형태에서의 트리 (65) 의 구성을 나타낸 블록도이다.
도 28 은 본 발명의 제 4 실시형태에서의 트리 (66) 의 구성을 나타낸 블록도이다.
도 29 는 본 발명의 제 4 실시형태의 구성을 나타낸 블록도이다.
도 30 은 본 발명의 제 4 실시형태에서의 트리 (74) 의 구성을 나타낸 블록도이다.
도 31 은 본 발명의 제 5 실시형태에서의 트리 매니저 (1151) 의 구성을 나타낸 블록도이다.
도 32 는 본 발명의 제 5 실시형태에서의 트리 (71) 의 구성을 나타낸 블록도이다.
도 33 은 본 발명의 제 5 실시형태에서의 트리 (72) 의 구성을 나타낸 블록도이다.
도 34 는 본 발명의 제 5 실시형태에서의 트리 (73) 의 구성을 나타낸 블록도이다.
도 35 는 본 발명의 제 6 실시형태에서의 노드 (11) 의 구성을 나타낸 블록도이다.
도 36 은 본 발명의 제 6 실시형태에서의 트리 (67) 의 구성을 나타낸 블록도이다.
도 37 은 본 발명의 제 6 실시형태에서의 트리 (68) 의 구성을 나타낸 블록도이다.
도 38 은 본 발명의 제 6 실시형태에서의 트리 (69) 의 구성을 나타낸 블록도이다.
도 39 는 본 발명의 제 6 실시형태에서의 트리 (70) 의 구성을 나타낸 블록도이다.
도 40 은 본 발명의 제 7 실시형태에서의 노드 (11) 의 구성을 나타낸 블록도이다.
도 41 은 본 발명의 제 8 실시형태에서의 노드 (11) 의 구성을 나타낸 블록도이다.
도 42 는 본 발명의 제 8 실시형태에서의 포워딩 테이블 (114γ) 의 구성예를 나타낸 테이블이다.
도 43 은 본 발명의 제 8 실시형태에서의 트리 매니저 (1151γ) 의 구성을 나타낸 블록도이다.
도 44 는 본 발명의 제 8 실시형태에서의 트리 (61) 의 설정상태의 예를 나타낸 테이블이다.
도 45 는 본 발명의 제 9 실시형태에서의 노드 (11) 의 구성을 나타낸 블록도이다.
도 46 은 본 발명의 제 9 실시형태에서의 포워딩 테이블 (114β) 의 구성예를 나타낸 테이블이다.
도 47 은 본 발명의 제 9 실시형태에서의 트리 매니저 (1151β) 의 구성을 나타낸 블록도이다.
도 48 은 본 발명의 제 9 실시형태에서의 트리 (61) 의 설정상태의 예를 나타낸 테이블이다.
도 49 는 본 발명의 제 10 실시형태에서의 노드 (11) 의 구성을 나타낸 블록도이다.
도 50 은 본 발명의 제 10 실시형태에서의 포워딩 테이블 (114α) 의 구성예를 나타낸 테이블이다.
도 51 은 본 발명의 제 10 실시형태에서의 트리 매니저 (1151α) 의 구성을 나타낸 블록도이다.
도 52 는 본 발명의 제 10 실시형태에서의 트리 (61) 의 설정상태의 예를 나타낸 테이블이다.
도 53 은 본 발명에서의 확장 프레임의 또 다른 구성예를 나타낸 도면이다.
도 54 는, 도 23 에 도시되어 있는 스패닝 트리 구성에서의 각 노드의 포트 상태를 나타낸 도면이다.
바람직한 실시형태의 설명
이하, 본 발명의 바람직한 실시형태를 첨부 도면을 참조하여 상세히 설명한다. 다음의 설명에서, 다수의 특정한 세부사항들은 본 발명의 철저한 이해를 제공하기 위하여 설명된다. 그러나, 당업자는, 본 발명이 이들 특정한 세부사항없이도 실시될 수 있음을 알 수 있다. 다음으로, 본 발명을 불필요하게 불명확하게 하지 않도록, 널리 공지되어 있는 구조는 상세히 도시하지 않는다.
다음의 설명에서, 비록 복수의 스패닝 트리와 복수의 노드 그룹을 식별하는 식별자로서 태그를 이용하여 설명하지만, 그 태그는, VLAN 태그에 이외에, 본 특허 출원인에 의한 일본 특허출원 제 2002-204673 호에 개시되어 있는 확장 태그와 다른 태그들 또는 식별 수단 중 하나 또는 하나 이상의 조합을 의미한다.
여기에서는, 본 발명에서 사용되는 태그들 중, 일본 특허출원 제 2002-204673 호에 개시되어 있는 확장 태그형 프레임의 포맷을 설명한다.
도 1 은 IEEE 802.1Q 에 규정되어 있는 VLAN 태그형 이더넷 프레임의 포맷을 도시한 것이다. VLAN 태그형 이더넷 프레임 (3200) 은 수신지 MAC 어드레스 (3201), 소스 MAC 어드레스 (3202), VLAN 태그 (3203), 이더넷 속성 정보 (3204), 페이로드 (3205), 및 FCS (3206) 로 이루어진다.
한편, 도 2 는 본 발명의 확장 태그형 이더넷 프레임의 포맷을 도시한 것이다. 확장 태그형 이더넷 프레임 (3300) 은 수신지 MAC 어드레스 (3201), 소스 MAC 어드레스 (3202), 확장 태그 저장 영역 (3301), 이더넷 속성 정보 (3204), 페이로드 (3205), 및 FCS (3206) 으로 이루지며, 여기서, 종래의 VLAN 태그형 이더넷 프레임 (3200) 의 VLAN 태그 (3203) 는 확장 태그 저장 영역 (3301) 로 대체된다.
또한, 도 3 에 도시된 바와 같이, 확장 태그형 이더넷 프레임 (3400) 은 다른 구성으로도 존재하며, 이것은 수신지 MAC 어드레스 (3201), 소스 MAC 어드레스 (3202), 확장 태그 저장 영역 (3301), VLAN 태그 (3203), 이더넷 속성 정보 (3204), 페이로드 (3205), 및 FCS (3206) 으로 이루어지며, 여기서, 확장 태그 저장 영역 (3301) 은 소스 MAC 어드레스 (3202) 이후에 삽입된다.
확장 태그 저장 영역 (3301) 에는 하나 이상의 확장 태그를 저장할 수 있다. 확장 태그의 사이즈는 4 바이트이며, 이는 VLAN 태그 (3203) 와 동일한 사이즈이다. 확장 태그형 이더넷 프레임 (3300 및 3400) 의 최상단 확장 태그와 VLAN 태그형 이더넷 프레임 (3200) 의 VLAN 태그는 동일의 위치에 동일의 사이즈로 저장되며, 그들은 각각의 태그의 상위 2 바이트에 저장되는 값을 변경함으로써 구별된다 (세부사항은 후술됨).
따라서, 확장 태그형 이더넷 프레임들 (3300 및 3400) 은 VLAN 태그형 이더넷 프레임 (3200) 과 호환 가능하며, 종래의 노드와 확장 태그 처리 노드 모두에서 프로세싱될 수 있다.
도 4 는 확장 태그 저장 영역 (3301) 을 도시한 것이다. 도 4 에 도시되어 있는 저장예에서는, 8 개의 확장태그 (3500 내지 3507) 가 저장되어 있다.
수신지 노드의 식별자 또는 수신지까지의 라벨 (예를 들어, MPLS 라벨) 이 포워딩 태그 (3500) 에 저장된다. 또한, 수신지 노드의 식별자를 저장하는 포워딩 태그 (3500) 에 더하여, 소스 노드의 식별자가 저장될 수도 있다. 각 노드는 그 포워딩 태그를 참조하여 프레임의 포워딩 수신지를 결정한다. 포워딩 태그 (3500) 는 항상 확장 태그형 이더넷 프레임 (3300 및 3400) 에 저장된다.
확장 태그의 타입을 고려하면, 소비자 분리 태그 (3501), 보호 태그 (3502), OAM & P 태그 (3503), 품질 정보 태그 (3504), 프레임 제어 태그 (3505), 보안 태그 (3506), 및 사용자 확장 태그 (3507) 가 저장된다.
각각의 노드에 수용되는 각각의 소비자에 대한 정보를 분리하기 위한 식별자는 소비자 분리 태그 (3501) 에 저장된다. 소비자를 고려하면, 동일한 VLAN 이 속하는 소비자들이 동일한 소비자로서 처리될 수도 있으며, 2 개 이상의 노드의 특정한 포트에 수용되는 소비자들이 동일한 소비자로서 처리될 수도 있으며, 네트 내의 노드에 접속되는 2 개 이상의 호스트들이 동일한 소비자로서 처리될 수도 있다. 이들 소비자에게 분리 식별자가 할당되며, 그 분리 식별자는 각 소비자로부터의 프레임의 소비자 분리 태그 (3501) 내에 저장된다. 소비자 분리 태그 (3501) 에 의해 소비자를 식별함으로써, 각각의 소비자에 대한 부가 서비스 (예를 들어, 특정 소비자에 대한 우선순위 제어) 가 제공될 수 있다. 또한, 복수의 소비자 분리 태그 (3501) 는 스택하여 사용될 수도 있다. 이 경우, 분리가능한 소비자의 수가 대폭 증가될 수 있다. 또한, 소비자 분리 태그 (3501) 를 스택할 때, 최종단에 스택된 소비자 분리 태그 (3501) 는 최종단인 것을 나타내는 특별한 소비자 분리 태그를 사용한다.
장애 발생 시의 장애 정보 및 장애 복구를 위한 우회 경로 정보는 보호 태그(3502) 에 저장된다. 운용/관리 정보는 OAM & P 태그 (3503) 에 저장된다.
프레임의 네트워크 내로의 유입 시간을 나타내는 시간 스탬프, 지연, 지터, 패킷 손실율 및 대역 제어 정보와 같은 품질 정보는 품질 정보 태그 (3504) 에 저장된다. 만약 시간 스탬프 값이 품질 정보 태그 (3504) 에 저장되면, 프레임을 수신하는 노드는 현재의 시간 및 시간 스탬프 값으로부터 그 프레임의 네트 내에서의 지연 (네트워크 내에서의 체재 시간) 을 계산할 수 있다. 만약 네트 내 지연의 보증값이 특정되면, 그 보증값을 획득하도록 우선순위 프로세싱을 수행할 수 있다. 또한, 요구 대역, 누산 데이터량, 또는 트래픽 클래스와 같은 대역 제어 정보가 품질 정보 태그 (3504) 에 저장되면, 그 플로우의 누산 데이터량 및 트래픽 클래스와 다른 플로우의 트래픽 상태를 고려함으로써, 요구 대역을 보호하기 위하여 대역 제어를 수행할 수 있다.
에러를 검출하기 위하여 네트워크 또는 CRC 내에서 프레임의 생존시간을 제한하는 홉 카운트 (TTL: Time To Live) 와 같은 정보는 프레임 제어 태그 (3505) 에 저장된다. 만약 TTL 이 저장되면, 프레임이 경유하는 노드마다 TTL 값이 감산되고, TTL = 0 일 때에 그 프레임이 폐기된다. 이것은, 경로가 루핑 (loop) 되더라도 프레임이 계속 순환하는 것을 방지한다. 만약 CRC 가 저장되면, 입구측 노드에서의 확장 태그 저장 영역 (3301) 의 CRC 계산 결과가 저장되고, 이에 따라, 출구측 노드에서 CRC 계산을 수행하고 저장값과 비교함으로써, 확장 태그 저장 영역 (3301) 에서의 에러를 검출할 수 있다.
프레임의 신뢰성, 네트워크 구성 시 및 네트워크 구성 변경 시의 비밀성을 확보하기 위한 정보는 보안 태그 (3506) 에 저장된다. 보안 태그 (3506) 의 이용에 대하여 다음의 예들이 인용될 수도 있다. 네트워크 내에서 통신하는 각각의 소비자에 대해서 보안 식별자가 미리 설정되고, 그 식별자는 소비자가 접속시키는 각각의 노드에서 유지된다. 각각의 소비자는 프레임을 포워딩할 때에 설정 보안 식별자를 항상 보안 태그 (3506) 에 저장함으로써, 소비자 분리 태그 (3501) 의 정보를 변조한 악의의 소비자로부터의 프레임이 송/수신되는 것을 방지할 수 있다. 네트워크 구성 시 및 네트워크 구성 변경 시에, 노드들 사이에서 협상을 수행하여 공통의 보안 식별자를 설정한다. 그 노드들 사이에서 프레임을 포워딩할 때, 설정 보안 식별자를 항상 보안 태그 (3506) 에 저장함으로써, 악의가 있는 노드를 네트워크에 접속시키는 것을 방지할 수 있다.
사용자가 독자적으로 정의하는 임의의 정보는 사용자 확장 태그 (3507) 에 저장된다. 사용자에 의한 태그의 포맷 및 저장정보 및 그 프로세싱 내용의 정의는 사용자 자신의 기능 확장을 가능케 하여 네트워크의 유연성을 향상시킨다.
포워딩 태그 (3500) 이외의 확장 태그 (3501 ∼ 3507) 는 필요에 따라 저장된다. 포워딩 태그 (3500) 는 확장 태그 저장 영역 (3301) 의 선두에 저장되고, 그 밖의 확장 태그 (3501∼3507) 는 그 후에 저장된다. 포워딩 태그 (3500) 보다도 후방이면, 미리 정한 위치, 고정된 위치 또는 임의의 위치라도 위치될 수 있다.
이후, 존재하는 2 시스템의 스패닝 트리 중에서, 네트워크에 새롭게 삽입되는 데이터 프레임의 포워딩에 이용되는 스패닝 트리는 현재 트리 또는 현재 시스템 트리라고 칭하며, 현재 트리가 아닌 스패닝 트리는 예비 트리 또는 예비 시스템 트리라고 칭한다.
또한, 현재 시스템 트리를 생성하는 트리 매니저를 현재 시스템 트리 매니저라고 칭하며, 예비 시스템 트리를 생성하는 트리 매니저는 예비 시스템 트리 매니저라고 칭한다.
태그 그룹이라는 것은, 태그 및 다른 식별자를 이용하여 식별되는 일군의 노드들, 즉, 복수의 노드들의 집합을 의미한다. 만약 태그 그룹이 VLAN 태그를 식별자로서 이용하여 형성되면, 그 태그그룹을 VLAN 이라고 한다.
BPDU (브리지 프로토콜 데이터 유닛) 라는 것은, 스패닝 트리를 생성하기 위하여 교환되는 IEEE 802.1D (종래 기술 1) 및 IEEE 802.1w (종래 기술 2) 에 개시되어 있는 제어 데이터, 및 본 발명의 현재 시스템, 예비 시스템 등에 대한 식별 정보를 포함하는 제어 프레임을 의미한다.
도 5는, IEEE 802.1D(종래 기술 1)및 IEEE 802.1w(종래 기술 2)에 개시되어 있는 구성 BPDU 프레임 (2205) 의 구조를 나타낸 포맷도이다.
MAC DA (2201) 는 수신지 MAC 어드레스를 저장하는 영역이다.
MAC DA (2202) 는 소스 MAC 어드레스를 저장하는 영역이다.
태그 영역 (2203) 은, 복수의 스패닝 트리를 식별하는 식별자로서 태그를 삽입하는 영역이다. 또한, 비록 종래 기술에는 개시되어 있지 않지만, 그 태그는, VLAN 태그 이외에, 본 특허 출원인에 의한 일본 특허출원 제 2002-204673 호에 개시되어 있는 하나 이상의 확장 태그, 및 다른 태그 또는 식별 수단의 임의의 하나 또는 하나 이상의 조합일 수도 있다.
타입 (2204) 은 프레임의 타입 식별자를 저장하는 영역이다.
BPDU 영역 (2205) 은, IEEE 802.1D (종래 기술 1) 및 IEEE 802.1w (종래 기술 2) 에 개시되어 있는 구성 BPDU 파라미터에 대응하는 정보를 저장하는 영역이다.
FCS (2206) 는 프레임 체크 시퀀스를 저장하는 영역이다.
프로토콜 식별자 (22051) 는, IEEE 802.1D (종래 기술 1) 또는 IEEE 802.1w (종래 기술 2)에 개시되어 있는 프로토콜 식별자와 동등한 정보를 저장하는 영역이다.
프로토콜 버전 식별자 (22052) 는, IEEE 802.1D (종래 기술 1) 또는 IEEE 802.1w (종래 기술 2) 에 개시되어 있는 프로토콜 버전 식별자와 동등한 정보를 저장하는 영역이다.
BPDU 타입 (22053) 은, IEEE 802.1D (종래 기술 1) 또는 IEEE 802.1w (종래 기술 2) 에 개시되어 있는 BPDU 타입과 동등한 정보를 저장하는 영역이다.
플래그 (22054) 는, IEEE 802.1D (종래 기술 1) 또는 IEEE 802.1w (종래 기술 2) 에 개시되어 있는 플래그와 동등한 정보를 저장하는 영역이다.
루트 식별자 (root identifier; 22055) 는, IEEE 802.1D (종래 기술 1) 또는 IEEE 802.1w (종래 기술 2) 에 개시되어 있는 루트 식별자와 동등한 정보를 저장하는 영역이다.
루트 경로 비용 (22056) 은, IEEE 802.1D (종래 기술 1) 또는 IEEE 802.1w (종래 기술 2) 에 개시되어 있는 루트 경로 비용과 동등한 정보를 저장하는 영역이다.
브리지 식별자 (22057) 는, IEEE 802.1D (종래 기술 1) 또는 IEEE 802.1w (종래 기술 2) 에 개시되어 있는 브리지 식별자와 동등한 정보를 저장하는 영역이다.
포트 식별자 (22058) 는, IEEE 802.1D (종래 기술 1) 또는 IEEE 802.1w (종래 기술 2) 에 개시되어 있는 브리지 식별자와 동등한 정보를 저장하는 영역이다.
메시지 수명 (message Age; 22059) 은, IEEE 802.1D (종래 기술 1) 또는 IEEE 802.1w (종래 기술 2) 에 개시되어 있는 메시지 수명과 동등한 정보를 저장하는 영역이다.
MAX 수명 (2205A) 은, IEEE 802.1D (종래 기술 1) 또는 IEEE 802.1w (종래 기술 2) 에 개시되어 있는 MAX 수명과 동등한 정보를 저장하는 영역이다.
헬로우 시간 (Hello Time; 2205B) 은, IEEE 802.1D (종래 기술 1) 또는 IEEE 802.1w (종래 기술 2) 에 개시되어 있는 헬로우 시간과 동등한 정보를 저장하는 영역이다.
포워드 지연 (2205C) 은, IEEE 802.1D (종래 기술 1) 또는 IEEE 802.1w (종래 기술 2) 에 개시되어 있는 포워드 지연과 동등한 정보를 저장하는 영역이다.
도 6 은, IEEE 802.1D (종래 기술 1) 및 IEEE 802.1w (종래 기술 2)에 개시되어 있는 토폴로지 변경 통지 BPDU 프레임의 구조를 나타낸 포맷도이다.
MAC DA (2201) 는 수신지 MAC 어드레스를 저장하는 영역이다.
MAC DA (2202) 는 소스 MAC 어드레스를 저장하는 영역이다.
비록 종래 기술에는 개시되어 있지 않지만, 태그 영역 (2203) 은, 복수의 스패닝 트리를 식별하는 식별자로서 태그를 삽입하는 영역이다. 그 태그는, VLAN 태그 이외에, 일본 특허출원 제 2002-204673 호에 개시되어 있는 확장태그, 및 다른 태그 또는 식별 수단의 하나 또는 하나 이상의 조합일 수도 있다.
타입 (2204) 은 프레임의 타입 식별자를 저장하는 영역이다.
BPDU 영역 (2205) 은, IEEE 802.1D (종래 기술 1) 및 IEEE 802.1w (종래 기술 2) 에 개시되어 있는 토폴로지 변경 통지 BPDU 파라미터와 동등한 정보를 저장하는 영역이다.
FCS (2206) 는 프레임 체크 시퀀스를 저장하는 영역이다.
GVRP 라는 것은, 태그 그룹의 관리, 현재 시스템과 예비 시스템의 식별, 및 노드들 사이에서의 다양한 설정 정보의 교환를 위해 송/수신되는 제어 프레임을 의미한다.
확장 태그 프레임 (3300 및 3400) 및 다른 프레임의 포맷이 도 53 에 도시되어 있다. 또한, 이후, 도 4 에 도시되어 있는 확장 태그 프레임 (3500∼3508) 의 프레임 포맷은 확장 태그 프레임 포맷 (1) 이라고 칭하고, 도 53 에서 후술되는 프레임 포맷은 확장 태그 프레임 포맷 (2) 라고 칭한다.
도 53 의 상부는 VLAN 태그 (3203) 의 상세한 프레임 포맷을 도시한 것이다. 값 "0 x 8100" 이 TPID (태그 프로토콜 식별자; 2800) 에 설정되어 있다. 또한, 비록 표준에는 일치하지 않지만, 값 "0 x 9100" 이 사용될 수도 있다. 또한, TCI (2801) 는 우선순위 필드 (2802), CFI (2803) 및 VLAN-ID 필드 (2804) 로 이루어진다.
프레임의 우선순위는 우선순위 필드 (2802) 에 저장되며, 그 우선순위의 값은 IEEE 802.1p 에 규정되어 있다. 또한, 특별한 라우팅 정보의 존재/부재 또는 MAC 어드레스의 포맷 타입을 나타내는 값은 CFI에 저장되며, VLAN-ID 는 VLAN-ID 필드 (2804) 에 저장된다.
한편, 도 53 의 하부에 도시되어 있는 확장 태그 프레임 포맷 (2) 에서, TPID (2800) 및 TCI (2801) 내의 CFI (2803) 는 VLAN 태그 (3203) 과 동일하며, 우선순위 필드 (2802) 는 우선순위/태그 타입 필드 (5003) 로 변경되고, VLAN-ID 필드 (2804) 는 확장 태그 정보 필드 (5004) 로 변경된다. 또한, 대응하는 필드의 사이즈는 동일하다.
본 확장 태그 프레임 포맷 (2) 에서, 확장 태그 (3500∼3508) 의 타입은 우선순위/태그 타입 필드 (5003) 에 저장된다. 확장 태그 (3500∼3508) 가 사용될 경우, IEEE 802.1p 를 지원하도록, 종래의 VLAN 태그 (3203) 의 우선순위 필드 (2802) (IEEE 802.1p) 에서의 우선순위 값의 일부가 확장태그 (3500∼3508) 의 타입으로서 사용된다.
좀더 자세하게는, 110, 100, 001, 000 은 확장 태그 (3500∼3508) 용으로 사용하고, 111 (예약용), 101 (대화형 멀티미디어용), 011 (중요한 애플리케이션용), 및 010 (표준 스트림용) 은 IEEE 802.1p 와 호환 가능하다.
따라서, 사용 가능한 확장 태그 (3500∼3508) 는 4개에 제한하고 있는데, 예를 들어, 포워딩 태그 (3500), 브로드캐스트 포워딩 태그 (508), 소비자 분리 태그 (3501), 및 OAM & P 태그 (3503) 를 사용하며, 우선순위 값과의 대응은 001 = 포워딩 태그(3500), 000 = 브로드캐스트 포워딩 태그 (3508), 110 = 소비자 분리 태그 (3501), 및 100 = OAM & P 태그 (3503) 이다. 이것은, 확장 태그가 식별되게 하며, IEEE 802.1p 에서의 4개의 우선순위가 지원되게 한다. 또한, 사용되는 확장 태그의 선택 및 대응하는 우선순위 값의 설정은 이 예에 한정되는 것은 아니다.
또한, 확장 태그 프레임 포맷 (2) 에서, 확장 태그 (3500∼3508) 의 태그 타입에 일치하는 어드레스 정보와 같은 정보는 확장 태그 정보 필드 (5004) 에 저장된다. 예를 들어, 수신지 노드의 어드레스 정보는 포워딩 태그 (3500) 에 저장되며, 소스 노드의 어드레스 정보는 브로드캐스트 포워딩 태그 (3508) 에 저장되며, 소비자의 식별 정보는 소비자 분리 태그 (3501) 에 저장된다.
(제 1 실시형태)
이하, 도면을 참조하여 본 발명의 제 1 실시형태를 상세히 설명한다.
도 7 을 참조하면, 본 발명의 제 1 실시형태는 노드 (11∼16), 클라이언트 (91∼96), 링크 (81∼86), 및 링크 (21∼28) 를 포함한다.
노드 (11) 는 프로그램 제어되는 CPU 등에 의해 실현되며, 다음의 기능을 가진다.
(1) 링크 (21) 또는 링크 (24) 로부터 도달된 프레임을 링크 (24) 또는 링크 (21) 에 포워딩함.
(2) 포워딩에 필요한 태그를 부가한 후에, 링크 (81) 로부터 도달된 프레임을 링크 (21) 또는 링크 (24) 에 포워딩함.
(3) 포워딩에 필요한 태그를 삭제한 후, 링크 (21) 또는 링크 (24) 로부터 도달된 프레임을 링크 (81) 에 포워딩함.
(4) 스패닝 트리를 구성하기 위하여 다른 노드와의 사이에서 제어 프레임을 송/수신하고, 필요에 따라 링크의 포트를 폐쇄함.
(5) 링크를 흐르는 프레임의 유량을 모니터링함.
노드 (12∼16) 는 노드 (11) 와 동일한 노드이다. 이후, 비록 노드 (11∼16)의 대표로서 노드 (11) 를 사용하여 설명하지만, 노드 (11) 에 관한 설명은, 특별히 언급하지 않으면, 다른 노드들 (12∼16) 에 대해서도 동일하게 달성될 수 있다.
클라이언트 (91) 는 하나 이상의 클라이언트의 집합이며, 링크 (81) 를 통하여 노드 (11) 와의 사이에서 프레임을 송/수신하는 기능을 가진다.
클라이언트 (92∼96) 는 클라이언트 (91) 와 동일한 클라이언트 그룹이다. 이후, 비록 클라이언트 (91∼96) 의 대표로서 클라이언트 (91) 를 사용하여 설명하지만, 클라이언트 (91) 에 관한 설명은, 특별히 언급하지 않으면, 다른 클라이언트 (92∼96) 에도 동일하게 적용 가능하다.
링크 (81) 는, 클라이언트 (91) 로부터 노드 (11) 까지, 및 노드 (11) 로부터 클라이언트 (91) 까지를 접속시키는 양방향 링크이다.
링크 (82∼86) 는 링크 (81) 와 동일한 링크이다. 이후, 비록 링크 (81∼86) 의 대표로서 링크 (81) 를 사용하여 설명하지만, 링크 (81) 에 관한 설명은, 특별히 언급하지 않으면, 다른 링크 (82∼86) 에도 동일하게 적용 가능하다.
링크 (21) 는, 노드 (11) 로부터 노드 (12) 까지, 및 노드 (12) 로부터 노드 (11) 까지를 접속시키는 양방향 링크이다.
링크 (22∼26) 는 링크 (21) 와 동일한 링크이다. 이후, 비록 링크 (21∼26) 의 대표로서 링크 (21) 를 사용하여 설명하지만, 링크 (21) 에 관한 설명은, 특별히 언급하지 않으면, 다른 링크 (22∼26) 에도 동일하게 적용 가능하다.
도 8 는 노드 (11) 의 구성을 상세히 나타낸 도면이다. 노드 (11) 는 프레임 포워딩 유닛 (111), 태그 삽입 유닛 (112), 태그 삭제 유닛 (113), 포워딩 테이블(114), 분별기(1150), 트리 매니저 (1151), 트리 매니저 (1152), 트리 선택기 (116), 태그 테이블 (117), 및 구성 인터페이스 (118) 을 포함한다.
프레임 포워딩 유닛 (111) 은 링크 (21) 또는 링크 (24) 및 태그 삽입 유닛 (112) 으로부터 수신된 프레임을, 포워딩 테이블 (114) 내의 설명에 따라, 링크 (21) 또는 링크 (24), 및 태그 삭제 유닛 (113) 또는 트리 선택기 (116) 에 포워딩한다.
태그 삽입 유닛 (112) 은, 태그 테이블 (117) 내의 설명에 따라, 링크 (81) 로부터 수신된 프레임으로 태그를 삽입하고, 프레임 포워딩 유닛 (111) 에 포워딩한다. 또한, 태그 테이블 (117) 내의 설명에 기초하여, 태그를 삽입하지 않고서, 수신된 프레임을 프레임 포워딩 유닛 (111) 에 포워딩할 수도 있을 뿐만 아니라, 0 개 이상의 복수의 태그를 동일한 프레임에 삽입하고, 도달된 프레임을 복사하고, 0 개 이상의 동일하거나 상이한 태그를 복사된 프레임 각각에 삽입할 수도 있다.
태그 삭제 유닛 (113) 은, 프레임 포워딩 유닛 (111) 으로부터 수신된 프레임에 부가되는 태그를 삭제하여 그것을 링크 (81) 에 포워딩한다. 또한, 설정에 의존하여, 태그를 삭제하지 않고서, 수신된 프레임을 링크 (81) 에 포워딩할 수도 있다.
프레임 포워딩 유닛 (111) 에 응답하여, 포워딩 테이블 (114) 은, MAC 어드레스, 태그 또는 입력 포트 이외에, 프레임 포워딩 수신지 포트들의 하나 이상의 조합을 키로서 취함으로써 하나 이상의 프레임 포워딩 수신지 포트를 반환한다. 키 및 포워딩 수신지 포트는 트리 매니저 (1151) 또는 트리 매니저 (1152) 에 의해 설정된다.
분별기 (1150) 는, 수신된 프레임의 태그에 따라 출력 수신지 포트를 결정하고, 그 프레임을 트리 매니저 (1151) 또는 트리 매니저 (1152) 에 포워딩한다. 트리 매니저 (1151) 또는 트리 매니저 (1152) 에 어떤 태그가 부가된 프레임을 전송할까는 트리 선택기 (116) 에 의해 설정될 수 있다.
트리 매니저 (1151) 는 트리 선택기 (116) 의 명령에 따르며, 스패닝 트리 알고리즘을 이용하여 분별기 (1150) 로부터 BPDU 를 수신하고, 프레임 포워딩 유닛 (111) 으로 BPDU 를 송신하여 포워딩 테이블 (114) 을 설정한다. 또한, 트리 매니저는 트리 선택기 (116) 로부터 설정 정보를 수신하고, BPDU 의 파라미터로서 이용한다. 또한, 트리 매니저는 BPDU 에 포함되는 제어 정보를 추출하고, 그 정보를 트리 선택기 (116) 에 통지한다.
트리 매니저 (1152) 는 트리 매니저 (1151) 와 동일한 트리 매니저이다. 이후, 비록 트리 매니저 (1151∼1152) 의 대표로서 트리 매니저 (1151) 를 사용하여 설명하지만, 트리 매니저 (1151) 에 관한 설명은, 특별히 언급하지 않으면, 트리 매니저 (1152) 에도 동일하게 적용 가능하다.
트리 선택기 (116) 는 프레임 포워딩 유닛 (111) 으로부터의 GVRP, 트리 매니저 (1151 또는 1152) 로부터의 BPDU 에 포함되는 제어 정보, 및 자원 모니터 (119) 로부터의 링크 정보의 통지와 같은 설정 프레임, 또는 구성 인터페이스 (118) 로부터의 설정 통지를 수신하고, 그 통지에 포함되는 정보 또는 설정 프레임에 따라 트리 매니저 (1151), 트리 매니저 (1152), 태그 테이블 (117) 을 설정한다. 또한, 설정 프레임을 프레임 포워딩 유닛 (111) 으로 송신한다.
태그 삽입 유닛 (111) 으로부터의 문의에 응답하여, 태그 테이블 (117) 은, 삽입될 태그에 대한 정보, 또는 태그 삽입 유닛 (112) 으로 태그를 추가하지 않고도 포워딩하는 명령을 반환한다. 삽입될 태그 또는 태그를 추가하지 않고 포워딩하는 명령은 트리 선택기 (116) 에 의해 설정된다. 동일한 프레임에 0 개 이상의 복수의 태그를 삽입하는 설정, 또는 도달한 프레임을 복사하고 복사한 프레임들 각각에 0 개 이상의 복수의 동일하거나 상이한 태그를 삽입하는 설정이 가능하다.
구성 인터페이스 (118) 는, 트리 선택 명령, 노드 삭제 요청, 링크 비용, 스패닝 트리 파라미터 값 등을 사용자로부터, 시리얼 접속 또는 TELNET 과 같은 명령 라인 인터페이스 또는 웹 서버를 통하여, 트리 선택기 (116) 로 전달한다.
자원 모니터 (119) 는 노드의 각 링크 포트의 상태를 모니터링하고, 링크의 접속을 검출할 경우, 링크업 (linkup) 통지를 트리 선택기 (116) 에 송신한다. 또한, 자원 모니터는, 링크를 통과하는 프레임의 누산 바이트의 수, 경과 TCP 세션의 수, HTTP 요청의 수 중 하나 이상의 값을 카운트 및 보유하고, 트리 선택기 (116) 의 요청 시에, 보유된 값을 트리 선택기 (116) 에 통지하는 것 이외에, 트리 선택기 (116) 로부터의 명령 시에 보유하고 있는 값을 제로 (0) 로 리셋한다. 또한, 자원 모니터는, 트리 선택기 (116) 에 의해 미리 지정된 타입의 프레임 통과를 모니터링하고, 모니터링되는 프레임이 통과할 때, 트리 선택기 (116) 에 통지한다.
도 9 는 본 실시형태의 도 8 에서의 포워딩 테이블 (114) 의 구성인데, 여기서, 출력 포트는 태그를 키로서 취함으로써 결정된다.
탐색용 인덱스로서 제공되는 필드인 태그 필드 (1141) 는, 이 필드 내의 정보가 수신 프레임의 태그에 기재되어 있는 내용과 일치하는지 여부를 체크한다.
출력 포트 (1142) 는, 수신된 프레임의 태그에 기재되어 있는 내용이 필드 (1141) 의 내용과 일치한 경우에 그 프레임을 어느 포트에 포워딩해야 하는지를 설명하는 필드이다.
또한, 본 동작예에 나타낸 바와 같은 태그의 내용에 따라 포워딩 수신지 포트를 결정하도록 태그 포워딩이 수행되는 경우 뿐만 아니라, MAC 어드레스에 따라 포워딩 수신지를 결정하는 통상의 MAC 어드레스 포워딩과 같은 경우에도, 본 실시형태가 적용 가능하다. 이 경우, 복수의 포트들이 출력 포트 필드 (1142) 에 기재된다.
도 10 은 본 발명의 제 1 실시형태의 도 8 에서의 트리 매니저 (1151) 의 구성을 상세히 나타낸 도면이다. 트리 매니저 (1151) 는 태그 삭제 유닛 (11511), BPDU 송/수신기 (11512), 태그 삽입 유닛 (11513), 트리 제어기 (11514), 및 트리 테이블 (11515) 을 포함한다.
태그 삭제 유닛 (11511) 은 분별기 (1150) 에 의해 입력된 프레임에 삽입되어 있는 태그를 삭제하고, BPDU 송/수신기 (11512) 에 포워딩한다. 만약 분별기 (1150) 로부터 수신된 프레임에 태그가 부착되어 있지 않으면, 태그 삭제 유닛 (11511) 은 수신된 프레임을 그대로 BPDU 송/수신기 (11512) 에 포워딩한다.
BPDU 송/수신기 (11512) 는 태그 삭제 유닛 (11511) 으로부터 BPDU 를 수신하고, 프레임에 포함되는 정보를 BPDU 수신 통지를 통하여 트리 제어기 (11514) 에 통지한다. 또한, 트리 제어기 (11514) 로부터 BPDU 송신 통지를 수신하고, 프레임을 생성하여 태그 삽입 유닛 (11513) 으로 송신한다.
태그 삽입 유닛 (11513) 은 BPDU 송/수신기 (11512) 로부터 프레임을 수신하고, 미리 설정되어 있는 태그를 삽입하고, 프레임 포워딩 유닛 (111) 으로 송신한다. 또한, 태그를 삽입하지 않고서, 프레임을 그대로 포워딩하는 설정도 가능하다.
트리 제어기 (11514) 는 다음의 4개의 기능을 가진다.
(1) 정지동작 (초기 상태): 트리 선택기 (116) 로부터의 정지 명령에 따라, BPDU 송/수신기 (11512) 로의 BPDU 송신 통지를 정지시킴. 또한, 모든 링크가 다운 (down) 하고 있다는 것으로서 트리 테이블 (11515) 에 포트의 상태를 등록함.
(2) 시작 동작: 트리 선택기 (116) 로부터의 시작 명령에 따라, BPDU 송/수신기 (11512) 로의 BPDU 송신 통지를 시작함. 또한, 시작 명령에 포함되는 정보에 기초하여, 트리 테이블 (11515) 에 업 (up) 상태의 포트를 등록함.
(3) BPDU 수신 동작: BPDU 송/수신기 (11512) 로부터의 BPDU 수신 통지를 수신하고, 트리 테이블 (11515) 을 업데이트함. 또한, BPDU 수신 통지에 포함되는 현재 시스템 트리 및 예비 시스템 트리의 식별 정보를 추출하고, 트리 선택기 (116) 내의 메인 제어기 (1164) 에 통지함.
(4) 토폴로지 업데이트 동작: 정지 동작, 시작 동작, 및 BPDU 수신 동작 이후에, 종래 기술 1 또는 2 에 도시되어 있는 스패닝 트리 프로토콜에 따른 트리 테이블 (11515) 을 참조하고, 필요할 경우, 트리 테이블 (11515) 및 포워딩 테이블 (114) 을 설정하고, BPDU 를 송신함. 송신되는 BPDU 에는, 현재 시스템 트리 및 예비 시스템 트리의 식별 정보가 포함됨. 또한, 트리의 재계산 결과로서 토폴로지가 변경되었는지 여부를 트리 선택기 (116) 에게 통지함.
트리 테이블 (11515) 은, 종래 기술 1 또는 2 에 도시되어 있는 스패닝 트리프로토콜에 필요하고, 포트의 상태 및 노드의 상태와 관련된 파라미터가 설명되어 있는 테이블이다. 또한, 각 포트 또는 링크의 우선순위 및 링크 비용이 이 테이블에 설명되어 있다. 제 1 실시형태에서는, 링크 대역의 폭이 링크 비용으로서 사용된다고 가정하는 경우를 설명한다.
도 11 은 본 발명의 제 1 실시형태의 도 8 에서의 트리 선택기 (116) 의 구성을 상세히 나타낸 도면이다. 트리 선택기 (116) 는 태그 삭제 유닛 (1161), GVRP 송/수신기 (1162), 태그 삽입 유닛 (1163), 메인 제어기 (1164), 안정 타이머 (1165), 도달 간격 타이머 (1166) 를 포함한다.
태그 삭제 유닛 (1161) 은, 프레임 포워딩 유닛 (111) 으로부터 입력된 프레임에 삽입되어 있는 태그를 삭제하고, GVRP 송/수신기 (1162) 에 포워딩한다. 만약 프레임 포워딩 유닛 (111) 으로부터 수신된 프레임에 태그가 부착되어 있지 않으면, 수신된 프레임을 그대로 GVRP 송/수신기 (1162) 에 포워딩한다.
GVRP 송/수신기 (1162) 는 태그삭제 유닛 (1161) 으로부터 제어 프레임을 수신하고, 프레임에 포함되는 정보를 GVRP 프레임 수신 통지를 통하여 메인 제어기 (1164) 에 통지한다. 또한, 메인 제어기 (1164) 로부터 GVRP 송신 통지를 수신하고, 프레임을 생성하여 태그 삽입 유닛 (1163) 으로 송신한다.
태그 삽입 유닛 (1163) 은 GVRP 송/수신기 (1162) 로부터 프레임을 수신하고, 미리 설정되어 있는 태그를 삽입하고, 프레임 포워딩 유닛 (111) 으로 송신한다. 또한, 태그를 삽입하지 않고서, 프레임을 그대로 포워딩하는 설정도 가능하다.
메인 제어기 (1164) 는 다음의 4개의 기능을 가진다.
(1) 링크업 (linkup) 검출: 자원 모니터 (119) 로부터 링크업 통지를 수신하고, 현재에 예비 시스템인 트리 매니저에게 링크업 (시작 명령) 을 통지함. 업 상태에 있는 링크의 정보가 시작 명령에 저장됨. 또한, 시작 명령을 송신한 후에, 안정 타이머 (1165) 를 설정함. 안정 타이머 (1165) 의 만료 통지를 수신할 때, 태그 테이블 (117) 에게 삽입 태그의 변경 명령을 통지하고, 또한, 예비 시스템 및 현재 시스템의 등록을 반전시키기 위하여, 트리 스위치 요청 프레임을 신규한 트리의 루트 노드로 송신하도록 GVRP 송/수신기 (1162) 에게 명령함. 또한, 안정 타이머 (1165) 를 설정하고, 타이머 만료 이후에 자신의 노드를 이전의 트리에 추가함.
(2) 노드 삭제 요청의 수신: 구성 인터페이스 (118) 로부터 노드 삭제 요청 통지를 수신할 때, 현재에 예비 시스템인 트리 매니저로 정지 명령을 송신함. 또한, 정지 명령을 송신한 후에, 안정 타이머 (1165) 를 설정하고 안정 타이머 (1165) 의 만료 통지를 수신할 때, 메인 제어기는 태그 테이블 (117) 에게 삽입 태그 변경 명령을 통지하고, 또한, 예비 시스템 및 현재 시스템의 등록을 반전시키기 위하여, 이용 태그 그룹 GVRP 프레임을 신규한 트리의 루트 노드로 송신하도록 GVRP 송/수신기 (1162) 에게 명령함. 또한, 안정 타이머 (1165) 를 설정하고, 타이머 만료 이후에, 구성 인터페이스 (118) 에 대하여 자신의 노드의 삭제 허가를 표시함.
(3) 이용 태그 그룹 GVRP 수신의 변경: 자신의 노드가 신규한 트리의 루트 노드인 경우, 이용 태그 그룹 GVRP 프레임의 변경을 수신하면, 현재 시스템 플래그를 추가한 후, 자신의 노드로부터 송신될 BPDU 를 송신하도록 트리 매니저 (1151) 또는 트리 매니저 (1152) 에게 명령함. 또한, 현재 시스템 플래그의 이전 트리의 루트 노드로의 부착을 취소하도록 GVRP 송/수신기 (1162) 에게 명령함.
(4) 현재 시스템 비트 변경통지의 수신: 트리 매니저 (1151) 또는 트리 매니저 (1152) 는 BPDU 를 수신할 때에 BPDU에 부가된 현재 시스템 플래그를 체크하고, 자신의 그룹이 현재 시스템인지 아니면 예비 시스템인지를 체크하여, 메인 제어기에게 통지함. 통지를 수신한 후, 만약 현재 시스템 및 예비 시스템에 변경이 있으면, 메인 제어기는 삽입 태그의 변경 통지를 태그 테이블 (117) 로 송신하여, 현재 시스템 및 예비 시스템의 등록을 반전시킴.
(5) 특정 프레임의 통과 통지의 수신: 미리 설정된 모니터링 대상 프레임이 통과하였음을 나타내는 통지를 자원 모니터 (119) 으로부터 수신하면, 설정 통지를 도달 간격 타이머 (1166) 로 송신함. 도달 간격 타이머 (1166) 로부터 타이머 만료 통지가 도달하면, 모니터링 대상 프레임의 도달 간격이 설정 통지에 의해서 설정된 시간보다 더 길다는 것을 알 수 있음. 이것에 의해, BPDU 의 도달 간격이 더 길게 된다는 것 또는 예비 시스템을 통하여 흐르는 프레임의 도달 간격이 더 길게 된다는 것을 검출할 수 있음.
안정 타이머 (1165) 는, 메인 제어기 (1164) 에 의해 송신된 설정 통지의 수신 이후로 미리 설정된 시간이 경과한 이후에 타이머 만료 통지를 메인 제어기 (1164) 로 송신한다.
메인 제어기 (1164) 로부터 설정 명령을 수신하면, 도달 간격 타이머 (1166) 는, 현재 유지하고 있는 시간을 제로 (0) 로 리셋하고, 타이머를 활성화시키고, 설정 명령에 의해서 특정된 시간이 경과한 후, 타이머 만료 통지를 메인 제어기 (1164) 로 송신한다.
도 12 는, 본 발명의 제 1 실시형태의 도 11에서의 메인 제어기 (1164) 의 상태 천이를 상세히 나타낸 도면이다.
이후, 존재하는 2 시스템의 스패닝 트리 중, 네트워크에 신규하게 삽입되는 데이터 프레임의 포워딩에 이용되는 스패닝 트리는 현재 트리 또는 현재 시스템 트리라고 지칭하며, 현재 트리가 아닌 스패닝 트리는 예비 트리 또는 예비 시스템 트리라고 지칭한다.
또한, 현재 시스템 트리를 생성하는 트리 매니저는 현재 시스템 트리 매니저라고 지칭하며, 예비 시스템 트리를 생성하는 트리 매니저는 예비 시스템 트리 매니저라고 지칭한다.
상태 (11641) 는, 현재 시스템 트리 매니저가 트리 매니저 (1151) 이거나 트리 매니저 (1152) 가 결정될 수 없는 상태이며, 또한, 트리 매니저 (1151) 내의 BPDU 송/수신기 (11512) 및 트리 매니저 (1152) 내의 BPDU 송/수신기 (11522) 의 송신 기능이 디스에이블이고, BPDU 수신 기능만이 인에이블인 상태이다.
상태 (11642) 는, 현재 시스템 트리 매니저가 트리 매니저 (1151) 이고 예비 시스템 트리 매니저는 트리 매니저 (1152) 인 상태이며, 또한, 트리 매니저 (1151) 내의 BPDU 송/수신기 (11512) 의 BPDU 송신 기능이 디스에이블이고 트리 매니저 (1152) 내의 BPDU 송/수신기 (11522) 의 BPDU 송신 기능 또한 디스에이블인 상태이다. 또한, BPDU 송/수신기 (11512) 및 BPDU 송/수신기 (11522) 의 BPDU 수신 기능은, 송신 기능의 인에이블 또는 디스에이블에 관계없이 항상 인에이블이다.
상태 (11643) 는, 현재 시스템 트리 매니저가 트리 매니저 (1151) 이고 예비 시스템 트리 매니저는 트리 매니저 (1152) 인 상태이며, 또한, 트리 매니저 (1151) 내의 BPDU 송/수신기 (11512) 의 BPDU 송신기능이 디스에이블이고 트리 매니저 (1152) 내의 BPDU 송/수신기 (11522) 의 BPDU 송신기능은 인에이블인 상태이다. 또한, BPDU 송/수신기 (11512) 및 BPDU 송/수신기 (11522) 의 BPDU 수신 기능은, 송신 기능의 인에이블 또는 디스에이블에 관계없이 항상 인에이블이다.
상태 (11644) 는, 현재 시스템 트리 매니저가 트리 매니저 (1152) 이고 예비 시스템 트리 매니저는 트리 매니저 (1151) 인 상태이며, 또한, 트리 매니저 (1152) 내의 BPDU 송/수신기 (11522) 의 BPDU 송신기능이 인에이블이고 트리 매니저 (1151) 내의 BPDU 송/수신기 (11512) 의 BPDU 송신기능은 디스에이블인 상태이다. 또한, BPDU 송/수신기 (11512) 및 BPDU 송/수신기 (11522) 의 BPDU 수신 기능은, 송신 기능의 인에이블 또는 디스에이블에 관계없이 항상 인에이블이다.
상태 (11645) 는, 현재 시스템 트리 매니저가 트리 매니저 (1152) 이고 예비 시스템 트리 매니저는 트리 매니저 (1151) 인 상태이며, 또한, 트리 매니저 (1152) 내의 BPDU 송/수신기 (11522) 의 BPDU 송신기능이 인에이블이고 트리 매니저 (1151) 내의 BPDU 송/수신기 (11512) 의 BPDU 송신기능 또한 인에이블인 상태이다. 또한, BPDU 송/수신기 (11512) 및 BPDU 송/수신기 (11522) 의 BPDU 수신 기능은, 송신 기능의 인에이블 또는 디스에이블에 관계없이 항상 인에이블이다.
상태 (11646) 는, 현재 시스템 트리 매니저가 트리 매니저 (1151) 이고 예비 시스템 트리 매니저는 트리 매니저 (1152) 인 상태이며, 또한, 트리 매니저 (1151) 내의 BPDU 송/수신기 (11512) 의 BPDU 송신기능이 인에이블이고 트리 매니저 (1152) 내의 BPDU 송/수신기 (11522) 의 BPDU 송신기능 또한 인에이블인 상태이다. 또한, BPDU 송/수신기 (11512) 및 BPDU 송/수신기 (11522) 의 BPDU 수신 기능은, 송신 기능의 인에이블 또는 디스에이블에 관계없이 항상 인에이블이다.
상태 (11647) 는, 현재 시스템 트리 매니저가 트리 매니저 (1151) 이고 예비 시스템 트리 매니저는 트리 매니저 (1152) 인 상태이며, 또한, 트리 매니저 (1151) 내의 BPDU 송/수신기 (11512) 의 BPDU 송신기능이 인에이블이고 트리 매니저 (1152) 내의 BPDU 송/수신기 (11522) 의 BPDU 송신기능은 디스에이블인 상태이다. 또한, BPDU 송/수신기 (11512) 및 BPDU 송/수신기 (11522) 의 BPDU 수신 기능은, 송신 기능의 인에이블 또는 디스에이블에 관계없이 항상 인에이블이다.
상태 (11648) 는, 현재 시스템 트리 매니저가 트리 매니저 (1152) 이고 예비 시스템 트리 매니저는 트리 매니저 (1151) 인 상태이며, 또한, 트리 매니저 (1152) 내의 BPDU 송/수신기 (11522) 의 BPDU 송신기능이 디스에이블이고 트리 매니저 (1151) 내의 BPDU 송/수신기 (11512) 의 BPDU 송신기능은 인에이블인 상태이다. 또한, BPDU 송/수신기 (11512) 및 BPDU 송/수신기 (11522) 의 BPDU 수신 기능은, 송신 기능의 인에이블 또는 디스에이블에 관계없이 항상 인에이블이다.
상태 (11649) 는, 현재 시스템 트리 매니저가 트리 매니저 (1152) 이고 예비 시스템 트리 매니저는 트리 매니저 (1151) 인 상태이며, 또한, 트리 매니저 (1152) 내의 BPDU 송/수신기 (11522) 의 BPDU 송신기능이 디스에이블이고 트리 매니저 (1151) 내의 BPDU 송/수신기 (11512) 의 BPDU 송신기능 또한 디스에이블인 상태이다. 또한, BPDU 송/수신기 (11512) 및 BPDU 송/수신기 (11522) 의 BPDU 수신 기능은, 송신 기능의 인에이블 또는 디스에이블에 관계없이 항상 인에이블이다.
다음으로, 도 12 를 참조하여, 메인 제어기 (1164) 의 동작을 설명한다.
자원 모니터 (119) 로부터 네트워크에 신규하게 접속된다는 통지를 수신하면, 메인 제어기 (1164) 는 트리 매니저 (1151) 또는 트리 매니저 (1152) 로부터의 현재 시스템 통지의 도달을 기다린다. 트리 매니저 (1151) 또는 트리 매니저 (1152) 로부터 BPDU 에 포함되는 현재 시스템 통지를 수신하면, 메인 제어기 (1164) 는, 그 통지에서 특정된 트리 매니저 (1151) 또는 트리 매니저 (1152) 를 현재용으로 설정하고, 예비용에 특정된 트리 매니저 (1151 또는 1152) 를 예비용으로 설정하고, 상태 (11642) 또는 상태 (11649) 로 천이한다. 여기에서는, 비록 상태 (11642) 로 천이하는 경우를 예로서 설명하지만, 다음의 설명은 상태 (11649) 로 천이하는 경우에도 동일하다 (상태 (11641)).
메인 제어기 (1164) 는 트리 매니저 (1151) 를 현재용으로 설정하고, 트리 매니저 (1152) 를 예비용에 설정한다. 또한, 트리 매니저 (1151 및 1152) 각각으로 BPDU 송신 정지 명령을 송신한다 (상태 (11642)).
상태 (11642) 에서, 메인 제어기 (1164) 가 구성 인터페이스 (118) 로부터 노드 추가 요청을 수신하는 경우에는, 상태 (11643) 로 천이한다. 트리 매니저 (1151) 또는 트리 매니저 (1152) 로부터 현재 시스템 통지를 수신하거나 현재 시스템과 예비 시스템과의 관계에 변경이 있는 경우에는, 상태 (11649) 로 천이한다 (상태 (11642)).
메인 제어기 (1164) 는 링크업 통지를 트리 매니저 (1152) 로 송신함과 동시에, 트리 매니저 (1152) 에게 BPDU 의 송신을 인가한다. 또한, 안정 타이머 (1165) 를 활성화시킨다 (상태 (11643)).
안정 타이머 (1165) 로부터 타이머 만료 통지를 수신하면, 메인 제어기 (1164) 는, 현재용으로서 등록되어 있는 트리 매니저 (1151) 를 예비용에 등록되어 있는 트리 매니저 (1152) 로 대체하여, 트리 매니저 (1152) 를 새롭게 현재용이 되게 하고 트리 매니저 (1151) 를 예비용이 되게 한다. 또한, 태그 그룹 변경 통지를 GVRP 송/수신기 (1162) 를 통하여 신규한 트리의 루트 노드로 송신한다. 그 태그 그룹 변경 통지의 내용은 BPDU 에 반영되고, 모든 노드에 전달된다. 그 후, 안정 타이머 (1165) 를 활성화시킨다 (상태 (11644)).
안정 타이머 (1165) 로부터 타이머 만료 통지를 수신하면, 메인 제어기 (1164) 는 링크업 통지를 트리 매니저 (1151) 로 송신함과 동시에, 트리 매니저 (1152) 에게 BPDU의 송신을 인가한다. 통상적으로, 이 상태로 안정적이다 (상태 (11645)).
상태 (11645) 에서, 메인 제어기 (1164) 가 트리 매니저 (1151) 또는 트리 매니저 (1152) 로부터 BPDU 에 포함된 현재 시스템 통지를 수신하거나 현재 시스템과 예비 시스템과의 관계에 변경이 있는 경우에는, 상태 (11646) 로 천이한다. 그 후, 메인 제어기는, 현재용으로서 등록되어 있는 트리 매니저 (1152) 를 예비용에 등록되어 있는 트리 매니저 (1151) 로 대체하여, 트리 매니저 (1151) 를 새롭게 현재용이 되게 하고 트리 매니저 (1152) 를 예비용이 되게 한다 (상태 (11645)).
상태 (11645) 에서, 메인 제어기 (1164) 가 구성 인터페이스 (118) 로부터 노드 삭제 요청을 수신하는 경우에는, 상태 (11644) 로 천이한다 (상태 (11645)).
메인 제어기 (1164) 는, 접속되어 있는 모든 링크의 링크 다운 (link down) 을 트리 매니저 (1151) 에게 통지함과 동시에, BPDU의 송신 정지 명령을 트리 매니저 (1151) 로 송신한다. 또한, 안정 타이머 (1165) 를 활성화시킨다 (상태 (11644)).
안정 타이머 (1165) 로부터 타이머 만료 통지를 수신하면, 메인 제어기 (1164) 는, 현재용으로서 등록되어 있는 트리 매니저 (1152) 를 예비용에 등록되어 있는 트리 매니저 (1151) 로 대체하여, 트리 매니저 (1151) 를 새롭게 현재용이 되게 하고 트리 매니저 (1152) 를 예비용이 되게 한다. 또한, 태그 그룹 변경 통지를 GVRP 송/수신기 (1162) 를 통하여 신규한 트리의 루트 노드로 송신한다. 그 태그 그룹 변경 통지의 내용은 BPDU 에 반영되고, 모든 노드에 전달된다. 그 후, 안정 타이머 (1165) 를 활성화시킨다 (상태 (11643)).
안정 타이머 (1165) 로부터 타이머 만료 통지를 수신하면, 메인 제어기 (1164) 는 링크 다운 통지를 트리 매니저 (1151) 에게 통지함과 동시에, BPDU의 수신 정지 명령을 트리 매니저 (1151) 로 송신한다. 또한, 상태 (11641) 로 무조건으로 천이하고, 노드가 분리될 때까지 대기한다 (상태 (11642)).
도 13 은 본 실시형태의 도 8 에서의 태그 테이블 (117) 의 구성예로서, 수신지 MAC 어드레스를 키로서 삽입하는 태그를 결정하는 것이다.
탐색용 인덱스로서 제공되는 필드인 수신지 MAC 어드레스 (1171) 는, 이 필드의 정보가 수신 프레임의 수신지 MAC 어드레스 필드, 즉, MAC DA 필드에 기재되어 있는 내용과 일치하는지 여부를 체크하고, 일치하면, 삽입 태그 필드 (1172) 에 기재된 태그를 수신 프레임에 삽입한다.
삽입 태그 필드 (1172) 는, 삽입해야 할 태그가 수신지 MAC 어드레스 필드 (1171) 에 관하여 기재되는 필드이다. 본 실시형태에서는, 현재에 현재 시스템으로 되어 있는 태그 그룹의 태그가 삽입된다. 그 삽입 태그 필드 (1172) 는 현재에 현재 시스템으로 되어 있는 태그에, 트리 선택기 (116) 에 의해 다시 기재된다.
도 8, 14, 15 및 16 을 참조함으로써, 본 실시형태에서 노드 (17) 를 추가하는 동작에 대해 구체적인 예를 사용하여 상세히 설명한다.
초기 상태 (노드 (17) 가 링크 (29 및 30) 에 접속되기 전의 상태) 에서, 2 시스템의 스패닝 트리는 동일한 접속관계에 있다. 동일한 접속관계는, 스패닝 트리를 설정하는 프로토콜이 스패닝 트리를 설정하기 위한 노드 및 링크의 우선순위와 같은 정보에 기초하는 것과 동일의 네트워크에서 2 개의 스패닝 트리를 설정하는 것으로부터 기인한다. 이 초기 상태에서, 스패닝 트리 중 하나는 현재용으로 설정하고, 다른 것은 예비용으로 설정하며 (좀더 자세하게는, 트리 매니저 (1151 및 1152) 는 트리 테이블 (11515) 을 다시 기재하고, 트리 선택기 (116) 는 태그 테이블 (117) 을 다시 기재하여 각각의 설정을 수행함), 네트워크는 현재 스패닝 트리를 사용하여 운용된다.
도 10 에 도시되어 있는 네트워크에서 굵은 선으로 도시되어 있는 2 개의 스패닝 트리 (51) 가 초기 상태에 설정된다고 가정한다.
도 14 를 참조하면, 본 동작예는 노드 (11∼17), 링크 (21∼30), 및 트리 (51) 를 가진다. 그러나, 노드 (17) 및 링크 (29 및 30) 는 초기 상태에서 접속되어 있지 않다.
또한, 도 15 는, 노드(17) 가 본 동작예에서 추가된 후의 스패닝 트리 (52) 의 상태를 도시한 것이다. 트리 (52) 는 도 11 에서 굵은선으로 도시되어 있다.
모든 포트가 속하는 2 개의 태그 그룹, 및 노드 (11∼16) 의 모든 노드가 이미 설정되어 있으며, 제 1 태그 그룹은 태그 그룹 (41) 이라고 칭하고, 제 2 태그 그룹은 태그 그룹 (42) 라고 칭한다.
또한, 기본적으로는 모든 노드 및 모든 포트가 제 2 태그 그룹에 가입되지만, 포트 또는 노드의 일부만으로 이루어진 태그 그룹이 생성될 수도 있다. 이후에는, 모든 노드 및 모든 포트가 2 개의 태그 그룹에 가입하는 것으로 가정하고 설명한다.
노드 (11∼16) 는, 독립적으로 동작하는 2 개의 스패닝 트리 회로를 가지며, 태그 그룹 (41) 상에서 동작하는 스패닝 트리는 트리 (51) 라고 칭하고, 태그 그룹 (42) 상에서 동작하는 스패닝 트리는 트리 (52) 라고 칭한다.
스패닝 트리를 위해서는 2 개의 시스템이 생성되어야 하지만, 2 개의 태그 그룹을 생성할 필요는 없다. 또한, 오직 태그 그룹 (41) 만을 설정하고 태그 그룹 (42) 을 이용하지 않고서, 태그 그룹 (41) 상에서 동작하는 스패닝 트리를 트리 (51) 라고 지칭하고, 태그 그룹에 속하지 않고 동작하는 스패닝 그룹을 트리 (52) 라고 지칭할 수도 있다. 이와 대조적으로, 오직 태그 그룹 (42) 만을 설정하고 태그 그룹 (41) 을 이용하지 않고서, 태그 그룹에 속하지 않고 동작하는 스패닝 트리를 트리 (51) 라고 지칭하고, 태그 그룹 (42) 상에서 동작하는 스패닝 트리를 트리 (52) 라고 지칭할 수도 있다.
여기서는, 특히 태그 그룹 (41) 과 태그 그룹 (42) 모두를 사용하는 경우에 대하여 설명하지만, 태그 그룹 (41) 및 태그 그룹 (42) 모두를 사용하는 경우의 동작은, 태그 그룹 (41) 만을 사용하거나 태그 그룹 (42) 만을 사용한 경우에도 동일하게 적용 가능하다.
이 네트워크에서는, 구성 인터페이스 (118) 로부터의 초기 설정에 따라, 트리 (51) 는 현재 시스템 스패닝 트리가 되고 트리 (52) 는 예비 시스템 스패닝 트리가 되며, 트리 (51) 의 BPDU 에는 현재 시스템 플래그 및 태그 그룹 (41) 의 태그가 표기되고, 트리 (52) 의 BPDU 에는 예비 시스템 플래그 및 태그 그룹 (42) 의 태그가 표기된다.
모든 노드는 현재 시스템으로서 또는 예비 시스템으로서 플래그된 BPDU 프레임을 IEEE Std 802.1D 또는 IEEE Std 802.1w 에서 규정되는 일정한 주기로 송신하여, 트리 (51) 인 현재 시스템 스패닝 트리 및 트리 (52) 인 예비 시스템 스패닝 트리를 형성한다.
현재 시스템 플래그 또는 예비 시스템 플래그는, 도 5 에 도시되어 있는 BPDU 프레임 필드 중 태그 영역 (2203), 타입 (2204), 및 BPDU 타입 (22053) 과 같은 필드를 사용하여 표현될 수 있다.
현재, 네트워크의 시작 이래로 충분한 시간이 경과하였고 태그 그룹 (41) 및 태그 그룹 (42) 의 태그가 부가된 BPDU 프레임의 교환이 충분히 행해진 결과, 트리 (51) 및 트리 (52) 각각은, 모두에 대하여 루트 노드로서 제공되는 노드 (11) 에 의해 안정적이라고 가정한다.
안정이라는 것은, 스패닝 트리의 트리 구성이 충분히 연장된 시간 동안 변하지 않은 상태로 있는 상태를 의미한다.
트리 (51) 의 BPDU 에는 태그 그룹 (41) 의 태그가 표기되고, 트리 (52) 의 BPDU 에는 태그 그룹 (42) 의 태그가 표기된다. 좀더 자세하게는, 그 BPDU 가 태그 그룹 (41) 에 속하는 것을 나타내는 값은, 트리 (51) 를 사용하여 송신되는 BPDU 의 태그 영역 (2203) 에 기재되고, 그 BPDU 가 태그 그룹 (42) 에 속하는 것을 나타내는 값은, 트리 (52) 를 사용하여 송신되는 BPDU 의 태그영역 (2203) 에 기재된다.
또한, 현 시점에서, 트리 (51) 는 현재 시스템으로서 설정되어 있기 때문에, 클라이언트로부터 노드 (11∼16) 로 송신된 데이터에는, 태그 그룹 (41) 의 태그가 태그 삽입 유닛 (112) 에 의해 부가된다. 좀더 자세하게는, 데이터가 태그 그룹 (41) 에 속함을 나타내는 값은 데이터 신호의 태그 영역에 기재된다. 이 태그가 부가된 데이터는, 프레임 포워딩 유닛 (111) 에 의해서, 현 시점에서, 현재 시스템으로 설정되어 있는 트리 (51) 를 따라 포워딩된다.
링크 (29) 및 링크 (30) 에 접속될 경우, 노드 (17) 는 어떠한 태그 그룹에도 가입하지 않고도 BPDU 의 수신을 시작한다. (이 때, 노드 (17) 의 메인 제어기 (1164) 의 상태는 도 12 의 상태 (11641) 임).
각 태그 그룹의 BPDU 를 수신하면, 노드 (17) 는, 현 시점에서의 현재 시스템이 태그 그룹 (41) 이고 현 시점에서의 예비 시스템이 태그 그룹 (42) 임을 체크한다. (이 때, 노드 (17) 의 메인 제어기 (1164) 의 상태는 도 12 의 상태 (11642) 임). 또한, 자신의 노드를 오직 태그 그룹 (42) 에만 참가시켜 BPDU 를 송/수신하고 태그 그룹 (41) 이 송신하지 않고도 BPDU 를 수신만 하도록, 노드 (17) 은 자신의 노드를 설정한다. (이 때, 노드 (17) 의 메인 제어기 (1164) 의 상태는 도 12 의 상태 (11643) 임).
노드 (17) 가 추가될 때에 태그 그룹 (42) 의 멤버에 변경이 발생하기 때문에, 트리 (52) 를 업데이트하는 동작이 스패닝 트리 프로토콜에 의해 시작된다. 즉, 노드 (17) 가 BPDU를 송신하고, 인접 노드가 그것을 수신할 경우, 인접 노드는 토폴로지 상태가 변하였음을 인식하고, 트리 (52) 를 업데이트하는 동작을 시작한다. 태그 그룹 (41) 의 멤버에는 변경이 없기 때문에, 트리 (51) 는 업데이트되지 않는다.
태그 그룹 (41) 의 태그가, 이전처럼 각각의 노드 (11∼16) 에 의해서, 클라이언트에 의해 송신되는 프레임에 부가되며, 그 프레임은 트리 (51) 를 따라 계속 포워딩된다.
여기에서는, 트리 (52) 를 업데이트하는 동작을 통하여, 루트 노드로서 제공되는 노드 (11) 에 의해 트리 (52) 가 안정적이었다고 가정한다. 이 때의 트리 (52) 의 구성은 도 15 에 도시되어 있다.
노드 (17) 가 네트워크에 접속된 이래로 소정의 시간이 경과한 후, 노드 (17) 은, 트리 (52) 가 안정적이라고 결정하고, 트리 (52) 의 루트 노드로서 제공되는 노드 (11) 에 이용 태그 그룹 변경 통지를 송신하여, 트리 (52) 를 예비 시스템으로부터 현재 시스템으로 천이시키도록 명령한다. 이 명령을 위해서는, 예를 들어, 제어 프레임 (GVRP) 을 이용한다. (이 때, 노드 (17) 의 메인 제어기 (1164) 의 상태는 도 12 의 상태 (11644) 임).
또한, 노드 (17) 가 네트워크에 접속된 이래로 소정의 시간이 경과하였다는 사실에 의해 검출하는 것 이외에, 트리 (52) 가 안정적이라는 사실의 검출은, 노드 (17) 에서의 트리 (52) 의 BPDU 도달 간격이 소정 시간보다 더 길다는 사실에 의해서도 검출할 수도 있다.
이용 태그 그룹 변경 통지를 수신한 노드 (11) 는, 트리 (51) 의 루트 노드로서 제공되는 노드 (11) 로 그 태그 그룹 변경 통지를 송신하여, 트리 (51) 를 예비 시스템으로 천이시키도록 명령한다. 이 태그 그룹 변경 통지를 위해서는, 예를 들어, 제어 프레임 (GVRP) 을 이용한다. 또한, 노드 (11) 는 태그 그룹 (42) 의 태그를 부가하고, 트리 (52) 용으로 송신되는 BPDU 에 대하여 현재 시스템 플래그를 설정한다. 그 BPDU 는 각 노드에 의해 포워딩되면서 모든 노드에 전파된다.
트리 (51) 의 노드 (11) 는 그 태그 그룹 변경 통지를 수신하고, 트리 (51) 를 예비 시스템으로 천이시키고, 태그 그룹 (41) 의 플래그를 부가하고, 트리 (51) 용으로 송신되는 BPDU 에 대하여 예비 시스템 플래그를 설정한다. 그 예비 시스템 플래그는, 예를 들어, 도 1 의 BPDU 중 소정의 필드 내에 설정된다. 이 설정은, 트리 매니저 (1151 및 1152) 가 트리 테이블 (11515) 을 다시 기재하고 트리 선택기 (116) 가 태그 테이블 (117) 을 다시 기재하는 사실에 의해 수행된다. 그 BPDU 는 각 노드에 의해 포워딩되면서 모든 노드에 전파된다.
노드 (11∼17) 는, 태그 그룹 (42) 의 태그를 표기한 BPDU에 현재 시스템 플래그가 부가되었음을 체크하고, 클라이언트에 의해 포워딩되는 프레임에 부가될 태그를 태그 그룹 (41) 으로부터 태그 그룹 (42) 로 스위칭한다. 이 때에, 태그 테이블 (117) 내의 삽입 태그 필드 (1172) 를 다시 기재한다. 그 태그가 부가된 프레임은 트리 (52) 를 따라 포워딩된다.
상기 스위칭이 완료된 후 잠시 동안, 트리 (51) 를 통하여 흐르는 프레임은 사라진다.
태그 그룹 변경 통지가 송신된 이래로 소정 시간이 경과한 이후에, 노드 (17) 는, 태그 그룹 (41) 의 태그를 부가해야 할 노드가 더 이상 존재하지 않는다고 결정하고, 자신의 노드를 태그 그룹 (41) 에 가입시켜, 그 다음 토폴로지 변경을 준비한다. 자신의 노드를 태그 그룹 (41) 에 가입시키기 위하여, 노드 (17) 는 트리 매니저 (1151) 내의 트리 제어기에게 BPDU 의 송신을 인가하여, BPDU 송/수신기 (11512) 로부터의 BPDU 송신을 인가한다. (이 때, 노드 (17) 의 메인 제어기 (1164) 의 상태는 도 12의 상태 (11645) 임).
이 때, 스패닝 트리 (51) 에 대하여 재구성이 수행되기 때문에, 스패닝 트리 (51) 에 주목하면서 네트워크를 보면, 네트워크는 정지한다. 그러나, 이 시간 동안 네트워크를 통한 통신은 스패닝 트리 (52) 를 사용하여 수행되기 때문에, 노드 (17) 의 추가에 따라, 폭주 및 프레임의 도달 지연과 같은 문제는 발생하지 않는다.
또한, 노드 (17) 를 태그 그룹 (41) 에 가입시키는 동작은, 트리 (52) 의 루트 노드로서 제공되는 노드 (11), 또는 트리 (51) 의 루트 노드에 의해 제공되는 노드 (11) 에 의해 수행될 수도 있다.
트리 (52) 의 루트 노드로서 제공되는 노드 (11) 가 노드(17) 를 태그 그룹 (41) 에 가입시키는 경우, 노드 (11) 가 노드 (17) 로부터 태그 그룹 변경 통지를 수신한 이래로 소정 시간이 경과한 후에, 노드 (11) 은, 태그 그룹 (41) 의 태그를 부가해야 하는 노드가 더 이상 존재하지 않는다고 결정하고, GVRP 프레임을 노드 (17) 로 송신하여 태그 그룹 (41) 에 가입하도록 명령한다.
트리 (51) 의 루트 노드로서 제공되는 노드 (11) 가 노드(17) 를 태그 그룹 (41) 에 가입시키는 경우, 노드 (11) 가 노드 (17) 로부터 태그 그룹 변경 통지를 수신한 이래로 소정 시간이 경과한 후에, 노드 (11) 은, 태그 그룹 (41) 의 태그를 부가해야 하는 노드가 더 이상 존재하지 않는다고 결정하고, GVRP 프레임을 노드 (17) 로 송신하여 태그 그룹 (41) 에 가입하도록 명령한다. 이 경우, 트리 (51) 의 노드 (11) 는 (트리 (52) 의 노드 (11) 를 경유하지 않고) 직접 노드 (17) 로 GVRP 프레임을 송신한다. 노드 (17) 를 태그 그룹 (41) 에 가입시키는 동작에서는 BPDU에 삽입되는 플래그에 변경이 생기지 않기 때문에, 루트 노드를 경유할 필요가 없다.
상술한 바와 같이, 노드 (17) 는 네트워크를 정지시키지 않고도 추가될 수 있다. 추후에 노드를 추가하기 위하여, 동일한 동작이 반복된다. 그러나, 상기 설명에서의 태그 그룹 (41) 과 태그 그룹 (42) 은 필요에 따라 교체된다.
도 16 은, 상술한 노드 (17) 을 추가하는 동작을 나타낸 시퀀스도이다.
화살표 (31) 는, 태그 그룹 (41) 을 나타내는 태그가 삽입된 현재 시스템 플래그로 표기된 BPDU 의 플로우를 도시한 것이다.
화살표 (32) 는, 태그 그룹 (42) 을 나타내는 태그가 삽입된 예비 시스템 플래그로 표기된 BPDU 의 플로우를 도시한 것이다.
화살표 (33) 는, 태그 그룹 (42) 을 나타내는 태그가 삽입된 현재 시스템 플래그로 표기된 BPDU 의 플로우를 도시한 것이다.
화살표 (34) 는, 태그 그룹 (41) 을 나타내는 태그가 삽입된 예비 시스템 플래그로 표기된 BPDU 의 플로우를 도시한 것이다.
화살표 (35) 는, 태그 그룹을 나타내는 태그가 삽입되지 않은 GVRP 프레임 등에 의한 태그 그룹 변경 통지의 플로우를 도시한 것이다.
다음으로, 도 15 및 14 를 참조하여, 본 실시형태에서 노드 (17) 를 삭제하는 동작에 대해 구체적인 예를 사용하여 상세히 설명한다.
도 15 및 14 를 참조하면, 본 동작예는 노드 (11∼17), 및 링크 (21∼30) 를 가진다.
노드 (11∼17) 의 모든 포트가 속하는 2 개의 태그그룹이 이미 설정되어 있으며, 제 1 태그 그룹은 태그 그룹 (41) 이라고 지칭하고, 제 2 태그 그룹은 태그 그룹 (42) 이라고 지칭한다.
노드 (11∼17) 는, 독립적으로 동작하는 2 개의 스패닝 트리 회로를 가지며, 태그 그룹 (41) 상에서 동작하는 스패닝 트리는 트리 (51) 라고 지칭하고, 태그 그룹 (42) 상에서 동작하는 스패닝 트리는 트리 (52) 라고 지칭한다.
트리 (52) 는, 도 15 에서 굵은선으로 도시되어 있으며, 루트 노드로서 제공되는 노드 (11) 에 의해 안정적이다.
트리 (51) 의 BPDU 에는 태그 그룹 (41) 의 태그가 표기되고, 트리 (52) 의 BPDU 에는 태그 그룹 (42) 의 태그가 표기된다.
현재, 트리 (52) 가 현재 시스템이기 때문에, 클라이언트로부터 노드 (11∼17) 로 송신된 데이터에는 태그 그룹 (42) 의 태그가 부가되어 있다. 그 태그가 부가된 데이터는 트리 (52) 를 따라 포워딩되고 있다.
노드 (17) 는 각 태그 그룹의 BPDU 를 이미 수신하였고, 현 시점에서의 현재 시스템은 태그 그룹 (42) 이고 현 시점에서의 예비 시스템은 태그 그룹 (41) 임을 이미 체크하였다고 가정한다.
구정 인터페이스 또는 다른 수단에 의해 삭제 요청을 수신하면, 노드 (17) 는, 현재 시스템인 태그 그룹 (42) 에만 가입시키고 태그 그룹 (41) 에는 참가시키지 않도록 자신의 노드 (17) 를 설정한다. 이 때, 노드 (17) 는 태그 그룹 (41) 의 BPDU 송신을 중지한다.
이러한 설정으로 인해, 노드 (17) 에 인접한 노드에 의해 BPDU 를 수신하고 노드 (17) 가 삭제된 것을 인식하고 태그 그룹 (41) 의 멤버에 변경이 발생하기 때문에, 트리 (51) 를 업데이트하는 동작이 시작된다. 태그 그룹 (42) 의 멤버에는 변경이 없기 때문에, 트리 (52) 는 업데이트되지 않는다.
태그 그룹 (41) 의 태그가, 이전처럼 각각의 노드 (11∼17) 에 의해서, 클라이언트에 의해 송신되는 프레임에 부가되며, 그 프레임은 트리 (52) 를 따라 계속 포워딩된다.
여기서, 트리 (51) 는, 노드 (17) 를 가입시키지 않고도, 루트 노드로서 제공되는 노드 (11) 에 의해 안정적인 상태를 디스플레이한다. 트리 (51) 의 구성은 도 14 에 도시되어 있다.
또한, 여기에서의 안정이라는 것은, 스패닝 트리의 트리 구성이 충분히 연장된 시간 동안 변하지 않은 상태에 있는 상태를 의미한다.
노드 (17) 가 태그 그룹 (41) 에 가입하지 않도록 설정된 이래로 소정 시간이 경과한 후에, 노드 (17) 는 트리 (51) 가 안정적이라고 결정하고, 트리 (51) 의 루트 노드인 노드 (11) 로 태그 그룹 변경통지를 송신하여, 트리 (51) 를 예비 시스템으로부터 현재 시스템으로 천이시키도록 명령한다. (이 때, 노드 (17) 의 메인 제어기 (1164) 의 상태는 도 12 의 상태 (11644) 임).
태그 그룹 변경 통지를 수신한 노드 (11) 는, 트리 (52) 의 루트 노드로서 제공되는 노드 (11) 로 그 태그 그룹 변경 통지를 송신하여, 트리 (52) 를 예비 시스템으로 천이시키도록 명령한다. 또한, 노드 (11) 는 태그 그룹 (42) 의 플래그를 부가하고, 트리 (51) 용으로 송신되는 BPDU 에 대하여 현재 시스템 플래그를 설정한다. 그 BPDU 는 각 노드에 의해 포워딩되면서 모든 노드에 전파된다.
트리 (51) 의 노드 (11) 는 태그 그룹 변경 통지를 수신하고, 트리 (52) 를 예비 시스템으로 천이시키고, 태그 그룹 (42) 의 플래그를 부가하고, 트리 (52) 용으로 송신되는 BPDU 에 대하여 예비 시스템 플래그를 설정한다. 그 BPDU 는 각 노드에 의해 포워딩되면서 모든 노드에 전파된다.
노드 (11∼17) 는, 태그 그룹 (41) 의 태그를 표기한 BPDU 에 현재 시스템 플래그가 부가되었음을 체크하고, 클라이언트에 의해 포워딩되는 프레임에 부가될 태그를 태그 그룹 (42) 으로부터 태그 그룹 (41) 으로 스위칭한다. 그 태그가 부가된 프레임은 트리 (51) 를 따라 포워딩된다.
상기 스위칭이 완료된 후 잠시 동안, 트리 (52) 를 통하여 흐르는 프레임은 사라진다.
태그 그룹 변경 통지가 송신된 이래로 소정 시간이 경과한 이후에, 노드 (17) 는, 태그 그룹 (42) 의 태그를 부가해야 할 노드가 더 이상 존재하지 않는다고 결정하고, 자신의 노드를 네트워크로부터 삭제해도 된다는 허가의 통지를 구성 인터페이스 (118) 에 출력한다. (이 때, 노드 (17) 의 메인 제어기 (1164) 의 상태는 도 12 의 상태 (11643) 임).
추후에 노드를 추가하기 위하여, 동일한 동작이 반복된다. 그러나, 상기 설명에서의 태그 그룹 (41) 과 태그 그룹 (42) 은 필요에 따라 교체된다.
도 14 및 15 을 참조함으로써, 태그를 오직 BPDU 에만 부가하고 데이터에는 부가하지 않은 본 실시형태에서의 경우에서, 노드 (17) 를 추가하는 동작에 대해 구체적인 예를 사용하여 상세히 설명한다.
트리 (51) 는, 도 14 에서 굵은선으로 도시되어 있으며, 루트 노드로서 제공되는 노드 (11) 에 의해 안정적이다. 안정이라는 것은, 스패닝 트리의 트리 구성이 충분히 연장된 시간 동안 변하지 않은 상태에 있는 상태를 의미한다.
트리 (51) 의 BPDU 에는 태그 그룹 (41) 의 태그가 표기되고, 트리 (52) 의 BPDU 에는 태그 그룹 (42) 의 태그가 표기된다.
현재, 클라이언트로부터 노드 (11∼16) 로 송신된 데이터에는 어떠한 태그도 부가되지 않는다. 그 데이터는, 각 노드의 포워딩 테이블에서의 설정에 따라서 트리 (51) 를 따라 포워딩되고 있다.
링크 (29) 및 링크 (30) 에 접속될 경우, 노드 (17) 는 어떠한 태그 그룹에도 가입하지 않고서 BPDU 의 수신을 시작한다. (이 때, 노드 (17) 의 메인 제어기 (1164) 의 상태는 도 12 의 상태 (11641) 임).
각 태그 그룹의 BPDU 를 수신하면, 그 BPDU 에 부가된 태그 내의 플래그로 인해, 노드 (17) 는, 현 시점에서의 현재 시스템이 태그 그룹 (41) 이고 현 시점에서의 예비 시스템이 태그 그룹 (42) 임을 체크한다. 오직 태그 그룹 (42) 만이 BPDU를 송수신하고 태그 그룹 (41) 은 송신하지 않고 BPDU 를 수신만 하도록 노드 (17) 이 설정한다. (이 때, 노드 (17) 의 메인 제어기 (1164) 의 상태는 도 12 의 상태 (11642) 임).
노드 (17) 가 추가될 때에 태그 그룹 (42) 의 멤버에 변경이 발생하기 때문에, 트리 (52) 를 업데이트하는 동작이 스패닝 트리 프로토콜에 의해 시작된다. 태그 그룹 (41) 의 멤버에는 변경이 없기 때문에, 트리 (51) 는 업데이트되지 않는다. (이 때, 노드 (17) 의 메인 제어기 (1164) 의 상태는 도 12 의 상태 (11643) 임).
이전처럼 클라이언트에 의해 송신되는 프레임에는 태그가 부가되지 않으며, 그 프레임은 트리 (51) 를 따라 계속 포워딩된다.
여기서, 트리 (52) 는, 루트 노드로서 제공되는 노드 (11) 에 의해 안정적이라고 가정한다. 트리 (52) 의 구성은 도 15 에 도시되어 있다.
노드 (17) 가 네트워크에 접속된 이래로 소정 시간이 경과한 후에, 노드 (17) 는 트리 (52) 가 안정적이라고 결정하고, 트리 (52) 의 루트 노드로서 제공되는 노드 (11) 로 태그 그룹 변경 통지를 송신하여, 트리 (52) 를 예비 시스템으로부터 현재 시스템으로 천이시키도록 명령한다. (이 때, 노드 (17) 의 메인 제어기 (1164) 의 상태는 도 12 의 상태 (11644) 임).
태그 그룹 변경 통지를 수신한 트리 (52) 의 노드 (11) 는, 트리 (51) 의 루트 노드로서 제공되는 노드 (11) 로 그 태그 그룹 변경 통지를 송신하여, 트리 (51) 를 예비 시스템으로 천이시키도록 명령한다. 또한, 노드 (11) 는 태그 그룹 (42) 의 플래그를 부가하고, 트리 (52) 용으로 송신되는 BPDU 에 대하여 현재 시스템 플래그를 설정한다. 그 BPDU 는 각 노드에 의해 포워딩되면서 모든 노드에 전파된다.
트리 (51) 의 노드 (11) 는 태그 그룹 변경 통지를 수신하고, 트리 (51) 를 예비 시스템으로 천이시키고, 태그 그룹 (41) 의 플래그를 부가하고, 트리 (51) 용으로 송신되는 BPDU 에 대하여 예비 시스템의 플래그를 설정한다. 그 BPDU 는 각 노드에 의해 포워딩되면서 모든 노드에 전파된다.
노드 (11∼17) 는, 태그 그룹 (42) 의 태그를 표기한 BPDU 에 현재 시스템 플래그가 부가되었음을 체크하고, 트리 (52) 를 따르는 설정으로 라우팅 테이블을 변경한다. 이에 따라, 그 노드에서 포워딩될 프레임은 트리 (52) 를 따라 포워딩된다.
모든 노드의 라우팅 테이블이 트리 (52) 와 함께 이용하도록 스위칭된 후, 트리 (51) 를 통하여 흐르는 프레임은 사라진다.
태그 그룹 변경 통지가 송신된 이래로 소정 시간이 경과한 이후에, 노드 (17) 는, 태그 그룹 (41) 에 따라 테이블 설정을 수행하는 노드가 더 이상 존재하지 않는다고 결정하고, 자신의 노드를 태그 그룹 (41) 에 가입시켜, 그 다음 토폴로지 변경을 준비한다. (이 때, 노드 (17) 의 메인 제어기 (1164) 의 상태는 도 12 의 상태 (11644) 임).
상술한 바와 같이, 노드 (17) 는 네트워크를 정지시키지 않고도 추가될 수 있다. 추후에 노드를 추가하기 위하여, 동일한 동작이 반복된다. 그러나, 상기 설명에서의 태그 그룹 (41) 과 태그 그룹 (42) 은 필요에 따라 교체된다.
비록 상기 설명에서는 타이머를 사용하여 트리의 안정 상태를 체크하였지만, 안정 상태를 체크하는 방법은 이것에 제한되지 않으며, 후술되는 바와 같이, BPDU 또는 프레임의 도달 간격을 측정하여, 안정 상태를 체크할 수도 있다.
트리 (51) 는, 도 14 에서 굵은선으로 도시되어 있으며, 루트 노드로서 제공되는 노드 (11) 에 의해 안정적이다.
트리 (51) 의 BPDU 에는 태그 그룹 (41) 의 태그가 표기되고, 트리 (52) 의 BPDU 에는 태그 그룹 (42) 의 태그가 표기된다.
현재, 클라이언트로부터 노드 (11∼16) 로 송신된 데이터에는 태그 그룹 (41) 의 태그가 부가되어 있다. 그 태그가 부가된 데이터는 트리 (51) 을 따라 포워딩되고 있다.
링크 (29) 및 링크 (30) 에 접속될 경우, 노드 (17) 는 어떠한 태그 그룹에도 가입하지 않고서 BPDU 의 수신을 시작한다.
각 태그 그룹의 BPDU 를 수신하면, 노드 (17) 는, 현 시점에서의 현재 시스템이 태그 그룹 (41) 이고 현 시점에서의 예비 시스템이 태그 그룹 (42) 임을 체크한다. 또한, BPDU를 송수신하기 위하여 오직 태그 그룹 (42) 에만 가입하고 태그 그룹 (41) 은 송신하지 않고 BPDU 를 수신만 하도록 노드 (17) 이 설정한다. 노드 (17) 가 추가되었음을 통지하는 프레임은, 태그 그룹 (42) 의 루트 노드로서 제공되는 노드 (11), 및 태그 그룹 (41) 의 루트 노드로서 제공되는 노드 (11) 의 각각으로 송신된다.
노드 (17) 가 추가될 때에 태그 그룹 (42) 의 멤버에 변경이 발생하기 때문에, 트리 (52) 를 업데이트하는 동작이 스패닝 트리 프로토콜에 의해 시작된다. 태그 그룹 (41) 의 멤버에는 변경이 없기 때문에, 트리 (51) 는 업데이트되지 않는다.
태그 그룹 (41) 의 태그는, 이전처럼 클라이언트에 의해 송신되는 프레임에 부가되며, 그 프레임은 트리 (51) 를 따라 계속 포워딩된다.
여기서, 트리 (52) 는, 루트 노드로서 제공되는 노드 (11) 에 의해 안정적이라고 가정한다. 트리 (52) 의 구성은 도 15 에 도시되어 있다.
트리 (52) 의 BPDU 도달 간격이 소정 시간 보다 더 길게 된 것을 검출하면, 트리 (52) 의 루트 노드로서 제공되는 노드 (11) 은 트리 (52) 가 안정적이라고 결정하고, 트리 (51) 의 루트 노드로서 제공되는 노드 (11) 에 태그 그룹 변경 통지를 송신하여, 트리 (51) 를 예비 시스템으로 천이시키도록 명령한다. 또한, 노드 (11) 는 태그 그룹 (42) 의 플래그를 부가하고, 트리 (52) 를 위해 송신되는 BPDU 에 대하여 현재 시스템 플래그를 설정한다. 그 BPDU 는 각 노드에 의해 포워딩되면서 모든 노드에 전파된다.
또한, 트리 (52) 의 안정화는 트리 (51) 의 루트 노드로서 제공되는 노드 (11) 에 의해 검출될 수도 있다. 이 경우, 트리 (52) 의 BPDU 도달 간격이 소정 시간 보다 더 길게 된 것을 검출하면, 트리 (51) 의 루트 노드로서 제공되는 노드 (11) 은 트리 (52) 가 안정적이라고 결정하고, 트리 (52) 의 루트 노드로서 제공되는 노드 (11) 에 태그 그룹 변경 통지를 송신하여, 트리 (52) 를 예비 시스템으로 천이시키도록 명령한다. 또한, 트리 (51) 의 루트 노드로서 제공되는 노드 (11) 는 태그 그룹 (42) 의 플래그를 부가하고, 트리 (52) 를 위해 송신되는 BPDU 에 대하여 현재 시스템 플래그를 설정한다. 그 BPDU 는 각 노드에 의해 포워딩되면서 모든 노드에 전파된다.
노드 (11) 는 태그 그룹 변경 통지를 수신하고, 트리 (51) 를 예비 시스템에 천이시키고, 태그 그룹 (41) 의 플래그를 부가하고, 트리 (51) 를 위해 송신되는 BPDU 에 예비 시스템의 플래그를 설정한다. 그 BPDU 는 각 노드에 의해 포워딩되면서 모든 노드에 전파된다.
노드 (11 ~ 17) 는 태그 그룹 (42) 의 태그가 표기된 BPDU 에 현재 시스템 플래그가 부가되었는지를 체크하고, 클라이언트에 의해 포워딩되는 프레임에 부가되는 태그를 태그 그룹 (41) 으로부터 태그 그룹 (42) 로 스위칭한다. 그 태그가 부가된 프레임은 트리 (52) 를 따라 포워딩된다.
상기 스위칭이 완료된 후 잠시 동안, 트리 (51) 를 통하여 흐르는 프레임이 사라진다.
트리 (51) 를 통하여 흐르는 태그 그룹 (41) 의 태그가 표기된 프레임의 도달 간격이 소정 시간 보다 더 길게 될 경우, 태그 그룹 (41) 의 루트 노드로서 제공되는 노드 (11) 는 태그 그룹 (41) 의 태그가 부가된 노드가 더 이상 존재하지 않는다고 결정하고, GVRP 프레임을 노드 (17) 로 송신하여, 그 다음 토폴로지 변경을 준비하도록 태그 그룹 (41) 에 가입하도록 명령한다.
또한, 노드 (17) 를 태그 그룹 (41) 에 가입시키는 동작은, 트리 (52)의 루트 노드로서 제공되는 노드 (11) 에 의해 수행될 수도 있다.
트리 (51) 를 통하여 흐르는 태그 그룹 (41) 의 태그가 표기된 프레임의 도달 간격이 소정 시간 보다 더 길게 될 경우, 트리 (51) 의 루트 노드로서 제공되는 노드 (11) 는 태그 그룹 (41) 의 태그가 부가된 노드가 더 이상 존재하지 않는다고 결정하고, GVRP 프레임을 노드 (17) 로 송신하여, 그 다음 토폴로지 변경을 준비하도록 태그 그룹 (41) 에 가입하도록 명령한다.
상술한 바와 같이, 노드 (17) 는 네트워크를 정지시키지 않고도 추가될 수 있다. 추후에 노드를 추가하기 위하여, 동일한 동작이 반복된다. 그러나, 상기 설명에서의 태그 그룹 (41) 과 태그 그룹 (42) 은 필요에 따라 교체된다.
도 14 및 15 을 참조하면, 본 실시형태에서, 예비 시스템으로의 천이 완료 통지를 수신함으로써 예비 시스템으로의 천이가 검출되는 경우에 노드 (17) 를 부가하는 동작은 구체적인 예를 사용하여 상세히 설명한다.
트리 (51) 는, 도 14 에서 굵은선으로 도시되어 있으며, 루트 노드로서 제공되는 노드 (11) 에 의해 안정적이다.
트리 (51) 의 BPDU 에는 태그 그룹 (41) 의 태그가 표기되고, 트리 (52) 의 BPDU 에는 태그 그룹 (42) 의 태그가 표기된다.
현재, 클라이언트로부터 노드 (11∼16) 로 송신된 데이터에는 태그 그룹 (41) 의 태그가 부가된다. 태그가 부가된 데이터는 트리 (51) 를 따라 포워딩되고 있다.
링크 (29) 및 링크 (30) 에 접속될 경우, 노드 (17) 는 어떠한 태그 그룹에도 가입하지 않고서 BPDU 의 수신을 시작한다.
각 태그 그룹의 BPDU 를 수신하면, 노드 (17) 는, 현 시점에서의 현재 시스템이 태그 그룹 (41) 이고 현 시점에서의 예비 시스템이 태그 그룹 (42) 임을 체크한다. 노드 (17) 은, BPDU를 송/수신하도록 오직 태그 그룹 (42) 만을 가입시키고 태그 그룹 (41) 은 송신하지 않고 BPDU 를 수신만 하도록 자신의 노드를 설정한다.
노드 (17) 가 추가될 때에 태그 그룹 (42) 의 멤버에 변경이 발생하기 때문에, 트리 (52) 를 업데이트하는 동작이 스패닝 트리 프로토콜에 의해 시작된다. 태그 그룹 (41) 의 멤버에는 변경이 없기 때문에, 트리 (51) 는 업데이트되지 않는다.
이전처럼 클라이언트에 의해 송신되는 프레임에 태그 그룹 (41) 의 태그가 부가되며, 그 프레임은 트리 (51) 를 따라 계속 포워딩된다.
여기서, 트리 (52) 는, 루트 노드로서 제공되는 노드 (11) 에 의해 안정적이라고 가정한다. 트리 (52) 의 구성은 도 15 에 도시되어 있다.
노드 (17) 가 네트워크에 접속된 이래로 소정 시간이 경과한 후에, 노드 (17) 는 트리 (52) 가 안정적이라고 결정하고, 트리 (52) 의 루트 노드로서 제공되는 노드 (11) 로 태그 그룹 변경 통지를 송신하여, 트리 (52) 를 예비 시스템으로부터 현재 시스템으로 천이시키도록 명령한다.
태그 그룹 변경 통지를 수신한 노드 (11) 는, 트리 (51) 의 루트 노드로서 제공되는 노드 (11) 로 그 태그 그룹 변경 통지를 송신하여, 트리 (51) 를 예비 시스템으로 천이시키도록 명령한다. 또한, 노드 (11) 는 태그 그룹 (42) 의 플래그를 부가하고, 트리 (52) 용으로 송신되는 BPDU 에 대하여 현재 시스템 플래그를 설정한다. 그 BPDU 는 각 노드에 의해 포워딩되면서 모든 노드에 전파된다.
노드 (11) 는 태그 그룹 변경 통지를 수신하고, 트리 (51) 를 예비 시스템으로 천이시키고, 태그 그룹 (41) 의 플래그를 부가하고, 트리 (51) 용으로 송신되는 BPDU 에 대하여 예비 시스템의 플래그를 설정한다. 그 BPDU 는 각 노드에 의해 포워딩되면서 모든 노드에 전파된다.
노드 (11∼17) 는, 태그 그룹 (42) 의 태그를 표기한 BPDU 에 현재 시스템 플래그가 부가되었음을 체크하고, 클라이언트에 의해 포워딩되는 프레임에 부가되는 태그를 태그 그룹 (41) 으로부터 태그 그룹 (42) 으로 스위칭시키고, 트리 (52) 의 루트 노드로서 제공되는 노드 (11) 로 스위치 완료 통지를 송신한다.
상기 스위치가 완료된 후 잠시 동안, 트리 (51) 를 통하여 흐르는 프레임은 사라진다.
모든 노드 (11 ~ 17) 로부터 스위치 완료 통지를 수신하면, 노드 (11) 는, 태그 그룹 (41) 의 태그가 부가된 노드가 더 이상 존재하지 않는다고 결정하고, GVRP 프레임을 노드 (17) 로 송신하여, 태그 그룹 (41) 에 가입하도록 명령한다.
또한, 노드 (17) 를 태그 그룹 (41) 에 가입시키는 동작은, 신규하게 부가된 노드 (17) 또는 트리 (51) 의 루트 노드로서 제공되는 노드 (11) 에 의해 수행될 수도 있다.
신규하게 부가된 노드 (17) 가 자신을 태그 그룹 (41) 에 가입시킬 경우, 노드 (11 ~ 16) 는 태그 그룹 (42) 의 태그가 표기된 BPDU 에 현재 시스템 플래그가 부가되었는지를 체크하고, 클라이언트에 의해 포워딩되는 프레임에 부가되는 태그를 태그 그룹 (41) 으로부터 태그 그룹 (42) 으로 스위칭할 때에 스위치 완료 통지를 신규하게 부가된 노드로 송신하며, 노드 (17) 가 모든 노드 (11 ~ 16) 로부터 스위치 완료 통지를 수신할 경우에, 노드 (17) 는 태그 그룹 (41) 의 태그가 부가된 노드가 더 이상 존재하지 않는다고 결정하고, 노드 (17) 자신을 태그 그룹 (41) 에 가입시킨다.
트리 (51) 의 루트 노드로서 제공되는 노드 (11) 가 노드 (17) 를 태그 그룹 (41) 에 가입시킬 경우, 노드 (11 ~ 17) 는 태그 그룹 (42) 의 태그가 표기된 BPDU 에 현재 시스템 플래그가 부가되었는지를 체크하고, 클라이언트에 의해 포워딩되는 프레임에 부가되는 태그를 태그 그룹 (41) 으로부터 태그 그룹 (42) 으로 스위칭할 때에 트리 (51) 의 루트 노드로서 제공되는 노드 (11) 에 스위치 완료 통지를 송신하며, 노드 (11) 가 모든 노드 (11 ~ 17) 로부터 스위치 완료 통지를 수신할 경우에, 노드 (11) 는 태그 그룹 (41) 의 태그가 부가된 노드가 더 이상 존재하지 않는다고 결정하고, GVRP 프레임을 노드 (17) 로 송신하여, 태그 그룹 (41) 에 가입하도록 명령한다.
상술한 바와 같이, 노드 (17) 는 네트워크를 정지시키지 않고도 추가될 수 있다. 추후에 노드를 추가하기 위하여, 동일한 동작이 반복된다. 그러나, 상기 설명에서의 태그 그룹 (41) 과 태그 그룹 (42) 은 필요에 따라 교체된다.
다음으로, 본 실시형태의 효과를 설명한다.
종래에는, 스패닝 트리에 속하는 노드의 추가/삭제 시에, 데이터 프레임의 포워딩을 전부 또는 일부 중지시켜 스패닝 트리를 재구성하였기 때문에, 재구성 중에 종종 네트워크가 정지되었다.
본 실시형태에서는, 구성의 변경 전에 존재하는 스패닝 트리를 계속 운용하면서, 신규하게 부가된 노드를 포함하는 스패닝 트리를 생성하고, 신규한 스패닝 트리가 안정된 후에 이용되는 스패닝 트리로 스위칭함으로써, 네트워크를 정지시키지 않고도, 스패닝 트리에 속하는 노드의 추가/삭제와 같은 스패닝 트리 재구성이 가능하다.
또한, 이것은 폭주 발생의 확률을 감소시킬 수 있게 한다.
(제 2 실시형태)
이하, 본 발명의 제 2 실시형태를 도면을 참조하여 상세히 설명한다.
본 발명의 제 2 실시형태는, 비용을 계산할 때에 링크 대역의 폭 대신에 자유 대역폭 용량 또는 통과 TCP 플로우의 수, HTTP 요청의 수 등을 이용하고, 또한, 비용이 변경되는 경우에, 노드의 추가/삭제의 경우와 같이, 현재 시스템과 예비 시스템의 천이를 수행한다는 점에서 제 1 실시형태와 다르다. 또한, 비록 자유 대역폭의 용량을 비용으로서 사용한 경우에 관해서 설명하지만, 특별히 기재하지 않는다면, 통과 TCP 플로우의 수 및 HTTP 요청의 수가 사용되는 경우에 관해서도 동일하게 설명할 수 있다.
IEEE 802.1D 및 IEEE 802.1w 에서는, 링크의 비용이 링크 대역 폭의 역수로 결정되어 있었다. 즉, 비용은 부하에 따라 동적으로 변경할 수 없었다.
본 실시형태에 있어서는, 링크의 비용을 링크의 자유 대역폭의 역수로 결정함으로써, 부하에 따라 동적인 비용 변경이 수행된다.
도 17 은, 제 2 실시형태에서의 트리 선택기 (116) 의 구성을 도시한 것이다. 도 17 를 참조하면, 본 발명의 제 2 실시형태는, 도 11의 트리 선택기에 비용 참조 타이머 (1167), 함수 계산기 (1168) 및 평활화 유닛 (1169) 이 추가된다는 점에서 제 1 실시형태와 상이하다.
메인 제어기 (1164) 는, 제 1 실시형태에서의 동작 이외에, 비용 참조 타이머 (1167) 로부터 만료 통지를 수신하면, 이전의 비용 참조 타이머가 만료한 이래로 링크를 통하여 흐른 프레임의 유량 정보 또는 TCP 플로우의 수 또는 HTTP 요청의 수를 자원 모니터로부터 획득하고, 그 유량, 플로우의 수 또는 요청의 수에 기초하여 비용을 계산하고, 예비 시스템으로서 등록되어 있는 트리 매니저 (이하, 예비 시스템의 트리 매니저라고 함) 에 통지하는 동작을 수행한다. 유량의 경우, 유량 및 링크 대역 폭으로부터 링크의 자유 대역폭을 획득하고, 그 링크의 자유 대역폭의 역수를 비용으로서 이용한다. TCP 플로우의 수 및 HTTP 요청의 수의 경우에는, 미리 설정된 최대 허용가능 플로우의 수 또는 미리 설정된 최대 허용가능 요청의 수와, 링크를 실제로 통과하는 TCP 플로우의 수 또는 요청의 수와의 차이를 취하고, 이 차이의 역수를 비용으로서 이용한다.
상기 수단에 의해 비용을 계산한 후, 메인 제어기 (1164) 는 그 비용을 함수 계산기 (1168) 로 전달하여 평가하고, 함수 계산기에 의한 평가의 결과를 평활화 유닛 (1169) 으로 전달하여 평활화하고, 평활화된 결과의 값을 예비 시스템의 트리 매니저로 송신한다.
함수 계산기 (1168) 는 비례 함수, 히스테리시스 (hysteresis) 함수, 및 계단 함수와 같은 임의의 소정 함수를 사용하고 메인 제어기 (1164) 에 의해 입력된 비용값을 파라미터로서 사용하여 출력 비용값을 결정하고 그 값을 메인 제어기 (1164) 에 반환하는 함수 계산기 (1168) 의 동작에 의해, 상태 천이의 진동을 방지할 수 있다. 이것은, 비용값의 급격한 변동을 금지하여 비용을 평활하게 변경시키기 때문이다.
평활화 유닛 (1169) 은, 저역 통과 필터 등을 사용하여, 미리 저장되어 있는 이전의 입력 파라미터와, 메인 제어기 (1164) 로부터 신규하게 전달된 신규한 입력 파라미터를 평활화를 하고, 그 결과를 메인 제어기 (1164) 에 통지한다. 평활화 유닛 (1169) 의 동작에 의해, 비용의 급격한 변동 또는 상태천이의 진동을 방지할 수 있다.
비용 참조 타이머 (1167) 는, 메인 제어기 (1164) 로부터 송신된 설정 통지의 수신 이래로 소정의 시간이 경과한 후에, 타이머 만료 통지를 메인 제어기 (1164) 로 송신한다.
도 18 은, 본 발명의 제 2 실시형태의 도 17 에서의 메인 제어기 (1164) 의 상태천이를 상세히 나타낸 도면이다. 도 18 을 참조하면, 본 발명의 제 2 실시형태는 제 1 실시형태의 도 12에 상태 (1164A) 및 상태 (1164B) 가 추가된다는 점에서 제 1 실시형태와는 상이하다.
상태 (1164A) 는, 현재 시스템 트리 매니저가 트리 매니저 (1152) 이고, 예비 시스템 트리 매니저가 트리 매니저 (1151) 이며, 트리 매니저 (1152) 내의 BPDU 송/수신기 (11522) 의 BPDU 송신기능이 인에이블되고, 트리 매니저 (1151) 내의 BPDU 송/수신기 (11512) 의 BPDU 송신기능 또한 인에이블인 상태이다. 또한, BPDU 송/수신기 (11512) 및 BPDU 송/수신기 (11522) 의 BPDU 수신기능은, 송신기능의 인에이블 또는 디스에이블에 관계없이 항상 인에이블이다.
상태 (1164B) 는, 현재 시스템 트리 매니저가 트리 매니저 (1151) 이고, 예비 시스템 트리 매니저가 트리 매니저 (1152) 이며, 트리 매니저 (1151) 내의 BPDU 송/수신기 (11512) 의 BPDU 송신기능이 인에이블되고, 트리 매니저 (1152) 내의 BPDU 송/수신기 (11522) 의 BPDU 송신기능 또한 인에이블인 상태이다. 또한, BPDU 송/수신기 (11512) 및 BPDU 송/수신기 (11522) 의 BPDU 수신기능은, 송신기능의 인에이블 또는 디스에이블에 관계없이 항상 인에이블이다.
이하, 비록 도 18 를 참조함으로써, 상태 (11645) 를 시작점으로 사용하여 비용 계산의 흐름을 나타내지만, 이 설명은 상태 (11646) 를 시작점으로서 취하는 경우에도 동일하게 적용 가능하다.
상태 (11645) 로 천이하면, 메인 제어기 (1164) 는, 구성 인터페이스 (118) 또는 GVRP 송/수신기 (1162) 에 의해 동적인 비용 계산을 이용하는 명령을 받은 때에, 비용 참조 타이머 (1167) 를 설정한다 (상태 (11645)).
비용 참조 타이머 (1167) 로부터 타이머 만료 통지를 수신하면, 메인 제어기 (1164) 는, 자원 모니터 (119) 로부터 누적 통과 바이트 수에 대한 정보를 수신함과 동시에, 카운트 리셋 통지를 생성하여, 자원 모니터 (119) 의 누적 통과 바이트 수를 제로 (0) 로 리셋시킨다. 또한, 누적 통과 바이트 수 또는 TCP 플로우의 수 또는 HTTP 요청의 수로부터 비용을 계산하고, 그 결과를 함수 계산기 (1168) 에 전달한다.
함수 계산기 (1168) 는 메인 제어기 (1164) 에 의해 입력된 값을 미리 설정된 함수에 의해 평가하고, 그 결과를 메인 제어기 (1164) 에 반환한다. 여기서는, 비례 함수가 설정되어 있고, 출력값이 입력값과 동일한 예를 설명한다.
함수 계산기 (1168) 로부터 비용 평가의 결과를 수신하면, 메인 제어기 (1164) 는 그 값을 평활화 유닛 (1169) 에 통지한다.
평활화 유닛 (1169) 는 저역 통과 필터 등에 의한 설정에 따라서 입력값을 평활화하고, 그 결과를 메인 제어기 (1164) 에 반환한다.
평활화 유닛 (1169) 으로부터 평활화를 완료한 후에 비용값을 수신하면, 메인 제어기 (1164) 는 그 비용값을 예비 시스템의 트리 매니저 (1151) 에 통지한다. 트리 매니저 (1151) 는 비용 정보에 기초하여 스패닝 트리를 재계산하고, 토폴로지가 그 계산의 결과로서 변경되었는지 여부를 메인 제어기 (1164) 에 통지한다 (도 18 의 상태 (1164A)).
상태 (1164A) 에서, 재계산 후의 트리가 계산 전의 트리와 동일하거나, 변화의 정도가 미리 설정된 변화보다 더 작은 경우에, 메인 제어기 (1164) 는 상태 (11645) 로 천이하여, 비용 참조 타이머를 재설정한다. 도 18 의 상태 천이도는, 작은 변화라도 존재하면, 상태 (11645) 로의 천이가 발생하지 않는 설정을 나타낸 예이다 (상태 (1164A)).
상태 (1164A) 에서, 재계산 후의 트리가 계산 전의 트리와 상이하고 변화의 정도가 미리 설정된 변화보다 더 클 경우에, 메인 제어기 (1164) 는 안정 타이머 (1165) 를 설정하고, 타이머가 만료한 후에 상태 (1164B) 로 천이한다. 도 18 의 상태 천이도는, 작은 변화라도 존재하면, 상태 (1164B) 로의 천이가 발생하는 설정을 나타낸 예이다 (상태 (1164A)).
안정 타이머 (1165) 로부터 타이머 만료 통지를 수신하면, 메인 제어기 (1164) 는 현재용으로서 등록되어 있는 트리 매니저 (1152) 를 예비용으로 등록되어 있는 트리 매니저 (1151) 와 교체하여, 트리 매니저 (1151) 가 신규하게 현재용이 되게 하고 트리 매니저 (1152) 는 예비용이 되게 한다. 또한, 태그 그룹 변경 통지를 GVRP 송/수신기 (1162) 를 통하여 신규한 트리의 루트 노드로 송신한다. 그 태그 그룹 변경 통지의 내용은 BPDU 에 반영되고, 모든 노드에 전달된다. 그 후, 안정 타이머 (1165) 를 활성화시키고, 상태 (11646) 로 천이한다 (상태 (1164B)).
안정 타이머 (1165) 로부터 만료 통지를 수신하면, 메인 제어기 (1164) 는 트리 매니저 (1152) 에게 신규한 비용을 통지하여, 신규하게 계산한 비용 정보에 기초하여 스패닝 트리를 재계산한다. 또한, 비용 참조 타이머 (1167) 를 스케쥴링한다 (상태 (11646)).
다음으로, 도 7 을 이용하여, 본 실시형태에서 포워딩 경로가 노드 (15) 로부터 노드 (13) 으로 변경되는 경우의 스패닝 트리 스위칭 동작에 관해 구체적인 예를 사용하여 상세히 설명한다.
도 7 을 참조하면, 본 동작예는 노드 (11 ~ 16), 클라이언트 (91∼96), 양방향 링크 (81∼86) 및 양방향 링크 (21∼28) 를 포함한다.
클라이언트 (91) 는 링크 (81) 에 의해 노드 (11) 에 접속되고, 클라이언트 (92) 는 링크 (82) 에 의해 노드 (12) 에 접속되고, 클라이언트 (93) 는 링크 (83) 에 의해 노드 (13) 에 접속되고, 클라이언트 (94) 는 링크 (84) 에 의해 노드 (14) 에 접속되고, 클라이언트 (95) 는 링크 (85) 에 의해 노드 (15) 에 접속되고, 클라이언트 (96) 는 링크 (26) 에 의해 노드 (16) 에 접속된다.
노드 (11) 와 노드 (12) 는 링크 (21) 에 의해 접속되고, 노드 (12) 와 노드 (13) 는 링크 (22) 에 의해 접속되고, 노드 (13) 와 노드 (14) 는 링크 (23) 에 의해 접속되고, 노드 (11) 와 노드 (15) 는 링크 (24) 에 의해 접속되고, 노드 (15) 와 노드 (16) 는 링크 (25) 에 의해 접속되고, 노드 (16) 와 노드 (14) 는 링크 (26) 에 의해 접속되고, 노드 (12) 와 노드 (15) 는 링크 (27) 에 의해 접속되고, 노드 (13) 와 노드 (16) 는 링크 (28) 에 의해 접속된다.
노드 (11 ~ 16) 의 모든 포트가 속하는 태그 그룹이 이미 설정되어 있는데, 제 1 태그 그룹은 태그 그룹 (41) 이라고 칭하고, 제 2 태그 그룹은 태그 그룹 (42) 이라고 칭한다.
노드 (11∼16) 는, 독립적으로 동작하는 2 개의 스패닝 트리 회로를 가지며, 태그 그룹 (41) 상에서 동작하는 스패닝 트리는 트리 (51) 라고 지칭하고, 태그 그룹 (42) 상에서 동작하는 스패닝 트리는 트리 (52) 라고 지칭한다.
도 7 에서, 트리 (41) 는, 모든 링크에 대하여 동일하게 10 으로 설정된 초기비용을 사용하여, 루트 노드로서 제공되는 노드 (13) 에 의해 이미 안정적이다. 트리 (51) 의 BPDU 에는 태그 그룹 (41) 의 태그가 표기되고, 트리 (52) 의 BPDU 에는 태그 그룹 (42) 의 태그가 표기된다.
현재, 클라이언트로부터 노드 (11 ~ 16) 로 송신된 데이터에는, 현재 시스템인 태그 그룹 (41) 의 태그가 부가되어 있다. 그 태그가 부가된 데이터는 트리 (51) 를 따라 포워딩되고 있다.
초기 상태에서는, 클라이언트 (91∼96) 중 어떠한 클라이언트도 데이터 포워딩을 수행하지 않았다.
각 노드는, 헬로우 시간 (Hello Time) 에서 규정되는 주기를 갖는 BPDU 를 송/수신함으로써, 소정 시간마다 BPDU 의 상태를 체크한다. 이 프레임은 현재 시스템과 예비 시스템의 식별 플래그를 가지며, 현재 시스템의 플래그는, 현재에 현재 시스템인 태그 그룹 (41) 의 태그가 표기된 BPDU 에만 부착되며, 현재 시스템의 플래그는, 예비 시스템인 태그 그룹 (42) 의 태그가 표기된 BPDU 에 부착되지 않는다.
각 노드는, 구성 인터페이스 (118) 또는 GVRP 송/수신기 (1162) 에 의한 동적인 비용 계산을 사용하도록 이미 명령받고 있기 때문에, 비용 참조 타이머가 만료할 때마다, 이전의 타이머가 만료한 이래로 링크를 통하여 흐른 프레임의 유량을 참조하고, 예비 시스템 트리를 사용하여 스패닝 트리 및 비용을 재계산한다.
여기서는, 클라이언트 (95) 로부터 클라이언트 (93) 로, 및 클라이언트 (96) 로부터 클라이언트 (93) 로 데이터 포워딩이 시작되었다고 가정한다.
포워딩의 시작부에서, 클라이언트 (95) 로부터 클라이언트 (93) 로의 데이터는 트리 (51) 를 이용하여 링크 (85, 25, 28 및 83) 를 경유하여 포워딩된다. 또한, 클라이언트 (96) 로부터 클라이언트 (93) 로의 데이터도 트리 (51) 를 이용하여 링크 (86, 28 및 83) 를 경유하여 포워딩된다.
데이터 포워딩으로부터 소정 시간이 경과한 후 (각 노드의 비용 참조 타이머 (1167) 가 만료할 경우), 트리 (52) 에서의 링크 (21∼28) 의 비용은 링크 (21∼28) 의 자유 공간의 양에 기초하여 재계산되며, 그 비용은 함수 계산기 및 평활화 유닛에 의해 프로세싱된다. 여기서는, 링크 (28) 의 자유 대역폭이 감소되기 때문에, 트리 (52) 에서의 링크 (28) 의 비용은 노드 (16) 에 의해 15 로 변경되며, 비록 링크 (28) 만큼은 아니지만 링크 (25) 의 자유 대역폭이 감소되기 때문에, 트리 (52) 에서의 링크 (25) 의 비용은 노드 (15) 에 의해 12 로 각각 변경된다. 이 때, 사용 중인 트리 (51) 의 비용은 변경되지 않는다.
노드 (16) 는 비용 변경을 검출하고, 변경 후의 비용을 이용하여 생성되는 BPDU (도 5 의 루트 경로 비용 (22056) 의 값이 변경됨) 를 인접 노드 (13, 14 및 15) 로 각각 송신한다. 이 BPDU 에는 태그 그룹 (42) 의 태그가 부가된다.
또한, 노드 (15) 도 비용 변경을 검출하고, 변경 후의 비용을 이용하여 생성되는 BPDU 를 인접 노드 (11, 12, 및 16) 로 각각 송신한다.
비용 (15) 이 부가된 BPDU 를 노드 (16) 로부터 수신하면, 노드 (15) 는, 링크 (25) 의 비용을 가산한 이후에 링크 (25) 및 링크 (28) 를 경유하여 노드 (13) 에 도달하기 위하여 비용 (27) 이 지출됨을 인식한다.
그 후, 비용 (10) 이 부가된 BPDU 를 노드 (12) 로부터 수신하면 (노드 (12) 는 루트 노드 (노드 (13)) 까지의 비용을 인접 노드 (노드 (11) 및 노드 (15))에 주기적으로 송신함), 노드 (15) 는, 링크 (27) 의 비용을 가산한 이후에 링크 (27) 및 링크 (22) 를 경유하여 노드 (13) 에 도달하기 위하여 비용 (20) 이 지출됨을 인식한다. 이 비용은 링크 (25) 을 경유하는 비용 보다 더 작기 때문에, 노드 (15) 는 정지 포트를 링크 (27) 측으로부터 링크 (25) 측으로 스위칭하고, 링크 (27) 및 링크 (22) 를 이용하여 링크 (13) 에 도달하는 트리를 형성한다. 또한, 링크 (27 및 22) 를 경유하는 트리를 생성하기 위하여 스패닝 트리 프로토콜이 사용된다. 또한, 노드 (15) 는 안정 타이머 (1165) 를 활성화하고, 트리가 안정되기를 대기한다.
여기서는, 루트 노드를 제공하는 노드 (13) 에 의해 트리 (52) 가 안정되었다고 가정한다.
도 13 의 안정 타이머 (1165) 가 만료한 후, 트리 (51) 의 루트 노드로서 제공되는 노드 (13) 는, 트리 형성이 안정적이었다고 판단하고, 포워딩에 이용되는 현재 시스템 트리를 트리 (51) 로부터 트리 (52) 로 스위칭하도록 명령하는 태그 그룹 변경 메시지를, 신규한 트리인 트리 (52) 의 루트 노드로서 제공되는 노드 (13) 로 송신한다. 그 후, 안정 타이머 (1165) 를 활성화시킨다.
트리 스위치 메시지를 수신하면, 트리 (52) 의 루트 노드로서 제공되는 노드 (13) 는, 포워딩에 이용되는 현재 시스템 트리를 트리 (51) 로부터 트리 (52) 로 스위칭하도록 명령하는 태그 그룹 변경 메시지를, 이전의 현재 시스템 트리인 트리 (41) 의 루트 노드로서 제공되는 노드 (13) 로 송신한다. 그 태그 그룹 변경 통지의 내용은 노드 (13) 로부터 송신된 트리 (51) 및 트리 (52) 의 BPDU 각각에 반영되고, 모든 노드에 전달된다.
이전의 현재 시스템의 루트 노드로의 태그 그룹 변경 메시지의 송신을 완료한 후, 노드 (13) 는, 클라이언트 (93) 로부터 수신하여 네트워크 내로 송신하는 프레임을 포워딩하는데 자신의 노드가 이용하는 트리를, 지금까지 이용하고 있는 트리 (51) 로부터 트리 (52) 로 스위칭한다. 스위칭을 완료한 후, 클라이언트 (93) 로부터 클라이언트 (95) 로 송신되던 프레임은 링크 (83), 링크 (22), 링크 (27), 및 링크 (85) 를 경유하여 클라이언트 (95) 로 포워딩된다.
이런 방식으로, 클라이언트 (93) 로부터 클라이언트 (95) 로, 및 클라이언트 (93) 로부터 클라이언트 (96) 로 송신되는 프레임의 포워딩 경로는 분산되어, 링크 (28) 의 폭주가 해소된다.
이후, 비용 참조 타이머가 만료할 때마다, 링크의 자유 대역폭에 기초하는 비용 계산을 사용하여 스패닝 트리가 재계산되고, 자유 대역폭을 비용에 반영하는 동적인 경로 변경이 주기적으로 수행된다. 이 결과, 각 링크의 트래픽이 분산되어, 링크의 부하를 분산하고 폭주를 방지할 수 있다.
다음으로, 본 실시형태의 효과를 설명한다.
종래에는, 링크 용량을 사용하여 비용을 계산하고, 스패닝 트리 구성 시에 경로를 선택하는데 그 비용을 이용하였기 때문에, 트래픽에 따른 동적인 부하 분산을 위한 경로 변경이 불가능하였다.
본 실시형태에서는, 자유 대역폭 및 서버 부하와 같은 동적인 정보에 기초하여 링크 비용을 계산함으로써, 트래픽 부하의 분산이 가능하다.
또한, 종래에는, 트래픽 상태에 따라 비용을 동적으로 변경시키려 할 경우, 데이터 프레임의 포워딩이 국부적 또는 전체 네트워크에 걸쳐서 정지되는 동안에 스패닝 트리가 재구성되어 경로가 변경되었기 때문에, 종종, 재구성 중에 네트워크가 정지하였다.
본 실시형태에서는, 변경 전에 존재하는 트리를 계속 운용하면서 비용 변경 후의 스패닝 트리를 발생시키고, 신규한 트리가 안정된 후에 사용되는 스패닝 트리를 스위칭함으로써, 경로 변경에 동반하는 스패닝 트리 재구성을 위해 네트워크를 정지하지 않고도 부하를 분산할 수 있다.
또한, 이것은, 폭주 발생 가능성을 감소시키도록 한다.
(제 3 실시형태)
이하, 본 발명의 제 3 실시형태를 도면을 참조하여 상세히 설명한다.
본 발명의 제 3 실시형태는, 현재 시스템과 예비 시스템 간의 천이가 비용의 변경 여부에 관계없이 수행된다는 점에서 제 2 실시형태와 상이하다. 또한, 비록 자유 대역폭의 용량을 비용으로서 사용한 경우에 관해서 설명하지만, 특별히 기재하지 않는다면, 통과 TCP 플로우의 수 및 HTTP 요청의 수가 사용되는 경우에 관해서도 동일하게 설명할 수 있다.
도 19 를 참조하면, 본 발명의 제 3 실시형태는, 제 2 실시형태의 도 18 에 있서, 상태 (1164A) 와 상태 (1164B) 사이의 천이가 발생하지 않은 것, 및 상태 (11643) 와 상태 (11644) 사이의 천이 및 상태 (11647) 와 상태 (11648) 사이의 천이가 안정 타이머 (1165) 의 만료에 의함이 아니고 BPDU 내의 현재 시스템 플래그의 스위칭의 검출에 의해서 발생한다는 점에서 제 2 실시형태와 상이하다.
자원 모니터 (119) 로부터 네트워크에 신규하게 접속된 것의 통지를 수신하면, 제 3 실시형태에서의 메인 제어기 (1164β) 는 현재 시스템 통지가 트리 매니저 (1151) 또는 트리 매니저 (1152) 로부터 도달할 것을 대기한다. 트리 매니저 (1151) 또는 트리 매니저 (1152) 로부터 BPDU 에 포함되는 현재 시스템 통지를 수신하면, 메인 제어기 (1164β) 는 그 통지에서 특정된 트리 매니저 (1151) 또는 트리 매니저 (1152) 를 현재용으로 설정하고, 예비용으로 특정된 트리 매니저 (1151 또는 1152) 를 예비용으로 설정하고, 상태 (11642) 또는 상태 (11649) 로 천이한다. 여기서는, 상태 (11642) 로 천이하는 경우를 예로서 해설하지만, 이후의 해설은 상태 (11649) 로 천이하는 경우에 대해서도 동일하다 (도 19 의 상태 (11641)).
메인 제어기 (1164β) 는 트리 매니저 (1151) 를 현재용으로 설정하고, 트리 매니저 (1152) 를 예비용으로 설정한다. 또한, BPDU 송신 정지 명령을 각각의 트리 매니저 (1151 및 1152) 로 송신한다 (도 19 의 상태 (11642)).
상태 (11642) 에서, 메인 제어기 (1164β) 가 구성 인터페이스 (118) 로부터 노드의 추가 요청을 수신하는 경우, 상태 (11643) 로 천이한다. 트리 매니저 (1151) 또는 트리 매니저 (1152) 로부터 현재 시스템 통지를 수신하고 현재 시스템과 예비 시스템 간의 관계에서 변경이 생길 경우, 상태 (11649) 로 천이한다 (도 19 의 상태 (11642)).
메인 제어기 (1164β) 는 트리 매니저 (1152) 로 링크업 통지를 송신함과 동시에, 트리 매니저 (1152) 에게 BPDU 의 송신을 허가한다. 또한, 안정 타이머 (1165) 를 활성화시킨다 (도 19 의 상태 (11643)).
상태 (11643) 에서, 메인 제어기 (1164β) 가 트리 매니저 (1151) 또는 트리 매니저 (1152) 로부터 BPDU 에 포함된 현재 시스템 통지를 수신하고 현재 시스템과 예비 시스템 간의 관계에 변경이 생기는 경우, 현재용으로서 등록되어 있는 트리 매니저 (1151) 를 예비용으로 등록되어 있는 트리 매니저 (1152) 로 교체하여, 트리 매니저 (1152) 가 새롭게 현재용이 되고, 트리 매니저 (1151) 는 예비용이 된다. 그 후, 안정 타이머 (1165) 를 활성화시킨다 (도 19 의 상태 (11644)).
안정 타이머 (1165) 로부터 타이머 만료 통지를 수신하면, 메인 제어기 (1164β) 는 트리 매니저 (1151) 로 링크업 통지를 송신함과 동시에, 트리 매니저 (1152) 에게 BPDU 의 송신을 허가한다. 일반적으로, 이 상태로 안정적이다 (도 19 의 상태 (11645)).
상태 (11645) 에서, 현재 시스템인 트리 매니저 (1152) 가 루트 노드로서 제공될 경우, 이 노드의 메인 제어기 (1164β) 는 안정 타이머 (1165) 를 활성화시키고, 안정 타이머 (1165) 로부터 타이머 만료 통지를 수신하면, 현재용으로서 등록되어 있는 트리 매니저 (1152) 를 예비용으로 등록되어 있는 트리 매니저 (1151) 와 교체하여, 트리 매니저 (1151) 가 새롭게 현재용이 되고, 트리 매니저 (1152) 는 예비용이 된다. 또한, 태그 그룹 변경 통지를 GVRP 송/수신기 (1162) 를 통하여 신규한 트리의 루트 노드로 송신한다. 그 태그 그룹 변경 통지의 내용은 BPDU 에 반영되고 모든 노드에 전달된다 (도 19 의 상태 (11645)).
트리 매니저의 교체는 예비 시스템인 트리 매니저 (1151) 에 의해 수행된다. 이 경우, 상태 (11645) 에서, 예비 시스템인 트리 매니저 (1151) 가 루트 노드로서 제공될 경우, 이 노드의 메인 제어기 (1164) 는 안정 타이머 (1165) 를 활성화시키고, 안정 타이머 (1165) 로부터 타이머 만료 통지를 수신하면, 현재용으로서 등록되어 있는 트리 매니저 (1152) 를 예비용으로 등록되어 있는 트리 매니저 (1151) 와 교체하여, 트리 매니저 (1151) 가 새롭게 현재용이 되고, 트리 매니저 (1152) 는 예비용이 된다. 또한, 태그 그룹 변경 통지를 GVRP 송/수신기 (1162) 를 통하여 이전의 현재 트리의 루트 노드로 송신한다. 그 태그 그룹 변경 통지의 내용은 BPDU 에 반영되고 모든 노드에 전달된다 (도 19 의 상태 (11645)).
상태 (11645) 에서, 메인 제어기 (1164β) 가 트리 매니저 (1151) 또는 트리 매니저 (1152) 로부터 BPDU 에 포함된 현재 시스템 통지를 수신하고 현재 시스템과 예비 시스템 간의 관계에 변경이 생기는 경우, 상태 (11646) 로 천이한다. 그 후, 메인 제어기는 현재용으로서 등록되어 있는 트리 매니저 (1152) 를 예비용으로 등록되어 있는 트리 매니저 (1151) 로 교체하여, 트리 매니저 (1151) 가 새롭게 현재용이 되고, 트리 매니저 (1152) 는 예비용이 된다 (도 19 의 상태 (11645)).
상태 (11645) 에서, 메인 제어기 (1164β) 가 구성 인터페이스 (118) 로부터 노드 삭제 요청을 수신할 경우, 상태 (11644) 로 천이한다 (도 19 의 상태 (11645)).
메인 제어기 (1164β) 는, 접속되어 있는 모든 링크의 링크 다운을 트리 매니저 (1151) 에게 통지함과 동시에, BPDU 의 송신 정지 명령을 트리 매니저 (1151) 로 송신한다 (도 19 의 상태 (11644)).
상태 (11644) 에서, 메인 제어기 (1164β) 가 트리 매니저 (1151) 또는 트리 매니저 (1152) 로부터 BPDU 에 포함된 현재 시스템 통지를 수신하고 현재 시스템과 예비 시스템 간의 관계에 변경이 생기는 경우, 상태 (11643) 로 천이하고, 현재용으로서 등록되어 있는 트리 매니저 (1152) 를 예비용으로 등록되어 있는 트리 매니저 (1151) 로 교체하여, 트리 매니저 (1151) 가 새롭게 현재용이 되고, 트리 매니저 (1152) 는 예비용이 된다. 그 후, 안정 타이머 (1165) 가 활성화된다 (도 19 의 상태 (11643)).
안정 타이머 (1165) 로부터 타이머 만료 통지를 수신하면, 메인 제어기 (1164β) 는 트리 매니저 (1151) 에게 링크 다운을 통지함과 동시에, BPDU 의 수신 정지 명령을 트리 매니저 (1151) 로 송신한다. 또한, 상태 (11641) 로 무조건 천이하고, 노드 분리 시까지 대기한다 (도 19 의 상태 (11642)).
메인 제어기 (1164β) 가 구성 인터페이스 (118) 또는 GVRP 송/수신기 (1162) 에 의한 동적인 비용 계산을 이용하도록 명령받을 경우, 태그 그룹 변경 통지를 수신한 이래로 소정 시간 경과 후에 만료가 되도록 비용 참조 타이머 (1167) 를 설정한다 (도 19 의 상태 (11645)).
비용 참조 타이머 (1167) 로부터 타이머 만료 통지를 수신하면, 메인 제어기 (1164β) 는 자원 모니터 (119) 로부터 누적 통과 바이트 수에 대한 정보를 수신함과 동시에, 카운트 리셋 통지를 생성하여, 자원 모니터 (119) 의 누적 통과 바이트 수를 제로 (0) 로 리셋시킨다. 또한, 누적 통과 바이트 수 또는 TCP 플로우의 수 또는 HTTP 요청의 수로부터 비용을 계산하고, 예비 시스템인 트리 매니저 (1151) 에게 통지한다. 트리 매니저 (1151) 는 새롭게 계산된 비용 정보에 기초하여 스패닝 트리를 재계산하고, 토폴로지가 그 계산 결과로서 변경되는지 여부를 메인 제어기 (1164β) 에게 통지한다. 상태 (11645) 로 무조건 천이한다 (도 19 의 상태 (1164A)).
도 14 및 15 을 참조함으로써, 본 실시형태에서 노드 (17) 를 추가하는 동작에 관해 구체적인 예를 사용하여 상세히 설명한다.
도 14 를 참조하면, 본 동작예는 노드 (11 ~ 17) 및 링크 (21∼30) 를 가진다. 그러나, 노드 (17) 및 링크 (29 및 30) 는 초기 상태에서 접속되어 있지 않다.
도 15 를 참조하면, 본 동작예는 노드 (11 ~ 17) 및 링크 (21∼30) 를 가진다.
초기 상태에서는, 모든 노드 (11 ~ 16), 및 모든 포트가 속하는 2 개의 태그 그룹이 이미 설정되어 있으며, 제 1 태그 그룹은 태그 그룹 (41) 이라고 지칭하고, 제 2 태그 그룹은 태그 그룹 (42) 이라고 지칭한다.
또한, 기본적으로는 모든 노드 및 모든 포트가 2 개의 태그 그룹에 가입되지만, 그 포트 또는 노드의 오직 일부만으로 이루어지는 태그 그룹이 생성될 수도 있다. 이후, 모든 노드 및 모든 포트가 2 개의 태그 그룹에 가입되는 것으로 가정하고 설명한다.
노드 (11∼16) 는, 독립적으로 동작하는 2 개의 스패닝 트리 회로를 가지며, 태그 그룹 (41) 상에서 동작하는 스패닝 트리는 트리 (51) 라고 지칭하고, 태그 그룹 (42) 상에서 동작하는 스패닝 트리는 트리 (52) 라고 지칭한다.
2 개의 시스템이 스패닝 트리용으로 생성되지만, 반드시 2 개의 태그 그룹을 생성해야 하는 것은 아니다. 또한, 태그 그룹 (42) 을 이용하지 않고 오직 태그 그룹 (41) 만 설정함으로써, 태그 그룹 (41) 상에서 동작하는 스패닝 트리를 트리 (51) 로서 지칭할 수 있고, 태그 그룹에 속하지 않고 동작하는 스패닝 트리를 트리 (52) 로서 지칭할 수도 있다. 이와 대조적으로, 태그 그룹 (41) 을 이용하지 않고 오직 태그 그룹 (42) 만 설정함으로써, 태그 그룹에 속하지 않고 동작하는 스패닝 트리를 트리 (51) 로서 지칭할 수 있고, 태그 그룹 (42) 상에서 동작하는 스패닝 트리를 트리 (51) 로서 지칭할 수도 있다.
여기서는, 특히 태그 그룹 (41) 과 태그 그룹 (42) 모두를 사용하는 경우에 관해서 설명을 하지만, 태그 그룹 (41) 및 태그 그룹 (42) 모두를 사용하는 경우에서의 동작은 오직 태그 그룹 (41) 만을 사용하거나, 태그 그룹 (42) 만을 사용하는 경우에도 동일하게 적용할 수 있다.
트리 (51) 는, 도 14 에 굵은 선으로서 도시되어 있으며, 루트 노드로서 제공되는 노드 (11) 에 의해 안정적이다.
트리 (51) 의 BPDU 에는 태그 그룹 (41) 의 태그가 표기되고, 트리 (52) 의 BPDU 에는 태그 그룹 (42) 의 태그가 표기된다.
현재, 클라이언트로부터 노드 (11∼16) 로 송신된 데이터에는 태그 그룹 (41) 의 태그가 부가된다. 그 태그가 부가된 데이터는 트리 (51) 를 따라 포워딩되고 있다.
링크 (29) 및 링크 (30) 에 접속될 경우, 노드 (17) 는 어떠한 태그 그룹에도 가입하지 않고서 BPDU 의 수신을 시작한다.
각 태그 그룹의 BPDU 를 수신하면, 노드 (17) 는, 현 시점에서의 현재 시스템이 태그 그룹 (41) 이고 현 시점에서의 예비 시스템이 태그 그룹 (42) 임을 체크한다. 노드 (17) 은, BPDU 를 송/수신하도록 오직 태그 그룹 (42) 만을 가입시키고 태그 그룹 (41) 은 송신하지 않고 BPDU 를 수신만 하도록 자신의 노드를 설정한다.
노드 (17) 가 추가될 때에 태그 그룹 (42) 의 멤버에 변경이 발생하기 때문에, 트리 (52) 를 업데이트하는 동작이 스패닝 트리 프로토콜에 의해 시작된다. 태그 그룹 (41) 의 멤버에는 변경이 없기 때문에, 트리 (51) 는 업데이트되지 않는다.
이전처럼 클라이언트에 의해 송신되는 프레임에 태그 그룹 (41) 의 태그가 부가되며, 그 프레임은 트리 (51) 를 따라 계속 포워딩된다.
안정 테이블 (1165) 이 만료된 후, 현재 시스템 트리인 트리 (51) 의 루트 노드로서 제공되는 노드 (11) 는, 트리 (51) 의 루트 노드로서 제공되는 노드 (11) 로 태그 그룹 변경 통지를 송신하여, 트리 (51) 를 예비 시스템으로 천이하도록 명령한다. 또한, 노드 (11) 는 태그 그룹 (42) 의 태그를 부가하고, 트리 (52) 용으로 송신되는 BPDU 에 대하여 현재 시스템 플래그를 설정한다. 그 BPDU 는 각 노드에 의해 포워딩되면서 모든 노드에 전파된다.
노드 (11) 는 현재 시스템 플래그의 추가 상태의 변경을 검출하고, 트리 (51) 를 예비 시스템으로 천이시키고, 태그 그룹 (41) 의 플래그를 부가하고, 트리 (51) 용으로 송신되는 BPDU 에 대하여 예비 시스템의 플래그를 설정한다. 그 BPDU 는 각 노드에 의해 포워딩되면서 모든 노드에 전파된다.
노드 (11∼17) 는, 태그 그룹 (42) 의 태그를 표기한 BPDU 에 현재 시스템 플래그가 부가되었음을 체크하고, 클라이언트에 의해 포워딩되는 프레임에 부가되는 태그를 태그 그룹 (41) 으로부터 태그 그룹 (42) 으로 스위칭한다. 그 태그가 부가된 프레임은 트리 (52) 를 따라 포워딩된다.
상기 스위치가 완료된 후 잠시 동안, 트리 (51) 를 통하여 흐르는 프레임은 사라진다.
태그 그룹 변경 통지를 수신한 이래로 소정 시간이 경과한 후에, 노드 (17) 은, 태그 그룹 (41) 의 태그를 부가해야 하는 노드가 더 이상 존재하지 않는다고 결정하고, 자신의 노드를 태그 그룹 (41) 에 가입시켜, 그 다음 토폴로지 변경을 준비한다.
상술한 바와 같이, 노드 (17) 는 네트워크를 정지시키지 않고도 추가될 수 있다. 추후에 노드를 추가하기 위하여, 동일한 동작이 반복된다. 그러나, 상기 설명에서의 태그 그룹 (41) 과 태그 그룹 (42) 은 필요에 따라 교체된다.
다음으로, 도 7 을 이용하여, 본 실시형태에서 포워딩 경로가 노드 (15) 로부터 노드 (13) 으로 변경되는 경우의 스패닝 트리 스위칭 동작에 관해 구체적인 예를 사용하여 상세히 설명한다.
도 7 을 참조하면, 본 동작예는 노드 (11 ~ 16), 클라이언트 (91∼96), 양방향 링크 (81∼86) 및 양방향 링크 (21∼28) 를 포함한다.
클라이언트 (91) 는 링크 (81) 에 의해 노드 (11) 에 접속되고, 클라이언트 (92) 는 링크 (82) 에 의해 노드 (12) 에 접속되고, 클라이언트 (93) 는 링크 (83) 에 의해 노드 (13) 에 접속되고, 클라이언트 (94) 는 링크 (84) 에 의해 노드 (14) 에 접속되고, 클라이언트 (95) 는 링크 (85) 에 의해 노드 (15) 에 접속되고, 클라이언트 (96) 는 링크 (26) 에 의해 노드 (16) 에 접속된다.
노드 (11) 와 노드 (12) 는 링크 (21) 에 의해 접속되고, 노드 (12) 와 노드 (13) 는 링크 (22) 에 의해 접속되고, 노드 (13) 와 노드 (14) 는 링크 (23) 에 의해 접속되고, 노드 (11) 와 노드 (15) 는 링크 (24) 에 의해 접속되고, 노드 (15) 와 노드 (16) 는 링크 (25) 에 의해 접속되고, 노드 (16) 와 노드 (14) 는 링크 (26) 에 의해 접속되고, 노드 (12) 와 노드 (15) 는 링크 (27) 에 의해 접속되고, 노드 (13) 와 노드 (16) 는 링크 (28) 에 의해 접속된다.
노드 (11 ~ 16) 의 모든 포트가 속하는 태그 그룹이 이미 설정되어 있는데, 제 1 태그 그룹은 태그 그룹 (41) 이라고 칭하고, 제 2 태그 그룹은 태그 그룹 (42) 이라고 칭한다.
노드 (11∼16) 는, 독립적으로 동작하는 2 개의 스패닝 트리 회로를 가지며, 태그 그룹 (41) 상에서 동작하는 스패닝 트리는 트리 (51) 라고 지칭하고, 태그 그룹 (42) 상에서 동작하는 스패닝 트리는 트리 (52) 라고 지칭한다.
트리 (41) 는 굵은 선으로 도시되어 있으며, 모든 링크에 대하여 동일하게 10 으로 설정된 초기비용을 사용하여, 루트 노드로서 제공되는 노드 (13) 에 의해 이미 안정적이다. 트리 (51) 의 BPDU 에는 태그 그룹 (41) 의 태그가 표기되고, 트리 (52) 의 BPDU 에는 태그 그룹 (42) 의 태그가 표기된다.
현재, 클라이언트로부터 노드 (11 ~ 16) 로 송신된 데이터에는, 현재 시스템인 태그 그룹 (41) 의 태그가 부가되어 있다. 그 태그가 부가된 데이터는 트리 (51) 를 따라 포워딩되고 있다.
초기 상태에서는, 클라이언트 (91∼96) 중 어떠한 클라이언트도 데이터 포워딩을 수행하지 않았다.
각 노드는, 헬로우 (HELLO) 프레임을 송신함으로써, 소정 시간마다 BPDU 의 상태를 체크한다. 이 프레임은 현재 시스템과 예비 시스템의 식별 플래그를 가지며, 현재 시스템의 플래그는, 현재에 현재 시스템인 태그 그룹 (41) 의 태그가 표기된 BPDU 에만 부착되며, 현재 시스템의 플래그는, 예비 시스템인 태그 그룹 (42) 의 태그가 표기된 BPDU 에 부착되지 않는다.
각 노드는, 구성 인터페이스 (118) 또는 GVRP 송/수신기 (1162) 에 의한 동적인 비용 계산을 사용하도록 이미 명령받고 있기 때문에, 비용 참조 타이머가 만료할 때마다, 이전의 타이머가 만료한 이래로 링크를 통하여 흐른 프레임의 유량을 참조하고, 예비 시스템 트리를 사용하여 스패닝 트리 및 비용을 재계산한다.
여기서는, 클라이언트 (95) 로부터 클라이언트 (93) 로, 및 클라이언트 (96) 로부터 클라이언트 (93) 로 데이터 포워딩이 시작되었다고 가정한다.
포워딩의 시작부에서, 클라이언트 (95) 로부터 클라이언트 (93) 로의 데이터는 트리 (51) 를 이용하여 링크 (85, 25, 28 및 83) 를 경유하여 포워딩된다. 또한, 클라이언트 (96) 로부터 클라이언트 (93) 로의 데이터도 트리 (51) 를 이용하여 링크 (86, 28 및 83) 를 경유하여 포워딩된다.
데이터 포워딩으로부터 소정 시간이 경과한 후, 링크 (21∼28) 의 자유 공간의 양에 기초하여, 트리 (52) 에서의 링크 (21∼28) 의 비용은 한번에 일측에서 재계산된다. 여기서는, 링크 (28) 의 자유 대역폭이 감소되기 때문에, 트리 (52) 에서의 링크 (28) 의 비용은 노드 (16) 에 의해 15 로 변경되며, 비록 링크 (28) 만큼은 아니지만 링크 (25) 의 자유 대역폭이 감소되기 때문에, 트리 (52) 에서의 링크 (25) 의 비용은 노드 (15) 에 의해 12 로 각각 변경된다. 이 때, 사용 중인 트리 (51) 의 비용은 변경되지 않는다.
노드 (16) 는 비용 변경을 검출하고, 변경 후의 비용을 이용하여 생성되는 BPDU 를 인접 노드 (13, 14 및 15) 로 각각 송신한다.
또한, 노드 (15) 도 비용 변경을 검출하고, 변경 후의 비용을 이용하여 생성되는 BPDU 를 인접 노드 (11, 12, 및 16) 로 각각 송신한다.
비용 (15) 이 부가된 BPDU 를 노드 (16) 로부터 수신하면, 노드 (15) 는, 링크 (25) 의 비용을 가산한 이후에 링크 (25) 및 링크 (28) 를 경유하여 노드 (13) 에 도달하기 위하여 비용 (27) 을 지출함을 인식한다.
그 후, 비용 (10) 이 부가된 BPDU 를 노드 (12) 로부터 수신하면, 노드 (15) 는, 링크 (27) 의 비용을 가산한 이후에 링크 (27) 및 링크 (22) 를 경유하여 노드 (13) 에 도달하기 위하여 비용 (20) 을 지출함을 인식한다. 이 비용은 링크 (25) 을 경유하는 비용 보다 더 작기 때문에, 노드 (15) 는 정지 포트를 링크 (27) 측으로부터 링크 (25) 측으로 스위칭하고, 링크 (27) 및 링크 (22) 를 이용하여 링크 (13) 에 도달하는 트리를 형성한다.
트리 (51) 의 루트 노드로서 제공되는 노드 (13) 에서 활성이었던 토폴로지 안정 타이머가 만료한 후, 노드 (15) 는, 전송용으로 이용되는 현재 시스템 트리를 트리 (51) 로부터 트리 (52 ) 로 스위칭하도록 명령하는 태그 그룹 변경 메시지를, 이전의 현재 시스템 트리인 트리 (41) 의 루트 노드로서 제공되는 노드 (13) 로 송신한다. 그 태그 그룹 변경 통지의 내용은, 노드 (13) 로부터 송신되는 트리 (51) 및 트리 (52) 의 각 BPDU 에 반영되고 모든 노드에 전달된다.
이전의 현재 시스템의 루트 노드로의 태그 그룹 변경 메시지의 송신을 완료한 후, 노드 (13) 는, 클라이언트 (93) 로부터 수신하여 네트워크 내로 송신하는 프레임을 포워딩하는데 자신의 노드가 이용하는 트리를, 지금까지 이용하고 있는 트리 (51) 로부터 트리 (52) 로 스위칭한다. 스위칭을 완료한 후, 클라이언트 (93) 로부터 클라이언트 (95) 로 송신되던 프레임은 링크 (83), 링크 (22), 링크 (27), 및 링크 (85) 를 경유하여 클라이언트 (95) 로 포워딩된다.
이런 방식으로, 클라이언트 (93) 로부터 클라이언트 (95) 로, 및 클라이언트 (93) 로부터 클라이언트 (96) 로 송신되는 프레임의 포워딩 경로는 분산되어, 링크 (28) 의 폭주가 해소된다.
이후, 비용 참조 타이머가 만료할 때마다, 링크의 자유 대역폭에 기초하는 비용 계산을 사용하여 스패닝 트리가 재계산되고, 자유 대역폭을 비용에 반영하는 동적인 경로 변경이 주기적으로 수행된다. 이 결과, 각 링크의 트래픽이 분산되어, 링크의 부하를 분산하고 폭주를 방지할 수 있다.
다음으로, 본 실시형태의 효과를 설명한다.
종래에는, 링크 용량을 사용하여 비용을 계산하고, 스패닝 트리 구성 시에 경로를 선택하는데 그 비용을 이용하였기 때문에, 트래픽에 따른 동적인 부하 분산을 위한 경로 변경이 불가능하였다.
본 실시형태에서는, 자유 대역폭 및 서버 부하와 같은 동적인 정보에 기초하여 링크 비용을 계산함으로써, 트래픽 부하의 분산이 가능하다.
또한, 종래에는, 트래픽 상태에 따라 비용을 동적으로 변경시키려 할 때마다, 데이터 프레임의 포워딩이 국부적 또는 전체 네트워크에 걸쳐서 정지되는 동안에 스패닝 트리가 재구성되어 경로가 변경되었기 때문에, 종종, 재구성 중에 네트워크가 정지하였다.
본 실시형태에서는, 변경 전에 존재하는 트리를 계속 운용하면서 비용 변경 후의 스패닝 트리를 발생시키고, 신규한 트리가 안정된 후에 사용되는 스패닝 트리를 스위칭함으로써, 경로 변경에 동반하는 스패닝 트리 재구성을 위해 네트워크를 정지하지 않고도 부하를 분산할 수 있다.
또한, 이것은, 폭주 발생 가능성을 감소시키도록 한다.
(제 4 실시형태)
이하, 본 발명의 제 4 실시형태를 도면을 참조하여 상세히 설명한다.
본 발명의 제 4 실시형태는, 제 1 실시형태에서 이용되는 태그 및 스패닝 트리가 수신지 노드의 함수로서 스위칭되고, 수신지 노드가 루트 노드로 설정되는 경우에 대응한다.
IEEE 802.1D 및 IEEE 802.1w 가 동작하고 있는 네트워크를 통하여 프레임이 송신되면, 수신지로의 최소 비용을 갖는 경로가 항상 선택되지 않고, 미사용 링크가 생기고, 루트 노드 장애 발생 시에 네트워크가 장시간 정지하는 등의 문제가 있었다.
본 실시형태에서는, 수신지가 루트 노드로서 제공되는 트리를 사용하여 프레임을 포워딩함으로써, 수신지로의 최소 비용으로의 프레임 송신, 링크 이용율의 향상, 및 루트 노드 장애에 대한 내성 강화가 실현된다.
도 20 을 참조하면, 본 발명의 제 4 실시형태는, 네트워크에서 존재하는 노드의 수 만큼 트리 매니저 (1151) 가 제 1 실시형태의 도 8 에 확립되어 있다는 점에서 제 1 실시형태와 상이하다.
트리 매니저 (1151) 는, 본 발명의 제 1 실시형태의 도 8 에 도시되어 있는 트리 매니저 (1151) 와 동일한 기능을 가진다.
트리 매니저 (1152) 와 트리 매니저 (1153) 는 트리 매니저 (1151) 와 동일한 트리 매니저이다. 이후, 비록 트리 매니저 (1151∼1153) 의 대표로서 트리 매니저 (1151) 를 사용하여 설명하지만, 트리 매니저 (1151) 에 관한 설명은, 특별히 언급하지 않으면, 트리 매니저 (1152 ~ 1153) 에도 동일하게 적용 가능하다.
네트워크 내에서 존재하는 노드의 수 만큼의 트리 매니저, 또는 서브네트 (subnet) 등을 분할하여 계층 (hierarchy) 을 생성하는 경우에 동일한 계층 내에서 존재하는 노드의 수는 트리 선택기 (116) 에 의해 생성된다. 따라서, 비록 트리 매니저의 수가 1 부터 무한대까지 증가할 수도 있지만, 도 20 에서는 트리 매니저들을 트리 매니저 (1151 ∼1153) 로서 총괄하여 표현한다.
도 20 의 트리 선택기 (116) 는, 본 발명의 제 1 실시형태의 도 8 에 도시되어 있는 트리 선택기 (116) 의 기능 이외에, 네트워크 또는 계층 내에서 신규한 노드를 검출하는 경우에 신규한 트리 매니저를 생성하는 기능을 가진다. 또한, 신규한 노드의 검출을 다른 노드에게 통지하는 기능, 및 다른 노드로부터 신규한 노드의 검출통지를 수신하여 트리 매니저를 생성하는 기능을 가진다. 또한, 노드의 삭제를 검출하여 트리 매니저를 삭제하는 기능, 삭제 노드의 검출을 다른 노드에게 통지하는 기능, 및 다른 노드로부터 노드의 삭제통지를 수신하여 트리 매니저를 삭제하는 기능을 가진다.
도 21 은, 본 실시형태의 도 20 에서, 태그를 키로서 취함으로써 출력 포트를 결정하는 포워딩 테이블 (114) 의 구성예이다.
탐색용 인덱스로서 제공되는 필드인 태그 필드 (1141) 는, 이 필드의 정보가 수신 프레임의 태그에 기재되어 있는 내용과 일치하는지 여부를 체크한다.
출력 포트 (1142) 는, 수신 프레임의 태그에 기재되어 있는 내용이 필드 (1141) 의 내용과 일치한 경우에, 그 프레임이 포워딩되어야 하는 포트를 설명하는 필드이다.
또한, 본 실시형태는, 태그 포워딩이 본 동작예에서 나타내는 바와 같은 태그의 내용에 따라 포워딩 수신지 포트를 결정하도록 수행되는 경우 뿐만 아니라, MAC 어드레스에 따라 포워딩 수신지를 결정하는 (종래로부터 수행된) 통상의 MAC 어드레스 포워딩에도 동일하게 적용가능하다. 이 경우, 적절한 MAC 어드레스에 대응하는 복수의 포트가 출력 포트 필드 (1142) 에 기재될 수도 있다.
도 22 는, 본 실시형태의 도 20 에서, 수신지 MAC 어드레스를 키로서 삽입하는 태그를 결정하는 태그 테이블 (117) 의 구성예이다.
탐색용 인덱스로서 제공되는 필드인 수신지 MAC 어드레스 (1171) 는 이 필드의 정보가 수신 프레임의 수신지 MAC 어드레스 필드, 즉, MAC DA 필드에 기재되어 있는 내용과 일치하는지 여부를 체크하고, 일치한 경우, 삽입 태그 필드 (1172) 에 기재된 태그를 수신 프레임에 삽입한다.
삽입 태그 필드 (1172) 는, 삽입해야 할 태그가 수신지 MAC 어드레스 필드 (1171) 에 관하여 기재되는 필드이다. 본 실시형태에서는, 수신지 노드 ID 가 기재되고, 그 ID 는 태그로서 프레임에 삽입된다.
도 23 은, 노드 (11) 가 루트 로드로서 제공되는 스패닝 트리의 구성도인 트리 (61) 의 구성도이다. 트리 (61) 는, 노드 (11) 의 우선순위 값이 노드 (12 ~ 16) 의 각 노드보다 더 작은 값으로 설정되도록 생성된다. 트리 (61) 는, 노드 (11) 를 지향하는 프레임을 송신하고, 브로드캐스트 프레임을 노드 (11) 로부터 노드 (12 ~ 16) 의 각 노드로 송신하는데 이용된다.
도 24 는, 노드 (12) 가 루트 로드로서 제공되는 스패닝 트리의 구성도인 트리 (62) 의 구성도이다. 트리 (62) 는, 노드 (12) 의 우선순위 값이 노드 (11) 및 노드 (13 ~ 16) 의 각 노드보다 더 작은 값으로 설정되도록 생성된다. 트리 (62) 는, 노드 (12) 를 지향하는 프레임을 송신하고, 브로드캐스트 프레임을 노드 (12) 로부터 노드 (11) 및 노드 (13 ~ 16) 의 각 노드로 송신하는데 이용된다.
도 25 는, 노드 (13) 가 루트 로드로서 제공되는 스패닝 트리의 구성도인 트리 (63) 의 구성도이다. 트리 (63) 는, 노드 (13) 의 우선순위 값이 노드 (11 ~ 12) 및 노드 (14 ~ 16) 의 각 노드보다 더 작은 값으로 설정되도록 생성된다. 트리 (63) 는, 노드 (13) 를 지향하는 프레임을 송신하고, 브로드캐스트 프레임을 노드 (13) 로부터 노드 (11 ~ 12) 및 노드 (14 ~ 16) 의 각 노드로 송신하는데 이용된다.
도 26 은, 노드 (14) 가 루트 로드로서 제공되는 스패닝 트리의 구성도인 트리 (64) 의 구성도이다. 트리 (64) 는, 노드 (14) 의 우선순위 값이 노드 (11 ~ 13) 및 노드 (15 ~ 16) 의 각 노드보다 더 작은 값으로 설정되도록 생성된다. 트리 (64) 는, 노드 (14) 를 지향하는 프레임을 송신하고, 브로드캐스트 프레임을 노드 (14) 로부터 노드 (11 ~ 13) 및 노드 (15 ~ 16) 의 각 노드로 송신하는데 이용된다.
도 27 는, 노드 (15) 가 루트 로드로서 제공되는 스패닝 트리의 구성도인 트리 (65) 의 구성도이다. 트리 (65) 는, 노드 (15) 의 우선순위 값이 노드 (11 ~ 14) 및 노드 (16) 의 각 노드보다 더 작은 값으로 설정되도록 생성된다. 트리 (65) 는, 노드 (15) 를 지향하는 프레임을 송신하고, 브로드캐스트 프레임을 노드 (15) 로부터 노드 (11 ~ 14) 및 노드 (16) 의 각 노드로 송신하는데 이용된다.
도 28 은, 노드 (16) 가 루트 로드로서 제공되는 스패닝 트리의 구성도인 트리 (66) 의 구성도이다. 트리 (66) 는, 노드 (16) 의 우선순위 값이 노드 (11 ~ 15) 의 각 노드보다 더 작은 값으로 설정되도록 생성된다. 트리 (66) 는, 노드 (16) 를 지향하는 프레임을 송신하고, 브로드캐스트 프레임을 노드 (16) 로부터 노드 (11 ~ 15) 의 각 노드로 송신하는데 이용된다.
다음으로, 도 23 내지 28 을 이용하여, 노드 (11 ~ 12) 및 노드 (14 ~ 16) 에 의해 이미 형성되어 있는 네트워크에 노드 (13) 가 새롭게 추가된 경우에서, 트리 (63) 의 생성 동작을 설명한다.
네트워크에 노드 (13) 가 추가되면, 노드 (13) 는 인접 노드로부터 송신되는 BPDU 프레임을 수신하고, 새롭게 검출되는 식별 태그마다 트리 매니저를 생성한다. 이 예에서는, 노드 (11 ~ 12) 및 노드 (14 ~ 16) 의 각 노드가 루트 노드로서 제공되는 5 개의 트리 매니저가 생성된다.
다음으로, 노드 (13) 는 노드 ID 로부터 태그 ID 를 생성하고, 자신의 노드의 우선순위 값을 낮게 설정하는 트리 매니저를 생성하고, 그 트리 매니저에 의해 출력되는 BPDU 에 태그 ID 를 부가하여 송신한다. 여기서, 태그 ID 는 43 이라고 가정한다.
노드 (12 및 16) 는, 태그 ID 가 43 인 BPDU 를 새롭게 수신하고, 트리 매니저를 생성하고, 태그 ID (43) 을 부가한 BPDU 를 인접 노드로 송신한다.
BPDU 를 송신하는 상기 동작을 반복함으로써, 트리 (63) 가 완성된다.
다음으로, 도 (23 ~ 28) 를 참조하여, 그 각각의 도면에서의 노드 (11 ~ 16) 의 각 노드가 프레임을 노드 (11 ~ 16) 의 각 노드로 송신하는 경우에서의 절차를 설명하여, 송신된 프레임이 최소 비용의 경로를 통하여 수신지로 전달되고 링크 자원의 부하 분산이 실현됨을 나타낸다. 또한, 각 링크의 비용은 동일하고, 각 도면에서의 트리 (61 ~ 66) 각각의 구성이 완료하며, 토폴로지가 안정적이라고 가정한다.
트리 (61) 는, 노드 (12 ~ 16) 의 각 노드로부터 노드 (11) 로 프레임을 송신하는데 사용된다. 예를 들어, 노드 (15) 로부터 노드 (11) 로 프레임을 송신할 경우, 노드 (15) 는 트리 (61) 의 식별 태그인 태그 ID (41) 를 데이터 프레임에 부가하여 송신한다.
트리 (62) 는, 노드 (11) 및 노드 (13 ~ 16) 의 각 노드로부터 노드 (12) 로 프레임을 송신하는데 사용된다. 예를 들어, 노드 (14) 로부터 노드 (12) 로 프레임을 송신할 경우, 노드 (14) 는 트리 (62) 의 식별 태그인 태그 ID (42) 를 데이터 프레임에 부가하여 송신한다.
트리 (63) 는, 노드 (11 ~ 12) 및 노드 (14 ~ 16) 의 각 노드로부터 노드 (13) 로 프레임을 송신하는데 사용된다. 예를 들어, 노드 (11) 로부터 노드 (13) 로 프레임을 송신할 경우, 노드 (11) 는 트리 (63) 의 식별 태그인 태그 ID (43) 를 데이터 프레임에 부가하여 송신한다.
트리 (64) 는, 노드 (11 ~ 13) 및 노드 (15 ~ 16) 의 각 노드로부터 노드 (14) 로 프레임을 송신하는데 사용된다. 예를 들어, 노드 (12) 로부터 노드 (14) 로 프레임을 송신할 경우, 노드 (12) 는 트리 (64) 의 식별 태그인 태그 ID (44) 를 데이터 프레임에 부가하여 송신한다.
트리 (65) 는, 노드 (11 ~ 14) 및 노드 (16) 의 각 노드로부터 노드 (15) 로 프레임을 송신하는데 사용된다. 예를 들어, 노드 (16) 로부터 노드 (15) 로 프레임을 송신할 경우, 노드 (16) 는 트리 (65) 의 식별 태그인 태그 ID (45) 를 데이터 프레임에 부가하여 송신한다.
트리 (66) 는, 노드 (11 ~ 15) 의 각 노드로부터 노드 (16) 로 프레임을 송신하는데 사용된다. 예를 들어, 노드 (14) 로부터 노드 (16) 로 프레임을 송신할 경우, 노드 (14) 는 트리 (66) 의 식별 태그인 태그 ID (46) 를 데이터 프레임에 부가하여 송신한다.
트리 (61) 는, 노드 (11) 로부터 네트워크 내의 모든 노드로 프레임을 브로드캐스팅하는데 사용된다. 예를 들어, 노드 (11) 는, 수신지가 브로드캐스트로서 제공되는 데이터 프레임에 트리 (61) 의 식별 태그인 태그 ID (41) 를 부가하여 송신한다.
트리 (62) 는, 노드 (12) 로부터 네트워크 내의 모든 노드로 프레임을 브로드캐스팅하는데 사용된다. 예를 들어, 노드 (12) 는, 수신지가 브로드캐스트로서 제공되는 데이터 프레임에 트리 (62) 의 식별 태그인 태그 ID (42) 를 부가하여 송신한다.
트리 (63) 는, 노드 (13) 로부터 네트워크 내의 모든 노드로 프레임을 브로드캐스팅하는데 사용된다. 예를 들어, 노드 (13) 는, 수신지가 브로드캐스트로서 제공되는 데이터 프레임에 트리 (63) 의 식별 태그인 태그 ID (43) 를 부가하여 송신한다.
트리 (64) 는, 노드 (14) 로부터 네트워크 내의 모든 노드로 프레임을 브로드캐스팅하는데 사용된다. 예를 들어, 노드 (14) 는, 수신지가 브로드캐스트로서 제공되는 데이터 프레임에 트리 (64) 의 식별 태그인 태그 ID (44) 를 부가하여 송신한다.
트리 (65) 는, 노드 (15) 로부터 네트워크 내의 모든 노드로 프레임을 브로드캐스팅하는데 사용된다. 예를 들어, 노드 (15) 는, 수신지가 브로드캐스트로서 제공되는 데이터 프레임에 트리 (65) 의 식별 태그인 태그 ID (45) 를 부가하여 송신한다.
트리 (66) 는, 노드 (16) 로부터 네트워크 내의 모든 노드로 프레임을 브로드캐스팅하는데 사용된다. 예를 들어, 노드 (16) 는, 수신지가 브로드캐스트로서 제공되는 데이터 프레임에 트리 (66) 의 식별 태그인 태그 ID (46) 를 부가하여 송신한다.
이상과 같은 방식으로 송신할 시에 태그를 부가한 후에 데이터 프레임을 포워딩함으로써, 그 데이터 프레임은 최소 비용을 갖는 경로를 통하여 포워딩될 수 있다. 또한, 상이한 루트 노드를 갖는 복수의 트리를 이용하여 프레임을 포워딩하기 때문에, 종래 기술 1 및 2 에 도시되어 있는 스패닝 트리와 같이, 루트 노드 부근에 트래픽이 집중하고, 루트 노드로부터 멀어질수록 링크의 사용율이 저감되는 현상이 발생하지 않고도, 트래픽 부하를 분산할 수 있음을 알 수 있다.
다음으로, 도 (23 ~ 28) 에서, 노드 (12) 에서 장애가 발생한 경우의 경우를 예로서 취함으로써, 노드에서 장애가 발생하는 경우의 동작을 설명한다. 또한, 초기 상태에서는, 트리 (61 ~ 66) 이 이미 구성되어 있고 안정적이라고 가정한다.
트리 (61) 의 경우, 노드 (12) 가 장애로 인하여 정지하면, IEEE 802.1w 에서 특정되는 신속 (rapid) 스패닝 트리 방식에 의해, 노드 (13) 로부터 노드 (11) 로의 루트로서, 링크 (25), 링크 (27), 링크 (26), 및 링크 (23) 를 경유하는 루트가 선택되어, 노드 (11) 로의 프레임의 포워딩 및 노드 (11) 로부터 각 노드로 브로드캐스팅되는 프레임의 포워딩을 계속한다.
트리 (62) 의 경우, 노드 (12) 가 장애로 인하여 정지하면, 노드 (12) 가 루트 노드이기 때문에, 트리가 재구성되어야 한다. 노드 (12) 와 다른 노드가 루트 노드가 되어, 노드 (12) 의 복원 이전에 트리 (62) 가 재구성된다. 비록 그 재구성을 위하여 IEEE 802.1D 에서는 수십 초가 걸리고, IEEE 802.1w 에서는 수 초가 걸리지만, 원래 트리 (62) 가, 각 노드로부터 루트 (12) 로 송신되는 프레임, 및 루트 (12) 로부터 각 노드로 브로드캐스팅되는 프레임을 위한 트리이기 때문에, 재구성에 많은 시간이 걸리더라도, 그 재구성은 노드 (12) 이외의 다른 노드들 사이의 통신에는 영향을 주지 않는다.
트리 (63) 의 경우, 노드 (12) 가 장애로 인하여 정지하면, IEEE 802.1w 에서 특정되는 신속 스패닝 트리 방식에 의해, 노드 (11) 로부터 노드 (13) 로의 루트로서, 링크 (23), 링크 (26), 링크 (27), 및 링크 (25) 를 경유하는 루트가 선택되어, 노드 (13) 로의 프레임의 포워딩 및 노드 (13) 로부터 각 노드로 브로드캐스팅되는 프레임의 포워딩을 계속한다.
트리 (64) 의 경우, 노드 (12) 가 장애로 인하여 정지하면, IEEE 802.1w 에서 특정되는 신속 스패닝 트리 방식에 의해, 각각의 노드로부터 노드 (14) 로의 프레임, 및 노드 (14) 로부터 각 노드로 브로드캐스팅되는 프레임을 계속 포워딩하도록 트리가 재구성된다.
트리 (65) 의 경우, 노드 (12) 가 장애로 인하여 정지하면, IEEE 802.1w 에서 특정되는 신속 스패닝 트리 방식에 의해, 각각의 노드로부터 노드 (15) 로의 프레임, 및 노드 (15) 로부터 각 노드로 브로드캐스팅되는 프레임을 계속 포워딩하도록 트리가 재구성된다.
트리 (66) 의 경우, 노드 (12) 가 장애로 인하여 정지하면, IEEE 802.1w 에서 특정되는 신속 스패닝 트리 방식에 의해, 노드 (11) 로부터 노드 (16) 로의 루트로서, 링크 (23), 링크 (26), 및 링크 (27) 를 경유하는 루트가 선택되어, 노드 (16) 로의 프레임의 포워딩 및 노드 (16) 로부터 각 노드로 브로드캐스팅되는 프레임의 포워딩을 계속한다.
다음으로, 도 29 및 30 을 참조하여, 듀얼 홈 방식 (dual-homing) 에 의해 복수의 노드와 제 1 실시형태에서의 도 7 의 클라이언트의 일부가 접속되어 있는 경우의 스패닝 트리를 구성하는 방법을 말한다.
도 29 에서, 클라이언트 (97) 는 하나 이상의 클라이언트의 집합체이고, 링크 (87) 및 링크 (88) 를 통하여 자신과 노드 (15) 및 노드 (16) 와의 사이에서 프레임을 송/수신하는 기능을 가진다.
링크 (87) 는, 클라이언트 (97) 로부터 노드 (15) 에 접속하고, 노드 (15) 로부터 클라이언트 (97) 에 접속하는 양방향 링크이다.
링크 (88) 는, 클라이언트 (97) 로부터 노드 (16) 에 접속하고, 노드 (16) 로부터 클라이언트 (97) 에 접속하는 양방향 링크이다.
도 29 에서의 클라이언트 (97) 의 경우와 같이, 복수의 노드에 접속되는 일군의 클라이언트가 존재하면, 그 클라이언트를 가상 노드라고 간주함으로써, 스패닝 트리가 설정된다.
도 30 은, 클라이언트 (97) 가 도 29 에서 가상 노드 (18) 이라고 가정되는 경우의 네트워크 구성도이다.
스패닝 트리 (74) 는, 루트 노드로서 제공되는 노드 (18) 를 갖는 스패닝 트리이다. 노드 (11 ~ 16) 의 각 노드로부터 노드 (18) 로 송신되는 프레임은 스패닝 트리 (74) 를 이용하여 노드 (18), 즉, 클라이언트 (97) 에 도달한다. 또한, 클라이언트 (97), 즉, 노드 (18) 로부터 송신되는 브로드캐스트 프레임은 스패닝 트리 (74) 를 따라 노드 (11 ~ 16) 의 각 노드에 브로드캐스팅된다.
또한, 노드 (18) 는 가상 노드이기 때문에, 노드 (15 또는 16) 이 대신하여 노드 (18) 의 실제 동작을 수행한다. 노드 (15) 와 노드 (16) 의 어느 것이 노드 (18) 의 동작을 수행할지는, 구성 인터페이스 (118) 를 통한 수동 설정, 및 낮은 노드 ID 를 갖는 노드에 자동 설정 또는 높은 노드 ID 를 갖는 노드에 자동 설정과 같은 방법에 의해 결정된다.
다음으로, 도 29 를 참조하여, 클라이언트 (97) 가 링크 (87) 및 링크 (88) 를 통하여 듀얼 홈밍 방식에 의해 노드 (15) 및 노드 (16) 에 접속되는 경우에서, 가상 노드를 확립하지 않고 통신을 수행하는 방법을 설명한다.
도 29 에서, 노드 (15) 및 노드 (16) 는, 구성 인터페이스에서의 설정, 또는 학습 (learning) 에 의하여 클라이언트 (97) 가 복수의 노드에 접속됨을 검출한다. 노드 (15) 는 클라이언트 (97) 가 노드 (16) 에 접속됨을 검출한다. 노드 (16) 는 클라이언트 (97) 가 노드 (15) 에 접속됨을 검출한다.
노드 (15) 와 노드 (16) 는 서로 제어 메시지를 교환하여, 노드 (15) 또는 노드 (16 ) 의 어느 것이 프레임을 클라이언트 (97) 에 포워딩하는지를 결정한다. 포워딩 노드는, 낮은 노드 ID 를 갖는 노드, 높은 노드 ID 를 갖는 노드, 또는 설정에 의해 미리 정해진 노드에서 결정된다.
포워딩 노드가 결정되면, 클라이언트 (97) 는 오직 노드 (16) 에 접속되어 있다고 가정되며, 프레임의 포워딩이 시작된다. 노드 (11 ~ 16) 는, 클라이언트 (97) 가 노드 (16) 에 접속됨을 학습 등에 의해 인식하며, 루트 노드로서 제공되는 노드 (16) 을 갖는 트리의 식별 태그에 클라이언트 (97) 로 어드레싱된 프레임을 부가하여 송신한다.
노드 (15) 및 노드 (16) 는 생존 유지 (Keep Alive) 등에 의해 서로의 상태를 항상 모니터링한다. 만약 노드 (15) 가 노드 (16) 의 동작을 체크할 수 없으면, 노드 (15) 는 클라이언트 (97) 로부터의 프레임을 노드 (11 ~ 16) 로 포워딩한다. 그 후, 노드 (11 ~ 16) 는, 노드 ID로서 15 를 클라이언트 (97) 로부터 송신된 프레임에 부가함을 학습하고, 클라이언트 (97) 로 어드레싱되는 프레임을 노드 (15) 로 송신된다.
상술한 동작에 의해 클라이언트 (97) 가 프레임을 송/수신할 수 있다. 또한, 상술한 동작은, 노드 (15) 가 노드 (16) 로 대체되는 경우에도 동일하게 적용 가능하다.
다음으로, 도 29 를 참조하여, 클라이언트 (97) 가 링크 (87) 및 링크 (88) 를 통하여 듀얼 홈밍 방식에 의해 노드 (15) 및 노드 (16) 에 접속되는 경우에서, 가상 노드를 확립하지 않고 통신을 수행하고, 또한, 장애 검출 노드에게 네트워크 내의 모든 노드로 스위치 통지를 송신하게 함으로써, 클라이언트 (97) 의 접속 수신지가 변경되는 것을 신속하게 통지하는 방법을 설명한다.
도 29 에서, 노드 (15) 및 노드 (16) 는, 구성 인터페이스 (118) 에서의 설정, 또는 학습에 의하여 클라이언트 (97) 가 복수의 노드에 접속됨을 검출한다. 노드 (15) 는 클라이언트 (97) 가 노드 (16) 에 접속됨을 검출한다. 노드 (16) 는 클라이언트 (97) 가 노드 (15) 에 접속됨을 검출한다.
노드 (15) 와 노드 (16) 는 서로 제어 메시지를 교환하여, 노드 (15) 또는 노드 (16 ) 의 어느 것이 프레임을 클라이언트 (97) 에 포워딩하는지를 결정한다. 포워딩 노드는, 낮은 노드 ID 를 갖는 노드, 높은 노드 ID 를 갖는 노드, 또는 설정에 의해 미리 정해진 노드에서 결정된다.
포워딩 노드가 결정되면, 클라이언트 (97) 는 오직 노드 (16) 에 접속되어 있다고 가정되며, 프레임의 포워딩이 시작된다. 노드 (11 ~ 16) 는, 클라이언트 (97) 가 노드 (16) 에 접속됨을 학습 등에 의해 인식하며, 루트 노드로서 제공되는 노드 (16) 을 갖는 트리의 식별 태그에 클라이언트 (97) 로 어드레싱된 프레임을 부가하여 송신한다.
노드 (15) 및 노드 (16) 는 생존 유지 (Keep Alive) 등에 의해 서로의 상태를 항상 모니터링한다. 만약 노드 (15) 가 노드 (16) 의 동작을 체크할 수 없으면, 노드 (15) 는 클라이언트 (97) 로부터의 프레임을 노드 (11 ~ 16) 로 포워딩한다. 또한, 노드 (15) 는, 클라이언트 (97) 로 어드레싱된 프레임의 전송을 노드 (16) 대신에 노드 (15) 가 담당하게 된 것을 네트워크 내의 모든 노드에게 통지한다.
그 후, 노드 (11 ~ 16) 는 그 통지를 수신하고, 노드 (15) 로 어드레싱된 태그를 클라이언트 (97) 로 어드레싱된 프레임 내에 삽입하고, 클라이언트 (97) 로 어드레싱된 프레임을 노드 (15) 에 향하여 송신한다.
상술한 동작에 의해 클라이언트 (97) 가 프레임을 송/수신할 수 있다. 또한, 상술한 동작은, 노드 (15) 가 노드 (16) 로 대체되는 경우에도 동일하게 적용 가능하다.
다음으로, 본 실시형태의 효과를 설명한다.
종래에는, 수신지로의 최소 비용을 갖는 경로가 항상 선택되지는 않았다.
본 실시형태에서는, 수신지가 루트 노드로서 제공되는 트리를 사용하여 프레임을 포워딩함으로써, 수신지로의 최소 비용을 갖는 경로를 선택할 수 있다.
또한, 종래에는, 링크 이용율이 낮으면서 루트 노드 부근에 부하가 집중되는 문제가 있었다.
본 실시형태에서는, 상이한 루트 노드를 갖는 스패닝 트리의 복수의 시스템을 설정함으로써, 링크의 이용율을 증가시키고, 루트 노드 부근에 부하를 집중시키지 않고서 부하를 분산시킬 수 있다.
또한, 종래에는, 루트 노드 장애 발생 시의 트리 구성에 시간이 걸리고, 그 기간 동안에 네트워크가 정지하고 있다는 문제가 있었다.
본 실시형태에서는, 루트 노드로서 제공되는 수신지를 갖는 트리를 사용하여 프레임을 포워딩하는 것은, 수신지가 루트 노드로서 제공되는 프레임 이외의 프레임이 루트 노드 장애의 영향에 의해 장시간 포워딩될 수 없다는 사실을 제거하기 때문에, 루트 노드 장애로 인한 네트워크 정지를 피할 수 있다.
또한, 이것은 폭주 발생 가능성을 감소시키도록 한다.
(제 5 실시형태)
이하, 본 발명의 제 5 실시형태를 도면을 참조하여 상세히 설명한다.
본 발명의 제 5 실시형태는, 제 1 실시형태에서 BPDU 의 버전을 식별함으로써, 저속 IEEE 802.1D, 즉, 종래 기술 1 을 사용하는 섹션에게는 비용을 더 높게 설정하고, 고속 IEEE 802.1w, 즉, 종래 기술 2 을 사용하는 섹션에게는 비용을 더 낮게 설정하여 스패닝 트리를 생성하는 경우에 대응한다.
IEEE 802.1D 를 사용하는 섹션에서는, 장애 발생 시에 루트의 스위칭이 느리고, 스패닝 트리의 재구성에도 장시간이 걸리기 때문에, 그 섹션을 통과하는 트리가 설정되면, 장애 발생 시의 스위칭 및 루트 변경에는 많은 시간이 걸리고 폭주가 발생하여 프레임 손실이 발생하는 문제가 있었다.
본 실시형태에서는, IEEE 802.1D 를 사용하는 섹션의 비용을 더 크게 설정함으로써, IEEE 802.1D 를 이용하는 섹션을 통과하여 스패닝 트리가 설정되는 것을 방지하고, 장애 발생 시의 스위칭 또는 루트 변경을 가속화하고, 폭주 발생 및 프레임 손실을 방지한다.
도 31 을 참조하면, 본 발명의 제 5 실시형태는, 제 1 실시형태의 도 10 에 비용 조작기 (11516) 가 추가되어 있다는 점에서 제 1 실시형태와 상이하다.
본 발명의 제 1 실시형태에서의 트리 제어기 (11514) 의 동작을 수행하는 것 이외에, 트리 제어기 (11514) 는 수신 BPDU 의 버전을 결정하고, 만약 미리 설정된 버전보다 더 낮은 버전의 BPDU 가 수신되었으면, 그 BPDU 를 송신한 노드가 접속되어 있는 링크의 비용을 비용 조작기 (11516) 에 의해 재설정하고, 트리 테이블 (11515) 에 기재한다. 또한, 이 동작은, 트리 선택기 (116) 로부터 비용 변경 통지를 수신할 때마다 한번만 수행한다.
비용 조작기 (11516) 는 트리 제어기 (11514) 에 의해 입력된 값에 미리 설정된 값을 가산하고, 트리 제어기 (11514) 에 반환한다.
BPDU 송/수신기 (11512) 로부터 BPDU 수신 통지를 수신하면, 트리 제어기 (11514) 는 통지의 내용에 따라 트리 테이블 (11515) 내의 값을 설정한다. BPDU 수신 통지는 수신된 BPDU 의 버전 및 수신 포트에 대한 정보를 포함하는데, 이 정보 또한 트리 테이블 (11515) 에서 유지된다.
비용 정보가 트리 선택기 (116) 에 의해 통지될 경우, 트리 제어기 (11514)는, 통지된 정보에 따라 테이블 내의 비용 값을 설정한다. 이 때, 미리 설정된 버전 보다 더 오래된 버전을 갖는 BPDU 를 수신한 포트에 대하여 비용이 설정되는 경우, 트리 제어기 (11514) 는 트리 선택기 (116) 에 의해 통지된 비용을 비용 조작기 (11516) 에게 통지한다.
비용 조작기 (11516) 는 트리 제어기 (11514) 에 의해 입력된 값에 미리 설정된 값을 가산하여, 트리 제어기 (11514) 에 반환한다.
트리 제어기 (11514) 는, 비용 조작기 (11516) 에 의해 반환된 비용을 그 포트의 비용으로서 트리 테이블 (11515) 에게 통지한다.
모든 포트에 대한 비용 업데이트를 완료할 때, 트리 제어기 (11514) 는 스패닝 트리 알고리즘에 따라 트리를 재구성한다.
다음으로, 도 32 내지 도 34 를 참조하여, 본 실시형태에서의 스패닝 트리를 생성하는 동작을 말한다.
도 32 내지 도 34 에서, 노드 (12) 는 IEEE 802.1w 가 아닌 IEEE 802.1D 만을 지원한다고 가정한다. 노드 (12) 이외의 노드, 즉, 노드 (11), 노드 (13), 노드 (14), 노드 (15) 및 노드 (16) 는 IEEE 802.1w 를 지원하는 것으로 가정한다.
노드 (11), 노드 (15), 및 노드 (13) 의 각 노드는, 노드 (12) 로부터 송신되는 BPDU 프레임 내의 버전 정보 또는 프로토콜 ID 에 기초하여 노드 (12) 가 802.1D 만을 지원함을 인식한다.
노드 (11), 노드 (15), 및 노드 (13) 의 각 노드는, 링크 (21), 링크 (22) 및 링크 (24) 의 각 링크의 비용을 다른 링크의 비용 보다 충분히 더 높게 설정한다. 여기서는, 링크 (21), 링크 (22), 및 링크 (24) 의 비용은 10 으로 설정하고, 다른 링크, 즉, 링크 (23), 링크 (26), 링크 (27), 및 링크 (25) 의 비용은 1 로 설정한다.
도 32 는, 비용 설정 상태에서, 노드 (11) 또는 노드 (14) 가 루트 노드로서 제공되는 경우의 스패닝 트리의 구성도이다.
도 33 은, 비용 설정 상태에서, 노드 (15), 노드 (16) 또는 노드 (14) 가 루트 노드로서 제공되는 경우의 스패닝 트리의 구성도이다.
도 34 는, 비용 설정 상태에서, 노드 (13) 또는 노드 (16) 가 루트 노드로서 제공되는 경우의 스패닝 트리의 구성도이다.
도 32 내지 도 34 에 도시된 바와 같이, 본 실시형태는, 장애 복구에 시간이 걸리는 IEEE 802.1D 를 이용하는 섹션을 피하도록 트리가 구성되게 하여, 장애 발생 시에 전체 네트워크에 대한 영향을 감소시키고, 장애를 신속하게 복구시킬 수 있다.
다음으로, 본 실시형태의 효과를 설명한다.
종래에는, IEEE 802.1D 를 이용하는 섹션에서, 루트의 스위칭이 장애 발생 시에 느리고, 스패닝 트리의 재구성에도 긴 시간이 걸렸다.
본 실시형태에서는, IEEE 802.1D 를 이용하는 섹션의 비용을 더 크게 설정함으로써, IEEE 802.1D 를 이용하는 섹션을 통과하여 스패닝 트리가 설정되는 것을 방지하고, 장애 발생 시의 스위칭 및 루트 변경을 가속화하고, 폭주 발생 및 프레임 손실의 가능성을 감소시킬 수 있다.
(제 6 실시형태)
이하, 본 발명의 제 6 실시형태를 도면을 참조하여 상세히 설명한다.
본 발명의 제 6 실시형태는, 제 1 실시형태에서 분별기가 BPDU 의 버전을 식별하여, 트리 선택기를 통해, IEEE 802.1D 를 이용하는 저속 섹션의 수 만큼 트리 매니저를 생성함으로써, IEEE 802.1D 를 이용하는 섹션에서 장애가 발생한 경우에, 그 섹션을 우회하는 경로를 신속하게 제공하는 경우에 대응한다.
IEEE 802.1D 를 이용하는 섹션에서, 루트의 변경은 장애 발생 시에 느리고, 스패닝 트리의 재구성에도 긴 시간이 걸리기 때문에, 그 섹션에서 장애가 발생할 경우에 장애 발생 시의 스위칭 및 루트변경에 시간이 걸리고 폭주가 발생하여 프레임이 손실되는 문제가 있었다.
본 실시형태에서는, IEEE 802.1D 를 이용하는 섹션의 수 만큼의 트리 매니저를 생성하고, IEEE 802.1D 를 이용하는 섹션의 비용을 더 높게 설정한 상이한 트리를 IEEE 802.1D 이용 섹션 마다 생성함으로써, 그리고, 장애 등으로 인해 섹션을 우회시키는 것이 요구되는 경우에, 그 섹션에 대하여 더 큰 비용을 할당하는 트리를 이용함으로써, 신속하게 우회시킬 수 있고 폭주 발생 및 프레임 손실을 방지할 수 있다.
도 35 를 참조하면, 본 발명의 제 6 실시형태는, 본 발명의 제 1 실시형태의 도 8 에서, 트리 매니저 (1151) 가 IEEE 802.1D 이용 섹션의 수 만큼 존재한다는 점에서 제 1 실시형태와 상이하다.
본 발명의 제 1 실시형태의 도 8 에 도시되어 있는 트리 매니저 (1151) 의 기능을 갖는 것 이외에, 트리 매니저 (1151) 는, 수신된 BPDU 프레임이 버전 필드 또는 다른 수단에 의해 IEEE 802.1D 와 호환됨을 확인할 수 있는 경우에, BPDU 프레임에 관하여 802.1D 프레임 수신 통지를 트리 선택기 (116) 로 송신한다. 802.1D 와 호환되는 BPDU 프레임을 송신한 노드의 노드 ID 는 802.1D 프레임 수신 통지에 기재된다.
트리 매니저 (1152) 및 트리 매니저 (1153) 는 트리 매니저 (1151) 와 동일한 트리 매니저이다. 이후, 비록 트리 매니저 (1151∼1153) 의 대표로서 트리 매니저 (1151) 를 사용하여 설명하지만, 트리 매니저 (1151) 에 관한 설명은, 특별히 언급하지 않으면, 트리 매니저 (1152 ~ 1153) 에도 동일하게 적용 가능하다.
IEEE 802.1D 를 이용하는 섹션의 수 만큼의 트리 매니저가 트리 선택기 트리 선택기 (116) 에 의해 생성된다. 따라서, 비록 트리 매니저의 수가 1 부터 무한대까지 증가할 수도 있지만, 도 35 에서는 트리 매니저들을 트리 매니저 (1151 ∼1153) 로서 총괄하여 표현한다.
본 발명의 제 1 실시형태의 도 8 에 도시되어 있는 트리 선택기 (116) 의 기능을 갖는 것 이외에, 트리 선택기 (116) 는, 트리 매니저 (1151 ~ 1153) 중 어느 하나의 트리 매니저로부터 802.1D 프레임 수신 통지를 받은 경우에, 신규한 트리 매니저를 생성하는 기능, 802.1D 를 이용하는 노드를 네트워크 내의 다른 노드에게 통지하는 기능, 및 다른 노드에 의해 송신된 802.1D 를 이용하는 노드에 대한 통지에 기초하여, 트리 매니저를 생성하는 기능을 가진다.
트리 선택기 (116) 는, 상술한 기능 이외에, 802.1D 를 이용하는 노드가 버전 업그레이드 등과 같은 어떠한 원인으로 인해 802.1w 를 이용할 수 있다는 사실을 검출하여 트리 매니저를 삭제하는 기능, 삭제에 관한 정보를 네트워크 내의 다른 노드에 전달하는 기능, 및 다른 노드에 의해 통지된 그 삭제 정보에 근거하여, 트리 매니저를 삭제하는 기능을 가진다.
도 36 은, 노드 (11) 가 루트 노드로서 제공되고 IEEE 802.1w 의 통상적인 절차에 의해서 생성되는 트리 (67) 의 구성도이다.
도 37 은, 노드 (11) 가 루트 노드로서 제공되고 트리 (21) 의 비용을 더 크게 설정하여 생성되는 트리 (68) 의 구성도이다. 또한, 이 트리는 링크 (21) 에서 장애가 발생하는 경우에도 이용된다.
도 38 은, 노드 (11) 가 루트 노드로서 제공되고 트리 (22) 의 비용을 더 크게 설정하여 생성되는 트리 (69) 의 구성도이다. 또한, 이 트리는 링크 (22) 에서 장애가 발생하는 경우에도 이용된다.
도 39 는, 노드 (11) 가 루트 노드로서 제공되고 트리 (24) 의 비용을 더 크게 설정하여 생성되는 트리 (70) 의 구성도이다. 또한, 이 트리는, 링크 (24) 에서 장애가 발생하는 경우에도 이용된다.
다음으로, 도 36 내지 도 39 를 참조함으로써, 도 36 내지 도 39 의 노드 (12) 가 IEEE 802.1w 를 지원하지 않고 링크 (21), 링크 (22) 및 링크 (24) 에서 IEEE 802.1D 가 이용되는 경우에서의 동작을 설명한다. 또한, 루트 노드는 노드 (11) 이다.
먼저, 도 36 에 도시되어 있는 스패닝 트리 (67) 가 IEEE 802.1w 에 따라 통상의 절차에 의해 형성된다. 이 때, 노드 (12) 는 802.1w 를 지원하지 않기 때문에, IEEE 802.1D 의 프로토콜 ID 가 부가된 BPDU 프레임이 노드 (12) 로부터 송신된다.
IEEE 802.1D 의 프로토콜 ID 가 부가된 BPDU 를 노드 (12) 로부터 수신하면, 노드 (11) 는 신규한 트리 매니저를 생성하고, 링크 ID, 노드 ID 등으로부터 계산되는 특정한 태그 ID 를 트리 매니저에게 할당하고, GVRP 프레임 또는 다른 프레임을 통하여 모든 노드에 신규한 그룹의 생성을 브로드캐스팅한다. 여기서는, 신규한 태그 ID 로서 태그 ID (48) 가 할당된다고 가정한다. 이 때, 링크 (21) 의 비용은 더 크게 설정한다.
노드 (12 ~ 16) 는, 노드 (11) 에 의해 송신된 신규한 그룹 생성 통지를 수신 및 포워딩하고, 트리 매니저를 생성하여 BPDU 의 교환을 시작한다. 신규하게 생성된 트리 매니저들 사이에서 교환되는 BPDU에는, 태그 ID (48) 을 갖는 태그가 부가된다. 이 때에 생성되는 스패닝 트리는 트리 (68) 인 것으로 가정한다.
IEEE 802.1D 의 프로토콜 ID 가 부가된 BPDU 를 노드 (12) 로부터 수신하면, 노드 (13) 는 신규한 트리 매니저를 생성하고, 링크 ID, 노드 ID 등으로부터 계산되는 특정한 태그 ID 를 트리 매니저에게 할당하고, GVRP 프레임 또는 다른 프레임을 통하여 모든 노드에 신규한 그룹의 생성을 브로드캐스팅한다. 여기서는, 신규한 태그 ID 로서 태그 ID (49) 가 할당된다고 가정한다. 이 때, 링크 (22) 의 비용은 더 크게 설정한다.
노드 (11 ~ 12) 및 노드 (14 ~ 16) 는, 노드 (13) 에 의해 송신된 신규한 그룹 생성 통지를 수신 및 포워딩하고, 트리 매니저를 생성하여 BPDU 의 교환을 시작한다. 신규하게 생성된 트리 매니저들 사이에서 교환되는 BPDU에는, 태그 ID (49) 을 갖는 태그가 부가된다. 이 때에 생성되는 스패닝 트리는 트리 (69) 인 것으로 가정한다.
IEEE 802.1D 의 프로토콜 ID 가 부가된 BPDU 를 노드 (12) 로부터 수신하면, 노드 (15) 는 신규한 트리 매니저를 생성하고, 링크 ID, 노드 ID 등으로부터 계산되는 특정한 태그 ID 를 트리 매니저에게 할당하고, GVRP 프레임 또는 다른 프레임을 통하여 모든 노드에 신규한 그룹의 생성을 브로드캐스팅한다. 여기서는, 신규한 태그 ID 로서 태그 ID (50) 가 할당된다고 가정한다. 이 때, 링크 (24) 의 비용은 더 크게 설정한다.
노드 (11 ~ 14) 및 노드 (16) 는, 노드 (15) 에 의해 송신된 신규한 그룹 생성 통지를 수신 및 포워딩하고, 트리 매니저를 생성하여 BPDU 의 교환을 시작한다. 신규하게 생성된 트리 매니저들 사이에서 교환되는 BPDU에는, 태그 ID (50) 을 갖는 태그가 부가된다. 이 때에 생성되는 스패닝 트리는 트리 (70) 인 것으로 가정한다.
평상 시에, 각 노드 사이의 통신용으로는 트리 (67) 이 사용되며, 트리 (68 ~ 70) 은 사용되지 않는다.
링크 (21) 에서 장애가 발생한 경우, 노드 (11) 는 링크 (21) 에서의 장애를 검출하고, 즉시 포워딩하기 위해 사용되는 트리를 트리 (67) 로부터 트리 (68) 로 스위칭한다. 또한, 태그 그룹 변경 통지를 모든 노드에 브로드캐스팅하여, 포워딩용으로 사용되는 태그를 태그 ID (48) 로 스위칭하도록 통지한다.
노드 (12 ~ 16) 의 각 노드는, 노드 (11) 에 의해 송신된 태그 그룹 변경 통지를 수신하고, 자신의 노드로부터 송신되는 프레임에 대하여 태그 ID (48) 를 갖는 태그를 삽입하여, 포워딩용으로 사용되는 트리를 트리 (67) 로부터 트리 (68) 로 스위칭한다.
또한, 링크 (21) 에서 장애가 발생할 때의 트리 (68) 로의 스위칭은 노드 (11) 대신에 노드 (12) 에 의해 수행될 수도 있다. 만약 노드 (12) 가 링크 (21) 에서의 장애를 검출하면, 즉시 포워딩하기 위해 사용되는 트리를 트리 (67) 로부터 트리 (68) 로 스위칭한다. 또한, 태그 그룹 변경 통지를 모든 노드에 브로드캐스팅하여, 포워딩용으로 사용되는 태그를 태그 ID (48) 로 스위칭하도록 통지한다. 이후의 동작은, 노드 (11) 가 장애를 검출하는 경우와 동일하다.
비록 트리 (67) 가 링크 (21) 에서의 장애로 인하여 재구성되지만, 링크 (21) 에서의 재구성은 802.1D 에 따라 수행되므로, 재구성이 완료할 때까지는 시간이 걸릴 수도 있다.
본 실시형태에서는, 링크 (21) 에서 장애가 발생할 시에, 포워딩용으로 이용되는 트리를 트리 (67) 로부터 트리 (68) 로 즉시 스위칭함으로써, 트리 (67) 의 재구성을 대기하지 않고 프레임을 계속 포워딩할 수 있다.
링크 (21) 에서 장애가 발생하는 경우의 동작을 설명하였지만, 그 동작은 링크 (22) 또는 링크 (24) 에서 장애가 발생하는 경우에도 동일하게 적용가능하다.
다음으로, 본 실시형태의 효과를 설명한다.
종래에는, IEEE 802.1D 를 이용하는 섹션에서, 루트의 스위칭이 장애 발생 시에 느리고, 스패닝 트리의 재구성에도 긴 시간이 걸렸다.
본 실시형태에서는, IEEE 802.1D 를 이용하는 섹션의 수 만큼 트리 매니저를 생성하고, IEEE 802.1D 를 이용하는 섹션의 비용을 더 높게 설정한 상이한 트리를 IEEE 802.1D 이용 섹션 마다 생성함으로써, 그리고, 장애 등으로 인해 섹션을 우회시키는 것이 요구되는 경우에, 그 섹션에 대하여 더 큰 비용을 할당하는 트리를 이용함으로써, 우회를 가속화하고 폭주 발생 및 프레임 손실의 가능성을 감소시킬 수 있다.
(제 7 실시형태)
이 후, 본 발명의 제 7 실시형태를 도면을 참조하여 상세히 설명한다.
본 발명의 제 7 실시형태는, 장애 검출기를 사용하여 정기적으로 짧은 간격으로 장애 검출용 프레임을 송신하고, 장애 검출용 프레임이 더 이상 도달하지 않는다는 것에 기초하여 장애를 검출하고, 그 장애 정보를 자원 모니터 및 트리 선택기를 통하여 트리 매니저에게 통지한다는 점에서 제 1 실시형태와 상이하다.
IEEE 802.1D 및 IEEE 802.1w 에서는, 정기적으로 송신되는 헬로우 (HELLO) 프레임의 미도달에 기초하여 장애를 검출하였다. 그러나, 헬로우 프레임의 송신 간격이 너무 길기 때문에, 장애를 검출하지 전에 긴 시간이 경과하였다.
본 실시형태에서는, 장애 검출용 프레임이 장애 검출기로부터 정기적으로 짧은 간격으로 송신되고, 장애 검출용 프레임의 소정 개수 또는 소정 시간 이상의 미도달에 기초하여 신속한 장애 검출이 수행된다.
도 40 을 참조하면, 본 발명의 제 7 실시형태는, 장애 검출용 프레임을 송수신하여 장애를 검출하는 장애 검출기 (120) 가 제 1 실시형태에서의 도 4 에 추가되어 있다는 점에서 제 1 실시형태와 상이하다.
장애 검출기 (120) 는 장애 검출용 프레임을 프레임 포워딩 유닛 (111) 를 통하여 인접 노드로 정기적으로 송신하고, 인접 노드에 의해 송신된 장애 검출용 프레임을 프레임 포워딩 유닛 (111) 을 통하여 수신하며, 인접 노드에 의해 송신된 장애 검출용 프레임이 소정 시간 이상 수신될 수 없을 경우, 및 소정 개수 이상의 장애 검출용 프레임의 미도착이 검출될 경우, 장애 검출 통지를 자원 모니터 (119) 로 송신한다.
자원 모니터 (119) 는, 제 1 실시형태의 자원 모니터 (119) 의 기능 이외에, 장애 검출기 (120) 로부터 장애 통지를 수신하고 그 장애 통지를 트리 선택기 (116) 에 포워딩하는 기능을 가진다.
트리 선택기 (116) 는, 제 1 실시형태의 트리 선택기 (116) 의 기능 이외에, 자원 모니터 (119) 로부터 장애 통지를 수신하고 트리 매니저 (1151 및 1152) 에 포워딩하는 기능을 가진다.
트리 매니저 (1151 및 1152) 는, 본 발명의 제 1 실시형태의 트리 매니저 (1151 ~ 1152) 의 기능을 수행하는 것 이외에, 트리 선택기 (116) 로부터 장애 통지를 수신하고, IEEE 802.1w 및 IEEE 802.1D 에 따라 스패닝 트리를 재구성한다.
다음으로, 도 40 을 참조하여, 노드 (11) 가 본 실시형태에서 링크 (21) 에서의 장애를 검출하는 경우의 동작예를 말한다.
장애 검출기 (120) 는, 프레임 포워딩 유닛 (111) 및 링크 (21) 또는 링크 (24) 를 통하여, 인접 노드인 노드 (12) 과 노드 (15) 로 장애 검출용 프레임을 정기적으로 송신한다.
또한, 장애 검출기 (120) 는, 인접한 노드 (12) 및 노드 (15) 로부터, 링크 (21) 또는 링크 (24) 및 프레임 포워딩 유닛 (111) 를 통하여 송신된 장애 검출용 프레임을 수신한다. 이 때, 장애 검출기 (120) 는, 장애 검출용 프레임이 도달한 포트의 ID 도 식별할 수 있다.
장애 검출용 프레임이 도달할 경우, 장애 검출기 (120) 는, 장애 검출용 프레임이 도달한 포트의 타이머를 활성화시켜, 소정 시간이 경과한 후에 통지를 발송하도록 설정한다.
장애 검출용 프레임을 수신하면, 장애 검출기 (120) 는 포트마다 설치된 타이머를 리셋시킨다. 예를 들어, 링크 (21) 로부터 장애 검출용 프레임을 수신할 경우, 링크 (21) 가 접속되어 있는 포트의 타이머가 리셋된다. 또한, 링크 (24) 로부터 장애 검출용 프레임을 수신할 경우, 링크 (24) 가 접속되어 있는 포트의 타이머가 리셋된다.
링크 장애 등으로 인하여, 소정 시간 이상이 경과한 후에도 장애 검출기 (120) 에서 장애 검출용 프레임이 도달하지 않으면, 타이머가 리셋되지 않기 때문에 타임-아웃 (time out) 이 발생한다. 타임-아웃이 발생할 경우, 장애 검출기 (120) 는 어떠한 종류의 장애가 발생하였음을 인식하고, 자원 모니터 (119) 및 트리 선택기 (116) 를 통하여, 트리 매니저 (1151) 및 트리 매니저 (1152) 에게 장애 발생을 통지한다.
그 통지를 받은 트리 매니저 (1151) 및 트리 매니저 (1152) 는, 장애가 발생된 포트가 사용 불가능한 것으로 간주하고, 스패닝 트리를 즉시 재구성하여, 장애를 피한다.
다음으로, 본 실시형태의 효과를 설명한다.
종래에는, 스패닝 트리 프로토콜에 의해 이용되는 헬로우 프레임의 송신 간격이 길기 때문에, 장애가 신속하게 검출될 수 없었다.
본 실시형태에서는, 장애 검출용 프레임을 짧은 간격으로 송/수신하는 장애검출기를 추가함으로써, 헬로우 프레임 보다 더 신속하게 장애를 검출할 수 있다.
또한, 이것은 폭주 발생 및 프레임 손실의 가능성을 감소시키도록 한다.
(제 8 실시형태)
이 하, 본 발명의 제 8 실시형태를 도면을 참조하여 상세히 설명한다.
본 발명의 제 8 실시형태는, 제 1 실시형태에서, 이용되는 태그 및 스패닝 트리를 수신지 노드의 함수로서 스위칭하고, 수신지의 노드를 루트 노드로 설정하는 구성을 가진다.
IEEE 802.1D 및 IEEE 802.1w 가 동작하고 있는 네트워크를 통하여 프레임을 송신하면, 수신지로의 최소 비용 경로가 항상 선택되지는 않고, 미사용 링크가 나타나고, 루트 노드에 부하가 집중되고, 루트 노드 장애 발생 시에 네트워크가 장시간 정지하는 등의 문제가 있었다.
본 실시형태에서는, 수신지가 루트 노드로서 제공되는 트리를 사용하여 프레임을 포워딩함으로써, 수신지로의 최소 비용으로의 프레임 송신, 링크 이용율의 향상, 및 루트 노드 장애에 대한 내성 강화가 실현된다.
도 41 을 참조하면, 본 발명의 제8의 실시형태는, 제 1 실시형태의 도 8 에서, 프레임 포워딩 유닛 (111) 은 프레임 포워딩 유닛 (111γ) 으로 대체되고, 포워딩 테이블 (114) 은 포워딩 테이블 (114γ) 로 대체되며, 매니저 (1151) 가, 동작을 변경한 이후에 네트워크에 존재하는 노드의 수 만큼 설치되어, 트리 매니저 (1151γ ~ 1153γ) 로 대체된다는 점에서 제 1 실시형태와 상이하다.
도 41 에는, 본 실시형태를 도 23 에 도시되어 있는 노드 (11) 에 적용한 경우를 나타낸 것이다.
프레임 포워딩 유닛 (111γ) 는, 링크 (21) 또는 링크 (23) 및 태그 삽입 유닛 (112) 으로 부터 수신된 프레임을 포워딩 테이블 (114γ) 의 출력 포트 (1142) 의 설명에 따라, 링크 (21) 또는 링크 (23) 및 태그 삭제 유닛 (113) 또는 트리 선택기 (116) 에 포워딩한다. 이와 같이 수행할 시, 만약 출력 포트 (1142) 의 설명이 초기값이면, 수신 프레임은 폐기한다.
포워딩 테이블 (114γ) 은 포워딩 테이블 (114) 과 동일한 포워딩 테이블이다.
비록 트리 매니저 (1151γ) 가 트리 매니저 (1151) 와 동일한 구성을 갖지만, 그 기능과 동작은 상이하다. 이후, 비록 트리 매니저 (1151γ ~ 1153γ) 의 대표로서 트리 매니저 (1151γ) 를 사용하여 설명하지만, 트리 매니저 (1151γ) 에 관한 설명은, 특별히 기재하지 않으면, 트리 매니저 (1152γ ~1153γ) 에 동일하게 적용 가능하다.
도 42 는, 포워딩 태그를 키로서 취함으로써 출력 포트를 결정하는 포워딩 테이블 (114γ) 의 구성예이다.
태그 필드 (1141)는 포워딩 테이블 (114) 내의 태그 필드와 동일한 태그 필드이다.
출력 포트 (1142) 는 포워딩 테이블 (114) 내의 출력 포트와 동일한 출력 포트이며, 유니캐스트 프레임을 포워딩할 경우에 프레임 포워딩 유닛 (111γ) 에 의해 참조된다.
도 42 에서, 출력 포트 (1142) 에서의 "END" 는, 에지 노드에서 수신지 노드 ID 에 대한 출력 포트 엔트리가 자신의 노드인 것을 나타내는 식별자이며, 예를 들어, 자신의 노드 ID 와 동일한 노드 식별자 엔트리에 대하여 그 출력 포트 필드에 기재된다.
도 43 은 트리 매니저 (1151γ) 의 구성을 나타낸 블록도이다.
도 23 에 도시된 바와 같이 스패닝 트리가 구성되어 있는 경우, 각 노드의 포트는, 그 스패닝 트리의 구성에 따라, 도 54 에 도시되어 있는 바와 같이 루트 포트, 지정 포트 (Designated Port) 또는 대체 (Alternate Port) 로서 결정된다. 루트 포트는 (R) 로서 도시되어 있고, 지정 포트는 (D) 로서 도시되어 있고, 대체 포트는 (ALT) 로서 도시되어 있다. 물론, 그 포트의 타입은 스패닝 트리의 구성(루트 노드의 위치) 에 의존한다.
트리 매니저 (1151γ) 가 송/수신하는 BPDU 프레임에 태그 그룹 (41) 의 태그가 부가된 경우, 트리 제어기 (11514γ) 는 IEEE 802.1w 또는 IEEE 802.1D 의 프로토콜에 따라 루트 포트를 결정한다. 본 실시형태에서는, 포워딩 테이블 (114γ) 의 태그 그룹 (41)의 엔트리에서 출력 포트 (1142) 로서 결정된 루트 포트가 설정된다. 이 경우, 적어도 6 개의 BPDU 프레임이 송/수신된다.
만약 루트 포트가 존재하지 않으면 (도 54 의 노드 (11)), 출력포트 (1142) 의 컬럼 (column) 은 자신의 노드로 지향된 포트로 설정되며, 프레임 포워딩 유닛에 의해 입력된 태그 그룹 (41)의 태그가 표기된 프레임이 태그 삭제 유닛 (113) 에 포워딩된다.
다음으로, 도 23 및 도 44 를 이용하면, 노드 (13) 로부터 노드 (11) 로의 유니캐스트를 예로서 취함으로써, 유니캐스트 프레임을 포워딩하는 동작을 설명한다.
도 44 는, 스패닝 트리 (61) 에서의 각 노드의 포트 설정 및 포워딩 테이블의 설정의 상태를 나타내는 테이블이다. 또한, 도 44 는 실제 테이블의 내용이 아니라, 전적으로 설정 상태를 나타낸 것이다.
도 23 에 도시되어 있는 상태에서, 태그 그룹 (41) 의 트리인 트리 (61) 는 이미 구성되어 안정적이고, 노드 (11 ~ 16) 의 각 노드의 루트 포트는 도 44 에서의 루트 포트 (6102) 로 나타낸 바와 같이 결정되어 있으며, 이 결과로서, 각 노드의 포워딩 테이블 (114) 에서의 출력 포트는 도 44 에서의 출력 포트 (1142) 에 나타낸 바와 같이 결정되어 있는 것으로 가정한다.
여기서, 트리 (61) 는, 루트 노드로서 제공되는 노드 (11) 를 갖는 트리를 나타낸다. 태그 (41) 는, 트리 (61) 를 나타내는 태그의 ID (값) 를 나타낸다. 즉, 태그 (41) 를 프레임에 부가한다는 것은, 트리 (61) 를 사용하여 프레임을 포워딩한다는 것을 의미한다. 이와 같이, 트리 번호, 노드 번호 및 태그 번호 각각의 1 의 자리의 숫자는 서로 대응하는 것을 나타내고 있다. 예를 들어, 트리 (62) 는, 루트로서 제공되는 노드 (12) 를 갖는 트리를 나타내며, 태그 (42) 는, 트리 (62) 를 나타내는 태그의 ID (값) 를 나타낸다. 이 양태는 다음의 설명에서도 같다.
일례로서 전술한 바와 같이, 트리, 노드, 및 태그 각각에 상이한 번호가 할당되는 경우를 설명하였지만, 이외에, 각각 대응하는 트리, 노드, 및 태그에 동일의 번호 (ID) 를 할당하여, 각각의 대응관계를 단순화하여 관리하는 것도 가능하다.
먼저, 노드 (13) 는, 노드 (11) 로 어드레싱된 유니캐스트 프레임에 태그 그룹 (41) 의 태그를 부가하여 그 프레임을 송신한다. 이렇게 함으로써, 트리 (61) 의 루트 포트인 링크 (22) 측의 포트는 노드 (13) 에서의 태그 그룹 (41) 의 프레임의 출력 수신지 포트로서 특정된다. 따라서, 그 프레임은 링크 (22) 측으로 출력된다.
링크 (22) 로부터 프레임을 수신하면, 노드 (12) 는 태그 그룹 (41) 를 키로서 취함으로써 포워딩 테이블을 탐색하여, 링크 (21) 측의 포트를 출력 포트로서 획득한다. 또한, 링크 (21) 측에서 수신된 프레임을 출력한다.
링크 (21) 로부터 프레임을 수신하면, 노드 (11) 는 자신의 노드로 어드레싱되어 있음을 체크하고, 그 프레임을 태그 삭제 유닛 (113) 에 포워딩한다.
상술한 동작에 의해 태그 그룹 (41) 의 태그 및 스패닝 트리 (61) 를 사용하여, 최소 비용 경로에 의해, 노드 (13) 로부터 노드 (11) 로 유니캐스트 프레임을 포워딩할 수 있다.
다음으로, 제 8 실시형태의 효과를 설명한다.
종래에는, 수신지로의 최소 비용 경로가 항상 선택되지는 않았지만, 본 실시형태에서는, 수신지가 루트 노드로서 제공되는 트리를 사용하여 프레임을 포워딩함으로써, 수신지로의 최소 비용 경로를 선택할 수 있다.
또한, 종래에는, 링크 이용율이 낮으면서 루트 노드 부근에 부하가 집중한다는 문제가 있었지만, 본 실시형태에서는, 상이한 루트 노드를 갖는 스패닝 트리의 복수의 시스템을 설정함으로써, 링크 이용율을 증가시킬 수 있으며, 루트 노드 부근에 부하를 집중시키지 않고 부하를 분산시킬 수 있다.
또한, 종래에는, 루트 노드 장애 발생 시의 트리 구성에 시간이 걸리고, 그 기간 동안 네트워크가 정지한다는 문제가 있었지만, 본 실시형태에서, 루트 노드로서 제공되는 수신지를 갖는 트리를 사용하여 프레임을 포워딩하는 것은, 수신지가 루트 노드로서 제공되는 프레임 이외의 프레임이 루트 노드 장애의 영향에 의해 장시간 포워딩될 수 없다는 사실을 제거하기 때문에, 루트 노드 장애로 인한 네트워크 정지를 피할 수 있다. 또한, 이것에 의해 폭주 발생의 가능성을 감소시킬 수 있다.
(제 9 실시형태)
이하, 본 발명의 제 9 실시형태를 도면을 참조하여 상세히 설명한다.
본 발명의 제 9 실시형태는, 제 8 실시형태에서와 같은 종래의 유니캐스트용 출력 포트 이외에, 복수의 브로드캐스트용 출력 포트를 포워딩 테이블에 기재하여, 브로드캐스트 프레임을 포워딩할 수 있는 구성을 가진다.
본 실시형태에서는, 브로드캐스트 프레임의 소스 노드가 루트 노드로서 제공되는 트리를 사용하여 브로드캐스트 프레임을 포워딩함으로써, 브로드캐스트 프레임이 최단 경로로 각 노드에 송신될 수 있어서 신속한 포워딩이 달성된다.
도 45 를 참조하면, 본 발명의 제 9 실시형태는, 제 8 실시형태의 도 41 에 서, 프레임 포워딩 유닛 (111) 이 프레임 포워딩 유닛 (111β) 로 대체되고, 포워딩 테이블 (114) 이 포워딩 테이블 (114β) 로 대체되고, 트리 매니저 (1151 ~ 1153) 가 트리 매니저 (1151β ~ 1153β) 로 대체된다는 점에서 제 8 실시형태와 상이하다.
도 45 는, 본 실시형태가 도 23 에 도시되어 있는 노드 (11) 에 적용되는 경우를 나타낸 것이다.
프레임 포워딩 유닛 (111β)는 링크 (21) 또는 링크 (24) 및 태그 삽입 유닛 (112) 으로부터 수신된 프레임을 포워딩 테이블 (114β) 의 설명에 따라서, 링크 (21) 또는 링크 (24) 및 태그 삭제 유닛 (113) 또는 트리 선택기 (116) 에 포워딩한다.
이렇게 함으로써, 만약 입력된 프레임이 유니캐스트 프레임이면, 수신된 프레임은 포워딩 테이블 (114β) 의 출력 포트 (1142) 에 기재된 포트에 포워딩된다.
만약 입력된 프레임이 브로드캐스트 프레임이면, 수신된 프레임은 포워딩 테이블 (114β) 의 브로드캐스트 출력 포트 (1144) 에 기재된 복수의 포트 및 태그 삭제 유닛에 복사 및 포워딩된다. 또한, 만약 브로드캐스트 출력 포트에 초기값이 설정되어 있으면, 수신된 프레임은 오직 태그 삭제 유닛으로만 포워딩된다.
브로드캐스트 프레임과 유니캐스트 프레임의 판별은, 수신지 MAC 어드레스 (3201) 또는 확장태그의 우선순위 (5003), 또는 확장 태그 정보 필드 (5004) 에 기초하여 수행된다.
포워딩 테이블 (114β) 은 브로드캐스트 출력 포트 (1144) 컬럼이 부가된 포워딩 테이블 (114) 를 포함하는 포워딩 테이블이다. 브로드캐스트 출력 포트 (1144) 컬럼은, 대응하는 태그 ID 로 나타내는 노드로부터 송신된 브로드캐스트 신호가 수신되는 경우에 포워딩 수신지가 되는 포트를 나타낸다. 본 실시형태에서의 포워딩 테이블의 일 예가 도 46 에 도시되어 있다. 도 46 에서는, 포워딩 수신지 포트를 나타내는 것으로서 링크명을 사용한다. 도 46 은 도 (23 ~ 28) 에 도시되어 있는 물리적인 토폴로지로 형성되는 네트워크에서의 노드 (11) 의 포워딩 테이블 (114β) 을 나타낸 것이다. 전술한 바와 같이, 본 발명에서는, 프레임 포워딩용으로 사용되는 트리가 수신지 노드마다 상이하다. 예를 들어, 노드 (11) 로 어드레싱된 프레임에 대해서는 도 23 의 트리를 사용하여 프레임 포워딩을 수행하지만, 노드 (12) 로 어드레싱된 프레임에 대해서는 도 24 의 트리가 사용된다.
여기서는, 태그 (42) 가 부가된 프레임의 브로드캐스트의 경우를 예로서 취함으로써, 도 46 을 판독하는 방법을 설명한다. 태그 (42) 가 부가되어 있다는 것은, 브로드캐스트 프레임이 노드 (12) 로부터 송신되었음을 나타낸다. 노드 (12) 로부터 송신된 브로드캐스트 프레임은, 본 발명에서 도 24 의 트리를 사용하여 포워딩된다. 따라서, 그 브로드캐스트 프레임을 수신하면, 노드 (11) 는 링크 (23) 측에 포워딩되어야 한다. 이러한 논리에 기초하여, 도 46 이 작성된다.
비록 트리 매니저 (1151β) 가 트리 매니저 (1151) 와 동일한 구성을 갖지만, 그 기능과 동작은 상이하다. 이후, 비록 트리 매니저 (1151β ~ 1153β) 의 대표로서 트리 매니저 (1151β) 를 사용하여 설명하지만, 트리 매니저 (1151β) 에 관한 설명은, 특별히 기재하지 않으면, 트리 매니저 (1152β ~ 1153β) 에도 동일하게 적용 가능하다.
도 46 은, 태그를 키로서 취함으로써 출력 포트를 결정하는 포워딩 테이블 (114β) 의 구성예이다.
태그 필드 (1141)는 포워딩 테이블 (114) 내의 태그 필드와 동일한 태그 필드이다.
출력 포트 (1142) 는 포워딩 테이블 (114) 내의 출력 포트와 동일한 출력 포트이며, 유니캐스트 프레임을 포워딩할 때에 프레임 포워딩 유닛 (111β) 에 의해 참조된다.
브로드캐스트 출력 포트 (1144) 는, 브로드캐스트 프레임을 포워딩할 때에 프레임 포워딩 유닛 (111β) 에 의해 참조되는 출력 포트이다. 그 컬럼에는 복수의 포트가 기재되며, 만약 2개 이상의 포트가 기재되면, 기재된 포트의 수 만큼의 프레임을 복사 및 포워딩한다. 만약 프레임 포워딩 유닛 (111β) 에 의해 참조될 경우에 이 컬럼에 설정된 값이 초기값 그대로 있으면, 프레임 포워딩 유닛 (111β) 은 프레임을 오직 태그 삭제 유닛에만 포워딩한다.
또한, 도 46 의 (END) 는, 노드가 에지 노드인 경우에 식별자 "END" 가 기재됨을 의미한다.
도 47 은 트리 매니저 (1151β) 의 구성을 나타낸 블록도이다.
트리 매니저 (1151β) 가 송/수신하는 BPDU 프레임에 태그 그룹 (41) 의 태그가 부가되어 있는 경우, 트리 제어기 (11514β) 는 IEEE 802.1w 또는 IEEE 802.1D 의 프로토콜에 따라 루트 포트 및 지정 포트를 결정한다. 본 실시형태에서는, 포워딩 테이블 (114β) 에서의 태그 그룹 (41) 의 엔트리에서 출력 포트 (1142) 로서 결정된 루트 포트, 및 브로드캐스트 출력 포트 (1144) 로서 결정되는 하나 이상의 지정 포트가 각각 설정된다.
만약 루트 포트가 존재하지 않으면, 출력포트 (1142) 에 대한 컬럼은 자신의 노드로 지향하는 포트로 설정하고, 프레임 포워딩 유닛에 의해 입력되는 태그 그룹 (41) 의 태그가 표기된 프레임은 태그 삭제 유닛 (113) 에 포워딩된다.
만약 지정 포트가 존재하지 않으면, 브로드캐스트 출력 포트 (1144) 의 컬럼은 그 테이블의 초기 값으로 설정한다.
다음으로, 도 23 및 도 48 을 사용하여, 브로드캐스트 프레임을 포워딩하는 동작을 설명한다.
도 48 은, 스패닝 트리 (61) 에서의 각 노드의 포트 설정 및 포워딩 테이블의 설정을 나타낸 테이블이다.
초기 상태에서는, 태그 그룹 (41) 의 트리인 트리 (61) 는 이미 구성되어 안정적이며, 노드 (11 ~ 16) 의 각 노드의 루트 포트 및 지정 포트는 도 48 에서의 루트 포트 (6102) 및 지정 포트 (6104) 에 도시되어 있는 바와 같이 결정되며, 이에 따라, 각 노드의 포워딩 테이블 (114β) 에서의 출력 포트 및 예비 포트는 도 48 에서의 출력 포트 (1142) 및 브로드캐스트 출력 포트 (1144) 에 도시된 바와 같이 결정되는 것으로 가정한다.
먼저, 노드 (11) 는 브로드캐스트 프레임에 태그 그룹 (41) 의 태그를 부가하여 송신한다. 이렇게 함으로써, 트리 (61) 의 지정 포트인 링크 (21) 측 및 링크 (23) 측의 포트는 노드 (11) 에서의 태그 그룹 (41) 의 브로드캐스트 프레임의 출력 수신지 포트로서 특정된다. 따라서, 그 프레임은 링크 (21) 측 및 링크 (23) 측 및 태그 삭제 유닛에 복사 및 출력된다.
링크 (21) 로부터 브로드캐스트 프레임을 수신하면, 노드 (12) 는 태그 그룹 (41) 를 키로서 취함으로써 포워딩 테이블을 탐색하여, 링크 (22) 측의 포트를 브로드캐스트 출력 포트로서 획득한다. 또한, 링크 (22) 측 및 태그 삭제 유닛에서 수신된 브로드캐스트 프레임을 출력한다.
링크 (22) 로부터 브로드캐스트 프레임을 수신하면, 노드 (13) 는 태그 그룹 (41) 를 키로서 취함으로써 포워딩 테이블을 탐색하여, 초기값을 브로드캐스트 출력 포트로서 획득한다. 또한, 태그 삭제 유닛에서 수신된 프레임을 출력한다.
링크 (23) 로부터 브로드캐스트 프레임을 수신하면, 노드 (14) 는 태그 그룹 (41) 를 키로서 취함으로써 포워딩 테이블을 탐색하여, 링크 (26) 측의 포트를 브로드캐스트 출력 포트로서 획득한다. 또한, 링크 (26) 측 및 태그 삭제 유닛에서 수신된 프레임을 출력한다.
링크 (26) 로부터 브로드캐스트 프레임을 수신하면, 노드 (15) 는 태그 그룹 (41) 를 키로서 취함으로써 포워딩 테이블을 탐색하여, 링크 (27) 측의 포트를 브로드캐스트 출력 포트로서 획득한다. 또한, 링크 (27) 측 및 태그 삭제 유닛에서 수신된 브로드캐스트 프레임을 출력한다.
링크 (27) 로부터 브로드캐스트 프레임을 수신하면, 노드 (16) 는 태그 그룹 (41) 를 키로서 취함으로써 포워딩 테이블을 탐색하여, 초기값을 브로드캐스트 출력 포트로서 획득한다. 또한, 태그 삭제 유닛에서 수신된 프레임을 출력한다.
상술한 동작에 의해 노드 (11) 로부터 출력된 브로드캐스트 프레임은 최소 비용 경로를 통하여 네트워크 상의 각 노드에 포워딩될 수 있다.
다음으로, 상술한 제 9 실시형태의 효과를 설명한다.
종래에는, 브로드캐스팅 시에 수신지로의 최소 비용 경로가 항상 선택되지는 않았지만, 본 실시형태에서는, 소스 노드가 루트 노드로서 제공되는 트리를 사용하여 브로드캐스트 프레임을 포워딩함으로써, 모든 노드로의 최소 비용 경로를 선택하여 브로드캐스트 프레임을 포워딩할 수 있다.
또한, 종래에는, 링크 이용율이 낮으면서 루트 노드 부근에 부하가 집중한다는 문제가 있었지만, 본 실시형태에서는, 상이한 루트 노드를 갖는 스패닝 트리의 복수의 시스템을 설정함으로써, 링크 이용율을 증가시킬 수 있으며, 루트 노드 부근에 부하를 집중시키지 않고 부하를 분산시킬 수 있다.
또한, 종래에는, 루트 노드 장애 발생 시의 트리 구성에 시간이 걸리고, 그 기간 동안 네트워크가 정지한다는 문제가 있었지만, 본 실시형태에서, 루트 노드로서 제공되는 소스 노드를 갖는 트리를 사용하여 브로드캐스트 프레임을 포워딩하는 것은, 소스 노드가 루트 노드로서 제공되는 프레임 이외의 브로드캐스트 프레임이 루트 노드 장애의 영향에 의해 장시간 포워딩될 수 없다는 사실을 제거하기 때문에, 루트 노드 장애로 인한 네트워크 정지를 피할 수 있다. 또한, 이것에 의해 폭주 발생의 가능성을 감소시킬 수 있다.
(제 10 실시형태)
이하, 본 발명의 제 10 실시형태를 도면을 참조하여 상세히 설명한다.
본 발명의 제 10 실시형태는, 제 8 실시형태에서 다른 출력 포트가 장애 등으로 인해 이용될 수 없으면, 하나의 출력 포트를 이용할 수 있고, 신속한 장애 검출용으로 제 7 실시형태에의 장애검출기를 이용하도록 2 개의 출력 포트를 포워딩 테이블에 기재하는 구성을 가진다.
본 실시형태에서는, 루트 노드로서 제공되는 수신지를 갖는 트리를 사용하여 유니캐스트 프레임을 포워딩하고, 스패닝 트리에 의해서 결정되는 대체 출력 포트를 포워딩 테이블에 미리 등록함으로써, 신속한 장애 복원이 달성된다.
도 49 를 참조하면, 본 발명의 제 8 실시형태에서는, 제 4 실시형태의 도 41 에서 프레임 포워딩 유닛 (111) 가 프레임 포워딩 유닛 (111α) 로 대체되고, 포워딩 테이블 (114) 이 포워딩 테이블 (114α) 로 대체되고, 트리 매니저 (1151 ~ 1153) 가 트리 매니저 (1151α ~ 1153α) 로 대체되며, 또한, 제 7 실시형태의 장애 검출기 (120) 가 추가된다는 점에서 제 4 실시형태와 상이하다.
도 49 는, 본 실시형태를 도 23 에 도시되어 있는 노드 (11) 에 적용하는 경우를 나타낸 것이다.
프레임 포워딩 유닛 (111α) 는 링크 (21) 또는 링크 (23) 및 태그 삽입 유닛 (112) 으로부터 수신된 프레임을 포워딩 테이블 (114α) 의 설명에 따라서, 링크 (21) 또는 링크 (23) 및 태그 삭제 유닛 (113) 또는 트리 선택기 (116) 에 포워딩한다.
이렇게 함으로써, 만약 자원 모니터 (119) 가 포워딩 테이블 (114α) 의 출력 포트 (1142) 에 기재된 포트에서 장애가 있음을 검출하면, 수신된 프레임은 예비 출력 포트 (1143) 에 기재된 포트에 포워딩된다. 만약 출력포트 (1142) 에 기재된 포트에서의 장애가 검출되지만, 예비 출력 포트의 설명이 초기값 (또는 미설정)이면, 그 수신 프레임은 폐기된다.
포워딩 테이블 (114α)은, 예비 출력 포트 (1143) 컬럼이 부가된 포워딩 테이블 (114) 을 포함하는 포워딩 테이블이다.
비록 트리 매니저 (1151α) 가 트리 매니저 (1151) 와 동일한 구성을 갖지만, 그 기능 및 동작은 상이하다. 이후, 트리 매니저 (1151α ~ 1153α) 의 대표로서 트리 매니저 (1151α) 를 사용하여 설명하지만, 트리 매니저 (1151α) 에 관한 설명은, 특별히 기재하지 않으면, 트리 매니저 (1152α ~ 1153α) 에도 동일하게 적용가능하다.
도 50는, 태그를 키로서 취하여 출력 포트를 결정하는 도 23 에서의 노드 (12) 의 포워딩 테이블 (114α) 의 구성예이다.
태그 필드 (1141) 는 포워딩 테이블 (114) 내의 태그 필드와 동일한 태그 필드이다.
출력 포트 (1142) 는 포워딩 테이블 (114) 내의 출력 포트와 동일한 출력 포트이다.
예비 출력 포트 (1143) 는, 출력 포트 (1142) 내에 기재된 포트가 이용 불가능하게 될 경우에 사용되는 출력 수신지 포트를 기재하는 필드이다. 출력 포트 (1142) 에 기재된 포트가 이용 불가능이라는 것을 프레임 포워딩 유닛 (111α) 가 검출할 경우, 예비 출력 포트 (1143) 의 엔트리에 기재된 포트에 그 프레임을 포워딩한다.
도 51 은 트리 매니저 (1151α) 의 구성을 나타낸 블록도이다.
트리 매니저 (1151α) 가 송/수신하는 BPDU 프레임에 태그 그룹 (41) 의 태그가 부가되어 있는 경우, 트리 제어기 (11514α) 는 IEEE 802.1w 의 프로토콜에 따 라 루트 포트 및 대체 포트를 결정한다. 본 실시형태에서는, 포워딩 테이블 (114α) 에서의 태그 그룹 (41) 의 엔트리에서 출력 포트 (1142) 로서 결정된 루트 포트, 및 예비 출력 포트 (1143) 로서 결정되는 대체 포트가 각각 설정된다.
만약 루트 포트가 존재하지 않으면, 출력포트 (1142) 에 대한 컬럼은 자신의 노드로 지향하는 포트로 설정하고, 프레임 포워딩 유닛에 의해 입력되는 태그 그룹 (41) 의 태그가 표기된 프레임은 태그 삭제 유닛 (113) 에 포워딩된다.
만약 대체 포트가 존재하지 않으면, 예비 출력 포트 (1143) 의 컬럼은 그 테이블의 초기 값으로 설정한다.
다음으로, 도 23 및 도 52 를 사용하여, 링크에서 장애가 발생한 경우의 유니캐스트 프레임을 포워딩하는 동작에 대하여, 링크 (21) 에서 장애가 발생한 경우를 예로 취하여 설명한다.
도 52 는, 스패닝 트리 (61) 에서의 각 노드의 포트 설정 및 포워딩 테이블의 설정을 나타낸 테이블이다.
초기 상태에서는, 태그 그룹 (41) 의 트리인 트리 (61) 는 이미 구성되어 안정적이며, 노드 (11 ~ 16) 의 각 노드의 루트 포트 및 대체 포트는 도 52 에서의 루트 포트 (6102) 및 대체 포트 (6103) 에 도시되어 있는 바와 같이 결정되며, 이에 따라, 각 노드의 포워딩 테이블 (114α) 에서의 출력 포트 및 예비 출력 포트는 도 52 에서의 출력 포트 (1142) 및 예비 출력 포트 (1143) 에 도시된 바와 같이 결정되는 것으로 가정한다.
먼저, 노드 (13) 는, 노드 (11) 로 어드레싱된 유니캐스트 프레임에 태그 그룹 (41) 의 태그를 부가하여 송신한다. 이렇게 함으로써, 트리 (61) 의 루트 포트인 링크 (22) 측의 포트는 노드 (13) 에서의 태그 그룹 (41) 의 프레임의 출력 수신지 포트로서 특정된다. 따라서, 그 프레임은 링크 (22) 측에 출력된다.
이 상태로, 링크 (21) 에서 장애가 발생한다고 가정한다.
링크 (22) 로부터 프레임을 수신하면, 노드 (12) 는 태그 그룹 (41) 를 키로서 취함으로써 포워딩 테이블을 탐색하여, 링크 (21) 측의 포트를 출력 포트로서 및 링크 (24) 측의 포트를 예비 출력 포트로서 획득한다. 또한, 링크 (21) 측에서 수신된 프레임을 출력하는 시도를 하지만, 링크 (21) 의 장애 검출 정보가 자원 모니터로부터 수신되기 때문에, 수신 프레임은, 예비 출력 포트인 링크 (24) 측에서 출력된다.
링크 (24) 로부터 프레임을 수신하면, 노드 (15) 는 태그 그룹 (41) 를 키로서 취함으로써 포워딩 테이블을 탐색하여, 링크 (26) 측의 포트를 출력 포트로서 및 링크 (24) 측의 포트를 예비 출력 포트로서 획득한다. 또한, 링크 (26) 측에서 장애가 없음을 확인하고, 수신 프레임을 링크 (26) 측에서 출력한다.
링크 (26) 로부터 프레임을 수신하면, 노드 (14) 는 태그 그룹 (41) 를 키로서 취함으로써 포워딩 테이블을 탐색하여, 링크 (23) 측의 포트를 출력 포트로서 및 초기값을 예비 출력 포트로서 획득한다. 또한, 링크 (23) 측에서 장애가 없음을 확인하고, 수신 프레임을 링크 (23) 측에서 출력한다.
링크 (23) 로부터 프레임을 수신하면, 노드 (11) 는 자신의 노드로 어드레싱되어 있음을 체크하고, 태그 삭제 유닛 (113) 에 그 프레임을 포워딩한다.
상술한 동작을 통하여, 링크 (21) 에서 장애가 발생하면, 미리 설정된 예비 출력 포트를 참조하고, 노드 (13) 로부터 노드 (11) 로의 유니캐스트 프레임을 포워딩하는 루트로서 링크 (22), 링크 (23), 링크 (24), 링크 (26) 및 링크 (23) 를 경유하는 루트를 선택하고, 노드 (11) 로의 프레임 포워딩을 계속한다. 따라서, 장애 발생 시에 신속한 우회를 달성하고 네트워크의 폭주를 방지할 수 있다.
다음으로, 상술한 제 10 실시형태의 효과를 설명한다.
종래에는, 수신지로의 최소 비용 경로가 항상 선택되지는 않았지만, 본 실시형태에서는, 수신지가 루트 노드로서 제공되는 트리를 사용하여 유니캐스트 프레임을 포워딩함으로써, 수신지로의 최소 비용 경로를 선택할 수 있다.
또한, 종래에는, 링크 이용율이 낮으면서 루트 노드 부근에 부하가 집중한다는 문제가 있었지만, 본 실시형태에서는, 상이한 루트 노드를 갖는 스패닝 트리의 복수의 시스템을 설정함으로써, 링크 이용율을 증가시킬 수 있으며, 루트 노드 부근에 부하를 집중시키지 않고 부하를 분산시킬 수 있다.
또한, 종래에는, 루트 노드 장애 발생 시의 트리 구성에 시간이 걸리고, 그 기간 동안 네트워크가 정지한다는 문제가 있었지만, 본 실시형태에서, 루트 노드로서 제공되는 수신지를 갖는 트리를 사용하여 프레임을 포워딩하는 것은, 수신지가 루트 노드로서 제공되는 프레임 이외의 프레임이 루트 노드 장애의 영향에 의해 장시간 포워딩될 수 없다는 사실을 제거하기 때문에, 루트 노드 장애로 인한 네트워크 정지를 피할 수 있다. 또한, 이것에 의해 폭주 발생의 가능성을 감소시킬 수 있다.
또한, 종래에는, 루트 포트측의 링크 장애 발생 시의 출력 수신지 포트의 스위칭에 시간이 걸리고, 그 기간 동안에 프레임 포워딩이 정지한다는 문제가 있었지만, 본 실시형태로서는, 출력 링크 장애 발생 시에서 사용하기 위한 예비 출력 링크를 포워딩 테이블에 미리 설정함으로써, 루트 포트측 링크, 즉, 출력 링크에서의 장애 발생 시에 신속한 경로 변경이 가능하다. 이것에 의해 폭주 발생의 가능성을 감소시킬 수 있다.
본 발명의 네트워크에서의 스패닝 트리 구성 노드의 구성요소인 각 수단의 기능에 관해서는, 그것을 하드웨어를 통하여 달성할 수 있으며, 또한, 상술한 각 수단을 실행하는 스패닝 트리 재구성 프로그램 (애플리케이션 프로그램; 950) 을 컴퓨터 프로세싱 유닛의 메모리에 로딩하여 그 컴퓨터 프로세싱 유닛을 제어함으로써 달성될 수도 있다. 스패닝 트리 재구성 프로그램 (950) 은 자성 디스크, 반도체메모리, 또는 다른 저장 매체에 저장되고, 그 저장 매체로부터 컴퓨터 프로세싱 유닛에 로딩되어, 그 컴퓨터 프로세싱 유닛의 동작을 제어함으로써, 그 기능을 실현한다.
바람직한 실시형태 및 실시예를 들어 본 발명을 설명하였지만, 본 발명은 상기 실시형태 및 실시예에 반드시 제한되는 것은 아니며, 그 기술적 사상의 범위 내에서의 다양한 구현방법으로 변경될 수도 있다.
상술한 바와 같이, 본 발명에 의하면, 다음과 같은 효과가 달성될 수 있다.
첫째, 폭주 발생의 가능성을 감소시키고, 프레임의 지연된 도달 또는 손실이 발생되는 빈도를 감소시킬 수 있다. 그 이유는, 구성의 변경 전에 존재하는 스패닝 트리를 계속 운용하면서, 신규하게 부가된 노드를 포함하는 스패닝 트리를 생성하고, 신규한 스패닝 트리가 안정된 후에 이용되는 스패닝 트리의 스위칭을 수행하고, 상이한 루트 노드를 갖는 스패닝 트리의 복수의 시스템을 설정하기 때문이다.
둘째, 네트워크를 정지하지 않고도 스패닝 트리에 속하는 노드의 추가/삭제의 수행과 같이 스패닝 트리를 재구성할 수 있다. 그 이유는, 구성의 변경 전에 존재하는 스패닝 트리를 계속 운용하면서 신규하게 추가되는 스패닝 트리를 발생시키고, 신규한 트리가 안정된 후에 사용되는 스패닝 트리의 스위칭을 수행하기 때문이다.
셋째, 트래픽 부하를 분산시킬 수 있다. 그 이유는, 자유 대역폭 및 서버 부하와 같은 동적인 정보에 기초하여 링크 비용을 계산하기 때문이다.
넷째, 경로 변경에 수반하는 스패닝 트리 재구성을 위하여 네트워크를 정지시키지 않고 부하를 분산시킬 수 있다. 그 이유는, 변경 전에 존재하는 트리를 계속 운용하면서 비용 변경 후의 트리를 발생시키고, 신규한 스패닝 트리가 안정된 후에 사용되는 스패닝 트리의 스위칭을 수행하기 때문이다.
다섯째, 수신지로의 최소 비용 경로를 선택할 수 있다. 그 이유는, 수신지가 루트 노드로서 제공되는 트리를 사용하여 프레임을 포워딩하기 때문이다.
여섯째, 링크의 이용율을 높일 수 있고, 루트 노드 부근에 부하를 집중시키지않고서 부하를 분산시킬 수 있다. 그 이유는, 상이한 루트 노드를 갖는 스패닝 트리의 복수의 시스템을 설정하기 때문이다.
일곱째, 루트 노드 장애로 인한 네트워크 정지를 피할 수 있다. 그 이유는, 수신지가 루트 노드로서 제공되는 트리를 사용하여 프레임을 전송함으로써, 수신지가 루트 노드로서 제공되는 프레임 이외의 프레임이 루트 노드 장애의 영향에 의해 장시간 포워딩될 수 없다는 사실을 제거하기 때문이다.
여덟째, IEEE 802.1D 를 이용하는 섹션을 통과하여 스패닝 트리가 설정되는 것을 방지하고, 장애 발생 시의 스위칭 및 루트 변경을 가속화하고, 폭주 발생 및 프레임 손실의 가능성을 감소시킬 수 있다. 그 이유는, IEEE 802.1D 를 이용하는 섹션의 비용을 더 높게 설정하여, IEEE 802.1D 를 이용하는 섹션을 통과하여 스패닝 트리가 설정되는 것을 방지하기 때문이다.
아홉째, 우회를 가속화하고 폭주의 발생 및 프레임 손실의 가능성을 방지할 수 있다. 그 이유는, IEEE 802.1D 를 이용하는 섹션의 수 만큼의 트리 매니저를 생성하고, IEEE 802.1D 를 이용하는 섹션의 비용을 더 크게 설정한 상이한 트리를 IEEE 802.1D 의 이용 섹션 마다 생성하고, 장애 등으로 인해 그 섹션을 우회해야 할 필요가 있을 경우에 더 큰 비용을 그 섹션에 할당하는 트리를 이용하도록 스위칭되기 때문이다.
열번째, 종래에는, 스패닝 트리 프로토콜에 의해 이용되는 헬로우 프레임의 송신 간격이 길었기 때문에, 장애를 신속하게 결정할 수 없었지만, 짧은 간격으로 장애 검출용 프레임을 송/수신하는 장애 검출기를 추가함으로써, 헬로우 프레임을 사용할 때 보다 더 신속하게 장애를 검출할 수 있다. 또한, 이것에 의해 폭주 발생 및 프레임 손실의 가능성을 감소시킬 수 있다.
열 한번째, 종래에는, 브로드캐스팅할 때에, 수신지로의 최소 비용 경로가 항상 선택되지는 않았지만, 본 발명에서는, 소스 노드가 루트 노드로서 제공되는 트리를 사용하여 브로드캐스트 프레임을 포워딩함으로써, 모든 노드로의 최소 비용 경로를 선택하여 브로드캐스트 프레임을 포워딩할 수 있다.
열 두번째, 루트 노드로서 제공되는 소스 노드를 갖는 트리를 사용하여 브로드캐스트 프레임을 전송함으로써, 소스 노드가 루트 노드로서 제공되는 프레임 이외의 브로드캐스트 프레임이 루트 노드 장애의 영향에 의해 장시간 포워딩될 수 없다는 사실을 제거하기 때문에, 루트 노드 장애로 인한 네트워크 정지를 피할 수 있다. 또한, 이것에 의해 폭주 발생의 가능성을 감소시킬 수 있다.
열 세번째, 종래에는, 수신지로의 최소 비용 경로가 항상 선택되지는 않았지만, 수신지가 루트 노드로서 제공되는 트리를 사용하여 유니캐스트 프레임을 포워딩함으로써, 수신지로의 최소 비용 경로를 선택할 수 있다.
열 네번째, 종래에는, 루트 포트측의 링크 장애 발생 시의 출력 수신지 포트의 스위칭에 시간이 걸리고, 그 기간 동안에 프레임 포워딩이 정지한다는 문제가 있었지만, 본 실시형태로서는, 출력 링크 장애 발생 시에서 사용하기 위한 예비 출력 링크를 포워딩 테이블에 미리 설정함으로써, 루트 포트측 링크, 즉, 출력 링크에서의 장애 발생 시에 신속한 경로 변경이 가능하다. 이것에 의해 폭주 발생의 가능성을 감소시킬 수 있다.
비록 본 발명이 예시적인 실시형태에 대하여 예시되고 설명되었지만, 당업자는, 상술한 변경 및 다양한 다른 변경, 생략 및 추가가 본 발명의 사상 및 범위를 벗어나지 않고도 수행될 수도 있음을 알 수 있다. 따라서, 본 발명은 상술된 특정한 실시형태에 제한되는 것이 아니라, 청구범위에서 제시되는 특징에 대하여 포괄된 범위 및 그 균등물 내에서 구현될 수 있는 모든 실시형태들을 포함하는 것으로 이해해야 한다.

Claims (84)

  1. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 노드로서,
    네트워크 구성 변경 전에 존재하는 스패닝 트리를 계속 운용하면서 상기 네트워크 구성 변경 이후의 신규한 스패닝 트리를 생성하며, 상기 신규한 스패닝 트리를 안정시킨 후에, 포워딩용으로 사용되는 스패닝 트리를 상기 신규한 스패닝 트리로 스위칭하는 것을 포함하는, 노드.
  2. 제 1 항에 있어서,
    상기 네트워크 구성 변경은, 노드의 추가 또는 삭제나 링크 토폴로지의 변경인, 노드.
  3. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 노드로서,
    상기 네트워크의 링크 비용 변경 시에, 종래의 스패닝 트리를 계속 운용하면서 상기 비용 변경 이후의 신규한 스패닝 트리를 생성하며, 상기 신규한 스패닝 트리를 안정시킨 후에, 포워딩용으로 사용되는 스패닝 트리를 상기 신규한 스패닝 트리로 스위칭하는 것을 포함하는, 노드.
  4. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 노드로서,
    독립적으로 동작하는 복수의 스패닝 트리를 생성하는 복수의 트리 매니저;
    포워딩용으로 사용되는 스패닝 트리에 대응하는 태그를 반환하는 태그 테이블;
    상기 태그 테이블로부터 반환된 태그를 프레임에 삽입하는 태그 삽입 유닛;
    포워딩용으로 사용되는 스패닝 트리를 결정하는 트리 선택기;
    상기 프레임의 포워딩 출력 수신지가 수신지마다 기록되는 포워딩 테이블;
    상기 포워딩 테이블에서 지정되는 포워딩 출력 수신지로 상기 프레임을 포워딩하는 프레임 포워딩 유닛; 및
    상기 태그에 따라 상기 프레임의 포워딩 수신지의 트리 매니저를 결정하는 분별기를 구비하는, 노드.
  5. 제 4 항에 있어서,
    상기 트리 선택기는,
    포워딩용으로 사용되는 스패닝 트리의 스위칭을 수행하는 메인 제어기;
    상기 스패닝 트리의 안정을 나타내는 지정 시간용 타이머의 만료를 통지하는 안정타이머;
    상기 프레임에 부가된 태그를 삭제하는 태그 삭제 유닛;
    제어 프레임을 송신하여 스패닝 트리를 스위칭하는 GVRP 송/수신기; 및
    상기 프레임에 태그를 부가하는 태그 삽입 유닛을 구비하는, 노드.
  6. 제 5 항에 있어서,
    상기 트리 선택기는,
    상기 스패닝 트리의 안정을 나타내는 프레임 도달 간격을 결정하기 위하여, 소정 시간이 경과한 후에 타이머 만료 통지를 송신하는 도달 간격 타이머를 구비하는, 노드.
  7. 제 4 항에 있어서,
    상기 트리 선택기는,
    링크 비용의 계산용으로 사용되는 지정 시간용 타이머의 만료를 통지하는 비용 참조 타이머를 구비하는, 노드.
  8. 제 4 항에 있어서,
    상기 트리 매니저는,
    상기 프레임에 부가된 태그를 삭제하는 태그 삭제 유닛;
    BPDU 를 송/수신하는 BPDU 송/수신기;
    상기 프레임에 태그를 부가하는 태그 삽입 유닛;
    스패닝 트리 프로토콜에 따라 스패닝 트리를 생성하는 트리 제어기; 및
    상기 스패닝 트리 프로토콜에서 사용되는 파라미터를 보유하는 트리 테이블을 구비하는, 노드.
  9. 제 8 항에 있어서,
    상기 트리 매니저는,
    통지된 링크 비용에 소정의 설정값을 가산하여 반환하는 비용 조작기를 구비하는, 노드.
  10. 제 4 항에 있어서,
    링크의 접속 상태 및 자유 대역폭을 포함하는 자원 정보를 측정하는 자원 모니터를 구비하는, 노드.
  11. 제 3 항에 있어서,
    상기 링크 비용은 이용 상태에 기초하여 계산되는, 노드.
  12. 제 11 항에 있어서,
    상기 이용 상태는 자유 대역폭으로서 정의되는, 노드.
  13. 제 11 항에 있어서,
    상기 이용 상태는 CPU 부하로서 정의되는, 노드.
  14. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 노드로서,
    상기 네트워크 내의 각 노드가 루트 노드로서 제공되는 스패닝 트리를 생성하고, 수신지가 루트 노드로서 제공되는 스패닝 트리를 사용하여 프레임 (프레임들) 을 포워딩하는, 노드.
  15. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 노드로서,
    독립적으로 동작하는 복수의 스패닝 트리를 생성하는 복수의 트리 매니저;
    포워딩용으로 사용되는 스패닝 트리에 대응하는 태그를 반환하는 태그 테이블;
    상기 태그 테이블로부터 반환된 태그를 프레임에 삽입하는 태그 삽입 유닛;
    상기 네트워크에서 존재하는 루트 노드의 수 만큼의 트리 매니저를 생성하는 트리 선택기;
    상기 프레임의 포워딩 출력 수신지가 수신지마다 기록되는 포워딩 테이블;
    상기 포워딩 테이블에서 지정되는 포워딩 출력 수신지로 상기 프레임을 포워딩하는 프레임 포워딩 유닛; 및
    상기 태그에 따라 상기 프레임의 포워딩 수신지의 트리 매니저를 결정하는 분별기를 구비하는, 노드.
  16. 제 15 항에 있어서,
    상기 트리 선택기는,
    상기 트리 매니저를 생성 또는 삭제하는 메인 제어기;
    상기 프레임에 부가된 태그를 삭제하는 태그 삭제 유닛;
    제어 프레임을 송신하여 스패닝 트리를 스위칭하는 GVRP 송/수신기; 및
    상기 프레임에 태그를 부가하는 태그 삽입 유닛을 구비하는, 노드.
  17. 제 15 항에 있어서,
    상기 트리 매니저는,
    상기 프레임에 부가된 태그를 삭제하는 태그 삭제 유닛;
    BPDU 를 송신 및 수신하는 BPDU 송/수신기;
    상기 프레임에 태그를 부가하는 태그 삽입 유닛;
    스패닝 트리 프로토콜에 따라 스패닝 트리를 생성하는 트리 제어기; 및
    상기 스패닝 트리 프로토콜에서 사용되는 파라미터를 보유하는 트리 테이블을 구비하는, 노드.
  18. 제 15 항에 있어서,
    링크의 접속 상태 및 자유 대역폭을 포함하는 자원 정보를 측정하는 자원 모니터를 구비하는, 노드.
  19. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 노드로서,
    상기 스패닝 트리를 생성하는 트리 매니저는, 스패닝 트리 프로토콜의 타입 및 버전에 기초하여 비용값을 조정하는 비용 조작기를 구비하는, 노드.
  20. 제 19 항에 있어서,
    상기 비용 조작기는, 장애 복원 프로세싱이 느린 프로토콜을 사용하는 링크에게 큰 비용을 할당하는, 노드.
  21. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 노드로서,
    상기 네트워크에서 존재하면서 동작이 느린 프로토콜을 사용하는 각 링크에 대하여, 상기 각 링크의 비용이 최대가 되는 스패닝 트리를 생성하고, 상기 각 링크에서 장애가 발생할 경우, 상기 링크의 비용이 최대가 되는 트리를 사용하여 프레임을 포워딩하는, 노드.
  22. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 노드로서,
    독립적으로 동작하는 복수의 스패닝 트리를 생성하는 복수의 트리 매니저;
    포워딩용으로 사용되는 상기 트리에 대응하는 태그를 반환하는 태그 테이블;
    상기 태그 테이블로부터 반환된 태그를 프레임에 삽입하는 태그 삽입 유닛;
    상기 네트워크에서 존재하면서 동작이 느린 프로토콜을 사용하는 링크의 수 만큼의 트리 매니저를 생성하는 트리 선택기;
    상기 프레임의 포워딩 출력 수신지가 수신지마다 기록되는 포워딩 테이블;
    상기 포워딩 테이블에서 지정되는 포워딩 출력 수신지로 상기 프레임을 포워딩하는 프레임 포워딩 유닛; 및
    상기 태그에 따라 상기 포워딩 수신지의 트리 매니저를 결정하는 분별기를 구비하는, 노드.
  23. 제 22 항에 있어서,
    상기 트리 선택기는,
    상기 트리 매니저를 생성 또는 삭제하는, 트리 선택기 내의 메인 제어기;
    상기 프레임에 부가된 태그를 삭제하는 태그 삭제 유닛;
    제어 프레임을 송신하는 GVRP 송/수신기; 및
    상기 프레임에 태그를 부가하는 태그 삽입 유닛을 구비하는, 노드.
  24. 제 22 항에 있어서,
    상기 트리 매니저는,
    상기 프레임에 부가된 태그를 삭제하는 태그 삭제 유닛;
    BPDU 를 송신 및 수신하는 BPDU 송/수신기;
    상기 프레임에 태그를 부가하는 태그 삽입 유닛;
    스패닝 트리 프로토콜에 따라 스패닝 트리를 생성하는 트리 제어기; 및
    상기 스패닝 트리 프로토콜에서 사용되는 파라미터를 보유하는 트리 테이블을 구비하는, 노드.
  25. 제 22 항에 있어서,
    링크의 접속 상태 및 자유 대역폭을 포함하는 자원 정보를 측정하는 자원 모니터를 구비하는, 노드.
  26. 제 4 항에 있어서,
    스패닝 트리 프로토콜에 의해 사용되는 헬로우 (HELLO) 프레임 보다 더 짧은 간격으로 장애 검출용 프레임을 송신 및 수신하여 장애를 검출하는 장애 검출기를 구비하는, 노드.
  27. 제 4 항에 있어서,
    상기 포워딩 테이블은 브로드캐스트 출력 포트 필드를 갖는, 노드.
  28. 제 4 항에 있어서,
    상기 포워딩 테이블은 예비 출력 포트 필드를 갖는, 노드.
  29. 제 4 항에 있어서,
    상기 스패닝 트리에 의해 결정되는 포트 타입을 사용하여 출력 수신지 포트가 결정되는, 노드.
  30. 제 29 항에 있어서,
    상기 스패닝 트리에 의해 결정되는 포트 타입은, 루트 포트 또는 지정 포트 중 하나인, 노드.
  31. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 각 노드에서 동작하는 스패닝 트리 구성 프로그램으로서,
    네트워크 구성 변경 전에 존재하는 스패닝 트리를 계속 운용하면서 상기 네트워크 구성 변경 이후의 신규한 스패닝 트리를 생성하며, 상기 신규한 스패닝 트리를 안정시킨 후에, 포워딩용으로 사용되는 스패닝 트리를 상기 신규한 스패닝 트리로 스위칭하는 기능을 포함하는, 스패닝 트리 구성 프로그램.
  32. 제 31 항에 있어서,
    상기 네트워크 구성 변경은, 노드의 추가 또는 삭제나 링크 토폴로지의 변경인, 스패닝 트리 구성 프로그램.
  33. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 각 노드에서 동작하는 스패닝 트리 구성 프로그램으로서,
    상기 네트워크의 링크 비용 변경 시에, 종래의 스패닝 트리를 계속 운용하면서 상기 비용 변경 이후의 신규한 스패닝 트리를 생성하며, 상기 신규한 스패닝 트리를 안정시킨 후에, 포워딩용으로 사용되는 스패닝 트리를 상기 신규한 스패닝 트리로 스위칭하는 기능을 포함하는, 스패닝 트리 구성 프로그램.
  34. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 각 노드에서 동작하는 스패닝 트리 구성 프로그램으로서,
    복수의 트리 매니저를 통하여, 독립적으로 동작하는 복수의 스패닝 트리를 생성하는 기능;
    포워딩용으로 사용되는 스패닝 트리에 대응하는 태그를 반환하는 기능;
    반환된 상기 태그를 프레임에 삽입하는 태그 삽입 기능;
    포워딩용으로 사용되는 상기 트리를 결정하는 트리 선택기 기능;
    상기 프레임의 포워딩 출력 수신지가 수신지마다 기록되는 포워딩 테이블 기능;
    상기 포워딩 테이블에서 지정되는 포워딩 출력 수신지로 상기 프레임을 포워딩하는 프레임 포워딩 기능; 및
    상기 태그에 따라 포워딩 수신지의 트리 매니저를 결정하는 분별기 기능을 포함하는, 스패닝 트리 구성 프로그램.
  35. 제 34 항에 있어서,
    상기 트리 선택기 기능이,
    포워딩용으로 사용되는 스패닝 트리의 스위칭을 수행하는 제어기 기능;
    상기 스패닝 트리의 안정을 나타내는 지정 시간용 타이머의 만료를 통지하는 안정타이머 기능;
    상기 프레임에 부가된 태그를 삭제하는 태그 삭제 기능;
    제어 프레임을 송신하여 스패닝 트리를 스위칭하는 GVRP 송/수신기 기능; 및
    상기 프레임에 태그를 부가하는 태그 삽입 기능을 실행하는, 스패닝 트리 구성 프로그램.
  36. 제 35 항에 있어서,
    상기 트리 선택기 기능이,
    상기 스패닝 트리의 안정을 나타내는 프레임 도달 간격을 결정하기 위하여, 소정 시간이 경과한 후에 타이머 만료 통지를 송신하는 도달 간격 타이머 기능을 실행하는, 스패닝 트리 구성 프로그램.
  37. 제 34 항에 있어서,
    상기 트리 선택기 기능이,
    링크 비용의 계산용으로 사용되는 지정 시간용 타이머의 만료를 통지하는 비용 참조 타이머 기능을 실행하는, 스패닝 트리 구성 프로그램.
  38. 제 34 항에 있어서,
    상기 트리 매니저 기능이,
    상기 프레임에 부가된 태그를 삭제하는 태그 삭제 기능;
    BPDU 를 송신 및 수신하는 BPDU 송/수신기 기능;
    상기 프레임에 태그를 부가하는 태그 삽입 기능;
    스패닝 트리 프로토콜에 따라 스패닝 트리를 생성하는 트리 제어기 기능; 및
    상기 스패닝 트리 프로토콜에서 사용되는 파라미터를 보유하는 트리 테이블 기능을 실행하는, 스패닝 트리 구성 프로그램.
  39. 제 38 항에 있어서,
    상기 트리 매니저 기능이,
    통지된 링크 비용에 소정의 설정값을 가산하여 반환하는 비용 조작기 기능을 실행하는, 스패닝 트리 구성 프로그램.
  40. 제 34 항에 있어서,
    링크의 접속 상태 및 자유 대역폭을 포함하는 자원 정보를 측정하는 자원 모니터 기능을 실행하는, 스패닝 트리 구성 프로그램.
  41. 제 33 항에 있어서,
    이용 상태에 기초하여 상기 링크 비용을 계산하는 기능을 실행하는, 스패닝 트리 구성 프로그램.
  42. 제 41 항에 있어서,
    상기 이용 상태는 자유 대역폭으로서 정의되는, 스패닝 트리 구성 프로그램.
  43. 제 41 항에 있어서,
    상기 이용 상태는 CPU 부하로서 정의되는, 스패닝 트리 구성 프로그램.
  44. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 각 노드에서 동작하는 스패닝 트리 구성 프로그램으로서,
    네트워크 내의 각 노드가 루트 노드로서 제공되는 스패닝 트리를 생성하고, 수신지가 루트 노드로서 제공되는 트리를 사용하여 프레임을 포워딩하는 기능을 포함하는, 스패닝 트리 구성 프로그램.
  45. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 각 노드에서 동작하는 스패닝 트리 구성 프로그램으로서,
    독립적으로 동작하는 복수의 스패닝 트리를 생성하는 복수의 트리 매니저 기능;
    포워딩용으로 사용되는 스패닝 트리에 대응하는 태그를 반환하는 태그 테이블 기능;
    상기 태그 테이블로부터 반환된 태그를 프레임에 삽입하는 태그 삽입 기능;
    상기 네트워크에서 존재하는 루트 노드의 수 만큼의 트리 매니저를 생성하는 트리 선택기 기능;
    상기 프레임의 포워딩 출력 수신지가 수신지마다 기록되는 포워딩 테이블 기능;
    상기 포워딩 테이블에서 지정되는 포워딩 출력 수신지로 상기 프레임을 포워딩하는 프레임 포워딩 기능; 및
    상기 태그에 따라 상기 프레임의 포워딩 수신지의 트리 매니저를 결정하는 분별기 기능을 포함하는, 스패닝 트리 구성 프로그램.
  46. 제 45 항에 있어서,
    상기 트리 선택기 기능이,
    상기 트리 매니저를 생성 또는 삭제하는, 트리 선택기 내의 메인 제어기 기능;
    상기 프레임에 부가된 태그를 삭제하는 태그 삭제 기능;
    제어 프레임을 송신하여 스패닝 트리를 스위칭하는 GVRP 송/수신기 기능; 및
    상기 프레임에 태그를 부가하는 태그 삽입 기능을 실행하는, 스패닝 트리 구성 프로그램.
  47. 제 45 항에 있어서,
    상기 트리 매니저 기능이,
    상기 프레임에 부가된 태그를 삭제하는 태그 삭제 기능;
    BPDU 를 송신 및 수신하는 BPDU 송/수신기 기능;
    상기 프레임에 태그를 부가하는 태그 삽입 기능;
    스패닝 트리 프로토콜에 따라 스패닝 트리를 생성하는 트리 제어기 기능; 및
    상기 스패닝 트리 프로토콜에서 사용되는 파라미터를 보유하는 트리 테이블 기능을 실행하는, 스패닝 트리 구성 프로그램.
  48. 제 45 항에 있어서,
    상기 노드 각각은, 링크의 접속 상태 및 자유 대역폭을 포함하는 자원 정보를 측정하는 자원 모니터 기능을 실행하는, 스패닝 트리 구성 프로그램.
  49. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 각 노드에서 동작하는 스패닝 트리 구성 프로그램으로서,
    상기 네트워크에서 존재하면서 동작이 느린 프로토콜을 사용하는 각 링크에 대하여, 상기 각 링크의 비용이 최대가 되는 스패닝 트리를 생성하고, 상기 각 링크에서 장애가 발생할 경우, 상기 링크의 비용이 최대가 되는 트리를 사용하여 프레임을 포워딩하는, 스패닝 트리 구성 프로그램.
  50. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리를 구성하는 각 노드에서 동작하는 스패닝 트리 구성 프로그램으로서,
    독립적으로 동작하는 복수의 스패닝 트리를 생성하는 복수의 트리 매니저 기능;
    포워딩용으로 사용되는 상기 트리에 대응하는 태그를 반환하는 태그 테이블 기능;
    상기 태그 테이블로부터 반환된 태그를 프레임에 삽입하는 태그 삽입 기능;
    상기 네트워크에서 존재하면서 동작이 느린 프로토콜을 사용하는 링크의 수 만큼의 트리 매니저를 생성하는 트리 선택기 기능;
    상기 프레임의 포워딩 출력 수신지가 수신지마다 기록되는 포워딩 테이블 기능;
    상기 포워딩 테이블에서 지정되는 포워딩 출력 수신지로 상기 프레임을 포워딩하는 프레임 포워딩 기능; 및
    상기 태그에 따라 상기 프레임의 포워딩 수신지의 트리 매니저를 결정하는 분별기 기능을 포함하는, 스패닝 트리 구성 프로그램.
  51. 제 50 항에 있어서,
    상기 트리 선택기 기능은,
    상기 트리 매니저를 생성 또는 삭제하는, 트리 선택기 내의 메인 제어기 기능;
    상기 프레임에 부가된 태그를 삭제하는 태그 삭제 기능;
    제어 프레임을 송신하는 GVRP 송/수신기 기능; 및
    상기 프레임에 태그를 부가하는 태그 삽입 기능을 포함하는, 스패닝 트리 구성 프로그램.
  52. 제 50 항에 있어서,
    상기 트리 매니저 기능은,
    상기 프레임에 부가된 태그를 삭제하는 태그 삭제 기능;
    BPDU 를 송신 및 수신하는 BPDU 송/수신기 기능;
    상기 프레임에 태그를 부가하는 태그 삽입 기능;
    스패닝 트리 프로토콜에 따라 스패닝 트리를 생성하는 트리 제어기 기능; 및
    상기 스패닝 트리 프로토콜에서 사용되는 파라미터를 보유하는 트리 테이블 기능을 포함하는, 스패닝 트리 구성 프로그램.
  53. 제 50 항에 있어서,
    상기 노드 각각은, 링크의 접속 상태 및 자유 대역폭을 포함하는 자원 정보를 측정하는 자원 모니터 기능을 실행하는, 스패닝 트리 구성 프로그램.
  54. 제 34 항에 있어서,
    상기 포워딩 테이블은 브로드캐스트 출력 포트 필드를 갖는, 스패닝 트리 구성 프로그램.
  55. 제 34 항에 있어서,
    상기 포워딩 테이블은 예비 출력 포트 필드를 갖는, 스패닝 트리 구성 프로그램.
  56. 제 34 항에 있어서,
    상기 스패닝 트리에 의해 결정되는 포트 타입을 사용하여 출력 수신지 포트가 결정되는, 스패닝 트리 구성 프로그램.
  57. 제 56 항에 있어서,
    상기 스패닝 트리에 의해 결정되는 포트 타입은, 루트 포트 또는 지정 포트 중 하나인, 스패닝 트리 구성 프로그램.
  58. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리에 의해 포워딩 경로를 설정하는 네트워크 시스템으로서,
    상기 노드 각각은,
    네트워크 구성 변경 전에 존재하는 스패닝 트리를 계속 운용하면서 상기 네트워크 구성 변경 이후의 신규한 스패닝 트리를 생성하며, 상기 신규한 스패닝 트리를 안정시킨 후에, 포워딩용으로 사용되는 스패닝 트리를 상기 신규한 스패닝 트리로 스위칭하는, 네트워크 시스템.
  59. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리에 의해 포워딩 경로를 설정하는 네트워크 시스템으로서,
    상기 노드 각각은,
    상기 네트워크의 링크 비용 변경 시에, 종래의 스패닝 트리를 계속 운용하면서 상기 비용 변경 이후의 신규한 스패닝 트리를 생성하며, 상기 신규한 스패닝 트리를 안정시킨 후에, 포워딩용으로 사용되는 스패닝 트리를 상기 신규한 스패닝 트리로 스위칭하는, 네트워크 시스템.
  60. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리에 의해 포워딩 경로를 설정하는 네트워크 시스템으로서,
    상기 노드 각각은,
    독립적으로 동작하는 복수의 스패닝 트리를 생성하는 복수의 트리 매니저;
    포워딩용으로 사용되는 스패닝 트리에 대응하는 태그를 반환하는 태그 테이블;
    상기 태그 테이블로부터 반환된 태그를 프레임에 삽입하는 태그 삽입 유닛;
    포워딩용으로 사용되는 스패닝 트리를 결정하는 트리 선택기;
    상기 프레임의 포워딩 출력 수신지가 수신지마다 기록되는 포워딩 테이블;
    상기 포워딩 테이블에서 지정되는 포워딩 출력 수신지로 상기 프레임을 포워딩하는 프레임 포워딩 유닛; 및
    상기 태그에 따라 상기 프레임의 포워딩 수신지의 트리 매니저를 결정하는 분별기를 구비하는, 네트워크 시스템.
  61. 제 59 항에 있어서,
    상기 링크 비용은 이용 상태에 기초하여 계산되는, 네트워크 시스템.
  62. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리에 의해 포워딩 경로를 설정하는 네트워크 시스템으로서,
    상기 네트워크 내의 각 노드가 루트 노드로서 제공되는 스패닝 트리를 생성하고, 수신지가 루트 노드로서 제공되는 트리를 사용하여 프레임을 포워딩하는 것을 포함하는, 네트워크 시스템.
  63. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리에 의해 포워딩 경로를 설정하는 네트워크 시스템으로서,
    독립적으로 동작하는 복수의 스패닝 트리를 생성하는 복수의 트리 매니저;
    포워딩용으로 사용되는 스패닝 트리에 대응하는 태그를 반환하는 태그 테이블;
    상기 태그 테이블로부터 반환된 태그를 프레임에 삽입하는 태그 삽입 유닛;
    상기 네트워크에서 존재하는 노드의 수 만큼의 트리 매니저를 생성하는 트리 선택기;
    상기 프레임의 포워딩 출력 수신지가 수신지마다 기록되는 포워딩 테이블;
    상기 포워딩 테이블에서 지정되는 포워딩 출력 수신지로 상기 프레임을 포워딩하는 프레임 포워딩 유닛; 및
    상기 태그에 따라 상기 프레임의 포워딩 수신지의 트리 매니저를 결정하는 분별기를 구비하는, 네트워크 시스템.
  64. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리에 의해 포워딩 경로를 설정하는 네트워크 시스템으로서,
    상기 스패닝 트리를 생성하는 트리 매니저는, 스패닝 트리 프로토콜의 타입 및 버전에 기초하여 비용값을 조정하는 비용 조작 프로세싱을 실행하는, 네트워크 시스템.
  65. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리에 의해 포워딩 경로를 설정하는 네트워크 시스템으로서,
    상기 스패닝 트리를 생성하는 트리 매니저는, 스패닝 트리 프로토콜의 타입 및 버전에 기초하여 비용값을 조정하는 비용 조작기를 구비하는, 네트워크 시스템.
  66. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리에 의해 포워딩 경로를 설정하는 네트워크 시스템으로서,
    상기 네트워크에서 존재하면서 동작이 느린 프로토콜을 사용하는 각 링크에 대하여, 상기 각 링크의 비용이 최대가 되는 스패닝 트리를 생성하고, 상기 각 링크에서 장애가 발생할 경우, 상기 링크의 비용이 최대가 되는 트리를 사용하여 프레임을 포워딩하는 것을 포함하는, 네트워크 시스템.
  67. 복수의 노드를 접속시키는 네트워크 상에서 스패닝 트리에 의해 포워딩 경로를 설정하는 네트워크 시스템으로서,
    독립적으로 동작하는 복수의 스패닝 트리를 생성하는 복수의 트리 매니저;
    포워딩용으로 사용되는 상기 트리에 대응하는 태그를 반환하는 태그 테이블;
    상기 태그 테이블로부터 반환된 태그를 프레임에 삽입하는 태그 삽입 유닛;
    상기 네트워크에서 존재하면서 동작이 느린 프로토콜을 사용하는 링크의 수 만큼의 트리 매니저를 생성하는 트리 선택기;
    상기 프레임의 포워딩 출력 수신지가 수신지마다 기록되는 포워딩 테이블;
    상기 포워딩 테이블에서 지정되는 포워딩 출력 수신지로 상기 프레임을 포워딩하는 프레임 포워딩 유닛; 및
    상기 태그에 따라 상기 프레임의 포워딩 수신지의 트리 매니저를 결정하는 분별기를 구비하는, 네트워크 시스템.
  68. 제 60 항에 있어서,
    상기 포워딩 테이블은 브로드캐스트 출력 포트 필드를 갖는, 네트워크 시스템.
  69. 제 60 항에 있어서,
    상기 포워딩 테이블은 예비 출력 포트 필드를 갖는, 네트워크 시스템.
  70. 제 60 항에 있어서,
    상기 스패닝 트리에 의해 결정되는 포트 타입을 사용하여 출력 수신지 포트가 결정되는, 네트워크 시스템.
  71. 제 70 항에 있어서,
    상기 스패닝 트리에 의해 결정되는 포트 타입은, 루트 포트 또는 지정 포트 중 하나인, 네트워크 시스템.
  72. 복수의 노드를 접속시키는 네트워크에서의 스패닝 트리 구성 방법으로서,
    네트워크 구성 변경 전에 존재하는 스패닝 트리를 계속 운용하면서 상기 네트워크 구성 변경 이후의 신규한 스패닝 트리를 생성하며, 상기 신규한 스패닝 트리를 안정시킨 후에, 포워딩용으로 사용되는 스패닝 트리를 상기 신규한 스패닝 트리로 스위칭하는 단계를 포함하는, 스패닝 트리 구성 방법.
  73. 복수의 노드를 접속시키는 네트워크에서의 스패닝 트리 구성 방법으로서,
    상기 네트워크의 링크 비용 변경 시에, 종래의 스패닝 트리를 계속 운용하면서 상기 비용 변경 이후의 신규한 스패닝 트리를 생성하며, 상기 신규한 스패닝 트리를 안정시킨 후에, 포워딩용으로 사용되는 스패닝 트리를 상기 신규한 스패닝 트리로 스위칭하는 단계를 포함하는, 스패닝 트리 구성 방법.
  74. 복수의 노드를 접속시키는 네트워크에서의 스패닝 트리 구성 방법으로서,
    신규한 노드를 추가할 때에, 상기 신규한 노드를 종래의 스패닝 트리에 참가시키지 않고, 예비 스패닝 트리에만 참가시키는 단계를 포함하는, 스패닝 트리 구성 방법.
  75. 복수의 노드를 접속시키는 네트워크에서의 스패닝 트리 구성 방법으로서,
    노드를 삭제할 때에, 삭제 노드를 예비 스패닝 트리에 참가시키지 않고, 종래의 스패닝 트리에만 참가시키는 단계를 포함하는, 스패닝 트리 구성 방법.
  76. 복수의 노드를 접속시키는 네트워크에서의 스패닝 트리 구성 방법으로서,
    네트워크 구성이 변경되었을 경우, 예비 시스템을 사용하여 변경한 후에 트리를 생성하는 단계를 포함하는, 스패닝 트리 구성 방법.
  77. 복수의 노드를 접속시키는 네트워크에서의 스패닝 트리 구성 방법으로서,
    링크의 자유 대역폭을 이용하여 비용을 계산하는 단계를 포함하는, 스패닝 트리 구성 방법.
  78. 복수의 노드를 접속시키는 네트워크에서의 스패닝 트리 구성 방법으로서,
    상기 모든 노드를 멤버로서 가지는 스패닝 트리들 중에서 어떠한 하나의 스패닝 트리의 루트 노드로서 상기 네트워크 내의 모든 노드가 제공되도록, 복수의 스패닝 트리를 생성하는 단계를 포함하는, 스패닝 트리 구성 방법.
  79. 복수의 노드를 접속시키는 네트워크에서의 스패닝 트리 구성 방법으로서,
    상기 네트워크에서 존재하는 모든 노드를 멤버로서 가지는 스패닝 트리를 생성하며, 상기 스패닝 트리 중에서, 장애 복원이 느린 프로토콜을 사용하는 각 링크에 대하여 복수의 스패닝 트리를 생성하는 단계를 포함하는, 스패닝 트리 구성 방법.
  80. 복수의 노드를 접속시키는 네트워크에서의 신호 송신용으로 사용되는 논리 토폴로지를 형성하는 방법으로서,
    네트워크 구성 변경 전에 존재하는 논리 토폴로지를 사용하여 신호 송신을 수행하면서, 상기 네트워크 구성 변경 이후의 논리 토폴로지를 생성하는 단계; 및
    상기 구성 변경 이후의 논리 토폴로지를 안정시킨 후에, 신호 송신용으로 사용되는 논리 토폴로지를 상기 구성 변경 이후의 논리 토폴로지로 스위칭하는 단계를 포함하는, 논리 토폴로지 형성 방법.
  81. 자신이 속하는 네트워크의 구성을 변경할 때에 상기 네트워크에서의 논리 토폴로지를 사용하여 신호 송신을 수행하면서, 네트워크 구성 변경 이후의 논리 토폴로지를 생성하는 엘리먼트; 및
    상기 구성 변경 이후의 논리 토폴로지를 안정시킨 후에, 신호 송신용으로 사용되는 논리 토폴로지를 상기 구성 변경 이후의 논리 토폴로지로 스위칭하는 엘리먼트를 구비하는, 노드.
  82. 자신이 속하는 네트워크의 구성을 변경할 때에 상기 네트워크에서의 논리 토폴로지를 사용하여 신호 송신을 수행하면서, 네트워크 구성 변경 이후의 논리 토폴로지를 생성하는 기능; 및
    상기 구성 변경 이후의 논리 토폴로지를 안정시킨 후에, 신호 송신용으로 사용되는 논리 토폴로지를 상기 구성 변경 이후의 논리 토폴로지로 스위칭하는 기능을 포함하는, 프로그램.
  83. 복수의 노드를 접속시키는 네트워크 시스템으로서,
    네트워크 구성 변경 전에 존재하는 논리 토폴로지를 사용하여 신호 송신을 수행하면서, 상기 네트워크 구성 변경 이후의 논리 토폴로지를 생성하며,
    상기 구성 변경 이후의 논리 토폴로지를 안정시킨 후에, 신호 송신용으로 사용되는 논리 토폴로지를 상기 구성 변경 이후의 논리 토폴로지로 스위칭하는 것을 포함하는, 네트워크 시스템.
  84. 스패닝 트리 프로토콜을 사용하여, 입력되는 프레임이 유지하는 수신지에 대한 정보와 상기 프레임의 포워딩 수신지 간의 대응관계를 생성하는 엘리먼트; 및
    상기 대응관계를 참조하여, 입력된 프레임의 포워딩 수신지를 결정하는 엘리먼트를 구비하는, 노드.
KR1020057003039A 2002-08-22 2003-08-15 네트워크 시스템, 스패닝 트리 구성 방법, 스패닝 트리 구성 노드, 및 스패닝 트리 구성 프로그램 KR20050036977A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2002242621 2002-08-22
JPJP-P-2002-00242621 2002-08-22
JP2003041838A JP3729265B2 (ja) 2002-08-22 2003-02-19 ネットワークシステム、スパニングツリー構成方法、スパニングツリー構成ノード、及びスパニングツリー構成プログラム
JPJP-P-2003-00041838 2003-02-19

Publications (1)

Publication Number Publication Date
KR20050036977A true KR20050036977A (ko) 2005-04-20

Family

ID=31949568

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057003039A KR20050036977A (ko) 2002-08-22 2003-08-15 네트워크 시스템, 스패닝 트리 구성 방법, 스패닝 트리 구성 노드, 및 스패닝 트리 구성 프로그램

Country Status (9)

Country Link
US (2) US7894374B2 (ko)
EP (1) EP1542407A4 (ko)
JP (1) JP3729265B2 (ko)
KR (1) KR20050036977A (ko)
CN (1) CN1679279A (ko)
AU (1) AU2003255044A1 (ko)
CA (1) CA2437673A1 (ko)
TW (1) TWI242337B (ko)
WO (1) WO2004019560A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100917299B1 (ko) * 2007-12-28 2009-09-11 엘지노텔 주식회사 스패닝 트리에서 링크집합과의 연동을 지원하는 루프 제거방법
KR101222131B1 (ko) * 2009-10-08 2013-01-15 한국전자통신연구원 무선 센서 네트워크의 릴레이 노드 위치 결정 방법 및 시스템
WO2013069837A1 (ko) * 2011-11-10 2013-05-16 한국기초과학지원연구원 노드의 동적 상태 변화에 따른 라우팅 경로 결정 방법

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4120356B2 (ja) * 2002-11-05 2008-07-16 日本電気株式会社 拡張vlanタグswap方式
US7567510B2 (en) * 2003-02-13 2009-07-28 Cisco Technology, Inc. Security groups
US8099481B2 (en) * 2003-12-16 2012-01-17 Alcatel Lucent System and method for resolving hubs and like devices in network topology
JP4398263B2 (ja) * 2004-01-13 2010-01-13 富士通株式会社 経路設計方法
JP4017161B2 (ja) * 2004-01-22 2007-12-05 日本アイ・ビー・エム株式会社 区間特定システム、配電系統モニタリングシステム、その方法及びプログラム
US20050190758A1 (en) * 2004-03-01 2005-09-01 Cisco Technology, Inc. Security groups for VLANs
US7969863B2 (en) * 2004-03-29 2011-06-28 Hewlett-Packard Development Company, L.P. Directed cost protocol
US8948207B2 (en) * 2004-04-05 2015-02-03 Verizon Patent And Licensing Inc. System and method for transporting time-division multiplexed communications through a packet-switched access network
US8340102B2 (en) 2004-04-05 2012-12-25 Verizon Business Global Llc Apparatus and method for providing a network termination point
US8289973B2 (en) * 2004-04-05 2012-10-16 Verizon Business Global Llc System and method for indicating classification of a communications flow
US7821929B2 (en) * 2004-04-05 2010-10-26 Verizon Business Global Llc System and method for controlling communication flow rates
US8218569B2 (en) * 2004-04-05 2012-07-10 Verizon Business Global Llc Apparatus and method for terminating service emulation instances
US8249082B2 (en) * 2004-04-05 2012-08-21 Verizon Business Global Llc System method for a communications access network
US7869450B2 (en) 2004-04-05 2011-01-11 Verizon Business Global Llc Method and apparatus for processing labeled flows in a communication access network
US20050220059A1 (en) * 2004-04-05 2005-10-06 Delregno Dick System and method for providing a multiple-protocol crossconnect
US7920577B2 (en) * 2004-07-08 2011-04-05 Avaya Communication Israel Ltd. Power saving in wireless packet based networks
EP1782166A4 (en) * 2004-07-09 2010-09-22 Network Foundation Technologie SYSTEMS FOR DISTRIBUTING DATA THROUGH A COMPUTER NETWORK AND METHOD FOR ARRANGING NODES FOR DISTRIBUTING DATA THROUGH A COMPUTER NETWORK
US7391744B2 (en) * 2004-10-18 2008-06-24 Alcatel Lucent Allocating bridge priorities in bridged network
KR100645514B1 (ko) * 2004-10-19 2006-11-15 삼성전자주식회사 멀티 네트워크의 망 요소 관리 시스템 및 방법
JP4398356B2 (ja) 2004-12-24 2010-01-13 富士通株式会社 中継装置
US7889681B2 (en) * 2005-03-03 2011-02-15 Cisco Technology, Inc. Methods and devices for improving the multiple spanning tree protocol
US8565124B2 (en) * 2005-03-04 2013-10-22 Nec Corporation Node, network, correspondence relationship generation method and frame transfer program
BRPI0520288A2 (pt) * 2005-06-14 2009-09-15 Ericsson Telefon Ab L M método de processamento de falha em uma rede de pacotes de estrutura de árvore, e, arranjo em uma rede de pacotes de estrutura de árvore
KR100777614B1 (ko) * 2005-06-27 2007-11-21 학교법인 동의학원 최적 토플로지 엠에스티피 네트워크 장치 및 최적 토플로지엠에스티피 네트워크 구성방법
US7646733B2 (en) * 2005-09-16 2010-01-12 Cisco Technology, Inc. System and method for generating symmetrical spanning trees
EP1768307B1 (en) * 2005-09-23 2008-11-05 Nokia Siemens Networks Gmbh & Co. Kg Method for augmenting a network
CN100488169C (zh) * 2005-11-11 2009-05-13 华为技术有限公司 一种桥接网络中的数据处理方法及一种桥接网络
US7580357B2 (en) * 2005-12-01 2009-08-25 Via Technologies, Inc. Method for implementing varying grades of service quality in a network switch
IL177974A (en) * 2006-09-10 2011-06-30 Tejas Israel Ltd Method and system for relaying frames through an ethernet network and bridge therefor
WO2008033870A2 (en) 2006-09-11 2008-03-20 Lumexis Corporation Fiber-to-the-seat (ftts) fiber distribution system
JP4751817B2 (ja) * 2006-12-04 2011-08-17 富士通株式会社 パケット転送装置およびネットワークシステム
US8125930B2 (en) * 2006-12-13 2012-02-28 Rockstar Bidco Lp Protocol for clock distribution and loop resolution
CN101206713B (zh) * 2006-12-18 2012-07-11 国际商业机器公司 标签识别系统和方法
US7962595B1 (en) * 2007-03-20 2011-06-14 Emc Corporation Method and apparatus for diagnosing host to storage data path loss due to FibreChannel switch fabric splits
US8089882B2 (en) * 2007-03-23 2012-01-03 Hewlett-Packard Development Company, L.P. Load-aware network path configuration
US8509075B2 (en) * 2007-03-23 2013-08-13 Hewlett-Packard Development Company, Lp Data-type-based network path configuration
US7839798B2 (en) * 2007-06-22 2010-11-23 Microsoft Corporation Seamlessly switching overlay network relay trees
US7886080B2 (en) * 2007-11-30 2011-02-08 Cisco Technology, Inc. Management of topology changes in layer two networks
CN101668025B (zh) * 2008-09-04 2013-02-13 北京启明星辰信息技术股份有限公司 一种链路层网络拓扑发现方法及装置
US9237034B2 (en) * 2008-10-21 2016-01-12 Iii Holdings 1, Llc Methods and systems for providing network access redundancy
US20100115415A1 (en) * 2008-10-31 2010-05-06 Hickey James P Graphic for network switches
US8169914B2 (en) * 2009-03-16 2012-05-01 Sling Media Pvt. Ltd. Method and node for transmitting data over a communication network using negative acknowledgment
ES2715850T3 (es) * 2009-08-06 2019-06-06 Global Eagle Entertainment Inc Sistema de entretenimiento en vuelo de interconexión en red en serie de fibra hasta el asiento
US8424045B2 (en) 2009-08-14 2013-04-16 Lumexis Corporation Video display unit docking assembly for fiber-to-the-screen inflight entertainment system
WO2011022708A1 (en) 2009-08-20 2011-02-24 Lumexis Corp. Serial networking fiber optic inflight entertainment system network configuration
CN101997735A (zh) * 2009-08-25 2011-03-30 中兴通讯股份有限公司 单环网络拓扑重建方法及系统
US8717895B2 (en) * 2010-07-06 2014-05-06 Nicira, Inc. Network virtualization apparatus and method with a table mapping engine
US10103939B2 (en) 2010-07-06 2018-10-16 Nicira, Inc. Network control apparatus and method for populating logical datapath sets
US9525647B2 (en) 2010-07-06 2016-12-20 Nicira, Inc. Network control apparatus and method for creating and modifying logical switching elements
US8467324B2 (en) * 2010-11-03 2013-06-18 Broadcom Corporation Managing devices within a vehicular communication network
IL212191A0 (en) * 2011-04-07 2011-06-30 Eci Telecom Ltd Method for mac addresses withdrawal in telecommunication networks
US9094706B2 (en) 2011-10-21 2015-07-28 Sonos, Inc. Systems and methods for wireless music playback
US20130148658A1 (en) * 2011-12-09 2013-06-13 Raytheon Bbn Technologies Corp Systems and methods for scalable multicast communication using self-rooted forwarding trees
US9306764B2 (en) 2012-06-29 2016-04-05 Sonos, Inc. Dynamic spanning tree root selection
US9450775B1 (en) * 2012-07-19 2016-09-20 Google Inc. System and method for bouncing traffic in deadlock safe manner
US20140071885A1 (en) * 2012-09-10 2014-03-13 Qualcomm Incorporated Systems, apparatus, and methods for bridge learning in multi-hop networks
US20140153443A1 (en) * 2012-11-30 2014-06-05 International Business Machines Corporation Per-Address Spanning Tree Networks
JP6171434B2 (ja) * 2013-03-18 2017-08-02 富士通株式会社 ノード装置、通信方法、通信プログラム、および、ネットワークシステム
CN103414644B (zh) * 2013-07-31 2016-12-07 华为技术有限公司 表项下发的方法及控制器
US20150095980A1 (en) * 2013-09-29 2015-04-02 Nvidia Corporation Controlling sharing of content between data processing devices
TWI499787B (zh) * 2014-01-21 2015-09-11 Realtek Semiconductor Corp 多重故障診斷方法和機器可讀媒體
TWI607639B (zh) * 2016-06-27 2017-12-01 Chunghwa Telecom Co Ltd SDN sharing tree multicast streaming system and method
EP3831021A1 (en) 2018-07-27 2021-06-09 Gotenna Inc. VINEtm ZERO-CONTROL ROUTING USING DATA PACKET INSPECTION FOR WIRELESS MESH NETWORKS
US10735247B2 (en) * 2018-10-11 2020-08-04 Dell Products L.P. Spanning tree protocol traffic handling system

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4811337A (en) * 1988-01-15 1989-03-07 Vitalink Communications Corporation Distributed load sharing
GB2272310A (en) * 1992-11-07 1994-05-11 Ibm Method of operating a computer in a network.
EP0684716B1 (en) * 1994-05-25 2002-02-27 International Business Machines Corporation A data communication network and method for operating said network
US6189043B1 (en) * 1997-06-09 2001-02-13 At&T Corp Dynamic cache replication in a internet environment through routers and servers utilizing a reverse tree generation
US6154463A (en) * 1997-08-26 2000-11-28 Lucent Technologies, Inc. System and method for multicast conferencing and online discussion groups
JPH11168491A (ja) * 1997-12-03 1999-06-22 Hitachi Cable Ltd ブリッジ装置
US6188694B1 (en) * 1997-12-23 2001-02-13 Cisco Technology, Inc. Shared spanning tree protocol
US6032194A (en) * 1997-12-24 2000-02-29 Cisco Technology, Inc. Method and apparatus for rapidly reconfiguring computer networks
US6105018A (en) * 1998-03-26 2000-08-15 Oracle Corporation Minimum leaf spanning tree
US6574197B1 (en) 1998-07-03 2003-06-03 Mitsubishi Denki Kabushiki Kaisha Network monitoring device
US6111673A (en) * 1998-07-17 2000-08-29 Telcordia Technologies, Inc. High-throughput, low-latency next generation internet networks using optical tag switching
US6628661B1 (en) * 1998-08-27 2003-09-30 Intel Corporation Spanning tree recovery in computer networks
US6262977B1 (en) * 1998-08-28 2001-07-17 3Com Corporation High availability spanning tree with rapid reconfiguration
US6938075B1 (en) 1998-12-24 2005-08-30 Computer Associates Think, Inc. Method and apparatus for hierarchical software distribution packages including composite packages
US6771610B1 (en) * 1999-01-19 2004-08-03 3Com Corporation Spanning tree with protocol for bypassing port state transition timers
US7283463B2 (en) * 1999-03-30 2007-10-16 International Business Machines Corporation Non-disruptive reconfiguration of a publish/subscribe system
US6879588B1 (en) 1999-05-21 2005-04-12 Broadcom Corporation Address resolution snoop support for CPU
JP2001111616A (ja) * 1999-10-07 2001-04-20 Nec Corp 蓄積交換スイッチおよび蓄積交換方法
US6678241B1 (en) 1999-11-30 2004-01-13 Cisc Technology, Inc. Fast convergence with topology switching
JP3715501B2 (ja) * 2000-03-10 2005-11-09 アンリツ株式会社 スパニングツリー用ブリッジ及びそれを用いた経路変更方法
JP3664935B2 (ja) * 2000-03-17 2005-06-29 アンリツ株式会社 スパニングツリープロトコルを用いたブリッジ経路決定方法及びスパニングツリープロトコルを備えたブリッジ
US6868086B1 (en) 2000-03-29 2005-03-15 Intel Corporation Data packet routing
US6963575B1 (en) * 2000-06-07 2005-11-08 Yipes Enterprise Services, Inc. Enhanced data switching/routing for multi-regional IP over fiber network
US20020093954A1 (en) * 2000-07-05 2002-07-18 Jon Weil Failure protection in a communications network
KR20020094028A (ko) 2001-03-09 2002-12-16 코닌클리케 필립스 일렉트로닉스 엔.브이. 버스 구조를 통해 통신하는 장치들의 시스템
JP3614118B2 (ja) 2001-05-23 2005-01-26 日本電気株式会社 リングシステムのノード装置及びそれを用いたマルチスパニングツリー構築システム並びにその方法
JP2002353998A (ja) 2001-05-30 2002-12-06 Nec Corp 通信装置及びそれを用いたネットワークシステム並びにスパニングツリー構築方法
US7177946B1 (en) 2001-12-06 2007-02-13 Cisco Technology, Inc. Optimal sync for rapid spanning tree protocol
US7203743B2 (en) * 2001-12-28 2007-04-10 Nortel Networks Limited Hierarchical tree-based protection scheme for mesh networks
JP3956741B2 (ja) 2002-03-29 2007-08-08 富士通株式会社 マルチプル・スパニング・ツリー・プロトコル処理モジュール及びマルチプル・スパニング・ツリー設定方法
US7257086B2 (en) 2002-08-27 2007-08-14 Terabeam Corporation Method and system for effectuating network routing over primary and backup channels
WO2004075486A1 (ja) 2003-02-19 2004-09-02 Fujitsu Limited 仮想lan構築装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100917299B1 (ko) * 2007-12-28 2009-09-11 엘지노텔 주식회사 스패닝 트리에서 링크집합과의 연동을 지원하는 루프 제거방법
KR101222131B1 (ko) * 2009-10-08 2013-01-15 한국전자통신연구원 무선 센서 네트워크의 릴레이 노드 위치 결정 방법 및 시스템
WO2013069837A1 (ko) * 2011-11-10 2013-05-16 한국기초과학지원연구원 노드의 동적 상태 변화에 따른 라우팅 경로 결정 방법

Also Published As

Publication number Publication date
WO2004019560A1 (ja) 2004-03-04
TW200405694A (en) 2004-04-01
CA2437673A1 (en) 2004-02-22
EP1542407A1 (en) 2005-06-15
AU2003255044A1 (en) 2004-03-11
US20040047300A1 (en) 2004-03-11
EP1542407A4 (en) 2010-01-13
CN1679279A (zh) 2005-10-05
US20080159174A1 (en) 2008-07-03
JP2004140777A (ja) 2004-05-13
JP3729265B2 (ja) 2005-12-21
TWI242337B (en) 2005-10-21
US7894374B2 (en) 2011-02-22
US7855981B2 (en) 2010-12-21

Similar Documents

Publication Publication Date Title
KR20050036977A (ko) 네트워크 시스템, 스패닝 트리 구성 방법, 스패닝 트리 구성 노드, 및 스패닝 트리 구성 프로그램
US8854975B2 (en) Scaling OAM for point-to-point trunking
US8472325B2 (en) Network availability enhancement technique for packet transport networks
US9882838B2 (en) Forwarding inter-switch connection (ISC) frames in a network-to-network interconnect topology
US7558194B2 (en) Virtual private network fault tolerance
US8737198B1 (en) Method and apparatus for controlling a set of ethernet nodes interconnected to form one or more closed loops
US8477600B2 (en) Composite transport functions
US10158500B2 (en) G.8032 prioritized ring switching systems and methods
US20140185429A1 (en) Communication system, path switching method and communication device
US20140226525A1 (en) Safe Multicast Distribution with Predictable Topology Changes
US10110475B2 (en) Restoration method for an MPLS ring network
CN111935013B (zh) 流量转发控制方法及装置、流量转发方法及芯片、交换机
WO2022063010A1 (zh) 一种业务保护方法和网络节点
WO2018090210A1 (zh) 业务报文传输方法及节点设备
US20150172173A1 (en) Communication system, communication apparatus and path switching method
US20090103554A1 (en) Data transfer device for ring protocol high speed switching and method for the same
JP4089698B2 (ja) ネットワークシステム、ツリー再構成処理方法、ノード、ツリー再構成処理プログラム
JP4123437B2 (ja) ネットワークシステム、スパニングツリー構成方法、スパニングツリー構成ノード、及びスパニングツリー構成プログラム
JP2004214816A (ja) スパニングツリーシステム、スパニングツリー構成方法及び構成プログラム、スパニングツリー構成ノード
WO2022199276A1 (zh) 业务保护方法及网络节点
WO2023273941A1 (zh) 路径切换方法、控制器、节点以及存储介质
WO2006027824A1 (ja) 通信ネットワークシステムおよび障害検出装置
US9565054B2 (en) Fate sharing segment protection
CN114531393A (zh) 分段路由策略下发方法、装置、设备、介质及程序产品
Zhan et al. Resilient Ethernet Ring for Survivable IP Metro Backbone

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application