CHƯƠNG III: ĐỊNH TUYẾN TRONG MẠNG MÁY TÍNH
Định tuyến là phương thức để gói tin được truyền từ địa chỉ nguồn đến địa chỉ đích một cách tốt nhất.
III.1. ĐỊNH TUYẾN TRÊN MÁY TRẠM
Một trong những nguyên lý của thiết kế 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 như Router, không lưu giữ 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 ti
18 trang |
Chia sẻ: huyen82 | Lượt xem: 1604 | Lượt tải: 1
Tóm tắt tài liệu Ipv6 – LÝ THUYẾT và MÔ HÌNH THỬ NGHIỆM ipv6, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
n tối thiểu 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 các cấu trúc dữ liệu nhỏ gọi là bộ nhớ đệm. Về kỹ thuật, thực chất đây là các mảng của các bản ghi. Thông tin mỗi mục có khoảng thời gian tồn tại giới hạn và các mục mà quá hạn sẽ được loại bỏ định kỳ để giới hạn kích thước bộ nhớ đệm.
Bộ nhớ đệm hàng xóm
Hàng xóm bộ nhớ đệm chứa một chỉ mục ứng với một nút Hàng xóm mà nút mạng mới vừa gửi dữ liệu đến. Mỗi mục chứa một địa chỉ IPv6 Unicast trên liên kết, địa chỉ liên kết dữ liệu tương ứng, một cờ hiệu xác định nút Hàng xóm có phải là Router không và một con trỏ trỏ tới các gói tin đang đợi được truyền.
Bộ nhớ đệm đích
Bộ nhớ đệm đích chứa một chỉ mục ứng với một nút đích mà nút mạng vừa gửi dữ liệu gần đây. Mỗi mục chứa một địa chỉ Unicast IPv6 và một con trỏ, con trỏ trỏ tới một mục trong bộ nhớ đệm hàng xóm mà mục đó chứa địa chỉ nút mạng tiếp theo để chuyển gói tin tới đích. Các mục trong bộ nhớ đệm đích được cập nhật bởi các thông điệp định hướng lại (redirect) phát đi bởi Router. Ngoài ra, các nút mạng có thể lưu thông tin bổ sung như giá trị MTU của tuyến đường Path MTU.
Khác nhau cơ bản giữa hai loại bộ nhớ đệm là bộ nhớ đệm đích chứa chỉ mục cho mỗi nút đích kể cả trên cùng một liên kết hay không cùng liên kết trực tiếp, trong khi bộ nhớ đệm hàng xóm chỉ chứa các mục tương ứng với các địa chỉ thuộc cùng liên kết.
Danh sách tiền tố (Prefix List):
Danh sách tiền tố chứa các mục tương ứng với các tiền tố của liên kết, được dùng để phát hiện một địa chỉ là thuộc cùng một liên kết hay ở ngoài liên kết. Danh sách tiền tố được tạo ra từ các thông tin quảng bá bởi Router. Các thông điệp này đồng thời cũng chỉ ra thời gian tồn tại của tiền tố là giới hạn hoặc không giới hạn. Giá trị này dùng để xác định các tiền tố không còn hợp lệ và loại bỏ.
Danh sách các Router (Router List) :
Danh sách các Router mặc định chứa một chỉ mục ứng với một Router có thể dùng làm Router mặc định. Các mục của danh sách các Router mặc định chứa con trỏ trỏ tới các mục trong Bộ nhớ đệm Hàng xóm chứa địa chỉ IPv6, địa chỉ tầng liên kết của Router và các cờ trạng thái.Thuật toán lựa chọn Router mặc định chọn trong số các Router mà trạng thái còn duy trì kết nối.Danh sách này cũng lưu giữ các giá trị thời gia tồn tại trích từ quảng bá Router để loại bỏ các Router sau một thời gian nhất định không có quảng bá thông điệp.
III.2. ĐỊNH TUYẾN TRÊN ROUTER
Cấu trúc điển hình của bảng định tuyến IPv6 gồm nhiều hàng, mỗi hàng là một tuyến, mỗi tuyến bao gồm các trường sau:
Địa chỉ IPv6 đích: Có dạng Ipv6 address/prefix-length. Đia chỉ này có thể là địa chỉ đầy đủ của một host (nếu độ dài tiền tố prefix-length bằng 128) hay 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: Đây là địa chỉ IPv6 của một trạm hay một Router mà gói tin cần phải chuyển tới để tới đích.
Giao diện: Trường giao diện này cho biết gói tin sẽ được chuyển qua giao diện nào để tới chặng tiếp theo đã xác định ở trên.
Nguyên tắc tìm kiếm trong bảng định tuyến: khi cần gửi đi một gói IP, Router sẽ dựa vào địa chỉ đích của gói để tìm tuyến phù hợp trong bảng định tuyến. Phương pháp tìm kiếm trong bảng định tuyến là phương pháp “longest prefix match”. Trong trường hợp không tìm thấy, Router sẽ sử dụng tuyến mặc định.
Có hai phương pháp định tuyến là định tuyến tĩnh và định tuyến động.
III.3.KHÁI NIỆM CƠ BẢN:
III.3.1. Hệ thống tự trị
Mạng Internet ngày nay (và mạng IPv6) được tổ chức thành tập hợp các hệ thống tự trị (Autonomous System). Mỗi một hệ thống tự trị được điều hành bởi một đơn vị hay tổ chức riêng. Cách tổ chức phân cấp này làm cho mạng Internet dễ quản lý hơn. Mỗi hệ thống có thể sử dụng phương pháp định tuyến riêng.Khi đó việc định tuyến trên mạng Internet trở thành định tuyến phân cấp. Gói tin đi từ nguồn tới đích sẽ trải qua ba giai đoạn:
Định tuyến bên trong hệ thống (Intra-AS routing): gói tin được các Router bên trong hệ thống chuyển tới Router biên nối tới hệ thống khác
Định tuyến giữa các hệ thống (Inter-AS routing): Router ở biên hệ thống quyết định việc chuyển gói tin tới hệ thống nào tiếp theo để tới được đích.
Gói tin được Router biên của hệ thống đích chuyển tới nguồn bên trong hệ thống.
III.3.2. Khoảng cách quản lý:
Administrative Distance (AD) là giá trị tượng trưng cho độ tin cậy của một giao thức định tuyến.Các giao thức định tuyến được ưu tiên từ mức độ tin cậy lớn nhất đến thấp hơn bằng cách sử dụng giá trị AD.Trong suốt quá trình , các Router sử dụng AD để lựa chọn tuyến đường tốt nhất khi mà các Router sử dụng nhiều điểm với các phương thức định tuyến khác nhau tới cùng một mạng đích.Giá trị AD càng nhỏ thì có quyền ưu tiên càng cao.
Sau đây là giá trị AD của các giao thức định tuyến được hỗ trợ trong hệ điều hành của Router Cisco:
Connected interface 0
Static route (toward the interface) 0
Static route (toward the next hop) 1
External BGP (eBGP) 20
OSPF 110
IS-IS 115
RIP 120
Internal BGP (iBGP) 200
III.3.3. Nguyên tắc định tuyến
Định tuyến là quá trình chuyển tiếp các gói tin từ một mạng này sang mạng khác.
Router lấy địa chỉ IP từ giao diện (interface) yêu cầu gửi gói tin.
Sau khi nhận gói tin từ một interface nó sẽ quyết định đẩy gói tin ra interface tương ứng để chuyển tiếp.
Để xác định chính xác hướng đi Router phải thực hiện 3 bước:
Router xác định xem lưu lượng nhận hoặc gửi chạy giao thức lớp mạng nào: IP, IPX hay AppleTalk.
Tiếp theo sẽ kiểm tra xem địa chỉ mạng đích có trong bảng định tuyến hay không. Nếu không tìm thấy đường đến mạng đích đó trong bảng định tuyến và Router không được cấu hình default route, Router sẽ hủy packet đó và gửi một gói ICMP network unreachable về host nguồn đã gửi gói tin đi. Nếu tìm thấy trong bảng định tuyến tuyến đường tới mạng đích Router sẽ đưa gói tin ra interface tương ứng. Router sẽ đẩy gói tin đó ra bộ đệm của interface đó.
Tiếp theo kiểu đóng gói ở khung lớp 2 của giao diện đó. Nếu là Ethernet thì chạy ARP để lấy địa chỉ lớp 2 là MAC. Sau đó khung sẽ được đưa xuống lớp vật lý và chuyển tiếp thông tin đến chặng tiếp theo.
Gói tin sẽ tiếp tục được xử lý cho đến đích cuối cùng.
Các giao thức định tuyến phi đạt được các yêu cầu đồng thời sau:
Khám phá động một topo mạng.
Xây dựng các đường ngắn nhất.
Kiểm soát tóm tắt thông tin về các mạng bên ngoài, có thể sử dụng các metric khác nhau trong mạng cục bộ.
Phản ứng nhanh với sự thay đổi topo mạng và cập nhật các cây đường đi ngắn nhất.
Làm tất cả các điều trên theo định kỳ thời gian.
III.3.4. Bảng định tuyến
Bảng định tuyến trong Ipv6 lưu trữ toàn bộ các lưu trữ toàn bộ thông tin về các node đang chạy giao thức Ipv6, 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 khi bảng định tuyến IPv6 được kiểm tra thì bộ nhớ đệm đích sẽ được kiểm tra trước để tìm ra một mục 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 mục nào thỏa mãn thì lúc này bảng định tuyến mới được sử dụng để xác định :
Giao diện mạng 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 gói tin. Với những đích không nằm cùng mạng 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 bộ nhớ đệm đích. Các gói tin tiếp theo sẽ được truyền đến đích đó sẽ sử dụng bộ nhớ đệm 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 tuyến đườ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
III.3.4.1. Các trường trong bảng định tuyến:
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.
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.
III.3.4.2. Xây dựng bảng định tuyến
Các tuyến đường có thể được học theo 2 cách:
Định tuyến tĩnh:
Các tuyến trong bảng định tuyến ở các trạm và Router được cấu hình bằng tay và không thể tự động thay đổi theo tình trạng của mạng được, nếu một trong các tuyến của bảng định tuyến bị sự cố thì Router vẫn không thể biết và vẫn cho phép các gói của mình đi qua tuyến này tới đích.Nhược điểm của phương pháp này là định tuyến cho mạng lớn là khó khăn và không hiệu quả.Tuy nhiên định tuyến tĩnh vẫn được sử dụng trong trường hợp có yêu cầu bảo mật cao. Đối với IPv6, tuyến mặc định không cần thiết được quản lý bởi người quản trị. Thông tin về tuyến này được xác định tự động thông qua giao thức ND. Thao tác trực tiếp với bảng định tuyến thường thông qua các chương trình như route, netsat.
Với hình thức này các tuyến đường trong bảng định tuyến sẽ được người quản trị nhập vào trực tiếp bằng tay thông qua câu lệnh sau ở global configuration mode:
ip route prefix mask {address|interface} distance
Trong đó :
Prefix : Tiền tố tuyến đích
Mask : Mặt nạ tiền tố đích
Address : Địa chỉ IP của chặng kế tiếp được sử dụng để chuyển gói tin tới đích
Interface : Giao diện mạng
Distance : Khoảng cách quản lý (AD)
Ưu điểm của static route là ngưởi quản trị có toàn quyền điều khiển thông tin lưu trong bảng định tuyếnvà phải lãng phí băng thông để xây dựng nên bảng định tuyến.
Nhược điểm của định tuyến tĩnh là độ phức tạp của việc cấu hình tăng lên khi kích thước của mạng tăng lên. Giả sử một mạng có N Router thì người quản trị cần phải cấu hình (N-1)*N câu lệnh trên tất cả các Router. Một nhược điểm nữa của định tuyến tĩnh là không có khả năng thích ứng với những mạng có cấu trúc thay đổi.
Định tuyến động:
Các tuyến trong bảng định tuyến được tính toán một cách tự động do đó khi một tuyến nào đó gặp sự cố thì một tuyến mới khác được tính toán và đưa vào bảng một cách tự động. Trong trường hợp một tuyến mới tối ưu hơn (tới cùng một địa chỉ đích) được tìm thấy, nó sẽ được cập nhật vào bảng tự động.Để làm được điều này thì các Router cần phải trao đổi thông tin định tuyến với nhau. Các thông tin này có thể là sự thay đổi của các liên kết hoặc thông tin trong bảng định tuyến. Dựa vào các thông tin có được, các Router sẽ tính toán lại bảng định tuyến cho phù hợp một cách tự động. Để thực hiện việc định tuyến như vậy thì các Router phải chạy cùng một giao thức định tuyến. Mỗi giao thức định tuyến sẽ chọn một tiêu chuẩn để so sánh các tuyến đường và sử dụng thuật toán định tuyến riêng để tính toán tuyến đường tối ưu nhất.
Ưu điểm của định tuyến độnglà đơn giản trong việc cấu hình và tự động tìm ra những tuyến đường thay thế nếu như mạng thay đổi.
Nhược điểm của định tuyến động là yêu cầu CPU của Router xử lý nhiều hơn so với định tuyến tĩnh. Tiêu tốn một phần băng thông trên mạng để xây dựng lên bảng định tuyến.
Có 2 phương pháp định tuyến động là :
Véc tơ khoảng cách (Distance-Vector): Được chia làm hai phần: khoảng cách và vector. Khoảng cách là độ đo (metric) để tới đích. Vector là hướng để tới đích nó được xác định bởi bước tiếp theo của tuyến đường.Các giao thức định tuyến Distance-vector cập nhật bảng định tuyến của mình bằng cách thường xuyên gửi thông điệp cập nhật liên tục theo chu kỳ dưới dạng broadcast. Thông điệp broadcast đó bao gồm toàn bộ bảng định tuyến. Tuy nhiên một vấn đề chung xảy ra đối với các giao thức định tuyến Distance-Vector đó chính là vấn đề lặp định tuyến. Do các Router không được cập nhật ngay lập tức ( mà theo chu kỳ ), chính điều đó đã khiến cho các Router xây dựng lên bảng định tuyến không đúng. Dẫn đến các gói tin đi trên đường mà nó đã đi qua rồi, kết quả là gói tin đi lòng vòng trên mạng. Hiện tượng lặp định tuyến đã làm phát sinh lưu lượng mạng vô ích gây lãng phí băng thông. Chính vì vậy người ta đã đưa vào các giao thức định tuyến theo khoảng cách các phương pháp để tránh loop đó là:
w Route Poisoning
Một trong những phương pháp người ta đưa vào các giao thức định tuyến để tránh loop đó là “Route poisoning”. Route poisoning bắt đầu hoạt động khi Router nhận thấy một mạng nối tới nó bị down. Nó sẽ quảng bá tới tất cả các Router lân cận nó rằng: Mạng đó là không thể tới được. Ví dụ với RIP: nó sẽ gửi thông báo tới các Router lân cận của nó với hop count = 16. Kết quả là mạng đó sẽ được xoá khỏi bảng định tuyến.
w Split Horizon
Phương pháp Split Horizon được đưa ra để tránh các Router không gửi lại các thông tin định tuyến quay trở lại Router mà nó đã học được tuyến từ Rouer đó.
w Hold-Down Timer
Để giải quyết trường hợp mà Split Horizon không giải quyết được người ta đưa ra phương pháp Hold-Down Timer. Tránh việc thay đổi tuyến được thực hiện trước khi mạng hội tụ từ sự thay đổi đó. Tránh cập nhật thông tin từ việc thiết lập lại các thông tin không đúng. Khi một Router nhận được một cập nhật mà chứa một cấu trúc thay đổi, hold-down timer sẽ bắt đầu. Bất cứ cập nhật nào trong thời gian này sẽ bị huỷ bỏ. Thời gian hold-timer được đặt ít nhất lớn hơn 3 lần thời gian cập nhật thông tin toàn bộ tuyến trong mạng. w Triggered (Flash) updates
Để ngăn chặn tình trạng hết thời gian hold-timer mà thông tin cập nhật mới tới. Người ta đưa ra phưng pháp Triggered (Flash) updates tức là ngay sau khi nhận được thông tin cập nhật chứa một cấu trúc thay đổi thì nó sẽ gửi ngay lập tức broadcast cập nhật tới các Router lân cận.
Trạng thái liên kết (Link-State) : Khác với giao thức véc tơ khoảng cách, Router chỉ biết được next-hop để gửi gói tin đi tới đích. Đối với giao thức trạng thái liên kết mỗi Router đều xác định được chính xác cấu trúc của mạng. Chính vì vậy Router sẽ đưa ra quyết định để đưa gói đến đích tốt hơn. Mỗi Router trong mạng sẽ báo cáo trạng thái của nó, các kết nối trực tiếp và trạng thái của mỗi kết nối. Router sẽ nhân bản thông tin này tới tất cả các Router trên mạng. Cuối cùng tất cả các Router trên mạng đều có cái nhìn giống nhau về cấu trúc mạng.
Một điểm khác nữa đối với giao thức vec tơ khoảng cách là các Router không gửi toàn bộ bảng định tuyến mà chỉ gửi sự thay đổi xảy ra hay một bản tin hello với kích thước nhỏ gọn nếu như mạng không có sự thay đổi theo những chu ky nhất định. Vì vậy, giao thức trạng thái liên kết có một ưu điểm nữa là tốn ít băng thông hơn véc tơ khoảng cách để xây dựng nên bảng định tuyến.
Nhược điểm của giao thức trạng thái liên kết là phức tạp hơn trong cấu hình so với giao thức véc tơ khoảng cách và yêu cầu phần cứng của Router cao hơn.
Tóm lại hoạt động của giao thức trạng thái liên kết có thể chia làm 4 bước sau:
Các Router tìm hàng xóm của mình từ các Router nối trực tiếp.
Sau khi tìm được hàng xóm xong, Router gửi các LSA tới các hàng xóm của nó. Sau khi nhận và sao chép thông tin từ LSA, Router sẽ gửi LSA tới các hàng xóm của nó.
Tất cả các Router lưu LSA trong cơ sở dữ liệu của nó. Điều đó có nghĩa là tất cả các Router đều có một cái nhìn giống nhau về cấu trúc mạng.
Mỗi Router sử dụng thuật toán Dijkstra để tính toán ra đường tốt nhất để đưa vào bảng định tuyến.
III.3.4.3.Lưu vào bảng định tuyến:
Khoảng cách quản lý và metric là hai nhân tố quyết định tuyến đường nào sẽ được lưu vào bảng định tuyến. Khoảng cách quản lý là độ tin cậy của giao thức định tuyến, nếu có nhiều hơn một tuyến đường tới đích thì tuyến đường nào có khoảng cách quản lý nhỏ hơn sẽ được đưa vào bảng định tuyến. Nếu các tuyến đường đó có cùng khoảng cách quản lý thì xét đến metric.
Metric là giá trị của tuyến đường cụ thể của một giao thức định tuyến nào đó. Nếu có nhiều hơn một tuyến đường đến đích có cùng khoảng cách quản lý (cùng giao thức định tuyến) thì tuyến nào có metric tốt hơn sẽ được đưa vào bảng định tuyến. Nếu chúng có cùng khoảng cách quản lý và metric thì tuỳ từng giao thức cụ thể mà số lượng tuyến đường được đưa vào bảng định tuyến là khác nhau.
III.4 CÁC GIAO THỨC ĐỊNH TUYẾN
III.4.1 Giao thức định tuyến RIPng
III.4.1.1 Cơ bản về RIPng:
Giao thức định tuyến RIPng (The Routing Information Protocol Next-Generation) là giao thức dựa trên thuật toán định tuyến Distance Vector. RIPng thuộc nhóm các giao thức định tuyến IGP sử dụng bên trong một hệ thống tự trị (AS). Giao thức này chỉ phù hợp với các hệ thống vừa và nhỏ, không thích hợp với hệ thống lớn và phức tạp.
Theo thuật toán véc tơ khoảng cách (Distance Vector), mỗi Router trong hệ thống sẽ phát tới Router hàng xóm của mình toàn bộ bảng định tuyến một cách định kỳ. Mỗi Router sau đó dựa vào thông tin nhận được từ hàng xóm sẽ xác định được các tuyến đường tới bất kỳ đích nào.Để tính toán tuyến đường tối ưu từ nguồn tới đích, giao thức RIPng sử dụng thông số định tuyến là số bước (Hop-count), tức là số chặng mà gói tin phải đi qua để đến đích. Gói tin đi qua một Router được tính là một chặng.Do đó tuyến đường tối ưu trong RIPng là tuyến có số chặng ít nhất.
RIPng giới hạn số chặng tối đa là 15, tuyến nào có giá trị Hop-Count lớn hơn 15 thì không được định tuyến, gói tin không tới được đích (destination unreahable).
Mạng nối trực tiếp với Router có giá trị Hop-Count bằng một.Người quản trị hệ thống có thể cấu hình giá trị này lớn hơn trong trường hợp cần thiết.
Mỗi Router chạy giao thức RIPng đều phải duy trì một bảng định tuyến bao gồm các trường:
Tiền tố IPv6 của mạng đích cùng độ dài tiền tố. Nếu tiền tố này có độ dài 128 thì đích của tuyến là một host cụ thể.
Địa chỉ Unicast liên kết cục bộ của Router Hàng xóm.
Giá trị đo (Metric): Biểu diễn tổng số chặng mà gói tin phải đi qua để tới mạng đích.
Một số cờ thông báo về sự thay đổi thông tin của tuyến.
Các giá trị thời gian gắn liền với tuyến.
Định danh của giao diện mà Router sử dụng cho tuyến.
Bảng 3.1 Bảng định tuyến Rip
Network
Next Hop
Interface
Metric
Tag
Time
C
2003:0:0:1::/64
::
Eth0
1
0
R
2003:0:0:2::/64
fe80::260:97ff:fe11:4c61
Eth0
2
0
02:26
R
2003:0:0:3::/64
fe80::260:b0ff:feb4:7bf5
Eth1
4
0
01:15
S
2003:0:0:4::/64
::
Eth1
1
0
Theo định kỳ 30 giây, Router chạy RIPng sẽ gửi tới tất cả giao diện nguồn, địa chỉ đích là địa chỉ Multicast được đinh nghĩa riêng cho RIPng: các Hàng xóm của mình toàn bộ bảng định tuyến bằng các bản tin Response. Các bản tin này được đóng gói trong các gói IPv6. Hai Router được coi là Hàng xóm nếu cùng chia sẻ một liên kết.
Trong gói tin IPv6 gửi đi, địa chỉ nguồn là địa chỉ Unicast link-local của FF02::9. Cổng UDP là cổng 521, trường Hop-limit bằng một, do đó bản tin RIPng chỉ có thể gửi tới các Router Hàng xóm mà thôi.Tất cả các Router chạy RIPng đều luôn luôn sẵng sàng lắng nghe để nhận các bản tin RIPng với địa chỉ đích FF02::9, cổng UDP 521.
RIPng sử dụng phương pháp Triggerd Cập nhật để gửi tới các Hàng xóm thông tin về một tuyến tức thì ngay khi trạng thái của tuyến thay đổi.
Khi nhận được một bản tin định tuyến từ Router Hàng xóm, tính hợp lệ của gói tin IPv6 và của bản tin được kiểm tra chặt chẽ. Sau đó, mỗi khối bảng định tuyếnEntries (RTE) trong bản tin lần lượt được sử dụng. Mỗi khối RTE thực chất là một tuyến trong bảng định tuyến của Router Hàng xóm. Thông tin về tuyến gồm tiền tố mạng đích, độ dài tiền tố mạng đích, giá trị Metric. Nếu RTE chứa thông tin về một tuyến mà bảng định tuyến chưa có thì Router sẽ đưa tuyến mới này vào bảng định tuyến theo các bước sau:
Thiết lập một tiền tố đích cùng độ dài tiền tố vào bảng
Metric của tuyến bằng metric trong RTE cộng thêm giá trị trọng số liên kết giữa Router này với Router đã phát ra bản tin chứa RTE.
Trường Next-Hop đặt bằng địa chỉ Unicast link-local của Router Hàng xóm đã phát bản tin, chính là địa chỉ nguồn trong gói tin IPv6
Đặt biến thời gian đi cùng với tuyến.
Trong trường hợp RTE nhận được thông tin về một tuyến đã tồn tại trong bảng với giá trị Metric mới, tuyến này sẽ được Router tính toán lại cho phù hợp.Khi nhận được thông tin về một tuyến từ nhiều Router khác nhau gửi tới, Router sẽ chọn ra một tuyến có Metric nhỏ nhất.
Trong quá trình cập nhật bảng định tuyến từ Hàng xóm, mỗi tuyến trong bảng luôn được điều khiển bởi các biến thời gian. Sự thay đổi của các biến thời gian tương ứng với sự biến đổi trạng thái của tuyến. Một tuyến trong bảng định tuyến có thể có các trạng thái sau:
Up: Một tuyến được xem là ở trạng thái Up nếu giá trị độ đo của nó nhỏ hơn 16. Chỉ có tuyến ở trạng thái Up mới được sử dụng để định tuyến. Mỗi tuyến sẽ tồn tại ở trạng thái Up trong thời gian bằng 6 lần chu kỳ cập nhật (180 giây),thời gian này gọi là định thời của tuyến. Định thời của tuyến được thiết lập lại mỗi lần tuyến được cập nhật và sửa đổi lại. Khi hết thời gian này, tuyến sẽ chuyển sang trạng thái Grabage-collection.
Garbage-collection: thời gian tuyến tồn tại ở trạng thái Garbage-collection bằng 4 lần chu kỳ cập nhật (120 giây). Nếu hết thời gian này mà tuyến không được cập nhật thì nó sẽ bị xóa khỏi bảng, tuyến chuyển thành trạng thái Down. Nếu tuyến được cập nhật thì nó trở về trạng thái Up với giá trị độ đo mới hoặc chặng mới.
Hold-down: Một tuyến đang ở trạng thái Up sẽ chuyển sang trạng thái Hold-down nếu như nếu như nó nhận được thông tin cập nhật định tuyến với độ đo bằng vô cùng (16). Tuyến sẽ tồn tại ở trạng thái này trong khoảng thời gian bằng 4 lần chu kỳ cập nhật (120 giây). Nếu trong khoảng thời gian này mà tuyến được cập nhật với độ đo nhỏ hơn 16 thì tuyến sẽ chuyển về trạng thái Up. Quá thời gian đó, tuyến sẽ chuyển sang trạng thái Garbage-collection.
Hình 3.1 Sơ đồ chuyển trạng thái tuyến trong Ripng
Router chạy giao thức Ripng có thể vận hành theo một trong hai chế độ: Chủ động (active mode), và bị động (passive mode).Router chạy ở chế độ bị động chỉ lắng nghe và nhận thông tin cập nhật từ các Router Hàng xóm mà không gửi thông tin cập nhật bảng định tuyến của mình cho các Router khác. Trong khi đó Router chạy ở chế độ thụ động sẽ đồng thời làm cả hai việc trên.
Giao thức Ripng dựa trên thuật toán định tuyến Distance Vector nên quá trình lặp định tuyến có thể xẩy ra (Loop).Có ba cách để ngăn chặn hiện tượng lặp định tuyến:
Cộng đến một giá trị tới hạn: Mỗi lần đi qua một Router định tuyến thì giá trị đếm bước sẽ tăng lên một và gới hạn bước là 15.
Chia ngang (Split Horizon): là cách mà Router B không cập nhật các thông tin định tuyến mà nó nhận được từ Router A cho chính bản thân Router A.
Cơ chế nắm giữ thông tin: Là cơ chế mà Router khi nhận được thông tin thay đổi định tuyến thì nó không cập nhật ngay vào bảng đinh tuyến mà chờ cho đến hết một khoảng thời gian tới hạn (180 giây) mà vẫn nhận được thông tin thay đổi đinh định tuyến đó thì nó mới cập nhật.
III.4.1.2 Cấu trúc gói RIPng
Hình 3.2 Cấu trúc gói Ripng
Cấu trúc của gói RIPng được trình bày như hình 3.2. Trong đó:
Command : Chỉ ra loại thông điệp RIPng là Request hay Response
Request : Yêu cầu 1 các neighbor router gửi Update message (toàn bộ bảng định tuyến).
Response : Chỉ ra rằng đây là 1 thông điệp chứa toàn bộ(hay 1 phần) bảng định tuyến được gửi đi.
Version : Chỉ ra phiên bản của giao thức RIP đang sử dụng. Về chức năng của RIPng cũng giống như trong RIP version 2.
Phần còn lại của thông điệp bao gồm 1 danh sách các RTE. Mỗi RTE trong đó bao gồm các trường sau :
Hình 3.3 Cấu trúc RTE
Trường tiền tố đích thường là 1 số 128 bit được lưu trong 16 octet.
Trường Route Tag là một thuộc tính được gán cho 1 route với mục đích là cung cấp 1 phương thức nhận dạng giữa các routes “RIPng Internal” và các route “Exterrnal RIPng” khác. Các route này có thể nhận được từ 1 EGP hoặc IGP khác.Một Router hỗ trợ đa giao thức thì nó phải được cấu hình để Route Tag được gán cho các Routes mà nó được học từ các nguồn khác nhau. Ví dụ như các routes được học từ 1 EGP thì có 1 Route Tag riêng (1 số tùy ý hay lấy chính Autonomous System của nó làm Route tag).
Trường Prefix Len: Chỉ ra độ dài của tiền tố (tính theo bit) có giá trị từ 0-128.
Metric : Chỉ ra số Hop Count của quãng đường có giá trị từ 1-15. Nếu trường này có giá trị là 16 thì đích coi như là không đến được (unreachable).
Số các RTE trong thông điệp RIPng không bị giới hạn bởi con số 25 như trong RIPv1 hay RIPv2 ở IPv4 mà nó chỉ phụ thuộc vào MTU của tuyến đường đang được sử dụng để quảng bá RIPng
III.4.2 Giao thức định tuyến OSPFv3
III.4.2.1 Cơ bản về OSPFv3:
Giao thức OSPFV3 (Open Shorted Path Fist Protocol Version 3) được xây dựng trên nền tảng của thuật toán định tuyến Link State, mỗi Router sẽ xây dựng và duy trì một cơ sở dữ liệu mô tả cấu trúc của toàn hệ thống. Mỗi Router có một cơ sở dữ liệu riêng tùy vào vị trí, vai trò của nó trong hệ thống. Để xây dựng lên cơ sở dữ liệu này, mỗi Router sẽ tự tạo ra các bản tin mô tả về trạng thái quanh mình (trạng thái của các giao diện, các Router khác trên cùng liên kết). Các bản tin này sau đó được các Router phát đi tới tất cả các Router trong hệ thống. Do đó các Router có thể biết được sự hiểu biết về hệ thống và từ đó tính toán chính xác được tuyến đường đi tốt nhất tới bất kỳ địa chỉ đích nào dựa vào thuật toán Dijkstra.
Sự cập nhật bảng định tuyến xẩy ra khi Router nhận thấy có sự thay đổi định tuyến.Không giống giao thức RIP (sử dụng thuật toán distance vector) cập nhật toàn bộ bảng đinh tuyến một cách định kỳ, giao thức OSPF chỉ cập nhật những gì thay đổi trên bảng định tuyến và sự cập nhật chỉ xẩy ra khi có sự thay đổi định tuyến.Sự cập nhật này được cập nhật cho cả mạng chứ không như giao thức RIP chỉ cập nhật cho hàng xóm của nó.Giao thức OSPF có độ hội tụ cao hơn so với giao thức RIP nhưng lại phải tính toán nhiều hơn.OSPF dùng bản tin quảng bá trạng thái (LSAs – Link State Advertisments) để cập nhật thông tin định tuyến.Quan trọng nhất trong giao thức OSPFv3 là sự đồng bộ cơ sở dữ liệu giữa các Router, đó là việc tính toán chính xác đường đi ngắn nhất giữa các Router trên cùng một hệ thống.
III.4.2.2 Định dạng header gói tin OSPFv3
Hình 3.4 Cấu trúc gói OSPFv3
Giá trị và ý nghĩa của các trường như sau :
Version : 1 byte, có giá trị là 3 cho biết đây là version 3.
Packet Type : 1 byte, cho biết kiểu gói tin
Bảng 3.2 Bảng giá trị trường kiểu gói tin ospfv3
Kiểu gói tin
Tên
Mô tả
1
Hello
Dùng để khởi tạo và duy trì các adjacency. Bình bầu DR và BDR
2
Database Description
Dùng để trao đổi các thông tin về database định tuyến của các adjacency
3
Link State Request
Thông điệp yêu cầu cập nhật
4
Link State Update
Trao đổi các LSA và các hồi đáp
cho các yêu cầu khi hình thành adjacency hoặc trong quá trình flooding LSA.
5
Link State Acknowledgement
Kiểu gói tin báo cho phía gửi là đã nhận được thông tin.
Packet Length : 2 byte, cho biết chiều dài của gói tin OSPFv3(bao gồm cả OSPFv3 header) , được đo bằng byte.
Router ID : 4 byte, mô tả Router ID của router đã tạo ra gói tin OSPFv3.
Area ID : 4 byte, mô tả Area ID của giao diện đã tạo ra gói tin OSPFv3. Nếu Area ID có giá trị 0 có nghĩa là Area backbone.
Checksum : 2 byte, Sử dụng cơ chế tính checksum của các ứng dụng IPv6.
Instance ID : 2 byte, định ra 1 Instance mà gói tin OSPFv3 đang thuộc về. Trường này giống như là Handle trong Windows vậy. Instance ID là 1 số 8 bit được gán cho mỗi giao diện của router.
Unused : 1 byte, là trường dự trữ, chưa được sử dụng.
Cấu trúc gói tin Hello.
Gói tin Hello dùng để thiết lập và duy trì kết nối liền kề, hơn nữa chúng còn được sử dụng trong việc bình bầu ra DR và BDR. Gói tin Hello được gửi ra giao diện định kì. Trong một mạng điểm nối điểm hay 1 mạng broadcast thì gói tin Hello được gửi địa chỉ multicast AllSPFRouter (FF02::5), thông qua các gói tin Hello này, các hàng xóm được phát hiện một cách tự động. Các mạng đa truy nhập không hỗ trợ broadcast được gọi là các mạng đa truy nhập không broadcast (non-broardcast-multi-access networks- NBMA) ví dụ như X25 hoặc Frame Relay.
Giá trị và ý nghĩa của các trường :
Interface ID: 4 byte, định danh của giao diện gửi Hello. Mỗi giao diện trên một OSPFv3 router được gán một Interface ID riêng biệt.
Router Priority: 3 byte, định ra thứ tự ưu tiên của interface trong router. Nó được sử dụng để bầu chọn DR, BDR. Router có số priority lớn nhất sẽ là DR hoặc BDR nhưng chỉ khi nào DR hoặc BDR chưa được chọn ra mà thôi. Nếu trường này bằng 0 thì router không được tham gia vào quá trình bình bầu DR, BDR.
Options : 3 byte, chứa các lựa chọn của gói tin Hello. Trường này được thiết lập trong các gói tin OSPFv3 Hello, các gói tin Database Description và Link-LSA. Tuy vậy hiện này trường này chỉ dùng 6 bit thấp, 18 bit cao để dự trữ.
Bit
Tên
Mô tả
0-17
-
Chưa sử dụng.
18
DC
Mô tả Demand Circuits (RFC 1793).
19
E
Chỉ ra đây là External Route. Trong một miền Stub, tất cả các router phải thiết lập bit này bằng 0 mới có thể thiết lập adjacency. E-bit rất có ý nghĩa trong c._.