2.2.1 Chế độ phân phối nhãn.
MPLS cho phép hai chế độ hoạt động của các LSR để phân phối các ánh xạ nhãn. Đó là phân phối không cần yêu cầu (Downstream Unsolicited) và phân phối theo yêu cầu (Downstream on Demand).
2.2.1.a Phân phối không cần yêu cầu.
Downstream-LSR phân phối các gán kết nhãn đến upstream-LSR mà không cần có yêu cầu thực hiện gán kết nhãn. Ví dụ như R2 là downstream của upstream-R1, R2 sẽ thực hiện việc gán kết nhãn và thông báo việc gán kết đó cho R1 biết, nếu R2 là hop kế tiếp của R1 thì R1 có thể dùng kiểu gán kết nhãn này để chuyển tiếp các gói FEC đến R2.
2.2.1.b Phân phối theo yêu cầu.
Phía upstream-LSR phải yêu cầu rõ ràng một gán kết nhãn cho một FEC cụ thể thì downstream-LSR mới phân phối. Trong phương thức này thì downstream-LSR không nhất thiết là hop kế tiếp của định tuyến IP cho FEC đó. Điều này rất quan trọng với các LSP định tuyến tường minh.
Hình 2.2: Phân phối nhãn theo yêu cầu.
2.2.2 Chế độ duy trì nhãn.
Một upstream-LRS có thể nhận nhiều các gán kết nhãn cho cùng một FEC từ nhiều phía downstream-LSR khác nhau. Do đó cần chế độ duy trì nhãn cho upstream-LSR. Có hai chế độ duy trì nhãn là chế độ duy trì nhãn tự do (liberal lable retention) và duy trì nhãn bảo thủ (conservative label retention).
2.2.2.a Duy trì nhãn tự do.
Phía upstream-LSR lưu giữ tất cả các gán kết nhãn nhận được, bất chấp việc downstream-LSR có phải là hop kế tiếp đối với đường đã định tuyến hay không. Ưu điểm của chế độ này là có thể phản ứng nhanh với sự thay đổi của đường định tuyến vì các gán kết nhẵn luôn có sẵn. Nhược điểm là LSR luôn phải duy trì nhiều nhãn kết nối không dùng và có thể gây ra loop định tuyến tạm thời khi có thay đổi định tuyến.
Hình 2.3: Duy trì nhãn tự do.
2.2.2.b Duy trì nhãn bảo thủ.
Phía upstream-LSR hủy tất cả các gán kết nhãn khác, chỉ giữ lại gán kết nhãn của downstream-LSR đang là hop kế tiếp của đường đã được định tuyến. Chế độ này có ưu điểm là LSR chỉ cần duy trì số gán kết nhãn FEC ít hơn, nhưng đáp ứng chậm khi thay đổi định tuyến vì gán kết nhãn mới lại phải được yêu cầu và phân phối lại. Đây là chế độ thích hợp cho các LSR chỉ hỗ trợ một số lượng nhãn hạn chế (như các chuyển mạch ATM).
Hình 2.4: Duy trì nhãn bảo thủ.
2.2.3 Chế độ điều khiển LSP.
Khi một FEC ứng với một prefix địa chỉ được phân phối bởi định tuyến IP, việc thiết lập mối quan hệ giữa các gán nhãn tại một LSR có thể thực hiện theo hai cách sau đây.
2.2.3.a Điều khiển độc lập (Independent Control).
Khi một LSR nhận dạng ra một FEC nào đó thì nó quyết định gán kết một nhãn cho FEC đó và công bố kết quả gán nhãn đó cho các đối tác phân phối nhãn. Điều này tương tự như định tuyến IP thông thường, ở đó mỗi router quyết định độc lập về nơi chuyển gói đi. Điều khiển độc lập có lợi thế là thiết lập tuyến LSP nhanh vì việc gán kết nhãn diễn ra song song giữa nhiều cặp LSR, dòng lưu lượng có thể bắt đầu truyền mà không cần đợi cho tất cả việc gán kết nhãn thiết lập xong.
Hình 2.5: Điều khiển độc lập.
2.2.3.b Điều khiển tuần tự (Odered Control).
Việc thiết lập LSP tuần tự bắt đầu ở LSR lối ra và diễn ra nối tiếp theo hướng ngược về LSR lối vào. Một downstream-LSR thực hiện gán kết nhãn và thông báo gán kết nhãn đó chỉ khi nó là LSR lối ra hoặc nó nhận được một gán kết nhãn cho FEC đó từ router hướng downstresam của nó. Các LSP định tuyến tường minh bắt buộc phải sử dụng kiểu điều khiển tuần tự và quá trình phân phối nhãn theo chuỗi có thứ tự sẽ tạo ra thời gian trễ trước khi dòng lưu lượng đi trên LSP có thể bắt đầu. Tuy nhiên điều khiển tuần tự cung cấp phương tiện tránh loop và đặt được mức độ thu gom chắc chắn hơn.
Hình 2.6: Điều khiển tuần tự.
• Các giao thức phân phối nhãn trong MPLS.
Giao thức phân phối nhãn là một tập các thủ tục mà nhờ nó một LSR có thể thông báo cho các LSR khác biết về các mối gán kết nhãn với FEC mà nó đã thực hiện. Trong MPLS không chỉ định một giao thức phân phối nhãn duy nhất nào, do đó có thể có nhiều lựa chọn, mỗi giao thức có ưu nhược điểm riêng. Sau đây là một số giao thức phân phối nhãn được sử dụng phổ biến.
2.3 GIAO THỨC LDP (Label Distribution Protocol).
LDP được chuẩn hóa trong RFC 3036, nó được thiết kế để thiết lập và duy trì các LSP định tuyến không ràng buộc. Vùng hoạt động của LDP có thể là giữa các LSR lân cận (LSR-neighbor) trực tiếp hay gián tiếp.
2.3.1 Hoạt động của LDP.
LDP có 4 chức năng chính là phát hiện LSR lân cận (discovery), thiết lập và duy trì phiên (session), quảng bá nhãn (advertisment) và thông báo (notification). Tương ứng với 4 chức năng trên LDP có 4 lớp thông điệp sau:
• Discovery: Để trao đổi định kỳ bản tin Hello nhằm loan báo và thăm dò một LSR kết nối gián tiếp và trực tiếp.
• Session: Để thiết lập, thương lượng các thông số cho việc khởi tạo, duy trì và chấm dứt các phiên ngang hàng LDP. Nhóm này bao gồm bản tin Initialization và KeepAlive.
• Advertisment: Để tạo ra, thay đổi hay xóa các ánh xạ FEC tới nhãn. Nhóm này bao gồm bản tin Label Mapping, Label Withdrawal, Label Release, Label Request, Label Request Abort.
• Notification: Để truyền đạt các thông tin trạng thái, lỗi, cảnh báo.
Các thông điệp Discovery được trao đổi trên UDP. Các kiểu thông điệp còn lại đòi hỏi phân phát tin cậy nên dùng TCP. Trường hợp 2 LSR có kết nối lớp hai trực tiếp thì thủ tục phát hiện “lân cận trực tiếp” như sau:
- Một LSR định kỳ gửi đi bản tin Hello tới các cổng UDP với địa chỉ multicast (tất cả các router trong subnet).
- Tất cả các LSR tiếp nhận bản tin Hello này trên cổng UDP. 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ó thể 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 hai LSR. Phiên LDP là phiên song hướng nên mỗi LSR ở hai đầu kết nối đều có thể gửi yêu cầu và gửi liên kết nhãn.
Trong trường hợp hai LSR không có liên kết trực tiếp (lân cận gián tiếp) thì LSR định kỳ gửi bản tin Hello đến cổng UDP đến địa chỉ IP xác định đã được khai báo khi thành lập cầu hình. Phía nhận bản tin này có thể trả lời lại bằng bản tin Hello khác truyền ngược lại đến LSR gửi và thiết lập các phiên LDP thực hiện như trên.
2.3.2 Cấu trúc bản tin LDP.
Trao đổi bản tin LDP thực hiện bằng cách gửi các LDP-PDU (LDP- Protocol Data Unit – Đơn vị dữ liệu giao thức) thông qua các phiên LDP trên kết nối TCP. Mỗi LDP-PDU có thể mang một hay nhiều bản tin và các bản tin này không nhất thiết phải liên quan đến nhau.
2.3.2.a LDP-PDU.
Mỗi PDU của LDP bao gồm một header LDP và theo là một hay nhiều bản tin LDP. Phần header LDP có dạng như sau:
Hình 2.8: LDP header.
- Độ dài PDU (2 octet): Tổng độ dài PDU tính theo octet, không tính trường Version và trường độ dài PDU.
- Nhân dạng PDU (PDU Identifier) : Nhận dạng không gian nhãn của LSR gửi bản tin này. 4 octet đầu tiên là giá trị duy nhất toàn cục nhận dạng LSR, như địa chỉ IP được gán cho LSR. 2 octet cuối nhận dạng không gian nhãn bên trong LSR. Với LSR có không gian nhãn lớn, trường này có giá trị bằng 0.
2.3.2.b Định dạng bản tin LDP.
Tất cả các bản tin LDP đều có khuôn dạng như sau:
- Bit U (Unknown): Bit bản tin chưa biết. Luôn là 0 vì đặc tả LDP không có kiểu bản tin Unknown. (Nếu bit này bằng 1 thì bản tin không thể được thông dịch phía nhận, lúc đó bản tin bị bỏ qua mà không có phản hồi.)
- Kiểu bản tin: chỉ ra kiểu bản tin là gì. Các loại bản tin LDP có trong bảng:
Bảng 2.1: Các loại bản tin LDP.
Tên bản tin Giá trị
Thông báo 0x0001
Hello 0x0100
Khởi tạo 0x0200
Duy trì 0x0201
Địa chỉ 0x0300
Thu hồi địa chỉ 0x0301
Hoán đổi nhãn 0x0400
Yêu cầu nhãn 0x0401
Giải phóng nhãn 0x0403
Thu hồi nhãn 0x0402
Hủy bỏ yêu cầu nhãn 0x0404
- Độ dài bản tin: Độ dài của bản tin tính theo octet, bao gồm phần nhận dạng bản tin và các thông số.
- ID bản tin: Là nhận dạng duy nhất của bản tin, giúp kết hợp các bản tin, thông báo với các bản tin khác.
2.3.3 Các bản tin LDP.
• Hello : Được trao đổi trong suốt quá trình hoạt động của LDP.
• Khởi tạo: Được gửi đi khi bắt đầu một phiên LDP giữa hai LSR để trao đổi các tham số, các tùy chọn phiên. Các tham số này gồm:
o Chế độ phân bổ nhãn. o Các giá trị bộ định thời.
o 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 sẽ trả lời bằng bản tin “Duy trì” 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.
• Duy trì: Được gửi định kỳ khi không còn bản tin nào cần gửi để đảm bảo cho mỗi thành phần LDP biết rằng LDP khác đang hoạt động tốt. Trường hợp không xuất hiện bản tin “Duy trì” hay một số bản tin LDP khác trong
một khoảng thời gian nhất định thì LSR sẽ xác định đối tác LDP có sự cố và phiên chấm dứt.
• Hoán đổi nhãn: Được sử dụng để quảng bá gán kết nhãn giữa FEC và nhãn • Thu hồi nhãn: Thực hiện quá trình ngược lại với bản tin “Hoán đổi nhãn”.
Bản tin này sử dụng trong trường hợp:
o Khi có sự thay đổi trong bảng định tuyến, lúc đó LSR không còn nhận ra FEC nữa.
o Thay đổi cấu hình LSR làm tạm dừng việc chuyển nhãn các gói trong FEC đó.
• Giải phóng nhãn: Được sử dụng bởi LSR khi nhận được chuyển đổi nhãn mà nó không cần thiết nữa. Điều đó thường xảy ra khi LSR giải phóng nhận thấy nút tiếp theo cho FEC không phải là LSR quảng bá liên kết nhãn trên FEC đó.
• Yêu cầu nhãn: bản tin này sử dụng trong chế độ hoạt động gán nhãn theo yêu cầu, LSR sẽ yêu cầu gán nhãn từ phía LSR kế cận phía downstream bằng bản tin này.
• Hủy bỏ yêu cầu nhãn: Nếu bản tin “Yêu cầu nhãn” cần phải hủy bỏ trước khi được chấp nhận (do nút kế tiếp trong LSP yêu cầu đã thay đổi), thì LSR yêu cầu sẽ loại bỏ yêu cầu trước đó bằng bản tin này.
2.3.4 LDP điều khiển độc lập và phân phối theo yêu cầu.
Ví dụ dưới đây minh họa việc sử dụng bản tin “Yêu cầu nhãn” và bản tin “Hoán đổi nhãn” trong chế độ công bố nhãn theo yêu cầu và điều khiển LSP độc lập. Trình tự thời gian trao đổi các bản tin LDP giữa các đối tác thiết lập một LSP từ router lối vào R1 qua R2 rồi đến router lối ra R3 cho một FEC có prefix là “a.b/16”. R1 khởi tạo tiến trình bằng cách yêu cầu một nhãn cho FEC “a.b/16” từ hop kế của nó là R2. Vì sử dụng điều khiển độc lập nên R2 trả một nhãn về cho R1 trước khi R2 nhận được ánh xạ nhãn từ phía downstream là R3. Cả R2 và R3 đáp ứng bằng bản tin “Hoán đổi nhãn”, kết quả là trong FIB của R1 và LFIB của R2, R3 có các entry gán kết nhãn hình thành nên đường chuyển mạch nhãn LSP.
Hình 2.10: LDP điều khiển độc lập và phân phối theo yêu cầu.
LDP còn hỗ trợ các chế độ phân phối nhãn khác. Khi cấu hình ở chế độ công bố không cần yêu cầu, các router không dùng bản tin “Yêu cầu nhãn”. Nếu điều khiển tuần tự được cấu hình trên mỗi giao diện, các yêu cầu nhãn sẽ làm cho các bản tin “Hoán đổi nhãn” được trả về theo thứ tự từ R3 đến R2 rồi về R1. Điều này có nghĩa là ánh xạ nhãn diễn ra đầu tiên ở router lối ra, sau đó lần lượt ngược về đến router lối vào.
2.4 GIAO THỨC CR-LDP (Contrain-based Routing LDP).
CR-LDP là giao thức mở rộng từ LDP (RFC 3212) nhằm hỗ trợ đặc biệt cho định tuyến ràng buộc, kỹ thuật lưu lượng và các hoạt động dự trữ tài nguyên. Các khả năng của CR-LDP tùy chọn bao gồm thượng lượng các tham số lưu lượng như cấp phát băng thông, thiết lập và cầm giữ quyền ưu tiên.
2.4.1 Mở rộng cho định tuyến ràng buộc.
CR-LDP bổ sung thêm các đối tượng Type-Length-Value mới sau đây (RFC 3212):
• Tuyến tường minh ER (Explicit Route).
• Chặng tường mình ER-Hop (Explicit Route Hop). • Các tham số lưu lượng.
• Sự lấn chiếm (Preemptions). • Nhận diện LSP (LSPID). • Ghim tuyến (Route Pinning). • Lớp tài nguyên (Resource Class). • CR-LSP FEC.
Một số thủ tục mới cũng được bổ sung để hỗ trợ các chức năng cần thiết : • Báo hiệu đường (Path Signalling).
• Định nghĩa các tham số lưu lượng.
• Quản lý LSP (quyền ưu tiên, cam kết quản trị...).
CR-LDP sử dụng cơ chế gán nhãn theo yêu cầu và điều khiển tuần tự. Một LSP được thiết lập khi một chuỗi các bản tin “Yêu cầu nhãn” lan truyền từ LSR lối vào đến LSR lối ra, và nếu đường được yêu cầu thỏa mãn các ràng buộc (ví dụ như đủ băng thông khả dụng), thì các nhãn mới được cấp phát và phân phối bởi một chuỗi các bản tin “Hoán đổi nhãn” lan truyền ngược về LSR lối vào. Việc thiết lập một CR-LSP có thể thất bại vì nhiều lý do khác nhau và các lỗi sẽ được báo hiệu bằng bản tin “Thông báo”.
2.4.2 Thiết lập một CR-LSP (Constrain-based Routing LSP).
Để thiết lập một LSP theo một con đường định trước, CR-LDP sử dụng đối tượng tuyến tường minh ER. ER được chứa trong các bản tin về nhãn.
Hình 2.11: Thiết lập LSP với CR-LDP.
Giả sử LSR A muốn thiết lập một con đường tường minh là B-C-D. Để thực hiện việc này, LSR A xây dựng đối tượng ER chứa tuần tự 3 nút trừu tượng là LSR B, LSR C, LSR D. Mỗi nút được đại diện bằng một địa chỉ IP prefix. LSR A sau đó xây dựng một bản tin “Yêu cầu nhãn” có chứa đối tượng ER mới tạo. Khi bản tin được tạo xong, LSR A sẽ xem xét nút trừu tượng đầu tiên trong đối tượng ER là LSR B, tìm kết nối đến LSR B và gửi bản tin “Yêu cầu nhãn” trên kết nối đó. Khi LSR B nhận bản tin “Yêu cầu nhãn”, LSR B nhận thấy nó là nút trừu
tượng đầu tiên trong đối tượng ER. LSR B sau đó tìm kiếm nút trừu tượng tiếp theo là LSR C và tìm kết nối đến LSR C. Sau đó LSR B thay đổi đối tượng ER và gửi bản tin “Yêu cầu nhãn” đến LSR C, lúc này đối tượng ER chỉ gồm LSR C và LSR D. Việc điều khiển bản tin này tại LSR C tương tự như LSR B. Khi bản tin đến LSR D, LSR D nhận thấy nó là nút cuối cùng trong đối tượng ER. Vì vậy, LSR tạo một bản tin “Hoán đổi nhãn” và gửi nó đến LSR C. Bản tin này gồm đối tượng nhãn. Khi nhận bản tin này, LSR C dùng nhãn chứa trong bản tin để cập nhật LFIB. Sau đó, LSR C gửi bản tin “Hoán đổi nhãn” đến LSR B. Bản tin này cũng chứa nhãn mà LSR C đã quảng bá. Việc điều khiển bản tin “Hoán đổi nhãn” ở LSR B tương tự LSR C. Cuối cùng LSR A nhận được bản tin và LSP được thiết lập theo con đường định tuyến tường minh cho trước để mang thông tin về tài