- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IP协议栈概要设计_数据链路层
项目名称:IP协议栈
项目编号: team003 第 0.1.0 版
文档编号:IP002003 第 1册/共 1 册
数据链路层模块概要设计
team3小组
总页数 10 正文 7 附录 0 生效日期 2013-3-26 编制 梁伟
修 改 履 历
修改编号 日期 修改人 版本号 修改位置 修改内容 1 2013-03-25 梁伟 VER0.1.0 首次撰写
目 录
1 文档概述 4
1.1 文档目的和范围 4
1.2 参考文档 4
2 模块结构 4
2.1 网络接口模块 4
2.1.1 模块间关系 4
2.1.2 时序流程 5
3 数据结构说明 7
3.1 全局数据结构说明 7
4 函数 7
4.1 网络接口模块 7
4.1.1 模块间接口函数 7
4.1.1.1 NI_Init 8
4.1.1.2 NI_Send 8
4.1.1.3 NI_Recv 9
4.1.2 模块内部接口函数 9
4.1.2.1 NI_Encapsulate 9
4.1.2.2 NI_Decapsulate 10
文档概述
文档目的和范围
数据链路层模块为IP和ARP模块提供发送和接收接口,本文档为项目管理者提供参考,为开发人员详细设计提供依据。
参考文档
表 1-1
序号 文档名 作者 时间 版本 1 TCP/IP协议栈需求分析矩阵 第三组全员 2013-03-22 0.1.0 2 TCP/IP协议项目文档 东软项目资料 2013-03-24 0.1.0 3 TCP/IP卷三 未知 2013-03-24 0.1.0 4 百度百科 百度 2013-03-24 0.1.0
模块结构
网络接口模块
模块间关系
图 1-1
表 1-2
模块名称 模块类型 概要说明 NI_Init 接口函数 初始化数据链路层接口 NI_Send 接口函数 向上层模块发送数据报 NI_Recv 接口函数 接收来自下层的数据报 NI_Encapsulate 内部函数 对上层数据报进行帧封装 NI_Decapsulate 内部函数 对接收到得数据报进行帧解封
时序流程
图 1-2
注:黄色为我负责的“NetworkInterface模块”,即数据链路层模块。
1、在任务初始化时,NetworkInterface模块(即数据链路层模块)的NI_Init()函数会被调用,在此函数执行中会调用网络驱动模块的get_mac()函数来获取Mac地址。
2、在IP模块发送数据时,会调用本模块的NI_Send()函数,这个函数主要包括获取ARP地址以及调用enc_send()。
3、ARP模块的数据发送过程与IP类似。
4、当数据到达是,中断会被触发,中断子程序中会调用数据链路层模块中的NI_Recv(),之后在此函数中会对帧进行过滤,包括解封和按类型调用ARP和IP的Recv函数。
数据结构说明
全局数据结构说明
宏定义表
表 1-3
说明 宏名 值 函数调用成功返回值 SUCC 0x01 函数调用失败返回值 ERR 0x00 数据报类型是IP TYPE_IP 0x0800 数据报类型是ARP TYPE_ARP 0x0806
结构体定义
表 1-4
变量含义 变量定义原型 说明 源Mac地址 INT8U Dest_Address[6] 记录网卡的源mac地址 目的Mac地址 INT8U Scr_Address[6] 记录网卡的目的mac地址 接收缓冲区 INT8U Recv_Buf[2000] 存放接收的数据的接收缓冲区 发送缓冲区 INT8U Send_Buf[2000] 存放发送的数据的发送缓冲区 数据报类型 INT8U TYPE 存放发送的数据的报文类型
函数
网络接口模块
模块间接口函数
NI_Init
函数名 NI_Init() 文件名 NetworkInterface.c 功能概要 对网络接口模块进行初始化 记述形式 INT8U NI_Init() 参数 类型 变量名 I/O 说明 void - - - 返回值 类型 INT8U 说明 值 SUCC 函数调用成功 ERR 函数调用失败 详细说明 首先调用网络驱动模块的初始化函数,然后初始化网络接口模块的全局变量。 使用注意事项 无 NI_Send
函数名 NI_Send 文件名 NetworkInterface.c 功能概要
您可能关注的文档
- 小學英语对话教学策略.doc
- 1-14章(刘扬).doc
- 08-12年二级建造师水利水电实务真题.doc
- 07年试卷机械.doc
- 1-LED灯发展及市场情况调研.doc
- 小學英语教学模式的探讨.doc
- 100T车道计算.doc
- 1010世界精神卫生日宣传活动策划书.doc
- 小學英语评课稿_.doc
- 小學英语探究式课堂教学策略研究方案.doc
- 基本面选股组合月报:大模型AI选股组合本年超额收益达6.60.pdf
- 可转债打新系列:安集转债,高端半导体材料供应商.pdf
- 可转债打新系列:伟测转债,国内头部第三方IC测试企业.pdf
- 联想集团PC换机周期下的价值重估.pdf
- 计算机行业跟踪:关税升级,国产突围.pdf
- 科技类指数基金专题研究报告:详解AI产业链指数及基金布局.pdf
- 计算机行业研究:AIAgent产品持续发布,关税对板块业绩影响较小.pdf
- 民士达深度报告:国内芳纶纸龙头,把握变局期崛起机遇.pdf
- 社会服务行业动态:全球首张民用无人驾驶载人航空器运营合格证落地,霸王茶姬冲击美股IPO.pdf
- 通信行业研究:特朗普关税令落地,长期看好国产算力链.pdf
文档评论(0)