Khi cấu hình interface, viết ACL hay duyệt bảng quy hoạch IP, câu hỏi lặp lại nhiều nhất là “/27 là mask bao nhiêu, được mấy host?”. Bài này là một bảng subnet mask và CIDR tra nhanh, đi kèm wildcard mask và số host dùng được cho từng prefix, cùng vài mẹo để không cần mở bảng nữa. Nếu chưa quen khái niệm, hãy đọc trước bài cách chia subnet và tính subnet mask.
1. Bảng subnet mask – CIDR đầy đủ /8 đến /32
Cột “Host dùng được” đã trừ địa chỉ mạng và địa chỉ quảng bá. Hai ngoại lệ là /31 (link điểm–điểm theo RFC 3021, dùng được cả 2 địa chỉ) và /32 (một host đơn, hay dùng cho loopback).
| CIDR | Subnet mask | Wildcard mask | Tổng địa chỉ | Host dùng được |
|---|---|---|---|---|
| /8 | 255.0.0.0 | 0.255.255.255 | 16.777.216 | 16.777.214 |
| /9 | 255.128.0.0 | 0.127.255.255 | 8.388.608 | 8.388.606 |
| /10 | 255.192.0.0 | 0.63.255.255 | 4.194.304 | 4.194.302 |
| /11 | 255.224.0.0 | 0.31.255.255 | 2.097.152 | 2.097.150 |
| /12 | 255.240.0.0 | 0.15.255.255 | 1.048.576 | 1.048.574 |
| /13 | 255.248.0.0 | 0.7.255.255 | 524.288 | 524.286 |
| /14 | 255.252.0.0 | 0.3.255.255 | 262.144 | 262.142 |
| /15 | 255.254.0.0 | 0.1.255.255 | 131.072 | 131.070 |
| /16 | 255.255.0.0 | 0.0.255.255 | 65.536 | 65.534 |
| /17 | 255.255.128.0 | 0.0.127.255 | 32.768 | 32.766 |
| /18 | 255.255.192.0 | 0.0.63.255 | 16.384 | 16.382 |
| /19 | 255.255.224.0 | 0.0.31.255 | 8.192 | 8.190 |
| /20 | 255.255.240.0 | 0.0.15.255 | 4.096 | 4.094 |
| /21 | 255.255.248.0 | 0.0.7.255 | 2.048 | 2.046 |
| /22 | 255.255.252.0 | 0.0.3.255 | 1.024 | 1.022 |
| /23 | 255.255.254.0 | 0.0.1.255 | 512 | 510 |
| /24 | 255.255.255.0 | 0.0.0.255 | 256 | 254 |
| /25 | 255.255.255.128 | 0.0.0.127 | 128 | 126 |
| /26 | 255.255.255.192 | 0.0.0.63 | 64 | 62 |
| /27 | 255.255.255.224 | 0.0.0.31 | 32 | 30 |
| /28 | 255.255.255.240 | 0.0.0.15 | 16 | 14 |
| /29 | 255.255.255.248 | 0.0.0.7 | 8 | 6 |
| /30 | 255.255.255.252 | 0.0.0.3 | 4 | 2 |
| /31 | 255.255.255.254 | 0.0.0.1 | 2 | 2 (RFC 3021) |
| /32 | 255.255.255.255 | 0.0.0.0 | 1 | 1 (host route) |
2. Mẹo nhớ bảng mà không cần học thuộc
Cả bảng thực ra chỉ lặp lại 8 giá trị octet. Mỗi khi thêm 1 bit vào prefix, octet đang “mở” nhận thêm một bit 1 từ trái sang:
| Số bit 1 trong octet | Giá trị octet | Bước nhảy (256 − octet) |
|---|---|---|
| 1 | 128 | 128 |
| 2 | 192 | 64 |
| 3 | 224 | 32 |
| 4 | 240 | 16 |
| 5 | 248 | 8 |
| 6 | 252 | 4 |
| 7 | 254 | 2 |
| 8 | 255 | 1 |
- Tìm octet đang mở: /8, /16, /24 là các mốc tròn. Ví dụ
/27= 24 + 3, nên ba octet đầu là 255 và octet thứ tư có 3 bit 1 →255.255.255.224. - Bước nhảy = 256 − octet đang mở. Với
/27bước nhảy là 32, các mạng con bắt đầu ở .0, .32, .64, .96… - Số địa chỉ =
2^(32 − n); số host dùng được =2^(32 − n) − 2. Nhớ vài mốc: /24 = 256, /16 = 65.536, mỗi bit bớt đi thì nhân đôi. - Wildcard =
255.255.255.255trừ từng octet của subnet mask, chi tiết trong bài wildcard mask là gì.
3. Đổi qua lại giữa CIDR, subnet mask và wildcard
Ba cách viết này chỉ là ba góc nhìn của cùng một con số bit mạng:
- CIDR → mask: viết
nbit 1 rồi điền 0 cho đủ 32 bit, đổi từng nhóm 8 bit ra số thập phân./21= 8 + 8 + 5 →255.255.248.0. - Mask → CIDR: cộng số bit 1 của từng octet.
255.255.255.240= 8 + 8 + 8 + 4 =/28. - Mask → wildcard: lấy 255 trừ từng octet.
255.255.248.0→0.0.7.255.
Ví dụ nhanh: cấu hình Cisco cần ip address 10.20.30.1 255.255.255.252, còn ACL hay câu lệnh network của OSPF lại dùng wildcard 0.0.0.3; trên Juniper, Nokia SR OS hay nhiều hệ thống Linux thì thường viết thẳng 10.20.30.1/30. Cú pháp có thể khác theo hãng và phiên bản, nên luôn đối chiếu tài liệu của hãng.
Một subnet mask hợp lệ luôn là dãy bit 1 liền nhau rồi mới tới bit 0. Mask kiểu 255.255.0.255 là sai, thường do gõ nhầm, và là thứ nên soát trước khi đẩy cấu hình hàng loạt.
4. Các prefix hay gặp trong mạng thực tế
| Prefix | Hay dùng cho | Ghi chú |
|---|---|---|
| /32 | Loopback, router-id, host route | Một địa chỉ duy nhất |
| /31 | Link điểm–điểm giữa hai router | Tiết kiệm địa chỉ so với /30; kiểm tra thiết bị hỗ trợ |
| /30 | Link điểm–điểm kiểu truyền thống | 2 host dùng được |
| /29, /28 | Dải quản lý nhỏ, cụm thiết bị ít | 6 và 14 host |
| /24 | LAN văn phòng, VLAN người dùng | 254 host, dễ đọc |
| /22, /21 | VLAN lớn, Wi‑Fi đông người | Miền quảng bá lớn, cân nhắc trước khi dùng |
Ba dải IPv4 riêng (RFC 1918) cũng nên nhớ để nhận ra ngay khi đọc cấu hình: 10.0.0.0/8, 172.16.0.0/12 và 192.168.0.0/16. Dải 100.64.0.0/10 (RFC 6598) dành cho CGNAT của nhà cung cấp dịch vụ.
Khi cần gộp nhiều mạng con thành một tuyến ngắn hơn, xem bài gộp route và siêu mạng; còn chia VLAN và gán dải cho từng VLAN thì xem VLAN là gì và cách chia VLAN.
5. In bảng ra giấy hoặc lưu dùng offline
Ở trạm, phòng máy hay trong tủ rack không phải lúc nào cũng có mạng. Vài cách giữ bảng bên mình:
- Mở bài này trên máy tính, bấm
Ctrl + P(macOS:Cmd + P) và chọn “Lưu dưới dạng PDF” hoặc in thẳng. Nên chọn khổ A4 dọc và bỏ phần đầu trang/chân trang của trình duyệt cho gọn. - Trên điện thoại, dùng chức năng chia sẻ → In hoặc lưu PDF của trình duyệt.
- Dán bảng vào ghi chú cùng sổ tay hiện trường, cạnh danh sách lệnh trong bài lệnh xuất cấu hình router, switch theo từng hãng.
6. Khi bảng không đủ: tính bằng công cụ
Bảng trả lời câu hỏi “prefix này là gì”. Khi phải làm việc với danh sách thật — hàng chục subnet trong file CIQ, dải “IP đầu – IP cuối” cần đổi ra CIDR, hay kiểm tra chồng lấn — tính tay dễ sai. Công cụ IP Toolbox: tính subnet, VLSM, gộp route (miễn phí, chạy trên trình duyệt) nhận danh sách dán vào, kể cả dạng IP MASK, rồi trả mask, wildcard, dải host, phát hiện trùng và chồng lấn, chia VLSM theo số host. Quy hoạch dải cho từng VLAN thì dùng Quy hoạch IP / VLAN, còn đối chiếu IP/VLAN giữa nhiều site thì có Soát IP / VLAN nhiều site.
Câu hỏi thường gặp
Subnet mask 255.255.255.0 là CIDR bao nhiêu?
255.255.255.0 có 24 bit 1 nên là /24, gồm 256 địa chỉ và 254 host dùng được. Wildcard tương ứng là 0.0.0.255.
/27 có bao nhiêu host?
/27 có 2^(32−27) = 32 địa chỉ, trừ địa chỉ mạng và quảng bá còn 30 host dùng được. Subnet mask là 255.255.255.224, bước nhảy giữa các mạng con là 32.
Vì sao /31 lại dùng được cả 2 địa chỉ?
Theo RFC 3021, link điểm–điểm /31 không cần địa chỉ mạng và quảng bá riêng nên cả 2 địa chỉ đều gán được cho hai đầu link. Trước khi dùng nên kiểm tra thiết bị và phiên bản phần mềm có hỗ trợ.
Làm sao đổi subnet mask sang wildcard mask?
Lấy 255 trừ từng octet của subnet mask. Ví dụ 255.255.255.240 (/28) cho wildcard 0.0.0.15; wildcard dùng trong ACL và câu lệnh network của OSPF trên Cisco.