Cải thiện hiệu năng định tuyến luôn là bài toán được quan tâm hàng đầu trong mạng. Đó chính việc điều khiển lưu lượng chứ không phải hiệu suất hay khả năng mở rộng của hệ thống
Một trong các khía cạnh then chốt của kỹ thuật định tuyến trong MPLS là hỗ trợ các đường dẫn hiện (nổi) dựa trên kỹ thuật chuyển tiếp nhãn, vì vậy thuật toán định tuyến trong MPLS cho phép lựa chọn các đường dẫn và các tham số chất lượng dịch vụ QoS để có được các kết quả tốt nhất. Yêu cầu chất lượng dịch vụ (QoS) của kết nối có thể được đưa ra như một tập các điều kiện ràng buộc, các điều kiện này có thể thể hiện rõ ràng như các yêu cầu về băng thông tối thiểu từ phía khách hàng, hoặc không tường minh như các yêu cầu về độ đàn hồi của mạng. Trong công nghệ chuyển mạch nhãn đa giao thức (MPLS), việc lựa chọn đường dẫn chuyển mạch nhãn (LSP) dựa trên
LOẠI LSR Chức năng thực hiện
LSR Chuyển tiếp gói có nhãn
LSR biên Nhận gói IP, Kiểm tra lại lớp 3 và đặt vào ngăn xếp nhãn trước khi gửi gói vào mạng LSR.
Nhận gói tin có nhãn, loại bỏ nhãn, kiểm tra lại lớp 3 và chuyển tiếp gói IP đến node tiếp theo
ATM-LSR Sử dụng giao thức MPLS trong mảng điều khiển để thiết lập kênh ảo ATM. Chuyển tiếp tế bào đến node ATM=LSR tiếp theo
ATM-LSR biên
Nhận gói tin có nhãn hoặc không có nhãn, phân vào các tế bào ATM và gửi các tế bào đến node ATM-LSR tiếp theo. Nhận các tế bào ATM từ ATM-LSR cận kề, tái tạo các gói từ các tế bào ATM và chuyển tiếp gói có nhãn hoặc không nhãn.
phương pháp tìm đường ngắn nhất với điều kiện ràng buộc (CSPF) là giải pháp định tuyến động cơ bản trong mạng MPLS.
Trong Phần này chúng ta sẽ đi tìm hiểu các giao thức và các thuật toán hỗ trợ định tuyến QoS trong mạng MPLS.
1. Điều khiển gán nhãn độc lập và theo yêu cầu
Để thực hiện chuyển tiếp gói tin qua mạng chuyển mạch nhãn đa giao thức, nhãn được gán và phân phối trong các node mạng MPLS, MPLS hỗ trợ hai kiểu điều khiển gán nhãn vào lớp chuyển tiếp tương đương FEC: điều khiển gán nhãn độc lập và theo yêu cầu.
Trên hình 3.13, LSR-1 sử dụng OSPF để phát hành tiền tố địa chỉ 192.168/19 tới ATM- LSR, sau khi nhận được phát hành này LSR-ATM độc lập gán nhãn vào trong luồng FEC và phát hành địa chỉ nhãn này tới các LSR lân cận, các nhãn là các nhãn rỗi lấy được lấy ra từ ngăn xếp nhãn. Ưu điểm cơ bản của phương pháp này là các nhãn được gán chỉ khi có phát hành địa chỉ, giả thiết là mạng có độ hội tụ định tuyến nhanh (các bảng định tuyến trong miền định tuyến ổn định và đồng bộ với các bộ định tuyến khác) thì bước liên kết gán nhãn được thực hiện rất nhanh. Tuy nhiên, các bộ định tuyến chuyển mạch nhãn phải thiết lập thoả thuận với các LSR lân cận về lớp chuyển tiếp tương đương sẽ sử dụng. Nếu quyết định khác với lớp chuyển tiếp tương đương, hoặc một số lớp chuyển tiếp tương đương không có các đường dẫn chuyển mạch nhãn liên kết với chúng, thậm chí có nhưng chúng không khả dụng thì quá trình gán nhãn không được đảm bảo.
Hình 3.13: Điều khiển độc lập
Hình 3.14: Điều khiển theo yêu cầu
Phương pháp điều khiển gán nhãn theo yêu cầu đảm bảo chắc chắn rằng tất cả các LSR trên đường dẫn chuyển mạch nhãn sử dụng cùng FEC được khởi tạo gán nhãn. Mặt hạn chế
của phương pháp này là thời gian thiết lập LSP, một số quan điểm cho rằng phương pháp này có vẻ kém hiệu quả, một số khác lại cho rằng phương pháp điều khiển gán nhãn theo yêu cầu sẽ hỗ trợ rất tốt cho vấn đề định tuyến ràng buộc. Trên thực tế, công nghệ chuyển mạch nhãn đa giao thức MPLS thực hiện cả hai phương pháp trên.
2. Phát hiện và chống vòng lặp
Hiện tượng vòng lặp có thể xuất hiện trong bất kỳ loại mạng nào, hầu hết các giao thức định tuyến đều có thể gặp hiện tượng lặp vòng trong một điều kiện nào đó, có thể khi mạng gặp sự cố và một tuyến liên kết mạng bị hỏng. Chúng ta thấy rằng có hai cách cơ bản để ngăn chặn hiện tượng này:
• Ngăn ngừa vòng lặp: Ngăn ngừa các thông tin trên tuyến vòng lặp trước khi gói tin chuyển trên đó.
• Giảm bớt hậu quả vòng lặp: Từng bước hạn chế ảnh hưởng bất lợi do vòng lặp gây ra.
Hầu hết các giao thức định tuyến thuần IP đều không có khả năng chống lại hiện tượng vòng lặp thời gian ngắn, chuyển tiếp IP sử dụng tiếp cận thứ 2 là giảm bớt sự bất lợi do vòng lặp gây ra. Trường thời gian sống TTL trong gói tin sẽ giảm dần từng bước cho đến khi bằng “0” thì gói tin đó bị huỷ bỏ. Trong rất nhiều trường hợp, MPLS có thể thực hiện chính xác các giải pháp của giao thức IP đưa ra vì trong gói tin MPLS có chứa trường chức năng TTL, nhưng có trường hợp gói tin không chứa trường chức năng TTL, thì giải pháp được thực hiện tại LSR như trong chuyển mạch thẻ của Cisco thực hiện, TSR sử dụng một phần tài nguyên cho theo dõi lưu lượng, ngăn chặn sự tăng đột biến lưu lượng khi xảy ra định tuyến lặp. TSR có thể tính toán các bước nhảy khi liên kết nhãn được phân phối theo yêu cầu. Một trường tính toán bước nhảy có trong giao thức phân phối nhãn. Yêu cầu liên kết truyền theo hướng các node ra của một tuyến chuyển mạch thẻ, nếu trong lúc xử lý tính toán node có giá trị bằng 0 thì có nghĩa là yêu cầu liên kết bị lỗi. Như vậy, giải pháp được đưa ra thể hiện trên chính kiến trúc của mạng MPLS, nó sử dụng chỉ định vùng đệm như một dạng của giải pháp hạn chế ảnh hưởng mạch vòng. Rất nhiều trường chuyển mạch ATM có khả năng giới hạn không gian bộ đệm chuyển mạch có thể sử dụng bởi một kênh ảo VC, ứng dụng này trong môi trường MPLS có thể điều khiển giảm bớt được các thiệt hại do hiện tượng vòng lặp gây nên. Chú ý rằng, mục tiêu hạn chế vòng lặp là cho phép định tuyến tái hội tụ, và đó được coi là cách tốt nhất để đảm bảo rằng các bộ định tuyến không bị quá tải với các gói tin chuyển tiếp vòng. Trong ATM-LSR, nếu các gói tin đang lặp vòng và chiếm một không gian bộ nhớ đệm, thì các chuyển mạch vẫn có thể chuyển đi các gói tin cập nhật định tuyến, các gói tin này sẽ đảm bảo cho các tuyến được hội tụ. Thậm chí nếu mạch vòng không phải là kiểu tạm thời (có thể do nhầm lẫn khi cấu hình hệ thống), thì
ATM-LSR vẫn còn chức năng xử lý gói tin điều khiển và chuyển tiếp các gói tin không lặp vòng, nếu tài nguyên chuyển mạch bị tiêu tốn cho vòng lặp có giới hạn.
Kỹ thuật phát hiện mạch vòng trong MPLS được phát triển như một phần của kiến trúc ARIS, dựa trên ý tưởng gọi là vecto đường dẫn. Tính năng này là tuỳ chọn trong MPLS và không áp dụng cho tất cả các trường hợp, nhưng nó yêu cầu các LSR phải cấu hình được. Một vecto đường dẫn một danh sách các LSP mà có các bản tin Label REQUEST và bản tin Label MAPPING được chuyển qua. Nếu có hiện tượng mạch vòng xảy ra thì trên chính các LSR sẽ nhận thấy các bản tin đi vòng, hoặc bản tin yêu cầu chứa đúng địa chỉ của nó, vì vậy, mạch vòng sẽ được phát hiện và huỷ bỏ.
Cuối cùng, một tiếp cận ngăn ngừa mạch vòng được phát triển bởi chính MPLS dựa trên khái niệm các mạch mầu (colored threads), đây là khái niệm hoàn toàn mới và chưa từng xuất hiện trong các tiếp cận về chuyển mạch nhãn trước đây, tiếp cận này gắn với LSR- ATM nhưng nó có thể hoạt động tốt với bất kỳ LSR nào, tiếp cận này yêu cầu cơ chế điều khiển LSP. Ý tưởng của tiếp cận các mạch mầu khá đơn giản, chúng ta mô hình hoá các tiến trình xử lý thiết lập một LSP như một phần mở rộng của các mạch mầu từ bộ định tuyến đầu vào tới đầu ra. Nếu mạch bị vòng lặp các bộ định tuyến sẽ nhận thấy chỉ một mầu mà nó đã chọn trước và sau khi vòng lặp. Tại điểm này, nó sẽ ngắt xử lý thiết lập LSP cho đến khi mạch vòng bị bẻ gẫy.
Giao thức phân phối nhãn LDP
Giao thức phân phối nhãn được nhóm nghiên cứu MPLS của IETF xây dựng và ban hành dưới tên RFC 3036. Phiên bản mới nhất được công bố năm 2001 đưa ra những định nghĩa và nguyên tắc hoạt động của giao thức LDP.
Sự phân phối nhãn là hoạt động cơ bản của MPLS. MPLS giúp các nhãn nằm trên đỉnh của các giao thức khác. PIM được dùng để phân phối các nhãn trong truờng hợp định tuyến multicast. Trong trường hợp unicast, MPLS dùng giao thức phân phối nhãn- Label Distribution Protocol (LDP) và Border Gateway Protocol (BGP). Giao thức phân phối nhãn được sử dụng trong quá trình gán nhãn cho các gói thông tin yêu cầu. Giao thức LDP là giao thức điều khiển tách biệt được các LSR sử dụng để trao đổi và điều phối quá trình gán nhãn/FEC. Giao thức này là một tập hợp các thủ tục trao đổi các bản tin cho phép các LSR sử dụng giá trị nhãn thuộc FEC nhất định để truyền các gói thông tin. Vị trí của giao thức LDP và các mối liên kết chức năng cơ bản của LDP với các bộ giao thức khác.
Giao thức phân phối nhãn LDP có các đặc trưng cơ bản sau đây.
LDP cung cấp các kỹ thuật phát hiện LSR để cho phép LSR tìm kiếm và thiết lập truyền thông.
LDP định nghĩa 4 loại bản tin : • Bản tin tìm kiếm
• Bản tin liên kết khởi tạo, giữ và đóng phiên làm việc giữa các lSR.
• Bản tin phát hành nhãn thực hiện phát hành thông tin gán nhãn, yêu cầu, thu hồi và giải phóng nhãn.
• Bản tin thông báo sử dụng để cung cấp các thông tin giám sát và báo hiệu thông tin lỗi.
LDP chạy trên giao thức TCP để đảm bảo độ tin cậy của các bản tin. (trừ bản tin phát hiện).
LDP được thiết kế để dễ dàng mở rộng, sử dụng kiểu bản tin đặc biệt để thu thập các đối tượng mã hoá TVL (kiểu, độ dài, giá trị).
Hình 3.15: Giao thức LDP với các giao thức khác
Một kết nối TCP được thiết lập giữa các LSR đồng cấp để đảm bảo các bản tin LDP được truyền một cách trung thực theo đúng thứ tự. Các bản tin LDP có thể xuất phát từ trong bất cứ một LSR để điều khiển đường chuyển mạch nhãn LSP độc lập hay từ LSR biên lối ra (điều khiển LSP theo lệnh) và chuyển từ LSR phía trước đến LSR phía sau cận kề. Việc trao đổi các bản tin LDP có thể được khởi phát bởi sự xuất hiện của
luồng số liệu đặc biệt, bản tin lập dự trữ RSVP hay cập nhật thông tin định tuyến. Khi một cặp LSR đã trao đổi bản tin LDP cho một FEC nhất định thì một đường chuyển mạch LSP từ đầu vào đến đầu ra được thiết lập sau khi mỗi LSR ghép nhãn đầu vào với nhãn đầu ra tương ứng trong LIB của nó.
Phát hiện LSR lân cận
Thủ tục phát hiện LSR lân cận của LDP chạy trên UDP và thực hiện như sau (minh hoạ trên hình 3.16) :
• Một LSR định kỳ gửi đi bản tin HELLO tới các cổng UDP đã biết trong tất cả các bộ định tuyến trong mạng con của nhóm multicast.
• Tất cả các LSR tiếp nhận bản tin HELLO này trên cổng UDP. Như vậy, tại một thời điểm nào đó LSR sẽ biết được tất cả các LSR khác mà nó có kết nối trực tiếp. • Khi LSR nhận biết được địa chỉ của LSR khác bằng cơ chế này thì nó sẽ thiết lập
kết nối TCP đến LSR đó.
• Khi đó phiên LDP được thiết lập giữa 2 LSR. Phiên LDP là phiên hai chiều có nghĩa là mỗi LSR ở hai đầu kết nối đều có thể yêu cầu và gửi liên kết nhãn.
Trong trường hợp các LSR không kết nối trực tiếp trong một mạng con (subnet) người ta sử dụng một cơ chế bổ sung như sau:
LSR định kỳ gửi bản tin HELLO đến cổng UDP đã biết tại điạ chỉ IP xác định được khai báo khi lập cấu hình. Đầu nhận bản tin này có thể trả lời lại bằng bản tin HELLO khác truyền một chiều ngược lại đến LSR gửi và việc thiết lập các phiên LDP được thực hiện như trên.
Thông thường trường hợp này hay được áp dụng khi giữa 2 LSR có một đường LSP cho điều khiển lưu lượng và nó yêu cầu phải gửi các gói có nhãn qua đường LSP đó.
Hình 3.16: Thủ tục phát hiện LSR lân cận
Như chúng ta đã biết, bản tin LDP được truyền trên giao thức TCP, nhưng việc quyết định sử dụng TCP để truyền các bản tin LDP là một vấn đề cần xem xét. Yêu
cầu về độ tin cậy là rất cần thiết: nếu việc liên kết nhãn hay yêu cầu liên kết nhãn được truyền một cách không tin cậy thì lưu lượng cũng không được chuyển mạch theo nhãn. Một vấn đề quan trọng nữa đó là thứ tự các bản tin phải bảo đảm đúng. Như vậy liệu việc sử dụng TCP để truyền LDP có bảo đảm hay không và có nên xây dựng luôn chức năng truyền tải này trong bản thân LDP hay không? Việc xây dựng các chức năng bảo đảm độ tin cậy trong LDP không nhất thiết phải thực hiện toàn bộ các chức năng của TCP trong LDP mà chỉ cần dừng lại ở những chức năng cần thiết nhất ví dụ như chức năng điều khiển tránh tắc nghẽn được coi là không cần thiết trong LDP. Tuy nhiên việc phát triển thêm các chức năng đảm bảo độ tin cậy trong LDP cũng có nhiều vấn đề cần xem xét ví dụ như các bộ định thời cho các bản tin ghi nhận và không ghi nhận, trong trường hợp sử dụng TCP chỉ cần một bộ định thời của TCP cho toàn phiên LDP.
Thiết kế một giao thức truyền tải tin cậy là một vấn đề nan giải. Đã có rất nhiều cố gắng để cải thiện TCP nhằm làm tăng độ tin cậy của giao thức truyền tải. Tuy nhiên vấn đề hiện nay vẫn chưa rõ ràng và TCP vẫn được sử dụng cho truyền tải LDP.
Các bản tin LDP như phần đầu đã trình bày có 4 kiểu bản tin cơ bản được sử dụng trong giao thức phân phối nhãn LDP, các bản tin thông dụng là.
• Bản tin khởi tạo (Initialization) • Bản tin giữ đường (KeepAlive) • Bản tin gán nhãn (Label Mapping) • Bản tin giải phóng (Release)
• Bản tin Thu hồi nhãn (Label Withdraw) • Bản tin yêu cầu (Request)
• Bản tin huỷ bỏ yêu cầu (Request Abort)
Dạng bản tin Initialization: Các bản tin thuộc loại này được gửi khi bắt đầu một phiên LDP giữa 2 LSR để trao đổi các tham số, các tuỳ chọn cho phiên. Các tham số này bao gồm:
• Chế độ phân bổ nhãn • Các giá trị bộ định thời
Phạm vi các nhãn sử dụng trong kênh giữa 2 LSR đó
Cả 2 LSR đều có thể gửi các bản tin khởi tạo và LSR nhận sẽ trả lời bằng bản tin giữ đường nếu các tham số được chấp nhận. Nếu có một tham số nào đó không được chấp nhận thì LSR trả lời thông báo có lỗi và phiên kết thúc.
Dạng bản tin giữ đường: Các bản tin giữ đường được gửi định kỳ khi không có bản tin nào được gửi để đảm bảo cho mỗi thành phần LDP biết rằng thành phần LDP khác đang hoạt động tốt. Trong trường hợp không xuất hiện bản tin giữ đường hay một số bản tin khác của LDP trong khoảng thời gian nhất định thì LSR sẽ xác định đối phương hoặc kết nối bị hỏng và phiên LDP bị dừng.
Dạng bản tin gán nhãn: Các bản tin gán nhãn được sử dụng để quảng bá liên kết giữa FEC (Prefix điạ chỉ) và nhãn. Bản tin thu hồi nhãn thực hiện quá trình ngược lại nó được sử dụng để xoá bỏ liên kết vừa thực hiện. Bản tin này được sử dụng khi có sự