不久前,在网上看到一篇文章介绍了CORBA/SNMP网关的模型。作者为了在大型异构的网络中更好地采用面向对象技术封装底层地网络协议,在被管对象和管理者之间建立了一个CORBA/SNMP网关。其作用就是把SNMP操作和数据(包括监听陷阱信息)与CORBA对象之间进行一个映射和转换,这样,以前管理者直接对协议的操作久可以转换为对CORBA对象的操作。这就形成了一个管理者/网关/代理的三层结构。
目前我们在开发SNMP应用时,会遇到很多不同平台不同语言的开发包。很多时候,做两个不同应用有很多重复的工作,而这些工作仅仅是由于开发包的不同造成的。如果采用CORBA/SNMP网关,那么至少在同一种语言时不用重复工作了。而且因为CORBA的通用性,各个平台语言都可以使用该网关,调用方法也大致一致,减少了一定的工作量。同时,开发人员在不太熟悉SNMP协议的情况下也可以进行应用的开发。
这样的设计有一定的合理性。文中将其应用到Web浏览中,由此产生了一个四层结构。这样,开发Web服务器就会相对容易并且通用一些。同样,在使用了CORBA/SNMP网关之后,开发各种类型的多层体系结构应用将会变得相对容易。例如,除了Web方式之外,还可以用其它桌面程序等访问网关(类似于企业应用的多层结构)。
因为被管网络本身的不稳定性,所以SNMP才会采用了UDP协议。我们在实际应用中也不必要求网络非常可靠。但是,CORBA客户与网关之间必须有稳定的连接,否则采用网关将比不采用更不可靠。最好的方法是让网关和客户运行在同一台机器上。如果只有一个客户,这种方法当然好,但有时会有多个客户使用同一个网关,这时,我们也必须保证它们之间的稳定性。并且考虑到信息的实时性,还要保证网关的运行效率。而且,还要保证陷阱信息可以被转发到所有(或特定的)管理者。
对一个网络进行实际管理可能不止用到SNMP协议,如果使用其它网关不支持的协议,就需要绕过网关,这样不免显得有些混乱。所以,我认为,该网关的作用不仅在于进行一个CORBA对象到SNMP协议的映射,还应提供更多的相关功能。
考虑到被管MIB可能的变化,CORBA /SNMP网关还应支持动态CORBA对象的生成。即当增加、减少或改变MIB对象时不需重启网关。可能的实现方法之一是将所有的被管对象作为服务来运行。
作者提出的只是一个模型,而真正实现却未必简单,至少会比开发一个SNMP开发包复杂很多。目前,已有很多厂商在做这方面对的研究,相信这也是以后网络管理发展的一个方向。
本文地址:http://com.8s8s.com/it/it33546.htm