Công cụ tính VLSM là gì?
VLSM (Variable Length Subnet Masking) — kỹ thuật chia subnet với mặt nạ độ dài thay đổi — cho phép kỹ sư mạng chia một dải IP duy nhất thành nhiều subnet có kích thước khác nhau, sao cho mỗi subnet vừa khít với số host thực tế cần dùng. Nhờ vậy, bạn tránh được tình trạng lãng phí địa chỉ thường gặp khi chia subnet với độ dài cố định. Công cụ này nhận một địa chỉ mạng gốc cùng danh sách số host, rồi cấp phát các subnet liền kề theo thứ tự từ lớn đến nhỏ.
Cách sử dụng
Nhập địa chỉ mạng bắt đầu (ví dụ 192.168.1.0) và danh sách số host mà mỗi subnet cần phục vụ, ngăn cách bằng dấu phẩy (ví dụ 50, 20, 10, 2). Công cụ sẽ sắp xếp các yêu cầu từ lớn đến nhỏ, sau đó gán cho mỗi yêu cầu subnet nhỏ nhất vừa đủ chứa, đồng thời xếp chúng nối tiếp nhau để không bỏ phí không gian địa chỉ nào.
Giải thích công thức
Với mỗi yêu cầu h host, bạn cần đủ chỗ cho h host cộng thêm một địa chỉ mạng và một địa chỉ broadcast, tức là tổng cộng h + 2 địa chỉ. Prefix được tính bằng
$$\text{Prefix} = 32 - \left\lceil \log_{2}\!\left( h + 2 \right) \right\rceil$$còn kích thước khối là \(2^{32 - \text{prefix}}\). Chẳng hạn, 50 host cần 52 địa chỉ; \(\lceil \log_{2}(52) \rceil = 6\), nên prefix là /26 với khối gồm 64 địa chỉ và 62 host khả dụng.
Ví dụ minh họa
Mạng gốc 192.168.1.0 với các yêu cầu 50, 20, 10, 2: khối /26 (64 địa chỉ) dành cho LAN 50 host bắt đầu tại 192.168.1.0; khối /27 (32 địa chỉ) cho 20 host bắt đầu tại 192.168.1.64; khối /28 (16 địa chỉ) cho 10 host bắt đầu tại 192.168.1.96; và khối /30 (4 địa chỉ) cho liên kết điểm-điểm 2 host bắt đầu tại 192.168.1.112. Tổng cộng đã dùng: 116 địa chỉ.
Câu hỏi thường gặp
Vì sao phải cộng thêm 2 host? Mỗi subnet IPv4 luôn dành riêng một địa chỉ cho ID mạng và một địa chỉ cho broadcast, nên số host khả dụng bằng kích thước khối trừ đi hai.
Vì sao phải sắp xếp từ lớn đến nhỏ? Cấp phát những subnet lớn trước giúp các khối luôn căn đúng ranh giới tự nhiên của chúng và ngăn tình trạng phân mảnh.
Subnet nhỏ nhất dùng được trong thực tế là gì? Khối /30 cho 2 host khả dụng, rất lý tưởng cho liên kết giữa hai router; còn /31 đôi khi được dùng cho kết nối điểm-điểm mà không cần địa chỉ broadcast.