본문 바로가기

네트워크/Routing Protocol - BGP

BGP (Border Gateway Protocol) 최적 경로 선출 기준 (Best Path Selection)

728x90

● BGP (Border Gateway Protocol) 최적 경로 선출

 

BGP 최적 경로 선출기준은 IGP 보다 풍부하며 또한 선출 기준에 따라 우선순위가 있습니다. 또한 최적 경로 선택 알고리즘은 AS로 들어오는 트래픽 또는 나가는 트래픽에 영향을 줍니다.

 

 BGP (Border Gateway Protocol) 최적 경로 선출 기준

 

BGP 경로 광고에는 Network Layer Reachability Information (NLRI)와 Path Attributes (PAs)가 포함되어 있습니다. NLRI는 Network Prefix, Network Prefix Length와 AS Path, Origin 같은 정보들로 이루어져 있습니다. BGP Table에는 동일한 목적지에 대해 여러개의 경로가 있으며, 경로에 포함된 속성들이 최적 경로 선출에 영향을 주게 됩니다. 

 

해당 속성들을 이용하여 BGP는 최적 경로를 선출하게 됩니다. 최적 경로 선출에 사용되는 기준은 총 11가지가 있습니다. 우선순위가 높은 기준이 먼저소개 됩니다. (오름차순)

  1. Longest Matching Rule 적용
    - 가장 상세한 경로정보를 우선시 하는 기준으로 최적 경로 선출시 가장 먼저 적용됩니다. 다음과 같이 경로 정보를 수신한다면 192.168.0.0/16 보다 192.168.1.0/24 경로 정보를 우선 시 하게 됩니다. /24보다는 /25 를 더 우선 합니다.

  2. Weight (Cisco Only)
    - Cisco 장비에서만 적용되는 우선순위로 Local BGP 라우터에서 수신한 BGP경로가 다수 있을 때 최적 경로 선출에 사용되는 기준이며, 해당 값은 다른 BGP 라우터에게 전달 되지 않습니다.
    - Weight 값의 범위는 0 부터 65,535 까지이며 Weight 값은 inbound route-map을 통해 설정하거나 특정 Neighbor에게 Weight 값을 설정하여 사용 합니다. 

  3. Local Preference (LOCAL_PREF or LP)
    - Local Preference는 Well-Known Discretionary Path Attribute이며 BGP 업데이트 메시지에 포함되는 속성 입니다. Local Preference는 eBGP에게 전달 되지 않으며 iBGP에서 최적 경로 선출 목적으로 사용 됩니다. 
    - 0부터 4,294,967,295사이의 값을 가질 수 있으며 기본값은 100 입니다. LP 값이 높은 경로가 최적 경로로 선출 됩니다.

  4. Local Originated (Network Statement, Redistribution, Aggregation)
    - 외부 Peer에 의해 BGP 테이블에 삽입된 경로 보다, Locally Router가 Network 명령어를 통해 BGP 테이블에 삽입한 경로를 우선시 합니다. 

  5. AIGP (Accumulated  Interior Gateway Protocol)
    - Accumulated IGP (AIGP) 는 Optional Non-Transitive 경로 속성이며, AS 내부에서만 전달이 되는 값 입니다.IGP의 경로를 BGP에 재분배하고, IGP의 메트릭 값을 이용하여 BGP가 최적 경로 선출에 사용 합니다. AIGP를 BGP Peer에게 전달하기 위해 Route-Map을 사용해야 합니다. 

    다수의 BGP AS를 관리하는 환경에서 사용 가능하며, IGP에 사용되는 IP 주소체계가 겹치지 않고 고유해야 하는 제약사항이 있습니다. 일반적인 엔터프라이즈 환경에서 적합하지 않습니다.

  6. Shortest AS Path
    - 목적지로 향하는 다양한 경로가 존재할 경우, 가장 짧은 AS 길이를 가진 경로를 선호 합니다. BGP에서 AS는 HOP Count와 같으며 짧을 수록 우선순위가 높습니다. 해당 규칙을 이용하여 BGP 트래픽 유입을 제어할 수 있습니다. AS Prepending을 사용하여 AS를 추가할 수 있습니다.

  7. Origin Type
    - Well-known mandatory BGP 속성 입니다. Network 명령어를 통해서 광고한 경로는 IGP or i 의 코드를 받고 재분배 네트워크는 imcomplete or ? 코드를 받습니다. IGP를 더 선호 합니다. 

  8. Lowest MED (Multiple-Exit Discriminator)
    - Optional Non-Transitive 속성이며 32 bit 값 (0 to 4,294,967,295)으로 표현하며 메트릭 이라고 부릅니다. BGP에서 네트워크를 광고 또는 재분배 할 때 IGP 경로 메트릭을 자동으로 설정하며 eBGP에게 경로를 학습할 때 MED값을 전달 받지 못한다면 기본값은 0 입니다. 만약 MED를 eBGP에게 수신한다면 다른 iBGP Peer에게 전달 하지만 다시 eBGP에게 전달하진 않습니다. 

    MED값을 MED 사용의 목적은 다른 Inbound Traffic을 제어하기 위한 목적으로 사용되며 낮은 MED를 더 선호 합니다.

  9. eBGP Over iBGP
    - BGP 경로를 학습하는 방법은 iBGP, eBPG, Confederation AS에게 받는 3가지 방법이 있으며, 이중에서 eBGP Peer에게 받은 경로를 가장 선호 합니다. eBGP > Confederation AS > iBGP 우선순위를 가집니다. 

  10. Lowest IGP Next-Hop Metric
    - BGP Next-Hop 주소의 IGP 메트릭 값이 가장 낮은 것을 선호 합니다. 낮은 것을 선호하는 이유는 Next Hop의 IGP Metric값이 낮으면 Next-Hop까지 더 빨리 도달하기 때문 입니다. 
  11. Oldest Path Prefer eBGP 
    - 상기 조건까지 모두 동일하다면 BGP 테이블에 먼저 학습된 경로를 선호 합니다. 가장 오래된 eBGP 경로이기 때문에 더 안정적이라 판단 합니다. 

  12. Lowest BGP Router ID
    - 가장 낮은 Router ID를 가진 eBGP 라우터를 더 선호합니다. 만약 경로를 Route Reflextor로 부터 받았다면 Router ID 대신 Originator ID를 사용 합니다. 

  13. Minium Cluster list Length
    - The cluster list 는 non-transitive BGP 속성이며 최소 Cluster List 길이를 더 선호 합니다. Route Reflector가 Cluster ID를 Cluster List에 추가하며 Route Reflector는 해당 정보를 이용하여 Routing Loop가 발생하지 않도록 합니다. 

  14. Lowest Neighbor Address
    - BGP Peer가 2개의 물리적인 링크를 통해 Neighbor 관계를 맺을 경우 가장 낮은 Neighbor 주소를 가진 경로를 더 선호 합니다. iBGP Peer 한정으로 적용되는 규칙으로 Neighbor 주소가 가장 낮은 것을 선호 합니다. (eBGP이 경우 오래된 경로를 우선 한다는 규칙이 있어 여기에는 해당 하지 않습니다.)

728x90