DHCP概要设计.docx

上传人:b****2 文档编号:12659750 上传时间:2023-04-21 格式:DOCX 页数:11 大小:29.51KB
下载 相关 举报
DHCP概要设计.docx_第1页
第1页 / 共11页
DHCP概要设计.docx_第2页
第2页 / 共11页
DHCP概要设计.docx_第3页
第3页 / 共11页
DHCP概要设计.docx_第4页
第4页 / 共11页
DHCP概要设计.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

DHCP概要设计.docx

《DHCP概要设计.docx》由会员分享,可在线阅读,更多相关《DHCP概要设计.docx(11页珍藏版)》请在冰豆网上搜索。

DHCP概要设计.docx

DHCP概要设计

项目名称:

TCP/IP协议栈

项目编号:

文档编号:

EBD881101PDR003

 

DHCP模块概要设计

 

沈阳东软软件股份有限公司

总页数

正文

附录

生效日期

编制

郑洁

批准

修改履历

修改编号

日期

修改人

版本号

修改内容

1

2011.06.30

郑洁

VER0.1.0

初始做成

2

3

目录

1文档概述4

1.1文档目的和范围4

1.2术语/缩略语4

1.3参考文档4

2模块概述4

2.1模块功能定义4

2.2模块结构5

2.3模块动作时序6

3接口说明6

3.1数据结构定义6

3.2函数7

3.2.1模块间接口函数7

3.2.2模块内接口函数12

1文档概述

1.1文档目的和范围

主要实现动态获得IP地址的功能

1.2术语/缩略语

序号

术语/缩略语

说明

1

DHCP

动态主机配置协议

2

UDP

用户数据包协议

1.3参考文档

列出所参考的式样或者文档等

序号

文档名

作者

时间

版本

1

需求跟踪矩阵

王琦

2011-6-28

V0.1

2模块概述

模块主要功能是从DHCP服务器动态获得IP地址,从而为使用TCP/IP协议进行数据传输奠定前提。

2.1模块功能定义

序号

功能点

功能点详细内容

1

形成discover报文

按照DHCP协议的规定产生结构体类型的discover报文

2

形成request报文

按照DHCP协议的规定产生结构体类型的request报文

3

发送discover报文

调用UDP提供的函数发送discover报文给服务器

4

发送request报文

调用UDP提供的函数发送request报文给服务器

5

解析报文

根据报文类型,解析报文并进行相应的处理

6

数组转换成结构体

将接收到的数组类型的报文转换成结构体类型的数据

7

结构体转换成数组

将要发送的结构体类型的报文转换成数组类型

8

数组转换成数组

将从服务器接收到的数组转换成长度为定长的数组

2.2模块结构

以本模块为中心,画出模块间结构及模块内结构图。

对于模块内细分的小模块也最好列表说明各小模块的功能。

函数名称

函数类型

概要说明

getDynamicIP

接口

获得动态IP地址

parseMessage

接口

接收服务器的响应报文并进行处理

form_dhcp_data

内部模块

根据传递的参数产生一个discover报文或request报文

sendData

内部模块

根据传递的参数发送一个discover报文或request报文

struct_to_array

内部模块

把报文从结构体类型转换成数组类型

array_to_struct

内部模块

把报文从数组类型转换成结构体类型

array_to_array

内部模块

把从服务器发送过来的消息转换成定长的数组

2.3模块动作时序

主要描述模块间动作时序图,可以直接在VISIO文件中记述(如果直接在VISIO中记述,这里说明「参考XXXXXX.vsd」)。

3接口说明

3.1数据结构定义

#defineSUCC1函数返回值:

成功

#defineERR0函数返回值:

失败

#defineMESSAGE_LENGTH300dhcp报文长度

#defineALL_MESSAGE_NUM4收发报文的数量

#defineDHCP_DISCOVER0dhcpDiscover发送报文

#defineDHCP_OFFER1dhcpOffer接收报文

#defineDHCP_REQUEST2dhcpRequest发送报文

#defineDHCP_ACK3dhcpAck接收报文

DHCPMessageDHCP协议结构体

DHCPFlagInfoDHCP协议信息标志

3.2函数

给出模块所有对外接口的函数声明及说明。

函数说明的方式可以参见下面的形式。

3.2.1模块间接口函数

3.2.1.1getDynamicIP

函数名

getDynamicIP

文件名

../DHCP

功能概要

获得动态IP地址

记述形式

INT8UgetDynamicIP()

参数

类型

变量名

I/O

说明

void

-

-

-

返回值

类型

INT8U

说明

SUCC

成功获得IP地址

ERR

失败

详细说明

获得IP地址,供主模块初始化时调用

使用注意事项

主模块初始化时首先调用的函数

3.2.1.2parseMessage

函数名

parseMessage

文件名

../DHCP

功能概要

解析从服务器得到的响应报文

记述形式

INT8UparseMessage(INT8U*p,INT16Ulen)

参数

类型

变量名

I/O

说明

INT8U*

p

I

指向服务器响应报文的头部

INT16U

Len

I

解析的报文长度

返回值

类型

INT8U

说明

SUCC

成功解析数据

ERR

解析数据失败

详细说明

供UDP调用,处理从服务器传来的响应报文信息

使用注意事项

UDP收到DHCP报文后调用

3.2.2模块内接口函数

3.2.2.1DHCP_init

函数名

DHCP_init

文件名

../DHCP

功能概要

初始化一个报文

记述形式

voidDHCP_init(DHCPMessage*message)

参数

类型

变量名

I/O

说明

DHCPMessage*

Message

I/O

指向一个报文的首地址

返回值

类型

Void

说明

详细说明

根据DHCP协议对报文格式的规定,初始化一个报文,存放在message所指的结构体内

使用注意事项

3.2.2.2form_dhcp_data

函数名

form_dhcp_data

文件名

../DHCP

功能概要

根据传递的参数形成一个discover报文或request报文

记述形式

voidform_dhcp_data(DHCPMessage*message,INT8Uop)

参数

类型

变量名

I/O

说明

DHCPMessage*

Message

I/O

指向一个报文的首地址

INT8U

Op

I

将要形成的报文的类型

返回值

类型

Void

说明

详细说明

根据传递的op参数,产生一个报文存放在message所指的结构体内

使用注意事项

3.2.2.3sendData

函数名

sendData

文件名

.../DHCP

功能概要

发送一个请求报文给服务器

记述形式

voidsendData(INT8Uop)

参数

类型

变量名

I/O

说明

INT8U

Op

I

发送报文的类型

返回值

类型

Void

说明

详细说明

根据传递的参数op,发送一个discover或request报文给DHCP服务器

使用注意事项

只能指定两种请求报文的类型

3.2.2.4struct_to_array

函数名

struct_to_array

文件名

.../DHCP

功能概要

把报文从结构体类型转换成数组类型

记述形式

voidstruct_to_array(INT8U*pt,DHCPMessage*message,INT16Ulen)

参数

类型

变量名

I/O

说明

INT8U*

Pt

I/O

指向数组首地址

DHCPMessage

Message

I

指向报文结构体

INT16U

Len

I

转换报文的长度

返回值

类型

Void

说明

详细说明

将结构体类型的报文转换成数组类型,以便于调用UDP提供的函数进行发送

使用注意事项

3.2.2.5array_to_struct

函数名

array_to_struct

文件名

.../DHCP

功能概要

将报文从数组类型转换为结构体类型

记述形式

voidarray_to_struct(INT8U*pt,DHCPMessage*message,INT16Ulen)

参数

类型

变量名

I/O

说明

INT8U*

Pt

I

指向报文数组的首地址

DHCPMessage*

Message

I/O

指向存储报文的结构体

INT16U

Len

I

转换报文的长度

返回值

类型

Void

说明

详细说明

将接收到的报文从数组类型转换为结构体类型

使用注意事项

3.2.2.6array_to_array

函数名

array_to_array

文件名

.../DHCP

功能概要

将接收到的数组报文转换成定长的数组

记述形式

voidarray_to_array(INT8U*srcArray,INT16UlenSrc,INT8U*desArray,INT16UlenDes)

参数

类型

变量名

I/O

说明

INT8U*

srcArray

I

源数组首地址

INT16U

lenSrc

I

源数组长度

INT8U*

desArray

I/O

目标数组首地址

INT16U

LenDes

I

目标数组长度

返回值

类型

Void

说明

详细说明

将接收到的报文从数组类型转换为定长的数组类型,作为继续向结构体类型转换的过渡环节

使用注意事项

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1