实验室计算机IP地址自动设置程序
—--服务器端的设计与实现
摘 要
IP地址的分配和管理是实验室管理员比较重视的一个问题,而大部分管理员都采用的是DHCP技术来实现,虽然DHCP技术可以为用户接入网络提供方便,但还存在一些弊端,例如:IP地址具有随机性,用户的IP地址是随机分配的,具有不确定性等等。本系统的主要功能就是实现对实验室计算机IP地址的静态分配,从而解决DHCP技术的一些缺陷。主要实现方法为:对有请求的客户端的网卡地址和分配给其的IP地址进行记录,通过网卡地址来标识某一具体主机,当其再有请求到达时,分配给其已经记录的IP地址,以实现分配给客户端固定IP地址的功能。若要手工实现对客户端IP地址的静态分配,可直接在数据库中根据网卡地址修改对应的IP地址即可。IP地址的设置由客户端实现。程序的开发工具为VC++6.0,连接数据库方式为ADO方式,为了优化系统性能和使客户端的请求不阻塞,采用了多线程技术。http://www.16sheji8.cn/
关键词:ADO;多线程;网络广播;网络编程
the Automatic IP Address Configuration Software for Lab
—— the Design and Implementation of the Server-side program
Abstract
More and more laboratory managers care about the IP address allocation and management problem. Most administrators are using DHCP to resolve it. Although DHCP technology can provide users convenient access to network, but there are some drawbacks, such as the random IP address. This causes the user's IP address is distributed randomly, with uncertainty. The main function of the system is to achieve the static IP address allocation of the laboratory computers. It remedies the DHCP technology’s drawbacks. The system uses some network technology. It records the MAC address and the allocated IP address of the client who send the request packet to server by LAN. Through identifying a host by the specific MAC address, when the same request arrived, the same IP addresses shall be allocated again, which achieves the function that the client shall be allocated to the fixed IP addresses. If users need to manually allocate the IP address, they can modify the IP addresses that correspond to MAC address. IP addresses are set by the client system. Program development tools is Visual C + + 6.0, access the database with ADO, to optimize system performance. To avoid the block of client requests, multithread technology is used.http://www.16sheji8.cn/
Key words: ADO; multithread; Network Broadcast; Network Programming
目 录
论文总页数:20页
1 引言 1
1.1 课题背景 1
1.2 主要采用技术 1
1.2.1 ADO 1
1.2.2 多线程 1
1.2.1 网络广播 2
1.3 系统开发环境 2
1.3.1 系统软件环境 2
1.3.2 工具简介 2
2 系统概述 3
3 系统模块设计与实现 4
3.1 总体设计 4
3.1.1 系统结构设计 4
3.1.2 通信协议 6http://www.16sheji8.cn/
3.1.3 数据库设计 6
3.2 编码实现 6
3.2.1配置模块 6
3.2.2接收请求模块 9
3.2.3处理请求模块 11
3.2.4发送应答模块 14
4 软件测试 16
结 论 18
参考文献 18
致 谢 19
声 明 20
1 引言
1.1 课题背景
目前,对学校的实验室来说,IP地址的分配和管理是管理员比较重视的一个问题。而大部分管理员都采用的是DHCP技术来实现,DHCP技术是通过网络内一台服务器提供相应的网络配置服务来实现的,可以为网络终端设备提供临时的IP地址、默认网关、DNS服务器等网络配置。虽然DHCP技术可以为用户接入网络提供方便,但还存在一些弊端,例如: IP地址具有随机性,用户的IP地址是随机分配的,具有不确定性; 访问权限会发生变化,如果用户的访问权限是基于IP地址划分的,则访问权限随IP地址不同而变化;不可被访问,通过DHCP获得的IP地址具有不确定性,用户被访问难度较大。 本系统对访问服务器的客户端网卡地址和分配其的IP地址进行记录,通过网卡地址来标识网内某一具体主机,并分配其固定的IP地址,从而弥补以上的一些不足之处。IP地址的设置由客户端实现。
1.2 主要采用技术
1.2.1 ADO
ADO(ActiveX Data Objects, ActiveX数据对象)是Microsoft为强大的数据访问接口 OLE DB(对象链接和嵌入数据库) 而设计的,是一个便于使用的应用层的编程接口。使用ADO编写的应用程序可以通过 OLE DB 提供者访问和操作数据库服务器中的数据。ADO不仅可以访问关系型数据库,还可以访问非关系型数据库。同时由于OLE DB是基于COM接口的技术,使用这种技术可以直接对数据库的驱动程序进行访问,从而大大提供了访问速度。ADO最主要的优点是易于使用、速度快、内存支出少和磁盘冗余小。ADO 在关键的应用方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。http://www.16sheji8.cn/
1.2.2 多线程
多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。
多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”。如果系统只有一个CPU,那么真正的“同时”是不可能的,但是由于CPU的速度非常快,用户感觉不到其中的区别,因此我们也不用关心它,只需要设想各个线程是同时执行即可。http://www.16sheji8.cn/
多线程和传统的单线程在程序设计上最大的区别在于,由于各个线程的控制流彼此独立,使得各个线程之间的代码是乱序执行的。