Khi tính toán IP, chia subnet thì chúng ta thường áp dụng công thức để tính toán. Công thức tính là 2^n và 2^h - 2 ( 2^m -2 ), -Để tính tổng số subnet có được sau khi chia ta dùng công thức 2^n, trong đó n là số bit mượn để chia subnet trong octet đó (mượn làm network id).-Để tính tổng số host/subnet ta dùng công thức 2^h-2, trong đó h là tổng số bit còn lại dùng làm host sau khi đã mượn . Ta phải trừ 2 vì cần bỏ địa chỉ subnet id và broadcast. Nói sơ sơ qua cách tính truyền thống như vậy thôi, giờ chúng ta tìm hiểu cách nhẩm nhanh bằng cách đếm lóng tay nhé! PHƯƠNG PHÁP CHIA SUBNET BẰNG CÁCH ĐẾM LÓNG NGÓN TAY Đầu tiên các bạn xòe bàn tay trái ra và đếm (theo hình 1) hình 1: bàn tay trái Các bạn để ý bàn tay chúng ta có tất cả 14 lóng tay, mỗi lóng tay tương trưng cho 1 bit nhé! ^^ Đếm 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384.Đếm đi đếm lại cho thuộc đi nhé các bạn. - Để tính tổng số lượng Subnet id có được sau khi chia, ta đếm số bit mượn làm subnet id trong octet đó là ra. Mượn 3 bit thì đếm 2 4 8, mượn 4 bit thì đếm 2 4 8 16, giá trị của bit đếm sau cùng chính là tổng số subnet id sau khi được chia ra. Ví dụ: 10.10.0.0 /13 ---> mượn 5 bit ---> đếm 2 4 8 16 32. Vậy mạng này có 32 subnet. - Để tính bước nhảy trong mỗi subnet id. Ta đếm số bit còn lại dùng làm host trong riêng octet đó. Giá trị của bit được đếm sau cùng cũng là giá trị của bước nhảy trong octet đó. Ví dụ: 172.35.0.0/19. Tức là địa chỉ lớp B sẽ mượn 3 bit ở octet thứ 3 làm subnet id. Dùng phương pháp đếm ta có 2 4 8, đủ 3 bit mượn rồi, vậy tổng số subnet id là 8. Ta biết trong octet thứ 3 sau khi cho mượn 3 bit làm net id thì còn lại 5 bit làm host, vậy ta đếm 2 4 8 16 32, đủ 5 bit rồi, giá trị là 32, và cũng chính là bước nhảy của subnet id., thử xem nào:-172.35.0.0/19-172.35.32.0/19-172.35.64.0/19-172.35.96.0/19-172.35.128.0/19-172.35.160.0/19-172.35.192.0/19-172.35.224.0/19Ta có tổng cộng 8 subnet id, với bước nhảy là 32. - Để tính địa chỉ broadcast của một subnet id ta lấy subnet id kế tiếp giảm 1. Ví dụ, để tính broadcast của subnet id 172.35.64.0/19, ta lấy subnet id kế tiếp là 172.35.96.0/19 giảm 1 == 172.35.95.255/19 đây chính là broadcast của subnet id 172.35.64.0 - Để tính số host trong một subnet, ta đếm toàn bộ số bit host còn lại trong subnet và lấy giá trị bit sau cùng đó -2, Lưu ý là không phân biệt octet. Nhắc lại, ta lấy giá trị của bit được đếm sau cùng - 2 ta được số host trong subnet id có thể xài. Trong ví dụ subnet 172.35.64.0/19, ta nhận biết toàn bộ số bit dùng làm host còn lại là 13. Ta đếm 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192, đủ 13 bit rồi, ok, số host trong mạng sẽ là 8192 -2 = 8190. Vì sao -2, vì ta phải trừ bỏ địa chỉ subnet id và broadcast. Hay đơn giản hơn có thể nhận thấy là số host có thể xài được trong dãy: 172.35.64.1/19 ----> 172.35.95.254/19 Và đống thời nó cũng lọt giữa 2 subnet id và broadcast. Lưu ý: Phương pháp đếm từ 2 không được dùng để tính tổng số giá trị của 1 octet chạy từ 0->255. Hay nói cách khác là không được dụng để tính tổng giá trị của 1 dãy bit như 10101101. Để tính tổng số giá trị của dãy trên ta phải đếm từ 1, cộng các giá trị có bit 1 với nhau. Ngoài ra, yêu cầu các bạn cần nhớ và thuộc: 1xxxxxxx =128 11xxxxxx =192 111xxxxx =224 1111xxxx =240 11111xxx =248 111111xx =252 1111111x =254 11111111 =255 và 2^0 = 1 2^1 = 2 2^2 = 4 2^3 = 8 2^4 = 16 2^5 = 32 2^6 = 64 2^7 = 128 2^8 = 256 Các bạn cũng có thể dùng bàn tay phải để ghi nhớ các giá trị trên , dùng nhẩm nhanh subnet mask của mạng. (hình 2) hình 2: bàn tay phải Mượn 1 bit : 128 Mượn 2 bit : 192 Mượn 3 bit : 224 Mượn 4 bit : 240 Mượn 5 bit : 248 Mượn 6 bit : 252 Mượn 7 bit : 254 Mượn 8 bit : 255 Ví dụ : 10.10.0.0 /13 --mượn 5 bit ---> S/M: 255.248.0.0 155.55.3.32 /28 -- mượn 12 bit = 8 +4 ----> S/M: 255.255.255.240 Nếu các bạn nhuần nhuyễn cách tính này, tôi tin rằng các bạn sẽ tính toán, chia subnet rất nhanh!! ( Bài viết copyright @Andew Nguyễn (Quý Ròm)