Chƣơng này bao gồm đƣa ra các kết quả đạt đƣợc từ thiết lập kịch bản thực tế để giải quyết phần báo cáo về vấn đề nghiên cứu. Để tóm tắt thiết lập kịch bản cho các instance Ubuntu và địa chỉ IP của chúng cho các kịch bản khác nhau đƣợc đề cập là VM1 và VM2 nằm trong cùng một máy chủ thuộc về cùng một mạng và đƣợc lấy là Case1. Trong khi VM3 và VM4 có địa chỉ mạng khác nhau nhƣng chúng thuộc cùng một máy chủ và đƣợc coi là Case2. VM5 và VM6 thuộc cùng một mạng nhƣng sử dụng Floating IP, đó là Case3 trong khi VM7 và VM8 nằm trên một mạng khác sử dụng IP cố định và đƣợc coi là Case4.
5.1 Kết quả cho Network Traffic flow
Đối với mỗi trƣờng hợp nhƣ đã đề cập trƣớc đó, một VM đã gửi gói ping liên tục đến đích tƣơng ứng. Đồng thời, các gói đƣợc theo dõi trên cả internal và external bridge interface của compute node và network node bằng cách sử dụng tcpdump để xem luồng lƣu lƣợng nhƣ trong lệnh sau
tcpdump -n -e -i interface host ip address
-n To display addressess by names -e To display link-level header -i To specify interface name
5.2 Kết quả cho Network Performance
Phần này giải thích các giá trị trung bình đƣợc tính toán của tất cả các tham số hiệu suất mạng đƣợc xem xét trong luận văn này.
5.2.1 Thông lƣợng TCP trung bình
Để đo thông lƣợng TCP, IPERF đã đƣợc thực hiện trong 15 phút và dữ liệu đƣợc thu thập cứ sau 5 giây. Lệnh đã đƣợc thực hiện ở phía máy khách.
nh 5.1: Thông lượng TCP trung bình cho các kịch bản
Trong khi thu thập dữ liệu cho một kịch bản, các kịch bản khác không chạy. Trong kịch bản này, IPERF chạy trong 900 giây thu thập thông lƣợng cứ sau 5 giây và sau đó tính giá trị trung bình.
iperf -c server ip -i 5 -t 900
-c To starts iPerf in client mode and connects with the iPerf server -t To set the duration of the connection in seconds (default: 10 seconds) -i To report intervals
5.2.2 Thông lƣợng UDP trung bình
Để thu thập thông lƣợng và mất mát cho lƣu lƣợng UDP, lệnh sau đƣợc thực hiện trong 15 phút và nó báo cáo dữ liệu cứ sau 5 giây.
iperf -c server ip 5 -t 900 -b 10G
-c To starts iPerf in client mode and connects with the iPerf server -t To set the duration of the connection in seconds (default: 10 seconds) -i To report intervals
5.2.3 Độ trễ gói tin trung bình (Latency hoặc Packet delay)
Lệnh ping đã đƣợc thực thi ở phía máy khách trong 1500 lần để đo độ trễ chuyến đi khứ hồi. Trong quá trình thu thập dữ liệu, không có kịch bản nào khác đang chạy trên VM.
ping -c 1500 server ip
-c To starts ping in client mode and connects with the server
nh 5.3: Độ trễ gói tin trung bình cho các kịch bản.
5.2.4 Tổng số gói tin mất mát
Mất gói đã thu đƣợc trong quá trình thu thập thông lƣợng UDP.
5.3 So sánh giữa các giải pháp khác
Nhƣ đã đƣợc minh họa trong hình 5.1, thông lƣợng cho VM trên cùng một máy chủ và cùng một mạng cao hơn nhiều so với thông lƣợng TCP cho tất cả các trƣờng hợp khác trong cả Neutron và Calico, tuy nhiên, Calico cho thấy hiệu suất tốt hơn với dữ liệu TCP so với Neutron. Tuy nhiên, ngƣợc lại với thông lƣợng UDP, Neutron cho kết quả tốt hơn trong Case 3 đƣợc trình bày trong hình 5.2. Về độ trễ, Calico đã gửi các gói có độ trễ ít hơn, hơn nữa đối với Case1, nó khá nhỏ so với tất cả các trƣờng hợp khác tƣơng ứng với Neutron và Calico, đƣợc hiển thị trong hình 5.3. Tuy nhiên, ta có thể thấy dễ dàng từ việc mất gói trong hình 5.4 là rất cao trong dự án Calico (Case2).
Vì vậy, từ tất cả tám kịch bản, các tham số quan trọng đƣợc điều tra là:
- Thông lƣợng TCP
- Thông lƣợng UDP
- Package delay
- Package loss
Từ nghiên cứu hiệu năng mạng, khi hai máy ảo đƣợc đặt trên cùng một máy chủ và cùng một mạng, chúng hoạt động tốt hơn so với khi chúng ở trên cùng một máy chủ nhƣng một mạng khác nhau. Do đó, phép đo cho thấy các máy ảo trên cùng một máy chủ và cùng một mạng đã đạt đƣợc thông lƣợng TCP trung bình tốt hơn so với các máy ảo trên cùng một máy chủ nhƣng một mạng khác. Mặt khác, không có sự khác biệt đáng kể giữa thông lƣợng UDP trung bình của họ. Trong trƣờng hợp trễ gói, máy ảo trên cùng một máy chủ nhƣng một mạng khác có giá trị cao hơn máy ảo đƣợc đặt trên cùng một máy chủ và cùng một mạng. Kết quả này đƣợc phù hợp vì máy ảo là khác nhau.
Việc đo mất gói (datagram) cho thấy các kết quả khác nhau trong trƣờng hợp của cả Neutron và Calico, trong trƣờng hợp của Neutron, nó cho thấy mất gói đƣợc ghi nhận cao nhất khi VM ở cùng một máy chủ và cùng một mạng, mặc dù đối với Calico thì đó là VM từ khác mạng nhƣng trên cùng một máy chủ liên lạc với nhau. Kết quả này có vẻ mâu thuẫn với kết quả của thông lƣợng UDP. Điều này là do, nếu thông lƣợng UDP giống nhau giữa hai trƣờng hợp, thì mất mát UDP của chúng cũng tƣơng tự nhau. Nhƣng, kết quả đi không đúng mong đợi. Do đó, cần nghiên cứu kỹ lƣỡng hơn để tìm ra nguyên nhân gốc rễ của sự sai lệch này. Đầu tiên, lỗi có thể là do lỗi của máy ảo. Trong trƣờng hợp này, các VM khác nhau đã đƣợc tạo và thử nghiệm nhiều lần, nhƣng kết quả vẫn giống nhau. Tiếp theo, compute node đã đƣợc thay đổi nhiều lần và các bài kiểm tra đã đƣợc thực hiện. Tuy nhiên, kết quả vẫn nhƣ cũ. Sau đó, các
máy ảo đã đƣợc thử nghiệm trong một kịch bản khác và kết quả đã khẳng định rằng không có lỗi trên máy ảo hoặc các conpute node. Cuối cùng, các VM đƣợc gắn vào một Floating IP và các thử nghiệm đƣợc tiến hành. Kết quả đạt đƣợc trong nghiên cứu này, chỉ các IP riêng đƣợc sử dụng trong toàn bộ thử nghiệm. Lần này, tức là khi sử dụng Floating IP, mất mát gói tin đã giảm đáng kể, mặc dù độ trễ tăng lên là hợp lý. Nhƣng sự giảm mất mát gói tin này không làm rõ lý do tại sao số lƣợng mất mát gói tin trƣớc đó rất cao. Cần điều tra thêm để kết luận một cách thuyết phục kết quả này, điều này không thể đƣợc đề cập trong phạm vi thời gian của luận văn này.
5.4 Kết luận và hƣớng đi
Do tầm quan trọng và tác động của hệ thống điện toán đám mây đối với việc cải thiện mạng lƣới và dịch vụ phân tán, vẫn có những nghiên cứu và đổi mới liên tục đƣợc đƣa ra. Khi các sáng kiến mới xuất hiện, nó cũng sẽ yêu cầu việc đánh giá các công nghệ mới đƣợc áp dụng cho môi trƣờng điện toán đám mây, để tăng cƣờng sự hiểu biết chính xác về công nghệ mới. Nghiên cứu này đã điều tra mẫu lƣu lƣợng truy cập nội bộ và đánh giá hiệu suất mạng của từng mẫu trên môi trƣờng điện toán đám mây OpenStack. Openstack là công nghệ mới trong điện toán đám mây. Do đó, nghiên cứu này nhằm mục đích thêm một số đóng góp nhằm tìm hiểu hoạt động chi tiết của Openstack. Từ điều tra, có thể khẳng định rằng khi các máy ảo (VM) có IP riêng đƣợc đặt trên cùng một mạng, thì chúng chỉ sử dụng các switch ảo để liên lạc với nhau độc lập từ vị trí của chúng trên các node. Kết quả cho thấy vị trí của máy theo compute node và địa chỉ mạng có vấn đề đối với hiệu suất mạng. Do đó, khi các máy ảo nằm trên cùng một node và cùng một mạng, chúng sẽ hoạt động tốt hơn các kịch bản khác. Điều này có thể là do đƣờng truyền, ví dụ, ngắn hơn (trong trƣờng hợp trễ) so với các kịch bản khác. Trong OpenStack, băng thông là không giới hạn về nguyên tắc. Chính xác thì ảnh hƣởng của băng thông không giới hạn này đến hiệu suất là gì? Vì, theo nhƣ tôi biết, hiệu suất mạng không thể là không giới hạn trong thực tế, vậy chính xác thì Openstack cung cấp những gì bằng cách cung cấp băng thông không giới hạn? Điều này cần một nghiên cứu để hiểu rõ hơn, và do đó nghiên cứu về hiệu suất mạng đã đƣợc tiến hành. Kết quả từ nghiên cứu về hiệu suất mạng cho thấy, bằng cách cung cấp băng thông mạng không giới hạn, OpenStack không đảm bảo hiệu suất mạng không giới hạn. Thay vào đó, nó đảm bảo rằng sẽ không có tắc nghẽn băng thông mạng.
Mặc dù kết quả cho thấy các dự án trong tƣơng lai rõ ràng đang cố gắng hết sức để cung cấp hiệu suất mạng tốt hơn so với Neutron, tuy nhiên, vẫn có một số phát triển cần có thể dễ dàng nhìn thấy trong kịch bản thông lƣợng UDP cho Calico.
Hướng đi (Future work)
Trong nghiên cứu này, những kết quả không lƣờng trƣớc đã xuất hiện cùng những câu hỏi chƣa đƣợc trả lời. Trải qua những thách thức chƣa biết cũng nhƣ xem xét tầm quan trọng của việc xử lý một số vấn đề, có thể đề xuất nghiên cứu sâu hơn nhƣ sau:
1. Do cả Neutron và Calico đều cho hiệu suất băng thông thấp hơn cho mỗi VM, vấn đề quan trọng đƣa ra là nghiên cứu cách cải thiện hiệu suất mạng của nó. 2. Nghiên cứu có thể đƣợc thực hiện trong tƣơng lai với các đối tƣợng rộng hơn
bằng cách thêm các plugin mạng khác nhƣ OVN, ODL...
3. Vì Neutron và Calico cung cấp băng thông cao hơn cho các máy ảo khác nhau, điều quan trọng là nghiên cứu việc sử dụng CPU và bộ nhớ của máy ảo khi sử dụng Neutron và Calico, hoặc các plugin khác thay thế.
TÀI LIỆU THAM KHẢO
Tiếng Anh
[1] Cloud computing. Openstack.org [online]. Available at https://en.wikipedia.org/wiki/Cloud_computing
[2] En.wikipedia.org. (2019). OpenStack. [online] Available at: https://en.wikipedia.org/wiki/OpenStack
[3] En.wikipedia.org. (2019). Virtualization. [online] Available at: https://en.wikipedia.org/wiki/Virtualization
[4] Mell, P. and Grance, T. (2011). The NIST Definition of Cloud Computing. [online] Nvlpubs.nist.gov. Available at:
https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf [5] Docs.openstack.org. (2019). OpenStack Docs: Conceptual architecture. [online]
Available at: https://docs.openstack.org/install-guide/get-started conceptual- architecture.html
[6] VMWare. (2019). VMware Official Site. [online] Available at: https://www.vmware.com
[7] Linux-kvm.org. (2019). KVM. [online] Available at: https://www.linux- kvm.org/page/Main_Page
[8] Xenproject.org. (2019). VS16: Video Spotlight with Xen Project's Lars Kurth. [online] Available at: http://www.xenproject.org/
[9] En.wikipedia.org. (2019). Hyper-V. [online] Available at: https://en.wikipedia.org/wiki/Hyper
[10] Linuxcontainers.org. (2019). Linux Containers LXC - Introduction. [online] Available at: https://linuxcontainers.org/lxc/introduction
[11] RADEZ, Dan. OpenStack Essentials [online]. 3rd. Birmingham: Packt
Publishing Limited, 2015. ISBN 978-1-78398-708-5. Available from: https://www.amazon.com/OpenStack-Essentials-Dan-Radez/dp/1783987081 [12] Docs.openstack.org. (2019). OpenStack Docs: Networking service overview.
[online] Available at: https://docs.openstack.org/neutron/latest/install/common/get- started-networking.html
[13] Wiki.openstack.org. (2019). Neutron - OpenStack. [online] Available at: https://wiki.openstack.org/wiki/Neutron
[14] Docs.openstack.org. (2019). OpenStack Docs: ML2. plug-in. [online] Available at: https://docs.openstack.org/neutron/pike/admin/config-ml2.html [15] Mestery, K. and Kukura, R. (2018). Modular Layer 2 In OpenStack Neutron.
[online] Openstack.org. Available at:
https://www.openstack.org/assets/presentation-media/ML2-Past-Present-and- Future.pptx
[16] Docs.openstack.org. (2019). OpenStack Docs: Open vSwitch: Provider networks. [online] Available at: https://docs.openstack.org/ocata/networking- guide/deploy- ovs-provider.html
[17] Arie Bregman. (2018). Openstack Neutron: L2 L3 agents. [online] Available at: http://abregman.com/2016/01/03/openstack-neutron-l2-l3-agents/
[18] En.wikipedia.org. (2019). Iptables. [online] Available at: https://en.wikipedia.org/wiki/Iptables
[19] Docs.openstack.org. (2019). OpenStack Docs: Layer 3 Networking in Neutron - via Layer 3 agent OpenVSwitch. [online] Available at:
https://docs.openstack.org/neutron/pike/contributor/internals/layer3.html
[20] Thekelleys.org.uk. (2019). Dnsmasq - network services for small net-works [online] Available at: http://www.thekelleys.org.uk/dnsmasq/doc.html
[21] Docs.openstack.org. (2019). OpenStack Docs: Networking architecture. [online] Available at: https://docs.openstack.org/security-
guide/networking/architecture.html
[22] VIETSTACK TEAM. (2018). RPC in OpenStack. [online] Available at: https://vietstack.wordpress.com/2015/09/17/rpc-in-openstack/
[23] Superuser. (2018). Understanding Open vSwitch, an OpenStack SDN component - Superuser. [online] Available at:
https://superuser.openstack.org/articles/openvswitch-openstack-sdn/
[24] Redhat.com (2019). Tenant and provider networks - OpenStack Networking Guide - current. [online] Available at: https://access.redhat.com/documentation/en- us/red_hat_openstack_platform/9/pdf/networking_guide/Red_Hat_OpenStack_Platf orm-9-Networking_Guide-en-US.pdf
[25] Opennetworking.org. (2018). [online] Available at:
https://www.opennetworking.org/images/stories/downloads/sdn-resources/white- papers/wp-sdn-newnorm.pdf
[26] A Survey on Software Defined Networking - Architecture for Next Generation Network https://dl.acm.org/citation.cfm?id=3058163 [Journal of Network and Systems Management archive - Volume 25 Issue 2, April 2017 - Pages 321-374] [27] William Stallings. Foundations of Modern Networking: SDN, NFV, QoE, IoT,
and Cloud. Addison-Wesley Professional, 2016, ISBN-13: 9780134175393
[28] En.wikipedia.org. (2019). Kernel-based Virtual Machine. [online] Available at: https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine
[29] Penguin, T. (2018). Installing DevStack on Ubuntu 16.04 - The Urban Penguin. [online] The Urban Penguin. Available at:
[30] Docs.openstack.org. (2019). OpenStack Docs: Multi-Node Lab. [online] Available at: https://docs.openstack.org/devstack/latest/guides/multinode-lab.html [31] Docs.openstack.org. (2019). OpenStack Docs: Manage projects, users, and
roles. [online] Available at: https://docs.openstack.org/keystone/pike/admin/cli- manage-projects-users-and-roles.html
[32] Docs.openstack.org. (2019). OpenStack Docs: Install and configure controller node. [online] Available at: https://docs.openstack.org/mitaka/install-guide-
rdo/neutron-controller-install.html
[33] Dhcp_agent.ini. Openstack.org [online]. 2019, Available from: https://docs.openstack.org/ocata/config-
reference/networking/samples/dhcp_agent.ini.htm
[34] L3_agent.ini. Openstack.org [online]. Available from:
https://docs.openstack.org/ocata/config-reference/networking/samples/l3 agent.ini.html
[35] Keystone.conf. Openstack.org [online]. Available from: https://docs.openstack.org/ocata/config-
reference/identity/samples/keystone.conf.html
[36] SEZER, Sakir, Pushpinder Kaur CHOUHAN and Sandra SCOTT-
HAYWARD. Are we ready for SDN? - Implementation Challenges for Software- Defined Networks [online]. IEEE Communications Magazine, 2013, 36-43 DOI: 10.1109 / MCOM.2013.6553676. Available from:
https://pure.qub.ac.uk/portal/files/14448878/CommsMag_Final.pdf
[37] ROUSE, Margaret. Software-defined networking (SDN). TechTarget [online]. August 2015. Available from: http://searchsdn.techtarget.com/definition/software- defined-networking-SDN
[38] What is Software Defined Networking (SDN) ?. SDxCentral [online]. 2012- 2018 [cit. 2018-03-27]. Available from:
https://www.sdxcentral.com/sdn/definitions/what-the-definition-of-software- defined-networking-sdn/
[39] Features - Open vSwitch [online]. Linux Foundation Collaborative Project, 2016. Available from: http://www.openvswitch.org//features/
[40] BAILEY, Stuart, Deepak BANSAL and Linda DUNBAR. SDN Architecture Overview [online]. December 12, 2013, 3-5. Available from:
https://www.opennetworking.org/images/stories/downloads/sdn- resources/technical-reports/SDN-architecture-overview-1.0.pdf [41] Wikipedia. Wikipedia [online]. Available from:
[42] Openstack. Wikipedia [online]. [feeling. 2018-04-20]. Available from: https://developer.openstack.org/firstapp-libcloud/networking.html
[43] IGBE, Damian. Identifying and Troubleshooting Neutron Namespaces [online]. November 21, 2013 Available from: https://www.mirantis.com/blog/identifying- and-troubleshooting-neutron-namespaces/
[44] IGBE, Damian. How to add eth0 and wlan0 to OpenvSwitch Bridge Fosshelp [online]. October 30, 2014 Available from: http://fosshelp.blogspot.cz/2014/10/add- eth0-wlan0-openvswitch-bridge.html
[45] Wikipedia [online]. Available from:
https://en.wikipedia.org/wiki/OpenDaylight Project
[46] Opendaylight [online]. Available from http://docs.opendaylight.org/en/stable- oxygen/getting-started-guide/introduction.html
[47] Sdxcentral. Sdx-central [online]. Available from: https://www.sdxcentral.com/projects/romana/
[48] Openstack. Openstack [online]. Available from:
https://docs.openstack.org/networking-ovn/latest/admin/ovn.html [49] ProjectCalico [online]. Available from:
https://docs.projectcalico.org/v3.1/introduction/
[50] SDN Definiation. Available from https://www.opennetworking.org/sdn- definition/
[51] Sriram Subramanian, Sreenivas Voruganti. October 27, 2016. Software-Defined Networking (SDN) with OpenStack - ISBN: 9781786465993.
https://www.packtpub.com/virtualization-and-cloud/software-defined-networking- sdn-openstack
[52] VMTP - data path performance measurement tool. https://vmtp.readthedocs.io/en/latest/readme.html