상용 NGFW HW 아키텍처

Fortinet 7121F/NP7/CP9, Palo Alto PA-7500/SP3, Check Point 29200/Maestro/LightSpeed, Juniper SRX5800, Cisco Secure Firewall 4245, Sophos XGS 8500 최상급 상용 NGFW 하드웨어 아키텍처 비교, SSL Inspection 오프로드 분류, 암호화(Encryption) 오프로드 아키텍처 3분류, 하드웨어 이벤트 스케줄러(Scheduler)(DLB/SSO), Linux 커널 기반 NGFW, 벤더별 TLS 핸드셰이크·암호화·성능 비교, 패킷 유형별 고성능 흐름, 배포 아키텍처 패턴, HA 구성, TLS 1.3/ECH 대응, PQC 영향, RFC 9411 성능 측정 방법론

전제 조건: NGFW HW 오프로드 문서의 오프로드 아키텍처 3대 유형과 데이터 플레인 개념을 먼저 이해하세요.

상용 NGFW는 암호화·DPI 가속을 위해 크게 두 가지 하드웨어 처리 모델을 사용합니다:

구분인라인(Inline) 처리룩어사이드(Lookaside) 처리
패킷(Packet) 경로패킷이 전용 HW를 통과하며 처리 (NIC → ASIC/FPGA → NIC)패킷을 별도 HW 엔진으로 보내고 결과를 돌려받음 (CPU ↔ 코프로세서)
지연(Latency)최소 — 데이터 경로에 HW가 직접 위치복사/전송 오버헤드(Overhead) 발생 — PCIe 왕복
적용 예세션 오프로드, NAT rewrite, IPSec inline cryptoSSL/TLS 가속, AV 패턴 매칭, 압축
장점라인레이트 처리, CPU bypass 가능범용 CPU와 독립적 확장, 유연한 알고리즘 지원
단점ASIC/FPGA 설계 복잡, 새 프로토콜 지원 느림PCIe 대역폭(Bandwidth) 병목(Bottleneck), 배치 처리 필요

대부분의 상용 NGFW는 두 모델을 혼합(Hybrid)하여 사용합니다. 다만 실무에서는 L4 세션 전달용 fast pathSSL Inspection용 복호화(Decryption) 경로를 분리해서 봐야 합니다. 같은 장비라도 세션 포워딩은 inline인데, SSL/TLS 검사는 CPU중심 lookaside, SoC중심 lookaside, 카드형 크립토 가속기, 또는 전용 TLS 복호화 엔진일 수 있습니다. 아래 표는 2026년 6월 공식 문서 확인 기준으로 이를 정리한 것입니다:

기능FortinetPalo AltoCheck PointJuniperCiscoSophosLinux NGFW
세션 오프로드Inline (NP7/NP7Lite/NP6 계열)Inline dataplane fast path (SP3 / NPC-DPC)Inline (SecureXL KPPAK/UPPAK)Inline (NP Express Path)Static/dynamic flow offloadFastPath / Xstream Flow ProcessorInline (eSwitch FDB)
NAT RewriteInline (NP7 policy/NAT engine)Inline 세션 경로SecureXL NAT TemplatesInline (NP)FTD/LINA fast pathFastPath가 신뢰된 흐름의 후속 패킷 처리Inline (eSwitch / flowtable)
IPSec 데이터 경로NP7/CP 계열 crypto 보조모델별 dataplane cryptoSecureXL Cryptography + CPUPFE inline IPsec 또는 SPC3/QAT 계열Crypto accelerator + fastpathXFRM stack이 FastPath/NPU crypto로 ESP 처리 오프로드Inline (NIC crypto) / Lookaside (QAT)
SSL/TLS InspectionCP9/CP10/SoC inspection 보조프록시형 decrypt + dataplane 처리HTTPS Inspection + CoreXL/SecureXLSSL Proxy + 서비스 처리 경로TLS hardware decryption + Snort 3DPI Engine + PKI acceleration (X.509 재서명 중심)프록시 + kTLS/QAT 혼합
평문 DPI / App-IDCPU + CP pattern matchingSP3 single-pass App-ID/IPSCoreXL FW Instanceflowd / security servicesMulti-threaded Snort 3Xstream DPI EngineSuricata / nDPI
처리 모델 요약Inline NP + CP/SoC inspection모듈형 dataplane + single-pass softwareSW fast path + 수평 확장Inline NP/PFE + 서비스 오프로드Flow offload + crypto accelerator + Snort 3x86 CPU + Xstream Flow Processor dual-processorInline SmartNIC + userspace lookaside
Inline vs Lookaside 핵심 판별법: 패킷이 해당 HW를 반드시 통과해야 전달되면 inline, CPU가 패킷 데이터를 별도 엔진에 복사·위임하고 결과를 받으면 lookaside입니다. Inline은 라인레이트에 유리하고, lookaside는 CPU와 독립적으로 확장할 수 있습니다. 동일 벤더라도 기능에 따라 inline과 lookaside를 혼합하는 것이 일반적입니다.
공개 자료 해석 주의: Fortinet, Palo Alto Networks, Check Point, Juniper, Cisco, Sophos 모두 내부 버스(Bus) 구성과 개별 암호화 엔진 배치를 전부 공개하지는 않습니다. 이 절의 분류는 공개된 하드웨어 가속 문서, 데이터시트, 운영 가이드에서 드러나는 제어면/데이터면 계약을 기준으로 한 해석이며, 특정 보드 리비전, PAN-OS/FortiOS/Junos/Gaia/FTD/SFOS 버전, 라이선스 구성에 따라 구현이 달라질 수 있습니다.

2026년 6월 공식 자료 확인 요약

아래 내용은 2026년 6월 2일 기준 공식 벤더 문서와 데이터시트를 확인해 반영한 사항입니다. 수치가 포함된 항목은 벤더가 공개한 시험 조건을 함께 보아야 하며, 실제 배치에서는 RFC 9411 방법론으로 재측정해야 합니다.

사실관계 검토 기준: 이 문서는 공식 벤더 문서, 공식 데이터시트, IETF/RFC, Linux 커널·DPDK·NIC 벤더 공식 문서에서 직접 확인되는 내용만 수치로 유지합니다. 벤더가 공개하지 않는 내부 버스 폭, ASIC 내부 엔진 배치, SSL CPS, 인증서 캐시 구조, 카드별 TLS 처리량은 추정하지 않고 "모델별 확인 필요" 또는 "공식 미공개"로 표기합니다.
벤더확인된 최신 핵심 사실이 문서의 아키텍처 해석주의할 점
FortinetNP7은 세션 fast path, CGN/NAT setup, hardware logging, HA hardware session synchronization 등을 CPU에서 분리할 수 있으며, Fortinet 문서는 NP7 1개당 2×100G 기준 최대 200Gbps와 1,200만 세션 한계를 설명합니다. CP9는 flow-based IPS/Application Control pattern matching, IPsec, SSL/TLS protocol processor를 포함합니다. SOC5(SP5)는 NP7Lite와 CP10을 포함하는 SoC로 문서화되어 있습니다.NP7/NP7Lite는 inline 세션·NAT·IPsec fast path, CP9/CP10/SoC5는 inspection과 crypto 보조 경로로 봅니다.SP5를 독립 SSL ASIC으로 단순화하면 부정확합니다. 모델별로 CP9, CP10, NP7Lite, NP7 조합이 다릅니다.
Palo Alto NetworksPA-7500은 PAN-OS 11.1부터 지원되며 MPC, NPC, DPC, SFC가 필요한 모듈형 chassis입니다. 공개 문서는 SP3를 single-pass software와 parallel processing hardware 개념으로 설명하지만, 특정 세대의 내부 FPGA/ASIC 배치를 세부 공개하지 않습니다.SP3는 논리적 single-pass pipeline으로, PA-7500은 NPC가 네트워크 접속, DPC가 데이터 처리, SFC가 chassis fabric을 담당하는 모듈형 dataplane으로 해석합니다.공식 근거 없이 "FPGA가 SSL을 처리합니다"처럼 단정하지 않습니다. Decryption은 proxy 세션 2개를 만들고 보안 정책/프로필을 적용하는 구조입니다.
Check PointR82 문서는 SecureXL을 KPPAK/UPPAK로 구분하고, CoreXL은 다중 Firewall kernel instance가 SecureXL instance와 함께 동작한다고 설명합니다. fwaccel 명령은 Acceleration, Cryptography, Accept/Drop/NAT Templates, LightSpeed Accel 상태를 표시합니다. Maestro는 Security Group을 하나의 Security Gateway처럼 관리하는 SMO 구조입니다.SecureXL은 L3/L4 fast path와 template 중심, CoreXL은 CPU 병렬 firewall path, Maestro/LightSpeed는 수평 확장과 NIC 기반 가속 계층으로 봅니다.HTTPS Inspection은 TLS MITM과 보안 블레이드 검사 때문에 CPU/CoreXL 경로 영향을 크게 받습니다. LightSpeed는 L4 가속과 대역폭 확장 중심으로 구분해야 합니다.
JuniperJunos 문서는 Express Path가 fast-path packet을 SRX firewall의 SPU 대신 network processor에서 처리한다고 설명합니다. Inline IPsec은 IPsec 처리를 CPU에서 Packet Forwarding Engine ASIC으로 오프로드합니다. SSL Proxy는 forward/reverse proxy 모두를 지원하며 TLS 1.3에서 secp256r1 key exchange 제한을 명시합니다.일반 세션은 NP/PFE fast path, IPsec은 플랫폼에 따라 PFE inline 또는 SPC3/QAT 계열, SSL Proxy는 서비스 처리 경로에서 복호화·검사·재암호화하는 구조로 봅니다.SPC3가 모든 SSL/DPI를 자동으로 대신한다고 단정하면 안 됩니다. SSL Proxy 기능, 지원 cipher/group, 플랫폼별 crypto acceleration 동작을 함께 확인해야 합니다.
CiscoCisco Secure Firewall 4200 데이터시트는 multi-threaded Snort 3, cryptographic acceleration architecture, TLS hardware decryption, 최대 16-node cluster, 400G interface option을 명시합니다. 4245 기준 FW+AVC+IPS 140Gbps, TLS hardware decryption 45Gbps 수치가 공개되어 있습니다.FTD/LINA fast path와 flow offload가 L3/L4를 줄이고, TLS hardware decryption과 crypto accelerator가 암호화 비용을 줄인 뒤, Snort 3가 multi-threaded DPI를 수행하는 구조로 봅니다.TLS 수치는 50% TLS 1.2, AES256-SHA, RSA 2048B 조건입니다. 실제 TLS 1.3/ECDHE/HTTP2/QUIC 혼합에서는 별도 측정이 필요합니다.
SophosSFOS 21.5 문서는 SlowPath, DPI Engine, offload module, FastPath 구조를 설명하고, 대부분의 XGS 장비가 multi-core x86 CPU와 Xstream Flow Processor(NPU)를 결합한 dual-processor 구조라고 명시합니다. XGS 8500 공식 페이지는 Firewall 190Gbps, TLS Inspection 24Gbps, IPS 93Gbps, NGFW 76Gbps, Threat Protection 92.5Gbps, 100Gbps QSFP28 포트를 제시합니다.초기 패킷은 x86 CPU/SlowPath/DPI Engine에서 분류하고, 신뢰된 흐름은 Xstream Flow Processor의 FastPath로 넘기는 구조로 봅니다. TLS Inspection은 DPI Engine 중심이며, 지원되는 XGS 모델에서 X.509 서버 인증서 재서명(PKI)과 IPsec ESP 처리를 NPU crypto로 보조합니다.공식 문서는 inspected SSL/TLS flow의 symmetric crypto offload를 지원하지 않는다고 명시합니다. 따라서 "TLS 전체 복호화를 NPU가 처리합니다"라고 단정하면 부정확합니다.

최상급 NGFW 장비 기준 아키텍처 비교

최고 성능 장비를 볼 때 가장 중요한 질문은 "어떤 칩이 빠른가"가 아니라 어떤 기능을 어느 계층에서 수평 확장하는가입니다. 최상급 NGFW는 대체로 ① 포트·패브릭 계층, ② 첫 패킷·세션 분류 계층, ③ L4/NAT/IPsec fast path 계층, ④ TLS 복호화 계층, ⑤ DPI/IPS/URL/파일 검사 계층, ⑥ 로그·관리 계층을 분리합니다. 아래 표는 공식 자료 기준으로 각 벤더의 플래그십 또는 최상위급 제품군을 이 관점에서 정리한 것입니다.

벤더/최상급 기준확인된 공식 성능·구성고성능을 만드는 핵심 구조아키텍처상 가장 궁금한 지점
Fortinet FortiGate 7121F / 7000F7121F는 16U 12-slot chassis, 1Tbps fabric backplane, 50Gbps base backplane, SMM 2개, FIM 2개, FPM 최대 10개 구조입니다. FPM-7620F는 NP7/CP9/TPM을 포함하며, 공식 데이터시트는 FPM 단위 IPv4 FW 396/395/263Gbps, IPS 67.5Gbps, SSL Inspection 54Gbps, NGFW 55Gbps, Threat Protection 52Gbps를 제시합니다.FIM이 외부 포트와 chassis ingress/egress를 담당하고, FPM이 NP7 fast path와 CP9 content/security acceleration을 수행합니다. NP7은 세션·NAT·CGN·IPsec·DoS offload를 CPU에서 분리하고, CP9는 pattern matching과 SSL/TLS protocol processor를 보조합니다.성능은 단일 박스가 아니라 FIM/FPM 간 분산과 NP7 locality에 의해 결정됩니다. 세션이 어느 FPM에 고정되는지, SSL Deep Inspection 세션이 CP9/CPU 경로를 얼마나 점유하는지가 실제 상한입니다.
Palo Alto Networks PA-7500PA-7500은 PAN-OS 11.1부터 지원되는 14RU급 모듈형 chassis입니다. 공식 하드웨어 문서는 MPC, NPC, DPC, SFC 구조와 front 9 slots, rear SFC slots를 설명합니다. 공식 제품 페이지는 App-ID 1.5Tbps, Layer 7 threat prevention 1.44Tbps, 400Gbps interface support, NPC 최대 7개, DPC 최대 7개를 제시합니다.NPC는 400G/100G 포트, route/MAC lookup, QoS, NAT, packet scheduling, flow management 등 네트워크 처리를 담당하고, DPC는 App-ID, User-ID, URL match, policy match, app decoding, SSL/IPsec, decompression 같은 보안 처리를 담당합니다. SFC는 NPC-DPC 사이의 내부 스위칭 패브릭입니다.PA-7500의 핵심은 network processing과 security processing을 카드 단위로 분리한 점입니다. 첫 패킷과 세션 메타데이터가 NPC/MPC/DPC 사이에서 어떻게 분배되는지, Decryption이 DPC 보안 처리량을 얼마나 잠식하는지가 sizing 핵심입니다.
Check Point Quantum Force 29200 + Maestro 17529200 공식 페이지는 2RU modular platform에서 Firewall 500Gbps, NGFW 165Gbps, Threat Prevention 75Gbps 성능 highlight를 제시하며, 같은 페이지는 최대 1.4Tbps firewall 성능 문구도 함께 제공합니다. Maestro 175는 fabric capacity 3.2Tbps, Gen V threat prevention 1.5Tbps, 32×100GbE 또는 128×10GbE 포트를 제시합니다.단일 게이트웨이는 SecureXL/KPPAK/UPPAK fast path, CoreXL firewall instance 병렬화, LightSpeed Accel/NIC 가속을 결합합니다. Maestro는 여러 Quantum gateway를 Security Group으로 묶고, Orchestrator가 ingress flow를 멤버에 분산해 단일 논리 게이트웨이처럼 관리합니다.Check Point의 최상급 구조는 단일 대형 ASIC보다 SecureXL fast path와 Maestro 수평 확장에 가깝습니다. HTTPS Inspection, Threat Emulation, 복잡한 blade 조합은 여전히 gateway CPU/CoreXL 배치와 세션 affinity에 크게 좌우됩니다.
Juniper SRX5800SRX5800 공식 데이터시트는 fully equipped chassis 기준 firewall 3.36Tbps, IPS 638Gbps, IPsec VPN AES-256-GCM 699Gbps, 338M concurrent sessions, sustained new sessions 6.3M/4M 수준을 제시합니다. 하드웨어 문서는 12 slots, 2~3 SCB, SPC/MPC/IOC/Flex IOC 조합 구조를 설명합니다.SCB가 fabric과 제어 경로를 제공하고, MPC/IOC가 네트워크 입출력을 담당하며, SPC가 firewall, IPsec, IDP 등 service processing을 수행합니다. Express Path는 fast-path packet을 SPU 대신 network processor에서 처리하고, inline IPsec은 CPU 대신 PFE ASIC으로 ESP 처리를 넘길 수 있습니다.SRX5800은 line card와 service card의 균형이 중요합니다. 포트가 충분해도 SPC 수와 IDP/SSL Proxy/Content Security 부하가 부족하면 보안 처리량이 먼저 막힙니다.
Cisco Secure Firewall 4245Cisco 4200 데이터시트는 4245 기준 Stateful firewall 180Gbps, FW+AVC+IPS 140Gbps, TLS hardware decryption 45Gbps, AVC 동시 세션 60M, AVC CPS 800K, ASA new CPS 2.0M, 16-node clustering, 400G network module option을 제시합니다.1RU 플랫폼 안에서 interface module, LINA/FTD fast path, flow offload, crypto acceleration, TLS hardware decryption, multi-threaded Snort 3를 결합합니다. Prefilter/large flow offload로 Snort 반복 검사를 줄이고, TLS/VPN crypto 비용을 전용 하드웨어로 낮춥니다.Cisco의 핵심은 Snort 3로 보내지 않을 세션을 얼마나 정확히 선별하는가입니다. TLS hardware decryption 수치는 특정 TLS 1.2 조건이므로, TLS 1.3/ECDHE/QUIC/파일 검사 혼합에서는 Snort worker와 crypto accelerator 균형을 별도 측정해야 합니다.
Sophos XGS 8500XGS 8500은 2U enterprise/campus edge 모델이며, 공식 페이지는 Firewall 190Gbps, Firewall IMIX 81Gbps, IPS 93Gbps, IPsec VPN 141Gbps, NGFW 76Gbps, Threat Protection 92.5Gbps, TLS Inspection 24Gbps, 64-byte UDP latency 5.5us를 제시합니다. 고정 포트는 8×GE copper, 12×SFP+ 10GE, 2×QSFP28 10/25/40/50/100GE입니다.고속 x86 CPU와 Xstream Flow Processor를 결합해, 첫 패킷과 보안 판정은 CPU/SlowPath/DPI Engine이 수행하고 신뢰된 후속 패킷과 일부 PKI/IPsec 작업은 FastPath/NPU crypto가 줄입니다.Sophos의 최상위 모델은 2U 단일 appliance 스케일에 가깝고, PA-7500/FortiGate 7121F 같은 대형 섀시형 수평 확장 구조와는 다릅니다. TLS Inspection 수치는 IPS enabled HTTPS와 cipher suite 조건을 확인해야 합니다.
최상급 NGFW 스케일 방식: 섀시 내부 분산 vs 카드형 보안 처리 vs 클러스터 확장 Fortinet 7121F FIM: port / ingress FPM: NP7 fast path FPM: CP9 inspection 모듈 수만큼 세션·검사 분산 Palo Alto PA-7500 NPC: network processing DPC: security processing SFC: switch fabric NPC와 DPC를 독립 증설 Check Point 29200 SecureXL fast path CoreXL FW instances Maestro Security Group 게이트웨이 수평 확장 Juniper SRX5800 MPC/IOC: interfaces SPC: services SCB: fabric / control 포트 카드와 서비스 카드 균형 Cisco 4245 flow offload crypto accelerator Snort 3 workers 1RU 고밀도 병렬 처리 공통 고성능 패턴 1. 포트와 내부 패브릭은 보안 처리량보다 크게 설계해 ingress/egress 병목을 피합니다. 2. 첫 패킷은 CPU/정책 엔진에서 분류하고, 이후 EST 패킷은 ASIC/NPU/flow cache에 고정합니다. 3. TLS/VPN 암호화는 CP/crypto accelerator/PFE/TLS hardware decryption으로 줄이고, DPI는 별도 worker pool로 보냅니다. 4. 최상급 장비의 병목은 대개 포트가 아니라 SSL Inspection, IPS signature set, 파일 검사, 로그 쓰기, 세션 affinity입니다. 5. 장비 간 수치 비교는 Firewall, NGFW, Threat Prevention, SSL Inspection, IPSec, CPS를 같은 트래픽 조건으로 분리해야 합니다.

최상급 장비의 공통 패킷 경로 상세

플래그십 NGFW의 패킷 경로는 대부분 아래와 같은 형태로 수렴합니다. Fortinet은 이 계층을 FIM/FPM/NP7/CP9로, Palo Alto는 NPC/DPC/SFC로, Check Point는 SecureXL/CoreXL/Maestro로, Juniper는 MPC·IOC/SPC/SCB로, Cisco는 flow offload/crypto accelerator/Snort 3로, Sophos는 SlowPath/DPI Engine/FastPath/Xstream Flow Processor로 구현합니다.

최상급 NGFW 공통 데이터 경로: fast path와 deep path의 분기점 400G/100G Port FIM / NPC / IOC First Packet route / zone / NAT policy / app hint session owner 결정 L4 Fast Path ASIC/NPU/flow cache Crypto Path IPsec / TLS decrypt Deep Inspection IPS / URL / file / malware Fast Egress checksum / rewrite / QoS Verdict Cache allow / drop / log future packets shortcut Egress Port fabric / line card 플래그십 장비 sizing의 핵심 질문 fast path hit ratio, SSL decryption ratio, IPS signature count, file inspection ratio, log write rate, session owner rebalance 비용을 분리해 측정해야 합니다.
최상급 장비 수치 해석: Fortinet 7121F, Palo Alto PA-7500, Check Point 29200/Maestro, Juniper SRX5800, Cisco 4245, Sophos XGS 8500의 공식 수치는 서로 다른 트래픽 조건과 기능 조합을 사용합니다. 특히 Firewall 처리량, NGFW 처리량, Threat Prevention, IPS, SSL Inspection, TLS hardware decryption, VPN 처리량은 직접 비교 가능한 하나의 숫자가 아닙니다. 실제 설계에서는 동일한 HTTPS 비율, IMIX, 정책 수, IPS 시그니처, 로그 조건으로 재측정해야 합니다.

벤더별 기능 칩셋 연결 구성도

아래 연결도는 공개 문서에서 확인 가능한 카드·ASIC·기능 블록의 논리 연결을 기준으로 작성했습니다. 실제 PCB 배선, SerDes lane 수, 내부 crossbar, 암호화 엔진 배치, CPU socket 구성은 대부분 벤더가 공개하지 않으므로 그림에 포함하지 않았습니다. 따라서 이 그림은 "실제 보드 회로도"가 아니라 패킷이 어느 기능 블록을 거쳐 성능을 얻는지를 설명하는 구조도입니다.

벤더공개된 연결 단위빠른 경로깊은 검사 경로미공개로 남는 부분
Fortinet 7121FSMM, FIM, FPM, NP7, CP9, fabric/base backplaneFIM NP7 session-aware load balancing → FPM NP7 session/NAT/IPsec offload → egress FIMFPM CPU/FortiOS → CP9 content/security acceleration → CPU verdict → NP7/FIM egressFPM 내부 CPU·NP7·CP9 사이의 정확한 버스 폭과 CP9 내부 엔진 구성
Palo Alto PA-7500MPC, NPC, DPC, SFC, FE-400 ASIC, CPU/RAM 역할NPC network processing / flow management → SFC → egress NPCNPC → SFC → DPC security processing(App-ID/SSL/IPsec/decompression) → SFC → NPCFE-400 ASIC 내부 pipeline과 DPC 내 CPU/ASIC 간 세부 연결
Check Point 29200/MaestroOrchestrator, Security Group, SecureXL, CoreXL, LightSpeed Accel 상태Maestro flow distribution 또는 단일 appliance ingress → SecureXL templates/KPPAK/UPPAKSecureXL miss → CoreXL firewall instance → Threat Prevention blades → SecureXL verdict/cache29200 내부 NIC/가속 칩 구성과 LightSpeed Accel의 물리 칩셋 세부
Juniper SRX5800SCB, SPC, MPC, IOC, Flex IOC, PFE/Express Path, inline IPsecMPC/IOC ingress → PFE/Express Path → SCB fabric → egress MPC/IOCMPC/IOC → SCB → SPC service processing(firewall/IPsec/IDP/SSL Proxy) → SCB → egressSPC 내부 crypto engine, PFE 세대별 pipeline, SSL Proxy 하드웨어 가속 세부
Cisco 4245Network module, flow offload, crypto accelerator, TLS hardware decryption, Snort 3Ingress interface → LINA/FTD prefilter → flow offload → egress interfacePrefilter miss/TLS decrypt → crypto accelerator → Snort 3 workers → verdict cache/egresscrypto accelerator 칩 명칭, TLS hardware decryption 내부 엔진, Snort worker와 I/O 사이 bus topology
Sophos XGS 8500x86 CPU, SlowPath, DPI Engine, FastPath, Xstream Flow Processor, NPU cryptoIngress → SlowPath 초기 분류 → FastPath/Xstream Flow Processor connection cache → egressSlowPath/DPI Engine → TLS/IPS/App/Web/AV stream inspection → PKI acceleration 또는 IPsec acceleration 조건부 사용 → verdict/offloadXstream Flow Processor 내부 pipeline, NPU crypto engine 배치, DPI Engine worker와 FastPath 사이의 정확한 큐 구조
벤더별 기능 칩셋/카드 연결 구성도 (공개 자료 기반 논리도) Fortinet 7121F FIM NP7 load balance FPM NP7 session/NAT/IPsec FPM CP9 content accel FPM CPU FortiOS verdict FIM egress 1Tbps fabric backplane: FIM/FPM 데이터 통신, 50Gbps base backplane: 관리·동기화 Palo Alto PA-7500 NPC FE-400 / ports SFC switch fabric DPC App-ID/SSL/IPsec MPC first packet/log NPC egress NPC는 네트워크 처리, DPC는 보안 처리, SFC는 NPC-DPC 간 내부 fabric 역할로 분리됩니다 Check Point 29200 / Maestro Maestro flow distribution SecureXL templates/KPPAK CoreXL FW instances Threat Blades IPS/AV/TE SecureXL verdict cache 단일 칩셋보다 SecureXL hit ratio와 CoreXL instance 분산, Maestro Security Group affinity가 성능을 좌우합니다 Juniper SRX5800 MPC / IOC interfaces/PFE Express Path fast packet SCB fabric/control SPC FW/IPsec/IDP MPC / IOC egress fast-path packet은 network processor 중심, IDP/SSL Proxy/IPsec 서비스는 SPC 자원과 fabric 균형이 중요합니다 Cisco 4245 Network Module 100G/400G/FTW Flow Offload prefilter/cache Crypto Accel TLS/VPN Snort 3 IPS/File/App Egress interface Cisco는 내부 칩 명칭보다 flow offload, TLS hardware decryption, Snort 3 worker 구조를 성능 단위로 공개합니다 점선·세부 회로가 없는 이유: 벤더별 내부 SerDes, crossbar, crypto engine 배치는 공개 자료에 포함되지 않아 추정하지 않았습니다.

벤더별 핵심 성능 오프로드 아키텍처 상세도

아래 그림은 각 벤더의 고성능 경로를 패킷이 실제로 어느 기능 블록을 지나 성능을 얻는가라는 관점으로 다시 펼친 것입니다. 녹색 경로는 반복 패킷을 줄이는 fast path, 보라색 경로는 암호화·TLS·IPsec 보조, 주황색 경로는 DPI/IPS/URL/파일 검사처럼 비용이 큰 deep path를 뜻합니다. 벤더가 공개하지 않은 칩 내부 버스 폭, crossbar, crypto engine 세부 배치는 의도적으로 그리지 않았습니다.

해외 NGFW 벤더별 핵심 성능 오프로드 아키텍처 상세도 벤더/장비 Ingress / Port 첫 패킷 / 제어면 L4 Fast Path Crypto / TLS DPI / Deep Path Egress / State Fortinet 7121F / 7000F FIM NP7 ingress session-aware LB FortiOS / CPU policy / UTM flow decision FPM NP7 session / NAT CGN / DoS / IPsec CP9 / CP10 TLS protocol IPsec / pattern assist Content Path IPS / App Control AV / proxy 검사 FIM / FPM egress offload flag HA session sync 핵심: FIM이 섀시 입출력과 분산을 맡고, FPM의 NP7 fast path와 CP9/CPU 검사 경로가 분리됩니다. Palo Alto PA-7500 NPC / FE-400 400G / 100G route / MAC / QoS MPC management first packet / logs NPC Fast Path flow management NAT / scheduling DPC crypto SSL / IPsec decompression DPC security App-ID / User-ID URL / IPS / WildFire SFC -> NPC switch fabric egress scheduling 핵심: NPC는 네트워크 처리, DPC는 보안 처리, SFC는 내부 fabric입니다. Decryption은 DPC 보안 처리량을 함께 소비합니다. Check Point 29200 / Maestro NIC / Maestro Orchestrator flow distribution SND / CoreXL FW instances policy / blade 선택 SecureXL KPPAK / UPPAK Accept / NAT templates Cryptography SecureXL crypto CPU / AES-NI 영향 Threat Blades IPS / HTTPS AV / TE / URL Verdict / SMO cache / log cluster policy 핵심: SecureXL template hit는 빠르고, HTTPS Inspection이나 복잡한 blade 조합은 CoreXL/Firewall Path 비용이 커집니다. Juniper SRX5800 MPC / IOC interfaces PFE ingress flowd / SPU session setup security policy Express Path network processor fast packet PFE / SPC3 inline IPsec crypto services SPC services IDP / AppSecure SSL Proxy SCB / egress fabric line-card balance 핵심: 포트 카드(MPC/IOC)와 서비스 카드(SPC)의 균형이 중요하며, SSL Proxy/IDP는 서비스 처리 경로로 들어갑니다. Cisco Secure Firewall 4245 Network Module 100G / 400G interface ingress LINA / FTD prefilter policy / conn event Flow Offload static / dynamic large-flow bypass Crypto Accel TLS HW decrypt VPN crypto Snort 3 IPS / App / URL file / malware Verdict / FMC cache / event cluster sync 핵심: prefilter와 flow offload로 Snort 3 진입률을 낮추고, TLS/VPN crypto는 별도 가속 계층으로 줄입니다. Sophos XGS 8500 XGS ports SFP+ / QSFP28 kernel ingress SlowPath firewall stack offload decision FastPath Xstream Flow connection cache NPU crypto PKI re-sign IPsec ESP Xstream DPI TLS / IPS / web AV / app control Verdict / log FastPath state DPI result 핵심: FastPath는 신뢰된 흐름을 줄이고, TLS 검사 자체는 DPI Engine 중심입니다. NPU crypto는 PKI 재서명과 IPsec에 제한적으로 작동합니다. 구성을 읽는 핵심 관점 1. Fast path는 보통 L4 반복 패킷 최적화입니다 세션이 이미 허용되고 위험도가 낮다고 판단된 뒤 NAT rewrite, checksum, routing, session lookup을 ASIC/NPU/cache 쪽으로 넘기는 구조입니다. 2. Crypto offload와 TLS inspection은 다릅니다 IPsec ESP, TLS record crypto, 인증서 재서명, DPI 후 재암호화는 서로 다른 병목입니다. 벤더별 수치를 같은 항목으로 직접 비교하면 안 됩니다. 3. Deep path는 성능 상한을 만듭니다 IPS signature, URL category, file extraction, sandbox queue, logging, SSL 예외 정책이 실제 처리량을 데이터시트보다 낮춥니다. 섀시형 분산 Fortinet 7121F, Palo Alto PA-7500, Juniper SRX5800은 카드·fabric·서비스 모듈의 균형이 성능을 좌우합니다. 포트 증설과 보안 처리 증설을 분리해서 봐야 합니다. 수평 확장 / 템플릿 중심 Check Point는 SecureXL hit ratio, CoreXL 분산, Maestro Security Group affinity가 중요합니다. HTTPS Inspection은 fast path보다 firewall path 자원을 먼저 소비할 수 있습니다. 단일 appliance 병렬 처리 Cisco 4245와 Sophos XGS 8500은 단일 장비 안에서 flow offload/FastPath, crypto, DPI worker를 조합합니다. 핵심은 deep path로 보낼 세션을 줄이는 정책 설계입니다. TLS 1.3/QUIC/파일 검사는 별도 sizing이 필요합니다. 실무 sizing 질문 같은 트래픽에서 fast path hit ratio, SSL/TLS decryption ratio, IPsec tunnel 수, IPS signature set, 파일 검사 비율, 로그 쓰기량을 따로 측정해야 합니다. 실선: 일반 처리 순서, 점선: 판정 후 반복 패킷 shortcut, 색상: green=fast path, purple=crypto, orange=deep inspection 공개 문서에 없는 칩 내부 버스, DMA 큐, crossbar, crypto engine 세부는 추정하지 않고 블록 경계만 표시했습니다.
연결도 읽는 법: 같은 "TLS 복호화"라도 Fortinet은 FPM 내부 CP9/CPU 경로, Palo Alto는 DPC security processing, Check Point는 CoreXL/HTTPS Inspection 경로, Juniper는 SPC/서비스 처리 경로, Cisco는 TLS hardware decryption과 Snort 3 경로, Sophos는 DPI Engine과 Xstream Flow Processor의 PKI acceleration 경로로 나타납니다. 최상급 장비 sizing에서는 포트 수보다 fast path hit ratio와 deep path 진입률을 먼저 봐야 합니다.

벤더별 SSL Inspection 오프로드 분류

SSL/TLS Inspection은 단순히 "암호화 가속" 하나로 끝나지 않습니다. 실제로는 ① TLS 핸드셰이크와 키 교환, ② 레코드 계층 AES-GCM/ChaCha20 암·복호화, ③ 평문 DPI와 정책 엔진(Policy Engine), ④ 인증서/개인키 보관이 서로 다른 자원에 배치됩니다. 벤더별 차이는 바로 이 네 단계가 어디서 실행되는지에 있습니다.

벤더TLS 핸드셰이크/키 교환TLS 레코드 암·복호화평문 DPI 위치공개 자료로 읽히는 분류실무적 의미
Fortinet보안 프로세서 또는 SoC inspection 경로가 보조보안 프로세서/inspection 엔진이 보조CPU + 콘텐츠 가속기고성능 chassis는 inline NP + SoC/보안 프로세서 lookaside, 브랜치 SoC 장비는 SoC중심 hybridDeep Inspection 세션은 NP fast path에서 빠지고 inspection 경로로 고정됩니다.
Palo Altodataplane CPU 자원 중심dataplane CPU 자원 중심SP3 single-pass CPU dataplaneinline 세션 fast path + CPU중심 lookaside전용 SSL ASIC보다 dataplane 코어 수와 메모리 구조가 Decryption 처리량(Throughput)을 좌우합니다.
Check PointCoreXL CPU / OpenSSL 경로CoreXL CPU / AES-NICoreXL FW InstanceSW inline fast path + CPU중심 lookasideSecureXL은 비암호화 fast path에 효과적이지만 HTTPS Inspection은 Firewall Path를 강제합니다.
JuniperSPC3 서비스 오프로드 카드SPC3 서비스 오프로드 카드flowd (CPU)inline NP + 카드형 lookaside슬롯 기반 확장으로 SSL CPS를 늘릴 수 있지만, 검사 세션은 Express Path에 남지 않습니다.
CiscoTLS hardware decryption / crypto acceleratorTLS hardware decryption / crypto acceleratorSnort 3flow offload + crypto accelerator + CPU DPI대형 장비는 TLS 복호화와 VPN crypto를 하드웨어로 줄이고, DPI는 multi-threaded Snort 3로 확장합니다.
SophosDPI Engine 중심, Xstream Flow Processor의 PKI acceleration이 X.509 재서명 보조inspected SSL/TLS symmetric crypto offload는 공식적으로 미지원Xstream DPI EngineNPU FastPath + CPU/DPI 중심 TLS inspectionTLS 검사 전체를 NPU가 처리하는 구조가 아니라, 신뢰된 흐름 offload와 인증서 재서명 가속을 분리해서 봐야 합니다.
Linux NGFW프록시 프로세스(Process) + 선택적 QATQAT lookaside 또는 NIC kTLSSuricata / nDPI / 프록시 프로세스구성 가능한 hybrid표준 커널 인터페이스는 풍부하지만 상용 장비처럼 단일 통합 inspection ASIC은 없습니다.
벤더별 SSL Inspection 경로 분해: 세션 fast path와 inspection 경로는 분리해서 봐야 합니다 벤더 세션 fast path 핸드셰이크 / 인증서 레코드 암·복호화 평문 DPI 분류 Fortinet 모델군별 차이 NP7 / NP6 inline 세션 전달 보안 프로세서 / SoC 키 교환·MITM 보조 inspection crypto path 레코드 암·복호화 CPU + 콘텐츠 가속기 App Control / AV / IPS SoC/보안 hybrid Palo Alto SP3 dataplane fast path 세션·NAT inline dataplane CPU 키 교환·인증서 dataplane CPU AES-NI / crypto lib SP3 single-pass App-ID / IPS / AV CPU centric Check Point SecureXL / CoreXL SecureXL 비암호화 fast path CoreXL CPU 핸드셰이크 CoreXL CPU 레코드 복호화 Firewall Path IPS / HTTPS Inspection CPU centric Juniper NP + SPC3 NP / Express Path 세션 전달 SPC3 TLS 핸드셰이크 SPC3 레코드 암·복호화 flowd 평문 보안 검사 카드형 lookaside Linux 구성형 스택 eSwitch / flowtable EST fast path 프록시 + OpenSSL / QAT 키 교환·인증서 NIC kTLS / QAT 레코드 처리 Suricata / nDPI 평문 DPI 구성형 hybrid 핵심 관찰: SSL Inspection 세션은 모든 벤더에서 세션 fast path와 다른 경로를 타며, 이 경로가 곧 실제 Decryption 처리량 상한을 결정합니다

암호화 오프로드 아키텍처 3분류

앞선 표에서 lookaside를 단일 카테고리로 분류했지만, 실제 구현을 살펴보면 lookaside 방식은 가속기의 물리적 위치와 버스 토폴로지(Topology)에 따라 크게 두 가지로 나뉩니다. CPU중심 룩어사이드(CPU-Centric Lookaside)는 PCIe 카드 형태의 외장 가속기를, SoC중심 룩어사이드(SoC-Centric Lookaside)는 SoC 다이 내장 크립토 엔진을 사용합니다. 여기에 데이터 경로 자체에 암호화를 삽입하는 인라인(Inline) 방식까지 포함하면, 암호화 오프로드는 3분류로 정리됩니다.

각 아키텍처의 핵심 차이는 패킷 데이터가 암호화 엔진에 도달하는 경로결과가 반환되는 지연 시간입니다. 기존 전용 크립토 가속기 섹션의 HW 스펙표와 함께 참조하면 전체 그림을 파악할 수 있습니다.

CPU중심 룩어사이드(CPU-Centric Lookaside)

CPU중심 룩어사이드는 CPU가 호스트 메모리에 있는 패킷 데이터를 PCIe 버스를 통해 외장 가속기 카드에 전송하고, 가속기가 처리한 결과를 다시 PCIe DMA로 돌려받는 모델입니다. CPU가 submission ring에 작업을 큐잉하면, 가속기가 비동기로 처리한 뒤 completion ring을 통해 완료를 통보합니다.

호스트 시스템 (Host) CPU crypto API 호출 호스트 메모리 패킷 버퍼 (DMA 영역) Submission Ring 작업 디스크립터 큐 Completion Ring 완료 통보 큐 PCIe Bus (Gen4/5 x16) PCIe 가속기 카드 AES-GCM 엔진 대칭키 처리 RSA/ECC 엔진 비대칭키 처리 내부 SRAM + DMA 컨트롤러 PCIe 인터페이스 DMA Req DMA Resp ① 작업 제출 ④ 완료 수신 ② DMA 전송 ③ HW 처리

대표 하드웨어:

커널 crypto API에 등록된 가속기의 우선순위(Priority) 확인:

# 등록된 암호화 알고리즘과 우선순위 확인
cat /proc/crypto | grep -A4 "name.*gcm(aes)"
# 출력 예시: driver = qat_aes_gcm, priority = 4001
# 우선순위가 높을수록 먼저 선택됨 (SW fallback은 보통 100~200)

# QAT 디바이스 상태 확인
cat /sys/kernel/debug/qat_4xxx_0000:6b:00.0/fw_counters
/* CPU중심 룩어사이드: 비동기 콜백 패턴 */
struct aead_request *req = aead_request_alloc(tfm, GFP_ATOMIC);
aead_request_set_callback(req, CRYPTO_TFM_REQ_MAY_BACKLOG,
                          crypto_done_callback, &result);
aead_request_set_crypt(req, src_sg, dst_sg, payload_len, iv);
aead_request_set_ad(req, assoclen);

ret = crypto_aead_encrypt(req);
if (ret == -EINPROGRESS || ret == -EBUSY) {
    /* 가속기가 비동기 처리 중 — completion 대기 */
    wait_for_completion(&result.completion);
    ret = result.err;
}
/* QAT: PCIe DMA 왕복 지연 ~10-50μs 포함 */
CPU중심 룩어사이드 장단점
장점: ① PCIe 슬롯으로 독립 확장 가능 — CPU 교체 없이 가속 능력 증대 ② SR-IOV로 VM별 격리(Isolation)된 VF 제공 — 클라우드/가상화(Virtualization) 환경에 유리 ③ 대용량 RSA/ECDHE 핸드셰이크 처리에서 CPU 부하 90%+ 절감
단점: ① PCIe 왕복 지연(~10-50μs)이 패킷당 추가 — 소형 패킷 다수 시 병목 ② DMA 매핑(Mapping)/해제 오버헤드 — dma_map_single() 호출 비용 ③ 별도 전원·냉각·슬롯 필요 — 임베디드/엣지에 부적합

SoC중심 룩어사이드(SoC-Centric Lookaside)

SoC중심 룩어사이드는 크립토 엔진이 SoC 다이 내부에 통합되어 있으며, CPU와 내부 버스(AXI/AHB/ACE)로 직접 연결됩니다. PCIe를 거치지 않으므로 DMA 왕복 지연이 크게 줄어들고, 별도 전원·슬롯이 필요 없어 임베디드·네트워크 장비에 널리 사용됩니다. CPU가 Job Ring(또는 Command Ring)에 작업을 큐잉하면, 내장 크립토 엔진이 내부 버스를 통해 메모리에서 직접 데이터를 읽어 처리합니다.

SoC 다이 (System-on-Chip) CPU 클러스터 ARM Cortex-A72 × 4~16 또는 MIPS64 / OCTEON TX2 공유 메모리 L3 캐시 + DDR 컨트롤러 Job Ring 디스크립터 저장 크립토 엔진 CAAM / OCTEON CPT AES·SHA·RSA·ECC HW 코어 내부 인터커넥트 (AXI / ACE-Lite / AMBA) Job Ring (입력) 작업 디스크립터 큐 Job Ring (출력) 완료 디스크립터 큐 네트워크 포트 SoC 내장 GbE / 10GbE ① 작업 제출 ② HW 처리 ③ 완료 내부 버스 지연: ~1-5μs (PCIe 대비 5-10배 짧음)

대표 하드웨어:

Device Tree 바인딩 예시 (NXP CAAM):

/* NXP Layerscape SoC — CAAM Device Tree 바인딩 */
crypto@1700000 {
    compatible = "fsl,sec-v5.4", "fsl,sec-v5.0",
                 "fsl,sec-v4.0";
    reg = <0x0 0x1700000 0x0 0x100000>;
    interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <1>;
    ranges = <0x0 0x0 0x1700000 0x100000>;

    /* Job Ring 0 */
    jr0: jr@10000 {
        compatible = "fsl,sec-v5.4-job-ring",
                     "fsl,sec-v4.0-job-ring";
        reg = <0x10000 0x10000>;
        interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
    };
    /* Job Ring 1 */
    jr1: jr@20000 {
        compatible = "fsl,sec-v5.4-job-ring";
        reg = <0x20000 0x10000>;
        interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
    };
};
SoC중심 룩어사이드 장단점
장점: ① 초저지연(1-5μs) — PCIe 왕복 불필요, 내부 버스 직접 접근 ② 전력 효율 — 별도 PCIe 카드 전원 불필요, 임베디드/엣지에 최적 ③ BOM 절감 — SoC 가격에 포함, 추가 부품 불필요
단점: ① 확장 불가 — SoC에 고정된 처리량이 상한, HW 교체 없이 증설 불가 ② 처리량 한계 — 서버급 가속기(100-200 Gbps) 대비 1-20 Gbps 수준 ③ SoC 벤더 종속 — 드라이버와 DT 바인딩이 벤더별로 상이

인라인 암호화(Inline Crypto)

인라인 암호화는 가속기가 네트워크 데이터 경로(data path) 자체에 위치하여, 패킷이 NIC/SmartNIC을 통과하는 과정에서 암호화·복호화가 수행됩니다. CPU는 암호 키 설정과 SA(Security Association) 구성만 담당하고, 실제 패킷 데이터에는 전혀 관여하지 않습니다. IPSec, MACsec, kTLS(커널 TLS) 3가지 프로토콜이 인라인 오프로드의 대표적 사례입니다.

Wire In NIC / SmartNIC (Inline Crypto Engine) IPSec 경로 ESP 암호화/복호화 + Anti-replay — xfrm offload 200 Gbps MACsec 경로 IEEE 802.1AE L2 암호화 — SecTAG + ICV 처리 라인레이트 kTLS 경로 TLS 레코드 암호화 — sendfile() zero-copy 지원 100 Gbps 컨트롤 플레인(Control Plane) SA/키 설정만 CPU에서 수행 — 데이터 경로 미관여 Wire Out 호스트 CPU 키 교환·SA 관리만 키·SA 설정 패킷 데이터가 호스트 메모리를 거치지 않음 → Zero-copy, CPU 부하 0%

대표 하드웨어:

인라인 IPSec 오프로드 설정 확인(상세는 kTLS 오프로드 섹션 참조):

# NIC의 inline crypto 기능 확인
ethtool -k eth0 | grep -E "esp-hw-offload|tls-hw"
# esp-hw-offload: on        ← IPSec inline 지원
# tls-hw-tx-offload: on     ← kTLS TX inline 지원
# tls-hw-rx-offload: on     ← kTLS RX inline 지원

# xfrm (IPSec) offload 설정 — SA에 offload 플래그 추가
ip xfrm state add src 10.0.0.1 dst 10.0.0.2 \
    proto esp spi 0x100 reqid 1 mode tunnel \
    aead "rfc4106(gcm(aes))" 0x$(xxd -l 20 -p /dev/urandom) 128 \
    offload dev eth0 dir out    # ← inline offload 핵심 옵션

# offload 상태 확인
ip xfrm state show | grep -A2 offload
인라인 암호화 장단점
장점: ① Zero-copy — 패킷 데이터가 호스트 메모리를 거치지 않아 CPU 부하 0% ② 라인레이트 — NIC ASIC이 와이어 속도로 처리, 100-400 Gbps 가능 ③ 극소 지연(~1μs 이하) — 데이터 경로에 직접 삽입
단점: ① 프로토콜 고정 — NIC 펌웨어(Firmware)가 지원하는 프로토콜(IPSec/MACsec/kTLS)만 가능 ② SA 수 제한 — NIC TCAM/메모리에 따라 SA 수천~수만 개 상한 ③ SSL Inspection 불가 — TLS 핸드셰이크·DPI는 인라인으로 처리할 수 없음 (lookaside 필수)

3종 아키텍처 종합 비교

CPU중심 룩어사이드 CPU PCIe Bus PCIe 가속기 QAT / NITROX 지연: 10-50μs 처리량: 100-200 Gbps 확장: PCIe 슬롯 추가 SoC중심 룩어사이드 CPU AXI / AMBA 내장 크립토 CAAM / OCTEON 지연: 1-5μs 처리량: 1-100 Gbps 확장: SoC 교체 필요 인라인 암호화 CPU (미관여) NIC Inline Engine ConnectX-7 / E810 IPSec · MACsec · kTLS 데이터 경로 직접 처리 지연: <1μs 처리량: 라인레이트 확장: NIC 교체/추가 Wire Wire 지연 시간 스펙트럼 <1μs 1-5μs 10-50μs 50-200μs (SW) Inline SoC Lookaside CPU Lookaside SW Fallback 빠름 ← → 느림
항목CPU중심 룩어사이드SoC중심 룩어사이드인라인 암호화
가속기 위치PCIe 슬롯 (외장)SoC 다이 내부NIC/SmartNIC 데이터 경로
버스PCIe Gen4/5AXI / AMBA / ACEN/A (와이어 직접)
지연 시간10-50μs1-5μs<1μs
대칭키 처리량100-200 Gbps1-100 Gbps라인레이트 (100-400 Gbps)
CPU 오버헤드중간 (DMA 매핑 + 콜백(Callback))낮음 (Job Ring 관리)거의 없음 (SA 설정만)
프로토콜 유연성높음 (모든 crypto API 알고리즘)중간 (SoC 지원 알고리즘)낮음 (IPSec/MACsec/kTLS 고정)
확장성PCIe 슬롯 추가SoC 교체 필요NIC 교체/추가
대표 HWIntel QAT 8970/4xxx, NITROX VNXP CAAM, OCTEON CPT, CryptoCellConnectX-6 Dx/7, E810, Pensando DSC
주요 Linux 드라이버qat_4xxx, nitroxcaam, octeontx2-cpt, ccreemlx5_core, ice
주요 용도SSL 프록시, HSM, 대량 핸드셰이크임베디드 라우터, CPE, IoT 게이트웨이데이터센터 IPSec VPN, CDN kTLS

하드웨어별 아키텍처 분류 상세:

하드웨어아키텍처 분류버스대칭키 처리량RSA-2048 ops/sLinux 드라이버
Intel QAT 8970CPU중심 LookasidePCIe Gen3 x16200 Gbps140Kqat_c62x
Intel QAT 4xxx (SPR 내장)CPU중심 LookasidePCIe 도메인100 Gbps100Kqat_4xxx
Marvell NITROX VCPU중심 LookasidePCIe Gen3 x16100 Gbps100Knitrox
NXP CAAMSoC중심 LookasideAXI (SoC 내부)10-20 Gbps10Kcaam
Marvell OCTEON CPTSoC중심 LookasideAMBA (SoC 내부)100 Gbps50Kocteontx2-cpt
Broadcom SPUSoC중심 LookasideAXI (SoC 내부)10 Gbps10Kbcm_crypto_spu
ARM CryptoCellSoC중심 LookasideAHB (SoC 내부)1-5 Gbps5Kccree
NVIDIA ConnectX-7InlineN/A (와이어)400 GbpsN/Amlx5_core
Intel E810InlineN/A (와이어)100 GbpsN/Aice
AMD Pensando DSC-200InlineN/A (와이어)200 GbpsN/Aionic

리눅스 커널 Crypto API 매핑

리눅스 커널의 다양한 암호화 서브시스템은 3종 아키텍처를 각각 다른 경로로 활용합니다. 아래 표는 주요 서브시스템별 매핑을 보여줍니다:

서브시스템CPU중심 LookasideSoC중심 LookasideInline
crypto API
/proc/crypto
qat_aes_gcm (pri=4001)
비동기 aead/skcipher
caam-aes-gcm (pri=3000)
비동기 Job Ring
미사용 (데이터 경로 직접)
xfrm (IPSec)
ip xfrm
crypto API 경유
SW ESP + HW 암호화
crypto API 경유
SW ESP + HW 암호화
xfrm_offload
NIC이 ESP 전체 처리
kTLS
setsockopt(SOL_TLS)
미사용 (SW kTLS만)미사용 (SW kTLS만)tls_device_offload
NIC TX/RX 오프로드
MACsec
ip macsec
미사용미사용macsec_offload
NIC L2 암호화
dm-crypt
디스크 암호화
crypto API 경유crypto API 경유미사용

커널 crypto API의 우선순위 기반 자동 선택(fallback chain):

# /proc/crypto에서 동일 알고리즘의 우선순위 확인
# 우선순위가 높은 드라이버가 자동 선택됨
$ grep -B1 -A5 "gcm(aes)" /proc/crypto

name         : gcm(aes)
driver       : qat_aes_gcm           # ← QAT 가속기 (CPU중심 Lookaside)
priority     : 4001                    # ← 최우선
async        : yes

name         : gcm(aes)
driver       : caam-gcm-aes           # ← CAAM (SoC중심 Lookaside)
priority     : 3000
async        : yes

name         : gcm(aes)
driver       : generic-gcm-aesni      # ← CPU AES-NI (SW fallback)
priority     : 400
async        : no

# Fallback chain: QAT(4001) → CAAM(3000) → AES-NI(400) → generic(100)
# 가속기 장애 시 자동으로 다음 우선순위 드라이버로 전환

암호화 완료 모델: 동기·비동기·폴링(Polling)

커널 crypto API에서 암호화 요청이 HW 가속기에 제출된 뒤 결과를 수신하는 방식은 크게 3가지로 나뉩니다: 동기(Synchronous), 비동기 인터럽트(Asynchronous Interrupt), 비동기 폴링. 각 모델은 지연 시간, CPU 활용률, 처리량 특성이 근본적으로 다르며, NGFW의 성능 프로파일을 결정하는 핵심 요소입니다.

동기 처리(Synchronous)

동기 모델에서 CPU는 암호화 함수를 호출한 뒤 결과가 반환될 때까지 블로킹됩니다. CPU 자체의 AES-NI/ARMv8-CE 명령어로 처리하는 경우가 대표적이며, 함수 호출과 반환이 동일 컨텍스트에서 완료됩니다.

/* 동기(Synchronous) 처리 — CPU 명령어(AES-NI) 직접 실행 */
struct skcipher_request *req = skcipher_request_alloc(tfm, GFP_KERNEL);
skcipher_request_set_crypt(req, src_sg, dst_sg, len, iv);

/* 콜백 없이 직접 호출 — 반환 시 이미 완료 */
ret = crypto_skcipher_encrypt(req);
/* ret == 0: 즉시 완료 (동기)
 * CPU AES-NI의 경우 /proc/crypto에서 async: no 표시 */

if (ret == 0) {
    /* 암호화 완료 — 결과가 dst_sg에 이미 기록됨 */
    process_encrypted_packet(dst_sg);
}
skcipher_request_free(req);
동기 모델의 특성: CPU가 암호화 연산을 직접 실행하므로 함수 호출 오버헤드 최소(DMA 매핑·인터럽트 없음)이지만, 연산 동안 해당 CPU 코어가 100% 점유됩니다. /proc/crypto에서 async: no로 표시되는 알고리즘이 이에 해당합니다. 소형 패킷(64-256B)에서는 HW 가속기의 DMA 셋업 오버헤드보다 빠를 수 있습니다.
비동기 인터럽트 처리(Asynchronous Interrupt-Driven)

비동기 인터럽트 모델은 커널 crypto API에서 가장 일반적인 HW 가속기 활용 패턴입니다. CPU가 요청을 가속기의 submission ring에 큐잉하면 즉시 반환되고, 가속기가 처리를 완료하면 인터럽트(IRQ)를 발생시켜 등록된 콜백 함수를 호출합니다.

암호화 완료 모델 3종 타임라인 비교 요청 제출 HW 처리 중 완료 ① 동기 (AES-NI) CPU 블로킹 (AES-NI 명령어 실행) ret = 0 ② 비동기 (인터럽트) 제출+DMA CPU 해방 (다른 패킷 처리 가능) -EINPROGRESS 가속기 HW 처리 (DMA → 암호화 → DMA) IRQ 콜백 완료 통보 ③ 비동기 (폴링) 제출+DMA -EINPROGRESS P P P P 가속기 HW 처리 완료! 처리 완료 P = completion ring 확인 (인터럽트 없음) 패킷당 지연 동기: 높음 (CPU 점유) 비동기IRQ: 중간 (IRQ 지연) 폴링: 최소 (즉시 감지) 처리량 (높을수록 좋음) 동기 비동기IRQ 폴링 CPU 오버헤드 동기: 100% (블로킹) IRQ: 최소 (콜백만) 폴링: 중간 (주기적 확인) 최적 시나리오 동기: 소형 패킷, SW 전용, 단순 암호화 IRQ: 범용 HW 가속, 대용량 배치 처리 폴링: 초저지연 NGFW, DPDK 연동

커널 crypto API에서 비동기 요청의 반환값 의미와 콜백 처리 흐름:

/*
 * crypto API 반환값 — 완료 모델을 결정하는 핵심
 *
 *  0            : 동기 완료 — 결과가 이미 준비됨
 * -EINPROGRESS  : 비동기 처리 시작됨 — 콜백으로 완료 통보 예정
 * -EBUSY        : 백로그(backlog) 큐에 진입 — 큐 공간 확보 후 처리 예정
 * -ENOSPC       : 큐 가득 참(백로그 미허용 시) — 호출자가 재시도해야 함
 * 기타 음수     : 오류 (키 설정 오류, 메모리 부족 등)
 */

/* ── 비동기 콜백 구조체 ── */
struct crypto_async_result {
    struct completion completion;   /* wait_for_completion() 대상 */
    int err;                        /* 콜백에서 설정되는 최종 에러 코드 */
};

/* ── 콜백 함수 — 가속기 인터럽트 핸들러에서 호출됨 ── */
static void crypto_op_complete(void *data, int err)
{
    struct crypto_async_result *result = data;
    /*
     * err == 0        : 암호화 성공
     * err == -EINPROGRESS : 백로그에서 꺼내어 처리 시작
     *                       (CRYPTO_TFM_REQ_MAY_BACKLOG 설정 시)
     * err < 0 (기타)  : HW 오류
     */
    if (err == -EINPROGRESS)
        return;  /* 아직 완료 아님 — 실제 완료 시 다시 호출됨 */

    result->err = err;
    complete(&result->completion);  /* 대기 중인 스레드 깨움 */
}

/* ── 요청 제출 — CRYPTO_TFM_REQ_MAY_BACKLOG 플래그 상세 ── */
struct aead_request *req = aead_request_alloc(tfm, GFP_ATOMIC);
aead_request_set_callback(req,
    CRYPTO_TFM_REQ_MAY_BACKLOG |   /* 큐 가득 차도 백로그 허용 */
    CRYPTO_TFM_REQ_MAY_SLEEP,      /* 콜백에서 sleep 가능 (프로세스 컨텍스트) */
    crypto_op_complete, &result);
aead_request_set_crypt(req, src_sg, dst_sg, payload_len, iv);
aead_request_set_ad(req, assoclen);

ret = crypto_aead_encrypt(req);
switch (ret) {
case 0:
    /* 동기 완료 — SW fallback이 선택된 경우 또는
     * 가속기가 즉시 처리 완료한 경우 */
    process_result(req);
    break;

case -EINPROGRESS:
    /* 비동기 처리 시작 — 가속기가 DMA로 데이터 전송 중
     * 완료 시 crypto_op_complete() 콜백 호출됨 */
    break;

case -EBUSY:
    /* 가속기 큐 가득 참 + 백로그에 진입
     * CRYPTO_TFM_REQ_MAY_BACKLOG 덕분에 거부되지 않음
     * 콜백이 두 번 호출됨:
     *   1차: err=-EINPROGRESS (백로그→실제 큐 이동 시)
     *   2차: err=0 (처리 완료 시) */
    break;

default:
    /* 오류 — 키 미설정, 메모리 부족, HW 장애 등 */
    pr_err("crypto op failed: %d\n", ret);
    break;
}

백로그(Backlog) 큐 동작 상세:

┌─────────────────────────────────────────────────────────┐
│              가속기 Submission Ring (크기: 512)            │
│  [req1] [req2] [req3] ... [req510] [req511] [req512]    │
│  ← 가득 참 (new request 도착)                            │
└─────────────────────────────────────────────────────────┘
                         │
    ┌────────────────────┼────────────────────┐
    │ MAY_BACKLOG 미설정  │  MAY_BACKLOG 설정   │
    ▼                    │                    ▼
 -ENOSPC 반환            │              -EBUSY 반환
 (호출자가 재시도)        │         (백로그 큐에 진입)
                         │                    │
                         │    ┌───────────────┘
                         │    ▼
                         │  Backlog Queue
                         │  [req513] [req514] ...
                         │    │
                         │    │  Ring 슬롯 빌 때
                         │    ▼
                         │  콜백(err=-EINPROGRESS)
                         │  → 실제 큐로 이동
                         │    │
                         │    │  HW 처리 완료
                         │    ▼
                         │  콜백(err=0)
                         │  → 최종 완료
                         └────────────────────
비동기 폴링 처리(Asynchronous Polling)

비동기 폴링 모델에서는 인터럽트 대신 CPU가 주기적으로 completion ring(또는 상태 레지스터(Register))을 직접 확인합니다. 인터럽트 발생·처리·컨텍스트 전환 오버헤드를 제거하여 초저지연을 달성할 수 있지만, 폴링 동안 CPU 사이클을 소모합니다.

커널 6.0+에서 도입된 crypto_engine 폴링 모드와 DPDK 환경의 busy-polling이 대표적입니다:

인터럽트 방식 — 완료 감지 타이밍 상세 CPU 요청 제출 다른 작업 수행 가능 (CPU 해방) HW DMA↓ 암호화 연산 DMA↑ IRQ ISR softirq 콜백 실행 ~2-5μs 오버헤드 총 지연: HW 처리 시간 + IRQ 오버헤드 + 콜백 실행 폴링 방식 — 완료 감지 타이밍 상세 CPU 요청 제출 P₁ P₂ P₃ P₄ Hit! 결과 처리 HW DMA↓ 암호화 연산 DMA↑ CQ 기록 IRQ 없음! 폴링 사이클 (간격: ~1-10μs) 총 지연: HW 처리 시간 + 최대 1 폴링 간격 (IRQ 오버헤드 제거) 완료 감지 지연 비교 인터럽트: HW 처리 IRQ 지연 콜백 → 총 ~15-55μs 폴링: HW 처리 poll → 총 ~11-15μs 폴링으로 IRQ 대비 30-70% 지연 감소

커널 crypto_engine 폴링 모드 — 커널 6.0+에서 struct crypto_engine은 가속기 드라이버에 폴링 기반 완료 처리를 지원합니다:

/*
 * crypto_engine 폴링 모드 (커널 6.0+)
 * drivers/crypto/crypto_engine.c
 *
 * 기본 인터럽트 모드 대비 폴링 모드 전환 조건:
 * 1. 고처리량 시나리오 (인터럽트 스톰 방지)
 * 2. 초저지연 요구 (IRQ 컨텍스트 전환 제거)
 */

/* ── 드라이버에서 폴링 모드 지원 등록 ── */
struct crypto_engine *engine;
engine = crypto_engine_alloc_init(dev, true);  /* rt=true: 실시간 우선순위 */

/* 폴링 기반 완료 처리 — 전용 kthread가 CQ를 확인 */
static int hw_accel_poll_completions(struct crypto_engine *engine)
{
    struct hw_completion_ring *cq = engine->priv;
    int completed = 0;

    /* completion ring의 유효한 엔트리를 순회 */
    while (cq->head != cq->tail) {
        struct crypto_async_request *req;
        struct hw_cq_entry *entry = &cq->entries[cq->head];

        /* 완료 여부 확인 (HW가 done 비트 설정) */
        if (!(READ_ONCE(entry->flags) & HW_CQ_DONE))
            break;

        req = entry->async_req;
        /* DMA 매핑 해제 */
        dma_unmap_sg(dev, req->src, sg_nents(req->src),
                     DMA_BIDIRECTIONAL);

        /* 콜백 호출 — 인터럽트 컨텍스트가 아닌
         * kthread 컨텍스트에서 실행 */
        crypto_finalize_request(engine, req, 0);

        cq->head = (cq->head + 1) % cq->ring_size;
        completed++;
    }
    return completed;
}

/*
 * 인터럽트 vs 폴링 전환 (적응형 모드)
 * 처리량이 임계치를 초과하면 자동으로 폴링 전환
 */
static irqreturn_t hw_accel_irq_handler(int irq, void *data)
{
    struct hw_accel_dev *hdev = data;

    if (hdev->completions_per_sec > POLL_THRESHOLD) {
        /* 고처리량 → 인터럽트 비활성화 + 폴링 모드 전환 */
        disable_irq_nosync(irq);
        hdev->polling = true;
        /* kthread가 폴링 루프 시작 */
        wake_up_process(hdev->poll_thread);
        return IRQ_HANDLED;
    }
    /* 일반 모드 — 인터럽트 기반 완료 */
    return hw_accel_process_irq(hdev);
}

DPDK / 유저스페이스 busy-polling — NGFW에서 DPDK 기반 데이터 플레인(VPP, Suricata AF_XDP)을 사용할 경우:

/*
 * DPDK cryptodev 폴링 모드 — 유저스페이스 busy-polling
 * rte_cryptodev_dequeue_burst()로 완료된 작업 수집
 */

/* 1. 암호화 요청 배치 제출 (enqueue) */
uint16_t enqueued = rte_cryptodev_enqueue_burst(
    cdev_id,        /* crypto device ID */
    qp_id,          /* queue pair */
    crypto_ops,     /* 요청 배열 */
    nb_ops          /* 배치 크기 (32-256) */
);

/* 2. busy-polling으로 완료 수집 (dequeue) */
uint16_t dequeued;
do {
    dequeued = rte_cryptodev_dequeue_burst(
        cdev_id, qp_id,
        completed_ops,  /* 완료된 요청 배열 */
        MAX_BURST       /* 최대 수집 수 */
    );
    /*
     * dequeued == 0: 아직 완료된 작업 없음 → 재폴링
     * 인터럽트·컨텍스트 전환 없이 즉시 재확인
     * → 지연 최소화, 단 CPU 100% 사용
     */
} while (dequeued == 0);

/* 3. 완료된 작업 처리 */
for (int i = 0; i < dequeued; i++) {
    if (completed_ops[i]->status ==
        RTE_CRYPTO_OP_STATUS_SUCCESS) {
        /* 암호화 완료 — 다음 파이프라인 단계로 전달 */
        forward_packet(completed_ops[i]->sym->m_dst);
    }
}
완료 모델 종합 비교
항목동기(Synchronous)비동기 인터럽트(Async IRQ)비동기 폴링
완료 감지 방식함수 반환 (ret == 0)IRQ → softirq → 콜백CPU가 completion ring 직접 확인
반환값0 (즉시 완료)-EINPROGRESS-EINPROGRESS
CPU 동작블로킹 (연산 직접 수행)해방 (콜백 대기)폴링 루프 (주기적 확인)
패킷당 지연~0.5-2μs (AES-NI)
~5-20μs (SW SHA)
HW처리 + IRQ 2-5μsHW처리 + 최대 1 폴링간격
초당 처리량CPU 코어 × 클럭 한계높음 (CPU 병렬 활용)최고 (IRQ 제거 + 배치)
CPU 오버헤드100% (코어 점유)최소 (콜백 시만)중간 (폴링 사이클)
인터럽트 부하없음높음 (요청당 1회)없음
배치 처리불가가능 (NAPI식 coalescing)최적 (burst dequeue)
컨텍스트호출자 컨텍스트softirq / taskletkthread / 유저스페이스
/proc/crypto 표시async: noasync: yesasync: yes
대표 드라이버aesni-intel, ghash-clmulniqat_4xxx, caam, nitroxDPDK cryptodev, QAT UIO
최적 시나리오소형 패킷, 단순 대칭키
SW 전용 환경
범용 HW 가속
SSL Inspection 핸드셰이크
초저지연 NGFW
DPDK/VPP 데이터 플레인
적응형 인터럽트 병합과 하이브리드 폴링

실무 NGFW에서는 순수 인터럽트나 순수 폴링이 아닌, 트래픽 부하에 따라 동적으로 전환하는 적응형(adaptive) 모델을 사용합니다. 리눅스 커널 NAPI(New API)가 네트워크 드라이버에서 사용하는 것과 동일한 원리입니다:

                     트래픽 부하
        낮음 ◀──────────────────────────▶ 높음
        ┌───────────┬───────────┬──────────────┐
 완료   │ 인터럽트   │ 인터럽트   │    폴링      │
 감지   │ (즉시)     │ (병합)    │ (busy-poll)  │
 방식   │           │           │              │
        ├───────────┼───────────┼──────────────┤
 IRQ    │ 요청당     │ N개 묶음  │   비활성화    │
 빈도   │ 1회       │ (coalesce)│   (0회)      │
        ├───────────┼───────────┼──────────────┤
 CPU    │ 최소       │ 낮음      │   전용 코어   │
 사용   │           │           │   100%       │
        ├───────────┼───────────┼──────────────┤
 지연   │ ~5μs      │ ~10-30μs  │   <1μs       │
        │           │ (병합     │   (즉시      │
        │           │  대기시간) │    감지)     │
        └───────────┴───────────┴──────────────┘

        ◀─ 유휴 시    적응형 전환 ──────▶ 포화 시
/*
 * 적응형 인터럽트/폴링 전환 — NAPI식 crypto 완료 처리
 * 고처리량 시 인터럽트 스톰을 방지하고 배치 처리 효율 극대화
 */
#define POLL_BUDGET      64    /* 한 번의 폴링에서 최대 처리 수 */
#define IRQ_TO_POLL_THRESH  1000  /* IRQ/초 임계치 → 폴링 전환 */
#define POLL_TO_IRQ_THRESH  100   /* 폴링 공회전 → IRQ 복귀 */

/* ── 인터럽트 핸들러: 고부하 감지 시 폴링 전환 ── */
static irqreturn_t crypto_irq_handler(int irq, void *data)
{
    struct crypto_hw_queue *q = data;

    q->irq_count++;

    if (q->irq_count > IRQ_TO_POLL_THRESH) {
        /* 인터럽트 빈도 과다 → 폴링 모드 전환 */
        disable_irq_nosync(irq);
        q->mode = CRYPTO_MODE_POLL;
        napi_schedule(&q->napi);   /* 폴링 스케줄링 */
        return IRQ_HANDLED;
    }

    /* 일반 모드: 개별 완료 처리 */
    crypto_process_completions(q, 1);
    return IRQ_HANDLED;
}

/* ── NAPI식 폴링 핸들러 ── */
static int crypto_napi_poll(struct napi_struct *napi, int budget)
{
    struct crypto_hw_queue *q =
        container_of(napi, struct crypto_hw_queue, napi);
    int completed = 0;

    /* completion ring에서 완료된 항목 배치 수집 */
    completed = crypto_poll_completions(q, budget);

    if (completed < budget) {
        /*
         * 배치 미달 → 트래픽 감소 감지
         * 폴링 종료 + 인터럽트 복원
         */
        q->idle_polls++;
        if (q->idle_polls > POLL_TO_IRQ_THRESH) {
            napi_complete(napi);
            q->mode = CRYPTO_MODE_IRQ;
            q->irq_count = 0;
            q->idle_polls = 0;
            enable_irq(q->irq_num);  /* 인터럽트 복원 */
        }
    } else {
        q->idle_polls = 0;  /* 배치 꽉 참 → 계속 폴링 */
    }
    return completed;
}

인터럽트 병합(Interrupt Coalescing) 설정 — QAT 가속기 예시:

# QAT 인터럽트 병합 설정
# /etc/sysconfig/qat 또는 sysfs 경로

# 병합 타이머: N μs 동안 완료를 모아서 단일 IRQ 발생
echo 10 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/irq_coal_timer_ns
# 10μs 간격 → 초당 최대 100K IRQ (vs 병합 없이 수백만)

# 병합 카운트: N개 완료마다 IRQ 1회
echo 32 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/irq_coal_count
# 32개 완료 묶음 → IRQ 횟수 1/32로 감소

# 현재 모드 확인
cat /sys/kernel/debug/qat_4xxx_0000:6b:00.0/irq_mode
# adaptive / timer / count / poll

# ethtool로 NIC crypto 인터럽트 병합 설정 (ConnectX-7)
ethtool -C eth0 rx-usecs 10 tx-usecs 10
# 10μs 간격으로 RX/TX 인터럽트 병합
NGFW 시나리오별 완료 모델 선택 가이드
① SSL Inspection 프록시: 비동기 인터럽트 — RSA/ECDHE 핸드셰이크는 연산 시간이 길어(~ms) 폴링의 CPU 낭비가 큼. QAT의 인터럽트 병합(32개 묶음)으로 IRQ 부하를 제어하면서 CPU를 DPI에 할당.
② IPSec VPN 게이트웨이(100G+): 인라인(NIC 직접 처리)이 이상적이나, lookaside 사용 시 비동기 폴링 — 소형 ESP 패킷 대량 처리에서 IRQ 스톰 방지와 초저지연 달성.
③ DPDK/VPP 데이터 플레인: busy-polling 전용 — 전용 CPU 코어에서 rte_cryptodev_dequeue_burst() 무한 루프. IRQ 완전 비활성화로 최대 처리량.
④ 임베디드 CPE(1-10G): 비동기 인터럽트 — 전력 제약으로 폴링의 CPU 100% 점유 불가. SoC CAAM Job Ring 인터럽트가 최적.
⑤ 적응형 NGFW: 인터럽트 + 폴링 자동 전환 — 유휴 시 인터럽트(전력 절약), 포화 시 폴링(최대 성능). ethtool -C adaptive 모드 활성화.

아키텍처 선택 가이드

시나리오별로 최적의 암호화 오프로드 아키텍처를 선택하는 기준:

시나리오추천 아키텍처근거
데이터센터 IPSec VPN
사이트 간 100G+ 터널(Tunnel)
인라인 (ConnectX-7, E810)라인레이트 ESP 처리, CPU 부하 0%, SA 수 충분
SSL/TLS 프록시 (NGFW)
수만 CPS 핸드셰이크
CPU중심 Lookaside (QAT)RSA/ECDHE 비대칭 연산 대량 처리, SR-IOV 멀티테넌트
CDN / 웹서버 kTLS
sendfile() 대량 전송
인라인 (ConnectX-6 Dx)TLS 레코드 zero-copy TX, sendfile() 성능 극대화
임베디드 라우터 / CPE
1-10G IPSec, 저전력
SoC중심 Lookaside (CAAM)추가 HW 불필요, 저전력, BOM 최소화
IoT 게이트웨이
TLS 종단, 저전력
SoC중심 Lookaside (CryptoCell)TrustZone 연동 키 보호, mW급 전력
클라우드 VM 암호화
VM별 격리 필요
CPU중심 Lookaside (QAT VF)SR-IOV VF per VM, 격리된 crypto 인스턴스
MACsec L2 보안
DC 패브릭 암호화
인라인 (ConnectX-7)L2 와이어스피드 암호화, NIC에서 완전 처리
디스크 암호화 (dm-crypt)CPU중심 or SoC중심 Lookasidecrypto API 경유, 블록 단위 비동기 처리
하이브리드 전략: 실무에서는 단일 아키텍처만 사용하는 경우가 드뭅니다. 예를 들어 NGFW 어플라이언스에서 IPSec bulk 암호화는 인라인(NIC), SSL Inspection 핸드셰이크는 CPU중심 룩어사이드(QAT), SoC 내장 엔진은 관리 플레인 TLS로 3종을 동시에 활용하는 것이 일반적입니다. 관련 HW 스펙 상세는 전용 크립토 가속기 섹션, kTLS 오프로드 상세는 kTLS HW 오프로드 섹션을 참조하세요.

하드웨어 이벤트 스케줄러 (Intel DLB / Marvell SSO)

NGFW 데이터 플레인에서 수백만 플로우를 다수의 CPU 코어에 효율적으로 분배하는 것은 핵심 과제입니다. RSS(Receive Side Scaling)는 해시(Hash) 기반 정적 분배만 가능하여 코어 간 부하 불균형이 발생하고, 소프트웨어 큐 관리는 잠금 경합(Lock Contention)과 캐시(Cache) 바운싱 오버헤드를 유발합니다. 하드웨어 이벤트 스케줄러는 이 문제를 전용 ASIC/SoC 블록으로 해결합니다.

대표적인 HW 이벤트 스케줄러로 Intel의 DLB(Dynamic Load Balancer)와 Marvell의 SSO(Schedule/Synchronize/Order)가 있으며, 둘 다 원자적(Atomic) 플로우 스케줄링, 순서 보장(Ordering), 동적 부하 분산(Load Balancing)을 하드웨어 수준에서 제공합니다.

이벤트 스케줄러 핵심 개념

HW 이벤트 스케줄러는 패킷을 직접 전달하지 않고, 이벤트(Event) 단위로 작업을 추상화합니다. 하나의 이벤트는 패킷 도착, 타이머(Timer) 만료, 크립토 완료 등 다양한 소스에서 발생하며, 스케줄러가 이를 워커 코어(Worker Core)에 분배합니다.

하드웨어 이벤트 스케줄러 아키텍처 개요 이벤트 소스 NIC RX 패킷 수신 이벤트 Crypto 완료 암복호화 완료 Timer 세션 타임아웃 SW 이벤트 파이프라인 단계 전달 HW 이벤트 스케줄러 Intel DLB / Marvell SSO Atomic 큐 Ordered 큐 Parallel 큐 스케줄링 로직 플로우 해시 매칭 부하 균형 분배 순서 보장 (reorder) 원자성 보장 (lock-free) Atomic: 동일 플로우 → 동일 코어 (lock-free) Ordered: 병렬 처리 후 원래 순서로 재정렬 워커 코어 Core 0: 방화벽 룰 conntrack + ACL Core 1: IPS/DPI Suricata 시그니처 Core 2: 암호화 SSL/TLS 복호화 Core 3: NAT/QoS NAT rewrite + 큐잉 Core N: 동적 할당 부하에 따라 확장 3종 스케줄링 모드 비교 Atomic (원자적) 동일 flow_id → 동일 코어 한 번에 하나만 처리 (lock-free) 용도: conntrack, NAT 상태 갱신 세션별 순서 보장 필수 시 락 경합 제거 ✓ Ordered (순서 보장) 여러 코어에서 병렬 처리 출력 시 원래 순서로 재정렬 용도: IPSec ESP 암복호화 패킷 순서 유지 + 병렬 처리 HW 재정렬 버퍼 ✓ Parallel (병렬) 순서·원자성 제약 없음 최대 처리량 (fan-out) 용도: 무상태 패턴 매칭 AV 스캔, 로깅, 통계 수집 최대 병렬성 ✓

3종 스케줄링 모드가 NGFW 파이프라인에서 각각 다른 단계에 적용됩니다:

스케줄링 모드동작 방식NGFW 적용 단계핵심 보장
Atomic동일 flow_id의 이벤트가 동시에 하나의 코어에서만 처리됨. 다른 코어는 해당 플로우를 볼 수 없음conntrack 갱신, NAT 상태 변경, 세션 테이블 writeLock-free 상호 배제(Mutual Exclusion)
Ordered여러 코어에서 병렬 처리하되, 출력 시 입력 순서대로 HW가 재정렬IPSec ESP 암복호화, TCP 스트림 재조립, QoS 큐잉패킷 순서 보장 + 병렬 처리
Parallel순서·원자성 제약 없이 가용한 코어에 즉시 분배IPS 시그니처 매칭, AV 스캔, 로깅, 미러링최대 처리량

Intel DLB (Dynamic Load Balancer)

Intel DLB(이전 명칭 HQM — Hardware Queue Manager)는 4th Gen Xeon(SPR) 이후 CPU에 내장된 하드웨어 이벤트 스케줄러입니다. PCIe 디바이스로도 출시되었으며(DLB 2.0/2.5), DPDK eventdev 라이브러리를 통해 VPP, DPDK 기반 NGFW, Open vSwitch 등에서 활용됩니다.

Intel DLB 2.5 내부 아키텍처 Producer NIC RX Core DPDK rte_eth_rx Crypto 완료 QAT dequeue Timer 이벤트 세션 만료 DLB 2.5 HW Engine Credit 관리기 흐름 제어 (배압) Directed Port/Queue LB QID (Queue ID) QID 0: Atomic (FW) QID 1: Ordered (Crypto) QID 2: Parallel (IPS) 최대 128 QID 스케줄링 엔진 • 플로우 해시 → 코어 매핑 • Atomic lock 관리 • Reorder 버퍼 (Ordered) • Credit 기반 배압 (backpressure) • 부하 균형 (WRR 가중치) CQ (Consumer Queue) — 워커별 1개 CQ 0 CQ 1 CQ 2 CQ 3 CQ 인터럽트 또는 폴링으로 이벤트 수신 (최대 64 CQ) Consumer (Worker) Worker Core 0-N DPDK eventdev poll DLB 2.5: 96 QID × 64 CQ, 4K 플로우 추적, ~200ns 스케줄링 지연

DLB 핵심 사양:

항목DLB 1.0 (PCIe)DLB 2.0 (SPR 내장)DLB 2.5 (EMR/GNR)
QID (Queue ID)326496
CQ (Consumer Queue)646464
Directed Port646496
플로우 추적2K4K4K
스케줄링 지연~300ns~200ns~200ns
이벤트 처리량~200M events/s~400M events/s~500M events/s
Credit 풀8K8K16K
Linux 드라이버dlb (out-of-tree)dlb2 (커널 5.18+)dlb2 (커널 6.2+)
SR-IOV VF161616

DLB의 핵심 구성 요소:

DPDK eventdev를 통한 DLB 설정과 NGFW 파이프라인 구성:

/*
 * DPDK eventdev API로 DLB 기반 NGFW 파이프라인 구성
 * rte_event_dev → rte_event_queue → rte_event_port 매핑
 */
#include <rte_eventdev.h>
#include <rte_event_eth_rx_adapter.h>
#include <rte_event_crypto_adapter.h>

/* 1. DLB eventdev 초기화 */
struct rte_event_dev_config dev_conf = {
    .nb_event_queues = 4,        /* QID 4개 (FW/IPS/Crypto/TX) */
    .nb_event_ports = 8,         /* 워커 코어 8개 */
    .nb_events_limit = 4096,     /* 최대 동시 이벤트 수 */
    .nb_event_queue_flows = 1024,/* 플로우 해시 엔트리 수 */
    .nb_event_port_dequeue_depth = 32,
    .nb_event_port_enqueue_depth = 32,
};
rte_event_dev_configure(evdev_id, &dev_conf);

/* 2. 파이프라인 단계별 QID 설정 */
struct rte_event_queue_conf q_conf;

/* QID 0: 방화벽 (Atomic — conntrack 상태 보호) */
q_conf.schedule_type = RTE_SCHED_TYPE_ATOMIC;
q_conf.priority = RTE_EVENT_DEV_PRIORITY_HIGHEST;
q_conf.nb_atomic_flows = 1024;   /* 동시 추적 플로우 수 */
rte_event_queue_setup(evdev_id, 0, &q_conf);

/* QID 1: IPSec 암복호화 (Ordered — 순서 보장 + 병렬) */
q_conf.schedule_type = RTE_SCHED_TYPE_ORDERED;
q_conf.priority = RTE_EVENT_DEV_PRIORITY_NORMAL;
rte_event_queue_setup(evdev_id, 1, &q_conf);

/* QID 2: IPS/DPI (Parallel — 최대 처리량) */
q_conf.schedule_type = RTE_SCHED_TYPE_PARALLEL;
rte_event_queue_setup(evdev_id, 2, &q_conf);

/* QID 3: TX (Directed — 특정 TX 코어로 직접 전달) */
/* Directed는 별도 API로 설정 */

/* 3. 워커 포트 설정 — 각 코어에 CQ 바인딩 */
struct rte_event_port_conf p_conf = {
    .dequeue_depth = 32,
    .enqueue_depth = 32,
    .new_event_threshold = 128,  /* credit 기반 배압 임계치 */
};
for (int i = 0; i < 8; i++) {
    rte_event_port_setup(evdev_id, i, &p_conf);
    /* 포트 i → QID 0,1,2 매핑 (어떤 단계든 처리 가능) */
    rte_event_port_link(evdev_id, i, queues, priorities, 3);
}

/* 4. NIC RX → DLB 이벤트 어댑터 연결 */
rte_event_eth_rx_adapter_create(rx_adapter_id, evdev_id, &p_conf);
rte_event_eth_rx_adapter_queue_add(rx_adapter_id,
    eth_port_id, -1, /* 모든 RX 큐 */
    &(struct rte_event_eth_rx_adapter_queue_conf){
        .ev.queue_id = 0,    /* 첫 단계: FW QID */
        .ev.sched_type = RTE_SCHED_TYPE_ATOMIC,
        .ev.flow_id = 0,     /* RSS 해시를 flow_id로 사용 */
    });
rte_event_eth_rx_adapter_start(rx_adapter_id);

/* 5. 워커 루프 — 이벤트 수신·처리·전달 */
static void worker_loop(uint8_t port_id)
{
    struct rte_event events[32];
    while (!quit) {
        uint16_t nb = rte_event_dequeue_burst(
            evdev_id, port_id, events, 32, 0 /* no wait */);

        for (int i = 0; i < nb; i++) {
            struct rte_mbuf *pkt = events[i].mbuf;
            uint8_t cur_qid = events[i].queue_id;

            switch (cur_qid) {
            case 0: /* 방화벽 단계 — Atomic */
                if (firewall_check(pkt) == FW_PASS) {
                    /* 다음 단계(Crypto)로 전달 */
                    events[i].queue_id = 1;
                    events[i].op = RTE_EVENT_OP_FORWARD;
                } else {
                    rte_pktmbuf_free(pkt);
                    events[i].op = RTE_EVENT_OP_RELEASE;
                }
                break;

            case 1: /* IPSec 단계 — Ordered */
                ipsec_process(pkt);
                events[i].queue_id = 2;
                events[i].op = RTE_EVENT_OP_FORWARD;
                /* DLB가 자동으로 원래 순서 복원 */
                break;

            case 2: /* IPS/DPI 단계 — Parallel */
                ips_inspect(pkt);
                /* TX로 직접 전송 */
                rte_eth_tx_burst(tx_port, 0, &pkt, 1);
                events[i].op = RTE_EVENT_OP_RELEASE;
                break;
            }
        }
        rte_event_enqueue_burst(evdev_id, port_id, events, nb);
    }
}
# DLB 디바이스 확인
lspci | grep -i "dynamic load balancer"
# 6b:00.0 System peripheral: Intel Corporation
#         Dynamic Load Balancer (DLB) [8086:2710]

# 커널 드라이버 로드
modprobe dlb2
ls /dev/dlb*    # /dev/dlb0, /dev/dlb1, ...

# sysfs에서 DLB 리소스 확인
cat /sys/class/dlb2/dlb0/total_resources
# num_sched_domains: 32
# num_ldb_queues: 96
# num_ldb_ports: 64
# num_dir_ports: 96
# num_ldb_credits: 16384

# DPDK에서 DLB eventdev 바인딩
dpdk-devbind.py -b vfio-pci 0000:6b:00.0
# EAL 파라미터
--vdev=event_dlb2 --allow=0000:6b:00.0

Marvell OCTEON SSO (Schedule/Synchronize/Order)

Marvell OCTEON SSO는 OCTEON TX2/CN10K SoC에 내장된 하드웨어 이벤트 스케줄러입니다. Intel DLB와 유사한 기능을 제공하지만, SoC 내부의 모든 HW 가속기(크립토, 정규식, 압축)와 내부 버스로 직접 연동되는 것이 핵심 차이입니다. 패킷이 NIC에서 수신되면 SSO를 거쳐 CPU 코어에 분배되고, 크립토 처리 완료 후 다시 SSO로 돌아와 다음 단계 코어로 전달됩니다.

OCTEON CN10K SoC RPM 네트워크 포트 25/50/100G RX → WQE 생성 패킷 수신 시 자동으로 SSO에 이벤트 제출 WQE SSO (Schedule / Synchronize / Order) SSOW (Workslot) 코어별 1개 할당 GET_WORK / ADD_WORK SWTAG (모드 전환) GWS (Group/Queue) 최대 256 그룹 그룹별 스케줄 타입 8단계 우선순위 태그 기반 스케줄링 엔진 tag = {flow_hash, sched_type} → 코어 결정, lock-free 보장 Atomic Ordered Untagged CPU 클러스터 ARM Neoverse N2 × 24 Core 0 Core 1 Core 2 Core 3 … × 24 각 코어에 SSOW 1개 MMIO GET_WORK 폴링 이벤트 SoC 내장 HW 가속기 (SSO 직접 연동) CPT (Crypto) AES/SHA/RSA 완료 → SSO 이벤트 REE (RegEx) IPS 시그니처 매칭 완료 → SSO 이벤트 ZIP (압축) deflate/zlib 완료 → SSO 이벤트 TIM (Timer) HW 타이머 휠 만료 → SSO 이벤트 NIX TX 패킷 송신 SSO에서 직접 TX SSO 핵심 차별점: 모든 HW 가속기 완료가 자동으로 SSO 이벤트로 변환 CPU가 가속기 완료를 폴링할 필요 없음 → 완전한 이벤트 드리븐 파이프라인

SSO 핵심 사양 (CN10K 기준):

항목OCTEON TX2 (CN96xx)CN10K (CN106xx)
SSO 그룹 (큐)256256
SSOW (Workslot)코어당 1개 (최대 36)코어당 1개 (최대 24)
스케줄링 모드Atomic, Ordered, UntaggedAtomic, Ordered, Untagged
태그 비트32-bit32-bit
우선순위 레벨88
이벤트 처리량~300M events/s~500M events/s
HW 가속기 연동CPT, ZIP, TIM, REECPT, ZIP, TIM, REE, ML(추론)
Linux 드라이버octeontx2-ssopf (커널 5.14+)octeontx2-ssopf (커널 6.1+)
DPDK eventdev 지원event_octeontx2event_cnxk

SSO의 DLB 대비 핵심 차별점:

SSO를 활용한 NGFW 이벤트 드리븐 파이프라인:

/*
 * OCTEON CN10K SSO 기반 NGFW 파이프라인
 * DPDK eventdev API (event_cnxk 드라이버)
 *
 * 파이프라인: NIC RX → [SSO] → FW(Atomic) → [SSO] →
 *            CPT(Crypto) → [SSO] → IPS(Ordered) → TX
 */

/* 1. SSO 이벤트 수신 — MMIO GET_WORK */
static void sso_worker_loop(uint8_t port_id)
{
    struct rte_event ev;
    while (!quit) {
        /* SSO에서 이벤트 수신 (HW 폴링, ~10ns 지연) */
        if (rte_event_dequeue_burst(evdev_id, port_id,
                                     &ev, 1, 0) == 0)
            continue;

        struct rte_mbuf *pkt = ev.mbuf;
        uint32_t tag = ev.flow_id;  /* 플로우 해시 */

        switch (ev.queue_id) {
        case SSO_GRP_FIREWALL:  /* Atomic 모드 */
            /*
             * 동일 tag(flow)의 이벤트는 이 코어에서만 처리됨
             * → conntrack 조회/갱신에 락 불필요!
             */
            if (conntrack_lookup(tag, pkt) == CT_NEW) {
                conntrack_insert(tag, pkt);  /* lock-free */
            }
            if (!acl_check(pkt)) {
                rte_pktmbuf_free(pkt);
                ev.op = RTE_EVENT_OP_RELEASE;
                break;
            }

            /* IPSec 필요 시 → CPT(크립토)로 전달 */
            if (needs_ipsec(pkt)) {
                /*
                 * SSO → CPT 직접 전달 (CPU 미개입)
                 * CPT 완료 시 자동으로 SSO 이벤트 재생성
                 * → SSO_GRP_POST_CRYPTO 그룹으로 도착
                 */
                submit_to_cpt(pkt, SSO_GRP_POST_CRYPTO);
                ev.op = RTE_EVENT_OP_RELEASE;
            } else {
                ev.queue_id = SSO_GRP_IPS;
                ev.op = RTE_EVENT_OP_FORWARD;
                /* SWTAG: Atomic → Ordered 전환 */
                ev.sched_type = RTE_SCHED_TYPE_ORDERED;
            }
            break;

        case SSO_GRP_POST_CRYPTO:  /* CPT 완료 이벤트 */
            /*
             * CPU가 CPT를 폴링하지 않음!
             * HW가 암호화 완료 → SSO에 이벤트 자동 생성
             */
            ev.queue_id = SSO_GRP_IPS;
            ev.sched_type = RTE_SCHED_TYPE_ORDERED;
            ev.op = RTE_EVENT_OP_FORWARD;
            break;

        case SSO_GRP_IPS:  /* Ordered 모드 */
            ips_pattern_match(pkt);
            /* NIX TX로 직접 전송 — 순서 자동 보장 */
            ev.queue_id = SSO_GRP_TX;
            ev.op = RTE_EVENT_OP_FORWARD;
            break;
        }

        rte_event_enqueue_burst(evdev_id, port_id, &ev, 1);
    }
}

/* 2. HW 타이머를 이용한 세션 타임아웃 */
static void setup_session_timeout(uint32_t flow_tag,
                                   uint64_t timeout_ns)
{
    /*
     * OCTEON TIM(Timer Wheel)에 타이머 등록
     * 만료 시 SSO 이벤트로 자동 변환 → CPU 인터럽트 불필요
     */
    struct rte_event_timer tim = {
        .ev.queue_id = SSO_GRP_TIMEOUT,
        .ev.sched_type = RTE_SCHED_TYPE_ATOMIC,
        .ev.flow_id = flow_tag,
        .timeout_ticks = timeout_ns / tim_tick_ns,
        .state = RTE_EVENT_TIMER_ARMED,
    };
    rte_event_timer_arm_burst(timer_adapter_id, &tim, 1);
    /* timeout_ns 후 SSO_GRP_TIMEOUT에 이벤트 도착 */
}

DLB vs SSO 종합 비교

항목Intel DLB 2.5Marvell OCTEON SSO (CN10K)
위치Xeon CPU 내장 / PCIe 카드OCTEON SoC 내장 (ARM 기반)
스케줄링 모드Atomic, Ordered, Parallel, DirectedAtomic, Ordered, Untagged
큐 수96 QID256 그룹
워커 포트64 CQ코어당 1 SSOW (최대 24)
스케줄링 지연~200ns~50-100ns (SoC 내부)
이벤트 처리량~500M events/s~500M events/s
HW 가속기 연동CPU가 중개 필요 (SW enqueue)CPT/REE/ZIP/TIM 직접 연동 (HW 자동)
타이머SW 관리TIM HW 타이머 휠 (자동 SSO 이벤트)
태그 전환 (SWTAG)미지원 (이벤트 재제출)HW SWTAG (런타임 모드 변경)
WQESW 정의 이벤트 구조HW 정의 WQE (NIC 자동 생성)
SR-IOV16 VFSoC 내장 (가상화 제한적)
Credit 기반 배압지원 (16K credit)XAQ(External Admission Queue) 기반
DPDK 드라이버event_dlb2event_cnxk
커널 드라이버dlb2 (5.18+)octeontx2-ssopf (5.14+)
주요 타겟x86 서버, 클라우드 NGFW, 5G UPF네트워크 어플라이언스, 임베디드 DPI

NGFW 파이프라인에서의 이벤트 스케줄러 활용

기존 NGFW 데이터 플레인은 run-to-completion(단일 코어가 패킷을 끝까지 처리) 또는 SW 파이프라인(SW 큐로 단계 간 전달) 모델을 사용합니다. HW 이벤트 스케줄러는 이를 HW 파이프라인으로 대체하여 잠금 경합·캐시 미스·부하 불균형을 제거합니다.

처리 모델Run-to-CompletionSW 파이프라인HW 이벤트 파이프라인
코어 간 전달없음 (단일 코어)SW ring (rte_ring)DLB QID / SSO 그룹
플로우 친화성RSS 해시 고정SW 해시 + 잠금(Lock)HW Atomic 태그
순서 보장자동 (단일 코어)SW 시퀀스 넘버HW Ordered 모드
부하 분산정적 (RSS)SW 동적 (lock 경합(Contention))HW 동적 (lock-free)
코어 추가 시RSS 재설정 필요큐 추가 + 재분배CQ/SSOW 추가만
캐시 효율최적 (단일 코어)낮음 (코어 간 데이터 이동)중간 (HW 최적화 분배)
가속기 연동동기 대기 or 콜백콜백 + SW enqueueHW 자동 이벤트 (SSO)
지연 시간최소 (단일 경로)중간 (SW 큐 지연)낮음 (~200ns/단계)
최대 처리량코어 수 × 단일 성능중간 (잠금 병목)최고 (lock-free 확장)
복잡도낮음중간높음 (HW 구성)

 NGFW 이벤트 드리븐 파이프라인 예시 (DLB/SSO 공통)

 ┌──────────┐     ┌─────────┐     ┌──────────┐     ┌─────────┐
 │  NIC RX  │────▶│  HW     │────▶│  Stage 1 │────▶│  HW     │
 │ (패킷    │     │  Event  │     │ conntrack│     │  Event  │
 │  수신)   │     │  Sched  │     │ + ACL    │     │  Sched  │
 └──────────┘     │ [Atomic]│     │ (lock-   │     │[Ordered]│
                  └─────────┘     │  free)   │     └────┬────┘
                                  └──────────┘          │
                  ┌─────────────────────────────────────┘
                  │
                  ▼
 ┌──────────┐     ┌─────────┐     ┌──────────┐     ┌─────────┐
 │ Stage 2  │────▶│  HW     │────▶│  Stage 3 │────▶│  NIC TX │
 │ IPSec    │     │  Event  │     │  IPS/DPI │     │ (패킷   │
 │ 암복호화 │     │  Sched  │     │ 시그니처 │     │  송신)  │
 │ (QAT/CPT)│     │[Parallel│     │  매칭    │     └─────────┘
 └──────────┘     │ or Auto]│     └──────────┘
   ↑ HW 완료 시   └─────────┘      순서 복원은
   SSO: 자동 이벤트                  HW reorder 버퍼가
   DLB: SW re-enqueue              자동 처리
HW 이벤트 스케줄러 도입 시 고려사항
① 적합한 시나리오: 다수 코어(8+)에서 수백만 플로우를 처리하는 고성능 NGFW. RSS만으로 부하 균형이 어렵고, 플로우별 상태(conntrack/NAT)에 동시 접근이 빈번한 환경에서 효과가 극대화됩니다.
② 부적합한 시나리오: 4코어 이하 임베디드 장비에서는 run-to-completion이 더 효율적입니다. HW 이벤트 스케줄러의 ~200ns 단계 지연이 오히려 오버헤드가 될 수 있습니다.
③ DPDK eventdev 생태계: DLB와 SSO 모두 rte_eventdev API를 통해 추상화되므로, 애플리케이션 코드를 변경하지 않고 HW 백엔드만 교체할 수 있습니다. event_sw(SW eventdev)로 개발 후 HW로 전환하는 전략이 일반적입니다.
④ 관련 기술: NIC RSS/RPS와 상호 보완적입니다. RSS가 NIC 수준의 정적 분배라면, DLB/SSO는 파이프라인 단계 간 동적 재분배를 담당합니다. 두 기술을 결합하면 NIC→SSO→코어 3단계 부하 분산이 가능합니다.

Fortinet NP7 / CP9 / SoC5 계열

Fortinet FortiGate는 제품군에 따라 구현이 다르지만, 공개 자료 기준으로 보면 세션 전달용 Network Processor검사용 보안/콘텐츠 프로세서를 결합한 하이브리드 구조입니다. 고성능 chassis/데이터센터 계열은 NP7 계열이 inline fast path를 맡고, SSL Inspection과 콘텐츠 검사는 별도 inspection 경로가 담당합니다. 브랜치 SoC 장비는 SoC5(문서상 SP5/NP7Lite 언급 포함)처럼 동일 SoC 내부에 해당 기능이 더 밀집되어 있어 SoC중심 lookaside에 가까운 하이브리드로 보는 편이 정확합니다:

NP7 세션 오프로드 프로세스

FortiGate에서 세션이 NP7으로 오프로드되는 과정:

  1. 첫 패킷: CPU(IPS Engine)가 수신 → conntrack + UTM(IPS/AV/App Control) 전체 검사
  2. 세션 수립: 검사 통과 시 CPU가 ISF(Iterate Session Filter)에 오프로드 결정 쿼리
  3. NP7 등록: session_offload_add() → NP7 Session Table에 5-tuple + NAT 정보 + QoS 태그 기록
  4. 후속 패킷: NP7 ASIC이 Session Table lookup → NAT rewrite → QoS → forwarding (CPU bypass)
  5. 세션 종료: TCP FIN/RST → NP7이 CPU에 알림 → Session Table 삭제 → 통계 동기화
FortiGate 구성 요소처리 방식역할성능
NP7 ASICInlineL2~L4 세션 오프로드, NAT, IPSec, VXLAN, QoS200Gbps (단일 칩)
보안 프로세서 / SoC inspection pathLookaside 또는 SoC 내부 경로SSL/TLS 프록시, inspection용 암·복호화SSL 검사 시 CPU 부하 감소
CP9 / CP10 (Content Processor)LookasideAV 시그니처, IPS 패턴 매칭 보조CPU DPI 성능 향상
CPU (FortiOS)제어 플레인정책 결정, App Control, DLP, 관리모델별 차이
# FortiGate 진단 명령
diagnose npu np7 session-stats         # NP7 오프로드 세션 통계
diagnose npu np7 sse-stats all         # Session Search Engine 통계
diagnose npu np7 port-list             # NP7 포트 매핑 확인
diagnose sys session filter dport 443  # 특정 포트 세션 확인
get system performance firewall statistics # 전체 성능 통계

# NP7 오프로드 비율 확인
diagnose npu np7 session-stats
# 출력 예:
# NP7 offload sessions: 1,234,567
# CPU sessions: 12,345
# Offload ratio: 99.0%

# 특정 세션의 오프로드 상태 확인
diagnose sys session filter src 10.0.0.1
diagnose sys session list
# 출력에서 npu_state=offloaded 확인
FortiGate 오프로드 제외 조건: UTM(AV/IPS/DLP/App Control)이 활성화된 정책의 세션은 첫 패킷 검사 이후에만 오프로드됩니다. 단, SSL 딥 인스펙션이 적용된 세션은 전용 inspection 경로가 전 구간 복호화/암호화를 수행하므로, NP7 수준의 세션 오프로드는 불가합니다. 이 경우 보안 프로세서/SoC inspection 경로의 처리 능력이 병목 해소의 핵심입니다.
Fortinet 참고 문서:

Fortinet 보안 프로세서/SoC inspection 경로

Fortinet 공개 자료는 제품군에 따라 CP9/CP10, SoC5, 보안 프로세서 등 서로 다른 명칭을 사용합니다. 공통점은 세션 전달용 NP fast path와 별도의 inspection 암호화 경로가 존재하는 점입니다. CPU가 TLS 정책과 평문 검사를 총괄하되, 핸드셰이크와 레코드 암·복호화의 상당 부분을 이 inspection 경로가 보조합니다.

inspection 경로 기능처리 내용성능 효과비고
TLS 프로토콜 처리 보조SSL/TLS protocol processor, crypto/inspection 보조 경로CPU 단독 처리 대비 부하 감소정확한 핸드셰이크·레코드 분담은 모델별 공식 문서 확인 필요
대칭키 암·복호화AES 계열 SSL Inspection 레코드 처리 보조SSL Inspection 처리량 개선공식 데이터시트는 모델별 SSL Inspection 처리량으로 공개
인증서 동적 생성MITM 프록시용 서버 인증서 실시간(Real-time) 서명프록시 경로에서 수행인증서 캐시와 HW 분담 구조는 공개 문서에서 세부 미공개
TLS 세션 재개Session ID / Session Ticket 재사용재연결 시 핸드셰이크 비용 감소캐시 위치와 크기는 모델/펌웨어별 확인 필요
IPSec 암호화ESP AES-GCM encap/decapNP/CP/SoC 조합으로 VPN 경로 보조NP7, CP9/CP10, SoC 계열별 기능 범위가 다름

Fortinet SSL Deep Inspection 파이프라인

FortiGate가 SSL Deep Inspection(SSL 딥 인스펙션)을 수행할 때의 내부 패킷 흐름입니다:

  1. 클라이언트 → FortiGate TLS 핸드셰이크: inspection 경로가 ECDHE/RSA 키 교환을 보조하고, FortiGate의 CA 인증서로 서버 인증서를 동적 생성하여 클라이언트에 제공합니다.
  2. FortiGate → 서버 TLS 핸드셰이크: inspection 경로가 실제 서버와 별도의 TLS 세션을 수립하고 서버 인증서를 검증합니다.
  3. 데이터 복호화: inspection 경로가 클라이언트 TLS 세션의 레코드를 하드웨어에서 복호화하고, 평문을 CPU(IPS 엔진)에 전달합니다.
  4. DPI/IPS 검사: CPU + CP 계열 가속기가 평문에 대해 App Control, IPS 시그니처 매칭, AV 스캔, DLP를 수행합니다.
  5. 재암호화: inspection 경로가 서버 TLS 세션용 레코드로 재암호화하고, 이후 패킷이 NP로 전달됩니다.
Fortinet SSL Inspection의 성능 특성:
  • SSL Inspection 활성 시 세션은 NP7 session offload 대상에서 제외됩니다. 모든 패킷이 inspection 경로를 통과해야 하기 때문입니다.
  • FortiGate 7081F 기준: FW 처리량 700Gbps → SSL Inspection 시 35Gbps로 감소 (1/20 수준)
  • 병목은 주로 CPS(TLS 핸드셰이크/초)와 inspection 엔진의 레코드 처리 능력입니다. 모델별로 수치 차이가 큽니다.
  • TLS 1.3 vs 1.2: TLS 1.3은 핸드셰이크 RTT를 줄이지만, MITM 프록시의 실제 CPS 향상 폭은 cipher suite, ECDHE 그룹, 인증서 캐시, 정책 구성에 따라 달라집니다.
  • 세션 캐시(Session Resumption)를 활용하면 재연결 시 핸드셰이크 비용을 크게 줄일 수 있습니다.
# FortiGate SSL Inspection 진단 명령
diagnose sys session filter proto 6 dport 443
diagnose sys session list
# 출력에서 확인할 항목:
# npu_state=0 (SSL Inspection 세션은 offload 안 됨)
# ssl_action=deep-inspection
# ssl_cipher=ECDHE-RSA-AES256-GCM-SHA384

# SSL Inspection 통계
get system performance firewall statistics
# SSL proxy 관련 카운터와 전체 처리량은 FortiOS/모델별 출력 항목 확인

# SSL Inspection 정책 설정
config firewall ssl-ssh-profile
  edit "deep-inspect"
    set ssl-anomaly-log enable
    config https
      set ports 443
      set status deep-inspection
      set cert-validation-timeout 30
    end
  next
end

# NP7 오프로드와 SSL inspection 경로 분리 확인
diagnose npu np7 session-stats
# 비-SSL fast path 세션은 NP7 카운터에서 증가하고, deep-inspection 세션은 session list에서 별도 확인

NP7의 IPSec 암호화 처리 상세

NP7은 IPSec VPN 트래픽에 대해 ESP 패킷의 전체 처리(캡슐화(Encapsulation) + 암호화 + 포워딩)를 하드웨어에서 수행합니다:

IPSec 기능NP7 역할CP/SoC 보조 경로CPU 역할
IKE 핸드셰이크-모델별 crypto 보조 가능IKE daemon (iked)
ESP 캡슐화/디캡슐화HW 처리--
AES-GCM 암·복호화HW 처리 (지원 모델)제품군별 보조-
Anti-replay 검사HW 시퀀스 윈도우--
SA 관리SA/세션 테이블-SA 라이프사이클
터널 모드 포워딩decap → session lookup → encap--
NAT-T (UDP 4500)HW 처리--
Fortinet FortiGate — NP7/CP/SoC inspection 암호화 트래픽 파이프라인 SSL Deep Inspection 경로 (HTTPS 트래픽) Client TLS NP7 세션 분류 SSL? CP/SoC TLS Decrypt 평문 CPU (FortiOS) App-ID / IPS CP9 AV/DLP 매칭 CP/SoC TLS Re-Encrypt NP7 전달 Server IPSec VPN 경로 (오프로드 가능) Remote ESP NP7 (IPSec Engine) ESP Decap + AES-GCM Decrypt + Session Lookup 평문 CPU (첫 패킷만) NP7 Session Offload EST → NP7 직접: Decrypt → Forward → Encrypt Internal 비-암호화 트래픽 경로 (최고 성능) Source NP7 (첫 패킷→CPU) EST → NP7 Session Offload (CPU bypass) NP7 200Gbps 라인레이트 Dest FortiGate 7081F — 트래픽 유형별 성능 비교 FW (비암호화): 700 Gbps NP7 session offload IPSec VPN: 200 Gbps NP7 crypto offload NGFW (DPI): 60 Gbps CPU + CP9 SSL Inspection: 35 Gbps CP/SoC + CPU + CP9 SSL Inspection 활성화 시 처리량이 FW의 1/20로 감소 → inspection 경로 sizing이 핵심

Palo Alto Networks SP3

Palo Alto Networks의 공개 자료는 SP3(Single-Pass Parallel Processing)의 핵심을 분리된 control plane/data plane, 병렬 처리 하드웨어, single-pass 소프트웨어로 설명합니다. 따라서 세션 fast path는 장비 내부 dataplane hardware가 inline으로 처리하지만, SSL/TLS 복호화와 평문 검사는 Fortinet이나 Juniper처럼 분리된 전용 SSL ASIC보다 dataplane CPU 자원에 밀착된 CPU중심 lookaside로 해석하는 편이 정확합니다. 다시 말해, 세션 분류는 inline이고 decryption은 SP3 파이프라인 안에서 CPU가 소화합니다:

공개 자료 해석 주의: Palo Alto Networks는 Fortinet이나 Juniper처럼 독립된 SSL ASIC 명칭을 전면에 내세우지 않습니다. 공개 자료는 SP3, single-pass software, parallel processing hardware, 모델별 dataplane 구성을 설명하지만, 모든 세대에 공통인 "Packet HW" 같은 단일 내부 칩 구성을 공개하지 않습니다. 따라서 아래 그림의 forwarding hardware는 모델별 dataplane packet-processing 하드웨어로 읽어야 합니다.

Single-Pass 아키텍처 상세

Palo Alto의 핵심 차별점은 Single-Pass Parallel Processing (SP3) 아키텍처입니다:

전통적 방화벽Palo Alto SP3
패킷이 FW → IPS → AV → URL 순서로 직렬 통과FW, App-ID, IPS, AV, URL이 단일 패스에서 병렬 처리
각 엔진마다 패킷 복사/버퍼(Buffer)링스트림 기반 처리 (패킷 복사 최소화)
지연 = 각 엔진 지연의 합지연 = 가장 느린 엔진의 지연
엔진 추가 시 성능 선형 감소엔진 추가 시 성능 영향 최소

Packet-processing hardware의 역할: 공개 자료 수준에서는 세션 분류, 포워딩, NAT, dataplane 병렬 처리를 보조하는 하드웨어로 해석하는 것이 안전합니다. App-ID, Threat Prevention, SSL Forward Proxy는 single-pass dataplane 소프트웨어와 CPU 자원을 사용하므로, 검사 대상 세션이 CPU를 완전히 bypass한다고 단정하면 안 됩니다.

Palo Alto SSL 복호화 아키텍처

Palo Alto 공개 자료에서 SSL Forward Proxy는 클라이언트-방화벽, 방화벽-서버의 두 TLS 세션을 만들고 보안 정책과 decryption profile을 적용하는 방식입니다. 독립 SSL ASIC 명칭이 공개되어 있지 않으므로, SSL 복호화 성능은 dataplane CPU, 모델별 하드웨어, 정책 프로필이 결합된 결과로 보는 편이 정확합니다.

SSL 처리 단계처리 위치특성
TLS 핸드셰이크 (RSA/ECDHE)Dataplane CPU/모델별 하드웨어공식 데이터시트는 주로 SSL decryption 처리량을 공개하며, SSL CPS는 모델별 공개 범위 확인 필요
TLS 레코드 복호화 (AES-GCM)Dataplane CPU/crypto 라이브러리/모델별 하드웨어PA-5440 데이터시트의 SSL decryption 처리량처럼 모델 단위 수치로 비교해야 합니다.
인증서 검증CPU 코어OCSP/CRL 확인, 인증서 체인 검증
Forward Trust CA 서명CPU 코어MITM용 인증서 동적 생성 (RSA/ECDSA)
App-ID (복호화 후)CPU 코어 (SP3 병렬)평문에 대해 App-ID + IPS + URL 동시 실행
TLS 재암호화CPU 코어 (AES-NI)서버 세션의 레코드 암호화

Palo Alto의 접근법은 Fortinet처럼 NP/CP/SoC 계열 가속기를 강하게 전면화하는 방식과 다릅니다. 장점: single-pass 정책 처리와 PAN-OS 기능 통합이 명확합니다. 주의점: SSL 활성화 시 처리량은 모델별 SSL decryption 데이터시트와 실제 decryption profile 조건으로 별도 확인해야 합니다.

Palo Alto SSL 복호화 성능 특성:
  • PA-5440 기준: FW 75 Gbps → SSL 복호화 활성 시 12 Gbps (1/6 수준)
  • SSL Forward Proxy + Full Threat Prevention 시 더 감소 (TLS 핸드셰이크 + DPI + AV 복합)
  • SSL Inbound Inspection(서버 키 보유)과 SSL Forward Proxy는 인증서 생성·검증 경로가 다르므로, 처리량은 별도 측정해야 합니다.
  • Hardware Security Module(HSM) 연동: FIPS 140-2 준수 환경에서 SafeNet HSM으로 CA 개인키 보호
  • TLS 1.3 0-RTT 복호화: PAN-OS 11.0+에서 지원하지만 CPU 부담 증가
# Palo Alto SSL 복호화 진단 명령
show counter global filter delta yes | match ssl
# ssl_proxy_session_new: 연결/초 (CPS)
# ssl_proxy_session_active: 현재 활성 SSL 세션
# ssl_decrypt_success: 복호화 성공 패킷
# ssl_decrypt_fail: 복호화 실패 (cipher 미지원 등)
# ssl_cert_verify_fail: 인증서 검증 실패

show session all filter ssl-decrypt yes
# SSL 복호화 중인 세션 목록

show system resources
# CPU 사용률 확인 → SSL 활성 시 증가폭

# SSL 복호화 정책 설정 (PAN-OS)
set rulebase decryption rules "decrypt-outbound" {
    from any; to any;
    source any; destination any;
    service any; action decrypt;
    type { ssl-forward-proxy { }; };
    profile "default";
}

# SSL 복호화 프로파일
set profiles decryption "strict" {
    ssl-forward-proxy {
        block-expired-certificate yes;
        block-untrusted-issuer yes;
        block-unsupported-version yes;
        block-unsupported-cipher yes;
        min-version tls1-2;
    };
}
# Palo Alto CLI 진단 명령
show running resource-monitor           # CPU/메모리/세션 사용률
show session all filter state active    # 활성 세션 목록
show session info                       # 세션 통계 (CPS, CC)
show counter global filter delta yes \
  packet-filter yes                     # 실시간 카운터
debug dataplane packet-diag set filter \
  match src 10.0.0.1                    # 특정 IP 패킷 추적
Palo Alto 참고 문서:
Palo Alto Networks — SP3 Single-Pass Parallel Processing 아키텍처 SP3 Single-Pass 파이프라인 (첫 패킷 + NEW 세션) Packet In Packet HW 5-tuple Lookup Session Table NAT Rewrite NEW CPU — Single-Pass 병렬 처리 App-ID IPS URL Filter AV DLP 모든 엔진이 동일 패킷에 대해 동시 실행 (Single-Pass) 허용 Packet HW 세션 설치 Packet Out ESTABLISHED 세션 — Packet HW Fast Path (CPU bypass) Packet In Packet HW — Session Hit NAT Rewrite + QoS + Forward CPU bypass — packet HW 직접 전달 (라인레이트) Packet Out SSL Decryption 경로 (CPU-only, AES-NI) Client TLS Packet HW SSL 태깅 CPU (AES-NI) TLS Decrypt + DPI Single-Pass App-ID/IPS/AV CPU (AES-NI) TLS Re-Encrypt Server PA-5440 — 트래픽 유형별 처리량 비교 FW: 75 Gbps packet HW fast path Threat: 38 Gbps App-ID + IPS + AV SSL Decrypt: 12 Gbps CPU AES-NI only IPSec VPN: 36 Gbps CPU crypto SSL Decryption은 전용 HW 가속 없이 CPU(AES-NI)에 의존 → FW의 1/6 수준으로 감소 Single-Pass: 한 번의 패킷 스캔으로 모든 보안 기능 동시 실행 → Multi-Pass 대비 지연 최소화

Check Point SecureXL / Maestro

Check Point는 SecureXL/CoreXL 중심의 소프트웨어 기반 inline 가속 아키텍처를 사용합니다. 일부 제품군은 Lightspeed 계열 가속으로 L4 방화벽 fast path를 강화하지만, 공개 자료 기준으로 범용 HTTPS Inspection의 TLS 레코드 처리까지 전용 SSL ASIC이 대신한다고 보기는 어렵습니다. 따라서 HTTPS Inspection은 CPU/CoreXL 중심 경로로 분류하는 편이 안전합니다:

Quantum Lightspeed 해석: 최근 Check Point는 Lightspeed/가속 카드로 L4 방화벽 fast path를 강화하고 있지만, 공개 자료 기준으로 이는 방화벽·세션 전달 가속에 가깝습니다. 범용 HTTPS Inspection 레코드 경로를 전용 ASIC이 대신하는 구조로 보기에는 정보가 부족하므로, 이 문서에서는 SSL Inspection을 계속 CPU중심으로 분류합니다.

SecureXL 처리 경로 상세

SecureXL은 3가지 처리 경로(Accelerated Path, Medium Path, Firewall Path)로 패킷을 분류합니다:

경로처리 위치대상 트래픽성능 영향
Accelerated Path커널 (SecureXL)Accept Template에 등록된 ESTABLISHED 세션최고 성능
Medium Path커널 (SecureXL + SXL 엔진)NAT, VPN 적용 필요한 세션Accelerated의 60~80%
Firewall Path유저스페이스 (fwd daemon)NEW 연결, IPS/DLP/App Control 검사가장 느림

Accept Template은 Linux conntrack의 ESTABLISHED + flowtable 개념과 유사합니다. conntrack이 세션 상태를 추적하고, Accept Template이 검사가 완료된 세션의 5-tuple을 커널 가속 테이블에 등록합니다. Drop Template은 이미 DROP 판정이 난 소스 IP/포트를 캐시하여, 동일한 악성 트래픽이 재전송(Retransmission)될 때 CPU까지 가지 않고 즉시 DROP합니다.

CoreXL / SND 아키텍처

Check Point의 멀티코어 아키텍처는 Linux의 RSS/RPS와 유사하지만 보안에 최적화되어 있습니다:

# Check Point 진단 명령 (Gaia OS)
fwaccel stat                            # SecureXL 가속 통계
fwaccel stats -s                        # 경로별 패킷/바이트 통계
fwaccel conns                           # Accept Template 연결 수
fw ctl multik stat                      # CoreXL 인스턴스별 통계
cpview                                  # 실시간 성능 모니터 (TUI)

# SecureXL 비활성화/활성화 (성능 비교 테스트)
fwaccel off     # 가속 비활성화 → 전체 Firewall Path
fwaccel on      # 가속 재활성화

# 특정 세션의 처리 경로 확인
fw ctl zdebug + drop    # 디버그 로그
Check Point 참고 문서:

Check Point HTTPS Inspection 아키텍처

Check Point는 Fortinet(CP/SoC inspection 경로)이나 전용 크립토 ASIC 없이 순수 소프트웨어 기반의 HTTPS Inspection을 수행합니다. CoreXL의 멀티코어 병렬 처리와 SecureXL의 가속 경로를 조합하여 성능을 최적화합니다.

HTTPS Inspection 단계처리 위치가속 방법
TLS 핸드셰이크CoreXL FW 인스턴스 (CPU)OpenSSL AES-NI, 멀티코어 분산
인증서 동적 생성CoreXL FW 인스턴스 (CPU)인증서 캐시 (동일 서버 재사용)
TLS 레코드 복호화CoreXL FW 인스턴스 (CPU)AES-NI + SSL 세션 재사용
DPI/IPS 검사CoreXL FW 인스턴스 + SandBlastCoreXL 병렬 처리
TLS 재암호화CoreXL FW 인스턴스 (CPU)AES-NI

SecureXL과 HTTPS Inspection의 관계: HTTPS Inspection이 활성화되면 해당 세션은 Firewall Path(가장 느린 경로)에서 처리됩니다. Accelerated Path로 승격될 수 없으므로, HTTPS Inspection 비율이 높을수록 SecureXL 가속 효과가 감소합니다.

# Check Point HTTPS Inspection 진단
fwaccel stat
# Accelerated Conns: 1,200,000
# HTTPS Inspect Conns: 45,000 (Firewall Path)
# → HTTPS Inspection 세션은 Accelerated Path 불가

# HTTPS Inspection 통계
cpstat -f https_inspection fw
# Total inspected connections: 45,000
# Bypassed connections: 5,000 (bypass 규칙 적용)
# Certificate cache hit ratio: 85%

# CoreXL 인스턴스별 SSL 부하 분포
fw ctl multik stat
# 각 CoreXL 인스턴스의 CPU 사용률 확인
# HTTPS Inspection 활성 시 불균형 주의

# HTTPS Inspection 바이패스 규칙 (성능 최적화)
# SmartConsole → Security Policies → HTTPS Inspection
# 금융/의료 사이트, Windows Update 등 → Bypass 권장
Check Point Maestro와 HTTPS Inspection 확장: 단일 게이트웨이의 HTTPS Inspection 처리량이 부족한 경우, Maestro HyperScale로 여러 게이트웨이를 클러스터링하여 수평 확장할 수 있습니다. Maestro Orchestrator가 SSL 세션을 게이트웨이 간에 분배하되, 동일 TLS 세션의 모든 패킷은 같은 게이트웨이로 고정(session affinity)됩니다.
Check Point — SecureXL / CoreXL / Maestro HyperScale 아키텍처 패킷 처리 3-Path 분류 Packet In SND Secure Network Distributor RSS + 경로 분류 Accept Template Hit Accelerated Path (SecureXL) 커널 레벨 direct forward — CPU bypass 라인레이트 전달 Packet Out Template Miss Medium Path SecureXL 부분 처리 + CoreXL 정책 검사 HTTPS/복합 Firewall Path (Full Inspection) CoreXL FW Instance 전체 검사 (HTTPS Inspection 포함) CoreXL 멀티코어 분배 구조 SND Core 패킷 분배 CoreXL FW #0 CoreXL FW #1 CoreXL FW #N SecureXL 캐시 Accept Template Drop Template 설치 HTTPS Inspection SSL Decrypt → 검사 → Re-Encrypt 항상 Firewall Path 강제 SecureXL bypass 불가 Maestro HyperScale — 수평 확장 클러스터 Orchestrator 세션 분배 + Affinity 동일 TLS → 동일 GW Security GW #1 Security GW #2 Security GW #N 최대 52개 GW 클러스터링 Quantum 28000 — 경로별 처리량 FW: 64 Gbps SecureXL 가속 Threat: 15 Gbps CoreXL 전체 검사 SSL: 7 Gbps HTTPS Inspection HTTPS Inspection 시 SecureXL bypass 불가 → FW 대비 1/9 수준 SecureXL Accept Template 적중률이 높을수록 전체 성능 향상 — HTTPS 비율 증가 시 Firewall Path 부하 급증

Juniper Express Path

Juniper SRX 시리즈의 Express Path는 fast-path 패킷을 flow daemon이 아닌 network processor 경로에서 처리하도록 설계된 가속 기능입니다. SRX5000 계열은 NP/PFE 기반 전달 경로와 SPC(Service Processing Card) 서비스 경로를 조합합니다. IPSec, SSL Proxy, UTM 처리는 플랫폼·카드·라이선스·정책에 따라 서비스 처리 경로를 사용하므로, 모든 SSL 암호화가 SPC3의 특정 엔진에서 전담된다고 단정하면 안 됩니다:

Express Path 동작 원리

Juniper SRX의 패킷 처리 아키텍처:

  1. NP (Network Processor): 모든 패킷의 1차 수신. 세션 테이블에서 lookup
  2. Express Path 히트: 기존 세션 매칭 → NP에서 직접 forwarding + NAT rewrite (flowd bypass)
  3. Express Path 미스: 새 세션 → flowd(flow daemon)로 전달 → 정책 평가 + IPS/AppID
  4. 세션 설치: flowd가 정책 통과 시 세션을 NP Express Path 테이블에 등록
# Juniper SRX 진단 명령
show security flow statistics           # 플로우 통계 (Express Path 비율)
show security monitoring fpc 0          # FPC별 세션/처리량
show security flow session              # 세션 테이블
show security flow session summary      # 세션 요약 (활성/최대)

# Express Path 상태 확인
show pfe statistics traffic
# express-path-packets, slow-path-packets 비교

# Services Offload Engine 상태
show chassis fpc pic-status

SPC3 (Services Processing Card) 암호화 가속

Juniper SRX 5000 시리즈는 SPC3 같은 서비스 카드를 통해 보안 서비스 처리 용량을 확장합니다. 공개 문서는 SRX5800 섀시, SPC3 카드, Express Path, Inline IPsec, SSL Proxy 기능을 각각 설명하지만, 카드 내부 crypto engine별 TLS CPS나 인증서 캐시 구조를 일관된 공개 수치로 제공하지 않습니다.

SPC3 기능처리 방식처리 내용성능
IPSec 가속Service path 또는 PFE inlineESP 처리, SA 관리, 플랫폼별 crypto accelerationSRX 모델·카드 구성별 데이터시트 확인
SSL ProxyService pathForward/Reverse Proxy, 복호화, 보안 검사 연동SSL CPS/처리량은 공식 공개 범위와 릴리스별 지원 cipher 확인 필요
Express Path 통합Inline (NP)IPSec 복호화 후 inner 패킷 Express Path 등록EST 세션: NP 직접 전달
NATInline (NP)NAT rewrite + conntrackExpress Path 연계
# Juniper SRX SPC3 암호화 관련 진단
show security ipsec statistics
# ESP 암·복호화 패킷/바이트 통계

show security ipsec sa
# SA 목록 + 하드웨어 가속 여부

show services ssl proxy statistics
# SSL Proxy 세션 수, CPS, 처리량

show chassis fpc 0 pic 0
# SPC3 카드 상태 + 크립토 엔진 사용률

# SPC3 IPSec 오프로드 설정
set security ipsec vpn site-a {
    ike {
        gateway gw-site-a;
        ipsec-policy ipsec-pol;
    }
    establish-tunnels immediately;
}
# SPC3가 자동으로 IPSec 처리를 하드웨어에서 수행

SPC3 SSL Forward Proxy 핸드셰이크 처리

Juniper SRX의 SSL Forward Proxy는 클라이언트 측 TLS 세션과 서버 측 TLS 세션을 분리하여 복호화, 보안 검사, 재암호화를 수행합니다. 이 처리는 Express Path의 단순 fast-path 전달과 다른 서비스 처리 경로이며, SPC/SPU 자원과 flowd 정책 처리, 지원 cipher/group 조건이 함께 영향을 줍니다.

TLS 핸드셰이크 단계처리 위치상세 동작
1. ClientHello 수신NP/PFE → 서비스 경로TCP 443 세션을 SSL Proxy 정책에 매칭하고 SNI·cipher·profile 조건을 평가합니다.
2. 서버측 TLS 세션 수립SSL Proxy 서비스 경로실제 서버와 별도 TLS 세션을 수립하고 서버 인증서를 검증합니다. crypto acceleration 분담은 플랫폼별 확인이 필요합니다.
3. 서버 인증서 검증SSL Proxy + flowd인증서 체인, OCSP/CRL, 정책 예외를 처리합니다.
4. MITM 인증서 생성SSL Proxy 서비스 경로SRX가 신뢰 CA로 대체 인증서를 생성합니다. 인증서 캐시 구조는 공개 문서에서 세부 미공개입니다.
5. 클라이언트측 TLS 세션 수립SSL Proxy 서비스 경로생성된 MITM 인증서로 클라이언트와 별도 TLS 세션을 수립합니다.
6. 데이터 복호화 (클라이언트→서버)SSL Proxy 서비스 경로TLS 레코드를 복호화한 뒤 평문을 보안 검사 경로로 전달합니다.
7. DPI 검사flowd (CPU, Inline)평문에 대해 AppID + IPS + UTM 수행. Single-pass 아님 — 순차 처리
8. 재암호화 (서버 세션)SSL Proxy 서비스 경로검사 완료된 평문을 서버 TLS 세션으로 재암호화하여 전달합니다.
9. TLS 세션 재개 (Session Resumption)SSL Proxy 서비스 경로지원되는 경우 재연결 핸드셰이크 비용을 줄입니다. 동작 조건은 Junos 릴리스와 프로필을 확인해야 합니다.
Juniper SSL Proxy 성능 특성:
  • SSL Proxy 세션은 Express Path의 단순 fast-path 전달과 다른 서비스 처리 경로를 통과합니다.
  • 카드당 SSL CPS, TLS 1.3 CPS, 인증서 캐시 적중률은 공개 데이터시트의 공통 수치로 단정하지 않고 실제 장비와 Junos 릴리스에서 측정해야 합니다.
  • TLS 1.3 vs 1.2: 1.3은 1-RTT 핸드셰이크로 지연을 줄일 수 있지만, PFS 필수(ECDHE)와 지원 group/cipher 제한이 SSL Proxy 성능에 영향을 줍니다.
  • SPC3 카드 추가는 서비스 처리 용량을 늘릴 수 있지만, SSL CPS가 항상 선형 확장된다고 가정하면 안 됩니다. 섀시 fabric, flow 분산, 정책 복잡도, 세션 locality가 함께 병목이 됩니다.
Juniper SRX — SPC3 SSL Forward Proxy TLS 핸드셰이크 흐름 Client SPC3 Crypto flowd (CPU) Server ① ClientHello (SNI: example.com) ② SPC3 → 서버에 ClientHello 전달 ③ ServerHello + Certificate + KeyExchange ④ ECDHE 키 교환 (HW 가속) ⑤ Finished — 서버측 TLS 세션 수립 완료 서버 TLS ⑥ MITM 인증서 생성 SRX CA 서명 (캐시 확인) ⑦ ServerHello + MITM Certificate ⑧ ECDHE KeyExchange + Finished ⑨ 클라이언트측 TLS 세션 수립 데이터 전송 단계 (TLS 레코드) ⑩ TLS 레코드 (암호화) AES-GCM 복호화 (HW) ⑪ 평문 전달 ⑫ AppID + IPS + UTM ⑬ 검사 완료 AES-GCM 재암호화 (HW) ⑭ TLS 레코드 (서버 세션으로 재암호화) 서버 레코드 SPC3 크립토 엔진이 핸드셰이크(ECDHE) + 레코드(AES-GCM) 모두 HW 가속 — flowd는 평문 DPI만 담당
Juniper 참고 문서:
Juniper SRX — Express Path + SPC3 아키텍처 Express Path — 세션 히트/미스 분기 Packet In NP (NPU) Session Table Lookup Express Path 판정 Session Hit Express Path — NP 직접 전달 flowd bypass, 라인레이트 forwarding CPU bypass Packet Out Session Miss flowd Flow Daemon 정책 평가 IPS / AppID / UTM 허용 세션 설치 → Express Path 등록 SPC3 카드 — IPSec / SSL Proxy 처리 ESP In ESP NP (인입) SPC3 Crypto Engine AES-GCM Decrypt + ESP Decap 평문 Express Path 내부 전달 SPC3 Crypto AES-GCM Encrypt + ESP Encap ESP Out SSL Proxy 경로 (SPC3 + flowd) Client TLS NP SPC3 SSL Proxy TLS Decrypt flowd (DPI) AppID + IPS + UTM SPC3 SSL Proxy TLS Re-Encrypt Server SRX5800 + SPC3 — 처리 경로별 성능 Express Path: 2 Tbps NP 직접 forwarding flowd: 모델별 차이 정책+DPI CPU 처리 IPSec: ~50 Gbps/SPC3 SPC3 crypto engine SSL Proxy: SPC3+CPU TLS 복호화 부하 Express Path Hit 세션은 NP에서 라인레이트 처리 — flowd/SPC3 경유 시 처리량 감소 서비스 카드 추가 시 처리 용량은 늘 수 있으나 정책과 flow 분산을 함께 확인

Cisco Secure Firewall 4200 / FTD / Snort 3

Cisco Secure Firewall 계열은 ASA 계열의 stateful firewall 처리(LINA), FTD(Threat Defense) 정책 처리, Snort 3 DPI 엔진, crypto accelerator, flow offload를 결합합니다. 4200 Series 공식 데이터시트는 multi-threaded Snort 3 engine, cryptographic acceleration architecture, TLS hardware decryption, 최대 16-node cluster, 400G interface option을 공개합니다. 따라서 Cisco의 고성능 구조는 "모든 패킷을 Snort로 보냅니다"가 아니라, 먼저 L3/L4에서 fast path/offload 가능성을 판정하고, 복호화가 필요한 TLS/VPN 비용을 crypto accelerator로 낮춘 뒤, 실제 위협 판단은 Snort 3 worker에 병렬 분산하는 방식으로 이해해야 합니다.

계층Cisco 구성 요소고성능을 만드는 방식병목이 생기는 조건
L2/L3 입출력고속 interface module, fail-to-wire module, platform fabric고속 포트와 내부 fabric으로 포트 집약도를 높이고, 장애 시 fail-to-wire 모듈로 물리 우회를 제공합니다.400G 포트를 장착해도 DPI/TLS 처리량은 별도 한계를 갖습니다.
L4 stateful 경로LINA / fast path / flow offload이미 허용된 long-lived flow, low-risk prefilter flow, elephant flow를 Snort 재검사에서 제외하거나 줄입니다.정책 변경, NAT 복잡도, 로깅, 애플리케이션 식별 필요성이 커지면 slow path 비율이 증가합니다.
TLS/VPN cryptoTLS hardware decryption, crypto acceleratorRSA/ECDHE/AES 계열 비용을 전용 하드웨어로 낮추어 Snort 3가 평문 보안 검사에 CPU를 더 쓸 수 있게 합니다.데이터시트 TLS 수치는 특정 TLS 1.2 조건입니다. TLS 1.3, ECDHE, 대량 소형 연결에서는 CPS를 별도로 확인해야 합니다.
DPI/IPSSnort 3 multi-threaded inspectionflow 기반 탐지와 멀티스레드 worker로 rule evaluation, file/malware 분석, IPS 검사를 병렬화합니다.암호화 복호화 후 평문 payload가 모두 Snort로 들어오면 CPU와 메모리 대역폭이 병목이 됩니다.
Cisco Secure Firewall — Flow Offload + Crypto Accelerator + Snort 3 Pipeline Ingress 100G/200G/400G Prefilter / LINA 정책 전처리 stateful flow table NAT / routing decision Flow Offload trusted / elephant flow Crypto Accelerator TLS hardware decryption IPsec / VPN crypto Snort 3 Worker Pool IPS rules File/AMP App detect Talos rules 멀티스레드 DPI가 최종 보안 판단을 수행합니다 Egress forward / drop 성능 해석 L3/L4 허용 트래픽은 flow offload로 Snort 반복 검사를 줄이고, TLS/VPN은 crypto accelerator로 복호화 비용을 줄입니다. 하지만 복호화된 payload가 보안 프로필에 의해 Snort 3로 들어가는 순간 처리량 상한은 CPU worker, 메모리 대역폭, rule set 크기로 이동합니다.
Cisco 4200 데이터시트 수치 해석: 4245 모델은 공개 데이터시트에서 FW+AVC+IPS 140Gbps, TLS hardware decryption 45Gbps, AVC 동시 세션 6,000만, AVC CPS 80만을 제시합니다. TLS 수치는 50% TLS 1.2, AES256-SHA, RSA 2048B 조건이므로 TLS 1.3 ECDHE, HTTP/2, QUIC, 파일 검사, URL 필터링을 동시에 켠 실환경 처리량과 동일하게 보면 안 됩니다.

Sophos XGS / Xstream FastPath

Sophos XGS 계열은 Fortinet의 NP/CP 조합이나 Palo Alto의 섀시형 NPC/DPC 구조와 달리, multi-core x86 CPUXstream Flow Processor를 결합한 dual-processor appliance 구조입니다. Sophos Firewall 21.5 공식 문서는 데이터 경로를 SlowPath, DPI Engine, offload module, FastPath로 나누어 설명합니다. 핵심은 첫 패킷과 보안 판정은 CPU/SlowPath/DPI Engine이 수행하고, 신뢰된 후속 흐름과 일부 crypto 작업만 FastPath/Xstream Flow Processor로 넘겨 CPU를 절약하는 방식입니다.

계층Sophos 구성 요소공식 문서 기준 역할성능 해석
입출력/포트XGS 8500 fixed ports, Flexi Port modules, bypass port pairs8×GE copper, 12×SFP+ 10GE, 2×QSFP28 10/25/40/50/100GE, 최대 포트 밀도 70개를 제공합니다.포트 집약도는 높지만, 실제 NGFW/TLS 성능은 DPI Engine과 FastPath hit ratio에 좌우됩니다.
SlowPathFirewall stack(kernel), user space modules, offload module초기 패킷, 정책 평가, DPI Engine 진입, offload 가능 여부 판단을 담당합니다.새 세션과 복잡한 보안 정책은 SlowPath 부하를 증가시킵니다.
DPI EngineXstream DPI Engine, IPS, web/app/AV 검사보안 정책이 필요한 흐름을 검사하고, 일부 또는 전체 offload 가능 여부를 FastPath에 지시합니다.TLS Inspection, IPS, malware prevention이 켜질수록 CPU와 DPI worker가 병목이 됩니다.
FastPathHardware FastPath / Virtual FastPath초기 패킷 검사 후 신뢰된 흐름을 처리하여 매 패킷 전체 firewall processing 반복을 줄입니다.trusted SaaS, SD-WAN, cloud application, 장기 elephant flow에서 효과가 큽니다.
Xstream Flow ProcessorNPU(Network Processing Unit)대부분의 XGS appliance에서 multi-core x86 CPU와 함께 dual-processor 구조를 이루며 offloaded operation을 처리합니다.FastPath가 CPU cycle과 memory bandwidth를 절약하지만, kernel이 지시한 범위 안에서만 동작합니다.
PKI accelerationNPU crypto hardwareDPI Engine이 검사하는 TLS 흐름에서 X.509 서버 인증서 재서명 작업을 offload합니다.TLS Inspection 전체 대칭키 암·복호화를 NPU가 대신한다는 뜻은 아닙니다.
IPsec accelerationXFRM stack + FastPath/NPU cryptoPhase 2 SA 기준으로 IPsec encryption/decryption을 offload합니다. 3DES, Blowfish, MD5 조합은 제외됩니다.XGS 8500 공식 수치의 IPsec VPN 141Gbps는 여러 터널과 512KB HTTP response 조건입니다.

XGS 8500 공식 성능 수치와 조건

Sophos XGS 2U 공식 페이지의 XGS 8500 수치는 다음과 같습니다. 이 수치는 vendor datasheet 조건이므로, Fortinet/Palo Alto/Check Point/Juniper/Cisco 수치와 직접 순위 비교하지 않고 조건별로 분리해 봐야 합니다.

지표XGS 8500 공식 수치공식 시험 조건 또는 해석
Firewall190 GbpsHTTP traffic, 512KB response size 기준의 최대 처리량입니다.
Firewall IMIX81 Gbps66B, 570B, 1518B UDP 패킷 조합입니다.
IPS93 GbpsHTTP traffic, default IPS ruleset, 512KB object size 조건입니다.
IPsec VPN141 Gbpsmultiple tunnels와 512KB HTTP response size 조건입니다.
NGFW76 Gbps방화벽과 L7 보안 기능 조합 조건으로 봐야 합니다.
Threat Protection92.5 GbpsFirewall, IPS, Application Control, Malware Prevention을 Enterprise Mix traffic으로 측정합니다.
TLS Inspection24 GbpsIPS enabled HTTPS sessions와 여러 cipher suite 조건입니다.
Latency5.5 us64-byte UDP 기준입니다.
Sophos XGS 8500 — SlowPath + DPI Engine + Xstream FastPath Pipeline Ingress GE / SFP+ / QSFP28 SlowPath kernel firewall stack user-space modules offload decision Xstream DPI Engine IPS / Web / App TLS inspection malware prevention FastPath trusted flow cache stateful tracking CPU/memory 절약 Egress forward / drop x86 CPU policy / routing DPI worker fallback path Xstream Flow Processor NPU for offloaded ops hardware FastPath kernel 지시 범위 NPU Crypto X.509 re-signing IPsec enc/dec qualifying flows only FastPath 제외 또는 제한 SSL VPN, proxies/WAF, QoS/DoS Wireless, RED, LAG, PPPoE IP fragmentation, packet capture 지원 범위 Firewall acceleration: All XGS IPsec acceleration: All XGS PKI acceleration: 1UL/2U selected XGS 성능 sizing 핵심 FastPath hit ratio TLS inspection 비율 DPI rule set / cipher suite 핵심: XGS는 Xstream Flow Processor가 모든 TLS payload를 대신 검사하는 구조가 아니라, SlowPath/DPI 판정 후 신뢰 흐름과 PKI/IPsec 일부 작업을 offload하는 구조입니다.

Sophos 오프로드 결정 흐름

  1. 초기 수신: 패킷이 XGS 포트로 들어오면 SlowPath의 firewall stack과 user space module이 세션 상태, 정책, NAT, 라우팅을 평가합니다.
  2. 보안 검사 필요성 판단: 웹/앱/IPS/TLS/멀웨어 검사가 필요한 흐름은 DPI Engine으로 전달됩니다. DPI Engine은 DAQ 계층을 통해 stream을 받고, 보안 판정과 offload 가능성을 결정합니다.
  3. Firewall acceleration: 초기 패킷 검사 후 신뢰된 흐름은 FastPath로 넘어가며, FastPath는 매 패킷마다 전체 firewall processing을 반복하지 않도록 stateful tracking으로 처리합니다.
  4. PKI acceleration: TLS Inspection에서 X.509 서버 인증서를 재서명해야 하는 qualifying flow는 Xstream Flow Processor의 crypto hardware로 PKI 작업을 넘길 수 있습니다. 공식 문서가 명시한 항목은 certificate re-signing이며, inspected TLS flow의 AES-GCM 레코드 전체가 NPU에서 line-rate로 처리된다고 확대 해석하면 안 됩니다.
  5. IPsec acceleration: XFRM stack이 Phase 2 SA를 기준으로 FastPath에 IPsec encryption/decryption offload를 지시합니다. 3DES, Blowfish, MD5 조합은 offload 대상에서 제외됩니다.
  6. Fallback: FastPath가 처리할 수 없는 프로토콜과 조건은 SlowPath로 남습니다. 공식 문서는 IP in IP 같은 미지원 프로토콜, SSL VPN, proxies/WAF, QoS/DoS, wireless/RED/LAG/PPPoE, IP fragmentation, packet capture 등을 제한 조건으로 제시합니다.

Sophos FastPath/PKI/IPsec 확인 명령

# Firewall acceleration 상태 확인 및 제어
system firewall-acceleration show
system firewall-acceleration enable
system firewall-acceleration disable

# PKI acceleration은 IPS/DPI 설정에 속합니다.
show ips-settings
set ips pki-acceleration enable
set ips pki-acceleration disable

# IPsec SA offload 상태 확인 및 제어
system ipsec-acceleration show
system ipsec-acceleration enable
system ipsec-acceleration disable
Sophos 해석 주의: Sophos 공식 문서는 XGS Series가 firewall, PKI, IPsec acceleration을 지원한다고 설명합니다. 여기서 PKI acceleration은 DPI Engine이 검사하는 TLS flow의 X.509 서버 인증서 재서명 offload입니다. 따라서 XGS 8500의 TLS Inspection 24Gbps 수치를 "Xstream Flow Processor가 TLS 대칭키 암·복호화와 DPI 전체를 전담합니다"로 해석하면 부정확합니다. 실제 병목은 TLS Inspection 비율, IPS rule set, cipher suite, 파일/멀웨어 검사, FastPath 제외 조건에 따라 달라집니다.
Sophos 공식 참고 문서:

Linux 커널 기반 NGFW

Linux 커널과 오픈소스 도구를 조합하여 NGFW를 구축하는 접근법입니다. Inline SmartNIC + Lookaside SW 하이브리드 모델로, EST 세션은 SmartNIC eSwitch가 inline 처리(라인레이트)하고, DPI는 NFQUEUE를 통해 유저스페이스 Suricata에 위임(lookaside)합니다. 암호화는 NIC inline crypto 또는 QAT lookaside를 선택할 수 있습니다:

Linux NGFW 스택 구성

Linux 커널 기반 NGFW를 상용 수준으로 구축하기 위한 전체 스택:

계층구성 요소처리 방식역할대안
HW Fast PatheSwitch FDB (mlx5/ice)InlineEST 세션 라인레이트 전달OVS-DPDK TC offload
SW Fast Pathnf_flowtableInline (커널)HW 미지원 EST 세션 가속VPP session table
Stateful FWnftables + nf_conntrackInline (커널)ACL, NAT, 세션 추적iptables (레거시)
DPI / IPSSuricata (NFQUEUE mode)Lookaside시그니처 기반 탐지/차단nDPI, Snort 3
App-IDnDPI 라이브러리LookasideL7 프로토콜 분류Suricata App-Layer
SSL 검사mitmproxy / Suricata TLSLookasideSSL/TLS 프록시SSLsplit
DDoS Pre-filterXDP BPFInlineL3/L4 사전 필터tc-bpf
QoSTC qdisc (HTB/fq_codel)Inline (커널)대역폭 제어, 우선순위CAKE
VPNStrongSwan (xfrm) + WireGuardInline (NIC) / Lookaside (QAT)사이트 간/원격 접속 VPNLibreswan
HAconntrackd + Keepalived제어 플레인세션 동기화 + VIP failoverPacemaker
관리nftables API + Prometheus제어 플레인정책 관리 + 모니터링Firewalld

VPP 기반 NGFW 데이터 플레인

FD.io VPP를 사용하면 커널 Netfilter 대신 유저스페이스에서 패킷 처리하여 더 높은 성능을 달성합니다:

# VPP 기반 NGFW 설정 예시
# /etc/vpp/startup.conf
dpdk {
  dev 0000:03:00.0 { name eth0 }
  dev 0000:03:00.1 { name eth1 }
}

# VPP CLI에서 ACL + session 설정
vppctl acl-plugin acl add permit+reflect \
  src 10.0.0.0/8 dst 0.0.0.0/0 proto tcp
vppctl set acl-plugin interface eth0 input acl 0

# 새 세션만 TAP으로 전달 (DPI)
vppctl create tap id 0
vppctl set interface state tap0 up

Linux NGFW SSL/TLS 검사 아키텍처

Linux 기반 NGFW에서 SSL/TLS 검사는 여러 오픈소스 컴포넌트를 조합하여 구현합니다. 상용 NGFW와 달리 단일 통합 솔루션이 아닌 계층별 독립 도구의 조합이며, 각 계층에서 inline/lookaside HW 가속을 선택적으로 적용할 수 있습니다.

TLS 처리 단계구현 도구처리 방식HW 가속
TLS 핸드셰이크 (ECDHE/RSA)mitmproxy / SSLsplit / Squid SSL BumpLookaside (유저스페이스 프록시)QAT (Intel QuickAssist) — 비대칭키 가속
MITM 인증서 생성OpenSSL (CA 서명)CPUQAT RSA 서명 가속
TLS 레코드 복호화 (AES-GCM)OpenSSL/kTLS/QAT 조합대부분 유저스페이스 프록시 중심, endpoint termination 구성에서 kTLS 가능QAT 또는 NIC TLS offload는 애플리케이션·드라이버 통합 조건 확인
DPI / IPS 검사Suricata (NFQUEUE)Lookaside (유저스페이스)AF_XDP, 멀티스레드
TLS 재암호화OpenSSL/kTLS TX/QAT 조합프록시 구현과 커널 TLS offload 지원 범위 의존NIC inline crypto, QAT는 구성별 검증 필요
Session ResumptionOpenSSL Session Cache / RedisCPU + 메모리-

SSL 검사 아키텍처 선택지

Linux NGFW에서 SSL/TLS 트래픽을 검사하는 대표적인 3가지 아키텍처입니다:

아키텍처구조장점단점처리량
NFQUEUE + mitmproxynftables → NFQUEUE → mitmproxy(TLS 프록시) → Suricata(DPI)구현 단순, Python 확장성능 낮음, CPS 제한~1-3 Gbps
Squid SSL Bump + ICAP투명 프록시 Squid → SSL Bump → ICAP → Suricata프록시 캐시, URL 필터링 통합TCP 프록시 오버헤드~3-8 Gbps
kTLS + QAT + Suricata프록시 TLS termination + QAT crypto + 가능한 경우 kTLS/NIC offload → DPI 연동HW 가속 여지 큼구성 복잡, 애플리케이션·NIC·QAT·커널 지원 범위 의존구성별 측정 필요
Linux SSL 검사의 한계와 상용 대비 차이:
  • CPS 병목: 상용 NGFW는 모델별 inspection 자원을 제공하지만 SSL CPS 공개 범위가 다르고, Linux는 CPU+QAT+프록시 구현별 측정이 필요
  • 통합도: 상용은 핸드셰이크→복호화→DPI→재암호화가 단일 파이프라인이지만, Linux는 프록시(mitmproxy/Squid)와 DPI(Suricata)가 별도 프로세스
  • TLS 1.3 ECH: SNI가 암호화되면 mitmproxy/Squid의 SNI 기반 정책 적용이 불가 → IP/DNS 기반 우회 필요
  • 세션 오프로드 불가: SSL 검사 세션은 flowtable/eSwitch HW offload 대상에서 제외됨 (모든 패킷이 프록시를 통과해야 하므로)
Linux NGFW — SSL/TLS 검사 파이프라인 (3가지 아키텍처) ① NFQUEUE + mitmproxy (단순 구성, ~1-3 Gbps) Client nftables NFQUEUE → 유저스페이스 mitmproxy TLS Decrypt → DPI → Re-Encrypt Suricata 평문 IPS/IDS Server ② Squid SSL Bump + ICAP (프록시 통합, ~3-8 Gbps) Client TPROXY 투명 리다이렉트 Squid (SSL Bump) TLS Decrypt + MITM 인증서 + URL 필터 + 캐시 ICAP Suricata ICAP 서버 (DPI) Server ③ kTLS + QAT + Suricata (최고 성능, ~10-20 Gbps) Client QAT TLS 핸드셰이크 HW 가속 kTLS (NIC RX) AES-GCM HW 복호화 평문 nf_conntrack Suricata DPI NFQUEUE 평문 검사 kTLS (NIC TX) AES-GCM HW 재암호화 Server TLS 핸드셰이크 단계별 HW 가속 매핑 단계 CPU (SW) QAT 가속 NIC Inline ECDHE 키 교환 구성별 측정 ~100-200K ops/s 미지원 RSA CA 서명 ~5K ops/s/core ~50-100K ops/s 미지원 AES-GCM 레코드 2-8 Gbps/core 100-200 Gbps 라인레이트 Session Ticket OpenSSL 캐시 미지원 미지원 QAT: 핸드셰이크(비대칭키) 가속 핵심 | NIC kTLS: 레코드(대칭키) 인라인 가속 핵심
Linux NGFW 참고 문서:
Linux 커널 기반 NGFW — 전체 스택 아키텍처 HW Layer Kernel Layer Userspace SmartNIC HW (eSwitch FDB + Inline Crypto) eSwitch FDB CT Offload IPSec Inline kTLS NIC QAT Accel EST 세션 HW offload → 라인레이트 200Gbps+ (ConnectX-7, BlueField-3) Linux Kernel — 네트워크 스택 XDP 초기 필터링 TC flower HW offload 규칙 nf_flowtable SW Fast Path (conntrack) Hit SW Fast Forward CPU 전달 Miss nftables 정책 평가 + conntrack NFQUEUE → 유저스페이스 xfrm (IPSec) + NIC inline crypto kTLS NIC offload + QAT flowtable Hit → SW fast path | Miss → nftables Slow Path → NFQUEUE DPI Userspace DPI — Suricata (NFQUEUE inline) IPS/IDS App-Layer Protocol File/TLS Logging VPP (대안) DPDK 기반 유저스페이스 FW Netfilter 대체 Linux NGFW — 경로별 처리량 (ConnectX-7 / BlueField-3 기준) HW Offload: 200 Gbps eSwitch FDB 라인레이트 SW Fast Path: 40 Gbps nf_flowtable CPU DPI: 10-20 Gbps NFQUEUE + Suricata IPSec: NIC inline xfrm + HW crypto kTLS: NIC+QAT SSL offload EST 세션은 eSwitch HW offload로 라인레이트 처리 — 새 세션만 커널/유저스페이스 DPI 경유 SmartNIC CT offload + nf_flowtable + Suricata = 상용 NGFW 수준의 오픈소스 스택

벤더별 SSL/TLS 핸드셰이크 처리 비교

모든 NGFW의 SSL/TLS Inspection은 MITM(Man-in-the-Middle) TLS Proxy 방식입니다. 클라이언트와 서버 사이에 두 개의 독립된 TLS 세션을 수립하고, NGFW가 중간에서 복호화 → DPI → 재암호화를 수행합니다. 벤더 간 차이는 각 TLS 핸드셰이크 단계의 처리 위치(CPU vs 전용 HW)처리 방식(inline vs lookaside)에 있습니다.

TLS 핸드셰이크 단계별 벤더 비교

TLS 핸드셰이크 단계FortinetPalo AltoCheck PointJuniperLinux
ClientHello 수신 + SNI 추출NP7 → CPU/inspection 경로Dataplane HW → CPU 분류SND → CoreXL 분류NP/PFE → SSL Proxy 서비스 경로nftables → 프록시 분류
서버측 TLS 세션 수립CP/SoC inspection 경로 + CPUDataplane CPU/모델별 HWCPU (OpenSSL)SSL Proxy 서비스 경로CPU / QAT 구성별
ECDHE 키 교환공식 문서상 TLS protocol processor/crypto 보조CPU/모델별 HW, CPS 공식 공개 범위 확인CPU 코어 수 의존서비스 카드·릴리스별 확인CPU/QAT 구성별, TLS 프록시 통합 방식 확인
RSA CA 서명 (MITM 인증서)SSL inspection 경로, HW 분담 세부 미공개CPU/모델별 HWCPU — 인증서 캐시로 보완SSL Proxy 서비스 경로CPU / QAT RSA 가속 구성별
인증서 캐시 / Session ResumptionFortiOS SSL proxy 정책·캐시Dataplane 메모리 캐시CoreXL 인스턴스 캐시SSL Proxy 정책·캐시OpenSSL Session Cache
클라이언트측 TLS 세션 수립CP/SoC inspection 경로 + CPUDataplane CPU/모델별 HWCPU (OpenSSL)SSL Proxy 서비스 경로CPU / QAT 구성별
AES-GCM 레코드 복호화SSL inspection 경로, 모델별 처리량 확인CPU/모델별 HWCPU AES-NISSL Proxy 서비스 경로kTLS/NIC offload는 endpoint termination 구성에서 확인
DPI / IPS 검사 (평문)CPU + CP9 (Lookaside)CPU SP3 Single-PassCoreXL FW Instanceflowd (CPU)Suricata (NFQUEUE)
AES-GCM 레코드 재암호화SSL inspection 경로, 모델별 처리량 확인CPU/모델별 HWCPU AES-NISSL Proxy 서비스 경로kTLS/NIC offload는 endpoint termination 구성에서 확인
세션 오프로드 가능 여부SSL inspection 세션은 NP fast path와 분리Decryption 세션은 dataplane 검사 경로 통과HTTPS Inspection은 Firewall Path 강제SSL Proxy 서비스 경로 통과프록시 전구간 통과 필요

SSL/TLS 처리 성능 비교

지표Fortinet 7081FPA-5440CP Quantum 28000Juniper SRX5800Linux (ConnectX-7 + QAT)
FW (비암호화)700 Gbps75 Gbps64 Gbps~2 Tbps (EP)200 Gbps (HW offload)
SSL Inspection 처리량35 Gbps12 Gbps7 Gbps공식 데이터시트/카드 구성별 확인프록시·Suricata·QAT 구성별 측정 필요
SSL CPS공식 데이터시트 공개 범위 확인공식 데이터시트 공개 범위 확인모델별 차이공식 미공개/릴리스별 측정 필요CPU/QAT/프록시 구현별 측정 필요
FW 대비 SSL 감소율1/201/61/9모델별1/10~1/20
핸드셰이크 HW 가속CP/SoC inspection 경로모델별 dataplane 자원CPU 중심서비스 카드/플랫폼별QAT 선택, 프록시 통합 필요
레코드 HW 가속CP/SoC inspection 경로모델별 dataplane 자원CPU AES-NI 중심서비스 카드/플랫폼별kTLS/NIC offload는 종단 TLS 구성에서 유효
TLS 1.3 지원FortiOS 7.0+PAN-OS 10.0+R81.20+Junos 21.4+OpenSSL 1.1.1+
공통 원칙: SSL/TLS Inspection 세션은 일반 L4 fast path와 다릅니다. 매 패킷마다 복호화 → 검사 → 재암호화가 필요하므로 단순 ASIC/packet-forwarding bypass로 처리할 수 없습니다. 따라서 SSL Inspection 활성화 비율이 높을수록 전체 NGFW 처리량이 줄어듭니다. 이를 완화하는 전략은: (1) SSL Inspection 바이패스 정책 (신뢰 사이트, Windows Update, CDN 등 제외), (2) Session Resumption (핸드셰이크 비용 절감), (3) 모델별 crypto/inspection 자원 확장입니다.
NGFW TLS MITM Proxy — 핸드셰이크 단계별 HW 가속 비교 TLS MITM Proxy 공통 구조 (모든 벤더 동일) Client TLS① TLS Decrypt 클라이언트측 세션 평문 DPI / IPS / App-ID 평문에 대한 보안 검사 평문 TLS Encrypt 서버측 세션 TLS② Server TLS① = Client↔NGFW 세션 (MITM 인증서) | TLS② = NGFW↔Server 세션 (진짜 인증서) 벤더별 TLS 핸드셰이크 처리 엔진 단계 Fortinet Palo Alto Check Point Juniper Linux ECDHE 키 교환 CP/SoC path CPU only CPU only SPC3 HW CPU / QAT RSA CA 서명 CP/SoC path CPU only CPU + 캐시 SPC3 HW CPU / QAT AES-GCM 복호화 CP/SoC path CPU AES-NI CPU AES-NI SPC3 HW kTLS NIC DPI / IPS 검사 CPU + CP9 SP3 Single-Pass CoreXL FW flowd CPU Suricata AES-GCM 재암호화 CP/SoC path CPU AES-NI CPU AES-NI SPC3 HW kTLS NIC 세션 오프로드 불가 불가 불가 불가 불가 범례 공개된 HW 보조 경로 전용 HW 카드 가속 CPU (AES-NI / SW) CPU 중심/공식 HW 미공개 아키텍처 고유 최적화 TLS 1.2 vs 1.3 핸드셰이크 차이와 NGFW 영향 TLS 1.2 — 2-RTT 핸드셰이크 ClientHello → ServerHello+Cert → KeyExchange → Finished NGFW: SNI 평문 노출 → 정책 적용 가능, 2-RTT 지연 TLS 1.3 — 1-RTT (+ 0-RTT 가능) ClientHello+KeyShare → ServerHello+Cert+Finished (1-RTT) NGFW: PFS 필수(ECDHE 매회), ECH 시 SNI 암호화 → 정책 적용 난이도↑ TLS 1.3은 RTT를 줄이나 CPS 향상은 구현별 | ECH 활성화 시 SNI 단독 정책 약화
상용 NGFW 아키텍처 비교 Fortinet NP7 ASIC SP5 Crypto CP9 DPI CPU (FW) 전용 ASIC 기반 Palo Alto Packet HW NPC Card CPU (Single-Pass App-ID/IPS) Dataplane + CPU 병렬 Check Point SecureXL CoreXL Maestro HyperScale 순수 SW 가속 Linux NGFW eSwitch HW flowtable NFQUEUE nftables SmartNIC + 커널 아래 테이블에서 상세 비교 →
특성Fortinet (NP7/CP/SoC)Palo Alto (SP3/dataplane)Check PointJuniper SRXLinux SmartNIC
Fast Path 방식ASIC session tableDataplane packet-processing hardwareSecureXL Accept TemplateExpress Path NP/PFEeSwitch FDB + flowtable
Fast Path 처리량모델별 NP 수량 의존모델별 데이터시트 의존모델/코어 수 의존NP/PFE 구성 의존NIC·드라이버·flow offload 조건 의존
DPI 방식CPU + CP9 보조CPU (Single-Pass)CPU (CoreXL)CPU (flowd)NFQUEUE + Suricata
IPSec 가속NP/CP/SoC 모델별Dataplane/CPU 모델별CPU/SecureXL 구성별PFE inline IPsec 또는 서비스 경로NIC inline crypto 또는 xfrm/QAT
SSL/TLS 가속CP/SoC inspection 경로Dataplane CPU/모델별 HWCPU/CoreXL 중심SSL Proxy 서비스 경로CPU/QAT/kTLS 구성별
NAT 오프로드NP HWDataplane HWSecureXL SWNP/PFEflowtable/eSwitch
세션 테이블 크기수천만수백만수백만수백만NIC 의존 (수만~수십만 HW)
수평 확장HA clusterHA clusterMaestroChassis cluster커널 네임스페이스(Namespace)/VRF
커스터마이즈제한적 (벤더 종속)제한적중간제한적완전 자유
라이선스 비용높음매우 높음높음높음하드웨어 비용만

상용 NGFW 암호화 처리 비교

암·복호화 트래픽 관점에서 각 벤더의 아키텍처를 비교합니다. SSL/TLS Inspection과 IPSec VPN 처리는 NGFW 성능에서 가장 큰 차이를 만드는 영역입니다.

암호화 특성Fortinet (NP/CP/SoC)Palo Alto (SP3/dataplane)Check Point (SW)Juniper SRX (서비스 카드)Linux (SmartNIC+QAT)
SSL Inspection 가속 방식CP/SoC inspection 경로Dataplane CPU/모델별 HWCPU (CoreXL + AES-NI)SSL Proxy 서비스 경로CPU/QAT/kTLS 구성별
TLS 핸드셰이크 가속공식 문서상 TLS protocol processor 보조모델별 공개 범위 확인CPU 멀티코어서비스 카드/플랫폼별 확인QAT/NITROX 등 선택 구성
TLS 레코드 암·복호화모델별 SSL inspection 처리량으로 확인모델별 SSL decryption 처리량으로 확인CPU (AES-NI)서비스 경로/카드 구성별 확인kTLS NIC offload는 종단 TLS 구성에서 확인
SSL Inspection 처리량35 Gbps (7081F 데이터시트 조건)12 Gbps (PA-5440 데이터시트 조건)7 Gbps (28000 공개 비교 조건)공식 데이터시트/카드 구성별 확인구성·프록시·룰셋별 측정 필요
SSL CPS공식 미공개/모델별공식 미공개/모델별공식 미공개/모델별공식 미공개/모델별구성별 측정 필요
IPSec 가속 방식NP/CP/SoC 모델별Dataplane/CPU 모델별CPU (AES-NI)PFE inline IPsec 또는 서비스 카드NIC inline crypto
IPSec 처리량공식 데이터시트 조건별모델 의존SW/코어 수 의존공식 데이터시트 조건별NIC·SA·드라이버 조건 의존
지원 cipher suiteAES-GCM, ChaCha20AES-GCM, ChaCha20AES-GCM, ChaCha20AES-GCMAES-GCM (NIC 의존)
TLS 1.3 지원지원지원 (초기 지원)지원 (R81.20+)지원 (22.x+)지원 (커널 5.3+)
FIPS 140-2/3인증인증인증인증QAT FIPS 모드 가능
EST 세션 crypto offloadNP/SoC 모델별, SSL inspection은 별도 경로모델별 dataplane 정책 의존HTTPS Inspection은 Firewall PathIPsec/SSL Proxy별 서비스 경로 다름IPsec full offload는 NIC/드라이버 조건 의존
벤더별 암호화 아키텍처 핵심 차이:
  • Fortinet: NP와 CP/SoC inspection 경로를 결합하여 높은 데이터시트 SSL Inspection 성능을 제공합니다. 단, 기능 범위는 모델별 칩 조합에 종속됩니다.
  • Palo Alto: 범용 CPU + SP3 파이프라인 → 유연한 cipher 지원, 빠른 TLS 표준 대응. 단, SSL 처리량 제한적
  • Check Point: 순수 SW → Maestro로 수평 확장 가능. 단, 단일 장비 SSL 성능 가장 낮음
  • Juniper: 섀시와 서비스 카드로 모듈식 확장이 가능하지만, SSL Proxy 성능은 카드 수뿐 아니라 flow 분산과 정책 조건을 함께 봐야 합니다.
  • Linux: QAT(핸드셰이크) + kTLS NIC(레코드) + IPSec full offload 조합 → 가장 유연하지만 통합 복잡
상용 NGFW — 암호화 처리 아키텍처 비교 (SSL Inspection 관점) Fortinet CP/SoC: TLS 보조 CP/SoC: 레코드 보조 NP7: IPSec Full HW CPU: DPI/App-ID만 SSL: 35 Gbps Palo Alto CPU: TLS Handshake CPU: AES-GCM (AES-NI) Packet HW: Session FWD CPU: DPI (Single-Pass) SSL: 12 Gbps Check Point CPU: TLS Handshake CPU: AES-GCM (AES-NI) CPU: SecureXL+CoreXL CPU: DPI (Firewall Path) SSL: 7 Gbps Linux SmartNIC QAT: TLS Handshake HW kTLS NIC: AES-GCM HW NIC: IPSec Full Offload CPU: DPI (Suricata) SSL: 3~8 Gbps Juniper SRX SPC3: TLS Handshake SPC3: AES-GCM HW SPC3: IPSec HW CPU: DPI (flowd) SSL: SPC3 의존 암호화 오프로드 전략의 핵심 인사이트 벤더별 SSL 성능은 공개 데이터시트 조건과 모델별 inspection 자원으로 비교 서비스 카드와 SmartNIC/QAT는 확장 가능하지만 flow 분산과 프록시 통합 조건을 함께 검증 공통점: SSL Inspection은 L4 fast path와 다른 경로이므로 별도 RFC 9411 조건 측정 필요

종합 최적 NGFW H/W 아키텍처

앞의 Fortinet, Palo Alto Networks, Check Point, Juniper, Cisco, Sophos, Linux 기반 구조를 종합하면 최고 성능 NGFW는 특정 벤더의 한 가지 방식만 복제하는 장비가 아닙니다. 최적 구조는 L2~L4 반복 전달, IPsec/TLS crypto, DPI/IPS/App-ID, 파일·샌드박스 연동, 관측성·HA·정책 제어를 서로 다른 하드웨어 계층에 분리하고, 첫 패킷에서 세션을 정확히 분류한 뒤 이후 패킷을 가장 싼 경로로 고정하는 구조입니다.

설계 전제: 이 절은 공개 문서에서 확인되는 아키텍처 원칙을 종합한 목표 모델입니다. 특정 벤더 내부 ASIC 배치, 비공개 bus 폭, 비공개 TLS CPS, 내부 cache 크기는 추정하지 않습니다. 성능 목표는 RFC 9411 방식으로 FW, NGFW, HTTPS throughput, HTTPS CPS, concurrent connection, latency를 분리 측정해야 합니다.

최고 성능을 위한 10가지 설계 원칙

원칙구현 방향벤더 사례에서 얻는 교훈실패하는 설계
1. First packet은 풍부하게, subsequent packet은 싸게첫 패킷은 CPU/DPI에서 정책·앱·TLS·위험도를 충분히 판정하고, 허용된 후속 패킷은 ASIC/NPU/DPU fast path로 고정합니다.Fortinet NP, Palo Alto dataplane, Check Point SecureXL, Juniper Express Path, Cisco flow offload, Sophos FastPath가 모두 이 원칙을 공유합니다.모든 패킷을 CPU/DPI로 보내면 100G 이상에서 메모리 대역폭과 context switch가 먼저 막힙니다.
2. L4 fast path와 TLS inspection path를 분리세션/NAT/QoS/DoS는 inline fast path, TLS 복호화·재암호화·평문 검사는 별도 service path로 분리합니다.SSL Inspection이 켜진 세션은 일반 FW 처리량과 다른 병목을 갖습니다.Firewall 최대 처리량을 TLS Inspection capacity로 착각하면 sizing이 실패합니다.
3. Inline과 lookaside를 혼합짧고 반복적인 per-packet 작업은 inline, 비싼 crypto·DPI·파일 검사는 lookaside 또는 service card/DPU로 보냅니다.NP/PFE/eSwitch는 inline에 강하고, QAT/SPC/DPU/CPU worker는 lookaside 작업에 적합합니다.모든 기능을 하나의 inline ASIC에 넣으면 유연성이 떨어지고, 모든 기능을 CPU에 두면 처리량이 부족합니다.
4. Flow affinity를 하드웨어 계약으로 보장5-tuple, NAT 후 tuple, TLS proxy 양방향 세션, IPsec SA, DPI state가 같은 worker 또는 같은 service slice에 머물도록 합니다.CoreXL, Snort worker, DPDK eventdev, RSS/RPS는 모두 affinity와 재분산의 균형이 핵심입니다.패킷마다 worker가 바뀌면 lock, cache miss, state lookup 비용이 급증합니다.
5. Crypto는 세 가지로 나눕니다IPsec ESP data path, TLS handshake/인증서, TLS record bulk crypto를 서로 다른 엔진과 queue로 분리합니다.IPsec full offload, TLS hardware decryption, PKI acceleration은 같은 crypto라는 이름이지만 병목이 다릅니다.RSA/ECDHE 가속 수치를 AES-GCM record 처리량 또는 TLS Inspection 전체 성능으로 오해합니다.
6. DPI는 stream engine과 verdict cache를 분리초기 stream 재조립과 signature 평가를 CPU/NPU worker가 수행하고, verdict는 fast path가 읽을 수 있는 세션 metadata로 남깁니다.Snort 3, Xstream DPI, App-ID, Suricata 모두 평문 stream 처리 비용이 큽니다.DPI 결과를 캐시하지 않으면 같은 flow의 모든 패킷이 비싼 검사 경로를 반복합니다.
7. Control plane은 dataplane과 물리적으로 격리관리, 로그, route update, threat intelligence, 인증서/OCSP, HA sync는 별도 CPU/management fabric으로 분리합니다.PA-7500 MPC, chassis fabric, Fortinet FIM/FPM 분리, Maestro/SMO 구조가 이 필요성을 보여줍니다.로그 폭주나 관리 plane 장애가 packet forwarding을 멈추게 합니다.
8. Backpressure를 설계합니다DPI queue, crypto queue, sandbox queue, log queue가 포화될 때 drop, bypass, fail-close/fail-open 정책을 명확히 둡니다.RFC 9411 관점에서도 단순 throughput보다 latency, transaction, connection ramp-up이 중요합니다.queue가 무한히 쌓이면 지연이 폭증하고 TCP timeout이 전체 성능을 무너뜨립니다.
9. 관측성은 fast path 안에 넣습니다hardware counter, sampled packet digest, flow state reason, offload miss reason을 dataplane에서 직접 남깁니다.offloaded 세션은 CPU packet capture에 보이지 않을 수 있으므로 별도 telemetry가 필요합니다.성능 문제가 생겨도 어떤 세션이 왜 offload되지 않았는지 알 수 없습니다.
10. PQC/ECH/QUIC 변화에 대비합니다고정 ASIC만으로 끝내지 않고 DPU/FPGA/programmable parser와 CPU software update 경로를 남깁니다.ECH는 SNI 기반 정책을 약화시키고, PQC는 handshake 크기와 crypto 비용을 바꿉니다.현재 TLS 1.2/RSA 중심 ASIC에만 최적화하면 새 TLS 생태계에서 병목이 바뀝니다.

목표 참조 아키텍처

아래 목표 모델은 “최고 L4 처리량”과 “최고 보안 처리량”을 동시에 노리는 구조입니다. 핵심은 하나의 거대한 fast path가 아니라, fast path, service path, deep path, control path를 명확히 분리하고 세션 metadata로 다시 묶는 것입니다.

최고 성능 NGFW 목표 H/W 아키텍처 Ingress Ports 100G/400G PHY bypass / timestamp Ingress NPU / ASIC parser / ACL prefilter session lookup NAT / QoS / DoS offload miss reason Session Metadata SRAM 5-tuple / NAT tuple policy verdict TLS / IPsec state id DPI verdict cache Egress NPU / ASIC rewrite / encapsulate queue / shaping mirror / sample HA state marker Egress Ports forward / drop fail-open option Crypto Service Complex IPsec full / crypto offload TLS handshake assist TLS record bulk crypto PQC-ready software fallback DPI / App-ID Worker Pool stream reassembly IPS / AV / URL / file ML / sandbox enqueue verdict publish DPU / Service Card tenant isolation service chaining zero-trust east-west programmable parser Control Plane policy compile / route / cert threat intel / OCSP / logs management isolated CPU Telemetry Plane offload hit/miss reason hardware counters / samples RFC 9411 KPI export HA / Fabric Plane session sync / SA sync fabric scheduling failover rebuild policy 핵심 sizing 규칙 port capacity는 ingress/egress ASIC으로, security capacity는 crypto service와 DPI worker로, operational capacity는 telemetry/HA/control plane으로 따로 산정합니다.

Plane별 하드웨어 구성

Plane권장 하드웨어주요 기능성능 지표분리해야 하는 이유
Ingress/Egress Fast PathNPU/ASIC, eSwitch, PFE, NP 계열parser, ACL prefilter, session lookup, NAT rewrite, QoS, telemetry samplePPS, L4 throughput, concurrent sessions, offload hit ratio가장 반복되는 작업이므로 CPU와 분리해야 전체 처리량이 유지됩니다.
Session Metadata고속 SRAM/TCAM + DRAM backing store5-tuple, NAT tuple, policy id, crypto state id, DPI verdict, aginglookup latency, hash collision, update rate, HA sync ratefast path와 deep path가 같은 세션 사실을 공유해야 합니다.
Crypto Serviceinline crypto engine, QAT/NITROX류 accelerator, DPU crypto blockIPsec ESP, TLS handshake assist, TLS record bulk crypto, certificate signing 보조IPsec throughput, HTTPS throughput, HTTPS CPS, queue latencycrypto 병목은 L4 forwarding이나 DPI 병목과 성격이 다릅니다.
DPI/App-ID고클럭 CPU, NUMA-local memory, SIMD, optional NPU/FPGA pattern assiststream reassembly, IPS signature, URL/app classification, AV/file extractionNGFW throughput, threat prevention throughput, per-flow latencyL7 검사는 룰셋과 업데이트 주기가 빨라 programmable CPU 자원이 필요합니다.
DPU/Service CardBlueField류 DPU, service processing card, programmable NICtenant isolation, east-west firewall, IPsec full offload, service chaining, sandbox gatewayservice-chain throughput, isolation overhead, per-tenant quotadatacenter 내부 동서 트래픽과 멀티테넌트 격리를 별도 확장할 수 있습니다.
Event SchedulerDPDK eventdev/DLB/SSO류 scheduler 또는 ASIC flow distributorordered, atomic, parallel queue 분배, flow affinity, backpressurequeue depth, reorder latency, worker utilizationRSS만으로는 DPI/crypto/file 검사 부하가 동적으로 균형 잡히지 않습니다.
Control/Management분리된 management CPU, secure boot, TPM/HSM, management NIC정책 컴파일, route, certificate, OCSP/CRL, threat intel, 관리 GUI/APIpolicy install time, log ingest, route convergence관리 작업이 dataplane CPU를 잠식하지 않아야 합니다.
Telemetry/HAhardware counter, flow digest engine, HA fabric, NVRAM/log bufferoffload reason, packet sample, session/SA sync, failover rebuildsample rate, sync lag, failover packet loss, debug visibilityoffload가 강할수록 CPU 기반 packet capture만으로는 진단이 불충분합니다.

트래픽 유형별 최적 경로 매트릭스

트래픽 유형최적 주 경로필수 하드웨어Deep path 진입 조건Sizing 기준
단순 EST TCP/UDPIngress NPU -> Session SRAM -> Egress NPUNPU/ASIC session table, NAT/QoS engine정책 변경, 로깅 샘플, 이상 플로우, app 재분류PPS, concurrent sessions, offload hit ratio
NAT/CGN 대량 세션NPU NAT table + port block allocatorTCAM/SRAM NAT table, atomic allocator, HA syncALG, hairpin, fragment, port exhaustionCPS, NAT binding update rate, HA state size
IPsec site-to-siteSA lookup -> inline crypto/full offload -> fast pathIPsec crypto engine, anti-replay, SA tableunsupported cipher, NAT-T 특수 처리, rekey burstVPN throughput, SA count, rekey CPS, anti-replay window
SSL/TLS Forward ProxyCrypto service -> DPI worker -> record re-encryptTLS handshake assist, certificate cache, DPI CPU, queue schedulerclient auth, certificate pinning, unsupported cipher, ECH policyHTTPS throughput, HTTPS CPS, handshake latency, DPI rule set
QUIC/HTTP/3UDP fast path + QUIC-aware classifier + selective deep pathUDP flow cache, QUIC parser, policy metadataunknown ALPN, ECH/DoH, risk score 상승UDP CPS, QUIC transaction latency, app mix
파일/멀웨어 검사DPI stream -> file extractor -> sandbox queue -> verdict cachelarge memory, SSD/NVMe buffer, sandbox link, backpressure queueunknown file, high-risk MIME, archive nestingfile/sec, queue latency, max object size, fail policy
DDoS/scan trafficIngress NPU/XDP prefilter -> drop templaterate counter, sketch/filter, hardware drop rule정상 트래픽과 유사한 L7 공격drop PPS, rule install latency, false positive
East-West tenant trafficDPU/eSwitch local firewall -> central policy syncDPU Arm/accelerator, eSwitch, per-tenant tablecross-tenant service chain, TLS inspection, mirror 정책per-tenant throughput, isolation overhead, policy scale

Scheduler와 Queue 설계

최고 성능 NGFW에서 가장 쉽게 과소평가되는 부분은 scheduler입니다. RSS는 NIC queue로 첫 분산을 제공하지만, DPI, crypto, file extraction, sandbox, logging은 flow별 비용이 크게 다릅니다. 따라서 DPDK eventdev가 설명하는 ordered, atomic, parallel scheduling 개념처럼 순서 보존이 필요한 작업, flow state lock이 필요한 작업, 완전 병렬 가능한 작업을 queue 단계에서 구분해야 합니다.

NGFW Scheduler / Queue 목표 구조 NIC RSS port / queue 분산 Fast Queue EST / NAT / QoS parallel 가능 lowest latency Crypto Queue IPsec / TLS batch + DMA queue depth guard DPI Queue stream state ordered per-flow rule cost aware Verdict Cache fast path publish Parallel Work stateless ACL known clean flow Atomic Work conntrack update NAT binding / SA state Ordered Work TCP stream DPI TLS proxy records Backpressure fail-close/open bypass / drop policy 운영 규칙 queue마다 latency budget과 drop/bypass/fail-close 정책을 미리 정하고, worker utilization이 아니라 tail latency와 offload miss reason을 기준으로 튜닝합니다.

메모리, NUMA, Fabric 설계

최고 성능 NGFW는 packet engine보다 메모리와 내부 fabric에서 먼저 실패하는 경우가 많습니다. 세션 테이블, TLS proxy buffer, TCP stream 재조립, file extraction, log buffer가 같은 DRAM 채널을 공유하면 fast path가 아무리 빨라도 L7 성능이 떨어집니다.

설계 항목권장 구성이유검증 방법
NUMA localityNIC/NPU port group, CPU worker, crypto accelerator를 같은 NUMA domain에 배치합니다.remote memory access와 PCIe hop이 TLS/DPI latency를 증가시킵니다.port별 worker pinning, per-NUMA throughput, p99 latency 비교
Session SRAM tierhot session은 SRAM/TCAM, cold session은 DRAM backing store로 계층화합니다.수천만 세션 전체를 동일 속도로 처리할 필요는 없지만 hot flow lookup은 예측 가능해야 합니다.hash collision, aging storm, burst CPS 테스트
DPI buffer poolstream reassembly와 file extraction buffer를 fast path memory와 분리합니다.대용량 파일 검사와 archive 분석이 L4 forwarding memory를 잠식하지 않아야 합니다.file mix traffic에서 FW latency 동시 측정
Fabric over-subscriptioningress, service card, crypto, egress 사이 fabric을 기능별 peak 합산으로 산정합니다.TLS Inspection은 같은 payload가 decrypt, DPI, re-encrypt를 거치며 내부 이동량을 키웁니다.FW-only, TLS-only, mixed traffic별 internal fabric counter 확인
Log/telemetry bufferpacket path와 분리된 ring/NVRAM/log DMA 경로를 둡니다.log 폭주가 packet forwarding을 막으면 보안 장비가 장애 원인이 됩니다.logging full, SIEM outage, packet sample burst 테스트

Crypto 설계 관점

crypto는 “가속기가 있으면 빠릅니다”로 끝나지 않습니다. IPsec, TLS handshake, TLS record, certificate signing, PQC fallback은 서로 다른 data shape와 queue 특성을 갖습니다.

Crypto 유형최적 위치하드웨어 요구주의점
IPsec ESP bulkinline NPU/DPU crypto 또는 full offloadSA table, anti-replay, NAT-T 처리, AES-GCM pipelineIKE/rekey는 CPU, ESP data path는 hardware로 나누어야 합니다.
TLS Forward Proxy handshakecrypto service queue + CPU policy pathECDHE/RSA/ECDSA, certificate cache, OCSP/CRL 비동기 처리client-side와 server-side TLS 세션 2개를 만드는 비용을 CPS로 측정해야 합니다.
TLS record bulk가능하면 dedicated crypto block, 아니면 CPU AES-NI/VAESAES-GCM, ChaCha20-Poly1305, key update, record orderingkTLS/NIC TLS offload는 endpoint termination과 프록시 통합 조건을 확인해야 합니다.
Certificate re-signingPKI accelerator 또는 CPU/HSMprivate key protection, cache, HSM/FIPS optionPKI acceleration은 TLS payload 전체 offload와 다릅니다.
PQC hybrid TLSCPU software fallback + update 가능한 DPU/FPGA path큰 key share buffer, ML-KEM library, handshake fragmentation 대응2026년 6월 기준 대부분 NGFW ASIC 공개 자료는 ML-KEM 가속 범위를 명확히 제시하지 않습니다.

성능과 보안 정확성의 균형

최고 성능 구조는 더 많은 세션을 offload하는 구조가 아니라, offload해도 되는 세션과 절대 offload하면 안 되는 세션을 정확히 구분하는 구조입니다. 성능 최적화가 보안 회피 경로가 되면 NGFW의 목적이 무너집니다.

검토 관점좋은 설계나쁜 설계운영 확인 항목
정책 변경정책 변경 시 영향 세션의 fast path entry를 선택적으로 무효화합니다.전체 table flush로 대규모 지연을 만들거나, 오래된 verdict를 유지합니다.policy install time, stale verdict count
App reclassification초기에는 low-cost 분류, 위험 신호가 나오면 deep path로 승격합니다.초기 App-ID만 믿고 장기 세션을 영구 offload합니다.reclassify event, long-lived flow audit
TLS 예외pinning, 금융, 개인정보, client cert, ECH 정책을 명확히 분리합니다.성능을 위해 broad bypass를 만들고 visibility를 잃습니다.decrypt bypass reason, domain/IP reputation
Fail policyqueue별 fail-open/fail-close를 업무 위험도에 맞게 다르게 둡니다.DPI queue 포화 시 무조건 bypass하거나 무조건 drop합니다.queue depth, tail latency, fail action counter
Debug visibilityoffload miss reason과 hardware counter를 정책 로그와 연결합니다.fast path packet이 CPU capture에 안 보이는 상태로 운영합니다.flow id, path id, offload state, sampled packet

최적 아키텍처 산정 체크리스트

  1. 트래픽을 먼저 나눕니다.
    FW-only, NAT/CGN, IPsec, TLS Inspection, QUIC, 파일 검사, east-west, DDoS/scan 비율을 분리합니다.
  2. 각 비율을 다른 하드웨어 plane에 매핑합니다.
    L4는 NPU/ASIC, IPsec은 crypto engine, TLS는 crypto+DPI, 파일 검사는 memory+sandbox queue, east-west는 DPU/eSwitch로 분리합니다.
  3. 성능 수치를 하나로 합치지 않습니다.
    Firewall Gbps, NGFW Gbps, TLS Inspection Gbps, HTTPS CPS, concurrent sessions, latency를 서로 다른 KPI로 유지합니다.
  4. Offload hit ratio를 목표값으로 둡니다.
    전체 처리량 목표보다 “어떤 세션이 왜 fast path에 못 들어갔는가”를 추적해야 튜닝이 가능합니다.
  5. Crypto queue와 DPI queue를 따로 포화시킵니다.
    TLS handshake burst, AES-GCM bulk, IPS rule-heavy stream, 파일 검사 burst를 독립 테스트합니다.
  6. HA와 장애를 성능 시험에 포함합니다.
    session sync, SA sync, policy update, active-passive failover, service card 장애 시 fast path 재구축 시간을 측정합니다.
  7. 미래 프로토콜을 반영합니다.
    TLS 1.3, QUIC/HTTP/3, ECH, DoH/DoQ, ML-KEM hybrid TLS를 별도 프로파일로 준비합니다.

2026년 구매 가능한 제품으로 구성하는 방법

2026년 6월 기준으로 직접 구현형 최고 성능 NGFW appliance를 만든다면, 단일 부품으로 모든 plane을 만족시키기보다 server CPU + DPU/SmartNIC + crypto accelerator + 고속 NIC/switch + DDR5/NVMe를 조합하는 것이 현실적입니다. 아래 표의 “구매 가능”은 제조사가 공식 제품군을 유지하고 OEM/총판/파트너 경로로 조달 가능한 범주를 뜻합니다. 실제 SKU, 리드타임, 펌웨어 기능, 드라이버 지원, 수출통제, 보안 인증은 구매 시점에 별도 확인해야 합니다.

Plane / 기능2026년 후보 제품군제조사충족하는 역할선택 기준
Host CPU / DPI workerIntel Xeon 6 P-core / E-core, AMD EPYC 9005Intel, AMDDPI, App-ID, TLS proxy, policy compile, Suricata/Snort 계열 worker, management/control planeQAT/DLB/DSA 내장 accelerator가 필요하면 Xeon 6가 유리하고, 순수 CPU core·memory bandwidth·PCIe lane을 많이 쓰면 EPYC 9005가 강합니다.
Crypto accelerationIntel QAT 내장 Xeon 6, NVIDIA BlueField-3 IPsec crypto, NVIDIA ConnectX-7 crypto offloadIntel, NVIDIAIPsec ESP, TLS handshake/record 보조, compression, crypto queue 분리TLS proxy software가 QAT과 통합되어 있는지, IPsec offload가 xfrm/OVS/DOCA 경로에서 동작하는지 확인합니다.
DPU / Service cardNVIDIA BlueField-3 DPU, AMD Pensando Salina DPUNVIDIA, AMDeast-west firewall, tenant isolation, service chaining, IPsec offload, host CPU isolation, programmable infrastructure servicesDOCA/OVS/DPDK 생태계와 서버 호환성이 중요하면 BlueField-3, appliance/서비스 체인/클라우드 네트워킹 통합 방향이면 Pensando 계열을 검토합니다.
FPGA / Adaptive datapathAMD Alveo V80/U55C/U50, AMD Versal Premium, Intel/Altera Agilex 7, BittWare IA-780i, Napatech N3070X, Achronix Speedster7t/VectorPathAMD, Intel/Altera, BittWare, Napatech, Achronixcustom parser, QUIC/ECH 전처리, packet feature extraction, inline filtering, telemetry digest, P4/RTL 기반 특수 경로상용 ASIC처럼 즉시 쓸 수 있는 NGFW 엔진이 아니라 직접 RTL/HLS/oneAPI/Vitis/SDK 개발이 필요합니다. 대신 프로토콜 변화와 특수 pipeline 대응력이 가장 높습니다.
High-speed NIC / eSwitchNVIDIA ConnectX-7, Intel Ethernet E810NVIDIA, Intel100G/200G/400G 포트, RSS, SR-IOV, switchdev/TC offload, flow steering, timestamping400G와 DPU/DOCA 연계는 ConnectX-7/BlueField 계열이 유리하고, 100G x86/Linux ice 드라이버 기반 설계는 E810이 현실적입니다.
External fabric / lab switchNVIDIA Spectrum SN5600, Broadcom Tomahawk 5 기반 스위치, Marvell Teralynx 10 기반 스위치NVIDIA, Broadcom, Marvell/OEM400G/800G leaf-spine, packet generator 연결, HA pair/fabric, telemetry, service cluster 확장완제품 스위치가 필요하면 NVIDIA Spectrum, merchant silicon 기반 OEM/ODM 설계는 Tomahawk/Teralynx 계열을 검토합니다.
MemoryDDR5 RDIMM/MRDIMM, 128GB급 RDIMM, 256GB급 RDIMM validation 제품군Micron 등DPI stream buffer, TLS proxy buffer, file extraction, session table backing store, 로그 버퍼DPI와 TLS proxy는 memory bandwidth와 capacity가 동시에 필요하므로 socket당 채널 수와 NUMA locality를 우선합니다.
NVMe / logging / sandbox bufferMicron 9550, KIOXIA CM7, Solidigm D7 계열Micron, KIOXIA, Solidigmpacket sample, PCAP ring, malware/file staging, local log spool, crash dump쓰기 내구성, PLP, OCP telemetry, sustained write latency, thermal throttling을 봅니다.
Security root / key custodyTPM 2.0, HSM/PKCS#11 appliance 또는 PCIe HSM플랫폼/OEM, HSM 벤더Secure Boot, attestation, CA private key 보호, FIPS 요구 대응TLS Forward Proxy CA 키를 host filesystem에 두지 않고 HSM 또는 최소 TPM-backed key protection으로 보호합니다.

FPGA / Adaptive SoC 후보군

FPGA는 최적 NGFW H/W 아키텍처에서 상용 ASIC과 범용 CPU 사이의 programmable fast path 역할을 할 수 있습니다. 특히 ECH/QUIC/HTTP3, 신규 tunnel header, proprietary telemetry, ultra-low-latency prefilter, packet digest 생성처럼 고정 ASIC 업데이트 주기보다 빠르게 바뀌는 기능에 적합합니다. 다만 FPGA는 “구매하면 바로 NGFW가 되는 부품”이 아니라, RTL/HLS/oneAPI/Vitis/SDK로 pipeline을 직접 구현해야 하는 제품군입니다.

제품군제조사/공급 형태NGFW에서 맡기 좋은 역할장점주의점
AMD Alveo V80 / U55C / U50AMD data center accelerator cardcustom packet parser, hashing, signature prefilter, compression, telemetry digest, low-latency side acceleratorAMD가 Alveo accelerator card portfolio를 유지하고, Vivado/Vitis 기반 전통 FPGA 개발과 datacenter 배포를 지원합니다.NIC처럼 inline 포트가 충분한 모델과 host-attached accelerator 모델을 구분해야 합니다. TLS/DPI 전체를 자동 처리하지 않습니다.
AMD Versal Premium / Premium Gen 2AMD adaptive SoC, 보드/OEM 설계용 silicon800G급 secure network appliance, hardened Ethernet/Interlaken, high-speed crypto, custom service cardVersal Premium은 112G PAM4, 400G High-Speed Crypto Engine, PCIe/CXL 등 network appliance용 hard IP를 제공합니다.카드 완제품보다 보드 설계/OEM 통합 성격이 강합니다. 제품화에는 SI/thermal/firmware 개발 비용이 큽니다.
Intel/Altera Agilex 7 I-SeriesIntel/Altera FPGA, 카드/OEM 설계용PCIe Gen5/CXL host-attached packet accelerator, 400G parser, flow feature extraction, DPDK/oneAPI pipelineAgilex 7 I-Series는 bandwidth intensive workload와 high performance processor interface에 적합하며 PCIe Gen5/CXL 방향성이 좋습니다.Altera/Intel FPGA toolchain, IP licensing, board vendor별 BSP 차이를 고려해야 합니다.
BittWare IA-780iBittWare production PCIe FPGA card, Intel Agilex 7 기반400G + PCIe Gen5 single-width inline/side accelerator, packet prefilter, FPGA 기반 telemetry, custom DPU 보조BittWare 공식 제품 페이지가 production/in-stock 상태와 2×QSFP-DD 400G, PCIe Gen5/CXL 지원을 제시합니다.NGFW datapath IP는 직접 개발 또는 파트너 IP가 필요합니다. Linux driver와 FPGA image 운영 체계를 설계해야 합니다.
Napatech N3070XNapatech 400G programmable SmartNIC, Altera Agilex FPGA 기반고속 packet capture, inline filtering, flow-aware prefilter, monitoring/recording, DPI 전 단계 packet reductionNapatech는 400G PCIe Gen5 SmartNIC와 production-grade software package를 함께 제공합니다.NGFW inline 차단/정책 엔진까지 어느 범위가 제공되는지 Link-Capture/Virtualization/Inline 패키지와 라이선스를 확인해야 합니다.
Achronix Speedster7t / VectorPathAchronix FPGA 및 VectorPath accelerator card400G Ethernet, PCIe Gen5, GDDR6 bandwidth를 활용한 custom high-bandwidth datapath, ML feature extractionSpeedster7t는 2D NoC, 400G Ethernet, PCIe Gen5, GDDR6를 내세우며 networking/data center acceleration에 적합합니다.생태계와 파트너 IP 범위가 AMD/Intel보다 좁을 수 있어 개발팀의 FPGA 역량이 중요합니다.
FPGA / Adaptive SoC를 NGFW fast path에 배치하는 방식 Ingress NIC 100G/400G FPGA Prefilter custom parser ACL / hash / sketch QUIC/ECH metadata packet digest DPU / NPU flow table service chaining IPsec offload tenant isolation CPU DPI / TLS stream reassembly IPS / URL / AV TLS proxy policy verdict Egress forward/drop AMD 계열 Alveo V80 / U55C / U50 Versal Premium Vitis / Vivado Intel/Altera 계열 Agilex 7 I-Series BittWare IA-780i Napatech N3070X Achronix 계열 Speedster7t VectorPath card 2D NoC / GDDR6 적합한 기능 프로토콜 전처리 특수 telemetry 초저지연 prefilter FPGA는 상용 NGFW ASIC을 대체하기보다, 빠르게 변하는 parser/prefilter/telemetry 기능을 programmable fast path로 보강하는 후보입니다.
2026 구매 가능 부품 기반 최고 성능 NGFW 구성 예 400G / 100G Ports QSFP112 / QSFP28 bypass pair option NIC / eSwitch NVIDIA ConnectX-7 Intel E810 RSS / SR-IOV / TC offload flow steering DPU / Service Card NVIDIA BlueField-3 AMD Pensando Salina service chaining tenant isolation / IPsec Host CPU Intel Xeon 6 + QAT/DLB AMD EPYC 9005 DPI / TLS proxy policy / control Crypto Engine Intel QAT BlueField IPsec offload ConnectX crypto offload DPI / App-ID Snort 3 / Suricata nDPI / Hyperscan NUMA-local memory Memory / NVMe DDR5 RDIMM / MRDIMM Micron 9550 / KIOXIA CM7 Solidigm D7 외부 Fabric / 확장 NVIDIA Spectrum SN5600 / Broadcom Tomahawk 5 기반 switch Marvell Teralynx 10 기반 OEM/ODM switch 현실적인 최적 구성은 NIC/DPU가 L4와 east-west를 줄이고, CPU가 DPI/TLS 정책을 처리하며, QAT/DPU crypto가 IPsec/TLS 비용을 분리하는 형태입니다.

구현 목적별 권장 조합

목표권장 조합장점주의점
범용 고성능 100G NGFW applianceIntel Xeon 6 + Intel E810 100GbE + QAT + DDR5 RDIMM + enterprise NVMeLinux ice 드라이버, QAT, DLB/DSA 활용 여지가 크고 100G급 PoC와 상용 appliance 구현이 현실적입니다.400G 단일 포트 집약도와 DPU resident service chaining은 별도 보강이 필요합니다.
400G급 DPU 중심 applianceNVIDIA BlueField-3 DPU 또는 ConnectX-7 + Xeon 6/EPYC 9005 host + DDR5 + NVMeDPU/SmartNIC에서 IPsec, eSwitch, OVS/DOCA, tenant isolation을 다루기 좋습니다.TLS Forward Proxy와 DPI 전체를 DPU만으로 해결하려고 하면 안 되고, host CPU worker와 service queue 설계가 필요합니다.
CPU/DPI 최대 처리량 우선AMD EPYC 9005 + NVIDIA ConnectX-7 또는 Intel E810 + 별도 DPU/crypto accelerator많은 코어, memory bandwidth, PCIe lane을 DPI worker와 TLS proxy에 투입하기 좋습니다.QAT/DLB 같은 Intel 내장 accelerator에 의존하는 소프트웨어 경로는 별도 이식 또는 대체가 필요합니다.
멀티테넌트 / east-west 보안NVIDIA BlueField-3 또는 AMD Pensando Salina DPU + host CPU + ToR switch fabrictenant별 policy, service chaining, host isolation, 가상화 환경 보안에 유리합니다.north-south 대형 TLS Inspection appliance와 같은 sizing 기준을 적용하면 안 됩니다.
대규모 HA/cluster lab2대 이상 appliance + NVIDIA Spectrum SN5600 또는 Tomahawk/Teralynx 기반 switch + RFC 9411 traffic generatorfailover, session sync, fabric congestion, telemetry를 실제에 가깝게 검증할 수 있습니다.스위치 chip 성능이 NGFW 보안 처리량을 보장하지 않으므로 appliance 내부 병목을 따로 측정해야 합니다.
구매 가능한 부품으로도 남는 공백: 2026년 현재 일반 구매 가능한 CPU/DPU/NIC 조합만으로 Fortinet NP7/CP 계열이나 Palo Alto PA-7500 dataplane처럼 완전히 통합된 상용 NGFW ASIC을 그대로 재현하기는 어렵습니다. 직접 구현형 최적 구조는 programmable DPU/SmartNIC + 강한 host CPU + 검증된 crypto accelerator + 세밀한 scheduler로 접근해야 하며, 제품화 단계에서는 thermal, power budget, secure boot, FIPS/CC 인증, support lifecycle, RMA 체계가 성능만큼 중요합니다.
제품군 확인용 공식 링크:
공식 근거로 연결되는 설계 요소:
  • RFC 9411은 NGFW/NGIPS 벤치마크에서 HTTPS throughput, HTTPS CPS, transaction latency, concurrent connection을 분리 측정하는 방법론을 제공합니다.
  • Linux nf_flowtable 문서는 software flowtable fast path와 hardware offload datapath를 구분합니다.
  • DPDK eventdev 문서는 ordered, atomic, parallel scheduling으로 flow affinity와 병렬성을 함께 다루는 모델을 제공합니다.
  • NVIDIA BlueField IPsec 문서는 DPU에서 transparent IPsec, crypto offload, full offload를 분리해 설명합니다.
  • 앞 절의 Fortinet, Palo Alto, Check Point, Juniper, Cisco, Sophos 공식 문서들은 모두 fast path와 deep/service path를 분리해서 sizing해야 함을 보여줍니다.

주요 NGFW 패킷 유형별 고성능 처리 흐름

NGFW 성능은 "장비 전체 처리량"보다 패킷 유형별로 어느 경로에 태우는지가 더 중요합니다. 같은 100Gbps 링크라도 단순 EST 세션, NAT 세션, IPsec 터널, SSL Inspection 세션, QUIC/ECH 세션, 파일 검사 세션은 병목 위치가 완전히 다릅니다. 고성능 설계의 핵심은 첫 패킷에서 충분히 분류하고, 이후 패킷은 가장 싼 경로로 고정하며, 비싼 L7 검사는 필요한 세션에만 적용하는 것입니다.

패킷 유형별 NGFW 고성능 경로 선택 Ingress Packet 5-tuple / zone mark / metadata First Packet Classifier policy / route / NAT app hint / TLS SNI risk score / service profile EST L4 Fast Path session key in ASIC/NPU/NIC NAT / CGN / Rewrite header rewrite in fast path IPsec / VPN SA lookup + inline crypto TLS Inspection MITM proxy / decrypt DPI / re-encrypt Unknown / QUIC / ECH DNS / endpoint / policy fallback Wire-Speed Egress minimal CPU touch Fast Rewrite Egress checksum / TTL / tuple update Encrypted Tunnel Egress ESP/GRE/VXLAN encapsulation Inspected Egress allow/drop/log/verdict cache future packets use cached decision 핵심 원칙: 비싼 검사는 첫 패킷·초기 바이트·위험 세션에 집중하고, 확정된 세션은 ASIC/NPU/NIC/flow cache에 고정합니다.
패킷 유형권장 고성능 경로벤더별 대표 구현튜닝 포인트성능 상한을 만드는 요소
단순 EST TCP/UDP 세션첫 패킷만 CPU/정책 엔진에서 판정하고, 이후 패킷은 ASIC/NPU/NIC 세션 테이블에서 직접 전달합니다.Fortinet NP7, Palo Alto dataplane fast path, Check Point SecureXL Accept Template, Juniper Express Path, Cisco flow offload, Sophos FastPath/Xstream Flow Processor, Linux nf_flowtable/eSwitch정책을 5-tuple/zone 중심으로 단순화하고, 로깅·QoS·DPI 예외를 최소화합니다.세션 테이블 메모리, hash 충돌, per-flow aging, 작은 패킷 PPS
NAT/CGN 세션NAT decision은 첫 패킷에서 만들고, tuple rewrite와 checksum update는 fast path에 설치합니다.Fortinet NP7 policy/NAT engine, Check Point NAT Templates, Juniper NP rewrite, Linux flowtable NAT offloadNAT pool을 분산하고, hairpin/ALG/비대칭 라우팅을 줄입니다.포트 고갈, NAT binding 동기화, ALG가 유발하는 slow path
IPsec 터널IKE는 CPU가 처리하고, ESP 데이터 패킷은 SA lookup 후 inline crypto 또는 전용 crypto accelerator로 보냅니다.Fortinet NP7/CP, Juniper PFE inline IPsec/SPC3, Cisco crypto accelerator, Sophos XFRM/FastPath IPsec acceleration, Linux xfrm offload/QATSA와 cleartext session affinity를 맞추고, AES-GCM과 large anti-replay window를 하드웨어 지원 범위 안에서 씁니다.SA 분산 불균형, 재전송/anti-replay, tunnel fragmentation, NAT-T
SSL/TLS InspectionTLS 세션을 client-NGFW, NGFW-server 두 세션으로 분리하고, 복호화된 평문만 DPI로 보낸 뒤 verdict를 캐시합니다.Fortinet CP9/CP10/SoC path, Palo Alto SSL Forward Proxy, Check Point HTTPS Inspection/CoreXL, Juniper SSL Proxy, Cisco TLS hardware decryption + Snort 3, Sophos DPI Engine + PKI acceleration복호화 대상 도메인을 선별하고, 인증서 pinning·client auth·금융/개인정보 예외를 명확히 분리합니다.TLS CPS, ECDHE/RSA 연산, AES-GCM 처리량, DPI rule set, 인증서 캐시
QUIC/HTTP3UDP/443을 무조건 fast path로 보내지 않고, SNI/ALPN/DNS/endpoint telemetry로 분류한 뒤 정책상 허용 가능한 세션만 offload합니다.대부분 벤더의 App-ID/URL Filtering + DNS 보안, Linux eBPF/nftables + DNS 로그 상관필요 시 QUIC 차단 후 TCP/TLS fallback을 유도하고, SaaS/CDN 예외 정책을 별도로 둡니다.UDP connection tracking, 암호화된 L7 metadata 부족, CDN 공유 IP
ECH/DoH 환경SNI가 보이지 않는 세션은 DNS control, endpoint agent, SASE/SSE 연동, IP 평판, JA4/flow fingerprint로 보완합니다.Palo Alto PQC/ECH visibility 정책, Cisco EVE/Encrypted Visibility, Fortinet/Check Point/Juniper/Sophos DNS·endpoint 통합내부 DNS에서 HTTPS RR/ECHConfig 정책을 관리하고, DoH/DoT 사용 경로를 통제합니다.SNI 손실, 프라이버시 정책 충돌, BYOD 단말 가시성 부족
파일/멀웨어 검사 세션초기 stream은 DPI로 보내되, 파일 추출·샌드박스 전송은 backpressure와 파일 크기 제한을 둡니다.FortiGuard/FortiSandbox, Palo Alto WildFire, Check Point Threat Emulation, Cisco AMP/Talos, Juniper ATP, SophosLabs/Sandboxing, Linux Suricata + sandbox파일 크기·MIME·도메인 신뢰도별 검사 깊이를 다르게 하고, 대용량 파일은 async verdict 정책을 설계합니다.파일 버퍼 메모리, sandbox queue, 재조립 비용, 장기 TCP 세션
패킷 유형별 고성능 설계 원칙: NGFW는 "모든 기능을 모든 세션에 켜는 장비"가 아니라 "위험도에 따라 비싼 경로를 선택적으로 쓰는 분류기"로 설계해야 합니다. 데이터센터 내부 east-west L4 정책은 fast path 비율을 90% 이상으로 유지하고, 인터넷 경계의 SSL Inspection은 사용자·도메인·카테고리별로 복호화 대상을 줄이는 편이 처리량과 보안 가시성의 균형이 좋습니다.

벤더별 패킷 흐름 최적화 관점

벤더fast path에 남기기 쉬운 트래픽slow/deep path로 보내야 하는 트래픽운영자가 확인할 지표
FortinetNP7 fast path 조건을 만족하는 EST 세션, NAT, IPsec ESP, VXLAN/GTP 일부Deep SSL Inspection, proxy inspection, flow-based IPS/App Control이 요구하는 초기 payloaddiagnose npu np7, offload flag, session count per NP, CP utilization
Palo AltoApp-ID가 안정적으로 판정된 허용 세션, 단순 routing/NAT 세션SSL Forward Proxy, WildFire/file blocking, URL category 미확정 세션dataplane CPU, session browser, decryption logs, packet buffer utilization
Check PointSecureXL Accept/NAT Template로 처리 가능한 반복 세션HTTPS Inspection, 복잡한 blade 조합, 비가속 feature가 필요한 세션fwaccel stat, Accept/NAT Templates, SND/CoreXL balance, UPPAK/KPPAK mode
JuniperExpress Path 조건을 만족하는 세션, inline IPsec 대상 트래픽SSL Proxy, AppSecure/IDP 심층 검사, Express Path plugin이 ignore하지 않는 세션flow session offload 상태, SPU/NP utilization, SSL proxy statistics, IPsec hardware offloaded 여부
Ciscoprefilter로 fastpathed된 trusted/large flow, 동적 flow offload 대상TLS decryption 후 Snort 3 inspection, malware/file/URL 분석 세션show flow-offload, show snort tls-offload, Snort worker CPU, FMC connection events
Sophos초기 분류 후 FastPath로 넘길 수 있는 신뢰된 TCP/UDP 흐름, DPI Engine이 일부 또는 전체 offload를 허용한 세션Decrypt 동작의 SSL/TLS inspection, web proxy/WAF/SSL VPN, QoS/DoS, packet capture 중인 흐름, FastPath 제한 조건에 걸린 세션firewall acceleration, pki-acceleration, ipsec-acceleration CLI 상태, FastPath hit 여부, DPI Engine CPU, TLS inspection 로그
Linuxnftables/nf_flowtable/eSwitch가 처리 가능한 EST/NAT 세션NFQUEUE/Suricata/프록시로 보내는 L7 검사 세션nft monitor, ethtool -S, TC offload hit, conntrack table pressure

NGFW 배포 아키텍처 패턴

NGFW를 네트워크에 배치하는 방식에 따라 가시성, 성능 영향, 장애 복원력이 달라집니다. 배포 모드는 크게 4가지로 분류되며, 각 모드에서 HW 오프로드의 적용 범위가 다릅니다.

배포 모드네트워크 위치동작 방식장점단점HW 오프로드 적용
인라인 브릿지(L2 Transparent)두 세그먼트 사이 직렬 삽입L2 브릿지로 동작하며 모든 트래픽 검사·차단IP 주소 변경 불필요, 기존 네트워크 토폴로지 유지NGFW 장애 시 통신 단절 (bypass 모듈 필요)eSwitch FDB, flowtable 전체 활용
인라인 라우팅(Routing)(L3 Gateway)라우터/게이트웨이 위치L3 라우팅 + NAT + 정책 적용NAT/VPN/QoS 통합, 가장 일반적인 배포라우팅 설정 변경 필요, 지연 추가eSwitch FDB, flowtable, NIC inline crypto
TAP/미러(Out-of-Band)스위치 미러 포트에 연결트래픽 복사본만 수신하여 검사 (IDS 모드)네트워크에 영향 없음, 장애 무관차단 불가 (탐지만), 미러 대역폭 제한제한적 (NIC RX만 사용)
투명 프록시(TPROXY)인라인이지만 프록시로 동작TCP 세션을 가로채어 L7 프록시 처리 후 재전달SSL Inspection 최적, 세밀한 L7 제어UDP/비TCP 처리 제한, CPU 집약적QAT(핸드셰이크), kTLS(레코드)

인라인 배포의 장애 대응: HW 바이패스

인라인 브릿지/라우팅 배포에서 NGFW 장애 시 네트워크 단절을 방지하기 위해 HW 바이패스(Hardware Bypass) 모듈을 사용합니다. 바이패스는 전기·광학 수준에서 패킷을 NGFW를 우회하여 직접 전달합니다.

바이패스 유형동작 원리전환 시간적용 환경
전기 바이패스(Copper Bypass)릴레이 스위치가 NIC 포트 쌍을 직접 연결~10ms1G/10G 구리 환경
광 바이패스(Optical Bypass)MEMS 스위치가 광 경로를 전환~50ms10G/40G/100G 광 환경
NIC 내장 바이패스SmartNIC 펌웨어가 eSwitch를 바이패스 모드로 전환~1msSmartNIC/DPU 배포
Watchdog 타이머호스트 OS/프로세스 모니터링 → 응답 없으면 자동 바이패스설정 의존 (1~30초)모든 인라인 배포
# SmartNIC 바이패스 모드 설정 (Silicom 예시)
# Watchdog 타이머 설정 — 5초 무응답 시 자동 바이패스
bpctl_util eth0 set_bypass_wd 5000   # 5000ms = 5초

# 바이패스 상태 확인
bpctl_util eth0 get_bypass
# bypass: off (normal mode)

# 수동 바이패스 전환 (유지보수 시)
bpctl_util eth0 set_bypass on

# Intel E810 NIC 바이패스 (ice 드라이버)
ethtool --set-priv-flags eth0 bypass on

고가용성(HA) 아키텍처

NGFW의 HA 구성은 세션 동기화가 핵심입니다. 장애 발생 시 기존 세션이 끊기지 않으려면 Active 장비의 conntrack 테이블을 Standby 장비에 실시간 복제해야 합니다.

HA 모드상용 NGFWLinux NGFW세션 동기화Failover 시간
Active-StandbyFortiGate HA, PA HA (A/P)Keepalived VRRP + conntrackd전체 세션 테이블 복제~1-3초
Active-ActiveFortiGate HA (A/A), PA HA (A/A)Keepalived + conntrackd multicast세션 소유권 분산 + 동기화~0.5-1초
클러스터Check Point Maestro, FortiGate ClusterLinux IPVS + conntrackd클러스터 멤버 간 분산~0.1-0.5초
# Linux NGFW HA 구성 — conntrackd + Keepalived

# 1. conntrackd — 세션 테이블 실시간 동기화
# /etc/conntrackd/conntrackd.conf
Sync {
    Mode FTFW {                    # Fault Tolerant FW 모드
        ResendQueueSize 131072
        ACKWindowSize 300
    }
    Multicast {
        IPv4_address 225.0.0.50
        Group 3780
        IPv4_interface 192.168.100.1
        Interface eth2              # 전용 동기화 인터페이스
    }
}
General {
    HashSize 32768
    HashLimit 131072
    Syslog on
    LockFile /var/lock/conntrack.lock
    UNIX { Path /var/run/conntrackd.ctl }
    Filter From Userspace {
        Protocol Accept {
            TCP SCTP DCCP
        }
        Address Ignore {
            IPv4_address 127.0.0.1
            IPv4_address 192.168.100.0/24  # 동기화 서브넷 제외
        }
    }
}

# 2. Keepalived — VIP failover
# /etc/keepalived/keepalived.conf
vrrp_instance NGFW_HA {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass ngfw_ha_secret
    }
    virtual_ipaddress {
        10.0.0.1/24       # 게이트웨이 VIP
    }
    notify_master "/etc/conntrackd/primary-backup.sh primary"
    notify_backup "/etc/conntrackd/primary-backup.sh backup"
    notify_fault  "/etc/conntrackd/primary-backup.sh fault"
}

# 3. failover 스크립트 — primary-backup.sh
# primary 승격 시 conntrackd에서 세션 테이블 bulk 로드
# conntrackd -C /etc/conntrackd/conntrackd.conf -c
# conntrackd -C /etc/conntrackd/conntrackd.conf -B
HW 오프로드와 HA의 상호작용: SmartNIC eSwitch FDB에 오프로드된 세션은 커널 conntrack 테이블에도 동기화되어야 합니다. nf_flowtableoffload timeout이 만료되면 세션이 커널로 복귀하며, 이 시점에서 conntrackd가 동기화합니다. HW offload 세션의 failover는 NIC FDB 테이블 재구축이 추가되므로, SW-only 대비 ~1-2초 추가 지연이 발생할 수 있습니다.

TLS 1.3/ECH와 SSL Inspection의 미래

TLS 1.3과 ECH(Encrypted Client Hello)의 확산은 NGFW SSL Inspection에 근본적인 도전을 제기합니다. 기존 SSL Inspection의 핵심 가정 — ClientHello에서 SNI를 읽을 수 있고, MITM 프록시를 통해 복호화할 수 있습니다 — 이 흔들리고 있습니다.

TLS 1.3이 NGFW에 미치는 영향

TLS 1.3 변경점NGFW에 미치는 영향대응 방안
1-RTT 핸드셰이크RTT는 줄지만 MITM 프록시의 CPS 향상은 구현, cipher suite, 인증서 캐시, 정책 조건에 따라 달라집니다.장비별 TLS 1.3 지원 cipher/group과 decryption profile 확인
0-RTT (Early Data)첫 패킷에 애플리케이션 데이터 포함 → 정책 적용 전 데이터 전달 위험0-RTT 차단 정책 또는 재전송 공격(Replay Attack) 방어
PFS 필수 (ECDHE only)RSA 정적 키 기반 패시브 복호화는 TLS 1.3에서 불가합니다. Inbound/Forward Proxy 방식의 능동 복호화 정책이 필요합니다.Forward Proxy, Inbound Inspection, 예외 정책을 트래픽 유형별로 분리
인증서 암호화ServerHello 이후 인증서가 암호화됨 → 패시브 모니터링에서 서버 식별 불가MITM 프록시는 영향 없음 (프록시가 직접 서버와 핸드셰이크)
HelloRetryRequestNGFW가 지원하지 않는 key share 시 추가 RTT 발생NGFW의 지원 curve 목록 최신 유지 (X25519, P-256)

ECH(Encrypted Client Hello)의 도전

ECH는 TLS ClientHello의 SNI 필드를 암호화하여 중간자(NGFW 포함)가 접속 대상 서버를 식별하지 못하게 합니다. 이는 SNI 기반 SSL Inspection 정책의 핵심 전제를 무력화합니다.

기존 SSL InspectionECH 적용 후
ClientHello의 server_name 확장에서 SNI 추출외부 ClientHello(ClientHelloOuter)에는 프론팅 도메인만 노출, 실제 SNI는 암호화
SNI 기반 정책: "banking.com → 바이패스, sns.com → 검사"실제 대상 서버를 알 수 없으므로 SNI 기반 정책 무효화(Invalidation)
MITM 프록시가 서버에 직접 연결 시 SNI 전달ECH 키가 없으면 MITM 프록시도 실제 SNI를 복호화할 수 없음

NGFW 벤더별 ECH 대응 전략:

대응 전략동작 방식장점한계
ECH 차단ECH 확장이 포함된 ClientHello를 DROP 또는 ECH 없이 재시도 유도구현 단순, 즉시 적용 가능사용자 경험 저하, ECH 필수 서비스 접속 불가
DNS 기반 정책DNS 쿼리를 모니터링하여 도메인→IP 매핑 캐시 → IP 기반 정책 적용SNI 없이도 도메인 식별 가능CDN/공유 IP에서 정확도 저하, DoH/DoT 우회 가능
엔드포인트 에이전트엔드포인트에 에이전트를 설치하여 프로세스/URL 수준 가시성 확보TLS 계층 우회, 정확한 대상 식별BYOD 환경 적용 어려움, 에이전트 관리 부담
SASE/SSE 통합클라이언트 트래픽을 클라우드 보안 게이트웨이로 터널링네트워크 경로에 관계없이 검사 가능지연 증가, 클라우드 의존성
ECH 확산 일정과 영향 범위:
  • Cloudflare: 2026년 4월 기준 공식 문서는 Free zone에서 ECH가 기본 활성화된다고 안내합니다. 다른 플랜은 존 설정과 대시보드 구성을 함께 확인해야 합니다.
  • Firefox: ECH 관련 설정과 배포 상태는 버전별 차이가 있으므로, 실제 기본 활성 여부는 릴리스 노트와 about:config 기본값을 함께 확인해야 합니다.
  • Chrome: ECH를 지원하며 DNS HTTPS 레코드 기반 자동 사용 경로가 있습니다. 다만 실제 적용 여부는 브라우저 버전, DNS, 서버 측 ECH 설정에 함께 좌우됩니다.
  • ECH가 보편화되면 SNI 기반 SSL Inspection은 사실상 무력화됩니다. NGFW 벤더들은 DNS 가시성(DoH 복호화), 엔드포인트 통합, SASE 전환을 병행하는 방향으로 전략을 전환하고 있습니다
  • 기업 환경에서는 내부 DNS 서버에서 ECH HTTPS 레코드를 제거하여 ECH 협상을 차단하는 단기 대응이 가능합니다

포스트 양자(PQC) 암호화와 NGFW

NIST가 표준화한 포스트 양자 암호화 알고리즘(ML-KEM, ML-DSA)이 TLS에 도입되면, NGFW의 SSL Inspection 성능에 직접적인 영향을 미칩니다.

항목ECDHE P-256 (현행)ML-KEM-768 (PQC)NGFW 영향
키 교환 크기P-256 공개키 약 65 bytesML-KEM-768 공개키 1,184 bytes + 암호문 1,088 bytes하이브리드 TLS에서는 ClientHello/ServerHello 크기가 커져 fragmentation, 버퍼, RTT 민감도가 증가합니다.
키 교환 연산CPU와 라이브러리 구현별CPU와 PQC 라이브러리 구현별CPS 영향은 소프트웨어 구현, 하이브리드 구성, 세션 재개 비율에 따라 측정해야 합니다.
하이브리드 모드-ECDHE + ML-KEM 이중 키 교환핸드셰이크 크기·연산 모두 증가. 현행 전환기의 기본 모드
HW 가속 지원RSA/ECDHE/AES 계열은 플랫폼별 가속 가능NGFW ASIC의 ML-KEM 가속 지원은 2026년 6월 기준 공개 문서에서 제한적입니다.SW fallback과 라이브러리 최적화가 초기 전환기의 핵심 병목입니다.
PQC 전환이 NGFW 아키텍처에 미치는 의미: 현재 공개된 NGFW 데이터시트는 대부분 RSA/ECDHE/AES 기반 TLS와 SSL Inspection 수치를 중심으로 제공합니다. ML-KEM 하이브리드 TLS가 보편화되면 기존 crypto/inspection 가속기의 적용 범위를 다시 확인해야 하며, 초기에는 범용 CPU와 소프트웨어 라이브러리 최적화가 성능을 크게 좌우할 가능성이 있습니다.

상용 vs Linux NGFW 선택 기준

상용 NGFW와 Linux 기반 NGFW는 하드웨어 아키텍처뿐 아니라 운영 모델, 비용 구조, 조직 역량 요구사항이 근본적으로 다릅니다. 아래 표는 실무에서 선택 시 고려해야 할 핵심 차원을 정리합니다.

평가 차원상용 NGFWLinux NGFW판단 기준
초기 도입 비용높음 (장비+라이선스+지원 계약)낮음 (범용 서버+SmartNIC+OSS)3년 TCO로 비교. 상용은 HW 교체 주기(5~7년), Linux는 NIC 세대 교체 비용 고려
운영 인력 요구보안 운영자 (GUI/CLI 중심)커널·네트워크·보안 엔지니어 (코드 수준)nftables/Suricata/kTLS 직접 튜닝 가능한 인력 확보 여부가 핵심
보안 인증CC EAL4+, FIPS 140-2/3, NDPP 취득 완료개별 컴포넌트별 인증 필요 (QAT FIPS 모드 등)금융·공공·국방 규제 환경에서는 사실상 상용 필수
SSL Inspection CPS모델별 공식 공개 범위 확인QAT+CPU+프록시 구현별 측정 필요HTTPS 트래픽 비율이 높은 환경에서는 반드시 별도 벤치마크가 필요합니다.
DPI/IPS 성능벤더 최적화 엔진 (ASIC 보조)Suricata/nDPI (범용 CPU)시그니처 수 1만+ 환경에서 CPU 기반 DPI의 한계
FW L4 처리량벤더 데이터시트의 모델별 stateful firewall 수치eSwitch FDB/flowtable/NIC 조건별L4 전달은 SmartNIC이 강할 수 있지만, 동등 조건 RFC 9411 측정이 필요합니다.
프로토콜 유연성벤더 펌웨어 업데이트 의존커널/유저스페이스 코드 직접 수정QUIC, MASQUE 등 신규 프로토콜 즉시 대응 가능 여부
수평 확장Maestro 클러스터, 고가 chassisconntrackd + Keepalived + 범용 서버 추가클라우드/컨테이너(Container) 환경에서 Linux가 유연
관리 플레인통합 GUI (FortiManager, Panorama 등)Ansible/Terraform + Prometheus/Grafana 조합NOC/SOC 팀의 기존 운영 도구 체계와의 호환성
벤더 종속높음 (ASIC·OS·라이선스 묶음)없음 (표준 커널 API, NIC 교체 자유)멀티벤더 전략 또는 장기 아키텍처 자율성 필요 시
장애 대응벤더 TAC (4시간 SLA 등)내부 엔지니어 + 커뮤니티24×7 SLA 보장이 사업 요구인지 여부
위협 인텔리전스벤더 피드 포함 (FortiGuard, WildFire 등)ET Open/Pro + Abuse.ch + MISP 조합제로데이 대응 속도와 시그니처 품질

시나리오별 선택 가이드

시나리오추천근거
금융·공공 규제 환경
CC/FIPS 인증 필수
상용 NGFW개별 OSS 컴포넌트로 규제 인증을 취득하는 비용이 상용 도입 비용을 초과합니다
데이터센터 100G+ 게이트웨이
동서 트래픽 필터링
Linux NGFW (SmartNIC)eSwitch FDB HW offload로 라인레이트 L4 필터링. DPI가 필요한 세션만 선별적으로 Suricata 경유
중소기업 인터넷 경계
IT 인력 1~2명
상용 NGFWGUI 기반 관리, 벤더 지원, 올인원 UTM으로 운영 부담 최소화
통신사/CDN 인프라
커스텀 파이프라인 필수
Linux NGFW + VPP/DPDKeBPF/XDP 기반 프로그래머블 파이프라인, DPDK eventdev(DLB/SSO) 연동
클라우드 네이티브 환경
Kubernetes 마이크로서비스
Linux NGFW (eBPF)Cilium + Hubble 기반 서비스 메시 보안, Pod 단위 정책, 서비스 메시(Service Mesh) 통합
지사/원격 사무소
SD-WAN 통합 필요
상용 NGFWFortiGate SD-WAN, PA Prisma SD-WAN 등 NGFW+SD-WAN 통합 제품이 운영 효율적
보안 연구/교육 환경Linux NGFW커널 소스 수준의 분석과 실험이 가능하고, 라이선스 비용이 없습니다
하이브리드 접근법: 실무에서는 순수한 양자택일보다 하이브리드 배포가 증가하는 추세입니다. 대표적인 패턴:
  • 상용 관리 플레인 + Linux 데이터 플레인: 상용 NGFW의 정책 관리 GUI를 사용하되, 실제 데이터 플레인은 SmartNIC/eBPF 기반으로 가속 (일부 벤더가 이 모델 채택 중)
  • 인터넷 경계 = 상용 + 내부 = Linux: 규제가 적용되는 외부 경계는 인증된 상용 NGFW, 데이터센터 내부 동서 트래픽은 Linux SmartNIC 기반 필터링
  • 클라우드 = Linux + 온프레미스 = 상용: 클라우드 워크로드는 eBPF/Cilium, 온프레미스 레거시는 기존 상용 NGFW 유지

성능 비교 벤치마크 (참고 수치)

다음 표는 공식 데이터시트에 공개된 대표 수치와, 공식 수치가 공개되지 않은 항목의 확인 상태를 분리한 참고표입니다. 서로 다른 벤더의 데이터시트는 패킷 크기, 보안 기능 조합, TLS 버전, cipher suite, 로깅 조건이 다르므로 직접적인 순위표로 사용하면 안 됩니다. 실제 환경에서는 정책 복잡도, 트래픽 믹스, DPI 시그니처 수에 따라 크게 달라집니다:

메트릭Fortinet 7081F (NP7)PA-5440Check Point 29200Sophos XGS 8500Linux + CX-7 (200G)
FW 처리량 (L4)700 Gbps75 Gbps500 Gbps190 GbpsNIC 200G급, 방화벽 처리량은 flowtable/eSwitch 조건별
NGFW 처리량 (DPI+IPS)60 Gbps30 Gbps165 Gbps76 GbpsSuricata/룰셋/코어 수별 측정 필요
Threat Protection40 Gbps22 Gbps75 Gbps92.5 GbpsOSS 룰셋과 검사 엔진별 측정 필요
SSL Inspection35 Gbps (데이터시트 조건)12 Gbps (데이터시트 조건)공식 비교 페이지 미기재24 Gbps (IPS enabled HTTPS 조건)프록시/QAT/kTLS 구성별 측정 필요
CPS공식 데이터시트 항목별 확인공식 데이터시트 항목별 확인공식 비교 페이지 미기재공식 페이지 미기재conntrack/프록시/QAT 구성별 측정 필요
동시 세션공식 데이터시트 항목별 확인공식 데이터시트 항목별 확인공식 비교 페이지 미기재공식 페이지 미기재conntrack_max, 메모리, flowtable 정책 의존

Linux NGFW의 처리량은 eSwitch/flowtable 오프로드 비율, Suricata 룰셋, TLS 프록시 구현, QAT/NIC 드라이버 지원 범위에 크게 좌우됩니다. 따라서 상용 데이터시트와 비교할 때는 L4 forwarding, DPI, TLS inspection, CPS를 분리하여 같은 트래픽 조건으로 재측정해야 합니다.

벤치마크 수치 출처와 주의사항:
  • Fortinet 7081F: FortiGate 7000 Series Data Sheet 기준. FW 처리량 700Gbps는 NP7 ASIC 다중 장착 시 합산 값
  • PA-5440: PA-5400 Series Data Sheet 기준. App-ID + IPS + logging 활성화 시 30Gbps
  • Check Point 29200: Quantum Gateway 모델 비교 기준. FW/NGFW/Threat Prevention처럼 공식 페이지에 공개된 항목만 수치로 유지했습니다.
  • Sophos XGS 8500: Sophos XGS 2U models 기준. TLS Inspection은 IPS enabled HTTPS와 cipher suite 조건으로 측정된 값입니다
  • Linux + CX-7: NVIDIA ConnectX-7 Product Brief 기준 NIC 용량은 확인할 수 있지만, NGFW 처리량은 커널 flowtable, eSwitch offload, Suricata, TLS 프록시, QAT 구성별로 직접 측정해야 합니다.
  • 모든 벤더 수치는 최적 조건(단순 트래픽 믹스, 최소 정책)에서의 데이터시트 값이며, 실제 환경에서는 RFC 9411 방법론에 따라 독립적으로 측정해야 합니다

NGFW 성능 측정 방법론 (RFC 9411)

RFC 9411 (Benchmarking Methodology for Network Security Device Performance)은 NGFW 성능을 표준화된 방식으로 측정하기 위한 IETF 표준입니다. 벤더 데이터시트의 수치는 대부분 최적 조건에서 측정되므로, 실제 환경 성능을 예측하려면 RFC 9411 기반 독립 벤치마크가 필수입니다.

핵심 성능 메트릭

메트릭정의측정 방법실무 의미
FW 처리량L4 stateful 방화벽의 최대 양방향 처리량 (bps)UDP/TCP 혼합, 다양한 패킷 크기, EST 세션 상태데이터시트 최대값은 대형 패킷(1518B) + 단순 정책 기준. 소형 패킷(64B)에서 1/5~1/10으로 감소 가능
NGFW 처리량App-ID + IPS + URL 필터링 전체 활성 시 처리량HTTP/HTTPS 혼합 트래픽, 실 시그니처 로드FW 처리량 대비 30~60% 수준이 일반적
SSL Inspection 처리량TLS 복호화 + DPI + 재암호화 시 처리량TLS 1.2/1.3 혼합, AES-256-GCM, RSA-2048/ECDHE P-256FW 처리량의 1/5~1/20. NGFW 성능에서 가장 큰 차이를 만드는 메트릭
CPS (Connections Per Second)초당 새 TCP/TLS 연결 수립 가능 수TCP SYN → ACK → data → FIN 전체 사이클웹 트래픽 특성상 소형 연결이 다수. SSL CPS는 핸드셰이크 부하로 TCP CPS의 1/10~1/100
CC (Concurrent Connections)동시 유지 가능한 세션 수점진적 세션 누적 후 최대치 측정conntrack 테이블/ASIC 세션 메모리 크기에 의존. 메모리 포화 시 새 세션 거부
지연 시간 (Latency)패킷 입력→출력 간 추가 지연RFC 2544 기반 one-way 또는 round-trip인라인 HW offload: <10μs, SW DPI 경유: 50~500μs

트래픽 프로파일과 성능 변동

데이터시트 수치와 실제 성능의 격차는 트래픽 프로파일에 의해 결정됩니다. RFC 9411은 다양한 실 환경 트래픽 패턴을 반영한 테스트를 권고합니다.

트래픽 특성데이터시트 조건 (최적)실 환경 조건성능 영향
패킷 크기1518B (jumbo frame 포함)IMIX (64B:7, 570B:4, 1518B:1)소형 패킷 비율 ↑ → PPS 병목, 처리량 30~50% 감소
HTTPS 비율0% (비암호화 HTTP)80~90% (실 트래픽)SSL Inspection 활성 시 처리량 80~95% 감소
정책 수1~10개 단순 규칙500~5,000개 복합 규칙정책 수 ↑ → 규칙 평가 시간 증가, 10~30% 추가 감소
IPS 시그니처기본 시그니처 세트10,000~50,000개 활성시그니처 수 ↑ → 패턴 매칭 시간 비례 증가
세션 수소수 대용량 세션수백만 소형 세션 동시conntrack 메모리 압박, 해시 충돌, CPS 병목
DLP/파일 검사비활성활성 (대용량 파일 스캔)파일 버퍼링으로 지연 급증, 메모리 소모 증가
실무 벤치마크 가이드:
  • 데이터시트 수치는 상한선: 실 환경 처리량은 데이터시트의 30~60% 수준이 일반적입니다. SSL Inspection 활성 시 5~20%까지 감소할 수 있습니다
  • IMIX 기준 측정: RFC 9411의 IMIX(Internet Mix) 프로파일로 측정한 수치가 실 환경에 가장 가깝습니다
  • SSL Inspection은 반드시 별도 측정: TLS 1.2 RSA-2048, TLS 1.3 ECDHE P-256, 혼합 비율별 CPS와 처리량을 각각 측정합니다
  • 장기 안정성 테스트: 1시간 이상 지속 부하를 주어 메모리 누수, 세션 테이블 포화, CPU 서멀 스로틀링 등을 확인합니다
  • 벤치마크 도구: Cisco TRex (DPDK 기반 트래픽 생성기), BreakingPoint, Keysight CyPerf가 RFC 9411 호환 테스트를 지원합니다

참고자료

벤더 기술 문서

표준/벤치마크

다음 학습: