KR102002189B1 - 분할 아키텍처 시스템에서의 제어 트래픽의 탄력적 라우팅을 위한 방법 및 장치 - Google Patents

분할 아키텍처 시스템에서의 제어 트래픽의 탄력적 라우팅을 위한 방법 및 장치 Download PDF

Info

Publication number
KR102002189B1
KR102002189B1 KR1020147005597A KR20147005597A KR102002189B1 KR 102002189 B1 KR102002189 B1 KR 102002189B1 KR 1020147005597 A KR1020147005597 A KR 1020147005597A KR 20147005597 A KR20147005597 A KR 20147005597A KR 102002189 B1 KR102002189 B1 KR 102002189B1
Authority
KR
South Korea
Prior art keywords
switch
controller
shortest path
tree
network
Prior art date
Application number
KR1020147005597A
Other languages
English (en)
Other versions
KR20140053265A (ko
Inventor
네다 베헤쉬티-자바레
잉 장
Original Assignee
텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) filed Critical 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘)
Publication of KR20140053265A publication Critical patent/KR20140053265A/ko
Application granted granted Critical
Publication of KR102002189B1 publication Critical patent/KR102002189B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath

Abstract

본 발명은 가중치를 최소화하는 라우팅 알고리즘 특성이며, 이는 네트워크의 장애시에 노드가 제어기로부터 분리될 확률이 최소화된다는 것을 의미한다. 본 발명에서 사용되는 제1 알고리즘은 네트워크에서 최대 복구력을 제공하는 제어기 라우팅 트리를 찾기 위한 근사화 알고리즘이다. 이 알고리즘은 본 명세서에서 최대 복구력(MR) 알고리즘으로 지칭된다. 휴리스틱 MR 알고리즘은 최단 경로 트리를 시작 포인트로서 선택하고, 복구력을 개선하기 위해 트리를 변경한다. MR 알고리즘의 출력은 반드시 최단 경로 트리는 아니지만, 최초 트리에 비해 더 큰 복구력을 제공한다. RASP 알고리즘은 다른 가능한 최단 경로 트리들에 비해 개선된 네트워크 복구력을 갖는 최단 경로 트리를 제공한다.

Description

분할 아키텍처 시스템에서의 제어 트래픽의 탄력적 라우팅을 위한 방법 및 장치{METHOD AND APPARATUS FOR RESILIENT ROUTING OF CONTROL TRAFFIC IN A SPLIT-ARCHITECTURE SYSTEM}
관련 출원의 상호 참조
본원은 2011년 9월 19일자로 출원된 미국 특허 정식 출원 제13/236,296호와 관련되며, 2011년 7월 29일자로 출원된 미국 특허 가출원 제61/513,140호로부터 우선권을 주장한다.
발명의 분야
본 발명의 실시예들은 네트워크들의 구성 및 설계에 관한 것이다. 구체적으로, 본 발명의 실시예들은 분할 아키텍처 네트워크에서 제어 트래픽 라우팅 트리들을 계산, 생성, 구현 및 사용하기 위한 방법 및 시스템에 관한 것이다. 본 명세서에서 개시되는 알고리즘들은 거리 및 복구력 팩터들을 고려한다. 본 발명의 목적은 네트워크 토폴로지 내의 각각의 스위치와 제어기 사이의 접속에 있어서 높은 복구력(resilience)은 물론, 짧은 거리를 갖는 제어기 라우팅 트리를 형성하는 것이다. "에지" 및 "링크"라는 용어는 본 명세서에서 교환 가능하게 사용되며, 노드들을 상호접속하는 네트워크 경로를 지칭한다.
전통적인 네트워크 아키텍처에서는, 제어 및 데이터 패킷들 양자가 동일 링크 상에서 전송되며, 따라서 장애 발생시에 제어 트래픽 및 데이터 트래픽이 동일하게 영향을 받는다는 점에서, 전달 및 제어 평면들의 결합이 존재한다. 간단히 말하면, 제어 트래픽은 데이터의 흐름들이 어떻게 처리되고 전달될지를 제어하는, 본 명세서에서 제어기로서 지칭되는 네트워크 요소와 본 명세서에서 스위치로서 지칭되는 전달 요소 사이의 트래픽이다. 데이터 트래픽은 네트워크에서 하나의 노드로부터 다른 노드로 전송하려고 시도되는 데이터 페이로드이다. 본원 전반에서, 전달 요소(들)는 스위치(들)로서 지칭된다. 그러나, 스위치라는 용어의 사용은 그러한 전달 요소들을 이더넷 또는 계층 2 스위치들로 한정하는 것으로 해석되지 않아야 한다.
이러한 전통적인 네트워크 아키텍처에서의 전달 및 제어 평면들의 결합은 통상적으로 과도하게 복잡한 제어 평면 및 복잡한 네트워크 관리를 유발한다. 불리하게도, 이것은 새로운 프로토콜들 및 기술 개발들에 대한 큰 부담 및 높은 장벽을 유발하는 것으로 알려져 있다. 회선 속도들, 포트 밀도들 및 성능의 빠른 개선에도 불구하고, 네트워크 제어 평면 메커니즘들은 전달 평면 메커니즘들보다 훨씬 느린 속도로 향상되었다. 언급된 단점들을 극복하기 위해, 오픈플로우(OpenFlow) 분할 아키텍처 프로토콜이 개발되었다.
분할 아키텍처 네트워크 설계는 네트워크의 제어 및 전달 컴포넌트들 간의 분리를 채용한다. 그러한 아키텍처의 용례들 중에는, 캐리어-등급 네트워크들, 기업 네트워크들, 인터넷 서비스 제공자(ISP) 네트워크들, 이동 백홀 네트워크들, 클라우드 컴퓨팅, 다층(L3 및 L2 및 L1, OTN, WDM) 지원 네트워크들 및 데이터 센터들의 액세스/집계 도메인이 있으며, 이들 모두는 네트워크 아키텍처의 주요 구성 블록들에 속한다. 따라서, 이러한 네트워크들의 적절한 설계, 관리 및 성능 최적화는 매우 중요하다.
전달 및 제어 평면들 양자를 동일 네트워크 요소 내에 통합하는 전통적인 네트워크 아키텍처와 달리, 분할 아키텍처 네트워크는 이러한 2개의 평면을 분리하며, 전달 요소들과 상이한 물리 위치들에 있을 수 있는 서버들 상에서 제어 평면을 실행한다. 네트워크에서의 분할 아키텍처의 사용은 전달 평면을 구현하는 스위치들의 간소화를 가능하게 하며, 네트워크의 지능을 스위치들을 관리하는 다수의 제어기로 시프트시킨다. 분할 아키텍처 네트워크들에서 (예를 들어, 흐름 엔트리들, 패킷들, 프레임들, 세그먼트들, 프로토콜 데이터 유닛들로서 전송되는) 제어 트래픽은 (예를 들어, 패킷들, 프레임들, 세그먼트들, 프로토콜 데이터 유닛들로서 전송되는) 데이터 트래픽과 다른 경로들 상에서 또는 심지어 별개의 네트워크 상에서 전송될 수 있다. 따라서, 이러한 네트워크들에서 제어 평면의 신뢰성은 더 이상 전달 평면의 신뢰성과 직접 연관되지 않는다. 그러나, 분할 아키텍처에서의 제어 평면과 전달 평면 간의 분리는 전달 평면을 불능화할 수 있으며, 스위치가 그의 제어기로부터 분리될 때, 스위치는 새로운 흐름들을 어떻게 전달할지에 관한 어떠한 지시도 수신할 수 없으며, 사실상 오프라인 상태가 된다.
분할 아키텍처 네트워크에서, 제어기는 스위치들로부터 정보를 수집하며, 적절한 전달 결정들을 계산하여 스위치들에 분배한다. 제어기들 및 스위치들은 프로토콜을 이용하여 정보를 통신하고 교환한다. 그러한 프로토콜의 일례는 스위치와 제어기 사이의 통신을 위한 개방된 표준 방법을 제공하는 오픈플로우이며(www.openflow.org 참고), 이것은 학계와 산업계 양쪽으로부터 상당한 관심을 받았다.
도 1은 스위치(109)와 제어기(101) 사이의 오픈플로우 인터페이스의 개요를 나타내는 도면(100)이다. 스위치(109)는 네트워크 요소들(105)의 컴포넌트이다. 제어기(101)는 오픈플로우 프로토콜을 이용하여 보안 채널(103)을 통해 스위치(109)와 통신한다. 오픈플로우 스위치 내의 흐름 또는 전달 테이블(107)은 도 2에 도시된 바와 같이 패킷 헤더들 내의 필드들에 대한 매치들을 정의하는 규칙(201); 흐름 매치(204)와 관련된 액션(203); 및 흐름(206)에 관한 통계들(205)의 집합으로 구성되는 제어기(101)로부터의 엔트리들로 채워진다.
착신 패킷이 특정 규칙에 매칭될 때, 패킷에 대해 관련 액션들이 수행된다. 도 2에 도시된 바와 같이, 규칙(201)은 프로토콜 스택 내의 여러 헤더로부터의 키 필드들(202), 예를 들어 이더넷 MAC 어드레스들, IP 어드레스, IP 프로토콜, TCP/UDP 포트 번호들은 물론, 착신 포트 번호도 포함한다. 흐름을 정의하기 위하여, 모든 이용 가능한 매칭 필드들이 사용될 수 있다. 그러나, 원하지 않는 필드들에 대한 와일드카드들을 사용함으로써 매칭 규칙을 이용 가능 필드들의 서브세트로 제한하는 것도 가능하다.
분할 아키텍처의 분리된 제어 플랫폼은 네트워크 제어 논리를 변경하는 작업을 용이하게 하며, 개발자들이 다양한 새로운 프로토콜들 및 관리 애플리케이션들을 생성할 수 있는 프로그램 인터페이스를 제공한다. 이러한 모델에서는, 데이터 및 제어 평면들이 독립적으로 진화하고 스케일링될 수 있는 한편, 데이터 평면 요소들의 비용이 감소한다.
링크 및 스위치 장애가 네트워크 성능에 악영향을 미칠 수 있다는 것이 잘 알려져 있다. 예를 들어, 수 밀리초의 장애는 고속 에지들에서 테라바이트 데이터 손실을 쉽게 유발할 수 있다. 네트워크들의 복구력에 대한 연구들은 역사적으로 대역내(in-band) 제어 모델을 취하였으며, 이는 제어 평면 및 데이터 평면이 동일한 복구력을 갖는다는 것을 의미한다. 분할 아키텍처 네트워크들은 대역외 모델을 사용하지만, 단일 제어기가 스위치로서 작용하는 각각의 네트워크 요소에 링크에 의해 직접 결합되므로, 링크 및 스위치 장애는 여전히 중요하다. 그러한 네트워크에서, 제어기와 스위치 사이의 링크에 장애가 발생하는 경우, 스위치는 그의 전달 테이블을 갱신할 수 없고, 결국에는 장애가 발생한다.
전통적인 네트워크들에서, 제어 및 데이터 패킷들 양자가 동일 링크 상에서 전송되는 경우, 장애가 발생할 때 제어 및 데이터 정보는 동일하게 영향을 받는다. 분할 아키텍처에서 사용될 때, 제어기와 전달 평면 간의 분리는 전달 평면을 불능화할 수 있는데, 그 이유는 스위치가 그의 제어기로부터 분리될 때, 스위치는 새로운 흐름들을 어떻게 전달할지에 관한 어떠한 지시도 수신할 수 없고, 사실상 오프라인 상태가 되기 때문이다.
기존의 분할 아키텍처 네트워크 설계 제안들 및 예비 구현들에서, 각각의 스위치는 제어기에 도달하기 위한 경로를 갖도록 사전 프로그래밍된다. 링크 또는 노드 장애시에, 스위치는 제어기에 의존하여 그러한 장애를 검출하고, 스위치에 대한 새로운 경로를 재계산한다. 제어기에 의한 스위치들 또는 링크들에서의 임의의 장애들의 검출은 스위치로부터 제어기에 의해 언제 헬로우 메시지가 수신되지 않는지와 같은 일부 암시적인 메커니즘들에 기초해야 한다. 이것은 네트워크에서 장애의 정확한 위치를 검출하고 제어기-스위치 접속을 재설정하는 데 있어서 큰 지연을 유발한다. 스위치에 대한 백업 경로가 구성될 수 없는 경우, 제어기에 대한 스위치의 접속은 제어기에 대한 주 경로의 장애시에 중단될 것이다.
제어 트래픽, 데이터 트래픽 또는 이들 양자를 운반하는 링크 상에서 링크 장애가 발생할 수 있으며, 이것은 링크를 지나는 트래픽이 더 이상 링크를 통해 전송될 수 없다는 것을 지시한다. 장애는 2개의 스위치 사이의 링크 또는 하나의 제어기와 그에 접속된 스위치 사이의 링크에서 발생할 수 있다. 대부분의 경우, 이러한 링크들은 독립적으로 장애가 발생한다.
스위치 장애는 네트워크 요소 또는 전달 요소가 어떠한 패킷 또는 다른 프로토콜 데이터 유닛도 생성, 응답 또는 전달할 수 없다는 것을 지시한다. 스위치 장애는 소프트웨어 버그, 하드웨어 장애, 잘못된 구성 및 유사한 문제들에 의해 유발될 수 있다. 대부분의 경우, 이러한 스위치들은 독립적으로 장애가 발생한다.
특수 장애 예는 스위치와 제어기 간의 접속 상실을 포함한다. 스위치는 스위치와 제어기 사이의 경로를 따르는 중간 링크들 또는 노드들 상의 장애들로 인해 그의 제어기에 대한 접속을 상실할 수 있다. 스위치가 그의 할당된 제어기와 통신할 수 없을 때마다, 스위치는 전달 평면 상의 경로가 여전히 유효한 경우에도 제어기에 의해 관리되는 전달 평면 상의 모든 패킷들을 폐기할 것이다. 다른 실시예들에서는, 할당된 제어기 또는 다른 제어기와의 접속이 재설정될 때까지, 트래픽의 서브세트가 전달 평면 상에서 전달될 수 있거나, 유사한 제한된 기능이 제한된 양의 시간 동안 계속될 수 있다. 따라서, 이것은 스위치 장애의 특수 예로서 간주될 수 있다.
대부분, 제어기들 및 스위치들은 개방 최단 경로 우선(OSPF)과 같은 라우팅 프로토콜을 이용하여 노드들 간의 거리를 최소화하도록 작업을 수행한다. OSPF는 현재 가장 대중적인 내부 게이트웨이 라우팅 프로토콜이다. OSPF(IETF RFC 2328 참고)는 라우터가 그의 이웃들의 링크 상태 정보를 라우팅 도메인 내의 모든 노드들에 방송하는 링크 상태 프로토콜이다. 이러한 정보를 이용하여, 모든 라우터는 도메인 내의 전체 네트워크의 토폴로지 맵을 구성한다. 각각의 라우터는 전체 네트워크 토폴로지를 반영하는 링크 상태 데이터베이스를 유지한다. 이러한 토폴로지 맵 및 링크 비용 메트릭에 기초하여, 라우터들은 Dijkstra의 알고리즘을 이용하여 모든 다른 라우터들에 대한 최단 경로들을 결정한다. 이어서, 이러한 정보는 IP 패킷들의 전달에 사용되는 라우팅 테이블들을 생성하는 데 사용된다.
최단 경로 라우팅 프로토콜 사용의 주요 단점은 이 프로토콜이 네트워크 복구력 또는 보호를 고려하지 않는다는 점이다. 네트워크 설계의 평가에 있어서, 네트워크 복구력은 중요한 팩터인데, 그 이유는 수 밀리초의 장애가 고속 링크들 상에서 테라바이트 데이터 손실을 쉽게 유발할 수 있기 때문이다. 본 명세서에서 사용될 때, 복구력은 정상 동작에 대한 장애 및 도전에 직면하여 수용 가능한 레벨의 서비스를 제공하고 유지하기 위한 능력이다. 더 큰 복구력을 가진 네트워크 요소 또는 전달 요소는 더 작은 복구력을 가진 네트워크 요소 또는 전달 요소보다 정상 동작에 대한 장애 및 도전으로부터 더 양호하게 보호된다. 본 명세서에서 사용될 때, 장애 확률은 엔지니어링된 시스템 또는 컴포넌트가 장애를 겪는 빈도로서, 시간당 장애들의 수로서 표현되거나, 각각의 노드가 긴 시간 동안 장애를 겪는 확률이다.
복구력 또는 보호 팩터들에 기초하여 제어기 라우팅 트리를 생성하고 스위치와 제어기 사이의 백업 링크들을 제공하는 방법 및 장치가 요구된다. 그러한 요구되는 제어기 라우팅 트리는 스위치와 제어기 사이의 백업 경로들로서 사용될 스위치 내의 보조 발신 링크들을 구성하는 데 사용되는, 스위치와 제어기 사이에서 통신되는 정보에 기초하여 제어기에서 생성될 것이며, 스위치는 링크 또는 노드 장애를 검출하고, 스위치로부터 제어기로의 백업 경로가 선택되게 하도록 동작할 수 있다.
본 발명은 동일한 참조 부호들이 유사한 요소들을 지시하는 첨부 도면들에서 한정이 아니라 예시적으로 도시된다. 본 명세서에서 "일" 또는 "하나의" 실시예에 대한 상이한 참조들은 반드시 동일한 실시예를 참조하는 것은 아니며, 그러한 참조들은 적어도 하나를 의미한다는 점에 유의해야 한다. 게다가, 특정 특징, 구조 또는 특성이 일 실시예와 관련하여 설명될 때, 그러한 특징, 구조 또는 특성이 명시적인 설명의 여부와 관계없이 다른 실시예들과 관련하여 사용될 수 있다는 것은 이 분야의 기술자의 지식 내에 있다는 것을 진술한다.
도 1은 간단한 오픈플로우 네트워크의 도면이다.
도 2는 흐름 테이블 엔트리의 내용들의 도면이다.
도 3은 개방 최단 경로 우선 알고리즘을 이용하여 생성된 라우팅 트리를 나타내는 그래프이다.
도 4는 그리디 라우팅 알고리즘을 이용하여 생성된 라우팅 트리를 나타내는 그래프이다.
도 5는 본 발명의 제1 라우팅 알고리즘의 일 실시예의 흐름도이다.
도 6은 본 발명의 제2 라우팅 알고리즘의 일 실시예의 흐름도이다.
도 7은 본 발명의 MR 라우팅 알고리즘을 구현하도록 구성될 수 있는 네트워크 요소의 블록도이다.
도 8은 본 발명의 RASP 라우팅 알고리즘을 구현하도록 구성될 수 있는 네트워크 요소의 블록도이다.
아래의 설명에서는 다수의 특정 상세가 설명된다. 그러나, 본 발명의 실시예들은 이러한 특정 상세들 없이 실시될 수 있다는 것을 이해한다. 다른 예들에서는 본 설명의 이해를 불명확하게 하지 않기 위해 공지 회로들, 구조들 및 기술들은 상세히 설명되지 않았다. 그러나, 이 분야의 기술자는 본 발명이 그러한 특정 상세 없이 실시될 수 있다는 것을 알 것이다. 이 분야의 통상의 기술자들은 포함된 설명을 이용하여, 과도한 실험 없이 적절한 기능을 구현할 수 있을 것이다.
도면들에 도시된 기술들 및 청구되는 네트워크 토폴로지 설계 시스템은 하나 이상의 전자 장치(예를 들어, 말단국, 네트워크 요소, 서버 또는 유사한 전자 장치들) 상에 저장 및 실행되는 코드, 명령어들 및 데이터를 이용하여 구현될 수 있다. 그러한 전자 장치들은 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체(예를 들어, 자기 디스크, 광 디스크, 랜덤 액세스 메모리, 판독 전용 메모리, 플래시 메모리 장치, 및 상변화 메모리)와 같은 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 매체를 이용하여 코드 및 데이터를 저장하고 (내부적으로 그리고/또는 네트워크를 통해 다른 전자 장치들과) 통신한다. 게다가, 그러한 전자 장치들은 통상적으로 하나 이상의 저장 장치, 사용자 입출력 장치(예로서, 키보드, 터치스크린 및/또는 디스플레이) 및 네트워크 접속과 같은 하나 이상의 다른 컴포넌트에 결합된 하나 이상의 마이크로프로세서의 세트를 포함한다. 마이크로프로세서들의 세트와 다른 컴포넌트들의 결합은 통상적으로 하나 이상의 버스 및 브리지(버스 제어기라고도 함)를 통해 이루어진다. 네트워크 토폴로지 설계 시스템 내의 저장 장치들은 하나 이상의 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체 및 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 통신 매체를 나타낸다. 따라서, 주어진 전자 장치 또는 네트워크 토폴로지 설계 시스템의 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체는 통상적으로 그 전자 장치의 하나 이상의 프로세서의 세트 상에서의 실행을 위한 코드, 명령어들 및/또는 데이터를 저장한다. 물론, 본 발명의 일 실시예의 하나 이상의 요소는 소프트웨어, 펌웨어 및/또는 하드웨어의 상이한 조합들을 이용하여 구현될 수 있다.
본 명세서에서 사용될 때, 네트워크 요소 또는 전달 요소(예로서, 라우터, 스위치, 브리지 또는 유사한 네트워킹 장치)는 하나의 네트워킹 장비로서, 네트워크 상의 다른 장비(예로서, 다른 네트워크 요소, 말단국 또는 유사한 네트워킹 장치)와 통신 가능하게 상호접속하는 하드웨어 및 소프트웨어를 포함한다. 일부 네트워크 요소들은 다수의 네트워킹 기능(예를 들어, 라우팅, 브리징, 스위칭, 계층 2 집계, 세션 경계 제어, 멀티캐스팅 및/또는 가입자 관리)에 대한 지원을 제공하고/하거나 다수의 애플리케이션 서비스(예로서, 데이터 수집)에 대한 지원을 제공하는 "다중 서비스 네트워크 요소들"이다.
본 발명은 제어기와 스위치 사이의 통신을 위해 제어기 라우팅 트리를 구성하기 위한 개시되는 알고리즘들 중 하나를 이용하여, 제어기 및 복수의 스위치를 갖는 분할 아키텍처 시스템에서 제어 트래픽을 라우팅하기 위한 제어기 라우팅 트리를 결정하기 위한 방법 및 장치를 포함한다. 분할 아키텍처 시스템에서 사용하도록 제안된 전통적인 라우팅 알고리즘들은 스위치와 제어기 사이의 거리를 최소화하는 목적만을 갖는 반면, 본 발명은 거리 및 복구력 팩터들 양자를 고려한다.
더 구체적으로, 본 발명은 분할 아키텍처 시스템의 스위치들로 전송될 제어기 라우팅 트리를 제어기에 의해 결정하기 위해 개시되는 알고리즘들 중 하나를 이용한다. 제어기 라우팅 트리는 각각의 스위치와 제어기 사이의 부하 균형화되지 않은 제어 트래픽 경로를 나타내며, 제어 트래픽은 각각의 스위치로부터 제어기로의 양방향 정보 및 제어기로부터 스위치로의 전달 결정 정보를 나타낸다. 제어기는 스위치들과 동일한 물리 네트워크 내에 있다. 즉, 별개의 기반 구조를 이용하여 제어 및 전달 평면들을 접속하는 것이 아니라, 분할 아키텍처 네트워크의 기존 기반 구조(기존의 링크들 및 스위치들)를 이용하여 제어기를 네트워크 내의 모든 스위치들에 접속한다. 다른 실시예들에서는, 별개의 네트워크 기반 구조가 통신을 위해 사용되거나, 이들의 임의 조합이 이용된다. 각각의 알고리즘은 복구력 및 거리와 관련하여 상이한 목적을 갖는다. 본 발명의 목적은 스위치들과 제어기 사이의 접속에 있어서 복구력 및 거리의 원하는 조합을 갖는 제어기 라우팅 트리들을 생성하는 것이다.
본 발명은 출원인들의 함께 계류중인 미국 특허 정식 출원 제13/236,296호의 발명과 상이한데, 그 이유는 함께 계류중인 출원에서 개시되는 발명이 제어기 배치와 관련되고 최단 경로 트리 라우팅을 이용이 가정되기 때문이다. 본 발명은 제어기 위치가 고정될 경우에, 개시된 알고리즘을 이용하여 제어기 라우팅 트리를 결정하는 것과 관련된다.
본 발명은 분할 아키텍처 영역에서 제어기와 스위치들 사이의 접속 복구력을 최적화하도록 선택된 위치에 분할 아키텍처 영역의 제어기를 배치하는 출원인들의 미국 특허 정식 출원 제13/236,296호의 발명을 확장한다. 그러한 함께 계류중인 출원에서와 같이, 분할 아키텍처 영역들의 분할이 어떻게 행해지는지에 관한 가정은 없다. 분할은 존재할 경우에 지리적 제약들과 같은 임의의 메트릭에 기초할 수 있다.
더구나, 출원인들의 함께 계류중인 미국 특허 정식 출원 제13/236,296호에서, 출원인은 각각의 스위치 내의 백업 경로의 사전 구성을 개시하며, 따라서 직접 업스트림 노드에 대한 주 발신 링크가 적절히 동작하지 않는 경우, 보조 발신 링크가 백업 경로로서 사용될 수 있다. 그러한 보호 스킴에서는, 스위치가 그의 발신 링크 또는 그의 직접 업스트림 노드에서 장애를 검출할 때, 스위치는 제어기에 대한 그의 라우트를 즉시 변경하고, 스위치 내에 사전 프로그래밍된 백업 경로, 즉 발신 인터페이스를 이용하여 제어기에 재접속한다. 이것은 제어기를 연루시킬 필요 없이 그리고 네트워크 내의 나머지 라우트들에 그리고 제어기에 대한 다운스트림 노드들의 접속에 어떠한 영향도 미치지 않고 이루어진다. 즉, 영향받은 스위치의 발신 인터페이스의 국지적 변경만이 존재할 것이다. 네트워크 내의 모든 다른 접속들은 그대로 유지될 것이다. 백업 경로가 존재하지 않는 경우, 스위치와 제어기 사이의 접속은 제어기에 대한 주 경로의 장애시에 중단될 것이다.
분할 아키텍처에서 트래픽을 제어하는 데 사용되는 제어기 라우팅 트리를 결정하기 위한 선택된 라우팅 알고리즘은 제어기와 스위치들 간의 접속의 복구력에 크게 영향을 미친다. 복구력은 도 3 및 4를 참조하여 설명될 수 있다. 도 3에 도시된 바와 같이, 최단 경로 기반 트리는 제어기로서의 노드(308)와 더불어, 본 명세서에서 더 정의되는 바와 같은 3개의 보호되지 않는 노드(301, 310, 305)를 갖는다. 그리디 트리 알고리즘을 이용하는 도 4의 개량된 라우팅 트리는 2개의 비보호 노드(303, 307)를 갖는다. 알 수 있듯이, 목적이 복구력을 최대화하는 것인 경우, 도 3에 도시된 바와 같은 최단 경로 트리는 항상 제어기 라우팅 트리로서의 최상 선택은 아니다.
분할 아키텍처 시스템에서, 더 탄력적인(resilient) 네트워크는 백업 경로들을 갖는 더 많은 수의 스위치를 가질 것이며, 더 탄력적인 네트워크는 각각의 그리고 모든 스위치가 제어기에 대한 사전 구성된 백업 경로를 갖는 네트워크일 것이다. 탄력 또는 보호 메트릭은 다음과 같이 설명될 수 있다. 즉 그래프 G = (V, E)로 네트워크를 표시하며, 여기서 V는 네트워크 내의 노드들의 세트이고, E는 노드들 간의 양방향 링크들의 세트이다. 비용이 네트워크 내의 각각의 링크와 관련된다. 할당된 링크 비용들에 기초하여, 네트워크 내의 임의의 2개의 노드 사이에 최단 경로 라우트들이 계산된다. 각각의 링크에 대한 비용은 링크의 양방향에 적용되는 것으로 가정한다. 이러한 주어진 토폴로지에서, 노드들 중 하나는 제어기이고, 노드들 중 나머지는 스위치들인 것으로 가정한다. 또한, 스위치들과 제어기 사이에 전송되는 제어 트래픽에 대한 부하 균형화는 존재하지 않는 것으로 가정한다. 따라서, 각각의 노드는 제어기에 도달하기 위한 하나의 경로만을 갖는다. 즉, 제어 트래픽은 제어기 노드에 뿌리를 두는 트리 상에서 제어기로 그리고 제어기로부터 전송된다. 이 노드는 제어기 라우팅 트리로서 지칭된다. 이 제어기 라우팅 트리는 네트워크 내의 모든 노드들을 커버하며, 링크들의 서브세트이다. 동일한 라우팅 트리가 제어기와 스위치들 간의 양방향 통신을 위해 사용될 것으로 더 가정한다.
네트워크 내에 고정된 제어기 위치가 주어지면, 각각의 노드가 제어 트래픽을 제어기로 전송하는 상이한 라우팅 트리들을 형성하기 위해 상이한 라우팅 알고리즘들이 사용될 수 있다. 제어기 라우팅 트리 T에서, 제어기를 향해 노드 v로부터 노드 u로의 경로가 T 내에 존재하는 경우에, 노드 u는 노드 v의 업스트림 노드이다. 제어기를 향해 노드 u로부터 노드 v로의 경로가 T 내에 존재하는 경우에, 노드 u는 노드 v의 다운스트림 노드로서 지칭된다. 제어기 라우팅 트리에서, 노드의 부모는 그의 직접 업스트림 노드이고, 노드의 자식은 그의 직접 다운스트림 노드이며, 업스트림 및 다운스트림은 최초의 제어기 라우팅 트리가 생성된 후에 결정된다.
주어진 고정된 제어기 위치 및 제어기 라우팅 트리 T와 관련하여, 노드 a 및 그의 직접 업스트림 노드 b를 고려한다. 아래의 조건들을 충족시키는 노드 c ∈ V\{a, b} - 이것은 노드 c가 노드 a 및 b를 포함하지 않는 V의 요소인 것으로 해석됨 -가 존재하는 경우에, 노드 a는 그의 발신 링크 (a, b)의 장애에 대해 보호된다.
조건 1: 링크 (a, c)는 G 내에 있다(즉, 네트워크 내에 노드 a 및 c 사이의 링크가 존재한다).
조건 2: 노드 c는 T에서 노드 a의 다운스트림 노드가 아니다.
제2 조건은 노드 a를 노드 c에 접속하는 결과로서 루프가 생성되지 않을 것을 보증한다.
위의 조건들이 충족되는 경우, 링크 (a, c)는 링크 (a, b)에 대한 백업 링크로서 할당될 수 있으며, 이 백업 링크는 제어기에서 생성되고, 노드 a로 통신되며, 노드 a에서 사전 구성될 수 있다. 노드 a가 링크 (a, b)에서 장애를 검출하자마자, 노드 a는 주 발신 링크 (a, b)를 보조 발신 링크 (a, c)로 변경함으로써 제어기에 대한 그의 라우트를 즉시 변경할 것이다.
노드 c가 위의 2개의 조건에 더하여 제3 조건을 충족시키는 경우에, 노드 a는 또한 그의 직접 업스트림 노드의 장애에 대해 보호된다.
조건 3: 노드 c는 T에서 노드 b의 다운스트림 노드가 아니다.
제3 조건은 제어기를 향하는 노드 c의 제어 트래픽이 장애가 발생한 것으로 가정되는 노드 b를 통과하지 않을 것을 보증한다. 다시, 노드 a는 노드 b의 장애를 검출하자마자, 그의 발신 링크를 (a, b)로부터 (a, c)로 스위칭한다.
링크 장애들이 네트워크에서의 노드 장애들에 비해 얼마나 중요하고 빈번한지에 따라, 네트워크 운영자는 이러한 두 종류의 장애들에 상이한 비용들, 예를 들어 노드 장애에 대해 비용 α를 그리고 링크 장애에 대해 비용 β를 할당할 수 있다. 예를 들어, 링크 및 노드 장애들이 동일하게 가능한 시나리오들에 대해 또는 두 종류의 장애들에 대해 네트워크를 보호하는 것이 동일하게 중요할 때 α = β로 해석되고 사용될 수 있다. 이러한 방식에서, 노드에서 보호를 갖지 않는 비용은 노드가 전혀 보호되지 않는 경우에 α + β로, 노드가 그의 발신 링크 장애에 대해서만 보호되는 경우에 α로, 노드가 업스트림 노드 장애에 대해서도 보호되는 경우에 0으로 평가될 수 있다. 물론, 제어기에 직접 접속되는 스위치들의 경우, 직접 업스트림 노드가 제어기이므로, 업스트림 노드 보호는 정의되지 않는다. 따라서, 제어기에 직접 접속되는 노드들의 경우, 이들이 이들의 발신 링크 장애에 대해 보호되는 경우에는 할당 비용이 0이고, 그렇지 않은 경우에는 α + β이다.
따라서, 본 발명은 네트워크 토폴로지 설계 시스템에 의해 V 내의 노드들 중 하나를 G에 대한 제어기로서 설정하고 네트워크 토폴로지 설계 시스템에 의해 나머지 노드들을 스위치들로서 설정하는 분할 아키텍처 네트워크 내에서의 사용을 위한 제어기 라우팅 트리 T'를 결정하기 위해 예를 들어 제어기 내에서 동작할 수 있는 네트워크 토폴로지 설계 시스템에 의해 구현되는 방법이다. 이어서, 네트워크 토폴로지 설계 시스템은 각각의 스위치로부터 제어기까지의 모든 가능한 거리들을 그래프로 나타내고, 각각의 그러한 스위치에 대해 제어기까지의 최단 경로를 결정하기 위해 모든 가능한 거리들을 필터링하며, 각각의 스위치로부터 제어기까지의 누적 최단 경로들은 제어기에 대한 최단 경로 트리 T이다. 최단 경로 트리 T는 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체에 저장된다. 각각의 스위치에 대한 제어기까지의 최단 경로에 기초하여, 그러한 스위치의 모든 직접 이웃 노드들은 업스트림 또는 다운스트림으로 지정된다. 이어서, G 내의 모든 스위치들이 처리될 때까지, 제어기의 이웃들인 스위치(들)로부터 시작하여, 각각의 직접 다운스트림 스위치로 트래버스하면서, 네트워크 토폴로지 설계 시스템은 각각의 스위치에 대한 가중치를 결정하고 할당한다. 각각의 스위치의 가중치에 기초하여, 최단 경로 트리 T를 변경하여, 개선된 복구력을 갖는 변경된 최단 경로 트리 T'를 획득하고, 이를 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체에 저장한다. 이어서, 존재할 경우에 백업 경로들을 포함하는 경로가 제어기로부터 그와 상관된 각각의 스위치로 통신된다. 이어서, 제어기와 스위치 사이의 링크 또는 노드 장애의 경우, 스위치는 그의 발신 링크를 주 발신 링크로부터 보조 발신 링크로 옮길 수 있다.
전통적인 관리 도구들이 분할 아키텍처 네트워크 내에 배치되는 경우에 - 이는 노드가 그의 다운스트림 노드들에 장애를 알리기 위한 확장된 시그널링 메커니즘이 존재하지 않는다는 것을 의미함 -, 스위치가 제어기로부터 분리되면, 즉 스위치 내에 프로그래밍된 백업 경로가 존재하지 않으면, 모든 그의 다운스트림 노드들은 이들이 이들의 발신 링크들 또는 직접 업스트림 노드들에서의 장애들에 대해 국지적으로 보호되는 경우에도 또한 분리될 것이다. 이것은 네트워크 복구력을 평가함에 있어서 대안 링크들의 범위에 기초하여 노드에 가중치를 제공하는 것에 더하여 제어기에 더 가까운 노드들에 더 큰 가중치가 할당되어야 한다는 것을 의미한다. 제어기가 제어기 라우팅 트리의 뿌리인 것을 상기한다. 더 정확하게는, 각각의 노드의 가중치는 그의 다운스트림 노드들의 수에 비례해야 한다.
따라서, 노드의 가중치는 노드의 보호 상태와 관련된 비용 팩터에 의해 스케일링된 그의 다운스트림 노드들의 수에 기초하며, 비용 팩터는 노드가 그의 발신 링크 및 그의 직접 업스트림 노드 장애들 양자에 대해 보호되는 경우에 0이고, 노드가 그의 발신 링크 장애에 대해서만 보호되는 경우에 α이고, 그 외에는 α + β이다.
게다가, 라우팅 트리의 가중치는 모든 그의 노드들의 가중치들의 합으로서 정의될 수 있다. 이러한 가중치는 네트워크의 "비보호성"을 측정하는 데 사용된다. 주어진 라우팅 트리 T에 대해, 이 가중치는 Γ(T)로 표시된다.
본 발명의 목적은 고도의 네트워크 보호를 제공하는 것이다. 따라서, 일 실시예에서 필요한 것은 가중치를 최소화하는 라우팅 알고리즘 특성이며, 이는 네트워크의 장애시에 노드가 제어기로부터 분리될 확률이 최소화된다는 것을 의미한다.
본 명세서에서 개시되는 2개의 알고리즘(MR, RASP) 중 어느 하나는 본 발명에서 목적에 따라 분할 아키텍처 시스템에서 제어 트래픽에 대한 라우팅 트리를 생성하는 데 사용될 수 있다. MR 알고리즘은 최단 경로 트리들의 세트로만 제한되지 않으므로 제어기 라우팅 트리가 더 높은 복구력을 갖게 하지만, 최단 경로 트리를 제공하지 않는다. RASP 알고리즘은 제어기와 스위치 사이에 최단 주 경로가 필요할 때 대안 알고리즘으로 사용될 수 있다. MR 및 RASP 알고리즘들을 비교하면, MR 알고리즘은 RASP 알고리즘에 비해 복구력이 더 양호한데, 그 이유는 MR 알고리즘이 최단 경로 트리들의 세트로만 한정되지 않기 때문이다. 그러나, RASP 알고리즘은 스위치들과 제어기 사이에 더 짧은 경로들을 제공한다.
본 발명에서 사용되는 제1 알고리즘은 네트워크에서 최대 복구력을 제공하는 제어기 라우팅 트리를 찾기 위한 근사화 알고리즘이다. 이 알고리즘은 본 명세서에서 최대 복구력(MR) 알고리즘으로 지칭된다. 본 명세서에서 설명되는 바와 같이, 보호를 최대화하는 최적 트리의 계산은 NP-하드 문제이다. 따라서, 휴리스틱 MR 알고리즘은 최단 경로 트리를 시작 포인트로서 선택하고 복구력을 개선하기 위해 트리를 변경하는 근사화 알고리즘이다. MR 알고리즘의 출력은 반드시 최단 경로 트리는 아니지만, 최초 트리에 비해 더 큰 복구력을 제공한다.
MR 알고리즘을 참고하면, 주어진 제어기 위치에 대해, 네트워크의 보호를 최대화하는 최상의 라우팅 트리, 즉 Γ(T)를 최소화하는 라우팅 트리를 찾는 것은 NP 하드 문제인 것으로 보일 수 있으며, 이는 모든 가능한 트리들 중에서 최상의 트리를 찾기 위한 공지된 다항식-시간 알고리즘이 존재하지 않는다는 것을 의미한다. 따라서, 근사화 알고리즘은 차선책으로 사용되어야 한다.
네트워크에서 링크 또는 노드 장애의 가능성이 없다고 가정하면, 라우팅을 위해 주 경로들만이 필요하며, 그러한 상황에서는 최단 경로 트리가 최상의 성능을 제공한다. 그러나, 장애의 가능성은 항상 존재하므로, 보호성이 향상된 라우팅 알고리즘 정책이 필요하다. MR 알고리즘은 제어기 라우팅 트리를 생성하기 위한 휴리스틱 알고리즘으로서, 최단 경로 트리로부터 시작하고, 네트워크에 복구력을 제공하는 라우팅 트리로 수렴된다. 다수의 반복을 통해, MR 알고리즘은 더 이상의 개선이 얻어질 수 없을 때까지 제어기 라우팅 트리의 에지들을 변경함으로써 복구력을 개선한다. MR 알고리즘을 이용하여 생성된 제어기 라우팅 트리는 표 1에서 제공되는 의사 코드에서 Max_Resilience_RT 트리로서 참조된다.
이러한 MR 알고리즘은 도 5의 흐름도와 관련하여 설명된다. 알고리즘을 수행하기 전에, G에서 제어기 기능을 갖는 노드가 제어기 노드로서 할당되고, 나머지 노드들은 스위치들로서 할당된다. MR 알고리즘은 토폴로지 그래핑 모듈로부터 분할 아키텍처 네트워크의 토폴로지 그래프 G를 수신하는 것에 응답하여 네트워크 토폴로지 설계 시스템 내의 제어기 라우팅 트리 모듈에 의해 개시된다(블록 501). 이어서, 프로세스는 그래프 내의 스위치들 각각을 통해 반복하기 시작한다(블록 502).
그래프 내의 각각의 스위치에 대해, 제어기 라우팅 트리가 생성되며, 제어기는 트리의 뿌리로서 사용된다(블록 502). 이어서, 이러한 제어기 라우팅 트리들 각각에 대해, 이들 트리 내의 스위치들은 제어기에 이웃하는 스위치들로부터 시작하여 트래버스(traverse)된다(블록 503). 각각의 노드는 제어기로부터의 그의 거리에 기초하여 초기 가중치를 제공받는다. 이것은 전체 라우팅 트리 가중치의 계산을 위한 가중치로서 사용된다. 이어서, 각각의 라우팅 트리 내의 각각의 스위치에 대해, 스위치에 대한 보호성 또는 복구력의 결정이 그의 직접 업스트림 이웃으로부터 제어기까지의 다수의 발신 경로의 거리를 결정함으로써 행해진다(블록 505, 506).
알고리즘의 진행에 따라 각각의 스위치를 검사하는 반복 프로세스를 통해, 검사되는 스위치의 각각의 업스트림 스위치도 검사하여, 그러한 업스트림 스위치가 다수의 발신 에지를 갖는지, 따라서 단일 또는 더 적은 발신 에지들을 갖는 스위치보다 더 탄력적인지를 결정한다. 이 알고리즘은 그래프 내의 모든 노드들이 트래버스되고 검사될 때까지 수행된다(블록 507). 직접 업스트림이고 더 큰 복구력을 갖는 스위치가 스위치에 대한 주 발신 링크로서 선택된다(블록 508). 그 주 발신 링크 상에서 노드 또는 링크 장애가 검출되면, 스위치는 보조 발신 링크로 변경될 것이다(블록 509).
MR 알고리즘을 구현하는 의사 코드가 표 1에 제공된다:
Figure 112014020402210-pct00001
MR 알고리즘의 의사 코드
표 1에 나타난 바와 같이, v.distance는 T에서 노드 v와 제어기 사이의 거리이며, 이는 에지들의 수를 의미한다. MR 알고리즘은 제어기의 이웃들로부터 시작하며, 이들 중 임의의 것에 상이한 업스트림 노드를 할당함으로써 임의의 개선이 달성될 수 있는지를 결정한다. 이것은 네트워크 내의 모든 다른 노드들을 체크함으로써 계속된다. MR 알고리즘의 각각의 반복에서 알고리즘은 제어기로부터 한 스텝씩 멀어지므로 라우팅 트리 내에는 루프가 형성되지 않는다는 점에 유의한다.
MR 알고리즘의 장점은 복구력 최적화를 위한 국지적 최선책을 제공하는 것이다. 그러나, 이 장점은 표 1의 라인 10의 갱신들이 더 긴 경로를 유발할 수 있다는 점에서 덜 중요한(less consequential) 트레이드오프를 갖는다. 따라서, 최종 라우팅 트리는 최단 경로 트리가 아닐 수 있다.
본 발명에서 사용되는 제2 알고리즘은 복구력 인식 최단 경로 라우팅 알고리즘이다. 이 알고리즘은 본 명세서에서 복구력 인식 최단 경로(RASP) 알고리즘으로 지칭된다. RASP 알고리즘은 최단 경로 트리를 생성하는 목적을 갖지만, 다수의 동일한 길이의 최단 경로 트리가 존재하는 경우, 이 알고리즘은 어느 최단 경로 트리가 다른 최단 경로 트리들에 비해 가장 큰 복구력을 갖는지를 결정한다. RASP 알고리즘은 먼저 전통적인 Bellman-Ford 알고리즘을 이용하여 모든 가능한 최단 경로 트리들을 결정한다. 최종 제어기 라우팅 트리로 수렴할 때, 알고리즘은 다수의 동일 길이 최단 경로 트리가 존재하는 경우에 복구력 팩터를 고려하여, 더 높은 복구력을 제공하는 제어기 라우팅 트리를 선호한다.
RASP 알고리즘은 다른 가능한 최단 경로 트리들에 비해 개선된 네트워크 복구력을 갖는 최단 경로 트리를 제공한다. 그러나, RASP 알고리즘은 반드시 최적으로 탄력적인 네트워크를 제공하지는 않는다.
RASP 알고리즘을 수행하기 전에, G에서 제어기 기능을 갖는 노드가 제어기로서 할당되고, 나머지 노드들은 스위치들로서 할당된다. 도 6의 흐름도에 도시된 바와 같이, RASP 알고리즘은 처음엔 Bellman-Ford 알고리즘을 이용하여 최초 라우팅 트리를 획득하고, 다음엔 제어 라우팅 트리를 반복적으로 변경한다. RASP 알고리즘은 토폴로지 그래핑 모듈로부터 분할 아키텍처 네트워크의 토폴로지 그래프를 수신하는 것에 응답하여 제어기 라우팅 트리 모듈에 의해 개시된다(블록 601). 이어서, 예를 들어 Bellman-Ford 알고리즘에 기초하여 각각의 스위치에 대해 최단 경로 트리(들)가 생성된다(블록 602 및 603). RASP 알고리즘은 제어기에 대한 다수의 동일 길이 경로가 존재하는지를 결정한다(블록 604). 그렇지 않은 경우에 - 이는 각각의 스위치로부터 제어기로의 단일 최단 경로가 존재한다는 것을 의미함 -, RASP 알고리즘은 제어기 라우팅 트리를 생성하는 데 사용하기 위해 그 최단 경로를 선택한다(블록 605). 다수의 동일 길이 최단 경로가 존재하는 경우, RASP 알고리즘은 더 큰 복구력을 갖는 최단 경로를 제어기 라우팅 트리에 대한 각각의 경로로서 선택한다(블록 606-608).
어느 최단 경로 제어기 라우팅 트리가 더 큰 복구력을 갖는지를 결정하기 위하여, 제어기에 이웃하는 스위치들로부터 시작하여 스위치들이 트래버스된다(블록 606). 각각의 라우팅 트리 내의 각각의 스위치에 대해, 스위치에 대한 보호성 또는 복구력의 결정이 그의 직접 업스트림 이웃으로부터 제어기까지의 다수의 발신 경로의 거리를 검토함으로써 행해진다(블록 607). 각각의 노드에 발신 경로 가중치가 제공된다(degree).
알고리즘의 진행에 따라 각각의 스위치를 검사하는 반복 프로세스를 통해, 모든 스위치들을 검사하여, 모든 그러한 업스트림 스위치들이 다수의 발신 링크(에지)를 갖는, 따라서 더 탄력적인 경로를 포함하는 범위(extent)를 결정한다. 더 탄력적인 경로 상의 스위치들이 제어기에 대한 주 링크들로서 선택되며, 백업 링크들은 스위치 내에 백업 링크들로서 저장된다(블록 609). 제어기에 대한 주 경로 상에서 스위치와 제어기 사이에 노드 또는 링크 장애가 존재하는 경우, 스위치는 주 발신 링크로부터 보조 발신 링크로 변경된다(블록 610).
RASP 알고리즘을 구현하는 의사 코드가 표 2에 제공된다:
Figure 112014020402210-pct00002
RASP 알고리즘의 의사 코드
표 2에 나타난 바와 같이, v.distance는 노드 v와 제어기 사이의 경로의 길이이고, v.parent는 제어기에 대한 경로를 따른 v의 부모 노드이고, edge.(u,v)는 노드 u와 노드 v 사이의 에지의 가중치이다. 통상의 예들에서, edge.(u,v) = 1이다. 그래프 G 내의 노드들의 총 수는 n으로 표시된다. RASP 알고리즘은 먼저 라인 2 내지 9에 나타난 바와 같이 각각의 노드에 대한 거리 및 부모를 초기화한다. 이어서, 알고리즘은 n번 반복한다. 알고리즘이 반복할 때마다, 알고리즘은 라인 15에 나타난 바와 같이 모든 노드 u에 대해 이 노드를 그의 이웃 v에 접속함으로써 거리에 관한 개선이 존재하는지를 체크한다. 개선이 존재하는 경우, RASP 알고리즘은 라인 18 및 19에 나타난 바와 같이 노드의 부모 및 제어기에 대한 그의 거리를 갱신한다. 알고리즘은 새로운 데이터 구조: v.children으로 표시되는 각각의 노드 v의 자식을 추가함으로써 변경된다는 점에 유의한다. 각각의 반복에서, 부모 및 거리 필드들에 더하여, 알고리즘은 자식 필드도 갱신한다. 복구력을 개선하기 위하여, 동일 거리를 갖는 모든 가능한 부모들에 대해(즉, 동점이 존재할 때), 최고의 복구력을 갖는 경로가 선택된다. 노드가 더 많은 에지를 갖고, 이들 중 더 적은 수가 선택된 라우팅 트리 내에 있는 경우, 이 노드는 더 보호되는 것으로 간주되는데, 즉 이 노드는 더 높은 복구력을 갖는다. 이러한 정보는 표 2의 라인 20에 나타난 바와 같이 거리로 인코딩된다. 부모의 거리는 그의 실제 길이에 비해 1/v.degree만큼 증가된다. 1/v.degree는 항상 1보다 작으므로, v.distance가 몇 번 증가되는지에 관계없이 전체 증가는 항상 1보다 작을 것이라는 점에 유의한다. 노드의 이웃들 중 적어도 하나는 아마도 부모일 것이므로, 이것은 1 홉 더 긴 경로를 갖는 다른 노드 v'가 존재하는 경우에 이 노드는 여전히 v의 거리 + 모든 인위적 증가들보다 길 것이라는 것을 의미한다. 따라서, 결과적인 라우팅 트리는 여전히 최단 경로 트리이지만, 동일 거리를 갖는 경로들 중에 동점이 존재할 때마다, 선택되는 라우팅 트리는 가장 탄력적인 경로를 갖는 트리일 것이다.
도 7은 네트워크에 결합된 제어기 내의 설계 시스템의 MR 실시예의 도면이다. 이 도면은 네트워크 설계 시스템 도구를 실행하기 위한 예시적인 네트워크 설계 시스템(701)의 일례를 제공한다. 네트워크 설계 시스템(701)은 토폴로지 그래핑 모듈(705), 제어기 라우팅 트리 모듈(707) 및 유사한 컴포넌트들을 포함하는 네트워크 설계 시스템 도구의 컴포넌트들의 실행을 조정하는 적어도 하나의 마이크로프로세서(703)에 의해 실행되는 명령어들을 저장하기 위한 적어도 하나의 비일시적 컴퓨터 판독 가능 메모리(702)를 포함한다. 다른 실시예들에서, 임의의 또는 모든 이러한 모듈들은 하드웨어 모듈들 또는 장치들의 세트로서 구현될 수 있다. 마이크로프로세서(703)는 또한 네트워크 관리 모듈(709)을 실행하여 분할 아키텍처 네트워크와 통신하고/하거나 이를 관리할 수 있다.
토폴로지 그래핑 모듈(705)은 네트워크 토폴로지를 대표 그래프로 변환하고, 대표 그래프 상에서 그래핑 기능들을 수행하여 제어기 라우팅 트리 모듈(707)을 지원할 수 있다. 제어기 라우팅 트리 모듈(707)은 토폴로지 그래핑 모듈(705)에 의해 생성된 그래프 상에 작용하여, 그의 그래핑 동작으로 하여금 MR 알고리즘에 따라 제어기 라우팅 트리를 구현하게 한다.
네트워크 관리 모듈(709)은 제어기 라우팅 트리 모듈(707) 및/또는 토폴로지 그래핑 모듈(705)과 통신하여, 자동화된 프로세스를 위한 네트워크 토폴로지를 발견하고/하거나, 자동화된 프로세스에서 라우팅 트리 알고리즘을 구현할 수 있다.
도시된 분할 아키텍처 네트워크는 MR 또는 RASP 알고리즘을 이용하는 예시적인 구현이다. 이 예에서는, 스위치들(717)로 구성된 도메인 또는 분할 아키텍처 영역을 제어하기 위한 제어기(715)가 존재한다. 스위치들(717)은 MR 제어기 라우팅 트리를 이용하여 제어기(715)에 의해 관리된다.
도 8은 스위치들(817)의 네트워크에 결합된 제어기(815) 내의 설계 시스템의 RASP 실시예의 도면이다. 스위치들(817)의 배열 및 제어기(815)의 컴포넌트들은 도 7의 컴포넌트들에 유사하게 대응하지만, 제어기 라우팅 트리 모듈(807)은 토폴로지 그래핑 모듈(805)에 의해 생성된 그래프 상에 작용하여, 그의 그래핑 동작으로 하여금 RASP 알고리즘에 따라 제어기 라우팅 트리를 구현하게 한다.
MR 또는 RASP 알고리즘에 의해 결정되는 바와 같은 제어기 라우팅 트리를 구현한 후, 스위치가 그의 발신 링크 또는 그의 직접 업스트림 노드에서 장애를 검출할 때, 스위치는 제어기에 대한 그의 라우트를 즉시 변경하고, 스위치 내에 사전 프로그래밍된 백업 경로, 즉 발신 인터페이스를 사용하여 제어기에 재접속한다. 이것은 제어기를 연루시킬 필요 없이 그리고 네트워크 내의 나머지 라우트들에 그리고 제어기에 대한 다운스트림 노드들의 접속에 어떠한 영향도 미치지 않고 이루어진다. 즉, 영향받은 스위치의 발신 인터페이스의 국지적 변경만이 존재할 것이다. 네트워크 내의 모든 다른 접속들은 그대로 유지될 것이다.
위의 설명은 한정이 아니라 예시적인 것을 의도한다는 것을 이해해야 한다. 위의 설명을 읽고 이해할 때 이 분야의 기술자들에게는 많은 다른 실시예가 명백할 것이다. 따라서, 본 발명의 범위는 첨부된 청구항들 및 이러한 청구항들이 권리로서 부여받는 균등물들의 전체 범위를 참조하여 결정되어야 한다.

Claims (20)

  1. 네트워크 토폴로지 설계 시스템에 의해 구현되는 방법으로서,
    상기 네트워크 토폴로지 설계 시스템은 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체에 결합되고 제어기 라우팅 트리 모듈로서 동작할 수 있는 마이크로프로세서를 갖는 제어기를 포함하고, 상기 방법은 네트워크 그래프 G에 의해 표현되는 분할 아키텍처 네트워크 내에서 사용하기 위한 제어기 라우팅 트리 T'를 결정하고, 복수의 스위치에 의해 실행되는 데이터 평면 컴포넌트들과 별개로 상기 제어기에 의해 제어 평면 컴포넌트들이 실행되고, G = (V, E)이고, 여기서 V는 네트워크 내의 노드들의 세트이고, E는 상기 제어기로 각각의 스위치를 트래버스(traverse)하는 노드들 사이의 양방향 에지들의 세트이고, 상기 제어기 라우팅 트리 T'는 스위치들과 상기 제어기 사이의 부하 균형화되지 않은(non-load balanced) 제어 트래픽 경로를 나타내고, 상기 제어 트래픽은 각각의 스위치로부터 상기 제어기로의 양방향 정보 및 상기 제어기로부터 상기 스위치로의 전달 결정 정보를 나타내며,
    상기 방법은
    상기 네트워크 토폴로지 설계 시스템에 의해, G 내의 각각의 스위치로부터 상기 제어기까지의 모든 가능한 거리들을 그래프로 나타내는 단계 - 각각의 상기 가능한 거리는 E의 서브세트를 포함함 -;
    모든 가능한 거리들에 기초하여, 각각의 그러한 스위치에 대해 상기 제어기로의 최단 경로를 결정하는 단계 - 각각의 스위치로부터 상기 제어기로의 모든 상기 최단 경로들은 상기 제어기에 대한 최단 경로 트리 T를 포함함 -;
    상기 최단 경로 트리 T를 상기 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체에 저장하는 단계;
    각각의 스위치에 대한 상기 제어기로의 상기 최단 경로에 기초하여, G 내의 그러한 스위치의 모든 직접 이웃 노드들을 업스트림 또는 다운스트림으로 지정하는 단계;
    G 내의 모든 스위치들이 처리될 때까지 상기 제어기에 이웃하는 상기 스위치(들)로부터 시작하고 각각의 직접 다운스트림 스위치로 트래버스하면서, 상기 네트워크 토폴로지 설계 시스템에 의해 G 내의 각각의 스위치에 대한 가중치를 결정하고 할당하는 단계;
    각각의 스위치에 할당된 상기 가중치에 기초하여, 상기 최단 경로 트리 T를 변경하여, 개선된 복구력(resilience)을 갖는 변경된 최단 경로 트리 T'를 획득하는 단계; 및
    상기 변경된 최단 경로 트리 T'를 상기 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체에 저장하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 최단 경로 트리 T' 내의 상기 스위치로부터 상기 제어기로의 상기 경로들에 기초하여, 상기 스위치로부터 직접 업스트림 스위치로의 발신 주 링크(outgoing primary link) 및 존재할 경우에 백업으로서 적어도 하나의 발신 보조 링크(outgoing secondary link)를, 각각의 스위치 내의 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체로 통신하여 저장하는 단계를 더 포함하는 방법.
  3. 제2항에 있어서,
    스위치에 의해, 업스트림 링크 또는 노드에서의 장애를 검출하는 단계;
    상기 스위치에 의해, 상기 발신 주 링크를 존재할 경우에 백업으로 사용되는 발신 보조 링크로 변경함으로써 상기 제어기에 대한 그의 라우트를 변경하는 단계
    를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 그래프로 나타내는 단계는 관리자 입력, 자동화된 발견 프로세스들 또는 이들의 임의 조합에 의해 구현되는 방법.
  5. 제1항에 있어서,
    상기 네트워크 토폴로지 설계 시스템에 의해 G 내의 각각의 스위치에 대한 가중치를 계산하여 할당하는 단계는
    적어도 하나의 발신 보조 링크를 통한 상기 제어기로의 적어도 하나의 상이한 경로가 존재하는 범위(extent)를 결정함으로써 그러한 스위치가 업스트림 노드 장애들 및 링크 장애들로부터 보호되는지에 기초하여 V 내의 각각의 스위치에 대한 상기 가중치를 계산하여 할당하는 단계;
    적어도 하나의 발신 보조 링크를 이용하는 적어도 하나의 상이한 경로가 존재하는 경우, 상기 적어도 하나의 발신 보조 링크의 상기 존재를 상기 제어기로부터 그러한 스위치로 통신하는 단계; 및
    그러한 스위치 내의 상기 적어도 하나의 발신 보조 링크를 백업으로서 구성하는 단계
    를 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 최단 경로 트리 T를 변경하는 단계는
    제1 스위치에서, 상기 제1 스위치로부터 상기 제어기로 트래버스되는 서로 다른 스위치의 상기 가중치를 고려하여 상기 제어기로의 상이한 경로를 이용함으로써 상기 분할 아키텍처 네트워크의 복구력에 대한 임의의 개선이 얻어질 수 있는지를 결정하는 단계;
    상기 제1 스위치로부터 직접 다운스트림인 제2 스위치에서, 상기 제어기로 트래버스되는 각각의 스위치의 상기 가중치를 고려하여 그러한 제2 스위치로부터 상기 제어기로의 상이한 경로를 이용함으로써 복구력에 대한 임의의 개선이 얻어질 수 있는지를 결정하는 단계; 및
    G 내의 모든 스위치들이 처리될 때까지 G 내의 각각의 스위치에서 상기 결정 단계들을 수행하는 단계
    를 더 포함하는 방법.
  7. 제1항에 있어서,
    스위치는 상기 제어기에 더 가까울수록, 더 많은 수의 다운스트림 스위치(들)를 갖는 결과로서 더 큰 가중치를 할당받는 방법.
  8. 제1항에 있어서,
    스위치에 할당되는 상기 가중치는 그의 다운스트림 스위치(들)의 수에 비례하거나 분수인(fractional) 방법.
  9. 제1항에 있어서,
    스위치의 상기 가중치는 사용자에 의해 할당되는 비용 팩터에 의해 스케일링됨에 따른 그의 다운스트림 스위치(들)의 수에 기초하는 방법.
  10. 제9항에 있어서,
    상기 비용 팩터는 상기 스위치가 그의 발신 링크 장애 및 그의 직접 업스트림 노드 장애 모두에 대해 보호되는 경우에 0이고, 상기 스위치가 발신 링크 장애에 대해서만 보호되는 경우에 α이고, 상기 스위치가 직접 업스트림 노드 장애에 대해서만 보호되는 경우에 β이고, 그 외의 경우에는 α + β인 방법.
  11. 제10항에 있어서,
    최소 누적 가중치를 갖는 라우팅 트리를 라우팅 트리 T'로서 선택함으로써 상기 네트워크 내의 링크 또는 노드 장애시에 스위치가 상기 제어기로부터 분리될 확률을 최소화하는 단계를 더 포함하는 방법.
  12. 분할 아키텍처를 갖는 네트워크 내의 제어기로서,
    비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체에 결합되고, 제어기 라우팅 트리 T'를 결정하기 위해 제어기 라우팅 트리 모듈로서 동작할 수 있는 마이크로프로세서를 포함하고,
    상기 제어기는
    G 내의 각각의 스위치로부터 상기 제어기까지의 모든 가능한 거리들을 그래프로 나타내고 - 각각의 상기 가능한 거리는 E의 서브세트를 포함하고, G = (V, E)이고, 여기서 V는 상기 네트워크 내의 노드들의 세트이고, E는 상기 제어기로 각각의 스위치를 트래버스하는 노드들 사이의 양방향 에지들의 세트임 -;
    모든 상기 가능한 거리들에 기초하여, 상기 네트워크 내의 각각의 스위치에 대해 상기 제어기로의 최단 경로를 결정하고 - 각각의 스위치로부터 상기 제어기로의 모든 상기 최단 경로들은 상기 제어기에 대한 최단 경로 트리 T를 포함함 -;
    상기 최단 경로 트리 T를 상기 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체에 저장하고;
    각각의 스위치에 대한 상기 제어기로의 상기 최단 경로에 기초하여, G 내의 그러한 스위치의 모든 직접 이웃 노드들을 업스트림 또는 다운스트림으로 지정하고;
    상기 제어기에 이웃하는 상기 스위치(들)로부터 시작하여, G 내의 모든 스위치들이 처리될 때까지 각각의 직접 다운스트림 스위치를 트래버스하여, 네트워크 토폴로지 설계 시스템에 의해 G 내의 각각의 스위치에 대한 가중치를 결정하여 할당하고;
    각각의 스위치의 상기 가중치에 기초하여, 상기 최단 경로 트리 T를 변경하여, 개선된 복구력을 갖는 변경된 최단 경로 트리 T'를 획득하고;
    상기 변경된 최단 경로 트리 T'를 상기 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체에 저장하도록 동작 가능한, 제어기.
  13. 제12항에 있어서,
    스위치와 연계하여, 상기 제어기는 상기 제어기 라우팅 트리 모듈에 의해 결정되는 바와 같은 상기 최단 경로 트리 T' 내의 상기 스위치로부터 상기 제어기로의 상기 경로들에 기초하여, 상기 스위치로부터 직접 업스트림 스위치로의 발신 주 링크 및 존재할 경우에 백업으로서 적어도 하나의 발신 보조 링크를, 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체로 통신하여, 상기 스위치가 저장하는 제어기.
  14. 제13항에 있어서,
    상기 스위치는 업스트림 링크 또는 노드에서의 장애를 검출하고, 상기 스위치에 의해, 상기 발신 주 링크를 존재할 경우에 백업으로 사용되는 발신 보조 링크로 변경함으로써 상기 제어기에 대한 그의 라우트를 변경하도록 구성되는 제어기.
  15. 네트워크 토폴로지 설계 시스템에 의해 구현되는 방법으로서,
    상기 네트워크 토폴로지 설계 시스템은 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체에 결합되고 제어기 라우팅 트리 모듈로서 동작할 수 있는 마이크로프로세서를 갖는 제어기를 포함하고, 상기 방법은 네트워크 그래프 G에 의해 표현되는 분할 아키텍처 네트워크 내에서 사용하기 위한 제어기 라우팅 트리 T'를 결정하고, 복수의 스위치에 의해 실행되는 데이터 평면 컴포넌트들과 별개로 상기 제어기에 의해 제어 평면 컴포넌트들이 실행되고, G = (V, E)이고, 여기서 V는 네트워크 내의 노드들의 세트이고, E는 상기 제어기로 각각의 스위치를 트래버스(traverse)하는 노드들 사이의 양방향 에지들의 세트이고, 상기 제어기 라우팅 트리 T'는 각각의 스위치와 상기 제어기 사이의 부하 균형화되지 않은(non-load balanced) 제어 트래픽 경로를 나타내고, 상기 제어 트래픽은 각각의 스위치로부터 상기 제어기로의 양방향 정보 및 상기 제어기로부터 상기 스위치로의 전달 결정 정보를 나타내며,
    상기 방법은
    상기 네트워크 토폴로지 설계 시스템에 의해, G 내의 각각의 스위치로부터 상기 제어기까지의 모든 가능한 거리들을 그래프로 나타내는 단계 - 각각의 상기 가능한 거리는 E의 서브세트를 포함함 -;
    모든 상기 가능한 거리들에 기초하여, 각각의 그러한 스위치에 대해 상기 제어기로의 최단 경로를 결정하는 단계 - 각각의 스위치로부터 상기 제어기로의 모든 상기 최단 경로들은 상기 제어기에 대한 최단 경로 트리 T를 포함함 -;
    상기 최단 경로 트리 T를 상기 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체에 저장하는 단계;
    각각의 스위치에 대한 상기 제어기로의 상기 최단 경로에 기초하여, G 내의 그러한 스위치의 모든 직접 이웃 노드들을 업스트림 또는 다운스트림으로 지정하는 단계;
    각각의 스위치와 상기 제어기로의 각각의 경로를 따라 트래버스되는 상기 스위치들 각각 사이의 각각의 링크에 대한 에지 가중치 파라미터를 설정하는 단계;
    상기 제어기와 상기 스위치 사이에 하나보다 많은 동일 길이 최단 경로가 존재하는지를 결정하는 단계;
    상기 제어기와 상기 스위치 사이에 동일 길이 최단 경로가 하나만 존재하는 경우에, 그러한 최단 경로를 선택하여 상기 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체에 저장하는 단계; 및
    상기 스위치로부터 상기 제어기로의 하나보다 많은 동일 길이 최단 경로가 존재하는 경우에, 나머지 최단 경로들에 비해 가장 큰 복구력을 갖는 경로를 상기 최단 경로로서 선택하고, 상기 선택된 최단 경로를 상기 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체에 저장하는 단계
    를 포함하는 방법.
  16. 제15항에 있어서,
    Bellman-Ford 알고리즘을 이용하여 최초 최단 경로 트리(들)를 계산하는 단계를 더 포함하는 방법.
  17. 분할 아키텍처를 갖는 네트워크 내의 제어기로서,
    비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체에 결합되고, 제어기 라우팅 트리 T'를 결정하기 위해 제어기 라우팅 트리 모듈로서 동작할 수 있는 마이크로프로세서를 포함하고,
    상기 제어기는
    G 내의 각각의 스위치로부터 상기 제어기까지의 모든 가능한 거리들을 그래프로 나타내고 - 각각의 상기 가능한 거리는 E의 서브세트를 포함하고, G = (V, E)이고, 여기서 V는 상기 네트워크 내의 노드들의 세트이고, E는 상기 제어기로 각각의 스위치를 트래버스하는 노드들 사이의 양방향 에지들의 세트임 -;
    모든 상기 가능한 거리들에 기초하여, 상기 네트워크 내의 각각의 스위치에 대해 상기 제어기로의 최초 최단 경로를 결정하고 - 각각의 스위치로부터 상기 제어기로의 모든 상기 최단 경로들은 상기 제어기에 대한 최단 경로 트리 T를 포함함 -;
    상기 최단 경로 트리 T를 상기 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체에 저장하고;
    각각의 스위치에 대한 상기 제어기로의 상기 최단 경로에 기초하여, G 내의 그러한 스위치의 모든 직접 이웃 노드들을 업스트림 또는 다운스트림으로 지정하고;
    각각의 스위치와 상기 제어기로의 각각의 경로를 따라 트래버스되는 상기 스위치들 각각 사이의 각각의 링크에 대한 에지 가중치 파라미터를 설정하고;
    상기 제어기와 상기 스위치 사이에 하나보다 많은 동일 길이 최단 경로가 존재하는지를 결정하고;
    상기 제어기와 상기 스위치 사이에 동일 길이 최단 경로가 하나만 존재하는 경우에, 그러한 최단 경로를 선택하여 상기 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체에 저장하고;
    상기 스위치로부터 상기 제어기로의 하나보다 많은 동일 길이 최단 경로가 존재하는 경우에, 나머지 최단 경로들에 비해 가장 큰 복구력을 갖는 경로를 상기 최단 경로로서 선택하고;
    상기 선택된 최단 경로를 상기 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체에 저장하도록 동작할 수 있는 제어기.
  18. 제17항에 있어서,
    스위치와 연계하여, 상기 제어기는 상기 제어기 라우팅 트리 모듈에 의해 결정되는 바와 같은 상기 최단 경로 트리 내의 상기 스위치로부터 상기 제어기로의 상기 경로들에 기초하여, 상기 스위치로부터 직접 업스트림 스위치로의 발신 주 링크 및 존재할 경우에 백업으로서 적어도 하나의 발신 보조 링크를, 비일시적 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체로 통신하여, 상기 스위치가 저장하는 제어기.
  19. 제18항에 있어서,
    상기 스위치는 업스트림 링크 또는 노드에서의 장애를 검출하고, 상기 스위치에 의해, 상기 발신 주 링크를 존재할 경우에 백업으로 사용되는 발신 보조 링크로 변경함으로써 상기 제어기에 대한 그의 경로를 변경하도록 구성되는 제어기.
  20. 제17항에 있어서,
    상기 최초 최단 경로 트리(들)는 Bellman-Ford 알고리즘을 이용하여 계산되는 제어기.
KR1020147005597A 2011-07-29 2012-07-18 분할 아키텍처 시스템에서의 제어 트래픽의 탄력적 라우팅을 위한 방법 및 장치 KR102002189B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161513140P 2011-07-29 2011-07-29
US61/513,140 2011-07-29
US13/294,559 US9185027B2 (en) 2011-07-29 2011-11-11 Method and apparatus for resilient routing of control traffic in a split-architecture system
US13/294,559 2011-11-11
PCT/IB2012/053665 WO2013017979A1 (en) 2011-07-29 2012-07-18 Method and apparatus for resilient routing of control traffic in a split-architecture system

Publications (2)

Publication Number Publication Date
KR20140053265A KR20140053265A (ko) 2014-05-07
KR102002189B1 true KR102002189B1 (ko) 2019-07-19

Family

ID=47597127

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147005597A KR102002189B1 (ko) 2011-07-29 2012-07-18 분할 아키텍처 시스템에서의 제어 트래픽의 탄력적 라우팅을 위한 방법 및 장치
KR1020147005150A KR102006038B1 (ko) 2011-07-29 2012-07-18 분할 아키텍처 시스템에서의 제어기-스위치 접속성의 회복력 인식 하이브리드 설계

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020147005150A KR102006038B1 (ko) 2011-07-29 2012-07-18 분할 아키텍처 시스템에서의 제어기-스위치 접속성의 회복력 인식 하이브리드 설계

Country Status (9)

Country Link
US (2) US9185027B2 (ko)
EP (2) EP2737671B1 (ko)
JP (2) JP6062939B2 (ko)
KR (2) KR102002189B1 (ko)
CN (2) CN103718521B (ko)
BR (2) BR112014001456A2 (ko)
CA (2) CA2843366C (ko)
IL (1) IL230202A (ko)
WO (2) WO2013017979A1 (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8422379B2 (en) * 2009-12-15 2013-04-16 At&T Intellectual Property I, Lp Method of simple and efficient failure resilient load balancing
US9185027B2 (en) * 2011-07-29 2015-11-10 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for resilient routing of control traffic in a split-architecture system
US8804490B2 (en) * 2011-07-29 2014-08-12 Telefonaktiebolaget L M Ericsson (Publ) Controller placement for fast failover in the split architecture
US8811212B2 (en) 2012-02-22 2014-08-19 Telefonaktiebolaget L M Ericsson (Publ) Controller placement for fast failover in the split architecture
US8520533B1 (en) * 2011-09-30 2013-08-27 Emc Corporation Storage path management bus view
JP5978384B2 (ja) * 2012-04-12 2016-08-24 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. 情報を受信するための方法、情報を送信するための方法及びそれらの装置
US9264301B1 (en) * 2012-09-20 2016-02-16 Wiretap Ventures, LLC High availability for software defined networks
US8989194B1 (en) * 2012-12-18 2015-03-24 Google Inc. Systems and methods for improving network redundancy and for facile initialization in a centrally-controlled network
US9253117B1 (en) 2012-12-18 2016-02-02 Google Inc. Systems and methods for reducing network hardware of a centrally-controlled network using in-band network connections
US9906445B2 (en) * 2013-02-01 2018-02-27 Texas Instruments Incorporated Packet processing match and action pipeline structure with dependency calculation removing false dependencies
WO2014143118A1 (en) 2013-03-15 2014-09-18 Hewlett-Packard Development Company, L.P. Loop-free hybrid network
US9374308B2 (en) * 2013-08-30 2016-06-21 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Openflow switch mode transition processing
WO2015094388A1 (en) 2013-12-21 2015-06-25 Hewlett-Packard Development Company, L.P. Network programming
US9906494B2 (en) * 2014-03-31 2018-02-27 Nicira, Inc. Configuring interactions with a firewall service virtual machine
JP6287518B2 (ja) * 2014-04-14 2018-03-07 富士通株式会社 オープンフロースイッチおよびオープンフローネットワークの障害復旧方法
US20150304164A1 (en) * 2014-04-17 2015-10-22 Accton Technology Corporation Data center auto provisioning
US10142220B2 (en) 2014-04-29 2018-11-27 Hewlett Packard Enterprise Development Lp Efficient routing in software defined networks
US9407534B2 (en) * 2014-05-27 2016-08-02 Telefonaktiebolaget L M Ericsson (Publ) Enhanced procedure to compute LFAs with IGP max metric
US9680588B2 (en) 2014-06-11 2017-06-13 Ciena Corporation OTN switching systems and methods using an SDN controller and match/action rules
US10355984B2 (en) 2014-06-18 2019-07-16 Hewlett Packard Enterprise Development Lp Automatic re-routing of network traffic in a software-defined network
JP6520362B2 (ja) * 2014-08-25 2019-05-29 富士通株式会社 生成方法、装置、及びプログラム
CN104301146A (zh) * 2014-10-23 2015-01-21 杭州华三通信技术有限公司 软件定义网络中的链路切换方法和装置
CN105743731B (zh) 2014-12-11 2019-03-29 国际商业机器公司 用于存储系统中的故障检测的方法和装置
CN104703243B (zh) * 2015-03-14 2018-05-04 西安电子科技大学 无线分布式网络中基于辅助链路的多播路由方法
US9807019B2 (en) * 2015-03-30 2017-10-31 Alcatel Lucent Offline optimization for traffic engineering with segment routing
US9923811B2 (en) 2015-06-27 2018-03-20 Nicira, Inc. Logical routers and switches in a multi-datacenter environment
FR3044849A1 (fr) * 2015-12-07 2017-06-09 Orange Procede anti-micro-boucle pendant la convergence de tables de commutation
CN105916108A (zh) * 2016-04-14 2016-08-31 上海河广信息科技有限公司 基于mr的用户移动路线确定系统及方法
US10225751B1 (en) * 2016-11-16 2019-03-05 Google Llc Systems and methods for hybrid control of computer networks
US10812371B2 (en) 2018-10-12 2020-10-20 At&T Intellectual Property I, L.P. Methods, devices and systems for determining a target path in a network
US11563670B2 (en) 2018-10-12 2023-01-24 At&T Intellectual Property I, L.P. Methods, devices and systems for determining a target path
KR102101419B1 (ko) * 2019-03-04 2020-04-16 서강대학교 산학협력단 라우팅 테이블 검색 방법 및 이를 구현하는 메모리 시스템
US11799726B2 (en) 2020-04-06 2023-10-24 Vmware, Inc. Multi-site security groups
US11212212B2 (en) * 2020-04-15 2021-12-28 Hewlett Packard Enterprise Development Lp Non-isolated topologies in computing network environments

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928484B1 (en) 2000-01-18 2005-08-09 Cisco Technology, Inc. Method and apparatus for discovering edge-disjoint shortest path pairs during shortest path tree computation
US20050265228A1 (en) 1999-12-22 2005-12-01 Fredette Andre N Automatic protection switching using link-level redundancy supporting multi-protocol label switching

Family Cites Families (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5898843A (en) 1997-10-08 1999-04-27 International Business Machines Corporation System and method for controlling device which is present in media console and system unit of a split computer system
AU5448500A (en) 1999-05-26 2000-12-28 Alok Batra Network element management system
US6865609B1 (en) 1999-08-17 2005-03-08 Sharewave, Inc. Multimedia extensions for wireless local area network
JP2001292161A (ja) * 2000-04-06 2001-10-19 Nippon Telegr & Teleph Corp <Ntt> 2点間の重み付けを反映する経路選択方法
US6996065B2 (en) 2000-07-06 2006-02-07 Lucent Technologies Inc. Dynamic backup routing of network tunnel paths for local restoration in a packet network
CA2463479A1 (en) 2000-10-10 2002-04-18 Radiant Networks Plc Communications meshes
US7075892B2 (en) 2000-11-03 2006-07-11 Telecommunications Research Laboratories Topological design of survivable mesh-based transport networks
US20040179471A1 (en) 2001-03-07 2004-09-16 Adisak Mekkittikul Bi-directional flow-switched ring
US20030009598A1 (en) 2001-04-12 2003-01-09 Gunluk Oktay Necip Method for designing demand-sensitive rings
US7035937B2 (en) * 2001-04-25 2006-04-25 Cornell Research Foundation, Inc. Independent-tree ad hoc multicast routing
US20040105136A1 (en) 2001-05-08 2004-06-03 Corvis Corporation Interconnections and protection between optical communications networks
EP1915024B1 (en) * 2001-09-27 2011-11-02 Alcatel Canada Inc. Method and apparatus for optimization of redundant link usage using time sensitive paths
US7046634B2 (en) * 2002-04-15 2006-05-16 Tropic Networks Inc. Method and apparatus for selecting maximally disjoint shortest paths in a network
US7315517B2 (en) 2002-05-22 2008-01-01 Board Of Supervisors Of Louisiana State University And Agricultural And Mechanical College Non-blocking WDM optical networks
US20050060319A1 (en) 2002-08-02 2005-03-17 Cisco Technology, Inc. Method for central planning and distributed control of client roaming and reassociation
US7366113B1 (en) * 2002-12-27 2008-04-29 At & T Corp. Adaptive topology discovery in communication networks
US8018860B1 (en) 2003-03-12 2011-09-13 Sprint Communications Company L.P. Network maintenance simulator with path re-route prediction
US7453864B2 (en) * 2003-04-30 2008-11-18 Harris Corporation Predictive route maintenance in a mobile ad hoc network
KR100964102B1 (ko) * 2003-06-24 2010-06-16 주식회사 케이티 멀티프로토콜 라벨 스위칭 망에서의 우회 경로 설정 방법
US7355968B2 (en) * 2003-09-30 2008-04-08 International Business Machines Corporation Method of stateless group communication and repair of data packets transmission to nodes in a distribution tree
US6956820B2 (en) * 2003-10-01 2005-10-18 Santera Systems, Inc. Methods, systems, and computer program products for voice over IP (VoIP) traffic engineering and path resilience using network-aware media gateway
US7609624B2 (en) * 2004-05-03 2009-10-27 Alcatel-Lucent Usa Inc. Method and apparatus for pre-provisioning networks to support fast restoration with minimum overbuild
US7680952B1 (en) 2004-06-16 2010-03-16 Juniper Networks, Inc. Protecting connection traffic using filters
US8996722B2 (en) 2004-11-01 2015-03-31 Alcatel Lucent Softrouter feature server
US7616584B2 (en) 2004-11-12 2009-11-10 Cisco Technology, Inc. Minimizing single points of failure in paths with mixed protection schemes
US7440393B2 (en) * 2004-12-09 2008-10-21 Scalent Systems, Inc. Method and system for managing communication in a data network
US7512063B2 (en) 2004-12-14 2009-03-31 Cisco Technology, Inc. Border router protection with backup tunnel stitching in a computer network
KR20070095374A (ko) * 2004-12-31 2007-09-28 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 비연결형 통신 트래픽을 위한 연결형 통신 방법
US20060215666A1 (en) 2005-03-23 2006-09-28 Shepherd Frederick B Methods and devices for routing traffic using randomized load balancing
US8228818B2 (en) 2005-06-24 2012-07-24 At&T Intellectual Property Ii, Lp Systems, methods, and devices for monitoring networks
GB0519648D0 (en) * 2005-09-27 2005-11-02 Roke Manor Research Resilient path protocol
US8139476B2 (en) 2005-10-13 2012-03-20 Vello Systems, Inc. Optical ring networks using circulating optical probe in protection switching with automatic reversion
CN101366244A (zh) * 2005-11-16 2009-02-11 诺基亚西门子通信有限责任两合公司 用于在数据传输网络中建立无环路树形结构的方法及相应的网络元素
US8364515B1 (en) 2005-12-30 2013-01-29 At&T Intellectual Property Ii, L.P. Method and system for facility location optimization
US8274989B1 (en) 2006-03-31 2012-09-25 Rockstar Bidco, LP Point-to-multipoint (P2MP) resilience for GMPLS control of ethernet
US7808921B2 (en) 2006-05-19 2010-10-05 The Research Foundation Of State University Of New York Bridging centrality: a concept and formula to identify bridging nodes in scale-free networks
JP4536690B2 (ja) * 2006-08-28 2010-09-01 日本電信電話株式会社 経路計算方法及び装置及びプログラム
US7746796B2 (en) * 2006-09-29 2010-06-29 Cisco Technology, Inc. Directed echo requests and reverse traceroute
IL179026A (en) 2006-11-02 2011-04-28 Eci Telecom Ltd Method for finding protected path in mesh networks
US7961603B2 (en) * 2006-12-14 2011-06-14 Telefonaktiebolaget L M Ericsson (Publ) Path management for enhanced protection
US8006061B1 (en) 2007-04-13 2011-08-23 American Megatrends, Inc. Data migration between multiple tiers in a storage system using pivot tables
US20090013091A1 (en) 2007-07-03 2009-01-08 Microsoft Corporation Customer based message routing
US8705345B2 (en) * 2007-11-26 2014-04-22 Iowa State University Research Foundation, Inc. Network protection using network coding
CN101465793B (zh) * 2007-12-18 2011-02-16 中国科学院计算技术研究所 一种获取网络中两点间最短路由路径的方法及装置
US8761022B2 (en) 2007-12-26 2014-06-24 Rockstar Consortium Us Lp Tie-breaking in shortest path determination
US7911944B2 (en) 2007-12-26 2011-03-22 Nortel Networks Limited Tie-breaking in shortest path determination
US8045551B2 (en) * 2008-02-18 2011-10-25 Ciena Corporation Systems and methods for private network-to-network interface out-of-band signaling and path blocking
US7861110B2 (en) 2008-04-30 2010-12-28 Egenera, Inc. System, method, and adapter for creating fault-tolerant communication busses from standard components
US8175103B2 (en) 2008-06-26 2012-05-08 Rockstar Bidco, LP Dynamic networking of virtual machines
US8873960B2 (en) 2008-12-30 2014-10-28 Broadcom Corporation Techniques for detecting optical faults in passive optical networks
WO2010078506A1 (en) * 2008-12-31 2010-07-08 Paul Borrill Self-healing communication trees
WO2010081554A1 (en) 2009-01-15 2010-07-22 Telefonaktiebolaget Lm Ericsson (Publ) PROXY MOBILE IPv6 SUPPORT IN RESIDENTIAL NETWORKS
US8867507B2 (en) 2009-05-14 2014-10-21 Avaya Inc. Split-plane wireless network architecture
US8869035B2 (en) * 2009-06-29 2014-10-21 International Business Machines Corporation Increasing resilience of a network service
US8351456B2 (en) 2009-06-29 2013-01-08 Qualcomm Incorporated Method and apparatus for radio filtering in a multi-radio device
US9014156B2 (en) * 2009-08-25 2015-04-21 Aruba Networks, Inc. Traffic forwarding in mesh networks
KR101058208B1 (ko) * 2009-10-16 2011-08-22 전자부품연구원 무선 센서네트워크에서 에너지 비용 분석방법
US8493971B2 (en) * 2009-11-06 2013-07-23 Nec Corporation Path calculation system
US8311014B2 (en) 2009-11-06 2012-11-13 Telefonaktiebolaget L M Ericsson (Publ) Virtual care-of address for mobile IP (internet protocol)
US8428006B2 (en) 2010-05-04 2013-04-23 Cisco Technology, Inc. Hierarchical control signaling for mobile clients in distributed wireless controller system
US8520595B2 (en) 2010-05-04 2013-08-27 Cisco Technology, Inc. Routing to the access layer to support mobility of internet protocol devices
US8675601B2 (en) 2010-05-17 2014-03-18 Cisco Technology, Inc. Guest access support for wired and wireless clients in distributed wireless controller system
US8301694B2 (en) * 2010-05-20 2012-10-30 Sandisk Il Ltd. Host device and method for accessing a virtual file in a storage device by bypassing a cache in the host device
EP2586157B1 (en) * 2010-06-28 2019-08-07 Telefonaktiebolaget LM Ericsson (publ) Network management
US20120096085A1 (en) * 2010-10-14 2012-04-19 Province of Ontario, Canada) Communications system including instant message device control and related methods
US8817593B2 (en) 2010-11-01 2014-08-26 Avaya Inc. Method and apparatus providing failover for a point to point tunnel for wireless local area network split-plane environments
US8787394B2 (en) 2011-02-01 2014-07-22 Ciena Corporation Separate ethernet forwarding and control plane systems and methods with interior gateway route reflector for a link state routing system
US8804748B2 (en) * 2011-03-31 2014-08-12 Nokia Siemens Networks Ethernet Solutions Ltd. Hitless node insertion for Ethernet networks
US8717875B2 (en) 2011-04-15 2014-05-06 Alcatel Lucent Condensed core-energy-efficient architecture for WAN IP backbones
US8873398B2 (en) 2011-05-23 2014-10-28 Telefonaktiebolaget L M Ericsson (Publ) Implementing EPC in a cloud computer with openflow data plane
US20120317058A1 (en) 2011-06-13 2012-12-13 Abhulimen Kingsley E Design of computer based risk and safety management system of complex production and multifunctional process facilities-application to fpso's
US9148223B2 (en) * 2011-07-07 2015-09-29 Ciena Corporation Ethernet private local area network systems and methods
US9185027B2 (en) * 2011-07-29 2015-11-10 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for resilient routing of control traffic in a split-architecture system
US8804490B2 (en) * 2011-07-29 2014-08-12 Telefonaktiebolaget L M Ericsson (Publ) Controller placement for fast failover in the split architecture
US8559314B2 (en) * 2011-08-11 2013-10-15 Telefonaktiebolaget L M Ericsson (Publ) Implementing OSPF in split-architecture networks
US8593958B2 (en) * 2011-09-14 2013-11-26 Telefonaktiebologet L M Ericsson (Publ) Network-wide flow monitoring in split architecture networks
US8811212B2 (en) * 2012-02-22 2014-08-19 Telefonaktiebolaget L M Ericsson (Publ) Controller placement for fast failover in the split architecture
US8824323B2 (en) 2012-01-10 2014-09-02 Avaya Inc. Wireless control plane failure handling in a split-plane deployment
US20130346403A1 (en) 2012-06-25 2013-12-26 Google Inc. Signal based recommender

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050265228A1 (en) 1999-12-22 2005-12-01 Fredette Andre N Automatic protection switching using link-level redundancy supporting multi-protocol label switching
US6928484B1 (en) 2000-01-18 2005-08-09 Cisco Technology, Inc. Method and apparatus for discovering edge-disjoint shortest path pairs during shortest path tree computation

Also Published As

Publication number Publication date
CN103718521B (zh) 2017-10-24
EP2737672A1 (en) 2014-06-04
US9154410B2 (en) 2015-10-06
JP2014526190A (ja) 2014-10-02
BR112014001456A2 (pt) 2017-02-21
CA2843366A1 (en) 2013-02-07
EP2737672B1 (en) 2019-03-06
CN103703727A (zh) 2014-04-02
CA2843355C (en) 2020-01-28
KR20140053265A (ko) 2014-05-07
CA2843355A1 (en) 2013-02-07
EP2737671A1 (en) 2014-06-04
US20130028142A1 (en) 2013-01-31
JP6165728B2 (ja) 2017-07-19
WO2013017980A1 (en) 2013-02-07
US20130028070A1 (en) 2013-01-31
CN103718521A (zh) 2014-04-09
JP2014526189A (ja) 2014-10-02
JP6062939B2 (ja) 2017-01-18
KR102006038B1 (ko) 2019-07-31
US9185027B2 (en) 2015-11-10
WO2013017979A1 (en) 2013-02-07
KR20140049577A (ko) 2014-04-25
BR112014002273A2 (pt) 2017-02-21
CN103703727B (zh) 2016-12-07
IL230202A (en) 2016-05-31
CA2843366C (en) 2021-03-23
EP2737671B1 (en) 2019-06-26

Similar Documents

Publication Publication Date Title
KR102002189B1 (ko) 분할 아키텍처 시스템에서의 제어 트래픽의 탄력적 라우팅을 위한 방법 및 장치
KR102397956B1 (ko) 내부 게이트웨이 프로토콜 플러딩 최소화
US9059928B2 (en) Controller placement for fast failover in the split architecture
US10158559B2 (en) Capacity-aware heuristic approach for placing software-defined networking (SDN) switches in hybrid SDN networks for single link/node failure
EP2552065B1 (en) Controller placement for fast failover in the split architecture
CA2882535C (en) Control device discovery in networks having separate control and forwarding devices
Hasegawa et al. Proactive recovery from multiple failures utilizing overlay networking technique
Hansen et al. Could Proactive Link-State Routed Wireless Networks Benefit from Local Fast Reroute?
Dikshit et al. Enhanced Protection for Routing in IP Networks
Abujassar et al. An efficient pre-computed backup path on the IGP network communication

Legal Events

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