Các node sử dụng giao thức ND để xác định địa chỉ tầng liên kết cho các Neighbor gắn trực tiếp vào liên kết. Các host cũng dùng kĩ thuật ND để phát hiện các router. Ngoài ra kĩ thuật này còn cho phép biết các Neighbor nào cịn kết nối hay khơng cũng như sự thay đổi địa chỉ tầng liên kết. Khi một router không làm việc thì kĩ thuật này cũng giúp ta tìm ra một đường đi tương tự. ND thay thế ARP, ICMP Router Discovery và bản tin ICMP Redirect được sử dụng trong IPv4.
Kĩ thuật ND nhằm giải quyết các vấn đề liên quan đến sự tương tác của các node trên cùng một liên kết. Các vấn đề đó là:
- Tìm kiếm Router: Làm sao các host có thể tìm kiếm được router nằm trên cùng một liên kết với nó.
- Tìm kiếm tiền tố: Cách thức host tìm kiếm tiền tố của mạng cho các host trên cùng một liên kết.
- Tìm kiếm tham số: Làm sao một node có thể học được các tham số hoạt động bao gồm MTU của liên kết và giới hạn hop để dùng cho các gói tin được gửi ra của mình.
- Tự động cấu hình địa chỉ: Cách thức một node tự động thiết lập địa chỉ cho giao diện của nó.
- Phân giải địa chỉ: Cách thức một node xác định địa chỉ lớp liên kết từ một địa chỉ IP cho trước, đây chính là kĩ thuật ARP trong IPv4.
- Xác định hop tiếp theo: Các host dựa trên địa chỉ đích xác định địa chỉ IP của Neighbor mà các gói tin phải được gửi đến nó. Hop tiếp theo có thể là một router chuyển tiếp trung gian hay chính là đích cuối cùng.
- Kiểm tra trùng địa chỉ: Làm sao để kiểm tra một địa chỉ mà host muốn sử dụng không trùng với địa chỉ nào khác.
- Định hướng lại: Làm sao để thông báo cho node nguồn một đường đi tốt nhất đến đích.
2.1.1. Các lựa chọn của ND
Hình 2.1. Định dạng trường lựa chọn
- Type = 1: Chỉ ra địa chỉ lớp liên kết của node gửi bản tin ND. Lựa chọn này nằm trong các bản tin Neighbor Solicitation - NS , Router Solicitation và Router Advertisement. Tuy nhiên khi địa chỉ nguồn của bản tin ND là địa chỉ khơng xác định thì sẽ khơng có lựa chọn này trong đó.
- Type = 2: Chỉ ra địa chỉ lớp liên kết của node hàng xóm mà gói tin sẽ được chuyển qua. Lựa chọn này nằm trong bản tin Neighbor Advertisement- NA và bản tin Redirect.
- Type = 3: Lựa chọn này được gửi trong bản tin Router Advertisement để chỉ ra tất cả các tiền tố của địa chỉ và các thơng tin về tự động cấu hình địa chỉ. Có thể có nhiều lựa chọn thơng tin tiền tố trong một bản tin Router Advertisement
- Type = 4 (Redirect header): Lựa chọn này được gửi trong bản tin Redirect để chỉ ra gói tin IPv6 mà làm cho router gửi bản tin Redirect. - Type = 5: Được gửi trong bản tin Router Advertisement để chỉ ra MTU
2.1.2. Các bản tin ND
Kĩ thuật ND định nghĩa ra 5 loại bản tin ICMP để thực hiện các chức năng của nó: - Router Solicitation - Router Advertisement - Neighbor Solicitation - Neighbor Advertisement - Redirect
- Router Solicitation: Khi một giao diện có thể chuyển sang trạng thái có thể làm việc thì node có thể gửi một thơng báo “Router Solicitation” yêu cầu router thực hiện quảng bá router ngay lập tức mà không đợi đến hạn thời gian theo kế hoạch.
- Router Advertisement: Bộ định tuyến thơng báo sự có mặt của nó cùng với các tham số như tiền tố của liên kết, MTU của liên kết, các tuyến riêng, tự động cấu hình địa chỉ có được sử dụng hay khơng…một cách định kỳ hay phản hồi lại bản tin Router Solicitation.
- Neighbor Solicitation: Được gửi đi bởi một node để xác định địa chỉ tầng liên kết của một Neighbor hay để kiểm tra xem một Neighbor trong vùng đệm của nó có cịn tiếp xúc được hay khơng. Neighbor Solicitation cịn được dùng để kiểm tra sự trùng địa chỉ.
- Neighbor Advertisement: Dùng để phản hồi cho bản tin Neighbor Solicitation, node có thể dùng Neighbor Advertisement để thông báo về sự thay đổi địa chỉ của tầng liên kết.
- Redirect: Các router dùng bản tin này để thông báo cho node nguồn biết địa chỉ hop đầu tiên tốt hơn cho đường đến đích.
Các router quảng bá một danh sách các tiền tố địa chỉ để dùng cho việc cấu hình địa chỉ tự động trên liên kết. Các host sử dụng các thông tin quảng bá tiền tố địa chỉ để xây dựng một danh sách cho phép nó quyết định gói tin đích là ở cùng liên kết hay phải chuyển đến bộ định tuyến.
Các node thực hiện việc phân giải địa chỉ thông qua quảng bá multicast Neighbor Solicitation để yêu cầu đích phản hồi địa chỉ tầng liên kết của chúng. Node đích trả lời bằng một Neighbor Advertisement unicast.
Để tránh sự trùng lặp địa chỉ IP trước khi sở hữu một địa chỉ IP link - local hay bất kì địa chỉ nào mà khơng được xây dựng bằng cách thêm tiền tố vào địa chỉ link-local, một node sẽ gửi bản tin Neighbor Solicitation để hỏi xem có Neighbor nào đã sử dụng địa chỉ đó hay chưa. Nếu địa chỉ IP đã được sử dụng, node có địa chỉ đó sẽ multicast hồi đáp. Điều này đảm bảo chắc chắn rằng địa chỉ link - local và mỗi địa chỉ được xây dựng từ nó bằng cách sử dụng các tiền tố khác nhau là duy nhất. Cũng như vậy, các địa chỉ mà được cấu hình bằng tay hay được học từ DHCP Server cũng phải được kiểm tra tính duy nhất trước khi sử dụng.
Các router quảng bá sự có mặt của chúng một cách định kì vừa đủ để biết đến sự có mặt của chúng nhưng không đủ để kiểm tra sự vắng mặt. Quá trình kiểm tra khơng tiếp xúc được của hàng xóm cho ta biết một hàng xóm có tiếp xúc được hay khơng. Để đạt được điều trên thì cần có sự phản hồi từ phía hàng xóm, có thể là trực tiếp hoặc thơng qua Neighbor Advertisement.