패킷당 로드 밸런싱 구성
Junos OS에서는 라우팅 정책 구성에서 패킷당 load-balance 작업을 설정하여 플로우당 로드 밸런싱을 지원합니다. Junos에서 패킷당 로드 밸런싱은 다른 벤더에서 플로우 당 로드 밸런싱이라고 부르는 것과 기능적으로 동일하기 때문에 명명이 직관적이지 않을 수 있습니다.
패킷당 로드 밸런싱을 구성하려면 계층 수준에서 문을 [edit policy-options policy-statement policy-name term term-name from]
문의 옵션으로 route-filter
포함합니다load-balance per-packet
.
[edit policy-options policy-statement policy-name term term-name from] route-filter destination-prefix match-type { load-balance per-packet; }
또는 계층 수준에서 [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-packet;
구성을 완료하려면 문에 지정된 목록에 정책 이름을 포함하여 라우팅 테이블에서 포워딩 테이블로 내보낸 경로에 라우팅 정책을 적용해야 합니다.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 정보를 사용하여 트래픽을 로드 밸런싱합니다.
소스 IP 주소
대상 IP 주소
프로토콜
기본적으로 IP 버전 6(IPv6) 패킷은 다음 레이어 3 및 레이어 4 정보를 기반으로 자동으로 로드 밸런싱됩니다.
소스 IP 주소
대상 IP 주소
프로토콜
소스 포트 번호
대상 포트 번호
들어오는 인터페이스 인덱스
트래픽 클래스
패킷별 로드 밸런싱 예제
모든 경로에 대해 패킷당 로드 밸런싱 수행:
[edit] policy-options { policy-statement load-balancing-policy { then { load-balance per-packet; } } } 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-packet; } } } 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 ];