发信人: shixudong(5270)
整理人: zjnovell(2002-01-10 15:12:27), 站内信件
|
单网卡无盘站实现上交所场外报盘系统
(原文刊发于《中国证券信息技术》2001年第五期)
双网卡场外报盘系统图示:(略)
PC网关机既要联接会员单位的局域网(IPX),也要联接室内单元的Local Router(TCP/IP),因此需要两块网卡。一块网卡与上交所连接,捆绑TCP/IP协议;另一块与营业部的服务器连接,捆绑IPX协议。捆绑TCP/IP协议的网卡建议选用NE2000、DLINK、3COM等大众型网卡,中断3,地址300;捆绑IPX协议的网卡的类型、中断与地址设置由营业部决定,不能与第一块网卡设置冲突。
正常交易期间,一旦网关机或其某一块网卡发生故障,都会中断营业部与交易所的连接,此时,营业部必须立刻用另一台机器或网卡替代出错的设备,但由于多块网卡的缘故,设置比较复杂,而且倘若是机器故障,还需恢复运行环境,费时更多。较好的办法是营业部预先准备一台机器,安装两块网卡,配好运行环境,作为网关机的冷备份。但该方法也有如下缺点:
1、 报盘程序放在本机硬盘,程序升级时必须同时升级冷备份机器;
2、 网关机有两块网卡,发生故障时,难免手忙脚乱,插错网线;
3、 浪费一台有盘机和一个机架的位置。
那么,有没有更好的办法呢?既能实现网关机的备份,又能避免这些缺点。本文提出了一个新的方案,即用单网卡无盘站实现上交所场外报盘系统。一旦网关机或其网卡发生故障,营业部可以马上用另一台无盘站代替。此时,报盘程序放在服务器硬盘,程序升级只需一次;网关机只有一块网卡,一般不会插错网线;可以用任何一台无盘站实现,不需要固定的有盘站。
笔者对报盘程序运行环境仔细分析后发现,网关机连交易所所用的TCP/IP协议基于NDIS驱动程序,而连营业部所用的IPX协议基于ODI驱动程序。通常情况下,一块网卡只能支持一种底层驱动程序,所以报盘机需要双网卡运行环境。为了用单网卡实现报盘系统,需要对原系统做如下三点改动:
(一) 网络连接改变
单网卡场外报盘系统图示:(略)
将室内单元的Local Router也接入本地网络。
(二) 前面提过,一块网卡只能支持一种底层驱动程序,为了使单网卡同时支持两种协议,
必须让这两种协议基于同一个底层驱动程序。一个办法是修改其中一种协议,让它与另一种协议使用相同的底层驱动程序,然而这对于本系统来说不太现实;另一个更为可行的方法是找一个转换程序,让它把一种底层驱动转化为另一种驱动,就本系统而言,可以用两种转换程序来实现,分别把ODI转换为NDIS或者相反。考虑到用无盘站实现报盘系统,此处采用将ODI转换为NDIS的方法 ,也可以认为NDIS运行于ODI之上,转换程序ODINSUP.COM通常位于NOVELL的DOS客户端NWCLIENT目录下。
(三) 原系统的TCP/IP协议采用HP ARPA Services,所占磁盘容量较大,而且配置较为
复杂。在采用无盘站实现报盘系统时,可以采用Microsoft TCP/IP,它的容量小,配置也简单。
下面介绍安装单网卡无盘站场外报盘系统的详细步骤:
1、 临时准备一台dos有盘站,单块网卡,并用该网卡的odi驱动程序连接novell服务器;
2、 从winnt4光盘的CLIENTS\MSCLIENT\NETSETUP目录运行setup安装Microsoft Network Client for MS-DOS version 3.0;
3、 选择安装目录,默认为C:\NET;
4、 输入用户名,在下一屏,需要的话,可以改变安装选项;
5、 改变网络配置,系统默认采用IPX/SPX Support Driver,移去该默认驱动,选用ODI/NDIS Support Driver,移去默认协议NWLink IPX Compatible Transport;
6、 安装程序提示选一协议,请选用Microsoft TCP/IP,回退到网络配置屏幕,应该显示ODI/NDIS Support Driver 和 Microsoft TCP/IP
7、 选中Microsoft TCP/IP,改变设置:set Disable Automatic Configuration to 1禁用dhcp,然后设置ip地址、掩码和网关,注意用空格而不是句点分隔4个十进制数;
8、 配置完后,安装程序提示输入转换程序ODINSUP.COM所在路径,通常为c:\nwclient;
9、 重新输入Microsoft Network Client for MS-DOS version 3.0所在路径;
10、 安装完成后,提示按<ENTER>重启、按<F3>不重启,按<F3>退出setup;
11、 生成无盘引导的镜像文件netndis.sys,该文件与通常的net$dos.sys相比有几点改动:
a、 将有盘站C:\NET目录下的ifshlp.sys文件拷至软盘;
b、 修改config.sys文件,在文件尾追加device=ifshlp.sys,为利用高端内存,建议加载himem.sys和emm386.exe;
c、 修改net.cfg文件,必须使得odi驱动程序绑定四种帧格式。
Link Driver NE2000
PORT 300
IRQ 3
FRAME Ethernet_802.3
FRAME Ethernet_802.2
FRAME Ethernet_SNAP
FRAME Ethernet_II
12、 将原网关机ssewxoiw目录内容拷至服务器,如F:\SSEWXOIW;
13、 将有盘站上生成的C:\NET目录拷至服务器,如F:\NET,至此,有盘站使命结束;
14、 修改bootconf.sys文件,用netndis.sys引导无盘站,成功登陆后,继续执行如下步骤;
15、 修改F:\NET目录下的文件system.ini、protocol.ini、tcputils.ini,修改后文件内容如下:
SYSTEM.INI
[network drivers]
transport=tcpdrv.dos,nemm.dos
devdir=f:\NET ;必须修改,指向正确目录
LoadRMDrivers=yes
[Password Lists]
*Shares=F:\NET\Shares.PWL ;必须修改,指向正确目录
PROTOCOL.INI
[network.setup]
version=0x3110
netcard=odinsupmac,1,ODINSUPMAC,1
transport=tcpip,TCPIP
lana0=odinsupmac,1,tcpip
[TCPIP]
NBSessions=6
DefaultGateway0=211 3 88 254 ;LOCAL ROUTER IP ADDRESS
SubNetMask0=255 255 255 0
IPAddress0=211 3 88 1 ;网关机IP地址
DisableDHCP=1 ;禁用dhcp,必须为1
DriverName=TCPIP$
BINDINGS=NE2000 ;默认为ODINSUPMAC,必须修改
LANABASE=0 ;成ODI驱动程序名,如NE2000,
;若该名以数字打头,如3C509,则
[protman] ;此处必须在其前添X,即X3C509
DriverName=PROTMAN$
PRIORITY=MS$NDISHLP
[ODINSUPMAC]
TCPUTILS.INI
[tcpglobal]
drivername=GLOBAL$
hostname=shi ;本行必须添加,但名称可随意
[sockets]
drivername=SOCKETS$
bindings=TCPIP_XIF
numsockets=4
numthreads=32
poolsize=3200
maxsendsize=1024
[telnet]
drivername=TELNET$
bindings=TCPIP_XIF
nsessions=0
max_out_sends=0
16、 修改F:\NET目录下的文件services:删除gateway 10003/tcp行,在文件尾追加四行:
trdeng 8001/tcp
trdeng 8002/udp
gateway 8011/tcp
gateway 8012/udp
17、 在F:\NET目录下创建批处理文件tcpip.bat,内容如下:
@echo off
map r a:=sys:net
net initialize
odinsup
netbind
tcptsr
nmtsr
sockets
18、 修改报盘用户注册正本,将F:\NET目录加入搜索路径,映射逻辑盘M:、N:;
19、 无盘站用报盘用户登陆,运行tcpip.bat,应能ping通交易所gateway地址;
20、 也可使用iptest.exe测试通信线路,但必须用十六进制编辑器修改iptest.exe,搜索"pinge.exe",将"c:\hpnet\netprog\pinge.exe"改为"f:\net\ping.exe"。
上文介绍了安装单网卡无盘站场外报盘系统的具体步骤,安装完成后,即可使用netndis.sys引导的无盘站,取代原网关机运行报盘程序。若要更换报盘机,只需修改bootconf.sys文件。也可在bootconf.sys文件里指定多台无盘站使用netndis.sys引导,这些无盘站,平时执行自己的工作,一旦无盘网关机发生故障,立即运行报盘程序,成为新的网关机。
本文用单网卡无盘站实现的报盘机基于双向卫星VSAT系统,但也完全适用于DDN方式。
---- [email protected]
|
|