| 设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计 | |||||
|
|||||
|
|||||
|
|||||
目录引言 1实现流程 22.1设计原理 2sk_buff 2Netfilter 6ptype_base 72.2设计方案 8发送子模块 8接收子模块 10统计子模块 112.3软件实现 11初始化 12发送子模块 13接收子模块 14统计子模块 14注销 15测试方法与结果分析 153.1测试环境 153.2测试方法 163.3测试流程与结果分析 17结束语 24引言如今,TCP/IP 协议栈已经普遍运行在了大多数的计算机设备之上。然而由于科研、生产 的特殊需求,在 TCP/IP 协议栈的基础之上添加定制特定功能的协议栈的需求也日渐流行。在 Linux 系统中,TCP/IP 协议栈位于内核空间中[1]。因此若要在协议栈中添加新协议必须 对内核进行修改。然而, 由于 Linux 内核是一种宏内核, 不同协议功能之间相互耦合,内核 的可扩展性较差。为了克服上述缺点,Linux 引入了内核模块机制,其全称为动态可加载内 核模块(Loadable Kernel Module,LKM)[2]。通过动态加载或卸载外部模块, 开发者可以轻松地 在内核中添加或删除特定功能。 因此编写外部协议功能模块是在 Linux 系统上开发新协议的 有效手段之一。本文的主要工作为实现了一个虚拟网络设备接口(Virtual Network Device Interface,VNI)模 块。其主要功能为在 IP 实体与 MAC 实体之间添加了一个 VNI 实体。发送方在 IP 包前封装一 个 VNI 头部, 并用 MAC 帧 (802.3 帧) 承载发送, 帧格式如图 1-1,其中 VNI 头部的 seq 字 段从零开始递增。接收方去掉 VNI 头部上交给 IP 模块。







毕业66资料站 biye66.com ©2015-2026 版权所有 | 微信:15573586651 QQ:3903700237
本站毕业设计和毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!