Sự tiến hóa của kiến trúc mạng doanh nghiệp & Datacenter (Phần 2)
3. CLOS network – Sự hồi sinh của một kiến trúc
Như phân tích ở bài trước, giải pháp cho kiến trúc mạng vẫn chưa được tối ưu, vì thế người ta phải tìm một giải pháp khác và lúc này người ta tìm về một kiến trúc cũ có tên gọi là Clos-Network.
Năm 1938, nhà phát minh Edson Erwin đã đưa ra mô hình chuyển mạch đa tầng (Multistage switching system). Đến năm 1952, nhà nghiên cứu Charles Clos chính thức áp dụng mô hình này cho hệ thống chuyển mạch kênh (Circuit Switching) của mạng điện thoại. Và từ đó, mô hình chuyển mạch này mang tên gọi là “CLOS Network”.
Mô hình này gồm có 3 chặng (stage) từ khi dữ liệu đi vào cho tới khi đi ra. Các chuyên gia về mạng máy tính đã áp dụng mô hình này vào mạng chuyển mạch gói và đặt tên mới là Spine-Leaf hay còn gọi là 2-Tiers Network.
Mô hình này gồm có 2 tầng, các Switch mỗi tầng không nối với nhau. Chúng ta dễ dàng thấy rằng băng thông và độ trễ từ Server A đến Server B và Server C là như nhau. Hai Server bất kỳ nối với nhau đều đi qua một hop duy nhất. Để tăng băng thông Uplink thì chỉ cần thêm 1 Switch ở tầng Spine, việc thêm Switch ở tầng Leaf cũng đơn giản, hệ thống cáp cũng tường minh, dễ quản lý. Kiến trúc này còn được gọi là Layer 2 Fabric.
Dù cải thiện về mô hình kết nối, tốc độ, độ trễ, … nhưng Clos Network không giải quyết được vấn đề Spanning Tree chính vì thế không thể cải thiện tốc độ và khả năng mở rộng. Để tối ưu cho mô hình Clos người ta đã bổ sung thêm giao thức mới cho phép:
- Các kết nối giữa các Switch Leaf & Pine đều là kết nối Layer 3
- Đồng thời hỗ trợ Layer 2 chạy qua những kết nối Layer 3 này
Mục đích ở đây là giúp loại bỏ Spaning Tree và cho phép cân bằng tải thông qua kỹ thuật ECMP (Equal-cost multi-path routing) của Routing protocol.
Có 2 giao thức chuẩn được đề xuất cho việc này: Chuẩn Transparent Interconnection of Lots of Links (TRILL) do IETF đề xuất và đã được phê duyệt vào tháng 7/2011 (RFC 5556) và chuẩn Shortest Path Bridging (SPB) do IEEE đề xuất nhưng chưa được phê duyệt. Các chuẩn này còn được gọi là Layer 2 – Multipath (L2MP).
Dựa trên các đề xuất này các hãng đã đưa ra các giải pháp riêng của mình:
- Cisco: Đưa ra giải pháp FabricPath dựa trên cơ sở của giao thức TRILL và ISIS nhưng có thay đổi theo ý của mình. Các dòng sản phẩm của giải pháp gồm Nexus 2000, 5000, 7000.
- Juniper: Đưa ra giải pháp QFabric System. Đây không phải là giải pháp thực sự dựa trên nền tảng của chuẩn TRILL mà sử dụng một giao thức (fabric protocol) riêng được Juniper thay đổi và phát triển từ giao thức ISIS (IEEE RFC1142).
- Brocade: Đưa ra giải pháp Virtual Cluster Switching (VCS) Fabric được phát triển dựa hoàn toàn trên cơ sở của giao thức TRILL nhưng sử dụng giao thức FSPF thay vì ISIS.
- Arista: Đưa ra giải pháp Spline hoàn toàn khác bằng cách kết hợp cả tính tính năng Spine và Leaf vào cùng một Switch tạo nên kiến trúc có tên gọi là “SingleTier”. Kiến trúc này chỉ phù hơp với hệ thống mạng có quy mô nhỏ và nằm tập trung gần nhau.
- HP: Hỗ trợ cả chuẩn SPB và TRILL.
Chúng ta có thể thấy rằng, kiến trúc Clos Network kết hợp với kỹ thuật L2-Multipath đã giúp loại bỏ hoàn toàn STP, bảo đảm mở rộng cũng như cải thiện tốc độ cho các kết nối mạng nhưng giải pháp này bị “khóa cứng” (locked) vào thiết bị của các hãng. Do không theo một chuẩn chung nào nên không có sự tương thích giữa thiết bị của các hãng, điều này làm cho giải pháp L2-Multipath không được chào đón và triển khai đại trà. Có thể nói việc sử dụng phần cứng để giải quyết vấn đề lại sinh ra vấn đề khác.
Điều này làm cho các hãng sản xuất đi tìm một giải pháp khác. Do thiết bị phần cứng không giải quyết vấn đề tương thích nên họ hướng vào việc thay đổi phần mềm. Chính vì thế đã xuất hiện 2 chuẩn mới liên quan đó là VXLAN (Virtual Extensible LAN) và NV-GRE (Network Virtualization using Generic Routing Encapsulation).
4. IP Fabric – Một giải pháp đáp ứng tất cả các yêu cầu
Trong các mạng LAN, kỹ thuật VLAN được dùng để phân tách mạng (network isolation) thành các mạng ảo nhằm tăng cường bảo mật và giảm kích thước Broadcast domain. Kỹ thuật trunking cho phép mở rộng VLAN ra các Switch phân tán, là môi trường Layer 2 thuần túy. Việc mở rộng VLAN thông qua môi trường Layer 3 là bất khả thi và một điều nữa là VLAN-ID chỉ có 12 bit nên tối đa chỉ có 4096 VLAN cho mỗi hệ thống mạng.
Trước sự phát triển của công nghệ ảo hóa, cloud và phân tán hệ thống mạng, xuất hiện những yêu cầu mới như vMotion, HA, migrate, … đòi hỏi phải thực hiện tại Layer 2. Vì thế, cần tìm giải pháp cho việc mở rộng VLAN thông qua môi trường Layer 3 hay nói cách khác cho phép mở rộng môi trường Layer 2 thông qua Layer 3.
Hiện nay có 2 giao thức tạo đường hầm (Tunneling protocol) phổ biến cho phép thực hiện điều này đó là NV-GRE (RFC-7637) và VXLAN (RFC-7348). Dù chung mục tiêu nhưng chúng có 3 điểm khác nhau:
- Người ủng hộ (Backers): NVGRE được hỗ trợ chính bởi Microsoft với sự tham gia của Intel, HP, Dell … và VXLAN được dẫn dắt bởi Cisco cùng sự tham gia của VMWare, Brocade, Arista, Juniper, Huawei …
- Giao thức truyền tải (Transport protocol): NVGRE dùng giao thức Layer 3 GRE để đóng gói (encapsulation) các khung tin lớp 2 (Frame) và truyền đi trong mạng Layer 3. Trong khi đó đối với VXLAN thì khung tin lớp 2 được gán VXLAN header rồi đóng gói bằng giao thức UDP (Destination port 4678), sau đó được vận chuyển bằng giao thức IP nên còn được gọi là kỹ thuật MACin-UDP over IP.
VXLAN & NV-GRE header đều dùng 24 bit để gán ID cho các mạng ảo nên cho phép đến 16 triệu mạng ảo nối với nhau, khắc phục giới hạn 4096 VLAN.
- Hạn chế: NVGRE đóng gói khung tin bằng GRE header nên khi đi qua các firewall hoặc thiết bị cân bằng tải đang làm việc ở Layer 4 sẽ không hiểu header này nên dễ phát sinh vấn đề. Trong khi đó VXLAN sử dụng UDP để đóng gói nên cho phép cân bằng tải rất tốt vì các thiết bị có thể sử dụng cả 5 thuộc tính (5-tuble) để cân bằng: Protocol number, source/destination port, source/destination IP. Nhưng điểm hạn chế của VXLAN là phần header cộng thêm của VXLAN, UDP, IP, MAC mới là 50 byte.
Hiện nay số lượng các nhà sản xuất phần cứng đã nghiêng về chuẩn VXLAN rất nhiều, có thể nói VXLAN là một chuẩn phát triển từ thực tế (De-facto standard). Nhóm IETF NVO3 (Network Virtualization Over layer 3) cũng đang nghiên cứu chuẩn mới có tên là GENEVE (Generic Network Virtualization Encapsulation) dựa trên nền tảng của giao thức VXLAN.
Vậy VXLAN cho phép mở rộng môi trường Layer 2 thông qua môi trường Layer 3 vì thế sẽ cho phép thực hiện cân bằng tải qua nhiều kết nối. Việc kết hợp công nghệ VXLAN với Clos Network tạo ra một kiến trúc tối ưu có tên là IP Fabric.
Trong IP Fabric các Leaf & Spine đều hoạt động ở Layer 3 và sử dụng Routing protocol để cân bằng tải qua nhiều kết nối. Các Leaf đều có Tunnel trực tiếp để truyền tải thông tin Layer 2. Giải pháp này giải quyết triệt để vấn đề của Spaning Tree, Multi-chassic LAG và Layer 2 Multipath.
5. VXLAN BGP EVPN – Một xu thế mới đang được chào đón
Đối với VXLAN, các gói tin BUM (Broadcast, Unknow unicast, Multicast) vẫn quảng bá tự do như trong các Broadcast domain và có nghĩa việc học địa chỉ MAC đối với VXLAN vẫn như đối với VLAN. Một hạn chế khác là việc cấu hình VXLAN tunnel (VTEP-VXLAN Tunnel End Point) được thực hiện bằng tay nên rất khó quản lý nếu số lượng Leaf lớn.
Nói một cách khác VXLAN chỉ được xem như là một Data-plane dùng để vận chuyển dữ liệu thuần túy, điều còn thiếu cho giải pháp IP Fabric là một giao thức đóng vai trò Control-plane nhằm tự động thiết lập các Tunnel và tự trao đổi MAC học được cho nhau mà không cần chờ gói tin ARP broadcast.
Lúc này giao thức MP-BGP (Multi protocol BGP) được áp dụng như cách thức nó đã được áp dụng thành công trong các hệ thống mạng MPLS. Vì thế giải pháp này còn được gọi là VXLAN BGP EVPN và có thể nói đây là giải pháp triệt để nhất hiện nay áp dụng cho những hệ thống mạng hoặc Data center lớn hoặc nằm phân tán.
6. Tham khảo
http://wikibon.org/wiki/v/Network_Fabrics,_L2_Multipath_and_L3
https://www.networkworld.com/article/2226122/clos-networks-what-s-old-is-new-again.html
https://www.sdxcentral.com/articles/news/aristas-single-tier-spline-targets-enterprise/2013/11/
https://networkingnerd.net/2016/05/11/the-death-of-trill/
https://www.networkers-online.com/blog/2016/08/classic-dc-m-lag/
https://cds.cern.ch/record/2315700/files/CERN-THESIS-2018-035.pdf
Nguyễn Văn Bình
Bài viết cùng danh mục
-
Sự tiến hóa của kiến trúc mạng doanh nghiệp & Datacenter (Phần 1)
-
Lịch sử phát triển và xu hướng tương lai của mạng cố định