IP Address = Network ID + Host ID - Network ID : không được phép tất cả các bit bằng 0 - Một địa chỉ IP với tất cả các bit Host=0 gọi là Network ID - Một địa chỉ IP với tất cả các bit=1
Trang 1
page 1 ThS Lê Xuân Tùng
GIỚI THIỆU VỀ ĐỊA CHỈ IP
1 IP Address = Network ID + Host ID
- Network ID : không được phép tất cả các bit bằng 0
- Một địa chỉ IP với tất cả các bit Host=0 gọi là Network ID
- Một địa chỉ IP với tất cả các bit=1 gọi là Broadcast Address
2 Nhớ các con số sau :
76543210
11111111 Các giá trị tương ứng với từng bit 128-64-32-16-8-4-2-1
128-192-224-240-248-252-254-255
1-3-7-15-31-63-127-255
3 Địa chỉ lớp A ( 8 bit + 24 bit)
0XXXXXXX
Nghĩa là :
Khi 0XXXXXXX=00000000=0
Khi 0XXXXXXX=01111111=127
Như vậy địa chỉ lớp A nằm trong khoảng 1 đến 126
(do địa chỉ 0 : không dùng, 127 địa chỉ loopback)
Địa chỉ lớp A có 24 bit Host, vậy số Host của lớp A là 224 -2=16.777.214 IP
Address trong cùng một Broadcast
4 Địa chỉ lớp B ( 16 bit + 16 bit )
10XXXXXX
khi 10XXXXXX=10000000=128
khi 10XXXXXX=10111111=191
Như vậy địa chỉ lớp B nằm trong khoảng 128 đến 191
Địa chỉ lớp B có 16 bit Host, vậy số Host của lớp B là 216-2=65.534 IP Address
trong cùng một Broadcast
5 Địa chỉ lớp C ( 24 bit + 8 bit )
110XXXXX
khi 110XXXXX=11000000=192
khi 110XXXXX=11011111=223
Như vậy địa chỉ lớp C nằm trong khoảng 192 đến 223
Địa chỉ lớp C có 8 bit Host, vậy số Host của lớp C là 28-2=254 IP Address trong
cùng một Broadcast
6 Subnet mask
Subnet mask là một dãy số nhị phân gồm 32 bit, chia làm 4 Octet với mỗi bit 1 của
subnet mask tương ứng với phần bit được quy định làm địa chỉ mạng của một địa
chỉ IP
Ví dụ :
A: 100.0.0.0/8 SM : 255.0.0.0
B: 150.0.0.0/16 SM : 255.255.0.0
C: 200.0.0.0/24 SM : 255.255.255.0
Trang 2
page 2 ThS Lê Xuân Tùng
7 Private Address (địa chỉ dùng cho mạng nội bộ)
Lớp A : 10.0.0.0
Lớp B : 172.16.0.0 → 172.31.0.0
Lớp C : 192.168.0.0 → 192.168.255.0
8 IP Subneting
Mục đích :
- Thu nhỏ Broadcast Domain → cải thiện được hiệu suất mạng
- Ta có thể tạo một hệ thống bao gồm các Broadcast domain khác nhau, mỗi
Broadcast domain là một subnetwork → làm gia tăng security cho hệ thống mạng
- Tiết kiệm được địa chỉ IP
- Optimize thông tin định tuyến trong routing table của router
9 Cách chia subnet (mạng con)
Chúng ta mượn một số bit của phần Host trong địa chỉ IP để làm địa chỉ mạng con
Công thức :
- Số subnet được tạo là : 2 số bit mượn – 2
trừ đi 2 là trừ đi subnet đầu (subnet 0) và trừ đi subnet cuối (broadcast)
Lưu ý : đối với CISCO thì cho phép sử dụng subnet 0 và subnet cuối cùng
- Số Host có được trong một subnet là : 2 số bit còn lại – 2
trừ đi 2 là trừ đi địa chỉ đầu (Subnet ID ≡ Subnet Address) và trừ đi địa chỉ cuối
(địa chỉ broadcast)
Ví dụ 1 :
Cho một địa chỉ mạng 192.168.1.0/24 mượn 2 bit của phần host để chia subnet
Giải :
- Số subnet được tạo là 22-2=2 subnet
- Số host có được trong mỗi subnet là : 26-2=62 host
Subnet mask gốc : /24
255.255.255.0
Subnet mask sau khi mượn 2 bit : /26
255.255.255.192 đổi ra nhị phân :
11111111.11111111.11111111.11000000
Địa chỉ mạng ban đầu 192.168.1.0 đổi ra nhị phân :
10
11000000.10101000.00000001.00000000
11111111.11111111.11111111.11000000
Lưu ý : khi ta thực hiện phép toán AND giữa địa chỉ IP và subnet mask như trên,
thì phần network ID sẽ bằng chính nó (do các bit subnet mask tương ứng bằng 1)
Subnet 0 sẽ tương ứng với subnet field=0 → 00
Subnet 1 sẽ tương ứng với subnet field=1 → 01
Subnet 2 sẽ tương ứng với subnet field=2 → 10
Subnet 3 sẽ tương ứng với subnet field=3 → 11
Subnet field
AND
Trang 3
page 3 ThS Lê Xuân Tùng
Kết quả sau khi chia subnet là :
Subnet 0 : 11000000.10101000.00000001.00000000 tương ứng với địa chỉ
192.168.1.0/26
Subnet 1 : 11000000.10101000.00000001.01000000 tương ứng với địa chỉ
192.168.1.64/26
Subnet 2 : 11000000.10101000.00000001.10000000 tương ứng với địa chỉ
192.168.1.128/26
Subnet 3 : 11000000.10101000.00000001.11000000 tương ứng với địa chỉ
192.168.1.192/26
Dãy địa chỉ IP của từng subnet :
Subnet 0 :
Range : 192.168.1.1 → 192.168.1.62
Broadcast Address : 192.168.1.63
SM : 255.255.255.192
Subnet 1 :
Range : 192.168.1.65 → 192.168.1.126
Broadcast Address : 192.168.1.127
SM : 255.255.255.192
Subnet 2 :
Range : 192.168.1.129 → 192.168.1.190
Broadcast Address : 192.168.1.191
SM : 255.255.255.192
Subnet 3 :
Range : 192.168.1.193 → 192.168.1.254
Broadcast Address : 192.168.1.255
SM : 255.255.255.192
Ví dụ 2 :
Cho địa chỉ IP 172.16.0.0/16
Hãy chia subnet thoả điều kiện mỗi subnet có từ 500 user trở lên
Giải :
Địa chỉ trên là địa chỉ Private lớp B, số bit của phần host là 16 bit
Mỗi subnet có 500 host → số bit còn lại của phần host sau khi chia subnet là X
2X>500 → X=9 (vì 29=512)
Vậy số bit mượn là : 16-9=7 bit
Subnet mask của các subnet là : /23 ≡ 255.255.254.0
Địa chỉ mạng ban đầu và subnet mask của các subnet đổi ra nhị phân :
6543210
10101100.00010000.00000000.00000000
11111111.11111111.11111110.00000000
Subnet 0 :
Subnet field=0 → 0000000=0
10101100.00010000.0000000 0.00000000 → 172.16.0.0/23
Range : 172.16.0.1/23 → 172.16.1.254/23
Broadcast : 172.16.1.255/23
Trang 4
page 4 ThS Lê Xuân Tùng
Lưu ý : khi xét range thì ta thực hiện như sau :
00000000.00000000 cho dãy này nhận giá trị nhỏ nhất là : 00000000.00000001
tương đương với giá trị 0.1
00000000.00000000 cho dãy này nhận giá trị lớn nhất là : 00000001.11111111
tương đương với giá trị 1.255 như vậy giá trị cuối là 1.254 và broadcast là 1.255
Subnet 1 :
Subnet field=1 → 0000001=1
10101100.00010000.0000001 0.00000000 → 172.16.2.0/23
Range : 172.16.2.1/23 → 172.16.3.254/23
Broadcast : 172.16.3.255/23
Subnet 99 :
Subnet field=99 → 1100011=99
10101100.00010000.1100011 0.00000000 → 172.16.198.0/23
Range : 172.16.198.1/23 → 172.16.199.254/23
Broadcast : 172.16.199.255/23
Ví dụ 3 :
Cho địa chỉ 172.19.0.0/16 mượn 9 bit của phần host để chia subnet
Giải :
Số subnet 29=512 subnet
Số host trong mỗi subnet 2(16-9) – 2 =126 host
Subnet mask của subnet là /25 ≡ 255.255.255.128
Địa chỉ mạng ban đầu và subnet mask của các subnet đổi ra nhị phân :
87654321 0
10101100.00010011.00000000.00000000
11111111.11111111.11111111.10000000
Subnet 0 :
Subnet field=0 → 00000000.0=0
10101100.00010011.00000000.0 0000000 → 172.19.0.0/25
Range : 172.19.0.1/25 → 172.19.0.126/25
Broadcast : 172.19.0.127/25
Subnet 1 :
Subnet field=1 → 00000000.1=1
10101100.00010011.00000000.1 0000000 → 172.19.0.128/25
Range : 172.19.0.129/25 → 172.19.0.254/25
Broadcast : 172.19.0.255/25
Subnet 2 :
Subnet field=2 → 00000001.0=2
10101100.00010011.00000001.0 0000000 → 172.19.1.0/25
Range : 172.19.1.1/25 → 172.19.1.126/25
Broadcast : 172.19.1.127/25
Subnet 77 :
Subnet field=77 → 00100110.1=77
10101100.00010011.00100110.1 0000000 → 172.19.38.128/25
Range : 172.19.38.129/25 → 172.19.38.254/25
Broadcast : 172.19.38.255/25
Trang 5
page 5 ThS Lê Xuân Tùng
Subnet 203 :
Subnet field=203 → 01100101.1=203
10101100.00010011.01100101.1 0000000 → 172.19.101.128/25
Range : 172.19.101.129/25 → 172.19.101.254/25
Broadcast : 172.19.101.255/25
Subnet 400 :
Subnet field=400 → 11001000.0=400
10101100.00010011.11001000.0 0000000 → 172.19.200.0/25
Range : 172.19.200.1/25 → 172.19.200.126/25
Broadcast : 172.19.200.127/25
Bài Tập :
1 Cho địa chỉ IP : 172.17.0.0/16
- Chia subnet sao cho mỗi subnet có 250 user
- Liệt kê subnet ID thứ 37
- Liệt kê subnet ID thứ 111
2 Cho địa chỉ IP : 10.0.0.0/8
- Mượn 13 bit chia subnet
- Tính số subnet và số host trong mỗi subnet
- Subnet mask của subnet
- Liệt kê subnet ID thứ 222
- Liệt kê subnet ID thứ 407
10 Cách tính nhanh Subneting
Tính theo bước nhảy : 256 – giá trị subnet mask sau cùng lớn hơn 0
Ví dụ 1 :
Cho địa chỉ lớp C như sau 203.100.0.0/24 Hãy chia 8 subnets
Giải :
2SỐ BIT MƯỢN=8 suy ra Số bit mượn là 3
Subnet mask của subnet 255.255.255.224
Bước nhảy là : 256-224=32
Như vậy ta có thể viết :
Subnet 0 : 203.100.0.0/27
Subnet 1 : 203.100.0.32/27
Subnet 2 : 203.100.0.64/27
Subnet 3 : 203.100.0.96/27
Subnet 4 : 203.100.0.128/27
Subnet 5 : 203.100.0.160/27
Subnet 6 : 203.100.0.192/27
Subnet 7 : 203.100.0.224/27
Ví dụ 2 :
Cho địa chỉ 192.168.200.0/29 Hãy chia subnet
Giải :
Subnet mask của subnet 255.255.255.248
Bước nhảy là : 256-248=8
Như vậy ta có thể viết :
Trang 6
page 6 ThS Lê Xuân Tùng
Subnet 0 : 192.168.200.0/29
Subnet 1 : 192.168.200.8/29
Subnet 2 : 192.168.200.16/29
Subnet 3 : 192.168.200.24/29
Subnet 4 : 192.168.200.32/29
Subnet 10 : 192.168.200.80/29
Subnet 20 : 192.168.200.160/29
Ví dụ 3 :
Cho địa chỉ 192.168.55.0/26 Hãy chia subnet
Giải :
Subnet mask của subnet 255.255.255.192
Bước nhảy là : 256-192=64
Như vậy ta có thể viết :
Subnet 0 : 192.168.55.0/26
Subnet 1 : 192.168.55.64/26
Subnet 2 : 192.168.55.128/26
Subnet 3 : 192.168.55.192/26
Ví dụ 4 :
Cho địa chỉ 197.168.100.0/30 Hãy chia subnet
Giải :
Subnet mask của subnet 255.255.255.252
Bước nhảy là : 256-252=4
Như vậy ta có thể viết :
Subnet 0 : 197.168.100.0/30
Range : 197.168.100.1/30 → 197.168.100.2/30
Broadcast : 197.168.100.3/30
Subnet 1 : 197.168.100.4/30
Range : 197.168.100.5/30 → 197.168.100.6/30
Broadcast : 197.168.100.5/30
Subnet 33 : 197.168.100.132/30
Range : 197.168.100.133/30 → 197.168.100.134/30
Broadcast : 197.168.100.135/30
Subnet 54 : 197.168.100.216/30
Range : 197.168.100.217/30 → 197.168.100.218/30
Broadcast : 197.168.100.219/30
LỚP B MƯỢN TRONG OCTET THỨ 3
Ví dụ 5 :
Cho địa chỉ 172.32.0.0/19 Hãy chia subnet
Giải :
Subnet mask của subnet 255.255.224.0
Bước nhảy là : 256-224=32
Như vậy ta có thể viết :
Subnet 0 : 172.32.0.0/19 Range : 172.32.0.1 → 172.32.31.254
Trang 7
page 7 ThS Lê Xuân Tùng
Subnet 1 : 172.32.32.0/19 Range : 172.32.32.1 → 172.32.63.254
Subnet 2 : 172.32.64.0/19 Range : 172.32.64.1 → 172.32.95.254
Subnet 3 : 172.32.96.0/19 Range : 172.32.96.1 → 172.32.127.254
Subnet 4 : 172.32.128.0/19
Subnet 5 : 172.32.160.0/19
Subnet 6 : 172.32.192.0/19
Subnet 7 : 172.32.224.0/19
LỚP B MƯỢN TRONG 2 OCTET (THỨ 3 + THỨ 4)
( Thực hiện giống như cho lớp C)
Ví dụ 6 :
Cho địa chỉ 172.32.0.0/26 Hãy chia subnet
Giải :
Số bit mượn là 10 nên có được 210=1024 subnet
Subent mask của subnet 255.255.255.192
Bước nhảy là : 256-192=64
Như vậy ta có thể viết :
Subnet 0 : 172.32.0.0/26
Subnet 1 : 172.32.0.64/26
Subnet 2 : 172.32.0.128/26
Subnet 3 : 172.32.0.192/26
Subnet 4 : 172.32.1.0/26
Subnet 5 : 172.32.1.64/26
Subnet 6 : 172.32.1.128/26
Subnet 7 : 172.32.1.192/26
Subnet 8 : 172.32.2.0/26
Ví dụ 7 :
Cho địa chỉ IP 178.100.210.214/20 Địa chỉ này nằm ở subnet thứ mấy
Giải :
Subnet mask của subnet 255.255.240.0
Bước nhảy là : 256-240=16
210 : 16 =13 (lấy phần nguyên)
Như vậy địa chỉ đã cho nằm ở subnet 13
Subnet 13 : 178.100.208.0/20
Range : 178.100.208.1 → 178.100.223.254
LỚP A MƯỢN TRONG VÒNG 1 OCTET
Ví dụ 8 :
Cho địa chỉ 18.0.0.0/13 Hãy chia subnet
Giải :
Số bit mượn là 5 bit nên số subnet là 25=32 subnet
Subnet mask của subnet 255.248.0.0
Bước nhảy là : 256-248=8
Như vậy ta có thể viết :
Trang 8
page 8 ThS Lê Xuân Tùng
Subnet 0 : 18.0.0.0/13 Range : 18.0.0.1 → 18.7.255.254
Subnet 1 : 18.8.0.0/13 Range : 18.8.0.1 → 18.15.255.254
Subnet 2 : 18.16.0.0/13 Range : 18.16.0.1 → 18.23.255.254
Subnet 3 : 18.24.0.0/13 Range : 18.24.0.1 → 18.31.255.254
Subnet 21 : 18.168.0.0/13 Range : 18.168.0.1 → 18.175.255.254
Ví dụ 9 :
Cho địa chỉ IP 18.171.255.255/13 Địa chỉ này nằm ở subnet thứ mấy
Giải :
Subnet mask của subnet 255.248.0.0
Bước nhảy là : 256-248=8
171:8=21 (lấy phần nguyên)
Như vậy địa chỉ đã cho nằm ở subnet 21
Subnet 21 : 18.168.0.0/13
Range : 18.168.0.1 → 18.175.255.254
LỚP A MƯỢN QUA NHIỀU OCTET
Ví dụ 10 :
Cho địa chỉ IP 27.0.0.0/27 Hãy chia subnet
Giải :
Subnet mask của subnet 255.255.255.224
Bước nhảy là : 256-224=32
Như vậy ta có thể viết :
Subnet 0 : 27.0.0.0/27
Subnet 1 : 27.0.0.32/27
Subnet 2 : 27.0.0.64/27
Subnet 3 : 27.0.0.96/27
Subnet 4 : 27.0.0.128/27
Subnet 5 : 27.0.0.160/27
Subnet 6 : 27.0.0.192/27
Subnet 7 : 27.0.0.224/27
Subnet 8 : 27.0.1.0/27
Subnet 9 : 27.0.1.32/27
Subnet 14 : 27.0.1.192/27
Subnet 15 : 27.0.1.224/27
Subnet 16 : 27.0.2.0/27
Subnet 17 : 27.0.2.32/27
Ví dụ 11 :
Cho địa chỉ IP 203.102.103.130/29 Địa chỉ này thuộc subnet nào ? Rang là khoảng
nào ?
Giải :
Subnet mask của địa chỉ đã cho là : 255.255.255.248
Bước nhảy là : 256-248=8
Subnet của địa chỉ đã cho là 130/8=16 (dư 2) ta lấy kết quả phần chia hết là 16
Vậy địa chỉ đã cho thuộc subnet thứ 16
Trang 9
page 9 ThS Lê Xuân Tùng
Subnet 16 : 203.102.103.128/29
Range : 203.102.103.128 → 203.102.103.134
Broadcast : 203.102.103.135
Ví dụ 12 :
Cho địa chỉ IP/27, các địa chỉ IP nào dưới đây là hợp lệ với subnet mask đã cho :
10.1.2.159
137.1.2.123
192.168.3.191
203.1.2.63
1.2.3.22.0
103.2.3.30
Giải :
Subnet mask của địa chỉ đã cho là : 255.255.255.224
Bước nhảy là : 256-224=32
Các địa chỉ không hợp lệ là :
Địa chỉ 1 : đường mạng là 160 (subnet 5) nên 159 là địa chỉ broadcast ở subnet 4
Địa chỉ 3 : đường mạng là 192 (subnet 6) nên 191 là địa chỉ broadcast ở subnet 5
Địa chỉ 4 : đường mạng là 64 (subnet 2) nên 63 là địa chỉ broadcast ở subnet 1
Lưu ý
Một địa chỉ IP dùng được khi tất cả các bit của phần host phải đồng thời khác
không hoặc phải đồng thời khác 1
Ví dụ :
địa chỉ 63.119.0.0/17 là địa chỉ không dùng được vì tất cả các bit ở phần host đều
bằng 0
địa chỉ 131.1.63.255/12 là địa chỉ không dùng được vì tất cả các bit ở phần host
đều bằng 1
VLSM
(Variable Length Subnet Mark)
VLSM là một kỹ thuật cho phép người quản trị dùng nhiều giá trị subnet mask
trong cùng một địa chỉ mạng (cùng major network) Điều này giúp việc tối ưu hoá
thông tin định tuyến của Router và phân chia không gian địa chỉ IP hiệu quả hơn
Ví dụ 1:
Chia VLSM cho mạng sau : 192.168.1.0/24, với yêu cầu là mạng có 2 LAN là Hà
Nội (6 host) và Sài Gòn (30 host), nối với nhau bằng đường Serial
Giải :
Mượn 1 bit chia subnet /25, bước nhảy là 128 (ta sẽ được 2 mạng con)
Subnet 0 : 192.168.1.(0 + 128x0)/25
Subnet 1 : 192.168.1.(0 + 128x1)/25
192.168.1.0/25 : để dành
192.168.1.128/25 : mượn 1 bit chia nhỏ
Trang 10
page 10 ThS Lê Xuân Tùng
Ở đây ta xử lý như sau : subnet 192.168.1.0/25 ta để dành (hoặc cấp cho cơ
quan khác dùng), còn subnet 192.168.1.128/25 ta tiếp tục mượn 1 bit chia nhỏ,
bước nhảy là 64
Subnet 0 : 192.168.1.(128 + 64x0)/26
Subnet 1 : 192.168.1.(128 + 64x1)/26
192.168.1.128/26 : để dành
192.168.1.192/26 : mượn 1 bit chia nhỏ
192.168.1.192/27, bước nhảy là 32
Subnet 0 : 192.168.1.(192 + 32x0)/27
Subnet 1 : 192.168.1.(192 + 32x1)/27
192.168.1.192/27 : dùng cho LAN Sài Gòn
192.168.1.224/27 : mượn 1 bit chia nhỏ
192.168.1.224/28, bước nhảy là 16
Subnet 0 : 192.168.1.(224 + 16x0)/28
Subnet 1 : 192.168.1.(224 + 16x1)/28
192.168.1.224/28 : để dành
192.168.1.240/28 : mượn 1 bit chia nhỏ
192.168.1.240/29, bước nhảy 8
Subnet 0 : 192.168.1.(240 + 8x0)/29
Subnet 1 : 192.168.1.(240 + 8x1)/29
192.168.1.240/29 : dùng cho LAN Hà Nội
192.168.1.248/29 : mượn 1 bit chia nhỏ
192.168.1.248/30, bước nhảy 4
Subnet 0 : 192.168.1.(248 + 4x0)/30
Subnet 1 : 192.168.1.(248 + 4x1)/30
192.168.1.248/30 : dùng để kết nối WAN
192.168.1.252/30 : để dành
Tóm lại :
Kết quả thu được là
192.168.1.0/25 : để dành
192.168.1.128/26 : để dành
192.168.1.192/27 : dùng cho LAN Sài Gòn
192.168.1.224/28 : để dành
192.168.1.240/29 : dùng cho LAN Hà Nội
192.168.1.248/30 : dùng để kết nối WAN
192.168.1.252/30 : để dành
+ LAN Sài Gòn :
192.168.1.192/27, có số host là 25-2=30 host
Range : 192.168.1.193 → 192.168.1.222
Broadcast : 192.168.1.223