雄鹰岭现在是谁在指挥网通哪个指挥最NNN个B

IP地址管理系统的设计与实现
软件工程硕士论文:IP地址管理系统的设计与实现
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
第一章绪论
通信和互联网技术的飞速发展,大大促进了互联网网络建设的规模和速度,
互联网拥有的网络资源种类越来越多,网络资源数量也越来越多,需要的IP地
址数量也越来越多,不同时期和经常的网络调整变动更增加了口地址管理的复
杂性。另外,目前口地址资源已经消耗过半,亚太Ⅲ地址管理机构APNIC对
地址申请的审查越来越严格,申请新的D地址已经越来越困难了,同时由于网
络安全的要求和垃圾邮件的增加,对方便的地址查询提出了要求,因此我们提出
了建立口地址管理系统的要求。
本人曾负责河北省通信公司的m地址管理工作,主要职责是:
1.根据省内网络规划和用户需求向集团公司提出相应口地址申请,并负
责在规划设计、可行性研究、工程实施等各个环节中对省内CHINANET
网D地址进行规划、分配及管理工作:
2.负责落实中国网通集团公司制定的邛地址管理政策:
3.负责将全公司所需的Ⅲ地址申请上报集团公司审核批准;
4.负责省内用户所需口地址的分配工作,注册分配给用户的邛地址;
5.负责省内用户从其它口地址分配机构所获得的口地址的管理工作;
6.负责省内用户口地址的档案管理工作,~般掌握到每一c段应用:
7.负责省内口地址使用情况的收集和上报工作。
由于本人负责口地址管理工作,在实际工作中感觉很需要一个口地址管理
系统,我曾经用Visual
foxpro编写了一个单机版的m地址管理程序,但在使用
中感觉存在~些问题,如由于是单机版只能个人使用,不便于资源共享,在资料
的录入时,只能一个人去负责,工作量大,还容易出问题。在查询地址时,不便
于他人查询等问题。
基于以上问题,我们需要一个基于Web的D地址管理系统,通过选择,决
定使用基于PHP+MySQL的方式实现此功能,经过本人的学习,完成了程序的
编写和调试工作,此系统目前已在我省推广使用。
本论文主要分为五个章节,第一章是绪论部分,介绍项目的背景和来历;
论文的主要工作等。第二章为诤地址概述,在本部分主要介绍TCP/IP的基本概
念、口地址在互联网中的作用和重要性、P地址的分类、以及该如何合理使用
口地址等问题;并简单介绍目前河北省口地址的分配和使用情况。第三章为
PHP&MySQLWeb编程基础,简要介绍了PHP、MySQL的基础知识和如何利用
PHP实现CGI编程。第四章为Ⅲ。地址管理系统总体设计。在此部分,具体介绍
建设口地址管理系统的目的,总体需求、系统要求提供的功能,以及系统的总
体设计等。第五章为口地址管理系统的实现。根据前一章的总体设计,介绍具
体功能的实现、相关的测试过程、界面结果等。
第二章I P地址概述
0SI和TCP/IP分层网络模型
现在的各种网络协议都可以顺利地进行互操作,这是因为引入了分层协议
模型。最初的开放系统互连(Open
SystemInterconnection:OSI)模型(图2一1)
的创建是为了分离网络的各种功能。在这个模型中,不同开发商的软件模块只要
符合已公布的标准,就可以共存,并正常运行。【5】
TCP/IP模型&&&&&&&&&&&&&&&&&&&&&&&&&
TCP&&&&&&&&&&&&&&&&&&&&&&&
IP&&&&&&&&&&&&&&&&&&&&&&&&&&&&
数据链路层&&&&&&&&&&&&&&&&&&&&&&&&&&
数据链路层
物理层&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
图2-1TCⅣ中和OSl分层网络模型
TCP/IP协议(Transfer Control
Protocol/Interact Protoc01)口q做传输控制/网际
协议,又叫网络通讯协议,这个协议是Interact国际互联网络的基础。
TCP/IP是网络中使用的基本的通信协议。虽然从名字上看TCP[IP包括两个
协议,传输控制协议(TCP)和网际协议(口),但TCP/IP实际上是一组协议,它包
括上百个各种功能的协议,如:远程登录、文件传输和电子邮件等,而TCP协
议和口协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP是
Interact协议族,而不单单是TCP和口。
网络设计者在解决网络体系结构时经常使用osI(开放系统互连)-L层模型,
该模型每一层代表一定层次的网络功能。最下面是物理层,提供机械、电气、功
能和过程特性。如规定使用电缆和接头的类型,传送信号的电压等。在这一层,
数据还没有被组织,仅作为原始的位流或电气电压处理。其上是数据链路层,实
现数据的无差错传送。它接收物理层的原始数据位流以组成帧(位组),并在网络
设备之间传输。帧含有源站点和目的站点的物理地址。最上层是应用层,这里运
行着使用网络服务的应用程序。
TCP/口模型是同ISO/OSI模型等价的。当一个数据单元从网络应用程序下
流到网络接口卡,它通过了~列的TCP/IP模块。这其中的每一步,数据单元都
会同网络另一端对等TCPfIP模块所需的信息一起打成包。这样当数据最终传到
网卡时,它成了一个标准的以太网帧(假设物理网络是以太网)。而接收端的
TCP/IP软件通过剥去以太网帧并将数据向上传输,通过TCP/IP栈来为处于接收
状态的应用程序重新恢复原始数据。
通过TCP/IP协议栈可以将许多小网联成一个大网。并在这个大网也就是
htemet上提供应用程序所需要的相互通信的服务。各网络包括主机间的寻址是
通过P地址实现的。
lP地址基础
2.2& 1什么是MAC地址
介质访问控制(MediaAccess
Control,MAC)地址对于每一台网络设备是
唯一的,该地址定义了计算机之间的网络连接。MAC地址的用途是用于对网络
中的每一台网络设备进行定位,该地址烧到网络接口卡(NetworkInterfaceCard,
NIC)上的硬件电路中,因此有时又称为烧录地址(Burne拙Address,BIA)。
MAC地址是由12个十六进制数(O—F)共48位表示,其中每个十六进
制数代表4位二进制数。MAC地址中的前24位用于标识网络接口卡的制造商,
又称制造商代码。MAC地址中的后24位用于标识每一个不同的网络接口卡(该
24位又称为序列号),假设路由器c的EO网络接口卡的MAC地址为
oo.oo.0c.03.d£60,则该地址中的制造商代码为oo.oo.0c,网络接口卡的序列号则
是03.df.60。
正如其名称所示,MAC地址控制了对网络介质的访问,例如,网络设备要
访问传输电缆,则必须具备一个MAC地址,发送的网络帧要到达目的地,则它
必须知道目的地的MAC地址。举个日常生活中容易理解的例子,MAC地址就
像是邮政编码,如果没有邮政编码,显然是无法收到别人发给我们的邮件。
各位都设置为二进制1(十六进制表示为:正氲fr.ff.ff.ff)的MAC地址
定义了所有连接到网络电缆上的计算机设备。这一地址又称为广播地址。仍然使
用前面的例子来比喻,广播地址就像是标识有“房屋居住者”的邮件,发送者并
没有具体标明接收者的名称,但是接受者总能收到邮件。
如果所有的计算机设备都连在同一根网络电缆上,则可以直接使用MAC地
址来寻址目标计算机上的网络接1:3卡。这好比如果所有人都住在同一条街上,则
寻找某人时无须使用多余的街区号,只需使用门牌号即可。
那么,发送设备发送的帧如何才能到达没有连在同一网络电缆上的接收设
备昵?换句话说,如果不是所有的人都住在同一条街上,则在寻找某些人时就不
能只使用门牌号,而必须加上用于标识街道的街区号,在计算机网络中,类似于
加入的街区号的部分称之为网络地址。
2.2.2什么是网络地址
有时,网络地址被称为逻辑地址,因为网络管理员可以根据自己的一些逻
辑考虑来分配网络地址。
网络地址实质上是一种分级结构,这是因为它定义了网络主机所连接的电
缆,就像是邮件上的地址定义了收信方所居住的街区。正由于这一原因,网络地
址经常分为两部分:网络号和主机号。
不同的网络设备制造商具有各自不同对网络地址的使用描述方式,例如以
下这些例子:
Novell(IPX)DAD..df60
Vines&&&&&&&&&&
Apple&&&&&&&&&&&&&&&&&&&
DECnet&&&&&&&&&&&&&&&&&&
以上的每一个例子中的网络地址都分为了两部分,例如IPX主机位于网络
电缆DAD,其主机号为.df60。
上面的例子未包含IP地址,这是因为IP地址不属于某一家单独的制造商,
它属于公共标准,也是目前在因特网上使用的网络地址,属于最通用、最流行的
寻址方式。
2.2.3什么是IP地址
所谓IP地址就是给每个连接在Internet上的主机分配一个在全世界范围
唯一的32bit地址。IP地址的结构使我们可以在Internet上很方便地寻址。
IP地址由InterNlC(Internet网络信息中心)统一负责全球地址的规划、管理;同时由Inter
NIC、APNIC、RIPE三大网络信息中心具体负责美国及
其它地区的IP地址分配。通常每个国家需成立一个组织,统一向有关国际组织
申请IP地址,然后再分配给客户。
目前在网络中运行的婵地址有Dv4和Ipv6两个版本。现在的信息网络一
互联网建立在IPv4的基础上,经历了这些年的风风雨雨,IPv4取得了巨大的成
功,然而由于先天的设计上的不足,已经不能以适应未来信息网络大地址空间,
高安全性,多业务流,简单易用的需求。互联网的管理者很早就意识到了上述问
题,并提出了很多措施弥补Pv4的不足,(比如CIDR(无类域间路由),VLSM(变
长子网掩码),NAT(网络地址转换),私有地址,路由聚合,IPsec,移动口等)
从一定程度上提高了口v4地址的利用率,路由效率,可用性,安全性,暂时缓
解了Pv4面临的闷题。不过,从长远看,由于口v4固有的地址空间不足,广播
特性,地址头部过于复杂等症结。为了从根本上解决IPv4面临的问题,
IETF(Intemet工程任务组)从上世纪90年代初开始着手设计口v6,经过多次修订,
于1998年形成比较成熟的方案(RFC2460)。IPv6在设计上汲取了IPv4的优点,
充分考虑了现代信息网络的需求,加入了很多新的元素,同时从协议层面上解决
了IPv4的不足,完全满足了新一代信息网络的需求。
IPv4和邛v6的比较如表2.1.
表2—1&& IPv4和IPv6的比较
比较项&&&&&&&&&&&&&&&&&
洲&&&&&&&&&&&&&&&&&&&&&&&&
地址空间&&&&&&&&&&&&&&
2^32,约42亿&&&&&&&&&&&
2—128,数量非常庞大
地址头部复杂度&&&&&&&&&&&
复杂,20个固定字段&&&&&&&&&&
简单,7.12个字段,可选扩展字段
安全性&&&&&&&&&&&&&&&
无,可选&&&&&&&&&&&&&&&&&
内置安全性
移动IP&&&&&&&&&&&&&&
无,可选&&&&&&&&&&&&&&&&&
表示方式&&&&&&&&&&&&&&
点分lO进制&&&&&&&&&&&&&&&
点分16进制
自动配置&&&&&&&&&&&&&
有限支持&&&&&&&&&&&&&&&&&
广播,多播,任意播&&&&&&&&&
支持,支持,不支持&&&&&&&&&&&&
不支持,支持,支持
从表2一l中可以看出,IPv6相对口v4最重要的改进在于提供了巨大的地址
空间,为未来各种以信息网络为载体的多种设备,服务的接入的发展提供了广阔
的空间;IPV6简化的地址头部可以有效提高路由效率,节省网络带宽;可选的
扩展字段为新功能的扩展提供了灵活性;内置的安全性,移动口,简单灵活的
自动配置特性为构建安全可靠易用的网络环境提供了有力的保障。
P地址的主要作用就是要屏蔽异构的物理网络和物理地址,对网络中所有
的设备提供统一的标识。
目前,IPv6的应用主要以试验性质为主,我们省还没有进行应用,所以本
文所说的口地址在没有特别说明的地方均指ltrv4。
2.2.4& IP地址格式
在I:PV4中,口地址由四个八位域(叫作octets)组成。Octets被点号分开
代表在0到255范围内的十进制数字。用二进制格式时共有32位组成,为了方
便记忆,用点号每八位一分割,称为点分十迸制。
131.107.1.1&& 193.1.1.200
二进制格式:101100
从理论上计算全部32位都用上可以允许有232超过四十亿的地址!这几乎
可以为地球三分之二的人提供~个地址。但事实上,随着Intemet的发展,可用
的P地址已经快要用完了。
在将来的IPV6中,口地址由十六个八位域组成,共128位二进制形式的口
地址组成,还是用点号每八位一分割,在现在看来是足够了,但不知道还会有什
么意想不到的事情令疋地址又不够用了。
1.二进制转换为十进制
★&&&&&
◆&&&&&
◆&&&&&
★&&&&&
◆&&&&&
★&&&&
◆&&&&&
例:101100
2.2.5网络和主机标识
因为TCP/IP网络是为大规模的互连网络设计的,所以我们不能用全部的32
位来表示网络上主机的地址。如果这样做了,我们将得到一个拥有数以亿计网络
设备的巨大网络,这个网络不需要包括路由设备和子网。这完全失去了包交换互
联网的优点。
所以,需要使用P地址的一部分来标识网络,剩下的部分标识其中的网络
设备。Ⅲ地址中用来标识设备所在网络的部分叫做网络D,标识网络设备的部
分叫做主机D。这些D包含在同一个口地址之中。
如:193:l:l:2Q旦&&&&&&&&&&&&
13l:lQ2.2』&&&&&&&&
网络m主机D&&&&&&&&&&&&&&
网络Ⅲ主机ID&&&&&&&&&&&
网络ID主机ID
2.2.6地址的分类
IP地址按种类分共有5类,在实际使用中只关心其中的3类:A类、B类和c类IP
地址。IP地址种类是按照IP地址中第一个八位位组的前三位的值来判断的,例如
IP地址102.1
16.96.103是一个A类地址,因为它的第一个八位位组的前一位是0。
A类、B类和C类IP地址的具体分类标准如下:
前一位如果是0则为A类地址;
前两位如果是lo贝,J为B类地址;
前三位如果是1lO则为c类地址。
对应以上每一类地址,都有一个缺省的网络掩码(mask)。
提示对应于c类地址的缺省网络掩码为:255.O.0.O
对应于B类地址的缺省网络掩码为:255.255.0.o
对应于A类地址的缺省网络掩码为:255.255.255。0
1.A类地址
最大的地址组是A类地址组。可通过32位地址中的唯一的一位,即最高位来识
别A类网络地址。
Onnnnnnnllllllllllllllllllllllll
A类地址的前8位代表网络号,剩余的24位可由管理网络地址的管理用户来修
改,这24位地址代表在“本地”主机上的地址。在上面的地址表示中,多个1"1代
表地址中的网络号位:多个l代表本地可管理的地址部分。像上面所看到的那样,
A类网络地址的最高位总是0。
由于A类地址的第一位总为O,所以A类地址的网络号从l开始,N127结束。由
于本地可管理的空间是由24位组成的,所以在A类地址中,本地地址的数量为2“
或个。每个得到A类地址的网络管理员都能够给l千6百多万台主机分配
地址。但要记住,由于A类地址只有127个,所以只能有127个大网络。
2.B类地址
下一组地址是B类地址。B类地址也是用32位地址中的唯一的位模式来识别。
10nnnnnnnnnnnnnnllllllllllllllll
B类地址的前16位代表网络号,剩余的16位可由管理网络地址的用户来修改。
i塞_16位地址代表在“本地”主机上的地址。B类网络地址是由最高两位10来标识
由于B类地址的前两位为lO,所以B类地址的网络号是从128开始,至1j191结束。
在B类地址中,第2个点分十进制也是网络号的一部分。每个B类地址网络在本地
所管理的16位地址空间大小为2“或65536。可管理的B类网络个数为16384个。
&& 3.C类地址
下一组地址是c类地址。C类地址也是由32位地址中的唯一的位模式来识别。
110nnnnnnnnnnnnnnnnnnnnnllllllll
c类地址的前24位代表网络号,剩余的8位可由管理网络地址的用户来修改。
这8位地址代表在“本地”主机上的地址。B类网络地址是由最高三位110来标识
由于C类地址的前三位为1lO,所以C类地址的网络号是从192开始,至tJ223结束。
在C类地址中,第2个和第3个点分十进制数也是网络号的一部分。每个C类地址网
络在本地所管理的8位地址空间大小为28(或256)。可以管理的C类网络个数为
表2-2列出了三类地址的一些特性。
表2-2 A、B、C类地址的一些特性
类别&&&&&&&&&&&&&
网络位数&&&&&&&&&&&
主机位数&&&&&&&&&&&
网络总数&&&&&&&&&&
A&&&&&&&&&&&&&&
8&&&&&&&&&&&&&&
24&&&&&&&&&&&&&
127&&&&&&&&&&&&
B&&&&&&&&&&&&&&
16&&&&&&&&&&&&&
16&&&&&&&&&&&&&
16384&&&&&&&&&
C&&&&&&&&&&&&&&
24&&&&&&&&&&&&&
8&&&&&&&&&&&&&&
2097152&&&&&&&
2.2.7网络掩码的作用
前面我们介绍了对应邮政服务地址和电话号码,都有相应地区分地址的各
个部分的方法,而在口地址中,为区分网络部分和主机部分的标识,不是通过
使用分隔行或者是破折号的方式,而是使用一种叫做掩码的方式来进行。
掩码同样是由32位二进制数组成,它的作用在于区分Ⅲ地址中的网络部
分地址和主机部分地址,我们需要掩码知道m地址中标识网络部分的地址结束
位和标识主机部分的地址起始位。而掩码指定邛地址中用于标识网络部分的位
数,剩余的位数则是用于标识主机部分。
在口地址中由掩码所指定的地址位(指的是标识网络的部分)是不能变的,
换句话说,例如在一个C类地址中,前24位(即前三个八位位组)是不能改变
的,而第四个八位位组的位则可以随意处理。这些位还可以用来划分子网。【41
2.3河北省通信公司IP地址的规划
2.3.1&& lP地址规划原则
为方便管理,中国网通对IP地址按用途分为网络部分liP地址和用户部分IP
地址两种。
2.3 1.1网络部分口地址
网络部分m地址是指各种网络设备组成网络、提供信息服务及保证正常运
行所需的地址。网络设备包括:网络节点设备、管理设备、接入设备及应
用服务器等。网络部分对口地址需求如下:
1.网络设备互联所需口地址,包括各节点之间路由器、ATM交换机、
LOOKBACK端口等所需口地址:
2.网络管理所需邛地址,如网络管理中心的各种设备所需口地址:
3.业务管理设备所需口地址,包括用于业务计费、结算、统计、用户认
证的服务器;
4.用户以专线方式入网时,网络侧及用户侧路由器所需的Ⅲ地址:
5.与x.25互联的端口(用于非专线方式入网)所需m地址:
6.各网络节点处各种应用服务器所需口地址,包括域名服务器、邮件服
务器、wwW服务器等所需的邛地址;
7.接入设备所需的坤地址,包括宽带接入设备和窄带接入设备。主要指
宽带和宽窄带拨号服务器的拨号端口(DP00L)所需的口地址;
8.为用户代维的各种网络设备所需的口地址:
9.其它网络技术及设备所需的口地址。
2.3.1.2用户部分m地址
非CHINANET网络设备占用的P地址都为用户口地址。m电话占用
的口地址应做为ISP用户口地址对待。公司内用于其他与网络运行、维护、
在线信息服务等非直接相关的用途,如信息资源开发、办公自动化、业务
演示、客户培训等的网络应做为用户对待。
2.3.1.2河北省通信公司Ⅲ地址分配使用原则
l、各市分公司在为网络部分及用户规划Ⅲ地址时,应打破传统A类、
B类、C类P地址的划分,充分利用无类别域问路由(Classless
Inter-Domain
Routing,CIDR)技术及可变长子网掩码(Variable Length
Subnet Mask)等
技术,合理、高效地使用D地址,不应使用C类地址作为规划的最小单位。
2、省内在接入网络建设、扩容工程中规划网络部分邛地址时,应根
据网络节点的规模、建设周期、业务发展预测等因素综合考虑,在满足网
络近期发展的前提下,尽可能地节约使用。新建节点初期规划的网络部分
碑地址利用率应在50%以上。
3、省内在规划网络部分皿地址时,为保障网络及信息安全,还应考
虑为有不同安全性要求的网络设备划分不同的子网。
4、为提高口地址利用效率,在规划用户m地址时,应遵循如下原则:
(1)用户口地址在全公司范围内统筹规划,统一分配使用,不应简
单地切块分配到各节点;
(2)申请新的用户Ⅲ地址时,按满足全公司半年到一年内业务发展
需要来考虑。
5、用户P地址的分配原则
(1)对接INTERNET用户所需P地址,数据通信主管部门应本着既
满足用户需求又不造成浪费的原则进行分配。
(2)根据国际D地址分配机构要求,中国网通为用户分配32个C类
地址以上地址时必须征得其同意,因此各地数据通信主管部门的用户口地
址分配权限不得超过32个C类地址。如用户需要32个C类地址以上地址
时,各市分公司必须将用户申请材料上报省公司,由省公司报请集团公司。
(3)对专线用户所需邛地址的分配应根据以下原则:
●应根据用户网络的子网数、主机数及网络发展情况进行分配,地
址数量按用户口地址的利用率初期至少达到50%,一年内达到80
%以上的原则确定。
●用户网络必须支持CIDR技术及VI_SM。用户不能以网络不支持
CIDR技术及VLSM为由而要求更多的口地址,也不能以管理上的
方便为由要求更多的口地址。
●用户网络主机数少于127的,一般应采用子网地址方式进行分
配,根据用户网络实际的主机数量确定子网掩码。子网划分方法应
严格按照RFCl878建议的要求。
(4)对拨号PPP方式入网的用户,只能通过动态口方式入网,不允
许为用户分配静态口地址。
&2.3.2河北省通信公司jP地址的使用情况
.1、河北省通信公司P地址概述
截至到2003年河北省通信公司共有10个B类(包括不完全B和全B)的
公有D地址,其中有不完全B类(64个C)3个,完全B类7个,共有公有P
地址1984个C。己分配下1368个C的地址,还未分配616个C的地址。各B
类地址分配情况参见表2-3。
表2—3河北省通信公司D地址段使用情况汇总
地址段&&&&&&&&
申请下日期&&&&&&
地址小计(c)&&&&&&&&
已分配地址数(c)&&&&&&&&
未分配地址数(c)
202.99.128.0/18
2000年以前&&&&&&&&&&
64&&&&&&&&&&&&&
64&&&&&&&&&&&&&&&&
61.159.0.0/18&
l&&&&&&&&&
64&&&&&&&&&&&&&
64&&&&&&&&&&&&&&&&
61.182.o.o/16&
256&&&&&&&&&&&&&
194&&&&&&&&&&&&&&&
61.134.128.0/18
2000以前&&&&&&&&&&&
64&&&&&&&&&&&&&
64&&&&&&&&&&&&&&&&
218 11.0.0/16&
256&&&&&&&&&&&&&
244&&&&&&&&&&&&&&&
218 12.0.0/16&
256&&&&&&&&&&&&&
196&&&&&&&&&&&&&&&
61.55.o.o/16&
256&&&&&&&&&&&&&
196&&&&&&&&&&&&&&&
221.192.0.0/16
256&&&&&&&&&&&&&
196&&&&&&&&&&&&&&&
221.193.0.0/16
256&&&&&&&&&&&&&
150&&&&&&&&&&&&&&&
221.194.0Q}16 2003
7.9&&&&&&&&&&
256&&&&&&&&&&&&&
O&&&&&&&&&&&&&&&&
合计&&&&&&&&&&&&&&&&&&&&&&&&&
1984&&&&&&&&&&&&
1368&&&&&&&&&&&&&&
2、IP地址使用情况
河北省通信公司10个B的公有地址,其中202.99.128.0/18、61.159.0.0/18、
61.134.128.0/18的地址已经分配完,这些地址是我省申请较早的地址,主要用于
窄带拨号、专线用户及网络互联等业务。剩余的地址主要用于XDSL、城域网和
窄带拨号等业务。
第三章PHP&MySQL Web编程基础
3.1& CGI概述
3.1.1使用CGI的原因
随着全球万维网(W0rld&
wide&&&&&&&&&&&&&
web,即WWW)的兴起,网络从单纯的
文字世界进入了影、音、图片、动画和文字相结合的新纪元。这种发展的同时也
引进了新的读取信息的方法,有别于传统的按照顺序进行阅读的方法,即
HyperText(HyperMedia)。让人们能够直接从感兴趣的主题切入,并且在这些主
题之间相互跳越、链接,取得所想要的数据。也因此带动了网络用户的激增,产
生了无限的商机。
但是,这种方式却缺少了商业应用的一个重要特性,即互动性。而CGI的
出现正是为了实现这种互操作性。CGI功能的加入使www环境不仅可以提供
单向的信息浏览,更可以实现双向的信息交流。CGI的发展推进了www网络
的发展,而后者反过来又进一步地推进了CGI的发展。
在现在的网络中,CGI的应用非常广泛,它可以和其它系统相互结合,从
而增强WWW服务器的功能。例如CGI程序与数据库管理系统(DBMS)相结
合使用,便是一种最常见、而且在功能上最有扩充潜力的方式。使用各种数据库,
可以使www服务器提供或者记录多样化的信息数据。
另外,还可以利用CGI制作身份验证系统,将机密数据使用密码进行保护。
这不但避免了系统过于开放,同时也为管理网络访问者提供了方便。更进一步的
说,可以利用CGI程序记录访问者的访问数据,进行计费或者是在网络上开展
电子商务等。
从上面的介绍可以看出,要想创建动态的、能够与网络访问者进行信息交
互的网络应用,使用CGI将是必不可少的一环。
3.1.2什么是CGl
CGI是Common Gateway
Interface的缩写形式,它的意思是“通用网关接
ISl”,其主要的功能是在www环境下,根据客户端传递给www服务器的数据信息由www服务器启动指定的程序来完成特定的工作。所以,更加明确的
说,CGl仅是在www服务器上可以执行的程序代码,它们的工作就是对网络
访问者提供的信息进行处理,并把结果返回或者不返回访问者,完成服务器和访
问者之间的信息交互。
使用CGI程序,wwW服务器可以读取和显示在客户端无法读取的本地信
息,如MySQL数据库的数据、系统时间、本地文件等,并且像网关(Gateway)
一样,在服务器端和客户端之间,产生客户端所需要的信息。
图3—1是CGI程序在网络应用中的位置示意。
图3-1&& CGI程序在网络应用中的位置
从图3—1所示的示意图中可以看出,CGI程序的作用是在网络访问者提交数
据信息的基础上,在www服务器和本地资源之间建立联系,对访问者提供的
信息进行处理,得到处理结果,在可能的情况下返回给访问者,从而完成访问者
和服务器及本地资源的信息交互,更好地为访问者提供服务。
www网络应用采用客户朋臣务器结构(Client/Server),在这种结构中,其
IPC(InterProcess
Communication,进程间通信)的协定是利用数据传递和环境
变量的方式来完成的。CGI有其特定的写法和规则,必须遵守这些原则,才可能
实现客户,服务器动态地进行信息交流的目的。
CGI有这么强大的功能,那么它需要使用什么语言来实现呢?前面我们已
经知道,CGl只是在www服务器上可以执行的程序代码,所以,只要WWw
服务器和www服务器所在的操作系统能够执行的程序设计语言都可以用在
CGI的设计中。下面是几种常用的CGI编程语言:
&& Bshell脚本语言
Cshell脚本语言
Visual Basic Script
Java& Script
Apple&& Script
在这些语言中,用c/c++编写的CGI程序执行速度最快,因为这些程序本
身已经是编译好的可执行代码,所以执行和处理的效率最高。但是因为C/c++
编写的代码必须经过编译之后才能使用,在增加程序的功能和修改程序的时候就
带来很多不便,必须对程序的源代码进行改写,然后用编译器重新编译之后才能
使用,这个过程比较复杂。而后面的Perl、Bshell、Cshell等都是解释性脚本语
言,使用这些语言编写的程序在执行的时候需要进行解释,因而在执行速度上可
能稍微慢一些,但是由于这些程序编写完成就可以使用,因此在代码更新和功能
改进方面要方便得多。因此,在选择使用的CGI编程语言方面要有所考虑。
在这些解释性脚本语言中,PHP语言的优点在于结合了CGI编程语言的优
点,而又在很大程度上避免了它们的缺点。PHP语言的解释器是和www服务
器(Apache)编译在一起的,PHP解释器在使用的时候是作为Apache服务器的
一个模块执行的,所以在执行效率上比上述解释性语言要高一些。另外,PI-IP
本身又是一种脚本语言,用它写的程序仍然是一种脚本程序,所以对这些程序进
行修改和升级在操作上又很方便,这也是PI-IP之所以成为当今流行的CGI编程
语言的最主要原因。【11
3.2& PHP基础
3.2.1什么是PHP
PHP是一种服务器端HTM%嵌入式脚本描述语言,全称是Professional
Preprocessor。服务器脚本技术分嵌入式与非嵌入式两种,PI-IP是嵌入
式的。它是一种功能非常强大的面向Intemet/Intranet的编程语言,可以开发动态
的Web应用程序,可在多种系统平台和多种Web服务器中使用,是真正的跨平
台、跨服务的开发语言。DI
3.2.2& PHP的特性
PHP与ASP一样,是一种内嵌于HTML中的服务器端脚本编程语言,它的
语法借鉴了C、Java及PerI语言,使得有上述语言基础的程序员可以轻松过渡过
来。PHI'相对于ASP来讲,除了前面谈到的支持Linux以外,最重要的特点是
效率最高,整个P髓4.0采用dc十+编写压缩后不到1.9M,尤其对于MySQL
等数据库的存取非常直接简练,没有额外的开销,简直就如同一只手直接伸入数
据库中抓取东西一样,这~点与ASP完全不一样,ASP必须通过中间层ADO或
者ODBC才能对数据库中的信息进行存取,效率当然要打折扣。当然PHP不仅
支持Linux,还支持各种版本的Windows,甚至可以在Windows95上构造PI-IP
的运行环境。所以在Windows平台上利用各种桌面工具开发的程序几乎不用改
写直接就可以在Linux上运行。PI-[P语言主要具有以下特征:
(1)免费、轻巧快速,真正跨平台。
(2)PHP是一种遵守GNU条约的软件。根据此条约,所有用户都可以免
费使用PHP并可以得到它的源代码,还可以在源代码上进行修改和完善,并开
发适合自己使用的新的版本,当然这个新形成的版本同样是遵守GNU的,它就
意味着全世界成千上万的程序员都在不断地完善和加强PHP的功能,这也是PHP
能够迅速发展的根本原因。
(3)PI-[P易学易用。因为PHI'3.0以上版本是用C实现的,而且它自身的
语法风格同c极其相似,有许多的语句、函数,PI-/P与c是完全相同的,而C
语言的普及性是不容置疑的,因此PI-IP对于程序员而言非常容易上手。
(4)PHP还有一个非常重要的特点,那就是PI-IP具有十分强大的数据库
操作功能,可直接连接多种数据库,并完全支持ODBC,这一特点是其他脚本语
言所不能比拟的。可支持的数据库,包括常用的Oracle,mSQL,dBase,syoasc,
/nformix,MySQL等等,p/-/P的使用者都认为在开发数据库的网站时,使用PHP
与MySQL是最佳组合。
(5)PHI&语言可以嵌入HTML中。
当使用者使用经典程序设计语言(如C或Pascal)编程时,所有的代码必
须编译成一个可执行的文件,然后该可执行文件在运行时,为远程的Web浏览
器产生可显示的HTML标记。但另一方面,PHP并不需要编译(至少不编译成
可执行文件)。使用者可以把自己的代码混合到HTML中。例如,下面的代码将
显示“Hello,world!”,&&&&&&&&
PHP代码在下面以黑体字显示。
&TITLE&11estt;,rITLE&
·&,HEAD&
&?PHP$string=’world!’:?&
&HI&Hello,&?PHPECHO$string?&&,H1&
PHP应用程序服务器是紧密集成到ApacheWeb服务器中的,可以在一个程
序内同时调用它们两个。当w曲浏览器请求研口Web页面的时候,Web服务器
的PHP部分将被调用进行解释。Web服务器在请求的Web页中寻找&?PHP…’&
标记,并按要求执行这些PHP代码。
由PI-IP解释后生成的代码将去掉&?PHP…?&标记。例如,当PHI'代码运
行后,以前的Web页面将变成如下所示的内容:
&TITLE&Test&/TITLE&
&『田[EAD&
&H1&Hello,world!吲H1&
—(,HTM吐&
注意,所有的PHI)代码都消失了,仅仅留下了HTML语句。而由PHP代
码生成的HTML语句在上例中以黑体的形式显示。
PHP4.0是更有效,更可靠的动态Web页开发工具,在大多数情况运行比
PHi3.0快,其脚本描述功能更强大并且更复杂,最显著的特征是速率比的增加。
PHP4.0这些优异的性能是PHP脚本引擎重新设计产生的结果:引擎由Andi
Gutmans和Zeev
Suraski从底层全面重写。PHP4.0脚本引擎(Zend引擎)使用
了~种更有效的“编译一执行”模型,而不是PHP3.0采用的“执行.当解析时”
PHP与其他CGI的比较
写CGI的方式有很多种,PHI)只是其中的一种选择,表3.1对它们的特点
进行了比较。
表3-1 PHP与其他CGI的比较
PHP&&&&&&&&
ASP&&&&&&&&&
CGI&&&&&&&&&
NSAPI&&&&&&&&
操作系统&&&&&&&&&&
均可&&&&&&&&
ⅥHn32&&&&&&&
均可&&&&&&&&&&
均可&&&&&&&&&&&
Web服务器&&&&&&&&
数种&&&&&&&&
ⅡS&&&&&&&&&&
均可&&&&&&&&&&
NetscapeServer ⅡS
执行效率&&&&&&&&&&
快&&&&&&&&&
快&&&&&&&&&&&
慢&&&&&&&&&&&
极快&&&&&&&&&&&
稳定性&&&&&&&&&&&
佳&&&&&&&&&
中等&&&&&&&&&&
最高&&&&&&&&&&
差&&&&&&&&&&&&
开发时间&&&&&&&&&&
短&&&&&&&&&
短&&&&&&&&&&&&
中等&&&&&&&&&
长&&&&&&&&&&&&
修改时间&&&&&&&&&&
短&&&&&&&&&
短&&&&&&&&&&&
中等&&&&&&&&&&
长&&&&&&&&&&&&
程序语言&&&&&&&&&&
PHP&&&&&&&
VB&&&&&&&&&&
不限&&&&&&&&&&
C/C++&&&&&&&&
网页结合&&&&&&&&&
佳&&&&&&&&&
佳&&&&&&&&&&&
差&&&&&&&&&&&
差&&&&&&&&&&&&
低&&&&&&&&&&&
一&&&&&&&&&&&
极高&&&&&&&&&&&&
&学习门槛&&&&&&&&&
低&&&&&&&&&&&&&&&&&&&&&&
函数支持&&&&&&&&&
多&&&&&&&&&
少&&&&&&&&&&&
不定&&&&&&&&&&&
中等&&&&&&&&&&
系统安全&&&&&&&&&
佳&&&&&&&&&
极差&&&&&&&&&&
最佳&&&&&&&&&&
佳&&&&&&&&&&&&&
使用网站&&&&&&&&&
超多&&&&&&&&&
多&&&&&&&&&&&
多&&&&&&&&&&
极少&&&&&&&&&&&&
改版速度&&&&&&&&&
快&&&&&&&&&
慢&&&&&&&&&&&
无&&&&&&&&&&&
慢&&&&&&&&&&&&&
其中,PHP可用在数种Web服务器上;传统CGI不限是哪种操作系统或
Web服务器平台;ISAPI一定要在Netscape的服务器(如NetscapeEnterpriseServer
或FastTrackServer)上才可以执行,但可支持多种操作系统(UNIX或win32):
ASP及ISAPl只在IIS上有完整的功能。
在稳定性上,由于NSAPI或ISAPI是动态链接的方式,因此在执行过程中
若出现问题,会使得Web服务器一起瘫痪。而ASP在实际应用经验上,每隔一
段时间就会使系统不稳定,需要重新启动操作系统。PI-IP在许多网站上使用,不
但长期使用都没有问题,而且程序的稳定性也不错。
在开发及维护时间上,PHP及ASP都表现不错。要比较和网页结合的能
力,PHP和ASP是并驾齐驱的,其他的方式就不能内嵌HTML语法了,而这也
是影响开发时间的因素之一。
就系统安全性而言,&&&&&&&&&&&
ASP是最差的,在没有经过微软的llSServicePaek处
理时,使用::$DATA就可以看到ASP的源代码,这真是叫人不敢领教。当然,
传统CGI程序,由于是由操作系统直接管理,要破解的难度最高,黑客必须由
操作系统下手,而不能由Web服务器下手。PHP在许多商业及非商业使用时,
也没有听说过有什么安全的问题。
在新增功能及改版方面,PHP是最有活力的,数天至数周就有一个新版本
出现,每次的新版,就代表更多的功能及修正更多的错误。
3.2.4& PHP的工作机制
为了更好地理解PHP是怎样工作的,首先让我们来看一下Web网站是怎样
进行工作的。
(1)用户在浏览器的地址栏中填上要访问的主页地址,按回车键触发浏览
网页的申请。
(2)浏览器将申请发送至储如Apache、]IS或者PWS等Web服务器上。
(3)Web服务器接收到这些申请,并根据.1am[或.html后缀名识别到这是
HTML文件。
(4)Web服务器从当前硬盘或内存中读取正确的HTML文件,然后将它
送回用户例览器。
(5)用户浏览器解释HTML文件,并将解释结果显示在用户浏览器上。
当然,这种浏览访问的过程可能会更加复杂一些,例如,FORM中的内容
以及查询字串的传递等等。在大多数情况下,对于各种典型的Web服务器来说,
这个过程是按部就班执行的,Web服务器接收浏览文件申请并从内存或者硬盘中
读取正确的文件,然后发送往用户浏览器。
PHP改变了这一切,在Web服务器仍然支持静态HTML主页的前提下,利
用PI-IP语言,可以根据用户的要求在Web服务器上动态地建立新的主页。
为了便于理解PHP页面和静态HTML页面的区别,我们将浏览的整个过程
分成以下步骤:
(1)用户在浏览器的地址栏中填入PHP页面文件名称(文件名称以.php
为后缀),按回车键触发这个请求。
(2)浏览器将这个PHP页面请求发送给Web服务器。
(3)Web服务器接收到这个请求,并根据其文件名称后缀识别倒这是个
(4)Web服务器从硬盘或者内存中取出正确的PHP文件。
(5)Web服务器将这个文件发送到PHP解释模块中进行解释。
(6)PHP解释模块对该文件从头至尾进行解释,并根据PHP语句的命令
要求,产生相应的静态HTML文件。
(7)Web服务器将这个HTML页面发送给客户浏览器。
(8)用户浏览器解释HTML文件,并将解释结果显示在用户浏览器上。
& 以上步骤已经进行了很大的简化,一个PI-IP文件浏览请求并不一定每一次
都需要重新解释,如果再次接收以前的那个请求而且没有任何变化,Web服务器
将会从Cache(缓存)中提出结果而不是再次运行解释模块。
对于Web服务器来说,PHP文件和HTML静态网页有着本质的区别,HTML
是不经任何处理送回给浏览器,而PHP文件中的每一个语句都需要进行解释,
由解释模块来生成HTML文件,因此,PHI'是动态生成浏览内容的。
另一方面,对于浏览器来说,PHP和HTML几乎是没有区别的,仅仅是后
缀为.php和.htm的区别而己,当在客户端提出PI-/P的申请后,浏览器接受的仍
然是HTML格式的文件。因此PHP文件适用于任何类型的浏览器。
图3—2说明了Web服务器是怎样利用PI--IP进行工作的:
图3-2& PHP工作原理示意图
从图3.2中我们可以看到,PHI:'解释模块(即CGI)根据PHP嵌入式脚本
程序语句的命令要求,调用相关的函数,访问相应的数据库,网络或者其他资源,
进行处理并最终产生相应的HTML文件返回给Web服务器,Web服务器将发送
这个HTML文件给网络客户,客户浏览器将对它进行解释并显示。‘”
3.3& MySOL基础
3.3.1什么是MySOL
MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查
询语言)是世界上最流行的和标准化的数据库语言。MySQL是以客户机,服务器
结构实现的,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。
SQL是一种标准化的语言,它使存储、更新和读取信息更容易。如果可以
用SQL语言为一个网站检索产品信息及存储顾客信息,那么,用MySQL也能
足够快和灵活地存储记录文件和图像。
3.3.2 MySOL的特点
MySOL是一个新型的数据库,它引入了许多全新的概念,拥有许多的重要
·使用核心线程的完全多线程。这意味着它能很容易地利用多CPU来获得
更好的性能。
·C、c++、Eiffel、Java,、Perl、PHP4、Python和TCLAPI都符合MysQL
·有非常好的可移植性,能运行在不同的平台上,包括Unix平台和Windows
·提供多种类型:1、2、3、4和8字节长度的有符号/无符号整数、&&&&&&&&&&&&&&&&&&&
DIOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATET蹦E、
TIMESTAMP、YEAR、SET和ENUM类型。
·利用一个优化的一边描多重连接(one·sweep
multi-join)技术非常快地
进行连接操作(join)。
·在查询的SELECT和WHERE部分支持全部运算符和函数,例如:mysql
&SELECT& CONCAT(first_name,’’”,last
name)FROM& tbl_name& WHERE
income/dependents&1000AND age&30:
·通过一个高度优化的类库实现SQL函数库,并且它们执行得非常快速,
通常在查询初始化后没有任何的内存分配。
·全面支持SQL的GROUP BY和ORDER
BY子旬,支持聚合类函数:
C01UNT()、COUNT(DISTINCT)、AVG(&&&&&&&&
)、SUM(&&&&
()和M玳()。
·支持ANSISQL的LEFTOUTERJION和ODBC语法。
·可以在同一查询中混用来自不同数据库的表。
·有一个非常灵活并且安全的权限和口令系统,并且它允许基于主机的认
证。口令是安全的,因为当与一个服务器连接时,所有的口令部被加密传送。
·提供ODBC
Windows& 95,包括所有的ODBC2.5函数和其他许多
函数。例如,可以用Access连接MysQL服务器。
·具备索引压缩功能的快速B树磁盘表。每个表允许有16个索引。每个索
引可以由l~16个列或列的一部分组成。最大索引长度时256个字节(在编译
MySQL是可以改变这个值)。一个索引阿以使用一个CHAR或VARCHAR子段
·支持定长和变长记录。
·用作临时表的内存散列表。
·大数据库处理。如对某些包含50,000,000个记录的数据库使用MySQL。
·所有列都有缺省值,可以用INSERT插入一个表列的子集,那些没有明
确给定值的列设置为它们的缺省值。
·为了可移植性使用GNUAutomake、Autoconf和1ibt001。
·用c和c++编写,并用大量的编译器测试。
·有一个非常快速的基于线程的内存分配系统。
·没有内存漏洞。MySQL用一个商用的内存漏洞监测程序测试过(purify)。
·包括myisamchk,一个检查、优化和修复数据库表的快速实用工具。
·全面支持ISO.8859—1&
Latinl字符集。
·所有数据以ISO.8859.1&
Latinl格式保存。所有正常的字符串比较是忽
略大小写的,根据ISO.8859.I&&&&&&&&&&&&
Latinl字符集进行排序(目前瑞典语的方式)。
通过在源代码中增加排序顺序可以改变它。MySQL支持可以在编译时指定的很
多不同的字符集。
·表和列的别名符合SQL92标准。
·DELETE、矾SERT、REPLACE和UPDATE返回多少被改变(或受影响)
·函数名不会和表名或列名冲突。对函数调用的唯一限制是函数名与随后
的左括号之间不能有空格。
·所有的MySQL程序可以用选项-help或-?获得帮助。
·服务器能为用户提供多种语言的错误提示。
·客户端使用TCP/IP连接或UNIX套接字(socket)或NT下的命名管道
连接MySQL服务器。
·MySQL提供特有的SHOW命令来检索数据库、表和索引的信息,
EXPLAIN命令可用来确定优化器如何解决一个查询。
3.3.3& PHP的数据库功能
PHP是一个建立动态网站的强大工具,而它最大的优点就是能够轻松处理
多种数据库。PHP具有强大的数据库支持能力,PHP提供对lO余种常见数据库
的支持,如Oracle、d.Base、Informix,SQL
Server、Sysbase、MySQL等。正是
由于广泛的数据库支持,才拓展了PHP的应用范围,使得各种数据库应用都可
以利用PI-IP进行开发。PHP对各种数据库的访问方法进行封装,针对不同数据
库系统的函数也很相似,增加了使用的方便性。
在各种数据库中,MySQL由于其免费。跨平台、使用方便、访问效率较高,
获得了很大的应用。很多中小型网站都使用PHP+MysQL这~最佳搭档。
MySQL是一个小型SQL数据库服务器,可运行在多种平台上,包括Windows
NT和Linux,MySQL被认为是建立数据库驱动的动态网站的最佳产品。mlP、
MySQL和Apache是Linux平台网站的最佳拍档。
因此,本论文的m地址管理系统就采用PHP+MySQL相结合的方式来实现。
第四章IP地址管理系统总体设计
4.1.1& fP地址管理的需求
随着通信和互联网技术的飞速发展,大大促进了互联网网络建设的规模和速
度,互联网拥有的网络资源种类越来越多,霭络资源数量也越来越多,需要的
IP地址数量也越来越多,不同时期和经常的网络调整变动更增加了m地址管理
上的复杂性。另外目前D地址资源已经消耗过半,亚太口地址管理机构APNIC
对地址申请的审查越来越严格,申请新的口地址已经越来越困难了,同时由于
网络安全的要求和垃圾邮件的增加,对方便的地址查询提出了要求,因此我们提
出了建立口地址管理系统的要求。
2& IP地址资源维护管理上的问题
目前我省口地址管理采用人工管理模式,经常出现下面的情况:
(1)IP地址资源一般处于手工处理状态,如Ip地址的分配情况,IP地址的使
用情况,管理较困难,日常工作量大且成效不大,手工管理那么多D地
址资源,而且这些信息处于经常变动之中,需要反复地修改和打印;
(2)一般的互联网IP地址资源都是依靠入的头脑来记忆,由于网络的经常性
调整和变动,使得最初的IP地址工程资料没有参考价值;
(3)IP地址资源的利用率低,由于传统方式掌握的IP地址不准确,造成1P
地址的利用率低。
(4)IP地址资源管理混乱,有的管理职责不清,尤其是闲置的互联网资源,
没有人能够全盘了解,依靠某些人管某些设备,人员调动和离开导致一些
IP地址资源没有人了解:
(5)IP地址资源不能实现共享,网络资源的手工管理,大都散布在某些人手
里和某些部门,不能实现口地址网络资源共享,地市级的地址管理员不
了解全省的地址分配情况,在使用过程中可能会出现地址使用冲突事情的
(6)向APNIC申请地址前工作量大。由于向APNIC提出地址申请,需要提交
本地使用IP地址的详细报告,包括地址使用情况,专线地址使用情况等。
(7)IP地址统计数量不准确、工作量大,每次上面要数据,下面的人就要忙
很长时间,而且报上来的数据还不准,给下一步工作带来许多困难。
(8)地址查询不方便。由于传统的地址管理采用手工或文件方式管理,&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
于查找,不利于配合安全机构地址的查询。
4.1.3& lP地址管理系统
针对目前IP地址管理中存在的问题,提出了建立IP地址管理系统的需求。
邛地址管理系统采用分级管理体系,分为省级管理级和地市分公司管理级,省
级管理员维护全省的地址分配情况,向API',,IIC进行地址注册的工作:地市分公
司管理员负责本地口地址的使用。口地址管理系统提供采用较强的安全机制,
保证收入数据的合理性和正确性。提供综合查询功能,让管理员很方便的了解地
址分配和使用情况。
IP地址管理系统作为河北通信网络资源管理系统的一个子系统,配合使用电
信网络资源管理系统中的其它应用等,可以真正建立一套面向互联网网的维护业
务管理综合办公平台。
4.2系统建设目标
IP地址管理系统是一个主要面向运行维护部门的业务生产管理系统,涉及
到省、地市、两个层次的口地址管理人员,同时该系统还涉及到市场、规划建
设、客户等多个部门,因此提出该系统的建设目标如下:
/实现口地址资源管理的计算机化;
/建立基于WEB形式的动态管理,实现信息共享:
/为全省P地址管理人员提供一个统一的管理和操作平台
/保证输入数据的有效性和准确性:
/方便的综合查询和统计功能;
/具有较高的安全控制措施、具有多级权限控制;
/便于AdPNIC数据注册、管理和地址申请:
/系统的稳定性和安全性;
&&&&&&&&&&&&
4.3系统体系结构
m地址管理系统主要包括地址分配情况管理、地址使用情况管理和专线地
址使用情况等。地址分配情况管理主要是指省级地址管理员把从APNIC申请下
的地址分配给地市分公司使用;地址使用情况是指地市级管理员对从省级管理员
分配的地址的实际使用情况;专线地址使用情况是指地市级用于专线的地址使用
情况,对专线地址使用情况及时注册和管理有利用地址的申请。
本系统功能结构如图4—1所示:&&
图4.1数据网网络资源管理系统的功能结构示意图
(1)IP地址管理系统主要功能划分
一IP地址分配情况管理
完成IP地址分配情况的增删改,包括地址分配情况添加、地址分配情况块添
加、地址分配情况查询修改、删除和统计等功能。
■IP地址使用情况管理
完成IP地址使用情况的增删改,包括地址使用情况添加、地址使用情况查询
修改、删除和统计等功能。
■专线情况管理
完成专线使用IP地址情况的增删改,包括专线地址使用情况添加、专线地址
&使用情况查询修改、删除和统计等功能。
一地址查询管理
完成IP地址的查询,包括在分配库、使用库和专线库中的情况。
一系统维护管理
是使用本系统的一些基础信息的管理,包括节点管理、用途管理、申请下IP
管理和用户管理。这些信息是使用本系统前需要完成的一些工作。
■访问日志管理
为了便于管理使用情况,特建立此模块。
(2)IP地址管理系统的用户分类
坤地址管理系统将面向下列用户:
·省级管理员:除负责用户开户、申请下地址、使用用途和节点等基础工
作外,还有权整个系统的使用,在实际中主要完成地址分配情况的管理
和对地市上报专线地址使用情况到APNIC注册等工作;
· 地市级管理员:完成本地地址使用情况管理和专线使用情况管理;
本系统功能模块如图4.2所示:
申请下地址管理
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
段分配情况添加
地址分配段情况管理
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
查询修改删除
省级管理员&&&&&
&&&&&&&&&&&&&
&&&&&&&&&&&&&
址&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
使用情况添加
&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&
管&&&&&&&&&&&&
地址使用情况管理
&&&&&&&&&&&&&
理&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
使用情况删除
&&&&&&&&&&&&&
统&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
专线情况添加
专线使用情况管理
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
专线情况删除
一地市级管理员&&&&&&&&&&&&&&&&&&
地址查询管理
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
在专线情况查询
图4-2 IP地址管理系统功能模块
4.4开发系统的选择
由于口地址管理系统为多人使用,所以采用目前流行的WEB方式:
(1)客户端采用IE5.0以上的浏览器来访问Web服务器(HTTWHTML/XML);
(2)Web服务器将动态脚本提交给应用服务器(AsP或PHP等)来解释执行;
(3)应用服务器在执行动态脚本的过程中遇到数据库请求时,由应用服务器来
访问数据库,并将数据库检索结果返回给Web服务器;如果是地图处理
请求,则由应用服务器调用地图服务,由地图服务来操作地图文件。并将
结果返回到Web服务器,由Web服务器向客户返回HTML脚本并在浏览
器上显示出来。
基于WEB方式的特点:
● 客户端零配置,无须安装和配置客户端,用户操作方便减少使用培训;
所有软件都安装在服务器端,系统升级和版本更新非常方便、系统维护快捷;
● 企业的业务逻辑都放在服务器上,另外用户不直接连接数据库,提高了系统
的安全性;
● 应用逻辑供所有用户共享,如所有用户可以通过应用服务器来连接数据库,
不需要根据每个用户的进入和退出而连接和释放资源,实现了共享资源的利
● 可以更多地利用第三方组件,提高了系统的性能和开发效率:
● 脚本编程,分布式计算,跨平台支持;
客户端和应用服务器、应用服务器和数据库服务器之间的通信以及异构平台
之间的数据交换都可以通过中间件来实现,可以灵活地实现分布式应用系
基于系统要求,我们选择使用PHP和MySQL来实现基于WEB方式的11'地
址管理系统。我们选用优秀流行的PHP4.2.3来做解释性脚本语言,MySQL
4.0.4_beta.maX.nt作为数据库来实现我们的系统。
系统的体系结构如图4-3,脚本程序PI--IP和数据库MySQL安装在同一Web
服务器上,省级用户及地市级等用户做为客户端,我们完成的主要工作是编写
P邢程序,创建相关的MySQL数据库来实现IP地址的管理。
&&&&&&&&&&&&&&&&&&&&&&&&&
第五章IP地址管理系统的实现
5.1实现的总体考虑
通过分析,我们采用PHP+MySQL黄金组合来实现。用户通过统一的登录
界面进入系统,通过对用户权限的判断,进入不同的下一级界面。为了管理方便,
管理员需要对节点、用户、申请下地址和用途进行配置,只要做完这些工作,系
统就能正常运行。
为了保证地址数据的准确性和正确性,系统应采用判断。在地址使用流程中,
采用下面的次序进行判断:
5.2数据库的设计
在整个IP地址管理系统中,涉及到的数据库较多,而彼此间有有着各种关系。
下面是具体实现。
5.2.1基础信息
在基础信息中,描述的是完成此系统需要的基础数据情况。包括申请下地址、
用途、节点和用户。
鉴于上述说明,准备创建的表如下:
表5。1是节点表,此表用于存放使用P地址的节点名称,如石家庄、保定、
DC机房等。流水号是为了方便编程,便于对对应字段的操作。
表5.1节点表(id)
字段说明&&&&&&
缺省值&&&&&&&&
流水号&&&&&
否&&&&&&&&&&&&&
auto_increment
节点名称&&&&
char(161 否
表5—2是用户表,主要是用于存储使用此系统的用户信息,包括用户名,所
管理的节点、密码和用户权限等。 表5.2用户表(Yh)
字段&&&&&&
字段说明&&&&&&&&&&&
类型&&&&&&&&
缺省值&&&&&&&&&
流水号tinyint(4)&&&&&&&&&&&&&&&
否&&&&&&&&&&&&&&
auto_increment
用户名称&&&&&&&
varchar(10)&&&&&
节点名称&&&&&&&&
varchar(16)&&&&
权限&&&&&&&&&&
char(1)&&&&&&&&
密码&&&&&&&&&&
varchaffl0)&&&&
表5-3是用途表,主要用于存放口地址使用用途内容,如路由器互联、ADSL
专线、窄带拨号等用途。
表5-3用途表(Yt)
字段说明&&&&&&&&
类型&&&&&&&
缺省值&&&&&&&&&&&
流水号&&&&&&&
Unyint(4)&&
否&&&&&&&&&&&&&&&&
auto_increment
用途名称&&&&&&
varchar(30) 否
表5.4是申请下碑表,用于存放我省从APNIC申请下口地址的情况,主要
有地址编号、起始地址、终止地址、地址长度等信息。
表5-4申请下口(Shqxip)
字段&&&&&&&
字段说明&&&&&&&&&&&
类型&&&&&&&&&
缺省值&&&&&&
世&&&&&&&&
流水号tinyint(4)&&&&&&&&&&&&&&&
否&&&&&&&&&&&
auto_increment
地址编号&&&&&&&
char(3)&&&&&&&&&
起始地址&&&&&&&
vamhaKl5)&&&&&&&
终止地址&&&&&&&
varchar(15)&&&&&
地址长度&&&&&&&
int(4】&&&&&&&&&&
申请下日期Date&&&&&&&&&&&&&&&&&&&
备注&&&&&&&&&
varchar(40)&&&&&
5.2.2分配地址情况
表5.5是分配情况表,用于存储由省级管理员分配到各使用节点(部门)的
情况,主要有起始地址、终止地址、分配情况等,如是否分配、分配给的节点名
称、分配用途等。
表5—5分配情况表(f-pqk)
字段&&&&&&&
字段说明&&&&&&&&&&
类型&&&&&&&
缺省值&&&&&&&&
流水号&&&&&&&&&
int(11)&&&&&&
否&&&&&&&&&&&&&
auto_increment &
dzhbh&&&&&
地址编号&&&&&&&&&
qshdzh&&&&
起始地址&&&&&&&&&
varchar(1 5)
zhzhdzh&&&
终止地址&&&&&&&&&
varchar(1 5)
dzhchd&&&&
地址长度&&&&&&&&&
int(5)&&&&&&&&&&&&&&
shffp&&&&&
是否分配&&&&&&&&&
Fprq&&&&&&
分配日期&&&&&&&&&
Date&&&&&&&&&&&&&&&&&
jd&&&&&&&&
节点名称&&&&&&&&&
vapchar(16)&&&&&&&&&&
Fp”&&&&&&&
分配用途&&&&&&&&&
varchar(30)&&&&&&&&&&
Bzh&&&&&&&
备注&&&&&&&&&&&
vamhar(40)&&&&
否否否否否是是是是 ~ULL
5.2.3使用地址情况
表5—6是使用情况表,用于存储由节点管理员使用地址的情况,主要有起始
地址、终止地址、使用情况等,如是否使用、使用用途等。
表5.6使用情况表(shyqk)
&&&&&&&&&&&&&&&&&&&&&
字段&&&&&&&
字段说明&&&&&&&&&&&&
类型&&&&&&&&
缺省值&&&&&&&&&&
流水号&&&&&&&&&&&
int(11)&&&&&&&
否&&&&&&&&&&&&&&&
auto_increment
地址编号&&&&&&&&&
char{S)&&&&&&&&
qshdzh&&&&
起始地址&&&&&&&&
zhzhdzh&&&
终止地址&&&&&&&&
varchar(15)&&&&
dzhchd&&&&
地址长度&&&&&&&&&
int(5)&&&&&&&&
Shfshy&&&&
是否使用&&&&&&&&&
char(2)&&&&&&&
shyrq&&&&&
使用日期Date&&&&&&&&&&&&&&&&&&&&
id&&&&&&&&
节点名称&&&&&&&&&
varchar(16)&&&
shvyt&&&&&
使用用途&&&&&&&&&
varchar(30)&&&
Bzh&&&&&&&
备注&&&&&&&&&&&
varchar(40)&&&
5.2.4专线地址情况
表5.7是专线地址情况表,用于存储专线地址使用情况,主要有用户名称、
起始地址、终止地址、注册情况等,如是否到A2NIC注册、APNIC名称、APNIC
描述等。注册情况主要由省级管理员维护、其它信息由节点(地市级)管理员维
表5—7专线情况表(zhxqk)
字段&&&&&&&&&
字段说明&&&&&&&&&&&&
类型&&&&&&&&&
缺省值&&&&&&&&&&
id&&&&&&&&&
流水号&&&&&&&&&&&
int(11)&&&&&&&&
否&&&&&&&&&&&&&&&&
auto increment
Ja&&&&&&&&&
节点名称&&&&&&&&&
varchar(16)
zhxyhmch&&&
专线用户名称&&&&&&&&
varchar(40)
dzhbh&&&&&&
地址编号&&&&&&&&&&
qshdzh&&&&&
起始地址&&&&&&&&&&
varchar(15)
zhzhdzh&&&&
终止地址&&&&&&&&&&
varchar(15)
dzhchd&&&&&
地址长度&&&&&&&&&&
int(4)&&&&&&&&&&&&&&&&
Vm&&&&&&&&&
掩码&&&&&&&&&&&&
varchar(15)
shyrq&&&&&
使用日期&&&&&&&&&&
Date&&&&&&&&&&&&&&&&&&
shfzhc&&&&
是否注册&&&&&&&&&&
apmc&&&&&&
APNIC名称&&&&&&&
varchar(40)&&&&&&&&&&&
apnicmsh&&
APNIC描述&&&&&&&
varchar(100)&&&&&&&&&&
Ikra&&&&&&
录库日期&&&&&&&&&&
Date&&&&&&&&&&&&&&&&&&
bzh&&&&&&&
备注&&&&&&&&&&&&
varchar(40)&&&&
否否否否否否否是否是是否是 ~ULL
5.2.5访问情况
表5-8是访问情况表,用于存储使用本系统的情况,主要有登录用户名称、
节点名称及登录四地址及访问日期等。
表5-8访问情况表(fwqk)
字段&&&&&&&&&&&
字段说明&&&&&&&&&&&&&&
类型&&&&&&
缺省值&&&&&&&&&&
流水号&&&&&&&&&&&&&&&&&
int(111&&&&
否&&&&&&&&&&&&&&&&
auto increment
用户名称&&&&&&&&&&&&&&&&
varchar(101否
节点&&&&&&&&&&&&&&&&&&
vamhaKl61否
IP地址&&&&&&&&&&&&&&&&
varchaffl 5)否
日期时间&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&
datetime&&&&&&&&&&&&&&&&&&&&&&
datetime&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
00:00:00
访问日期date&&&&&&&&&&&&&&&&&&&&&&&&
&5.2.6数据库系统的实现
数据库的创建和管理可以采用命令行的方式,也可以采用phpMyAdmin管理
工具。为了方便MySQL数据库的使用,在系统实现时采用phpMyAdmin管理
MySQL数据库。
FhpMyAdmin是用PHP编写的一个MySQL数据库管理工具。使用这个工具,
可以非常直观的对MySQL数据库进行各种操作,显示MySQL运行的各种信息、
系统变量,甚至重新启动MySQL,同时还可以在phpMyAdmin中创建数据库、
创建表、修改表结构以及对表中记录进行查看、增加、修改和删除等操作。
PhpMyAdmin的界面如下,我们使用的phpMyAdmin的版本为2.3.2。主界面
如图5—1所示:川
图5一l phpMyAdmin主界面
Ph!c}MyAdmin使用非常简单,通过在浏览器地址栏中输入效应的地址就可以
访问数据库了。通过使用phpMyAdmin可以方便快速的建立我们需要的数据库
及数据表。建立的ipgl数据库如图5·2所示。
图5-2用phpMyAdmin建立的ipe:数据库
从图5-2可以看出ipgl数据库中包涵了8张数据表。用于实现P地址管理系统
的应用。图5-3说明的是用phpMyAdmin对ipgl数据库中的巾qk表的管理。
图5-3用phpMyAdmin管理的fpqk数据表
从图5-2和图5-3可以看出,利用phpMyAdmin这个工具很容易和方便的实现
&&&&&&&&&&&&
MySQL数据库和数据表实现和维护。在此不在做进一步的说明了。
5.3系统设计及实现
口地址管理系统主要分七部分:登录、系统维护、分配管理、使用管理和专
线管理、查询和访问管理。
5.3.1登录和访问记录的设计与实现
登录过程主要是对登录用户的身份进行认证,界面如图5—4所示
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
图5-5用户登录流程图
在本系统中,用到了Web一个很有用的功能一一--cookies,本系统利用
cookies实现了变量的传递,现在就对cookies进行说明。
cookies是由web服务器产生的并且存在客户端的一些信息。它嵌在html
信息中,由服务器端指定,在客户端及服务器端间传递信息。它通常用于:用户
网页个性化,计数器,储存被浏览站点的信息等。
●cookies弄口php
在PHP中用cookies是相当容易的。可以使用setcookie函数设置一个
cookie。cookie是HTTP标头的一部分,因此设置cookie功能必须在任何内容
送到浏览器之前。这种限制与header0函数一样。任何从客户端传来的cookie
将自动地转化成一个PHP变量。PHP取得信息头并分析,提取cookie名并变成
变量。因此,如果你设置cookie如setcookie(”mycookie”,”wang”):php将自动
产生一个名为Smycookie,值为”wang”的变量。
为了保证用户必须从登录界面进入系统,在程序开始,增加了变量$dlqr(登
录确认),并且把它的值设置为1。
5.3.2系统总界面设计与实现
本系统的总界面如图5-6所示。这里是利用javascript来实现同时载入两个
页框功能的。同时载入两个页框的意思是通过点击一个连接源可以同时实现两个
页框的变化。因为本系统采用三页框结构,需要通过同时载入两个页框来实现相
关的功能。
&&&&&&&&&&&&&&&&
图5—6系统总界面
采用同时载入两个页框功能,按下上页框内的磁彪发缆劈劳堀后,界面变化
如图5—7所示:
&&&&&&&&&&&&&&&&&&&&&&&&&
function loadtwo(p2,p3)
parent.contents.10cat ion.href=p2
parent main.10cat ion.href=p3:
&/script&
border="O”src=”topl.h1.JPg’width=”93”height=’48”&
&absp; &nhsp;      &nbsp:
href=”]avaScript:loadtwo(’leftal.htm’,’fpqk.php’)’&地址段分配情况
&/a&   
href=”JavaScript:loadtwo(’lefta2.htm’,’shyqk.php’)”&地址段使用情况
&/a&&Ilbsp;  
href=。JavaScript:loadtwo(’lefta3.htm’,’zhxqk.php’)”&专线情况
&/a&&nbsp:&nbsp:&nbsp:
href=”JavaScript:loadtwo(’lefta4.htm’,’fpqkipchx.php’)’&地址查询
&/a&&nbsp:&nbsp: &nbsp:
href=”JavaScript:loadtwo(’lefta5.htm’,’fWqk.php’)’&访问日志
&/a&&nbsp: &nbsp:
href=”JavaScript:loadtwo(’lefta@.htm’,’jd.php’)”&系统维护
&/a&&nbsp: &nbsp:
5.3.2系统维护的设计与实现
系统维护主要由四部分组成,节点管理、用户管理、用途管理和申请下IP
管理。节点管理主要完成需要使用地址的节点的增删改,对于河北网通主要包括
11个地级市和省网管中心。用户管理主要实现用户的开户,修改密码和权限设
定等功能。用途管理实现地址使用或分配用户的增删改,用途有ADSL专线、ADSL
编号、窄带拨号和城域网等应用。申请下IP主要是对从APNIC申请下的地址管
理。下面就以节点管理的实现为例进行说明。
管理界面(添加部分)如图5—8所示:
& 节点维护
目前共宥:8条节纛豫黎
图5-8管理界面(添加部分)
点击“修改”按钮会出现图5—9所示的界面&&&&&
图5—9节点维护界面
点击“删除”按钮会出现图5—10所示的界面
图5.10确认删除界面
节点维护部分的文件间的调用关系如图5-11,实现过程的流程如图5-12。
图5-1l节点维护部分的文件间的调用关系
&& 图5.12节点维护模块流程图
5.3.3地址段分配情况的设计和实现
在地址段分配情况中主要完成地址段分配添加、地址段块添加、查询修改
删除和分配统计功能,此部分由省级管理员维护。地址段添加与地址段块添加的
不同处是地址段块添加可以按照设定的步长进行块的添加,便于地址的添加a
·地址段分配添加
在这个模块中主要实现分配地址段的添加,在添加过程中,为了保证添加
地址数据的准确性和有效性,对输入地址进行了多种判断,流程如图5-13所示&&&
图5一13地址段分配添加流程图
从流程图可以看出,本模块在设计是采用多重输入判断来保证输入数据的准
确性和准确性。首先保证输入数据不能为空,输入的数据格式是否符合标准的
IP地址格式,然后判断此段地址是否已在申请下IP数据库中,也就是说此段地
址是否已由APNIC分配给我省使用,最后判断此段地址是否己在分配库中存在,
保证输入数据的唯一性。
●地址分配情况查询修改和删除
在这个模块中主要实现通过条件查询来定位需要进行修改或删除的记录,
查询可以提供多种条件的组合,这样可以实现查询的精确性。查询界面如图5—14
IP地址分配情况套谢
图5—14 IP地址分配情况查询界面
●地址分配情况统计
在这个模块中实现了对分配情况的汇总。主要有分配下的地址数量及剩余
地址数量,对于已分配的地址,又进一步统计出分配给地市分公司的数量。地址
分配情况统计界面如图5一15所示:
lP蟪疑努鬈精魂蓑计
在分配愫况衰巾地址总长度为"t2个c。其中分配的地址总长度鸯Y2个q束分配的地址总长囊为个c.
图5-15地址分配情况统计界面 &
5.3.4地址段使用情况的设计和实现
在地址段使用情况中主要完成地址段使用添加、查询修改删除和使用统计
功能,此部分主要由地市级管理员维护。
·地址段使用添加
在这个模块中主要实现使用地址段的添加,在添加过程中,为了保证添加
地址数据的准确性和有效性,对输入地址进行了多种判断.流程如图5一16所示:
图5-16地址段使用添加流程
·地址使用情况查询修改和删除
&在这个模块中主要实现通过条件查询来定位需要进行修改或删除的记录,
查询可以提供多种条件的组合,这样可以实现查询的精确性。其功能同地址分配
●地址使用情况统计
在这个模块中实现了对使用情况的汇总,由省级管理员使用。主要有已使
用地址统计和未使用地址情况统计。地址使用情况统计界面如图5—17所示:
IP撬址使用幢况笺计
在使用情况表中地址息长度为2.36718'/5个已其审使用的地址总长痰为2
36'/18'/5个c,来使糟的地址总
&&&&&&&&&&&&
长度为个c.
图5-17地址使用情况统计界面
5.3.5专线地址使用情况的设计和实现
在专线使用情况中主要完成专线地址的添加、查询修改删除和使用统计功
能,此部分主要由地市级管理员维护。
此部分的实现和地址使用情况类似,在此不做进一步说明了。
5.3.6查询的设计和实现
在查询功能中主要实现在分配地址数据库、使用数据库和专线数据库中对
IP地址查询实现的功能,此部分省级和地市级管理员均可使用。
在每一种查询中,你可以输入一个地址,系统就会判断出是否在此部分使
& 用,同时给出具体使用情况。
查询界面如图5一18所示
分配情况IP趣址奁诲
图5—18分配情况IP地址查询界面
查询结果界面如5一19所示:
在分配情况囊中,挥舞盘询的I辨瞪址差t&
61.1豹.o.4
图5-19分配情况IP地址查询结果界面
5,3.7其它功能的设计和实现
日志等部分的设计和实现和以上部分比较类似,在此不做进一步说明。&&&&&&&&&&&&&&&&&
口地址管理系统是利用网络技术和数据库技术来实现D地址的管理,方便
的实现口地址的添加、查询修改和到APNIC的地址申请。
在保证输入数据的准确性和正确性方面,系统采用多重判断,比较全面的考
虑了各种输入数据错误的可能性,大大提高了输入数据的准确性。
本系统主要是根据实际工作中需求进行的,目前本系统已经开始实际应用,
当然本系统还存在不少需要改进和提高完善的地方,如在更容易实现地址申请的
文件生成,数据库的远程备份和恢复等功能。本系统将会根据需求的变化和使用
的方便性来完善功能。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 全网通是什么意思 的文章

 

随机推荐