许多网络设备的控制端口都是串行口,既不能及远,又无法提供灵活的功能。如果能用基于TCP/IP协议的通信程序对设备进行远程控制,将为网管员带来很多方便。本文介绍了一种实现方法,虽然控制的是程控交换机,但相信对数据网络设备也同样适用。

图1 通过串口连接示意图
爱立信交换机的控制和管理是通过IOG(输入/输出组)的不同端口来执行的,IOG的端口都是一些RS232串行接口。通常我们使用Windows 98的PC机,通过RS232串行端口连线和这些IOG端口相连,在PC机上运行爱立信通信程序WinFIOL,就可以实现对交换机的控制和管理。其结构如图1所示。
管理不方便
这种结构虽然很直观也很简单,但使用起来却不太方便。
首先,PC机和IOG端口间由于RS232协议的限制,相互间的距离一般也就是20~30米,不能进行远程控制,且布线也不灵活;其次,在PC机上只能执行与其连接的IOG端口所预定的功能,如果希望执行其他功能,就需要把PC机换接在另一个IOG端口上,非常不方便,PC机利用率不高。
我们发现,爱立信通信程序WinFIOL除了RS232这种连接方式外,还可以通过TCP/IP方式连接。我们是否能通过网络使PC机和串行的IOG端口建立起连接呢?这起码能解决距离短因而不能远程控制的问题。我想用加拿大Perle公司生产的IOLAN+通信服务器试试。
试验通信服务器
加拿大Perle公司生产的IOLAN+通信服务器,其主要特点是它可以将串行设备接入到以太网中。IOLAN+通信服务器一侧有8个或16个RS232端口,另一侧可以通过双绞线或细缆接在以太网上。网络上的计算机可以通过Socket编程与IOLAN+任一个RS232端口建立一个Socket连接,在计算机中通过对Socket执行读写命令,就能实现与连接在该端口的串行设备进行数据通信,从而达到通过网络对远端的串行设备进行控制和管理。
建立Socket连接需要5个基本要素,即通信协议(TCP或UDP)、本地IP地址(PC机的IP地址)、本地端口号、远端IP地址(IOLAN+的IP地址)和远端端口号(IOLAN+的本地端口号)。

图2 辅助连线接法
为能很快地确认这个想法,我简单地搭了个实验环境。在IOLAN+的2号端口上连了个VT100终端模拟串行设备IOG的端口,并设定IOLAN+端口的通信参数与终端一致,同时设置IOLAN+的PORT菜单的access字段为“Remote”。
我知道,命令telnet也是用Socket技术编写的。在本例中,使用TCP通信协议,本地IP地址是PC1机的IP地址,本地端口号是由PC1机的系统自动分配的;远端IP地址是IOLAN+的IP地址,而远端端口号就是IOLAN+端口2的本地端口号10002。
于是我从PC1上执行命令: telnet 192.168.1.3 10002
我发现,从PC1机上键入的字符可以在终端上显示,而从终端上键入字符也可以在PC1机上显示出来。这个实验清楚地说明,可以使用这种方式通过IOLAN+通信服务器远程控制串行设备。既然爱立信通信程序WinFIOL支持TCP/IP的连接方式,也是采用Socket技术编写的,使用IOLAN+通信服务器远程控制爱立信交换机应该不会有什么问题。
实施成功
我按图3所示设计了一个方案,希望能实现在同网段上的和不同网段上的计算机都能控制交换机。按图上所示配置好IOLAN+的IP地址(192.168.1.3)、PC1机的IP地址(192.168.1.2)和PC2机的IP地址(192.167.1.2)。PC1机和通信服务器同在192.168.1.0网段,而PC2机在另一个网段。

图3 通过IOLAN连接示意图
爱立信的IOG端口接头比较特殊,原机提供了一根连接IOG端口和PC机串行端口的RS232连线。我又做了一根辅助连线,把IOLAN+的端口连接到原来的这根RS232连线上,这样IOLAN+端口就和IOG端口连接起来了。由于通信服务器有两种型号,即使用RJ45接口的IOLAN+Rack和使用DB25的IOLAN+,因此辅助连线的接法不同。图2分别提供了用于这两种型号通信服务器的辅助连线接法。
在PC1机上使用TCP/IP的连接方式安装WinFIOL通信程序,并配置好通信程序的参数。
配置好PC1机后,点击WinFIOL通信程序的Connect,建立连接,在PC1机的屏幕上出现了交换机的控制界面,现在就可以远程控制交换机了。
同样,在PC2机上安装并配置好WinFIOL通信程序后,也可以成功地从PC2机上远程控制交换机。要注意,在PC2机上需要设置到达通信服务器IOLAN1的路由。
两个优点
这种结构有两个特点:首先,PC机和IOG间的距离不再受RS232的限制,只要网络能到达的地方就可以从这里控制交换机。其次,由于在一台PC机上可以同时运行多个WinFIOL通信程序,只要赋给Portnumber字段不同的IOLAN+端口号,就可以连接到多个IOG端口上,因此可以在一台PC机上同时执行多个任务,使用方便了,PC机的利用率也提高了。根据同样的原理,我们可以自己编程来实现对其他类型的交换机进行远程控制。