15.1需要解决的问题
在计算中心的局域网上有一个或多个Server计算机,通过Ethernet连接在一起,并通过该以太网上的一个路由器(如:CISCO路由器)接入X.25公共分组交换网。在远程有多个安装UNIX操作系统的PC机,通过X.25专线接入公共分组网,使用TCP/IP协议与计算中心的Server计算机交换数据,网络拓扑结构如下所示。
当远程的PC机与分组交换网之间的专线出现故障后,PC机将无法入X.25分组交换网。本文档中给出如何使用电话网的拨号线作为线路备份,作为应急措施,以保证PC机在X.25专线故障时仍能与Server机通信。
15.2 单路由器异步拨号备份
15.2.1 备份策略
使用路由器的一个同步通信口,通过X.25分组网专线接入分组交换网,路由器另有一个或多个异步通信口,使用异步PPP协议(或SLIP协议),连接调制解调器(设置为自动应答状态),接入电话网。在PC机一侧,使用两个调制解调器,一个设为同步通信方式,连接万林克X.25网卡,通过X.25分组网专线接入分组交换网;另一个调制解调器设为异步工作方式,连接PC机内置的串行通信口COM1或COM2,接电话拨号线,作为X.25线路故障时的备份线路。当X.25专线畅通时,PC机通过X.25分组交换网与路由器通信,从而与Server计算机交换数据;当X.25专线由于故障不通时,PC机通过内置的串行通信口COM1(或COM2),使用第二个调制解调器拨通路由器的异步通信口上的自动应答MODEM,从而直接在PC机和路由器之间建立一条通路,使用异步PPP协议与路由器通信,从而与Server计算机交换数据。使用这种方案,需要在PC机上配置好异步PPP协议和万林克X.25网卡,分别使用X.25和PPP与路由器通信,测试成功后,启动后台进程/etc/vl2routed,该进程时刻监视着X.25线路状态,根据X.25线路的状态在两条路由之间自动切换,切换工作无需人工干预。
15.2.2 连网实例和配置数据
下面给出一个使用CISCO 2501路由器的连网实例,介绍路由器和PC机的配置。
工作原理:vl2routed进程每隔1秒检查一下万林克X.25网卡的线路状态。当线路正常时,vl2routed会选择“凡是去往网络13的数据报送往100.1.1.2”这样一条路由,这样,PC会通过X.25接口发送去往Server的数据,到达路由器后,由路由器转发给Server,从Server到PC的数据按这条路径返回。
当X.25线路断掉后,vl2routed会选择“凡是去往网络13的数据报送往18.1.1.2”这样一条路由。这样,当有去往Server的数据报时,PC会主动拨号拨通CISCO的Async1端口,随后,vl2routed会通过RIPv2协议通过新接通的拨号线路向CISCO通报“凡是去往主机100.1.1.1的数据报送往18.1.1.1”。vl2routed在X.25线路断开期间每隔30秒,就通过RIPv2协议向CISCO发送这一报文,因为CISCO在三分钟内如果收不到对这一路由的刷新,CISCO会将这一路由作废(这是RIP协议的规定)。在X.25线路断开期间,在拨通CISCO路由器的MODEM之后,PC机和CISCO中各有这样一条路由:
PC机内路由:凡是去往网络13的数据报送往18.1.1.2(PC至Server方向的数据报使用这一路由)
CISCO内路由:凡是去往主机100.1.1.1的数据报送往18.1.1.1(Server至PC方向的数据报使用这一路由)
当X.25线路恢复后,VL2routed会将本地PC机路由改为“凡是去往网络13的数据报送往100.1.1.2”,并停止每30秒一次地向CISCO刷新“凡是去往主机100.1.1.1的数据报送往18.1.1.1”。在CISCO作废这条路由(需要3分钟以上时间)之前的过渡期内,PC机和CISCO中路由:
PC机内路由:凡是去往网络13的数据报送往100.1.1.2(PC至Server方向的数据报使用这一路由,通过X.25发送数据)
CISCO内路由:凡是去往主机100.1.1.1的数据报送往18.1.1.1(Server至PC方向的数据报使用这一路由,使得PC机通过拨号线接收IP数据报)。
在过渡期内,PC通过X.25向Server发送IP数据报,但却从未断开的拨号线接收数据。待CISCO将先前的路由作废之后,CISCO将沿X.25向PC发送Server至PC的数据报,导致拨号线空闲。拨号线空闲一段时间后(这个时间可以从PC的/etc/ppphosts文件中的idle参数设置,例:idle=2,即两分钟)主机PC会挂断拨号线路。进入X.25正常工作时的稳定状态。
需要特别注明的是,PC机的IP地址应当是100.1.1.1 ,如果PC机的地址不是100.1.1.1,根据前述的原理,将无法完成路由自动却换。但是PC机有两个IP地址,分别是100.1.1.1和18.1.1.1。如何保证本地PC机的IP地址是100.1.1.1呢?如果X.25线路畅通,vl2routed已启动,则这时启动的程序如:ping,ftp或用户自编的程序,使用100.1.1.1作为PC机自己的IP地址,否则程序使用18.1.1.1作为PC机自己的IP地址。如果程序使用了18.1.1.1作为PC机自己的IP地址,通信仍然照常,唯一的问题是在X.25线路由断开变畅通后无法切换回X.25,断开拨号线。应用程序强制使用100.1.1.1作为本地IP地址,可以在应用程序内,在执行connect()系统调用建立一个TCP连接或UDP通路之前,先用bind()函数将本机IP地址绑定为100.1.1.1(一般程序没有这一调用,是由系统自动指定本地IP地址为100.1.1.1或18.1.1.1,即:当去往目的地的路由选择网段为100的路由时,为100.1.1.1;当去往目的地的路由选择网段为18的路由时,为18.1.1.1)。
在X.25线路畅通,vl2routed启动,这时系统启动的程序会默认选择100.1.1.1作为PC机自己的IP地址。
(1) CISCO 2501的配置
CISCO 2501的同步串行通信口 Serial0 设为X.25,X.25地址为100112,IP地址为100.1.1.2,子网号为100;异步通信口AUX设为PPP,IP地址为18.1.1.2,子网号为18;以太网口IP地址为13.1.1.22,子网号为13。以太网上Server计算机的IP地址为13.1.1.100。下面列出CISCO 2501的全部配置数据清单。
需要特别注意的是:在 interface Async 1 段中,一定要有 async default routing 行;在 router rip 段中,一定要有 network 18.0.0.0 行。
!
version 11.1
!
hostname Router
!
enable secret 5 $1$xXCD$klbJJrknJcLQ8zx76SHZG/
enable password jjjddd
!
!
interface Ethernet0
ip address 13.1.1.22 255.0.0.0
no ip mroute-cache
!
interface Serial0
ip address 100.1.1.2 255.0.0.0
no ip mroute-cache
encapsulation x25
x25 address 100112
x25 htc 8
x25 map ip 100.1.1.1 100111
x25 map ip 100.1.1.2 100112
!
interface Async1
ip address 18.1.1.2 255.0.0.0
no ip mroute-cache
encapsulation ppp keepaline 10
async default routing
async mode dedicated
no cdp enable
!
router rip no auto-summarg no validate-update-source
network 100.0.0.0
network 13.0.0.0
network 18.0.0.0
(2) PC机配置
---- 安装好异步拨号PPP,本地地址为18.1.1.1,对方为18.1.1.2,
配置方法见SCO UNIX手册。
重点是对以下四个文件的配置
/etc/hosts
/etc/ppphosts
/usr/lib/uucp/Systems
/usr/lib/uucp/Devices
---- 安装万林克X.25网卡,本地地址为100.1.1.1,在执行 mkdev vl2 命令时系统会
提问:
Do you want to use this computer as an IP router (y/n)?
回答这一问题时一定要答y。
---- 配置修改vl2routed的工作参数
编辑文本文件/etc/vl2/vl2routed,对于上图中的连网实例,这一文件中几个参数的取值为:
LOCAL_X25_WAN_IP_ADDR 100.1.1.1
LOCAL_BACKUP_WAN_IP_ADDR 18.1.1.1
ROUTER_X25_WAN_IP_ADDR 100.1.1.2
ROUTER_BACKUP_WAN_IP_ADDR 18.1.1.2
DESTINATION_TYPE NET
DESTINATION_ADDR 13
实际上,这几个参数描述了上图的拓扑结构,目的地是一个子网,子网号为13,本机出发到子网13有两条路由,即:
使用X.25的主路由 100.1.1.2-->100.1.1.1
使用PPP的备用路由 18.1.1.1-->18.1.1.2
参数DESTINATION_TYPE可以指定目的地是一个子网(NET)或主机(HOST),地址由DESTINATION_ADDR指定。
参数MAIN_ROUTER_ETH_ADDR和参数BACKUP_ROUTER_ETH_ADDR均设为0.0.0.0,这两在双路由器拨号备份时才用得到。
参数TRACE:可以设为ON或OFF。TRACE设为ON时,vl2routed每次检测到X.25状态变化(通-->断,断-->通)并进行路由切换时,都在屏幕上印出一条信息,每次vl2routed向路由器发送路由信息时,也打印一条信息。当TRACE设为OFF时,vl2routed在工作时,不打印任何信息。
参数DELAY:设置vl2routed启动后延迟工作的时间(单位:秒)。当X.25刚刚启动后,可能本地主机正在与分组交换机之间进行X.25的物理层/链路层/分组层的握手和初始化工作,这项工作正在进行,尚未完成时,如果立即启动vl2routed,它检测到此时的X.25状态为DOWN,会误以为X.25线路故障而启用备用路由,实际情况是X.25尚未启动完毕。为防止这种现象发生,可以设置参数DELAY的值(默认为10秒),以缓期对X.25状态的检测。
需要特别指出的是,在采用这种拨号备份方案时,PC机的系统管理员一定要将启动vl2routed的命令加入到UNIX的某个开机自动执行的批处理文件中(如:SCO UNIX 3.2v4的/etc/tcp文件,SCO UNIX 3.2v5的/etc/tcp.vl2文件);或者每次在开机后手工键入命令/etc/vl2routed。否则,vl2routed不工作。 如果它不工作,就不可能实现X.25主路由和备用路由之间的自动切换。 可以用命令 ps -ef | grep vl2routed,查看这一后台进程是否正在工作。
在PC机的系统管理员将启动vl2routed的命令加入到UNIX的某个开机自动执行的批处理文件中后,系统启动vl2routed时,可能X.25刚刚启动,有必要设置参数DELAY以缓期它对X.25状态的检测。
---- 关于routed进程
在有的版本的SCO UNIX中,系统常常会由于PC机自身的路由表发生动态变化,使得本地PC与Server连通不久后,由于丢失路由而通信失败。 这时,可以使用命令 netstat -rn 检查路由表的内容。 如果确实是由于路由丢失的原因,可以用kill命令杀死系统中动态修改路由表的进程routed和gated等,然后使用route add命令和route delete命令,修改路由表以满足通信要求。 也可以直接修改开机自动执行的批处理文件/etc/tcp,将启动routed和gated进程的有关行行首加#号,改为注释,使其不起作用。 这样,本机的路由表就变成了相对稳定的静态路由表,在开机自动执行的批处理文件中合适的位置增加route add命令,将路由表设得可以满足通信需要。 采用静态路由表就会避免上述路由表动态刷新而出现的路由丢失现象。
15.3 双路由器异步拨号备份
此方案与使用单路由器异步拨号备份的原理和方案类似。在配置时,/etc/vl2/vl2routed文件中参数MAIN_ROUTER_ETH_ADDR应设为13.1.25.1,BACKUP_ROUTER_ETH_ADDR应设为13.1.25.11。
工作过程:当PC机的X.25线路断开后,PC机修改自身的路由表为“凡是去往网络13的数据报送往18.1.1.2”,当有去往网段13的数据时,PC机会拨通到备份路由器的拨号线。通过这一通路,使用RIPv2协议设置备份路由器的路由为“凡是去往主机100.1.1.1的数据报,送往18.1.1.1”,PC机数据报可以通过拨号线到达路由器,然后通过备份路由器到主路由器之间的以太网连接向主路由器发RIPv2协议的数据报,(该数据报的目的地址为MAIN_ROUTER_ETH_ADDR参数设定的地址,即13.1.25.1)。将主路由器的路由设为“凡是去往主机100.1.1.1的数据报送往13.1.25.11”(即参数BACKUP_ROUTER_ETH_ADDR)。这样,PC机、主路由器、备份路由器三者各含有下列路由:
PC机:凡是去往网络13的数据报,送往18.1.1.2
备份路由器:凡是去往主机100.1.1.1的数据报,送往18.1.1.1
主路由器:凡是去往主机100.1.1.1的数据报,送往13.1.25.11
PC机会通过拨号线对上述路由每30秒钟刷新一次,直到X.25专线通畅后才停止刷新。
在上述路由表的指示下,上行数据(PC机至Server)和下行数据(Server至PC机)均能正确地寻到目的地。
当X.25线路由断开到通畅的切换过程中,X.25线路正常后,vl2routed会立即停止每30秒一次地对备份路由器和主路由器的路由刷新工作,按RIPv2的协议规定,大约3分钟后备用路由器和主路由器才废掉原来的路由,恢复正常通信。在过渡期内,上行(PC至Server)数据和下行(Server至PC)数据采用两条不同的路由(分别通过X.25和异步拨号线PPP),但过渡期内通信仍能正常进行。在过渡期之后,PC至备用路由器之间的拨号线路上没有数据传送,一段时间后(由/etc/ppphosts中的idle参数设置,例:idle=2,即为2分钟),拨号线断开,恢复正常的X.25通信时稳定状态。
PC机IP地址问题见“单路由器异步拨号备份”方案中的说明,程序一定要使用100.1.1.1作为自己本地的地址。
15.4 单路由器同步拨号备份
15.4.1 备份策略
路由器需要有两个或两个以上的X.25端口,在此,以CISCO 2501为例。它有两个同步串行通信口,Serial0由于通过专线接分组交换网,Serial 1 接一个处于自动应答状态同步工作方式的MODEM。当远程的某一PC的专线断开后,PC的MODEM直接拨通接到CISCO的Serial 1 上的MODEM,从而直接在CISCO和PC之间建立一条应急的备份线路。通过这条由电话拨号建立起的直达通路,PC机与Server机之间通过TCP/IP交换数据。 整个切换工作自动完成,无需人工干预。
15.4.2 配置实例
拓扑结构如下。
设CISCO的Serial 0所接分组网专线的X.25地址为38111234,
设PC所接分组网专线的X.25地址为38111236,
设CISCO的Serial 1 上MODEM接入电话网的电话号码为62013456,(以上数据应由邮电局的网管部门提供)给每一个PC都分配一个与CISCO的Serial 1同一子网的虚拟IP地址。
设这一PC的虚拟IP地址为20.1.1.2,给CISCO的Serial 1设置一个虚拟X.25地址87654321 (这一地址必须与分组网上任意地址不重复)。
工作原理:在PC机一侧,由于设置了路由“凡是去往网络30的IP数据报送往10.1.1.1”,那么,去往主机30.1.1.2的数据报将被送往PC机的X.25接口(IP地址为10.1.1.2)的Driver并告知Driver,将这一数据报送往10.1.1.1。分两种情况:第一种情况,当X.25专线线路畅通的情况下,在Driver得到X.25线路是一个应当送往10.1.1.1的数据报后,根据IP地址10.1.1.1查阅IP地址/X.25地址映射表得:与10.1.1.1有关的条目首两项,即:
10.1.1.1 38111234
10.1.1.1 87654321 <20.1.1.2 20.1.1.1>
首先使用第一项,Driver会以“被叫地址为38111234,主叫地址为38111236”的X.25呼叫分组呼叫,由于现在MODEM通过专线接入分组交换网。这样,这个呼叫请求通过分组交换网到达CISCO的Serial0端口的某一虚电路。CISCO Serial0得到这个呼叫请求“被叫地址为38111234,主叫地址为38111236”后,首先,检查被叫地址为38111234,与CISCO的Serial0配置x25 address 38111234相符合(否则CISCO会拒绝这一呼叫),并且,根据主叫地址38111236查阅Serial0的X.25/IP地址映射表,与x25 map ip 10.1.1.2 38111236相符合,这两个条件满足后,CISCO会同意建立这样一条X.25虚电路连接,并认定这条虚电路通往10.1.1.2。这样,PC至CISCO之间就有一条X.25虚电路链接。在PC侧将这一虚电路标为通往10.1.1.1的,在CISCO侧将这一虚电路标为通往10.1.1.2的。PC与Server之间就通过这一虚电路连接传送数据。
第二种情况,PC机一侧的X.25专线断掉后,MODEM会检测到这一情况,MODEM认定专线断掉后,会自动拨号(号码事先存入MODEM内,MODEM事先设置成“断线后自动拨号”工作方式)到CISCO的Serial1端口。这时,PC的X.25接口至CISCO的Serial1之间实质上以“背对背”直连方式接通,X.25三层协议重新启动并握手成功。
当PC有送往网络30的数据时,根据PC机内部事先设好的路由,系统会命令Driver将这一数据送往10.1.1.1。Driver得到一个应当送往10.1.1.1的数据报之后,查阅本地主机的IP地址/X.25映射表(有两项)即:
10.1.1.1 38111234
10.1.1.1 87654321 <20.1.1.2 20.1.1.1>
首先使用第一项,Driver会以“被叫地址为38111234,主叫地址为38111236”的X.25呼叫分组呼叫,该呼叫请求将会沿拨号线到达CISCO的Serial1端口,CISCO由于在检查被叫地址38111234与该端口的x25 address 87654321不相符合,因而拒绝建立这一虚电路连接。随后,PC机会得知使用IP地址/X.25地址映射表的第一项呼叫10.1.1.1失败,因而启用第2项:10.1.1.1 87654321 <20.1.1.2 20.1.1.1>,DRIVER会立即以“被叫地址为87654321,主叫地址为38111236”的X.25呼叫分组重新呼叫。这一呼叫请求沿拨号线到达CISCO的Serial1之后。首先,检查被叫地址87654321与x25 address 87654321吻合,检查通过,然后,根据主叫地址38111236 查阅Serial1的X.25/IP地址映射表,与x25 map ip 20.1.1.2 38111236相吻合,这样,CISCO会同意建立这样一条X.25虚电路,并认为这一条虚电路是通往20.1.1.2的。一旦这一条虚电路建立后,Driver会根据前述IP/X.25地址映射表行中的<20.1.1.2 20.1.1.1>给20.1.1.1发送一个RIP v2协议报文,内容是“凡是去往主机10.1.1.2的数据,送往20.1.1.2”,这部分由Driver完成,并且每隔30秒发送一次(否则CISCO会在三分钟后作废这一条虚电路,这是RIPv2协议的规定),一旦该连接建立成功,Driver将不拆除这一连接,直到拨号线断开。
这样,在PC与CISCO之间建立一条虚电路,PC机将这条虚电路标为“通往10.1.1.1”,而在CISCO侧却标为“通往20.1.1.2”。而且CISCO内有一条路由“凡是去往10.1.1.2的数据送往20.1.1.2”。
PC至Server方向数据:IP数据报的地址为30.1.1.2,根据PC机当前路由表配置(该路由表自始至终不需要修改),系统会命令X.25 Driver将该数据报送往10.1.1.1。在PC机内已有一条标为“通往10.1.1.1”的虚电路,这样,数据沿这一虚电路到达CISCO的SERIAL 1,CISCO得到这一目的地址为30.1.1.2的数据报之后会沿以太网将数据转发到Server 。PC至Server之间的通信完成。
Server至PC方向数据:IP数据报目的地址为10.1.1.2,Server首先通过以太网将这一数据交给CISCO。CISCO内有一条路由指定“凡是去往主机10.1.1.2的数据送往20.1.1.2”,在CISCO内已有一条标为“通往20.1.1.2”的虚电路,这样CISCO就将目的地为10.1.1.2的数据报交给Serial1接口(因为Serial1的IP地址20.1.1.1与20.1.1.2同一网段),Serial1得到这一数据报后,正好有一条标记为“通往20.1.1.2”的虚电路连接,就沿这一虚电路发送数据,到达虚电路另一端,即PC机。数据成功地收到。
这样上行(PC至Server)方向和下行(Server 至PC )数据,都能成功传送,从而得证了PC与Server之间的通信。
当PC的X.25 专线恢复正常之后,由于MODEM自动切换到专线一侧,原有虚电路连接断开。CISCO 的Server1由于X.25链路断开,会立即作废“凡是去往主机10.1.1.2的数据送往20.1.1.2”这一路由(不需要过渡期)。这样,X.25通信又恢复正常通信。
如果路由器有多个同步端口,在路由器一侧用于同步拨号备份的MODEM可以设多个,共用同一个电话中继线式的电话号码。假设路由器有3个同步口连接用于备份的MODEM,3条电话线具有相同的电话号码Tel. 62013456。
PC机一侧的MODEM 设为“专线断时自动拨Tel. 62013456”,这样,PC 机一侧专线断开时,电话拨号可能会拨通路由器三个同步口中任一个。配置方法为:
Serial0 (接分组网专线)
encapsulation x25
x25 address 38111234
ip address 10.1.1.1 255.0.0.0
x25 map ip 10.1.1.2 38111234
Serial1:
encapsulation x25 dce
X25 address 87654321
ip address 20.1.1.1 255.0.0.0
x25 htc 16
x25 map ip 20.1.1.2 38111236
Serial2:
encapsulation x25 dce
x25 address 22010101
ip address 22.1.1.1
x25 map ip 22.1.1.2 38111236
Serial3:
encapsulation x25 dce
x25 address 23010101
ip address 23.1.1.1
x25 htc 16
x25 map ip 23.1.1.2 38111236
设置RIP协议
Router Rip
no auto_summary
no validate_update_source
network 10.0.0.0
network 20.0.0.0
network 22.0.0.0
network 23.0.0.0
network 30.0.0.0
注意:Serial1 至3的x25 address 一定要互不相同并且是不被实际X25网络采用的地址。
PC 机/etc/addr 文件:
10.1.1.1 38111234
10.1.1.1 87654321 <20.1.1.2 20.1.1.1>
10.1.1.1 22010101 <22.1.1.2 22.1.1.1>
10.1.1.1 23010101 <23.1.1.2 23.1.1.1>
读者可自行分析。当PC机的X.25专线断开后无论MODEM 拨通Serial1-3 中的哪一个,都能保证PC与Server之间的通信畅通。
(1) CISCO的配置
Serial 0端口按常规配置。
encapsulation x25
x25 address 38111234
ip address 10.1.1.1 255.0.0.0
x25 map ip 10.1.1.2 38111236
Serial 1端口配置:
---- MODEM
设为同步串行工作方式,自动应答方式。
---- X.25参数:工作方式设为DCE方式,X.25地址设为87654321
encapsulation x25 dce
x25 address 87654321
ip address 10.1.1.1 255.0.0.0
x25 htc 16
---- X.25-IP地址MAP:
x25 map ip 20.1.1.2 38111236
.
. (其它PC的配置)
.
(2) PC的配置
---- MODEM
应当有两个电话线插口,一个接X.25专线,另一个接电话线(可以与办公电话并联)。对MODEM进行配置,使得它在专线断时,自动从拨号线拨电话号码62013456(具体配置方法见MODEM厂商提供的手册)。这要求MODEM有“专线断后自动拨号”功能。许多常见MODEM都提供这种功能。可以直接观察MODEM外观,在背后的电话线插口有两个,一个用于标为专线(LEASED),一个标为拨号线(DIAL),这样的MODEM大部分有此功能。当然,MODEM应设为同步工作方式。
---- X.25网卡的IP地址设为10.1.1.2
---- 本机的虚拟IP地址20.1.1.2,X.25地址38111236,
CISCO Serial 1的IP地址20.1.1.1,虚拟X.25地址87654321。
按下列格式,填入万林克X.25-IP地址映射表
10.1.1.2 38111236
10.1.1.1 38111234
10.1.1.1 87654321 < 20.1.1.2 20.1.1.1 >
---- 设置路由表
在SCO UNIX 3.2v4中,应执行下列命令:
route add net 30 10.1.1.1 1
在SCO UNIX 3.2v5中,应执行下列命令:
route add -net 30 10.1.1.1
---- 测试
按上述配置,PC就可以与Server机30.1.1.2通信。
ping 30.1.1.2
这样,正常情况下,PC机使用X.25分组交换网通过CISCO与Server机通信;当PC机入X.25分组交换网的专线由于故障断掉后,MODEM会自动拨号到Tel.32013456,然后,本地PC机与Server之间的通信继续。路由切换自动完成无需人工干预。
---- 关于routed进程
在有的版本的SCO UNIX中,系统常常会由于PC机自身的路由表发生动态变 化,使得本地PC与Server连通不久后,由于丢失路由而通信失败。 这时,可以使用命令 netstat -rn 检查路由表的内容。 如果确实是由于路由丢失的原因,可以用kill命令杀死系统中动态修改路由表的进程routed和gated等,然后使用route add命令和route delete命令,修改路由表以满足通信要求。 也可以直接修改开机自动执行的批处理文件/etc/tcp(对SCO UNIX 3.2v5来说,是文件/etc/tcp.vl2),将启动routed和gated进程的有关行行首加#号,改为注释,使其不起作用。 这样,本机的路由表就变成了相对稳定的静态路由表,在开机自动执行的批处理文件中合适的位置增加route add命令,将路由表设得可以满足通信需要。 采用静态路由表就会避免上述路由表动态刷新而出现的路由丢失现象。
15.4.3 特点
---- 同异步拨号备份相比,这种方法只需在PC侧配置一个MODEM,节省设备,节约投资。
尤其是网络中PC机个数较多时。
---- 路由器同步端口的数量限制了整个网络中同一时间内可使用备份线路的PC机
个数。为解决这一问题,可以选用含有多个同步端口的路由器。
---- 同异步拨号备份相比不需要启动vl2routed来负责路由切换。
15.5 双路由器同步拨号备份
使用这一方案的原理与单路由器同步拨号备份方案相同。PC机还必须知道主路由器和备份路由器各自的以太网接口的IP地址(MAIN_ROUTER_ETH_ADDR和BACKUP_ROUTER_ETH_ADDR)以便于在专线断开后,PC机去修正两路由器的路由。这两个IP地址在PC机的/etc/param 中手工增加两行:
MAIN_ROUTER_ETH_ADDR 30.1.1.1
BACKUP_ROUTER_ETH_ADDR 30.1.1.254。
对于上述图例方案配置方法为:
主路由器Serial0:
encapsulation x25
x25 address 38111234
ip address 10.1.1.1 255.0.0.0
x25 map ip 10.1.1.2 38111236
主路由器设置RIP协议
router rip
no auto_summary
no validate_update_Source
network 10.0.0.0
network 30.0.0.0
备份路由器:
Serial0:
encapsulation x25 dce
x25 address 87654321
ip address 20.1.1.1 255.0.0.0
x25 map ip 20.1.1.2 38111236
Serial1
encapsulation x25 dce
x25 address 22010101
ip address 22.1.1.1 255.0.0.0
x25 map ip 22.1.1.2 38111236
PC 机一侧:
文件/etc/param增加两行
MAIN_ROUTER_ETH_ADDR 30.1.1.1
BACKUP_ROUTER_ETH_ADDR 30.1.1.254
(当采用单路由器同步拨号备份方案时必须删除该文件中上述两行)
文件/etc/addr:
10.1.1.1 38111234
10.1.1.1 87654321 <20.1.1.2 20.1.1.1>
10.1.1.1 22010101 <22.1.1.2 22.1.1.1>
工作过程:当X.25专线断开时,PC机的MODEM的拨通了备份路由器的Serial1。那么当有数据需要送往Server时,PC机内系统根据路由表配置,命令Driver 将这一数据送往10.1.1.1,Driver 会根据IP/X.25地址映射表查表。得到三项,逐次按第一项、第二项、第三项顺序呼叫。前两项都会失败(因为呼叫请求到达Seroal1 时CISCO会因被叫地址与自己端口的实际地址x25 address 22010101不符合而拒绝)。当试第三项时呼叫成功,(被叫地址22010101,主叫地址38111236)并且PC机标记这一虚电路连接是“通往10.1.1.1”的.而在备份路由器的Serail1则根据主叫地址38111236查表认定该虚电路连接是“通往22.1.1.2”的。Driver 根据这一项里尖括号内容以22.1.1.2身份,沿虚电路发送给22.1.1.1的RIPv2 报文说“凡是去往主机10.1.1.2的数据,送往22.1.1.2”,使CISCO修正自己的路由表。然后通过这一拨号线路向备份路由器发送报,并由文径由备份路由器转发到以太网,向主路由器30.1.1.1(由/etc/param文件中的参数MAIN_ROUTER_ETH_ADDR指定)发送一个RIPv2报文,内容是“凡是去主机10.1.1.2的数据,送往30.1.1.254”(30.1.1.254 是参数BACKUP_ROUTER_ETH_ADDR指定的)。
主路由器内路由:“凡是去主机10.1.1.2的数据,送往30.1.1.254”
备份路由器内路由:“凡是去10.1.1.2的数据,送往22.1.1.2”
备份路由器由内Serial1 保持了一条X.25虚电路连接,标记为:“通往22.1.1.2”
PC机内保持了一条X.25虚电路连接,标记为:“通往10.1.1.1”
这样,PC至Server方向和Server至PC方向数据皆可畅通,从而保证PC与Server之间的通信。更详细的分析请参阅“单路由器同步拨号备份方案”。
sdccf 回复于:2002-11-03 15:44:38 |
ok |
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/