07/34 CIDR và /24 Các chương

/24 trong địa chỉ IP nghĩa là gì?

Vì sao 192.168.1.0 tới 192.168.1.255 lại được viết thành 192.168.1.0/24?

Ở bài trước, mạng Wi-Fi nhà bạn có thể gồm các địa chỉ:

192.168.1.0
192.168.1.1
192.168.1.2
...
192.168.1.255

Thay vì viết cả khoảng, người ta viết gọn:

192.168.1.0/24

Vậy /24 từ đâu ra?

/24 nghĩa là giữ nguyên 24 bit đầu

Một địa chỉ IPv4 có 32 bit.

Ví dụ 192.168.1.10 thực chất là:

   192        168         1         10
11000000 . 10101000 . 00000001 . 00001010

Khi viết:

192.168.1.10/24

/24 nghĩa là 24 bit đầu được giữ nguyên:

11000000 10101000 00000001 | 00001010
└────────── 24 bit ────────┘   8 bit còn lại

24 bit đầu tương ứng với:

192.168.1

Còn 8 bit cuối được thay đổi từ:

00000000 → 11111111

hay:

0 → 255

Vì vậy khối này gồm:

192.168.1.0
...
192.168.1.255

Tổng cộng 2⁸ = 256 địa chỉ.

Đó là lý do:

192.168.1.0/24

là cách viết gọn của khoảng:

192.168.1.0 → 192.168.1.255

Cách viết một khối địa chỉ như vậy được gọi là CIDR.

Đổi số sau dấu / thì khối cũng đổi

Con số sau / cho biết có bao nhiêu bit phải giữ nguyên.

Số này càng lớn thì càng ít bit được thay đổi, nên khối càng nhỏ.

Thử đổi /16, /20, /24, /28 và /32:

Khối CIDR co giãn theo số bit giữ nguyên

192.168.1.10/24

24 bit giữ nguyên 8 bit có thể thay đổi

Khối CIDR
192.168.1.0/24
Từ
192.168.1.0
Tới
192.168.1.255
Số địa chỉ trong khối
256 = 28

Đổi độ dài tiền tố để xem khối co giãn thế nào.

Vì CIDR đếm theo bit, ranh giới không nhất thiết phải nằm đúng ở dấu chấm. Một khối /20, chẳng hạn, sẽ cắt ngay giữa một nhóm 8 bit.

192.168.1.10/24 khác 192.168.1.0/24

Hai cách viết này rất dễ nhầm:

192.168.1.10/24
192.168.1.0/24

Dòng đầu nói về một máy:

địa chỉ của máy    192.168.1.10
mạng của nó        192.168.1.0/24

Dòng sau là tên của cả khối:

192.168.1.0 → 192.168.1.255

/24 không phải một phần của địa chỉ IP 192.168.1.10. Nó cho biết khối địa chỉ mà IP đó nằm trong.

Tại sao máy tính cần biết khối này?

Giả sử laptop là:

192.168.1.10/24

Nó biết mạng của mình chạy từ:

192.168.1.0 → 192.168.1.255

Nếu cần gửi dữ liệu tới:

192.168.1.20

địa chỉ đích vẫn nằm trong mạng này.

Nhưng:

8.8.8.8

thì không.

Gói tin phải được đưa cho router để đi sang mạng khác.

Router cũng dùng các khối CIDR để ghi đường đi cho cả nhóm địa chỉ thay vì từng địa chỉ riêng lẻ.

Tiền tố IPv4 xác định một khối địa chỉ và giúp router chọn hướng chuyển gói

Thử xem router dùng một dòng cho cả khối như thế nào:

Router biết gửi gói sang cổng nào?
Gói cần tới
cổng 1 cổng 2 cổng 3 Mạng A 10.1.0.0/24 ROUTER Mạng B 10.2.0.0/24 Mạng C 10.3.0.0/24

Bảng định tuyến

ĐíchGửi ra
10.1.0.0/24cổng 1
10.2.0.0/24cổng 2
10.3.0.0/24cổng 3

Vì sao mạng nhà thường có địa chỉ 192.168.x.x?

Một số khối IPv4 được dành riêng cho mạng nội bộ:

10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

Vì vậy các thiết bị trong mạng nhà thường có địa chỉ như:

192.168.1.10
192.168.1.20
192.168.1.30

Hai ngôi nhà khác nhau có thể cùng dùng những địa chỉ này vì chúng không được định tuyến trực tiếp trên Internet công cộng.

Vậy:

192.168.1.10/24

có thể đọc là:

địa chỉ máy       192.168.1.10
24 bit đầu        giữ nguyên
mạng của máy      192.168.1.0 → 192.168.1.255

Nhưng khi vừa kết nối Wi-Fi, bạn đâu có nhập những thông tin này bằng tay.

Vừa nối Wi-Fi, laptop lấy địa chỉ IP, router và DNS từ đâu?

Nguồn bài viết (4)

  1. RFC 791 — Internet Protocol · IETF
  2. RFC 4632 — Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan · IETF / RFC Editor, 2006
  3. RFC 1519: Classless Inter-Domain Routing (CIDR) · IETF / RFC Editor, 1993
  4. RFC 1918 — Address Allocation for Private Internets · IETF