플로우별 로드 밸런싱 구성
Junos OS에서는 라우팅 정책 구성에서 load-balance per-flow 옵션을 설정하여 flow당 로드 밸런싱을 지원합니다. 기존의 패킷당 로드 밸런싱 옵션은 Junos OS 및 Junos OS Evolved 소프트웨어에서도 지원됩니다.
활성 경로에 대해 동일한 목적지에 대한 동일 비용 경로가 여러 개 있는 경우, Junos OS는 기본적으로 해시 알고리즘을 사용하여 포워딩 테이블에 설치할 다음 홉 주소 중 하나를 선택합니다. 플로우별 로드 밸런싱을 사용하는 경우 대상 대상의 모든 다음 홉 주소가 포워딩 테이블에 설치됩니다. 따라서 부하가 분산되어 경로 간 여러 경로로 트래픽을 분산시킵니다.
플로우별 로드 밸런싱을 구성하려면 계층 load-balance per-flow
수준에서 또는 문을 문의 [edit policy-options policy-statement policy-name term term-name from]
옵션으로 route-filter
포함합니다load-balance per-packet
.
또는 load-balance per-flow
옵션을 사용할 load-balance per-packet
수 있으며 둘 다 동일한 기능을 갖습니다.
[edit policy-options policy-statement policy-name term term-name from] route-filter destination-prefix match-type { load-balance per-flow; }
또는 계층 수준에서 [edit policy-options policy-statement policy-name term term-name then]
:
[edit policy-options policy-statement policy-name term term-name then] load-balance per-flow;
구성을 완료하려면 문에 지정된 목록에 정책 이름을 포함하여 라우팅 테이블에서 포워딩 테이블로 내보낸 경로에 라우팅 정책을 적용해야 합니다.export
export [ policy-names ];
다음 계층 수준에서 이 문을 포함할 수 있습니다.
-
[edit routing-options forwarding-table]
-
[edit logical-systems logical-system-name routing-options forwarding-table]
기본적으로 Junos는 플로우를 결정할 때 포트 데이터를 무시합니다. 플로우 결정에 포트 데이터를 포함하려면 계층 수준에서 명령문을 [edit forwarding-options hash-key]
포함합니다family inet
.
[edit forwarding-options hash-key] family inet { layer-3; layer-4; }
레이어 3 및 레이어 4 문을 모두 포함하는 경우, 디바이스는 다음과 같은 레이어 3 및 레이어 4 정보를 사용하여 부하를 분산합니다.
-
소스 IP 주소
-
대상 IP 주소
-
프로토콜
-
소스 포트 번호
-
대상 포트 번호
-
들어오는 인터페이스 인덱스
-
IP 서비스 유형
레이어 3 및 레이어 4 매개 변수가 모두 동일하면 디바이스는 동일한 인터페이스를 통해 플로우의 패킷을 전송하며, 이는 TCP 및 UDP 흐름에 대한 비순차적 전달을 방지하는 데 도움이 됩니다.
ICMP(Internet Control Message Protocol) 패킷은 필드 위치 오프셋이 체크섬 필드이기 때문에 다르게 처리되며, 각 ping 패킷을 별도의 "흐름"으로 만듭니다. 32비트 오프셋에서 다양한 값을 가질 수 있는 IP로 캡슐화할 수 있는 다른 프로토콜이 있습니다. 이러한 프로토콜은 별도의 흐름으로 간주되기 때문에 문제가 될 수도 있습니다.
M 시리즈(M120 라우터 제외) 및 T 시리즈 라우터의 경우 첫 번째 프래그먼트는 단편화되지 않은 패킷과 동일한 로드 밸런싱 대상에 매핑됩니다. 다른 부분은 다른 로드 밸런싱 대상에 매핑할 수 있습니다.
M120 라우터의 경우에만 모든 프래그먼트가 동일한 로드 밸런싱 대상에 매핑됩니다. 이 대상은 단편화되지 않은 패킷의 대상과 반드시 동일하지는 않습니다.
기본적으로 또는 레이어 3 문만 포함하는 경우, 라우터는 패킷 헤더의 수신 인터페이스 인덱스와 다음 레이어 3 정보를 사용하여 트래픽을 로드 밸런싱합니다.
-
PTX-1000 시리즈
-
PTX-10002-60 (영문)
-
QFX-10001-I-20C
-
QFX-10002-60C
-
QFX-10003-160C
-
QFX-10003-80C
-
Junos Evo PTX 기본 구성 파일
-
Junos PTX 기본 구성 파일
-
소스 IP 주소
-
대상 IP 주소
-
프로토콜
기본적으로 IP 버전 6(IPv6) 패킷은 다음 레이어 3 및 레이어 4 정보를 기반으로 자동으로 로드 밸런싱됩니다.
-
소스 IP 주소
-
대상 IP 주소
-
프로토콜
-
소스 포트 번호
-
대상 포트 번호
-
들어오는 인터페이스 인덱스
-
트래픽 클래스
패킷별 로드 밸런싱 예제
모든 경로에 대해 패킷당 로드 밸런싱 수행:
[edit] policy-options { policy-statement load-balancing-policy { then { load-balance per-flow; } } } routing-options { forwarding-table { export load-balancing-policy; } }
제한된 경로 집합에 대해서만 패킷당 로드 밸런싱을 수행합니다.
[edit] policy-options { policy-statement load-balancing-polic { from { route-filter 192.168.10/24 orlonger; route-filter 10.114/16 orlonger; } then { load-balance per-flow; } } } routing-options { forwarding-table { export load-balancing-policy; } }
패킷당 랜덤 스프레이 로드 밸런싱을 구성하려면 계층 수준에서 문을 포함합니다load-balance random
.[edit policy-options policy-statement policy-name term term-name then]
[edit policy-options policy-statement policy-name term term-name then] load-balance random;
구성을 완료하려면 계층 수준에서 문 [edit routing-options forwarding-table]
으로 지정된 목록에 export
정책 이름을 포함시켜 라우팅 테이블에서 포워딩 테이블로 내보낸 경로에 라우팅 정책을 적용해야 합니다
[edit routing-options forwarding-table] export [ policy-names ];