文章名称
- AMPS: Application Aware Multipath Flow Routing
Using Machine Learning
来源
- 2017 Twenty-third National Conference on Communications (NCC)
时间
- 2017
概要
- 一个基于网络应用流量特点和路由状态的多径路由机制。该机制使用机器学习的方法来评估网络流量特点。
做法
- 架构图如上所示,AMPS在原有控制器的基础上新增了几个部件
- 主机H1向交换机S1发送数据报。
- 交换机S1检查流表种有没有对应的流表项,如果有就执行相应的动作。
- 没有的话就向控制器发送一个packet_in消息。
- 当控制器收到packet_in消息的时候,向除了源交换机之外的所有交换机下发一个flow_mod消息,其中hard timeout被设置为t。而对于源交换机,则下发一个packet_out消息给相应的输出端口。这样,由于源交换机还是没有相应的流表项,接下来收到的数据包依然会发送packet_in消息,这样AMPS 控制器就可以收集一条流量内前n条数据包的feature并发送给MLC(machine learning classifier)。
- mlc根据收到的数据,将流量分为预定义的类别之一。
- AMPS 控制器从mlc接收类标签并向pds(Path Discovery and Selection)询问最佳路径。然后对最佳路径上的交换机下发flow_mod消息。
- 交换机收到packet_in消息就转发数据包给相应的端口,收到flow_mod消息就更新流表。
- 交换机按流表转发数据报。
- 控制器统计吞吐量,如果达到带宽要求,就保存这条路径,否则第六步中的路径优先级会被降低。
- 为同样优先级的流量在已存在的路径上安装同样的流表项,这样timeout就会增加t