CHƯƠNG 1 Địa chỉ IP, chia subnet, VLSM, summary.
1.2.5. Bài tập:
Cho biết địa chỉ nào sau đây có thể dùng cho host:
- 150.100.255.255
- 175.100.255.18
- 195.234.253.0
- 100.0.0.23
- 188.258.221.176
- 127.34.25.189
- 224.156.217.73
1.3.1. Subnet mask và số prefix:
Subnet mask :
Subnet mask là một dải 32 bit nhị phân đi kèm với một địa chỉ IP, được các host sử dụng để xác định địa chỉ mạng của địa chỉ IP này. Để làm được điều đó, host sẽ đem địa chỉ IP thực hiện phép tính AND từng bit một của địa chỉ với subnet mask của nó, kết quả host sẽ thu được địa chỉ mạng tương ứng của địa chỉ IP.
Ví dụ: Xét địa chỉ 192.168.1.1 với subnet mask tương ứng là 255.255.255.0
Dạng thập phân | Dạng nhị phân | |
Địa chỉ IP | 192.168.1.1 | 11000000.10101000.00000001.00000001 |
Subnet mask | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
Địa chỉ mạng | 192.168.1.0 | 11000000.10101000.00000001.00000000 |
- [*=2]AND 1 = 0[*=2]AND 0 = 0
- [*=2]AND 1 = 1 )
Lớp A : 255.0.0.0 Lớp C: 255.255.255.0
Lớp B: 255.255.0.0
Số prefix:
Để mô tả một địa chỉ IP, người ta dùng một đại lượng khác được gọi là số prefix. Số prefix có thể hiểu một cách đơn giản là số bit mạng trong một địa chỉ IP, được viết ngay sau địa chỉ IP, và được ngăn cách với địa chỉ này bằng một dấu “/”.
Ví du: 192.168.1.1/24, 172.16.0.0/16 hay 10.0.0.0/8, v.v…
Nguyên lý cơ bản của kỹ thuật chia subnet: Để có thể chia nhỏ một mạng lớn thành nhiều mạng con bằng nhau, người ta thực hiện mượn thêm một số bit bên phần host để làm phần mạng, các bit mượn này được gọi là các bit subnet. Tùy thuộc vào số bit subnet mà ta có được các số lượng các mạng con khác nhau với các kích cỡ khác nhau:
Hình 1.3.1 – Mượn thêm bit để chia subnet.
1.4. Các dạng bài tập về chia subnet:
1.4.1. Cho một mạng lớn và số bit mượn. Xác định :
- Số subnet
- Số host/subnet
- Địa chỉ mạng của mỗi subnet.
- Địa chỉ host đầu của mỗi subnet.
- Địa chỉ host cuối của mỗi subnet.
- Địa chỉ broadcast của mỗi subnet.
- Subnet mask được sử dụng.
Cách tính:
- Gọi n là số bit mượn và m là số bit host còn lại. Ta có:
+ Số subnet có thể chia được:
- 2n nếu có hỗ trợ subnet – zero.
- 2n – 2 nếu không hỗ trợ subnet – zero.
+ Số host có thể có trên mỗi subnet: 2m – 2 (host/subnet).
- Với mỗi subnet chia được:
+ Địa chỉ mạng có octet bị mượn là bội số của bước nhảy. Bước nhảy tương ứng với số bit mượn có thể được tra trong bảng 1.2 của mục 1.
+ Địa chỉ host đầu = địa chỉ mạng + 1 (cần hiểu cộng 1 ở đây là lùi về sau một địa chỉ).
+ Địa chỉ broadcast = địa chỉ mạng kế tiếp – 1 (cần hiểu trừ 1 ở đây là lùi về phía trước một địa chỉ).
+ Địa chỉ host cuối = địa chỉ broadcast – 1 (cần hiểu trừ 1 ở đây là lùi về phía trước một địa chỉ).
- Để tính ra subnet mask được sử dụng, ta sử dụng cách nhớ: phần mạng của địa chỉ chạy đến đâu, các bit 1 của subnet mask chạy đến đó và bảng 1.1 của mục 1.1.
Ví dụ 1: Xét mạng 192.168.1.0/24 , mượn 2 bit, còn lại 6 bit host, bước nhảy là 64. Ta có:
- Số subnet có thể có: 22 = 4 subnet.
- Số host trên mỗi subnet = 26 – 2 = 62 host.
- Các địa chỉ mạng sẽ có octet bị chia cắt (octet thứ 4) là bội số của 64.
- Liệt kê các mạng như sau:
192.168.1.0/26 -> địa chỉ mạng
192.168.1.1/26 ->địa chỉ host đầu.
….
192.168.1.62/26 ->địa chỉ host cuối.
192.168.1.63/26 ->địa chỉ broadcast.
---------------------------------------------
192.168.1.64/26 -> địa chỉ mạng
192.168.1.65/26 ->địa chỉ host đầu
…..
192.168.1.126/26 ->địa chỉ host cuối
192.168.1.127/26 ->địa chỉ broadcast.
---------------------------------------------
192.168.1.128/26 -> địa chỉ mạng
192.168.1.129/26 ->địa chỉ host đầu.
….
192.168.1.190/26 ->địa chỉ host cuối.
192.168.1.191/26 ->địa chỉ broadcast.
---------------------------------------------
192.168.1.192/26 -> địa chỉ mạng
192.168.1.193/26 ->địa chỉ host đầu.
….
192.168.1.254/26 ->địa chỉ host cuối.
192.168.1.255/26 ->địa chỉ broadcast.
Vậy, một mạng lớp C 192.168.1.0/24 đã được chia thành 4 mạng :192.168.1.0/26, 192.168.1.64/26, 192.168.1.128/26, 192.168.1.192/26.
Subnet mask được sử dụng trong ví dụ này là 255.255.255.192
Ví dụ 2: Xét mạng 172.16.0.0/16, mượn 2 bit. Octet bị chia cắt ( thành 2 phần là net và host ) là octet thứ 3.
- Số bit mượn là 2 => số mạng con có thể có (tính theo luật subnet zero): 22 = 4 mạng. Số bit mạng bây giờ là 18 bit.
- Số bit host còn lại: 32 – 18 = 14 bit. => số host/subnet = 214 – 2 host.
- Các địa chỉ mạng sẽ có octet thứ 3 là bội số của 64 (octet này bị mượn 2 bit)
- Ta có dải địa chỉ như sau:
172.16.0.0/18 -> Địa chỉ mạng
172.16.0.1/18 -> Địa chỉ host đầu
.. .…
172.16.63.254/18 -> Địa chỉ host cuối.
172.16.63.255/18 -> Địa chỉ broadcast
------------------------------------------------------
172.16.64.0/18 -> Địa chỉ mạng
172.16.64.1.18 -> Địa chỉ host đầu
…...
172.16.127.254/18 -> Địa chỉ host cuối.
172.16.127.255/18 -> Địa chỉ broadcast.
--------------------------------------------------------
172.16.128.0/18 -> Địa chỉ mạng
172.16.128.1/18 -> Địa chỉ host đầu
……
172.16.191.254/18 -> Địa chỉ host cuối
172.16.191.255/18 -> Địa chỉ broadcast
-------------------------------------------------------
172.16.192.0/18 -> Địa chỉ mạng
172.16.192.1/18 -> Địa chỉ host đầu
……
172.16.255.254/18 -> Địa chỉ host cuối
172.16.255.255/18 -> Địa chỉ broadcast
-------------------------------------------------------
Subnet mask trong ví dụ 2 là 255.255.192.0
Vi dụ 3: Xét mạng 172.16.0.0/16, mượn 10 bit => octet bị chia cắt (thành hai phần net và host ) là octet thứ 4. Ta có:
- Số bit mượn là 10 => Số subnet có thể có: 210 = 1024 mạng.
- Số bit host còn lại: 32 – 26 = 6 bit => số host trên mỗi subnet: 26 – 2 = 62 host.
- Địa chỉ mạng có octet thứ 4 là bội số của 64 (octet này bị mượn 2 bit)
- Ta có dải địa chỉ như sau:
172.16.0.0/26 -> Địa chỉ mạng
172.16.0.1/26 -> Địa chỉ host đầu
…..
172.16.0.62/26 -> Địa chỉ host cuối
172.16.0.63/26 -> Địa chỉ broadcast
-------------------------------------------------
172.16.0.64/26 -> Địa chỉ mạng
172.16.0.65/26 -> Địa chỉ host đầu
…..
172.16.0.126/26 -> Địa chỉ host cuối
172.16.0.127/26 -> Địa chỉ broadcast
--------------------------------------------------
172.16.0.128/26 -> Địa chỉ mạng
172.16.0.129/26 -> Địa chỉ host đầu
…..
172.16.0.190/26 -> Địa chỉ host cuối
172.16.0.191/26 -> Địa chỉ broadcast
--------------------------------------------------
172.16.0.192/26 -> Địa chỉ mạng
172.16.0.193/26 -> Địa chỉ host đầu
…..
172.16.0.254/26 -> Địa chỉ host cuối
172.16.0.255/26 -> Địa chỉ broadcast
========================================
172.16.1.0/26 -> Địa chỉ mạng
172.16.1.1/26 -> Địa chỉ host đầu
…..
172.16.1.62/26 -> Địa chỉ host cuối
172.16.1.63/26 -> Địa chỉ broadcast
-------------------------------------------------
172.16.1.64/26 -> Địa chỉ mạng
172.16.1.65/26 -> Địa chỉ host đầu
…..
172.16.1.126/26 -> Địa chỉ host cuối
172.16.1.127/26 -> Địa chỉ broadcast
--------------------------------------------------
172.16.1.128/26 -> Địa chỉ mạng
172.16.1.129/26 -> Địa chỉ host đầu
…..
172.16.1.190/26 -> Địa chỉ host cuối
172.16.1.191/26 -> Địa chỉ broadcast
--------------------------------------------------
172.16.1.192/26 -> Địa chỉ mạng
172.16.1.193/26 -> Địa chỉ host đầu
…..
172.16.1.254/26 -> Địa chỉ host cuối
172.16.1.255/26 -> Địa chỉ broadcast
========================================
172.16.2.0/26 -> Địa chỉ mạng
172.16.2.1/26 -> Địa chỉ host đầu
…..
172.16.2.62/26 -> Địa chỉ host cuối
172.16.2.63/26 -> Địa chỉ broadcast
-------------------------------------------------
172.16.2.64/26 -> Địa chỉ mạng
172.16.2.65/26 -> Địa chỉ host đầu
…..
172.16.2.126/26 -> Địa chỉ host cuối
172.16.2.127/26 -> Địa chỉ broadcast
--------------------------------------------------
172.16.2.128/26 -> Địa chỉ mạng
172.16.2.129/26 -> Địa chỉ host đầu
…..
172.16.2.190/26 -> Địa chỉ host cuối
172.16.2.191/26 -> Địa chỉ broadcast
--------------------------------------------------
172.16.2.192/26 -> Địa chỉ mạng
172.16.2.193/26 -> Địa chỉ host đầu
…..
172.16.2.254/26 -> Địa chỉ host cuối
172.16.2.255/26 -> Địa chỉ broadcast
…………..
172.16.255.0/26 -> Địa chỉ mạng
172.16.255.1/26 -> Địa chỉ host đầu
…..
172.16.255.62/26 -> Địa chỉ host cuối
172.16.255.63/26 -> Địa chỉ broadcast
-------------------------------------------------
172.16.255.64/26 -> Địa chỉ mạng
172.16.255.65/26 -> Địa chỉ host đầu
…..
172.16.255.126/26 -> Địa chỉ host cuối
172.16.255.127/26 -> Địa chỉ broadcast
--------------------------------------------------
172.16.255.128/26 -> Địa chỉ mạng
172.16.255.129/26 -> Địa chỉ host đầu
…..
172.16.255.190/26 -> Địa chỉ host cuối
172.16.255.191/26 -> Địa chỉ broadcast
--------------------------------------------------
172.16.255.192/26 -> Địa chỉ mạng
172.16.255.193/26 -> Địa chỉ host đầu
…..
172.16.255.254/26 -> Địa chỉ host cuối
172.16.255.255/26 -> Địa chỉ broadcast
Ta để ý thấy octet thứ 3 (là octet bị mượn nhưng không bị chia cắt thành net và host) tăng dần từ 0 đến 255. Trong khi đó, octet thứ 4 (là octet bị chia cắt) thay đổi theo bước nhảy khi địa chỉ là địa chỉ mạng (nó bị mượn 2 bit nên có bước nhảy là 64). Subnet mask trong ví dụ này là 255.255.255.192.
1.4.2. Cho một địa chỉ host. Xác định xem host thuộc mạng nào:
Ta xem xét các ví dụ sau:
Ví dụ 1: Cho địa chỉ host 192.168.1.158/28. Hãy cho biết, host này thuộc về subnet nào?
Giải: /28 => có 28 bit mạng. Octet bị chia cắt là octet thứ 4 => số bit mượn của octet này là 4 => bước nhảy là 16. Lấy octet thứ 4 của địa chỉ host là 158 chia cho 16 được 9 và còn dư. Ta lấy 16 nhân với 9 được 144. Host này thuộc mạng 192.168.1.144/28
Ví dụ 2: Cho địa chỉ host 172.16.159.2/18. cho biết địa chỉ này thuộc subnet nào?
Giải: /18 => có 18 bit mạng. Octet bị chia cắt là octet thứ 3 => số bit mượn của octet này là 2 => bước nhảy là 64. Lấy octet thứ 3 là 159 chia cho 64 được 2 và còn dư. Ta lấy 64 nhân với 2 được 128. Host này thuộc mạng 172.16.128.0/18.
1.4.3. Cho sơ đồ mạng, xác định số bit mượn phù hợp để chia subnet:
Ví dụ:
Chỉ cho một mạng 192.168.1.0/24. Hãy đảm bảo cung cấp đủ các địa chỉ IP cho sơ đồ mạng trên.
Ta thấy: Có tất cả 5 mạng, mạng nhiều host nhất là mạng có 26 host (cộng thêm một địa chỉ cổng router). Gọi số bit mượn là n số bit host là m. Ta có hệ sau:
2n ≥ 5 (số mạng chia ra tối thiểu phải bằng 5).
2m – 2 ≥ 26 (nếu mỗi mạng con đáp ứng được số host của mạng 26 host, nó sẽ đáp ứng được yêu cầu về số host của tất cả các mạng còn lại trên sơ đồ).
m + n = 8
- n = 3, m = 5 là phù hợp. Vậy ta có tất cả 23 = 8 mạng và mỗi mạng này có 25 – 2 = 30 host, đáp ứng được yêu cầu của sơ đồ trên.