多模态内生网络内生安全综合实践
来自学长的Tips:能够打通所有等级的学弟学妹,还犹豫什么,快来福大读研。
实践预览:需要通过自己的努力利用p4语言来一步一步实现一个多模态网络,并且实现一些内生安全功能。
1. 实践任务
Level 1 学习多模态网络
(1)实践内容
- 直接看压缩包《多模态内生安全入门》的内生安全入门2.0.word,来看懂这个入门材料中关于多模态网络和内生安全机制的含义。
- 在自己主机内利用wireshark抓取ipv4的数据包,抓完之后的数据包以pcap的形式进行保存,并传入到虚拟机,数据包不超过10MB。
- 自己创建一个新文件夹,在虚拟机内利用mininet搭建一个如下图所示的拓扑。可以用l3函数对这些设备进行ip与mac地址自动赋值,其中两台主机请同学以自己的组名_数字进行命名,如XXX_1。

(2)实践要求
- 提交一个压缩包,内包含三个文件,一个是本组对多模态网络的汇报ppt;两个Pcap数据文件;mininet拓扑文件。
Level 2 让多模态网络动起来
(1)实践内容
- 学习向这几台设备中写入正确的路由表,当前路由路径只需要支持h1-S1-S2-S4-h2。在makerun之后,使用pingall测试网络是否可以正常运行。可以利用Json进行路由表写入,也可以通过集成度更高的P4runtime进行开发可以点击这里查看P4runtime与API的使用方法,来实现控制面的对数据平面进行控制的JSON文件编写。
- 学会IPv6中有关义头部字段的定义与路由流程,学习自定义IPv6头部,并且掌握对应的解析规则,然后自己设计一个头部字段,介于以太层与IP层之间,名字以自己小组名字为命名,内涵字段包含每个小组成员的名字,要在解析阶段解析该头部字段。
(2)实践要求
- 提交一个压缩包,内包含两个文件,一个是填充交换机表项的Json文件;二是本组内自定义头部字段可运行的p4文件。
Level 3 让多模态网络动都起来
(1)实践内容
- 向拓扑中的S1,S3,S4的p4代码加入IPv6头部解析功能与转发功能。其中S3交换机只支持ipv6协议转发,S1与S4要支持IPv4与IPv6的双模态转发。
- 学习数据包重放工具,如Tcpreplay等,先在h1重放ipv4数据包至h2证明ipv4网络可以运行(mininet中如何使用tcpreplay,可以点击这里mininet中使用Tcpreplay)。
- 测试S1,S3,S4的p4代码是否正确并在h2重放IPv4数据包至h1,证明IPv6可行,在S3交换机进行抓包证明数据确实被封装为了IPv6数据包。
(2)实践要求
- 提交一个压缩包,内包含所有设备的P4文件,请注明每个P4文件用于哪个设备;h1与h2接收到数据包的截图;S3抓取到的IPv6数据包截图。
Level 4 多模态裁决
- 利用组播在S1中将ipv4数据包复制成ipv4模态与ipv6模态的两份,ipv4数据包走路径一传递给S2交换机,ipv6走路径二传递给S3交换机。最后在S4交换机进行裁决,将数据包的原有的数据包头进行hash。
- 同理如果是h2传输至h1的数据包,将由S1进行裁决。
- 将hash之后的值在S4 交换机中进行比较,如果hash值相同,证明数据包没有受到修改。不相同,证明数据包遭到修改,丢弃数据包并且将ipv6模态置信度置为10,ipv4模态置为5,继续选择IPv6 模态承载的数据包进行转发(要去掉封装的包头)。

(2)实践要求
- 上交S4与S1中的裁决P4代码。
Level 5 更多的模态
(1)实践内容
做到这一步的同学可以在已有的两个模态上进行进一步开发,没多一个模态需要在交换机S1与S4中嵌入更多的交换机,并且执行更加复杂的多模裁决,此时裁决算法请参考我们Level1中基于动态异构冗余机制的路由器拟态防御体系结构 去设计裁决算法(如何更好地判断数据包是否被更改的方法)来对这些不同模态的数据包进行裁决。
最低要求,加入一个源路由模态。
进阶内容加入更多的模态,得分更高。
(2)实践内容
上交多模态拓扑文件与对应的P4文件,并且给出一个中文的裁决方法的文档。并且设计前端,利用前端可以直接演示已完成的模态与裁决算法。

2. 实践过程与要求
- 1)每实现一个level,提供要求中对应的截图或者是实现的代码。代码则需要提供源代码的Git链接(包括P4程序、控制面python程序、流规则、拓扑文件)和编译运行的结果。代码会查重,请大家每组完成自己的设计。
- 2)每个成员的课程总结:
- 查阅了哪些资料,在哪些平台学习了哪些相关知识;
- 英文、文献资料调研、编码、网络基础等相关技能的综合掌握情况;
- 3)团队成员的讨论照片,包括但不限于在线会议、在线群聊、线下讨论;
- 4)综合实践组队(每队不超过5人)完成,组队完成必须按比例注明成员工作量(不注明就默认均分)。
3. 项目报告要求
- 1)每组撰写一份综合实践报告,作业最开头标注所有成员的学号和姓名,同时标注完成的设计等级;
- 2)关于提交:
-
提交三个部分:1)文档,提交格式为pdf,采用Markdown撰写;2)源代码,整体打包;3)详细的背景介绍和项目演示视频
-
命名方式:“组号+组长姓名+组长学号.zip”;
-
提交方式:在截止时间之前提交,由组长上传1份压缩包文件。
-
4. 实验镜像
- **P4 Tutorial Development 2024-03-01 **
链接:https://pan.baidu.com/s/1KB5BQvYQDq82dLhn7g2E0w
提取码:bwae
--来自百度网盘超级会员V6的分享
- 更多版本
https://github.com/jafingerhut/p4-guide/blob/master/bin/README-install-troubleshooting.md
20

被折叠的 条评论
为什么被折叠?



