我想做一个基于SDN架构网络的关于QoS保障的课题,谁能给我一个idea万能的知乎
QoS一般来说并不一定需要使用SDN。有很多其他的方案可以用。如果一定要用Openflow的话,Openflow1.3有Queue的概念,同一个接口上有不同的队列,不同的数据包可以发送到不同的队列,实现同一个接口上数据包优先级不同的效果。Queue需要通过外部命令创建。在OpenvSwitch下面,Queue的管理是通过OVSDB中的QoS和Queue两个表完成的,可以用ovs-vsctl命令控制。请参考以下资料:http://www.openvswitch.org/support/dist-docs/ovs-vswitchd.conf.db.5.html创建Queue之后,可以在流表中使用ofp_action_set_queue的action来控制数据包要发往的队列编号。
■网友
我的建议是从最简单的做起:1)先把SDN的环境搭建起来,控制器使用哪个?实际物理机还是mininet?2)根据openflow tutorial跑几个简单的程序/命令,知道各个组件的作用3)自己会OVS的命令吗?增加删除流表?4)在控制器中抓取数据包,自己写个简单的TCP/UDP程序,或者使用netcat,在控制器中解析packet-in,得到应用层的数据;5)通过应用层和端口号区分不同的应用,根据应用场景制定自己的策略,比如P1比P2优先级高;6)那么如何控制不同的应用的优先级?你可以采用最简单的方式,客户端应用P1,P2在传数据的时候,可以让第一个包产生packet-in,从而控制器端可以根据现在的网络的情况,说现在网络比较拥塞,P2你先等一会,我先服务P17)上面只是思路,而且QoS也比较广,上面是区分应用的优先级。update 12.15此外看看OVS中操作QoS的命令,然后剩下的就是你的SDN控制器根据一些策略,来动态的调整流表的添加!
■网友
openflow协议中,与qos相关的就两个:1. queue2. meter大概的思路都是类似, 先在ovsdb里建个queue或者meter的table, 里面存了n条queue或者meter, 每条都可以设置最小速度最大速度优先级dscp之类的, 然后在流表的action里加个设置queue_id或者meter_id, 就可以做个简单的qos了..当然, 两者也是有区别的:1. queue是在openflow1.0的时候就提出的概念; meter则是1.3的时候;2. queue必须绑定在某个port上; 具体的结构是每个Port有个Qos, 每个qos有n条Queue; 而Meter则是完全独立的; 所以如果涉及多port的限速之类的, queue就只能曲线救国了..3. queue的使用要涉及到ovsdb, meter只用openflow就可以了4. 软件方面: openvswitch(此答的时候为2.5)不支meter, 像ofsoftswitch13之类的软件倒是能用; 不过试过几个硬件交换机还是蛮多能用的. 所以也要考虑 凭记忆写的.. 不对的地方请指正.
■网友
欢迎参加今年将会在华科举办的高校SDN应用创新大赛
■网友
你说的google b4 吗。。。通过控制平面收集全局信息,然后控制器分析计算,下发流表做流量调度。还有一些硬件可以在数据包ip层封装一个tag 然后通过tag分析计算流量拥塞情况,然后控制器下发流量调度,好想食cisco的aci 一个功能。
推荐阅读
- 同比■同比增长7.1%!2021年的第一个节你花了多少钱?
- “他是我第一个会说普通话的老师”:一对师生折射青海山村蝶变
- 有必要重新开个C店吗
- 大学再有三个月就结束了,没学到知识,参加一个软件测试培训机构好吗
- 汽车|长安UNI-K又将开创一个新的"引力"纪元?
- 神话|武汉传奇父亲:一个平行班孩子创造的高考神话(感动上万家长)
- 王者荣耀李白能不能出肉
- 直播会成为品牌传播的另一个途径么有哪些可行的方法感觉有戏又没头绪好捉急。
- 怎样成为一名合格的Python程序员?
- 知乎有没有必要增加一个特别关注功能
