Hướng dẫn chuyển IPv4 sang IPv6 và ngược lại

Hướng dẫn chuyển IPv4 sang IPv6 và ngược lại

IPv4 và IPv6 là hai phiên bản giao thức Internet được sử dụng để định danh các thiết bị trên mạng. IPv4 sử dụng địa chỉ 32 bit, thường được viết dưới dạng bốn nhóm số thập phân, trong khi IPv6 sử dụng địa chỉ 128 bit và được biểu diễn bằng các nhóm số hệ thập lục phân.

Trong một số trường hợp, địa chỉ IPv4 có thể được biểu diễn dưới dạng IPv4-mapped IPv6. Đây là một định dạng IPv6 đặc biệt dùng để biểu diễn địa chỉ IPv4 trong không gian địa chỉ IPv6.

Trong bài viết này, chúng ta sẽ tìm hiểu cách tính địa chỉ IPv4-mapped IPv6 và cách chuyển ngược về IPv4 thông qua ví dụ cụ thể với địa chỉ 103.173.66.99.

Lưu ý: Đây là cách biểu diễn IPv4 bằng định dạng IPv4-mapped IPv6, không phải phương pháp chuyển đổi mọi địa chỉ IPv4 thành một địa chỉ IPv6 có thể định tuyến trực tiếp trên Internet.

1. Phân biệt địa chỉ IPv4 và IPv6

Trước khi thực hiện chuyển đổi, bạn cần hiểu sự khác nhau giữa hai loại địa chỉ IP này.

Địa chỉ IPv4

IPv4 sử dụng 32 bit, được chia thành bốn nhóm 8 bit. Mỗi nhóm được biểu diễn bằng một số thập phân từ 0 đến 255 và ngăn cách bằng dấu chấm.

Ví dụ:

103.173.66.99

Địa chỉ IPv6

IPv6 sử dụng 128 bit, thường được viết thành tám nhóm số hệ thập lục phân, mỗi nhóm gồm tối đa bốn ký tự và được ngăn cách bằng dấu hai chấm.

Ví dụ:

2001:db8:1234:5678:0000:0000:0000:0001

Địa chỉ IPv6 có thể được rút gọn bằng cách bỏ các số 0 ở đầu mỗi nhóm và thay một chuỗi nhóm 0 liên tiếp bằng :: theo quy tắc của IPv6.

IPv4-mapped IPv6 là gì?

IPv4-mapped IPv6 là một dạng địa chỉ IPv6 đặc biệt dùng để biểu diễn địa chỉ IPv4. Cấu trúc của định dạng này gồm:

  • 80 bit đầu tiên là các bit 0.
  • 16 bit tiếp theo có giá trị FFFF.
  • 32 bit cuối cùng chứa địa chỉ IPv4.

Ví dụ, địa chỉ IPv4 103.173.66.99 có thể được biểu diễn dưới dạng IPv4-mapped IPv6 như sau:

  • Dạng đầy đủ: 0000:0000:0000:0000:0000:FFFF:67AD:4263
  • Dạng rút gọn: ::ffff:67ad:4263
  • Dạng kết hợp với IPv4: ::ffff:103.173.66.99

2. Hướng dẫn chuyển IPv4 sang IPv6

Để minh họa cách chuyển IPv4 sang định dạng IPv4-mapped IPv6, chúng ta sử dụng địa chỉ:

103.173.66.99

Bước 1: Tách địa chỉ IPv4 thành bốn nhóm

Địa chỉ IPv4 gồm bốn nhóm số:

  • Nhóm 1: 103
  • Nhóm 2: 173
  • Nhóm 3: 66
  • Nhóm 4: 99

Mỗi nhóm tương ứng với 8 bit. Cần chuyển từng nhóm từ hệ thập phân sang hệ thập lục phân (HEX).

Bước 2: Chuyển từng nhóm sang hệ HEX

Có thể chuyển mỗi nhóm bằng cách chia số thập phân cho 16, lấy thương và số dư để xác định hai chữ số HEX.

Nhóm 1: 103

  • 103 chia 16 được 6, dư 7.
  • Số 6 tương ứng với chữ số HEX 6, số 7 tương ứng với 7.

Kết quả: 67

Nhóm 2: 173

  • 173 chia 16 được 10, dư 13.
  • Trong hệ HEX, 10 tương ứng với A, 13 tương ứng với D.

Kết quả: AD

Nhóm 3: 66

  • 66 chia 16 được 4, dư 2.

Kết quả: 42

Nhóm 4: 99

  • 99 chia 16 được 6, dư 3.

Kết quả: 63

Sau khi chuyển đổi, ta có bảng kết quả:

Nhóm IPv4 Giá trị thập phân Giá trị HEX
Nhóm 1 103 67
Nhóm 2 173 AD
Nhóm 3 66 42
Nhóm 4 99 63

Ghép hai nhóm HEX liền kề thành từng nhóm 16 bit:

  • 67 và AD → 67AD
  • 42 và 63 → 4263

Vì vậy, 32 bit của địa chỉ IPv4 được biểu diễn bằng hai nhóm HEX:

67AD:4263

Bước 3: Ghép thành địa chỉ IPv4-mapped IPv6

Theo cấu trúc IPv4-mapped IPv6, thêm 80 bit 0 và nhóm FFFF phía trước 32 bit của địa chỉ IPv4.

Dạng đầy đủ:

0000:0000:0000:0000:0000:FFFF:67AD:4263

Dạng rút gọn:

::ffff:67ad:4263

Bạn cũng có thể sử dụng dạng kết hợp với địa chỉ IPv4 ban đầu:

::ffff:103.173.66.99

Như vậy, địa chỉ IPv4 103.173.66.99 đã được biểu diễn dưới dạng IPv4-mapped IPv6.

Lưu ý: Định dạng này phục vụ mục đích biểu diễn địa chỉ IPv4 trong một số ngữ cảnh IPv6. Nó không có nghĩa địa chỉ IPv4 ban đầu đã được chuyển thành một địa chỉ IPv6 thông thường có thể sử dụng độc lập trên Internet.

3. Hướng dẫn chuyển IPv4-mapped IPv6 ngược về IPv4

Để chuyển ngược, bạn cần xác định địa chỉ đang sử dụng đúng định dạng IPv4-mapped IPv6. Không phải địa chỉ IPv6 nào cũng có thể chuyển ngược thành một địa chỉ IPv4 duy nhất.

Sử dụng địa chỉ ví dụ:

::ffff:67ad:4263

Bước 1: Xác định phần địa chỉ IPv4

Trong định dạng IPv4-mapped IPv6, 80 bit đầu tiên là các bit 0 và 16 bit tiếp theo có giá trị FFFF. Hai nhóm HEX cuối cùng chứa 32 bit của địa chỉ IPv4.

Với địa chỉ:

::ffff:67ad:4263

Hai nhóm cần chuyển đổi là:

  • 67AD
  • 4263

Tách chúng thành bốn cặp HEX:

  • 67 → 103
  • AD → 173
  • 42 → 66
  • 63 → 99

Bước 2: Chuyển từng cặp HEX sang số thập phân

Cách tính cụ thể:

  • 67 = 6 × 16 + 7 = 103
  • AD = 10 × 16 + 13 = 173
  • 42 = 4 × 16 + 2 = 66
  • 63 = 6 × 16 + 3 = 99

Trong đó, các chữ cái HEX có giá trị lần lượt là A = 10, B = 11, C = 12, D = 13, E = 14 và F = 15.

Bước 3: Ghép thành địa chỉ IPv4

Ghép bốn giá trị thập phân theo đúng thứ tự:

103.173.66.99

Như vậy, địa chỉ IPv4-mapped IPv6 ::ffff:67ad:4263 tương ứng với địa chỉ IPv4 103.173.66.99.

4. Một số lưu ý khi chuyển đổi IPv4 và IPv6

  • Không phải mọi địa chỉ IPv6 đều chuyển ngược được thành IPv4. Cách chuyển ngược trong bài viết chỉ áp dụng khi địa chỉ có cấu trúc IPv4-mapped IPv6.
  • IPv4-mapped IPv6 không đồng nghĩa với việc chuyển đổi hạ tầng mạng. Việc biểu diễn địa chỉ theo định dạng này không tự động giúp thiết bị IPv4 giao tiếp với thiết bị IPv6.
  • Không nhầm với các cơ chế chuyển đổi IPv4/IPv6 khác. Những cơ chế như NAT64 có mục đích và cách hoạt động riêng, không đơn giản chỉ là đổi các nhóm số của địa chỉ IP.
  • Nên dùng chữ thường khi viết địa chỉ IPv6. Ví dụ ::ffff:67ad:4263 là cách viết phù hợp với quy tắc trình bày IPv6 được khuyến nghị.
  • Kiểm tra mục đích sử dụng trước khi chuyển đổi. Nếu cần cấu hình DNS, máy chủ, firewall hoặc kết nối mạng IPv6, bạn cần xác định chính xác yêu cầu thay vì chỉ chuyển đổi cách biểu diễn địa chỉ.

5. Kết luận

Với địa chỉ IPv4 103.173.66.99, ta có thể chuyển từng nhóm số sang HEX để thu được 67AD:4263, sau đó ghép với tiền tố IPv4-mapped IPv6 để tạo thành:

::ffff:67ad:4263

Khi chuyển ngược, tách hai nhóm cuối thành bốn cặp HEX, đổi sang hệ thập phân và ghép lại để thu được địa chỉ ban đầu:

103.173.66.99

Cần nhớ rằng đây là phương pháp biểu diễn IPv4 dưới dạng IPv4-mapped IPv6. Nếu mục tiêu là triển khai IPv6 thực tế cho máy chủ hoặc hệ thống mạng, bạn cần sử dụng địa chỉ IPv6 được cấp và cấu hình theo yêu cầu của hệ thống.