Giải pháp mạng WAN được định nghĩa bởi phần mềm của Cisco (Cisco® Software-Defined WAN – SD-WAN)
Trước khi xem xét đến cuộc cách mạng của giải pháp Cisco SD-WAN – nghĩa là, từ các thiết bị mạng truyền thống đến công nghệ SD-WAN như chúng ta có ngày nay. Chúng ta sẽ quay ngược thời gian, xem kiến trúc của một giải pháp định tuyến truyền thống là gì và cách nó ánh xạ tới giải pháp Cisco SD-WAN hiện tại như thế nào.
Hầu hết chúng ta đều quen thuộc với bộ định tuyến truyền thống ví dụ bộ định tuyến Cisco 7600. Đây là thiết bị có mặt ở hầu hết các hệ thống mạng của doanh nghiệp hoặc nhà cung cấp, đã được sử dụng trong 15 hoặc 20 năm qua. Ở kiến trúc này chúng ta tạm chia thành ba thành phần chính, trong đó có I/O module, Control Plane module và Switch fabric.
Switch fabric có thể được xem là thành phần dùng để để kết nối I/O module và Control Plane module với nhau, bất cứ giao tiếp nào giữa các module sẽ được thành phần này trung chuyển. I/O module sẽ bao gồm các cổng vật lý dùng đêt kết nối với các thiết bị khác như router, switch…
Tại đây sẽ có 2 loại packet mà I/O module tiếp nhận và xử lý là routing và routed packet. Trong đó routing packet bao gồm các thông tin để router có thể xây dựng bảng định tuyến (routing table), đây là packet của các protocol như EIGRP, OSPF…, khi nhận được những packet này I/O module sẽ chuyển chúng đến Control Plane module thông qua Switch fabric để xử lý.
Control Plane module sẽ dùng những thông tin từ các routing packet này để đưa vào một routing database, sau đó Control Plane module sẽ tối ưu các thông tin này như loại bỏ sự trùng lặp, rút gọn lại theo các policy được thiết lập để tạo ra một FIB (fowarding infomation base) table.
FIB table sẽ được chuyển xuống I/O module để để xử lý các routed packet. Routed packet là các packet chứa data của một host nào đó gửi đến một host khác trong hệ thống mạng. Các routed packet sẽ đi vào các port trên I/O module, I/O module sẽ dựa vào thông tin có trong FIB table để xác định next-hop tiếp theo, hoặc inteface out của packet là gì và foward packet theo đường đó.
Từ đây các bạn có thể thấy throughput hoặc tốc độ chuyển tiếp packet của router sẽ phụ thuộc vào perfomance của I/O module, còn hệ thống mạng hội tụ nhanh như thế nào sẽ phụ thuộc vào perfomance của Control Plane Module.
Cấu trúc của Cisco SD-WAN được xây dựng như thế nào?
Trên đây là sơ lược về kiến trúc của một bộ định tuyến truyền thống, giờ chúng ta hãy đến với Cisco SD-WAN. Về cơ bản, giải pháp SD-WAN của Cisco cũng được xây dựng dựa trên những thành phần này.
Cisco SD-WAN chia 3 thành phần này thành 3 phần độc lập với nhau, I/O module được gọi là vEdge, Control Plane module được gọi là controller hoặc vSmart, còn Switch fabric sẽ là các đường truyền kết nối giữa vEdge và vSmart có thể là Internet, MPLS, LTE…
Dễ hiểu hơn là I/O module vẫn nằm trong thiết bị, chúng ta sẽ di chuyển Control Plane module từ phân cứng thiết bị thành phần mềm có thể cài đặt lên server hoặc đặt trên cloud, tất cả những giao tiếp giữa hai module này dựa trên Internet.
Một thiết bị router truyền thống sẽ có ưu điểm hơn ở một điểm là switch fabric là thiết bị vật lý nên traffic giữa các module sẽ không bị mất trong quá trình di chuyển. nhưng traffic đó thực thế đó không nhiều và với chất lượng của đường truyền Internet hiện tại có thể đáp ứng được dù vẫn có packet loss.
Vậy ưu điểm của kiến trúc mới trong giải pháp của Cisco SD-WAN là gì?
Hãy giả lập công ty của bạn là một công ty toàn cầu, trong hệ thống mạng của công ty có khoảng 600 thiết bị định tuyến, khi đó mỗi thiết bị định tuyến sẽ có một bảng routing table, khi có bất kỳ sự thay đổi nào về network, hầu như 600 bảng routing table này đều phải được cập nhật.
Với giải pháp Cisco SD-WAN, khi có sự thay đổi về network thì chỉ ảnh hưởng đến Control Plane module hoặc là vSmart, một vSmart có thể quản lý rất nhiều I/O module hoặc vEdget, lúc này với 600 vEdge chúng ta có thể chỉ cần 2 vSmart. Với 2 vSmart bây giờ chúng ta chỉ có 2 bảng routing table, khi có sự thay đổi về network thì chỉ cần 2 bảng routing table này cập nhật là có hiệu lực đến 600 vEdge. Đây là một ưu điểm mà Cisco SD-WAN mang lại trong việc quản lý một hệ thống mạng rất lớn.
Với kiến trúc của Cisco SD-WAN, vEdge sẽ là các thiết bị phần cứng hoặc phần mềm được đặt tại các site khác nhau đó có thể là data campus, chi nhánh, remote site hoặc cũng có thể là cloud. Switch fabric lúc này sẽ là các đường truyền như Internet, MPLS, LTE… điều này không quan trọng miễn là làm sao các vEdge có thể kết nối được đến controller gọi là vSmart.
Trong Cisco SD-WAN còn một thành phần gọi là vManage, đây là một nền tảng NMS mạnh mẽ giúp bạn vận hành, quản lý toàn bộ hệ thống Cisco SD-WAN, tại đây các bạn có thể, thay đổi hoặc thêm mới policy và thông qua vSmart các policy sẽ được đẩy xuống các vEdge, và nó cũng giúp mạng thấy được trực quan tình trạng của toàn bộ hệ thống SD-WAN của mình.
Nhưng làm sao để vSmart biết được mình đang quản lý những vEdge nào?
Lúc này Cisco SD-WAN có 1 thành phần gọi là vBond dùng để xác thực vSmart với vEdge. vBond thực chất là một máy chủ STUN dùng để thu thập các thông tin NAT Mapping.
Trong Cisco SD-WAN mọi thành phần còn lại đều kết nối tới vBond, cũng là nơi mà các thành phần biết được những thành phần còn lại nằm ở đâu, do đó vBond nên đặt ở một nơi mà cả vManage, vSmart, vEdge đều có thể thấy được. vBond còn được gọi là orchestrator, vEdge là edge, vSmart là controller, vManage là NMS.
Với Cisco SD-WAN, đầu tiên các bạn phải start được vManage, vì tất cả điều được điều khiển thông qua NMS này. Từ vManage chúng ta bắt đầu khởi động Control Plane, ở đây chúng ta sẽ start cả vSmart và vBond. Một khi Control Plane được start, chúng ta sẽ bắt đầu triển khai các vEdge.
Làm sao để control plane có thể hoạt động?
Mỗi một controller, bạn có thể tạo nhiều controller, được lập trình để kết nối tới vBond thông qua giao thức DTLS, đây là một kết nối liên tục trong giải pháp Cisco SD-WAN.
Lúc này chúng ta bắt đầu triển khai các vEdge, vEdge cũng được lập trình để kết nối tới vBond, một khi nhận được thông tin về controller từ vBond, nó sẽ không cần duy trì kết nối với vBond nữa mà bắt đầu kêt nối đên controller thông qua giao thức DTLS hoặc DLS.
Tất cả các thành phần trong Cisco SD-WAN đều được ảo hóa có thể xây dựng trên bất kỳ nền tảng ảo hóa nào, trong đó chỉ có vEdge là có thêm thiết bị vật lý.
Về giải pháp triển khai zero touch của Cisco SD-WAN, thực chất là việc có thêm một máy chủ ZTP hoặc PNP Connect. Đây thực chất có thểm xem như là một vBond server khác được cung cấp bởi Cisco cho mục đích triển khải zero touch, từ đây traffic sẽ được chuyển tới một vBond khác. Do đó máy chủ ZTP hoặc PNP Connect là vBond của các vBond.
Một khi thiết bị SD-WAN của khách hàng được bật nguồn và kết nối Internet, chúng được lập trình sẵn để kết nối đên máy chủ ZTP hoặc PNP Connect này, sau khi được xác thực các máy chủ này sẽ chuyển hướng đên các vBond trong hệ thống mạng của khách hàng.
Sau đó chúng nhận được các thông tin liên quan dến controller từ vBond này và bắt đầu kết nối đến controller, vSmart, hệ thống đã có thể hoạt động.
Trong trường hợp vEdge mất kết nối đến control plane ở đây là vSmart controller thì thế nào, hệ thống mạng của chúng ta có còn hoạt động?
Các vEdge có thể cấu hình để lưu trữ bảng FIB trong một khoảng thời gian nhất định. Trước đo khi vEdge kết nối được controller, nó đã được tất cả các thông tin cần thiết để có thể switch packet trong hệ thống mạng.
Việc xác thực các thiết bị với vBond gồm 2 bước, một là dùng certificates, hai là dùng whitelist. Đầu tiên bạn phải chắc chắn được các thiết bị này là của Cisco, nhằm hạn chế các rouge device, việc này được hoàn thành bằng việc xác thực certificates.
Điều đó có nghĩa là có một certificate được lập trình sẵn trên tất cả các thiết bị của khách hàng. Sử dụng chip TPM, một chip vật lý nằm trên các phần cứng chứa certificate được ký bởi cơ quan đáng tin cậy xác nhận rằng các thiết bị này là của Cisco.
Các vEdge sẽ dùng certificate này để xác thực với controller, ngược lại controller cũng dùng certificate để xác thực với các vEdge, đây là một cơ chế xác thực hai chiều. Bên cạnh đó mỗi thiết bị vEdge sẽ có một số serial number, con số này dùng để thêm vEdge vào controller.
Danh sách các số serial number được chứa tỏng NMS của một tổ chức cụ thể được cung cấp bởi Cisco thông qua sản xuất. Vì vậy, Cisco biết chính xác thiết bị nào củai khách hàng nào.
Kiến trúc SD-WAN của Cisco sẽ tạo ra một data plane có cấu trúc full mesh bằng cách sử dụng IPSec tunnel, hoặc GRE tunnel để kết nối các vEdge với nhau, các tunnel này là end to end. Data plane cơ bàn là các routed packet traffic, control plane là routing packet traffic.
Do đây là cấu trúc full mesh nên mọi thiết bị vedge đều biết về tất cả các thiết bị vedge khác. vSmart lúc này không chỉ cung cấp thông tin routing mà còn cung cấp dịch vụ key exchange cho các vEdge. Giữa control plane sử dụng asymmetric encryption, nhưng giữa data plane thì sử dụng symmetric.
Khi data plane đã hoạt động, về cơ bản các vEdge có thể giao tiếp với nhau. Mỗi thiết bị vEdge được phân đoạn thành VPN. Và theo thuật ngữ của Cisco, nó tương đương với VRF.
Vì vậy, mỗi VPN trên một vEdge chỉ có thể nói chuyện với VPN– hoặc cùng một VPN – trên vEdge ở đầu xa khác. Mỗi VPN là chứa thông tin định tuyến của riêng nó, FIB của chính nó. Vì vậy, bạn có thể chia một bộ định tuyến thành nhiều bộ định tuyến bằng cách sử dụng VRF hoặc VPN.
Vì vậy, nếu có 10 VPN, là có 10 bộ định tuyến trong một vEdge. Không có thông tin nào bị rò rỉ giữa các VPN này do được bảo mật thông qua IPSec. Có 3 phân đoạn trong kiến trúc Cisco SD-WAN, phân đoạn giữa controller và vEdge, giữa các vEdge với nhau, và trong cùng một vEdge thông qua VPN hoặc VRF.
Nếu bạn dùng đường truyền Internet và địa chỉ IP có sự thay đổi, thì control plane sẽ bị gián đoạn nhưng chỉ là tạm thời, các thiết bị sẽ tự động kết nối lại với vBond và từ đó có thể kết nối với nhau lại được, việc này được Cisco đảm bảo là chỉ mất vài giây và hoàn toàn tự động. Nếu bạn không sử dụng đường truyền Internet trong giải pháp Cisco SD-WAN, khi đó bạn chỉ cần public vBond của các bạn ra ngoài, như đã nói trước đó vBond không chứa thông tin về keys hoặc thông tin routing nào.