MPLS VPN (Multi Protocol Label Switching VPN) được biết đến là công nghệ mạng riêng ảo được đưa ra từ những năm 2005, 2006 với tầm nhìn và cách triển khai hoàn toàn thay đổi công nghệ truyền thống bấy giờ. Giao thức xây dựng cơ chế gán nhãn gói tin (Label) trên thiết bị mạng của nhà cung cấp nhằm đơn giản hóa việc tạo “đường hầm” trong mạng riêng ảo. MPLS VPN từ thời điểm bây giờ được coi là công nghệ sẽ giúp doanh nghiệp giảm bớt chi phí đầu tư, quản trị những thiết bị phần cứng đầu cuối đắt tiền và có thể giao trách nhiệm này cho nhà cung cấp dịch vụ phần cứng với đầy đủ năng lực, thiết bị công nghệ bảo mật tốt hơn nhiều cho mạng của doanh nghiệp.
Trong công nghệ MPLS VPN có một thể triển khai một giải pháp là BGP (Border Gateway Protocol) hay được gọi là cổng định biên. BGP là giải pháp triển khai tương đối bắt buộc khi nó mang các thông tin của IP bên ngoài một mạng và trên Internet. Các bộ định tuyến trong mạng của nhà cung cấp dịch vụ muốn tìm kiếm địa chỉ đích của gói tin nhưng đích nằm ngoài mạng của nhà cung cấp thì cần các thông tin IP mà BGP có. Hay Bộ định tuyến sẽ bắt buộc phải có thông tin IP ngoài mạng kia của BGP trong bảng định tuyến để chuyển gói tin. Việc này dẫn đến việc trong một mạng của nhà cung cấp có bao nhiêu thiết bị thì phải trang bị bấy nhiêu BGP để việc chuyển tiếp các gói tin nếu có IP ngoài mạng. Về bản chất khi một mạng triển khai MPLS thì nó cũng đã có những nhãn theo IP.MPLS nên không cần triển khai kèm BGP. Nhưng khi kết hợp cả MPLS và BGP hay BGP MPLS thì giảm gánh nặng chạy BGP trên tất cả các bộ định tuyến. Đồng thời việc triển MPLS cũng cần có bộ định tuyến biên chịu trách nhiệm kiểm tra địa chỉ đích của gói tin nên việc kết hợp thông tin IP mà BGP có sẽ sinh ra địa chỉ IP “bước nhảy” tiếp theo của BGP theo bộ định tuyến MPLS.
Và trong tiêu chuẩn được giới thiệu tại bài viết này, VPN Ethernet (EVPN) được triển khai theo giao thức cổng biên BGP MPLS.
Tổng quan về tiêu chuẩn EVPN dựa trên BGP MPLS
Tiêu chuẩn cung cấp một cái nhìn tổng quan về EVPN. Tiêu chuẩn EVPN cung cấp thông tin bao gồm các “Customer Edge devices” của khách hàng (CE) (Customer Edge devices là thiết bị cung cấp một điểm vào mạng lõi của doanh nghiệp hoặc nhà cung cấp dịch vụ) được kết nối với “Provider Edge devices” của nhà cung cấp (PE) tạo thành cạnh của cơ sở hạ tầng MPLS. CE có thể là một máy chủ, một bộ định tuyến hoặc một bộ chuyển mạch. Các PE cung cấp kết nối cầu nối lớp 2 ảo giữa các CE. Có thể có nhiều phiên bản EVPN trong mạng của nhà cung cấp.

Hình 1: Giới thiệu về VPN Ethernet dựa trên BGP MPLS
Các PE có thể được kết nối bằng cơ sở hạ tầng đường dẫn chuyển mạch nhãn MPLS (LSP), cung cấp các lợi ích của công nghệ MPLS, chẳng hạn như định tuyến lại nhanh chóng, khả năng phục hồi, v.v. Các PE cũng có thể được kết nối bằng cơ sở hạ tầng IP, trong trường hợp này là IP/GRE (Đóng gói định tuyến chung) đường hầm hoặc đường hầm IP khác có thể được sử dụng giữa các PE. Các quy trình chi tiết trong tài liệu này chỉ được quy định cho MPLS LSP như công nghệ đào đường hầm. Tuy nhiên, các quy trình này được thiết kế để có thể mở rộng cho đường hầm IP như công nghệ đường hầm Mạng chuyển mạch gói (Packet Switched Network (PSN)).
Trong EVPN, việc học MAC giữa các PE không xảy ra trong mặt phẳng dữ liệu (như xảy ra với tính năng bắc cầu truyền thống trong VPLS (RFC4761), (RFC4762)) mà trong mặt phẳng điều khiển. Học trên bình diện điều khiển cung cấp khả năng kiểm soát tốt hơn quá trình học MAC, chẳng hạn như hạn chế ai học cái gì và khả năng áp dụng các chính sách. Hơn nữa, mặt phẳng điều khiển được chọn để quảng cáo thông tin khả năng tiếp cận MAC là đa giao thức (multi-protocol (MP)) BGP (tương tự như IP VPN (RFC4364)). Điều này cung cấp tính linh hoạt và khả năng duy trì "ảo hóa" hoặc cô lập các nhóm tác nhân tương tác (máy chủ, máy chủ, máy ảo) với nhau. Trong EVPN, PE quảng cáo địa chỉ MAC học được từ các CE được kết nối với chúng, cùng với nhãn MPLS, tới các PE khác trong mặt phẳng điều khiển bằng cách sử dụng Multiprotocol BGP (MP-BGP). Việc học trên mặt phẳng điều khiển cho phép cân bằng tải lưu lượng truy cập đến và đi từ các CE đa điểm đến nhiều PE. Điều này bổ sung cho việc cân bằng tải trên lõi MPLS thông qua nhiều LSP giữa cùng một cặp PE. Nói cách khác, nó cho phép các CE kết nối với nhiều điểm gắn kết đang hoạt động. Nó cũng cải thiện thời gian hội tụ trong trường hợp có sự cố mạng nhất định.
Tuy nhiên, việc học giữa PE và CE được thực hiện bằng phương pháp phù hợp nhất với CE: học trên bình diện dữ liệu, IEEE 802.1x, Giao thức khám phá lớp liên kết (the Link Layer Discovery Protocol – (LLDP)), IEEE 802.1aq, Giao thức phân giải địa chỉ (Address Resolution Protocol – (ARP)), bình diện quản lý, hoặc các giao thức khác.
Nó là một quyết định cục bộ về việc liệu bảng chuyển tiếp Lớp 2 trên PE có được điền với tất cả các địa chỉ đích MAC mà mặt phẳng điều khiển biết hay không, hay liệu PE có triển khai một lược đồ dựa trên bộ nhớ cache hay không. Ví dụ: bảng chuyển tiếp MAC chỉ có thể được điền với các đích MAC của các luồng hoạt động chuyển tiếp một PE cụ thể.
Các thuộc tính chính sách của EVPN rất giống với các thuộc tính của IP-VPN. Một phiên bản EVPN yêu cầu Bộ phân biệt tuyến (RD) duy nhất cho mỗi MAC-VRF và một hoặc nhiều Mục tiêu tuyến (RT) duy nhất trên toàn cầu. CE gắn vào MAC-VRF trên PE, trên giao diện Ethernet có thể được cấu hình cho một hoặc nhiều thẻ Ethernet, ví dụ: ID VLAN. Một số kịch bản triển khai đảm bảo tính duy nhất của VLAN ID trên các phiên bản EVPN: tất cả các điểm đính kèm cho một phiên bản EVPN nhất định sử dụng cùng một VLAN ID và không phiên bản EVPN nào khác sử dụng VLAN ID này.
Phân đoạn Ethernet
Như đã chỉ ra trong Tiêu chuẩn những yêu cầu cho Ethernet VPN (RFC7209), mỗi đoạn Ethernet cần một số nhận dạng duy nhất trong EVPN. Phần này xác định cách các số nhận dạng như vậy được chỉ định và cách chúng được mã hóa để sử dụng trong báo hiệu EVPN. Khi một trang web được kết nối với một hoặc nhiều PE thông qua một tập hợp các liên kết Ethernet, thì tập hợp các liên kết Ethernet này tạo thành một "phân đoạn Ethernet". Đối với một trang web nhiều người, mỗi phân đoạn Ethernet (ES) được xác định bằng một số nhận dạng khác 0 duy nhất được gọi là Định danh phân đoạn Ethernet (ESI). ESI được mã hóa dưới dạng số nguyên 10 octet ở định dạng dòng với octet quan trọng nhất được gửi trước. Hai giá trị ESI sau được bảo lưu:
- ESI 0 biểu thị một trang web đơn lẻ.
- ESI {0xFF} (lặp lại 10 lần) được gọi là MAX-ESI và được bảo lưu.
Nói chung, phân đoạn Ethernet nên có ESI không dành riêng là mạng duy nhất trên toàn mạng (tức là trên tất cả các phiên bản EVPN trên tất cả các PE). Nếu (các) CE cấu thành một phân đoạn Ethernet được (được) quản lý bởi nhà khai thác mạng, thì tính duy nhất của ESI phải được đảm bảo; tuy nhiên, nếu (các) CE không được quản lý, thì nhà điều hành PHẢI định cấu hình ESI duy nhất trên toàn mạng cho phân đoạn Ethernet đó.
Trong mạng có CE được quản lý và không được quản lý, ESI có định dạng sau:
T (Loại ESI) là trường 1 octet (octet quan trọng nhất) xác định định dạng của 9 octet còn lại (Giá trị ESI). Sáu loại ESI sau có thể được sử dụng:
- Loại 0 (T = 0x00) - Loại này chỉ ra một giá trị ESI 9-octet tùy ý, được quản lý và cấu hình bởi người vận hành.
- Loại 1 (T = 0x01) - Khi IEEE 802.1AX LACP được sử dụng giữa PE và CE, loại ESI này cho biết giá trị ESI được tạo tự động được xác định từ LACP bằng cách nối các tham số sau:
+ Địa chỉ MAC Hệ thống CE LACP (6 octet). Địa chỉ MAC của Hệ thống CE LACP PHẢI được mã hóa trong 6 octet bậc cao của trường Giá trị ESI.
+ Khóa cổng CE LACP (2 octet). Khóa cổng CE LACP phải được mã hóa trong 2 octet bên cạnh địa chỉ MAC của Hệ thống.
+ Octet còn lại sẽ được đặt thành 0x00.
Theo như CE có liên quan, nó sẽ coi nhiều PE mà nó được kết nối với cùng một cổng. Điều này cho phép CE tổng hợp các liên kết được gắn với các PE khác nhau trong cùng một gói.
- Loại 2 (T = 0x02) - Loại này được sử dụng trong trường hợp các máy chủ được kết nối gián tiếp qua mạng LAN bắc cầu giữa các CE và PE. Giá trị ESI được tạo tự động và được xác định dựa trên giao thức cầu nối Lớp 2 như sau: Nếu Giao thức cây nối nhiều tầng (MSTP) được sử dụng trong mạng LAN bắc cầu, thì giá trị của ESI được lấy bằng cách lắng nghe các PDU cầu (BPDU)) trên phân đoạn Ethernet. Để đạt được điều này, PE không bắt buộc phải chạy MSTP. Tuy nhiên, PE phải tìm hiểu địa chỉ MAC của Cầu gốc và Mức độ ưu tiên của Cầu nối gốc của Cây mở rộng nội bộ (IST) bằng cách lắng nghe các BPDU. Giá trị ESI được xây dựng như sau:
+ Địa chỉ MAC của Root Bridge (6 octet). Địa chỉ MAC của Cầu nối gốc phải được mã hóa trong 6 octet bậc cao của trường Giá trị ESI.
+ Ưu tiên Root Bridge (2 octet). Mức độ ưu tiên của cầu gốc CE phải được mã hóa trong 2 octet bên cạnh địa chỉ MAC của cầu gốc.
+ Octet còn lại sẽ được đặt thành 0x00.
- Loại 3 (T = 0x03) - Loại này cho biết Giá trị ESI dựa trên MAC có thể được tạo tự động hoặc được cấu hình bởi người vận hành. Giá trị ESI được xây dựng như sau:
+ Địa chỉ MAC của hệ thống (6 octet). Địa chỉ MAC PE phải được mã hóa trong 6 octet bậc cao của trường Giá trị ESI.
+ Giá trị phân biệt cục bộ (3 octet). Giá trị Bộ phân biệt cục bộ phải được mã hóa trong 3 octet bậc thấp của Giá trị ESI.
- Loại 4 (T = 0x04) - Loại này cho biết Giá trị ESI của router-ID có thể được nhà khai thác tự động tạo hoặc định cấu hình. Giá trị ESI được xây dựng như sau:
+ ID bộ định tuyến (4 octet). ID bộ định tuyến hệ thống phải được mã hóa trong 4 octet bậc cao của trường Giá trị ESI.
Giá trị phân biệt cục bộ (4 octet). Giá trị Local Discriminator phải được mã hóa trong 4 octet bên cạnh địa chỉ IP.
+ Bộ tám bậc thấp của Giá trị ESI sẽ được đặt thành 0x00.
- Loại 5 (T = 0x05) - Loại này cho biết Giá trị ESI dựa trên Hệ thống tự trị (AS) có thể được người vận hành tự động tạo hoặc định cấu hình. Giá trị ESI được xây dựng như sau:
+ Số AS (4 octet). Đây là số AS thuộc sở hữu của hệ thống và phải được mã hóa trong 4 octet bậc cao của trường Giá trị ESI. Nếu số AS 2 octet được sử dụng, 2 octet phụ bậc cao sẽ là 0x0000.
+ Giá trị phân biệt cục bộ (4 octet). Giá trị Local Discriminator phải được mã hóa trong 4 octet bên cạnh số AS.
+ Bộ tám bậc thấp của Giá trị ESI sẽ được đặt thành 0x00.
Cơ chế này chỉ có thể được sử dụng nếu nó tạo ra các ESI từ loại 2 đến loại 5 cần phải đáp ứng yêu cầu về tính duy nhất theo chỉ định.
Các tuyến BGP EVPN
Tiêu chuẩn định nghĩa thông tin khả năng tiếp cận lớp mạng BGP (Network Layer Reachability Information (NLRI)) mới được gọi là EVPN NLRI.
Định dạng của EVPN NLRI như sau:

- Trường “Loại lộ trình” xác định mã hóa phần còn lại của EVPN NLRI (EVPN NLRI cụ thể cho loại tuyến).
- Trường Độ dài cho biết độ dài tính bằng octet của trường “Loại lộ trình” đường cụ thể của EVPN NLRI. Trong đó có 4 loại lộ trình được định nghĩa là:
+ Lộ trình tự động khám phá Ethernet (A-D).
+ Lộ trình quảng cáo MAC/IP.
+ Lộ trình thẻ Multicast Ethernet.
+ Lộ trình đường phân đoạn Ethernet.
EVPN NLRI được trang bị trong BGP đã được định nghĩa tại RFC4271 bằng cách sử dụng Phần mở rộng đa giao thức BGP (RFC4760) với Số nhận dạng họ địa chỉ (AFI) là 25 (L2VPN) và Số nhận dạng họ địa chỉ tiếp theo (SAFI) là 70 (EVPN).
Trường NLRI trong thuộc tính MP_REACH_NLRI/MP_UNREACH_NLRI chứa EVPN NLRI.
Để hai cổng BGP trao đổi EVPN NLRI được gắn nhãn, họ phải sử dụng trường “BGP Capabilities Advertisements” để đảm bảo rằng cả hai đều có khả năng xử lý đúng NLRI đó. Điều này được thực hiện như được chỉ định trong (RFC4760), bằng cách sử dụng mã khả năng 1 (đa giao thức BGP) với AFI là 25 (L2VPN) và SAFI là 70 (EVPN).
Kết luận
Trong bài viết này, Tiêu chuẩn VPN Ethernet dựa trên BGP MPLS được giới thiệu đến bạn đọc một cơ bản, bài viết cũng đã giới thiệu những điểm cần lưu tâm trong việctriển khai VPN Ethernet. Đây là một tiêu chuẩn tương đối mới và được triển khai tương đối đặc thù cho Ethernet tại một số khu vực.
Thông qua việc giới thiệu giao thức này, bài đọc đưa ra các cơ sở tri thức cơ bản nhất về việc triển khai VPN Ethernet theo BGP MPLS để từ đó có cơ sở nghiên cứu và thúc đẩy triển khai VPN Ethernet. Triển khai VPN Ethernet là cần thiết cho việc triển khai mạng ảo an toàn với những hệ thống lớn.
Trần Quốc Tuấn
Tài liệu tham khảo
- A. Sajassi (Cisso), R. Aggarwal (Arktan), N. Bitar (Verizon), A. Isaac (Bloomberg), J. Uttaro, J. Drake (Juniper Networks), W. Henderickx (Alcatel-Lucent), BGP MPLS-Based Ethernet VPN), RFC 7432, February 2015, ISSN:2070-1721.