网站大量收购独家精品文档,联系QQ:2885784924

IP协议栈概要设计_数据链路层.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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 功能概要

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档