Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

RIFT 개요 및 설정

RIFT(Routing in Fat Tree)는 CLOS 기반 및 팻 트리 네트워크 토폴로지의 변형에서 패킷을 라우팅하는 데 사용할 수 있는 제로 OpEx 라우팅 프로토콜입니다. 이는 링크 상태 및 거리 벡터 기술의 하이브리드이며 IP 패브릭에 관리 용이성, 네트워크 복원력 추가 등 여러 가지 이점을 제공합니다.

Junos의 RIFT(Routing in Fat Tree) 프로토콜 구현 이해

RIFT 프로토콜의 이점

RIFT 프로토콜은 다음을 가능하게 하는 제로 OpEx 라우팅 프로토콜입니다.

  • 필요한 구성이 거의 필요 없으므로 IP 패브릭 관리가 더 간단합니다.

  • 광범위한 추적 및 로깅 기능으로 IP 패브릭의 확장 이점을 제공합니다.

  • 루프 없이 경로 활용도를 극대화하여 IP 패브릭에서 복원력을 추가합니다.

디스턴스 벡터와 링크 상태 프로토콜의 하이브리드인 RIFT 프로토콜은 두 프로토콜 유형의 장점을 모두 그대로 이어받아 다음과 같은 추가 이점을 제공합니다.

  • 가능한 가장 빠른 컨버전스.

  • 토폴로지 자동 감지.

  • TOR(Top-of-Rack) 디바이스의 최소 경로.

  • 높은 수준의 ECMP(Equal-cost 다중 경로).

RIFT 프로토콜 개요

CLOS 및 팻트리 아키텍처(스파인 및 리프 모델이라고도 함)에서 IP 포워딩 기반 데이터센터의 구축이 증가함에 따라 현재 필요한 라우팅 결정을 처리하는 데 IGP(Interior Gateway Protocol) 및 BGP가 사용됩니다. 이러한 프로토콜에서 사용되는 접근 방식은 이러한 IP 패브릭의 요구 사항을 충족하지 못하는 복잡하고 비용이 많이 드는 운영 확장에 의존합니다. 이는 IGP 및 BGP 프로토콜이 원래 일반 및 희소 네트워크 토폴로지를 위해 구축되었기 때문입니다. RIFT(Routing in Fat Trees)는 이러한 문제를 극복하고 진화하는 IP 패브릭의 요구 사항을 충족합니다.

RIFT 프로토콜은 개방형 표준 프로토콜입니다. 이는 리프를 향해 확산 계산을 사용하는 거리 벡터 프로토콜과 스파인을 향해 분산 계산 및 플러딩을 사용하는 링크 상태 프로토콜의 하이브리드 버전입니다. 즉, RIFT 프로토콜이 활성화된 상태에서 디바이스는 북쪽 방향으로 링크 상태 정보를 플러딩하는 반면, 리프를 제외한 모든 스위치는 남쪽 방향으로 플러딩되는 기본 경로(정상 조건)를 생성합니다.

RIFT 프로토콜의 주요 기능:

  • fat-tree 토폴로지의 자동 구성.

  • IP 패브릭의 잘못 케이블로 연결된 링크를 자동으로 감지합니다.

  • 데이터센터 네트워크의 각 수준에 보관되는 라우팅 상태 정보의 양을 최소화합니다.

  • 자동으로 플러딩의 양을 최소화합니다.

  • 링크 및 노드 장애 시 접두사를 자동으로 분리하여 블랙홀링 및 최적이 아닌 라우팅을 방지합니다.

  • 비-ECMP 전달을 허용합니다.

  • 사용 가능한 대역폭을 기반으로 스파인으로 향하는 트래픽을 자동으로 재조정합니다.

  • 프로토콜 컨버전스 후에 사용할 수 있는 제한된 키-값 데이터 저장소를 동기화합니다. 예를 들어, 노드에서 더 높은 수준의 기능을 부트스트랩하기 위해서입니다.

자세한 내용은 인터넷 초안 draft-ietf-rift-rift-09(2020년 5월 7일 만료) RIFT: 뚱뚱한 나무의 라우팅을 참조하십시오.

RIFT 프로토콜의 Junos 구현이 네트워크 성능에 미치는 영향

RIFT 프로토콜을 Junos OS에 통합하면 일반적인 데이터센터 아키텍처의 경로 로드와 메모리 사용률에 어느 정도 영향을 미칩니다. 이는 RIFT 프로토콜이 프로토콜 성능을 향상시키기 위해 사용 가능한 모든 코어를 소비할 수 있기 때문입니다.

RIFT의 동적 구성은 완전히 지원되지 않습니다. Junos OS CLI의 구성 변경으로 인해 RIFT 프로토콜이 다시 시작되어 프로토콜이 다시 통합되고 트래픽이 손실될 수 있습니다.

RIFT 프로토콜에서 지원되지 않는 기능

RIFT의 Junos OS 구현은 https://datatracker.ietf.org/doc/rfc9692/ 의 RIFT 인터넷 초안에 설명된 표준을 준수하지만 다음 기능은 지원하지 않습니다.

  • 논리적 시스템

  • SNMP

  • ISSU(In-Service Software Upgrade) 및 무중단 소프트웨어 업그레이드

  • GRES(Graceful 라우팅 엔진 스위치오버)

  • 텔레메트리

  • RIFT의 Junos OS 구현은 다음을 구현하지 않습니다.

    • 키-값 저장소

    • 수평 링크

    • 리프-2리프 지원

    • 네거티브 디스어그리게이션

    • 접두사의 모빌리티 속성

    • 인터페이스의 레이블 바인딩

RIFT 프로토콜 활성화

RIFT 소프트웨어 패키지는 독립형 패키지이며, 주니퍼의 프로토콜 구현은 멀티 코어 프로세서 아키텍처의 최적 활용을 위해 설계된 최신 메모리 및 스레드 안전 프로그래밍 언어로 실행됩니다.

RIFT 프로토콜은 연결된 RIFT 프로세스를 초기화하고 제로터치 구성 기본값이 구성을 통해 적용됩니다. 또한 모든 이더넷 인터페이스에서 RIFT를 자동으로 활성화합니다. 는 system-id 시스템 MAC 주소에서 자동으로 파생되며 level 프로토콜 작업의 검색 부분을 통해 자동으로 결정됩니다.

RIFT 프로토콜은 필요한 구성이 거의 0에 가깝게 필요합니다. RIFT 프로토콜을 활성화하면 패키지 기본값에서 junos-rift 필요한 구성이 자동으로 상속되므로 IP 패브릭을 더 간단하게 관리할 수 있습니다.

시작하기 전에

프로토콜을 활성화하기 전에 디바이스에 RIFT 소프트웨어 패키지를 다운로드하여 설치해야 합니다.

RIFT 프로토콜을 설치하려면 다음을 수행합니다.

  1. 기본 Junos OS 소프트웨어와 함께 실행해야 하는 소프트웨어 패키지에서 특수 junos-rift 패키지를 다운로드합니다.

    참고:
    • 패키지가 배포된 기본 Junos OS 소프트웨어는 junos-rift 64비트 버전이어야 하며 Junos OS 릴리스 19.4R1부터 시작해야 합니다.

    • 패키지를 junos-rift 설치하는 동안 장치를 CLOS 아키텍처로 케이블로 연결해야 합니다.

    • junos-rift 별도의 패키지이므로 Junos OS 기본 패키지와 별도로 라이선스를 부여받을 수 있습니다.

      패키지의 junos-rift 사용권은 최종 사용자 사용권 계약 에 따라 부여되며, 특히 섹션 15, 16 및 17에 중점을 둡니다.

  2. 소프트웨어 패키지에서 패키지의 junos-rift 압축을 풀고 호스트 디바이스의 디렉터리에 /var/tmp 다운로드합니다.

  3. 소프트웨어 패키지를 성공적으로 다운로드한 후 다음 명령을 실행합니다.

    예를 들면 다음과 같습니다.

RIFT 프로토콜을 활성화하려면 디바이스에서 RIFT 소프트웨어 패키지를 활성화해야 합니다. 명령을 사용하여 request rift package activate RIFT를 활성화하거나 지정된 파일의 RIFT 구성을 수동으로 로드하여 CLI의 현재 구성과 결합할 수 있습니다.

Enabling RIFT Using Activate Command

다음 명령을 사용하여 RIFT 소프트웨어 패키지를 활성화하려면:request rift package activate

패키지를 junos-rift 성공적으로 설치한 후 다음 명령을 실행합니다.

activate 명령은 RIFT 구성을 자동으로 커밋합니다.

Enabling RIFT Using Load Command

RIFT 구성을 수동으로 로드하려면:

  1. 패키지를 junos-rift 성공적으로 설치한 후 다음 명령을 실행하여 지정된 파일의 RIFT 구성을 로드하고 CLI의 현재 구성과 결합합니다.

    여기서는 호스트 platform 디바이스이며, 또는 vmx중 하나mxqfx일 수 있습니다.

  2. 구성을 커밋합니다.

Enabling RIFT in CLOS-based Topology (ZTP Mode)

참고:

CLOS 토폴로지에서 RIFT 소프트웨어 패키지를 활성화하려면 추가 구성이 필요합니다. 토폴로지에서 패브릭 최상위 노드를 식별하고 기본 구성에서 수준을 재정의 auto 하도록 모든 패브릭 최상위 디바이스를 구성해야 합니다.

CLOS 기반 토폴로지에서 RIFT 소프트웨어 패키지를 활성화하려면 다음을 수행합니다.

  1. 기본 구성에서 자동 수준을 재정의하고 선택적으로 수준을 수동으로 지정합니다.

  2. 추가 구성을 커밋합니다.

Traceoptions for RIFT

RIFT 프로토콜을 활성화하면 필요한 구성이 자동으로 상속되지만, 선택적 구성으로 최소 추적을 추가로 구성할 수 있습니다.

RIFT에 대한 추적 옵션을 구성하려면 다음을 수행합니다.

  1. rift 문 아래에서 traceoptions 및 proxy-process 매개 변수를 지정합니다.

    예를 들면 다음과 같습니다.

Verifying RIFT Configuration

다음 계층 수준에서 RIFT 프로토콜 구성을 확인할 수 있습니다.

  • [groups rift-defaults]

  • [interfaces interface-range rift-interfaces]

  • [protocols rift]

패키지에서 적용된 기본값을 확인하여 RIFT 구성을 확인할 수도 있습니다.junos-rift 이렇게 하려면 명령을 실행합니다.show configuration protocols rift | display inherited

예를 들면 다음과 같습니다.

표 1 에는 RIFT 프로토콜 구성 및 상태를 확인하는 데 사용할 수 있는 명령이 나와 있습니다.

표 1: RIFT 프로토콜 구성을 확인하는 명령

명령

설명

show rift

RIFT 프로토콜의 런타임 상태를 검사합니다.

show route protocol rift

RIFT 프로토콜은 다른 프로토콜이 허용되는 정책 및 명령에서 사용할 수 있습니다.

show route protocol rift extensive display-client-data

자세한 RIFT 설치 경로를 확인합니다.

clear rift database content

RIFT 데이터베이스를 지웁니다.

restart rift-proxyd

RIFT 프로토콜을 다시 시작합니다.

자세한 내용은 소프트웨어 패키지 배포의 FAQ 파일을 참조하십시오.

Troubleshooting the RIFT Protocol

RIFT 프로토콜은 매우 극단적인 경우를 제외하고는 코어 파일을 생성하지 않습니다. 광범위한 로깅과 때로는 종료 시 역추적을 통해 모든 실패를 보고합니다. RIFT 프로세스는 traceoptions 구성을 사용하여 수집할 수 있는 구성 가능한 추적 이벤트를 제공합니다.

RIFT 구현 문제를 해결하려면 다음을 참조하십시오.

  • Forming Adjacency

    Problem

    RIFT 인접성이 위아래로 플랩핑되어 거부 또는 Remote Uses Our Own SystemID 오류가 표시됩니다Multiple Neighbors.

    Solution

    RIFT 프로토콜은 이더넷 링크에서 두 개 이상의 이웃을 지원하지 않아 포인트 투 포인트 인접성을 형성하거나 노드의 자체 인터페이스를 루프백합니다. 케이블 연결을 확인하고 수정합니다.

  • Undefined Level

    Problem

    모든 스위치는 정의되지 않은 레벨을 표시하고 3방향 인접성을 형성하지 않지만 링크 정보 요소(LIE)는 전송 및 수신되고 있습니다.

    Solution

    패브릭 최상위 수준 구성이 없을 수도 있습니다. 모든 패브릭 최상위 디바이스는 ZTP에 대한 앵커를 제공하기 위해 패브릭 최상위 수준으로 구성되어야 합니다.

  • Loopback Address

    Problem

    RIFT의 노드에 대한 루프백 주소를 가져올 수 없습니다.

    Solution

    모든 루프백 주소를 패브릭 최상위 위치에 두려면 가장 간단한 방법은 필요한 모든 노드에서 루프백 주소를 구성하고 이를 북쪽 방향으로 RIFT에 재배포하는 것입니다. 이를 위해 다음 구성이 필요합니다.

    이 구성을 통해 모든 리프가 패브릭 최상위 디바이스를 제외한 다른 모든 노드의 루프백 주소를 ping할 수 있습니다.

    패브릭 상단 디바이스가 리프 디바이스에서도 도달할 수 있거나 그 반대의 경우, 패브릭 상단 루프백 주소는 한 단계 아래(즉, 사우스바운드)에 노출되어야 합니다. 이를 위해 다음 구성이 필요합니다.

    참고:

    패브릭 최상위 주소가 모든 리프 노드로 전파될 수 있도록 하려면 계층 수준에서 [edit protocols rift export southbound] 옵션을 구성 allow-rift-routes 합니다.

  • System Log Error Messages

    RIFT 프로세스는 시스템 로그 메시지를 생성하여 RIFT 프로토콜을 Junos OS에 통합하는 것과 관련된 오류를 기록합니다. 시스템 로그 메시지를 해석하려면 다음을 참조하십시오.

    • RIFT_PROXYD_ALREADY_RUNNING—RIFT 프로세스의 또 다른 인스턴스가 이미 실행 중입니다.

    • RIFT_PROXYD_CONNECT_RIFT- 로컬 RIFT 프로세스에 연결하려는 시도가 실패했습니다.

    시스템 로그 오류 메시지에 대한 자세한 내용은 시스템 로그 탐색기를 참조하십시오.