Sổ tay kỹ thuật

NetFlow v9, IPFIX và sFlow – so sánh

concept#netflow#ipfix#sflow#telemetry· cập nhật 2026-11-06

Dùng khi cần chọn giao thức flow export cho router/switch và hiểu template, sampling ảnh hưởng thế nào tới số liệu.

Sửa trang này
Mục lục

Flow telemetry trả lời câu hỏi "ai nói chuyện với ai, bao nhiêu" mà counter interface (SNMP, gNMI) không trả lời được. Có hai cách tiếp cận:

  • NetFlow v9 / IPFIX: thiết bị gom packet thành flow trong cache (theo 5-tuple + interface...), hết timeout thì xuất record. Định dạng dựa trên template.
  • sFlow: thiết bị không có flow cache, chỉ lấy mẫu 1/N packet, cắt phần header (thường 128 byte) gửi ngay, kèm counter sample định kỳ. Collector tự dựng flow.

Luồng dữ liệu

flowchart LR P[Packet trên interface] --> S["Sampler 1:N"] S --> C["Flow cache (NetFlow/IPFIX)"] C -->|"active/inactive timeout"| E[Exporter UDP] S -->|"sFlow: header mẫu gửi ngay"| E E --> K["Collector (Akvorado, nfacctd, goflow2)"] K --> D[(ClickHouse)]

So sánh

Tiêu chí NetFlow v9 IPFIX sFlow v5
Chuẩn Cisco, RFC 3954 (informational) IETF, RFC 7011 sflow.org, InMon
Port UDP thường dùng 2055 (quy ước, tuỳ cấu hình) 4739 (IANA) 6343 (IANA)
Flow cache trên thiết bị Có Có Không
Template Có Có, thêm field độ dài thay đổi và enterprise IE Không, định dạng cố định
Dữ liệu L2 / header thô Hạn chế Có thể (tuỳ IE) Có, header packet gốc
Counter interface Không (cần SNMP) Không (cần SNMP) Có, counter sample
Độ trễ dữ liệu Theo active timeout (10-60 s) Theo active timeout Gần như ngay lập tức
Phổ biến ở Router Cisco Router đa hãng, firewall Switch DC, Arista, Juniper QFX/EX

Template

NetFlow v9 và IPFIX gửi template (danh sách field + độ dài) rồi mới gửi data record tham chiếu template ID. Hệ quả:

  • Collector khởi động lại hoặc mất gói template thì bỏ qua data cho tới lần gửi template kế tiếp. Đặt template timeout ngắn (vd 60 s).
  • Template gắn với cặp (IP exporter, observation domain / source ID). Đổi IP nguồn export thì collector coi là exporter mới.
  • Options template mang metadata như sampling rate, bảng interface. Collector cần nó để nhân ngược sampling.

Sampling

Với sampling 1:N, mỗi packet được lấy mẫu đại diện cho N packet. Collector nhân Bytes/Packets với N.

Lưu ý Chi tiết
Sai số Top talkers lớn chính xác, flow nhỏ có thể không xuất hiện
Chọn N Link 100G thường 1:1000 tới 1:10000; link nhỏ 1:100 tới 1:1000
Sampling rate phải tới được collector Qua options template (NetFlow/IPFIX) hoặc trong mỗi sample (sFlow)
Ingress hay egress Chỉ bật ingress trên mọi interface để tránh đếm đôi

Không đối chiếu được 1-1 tổng flow với counter interface. Sai lệch vài phần trăm là bình thường do sampling, timeout và traffic control-plane.

Khi nào dùng

Nhu cầu Chọn
Router biên Cisco/Juniper, phân tích peering, transit theo AS NetFlow v9 hoặc IPFIX
Cần field tuỳ biến, đa hãng IPFIX
Switch DC, cần thấy ngay khi có DDoS sFlow
Chỉ cần băng thông interface Không cần flow, dùng gNMI/SNMP (Telegraf gNMI)

Collector gợi ý: Akvorado nhận cả ba, lưu vào ClickHouse, query mẫu xem ClickHouse top talkers.