KR20060092982A - 소프트라우터 프로토콜 장애 극복들 - Google Patents
소프트라우터 프로토콜 장애 극복들 Download PDFInfo
- Publication number
- KR20060092982A KR20060092982A KR1020050103949A KR20050103949A KR20060092982A KR 20060092982 A KR20060092982 A KR 20060092982A KR 1020050103949 A KR1020050103949 A KR 1020050103949A KR 20050103949 A KR20050103949 A KR 20050103949A KR 20060092982 A KR20060092982 A KR 20060092982A
- Authority
- KR
- South Korea
- Prior art keywords
- protocol
- ces
- active
- messages
- routing
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5625—Operations, administration and maintenance [OAM]
- H04L2012/5627—Fault tolerance and recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/645—Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
- H04L45/655—Interaction 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
도 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 네트워크들은 비교적 자율적으로 동작하는 라우터들을 사용하여 구성된다. 잠재적으로 관리 불가능한 복잡성은 네트워크 전체를 통해 많은 지점들에서 존재한다. 이는 많은 원치않는 결과들을 갖는다. 우선, 복수의 제어 지점들은 동작상 복잡성(예를 들면, 잘못된 구성)을 크게 증가시킨다. 두 번째로, 특정 환경들에서, 이들 자율적인 라우터들의 조정되지 않은 동작들은 최상으로 서브 최적 성능(예를 들면, 열악한 복원 시간)과 최악의 경우에서 네트워크 불안정을 초래한다. 마지막으로, 새로운 특징들의 도입은 복잡하고 에러-경향인 복수의 라우터들에 대한 업그레이드를 요구할 수 있다.
일반적인 라우터 아키텍처들은 집적된 제어 및 포워딩을 갖는다. 제어 평면 기능들을 구현하는 상기 제어 프로세서들은 포워딩 기능들을 구현하고 종종 동일한 라우터 백 평면을 공유하는 라인 카드들과 함께 배치된다. 제어 프로세서들은 제 어 기능들을 상기 함께 배치된 라인 카드들에만 제공하고, 반대로 마찬가지로 동작하여, 상기 함께-배치된 제어기(들)가 있을 때 상기 라인 카드들이 관리될 수 없는 시나리오를 도출한다.
종래기술의 다양한 단점들은 다양한 실시예들을 포함하는 예시적인 소프트라우터 아키텍처에 대한 프로토콜 장애 극복의 본 발명에 의해 해결된다.
하나의 실시예는 포워딩 요소(FE)가 특정 프로토콜에 대한 프로토콜 오버레이 과정과 라우팅 테이블 관리자(RTM) 과정을 운영하는 프로토콜 장애 극복들을 수행하는 방법이다. 상기 FE는 액티브-프로토콜-제어 요소(CE)로부터 라우팅 프로토콜 메시지들을 수신하고, 그 결과, 그들을 모든 프로토콜-CE들에 전달한다. 심장박동 메시지들은 상기 수신된 라우팅 프로토콜 메시지들에 피기백된다. 상기 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를 이동시킴으로써 해결될 것이다. 유사하게, 많은 관리 기능들은 네트워크가 발진과 열악한 안정성을 나타낼 수 있는 것 없이 네트워크-와이드 관점을 요구한다. 그러나, 네트워크-와이드 제어는 오늘날의 자발적이고 복잡한 라우터들의 네트워크에서 달성하기 어렵고 곤란하다.
일반적인 라우터 아키텍처들에서, 관심 주제는 현재의 라우터들에서 제어 및 포워딩 기능들의 깊은 뒤엉킴이다. 약간의 규범 패킷 포워딩 기능들만을 지원하기 위해 그들의 기능들을 감소시킴으로써 가능한 한 쓸모없는 대부분의 네트워크 엔티티들을 유지하고 모든 제어 프로토콜들과 비-포워딩 관련 상태와 제어 처리를 네트워크-와이드 제어의 주요 기능을 갖는 약간의 영리한 네트워크-기반 제어 엔티티들로 이전시킬 필요가 있다. 또한, 프로토콜 장애 극복들이 우아하고 깨끗하게 취급될 필요가 있다.
인터넷 동작을 위한 개방, 표준-기반 프로토콜들을 사용하여 라우터 소프트웨어로부터 라우터 하드웨어의 분리는 많은 잇점들을 갖는다. 상기 분리 개념은 각각의 구성요소를 위한 공급자들을 분리시키고, 하드웨어 벤더들의 진입 장벽을 낮추고 독립 소프트웨어 벤더들(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)RK 물리적 요소에서 모든 포트들을 정확하게 포함하고 제어 CE(들)(502)이 동일한 요소에 함께 배치되는 일반적인 라우터 모델을 허용한다.
집중화 라우팅에서, NE(600)를 구성하는 상기 FE들(506)은 연속 구름의 일부이다. 즉, 상기 NE(600)의 모든 포트들은 상기 NE(600)에 내부인 링크들을 거쳐 서로 도달가능하다. 물리적으로, 이는 인접하는 물리적 FE들(506)의 단일 NE(600) 로의 클러스터링을 나타낸다. 일반적인 시나리오는 중앙 사무실에서 배면 결합되는 몇몇 라우터들의 것이다. 라우팅 관점으로부터, 상기 NE(600)의 이 클러스터링-기반 정의는 상당한 간략화를 제공할 수 있다. 라우팅 관점에서 감소된 수의 NE(600)는 NE 간 라우팅 복잡성을 감소시키고 다른, 가능하게 덜 복잡한 라우팅 프로토콜은 NE 간 라우팅에 사용될 수 있다.
FE(506)와 CE(502) 간의 제어 관계는 공식으로 바인딩이라 한다. 상세하게는, 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)에 대해 제어 기능들을 수행할 수 있으므로, 최대의 복원력과 최소의 구성 오버헤드를 산출한다. 이 동적인 바인딩 능력은 별도의 제어 및 포워딩 기능들을 갖는 분해된 라우터들의 개념의 특징이다. 상기 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)DP 대한 바인딩 서비스 및 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)에 공지된 소오스-라우트과 연관된다. 각각의 진입을 수명 매개변수와 관련시킴으로써, 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)는 또한 각각의 특정 프로토콜에 대한 어드민-세트(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)로 동작하는 프로토콜들에 적용한다. 다른 실시예들은 스트림 기본으로 동작하는 프로토콜들을 취급하도록 적응될 수 있다. 그 동료들로부터 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 과정에 대해 불가지론적이다. 모든 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) 노드들/과정들 실패 및 복원 고속(과다상태), 다른 메시지들이 상기 백업-프로토콜-CE 리스트에서 다른 CE들(502)에 대해 손실되고 하이 로드 하에 성능을 해결한다. 과다상태를 해결하기 위해, 이 예시적인 방법은 바람직한 CE(502)로 다시 전환하기 전에 충분한 간격을 유지한다. 또한, 신뢰성 있는 전송 프로토콜(예를 들면, STCP/TCP)는 재-동기를 보장하는데 사용되고, CE들(502)에서 비휘발성 저 장은 더 고속의 재-동기화에 사용되고, 검사점들은 큰 재-동기 로드들을 회피하는데 도움을 준다. 메시지 손실들을 해결하기 위해, 신뢰성 있는 전송이 사용된다. 일부 CE들(502)에 대한 심한 손실들이 있다면, 이 예시적인 방법은 불일치를 피하기 위해 재-동기 상태로 전환한다. 상기 백업 리스트로부터 제거는 또한 나중의 스테이지에서 재-동기를 보장한다. 오버로드를 해결하기 위해, 상기 백업-리스트에서 모든 CE들(502)은 상기 FE(506)에 대해 프로토콜 인스턴스들을 운영한다. 성능 저하는 심한 로드 하에서 가능하고 그들 CE들(502)에 대한 백업 과정들에 낮은 우선권을 지정함으로써 이전된다.
S-PROF는 일반적인 서비스로서 구현될 수 있다. 프로토콜-특정 인스턴스 생성들은 필요에 따라 행해질 수 있다. 타이머들은 각각의 프로토콜에 따라 설정될 수 있고 포워딩 플래그들의 동작은 가변일 수 있다. S-PROF는 상기 RTM 과정과 상호작용한다. 상기 RTM 과정은 또한 실패할 수 있어, 신뢰성 있는 핫 대기를 요구한다. 상기 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)
- 프로토콜 장애 극복(failover)을 수행하는 방법에 있어서,포워딩 요소(FE:forwarding element)에서, 특정 프로토콜을 위한 프로토콜 오버레이 과정과 라우팅 테이블 관리자(RTM: routing table manager) 과정을 제공하는 단계;상기 FE에 의해, 액티브-프로토콜-제어 요소(CE)로부터 라우팅 프로토콜 메시지들을 수신하고, 상기 수신된 라우팅 프로토콜 메시지들 상에 피기백되는 심장박동 메시지들에 응답하여, 모든 프로토콜-CE들에 상기 라우팅 프로토콜 메시지들을 전달하는 수신 및 전달 단계;상기 FE에 의해, 전송 메시지들에 응답하여 상기 액티브-프로토콜-CE로부터 확인응답들을 수신하는 단계; 및상기 FE에 의해, 상기 액티브-프로토콜-CE의 실패 시, 백업-프로토콜-CE에 대해 장애 극복을 초기화하는 단계를 포함하는, 프로토콜 장애 극복 방법.
- 제1항에 있어서,상기 라우팅 프로토콜 메시지들은 상기 프로토콜 오버레이 과정과 관련된 시퀀스 번호를 포함하고 상기 확인응답들은 상기 시퀀스 번호를 포함하는, 프로토콜 장애 극복 방법.
- 프로토콜 장애 극복을 수행하는 방법에 있어서,특정 프로토콜에 대한 복수의 CE들에서 각각의 제어 요소(CE)에 의해 프로토콜 오버레이 과정을 동작시키는 단계로서, 상기 CE들은 액티브-프로토콜-CE 및 백업-프로토콜-CE를 포함하는, 상기 프로토콜 오버레이 과정 동작 단계;상기 액티브-프로토콜-CE에 의해 상기 액티브-프로토콜-CE에 의해 제어되는 포워딩 요소(FE) 대신에 프로토콜 과정을 동작시키는 단계,상기 액티브-프로토콜-CE에 의해 검사점들을 주기적으로 전송하는 단계로서, 상기 검사점들은 상기 FE에 의해 상기 백업-프로토콜-CE에 전달되며, 상기 검사점은 실패로부터 복원 시 프로토콜 상태를 갱신하는, 상기 전송 단계; 및상기 백업-프로토콜-CE에 의해, 상기 FE에 의해 초기화된 프로토콜 장애 극복에 참여시키는 단계를 포함하는, 프로토콜 장애 극복 방법.
- 제3항에 있어서,상기 프로토콜 오버레이 과정에 의해, 발신 라우팅 프로토콜 메시지들이 상기 액티브-프로토콜-CE에서 상기 FE로 이동할 때, 헤더를 갖는 상기 발신 라우팅 프로토콜 메시지들을 캡슐화하는 단계,상기 프로토콜 오버레이 과정에 의해, 상기 FE가 상기 액티브-프로토콜-CE로부터만 라우팅 프로토콜 메시지들을 수신하도록 상기 백업-프로토콜-CE로부터 상기 포워딩 요소(FE)로 발신 라우팅 프로토콜 메시지들을 떨어뜨리는 단계, 및상기 프로토콜 오버레이 과정에 의해, 각각의 메시지에 심장박동을 포함하는 단계를 더 포함하는, 프로토콜 장애 극복 방법.
- 제3항에 있어서,각각의 CE에 의해, 각각의 착신 프로토콜 메시지의 복사를 수신하는 단계;각각의 CE에 의해, 각각의 착신 프로토콜 메시지를 확인응답하는 단계; 및각각의 CE에 의해, 각각의 라우팅 프로토콜 메시지를 수신하고 저장하는 단계를 더 포함하는, 프로토콜 장애 극복 방법.
- 제3항에 있어서,상기 액티브-프로토콜-CE에 의해, 실패로부터 복원 시 동기화를 초기화하는 단계를 더 포함하는, 프로토콜 장애 극복 방법.
- 제3항에 있어서,상기 백업-프로토콜-CE에 의해, 비휘발성 메모리에서 상기 프로토콜 오버레이 과정에 의해 저장되어 있는 메시지들을 복원하는 단계를 더 포함하는, 프로토콜 장애 극복 방법.
- 제3항에 있어서,상기 백업-프로토콜-CE에 의해, 상기 액티브-프로토콜-CE로부터 최종 검사점 이후에 메시지들의 재전송을 요청하는 단계를 더 포함하는, 프로토콜 장애 극복 방 법.
- 프로토콜 장애 극복들을 수행하는 방법에 있어서,포워딩 요소(FE)에 의해, 착신 및 발신 프로토콜 메시지들을 모든 제어 요소들(CEs)에 전송하는 단계로서, 상기 FE는 데이터 평면에서 복수의 FE들 중 하나이며, 상기 CE들은 상기 데이터 평면으로부터 물리적이고 논리적으로 분리된 제어 평면에 있으며, 상기 CE들과 상기 FE들은 표준 프로토콜을 통하여 통신하고 각각의 FE는 상기 CE들 중 하나에 동적으로 결합되는 단계;최근 검사점 보다 새로운 메시지들에 대해 상기 액티브-프로토콜-CE와 상기 백업-프로토콜-CE들을 동기화시키는 단계;상기 FE에 의해, 상기 액티브-프로토콜-CE로부터 상기 백업-프로토콜-CE들 중 하나로 프로토콜 장애 극복을 초기화하는 단계; 및상기 백업-프로토콜-CE들 중 하나에 의해, 상기 백업-프로토콜-CE들 중 하나가 지금 상기 액티브-프로토콜-CE인 것을 확인하는 단계를 포함하는, 프로토콜 장애 극복 방법.
- 네트워크 아키텍처에 있어서,패킷 포워딩에 대해 복수의 포워딩 요소들(FEs)을 포함하는 데이터 평면,라우팅 정보를 구성하고, 제어하고, 프로토콜을 통하여 상기 FE들에 제공하기 위한 적어도 하나의 제어 요소들(CEs),FE들과 CE들을 결합시키기 위한 동적 결합 프로토콜,상기 데이터 평면으로부터 물리적이고 논리적으로 분리되는 제어 평면으로서, 상기 제어 평면은 상기 CE들을 포함하는, 상기 제어 평면; 및각각의 라우팅 프로토콜에 대해 하나의 CE에서 다른 CE로 제어를 전송하기 위해 FE들에 의해 초기화된 장애 극복들을 취급하기 위한 프로토콜 장애 극복 메카니즘을 포함하는, 네트워크 아키텍처.
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 true KR20060092982A (ko) | 2006-08-23 |
KR101260233B1 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 (42)
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 |
EP2383942A1 (en) | 2008-12-25 | 2011-11-02 | Hitachi, Ltd. | Communication system and communication controller |
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 |
US9240923B2 (en) * | 2010-03-23 | 2016-01-19 | Juniper Networks, Inc. | Methods and apparatus for automatically provisioning resources within a 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 |
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 |
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 |
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 |
WO2013079093A1 (en) * | 2011-11-29 | 2013-06-06 | 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 |
US11212218B2 (en) * | 2018-08-09 | 2021-12-28 | Tata Consultancy Services Limited | Method and system for message based communication and failure recovery for FPGA middleware framework |
US11650849B2 (en) | 2018-09-25 | 2023-05-16 | International Business Machines Corporation | Efficient component communication through accelerator switching 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 |
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 |
US10831698B2 (en) | 2018-09-25 | 2020-11-10 | International Business Machines Corporation | Maximizing high link bandwidth utilization through efficient component communication in disaggregated datacenters |
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 |
US11182322B2 (en) | 2018-09-25 | 2021-11-23 | International Business Machines Corporation | Efficient component communication through resource rewiring 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 |
US10637733B2 (en) | 2018-09-25 | 2020-04-28 | International Business Machines Corporation | Dynamic grouping and repurposing of general purpose links in disaggregated datacenters |
KR20210095890A (ko) * | 2018-11-26 | 2021-08-03 | 아르쿠스 인크. | 세분화된 네트워크 엘리먼트를 포함하는 로직 라우터 |
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 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US190783A (en) * | 1877-05-15 | Improvement in loom-temples | ||
US69975A (en) * | 1867-10-22 | Improvement in movable treadle for small lathes, sewing-machines | ||
US50136A (en) * | 1865-09-26 | Oliver s | ||
US264384A (en) * | 1882-09-12 | August weenee | ||
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 | 富士通株式会社 | シグナリング制御方法及びシグナリング対応通信装置及びネットワーク管理システム |
US7197664B2 (en) * | 2002-10-28 | 2007-03-27 | Intel Corporation | Stateless redundancy in a network device |
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 |
-
2005
- 2005-06-08 US US11/147,665 patent/US9100266B2/en active Active
- 2005-10-25 EP EP05256625A patent/EP1653689B1/en active Active
- 2005-10-25 DE DE602005001601T patent/DE602005001601T2/de active Active
- 2005-10-31 CN CN2005101187980A patent/CN1819581B/zh not_active Expired - Fee Related
- 2005-11-01 KR KR1020050103949A patent/KR101260233B1/ko not_active IP Right Cessation
- 2005-11-01 JP JP2005318015A patent/JP4711411B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US20060092975A1 (en) | 2006-05-04 |
EP1653689B1 (en) | 2007-07-11 |
JP4711411B2 (ja) | 2011-06-29 |
CN1819581B (zh) | 2011-12-14 |
CN1819581A (zh) | 2006-08-16 |
EP1653689A1 (en) | 2006-05-03 |
DE602005001601T2 (de) | 2008-03-13 |
US9100266B2 (en) | 2015-08-04 |
JP2006135973A (ja) | 2006-05-25 |
DE602005001601D1 (de) | 2007-08-23 |
KR101260233B1 (ko) | 2013-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101260233B1 (ko) | 소프트라우터 프로토콜 장애 극복들 | |
US8953432B2 (en) | Softrouter dynamic binding protocol | |
KR101248040B1 (ko) | 소프트라우터 분리 제어 네트워크 | |
EP1653688B1 (en) | Softrouter protocol disaggregation | |
US7065059B1 (en) | Technique for restoring adjacencies in OSPF in a non-stop forwarding intermediate node of a computer network | |
US6950427B1 (en) | Technique for resynchronizing LSDB in OSPF after a software reload in a non-stop forwarding intermediate node of a computer network | |
US8036139B2 (en) | Internal BGP downloader | |
US7248579B1 (en) | System and method for providing a link state database (LSDB) snapshot for neighbor synchronization | |
US20140019614A1 (en) | Technique for efficiently and dynamically maintaining bidirectional forwarding detection on a bundle of links | |
JP2006135971A (ja) | SoftRouter | |
EP3975514A1 (en) | Targeted neighbor discovery for border gateway protocol | |
WO2005006682A2 (en) | Technique for notifying eigrp neighbors when destroying adjacencies in a computer network | |
CN114301824B (zh) | 多接入网络中的边界网关协议的邻居发现 | |
EP3780518A1 (en) | Link state routing protocol adjacency state machine | |
Ramjee et al. | Separating control software from routers | |
Le Boudec | Link State Routing |
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 |