设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 598|回复: 0
收起左侧

NSP4——P4网络模拟器的使用

[复制链接]
发表于 2017-6-27 17:57:13 | 显示全部楼层 |阅读模式
一、前言
NSP4是一个网络模拟器,旨在为P4开发者创建一个可视化的P4流表管理及拓扑建立工具,帮助P4开发者更好的调试自己的程序。此开发工具是基于开源控制器Ryu中的开源应用gui_topology所改编的应用,并编写了可视化web界面,让开发者更直观地查看P4运行时的配置。
源码可查看github链接:https://github.com/Emil-501/NSP4
二、运行环境介绍
三、程序主要功能及程序架构
程序主要功能:
  • 动态生成底层拓扑
  • 查看底层拓扑视图
  • 查看指定P4交换机的table及table entry
  • 下发table entry
  • 删除table entry
程序架构:

                               
登录/注册后可看大图
四、P4程序示例
此P4程序结构,需动态配置table结构,table配置如下:
table-namematch-keyaction
smacethernet.srcAddrmac_learn; _nop
mcast_src_pruningstandard_metadata.instance_type_nop; _drop;
dmacethernet.dstAddrforward; broadcast五、实验过程
1.通过Ryu应用的启动命令,启动NSP4,并将P4程序放在NSP4/src下,如github链接:https://github.com/Emil-501/NSP4所示结构:
               
                                                               
                                                $ ryu-manager ./app/p4web/p4web.py  //后面为NSP4应用所在路径
                                                       
                                        1

                               
$ ryu-manager ./app/p4web/p4web.py  //后面为NSP4应用所在路径

                       
               


                               
登录/注册后可看大图
2.进入浏览器,输入127.0.0.1:8080,进入web界面

                               
登录/注册后可看大图
3.建立mininet P4 网络拓扑
输入对应的拓扑信息:

                               
登录/注册后可看大图
在右侧可得得到相应的可视化拓扑信息:

                               
登录/注册后可看大图
4.输入以下命令启动底层的mininet,通过net命令查看拓扑,拓扑建立正确:
               
                                                               
                                                $ sudo ./run_demo.sh
                                                       
                                        1

                               
$ sudo ./run_demo.sh

                       
               


                               
登录/注册后可看大图
输入net命令
               
                                                               
                                                mininet> net
                                                       
                                        1

                               
mininet> net

                       
               


                               
登录/注册后可看大图
5.点击指定交换机,如下图(a)所示;可以查看得到相应的table界面,如下图(b)所示,可得到与第四节 《四、P4程序示例》相符的table结构

                               
登录/注册后可看大图
图(a)

                               
登录/注册后可看大图
图(b)
6.下发Table entry
对S1的dmac表,下发如图所示的entry:

                               
登录/注册后可看大图
可得到相应的流表信息已显示在web界面上:

                               
登录/注册后可看大图
通过底层的P4运行时命令,也可查看到下发的entry信息:

                               
登录/注册后可看大图
7.删除Table entry
删除刚刚下发Table entry:

                               
登录/注册后可看大图
通过底层的P4运行时命令,也可查看到刚刚下发entry信息已被删除:

                               
登录/注册后可看大图
六、存在及待优化问题
界面美观程度较为一般,功能仅仅包括上述所示,缺少查看counter之类的功能;获取代码后需要根据自身电脑的配置信息,修改源代码相关路径信息;建议使用火狐、谷歌浏览器。
七、参考材料                                                                       

                                               

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-4-25 23:08 , Processed in 0.052318 second(s), 8 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表