CHƢƠNG 3 MẠNG RIÊNG ẢO TRÊN NỀN MPLS
3.2 Công nghệ VPN dựa trên MPLS
3.2.3 Kiến trúc tổng quan của MPLS-VPN
Để thực hiện đƣợc MPLS VPN, ta cần xây dựng một số khối cơ bản trên PE. Những khối này là: VRF, RD-Route Distinguisher (Bộ phân biệt tuyến), RT – Route Target (đích của tuyến), sự ánh xạ tuyến qua MP-BGP và chuyển tiếp gói tin đƣợc gắn nhãn.
3.2.3.1 VRF- Virtual Routing and Forwarding Table
Khách hàng đƣợc phân biệt trên router PE bằng các bảng định tuyến và chuyển tiếp ảo (Virtual forwarding and routing table) hoặc các instance, còn đƣợc gọi là VRF. Thực chất nó giống nhƣ duy trì nhiều router riêng biệt cho các khách hàng kết nối vào mạng nhà cung cấp. Chức năng của VRF giống nhƣ một bảng định tuyến toàn cục, ngoại trừ việc nó chứa mọi tuyến liên quan đến một VPN cụ thể. VRF cũng chứa một bảng chuyển tiếp CEF cho VRF riêng biệt (VRF-specific CEF forwarding table) tƣơng ứng với bảng CEF toàn cục xác định các yêu cầu kết nối và các giao thức cho mỗi site khách hàng kết nối trên một router PE. VRF xác định bối cảnh (context) giao thức định tuyến tham gia vào một VPN cụ thể cũng nhƣ giao tiếp trên router PE cục bộ tham gia vào VPN nói một cách khác là sử dụng VRF. Giao tiếp (interface) tham gia vào VRF phải hỗ trợ chuyển mạch CEF. Một VRF có thể gồm một giao tiếp (logical hay physical) hoặc nhiều giao tiếp trên một router.
VRF không những chứa một bảng định tuyến IP tƣơng ứng với bảng định tuyến IP toàn cục, một bảng CEF liệt kê các giao tiếp tham gia vào VRF, và một tập hợp các nguyên tắc xác định giao thức định tuyến trao đổi với các router CE (routing protocol context), VRF còn chứa các định danh VPN (VPN identifier) nhƣ thông tin thành viên VPN (RD và RT). Hình 3-16 cho thấy chức năng của VRF trên một router PE thực hiện tách tuyến khách hàng.
Hình 3 - 16 Chức năng của VRF
Các giao thức định tuyến khác nhau chạy nhƣ những tiến trình định tuyến riêng biệt (OSPF, EIGRP…) trên router. Tuy nhiên một số giao thức nhƣ RIP và BGP, router chỉ hỗ trợ một instance của giao thức định tuyến. Do đó, thực thi định tuyến VRF bằng giao thức này phải tách riêng hoàn toàn các VRF với nhau. Bối cảnh định tuyến (routing context) đƣợc thiết kế để hỗ trợ các bản sao của cùng giao thức định tuyến VPN PE-CE. Các bối cảnh định tuyến này có thể đƣợc thực thi nhƣ các tiến trình riêng biệt (OSPF) hay nhƣ nhiều instance của cùng một giao thức định tuyến (BGP, RIP…). Nếu nhiều instance của cùng một giao thức định tuyến đƣợc sử dụng thì mỗi instance có một tập các tham số của riêng nó.
3.2.3.2 Route Distinguisher - RD
Các tiền tố VPN chuyển qua mạng MPLS VPN bằng MP-BGP. Tuy nhiên khi BGP mang những tiền tố IPv4 qua mạng nhà cung cấp, chúng phải là duy nhất. Nếu các khách hàng sử dụng địa chỉ chồng lấn nhau, quá trình định tuyến sẽ sai lệch. Để giải quyết vấn đề này, khái niệm RD đƣợc tạo ra để làm cho các tiền tố IPv4 trở nên duy nhất. Ý tƣởng cơ bản là mỗi tiền tố từ khách hàng nhận đƣợc một định danh duy nhất (RD) để phân biệt các tiền tố giống nhau từ các khách hàng. Một tiền tố đƣợc tạo thành từ sự kết hợp của tiền tố IPv4 và RD gọi là tiền tố vpnv4. MP-BGP cần phải chuyển những tiền tố này giữa các router PE. Một RD là một trƣờng 64-bit đƣợc sử dụng để làm cho các tiền tố VRF là duy nhất khi MP-BGP vận chuyển nó. RD không thể chỉ ra tiền tố đó thuộc VRF nào. Chức năng của RD không phải là định danh một VPN bởi vì có một số trƣờng hợp VPN phức tạp cần nhiều hơn một RD. Mỗi tiến trình VRF trên PE router cần một RD gán cho nó. Giá trị 64 bit này có thể viết ở 2 dạng: ASN:nn hoặc IP-address:nn với nn biểu diễn là một số. Định dạng dùng phổ biến là ASN:nn với ASN là số mà IANA cấp cho nhà cung cấp dịch vụ và nn là số mà nhà cung cấp dịch vụ gán duy nhất cho VRF. RD chỉ dùng để làm cho tuyến đƣờng VPN trở nên duy nhất. Sự kết hợp giữa RD và tiền tố IPv4 tạo thành tiền tố vpnv4 có chiều dài 96 bit. Mặt nạ vẫn có độ dài 32 bit nhƣ đối với địa chỉ IPv4. Nếu ta nhận một tiền tố IPv4 10.1.1.0/24 và một RD 1:1, tiền tố vpnv4 sẽ là 1:1:10.1.1.0/24.
Một khách hàng có thể sử dụng các RD khác nhau cho cùng một tuyến đƣờng IPv4. Khi một site VPN kết nối với hai PE router, tuyến đƣờng từ VPN site đó có thể nhận hai giá trị RD khác nhau, tùy thuộc vào router PE nhận tuyến đƣờng. Mỗi tuyến đƣờng IPv4 có thể nhận hai giá trị RD khác nhau, do đó có thể có hai vpnv4 khác nhau. Điều này cho phép BGP xem xét chúng nhƣ là những tuyến đƣờng khác nhau và áp dụng các chính sách khác nhau.
3.2.3.3 Route Target - RT
Nếu chỉ có RD đƣợc sử dụng cho một VPN, việc giao tiếp giữa các site của các VPN khác nhau trở nên khó giải quyết. Một site của công ty A không có khả năng trao đổi kết nối với một site của công ty B vì RD không giống nhau. Khái niệm nhiều site của công ty A có khả năng kết nối với nhiều site của công ty B gọi là Extranet VPN. Và việc kết nối trao đổi giữa các site trong cùng công ty A đƣợc gọi là Intranet VPN. Việc giao tiếp giữa các site đƣợc điều khiển bởi một chức năng khác của MPLS gọi là RT – route target. RT là một thuộc tính mở rộng của BGP chỉ ra tuyến nào có thể import từ MP BGP vào VRF. Export RT có nghĩa là một tuyến vpnv4 quảng bá ra nhận một thuộc tính mở rộng – đó chính là RT – khi tuyến đƣợc phân phối lại từ bảng định tuyến VRF vào trong MP-BGP. Import RT có nghĩa là tuyến vpnv4 nhận đƣợc từ MP-BGP đƣợc kiếm tra khớp thuộc tính mở rộng – đó là RT – với một cái đang tồn tại trong cấu hình thiết bị. Nếu kết quả là trùng nhau, tiền tố này đƣợc đặt trong bảng định tuyến VRF nhƣ một tuyến IPv4. Nếu kết quả không khớp tiền tố này sẽ đƣợc đẩy ra. Hình 3-17 chỉ ra RT điều khiển những tuyến đƣờng nào sẽ đƣợc nhập vào VRF nào từ các router PE đằng xa và các tuyến đƣờng vpnv4 sẽ đƣợc xuất ra với các RT nào tới các router PE đằng xa. Có thể có nhiều hơn một RT gắn với tuyến đƣờng vpnv4. Để có thể nhập đƣợc vào VRF chỉ cần một RT từ tuyến đƣờng vpnv4 cần phải trùng khớp trong cấu hình RT nhập bằng lệnh ip vrf trƣớc đó trên router PE.