Máy tính dải CIDR địa chỉ IP là gì?
Công cụ này nhận một địa chỉ IPv4 viết theo dạng thập phân có dấu chấm cùng với độ dài tiền tố mạng CIDR, rồi tính ra toàn bộ subnet: địa chỉ mạng (network), địa chỉ broadcast, dải địa chỉ host có thể gán, subnet mask, wildcard mask và số lượng địa chỉ. Công cụ tuân theo định tuyến liên miền không phân lớp (CIDR, RFC 4632) và cho kết quả y hệt nhau ở bất kỳ đâu trên thế giới — cách đánh địa chỉ IP là một chuẩn quốc tế, không phụ thuộc vào khu vực hay quốc gia nào.
Cách sử dụng
Nhập bốn octet của địa chỉ IPv4 (mỗi octet từ 0 đến 255), ví dụ 128, 1, 10, 164, và độ dài tiền tố sau dấu gạch chéo (từ 0 đến 32), ví dụ 24, ta được 128.1.10.164/24. Máy tính làm nổi bật kết quả chính — dải host có thể gán — và liệt kê tất cả các trường liên quan ngay bên dưới.
Giải thích công thức
Trước tiên, địa chỉ được đóng gói thành một số nguyên không dấu 32 bit duy nhất: \(\text{ip} = \text{octet}_1 \times 2^{24} + \text{octet}_2 \times 2^{16} + \text{octet}_3 \times 2^{8} + \text{octet}_4\). Subnet mask có p bit đầu được đặt thành 1, trong đó p là tiền tố. Địa chỉ mạng là ip AND mask; địa chỉ broadcast là mạng OR wildcard (phần bù bit của mask). Host khả dụng đầu tiên là mạng + 1 và host khả dụng cuối cùng là broadcast - 1. Tổng số địa chỉ bằng \(2^{32-p}\), còn số host khả dụng bằng tổng đó trừ 2, không nhỏ hơn 0.
$$\begin{gathered} \text{Network} = \text{IP} \mathbin{\&} M, \qquad \text{Broadcast} = \text{Network} \mid \lnot M \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \text{IP} &= \left(\text{Oct}_1 \ll 24\right) \mid \left(\text{Oct}_2 \ll 16\right) \mid \left(\text{Oct}_3 \ll 8\right) \mid \text{Oct}_4 \\ M &= \left(2^{\text{Prefix}}-1\right) \ll \left(32 - \text{Prefix}\right) \\ \text{Total} &= 2^{\,32 - \text{Prefix}}, \quad \text{Usable} = \text{Total} - 2 \end{aligned} \right. \end{gathered}$$
Ví dụ minh họa
Với 128.1.10.164/24: mask là 255.255.255.0 và wildcard là 0.0.0.255. Địa chỉ mạng là 128.1.10.0 và broadcast là 128.1.10.255. Dải có thể gán là từ 128.1.10.1 đến 128.1.10.254. Có tổng cộng \(256\) địa chỉ và \(254\) host khả dụng.
Câu hỏi thường gặp
Vì sao số host khả dụng lại ít hơn tổng số địa chỉ đúng 2? Trong cách chia subnet IPv4 cổ điển, địa chỉ mạng và địa chỉ broadcast không thể gán cho host, nên một /24 với 256 địa chỉ chỉ còn 254 host khả dụng.
Còn /31 và /32 thì sao? Một /31 chứa 2 địa chỉ và một /32 chứa 1 địa chỉ; công thức host khả dụng cổ điển trả về 0 cho cả hai, mặc dù RFC 3021 cho phép dùng cả hai địa chỉ của /31 trên các liên kết điểm-điểm.
Wildcard mask là gì? Đó là phép đảo bit của subnet mask (chỗ nào mask là 1 thì wildcard là 0 và ngược lại). Nó thường được dùng trong danh sách kiểm soát truy cập (ACL) của router để khớp với một dải địa chỉ.