MX, M 및 T 시리즈 라우터에서 트래픽 샘플링 구성
트래픽 샘플링을 사용하면 라우터가 패킷을 원래 대상으로 포워딩하는 동안 플로우 어카운팅을 수행하는 PIC(Physical Interface Card)로 트래픽을 복사할 수 있습니다. 다음 세 위치 중 하나에서 샘플링을 수행하도록 라우터를 구성할 수 있습니다.
라우팅 엔진에서 샘플링된 프로세스를 사용합니다. 이 방법을 선택하려면 명령문이 포함된
then sample
일치하는 용어가 있는 필터(입력 또는 출력)를 사용합니다.모니터링 서비스, Adaptive Services 또는 Multiservices PIC에 대해 설명합니다.
DPC(Dense Port Concentrator) 없이 인라인 데이터 경로에 있습니다. 인라인 활성 샘플링을 수행하려면 특정 속성을 가진 샘플링 인스턴스를 정의합니다. 하나의 FPC(Flexible PIC Concentrator)는 하나의 인스턴스만 지원할 수 있습니다. 각 인스턴스에 대해 서비스 PIC 기반 샘플링 또는 인라인 샘플링이 제품군별로 지원됩니다. 인라인 샘플링은 버전 9 및 IPFIX 플로우 수집 템플릿을 지원합니다.
라우팅 엔진 기반 샘플링은 VPN 라우팅 및 포워딩(VRF) 인스턴스에서 지원되지 않습니다.
트래픽 샘플링을 위한 방화벽 필터 구성
트래픽 샘플링을 위한 방화벽 필터를 구성하려면 다음 작업을 수행해야 합니다.
계층 수준에서 명령문을 포함하여
filter
샘플링되는 논리적 인터페이스에 적용할 방화벽 필터를[edit firewall family family-name]
생성합니다. 필터then
명령문에서 작업 수정자와sample
작업을accept
지정해야 합니다.filter filter-name { term term-name { then { sample; accept; } } }
방화벽 필터 작업 및 작업 수정자에 대한 자세한 내용은 라우팅 정책, 방화벽 필터 및 Traffic Policers 사용자 가이드를 참조하십시오.
계층 수준에서 및
filter
명령문을 포함address
함으로써 트래픽을 샘플링하려는 인터페이스에 필터를[edit interfaces interface-name unit logical-unit-number family family-name]
적용합니다.address address { } filter { input filter-name; }
인터페이스 및 방화벽 필터에서 트래픽 샘플링을 구성할 때 M, MX 및 T 시리즈 라우터에 다음 전제 조건이 적용됩니다.
포워딩 옵션 설정을 구성하지 않고 인터페이스의 inet 또는 inet6 제품군에 대한 방화벽 필터에서 샘플 작업을 구성하면 포트 미러링 또는 플로우 탭 기능을 구성할 경우 운영상의 문제가 발생할 수 있습니다. 이러한 시나리오에서는 방화벽 필터와 일치하는 모든 패킷이 서비스 PIC로 잘못 전송됩니다.
계층 수준에서 명령문을
[edit firewall family inet filter filter-name term term-name]
포함then sample
하여 IPv4 패킷에 대한 방화벽 필터에서 샘플 작업을 지정하는 경우 계층 수준 또는instance instance-name family inet
계층 수준의 명령[edit forwarding-options sampling]
문[edit forwarding-options sampling]
도 포함family inet
해야 합니다. 마찬가지로, IPv6 패킷에 대한 방화벽 필터에서[edit firewall family inet6 filter filter-name term term-name]
샘플 작업을 지정하기 위해 계층 수준에 다음sample
명령문을 포함하는 경우 계층 수준 또는instance instance-name family inet6
계층 수준의 명령[edit forwarding-options sampling]
문[edit forwarding-options sampling]
도 포함되어family inet6
야 합니다. 그렇지 않으면 구성 커밋을 시도할 때 커밋 오류가 발생합니다.또한 계층 수준에서 샘플링 입력 또는 샘플링 출력 명령문을 포함함으로써 논리적 인터페이스에서
[edit interface interface-name unit logical-unit-number]
트래픽 샘플링을 구성하는 경우 계층 수준 또는instance instance-name family inet | inet6
계층 수준의 명령[edit forwarding-options sampling]
문[edit forwarding-options sampling]
도 포함family inet | inet6
해야 합니다.
논리적 인터페이스에서 트래픽 샘플링 구성
모든 논리적 인터페이스에서 트래픽 샘플링을 구성하려면, 샘플링을 활성화하고 계층 수준에서 샘플링 명령문을 [edit forwarding-options]
포함시킴으로써 비제로 샘플링 속도를 지정합니다.
sampling { input { rate number; run-length number; max-packets-per-second number; maximum-packet-length bytes; }
Routing Engine 기반 샘플링을 사용하는 경우 명령문을 포함하여 임계값 트래픽 값을 지정합니다 max-packets-per-second
. 값은 샘플링할 최대 패킷 수이며, 샘플링 메커니즘에서 패킷 드롭을 시작합니다. 범위는 0에서 65,535까지입니다. 값 0은 패킷 포워딩 엔진에 어떤 패킷도 샘플링하지 않도록 지시합니다. 기본값은 1000입니다.
명령문에서 output
활성 모니터링을 구성하고 모니터링 서비스, Adaptive Services 또는 Multiservices PIC를 지정하거나 인라인 샘플링 max-packets-per-second
을 구성할 때 값이 무시됩니다.
값을 rate
설정하여 샘플링 속도를 지정하고 run-length
( 그림 1 참조).

PIC 기반 플로우 모니터링이 활성화되어 원하지 않는 플로우 모니터링 동작을 야기하고 단일 패킷의 샘플링을 반복할 수 있는 논리적 인터페이스에서 수신 샘플링 ms-
을 구성하지 마십시오. Junos OS 릴리스 15.1부터 해당 인터페이스에서 수신 트래픽 샘플링을 구성하려고 할 때 커밋 오류가 발생합니다. Junos OS Release 14.2 이전 버전에서는 커밋 오류가 발생하지 않지만 해당 인터페이스에서 수신 트래픽 샘플링을 구성해서는 안 됩니다.
PIC 기반 플로우 모니터링이 ms-fpc/pic/port.logical-unit 인터페이스에서 활성화되면 해당 인터페이스에서 수신 트래픽 샘플링을 구성하려고 할 때 커밋 확인 오류가 발생합니다. 이 오류는 논리적 인터페이스에서 수신 샘플링과 PIC 기반 플로우 모니터링 작업의 ms-
조합이 원하지 않는 플로우 모니터링 동작을 야기하고 단일 패킷의 반복 샘플링을 초래할 수 있기 때문에 발생합니다. PIC 기반 플로우 모니터링이 활성화된 논리적 인터페이스에서 수신 샘플링 ms-
을 구성해서는 안 됩니다.
이 문은 rate
샘플링할 패킷 비율을 지정합니다. 예를 들어, 10의 속도를 구성하면 각 10 x 개 중 패킷 수를 샘플링하며 여기서 x는 =run length + 1입니다. 기본적으로 속도는 0이며, 이는 트래픽이 샘플링되지 않음을 의미합니다.
이 문은 run-length
최초 단일 패킷 트리거 이벤트에 따라 샘플링할 일치하는 패킷의 수를 지정합니다. 기본적으로 런 길이는 0이며, 이는 트리거 이벤트 이후 더 이상 트래픽이 샘플링되지 않음을 의미합니다. 범위는 0에서 20까지입니다. 0보다 큰 실행 길이를 구성하면 이미 샘플링된 패킷에 따라 패킷을 샘플링할 수 있습니다.
run-length
및 maximum-packet-length
구성 명령문은 MX80 라우터에서 지원되지 않습니다.
명령문을 포함하지 input
않으면 샘플링이 비활성화됩니다.
파일에서 샘플링된 패킷을 수집하려면 계층 수준의 명령문을 [edit forwarding-options sampling output]
포함합니다file
. 출력 파일 형식은 챕터의 후반부에 설명되어 있습니다.
트래픽 샘플링 비활성화
라우터에서 [edit forwarding-options sampling]
트래픽 샘플링을 명시적으로 비활성화하려면 계층 수준에 명령문을 포함 disable
하십시오.
disable;
샘플링 한 번
활성 모니터링을 위해 한 번만 패킷을 명시적으로 샘플링하려면 계층 레벨의 [edit forwarding-options sampling]
명령문을 포함합니다sample-once
.
sample-once;
이 옵션을 설정함으로써 수신 및 송신 인터페이스 모두에서 샘플링이 활성화되는 경우 패킷의 중복을 방지하고 샘플링된 트래픽의 분석을 간소화합니다.
송신 샘플 또는 미러링된 패킷에 대한 Prerewrite ToS 값 보존
Junos OS 릴리스 14.1부터 송신 샘플 또는 미러된 패킷의 사전 통합된 서비스 유형(ToS) 값을 보존할 수 있습니다. pre-rewrite-tos
계층 수준에서 명령 [edit forwarding-options sampling]
문을 포함합니다.
MPC 기반 인터페이스에서 계층 수준에서 명령문을 포함하거나 계층 수준에 명령 [edit class-of-service interfaces interface-name unit logical-unit-number]
문을 포함 [edit firewall family family-name filter filter-name term term-name then]
rewrite-rules dscp rule_name
dscp
시켜 방화벽 필터 구성을 사용하여 CoS(Class-of-Service) 구성을 사용하여 ToS를 재작성할 수 있습니다. ToS 재작성이 구성된 경우, 송신 미러 또는 샘플링된 복사본에는 기본적으로 ToS를 재작성한 후 값이 포함됩니다. 이 구성을 pre-rewrite-tos
사용하면 샘플링된 패킷 또는 미러된 패킷에 Prerrite ToS 값을 유지할 수 있습니다.
ToS가 Egress 인터페이스에서 CoS 및 방화벽 필터 구성을 모두 사용하고 명령문이 구성된 경우
pre-rewrite-tos
송신 샘플링된 패킷에는 방화벽 필터 컨피규레이션을 사용하여 설정된 DSCP 값이 포함되어 있습니다. 그러나 명령문이pre-rewrite-tos
구성되지 않으면 송신 샘플링된 패킷에는 CoS 구성에서 설정한 DSCP 값이 포함됩니다.pre-rewrite-tos
명령문을 사용하여 언더family inet
및family inet6
에서 수행된 샘플링에 대해서만 사전 통합 ToS 값을 유지하도록 구성할 수 있습니다.이 기능은 계층 수준에서 구성할
[edit logical-systems]
수 없습니다. 구성 하forwarding-option
에서 글로벌 수준에서만 구성할 수 있습니다.수신 및 송신 인터페이스 모두에서 방화벽 필터를 사용하여 ToS 재작성이 구성되면 송신 샘플링된 패킷에는 명령문이 구성된 경우
pre-rewrite-tos
ingress ToS 재작성 구성에서 설정한 DSCP 값이 포함됩니다. 그러나 명령문이 구성되지 않으면pre-rewrite-tos
송신 샘플링된 패킷에는 송신 방화벽 필터에 대한 ToS 재작성 구성에 의해 설정된 DSCP 값이 포함됩니다.명령문이
pre-rewrite-tos
구성되고 계층 수준에서pre-rewrite-tos
비활성화 또는 삭제 작업이 수행되는[edit forwarding-options]
경우 구성은 여전히 활성 상태로 유지됩니다. 이러한 케이스에 대한 구성을pre-rewrite-tos
사용하지 않도록 설정하려면 계층 수준에서 비활성화 또는 삭제 작업을[edit forwarding-options]
수행하기 전에 계층 수준에서 명령문을[edit forwarding-options sampling]
명시적으로 비활성화하거나 삭제pre-rewrite-tos
해야 합니다.
트래픽 샘플링 출력 구성
트래픽 샘플링 출력을 구성하려면 계층 수준에서 다음 명령문을 [edit forwarding-options sampling family (inet | inet6 | mpls) output]
포함합니다.
aggregate-export-interval seconds; flow-active-timeout seconds; flow-inactive-timeout seconds; extension-service service-name; flow-server hostname { aggregation { autonomous-system; destination-prefix; protocol-port; source-destination-prefix { caida-compliant; } source-prefix; } autonomous-system-type (origin | peer); (local-dump | no-local-dump); port port-number; source-address address; version format; version9 { template template-name; } } interface interface-name { engine-id number; engine-type number; source-address address; } file { disable; filename filename; files number; size bytes; (stamp | no-stamp); (world-readable | no-world-readable); }
MX 시리즈 라우터에서 인라인 플로우 모니터링을 구성하려면 계층 수준의 명령문을 [edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output]
포함합니다inline-jflow
. 인라인 샘플링은 UDP를 전송 프로토콜로 사용하는 IP_FIX이라는 새로운 형식만 지원합니다. 인라인 샘플링을 구성하려면 계층 수준과 [edit services flow-monitoring]
계층 수준에서 명령문을 [edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output flow-server address]
포함 version-ipfix
해야 합니다. 인라인 플로우 모니터링 구성에 대한 자세한 내용은 라우터, 스위치 또는 NFX250을 사용하여 인라인 활성 플로우 모니터링 구성을 참조하십시오.
샘플링된 트래픽을 플로우 모니터링 인터페이스로 이동하려면 명령문을 interface
포함합니다. 및 engine-type
명령문은 engine-id
인터페이스의 ID와 유형 번호를 지정합니다. 이 번호는 FPC(Flexible PIC Concentrator), PIC, 슬롯 번호 및 섀시 유형을 기반으로 동적으로 생성됩니다. 명령문은 source-address
트래픽 소스를 지정합니다.
Junos OS 릴리스 19.3R1부터 시작하여 Juniper Sky ATP(Advanced Threat Prevention)에서 [edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output]
인라인 플로우 모니터링을 구성하려면 계층 수준의 명령문이 포함되어 flow-server
있습니다. 인라인 샘플링은 UDP를 전송 프로토콜로 사용하는 IP_FIX이라는 새로운 형식만 지원합니다. 인라인 샘플링을 구성하려면 계층 수준과 [edit services flow-monitoring]
계층 수준에서 명령문을 [edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output flow-server address]
포함 version-ipfix
해야 합니다.
플로우 샘플링 버전 9 출력을 구성하려면 계층 수준에서 명령문을 [edit forwarding-options sampling output version9]
포함 template
해야 합니다. cflowd에 대한 자세한 내용은 Enabling Flow 어그리게이션을 참조하십시오.
이 명령문은 aggregate-export-interval
폐기 회계 구성에 설명되어 있으며 flow-active-timeout
및 flow-inactive-timeout
명령문은 플로우 모니터링 구성에 설명되어 있습니다.
트래픽 샘플링 결과가/var/tmp 디렉토리의 파일에 자동으로 저장됩니다. 파일에서 샘플링된 패킷을 수집하려면 계층 수준의 명령문을 [edit forwarding-options sampling family inet output]
포함합니다file
.
file { disable; filename filename; files number; size bytes; (stamp | no-stamp); (world-readable | no-world-readable); }
트래픽 샘플링 출력 형식
트래픽 샘플링 출력이 ASCII 텍스트 파일에 저장됩니다. 다음은/var/tmp 디렉토리의 파일에 저장되는 트래픽 샘플링 출력의 예입니다. 출력 파일의 각 라인에는 샘플링된 패킷 하나에 대한 정보가 포함되어 있습니다. 각 라인에 대한 타임스탬프를 선택적으로 표시할 수 있습니다.
열 헤더는 각 1000 패킷 그룹 후에 반복됩니다.
# Apr 7 15:48:50 Time Dest Src Dest Src Proto TOS Pkt Intf IP TCP addr addr port port len num frag flags Apr 7 15:48:54 192.168.9.194 192.168.9.195 0 0 1 0x0 84 8 0x0 0x0 Apr 7 15:48:55 192.168.9.194 192.168.9.195 0 0 1 0x0 84 8 0x0 0x0 Apr 7 15:48:56 192.168.9.194 192.168.9.195 0 0 1 0x0 84 8 0x0 0x0 Apr 7 15:48:57 192.168.9.194 192.168.9.195 0 0 1 0x0 84 8 0x0 0x0 Apr 7 15:48:58 192.168.9.194 192.168.9.195 0 0 1 0x0 84 8 0x0 0x0
파일에 my-sample
대한 타임스탬프 옵션을 설정하려면 다음을 입력합니다.
[edit forwarding-options sampling output file] user@host# set filename my-sample files 5 size 2m world-readable stamp;
타임스탬프 옵션을 전환할 때마다 파일에 새 헤더가 포함됩니다. 옵션을 설정 stamp
하면 필드가 Time
표시됩니다.
# Apr 7 15:48:50 # Time Dest Src Dest Src Proto TOS Pkt Intf IP TCP # addr addr port port len num frag flags # Feb 1 20:31:21 # Dest Src Dest Src Proto TOS Pkt Intf IP TCP # addr addr port port len num frag flags
트래픽 샘플링 작업 추적
추적 작업은 모든 트래픽 샘플링 작업을 추적하여/var/log directory의 로그 파일에 기록합니다. 기본적으로 이 파일의 이름은 /var/log/sampled입니다. 기본 파일 크기는 128K이며, 첫 번째 파일이 덮어쓰기 전에 10개의 파일이 생성됩니다.
트래픽 샘플링 작업을 추적하려면 계층 수준의 명령문을 [edit forwarding-options sampling]
포함합니다traceoptions
.
traceoptions { no-remote-trace; file filename <files number> <size bytes> <match expression> <world-readable | no-world-readable>; }
트래픽 샘플링 예
예: 단일 SONET/SDH 인터페이스 샘플링
다음 구성은 단일 SONET/SDH 인터페이스에서 모든 트래픽의 적은 비율에서 통계적 샘플링 정보를 수집하여 해당 sonet-samples.txt
파일에서 수집합니다.
필터 생성:
[edit firewall family inet] filter { input sample-sonet { then { sample; accept; } } }
SONET/SDH 인터페이스에 필터를 적용합니다.
[edit interfaces] so-0/0/1 { unit 0 { family inet { filter { input sample-sonet; } address 10.127.68.254/32 { destination 172.16.74.7; } } } }
마지막으로 트래픽 샘플링을 구성합니다.
[edit forwarding-options] sampling { input { family inet { rate 100; run-length 2; } } family inet { output { file { filename sonet-samples.txt; files 40; size 5m; } } } }
예: 단일 IP 주소에서 모든 트래픽 샘플링
다음 구성은 단일 소스 IP 주소 172.16.92.31
에서 유래하는 특정 Gigabit Ethernet 포트에서 라우터에 들어오는 모든 패킷에 대한 통계 정보를 수집하여 명명된 samples-172-16-92-31.txt
파일에서 수집합니다.
필터 생성:
[edit firewall family inet] filter one-ip { term get-ip { from { source-address 172.16.92.31; } then { sample; accept; } } }
기가비트 이더넷 인터페이스에 필터를 적용합니다.
[edit interfaces] ge-4/1/1 { unit 0 { family inet { filter { input one-ip; } address 10.45.92.254; } } }
마지막으로, 모든 응시자 샘플에 대한 통계를 수집합니다. 이 경우, 모든 통계를 수집합니다.
[edit forwarding-options] sampling { input { family inet { rate 1; } } family inet { output { file { filename samples-172-16-92-31.txt; files 100; size 100k; } } } }
예: 모든 FTP 트래픽 샘플링
다음 구성은 특정 T3 인터페이스의 출력 경로에서 FTP 데이터 전송 프로토콜을 사용하는 적당한 패킷 비율에 대한 통계 정보를 수집하고 명명된 t3-ftp-traffic.txt
파일에서 정보를 수집합니다.
필터 생성:
[edit firewall family inet] filter ftp-stats { term ftp-usage { from { destination-port [ftp ftp-data]; } then { sample; accept; } } }
T3 인터페이스에 필터를 적용합니다.
[edit interfaces] t3-7/0/2 { unit 0 { family inet { filter { input ftp-stats; } address 10.35.78.254/32 { destination 10.35.78.4; } } } }
마지막으로, 응시자 샘플의 10%에 대한 통계 수집:
[edit forwarding-options] sampling { input { family inet { rate 10; } } family inet { output { file { filename t3-ftp-traffic.txt; files 50; size 1m; } } } }
pre-rewrite-tos
계층 수준에서 명령
[edit forwarding-options sampling]
문을 포함합니다.