Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

SRX 시리즈 방화벽의 트래픽 처리 개요

보안 디바이스용 Junos OS는 주니퍼 네트웍스의 네트워크 보안 및 라우팅 기능을 통합합니다. 디바이스에 들어오고 나가는 패킷은 패킷 기반 처리와 플로우 기반 처리를 모두 거칩니다.

보안 디바이스의 트래픽 처리 이해

보안 디바이스용 Junos OS는 주니퍼 네트웍스의 세계적 수준의 네트워크 보안 및 라우팅 기능을 통합합니다. Junos OS에는 광범위한 패킷 기반 필터링, CoS(Class-of-Service) 분류자 및 트래픽 셰이핑 기능은 물론 정책, 화면, 네트워크 주소 변환(NAT) 및 기타 플로우 기반 서비스를 비롯한 풍부하고 광범위한 플로우 기반 보안 기능 세트가 포함되어 있습니다.

보안 디바이스에 들어오고 나가는 트래픽은 패킷 필터, 보안 정책, 화면 등 사용자가 구성한 기능에 따라 처리됩니다. 예를 들어, 소프트웨어는 다음을 결정할 수 있습니다.

  • 패킷이 디바이스로 허용되는지 여부

  • 패킷에 적용할 방화벽 화면

  • 패킷이 목적지에 도달하는 데 걸리는 경로

  • 패킷에 적용할 CoS(있는 경우)

  • 패킷의 IP 주소를 변환하기 위해 NAT를 적용할지 여부

  • 패킷에 ALG(Application Layer Gateway)가 필요한지 여부

디바이스에 들어오고 나가는 패킷은 패킷 기반 처리와 플로우 기반 처리를 모두 거칩니다.

  • 플로우 기반 패킷 처리는 관련 패킷 또는 패킷 스트림을 동일한 방식으로 처리합니다. 패킷 처리는 패킷 스트림의 첫 번째 패킷에 대해 설정된 특성에 따라 달라지며, 이를 흐름이라고 합니다.

    서비스 게이트웨이의 분산 처리 아키텍처의 경우, 모든 플로우 기반 처리는 SPU에서 발생하며 샘플링은 다중 스레드를 인식합니다. 패킷 시퀀싱은 샘플링된 패킷에 대해 유지됩니다.

  • 패킷 기반 또는 상태 비저장 패킷 처리는 패킷을 개별적으로 처리합니다. 각 패킷은 치료를 위해 개별적으로 평가됩니다.

    서비스 게이트웨이의 분산 처리 아키텍처의 경우, 트래픽 셰이핑과 같은 일부 패킷 기반 처리가 NPU에서 발생합니다. 패킷에 분류자를 적용하는 것과 같은 일부 패킷 기반 프로세싱은 SPU에서 발생합니다.

이 항목에는 다음 섹션이 포함되어 있습니다.

플로우 기반 처리 이해

패킷은 패킷 기반 필터 및 일부 화면이 적용된 후 플로우 기반 처리를 거칩니다. 단일 플로우에 대한 모든 플로우 기반 프로세싱은 단일 SPU(Services Processing Unit)에서 발생합니다. SPU는 세션에 대해 구성된 보안 기능 및 기타 서비스에 따라 플로우 패킷을 처리합니다.

그림 1 은 서비스 게이트웨이에서 플로우 기반 트래픽 처리가 어떻게 발생하는지에 대한 개념적 관점을 보여줍니다.

그림 1: 플로우 기반 처리를 Traffic Flow for Flow-Based Processing 위한 트래픽 플로우

플로우는 동일한 일치 기준을 충족하고 동일한 특성을 공유하는 관련 패킷의 스트림입니다. Junos OS는 동일한 플로우에 속하는 패킷을 동일한 방식으로 처리합니다.

패킷의 운명을 결정하는 구성 설정(예: 적용되는 보안 정책, ALG(애플리케이션 레이어 게이트웨이)가 필요한 경우, 패킷의 소스 및/또는 대상 IP 주소를 변환하기 위해 NAT가 적용되는 경우)은 흐름의 첫 번째 패킷에 대해 평가됩니다.

패킷에 대한 플로우가 존재하는지 판단하기 위해 NPU는 다음 일치 기준에 따라 패킷의 정보를 기존 세션의 정보와 일치시키려고 시도합니다.

  • 소스 주소

  • 목적지 주소

  • 소스 포트

  • 목적지 포트

  • 프로토콜

  • 지정된 영역 및 가상 라우터에 대한 고유 세션 토큰 번호

영역 및 정책

플로우의 첫 번째 패킷에 사용되는 보안 정책은 동일한 플로우 및 밀접하게 관련된 플로우와 함께 사용할 수 있도록 플로우 테이블에 캐시됩니다. 보안 정책은 영역과 연결됩니다. 영역은 보안 경계를 정의하는 인터페이스 모음입니다. 패킷이 도착한 인터페이스에 의해 결정되는 패킷의 수신 영역과 전달 조회에 의해 결정되는 발신 영역은 함께 흐름의 패킷에 사용되는 정책을 결정합니다.

플로우 및 세션

상태 저장인 플로우 기반 패킷 처리에는 세션 생성이 필요합니다. 세션은 다음 목적을 위해 흐름의 첫 번째 패킷에 대해 생성됩니다.

  • 플로우의 패킷에 적용될 대부분의 보안 조치를 저장합니다.

  • 흐름 상태에 대한 정보를 캐시합니다.

    예를 들어, 흐름에 대한 로깅 및 계산 정보는 세션에서 캐시됩니다. (일부 스테이트풀 방화벽 화면은 개별 세션 또는 모든 세션과 관련된 임계값에 의존합니다.)

  • NAT와 같은 기능의 흐름에 필요한 리소스를 할당합니다.

  • ALG 및 방화벽 기능과 같은 기능을 위한 프레임워크를 제공합니다.

대부분의 패킷 처리는 다음을 포함하여 흐름의 맥락에서 발생합니다.

  • 정책, NAT, 영역 및 대부분의 화면 관리.

  • ALG 및 인증 관리.

패킷 기반 처리 이해

패킷은 입력 인터페이스의 대기열에서 제거될 때와 출력 인터페이스의 대기열에 추가되기 전에 패킷 기반 처리를 거칩니다.

패킷 기반 처리는 상태 비저장 방화벽 필터, CoS 기능 및 일부 화면을 개별 패킷에 적용합니다.

  • 패킷이 인터페이스에 도착하면 온전성 검사, 패킷 기반 필터, 일부 CoS 기능 및 일부 화면이 적용됩니다.

  • 패킷이 디바이스를 떠나기 전에 인터페이스와 관련된 모든 패킷 기반 필터, 일부 CoS 기능 및 일부 화면이 패킷에 적용됩니다.

필터 및 CoS 기능은 일반적으로 하나 이상의 인터페이스와 연결되어 어떤 패킷이 시스템을 전송할 수 있는지에 영향을 미치고 필요에 따라 패킷에 특수 작업을 적용합니다.

다음 주제에서는 전송 트래픽에 구성하고 적용할 수 있는 패킷 기반 기능의 종류에 대해 설명합니다.

상태 비저장 방화벽 필터

액세스 제어 목록(ACL)이라고도 하는 상태 비저장 방화벽 필터는 액세스를 제어하고 트래픽 속도를 제한합니다. 소스에서 대상으로 디바이스를 전송하는 패킷 또는 라우팅 엔진에서 시작하거나 라우팅 엔진으로 향하는 패킷의 내용을 정적으로 평가합니다. 상태 비저장 방화벽 필터는 단편화된 패킷을 포함한 모든 패킷을 평가합니다.

상태 비저장 방화벽 필터를 입력 또는 출력 인터페이스 또는 둘 다에 적용할 수 있습니다. 필터에는 하나 이상의 용어가 포함되며 각 용어는 일치 조건과 작업이라는 두 가지 구성 요소로 구성됩니다. 기본적으로 방화벽 필터와 일치하지 않는 패킷은 폐기됩니다.

특정 프로토콜, IP 소스 또는 대상 주소 또는 데이터 속도로 트래픽을 제한하는 등 다양한 용도로 사용할 수 있도록 상태 비저장 방화벽 필터를 계획하고 설계할 수 있습니다. 무상태 방화벽 필터는 NPU에서 실행됩니다.

CoS(Class-of-Service) 기능

CoS 기능을 사용하면 트래픽을 분류하고 형성할 수 있습니다. CoS 기능은 NPU에서 실행됩니다.

  • 행동 집계(BA) 분류자 - 이러한 분류자는 패킷이 디바이스에 들어갈 때 패킷에서 작동합니다. 디바이스는 동작 집계 분류자를 사용하여 다양한 유형의 트래픽을 단일 포워딩 클래스로 어그리게이션하여 동일한 포워딩 처리를 받습니다. BA 분류자를 사용하면 DiffServ(Differentiated Service) 값을 기반으로 패킷의 포워딩 클래스 및 손실 우선순위를 설정할 수 있습니다.

  • 트래픽 셰이핑 - 지연, 지터 및 패킷 손실 특성이 서로 다른 서비스 수준을 특정 트래픽 플로우가 제공하는 특정 애플리케이션에 할당하여 트래픽을 셰이핑할 수 있습니다. 트래픽 셰이핑은 음성 및 비디오 전송과 같은 실시간 애플리케이션에 특히 유용합니다.

화면

DoS(Denial-of-Service) 화면과 같은 일부 화면은 플로우 프로세스 외부의 패킷에 적용됩니다. NPU(Network Processing Unit)에서 실행됩니다.

IPv4 트래픽에 대한 기본 처리 동작 이해

플로우 기반 처리 모드는 영역, 화면 및 방화벽 정책과 같은 보안 기능이 작동하는 데 필요합니다. 기본적으로 SRX 시리즈 방화벽은 드롭 모드로 설정된 SRX300 시리즈 및 SRX550M 디바이스를 제외하고 모든 디바이스에서 IPv4 트래픽에 대한 플로우 기반 포워딩에 대해 활성화되어 있습니다. Junos OS 릴리스 15.1X49-D70 및 Junos OS 릴리스 17.3R1부터 SRX1500 시리즈, SRX4100, SRX4200, SRX5400, SRX5600, SRX5800 및 vSRX 가상 방화벽 디바이스의 경우 플로우 모드, 패킷 모드 및 드롭 모드 간에 모드를 전환할 때 디바이스를 재부팅할 필요가 없습니다 . SRX300 시리즈 및 SRX550M 디바이스의 경우 플로우 모드, 패킷 모드 및 드롭 모드 간에 전환할 때 디바이스를 재부팅 해야 합니다 .

SRX300 Series and SRX550M

SRX300 시리즈 및 SRX550M 디바이스의 경우 메모리 제약으로 인해 기본 처리 모드가 드롭 모드로 설정됩니다. 이 경우 처리 모드를 드롭 모드 기본값에서 플로우 기반 처리 모드 또는 패킷 기반 처리 모드로, 즉 이러한 디바이스의 모드 간으로 변경한 후 디바이스를 재부팅해야 합니다.

메모:

드롭 모드 처리의 경우 트래픽이 직접 삭제되며 전달되지 않습니다. 트래픽이 처리되지만 보안 프로세스가 적용되지 않는 패킷 모드 처리와는 다릅니다.

Configuring an SRX Series Device as a Border Router

플로우 기반 프로세싱 또는 드롭 모드에 대해 모든 유형의 SRX 시리즈 방화벽이 활성화된 경우, 디바이스를 경계 라우터로 구성하려면 MPLS에 대해 모드를 패킷 기반 프로세싱으로 변경해야 합니다. 이 경우, MPLS에 대한 SRX 시리즈 방화벽을 패킷 모드로 구성하려면 문을 사용합니다 set security forwarding-options family mpls mode packet-based .

메모:

앞서 언급했듯이 SRX300 시리즈 및 SRX550M 디바이스의 경우 처리 모드를 변경할 때마다 디바이스를 재부팅해야 합니다.

SRX210 및 SRX320 디바이스의 트래픽 처리 이해

이 주제는 SRX210 및 SRX320 서비스 게이트웨이가 디바이스를 전송하는 플로우에 속하는 패킷에 대한 세션을 설정하는 데 수행하는 프로세스에 대해 설명합니다. SRX210 및 SRX320 디바이스의 플로우 서비스는 단일 스레드 및 비분산형입니다. 이 점에서 다른 SRX 시리즈 방화벽과 다르지만 동일한 플로우 모델을 따르고 동일한 명령줄 인터페이스(CLI)가 구현됩니다.

서비스가 흐름의 패킷에 적용되는 지점을 포함하는 세션 설정 및 패킷 "워크"를 설명하기 위해 다음 섹션에서 설명하는 예는 유니캐스트 세션의 간단한 사례를 사용합니다.

플로우 처리 및 세션 관리 이해

이 주제에서는 플로우를 구성하는 패킷을 처리하기 위해 세션이 어떻게 설정되는지 설명합니다. 다음 항목에서 SPU는 SRX210 또는 SRX320 방화벽의 데이터 플레인 스레드를 나타냅니다.

처음에 데이터 플레인 스레드는 패킷을 가져오고 이에 대한 기본 온전성 검사를 수행합니다. 그런 다음 스테이트리스 필터 및 CoS 분류자에 대한 패킷을 처리하고 일부 화면을 적용합니다.

첫 번째 패킷 처리 이해

패킷이 기존 플로우에 속하는지 확인하기 위해 디바이스는 다음 6가지 일치 기준에 따라 패킷의 정보를 기존 세션의 정보와 일치시키려고 시도합니다.

  • 소스 주소

  • 목적지 주소

  • 소스 포트

  • 목적지 포트

  • 프로토콜

  • 지정된 영역 및 가상 라우터의 고유 토큰

SPU는 패킷에 대한 기존 세션에 대한 세션 테이블을 확인합니다. 존재하는 세션이 발견되지 않으면 SPU는 플로우에 대한 세션을 설정합니다. 세션 일치가 발견되면 세션이 이미 생성되었으므로 SPU는 패킷에 대한 빠른 경로 처리를 수행합니다.

세션 생성 이해

세션 설정 시 SPU는 패킷에 대해 다음 서비스를 실행합니다.

  • 화면

  • 경로 조회

  • 정책 조회

  • 서비스 조회

  • NAT(필요한 경우)

세션이 설정되면 플로우에 속하는 모든 패킷에 사용됩니다. 플로우의 패킷은 세션의 매개 변수에 따라 처리됩니다. 패킷 처리에 수반되는 나머지 단계는 "빠른 경로 처리"의 1단계로 진행합니다. 모든 패킷은 빠른 경로 처리를 거칩니다.

Fast-Path Processing 이해

패킷이 세션과 일치하는 경우, Junos OS는 다음 단계에 설명된 대로 빠른 경로 처리를 수행합니다. 플로우의 첫 번째 패킷에 대해 세션이 설정된 이후에는 빠른 경로 처리도 거칩니다. 모든 패킷은 빠른 경로 처리를 거칩니다.

  1. SPU는 패킷에 플로우 기반 보안 기능을 적용합니다.

    • 구성된 화면이 적용됩니다.

    • TCP 검사가 수행됩니다.

    • 필요한 경우 NAT, ALG, IPsec 등의 플로우 서비스가 적용됩니다.

  2. SPU는 포워딩을 위해 패킷을 준비하고 전송합니다.

    • 라우팅 패킷 필터가 적용됩니다.

    • 트래픽 셰이핑이 적용됩니다.

    • 트래픽 우선 순위 지정이 적용됩니다.

    • 트래픽 스케줄링이 적용됩니다.

    • 패킷이 전송됩니다.

SRX3000 회선 및 SRX1400 디바이스의 트래픽 처리 이해

SRX1400, SRX3400 및 SRX3600 서비스 게이트웨이용 Junos OS는 주니퍼 네트웍스의 세계적 수준의 네트워크 보안 및 라우팅 기능을 통합합니다. 이러한 서비스 게이트웨이용 Junos OS에는 정책, 화면, 네트워크 주소 변환, 서비스 등급 분류기, 서비스 게이트웨이의 다른 디바이스에서도 지원되는 풍부하고 광범위한 플로우 기반 서비스 세트를 비롯한 광범위한 보안 서비스가 포함됩니다.

SRX1400, SRX3400 및 SRX3600 디바이스의 분산 병렬 처리 아키텍처에는 세션을 관리하고 보안 및 기타 서비스 처리를 실행하기 위한 다중 프로세서가 포함됩니다. 이 아키텍처는 더 큰 유연성을 제공하며 높은 처리량과 빠른 성능을 허용합니다.

다음 섹션에서는 SRX3400 및 SRX3600 장치를 예로 사용하는 처리 아키텍처에 대해 설명합니다.

이 항목에는 다음 정보가 포함됩니다.

세션 설정과 관련된 구성 요소

다음은 패킷에 대한 세션을 설정하고 SRX3400 및 SRX3600 디바이스를 전송할 때 패킷을 처리하는 것과 관련된 주요 구성 요소에 대한 개요입니다.

  • SPU(Services Processing Units) - SRX3400 및 SRX3600 디바이스의 주요 프로세서는 SPC(Services Processing Card)에 상주합니다. 이들은 트래픽 흐름을 설정 및 관리하며 디바이스를 전송할 때 패킷에 대한 대부분의 패킷 처리를 수행합니다. 각 SPU는 빠른 세션 룩업을 위해 해시 테이블을 유지합니다. SPU는 보안 서비스, 분류기, 트래픽 셰이퍼 애플리케이션을 포함하여 패킷에 대한 모든 플로우 기반 처리를 수행합니다. 동일한 플로우에 속하는 모든 패킷은 동일한 SPU에 의해 처리됩니다.

    SPU는 설정한 모든 세션과 처리하는 패킷에 대한 항목이 있는 세션 테이블을 유지합니다. SPU가 NPU로부터 패킷을 수신하면 세션 테이블을 검사하여 패킷이 속하는지 확인합니다.

    SRX3400 및 SRX3600 디바이스의 경우, 하나의 SPU가 협력하여 정기적인 세션 관리 및 플로우 처리 기능을 수행하고, 세션을 중재하고 리소스를 할당하는 중심점 역할을 합니다. SPU가 이러한 방식으로 수행할 때, 이를 콤보 모드라고 합니다.

  • 중앙 지점 - 중앙 지점은 로드 밸런싱 기준에 따라 SPU에 세션 관리를 할당하는 데 사용됩니다. 여러 SPU가 동일한 플로우를 잘못 처리할 수 있는 상황을 방지하기 위해 지능적인 방식으로 세션을 배포합니다. 중앙 지점은 SPU에 세션을 할당할 때 로드 밸런싱 기준을 따릅니다. 세션이 존재하는 경우, 중앙 지점은 해당 플로우에 대한 패킷을 세션을 호스팅하는 SPU로 전달합니다. 또한 NPU가 실패할 경우 패킷을 올바른 SPU로 리디렉션합니다.

    SRX3400 및 SRX3600 디바이스의 경우, 하나의 SPU는 항상 중앙 지점의 기능과 플로우 및 세션 관리 기능을 모두 구현하는 콤보 모드로 실행됩니다. 콤보 모드에서 SPU와 중앙 지점은 동일한 LBT(Load-Balancing Thread) 및 POT(Packet-Ordering Thread) 인프라를 공유합니다. .

  • 라우팅 엔진(RE) - 라우팅 엔진은 컨트롤 플레인을 실행하고 컨트롤 플레인 프로세서(CPP)를 관리합니다.

유니캐스트 세션의 데이터 경로 이해

SRX3400 및 SRX3600 서비스 게이트웨이용 Junos OS는 분산 병렬 처리, 높은 처리량 및 고성능 시스템입니다. 이 주제는 디바이스를 전송하는 플로우에 속하는 패킷에 대한 세션을 설정하는 프로세스를 설명합니다.

서비스가 흐름의 패킷에 적용되는 지점을 포함하는 세션 설정 및 패킷 "워크"를 설명하기 위해 다음 예제에서는 유니캐스트 세션의 간단한 사례를 사용합니다. 이 패킷 "워크"는 Junos OS가 패킷에서 수행하는 패킷 기반 처리와 플로우 기반 처리를 통합합니다.

세션 조회 및 패킷 일치 기준

패킷이 기존 플로우에 속하는지 확인하기 위해 디바이스는 다음 6가지 일치 기준에 따라 패킷의 정보를 기존 세션의 정보와 일치시키려고 시도합니다.

  • 소스 주소

  • 목적지 주소

  • 소스 포트

  • 목적지 포트

  • 프로토콜

  • 지정된 영역 및 가상 라우터의 고유 토큰

세션 생성 이해: 첫 번째 패킷 처리

이 주제에서는 플로우를 구성하는 패킷을 처리하기 위해 세션이 어떻게 설정되는지 설명합니다. 프로세스를 설명하기 위해 이 항목에서는 소스 "a"와 대상 "b"가 있는 예제를 사용합니다. 흐름의 패킷에 대한 출발지에서 목적지까지의 방향을 (a-> b)라고 합니다. 목적지에서 출발지로의 방향을 (b -> a)라고 합니다.

  1. 패킷이 디바이스의 인터페이스에 도착하고 IOC가 이를 처리합니다.

    IOC는 패킷을 대기열에서 제거하고 통신하는 NPU로 보냅니다.

  2. NPU는 IOC로부터 패킷을 수신하고 처리합니다.

    • NPU는 패킷에 대한 기본적인 온전성 검사를 수행하고 인터페이스에 대해 구성된 일부 화면을 패킷에 적용합니다.

    • 세션 일치가 발견되면 할당된 SPU에서 세션이 이미 생성되었으므로 NPU는 세션 ID와 함께 처리하기 위해 패킷을 SPU로 전달합니다.

    예: 패킷(a ->b)이 IOC1에서 NPU1로 도착합니다. NPU1은 위생 점검을 수행하고 DoS 스크린을 패킷에 적용합니다. NPU1은 세션 테이블에 튜플 일치가 있는지 확인하지만 기존 세션을 찾을 수 없습니다. NPU1은 SPU에 할당하기 위해 패킷을 SPU1의 중앙 지점으로 전달합니다.

  3. 중앙점은 "보류 중" 상태의 세션을 만듭니다.

    중앙 지점은 디바이스의 모든 SPU에 걸쳐 존재하는 모든 세션에 대한 항목을 포함하는 글로벌 세션 테이블을 유지 관리합니다. 세션 생성에 참여하고 세션 리소스 할당을 위임 및 중재합니다.

    이 프로세스에는 다음 부분이 수반됩니다.

    1. 중앙 지점은 세션 테이블과 게이트 테이블을 검사하여 NPU로부터 수신하는 패킷에 세션 또는 게이트가 존재하는지 확인합니다. (NPU가 패킷을 중앙 지점으로 전달한 이유는 해당 테이블에 세션이 없다고 표시되기 때문입니다. 중앙 지점은 세션에 SPU를 할당하기 전에 이 정보를 확인합니다.)

    2. 두 테이블 중 하나에서 패킷과 일치하는 항목이 없는 경우, 중앙 지점은 세션에 대한 보류 중인 윙을 생성하고 로드 밸런싱 알고리즘을 기반으로 세션에 사용할 SPU를 선택합니다.

    3. 중앙 지점은 패킷 흐름에 사용할 세션을 로컬로 설정하도록 지시하는 메시지에서 흐름의 첫 번째 패킷을 선택한 SPU로 전달합니다.

      예: 중앙점은 세션에 대해 보류 중인 윙(a ->b)을 생성합니다. 세션에 사용할 SPU1을 선택합니다. SPU1에 세션을 생성하기 위한 메시지와 함께 (a->b) 패킷을 전송합니다. (SPU1이 콤보 모드에서 실행되는 SPU인 경우가 있습니다. 따라서 세션 관리 및 흐름 처리 서비스가 세션에 사용됩니다.

  4. SPU가 세션을 구성합니다.

    각 SPU에도 세션에 대한 정보가 포함된 세션 테이블이 있습니다. SPU가 세션을 구성하기 위해 중앙 지점에서 메시지를 수신하면 세션 테이블을 검사하여 패킷에 대한 세션이 이미 존재하지 않는지 확인합니다.

    1. 패킷에 대한 기존 세션이 없는 경우, SPU는 세션을 로컬로 설정합니다.

    2. SPU는 중앙 지점으로 메시지를 보내 세션을 설치하도록 지시합니다.

    첫 번째 패킷 처리 중에 NAT가 활성화되면 SPU는 NAT를 위한 IP 주소 리소스를 할당합니다. 이 경우 NAT 할당 프로세스가 완료될 때까지 세션에 대한 첫 번째 패킷 처리가 일시 중단됩니다.

    SPU는 세션이 설치될 때까지 수신할 수 있는 플로우에 대한 추가 패킷을 대기열에 추가합니다.

    예: SPU1은 (a ->b)에 대한 세션을 생성하고 보류 중인 세션을 설치하라는 메시지를 중앙 지점(동일한 SPU에서 구현)으로 다시 보냅니다.

  5. 중앙점은 세션을 설치합니다.

    • 세션의 보류 중인 윙의 상태를 active로 설정합니다.

    • 세션의 리버스 윙을 활성 윙으로 설치합니다.

    • SPU에 ACK (승인) 메시지를 전송하여 세션이 설치되었음을 나타냅니다.

    예: 중앙 지점은 SPU1로부터 (a->b)에 대한 세션을 설치하라는 메시지를 수신합니다. (a->b) 윙의 세션 상태를 active로 설정합니다. 세션에 대한 리버스 윙(b->a)을 설치하고 활성화합니다. 이를 통해 흐름의 역방향인 목적지(B)에서 소스(A)로 패킷을 전달할 수 있습니다.

  6. SPU는 수신 및 송신 NPU에서 세션을 설정합니다.

    NPU는 패킷 전달 및 전달을 위해 세션에 대한 정보를 유지합니다. 세션 정보는 송신 및 수신 NPU(때로는 동일)에 설정되므로 리디렉션을 위한 중앙 지점이 아닌 플로우를 관리하는 SPU로 패킷을 직접 보낼 수 있습니다.

  7. 빠른 경로 처리가 수행됩니다.

    패킷 처리에 수반되는 나머지 단계는 "빠른 경로 처리 이해"의 1단계로 진행합니다.

Fast-Path Processing 이해

모든 패킷은 빠른 경로 처리를 거칩니다. 그러나 패킷에 대한 세션이 존재하는 경우 패킷은 빠른 경로 처리를 거치고 첫 번째 패킷 프로세스를 우회합니다. 패킷 흐름에 대한 세션이 이미 있는 경우 패킷은 중앙 지점을 전송하지 않습니다.

빠른 경로 처리의 작동 방식은 다음과 같습니다. 송신 및 수신 인터페이스의 NPU에는 패킷의 플로우를 관리하는 SPU의 식별을 포함하는 세션 테이블이 포함되어 있습니다. NPU가 이 세션 정보를 가지고 있기 때문에 역방향 트래픽을 포함한 플로우의 모든 트래픽은 처리를 위해 해당 SPU로 직접 전송됩니다.

SRX1400, SRX3400 및 SRX3600 디바이스에서 iflset 기능은 reth와 같은 집계된 인터페이스에 대해 지원되지 않습니다.

SRX4600 디바이스의 트래픽 처리 이해

주니퍼 네트웍스 SRX4600 방화벽은 고급 보안 및 위협 완화와 기존의 스테이트풀 방화벽 보안을 비롯한 플로우 기반 보안 및 라우팅 서비스를 통합합니다. Junos OS 플로우 기반 인프라는 레이어 4에서 레이어 7 애플리케이션 기반 서비스를 위한 기반과 프레임워크를 제공합니다. SRX4600 방화벽은 대기업 데이터 센터 에지와 데이터센터 코어, 캠퍼스 에지에 통합 방화벽으로 구축되도록 설계되었습니다. 또한 LTE 보안 게이트웨이 및 Gi/SGi 방화벽으로 구축할 수도 있습니다.

이 항목에는 다음과 같은 내용이 포함됩니다.

SRX4600 방화벽 및 해당 기능에 대한 배포 시나리오 이해

SRX4600 Firewall은 여러 영역에 배포하여 환경과 해당 리소스를 보호할 수 있습니다. 다음과 같은 방법으로 데이터센터 에지와 코어를 보호하는 데 자주 사용됩니다.

  • SRX4600 방화벽을 데이터센터 에지 방화벽으로 구축

    데이터센터 에지에 SRX4600 방화벽을 구축하여 호스팅하는 애플리케이션과 서비스를 최적의 보호 기능으로 제공할 수 있습니다. 모든 데이터센터에는 클라이언트가 데이터센터의 서비스에 액세스할 수 있도록 하는 수신 지점이 있지만, 악의적인 공격자는 이를 이용하여 이러한 서비스에 대한 공격을 시작할 수 있습니다. 데이터센터로 들어오는 많은 양의 트래픽은 수신 인터넷 트래픽입니다. 이러한 이유만으로도 데이터센터 에지에 강력한 멀티레이어 보안을 구축하는 것이 필수적입니다. SRX4600 방화벽은 공격을 효과적이고 안정적으로 차단하며, 특정 종류의 공격을 차단하도록 시스템을 구성할 수 있습니다. SRX4600 방화벽은 위협을 인식하고 완화하기 위해 신속하게 공유할 수 있는 자동화되고 실행 가능한 인텔리전스를 기반으로 구축된 주니퍼 ATP 클라우드(Advanced Threat Prevention Cloud)를 비롯한 주니퍼의 SDSN(Software-Defined Secure Network) 프레임워크를 지원합니다. 그림 2 는 MX480 라우터 및 EX 시리즈 스위치와 함께 데이터센터 에지에 구축된 SRX4600 방화벽을 보여줍니다.

    그림 2: 데이터센터 에지에 Deploying the SRX4600 Firewall at the Data Center Edge SRX4600 방화벽 구축
  • 데이터센터 코어에 SRX4600 방화벽 구축

    데이터센터 코어에 SRX4600 방화벽을 구축하여 보안을 강화하고 규정 준수 요구 사항을 충족할 수 있습니다. 데이터센터 처리가 점점 더 동적으로 변함에 따라 명확한 네트워크 정의와 규정 준수 요건 시행이 필요해지고 있습니다. 규정 준수를 위해 SRX4600 방화벽을 사용하여 전체 네트워크를 개별 서버 네트워크로 분할하고 그 안에 있는 트래픽을 보호할 수 있습니다. SRX4600 방화벽은 고가용성 및 자동화를 제공하며, 고성능 레이어 3 및 레이어 4 서비스는 데이터센터 코어의 보안 요구 사항을 충족합니다. 그림 3 은 데이터센터 코어에서 다계층 방화벽으로 구축된 SRX4600 방화벽을 보여줍니다.

    그림 3: 데이터 센터 코어 Deploying the SRX4600 Firewall at the Data Center Core 에 SRX4600 방화벽 구축

고급 맬웨어 방지 기능 외에도 SRX4600 Firewall은 다음과 같은 기능을 지원합니다.

  • 스테이트풀 방화벽

  • 애플리케이션 보안 제품군

  • 콘텐츠 보안(Sophos AV, 웹 필터링, 스팸 차단)

  • 침입 탐지 및 방지(ID

  • 고가용성(섀시 클러스터)

    • 이중 HA 제어 포트(10G)

    • HA 포트에 대한 MACsec 지원

  • QSFP28(100G/40G/4x10G 모드), QSFP+(40G/4x10G 모드) 및 SFP+(10G 모드)를 통한 이더넷 인터페이스

  • AutoVPN 및 Group VPNv2를 포함한 IPsec VPN

  • QoS 및 네트워크 서비스

  • J-웹

  • 멀티캐스트를 통한 라우팅 정책

플로우 기반 프로세싱 및 세션 기본 사항

SRX4600 Firewall에서의 플로우 처리를 이해하려면 플로우의 기본 사항을 이해하는 것이 중요합니다.

플로우는 동일한 일치 기준을 충족하고 동일한 특성을 공유하는 관련 패킷의 스트림입니다. Junos OS는 동일한 플로우에 속하는 패킷을 동일한 방식으로 처리합니다. SRX 시리즈 서비스 게이트웨이의 아키텍처와 패킷 플로우 처리 방식은 밀접하게 결합되어 있습니다. 결과적으로 SRX 시리즈 방화벽 제품군의 아키텍처 차이로 인해 플로우가 부분적으로 다르게 구현됩니다.

상태 저장인 플로우 기반 패킷 처리에는 세션 생성이 필요합니다. 세션은 라우팅 및 기타 트래픽 분류 정보를 기반으로 생성되어 정보를 저장하고 흐름에 대한 리소스를 할당합니다. 세션은 플로우 상태에 대한 정보를 캐시하고 플로우 패킷에 적용될 대부분의 보안 조치를 저장합니다. 장치 간의 아키텍처 차이로 인해 세션은 장치마다 다르게 관리됩니다.

이러한 차이에 관계없이 개념적으로 플로우 프로세스는 모든 서비스 게이트웨이에서 동일하며 세션은 동일한 목적을 수행하고 동일한 기능을 갖습니다.

SRX 시리즈 방화벽에서 구현된 플로우 및 세션 기본 구성 요소

SRX 시리즈 방화벽은 동일한 인프라 구성 요소를 사용하여 플로우를 지원하고 세션을 관리하지만 모든 디바이스가 모든 것을 구현하는 것은 아닙니다.

흐름을 이해하려면 다음 구성 요소와 그 사용 방법을 이해하는 것이 중요합니다.

  • 서비스 처리 장치(SPU)

    SPU는 패킷 플로우에 대한 세션을 관리합니다. 보안 기능 및 기타 서비스를 패킷에 적용합니다. 또한 패킷 기반 상태 비저장 방화벽 필터, 분류자 및 트래픽 셰이퍼를 패킷에 적용합니다.

  • 중심점(CP)

    중심점은 시스템이 리소스를 할당하고 SPU 간에 세션 관리를 배포하는 데 사용하는 SPU입니다. 플로우의 첫 번째 패킷이 처리되면 중앙 지점은 해당 패킷의 세션에 사용할 SPU를 결정합니다. SRX4600 방화벽은 중앙 지점을 구현하지 않습니다.

  • NPU(Network Processing Unit) 및 네트워크 처리 세션

    NPU는 I/O 카드(IOC)에서 실행되고 패킷을 개별적으로 처리하는 프로세서입니다. 플로우가 생성되면 플로우의 후속 패킷이 NPU의 세션과 일치합니다. NPU는 TCP 시퀀스 확인, TTL(Time-to-Live) 처리 및 레이어 2 헤더 변환과 같은 추가 처리를 처리합니다. NPU는 세션 SPU와 해시 SPU 간의 추가 패킷 포워딩을 피할 수 있다는 점에서 성능을 향상시킵니다. SRX4600 방화벽은 NPU를 구현합니다.

SRX4600 방화벽 플로우 아키텍처는 SRX4600 장치의 고급 멀티 코어 Xeon™ 프로세서의 사용을 최적화하도록 개선되었습니다. SRX4600 방화벽은 전용 세션 스레드를 사용하여 흐름에서 순서가 잘못된 패킷 관리와 같은 문제를 회피하도록 구현합니다. 네트워크 처리 세션을 활용하여 패킷이 올바른 전용 스레드로 전달되도록 합니다. 패킷은 해시 기반 세션 배포 모델에 따라 서로 다른 스레드에 배포됩니다.

SRX5000 회선 디바이스의 트래픽 처리 이해

SRX5000 디바이스의 Junos OS는 분산형, 병렬 처리, 높은 처리량, 고성능 시스템입니다. SRX5000 서비스 게이트웨이 라인의 분산 병렬 처리 아키텍처에는 세션을 관리하고 보안 및 기타 서비스 처리를 실행하기 위한 다중 프로세서가 포함되어 있습니다. 이 아키텍처는 더 큰 유연성을 제공하며 높은 처리량과 빠른 성능을 허용합니다.

메모:

SRX1400, SRX3400, SRX3600, SRX5400, SRX5600 및 SRX5800 디바이스에서 IKE(Internet Key Exchange) 피어가 NAT 디바이스 뒤에 있는 경우 네트워크 주소 변환(NAT) traversal과 관련된 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로 보냅니다. (이 개략적인 설명은 패킷에 대한 기능 적용을 다루지 않습니다.)

그림 4: 첫 번째 패킷 처리 First-Packet Processing

플로우의 첫 번째 패킷이 시스템을 통과하고 이에 대한 세션이 설정된 후에는 빠른 경로 처리를 거칩니다.

플로우의 후속 패킷도 빠른 경로 처리를 거칩니다. 이 경우, 각 패킷이 세션에 진입하고 NPU가 세션 테이블에서 이에 대한 일치 항목을 찾으면 NPU는 세션을 관리하는 SPU에 패킷을 전달합니다.

그림 5 는 빠른 경로 처리를 보여줍니다. 이는 관련 패킷에 대해 플로우가 이미 설정되었을 때 패킷이 취하는 경로입니다. (또한 패킷이 시작된 플로우에 대한 세션 이후에 플로우의 첫 번째 패킷이 취하는 경로이기도 합니다.) 패킷이 디바이스에 들어간 후 NPU는 세션 테이블에서 패킷에 대한 일치 항목을 찾아 패킷 세션을 관리하는 SPU로 전달합니다. 패킷은 중앙 지점과의 상호 작용을 우회합니다.

Fast-Path Processing 이해

다음 섹션에서는 세션이 생성되는 방법과 패킷이 디바이스를 전송할 때 겪는 프로세스에 대해 설명합니다.

그림 5: 빠른 경로 처리 Fast-Path Processing

다음은 패킷에 대한 세션을 설정하고 패킷이 SRX5400, SRX5600 및 SRX5800 디바이스를 전송할 때 개별적으로 또는 흐름의 일부로 패킷을 처리하는 것과 관련된 주요 구성 요소에 대한 개요입니다.

  • 네트워크 처리 장치(NPU) - NPU는 IOC에 상주합니다. 패킷 온전성 검사 및 일부 화면 적용을 처리합니다. NPU는 수신 패킷 또는 역방향 트래픽에 대한 세션이 존재하는지 확인하는 데 사용하는 세션 테이블을 유지 관리합니다.

    NPU 세션 테이블에는 이전에 인터페이스를 통해 디바이스에 진입하여 이 NPU에 의해 처리된 패킷에 대해 SPU에서 세션이 설정된 경우 세션에 대한 항목이 포함됩니다. SPU는 세션을 생성할 때 NPU 테이블에 세션을 설치합니다.

    NPU는 세션 테이블에 대해 패킷 정보를 확인하여 패킷에 대한 세션이 존재하는지 판단합니다. 패킷이 기존 세션과 일치하면 NPU는 패킷과 이에 대한 메타데이터를 SPU로 보냅니다. 세션이 없는 경우, NPU는 해시 알고리즘을 사용하여 계산된 하나의 SPU로 패킷을 전송합니다.

  • SPU(Services Processing Units) - SRX5400, SRX5600 및 SRX5800 디바이스의 주요 프로세서는 SPC에 상주합니다. SPU는 트래픽 플로우를 설정 및 관리하며 디바이스를 전송할 때 패킷에 대한 대부분의 패킷 처리를 수행합니다. 각 SPU는 빠른 세션 룩업을 위해 해시 테이블을 유지합니다. SPU는 스테이트리스 방화벽 필터, 분류자 및 트래픽 셰이퍼를 트래픽에 적용합니다. SPU는 패킷에 대한 모든 플로우 기반 프로세싱과 대부분의 패킷 기반 프로세싱을 수행합니다. 각 멀티코어 SPU는 동일하거나 다른 SPC에 있는 SPU 간의 상호 작용을 최소화하면서 패킷을 독립적으로 처리합니다. 동일한 플로우에 속하는 모든 패킷은 동일한 SPU에 의해 처리됩니다.

    SPU는 설정한 모든 세션과 처리하는 패킷에 대한 항목이 있는 세션 테이블을 유지합니다. SPU가 NPU로부터 패킷을 수신하면 세션 테이블을 검사하여 패킷이 속하는지 확인합니다. 또한 분산된 중앙 지점에서 패킷을 수신할 때 세션 테이블을 확인하고 해당 패킷에 대한 세션을 설정하라는 메시지를 보내 패킷에 대한 기존 세션이 없는지 확인합니다.

  • 중심점 - 중심점 아키텍처는 애플리케이션 중심점과 분산된 중심점이라는 두 개의 모듈로 나뉩니다. 애플리케이션 중앙 지점은 글로벌 리소스 관리 및 로드 밸런싱을 담당하고, 분산된 중앙 지점은 트래픽 식별(글로벌 세션 매칭)을 담당합니다. 애플리케이션 중앙점 기능은 전용 중앙점 SPU에서 실행되는 반면, 분산된 중앙점 기능은 나머지 SPU에 분산됩니다. 이제 중앙 지점 세션은 더 이상 전용 중앙 지점 SPU가 아니라 다른 플로우 SPU의 분산된 중앙 지점에 있습니다.

  • 라우팅 엔진—라우팅 엔진은 컨트롤 플레인을 실행합니다.

유니캐스트 세션의 데이터 경로 이해

이 섹션에서는 디바이스를 전송하는 플로우에 속하는 패킷에 대한 세션을 설정하는 프로세스에 대해 설명합니다.

세션의 설정과 서비스가 흐름의 패킷에 적용되는 지점을 포함하는 패킷 "walk"를 설명하기 위해 이 예에서는 유니캐스트 세션의 간단한 사례를 사용합니다.

이 패킷 "워크"는 Junos OS가 패킷에서 수행하는 패킷 기반 처리와 플로우 기반 처리를 통합합니다.

세션 조회 및 패킷 일치 기준

패킷이 기존 플로우에 속하는지 확인하기 위해 디바이스는 다음 6가지 일치 기준에 따라 패킷의 정보를 기존 세션의 정보와 일치시키려고 시도합니다.

  • 소스 주소

  • 목적지 주소

  • 소스 포트

  • 목적지 포트

  • 프로토콜

  • 지정된 영역 및 가상 라우터의 고유 토큰

세션 생성 이해: 첫 번째 패킷 처리

이 섹션에서는 플로우를 구성하는 패킷을 처리하기 위해 세션이 어떻게 설정되는지 설명합니다. 프로세스를 설명하기 위해 이 섹션에서는 소스 "a"와 대상 "b"가 있는 예제를 사용합니다. 흐름의 패킷에 대한 소스에서 목적지까지의 방향을 (a->b)라고 합니다. 목적지에서 출발지로의 방향을 (b->a)라고 합니다.

1 단계. 패킷이 디바이스의 인터페이스에 도착하면 NPU가 이를 처리합니다.

이 섹션에서는 패킷이 SRX 시리즈 방화벽 수신 IOC에 도착할 때 패킷이 어떻게 처리되는지 설명합니다.

  1. 패킷은 디바이스의 IOC에 도착하고 IOC의 NPU에 의해 처리됩니다.

  2. NPU는 패킷에 대한 기본적인 온전성 검사를 수행하고 인터페이스에 대해 구성된 일부 화면을 패킷에 적용합니다.

  3. NPU는 패킷에 대한 기존 세션에 대한 세션 테이블을 확인합니다. (세션 테이블의 기존 세션에 대한 패킷의 튜플과 패킷의 튜플을 확인합니다.)

    1. 기존 세션이 발견되지 않으면 NPU는 패킷을 해시 SPU로 전달합니다.

    2. 세션 일치가 발견되면 할당된 SPU에서 세션이 이미 생성되었으므로 NPU는 세션 ID와 함께 처리하기 위해 패킷을 SPU로 전달합니다.

Example: 패킷(a ->b)이 NPU1에 도착합니다. NPU1은 위생 점검을 수행하고 DoS 스크린을 패킷에 적용합니다. NPU1은 세션 테이블에서 튜플 일치를 확인하며, 기존 세션을 찾을 수 없습니다. NPU1은 패킷을 SPU로 전달합니다.

2 단계. 분산된 중앙 지점은 "보류 중" 상태의 세션을 생성합니다.

NPU가 패킷을 수신하면, NPU는 해시 알고리즘에 기반하여 분산된 중앙 지점으로 보냅니다. 그런 다음 분산된 중앙점은 분산된 중앙점 세션 테이블을 조회하고 필요한 경우 항목을 생성합니다.

이 프로세스에는 다음 부분이 수반됩니다.

  1. 분산된 중앙 지점은 세션 테이블을 검사하여 NPU에서 수신한 패킷에 대한 세션이 존재하는지 확인합니다. (NPU는 패킷에 대한 기존 세션을 찾을 수 없기 때문에 패킷을 분산된 중앙 지점으로 전달합니다.)

  2. 분산된 중앙점 세션 테이블의 패킷과 일치하는 항목이 없는 경우, 분산된 중앙점은 세션에 대한 보류 중인 윙을 생성합니다. 그런 다음 분산된 중앙 지점은 애플리케이션 중앙 지점으로 쿼리 메시지를 전송하여 세션에 사용할 SPU를 선택합니다.

  3. 쿼리 메시지를 수신하면 애플리케이션 중앙 지점은 게이트 테이블을 검사하여 패킷에 대한 게이트가 있는지 확인합니다. 게이트가 일치하거나 다른 세션 분배 알고리즘이 트리거되면 애플리케이션 중앙 지점은 패킷을 처리할 다른 SPU를 선택합니다. 그렇지 않으면 SPU(즉, 분산된 중앙 지점 SPU)가 선택됩니다. 마지막으로, 응용 프로그램 중앙 지점은 분산된 중앙 지점에 쿼리 응답을 보냅니다.

  4. 쿼리 응답을 수신하면, 분산된 중앙 지점은 패킷 플로우에 사용할 세션을 로컬로 설정하도록 SPU에 지시하는 메시지에서 플로우의 첫 번째 패킷을 선택된 SPU로 전달합니다. 예를 들어, 분산된 중앙점은 세션에 대해 보류 중인 윙(a ->b)을 생성합니다. 애플리케이션 중앙 지점은 이를 위해 사용될 SPU1을 선택합니다. 분산된 중앙 지점은 SPU1에 (a->b) 패킷과 함께 메시지를 전송하여 분산된 중앙 지점에 대한 세션을 생성합니다.

Example: 분산된 중앙점은 세션에 대한 보류 중인 윙(a ->b)을 생성합니다. 이를 위해 사용할 SPU1을 선택합니다. SPU1에 세션을 생성하기 위한 메시지와 함께 (a->b) 패킷을 전송합니다.

3 단계. SPU가 세션을 구성합니다.

각 SPU에도 세션에 대한 정보가 포함된 세션 테이블이 있습니다. SPU가 세션을 구성하기 위해 분산된 중앙 지점으로부터 메시지를 수신하면 세션 테이블을 검사하여 패킷에 대한 세션이 이미 존재하지 않는지 확인합니다.

  1. 패킷에 대한 기존 세션이 없는 경우, SPU는 세션을 로컬로 설정합니다.

  2. SPU는 세션을 설치하도록 지시하는 메시지를 분산된 중앙 지점으로 보냅니다.

    메모:

    첫 번째 패킷 처리 중에 NAT가 활성화되면 SPU는 NAT를 위한 IP 주소 리소스를 할당합니다. 이 경우 NAT 할당 프로세스가 완료될 때까지 세션에 대한 첫 번째 패킷 처리가 일시 중단됩니다.

SPU는 세션이 설치될 때까지 수신할 수 있는 플로우에 대한 추가 패킷을 대기열에 추가합니다.

Example: SPU1은 (a ->b)에 대한 세션을 생성하고 보류 중인 세션을 설치하도록 지시하는 메시지를 분산된 중앙 지점으로 다시 보냅니다.

4 단계. 분산된 중앙 지점이 세션을 설치합니다.

분산된 중앙 지점은 SPU로부터 설치 메시지를 수신합니다.

  1. 분산된 중앙 지점은 세션의 보류 중인 윙의 상태를 활성으로 설정합니다.

  2. 분산된 중앙 지점은 세션에 대한 역방향 날개를 활성 날개로 설치합니다.

    메모:

    NAT와 같은 일부 경우, 리버스 윙은 init wing 분산 중심점과 다른 분산 중심점에 설치될 수 있다.

  3. SPU에 승인(ACK) 메시지를 전송하여 세션이 설치되었음을 나타냅니다.

Example: 분산된 중앙 지점은 SPU1로부터 (a->b) 윙을 위한 세션을 설치하라는 메시지를 수신합니다. (a->b) 윙의 세션 상태를 active로 설정합니다. 세션에 대한 리버스 윙(b->a)을 설치하고 활성화합니다. 이를 통해 흐름의 역방향인 목적지(B)에서 소스(A)로 패킷을 전달할 수 있습니다.

5 단계. SPU는 수신 및 송신 NPU에서 세션을 설정합니다.

NPU는 패킷 전달 및 전달을 위해 세션에 대한 정보를 유지합니다. 세션 정보는 송신 및 수신 NPU(때로는 동일)에 설정되므로 리디렉션을 위해 분산된 중앙 지점이 아닌 플로우를 관리하는 SPU로 패킷을 직접 보낼 수 있습니다.

6 단계. 빠른 경로 처리가 이루어집니다.

패킷 처리에 수반되는 나머지 단계는 빠른 경로 처리 이해의 1단계로 진행합니다.

그림 6은 플로우의 첫 번째 패킷이 디바이스에 도달한 후 거치는 프로세스의 첫 번째 부분을 보여줍니다. 이 시점에서 패킷과 해당 흐름에 속하는 나머지 패킷을 처리하기 위해 세션이 설정됩니다. 그 후, 이 패킷과 플로우의 나머지 패킷은 빠른 경로 처리를 거칩니다.

그림 6: 세션 생성: 첫 번째 패킷 처리 Session Creation: First-Packet Processing

Fast-Path Processing 이해

모든 패킷은 빠른 경로 처리를 거칩니다. 그러나 패킷에 대한 세션이 존재하는 경우 패킷은 빠른 경로 처리를 거치고 첫 번째 패킷 프로세스를 우회합니다. 패킷 흐름에 대한 세션이 이미 있는 경우 패킷은 중앙 지점을 전송하지 않습니다.

빠른 경로 처리의 작동 방식은 다음과 같습니다. 송신 및 수신 인터페이스의 NPU에는 패킷의 플로우를 관리하는 SPU의 식별을 포함하는 세션 테이블이 포함되어 있습니다. NPU가 이 세션 정보를 가지고 있기 때문에 역방향 트래픽을 포함한 플로우의 모든 트래픽은 처리를 위해 해당 SPU로 직접 전송됩니다.

빠른 경로 프로세스를 설명하기 위해 이 섹션에서는 소스 "a"와 대상 "b"가 있는 예제를 사용합니다. 흐름의 패킷에 대한 소스에서 목적지까지의 방향을 (a->b)라고 합니다. 목적지에서 출발지로의 방향을 (b->a)라고 합니다.

1 단계. 패킷이 디바이스에 도착하면 NPU가 이를 처리합니다.

이 섹션에서는 패킷이 서비스 게이트웨이의 IOC에 도착할 때 어떻게 처리되는지 설명합니다.

  1. 패킷은 디바이스의 IOC에 도착하고 카드의 NPU에 의해 처리됩니다.

    NPU는 온전성 검사를 수행하고 DoS(Denial-of-Service) 화면과 같은 일부 화면을 패킷에 적용합니다.

  2. NPU는 패킷이 일치하는 세션 테이블에서 기존 세션에 대한 항목을 식별합니다.

  3. NPU는 세션 ID 및 패킷 튜플 정보를 포함한 세션 테이블의 메타데이터와 함께 패킷을 플로우에 대한 세션을 관리하고, 스테이트리스 방화벽 필터 및 CoS 기능을 패킷에 적용하며, 패킷의 플로우 처리와 보안 및 기타 기능의 적용을 처리하는 SPU로 전달합니다.

Example: 패킷(a ->b)이 NPU1에 도착합니다. NPU1은 패킷에 대한 온전성 검사를 수행하고, DoS 화면을 적용하며, 세션 테이블에서 튜플 일치를 확인합니다. 일치하는 항목을 찾고 SPU1의 패킷에 대한 세션이 존재한다는 것을 확인합니다. NPU1은 처리를 위해 패킷을 SPU1로 전달합니다.

2 단계. 세션용 SPU가 패킷을 처리합니다.

패킷 처리의 대부분은 세션이 할당된 SPU에서 발생합니다. 패킷은 상태 비저장 방화벽 필터, 트래픽 셰이퍼 및 분류자(해당하는 경우)와 같은 패킷 기반 기능에 대해 처리됩니다. 구성된 플로우 기반 보안 및 방화벽 기능, 네트워크 주소 변환(NAT), ALG, 등과 같은 관련 서비스가 패킷에 적용됩니다. (세션에 대해 보안 서비스가 결정되는 방법에 대한 자세한 내용입니다.

  1. 패킷을 처리하기 전에 SPU는 세션 테이블을 검사하여 패킷이 세션 중 하나에 속하는지 확인합니다.

  2. SPU는 해당 기능 및 서비스에 대한 패킷을 처리합니다.

Example: SPU1은 NPU1로부터 패킷(a->b)을 수신합니다. SPU1은 패킷이 세션 중 하나에 속하는지 확인하기 위해 세션 테이블을 검사합니다. 그런 다음 입력 인터페이스에 적용되는 입력 필터 및 CoS 기능에 따라 패킷(a->b)을 처리합니다. SPU는 해당 영역과 정책에 따라 패킷의 흐름에 대해 구성된 보안 기능과 서비스를 적용합니다. 구성된 경우 출력 필터, 트래픽 셰이퍼 및 추가 화면을 패킷에 적용합니다.

3 단계. SPU는 패킷을 NPU로 전달합니다.
  1. SPU는 패킷을 NPU로 전달합니다.

  2. NPU는 인터페이스와 관련된 모든 적용 가능한 화면을 패킷에 적용합니다.

Example: SPU1은 NPU2에 패킷(a->b)을 전달하고 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)은 해당 영역과 정책을 기반으로 플로우에 대해 구성된 보안 기능 및 기타 서비스에 따라 처리합니다.

7 단계. SPU는 역방향 트래픽 패킷을 NPU로 전달합니다.

이 단계는 역방향 트래픽에 적용된다는 점을 제외하고 3단계와 동일합니다. 자세한 내용은 이 섹션의 3단계를 참조하십시오.

Example: SPU1은 패킷(b->a)을 NPU1로 전달합니다. NPU1은 인터페이스에 구성된 모든 화면을 처리합니다.

8. 인터페이스가 디바이스에서 패킷을 전송합니다.

이 단계는 역방향 트래픽에 적용된다는 점을 제외하고 4단계와 동일합니다. 자세한 내용은 이 섹션의 4단계를 참조하십시오.

예: 인터페이스는 디바이스에서 패킷(b->a)을 전송합니다.

그림 7은 패킷이 디바이스에 도달하고 패킷이 속한 플로우에 대한 세션이 존재할 때 패킷이 겪는 프로세스를 보여줍니다.

그림 7: 빠른 경로 처리를 Packet Walk for Fast-Path Processing 위한 패킷 워크

서비스 처리 장치 이해

주어진 물리적 인터페이스에 대해 SPU는 물리적 인터페이스와 연결된 네트워크 프로세서 번들의 모든 네트워크 프로세서로부터 수신 패킷을 수신합니다. SPU는 물리적 인터페이스에서 네트워크 프로세서 번들 정보를 추출하고 동일한 5-튜플 해시 알고리즘을 사용하여 플로우를 네트워크 프로세서 인덱스에 매핑합니다. 네트워크 프로세서를 결정하기 위해 SPU는 네트워크 프로세서 번들의 네트워크 프로세서 인덱스를 조회합니다. SPU는 외부 트래픽을 위해 물리적 인터페이스의 로컬 물리적 인터페이스 모듈(PIM)로 송신 패킷을 보냅니다.

메모:

네트워크 프로세서와 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 변환)

Junos OS 릴리스 15.1X49-D10 및 Junos OS 릴리스 17.3R1부터 IOC 세션의 세션 캐시는 특정 성능 문제를 해결하는 데 도움이 됩니다. SPU는 이제 IOC 세션 캐시에 후속 트래픽을 특정 앵커 SPU로 전달하도록 지시할 수 있습니다.

Junos OS 릴리스 15.1X49-D10부터 SRX5K-MPC(IOC2) 및 IOC3는 향상된 플로우 모듈 및 세션 캐시를 통해 VPN 세션 선호도를 지원합니다. Junos OS 릴리스 12.3X48-D30부터 IOC2에서는 세션 캐시를 통한 VPN 세션 선호도가 지원됩니다.

다른 트래픽은 5튜플 키 정보를 기반으로 SPU로 해시되었습니다. VPN 트래픽은 앵커된 SPU의 개념을 사용했으며, 이는 플로우 SPU의 기능과 반드시 일치하지는 않습니다. 네트워크 프로세서는 5튜플 해시를 기반으로 패킷을 플로우 SPU로만 전달할 수 있습니다. 그런 다음 플로우 SPU는 패킷을 고정된 SPU로 전달했습니다. 이로 인해 VPN 트래픽에 대한 추가 홉이 생성되어 스위치 패브릭 대역폭이 낭비되고 VPN 처리량이 약 절반으로 줄었습니다. 이러한 성능 감소는 트래픽이 앵커된 SPU에서 처리된 후에도 플로우 SPU로 다시 이동해야 했기 때문에 발생했습니다.

세션 캐시 테이블은 이제 NP 세션을 지원하기 위해 IOC에서 확장되었습니다. 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에 우선 순위가 높은 특정 트래픽 세션에 대한 세션 캐시를 설치하도록 요청합니다. 우선 순위가 높은 트래픽 세션에 대한 세션 캐시 사용량은 테이블에 정의되어 있습니다.

표 1: 세션 캐시 설치 막대

트래픽 유형

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로 전달하여 단편화된 패킷이 있는 세션의 패킷 순서를 보장합니다.

IOC와 NPC 간의 매핑 구성

입력/출력 카드(IOC)와 네트워크 처리 카드(NPC) 매핑을 수행하려면 하나의 IOC를 하나의 NPC에 매핑해야 합니다. 그러나 여러 IOC를 단일 NPC에 매핑할 수 있습니다. SRX3400 및 SRX3600 서비스 게이트웨이의 NPC에서 처리 능력의 균형을 맞추기 위해 섀시 프로세스(데몬)는 매핑을 수행하는 알고리즘을 실행합니다. 매핑된 IOC의 양이 가장 적은 NPC에 IOC를 매핑합니다. 명령줄 인터페이스(CLI)를 사용하여 특정 NPC에 특정 IOC를 할당할 수도 있습니다. 매핑을 구성할 때 섀시 프로세스는 먼저 구성을 사용한 다음 나머지 IOC에 대해 최소 번호 NPC 알고리즘을 적용합니다.

메모:

플랫폼 지원은 설치한 Junos OS 릴리스에 따라 다릅니다.

IOC와 NPC 간의 매핑을 구성하려면 다음을 수행합니다.

옵션에 대한 설명은 표 2set chassis ioc-npc-connectivity 참조하십시오.

표 2: IOC와 NPC 간 연결 옵션

선택

묘사

국제올림픽위원회(IOC) slot-number

IOC 슬롯 번호를 지정합니다. 범위는 SRX3400 장치의 경우 0에서 7까지이고 SRX3600 장치의 경우 0에서 12까지입니다.

NPC (엔피씨) slot-number

NPC 슬롯 번호를 지정합니다. 범위는 SRX3400 디바이스의 경우 0에서 7까지, SRX3600 및 SRX 4600 디바이스의 경우 0에서 12까지입니다.

없음

섀시 프로세스는 특정 IOC에 대한 연결을 매핑합니다.

메모:

명령을 커밋 set chassis ioc-npc-connectivity 한 후 섀시 컨트롤을 다시 시작해야 합니다.

SRX5K-SPC3 디바이스의 플로우 처리 이해

서비스 프로세싱 카드 SRX5K-SPC3은 SRX5000 보안 서비스 게이트웨이에서 보안 서비스의 성능을 향상시키기 위해 도입되었습니다. SPC3 카드는 더 높은 처리량을 지원하고 섀시 클러스터 기능과 서비스 처리 확장성을 보존하여 안정성을 유지합니다.

SPC3 카드는 다음과 같은 보안 기능을 지원합니다.

보안 플로우는 SPC2 카드에서 지원되는 모든 기존 보안 기능과 함께 SPC3 카드를 지원하도록 향상되었습니다.

메모:

Junos OS 릴리스 18.2R1-S1의 SPC3 카드에는 다음과 같은 제한이 적용됩니다.

  • SPC3 카드와 SPC2 카드의 상호 운용성은 지원되지 않습니다.

  • IPsec VPN 기능은 SPC3 카드에서 지원되지 않습니다.

Junos OS 릴리스 18.2R1-S1부터 SRX5000 라인 디바이스에 새로운 SPC3(Service Processing Card)가 도입되었습니다. 새로운 카드의 도입으로 디바이스의 확장성과 성능이 향상되고 섀시 클러스터 기능을 보존하면서 안정성이 유지됩니다. SPC3 카드는 서비스 처리를 위해 더 높은 처리량과 확장성을 지원합니다.

SRX5000 라인 디바이스에서 SPC3 카드는 I/O 카드(IOC2, IOC3), 스위치 컨트롤 보드(SCB2, SCB3), 라우팅 엔진 및 SPC2 카드와 상호 운용됩니다.

Junos OS 릴리스 18.4R1부터 SRX5000 라인 디바이스에서 SPC3 및 SPC2 카드의 혼합이 지원됩니다.

디바이스 라인SRX5000 SPC3 카드를 추가하는 경우 새 SPC3 카드는 SPC의 가장 낮은 번호의 슬롯에 설치해야 합니다. SPC3 카드는 원래 가장 낮은 번호의 슬롯에 설치되어 혼합 모드에서 중앙 지점(CP) 기능을 제공합니다. 예를 들어, 서비스 게이트웨이에 SPC2 및 SPC3 카드가 혼합되어 있는 경우 SPC3는 섀시의 모든 SPC 중 가장 낮은 번호의 슬롯을 차지해야 합니다. 이 구성은 혼합 모드의 CP(Central Point) 기능이 SPC3 카드에 의해 수행되도록 합니다.

혼합 모드에서 작동하는 SRX5000 라인 디바이스에서는 SPC3 및 SPC2 카드 간에 플로우 처리가 공유됩니다. 센트럴 포인트 프로세싱은 SPC3 카드가 설치된 가장 낮은 수의 SPC 슬롯에서 이루어집니다.

메모:

SRX 시리즈 방화벽이 섀시 클러스터 모드에서 작동하는 경우 SPC3 및 SPC2 카드를 각 섀시의 동일한 슬롯 위치에 설치해야 합니다.

SPC3 소프트웨어 아키텍처 이해

SPC3 플로우 아키텍처는 CP-Lite 아키텍처와 동일합니다. SPC3에는 물리적으로 2개의 SPU(Services Processing Unit)가 있으며 각 SPU에는 2개의 CPU가 있습니다.

하나 또는 두 개의 SPC3를 설치하면 트래픽 처리는 첫 번째 SPC의 75%를 활용합니다. 3개 이상의 SPC3를 설치하면 트래픽 처리는 첫 번째 SPC의 50%를 활용합니다.

IOC가 패킷을 해시하여 플로우를 처리하는 방식이 변경됩니다. 그림은 SPC3을 사용하는 SRX 시리즈 방화벽의 패킷 플로우를 보여줍니다.

그림 8: SPC3 Packet flow on SPC3 의 패킷 플로우

SPC3에서 패킷은 IOC에서 각 코어로 직접 배포됩니다. IOC는 패킷을 플로우된 RT 스레드로 직접 해시하기 때문에 원래 LBT 스레드가 제거됩니다. 패킷은 이제 SPU 대신 플로우 스레드로 전달됩니다. 보안 플로우가 SPU ID 대신 NP 세션을 설치하는 경우, IOC는 세션 스레드 ID를 사용하여 패킷을 전달하여 세션과 연관된 올바른 스레드를 제공합니다.

그림 9: 플로우 스레드 Packet flow through flowd thread 를 통한 패킷 흐름

부하 분산 이해

수익 포트를 통해 들어오는 모든 패킷은 CP-Lite 아키텍처를 기반으로 하는 기존 SRX5000 라인 디바이스 해시와 동일한 해시 알고리즘을 기반으로 서로 다른 SPU에 배포됩니다. 해시 방법은 트래픽 유형에 따라 다릅니다. 아래 표에는 해시 메서드가 나와 있습니다.

표 3: 부하 분산 - 해시 방법

프로토콜

포트

Hash 메서드

TCP를

L4 src 포트 및 dst 포트

5-튜플로 해시됨

증권 시세 표시기

보통

L4 src 포트 및 dst 포트

5-튜플로 해시됨

증권 시세 표시기

L4 src 포트 및 dst 포트

5-튜플로 해시됨

아이크(IKE)

L4 src 포트 및 dst 포트

IP 쌍에 의해 해시됨

증권 시세 표시기

  1. ICMP 버전 4 정보 메시지 ICMP_ECHO/ICM_ECHOREPLY id/seq ICMP_TSTAMP/ICMP_TSTAMPREPLY id/seq ICMP_IREQ/ICMP_IREQREPLY id/seq ICMP_MASKREQ/ICMP_MASKREPLY 0x00010001

  2. ICMP 버전 6 정보 메시지 ICMP6_ECHO_REPLY/ICMP6_ECHO_REQUEST id/seq

  3. ICMP 오류 메시지 임베디드 IP로 일치

  4. 다른 모든 0x00010001

ICMP 정보는 5-튜플로 해시됩니다.

ICMP 오류가 3-튜플로 해시됨(포트 정보 없음)

증권 시세 표시기

L4 src 포트 및 dst 포트

5-튜플로 해시됨

증권 시세 표시기

증권 시세 표시기

IP 쌍에 의해 해시됨

증권 시세 표시기

IP 쌍에 의해 해시됨

GRE

PPTP alg가 활성화된 경우, sport = call id; dport = 0

기본적으로 포트는 0x00010001입니다

3-튜플로 해시됨

핌(PIM)

기본적으로 PIM 포트는 0x00010001

3-튜플로 해시됨

조각

첫 번째 프래그먼트에는 일반 포트가 있습니다.

첫 번째 프래그먼트 없음, 포트 없음

3-튜플로 해시됨

기타 IP 패킷

포트 0x00010001

3-튜플로 해시됨

없음 IP

해당 사항 없음

MAC 주소 및 이더넷 유형(VLAN ID)에 의해 해시됨

NP 세션 및 SOF(서비스 오프로드) 이해

NP(Network Processor) 세션은 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에서 지원됩니다.

E2E(Datapath Debug SPU Support) 이해

Datapath 디버그는 SRX5000 Line 디바이스에서 필터 기반 엔드 투 엔드(E2E) 패킷 디버그 기능을 제공합니다. 패킷 경로를 추적하고 패킷 콘텐츠를 덤프합니다.

SPC3에서 JEXEC는 지원되는 유일한 E2E 이벤트 유형이며 다음과 같은 E2E 작업 유형이 지원됩니다.

  • 세다

  • 덤프

  • 자취

  • 추적 요약

단편화 처리, ISSU 및 ISHU 지원 이해

SPC3에서 단편화된 패킷은 헤더 튜플 값을 기반으로 특정 PFE의 "조각 코어"로 전달됩니다. 단편화된 패킷을 수신한 후 flow는 조각 모음을 수행하고 패킷을 세션 코어로 전달합니다. 플로우 로직은 변경되지 않고 동일하게 유지됩니다.

ISSU를 수행하는 동안 가상 SPU는 관련 가상 SPU ID와 동기화됩니다. ISHU 지원은 CP-Lite 아키텍처를 기반으로 합니다. 기본적으로 두 가지 ISHU 작업이 지원됩니다.

  • 보조 노드에 새 SPC를 삽입합니다.

  • 보조 노드에서 SPC를 교체하고 SPC 수는 기본 노드의 수와 동일해야 합니다.

변경 내역 테이블

기능 지원은 사용 중인 플랫폼 및 릴리스에 따라 결정됩니다. 기능 탐색기 를 사용하여 플랫폼에서 기능이 지원되는지 확인합니다.

석방
묘사
18.4R1
Junos OS 릴리스 18.4R1부터 SRX5000 라인 디바이스에서 SPC3 및 SPC2 카드의 혼합이 지원됩니다.
18.2R1-S1
Junos OS 릴리스 18.2R1-S1부터 SRX5000 라인 디바이스에 새로운 SPC3(Service Processing Card)가 도입되었습니다. 새로운 카드의 도입으로 디바이스의 확장성과 성능이 향상되고 섀시 클러스터 기능을 보존하면서 안정성이 유지됩니다. SPC3 카드는 서비스 처리를 위해 더 높은 처리량과 확장성을 지원합니다.
15.1X49-D70
기본적으로 SRX 시리즈 방화벽은 드롭 모드로 설정된 SRX300 시리즈 및 SRX550M 디바이스를 제외하고 모든 디바이스에서 IPv4 트래픽에 대한 플로우 기반 포워딩에 대해 활성화되어 있습니다. Junos OS 릴리스 15.1X49-D70 및 Junos OS 릴리스 17.3R1부터 SRX1500 시리즈, SRX4100, SRX4200, SRX5400, SRX5600, SRX5800 및 vSRX 가상 방화벽 디바이스의 경우 플로우 모드, 패킷 모드 및 드롭 모드 간에 모드를 전환할 때 디바이스를 재부팅할 필요가 없습니다 . SRX300 시리즈 및 SRX550M 디바이스의 경우 플로우 모드, 패킷 모드 및 드롭 모드 간 전환 시 디바이스를 재부팅 해야 합니다 .
15.1X49-D10
Junos OS 릴리스 15.1X49-D10 및 Junos OS 릴리스 17.3R1부터 IOC 세션의 세션 캐시는 특정 성능 문제를 해결하는 데 도움이 됩니다.
15.1X49-D10
Junos OS 릴리스 15.1X49-D10부터 SRX5K-MPC(IOC2) 및 IOC3는 향상된 플로우 모듈 및 세션 캐시를 통해 VPN 세션 선호도를 지원합니다
12.1X48-D30
Junos OS 릴리스 12.3X48-D30부터 IOC2에서는 세션 캐시를 통한 VPN 세션 선호도가 지원됩니다