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 những thông điệp ICMPv6 và phụ trách các quy trình giao tiếp giữa các node 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 router, Redirect, đồng thời cũng cung cấp nhiều chức năng khác nữa.
Khi một node IPv6 khởi tạo, để có thể tiến hành giao tiếp, node cần biết một số điểm:
- Địa chỉ của node
- Thông tin về prefix của chính nó để node biết đƣợc cách thức gửi gói tin tới những node khác thuộc những prefix khác.
- Biết đƣợc router 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ẻ, node cũng cần:
- Biết đƣợc về những node 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 node 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 node đó nữa.
- Biết đƣợc địa chỉ nó đang định dùng liệu có bị một node khác sử dụng rồi hay không. - Có khả năng lái (redirect) gói tin tới một node 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, IPv6 node 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:
Node (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 node lân cận từ địa chỉ IPv6.
Quyết định xem node 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 router 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.
Router 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 link.
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.