Giải thích chi tiết cách tính subnet và CIDR trong mạng IPv4
Bài viết này giúp bạn hiểu rõ cách tính subnet và CIDR trong mạng IPv4, giải thích ý nghĩa của các ký hiệu như /24, /32, cách xác định số lượng IP, subnet mask và phạm vi địa chỉ sử dụng. Nội dung được trình bày từ cơ bản đến thực tế, phù hợp cho lập trình viên, DevOps và quản trị hệ thống.
1. Giới thiệu: Vì sao cần hiểu CIDR và subnet?
Trong hệ thống mạng máy tính, việc chia nhỏ mạng (subnetting) là kỹ năng nền tảng nhưng cực kỳ quan trọng đối với:
-
Quản trị hệ thống (SysAdmin)
-
DevOps / Cloud Engineer
-
Lập trình viên làm việc với Docker, Kubernetes, VPN, Firewall
CIDR (Classless Inter-Domain Routing) là cách biểu diễn dải IP hiện đại, thay thế cho mô hình Class A/B/C cũ, giúp việc phân chia mạng linh hoạt và hiệu quả hơn.
2. Cấu trúc của địa chỉ IPv4
Một địa chỉ IPv4 có 32 bit, thường được viết thành 4 octet (mỗi octet 8 bit):
192.168.1.10 = 11000000.10101000.00000001.00001010
Trong đó:
-
Một phần dùng để xác định mạng (network)
-
Phần còn lại dùng để xác định thiết bị (host)
CIDR chính là cách nói bao nhiêu bit trong 32 bit này thuộc về network.
3. CIDR là gì? (ký hiệu /24, /32, …)
CIDR được viết dưới dạng:
<IP>/<số bit network>
Ví dụ:
-
192.168.1.0/24 -
10.0.0.5/32
Ý nghĩa:
-
/24→ 24 bit đầu là network -
/32→ 32 bit đều là network
4. Công thức tính subnet cơ bản
4.1 Số bit host
Số bit host = 32 − CIDR
4.2 Số lượng IP trong subnet
Tổng số IP = 2^(số bit host)
4.3 Số IP sử dụng được
IP usable = Tổng IP − 2
Trừ 2 vì:
1 IP network
1 IP broadcast
5. Ví dụ chi tiết: mạng /24
5.1 Phân tích
192.168.1.0/24
-
Bit network: 24
-
Bit host: 32 − 24 = 8
-
Tổng IP: 2⁸ = 256
-
IP dùng được: 254
5.2 Subnet mask
/24 = 255.255.255.0
Dạng nhị phân:
11111111.11111111.11111111.00000000
5.3 Dải IP
| Loại | Địa chỉ |
|---|---|
| Network | 192.168.1.0 |
| Host đầu | 192.168.1.1 |
| Host cuối | 192.168.1.254 |
| Broadcast | 192.168.1.255 |
6. Ví dụ đặc biệt: mạng /32
8.8.8.8/32
Đặc điểm:
-
Bit host = 0
-
Tổng IP = 1
-
Không có broadcast
-
Không có dải
Dùng khi:
-
Firewall whitelist
-
Route đến 1 máy duy nhất
-
VPN / WireGuard / Tailscale
7. Các CIDR thường gặp và cách hiểu nhanh
| CIDR | Subnet mask | Tổng IP | Ý nghĩa thực tế |
| /32 | 255.255.255.255 | 1 | 1 host |
| /30 | 255.255.255.252 | 4 | Point-to-point |
| /29 | 255.255.255.248 | 8 | Mini subnet |
| /28 | 255.255.255.240 | 16 | Nhóm nhỏ |
| /24 | 255.255.255.0 | 256 | LAN phổ biến |
| /16 | 255.255.0.0 | 65,536 | Network lớn |
8. Cách tính nhanh không cần giấy bút
-
Mỗi octet có giá trị tối đa 256
-
CIDR chia hết cho 8 → subnet mask rất dễ nhớ:
-
/8 → 255.0.0.0
-
/16 → 255.255.0.0
-
/24 → 255.255.255.0
-
-
CIDR lẻ (vd /26):
/26 → 32 − 26 = 6 bit host → 2⁶ = 64 IP
9. Ứng dụng thực tế trong hệ thống
Firewall
allow from 203.113.10.5/32
→ Chỉ cho đúng 1 IP
Docker network
subnet: 172.18.0.0/24
→ 254 container
Cloud / VPN
-
AWS Security Group
-
WireGuard AllowedIPs
-
Kubernetes Pod CIDR
10. Kết luận
Hiểu CIDR không chỉ là kiến thức mạng cơ bản mà là chìa khóa để thiết kế hệ thống an toàn, tối ưu và mở rộng tốt.
Chỉ cần nắm:
-
IPv4 có 32 bit
-
CIDR = số bit network
-
Host = 32 − CIDR
-
IP = 2^(host)
Bạn đã có thể làm chủ subnetting trong hầu hết các tình huống thực tế.
Tài liệu này phù hợp cho:
-
Dev mới học hạ tầng
-
SysAdmin
-
DevOps
-
Cloud Engineer