1.1 Định tuyến trên máy trạm
Một trong những nguyên lý thiết kế của IPv6 là các trạm phải hoạt động chính xác ngay cả khi nó biết rất ít thông tin về mạng. Trên thực tế các trạm không giống router, không lưu trữ bảng định tuyến và thường không có cấu hình cố định. Điều đó có nghĩa là khi khởi động, Máy trạm phải tự cấu hình, biết được thông tin về các đích mà nó trao đổi các gói tin. Các thông tin này được lưu trữ trong bộ nhớ bằng cache. Thông tin trên cache có khoảng thời gian tồn tại giới hạn và các thông tin hết thời gian tồn tại sẽ được loại bỏ định kỳ để giới hạn kích thước của cache.
1.1.1 Neighbor Cache (NC)
NC chứa một thông tin ứng với nút liền kề (neighbor) đây là nút mạng vừa mới gửi dữ liệu đến và nằm trong một mạng với nút nhận. Thông tin trong NC bao gồm địa chỉ Unicast của nút đó, nút đó là router hay một nút ipv6 khác trong mạng.
1.1.2 Destination Cache
Cache đích chứa một thông tin ứng với một nút đích mà nút mạng vừa gửi dữ liệu gần đây. Thông tin này gồm có địa chỉ Unicast của nút đích, địa chỉ của nút tiếp theo sẽ chuyển gói tin đến đích, thông tin về parthMTU.
Khác nhau cơ bản giữa 2 loại cache là Destination Cache chứa thông tin cho mỗi nút đích kể cả trên cùng một mạng hay không cùng mạng trực tiếp trong khi Neightbor Cache chỉ chứa các thông tin ứng với các địa chỉ có cùng mạng.
1.1.3 Danh sách tiền tố
Đây là thông tin được router quảng bá thông qua giao thức RA ( router advertise ) . Vì trong một mạng có thể tồn lại nhiều router nên ta có thể có danh sách tiền tố mạng.
Danh sách tiền tố mạng có thông tin về các tiền tố mạng, thời gian tồn tại và hợp lệ của tiền tố mạng ( tiền tố mà nút Ipv6 dùng để đi tới các nút Ipv6 khác không nằm trong cùng mạng ).
1.1.4 Danh sách các router trong mạng và router mặc định (Router List)
Danh sách các router chứa thông tin của các router có trong mạng và router mặc định. Router mặc định có nhiệm vụ cung cấp thông tin tiền tố mạng cho các nút trong mạng và dùng để chuyển gói tin đến đến các đích ở các mạng khác.
1.2 Định tuyến trên các router
Khi Router nhận được gói tin cần chuyển tới đích, nó sẽ bóc tách gói tin để xem thông tin về địa chỉ đích gói tin muốn đến. Sau đó router sẽ tra bảng định tuyến của mình xem có đường đến đích đó không , nếu có router sẽ chuyển gói tin đến hop tiếp theo, nếu không thì router sẽ bỏ gói tin đó và gửi thông tin tới nút gửi thông qua giao thức ICMPv6.
Cấu trúc điển hình của bảng IPv6 gồm thông tin sau:
• Địa chỉ IPv6 đích (Destination IPv6 Address): Biểu diễn dạng IPv6- address/prefix-length. Địa chỉ này có thể là một địa chỉ đầy đủ của một host (nếu độ dài tiền tố Prefix-Length = 128) hay cũng có thể là địa chỉ của một mạng (nếu độ dài tiền tố Prefix-Length nhỏ hơn 128).
• Địa chỉ IPv6 của chặng tiếp theo (Next-Hop Address) : Đây là địa chỉ IPv6 của một trạm hay của một router mà gói cần phải chuyển tới đích.
• Giao diện (Interface) : Trường giao diện này cho biết gói tin sẽ được có thể chuyển qua giao diện nào để tới được chặng tiếp theo đã xác định trên.
1.3 Bảng định tuyến IPv6
Bảng định tuyến trong IPv6 lưu trữ toàn bộ thông tin về các node đang chạy IPv6 protocol, các thông tin về tiền tố mạng(Network Prefix) và phương thức để các gói tin đến được đích(trực tiếp hoặc gián tiếp). Trước khi bảng định tuyến IPv6 được kiểm tra thì Destination Cache sẽ được kiểm tra trước để cố gắng tìm ra 1 entry mà khớp với địa chỉ đích trong gói tin IPv6 đang được chuyển đi. Nếu không tìm thấy 1 entry nào thỏa mã trong Destination Chache thì lúc này bảng định tuyến mới được sử dụng để xác định ra:
• Interface nào sẽ được sử dụng để chuyển gói tin đi (Next-Hop Interface) : Là một địa chỉ vật lý hoặc logic dùng để chuyển gói tin tới đích hoặc Next-Hop Router.
• Địa chỉ của Next-Hop sẽ chuyển gói tin đi : Với những đích nằm trên cùng một liên kết cục bộ thì địa chỉ next hop chính là địa chỉ đích của packet. Với những đích không nằm cùng subnet thì địa chỉ next hop chính là địa chỉ của một Router.
Sau khi interface và địa chỉ của next hop được xác định thì node sẽ cập nhật Destination Cache. Các gói tin tiếp theo sẽ được truyền đến đích đó sẽ sử dụng cache entry này mà không phải kiểm tra bảng định tuyến.
Bảng định tuyến của mỗi giao thức định tuyến là khác nhau, nhưng có thể bao gồm những thông tin sau :
• Địa chỉ đích của mạng, mạng con hoặc hệ thống. • Địa chỉ IP của Router chặng kế tiếp phải đến.
• Giao tiếp vật lý phải sử dụng để đi đến Router kế tiếp. • Mặt nạ mạng của địa chỉ đích.
• AD và Metric: là các con số chỉ mức độ ưu tiên con đường đến đích.
• Khoảng cách đến đích (thí dụ : số lượng chặng để đến đích). • Thời gian (tính theo giây) từ khi Router cập nhật lần cuối
Nội dung các trường được lưu trong bảng định tuyến IPv6
• Destination Prefix (Tiền tố mạng đích): Lưu trữ tiền tố địa chỉ IPv6 của mạng đích có độ dài từ 0-128.
• Next-Hop Address (Địa chỉ Next-Hop): Lưu trữ địa chỉ của Next- Hop mà gói tin sẽ được chuyển tới.
• Interface (Giao diện): Lưu trữ định danh giao diện mạng được sử dụng để chuyển gói tin tới. Tất cả các địa chỉ được định nghĩa bởi Destination Prefix là đều đến được thông qua giao diện.
• Metric (Chi phí): Lưu trữ thông tin về “chi phí” của một tuyến đường để đi đến đích. Một tuyến tốt nhất sẽ được chọn ra thông qua giao thức định tuyến.
• Directly-Attached Route (Các truyến nối trực tiếp) : Các tuyến này là các tiền tố mạng của những subnet được nối trực tiếp với Router và thương có 64 bit Prefix.
• Remote Network Route (Các tuyến ở xa): Các tuyến này là các tiền tố của những subnet mà không kết nối trực tiếp tới router nhưng có thể đến được thông qua các router khác. Những tuyến này là
những prefix cho một subnet (độ dài tiền tố thường là 64) hoặc là tiền tố cho một lớp địa chỉ (độ dài tiền tố thường nhỏ hơn 64). • Host Route (Các tuyến đường của host): Một host route là một
tuyến có một địa chỉ IPv6 xác định. Với các host route thì tiền tố là một địa chỉ IPv6 xác định với prefix là 128 bit.
• Default Route (Route mặc định): Lưu trữ giá trị của route mặc định. Route này sẽ được sử dụng khi tiền tố mạng hay địa chỉ host không tìm thấy trong bảnh định tuyến. Tiền tố của route mặc định thường là ::/0.
1.4 Quá trình định đường
Để quyết định sẽ sử dụng entry nào trong bảng định tuyến để truyền gói tin thì IPv6 sử dụng các quá trình sau:
• Với mỗi entry trong một bảng định tuyến, Router sẽ so sánh các bit trong tiền tố mạng của gói tin đích với danh sách các tiền tố trong bảng định tuyến theo thứ tự entry từ trên xuống dưới. Nó sẽ chọn ra các tuyến đường nào có tiền tố mạng phù hợp(match) để xử lý tiếp.
• Danh sách các tuyến đường được match sẽ được xử lý lại. Tuyến có chiều dài tiền tố lớn nhất sẽ được chọn (theo quy tắc longest prefix match). Longest match route sẽ là tuyến đường tốt nhất cho đích. Nếu nhiều entry cùng thoả mãn (tiền tố) thì Router sẽ chọn tuyến nào có metric nhỏ nhất (theo quy tắc lowest metric). Nếu cả hai thông số trên đều trùng thì Router sẽ chọn 1 để sử dụng.
• Nếu không tìm thấy tuyến nào match với địa chỉ đích nó sẽ gửi gói tin đến route mặc định nếu trong bảng định tuyến có default
báo lỗi ICMP Destination Unreachable-No Route to Destination về nguồn gửi.
Với một đích bất kỳ cho trước, thì quá trình trên là kết quả của việc tìm đường theo thứ tự sau:
Một host route match toàn bộ địa chỉ đích.
Một network route với prefix lớn nhất match địa chỉ đích. Default Route
Kết quả của công việc này là một tuyến đường sẽ được chọn ra từ bảng định tuyến. Tuyến đường này sẽ có interface và địa chỉ của Next Hop. Interface của Next-Hop sẽ được chỉ ra trong route mà router đã chọn. Đối với các router ở xa thì địa chỉ Next-Hop được lưu trong trường Next-Hop Address. Còn với trường hợp đích là router nối trực tiếp với nó thì địa chỉ Next-Hop là địa chỉ của router đích này và địa chỉ này không được lưu trong trường Destination Address của packet.