Chia mạng con bằng tay: từ /24 thành các /27

Ví dụ chia mạng IPv4 từng bước: mượn bit, tìm kích thước khối, liệt kê mọi mạng con với dải host và broadcast, và tránh các lỗi lệch một kinh điển.

Trong bài này

Chia mạng con (subnetting) trông như một mẹo mà bạn hoặc biết hoặc không. Thực tế nó chỉ là ba phép tính nhỏ: mượn bao nhiêu bit, mỗi khối lớn bao nhiêu, và mỗi khối bắt đầu ở đâu. Bài này làm trọn một ví dụ, chia 192.168.1.0/24 thành tám mạng con, rồi áp dụng cùng phương pháp cho một yêu cầu không đều, và liệt kê những lỗi tốn thời gian nhất. Mọi con số đều kiểm tra được bằng công cụ tính mạng con IP.

/24 nghĩa là gì

Địa chỉ IPv4 dài 32 bit. Độ dài prefix cho biết bao nhiêu bit đầu xác định mạng; các bit còn lại đánh số host bên trong. Trong 192.168.1.0/24, 24 bit đầu (192.168.1) cố định và 8 bit cuối tự do, nên khối chứa 2^8 = 256 địa chỉ: từ 192.168.1.0 đến 192.168.1.255.

Hai địa chỉ trong số đó có nhiệm vụ riêng. Địa chỉ đầu, 192.168.1.0, là địa chỉ mạng; địa chỉ cuối, 192.168.1.255, là broadcast. Còn lại 254 cho host. Subnet mask chỉ là prefix viết dưới dạng địa chỉ: 24 bit 1 rồi 8 bit 0, tức 255.255.255.0.

Bước 1: mượn bit

Ta cần 8 mạng con. Mỗi bit lấy từ phần host nhân đôi số mạng con: 1 bit cho 2, 2 bit cho 4, 3 bit cho 8. Vậy mượn 3 bit và prefix mới là 24 + 3 = /27.

Quy tắc gói trong một dòng: mượn số bit b nhỏ nhất sao cho 2^b ít nhất bằng số mạng con cần có.

Bước 2: kích thước khối

/27 để lại 32 − 27 = 5 bit host, nên mỗi mạng con có 2^5 = 32 địa chỉ và 32 − 2 = 30 host dùng được.

Mask của /27 là 255.255.255.224. Cách nhanh để tính octet đáng chú ý mà không cần nhị phân: 256 − kích thước khối = 256 − 32 = 224. Wildcard mask là phần bù, 0.0.0.31.

Bước 3: liệt kê các mạng con

Các mạng con bắt đầu ở bội số của kích thước khối trong octet đang chia: 0, 32, 64, 96, 128, 160, 192, 224. Với mỗi mạng, broadcast là điểm bắt đầu của mạng kế tiếp trừ một, còn host nằm ở giữa:

#Mạng conHostBroadcast
1192.168.1.0/27.1 – .30.31
2192.168.1.32/27.33 – .62.63
3192.168.1.64/27.65 – .94.95
4192.168.1.96/27.97 – .126.127
5192.168.1.128/27.129 – .158.159
6192.168.1.160/27.161 – .190.191
7192.168.1.192/27.193 – .222.223
8192.168.1.224/27.225 – .254.255

Kiểm tra: 8 mạng con × 32 địa chỉ = 256, đúng bằng cả /24, không hở, không chồng. Tám mạng mỗi mạng 30 host cho 240 địa chỉ dùng được thay vì 254; 14 địa chỉ còn lại là các địa chỉ mạng và broadcast tăng thêm, cái giá luôn phải trả khi chia nhỏ.

Tìm mạng con của một địa chỉ

192.168.1.77 thuộc mạng con nào? Chia octet cuối cho kích thước khối, lấy phần nguyên: 77 ÷ 32 = 2 dư 13. Mạng con bắt đầu ở 2 × 32 = 64, nên địa chỉ nằm trong 192.168.1.64/27 (host .65 đến .94, broadcast .95). Trong nhị phân, đó là phép AND theo bit với mask: 77 là 01001101, octet mask 224 là 11100000, AND được 01000000 = 64. Công cụ đổi hệ cơ số hiển thị dạng nhị phân nếu bạn muốn theo từng bit.

Yêu cầu không đều: VLSM

Mạng thực tế hiếm khi cần các mạng con bằng nhau. Giả sử một văn phòng cần 100 host, văn phòng khác cần 50, và hai liên kết router mỗi liên kết cần 2, tất cả lấy từ 192.168.1.0/24. Cấp khối lớn nhất trước, mỗi khối nằm đúng ranh giới của nó:

  1. 100 host cần 7 bit host (2^7 = 128, dùng được 126): 192.168.1.0/25, host .1–.126.
  2. 50 host cần 6 bit (64, dùng được 62): 192.168.1.128/26, host .129–.190.
  3. Mỗi liên kết cần 2 host: /30 có 4 địa chỉ, 2 dùng được, nên là 192.168.1.192/30 và 192.168.1.196/30. Nhiều router cũng nhận /31 cho liên kết điểm-điểm (RFC 3021), chỉ tốn 2 địa chỉ.

Phần còn lại, 192.168.1.200 đến .255, để dành về sau. Cấp lớn trước là điều quan trọng: nếu cấp khối nhỏ trước, chúng chia vụn không gian và /25 có thể không còn chỗ nằm đúng ranh giới /25.

Những lỗi hay gặp

  • Tính cả địa chỉ mạng và broadcast vào số host. /27 có 32 địa chỉ nhưng chỉ 30 host. Ngoại lệ là /31 và /32.
  • Bắt đầu mạng con lệch ranh giới. 192.168.1.40/27 không phải điểm bắt đầu; /27 chứa .40 bắt đầu ở .32. Nhiều thiết bị tự sửa âm thầm, số khác báo lỗi.
  • Gộp các khối không thẳng hàng. 192.168.1.32/27 và .64/27 liền nhau nhưng không gộp thành /26 được, vì /26 phải bắt đầu ở bội số của 64. Chỉ .0 + .32 hoặc .64 + .96 gộp được.
  • Trùng dải VPN hay đám mây. 10.0.0.0/8 và 192.168.0.0/24 là mặc định phổ biến nên hai chi nhánh hay đụng nhau. Hãy chọn dải ít phổ biến hơn trong 10.0.0.0/8 hoặc 172.16.0.0/12.
  • Dùng 100.64.0.0/10 như dải riêng. Đó là không gian dùng chung cho NAT của nhà mạng (RFC 6598); nhà mạng của bạn có thể đã dùng nó.

Thử ngay

Gõ 192.168.1.0/24 ở thẻ chia mạng của công cụ tính mạng con IP, chọn 8 mạng con và so với bảng trên. Sau đó dán vài khối vào thẻ gộp mạng để xem khối nào thật sự gộp được.

Công cụ được nhắc trong bài

Về trang blog