Flow là gì? Vì sao dân mạng và bảo mật phải hiểu đúng NetFlow?
Khi phân tích lưu lượng mạng, rất nhiều người nhầm flow với session. Đây là một nhầm lẫn cực kỳ phổ biến, và nếu không hiểu rõ, bạn sẽ gặp khó khăn khi làm việc với NetFlow, phân tích lưu lượng, troubleshooting hoặc thậm chí triển khai các giải pháp phát hiện tấn công DDoS. Flow là gì?
Flow (luồng) là một chuỗi gói tin một chiều (unidirectional) đi giữa một nguồn và một đích xác định.
Một flow được nhận diện bởi cùng một tập 5 thuộc tính gọi là Five-Tuple, bao gồm:
Đây chính là “dấu vân tay” để thiết bị định danh một flow trong cơ sở dữ liệu NetFlow. Ví dụ dễ hiểu
Giả sử máy tính:
Flow từ client đến server sẽ là:
10.1.1.10:49152 → 172.16.10.20:80 TCP
Đây là một flow.
Nhưng khi server phản hồi:
172.16.10.20:80 → 10.1.1.10:49152 TCP
Đây là một flow khác. Flow khác Session như thế nào?
Đây là điểm rất quan trọng.
Nghĩa là:
Một session HTTP = Hai flow riêng biệt
Đó là lý do trong NetFlow bạn luôn thấy hai chiều tách biệt.
Router tạo Flow Record như thế nào?
Khi lưu lượng đi qua router đã bật NetFlow:
Khi flow kết thúc hoặc timeout:
Ví dụ các collector phổ biến:
Ngoài Five-Tuple, NetFlow còn thu thập gì?
Tùy phiên bản NetFlow, router có thể ghi thêm metadata rất giá trị: QoS và dịch vụ
Ví dụ:
DSCP EF (46)
cho lưu lượng thoại.
Thống kê lưu lượng
Ví dụ:
Rất hữu ích để capacity planning.
Thời gian
Giúp tính:
Interface
Ví dụ biết lưu lượng đi vào từ:
GigabitEthernet0/1
và ra:
GigabitEthernet0/2
rất hữu ích khi troubleshooting.
TCP Flags
Có thể theo dõi:
Ví dụ:
Một flood SYN attack sẽ lộ ra cực nhanh qua NetFlow.
Flexible NetFlow (FNF) — NetFlow thế hệ mới
Cisco Flexible NetFlow mở rộng cực mạnh.
Không chỉ Layer 3/4, nó theo dõi: Layer 2
Hữu ích trong data center.
IPv4 và IPv6 Header Fields
IPv4:
IPv6:
Đây là mức chi tiết gần DPI.
Deep Packet Inspection (DPI)
Flexible NetFlow thậm chí có thể export:
Giúp:
Routing Intelligence
Đây là phần dân CCNP/CCIE rất thích.
Có thể thu thập:
Ví dụ:
Source ASN: 65001
Destination ASN: 15169
Biết traffic đang đi tới Google.
Đây là gold mine cho traffic engineering.
Ba loại NetFlow Cache
1. Normal Cache (mặc định)
Phổ biến nhất.
Flow bị age-out dựa trên:
Ví dụ:
ip flow-cache timeout active 60
ip flow-cache timeout inactive 15
2. Immediate Cache
Mỗi packet = một flow.
Nghe lạ nhưng rất mạnh cho:
Ví dụ:
Một SYN flood tạo hàng triệu tiny flows.
Immediate cache thấy rất rõ.
3. Permanent Cache
Flow không tự expire.
Đặc điểm:
Thường dùng cho:
Đúng với nguồn gốc ban đầu của NetFlow.
NetFlow ban đầu sinh ra để làm gì?
Nhiều người nghĩ NetFlow sinh ra cho security.
Không.
Ban đầu nó được tạo cho:
Ví dụ ISP tính cước theo usage.
Sau này NetFlow trở thành nền tảng cho: Network Security
Phát hiện:
Nhiều SOC dùng flow telemetry thay full packet capture vì scale tốt hơn.
Traffic Engineering
Hiểu:
Rất quan trọng trong data center.
Capacity Planning
Biết:
Troubleshooting
Ví dụ người dùng báo chậm.
NetFlow cho thấy:
Rất nhanh ra bệnh.
Một góc nhìn hiện đại: NetFlow không chỉ là NetFlow nữa
Ngày nay khái niệm này mở rộng thành:
Và tất cả là nền tảng cho:
Có thể nói:
Routing cho biết packet đi đâu.
NetFlow cho biết chuyện gì đang xảy ra trên mạng.
Đó là khác biệt giữa connectivity và visibility.
Nếu đang học CCNA/CCNP, hãy nhớ một câu để tránh nhầm:
Session là hai chiều. Flow là một chiều. Một TCP session thường gồm hai flow.
Đây là câu hỏi rất hay xuất hiện trong CCNP ENCOR, SCOR và cả thực chiến SOC.
Khi phân tích lưu lượng mạng, rất nhiều người nhầm flow với session. Đây là một nhầm lẫn cực kỳ phổ biến, và nếu không hiểu rõ, bạn sẽ gặp khó khăn khi làm việc với NetFlow, phân tích lưu lượng, troubleshooting hoặc thậm chí triển khai các giải pháp phát hiện tấn công DDoS. Flow là gì?
Flow (luồng) là một chuỗi gói tin một chiều (unidirectional) đi giữa một nguồn và một đích xác định.
Một flow được nhận diện bởi cùng một tập 5 thuộc tính gọi là Five-Tuple, bao gồm:
- Địa chỉ IP nguồn (Source IP Address)
- Địa chỉ IP đích (Destination IP Address)
- Cổng nguồn (Source Port)
- Cổng đích (Destination Port)
- Giao thức lớp IP (IP Protocol — TCP, UDP, ICMP…)
Đây chính là “dấu vân tay” để thiết bị định danh một flow trong cơ sở dữ liệu NetFlow. Ví dụ dễ hiểu
Giả sử máy tính:
- Client: 10.1.1.10
- Web Server: 172.16.10.20
- Client dùng source port 49152
- Truy cập HTTP port 80
Flow từ client đến server sẽ là:
10.1.1.10:49152 → 172.16.10.20:80 TCP
Đây là một flow.
Nhưng khi server phản hồi:
172.16.10.20:80 → 10.1.1.10:49152 TCP
Đây là một flow khác. Flow khác Session như thế nào?
Đây là điểm rất quan trọng.
- Session (ví dụ một phiên HTTP) mang tính hai chiều.
- Flow chỉ là một chiều.
Nghĩa là:
Một session HTTP = Hai flow riêng biệt
- Client → Server
- Server → Client
Đó là lý do trong NetFlow bạn luôn thấy hai chiều tách biệt.
Router tạo Flow Record như thế nào?
Khi lưu lượng đi qua router đã bật NetFlow:
- Router quan sát packet
- Dùng Five-Tuple nhận diện flow
- Tạo một flow record trong NetFlow cache
Khi flow kết thúc hoặc timeout:
- Flow record (NetFlow PDU) được export đến NetFlow Collector.
Ví dụ các collector phổ biến:
- Cisco Secure Network Analytics (Stealthwatch)
- SolarWinds NTA
- Scrutinizer
- Elastiflow
Ngoài Five-Tuple, NetFlow còn thu thập gì?
Tùy phiên bản NetFlow, router có thể ghi thêm metadata rất giá trị: QoS và dịch vụ
- ToS byte (Type of Service)
- DSCP markings
Ví dụ:
DSCP EF (46)
cho lưu lượng thoại.
Thống kê lưu lượng
- Packet count
- Byte count
Ví dụ:
- 25 packets
- 18,540 bytes
Rất hữu ích để capacity planning.
Thời gian
- Start timestamp
- End timestamp
Giúp tính:
- Flow duration
- Bandwidth utilization
- Long-lived connections bất thường
Interface
- Input interface
- Output interface
Ví dụ biết lưu lượng đi vào từ:
GigabitEthernet0/1
và ra:
GigabitEthernet0/2
rất hữu ích khi troubleshooting.
TCP Flags
Có thể theo dõi:
- SYN
- ACK
- FIN
- RST
Ví dụ:
Một flood SYN attack sẽ lộ ra cực nhanh qua NetFlow.
Flexible NetFlow (FNF) — NetFlow thế hệ mới
Cisco Flexible NetFlow mở rộng cực mạnh.
Không chỉ Layer 3/4, nó theo dõi: Layer 2
- Source MAC
- Destination MAC
Hữu ích trong data center.
IPv4 và IPv6 Header Fields
IPv4:
- IP-ID
- TTL
- Fragmentation info
IPv6:
- Flow Label
- Option Headers
Đây là mức chi tiết gần DPI.
Deep Packet Inspection (DPI)
Flexible NetFlow thậm chí có thể export:
- Một phần payload packet
Giúp:
- Application visibility
- Threat hunting
Routing Intelligence
Đây là phần dân CCNP/CCIE rất thích.
Có thể thu thập:
- Next-hop
- Source ASN
- Destination ASN
- Prefix masks
- BGP next-hop
- BGP policy accounting index
Ví dụ:
Source ASN: 65001
Destination ASN: 15169
Biết traffic đang đi tới Google.
Đây là gold mine cho traffic engineering.
Ba loại NetFlow Cache
1. Normal Cache (mặc định)
Phổ biến nhất.
Flow bị age-out dựa trên:
- Active timeout
- Inactive timeout
Ví dụ:
ip flow-cache timeout active 60
ip flow-cache timeout inactive 15
2. Immediate Cache
Mỗi packet = một flow.
Nghe lạ nhưng rất mạnh cho:
- Real-time traffic monitoring
- DDoS detection
- Sampling
Ví dụ:
Một SYN flood tạo hàng triệu tiny flows.
Immediate cache thấy rất rõ.
3. Permanent Cache
Flow không tự expire.
Đặc điểm:
- Export định kỳ bằng update timer
- Dùng update counters thay delta counters
- Khi cache đầy, flow mới không được theo dõi
Thường dùng cho:
- Long-term accounting
- Billing systems
Đúng với nguồn gốc ban đầu của NetFlow.
NetFlow ban đầu sinh ra để làm gì?
Nhiều người nghĩ NetFlow sinh ra cho security.
Không.
Ban đầu nó được tạo cho:
- IP accounting
- Billing
Ví dụ ISP tính cước theo usage.
Sau này NetFlow trở thành nền tảng cho: Network Security
Phát hiện:
- Botnet C2 traffic
- Data exfiltration
- Port scanning
- DDoS
- Lateral movement
Nhiều SOC dùng flow telemetry thay full packet capture vì scale tốt hơn.
Traffic Engineering
Hiểu:
- Ai nói chuyện với ai
- Top talkers
- Elephant flows
Rất quan trọng trong data center.
Capacity Planning
Biết:
- Peak utilization
- Ứng dụng ngốn băng thông
- Nâng cấp đường truyền ở đâu
Troubleshooting
Ví dụ người dùng báo chậm.
NetFlow cho thấy:
- TCP retransmissions tăng
- Asymmetric routing
- Unexpected east-west traffic
Rất nhanh ra bệnh.
Một góc nhìn hiện đại: NetFlow không chỉ là NetFlow nữa
Ngày nay khái niệm này mở rộng thành:
- NetFlow (Cisco)
- IPFIX (chuẩn IETF)
- sFlow
- J-Flow (Juniper)
Và tất cả là nền tảng cho:
- NDR (Network Detection and Response)
- Security Analytics
- AIOps Telemetry
- Zero Trust Visibility
Có thể nói:
Routing cho biết packet đi đâu.
NetFlow cho biết chuyện gì đang xảy ra trên mạng.
Đó là khác biệt giữa connectivity và visibility.
Nếu đang học CCNA/CCNP, hãy nhớ một câu để tránh nhầm:
Session là hai chiều. Flow là một chiều. Một TCP session thường gồm hai flow.
Đây là câu hỏi rất hay xuất hiện trong CCNP ENCOR, SCOR và cả thực chiến SOC.