Địa chỉ IP và cách chia
Tài liệu tham khảo về địa chỉ IP l-Các dạng bài tập về dịa chỉ IP
Dạng 1: Bài tập xuôi.
Cho một địa chỉ IP, biết số bit cần mượn hoặc số host. Yêu cầu
tìm ra các subnet, địa chỉ đầu (first address), địa chỉ cuối (last
address), địa chỉ quảng bá (broadcast address), host range (dải
địa chỉ khả dụng của từng host). Dạng 2: Bài tập ngược.
Cho một địa chỉ host thuộc một subnet nào đó với subnet
mask.
Xác định số bit đã mượn, xác định xem địa chỉ đó thuộc subnet
nào, địa chỉ IP đã sử dụng để subneting (chia mạng) là địa chỉ
nào. Liệt kê các subnet, địa chỉ đầu tiên, địa chỉ cuối cùng, địa
chỉ broadcast của từng subnet.
2. Các bước làm bài
2.1: Các bước làm dạng bài tập xuôi.
- Từ địa chỉ IP đề bài cho, xác định lớp của địa chỉ đó.
- Xác định Default mask của địa chỉ đó.
- Chuyển tất cả các địa chỉ đó sang dạng nhị phân.
- Nếu biết số bit mượn thì áp dụng công thức 2^n - 2 để tính ra
số host và 2^m để tính ra số subnet, với n và m là số bit mượn
cho phần host, phần mạng.
- Nếu biết số host thì áp dụng hai công thức trên tìm ra số bit
Phần màu tím là dành cho host. Bit thấp nhất trong phần Net
ID có giá trị là 32, suy ra số hop là 32, có nghĩa là ta có các
subnet và các địa chỉ cần tìm sau.
Lưu ý:
- Địa chỉ mạng (subnet) : tất cả các bit dành cho phần host
bằng 0
- Địa chỉ broadcast: tất cả các bit dành cho phần host bằng 1.
- Địa chỉ đầu tiên: là địa chỉ lến sau địa chỉ mạng (subnet)
- Địa chỉ cuối cùng: là địa chỉ liền trước địa chỉ broadcast 2.2 Các bước làm bài tập dạng ngược.
- Chuyển đổi địa chỉ host và mask đề bài đã cho từ dạng thập
phân sang nhị phân.
- Thực hiện phép tính AND để xác định địa chỉ mạng, đó chính
là địa chỉ mạng chứa địa chỉ host ở trên.
- Dựa vào bit nhận dạng, xác định địa chỉ đó thuộc lớp nào.
- Xác định defaul mask cho địa chỉ đó, kết hợp với mask của để
bài tìm ra số bit đã mượn.
- Từ số bit mượn và mask tìm ra số hop cho từng subnet.
- Liệt kê các địa chỉ theo yêu cầu !
Ví dụ:
Cho địa chỉ: 210.4.80.100/26, xác định xem địa chỉ trên thuộc
subnet nào . Liệt kê các subnet và dải địa chỉ của subnet đó. Trả lời:
Note: Các dạng bài tập có thể biến tấu dưới dạng mô hình hoặc
các yêu cầu không đầy đủ như trên, cần đọc kỹ đề bài và áp
dụng sao cho hợp lý.
ll-Cơ bản về cách đánh địa chỉ IP
1. Địa chỉ IP:
Địa chỉ IP là một số nguyên 32 bit, thường được biểu diễn dưới
dạng một dãy 4 số nguyên cách nhau bởi dấu chấm (dotted
format). Một số nguyên trong địa chỉ IP là một byte, thường được
gọi là một octet (8 bits).
Ví dụ về một địa chỉ IP điển hình là 123.255.0.15. Các thành
phần 123, 255, 0 và 15 là các octet.
Một địa chỉ IP gồm có 3 phần. Phần đầu tiên là địa chỉ mạng
(network address), phần thứ cuối cùng là địa chỉ máy (host
address) và phần còn lại (nếu có) là địa chỉ mạng con (subnet
address).
Địa chỉ mạng của một địa chỉ IP được tìm ra khi thực hiện phép
toán logic AND giữa địa chỉ IP đấy và một giá trị gọi là mặt nạ
mạng (network mask, tôi sẽ không dùng từ “mặt nạ mạng” trong
tất cả các bài về sau mà chỉ dùng “network mask” cũng như sẽ
không dịch từ “mask” thành “mặt nạ” nữa). Network mask cho
biết bao nhiêu bit trong địa chỉ IP là địa chỉ mạng.
2. Phân lớp địa chỉ IP:
Địa chỉ IP được phân ra làm 5 lớp mạng (lớp A, B, C, D, và E).
Trong đó bốn lớp đầu được sử dụng, lớp E được dành riêng cho
nghiên cứu. Lớp D được dùng cho việc phát các thông tin
broadcast/multicastt (broadcast/multicast IPs). Lớp A, B và C
được dùng trong cuộc sống hàng ngày.
3. Cách phân biệt IP lớp A, B, C, và D:
Một địa chỉ IP với bit đầu tiên là 0 thuộc về lớp A, bit đầu tiên là
1 và bit thứ 2 là 0 thuộc lớp B, bit đầu là 1, bit 2 là 1, bit 3 là 0
giống công thức tính số địa chỉ mạng. Chỉ khác một điều là ta
dùng số bit 0 (32-x) thay vì dùng số bit 1 (x).
Như vậy, một địa chỉ mạng lớp C sẽ có 254 địa chỉ máy, tương
tự cho địa chỉ mạng lớp B, và A.
Tổng số địa chỉ của một lớp mạng là tích của số địa chỉ mạng và
số địa chỉ máy trong một mạng thuộc lớp đó.
4. Subnet:
Tuy nhiên, các nhà quản trị mạng thường phân chia mạng của
họ ra thành nhiều mạng nhỏ hơn gọi là mạng con subnet. Tương
tự với địa chỉ mạng, địa chỉ mạng con cũng được quy định bởi
một mask, gọi là subnet mask. Subnet mask của một địa chỉ
mạng có số bit 1 nhiều hơn hoặc bằng (trường hợp bằng có nghĩa
là không có chia mạng ra thành subnet) số bit 1 trong network
mask của địa chỉ đó. Ví dụ subnet mask của một mạng thuộc lớp
B sẽ có dạng 255.255.xxx.xxx với xxx là số bất kỳ từ 0 đến 255.
Cách tính số địa chỉ mạng con của một địa chỉ mạng sẽ phụ thuộc
vào bao nhiêu bit của network mask đã được dùng để làm subnet
mask (tạm gọi là y). Hai công thức bên trên đều được sử dụng
với việc thay biến x thành y. Đặc biệt cách tính số địa chỉ IP trong
mỗi subnet sẽ dùng cả x và y theo công thức sau:
2^(32 - x - y) - 2
Ví dụ subnet mask của một mạng lớp A (network mask mặc định
255.0.0.0) là 255.192.0.0 thì y sẽ là 2 (vì 192 biểu diễn ở dạng
nhị phân là 11000000, có nghĩa là đã có 2 bit đã được sử dụng
để làm subnet mask). Subnet mask phải là một dãy liên tục các
bit 1 ngay sau network mask. Điều này nói lên rằng subnet mask
dành một số bit 0 trong network mask (phần dành cho địa chỉ
máy). Cũng có 2 địa chỉ máy dành riêng trong mỗi subnet. Hai
địa chỉ đó là subnet address (địa chỉ thấp nhất trong subnet) và
broadcast address (địa chỉ cao nhất trong subnet). Địa chỉ thấp
Thực hiện phép AND sẽ ra 192.168.0.0.
Câu trả lời là 192.168.0.0. Câu hỏi này cũng có thể trả lời nếu ta
biết là địa chỉ 192.168.0.5 là một trong 3 địa chỉ riêng.
Ví dụ 3: Chỉ rõ phần địa chỉ mạng (bỏ phần địa chỉ máy) của địa
chỉ 192.168.0.10 với network mask mặc định.
Như câu trên ta đã biết network mask của địa chỉ 192.168.0.10
là 255.255.255.0. Câu hỏi yêu cầu chỉ rõ PHẦN địa chỉ mạng,
nên ta chỉ lấy các bit còn nằm trong network mask:
Địa chỉ đầu 11000000.10101000.00000000.00001010
Network
mask 11111111.11111111.11111111.00000000
Lấy phần trong network
mask 11000000.10101000.00000000
Câu trả lời sẽ là 192.168.0.
Ví dụ 4: Địa chỉ IP 129.56.7.8 có subnet mask là 255.255.128.0.
Hỏi có bao nhiêu subnet, bao nhiêu địa chỉ IP trong mỗi subnet,
bao nhiêu địa chỉ IP trong mạng đó?
Việc trả lời đòi hỏi chút tính toán. Sau khi nhận biết địa chỉ IP
này là thuộc lớp B, network mask mặc định là 255.255.0.0 (x là
16), ta biết quản trị mạng đã lấy 1 bit để chia subnet. Như vậy,
y là 1. Số subnet là 2^1 là 2. Số địa chỉ IP trong mỗi subnet là
2^(32-y-x) - 2 là 32766. Suy ra số địa chỉ IP trong mạng đó là
2 * 32766 là 65532.
6. Câu hỏi dành cho người đọc tự trả lời:
Một quản trị viên có một network address thuộc lớp C. Anh ta
muốn chia địa chỉ này ra thành nhiều subnet nhỏ hơn. Anh ta
muốn mỗi subnet có tối thiểu 10 máy và tối đa 30 máy, vậy anh
ta nên dùng những subnet mask nào?
Trên đây là một vài thông tin cần thiết để hiểu cách đánh địa chỉ
IP.
mask.
Theo quy ước, các địa chỉ IP được chia ra làm ba lớp như sau:
Class Subnet mask trong dạng nhị phân Subnet mask
Lớp A 11111111 00000000 00000000 00000000 255.0.0.0
Lớp B 11111111 11111111 00000000 00000000 255.255.0.0
Lớp C 11111111 11111111 11111111 00000000 255.255.255.0
Như ta đã biết, lớp A sử dụng 1 octet đầu tiên làm Network ID. Sử dụng
8 bit đầu được set giá trị thành 1, và 24 bit sau set giá trị 0 => có Subnet
Mask 255.0.0.0. Tương tự với các lớp kia.
Ví dụ IP: 192.168.1.0/24
Đây là địa chỉ thuộc lớp C. Và con số 24 có nghĩa là ta sử dụng 24 bit
cho phần Network ID, và còn lại 8 bit cho Host ID.
Chia Subnet Mask như thế nào?
Ở đây, mình sẽ trình bày cách ngắn gọn giúp bạn có thể tính nhẩm
được. Lấy ví dụ cụ thể như sau:
Công ty thuê một đường IP là 192.168.1.0. Bây giờ ông giám đốc yêu
cầu phân làm chia làm 3 mạng con cho ba phòng ban trong công ty. Hãy
thực hiện việc chia subnet này.
Trước hết ta phân tích cấu trúc của địa chỉ: 192.168.1.0 như sau:
+ Địa chỉ NetMask: 255.255.255.0
+ Network ID: 11111111.11111111.11111111
+ HostID: 00000000
Trong ví dụ này ta cần chia làm 3 mạng con (3 subnet) nên ta cần sử
dụng 2 bit ở phần Host ID để thêm vào Network ID. Làm sao để biết
được số bit cần mượn thêm? Ta có công thức : 2^n>=m (với m là số
- Do những địa chỉ ip có byte đầu tiên nằm trong khoảng:
0 đến 127 sẽ thuộc lớp A.
128 đến 191 sẽ thuộc lớp B.
192 đến 223 sẽ thuộc lớp C.
Nên địa chỉ ip 139.12.0.0/19 sẽ thuộc lớp B.
- lớp B có 2 byte dành cho Netword ID và 2 byte dành cho Host ID.
+ Qui định mặt nạ mạng con (Subnet mask) tất cả các bit trong phần
Host ID là 0, các phần còn lại (Netword ID) là 1.
Nên mặt nạ mạng con (Subnet mask) mặc nhiên là :255.255.0.0.
2/ Xác định Subnet mask thực sự.
- Số bit cần mượn là 3.
+ số mạng con có thể chia được là :
2^3 – 2 = 8 – 2 = 6 > 4 mạng con.
- Host của các lớp B gồm 2 byte x 8 bit = 16 bit.
Vì đã mượn 3 bit chia mạng con nên :
Số bit cho Netword ID là 16 + 3 = 19.
255.255.224.0
3/ Xác định vùng địa chỉ Host
- Chuyển đổi địa chỉ ip 139.12.0.0 sang hệ nhị phân.
10001011.00001100.00000000.00000000
Xác định vùng địa chỉ Host.
Dùng 3 bit để chia mạng con (Subnet) ta có các trường hợp mạng con
sau:
1 số 1 : 001 – 010 – 100
2 số 1 : 011 – 101 – 110
Trong 2^3 – 2 = 6 mạng con trên ta chỉ lấy 4 mạng con theo yêu cầu đề
bài nên chọn ngẩu nhiên mổi trường hợp 2 địa chỉ mạng con.
Cụ thể vùng Host ID như sau:
Subnet ID 1: 139.12.32.1
Từ 10001011.00001100.00100000.00000001 thập phân là:
139.12.32.1
Đến 10001011.00001100.00111111.11111110 thập phân là :
139.12.63.254
Số bít có thể mượn để chia mạng con trong các lớp như sau:
Lớp A số bit mượn <24 tức không vượt qua số bit của Host ID,
Lớp B số bit mượn < 16.
Lớp C số bit mượn <8
Xác Định Host cùng mang con ?
Vậy 2 host thế nào được gọi là cùng mạng con với nhau ?:
Nếu địa chỉ ip của chúng có phần Netword ID trùng nhau.
Cụ thể như sau:
Ta có 2 địa chỉ ip:
Ip 192.168.5.9/28
Ip 192.168.5.39/28
Xác định các bước như phía trên…
Để biết được các host có cùng mạng hay không ta phải tìm được
Subnet mask thực sự của nó. Sau đó thực hiện phép toán AND nhị phân
với địa chỉ ip.tiếp theo xác định phần Netword ID và Host ID.xem phần
Netword Id của chúng có trùng nhau hay không.nếu trùng là cùng
mạng.ngược lại là không cùng mạng.
1111-0000= 2^7 + 2^6 + 2^5 + 2^4
240= 128 + 64 + 32 +16
è255.255.255.240
Đã tìm được subnet mask thực sự.giờ ta thực hiện phép toán AND nhị
phân giữa IP và Subnet Mask
(192.168.5.39/28AND 255.255.255.240)
IP
11000000 10101000 00000101 00001001
Subnet mask
11111111 11111111 11111111 11110000
Kết Quả AND
11000000 10101000 00000101 00000000
Netword ID
192 168 5 0
Host ID
9
Vậy địa chỉ mạng (Netword ID)của máy thứ nhất là : 192.168.5.0
Địa chỉ Host ID là : 9
0 đến 127 sẽ thuộc lớp A.
128 đến 191 sẽ thuộc lớp B.
192 đến 223 sẽ thuộc lớp C.
Nên địa chỉ ip 139.12.0.0/19 sẽ thuộc lớp B.
- lớp B có 2 byte dành cho Netword ID và 2 byte dành cho Host ID.
+ Qui định mặt nạ mạng con (Subnet mask) tất cả các bit trong phần
Host ID là 0, các phần còn lại (Netword ID) là 1.
Nên mặt nạ mạng con (Subnet mask) mặc nhiên là :255.255.0.0.
2/ Xác định Subnet mask thực sự.
- Số bit cần mượn là 3.
+ số mạng con có thể chia được là :
2^3 – 2 = 8 – 2 = 6 > 4 mạng con.
- Host của các lớp B gồm 2 byte x 8 bit = 16 bit.
Vì đã mượn 3 bit chia mạng con nên :
Số bit cho Netword ID là 16 + 3 = 19.
3/ Xác định vùng địa chỉ Host
- Chuyển đổi địa chỉ ip 139.12.0.0 sang hệ nhị phân.
10001011.00001100.00000000.00000000
Xác định vùng địa chỉ Host.
Dùng 3 bit để chia mạng con (Subnet) ta có các trường hợp mạng con
sau:
1 số 1 : 001 – 010 – 100
2 số 1 : 011 – 101 – 110
Trong 2^3 – 2 = 6 mạng con trên ta chỉ lấy 4 mạng con theo yêu cầu đề
bài nên chọn ngẩu nhiên mổi trường hợp 2 địa chỉ mạng con.
Cụ thể vùng Host ID như sau:
Subnet ID 1: 139.12.32.1
Từ 10001011.00001100.00100000.00000001 thập phân là:
139.12.32.1
Đến 10001011.00001100.00111111.11111110 thập phân là :
139.12.63.254
/*Tại sao ở đây địa chỉ Host thứ nhất lại là XX 00100000.00000001 mà
Số bít có thể mượn để chia mạng con trong các lớp như sau:
Lớp A số bit mượn <24 tức không vượt qua số bit của Host ID,
Lớp B số bit mượn < 16.
Lớp C số bit mượn <8
Xác Định Host cùng mang con ?
Vậy 2 host thế nào được gọi là cùng mạng con với nhau ?:
Nếu địa chỉ ip của chúng có phần Netword ID trùng nhau.
Cụ thể như sau:
Ta có 2 địa chỉ ip:
Ip 192.168.5.9/28
Ip 192.168.5.39/28
Xác định các bước như phía trên…
Để biết được các host có cùng mạng hay không ta phải tìm được
Subnet mask thực sự của nó. Sau đó thực hiện phép toán AND nhị phân
với địa chỉ ip.tiếp theo xác định phần Netword ID và Host ID.xem phần
Netword Id của chúng có trùng nhau hay không.nếu trùng là cùng
mạng.ngược lại là không cùng mạng.
1111-0000= 2^7 + 2^6 + 2^5 + 2^4
240= 128 + 64 + 32 +16
è255.255.255.240
Dã tìm được subnet mask thực sự.giờ ta thực hiện phép toán AND nhị
phân giữa IP và Subnet Mask
(192.168.5.39/28AND 255.255.255.240)
IP
11000000 10101000 00000101 00001001
Subnet mask
11111111 11111111 11111111 11110000
Kết Quả AND
11000000 10101000 00000101 00000000
Netword ID
192 168 5 0
Host ID
9
Vậy địa chỉ mạng (Netword ID)của máy thứ nhất là : 192.168.5.0
Địa chỉ Host ID là : 9
Kết luận : hai máy trên không cùng mạng.
============================================
========
Nếu yêu cầu chia mạng con.
Bao nhiêu mạng tương ứng mượn số bit theo công thức:
2^n – 2 = số mạng con. (n là số bit cần mượn, phải < số bit phần Host
ID của lớp)
Số Host của mổi mạng con sẽ là:
2^ (số bit Host - n) – 2 = số host trên mổi mạng con.
Vậy địa chỉ mạng (Netword ID)của máy thứ hai là : 192.168.5.32
Địa chỉ Host ID là : 7
Kết Luận :
Vậy chúng có cùng mạng hay không ?
Địa chỉ mạng (Netword ID) của máy thứ nhất là : 192.168.5.0
Địa chỉ mạng (Netword ID) của máy thứ hai là : 192.168.5.32
Kết luận : hai máy trên không cùng mạng.