如何使用ryu控制器计算SDN/OpenFlow网络中的吞吐量



如何在OpenFlow网络中获得吞吐量我们使用OpenFlow 1.3和Ryu控制器。

对于使用OpenFlow的Ryu Controller,您可能需要根据在OFPPortStats中接收到的统计数据进行计算,作为OPFPortStatsReply的一部分,您可能可能需要使用OFPPortStatsRequest消息来请求端口统计信息。类似地,您可以解析OPFFlowStatsRequest消息的OFPFlowStats以进行基于流的统计计算,该统计计算将作为对请求消息OFPFlowStatsRequest的响应而接收。

OFPFlowStatsRequest可用于通过交换机获取与流条目相关的统计信息。请求的目标流条目可以通过表ID、输出端口、cookie值和匹配等条件来识别,但这里所有条目都受请求约束。

OFPPortStatsRequest可用于通过交换机获取与端口相关的统计信息。可以指定要从中获取信息的所需端口号,并且可以指定OFPP_ANY从所有端口请求信息。

您可能需要终止接收PortStatsReply消息的事件处理程序。OPFPortStatsReply类的属性体是OFPPortStats的列表。OFPPortStats分别具有诸如端口号、发送/接收分组计数、字节计数、丢弃计数、错误计数、帧错误计数、溢出计数、CRC错误计数和冲突计数之类的统计信息。

您可能需要定义一个统计线程来定期发送上述请求消息和解析回复消息。一旦统计数据可用,就对统计信息进行迭代/解析,并计算带宽使用情况。

您可以执行许多其他类型的请求,并对响应进行操作,您可以参考这些请求http://osrg.github.io/ryu-book/en/html/traffic_monitor.html.

计算mininet上的吞吐量只会给你一个模拟的答案,可能不是真的。但是,请查看iPerf工具,看看如何将其与mininet集成。

最新更新