KR100831466B1 - 분산형 외부 게이트웨이 프로토콜 - Google Patents
분산형 외부 게이트웨이 프로토콜 Download PDFInfo
- Publication number
- KR100831466B1 KR100831466B1 KR1020067008647A KR20067008647A KR100831466B1 KR 100831466 B1 KR100831466 B1 KR 100831466B1 KR 1020067008647 A KR1020067008647 A KR 1020067008647A KR 20067008647 A KR20067008647 A KR 20067008647A KR 100831466 B1 KR100831466 B1 KR 100831466B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- control
- card
- protocol
- line
- Prior art date
Links
Images
Classifications
-
- 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/60—Router architectures
-
- 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/56—Routing software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- 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/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
경계 게이트웨이(10)는 제어 카드(20) 및 적어도 하나의 라인 카드(30)를 포함한다. 제어 카드(20)는 외부 게이트웨이 프로토콜의 제어부를 실행하는 제어 프로세서(22)와, 외부 게이트웨이 경로들 및 장치들의 라우팅 테이블(24)을 포함한다. 라인 카드(30)는 외부 게이트웨이 프로토콜의 오프로드(offload)부를 실행하는 라인 프로세서(32)와, 적어도 하나의 통신 링크의 종단(termination)을 허용하는 통신 포트(34)를 포함한다. 백플레인(backplane)(36)에 의해, 제어 카드(20)와 라인 카드(30)가 통신할 수 있다.
게이트웨이, 프로토콜, 라인 카드, 제어 카드, 프로세서, 패킷
Description
인터넷은 서로 다른 조직들의 관리 권한(administrative authority) 및 라우팅 정책(routing policy)들을 정의하는 자율 시스템(Autonomous System)의 모음(collection)의 일례이다. 자율 시스템들은 그들의 경계들 내의 내부 게이트웨이 프로토콜들을 구동하고, 외부 게이트웨이 프로토콜들을 통해 상호접속한다. 게이트웨이는 본 명세서에서 다른 장치들이 네트워크로의 진입을 취득할 수 있게 하는 임의의 엔티티로서 정의된다. 경계들은 정책 또는 기업(enterprise)에 의해 정의되는 도메인(domain) 또는 다른 서브-네트워크일 수 있다. 내부 게이트웨이 프로토콜의 예로는, OSPF(Open Shortest Path First), IGP(Interior Gateway Protocol) 및 EIGP(Enhanced Interior Gateway Protocol) 등이 있다. 외부 게이트웨이 프로토콜은 BGP(Border Gateway Protocol)를 포함할 수 있다.
내부 프로토콜들은 통상적으로 특정 기업 이상으로 스케일링(scaling)하지 않기 때문에, BGP가 도입되었다. 경계(border) 게이트웨이들은 다른 경계 게이트웨이들과 네트워크 도달가능성(reachability) 정보를 교환하며, BGP를 이용하여 그렇게 한다. 도메인 내의 자율 시스템들에 관한 이러한 도달가능성 정보에 의해, 경계 게이트웨이들은 라우팅 루프들이 간결하게 될 수 있는 자율 시스템 접속의 그래프를 구성할 수 있고, 시스템 레벨에서의 어떠한 정책 결정들이 시행될 수 있다. BGP는 이들 통신을 관리하고, 정보를 교환하는 2개의 게이트웨이 사이에, TCP(Transmission Control Protocol)와 같은 신뢰성 있는 전송 프로토콜을 통하여 실행된다.
최초의 정보 교환은 일반적으로 전체 라우팅 테이블들을 교환하는 2개의 장치를 수반하며, 주기적인 갱신들을 전송하여 엔트리들을 추가 또는 삭제하여 라우팅 테이블을 수정한다. BGP의 현재의 구현에 있어서의 중요한 문제점은, 과도한 라우팅 변화(churn)의 면에서의 범위성(scalability)이다. Code Red 1, Code Red 2 및 Nimda 웜(worm) 어택(attack) 동안, 이들 갱신 메시지들은 보통 볼 수 있는 평균 200만개로부터 667만개 이상으로 증가하였다. 모든 BGP 기능이 각 장치에서의 중앙 프로세서에 의해 처리되는 현재 배치되는 BGP 소프트웨어에 의해, 프로세서들은 압도당하게 되었고, BGP 세션 리셋들이 야기되었다. 또한, 어느 장치들이 여전히 동작중인지를 나타내는 TCP KEEPALIVE 메시지들이 전달되지 않았기 때문에, 또한 BGP 세션들이 리셋되었다.
이러한 문제들 이외에, BGP 게이트웨이들은, TCP SYN 어택들이라고 지칭되는 위조(bogus) TCP SYN 메시지들, 불법적이거나 무효인 다음 홉(hop)을 알리는 변경된(tampered) BGP UPDATE 메시지들 등과 같은, 보안 취약성을 겪고 있다. BGP 장치들의 중앙집중형 아키텍처(centralized architecture)는, 이 메시지들이, 급속하게 압도당하게 되는 중앙 프로세서에 의해 처리되는 것을 요구하기 때문에, 이러한 유형의 어택들이 성공함으로써, 다른 장치들로부터의 합법적인 요구들의 처리를 거부한다.
도 1은 2개의 도메인 사이의 경계 게이트웨이들의 예를 도시한 도면.
도 2는 분산형 아키텍처를 가지는 경계 게이트웨이 장치의 실시예를 도시한 도면.
도 3은 BGP 트래픽을 처리하는 방법의 실시예의 흐름도.
도 4는 BGP 장치에서 제어 카드를 초기화하는 방법의 실시예의 흐름도.
도 5는 BGP 장치에서 오프로드 카드를 초기화하는 방법의 실시예의 흐름도.
본 발명의 실시예들은 첨부 도면들을 참조하여 본 개시를 읽음으로써 잘 이해될 수 있다.
도 1은 2개의 도메인 사이의 경계 게이트웨이들의 예를 도시한다. 이 게이트웨이들은 그 도메인에 대하여 다른 도메인과의 접속을 제공함으로써, 게이트웨이 피어(peer)라고도 지칭되는 다른 경계 게이트웨이와 통신한다. 이 게이트웨이 피어들은 경계 게이트웨이 프로토콜(Border Gateway Protocol: BGP)과 같은 외부 게이트웨이 프로토콜을 통해 통신한다. 본 명세서에서 이용되는 예들은, BGP에 기초할 수 있지만, 신뢰성 있는 전송 프로토콜에서 실행되는 임의의 외부 게이트웨이 프로토콜에 적용가능하다. TCP(Transmission Control Protocol)와 같은 신뢰성 있는 전송 프로토콜은 데이터 전송을 검증하고 확인하는 메커니즘들을 가짐으로써, 갱신 조각화(update fragmentation), 재전송 확인응답(retransmission acknowledgement) 및 순서화(sequencing)에 대한 필요성을 없앤다. 외부 게이트웨 이 프로토콜에 의해 이용되는 인증 메커니즘들 이외에, 전송 프로토콜에 의해 이용되는 임의의 인증 방식이 이용될 수 있다.
게이트웨이들(10 및 12)은 접속 파라미터들을 개방(open)하고 확인하기 위해 메시지들을 교환한다. 라우팅 테이블들이 변함에 따라 점진적 갱신들이 전송된다. 외부 게이트웨이 프로토콜들은 완전한 라우팅 테이블의 주기적인 새로 고침(refresh)을 요구하지 않을 수 있다. 이 프로토콜로 통신하는 장치는 접속 기간 동안 그의 모든 피어의 현재의 버전을 유지해야 한다. 접속의 라이브니스(liveness) 및 라우팅 테이블들의 정확성을 보장하기 위해 KeepAlive 메시지들 및 갱신들이 주기적으로 전송된다.
갱신들은 통상적으로 2개의 경계 게이트웨이 사이에 라우팅 정보를 교환하기 위해, 그리고 새로운 경로들을 알리거나 이전에 알려진 경로들을 수정/삭제하기 위해 이용된다. 이 갱신들은 현재 게이트웨이에서 중앙 프로세서에 이해 처리된다. Nimda, Code 1 및 Code 2 웜 어택들과 같은 어택들 동안, 경계 게이트웨이들은 갱신 메시지 트래픽으로 압도되었으며 그것들을 처리할 수 없었다. 이것에 의해, 통상적으로 경계 게이트웨이가 오류 상태에 직면한 경우에 발생하는, '세션 리셋' 또는 접속 폐쇄가 야기된다. 또한, 모든 갱신들에 대해 요구되는 고레벨의 처리에 의해, 프로세서는 KeepAlive 메시지들을 전송할 수 없었다. KeepAlive 메시지들이 없으면, 접속 타이머들이 타임 아웃(time out)되게 된다. 그 결과, 다른 장치들은 KeepAlive를 전송하고 있지 않는 플러딩된(flooded) 장치들과의 접속들을 폐쇄하였다. 그 다음에, 모든 이러한 접속들의 폐쇄(closure)로 인해, 합법적인 사용자들 이 더이상 '서로 대화(talking to each other)'하고 있지 않은 장치들에의 액세스를 시도하였을 때 '서비스의 거부(denial of service)'로 이어진다.
경계 게이트웨이들의 현재의 구현들에 있어서 다른 취약성이 존재한다. 예를 들어, TCP에 있어서는, 목적지 호스트에서 수신되는 TCP SYN 메시지(동기화 또는 개시)에 의해 세션이 개방된다. 통상적으로, 목적지 호스트는 소스 호스트에 SYN ACK 또는 확인응답 메시지를 전송한다. 또한, 목적지 호스트는 완료되기를 기다리는 접속들을 기억하고 있기 위해서 소정의 시간 주기 동안 한정된 사이즈의 대기열(queue)을 개방한다. SYN ACK를 확인응답하는 ACK 메시지의 수신시, 접속이 구축된다. 완료를 기다리는 접속들의 대기열은 일반적으로 ACK 메시지들이 보통 수 밀리초(milliseconds)로 수신되기 때문에 매우 신속하게 비워지고, 대기열에 대한 타이머는 수 분으로 만료되도록 설정될 수 있다. 이러한 시퀀스를 때때로 'TCP 3-방향 핸드셰이크(TCP three-way handshake)'라고 지칭한다.
TCP SYN 어택에서, 무효 어드레스들을 가지는 TCP SYN 메시지들에 의해 목적지 호스트가 플러딩된다. 무효 어드레스는 그와 연관된 임의의 장치를 가지지 않는 어드레스이다. 목적지 호스트는 위조 또는 불법적인 어드레스들에 대하여 SYN ACK 메시지를 전송하고 접속 대기열을 개방한다. 소스의 어드레스는 무효이기 때문에, 접속 대기열은 타이머의 전체 기간 동안 개방한 상태를 유지한다. 충분한 무효 TCP SYN 메시지들이 전송되는 경우, 접속 대기열을 관리하는 프로세서가 압도당하게 되고, 서비스는 다시 합법적인 사용자들에 대해 거부된다.
다른 유형의 어택들은, 유효 목적지 또는 목적지들의 집합에, 무효 또는 불 법적인 다음 홉을 알리는 변경된 갱신 메시지들 및 이상-형성된 패킷들을 포함한다. 이 문맥에서의 이상-형성된 패킷은 프로토콜과 관련하여 이상 형성된 패킷이다. 일부 이상-형성된 패킷들은 체크섬(checksum)을 계산함으로써 캐치(catch)되므로, 프로토콜과 관련한 이상-형성된 패킷들을 캐치하지 않는다. 불법적인 다음 홉은, 어드레스가 패킷 내의 데이터에 불법적으로 액세스를 시도하여 트래픽을 '약탈(pirating)'하는 누군가의 어드레스인 홉이다. 이들 어택들 모두는 이상-형성된 패킷들을 식별하기 위한 패킷 필터들, 위조 어드레스들을 식별하기 위한 어드레스 필터들 등에 의해 회피되거나 조정(handle)될 수 있다. 그러나, 이들 필터들은 어택 동안 적어지는 처리 사이클 및 자원들을 필요로 한다.
본 발명의 실시예들은 많은 패킷 프로세싱 태스크가 라인 카드에 오프로드될 수 있게 하는 네트워크 아키텍처를 제시한다. 또한, 접속들을 위한 상태 머신의 유지보수뿐만 아니라, 정책 결정들도, 중앙 프로세서로부터 이동되고 여러개의 라인 프로세서 사이에 분산될 수 있다. 이러한 장치의 예가 도 2에 도시되어 있다.
도 2의 네트워크 장치 또는 요소는 네트워크 접속들의 백플레인(backplane)에 의해 접속되는 물리적 장치 또는 장치들의 모음일 수 있다. 전술한 논의의 문맥에서, 이 장치는 BGP와 같은 외부 게이트웨이 프로토콜을 실행하는 게이트웨이이다. 장치(10)는 중앙 프로세서(22) 및 그 장치의 라우팅 테이블 및 그의 피어들의 라우팅 테이블을 저장하기 위한 저장소(24)를 가지는 제어 카드(20)를 포함한다. 중앙 프로세서는 아마도 Pentium® 또는 상위 등급의 Intel® Architecture(IA) 프로세서와 같은 범용 프로세서일 것이다. 제어 카드(20)는 적절한 포트 또는 인터 페이스(26)를 통해 백플레인(36)을 통하여 통신한다. 제어 카드는 백플레인(36)을 통하여 도면 부호 30과 같은 다수의 라인 카드에 접속된다. 여러 개의 라인 카드가 존재할 수 있으며, 단지 하나를 사용한 것은, 단지 논의의 용이성을 위한 것이다. 라인 카드(30)는 프로세서(32) 및 그것이 신뢰성 있는 전송 프로토콜을 통해 장치로 들어오는 통신들을 종단할 수 있게 하는 포트(34)를 가진다. 라인 프로세서는, Intel® IXP 프로세서(Intel Exchange Processor)와 같은, 네트워크 트래픽을 조정하는데 최적화된 네트워크 가능 프로세서이다. 네트워크 가능 프로세서는, 패킷 처리에 이용될 수 있는 RISC(reduced instruction set computer) 프로세서와 같이, 범용 프로세서 및 적어도 하나의 마이크로엔진(microengine)을 가진다.
인입 데이터는, 모두 네트워크 가능 프로세서를 가지는 여러 개의 라인 카드에 의해 처리 또는 조정된다. 이것에 의해, 처리를 분산시킬 수 있고, 중앙 프로세서 또는 라인 프로세서들 중 임의의 것을 오버로드(overload)하는 것을 회피할 수 있다. 인입 데이터는 라인 카드에서 수신되고, 유효 갱신 데이터만이 제어 카드로 전송된다. 다음으로, 제어 카드는 개별 라인 카드의 구성 정보 및 라우팅 테이블을 유지보수하는 것과 같은, 중앙 프로토콜 처리들 모두를 수행한다.
라인 카드들은 또한 라우팅 테이블 변경, 패킷들의 암호화 및 암호해독, 라우팅 테이블의 로컬 카피들의 캐싱(caching), 이상-형성된 불법 및 무효 패킷들의 필터링뿐만 아니라, 인입 패킷들의 파싱(parsing) 및 확인(validating) 등의 인입(incoming) 메시지들 또는 다른 이벤트들에 응답하여, 인출(outgoing) 메시지들의 생성을 조정한다. 또한, 어느 피어로 어떤 메시지들이 전송되는지를 판정하는 출력 정책 엔진 및 접속들 모두의 상태를 관리하는 BGP 상태 머신(state machine)은 라인 카드에 오프로드될 수 있다. 이러한 기능들 모두는, 외부 게이트웨이 프로토콜 또는 경계 게이트웨이 프로토콜(BGP) 기능들을 수행하는 것으로서 지칭된다. 오프로드된 프로토콜의 부분들은 오프로드부라고 지칭되고, 제어 프로세서에 의해 유지되는 부분은 제어부라고 지칭된다. 프로세싱 태스크들의 이러한 분산에 의해, 라인 카드들은 중앙 프로세서로 전송되기 전에 인입 트래픽을 차단할 수 있다. 이러한 처리의 예가 도 3의 흐름도에 도시되어 있다.
도면부호 40에서, 라인 카드가 이제 이 접속의 종단이기 때문에, 신뢰성 있는 전송 접속을 통한 트래픽이 라인 카드에서 수신된다. 도면부호 42에서, 메시지들을 검사하여, 메시지들이 유효한지를 판정한다. 메시지들이 유효하지 않은 경우, 도면부호 50에서, 메시지들은 폐기되거나 처분되어 처리되지 않고, 제어 프로세서로 전송되지 않는다. 패킷들이 유효한 경우, 도면부호 44에서, 라인 카드들은 패킷들을 파싱하여, 갱신과 같은 정보를 추출한다. 다음으로, 도면부호 46에서, 유효 데이터는 제어 카드로 전송된다. 도면부호 48에서, 라우팅 테이블의 변경, 정책 상태의 변경 등과 같은 피어 게이트웨이로의 임의의 인출 메시지들이 전송된다.
어느 라인 카드가 어느 패킷에 대해 어떤 처리를 수행하고 있는지에 관한 추적이 여러 가지 방법으로 처리될 수 있다. 이러한 처리의 분산을 가능하게 하는 아키텍처를, DCPA(Distributed Control Plane Architecture)라고 지칭할 수 있다. 이것은, 2003년 11월 14일자로 출원된, 명칭이 "Distributed Control Plane Architecture for Network Elements"인 동시계속(co-pending) 미국 특허 출원 번호 제10/XXX,XXX호에 상세하게 기재되어 있다. DCPA는, 시스템에 존재하는 제어 카드들 또는 라인 카드들을 발견하고, 그것들과의 접속을 구축하고, 그것들의 성능에 관한 정보를 교환하기 위해 제어 카드 또는 라인 카드에 의해 요구되는 로직을 포함하는 DCPA 기반구조 모듈(DCPA Infrastructure Module)에 의해 예시된다. DIM은 도 2에서 제어 카드와 라인 카드 둘다에 대해 실행한다. 이러한 아키텍처를 사용함으로써, 처리의 분산을 발생시킬 수 있다.
또한, 가상 인터페이스를 이용하여 인입 패킷들을 수신하고 패킷이 어느 엔티티로 라우팅되어야 하는지를 판정할 수 있다. 이러한 인터페이스의 예가, 2003년 11월 14일자로 출원된, 명칭이 "Implementation Of Control Plane Protocols And Networking Stacks In A Distributed Network Device"인 동시계속 미국 특허 출원 번호 제10/XXX,XXX호에 기재되어 있다. 이것들과 같은 아키텍처들 및 인터페이스들을 사용함으로써, 분산 처리가 조화롭게 기능하도록 유지할 수 있다.
이것은, 도 4 및 도 5에 도시된, 제어 카드 및 라인 카드를 초기화하는 방법의 실시예들에서 알 수 있다. 도 4에서, 라인 카드가 분산된 BGP 처리를 다루는 것을 준비한다. 도면부호 60에서, 라인 카드는 '부트 업(boot up)'하는 등의 초기화를 행한다. 다음으로, 도면부호 62에서, 라인 카드는 DCPA의 DIM과 같은 중앙 등록 포인트에 그 자신을 등록한다. 이것에 의해, 장치는 라인 카드의 성능 및 그의 이용가능한 처리 자원을 추적할 수 있을 뿐만 아니라, 어느 이벤트가 흥미를 가질 수 있는지를 식별하는 수단을 라인 카드에 제공할 수 있다.
도면부호 64에서, 라인 카드는 제어 카드가 등록되었는지를 판정한다. 제어 카드가 등록되었을 때, 라인 카드가 등록될 수 있는 경우, 도면부호 66에서, 2개의 엔티티가 제어 접속을 설정한다. 라인 카드는, 도면부호 68에서, 라인 카드 상에 어떤 인터페이스를 가지는 것에 대해 자신의 자원 데이터뿐만 아니라, 도면부호 72에서, 자신의 처리 자원들을 전송한다. 다음으로, 도면부호 70에서, 제어 카드는 라인 카드에 구성 정보를 제공한다. 도면부호 72에서, 라인 카드는 다른 경계 게이트웨이들과의 피어 접속들을 구축하고, 패킷들을 받아들여서 처리하기 시작한다. 다음으로, 라인 카드는 도면부호 74에서 전술한 BGP 기능들을 수행하고, 필요에 따라 도면부호 76에서 제어 카드에 유효 데이터를 전송한다. 이들 마지막 두 처리는 장치가 셧다운(shut down)할 때까지 반복한다.
처리의 다른 측면에서, 제어 카드는 도 5에 도시된 것과 같은 처리에 따른 분산형 처리를 위해 준비된다. 제어 카드는 도면부호 80에서 초기화되고, 도면부호 82에서 DIM과 같은 중앙 레지스터에 등록한다. 라인 카드들이 아직 등록되지 않은 경우, 제어 카드는 라인 카드들이 등록될 때까지 기다린다. 일단 제어 카드들 및 라인 카드들이 등록되었다면, 도면부호 86에서, 제어 카드들 및 라인 카드들은 서로 발견하고 제어 접속을 구축한다. 다음으로, 도면부호 88에서, 제어 카드는 BGP 라우팅 테이블, 및 라인 카드가 메시지들이 어느 피어들로 전송되어야 하는지에 관한 출력 정책 결정들을 할 수 있게 하는 정책 데이터 등의 구성 정보를 제공한다. 이것은 전술한 BGP 기능들을 라인 카드들에 효율적으로 오프로드함으로써, 도면부호 90에서 중앙 프로세서가 중앙 BGP 기능들을 수행하지 못하게 한다.
프로세서들을 구비한 라인 카드들 및 제어 카드를 포함하는 네트워크 장치들이 이미 존재한다는 것에 주목해야 한다. 이 시스템들을 분산형 BGP 게이트웨이들로 변환하는 것은, 시스템의 동작을 지시하는 소프트웨어 명령들을 갱신하는 것의 문제일 수 있다. 이 경우, 본 발명의 실시예들은, 실행될 때, 시스템으로 하여금 본 발명의 방법 및 처리를 수행하게 하는 시스템 판독가능한 명령들의 제품으로서 구현될 수 있다.
예를 들어, TCP를 통하여 BGP를 실행하고 필요한 용량을 갖는 라인 프로세서들을 가지는 기존의 경계 게이트웨이는 분산형 BGP를 구현하는 경계 게이트웨이가 될 수 있다. 필요한 모든 것은 그 게이트웨이의 동작 소프트웨어에 대한 갱신이다.
따라서, 비록 신뢰성 있는 전송 프로토콜들을 통하여 실행하는 분산형 외부 게이트웨이 프로토콜을 위한 방법 및 장치에 대한 특정 실시예가 설명되었지만, 이러한 특정한 참조들은 다음의 특허청구범위에 정의되어 있는 한에 있어서는 본 발명의 범위에 대한 한정사항으로서 고려되지 않는다.
Claims (34)
- 외부 게이트웨이 프로토콜의 제어부를 실행하는 제어 프로세서와, 외부 게이트웨이 경로들 및 장치들의 라우팅 테이블을 포함하는 제어 카드;외부 게이트웨이 프로토콜의 오프로드(offload)부를 실행하는 라인 프로세서와, 적어도 하나의 통신 링크의 종단(termination)을 허용하는 통신 포트를 포함하는 라인 카드; 및상기 제어 카드와 상기 라인 카드가 통신할 수 있게 하는 백플레인(backplane)을 포함하며,상기 통신 포트는 상기 백플레인에 접속되는 네트워크 장치
- 제1항에 있어서,상기 제어 프로세서는 범용 프로세서를 더 포함하는 네트워크 장치.
- 제1항에 있어서,상기 제어 프로세서는 인텔 아키텍처(Intel Architecture) 프로세서를 더 포함하는 네트워크 장치.
- 제1항에 있어서,상기 라인 프로세서는 네트워크-가능(network-enabled) 프로세서를 더 포함 하는 네트워크 장치.
- 제1항에 있어서,상기 라인 프로세서는 인텔 IXP 프로세서를 더 포함하는 네트워크 장치.
- 제1항에 있어서,상기 백플레인은 물리적 백플레인 접속을 더 포함하는 네트워크 장치.
- 제1항에 있어서,상기 백플레인은 네트워크 접속을 더 포함하는 네트워크 장치.
- 외부 게이트웨이 프로토콜 패킷을 처리하는 방법으로서,라인 카드에서 인입(incoming) 패킷을 수신하는 단계;상기 패킷이 유효한지를 판정하는 단계;상기 패킷을 파싱(parsing)하여 프로토콜 데이터를 추출하는 단계;임의의 제어-관련 데이터를 제어 카드에 전송하는 단계; 및피어(peer) 게이트웨이들을 위한 메시지 트래픽을 생성하는 단계를 포함하는 외부 게이트웨이 프로토콜 패킷 처리 방법.
- 제8항에 있어서,라인 카드에서 인입 패킷을 수신하는 단계는, TCP(Transmission Control Protocol)를 통하여 패킷을 수신하는 단계를 더 포함하는 외부 게이트웨이 프로토콜 패킷 처리 방법.
- 제8항에 있어서,상기 패킷이 유효한지를 판정하는 단계는, 상기 패킷이 이상-형성된(mal-formed) 패킷인지를 판정하는 단계를 더 포함하는 외부 게이트웨이 프로토콜 패킷 처리 방법.
- 제8항에 있어서,상기 패킷이 유효한지를 판정하는 단계는, 상기 패킷들에 패킷 필터를 적용하는 단계를 더 포함하는 외부 게이트웨이 프로토콜 패킷 처리 방법.
- 제8항에 있어서,상기 패킷이 유효한지를 판정하는 단계는, 상기 패킷들에 어드레스 필터를 적용하는 단계를 더 포함하는 외부 게이트웨이 프로토콜 패킷 처리 방법.
- 제8항에 있어서,임의의 제어-관련 데이터를 제어 카드에 전송하는 단계는, 게이트웨이 피어들로부터 유효 갱신들에 관련된 데이터를 전송하는 단계를 더 포함하는 외부 게이 트웨이 프로토콜 패킷 처리 방법.
- 제8항에 있어서,상기 패킷을 파싱하여 프로토콜 데이터를 추출하는 단계는, 암호화된 패킷들을 암호해독하는 단계를 더 포함하는 외부 게이트웨이 프로토콜 패킷 처리 방법.
- 제8항에 있어서,피어 게이트웨이들을 위한 메시지 트래픽을 생성하는 단계는, 상기 인입 패킷들에 의해 요구되는 응답들을 생성하는 단계를 더 포함하는 외부 게이트웨이 프로토콜 패킷 처리 방법.
- 제8항에 있어서,피어 게이트웨이들을 위한 메시지 트래픽을 생성하는 단계는, 피어 게이트웨이들로의 경로들을 알리는 단계를 더 포함하는 외부 게이트웨이 프로토콜 패킷 처리 방법.
- 제8항에 있어서,피어 게이트웨이들을 위한 메시지 트래픽을 생성하는 단계는, 암호화를 요구하는 피어 게이트웨이들을 위한 메시지들을 암호화하는 단계를 더 포함하는 외부 게이트웨이 프로토콜 패킷 처리 방법.
- 분산형 외부 게이트웨이 프로토콜의 오프로드부를 구축하는 방법으로서,라인 카드를 초기화하는 단계;상기 라인 카드에 의해 실행될 프로토콜의 오프로드부를 중앙 등록 포인트에 등록하는 단계;제어 카드에 의해 제어 접속을 설정하는 단계;상기 제어 카드에 데이터 자원 데이터를 전송하는 단계;상기 제어 카드로부터 구성 정보를 수신하는 단계;외부 게이트웨이 피어들에 의해 접속들을 구축하는 단계;상기 라인 카드에서 경계 게이트웨이 프로토콜(Border Gateway Protocol: BGP) 기능들을 수행하는 단계; 및상기 제어 카드에 유효 BGP 데이터만을 전송하는 단계를 포함하는, 분산형 외부 게이트웨이 프로토콜의 오프로드부 구축 방법.
- 제18항에 있어서,오프로드부를 등록하는 단계는, 분산형 제어 플레인 아키텍처 기반구조 모듈(Distributed Control Plane Architecture Infrastructure Module)에 등록하는 단계를 더 포함하는, 분산형 외부 게이트웨이 프로토콜의 오프로드부 구축 방법.
- 제18항에 있어서,BGP 기능들을 수행하는 단계는, 인입 패킷들을 파싱하고 확인하는 단계를 더 포함하는, 분산형 외부 게이트웨이 프로토콜의 오프로드부 구축 방법.
- 제18항에 있어서,BGP 기능들을 수행하는 단계는, 피어 게이트웨이들로부터의 모든 이상-형성된, 불법적이고 중복적인 갱신 메시지들을 필터링하는 단계를 더 포함하는, 분산형 외부 게이트웨이 프로토콜의 오프로드부 구축 방법.
- 제18항에 있어서,BGP 기능들을 수행하는 단계는, 상기 제어 카드로부터 수신된 라우팅 테이블을 캐싱(caching)하는 단계를 더 포함하는, 분산형 외부 게이트웨이 프로토콜의 오프로드부 구축 방법.
- 제18항에 있어서,BGP 기능들을 수행하는 단게는, 각각의 피어 게이트웨이들을 위한 출력 정책(policy)들을 구동하는 단계를 더 포함하는, 분산형 외부 게이트웨이 프로토콜의 오프로드부 구축 방법.
- 제18항에 있어서,BGP 기능들을 수행하는 단계는, 필요에 따라 패킷들을 암호화 및 암호해독하 는 단계를 더 포함하는, 분산형 외부 게이트웨이 프로토콜의 오프로드부 구축 방법.
- 분산형 외부 게이트웨이 프로토콜의 제어부를 구축하는 방법으로서,제어 카드를 초기화하는 단계;상기 제어 카드에 의해 실행될 프로토콜의 제어부를 중앙 등록 포인트에 등록하는 단계;상기 프로토콜의 오프로드부들을 실행하는 라인 카드들에 의해 제어 접속들을 설정하는 단계;상기 라인 카드들을 구성하는 단계; 및중앙 경계 게이트웨이 프로토콜(Border Gateway Protocol: BGP) 기능들을 수행하는 단계를 포함하는, 분산형 외부 게이트웨이 프로토콜의 제어부 구축 방법.
- 제25항에 있어서,상기 라인 카드들을 구성하는 단계는, 각각의 라인 카드에 라우팅 테이블 및 정책 데이터를 제공하는 단계를 더 포함하는, 분산형 외부 게이트웨이 프로토콜의 제어부 구축 방법.
- 제25항에 있어서,실행될 프로토콜의 제어부를 등록하는 단계는, 상기 제어부를 분산형 제어 플레인 아키텍처 기반구조 모듈에 등록하는 단계를 더 포함하는, 분산형 외부 게이트웨이 프로토콜의 제어부 구축 방법.
- 제25항에 있어서,중앙 BGP 기능들을 수행하는 단계는, 상기 라인 카드들로부터의 유효 갱신들을 처리하고 필요에 따라 라우팅 테이블을 조정하는 단계를 더 포함하는, 분산형 외부 게이트웨이 프로토콜의 제어부 구축 방법.
- 제25항에 있어서,중앙 BGP 기능들을 수행하는 단계는, 필요에 따라 각각의 라인 카드에 갱신된 라우팅 테이블을 제공하는 단계를 더 포함하는, 분산형 외부 게이트웨이 프로토콜의 제어부 구축 방법.
- 실행될 때, 시스템으로 하여금,라인 카드에서 인입 패킷을 수신하고,상기 패킷이 유효한지를 판정하고,상기 패킷을 파싱하여 프로토콜 데이터를 추출하고,임의의 제어-관련 데이터를 제어 카드에 전송하고,피어 게이트웨이들을 위한 메시지 트래픽을 생성하게 하는 명령들을 포함하는 프로그램을 저장하는 컴퓨터 판독가능한 매체.
- 제30항에 있어서,상기 시스템으로 하여금 라인 카드에서 인입 패킷을 수신하게 하는 명령들은, 상기 시스템으로 하여금 TCP를 통해 패킷을 수신하게 하는 컴퓨터 판독가능한 매체.
- 제30항에 있어서,상기 시스템으로 하여금 상기 패킷이 유효한지를 판정하게 하는 명령들은, 상기 시스템으로 하여금 상기 패킷이 이상-형성된 패킷인지를 판정하게 하는 컴퓨터 판독가능한 매체.
- 제30항에 있어서,상기 시스템으로 하여금 상기 패킷이 유효한지를 판정하게 하는 명령들은, 상기 시스템으로 하여금 상기 패킷에 패킷 필터를 적용하게 하는 컴퓨터 판독가능한 매체.
- 제30항에 있어서,상기 시스템으로 하여금 상기 패킷이 유효한지를 판정하게 하는 명령들은, 상기 시스템으로 하여금 상기 패킷에 어드레스 필터를 적용하게 하는 컴퓨터 판독가능한 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/713,586 | 2003-11-03 | ||
US10/713,586 US8085765B2 (en) | 2003-11-03 | 2003-11-03 | Distributed exterior gateway protocol |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060085930A KR20060085930A (ko) | 2006-07-28 |
KR100831466B1 true KR100831466B1 (ko) | 2008-05-21 |
Family
ID=34552727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067008647A KR100831466B1 (ko) | 2003-11-03 | 2004-11-03 | 분산형 외부 게이트웨이 프로토콜 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8085765B2 (ko) |
JP (1) | JP2007509540A (ko) |
KR (1) | KR100831466B1 (ko) |
CN (1) | CN1918856B (ko) |
GB (1) | GB2424158A (ko) |
TW (1) | TWI270276B (ko) |
WO (1) | WO2005043845A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101053747B1 (ko) | 2009-12-29 | 2011-08-02 | 한남대학교 산학협력단 | Bgp 네트워크의 보안 방법 및 이를 위한 라우터 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8850565B2 (en) * | 2005-01-10 | 2014-09-30 | Hewlett-Packard Development Company, L.P. | System and method for coordinating network incident response activities |
US8788634B2 (en) * | 2008-02-28 | 2014-07-22 | Broadcom Corporation | Portable device upgrade via a content transfer protocol |
US8671215B2 (en) * | 2008-02-28 | 2014-03-11 | Broadcom Corporation | Portable communications framework |
US20130070753A1 (en) * | 2010-05-26 | 2013-03-21 | University Of Florida Research Foundation, Inc. | Consistent updates for packet classification devices |
CN101909021A (zh) * | 2010-07-27 | 2010-12-08 | 清华大学 | Bgp网关设备及利用该设备实现通断网关功能的方法 |
US8402454B2 (en) * | 2010-09-22 | 2013-03-19 | Telefonaktiebolaget L M Ericsson (Publ) | In-service software upgrade on cards of virtual partition of network element that includes directing traffic away from cards of virtual partition |
US8879392B2 (en) * | 2012-04-26 | 2014-11-04 | Hewlett-Packard Development Company, L.P. | BGP security update intercepts |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030128668A1 (en) | 2002-01-04 | 2003-07-10 | Yavatkar Rajendra S. | Distributed implementation of control protocols in routers and switches |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5490252A (en) * | 1992-09-30 | 1996-02-06 | Bay Networks Group, Inc. | System having central processor for transmitting generic packets to another processor to be altered and transmitting altered packets back to central processor for routing |
DE4408975C1 (de) * | 1994-03-16 | 1995-08-24 | Siemens Ag | Modular strukturiertes ATM-Kommunikationssystem |
FI98586C (fi) * | 1995-01-10 | 1997-07-10 | Nokia Telecommunications Oy | Pakettiradiojärjestelmä ja menetelmiä datapaketin reitittämiseksi protokollariippumattomasti pakettiradioverkoissa |
US6697872B1 (en) * | 1999-10-15 | 2004-02-24 | Cisco Technology | Distributed packet processing using encapsulation and decapsulation chains |
JP4150159B2 (ja) * | 2000-03-01 | 2008-09-17 | 富士通株式会社 | 伝送経路制御装置及び伝送経路制御方法並びに伝送経路制御プログラムを記録した媒体 |
US6938095B2 (en) * | 2000-06-28 | 2005-08-30 | Pluris, Inc. | Method and apparatus for establishing and sharing a virtual change notification list among a plurality of peer nodes |
US20020004843A1 (en) * | 2000-07-05 | 2002-01-10 | Loa Andersson | System, device, and method for bypassing network changes in a routed communication network |
US20030120822A1 (en) * | 2001-04-19 | 2003-06-26 | Langrind Nicholas A. | Isolated control plane addressing |
US7385965B2 (en) * | 2000-08-10 | 2008-06-10 | Alcatel-Lucent Canada Inc. | Multiprocessor control block for use in a communication switch and method therefore |
US7233567B1 (en) * | 2000-09-22 | 2007-06-19 | Nortel Networks Limited | Apparatus and method for supporting multiple traffic redundancy mechanisms |
FI110561B (fi) * | 2000-12-18 | 2003-02-14 | Nokia Corp | IP-pohjainen puheviestintä matkaviestinjärjestelmässä |
JP2002190825A (ja) * | 2000-12-21 | 2002-07-05 | Fujitsu Ltd | トラフィックエンジニアリング方法及びそれを用いたノード装置 |
US6956821B2 (en) * | 2001-01-30 | 2005-10-18 | Telefonaktiebolaget L M Ericsson (Publ) | Path determination in a data network |
US20020103921A1 (en) * | 2001-01-31 | 2002-08-01 | Shekar Nair | Method and system for routing broadband internet traffic |
US6999454B1 (en) * | 2001-02-09 | 2006-02-14 | Nortel Networks Limited | Information routing system and apparatus |
US6985493B1 (en) * | 2001-02-23 | 2006-01-10 | Cisco Technology, Inc. | Message aggregator for channelized interface programming |
US7061921B1 (en) * | 2001-03-19 | 2006-06-13 | Juniper Networks, Inc. | Methods and apparatus for implementing bi-directional signal interfaces using label switch paths |
US7263597B2 (en) * | 2001-04-19 | 2007-08-28 | Ciena Corporation | Network device including dedicated resources control plane |
US7536715B2 (en) * | 2001-05-25 | 2009-05-19 | Secure Computing Corporation | Distributed firewall system and method |
US7003582B2 (en) * | 2001-06-20 | 2006-02-21 | International Business Machines Corporation | Robust NP-based data forwarding techniques that tolerate failure of control-based applications |
US7054311B2 (en) * | 2001-07-27 | 2006-05-30 | 4198638 Canada Inc. | Methods and apparatus for storage and processing of routing information |
US7065059B1 (en) * | 2001-08-09 | 2006-06-20 | Cisco Technology, Inc. | Technique for restoring adjacencies in OSPF in a non-stop forwarding intermediate node of a computer network |
US6477291B1 (en) * | 2001-09-13 | 2002-11-05 | Nayna Networks, Inc. | Method and system for in-band connectivity for optical switching applications |
US7240123B2 (en) * | 2001-12-10 | 2007-07-03 | Nortel Networks Limited | Distributed routing core |
US20030123457A1 (en) * | 2001-12-27 | 2003-07-03 | Koppol Pramod V.N. | Apparatus and method for distributed software implementation of OSPF protocol |
US20040136371A1 (en) * | 2002-01-04 | 2004-07-15 | Muralidhar Rajeev D. | Distributed implementation of control protocols in routers and switches |
US8005980B2 (en) * | 2002-01-24 | 2011-08-23 | Alcatel Lucent | Method and apparatus for synchronizing redundant communication tasks |
US7535913B2 (en) * | 2002-03-06 | 2009-05-19 | Nvidia Corporation | Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols |
JP2003298633A (ja) * | 2002-04-05 | 2003-10-17 | Fujitsu Ltd | 制御チャネル障害時のデータチャネル障害通知機能を有する伝送装置 |
KR100474677B1 (ko) * | 2002-04-18 | 2005-03-08 | 삼성전자주식회사 | 분산 구조 라우터에서 라우팅 프로토콜 모듈의 결함 발생검사방법 |
US7417987B2 (en) * | 2002-06-04 | 2008-08-26 | Lucent Technologies Inc. | Distribution of forwarding information in a network node |
US20050089027A1 (en) * | 2002-06-18 | 2005-04-28 | Colton John R. | Intelligent optical data switching system |
US20040066782A1 (en) * | 2002-09-23 | 2004-04-08 | Nassar Ayman Esam | System, method and apparatus for sharing and optimizing packet services nodes |
US7644177B2 (en) * | 2003-02-28 | 2010-01-05 | Cisco Technology, Inc. | Multicast-routing-protocol-independent realization of IP multicast forwarding |
US7272310B2 (en) * | 2003-06-24 | 2007-09-18 | Intel Corporation | Generic multi-protocol label switching (GMPLS)-based label space architecture for optical switched networks |
US7606140B2 (en) * | 2003-08-28 | 2009-10-20 | Alcatel Lucent | Distributed and disjoint forwarding and routing system and method |
US20050074003A1 (en) * | 2003-10-02 | 2005-04-07 | Ball David Alexander | Distributed software architecture for implementing BGP |
-
2003
- 2003-11-03 US US10/713,586 patent/US8085765B2/en not_active Expired - Fee Related
-
2004
- 2004-11-03 WO PCT/US2004/036761 patent/WO2005043845A1/en active Application Filing
- 2004-11-03 CN CN2004800396910A patent/CN1918856B/zh not_active Expired - Fee Related
- 2004-11-03 JP JP2006535471A patent/JP2007509540A/ja active Pending
- 2004-11-03 KR KR1020067008647A patent/KR100831466B1/ko not_active IP Right Cessation
- 2004-11-03 GB GB0610526A patent/GB2424158A/en not_active Withdrawn
- 2004-11-05 TW TW093133876A patent/TWI270276B/zh not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030128668A1 (en) | 2002-01-04 | 2003-07-10 | Yavatkar Rajendra S. | Distributed implementation of control protocols in routers and switches |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101053747B1 (ko) | 2009-12-29 | 2011-08-02 | 한남대학교 산학협력단 | Bgp 네트워크의 보안 방법 및 이를 위한 라우터 |
Also Published As
Publication number | Publication date |
---|---|
TWI270276B (en) | 2007-01-01 |
JP2007509540A (ja) | 2007-04-12 |
WO2005043845A1 (en) | 2005-05-12 |
CN1918856A (zh) | 2007-02-21 |
KR20060085930A (ko) | 2006-07-28 |
GB0610526D0 (en) | 2006-07-05 |
CN1918856B (zh) | 2011-09-07 |
US8085765B2 (en) | 2011-12-27 |
TW200525960A (en) | 2005-08-01 |
US20050105522A1 (en) | 2005-05-19 |
GB2424158A (en) | 2006-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11870809B2 (en) | Systems and methods for reducing the number of open ports on a host computer | |
EP3298719B1 (en) | Network device and method for processing a session using a packet signature | |
EP3281377B1 (en) | Methods and devices for access control of data flows in software defined networking system | |
US7634554B2 (en) | TTL exploration technique for determining capabilities and configuration of a peer router | |
US8745723B2 (en) | System and method for providing unified transport and security protocols | |
RU2269873C2 (ru) | Беспроводное устройство инициализации | |
US7706381B2 (en) | Approaches for switching transport protocol connection keys | |
US6779033B1 (en) | System and method for transacting a validated application session in a networked computing environment | |
Touch et al. | A recursive network architecture | |
Barré | Implementation and assessment of modern host-based multipath solutions. | |
US20070276931A1 (en) | Systems and Methods for Protocol Detection in a Proxy | |
US11329916B2 (en) | Device information method and apparatus for directing link-layer communication | |
US20220070062A1 (en) | User information method and apparatus for directing link-layer communication | |
KR100831466B1 (ko) | 분산형 외부 게이트웨이 프로토콜 | |
Mortensen et al. | DDoS open threat signaling (DOTS) requirements | |
US11038994B2 (en) | Technique for transport protocol selection and setup of a connection between a client and a server | |
EP1189410B1 (en) | Processing of data packets within a network cluster | |
Hosia | Comparison between RADIUS and Diameter | |
Kabir et al. | Customer Edge Switching: A Security Framework for 5G | |
Aoun | A NAT and Firewall signaling framework for the Internet | |
But et al. | ANGEL-Architecture | |
Chowdhury et al. | Packet Classification with Explicit Coordination |
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 | ||
FPAY | Annual fee payment |
Payment date: 20130503 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140502 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150430 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20160427 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |