트래픽 폴리싱을 사용하여 네트워크 액세스 제어 개요
IP 트래픽 플로우에 대한 혼잡 관리
속도 제한이라고도 하는 트래픽 폴리싱은 DoS(서비스 거부) 공격을 차단하도록 설계된 네트워크 액세스 보안의 필수 구성 요소입니다. 트래픽 폴리싱을 사용하면 인터페이스에서 송수신되는 IP 트래픽의 최대 속도를 제어하고 네트워크 트래픽을 서비스 등급이라고도 하는 여러 우선 순위 수준으로 분할할 수 있습니다. 폴리서는 트래픽 속도 제한 집합을 정의하고 구성된 제한을 준수하지 않는 트래픽에 대한 결과를 설정합니다. 트래픽 제한을 준수하지 않는 트래픽 흐름의 패킷은 폐기되거나 다른 포워딩 클래스 또는 패킷 손실 우선순위(PLP) 수준으로 표시됩니다.
총 트래픽(물리적 인터페이스에 구성된 모든 프로토콜 제품군 및 논리적 인터페이스)을 속도 제한하도록 구성된 폴리서를 제외하고, 논리적 인터페이스에서 레이어 2 또는 레이어 3 트래픽 플로우의 모든 IP 패킷에 폴리서를 적용할 수 있습니다.
물리적 인터페이스 미디어 속도에 따라 속도를 제한하도록 구성된 폴리서를 제외하고, 상태 비저장 방화벽 필터를 사용하여 논리적 인터페이스에서 레이어 3 트래픽 플로우의 특정 IP 패킷에 폴리서를 적용할 수 있습니다.
인바운드 또는 아웃바운드 인터페이스 트래픽에 폴리서를 적용할 수 있습니다. 인바운드 트래픽에 적용된 폴리서는 네트워크를 통해 라우팅할 필요가 없는 트래픽을 삭제하여 리소스를 보존하는 데 도움이 됩니다. 인바운드 트래픽을 삭제하면 DoS(서비스 거부) 공격을 차단하는 데도 도움이 됩니다. 아웃바운드 트래픽에 적용된 폴리서는 사용되는 대역폭을 제어합니다.
트래픽 폴리서는 PIC 단위로 인스턴스화됩니다. 하나의 로컬 정책 결정 기능(L-PDF) 가입자에 대한 트래픽이 AMS 그룹의 여러 멀티서비스 PIC에 분산되면 트래픽 폴리싱이 작동하지 않습니다.
트래픽 제한
Junos OS 폴리서는 토큰 버킷 알고리즘을 사용하여 인터페이스에서 트래픽의 평균 전송 또는 수신 속도에 제한을 적용하는 동시에 구성된 대역폭 제한 및 구성된 버스트 크기에 따라 최대 값까지 트래픽 버스트를 허용합니다. 토큰 버킷 알고리즘은 패킷 폐기를 시작하기 전에 지정된 트래픽 버스트를 허용하거나 패킷 출력 대기열 우선 순위 또는 패킷 삭제 우선 순위와 같은 페널티를 적용할 수 있다는 점에서 누출 버킷 알고리즘 보다 더 많은 유연성을 제공합니다.
token-bucket 모델에서 버킷은 폴리서의 속도 제한 기능을 나타냅니다. 토큰은 고정된 비율로 버킷에 추가되지만 지정된 버킷 깊이에 도달하면 이후에 할당된 토큰은 저장 및 사용할 수 없습니다. 각 토큰은 일부 비트 수에 대한 "크레딧"을 나타내며, 버킷의 토큰은 인터페이스에서 트래픽을 전송하거나 수신하는 기능을 위해 "현금화"됩니다. 버킷에 충분한 토큰이 있으면 트래픽 흐름이 제한 없이 계속됩니다. 그렇지 않으면 패킷이 손실되거나 더 낮은 포워딩 클래스, 더 높은 PLP(Packet Loss Priority) 수준 또는 둘 다로 다시 표시될 수 있습니다.
토큰이 버킷에 추가되는 속도는 주어진 서비스 수준에 허용되는 초당 비트 단위의 최고 평균 전송 또는 수신 속도를 나타냅니다. 이 가장 높은 평균 트래픽 속도를 폴리서의 대역폭 제한 으로 지정합니다. 트래픽 도착률(또는 초당 고정 비트)이 너무 높아서 어느 시점에서 버킷에 토큰이 충분하지 않은 경우 트래픽 흐름이 더 이상 트래픽 제한을 준수하지 않습니다. 상대적으로 트래픽이 적은 기간(토큰 도착 속도보다 낮은 평균 속도로 인터페이스에 도착하거나 인터페이스에서 출발하는 트래픽) 동안 사용되지 않은 토큰은 버킷에 누적됩니다.
버킷의 깊이(바이트)는 허용되는 연속 버스팅의 양을 제어합니다. 이 요소를 폴리서의 버스트 크기 제한 으로 지정합니다. 이 두 번째 제한은 주어진 시간 간격 동안 전송 버스트에서 허용되는 바이트 수를 제한하여 평균 전송 또는 수신 속도에 영향을 미칩니다. 현재 버스트 크기 제한을 초과하는 버스트는 버스트를 진행하는 데 사용할 수 있는 토큰이 충분할 때까지 삭제됩니다.
그림 1: 네트워크 트래픽 및 버스트 속도위의 그림에서 볼 수 있듯이 UPC 바코드는 라인에서 트래픽이 어떻게 보이는지에 대한 좋은 사본입니다. 인터페이스가 전송 중이거나(최대 속도로 버스트) 그렇지 않습니다. 검은색 선은 데이터 전송 기간을 나타내고 공백은 토큰 버킷이 보충될 수 있는 침묵 기간을 나타냅니다.
사용된 폴리서의 유형에 따라, 정의된 제한을 초과하는 폴리싱된 트래픽 플로우의 패킷은 암묵적으로 더 높은 PLP 수준으로 설정되거나, 구성된 포워딩 클래스에 할당되거나, 구성된 PLP 수준(또는 둘 다)으로 설정되거나, 단순히 폐기될 수 있습니다. 패킷이 다운스트림 혼잡에 직면할 경우, PLP 레벨의 low
패킷은 , medium-high
또는 high
PLP 레벨의 medium-low
패킷보다 폐기될 가능성이 적습니다.
트래픽 컬러 마킹
구성된 특정 트래픽 제한 집합에 따라 폴리서는 트래픽 흐름을 자동차 트래픽을 제어하는 데 사용되는 신호등의 색상과 유사한 두 개 또는 세 개의 범주 중 하나에 속하는 것으로 식별합니다.
단일 속도 2색 - 2색 마킹 폴리서(또는 자격 없이 사용되는 경우 "폴리서")는 트래픽 스트림을 측정하고 구성된 대역폭 및 버스트 크기 제한에 따라 패킷을 두 가지 범주의 PLP(패킷 손실 우선 순위)로 분류합니다. 어떤 식으로든 대역폭 및 버스트 크기 제한을 초과하는 패킷을 표시하거나 단순히 삭제할 수 있습니다.
폴리서는 포트(물리적 인터페이스) 수준에서 트래픽을 측정하는 데 가장 유용합니다.
단일 속도 3색 - 이 유형의 폴리서는 RFC 2697, 단일 속도 3색 마커에 DiffServ(Differentiated Services) 환경을 위한 AF(Assured Forwarding) PHB(per-hop-behavior) 분류 시스템의 일부로 정의됩니다. 이 유형의 폴리서는 구성된 CIR(Committed Information Rate), CBS(Committed Burst Size) 및 EBS(Excess Burst Size)를 기반으로 트래픽을 측정합니다. 트래픽은 도착하는 패킷이 CBS(녹색) 미만인지, CBS(노란색)를 초과하지만 EBS는 초과하지 않는지, EBS(빨간색)를 초과하는지에 따라 세 가지 범주(녹색, 노란색 또는 빨간색) 중 하나에 속하는 것으로 표시됩니다.
단일 속도 3색 폴리서는 서비스가 최대 도착 속도가 아닌 패킷 길이에 따라 구성될 때 가장 유용합니다.
Two-rate three-color - 이 유형의 폴리서는 RFC 2698, A Two Rate Three Color Marker에 DiffServ(Differentiated Services) 환경을 위한 AF(Assured Forwarding) PHB(per-hop-behavior) 분류 시스템의 일부로 정의됩니다. 이러한 유형의 폴리서는 구성된 CIR 및 PIR(peak information rate)과 관련 버스트 크기, CBS 및 PBS(peak burst size )를 기반으로 트래픽을 측정합니다. 트래픽은 도착하는 패킷이 CIR(녹색) 미만인지, CIR(노란색)을 초과하지만 PIR을 초과하지 않는지, 또는 PIR(빨간색)을 초과하는지에 따라 세 가지 범주(녹색, 노란색 또는 빨간색) 중 하나에 속하는 것으로 표시됩니다.
2레이트, 3색 폴리서는 서비스가 패킷 길이가 아닌 도착률에 따라 구조화될 때 가장 유용합니다.
폴리서 작업은 암시적 또는 명시적이며 폴리서 유형에 따라 다릅니다. 암시적이라는 용어는 Junos가 손실 우선 순위를 자동으로 할당한다는 것을 의미합니다. 표 1 폴리서 작업에 대해 설명합니다.
폴리서 |
표시 |
암시적 작업 |
구성 가능한 작업 |
---|---|---|---|
단일 속도 2 색 |
녹색(적합) |
낮은 손실 우선 순위 할당 |
없음 |
빨간색(부적합) |
없음 |
낮거나 높은 손실 우선 순위 할당, 포워딩 클래스 할당 또는 폐기일부 플랫폼에서는 중간-낮음 또는 중간-높음 손실 우선 순위를 할당할 수 있습니다 |
|
싱글 레이트 3색 |
녹색(적합) |
낮은 손실 우선 순위 할당 |
없음 |
노란색(CIR 및 CBS 위) |
중간-높은 손실 우선 순위 할당 |
없음 |
|
빨간색(EBS 위) |
높은 손실 우선 순위 할당 |
버리다 |
|
2 레이트 3 색 |
녹색(적합) |
낮은 손실 우선 순위 할당 |
없음 |
노란색(CIR 및 CBS 위) |
중간-높은 손실 우선 순위 할당 |
없음 |
|
빨간색(PIR 및 PBS 위) |
높은 손실 우선 순위 할당 |
버리다 |
포워딩 클래스 및 PLP 수준
패킷의 포워딩 클래스 할당 및 PLP 수준은 Junos OS CoS(Class of Service) 기능에 의해 사용됩니다. Junos OS CoS 기능에는 최선형 트래픽 전달이 충분하지 않을 때 차별화된 서비스를 제공하는 데 사용할 수 있는 메커니즘 세트가 포함되어 있습니다. IPv4, IPv6 및 MPLS 트래픽을 전달하는 라우터(및 스위치) 인터페이스의 경우, CoS 기능을 구성하여 네트워크 에지로 들어오는 트래픽의 단일 플로우를 받아들이고 개별 패킷의 포워딩 클래스 할당 및 PLP 수준에 따라 네트워크 전반에 걸쳐 다양한 수준의 서비스(출력을 위한 내부 포워딩 및 스케줄링(큐잉))를 제공할 수 있습니다.
폴리서 또는 상태 비저장 방화벽 필터에 의해 수행되는 포워딩 클래스 또는 손실 우선 순위 할당은 모든 논리적 인터페이스의 CoS 기본 IP 우선 순위 분류 또는 논리적 인터페이스에 명시적으로 매핑된 구성된 BA(Behavior Aggregate) 분류자에 의해 수신 시 수행된 모든 할당을 재정의합니다.
CoS 구성에 따라 지정된 포워딩 클래스의 패킷은 특정 출력 큐를 통해 전송되며, 각 출력 큐는 스케줄러에 정의된 전송 서비스 레벨과 연결됩니다.
다른 CoS 구성을 기반으로 출력 대기열의 패킷에 혼잡이 발생하면 손실 우선 순위 값이 더 높은 패킷은 RED(Random Early Detection) 알고리즘에 의해 삭제될 가능성이 더 높습니다. 패킷 손실 우선순위 값은 트래픽 플로우 내에서 패킷의 상대적 순서에 영향을 주지 않으면서 패킷 스케줄링에 영향을 미칩니다.
트래픽에 대한 폴리서 애플리케이션
폴리서를 정의하고 이름을 지정하면 폴리서가 템플릿으로 저장됩니다. 나중에 동일한 폴리서 이름을 사용하여 사용할 때마다 동일한 폴리서 구성을 제공할 수 있습니다. 따라서 동일한 폴리서 값을 두 번 이상 정의할 필요가 없습니다.
다음 두 가지 방법 중 하나로 트래픽 플로우에 폴리서를 적용할 수 있습니다.
nonterminating 작업 또는
three-color-policer (single-rate | two-rate) policer-name
nonterminating 작업을 지정하는policer policer-name
표준 상태 비저장 방화벽 필터를 구성할 수 있습니다. 논리 인터페이스의 입력 또는 출력에 표준 필터를 적용하면 필터 구성에 지정된 조건과 일치하는 필터별 프로토콜 제품군의 모든 패킷에 폴리서가 적용됩니다.폴리서를 적용하는 이 방법을 사용하면 인터페이스에서 특정 트래픽 클래스를 정의하고 각 클래스에 트래픽 속도 제한을 적용할 수 있습니다.
폴리서를 인터페이스에 직접 적용하여 프로토콜 제품군이나 일치 조건에 관계없이 트래픽 속도 제한이 해당 인터페이스의 모든 트래픽에 적용되도록 할 수 있습니다.
폴리서는 대기열, 논리적 인터페이스 또는 레이어 2(MAC) 수준에서 구성할 수 있습니다. 송신 대기열의 패킷에는 단일 폴리서만 적용되며 폴리서 검색은 다음 순서로 발생합니다.
대기열 수준
논리적 인터페이스 수준
레이어 2(MAC) 수준