KHÁI QUÁT CHUNG VỀ ĐỊA CHỈ IPv4 VÀ ĐỊA CHỈ IPv6
1.1. TỔNG QUAN ĐỊA CHỈ INTERNET PHIÊN BẢN IPv4
1.1.1. Hệ số mà địa chỉ IPv4 sử dụng
Chữ số sử dụng trong cuộc sống thường ngày được gọi là số thập phân. Phép tính thực hiện với các con số thập phân được gọi là cơ số 10. Mọi chữ số chỉ có thể được biểu diễn dưới dạng mười giá trị từ 0 đến 9. Trong lĩnh vực kỹ thuật, máy móc lại sử dụng phổ biến hai hệ số khác, đó là hệ nhị phân (binary - cơ số 2) và hệ số hexa decimal (cơ số 16). Máy tính lưu trữ và xử lý thông tin bằng một tập hợp những đoạn thông tin với hai tình trạng đơn giản “có” và “không”. Hệ nhị phân chỉ bao gồm hai số “1” và “0” tuơng ứng tình trạng này. Các giá trị bao gồm dãy các chữ số 0 và 1. Với cơ số 2, con số nhị phân sẽ được quy đổi ra giá trị thập phân đồng thời nhóm chúng lại thành từng octet (được chia thành 4 octet - mỗi octet có 8 bits để sử dụng cho hệ thập phân hay được chia thành 2 octet - mỗi octet có 16 bits dùng cho hệ hexa).
1.1.2. Không gian địa chỉ Do IPv4 chỉ dùng 32 bits để đánh địa chỉ nên không gian địa chỉ IPv4 chỉ có khoản 232 địa chỉ. Với sự phát triển mạnh mẽ của Internet hiện nay, tài nguyên địa chỉ IPv4 đã gần cạn kiệt. Địa chỉ IP được chia ra thành 5 lớp A, B, C, D, E. Hiện tại đã dùng hết lớp A, B và gần hết lớp C, còn lớp D và E tổ chức Internet thế giới đang để dành cho mục đích khác và không được phân chia. Vì vậy, chỉ 3 lớp đầu tiên là A, B, C sẽ được sử dụng để nghiên cứu và sử dụng.
Bảng 1.1 Các lớp địa chỉ IPv4
1.1.3. Cấu trúc địa chỉ IPv4
Trong phiên bản 4, một địa chỉ Internet được thiết kế bao gồm 32 bits nhị phân và sử dụng các hệ số thập phân và hexa decimal để biểu diễn địa chỉ đó. Trong đó, cách biểu diễn một địa chỉ IP dưới dạng số thập phân là thông dụng nhất. Để chuyển đổi 32 bits nhị phân IPv4 sang biểu diễn dưới dạng số thập phân, 32 bits nhị phân này được chia thành 4 nhóm 8 bits, phân cách nhau bởi dấu chấm và chuyển đổi thành giá trị thập phân. Ví dụ: Địa chỉ IPv4 11001011101000100011100110110111 (32 bits) Nhóm thành: 11001011. 10100010 . 00111001. 10110111 (32 bits) Chuyển đổi thành: 203. 162 . 57 . 183 Để chuyển đổi 32 bits nhị phân IPv4 sang biểu diễn dưới dạng số hexa decimal, 32 bits nhị phân này được chia thành 8 nhóm 4 bits nhị phân và chuyển đổi sang chữ số hexa. Sau đó tiếp tục nhóm 8 chữ số hexa thành hai nhóm phân cách bởi dấu “ : ”, khi đó địa chỉ IPv4 này được biểu diễn theo dạng số hexa decimal. Ví dụ: địa chỉ IPv4 ở trên được biểu diễn ở hệ cơ số 16 11001011101000100011100110110111 (32 bits) Nhóm thành: 1100. 1011. 1010. 0010. 0011. 1001. 1011. 0111 (32 bits) Chuyển đổi thành: C.B.A.2.3.9.B.7 Nhóm thành: CAB2:39B7 Để hổ trợ cho việc định tuyến, một địa chỉ IPv4 gồm có 2 phần: phần địa chỉ mạng và phần xác định máy tính trong mạng. Phần xác định mạng: một số nhất định các bits, tính từ trái qua trong địa chỉ IPv4, dùng để xác định mạng (Network ID). Phần này còn được gọi là tiền tố mạng (network prefix) hay gọi tắt là tiền tố (prefix). Phần xác định máy tính trong mạng: số các bits còn lại trong địa chỉ sẽ được sử dụng để xác định các máy tính (Host ID) trong một mạng nhất định. Địa chỉ IPv4 được biểu diễn như sau: một mạng IPv4 gồm một dải các địa chỉ IPv4, trong đó địa chỉ đầu tiên trong dải đó sẽ kết hợp với độ dài các bits tiền tố để biểu diễn cho dải địa chỉ. Cấu trúc như sau: "Địa chỉ IPv4 đầu tiên của mạng /độ dài các bits tiền tố" Ví dụ: 192.168.1.0/24 sẽ xác định dải địa chỉ từ 192.168.1.0 ÷ 192.168.1.255.
1.1.4. Một số giải pháp khắc phục sự thiếu hụt địa chỉ IP
Để giải quyết vấn đề thiếu hụt địa chỉ IP, người ta đã sử dụng nhiều phương pháp để có thể “tạo ra” nhiều địa chỉ nhất: Subneting, VLSM, CIDR, NAT…
+ Subneting Xét một địa chỉ IP lớp B - 139.12.0.0, với subnet mask là 255.255.0.0 (có thể viết là: 139.12.0.0/16, ở đây số 16 có nghĩa là 16 bits được dùng cho NetworkID). Một Network với địa chỉ như vậy có thể chứa 65,534 host máy. Đây là một con số tương đối lớn, do đó trên mạng sẽ có nhiều miền quảng bá (broadcast traffic). Giả sử chia mạng này ra làm bốn Subnet. Công việc sẽ bao gồm ba bước: - Xác định Subnet mask mới. - Liệt kê ID của các Subnet mới. - Cho biết IP address range của các HostID trong mỗi Subnet .
Bước 1: Xác định Subnet mask mới. Để đếm cho đến 4 trong hệ thống số nhị phân (cho 4 Subnet) cần phải sử dụng 2 bits. Do đó, Subnet mask sẽ cần 16 (bits trước đây) +2 (bits mới) = 18 bits. Địa chỉ IP mới sẽ là 139.12.0.0/18 (ý nghĩa con số 18 tương tự như con số 16 trước đây). Số hosts tối đa có trong mỗi Subnet sẽ là: 2(32-n) - 2 - 2 = 214 –2 = 16,382. Và tổng số các hosts trong 4 Subnets là: 16382 * 4 = 65,528 hosts.
Bước 2: Liệt kê ID của các Subnet mới . Trong địa chỉ IP mới (139.12.0.0/18) con số 18 nói đến việc sử dụng 18 bits, đếm từ bên trái qua phải của 32 bits IP address để biểu diễn địa chỉ IP của một Subnet. Như vậy, NetworkID của bốn Subnets mới đó là:
Bước 3: Cho biết IP address range của các HostID trong mỗi Subnet. Vì Subnet ID đã dùng hết 18 bits nên số bits còn lại (32 - 18 = 14) được dùng cho HostID. Theo luật thì Subnet mask cho Host ID là tất cả mọi bits đều là bit "0" và phần NetID đều là bit "1".Trong phiên bản 4, một địa chỉ Internet được thiết kế bao gồm 32 bits nhị phân và sử dụng các hệ số thập phân và hexa decimal để biểu diễn địa chỉ đó. Trong đó, cách biểu diễn một địa chỉ IP dưới dạng số thập phân là thông dụng nhất. Để chuyển đổi 32 bits nhị phân IPv4 sang biểu diễn dưới dạng số thập phân, 32 bits nhị phân này được chia thành 4 nhóm 8 bits, phân cách nhau bởi dấu chấm và chuyển đổi thành giá trị thập phân. Ví dụ: Địa chỉ IPv4 11001011101000100011100110110111 (32 bits) Nhóm thành: 11001011. 10100010 . 00111001. 10110111 (32 bits) Chuyển đổi thành: 203. 162 . 57 . 183 Để chuyển đổi 32 bits nhị phân IPv4 sang biểu diễn dưới dạng số hexa decimal, 32 bits nhị phân này được chia thành 8 nhóm 4 bits nhị phân và chuyển đổi sang chữ số hexa. Sau đó tiếp tục nhóm 8 chữ số hexa thành hai nhóm phân cách bởi dấu “ : ”, khi đó địa chỉ IPv4 này được biểu diễn theo dạng số hexa decimal. Ví dụ: địa chỉ IPv4 ở trên được biểu diễn ở hệ cơ số 16 11001011101000100011100110110111 (32 bits) Nhóm thành: 1100. 1011. 1010. 0010. 0011. 1001. 1011. 0111 (32 bits) Chuyển đổi thành: C.B.A.2.3.9.B.7 Nhóm thành: CAB2:39B7 Để hổ trợ cho việc định tuyến, một địa chỉ IPv4 gồm có 2 phần: phần địa chỉ mạng và phần xác định máy tính trong mạng. Phần xác định mạng: một số nhất định các bits, tính từ trái qua trong địa chỉ IPv4, dùng để xác định mạng (Network ID). Phần này còn được gọi là tiền tố mạng (network prefix) hay gọi tắt là tiền tố (prefix). Phần xác định máy tính trong mạng: số các bits còn lại trong địa chỉ sẽ được sử dụng để xác định các máy tính (Host ID) trong một mạng nhất định. Địa chỉ IPv4 được biểu diễn như sau: một mạng IPv4 gồm một dải các địa chỉ IPv4, trong đó địa chỉ đầu tiên trong dải đó sẽ kết hợp với độ dài các bits tiền tố để biểu diễn cho dải địa chỉ. Cấu trúc như sau: "Địa chỉ IPv4 đầu tiên của mạng /độ dài các bits tiền tố" Ví dụ: 192.168.1.0/24 sẽ xác định dải địa chỉ từ 192.168.1.0 ÷ 192.168.1.255.
1.1.4. Một số giải pháp khắc phục sự thiếu hụt địa chỉ IP
Để giải quyết vấn đề thiếu hụt địa chỉ IP, người ta đã sử dụng nhiều phương pháp để có thể “tạo ra” nhiều địa chỉ nhất: Subneting, VLSM, CIDR, NAT…
+ Subneting Xét một địa chỉ IP lớp B - 139.12.0.0, với subnet mask là 255.255.0.0 (có thể viết là: 139.12.0.0/16, ở đây số 16 có nghĩa là 16 bits được dùng cho NetworkID). Một Network với địa chỉ như vậy có thể chứa 65,534 host máy. Đây là một con số tương đối lớn, do đó trên mạng sẽ có nhiều miền quảng bá (broadcast traffic). Giả sử chia mạng này ra làm bốn Subnet. Công việc sẽ bao gồm ba bước: - Xác định Subnet mask mới. - Liệt kê ID của các Subnet mới. - Cho biết IP address range của các HostID trong mỗi Subnet .
Bước 1: Xác định Subnet mask mới. Để đếm cho đến 4 trong hệ thống số nhị phân (cho 4 Subnet) cần phải sử dụng 2 bits. Do đó, Subnet mask sẽ cần 16 (bits trước đây) +2 (bits mới) = 18 bits. Địa chỉ IP mới sẽ là 139.12.0.0/18 (ý nghĩa con số 18 tương tự như con số 16 trước đây). Số hosts tối đa có trong mỗi Subnet sẽ là: 2(32-n) - 2 - 2 = 214 –2 = 16,382. Và tổng số các hosts trong 4 Subnets là: 16382 * 4 = 65,528 hosts.
Bước 2: Liệt kê ID của các Subnet mới . Trong địa chỉ IP mới (139.12.0.0/18) con số 18 nói đến việc sử dụng 18 bits, đếm từ bên trái qua phải của 32 bits IP address để biểu diễn địa chỉ IP của một Subnet. Như vậy, NetworkID của bốn Subnets mới đó là:
Variable Length Subnet Mask (VLSM)
VLSM (Variable Length Subnet Masking) là thực hiện nhiều hơn một mặt nạ trên cùng lớp (class) chính của một mạng. Nó cho phép sử dụng địa chỉ IP hiệu quả hơn cho máy (host) và các mạng con (subnet). Điều này là rất cần thiết trên một mạng không có không gian địa chỉ IP đủ lớn. Kỹ thuật VLSM là một dạng đặc biệt của kỹ thuật Subneting, và là kỹ thuật tiên tiến hơn. Xét một địa chỉ IP cho trước có Subnet mask là 192.168.1.0 /24.
Yêu cầu triển khai 3 network sau: HCM 100 máy, Cần Thơ 50 máy, Hà Nội 50 máy. - Trước tiên, nhận thấy sẽ có 28 = 256 host cho Subnet mask đó. Giả sử ban đầu ta chia thành 2 mạng, khi đó số host cho mỗi mạng là 256/2 (128 host - thõa mãn yêu cầu cho mạng HCM), nhưng nếu chia thành 3 mạng, khi đó số host cho mỗi mạng là 256/3 (có khoản 85 host - không phù hợp cho mạng HCM theo kỹ thuật VLSM)
- Vậy phải chia thành 2 mạng, do đó số bít mượn là 1 bit để chia subnet và giá trị netmask mới lúc này là /25 ( 255.255.255.128). 2 mạng đầu tiên là:
Net 1: 192.168.1.0 (không dùng vì đây là địa chỉ đại diện cho net 1) 192.168.1.1 192.168.1.2 ......... 192.168.1.126 192.168.1.127 (không dùng vì đây là địa chỉ broadcast của net 1)
Net 2: 192.168.1.128 (không dùng vì đây là địa chỉ đại diện cho net 2) 192.168.1.129 192.168.1.130 ......... 192.168.1.254 192.168.1.255 (không dùng vì đây là địa chỉ broadcast của net 2)
Chọn Net 1 cho mạng HCM, lúc đó một máy ở HCM sẽ có IP dạng 192.168.1.x (với giá trị x chạy từ 1 đến 126) và có netmask 255.255.255.128. Bây giờ chia Net 2 ra làm 2 bằng cách mượn thêm 1 bit nữa: /26 (255.255.255.192). Tương tự như trên, 2 mạng con mới với số host cho mỗi mạng là 26 - 2 = 62. Net 2.1: 192.168.1.128 (không dùng vì đây là địa chỉ đại diện cho net 2.1) 192.168.1.129 192.168.1.130 ......... 192.168.1.190 192.168.1.191 (không dùng vì đây là địa chỉ broadcast của net 2.1) Net 2.2: 192.168.1.192 (không dùng vì đây là địa chỉ đại diện cho net 2.2) 192.168.1.193 192.168.1.194 …....... 192.168.1.254 192.168.1.255 (không dùng vì đây là địa chỉ broadcast của net 2.2) Chọn một trong hai mạng con vừa chia để gán cho các máy tính ở Cần Thơ và các máy tính ở Hà Nội thì sử dụng dải địa chỉ còn lại. Như vậy, trong Việt Nam tại HCM giá trị netmask là /25, Cần Thơ và Hà Nội là /26.
VLSM (Variable Length Subnet Masking) là thực hiện nhiều hơn một mặt nạ trên cùng lớp (class) chính của một mạng. Nó cho phép sử dụng địa chỉ IP hiệu quả hơn cho máy (host) và các mạng con (subnet). Điều này là rất cần thiết trên một mạng không có không gian địa chỉ IP đủ lớn. Kỹ thuật VLSM là một dạng đặc biệt của kỹ thuật Subneting, và là kỹ thuật tiên tiến hơn. Xét một địa chỉ IP cho trước có Subnet mask là 192.168.1.0 /24.
Yêu cầu triển khai 3 network sau: HCM 100 máy, Cần Thơ 50 máy, Hà Nội 50 máy. - Trước tiên, nhận thấy sẽ có 28 = 256 host cho Subnet mask đó. Giả sử ban đầu ta chia thành 2 mạng, khi đó số host cho mỗi mạng là 256/2 (128 host - thõa mãn yêu cầu cho mạng HCM), nhưng nếu chia thành 3 mạng, khi đó số host cho mỗi mạng là 256/3 (có khoản 85 host - không phù hợp cho mạng HCM theo kỹ thuật VLSM)
- Vậy phải chia thành 2 mạng, do đó số bít mượn là 1 bit để chia subnet và giá trị netmask mới lúc này là /25 ( 255.255.255.128). 2 mạng đầu tiên là:
Net 1: 192.168.1.0 (không dùng vì đây là địa chỉ đại diện cho net 1) 192.168.1.1 192.168.1.2 ......... 192.168.1.126 192.168.1.127 (không dùng vì đây là địa chỉ broadcast của net 1)
Net 2: 192.168.1.128 (không dùng vì đây là địa chỉ đại diện cho net 2) 192.168.1.129 192.168.1.130 ......... 192.168.1.254 192.168.1.255 (không dùng vì đây là địa chỉ broadcast của net 2)
Chọn Net 1 cho mạng HCM, lúc đó một máy ở HCM sẽ có IP dạng 192.168.1.x (với giá trị x chạy từ 1 đến 126) và có netmask 255.255.255.128. Bây giờ chia Net 2 ra làm 2 bằng cách mượn thêm 1 bit nữa: /26 (255.255.255.192). Tương tự như trên, 2 mạng con mới với số host cho mỗi mạng là 26 - 2 = 62. Net 2.1: 192.168.1.128 (không dùng vì đây là địa chỉ đại diện cho net 2.1) 192.168.1.129 192.168.1.130 ......... 192.168.1.190 192.168.1.191 (không dùng vì đây là địa chỉ broadcast của net 2.1) Net 2.2: 192.168.1.192 (không dùng vì đây là địa chỉ đại diện cho net 2.2) 192.168.1.193 192.168.1.194 …....... 192.168.1.254 192.168.1.255 (không dùng vì đây là địa chỉ broadcast của net 2.2) Chọn một trong hai mạng con vừa chia để gán cho các máy tính ở Cần Thơ và các máy tính ở Hà Nội thì sử dụng dải địa chỉ còn lại. Như vậy, trong Việt Nam tại HCM giá trị netmask là /25, Cần Thơ và Hà Nội là /26.
Comment