Search…

Sơ Lược về Địa Chỉ IP

22/09/202010 min read
Tìm hiểu về địa chỉ IP, IPv4, subnet mask, các lớp thường được sử dụng trong mạng.

IP là một loại địa chỉ logic thuộc lớp Network của mô hình OSI, cung cấp cho chúng ta một cách đánh địa chỉ linh hoạt, tiện dụng để sử dụng trong các giao thức định tuyến sau này. Hầu hết máy tính và thiết bị mạng hiện nay đang sử dụng phiên bản IPv4, nên trong phạm vi bài viết này chúng ta chỉ đề cập tới IPv4.

Địa chỉ IP là gì?

Để gửi thư cho nhau, ta bắt buộc phải biết địa chỉ của đối phương, các gói tin cũng vậy, luôn phải có một loại địa chỉ để xác định vị trí, từ đó trao đổi thông tin chính xác giữa máy nguồn và máy đích. Vậy nên, trong Internet các địa chỉ IP là duy nhất.

Cấu trúc của địa chỉ IP

Địa chỉ IP là một dải nhị phân dài 32 bit và chia thành 4 bộ 8 bit gọi là các Octet, gồm phần net-id dùng để xác định mạng mà thiết bị kết nối vào và phần host-id để xác định thiết bị của mạng đó.

Otect 1  Otect 2  Otect 3  Otect 4
8 bits   8 bits   8 bits   8 bits
11000000 10100000 00000000 00000001
———————————————————————————————————
     NETWORK     |      HOST

Để cho đơn giản, người ta viết lại địa chỉ IP dưới dạng 4 số thập phân được cách nhau bởi dấu chấm.

Ví dụ: địa chỉ hệ thập phân tương ứng cho 11000000 10100000 00000000 00000001 sẽ là 192.168.0.1 - một địa chỉ khá quen thuộc.

Để xem địa chỉ IP của máy tính một cách đơn giản, ta có thể sử dụng Command Prompt với câu lệnh ipconfig.

C:\Users\stdio>ipconfig

Wireless LAN adapter Wi-Fi:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::a489:65c2:a9a7:b425%14
   IPv4 Address. . . . . . . . . . . : 192.168.0.107
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : fe80::1%14
                                       192.168.0.1

Subnet mask

Mỗi địa chỉ IP luôn đi kèm với một Subnet mask, để xác định được phần net-id của địa chỉ đó. Subnet mask cũng là một dải nhị phân dài 32 bits và chia ra 4 bộ 8 bits như địa chỉ IP.

Subnet mask bao gồm phần các bits 1 và phần còn lại là các bits 0, subnet mask có bao nhiêu bit 1 thì địa chỉ IP tương ứng sẽ có bấy nhiêu bit phần net-id.

Ví dụ: với subnet mask như sau: 11111111 11111111 11111111 000000002 255.255.255.010 bao gồm 24 bits 1, thì địa chỉ IP mang subnet mask này cũng sẽ có 24 bits phần net-id.

Có thể viết trực tiếp như sau: 192.168.1.3 - 255.255.255.0 hoặc sử dụng prefix length: 192.168.1.3/24

Lưu ý, một địa chỉ IP có thể thuộc các mạng khác nhau nếu sử dụng các subnet mask khác nhau. Để xác định địa chỉ IP đó thuộc mạng nào, ta chỉ cần lấy địa chỉ IP AND (bitwise) với subnet mask tương ứng.

Ví dụ: 192.168.1.3 AND 255.255.255.0 = 192.168.1.0 vậy địa chỉ 192.168.1.3/24 thuộc mạng 192.168.1.0/24

Phân lớp địa chỉ IP

Số lượng địa chỉ IP là rất lớn, nên để tiện cho việc quản lý, người ta phân hoạch toàn bộ địa chỉ IP ra thành 5 lớp khác nhau.

Lớp A

Địa chỉ lớp A sử dụng 1 Octet đầu tiên làm net-id, phần còn lại làm host-id. Bit đầu tiên của địa chỉ lớp A luôn là 0 nên

  • Giá trị nhỏ nhất của Octet 1: 000000002 hay 010
  • Giá trị lớn nhất của Octet 1: 011111112 hay 12710
  • Default subnet mask: 255.0.0.0

Tuy nhiên, giá trị 010 không được sử dụng và giá trị 12710 được dành cho Loopback và chuẩn đoán, kiểm tra lỗi, nên dải địa chỉ lớp A sẽ là từ 1.x.x.x đến 126.x.x.x

Lớp B

Địa chỉ lớp B sử dụng 2 Octet đầu tiên để làm net-id, 2 Octet còn lại làm host-id. 2 bits đầu tiên của địa chỉ lớp B luôn là 10 nên

  • Giá trị nhỏ nhất của Octet 1: 100000002 hay 12810
  • Giá trị lớn nhất của Octet 1: 101111112 hay 19110
  • Default subnet mask: 255.255.0.0

Vậy dải địa chỉ lớp B từ 128.x.x.x đến 191.x.x.x

Lớp C

Địa chỉ lớp C sử dụng 3 Octet đầu tiên để làm net-id, Octet 4 làm host-id. 3 bits đầu tiên của địa chỉ lớp C luôn là 110 nên:

  • Giá trị nhỏ nhất của Octet 1: 110000002 hay 19210
  • Giá trị lớn nhất của Octet 1: 110111112 hay 22310
  • Default subnet mask: 255.255.255.0

Vậy dải địa chỉ lớp C bắt đầu từ 192.x.x.x đến 223.x.x.x

Ngoài ra còn có địa chỉ lớp D từ 224.x.x.x – 239.x.x.x sẽ được đề cập ở phần sau và lớp E 240.x.x.x – 254.x.x.x dùng để thí nghiệm và nghiên cứu.

Các loại địa chỉ IP

Địa chỉ Unicast

Khi bạn muốn gửi gói tin đến một máy tính cụ thể, khi đó địa chỉ để bạn gửi tới sẽ là một địa chỉ unicast. Đây đơn giản chỉ là địa chỉ IP của một thiết bị nào đó trong cùng hoặc mạng cục bộ khác.

Địa chỉ Multicast

Trường hợp muốn gửi gói tin đến nhiều máy tính, ta không thể gửi lần lượt đến tất cả các máy được. Vì thế, địa chỉ bạn cần gửi tới trong trường hợp này sẽ là một địa chỉ Multicast, địa chỉ này đại diện cho một nhóm các thiết bị.

Địa chỉ multicast này chính là các địa chỉ trong dải địa chỉ lớp D.

Địa chỉ Broadcast

Khi muốn gửi thông điệp đến tất cả các máy trong mạng nội bộ, đó là lúc ta cần sử dụng đến địa chỉ Broadcast. Địa chỉ Broadcast là địa chỉ có toàn bộ các bits phần host-id là 1. Khi gói tin được gửi đến địa chỉ Broadcast, thì nó sẽ được gửi tới tất cả các máy cùng mạng, tức là cùng phần net-id. Vì đại diện cho toàn bộ thiết bị trong mạng nên địa chỉ Broadcast không thể đặt được cho bất kỳ thiết bị nào.

Ví dụ: 192.168.1.255/24 là địa chỉ Broadcast của mạng 192.168.1.0/24.

Địa chỉ mạng

Không chỉ các thiết bị mới có địa chỉ IP, mà các mạng thành phần của Internet hay mạng cục bộ cũng có một địa chỉ để xác định chính xác mạng đó. Khi tất cả các bits phần Host của một địa chỉ IP là 0, thì địa chỉ đó được gọi là địa chỉ mạng của mạng đó. Vì đại diện cho mạng nên địa chỉ mạng cũng không thể đặt được cho bất kỳ thiết bị nào.

Ví dụ: 192.168.1.0/24 là địa chỉ mạng của mạng 192.168.1.0/24.

Default Gateway

Như một cổng thoát hiểm, khi gói tin cần gửi đến địa chỉ không cùng mạng hiện tại, hoặc đơn giản là không biết gửi đi đâu, thì gói tin đó sẽ được gửi tới địa chỉ Default gateway, thường là một interface của Router nối trực tiếp với mạng đó. Tại đây, Router sẽ dùng các chức năng định tuyến để chuyển tiếp gói tin đi các hướng khác nhau.

Default Gateway thường là địa chỉ IP có thể sử dụng đầu tiên của mạng đó.

Ví dụ: Default gateway của mạng 192.168.1.0/24192.168.1.1/24.

Sự giới hạn của địa chỉ IP

Số lượng địa chỉ IP là rất lớn, nhưng không phải là vô hạn. Vì vậy để bảo toàn địa chỉ IP, người ta chia địa chỉ IP ra làm 2 loại là địa chỉ public và địa chỉ private.

Địa chỉ public

Là các địa chỉ độc nhất, sử dụng được trong môi trường Internet.

Địa chỉ private

Chỉ sử dụng được trong mạng cục bộ, có thể tái sử dụng lại ở mạng cục bộ khác, nhưng trong một mạng thì vẫn phải mang giá trị duy nhất.

Với mỗi phân lớp địa chỉ IP, thì có một dải địa chỉ dùng để làm địa chỉ private cho lớp đó:

  • Lớp A: Từ 10.0.0.0 đến 10.255.255.255, subnet mask 255.0.0.0
  • Lớp B: Từ 172.16.0.0 đến 172.31.255.255, subnet mask 255.240.0.0
  • Lớp C: Từ 192.168.0.0 đến 192.168.255.255, subnet mask 255.255.0.0

Khi các thiết bị sử dụng địa chỉ IP private trong mạng cục bộ muốn truy cập được Internet – môi trường không sử dụng địa chỉ private, công nghệ NAT (Network Address Translation) được cài đặt trên các thiết bị router (đã được gán 1 địa chỉ IP Public) được sử dụng để chuyển IP private thành IP public và ngược lại, giúp cho các thiết bị trong mạng cục bộ vẫn có thể truy cập được Internet.

Phương pháp chia IP và Subnet mask

Yêu cầu 1

Cho địa chỉ 192.168.155.245/27, xác định địa chỉ mạng, địa chỉ broadcast, dải địa chỉ có thể dùng cho host?

Phương pháp tính

Prefix length = 27, vậy subnet mask tương ứng là 11111111 11111111 11111111 111000002 - từ đó ta xác định được số bits phần net-id của địa chỉ IP.

IP = 192.168.155.245, dạng nhị phân tương ứng là: 11000000 10101000 10011011 111101012

Giữ lại phần net-id, phần host-id set về toàn bit 0: 11000000 10101000 10011011 111000002

Ta được địa chỉ mạng, viết lại ở dạng thập phân sẽ là: 192.168.155.224/27.

Với địa chỉ Broadcast, host-id sẽ set về toàn bit 1: 11000000 10101000 10011011 111111112

Ta được địa chỉ Broadcast, viết lại ở dạng thập phân sẽ là: 192.168.155.255/27.

Vì địa chỉ mạng và địa chỉ Broadcast không được dùng cho host nên dải địa chỉ có thể sử dụng ở đây là từ 192.168.155.225/27 đến 192.168.155.254/27.

Yêu cầu 2

Cho mạng 192.168.155.0/ 24. Chia mạng này thành các mạng con cho các phòng ban sau: Phòng A: 80 máy, phòng B: 60 máy, 2 phòng C, D: mỗi phòng 25 máy.

Phương pháp tính

Đầu tiên ta có địa chỉ IP và các bit phần net-id: 11000000 10101000 10011011 000000002 trừ địa chỉ mạng và broadcast ra, thì mạng này có tối đa 254 máy.

Ta mượn 1 phần host-id chuyển qua làm net-id, được 2 mạng con như sau:

  • 11000000 10101000 10011011 000000002 hay 192.168.155.0/25
  • 11000000 10101000 10011011 100000002 hay 192.168.155.128/25

Ta thấy, mạng 192.168.155.0/25 có 7 bits phần host-id, biểu diễn được 127 máy, đủ cho phòng A, nên ta gán mạng này cho phòng A.

Với địa chỉ 192.168.155.128/25, ta lại mượn 1 phần host-id chuyển qua làm net-id, được 2 mạng con như sau:

  • 11000000 10101000 10011011 100000002 hay 192.168.155.128/26
  • 11000000 10101000 10011011 110000002 hay 192.168.155.192/26

Tiếp tục, mạng 192.168.155.128/26 có 6 bits phần host-id, biểu diễn được 63 máy, nên ta gán cho phòng B mạng này.

Làm tương tự với mạng 192.168.155.192/26, được 2 mạng con:

  • 11000000 10101000 10011011 110000002 hay 192.168.155.192/27
  • 11000000 10101000 10011011 111000002 hay 192.168.155.224/27

2 mạng con này có 5 bits phần host-id, biểu diễn được 31 máy, ta gán lần lượt cho phòng C và D.

Như vậy ta đã chia mạng 192.168.155.0/24 thành các mạng con có kích cỡ khác nhau, phù hợp với yêu cầu đề bài:

  • Phòng A: 192.168.155.0/25
  • Phòng B: 192.168.155.128/26
  • Phòng C: 192.168.155.192/27
  • Phòng D: 192.168.155.224/27
IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024