基于Telnet协议实现网络设备的自动管理研究

(整期优先)网络出版时间:2016-12-22
/ 2

基于Telnet协议实现网络设备的自动管理研究

苏云海

东莞市机电工程学校广东东莞523000

摘要:本文主要的内容是论述如何建立一个基于Telnet协议的并且能够拥有平台无关性的网络系统,同时还能够实现自动化管理。开始是主要讲解了一些关于Telnet协议的一些最基本的原理,紧接着就讲述了一些基于J2EE的系统体系结构,而且还以此为基础,描述了一个实例,就是将SSH轻量级J2EE框架建立在Telnet协议之上,经过实践表明,这种操作方案可以有效的提高设备的运行效率,增强扩展性,同时还可以改善移植性差的问题。

关键词:Telnet;Java;网管系统;J2EE

一、Telnet协议简介

Telnet协议通常情况下都是把23号端口作为传输数据的端口,在实际使用者和宿主计算机之间形成一条用于通信的线路,从而有助于让终端的设备通过网线等与远处的主机建立一定的联系,并且提供一种虚拟的终端服务。该协议有属于自己的一些规范,大多都定义在了RFC854上,并且在这里面还定义了一些比较通用的字符终端,我们通常把这种字符叫做网络虚拟终端。NVT是一种虚拟的设备,它可以把两个不同的计算机连接在一起并形成一定的关系,这两种不同的设备分别叫做客户机和服务器,还有一个要求就是必须让这两者的物理终端和NVT进行一定程度的转换,简单来说就是不管用户使用的终端是什么类型什么样式的,操作系统都会非常及时的将其转换为NVT的格式。

一般情况下相互连接的两个不同的对象都被默认为是这种格式,但是真实的情况却是两者在正常通信之前是要先互相发送一定的协商选项数据,并进行适当的初始化操作。对协商选项的使用也有一定考虑,并不是随意的进行选择,必须要使主计算机所提供的服务在终端服务器的服务范围之内,不可以超出这个范围。两者之间所采用的协商方法是比较简单的,就是一端发出一个请求命令,这个命令可以让其中的一个选项生效,并使另一个终端进行接受,同时还会反馈回来一些代表接受或者拒绝的命令。如果返回来的命令代表接受,那么这两端就可以同时生效,如果返回来的命令代表拒绝,那么就表示两个终端之间任然保持原有的约定。必须说明的是,如果发送的一方多申请的各种激活协商选项的请求,负责接收的那一方可以选择接收还是拒绝,选择性比较强,但对于要求禁止一些选项的情况,负责接收的那一方就必须没有任何条件的进行同意。

二、系统体系架构实现

(一)轻量级构架简述

系统要进行功能实现的时候,通常采用的就是由三种不同的程序组成的SSH轻量级J2EE框架。

Struts是一个以Web为基础的应用框架,这种结构所能够达到的效果就是可以实现MVC设计模式,从而能够让代码变得更加有条理,也可以形成一定的结构。进一步的把业务逻辑和用户界面分成了两个部分,有效的进行分离。还可以把模型和试图两种不同的功能在比较低端的事物中合理的进行区分,不单单可以实现每个模块的单独作业,而且还有助于在对系统进行开发维修以及更新的时候变得更加便捷和轻松。因此我们把Struts当成表现层框架的首选。

Spring拥有非常强大的功能,它可以解决在J2EE研发和运行过程中出现的许多问题。这种构架提供的方法可以实现对业务对象进行管理的一致性,同时它还选择对接口编程而不是要求对类编程,从而形成了一种非常良好的习惯。Spring的架构通常情况下是将具有JavaBean属性的IoC容器作为自己的基础。不过,这还是远远不够的,只能说是一个完整图景中的一个片段,然而Spring在将IoC容器作当作自己的基础,并对其他所有架构层所出现的问题进行解决方面却是别的架构层无法与之相抗衡的,也可以说它是独一无二的。所以我们在业务层方面将Spring框架作为主要的选择对象。

Hibernate简单来说就是一个开放源代码的对象关系映射框架,它能够对JDBC进行一定的对象封装,而且是非常轻量级的,这样就可以让熟练运用Java进行编程的工作人员能够毫无顾及的对数据库进行操纵,所使用的编程思维叫做对象编程思维。Hibernate的使用范围是非常广的,无论是在Java的客户端程序上,还是在Servlet/JSP的Web应用中,凡是能够使用JDBC的场合,它都可以发挥作用,并且能够很好的完成数据的持久化功能,所以我们在对持久化层进行选择的时候,将Hibernate作为主要的对象。

三、集成Struts,Spring,Hibernate框架

表现层:我们将末端是采用Web应用的情况称为表现层,并且将Struts看成是表现层的框架。Struts框架有它自己的相应职责,主要就是用来对客户的请求和反映进行采取一定的管理措施,同时提供一个控制器,这个控制器可以将调用传送到其他的业务逻辑或者让上游来处理,将来自其他层的例外在应该StrutsAction上进行一定的处理,还可以将在视图中起表现作用的模型对象进行组装,另外还可以发挥UI校验的功能。

业务层:在比较典型的Web应用中间部分,通常情况下所采用的是业务层和服务层相结合的组件,我们还将Spring选为业务层的框架。它所承担的责任就是把平常的业务逻辑和业务校验进行一定的处理,管理一些事物,并且还可以允许与其他不同的层进行交互等。

持久层:这种层的另一个终端是持久层,我们把Hibernate选为持久层的架构,它自己相应的责任就是将查询到的信息应用在对象当中,而且还能够存储、更新和删除存储在数据库中的信息等。

四、Telnet协议在系统中的应用实现

要想将这种协议能够很好的实现,所采用的办法就是在一些网络设备上进行登录,通过指定的网关与端口号,将其与相应的网络设备进行连接,同时还要发送相应的用户名和密码,一直等到系统出现提示符后说明应用实现了。

另外还可以通过发送命令并通过返回来的信息来实现此协议的实现,这种类型包含了三种不同的方法,其中包括write、sendCommand、readUn-til这三种不同的形式。第一种能够将最基本的一些数据发送出去,比如说像用户名或者密码;第二种方法能够发送一定的命令并且还能够返回相应的信息;第三种方法就是可以将远程主机发回来的字符进行合理的匹配,从而不至于在读取信息的时候进入一种死循环的状况。

(一)程序设计中应对选项协商的处理策略

通过对Telnet协议的相关规范进行研究我们可以发现,如果把协商所应用的命令以及代码,再加上一些子选项,那么所匹配出来的协商类型是有很多种的,而在系统中要求就会比较简单,往往只要能够让网络设备上出现登录界面,可以把用户名和密码进行发送,从而实现自动登录就可以了。通常情况下就仅仅需要一个基本的NVT终端特性子集,从而在最地层方面完成通信功能,并不需要一些比较复杂高难度的操作。由于这一特点,所以我们可以可以对网络设备发出一切协商请求,采取一概拒绝的处理策略简化协商过程。

(二)软件系统工作流程及运行结果示例

把Telnet协议最为基础对网络设备运行的一些数据进行提取的程序,可以同时对多个网络设备完成数据提取的功能,而且可以实现周期性,网管工作人员可以提前对要提取的设备数量和工作参数在maindb.mdb中进行定义。所提取到的数据可以保存在相应的数据库中,然后经过相应的服务器把数据进行一定的处理然后再发布出去。

五、结语

将Telnet协议最为基础对网络设备进行操作,从而实现自动化管理,不仅有很强的通用性,而且适合各种网络设备,所涉及的范围相对来说比较广。运用Telnet协议对数据等进行采集,不仅加快了速度,而且也相应的提高了工作效率。

参考文献:

[1]许高建,王川林.基于Telnet客户端的图形界面设计[J].农业网络信息,2006(12)

[2]罗时飞.精通SPRING[M].北京:电子工业出版社,2005

[3]夏昕,曹晓钢,唐勇.深入浅出Hibernate[M].北京:电子工业出版社,2005

[4]周勇文.Telnet服务器的研究与实现[J].计算机光盘软件与应用,2012(19)

[5]陈贤敏.基于Telnet协议在网络设备管理中的应用[J].浙江工贸职业技术学院学报,2008(04)