如何配置Cisco路由器中的Modem
在路由器中配置Modem有两种方法:使用路由器自动寻踪和配置常见的Modem初始化字符串(自动配置)、手工配置Modem。本文主要以Cisco 2511路由器为例详述Modem的配置。
配置Modem分为三个步骤:连接Modem、配置线路、配置Modem。
一般来说,连接Modem的方法和有关内容可参阅用户指南或路由器安装向导。有些路由器(如 Cisco AS5200 Universal Access Server)已经内置集成Modem,无需外接Modem。
配置线路需要进入线路配置模式,指定所要配置的线路号并答应拨号登录。以Cisco 2511路由器为例,配置1~16条线路的命令是(黑体部分表示输入内容,下同):
2511> enable
passWord:
2511# configure terminal
Enter configuration commands, one per line. End with CNTL/Z
2511(config)# line x (x = 路由器配备的最多线路数目;8或16,Cisco 2511路由器为16条)
2511(config)#
进入线路配置模式后,使用表1中列出的命令配置所连线路的Modem。
下面是配置表1中命令的实例:
2511(config-line)# speed 115200
2511(config-line)# flowcontrol hardware
2511(config-line)# modem inout
线路配置完后,就可以设置连接在路由器上的Modem的字符串了。
配置路由器外接Modem这一步比较复杂,它包括Modem通信连接、自动配置Modem、手工配置Modem、测试拨号连接等步骤,下面具体阐述这一过程。
Modem通信连接/
路由器异步线路与Modem连接后,就可以建立与Modem的直接Telnet对话通信。这个过程也称为反向远程登录Telnet( reverse Telnet)。反向远程登录的意思是经由异步线路启动Telnet对话,而不是接收传至线路的连接,即所谓的正向连接(forward connection)。
建立Modem的直接Telnet对话
Modem要建立直接的Telnet对话连接,需要确定以太局域网的IP地址接口,然后输入Telnet命令到路由器的2000+n端口上。这里,n是连接Modem的路由器上的线路标号。例如,Modem连在线路标号1上,那么,在特权模式下从路由器上输入下列命令:
Router# telnet 172.16.1.10 2001
Trying 172.16.1.10 2001... Open
该例子说明网管员能使用AT命令集在线路1上与Modem进行通信。使用ip host 配置命令可以简化Modem的直接Telnet对话, ip host 命令将端口的 IP地址映射为设备名。假如不能连通Modem,网管员则可以检查以下几个原因,可能是其中的一个或者几个因素导致连通失败。
1.在特权模式下,使用show users命令,线路上没有显示有Modem在使用。
2.确认线路配置中是否加上了modem inout语句。
3.在特权模式下,使用show line命令,屏幕输出中应包含下面两行:
Modem state:Idle
Modem hardware state: CTS noDSR DTR RTS
假如没有上述内容,则需检查仿真终端所连接的路由器在其线路上登录时是否需要密码,检查Modem 与路由器之间的速率是否一致。两者的速率可能不一样,假如不同的话,先关闭Modem,然后重新开启,这样可以使Modem和路由器的速率保持匹配关系。
测试Modem连接
建立了Modem的直接Telnet对话后,还要测试连接。发送Modem的AT命令,应该收到Ok的回应。假如Modem对AT命令没有回应,则按下列步骤检查原因:
1.查看show line 1 命令的屏幕输出。假如Modem硬件状态显示为“no CTS”,说明Modem未接上。这时要打开电源,等待数据。
2.检查电缆和Modem配置(回显或返回码应处于关掉状态),输入适当的AT命令查看Modem的配置,或是输入at&f返回到出厂默认值。
挂起和终止Modem的Telnet对话
线路接收呼入呼叫之前,直接的Telnet对话连接必须终止。假如不终止对话,线路仍在使用,这时使用show user 命令,就会在输出上显示Modem的状态为就绪。假如线路不再使用,使用show line value命令,则输出为空闲(idle)状态。
挂起Telnet对话之后才能终止对话,然后再断开连接。要想挂起Telnet对话,需按Ctrl+Shift+6 x 组合键(先按Control+Shift+6,松开,之后按x键)。在特权模式下输入disconnect命令也能终止Telnet对话。
挂起和断开Telnet对话的步骤是:
1. 输入Ctrl+Shift+6 x组合键挂起Telnet对话:
-suspend keystroke-
2511#
2. 输入where命令查看打开的对话:
2511# where
Conn Host Address Byte Idle Conn Name
* 1 172.16.1.10 172.16.1.10 0 0 172.16.1.10
2 172.16.1.11 172.16.1.11 0 12 modem2
3. 挂起一个Modem 的对话后,可以连接另一个Modem(然后挂起):
2511# telnet modem2
Trying modem2 (172.16.1.11, 2002) ... Open
- suspend keystroke -
2511#
4. 断开对话(完全关闭)输入 disconnect 命令:
2511# disconnect line 1
Closing connection to 172.16.1.10 [confirm] y
2511# disconnect line 2
Closing connection to 172.16.1.11 [confirm] y
2511#
在尝试答应拨入连接前,先要确定关闭所有接在路由器上的与Modem的连接。假如有一个Modem端口在使用,那么,Modem就不能正确接收呼叫。
建立和测试完成了与Modem的连接后,就进行下一步的工作。
自动配置Modem
Cisco IOS软件能使用初始字符串自动配置大多数类型的Modem。Modem初始字符串是一系列参数设置,网管员可以用指定方式发送这些参数使之与路由器相互作用完成配置工作。Cisco IOS软件定义了七种初始字符串用来正确配置大多数的Modem,使之与路由器完成相应功能。这些初始字符串的名称是:Codex_3260、Usr_courier 、Usr_sportster 、Hayes_optima 、Global_village 、Viva 、Telebit_t3000。
假如不知道哪一种Modem的字符串适于网管员的Modem,可以使用Modem autoconfigure discovery线路配置命令,如下所示:
2511# configure terminal
2511(config)# line 1 16
2511(config-line)# modem autoconfigure discovery
2511(config-line)# Ctrl-Z
2511# copy running-config startup-config
Cisco IOS 软件首先使用第一个字符串检测Modem初始化是否正常,假如不正常, Cisco IOS 软件将循环使用下面的字符串反复检测Modem,直至找到合适的字符串为止。假如没有合适的字符串来初始化Modem,就得手工配置Modem。假如清楚网管员的Modem可以用上述的初始字符串配置,就可以输入 modem autoconfigure type type 命令,在这里type 是前面所列字符串中的一个。假如列出了特定的Modem类型,那么初始化会很快完成。下例显示如何进入线路配置模式,并使用 modem autoconfigure type type 命令配置美国产的 Robotics Sportster型号的Modem。
2511(config-line)# modem autoconfigure type usr_sportster
手工配置Modem
假如不能自动配置Modem ,就得手工配置。下面介绍如何手工配置外接Modem :
1.配置 Modem 初始化字符串
Modem 命令集的内容差别非常大,尽管大多数的Modem使用的是Hayes 命令集(命令的前缀是AT), 但是与Hayes兼容的Modem并不使用相同的 AT命令集。通常情况下,可以输入AT命令诸如&v,i4,或是*o检查设置。大多数情况下可以使用 AT&F 作为基本的Modem 初始化字符串。
2.确定Modem初始字符串
Robotics Courier Modem的初始字符串的样例如下:
&b1&h1&r2&c1&d3&m4&k1s0=1
Modem初始化字符串具有下述功能:锁定端口速率、设置硬件流控制(RTS/CTS)、确保正确的DCD操作、确保正确的DTR解释 、在第一次振铃时回应呼叫 。
锁定端口速率
锁定Modem到路由器串口的速率。一定要将自动波特率检测关掉,因为Modem 的速率必须设定为固定值。
当与远程Modem建立会话连接时,端口速率是不能改变的。假如路由器端口速率改变了,就必须与Modem建立直接的Telnet会话连接并发送AT命令,只有这样,Modem才能学会新的速率。Modem锁定EIA/TIA-232(串口)速率的方法不同。在Modem的随机文档中,供货商使用如端口速率调整,速率变换,或缓冲模式这样一些术语来描述。启用纠错功能时经常是把Modem置于缓冲模式。可参阅有关文档了解Modem是如何锁定速率的(检查设置项&b,j,&q,n或s-寄存器设置)。
设置硬件流控制(RTS/CTS)
Modem和路由器间必须使用预备发送(RTS)和清除发送(CTS)信号以控制数据流。软件流控制的错误配置或是未配置流控制将导致对话挂起和数据丢失。Modem处理硬件流控制的方法是不同的(检查设置项&e,&k,&h,&r或s-寄存器设置)。
确保正确的DCD操作
当路由器与远程Modem创建对话和通信联络时,Modem必须使用数据载波检测(DCD)为路由器提供指示。多数Modem使用的设置项为&c1。
确保正确的DTR解释
Modem必须解释终端预备就绪(DTR)双稳电路往返切换的信号命令,以启动和关闭呼叫并返回到存储设置。多数Modem使用的设置项为&d2或&d3。
在第一次振铃时回应呼叫
假如Modem用于接受呼入呼叫,那么它就得配置成在指定的铃响次数后回应呼叫。大多数Modem使用s0=1设置项在铃响一次后回应呼叫。
检查Modem的其他设置项
这部分内容定义了Modem也许能用得上的或值得一提的其他设置项。
最佳纠错能力
两台Modem在通信过程中能够进行纠错处理,以保证数据连接的可靠性。纠错标准包括LAPM和MNP4。V.42纠错也可以商定成用LAPM或MNP4代替。Modem的纠错方法有所不同,可参阅相关文档搞清其纠错方法。
最佳数据压缩
Modem之间可以商定数据压缩方式以传输更多的数据。数据压缩标准包括V.42 bis和MNP5。Modem数据压缩方法有所不同,可参阅相关文档搞清楚其数据压缩设置方法。
初始化Modem
一旦设定了Modem的初始化字符串,就可以按照下列步骤配置Modem。本例是在线路1上(十进制数2000+线路号1=2001)配置美国生产的Robotics Courier Modem:
步骤1 将主机名映射成十进制端口。端口号是2000x加上TTY线路号。下例中将端口2001映射到路由器的Ethernet0接口的IP地址172.16.1.10上:
Router(config)# ip host modem1 2001 172.16.1.10
Router(config)# exit
Router#
步骤2 建立到Modem的直接Telnet对话连接:
Router# telnet modem1
Trying modem1 (172.16.1.10, 2001)... Open
步骤3 返回到Modem的出厂值(这步可选):
at&f
OK
步骤4 用初始化字符串配置Modem。下例是Robotics Courier Modem的字符串:
at&b1&h1&r2&c1&d3&m4&k1s0=1
OK
步骤5 将设置存储在Modem的NVRAM 中:
at&w
OK
有的Modem在加电时启用存储的设置,而不是使用缺省值。
步骤6 挂起和断开Telnet 对话连接:
- suspend keystroke -
Router# disconnect
Closing connection to modem1 [confirm] y
Router#
script-reset线路配置命令可以自动配置Modem。
测试拨号连接
现在路由器和Modem均已正确配置成拨号登录方式。在配置线路的其他协议之前(如SLIP、PPP或 ARA),还要测试拨号连接。
在客户端的DTE(数据终端设备)和Modem使用同样的配置。要确保客户端的Modem所连接的EIA/TIA-232线缆和Modem初始字符串的正确性。
下面是连接Robotics Courier Modem的PC机成功拨号接至Cisco 2500系列路由器的一个实例:
at&f&c1&d3&h1&r2&b1&m4&k1&w
OK
atdt9,5551234
CONNECT 14400/ARQ/V32/LAPM/V42BIS
User Access Verification
Username: hello
Password:
Router>
Modem 配置实例
在Cisco 2511 路由器的线路 1至16上配置Robotics Courier Modem,并支持硬件流控制。
2511(config)# line 1 16
2511(config-line)# speed 115200
(!假如配置了控制台端口,就不要输入下列命令)
2511(config-line)# flowcontrol hardware
2511(config-line)# modem inout
2511(config-line)# modem autoconfigure discovery
2511(config-line)# modem autoconfigure type usr_courier
需要非凡指出的是,假如Modem在“自动配置Modem”列表中未列出,要进行下面的配置工作:
● 建立直接到Modem的Telnet对话连接;
● 配置Modem的初始字符串;
● 初始化Modem。
无论是手工还是自动配置Modem后都要测试拨号连接,以确保在配置拨号协议之前具备了基本的连接功能。