Loading...

FortiASIC — Chip NP (Network Processor) và CP (Content Processor)

1. Liên hệ thực tế

Khách hàng của VNExperts vừa mua một FortiGate 600E, thông số datasheet quảng cáo throughput NGFW khá cao. Nhưng sau khi bật SSL Inspection (Deep Inspection) để kiểm tra traffic HTTPS, tốc độ thực tế giảm mạnh hơn anh Nam dự kiến.

Anh Nam gọi hỏi chị Lan: "Fortinet quảng cáo có chip CP9 tăng tốc SSL mà, sao vẫn giảm hiệu năng nhiều vậy?"

Chị Lan giải thích: "CP9 có tăng tốc thật, nhưng không phải tăng tốc 'miễn phí toàn bộ'. Để hiểu chính xác cái gì được tăng tốc, cái gì vẫn phải qua CPU chính, anh cần nắm rõ cách NP và CP phối hợp với nhau — đây là kiến thức bắt buộc phải biết trước khi tư vấn model và tính năng cho khách hàng."


2. Kiến thức cốt lõi

2.1 Ba lớp xử lý trên FortiGate

Một chiếc FortiGate (trừ bản Virtual Machine) thường có tối đa ba lớp phần cứng cùng tham gia xử lý traffic:

  • CPU chính (x86 hoặc ARM): xử lý control plane — thiết lập session mới, tra cứu policy, chạy các tác vụ không thể offload.
  • NP (Network Processor): chip chuyên tăng tốc ở tầng mạng (Layer 3/4) — hiện tại là thế hệ NP7.
  • CP (Content Processor): chip chuyên tăng tốc xử lý nội dung (Layer 7) — hiện tại phổ biến là CP9 (dòng cao cấp mới có thêm CP10).

Cả NP và CP đều thuộc nhóm Security Processing Unit (SPU) — tên gọi chung Fortinet dùng cho các chip FortiASIC.

2.2 NP (Network Processor) — cơ chế "fast path"

NP hoạt động theo cơ chế gọi là fast path offload: gói tin đầu tiên của một session vẫn phải qua CPU chính để CPU quyết định session này có được phép đi qua (policy lookup) hay không. Nếu session được chấp nhận và đủ điều kiện, CPU gửi session key xuống cho NP xử lý — từ gói tin thứ hai trở đi, NP xử lý trực tiếp mà không cần qua CPU nữa.

Để một session được xem là "fast path ready" (đủ điều kiện offload xuống NP), session đó phải thỏa các điều kiện cơ bản sau:

  • Trường EtherType ở Tầng Layer 2 phải chỉ định gói tin là IPv4 (0x0800) hoặc IPv6 (0x86DD) (có hỗ trợ thẻ VLAN 802.1Q).
  • Tầng Layer 4 là UDP, TCP, ICMP hoặc SCTP
  • Không yêu cầu session helper (ví dụ traffic FTP cần session helper thường không offload được)

NP7 hiện tại còn offload được cả việc mã hóa/giải mã IPSec VPN (AES128/192/256, AES-GCM, SHA...), traffic LAG (link aggregation), và một số giao thức GTP-u, RDP.

⚠️ Lưu ý — traffic KHÔNG được NP offload: Firewall Policy có bật security profile dạng proxy-based (antivirus proxy, web filter proxy, DLP, Anti-Spam, ICAP, Web Application Firewall...); interface có cấu hình DoS Policy hoặc Interface Policy; traffic đi qua tunnel (SSL-VPN, GRE, IPinIP); traffic qua inter-VDOM link hoặc loopback interface. Các traffic này bắt buộc phải xử lý qua CPU chính ở tốc độ "bình thường" — đây chính là lý do hiệu năng thực tế thường thấp hơn thông số throughput lý tưởng trên datasheet.

2.3 CP (Content Processor) — "trợ lý" xử lý nội dung

Nếu NP lo phần "đường đi" của gói tin, thì CP đóng vai trò co-processor hỗ trợ CPU chính xử lý các tác vụ nặng ở tầng nội dung — CP không thay thế CPU, mà giảm tải cho CPU bằng cách nhận một phần công việc cụ thể:

  • Mã hóa/giải mã SSL/TLS (bao gồm TLS 1.3) — dùng cho SSL Inspection và SSL-VPN
  • Pattern matching cho IPS và Application Control (tốc độ trên 10 Gbps với CP9)
  • Mã hóa/giải mã IPSec VPN (CP9 hỗ trợ tới 16 engine IPSec VPN xử lý song song)
  • Một phần công việc nhận diện virus (Antivirus)

Thế hệ hiện tại phổ biến nhất là CP9; các dòng FortiGate cao cấp mới hơn đã bắt đầu dùng CP10 — theo tài liệu Fortinet, CP10 cho throughput pattern-matching gấp đôi CP9 (khoảng 20 Gbps) và hỗ trợ rule database lớn hơn khoảng 6 lần.

2.4 SoC — giải pháp tích hợp cho dòng nhỏ

Không phải FortiGate nào cũng có NP và CP là hai chip rời. Các dòng nhỏ (Entry-level, phù hợp chi nhánh/văn phòng nhỏ) dùng SoC (System-on-a-Chip) — tích hợp năng lực NP và CP ở mức rút gọn vào chung một chip, ví dụ:

  • SoC4 — tích hợp CP9XLite (5 engine IPSec VPN)
  • SoC3 — tích hợp CP9Lite (1 engine IPSec VPN)
  • SoC5 — dùng nhân NP7Lite

Các bản Lite/XLite có cùng tập tính năng cơ bản với CP9/NP7 "full", chỉ khác nhau về công suất (throughput, số session xử lý song song) — đây là lý do khi tư vấn thiết bị cho khách hàng, không thể chỉ nhìn tên "có NP/CP hay không" mà phải xem đúng model và datasheet để biết công suất thực tế.

2.5 Vì sao bật SSL Inspection vẫn giảm hiệu năng dù có CP9

Quay lại tình huống đầu bài: SSL Inspection (đặc biệt là Deep Inspection) hoạt động theo cơ chế proxy-based — FortiGate phải đóng vai trò trung gian, giải mã traffic HTTPS để kiểm tra rồi mã hóa lại. CP9 có tăng tốc phần mã hóa/giải mã và pattern matching, nhưng bản thân việc traffic đi qua proxy đã khiến session không còn đủ điều kiện fast-path offload xuống NP — nghĩa là gói tin vẫn phải đi qua CPU chính ở lớp điều phối, chỉ có phần "nặng" (crypto, pattern matching) mới được CP gánh bớt.

Đây là lý do khi tư vấn khách hàng cần bật SSL Inspection cho lượng lớn kết nối, luôn phải chọn model có CP đủ mạnh (không dùng CP Lite/XLite) và xem kỹ throughput "NGFW" hoặc "Threat Protection" trên datasheet — con số này thường thấp hơn nhiều so với throughput Firewall thuần túy, chính vì phản ánh đúng tải khi phải qua proxy.

Sơ đồ dưới đây tổng hợp lại toàn bộ luồng vừa phân tích — gói tin đi qua CPU, NP, CP như thế nào tùy loại traffic:

Luồng xử lý gói tin qua NP / CPU / CP (FortiGate) Gói tin đến (Ingress) CPU chính Policy lookup Session setup NP (NP7) Fast path offload L3/L4, IPSec hardware CP (CP9) Content processor SSL, IPS, pattern matching Egress (Gói tin đi) Fast path setup Session 2+ offload Offload inspection Kết quả soi dữ liệu Gói tin đầu qua CPU để khởi tạo session; các gói sau được NP xử lý trực tiếp (Fast path). Khóa học FortiGate — VNExperts


3. Hỏi & Đáp

Mọi model FortiGate đều có chip NP7 và CP9 riêng biệt không?

Không. Chỉ các dòng tầm trung trở lên mới có NP và CP là chip rời với công suất đầy đủ. Các dòng Entry-level (văn phòng nhỏ/chi nhánh) thường dùng SoC — tích hợp năng lực NP/CP ở mức rút gọn (ví dụ CP9Lite trong SoC3, CP9XLite trong SoC4) vào chung một chip duy nhất, công suất thấp hơn đáng kể so với NP7/CP9 "full".

Bật SSL Inspection có luôn được CP hỗ trợ tăng tốc toàn bộ không?

Không hoàn toàn. CP9/CP10 tăng tốc phần mã hóa/giải mã và pattern matching, nhưng bản thân cơ chế proxy-based của SSL Inspection khiến session không còn đủ điều kiện fast-path offload xuống NP, nên CPU chính vẫn phải tham gia xử lý ở lớp điều phối. Đây là lý do throughput thực tế khi bật Deep Inspection luôn thấp hơn throughput Firewall thuần túy trên datasheet.

Có cách nào kiểm tra một session có đang được NP offload hay không?

Có, dùng lệnh CLI diagnose sys session list hoặc diagnose npu np6/np7 session-stats (tùy dòng chip) để xem trạng thái offload của session. Nội dung chi tiết cách đọc các lệnh này sẽ được trình bày ở nhóm bài Troubleshooting & Diagnostics.


4. Quiz

Câu 1: Traffic nào sau đây sẽ KHÔNG được NP offload xuống fast path (phải xử lý qua CPU chính ở tốc độ bình thường)?

  • A. Traffic TCP/UDP thông thường, không bật thêm tính năng đặc biệt
  • B. Traffic có Firewall Policy bật security profile dạng proxy-based (VD: antivirus proxy, web filter proxy)
  • C. Traffic đi qua interface VLAN thông thường
  • D. Traffic IPv4 sử dụng giao thức ICMP

Câu 2: Chip nào trên FortiGate đóng vai trò "co-processor" hỗ trợ CPU chính xử lý SSL/TLS, IPS pattern matching và Antivirus?

  • A. NP (Network Processor)
  • B. CP (Content Processor)
  • C. SoC — thay thế hoàn toàn CPU chính
  • D. Bộ nhớ RAM chuyên dụng

👉 Đáp án:

Câu 1: B — Firewall Policy bật security profile dạng proxy-based (antivirus proxy, web filter proxy, DLP...) khiến session không còn đủ điều kiện fast-path, bắt buộc phải qua CPU chính. Ngoài ra còn có: DoS Policy/Interface Policy, traffic qua tunnel (SSL-VPN, GRE...), traffic cần session helper (FTP), traffic qua inter-VDOM link/loopback.

Câu 2: B — CP (Content Processor), thế hệ hiện tại phổ biến nhất là CP9 (dòng cao cấp mới hơn đã có CP10), đóng vai trò co-processor hỗ trợ CPU chính chứ không thay thế hoàn toàn.


📚 Bài viết thuộc khóa học FortiGate của VNExperts

🧭 Điều hướng

⬅️ Bài trước🏠 Mục lục khóa họcBài kế tiếp ➡️
Tổng quan Fortinet & Security Fabric Mục lục khóa học FortiGate Kiến trúc FortiOS & Packet Flow