Địa chỉ IP
Như phần trình bày về giao thức IP một gói tin muốn truyền qua mạng phải có thông tin về địa chỉ trạm nguồn và địa chỉ trạm đích của nơi gói tin được chuyển đi và nơi gói tin được nhận lại, mỗi địa chỉ này là một trường với độ dài 32 bit. Người ta gọi nó là ...
Như phần trình bày về giao thức IP một gói tin muốn truyền qua mạng phải có thông tin về địa chỉ trạm nguồn và địa chỉ trạm đích của nơi gói tin được chuyển đi và nơi gói tin được nhận lại, mỗi địa chỉ này là một trường với độ dài 32 bit. Người ta gọi nó là địa chỉ IP. sẽ phân biệt một cách duy nhất cá thiết bị khi kết nối vào một mạng, để từ đó giúp cho việc quản lý và phân phối các thông tin trên mạng được đúng cách. Hiện nay người ta sử dụng 2 thế hệ địa chỉ IP là IPv4 và IPv6.
IPv4 có 32 bít địa chỉ với khả năng lý thuyết có thể cung cấp một không gian địa chỉ là 232 = 4 294 967 296 địa chỉ. Người ta còn đưa ra một loại địa chỉ thế hệ mới IPv6 có 128 bit địa chỉ dài hơn 4 lần so với IPv4 nhưng khả năng lý thuyết có thể cung cấp một không gian địa chỉ là 2128 = 340 282 366 920 938 463 463 374 607 431 768 211 456 địa chỉ, nhiều hơn không gian địa chỉ của IPv4 là khoảng 8 tỷ tỷ tỷ lần vì 232 lấy tròn số là 4.10 9 còn 2128 lấy tròn số là 340. 10 36 (khoảng 340 tỷ tỷ tỷ tỷ địa chỉ). Số địa chỉ này nếu rải đều trên bề mặt quả đất thì mỗi mét vuông có khoảng 665 570 tỷ tỷ địa chỉ (665 570.10 18) vì diện tích bề mặt quả đất khoảng 511 263 tỷ mét vuông.
Đây là một không gian địa chỉ cực lớn với mục đích không chỉ cho Internet mà còn cho tất cả các mạng máy tính, hệ thống viễn thông, hệ thống điều khiển và thậm chí cho từng vật dụng trong gia đình. Người ta nói rằng từng chiếc điều hoà, tủ lạnh, máy giặt hay nồi cơm điện v.v... của từng gia đình một cũng sẽ mang một điạ chỉ IPv6 để chủ nhân của chúng có thể kết nối và ra lệnh từ xa. Nhu cầu hiện tại chỉ cần 15% không gian địa chỉ IPv6 còn 85% dự phòng cho tương lai.
Ở đây chúng ta sẽ xem xét cấu trúc của địa chỉ IP như đối với địa chỉ IPv4, một địa chỉ IP được biểu diễn bởi các số thập phân và được chia thành 4 octer mỗi octer phân cách nhau bởi một dấu chấm. Mỗi octer tương ứng với 8 bit do vậy con số thập phân lớn nhất mà một octer nhận được là 255. Cụ thể một địa chỉ IP có khuôn dạng như sau:
Trong đó X, Y, Z, T nằm trong miền 0..255.
Ví dụ về một địa chỉ IP : 192.168.1.1
Trong 32 bit dùng để đánh địa chỉ IP người ta sử dụng 32 bit để chia một địa chỉ IP làm 2 thành phần một thành phần là địa chỉ mạng (Network ID)và phần còn lại là địa chỉ thiết bị được kết nối vào mạng (Host ID), trong đó 1,2 hay 3 octer có thể được sử dụng cho Network ID hoặc Host ID.
Để dễ dàng trong việc quản lý nguồn tài nguyên địa chỉ IP thì người ta đã tiến hành phân địa chit IP thành các lớp khác nhau. Trên thực tế địa chỉ IP được phân thành 5 lớp khác nhau đó là A, B, C, D, E nhưng chỉ có 3 lớp đầu tiên được đưa vào sử dụng một cách rộng dãi do đó ở đây chúng ta chỉ tiến hành nghiên cứu 3 lớp đầu tiên của địa chỉ IP là A, B, C.
Tổ chức American Registry for Internet Numbers (viết tắt là ARIN) đã tiến hành sắp xếp và phân bổ 3 lớp địa chỉ đầu tiên, các địa chỉ lớp A dành cho các Tổ chức chính phủ trên thế giới, địa chỉ lớp B dành cho các công ty trung bình và địa chỉ lớp C cho các đối tượng khác.
Cấu trúc địa chỉ IP của các lớp như sau:
Hình 5.6. Các lớp địa chỉ IP
- Lớp A:
Trong lớp A người ta sử dụng 8 bit (X) đầu tiên để đánh địa chỉ mạng, 24 bit (Y.Z.T) còn lại dùng để đánh địa chỉ các thiết bị khi nối vào mạng này. Với 8 bit đầu tiên thì bit thứ nhất có giá trị là 0. Như vậy còn lại 7 bit để đánh địa chỉ cho mạng và số mạng của lớp A được hình thành từ 7 bit còn lại sẽ là 27 = 128 nhưng có hai địa chỉ địa chỉ được dùng cho các mục đích đặc biệt.
Số mạng của lớp A sẽ là: 27 - 2 = 126
Số Host trong mỗi mạng sẽ là: 224 – 2 = 16.777.214
Vùng địa chỉ lý thuyết của lớp A: 0.0.0.0 đến 127.0.0.0
(0 ≤ X ≤ 127 )
Vùng địa chỉ sử dụng: 1..0.0.1 đến 126.255.255.254
Ví dụ về địa chỉ lớp A:
120.122.1.2
1.2.3.4
- Lớp B:
Trong địa chỉ IP lớp B người ta sử dụng 16 bit ( X.Y ) để đánh địa chỉ mạng, 16 bit ( Z.T ) còn lại để đánh địa chỉ cho các Host. Trong 16 bit đầu thì 2 bit dùng để nhận dạng ra địa chỉ lớp B có giá trị là 10.
Số lượng mạng của lớp B sẽ là 214 – 2 = 16.382
Số Host trong một mạng sẽ là: 216 – 2 = 65.534
Vùng địa chỉ lý thuyết của lớp B: 128.0.0.0 đến 191.255.0.0
(128 ≤ X ≤ 191 )
Vùng địa chỉ sử dụng: 128.1.0.1 đến 191.254.255.254
Ví dụ về địa chỉ lớp B:
140.108.2.2
191.222.2.10
- Lớp C:
Trong địa chỉ IP lớp C người ta sử dụng 24 bit ( X.Y.Z ) để đánh địa chỉ mạng, 8 bit ( T ) còn lại để đánh địa chỉ cho các Host. Trong 24 bit đầu thì 3 bit dùng để nhận dạng ra địa chỉ lớp C có giá trị là 110.
Số lượng mạng của lớp C sẽ là: 221 – 2 = 2.097.150
Số Host trong một mạng sẽ là: 28 – 2 = 254
Vùng địa chỉ lý thuyết của lớp C: 192.0.0.0 đến 223.255.255.0
(192 ≤ X ≤ 223 )
Vùng địa chỉ sử dụng: 192.0.1.1 đến 223.255.254.254
Ví dụ về địa chỉ lớp C:
192.168.1.1
204.66.165.10
- Các vấn khác đề liên quan đến địa chỉ IP
Sau khi xem xét việc phân chia các lớp địa chỉ IP một câu hỏi đặt ra là tại sao trong mỗi lớp số mạng lại phải trừ đi 2
A: 27 - 2 = 126
B: 214 – 2 = 16.382
C: 221 – 2 = 2.097.150
Một lý do rất đơn giản là các mạng khi các bit đánh chỉ số mạng đều là 0 hay là một thì đều không được phân bổ, do đó trong lớp A ta có hai địa chỉ mạng không thể được phân bổ là 0.Y.Z.T và 127.Y.Z.T, đối với lớp B ta có hai địa chỉ không được phân bổ là 128.0.Z.T và 191.255.Z.T, tương tự đối với lớp C ta có 2 địa chỉ sau 192.0.0.T và 223.255.255.T.
Tương tự ta cũng thấy rằng trong số các địa chỉ của các host trên mỗi mạng thì đều phải trừ đi 2 địa chỉ đó là lý do tại sao?
A: 224 – 2 = 16.777.214
B: 216 – 2 = 65.534
C: 28 – 2 = 254
Để trả lời cho câu hỏi này ta đặt ra tình huống như sau: Trong trường hợp máy tính của bạn muốn gửi thông tin đến tất cả các máy tính trên một mạng nào đó. Ví dụ tôi muốn gửi thông tin đến tất cả các máy tính trên 1 mạng của lớp C 192.168.1.0 chẳng hạn (192.168.1 là một địa chỉ mạng cảu lớp C), điều đó có nghĩa là tất cả các máy tính có địa chỉ IP từ 192.168.1.0 đến 192.168.1.255 đều phải nhận được thông tin này. Liệu rằng ta có thể viết vào phần header IP một thông tin về địa chỉ đích (Destination Address ) như 192.168.1.0 – 192.168.1.255? Câu trả lời là không thể được chính vì vậy các nhà quản lý đã giúp cho chúng ta trong tình huống này bằng cách không phân bổ địa chỉ IP 192.168.1.255 mà dùng nó để khi một gói tin có chứa địa chỉ đích 192.168.1.255 thì gói tin đó sẽ được gửi cho toàn bộ các host trong mạng 192.168.1.0. Địa chỉ 192.168.1.255 được gọi là địa chỉ quảng bá.
Như vậy địa chỉ quảng bá là địa chỉ IP mà trong đó tất cả các bit thuộc phần Host ID đều có giá trị là 1.
Một số ví dụ về địa chỉ quảng bá: 130.108.255.255 địa chỉ quảng bá lớp B của mạng 130.108.0.0; 22.255.255.255 địa chỉ quảng bá lớp A của mạng 22.0.0.0.
Ngoài ra để đánh dấu việc bắt đầu một mạng trong một lớp thì khi tất cả các bit dành cho phần Host ID của một mạng có giá trị là 0 thì địa chỉ IP này cũng không được phân bổ và địa chỉ đó người ta gọi là địa chỉ dành riêng cho địa chỉ mạng. Ví dụ 192.168.1.0 là một địa chỉ dành riêng cho mạng 192.168.1 của lớp C; 130.108.0.0 là địa chỉ dành riêng cho mạng 130.108 của lớp B.
Đến đây ta có thể hiểu tại sao trong mỗi mạng của các lớp ta lại bỏ ra 2 địa chỉ mạng không được dùng vì nó đã được dùng cho các mục đích