基于eBPF设计实现一个增强型网络文件系统
eBPF提供了对Linux内核的增强能力,可以在不改变内核代码的情况下实现对内核功能的扩展,并可以方便的对扩展功能进行卸载而无需重启。网络文件系统(NFS)在服务器端对请求的网络包进行处理后给出对应的相应。结合二者能力可以在内核态就对NFS的部分访问进行处理,而无需到达用户态,从而提高NFS的整体效率。另外结合eBPF的检测能力可以设计实现一个更具安全性的NFS。
2024全国大学生操作系统比赛的“OS功能设计”赛道
- 以小组为单位参赛,最多三人一个小组,且小组成员是来自同一所高校的本科生或硕士研究生(2024年春季学期或之后本科毕业的大一至大四的学生以及硕士毕业的研一至研三学生)
- 如学生参加了多个项目,参赛学生选择一个自己参加的项目参与评奖
- 请遵循“2024全国大学生操作系统比赛”的章程和技术方案要求
新型模块化组件(如eBPF的功能增强)
中等
- 在内核态将对服务端文件的请求进行处理,当无法处理时再发送到用户态处理
- 前述功能需利用eBPF提供的能力来实现
- 完成基本的网络文件系统的功能
- 利用eBPF提供的能力对该网络文件系统的行为进行安全性定义和划分
- 利用eBPF对其中的行为进行统计和分析,达到监测NFS行为安全性的功能,从而增强NFS的安全性。
- 兼容OpenEuler,将相关功能模块推送至OpenEuler社区
- eBPF:① EBPF 介绍 ② Linux eBPF解析
- NFS:NFS介绍与使用
任意开源license都可
特征中的要求为必备能力,进阶特性为建议内容,不要求一定完成。选择本项目的同学也可提出自己的新想法,得到导师认可支持后亦可加入预期目标或进阶特性。