가입자 관리 및 서비스를 위한 리소스 모니터링
가입자 관리 및 서비스를 위한 리소스 모니터링 개요
Junos OS는 CLI 및 SNMP 관리 정보 베이스(MIB) 쿼리를 모두 사용하여 리소스 모니터링 기능을 지원합니다. 이 유틸리티를 사용하면 충분한 헤드룸(애플리케이션 또는 가상 라우터의 메모리 공간 제한)을 프로비저닝하여 시스템 안정성, 특히 MX 시리즈 라우터에서 I-칩 기반 라인 카드 및 Trio 기반 FPC의 상태와 운영 효율성을 보장할 수 있습니다.
메모리 사용률(ukernel 메모리 또는 ASIC 메모리)이 특정 임계값에 도달하면 시스템 운영으로 인해 라인 카드의 상태 및 트래픽 처리 안정성이 저하됩니다. 시스템 성능에 대한 이러한 절충은 실시간 트래픽 및 프로토콜을 지원하는 데 해로울 수 있습니다.
리소스의 특정 임계값을 초과할 때 오류 로그를 올리도록 임계값을 구성할 수 있을 뿐만 아니라, SNMP 관리 정보 베이스(MIB) 쿼리를 사용하여 임계값과 리소스 사용률을 모니터링할 수도 있습니다.
다음 섹션에서는 Junos OS에서 사용할 수 있는 리소스 모니터링 유형에 대해 설명합니다.
- 라인 카드 리소스 모니터링에 워터마크 사용
- CoS 리소스 용량에 따른 가입자 부하 조절
- show 명령을 사용하여 메모리 리소스 영역의 사용률 검사
- 처리 지연을 줄이기 위한 로드 제한
- 리소스 모니터로 구독자 제한
라인 카드 리소스 모니터링에 워터마크 사용
ukern 메모리(힙), 다음 홉(NH) 메모리, 방화벽 또는 필터 메모리와 같은 라인 카드 리소스에 대한 워터마크 또는 체크포인트 값을 Trio 기반 및 I-칩 기반 라인 카드 모두에 대해 균일하게 구성할 수 있습니다. NH 메모리 워터마크는 캡슐화 메모리(출력 WAN 정적 RAM 메모리)에만 적용할 수 있습니다. 캡슐화 메모리는 I-칩에만 적용되며 Trio 기반 칩에는 적용되지 않습니다. 설정된 워터마크가 초과되면 오류 로그가 트리거됩니다. 리소스가 특정 임계값 이상으로 사용된 경우 임계값을 초과했음을 알리는 경고 시스템 로그 메시지가 생성됩니다. 네트워크 요구 사항에 따라 시스템 과부하로 인한 고장을 방지하기 위해 기존 가입자 및 서비스를 종료할지 여부를 결정할 수 있습니다.
이 기능은 각 라인 카드에서 입력을 수집하고 잘 알려진 내부 포트를 사용하여 이 통계 세부 정보를 라우팅 엔진 프로세스로 전송합니다. 이 정보는 루틴 엔진의 데몬에 의해 스캔되고 세션 데이터베이스에 내장된 공유 메모리 공간을 사용하여 초과된 임계값 조건에 대한 경고 메시지가 생성됩니다.
리소스 모니터링을 구성하는 기능은 MX80, MX104 라우터와 MX240, MX480, MX960, MX2010 및 MX2020 라우터의 다음 라인 카드에서 지원됩니다.
MX-MPC1-3D
MX-MPC1-3D-Q
MX-MPC2-3D
MX-MPC2-3D-Q
MX-MPC2-3D-EQ
MPC - 3D - 16XGE-SFPP
MPC3E
MPC3E-3D-NG
MPC4E-3D-2CGE-8XGE
MPC4E-3D-32XGE
MPC5EQ-40G10G
MPC5EQ-100G10G
MPC5E-100G10G
MPC5E-40G10G
MPC10E-10C-MRATE
MPC10E-15C-MRATE
MX2K-MPC6E
MX2K-MPC11E
(주)디피에스
MS-DPC (영문)
MX 시리즈 MX-FPC(Flexible PIC Concentrator)
NG-MPC3E 시리즈
계층 수준에서 다음 매개 변수를 [edit system services]
구성하여 모든 메모리 공간 또는 영역에 공통적인 높은 임계값과 DPC 및 MPC의 다양한 메모리 블록에 대한 워터마크 값을 지정할 수 있습니다.
문을 사용하여 힙 또는 ukernel, 다음 홉 및 캡슐화, 방화벽 필터 메모리와 같은 메모리의 모든 영역에 대해 경고 또는 오류 로그가 생성되는 것을 초과하는
resource-monitor high-threshold value
높은 임계값입니다.문을 사용하여 워터마크 값으로 모니터링할 다음 홉에 사용된 사용 가능한 메모리 공간의 백분율입니다
resource-monitor free-nh-memory-watermark percentage
.명령문을 사용하여 워터마크 값으로 모니터링할 ukernel 또는 힙 메모리에 사용되는 사용 가능한 메모리 공간의 백분율입니다
resource-monitor free-heap-memory-watermark percentage
.문을 사용하여 워터마크 값으로 모니터링할 방화벽 및 필터 메모리에 사용되는 사용 가능한 메모리 공간의 백분율입니다
resource-monitor free-fw-memory-watermark percentage
. 이 기능은 기본적으로 활성화되어 있으며 수동으로 비활성화할 수 없습니다. 사용 가능한 다음 홉 메모리의 백분율에 대한 워터마크 값의 기본값 및 구성된 값은 캡슐화 메모리에도 적용됩니다.
사용 가능한 ukernel 또는 힙 메모리, next-hop 메모리 및 방화벽 필터 메모리의 백분율에 대한 기본 워터마크 값은 다음과 같습니다.
여유 힙 메모리 워터마크—20
free-nh-memory-watermark—20
free-fw-memory-watermark—20
CoS 리소스 용량에 따른 가입자 부하 조절
Junos OS 릴리스 17.4R1부터 CoS(Class of Service) 기준이 가입자 액세스에 대한 제한 결정에 통합됩니다. CoS 리소스의 가용성, 즉 대기열 용량에 대한 정보는 라인 카드에서 수집됩니다. 가입자 로그인 시 가입자가 CoS 리소스가 필요하다고 가정하면 라인 카드는 스케줄링 계층에 바인딩되고 새로운 스케줄링 계층에 바인딩될 자유가 없는 리소스의 비율로 CoS 대기열 사용률을 보고합니다. 계층 수준에서 문 [edit system services]
은 high-cos-queue-threshold
각 FPC 슬롯에 대해 별도로 0%에서 90%까지 설정할 수 있습니다. 주어진 FPC의 CoS 대기열 활용도가 해당 FPC의 구성 임계값 수준에 도달하면 해당 FPC에서 추가 가입자 로그인이 허용되지 않습니다. 이 리소스 모니터링 메커니즘은 조정 가능한 안전 여유를 제공하여 각 FPC의 사용 가능한 CoS 대기열 리소스가 완전히 소진되는 것을 사전에 방지합니다. 을 참조하십시오high-cos-queue-threshold
.
이 기능은 가입자 관리를 활성화한 경우에만 사용할 수 있습니다. 가입자 관리 활성화에 대한 자세한 내용은 Junos OS 향상된 가입자 관리 구성을 참조하십시오.
Junos OS 릴리스 19.4R1부터 값을 0으로 지정하여 모든 가입자가 대기열 기반 조절에 의해 제한되지 않도록 할 수 있습니다.
이 CoS 리소스 모니터링 기능은 대기열에 대해서만 승인 결정을 내립니다. 다른 CoS 리소스는 이 기준에 포함되지 않습니다. 이 기능은 의사 회선, 논리적 터널 또는 중복 논리적 터널 디바이스에 도착하는 가입자에 대한 제한을 지원하지 않습니다. 이 기능은 다음 하드웨어에서 지원됩니다.
MX240, MX480 및 MX960 라우터
MPC2E 레거시, MPC2E-NG, MPC3E-NG, MPC5E 및 MPC7E 라인 카드
show 명령을 사용하여 메모리 리소스 영역의 사용률 검사
명령을 사용하여 show system resource-monitor fpc
FPC의 패킷 전달 엔진에서 메모리 리소스의 활용도를 모니터링할 수 있습니다. 필터 메모리는 방화벽 필터 카운터에 사용되는 필터 카운터 메모리를 나타냅니다. 각 메모리 영역 옆에 표시된 별표(*)는 구성된 임계값이 현재 초과되고 있는 항목을 나타냅니다. 리소스 모니터링 명령은 모니터링할 다양한 라인 카드 애플리케이션의 메모리에 대해 구성된 워터마크 값을 표시합니다. 표시된 통계 메트릭은 개별 라인 카드의 현재 메모리 사용률에 대해 수행된 계산을 기반으로 합니다. ukern 메모리는 다양한 유형의 라인 카드에서 일반적이며 힙 메모리 버퍼를 나타냅니다. 특정 슬롯의 라인 카드 또는 FPC는 여러 개의 패킷 포워딩 엔진 컴플렉스를 포함할 수 있기 때문에 ASIC(Application-Specific Integrated Circuit)에서 사용되는 메모리는 특정 PFE 컴플렉스에 고유합니다. 지원되는 라인 카드의 다양한 변형에 대한 아키텍처 모델이 다르기 때문에 ASIC-specific 메모리(다음 홉 및 방화벽 또는 필터 메모리) 사용률은 다르게 해석될 수 있습니다.
처리 지연을 줄이기 위한 로드 제한
Junos OS 릴리스 17.3R1부터 라우팅 엔진은 리소스 모니터링을 사용하여 라인 카드의 패킷 포워딩 엔진에 대한 처리 부하를 평가하고 줄일 수 있습니다. 라우팅 엔진이 패킷 포워딩 엔진이 처리할 수 있는 것보다 더 빠른 속도로 작업을 전송할 수 있습니다. 이를 라인 카드 오버드라이빙 또는 패킷 포워딩 엔진이라고도 합니다. 패킷 포워딩 엔진의 작업 부하가 너무 높으면 패킷 처리가 현저히 지연될 수 있습니다.
리소스 모니터링을 통해 라우팅 엔진은 패킷 포워딩 엔진으로 전송하는 패킷의 왕복 지연을 평가하여 부하를 평가할 수 있습니다. 왕복 시간이 길수록 부하가 더 높다는 것을 의미하므로 패킷 포워딩 엔진에서 처리가 지연될 가능성이 커집니다. 적절한 경우, 라우팅 엔진은 완료할 수 있는 가입자 세션(클라이언트 및 서비스)의 비율을 줄입니다.
이 기능을 부하 제한 또는 왕복 시간 부하 조정이라고 합니다. 스로틀링은 처리 지연이 운영자와 백오피스 시스템에 가시화되는 지점까지 라우팅 엔진이 라인 카드를 과도하게 구동하는 것을 방지합니다. 다음과 같이 작동합니다.
지연을 모니터링하기 위해 라우팅 엔진은 라인 카드의 패킷 포워딩 엔진에 매초마다 에코 요청 메시지를 보냅니다. 에코 요청에는 전송 시점의 타임스탬프와 실행 중인 시퀀스 번호가 모두 포함됩니다. 메시지 우선 순위는 라인 카드에서 최악의 처리 지연을 시뮬레이션하기 위한 최선의 노력입니다.
패킷 포워딩 엔진은 에코 요청을 처리하고 에코 응답으로 응답합니다. 메시지 우선 순위는 라우팅 엔진이 반환된 패킷을 처리할 때 지터를 최소화하기 위해 높습니다.
라우팅 엔진이 에코 응답을 수신하면 에코 요청 타임스탬프와 해당 특정 시퀀스 번호에 대한 에코 응답을 수신하는 시간 간의 시간 차이로 왕복 시간을 계산합니다.
라우팅 엔진은 왕복 지연 시간을 기본 왕복 시간 임계 값인 1초와 비교합니다. 측정된 지연이 3회 연속 여행의 임계값보다 길면 라우팅 엔진은 새로운 가입자의 일정 비율에 대한 로그인을 거부하여 설정된 새로운 클라이언트 및 서비스 세션의 수를 줄입니다. 이러한 감소를 제한이라고 합니다.
내부 알고리즘은 임계값 및 왕복 시간에 따라 제한 비율을 도출합니다. 이 비율은 해당 시점의 왕복 지연에 따라 달라집니다.
라우팅 엔진은 임계값을 모두 초과하는 세 가지 지연 측정의 각 연속 세트에 대해 스로틀을 증가시켜 더 많은 가입자 로그인을 거부합니다.
측정된 지연이 3회 연속 이동의 임계값 미만인 경우 라우팅 엔진은 스로틀을 제거합니다. 이를 통해 가입자는 자유롭게 로그인할 수 있습니다.
RTT 로드 조절은 이더넷 인터페이스(ge, xe) 및 유사 회선 인터페이스(ps)에 대해 다음과 같이 라인 카드별로 적용됩니다.
어그리게이션 이더넷 인터페이스의 경우, 어그리게이션 이더넷 번들과 관련된 라인 카드 세트에 적용됩니다.
RLT(Redundant Logical Tunnel)가 있는 유사 회선 인터페이스의 경우, 앵커 포인트와 연결된 라인 카드 집합에 적용됩니다.
두 경우 모두 라우팅 엔진은 스로틀링을 세트에 있는 모든 라인 카드 중 가장 긴 왕복 지연으로 결정하는 지연 값을 고려합니다.
표 1 은 왕복 지연이 내부 임계값보다 클 때 12초 동안 라인 카드에서 가입자 세션이 조절되는 방식을 보여줍니다. 이 예제에는 다음과 같은 가정이 있습니다.
내부 지연 임계값은 1초입니다.
지연 측정은 매초 발생합니다.
세션 생성 속도는 RTT(Round-Trip Delay) 임계값을 초과하는 3회 연속 RTT(Round-Trip Delay) 측정 후 10% 감소합니다. 임계값을 초과하는 한 3회 측정마다 조절이 증가합니다.
측정된 지연이 떨어지고 3회 연속 왕복 지연 측정에 대한 임계값 미만으로 유지되면 세션 속도는 100%로 돌아갑니다.
이 예는 단순화되었습니다. 정확한 제한 비율은 동적으로 결정되며 초 단위로 달라질 수 있습니다.
시간 |
왕복 지연(ms) |
임계값 초과 |
허용되는 세션 비율 |
---|---|---|---|
1 |
850 |
아니요 |
100 |
2 |
900 |
아니요 |
100 |
3 |
995 |
아니요 |
100 |
4 |
1021 |
예 임계값 초과 횟수 #1 |
100 |
5 |
1130 |
예 임계값 초과 횟수 #2 |
100 |
6 |
1158 |
예 임계값 초과 횟수 #3 |
90 세션 속도 10% 감소 |
7 |
1127 |
예 임계값 초과 횟수 #1 |
90 세션 속도 10% 감소 |
8 |
1135 |
예 임계값 초과 횟수 #2 |
90 |
9 |
1126 |
예 임계값 초과 횟수 #3 |
80 세션 속도 10% 감소 |
10 |
1000 |
아니요 임계값이 카운트 #1을 초과하지 않음 |
80 |
11 |
991 |
아니요 임계값이 카운트 #2를 초과하지 않음 |
80 |
12 |
998 |
아니요 임계값이 카운트 #3을 초과하지 않음 |
100 제한이 제거되었습니다. |
리소스 부하 모니터링 및 RTT(Round-Trip Time Throttling)는 기본적으로 사용하도록 설정되어 있습니다. 다음 문 중 하나를 사용하여 이 기능을 비활성화할 수 있습니다.
no-load-throttle
[edit system services resource-monitor]
계층 수준에서no-throttle
[edit system services resource-monitor]
계층 수준에서
이 기능을 비활성화하고 패킷 포워딩 엔진이 너무 바빠지면 새로운 가입자는 로그인하여 활성화할 수 있지만 일정 기간 동안 트래픽이 흐르지 않습니다. 이러한 트래픽 처리 지연이 두드러질 수 있습니다.
다음 명령을 사용하여 부하 제한 기능이 활성화되어 있는지 확인하고 작동 중인 기능의 다양한 측면을 확인할 수 있습니다. 굵게 표시된 필드는 특히 유용합니다.
user@host> show system resource-monitor summary Resource Usage Summary Throttle : Enabled Load Throttle : Enabled /*RTT load throttling is enabled*/ Heap Mem Threshold : 70 % IFL Counter Threshold : 95 % Round Trip Delay Threshold(ms) : 1000 /*RTT throttle value*/ Filter Counter Threshold : 100 % Expansion Threshold : 95 % CoS Queue Threshold : 100 % MFS threshold : 70 % Used : 0 Slot # 0 Client allowed : Yes Service allowed : Yes Heap memory used : 339204848 In % : 18 Average Round-trip Delay(ms) : 103 (30 ) Round-trip Delay(ms) : 103 /*RTT delay and average delay, the 30 in parentheses means that the average is for last 30 secs*/ MAX session rate allowed(%) : 100 Client denied : 1524 /*The number of new subscribers have been denied*/ Service Denied : 0 Performance Denial Client : 1524 <-- Performance Denial Service : 0 IFL Denied : 0
리소스 모니터로 구독자 제한
Junos OS 릴리스 17.3R1부터는 리소스 모니터링을 사용하여 하드웨어 요소당 지원되는 가입자 수를 직접 제한할 수도 있습니다. 섀시, 라인 카드(MPC), MIC 또는 포트당 로그인할 수 있는 최대 가입자 수를 지정할 수 있습니다. 한 가지 클라이언트 유형(DHCP, L2TP 또는 PPPoE)의 가입자 또는 모든 클라이언트 유형의 가입자로 제한을 설정할 수 있습니다.
이 기능은 하드웨어 요소당 로그인한 가입자 수가 네트워크가 원하는 서비스 대역폭에서 안정적으로 서비스를 제공할 수 있는 수를 초과하지 않도록 합니다. 하드웨어 요소에 대한 제한에 도달하면 가입자 수가 구성된 제한 아래로 떨어질 때까지 해당 요소에 대한 새로운 가입자 로그인이 거부됩니다. 한도를 초과하는 신규 가입자는 동일한 브로드캐스트 도메인의 다른 하드웨어 요소에 연결할 수 있습니다. 어그리게이션 이더넷 인터페이스의 하나 이상의 레그에 대한 제한을 구성할 때 가입자 수가 임의의 레그의 값을 초과하면 로그인이 거부됩니다.
이러한 방식으로 가입자를 제한하면 하드웨어 요소 간에 부하가 분산되지만 어떤 종류의 로드 밸런싱도 제공되지 않습니다. 이 기능은 또한 네트워크의 용량을 매핑하고 해당 용량을 확장하는 데 필요한 하드웨어 리소스를 결정하는 데 도움이 될 수 있습니다. 예를 들어 특정 양의 메모리가 필요한 서비스를 제공하고 지정된 하드웨어 집합으로 서비스할 수 있는 구독자 수를 알고 있는 경우 필요한 메모리 양을 결정할 수 있습니다. 또는 가입자당 더 많은 메모리로 서비스를 추가하려는 경우, 필요한 추가 용량을 계산하고, 사용 가능한 메모리와 비교하고, 새 서비스를 처리하기 위해 새 포트, MIC, MPC 또는 라우터를 프로비저닝해야 하는지 여부를 결정할 수 있습니다.
리소스 모니터를 사용하여 클라이언트 유형 및 하드웨어 요소별로 가입자 제한
리소스 모니터링을 사용하여 시스템 메모리 사용량을 모니터링하고 관리할 수 있을 뿐만 아니라 이를 사용하여 섀시, 라인 카드(MPC), MIC 및 포트와 같은 하드웨어 요소별로 지원되는 가입자 수를 직접 제한할 수 있습니다. 이러한 각 요소에 로그인할 수 있는 최대 가입자 수를 지정할 수 있습니다. 한 가지 클라이언트 유형(DHCP, L2TP 또는 PPPoE)의 가입자 또는 이러한 클라이언트 유형의 가입자에게만 제한을 적용합니다. 후자의 경우, 제한은 세 가지 클라이언트 유형 모두에 대한 세션 합계에 적용됩니다.
가입자 제한은 하드웨어 요소당 로그인한 가입자 수가 네트워크가 원하는 서비스 대역폭에서 안정적으로 제공할 수 있는 수를 초과하지 않도록 할 수 있습니다. 하드웨어 요소에 대한 제한에 도달하면 가입자 수가 구성된 제한 아래로 떨어질 때까지 해당 요소에 대한 새로운 가입자 로그인이 거부됩니다. 한도를 초과하는 신규 가입자는 동일한 브로드캐스트 도메인의 다른 하드웨어 요소에 연결합니다. 어그리게이션 이더넷 인터페이스의 하나 이상의 레그에 대한 제한을 구성할 때 가입자 수가 임의의 레그의 값을 초과하면 로그인이 거부됩니다.
이러한 방식으로 가입자를 제한하면 하드웨어 요소 간에 부하가 분산되지만 어떤 종류의 로드 밸런싱도 제공되지 않습니다. 이 기능은 또한 네트워크의 용량을 매핑하고 해당 용량을 확장하는 데 필요한 하드웨어 리소스를 결정하는 데 도움이 될 수 있습니다. 예를 들어 특정 대역폭에서 서비스를 제공하고 해당 하드웨어 집합으로 얼마나 많은 가입자를 서비스할 수 있는지 알고 있는 경우 필요한 대역폭을 결정할 수 있습니다. 또는 가입자당 더 많은 대역폭으로 서비스를 추가하려는 경우, 필요한 추가 대역폭을 계산하고 사용 가능한 대역폭과 비교하여 새 서비스를 처리하기 위해 새 포트, MIC, MPC 또는 라우터를 프로비저닝해야 하는지 여부를 결정할 수 있습니다.
CLI는 및 pic
이라는 용어를 fpc
사용합니다. 이 기능의 경우 MPC fpc
및 pic
MIC에 해당합니다.
하드웨어 요소에 허용되는 최대 가입자 수에 제한을 두려면:
예를 들어, 다음 구성은 PPPoE 가입자에 대한 섀시 및 MPC 제한을 설정합니다.
[edit system services resource-monitor subscribers-limit] user@host# edit client-type pppoe [edit system services resource-monitor subscribers-limit client-type pppoe] user@host# set chassis limit 112000 user@host# set fpc 0 limit 28000 user@host# set fpc 1 limit 28000 user@host# set fpc 2 limit 28000 user@host# set fpc 3 limit 28000
변경 내역 표
기능 지원은 사용 중인 플랫폼과 릴리스에 따라 결정됩니다. 기능 탐색기 를 사용하여 플랫폼에서 기능이 지원되는지 확인하세요.