1.2.1 Định tuyến trong MPLS
MPLS hỗ trợ hai kỹ thuật định tuyến: Định tuyến từng chặng (hop by hop) và định tuyến ràng buộc (constraint- based routing). Định tuyến từng chặng cho phép mỗi nút nhận dạng các FEC và chọn hop kế tiếp cho mỗi FEC một cách độc lập, giống nh- định tuyến trong mạng IP. tuy nhiên, nếu muốn triển khai kỹ thuật l-u l-ợng với MPLS, bắt buộc phải sử dụng kiểu định tuyến ràng buộc.
a. Định tuyến ràng buộc (Constrain- Based Routing)
Định tuyến ràng buộc là ph-ơng tiện để thực hiện xử lý tự động hoá kỹ thuật l-u l-ợng, khắc phục đ-ợc các hạn chế của định tuyến theo đích (destination- based routing). Nó xác định các router không chỉ dựa trên topology mạng (thuật toán chọn đ-ờng ngắn nhất OSPF) mà còn sử dụng các metric đặc thù khác nh- băng thông, trễ, cost và biến động trễ. Giải thuật chọn đ-ờng có khả năng tối -u hoá theo một hoặc nhiều metric này, thông th-ờng ng-ời ta dùng metric dựa trên số l-ợng hop và băng thông.
Để đ-ờng đ-ợc chọn có số l-ợng hop nhỏ nhất nh-ng phải đảm bảo băng thông khả dụng trên tất cả các chặng liên kết, quyết định cơ bản nh- sau: Chọn đ-ờng ngắn nhất trong số tất cả các đ-ờng có băng thông khả dụng thoả mãn yêu cầu.
Hình 19: Một ví dụ định tuyến ràng buộc
Để minh ho³ ho³t động cða định tuyến r¯ng buộc, xét cấu trúc m³ng “con c²” kinh điển như trên. Gi° sử r´ng định tuyến ràng buộc sử dụng số hop (hop- count) và băng thông khả dụng làm các metric. L-u l-ợng 600 Kbps đ-ợc định tuyến tr-ớc tiên, sau đó là l-u l-ợng 500 Kbps và 200 Kbps. Cả 3 loại l-u l-ợng này đều h-ớng đến cùng một egress router. Ta thấy rằng:
* Vì l-u l-ợng 600 Kbps đ-ợc định tuyến tr-ớc nên nó đi theo đ-ờng ngắn nhất là R8-R2-R3-R4-R5. Vì băng thông khả dụng là nh- nhau trên tất cả các chặng kênh (1 Mbps) nên l-u l-ợng 600 Kbps chiếm 60% băng thông.
* Sau đó, vì băng thông khả dụng của đ-ờng ngắn nhất không đủ cho cả hai l-u l-ợng 600 Kbps và 500 Kbps, nên l-u l-ợng 500 Kbps đ-ợc định tuyến đi theo đ-ờng mới qua R6, R7 mặc dù nhiều hơn một hop so với đ-ờng cũ.
* Với l-u l-ợng 200 Kbps tiếp theo, vì vẫn còn băng thông khả dụng trên đ-ờng ngắn nhất nên đ-ờng này đ-ợc chọn để chuyển l-u l-ợng 200 Kbps.
Định tuyến ràng buộc có 2 kiểu online và offline. Kiểu online cho phép các router tính đ-ờng cho các LSP bất kỳ lúc nào. Trong kiểu offline, một server tính đ-ờng cho các LSP theo định kỳ (chu kỳ có thể đ-ợc chọn bởi các nhà quản trị, th-ờng là vài giờ hoặc vài ngày). Các LSP đ-ợc báo hiệu thiết lập theo các đ-ờng đã đ-ợc chọn.
b. Định tuyến t-ờng minh (Explicit Routing)
Định tuyến t-ờng minh là một tập con của định tuyến ràng buộc, trong đó sự ràng buộc là đối t-ợng tuyến t-ờng minh ER (explicit route).
Tuyến t-ờng minh l¯ một danh s²ch c²c “nút trìu tượng” m¯ một đường chuyển mạch nhãn ràng buộc CR-LSP phải đi qua. Nút trìu t-ợng có thể là một nút (địa chỉ IP) hoặc một nhóm nút (nh- IP prefix hoặc một AS). Nếu ER chỉ quy định một nhóm trong số các nút mà CR-LSP đi qua thì nó đ-ợc gọi là tuyến t-ờng minh thả lỏng. Ng-ợc lại, nếu ER quy định toàn bộ các nút CR-LSP thì đ-ợc gọi là tuyến t-ờng minh nghiêm ngặt.
CR-LSP đ-ợc mã hoá nh- một chuỗi các ER-Hop (chặng t-ờng minh) chứa trong một cấu trúc Type- Length-Value ràng buộc (Constraint- based route
TLV). Mỗi ER-Hop có thể xác định một nhóm các nút. CR-LSP khí đó bao gồm tất cả các nhóm nút đ-ợc xác định theo thứ tự xuất hiện trong cấu trúc TLV.
1.2.2 Các chế độ báo hiệu MPLS
a. Chế độ phân phối nhãn
MPLS cho phép 2 chế độ hoạt động của 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).
a.1 Phân phối nhãn không 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 việc kết nhãn. Nếu downstream- LSR chính là hop kế tiếp đối với định tuyến IP cho một FEC cụ thể thì upstream- LSR có thể sử dụng kiểu kết nhãn này để chuyển tiếp các gói trong FEC đó đến downstream- LSR.
Hình 20: Phân phối nhãn không cần yêu cầu
a.2 Phân phối nhãn theo yêu cầu
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-ơg thức này, downstream- router không nhất thiết phải là hóp kế tiếp đối với định tuyến IP cho FEC đó, điều này rất quan trọng đối với các LSP định tuyến t-ờng minh.
Hình 21: Phân phối nhãn theo yêu cầu
Một upstream- LSR có thể nhận các gắn kết nhãn cho cùng một FEC từ nhiều downstream- LSR. Có hai chế độ duy trì các gán kết nhãn nhận đ-ợc là duy trì nhãn tự do (liberal label retention) và duy trì nhãn bảo thủ.
b1. Duy trì nhãn tự do
Phía upstream (LSR1) l-u giữ tất cá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 định tuyến IP hay không. Ưu điểm chính của ph-ơng thức này là có thể phản ứng nhanh với sự thay đổi định tuyến vì các gán kết nhãn đã có sẵn. Nh-ợc điểm là LSR phải duy trì nhiều gán kết nhãn không dùng và có thể gây ra loop định tuyến tạm thời khi thay đổi định tuyến.
Hình 22: Duy trì nhãn tự do
b2. Duy trì nhãn bảo thủ
Upstream- LSR huỷ tất cả các gán kết nhãn khác, chỉ giữ lại gán kết nhãn gửi từ downstream- LSR đang là hop kế tiếp hiện hành. Chế độ này có -u điểm là LSR chỉ cần duy trì số gán kết FEC nhãn ít hơn, nh-ng đáp ứng chậm khi thay đổi định tuyến vì gán kết nhãn mớ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).
c. 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 kết hợp giữa các gán kết nhãn tại một LSR có thể thực hiện theo 2 cách sau đây:
c1. Điều khiển độc lập (independant control)
Khi mỗi LSR nhận dạng một FEC thì nó quyết định gán kết ngay một nhãn cho FEC đó và công bố luôn gán kết đó 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 ra quyết định độc lập về nơi cần chuyển gói đi. Điều khiển độc lập có -u điểm là thiết lập LSP nhanh vì việc kết nhãn diễn ra song song giữa nhiều cặp LSR và dòng l-u l-ợng có thể bắt đầu truyền mà không cần đợi cho tất cả các gán kết nhãn thiết lập xong.
Hình 24: Điều hiển độc lập
c2. Điều khiển tuần tự (odered control)
Một downstream thực hiện kết nhãn cho một FEC và thông báo gán kết đó chỉ nếu nó là LSR lối ra hoặc nếu nó đã nhận đ-ợc một gán kết nhãn cho FEC đó từ router h-ớng downstream của nó. 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. 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.
1.3 Các giao thức phân phối nhãn MPLS
Giao thức phân phối nhãn là một tập hợp các thủ tục mà nhờ nó một LSR có thể thông báo cho một LSR khác biết về mối gán kết nhãn FEC mà nó đã tiến hành. Kiến trúc MPLS khong 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:
Giao thức Hỗ trợ các chế độ
LDP RSVP-TE CR-LDP BGP
Định tuyến từng chặng (hop-by-hop) + (*)
Định tuyến t-ờng minh + +
Phân phối không cần yêu cầu + +
Phân phối theo yêu cầu +
Điều khiển độc lập + +
Điều khiển tuần tự +
Point- to- Point LSP
Multipoint- to- Point LSP + +
(*): mỗi hop là một hệ tự trị (Autonomous System)
1.3.1 Giao thức LDP (Label Distribution Protocol)
LDP đ-ợc chuẩn hoá trong RFC 3036, đ-ợ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áng giềng trực tiếp hoặc gián tiếp.
Hình 26: Vùng hoạt động của LDP
a. Hoạt động của LDP
LDP có 4 chức năng chính là phát hiện LSR láng giềng, thiết lập và duy trì phiên, quảng bá nhãn và thông báo. T-ơng ứng với các chức năng trên, có 4 lớp thông điệp LDP sau đây:
* Discovery: Để trao đổi định kỳ bản tin Hello nhằm loan báo và kiểm tra một LSR kết nối gián tiếp hoặc 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, KeepAlive.
* Advertisement: Để tạo ra, thay đổi hoặc xoá 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 hoặc 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.
Phiên LDP là phiên song h-ớng nên 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.
Hình 27: Trao đổi thông điệp LDP
Trong tr-ờng hợp hai LSR không có kết nối lớp 2 trực tiếp thì LSR định kỳ gửi bản tin Hello đến cổng UDP đã biết tại địa 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 và việc thiết lập phiên LDP đ-ợc thực hiện nh- trên.
b. Cấu trúc thông điệp LDP
Trao đổi thông điệp LDP thực hiện bằng cách gửi các LDP- PDU (Protocol Data Unit) thông qua các phiên LDP trên các kết nối TCP. Mỗi LDP- PDU có thể mang một hoặc nhiều thông điệp, và các thông điệp này không nhất thiết phải có liên quan với nhau.
Hình 28: LDP header
c. LDP điều khiển độc lập và phân phối theo yêu cầu
Hình 29: Ví dụ LDP chế độ điều khiển độc lập theo yêu cầu
Ví dụ trên đây minh hoạ việc sử dụng bản tin Label Request và Label Mapping 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 “a.b/16”. R1 khởi t³o tiến trình b´ng việc yêu cầu một nh±n cho FEC “a.b/16” từ
hop kế tiếp của nó là R2. Vì sử dụng điều khiển độc lập nên R2 trả ngay một ánh xạ nhãn về cho R1 tr-ớc khi R2 nhận đ-ợc ánh xạ từ downstream là R3. Cả R2 và R3 đáp ứng bằng bản tin Label Mapping, 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.
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 (downstream unsolicited), các router sẽ không dùng bản tin Label request. 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 Label Mapping đ-ợc trả về theo thứ tự từ R3 đến R2, rồi từ R2 về R1.
1.3.2 Giao thức CR-LDP (Constrain- Based Routing LDP)
CR-LDP là giao thức mở rộng của LDP nhằm hỗ trợ đặc biệt cho định tuyến ràng buộc, kỹ thuật l-u l-ợng (TE) và các hoạt động dự trữ tài nguyên. Các khả năng của CR-LDP tuỳ 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ữ tài nguyên.
a. 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: * Tuyến t-ờng minh ER (Explicit Route)
* Chặng t-ờng minh 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-LDP 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 nh-:
* Báo hiệu đ-ờng (Path Signaling). * Đị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ị, .v.v.).
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 Label Request lan truyền từ ingress-LSR đến egrss-LSR, và nếu đ-ờng đ-ợc một yêu cầu thoả mãn các ràng buộc (ví dụ đủ 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 Label mapping lan truyền ng-ợc vừ ingress-LSR. Việc thiết lập một CR-LSR 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 Notification.
b. Thiết lập một CR-LSP (Constraint-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 chứa trong các bản tin LABEL.
Hình 30: Thiết lập LSP với CR-LDP
Xét ví dụ trong hình trên. 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 một đố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 Label Request có chứa đối t-ợng ER mới tạo. Khi bản tin đ-ợc tạo xong, LSR A sẽ xem 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 Label Request trên kết nối đó. Khi LSR B nhận đ-ợc bản tin Label Request, 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 kế tiếp 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 Label Request đế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 cũng 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 D tạo một bản tin Label Mapping và gửi nó đến LSR C. Bản tin này bao 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 Label Mapping đế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 Label Mapping ở LSR B hoàn toàn t-ơng tự nh- ở LSR C. Cuối cùng,