Địa chỉ IP (Internet Protocol Address) là một địa chỉ logic duy nhất được gán cho mỗi thiết bị, được sử dụng trong giao thức IP của lớp Internet thuộc mô hình TCP/IP (tương ứng với lớp thứ 3 – lớp network của mô hình OSI). Địa chỉ IP giống như địa chỉ nhà của bạn trên mạng Internet.
Mục lục
Cấu trúc địa chỉ IPv4
- Địa chỉ IP gồm 32 bit nhị phân, chia thành 4 cụm 8 bit (gọi là các octet). Các octet được biểu diễn dưới dạng thập phân và được ngăn cách nhau bằng các dấu chấm.
- Địa chỉ IP được chia thành hai phần: phần mạng (network) và phần host
Việc đặt địa chỉ IP phải tuân theo các quy tắc sau:
- Các bit phần mạng không được phép đồng thời bằng 0.
VD: địa chỉ 0.0.0.1 với phần mạng là 0.0.0 và phần host là 1 là không hợp lệ. - Nếu các bit phần host đồng thời bằng 0, ta có một địa chỉ mạng.
VD: địa chỉ 192.168.1.1 là một địa chỉ có thể gán cho host nhưng địa chỉ
192.168.1.0 là một địa chỉ mạng, không thể gán cho host được. - Nếu các bit phần host đồng thời bằng 1, ta có một địa chỉ quảng bá (broadcast).
VD: địa chỉ 192.168.1.255 là một địa chỉ broadcast cho mạng 192.168.1.0
Các lớp địa chỉ IP:
Không gian địa chỉ IP được chia thành các lớp như sau:
a) Lớp A:
– Địa chỉ lớp A sử dụng một octet đầu làm phần mạng, ba octet sau làm phần host.
– Bit đầu của một địa chỉ lớp A luôn được giữ là 0. Do đó, các địa chỉ mạng lớp A gồm: 1.0.0.0 -> 127.0.0.0.
Tuy nhiên, mạng 127.0.0.0 được sử dụng làm mạng loopback nên địa chỉ mạng lớp A sử dụng được gồm 1.0.0.0 -> 126.0.0.0 (126 mạng).
Chú ý: địa chỉ 127.0.0.1 là địa chỉ loopback trên các host. Để kiểm tra chồng giao thức TCP/IP có được cài đặt đúng hay không, từ dấu nhắc hệ thống, ta đánh lệnh ping 127.0.0.1, nếu kết quả ping thành công thì chồng giao thức TCP/IP đã được cài đặt đúng đắn.
– Phần host có 24 bit => mỗi mạng lớp A có (2^24 – 2) host.
– Ví dụ: 10.0.0.1, 1.1.1.1, 2.3.4.5 là các địa chỉ lớp A.
b) Lớp B:
– Địa chỉ lớp B sử dụng hai octet đầu làm phần mạng, hai octet sau làm phần host.
– Hai bit đầu của một địa chỉ lớp B luôn được giữ là 1 0. Do đó các địa chỉ mạng lớp B gồm: 128.0.0.0 -> 191.255.0.0
– Có tất cả 2^14 mạng trong lớp B.
– Phần host: 16 bit -> Một mạng lớp B có 2^16 – 2 host.
– Ví dụ: các địa chỉ 172.16.1.1, 158.0.2.1 là các địa chỉ lớp B.
c) Lớp C:
– Địa chỉ lớp C sử dụng ba octet đầu làm phần mạng, một octet sau làm phần host.
– Ba bit đầu của một địa chỉ lớp C luôn được giữ là 1 1 0. Do đó, các địa chỉ mạng lớp C gồm: 192.0.0.0 -> 223.255.255.0
– Có tất cả 2^21 mạng trong lớp C.
– Phần host: 8 bit
– Một mạng lớp C có 2^8 – 2 = 254 host.
– Ví dụ: các địa chỉ 192.168.1.1, 203.162.4.191 là các địa chỉ lớp C.
d) Lớp D:
– Địa chỉ:
224.0.0.0 -> 239.255.255.255
– Dùng làm địa chỉ multicast.
Ví dụ: 224.0.0.5 dùng cho OSPF; 224.0.0.9 dùng cho RIPv2
e) Lớp E:
– Từ 240.0.0.0 trở đi.
– Được dùng cho mục đích dự phòng.
Chú ý:
Các lớp địa chỉ IP có thể sử dụng để đặt cho các host là các lớp A, B, C.
Để thuận tiện cho việc nhận diện một địa chỉ IP thuộc lớp nào, ta quan sát octet đầu của địa chỉ, nếu octet này có giá trị:
1 -> 126: địa chỉ lớp A.
128 -> 191: địa chỉ lớp B.
192 -> 223: địa chỉ lớp C.
224 -> 239: địa chỉ lớp D.
240 -> 255: địa chỉ lớp E.
Địa chỉ Private và Public
– Địa chỉ IP được phân thành hai loại: private và public.
Private: chỉ được sử dụng trong mạng nội bộ (mạng LAN), không được định tuyến trên môi trường Internet. Có thể được sử dụng lặp đi lặp lại trong các mạng LAN khác nhau.
Public: là địa chỉ IP sử dụng cho các gói tin đi trên môi trường Internet, được định tuyến trên môi trường Internet, không sử dụng trong mạng LAN. Địa chỉ public phải là duy nhất cho mỗi host tham gia vào Internet.
– Dải địa chỉ private (được quy định trong RFC 1918):
Lớp A: 10.x.x.x
Lớp B: 172.16.x.x -> 172.31.x.x
Lớp C: 192.168.x.x
– Kỹ thuật NAT (Network Address Translation) được sử dụng để chuyển đổi giữa IP private và IP public.
– Ý nghĩa của địa chỉ private: được sử dụng để bảo tồn địa chỉ IP public đang dần cạn kiệt
Địa chỉ quảng bá (broadcast)
Gồm hai loại:
– Direct:
VD: 192.168.1.255
– Local:
VD: 255.255.255.255
– Để phân biệt hai loại địa chỉ broadcast này, ta xem xét ví dụ sau:
Xét máy có địa chỉ IP là 192.168.2.1 chẳng hạn. Khi máy này gửi broadcast đến 255.255.255.255, tất cả các máy thuộc mạng 192.168.2.0 (là mạng máy gửi gói tin đứng trong đó) sẽ nhận được gói broadcast này, còn nếu nó gửi broadcast đến địa chỉ 192.168.1.255 thì tất cả các máy thuộc mạng 192.168.1.0 sẽ nhận được gói broadcast (các máy thuộc mạng 192.168.2.0 sẽ không nhận được gói broadcast này)
Subnet mask và số prefix
Subnet mask là một dải 32 bit nhị phân đi kèm với một địa chỉ IP, được các host sử dụng để xác định địa chỉ mạng của địa chỉ IP này. Để làm được điều đó, host sẽ đem địa chỉ IP thực hiện phép tính AND từng bit một của địa chỉ với subnet mask của nó, kết quả host sẽ thu được địa chỉ mạng tương ứng của địa chỉ IP.
Ví dụ: Xét địa chỉ 192.168.1.1 với subnet mask tương ứng là 255.255.255.0
Column 1 | Dạng thập phân | Dạng nhị phân |
---|---|---|
Địa chỉ IP | 192.168.1.1 | 11000000.10101000.00000001.00000001 |
Subnet mask | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
Địa chỉ mạng | 192.168.1.0 | 11000000.10101000.00000001.00000000 |
phép toán AND
0 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1
Đối với chúng ta, quy tắc gợi nhớ subnet mask rất đơn giản: phần mạng chạy đến đâu, bit 1 của subnet mask chạy đến đó và ứng với các bit phần host, các bit của subnet mask được thiết lập giá trị 0. Một số subnet mask chuẩn:
- Lớp A : 255.0.0.0
- Lớp C: 255.255.255.0
- Lớp B: 255.255.0.0
Số prefix:
Như đã nêu ra ở trên, subnet mask được sử dụng kèm với địa chỉ IP để một host có thể căn cứ vào đó xác dịnh được địa chỉ mạng tương ứng của địa chỉ này. Vì vậy, khi khai báo một địa chỉ IP ta luôn phải khai báo kèm theo một subnet mask.
Tuy nhiên, subnet mask dù đã được viết dưới dạng số thập phân vẫn khá dài dòng nên để mô tả một địa chỉ IP một cách ngắn gọn hơn, người ta dùng một đại lượng được gọi là số prefix. Số prefix đơn giản chỉ là số bit mạng trong một địa chỉ IP, được viết ngay sau địa chỉ IP, và được ngăn cách với địa chỉ này bằng một dấu “/”.
Ví du: 192.168.1.1/24, 172.16.0.0/16 hay 10.0.0.0/8,.v.v…