Danh mục sản phẩm
Bài 11: Địa chỉ IPv6 — Cấu trúc, cách rút gọn, các loại địa chỉ
💡 Liên hệ thực tế
Việt Nam từng dùng hệ thống số điện thoại 7 số, rồi 8 số, rồi 10 số — mỗi lần dân số và số lượng thuê bao tăng lên, hệ thống cũ không đủ chỗ chứa, buộc phải mở rộng số chữ số. Địa chỉ IPv4 (32-bit, khoảng 4.3 tỷ địa chỉ) đang gặp đúng vấn đề đó: với hàng chục tỷ thiết bị IoT, điện thoại, laptop trên toàn cầu, 4.3 tỷ địa chỉ đã cạn kiệt từ lâu.
🌐 Giải pháp: IPv6 — hệ thống địa chỉ mới với 128-bit, cho ra một con số khổng lồ tới mức đủ cấp cho mỗi hạt cát trên Trái Đất một địa chỉ riêng mà vẫn còn dư. Anh Nam bên VNExperts hiện đã bắt đầu tư vấn triển khai IPv6 song song IPv4 (gọi là "dual-stack") cho nhiều khách hàng doanh nghiệp, chuẩn bị cho tương lai gần khi IPv4 không còn đủ dùng.
📘 Kiến thức cốt lõi
Cấu trúc địa chỉ IPv6: gồm 128 bit, chia thành 8 nhóm, mỗi nhóm 16-bit, viết dưới dạng số thập lục phân (hexadecimal), cách nhau bởi dấu hai chấm :.
Ví dụ đầy đủ: 2001:0db8:0000:0000:0000:ff00:0042:8329
So với IPv4 (192.168.1.10 — 4 nhóm, dạng thập phân), IPv6 dài hơn hẳn — nhưng có 2 quy tắc rút gọn giúp viết ngắn lại rất nhiều:
📐 Quy tắc rút gọn 1 — Bỏ số 0 dẫn đầu trong mỗi nhóm: 0db8 → db8 | 0000 → 0 | 0042 → 42
📐 Quy tắc rút gọn 2 — Thay 1 dãy nhóm toàn số 0 liên tiếp bằng dấu :: (chỉ được dùng 1 lần duy nhất trong 1 địa chỉ):
Trước rút gọn: 2001:0db8:0000:0000:0000:ff00:0042:8329 Sau quy tắc 1: 2001:db8:0:0:0:ff00:42:8329 Sau quy tắc 2: 2001:db8::ff00:42:8329
⚠️ Lỗi thường gặp nhất: dùng
::hai lần trong cùng 1 địa chỉ. Ví dụ2001::db8::42là sai — vì máy tính không biết mỗi cụm::đại diện cho bao nhiêu nhóm số 0, gây ra địa chỉ mơ hồ, không xác định được.
🏷️ 3 loại địa chỉ IPv6 chính (thay thế khái niệm Broadcast của IPv4):
| Loại | Ý nghĩa | Ghi chú |
|---|---|---|
| Unicast | Gửi đến 1 thiết bị cụ thể | Tương đương IP thường của IPv4 |
| Multicast | Gửi đến 1 nhóm thiết bị đã đăng ký nhận | Giống Class D của IPv4 |
| Anycast | Gửi đến thiết bị gần nhất trong nhóm nhiều thiết bị giống nhau | Không tồn tại khái niệm tương đương ở IPv4 |
🌍 Ví dụ thực tế dễ hình dung nhất về Anycast: hệ thống DNS toàn cầu và CDN (Cloudflare, Google DNS). Google DNS (8.8.8.8) có hàng trăm server đặt rải rác khắp thế giới, nhưng tất cả dùng chung 1 địa chỉ IP duy nhất. Khi bạn ở Việt Nam gõ 8.8.8.8, yêu cầu của bạn tự động được định tuyến đến server Google gần Việt Nam nhất (có thể ở Singapore hoặc Hong Kong) — trong khi người dùng ở Mỹ gõ cùng địa chỉ đó lại được dẫn đến server ở Mỹ. Đây chính là Anycast: cùng 1 địa chỉ, nhưng "ai gần thì người đó phục vụ" — giúp giảm độ trễ và phân tải rất hiệu quả trên quy mô toàn cầu.
💬 Mẹo phân biệt nhanh: Unicast = "gọi đích danh 1 người". Multicast = "gọi cả nhóm đã đăng ký". Anycast = "gọi vào tổng đài, ai gần nhất bắt máy".
💡 IPv6 không có địa chỉ Broadcast — đây là điểm khác biệt lớn so với IPv4. Multicast đã đảm nhiệm tốt vai trò "gửi cho nhiều máy cùng lúc" mà không cần "hét cho tất cả" như Broadcast, giúp mạng hiệu quả hơn.
📏 Một điều cần lưu ý: IPv6 cũng dùng ký hiệu /số giống CIDR ở IPv4 — nhưng số này đếm trên 128-bit chứ không phải 32-bit. Ví dụ fe80::/10 nghĩa là: 10 bit đầu tiên của địa chỉ được cố định là 1111111010 (dạng nhị phân), dùng để nhận diện đây là một địa chỉ Link-Local — 118 bit còn lại có thể thay đổi tùy theo thiết bị. Cách hiểu hoàn toàn giống ký hiệu /24 bạn đã học ở IPv4 (Bài 8), chỉ khác ở chỗ đây là một dải/phạm vi địa chỉ (network prefix) được IANA quy định sẵn cho từng mục đích, chứ không phải subnet mask do bạn tự chia.
🔒 Địa chỉ IPv6 đặc biệt cần nhớ:
| Địa chỉ | Ý nghĩa |
|---|---|
::1 |
Loopback — tương đương 127.0.0.1 của IPv4 |
fe80::/10 |
Link-Local — tự động sinh ra trên mọi interface, chỉ dùng trong mạng cục bộ |
:: |
Địa chỉ "không xác định", tương đương 0.0.0.0 của IPv4 |
🖼️ Sơ đồ trực quan
💬 Hỏi & Đáp nhanh
❓ Vì sao dấu :: chỉ được dùng 1 lần trong 1 địa chỉ, không được dùng nhiều lần? ✅ Vì nếu dùng 2 lần, máy tính không thể xác định chính xác mỗi cụm :: đại diện cho bao nhiêu nhóm số 0 — gây ra địa chỉ mơ hồ, không giải mã lại được chính xác 128-bit ban đầu. Quy tắc chỉ cho phép 1 lần để đảm bảo mỗi địa chỉ rút gọn luôn có duy nhất 1 cách hiểu.
❓ IPv6 có thay thế hoàn toàn IPv4 ngay lập tức không? ❌ Không — quá trình chuyển đổi diễn ra dần dần qua nhiều năm. Hiện tại phần lớn mạng doanh nghiệp và ISP đang chạy dual-stack (chạy song song cả IPv4 và IPv6) để đảm bảo tương thích ngược, trong lúc chờ hệ sinh thái IPv6 hoàn thiện hơn.
❓ Vì sao fe80::/10 lại có /10 — con số này có liên quan gì đến subnet mask không? ✅ Có liên quan về mặt ký hiệu nhưng khác về bản chất sử dụng: /10 vẫn đếm số bit cố định giống CIDR, nhưng ở đây fe80::/10 là dải địa chỉ được quy định sẵn để nhận diện loại Link-Local (giống như biển số xe được cấp theo tỉnh — 10 bit đầu là "mã tỉnh" cố định, phần còn lại mỗi xe mỗi khác). Khi bạn tự subnetting IPv6 để chia mạng nội bộ, con số sau dấu / mới là subnet mask do bạn tự quyết định — bài học IPv6 Subnetting tiếp theo sẽ đi sâu vào việc này.
❓ Địa chỉ Link-Local (fe80::/10) dùng để làm gì trong thực tế? ✅ Mỗi khi một interface được bật lên (dù chưa cấu hình IPv6 thủ công), nó tự động sinh ra một địa chỉ Link-Local để giao tiếp với các thiết bị khác trong cùng mạng cục bộ — ví dụ dùng trong các giao thức định tuyến IPv6 (OSPFv3) để trao đổi thông tin giữa các router lân cận mà không cần cấu hình IP thủ công.
📝 Bài tập đánh giá
Câu 1: Địa chỉ IPv6 2001:0db8:0000:0000:0000:0000:0000:0001 sau khi rút gọn đúng quy tắc sẽ là gì?
- A. 2001:db8::1
- B. 2001::db8::1
- C. 2001:0db8:0:1
- D. 2001-db8-1
Câu 2: Loại địa chỉ IPv6 nào dùng để gửi dữ liệu đến thiết bị gần nhất trong một nhóm các thiết bị giống nhau?
- A. Unicast
- B. Multicast
- C. Anycast
- D. Broadcast
👉 Đáp án:
Câu 1: A — Bỏ số 0 dẫn đầu và thay dãy nhóm toàn số 0 liên tiếp (6 nhóm 0000) bằng :: một lần duy nhất, kết quả là 2001:db8::1.
Câu 2: C — Anycast gửi đến thiết bị gần nhất trong nhóm nhiều thiết bị giống nhau — đây là loại địa chỉ mới, không có khái niệm tương đương ở IPv4.
📚 Bài viết thuộc khóa học CCNA miễn phí của VNExperts
🧭 Điều hướng
| ⬅️ Bài trước | 🏠 Mục lục khóa học | Bài kế tiếp ➡️ |
|---|---|---|
| Bài 10: VLSM | Mục lục khóa học CCNA | Bài 12: IPv6 Subnetting cơ bản |
