1. Sơ lược mô hình MPLS-VPN.
MPLS VPN giống như mô hình Peer-To-Peer với Router dành riêng. Từ một Router CE, chỉ cập nhập IPv4 như dữ liệu, được chuyển tiếp đến Router PE.Router CE không cần bất cứ một cấu hình riêng biệt nào cho phép nó tham gia vào miền MPLS VPN, yêu cầu duy nhất là trên Router CE có giao thức định tuyến (Static hoặc Default Route) cho phép nó trao đổi thông tin định tuyến IPv4 với các Router PE.
Trong mô hình MPLS VPN, Router PE thực hiện rất nhiều chức năng.
2. 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 ảo hoặc các Instance, hay còn 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 của nhà cung cấp. Chức năng vủa VRF giống như một bảng định tuyến tồ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 tồn cục và 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, nghĩa là sử dụng VRF. Giao tiếp 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 chứa một bảng định tuyến IP tương ứng với bảng định tuyến IP tồn cục, một bảng CEF, liệt kê các giao tiếp tham gia vào VRF và 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 Contexts). 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 2 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.
3. RD (Route Distinguisher).
Là một định danh 64_bit duy nhất, thêm vào đó 32_bit địa chỉ tuyến được học từ các Router CE tạo thành địa chỉ 96_bit duy nhất có thể được vận chuyển giữa các Router PE trong miền MPLS. Do đó chỉ duy nhất một RD được cấu hình cho 1 VRF trên Router PE. Địa chỉ 96_bit cuối cùng (tổng hợp của 32-bit địa chỉ khách hàng và 64-bit RD) được gọi là một địa chỉ VPNv4.
Địa chỉ VPNv4 trao đổi giữa các Router PE trong mạng nhà cung cấp. RD có thể có hai định dạng: dạng địa chỉ IP hoặc chỉ số AS. Hình bên dưới cho thấy hai khách hàng có địa chỉ mạng giống nhau, 172.16.10.0/24, được phân biệt nhờ vào các giá trị RD khác nhau, 1:100 và 1:101 , ưu tiên quảng bá địa chỉ VPnv4 trên Router PE.
Giao thức dùng để trao đổi các tuyến VPNv4 giữa các PE là Multiprotocol BGP (MP-BGP). IGP yêu cầu duy trì iBGP (internal BGP) khi thực thi MPLS VPN. Do đó, PE phải chạy một giao thức IGP cung cấp thông tin NLRI cho iBGP nếu cả hai PE cùng trong một AS. Hiện tại, Cisco hỗ trợ cả OSPFv2 và ISIS trong mạng nhà cung cấp như IGP. MP_BGP cũng chịu trách nhiệm chỉ định nhãn VPN. Khả năng mở rộng là lý do chính chọn BGP làm giao thức mang thông tin định tuyến khách hàng. Hơn nữa, BGP cho phép sử dụng địa chỉ VPNv4 trong môi trường MPLS VPN với dãy địa chỉ trùng lắp cho nhiều khách hàng.
Một phiên là việc MP-BGP giữa các Router PE trong một BGP AS được gọi là MP-iBGP session và kèm theo các nguyên tắc thực thi của iBGP liên quan đến thuộc tính của BGP ( BGP attributes). Nếu VPN mở rộng ra khỏi phạm vi một AS, các VPNv4 sẽ trao đổi giữa các AS tại biên bằng MP_eBGP session.
4. Router Target (RT).
Là định danh dùng trong MPLS VPN domain khi triển khai MPLS VPNnhằm xác định thành viên VPN của các tuyến được học từ các site cụ thể. RT được thực thi bởi các BGP community mở rộng sử dụng 16-bit cao của Ecxtended Community (64-bit) mã hóa với giá trị tướng ứng với thành viên VPN của site cụ thể. Khi một tuyến VPN học từ một CE chèn vào VPNv4 BGP, một danh sách các thuộc tính community mở rộng cho VPN Router Target được kết hợp với nó. Export RT dùng để xác định thành viên VPN và được kết lớp với mỗi VRF. Export RT được nối thêm vào địa chỉ khách hàng khi chuyển thành địa chỉ VPNv4 bởi PE và quảng bá trong các cập nhập MP-BGP. Import RT kết hợp với mỗi VRF và xác định các tuyến VPNv4 được thêm vào VRF cho khách hàng cụ thể. Định dạng RT giống như giá trị RD. sự tương tác của RT và giá trị RD trong mỗi MPLS VPN domain khi cập nhập đượcchuyển thành cập nhập MP-BGP. Như hình sau.
Khi thực thi các cấu trúc mạng VPN phức tạp (Extranet VPN, Internet access VPNs, Network Management VPN,…) sử dụng công nghệ MPLS VPN thì RT giữ vai trò nòng cốt. Một địa chỉ mạng có thể được kết hợp với một hoặc nhiều Export RT thì quảng bá qua mạng MPLS VPN. Như vậy, RT có thể kết hợp với nhiều site thành viên của nhiều VPN.
Các tiến trình xảy ra trong suốt quá trình quảng bá tuyến ở hình 6 như sau:
Các thuộc tính Commynity BGP mở rộng khác như SoO (Site of Origin) có thể dùng chủ yếu trong quảng bá cập nhập MP_BGP. Thuộc tính SoO được dùng để xác định site cụ thể từ tuyến học được của PE và ứng dụng trong việc chống vòng lặp (Routing Loop) vì nó xác định duy nhất một site từ một tuyến mà PE học được. SoO cho phép lọc lưu lượng dựa trên site mà lưu lượng đó xuất phát. Khả năng lọc của SoO giúp quản trị lưu lượng MPLS VPN và chống lặp vòng ,lặp tuyến xảy ra trong cấu trúc mạng hỗn hợp và phức tạp, các site khách hàng trong đó có thể xử lý các kết nối qua MPLS VPN Backbone như các kết nối cửa sau (Blackbone Link) giữa các site.
Khi thực thi một MPLS VPN, mọi VPN site thuộc vào một khách hàng có thể liên lạc với mọi site trong cùng miền của khách hàng đó được gọi là VPN đơn giản hay Intranet VPN. RT có thể được sử dụng để thực hiện cấu trúc VPN phức tạp, các site của một khách hàng có thể truy cập đến site của các khách hàng khác. Dạng thực thi này được gọi là Extranet VPN. Các biến thể của Extranet VPN như Network Management VPN, Central Services VPN và Internet Access VPN có thể được triển khai.
Address Framily là một khái niệm quan trọng trong hoạt động của MP-BGP cho phép chuyển vận các tuyến VPNv4 với các thuộc tính Community mở rộng. Theo RFC 2283 “ Multiprotocol Extensions For BGP_4”, BGPv4 chỉ có khả năng mang thông tin định tuyến thuộc vào IPv4. BGPv4 có thể mang thông tin của nhiều giao thức lớp mạng. BGPv4 hỗ trợ định tuyến cho nhiều giao thức lớp mạng, BGP_4 phải đăng kí một giao thức lớp mạng cụ thể liên quan đến mọt trạm kế (Next Hop) như NLRI (Network Layer Reachbility Information). Hai thuộc tính mới được thêm vào của BGP là MP-REACH-NLRI (Multiprotocol Reachabel NLRI) và MP-UNREACH-NLRI (Mulitiprotocol Unreachable NLRI). MB-REACH-NLRI mang một tập đích đến được với thông tin trạm kế được dùng để chuyển tiếp cho các đích đến này. MP-UNREACH-NLRI mang một tập các đích không đến được. Cả hai thuộc tính này là Optional và Nontransitive. Vì thế, một BGP Speaker không hỗ trợ tính năng đa giao thức này sẽ bỏ qua thông tin được mang trong các thuộc tính này và sẽ không chuyển nó đến các BGP Speaker khác.
6. Address Framily.
Một Address Framily là một giao thức lớp mạng được định nghĩa. Một định danh họ địa chỉ (AFI- Address Family Identifier) mang một định danh của giao thức lớp mạng kết hợp với địa chỉ mạng trong thuộc tính đa giao thức của BGP. AFI cho các giao thức lớp mạng được xác định trong RFC 1700. “Assigned Number”. PE thực chất là một LER biên (Edge LSR) và thực hiện tất cả các chức năng của một Edge LSR. PE yêu cầu LDP cho việc gán và phân phối nhãn cũng như chuyển tiếp các gói được gán nhãn. Cộng thêm các chức năng của một Edge LSR, PE thực thi một giao thức định tuyến (hay đinh tuyến tĩnh) với các CE trong một bảng định tuyến ảo (Virtual Routing Table) và yêu cầu MP-BGP quảng bá các mạng học được từ CE như các VPNv4 trong MP-iBGP đến các PE khác bằng nhãn VPN.
Router P cần chạy một IGP (OSPF hoặc ISIS) khi MPLS cho phép chuyển tiếp các gói được gán nhãn ( Data Plane) giữa các PE. IGP quảng bá các NLRI đến các P và PE để thực thi một MP-iBGP Session giữa các PE(Control Plane). LDP chạy trên các Router P đển gán và phân phối nhãn.
MPLS VPN giống như mô hình Peer-To-Peer với Router dành riêng. Từ một Router CE, chỉ cập nhập IPv4 như dữ liệu, được chuyển tiếp đến Router PE.Router CE không cần bất cứ một cấu hình riêng biệt nào cho phép nó tham gia vào miền MPLS VPN, yêu cầu duy nhất là trên Router CE có giao thức định tuyến (Static hoặc Default Route) cho phép nó trao đổi thông tin định tuyến IPv4 với các Router PE.
Trong mô hình MPLS VPN, Router PE thực hiện rất nhiều chức năng.
- Router PE phải phân tách lưu lượng của khách hàng nếu có nhiều hơn một khách hàng kết nối tới nó.
- Router PE gán mỗi khách hàng tới một bảng định tuyến độc lập.
- Router PE trao đổi thông tin về đường đi IPv4 VPN với Router CE, thông qua giao thức định tuyến chạy trong bảng định tuyến ảo.
- Trao đổi thông tin VPNv4 qua trường MB-iBGP với Router PE khác.
- Trao đổi thông tin định tuyến trong mạng lõi với Router P và Router PE khác, nhờ giao thức BGP.
- Router PE bao gồm một số bảng định tuyến sau:
- Bảng định tuyến tổng quát( Global Routing Table) , gồm định tuyến mạng lõi,và mạng Internet.
- VRF tables ( Vitual Routing Forwarding) .
- VRFs chứa thông tin từ Router CE và MB-IBGP từ Router PE khác.
- Router PE nhận gói tin IPv4 Update từ Router CE và đưa thông tin này vào bảng VRF. Và sau đó thông báo với các Router PE khác thông tin mới này bằng gói tin MB-BGP Update.
- Trong gói tin Ipv4 Up date có chứa địa chỉ các VPN của khách hàng.
- Trong gói tin MB-BGP Update chứa:
- Địa chỉ VPNv 4.
- RT ( Router Target).
- Được sử dụng cho chuyển gói VPN.
- Và những thuộc tính của giao thức BGP ( ví dụ: AS path, MED v..v).
Hình 1: Chức năng của router PE
2. 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 ảo hoặc các Instance, hay còn 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 của nhà cung cấp. Chức năng vủa VRF giống như một bảng định tuyến tồ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 tồn cục và 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, nghĩa là sử dụng VRF. Giao tiếp 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 chứa một bảng định tuyến IP tương ứng với bảng định tuyến IP tồn cục, một bảng CEF, liệt kê các giao tiếp tham gia vào VRF và 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 Contexts). 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 2 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 2: Chức năng của VRF.
3. RD (Route Distinguisher).
Là một định danh 64_bit duy nhất, thêm vào đó 32_bit địa chỉ tuyến được học từ các Router CE tạo thành địa chỉ 96_bit duy nhất có thể được vận chuyển giữa các Router PE trong miền MPLS. Do đó chỉ duy nhất một RD được cấu hình cho 1 VRF trên Router PE. Địa chỉ 96_bit cuối cùng (tổng hợp của 32-bit địa chỉ khách hàng và 64-bit RD) được gọi là một địa chỉ VPNv4.
Địa chỉ VPNv4 trao đổi giữa các Router PE trong mạng nhà cung cấp. RD có thể có hai định dạng: dạng địa chỉ IP hoặc chỉ số AS. Hình bên dưới cho thấy hai khách hàng có địa chỉ mạng giống nhau, 172.16.10.0/24, được phân biệt nhờ vào các giá trị RD khác nhau, 1:100 và 1:101 , ưu tiên quảng bá địa chỉ VPnv4 trên Router PE.
Hình 3: RD (Route Distinguisher).
Giao thức dùng để trao đổi các tuyến VPNv4 giữa các PE là Multiprotocol BGP (MP-BGP). IGP yêu cầu duy trì iBGP (internal BGP) khi thực thi MPLS VPN. Do đó, PE phải chạy một giao thức IGP cung cấp thông tin NLRI cho iBGP nếu cả hai PE cùng trong một AS. Hiện tại, Cisco hỗ trợ cả OSPFv2 và ISIS trong mạng nhà cung cấp như IGP. MP_BGP cũng chịu trách nhiệm chỉ định nhãn VPN. Khả năng mở rộng là lý do chính chọn BGP làm giao thức mang thông tin định tuyến khách hàng. Hơn nữa, BGP cho phép sử dụng địa chỉ VPNv4 trong môi trường MPLS VPN với dãy địa chỉ trùng lắp cho nhiều khách hàng.
Một phiên là việc MP-BGP giữa các Router PE trong một BGP AS được gọi là MP-iBGP session và kèm theo các nguyên tắc thực thi của iBGP liên quan đến thuộc tính của BGP ( BGP attributes). Nếu VPN mở rộng ra khỏi phạm vi một AS, các VPNv4 sẽ trao đổi giữa các AS tại biên bằng MP_eBGP session.
4. Router Target (RT).
Là định danh dùng trong MPLS VPN domain khi triển khai MPLS VPNnhằm xác định thành viên VPN của các tuyến được học từ các site cụ thể. RT được thực thi bởi các BGP community mở rộng sử dụng 16-bit cao của Ecxtended Community (64-bit) mã hóa với giá trị tướng ứng với thành viên VPN của site cụ thể. Khi một tuyến VPN học từ một CE chèn vào VPNv4 BGP, một danh sách các thuộc tính community mở rộng cho VPN Router Target được kết hợp với nó. Export RT dùng để xác định thành viên VPN và được kết lớp với mỗi VRF. Export RT được nối thêm vào địa chỉ khách hàng khi chuyển thành địa chỉ VPNv4 bởi PE và quảng bá trong các cập nhập MP-BGP. Import RT kết hợp với mỗi VRF và xác định các tuyến VPNv4 được thêm vào VRF cho khách hàng cụ thể. Định dạng RT giống như giá trị RD. sự tương tác của RT và giá trị RD trong mỗi MPLS VPN domain khi cập nhập đượcchuyển thành cập nhập MP-BGP. Như hình sau.
Hình 4: Router Target (RT).
Khi thực thi các cấu trúc mạng VPN phức tạp (Extranet VPN, Internet access VPNs, Network Management VPN,…) sử dụng công nghệ MPLS VPN thì RT giữ vai trò nòng cốt. Một địa chỉ mạng có thể được kết hợp với một hoặc nhiều Export RT thì quảng bá qua mạng MPLS VPN. Như vậy, RT có thể kết hợp với nhiều site thành viên của nhiều VPN.
Các tiến trình xảy ra trong suốt quá trình quảng bá tuyến ở hình 6 như sau:
- Mạng 172.16.10.0/24 được nhập từ CE1 của Customer A, tham gia vào VRF Customer A trên PE1_AS1.
- PE1 kết hợp một giá trị RD 1:100 và một giá trị Export RT 1:100 khi cấu hình cho VRF trên Router PE1_AS1.
- Các tuyến học từ CE1 của Customer A được phân phối vào tiến trình MP_BGP trên PE1-AS1 với Perfix 172.16.10.0/24 và thêm vào giá trị RD 1:100 và nối thêm Export RT 1:100 để gửi đi địa chỉ VPNv4 khi tham gia cập nhập MP-iBGP giữa các Router PE. Nhãn VPN (3 byte) được gán cho mỗi địa chỉ học từ các tiến trình của CE kết nối trong một VRF từ tiến trình MP_BGP của PE. Mp_BGP chạy trong miền MPLS của nhà cung cấp dịch vụ nên mang theo địa chỉ VPNv4 và BGP RT. Lưu ý: RT là cấu hình bắt buộc trong một MPLS VPN cho mọi VRF trên một Router, giá trị RT có thể được dùng để thực thi trên cấu trúc mạng VPN phức tạp, trong đó một site có thể tham gia vào nhiều VPN. Giá trị RT còn có thể dùng để chọn tuyến nhập vào VRF khi các tuyến VPNv4 được học trong các cập nhập MP_iBGP. Nhãn VPN chỉ được hiểu bởi Egress PE kết nối trực tiếp với CE quảng bá mạng đó. Các trạm kế (Next Hop) phải được học từ IGP khi thực thi MPLS VPN chứ không phải quảng cáo từ tiến trình BGP.
- Cập nhập MP_BGP được nhận bởi PE2 và tuyến được lưu trữ trong bảng VRF tương ứng cho Customer A dựa trên nhãn VPN. Các tuyến MP_BGP nhận được phân phối vào các tiến trình định tuyến VRF PE_CE, và tuyến quảng bá tới CE2 A.
Các thuộc tính Commynity BGP mở rộng khác như SoO (Site of Origin) có thể dùng chủ yếu trong quảng bá cập nhập MP_BGP. Thuộc tính SoO được dùng để xác định site cụ thể từ tuyến học được của PE và ứng dụng trong việc chống vòng lặp (Routing Loop) vì nó xác định duy nhất một site từ một tuyến mà PE học được. SoO cho phép lọc lưu lượng dựa trên site mà lưu lượng đó xuất phát. Khả năng lọc của SoO giúp quản trị lưu lượng MPLS VPN và chống lặp vòng ,lặp tuyến xảy ra trong cấu trúc mạng hỗn hợp và phức tạp, các site khách hàng trong đó có thể xử lý các kết nối qua MPLS VPN Backbone như các kết nối cửa sau (Blackbone Link) giữa các site.
Khi thực thi một MPLS VPN, mọi VPN site thuộc vào một khách hàng có thể liên lạc với mọi site trong cùng miền của khách hàng đó được gọi là VPN đơn giản hay Intranet VPN. RT có thể được sử dụng để thực hiện cấu trúc VPN phức tạp, các site của một khách hàng có thể truy cập đến site của các khách hàng khác. Dạng thực thi này được gọi là Extranet VPN. Các biến thể của Extranet VPN như Network Management VPN, Central Services VPN và Internet Access VPN có thể được triển khai.
Address Framily là một khái niệm quan trọng trong hoạt động của MP-BGP cho phép chuyển vận các tuyến VPNv4 với các thuộc tính Community mở rộng. Theo RFC 2283 “ Multiprotocol Extensions For BGP_4”, BGPv4 chỉ có khả năng mang thông tin định tuyến thuộc vào IPv4. BGPv4 có thể mang thông tin của nhiều giao thức lớp mạng. BGPv4 hỗ trợ định tuyến cho nhiều giao thức lớp mạng, BGP_4 phải đăng kí một giao thức lớp mạng cụ thể liên quan đến mọt trạm kế (Next Hop) như NLRI (Network Layer Reachbility Information). Hai thuộc tính mới được thêm vào của BGP là MP-REACH-NLRI (Multiprotocol Reachabel NLRI) và MP-UNREACH-NLRI (Mulitiprotocol Unreachable NLRI). MB-REACH-NLRI mang một tập đích đến được với thông tin trạm kế được dùng để chuyển tiếp cho các đích đến này. MP-UNREACH-NLRI mang một tập các đích không đến được. Cả hai thuộc tính này là Optional và Nontransitive. Vì thế, một BGP Speaker không hỗ trợ tính năng đa giao thức này sẽ bỏ qua thông tin được mang trong các thuộc tính này và sẽ không chuyển nó đến các BGP Speaker khác.
6. Address Framily.
Một Address Framily là một giao thức lớp mạng được định nghĩa. Một định danh họ địa chỉ (AFI- Address Family Identifier) mang một định danh của giao thức lớp mạng kết hợp với địa chỉ mạng trong thuộc tính đa giao thức của BGP. AFI cho các giao thức lớp mạng được xác định trong RFC 1700. “Assigned Number”. PE thực chất là một LER biên (Edge LSR) và thực hiện tất cả các chức năng của một Edge LSR. PE yêu cầu LDP cho việc gán và phân phối nhãn cũng như chuyển tiếp các gói được gán nhãn. Cộng thêm các chức năng của một Edge LSR, PE thực thi một giao thức định tuyến (hay đinh tuyến tĩnh) với các CE trong một bảng định tuyến ảo (Virtual Routing Table) và yêu cầu MP-BGP quảng bá các mạng học được từ CE như các VPNv4 trong MP-iBGP đến các PE khác bằng nhãn VPN.
Router P cần chạy một IGP (OSPF hoặc ISIS) khi MPLS cho phép chuyển tiếp các gói được gán nhãn ( Data Plane) giữa các PE. IGP quảng bá các NLRI đến các P và PE để thực thi một MP-iBGP Session giữa các PE(Control Plane). LDP chạy trên các Router P đển gán và phân phối nhãn.