Địa chỉ IPv6

Một **địa chỉ giao thức liên mạng phiên bản 6** (**địa chỉ IPv6**) là một nhãn hiệu bằng số được sử dụng để xác định một giao diện mạng của một máy tính hoặc một nút mạng khác tham gia vào mạng máy tính IPv6.

Một địa chỉ IP phục vụ mục đích xác định duy nhất của một giao diện mạng của một host, định vị nó trên mạng, và do đó cho phép định tuyến các gói IP giữa các host. Về việc định tuyến, địa chỉ IP hiện diện trong các trường của header gói tin nơi chúng chỉ định nguồn và đích của gói tin.

IPv6 là phiên bản kế thừa cho cơ sở hạ tầng địa chỉ đầu tiên của Internet, giao thức Internet phiên bản 4 (IPv4). Trái ngược với IPv4, mà định nghĩa một địa chỉ IP như một giá trị 32-bit, địa chỉ IPv6 có kích thước 128 bit. Do đó, IPv6 có một không gian địa chỉ bao la to lớn so với IPv4.

## Phương pháp định địa chỉ
Các địa chỉ IPv6 được phân loại theo các phương pháp định địa chỉ và định tuyến chính phổ biến trong mạng: địa chỉ unicast, địa chỉ anycast, và địa chỉ multicast.
* Một địa chỉ unicast xác định một giao diện mạng duy nhất. Giao thức Internet cung cấp các gói tin được gửi tới một địa chỉ unicast tới giao diện cụ thể đó.
* Một địa chỉ anycast được gán cho một nhóm các giao diện, thường thuộc các nút khác nhau. Một gói tin được gửi đến một địa chỉ anycast được phân phối đến một trong các giao diện thành viên, điển hình là host gần nhất, theo định nghĩa khoảng cách của giao thức định tuyến. Địa chỉ anycast không thể được nhận diện một cách dễ dàng, chúng có cùng định dạng với các địa chỉ unicast, và chỉ khác nhau bởi sự hiện diện của chúng trong mạng tại nhiều điểm. Hầu như bất kỳ địa chỉ unicast nào đều có thể được sử dụng làm địa chỉ anycast.
* Một địa chỉ multicast cũng được sử dụng bởi nhiều host, có được địa chỉ đích multicast bằng cách tham gia vào giao thức phân phối multicast giữa các bộ định tuyến mạng. Một gói tin được gửi tới một địa chỉ multicast được gửi tới tất cả các giao diện đã tham gia nhóm multicast tương ứng.

IPv6 không thực hiện địa chỉ broadcast. Vai trò truyền thống của broadcast được gộp vào địa chỉ multicast gởi đến nhóm mọi nút link-local multicast ff02:: 1. Tuy nhiên, việc sử dụng nhóm mọi nút (all-nodes) không được khuyến khích, và hầu hết các giao thức IPv6 sử dụng một nhóm multicast liên kết cục bộ dành riêng để tránh làm phiền mọi giao diện trong mạng.

### Tiền tố của địa chỉ IPv6
Địa chỉ IPv6 có nhiều loại khác nhau. Mỗi loại địa chỉ có chức năng nhất định trong phục vụ giao tiếp. Để phân loại địa chỉ, một số bít đầu trong địa chỉ IPv6 (phần nằm về phía trái nhất của một địa chỉ IPv6) được dành riêng để xác định dạng địa chỉ, được gọi là các bít tiền tố (prefix). Các bít tiền tố này sẽ quyết định địa chỉ thuộc loại nào và số lượng địa chỉ đó trong không gian chung IPv6. chúng được dùng để định tuyến gói tin IPv6.

Ví dụ: 8 bít tiền tố "1111 1111" tức "FF" xác định dạng địa chỉ multicast. Địa chỉ multicast chiếm 1/256 không gian địa chỉ IPv6. Ba bít tiền tố "001" xác định dạng địa chỉ unicast định danh toàn cầu, tương đương với địa chỉ IPv4 public được sử dụng hiện nay.

Tiền tố địa chỉ IPv6 có dạng như sau: vùng địa chỉ tiền tố/ số bít tiền tố

Tiền tố của một site chiếm tới 48 bit đầu của một địa chỉ IPv6. Tiền tố của một mạng con (subnet) một site (được dùng để xác định tô pô nội bộ của một mạng đối với một bộ định tuyến) là 64 bit. Chúng bao gồm 48 bit cho tiền tố của một site và 16 bit cho subnet ID.

### Địa chỉ Unicast
Địa chỉ unicast xác định một giao diện duy nhất. Trong mô hình định tuyến, các gói tin có địa chỉ đích là địa chỉ unicast chỉ được gửi tới một giao diện duy nhất. Địa chỉ unicast được sử dụng trong giao tiếp một – một.

Địa chỉ unicast bao gồm năm dạng sau đây:

1) Địa chỉ đặc biệt

2) Địa chỉ Link-local

3) Địa chỉ Site-local

4) Địa chỉ định danh toàn cầu (Global unicast address)

5) Địa chỉ tương thích (Compatibility address)

#### Địa chỉ đặc biệt
IPv6 sử dụng hai địa chỉ đặc biệt sau đây trong giao tiếp:
* 0:0:0:0:0:0:0:0 hay còn được viết "::" là loại địa chỉ "không định danh" được IPv6 node sử dụng để thể hiện rằng hiện tại nó không có địa chỉ. Địa chỉ "::" được sử dụng làm địa chỉ nguồn cho các gói tin trong quy trình hoạt động của một node IPv6 khi tiến hành kiểm tra xem có một node nào khác trên cùng đường kết nối đã sử dụng địa chỉ IPv6 mà nó đang dự định dùng hay chưa. Địa chỉ này không bao giờ được gắn cho một giao diện hoặc được sử dụng làm địa chỉ đích.
* 0:0:0:0:0:0:0:1 hay "::1" được sử dụng làm địa chỉ xác định giao diện loopback, cho phép một node gửi gói tin cho chính nó, tương đương với địa chỉ 127.0.0.1 của IPv4. Các gói tin có địa chỉ đích::1 không bao giờ được gửi trên đường kết nối hay chuyển tiếp đi bởi router. Phạm vi của dạng địa chỉ này là phạm vi node.

#### Địa chỉ link-local
Khái niệm node lân cận (neighbor node) trong hoạt động của địa chỉ IPv6:
Trong IPv6, các node trên cùng một đường link coi nhau là các node lân cận (neighbor node). Trong mô hình hoạt động của IPv6, giao tiếp giữa các node lân cận trên một đường kết nối là vô cùng quan trọng. IPv6 phát triển một giao thức mới, giao thức Neighbor Discovery (ND) là một giao thức thiết yếu, phục vụ giao tiếp giữa các node lân cận. Địa chỉ link-local cần thiết cho các quy trình mà giao thức ND phụ trách.

Link-local là loại địa chỉ phục vụ cho giao tiếp nội bộ, giữa các IPv6 node trên cùng một đường kết nối. IPv6 được thiết kế với tính năng "plug-and-play", tức khả năng cho phép IPv6 host tự động cấu hình địa chỉ, các tham số phục vụ giao tiếp bắt đầu từ chưa có thông tin cấu hình nào. Tính năng đó có được là nhờ IPv6 node luôn luôn có khả năng tự động cấu hình nên một dạng địa chỉ sử dụng giao tiếp nội bộ. Đó chính là địa chỉ link-local.
Địa chỉ link-local luôn được node IPv6 cấu hình một cách tự động, khi bắt đầu hoạt động, ngay cả khi không có sự tồn tại của mọi loại địa chỉ unicast khác. Địa chỉ này có phạm vi trên một đường link, phục vụ cho giao tiếp giữa các node lân cận. Sở dĩ IPv6 node có thể tự động cấu hình địa chỉ link-local là do IPv6 node có thể tự động cấu hình 64 bít định danh giao diện 14. Địa chỉ link-local được tạo nên từ 64 bít định danh giao diện Iinterface và một tiền tố (prefix) quy định sẵn cho địa chỉ link-local là FE80::/10.

Cấu trúc của địa chỉ link-local

Một địa chỉ link-local cũng dựa vào interface identifier (định danh giao diện), nhưng dùng một dạng khác cho tiền tố mạng (network prefix).
:
Địa chỉ link-local bắt đầu bởi 10 bít tiền tố FE80::/10 (giá trị nhị phân 1111 1110 10), theo sau bởi 54 bit 0. 64 bít còn lại là định danh giao diện (Interface ID).

#### Địa chỉ site-local
Địa chỉ IPv6 Site-local được thiết kế với mục đích sử dụng trong phạm vi một mạng, tương đương với địa chỉ dùng riêng (private) của IPv4. Phạm vi tính duy nhất của dạng địa chỉ này là phạm vi trong một mạng dùng riêng (ví dụ một mạng office, một tổ hợp mạng office của một tổ chức...). Các router IPv6 không chuyển tiếp gói tin có địa chỉ site-local ra khỏi phạm vi mạng riêng của tổ chức. Do vậy, một vùng địa chỉ site-local có thể được dùng trùng lặp bởi nhiều tổ chức mà không gây xung đột định tuyến IPv6 toàn cầu. Địa chỉ site-local trong một mạng dùng riêng không thể truy cập được từ một site khác.
Địa chỉ Site-local có tiền tố FEC0::/10 và có cấu trúc như sau:
:
Trường prefix có giá trị nhị phân 1111 1110 11.

Địa chỉ Site-local do không cần thiết, vì vậy, IETF đã sửa đổi RFC3513, loại bỏ đi dạng địa chỉ này.

#### Địa chỉ unicast toàn cầu (Global unicast address)
Đây là dạng địa chỉ tương đương với địa chỉ IPv4 public hiện nay sử dụng cho mạng Internet toàn cầu. Tính duy nhất của dạng địa chỉ này được đảm bảo trong phạm vi toàn cầu. Chúng được định tuyến và có thể liên kết tới trên phạm vi toàn bộ mạng Internet. Việc phân bổ và cấp phát dạng địa chỉ này do hệ thống các tổ chức quản lý địa chỉ quốc tế đảm nhiệm.
Địa chỉ unicast toàn cầu có tiền tố prefix bao gồm ba bít 001::/3. Như vậy, tiền tố địa chỉ toàn cầu IPv6 address is 2000::/3 vì 0010000000000000 (nhị phân) là 2000 theo số hex (hexadecimal).

Phạm vi tính duy nhất của địa chỉ unicast toàn cầu là toàn bộ mạng Internet IPv6.
:
Cấu trúc của địa chỉ unicast toàn cầu được mô tả trong RFC 4291.

## Chú thích

## Liên kết ngoài
*IP Version 6 multicast addresses
* 
*  This humorous RFC specifies an alternative way of representing IPv6 addresses, using a base-85 encoding.