Kết quả thực nghiệm trong môi trường lab đều đã đáp ứng được yêu cầu từ thuật toán Định tuyến nâng cao được đề xuất để cải thiện chất lượng truyền tải lưu lượng trong mạng SD-WAN. Tùy theo yêu cầu sử dụng và khả năng đáp ứng từ hệ thống của mỗi mạng thực tế mà có thể lựa chọn thuật toán mong muốn. Đối với thuật toán mặc định của hệ thống SD-WAN là cân bằng tải, tất cả hướng WAN đều được sử dụng trong quá trình truyền tải lưu lượng giúp tăng tính khả dụng và dự phòng cao nhưng dẫn đến chất lượng dịch vụ QoS bị giảm sút nếu có các kết nối chất lượng kém về độ trễ/độ mất gói cao. Có thể sử dụng tính năng “Best Quality” của SD-WAN Fortigate khi lưu lượng luôn được truyền tải trên một hướng WAN có độ trễ hoặc độ mất gói tốt nhất để đạt được QoS cao, nhưng dẫn đến mọi thời điểm chỉ có duy nhất một kết nối được sử dụng sẽ dễ gây ra nghẽn. Các vấn đề này được xử lý tối ưu hơn khi áp dụng hệ thống Advanced Routing khi vừa tận dụng được đường đi tối ưu hơn và có thể san tải sang kết nối tốt khác nếu đáp ứng đủ điều kiện trong khi kết hợp theo dõi lưu lượng nếu đạt mức. Với thuật tốn Ngưỡng cứng, phải có một khoản thời gian theo dõi đủ dài, có thể là 24 giờ hoặc 3 đến 5 ngày để có cái nhìn tổng quan và đầy đủ về trạng thái các kết nối mạng để tự đưa ra mức ngưỡng tốt nhất và sau đó đều có chu kỳ cập nhật lại nếu có các kết nối tốt hơn mức ngưỡng này thì đều được chọn làm tuyến đường đi, cịn khơng kết nối nào thỏa điều kiện thì vẫn có tùy chọn tuyến đường tốt nhất có thể. Với thuật tốn Trung bình trượt, nhằm đáp ứng cho các dịch vụ yêu cầu khắt khe hơn về chất lượng, luôn đảm bảo dịch vụ truyền tải trên hướng WAN tốt nhất có thể, đồng thời tuyến đường tốt nhất luôn được kiểm tra cập nhật lại liên tục và kèm theo có thể san tải sang tuyến đường tốt tương đương nếu có. Thật vậy, trong kiểm nghiệm khi áp dụng thuật toán Ngưỡng cứng (Hình 4.3) đã giúp độ trễ từ người dùng được cải thiện hơn từ trung bình 32.375 ms xuống 28.387 ms, và xử lý độ trễ tương đương với tính năng Best Quality của hệ thống Fortigate với thuật tốn Trung bình trượt (xấp xỉ 20.8 ms so với 20.5 ms) (Hình 4.7) trong khi bổ sung thêm các tùy chọn kết hợp giữa độ trễ và độ mất gói, cũng như theo dõi lưu lượng để chống nghẽn. Đây có thể là cơ sở tham khảo khi triển khai một mạng SD-WAN thực tế cho các doanh nghiệp hiện nay. Hơn nữa, tính năng dự báo lưu lượng dựa theo mơ hình SARIMA giúp hỗ trợ lập kế hoạch mở rộng và nâng cấp mạng kịp thời để tránh tắc nghẽn mà hệ thống SD-WAN mặc định khơng có.
4.4 KẾT LUẬN CHƯƠNG
Khả năng khả thi của các thuật toán này đều đã được thực hiện kiểm chứng trong mơi trường lab. Đây có thể là cơ sở tham khảo khi triển khai một mạng SD-WAN thực tế cho các doanh nghiệp hiện nay.
KẾT LUẬN VÀ ĐỀ XUẤT HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI
Mạng diện rộng định nghĩa bằng phần mềm là một mơ hình đang nổi lên nhanh chóng trong các mạng cục bộ và cũng đang trở nên phổ biến trong các mạng công ty lớn. Khái niệm SDN phân tách mặt phẳng dữ liệu và mặt phẳng điều khiển trên mạng, điều này làm tăng khả năng kiểm sốt mạng trong lập trình và thiết kế linh hoạt. SDN có thể cung cấp mạng WAN với tính linh hoạt trong lập trình và khả năng cấu hình của các cấu hình mạng khác nhau rộng rãi, điều này không thể đạt được theo cách thủ công trong mạng WAN truyền thống. Trong luận văn này, chúng tôi sử dụng lợi thế này của SD-WAN (Mạng diện rộng định nghĩa bằng phần mềm) khi xây dựng chương trình Định tuyến nâng cao (Advanced Routing) để giám sát, thu thập liên tục dữ liệu mạng cần thiết về độ trễ, độ mất gói và áp dụng các thuật tốn Ngưỡng cứng, Trung bình trượt để chỉ định cấu hình các tuyến đường trong WAN một cách tự động theo cách có thể tránh được các thời điểm hoạt động kém của các kết nối WAN và bằng cách đó, các tác động trong truyền tải lưu lượng ảnh hưởng đến QoS có thể được giảm thiểu.
Khả năng khả thi của các thuật toán này đều đã được thực hiện kiểm chứng trong mơi trường lab. Tơi có lên kế hoạch di chuyển sang một mạng thử nghiệm khác có thể bằng phần cứng thực tế để đánh giá lại hiệu suất và đảm bảo rằng giải pháp của tôi không phụ thuộc vào cấu trúc liên kết mạng (topology) cụ thể nào đó. Vì những lý do tương tự, tơi cũng có kế hoạch sử dụng các ứng dụng thực để tạo lưu lượng như FTP, HTTP và RTP hoặc trình tạo lưu lượng thực, và có thể cả máy đo chuyên dụng giả lập lưu lượng IXIA.
Do đó, hướng phát triển tương lai triển khai áp dụng lên các hệ thống thực để kiểm nghiệm thêm tính hiệu quả của các thuật tốn này [38-39].
Cuối cùng, tôi cũng dự định điều tra khả năng dự đoán của các tham số khác có thể chỉ ra tắc nghẽn hoặc các sự cố mạng khác. Một ví dụ sẽ là dự đốn về việc sử dụng RAM và CPU trong tương lai trên thiết bị router SD-WAN biên. Việc cạn kiệt tài nguyên của thiết bị mạng có nghĩa là các gói tin có thể bị mất và độ trễ cao, do đó sẽ gây ra tắc nghẽn và suy giảm hiệu suất mạng nói chung.
TÀI LIỆU THAM KHẢO
[1] Z. Yang, Y. Cui, B. Li, Y. Liu and Y. Xu, "Software-Defined Wide Area Network (SD-WAN): Architecture, Advances and Opportunities," 2019 28th International Conference on Computer Communication and Networks (ICCCN), 2019, pp. 1-9.
[2] Cléo Luciani, From MPLS to SD-WAN: Opportunities, Limitations and Best Practices, 2019 KTH, School of Electrical Engineering and Computer Science
(EECS), 2019.
[3] Silver-peak, "Everything you need to know about SD-WAN," Silver-peak.com, 2021. [Online]. Available: https://www.silver-peak.com/everything-you-need-to- know-about-sd-wan. [Accessed: 10-Aug-2021]
[4] F. Bannour, S. Souihi and A. Mellouk, "Distributed SDN Control: Survey, Taxonomy, and Challenges," IEEE Communications Surveys; Tutorials, vol. 20, no. 1, pp. 333-354, 2018.
[5] W. Braun and M. Menth, "Software-Defined Networking Using OpenFlow: Protocols, Applications and Architectural Design Choices," Future Internet, vol. 6, no. 2, pp. 302-336, 2014.
[6] O. Michel and E. Keller, "SDN in wide-area networks: A survey," 2017 Fourth
International Conference on Software Defined Systems (SDS), 2017, pp. 37-42.
[7] Z. Qazi, C. Tu, L. Chiang, R. Miao, V. Sekar and M. Yu, "SIMPLE-fying middlebox policy enforcement using SDN," ACM SIGCOMM Computer Communication
Review, vol. 43, no. 4, pp. 27-38, 2013.
[8] A. Gember-Jacobson, R. Viswanathan, C. Prakash, R. Grandl, J. Khalid, S. Das, and A. Akella, “Opennf: Enabling innovation in network function control,” ACM
SIGCOMM Computer Communication Review, vol. 44, no. 4, pp. 163-174, 2014.
[9] S. Jain, A. Kumar, S. Mandal, J. Ong, L. Poutievski, A. Singh, S. Venkata, J. Wanderer, J. Zhou, M. Zhu et al., “B4: Experience with a globally deployed software defined wan,” ACM SIGCOMM Computer Communication Review, vol. 43, no. 4, pp. 3-14, 2013.
[10] C.-Y. Hong, S. Kandula, R. Mahajan, M. Zhang, V. Gill, M. Nanduri, and R. Wattenhofer, “Achieving high utilization with software-driven WAN,” Proceedings
of the ACM SIGCOMM 2013 conference on SIGCOMM, 2013, pp. 15-26.
[11] H. Nam, K. -H. Kim, J. Y. Kim and H. Schulzrinne, "Towards QoE-aware video streaming using SDN," 2014 IEEE Global Communications Conference, 2014, pp. 1317-1322.
[12] R. Hartert, S. Vissicchio, P. Schaus, O. Bonaventure, C. Filsfils, T. Telkamp, and P. Francois, "A Declarative and Expressive Approach to Control Forwarding Paths in Carrier-Grade Networks," Proceedings of the 2015 ACM Conference on Special
[13] X. Yin, A. Jindal, V. Sekar and B. Sinopoli, "A Control-Theoretic Approach for Dynamic Adaptive Video Streaming over HTTP," ACM SIGCOMM Computer
Communication Review, vol. 45, no. 4, pp. 325-338, 2015.
[14] V. Jalaparti, I. Bliznets, S. Kandula, B. Lucier and I. Menache, "Dynamic Pricing and Traffic Engineering for Timely Inter-Datacenter Transfers," Proceedings of the
2016 ACM SIGCOMM Conference, 2016, pp. 73-86.
[15] Shuhao Liu and Baochun Li, "On scaling software-Defined Networking in wide- area networks," Tsinghua Science and Technology, vol. 20, no. 3, pp. 221-232, June 2015.
[16] P. Berde, M. Gerola, J. Hart, Y. Higuchi, M. Kobayashi, T. Koide, B. Lantz, B. O’Connor, P. Radoslavov, W. Snow et al., “ONOS: towards an open, distributed SDN OS,” ACM HotSDN, 2014, pp. 1-6.
[17] Juniper Networks, "What is SD-WAN (Software-Defined Wide-Area Network)?," Juniper Networks, 2022. [Online]. Available: https://www.juniper.net/us/en/research-topics/what-is-sd-wan.html. [Accessed: 30- Mar-2022].
[18] Allied Telesis, "What You Need To Know About Secure SD-WAN," Allied
Telesis, 2022. [Online]. Available: https://www.alliedtelesis.com/es/white-
paper/what-you-need-know-secure-sd-wan. [Accessed: 22-Jan-2022].
[19] Greg Bryan, "SD-WAN is Reshaping the Enterprise Network," MEF, 2022. [Online]. Available: https://www.mef.net/edge-view-blog/sd-wan-is-reshaping-the- enterprise-network/. [Accessed: 30-Jan-2022].
[20] C. Telecom, "Tại sao SD-WAN là ưu tiên của Doanh nghiệp khi bắt đầu chuyển đổi số?," CMC Telecom | Cloud - Data – Internet – Data Center - Voice – VAS, 2022. [Online]. Available: https://cmctelecom.vn/bai-viet/tai-sao-sd-wan-la-uu-tien-cua- doanh-nghiep-khi-bat-dau-chuyen-doi-so/. [Accessed: 15-Jan-2022].
[21] Digital Carbon, "SD-WAN vs IPsec VPN’s - What's the difference?", Digital
Carbon - Managed Service Provider, 2022. [Online]. Available: https://digitalcarbon.io/blog/sd-wan-vs-ipsec-vpn/. [Accessed: 02- Jan- 2022]. [22] AT&T, “AT&T Bridging 5G and SD-WAN with VMware SD-WAN by
VeloCloud for a New Layer of Control at the Edge,” AT&T Reports, 2019. [Online]. Available: https://about.att.com/story/2019/att_5g_sdwan.html. [Accessed: 17- Feb- 2022].
[23] Cisco, "Design Zone for Branch/WAN - Cisco SD-WAN: Application-Aware Routing Deployment Guide," Cisco, 2022. [Online]. Available: https://www.cisco.com/c/en/us/td/docs/solutions/CVD/SDWAN/cisco-sdwan- application-aware-routing-deploy-guide.html. [Accessed: 27-Jan-2022].
[24] S. Troia, F. Sapienza, L. Varé and G. Maier, "On Deep Reinforcement Learning for Traffic Engineering in SD-WAN," Journal on Selected Areas in Communications, vol. 39, no. 7, pp. 2198-2212, 2021.
[25] L. Liu, L. Chen, H. Xu and H. Shao, "Automated Traffic Engineering in SDWAN: Beyond Reinforcement Learning," IEEE INFOCOM 2020 - IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), pp.
430-435, 2020.
[26] Pavan Iddalagi, “SDWAN – Its Impact and The Need of Time,” Journal of Ubiquitous Computing and Communication Technologies (UCCT), vol. 02, no. 04,
pp. 197-202, 2020.
[27] S. Khurana, S. Erramilli, J. Perser, S. Poretsky, “RFC 4689: Terminology for Benchmarking”, IETF, 2006.
[28] K. Golani, K. Goswami, K. Bhatt and Y. Park, "Fault Tolerant Traffic Engineering in Software-defined WAN," 2018 IEEE Symposium on Computers and
Communications (ISCC), 2018, pp. 01205-01210.
[29] Jason Brownlee, Introduction to Time Series Forecasting with Python: How to
Prepare Data and Develop Models to Predict the Future. Vermont, VA, USA:
Machine Learning Mastery, 2017.
[30] K. Thompson, G. J. Miller and R. Wilder, "Wide-area Internet traffic patterns and characteristics," IEEE Network, vol. 11, no. 6, pp. 10-23, 1997.
[31] Maier, G., Feldmann, A., Paxson, V., & Allman, M., “On dominant characteristics of residential broadband internet traffic,” Proceedings of the 9th ACM
SIGCOMM Conference on Internet Measurement, 2009, pp. 90-102.
[32] J. L. Garcia-Dorado, A. Finamore, M. Mellia, M. Meo and M. Munafo, "Characterization of ISP Traffic: Trends, User Habits, and Access Technology Impact," IEEE Transactions on Network and Service Management, vol. 9, no. 2, pp. 142-155, 2012.
[33] George E. P. Box, Gwilym M. Jenkins, Gregory C. Reinsel, Time series analysis:
forecasting and control, 5th ed. New Jersey: John Wiley & Sons, 2015.
[34] Suhartono, “Time series forecasting by using seasonal autoregressive integrated moving average: subset, multiplicative or additive model,” Journal of Mathematics
and Statistics, vol. 7, no. 1, pp. 20-27, 2011.
[35] Fernandes, S., Teichrieb, V., Sadok, D., & Kelner, J., "Time series applied to network traffic prediction: A revisited approach," International conference on applied modelling and simulation-AMS, 2002.
[36] Hyndman, Rob J., and George Athanasopoulos, Forecasting: principles and practice, 2nd ed. Melbourne, Australia: OTexts, 2018.
[37] B. Jason, Deep Learning for Time Series Forecasting: Predict the Future with
MLPs, CNNs and LSTMs in Python. Vermont, VA, USA: Machine Learning
Mastery, 2018.
[38] R. E. Mora-Huiracocha, P. L. Gallegos-Segovia, P. E. Vintimilla-Tapia, J. F. Bravo-Torres, E. J. Cedillo-Elias, and V. M. Larios-Rosillo, “Implementation of a sd-wan for the interconnection of two software defined data centers,” 2019 IEEE Colombian Conference on Communications and Computing (COLCOM), 2019, pp.
1–6.
[39] J. Xie, F. R. Yu, T. Huang, R. Xie, J. Liu, C. Wang, and Y. Liu, “A survey of machine learning techniques applied to software defined networking (sdn): Research issues and challenges,” IEEE Communications Surveys & Tutorials, vol. 21, no. 1, pp. 393–430, 2018.
[40] S. Troia, L. Zorello, A. Maralit, and G. Maier, “Sd-wan: an open-source implementation for enterprise networking services,” 2020 22th International Conference on Transparent Optical Networks (ICTON), 2020, pp. 1–4.
PHỤ LỤC
A - Giao diện GUI của SD-WAN Fortigate để theo dõi và xử lý lỗi của chương trình
Khi chương trình Advanced Routing đang hoạt động với thuật tốn Ngưỡng cứng, hệ thống SD-WAN ghi nhận thường xuyên thông tin độ trễ (latency) các hướng WAN:
Ở phần “SD-WAN Rules” thể hiện các Rule đang được sử dụng và điều khiển từ chương trình Advanced Routing, quyết định hướng WAN nào tối ưu nhất:
B – Log hoạt động của chương trình Advanced Routing với thuật toán Ngưỡng cứng
PS C:\Users\IEUser\Desktop> py sd-wan.py hardthresholding --span 10 --interval 5 Quality ( latency / loss ): latency
For Users ( lan1 / lan2 / all ): lan1
For Destination ( DNS_Google / AWS / Internal_Host ): Internal_Host
If no WAN under Threshold? Using ... ( load_balance / smallest_wan ): smallest_wan
-> Generating System's Threshold... (lan1 <--> Internal_Host) 9 seconds left... WAN1 Threshold: Latency = 24 ms , Loss = 0.0 %
WAN2 Threshold: Latency = 34 ms , Loss = 0.0 % WAN3 Threshold: Latency = 44 ms , Loss = 0.0 %
-> Generating System's Threshold... (lan1 <--> Internal_Host) 8 seconds left... WAN1 Threshold: Latency = 24 ms , Loss = 0.0 %
WAN2 Threshold: Latency = 34 ms , Loss = 0.0 % WAN3 Threshold: Latency = 44 ms , Loss = 0.0 %
-> Generating System's Threshold... (lan1 <--> Internal_Host) 7 seconds left... WAN1 Threshold: Latency = 24 ms , Loss = 0.0 %
WAN2 Threshold: Latency = 34 ms , Loss = 0.0 % WAN3 Threshold: Latency = 44 ms , Loss = 0.0 %
-> Generating System's Threshold... (lan1 <--> Internal_Host) 6 seconds left... WAN1 Threshold: Latency = 24 ms , Loss = 0.0 %
WAN2 Threshold: Latency = 34 ms , Loss = 0.0 % WAN3 Threshold: Latency = 44 ms , Loss = 0.0 %
-> Generating System's Threshold... (lan1 <--> Internal_Host) 5 seconds left... WAN1 Threshold: Latency = 24 ms , Loss = 0.0 %
WAN2 Threshold: Latency = 34 ms , Loss = 0.0 % WAN3 Threshold: Latency = 44 ms , Loss = 0.0 %
-> Generating System's Threshold... (lan1 <--> Internal_Host) 4 seconds left... WAN1 Threshold: Latency = 24 ms , Loss = 0.0 %
WAN2 Threshold: Latency = 34 ms , Loss = 0.0 % WAN3 Threshold: Latency = 44 ms , Loss = 0.0 %
-> Generating System's Threshold... (lan1 <--> Internal_Host) 3 seconds left... WAN1 Threshold: Latency = 24 ms , Loss = 0.0 %
WAN2 Threshold: Latency = 34 ms , Loss = 0.0 % WAN3 Threshold: Latency = 44 ms , Loss = 0.0 %
-> Generating System's Threshold... (lan1 <--> Internal_Host) 2 seconds left... WAN1 Threshold: Latency = 24 ms , Loss = 0.0 %
WAN2 Threshold: Latency = 34 ms , Loss = 0.0 % WAN3 Threshold: Latency = 44 ms , Loss = 0.0 %
-> Generating System's Threshold... (lan1 <--> Internal_Host) 1 seconds left... WAN1 Threshold: Latency = 24 ms , Loss = 0.0 %
WAN2 Threshold: Latency = 35 ms , Loss = 0.0 % WAN3 Threshold: Latency = 44 ms , Loss = 0.0 %
-> Generating System's Threshold... (lan1 <--> Internal_Host) 0 seconds left... WAN1 Threshold: Latency = 24 ms , Loss = 0.0 %
WAN2 Threshold: Latency = 35 ms , Loss = 0.0 % WAN3 Threshold: Latency = 44 ms , Loss = 0.0 %
>> With Latency Threshold is 24 => selected path is WAN: 1
After 5 seconds :
WAN1 Latency: [25, 25, 24, 24, 25] >> Average Latency = 25 WAN2 Latency: [35, 35, 36, 35, 34] >> Average Latency = 35 WAN3 Latency: [44, 45, 45, 45, 44] >> Average Latency = 45 >> With Latency Threshold is 24 => Not any WAN is sufficient... ==> WAN 1 is selected for the smallest latency
After 10 seconds :
WAN1 Latency: [25, 24, 24, 24, 24] >> Average Latency = 24 WAN2 Latency: [34, 34, 34, 33, 34] >> Average Latency = 34 WAN3 Latency: [44, 44, 44, 44, 44] >> Average Latency = 44 >> With Latency Threshold is 24 => selected path is WAN: 1
After 15 seconds :
WAN1 Latency: [24, 24, 25, 24, 24] >> Average Latency = 24 WAN2 Latency: [34, 34, 34, 35, 34] >> Average Latency = 34 WAN3 Latency: [44, 44, 44, 44, 44] >> Average Latency = 44 >> With Latency Threshold is 24 => selected path is WAN: 1
After 20 seconds :
WAN1 Latency: [24, 24, 25, 25, 24] >> Average Latency = 24