Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

BGP 경로 우선 순위 지정

BGP 경로 우선 순위 지정 이해

BGP는 오늘날 가장 널리 배포된 라우팅 프로토콜 중 하나이며 NLRI(Network Layer Reachability Information)뿐만 아니라 다양한 유형의 VPN 연결성 정보를 전달하지만, 이 프로토콜은 BGP 업데이트 메시지에서 정보가 어떻게 정렬되는지 지정하지 않는다는 점은 주목할 만합니다. 이 결정은 구현에 맡겨져 있습니다.

대규모 시스템에서 BGP는 시스템 간에 라우팅 정보를 교환하는 데 상당한 시간이 걸릴 수 있습니다. 이는 특히 BGP 시작, 경로 새로 고침 작업 및 Graceful Restart를 지원할 때 그렇습니다. 처리해야 하는 많은 양의 정보를 처리하기 위해 BGP 경로 처리는 대기열을 사용하여 수행됩니다. 아웃바운드 경로는 처리를 위해 출력 대기열에 배치됩니다. BGP 경로 우선 순위 지정은 사용자가 BGP 업데이트 메시지의 우선 순위를 결정할 수 있도록 하는 수단으로 Junos OS 릴리스 16.1에 도입되었습니다. BGP 경로 우선 순위 지정은 출력 대기열에서 엄격하게 작동하는 프로세스로, BGP 피어 라우터로 전송되는 정보의 순서를 지정하는 데 도움이 됩니다.

기본 구성에서, 즉 우선 순위를 우선하는 구성 또는 정책이 존재하지 않는 output-queue-priority 경우, 라우팅 프로토콜 프로세스(rpd)는 BGP 경로를 라우팅 정보 베이스(RIB)당 출력 대기열로 대기열에 넣습니다. 라우팅 테이블이라고도 하는 RIB는 inet.0과 같은 특정 주소 패밀리와 vrf.inet.0과 같은 라우팅 인스턴스 테이블 모두에 해당합니다. 출력 대기열을 처리하는 동안 BGP 업데이트 코드는 비어 있지 않은 출력 대기열이 있는 다음 RIB로 이동하기 전에 현재 RIB의 출력 대기열을 플러시합니다.

참고:
  • 이론적으로 경로의 우선 순위를 자동으로 지정하려는 시도는 없습니다. 따라서 개별 경로의 우선 순위 지정은 전적으로 사용자에게 맡겨집니다.

  • 피어 그룹에 대한 BGP 경로 우선 순위가 변경되면 BGP 피어 세션이 재설정됩니다.

BGP 경로 우선 순위 지정 사용 사례

표 1 은 경로 우선 순위 지정의 이점을 누릴 수 있는 경로 유형과 이러한 경로의 이점을 누릴 수 있는 이유에 대한 몇 가지 참고 사항을 보여줍니다. 이러한 유형의 경로의 예도 포함되어 있습니다. 주어진 대규모 환경 내에서 이러한 경로의 우선 순위를 지정하면 라우터가 중요한 경로 변경에 보다 신속하게 대응하는 데 도움이 될 수 있습니다.

표 1: BGP 경로 우선 순위 지정 사용 사례

경로 또는 업데이트 유형

노트

예문

BGP 다음 홉을 즉시 포워딩 다음 홉으로 해결하는 데 사용되는 접두사

이러한 접두사는 가능한 한 빨리 변경해야 합니다.

  • 호스트 경로

  • 재귀적 해결 요구 사항의 일부인 접두사

터널 엔드포인트에 사용되는 경로

GRE 또는 MPLS와 같은 터널 엔드포인트는 종종 BGP 다음 홉으로 사용됩니다.

BGP 레이블링된 유니캐스트 경로

프로토콜 기능의 작동에 중요한 경로 유형

일부 VPN 프로토콜의 경우, 프로토콜 내에서 시간에 민감한 변경을 트리거하기 위해 특정 경로 유형이 사용됩니다. 이러한 경로는 가능한 한 빨리 변경해야 합니다.

  • MVPN 소스 능동 자동 검색(유형 5)

  • 멀티호밍 VPLS 사이트

서비스 프로바이더 인프라 경로

이러한 경로는 서비스 프로바이더의 비즈니스 수행 능력에 매우 중요합니다. 정확한 최신 경로가 없으면 서비스 프로바이더는 일부 서비스 오퍼링을 제공하지 못할 수 있습니다.

  • 내부 관리 네트워크

  • 네트워크 운영 접두사

  • DNS 리소스

네트워크 토폴로지 변경

간단한 경로 새로 고침보다 우선순위를 두어야 합니다.

  • 네트워크에 추가된 새 라우터

  • 네트워크에서 제거된 라우터

BGP 경로 우선 순위 지정의 속성

Junos OS의 BGP 경로 우선 순위 지정은 사용자 구성 토큰 메커니즘에 의해 서비스되는 17개의 우선 순위가 지정된(번호가 지정된) 출력 대기열 집합을 사용하여 구현됩니다. 이 섹션에서는 우선 순위가 지정된 출력 대기열, 토큰 시스템의 작동 및 대기열에 경로 할당에 대해 설명합니다.

우선 순위가 지정된 출력 대기열

표 2 는 우선 순위 지정 시스템 내에서 사용 가능한 출력 대기열과 해당 기능을 보여줍니다. 우선 순위 지정 시스템은 기존의 낮음, 중간, 높은 우선 순위 척도로 작동하며, 1은 가장 낮은 우선 순위이고 16은 가장 높은 우선 순위입니다.

표 2: 우선 순위가 지정된 출력 대기열

대기열

기능

신속 처리

이것은 가장 높은 우선 순위의 출력 대기열입니다. 이 클래스의 경로는 출력 대기열을 플러시하는 동안 출력 대기열 처리의 일부가 보장됩니다. 이 대기열은 번호가 없으며 구성에서 이름으로 참조됩니다.

1(가장 낮은 우선 순위)

우선 순위가 가장 낮은 출력 대기열입니다. 이것은 기본 우선순위 대기열로, 자동 프로토콜 결정 또는 사용자 정책에서 명시적 대기열 할당이 없는 경로가 기본적으로 이 대기열에 배치된다는 것을 의미합니다. 경로 새로 고침 메시지는 기본적으로 이 대기열에 배치됩니다.

2 - 16(낮은 - 높은 우선 순위)

이러한 출력 대기열의 우선 순위는 가장 낮은 우선 순위(2)에서 가장 높은 우선 순위(16)까지 다양합니다. 사용자 정책 또는 BGP 피어 구성에 따라 경로가 할당됩니다. 우선 순위가 높은 출력 대기열의 경로는 우선 순위가 낮은 대기열의 경로를 선점할 수 있습니다.

대기열에 경로 할당

BGP 내보내기 정책을 설정하고 할당하여 다양한 대기열에 경로를 할당할 수 있습니다. 즉, 경로 우선 순위는 각 BGP 피어 그룹 및 BGP 피어 그룹 내의 특정 이웃 구성에서 다를 수 있습니다. 정책 문의 작업 부분을 사용하여 대기열에 경로를 할당할 수도 있습니다. 정책 문의 작업에 의한 대기열에 대한 경로 할당은 BGP 구성에 의한 할당보다 우선합니다.

경로가 대기열에 할당되는 경우

우선 순위가 지정된 경로는 경로 처리 중에만 해당 대기열에 추가됩니다. 이는 일반적으로 다음과 같은 조건에서 발생합니다.

  • 설정된 BGP neighbor에서 경로가 수신되는 경우.

  • 재구성 또는 피어의 초기 설정 중과 같은 라우팅 테이블 워크 중.

라우팅 테이블 워크는 시스템의 내부 라우팅 테이블 순서에 따라 테이블에서 경로를 순차적으로 처리합니다. 예를 들어, inet.0, inet6.0등입니다. 이 내부 순서는 미리 결정되어 있으며 운영자가 수정할 수 없습니다.

우선 순위가 높은 경로가 순서의 나중에 처리되는 라우팅 테이블에 있는 경우, 이러한 경로는 프로세스 초반에 발견된 우선 순위가 낮은 경로 이후에 대기열에 추가될 수 있습니다.

작업 토큰 메커니즘

토큰은 BGP 업데이트 메시지를 만드는 작업에 해당합니다. 모든 대기열에는 버킷에 저장된 토큰이 할당됩니다. 주어진 버킷의 토큰 수는 사용자가 구성할 수 있습니다. 이러한 방식으로 사용자는 원하는 비율로 경로를 제공할 수 있는 정책을 만들 수 있습니다. 우선순위 스케줄러의 구성은 계층 수준에서 [edit protocols bgp] BGP 내에서 전역적으로 수행됩니다. 기본적으로 모든 우선순위 대기열에는 잘못 구성된 우선순위가 굶주리지 않도록 버킷에 토큰이 1개 이상 있습니다.

대기열 우선 순위 및 공정성 이해

BGP 경로 우선 순위 지정에 사용되는 체계는 공정성과 우선 순위의 두 가지 요소에 중점을 둡니다.

  • 공정성은 주어진 대기열에 해야 할 작업이 있을 때 다른 대기열이 특정 시점에서 일부 작업을 완료하도록 보장됨을 의미합니다. 각 큐가 완료할 수 있는 작업량은 각 우선순위에 할당된 토큰 수에 따라 결정됩니다.

  • 우선 순위는 경쟁 작업이 있고 공정성이 보장되었을 때 항상 더 중요한 작업을 선택하는 것을 의미합니다.

예를 들어, 낮음, 중간, 높음의 세 가지 우선 순위 클래스를 가정합니다. 이들은 각각 대기열 1, 2 및 3에 할당될 수 있습니다. 또는 대기열 3, 6 및 9에 할당할 수 있습니다. 공정성을 위해 우선 순위가 높은 것이 사용 가능한 작업의 50%, 중간이 35%, 낮음이 나머지 15%를 얻도록 결정된 경우 토큰은 50에서 높음, 35에서 중간, 15에서 낮음으로 할당할 수 있습니다. 또는 토큰을 5에서 높음, 4에서 중간, 2에서 낮음으로 할당할 수 있습니다. 17개의 대기열 중 하나에 1에서 100 사이의 값을 할당할 수 있습니다. 모든 큐의 총 토큰 수에 대한 단일 큐의 토큰 수의 비율은 각 큐에서 수행될 작업의 백분율을 제공합니다.

우선순위는 작업 스케줄러에 의해 토큰이 다른 큐에서 소비되는 동안 작업이 큐에 표시될 때 가장 중요합니다. 표 3 은 이에 대한 예의 시작점을 보여줍니다.

표 3: 대기열 및 토큰

우선순위 대기열(대기열 번호)

대기열에 할당된 토큰 수

대기열에 남은 토큰 수

대기열의 항목 수

높음 (9)

50

50

0

중간 (6)

35

15

5000

낮음 (3)

15

15

10000

작업 스케줄러가 중간 큐(큐 번호 6)를 처리 중이고 20개의 토큰을 사용했다고 가정하는 경우, 중간 큐의 나머지 항목에 사용할 15개의 토큰과 낮은 우선순위 큐에 사용할 15개의 토큰이 남아 있습니다. 작업 스케줄러의 다음 실행 전에 5개의 항목이 신속 큐에 도착하면 신속 큐에 50개의 토큰이 남아 있으므로 해당 5개의 항목이 먼저 전송됩니다.

대기열 서비스 절차

대기열 서비스 절차는 각 그룹이 자체 토큰 버킷을 유지하면서 BGP 피어 그룹별로 작동합니다.

  • 각 우선순위에 대한 토큰 버킷은 구성된 토큰 수 또는 기본값 1에서 가득 차게 시작됩니다.

  • BGP 업데이트를 시작하기 위해 대기열에서 경로 항목을 가져올 때마다 해당 대기열에서 토큰이 차감됩니다.

  • 신속 대기열에 토큰이 있는 동안, 다른 모든 대기열 항목은 경로 패킹 규칙에 따라 신속 대기열에서 뽑힙니다.

  • 항목은 우선 순위가 가장 높은 대기열에서 가져옵니다. 즉, 큐 서비스 메커니즘의 실행 사이에 항목이 더 높은 우선 순위 큐에 추가되고 해당 높은 우선 순위 큐에서 사용 가능한 토큰이 있는 경우 더 높은 우선 순위 큐의 새 항목이 먼저 전송되므로 낮은 우선 순위 큐의 항목이 선점됩니다. 새 항목이 도착할 때 우선순위가 높은 큐에 사용 가능한 작업 토큰이 없는 경우, 다음 토큰 새로 고침이 있을 때까지 새 항목이 전송되지 않습니다.

  • 토큰은 모든 우선순위 대기열이 서비스된 후(대기열에 남은 항목이 없음) 또는 모든 토큰이 소진될 때 새로 고쳐집니다.

예: BGP 출력 우선 순위 스케줄러 및 글로벌 주소 패밀리 우선 순위 구성

이 예는 시스템 전체의 BGP 경로 우선순위 스케줄러를 구성하고 테스트하는 방법을 보여줍니다.

요구 사항

이 예에서 사용되는 하드웨어 및 소프트웨어 구성 요소는 다음과 같습니다.

  • Junos OS 릴리스 16.1 이상을 실행하는 MX 시리즈 라우터(R1)

BGP 경로 우선 순위 지정 스케줄러를 구성하기 전에 BGP 프로토콜이 라우터에서 실행되고 있는지 확인하십시오.

개요

BGP 경로 우선 순위 스케줄러는 경로 우선 순위 시스템의 17개 출력 대기열 내에서 수행되는 작업량을 제어하는 데 사용됩니다. 시스템은 작업 토큰이 할당되는 라우팅 인스턴스당 우선순위가 지정된 출력 큐 집합을 사용합니다. 우선 순위가 지정된 17개의 출력 대기열(1-16 및 신속함) 모두에는 기본적으로 1개의 토큰이 할당됩니다. 1에서 100 사이의 토큰을 17개의 대기열 각각에 할당할 수 있습니다. 대기열에 토큰을 할당하면 대기열 내의 경로에서 수행되는 작업량의 균형을 맞출 수 있습니다. 또한 우선 순위가 높음, 중간, 낮음 대기열에 대한 기본 설정은 각 키워드를 특정 번호가 매겨진 출력 대기열에 할당하여 구성할 수 있습니다. 이 예에서는 17개의 우선 순위 대기열 각각을 고유한 수의 작업 토큰으로 구성하고, inet 유니캐스트 경로에 대한 전역 출력 우선 순위를 구성하고, 전역 우선 순위 설정을 재정의하도록 일부 BGP 그룹을 설정하여 상속을 시연합니다.

구성

  • 17개의 출력 대기열 각각에 할당 update-tokens 합니다.

  • 기본 high, medium, 및 low 우선순위 대기열로 사용될 번호가 지정된 대기열을 지정합니다.

  • 경로에 대한 inet unicast 전역 출력 우선 순위를 구성합니다.

  • 그룹 재정의 기능을 표시할 test1이라는 BGP 그룹을 구성합니다.

  • 전역 상속을 표시할 test2라는 BGP 그룹을 구성합니다.

CLI 빠른 구성

이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경한 다음, 계층 수준에서 [edit] 명령을 복사하여 CLI에 붙여 넣습니다.

개별 출력 우선순위 대기열 구성

단계별 절차

다음 예에서는 구성 계층에서 다양한 수준을 탐색해야 합니다. CLI 탐색에 대한 정보는 Junos OS CLI 사용자 가이드구성 모드에서 CLI 편집기 사용을 참조하십시오.

  1. 우선 순위가 지정된 17개의 출력 대기열 각각에 업데이트 토큰을 할당합니다

우선 순위가 높음, 중간, 낮음 경로 업데이트에 사용할 기본 대기열 구성

단계별 절차

결과

구성을 확인하려면 운영 모드에서 명령을 실행합니다.show bgp output-scheduler

경로 패밀리에 대한 글로벌 출력 우선 순위 구성

절차

단계별 절차
  1. 경로에 대해 inet unicast 전역 output-queue-priority 을 구성합니다.

test1이라는 BGP 그룹 구성

절차

단계별 절차
  1. 글로벌 출력 우선 순위를 재정의하고 그룹을 재정의하는 이웃 하나와 그렇지 않은 이웃 하나를 포함하도록 그룹을 test1 구성합니다.

test2라는 BGP 그룹을 구성합니다

단계별 절차
  1. 글로벌 기본값을 수락하도록 BGP 그룹을 test2 구성합니다.

검증

BGP 출력 스케줄러 구성 확인

목적

BGP 출력 스케줄러의 구성을 확인하려면 운영 모드에서 명령을 실행합니다 show bgp output-scheduler .

작업

의미

출력은 출력 스케줄러 구성이 각 출력 대기열에 적절한 수의 토큰을 성공적으로 적용했으며 우선 순위 높음, 중간, 낮음 키워드가 적절한 출력 대기열에 할당되었음을 보여줍니다.

그룹 구성, 그룹 재정의 및 이웃 재정의 확인

목적

구성된 그룹이 그룹 재정의, 이웃 재정의 및 상속을 보여주는지 확인하려면 운영 모드에서 명령을 실행합니다 show bgp group group-name .

작업
의미

출력은 피어 224.223.2.2에 대한 출력 대기열 우선 순위가 7이고, 경로 새로 고침 우선 순위가 8이며, 철회 우선 순위가 신속해진다는 것을 보여줍니다. neighbor 224.223.1.1의 출력 대기열 우선 순위는 4이고, 경로 새로 고침 우선 순위는 6이며, 철회 우선 순위는 패밀리 inet unicast의 기본 설정 또는 3입니다.

전역 우선 순위 설정에서 상속 확인

목적

글로벌 BGP 경로 우선 순위 설정 우선 순위 설정을 재정의하도록 구성되지 않은 그룹을 확인하려면 운영 수준에서 명령을 실행 show bgp group group-name 합니다.

작업
의미

출력은 그룹 내 test2 경로에 대한 inet unicast 기본 경로 우선 순위가 글로벌 구성과 일치함을 보여줍니다.

예: BGP 경로 우선 순위 지정을 사용하여 라우팅 테이블 컨버전스 제어

다음 예에서는 경로가 경로 전에 inet unicast 수렴되도록 BGP inet labeled-unicast 경로 우선 순위를 구성합니다.

요구 사항

이 예에서 사용되는 하드웨어 및 소프트웨어 구성 요소는 다음과 같습니다.

  • Junos OS 릴리스 16.1 이상을 실행하는 MX 시리즈 라우터(R1)는 이 예의 초점이 될 것입니다.

  • R1과 내부 BGP 피어로 구성된 두 번째 라우터(R2).

  • R1의 라우팅 테이블을 채우는 데 사용될 BGP 경로 리플렉터(RR). 이 예에서는 경로 리플렉터를 구성하지 않습니다.

개요

BGP 경로 우선 순위 지정 기능은 라우터에서 아웃바운드 BGP 업데이트 메시지의 우선 순위를 지정할 수 있도록 설계되었습니다. BGP 경로 우선 순위 지정을 사용하면 GRE 또는 MPLS 터널 엔드포인트 변경과 같은 더 중요한 BGP 경로 업데이트가 경로 새로 고침 업데이트와 같이 덜 중요한 BGP 경로 업데이트보다 먼저 전송되도록 할 수 있습니다.

이 예에서는 R2에 대한 경로 업데이트를 경로 업데이트보다 inet unicast 더 높은 우선 순위로 처리 inet labeled-unicast 하도록 R1을 구성합니다. 이를 위해 피어 라우터인 R1의 경로를 모두 inet unicast inet labeled-unicast 수락하도록 R2 라우터를 구성합니다. 그런 다음 경로 리플렉터에서 R1의 라우팅 테이블을 inet.0 채우고 import를 사용하여 rib-group 해당 테이블의 일부를 테이블 inet.3labeled-unicast 가져옵니다. 경로가 R1에서 대기열에 있으므로 RIB의 경로가 RIB의 inet.3 inet.0 나머지 경로보다 플러시되는지 여부를 관찰하여 작업을 검증할 수 있습니다.

BGP 경로 우선 순위 구성

R2를 R1의 BGP 피어로 구성합니다.

R1에서:

  • 라우터 R2를 라우터 R1의 피어로 구성합니다.

  • 경로 리플렉터에서 인터넷 경로를 가져오는 데 사용할 리플렉터라는 BGP 그룹을 생성합니다.

  • 레이블이 지정된 유니캐스트 트래픽을 더 높은 우선 순위의 출력 대기열에 할당하는 데 사용할 internal이라는 BGP 그룹을 생성합니다.

  • 리플렉터에서 수신한 경로를 가져오는 RIB 그룹을 생성합니다.

  • RIB의 inet.0 어느 부분을 RIB 그룹으로 가져올 것인지를 결정하는 정책을 생성합니다.

CLI 빠른 구성

이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경한 다음, 계층 수준에서 [edit] 명령을 복사하여 CLI에 붙여 넣습니다.

라우터 R2

라우터 R1

절차

단계별 절차

다음 예에서는 구성 계층에서 다양한 수준을 탐색해야 합니다. CLI 탐색에 대한 정보는 Junos OS CLI 사용자 가이드구성 모드에서 CLI 편집기 사용을 참조하십시오.

R2 구성:

  1. internal이라는 BGP 그룹을 구성합니다.

단계별 절차

R1 구성:

  1. RR에서 경로를 수신하는 reflector라는 BGP 그룹을 구성합니다.

  2. internal이라는 BGP 그룹을 구성합니다

  3. into3라는 RIB 그룹을 구성합니다

  4. match-long이라는 라우팅 정책 구성

  5. match-all이라는 라우팅 정책 구성

검증

이웃 업데이트의 우선 순위가 적절한지 확인

목적

경로 업데이트가 적절한 대기열에 배치되고 대기열이 업데이트되고 있는지 확인합니다.

작업

BGP neighbor 192.0.2.2에 대해 대기 중인 경로 업데이트를 보려면 운영 모드에서 명령을 실행 show bgp neighbor output-queue 192.0.2.2 합니다. 출력은 inet-유니캐스트 경로가 inet-labeled-유니캐스트 경로보다 먼저 보급된다는 것을 보여줍니다.

의미

show bgp neighbor output-queue 192.0.2.2 출력은 레이블이 지정된 유니캐스트 경로 업데이트가 우선순위 2 출력 대기열에 배치되고, 우선순위 1 출력 대기열에 있는 유니캐스트 경로 업데이트 전에 우선순위 2 출력 대기열이 비워진다는 것을 보여줍니다.