论文部分内容阅读
摘要:针对静态IP地址管理方法中管理和安全方面存在的隐患,提出了一种基于WEB与三层交换机的IP地址管理思想,该思想以Linux网络操作系统和三层交换机的远程访问服务为依托,以Apache、PHP和MySQL为手段,成功解决了IP地址管理中存在的这些问题。
关键词:IP;MAC;路由器;Telnet
中图分类号:TP391文献标识码 :B文章编号:1673-8454(2008)04-0070-03
IP地址是计算机网络中最为宝贵的资源之一,而IP地址管理工作是计算机网络管理中最为重要和复杂的工作之一。IP地址的管理主要是IP地址的分配和防止地址盗用两个方面的问题,目前常用的IP地址分配主要有两种方法,一种是动态分配IP地址方法,另一种则是静态IP地址分配方法。[1]
动态IP地址是指由服务器动态分配IP地址的方法,该方法简便,但若要查找某时刻是哪位用户在用某个IP地址则非常难,所以一般政府、学校等部门很少采用,而多采用静态分配IP地址的方法。
一、引言
静态IP地址分配方法是指由人工逐个分配IP地址的方法,该方法能够知道任何IP地址的使用人,此种方法存在的最大问题是IP地址盗用问题,为了解决这一问题,人们一般采用IP地址与用户计算机MAC地址绑定的方法进行解决,这样既能规范IP地址管理,又能防止IP地址盗用,所以此种方法广为采用。但该种IP地址管理方法在管理和安全方面依然存在很大的隐患。
1.管理方面
管理通常分两步实现:首先用人工或计算机记录网络用户MAC地址与IP地址的对应关系,然后再人工登陆到三层交换机上实现IP地址与MAC地址的绑定操作。由于管理人员不止一个,即使一个人,有时也会出现三层交换机上已经绑定,而未记录,或记录了但三层交换机上没有进行IP地址与MAC地址绑定的问题,久而久之便会出现很多的管理问题。
2.安全方面
实现IP地址与MAC地址的绑定操作需要人为登陆到三层交换机,而且该登陆者还必须具有超级用户权限,这样就给核心交换设备的安全运行带来很多的隐患。
针对静态IP地址管理方法中管理和安全方面存在的隐患,笔者提出了一种基于WEB与三层交换机的IP地址管理思想并依据该思想设计开发了一套IP地址管理系统,成功解决了IP地址管理中存在的这些问题。
二、相关理论
1.局域网通信原理
在局域网中计算机之间是通过ARP协议和广播机制实现通信的,[2]如图1所示,计算机A与C都接在交换机Switch A上,当计算机A打算与计算机C通信时,便查找自己的MAC地址cache表,如果存在计算机C的MAC地址,则直接将数据发到该MAC地址上,即可实现通信。如果不存在计算机C的MAC地址,则利用ARP协议进行广播,首先计算机A发出一个请求数据包,上面携带计算机A的IP地址、MAC地址以及计算机C的IP地址,计算机C收到该广播数据包后,在该数据包上附上自己的MAC地址,然后将该数据包发给计算机A,计算机A收到该数据包后,便将数据发到计算机C的MAC上,通信得以实现。
为了解决以上两方面的问题,对图2中的①进行改进,改进后的IP地址管理系统原理示意图如图2中的②所示。在②管理员通过操作服务器进行IP地址相关信息的登记工作,同时由服务器来操作三层交换机实现IP地址绑定工作。[5] 只要管理员操作服务器,服务器便操作三层交换机,所以不会出现①中服务器上登记信息与三层交换机中绑定信息不一致的问题,而且由于是由服务器来操作三层交换机,管理员根本不需要拥有三层交换机超级用户权限,从而大大提高了三层交换机的安全性。
四、IP地址管理系统实现
1.IP地址管理系统的硬件、软件环境
为了本系统运行的稳定性,图2所示②中的服务器最好采用专用服务器,也可用高档微机进行替代,服务器能够通过网络访问三层交换机。服务器运行Linux网络操作系统,支持Apache、PHP和MySQL环境,三层交换机支持网络用户的telnet访问。
2.IP地址管理系统的功能模块设计
IP地址管理系统的主要包括管理员管理模块、用户信息添加模块、用户信息修改模块、用户退网模块、用户封锁模块和用户解锁模块,下面简要介绍各模块的主要功能。
管理员管理模块主要用来完成管理员的添加、修改、删除以及登陆检验功能。
用户信息添加模块,主要用来登记用户的姓名、单位、联系电话、具体位置和用户计算机的MAC地址到服务器数据库,服务器再操作三层交换机实现IP地址与用户计算机MAC地址的绑定操作。
用户信息修改模块是修改服务器中登记的相应用户的相关信息,若用户计算机MAC地址发生变化,还要更改三层交换机上IP地址与用户计算机MAC地址的对应关系。
用户退网模块是当用户申请退网时,在服务器上实现用户相关信息的注销工作,同时解除三层交换机上IP地址与用户计算机MAC地址的绑定关系,并回收该IP地址为自由地址。
用户封锁模块是用来实现当用户使用的IP地址出现病毒等异常情况时,暂时停止用户使用网络的功能。
用户解锁模块是对封锁的用户恢复使用网络的功能模块。
3.IP地址管理系统的数据流程
IP地址管理系统的数据流程如图3所示,首先是用户登陆检验,如用户不合法则结束,如用户合法则在5个模块中选择相关的操作,由服务器操作后台数据库,实现IP地址与用户计算机MAC地址的绑定操作,若没有其他操作则结束,否则重新进入5个模块选择界面。
4.IP地址管理系统的核心代码
本IP地址管理系统设计与实现的关键问题在于如何实现服务器对三层交换机操作,为此,我们设计了一个PHP远程登陆三层交换机类,通过PHP的fsockopen()函数与fwrite()函数实现PHP对三层交换机的telnet登陆与命令控制,类的核心程序代码如下所示:
class Telnet
{ var $sock=NULL;
function telnet($host,$port)
{$this->sock = fsockopen($host,$port,$errno, $errstr, 10);
if( !$this->sock ){ exit("无法连接远程主机:".$host.",请稍后再试!");}
socket_set_timeout($this->sock,2,0); }
function close()
{if ($this->sock)fclose($this->sock);
$this->sock = NULL;}
function write($buffer) {fwrite($this->sock,$buffer);}
function getc() { return fgetc($this->sock);}
function input_rate()
{ $buf = ’’;
$what="bits/sec";
while (1)
{ $IAC = chr(255);
$theNULL = chr(0);
$c = $this->getc();
if ($c === false) return $buf;
if ($c == $theNULL)continue;
$buf .= $c;
if ($what == (substr($buf,strlen($buf)-strlen($what))))
{returnsubstr(strstr($buf,"input rate"),10);}
else {continue;}
}//while end
}//function end
}//end class
程序对类的一个调用实例如下:
$telnet = new telnet($host_ip,$port);//建立登陆到IP地址为host_ip,端口为port三层交换机
$telnet->write($root);//读取超级帐户
$telnet->write($root_password);//读取超级帐户密码
$telnet->write("enable\r\n");//进入到三层交换机特权模式
$telnet->write("config\r\n");//进入到交换机配置模式
$vlan="interface vlan ".$vid."\r\n";
$telnet->write($vlan);//进入到相应的VLAN接口模式
$command="arp".$var."".$mac."".$interface."\r\n";
$telnet->write($command);//实现IP地址与计算机MAC地址的绑定操作
$telnet->write("exit\r\n");$telnet->write("exit\r\n");
$telnet->write("write\r\n");//将操作保存到flash闪存当中
五、结束语
本IP地址管理系统在我院校园网日常管理中应用一年来,基本上解决了IP地址管理的上述问题,能够做到每个分配出去的IP地址都能找到用户,该用户的详细信息一目了然,如果网络中某个IP地址出现病毒等问题,可在最短的时间内将其封锁,从而保障校园网的正常运行,而且能够避免管理人员操作三层交换机带来的网络核心设备安全问题,该系统在我院校园网日常维护过程中正发挥着越来越重要的作用。
参考文献:
[1]王俊鹏.Intranet网络管理研究与实现[D].西南交通大学硕士论文,计算机应用技术专业,2002.
[2]李静媛,罗玉斌.网络管理及其应用发展[J].楚雄师范学院学报,2004,19(3):19-22.
[3]陈本辉.网络管理技术应用探讨[J].大理学院学报, 2004,3(3):101-102.
[4]韩冬,王建国等.主动网络体系结构的分析与研究[J].计算机工程,2001,27(7):1-3.
[5]王跃进.中学校园网站建设点滴心得[J].中国教育信息化,2007,(163):89-90.
关键词:IP;MAC;路由器;Telnet
中图分类号:TP391文献标识码 :B文章编号:1673-8454(2008)04-0070-03
IP地址是计算机网络中最为宝贵的资源之一,而IP地址管理工作是计算机网络管理中最为重要和复杂的工作之一。IP地址的管理主要是IP地址的分配和防止地址盗用两个方面的问题,目前常用的IP地址分配主要有两种方法,一种是动态分配IP地址方法,另一种则是静态IP地址分配方法。[1]
动态IP地址是指由服务器动态分配IP地址的方法,该方法简便,但若要查找某时刻是哪位用户在用某个IP地址则非常难,所以一般政府、学校等部门很少采用,而多采用静态分配IP地址的方法。
一、引言
静态IP地址分配方法是指由人工逐个分配IP地址的方法,该方法能够知道任何IP地址的使用人,此种方法存在的最大问题是IP地址盗用问题,为了解决这一问题,人们一般采用IP地址与用户计算机MAC地址绑定的方法进行解决,这样既能规范IP地址管理,又能防止IP地址盗用,所以此种方法广为采用。但该种IP地址管理方法在管理和安全方面依然存在很大的隐患。
1.管理方面
管理通常分两步实现:首先用人工或计算机记录网络用户MAC地址与IP地址的对应关系,然后再人工登陆到三层交换机上实现IP地址与MAC地址的绑定操作。由于管理人员不止一个,即使一个人,有时也会出现三层交换机上已经绑定,而未记录,或记录了但三层交换机上没有进行IP地址与MAC地址绑定的问题,久而久之便会出现很多的管理问题。
2.安全方面
实现IP地址与MAC地址的绑定操作需要人为登陆到三层交换机,而且该登陆者还必须具有超级用户权限,这样就给核心交换设备的安全运行带来很多的隐患。
针对静态IP地址管理方法中管理和安全方面存在的隐患,笔者提出了一种基于WEB与三层交换机的IP地址管理思想并依据该思想设计开发了一套IP地址管理系统,成功解决了IP地址管理中存在的这些问题。
二、相关理论
1.局域网通信原理
在局域网中计算机之间是通过ARP协议和广播机制实现通信的,[2]如图1所示,计算机A与C都接在交换机Switch A上,当计算机A打算与计算机C通信时,便查找自己的MAC地址cache表,如果存在计算机C的MAC地址,则直接将数据发到该MAC地址上,即可实现通信。如果不存在计算机C的MAC地址,则利用ARP协议进行广播,首先计算机A发出一个请求数据包,上面携带计算机A的IP地址、MAC地址以及计算机C的IP地址,计算机C收到该广播数据包后,在该数据包上附上自己的MAC地址,然后将该数据包发给计算机A,计算机A收到该数据包后,便将数据发到计算机C的MAC上,通信得以实现。

为了解决以上两方面的问题,对图2中的①进行改进,改进后的IP地址管理系统原理示意图如图2中的②所示。在②管理员通过操作服务器进行IP地址相关信息的登记工作,同时由服务器来操作三层交换机实现IP地址绑定工作。[5] 只要管理员操作服务器,服务器便操作三层交换机,所以不会出现①中服务器上登记信息与三层交换机中绑定信息不一致的问题,而且由于是由服务器来操作三层交换机,管理员根本不需要拥有三层交换机超级用户权限,从而大大提高了三层交换机的安全性。
四、IP地址管理系统实现
1.IP地址管理系统的硬件、软件环境
为了本系统运行的稳定性,图2所示②中的服务器最好采用专用服务器,也可用高档微机进行替代,服务器能够通过网络访问三层交换机。服务器运行Linux网络操作系统,支持Apache、PHP和MySQL环境,三层交换机支持网络用户的telnet访问。
2.IP地址管理系统的功能模块设计
IP地址管理系统的主要包括管理员管理模块、用户信息添加模块、用户信息修改模块、用户退网模块、用户封锁模块和用户解锁模块,下面简要介绍各模块的主要功能。
管理员管理模块主要用来完成管理员的添加、修改、删除以及登陆检验功能。
用户信息添加模块,主要用来登记用户的姓名、单位、联系电话、具体位置和用户计算机的MAC地址到服务器数据库,服务器再操作三层交换机实现IP地址与用户计算机MAC地址的绑定操作。
用户信息修改模块是修改服务器中登记的相应用户的相关信息,若用户计算机MAC地址发生变化,还要更改三层交换机上IP地址与用户计算机MAC地址的对应关系。
用户退网模块是当用户申请退网时,在服务器上实现用户相关信息的注销工作,同时解除三层交换机上IP地址与用户计算机MAC地址的绑定关系,并回收该IP地址为自由地址。
用户封锁模块是用来实现当用户使用的IP地址出现病毒等异常情况时,暂时停止用户使用网络的功能。
用户解锁模块是对封锁的用户恢复使用网络的功能模块。
3.IP地址管理系统的数据流程
IP地址管理系统的数据流程如图3所示,首先是用户登陆检验,如用户不合法则结束,如用户合法则在5个模块中选择相关的操作,由服务器操作后台数据库,实现IP地址与用户计算机MAC地址的绑定操作,若没有其他操作则结束,否则重新进入5个模块选择界面。
4.IP地址管理系统的核心代码
本IP地址管理系统设计与实现的关键问题在于如何实现服务器对三层交换机操作,为此,我们设计了一个PHP远程登陆三层交换机类,通过PHP的fsockopen()函数与fwrite()函数实现PHP对三层交换机的telnet登陆与命令控制,类的核心程序代码如下所示:

class Telnet
{ var $sock=NULL;
function telnet($host,$port)
{$this->sock = fsockopen($host,$port,$errno, $errstr, 10);
if( !$this->sock ){ exit("无法连接远程主机:".$host.",请稍后再试!");}
socket_set_timeout($this->sock,2,0); }
function close()
{if ($this->sock)fclose($this->sock);
$this->sock = NULL;}
function write($buffer) {fwrite($this->sock,$buffer);}
function getc() { return fgetc($this->sock);}
function input_rate()
{ $buf = ’’;
$what="bits/sec";
while (1)
{ $IAC = chr(255);
$theNULL = chr(0);
$c = $this->getc();
if ($c === false) return $buf;
if ($c == $theNULL)continue;
$buf .= $c;
if ($what == (substr($buf,strlen($buf)-strlen($what))))
{returnsubstr(strstr($buf,"input rate"),10);}
else {continue;}
}//while end
}//function end
}//end class
程序对类的一个调用实例如下:
$telnet = new telnet($host_ip,$port);//建立登陆到IP地址为host_ip,端口为port三层交换机
$telnet->write($root);//读取超级帐户
$telnet->write($root_password);//读取超级帐户密码
$telnet->write("enable\r\n");//进入到三层交换机特权模式
$telnet->write("config\r\n");//进入到交换机配置模式
$vlan="interface vlan ".$vid."\r\n";
$telnet->write($vlan);//进入到相应的VLAN接口模式
$command="arp".$var."".$mac."".$interface."\r\n";
$telnet->write($command);//实现IP地址与计算机MAC地址的绑定操作
$telnet->write("exit\r\n");$telnet->write("exit\r\n");
$telnet->write("write\r\n");//将操作保存到flash闪存当中
五、结束语
本IP地址管理系统在我院校园网日常管理中应用一年来,基本上解决了IP地址管理的上述问题,能够做到每个分配出去的IP地址都能找到用户,该用户的详细信息一目了然,如果网络中某个IP地址出现病毒等问题,可在最短的时间内将其封锁,从而保障校园网的正常运行,而且能够避免管理人员操作三层交换机带来的网络核心设备安全问题,该系统在我院校园网日常维护过程中正发挥着越来越重要的作用。
参考文献:
[1]王俊鹏.Intranet网络管理研究与实现[D].西南交通大学硕士论文,计算机应用技术专业,2002.
[2]李静媛,罗玉斌.网络管理及其应用发展[J].楚雄师范学院学报,2004,19(3):19-22.
[3]陈本辉.网络管理技术应用探讨[J].大理学院学报, 2004,3(3):101-102.
[4]韩冬,王建国等.主动网络体系结构的分析与研究[J].计算机工程,2001,27(7):1-3.
[5]王跃进.中学校园网站建设点滴心得[J].中国教育信息化,2007,(163):89-90.