Today I learned: IP address (part 2)

nguyen duy
2 min readFeb 19, 2021
Photo by Chris Barbalis on Unsplash

bài trước, mình đề cập đến khái niệm IP address. Trong bài viết này, mình nói về cách phân chia network portion và host portion trong 1 địa chỉ IP

Ví dụ, với địa chỉ IP: 192.168.1.2

Bước 1: ta convert thành hệ nhị phân, thu được kết quả: 11000000.10101000.00000001.00000010

(các bạn có thể vào trang rapidtables để convert)

Bước 2: Giờ chúng ta sẽ quyết định xem trong số 32 bit kia, có bao nhiêu bit đóng vai trò network portion, và phần bit còn lại sẽ là host portion

Giả sử mình muốn 24 bit đầu sẽ đóng vai network portion, còn lại 8 bit đóng vai host portion, lúc này:

  • Với 24 bit đầu, giá trị network portion tối đa có thể đạt được là 11111111.11111111.11111111, quy đổi ra hệ thập phân sẽ là 255.255.255
  • Với 8 bit còn lại, giá trị host portion tối thiểu sẽ là 00000000, quy đổi ra hệ thập phân sẽ là 0
  • Kết hợp 2 phần maximum network portion và minimum host portion này lại, ta có địa chỉ 255.255.255.0. Đây được gọi là subnet mask

Như vậy, xuất phát từ quyết định chọn số lượng bit cho network và host portion (24/8), mình tạo ra được 1 thứ gọi là subnet mask. Mình dựa vào subnet mask này để xác định network và host portion của 1 địa chỉ IP. Như với ví dụ trên thì network portion sẽ là 11000000.10101000.00000001 (192.168.1) còn host portion là 00000010 (2)

Mình hoàn toàn có thể tính subnet mask theo kiểu khác để từ đó chia lại network và host portion. Ví dụ, giờ phần network portion mình chỉ lấy 20 bit đầu, 12 bit còn lại là dành cho host portion, khi đó:

  • Maximum network portion: 11111111.11111111.1111
  • Minimum host portion: 0000.00000000
  • Subnet mask khi đó sẽ là: 11111111.11111111.11110000.00000000, quy ra thập phân sẽ là 255.255.240.0

Với subnet mask 255.255.240.0 thì IP 192.168.1.2, quy ra nhị phân là 11000000.10101000.00000001.00000010, sẽ có:

  • Network portion: 11000000.10101000.0000
  • Host portion: 0001.00000010

Vậy với subnet mask 255.255.240.0, ta có thể tạo ra 1 địa chỉ IP khác nằm trong cùng lớp mạng với 192.168.1.2, miễn sao phần network portion giống nhau là được. Ví dụ mình tạo 1 địa chỉ IP có:

  • Network portion: 11000000.10101000.0000
  • Host portion: 1011.00000110
  • IP khi đó sẽ là: 11000000.10101000.00001011.00000110, quy ra thập phân sẽ là 192.168.11.6

Như vậy 2 địa chỉ IP 192.168.1.2 và 192.168.11.6, trông bên ngoài thì có vẻ không nằm cùng lớp mạng, nhưng với subnet mask là 255.255.240.0 thì 2 IP này cùng network portion với nhau

--

--