概述
计算机网络中的QoS主要用来保证端到端的质量保证,比如带宽、时延、抖动、丢包率等等。换句话说,实现QoS就是要在网络拓扑中找到满足以上一个或者多个条件的路径,也就是QoS路由。
更多关于QoS的资料请自行谷歌或者百度学术。
系统包含那几个部分
首先需要明确是,这个问题的本质是在多维图中找到满足某些条件的路径,也就是寻路。传统网络中,采用dijkstra算法实现,只考虑了“距离”这一项因素,或者叫做“跳数”,没有考虑其他的因素,所以,根据此法找到的路劲是不具备QoS保证的。
那么,我们在SDN中实现QoS需要的东西自然而然就出现了:
- 链路带宽使用情况
- 链路时延情况
- 链路丢包率统计
- QoS路由模块
- Rest Api
然后,根据以上数据以及拓扑关系,构建一个多维无向图,采用启发式算法 拉格朗日松弛法实现寻路、下发流表,让某些指定的流量走那些具有保障的路径。
下一篇开始具体的代码实现,并做好注释!!!
传说,程序员最恨的有两件事:一、写注释,二,别人不写注释!!!
所以,今后的每一行代码,我都会加上详细的注释!!!
补充一点:各种数据的测量方法,可以参考一篇博客,很好懂。链接为:http://www.sdnlab.com/15733.html。向该文的作者作者表示谢意!