Giao thức IPv6 được thiết kế theo hướng tăng cường sự giao tiếp nội bộ giữa các trạm (node) trong một đường kết nối (được gọi là phạm vi link) và nâng cao vai trò của bộ định tuyến (router) trong việc quảng bá thông tin, giao tiếp tới các trạm trong đường kết nối. Quá trình các trạm trên một đường kết nối giao tiếp với nhau và giao tiếp với bộ định tuyến mang lại khả năng tự động cấu hình không cần sự hỗ trợ nhân công và máy chủ DHCPv6 của IPv6. So với IPv4, IPv6 bổ sung hai khái niệm:
- Địa chỉ Link-local
- Thủ tục ND (Neighbor Discovery)
2.2.3.1. Địa chỉ Link-local
Là địa chỉ luôn do thiết bị tự động tạo ra khi khởi động, dùng để giao tiếp trong phạm vi một đường kết nối, trong các quy trình và thủ tục cơ bản của IPv6. Link- local phục vụ cho giao tiếp nội bộ, giữa các trạm IPv6 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ờ trạm IPv6 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 trạm 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ỉ khác .
Địa chỉ này có phạm vi trên một đường kết nối, phục vụ cho giao tiếp giữa các trạm lân cận. Sở dĩ trạm IPv6 có thể tự động cấu hình địa chỉ link-local là do trạm IPv6 có thể tự động cấu hình 64 bít định danh giao diện. Địa chỉ link-local
được tạo nên từ 64 bít định danh giao diện (Interface ID) và một tiền tố quy định sẵn cho địa chỉ link-local là FE80::/10.
Cấu trúc của địa chỉ link-local như sau.
Hình 2.7: Cấu trúc địa chỉ link-local
Địa chỉ link-local bắt đầu bởi 10 bít tiền tố FE80::/10, theo sau bởi 54 bit 0. 64 bít còn lại là định danh giao diện (Interface ID).
2.2.3.2. Thủ tục Neighbor Discovery
Neighbor Discovery - ND là một thủ tục được phát triển mới trong phiên bản IPv6. ND hoạt động trên nền 5 thông điệp ICMPv6 và phụ trách các quy trình
giao tiếp giữa các trạm IPv6 trên cùng một đường kết nối. Những quy trình hoạt
động giao tiếp này (giữa host với host, giữa host với router) là thiết yếu đối với hoạt động của thế hệ địa chỉ IPv6. ND sử dụng ICMPv6 để đảm nhiệm những chức năng phân giải địa chỉ, tìm kiếm bộ định tuyến, Lái (Redirect), đồng thời cũng cung cấp nhiều chức năng khác nữa.
Khi một trạm IPv6 khởi tạo, để có thể tiến hành giao tiếp, trạm cần biết một số điểm:
- Địa chỉ của trạm
- Thông tin về prefix của chính nó để trạm biết được cách thức gửi gói tin tới những trạm khác thuộc những prefix khác.
- Biết được bộ định tuyến trên đường kết nối
- Quyết định được đích tiếp theo (next hop) trong đường dẫn tới một đích.
- Cần phân giải để nhận được địa chỉ lớp hai (link-layer) từ một địa chỉ lớp ba (network-layer) đã biết.
- Cần biết nó có thể gửi gói tin có độ lớn bao nhiêu.
Đồng thời, để giao tiếp tiến hành được suôn sẻ, trạm cũng cần:
- Biết được về những trạm lân cận trên cùng đường kết nối.
- Có khả năng dò kiểm tra được tình trạng trạm lân cận không còn kết nối tới được, để nó không gửi gói tin tới trạm đó nữa.
- Biết được địa chỉ nó đang định dùng liệu có bị một trạm khác sử dụng rồi hay không.
- Có khả năng lái (redirect) gói tin tới một trạm chuyển tiếp khác tốt hơn (nếu có)
Tất cả những điều trên sẽ thực hiện được bằng những quy trình hoạt động mà thủ
tục Neighbor Discovery phụ trách. Nhờ những quy trình giao tiếp giữa host với host, host với router trên cùng đường kết nối, trạm IPv6 có khả năng tự động cấu hình địa chỉ và những tham số hoạt động khác mà không cần có sự hiện diện của máy chủ DHCP.
Trên một đường kết nối, trạm (host và router) sẽ sử dụng ND để:
Thực hiện phân giải địa chỉ lớp link-layer của một trạm lân cận từ địa chỉ
IPv6.
Quyết định xem trạm lân cận có còn kết nối tới được hay không. Host sẽ sử dụng ND để:
Tìm kiếm bộ định tuyến trên đường kết nối.
Tìm kiếm thông tin về địa chỉ, prefix địa chỉ của đường kết nối và những thông tin cấu hình khác phục vụ cho việc cấu hình địa chỉ và hoạt động của host.
Bộ định tuyến sẽ sử dụng ND để:
Quảng bá sự hiện diện của mình, quảng bá những thông tin cấu hình cần thiết cho host, quảng bá prefix địa chỉ của đường kết nối.
Thông báo cho host về địa chỉ next-hop tốt hơn để có thể chuyển tiếp gói tin đến một đích nhất định.
Năm thông điệp ICMPv6 được sử dụng cho thủ tục ND bao gồm:
Thông điệp Quảng bá của bộ định tuyến (Router Advertisement-RA): Thông điệp này được gửi bởi bộ định tuyến IPv6 để quảng bá về sự hiện diện của mình và gửi các thông số phục vụ cho kết nối tới các trạm trên
đường kết nối: bao gồm: prefix của đường kết nối, phương thức cấu hình
địa chỉ trên đường kết nối (dùng DHCP hay không trạng thái), các tham số
cho kết nối như MTU… RA được bộ định tuyến gửi định kỳ trên đường kết nối hoặc phúc đáp khi nhận được truy vấn thông tin của trạm. Nhờ
thông điệp quảng bá của bộ định tuyến, các trạm trên đường kết nối biết
được prefix của đường kết nối, bộ định tuyến mặc định, các tham số khác phục vụ cho giao tiếp.
Thông điệp Truy vấn bộ định tuyến (Router Solicitation-RS) : IPv6 host truyền gói tin Truy vấn bộ định tuyến tới mọi bộ định tuyến trên đường kết nối để nhắc bộ định tuyến trên cùng đường kết nối lập tức tạo thông điệp RA gửi thông tin cho host. Do quá trình tự động cấu hình và định tuyến phụ thuộc vào khả năng tìm thấy bộ định tuyến và prefix địa chỉ, thông
điệp này là cần thiết trước khi bất cứ giao tiếp nào được thiết lập.
Thông điệp Truy vấn trạm lân cận (Neighbor Solicitation-NS): Thông điệp Truy vấn trạm lân cận được một trạm sử dụng để yêu cầu các trạm khác trên đường kết nối cung cấp địa chỉ lớp hai của chúng. Chức năng này giống như thủ tục ARP trong IPv4. Trạm được hỏi sẽ sử dụng thông điệp Quảng bá của trạm (Neighbor Advertisement) để trả lời về địa chỉ lớp hai của nó.
Thông điệp Quảng bá của trạm (Neighbor Advertisement-NA): Trạm gửi gói tin Quảng bá của trạm để đáp trả gói tin Truy vấn trạm lân cận. Khi thông tin của một trạm ví dụ địa chỉ lớp hai thay đổi, nó cũng gửi thông
điệp Quảng bá của trạm cập nhật sự thay đổi đó cho các trạm lân cận trên cùng đường kết nối
thông báo cho host IPv6 rằng có một bộ định tuyến khác tốt hơn có thể sử
dụng làm next hop để gửi gói tin đến một đích nhất định.