SRX 시리즈 방화벽의 트래픽 처리 개요
보안 디바이스용 Junos OS는 주니퍼 네트웍스의 네트워크 보안 및 라우팅 기능을 통합합니다. 디바이스에 들어오고 나가는 패킷은 패킷 기반 및 플로우 기반 처리를 모두 거칩니다.
보안 디바이스의 트래픽 처리 이해하기
보안 장치용 Junos OS는 주니퍼 네트웍스가 제공하는 세계적 수준의 네트워크 보안 및 라우팅 기능을 통합합니다. Junos OS에는 광범위한 패킷 기반 필터링, CoS(Class of-Service) 분류자 및 트래픽 셰이핑 기능은 물론 정책, 화면, 네트워크 주소 변환(NAT) 및 기타 플로우 기반 서비스를 포함한 풍부하고 광범위한 플로우 기반 보안 기능 세트가 포함되어 있습니다.
보안 디바이스를 드나드는 트래픽은 패킷 필터, 보안 정책, 화면 등 사용자가 구성한 기능에 따라 처리됩니다. 예를 들어, 소프트웨어는 다음을 결정할 수 있습니다.
패킷이 디바이스에 허용되는지 여부
패킷에 적용할 방화벽 화면
패킷이 목적지에 도달하기 위해 취하는 경로
패킷에 적용할 CoS(있는 경우)
패킷의 IP 주소를 변환하기 위해 NAT를 적용할지 여부
패킷에 ALG(애플리케이션 레이어 게이트웨이)가 필요한지 여부
디바이스에 들어오고 나가는 패킷은 패킷 기반 및 플로우 기반 처리를 모두 거칩니다.
플로우 기반 패킷 처리는 관련 패킷 또는 패킷 스트림을 동일한 방식으로 처리합니다. 패킷 처리는 패킷 스트림의 첫 번째 패킷에 대해 설정된 특성에 따라 달라지며, 이를 플로우라고 합니다.
서비스 게이트웨이의 분산 처리 아키텍처의 경우, 모든 플로우 기반 처리는 SPU에서 발생하며 샘플링은 멀티 스레드를 인식합니다. 샘플링된 패킷에 대해 패킷 순서가 유지됩니다.
패킷 기반 또는 상태 비저장 패킷 처리는 패킷을 개별적으로 처리합니다. 각 패킷은 치료를 위해 개별적으로 평가됩니다.
서비스 게이트웨이의 분산 처리 아키텍처의 경우, 트레픽 셰이핑과 같은 일부 패킷 기반 처리가 NPU에서 발생합니다. 패킷에 분류기를 적용하는 것과 같은 일부 패킷 기반 처리는 SPU에서 발생합니다.
이 주제는 다음 섹션을 포함합니다.
플로우 기반 처리 이해
패킷은 패킷 기반 필터 및 일부 화면이 적용된 후 플로우 기반 처리를 거칩니다. 단일 플로우에 대한 모든 플로우 기반 처리는 단일 SPU(Services Processing Unit)에서 발생합니다. SPU는 세션에 대해 구성된 보안 기능 및 기타 서비스에 따라 플로우의 패킷을 처리합니다.
그림 1 은 서비스 게이트웨이에서 플로우 기반 트래픽 처리가 발생하는 방식에 대한 개념적 보기를 보여줍니다.
를 위한 트래픽 플로우
플로우는 동일한 일치 기준을 충족하고 동일한 특성을 공유하는 관련 패킷의 스트림입니다. Junos OS는 동일한 플로우에 속하는 패킷을 동일한 방식으로 처리합니다.
패킷에 적용되는 보안 정책, 애플리케이션 레이어 게이트웨이(ALG)가 필요한 경우, NAT가 패킷의 소스 및/또는 대상 IP 주소를 변환하는 경우 등과 같이 패킷의 운명을 결정하는 구성 설정은 플로우의 첫 번째 패킷에 대해 평가됩니다.
패킷에 대한 플로우가 존재하는지 확인하기 위해 NPU는 다음 일치 기준에 따라 패킷 정보를 기존 세션의 정보와 일치시키려고 시도합니다.
소스 주소
대상 주소
소스 포트
목적지 포트
프로토콜
지정된 영역 및 가상 라우터에 대한 고유한 세션 토큰 번호
영역 및 정책
플로우의 첫 번째 패킷에 사용될 보안 정책은 동일한 플로우 및 밀접하게 관련된 플로우에서 사용할 수 있도록 플로우 테이블에 캐시됩니다. 보안 정책은 영역과 관련이 있습니다. 영역은 보안 경계를 정의하는 인터페이스의 집합입니다. 패킷이 도착한 인터페이스에 의해 결정되는 패킷의 수신 영역과 포워딩 조회에 의해 결정되는 발신 영역은 함께 플로우의 패킷에 어떤 정책이 사용될지를 결정합니다.
플로우 및 세션
스테이트풀인 플로우 기반 패킷 처리는 세션 생성이 필요합니다. 다음 목적을 위해 플로우의 첫 번째 패킷에 대해 세션이 생성됩니다.
플로우의 패킷에 적용될 대부분의 보안 조치를 저장합니다.
플로우 상태에 대한 정보를 캐시합니다.
예를 들어, 플로우에 대한 로깅 및 카운팅 정보는 해당 세션에 캐시됩니다. (일부 스테이트풀 방화벽 화면은 개별 세션 또는 모든 세션과 관련된 임계값에 의존합니다.)
NAT와 같은 기능에 대한 흐름에 필요한 리소스를 할당합니다.
ALG 및 방화벽 기능과 같은 기능을 위한 프레임워크를 제공합니다.
대부분의 패킷 처리는 다음을 포함하여 플로우의 컨텍스트에서 발생합니다.
정책, NAT, 영역 및 대부분의 화면 관리.
ALG 및 인증 관리.
패킷 기반 처리 이해
패킷은 입력 인터페이스의 대기열에서 제거될 때와 출력 인터페이스의 대기열에 추가되기 전에 패킷 기반 처리를 거칩니다.
패킷 기반 처리는 상태 비저장 방화벽 필터, CoS 기능 및 일부 화면을 개별 패킷에 적용합니다.
패킷이 인터페이스에 도착하면 온전성 검사, 패킷 기반 필터, 일부 CoS 기능 및 일부 화면이 적용됩니다.
패킷이 디바이스를 떠나기 전에 모든 패킷 기반 필터, 일부 CoS 기능 및 인터페이스와 관련된 일부 화면이 패킷에 적용됩니다.
필터 및 CoS 기능은 일반적으로 하나 이상의 인터페이스와 연결되어 시스템을 통과할 수 있는 패킷에 영향을 미치고 필요에 따라 패킷에 특수 조치를 적용합니다.
다음 항목에서는 구성 및 전송 트래픽에 적용할 수 있는 패킷 기반 기능의 종류에 대해 설명합니다.
무상태 방화벽 필터
액세스 제어 목록(ACL)이라고도 하는 무상태 방화벽 필터는 액세스를 제어하고 트래픽 속도를 제한합니다. 소스에서 대상으로 디바이스를 전송하는 패킷 또는 라우팅 엔진에서 시작하거나 목적지로 향하는 패킷의 내용을 정적으로 평가합니다. 상태 비저장 방화벽 필터 는 단편화된 패킷을 포함한 모든 패킷을 평가합니다.
무상태 방화벽 필터를 입력 또는 출력 인터페이스 또는 둘 다에 적용할 수 있습니다. 필터에는 하나 이상의 용어가 포함되며 각 용어는 일치 조건과 작업이라는 두 가지 구성 요소로 구성됩니다. 기본적으로 방화벽 필터와 일치하지 않는 패킷은 폐기됩니다.
트래픽을 특정 프로토콜, IP 소스 또는 대상 주소 또는 데이터 전송 속도로 제한하는 등 다양한 용도로 사용할 상태 비저장 방화벽 필터를 계획하고 설계할 수 있습니다. NPU에서 무상태 방화벽 필터가 실행됩니다.
서비스 등급 기능
CoS 기능을 사용하면 트래픽을 분류하고 형성할 수 있습니다. CoS 기능은 NPU에서 실행됩니다.
BA(Behavior Aggregate) classifiers—이러한 분류자는 디바이스에 들어갈 때 패킷에 대해 작동합니다. 디바이스는 동작 집계 분류기를 사용하여 다양한 유형의 트래픽을 단일 포워딩 클래스로 집계하여 동일한 포워딩 처리를 받습니다. BA 분류자를 사용하면 DiffServ(Differentiated Service) 값을 기반으로 패킷의 포워딩 클래스 및 손실 우선순위를 설정할 수 있습니다.
트래픽 셰이핑 - 특정 트래픽 플로우가 제공하는 특정 애플리케이션에 다른 지연, 지터 및 패킷 손실 특성을 가진 서비스 수준을 할당하여 트래픽을 셰이핑할 수 있습니다. 트래픽 셰이핑은 음성 및 비디오 전송과 같은 실시간 애플리케이션에 특히 유용합니다.
스크린
서비스 거부(DoS) 화면과 같은 일부 화면은 플로우 프로세스 외부의 패킷에 적용됩니다. 이는 네트워크 처리 장치(NPU)에서 실행됩니다.
IPv4 트래픽에 대한 기본 처리 동작 이해
플로우 기반 처리 모드는 영역, 화면 및 방화벽 정책과 같은 보안 기능이 작동하는 데 필요합니다. 드롭 모드 처리의 경우, 트래픽은 직접 드롭되며 전달되지 않습니다. 트래픽은 처리되지만 보안 프로세스는 적용되지 않는 패킷 모드 처리와는 다릅니다.
기능 탐색기를 사용하여 특정 기능에 대한 플랫폼 및 릴리스 지원을 확인하십시오.
플랫폼과 관련된 참고 사항은 IPv4 트래픽에 대한 기본 처리 동작 이해 섹션을 검토합니다.
Configuring an SRX Series Device as a Border Router
모든 유형의 SRX 시리즈 방화벽이 플로우 기반 처리 또는 드롭 모드를 위해 활성화된 경우, 디바이스를 경계 라우터로 구성하려면 모드를 MPLS에 대한 패킷 기반 프로세싱으로 변경해야 합니다. 이 경우 SRX 시리즈 방화벽을 MPLS용 패킷 모드로 구성하려면 문을 사용합니다.set security forwarding-options family mpls mode packet-based
플랫폼별 IPv4 트래픽 동작
기능 탐색기를 사용하여 특정 기능에 대한 플랫폼 및 릴리스 지원을 확인하십시오.
다음 표를 사용하여 플랫폼의 플랫폼별 동작을 검토하십시오.
| 플랫폼 |
차이 |
|---|---|
| SRX 시리즈 방화벽 |
|
SRX320 디바이스의 트래픽 처리 이해
이 주제에서는 디바이스를 통과하는 플로우에 속한 패킷에 대한 세션을 설정할 때 SRX320 서비스 게이트웨이가 수행하는 프로세스에 대해 설명합니다. SRX320 디바이스의 플로우 서비스는 단일 스레드이며 비분산형입니다. 이 점에서 다른 SRX 시리즈 방화벽과 다르지만 동일한 플로우 모델을 따르고 동일한 명령줄 인터페이스(CLI)가 구현됩니다.
서비스가 플로우의 패킷에 적용되는 지점을 포함하여 세션 설정 및 패킷 "워크"를 설명하기 위해 다음 섹션에서 설명하는 예에서는 유니캐스트 세션의 간단한 사례를 사용합니다.
플로우 처리 및 세션 관리 이해하기
이 주제는 플로우를 구성하는 패킷을 처리하기 위해 세션을 설정하는 방법을 설명합니다. 다음 주제에서 SPU는 SRX320 방화벽의 데이터 플레인 스레드를 나타냅니다.
처음에 데이터 플레인 스레드는 패킷을 가져와 기본적인 온전성 검사를 수행합니다. 그런 다음 패킷을 무상태 필터 및 CoS 분류자를 처리하고 일부 화면을 적용합니다.
첫 번째 패킷 처리 이해하기
패킷이 기존 플로우에 속하는지 확인하기 위해 디바이스는 다음 여섯 가지 일치 기준에 따라 패킷 정보를 기존 세션의 정보와 일치시키려고 시도합니다.
소스 주소
대상 주소
소스 포트
목적지 포트
프로토콜
지정된 영역 및 가상 라우터의 고유 토큰
SPU는 패킷에 대한 기존 세션에 대한 세션 테이블을 확인합니다. 기존 세션이 없으면 SPU는 플로우에 대한 세션을 설정합니다. 세션 일치가 발견되면 세션이 이미 생성되었으므로 SPU는 패킷에 대한 빠른 경로 처리를 수행합니다.
세션 생성 이해
세션을 설정할 때 SPU는 패킷에 대해 다음 서비스를 실행합니다.
스크린
경로 조회
정책 조회
서비스 조회
NAT(필요한 경우)
세션이 설정된 후에는 플로우에 속하는 모든 패킷에 사용됩니다. 플로우의 패킷은 세션의 매개 변수에 따라 처리됩니다. 패킷 처리에 수반되는 나머지 단계의 경우 "빠른 경로 처리"의 1단계로 진행합니다. 모든 패킷은 빠른 경로 처리를 거칩니다.
빠른 경로 처리 이해하기
패킷이 세션과 일치하는 경우, Junos OS는 다음 단계에 설명된 대로 빠른 경로 처리를 수행합니다. 플로우의 첫 번째 패킷에 대한 세션이 설정된 후 또한 빠른 경로 처리를 거칩니다. 모든 패킷은 빠른 경로 처리를 거칩니다.
SPU는 패킷에 플로우 기반 보안 기능을 적용합니다.
구성된 화면이 적용됩니다.
TCP 검사가 수행됩니다.
필요한 경우 네트워크 주소 변환(NAT), ALG, IPsec과 같은 플로우 서비스가 적용됩니다.
SPU는 패킷을 포워딩할 준비하고 전송합니다.
라우팅 패킷 필터가 적용됩니다.
트래픽 셰이핑이 적용됩니다.
트래픽 우선 순위가 적용됩니다.
트래픽 스케줄링이 적용됩니다.
패킷이 전송됩니다.
SRX4600 디바이스의 트래픽 처리 이해
주니퍼 네트웍스 SRX4600 방화벽은 고급 보안 및 위협 완화와 기존의 스테이트풀 방화벽 보안을 비롯한 플로우 기반 보안 및 라우팅 서비스를 통합합니다. Junos OS 플로우 기반 인프라는 레이어 4부터 레이어 7까지의 애플리케이션 기반 서비스를 위한 기반과 프레임워크를 제공합니다. SRX4600 방화벽은 대규모 엔터프라이즈 데이터센터 에지와 데이터센터 코어, 캠퍼스 에지에 통합 방화벽으로 구축되도록 설계되었습니다. 또한 LTE 보안 게이트웨이 및 Gi/SGi 방화벽으로도 구축할 수 있습니다.
이 주제에는 다음 내용이 포함됩니다.
SRX4600 방화벽 및 해당 기능에 대한 구축 시나리오 이해
SRX4600 방화벽은 여러 영역에 구축되어 환경과 리소스를 보호할 수 있습니다. 이는 종종 다음과 같은 방식으로 데이터센터 에지와 코어를 보호하는 데 사용됩니다.
-
SRX4600 방화벽을 데이터센터 에지 방화벽으로 구축
데이터센터 에지에 SRX4600 방화벽을 구축하여 호스팅하는 애플리케이션과 서비스에 최적의 보호 기능을 제공할 수 있습니다. 모든 데이터센터에는 클라이언트가 데이터센터의 서비스에 액세스할 수 있도록 허용하는 수신 지점이 있지만 악의적인 공격자는 이를 악용하여 이러한 서비스에 대한 공격을 시작할 수 있습니다. 데이터센터로 유입되는 많은 양의 트래픽은 수신 인터넷 트래픽입니다. 이러한 이유만으로도 데이터센터 에지에 강력한 멀티레이어 보안을 구축하는 것이 필수적입니다. SRX4600 방화벽은 공격을 효과적이고 안정적으로 차단하며, 특정 종류의 공격을 차단하도록 시스템을 구성할 수 있습니다. SRX4600 방화벽은 주니퍼 ATP(Advanced Threat Prevention Cloud)를 비롯한 주니퍼의 SDSN(소프트웨어 정의 Secure Network) 프레임워크를 지원합니다. ATP Cloud는 신속하게 공유할 수 있는 자동화된 실행 가능한 인텔리전스를 중심으로 구축되었습니다. 그림 2 는 MX480 라우터 및 EX 시리즈 스위치와 함께 데이터센터 에지에 구축된 SRX4600 방화벽을 보여줍니다.
그림 2: 데이터센터 에지에 SRX4600 방화벽 구축
-
데이터센터 코어에 SRX4600 방화벽 구축
데이터센터 코어에 SRX4600 방화벽을 구축하여 보안을 강화하고 규정 준수 요구 사항을 충족할 수 있습니다. 데이터센터 처리는 점점 더 동적으로 변함에 따라 명확한 네트워크 정의와 규정 준수 요구 사항 시행이 필요합니다. 규정 준수를 보장하기 위해 SRX4600 방화벽을 사용하여 전체 네트워크를 개별 서버 네트워크로 분할하고 그 안의 트래픽을 보호할 수 있습니다. SRX4600 방화벽은 고가용성과 자동화를 제공하며, 고성능 레이어 3 및 레이어 4 서비스는 데이터센터 코어의 보안 요구 사항을 충족합니다. 그림 3 은 데이터센터 코어에 멀티레이어 방화벽으로 구축된 SRX4600 방화벽을 보여줍니다.
그림 3: 데이터센터 코어에 SRX4600 방화벽 구축
SRX4600 방화벽은 고급 안티 멀웨어 기능 외에도 다음과 같은 기능을 지원합니다.
-
스테이트풀 방화벽
-
애플리케이션 보안 제품군
-
컨텐츠 보안(Sophos AV, 웹 필터링, 스팸 차단)
-
IDP
-
고가용성(섀시 클러스터)
-
듀얼 HA 제어 포트(10G)
-
HA 포트에 대한 MACsec 지원
-
-
QSFP28(100G/40G/4x10G 모드), QSFP+(40G/4x10G 모드) 및 SFP+(10G 모드)를 통한 이더넷 인터페이스
-
AutoVPN 및 그룹 VPNv2를 포함한 IPsec VPN
-
QoS 및 네트워크 서비스
-
J-웹
-
멀티캐스트를 사용한 라우팅 정책
플로우 기반 처리 및 세션 기본 사항
SRX4600 방화벽에서 플로우 처리를 이해하려면 플로우의 기본 사항을 이해하는 것이 중요합니다.
플로우는 동일한 일치 기준을 충족하고 동일한 특성을 공유하는 관련 패킷의 스트림입니다. Junos OS는 동일한 플로우에 속하는 패킷을 동일한 방식으로 처리합니다. SRX 시리즈 서비스 게이트웨이의 아키텍처와 패킷 플로우 처리 방식은 긴밀하게 결합되어 있습니다. 결과적으로 부분적으로 아키텍처 차이로 인해 SRX 시리즈 방화벽 제품군에서 플로우가 다르게 구현됩니다.
스테이트풀인 플로우 기반 패킷 처리는 세션 생성이 필요합니다 . 세션은 정보를 저장하고 흐름에 대한 리소스를 할당하기 위해 라우팅 및 기타 트래픽 분류 정보를 기반으로 생성됩니다. 세션은 플로우 상태에 대한 정보를 캐시하고, 플로우 패킷에 적용될 대부분의 보안 조치를 저장합니다. 디바이스 간 아키텍처 차이로 인해 세션은 디바이스에 따라 다르게 관리됩니다.
이러한 차이에 관계없이 개념적으로 플로우 프로세스는 모든 서비스 게이트웨이에서 동일하며 세션은 동일한 목적과 기능을 갖습니다.
SRX 시리즈 방화벽 전반에 구현된 플로우 및 세션 기본 구성 요소
SRX 시리즈 방화벽은 동일한 인프라 구성 요소를 사용하여 흐름을 지원하고 세션을 관리하지만 모든 디바이스가 모든 구성 요소를 모두 구현하는 것은 아닙니다.
흐름을 이해하려면 다음 구성 요소와 해당 구성 요소가 어떻게 사용되는지 이해하는 것이 중요합니다.
-
서비스 처리 장치(SPU)
SPU는 패킷 플로우에 대한 세션을 관리합니다. 보안 기능 및 기타 서비스를 패킷에 적용합니다. 또한 패킷 기반 무상태 방화벽 필터, 분류기 및 트래픽 셰이퍼를 패킷에 적용합니다.
-
중심점(CP)
중앙 지점은 시스템이 리소스를 할당하고 SPU 간에 세션 관리를 배포하는 데 사용하는 SPU입니다. 플로우의 첫 번째 패킷이 처리되면 중앙 지점이 해당 패킷의 세션에 사용할 SPU를 결정합니다. SRX4600 방화벽은 중앙 지점을 구현하지 않습니다.
-
네트워크 처리 장치(NPU) 및 네트워크 처리 세션
NPU는 I/O 카드(IOC)에서 실행되고 패킷을 개별적으로 처리하는 프로세서입니다. 플로우가 생성되면 플로우의 후속 패킷이 NPU의 세션과 일치합니다. NPU는 TCP 시퀀스 검사, TTL(Time-to-Live) 처리 및 레이어 2 헤더 변환과 같은 추가 처리를 처리합니다. NPU는 세션-SPU와 해시 -SPU 간의 추가 패킷 전달을 방지하여 성능을 향상시킵니다. SRX4600 방화벽은 NPU를 구현합니다.
SRX4600 방화벽 플로우 아키텍처는 SRX4600 디바이스의 고급 멀티 코어 제온™ 프로세서의 사용을 최적화하도록 개선되었습니다. SRX4600 방화벽은 전용 세션 스레드를 사용하여 플로우에서 잘못된 패킷 관리와 같은 문제를 회피합니다. 네트워크 처리 세션을 활용하여 패킷이 올바른 전용 스레드로 전달되도록 합니다. 패킷은 해시 기반 세션 배포 모델에 따라 서로 다른 스레드로 배포됩니다.
SRX5000 라인 디바이스의 트래픽 처리 이해
SRX5000 장치의 Junos OS는 분산된 병렬 처리, 고처리량 및 고성능 시스템입니다. SRX5000 라인 서비스 게이트웨이의 분산 병렬 처리 아키텍처에는 세션을 관리하고 보안 및 기타 서비스 처리를 실행하는 여러 프로세서가 포함되어 있습니다. 이 아키텍처는 뛰어난 유연성을 제공하며, 높은 처리량과 빠른 성능을 제공합니다.
SRX1400, SRX3400, SRX3600, SRX5400, SRX5600, SRX5800 디바이스에서 IKE(Internet Key Exchange) 피어가 NAT 디바이스 뒤에 있는 경우 네트워크 주소 변환(NAT) 순회를 수반하는 IKE 협상이 작동하지 않습니다. 예를 들어 네트워크 주소 변환(NAT) 디바이스가 DIP로 구성된 경우 IKE(Internet Key Exchange) 프로토콜이 UDP 포트를 500에서 4500으로 전환하기 때문에 소스 IP가 변경됩니다.
SRX5000 라인 디바이스의 I/O 카드(IOC) 및 서비스 처리 카드(SPC)에는 패킷이 디바이스를 통과할 때 처리하는 처리 장치가 포함되어 있습니다. IOC에는 하나 이상의 네트워크 처리 장치(NPU)가 있고 SPC에는 하나 이상의 서비스 처리 장치(SPU)가 있습니다.
이러한 처리 장치는 서로 다른 책임을 가지고 있습니다. 패킷에 대한 모든 플로우 기반 서비스는 단일 SPU에서 실행됩니다. 이러한 NPU의 책임은 NPU에서 실행되는 다른 종류의 서비스와 관련하여 명확하게 설명되어 있지 않습니다. .)
예를 들면 다음과 같습니다.
-
NPU는 패킷을 개별적으로 처리합니다. 온전성 검사를 수행하고 서비스 거부(DoS) 화면과 같은 인터페이스에 구성된 일부 화면을 패킷에 적용합니다.
-
SPU는 패킷 플로우에 대한 세션을 관리하고 보안 기능 및 기타 서비스를 패킷에 적용합니다. 또한 패킷 기반 무상태 방화벽 필터, 분류기 및 트래픽 셰이퍼를 패킷에 적용합니다.
-
NPU는 해시 알고리즘을 사용하여 패킷을 SPU로 전달합니다. 그러나 ALG와 같은 일부 애플리케이션의 경우, 시스템은 패킷이 처리되어야 하는 SPU를 결정하기 위해 애플리케이션 중심점을 쿼리해야 합니다.
중앙 지점을 포함하여 시스템의 이러한 개별적이고 협력적인 부분은 각각 패킷 스트림에 대한 세션이 존재하는지 여부를 식별하는 정보와 패킷이 기존 세션에 속하는지 여부를 결정하기 위해 패킷이 일치하는 정보를 저장합니다.
이 아키텍처를 통해 디바이스는 모든 세션의 처리를 여러 SPU에 분산할 수 있습니다. 또한 NPU가 패킷에 대한 세션이 존재하는지 확인하고, 패킷을 확인하고, 패킷에 화면을 적용할 수 있습니다. 패킷이 처리되는 방식은 플로우의 첫 번째 패킷인지 여부에 따라 달라집니다.
다음 섹션에서는 SRX5400, SRX5600 및 SRX5800 디바이스를 예로 사용하여 처리 아키텍처에 대해 설명합니다.
첫 번째 패킷 처리 이해하기
그림 4는 플로우의 첫 번째 패킷이 디바이스에 들어갈 때 취하는 경로를 보여줍니다. NPU는 패킷에 대한 세션이 존재하지 않는다고 판단하고 NPU는 패킷을 분산 중앙 지점으로 전송하여 분산 중앙 지점 세션을 설정합니다. 그런 다음 분산된 중앙 지점은 SPU를 선택하여 패킷에 대한 세션을 설정하고 패킷을 처리하도록 애플리케이션 중앙 지점에 메시지를 보냅니다. 그런 다음 분산된 중앙 지점은 패킷을 해당 SPU로 보냅니다. SPU는 패킷을 처리하고 디바이스에서 전송하기 위해 NPU로 보냅니다. (이 상위 수준 설명은 패킷에 대한 기능 적용을 다루지 않습니다.)
플로우의 첫 번째 패킷이 시스템을 통과하고 이에 대한 세션이 설정된 후에는 빠른 경로 처리를 거칩니다.
플로우의 후속 패킷도 fast-path 처리를 거칩니다. 이 경우, 각 패킷이 세션에 들어가고 NPU가 세션 테이블에서 일치하는 패킷을 찾은 후, NPU는 패킷을 세션을 관리하는 SPU로 전달합니다.
그림 5는 빠른 경로 처리를 보여줍니다. 이는 관련 패킷에 대한 플로우가 이미 설정되었을 때 패킷이 취하는 경로입니다. (또한 패킷이 시작된 플로우에 대한 세션 이후 플로우의 첫 번째 패킷이 취하는 경로이기도 합니다.) 패킷이 디바이스에 들어간 후 NPU는 세션 테이블에서 패킷과 일치하는 항목을 찾아 패킷의 세션을 관리하는 SPU로 패킷을 전달합니다. 패킷은 중앙 지점과의 상호 작용을 우회합니다.
빠른 경로 처리 이해하기
다음 섹션에서는 세션이 생성되는 방법과 패킷이 디바이스를 전송할 때 겪는 프로세스에 대해 설명합니다.
다음은 패킷에 대한 세션을 설정하고 패킷이 SRX5400, SRX5600 및 SRX5800 디바이스를 통과할 때 플로우의 일부로 패킷을 처리하는 데 관련된 주요 구성 요소에 대한 개요입니다.
-
네트워크 처리 장치(NPU) - NPU는 IOC에 상주합니다. 그들은 패킷 온전성 검사 및 일부 화면의 적용을 처리합니다. NPU는 수신 패킷 또는 역방향 트래픽에 대한 세션이 존재하는지 확인하는 데 사용하는 세션 테이블을 유지 관리합니다.
이전에 인터페이스를 통해 디바이스에 들어갔고 이 NPU에 의해 처리된 패킷에 대해 세션이 SPU에서 설정된 경우 NPU 세션 테이블에는 세션 항목이 포함됩니다. SPU는 세션을 생성할 때 NPU 테이블에 세션을 설치합니다.
NPU는 세션 테이블에 대해 패킷 정보를 확인하여 패킷에 대한 세션이 존재하는지 판단합니다. 패킷이 기존 세션과 일치하는 경우, NPU는 패킷과 이에 대한 메타데이터를 SPU로 보냅니다. 세션이 없는 경우, NPU는 해시 알고리즘을 사용하여 계산된 하나의 SPU로 패킷을 보냅니다.
-
서비스 처리 장치(SPU) - SRX5400, SRX5600 및 SRX5800 디바이스의 메인 프로세서는 SPC에 상주합니다. SPU는 트래픽 흐름을 설정 및 관리하며 디바이스를 전송할 때 패킷에 대한 대부분의 패킷 처리를 수행합니다. 각 SPU는 빠른 세션 조회를 위해 해시 테이블을 유지합니다. SPU는 무상태 방화벽 필터, 분류자 및 트래픽 셰이퍼를 트래픽에 적용합니다. SPU는 패킷에 대한 모든 플로우 기반 처리와 대부분의 패킷 기반 처리를 수행합니다. 각 멀티코어 SPU는 동일하거나 다른 SPC에서 SPU 간의 상호 작용을 최소화하면서 패킷을 독립적으로 처리합니다. 동일한 플로우에 속하는 모든 패킷은 동일한 SPU에 의해 처리됩니다.
SPU는 설정한 모든 세션과 처리하는 패킷에 대한 항목이 포함된 세션 테이블을 유지합니다. SPU는 NPU로부터 패킷을 수신하면 패킷이 해당 패킷에 속하는지 확인하기 위해 세션 테이블을 확인합니다. 또한 분산된 중앙 지점에서 패킷을 수신할 때 세션 테이블을 확인하고 패킷에 대한 기존 세션이 없는지 확인하기 위해 해당 패킷에 대한 세션을 설정하라는 메시지를 보냅니다.
-
중앙 지점 - 중앙 지점 아키텍처는 애플리케이션 중심 지점과 분산 중심 지점의 두 모듈로 나뉩니다. 애플리케이션 중앙 지점은 글로벌 리소스 관리 및 로드 밸런싱을 담당하고, 분산 중앙 지점은 트래픽 식별(글로벌 세션 매칭)을 담당합니다. 애플리케이션 중심점 기능은 전용 중앙 지점 SPU에서 실행되는 반면, 분산된 중앙 지점 기능은 나머지 SPU에 배포됩니다. 이제 중앙 포인트 세션은 더 이상 전용 중앙 포인트 SPU에 있지 않고 다른 플로우 SPU의 분산 중앙 포인트와 함께 있습니다.
-
라우팅 엔진 - 라우팅 엔진은 컨트롤 플레인을 실행합니다.
유니캐스트 세션의 데이터 경로 이해
이 섹션에서는 디바이스를 통과하는 플로우에 속한 패킷에 대한 세션을 설정하는 프로세스에 대해 설명합니다.
플로우의 패킷에 서비스가 적용되는 지점을 포함하여 세션 설정 및 패킷 "워크"를 설명하기 위해 이 예에서는 유니캐스트 세션의 간단한 사례를 사용합니다.
이 패킷 "워크"는 Junos OS가 패킷에서 수행하는 패킷 기반 처리와 흐름 기반 처리를 함께 제공합니다.
세션 조회 및 패킷 일치 기준
패킷이 기존 플로우에 속하는지 확인하기 위해 디바이스는 다음 여섯 가지 일치 기준에 따라 패킷 정보를 기존 세션의 정보와 일치시키려고 시도합니다.
-
소스 주소
-
대상 주소
-
소스 포트
-
목적지 포트
-
프로토콜
-
지정된 영역 및 가상 라우터의 고유 토큰
세션 생성 이해하기: 첫 번째 패킷 처리
이 섹션에서는 플로우를 구성하는 패킷을 처리하기 위해 세션을 설정하는 방법을 설명합니다. 이 프로세스를 설명하기 위해 이 섹션에서는 소스 "a"와 대상 "b"가 있는 예제를 사용합니다. 플로우 패킷의 소스에서 대상까지의 방향을 (a ->b)라고 합니다. 대상에서 소스로의 방향을 (b->a)라고 합니다.
1 단계. 패킷이 디바이스의 인터페이스에 도착하면 NPU가 이를 처리합니다.
이 섹션에서는 패킷이 SRX 시리즈 방화벽 수신 IOC에 도착할 때 어떻게 처리되는지 설명합니다.
-
패킷은 디바이스의 IOC에 도착하고 IOC의 NPU에 의해 처리됩니다.
-
NPU는 패킷에 대한 기본 온전성 검사를 수행하고 인터페이스에 대해 구성된 일부 화면을 패킷에 적용합니다.
-
NPU는 패킷에 대한 기존 세션에 대한 세션 테이블을 확인합니다. (세션 테이블의 기존 세션에 대한 패킷의 튜플과 비교하여 패킷의 튜플을 확인합니다.)
-
기존 세션이 없으면 NPU는 패킷을 해시 SPU로 전달합니다.
-
세션 일치가 발견되면 세션이 할당된 SPU에서 이미 생성되었으므로 NPU는 세션 ID와 함께 처리를 위해 패킷을 SPU로 전달합니다.
-
Example: 패킷(a ->b)이 NPU1에 도착합니다. NPU1은 온전성 검사를 수행하고 패킷에 DoS 화면을 적용합니다. NPU1은 세션 테이블에서 튜플 일치를 확인하고 기존 세션을 찾을 수 없습니다. NPU1은 패킷을 SPU로 전달합니다.
2 단계. 분산된 중앙점은 "보류 중" 상태의 세션을 생성합니다.
NPU가 패킷을 수신하면 NPU는 해시 알고리즘에 따라 분산된 중앙 지점으로 패킷을 보냅니다. 그런 다음 분산 중앙점은 분산 중앙 지점 세션 테이블을 조회하고 필요한 경우 항목을 생성합니다.
이 프로세스에는 다음 부분이 수반됩니다.
-
분산된 중앙 지점은 NPU에서 수신된 패킷에 대한 세션이 존재하는지 확인하기 위해 세션 테이블을 확인합니다. (NPU는 패킷에 대한 기존 세션을 찾을 수 없기 때문에 패킷을 분산된 중앙 지점으로 전달합니다.)
-
분산 중앙 포인트 세션 테이블의 패킷과 일치하는 항목이 없는 경우, 분산 중앙 포인트는 세션에 대한 보류 중인 윙을 생성합니다. 그런 다음 분산된 중앙점은 세션에 사용할 SPU를 선택하도록 애플리케이션 중앙점에 쿼리 메시지를 보냅니다.
-
쿼리 메시지를 수신하면 애플리케이션 중심점은 게이트 테이블을 확인하여 패킷에 대한 게이트가 존재하는지 확인합니다. 게이트가 일치하거나 다른 세션 배포 알고리즘이 트리거되면 애플리케이션 중심점은 패킷을 처리할 다른 SPU를 선택합니다. 그렇지 않으면 SPU(즉, 분산된 중심점 SPU)가 선택됩니다. 마지막으로, 애플리케이션 중심점은 분산된 중앙점에 쿼리 응답을 보냅니다.
-
쿼리 응답을 수신하면 분산된 중앙 지점은 SPU가 패킷 플로우에 사용할 세션을 로컬로 설정하도록 지시하는 메시지에서 플로우의 첫 번째 패킷을 선택된 패킷 플로우로 전달합니다. 예를 들어, 분산된 중심점은 세션에 대해 보류 중인 날개(a ->b)를 생성합니다. 애플리케이션 중심점은 SPU1에 사용할 것을 선택합니다. 분산 중앙 지점은 SPU1에 분산 중앙 지점에 대한 세션을 생성하라는 메시지와 함께 (a->b) 패킷을 보냅니다.
Example: 분산된 중심점은 세션에 대한 보류 중인 날개(a ->b)를 생성합니다. 사용할 SPU1을 선택합니다. SPU1에 대한 세션을 생성하라는 메시지와 함께 (a->b) 패킷을 보냅니다.
3 단계. SPU가 세션을 설정합니다.
각 SPU에는 세션에 대한 정보가 포함된 세션 테이블도 있습니다. SPU는 분산된 중앙 지점으로부터 세션을 설정하기 위한 메시지를 수신하면, 패킷에 대한 세션이 아직 존재하지 않은지 확인하기 위해 세션 테이블을 확인합니다.
-
패킷에 대한 기존 세션이 없는 경우, SPU는 세션을 로컬로 설정합니다.
-
SPU는 분산된 중앙 지점에 세션 설치를 지시하는 메시지를 보냅니다.
참고:첫 번째 패킷 처리 중에 네트워크 주소 변환(NAT)이 활성화되면 SPU는 네트워크 주소 변환(NAT)을 위한 IP 주소 리소스를 할당합니다. 이 경우 NAT 할당 프로세스가 완료될 때까지 세션에 대한 첫 번째 패킷 처리가 일시 중단됩니다.
SPU는 세션이 설치될 때까지 수신할 수 있는 플로우에 대한 모든 추가 패킷을 대기열에 추가합니다.
Example: SPU1은 (a ->b)에 대한 세션을 생성하고 보류 중인 세션을 설치하도록 지시하는 메시지를 분산된 중앙 지점에 다시 보냅니다.
4 단계. 분산된 중앙 지점이 세션을 설치합니다.
분산된 중앙 지점은 SPU로부터 설치 메시지를 수신합니다.
-
분산된 중앙점은 세션의 보류 중인 윙의 상태를 활성으로 설정합니다.
-
분산된 중앙점은 세션의 역방향 날개를 활성 날개로 설치합니다.
참고:NAT와 같은 일부 경우에는 역방향 날개가 초기화 날개 분산 중심점과 다른 분산 중심점에 설치될 수 있습니다.
-
세션이 설치되었음을 나타내는 승인(ACK) 메시지를 SPU에 보냅니다.
Example: 분산된 중앙 지점은 SPU1로부터 메시지를 수신하여 (a->b) 윙에 대한 세션을 설치합니다. (a->b) 윙의 세션 상태를 활성으로 설정합니다. 세션에 대한 리버스 윙(b->a)을 설치하고 활성화합니다. 이를 통해 흐름의 반대 방향에서 패킷을 전달할 수 있습니다. 목적지(B)는 소스(A)로 전달됩니다.
5 단계. SPU는 수신 및 송신 NPU에서 세션을 설정합니다.
NPU는 패킷 전달 및 전달을 위한 세션에 대한 정보를 유지합니다. 세션 정보는 송신 및 수신 NPU(때로는 동일함)에 설정되므로 패킷은 리디렉션을 위한 분산 중앙 지점이 아닌 플로우를 관리하는 SPU로 직접 전송될 수 있습니다.
6 단계. 빠른 경로 처리가 발생합니다.
패킷 처리에 수반되는 나머지 단계의 경우 빠른 경로 처리 이해의 1단계로 진행합니다.
그림 6은 플로우의 첫 번째 패킷이 디바이스에 도달한 후 거치는 프로세스의 첫 번째 부분을 보여줍니다. 이 시점에서 패킷과 해당 플로우에 속한 나머지 패킷을 처리하도록 세션이 설정됩니다. 그 후, 해당 패킷과 플로우의 나머지 패킷은 빠른 경로 처리를 거칩니다.
빠른 경로 처리 이해하기
모든 패킷은 빠른 경로 처리를 거칩니다. 그러나 패킷에 대한 세션이 존재하는 경우, 패킷은 빠른 경로 처리를 거치고 첫 번째 패킷 프로세스를 우회합니다. 패킷의 흐름에 대한 세션이 이미 있는 경우, 패킷은 중앙 지점을 통과하지 않습니다.
고속 경로 처리의 작동 방식은 다음과 같습니다. 송신 및 수신 인터페이스의 NPU에는 패킷의 흐름을 관리하는 SPU의 식별을 포함하는 세션 테이블이 포함되어 있습니다. NPU에는 이 세션 정보가 있기 때문에 역방향 트래픽을 포함한 플로우의 모든 트래픽은 처리를 위해 해당 SPU로 직접 전송됩니다.
빠른 경로 프로세스를 설명하기 위해 이 섹션에서는 소스 "a"와 대상 "b"가 있는 예제를 사용합니다. 플로우 패킷의 소스에서 대상까지의 방향을 (a->b)라고 합니다. 대상에서 소스로의 방향을 (b->a)라고 합니다.
1 단계. 패킷이 디바이스에 도착하면 NPU가 이를 처리합니다.
이 섹션에서는 패킷이 서비스 게이트웨이의 IOC에 도착할 때 어떻게 처리되는지 설명합니다.
-
패킷은 디바이스의 IOC에 도착하고 카드의 NPU에 의해 처리됩니다.
NPU는 온전성 검사를 수행하고 서비스 거부(DoS) 화면과 같은 일부 화면을 패킷에 적용합니다.
-
NPU는 패킷이 일치하는 세션 테이블에서 기존 세션에 대한 항목을 식별합니다.
-
NPU는 세션 ID 및 패킷 튜플 정보를 포함한 세션 테이블의 메타데이터와 함께 패킷을 플로우에 대한 세션을 관리하고, 무상태 방화벽 필터 및 CoS 기능을 패킷에 적용하며, 패킷의 플로우 처리와 보안 및 기타 기능의 적용을 처리하는 SPU로 패킷을 전달합니다.
Example: 패킷(a ->b)이 NPU1에 도착합니다. NPU1은 패킷에 대한 온전성 검사를 수행하고, DoS 화면을 적용하며, 세션 테이블에서 튜플 일치를 확인합니다. 일치하는 항목을 찾고 SPU1의 패킷에 대한 세션이 존재합니다. NPU1은 처리를 위해 패킷을 SPU1로 전달합니다.
2 단계. 세션의 SPU가 패킷을 처리합니다.
패킷 처리의 대부분은 세션이 할당된 SPU에서 발생합니다. 패킷은 무상태 방화벽 필터, 트래픽 셰이퍼 및 분류자(해당하는 경우)와 같은 패킷 기반 기능을 위해 처리됩니다. 구성된 플로우 기반 보안 및 방화벽 기능, 네트워크 주소 변환(NAT), ALG 등과 같은 관련 서비스가 패킷에 적용됩니다. (세션에 대해 보안 서비스가 결정되는 방법에 대한 자세한 내용입니다.
-
패킷을 처리하기 전에 SPU는 세션 테이블을 확인하여 패킷이 세션 중 하나에 속하는지 확인합니다.
-
SPU는 해당 기능 및 서비스에 대한 패킷을 처리합니다.
Example: SPU1은 NPU1로부터 패킷(a->b)을 수신합니다. SPU1은 패킷이 세션 중 하나에 속하는지 확인하기 위해 세션 테이블을 확인합니다. 그런 다음 입력 인터페이스에 적용되는 입력 필터 및 CoS 기능에 따라 패킷(a ->b)을 처리합니다. SPU는 영역 및 정책을 기반으로 패킷의 흐름에 대해 구성된 보안 기능과 서비스를 SPU에 적용합니다. 구성된 것이 있으면 출력 필터, 트래픽 셰이퍼 및 추가 화면을 패킷에 적용합니다.
3 단계. SPU는 패킷을 NPU로 전달합니다.
-
SPU는 패킷을 NPU로 전달합니다.
-
NPU는 인터페이스와 관련된 모든 해당 화면을 패킷에 적용합니다.
Example: SPU1은 패킷(a ->b)을 NPU2로 전달하고 NPU2는 DoS 화면을 적용합니다.
4 단계. 인터페이스는 디바이스에서 패킷을 전송합니다.
Example: 인터페이스는 디바이스에서 패킷(a->b)을 전송합니다.
5 단계. 역방향 트래픽 패킷이 송신 인터페이스에 도착하고 NPU가 이를 처리합니다.
이 단계는 1단계를 정확히 반대로 미러링합니다. 자세한 내용은 이 섹션의 1단계를 참조하십시오.
Example: 패킷(b->a)이 NPU2에 도착합니다. NPU2는 세션 테이블에서 튜플 일치를 확인합니다. 일치하는 항목을 찾고 SPU1의 패킷에 대한 세션이 존재합니다. NPU2는 처리를 위해 패킷을 SPU1로 전달합니다.
6 단계. 세션의 SPU는 역방향 트래픽 패킷을 처리합니다.
이 단계는 역방향 트래픽에 적용된다는 점을 제외하고는 2단계와 동일합니다. 자세한 내용은 이 섹션의 2단계를 참조하십시오.
Example: SPU1은 NPU2로부터 패킷(b->a)을 수신합니다. 패킷이 NPU2에 의해 식별된 세션에 속하는지 확인하기 위해 세션 테이블을 확인합니다. 그런 다음 NPU1의 인터페이스에 대해 구성된 패킷 기반 기능을 패킷에 적용합니다. 패킷(b->a)은 영역 및 정책을 기반으로 플로우에 대해 구성된 보안 기능 및 기타 서비스에 따라 패킷(b-a)을 처리합니다.
7 단계. SPU는 역방향 트래픽 패킷을 NPU로 전달합니다.
이 단계는 역방향 트래픽에 적용된다는 점을 제외하고는 3단계와 동일합니다. 자세한 내용은 이 섹션의 3단계를 참조하십시오.
Example: SPU1은 패킷(b->a)을 NPU1로 전달합니다. NPU1은 인터페이스에 대해 구성된 모든 화면을 처리합니다.
8. 인터페이스가 디바이스에서 패킷을 전송합니다.
이 단계는 역방향 트래픽에 적용된다는 점을 제외하고는 4단계와 동일합니다. 자세한 내용은 이 섹션의 4단계를 참조하십시오.
예: 인터페이스가 디바이스에서 패킷(b->a)을 전송합니다.
그림 7은 패킷이 디바이스에 도달하고 패킷이 속한 흐름에 대한 세션이 존재할 때 겪는 프로세스를 보여줍니다.
를 위한 패킷 워크
서비스 처리 장치 이해
주어진 물리적 인터페이스에 대해 SPU는 물리적 인터페이스와 연관된 네트워크 프로세서 번들의 모든 네트워크 프로세서로부터 수신 패킷을 수신합니다. SPU는 물리적 인터페이스에서 네트워크 프로세서 번들 정보를 추출하고 동일한 5-튜플 해시 알고리즘을 사용하여 플로우를 네트워크 프로세서 인덱스에 매핑합니다. 네트워크 프로세서를 판별하기 위해 SPU는 네트워크 프로세서 번들의 네트워크 프로세서 인덱스를 조회합니다. SPU는 외부 트래픽을 위해 물리적 인터페이스의 로컬 PIM(Physical Interface Module)으로 송신 패킷을 보냅니다.
네트워크 프로세서와 SPU는 동일한 5-튜플 해시 알고리즘을 사용하여 패킷에 대한 해시 값을 가져옵니다.
스케줄러 특성 이해
SRX5400, SRX5600 및 SRX5800 디바이스의 경우, IOC는 다음과 같은 계층 스케줄러 특성을 지원합니다.
-
IFL – 네트워크 프로세서 번들의 구성은 물리적 인터페이스 데이터 구조에 저장됩니다. 예를 들어, SRX5400, SRX5600 및 SRX5800 디바이스에는 최대 48개의 PIM이 있습니다. 물리적 인터페이스는 48비트 비트 마스크를 사용하여 PIM을 나타내거나, 이 물리적 인터페이스의 네트워크 프로세서 트래픽이 물리적 인터페이스의 기본 네트워크 프로세서와 함께 분산될 수 있습니다.
SRX5000 라인 디바이스에서 iflset 기능은 reth와 같은 어그리게이션 인터페이스에 대해 지원되지 않습니다.
-
IFD – 네트워크 프로세서 번들의 물리적 인터페이스와 연결된 논리적 인터페이스 는 네트워크 프로세서 번들에 PIM이 있는 모든 IOC에 전달됩니다.
네트워크 프로세서 번들링 이해
네트워크 프로세서 번들링 기능은 SRX5000 라인 디바이스에서 사용할 수 있습니다. 이 기능을 사용하면 패킷 처리를 위해 하나의 인터페이스에서 여러 네트워크 프로세서로 데이터 트래픽을 배포할 수 있습니다. 기본 네트워크 프로세서는 수신 트래픽을 수신하고 패킷을 여러 다른 보조 네트워크 프로세서에 배포하는 인터페이스에 할당됩니다. 단일 네트워크 프로세서는 기본 네트워크 프로세서 또는 여러 인터페이스에 대한 보조 네트워크 프로세서로 작동할 수 있습니다. 단일 네트워크 프로세서는 하나의 네트워크 프로세서 번들에만 조인할 수 있습니다.
네트워크 프로세서 번들링 제한 사항
네트워크 프로세서 번들링 기능에는 다음과 같은 제한 사항이 있습니다.
-
네트워크 프로세서 번들링은 번들당 총 16개의 PIM과 8개의 서로 다른 네트워크 프로세서 번들 시스템을 허용합니다.
-
번들에 구성 변경 사항을 적용하려면 디바이스를 재부팅해야 합니다.
-
네트워크 프로세서 번들링은 전체 아키텍처에서 reth 인터페이스 아래에 있습니다. 네트워크 프로세서 번들에서 인터페이스 중 하나 또는 둘 다를 선택하여 reth 인터페이스를 구성할 수 있습니다.
-
네트워크 프로세서 번들에서 IOC가 제거되면 해당 IOC의 PIM으로 전달된 패킷이 손실됩니다.
-
네트워크 프로세서 번들이 활성화되면 ICMP, UDP 및 TCP 동기화 플러딩 임계값이 더 이상 인터페이스에 적용되지 않습니다. 패킷은 처리를 위해 여러 네트워크 프로세서에 배포됩니다. 이러한 임계값은 네트워크 프로세서 번들의 각 네트워크 프로세서에 적용됩니다.
-
네트워크 프로세서 번들링은 레이어 2 모드에서 지원되지 않습니다.
-
네트워크 프로세서의 메모리 제약으로 인해 PIM당 지원되는 네트워크 프로세서 번들 포트 수는 제한적입니다. 네트워크 프로세서 번들 내에서 각 포트에는 글로벌 포트 인덱스가 있어야 합니다. 글로벌 포트 인덱스는 다음 공식을 사용하여 계산됩니다.
Global_port_index = (global_pic * 16) + port_offset
-
섀시 클러스터 구현의 링크 어그리게이션 그룹(LAG) 및 중복 이더넷 인터페이스 LAG는 네트워크 프로세서 번들링과 공존할 수 있습니다. 그러나 LAG나 중복 이더넷 인터페이스 LAG는 네트워크 프로세서 번들과 물리적 링크를 겹치거나 공유할 수 없습니다.
세션 캐시 이해
개요
SRX5400, SRX5600 및 SRX5800 디바이스의 SRX5K-MPC(IOC2), SRX5K-MPC3-100G10G(IOC3) 및 SRX5K-MPC3-40G10G(IOC3)는 세션 캐시 및 세션 캐시의 선택적 설치를 지원합니다.
세션 캐시는 IOC에서 네트워크 프로세서(NP)와 SPU 간의 대화를 캐시하는 데 사용됩니다. 대화는 세션, GTP-U 터널 트래픽, IPsec VPN 터널 트래픽 등이 될 수 있습니다. 대화에는 두 개의 세션 캐시 항목이 있는데, 하나는 수신 트래픽용이고 다른 하나는 역방향 트래픽용입니다. 트래픽 수신 및 송신 포트의 위치에 따라 두 개의 항목이 동일한 네트워크 프로세서 또는 다른 네트워크 프로세서에 있을 수 있습니다. IOC는 IPv6 세션에 대한 세션 캐시를 지원합니다.
세션 캐시 항목은 세션 윙이라고도 합니다.
IOC의 세션 캐시는 Express Path(이전의 서비스 오프로드) 기능을 활용하여 긴 대기 시간 및 IPsec 성능 저하와 같은 문제를 방지하는 데 도움이 됩니다.
세션 캐시 항목은 다음을 기록합니다.
변환 트래픽이 전달되어야 하는 SPU
변환 트래픽이 Express Path 모드에서 전달되어야 하는 송신 포트
송신 트래픽에 대해 수행할 처리(예: Express Path 모드의 NAT 변환)
다른 트래픽은 5-튜플 키 정보에 기반하여 SPU에 해시되었습니다. VPN 트래픽은 고정된 SPU의 개념을 사용했는데, 이는 플로우 SPU의 기능과 반드시 일치하지는 않았습니다. 네트워크 프로세서는 5-튜플 해시를 기반으로 패킷을 플로우 SPU로만 전달할 수 있습니다. 그런 다음 플로우 SPU는 고정된 SPU로 패킷을 전달했습니다. 이로 인해 VPN 트래픽에 대한 추가 홉이 생성되어 스위치 패브릭 대역폭이 낭비되고 VPN 처리량이 약 절반으로 줄었습니다. 이러한 성능 저하가 발생한 이유는 트래픽이 고정된 SPU에서 처리한 후에도 플로우 SPU로 돌아가야 했기 때문입니다.
세션 캐시 테이블은 이제 IOC에서 확장되어 NP 세션을 지원합니다. Express Path 트래픽과 NP 트래픽은 IOC에서 동일한 세션 캐시 테이블을 공유합니다. Express Path 트래픽은 트래픽이 SPU의 서비스를 필요로 하지 않기 때문에 IOC 자체에 의해 로컬 또는 다른 IOC로 전달됩니다. NP 트래픽은 추가 처리를 위해 세션 캐시에 지정된 SPU로 전달됩니다. 모든 세션 캐시 항목은 Express Path 세션 트래픽과 NP 트래픽 모두에서 공유됩니다.
IOC에서 세션 캐시를 활성화하려면 명령을 실행 set chassis fpc <fpc-slot> np-cache 해야 합니다.
IOC2 및 IOC3는 지연 세션 삭제 메커니즘을 활용합니다. 삭제된 다음 즉시 다시 설치되는 동일한 세션(동일한 5개의 튜플이 있는 세션)은 IOC에 캐시되지 않습니다.
선택적 세션 캐시 설치
긴 지연을 피하고, IPSec 성능을 개선하며, 귀중한 리소스를 더 잘 활용하기 위해 특정 우선 순위 메커니즘이 플로우 모듈과 IOC 모두에 적용됩니다.
IOC는 세션 캐시 사용 임계값 수준을 유지 관리하고 모니터링합니다. 또한 IOC는 세션 캐시 사용량을 SPU에 전달하므로, 특정 세션 캐시 사용량 임계값에 도달하면 SPU는 선택적 우선순위 높은 트래픽 세션에 대한 세션 캐시 설치 요청만 보냅니다.
IDP, ALG와 같은 애플리케이션은 패킷을 순서대로 처리해야 합니다. 하나의 SPU에는 하나의 세션에 속하는 패킷을 처리하는 여러 플로우 스레드가 있으며, LBT(로드 밸런싱 스레드) 및 POT(패킷 순서 스레드) 패킷 순서는 트래픽이 순서대로 방화벽을 통과하도록 할 수 있지만 동일한 세션에 속하는 패킷을 순서대로 처리하도록 애플리케이션이 보장할 수는 없습니다. 플로우 직렬화는 패킷을 처리하는 SPU 플로우 스레드가 한 번에 동일한 세션에 속하는 방식을 제공하므로 애플리케이션이 패킷을 순서대로 수신, 처리 및 전송할 수 있습니다. 다른 플로우 스레드는 다른 세션에 대한 플로우 직렬화 처리를 동시에 수행할 수 있습니다.
다음 네 가지 우선 순위 수준은 IOC에 세션 캐시를 설치할 수 있는 트래픽 유형을 결정하는 데 사용됩니다.
Priority 1 (P1)— IPSec 및 Express Path 적격 트래픽
Priority 2 (P2)— 단편화 순서 지정
Priority 3 (P3)— NAT/SZ(세션 직렬화) 트래픽 트래픽
Priority 4(P3)— 기타 모든 유형의 트래픽
IOC는 세션 캐시 사용에 대한 임계 수준을 유지 및 모니터링하고 현재 실시간 세션 캐시 사용을 SPU로 업데이트합니다. SPU는 IOC에 특정 우선 순위가 높은 트래픽 세션에 대한 세션 캐시를 설치하도록 요청합니다. 우선 순위가 높은 트래픽 세션에 대한 세션 캐시 사용량은 표에 정의되어 있습니다.
트래픽 유형 |
< 사용률 0% < 25% |
25% < 활용률 < 50% |
50% < 활용도 < 75% |
75% < 활용률 < 100% |
|---|---|---|---|---|
IPsec 및 Express Path 트래픽 |
예 |
예 |
예 |
예 |
단편화 트래픽 순서 지정 |
예 |
예 |
예 |
아니요 |
NAT/SZ 트래픽 |
예 |
예 |
아니요 |
아니요 |
기타 트래픽 |
예 |
아니요 |
아니요 |
아니요 |
IOC에서 세션 항목을 보존하기 위해 플로우 모듈은 IOC에 세션을 선택적으로 설치합니다. 세션 설치 선택을 용이하게 하기 위해 IOC는 해당 임계값을 유지하여 플로우 모듈에 표시(IOC의 세션 캐시 테이블이 얼마나 가득 찼는지에 대해)를 제공합니다. 메타 헤더에 2비트가 추가되어 현재 캐시 테이블 활용 상태를 나타냅니다. SPU로 이동하는 모든 패킷은 이 두 상태 비트를 전달하여 IOC의 캐시 테이블 활용도를 플로우 모듈에 알려줍니다.
세션 캐시를 사용한 IPsec VPN 세션 선호도 향상
SRX 시리즈 방화벽은 완전히 분산된 시스템이며, IPsec 터널은 특정 SPU에 할당 및 고정됩니다. IPsec 터널에 속하는 모든 트래픽은 터널 고정 SPU에서 암호화 및 복호화됩니다. 더 나은 IPsec 성능을 달성하기 위해 IOC는 플로우 모듈을 개선하여 터널 고정 SPU에서 IPsec 터널 기반 트래픽에 대한 세션(암호화 전과 복호화 후)을 생성하고, IOC가 패킷을 동일한 SPU로 직접 리디렉션하여 패킷 전달 오버헤드를 최소화할 수 있도록 세션에 대한 세션 캐시를 설치합니다. Express Path 트래픽과 NP 트래픽은 IOC에서 동일한 세션 캐시 테이블을 공유합니다.
IOC에서 세션 캐시를 활성화하고 보안 정책을 설정하여 세션이 선택한 FPC(Flexible PIC Concentrator)에서 Express Path(이전의 서비스 오프로드) 모드용인지 여부를 결정해야 합니다.
IPsec VPN 선호도를 활성화하려면 명령을 사용합니다.set security flow load-distribution session-affinity ipsec
IPsec VPN 선호도를 사용하려면 명령을 사용하여 IOC에서 세션 캐시도 활성화해야 합니다.set chassis fpc <fpc-slot> np-cache
NP 세션 캐시를 사용한 단편화 패킷 순서 지정
세션은 일반 패킷과 단편화된 패킷 모두로 구성될 수 있습니다. 해시 기반 배포에서는 5-튜플 및 3-튜플 키를 사용하여 각각 일반 패킷과 단편화된 패킷을 서로 다른 SPU에 배포할 수 있습니다. SRX 시리즈 방화벽에서는 세션의 모든 패킷이 처리 SPU로 전달됩니다. 포워딩 및 처리 지연으로 인해 처리 SPU는 세션의 패킷 순서를 보장하지 않을 수 있습니다.
IOC의 세션 캐시는 단편화된 패킷이 있는 세션의 패킷 순서를 보장합니다. 세션 캐시 항목은 세션의 일반 패킷에 할당되며 3-튜플 키는 단편화된 패킷을 찾는 데 사용됩니다. 세션의 첫 번째 단편화된 패킷을 수신하면 플로우 모듈을 통해 IOC가 세션 캐시 항목을 업데이트하여 SPU에 대한 단편화된 패킷을 기억할 수 있습니다. 나중에 IOC는 세션의 모든 후속 패킷을 SPU로 전달하여 단편화된 패킷이 있는 세션의 패킷 순서를 보장합니다.
NPC로의 IOC 매핑 구성
IOC(입력/출력 카드)에서 NPC(네트워크 처리 카드) 매핑을 사용하려면 하나의 IOC를 하나의 NPC에 매핑해야 합니다. 그러나 여러 IOC를 단일 NPC에 매핑할 수 있습니다. SRX3400 및 SRX3600 서비스 게이트웨이의 NPC에서 처리 능력의 균형을 맞추기 위해 섀시 프로세스(데몬)는 매핑을 수행하는 알고리즘을 실행합니다. IOC는 IOC에 매핑된 IOC의 양이 가장 적은 NPC에 매핑됩니다. 또한 명령줄 인터페이스(CLI)를 사용하여 특정 IOC를 특정 NPC에 할당할 수 있습니다. 매핑을 구성할 때 섀시 프로세스는 먼저 구성을 사용한 다음 나머지 IOC에 최소 수의 NPC 알고리즘을 적용합니다.
플랫폼 지원은 설치한 Junos OS 릴리스에 따라 다릅니다.
IOC에서 NPC로의 매핑을 구성하려면 다음을 수행합니다.
[edit]
set chassis ioc-npc-connectivity {
ioc slot-number npc (none | slot-number);
}
명령을 커밋한 후 섀시 컨트롤을 다시 시작해야 합니다.set chassis ioc-npc-connectivity
SRX5K-SPC3 디바이스의 플로우 처리 이해
서비스 처리 카드 SRX5K-SPC3는 SRX5000 보안 서비스 게이트웨이에서 보안 서비스의 성능을 개선하기 위해 도입되었습니다. SPC3 카드는 더 높은 처리량을 지원하고 섀시 클러스터 기능과 서비스 처리를 위한 확장성을 유지하면서 안정성을 유지합니다.
SPC3 카드는 다음 보안 기능을 지원합니다.
-
애플리케이션 레이어 게이트웨이(ALG). [ ALG 개요 참조]
-
고급 안티 멀웨어(주니퍼 ATP 클라우드). [ 주니퍼 Sky Advanced Threat Prevention 관리 참조]
-
애플리케이션 보안 제품군. [ 보안 디바이스에 대한 애플리케이션 보안 사용자 가이드 참조]
-
플로우 기반 패킷 처리 구현
-
GPRS 터널링 프로토콜(GTP) 및 스트림 제어 전송 프로토콜(SCTP). [ 보안 디바이스에 대한 일반 패킷 라디오 서비스 사용자 가이드 참조]
-
고가용성(섀시 클러스터). [ SRX 시리즈 디바이스용 섀시 클러스터 사용자 가이드 참조]
-
침입 탐지 및 방지(IDP). [ 침입 탐지 및 방지 개요 참조]
-
네트워크 주소 변환(NAT). [ 보안 디바이스에 대한 네트워크 주소 변환 사용자 가이드 참조]
-
스테이트풀 방화벽
-
SSL 프록시. [ SSL 프록시 참조]
-
방화벽 사용자 인증. [ 보안 디바이스에 대한 인증 및 통합 사용자 방화벽 사용자 가이드 참조]
-
콘텐츠 보안(바이러스 차단, 웹 필터링, 콘텐츠 필터링 및 스팸 차단). [ 보안 디바이스에 대한 UTM 사용자 가이드 참조]
SPC2 카드에서 지원되는 모든 기존의 보안 기능과 함께 SPC3 카드를 지원하도록 보안 흐름이 향상되었습니다.
Junos OS 릴리스 18.2R1-S1의 SPC3 카드에는 다음과 같은 제한 사항이 적용됩니다.
-
SPC3 카드와 SPC2 카드의 상호 운용성은 지원되지 않습니다.
-
IPSec VPN 기능은 SPC3 카드에서 지원되지 않습니다.
SRX5000 라인 디바이스에서 SPC3 카드는 I/O 카드(IOC2, IOC3), 스위치 컨트롤 보드(SCB2, SCB3), 라우팅 엔진 및 SPC2 카드와 상호 운용됩니다.
Junos OS 릴리스 18.4R1부터는 SPC3 및 SPC2 카드의 조합이 SRX5000 라인 디바이스에서 지원됩니다.
SRX5000 라인의 디바이스에 SPC3 카드를 추가하는 경우, 새 SPC3 카드는 SPC 중 가장 낮은 번호의 슬롯에 설치되어야 합니다. SPC3 카드는 원래의 가장 낮은 수의 슬롯에 설치되어 혼합 모드에서 중앙 지점(CP) 기능을 제공합니다. 예를 들어, 서비스 게이트웨이에 SPC2와 SPC3 카드가 혼합되어 있는 경우, SPC3는 섀시에 있는 SPC 중 가장 낮은 수의 슬롯을 차지해야 합니다. 이 구성은 혼합 모드에서 중앙 지점(CP) 기능이 SPC3 카드에 의해 수행되도록 보장합니다.
혼합 모드에서 작동하는 SRX5000 라인 디바이스에서는 SPC3과 SPC2 카드 간에 플로우 처리가 공유됩니다. 중앙 지점 처리는 SPC3 카드가 설치된 가장 낮은 수의 SPC 슬롯에서 발생합니다.
SRX 시리즈 방화벽이 섀시 클러스터 모드에서 작동하는 경우, SPC3 및 SPC2 카드를 각 섀시의 동일한 슬롯 위치에 설치해야 합니다.
- SPC3 소프트웨어 아키텍처 이해
- 부하 분산 이해
- NP 세션 및 서비스 오프로드(SOF) 이해
- SPC3에서 J-Flow 지원 이해하기
- 데이터 경로 디버그 SPU 지원(E2E) 이해
- 단편화 처리, ISSU 및 ISHU 지원 이해하기
SPC3 소프트웨어 아키텍처 이해
SPC3 플로우 아키텍처는 CP-Lite 아키텍처와 동일합니다. SPC3에는 물리적으로 두 개의 서비스 처리 장치(SPU)가 있고 각 SPU에는 두 개의 CPU가 있습니다.
SPC3를 하나 또는 두 개 설치할 때 트래픽 처리는 첫 번째 SPC의 75%를 활용합니다. 3개 이상의 SPC3를 설치하면 트래픽 처리는 첫 번째 SPC의 50%를 활용합니다.
IOC가 플로우를 처리하기 위해 패킷을 해시하는 방식이 변경됩니다. 그림은 SPC3을 포함하는 SRX 시리즈 방화벽의 패킷 플로우를 보여줍니다.
의 패킷 플로우
SPC3에서 패킷은 IOC에서 각 코어로 직접 배포됩니다. IOC는 패킷을 흐르는 RT 스레드에 직접 해시하기 때문에 원래 LBT 스레드가 제거됩니다. 이제 패킷이 SPU 대신 흐르는 스레드로 전달됩니다. 보안 플로우가 SPU ID 대신 NP 세션을 설치하는 경우, IOC는 세션 스레드 ID를 사용하여 세션과 연결된 올바른 스레드를 위해 패킷을 전달합니다.
를 통한 패킷 플로우
부하 분산 이해
수익 포트를 통해 들어오는 모든 패킷은 해시 알고리즘에 따라 서로 다른 SPU에 배포되며, 이는 CP-Lite 아키텍처를 기반으로 하는 기존 SRX5000 라인 디바이스 해시와 동일합니다. 해시 방법은 트래픽 유형에 따라 다릅니다. 아래 표에는 해시 메서드가 나열되어 있습니다.
| 프로토콜 |
포트 |
해시 메서드 |
|
|---|---|---|---|
| TCP |
L4 src 포트 및 dst 포트 |
5-튜플로 해시 |
|
| UDP |
보통 |
L4 src 포트 및 dst 포트 |
5-튜플로 해시 |
| GTP |
L4 src 포트 및 dst 포트 |
5-튜플로 해시 |
|
| IKE(Internet Key Exchange) |
L4 src 포트 및 dst 포트 |
IP 페어별로 해시 |
|
| ICMP |
|
ICMP 정보는 5-튜플로 해시됩니다. ICMP 오류는 3-튜플에 의해 해시됩니다(포트 정보 없음). |
|
| SCTP |
L4 src 포트 및 dst 포트 |
5-튜플로 해시 |
|
| ESP |
스파이 |
IP 페어별로 해시 |
|
| 아 |
스파이 |
IP 페어별로 해시 |
|
| GRE |
PPTP alg가 활성화된 경우 sport = call id; dport = 0 기본적으로 포트는 0x00010001입니다 |
3-튜플로 해시 |
|
| 핌 |
기본적으로 PIM 포트는 0x00010001 |
3-튜플로 해시 |
|
| 조각 |
첫 번째 조각에는 일반 포트가 있습니다. 첫 번째 조각 없음, 포트 없음 |
3-튜플로 해시 |
|
| 기타 IP 패킷 |
포트 0x00010001 |
3-튜플로 해시 |
|
| 없음 IP |
해당 사항 없음 |
Mac 주소 및 이더넷 유형(VLAN ID)에 의해 해시 |
|
NP 세션 및 서비스 오프로드(SOF) 이해
네트워크 프로세서(NP) 세션은 SPU 세션을 허용하고 설정하는 IOC 기반 세션입니다. NP 세션을 통과하는 패킷에는 다음과 같은 이점이 있습니다.
-
더 나은 성능을 얻기 위해 SPU에 대한 세션 조회를 피합니다.
-
세션 SPU와 해시 SPU 간의 추가 패킷 전달을 방지합니다.
서비스 오프로드는 기본 방화벽 서비스가 필요한 세션에 저지연 기능을 제공하기 위한 특별한 유형의 NP 세션입니다. IOC에서 SOF 세션에 도달하는 패킷은 SPU에서 패킷 처리를 우회하고 IOC에 의해 직접 전달됩니다. 다음 트래픽 유형은 서비스 오프로드를 지원합니다.
-
기본 방화벽(플러그인 및 조각 제외), IPv4 및 IPv6 TCP, UDP 트래픽
-
IPv4 NAT
-
1팬 인 및 1팬 아웃 멀티캐스트
-
FTP 데이터 세션과 같은 ALG
SPC3에서 J-Flow 지원 이해하기
J-Flow는 업계 표준 트래픽 모니터링 메커니즘의 주니퍼 버전입니다. 네트워크 모니터링 및 추가 데이터 처리를 위해 네트워크 트래픽 통계의 스냅샷을 원격 서버로 내보내는 기능을 제공합니다. J-Flow는 v5, v8 및 v9 형식을 지원합니다. 이 세 가지 버전은 모두 SPC3에서 지원됩니다.
데이터 경로 디버그 SPU 지원(E2E) 이해
Datapath 디버그는 SRX5000 라인 디바이스에서 필터 기반 엔드 투 엔드(E2E) 패킷 디버그 기능을 제공합니다. 패킷 경로를 추적하고 패킷 내용을 덤프합니다.
SPC3에서 JEXEC는 지원되는 유일한 E2E 이벤트 유형이며 다음과 같은 E2E 작업 유형이 지원됩니다.
-
개수
-
덤프
-
추적
-
추적 요약
단편화 처리, ISSU 및 ISHU 지원 이해하기
SPC3에서 단편화된 패킷은 헤더 튜플 값을 기반으로 특정 PFE의 "단편화된 코어"로 전달됩니다. 단편화된 패킷을 수신한 후 flow는 조각 모음을 수행하고 패킷을 세션 코어로 전달합니다. 플로우 로직은 변경되지 않고 동일하게 유지됩니다.
ISSU를 수행하는 동안 가상 SPU는 관련 가상 SPU ID와 동기화됩니다. ISHU 지원은 CP-Lite 아키텍처를 기반으로 합니다. 기본적으로 두 가지 ISHU 작업이 지원됩니다.
-
보조 노드에 새 SPC를 삽입합니다.
-
보조 노드의 SPC를 교체하고 SPC 수는 기본 노드의 수와 동일해야 합니다.
변경 내역 표
기능 지원은 사용 중인 플랫폼과 릴리스에 따라 결정됩니다. 기능 탐색기를 사용하여 플랫폼에서 기능이 지원되는지 확인합니다.