경로에 동일하지 않은 대역폭이 할당된 BGP 트래픽에 대한 로드 밸런싱 이해하기
이 다중 경로 옵션은 활성 경로 결정 프로세스에서 타이브레이커를 제거하므로 여러 소스에서 학습된 equal-cost BGP 경로가 포워딩 테이블에 설치될 수 있습니다. 그러나 사용 가능한 경로가 equal-cost이 아닌 경우에는 트래픽에 대한 비대칭 로드 밸런싱이 필요할 수 있습니다.
여러 다음 홉이 포워딩 포워딩 테이블에 설치되면 Junos OS 접두사별 로드 밸런싱 알고리즘에 의해 특정 포워딩 다음 홉이 선택됩니다. 이 프로세스는 패킷의 소스 및 대상 주소에 대해 해시하여 사용 가능한 다음 홉 중 하나에 접두사 페어링을 확정적으로 매핑합니다. 접두사별 매핑은 인터넷 피어링 교환에서와 같이 해시 기능에 접두사가 많이 제공될 때 가장 효과적이며, 통신 노드 쌍 간 패킷 순서 변경을 방지하는 역할도 합니다.
엔터프라이즈 네트워크는 일반적으로 패킷당 로드 밸런싱 알고리즘을 유발하기 위해 기본 동작을 변경하려고 합니다. 여기서 패킷당이 강조된 이유는 원래 인터넷 프로세서 ASIC의 기존 동작에서 비롯된 잘못된 명칭으로 사용되기 때문입니다. 실제로 현재 주니퍼 네트웍스 라우터는 접두사별(기본값) 및 플로우별 로드 밸런싱을 지원합니다. 후자의 경우 소스 주소, 목적지 주소, 전송 프로토콜, 수신 인터페이스 및 애플리케이션 포트의 일부를 포함하여 다양한 레이어 3 및 레이어 4 헤더에 대한 해시가 수반됩니다. 그 결과 이제 개별 flow가 특정 다음 홉에 해시되므로, 특히 더 적은 수의 원본 및 목적지 쌍 간에 라우팅할 때 사용 가능한 다음 홉 전체에 더욱 균일한 배포가 가능합니다.
패킷당 로드 밸런싱을 사용하면 두 엔드포인트 간의 통신 스트림을 구성하는 패킷이 재배열될 수 있지만 개별 흐름 내의 패킷은 올바른 순서를 유지합니다. 접두사별 또는 패킷당 로드 밸런싱 중 어떤 것을 선택하든지 액세스 링크의 비대칭으로 인해 기술적 문제가 발생할 수 있습니다. 어느 쪽이든, 예를 들어 T1 링크로 매핑되는 접두사 또는 flow는 고속 이더넷 액세스 링크로 매핑되는 flow에 비해 성능이 저하됩니다. 더 심한 경우 트래픽 부하가 많은 경우 동일한 로드 밸런싱을 시도할 경우 T1 링크가 완전히 포화 상태가 되고 패킷 손실로 인해 세션이 중단될 가능성이 높습니다.
다행히 주니퍼 네트웍스 BGP 구현은 대역폭 커뮤니티라는 개념을 지원합니다. 이 확장 커뮤니티는 특정 다음 홉의 대역폭을 인코딩하며, 다중 경로와 결합될 경우 로드 밸런싱 알고리즘은 상대적 대역폭에 비례하여 다음 홉 세트에 flow를 배포합니다. 또 다르게 표현하자면, 10Mbps 및 1Mbps 다음 홉이 있는 경우, 평균 9개의 flow가 저속을 사용하는 모든 다음 홉에 대해 고속 다음 홉에 매핑됩니다.
동일하지 않은 로드 밸런싱 작동 방식(컨트롤 플레인 및 PFE)
지원되는 플랫폼에서 PFE(패킷 포워딩 엔진)는 경로 대역폭을 기반으로 BGP 동일하지 않은 로드 밸런싱을 지원합니다. 이 기능을 통해 디바이스는 상대적 용량에 비례하여 여러 BGP 경로에 트래픽을 균등하게 분산할 수 있습니다.
이를 위해 컨트롤 플레인은 각 경로와 관련된 상대적 비용 또는 대역폭을 고려하여 적격한 각 다음 홉에 대해 일련의 로드 밸런싱 가중치(밸런스 값)를 계산합니다. 그런 다음 이러한 계산된 값은 PFE에 프로그래밍됩니다.
PFE는 이러한 가중치를 사용하여 사용 가능한 경로에 트래픽을 비례적으로 분산하여 고용량 링크가 그에 따라 더 큰 트래픽 점유율을 전달하도록 보장합니다. 이 접근 방식은 링크 활용도를 개선하고 사용 가능한 경로가 동일하지 않은 특성을 갖는 환경에서 낮은 대역폭 경로의 혼잡을 방지하는 데 도움이 됩니다.
BGP 대역폭 community 사용은 패킷당 로드 밸런싱에서만 지원됩니다.
구성 작업은 다음 두 부분으로 이루어집니다.
-
외부 BGP(EBGP) 피어링 세션을 구성하고, 다중 경로를 활성화하며, 링크 속도를 반영하는 대역폭 커뮤니티로 경로에 태그를 지정하는 가져오기 정책을 정의합니다.
-
최적의 트래픽 배포를 위해 패킷당(실제로 per-flow) 로드 밸런싱을 활성화합니다.