Trong một mạng IP, nằm giữa các node có thể hình thành đa đường cùng chi phí. Nếu không có sự hỗ trợ của định tuyến hiện hoặc cân bằng tải thì một đường sẽ được chọn một cách ngẫu nhiên. Hình 2.7 chỉ ra một hiện tượng rất phổ biến trong đó tất cả lưu lượng được chuyển tiếp dọc theo một đường. Kết quả là đường đó bị nghẽn trong khi các đường khác có cùng chi phí lại vẫn rỗi. Để giải quyết điều này, OSPF giới thiệu một kĩ thuật là đa đường đồng chi phí (ECMP). Kĩ thuật này sẽ phân bố tải trên đa đường. Có ba phương pháp đã được đề xuất để phân chia tải lên đa đường đồng chi phí:
• Chuyển tiếp gói tin theo vòng tròn: phương pháp này thực hiện chuyển tiếp các gói tin theo một vòng kín giữa đa đường. Chuyển tiếp vòng tròn
loại bỏ sự kết hợp dữ liệu hay sự hình thành chuỗi gói tin và do đó loại bỏ hiệu năng thấp TCP. Phương pháp này chỉ áp dụng được nếu như các trễ trong đa đường là xấp xỉ nhau.
• Phân chia các tiền tố đích giữa các hop kế tiếp sẵn sàng: đây là một phương pháp thô giúp tránh kết hợp lưu lượng bằng cách chia lưu lượng dựa trên tiền tố trong địa chỉ đích của gói tin. Phương pháp này có thể áp dụng với một WAN tốc độ cao nhưng các tiền tố ngắn là một vấn đề khó khăn vì khi đó thì phần lớn các gói tin sẽ được định tuyến tới một tiền tố duy nhất.
• Băm đối với một cặp nguồn – đích: phương pháp này sử dụng một hàm băm, chẳng hạn như CRC-16. Nó được áp dụng đối với địa chỉ nguồn và địa chỉ đích trong gói tin. Không gian băm được phân chia đều giữa các đường sẵn sàng bằng việc thiết lập các ngưỡng hay thực hiện một thuật toán modun. Như vậy, lưu lượng giữa cặp nguồn và đích luôn ở trong cùng một đường. Phương pháp này có thể áp dụng cho các WAN tốc độ cao.
Hình 2.7 Hiện tượng trên mạng khi không có cân bằng tải
Kĩ thuật lưu lượng MPLS phức tạp hơn ECMP ở ít nhất hai khía cạnh. Thứ nhất, MPLS cung cấp lựa chọn đường tối ưu. Về mặt toàn cục, ECMP chỉ cố gắng chia đều tài trên các đường đồng chi phí mà không cố gắng ấn định các dòng một cách tối ưu cho đa đường cũng như không có hiểu biết về độ sẵn sàng và các điều kiện tải động của đa đường. Kĩ thuật lưu lượng MPLS, thông qua cơ chế tràn lụt LSA mờ OSPF, xây dựng và duy trì một cơ sở dữ liệu kĩ thuật lưu lượng. Cơ sở dữ liệu này chứa thông tin kĩ thuật lưu lượng liên quan tới mỗi tuyến nối về băng thông tổng, băng thông sẵn sàng, băng thông đã đặt trước và băng thông có thể đặt trước. Dựa trên cơ sở dữ liệu kĩ thuật lưu lượng, kĩ thuật lưu lượng MPLS có khả năng thực hiện ấn định dòng tối ưu trong một môi trường mạng động. Rõ ràng là một phân chia tải đồng đều cho đa đường chưa hẳn luôn luôn là tối ưu. Ví dụ như, một phần của một đường đồng chi phí bị quá tải trầm trọng trong khi các đường khác chỉ quá tải nhẹ hoặc thậm chí là rỗi. Một cơ
chế cân bằng tải tối ưu nên gán các dòng lưu lượng cho các đường theo tỉ lệ ngược với lưu lượng đã được sử dụng trong đường đó. IETF OSPF-OMP (đa đường tối ưu) đã khuyến nghị triển khai các LSA mờ LSA_OMP_LINK_LOAD và LSA_OMP_PATH_LOAD. LSA mờ LSA_OMP_LINK_LOAD bao gồm các thông tin sau:
• Tải tuyến trong mỗi hướng được đo bằng một phần của dung lượng tuyến.
• Tốc độ mất gói tin phụ thuộc vào tràn dòng hàng đợi trong mỗi hướng.
• Dung lượng tuyến được thể hiện dưới dạng kB/s.
LSA mờ LSA_OMP_PATH_LOAD bao gồm các thông tin sau:
• Tải lớn nhất trong một hướng từ nguồn tới đích được biểu diễn như là một phần của dung lượng tuyến. Cần chú ý rằng tuyến có tải cao nhất chưa chắc đã là tuyến có dung lượng sẵn sàng thấp nhất.
• Tổng gói tin bị mất trong mỗi hướng từ nguồn tới đích phụ thuộc tràn dòng hàng đợi. Nó có thể tính theo công thức sau:
( ) ∏ − − = links link path L L 1 1
trong đó Lpath là tốc độ mất gói cho đường và Llink là tốc độ mất gói cho mỗi tuyến trên đường.
• Dung lượng tuyến nhỏ nhất trên đường trong mỗi hướng từ nguồn tới đích.
Để điều chỉnh tải đường cân bằng một cách chính xác, OSPF-OMP cũng định nghĩa tải tương đương và phần được tải quan trọng. Tải tương đương xuất phát từ việc sử dụng tải phân mảnh thực tế được ghép kênh bởi một thông số ước lượng dựa trên mức độ tổn thất nhất định theo đó TCP được hi vọng là giảm xuống để tránh tắc nghẽn. Đối với mọi tập đa đường, phần của đường có tải tương đương cao nhất được coi là phần tải quan trọng. Hơn nữa, mỗi đường trong một cấu trúc hop kế tiếp nắm giữ ba biến sau: chia sẻ lưu lượng, số gia bước và đếm bước. Cơ chế OSPF-OMP điều chỉnh tải của mỗi đường theo cách sau:
• Số gia bước của đường sẽ không đổi nếu đường chứa phần tải quan trọng
• Nếu đường không chứa phần tải quan trọng nhưng phần tải quan trọng đã thay đổi thì đường đó sẽ chứa các phần tải quan trọng trước đó. Đường đó sẽ được điều chỉnh như sau:
Số gia bước được thiết lập giá trị thấp nhất trong số các đường chứa
phần tải quan trọng.
Nếu đường đó không chứa phần tải quan trọng và đường đó không
chứa phần tải quan trọng trước đó cũng như phần tải quan trọng chưa thay đổi thì số gia bước sẽ được tăng.
Hình 2.8 miêu tả một ví dụ cân bằng tải sử dụng OSPF-OMP, trong đó tại bộ định tuyến d, lưu lượng đến bộ định tuyến các được chia ra hai đường sẵn sàng. Bằng cách áp dụng một hàm băm đối với cặp nguồn và đích tại bộ định tuyến d, lưu lượng từ a tới c được chuyển tiếp trên một đường trong khi lưu lượng từ b tới c được gán cho một đường khác.
Hình 2.8 OSPF-OMP
So với ECMP, kĩ thuật lưu lượng MPLS cung cấp khả năng định tuyến đường hiện. Kết quả là, kĩ thuật lưu lượng MPLS có khả năng tính toán và thiết lập các LSP. Chúng có thể thay đổi hoàn toàn tính chất của chuyển tiếp liền kề. Trong trường hợp các mạng chưa tận dụng hết tài nguyên thì các quyết định định tuyến sẽ được quyết định chủ yếu bởi việc giảm thiểu trễ. Trong các mạng tận dụng hết tài nguyên thì các quyết định định tuyến phải xem xét tới các tuyến nối dung lượng nhỏ và các tuyến nối chịu tải trọng lớn. Nhờ có cân bằng tải sự tận dụng mạng sẽ được tối ưu. Tuy nhiên, khi sự tận dụng phát triển hơn, việc cân bằng tải bằng cách điều chỉnh chi phí tuyến nối sẽ không còn phù hợp nữa vì khi đó mạng đã đạt hoặc gần đạt dung lượng tối đa của nó. MPLS-OMP sử dụng cùng một cơ chế cân bằng tải như trong OSPF-LMP. Sự khác biệt giữa hai cơ chế này nằm ở khả năng của MPLS trong việc thiết lập/loại bỏ LSP. Bằng cách tăng các kênh để đáp ứng sự phát triển lưu lượng, kĩ thuật lưu lượng MPLS hi vọng sẽ tránh được các điểm nóng hay nghẽn để cực đại hoá sự tận dụng hay thông lượng mạng. Từ quan điểm lối vào, mỗi khi một LSP được thiết lập, LSP đó tiếp cận được lối ra trở thành một láng giềng ảo và tình trạng tải của nó được thiết lập một cách tương ứng. Nếu có đa đường giữa hai node đó (lối vào và lối ra), tải được chia ra các đường đó. Như thế các đường chưa được tận dụng có thể bị xoá khỏi chuyển tiếp liền kề.
Hình 2.9 MPLS-OMP
Hình 2.9 miêu tả một ví dụ của cân bằng tải sử dụng MPLS-OMP, trong đó bộ định tuyến d là một bộ định tuyến lối vào MPLS và khởi tạo một LSP từ bộ định tuyến d tới bộ định tuyến c. Một khi LSP đó được thiết lập, chuyển tiếp liền kề (nghĩa là cấu trúc hop kế tiếp) sẽ được cập nhật tại bộ định tuyến d sao cho bộ định tuyến c trở thành bộ định tuyến ảo liền kề với nó. Bằng cách thu thập tải đường LSP, LSP này được cấu hình để không chỉ mang lưu lượng xuất phát từ node b. Theo cách này, lưu lượng được phân bố dựa trên độ sẵn sàng và dung lượng của tài nguyên. Chú ý rằng ví dụ này không có ý định chỉ ra sự nhất thiết bổ sung một LSP. Nó chỉ thể hiện ấn định dòng theo phương pháp MPLS-OMP.