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 피어 라우터로 전송되는 정보의 순서를 지정하는 데 도움이 됩니다.

기본 구성에서, 즉 우선 순위를 무시하는 구성이나 정책이 없는 경우 라우팅 프로토콜 프로세스(rpd)는 BGP 경로를 RIB(Routing Information Base)당 출력 대기열에 넣습니다.output-queue-priority 라우팅 테이블이라고도 하는 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 업데이트 메시지를 만드는 작업에 해당합니다. 모든 대기열에는 버킷에 저장된 토큰이 할당됩니다. 지정된 버킷의 토큰 수는 사용자가 구성할 수 있습니다. 이러한 방식으로 사용자는 원하는 비율로 경로를 제공할 수 있는 정책을 만들 수 있습니다. 우선 순위 스케줄러의 구성은 계층 수준에서 BGP 내에서 전역적으로 수행됩니다.[edit protocols 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개의 출력 대기열 집합을 사용합니다. 우선 순위가 지정된 17개의 출력 대기열(1-16 및 신속)에는 기본적으로 1개의 토큰이 할당되어 있습니다. 1에서 100 사이의 토큰을 17개의 대기열 각각에 할당할 수 있습니다. 대기열에 토큰을 할당하면 대기열 내의 경로에서 수행되는 작업량의 균형을 맞출 수 있습니다. 또한 높음, 중간 및 낮은 우선 순위 큐잉에 대한 기본 설정은 각 키워드를 번호가 매겨진 특정 출력 큐에 할당하여 구성할 수 있습니다. 이 예에서는 고유한 수의 작업 토큰으로 17개의 우선 순위 대기열을 각각 구성하고, inet 유니캐스트 경로에 대한 전역 출력 우선 순위도 구성하며, 글로벌 우선 순위 설정을 재정의하도록 일부 BGP 그룹을 설정하여 상속을 입증합니다.

구성

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

  • 번호가 매겨진 대기열을 기본 , 및 우선순위 대기열로 사용할 대기열을 지정합니다.highmediumlow

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

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

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

CLI 빠른 구성

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

개별 출력 우선순위 큐 구성

단계별 절차

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

  1. 우선 순위가 지정된 17개의 출력 대기열 각각에 업데이트 토큰 할당Assign update tokens to each of the 17 prioritized output queues

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

단계별 절차

결과

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

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

절차

단계별 절차
  1. 글로벌 경로 구성:output-queue-priorityinet unicast

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이며, 철회 우선 순위는 신속함을 보여줍니다. 인접 라우터 224.223.1.1에 대한 출력 대기열 우선 순위는 4이고, 경로 새로 고침 우선 순위는 6이며, 철회 우선 순위는 패밀리 에 대한 기본 설정 또는 3입니다.inet unicast

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

목적

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

작업
의미

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

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

다음 예제에서는 경로가 경로보다 먼저 수렴될 수 있도록 BGP 경로 우선 순위를 구성합니다.inet labeled-unicastinet unicast

요구 사항

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

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

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

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

개요

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

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

BGP 경로 우선 순위 구성

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

R1에서:

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

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

  • labeled-unicast 트래픽을 더 높은 우선 순위 output-queue에 할당하는 데 사용할 internal이라는 BGP 그룹을 생성합니다.

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

  • RIB 그룹으로 가져올 RIB 부분을 결정하는 정책을 생성합니다.inet.0

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 인접 라우터 192.0.2.2에 대해 대기 중인 경로 업데이트를 보려면 운영 모드에서 명령을 실행합니다 show bgp neighbor output-queue 192.0.2.2

의미

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