Khác với trước đây khi còn bị ràng buộc chặt chẽ trong từng thiết bị mạng đơn lẻ, điều khiển mạng sử dụng các thiết bị tính toán có thể truy cập accessible computing device ch
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
NGUYỄN NGỌC BÌNH
NGHIÊN CỨU CÔNG NGHỆ ẢO HÓA MẠNG
VỚI OPENFLOW
Chuyên ngành : Kỹ thuật máy tính và truyền thông
LUẬN VĂN THẠC SĨ KỸ THUẬT
KỸ THUẬT MÁY TÍNH VÀ TRUYỀN THÔNG
NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS NGÔ HỒNG SƠN
HÀ NỘI – 2014
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan đề tài nghiên cứu của tôi hoàn toàn do tôi tự làm dưới sự
hướng dẫn của Thầy giáo PGS.TS Ngô Hồng Sơn Những kết quả nghiên cứu, thử
nghiệm được thực hiện trên các phần mềm mô phỏng Các số liệu, kết quả trình bày
trong luận văn là hoàn toàn trung thực và chưa từng được công bố trong bất cứ công
trình nào
Các tài liệu tham khảo sử dụng trong luận văn đều được dẫn nguồn
Nếu xảy ra bất cứ điều không đúng như những lời cam đoan trên, tôi xin chịu
hoàn toàn trách nhiệm trước Viện và Nhà trường
Hà Nội, ngày tháng 3 năm 2014 Tác giả
Nguyễn Ngọc Bình
Trang 3Tôi cũng thầm biết ơn sự ủng hộ của đồng nghiệp, gia đình và bạn bè – những người thân yêu luôn là chỗ dựa vững chắc cho tôi
Cuối cùng, tôi xin kính chúc Thầy cô, Đồng nghiệp, Gia đình dồi dào sức khỏe và thành công trong sự nghiệp cao quý
Xin trân trọng cảm ơn!
Học viên
Nguyễn Ngọc Bình
Trang 4MỤC LỤC
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
DANH SÁCH THUẬT NGỮ VÀ VIẾT TẮT 5
DANH MỤC HÌNH VẼ 6
ĐẶT VẤN ĐỀ 8
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT VỀ CÔNG NGHỆ ẢO HÓA MẠNG 10
1.1 Openflow - Ảo hóa hạ tầng mạng 10
1.2 Sự cần thiết của OpenFlow 11
1.3 Kiến trúc và ứng dụng của OpenFlow 11
1.4 Giải pháp sử dụng mạng OpenFlow 19
1.4.1 Sự cần thiết cho một kiến trúc mạng mới 19
1.4.2 Mục tiêu của mạng OpenFlow 20
1.4.3 Giao thức OpenFlow 22
1.4.4 Lợi ích của mạng SDN dựa trên giao thức OpenFlow 24
1.5 Giới thiệu về NetFPGA 26
CHƯƠNG 2 CÁC GIẢI PHÁP ỨNG DỤNG ẢO HÓA MẠNG DỰA TRÊN OPENFLOW 32
2.1 Giải pháp giới hạn giám sát QoS băng thông mạng 32
2.2 Giải pháp sử dụng Open vSwitch 35
2.3 Giải pháp điều khiển luồng dữ liệu lớn 39
2.4 Giải pháp sử dụng OpenFlow trên NetFPGA 39
2.5 Kết luận chương 41
CHƯƠNG 3 CÀI ĐẶT THỬ NGHIỆM VÀ KẾT QUẢ THU ĐƯỢC 42
3.1 Triển khai sFlow để giám sát Open vSwitch 42
3.2 Triển khai đo kiểm giới hạn lưu lượng băng thông mạng 44
3.3 Cài đặt thử nghiệm điều khiển luồng dữ liệu lớn 53
3.4 Triển khai cài đặt của một dự án NetFPGA 58
3.5 Kết luận chương 64
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 64
TÀI LIỆU THAM KHẢO 65
Trang 5PHỤ LỤC 67 Phụ lục 1 Code của node.js 67 Phụ lục 2 File thiết kế của NetFPGA 71
Trang 6DANH SÁCH THUẬT NGỮ VÀ VIẾT TẮT
SNMP Simple Network Management
Protocol SDN Software-Defined Network Mạng điều khiển bằng phần mềm API Application Programming Interface Giao diện lập trình ứng dụng DRAM Dynamic Random Access Memory Bộ nhớ truy cập ngẫu nhiên động FPGA Field Programmable Gate Array Mảng cổng khả trình
IP Internet Protocol
MAC Media Access Control Điều khiển truy nhập thiết bị
OF SW OpenFlow Switch Bộ chuyển mạch OpenFlow OSC OpenFlow Switch Controller Mạch điều khiển các bộ chuyển
mạch OpenFlow DDOS Distributed Denial of Service Tấn công từ chối dịch vụ
PCI Peripheral Component Inter-connect Kết nối thành phần ngoại vi PSTN Public Switched Telephone Network Mạng điện thoại chuyển mạch
công cộng SRAM Static Random Access Memory Bộ nhớ truy cập ngẫu nhiên tĩnh ONF Open Networking Foundation
TDM Time Division Multiplexing Ghép kênh theo thời gian
ATM Asynchronous Transfer Mode Kiểu truyền không đồng bộ
Trang 7DANH MỤC HÌNH VẼ
Hình 1 - Kiến trúc mạng với switch và router sử dụng OpenFlow 10
Hình 2 - OpenFlow agent 12
Hình 3 - Môi trường mạng Campus 13
Hình 4 – Ghi dữ liệu vào Flow Table 14
Hình 5 - OpenFlow Controller 15
Hình 6 - Ảo hóa mạng với OpenFlow 16
Hình 7 - Cấu trúc của một OpenFlow Switch 17
Hình 8 - Cấu tạo của một flow-entry 18
Hình 9 - Các bước khi một flow mới tới bộ chuyển mạch OpenFlow 19
Hình 10 - Kiến trúc mạng điều khiển bằng phần mềm 21
Hình 11 - Ví dụ về tập lệnh của OpenFlow 23
Hình 12 - Nền tảng NetFPGA 27
Hình 13 - Sơ đồ khối chi tiết các thành phần trong kit NetFPGA 28
Hình 14 - Cấu trúc đơn giản một dự án với NetFPGA 29
Hình 15 – modules NetFPGA 29
Hình 16 - Sơ đồ tổng quát của hệ thống NetFPGA 30
Hình 17 - Triển khai giám sát lưu lượng 34
Hình 18 - Mô hình chung về Open vSwitch 35
Hình 19 - Triển khai Open vSwitch 36
Hình 20 - Open vSwitch với các giao diện ảo và giao diện vật lý 37
Hình 21 - Giám sát lưu lượng mạng qua các interface 38
Hình 22 - Giám sát nhiều interface 39
Hình 23 - Mô hình giám sát sFlow tập trung 42
Hình 24 - Kết quả hiển thị trên sFlow-Trend 43
Hình 25 - Mô hình điều khiển băng thông của card mạng 44
Hình 26 - Kết nối vào máy chủ XenCitrix bằng phần mềm XenCenter 45
Hình 27 - Kết nối SSH 47
Hình 28 - Hiển thị bridge cua Open vSwitch 47
Hình 29 - Cấu hình hsflow 47
Hình 30 - sFlow-Trend status 48
Trang 8Hình 31 - Giám sát các card mạng 48
Hình 32 - Counter 48
Hình 33 - Top N 49
Hình 34 - Circles 49
Hình 35 - Host 49
Hình 36 - Theo dõi thông tin Network packets/host 50
Hình 37 - Theo dõi thông tin Network packets/host 50
Hình 38 - Show virtual interface 51
Hình 39 - Xác định vif38.0 là card mạng ảo của Oracle 51
Hình 40 - Mô hình điều khiển luồng dữ liệu lớn 53
Hình 41 - Host bị flood ping 57
Hình 42 - Biểu đồ thể hiện các gói tin bị drop khi bật node.js 58
Hình 43 - Mô hình phần chia NetFPGA thành 4 host 61
Trang 9ĐẶT VẤN ĐỀ
Sự bùng nổ của các thiết bị và nội dung di động, ảo hóa máy chủ, và sự ra đời của dịch vụ điện toán đám mây là một trong những xu hướng thúc đẩy các ngành công nghiệp mạng xem xét lại kiến trúc mạng truyền thống Đáp ứng yêu cầu thị trường hiện nay là hầu như không thể với kiến trúc mạng truyền thống Đối mặt với ngân sách không đổi hoặc giảm, các doanh nghiệp ngành Công nghệ Thông tin (CNTT) đang cố gắng để tận dụng tối đa khả năng mà mạng của họ có thể đáp ứng bằng cách sử dụng các công cụ quản lý ở mức thiết bị và các quy trình thủ công Các hãng cung cấp dịch vụ cũng phải đối mặt với những thách thức tương tự như yêu cầu về tính di động cũng như sự bùng nổ băng thông, lợi nhuận đang bị xói mòn bởi chi phí vốn cho thiết bị leo thang và doanh thu không tăng hoặc suy giảm
Chính vì lý do trên, các nhà nghiên cứu đã đưa ra giải pháp: Mạng điều khiển bằng phần mềm (Software-Defined Networking)
Mạng điều khiển bằng phần mềm (SDN) là một kiến trúc mạng mới phát triển trong thời gian gần đây, trong đó việc điều khiển mạng được tách rời khỏi việc chuyển tiếp và có thể được lập trình Khác với trước đây khi còn bị ràng buộc chặt chẽ trong từng thiết bị mạng đơn lẻ, điều khiển mạng sử dụng các thiết bị tính toán
có thể truy cập (accessible computing device) cho phép cơ sở hạ tầng cơ bản được trừu tượng hóa cho các ứng dụng và dịch vụ mạng, hay là các ứng dụng và dịch vụ
sẽ coi mạng như một thực thể hợp thống nhất
Đối với doanh nghiệp và nhà cung cấp, công nghệ của mạng SDN dựa trên OpenFlow cho phép các kĩ sư công nghệ thông tin giải quyết các vấn đề liên quan tới băng thông cao, tính chất thay đổi của các ứng dụng ngày nay, chuyển đổi mạng cho phù hợp với các yêu cầu làm việc luôn thay đổi, và làm giảm đáng kể độ phức
tạp của hoạt động điều hành và quản lý mạng Từ đó tôi quyết định chọn đề tài: “
Nghiên cứu công nghệ ảo hóa mạng với OpenFlow ” trong phạm vi nghiên cứu kiểm soát QoS băng thông với mục đích: tích hợp được một giải pháp ảo hóa mạng Open Flow (Open vSwitch) trên nền tảng ảo hóa XenCitrix
Với những yêu cầu trên, tôi sẽ thực hiện những nhiệm vụ sau trong luận văn:
Trang 10 Tìm hiểu lý thuyết ảo hóa mạng, nguyên lý, mô hình, các giải pháp ảo hóa mạng, ảo hóa server hiện có
Trên cơ sở thực tế đề xuất mô hình giám sát, điều khiển giới hạn QoS băng thông trên các thiết bị, phần mềm OpenFlow, Open vSwitch
Triển khai thử nghiệm
Đánh giá kết quả đạt được
Luận văn được chia thành 3 chương với các nội dung chính sau:
Chương 1: Cơ sở lý thuyết về ảo hóa mạng, trình bày về việc cần thiết phải
có một thế hệ mạng mới, các khái niệm liên quan đến OpenFlow để ảo hóa mạng
Chương 2: Các mô hình và giải pháp ảo hóa mạng, trình bày về các mô hình giám sát mạng thông dụng hiện nay, để từ đó thực hiện quá trình điều khiển, quản lý chất lượng dịch vụ (QoS) băng thông một cách linh động với OpenFlow, Open vSwitch
Chương 3: Cài đặt triển khai thử nghiệm mô hình ảo hóa mạng với công cụ giám sát luồng dữ liệu sFlow, triển khai đánh giá Open vSwitch, OpenFlow áp dụng trên các card mạng ảo với nền tảng ảo hóa XenCitrix
Nhờ những cố gắng, tôi đã có được một số kết quả nhất định Mặc dù vậy, do thời gian có hạn nên một số ý tưởng vẫn chưa được thực hiện và kết quả nghiên cứu không tránh khỏi sai sót Vì vậy, tôi rất mong nhận được ý kiến đóng góp của các Thầy Cô giáo và bạn bè
Tôi xin chân thành cám ơn PGS.TS Ngô Hồng Sơn đã hướng dẫn, giúp đỡ tôi trong quá trình nghiên cứu thực hiện luận văn này
Trang 11CHƯƠNG 1 CƠ SỞ LÝ THUYẾT VỀ CÔNG NGHỆ ẢO HÓA MẠNG
Trong chương này tác giả sẽ giới thiệu về mạng điều khiển bằng phần mềm dựa trên giao thức OpenFlow Với các khái niệm, định nghĩa và mô hình chung nhất về mạng này cùng giao thức OpenFlow sẽ giúp chúng ta có một cái nhìn tổng quan về mục tiêu mà luận văn hướng tới; cùng với đó là một xu hướng phát triển của mạng trong tương lai
1.1 Openflow - Ảo hóa hạ tầng mạng
Trong khoảng thời gian gần đây với việc ra đời hàng loạt các chuẩn công nghệ mới nhằm cải tiến khắc phục các nhược điểm của các chuẩn Network hiện tại trong các môi trường ứng dụng nhất định như TRILL (DC/Campus), PBB (Provider), DCE/DCB/… nhưng chưa có chuẩn nào thực sự có tính ảnh hưởng đến toàn bộ kiến trúc của hạ tầng Network đặt biệt là việc mang lại khả năng ảo hóa toàn bộ hệ thống Network toàn diện như OpenFlow Hình 1 [11]
Hình 1 - Kiến trúc mạng với switch và router sử dụng OpenFlow
Các nhà nghiên cứu cũng nhưng các hãng sản xuất thiết bị đã và đang khẳng định cam kết định hướng đầu tư lâu dài vào mảng sản phẩm và giải pháp
Trang 12Networking (bên cạnh các mảng sản phẩm khác như Laptop/Printer) với việc tham gia tích cực vào việc nghiên cứu hình thành nên các chuẩn mở mang tính cách mạng mà một trong số đó là OpenFlow Vậy OpenFlow bao hàm những gì trong đó và khả năng ứng dụng của chuẩn này tới đâu mà được
Server/Storage/PC-kỳ vọng là một trong những chuẩn sẽ thay đổi kiến trúc hạ tầng Network trong tương lai gần, chúng ta hãy cùng tìm hiểu một số đặc điểm của chuẩn này để thấy rõ hơn về tiềm năng của nó một phần để lý giải tại sao các nhà nghiên cứu lại tích cực tham gia vào việc xúc tiến các nghiêng cứu liên quan đến chuẩn này như vậy
1.2 Sự cần thiết của OpenFlow
Các chuẩn Network đã và đang trải qua một giai đoạn phát triển vượt bậc trong suốt 2 thập kỷ gần đây với việc vô số các chuẩn mới được đưa ra nhằm khắc phục những khuyết điểm của các chuẩn cũ nhưng những chuẩn hiện tại vẫn còn những khuyết điểm trong việc khó khăn trong việc mở rộng thay đổi chức năng của
hạ tầng network, đòi hỏi mất nhiều công sức quản trị trong việc định hướng các luồng dữ liệu, phức tạp trong việc tích hợp các giải pháp bảo mật cho các luồng dữ liệu và càng phức tạp hơn khi cần chuyển đổi công năng trong hệ thống Network để phục vụ cho các mục đích khác nhau trong hệ thống, các quyết định xử lý như thế nào đối với từng luồng traffic hiện tại đang được thực hiện trên các thiết bị riêng biệt như switch/router… Đó là một vài vấn đề tồn tại trong các hệ thống Network hiện tại thúc đẩy các nhà nghiêng cứu tích cực đưa ra các chuẩn mới mà một trong số đó là OpenFlow được sự hậu thuẩn tích cực từ các công ty hàng đầu trong lĩnh vực cung cấp sản phẩm và giải pháp Network hiện nay trong liên minh chung Open Networking Foundation (ONF)
1.3 Kiến trúc và ứng dụng của OpenFlow
Khái niệm của các nhà phát triển khi đưa ra OpenFlow là nó mô phỏng một phần của các giải pháp ảo hóa đang phát triển như vũ bảo hiện nay trong các hệ thống System như VMware, Citrix… hay mở rộng kiến trúc Stacking trên các thiết
bị Network hiện tại như HP IRF Stacking, Cisco VSS ở một quy mô rộng hơn
Trang 13không chỉ trong một khối thiết bị được stacking hiện tại mà toàn bộ hệ thống… Mục đích chính là tạo ra một hệ thống điều khiển tập trung tách rời giữa Data Plane và Control Plane trong các thiết bị Network nhưng khác với các giải pháp Stacking hiện tại trên các thiết bị Network toàn bộ Control Plane trong OpenFlow sẽ được tập trung về OpenFlow Controller, trên mỗi thiết bị tương thích với OpenFlow sẽ bao gồm thêm một thành phần OpenFlow Agent như mô hình bên dưới :
ĐIỀU KHIỂN LUỒNG (OpenFlow Controller)
Open Flow
Data path (Phần cứng) Control Path
Hình 2 - OpenFlow agent
Như vậy các quyết định về các luồng traffic sẽ được quyết định tập trung tại OpenFlow Controller (thông thường sẽ có 2 Controller trong một phân vùng Network để tăng tính dự phòng) giúp đơn giản trong việc quản trị và cấu hình trong toàn hệ thống, để thấy rõ hơn chúng ta hãy tham khảo vào ví dụ đơn giản dưới đây
để hiểu rõ hơn:
- Giả sử có một luồng traffic xuất phát từ 1 user trong hệ thống là Sue Smith muốn truy cập vào dịch vụ Web trên Server nằm ở Server Farm:
Trang 14NETWORK OpenFlow Controller PHẦN MỀM QUẢN LÝ OPENFLOW
Quản trị
viên
Trung tâm dữ liệu (IDC)
Hình 3 - Môi trường mạng Campus
Traffic xuất phát từ User này khi đến Access Switch thì Access Switch sẽ chặn lại và gởi một request tới OpenFlow Controller để hỏi xem chúng ta nên làm
gì với luồng traffic này, OpenFlow Controller sẽ đối chiếu với những policy đã được cấu hình sẳn và trả lời lại cho thiết bị Access Switch rằng user này sẽ phải chứng thực với AD, phải thỏa các policy của Firewall/IPS… Nếu thỏa được luồng traffic xuất phát từ User này phải đi đến Web Server thông qua uplink đến CoreSwitch 01 với băng thông được đảm bảo là bao nhiêu… và sau cùng sẽ được ghi vào log tập trung để tiến hành theo dõi và phân tích Để tăng tốc trong hệ thống
và giảm độ delay các policy này sẽ được lưu lại trên các thiết bị trong bảng FlowTable để đối với các lần sau sẽ không phải hỏi lại mà các thiết bị lớp Access sẽ
ra quyết định ngay dựa trên các bảng này
Trang 15Hình 4 – Ghi dữ liệu vào Flow Table
Như ta thấy với kiến trúc như trên vừa đảm bảo đồng nhất toàn bộ việc quản trị trong hệ thống đồng thời đảm bảo các chính sách về bảo mật cũng như đảm bảo chất lượng dịch vụ được làm tốt hơn, đơn giản hơn và chi tiết hơn đến tận mức user/service, đây thực sự là điều các nhà quản trị mạng luôn mong muốn trong hệ thống của mình Ở giao diện quản trị chúng ta có thể monitor và thiết lập các policy theo User hoặc theo Application mang lại khả năng tùy biến quản trị cực kỳ linh hoạt cho hệ thống
Với cơ chế hoạt động mô tả ở trên chúng ta đã thấy sự linh hoạt khi tích hợp các thành phần vào hệ thống OpenFlow bất kể thiết bị đó là Switch hay Router, việc thay đổi hệ thống mạng theo hướng ảo hóa hệ thống mạng để đạt được hệ thống IaaS trở nên đơn giản hơn rất nhiều với việc luân chuyển các thiết bị hỗ trợ OpenFlow từ hệ thống mạng được quản lý bởi OpenFlow Controller này sang hệ thống mạng được quản lý bởi OpenFlow khác nhằm mục đích tái cấu trúc nhanh hệ thống mạng cho các nhu cầu thay đổi về ứng dụng một cách cực kỳ linh hoạt Ngoài
ra một thiết bị tương thích với OpenFlow có thể được quản lý bởi nhiều Controller cùng lúc thông qua FlowVisor giúp thiết bị đó có khả năng đảm nhiệm nhiều chức năng trong hệ thống đồng thời vd: vừa đóng vai trò AccessSwitch được quản lý bởi
Trang 16Controller A (nằm trong phân vùng mạng A), vừa đóng vai trò Server Switch được quản lý bởi Controller B (nằm trong phân vùng mạng B)…
Cổng quản trị HW Table manager
Vendor Hardware Driver Các cổng Switch HW Packet Processing Tables
Port Control
ta có thể chia cắt thành các phân vùng mạng ảo khác nhau phù hợp với các mục đích khác nhau:
Trang 17Variable
Bandwidth
Packet Link
Dynamic Optical Bypass
Unified Recovery
Traffic Engineering
Differential Treatment
Circuit Switch
Packet
Switch
Packet Switch
HỆ THỐNG ĐIỀU HÀNH MẠNG
VIRTUALIZATION (SLICING) PLANE
Giao thức trong mạng OpenFlow
Packet & Circuit
Switch
Packet & Circuit Switch
Ứng dụng Mạng
UnderLying Data Plane Switching
Unifying Abstraction
Hình 6 - Ảo hóa mạng với OpenFlow
Đề làm rõ hơn về công nghệ OpenFlow ta cùng đi tìm hiểu các tính năng mới của công nghệ này
Các khái niệm, định nghĩa và mô hình chung nhất về mạng này cùng giao thức OpenFlow sẽ giúp người đọc có một cái nhìn tổng quan về mục tiêu mà đồ án hướng tới; cùng với đó là một xu hướng phát triển của mạng trong tương lai
Bộ chuyển mạch OpenFlow bao gồm ba thành phần chính: Flow-table,
Secure Channel, giao thức OpenFlow, như hình 7 dưới đây:
Trang 18Hình 7 - Cấu trúc của một OpenFlow Switch
Chức năng cụ thể của từng thành phần trong chuyển mạch OpenFlow:
Flow-table: Bảng này bao gồm các flow-entry và mỗi flow-entry có một
Action đi kèm dùng để xử lý các flow Phần này được xây dựng trên nền tảng NetFPGA
Secure Channel: Là phần mềm dùng để kết nối bộ chuyển mạch với bộ điều
khiển Nó cho phép lệnh và gói tin được truyền qua lại giữa bộ điều khiển và
bộ chuyển mạch sử dụng giao thức OpenFlow Phần này được xây dựng trên hệ điều hành Linux
Giao thức OpenFlow: Giao thức cho phép chỉnh sửa flow-table từ một bộ
điều khiển từ xa, và các nhà nghiên cứu tránh được việc phải lập trình cho bộ chuyển mạch
Để hiểu thêm về kiến trúc bộ chuyển mạch, chúng ta sẽ đi sâu vào các khái niệm như flow, flow-entry
Trang 19Một flow được định nghĩa là các gói tin trùng (matching) với một header cụ thể bên trong flow-table Việc so sánh giữa header của gói tin và header của một
flow-entry để quyết định gói tin thuộc flow nào và Action đi kèm với nó có thể xảy
ra hai trường hợp: một là so sánh trùng một cách chính xác tất cả các trường (match exactly); hai là chỉ trùng một trường nào đó (wildcard match)
Hình 8 - Cấu tạo của một flow-entry
Hình 8 [9] miêu tả cấu tạo của một flow-entry Mỗi một flow-entry sẽ có một Action đi kèm với nó Đối với chuyển mạch OpenFlow chuyên dụng, có 3 loại cơ bản sau:
Forward những gói tin của luồng này tới một port cho trước Action này cho phép những gói tin được định tuyến trong mạng
Đóng gói và forward những gói tin của luồng này tới một bộ điều khiển Gói tin được chuyển tới Secure Channel nơi mà nó được đóng gói và gửi tới bộ điều khiển Action này được sử dụng đối với gói tin đầu tiên của một luồng mới và bộ điều khiển sẽ quyết định có đưa nó vào trong flow-table hay không Hoặc Action này được sử dụng trong các thí nghiệm nhằm mục đích forward tất cả các gói tin tới bộ điều khiển để xử lý
Hủy bỏ (Drop) các gói tin của luồng này Action này được sử dụng cho mục đích an ninh mạng nhằm chống lại tình trạng tấn công DoS (Denial of Service) hoặc làm giảm các lưu lượng giả được phát tán trên mạng
Trang 20Thành phần cuối cùng của một flow-entry là Counters Counters dùng để
theo dõi số lượng gói tin hoặc byte và thời gian kể từ khi gói cuối cùng trùng với
một flow-entry trong flow-table (dùng để xóa đi những luồng không còn hoạt
động)
Máy tính điều khiển Openflow
Flow Table Flow Table
1
2
3 4
5 Open vSwitch
Máy tính điều khiển Openflow
Hình 9 - Các bước khi một flow mới tới bộ chuyển mạch OpenFlow
Hình 9 là các bước để định tuyến một flow từ một máy tính nguồn sang một máy tính đích thông qua hai bộ chuyển mạch OpenFlow Trong sơ đồ bên trái, flow-table của hai bộ chuyển mạch đều không chứa gì Khi một gói tin đến trong bước 1,
nó được forward tới bộ điều khiển trong bước 2 Bộ điều khiển kiểm tra gói tin đến
và thêm một flow-entry (flow A) vào trong flow-table của các bộ chuyển mạch trong bước 3 Sau đó gói tin được gửi tới máy tính đích trong bước 4 và 5 Trong các bước 6, 7, 8 bất kì gói tin mới nào thuộc về cùng một flow (flow A của gói tin thứ 1) sẽ được định tuyến trực tiếp tới máy tính đích
1.4 Giải pháp sử dụng mạng OpenFlow
1.4.1 Sự cần thiết cho một kiến trúc mạng mới
Hầu hết các mạng thông thường đều theo kiến trúc phân cấp, được xây dựng với các tầng của thiết bị chuyển mạch Ethernet được sắp xếp theo cấu trúc cây Thiết kế này thực sự hiệu quả khi mô hình tính toán client-server chiếm ưu thế,
Trang 21nhưng kiến trúc cố định như vậy không thích hợp với yêu cầu tính toán đa dạng, năng động và nhu cầu lưu trữ dữ liệu ngày nay tại các trung tâm dữ liệu của doanh nghiệp, trường học, và trong môi trường của các nhà cung cấp dịch vụ Một trong số những xu hướng tính toán quan trọng dẫn tới yêu cầu ngày càng tăng cho một mô hình mạng mới bao gồm:
Sự thay đổi mô hình lưu lượng
Hướng người dùng CNTT
Sự phát triển của các dịch vụ điện toán đám mây
“Dữ liệu lớn” yêu cầu nhiều băng thông hơn
1.4.2 Mục tiêu của mạng OpenFlow
Kiến trúc mạng hiện tại không được thiết kế để đáp ứng các yêu cầu ngày nay của người sử dụng, doanh nghiệp, và nhà cung cấp dịch vụ, những hạn chế của mạng hiện tại bao gồm:
Độ phức tạp cao gây tắc nghẽn
Chính sách không đồng nhất
Khả năng quy mô kém
Phụ thuộc vào nhà cung cấp thiết bị
Chính vì lý do trên, các nhà nghiên cứu đã đưa ra giải pháp: Mạng điều khiển bằng phần mềm (Software-Defined Networking)
Mạng điều khiển bằng phần mềm (SDN) là một kiến trúc mạng mới phát triển trong thời gian gần đây, trong đó việc điều khiển mạng được tách rời khỏi việc chuyển tiếp và có thể được lập trình Khác với trước đây khi còn bị ràng buộc chặt chẽ trong từng thiết bị mạng đơn lẻ, điều khiển mạng sử dụng các thiết bị tính toán
có thể truy cập (accessible computing device) cho phép cơ sở hạ tầng cơ bản được trừu tượng hóa cho các ứng dụng và dịch vụ mạng, hay là các ứng dụng và dịch vụ
sẽ coi mạng như một thực thể hợp thống nhất
Hình 7 [12] mô tả kiến trúc luận lý của SDN Thông tin về mạng được tập
trung trong phần mềm điều khiển SDN có chức năng kiểm soát toàn bộ mạng Kết
Trang 22quả là, hình ảnh của mạng đối với các ứng dụng và các công cụ quản lý giống như là một chuyển mạch luận lý đơn nhất Với SDN, doanh nghiệp và ngưởi sử dụng có thể điều hành toàn bộ mạng từ một điểm luận lý duy nhất, không phụ thuộc vào nhà cung cấp thiết bị, điều này giúp đơn giản hóa thiết kế và hoạt động của mạng rất nhiều SDN cũng góp phần tối ưu hóa các thiết bị mạng, bởi vì các thiết bị mạng không còn cần phải hiểu và xử lý hàng ngàn các chuẩn giao thức khác nhau mà chỉ còn xử lý các lệnh từ bộ điều khiển SDN
Hình 10 - Kiến trúc mạng điều khiển bằng phần mềm
Nhưng quan trọng nhất, nhà khai thác mạng và quản trị viên có thể trình cấu hình mạng được trừu tượng hóa đơn giản hơn so với việc phải lập trình hàng chục ngàn dòng cấu hình phân tán trong số hàng ngàn các thiết bị mạng đơn lẻ Ngoài ra, tận dụng các thông tin được tập trung trong tại bộ điều khiển SDN, người quản trị
có thể thay đổi hoạt động mạng theo thời gian thực, triển khai các ứng dụng và dịch
vụ mới mạng trong vài giờ hoặc vài ngày, chứ không còn là vài tuần hoặc vài tháng như hiện nay Bằng cách thu thập tình trạng của mạng trong các lớp điều khiển (control layer), SDN cung cấp cho nhà quản lý mạng các phương pháp linh hoạt để cấu hình, quản lý, bảo mật, và tối ưu hóa tài nguyên mạng thông qua các phần mềm tự động SDN
Trang 23Hơn nữa, các nhà quản lý có thể tự viết các chương trình này mà không phải chờ đợi các nhà cung cấp sẽ nhúng các tính năng này vào các sản phẩm của họ kèm theo các công cụ phần mềm độc quyền Bên cạnh việc trừu tượng hóa mạng, kiến trúc SDN hỗ trợ một tập hợp các hàm API cho phép thực hiện các dịch vụ mạng thông thường, bao gồm định tuyến, multicast, an ninh, kiểm soát truy cập, quản lý băng thông, quản lý traffic, chất lượng, dịch vụ, tối ưu hóa các bộ vi xử lý và lưu trữ, sử dụng năng lượng, và các hình thức quản lý chính sách, tùy chỉnh cho phù hợp để đáp ứng các mục tiêu kinh doanh Ví dụ, kiến trúc SDN cho phép định nghĩa
và thực thi chính sách nhất quán một cách dễ dàng cho cả kết nối có dây và không dây trong khuôn viên trường
Tương tự như vậy, SDN cho phép quản lý toàn bộ mạng thông qua hệ thống dự phòng và đồng bộ thông minh Open Networking Foundation đang nghiên cứu các API mở để thúc đẩy việc quản lý đa nhà cung cấp, mở ra cánh cửa cho các tính năng phân bổ tài nguyên theo yêu cầu, self-service provisioning, mạng ảo hóa thực sự, và các dịch vụ đám mây an toàn
Như vậy, với các hàm API mở nằm giữa bộ điều khiển SDN và các lớp ứng dụng, các ứng dụng thực tế có thể hoạt động trên lớp trừu tượng của mạng,tận dụng các dịch vụ và khả năng của mạng mà không bị ràng buộc vào các chi tiết khi thực hiện SDN làm cho mạng không còn phải "application-aware" như là "application-customized" và các ứng dụng cũng không cần thiết "network-aware" đến mức
"network-capability-aware" Kết quả là, từ việc tính toán, lưu trữ, tài nguyên mạng
có thể được tối ưu hóa
1.4.3 Giao thức OpenFlow
Giao thức OpenFlow là giao diện truyền thông đầu tiên được sử dụng giữa lớp kiểm soát và các lớp chuyển tiếp trong kiến trúc SDN OpenFlow cho phép trực tiếp truy cập và thao tác trên phần chuyển mạch của các thiết bị mạng chẳng hạn như chuyển mạchvà router, trong cả hai trường hợp luận lý và ảo Chính sự thiếu hụt của một giao diện mở cho phần chuyển mạch đã dẫn tới các đặc tính của các thiết bị mạng bây giờ như: chia thành nhiều khối riêng biệt, đóng và giống như các
Trang 24máy mainframe Thực tế hiện nay vẫn chưa xuất hiện một giao thức tiêu chuẩn nào
có cùng chức năng như giao thức OpenFlow,và sự ra đời một giao thức giống như OpenFlow là cần thiết để chuyển công việc điều khiển mạng chuyển mạch lên các phần mềm điều khiển tập trung hợp lý
OpenFlow có thể được so sánh với tập lệnh của CPU Như thể hiện trên hình
8, giao thức này xác định các thành phần cơ bản có thể được sử dụng bởi một ứng dụng phần mềm bên ngoài để lập trình cho phần chuyển mạch của các thiết bị mạng, điều này giống như tập lệnh của CPU với một hệ thống máy tính
Hình 11 - Ví dụ về tập lệnh của OpenFlow
Các giao thức OpenFlow được thực hiện trên cả hai mặt của giao diện giữa các thiết bị cơ sở hạ tầng mạng và phần mềm điều khiển SDN OpenFlow sử dụng khái niệm về các luồng (Flow) để xác định lưu lượng truy cập mạng dựa trên quy tắc được xác định trước - có thể được lập trình cố định hay thay đổi trong phần mềm điều khiển SDN Giao thức này cũng cho phép người sử dụng xác định cách lưu lượng mạng được phân theo luồng thông qua các thiết bị mạng dựa trên các thông số như mô hình sử dụng, ứng dụng, và tài nguyên điện toán đám mây Vì OpenFlow hướng tới mạng được lập trình trên cơ sở hướng tới từng luồng, do đó một kiến trúc mạng SDN dựa trên OpenFlow hỗ trợ kiểm soát rất chi tiết tới tất cả
Trang 25các khía cạnh, cho phép mạng có thể đáp ứng theo thời gian thực với sự thay đổi ở các cấp độ ứng dụng, người sử dụng, và phiên Định tuyến dựa trên IP hiện tại không cung cấp mức độ kiểm soát chặt chẽ đến như vậy, bởi vì tất cả các luồng giữa hai thiết bị đầu cuối luôn phải theo cùng một con đường thông qua mạng, bất kể chúng có yêu cầu khác nhau hay không
Giao thức OpenFlow là một nhân tố quan trọng trong Mạng điều khiển bằng phần mềm và là giao thức SDN tiêu chuẩn hóa duy nhất hiện nay, cho phép trực tiếp thao tác trên phần chuyển mạch của các thiết bị mạng Ban đầu khi áp dụng cho các mạng Ethernet-based, việc chuyển đổi sang OpenFlow có thể mở rộng đến tập hợp rộng lớn hơn nhiều các trường hợp Mạng SDN dựa trên OpenFlow có thể được triển khai trên các mạng hiện có, cả vật lý và ảo Thiết bị mạng có thể hỗ trợ việc chuyển tiếp các gói tin OpenFlow cũng như chuyển tiếp gói tin truyền thống, điều này khiến cho các doanh nghiệp và người sử dụng dễ dàng tiếp cận đến mạng SDN dựa trên OpenFlow, ngay cả trong môi trường mạng thiết lập bởi nhiều nhà cung cấp
Tổ chức Open Networking Foundation chịu trách nhiệm tiêu chuẩn hóa OpenFlow thông qua các nhóm kỹ thuật làm việc trên nhiều mảng như giao thức, cấu hình, khả năng tương tác, và các hoạt động khác, giúp đảm bảo khả năng tương tác giữa các thiết bị mạng và phần mềm kiểm soát từ các nhà cung cấp khác nhau OpenFlow được chấp nhận rộng rãi bởi các nhà cung cấp cơ sở hạ tầng mạng, thông qua các bản nâng cấp phần mềm hoặc firmware đơn giản Kiến trúc mạng SDN dựa trên OpenFlow có thể được tích hợp liền mạch với cơ sở hạ tầng hiện có của một doanh nghiệp hoặc người sủ dụng, tạo ra một hướng chuyển đổi đơn giản trên những thành phần mạng mà tại đó cần các chức năng của mạng SDN nhất
1.4.4 Lợi ích của mạng SDN dựa trên giao thức OpenFlow
Các lợi ích mà doanh nghiệp và các hãng có thể đạt được thông qua kiến trúc mạng SDN dựa trên OpenFlow bao gồm:
Tập trung hóa việc điều khiển trong môi trường mạng của nhiều nhà cung cấp: Phần mềm điều khiển có SDN thể kiểm soát bất kỳ thiết bị mạng
Trang 26hỗ trợ OpenFlow từ bất kỳ nhà cung cấp nào, bao gồm thiết bị chuyển mạch, định tuyến và chuyển mạch ảo Thay vì phải quản lý từng nhóm thiết bị từ các nhà cung cấp riêng lẻ, nhà quản lý có thể sử dụng đồng bộ các thiết bị và các công cụ quản lý dựa trên SDN để nhanh chóng triển khai, cấu hình và cập nhật các thiết bị trong toàn bộ mạng
Giảm độ phức tạp thông qua tự động hóa: Mạng SDN dựa trên giao thức
OpenFlow cung cấp các công cụ (framework) giúp tự động hóa và quản lý mạng một cách linh hoạt, điều này hỗ trợ nhà quản lý có thể phát triển các công cụ giúp thực hiện các tác vụ quản lý một cách tự động hóa thay vì tự mình thực hiện như hiện tại Những công cụ tự động hóa này sẽ làm giảm chi phí hoạt động, tối thiểu sự bất ổn định trong mạng gây ra bởi lỗi trong việc điều hành, và hỗ trợ các mô hình triển khai tự phục vụ (self-service provisioning models) Ngoài ra, với mạng SDN, các ứng dụng dựa trên điện toán đám mây có thể được quản lý thông qua hệ thống triển khai và đồng bộ thông minh, giúp giảm thiểu hơn nữa chi phí vận hành đồng thời tăng tính linh hoạt trong công việc
Tốc độ đổi mới cao hơn: Sử dụng mạng SDN làm tăng khả năng đổi mới
trong công việc bằng cách cho phép nhà vận hành mạng có thể thực sự lập trình và lập trình lại mạng theo thời gian thực để đáp ứng nhu những yêu cầu công việc đặc biệt và nhu cầu phát sinh của người sử dụng Bằng cách ảo hóa
và trừu tượng hóa cơ sở hạ tầng mạng từ các dịch vụ mạng đơn lẻ, ví dụ, SDN và OpenFlow cung cấp cho nhà quản lý và có thể ngay cả người dùng khả năng để điều chỉnh hoạt động của mạng và ứng dụng các dịch vụ mới cũng như các tính năng mới của mạng trong vòng vài giờ
Tăng cường độ tin cậy và an ninh mạng: SDN cho phép các nhà quản lý tự
định nghĩa các cấu hình cấp cao (high-level configuration) và chính sách trong mạng, điều này được chuyển xuống cơ sở hạ tầng thông qua OpenFlow Kiến trúc mạng SDN dựa trên OpenFlow loại bỏ nhu cầu phải cấu hình cho từng thiết bị mạng đơn mỗi thời gian mỗi khi một đầu cuối (end
Trang 27point), dịch vụ, hoặc ứng dụng được thêm vào loại bỏ, hay khi thay đổi chính sách, điều này làm giảm thiểu khả năng phát sinh lỗi trong mạng do xung đột cấu hình hoặc chính sách
Bởi vì bộ điều khiển mạng SDN cung cấp khả năng hiển thị đầy đủ và kiểm soát qua mạng, đo đó đảm bảo rằng việc kiểm soát truy cập, lưu lượng, chất lượng dịch vụ, an ninh, và các chính sách khác được thực thi nhất quán trên
cơ sở hạ tầng mạng có dây và không dây, bao gồm cả các chi nhánh văn phòng, trường học, và trung tâm dữ liệu Doanh nghiệp và các nhà khai thác
có thể được hưởng lợi ích từ giảm chi phí hoạt động, khả năng cấu hình linh hoạt hơn, ít lỗi, thực thi chính sách và cấu hình thống nhất
Trải nghiệm người dùng tốt hơn: Bằng cách tập trung hóa điều khiển mạng
và đảm bảo thông tin trạng thái sẵn sàng cho các ứng dụng cấp cao hơn, cơ
sở hạ tầng mạng SDN có thể thích ứng với nhu cầu đa dạng của người sử dụng một cách tốt hơn Ví dụ, một nhà cung cấp dịch vụ có thể giới thiệu một dịch vụ video mà nó cung cấp cho các thuê bao cao cấp xem hình với độ phân giải lớn nhất có thể một cách tự động và thông suốt Thực tế, người sử dụng hoàn toàn có thế chọn một cấu hình độ phân giải mà điều kiện mạng có thể hoặc không thể đáp ứng, dẫn đến trễ và gián đoạn làm giảm trải nghiệm người dùng Với mạng SDN dựa trên OpenFlow, các ứng dụng video có thể tự nhận diện băng thông cho phép trong mạng theo thời gian thực và tự động điều chỉnh độ phân giải video cho phù hợp
1.5 Giới thiệu về NetFPGA
NetFPGA là một nền tảng phần cứng giá rẻ, được thiết kế chủ yếu nhằm mục đích là làm công cụ cho việc giảng dạy và nghiên cứu các thiết kế phần cứng mạng như bộ định tuyến, bộ chuyển mạch, card mạng NetFPGA đang được phổ biến một cách rộng rãi tới các học viên, giảng viên và các nhà nghiên cứu và những người quan tâm tới việc thử nghiệm các ý tưởng mới liên quan đến phần cứng mạng tốc độ cao
Trang 28Trong phần này, bộ chuyển mạch OpenFlow được xây dựng trên nền tảng
- Xilinx VirtexTM-II pro 50
- 4x1 Gbps Ethernet ports sử dụng lõi MAC mềm
Trang 29Sơ đồ khối chi tiết các thành phần phần cứng cũng như cách sắp xếp của chúng trong kit NetFPGA được minh họa trên Hình 13 [4]
Hình 13 - Sơ đồ khối chi tiết các thành phần trong kit NetFPGA
Gateware
Gateware là mã nguồn Verilog để tạo ra khối phần cứng trên chip FPGA VirtexTM-II pro Các thiết kế trên nền tảng NetFPGA được thiết kế theo từng mức với chức năng nhiệm vụ khác nhau như trên Hình 11 Trong đó:
- nf2_top là mức cao nhất: Chứa các tín hiệu (signal) đầu vào, đầu ra nối
các thiết bị ngoại vi bên ngoài như thạch anh, cổng mạng, …
- nf2_core chứa các thành phần quan trọng cần có với mọi dự án làm việc
với NetFPGA như các hàng đợi, bộ điều khiển thanh ghi cpci, …
- user data path là một thành phần trong nf2_core Mối dự án khác nhau sẽ
bao gồm một cấu trúc khác nhau Sự khác biệt giữa dự án bộ chuyển mạch OpenFlow với các dự án khác như bộ định tuyến OpenFlow là ở đây
Trang 30Hình 14 - Cấu trúc đơn giản một dự án với NetFPGA
Mỗi mức trong một dự án đều được thiết kế thành các modules nhằm mục đích dễ dàng mở rộng và các modules này được kết nối với nhau tạo thành một
pipeline Cấu trúc của pipeline được mô tả ở Hình 15 [4]
Hình 15 – modules NetFPGA
Có hai loại bus chính là: packet bus và register bus Packet bus sử dụng để
xử lý gói tin và register bus mang thông tin trạng thái và điều khiển giữa các
modules phần cứng và phần mềm
Phần mềm ở đây là phần mềm điều khiển NetFPGA, chúng bao gồm hệ điều hành Linux cho PC, driver cho kit NetFPGA, các phần mềm tạo ra giao diện giữa người dùng và thiết bị mạng, các công cụ thiết kế của Xilinx như ISE, XPS
Trang 31Hình 16 - Sơ đồ tổng quát của hệ thống NetFPGA
1.6 Kết luận chương
Tóm lại, các xu hướng mới như người sử dụng ngày càng ưa chuộng tính di động, ảo hóa máy chủ, và yêu cầu đáp ứng một cách nhanh chóng với điều kiện kinh doanh luôn thay đổi đặt ra ngày nhiều yêu cầu lên hệ thống mạng, và rất nhiều trong số đó kiến trúc mạng thông thường hiện nay không thể đảm đương được Mạng điều khiển bằng phần mềm cung cấp một kiến trúc mạng mới, năng động, có khả năng thay đổi mạng xương sống truyền thống sang một nền tảng hứa hẹn cung cấp dịch vụ phong phú hơn rất nhiều
Tương lai của mạng sẽ dựa nhiều hơn và nhiều hơn nữa trên phần mềm, việc này sẽ giúp đẩy nhanh tốc độ đổi mới cho hệ thống mạng như nó đã từng xảy ra trong lĩnh vực máy tính và lưu trữ SDN hứa hẹn sẽ biến đổi mạng cố định ngày hôm nay thành nền tảng khả trình với khả năng phân bổ nguồn lực một cách năng động, trở nên linh hoạt hơn, đủ quy mô để hỗ trợ các trung tâm dữ liệu khổng lồ với sự ảo hóa cần thiết cho một môi trường điện toán đám mây tự động hóa cao, năng
Trang 32động, và an toàn Sở hữu nhiều lợi thế và tiềm năng công nghiệp hấp dẫn, mạng SDN đang trên đường để trở thành một chuẩn mực mới cho mạng trong tương lai Trong giới hạn nghiên cứu của tôi, trong các phần tiếp theo tôi sẽ nêu các vấn đề ảo hóa mạng liên quan đến OpenFlow, Open vSwitch để giám sát điểu khiển băng thông mạng
Trang 33CHƯƠNG 2 CÁC GIẢI PHÁP ỨNG DỤNG ẢO HÓA MẠNG DỰA
TRÊN OPENFLOW
Dựa trên lý thuyết ảo hóa mạng đã được đưa tra ở chương trước, tôi lựa chọn, đề xuất các giải pháp xây dựng một hệ thống ảo hóa mạng Dựa vào đó, các nhà quản trị mạng của các doanh nghiệp, các trung tâm dữ liệu có thể giám sát, điều khiển các thiết bị mạng một cách tập trung giảm thiểu các chi phí phát sinh cũng như phân tích tối ưu được nguồn tài nguyên hiện có
2.1 Giải pháp giới hạn giám sát QoS băng thông mạng
Ở trong phần này tôi sẽ trình bày về việc giới hạn, giám sát chất lượng đường mạng bằng với áp dụng các policies trên các máy ảo
Quản lý mạng có thể xem như quản lý tất cả các tài nguyên trong mạng nhằm duy trì và đảm bảo theo dõi trực quan các hoạt động của toàn bộ hệ thống mạng, cho phép quản trị mạng chủ động phát hiện sớm các sự cố về đường truyền và dịch vụ mạng
Trên thị trường trong và ngoài nước hiện nay có rất nhiều sản phẩm thương mại (như SolarWinds, CiscoWorks, HPOpenView) nhưng rất đắt tiền (từ vài ngàn USD đến vài chục ngàn USD tùy theo quy mô sử dụng) Việc đầu tư kinh phí cho các sản phầm giám sất mạng thương mại là ngoài khả năng kinh tế đối với nhiều cơ quan tổ chức Ngoài ra sau khi triển khai các phần mềm thương mại thì chi phí hỗ trợ dịch vụ, như phí nâng cấp phần mềm thường phải trả là rất tốn kém và hoàn toàn phụ thuộc vào nhà sản xuất, không thể tùy biến được
Trong khi đó, hiện nay, có nhiều giải pháp phần mềm mã nguồn mở tự do cho phép triển khai giám sát mạng rất hiệu quả như Nagios, Cacti, Zabbix, Zenoss,
… Trong đó Cacti và Nagios là hai giải pháp mã nguồn mở với nhiều chức năng mạnh mẽ cho phép quản lý băng thông kết nối, tình trạng hoạt động của các thiết bị, trạng thái của dịch vụ trong hệ thống mạng Nhiều tính năng trên Nagios và Cacti còn được đánh giá cao hơn các sản phẩm thương mại
Mục đích của giám sát:
Trang 34 Quản lý topo gồm nhiều kết nối, nhiều thiết bị trên toàn bộ mạng
Giám sát băng thông Uplink/Downlink các kết nối theo thời gian thực Băng thông sử dụng được đánh các màu khác nhau, rất trực quan và dễ quan sát
Giám sát các thông số kỹ thuật (như hiệu năng sử dụng RAM, CPU, HDD, vv) của các thiết bị mạng và máy tính
Giám sát trạng thái các dịch vụ (MAIL, WEB, DNS, VPN, vv)
Ưu điểm của các phần mềm giám sát mạng:
Quản lý tập trung log, từ đó đưa ra những cảnh báo sớm (bằng email hoặc tin nhắn) gửi cho quản trị mạng khi có sự cố xảy ra (như đứt đường truyền, chết dịch vụ, hỏng ổ cứng, hỏng card mạng, quá tải RAM, quá tải CPU, vv)
Dễ dàng mở rộng và quản lý đến hàng vài ngàn thiết bị
Miễn phí, chỉ mất chi phí triển khai trên máy tính
Chạy trên linux nên hiệu năng rất cao
Có sẵn nhiều mẫu Template được viết sẵn cho các loại thiết bị mạng, máy chủ và các hệ điều hành khác nhau
Dễ dàng tạo các Templates cho các thiết bị
Cho phép bổ sung nhiều chương trình plugin tiện ích, cho phép triển khai nhanh chóng hệ thống quản lý tài nguyên mạng với chi phí hợp lý
Ngoài nhưng đặc điểm đã nêu trên về các phần mềm giám sát các kết nối mạng, trong phần này tôi đề xuất sử dụng Open vSwitch để giám sát điều khiển luồng giữa các card mạng ảo hóa
Một mạng vật lý:
Topo mạng dữ liệu cho lưu lượng dữ liệu các máy ảo (VMs) Mạng này được sử dụng để gửi lưu lượng đến và đi từ 1 mày chủ bên ngoài sử dụng để đo tốc độ mà một máy ảo được gửi Để thử nghiệm ta có thể thiết lập trên một mạng vật lý nhưng thay vào đó ta có thể kết nối tất cả các máy ảo trên một card mạng bridge không kết
nối với một giao diện card mạng NIC và sử dụng máy ảo như một host thử nghiệm
Trang 35Hình 17 - Triển khai giám sát lưu lượng
Hình 17 thể hiện HOST1 chạy Open vSwitch và có 1 card mạng NIC:
Giao diện eth0 kết nối vào mạng dữ liệu Giao diện eth0 này không được gán địa chỉ IP Máy chủ đo lường có thể là bất kỳ máy chủ có khả năng đo băng thông từ một máy ảo Ở trong phần cài đặt thử nghiệm này chúng ta sử dụng sFlow Trend
để kiểm tra băng thông
Eth0 được kết nối vào mạng dữ liệu eth0 có một địa chỉ IP có thể được gán trên máy ảo ở Host1
Có 2 máy ảo: VM1, VM2 chạy trên host1 Mỗi máy áo có một giao diện duy nhất xuất hiện là một thiết bị Linux trên các máy chủ vật lý
Tỷ lệ-giới hạn lưu lượng truy cập được gửi bởi mỗi máy ảo tới 1 Mbps
Cấu hình chi tiết:
Với mối máy ảo VMs, chúng ta có thể sửa đổi bảng Interface để cấu hinh một chính
Trang 36sách truy nhập Có 2 giá trị thiết lập:
- Ingress_policing_rate: max-rate trong kbps máy ảo này được phép để gửi
- Ingress_policing_burst: một tham số cho các thuật toán lập chính sách để chỉ
ra giá trị tối đa của dữ liệu (trong kb) rằng giao diện này có thể gửi vượt quá
tỷ lệ sát
2.2 Giải pháp sử dụng Open vSwitch
Mô hình tổng quan về Open vSwitch:
Open vSwitch là một mã nguồn mở được phân phối chuyển đổi ảo mà đồng hành với những phần mềm khác trong vSphere 5 và Hyper-V 2012, Open vSwitch được sử dụng trong Citrix XenServer và Cloud Xen Platform, và nó hỗ trợ Xen, KVM, và VirtualBox Với sự giám sát lưu lượng tiên tiến, vprobes, spans, QoS, và khả năng triển khai như một thiết bị ảo hay vật lý, danh sách các tính năng của Open vSwitch thì ấn tượng hơn một số chuyển mạch phần cứng! Bạn sẽ tìm thấy NetFlow, sFlow, 802.1ag, LACP, SPAN và RSPAN, QoS, một số giao thức đường hầm, 802.1q VLAN tagging, hỗ trợ OpenFlow, và điều khiển lưu lượng trên một cơ
sở cho mỗi giao diện ảo
Variable Bandwidth Packet Link Variable Bandwidth Packet Link Variable Bandwidth Packet Link
Bảo mật: VLAN, isolation, lọc traffic
QoS: thuật xếp hàng đợi traffic Điều khiển: OpenFlow, OVSDB
Giám sát: Netflow, sFlow,SPAN
Hình 18 - Mô hình chung về Open vSwitch