Tác giả:
+ Nguyễn Thị Băng Tâm
3.2.3. Hoạt động của MPLS VPN
Như đã nói ở trên, MPLS VPN là sự kết hợp các ưu điểm của cả hai mô hình overlay VPN và peer-to-peer VPN. Do đó việc lựa chọn các yếu tố cần thiết để cấu thành mạng MPLS cũng trở nên quan trong, các yếu tố đó bao gồm giao thức định tuyến, cách truyền nhãn qua mạng MPLS trong khi vẫn đảm bảo được tính chất của VPN, v.v…Ta hãy đi phân tích một số đặc điểm để cấu thành mạng MPLS VPN.
3.2.3.a. Kiến trúc của router biên PE trong mạng MPLS VPN
VPNv4 route là NLRI 96 bit (RD + 32 bit Ipv4 NLRI)
Một bảng VRF sẽ chỉ có một route VPNv4 cho tất cả các địa chỉ prefix 32 bit thuộc về VRF đó. Khi địa chỉ đích của gói tin thỏa mãn (matched) được route VPNv4 thì có nghĩa là phần prefix 32 bit trong route VPNv4 thỏa mãn địa chỉ đích đó.
Format của Route Distinguisher:
Route Distinguisher được tạo ra để cho mỗi nhà cung cấp dịch vụ có thể quản trị ‘khoảng giá trị - numbering space’ của họ, họ có thể thực hiện việc đăng kí RD mà không mâu thuẫn với việc đăng kí RD của nhà cung cấp dịch vụ khác (nghĩa là RD của mỗi nhà cung cấp dịch vụ không trùng nhau).
Format của RD bao gồm các trường: trường Type, trường Administrator , và trường Assigned number.
• Trường Type: 2 byte, xác định chiều dài của hai trường còn lại.
• Trường Administrator: dùng để nhận diện quyền của số được đăng kí (assigned number authority).
• Trường Assigned number: bao gồm số được đăng kí cho mục đích cụ thể nào đó của nhà cung cấp dịch vụ.
Tùy vào trường Type mà RD có format khác nhau, cấu trúc của giá trị này có thể là ASN : nn hoặc IP-address : nn. Với ASN là Autonomous System Number được đăng kí bởi Internet Assigned Number Authority (IANA), và nn là số được đăng kí bởi nhà cung cấp dịch vụ đến IANA. Số nn là giá trị mang tính duy nhất trên mỗi VRF, mặc dù trong môt vài trường hợp nó có thể duy nhất trên mỗi khách hàng VPN. Vậy VPN có thể có RD với trường Administrator là ASN hay IP-address. Nhưng cách sử dụng ASN được khuyến khích hơn vì nó được đăng kí bởi IANA, tạo ra được tính duy nhất giữa các nhà cung cấp dịch vụ. Sử dụng format IP-address : nn chỉ khi mạng MPLS/VPN sử dụng private AS nhưng địa chỉ VPN-Ipv4 được truyền đi không phải bị giới hạn ở private AS (ví dụ khi trao đổi VPN route giữa các nhà cung cấp dịch vụ khác nhau).
Format của RD như sau:
Hình 3.4: Khối kiến trúc của router PE
Router PE trong MPLS VPN rất giống như kiến trúc của POP trong router PE dành trước trong mô hình VPN ngang cấp, chỉ có sự khác biệt là toàn bộ mọi thứ được tập trung vào một thiết bị vật lý. Mỗi khách hàng đăng kí một bảng định tuyến độc lập nhau (bảng định tuyến ảo) tương ứng như một router ảo trong mô hình VPN ngang cấp. Định tuyến dọc mạng của nhà cung cấp được thực hiện bởi tiến trình định tuyến khác sử dụng bảng định tuyến toàn cục (global), tương đương như intra-POP-P-router trong mô hình VPN ngang cấp.
3.2.3.b. Truyền thông tin định tuyến dọc mạng nhà cung cấp
Khi bảng định tuyến ảo đảm bảo sự cách ly giữa các khách hàng, dữ liệu từ các bảng định tuyến này vẫn cần được trao đổi giữa các Router PE để dữ liệu có thể truyền giữa các site gắn vào các Router PE khác nhau. Do đó chúng ta cần phải có một giao thức định tuyến sẽ vận chuyển tất cả các route của khách hàng dọc mạng nhà cung cấp trong khi vẫn duy trì được không gian địa chỉ độc lập giữa khách hàng với nhau.
Một giải pháp được đưa ra là chạy giao thức định tuyến riêng cho mỗi khách hàng. Các router PE có thể được kết nối thông qua các đường hầm điểm – điểm (và giao thức định tuyến cho mỗi khách hàng sẽ chạy giữa các router PE) hoặc là router P có thể tham gia vào quá trình định tuyến của khách hàng. Giải pháp này, mặc dù thực hiện đơn giản nhưng lại không thích hợp trong môi trường khách hàng, vì nó không có khả năng mở rộng và phải đối mặt với nhiều vấn đề khi có yêu cầu hỗ trợ VPN trùng lắp (overlapping VPN):
o Router PE phải chạy một số lượng lớn các giao thức định tuyến .
o Router P phải mang tất cả các route của khách hàng.
o
Sau đó, một giải pháp tốt hơn được đưa ra là chỉ triển khai một giao thức định tuyến có thể trao đổi tất cả các route của khách hàng dọc mạng nhà cung cấp. Rõ ràng giải pháp này tốt hơn giải pháp trước nhưng router P vẫn phải tham gia vào định tuyến khách hàng, do đó nó vẫn không giải quyết được vấn đề mở rộng.
Để hiểu rõ hơn vấn đề mở rộng khi triển khai một giao thức định tuyến trên 1 VPN, ta lấy ví dụ sau đây: Giả sử mạng backbone của nhà cung cấp dịch vụ sẽ phải cung cấp hơn 100 khách hàng VPN kết nối đến router hai router biên PE sử dụng OSPF là giao thức định tuyến. Router PE trong mạng backbone sẽ chạy hơn 100 bản copy tiến trình định tuyến OSPF độc lập nhau với mỗi bản copy gửi các gói tin hello và gói tin refreshment tuần hoàn qua mạng. Vì có thể chạy hơn một bản copy OSPF qua cùng một link, ta có thể cấu hình các subinterface trên một VPN trên link giữa PE và CE, kết quả là tạo ra mô hình mạng phức tạp. Và phải chạy 100 thuật toán SPF cũng như duy trì database topology riêng rẽ trong các router P.
Giải pháp tối ưu là truyền thông tin định tuyến khách hàng sẽ do một giao thức định tuyến giữa các router PE điều hành, các router P không tham gia vào việc định tuyến này. Giải pháp này hiệu quả vì nó có khả năng mở rộng:
• Số lượng giao thức định tuyến giữa các router PE không tăng khi tăng số lượng khách hàng.
• Router P không mang các route của khách hàng.
Do đó yêu cầu bây giờ là việc lựa chọn giao thức định tuyến nào sẽ chạy giữa các router PE. Khi tổng số route của khách hàng rất lớn, nên chỉ có một giao thức định tuyến mới có khả năng đảm bảo được vấn đề này là BGP. BGP được sử dụng trong mạng MPLS/VPN trên các router PE để vẫn chuyển các route của khách hàng. Giao thức BGP dùng trong mạng MPLS/VPN được gọi là Multiprotocol BGP (MP-BGP).
Ta có thể tóm tắt các ưu điểm của BGP để chọn nó là giao thức dùng cho việc vận chuyển các VPN route là:
• VPN route trong mạng có thể tăng lên đáng kể với số lượng lớn. BGP là giao thức định tuyến có thể hỗ trợ số lượng lớn các route như vậy.
• BGP, EIGRP, ISIS cũng là các giao thức định tuyến mang thông tin định tuyến cho nhiều lớp địa chỉ khác nhau. Nhưng ISIS và EIGRP không có khả năng mở rộng, không mang được một số lượng lớn các route như BGP. BGP cũng được thiết kế để trao đổi thông tin định tuyến giữa các router không kết nối trực tiếp. Đặc điểm này hỗ trợ việc giữ thông tin định tuyến không cho các router P biết.
3.2.3.c. Bảng định tuyến và chuyển tiếp VPN ( VPN routing forwarding - VRF)
Sự kết hợp giữa bảng định tuyến VPN và bảng chuyển tiếp VPN tạo thành bảng định tuyến chuyển tiếp VPN (VRF).
Mỗi VPN đều có bảng định tuyến và chuyển tiếp riêng của nó trong router PE, mỗi router PE duy trì một hoặc nhiều bảng VRF. Mỗi site mà có router PE gắn vào đó sẽ liên kết với một trong các bảng này. Địa chỉ IP đích của gói tin nào đó chỉ được kiểm tra trong bảng VRF mà nó thuộc về nếu gói tin đến trực tiếp từ site tương ứng với bảng VRF đó. Một VRF đơn giản chỉ là một tập hợp các route thích hợp cho một site nào đó (hoặc một tập hợp gồm nhiều site) kết nối đến router PE. Các route này có thể thuộc về hơn một VPN.
Vậy các bảng VRF được phổ biến như thế nào ?
Ví dụ, giả sử có 3 router PE là PE1, PE2, PE3, và 3 router CE là CE1, CE2, CE3. Giả sử PE1 học từ CE1 các route hợp lệ ở site CE1. PE2 và PE3 thứ tự gắn vào site CE2 và CE3. Cả ba site này đều thuộc cùng một VPN V, thì PE1 sẽ sử dụng BGP để phân phối cho PE2 và PE3 các route mà nó học được từ site CE1. PE2 và PE3 sử dụng các route này để đưa vào bảng chuyển tiếp dành cho site CE2 và CE3. Các route từ những site không thuộc vào VPN V sẽ không xuất hiện trong bảng chuyển tiếp này, có nghĩa là các gói tin từ CE3 và CE2 không thể được gửi đến những site nào không thuộc VPN V.
Nếu một site thuộc vào nhiều VPN, bảng chuyển tiếp tương ứng với site đó có thể có nhiều route liên quan đến tất cả VPN mà nó thuộc về. PE chỉ duy trì một bảng VRF trên một site. Các site khác nhau có thể chia sẽ cùng bảng VRF nếu nó sử dụng tập hợp các route một cách chính xác giống như các route trong bảng VRF đó. Nếu tất cả các site có thông tin định tuyến giống nhau (điều này thường là các site đó cùng thuộc về tập hợp VPN) sẽ được phép liên lạc trực tiếp với nhau và nếu kết nối đến cùng một router PE sẽ được đặt vào cùng một bảng VRF chung.
Giả sử router PE nhận được gói tin từ một site gắn trực tiếp vào nó, gọi site này là siteA nhưng địa chỉ đích của gói tin không có trong tất cả các entry có trong bảng chuyển tiếp tương ứng với siteA. Nếu nhà cung cấp dịch vụ không cung cấp truy cập Internet cho siteA thì gói tin sẽ bị loại bỏ vì không thể phân phối được đến đích, nhưng nếu nhà cung cấp dịch vụ có cung cấp truy cập Internet cho siteA thì lúc này địa chỉ đích của gói tin sẽ được tìm kiếm trong bảng định tuyến global. Do đó bất kì router PE nào trong mạng MPLS/VPN có nhiều bảng định tuyến trên mỗi VRF và một bảng định tuyến global, bảng định tuyến này được sử dụng để tìm các router khác trong mạng nhà cung cấp dịch vụ, cũng như tìm các đích thuộc về mạng bên ngoài (ví dụ như Internet).
Tóm lại, VRF là một trường hợp (instance) định tuyến và chuyển tiếp có thể được sử dụng cho một site VPN hoặc cho nhiều site kết nối đến cùng một router PE miễn là các site này chia sẽ chính xác các yêu cầu kết nối giống nhau. Do đó cấu trúc của bảng VRF có thể bao gồm :
• Bảng định tuyến IP.
• Bảng chuyển tiếp.
• Tập hợp các quy tắc và các tham số giao thức định tuyến (gọi là routing protocol context).
• Danh sách các interface sử dụng trong VRF.
3.2.3.d. Phân phối route VPN thông qua BGP
Với việc triển khai một giao thức định tuyến là BGP để trao đổi tất cả các route của khách hàng giữa các router PE, một vấn đề được đặt ra là: làm thế nào mà BGP có thể truyền nhiều prefix xác định thuộc về các khách hàng khác nhau giữa các router PE?
Như ta đã biết BGP, trong format chuẩn của nó, chỉ có thể thực hiện được đối với các route IPv4. Trong MPLS/VPN, vì mỗi VPN phải có khả năng sử dụng (mặc dù điều này không cần thiết) các IP prefix giống nhau như các VPN khác (ngay cả khi chúng không liên lạc với nhau). BPG sử dụng địa chỉ IPv4 chọn một đường đi giữa tất cả các đường có thể đi đến đích (gồm có network và mask). Do đó, MP-BGP không thể làm việc đúng nếu khách hàng sử dụng cùng không gian địa chỉ.
Chỉ có một giải pháp để giải quyết vấn đề này là mở rộng ip prefix khách hàng với một prefix duy nhất sẽ làm cho địa chỉ của khách hàng trở nên duy nhất ngay cả khi có sự trùng lắp địa chỉ. Hơn nữa ta phải đảm bảo rằng chính sách được sử dụng để quyết định route nào trong số các route được BGP sử dụng chỉ có thể có ở trong bảng VRF mà nó phải thuộc về.
Việc truyền route của khách hàng dọc mạng MPLS VPN sẽ được thực hiện như sau:
• Router CE gửi cập nhật định tuyến Ipv4 đến Router PE.
• Router PE sau đó thêm vào Route Distinguisher 64 bit vào cập nhật định tuyến Ipv4 mà nó đã nhận đó, kết quả là tạo ra địa chỉ VPNv4 96 bit duy nhất.
• Địa chỉ VPNv4 này được truyền đi thông qua phiên MP-IBGP đến các Router PE khác.
• Router PE nhận sẽ loại bỏ Route Distinguisher từ địa chỉ VPNv4 tạo thành địa chỉ Ipv4 như ban đầu mà CE đầu xa đã gửi.
• Địa chỉ Ipv4 này được chuyển tiếp đến router CE khác trong bản cập nhật định tuyến Ipv4.
3.2.3.e. Route Distinguisher (RD)
Một prefix 64 bit, được gọi là Route Distinguisher, được sử dụng trong MPLS VPN để biến đổi địa chỉ IP 32 bit (là địa chỉ không duy nhất) thành địa chỉ 96 bit (là địa chỉ mang tính duy nhất). Địa chỉ 96 bit này sẽ đựơc truyền giữa các router PE và được gọi là địa chỉ VPNv4 (hay còn gọi là địa chỉ VPN_Ipv4). Route distinguisher bản thân nó không có ý nghĩa hay giá trị gì cả, nó không có mang thông tin về nguồn gốc của route hoặc về tập hợp các VPN mà route đó được phân phối tới. Mục đích của RD chỉ là cho phép tạo ra tính duy nhất cho các route có địa chỉ Ipv4. RD cũng có thể được sử dụng để tạo ra nhiều route khác nhau trong cùng một hệ thống.
Format của địa chỉ VPNv4 :
VPNv4 route là NLRI 96 bit (RD + 32 bit Ipv4 NLRI)
Một bảng VRF sẽ chỉ có một route VPNv4 cho tất cả các địa chỉ prefix 32 bit thuộc về VRF đó. Khi địa chỉ đích của gói tin thỏa mãn (matched) được route VPNv4 thì có nghĩa là phần prefix 32 bit trong route VPNv4 thỏa mãn địa chỉ đích đó.
Format của Route Distinguisher:
Route Distinguisher được tạo ra để cho mỗi nhà cung cấp dịch vụ có thể quản trị ‘khoảng giá trị - numbering space’ của họ, họ có thể thực hiện việc đăng kí RD mà không mâu thuẫn với việc đăng kí RD của nhà cung cấp dịch vụ khác (nghĩa là RD của mỗi nhà cung cấp dịch vụ không trùng nhau).
Format của RD bao gồm các trường: trường Type, trường Administrator , và trường Assigned number.
• Trường Type: 2 byte, xác định chiều dài của hai trường còn lại.
• Trường Administrator: dùng để nhận diện quyền của số được đăng kí (assigned number authority).
• Trường Assigned number: bao gồm số được đăng kí cho mục đích cụ thể nào đó của nhà cung cấp dịch vụ.
Tùy vào trường Type mà RD có format khác nhau, cấu trúc của giá trị này có thể là ASN : nn hoặc IP-address : nn. Với ASN là Autonomous System Number được đăng kí bởi Internet Assigned Number Authority (IANA), và nn là số được đăng kí bởi nhà cung cấp dịch vụ đến IANA. Số nn là giá trị mang tính duy nhất trên mỗi VRF, mặc dù trong môt vài trường hợp nó có thể duy nhất trên mỗi khách hàng VPN. Vậy VPN có thể có RD với trường Administrator là ASN hay IP-address. Nhưng cách sử dụng ASN được khuyến khích hơn vì nó được đăng kí bởi IANA, tạo ra được tính duy nhất giữa các nhà cung cấp dịch vụ. Sử dụng format IP-address : nn chỉ khi mạng MPLS/VPN sử dụng private AS nhưng địa chỉ VPN-Ipv4 được truyền đi không phải bị giới hạn ở private AS (ví dụ khi trao đổi VPN route giữa các nhà cung cấp dịch vụ khác nhau).
Format của RD như sau:
Ví dụ về việc sử dụng RD đã giải quyết được vấn đề trùng địa chỉ Ipv4:
Hình 3.5: Sử dụng RD đã giải quyết được vấn đề trùng địa chỉ giữa các VPN
Trên hình vẽ trên, router PE3 nhận hai cập nhật về mạng 10.2.1.0/24 từ hai router PE là PE1 và PE2, nhờ vào RD mà các cập nhật này mang tính duy nhất. Cập nhật được nhận từ router PE1 là cho prefix 100:27:10.2.1.0/24 và cập nhật được nhận từ router PE2 là cho prefix 100:26:10.2.1.0/24.
+ Nguyễn Thị Băng Tâm
3.2.3. Hoạt động của MPLS VPN
Như đã nói ở trên, MPLS VPN là sự kết hợp các ưu điểm của cả hai mô hình overlay VPN và peer-to-peer VPN. Do đó việc lựa chọn các yếu tố cần thiết để cấu thành mạng MPLS cũng trở nên quan trong, các yếu tố đó bao gồm giao thức định tuyến, cách truyền nhãn qua mạng MPLS trong khi vẫn đảm bảo được tính chất của VPN, v.v…Ta hãy đi phân tích một số đặc điểm để cấu thành mạng MPLS VPN.
3.2.3.a. Kiến trúc của router biên PE trong mạng MPLS VPN
VPNv4 route là NLRI 96 bit (RD + 32 bit Ipv4 NLRI)
Một bảng VRF sẽ chỉ có một route VPNv4 cho tất cả các địa chỉ prefix 32 bit thuộc về VRF đó. Khi địa chỉ đích của gói tin thỏa mãn (matched) được route VPNv4 thì có nghĩa là phần prefix 32 bit trong route VPNv4 thỏa mãn địa chỉ đích đó.
Format của Route Distinguisher:
Route Distinguisher được tạo ra để cho mỗi nhà cung cấp dịch vụ có thể quản trị ‘khoảng giá trị - numbering space’ của họ, họ có thể thực hiện việc đăng kí RD mà không mâu thuẫn với việc đăng kí RD của nhà cung cấp dịch vụ khác (nghĩa là RD của mỗi nhà cung cấp dịch vụ không trùng nhau).
Format của RD bao gồm các trường: trường Type, trường Administrator , và trường Assigned number.
• Trường Type: 2 byte, xác định chiều dài của hai trường còn lại.
• Trường Administrator: dùng để nhận diện quyền của số được đăng kí (assigned number authority).
• Trường Assigned number: bao gồm số được đăng kí cho mục đích cụ thể nào đó của nhà cung cấp dịch vụ.
Tùy vào trường Type mà RD có format khác nhau, cấu trúc của giá trị này có thể là ASN : nn hoặc IP-address : nn. Với ASN là Autonomous System Number được đăng kí bởi Internet Assigned Number Authority (IANA), và nn là số được đăng kí bởi nhà cung cấp dịch vụ đến IANA. Số nn là giá trị mang tính duy nhất trên mỗi VRF, mặc dù trong môt vài trường hợp nó có thể duy nhất trên mỗi khách hàng VPN. Vậy VPN có thể có RD với trường Administrator là ASN hay IP-address. Nhưng cách sử dụng ASN được khuyến khích hơn vì nó được đăng kí bởi IANA, tạo ra được tính duy nhất giữa các nhà cung cấp dịch vụ. Sử dụng format IP-address : nn chỉ khi mạng MPLS/VPN sử dụng private AS nhưng địa chỉ VPN-Ipv4 được truyền đi không phải bị giới hạn ở private AS (ví dụ khi trao đổi VPN route giữa các nhà cung cấp dịch vụ khác nhau).
Format của RD như sau:
Hình 3.4: Khối kiến trúc của router PE
Router PE trong MPLS VPN rất giống như kiến trúc của POP trong router PE dành trước trong mô hình VPN ngang cấp, chỉ có sự khác biệt là toàn bộ mọi thứ được tập trung vào một thiết bị vật lý. Mỗi khách hàng đăng kí một bảng định tuyến độc lập nhau (bảng định tuyến ảo) tương ứng như một router ảo trong mô hình VPN ngang cấp. Định tuyến dọc mạng của nhà cung cấp được thực hiện bởi tiến trình định tuyến khác sử dụng bảng định tuyến toàn cục (global), tương đương như intra-POP-P-router trong mô hình VPN ngang cấp.
3.2.3.b. Truyền thông tin định tuyến dọc mạng nhà cung cấp
Khi bảng định tuyến ảo đảm bảo sự cách ly giữa các khách hàng, dữ liệu từ các bảng định tuyến này vẫn cần được trao đổi giữa các Router PE để dữ liệu có thể truyền giữa các site gắn vào các Router PE khác nhau. Do đó chúng ta cần phải có một giao thức định tuyến sẽ vận chuyển tất cả các route của khách hàng dọc mạng nhà cung cấp trong khi vẫn duy trì được không gian địa chỉ độc lập giữa khách hàng với nhau.
Một giải pháp được đưa ra là chạy giao thức định tuyến riêng cho mỗi khách hàng. Các router PE có thể được kết nối thông qua các đường hầm điểm – điểm (và giao thức định tuyến cho mỗi khách hàng sẽ chạy giữa các router PE) hoặc là router P có thể tham gia vào quá trình định tuyến của khách hàng. Giải pháp này, mặc dù thực hiện đơn giản nhưng lại không thích hợp trong môi trường khách hàng, vì nó không có khả năng mở rộng và phải đối mặt với nhiều vấn đề khi có yêu cầu hỗ trợ VPN trùng lắp (overlapping VPN):
o Router PE phải chạy một số lượng lớn các giao thức định tuyến .
o Router P phải mang tất cả các route của khách hàng.
o
Sau đó, một giải pháp tốt hơn được đưa ra là chỉ triển khai một giao thức định tuyến có thể trao đổi tất cả các route của khách hàng dọc mạng nhà cung cấp. Rõ ràng giải pháp này tốt hơn giải pháp trước nhưng router P vẫn phải tham gia vào định tuyến khách hàng, do đó nó vẫn không giải quyết được vấn đề mở rộng.
Để hiểu rõ hơn vấn đề mở rộng khi triển khai một giao thức định tuyến trên 1 VPN, ta lấy ví dụ sau đây: Giả sử mạng backbone của nhà cung cấp dịch vụ sẽ phải cung cấp hơn 100 khách hàng VPN kết nối đến router hai router biên PE sử dụng OSPF là giao thức định tuyến. Router PE trong mạng backbone sẽ chạy hơn 100 bản copy tiến trình định tuyến OSPF độc lập nhau với mỗi bản copy gửi các gói tin hello và gói tin refreshment tuần hoàn qua mạng. Vì có thể chạy hơn một bản copy OSPF qua cùng một link, ta có thể cấu hình các subinterface trên một VPN trên link giữa PE và CE, kết quả là tạo ra mô hình mạng phức tạp. Và phải chạy 100 thuật toán SPF cũng như duy trì database topology riêng rẽ trong các router P.
Giải pháp tối ưu là truyền thông tin định tuyến khách hàng sẽ do một giao thức định tuyến giữa các router PE điều hành, các router P không tham gia vào việc định tuyến này. Giải pháp này hiệu quả vì nó có khả năng mở rộng:
• Số lượng giao thức định tuyến giữa các router PE không tăng khi tăng số lượng khách hàng.
• Router P không mang các route của khách hàng.
Do đó yêu cầu bây giờ là việc lựa chọn giao thức định tuyến nào sẽ chạy giữa các router PE. Khi tổng số route của khách hàng rất lớn, nên chỉ có một giao thức định tuyến mới có khả năng đảm bảo được vấn đề này là BGP. BGP được sử dụng trong mạng MPLS/VPN trên các router PE để vẫn chuyển các route của khách hàng. Giao thức BGP dùng trong mạng MPLS/VPN được gọi là Multiprotocol BGP (MP-BGP).
Ta có thể tóm tắt các ưu điểm của BGP để chọn nó là giao thức dùng cho việc vận chuyển các VPN route là:
• VPN route trong mạng có thể tăng lên đáng kể với số lượng lớn. BGP là giao thức định tuyến có thể hỗ trợ số lượng lớn các route như vậy.
• BGP, EIGRP, ISIS cũng là các giao thức định tuyến mang thông tin định tuyến cho nhiều lớp địa chỉ khác nhau. Nhưng ISIS và EIGRP không có khả năng mở rộng, không mang được một số lượng lớn các route như BGP. BGP cũng được thiết kế để trao đổi thông tin định tuyến giữa các router không kết nối trực tiếp. Đặc điểm này hỗ trợ việc giữ thông tin định tuyến không cho các router P biết.
3.2.3.c. Bảng định tuyến và chuyển tiếp VPN ( VPN routing forwarding - VRF)
Sự kết hợp giữa bảng định tuyến VPN và bảng chuyển tiếp VPN tạo thành bảng định tuyến chuyển tiếp VPN (VRF).
Mỗi VPN đều có bảng định tuyến và chuyển tiếp riêng của nó trong router PE, mỗi router PE duy trì một hoặc nhiều bảng VRF. Mỗi site mà có router PE gắn vào đó sẽ liên kết với một trong các bảng này. Địa chỉ IP đích của gói tin nào đó chỉ được kiểm tra trong bảng VRF mà nó thuộc về nếu gói tin đến trực tiếp từ site tương ứng với bảng VRF đó. Một VRF đơn giản chỉ là một tập hợp các route thích hợp cho một site nào đó (hoặc một tập hợp gồm nhiều site) kết nối đến router PE. Các route này có thể thuộc về hơn một VPN.
Vậy các bảng VRF được phổ biến như thế nào ?
Ví dụ, giả sử có 3 router PE là PE1, PE2, PE3, và 3 router CE là CE1, CE2, CE3. Giả sử PE1 học từ CE1 các route hợp lệ ở site CE1. PE2 và PE3 thứ tự gắn vào site CE2 và CE3. Cả ba site này đều thuộc cùng một VPN V, thì PE1 sẽ sử dụng BGP để phân phối cho PE2 và PE3 các route mà nó học được từ site CE1. PE2 và PE3 sử dụng các route này để đưa vào bảng chuyển tiếp dành cho site CE2 và CE3. Các route từ những site không thuộc vào VPN V sẽ không xuất hiện trong bảng chuyển tiếp này, có nghĩa là các gói tin từ CE3 và CE2 không thể được gửi đến những site nào không thuộc VPN V.
Nếu một site thuộc vào nhiều VPN, bảng chuyển tiếp tương ứng với site đó có thể có nhiều route liên quan đến tất cả VPN mà nó thuộc về. PE chỉ duy trì một bảng VRF trên một site. Các site khác nhau có thể chia sẽ cùng bảng VRF nếu nó sử dụng tập hợp các route một cách chính xác giống như các route trong bảng VRF đó. Nếu tất cả các site có thông tin định tuyến giống nhau (điều này thường là các site đó cùng thuộc về tập hợp VPN) sẽ được phép liên lạc trực tiếp với nhau và nếu kết nối đến cùng một router PE sẽ được đặt vào cùng một bảng VRF chung.
Giả sử router PE nhận được gói tin từ một site gắn trực tiếp vào nó, gọi site này là siteA nhưng địa chỉ đích của gói tin không có trong tất cả các entry có trong bảng chuyển tiếp tương ứng với siteA. Nếu nhà cung cấp dịch vụ không cung cấp truy cập Internet cho siteA thì gói tin sẽ bị loại bỏ vì không thể phân phối được đến đích, nhưng nếu nhà cung cấp dịch vụ có cung cấp truy cập Internet cho siteA thì lúc này địa chỉ đích của gói tin sẽ được tìm kiếm trong bảng định tuyến global. Do đó bất kì router PE nào trong mạng MPLS/VPN có nhiều bảng định tuyến trên mỗi VRF và một bảng định tuyến global, bảng định tuyến này được sử dụng để tìm các router khác trong mạng nhà cung cấp dịch vụ, cũng như tìm các đích thuộc về mạng bên ngoài (ví dụ như Internet).
Tóm lại, VRF là một trường hợp (instance) định tuyến và chuyển tiếp có thể được sử dụng cho một site VPN hoặc cho nhiều site kết nối đến cùng một router PE miễn là các site này chia sẽ chính xác các yêu cầu kết nối giống nhau. Do đó cấu trúc của bảng VRF có thể bao gồm :
• Bảng định tuyến IP.
• Bảng chuyển tiếp.
• Tập hợp các quy tắc và các tham số giao thức định tuyến (gọi là routing protocol context).
• Danh sách các interface sử dụng trong VRF.
3.2.3.d. Phân phối route VPN thông qua BGP
Với việc triển khai một giao thức định tuyến là BGP để trao đổi tất cả các route của khách hàng giữa các router PE, một vấn đề được đặt ra là: làm thế nào mà BGP có thể truyền nhiều prefix xác định thuộc về các khách hàng khác nhau giữa các router PE?
Như ta đã biết BGP, trong format chuẩn của nó, chỉ có thể thực hiện được đối với các route IPv4. Trong MPLS/VPN, vì mỗi VPN phải có khả năng sử dụng (mặc dù điều này không cần thiết) các IP prefix giống nhau như các VPN khác (ngay cả khi chúng không liên lạc với nhau). BPG sử dụng địa chỉ IPv4 chọn một đường đi giữa tất cả các đường có thể đi đến đích (gồm có network và mask). Do đó, MP-BGP không thể làm việc đúng nếu khách hàng sử dụng cùng không gian địa chỉ.
Chỉ có một giải pháp để giải quyết vấn đề này là mở rộng ip prefix khách hàng với một prefix duy nhất sẽ làm cho địa chỉ của khách hàng trở nên duy nhất ngay cả khi có sự trùng lắp địa chỉ. Hơn nữa ta phải đảm bảo rằng chính sách được sử dụng để quyết định route nào trong số các route được BGP sử dụng chỉ có thể có ở trong bảng VRF mà nó phải thuộc về.
Việc truyền route của khách hàng dọc mạng MPLS VPN sẽ được thực hiện như sau:
• Router CE gửi cập nhật định tuyến Ipv4 đến Router PE.
• Router PE sau đó thêm vào Route Distinguisher 64 bit vào cập nhật định tuyến Ipv4 mà nó đã nhận đó, kết quả là tạo ra địa chỉ VPNv4 96 bit duy nhất.
• Địa chỉ VPNv4 này được truyền đi thông qua phiên MP-IBGP đến các Router PE khác.
• Router PE nhận sẽ loại bỏ Route Distinguisher từ địa chỉ VPNv4 tạo thành địa chỉ Ipv4 như ban đầu mà CE đầu xa đã gửi.
• Địa chỉ Ipv4 này được chuyển tiếp đến router CE khác trong bản cập nhật định tuyến Ipv4.
3.2.3.e. Route Distinguisher (RD)
Một prefix 64 bit, được gọi là Route Distinguisher, được sử dụng trong MPLS VPN để biến đổi địa chỉ IP 32 bit (là địa chỉ không duy nhất) thành địa chỉ 96 bit (là địa chỉ mang tính duy nhất). Địa chỉ 96 bit này sẽ đựơc truyền giữa các router PE và được gọi là địa chỉ VPNv4 (hay còn gọi là địa chỉ VPN_Ipv4). Route distinguisher bản thân nó không có ý nghĩa hay giá trị gì cả, nó không có mang thông tin về nguồn gốc của route hoặc về tập hợp các VPN mà route đó được phân phối tới. Mục đích của RD chỉ là cho phép tạo ra tính duy nhất cho các route có địa chỉ Ipv4. RD cũng có thể được sử dụng để tạo ra nhiều route khác nhau trong cùng một hệ thống.
Format của địa chỉ VPNv4 :
VPNv4 route là NLRI 96 bit (RD + 32 bit Ipv4 NLRI)
Một bảng VRF sẽ chỉ có một route VPNv4 cho tất cả các địa chỉ prefix 32 bit thuộc về VRF đó. Khi địa chỉ đích của gói tin thỏa mãn (matched) được route VPNv4 thì có nghĩa là phần prefix 32 bit trong route VPNv4 thỏa mãn địa chỉ đích đó.
Format của Route Distinguisher:
Route Distinguisher được tạo ra để cho mỗi nhà cung cấp dịch vụ có thể quản trị ‘khoảng giá trị - numbering space’ của họ, họ có thể thực hiện việc đăng kí RD mà không mâu thuẫn với việc đăng kí RD của nhà cung cấp dịch vụ khác (nghĩa là RD của mỗi nhà cung cấp dịch vụ không trùng nhau).
Format của RD bao gồm các trường: trường Type, trường Administrator , và trường Assigned number.
• Trường Type: 2 byte, xác định chiều dài của hai trường còn lại.
• Trường Administrator: dùng để nhận diện quyền của số được đăng kí (assigned number authority).
• Trường Assigned number: bao gồm số được đăng kí cho mục đích cụ thể nào đó của nhà cung cấp dịch vụ.
Tùy vào trường Type mà RD có format khác nhau, cấu trúc của giá trị này có thể là ASN : nn hoặc IP-address : nn. Với ASN là Autonomous System Number được đăng kí bởi Internet Assigned Number Authority (IANA), và nn là số được đăng kí bởi nhà cung cấp dịch vụ đến IANA. Số nn là giá trị mang tính duy nhất trên mỗi VRF, mặc dù trong môt vài trường hợp nó có thể duy nhất trên mỗi khách hàng VPN. Vậy VPN có thể có RD với trường Administrator là ASN hay IP-address. Nhưng cách sử dụng ASN được khuyến khích hơn vì nó được đăng kí bởi IANA, tạo ra được tính duy nhất giữa các nhà cung cấp dịch vụ. Sử dụng format IP-address : nn chỉ khi mạng MPLS/VPN sử dụng private AS nhưng địa chỉ VPN-Ipv4 được truyền đi không phải bị giới hạn ở private AS (ví dụ khi trao đổi VPN route giữa các nhà cung cấp dịch vụ khác nhau).
Format của RD như sau:
Ví dụ về việc sử dụng RD đã giải quyết được vấn đề trùng địa chỉ Ipv4:
Hình 3.5: Sử dụng RD đã giải quyết được vấn đề trùng địa chỉ giữa các VPN
Trên hình vẽ trên, router PE3 nhận hai cập nhật về mạng 10.2.1.0/24 từ hai router PE là PE1 và PE2, nhờ vào RD mà các cập nhật này mang tính duy nhất. Cập nhật được nhận từ router PE1 là cho prefix 100:27:10.2.1.0/24 và cập nhật được nhận từ router PE2 là cho prefix 100:26:10.2.1.0/24.
Comment