Cách chia Subnet nhanh
Dạo trước mình có viết bài Subnet mask và cách chia có trình bày về cách chia Subnet căn bản. Cách tính và nhớ phương phá để chia Subnet có nhiều cách, bài này trình bày cách tính rất nhanh, tham khảo nhé. VIA từ blog của Anh Lê Cường.
Các bước chia như sau:
Ta có bài LAB như sau:
Ví dụ ta có IP 192.168.1.0 chia 3 mạng con theo yêu cầu của sếp:
B1: Xác định số bit sẽ mượn dựa vào số mạng con muốn chia (quy tắc bàn tay trái):
Công thức tính để chia bao nhiêu mạng con ta làm như sau:
2^n >= m (m là số mạng con cần chia hay còn gọi là số subnet cần chia, n là con số bit ta sẽ mượn)
suy ra ta có: 2^n >=3 (số 3 là số mạng con mà sếp yêu cầu).
suy ra tiếp n là số 2. (Nhìn bàn tay trái đốt thứ 2 của ngón út là số 4, 4 dĩ nhiên lớn hơn 3).
B2: Quy tắc bàn tay phải: Ở đây ta sẽ mượn 2 bit (số n ở trên B1). Dựa theo hình tay phải nó sẽ là số 192.
B3: Tìm bước nhảy (Bước nhảy có nghĩa là 3 mạng con này sẽ nằm từ ip bao nhiêu tới bao nhiêu cho mỗi bước).
Lấy 256 - 192 của B2 (ở đâu có 256? xin thưa 0--> 255 là có 256 host vì vậy ta lấy 256 -192 = 64
==> Ta có các mạng con như sau:
Mạng 1: 192.168.1.0 Netmask: 255.255.255.192
Mạng 2: 192.168.1.64 Netmask: 255.255.255.192
Mạng 3: 192.168.1.128 Netmask: 255.255.255.192
Mạng 4: 192.168.1.192 Netmask: 255.255.255.192
Xong rồi, được 4 lớp mạng nhỏ, tuỳ bạn sử dụng nhé. Test cái bằng cách cài đặt win xp cho 2 cái máy ảo sau đó đặt IP theo 3 trường hợp sau:
TH1:
Máy 1:
192.168.1.70 Netmask: 255.255.255.192
Máy 2:
192.168.1.80 Netmask: 255.255.255.192
Kết quả: Cho 2 máy ping nhau ==> kết quả ping OK. (Reply from 192.168.1.80: bytes=32 time=1ms TTL=128)
TH2:
Máy 1:
192.168.1.70 Netmask: 255.255.255.192
Máy 2:
192.168.1.180 Netmask: 255.255.255.192
Kết quả: Cho 2 máy ping nhau ==> kết quả ping Không được (vì 2 ip này khác mạng).
TH3:
Máy 1:
192.168.1.62 Netmask: 255.255.255.192
Máy 2:
192.168.1.128 Netmask: 255.255.255.192
Kết quả: Máy 1 không đặt được IP và Máy 2 cũng vậy.
Tại sao vậy? cho bạn kết luận nhé.
Kết thúc bài LAB. Sau bài LAB này bạn có công thức tính và chia subnet. Sau đó tiếp tục bạn hãy thử học phương pháp tính nhanh phía dưới nhé.
Hướng dẫn chi tiết cụ thể tính nhanh:
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:
[caption id="attachment_132" align="aligncenter" width="288" caption="Tay trái"][/caption]
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/19
Ta 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.
[caption id="attachment_133" align="aligncenter" width="280" caption="Tay phải"][/caption]
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!