KR101260233B1 - 소프트라우터 프로토콜 장애 극복들 - Google Patents

소프트라우터 프로토콜 장애 극복들 Download PDF

Info

Publication number
KR101260233B1
KR101260233B1 KR1020050103949A KR20050103949A KR101260233B1 KR 101260233 B1 KR101260233 B1 KR 101260233B1 KR 1020050103949 A KR1020050103949 A KR 1020050103949A KR 20050103949 A KR20050103949 A KR 20050103949A KR 101260233 B1 KR101260233 B1 KR 101260233B1
Authority
KR
South Korea
Prior art keywords
protocol
ces
active
messages
routing
Prior art date
Application number
KR1020050103949A
Other languages
English (en)
Other versions
KR20060092982A (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 KR20060092982A publication Critical patent/KR20060092982A/ko
Application granted granted Critical
Publication of KR101260233B1 publication Critical patent/KR101260233B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5625Operations, administration and maintenance [OAM]
    • H04L2012/5627Fault tolerance and 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/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
    • H04L45/655Interaction between route computation entities and forwarding entities, e.g. for route determination or for flow table update

Landscapes

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

Abstract

소프트라우터 아키텍처는 패킷 포워딩 기능들로부터 제어 평면 기능들의 구현을 분리한다. 이 아키텍처에서, 모든 제어 평면 기능들은 포워딩 요소들(FE)(506)로부터 떨어진 다수의 홉들(hops)일 수 있는 제어 요소들(CE)(502)이라 불리는 범용 서버들 상에 구현된다. 네트워크 요소(NE) 또는 라우터는 CE들(502)과 FE들(506) 간의 동적인 결합을 사용하여 형성된다. 하나의 CE(502)에서 다른 CE(502)로의 제어를 전송하기 위하여 FE들(506)에 의해 초기화된 프로토콜 장애 극복을 취급하는 프로토콜 장애 극복 메커니즘이 있다.
소프트라우터, 제어 요소, 포워딩 요소, 서버, 라우터

Description

소프트라우터 프로토콜 장애 극복들{Softrouter protocol failovers}
도 1은 IP에 더 많은 기능들을 구동하는 애플리케이션들을 나타내는 문제를 도시한 도면.
도 2는 일반적인 라우터를 도시한 블록도.
도 3은 대표적인 소프트라우터(SoftRouter) 아키텍처의 하이 레벨 추상을 도시한 블록도.
도 4는 일반적인 라우터 아키텍처를 도시한 블록도.
도 5는 대표적인 소프트라우터 아키텍처의 실시예를 도시한 블록도.
도 6은 네트워크 요소들을 도시한 대표적인 소프트라우터 아키텍처의 실시예를 도시한 블록도.
도 7은 포워딩 요소(FE)에 대한 액티브-제어 요소들(CE) 및 백업-CE들의 예시적인 리스트들을 도시한 블록도.
도 8은 세트들의 예시적인 계층(hierarchy)을 도시한 벤(Venn) 다이어그램.
도 9는 장애 극복에 대한 예시적인 프로토콜 오버레이를 도시한 블록도.
도 10은 예시적인 장애 극복 시나리오를 도시한 시퀀스 다이어그램.
도 11은 컴퓨터를 도시한 하이 레벨 블록도.
본 출원은 "소프트라우터:라우터 분해(SoftRouter: Router Disaggregation)"라는 명칭으로 2004년 11월 1일에 출원된 가출원번호 제60/623,885호(대리인 참조번호: Lakshman 35-2-23-62-31)의 우선권을 주장한다. 더욱이, 본 출원은 본 발명의 출원인과 동일일에 출원된 계류중인 출원들, 즉 "소프트라우터"(대리인 참조번호: Lakshman 35-2-23-62-31)(LCNT/126770), "소프트라우터 프로토콜 분해(SoftRouter Protocol Disaggregation)"(대리인 참조번호: Ansari 2-2-41-3-24-34(LCNT/127305), "소프트라우터 개별 제어 네트워크(SoftRouter Separate Control Network)"(대리인 참조번호: Lakshman 43-64-36)(LCNT/127307), 및 "소프트라우터 특징 서버(SoftRouter Feature Server)"(대리인 참조번호: Lakshman 44-65-37)(LCNT/126308), "소프트라우터 동적 결합 프로토콜(Softrouter Dynamic Binding Protocol)"(대리인 참조번호: Ansari 4-3-45-5-26-38)(LCNT/126309)과 관련된다. 가출원 및 관련 출원들은 여기에 참조문헌으로서 통합된다.
본 발명은 일반적으로 네트워킹 분야에 관한 것으로, 특히, 대표적인 소프트라우터 아키텍처에서 프로토콜 장애 극복들에 관한 것이다.
일반적인 라우터 아키텍처들은, 점점 더 많은 특징들이 인터넷 제어 평면에 부가됨에 따라 오늘날 점점 더 복잡해지고 있다. 라우팅 정책 실시 또는 트래픽 엔지니어링과 같은 많은 동작 태스크들은 자율적이고 복잡한 라우터들의 네트워크에서 달성하기에 어렵고 곤란한 네트워크-와이드 제어를 요구한다. 게다가, 현재의 라우터들은 포워딩 엔진과 강하게 결합된 라우트 제어기들을 갖고 이러한 정적 결합은 종종 공유된 실패들을 초래한다.
새로운 특징들이 표준화됨에 따라, 간단한 코어 네트워크를 목표로 하는 단 대 단 아키텍처 설계 원리에도 불구하고, 더욱 많은 제어 평면 복잡성이 라우터들에 부가된다. 이들 특징들은 라우팅(예를 들면, BGP-기반 MPLS-VPN들), 트래픽 엔지니어링(TE)(예를 들면, 개방형 최단 경로 우선 프로토콜(OSPF)-TE), 보안 등을 포함한다. 대조적으로, 포워딩 경로 구현은 대규모 하드웨어 집적(예를 들면, ASIC)에서의 빠른 진보와 재고 칩들의 준비된 가용성으로 계속해서 더욱 용이해지고 있다.
일반적인 IP 네트워크들은 비교적 자율적으로 동작하는 라우터들을 사용하여 구성된다. 잠재적으로 관리 불가능한 복잡성은 네트워크 전체를 통해 많은 지점들에서 존재한다. 이는 많은 바람직하지 않은 결과들을 갖는다. 우선, 복수의 제어 지점들은 동작 복잡성(예를 들면, 잘못된 구성)을 크게 증가시킨다. 두 번째로, 특정 환경들에서, 이들 자율적인 라우터들의 조정되지 않은 동작들은 기껏해야 준최적 성능(예를 들면, 열악한 복구 시간)과 최악의 경우에서 네트워크 불안정을 초래할 수 있다. 마지막으로, 새로운 특징들의 도입은 둘다 복잡하고 에러가 발생하기 쉬운(error-prone) 다수의 라우터들에 대한 업그레이드를 요구할 수 있다.
일반적인 라우터 아키텍처들은 집적된 제어 및 포워딩을 갖는다. 제어 평면 기능들을 구현하는 제어 프로세서들은 포워딩 기능들을 구현하고 종종 동일한 라우터 뒷판(backplane)을 공유하는 라인 카드들과 함께 배치된다. 제어 프로세서들은 제어 기능들을 상기 함께 배치된 라인 카드들에만 제공하고, 반대로 마찬가지로 동작하여, 상기 함께-배치된 제어기(들)의 장애가 있을 때 상기 라인 카드들이 관리될 수 없는 시나리오를 도출한다.
종래 기술의 다양한 단점들은 다양한 실시예들을 포함하는 대표적인 소프트라우터 아키텍처에 대한 프로토콜 장애 극복들의 본 발명에 의해 해결된다.
하나의 실시예는 포워딩 요소(FE)가 특정 프로토콜에 대한 프로토콜 오버레이 프로세스와 라우팅 테이블 관리자(RTM) 프로세스를 가동시키는 프로토콜 장애 극복들을 수행하는 방법이다. 상기 FE는 액티브-프로토콜-제어 요소(CE)로부터 라우팅 프로토콜 메시지들을 수신하고, 응답하여, 그것들을 모든 프로토콜-CE들에 전달한다. 하트비트(heartbeat) 메시지들은 상기 수신된 라우팅 프로토콜 메시지들상에 피기백된다(piggyback). 상기 FE는 전송된 메시지들에 응답하여 액티브-프로토콜-CE로부터 응답확인들을 수신한다. 상기 FE는 액티브-프로토콜-CE의 실패 시, 백업-프로토콜-CE에 대한 장애 극복을 개시한다.
또 다른 실시예는, 각각의 제어 요소(CE)가 특정 프로토콜에 대한 프로토콜 오버레이 프로세스를 가동시키는 프로토콜 장애 극복을 수행하는 방법이다. 상기 CE들은 액티브-프로토콜-CE 및 백업-프로토콜-CE를 포함한다. 상기 액티브-프로토콜-CE는 상기 액티브-프로토콜-CE에 의해 제어되는 포워딩 요소(FE) 대신에 프로토콜 프로세스를 가동한다. 상기 액티브-프로토콜-CE는 검사점들을 주기적으로 전송한다. 상기 검사점들은 상기 FE에 의해 상기 백업-프로토콜-CE에 전달된다. 상기 검사점들은 실패로부터의 복구 시 프로토콜 상태를 갱신하기 위함이다. 상기 백업-프로토콜-CE는 상기 FE에 의해 개시된 프로토콜 장애 극복에 참여한다.
또 다른 실시예는, 포워딩 요소(FE)가 인입 및 인출 프로토콜 메시지들을 모든 제어 요소들(CE)에 전송하는 프로토콜 장애 극복들을 수행하는 방법이다. 상기 FE는 데이터 평면에서 복수의 FE들 중 하나이다. 상기 CE들은 데이터 평면으로부터 물리적이고 논리적으로 분리된 제어 평면에 있다. 상기 CE들과 상기 FE들은 표준 프로토콜을 거쳐 통신한다. 각각의 FE는 상기 CE들 중 하나에 동적으로 결합된다. 상기 액티브-프로토콜-CE 및 상기 백업-프로토콜-CE들은 최근의 검사점 보다 새로운 메시지들에 대해 동기화된다. 상기 FE는 상기 액티브-프로토콜-CE에서 상기 백업-프로토콜-CE들 중 하나로의 프로토콜 장애 극복을 초기화하며, 현재 액티브-프로토콜-CE인 것을 확인한다. 또 다른 양상은 이 방법을 수행하기 위한 명령들을 갖는 컴퓨터 프로그램 제품을 저장하는 저장 매체이다.
또 다른 실시예는 데이터 평면, 제어 평면, 및 프로토콜 장애 극복 메커니즘을 포함하는 네트워크 아키텍처이다. 데이터 평면은 패킷 포워딩에 대한 다수의 포워딩 요소들(FE)을 포함한다. 제어 평면은 상기 데이터 평면으로부터 물리적이고 논리적으로 분리된다. 제어 평면은 라우팅 정보를 구성하고, 제어하고 표준 프로토콜을 거쳐 상기 FE들에 제공하기 위한 적어도 하나의 제어 요소(CE)를 포함한다. FE들과 CE들을 결합하기 위한 동적 결합 프로토콜이 존재한다. 상기 프로토콜 장애 극복 메커니즘은 각각의 라우팅 프로토콜에 대해 하나의 CE에서 또 다른 CE로 제어를 전송하기 위해 FE들에 의해 개시된 장애 극복들을 취급한다.
본 발명의 교시들은 첨부한 도면들을 참조하여 다음의 상세한 설명을 고려하여 용이하게 이해될 수 있다.
이해를 용이하게 하기 위해, 동일한 참조 번호들이 가능한 도면들에 공통인 동일한 요소들을 지정하도록 사용되었다.
본 발명은 대표적인 소프트라우터 아키텍처의 실시예의 일반적인 콘텍스트 내에서 주로 기재될 것이지만, 본 발명의 교시들에 의해 알려진, 기술분야의 당업자들은, 분리 개념이 네트워크 아키텍처들의 다양한 다른 실시예들을 생성하기 위해 사용될 수 있고 본 발명은 로컬 영역 네트워크들(LANs), 대도시 네트워크들(MANs), 광역 네트워크들(WANs) 및 다른 네트워크들, 많은 개방형 시스템 상호접속(OSI) 계층들, 게이트웨이 프로토콜들, 직렬 라인 프로토콜들, 프로토콜 스택 라우팅과 브릿징 프로토콜들(bridging protocols), 많은 다른 프로토콜들, 트래픽 관리, 광학, 에지/코어 라우팅, 무선, 케이블, 데이터 센터들, 보조 신호 경로(ASP), 실패 관리, 구성 관리, 회계 관리, 성능 관리, 보안 관리, 다른 네트워크 관리, 기업, 정부, 군대 애플리케이션들, 및 많은 다른 상이한 종류들의 네트워킹 특성들과 애플리케이션들에 적용가능하다는 것을 알 것이다.
인터넷 프로토콜(IP)은 단 대 단 데이터그램 전달 서비스를 프로토콜들 및 애플리케이션들에 제공하고, 패킷들을 전달하는 임의의 링크-계층 기술을 사용할 수 있다. 도 1은 모래 시계의 중간을 확장하여 IP에 대한 보다 많은 기능들을 구동시키는 최근에 만들어진 애플리케이션들의 문제점을 도시한다. 이들 최근에 만들어진 애플리케이션들은 이메일, www 전화, 단순 메일 전송 프로토콜(SMTP), 하이퍼텍스트 전송 프로토콜(HTTP), 라우팅 테이블 프로토콜(RTP), 전송 제어 프로토콜(TCP), 사용자 데이터그램 프로토콜(UDP), 및 다른 프로토콜들을 포함하며, 이는 서비스 품질(QoS), 멀티캐스트, 이동도, 가상의 사설 네트워크(VPN), 및 다른 특징들을 수반하고, 구리, 섬유, 무선, 및 다른 물리적 전송 수단을 통해, 이더넷, 점-대-점 프로토콜(PPP), 캐리어 감지 다중 접속(CSMA; carrier sense multiple access), ASYNC(텔레타자기(TTY: teletypewriter)의 서브세트), 동기식 광학 네트워크(SONET), 및 다른 프로토콜들을 사용하여 전송된다. 일반적인 라우터 아키텍처들은 새로운 IP 기능들 모두를 라우터들로 통합하여, 네트워크의 다수의 라우터들에서 복잡한 기능들의 복제를 초래한다. 이는 또한 자본 및 운영 비용들을 증가시킨다. 일반적으로, 라우터들의 네트워크를 동작시키는 복잡성과 비용을 감소시킬 필요가 있다.
많은 새로운 특징들은 라우터, 예를 들면, 경계 게이트웨이 프로토콜(BGP), 다중프로토콜 라벨 스위칭(MPLS)-기반 VPN들, 및 트래픽 엔지니어링(TE)에 부가되고 있다. 일반적인 라우터 아키텍처들은 5백만 내지 1천만 라인들의 코드를 가지며 복잡성은 네트워크 전체에 걸쳐 확산된다. 트래픽 엔지니어링과 같이 운영자의 네트워크-와이드 목표들의 달성은 많은 개별 라우터들에서 구성 정보에 대한 글로벌 목표들의 복잡한 번역을 요구한다. 잘못된 구성 또는 조정되지 않은 구성은 열악한 성능 또는 네트워크 불안정을 초래할 수 있다.
인터넷의 거대한 성공은 압박하에 그것의 기술적 토대들을 점점 자리를 잡아가고 있는 새로운 특징들 및 서비스들의 배치 및 일정한 개발을 이끌어오고 있다.이는, IP 네트워크에서 현재 기능들의 분배를 재구성하는 것이 네트워크 안정성, 네트워크 동작들의 간략화, 및 새로운 네트워크 프로토콜들과 서비스들의 도입시의 유동성의 크나큰 이점들을 초래할 것이라는 관념을 믿게 한다.
라우팅 정책 실시 및 트래픽 엔지니어링과 같은 많은 진보된 네트워크 관리 태스크들은 네트워크-와이드 관점의 가용성으로부터 상당히 이로울 것이다. 예를 들면, 몇몇 공통 BGP-유도 네트워크 안정성 및 동작들의 문제들은 개별 라우터들로부터 자율적 시스템(AS)-와이드 범위를 갖는 단일 엔티티로 BGP를 이동시킴으로써 해결될 것이다. 유사하게, 많은 관리 기능들은 네트워크가 발진과 열악한 안정성을 나타낼 수 있는 것 없이, 네트워크-와이드 관점을 요구한다. 그러나, 네트워크-와이드 제어는 오늘날의 자율적이고 복잡한 라우터들의 네트워크에서 달성하기에 어렵고 곤란하다.
일반적인 라우터 아키텍처들에서, 기본적인 주제는 현재의 라우터들에서 제어 및 포워딩 기능들의 깊은 뒤엉킴(intertwine)이다. 약간의 정규 패킷 포워딩 기능들만을 지원하기 위해 그들의 기능들을 감소시킴으로써 가능한 한 쓸모없는 네트워크 엔티티들의 대부분을 유지하고 모든 제어 프로토콜들과 비-포워딩 관련 상태와 제어 처리를 네트워크-와이드 제어의 주요 기능을 갖는 몇몇 영리한 네트워크-기반 제어 엔티티들로 이전시키기 위해 라우터들을 해체하는 것이 필요하다. 또한, 프로토콜 장애 극복들이 우아하고 끊김없이 취급될 필요가 있다.
인터네트워킹을 위한 개방형의 표준-기반 프로토콜들을 사용한 라우터 소프트웨어로부터 라우터 하드웨어의 분해는 많은 이점들을 갖는다. 상기 분해 개념은 각각의 구성요소를 위한 공급자들을 분리시키고, 이는 하드웨어 벤더들에 대한 진입 장벽을 낮추고 독립적인 소프트웨어 벤더들(ISV)이 새로운 하드웨어 시장 진입자들을 공급하기 위해 캐리어-클래스 라우팅 소프트웨어를 개발하는데 투자하게끔 장려한다. 이러한 분해 개념은 각각의 구성요소가 그 자신의 혁신 곡선에 초점을 맞추게 한다. 하드웨어 제조업자들은 최저 비용으로 밀도당 최고 속도에 초점을 맞춰 자본 지출들을 감소시킬 수 있고, 소프트웨어 제조업자들은 새로운 애플리케이션들과 관리 능력에 초점을 맞춰 동작 비용들을 감소시키면서 매출액을 증가시킬 수 있다.
대표적인 소프트라우터 아키텍처의 실시예는 패킷 포워딩 기능들로부터 제어 평면 기능들의 구현을 분리함으로써 라우터들을 분해한다. 이러한 분해를 달성하는 네트워크 아키텍처들의 다른 실시예들은 또한 본 발명의 범위 내에 있다. 본 발명은 이러한 분해의 개념과 네트워크 아키텍처에 대한 그것의 내포를 포함한다. 대표적인 소프트라우터 아키텍처에서, 모든 제어 평면 기능들은 포워딩 엔진들과 함께 배치될 필요 없는 별도의 제어 엔티티들상에 구현된다. 모든 비-포워딩 관련 상태 및 제어 처리를 몇몇 네트워크-기반 제어 엔티티들에 이전시킴으로써, 네트워크-와이드 목표들의 구현이 보다 간단해지는데, 이는 조정된 구성 변경들이 AS에서의 모든 네트워크 요소들 대신에 단지 몇몇 영리한 네트워크 요소들에서만 요구되기 때문이다. 게다가, 제어기들과 포워딩 엔진들 간의 연관성은 동적이며, 그렇게 할 수 있는 임의의 제어 엔티티에 의한 포워딩 엔진의 유연한 제어를 허용한다.
상기 대표적인 소프트라우터 아키텍처는 네트워크에서 포워딩 엔티티들과 제어 엔티티들 간의 동적인 결합들 수립하고 유지하기 위한 동적 결합 프로토콜을 포함한다. 내부 도메인 및 도메인 간 라우팅은 개선된 성능으로 대표적인 소프트라우터 아키텍처에서 적응되며, 이는 내부 도메인 프로토콜 OSPF에 대한 개선된 성능을 포함한다.
인터네트워킹을 위한 개방형의 표준-기반 프로토콜들을 사용한 라우터 소프트웨어로부터 라우터 하드웨어의 분해는 많은 이점들을 갖는다. 상기 분해 개념은 각각의 구성요소에 대한 공급자들을 분리하여 하드웨어 벤더들에 대한 진입 장벽을 낮추고 독립 소프트웨어 벤더들(ISV)이 새로운 하드웨어 시장 진입자들을 공급하기 위해 캐리어-클래스 라우팅 소프트웨어를 개발하는데 투자하게끔 장려한다. 이러한 분해 개념은 각각의 구성요소가 그 자신의 혁신 곡선에 초점을 맞추게 한다. 하드웨어 제조업자들은 최저의 비용으로 밀도당 최고 속도에 초점을 맞춰 자본 지출들을 감소시킬 수 있고, 소프트웨어 제조업자들은 새로운 애플리케이션들과 관리 능력에 초점을 맞춰 동작 비용을 감소시키면서 매출액을 증가시킬 수 있다.
대표적인 소프트라우터 아키텍처의 예시적인 실시예는 최근에 만들어진 애플리케이션들에 의해 요구되는 복잡한 IP 기능들을 분해시키기 위한 접근법이다. 소프트라우터는 집중시키고 복잡성의 공유를 허용한다. 소프트라우터는 IP 포워딩 기능들을 과도하게 방해하지 않고 스케일링 가능한 새로운 기능들의 도입을 가능케 한다.
도 2는 집적 제어 및 전송 평면들을 갖는 일반적인 라우터(200)를 도시한다. 상기 일반적인 라우터(200)는 사유 인터페이스(206)를 통해 통신하는 소프트웨어(202) 및 하드웨어(204)를 갖는다.
반대로, 도 3은 표준 프로토콜들을 사용하여 통신하는 별도의 하드웨어에서 제어 및 전송 평면들을 분리하는 대표적인 소프트라우터 아키텍처(300)의 고레벨의 추상적 개념을 도시한다. 상기 소프트라우터 아키텍처(300)는 표준-기반 프로토콜(306)을 사용하여 통신하는 제어 요소와 특징 서버 구성요소(302) 및 패킷 포워딩 요소 구성요소(304)를 갖는다.
도 4는 다수의 상호접속된 라우터들(400)을 갖는 일반적인 라우터 아키텍처를 도시한다.
도 5는 대표적인 소프트라우터 아키텍처(500)의 실시예를 도시한다. 대표적인 소프트라우터 아키텍처(500)의 실시예에서, 상기 소프트웨어 서버들은 제어 요소들(CE)(202)과 특징 서버들(FS)(504)을 포함한다. CE들(502)은, 예를 들면, 내부 게이트웨이 프로토콜(IGP)(예를 들면, OSPF) 및 외부 게이트웨이 프로토콜(EGP)(예를 들면, 경계 게이트웨이 프로토콜(BGP))에 대한 일반적인 라우팅을 담당한다. FS들(504)은 가치-부가 기능들과 네트워크-기반 애플리케이션들, 예를 들면, QoS, VPN 및 이동 IP를 담당한다. CE들(502)과 FS들(504) 모두는 포워딩 요소들(FE)(506)에 인터페이스한다. 상기 CE들(502) 및 상기 FS들(504)은 서로에 대해 부가적인 인터페이스들을 가질 수 있다. 상기 대표적인 소프트라우터 아키텍처는 하드웨어-기반 전송 및 패킷 포워딩으로부터 소프트웨어-기반 라우트 제어기(소프트라우터)를 분리하고 집중시킨다.
대표적인 소프트라우터 아키텍처에서 라우터들의 분해는 제어 및 포워딩 기능들을 분리한다. 이러한 분리는 논리적인 것 이상이며(예를 들면, 모듈 애플리케이션 프로그래밍 인터페이스(API)와 함께 잘 정의된 인터페이스의 사용), 사실, 제어는, 상기 포워딩이 수행되는 다수의 홉(hop)들에 의해 물리적으로 분리된다(즉, 별개의 네트워크 요소에서 실행됨).
FE(506)는 실제 포워딩과 트래픽의 스위칭을 수행하는 네트워크 요소이다. 구성에 있어서, FE(506)는 복수의 포트들을 각각 차례로 종료시키는 복수의 라인 카드들을 가질 수 있는 일반적인 라우터 및 하나의 라인 카드에서 또 다른 라인 카드로 데이터 트래픽을 왕복시키기 위한 스위치 구조와 유사하다. 그러나, FE(506)는, 논리적으로 동작하는 임의의 복잡한 제어 논리(예를 들면, OSPF 또는 BGP와 같은 라우팅 과정)가 존재하지 않으므로 일반적인 라우터와는 다르다. 대신에, 제어 논리는 원격으로 호스트된다.
CE(502)는 서버와 같이 범용 컴퓨팅 요소이다. 이는, 전형적으로 복수의 FE들(506)을 거쳐 상기 네트워크에 멀티-홈되는 것을 제외하고, 엔드 호스트와 같은 네트워크에 접속하여, 단일 링크가 실패일 때 네트워크로부터 접속해제되지 않도록 한다. CE(502)는 상기 FE들(506) 대신에 상기 제어 논리를 동작시켜 그것들을 제어한다. 일반적인 라우터 상에 전형적으로 발견되는 임의의 제어 논리는 리소스 예약 프로토콜(RSVP), 라벨 분배 프로토콜(LDP), 이동 IP 등과 같은 프로토콜들 뿐만 아니라 OSPF와 BGP와 같은 라우팅 프로토콜을 포함하여 상기 CE들(502)에 이동될 수 있다.
FE(506)는 그 링크들 간에 데이터 트래픽을 포워딩하는 기능을 한다. 이 기능은 패킷 포워딩, 라벨 스위칭, 및 광학 스위칭과 같이 그들 중에서 다양한 형태들을 취할 수 있다. 패킷 포워딩은 계층 2(매체 접속 제어(MAC)-기반 스위칭) 및 계층 3(최장-접두어 매칭) 포워딩 모두를 포함한다. 라벨 스위칭은, 예를 들면, MPLS 포워딩을 포함한다. 상기 데이터 경로 포워딩 기능들은 라벨-스와핑, 푸싱, 및 팝핑을 포함할 수 있다. 광학 스위칭에서, 상기 트래픽은 링크들 간에 시간-스위칭되고, 파장-스위칭되거나, 공간-스위칭될 수 있다. 이들 경우들 각각에서, 상기 스위칭 기능은 상기 네트워크에서 CE(502)에 의해 계산되고 설치되는 간단한 로컬 테이블에 의해 구동된다. 따라서, 로컬 데이터 구조만을 기초로 하여 그것의 일을 수행하는 FE(506)의 능력은, 상기 FE(506)가 더 복잡한 논리가 원격이지만 영리한 CE(502)에 귀속시키면서, 소리없고 빠르도록 설계된다.
FE들(506)과 상기 CE들(502) 모두는 물리적 네트워크 요소들에 부가하여 논리적 엔티티들로서 이해된다. 상세하게는, FE(506)는 트래픽이 서로 간에 스위칭될 수 있는 포트들의 수집으로서 논리적으로 정의된다. 예를 들면, FE(506)는, 전체 물리적 패킷 스위치가 다수의 논리적 FE들(506)로 구성되는 경우, 단일 라인 카드상에 모든 포트들을 포함할 수 있다. FE(506)는 또한 하나 이상의 물리적 스위치에 스패닝할 수 있지만, CE는 다수의 FE들(506)을 제어할 수 있다. 유사하게, CE(502)는 FE들(506) 대신에 제어를 제공하도록 예시된 논리적 프로세스로서 이해될 수 있고 실제로 이를 실행하는 서버 머신과 구별될 수 있다. 특히, 물리적 CE 서버 머신(PCE)은 FE들(506)의 상이한 수집을 각각 제공하는 다수의 CE(502) 프로세스들을 호스트할 수 있다. 반대로, 동일한 FE(506)를 제공하는 다수의 CE(502) 프로세스들(각각 내부 게이트웨이 프로토콜(IGP) 및 외부 게이트웨이 프로토콜(EGP)과 같은 상이한 제어 목적을 위해 예시됨)이 개별 PCE들상에서 호스트될 수 있다. 상기 FE들(506)과 상기 CE들(502)의 물리적이고 논리적인 정의들은 상호교환가능하게 사용된다.
도 6은 네트워크 요소들(600)을 도시한 대표적인 소프트라우터 아키텍처의 실시예를 도시한다. 라우터의 개념이 상기 대표적인 소프트라우터 아키텍처에서 엄격하게 요구되지 않지만, 네트워크의 라우팅 관점을 이해하기 위해 몇몇 등가의 개념을 회복하는데 유용하다. 이를 위해, 네트워크 요소(600)의 개념은 FE들(506)과 이들 FE들(506)을 제어하는 개별 CE들(502)의 논리적 그룹핑으로서 고레벨로 정의된다. 특정 NE(600)는 내부(또는 내부 NE) 또는 외부(또는 NE 간)로서 FE들(506) 간의 각각의 링크를 암시적으로 분류한다. 내부 링크는 동일한 NE(600)에 속하는 2개의 포트들을 연결시키고 외부 링크는 상이한 NE들(600)에 속하는 2개의 포트들을 연결시킨다. NE(600)의 개념은, 내부 NE 및 NE 간 라우팅이 상이한 접근법들을 따를 때 유용하다.
추가의 제약들 없이, 상기 NE(600)의 정의는 유연성을 허용한다. 예를 들면, 상기 정의는 네트워크의 해체 부분들에서 2개의 FE들(506)이 동일한 NE(600)에 속하도록 허용한다. 또한, 상기 FE(506)가 물리적 요소에서 모든 포트들을 정확하게 포함하고 제어 CE(들)(502)이 동일한 요소상에 배치되는 일반적인 라우터 모델을 허용한다.
클러스터 라우팅에서, NE(600)를 구성하는 상기 FE들(506)은 인접하는 구름의 일부이다. 즉, 상기 NE(600)의 모든 포트들은 상기 NE(600)에 내부인 링크들을 거쳐 서로 도달가능하다. 물리적으로, 이는 인접하는 물리적 FE들(506)의 단일 NE(600)로의 클러스터링을 나타낸다. 통상적인 시나리오는 중앙 사무실에서 배면 결합되는 몇몇 라우터들의 것이다. 라우팅 관점으로부터, 상기 NE(600)의 이 클러스터링-기반 정의는 상당한 간략화를 제공할 수 있다. 라우팅 관점에서 감소된 수의 NE들(600)은 NE 간 라우팅 복잡성을 감소시키고 상이한, 가능하게는 덜 복잡한 라우팅 프로토콜은 내부 NE 라우팅에 사용될 수 있다.
FE(506)와 CE(502) 간의 제어 관계는 공식으로 결합(binding)이라 한다. 상세하게는, FE(506) 및 CE(502)의 결합은, 상기 CE(502)가 상기 FE(506) 대신에 특정 제어 기능들을 수행하는 것을 의미한다. 다수의 프로토콜들(예를 들면, IGP 및 EGP, 또는 프로토콜의 다수의 인스턴스들도)이 FE(506)의 동작을 위해 요구될 수 있으므로, FE(506)는 다수의 CE(502) 결합들을 가질 수 있다.
상기 대표적인 소프트라우터 아키텍처는 다양한 프로토콜들을 포함한다. 다수의 상이한 프로토콜들은 동적 결합 프로토콜과 FE/CE 전송 프로토콜을 포함하는 상기 대표적인 소프트라우터 아키텍처에 따라 설계된 네트워크의 동작에 사용된다. FE(506) 및 CE(502) 간의 결합은 CE들(502)과 FE들(506)을 찾는 프로토콜을 거쳐 수립되고 또한 네트워크 중단에도 불구하고 이들 결합들을 유지한다. 상기 동적 결합 프로토콜의 가장 일반적인 경우에서, FE(506)는 임의의 가용한 CE(502)에 결합할 수 있고 CE(502)는 임의의 FE(506)에 대해 제어 기능들을 수행할 수 있으므로, 최대의 복원력(resiliency)과 최소의 구성 오버헤드를 산출한다. 이러한 동적인 결합 능력은 별도의 제어 및 포워딩 기능들을 갖는 분해된 라우터들의 개념의 특징이다. 상기 FE/CE 전송 프로토콜은 2개의 부분들, 즉, 데이터 및 제어를 갖는다. 상기 데이터 부분에 대해, 상기 FE/CE 전송 프로토콜은 FE(506)에 의해 수신된 라우팅 프로토콜 패킷이 처리를 위해 CE(502)에 전송될 수 있도록 FE들(506)과 CE들(502) 간의 라우팅 프로토콜 패킷들의 터널링을 지원한다. 상기 제어 부분에 대해, 일단 결합이 수립되면, 상기 FE들(506)과 상기 CE들(502)은 상태 정보를 전송하고 제어를 수행하기 위해 상기 FE/CE 전송 프로토콜을 사용한다. 업링크(FE(506)에서 CE(502)로) 방향으로, 이 제어 부분은 링크 및 포워딩 상태 정보(예를 들어, 링크 업/다운 신호)를 CE(502)에 제공한다. 다운링크 방향으로, FE/CE 전송 프로토콜은 구성 및 제어 정보(예를 들면, 링크를 인에이블/디스에이블, 포워딩 정보 베이스(FIB))를 운반한다. 포워딩과 제어 요소 분리(ForCES)와 같은, 알려진 프로토콜들은 상기 FE/CE 전송 프로토콜을 위해 사용될 수 있다.
상기 대표적인 소프트라우터 아키텍처의 상기 동적인 결합 특징은 CE(502)로부터 다수의 홉들에 의해 분리되도록 FE(506)를 허용한다. 이러한 유연성은 상기 포워딩 요소들의 초기 구성에서 증가된 복잡성의 비용으로 된다. 상기 소프트라우터 모델에서, 부팅 시, 상기 FE(506)는 서버상에 존재하는 원격 CE(502)로부터 그것의 인터페이스들의 IP 어드레스들을 포함하는 구성 정보를 얻는다. 이는 잠재적인 역설을 내포하고, 즉, CE(502)를 찾고 패킷들을 그것에 전송하기 위해, 상기 FE(506)는 라우팅 정보를 요구하지만, 상기 라우팅 정보는 상기 CE(502)로부터 오게 된다. 이러한 역설은 상기 대표적인 소프트라우터 아키텍처의 일부인 디스커버리 프로토콜(예를 들면, 벨 연구소 탐색 프로토콜(BLDP))을 사용하여 해결된다. 이러한 탐색 프로토콜은 FE들(506) 및 CE들(502)이 서로 탐색하게 하고 이들 엔티티들 간의 라우팅 가능한 경로를 유지하게 한다. 동적 결합 프로세스는 또한 CE-FE 결합 복원력과 장애 극복을 개선하여 상기 네트워크에 대한 가용성을 증가시키는 CE(502) 로드 밸런싱, 한정된 클러스터링 알고리즘들과 같이 향상된 특징들을 지원한다. 이들 특징들은 또한 보다 양호한 네트워크 계획과 보다 양호한 네트워크-와이드 제어를 가능하게 한다.
상기 동적인 결합 프로토콜의 실시예들은 FE들(506)에 대한 결합 서비스 및 FE-CE 메시지들에 대한 라우팅 서비스들을 제공한다. 상기 동적인 결합 프로토콜은 상기 네트워크에서 동작하는 다른 프로토콜들과 관계없이, 별도의 프로토콜로서 상기 네트워크의 수명 동안 모든 요소들(FE들(506)과 CE들(502)) 상에서 계속해서 동작한다. 최소한으로, 각각의 FE(506) 및 CE(502)는 고유 식별자로서 동작하는 사전-구성된 옥텟(octet) 스트링(FEID/CEID)을 갖는다. FE들(506) 및 CE들(502)의 브릿지된 네트워크(예를 들면, 이더넷을 통해 접속됨)에서, 고속 스패닝 트리 프로토콜은 FE-CE 통신을 위한 접속 가능성을 제공한다. 이러한 네트워크들은 단지 하나의 가능한 주어진 이종 FE(506) 가능성들이 아니기 때문에, 상기 동적인 결합 프로토콜은 상기 CE들(502) 및 상기 FE들(506) 간의 라우팅 서비스들을 지원하기 위한 별도의 구성요소를 포함한다. 그러나, 스패닝 트리 프로토콜이 가용하면, 상기 동적인 결합 프로토콜은 라우팅 서비스들을 위해 이를 이용할 수 있다. 상기 동적인 결합 프로토콜은 4개의 구성요소들, 즉, 탐색, 연관, 수리와 함께 장애 검출, 및 전송 터널들을 갖는다.
상기 동적인 결합 프로토콜의 탐색 구성요소는 FE(506)가 이를 관리할 수 있는 CE(502)를 발견할 수 있게 한다. 이 CE(502)는 상기 FE(506)를 위한 관리-CE라 한다. 상기 탐색 구성요소가 구성 프로세스 동안 빠른 수렴을 제공하기 위해, CE(502) 정보는 네트워크 모두에 걸쳐 분배되며, FE들(506)이 네트워크 관리자에 의해 사전-구성되거나 분배된 클러스터링 알고리즘들을 사용하여 얻어진 결합들을 사용하여 최상의 CE(502)에 동적으로 결합할 수 있게 한다.
소스-라우팅된 라우팅 계층은 탐색 프로세스에 도움을 준다. 부팅 시, 각각의 FE(506)는 사전-탐색 라우팅을 수행하기 위해 상기 FEID와 함께 랜덤하게 선택된 임시의 IP 어드레스를 사용한다. 이 어드레스는 제어된 어드레스 공간, 예를 들면, 개인 서브넷 어드레스로부터 선택된다. 상기 CE들(502)은 사전-구성되어, 유효 IP 어드레스를 갖는다. 모든 메시지들은 상기 FE(506) 및 상기 CE(502)의 모든 인터페이스들상에서 방송된다.
FE들(506) 및 CE들(502)은 주기적인 방송들에 의해 그것들의 인접한 이웃들에게 그것들의 존재를 알림으로써 서로 발견한다. 그러므로, 각각의 노드(FE/CE)는 로컬 테이블에서 이웃들의 리스트를 유지한다. FE들(506)은 또한 네트워크에서 상기 CE들(502)에 대한 최신 정보를 수집하기 위해 모든 이웃들로부터 CE(502) 정보를 주기적으로 청구한다. 응답하여, 인접한 FE들/CE들은 그것들에게 알려진 CE들(502)의 리스트로 응답한다. 이 리스트에서 각각의 CE(502)는 또한 인접한 FE/CE로부터 상기 CE(502)로 알려진 소스-루트와 연관된다. 각각의 엔트리를 생존시간 파라미터(time-to-live parameter)와 연관시킴으로써, CE(502) 정보가 상기 CE(502)에 도달하도록 최상의 경로로 주기적으로 재생되는 것이 보장된다. 각각의 노드는 최단 홉-카운트를 갖는 소스-루트를 사용하여 CE(502)에 접촉한다. 상기 탐색 프로세스는 상기 대표적인 소프트라우터 아키텍처에 따라 설계된 네트워크에서 항상 동작한다.
각각의 FE(506)는 계획 동안에 네트워크 관리자에 의해 하나의 주요-CE 및 적어도 하나의 백업-CE를 할당받는다. 이 정보는 상기 CE들(502)에서 그리고 선택적으로 상기 FE들(506)에서 구성된다. 일반적으로, 이러한 할당은 상기 CE(502)상에서의 로드, CE(502) 및 FE(506) 간의 거리, 및 그들 간의 링크들의 신뢰성과 같은 인자들을 고려함으로써 선험적이다. 따라서, CE(502)가 FE(506)에 의해 접촉될 때, 상기 CE(502)는 이 정보가 가용하면 상기 FE(506)가 그 주요-CE 및 백업-CE의 ID를 알거나, 이를 관리할 수 있으면 상기 FE(506)를 수용한다. 수용되지 않으면, 상기 FE(506)는 그 주요-CE 또는 백업-CE를 접촉시킨다.
상기 연관 프로세스는 FE(506) 및 그것의 주요-CE와 백업-CE 간의 액티브 연관성을 수립하고 유지하려고 한다. 상기 관리-CE는 다른 CE들(502)에 항상 바람직한 주요-CE와 액티브하게 연관된 CE들(502)의 리스트로부터 상기 FE(506)에 의해 선택된다.
상기 동적인 결합 프로토콜은 연관 실패들을 검출하고 수리하는 메커니즘들을 갖는다. 일단 연관이 상기 FE(506) 및 CE(502) 간에 이뤄지면, 상기 연관의 라이브니스(liveness)는 상기 FE(506)에 의해 개시된 하트비트 메시지들을 통해 주기적으로 검사된다. 하트비트 메시지들이 상기 CE(502)로부터 임의의 응답들을 도출하지 않을 때, 상기 CE(502)에의 경로가 더 이상 유효하지 않거나 상기 CE(502) 노드가 더 이상 동작하지 않는다는 것을 의미한다. CE(502)는 변화를 수용하는 상기 FE(506)로부터의 응답확인 없이 CE(502)로부터 분리될 수 없다. 이는 또한 관리-CE의 변화를 바라는 FE(506)에 대해 사실이다.
상기 대표적인 소프트라우터 아키텍처의 실시예들에 대한 프로토콜 장애 극복의 대표적인 방법이 있다. 이러한 프로토콜 장애 극복은 신뢰성 있는 메시지 전달에 기초한다. 이러한 프로토콜 장애 극복의 대표적인 방법에서, 각각의 프로토콜에 대한 CE들(502)의 리스트가 있다. 이 리스트는 프로토콜 기반으로 유지된다. 프로토콜들의 몇몇 예시들은 OSPF, IS-IS, 개선된 내부 게이트웨이 라우팅 프로토콜(EIGRP), 라우팅 정보 프로토콜(RIP), 및 다른 라우팅 프로토콜들을 포함한다. 다른 실시예들에서, 상기 리스트들은 프로토콜들에 걸쳐 동일하다. 단 하나의 CE가 언제라도 상기 FE(506)를 액티브하게 관리한다. 이러한 CE는 액티브-프로토콜-CE, 예를 들면, 액티브-OSPF-CE라 한다. 다른 CE들(502)은 백업-프로토콜-CE들이라 한다. 모든 프로토콜-CE들은 FE(506) 대신에 프로토콜 인스턴스를 가동시킨다. 상기 FE(506)는 인입하는 프로토콜 메시지들을 모든 CE들(502)에 신뢰성 있게 전송한다. 주기적인 검사점들은 상기 액티브-프로토콜-CE에 의해 발생된다. 검사점들은 상기 FE(506)에 의해 모든 백업-CE들에 신뢰성 있게 전파된다. 검사점들은 실패로부터의 복구 시 프로토콜 상태를 갱신하는데 유용하다. 프로토콜-CE 복구 시, 동기화는 상기 액티브-프로토콜-CE에 의해 수행된다. 프로토콜 실패는 상기 FE(506)에 의해 개시된다.
도 7은 임의의 FE(506), FE n(700)에 대한 액티브-프로토콜-CE들과 백업-CE들의 대표적인 리스트들을 도시한다. 하나의 프로토콜, 프로토콜 i(702)에 대해, FE n(700)은 액티브-프로토콜-CE들(704)의 리스트 및 백업-CE들(706)의 리스트를 갖는다. 또 다른 프로토콜, 프로토콜 j(708)에 대해, FE n(700)은 또한 액티브-프로토콜-CE들(709)의 리스트 및 백업-CE들(710)의 리스트를 갖는다. FE n(700)은 또한 다른 프로토콜들에 대한 리스트들을 가질 수 있다. 일반적으로, 액티브-프로토콜-CE들(704) 및 백업-CE들(706, 710)의 리스트들은 프로토콜 기반으로 유지된다. 각각의 FE(506)는 구성될 때 1차-CE 및 2차-CE의 리스트를 할당받는다. 임의의 특정 시간에서 상기 FE(506)를 관리하는 상기 CE(502)는 상기 액티브-프로토콜-CE라 한다. 1차-CE들과 2차-CE들의 세트에서 모든 다른 동작 CE들(502)은 백업-CE들이라 한다.
도 8은 세트들의 대표적인 계층구성을 도시한다. 관리-세트(800)는 네트워크에서 모든 CE들(502)의 세트이다. 상기 관리-세트(800)는 또한 각각의 특정 프로토콜에 대한 어드민-세트(admin-set)(802)를 포함한다. 상기 어드민-세트(802)는 특정 프로토콜에 대해 액티브-프로토콜-CE들 세트(804) 및 백업-CE들 세트(806)를 포함한다. 상기 관리-세트(800)는 1차-CE(804)(하나의 세트) 및 특정 FE(506)에 대한 2차-CE들(806)의 세트를 포함한다. 상기 프로토콜-특정 액티브-프로토콜-CE 및 백업-CE들의 세트는 특정 FE(506)에 대한 주어진 프로토콜의 어드민-세트(802)라 하고 상기 어드민-세트(802)는 상기 관리-세트(800)의 서브세트이다. 상기 어드민-세트(802)는 프로토콜-특정 및 구성 가능하다. 예를 들면, OSPF는 특정 FE(506)에서 BGP와 다른 어드민 세트(802)를 가질 수 있다. 탐색 프로토콜은 상기 관리-세트(800)에서 FE(506) 및 모든 CE들(502) 간의 하트비트을 수립하려고 한다. 하트비트이 존재하고 특정 프로토콜 메시지들이 CE(502)에 의해 응답확인되면, 그 CE(502)는 상기 프로토콜에 대한 상기 어드민-세트(802)로 이동한다.
프로토콜 장애 극복의 이러한 예시적인 방법에서, 탐색 프로토콜은 FE(506) 및 모든 프로토콜-CE들 간의 기본 하트비트을 수립한다. 상기 하트비트 존재는, FE(506) 및 CE(502) 간의 유효 통신 경로가 있다는 것을 내포한다. 하트비트 실패는 통신 경로의 실패가 있다는 것을 내포한다. 프로토콜 실패의 예시적인 방법은 스트림 기반(예를 들면, BGP) 보다는 메시지 기반(예를 들면, OSPF, IS-IS, RIP, EIGRP)으로 동작하는 프로토콜들에 적용한다. 다른 실시예들은 스트림 기반으로 동작하는 프로토콜들을 취급하도록 적응될 수 있다. 그것의 피어들(peers)로부터 FE(506)에 의도된 모든 라우팅 프로토콜 메시지들은 상기 프로토콜-CE들에 대해 FE(506)를 경험한다. 상기 프로토콜-CE들에 대한 다른 루트들은, 목적 어드레스가 상기 FE(506)의 어드레스이므로 사용되지 않는다. 상기 라우팅 테이블 관리자(RTM) 프로세스는 상기 프로토콜 프로세스와 유사하다. 상기 RTM 프로세스는 상기 FE(506)에 대한 FIB들을 갱신한다. 상기 RTM 프로세스로의 입력들은 다양한 프로토콜 프로세스들, 예를 들면, ISPF, BGP로부터의 라우팅 테이블 엔트리(RTE) 출력들이다. FE(506)에서 프로토콜-CE들 및 그 반대의 모든 메시지들은 메시지들의 순서를 위해 시퀀스 번호들을 운반한다.
프로토콜 장애 극복의 예시적인 방법에서, FE(506)에서의 3가지 유형들의 메시지들, 즉, 인입 라우팅 프로토콜 메시지들, 인출 라우팅 프로토콜 메시지들, 및 유지 메시지들이 있다. 인입 라우팅 프로토콜 메시지들은 다른 FE들(506) 대신 다른 FE들(506)로부터 또는 CE들(502)로부터 기인한다. 인출 라우팅 프로토콜 메시지들은 액티브-프로토콜-CE에서 다른 FE들(506)로 이루어진다. 유지 메시지들은 하트비트, 장애 극복들, 검사점들, 및 재 동기(re-sync)를 포함한다. 인입 라우팅 프로토콜 메시지들은 상기 FE(506)에 의해 모든 프로토콜-CE들에 전송된다. 메시지들은, 예를 들면, 스트림 제어 전송 프로토콜(SCTP) 또는 전송 제어 프로토콜(TCP)을 사용하여 신뢰성 있게 전송된다. 각각의 라우팅 메시지는 상기 FE(506)에 의해 주어진 메시지 번호를 갖는다. 메시지들은 모든 프로토콜-CE들에 의해 응답확인된다. 하트비트 메시지는 FE(506) 및 CE들(502) 간의 모든 통신상에 피기백되고, 상기 액티브-프로토콜-CEID를 포함한다. 하트비트들은 프로토콜-특정이다. 이는 탐색 프로토콜 하트비트과는 다르며, 일반 CE(502) 노드 실패를 검출하는데 사용된다.
도 9는 장애 극복에 대한 예시적인 프로토콜 오버레이를 도시한다. 프로토콜 장애 극복의 예시적인 방법은 장애 극복을 인에이블하기 위한 장애 극복을 위한 끊김없는 프로토콜 오버레이(S-PROF: seamless protocol overay for failover)라 하는 프로토콜 오버레이를 포함한다. 모든 CE들(502)은 탐색 프로토콜/IP 프로세스(908) 뿐만 아니라 라우팅 프로토콜 프로세스(904)와 S-PROF 프로세스(906)를 가동시킨다. 이는 액티브-프로토콜-CE(900) 및 백업-프로토콜-CE들(902)을 포함한다. 상기 S-PROF 프로세스(906)는 신뢰성 및 장애 극복 유지 쟁점들을 취급한다. 라우팅 프로토콜 프로세스들(904)은 장애 극복/S-PROF 프로세스에 대해 불가지론적(agnostic)이다. 모든 CE들(502)은 매 인입 프로토콜 메시지의 사본을 수신한다. FE(506)는 그것들을 멀티캐스팅하거나 복사-및-유니캐스트 접근법을 채택할 수 있다. 모든 라우팅 프로토콜 메시지들은 응답확인된다(SCTP/TCP). 인입 라우팅 프로토콜 메시지들은 상기 S-PROF 오버레이 프로세스에 의해 저장된다. S-PROF 헤더는 인입 및 인출 라우팅 메시지들 모두를 포함하는 모든 라우팅 메시지들을 캡슐화한다. S-PROF는, 상기 CE(502)가 액티브-프로토콜-CE(900)일 때 인출(CE(502)로부터) 라우팅 프로토콜 메시지들을 캡슐화한다. 백업-프로토콜-CE(902)로부터의 인출 메시지들은 상기 S-PROF 프로세스(906)에서 드롭되고 빈 S-PROF 패킷은 상기 FE(506)로 전송된다. 상기 FE(506)에서 상기 S-PROF 프로세스는 상기 액티브-프로토콜-CE(900)로부터만 라우팅 프로토콜 메시지들을 수신한다. 프로토콜 하트비트은 매 S-PROF 메시지의 일부이다.
FE(506)에서 CE(502)로 전송되는 S-PROF 메시지들에 대한 예시적인 메시지 포맷은 다음의 필드들, 즉, 소스 FEID, 목적지 CEID, 라우팅 프로토콜 식별자, (상기 SCTP 접속으로부터) 상기 메시지의 S-PROF 시퀀스 번호, 검사점 메시지 식별자, 액티브-프로토콜-CE의 CEID 및 만약에 있다면, 포함된 프로토콜 메시지를 포함한다.
CE(502)에서 FE(506)로 전송된 S-PROF 메시지들에 대한 예시적인 메시지 포맷은 다음의 필드들, 즉, 소스 CEID, 목적지 FEID, 라우팅 프로토콜 식별자, 응답확인되는 프로토콜 메시지의 S-PROF 시퀀스 번호, 검사점 메시지 식별자, CE(502) 상태 식별자(예를 들면, 액티브, 백업, 재-동기), 프로토콜-메시지(만약에 있다면, 그리고 상기 소스 CE(502)가 상기 액티브-프로토콜-CE인 경우에만) 및 포워딩 플래그들을 포함한다. 포워딩 플래그들은 출력 라우팅-프로토콜 메시지가 누구에게 포워딩되어야 하는지를 나타낸다. 메시지들 사이를 구별하는 것은 다른 라우팅 피어들, 다른 프로토콜-CE들, 및 다른 프로토콜-프로세스들(예를 들면, RTM 프로세스)에 전송된다.
이 예시적인 장애 극복 프로세스에서, 상기 라우팅 프로토콜로의 입력들은 라우팅 메시지들이다. 하나의 프로토콜-CE에서 수동 재구성 변경들은 다른 프로토콜-CE들에 전달된다. 상기 액티브-프로토콜-CE는 FE(506)를 갱신한 다음, 나머지들을 갱신한다. 입력들이 모든 프로토콜-CE들에 걸쳐 일치하는 것을 보장하기 위해 신뢰성 있는 전송이 있다. 재전송들은 S-PROF 시퀀스 번호에 기초하여 FE(506)에 의해 개시된다. 재전송이 미리 결정된 수의 재시도들 이후에 프로토콜-CE에 의해 응답확인되지 않으면, 상기 CE(502)는 상기 백업-CE 리스트로부터 드롭된다. 라우팅-프로토콜 프로세스 실패는 검출 가능하다. S-PROF 메시지는, 상기 라우팅-프로토콜 프로세스로부터 출력 메시지가 있을 때만 CE(502)에 의해 전송된다. 상기 백업-프로토콜-CE로부터의 S-PROF 메시지들은 비어 있다. S-PROF 메시지들의 부재는, 상기 CE(502)에 대한 상기 라우팅-프로토콜 프로세스가 실패했다는 것을 나타낸다.
FE(506)는 장애 극복을 개시한다. 다음의 3가지 경우들, 즉, (1) 상기 액티브-프로토콜-CE가 중단되는 것, (2) 상기 액티브-프로토콜-CE 및 상기 FE(506) 간의 모든 통신 경로들이 중단되는 것, (3) 상기 액티브-프로토콜-CE에 대한 프로토콜 프로세스가 실패하는 것을 포함하는 많은 실패 가능성들이 있다. 첫 번째 2가지 경우들은 프로토콜(예를 들면, BLDP)에 의해 식별되고 세 번째 경우는 상기 CE(502)로부터 S-PROF 메시지들을 놓침으로써 식별된다. 이 모든 3가지 경우들에서, 상기 FE(506)는 상기 백업들 중 하나로 스위칭한다. 상기 FE(506)는 백업-프로토콜-CE를 선택하고 이를 액티브 상태로 변경한다. S-PROF 메시지들에서 상기 액티브-프로토콜-CEID에 의해 모든 프로토콜-CE들에 통보가 제공된다. 상기 백업-프로토콜-CE에서 S-PROF 프로세스는 그 변경을 알고 이를 버리지 않고 라우팅 프로토콜 프로세스로부터의 메시지들을 캡슐화하기 시작한다. 전자의 액티브-프로토콜-CE는, 상기 프로토콜 프로세스가 다시 한번 응답하기 시작할 때 상기 변화를 안다. 상기 백업-프로토콜-CE가 중간에 임의의 메시지들을 전송하더라도, 상기 FE(506)는 상기 백업-프로토콜-CE로부터의 모든 라우팅 프로토콜 메시지들을 무시한다.
액티브-프로토콜-CE가 실패할 때, 상기 백업-프로토콜-CE는 상기 액티브-프로토콜-CE로서 인수받는다. 모든 CE들(502)은 상기 FE(506)로부터 다음의 메시지 수신 시 바로 변경들을 인식한다. 실패 시, 상기 복구 프로세스는 다음과 같이 진행한다. 상기 CE(502) 노드 또는 CE 프로세스는 (상기 S-PROF 프로세스와 함께) 실패로부터 복구한다. 실패로부터 다음 프로토콜 메시지 수신 시, 상기 백업-프로토콜-CE는 현재의 액티브-프로토콜-CE 및 최근의 검사점을 인식한다. 메시지들이 S-PROF에 의해 비휘발성 메모리에 저장되므로, 일부 메시지들은 복구 가능하다. 알려지지 않은 메시지들(S-PROF 시퀀스 번호들에 기초함)은 FE(506) 및 CE(502) 간의 신뢰성 있는 접속에 의해 그리고 현재의 액티브-프로토콜-CE의 도움으로 복구된다. 재-동기 메시지들은 설계 선택에 따라 상기 액티브-프로토콜-CE 또는 상기 FE(506)로부터 기원한다. 상기 CE(502)가 동기화될 때까지, 상기 CE(502)는 재-동기 상태에 있다. 동기화 이후에, 상기 CE(502)는 백업 상태로 스위칭한다.
프로토콜 장애 극복의 예시적인 방법에서, 검사점은 특정 S-PROF 메시지 번호이다. 상기 검사점 미만의 모든 S-PROF 메시지 번호들은 무관하다. 상기 프로토콜-CE는 FE(506) 검사점 단위를 유지한다. 모든 프로토콜-CE들은 최종 검사점 보다 새로운 그들의 S-PROF 메시지들에 대해 동기화된다. 상기 액티브-프로토콜-CE는 검사점을 설정하고 이를 모든 CE들(502)에 전달한다. 이는 초기화 동안에 구성되는 절차에 의해 결정될 프로토콜-특정 검사점이다. 상기 FE(506)는, 여전히 일반적인 서비스이도록 프로토콜의 세부사항들에 대해 알 필요는 없다. 검사점 정보 및 상기 액티브-프로토콜-CEID는 상기 백업-프로토콜-CE들에 전송된 모든 프로토콜 메시지들에 포함된다. 상기 백업-프로토콜-CE는, 실패 복구/재 부팅 시 최종 검사점 이후에 모든 놓친 메시지들에 대해 상기 액티브-프로토콜-CE로부터 재전송을 요청한다. 상기 액티브-프로토콜-CE와 상기 백업-CE 간의 모든 통신은 상기 FE(506)를 거친다. 일부 실시예들에서, 상기 FE(506)는, 비휘발성 저장이 가용한 경우, 재 동기에 대한 메시지들을 저장한다. 예를 들면, OSPF는 매 30분 마다 전송되는 요약-LSA들을 갖고 새로운 검사점은 매 60분 마다 수립될 수 있어, 백업 동기화 오버헤드를 감소시킨다.
프로토콜 장애 극복의 예시적인 방법은 몇몇 일치성 쟁점들, 즉, CE(502) 노드들/프로세스들이 실패하고 빠르게 복구하는 것(스래싱(thrashing)), 상이한 메시지들이 상기 백업-프로토콜-CE 리스트에서 상이한 CE들(502)에 대해 손실되는 것, 및 고부하 하의 성능을 처리한다. 스래싱을 처리하기 위해, 이 예시적인 방법은 바람직한 CE(502)로 다시 스위칭하기 전에 충분한 간격을 유지한다. 또한, 신뢰성 있는 전송 프로토콜(예를 들면, STCP/TCP)은 재-동기를 보장하는데 사용되고, CE들(502)에서 비휘발성 저장은 보다 빠른 재-동기화를 위해 사용되고, 검사점들은 큰 재-동기 부하들을 회피하는데 도움을 준다. 메시지 손실들을 처리하기 위해, 신뢰성 있는 전송이 사용된다. 일부 CE들(502)에 대한 심한 손실들이 있다면, 이 예시적인 방법은 불일치를 피하기 위해 재-동기 상태로 스위칭한다. 상기 백업 리스트로부터의 제거는 또한 나중의 스테이지에서 재-동기를 보장한다. 오버로드를 처리하기 위해, 상기 백업-리스트에서 모든 CE들(502)은 상기 FE(506)에 대한 프로토콜 인스턴스들을 가동시킨다. 성능 저하는 심한 부하 하에서 가능하고 그것들의 CE들(502)에 대한 백업 프로세스들에 낮은 우선권을 할당함으로써 이전된다.
S-PROF는 일반적인 서비스로서 구현될 수 있다. 프로토콜-특정 인스턴스화들은 필요에 따라 행해질 수 있다. 타이머들은 각각의 프로토콜에 따라 설정될 수 있고 포워딩 플래그들의 동작은 가변일 수 있다. S-PROF는 상기 RTM 프로세스와 상호작용한다. 상기 RTM 프로세스는 또한 실패할 수 있어, 신뢰성 있는 상시 대기 방식(hot standby)를 요구한다. 상기 RTM 프로세스가 상기 라우팅 프로토콜 프로세스와 함께 존재할 때, 상기 FE(506)는 CE(502)에서 상기 S-PROF 프로세스를 통지한다. 다른 경우에, 상기 액티브-프로토콜-CE에서 S-PROF는 상기 FE(506)에게 RTM 갱신을 적절하게 포워딩할 것을 통지하는 포워딩 플래그들을 설정한다.
도 10은 하트비트이 우선 존재하고, 검사점들이 발생되고, 상기 하트비트이 실패하고, 상기 백업-프로토콜-CE가 새로운 액티브-프로토콜-CE가 되고, 상기 실패한 액티브-프로토콜-CE가 새로운 백업-CE가 되기 위해 상기 새로운 액티브-프로토콜-CE를 재부팅하고 이와 동기하는 예시적인 장애 극복 시나리오를 도시한 시퀀스 다이어그램이다.
FE-개시된 장애 극복에 대한 예시적인 방법이 있다. FE(506)는 프로토콜 하트비트(또는 존재한다면, 임의의 메시지들)을 액티브-프로토콜-CE와 주기적으로 교환한다. 3가지 실패 가능성들, 즉, 상기 액티브-CE가 중단되고, 액티브-프로토콜-CE와 상기 FE(506) 간의 모든 통신 경로들이 중단되거나, 또는 액티브-프로토콜-CE에 대한 프로토콜 프로세스가 실패하는 경우가 있다. 상기 CE(502)로부터 응답이 없다면(예를 들면, 임의의 응답확인들 또는 메시지들), 상기 FE(506)는 어드민-세트로부터 액티브-프로토콜-CE를 제거하고 상기 어드민-세트에서 상기 백업-CE들 중 하나에 대한 장애 극복을 개시한다. 상기 백업-프로토콜-CE는 준비 상태임을 나타내는 FE(506)에 응답한다. 상기 FE(506)는 장애 극복을 백업-프로토콜-CE에 시그널링하는 모든 프로토콜-CE들에 메시지를 전송한다. 상기 백업-프로토콜-CE는 현재 액티브-프로토콜-CE라는 확인으로 응답한다.
CE(502)에서 장애 극복에 대한 예시적인 방법이 있다. 백업-프로토콜-CE는 실패 시 액티브-프로토콜-CE로서 인수된다. 새로운 액티브-프로토콜-CE가 최종 알려진 검사점으로부터 모든 프로토콜 메시지들을 갖고 순서대로 프로토콜 메시지들을 처리하는 경우, 상기 새로운 액티브-프로토콜-CE는 현재의 프로토콜 상태에 신속하게 도달한다. 새로운 액티브-프로토콜-CE에서 상기 S-PROF 프로세스는 그것들을 드롭하는 대신에 상기 FE(506)에 대한 메시지들을 캡슐화하기 시작한다. 이러한 현재의 상태는 최신 정보를를 상기 라우팅 테이블 관리자에게 제공하기 위해 사용된다.
도 11은 컴퓨터를 도시한 하이 레벨 블록도이다. 상기 컴퓨터(1100)는 본 발명의 실시예들을 구현하는데 사용될 수 있다. 상기 컴퓨터(1100)는 다양한 프로그램들(1144)과 데이터(1146)를 저장하기 위한 메모리(1140) 뿐만 아니라 프로세서(1130)를 포함한다. 상기 메모리(1140)는 또한 상기 프로그램들(1144)을 지원하는 운영 체제(1142)를 저장할 수 있다.
상기 프로세서(1130)는 상기 메모리(1140)에 저장된 소프트웨어 루틴들을 실행하는데 보조하는 회로들뿐만 아니라 전원들, 클록 회로들, 캐시 메모리 등과 같은 종래의 지원 회로와 함께 동작한다. 이와 같이, 소프트웨어 방법들로 여기에 논의된 단계들 중 일부는 하드웨어 내에, 예를 들면, 다양한 방법 단계들을 수행하기 위해 상기 프로세서(1130)와 함께 동작하는 회로로서 구현될 수 있다는 것이 고려된다. 상기 컴퓨터(1100)는 또한 상기 컴퓨터(1100)와 통신하는 다양한 기능 요소들 간의 인터페이스를 형성하는 입력/출력(I/O) 회로를 포함한다.
상기 컴퓨터(1100)가 본 발명에 따라 다양한 기능들을 수행하도록 프로그램된 범용 컴퓨터로서 도시되어 있지만, 본 발명은, 예를 들면, 애플리케이션 특정 집적 회로(ASIC) 또는 필드 프로그램가능한 게이트 어레이(FPGA)로서 하드웨어에서 구현될 수 있다. 이와 같이, 여기에 기재된 프로세스 단계들은 소프트웨어, 하드웨어, 또는 그 조합에 의해 등가로 수행되는 것으로서 광범위하게 해석되도록 의도된다.
본 발명은, 컴퓨터에 의해 처리될 때 컴퓨터 명령들은 본 발명의 방법들 및/또는 기술들이 실시되거나 그렇지 않은 경우 제공되도록 상기 컴퓨터의 동작을 적응시키는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 본 방법들을 실시하기 위한 명령들은 고정되거나 착탈 가능한 매체에 저장되며, 방송 매체 또는 다른 신호 베어링 매체에서의 데이터 스트림을 거쳐 전송 및/또는 상기 명령들에 따라 동작하는 컴퓨팅 디바이스 내 작업 메모리 내에 저장될 수 있다.
상기가 본 발명의 다양한 실시예들에 관한 것이지만, 본 발명의 다른 것 및 추가 실시예들은 그 기본 범위를 벗어나지 않고 고안될 수 있다. 이와 같이, 본 발명의 적절한 범위는 다음과 같은 청구항들에 따라 결정된다.
일반적인 IP 네트워크들은 비교적 자율적으로 동작하는 라우터들을 사용하여 구성된다. 잠재적으로 관리 불가능한 복잡성은 네트워크 전체를 통해 많은 지점들에서 존재한다. 이는 많은 원치않는 결과들을 갖는다. 우선, 복수의 제어 지점들은 동작상 복잡성(예를 들면, 잘못된 구성)을 크게 증가시킨다. 두 번째로, 특정 환경들에서, 이들 자율적인 라우터들의 조정되지 않은 동작들은 최상으로 서브 최적 성능(예를 들면, 열악한 복구 시간)과 최악의 경우에서 네트워크 불안정을 초래한다. 마지막으로, 새로운 특징들의 도입은 복잡하고 에러-경향인 복수의 라우터들에 대한 업그레이드를 요구할 수 있다.
일반적인 라우터 아키텍처들은 집적된 제어 및 포워딩을 갖는다. 제어 평면 기능들을 구현하는 상기 제어 프로세서들은 포워딩 기능들을 구현하고 종종 동일한 라우터 백 평면을 공유하는 라인 카드들과 함께 배치된다. 제어 프로세서들은 제어 기능들을 상기 함께 배치된 라인 카드들에만 제공하고, 반대로 마찬가지로 동작하여, 상기 함께-배치된 제어기(들)가 있을 때 상기 라인 카드들이 관리될 수 없는 시나리오를 도출한다.
이들 단점들은 다양한 실시예들을 포함하는 대표적인 소프트라우터 아키텍처에 대한 프로토콜 장애 극복의 본 발명에 의해 해결된다.

Claims (10)

  1. 프로토콜 장애 극복들(failovers)을 수행하는 방법에 있어서,
    포워딩 요소(FE:forwarding element)에서, 특정 프로토콜을 위한 프로토콜 오버레이 프로세스와 라우팅 테이블 관리자(RTM: routing table manager) 프로세스를 제공하는 단계로서, 상기 FE는 해체되는, 상기 제공 단계;
    상기 FE에 의해, 액티브-프로토콜-제어 요소(CE)로부터 라우팅 프로토콜 메시지들을 수신하고, 이에 응답하여, 상기 라우팅 프로토콜 메시지들을 모든 프로토콜-CE들에 전파하는 단계로서, 하트 비트(heartbeat) 메시지들이 상기 수신된 라우팅 프로토콜 메시지들상에 피기백(piggyback)되고, 상기 액티브-프로토콜-CE는 상기 FE의 복잡성을 집중시키고 공유하는, 상기 수신 및 전파 단계;
    상기 FE에 의해, 전송 메시지들에 응답하여 상기 액티브-프로토콜-CE로부터 응답확인들을 수신하는 단계; 및
    상기 FE에 의해, 상기 액티브-프로토콜-CE의 실패 시, 백업-프로토콜-CE에 대한 장애 극복을 개시하는 단계를 포함하는, 프로토콜 장애 극복 방법.
  2. 제 1 항에 있어서,
    상기 라우팅 프로토콜 메시지들은 상기 프로토콜 오버레이 프로세스와 연관된 시퀀스 번호를 포함하고 상기 응답확인들은 상기 시퀀스 번호를 포함하는, 프로토콜 장애 극복 방법.
  3. 프로토콜 장애 극복들을 수행하는 방법에 있어서,
    특정 프로토콜에 대한 복수의 CE들에서 각각의 제어 요소(CE)에 의해 프로토콜 오버레이 프로세스를 작동시키는 단계로서, 상기 CE들은 액티브-프로토콜-CE 및 백업-프로토콜-CE를 포함하는, 상기 프로토콜 오버레이 프로세스를 작동시키는 단계;
    상기 액티브-프로토콜-CE에 의해, 상기 액티브-프로토콜-CE에 의해 제어되는 포워딩 요소(FE) 대신에 프로토콜 프로세스를 작동시키는 단계;
    상기 액티브-프로토콜-CE에 의해, 검사점들을 주기적으로 전송하는 단계로서, 상기 검사점들은 상기 FE에 의해 상기 백업-프로토콜-CE에 전파되고, 상기 검사점은 실패로부터 복구 시 프로토콜 상태를 갱신하는, 상기 전송 단계; 및
    상기 백업-프로토콜-CE에 의해, 상기 FE에 의해 개시된 프로토콜 장애 극복에 참여시키는 단계를 포함하는, 프로토콜 장애 극복 방법.
  4. 제 3 항에 있어서,
    상기 프로토콜 오버레이 프로세스에 의해, 인출 라우팅 프로토콜 메시지들이 상기 액티브-프로토콜-CE에서 상기 FE로 이동할 때, 헤더를 갖는 상기 인출 라우팅 프로토콜 메시지들을 캡슐화하는 단계;
    상기 프로토콜 오버레이 프로세스에 의해, 상기 FE가 상기 액티브-프로토콜-CE로부터만 라우팅 프로토콜 메시지들을 수신하도록 상기 백업-프로토콜-CE로부터 상기 포워딩 요소(FE)로 인출 라우팅 프로토콜 메시지들을 드롭시키는 단계; 및
    상기 프로토콜 오버레이 프로세스에 의해, 각각의 메시지에 하트비트을 포함하는 단계를 더 포함하는, 프로토콜 장애 극복 방법.
  5. 제 3 항에 있어서,
    각각의 CE에 의해, 각각의 인입 프로토콜 메시지의 사본을 수신하는 단계;
    각각의 CE에 의해, 각각의 인입 프로토콜 메시지를 응답확인하는 단계; 및
    각각의 CE에 의해, 각각의 라우팅 프로토콜 메시지를 수신 및 저장하는 단계를 더 포함하는, 프로토콜 장애 극복 방법.
  6. 제 3 항에 있어서,
    상기 액티브-프로토콜-CE에 의해, 실패로부터 복구 시 동기화를 개시하는 단계를 더 포함하는, 프로토콜 장애 극복 방법.
  7. 제 3 항에 있어서,
    상기 백업-프로토콜-CE에 의해, 비휘발성 메모리에서 상기 프로토콜 오버레이 프로세스에 의해 저장된 메시지들을 복구하는 단계를 더 포함하는, 프로토콜 장애 극복 방법.
  8. 제 3 항에 있어서,
    상기 백업-프로토콜-CE에 의해, 상기 액티브-프로토콜-CE로부터 최종 검사점 이후에 메시지들의 재전송을 요청하는 단계를 더 포함하는, 프로토콜 장애 극복 방법.
  9. 프로토콜 장애 극복들을 수행하는 방법에 있어서,
    포워딩 요소(FE)에 의해, 인입 및 인출 프로토콜 메시지들을 모든 제어 요소들(CEs)에 전송하는 단계로서, 상기 FE는 데이터 평면에서 복수의 FE들 중 하나이며, 상기 CE들은 상기 데이터 평면으로부터 물리적이고 논리적으로 분리된 제어 평면에 있고, 상기 CE들과 상기 FE들은 표준 프로토콜을 통하여 통신하고 각각의 FE는 상기 CE들 중 하나에 동적으로 결합되며, 상기 FE는 해체되고 상기 CE는 상기 FE의 복잡성을 집중시키고 공유하는, 상기 전송 단계;
    최근 검사점보다 새로운 메시지들에 대해 액티브-프로토콜-CE와 백업-프로토콜-CE들을 동기화시키는 단계;
    상기 FE에 의해, 상기 액티브-프로토콜-CE로부터 상기 백업-프로토콜-CE들 중 하나로 프로토콜 장애 극복을 개시하는 단계; 및
    상기 백업-프로토콜-CE들 중 하나에 의해, 상기 백업-프로토콜-CE들 중 하나가 지금 상기 액티브-프로토콜-CE인 것을 확인하는 단계를 포함하는, 프로토콜 장애 극복 방법.
  10. 네트워크 아키텍처에 있어서,
    패킷 포워딩을 위한 복수의 포워딩 요소들(FEs)을 포함하는 데이터 평면;
    상기 데이터 평면으로부터 물리적이고 논리적으로 분리되고, 라우팅 정보를 구성하고, 제어하고, 프로토콜을 통하여 상기 FE들에 제공하기 위한 적어도 하나의 제어 요소들(CEs)을 포함하는 제어 평면;
    상기 FE들과 상기 CE들을 결합시키기 위한 동적 결합 프로토콜로서, 상기 FE는 해체되고 상기 CE는 상기 FE의 복잡성을 집중시키고 공유하는 동적 결합 프로토콜; 및
    각각의 라우팅 프로토콜에 대해 하나의 CE에서 다른 CE로 제어를 전송하기 위해 FE들에 의해 개시된 장애 극복들을 취급하기 위한 프로토콜 장애 극복 메커니즘을 포함하는, 네트워크 아키텍처.
KR1020050103949A 2004-11-01 2005-11-01 소프트라우터 프로토콜 장애 극복들 KR101260233B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US62388504P 2004-11-01 2004-11-01
US60/623,885 2004-11-01
US11/147,665 2005-06-08
US11/147,665 US9100266B2 (en) 2004-11-01 2005-06-08 SoftRouter protocol failovers

Publications (2)

Publication Number Publication Date
KR20060092982A KR20060092982A (ko) 2006-08-23
KR101260233B1 true KR101260233B1 (ko) 2013-05-06

Family

ID=35453426

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050103949A KR101260233B1 (ko) 2004-11-01 2005-11-01 소프트라우터 프로토콜 장애 극복들

Country Status (6)

Country Link
US (1) US9100266B2 (ko)
EP (1) EP1653689B1 (ko)
JP (1) JP4711411B2 (ko)
KR (1) KR101260233B1 (ko)
CN (1) CN1819581B (ko)
DE (1) DE602005001601T2 (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2557678A1 (en) * 2005-09-08 2007-03-08 Jing Wu Recovery from control plane interruptions in communication networks
US20070064594A1 (en) * 2005-09-16 2007-03-22 Bellsouth Intellectual Property Corporation Providing multiple communication protocol failover and remote diagnostics via a customer premise apparatus
US8223687B2 (en) * 2005-11-23 2012-07-17 Cisco Technology, Inc. Method for providing home agent geographic redundancy via a service redundancy protocol
JP4869144B2 (ja) * 2007-04-27 2012-02-08 三菱電機株式会社 通信装置
CN101051885B (zh) * 2007-05-17 2010-06-02 中兴通讯股份有限公司 接入设备上联业务保护方法及装置
US7961711B2 (en) * 2007-08-06 2011-06-14 Microsoft Corporation Fitness based routing
US8238314B2 (en) * 2007-09-27 2012-08-07 Alcatel Lucent Method and apparatus for providing a distributed forwarding plane for a mobility home agent
EP2043306B1 (de) * 2007-09-28 2015-04-15 Unify GmbH & Co. KG Verfahren zur Organisation von Netzknoten in einem paketorientierten Netzwerk
JP4559497B2 (ja) * 2008-02-20 2010-10-06 日本電信電話株式会社 機能分散型パケット転送システムおよびその制御方法
US8825792B1 (en) 2008-03-11 2014-09-02 United Services Automobile Association (Usaa) Systems and methods for online brand continuity
JP5113684B2 (ja) * 2008-09-05 2013-01-09 株式会社日立製作所 アクセスゲートウェイ装置の制御方法及び通信システム
US9762537B1 (en) * 2008-10-14 2017-09-12 Juniper Networks, Inc. Secure path selection within computer networks
CN102144375B (zh) 2008-12-25 2014-10-22 株式会社日立制作所 通信系统及通信控制装置
US8798045B1 (en) 2008-12-29 2014-08-05 Juniper Networks, Inc. Control plane architecture for switch fabrics
US8918631B1 (en) 2009-03-31 2014-12-23 Juniper Networks, Inc. Methods and apparatus for dynamic automated configuration within a control plane of a switch fabric
US8694654B1 (en) * 2010-03-23 2014-04-08 Juniper Networks, Inc. Host side protocols for use with distributed control plane of a switch
US8718063B2 (en) 2010-07-26 2014-05-06 Juniper Networks, Inc. Methods and apparatus related to route selection within a network
US9282060B2 (en) 2010-12-15 2016-03-08 Juniper Networks, Inc. Methods and apparatus for dynamic resource management within a distributed control plane of a switch
US8560660B2 (en) 2010-12-15 2013-10-15 Juniper Networks, Inc. Methods and apparatus for managing next hop identifiers in a distributed switch fabric system
US10033585B2 (en) 2010-12-15 2018-07-24 Juniper Networks, Inc. Methods and apparatus related to a switch fabric system having a multi-hop distributed control plane and a single-hop data plane
US9106527B1 (en) 2010-12-22 2015-08-11 Juniper Networks, Inc. Hierarchical resource groups for providing segregated management access to a distributed switch
US9391796B1 (en) 2010-12-22 2016-07-12 Juniper Networks, Inc. Methods and apparatus for using border gateway protocol (BGP) for converged fibre channel (FC) control plane
EP2748972A1 (en) * 2011-11-29 2014-07-02 Telefonaktiebolaget L M Ericsson (publ) Recovery of split architecture control plane
US9565159B2 (en) 2011-12-21 2017-02-07 Juniper Networks, Inc. Methods and apparatus for a distributed fibre channel control plane
CN102752192B (zh) * 2012-04-27 2015-06-03 浙江工商大学 基于SCTP的ForCES传输映射层的带宽分配方法
US9237066B2 (en) 2012-11-16 2016-01-12 Dell Products, L.P. Packet switch modules for computer networks with efficient management of databases used in forwarding of network traffic
WO2014135212A1 (en) * 2013-03-07 2014-09-12 Telefonaktiebolaget L M Ericsson (Publ) A network element for a telecommunications network having decoupled control and data planes
CN106374996B (zh) * 2016-08-29 2019-01-11 北京邮电大学 一种光网络故障处理方法及装置
US10616347B1 (en) * 2016-10-20 2020-04-07 R&D Industries, Inc. Devices, systems and methods for internet and failover connectivity and monitoring
EP3609108B1 (en) * 2018-08-09 2021-04-28 Tata Consultancy Services Limited Method and system for message based communication and failure recovery for fpga middleware framework
US10671557B2 (en) 2018-09-25 2020-06-02 International Business Machines Corporation Dynamic component communication using general purpose links between respectively pooled together of like typed devices in disaggregated datacenters
US10637733B2 (en) 2018-09-25 2020-04-28 International Business Machines Corporation Dynamic grouping and repurposing of general purpose links in disaggregated datacenters
US11012423B2 (en) 2018-09-25 2021-05-18 International Business Machines Corporation Maximizing resource utilization through efficient component communication in disaggregated datacenters
US11182322B2 (en) 2018-09-25 2021-11-23 International Business Machines Corporation Efficient component communication through resource rewiring in disaggregated datacenters
US11650849B2 (en) 2018-09-25 2023-05-16 International Business Machines Corporation Efficient component communication through accelerator switching in disaggregated datacenters
US11163713B2 (en) 2018-09-25 2021-11-02 International Business Machines Corporation Efficient component communication through protocol switching in disaggregated datacenters
US10802988B2 (en) 2018-09-25 2020-10-13 International Business Machines Corporation Dynamic memory-based communication in disaggregated datacenters
US10915493B2 (en) 2018-09-25 2021-02-09 International Business Machines Corporation Component building blocks and optimized compositions thereof in disaggregated datacenters
US10831698B2 (en) 2018-09-25 2020-11-10 International Business Machines Corporation Maximizing high link bandwidth utilization through efficient component communication in disaggregated datacenters
US11089137B2 (en) * 2019-04-02 2021-08-10 International Business Machines Corporation Dynamic data transmission
US11272042B2 (en) * 2020-01-21 2022-03-08 Cisco Technology, Inc. Methods and systems to track protocol and hardware resource state transitions

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040083403A1 (en) 2002-10-28 2004-04-29 Khosravi Hormuzd M. Stateless redundancy in a network device

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US50136A (en) * 1865-09-26 Oliver s
US264384A (en) * 1882-09-12 August weenee
US190783A (en) * 1877-05-15 Improvement in loom-temples
US69975A (en) * 1867-10-22 Improvement in movable treadle for small lathes, sewing-machines
US6345315B1 (en) * 1997-08-13 2002-02-05 Sudhindra N. Mishra Method for platform and protocol independent communication between client-server pairs
CA2239032A1 (en) * 1998-05-28 1999-11-28 Newbridge Networks Corporation Operator directed routing of soft permanent virtual circuits in a connection-orientated network
JP2000253053A (ja) 1999-02-25 2000-09-14 Hitachi Ltd ネットワークシステム
US6633560B1 (en) * 1999-07-02 2003-10-14 Cisco Technology, Inc. Distribution of network services among multiple service managers without client involvement
US7111076B2 (en) 2000-04-13 2006-09-19 Intel Corporation System using transform template and XML document type definition for transforming message and its reply
US7190896B1 (en) 2000-05-04 2007-03-13 Nortel Networks Limited. Supervisory control plane over wavelength routed networks
US6996842B2 (en) * 2001-01-30 2006-02-07 Intel Corporation Processing internet protocol security traffic
US7599620B2 (en) 2001-06-01 2009-10-06 Nortel Networks Limited Communications network for a metropolitan area
US7257632B2 (en) 2001-07-30 2007-08-14 Fujitsu Limited Method and apparatus for a bandwidth broker in a packet network
US7069343B2 (en) 2001-09-06 2006-06-27 Avaya Technologycorp. Topology discovery by partitioning multiple discovery techniques
US7075904B1 (en) 2001-11-16 2006-07-11 Sprint Spectrum L.P. Method and system for multicasting messages to select mobile recipients
US7421478B1 (en) * 2002-03-07 2008-09-02 Cisco Technology, Inc. Method and apparatus for exchanging heartbeat messages and configuration information between nodes operating in a master-slave configuration
JP3914087B2 (ja) 2002-04-19 2007-05-16 富士通株式会社 シグナリング制御方法及びシグナリング対応通信装置及びネットワーク管理システム
US7194653B1 (en) * 2002-11-04 2007-03-20 Cisco Technology, Inc. Network router failover mechanism
US7286468B2 (en) * 2002-11-12 2007-10-23 Cisco Technology, Inc. Routing system and method for synchronizing a routing system with peers after failover
US7324439B2 (en) * 2002-11-13 2008-01-29 Telefonaktiebolaget Lm Ericsson (Publ) Application-transparent IP redundancy
US6912197B2 (en) * 2002-11-22 2005-06-28 Nokia Inc. System and method for implementing redundancy for multilink point to point protocol
US7646759B2 (en) * 2003-01-07 2010-01-12 Intel Corporation Apparatus and method for configuring data plane behavior on network forwarding elements
WO2004064310A2 (en) 2003-01-11 2004-07-29 Omnivergent Communications Corporation Cognitive network
US6946563B2 (en) 2003-06-16 2005-09-20 E. I. Du Pont De Nemours And Company Production of 5-methyl-dihydro-furan-2-one from levulinic acid in supercritical media
US7606140B2 (en) 2003-08-28 2009-10-20 Alcatel Lucent Distributed and disjoint forwarding and routing system and method
US7428219B2 (en) 2004-02-27 2008-09-23 Intel Corporation System and method to exchange information between a control element and forwarding elements in a network element architecture
US7568047B1 (en) 2004-04-30 2009-07-28 Nortel Networks Limited Method and apparatus for adaptive service label management
US7609647B2 (en) 2004-05-12 2009-10-27 Bce Inc. Method and apparatus for network configuration validation
US8068408B2 (en) 2004-11-01 2011-11-29 Alcatel Lucent Softrouter protocol disaggregation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040083403A1 (en) 2002-10-28 2004-04-29 Khosravi Hormuzd M. Stateless redundancy in a network device

Also Published As

Publication number Publication date
CN1819581A (zh) 2006-08-16
US20060092975A1 (en) 2006-05-04
JP2006135973A (ja) 2006-05-25
CN1819581B (zh) 2011-12-14
JP4711411B2 (ja) 2011-06-29
DE602005001601D1 (de) 2007-08-23
EP1653689B1 (en) 2007-07-11
DE602005001601T2 (de) 2008-03-13
KR20060092982A (ko) 2006-08-23
US9100266B2 (en) 2015-08-04
EP1653689A1 (en) 2006-05-03

Similar Documents

Publication Publication Date Title
KR101260233B1 (ko) 소프트라우터 프로토콜 장애 극복들
US8953432B2 (en) Softrouter dynamic binding protocol
KR101248040B1 (ko) 소프트라우터 분리 제어 네트워크
EP1653688B1 (en) Softrouter protocol disaggregation
JP4777043B2 (ja) SoftRouter
US7065059B1 (en) Technique for restoring adjacencies in OSPF in a non-stop forwarding intermediate node of a computer network
US7463579B2 (en) Routed split multilink trunking
US6950427B1 (en) Technique for resynchronizing LSDB in OSPF after a software reload in a non-stop forwarding intermediate node of a computer network
US7248579B1 (en) System and method for providing a link state database (LSDB) snapshot for neighbor synchronization
US20070207591A1 (en) Technique for efficiently and dynamically maintaining bidirectional forwarding detection on a bundle of links
EP3975514A1 (en) Targeted neighbor discovery for border gateway protocol
US20220094637A1 (en) Neighbor discovery for border gateway protocol in a multi-access network

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee