2.4.1. Khái niệm mạng riêng ảo VPN
Trong thời gian gần đây, sự phát triển của các công nghệ truyền thống như ATM, Frame Relay và đặc biệt là Internet đã kéo theo sự pháp triển của hàng loạt các dịch vụ mới đáp ứng nhu cầu đa dạng của các ứng dụng công nghệ thông tin trong nền kinh tế hiện nay, một trong các loại hình dịch vụ đó là giải pháp tạo mạng riêng ảo.
Thuật ngữ mạng riêng ảo được định nghĩa một cách tương đối lỏng lẻo, rất nhiều người đã hiểu thuật ngữ này theo nhiều nghĩa khác nhau. Trong phần này, một mạng riêng ảo được coi là một mạng riêng đa vị trí được tạo ra bằng cách sử dụng các nguồn tài nguyên chia sẻ của một mạng công cộng[1].
Để có thể hiểu rõ được khái niệm mạng riêng ảo VPN, chúng ta hãy xét mô hình một công ty có trụ sở phân bổ tại nhiều nơi. Để kết nối các hệ thống máy tính này với nhau, công ty này cần phải thiết lập một mạng riêng ảo cho riêng công ty của mình.
Mạng này là mạng riêng có nghĩa là mạng chỉ được sử dụng trong công ty đó, đồng thời các kế hoạch định tuyến cũng như việc đánh địa chỉ của các nút mạng trong mạng của công ty này là độc lập với các hệ thống mạng khác.
Mạng có ý nghĩa là mạng ảo, nghĩa là các phương tiện được sử dụng để xây dựng lên mạng này không phải là dành riêng cho công ty đó mà có thể là chia sẻ, dùng chung với các công ty khác. Một phương tiện cần thiết để xây dựng lên mạng
66
này được cung cấp bởi người thứ ba được gọi là nhà cung cấp dịch vụ VPN. Các công ty trực tiếp sử dụng các dịch vụ đó được gọi là các khách hàng VPN.
Tóm lại, một mạng riêng ảo (Virtual Private Network) là sự mở rộng của một mạng riêng (Private Network) bao gồm cả các liên kết thông qua các mạng công cộng (Public Network) hoặc mạng chia sẻ (như mạng Internet). Một mạng riêng ảo cho phép người ta có thể gửi dữ liệu giữa hai máy tính qua một mạng chia sẻ hoặc một mạng công cộng theo phương thức có thể mô phỏng lại các tính chất của một liên kết riêng điểm điểm (Point-to-Point Link). Hình 2.4.1 sau đây sẽ cho một cái nhìn bao quát về ba loại hình mạng: mạng riêng, mạng công cộng và mạng riêng ảo.
Hình 2.4.1: Mô hình mạng riêng, mạng công cộng và mạng riêng ảo.
Mỗi một mạng riêng ảo bao gồm các Site được kết nối với nhau. Các Site có thể kết nối dạng mắt lưới giữa hai Site bất kỳ với nhau hoặc kết nối theo kiểu hình sao (Các Site đều được kết nối với 1 Site trung tâm). Ngoài ra các Site cũng có thể kết nối theo một mô hình khác là các Site được nối với nhau thành hai hay nhiều nhóm và sau đó các nhóm này lại được kết nối với nhau.
Ngoài việc mạng riêng ảo được sử dụng để kết nối giữa các Site của một công ty (được gọi là Intranet), nó còn được sử dụng để kết nối giữa các Site của các công ty khác nhau (được gọi là Extranet). Khác nhau cơ bản của hai mô hình mạng riêng ảo này là ở chính sách người quản trị, trong trường hợp mạng Intranet thì đó là một công ty còn với Extranet thì đó là một nhóm công ty.
Một Site có thể thuộc về một hay nhiều mạng riêng ảo, nó có thể vừa là Site của một VPN-Intranet, vừa là Site của VPN-Extranet. Đồng thời một mạng riêng ảo
67
không nhất thiết phải giới hạn trong một nhà cung cấp dịch vụ VPN, mà các phương tiện cần thiết để cấu hình một mạng riêng ảo có thể được cung cấp bởi một nhóm các nhà cung cấp dịch vụ VPN.
Không có quy tắc nào được bó buộc với thuật ngữ mạng riêng ảo. Chúng có thể được thực hiện bởi các công nghệ hiện hành và với đối tượng của người sử dụng. Mạng riêng ảo có thể được thiết lập và kết thúc từ các máy trạm và sử dụng Internet làm môi trường vận chuyển. Các ví dụ cho công nghệ này bao gồm L2TP, PPTP và IPSec. Tất cả các giao thức này thể hiện các ví dụ của mạng riêng ảo phù hợp với định nghĩa ở trên. Chúng kết nối các mạng riêng với nhau thông qua các tài nguyên chia sẻ của Internet.
Một loại hình mạng riêng ảo tương đối phổ biến khác là mạng riêng ảo nhà cung cấp dịch vụ. Trong các mạng này nhà cung cấp dịch vụ cung cấp kết nối trong suốt tới nhiều vị trí của khách hàng sử dụng các nguồn tài nguyên của mình. Một ví dụ của mạng riêng ảo nhà cung cấp dịch vụ đó chính là mạng X.25, một giao thức được thiết kế để kết nối các vị trí cách xa nhau về khoảng cách địa lý. Frame Relay và ATM cũng là các ví dụ của mạng riêng ảo nhà cung cấp dịch vụ. Mạng riêng ảo MPLS cũng chính là một ví dụ cập nhật của Mạng riêng ảo nhà cung cấp dịch vụ.
2.4.2. Phân loại Mạng riêng ảo
Mạng riêng ảo được chia làm hai loại chính là mạng riêng ảo truy cập từ xa và mạng riêng ảo vị trí tới vị trí.
Mạng riêng ảo từ xa được sử dụng để cho phép người sử dụng kết nối an toàn vào mạng riêng từ bất kỳ một ví trí địa lý nào thông qua một môi trường chia sẻ
Mạng riêng ảo từ vị trí tới vị trí được sử dụng để kết nối nhiều vị trí cố định khác nhau thông qua một môi trường chia sẻ.
Một ví dụ điển hình của mạng riêng ảo từ xa là một doanh nghiệp lớn có hàng trăm nhân viên bán hàng có nhu cầu truy cập vào mạng nội bộ của doanh nghiệp. Mạng riêng ảo từ vị trí tới vị trí lại được chia làm hai loại là mạng riêng ảo trong và mạng riêng ảo ngoài. Một mạng riêng ảo từ vị trí tới vị trí được xây dựng để kết nối
68
các vị trí của cùng một doanh nghiệp được gọi là mạng riêng ảo trong. Còn mạng riêng ảo từ vị trí tới vị trí dùng để kết nối một doanh nghiệp với các đối tác và khách hàng thì được gọi là mạng riêng ảo ngoài.
2.4.2.1. Mạng riêng ảo từ xa.
Hình 2.4.2 là mô hình một mạng riêng ảo từ xa, cho phép người sử dụng từ xa kết nối vào mạng trụ sở trung tâm.
HHình 2.4.2: Mô hình mạng riêng ảo từ xa.
2.4.2.2. Mạng riêng ảo trong
Hình 2.4.3 sau là chỉ ra mô hình một mạng riêng ảo trong sử dụng để kết nối mạng trung tâm tới các mạng chi nhánh
69
2.4.2.3. Mạng riêng ảo ngoài
Hình 2.4.4 mô tả mô hình một mạng riêng ảo ngoài, để kết nối mạng của doanh nghiệp với các mạng của các nhà cung cấp, các khách hàng hay các đối tác của doanh nghiệp.
Hình 2.4.4: Mô hình mạng riêng ảo ngoài.
2.4.3. Mạng riêng ảo BGP/MPLS
RFC 2547bis định nghĩa một cơ cấu mà cho phép các nhà cung cấp dịch vụ sử dụng mạng riêng ảo tới khách hàng. Mạng riêng ảo RFC 2547bis còn được biết đến dưới cái tên mạng riêng ảo BGP/MPLS bởi vì BGP được sử dụng để phân bổ thông tin định tuyến mạng riêng ảo qua mạng trục của nhà cung cấp dịch vụ và bởi MPLS được sử dụng để chuyển tiếp giao thông mạng riêng ảo từ một vị trí mạng riêng ảo này đến một vị trí khác. Các mục tiêu chủ yếu của cách tiếp cận này như sau:
Làm cho dịch vụ thật đơn giản để cho khách hàng sử dụng, kể cả trong trường hợp khách hàng thiếu kinh nghiệm về định tuyến IP
Làm cho dịch vụ dễ mở rộng và mềm dẻo để thuận tiện cho việc triển khai rộng.
Cho phép các chính sách mà được sử dụng để tạo ra một mạng riêng ảo có thể được thực hiện bởi một mình nhà cung cấp dịch vụ hoặc bởi nhà cung cấp dịch vụ cùng với khách hàng.
Cho phép nhà cung cấp dịch vụ mạng mang đến một dịch vụ giá trị gia tăng giới hạn mà làm khích động sự trung thành của khách hàng
70
2.4.3.1. Các thành phần của BGP/MPLS
Trong phạm vi của RFC 2547bis[4], một mạng riêng ảo là một sự hội tụ của các chính sách, và các chính sách này kiểm soát sự liên kết giữa các vị trí. Một vị trí nào đó của khách hàng được kết nối vào mạng chủ của nhà cung cấp dịch vụ thông qua một hay nhiều cổng, nơi mà các nhà cung cấp dịch vụ liên kết mỗi cổng vào của mình với một bảng định tuyến. Trong RFC 2547bis một bảng định tuyến mạng riêng ảo (VPN Routing Table) được gọi là một bảng định tuyến chuyển tiếp mạng riêng ảo (VPN Routing and Forwarding). Hình 2.4.5 dưới đây mô tả các thành phần cơ bản của một BGP/MPLS.
Trong mô hình này các Site được nối với nhau thông qua liên kết giữa các CE (Custumer Edge) của khách hàng với các PE (Provider Edge) của nhà cung cấp. Các bảng thông tin định tuyến chuyển tiếp mạng riêng ảo được các PE sử dụng để chuyển tiếp dữ liệu của khách hàng qua mạng của nhà cung cấp.
Một BGP/MPLS gồm 3 thiết bị chính là các bộ định tuyến biên khách hàng (CE), các bộ định tuyến biên nhà cung cấp (PE) và các bộ định tuyến nhà cung cấp.
Hình 2.4.5: Các thành phần của BGP/MPLS
Bộ định tuyến biên của khách hàng (CE)
Một thiết bị biên khách hàng (Custumer Edge Device) cung cấp cho khách hàng truy cập vào mạng của nhà cung cấp dịch vụ qua một kết nối dữ liệu vào một hay nhiều bộ định tuyến biên của nhà cung cấp dịch vụ. Các thiết bị khách hàng có thể là một máy hoặc một bộ chuyển mạch lớp 2, còn các thiết bị khách hàng thường
71
là các bộ định tuyến IP mà nó được liên kết với các bộ định tuyến biên của khách hàng. Sau khi đã thiết lập được các liên hệ, bộ định tuyến biên khách hàng thông báo cho bộ định tuyến biên nhà cung cấp (PE) về các tuyến đường của mạng riêng ảo từ vị trí cục bộ đó và lấy các thông tin về các tuyến đường của mạng riêng ảo từ xa từ các PE.
Bộ định tuyến biên nhà cung cấp (PE)
Các PE trao đổi thông tin định tuyến với các CE thông qua các định tuyến động RIP, OSPF…Các PE chỉ lưu trữ các thông tin về các tuyến của mạng riêng ảo mà nó trực tiếp kết nối. Với thiết kế này làm giảm lượng thông tin lưu trữ tại mỗi PE, đồng thời không phải thay đổi thông tin tuyến tại các PE khi mở rộng mạng. Thiết kế này làm tăng khả năng mở rộng của BGP/MPLS.
Các PE duy trì một kết nối cho tất cả các VRF được kết nối trực tiếp vào nó từ các CE. Mỗi một kết nối của khách hàng, ví dụ như Frame Relay PVC, ATM PVC và VLAN, được tham chiếu đến một VRF cụ thể.
Sau khi các PE đã có được các thông tin về mạng riêng ảo mà nó trực tiếp kết nối, nó sẽ trao đổi các thông tin định tuyến này với các PE khác sử dụng IBGP. Khi sử dụng MPLS làm cơ chế chuyển tiếp thì các PE đầu vào (ingress) hoạt động như là các LSR đầu vào và các PE đầu ra (egress) hoạt động như là các LSR đầu ra.
Bộ định tuyến nhà cung cấp.
Các bộ định tuyến nhà cung cấp (trong hình ký hiệu bằng chứ “P”) có thể là bất kỳ bộ định tuyến nào, nó có nhiệm vụ liên kết các PE với nhau. Trong mạng MPLS thì nó chính là các LSR để chuyển tiếp dữ liệu qua mạng.
Hoạt động của BGP/MPLS
Trong toàn bộ quá trình hoạt động, có hai dòng lưu lượng chính xuất hiện trong mạng riêng ảo BGP/MPLS là:
Một dòng điều khiển (Control Flow) được sử dụng trong mạng để truyền tải
các thông tin định tuyến trên mạng riêng ảo, đồng thời để xác định đường chuyển mạch nhãn LSP trong mạng của nhà cung cấp.
72
Để tiện cho cho việc giải thích cơ chế hoạt động của BGP/MPLS, một mô hình mẫu cho các quá trình hoạt động trong mạng sẽ được sử dụng. Và hình vẽ 2.4.6 sau đây sẽ là mô hình mẫu cho các quá trình diễn ra trong một mạng BGP/MPLS.
Hình 2.4.6: Mô hình mẫu hoạt động của BGP/MPLS
Trong mạng này chỉ có một nhà cung cấp dịch vụ duy nhất. Nhà cung cấp dịch vụ BGP/MPLS này có hai PE (định tuyến biên nhà cung cấp) được nối với 4 CE (định tuyến biên của khách hàng)
Cấu trúc liên kết được mô ta như sau:
Mỗi máy bất kỳ thuộc Site 1 có thể liên lạc với một máy bất kỳ thuộc Site 2
và ngược lại.
Mỗi máy bất kỳ thuộc Site 3 có thể liên lạc với một máy bất kỳ thuộc Site 4
và ngược lại
Điều khiển trong BGP/MPLS
Trong mạng BGP/MPLS, dòng điều khiển gồm có hai dòng chính.
Dòng con chịu trách nhiệm trao đổi thông tin định tuyến giữa các CE và PE
ở phần biên của mạng trục của nhà cung cấp, và giữa các PE trên mạng trục của nhà cung cấp.
Dòng con thứ hai chịu trách nhiệm cho sự thiết lập của các LSP giữa các PE
của nhà cung cấp sau khi đã có được các thông tin định tuyến và các thông tin từ luồng dữ liệu mà khách hàng yêu cầu chuyển tiếp.
73
Trong mô hình mạng ngang hàng nêu trên, kỹ thuật được sử dụng là phân phối thông tin định tuyến cưỡng bức. Việc phân phối thông tin định tuyến cưỡng bức để quyết định tuyến đường của các các luồng số liệu trong mạng riêng ảo. Vì vậy kiểm soát luồng thông tin định tuyến cũng có nghĩa là kiểm soát luồng dữ liệu.
Quá trình phân phối thông tin định tuyến trong BGP/MPLS gồm có năm bước cơ bản sau:
1. Thông tin định tuyến được truyền từ một Site phía khách hàng tới nhà cung cấp dịch vụ (tức là được truyền từ CE tới PE được kết nối trực tiếp). Phương thức truyền thông tin định tuyến này có thể là RIP, OSPF hay BGP.
2. Tại mỗi bộ PE, thông tin này được đưa tới BGP của nhà cung cấp dịch vụ. 3. Thông tin này được phân phối cho các PE có sử dụng BGP.
4. Bước này hoàn toàn trái ngược với bước thứ hai. Tại bộ định tuyến PE đầu ra, thông tin định tuyến được đưa ra từ BGP của nhà cung cấp dịch vụ.
5. Bước 5 diễn ra hoàn toàn ngược với bước thứ nhất, thông tin định tuyến được truyền từ bộ định tuyến PE đầu ra tới bộ định tuyến CE của Site liên kết trực tiếp ở phía khách hàng. Cũng như bước thứ nhất, các giao thức được sử dụng ở đây có thể là RIP, OSPF hay BGP.
Để có thể sử dụng thông tin định tuyến, chúng ta sử dụng kỹ thuật lọc tuyến kết nối dựa trên thuộc tính nhóm của BGP. Tại bước thứ hai, do cấu hình nội bộ, bộ định tuyến PE đầu vào gắn thuộc tính nhóm cho một tuyến kết nối, chính tuyến kết nối này đưa thông tin đến BGP của nhà cung cấp dịch vụ. Tại bước bốn, với cấu hình hợp lý, bộ định tuyến PE đầu ra sử dụng thuộc tính nhóm để điều khiển việc nhập thông tin các tuyến kết nối từ BGP của nhà cung cấp dịch vụ tới phía khách hàng (bộ định tuyến CE).
Trong ví dụ như nêu trong hình 2.4.6, PE1 được cấu hình để liên kết VRF màu đỏ qua giao diện hoặc giao diện con qua đó nó học được các tuyến từ CE1. Khi CE1 thông báo tuyến có tiền tố 10.1/16 tới PE1, PE1 sẽ đặt một tuyến tới 10.1/16 trong VRF đỏ. PE1 thông báo cho PE2 bằng cách sử dụng BGP, trước khi thông báo tuyến, PE1 chọn một nhãn MPLS ví dụ 234 để thông báo cùng với tuyến và gán địa chỉ quay vòng là điểm BGP tiếp theo cho tuyến.
74
BGP/MPLS có hỗ trợ các vùng địa chỉ trùng nhau (địa chỉ được định nghĩa trong RFC1918) thông qua việc sử dụng định tuyến phân biệt (Routing Distinguisher) và địa chỉ IPv4. BGP/MPLS chế ngự việc thông báo thông tin định tuyến giữa các PE dựa trên việc lọc tuyến dựa trên các thuộc tính BGP mở rộng.
Khi PE2 nhận được thông báo từ PE1, nó xem xét có phải đặt tuyến có tiền tố 10.1/16 vào VRF đỏ hay không bằng cách thực hiện lọc tuyến dựa trên các thuộc tính BGP mở rộng được vận chuyển cùng tuyến. Nếu PE2 quyết định cài tuyến