You are on page 1of 16

CÁCH TÍNH NHẨM CHIA SUBNET CỰC NHANH

PHƯƠNG PHÁP CHIA SUBNET BẰNG CÁCH ĐẾM LÓNG NGÓN TAY
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:

Các bạn đếm theo số màu đen


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é!

1
Đế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ư

2
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:

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.

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!

3
CÔNG THỨC CHIA SUBNET FLSM (Fixed Length Subnet Masking)

Subneting (chia subnet) là hành động chia Net ID thành các Subnet ID.
Gọi n là số bit mượn thêm.
Gọi m là số bit còn lại trong dãy 32 bits địa chỉ IP.
Ví dụ: A.B.C.D/18  Ipv4 class B (16 bit mạng) và mượn thêm 2 bits  n=2
Khi đó m = 32 – 18 = 14 bits
 Bước 1: Tính số subnet có thể chia khi mượn n bit:
o Số subnet = 2n (hỗ trợ subnet zero) hoặc 2n – 2 (không hỗ trợ subnet zero)1
 Bước 2: Tính số host (số địa chỉ IP) có thể dùng trong 1 subnet
o Số host/subnet = 2m – 2 (trừ 2 vì có 1 địa chỉ NetID và 1 Broadcast)
 Bước 3: Tính bước nhảy để tìm được subnet ID tiếp theo
o Bước nhảy = 2m
 Bước 4: Tính subnet mask mới (cho tất cả các subnet) (có thể dùng quy tắc bàn
tay phải dựa trên số bit mượn)
o Subnet mask mới = 256 – Bước nhảy
 Bước 5: Tìm subnet ID
o Subnet ID đầu tiên = 0
o Subnet ID kế tiếp = Subnet hiện tại + bước nhảy
 Bước 6: Tìm địa chỉ host đầu và host cuối trong một subnet
o Địa chỉ host đầu = Subnet ID + 1
o Địa chỉ host cuối = Subnet ID + bước nhảy – 2
o Địa chỉ broadcast = Host cuối + 1 = Subnet ID tiếp theo - 1
//Có một để ý là giá trị subnet mask mới tính ra được sẽ là giá trị của subnet ID cuối cùng.

1
Subnet zero là subnet đầu tiên khi chia subnet (thường trước đây ko sử dụng, bây giờ thì có)
4
BÀI TẬP VÍ DỤ
Ví dụ 1 (BÀI TOÁN THUẬN): Cho mạng 203.162.4.0/24. Hãy chia làm 4 mạng con. Tìm
subnet ID, host đầu, host cuối, broadcast và subnet mask mới.
Giải:
Vì cần chia làm 4 mạng con  số subnet = 4  2n = 4  n = 2
Như vậy sẽ mượn 2 bits của phần host (cho class C)
Khi đó: m = 32 – 24 – 2 = 6
 Bước nhảy = 26 = 64
 Số host trong một subnet = Bước nhảy – 2 = 62
Tìm subnet mask mới  Có 2 cách:
- Cách 1: 256 – bước nhảy = 192  Vì class C nên: 255.255.255.192
- Cách 2: Quy tắc bàn tay phải  suy ra được 192
Bây giờ sẽ đi tìm subnet ID, địa chỉ host đầu, host cuối, broadcast của từng subnet.
Subnet ID Host đầu Host cuối Broadcast
(Subnet ID trước + (Subnet ID + 1) (Subnet ID kế tiếp (Host cuối + 1 hoặc
bước nhảy) – 2) Subnet ID kế tiếp –
1)
203.162.4.0/26 203.162.4.1 203.162.4.62 203.162.4.63
203.162.4.64/26 203.162.4.65 203.162.4.126 203.162.4.127
203.162.4.128/26 203.162.4.129 203.162.4.190 203.162.4.191
203.162.4.192/26 203.162.4.193 203.162.4.254 203.162.4.255

Ví dụ 2 (BÀI TOÁN NGHỊCH 1): Cho địa chỉ IP của một host (ví dụ: 203.162.4.165) và
subnet mask: 255.255.255.224. Tìm xem địa chỉ IP đó thuộc về subnet ID nào.
Giải:
Sử dụng quy tắc bàn tay phải ta suy ra được người ta đã mượn 3 bit từ phần host dùng
cho phần mạng  có 8 subnet.
Thông qua subnet mask đề cho ta thấy đó là mạng lớp C  chỉ có 8 bit phần host để
mượn.
 Số bước nhảy = 28-3 = 32
Ở đây ta có thể làm thủ công bằng việc ghi nháp ra giấy từng subnet ID với subnet ID
đầu tiên là 203.162.4.0/27. Sau đó cứ cộng 32 vào để ra các subnet ID tiếp theo là
203.162.4.32/27, 203.162.4.32/27, 203.162.4.64/27, 203.162.4.96/27, 203.162.4.128/27,
203.162.4.160/27, 203.162.4.192/27, 203.162.4.224/27

5
Có thể rút ra được địa chỉ IP đề cho thuộc subnet 203.162.4.160/27
Tuy nhiên có 1 cách làm nhanh hơn:
Ta lấy giá trị octet cuối cùng (vì đó là phần host)/32 = 5,15625  phần nguyên: 32x5=160
 subnet ID = 203.162.4.160

6
PHƯƠNG PHÁP VLSM (Variable Length Subnet Masking)

Đối với cách chia trên ta thấy số IP (hay còn gọi là host) trong mỗi 1 subnet là như nhau.
Nếu muốn chia các subnet với số host khác nhau trong mỗi subnet ta phải chia theo
VLSM.
Tức là ta sẽ biết trước số host cần có cho mỗi subnet. Từ đó suy ra cách chia subnet.
Xem ví dụ sau: Ta được phép cấp IP cho 3 chi nhánh dưới đây từ mạng 203.162.4.0/24.
Nên chia subnet như thế nào?
Chi nhánh Hà Nội Chi nhánh Đà Nẵng Chi nhánh HCM
Cần 25 IP Cần 22 IP Cần 52 IP

Ta nên xét theo thứ tự yêu cầu IP giảm dần của chi nhánh.
 Chi nhánh HCM:
o Cần 52 IP  2m – 2 ≥ 52  m ≥ 6  m = 6  n = 2 (4 subnet)
o Bước nhảy: 26 = 64
o Số host: 64 – 2 = 62
o Suy ra: subnet id đầu tiên: 203.162.4.0/26 sẽ dành cho HCM
o Subnet mask = 256 – bước nhảy = 192 (255.255.255.192)
 Lưu ý là từ kết quả trên ta còn 3 subnet khác. Và 3 subnet đó có thể gán cho các
chi nhánh còn lại.
o Lúc này ta có subnet ID tiếp theo sau khi chia subnet cho HCM phải là
203.162.4.64/26
o Bây giờ ta cần 25 IP cho HN  2m – 2 ≥ 25  m = 5  n = 3
o Bước nhảy là 25 = 32
o Subnet ID đầu tiên sau khi chia subnet từ 203.162.4.64/26 là
203.162.4.64/27. Mạng này có 30 host dùng được  OK
o Subnet ID tiếp theo là 203.162.4.96/27 với 30 host  OK cho Đà Nẵng luôn
Như vậy ta đã chia xong và có kết quả tối ưu khi chia subnet theo VLMS

7
Lưu ý: Trước khi chia subnet theo VLSM cần kiểm tra xem liệu số host mà đề bài cung cấp
có đủ để chia cho tất cả các mạng con không.

 Với mỗi subnet, xem giá trị gần nhất với số host cần mà là kết quả cảu 2 lũy thừa
(không trừ đi 2 vì một vài IP thay vì gán cho host phải dùng để gán cho mạng và
broadcast)
 Tính tổng các giá trị đó
 So sánh tổng đó với tổng các host mà đề cho. Nếu tổng đó nhỏ hơn tổng các host
đề cho thì chia ok

8
9
CÁC DẠNG BÀI TẬP LIÊN QUAN ĐẾN IP VÀ CHIA SUBNET

Tham khảo một số trang hỗ trợ:

- https://www.rapidtables.com/convert/number/decimal-to-binary.html
- http://jodies.de/ipcalc?host=165.111.54.4&mask1=22&mask2=
- https://subnettingpractice.com/
- http://www.vlsmcalc.net/

1. What is the slash notation for the subnet mask 255.255.252.0? (e.g. /24)?

Kết quả: /22

Cách làm:

- Xét 252 --> cần quy đổi ra số nhị phân. --> Để quy đổi nhanh ta dùng quy tắc bàn tay phải
suy ra 252 tương ứng 11111100 --> mượn 6 bits ở octet 3

--> 16 + 6 =22

2. SubnetMask của 184.231.138.239 là bao nhiêu nếu 9 bit đầu của địa chỉ HostID
được dùng để phân mạng con.

a/ 255.255.192.0

b/ 255.255.255.128

c/ 255.255.224.0

d/ 255.255.255.192

Đây là địa chỉ lớp B nên phương án (a),(c) là loại. Khi là lớp B thì dạng chuẩn là /16, tuyên
nhiên do mượn 9 bit làm NestID có 25 bít  do đó Octet cuối sẽ mượn 1 bit. octet cuối
của SubnetMask biểu diễn dạng nhị phân là: 10000000  áp dụng quy tắc bàn tay phải ta
có 128  Đáp án B

3. What is the subnet mask in use in this network?

10
Vì mỗi VLAn có 12 hosts  2m-2>=12  m = 4  n = 4: mượn 4 bit

Theo quy tắc bàn tay phải, mượn 4 bit thì số thập phân là 240. Và vì các IP thuộc dải mạng
lớp C nên subnet mask sẽ là 255.255.255.x

255.255.255.240

Bài tập tương tự

Kết quả: 255.255.255.192

4. What is the network address and subnet mask (in CIDR noration) of the hidden
(xxx.xxx.xxx.xxx/xx) subnet? The whole network has a network address and subnet
mask of 192.168.0.0/23

11
Để giải bài này ta đơn giản là chia mạng cho ban đầu thành 5 subnets ứng với số host cần
có của từng subnet.

 Mạng 1 với 115 host  m = 7, n = 1. Số bước nhảy là 128 và vì là lớp C 


192.168.0.0/25 và subnet tiếp theo là 192.168.0.128/25 sẽ dùng để chia tiếp
 Mạng 2 với 108 host  m = 7, n = 1. Số bước nhảy là 128 và vì lớp C 
192.168.0.128/25 và subnet tiếp theo là 192.168.1.0/25 dùng để chia tiếp
 Mạng 3 với 43 host  m = 6, n = 2. Số bước nhảy là 64 và vì lớp C  192.168.1.0/26
và subnet tiếp theo 192.168.1.64/26 sẽ được dùng để chia tiếp
 Tương tự ta có các kết quả như trên bảng.

Ví dụ tương tự: chia mạng 192.168.0.0/24

12
5. How many subnets are needed for the following topology?

Đáp án là 3. Vì chỉ cần quan tâm đến router thôi, các bộ switch đó nối các máy tính cùng 1
mạng.

Bài này đáp án là 7.

6. Using the diagram below, which of the following IP addresses would be valid to
asign to interface Fa0/3? For your answer type out the IP address:192.168.0.120,
192.168.0.189, 192.168.0.194

13
Đơn giản là xem thử IP nào nằm ngoài các subnet còn lại thì ta chọn thôi

Subnet A dựa vào subnet mask suy ra được là /26 (quy tắc bàn tay phải).

 Tổng số host có thể có là 62

Subnet B là /29 và tổng số host có thể có là 6

Kết quả: 192.168.0.120

7. What is the last valid host on the network that 10.30.236.145 255.224.0.0 is a part
of?

Trước hết ta dựa vào subnet mask đề cho và quy tắc bàn tay phải suy ra là mượn 3 bit cho
phần mạng (224).

Vì địa chỉ IP đề cho thuộc lớp A  10.30.236.145/11

Ta tìm địa chỉ mạng bằng cách lấy IP & subnet mask

 Địa chỉ mạng 10.0.0.0/11

14
Bây giờ tìm địa chỉ Broadcast: các bit phần host bật lên làm 1 hết  10.31.255.255 (ở đây
octet thứ 2 có 3 bit đầu = 0 vì là 3 bit mạng  31)

Địa chỉ Broadcast trừ đi 1 sẽ ra địa chỉ IP cuối cùng: 10.31.255.254

Ví dụ tương tự: What is the last valid host on the network that 10.48.146.162 255.240.0.0
is a part of?

 Kết quả: 10.63.255.254

15
GỘP MẠNG CON – SUPERNETTING (SUMMARIZATION)

Đây là thao tác ngược so với subnetting. Nghĩa là gộp nhiều mạng con lại thành mạng lớn
hơn.  Mục đích chính là giảm network traffic và giảm kích thước bảng định tuyến

Bản chất của subnetting là mượn bit ở phần host để làm network thì bây giờ bản chất của
supernetting là chuyển bit của phần network sang lại cho phần host.

SUPERNETTING còn gọi là CIDR!

Các bước thực hiện:

- Viết ra dạng nhị phân octet có sự khác biệt


- Ví dụ ở trên:
o 192.168.00000000.0
o 192.168.00000001.0
o 192.168.00000010.0
o 192.168.00000011.0
- Tìm từ trái qua phải đến lúc nào các bit ở các dãy IP có sự khác biệt thì dừng lại.
Đó là vị trí kết thúc network bits của mạng sau khi gộp
 192.168.00000000.0 : network address  Mạng 192.168.0.0/22 (ngay sau router)

16

You might also like