Multifield Classifier Example: 멀티필드 분류 구성
다중 필드 분류 개요
포워딩 클래스 및 PLP 수준
Junos OS 서비스 등급(CoS) 기능을 구성하여 각 패킷을 포워딩 클래스, 패킷 손실 우선순위(PLP) 수준 또는 둘 다와 연결하여 수신 트래픽을 분류할 수 있습니다.
연결된 포워딩 클래스에 따라 각 패킷은 출력 대기열에 할당되며, 라우터는 구성한 관련 스케줄링에 따라 출력 대기열을 서비스합니다.
연관된 PLP를 기반으로 각 패킷은 혼잡이 발생할 경우 삭제될 가능성이 더 낮거나 높습니다. CoS RED(Random Early Detection) 프로세스는 드롭 확률 구성, 출력 대기열 충만 비율 및 패킷 PLP를 사용하여 출력 단계에서 혼잡을 제어하기 위해 필요에 따라 패킷을 드롭합니다.
다중 필드 분류 및 BA 분류
Junos OS는 두 가지 일반적인 유형의 패킷 분류를 지원합니다. BA(Behavior Aggregate) 분류 및 멀티필드 분류:
-
BA 분류 또는 CoS 값 트래픽 분류는 CoS 구성을 사용하여 IP 패킷 헤더의 CoS 값을 기반으로 패킷의 포워딩 클래스 또는 PLP를 설정하는 패킷 분류 방법을 말합니다. BA 분류 목적으로 검사되는 CoS 값은 DSCP(Differentiated Services Code Point) 값, DSCP IPv6 값, IP 우선 순위 값, MPLS EXP 비트 및 IEEE 802.1p 값일 수 있습니다. 기본 분류자는 IP 우선 순위 값을 기반으로 합니다.
-
멀티필드 분류는 표준 무상태 방화벽 필터 구성을 사용하여 DSCP 값(IPv4만 해당), IP 우선 순위 값, MPLS EXP 비트를 포함하여 IP 패킷 헤더의 여러 필드를 기반으로 인터페이스에 들어오거나 나가는 각 패킷에 대한 포워딩 클래스 또는 PLP를 설정하는 패킷 분류 방법을 말합니다. 및 IEEE 802.1p 비트. 다중 필드 분류는 일반적으로 IP 주소 필드, IP 프로토콜 유형 필드 또는 UDP 또는 TCP 의사 헤더 필드의 포트 번호에서 일치합니다. CoS 값만 아닌 패킷 정보의 정보를 기반으로 패킷을 분류해야 할 때 BA 분류 대신 멀티필드 분류가 사용됩니다.
다중 필드 분류를 사용하면 방화벽 필터 용어가 용어
then
절에서 또는loss-priority (high | medium-high | medium-low | low)
비종료 작업을 사용하여forwarding-class class-name
일치하는 패킷에 대한 패킷 분류 작업을 지정할 수 있습니다.
패킷의 BA 분류는 상태 비저장 방화벽 필터 작업 forwarding-class
및 에 의해 재정의될 수 있습니다 loss-priority
.
QFX5k에서 멀티필드 분류자를 통한 트래픽 오분류:
-
BUM 트래픽이 MF 분류자를 통해 유니캐스트 대기열을 강제로 사용하는 경우 패킷은 MCQ9로 분류됩니다. Junos 릴리스 21.4R3 , 22.1R3 및 Junos 릴리스 버전 22.2부터는 이러한 패킷이 MCQ8로 분류됩니다.
-
유니캐스트 트래픽이 MF 분류자를 통해 멀티캐스트 대기열을 강제로 사용하는 경우 패킷은 MCQ9로 분류되고 릴리스 19.1R3부터는 best-effort 대기열로 분류됩니다.
폴리서와 함께 사용되는 다중 필드 분류
속도 제한과 함께 멀티필드 분류를 구성하기 위해 방화벽 필터 용어는 단일 속도 2색 폴리서를 참조하는 비종료 작업을 사용하여 policer
패킷 매칭에 대한 패킷 분류 작업을 지정할 수 있습니다.
폴리서를 통해 분류를 수행하도록 멀티필드 분류를 구성한 경우, 트래픽 플로우에서 필터로 일치하는 패킷은 폴리서가 지정한 트래픽 제한으로 속도가 제한됩니다. 필터 매칭 패킷의 일치하는 플로우에 있는 패킷은 암시적으로 PLP로 low
설정됩니다. 폴리서의 유형 및 폴리서가 부적합 트래픽을 처리하도록 구성된 방식에 따라 부적합 트래픽 흐름의 패킷을 폐기하거나, 패킷을 지정된 포워딩 클래스로 설정하거나, 지정된 PLP 수준으로 설정하거나, 둘 다로 설정할 수 있습니다.
멀티필드 분류를 수행하는 방화벽 필터와 폴리서를 동일한 논리적 인터페이스 및 동일한 트래픽 방향에 적용하기 전에 폴리서와 방화벽 필터 작업의 순서를 고려해야 합니다.
예를 들어 다음과 같은 경우를 생각해볼 수 있습니다.
패킷의 기존 포워딩 클래스 또는 PLP를 기반으로 멀티필드 분류(포워딩 클래스, PLP 또는 둘 다를 설정하여 일치하는 패킷에 작용)를 수행하는 방화벽 필터를 구성합니다. 논리적 인터페이스의 입력에 방화벽 필터를 적용합니다.
또한 패킷을 폐기하는 대신 다시 표시(포워딩 클래스, PLP 또는 둘 다 설정)하여 빨간색 트래픽 플로우에서 작동하는 단일 속도 2색 폴리서를 구성합니다. 방화벽 필터를 적용하는 동일한 논리적 인터페이스의 입력에서 폴리서를 인터페이스 폴리서로 적용합니다.
폴리서와 방화벽 작업의 순서에 따라 입력 폴리서는 입력 방화벽 필터보다 먼저 실행됩니다. 즉, 방화벽 필터에 의해 지정된 멀티필드 분류는 폴리싱 작업에 의해 이미 한 번 다시 표시된 입력 패킷에 대해 수행됩니다. 결과적으로, 방화벽 필터 용어에 지정된 조건과 일치하는 모든 입력 패킷은 해당 용어에 지정된 또는 종료되지 않는 동작에 forwarding-class
loss-priority
따라 두 번째 재마킹의 대상이 됩니다.
참조
다중 필드 분류 요구 사항 및 제한 사항
지원되는 플랫폼
loss-priority
방화벽 필터 동작은 다음 라우팅 플랫폼에서만 지원됩니다.
EX 시리즈 스위치
Enhanced CFEB(CFEB-E)가 장착된 M7i 및 M10i 라우터
M120 및 M320 라우터
MX 시리즈 라우터
Enhanced II FPC(Flexible PIC Concentrator)가 탑재된 T 시리즈 라우터
PTX 시리즈 라우터
CoS 삼색 마킹 요구 사항
loss-priority
방화벽 필터 작업은 RFC 2698에 정의된 대로 CoS 삼색 마킹 기능에 대한 플랫폼별 요구 사항 종속성을 갖습니다.
M320 라우터에서는 CoS 삼색 마킹 기능을 활성화하지 않는 한 방화벽 필터 동작을 포함하는
loss-priority
구성을 커밋할 수 없습니다.방화벽 필터 동작을 지원하는
loss-priority
모든 라우팅 플랫폼에서, CoS 삼색 마킹 기능을 활성화하지 않는 한 방화벽 필터 동작을medium-low
medium-high
설정할loss-priority
수 없습니다.
CoS 삼색 마킹 기능을 활성화하려면 계층 수준에서 문을 [edit class-of-service]
포함합니다tri-color
.
제한
동일한 방화벽 필터 용어에 loss-priority
대해 및 three-color-policer
nonterminating 작업을 구성할 수 없습니다. 이 두 가지 비 종료 작업은 상호 배타적입니다.
PTX 시리즈 라우터에서는 별도의 규칙으로 작업을 구성해야 policer
하며, , 및 loss-priority
작업을 구성하는 forwarding-class
규칙과 결합하지 않아야 합니다. PTX 시리즈 패킷 전송 라우터와 T 시리즈 매트릭스 라우터의 방화벽 및 폴리싱 차이점을(를) 참조하세요.
참조
M 시리즈 라우터의 멀티필드 분류 제한 사항
문제: 입력 필터 분류에서 일치하는 출력 필터
M 시리즈 라우터(M120 라우터 제외)에서는 동일한 IPv4 논리 인터페이스에 적용된 입력 필터로 설정된 수신 분류를 기반으로 출력 필터 일치가 있는 패킷을 분류할 수 없습니다.
예를 들어, 다음 구성에서 라는 ingress
필터는 들어오는 모든 IPv4 패킷을 expedited-forwarding
클래스에 할당합니다. 호출 egress
된 필터는 필터의 ingress
클래스에 할당된 expedited-forwarding
모든 패킷을 계산합니다. 이 구성은 대부분의 M 시리즈 라우터에서 작동하지 않습니다. M120 라우터, MX 시리즈 라우터, T 시리즈 라우터를 포함한 다른 모든 라우팅 플랫폼에서 작동합니다.
[edit] user@host # show firewall family inet { filter ingress { term 1 { then { forwarding-class expedited-forwarding; accept; } } term 2 { then accept; } } filter egress { term 1 { from { forwarding-class expedited-forwarding; } then count ef; } term 2 { then accept; } } } [edit] user@host# show interfaces ge-1/2/0 { unit 0 { family inet { filter { input ingress; output egress; } } } }
해결 방법: 수신 필터의 모든 작업 구성
해결 방법으로 수신 필터의 모든 작업을 구성할 수 있습니다.
user@host # show firewall family inet { filter ingress { term 1 { then { forwarding-class expedited-forwarding; accept; count ef; } } term 2 { then accept; } } } [edit] user@host# show interfaces ge-1/2/0 { unit 0 { family inet { filter { input ingress; } } } }
참조
예: 멀티필드 분류 구성
이 예에서는 방화벽 필터 동작과 두 개의 방화벽 필터 폴리서를 사용하여 IPv4 트래픽의 멀티필드 분류를 구성하는 방법을 보여줍니다.
요구 사항
시작하기 전에 사용자 환경이 다음 예제에 표시된 기능을 지원하는지 확인하십시오.
방화벽 필터 동작은
loss-priority
라우터에서 지원되어야 하며 4개의 값 모두로 구성할 수 있어야 합니다.방화벽 필터 동작을 설정할
loss-priority
수 있으려면 다음 라우팅 플랫폼 중 하나의 논리적 인터페이스에서ge-1/2/0.0
이 예를 구성하십시오.MX 시리즈 라우터
M120 또는 M320 라우터
Enhanced CFEB(CFEB-E)가 장착된 M7i 또는 M10i 라우터
Enhanced II FPC(Flexible PIC Concentrator)가 장착된 T 시리즈 라우터
방화벽 필터 동작을 또는
medium-high
로medium-low
설정하려면loss-priority
CoS 삼색 마킹 기능이 활성화되어 있어야 합니다. CoS 삼색 마킹 기능을 활성화하려면 계층 수준에서 문을[edit class-of-service]
포함합니다tri-color
.
expedited-forwarding
및assured-forwarding
포워딩 클래스는 기본 물리적 인터페이스에서ge-1/2/0
예약되어야 합니다.다음 포워딩 클래스가 출력 대기열에 할당되었는지 확인합니다.
expedited-forwarding
assured-forwarding
포워딩 클래스 할당은 계층 수준에서 구성됩니다
[edit class-of-service forwarding-classes queue queue-number]
.주:동일한 포워딩 클래스를 두 개의 서로 다른 대기열에 할당하는 구성은 커밋할 수 없습니다.
포워딩 클래스가 할당된 출력 대기열이 스케줄러와 연결되어 있는지 확인합니다. 스케줄러는 대기열에 할당된 인터페이스 대역폭의 양, 패킷 저장을 위해 할당된 메모리 버퍼의 크기, 대기열의 우선 순위 및 대기열과 관련된 RED(Random Early Detection) 드롭 프로파일을 정의합니다.
출력 대기열 스케줄러는
[edit class-of-service schedulers]
계층 수준에서 구성합니다.출력 대기열 스케줄러는 계층 수준에서 구성하는 스케줄러 맵을 통해 포워딩 클래스와
[edit class-of-service scheduler-maps map-name]
연결합니다.
output-queue 스케줄링이 물리적 인터페이스에
ge-1/2/0
적용되었는지 확인합니다.스케줄러 맵을 계층 수준에서 물리적 인터페이스에
[edit class-of-service interfaces ge-1/2/0 scheduler-map map-name]
적용합니다.
개요
이 예에서는 상태 비저장 방화벽 필터 작업과 방화벽 필터에서 참조되는 두 개의 방화벽 필터 폴리서를 사용하여 논리적 인터페이스의 입력 IPv4 트래픽에 멀티필드 분류를 적용합니다. 소스 주소 필드에 따라 패킷은 손실 우선순위로 low
설정되거나 그렇지 않으면 폴리싱됩니다. 두 폴리서 모두 부적합 트래픽을 버리지 않습니다. 부적합 플로우의 패킷은 특정 포워딩 클래스(expedited-forwarding
또는 assured-forwarding
)로 표시되고 특정 손실 우선순위로 설정된 다음 전송됩니다.
단일 속도 2색 폴리서는 손실 우선순위를 암묵적으로 설정한 후 항상 일치하는 트래픽 흐름으로 low
패킷을 전송합니다.
토폴로지
이 예에서는 논리적 인터페이스의 ge-1/2/0.0
IPv4 트래픽에 멀티필드 분류를 적용합니다. 분류 규칙은 IPv4 무상태 방화벽 필터 mfc-filter
와 2개의 단일 속도 2색 폴리서 ef-policer
및 af-policer
.
IPv4 표준 무상태 방화벽 필터는 mfc-filter
다음과 같은 세 가지 필터 용어를 정의합니다.
isp1-customers
- 첫 번째 필터 용어는 소스 주소가 10.1.1.0/24 또는 10.1.2.0/24인 패킷과 일치합니다. 일치하는 패킷은 포워딩 클래스에 할당expedited-forwarding
되고 손실 우선순위로low
설정됩니다.isp2-customers
- 두 번째 필터 용어는 소스 주소가 10.1.3.0/24 또는 10.1.4.0/24인 패킷과 일치합니다. 일치하는 패킷은 버스트 크기 50KB의 대역폭 제한과 함께 300Kbps의 대역폭 제한으로 트래픽 속도를 제한하는 폴리서에 전달됩니다ef-policer
. 이 폴리서는 부적합 플로우의 패킷이 포워딩 클래스에 대해expedited-forwarding
표시되고 손실 우선 순위로high
설정되도록 지정합니다.other-customers
- 세 번째이자 마지막 필터 용어는 다른 모든 패킷을af-policer
300Kbps의 대역폭 제한 및 50KB의 버스트 크기 제한(에 정의된ef-policer
것과 동일한 트래픽 제한)으로 트래픽 속도를 제한하는 폴리서에 전달합니다. 이 폴리서는 부적합 플로우의 패킷이 포워딩 클래스에 대해assured-forwarding
표시되고 손실 우선 순위로medium-high
설정되도록 지정합니다.
구성
다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색에 대한 자세한 내용은 을 참조하십시오 구성 모드에서 CLI 편집기 사용.
이 예를 구성하려면 다음 작업을 수행합니다.
- CLI 빠른 구성
- 신속한 포워딩 및 보장 포워딩 트래픽의 속도를 제한하는 폴리서 구성
- 폴리싱도 적용하는 다중 필드 분류 필터 구성
- 논리 인터페이스에 멀티필드 분류 필터링 및 폴리싱 적용
CLI 빠른 구성
이 예를 빠르게 구성하려면, 다음 구성 명령을 텍스트 파일에 복사하고, 줄 바꿈을 제거한 다음, 계층 수준에서 명령을 CLI에 붙여넣습니다 [edit]
.
set firewall policer ef-policer if-exceeding bandwidth-limit 300k set firewall policer ef-policer if-exceeding burst-size-limit 50k set firewall policer ef-policer then loss-priority high set firewall policer ef-policer then forwarding-class expedited-forwarding set firewall policer af-policer if-exceeding bandwidth-limit 300k set firewall policer af-policer if-exceeding burst-size-limit 50k set firewall policer af-policer then loss-priority high set firewall policer af-policer then forwarding-class assured-forwarding set firewall family inet filter mfc-filter term isp1-customers from source-address 10.1.1.0/24 set firewall family inet filter mfc-filter term isp1-customers from source-address 10.1.2.0/24 set firewall family inet filter mfc-filter term isp1-customers then loss-priority low set firewall family inet filter mfc-filter term isp1-customers then forwarding-class expedited-forwarding set firewall family inet filter mfc-filter term isp2-customers from source-address 10.1.3.0/24 set firewall family inet filter mfc-filter term isp2-customers from source-address 10.1.4.0/24 set firewall family inet filter mfc-filter term isp2-customers then policer ef-policer set firewall family inet filter mfc-filter term other-customers then policer af-policer set interfaces ge-1/2/0 unit 0 family inet address 192.168.1.1/24 set interfaces ge-1/2/0 unit 0 family inet filter input mfc-filter
신속한 포워딩 및 보장 포워딩 트래픽의 속도를 제한하는 폴리서 구성
단계별 절차
신속한 포워딩 및 보장 포워딩 트래픽의 속도를 제한하는 폴리서를 구성하려면 다음을 수행합니다.
신속 전달 트래픽에 대한 트래픽 제한을 정의합니다.
[edit] user@host# edit firewall policer ef-policer [edit firewall policer ef-policer] user@host# set if-exceeding bandwidth-limit 300k user@host# set if-exceeding burst-size-limit 50k user@host# set then loss-priority high user@host# set then forwarding-class expedited-forwarding
확실한 포워딩 트래픽을 위한 폴리서를 구성합니다.
[edit firewall policer ef-policer] user@host# up [edit firewall] user@host# edit policer af-policer [edit firewall policer af-policer] user@host# set if-exceeding bandwidth-limit 300k user@host# set if-exceeding burst-size-limit 50k user@host# set then loss-priority high user@host# set then forwarding-class assured-forwarding
결과
구성 모드 명령을 입력하여 폴리서의 show firewall
구성을 확인합니다. 명령 출력에 의도한 구성이 표시되지 않으면 이 절차의 지침을 반복하여 구성을 수정하십시오.
[edit] user@host# show firewall policer af-policer { if-exceeding { bandwidth-limit 300k; burst-size-limit 50k; } then { loss-priority high; forwarding-class assured-forwarding; } } policer ef-policer { if-exceeding { bandwidth-limit 300k; burst-size-limit 50k; } then { loss-priority high; forwarding-class expedited-forwarding; } }
폴리싱도 적용하는 다중 필드 분류 필터 구성
단계별 절차
폴리싱을 추가로 적용하는 멀티필드 분류 필터를 구성하려면,
IPv4 트래픽에 대한 방화벽 필터 용어 구성을 활성화합니다.
[edit] user@host# edit firewall family inet filter mfc-filter
소스 주소에서 일치하도록 첫 번째 용어를 구성한 다음 일치하는 패킷을 분류합니다.
[edit firewall family inet filter mfc-filter] user@host# set term isp1-customers from source-address 10.1.1.0/24 user@host# set term isp1-customers from source-address 10.1.2.0/24 user@host# set term isp1-customers then loss-priority low user@host# set term isp1-customers then forwarding-class expedited-forwarding
두 번째 용어를 서로 다른 소스 주소에서 일치하도록 구성한 다음 일치하는 패킷을 감시합니다.
[edit firewall family inet filter mfc-filter] user@host# set term isp2-customers from source-address 10.1.3.0/24 user@host# set term isp2-customers from source-address 10.1.4.0/24 user@host# set term isp2-customers then policer ef-policer
다른 모든 패킷을 다른 트래픽 제한 및 작업 집합으로 감시하도록 세 번째 용어를 구성합니다.
[edit firewall family inet filter mfc-filter] user@host# set term other-customers then policer af-policer
결과
구성 모드 명령을 입력하여 필터의 show firewall
구성을 확인합니다. 명령 출력에 의도한 구성이 표시되지 않으면 이 절차의 지침을 반복하여 구성을 수정하십시오.
[edit] user@host# show firewall family inet { filter mfc-filter { term isp1-customers { from { source-address 10.1.1.0/24; source-address 10.1.2.0/24; } then { loss-priority low; forwarding-class expedited-forwarding; } } term isp2-customers { from { source-address 10.1.3.0/24; source-address 10.1.4.0/24; } then { policer ef-policer; } } term other-customers { then { policer af-policer; } } } } policer af-policer { if-exceeding { bandwidth-limit 300k; burst-size-limit 50k; } then discard; } policer ef-policer { if-exceeding { bandwidth-limit 200k; burst-size-limit 50k; } then { loss-priority high; forwarding-class expedited-forwarding; } }
논리 인터페이스에 멀티필드 분류 필터링 및 폴리싱 적용
단계별 절차
다중 필드 분류 필터링 및 폴리싱을 논리적 인터페이스에 적용하려면:
논리적 인터페이스에서 IPv4 구성을 활성화합니다.
[edit] user@host# edit interfaces ge-1/2/0 unit 0 family inet
논리적 인터페이스의 IP 주소를 구성합니다.
[edit interfaces ge-1/2/0 unit 0 family inet ] user@host# set address 192.168.1.1/24
방화벽 필터를 논리적 인터페이스 입력에 적용합니다.
[edit interfaces ge-1/2/0 unit 0 family inet ] user@host# set filter input mfc-filter
주:폴리서는 필터보다 먼저 실행되기 때문에 입력 폴리서가 논리적 인터페이스에서도 구성되면 인터페이스와 연관된 멀티필드 분류자의 포워딩 클래스 및 PLP를 사용할 수 없습니다.
결과
구성 모드 명령을 입력하여 show interfaces
인터페이스 구성을 확인합니다. 명령 출력에 의도한 구성이 표시되지 않으면 이 절차의 지침을 반복하여 구성을 수정하십시오.
[edit] user@host# show interfaces ge-1/2/0 { unit 0 { family inet { filter { input mfc-filter; } address 192.168.1.1/24; } } }
디바이스 구성을 마쳤으면 구성 모드에서 commit
을(를) 입력합니다.
검증
구성이 올바르게 작동하고 있는지 확인합니다.
논리적 인터페이스에서 폴리서가 처리한 패킷 수 표시
목적
논리적 인터페이스를 통한 트래픽 흐름을 확인하고 패킷이 논리적 인터페이스에서 수신될 때 폴리서가 평가되는지 확인합니다.
작업
논리적 인터페이스에 적용한 show firewall
필터에 대해 운영 모드 명령을 사용합니다.
user@host> show firewall filter rate-limit-in Filter: rate-limit-in Policers: Name Packets ef-policer-isp2-customers 32863 af-policer-other-customers 3870
명령 출력에는 방화벽 필터 rate-limit-in
에 의해 적용된 폴리서와 필터 용어와 일치하는 패킷 수가 나열됩니다.
패킷 수에는 폴리서가 폴리싱하는 모든 패킷이 아니라 사양을 벗어난(out-of-specification) 패킷 수가 포함됩니다.
폴리서 이름은 폴리서가 작업으로 참조되는 방화벽 필터 용어의 이름과 연결되어 표시됩니다.
예: 멀티필드 분류자를 위한 방화벽 필터 구성 및 적용
이 예는 다중 필드 분류자를 사용하여 트래픽을 분류하도록 방화벽 필터를 구성하는 방법을 보여줍니다. 분류자는 관심 있는 패킷이 인터페이스에 도착할 때 CoS(Class of Service)를 탐지합니다. 다중 필드 분류자는 BA(Simple Behavior Aggregate) 분류자가 패킷을 분류하기에 충분하지 않거나, 피어링 라우터에 CoS 비트 표시가 없거나, 피어링 라우터의 표시를 신뢰할 수 없는 경우에 사용됩니다.
요구 사항
이 절차를 확인하기 위해 이 예에서는 트래픽 생성기를 사용합니다. 트래픽 생성기는 하드웨어 기반일 수도 있고 서버 또는 호스트 시스템에서 실행되는 소프트웨어일 수도 있습니다.
이 절차의 기능은 Junos OS를 실행하는 디바이스에서 널리 지원됩니다. 여기에 표시된 예는 Junos OS 릴리스 10.4를 실행하는 MX 시리즈 라우터에서 테스트 및 검증되었습니다.
개요
분류자는 패킷이 라우터나 스위치에 들어갈 때 패킷을 검사하는 소프트웨어 작업입니다. 패킷 헤더 내용을 검사한 다음, 네트워크 사용량이 너무 많아 모든 패킷을 처리할 수 없을 때 패킷이 어떻게 처리되는지를 결정하며, 사용자가 디바이스가 패킷을 무차별적으로 삭제하는 대신 지능적으로 패킷을 삭제하기를 원합니다. 관심 있는 패킷을 감지하는 일반적인 방법 중 하나는 소스 포트 번호입니다. 이 예에서 TCP 포트 번호 80 및 12345가 사용되지만, 방화벽 필터 일치 조건을 사용하여 다중 필드 분류기에서 패킷 감지를 위한 다른 많은 일치 기준을 사용할 수 있습니다. 이 예의 구성은 소스 포트가 80인 TCP 패킷이 BE 데이터 포워딩 클래스와 대기열 번호 0으로 분류되도록 지정합니다. 소스 포트가 12345인 TCP 패킷은 프리미엄 데이터 전달 클래스와 대기열 번호 1로 분류됩니다.
멀티필드 분류자는 일반적으로 패킷이 AS(Autonomous System)에 들어갈 때 네트워크 에지에서 사용됩니다.
이 예에서는 방화벽 필터 mf-classifier를 구성하고 디바이스 R1에서 몇 가지 사용자 지정 포워딩 클래스를 지정합니다. 사용자 지정 포워딩 클래스를 지정할 때 각 클래스를 큐와 연결할 수도 있습니다.
분류자 작업은 에 나와 있습니다 그림 1.
다중 필드 분류자의 방화벽 필터를 필터를 필요로 하는 각 고객 대면 또는 호스트 대면 인터페이스에 입력 필터로 적용합니다. 수신 인터페이스는 디바이스 R1의 ge-1/0/1입니다. 분류 및 대기열 할당은 나가는 인터페이스에서 확인됩니다. 나가는 인터페이스는 디바이스 R1의 ge-1/0/9 인터페이스입니다.
구성
절차
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 [edit]
계층 수준에서 명령을 복사하여 CLI로 붙여 넣은 다음, 구성 모드에서 commit
을(를) 입력합니다.
디바이스 R1
set interfaces ge-1/0/1 description to-host set interfaces ge-1/0/1 unit 0 family inet filter input mf-classifier set interfaces ge-1/0/1 unit 0 family inet address 172.16.50.2/30 set interfaces ge-1/0/9 description to-R2 set interfaces ge-1/0/9 unit 0 family inet address 10.30.0.1/30 set class-of-service forwarding-classes class BE-data queue-num 0 set class-of-service forwarding-classes class Premium-data queue-num 1 set class-of-service forwarding-classes class Voice queue-num 2 set class-of-service forwarding-classes class NC queue-num 3 set firewall family inet filter mf-classifier term BE-data from protocol tcp set firewall family inet filter mf-classifier term BE-data from port 80 set firewall family inet filter mf-classifier term BE-data then forwarding-class BE-data set firewall family inet filter mf-classifier term Premium-data from protocol tcp set firewall family inet filter mf-classifier term Premium-data from port 12345 set firewall family inet filter mf-classifier term Premium-data then forwarding-class Premium-data set firewall family inet filter mf-classifier term accept-all-else then accept
디바이스 R2
set interfaces ge-1/0/9 description to-R1 set interfaces ge-1/0/9 unit 0 family inet address 10.30.0.2/30
단계별 절차
다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색 관련 정보는 Junos OS CLI 사용자 가이드의 구성 모드에서의 CLI 편집기 사용을 참조하십시오.
디바이스 R1 구성
-
디바이스 인터페이스를 구성합니다.
[edit interfaces] user@R1# set ge-1/0/1 description to-host user@R1# set ge-1/0/1 unit 0 family inet address 172.16.50.2/30 user@R1# set ge-1/0/9 description to-R2 user@R1# set ge-1/0/9 unit 0 family inet address 10.30.0.1/30
-
사용자 지정 포워딩 클래스 및 관련 대기열 번호를 구성합니다.
[edit class-of-service forwarding-classes] user@R1# set BE-data queue-num 0 user@R1# set Premium-data queue-num 1 user@R1# set Voice queue-num 2 user@R1# set NC queue-num 3
-
소스 포트가 80(HTTP 트래픽)인 TCP 트래픽을 대기열 0과 연결된 BE-데이터 포워딩 클래스에 배치하는 방화벽 필터 용어를 구성합니다.
[edit firewall family inet filter mf-classifier] user@R1# set term BE-data from protocol tcp user@R1# set term BE-data from port 80 user@R1# set term BE-data then forwarding-class BE-data
-
소스 포트가 12345인 TCP 트래픽을 대기열 1과 연결된 프리미엄 데이터 포워딩 클래스에 배치하는 방화벽 필터 용어를 구성합니다.
[edit firewall family inet filter mf-classifier] user@R1# set term Premium-data from protocol tcp user@R1# set term Premium-data from port 12345 user@R1# set term Premium-data then forwarding-class Premium-data
-
방화벽 필터 끝에서 다른 모든 트래픽을 허용하는 기본 용어를 구성합니다.
그렇지 않으면 인터페이스에 도착하고 방화벽 필터에 의해 명시적으로 허용되지 않은 모든 트래픽이 삭제됩니다.
[edit firewall family inet filter mf-classifier] user@R1# set term accept-all-else then accept
-
방화벽 필터를 ge-1/0/1 인터페이스에 입력 필터로 적용합니다.
[edit interfaces] user@R1# set ge-1/0/1 unit 0 family inet filter input mf-classifier
결과
구성 모드에서 , show class-of-service
, show firewall
명령을 입력하여 show interfaces
구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.
user@R1# show interfaces ge-1/0/1 { description to-host; unit 0 { family inet { filter { input mf-classifier; } address 172.16.50.2/30; } } } ge-1/0/9 { description to-R2; unit 0 { family inet { address 10.30.0.1/30; } } }
user@R1# show class-of-service forwarding-classes { class BE-data queue-num 0; class Premium-data queue-num 1; class Voice queue-num 2; class NC queue-num 3; }
user@R1# show firewall family inet { filter mf-classifier { term BE-data { from { protocol tcp; port 80; } then forwarding-class BE-data; } term Premium-data { from { protocol tcp; port 12345; } then forwarding-class Premium-data; } term accept-all-else { then accept; } } }
디바이스 구성을 마쳤으면 구성 모드에서 commit
을(를) 입력합니다.
검증
구성이 올바르게 작동하고 있는지 확인합니다.
CoS 설정 확인
목적
포워딩 클래스가 올바르게 구성되었는지 확인합니다.
작업
디바이스 R1에서 명령을 실행합니다 show class-of-service forwardng-classes
.
user@R1> show class-of-service forwarding-class Forwarding class ID Queue Restricted queue Fabric priority Policing priority SPU priority BE-data 0 0 0 low normal low Premium-data 1 1 1 low normal low Voice 2 2 2 low normal low NC 3 3 3 low normal low
의미
출력에는 구성된 사용자 지정 분류자 설정이 표시됩니다.
TCP 트래픽을 네트워크로 전송 및 대기열 배치 모니터링
목적
관심 있는 트래픽이 예상 대기열로 전송되는지 확인합니다.
작업
디바이스 R1의 발신 인터페이스에서 인터페이스 통계를 삭제합니다.
user@R1> clear interfaces statistics ge-1/0/9
트래픽 생성기를 사용하여 50 TCP 포트 80 패킷을 디바이스 R2 또는 다른 다운스트림 디바이스로 전송합니다.
디바이스 R1에서 대기열 카운터를 확인합니다.
대기열 카운터는 수신 인터페이스가 아닌 다운스트림 출력 인터페이스에서 확인합니다.
user@R1> show interfaces extensive ge-1/0/9 | find "Queue counters" Queue counters: Queued packets Transmitted packets Dropped packets 0 50 50 0 1 0 57 0 2 0 0 0 3 0 0 0
트래픽 생성기를 사용하여 50개의 TCP 포트 12345 패킷을 디바이스 R2 또는 다른 다운스트림 디바이스로 전송합니다.
[root@host]# hping 172.16.60.1 -c 50 -s 12345 -k
디바이스 R1에서 대기열 카운터를 확인합니다.
user@R1> show interfaces extensive ge-1/0/9 | find "Queue counters" Queue counters: Queued packets Transmitted packets Dropped packets 0 50 50 0 1 50 57 0 2 0 0 0 3 0 0 0
의미
출력은 패킷이 올바르게 분류되었음을 보여줍니다. TCP 패킷에서 포트 80을 사용하면 대기열 0이 증가합니다. 포트 12345를 사용하면 큐 1이 증가합니다.