Cisco路由器配置手册(第2版)

978-7-115-27798-5
作者: 【美】David HucabySteve McQuerryAndrew Whitaker
译者: 付强张人元
编辑: 傅道坤王旭丹

图书目录:

详情

本书是应用广泛的思科路由器的配置手册,覆盖了路由器配置的每一个方面,包括路由器的配置基础、网络协议、数据包处理、语音/电话技术、安全等知识。

图书摘要

ciscopress.com

Cisco路由器配置手册(第2版)

Cisco Router Configuration Handbook Second Edition

〔美〕David Hucaby,CCIE#4594 Steve McQuerry,CCIE#6108 Andrew Whitaker 著

付强 张人元 译

人民邮电出版社

北京

本书是一本关于在 Cisco 路由器上进行特性配置的内容全面的参考书。全书共分为14章,分别介绍了基础配置、接口配置、拨号技术、IPv4及IPv6寻址与服务、IP路由选择协议、IP多播路由、IP路由处理、QoS技术、MPLS技术、语音技术、路由器安全技术、VPN技术,以及访问控制列表和正则表达式。本书附录中较全地收录了有关 Cisco IOS 版本与文件名协定、布线快速参考、SNMP MIB、密码恢复、配置寄存器、IP多播地址、Tcl脚本语言、以太网类型代码、ICMP类型代码以及IP协议号与端口号的信息。

本书层次分明、阐述清晰、分析透彻、理论与实践并重。不仅适合准备CCNA、CCNP或CCIE认证考试的人员阅读,也是从事计算机网络设计、路由器管理和运维工作的工程技术人员必不可少的现场参考资料。

David Hucaby,CCIE #4594,是肯塔基大学的首席网络工程师,他使用Cisco产品设计、实施和维护了肯塔基大学的校园网络。在此之前,他是一名资深网络顾问,向客户提供以Cisco产品为基础的VPN和IP电话技术解决方案的设计和实施的咨询服务。Hucaby先后从肯塔基大学获得了电气工程专业的学士学位和硕士学位。他还是《CCNP Switching Exam Certification Guide》一书(由Cisco Press出版)的作者。

Stephen McQuerry,CCIE #6108,作为一名讲师和咨询人员,在网络行业具有10年以上的工作经验。他是一名Cisco系统认证讲师(CCSI),同时还是一名课程顾问/课程开发人员,并为Global Knowledge公司讲授路由和交换的概念。McQuerry会定期讲授Cisco企业课程。此外,他还自行开发了Cisco交换课程,并负责该课程的讲授工作。他从东肯塔基大学获得了工程物理专业的学士学位,他还是《Interconnecting Cisco Network Device》一书(由Cisco Press出版)的作者。

Andrew Whitaker,在过去 7年多以来,他一直负责Cisco课程的讲授和开发工作。他持有如下认证:CCNP、CCVP、CCSP、CCDP、CCNA安全、MCT、CEI、CISS、LPT、CEH、ECSA、MCTS、MCSE、CNE、A+、Network+、Security+、Convergence+、CTP、CICP、CHFI、EMCPA。他还是多本书的作者,其中包括Cisco Press出版的《Penetration Testing and Network Defense》。

Steven Kalman,是Esquire Micro Consultants公司的行政人员,该公司提供讲学、写作和咨询服务。他在数据处理领域具有 30 多年的经验,其强项是网络设计和实施。Kalman是Learning Tree International公司的讲师和作者,他曾经写作并审阅了多本与网络相关的图书。他持有 CCNA、CCD、ECNE、CEN 和CNI认证。

Joe Harris,CCIE #6200,持有路由/交换方向、安全和SP方向的CCIE认证,在Cisco公司内担任系统工程师,在安全和MPLS相关的技术方面卓有建树。他在IT领域内的高级技术方面,具有16年的丰富经验。Joe一直侧重于对规模不一的且与 Cisco 技术相关的企业网络的支持。他还为所有规模的公司、本地政府和联邦结构提供高端的咨询。Joe 从路易斯安那理工大学获得了学士学位,当前与他的妻子和两个孩子居住在德克萨斯州的弗里斯科市。

Dave Hucaby:将本书献给我的妻子Marci和我的两个女儿Lauren、Kara。很幸运家里面能有这三位聪慧的姑娘,她们的爱、鼓励和支持伴我一路前行。

Steve McQuerry:将本书献给我美丽的爱妻Becky,以及我聪明可爱的孩子们:Katie、Logan和Cameron。你们是我的灵感火花。你们的忍耐、爱和支持给了我勇气和力量,从而让我能够坚持写作本书。尽管为此花费了很多时间,但是我要告诉你们:我爱你们!

Dave Hucaby:非常感谢能够再有机会与Cisco Press合作。对我而言,能够涉足技术图书的写作是一种乐趣,这为我的职业生涯中添加了一抹亮色,当然,我也会为此付出很多努力。事实上,Cisco Press的编辑同仁提供了额外的努力,使得本书的写作充满愉悦,并最终成书。Brett Bartow,谢谢你接受我在写作时提出的那些观点,并对我们进行激励,以争取在最后期限之前完稿,而在此之前,我们认为这是不可能的。Chirs Cleveland,你是一位超级棒的开发编辑。事实上,我在创作本书期间遇到的每一位Cisco Press的员工都相当友好,而且对他们的工作充满热情。

谢谢我们的技术审稿人员Steve Kalman和 Joe Harris。写作一本技术图书是一项很具有挑战性的工作,Cisco IOS软件命令和特性的绝对数量和范围相当多,因此非常感激审稿人员能够帮助我们在组织结构和准确性方面把握宏观大局,这样我们就可以安心处理配置命令的细节问题。在Cisco IOS软件的帮助下,可以对路由器进行很多配置工作,而本书则是这一切配置工作的见证者。我不记得本书涵盖了几百条命令,但是我们已经剔除了一些较少使用的命令,从而控制本书的知识范围和页码厚度。说实话,我对IOS软件表现出来的健壮性及其动态性质相当吃惊。

我还要谢谢我的朋友Steve McQuerry,他同时也是本书的合著者。我们已经交往多年,能够与他合作写作本书仍然让我心存激动。希望我们肯塔基男孩能够在更多项目上展开合作。

最后,我还要感谢在本书第一版写作中途,偷走我笔记本电脑的那个家伙。无论你是谁,你给了我一个深刻的教训,那就是一定要进行备份。在多年之前,我创作了一个愚蠢的笑话:“一个备份相当于 100 万个字节,尤其在你不得不重新输入这些内容时”。确实如此!

Steve McQuerry:大约20年之前,已故的Rodger Yockey给了我一个机会,让我成为计算机业界的一名现场工程师。从那时起,在我人生的关键场合,总有一些贵人帮我沿着正确的方向发展。正是因为这些人的帮助,我才能达到今天的这个高度。对一个人来说,很少能够有机会对帮助他、为他的职业发展提供指导的人表示感谢。幸好,我有这样的一个机会!除了Rodger之外,我还要感谢Ted Banner给我的指导和辅导,同时还要谢谢Chuck Terrien给我了机会,让我成为一名Cisco产品线的讲师。我还要谢谢Brett Bartow给了我为Cisco Press写书的机会,让我可以与网络团体分享我的工作经验。最后,我还要特别感谢我的朋友,同时也是本书的合著者Dave Hucaby。本书的创作源自于他的想法,谢谢他能给我机会与他再次一起共事。希望在将来,我们能够继续合作。

由于我只是在几年前开始图书和课程项目的工作,所以我对编辑、整理、出版,以及让作者安心写作等有了新的认识。在每一本 Cisco 图书背后都有一个卓越的工作人员,如果不对他们的付出进行致谢,那将是我的失职。Chirs Cleveland,很荣幸能够与你再次共事。希望在将来,我们还可以继续共事。

如果没有如下人员在幕后的付出,本书只不过是由杂乱的笔记和网络配置草图形成的一个堆砌物而已。

本书上一版和这一版的技术编辑,他们具有犀利的眼神,能够发现各种错误,他们是 Joe Harris、Steve Kalman、Alexander Marhold和Kevin Turek。

我的学生和Global Knowledge的老师:你们提出的问题和挑战为我提供了动力,从而在写作时更加注意内容的可理解性。

我的妻子和孩子:在我写作本书以及其他工作期间,你们给予了我无尽的包容和理解。

更重要的是,谢谢上帝赋予了我技巧和才分,让我有机会从事这样一个具有挑战性和令人振奋的职业。

Andrew Whitaker:我要感谢Dave Hucaby和Steve McQuerry给了我与他们共事的机会。能够与Bret Bartow和Chris Cleveland共事,是我的荣幸。最后,谢谢Steve Kalman和 Joe harris,谢谢你们为了保证本书的质量而付出的努力。

本书与《Cisco局域网交换机配置手册》(第2版)属同一系列丛书,两书在写作风格上如出一辙。这里需向读者说明一下,这套配置手册丛书可以说是《Cisco现场手册》系列的第2版,但在其基础上做了较大改动,与时俱进地删去了过旧的技术,增加了IPv6方面的内容,并更新了大量12.4、12.4T甚至15.x的命令。

将本书说成是一本配置手册,不如将其比喻成一本配置命令的“备忘录”。几百页的内容里共介绍了千余条的配置命令,这不难看出本书内容上的侧重方向。所以译者这里敬告各位读者:如果你没有系统地学习过 Cisco 技术,或只是一名刚接触网络技术的初学者,请不要盲目选择此书!如果你需要一本路由器配置与管理的中文配置手册或速查工具书,此书将是不二的选择!

很多“命令大全”之类的书籍,淘汰的速度要远快于技术类书籍。命令的变更也是令很多技术工作者头疼的地方。但 Cisco 不同于其他厂商,读者可以发现Cisco的IOS从古老的11.x,到广泛使用的12.x,再到如今的15.x,配置命令变化甚微,而且每次版本的变动都是由于某些技术的更新换代所致,绝大多数的配置命令和配置思想未曾改变。所以读者无需过多担心本书的内容是否过时,它所传递的配置思想才是最重要的。

本书的翻译工作由我和一位英语专业的好友共同完成:本人主持本书的翻译,并担当全书的审校工作,张人元译第2、第6、第10至第14章并负责全书的文字润色工作。

我曾期望将此书翻译成一本完全按照中文习惯来叙述的中文版图书,但在翻译过程中,受限于本人的中文修养,最后未能完全做到这一点,但我尽量做到叙述通顺、准确。另外,由于本书覆盖范围广泛,加之自身技术水平有限,译文中难免有不当之处,敬请读者谅解。如果读者对本书的译文有所质疑,可以通过邮件进行交流,我会尽力答复。

致谢

还是先要感谢我的父母,感谢你们的养育之恩,我的每一次进步都归功于你们对我的良好家教和家庭的和睦。能将一本自己翻译的书籍作为礼物献给你们,这也许是儿子当前能做到的最大的孝顺了。

同样要感谢现任领导叶洪铸对我翻译工作的支持和理解,您不光是我工作上的伯乐,更是位生活上的朋友。还要感谢 56cto 论坛的代兄(红盟过客)对译文无私地审校工作,你真的是一位对技术和生活都抱有热情和激情的人,每次看到你的头像,联想到的总是“坚忍不拔”四个字。

感谢本书的合译者张人元,能将你我的名字写在一起,是我的心愿,也是我的荣幸。我们的故事,如人饮水,冷暖自知。用句伪 IT的话讲:“Daemon for you, root for me”。

最后,特别感谢傅道坤先生以及人民邮电出版社的幕后工作人员们对译者翻译质量和水平的肯定,希望今后我们能在更广阔的领域中继续合作。

付强

power_foo@yahoo.com

2012年2月于哈尔滨

本书使用的图标

在本书中,你会看到用来表示网络设备的如下图标。

下面的图标用来表示外围设备和其他设备。

命令语法惯例

本书命令语法遵循的惯例与IOS命令手册使用的惯例相同。命令手册对这些惯例的描述如下。

粗体字表示照原样输入的命令和关键字,在实际的设置和输出(非常规命令语法)中,粗体字表示命令由用户手动输入(如show命令)。

斜体字表示用户应提供的具体值参数。

■ 竖线(|)用于分隔可选的、互斥的选项。

■ 方括号([])表示任选项。

■ 花括号({})表示必选项。

■ 方括号中的花括号([{}])表示必须在任选项中选择一个。

当前,与 Cisco 网络设备的配置相关的资料和文档相当多,但是对网络从业人员来说,大多数都无法提供快捷和便携式的解决方案,而本书的主旨则是以一种快速和简单的参考指南的方式来提供配置 Cisco 路由器时常会用到的那些特性。从本质上讲,该主题涉及与Cisco IOS软件文档相关的所有图书,以及其他的网络参考资料,并把所有这些相关内容汇集成册,以方便读者携带、阅读。

关于本书的这个想法来自于我在准备CCIE笔试和机试时所形成的学习习惯。随着时间的推移,我开始将与Cisco路由器不同特性的配置相关的手写笔记汇编到一个笔记本中,并经常会将这个笔记本携带到部署现场,以方便答疑解惑。当你在工作时,如果有人询问你如何配置一个你不是很熟悉的特性,那么,你包里面的这本便携式参考手册就可以派上用场了。希望这本书可以成为你的便携式参考手册。

特性和组织方式

本书旨在作为网络管理员或网络工程人员在日常任务中会经常使用到的工具手册,鉴于此,我们避免在书中出现与协议或命令的操作相关的大段说教性信息和理论。这些理论知识可以在其他相关主题的图书上找到。

针对Cisco IOS软件的每一个特性,本书每章都是先给出一个快览,然后给出配置步骤,随后是对其配置选项进行解释。

如何使用本书

本书中的所有内容都具有一个可以快速参考的格式,如果你知道自己要使用什么特性或技术,你可以直接翻阅相关章节。而且本书的每一节都使用索引(可以同时显示章和节的序号)进行编号,以方便读者快速参考。例如,13-3就是第13章的第3节。读者还会发现,在每一页都有阴影索引标签,上面列出了节的序号、章主题,以及该节中讲解的主题。

与特性相关的事实

每一章的每一节都包含一个项目符号列表,它以快览的方式列出了这一节要讲到的特性、技术或协议。参阅这些列表可以快速学习或复习该特性的工作方式。紧接着,我们给出了协议使用的协议或端口号的详细介绍。如果你正在配置过滤器或防护墙,并且想知道如何允许或阻断流量,则可以查询这些信息。

配置步骤

每一节中的每一个特性都包含用于常见配置的必选命令和可选命令,两者的区别是,其配置步骤的格式不同。如果你遵循大纲的格式,你可以配置一个复杂的特性或技术。如果你发现不需要某些特性选项,则可以在大纲中将其略过。

配置示例

每一节都会包含一个示例,用来演示如何配置某些命令及其相关选项。我们已经努力保证示例中的命令是按照顺序列出来的,以方便读者在输入这些命令时能够遵循大纲的格式。有时候,我们很难学习和理解真实路由器中的配置示例,原因就在于其中的命令是以预定义的顺序显示的,而不是以你输入时的顺序进行显示。在可能的情况下,书中的示例都已经进行了修剪处理,以只显示当前节中列出的命令。

后续阅读

每章末尾都包含一个推荐阅读的清单,以帮助读者查询与所讨论主题相关的更详细的资料。

本章介绍了以下配置基础知识的背景资料和配置信息。

1.1 用户界面

1.2 文件管理

1.3 CDP(Cisco发现协议)

1.4 系统时间

1.5 日志功能

1.6 系统监控

1.7 SAA(服务保证代理)

1.8 缓存管理

1.9 部分排错工具

路由器支持用户使用命令行界面(CLI)、网页浏览器或GUI设备管理工具等多种方式访问路由器。路由器还提供了一种用来访问ROM monitor自举代码的用户界面。

用户可以在用户级别或特权级别执行相应的 IOS 命令。用户级别提供了基本的系统信息和远程连接的命令。特权模式提供了查看路由器所有信息、配置编辑、调试命令的全部方法。

路由器提供了多种级别的配置模式,使用户可针对各种不同的需求来进行具体的配置。

上下文敏感的帮助系统可在任何用户提示符下提供命令语法及命令选择帮助。

IOS软件执行过的历史命令可以被保存下来,历史命令也可以被编辑并重新使用。

可以对命令的输出进行搜索和过滤,以便快速地找到有用信息。

连接到路由器的CLI参数可以被设置成优选值。

路由器上的异步端口可以连接到其他串行设备。可以使用反向 Telnet(Reverse Telnet)连接到外部设备来实现远程访问。

可为设备定义多种标语,使之显示在不同的登录方式中。

可以定义菜单,帮助终端会话用户更容易地使用其他功能或访问远程系统。

基于角色的访问控制(RBAC)功能可为特定的角色定义一组规则。可以限制用户管理和配置命令使用的权限。

可以配置路由器,使用户通过安全Shell(SSH)版本1或版本2进行设备访问。

注释:1 译者注:本书命令部分的目录结构统一使用以下格式表示:一级目录使用数字1、2、3…;二级目录使用字母a、b、c…;三级目录使用符号●或■。

1.用户界面模式。

a.用户EXEC模式。

Router>

用户可以通过Console端口、Auxiliary端口、Telnet会话、SSH会话或安全设备管理器(SDM)的方式连接到一台路由器。默认情况下,初始访问到一台路由器时,用户将处于用户EXEC模式,此模式提供了一组有限的命令。当连接到路由器时,可能需要输入一个用户级别的密码。

b.特权EXEC模式。

(exec)1enable

注释:1 译者注:(exec)表示用户EXEC模式或特权EXEC模式,提示符分别为>和#。

  password: [password]

当用户处于用户EXEC模式时,可使用命令enable进入特权EXEC模式或称之为enable模式。此模式下将可以使用所有命令。想要离开特权EXEC模式,可使用命令disable或exit。

c.全局配置模式。

(exec)configure terminal

从特权 EXEC 模式可以进入全局配置模式。在配置模式下可以输入命令来配置任何IOS软件镜像所支持的路由器特性。当用户处在配置模式下,可对路由器上的活动内存进行管理。无论何时,在配置模式下输入一条有效的命令后按下Enter 键,内存内容将立刻随之改变。配置模式是以层次化的方式组织起来的。比如全局配置模式下配置的命令将影响着整台路由器。而接口配置模式下的命令用于配置路由器的接口。所以,用户可以根据配置的内容在多种模式之间切换。想离开全局配置模式并返回特权 EXEC 模式,可以输入命令 exit。无论用户处在何种配置模式,想直接退回特权EXEC模式的话,可输入命令end或按下Ctrl-z组合键。

2.用户界面特性。

a.命令的输入。

(any mode)command

(any mode)no command

命令可以在任何模式(EXEC 模式、全局配置模式、接口配置模式、子接口配置模式等)下输入。想要启用某个特性或参数,通常输入相应命令及其选项即可,即上面的command。想停用一个正在生效的命令,在原命令前面加no。查看当前生效命令有哪些,可以在特权模式下使用 show running-config这条命令。从这条命令的输出中,可以注意到有些命令或参数被默认设置,而有些设置后却不会显示出来。

命令及其附带的选项可以被尽可能地简化,前提是不会出现不确定的命令。比如用户想进入 ethernet 0的接口配置模式,可将命令 interface ethernet 0缩写成int e 0。

用户可以使用左右方向键在命令行中移动光标以实现编辑的目的。如果输入额外的字符,那么原命令将被新字符分隔开。也可以使用 Backspace 键或 Delete 键来对命令行进行修改。

注意 如果在输入命令行的时候,路由器显示了控制台信息或错误消息,可以按Ctrl-l1或Ctrl-r组合键来重新显示刚才未完的命令行来继续编辑。也可以通过使用命令 logging synchronous配置线口(console、vty或 aux)来让路由器在输出后自动刷新命令行。如果在 logging synchronous开启的前提下使用debug命令,可能要等待路由器执行完这条命令(例如ping)后才能观察到路由器的输出。

注释:1 译者注:在某些IOS中是Ctrl-i而不是Ctrl-l。

b.上下文敏感帮助。

用户可以在命令行中任意位置输入问号(?)来从路由器获取额外的信息。如果仅仅在提示符后输入一个问号键,那么当前模式下的所有可用命令都会显示出来。问号也可以使用在命令、关键字或选项的后面。如果输入的问号前面有空格,将列出所有可用的关键字或选项。如果在某个单词后面不加空格直接输入问号键,将列出所有以问号前面的字符串开头的可用命令。这种输入问号的方法在处理不确定的命令或标记为错误的缩写命令时很有用。

如果一个缩写命令没有歧义时,可以在缩写命令后面输入Tab键。缩写命令会自动补全成完整命令。

如果输入的命令行语法不正确,路由器将返回一条错误信息“% Invalid input detected at ‘^’marker”。被检测出语法错误的位置用插入符号(^)在命令下方标出。

c.历史命令。

(可选)设置保存的命令数量(默认 10 条)。可使用以下命令来设置当前终端会话上的历史命令数量。

(exec)terminal history [size lines]

可使用以下命令来设置线口上所有会话的历史命令条数。

(line)2history [size lines]

注释:2 译者注:(line)表示线路配置模式,提示符为(config-line)#。

可以调用历史命令以便再次使用。

在任何输入模式下,按下一次上方向键(↑)或者按下Ctrl-p组合键可调出上一条历史命令。按下一次下方向键(↓)或按下Ctrl-n组合键可调出下一条最近命令。当命令从历史记录中被调出时,可以就像刚刚输入过一样编辑这些命令。

命令 show history可显示已保存的历史命令。

注意 上下方向键需要使用兼容ANSI的终端模拟器(即VT100)。

d.命令输出的查找与过滤。

从show命令中筛选输出的方法如下所示。

(exec)show command … | {begin | include | exclude} reg-expression

命令 show 可能会产生很长的输出清单。如果输出所包含的行数比终端会话所能显示的行数多时(可使用 length 参数设置行数),系统将逐屏显示输出,并在每屏输出的底部带有--More--的提示符。按空格键可查看下一屏的输出。按Return键可查看下一行的输出。想要退回到命令行,可按下Ctrl-c组合键、按下Q键,或者键盘上的任意键,只要不是Enter键或空格键即可。

想要查询某个具体的正则表达式并且从查询到的条目开始输出结果。可以使用关键字 begin。如果用户的路由器配置文件中有许多端口时,此关键字将非常有用。可以使用关键字begin直接跳到想要的命令行,而无需多次使用空格键来找到某条配置。如果只想列出包含正则表达式的那一行命令,可以使用关键字 include。如果想列出不包含正则表达式的所有命令行,可使用关键字exclude。

从more命令中筛选输出的方法如下所示。

(exec)more file-url | {begin | include | exclude} reg-expression

命令more用于显示路由器上某个文件中的内容。典型的应用就是显示启动配置文件(more nvram:startup-config)或当前配置文件(more system:running-config)。默认情况下,文件将被逐屏的显示出来,并在输出的底部带有--More--的提示符。

想要查询某个具体的正则表达式并且从查询到的条目开始输出结果。可以使用关键字 begin。只想列出包含正则表达式的那一行命令,可以使用关键字include。如果想列出不包含正则表达式的所有命令行,可使用关键字exclude。

从--More--提示符下搜索输出的方法如下所示。

(--More--){ / | + | - } regular-expression

在--More--提示符下,用户可以通过输入斜杠(/)后跟一正则表达式来对输出进行搜索。若只想显示包含正则表达式那一行命令,按加号键(+)。只想显示不包含正则表达式的命令行,按减号键(-)。

什么是正则表达式呢?

正则表达式常被用来匹配输出的命令行,可以由多种模式构成。它既可以是简单的文本格式的字符串(比如ethernet或ospf)。也可以是较为复杂的匹配模式。一般来说,正则表达式是用来指示出 show 命令输出中特定位置的正则字符或字符串。

更为复杂的正则表达式则由明简单文本格式的符串加运算符构成。表 1-1列出了作为运算符所使用的字符。

表1-1 通配符字符

3.终端会话。

a.开启新会话。

(exec)telnet host

此命令将建立一条到主机host的Telnet连接(host可以是一个IP地址,也可以是一个主机名)。连接建立之后,用户可在路由器的 CLI 下和远端的主机继续通信。

b.命名会话。

(exec)name-connection

Connection number:number

Enter logical name:name

可以为活动会话定义一个字符串名称,以便在使用 show sessions或 where命令时,更容易的识别会话。

c.挂起会话去执行其他操作。

在与一个主机建立好Telnet会话期间,按下Ctrl-Shift-6组合键后再按x(也可写作Ctrl-^x)可以挂起会话。Ctrl-^是IOS的组合键,附加的x告诉路由器挂起会话。此操作结果是挂起Telnet会话的同时返回到本地路由器的命令行提示符。

注意 可以将多个已打开的Telnet会话嵌套起来。例如,用户在本地路由器上Telnet另一台路由器A,之后又在路由器A上Telnet到另一台路由器B,如此类推。想要挂起众多会话中的某一个,也必须嵌套地使用组合键。按下一次Ctrl-^x挂起到路由器A的会话并返回到本地路由器。按下Ctrl-^Ctrl-^x将挂起到路由器B的会话并返回到路由器A的提示符(在多组组合键的最后按下x键)。

d.显示所有活动会话。

(exec)show sessions

该命令将列出所有在本地路由器打开的连接会话以及连接号。也可以使用命令where来得到同样的结果。

e.返回到某个特定会话。

首先,使用命令 show sessions来获取期望会话的连接号。之后只需在自身命令行下输入连接号,便可将挂起的会话重新激活。也可以在命令行提示符下直接按下Return/Enter键,这样会将最近一次使用的活动会话重新激活。在会话列表中,带有星号(*)的连接为最近一次使用的活动会话。这种方法使得本地路由器与单个远端会话之间的切换更加容易。

注意 当恢复某条挂起的会话时,会收到如下提示消息“[Resuming connection 2 to Router…]”。如想将设备的提示符刷新出来,可以按Ctrl-r组合键或者Ctrl-i组合键或Enter键。

f.结束活动会话。

(remote session)Ctrl-^x

(exec)disconnect connection-number

当远端会话被挂起后,可以使用命令disconnect来结束会话并关闭此Telnet连接。否则,这条会话将一直处于打开状态直到与远端主机连接超时(如果设置了超时时间)。

g.终端屏显格式。

设置当前会话的屏显尺寸。

(exec)terminal length lines

(exec)terminal width characters

设置所有会话的屏显尺寸。

(line)length lines

(line)width characters

宽度 characters 乘以高度 lines 构成了屏幕的格式。当命令的输出行数超出lines 参数所设置的行数时,系统将提示--More--提示符。如果不想在逐页的输出中看到--More--。可以使用命令 length 0。默认的会话高度是 24行。默认的宽度是每行80个字符。

h.允许临时锁定终端会话。

此命令可以保持这条会话开启的同时,通过一临时性的密码,阻止他人访问此会话。想要启用此特性,首先需使用线路配置命令 lockable。之后在用户或特权EXEC模式下使用命令lock设置密码,临时地锁定当前会话。恢复会话时,系统将提示输入密码。

i.反向Telnet连接。

连接一条异步串行路由器线路。

路由器上的任何异步线路都能用来支持到外部设备(Cisco 路由器或交换机的Console端口)的远程连接。使用控制台“反转”线缆或高密度的接入服务器线缆来将本地路由器的异步线路连接到外部设备的异步串行端口或 Console 端口上。Cisco接入服务器上的AUX端口或任何异步串行线路都可以用来实现反向Telnet连接。

在线路上启用Telnet协议。

(line)transport input telnet

(line)no login

(line)no exec

使用命令 line aux 0或 linenumber来选择合适的线路,number表示异步线路号。由于这条线路用作外部设备和远程用户之间的一条透明连接,所以本地路由器不应该运行任何交互式的进程,以免造成干扰。因此,应使用命令 no login停止任何本地登录提示进程,并使用命令no exec阻止连接到此线路的设备发起的EXEC处理。

设定异步串行线路参数。

(line)speed baud

(line)databits {5 | 6 | 7 | 8}

(line)stopbits {1 | 1.5 | 2}

(line)parity {none | even | odd | space | mark}

异步线路设定的连接参数应与远端设备相匹配。命令speed同时设定了发送与接收的baud速率,即比特率。常用值有300、1200、2400、4800、9600、19200、38400和115200。想获知当前线路的设置或默认值,可以使用命令 show line查看。

开启一条连接到线路的反向Telnet连接。

(exec)telnet ip-address port

此命令将在远端设备上(如果需要,也可在本地路由器上)开启一条去往本地路由器IP地址的Telnet会话。此外,该命令必须指定TCP端口号,即port。反向Telnet使用从2000开始的TCP端口号连接到异步线路上。用户可以通过将线路号(十进制)与2000相加来确定相应的端口号。例如线路1的端口号为2001,线路15的端口号为2015。

注意 以上行为将Telnet到路由器的某个活动IP地址上。尽管这个地址可以是路由器上的任意活动地址,但实际中常使用路由器上配置的环回地址。更多关于环回地址的内容请查看第2章。

如果用户的路由器带有多条异步线路,那么很可能会难以确定特定线路的线路号。可以使用命令 show users all列出路由器上所有的可用线路,包括Console、AUX线路和vty(Telnet)线路。输出中最左侧,以“Line”索引的那一列表示物理线路号。通常,Console使用线路0(不能用于反向Telnet),AUX线路使用线路1,接下来是其他的异步线路(tty)和/或vty线路。

此外,用户很可能有时会收到端口不可用的响应信息。在这种情况下,要么是其他用户正在使用该端口的Telnet会话,要么是物理线路需要重置。想要重置某条线路,可以在本地路由器上使用命令 clear line line-number。

关闭反向Telnet会话。

(session)Ctrl-^x

(exec)disconnect session

想要挂起当前的反向 Telnet 会话并返回本地路由器提示符,可按下组合键(默认为Ctrl-^x,即Ctrl-Shift-6 x)。想要关闭反向Telnet会话,可在本地路由器上使用命令 disconnect后接相应的会话号。如果用户忘记了反向 Telnet的会话号,可使用命令 show sessions或where查看。

j.发送消息给其他终端会话。

(exec)send {line-number | * |aux number | console number | tty number | vty number}

某些时候,如果能够向 Telnet 到本台路由器的其他用户发送消息的话会显得很方便。例如读者和其他城市的同事很可能登录到了同一台路由器。这时,可以将文本消息发送至某条特定线路(line-number)、所有线路(*)、AUX线路(aux number)、路由器Console(console number)、特定的 tty线路(tty number)或者特定的 vty线路(vty number)。想找出某个用户正在使用哪条线路,可使用命令 show users。输入消息及发送消息时,路由器会有相关提示。在输入完消息后,按下Ctrl-z组合键结束。

k.配置会话超时值。

为线路定义绝对超时时间。

(line)absolute-timeout minutes

在 minutes 参数定义的时间过后,此线路上所有活动会话都被终止(默认值为0分钟,即永远也不会超时)。

为线路定义空闲超时时间。

(line)session-timeout minutes [output]

如果会话在 minutes 参数定义的时间之内一直未被使用,那么系统将认为会话空闲并关闭这些空闲的活动会话(默认 minutes 参数为 0,即永远也不会超时)。使用output关键字后,线路的出站流量也将重置空闲计时器。用以保持线路的非空闲状态。

为所有EXEC模式会话定义空闲超时时间。

(exec)exec-timeout minutes [seconds]

如果EXEC模式下的会话在minutes与seconds参数定义的时间之内一直未执行任何命令,那么系统将认为会话空闲并自动关闭这些空闲的 EXEC 模式会话(默认超时时间为10分钟)。可使用命令no exec-timeout或 exec-timeout 0 0来关闭线路上的EXEC模式超时设定。

启用会话超时告警。

用户将在会话即将超时登出前 seconds 秒收到系统的告警信息。默认情况下是没有告警信息的。如果启用了告警,且未设置 seconds 参数时,则默认系统登出前20秒告警。

4.安全Shell(SSH)连接。

注意 Cisco IOS支持带有用户 ID和密码身份认证的SSH版本1和版本2。配置SSH的IOS镜像必须具有IPSec加密特性(带“k8/k9”特性码)。DES(56位)仅支持DES加密,3DES(168位)支持DES或3DES加密(更多确定IOS软件镜像所支持的特性集的细节参见附录A)。SSH使用UDP和TCP端口号22。

a.为路由器配置主机名和域名。

(global)1hostname hostname

注释:1 译者注:(global)表示全局配置模式,提示符为(config)#。

(global)ip domain-name domain

尽管路由器不一定要加入到域名服务器中,但路由器必须同时配置主机名和域名。因为在计算加密密钥时要使用主机名和域名。

b.生成认证使用的RSA密钥对。

(global)crypto key generate rsa

此命令将为认证远程会话生成一组公钥和私钥密钥对。该命令只会在输入的时候执行一次。而且出于安全性考虑,密钥被储存在一块私密的NVRAM区域,并且命令和密钥都不会作为路由器配置文件的一部分被显示出来。该命令会提示提供密钥模长(360~2048位;默认为512位)。模长越长,加密密钥越安全,但加密时间越长。Cisco建议的最小模长为1024位。用户可以使用特权EXEC命令show crypto key mypubkey rsa来查看自己的公钥。想要删除RSA密钥对,可使用特权EXEC命令 crypto key zeroize rsa。

c.启用认证、授权、计费(AAA)功能。

命令 aaa new-model可在缺少AAA语句的情况下使用本地路由器的用户名和密码进行身份认证。也可使用线路命令 login local作为可选方案,来达到同样的效果。

d.配置用户身份认证。

AAA用户身份认证。

用户能够通过远端AAA服务器进行身份认证。有关配置AAA服务器的更多信息,请查看12.2节中的内容。

本地用户身份认证。

(global)username username password password

用户能够通过已配置的用户名和密码,在路由器上执行本地的身份认证。输入的密码是一明文的字符串,至多包含80个字母或数字字符,包括插入的空格。密码大小写敏感。

e.配置SSH参数。

(global)ip ssh {[timeout seconds] | [authentication-retries retries]}

关键字timeout限定了与远端设备SSH协商的最大时间(默认120秒)。关键字authentication-retries用来限定认证重试次数(最大值为5,默认3次)。

f.在线路上启用SSH协议。

(line)transport input ssh

默认情况下,线路允许所有的登录协议进入。可以使用命令 no transport input all1来关闭某条线路的所有登录连接。之后再输入命令 transport input ssh,使该线路只允许SSH的登录连接。

注释:1 译者注:允许所有的命令为 tranport input all,而拒绝所有的命令应该改为no transport input,译者尝试了多种版本的IOS,均不带关键字all。

g.配置SSH版本。

(global)ip ssh version {1 | 2}

自Cisco IOS 12.1(19)E开始,用户可以配置并使用SSH版本 2。如果需要同时支持版本 1和版本2,需输入全局配置命令no ip ssh version。该 IOS版本也引入了在使用SSH连接前,登录标语的显示功能。

h.从支持SSH的设备上Telnet路由器。

所有访问路由器的入站SSH会话都是使用VTY(Telnet)线路的。所以已配置的VTY线路数量决定了最多可以并存多少条Telnet会话(包括非SSH和SSH)。

i.(可选)在路由器上打开一条出方向的SSH会话。

(exec)ssh [-v 2] [-l userid] [-c {des | 3des | aes192-cbc | aes256-cbc}] [-m hmac-md5

| hmac-md5-96 | hmac-sha1 | hmac-sha1-96] [-o numberofpasswordprompts prompts] [-p

port] {ip-address | hostname} [command]

此命令将开启一条到达地址为ip-address或主机名为hostname主机的SSH会话。自Cisco IOS 12.1(19)E开始,用户可以使用关键字-v 2来指定使用SSH版本2。默认情况下,本地路由器会使用自己的主机名作为用户名与远端设备进行身份认证。可以使用关键字-l userid来手工指定认证使用的用户名。使用关键字-c可将加密类型指定成DES、3DES、AES192-cbc或AES256-cbc。关键字-m用来设定与SSH路由器进行身份认证所使用的哈希算法。关键字-o numberofpasswordprompts用来指定认证时提示输入密码的次数(取值范围1~5;默认为3次)。SSH会话使用的端口号可使用关键字-p port来设定(默认使用端口号22)。参数command用来指定在远端设备上运行的命令,前提是认证的用户具有使用该命令的权限。如果命令中包含空格,需要使用双引号将命令括起来。

5.配置访问路由器的方法。

a.(可选)建立身份认证本地数据库。

定义用户名和密码。

此命令将为特定的用户启用认证功能。关键字 password 用来指定登录时使用的文本字符串密码。如果使用参数encrypt-type,那么其他路由器配置中的加密密码可直接复制粘贴到参数encrypted-password中。encrypt-type为0表示密码是未加密的明文文本字符,7表示密码已经加密。

定义用户自动运行的命令。

(global)username name nopassword autocommand command

关键字username name用来定义登录的用户名。由于使用了nopassword,所以当用户使用此用户名登录时,不需要使用密码,而且会自动执行路由器命令command。命令执行完毕后,用户被动登出,同时线路连接关闭。

修改用户的访问级别。

(global)usernamename [access-classacc-list] [noescape] [nohangup] [privilegelevel]

关键字access-class可为用户定义一个访问控制列表,该列表将优先于线路模式下命令 access-class 所定义的列表。noescape 用于阻止用户使用组合键挂起会话。nohangup 的作用是在自动命令执行完毕后,返回到用户 EXEC 模式,而不是被动登出。用户登录的用户 EXEC 模式默认级别(默认为 1)可使用关键字privilege设定。

b.配置登录认证。

首先,需要为登录的用户选择一条线路。

对于异步端口(线路)来说,输入以下命令。

(global)line {console 0 | aux 0 | number}

在路由器的配置中,异步口被称为“line”(线口),通过线路号number来标识。如果不确定异步口的线路号,可使用命令 show users all列出所有线路及其号码。用户可以配置以下线路:Console端口(line console 0)、AUX端口(line aux 0),以及接入服务器上的异步线路(line number)。

对于Telnet访问的虚拟终端线路来说,输入以下命令。

(global)line vty first [last]

在路由器配置中,vty端口也被称为“line”(线口)。可以配置多条vty线路,使得路由器可以同时处理多条Telnet会话请求。通过指定first和last的vty线路号,可以一次配置一组vty线路。

注意 在用户能够访问 VTY 线路之前,需要为其配置一个密码。否则,所有的Telnet会话都会在登录后立刻关闭。

输入以下命令可以启用不要求用户名的登录认证。

使用以上命令后,用户登录特定线路时会提示输入密码。密码password字符串至多包含80个字母或数字字符,包括插入的空格。首字符不能是数字。

想要使用路由器定义的用户名进行登录认证,可输入以下命令。

认证使用的个人用户名必须先按照步骤5a进行配置,之后路由器便可以使用本地定义的用户名和密码对特定线路上的用户进行身份认证。

输入以下命令可启用TACACS登录认证。

(line)login tacacs

此命令将使路由器通过与一台标准的或扩展的TACACS(不是TACACS+)服务器进行交互来对用户执行身份认证。

输入以下命令可启用AAA/TACACS+的登录认证。

(line)login authentication

此命令将使路由器通过与一台外部 AAA 服务器进行交互来对用户执行身份认证。更多配置AAA特性的信息请参见12.2节。

c.特权模式认证(enable模式)。

(global)enable secret enable-password

配置此命令后,进入特权模式必须输入特权密码。设置的特权密码为enable-password。这个密码使用一种强壮不可逆的加密算法,并被储存在 NVRAM的一块特殊区域中。密码由1~25个字母或数字字符组成。第一个字符不能是数字,允许插入空格。

特权密码也可以使用命令 enable password来设置。不过,Cisco建议使用命令 enable secret,因为设定的密码使用更强壮的加密机制。

可以使用命令enable secret [level level] enable-password来设置进入特定特权级别所需的密码。特权级别的范围为0~15,1表示用户EXEC模式,15表示特权模式。

注意 路由器上的 enable password密码或 enable secret密码都为可选配置。如果用户不配置的话,在控制台使用命令enable时将不会提示输入密码。不过,如果以上两种密码都不配置的话,将不能通过Telnet线路访问路由器的特权EXEC模式。

可将IOS命令赋予给某个特权级别,从而创建出多组具有不同访问权限的用户群体。例如,想让一组用户无需处于级别15的特权模式便可使用命令 show cdp neighbors。使用下面的命令可将某条IOS命令分配给某个特权级别。

(global)privilege mode [level level command | reset command]

这里的 mode 表示用户级界面的基本模式。此参数具有多种模式可供选择,但最常用的是configure(全局配置模式)和exec(EXEC模式)。特权级别通过参数level给出,对应的命令通过参数command来指定。关键字reset用于将命令重置成默认的特权级别。

d.加密在路由器配置中的明文密码。

(global)service password-encryption

默认情况下,线路密码、命令username name password设置的密码,还有enable password密码在路由器的配置中都以明文的形式(未加密)显示。以上命令可使密码使用一种基本的加密形式显示出来(密码本身并没有加密保存,只是在使用诸如 show running-config这样的命令时以密文的形式显示)。

6.(可选)配置系统标语。

关键字motd用来定义当日信息标语。当用户通过Telnet登录到系统提示符“之前”,以及通过SSH连接登录进路由器“之后”都会显示此标语。关键字login用于定义登录标语,该标语出现在登录提示符之前,当日信息标语之后。登录标语对配置了只使用SSH版本1的路由器不起作用。关键字exec用于定义EXEC标语,用户登录路由器之后会看到该标语。关键字incoming用于定义反向Telnet标语,该标语会在用户使用反向Telnet连接到路由器时,显示于当日标语之后。

标语内容text由一行或多行文本信息组成。内容范围通过定界符来界定。选择定界符时,通常使用不常用的字符(例如~或%)。当需要向用户通告重要的网络消息、告知访问策略或合法性警告时,当日标语将是最好的选择。其他类型的标语可用来传达系统的特定信息,例如名称、地点、访问参数等。

下列内置变量可使用在标语的信息中。

$(hostname)——路由器的主机名(命令hostname的输出)。

$(domain)——路由器的域名(命令 ip domain-name的输出)。

$(line)——异步线路或vty线路的线路号。

$(line-desc)——线路的描述信息(接口下命令description的输出)。

$(peer-ip)——对端设备的IP地址。

$(gate-ip)——网关设备的IP地址。

$(encap)——封装类型(SLIP或PPP)。

$(encap-alt)——使用SL/IP的封装类型显示(命令hostname的结果)。

$(mtu)——最大传输单元的尺寸(命令hostname的结果)。

7.(可选)配置会话菜单。

a.(可选)配置标题信息。

此命令用于定义显示在菜单之前的标题信息。标题用来显示给用户一条欢迎消息以及菜单选项的用法说明。所有与菜单相关联的命令必须链接到菜单 name上。标题text由一行或多行文本信息组成。内容范围通过定界字符界定。如果想在显示菜单标题之前执行一次清屏操作,可以使用命令menu name clear-screen。

b.配置提示符。

此命令用于定义菜单选项之后显示的文本消息,可用作系统提示符。

c.配置菜单选项。

接下来配置菜单选项。用户最多可定义 18个菜单选项。创建多个选项的方法请重复步骤d到f。

d.定义菜单选项的标题。

名为 name 的菜单中,每个菜单选项都有一个关键字,用户必须输入关键字才能进入到特定的子菜单中。参数item用来定义关键字,其可以是一个字符、数字或单词。关键字将显示在菜单选项的左侧。

e.定义菜单选项的命令。

使用此命令后,当通过关键字 item 选中一个菜单选项时,便会执行命令command。例如,自动打开一个到远端系统的Telnet会话命令。还可以将命令定义成“隐藏”的命令,即用户登录后看不到菜单选项。配置menu command,但不配置menu text即可实现这一点。

菜单也可以嵌套使用,这样就可以实现选择某个菜单选项后进入一个全然不同的菜单(子菜单),在command中使用关键字menu即可实现嵌套功能(即menu name command item menu name2)。之后,再使用命令menu text和命令menu command定义新的嵌套菜单。

注意 用户可以定义一种菜单选项,用来结束当前菜单并返回到命令提示符或上一级菜单。在command中使用关键字menu-exit即可实现(即menu name command itemmenu-exit)1

注释:1 译者注:另一个结束菜单的关键字为 exit,即menuname command item exit。exit作用是断开本次会话连接,故可将exit理解为“退出”;menu-exit理解为“返回”。

f.定义默认的菜单选项。

如果用户未指定具体的菜单选项,直接按下 Enter 键,那么将进入该命令定义的默认菜单选项。

g.执行菜单。

从命令行进入菜单。

此命令用于在命令行提示符下进入名为 name 的菜单。如果使用这种方式进入菜单,要记得在设计菜单时,加入一条用于结束菜单会话的菜单选项(menu name command itemmenu-exit)。否则的话,用户将会陷入到菜单选择的死循环中。

从线路上自动进入菜单。

(line)autocommand menu name

使用此命令后,用户使用终端会话访问此线路后将自动进入菜单name。在这种情况下,保持用户处在菜单循环中的做法是明智的,这样可以防止用户在命令行界面对系统造成未知或潜在的威胁。

为用户自动执行菜单功能。

(global)username user autocommand menu name

使用此命令后,用户user成功登录路由器后将自动进入菜单name。

h.(可选)配置菜单工作在“行”模式。

使用此命令后,用户想要进入特定的菜单选项需要在关键字后按下Enter键。当菜单选项多于9项时,该特性自动启用。

i.(可选)配置菜单使用一倍行距显示。

默认情况下,菜单选项少于等于9项时,使用两倍行距的格式显示;多于9项时,使用一倍行距的格式显示。该命令将强制少于等于9项菜单选项的菜单使用一倍行距格式显示。

j.(可选)显示状态信息。

使用该命令后,在菜单标题之前将会显示本台设备的状态信息。信息包括路由器的主机名、用户使用的线路号,以及当前的终端类型。

8.Web浏览器界面。

a.启用Web界面。

(global)ip http server

使用此命令启用了Web界面服务器功能之后,用户便可通过Web浏览器的方式来监测或配置路由器了。

注意 由于HTTP服务器服务存在着巨大的漏洞,所以路由器的Web界面功能不应该使用在公共网络访问(Internet)的环境下。该漏洞在Cisco Bug ID CSCdt93862中给予了说明。可使用no ip http server这条命令来停用HTTP服务器的功能。除了bug之外,HTTP默认使用明文密码来进行认证。如果一定要使用Web界面功能的话,务必要配置一个强壮的认证方式并使用下列步骤c和d来进行访问限制。

b.(可选)设置Web浏览器的端口号。

(global)ip http port number

该命令可为Web界面功能的HTTP流量设定TCP端口号(默认为80端口)。

c.(可选)对Web界面进行访问限制。

(global)ip http access-class access-list

可以使用标准的IP访问控制列表(编号或命名ACL)来限制特定源IP的主机访问Web界面。此命令用于限制可能访问路由器Web界面的用户范围。

d.选择用户认证方式。

(global)ip http authentication {aaa | enable | local | tacacs}

可使用多种不同的方法来对试图访问路由器Web界面的用户进行质询和认证。默认情况下,HTTP使用enable方式进行认证(须输入明文的enable密码)。不过,用户应该使用下列某种更为强壮的认证方式:aaa、local(使用用户名和密码在路由器本地执行认证)或 tacacs(标准或扩展的 TACACS认证)。

e.浏览路由器的主页。

在Web浏览器上,使用URL http://switch/可浏览路由器的主页,switch参数为路由器的 IP 地址或主机名。默认访问路由器主页的用户带有特权级别15的权限。当用户权限低于级别 15时,将被限制只能使用低级别的 IOS的命令。

Cisco IOS具有许多需要管理的文件及文件系统。

文件管理包括管理配置文件和管理操作系统文件。

Cisco路由器使用的文件系统称为 IFS(IOS文件系统)。

Cisco IFS命令替换掉了许多旧时的文件管理命令。

Cisco IFS命令允许用户对所有文件,包括远端服务器上的文件进行查看及分类操作。

使用Cisco IFS,针对不同平台的文件管理方法将不再有区别。

Cisco IFS命令允许用户使用完整路径名称复制文件,免去了系统提示的需要。

Cisco平台支持以下 3类闪存(Flash)1文件系统—A类、B类和C类。

注释:1 译者注:本书中将Flash及Flash memory统译为闪存。

注意 Cisco IFS 提供了一种极其强大有效的方式来管理路由器设备或远端系统中的文件。为了向下兼容,文件系统支持许多别名命令来对应旧时命令。本章节最后部分的表1-4列出了与旧时命令等同的IFS别名命令。

1.查看可用的文件系统设备。

(privileged)2show file systems

注释:2 译者注:(privileged)或(privileged exec)表示特权EXEC模式,提示符为#。

该命令可以列出路由器上所有可用的文件系统、文件系统总大小、空闲空间占多少字节、文件系统的类型、文件系统的读写权限标志,以及用来访问文件系统的别名。文件系统类型包括Flash(闪存)、NVRAM(非易失性内存),以及网络文件系统,其他类型的还有含有微代码的ROM文件系统。表1-2列出了一些可用的文件系统。注意并不是所有平台都支持以下所有的文件系统。

表1-2 Cisco文件系统

续表

2.修改默认文件系统目录。

(privileged)cd [filesystem:]

使用此命令来进入到某个具体的文件系统或文件系统内的某个目录。进入具体的文件系统之后,可以直接使用文件名而不用指定 filesystem:参数。例如,如果使用命令dir而不指定filesystem:参数,那么系统将使用默认的目录或者cd命令指定的具体目录。默认的文件系统目录是flash:。

3.列出当前目录。

(privileged)pwd

此命令可以显示当前的工作目录,用户可以使用该命令来确定默认的文件系统目录。也可以用来验证cd命令是否进入到了正确的目录。

4.显示文件相关信息。

(privileged)dir [/all] [filesystem:] [path/filename]

此命令将列出cd命令指定的默认目录结构中的文件及相关信息。选项/all可列出所有的文件,包括那些已被删除但未从文件系统中永久性移除的文件。可以通过使用参数filesystem:或device:来指定文件系统。也可以通过使用路径及文件名来查看某个单独的文件。星号(*)作为通配符,可用来显示一组带有相同起始字符的文件。使用以下命令来获取可用本地可用文件系统中的文件列表。

(privileged)show filesystem:

此命令可以列出文件系统中的内容。和 dir 命令有些类似,但输出的格式不同。该命令不能列出远端文件系统中的单独文件。

5.查看本地或远端文件的相关信息。

(privileged)show file information filesystem:path

此命令用于查看本地或远端文件的相关信息。输出包括了文件的类型和大小。

6.查看本地或远端文件中的内容。

(privileged)more [/ascii | /binary | /ebcdic] filesystem:path

此命令用来查看本地或远端文件的内容。选项 ascii、binary 和 ebcdic 用来指定想要查看文件内容显示的格式类型。参数filesystem:path可指定有效文件系统上的某一具体文件。例如命令more /ascii tftp://172.16.3.1/myconfig.txt会将位于TFTP服务器172.16.3.1中的文件myconfig.txt以ASCII的格式显示出来。

Cisco 的硬件平台支持 3 种不同的文件系统类型。每种文件系统在闪存中的删除(delete)和永久性移除(remove)的方法都不尽相同。表1-3列出了这3种类型的文件系统及使用这些文件系统的设备平台。

表1-3 文件系统类型

1.删除闪存中的文件。

(privileged)delete [ filesystem: ] filename

该命令用于从以上三种文件系统的闪存中删除某个文件,对于A类和B类文件系统来说,被删除的文件被标记为删除状态,且只有当使用命令dir /all才会显示出来。可以使用命令undelete来恢复delete命令已删除的文件。对于C类文件系统来说,delete 命令将从系统中永久地移除文件,而且这类文件系统一定是闪存文件系统。

2.恢复删除的文件。

(privileged)undelete index [filesystem:]

对于A和B类文件系统,可以使用命令undelete来恢复某个已被删除的文件。用户必须提供通过命令 dir /all所列出的文件索引(index)号。如果文件不在当前工作目录下(可通过命令 pwd 确定),可以使用参数 filesystem:来指定目录。

3.从A类闪存中永久性地移除文件。

(privileged)squeeze filesystem:

如果想要永久性地从A类文件系统中移除某个已被删除的文件,必须对此文件系统执行 squeeze 命令。此命令会将任何标记为删除状态的文件永久地从文件系统中移除。

4.从B类闪存或NVRAM中移除文件。

(privileged)erase [flash: filename | bootflash: filename | nvram: filename]

想要永久性地从B类文件系统中移除某个文件,必须对此文件系统执行erase命令。该命令会将文件系统内的文件全部移除,等同于步骤5中的格式化。不过,命令 erase nvram:filename可以移除NVRAM中的某个文件。

5.格式化文件系统。

(privileged)format filesystem:

对于A类和C类文件系统设备,可以使用format命令来移除所有文件并重新格式化文件系统设备。

像大多数计算机系统一样,文件的移动操作至关重要。用户可以使用 copy命令来移动系统文件。copy命令须带有路径参数,而且不同文件系统的处理结果是不同的;比如,当文件复制进 system:running-config 文件中时,结果为文件内容的合并。本章节论述了一些常见的 copy 命令及执行结果。总的来说,用户可以将文件复制进有写入权限的文件系统中。copy命令的命令结构为 copy [/erase] source-location destination-location。源位置和目的位置可以是任何可写入的文件系统和路径。通过使用/erase 选项,可以在执行复制之前先擦除可写入的目的文件系统。源位置可以是任何包含所需移动文件的文件系统。在命令中,用户可指定地址或文件名,也可省去此操作来让系统进行信息提示。

1.保存生效的配置文件用于系统启动。

(privileged)copy system:running-config nvram:startup-config

此命令将系统当前生效的配置文件复制进启动配置文件中。当任何文件复制进nvram:startup-config中时,将完全覆盖1nvram中的原文件。也就是说文件内的任何信息都会完全丢失并被源文件所覆盖。系统在启动时将加载启动配置文件。

注释:1 译者注:覆盖(overwrite)指源文件完全替换目的文件,即copy操作之后目的文件与源文件相同。请读者区分覆盖和合并(merge)的概念。

2.将文件复制到生效的配置文件中。

(privileged)copy source system:running-config

此命令将某个文件复制到当前运行的配置中。源设备可以是任何位置,只要该位置下具有包含正确语法配置参数的文本文件。当文件复制到当前配置中时,将与当前的配置合并。合并的意思是说如果某个配置参数(IP地址配置)同时存在于当前运行配置和源配置中,那么当前配置参数将被复制过来的源配置参数所修改。如果配置参数只存在于源配置中,此参数配置将添加到当前配置中。如果某个参数配置存在于当前配置中,但源配置中没有,那么 copy 命令将不会对当前的配置参数造成任何影响。源可以是任何位置中的文件,包括TFTP服务器、FTP服务器,或者写入闪存中的文本文件。

3.将文件保存至TFTP服务器。

(privileged)copy source tftp://address/filename

此命令将任何可读取的文件从源位置保存至目的参数中指定的TFTP服务器上。如果用户未提供文件名或地址,系统将进行信息提示。

4.使用匿名登录方式将文件保存至FTP服务器。

用户也可以将文件保存至FTP服务器中。FTP提供了一种更为可靠、健壮的文件传输方式。与TFTP相同,用户可以将任何源位置中的可读文件复制到FTP服务器。不过,FTP与TFTP最大的区别在于FTP传输流量需要用户名和密码。用户名和密码可以在全局配置模式或命令行下指定。如果用户没有在命令行中指定用户名,或没有为路由器全局地配置 FTP 用户名,那么路由器将使用匿名的方式进行登录。用户名为anonymous,密码则是使用当前会话作为用户名、路由器名作为主机名,IP域作为域名构成的e-mail类型的密码(session@hostname.domain)。

5.使用全局配置模式中配置的用户名及密码将文件保存至FTP服务器。

如果用户使用以上命令配置了 IP FTP的用户名和密码,并且未在命令行中定义,那么,当用户从FTP服务器上复制文件或复制文件至FTP服务器时,将使用上面配置的用户名及密码。

6.使用命令行中指定的用户名及密码将文件保存至FTP服务器。

如果想在命令行中定义用户名和密码,可以采用username:password@address的格式。用户名和密码通过冒号(:)分隔开,FTP服务器地址跟在@符号之后。

7.将文件保存至闪存。

用户可以使用 copy 命令来将文件复制到闪存文件系统中。某些可写入的文件系统(例如A类文件系统)还支持目录的创建及写入功能。使用copy命令移动到闪存中的文件通常是IOS文件;当然,如果闪存内有足够空间也可以用来存储其他文件。如果是这样,那么文件放入闪存后,可以将路由器配置成TFTP服务器并为其他设备提供文件。更多关于将路由器配置成TFTP服务器的内容请查看本章后续小节。

8.将文件保存至RCP服务器。

用户还可以使用RCP协议传输文件。与FTP相同,使用RCP传输流量也需要用户名和密码。同样,用户名和密码可以在全局配置模式或命令行下指定。

9.使用全局配置模式中配置的用户名将文件保存至RCP服务器。

如果用户使用以上命令配置了 IP RCMD的用户名,并且未在命令行中定义,那么,当用户从RCP服务器上复制文件或复制文件至RCP服务器时,将使用上面配置的用户名。

10.使用命令行中指定的用户名将文件保存至RCP服务器。

(privileged)copy source rcp://username@address/directory/filename

如果想在命令行中定义用户名,可以采用 username@address 的格式。RCP服务器地址跟在@符号之后。

配置回退(rollback)特性可以将IOS配置文件存档(archive),用户可以在日后将配置回退到先前的某个配置文件。当执行回退操作时,只有当前配置文件与存档配置文件中不同的配置才会被回退。

1.进入存档配置模式。

2.指定存档文件的位置及文件名前缀。

如果用户的设备平台具有文件系统disk0,可将存档文件保存至disk0:、disk1:、ftp:、pram:、rcp:、slavedisk0:、slavedisk1:或tftp:。如平台不具有disk0,可将存档文件保存至ftp:、http:、pram:、rcp:或tftp:。

3.(可选)配置存档文件的最大保存数量。

此命令用来指定保存的存档文件的最大数量。number值范围是1~14。默认为10。

4.(可选)设定自动保存running-config存档的时间增量。

5.(可选)使用保存的配置文件替换当前配置文件。

(privileged)configure replace path:configuration-file [list]

使用关键字list后,配置回退期间,每条回退的命令都会被显示出来。

1.压缩配置文件。

用户可以使用此命令压缩设备中的配置文件。由于路由器上的 NVRAM 空间十分有限,所以超大配置文件在保存至NVRAM之前应该先被压缩。命令service compress-config能够将文件压缩成其大小的1/3。

注意 只有版本10及更高版本的引导ROM才支持配置压缩功能。如果路由器的ROM版本过低,执行压缩功能之前须进行ROM升级。ROM升级方法请查看设备文档。

2.从闪存文件系统中指定一个引导系统的IOS镜像。

默认情况下,路由器使用默认闪存位置中的第一个有效镜像来引导系统。如果在闪存中存在多个镜像,而且用户又不希望使用第一个镜像引导,那么必须使用命令boot system flash指定作为 IOS镜像所使用的文件是哪一个。

3.修改A类文件系统中配置文件的环境参数。

对于A类文件系统,可将配置文件复制到闪存文件系统中。也可以指定路由器从闪存中加载配置文件,而不是从NVRAM中加载startup-config文件。要实现以上操作,首先须将有效的配置文件复制到闪存文件系统中,之后在全局配置模式下,使用命令boot config后接文件系统名、文件位置,以及文件名。在保存配置之后,路由器将从指定的位置尝试加载配置文件。

4.将路由器配置成TFTP服务器,用以共享闪存中的文件。

此命令通过将路由器配置成TFTP服务器,来使闪存文件系统中的文件对外提供服务。用户可以同时指定闪存中的多个文件对外提供服务。

5.停用解析器缓存功能。

自 IOS 12.1(5)T开始,Cisco路由器默认启用解析器缓存特性。该特性能够快速的识别并翻译出配置文件中的配置命令与先前使用的命令有何区别。解析器缓存功能可以大大提高系统性能,尤其是在具有巨大数量的访问控制列表条目或虚电路(VC)的网络环境中。当然,用户也可以停用此特性,从而释放内存资源。

6.启用专用配置修改访问功能。

(global)configuration mode exclusive {auto | manual}

专用配置修改访问特性可防止多个用户同时修改当前配置文件,即某一时刻只有一个用户能够更改系统配置。选项auto表示当用户输入命令configure terminal后启用该特性,而选项manual表示当用户输入命令configure terminal lock后启用该特性。

由于Cisco IOS使用的 IFS属于第 3代文件管理系统。所以在 IOS中加入了许多别名命令,来为先前的操作系统命令提供向下的兼容性。兼容性使得用户可以直接使用先前版本中的文件管理命令,而不必去学习新的命令结构。表1-4给出了别名命令和IFS中等同的命令。

表1-4 文件管理别名命令

Cisco 官方对旧时命令的观点是,旧时命令很有可能不被高版本的 IOS 所支持,所以,可以想象日后的Cisco IOS版本很可有能不再兼容12.0版本之前的命令。

Cisco发现协议可以在支持SNAP的介质上自动发现直连的Cisco设备。

所有运行Cisco IOS 10.2或更新的Cisco设备上都可以使用CDP。

CDP能够提供有关邻居平台、操作系统以及 3层寻址的信息。

CDP版本 2支持双工模式及VLAN设置相关的信息。

CDP默认启用在所有接口上,可以在全局下或基于接口停用该功能。

CDP具有介质无关性和协议无关性。作为一种使用 2层SNAP帧工作的协议,CDP只需要介质支持SNAP帧即可。

CDP默认是启用的。所以配置步骤1作为默认设置不是必须的,下列步骤可用来帮助用户管理路由器上的CDP。

1.全局启用CDP(默认开启)。

此命令用于启用CDP进程。Cisco系统默认启用CDP,想要在整台设备上停用CDP,可以使用命令no cdp run。

2.(可选)设置CDP通告的更新时间。

此命令用来设置更新间隔的秒数。这是一条全局配置命令,所以该命令设定的更新间隔时间将应用在所有接口下。默认设置是60秒。

3.(可选)设置CDP信息的保持时间。

此命令定义了随CDP更新发送的保持时间。保持时间用于告知邻居路由器自身维护CDP信息多长时间。如果CDP在保持时间间隔内没有收到某个邻居更新信息,那么该邻居信息将从CDP表中删除。

4.修改路由器发送CDP版本参数。

此命令允许路由器发送版本2的CDP更新。CDP版本2支持3种新的TLV (类型-长度-值)——VTP 管理域、本征 VLAN 及双工模式。如果路由器不支持版本2更新,那么新的TLV将被忽略,不影响CDP的正常运作。

5.(可选)在接口上启用CDP。

此命令可以使CDP向特定接口外发送更新。默认配置是启用在所有接口。想要关闭特定接口上的CDP功能,可以使用命令no cdp enable。如果链路的对端是一台非Cisco设备,那么关闭接口的CDP功能可以节省链路的带宽资源。

可以使用命令 show cdp和 show cdp interface来验证CDP的配置。

此例中,将CDP的保持时间改为480秒并将更新时间改为120秒来修改CDP的运行参数。以太网接口运作正常,但假定串口连接的是一台非 Cisco 路由器。因此,出于节省带宽的目的,将在串口上停用CDP功能。

系统时间通过IOS软件来维护。当路由器初始化后,路由器中的硬件时钟(系统日期)将被设置成系统时间。

为日志及调试的时间戳、各种 show 命令,以及基于时间的访问控制列表维护一个精准的系统时钟尤为重要。

维护的系统时间称为世界统一时间(UTC或GMT)。可使用IOS命令配置时间的显示格式。

系统时间可以通过网络时间协议(NTP)获取或者手工配置。此外,路由器上的硬件时钟也可使用NTP按需更新。

NTP使用层(stratum)的概念来确定NTP节点1与可靠时钟源(原子钟或无线电时钟)之间的距离。例如层1(stratum-1)表示NTP服务器直接连接在可靠时钟源上。NTP也会比较所有NTP端点(peer)报告的消息,并且不会听信于时间明显差异的NTP端点。

注释:1 译者注:本书将Node一词统一译为“节点”,而非“结点”。

可使用访问控制列表以及加密的认证方式来对多个 NTP 端点之间的关联操作进行保护。

对于可靠时钟源,可以配置NTP去侦听Internet上的公共NTP服务器。也可以将一台路由器配置成一个可靠时钟源,在企业网络内部提供NTP服务。之后,网络中的其他NTP端点就可以与那台路由器同步时钟。

NTP版本 3以RFC1305基础,使用UDP 123号端口。可在以下网站中找到有关公共 NTP 服务器和其他的 NTP 主题的相关信息:http://www. eecis.udel.edu/~ntp/。

用户可以通过手工或使用网络时间协议(NTP)的方式来设定系统时间。

对于手动配置的方法,可以在路由器上设置时间、日期、时区及夏令时2。使用手动配置,路由器无法维护时间设置并且不能确保时间的精确性。RFC 1305中定义的NTP为网络环境中的设备提供了从NTP服务器获取时间的方法。使用NTP,所有设备时间将被同步并保持时间的精确性。

注释:2 译者注:夏令时(Daylight Saving Time)是西方国家实行的时间调整制度,旨在调节全民的生活时间,以达到节约能源的目的。

手工设定系统时间

1.设定时区。

(global)clock timezone zone hrs-offset min-offset

时区参数(zone)应设置成缩写名称(比如EST、PST、CET)。该参数设置的名称只起到显示作用,所以可以配置成任何常见的时区名。实际显示的时间由UTC中的小时偏移量(hrs-offset)和分钟偏移量(min-offset)来限定。

2.(可选)配置夏令时(DST)。

(global)clock summer-time zone recurring [week day month hh:mm week day month

 hh:mm[offset]]

(global)clock summer-time zone date [date month | month date] year hh:mm [date month

  | month date] year hh:mm [offset]

如果夏令时起始和结束于某月的某一天或某一周,可使用带有关键字recurring的配置命令。设定夏令时起始或停止的时间时,可以指定周数week(可以使用first和last参数)、星期day、月份month以及时间hh:mm(24时制)。可指定偏移量offset值来设置夏令时期间增加的分钟数(默认60分钟)。

另外,可以使用关键字date来具体指定某年内夏令时起始和结束的日期和时间。

3.(可选)设置系统时钟(IOS时钟)。

(exec)clock set hh:mm:ss [day month | month day] year

此命令用于设置系统的时钟。时间格式为24时制;day为天数,month为月份的英文名称,year为4位数字表示的年份。

当路由器重启时,将使用硬件时钟作为系统时钟。用户也可以使用命令(exec) clock read-calendar将系统时钟设置成硬件时钟的值。

4.(可选)设置系统日期(硬件时钟)。

(exec)calendar set hh:mm:ss [day month | month day] year

此命令为硬件时钟设定时间(24时制)和日期。month为月份的英文名称, day为天数,year为 4位数字表示的年数。命令(exec)clock update-calendar作为一种可选方法,可将系统时钟值写入硬件时钟。

使用NTP设置系统时间

1.定义一个或多个NTP端点的关联1

注释:1 译者注:NTP中,master与client,或client(peer)之间的通信称为“association(关联)”。这条命令将与其他 client同步时钟。使用master同步时钟的命令为(global)ntp server ip-address [version number] [key keyid] [source interface] [prefer]。

(global)ntp peer ip-address [version number] [key keyid] [source interface] [prefer]

参数ip-address用于标识NTP端点。关键字version用于指定NTP版本(版本1~3,默认使用版本3)。如果使用了NTP认证功能,关键字key用来标识使用的认证密钥(查看本小节配置步骤3b)。如果需要,还可以使用关键字source来指定 NTP 包中使用的源地址。如不指定源,路由器将使用出站接口的地址作为源地址。如果存在多个NTP端点,可使用关键字prefer强制同某个端点进行时钟同步。2.(可选)配置NTP传输功能。

a.(可选)配置NTP广播服务。

(global)ntp broadcast [version number]

(global)ntp broadcast client

(global)ntp broadcastdelay microseconds

默认情况下,NTP 端点之间发送和接收单播包。如果有数个 NTP 端点位于同一个网络中时,可使用广播来代替单播。命令ntp broadcast启用广播包发送功能。命令ntp broadcast client启用广播包接收功能。命令ntp broadcastdelay设置接收客户端广播的往返延迟(1~999999微秒,默认3000微秒)。

b.设置NTP源IP地址。

(global)ntp source interface

使用此命令后,所有NTP数据包将使用interface上配置的地址作为其源地址。不过,该命令没有ntp peer命令中使用关键字 source指定的接口优先级高。

c.在接口上停用NTP功能。

(interface)ntp disable

默认情况下,所有接口上都会启用NTP功能。该命令可在单个接口上停止对NTP数据包的接收和处理。

3.(可选)限制对NTP的访问。

a.使用访问控制列表进行限制。

(global)ntp access-group {query-only | serve-only | serve | peer} acc-list

可以使用标准IP访问控制列表来做限制,使NTP只能与列表中允许的地址进行通信。使用下列关键字可将特定的 NTP 流量应用于访问控制列表中:query-only (仅允许控制信息查询)、serve-only(仅允许时间请求)、serve(允许请求和查询信息,但不与远程端点同步)和peer(允许请求和查询信息,并与远程端点同步)。

可以多次使用使用命令ntp access-group,如果命令之间定义的流量及访问控制列表存在区别,那么系统将会应用第一条按序匹配的语句。

b.使用NTP认证进行限制。

启用NTP认证功能。

(global)ntp authenticate

定义认证密钥。

(global)ntp authentication-key key-number md5 value

此命令将创建一个MD5认证密钥号key-number。密钥使用value值来指定,最多8位明文字符。在配置写入NVRAM之后,密钥值将以密文方式显示。

为NTP应用一个或多个密钥号。

(global)ntp trusted-key key-number

远端NTP端点必须使用认证密钥号(key-number)来对其自身进行认证。可多次使用此命令来为NTP应用所有使用的密钥号。

4.(可选)将路由器配置成可靠时钟源。

a.使用硬件时钟时间作为可靠时钟源。

(global)clock calendar-valid

如果没有或不想使用外部的可靠NTP时钟源,可以配置本地路由器使用自身硬件系统时钟作为可靠时钟源。然后通过 NTP 将硬件时钟时间转发给其他 NTP端点路由器。

b.启用NTP可靠时钟源服务。

(global)ntp master [stratum]

此命令可将本地路由器配置成层级为stratum(1~15级;默认为8级)的可靠时钟源。如果找不到具有更低层级的NTP端点,该路由器将宣告自身配置的层级并开始同步其他NTP端点上的时钟。

此例中,先将路由器配置成了美国东部时区并采用了夏令时,又设定了硬件时钟,之后使用硬件时钟同步了系统时钟。

继续配置NTP的认证功能。密钥sourceA用于认证172.17.76.247上的NTP端点,而密钥sourceB用于认证172.31.31.1上的NTP端点。

路由器可使用日志功能来将系统消息发送到日志组件(facility)中。

日志消息可被发送到以下 4 种不同的日志组件中:系统 Console、系统缓存(buffer)、终端线路或系统日志(syslog)服务器。

日志历史记录可保存下来,用来确保消息发送至SNMP服务器而不是被丢弃。

默认日志会列出所有错误和调试消息。可以设置日志级别来限定哪些消息应发送至日志组件。

显示在 Console 控制台中的日志消息会打断用户在 Console 上的输入。命令 logging synchronous能够解决这一问题。

为日志消息加上时间戳或设置syslog源地址有助于实时的调试或管理。

注意 向 syslog服务器发送日志使用UDP 514端口。

CDP默认是启用的。所以配置步骤1作为默认设置不是必须的,下列步骤可用来帮助用户管理路由器上的日志功能。

1.全局启用日志功能(默认开启)。

(global)logging on

此命令是系统的默认设置。想要停用路由器的日志功能,可使用命令 no logging on。如果用户停用了日志功能,那么系统只会向Console端口发送日志,而不会发送至其他日志组件。

2.(可选)将日志消息发送至syslog服务器。

(global)logging hostaddress1

注释:1 译者注:Cisco IOS 12.2(15)版本之后,该命令被 logging host {ip-address |hostname}命令取代,部分IOS中仍可将该命令作为 logging host的别名命令使用。

该命令将启用一条到达运行着syslog守护进程(daemon)主机的路由。Syslog进程监听UDP 514端口上的文本信息,并将其记录到文件中。通过将日志发送至syslog服务器,用户可以在日后查看系统管理消息。

3.(可选)将日志消息发送至路由器缓存。

(global)logging buffered [size]

此命令可将所有的系统消息保存至系统内存中。日志消息会一直保留在内存中,直到设备断电或使用命令 clear logging清除缓存。缓存的默认设置可能会随平台有所不同,可能启用也可能未启用。缓存大小size可设定成4096~2147483647字节。

警告 设置缓存将占用系统路由运作所需的系统资源。故当设置最大缓存大小时须谨慎,以免浪费系统内存。

4.(可选)将日志消息发送至终端线路上。

(TTY或VTY线路上的privilged)terminal monitor

默认情况下,日志功能会自动地将消息发送至Console端口。为了能在TTY或 VTY(telnet)线路上查看日志消息,用户需要在登录线路的特权模式中输入命令 terminal monitor。输入此命令之后,所有通过命令 logging monitor(查看步骤7)所定义的日志将显示到本线路上,直到用户登出。

5.(可选)将日志消息发送至SNMP管理站。

此命令可将所有的syslog消息trap发送至SNMP管理站中。想要使用该功能,还需在设备上配置SNMP管理命令。1.6节中介绍了SNMP的配置方法。

6.(可选)调整消息历史记录。

(global)logging history size [number]

路由器可以保存历史的日志信息,以防重要的SNMP消息丢失。该命令会将一定数量的日志信息保存至路由器的历史信息表中,该表是一张循环表,即该表填满后,新信息将覆盖表中的第一条消息。历史信息数量 number 可设置成 1~500条,默认为1条。

注意 历史记录功能不同于缓存功能。历史表是一张具有 1~500 条日志信息的循环列表,被设计用来保存最近几条没有记录到SNMP设备上的日志消息。而缓存功能是一种实现将日志信息保存在内存中而不是保存到 syslog 或SNMP服务器的方法。

7.(可选)定义显示的消息类型。

用户可使用该命令去定义将哪些日志消息发送至哪种日志组件(facility)中。例如,命令 logging monitor 4会只将严重性级别小于等于 4(warning)的消息发送至终端线路上。可为每种日志组件设定严重性级别level。选项console用来定义显示在Console线路上的消息类型。选项trap用来定义发送至syslog服务器的消息类型。如果已经启用了发送至SNMP管理站的syslog消息trap功能,那么选项 history 可用来指定保存在本地历史信息表中消息的严重性级别。设定某个级别之后,严重性级别小于等于level的消息都会发送至相应的日志组件中。表1-5列出了错误消息级别及关键字。

表1-5 错误消息的日志级别

默认所有的日志组件的严重性级别都为7(debugging)。这意味着所有debugging级别以及低于该级别的消息都将发送至日志组件中。

8.(可选)指定syslog包的源地址。

(global)logging source-interface type number

此命令可以指定syslog包使用哪个接口的地址作为源IP地址。默认的源地址为出站接口上的IP地址。如果用户想使用某个特殊的地址,例如环回地址,从而能够方便地识别或过滤设备,那么可使用该命令来为所有 syslog 包定义源IP地址。

9.(可选,推荐)启用消息的时间戳功能。

(global)service timestamps log datetime

此命令会使用配置在路由器上的时间与日期来给所有日志信息打上时间戳。这样的话,当系统消息产生时,用户便可以查看到更为详细的日志信息。此功能还有助于判断出问题或症状可能牵连的其他因素。

10.(可选)控制输出至终端线路或Console线路的日志消息。

(line)logging synchronous1

注释:1 译者注:更多关于命令 logging synchronous参数及作用利弊的信息,请参阅本书姊妹篇《Cisco局域网交换机配置手册》(第2版)第12.1节。

命令 logging synchronous规定路由器使用一种同步的方式输出日志消息。换句话说,如果用户正在输入命令时出现了日志消息,那么在输出消息时应该刷新提示符,使得命令行与用户的输入保持同步。

1.查看日志配置及缓存。

此命令用于检验日志信息和配置,同时也可查看日志缓存中的内容。

2.清除日志信息。

此命令用于清除日志缓存中的日志消息。

此例中,我们将用于记录日志的缓存大小设定成 4096 字节,并将其严重性级别设定为4级(warning),使其只会将小于等于4级的消息缓存起来。对于其他日志信息(Console与Telnet),我们将其严重性级别设定为6级(informational)。启用了时间戳功能,能够帮助我们获知消息的记录时间。Console 线路及 Telnet线路都配置了信息同步功能,防止这些线路上的用户被烦人的日志消息打断信息输入。最后,配置设备使用 loopback 1 接口的源地址来将小于等于 5 级(notification)的日志消息发送至syslog服务器172.16.12.101。

简单网络管理协议(SNMP)是一种用于监控网络设备信息及进行网络设备管理的协议。

信息管理库(MIB)是保存在网络设备上的变量的集合。变量可通过设备或查询外部源来更新。

MIB的构建使用SNMP MIB建模语言,该建模语言基于ASN.1(Abstract Syntax Notation One)语言。

SNMP agent(代理)运行于网络设备上,其维护着各种MIB变量。所有变量的更新或请求都必许通过SNMP agent来处理。

SNMP agent也可主动发送非请求信息(或称为 trap)至SNMP manager(管理站)。trap用于向manager发送网络设备状态变化告警。

SNMP manager通常是一个可请求MIB变量、可设置MIB变量、可从网络设备集合接收trap的网络管理系统。

SNMP agent既可发送 trap信息又可发送请求信息。trap流量是单向并且不可靠的。而通告请求流量是可靠的,可靠的含义是指必须被确认或进行重传。

SNMP版本 1(SNMPv1)是SNMP的初始版本。其基于RFC 1157,只使用基本明文团体(community)字符串来提供安全性。可以指定SNMP manager的IP地址来限制访问。

SNMP版本 2(SNMPv2)作为SNMP的增强版本,其基于RFC 1901、1905和1906。SNMPv2增强了批信息检索和错误报告功能,不过仍使用明文的团体字符串和IP地址来提供安全性。

SNMP版本 3(SNMPv3)基于RFC 2273~2275,其提供了强壮的安全性。SNMPv3通过使用用户名、MD5(消息摘要算法版本5)和SHA(安全散列算法)来提供数据完整性和认证功能,通过使用DES(数据加密标准)来实现数据加密功能。

远程监控(RMON)功能可以检查通过某个路由器的数据流。默认情况下,IOS可提供RMON告警(alarm)和事件(event)功能。支持完整RMON功能的IOS可提供以下9种管理组:Statistics(组1)、History(组2)、Alarm(组3)、Host(组4)、hostTopN(组5)、Matrix(组6)、Filter (组7)、Capture(组8)和Event(组9)。

完整 RMON 还支持数据包捕获功能,不过只能捕获数据包的头部。这样可以把数据包净荷泄漏的风险降到最小(只有Cisco 2500和AS 5200系列设备的以太网接口上才支持数据包捕获功能)。

注意 SNMP请求(request)和响应(response)使用UDP端口 161发送。通告(notification)或trap使用UDP端口162发送。

1.配置SNMP标识。

a.定义联系信息。

(global)snmp-server contact contact-string

contact-string包含了路由器提供的有关网络管理员的文本信息。

b.定义设备位置。

(global)snmp-server location location-string

location-string是路由器提供的有关自身物理位置的文本信息。

c.定义设备序列号。

(global)snmp-server chassis-id id-string

id-string是路由器提供的有关自身序列号(serial number)的文本信息。如果在Cisco IOS软件中可以读取硬件的序列号,那么此号码则为默认的机箱 ID。

2.配置SNMP访问。

a.(可选)定义SNMP视图来限制对MIB对象的访问。

(global)snmp-server view view-name oid-tree {included | excluded}

如必要的话,可以限制 SNMP manager让其只能查看路由器MIB树的特定部分内容。view-name 参数定义了视图的名称。oid-tree是 ASN.1 格式的 MIB子树的对象标识符。此值是一文本字符串,其使用以点号分割的数字或单词来代表子树(例如:system、cisco、system.4、1.*.2.3)。星号*可用来通配子树的任何部分。可使用关键字included或excluded来允许或拒绝对子树的查看访问。

可以定义多个视图,使每个视图应用到不同的一组用户或SNMP manager上。

注意 更多关于MIB树结构及MIB的通用信息,请查看附录C。

b.定义远端用户的访问方法。

(仅用于SNMPv1或SNMPv2c)定义允许访问的团体字符串。

(global)snmp-server community string [view view] [ro | rw] [acc-list]

团体字符串 string用来允许访问路由器上的 SNMP信息。任何提供了匹配的团体字符串的 SNMP manager都允许进行访问。可以使用关键字 view来指定一种可选的视图,之后限制只允许访问视图中所定义所允许的MIB对象。可使用关键字ro和rw来为远端用户赋予只读或读写的权限。还可以指定可选的IP访问控制列表 acc-list来作进一步的限制,只允许特定 IP地址的 SNMP manager访问 SNMP agent。

(仅用于SNMPv3)定义引擎ID的名称。

输入以下命令来指定本地引擎ID的名称。

(global)snmp-server engineID [local id-string] | [remote ip-address udp-port port id-string]

SNMPv3 使用基于多种参数的认证及加密功能。需使用引擎 ID 文本字符串id-string的形式定义SNMP信任的每一方。该值为24个字符的字符串,也可使用更短的字符串,系统会自动在其后面补0。运行SNMP的本地路由器必须使用关键字local及id-string来定义。

使用以下命令来指定远程SNMP引擎ID的名称。

(global)snmp-server engineID remote ip-address [udp-port port] id-string

远程SNMP引擎(在远程主机或管理站上的一个SNMP实例)通过ip-address和名为id-string的文本字符串来定义。可使用可选关键字udp-port为远程主机指定 UDP端口(默认 161端口)。

注意 如果在使用了这些命令之后本地或远程的引擎 ID 名称发生改变,认证密钥将会失效,用户必须重新进行配置。MD5和SHA密钥的生成基于用户的密码和引擎ID。

(可选)定义SNMP用户的组访问模板。

模板groupname定义了用于SNMP用户组的安全策略。关键字v1、v2c和v3用于设置SNMP的版本。对于SNMPv3,还必须指定auth(包认证,不加密)、noauth(无包认证)或priv(带加密的包认证)的安全级别。

用户也可以针对用户组指定SNMP视图来限制对MIB的访问。使用关键字read(视图 readview定义了可读的对象;默认为所有 Internet 1.3.6.1 OID空间)、write(视图readview定义了可写的对象;无默认写入访问权限)和notify(视图readview定义了发送至用户组的通告;无默认值)。可以使用可选的标准IP访问控制列表acc-list进一步限制用户组对SNMP的访问。

(可选)定义SNMP用户及访问方法。

对于SNMPv1或SNMPv2c,使用以下命令来将用户加入到某个组中。

定义的用户username属于组模板groupname。可用关键字remote来指定用户所属的远端 SNMP manager的 IP地址。SNMP的版本必须使用关键字 v1或v2c来指定。可以使用带有关键字access的标准IP访问控制列表,使其只允许特定的源地址的SNMP用户。

对于SNMPv3,使用以下命令来将用户加入到某个组中并应用安全策略。

定义的用户username属于组模板groupname。可用关键字remote来指定用户所属的远端SNMP manager的 IP地址。SNMP版本 3必须使用关键字 v3来指定。可以使用带有关键字 access 的标准 IP 访问控制列表,使其只允许特定的源地址的SNMP用户。

默认情况下,用户输入的密码为明文的字符串。如果指定了关键字encrypted,密码将以MD5摘要(已加密)来输入。用户的认证密码使用关键字auth来指定。认证的类型由关键字md5(HMAC-MD5-96报文摘要5)或sha(HMAC-SHA-96)及文本字符串auth-password(最多64字符)共同指定。加密功能由关键字priv des56及文本字符串priv-password(最多64字符)共同指定。

注意 为了能够使用des56以及SHA加密功能,用户必须具有加密特性的路由器IOS镜像。

c.(可选)限制受控于SNMP的路由器操作。

启用SNMP重启操作。

(global)snmp-server system-shutdown

通常情况下,用户不能使用SNMP来向路由器发出重启的操作指令。如果有必要执行此功能,可使用这条命令启用重启控制功能。

指定受控于SNMP的TFTP服务器操作。

(global)snmp-server tftp-server-list acc-list

用户可以使用 SNMP 来让路由器保存其配置文件至 TFTP 服务器上或从TFTP服务器上加载配置文件。可使用标准IP访问控制列表acc-list来限制特定的IP地址组的TFTP服务器执行该操作。

3.(可选)配置SNMP通告。

a.定义发送的全局通告列表。

(global)snmp-server enable traps [type] [option]

此命令将启用特定类型的通告(同时包括trap和informs)。由于该命令只能指定一种类型,所以有必要的话可以多次使用该命令。如果未指定选项type,将启用所有可用的通告。此外,如果该命令一次都没有使用过,所有路由器控制的通告都不会被启用。

通告参数type的可用项如下。

aaa-server:AAA服务器状态改变(AS 5300和AS 5800)。

bgp:BGP状态改变。

calltracker:呼叫建立或拆除。

config:路由器配置改变。

dlsw:DLSw状态改变。选项option可以是circuit(电路状态改变)或tconn (端点传输连接)。

ds0-busyout:DS0接口的 busyout状态(AS 5300)。

ds1-loopback:DS1接口处于 loopback模式(AS 5300)。

dspu:带有PU或LU的DSPU状态改变。

entity:配置改变(实体MIB)。

envmon:超出环境条件。选项option可以是voltage(线路电压)、shutdown (即将关闭)、supply(冗余电源)、fan(风扇故障)或temperature。如果未指定option,将启用所有选项功能。

frame-relay:DLCI状态改变。

hsrp:HSRP状态改变。

isdn:ISDN呼叫的状态。选项option可以是call-information、chan-not-avail (D信道不可用)、layer2(2层状态改变)或u-interface。

msdp:多播源发现协议(MSDP)状态改变。

repeater:以太网中继器状态。选项 option可以是health(PRC 1516 health信息)或 reset(RFC 1516集线器重置)。

snmp:基本路由器状态改变。选项option可以是authentication(认证失败)、linkup(接口up)、linkdown(接口down)或coldstart(路由器正重新初始化)。如果未指定option,将启用所有选项功能。

b.定义通告的接收方。

(global)snmp-server host host [traps | informs] [version {1 | 2c | 3 [auth | noauth

  | priv]}] community-string [udp-port port] [type]

此命令用来指定接收SNMP通告(traps或informs)的单个主机(host为IP地址或主机名)。SNMP版本可选择性地指定成SNMPv1(1,默认选项)、SNMPv2c (2c)或SNMPv3(3)。如果选择了SNMPv3,可指定以下关键字来选择安全性的类型:auth(使用 MD5 及 SHA 认证)、noauth(默认选项,不使用认证或保密功能)或priv(使用DES加密功能)。

关键字 community-string用来指定SNMP agent和SNMP manager之间共享的密码。SNMP所使用的UDP端口使用参数port来指定(默认162端口)。

通告参数type可使用以下关键字来给出。如果未指定参数type,将启用所有通告功能。

aaa-server:AAA服务器状态改变(AS 5300和AS 5800)。

bgp:BGP状态改变。

bstun:组串行隧道(BSTUN)状态改变。

calltracker:呼叫建立或拆除。

casa:多节点负载均衡(MNLB)转发代理状态改变。

channel:信道接口处理器(CIP)状态改变。

config:路由器配置改变。

dlsw:DLSw状态改变。选项option可以是circuit(电路状态改变)或tconn (端点传输连接)。

ds0-busyout:DS0接口的 busyout状态(AS 5300)。

ds1-loopback:DS1接口处于 loopback模式(AS 5300)。

dsp:特定域部分(DSP)。

dspu:带有PU或LU的DSPU状态改变。

entity:配置改变(实体MIB)。

envmon:超出环境条件。选项option可以是voltage(线路电压)、shutdown (即将关闭)、supply(冗余电源)、fan(风扇故障)或temperature。如果未指定option,将启用所有选项功能。

frame-relay:DLCI状态改变。

hsrp:HSRP状态改变。

isdn:ISDN 呼叫的状态。选项option 可以是call-information、chan-not-avail (D信道不可用)、layer2(2层状态改变)或u-interface。

llc2:逻辑链路控制类型2(LLC2)状态改变。

msdp:多播源发现协议(MSDP)状态改变。

repeater:以太网中继器状态。选项 option可以是health(PRC 1516 health信息)或 reset(RFC 1516集线器重置)。

rsrb:远程源路由桥接(RSRB)状态改变。

rsvp:资源预留协议(RSVP)。

rtr:服务保证代理(SAA或RTR)。

sdlc:同步数据链路控制(SDLC)。

sdllc:SDLC逻辑链路控制(SDLLC)。

snmp:基本路由器状态改变。选项option可以是authentication(认证失败)、linkup(接口up)、linkdown(接口down)或coldstart(路由器正重新初始化)。如果未指定option,将启用所有选项功能。

stun:串行隧道(STUN)。

syslog:日志消息。syslog等级通过命令 logging history level来定义。

tty:TCP连接关闭。

voice:语音端口状态改变。

x.25:X.25事件。

xgcp:外部媒体网关控制协议(XGCP)。

c.(可选)调整通告参数。

设置通告请求选项。

(global)snmp-server informs [retries retries] [timeout seconds] [pending pending]

此命令使通告(informs)通过一种可靠的方式发送,通告的接受方需要进行确认。通告重发的最大次数可通过关键字retried定义(默认3次)。关键字timeout用来设定重传之前等待确认的时间(默认为30秒)。正在处理的通告还必须保存在路由器的内存中,直到收到相应的确认信息。关键字pending用来定义在任何时刻内存保存正在处理通告请求的最大数量(默认为25条)。一旦达到上限,系统将从内存中删除最早的那条通告请求。

设置SNMP trap的选项。

(global)snmp-server trap-timeout seconds

(global)snmp-server queue-length length

由于不需要确认包,故SNMP trap的发送是不可靠的。只有当到达 trap的接收方的路由不存在时,trap 才会被放入队列中并等待重发。这种情况下,路由器在重传trap前将等待seconds秒(默认30秒)。此外,默认情况下可为每个接收方保存10条trap事件到队列中。可以使用queue-timeout命令来设置队列大小,让每个队列最多保存length条trap事件。

指定通告使用的源地址。

(global)snmp-server trap-source interface

SNMP trap可以从任何可用的路由器接口发送。为了让路由器使用单一的源IP地址发送所有的trap事件,可以指定其使用的接口interface。通过这种方式,可以很容易地将trap事件同信息源路由器关联起来。

d.(可选)在特定接口上启用SNMP链路trap。

(interface)snmp trap link-status

默认情况下,路由器的所有接口当进入 up 或 down 的时候都会产生 SNMP链路 trap 信息。如果不希望这样,可在特定接口上使用命令 no snmp trap link-status来停用此接口的链路状态trap功能。

4.(可选)启用SNMP manager。

(global)snmp-server manager

将路由器配置成SNMP manager,允许其发送SNMP请求,并接收来自其他设备的SNMP响应和SNMP通告。

5.(可选)启用RMON支持。

a.配置分析类型。

(interface)rmon {native | promiscuous}

关键字 native 可使 RMON 只检查发往此路由器接口的数据包。而关键字promiscuous则检查本LAN网端的所有数据包。

注意 RMON分析属于 CPU密集型的操作。只有在明确其不会给路由器性能带来不利影响的情况下才能启用RMON。很明显,promiscuous模式会带来更高的CPU负载,因为要检查更多的数据包。

b.(可选)定义RMON队列大小。

(global)rmon queuesize packets

RMON分析队列的大小可以设定成packets个数据包(默认为64个)。

c.定义RMON告警。

(global)rmon alarm number object interval {delta | absolute} rising-threshold rise

 [event] falling-threshold fall [event] [owner string]

此命令将配置索引号为 number 的告警,用来监控一个特定的 MIB 变量object。对象 object 将以 entry.integer.instance 的形式的点分十进制值给出。interval字段用来指定告警监控对象object的秒数。关键字delta用来观察MIB变量之间的变化,而关键字 absolute 直接观察某个 MIB 变量。可以配置告警来测试以rising-threshold和falling-threshold为标准的对象。rise和fall为触发告警的门限值。event字段为上升和下降门限指定了用来触发告警的事件表中的一个事件号。可选的owner文本字符串给出了告警信息的属主。

d.定义收集的数据类型。

收集RMON历史统计信息。

(interface)rmon collection history {controlEntry number} [owner name] [buckets

 nbuckets] [interval seconds]

此命令将为历史统计信息组分配一个索引号number。可为RMON组(collection)分配一个可选的属组owner。关键字buckets定义了使用的收集桶(collection bucket)数量。关键字interval指定了轮询周期的秒数。

收集其他统计信息。

(interface)rmon collection {host | matrix | rmon1} {controlEntrynumber} [ownername]

路由器还可以基于主机设备(host)、设备间会话(matrix)或所有可用的RMON组(rmon1)来收集统计信息。该命令还为历史统计信息组分配一个索引号number。为RMON组分配一个可选的属组owner。

此例为一台配置了SNMP的路由器,其使用只读访问权限的团体public及读写访问权限的团体noc_team。SNMP的只读访问限制在了网络172.30.0.0内的任何主机,读写访问仅限于网络管理主机172.30.5.91和172.30.5.95。使用团体字符串 nms,将SNMP trap发送至 IP为 172.30.5.93的SNMP agent的机器上。除了路由器配置变化的trap之外,其他所有的trap信息都会被发送。

注释:1 译者注:SAA(Service Assurance Agent,服务保证代理)技术的前身是Cisco系统的中的RTR(Response Time Reporter,响应时间报告器)功能,所以与SAA相关的配置命令大多以关键字 rtr开头。不过,今天的SAA又被称为SLA(Service Level Agreements,服务等级协议),后者基于SAA技术发展而来,并在其基础上进行了增强。

SAA使用在 IOS命令行手工配置或调度的操作,或使用带有Cisco往返时间监控(RTTMON)MIB的SNMP manager来执行网络性能的测定。

SAA能够测定以下类型的响应时间:DHCP、DLSw+、DNS、ICMP、Echo、SNA Echo、FTP、HTTP、UDP抖动、traceroute、TCP连接和UDP Echo。

某些 SAA 测定只需使用本地路由器和远程主机便可实现。而某些测定则需要一台运行着SAA响应端的远程Cisco路由器。

SAA测定的数据以统计分布的形式收集并保存起来。如需要,还可以使用一种历史的方式来收集。

抖动(jitter)操作用来测定连续数据包之间的延迟变化。这点对于语音流量尤为重要,低抖动是保证高语音质量的必要条件。

TCP连接操作用来测定请求并打开一条TCP连接所需的时间。这点对于模拟Telnet连接响应会有一定的帮助。

1.定义全局SAA参数。

a.(可选)设定SAA内存大小。

(global)rtr low-memory bytes2

注释:2 译者注:随着RTR、SAA、SLA技术的不断发展,此命令在 IOS中先后被更改成了(global)ip sla monitor low-memory bytes和(global)ip sla low-memory bytes命令。不过,在绝大多数较高版本的 IOS中,旧时的rtr命令仍可作为隐藏命令继续使用,用以保持一定的兼容性。后文中所有以关键字rtr开头的命令都会存在1~2条的更新命令,本书会根据IOS发展的先后顺序以译者注的形式将新命令依次列出。

此命令可将 SAA 操作(operation)的可用路由器内存大小设定为 bytes(默认为可用内存的 25%)。内存的大小应始终小于命令 show memory中所显示的空闲内存大小。系统实际上在SAA操作调度时才为之分配内存。

b.(可选)在SAA收集端与响应端之间配置用于MD5认证的密钥链。

定义密钥链。

(global)key chain keychain-name

一个密钥链可以包含一个或多个能够使用的认证密钥。

配置密钥链上的密钥编号。

(keychain)key number

密钥可使用0~2147483647之间的任何编号。

定义密钥的文本字符串。

(keychain-key)key-string text

认证字符串text用作认证使用的密钥。字符串长度为1~80个字符(大小写数字或字母;首字符必须是字母)。

将密钥链同时应用在SAA收集端和响应端路由器上。

注释:1 译者注:随着版本 IOS升级,此命令先后变更为(global)ip sla monitorkey-chainname与(global)ip sla key-chain name。

(global)rtr key-chain name1

2.定义SAA执行的操作。

(global)rtr number2

注释:2 译者注:随着版本 IOS升级,此命令先后变更为(global)ip sla monitornumber与(global)ip slanumber。在最新的 IOS 15.1中,该命令又被更新成(global)ip sla auto template operation template-name。后文不会继续讨论 IOS 15.x系列的命令。

此命令定义了一组由数字number标识的SAA操作,输入此命令后,将进入rtr配置模式。

3.定义执行的操作类型。

a.DHCP操作。

( r t r ) 3 t y p e d h c p [ s o u r c e-i p a d d r s o u r c e-a d d r ] [ d e s t-i p a d d r d e s t-a d d r ] [ o p t i o n o p t i o n ] 4

注释:3 译者注:(rtr)表示rtr配置模式,此模式通过旧时命令rtr进入,提示符为(config-rtr)#。新命令的提示符为(config-sla-monitor)#和(config-ip-sla)#,分别对应命令 ip sla monitor和命令 ip sla。

注释:4 译者注:随着 IOS版本升级,此命令变更为(config-ip-sla)dhcp {dest-ip-address | hostname} [source-ip ip-address] [option 82]。

默认情况下,所有可用接口使用广播地址255.255.255.255去检测DHCP服务器的回应。此命令用来测定从发现路由器到获得租期的往返时间。如需要,可通过输入命令 ip dhcp-server ip-address或使用关键字dest-ipaddr来将数据包发至特定的DHCP服务器。如果使用了关键字source-ipaddr,DHCP请求包的源地址将变为source-addr。关键字option用来定义DHCP选项(option),此处一定是选项82。

b.DLSw+操作。

(rtr)type dlsw peer-ipaddr ip-addr1

注释:1 译者注:随着 IOS版本升级,此命令变更为(config-ip-sla)dlsw peer-ipaddr ip-address。

此命令用来测定本地路由器与地址为 ip-addr 的 DLSw+端点之间的响应时间。DLSw+必须先同时配置在本地和远程路由器上。而 SAA 操作只需随后在本地路由器上配置即可。

c.DNS操作。

(rtr)type dns target-addr target-addr name-server dns-addr2

注释:2 译者注:随着 IOS版本升级,此命令变更为(config-ip-sla)dns {dest-ip-address | hostname} name-server ip-address [source-ip ip-address source-portport-number]。

此命令用来测定DNS请求与回复之间的往返时间。请求包发送至IP地址为target-addr为的主机。DNS服务器的IP地址通过参数dns-addr定义,target-addr也可以是某个主机名,用以测定反向解析时间。

d.Echo操作。

ICMP echo。

(rtr)type echo protocol ipIcmpEcho {ip-addr | hostname} [source-ipaddr ip-addr]3

注释:3 译者注:随着 IOS 版本升级,此命令变更为(config-ip-sla)icmp-echo {dest-ip-address | hostname} [source-ip ip-address | source-interface interface]。

(可选)(rtr)lsr-path {name | ip-addr} [name | ip-addr] …

此命令用来测定本地路由器与终端设备之间端到端的 ICMP echo响应时间。终端设备可由参数ip-addr或hostname来标识。用户可以使用关键字source-ipaddr来指定测定包的源IP地址ip-addr。如果需要,还可输入命令lsr-path来定义一条宽松的(loose)源路由路径。该路径由多组参数name或ip-addr字符串的值构成。

ICMP echo的默认净荷(payload)大小为28字节。可使用命令request-data-size去修改SAA操作中请求数据包的净荷大小。

SNA RU echo。

(rtr)type echo protocol snaruecho sna-hostname

此命令用来测定本地路由器与SNA设备之间端到端的SNA SSCP native echo响应时间。VTAM中为PU定义的SNA主机名通过参数sna-hostname给出。

SNA LU echo。

(rtr)type echo protocol {snalu0echoappl | snalu2echoappl} sna-hostname

  [application-name sna-application] [mode-name sna-mode]

此命令用来测定从本地路由器到 NSPECHO 主机应用(Cisco 提供)的端到端的SNA LU0连接。VTAM中为PU定义的SNA主机名通过参数 sna-hostname给出。关键字application-name用来指定SNA应用的名称sna-application(默认为NSPECHO)。关键字mode-name可将SNA模式指定成sna-mode。

e.FTP操作。

(rtr)type ftp operation operation-type url url [source-ipaddr source-ipaddr] [mode

  {passive | active}]1

注释:1 译者注:随着 IOS版本升级,此命令变更为(config-ip-sla)ftp geturl [source-ip ip-address] [mode {passive |active}]。

此命令用来测定FTP文件的下载相应时间。系统只支持“get”的FTP操作模式,即参数operation-type只能是get。关键字url定义了所要下载的文件。URL通过参数url给出,该参数必须使用典型的URL格式。如果需要指定用户名及密码,相应的格式为ftp://user:password@host/filename。否则,格式ftp://host/filename所使用的默认用户名和密码分别为anonymous和test。如果需要,用户也可以使用关键字source-ipaddr来定义(路由器发起的)FTP请求的源地址。FTP模式可通过关键字mode指定成passive(默认模式)或active。

f.HTTP操作。

定义操作。

(rtr)type http operation {get | raw} url url [name-server dns-addr] [version

 version] [source-addr{name|src-addr}] [source-port port] [cache{enable|

 disable}] [proxy proxy-url]2

注释:2 译者注:随着 IOS版本升级,此命令变更为(config-ip-sla)http {get | raw}url [name-server ip-address] [version version-number] [source-ip {ip-address | hostname}] [source-port port-number] [cache {enable |disable}] [proxy proxy-url]。

此命令用来测定从某个服务器请求一个基本 HTML 页面并收到服务器响应的往返时间。使用关键字get可以配置标准的HTTP“get”操作,而HTTP原始(raw)请求操作则必须使用关键字raw,后接命令http-raw-request(后文讨论)。要获取的 URL 通过参数 url 来给出。名称服务器 dns-addr 可通过关键字name-server给出。关键字source-addr可指定HTTP请求的源地址,可以是名称name或IP地址src-addr。此外,HTTP端口port(默认为80)还可以使用关键字source-port 来指定。HTTP 版本通过关键字 version 来定义。用户可以使用关键字 cache enable开启下载缓存HTTP页面功能。关键字proxy定义了用来指向代理服务器的proxy-url。

(可选)为get请求定义HTTP原始命令。

 (rtr)http-raw-request

 (rtr-http)1http_1.0_commands

注释:1 译者注:(rtr-http)表示 rtr HTTP配置模式,提示符为(config-rtr-http)#,而随着 IOS版本升级,提示符变更成(config-ip-sla-http)#。

(rtr-http)exit

可以输入HTTP 1.0命令来形成一个自定义(或“原始”)的HTTP请求去执行。随后对这个请求的响应时间及恢复进行测定。

g.抖动操作。

(rtr)type jitter dest-ipaddr {name | ip-addr} dest-port dest-port [source-addr

  {name | ip-addr}] [source-port src-port] [control {enable | disable}]

  [num-packets pkts] [interval milliseconds]2

注释:2 译者注:随着 IOS版本升级,此命令变更为(config-ip-sla)udp-jitter {dest-ip-address | dest-hostname}dest-port [source-ip {ip-address | hostname}] [source-port port-number] [control {enable | disable}] [num-packets number-of-packets] [interval interpacket-interval]。

此命令用来测定UDP echo的往返时间。此外,还在每个方向上对数据包丢失和抖动进行了测定。抖动的测定必须在两台 Cisco 路由器之间进行:一台配置SAA抖动操作,另一台配置成SAA响应端(参见步骤5)。操作使用的数据包大小默认为32字节,该值可通过命令request-data-size来修改。

关键字dest-ipaddr定义了远程或目标路由器的名称name或IP地址ip-addr。目的UDP端口及可选的源端口可分别通过关键字dest-port和source-port指定。如需要,可使用关键字 source-addr 来设定请求数据包的源地址。默认情况下,本地路由器会发送控制消息至目的端口来发起抖动测试,就像关键字 control enable定义的那样。如果不希望这样,可使用关键字 control disable。抖动操作中发送的数据包数量可通过关键字num-packet来设定(默认为10)。此外,数据流中数据包的发送间隔也可以使用关键字interval进行设定(默认为20毫秒)。

注意 还可以测定请求与响应路由器之间的单向延迟。要实现此功能,抖动操作需要两台路由器上的时钟通过配置网络时间协议(NTP)保持同步(有关配置NTP的更多信息请参考1.4节)。

h.路径echo操作。

(rtr)type pathEcho protocol ipIcmpEcho {name | ip-addr}3

注释:3 译者注:随着 IOS版本升级,此命令变更为(config-ip-sla)path-echo {dest-ip-address | dest-hostname} [source-ip {ip-address |hostname}]。

通过使用traceroute操作可测定从本地路由器到某个IP主机网络路径上的逐条响应时间。目的地或目标可通过名称name或IP地址ip-addr给出。

i.TCP连接操作。

(rtr)type tcpConnect dest-ipaddr {name | ip-addr} dest-port port [source-ipaddr

  {name | ip-addr} source-port port] [control {enable | disable}]1

注释:1 译者注:随着 IOS版本升级,此命令变更为(config-ip-sla)tcp-connect {dest-ip-address |dest-hostname}dest-port [source-ip {ip-address | hostname} source-portport-number] [control {enable | disable}]。

此命令用来测定初始化并打开某个远程主机TCP连接的响应时间。如果远程目标是另一台带有SAA响应端的Cisco路由器的话,便可以通过使用关键字dest-port来定义TCP端口号。如果目标是其他类型设备,那么目标主机一定要保证TCP端口号可用。请求数据包的源地址及 TCP 端口可分别使用关键字 source-ipaddr和 source-port指定。默认情况下,SAA启用了控制协议(control enable),也就是说,即使收不到响应端的响应,也会发起TCP连接操作。

j.UDP echo操作。

定义操作。

(rtr)type udpEcho dest-ipaddr {name | ip-addr} dest-port port [source-ipaddr {name |

 ip-addr} source-port port] [control {enable | disable}]2

注释:2 译者注:随着 IOS版本升级,此命令变更为(config-ip-sla)udp-echo {dest-ip-address | dest-hostname}dest-port [source-ip {ip-address | hostname} source-portport-number] [control {enable |disable}]。

此命令用来测定发送至远程主机的UDP echo数据包的往返时间。如果远程目标是另一台带有SAA响应端的Cisco路由器的话,便可以通过使用关键字 dest-port来定义 UDP端口号。如果目标是其他类型设备,那么目标主机一定要保证UDP端口号可用。请求数据包的源地址及UDP端口可分别使用关键字 source-ipaddr 和 source-port 指定。默认情况下,SAA 启用了控制协议(control enable),也就是说,即使收不到响应端的响应,也会发起UDP连接操作。

(可选)定义使用的数据模式。

(rtr)data-pattern hex-value

命令data-pattern用来保证数据在处理的过程中不会被损坏。默认的模式为0xABCD。

4.定义操作的可选参数。

a.(可选)设置基本操作属性。

设置操作频率。

(rtr)frequency seconds

此命令可将两次操作之间的间隔设定为seconds(默认为60秒)。

设置等待响应时间。

(rtr)timeout milliseconds

此命令可将SAA等待操作响应的时间可设定为milliseconds(默认为5000毫秒)。

设置定义一次回应的上升门限。

(rtr)threshold milliseconds

当操作的测定结果持续超过门限值定义的时间后,系统将定义一次回应(reaction)事件。门限可以通过参数milliseconds来设定(默认为5000毫秒)。

设置SAA请求数据包的净荷大小。

(rtr)request-data-size bytes

请求数据包净荷中的协议数据可设定成从0到协议所支持的最大值(默认为1字节)。

(仅用于SNA echo)设置SAA响应数据包的净荷大小。

(rtr)response-data-size bytes

默认情况下,对于APPL协议来说,响应数据包的协议数据大小为0字节。其他协议的默认值同关键字response-data-size设定的大小一样。

设置请求数据包IP头部中的服务类型(ToS)位。

(rtr)tos value

ToS值可以通过参数value来设定,该值是一个十进制或十六进制(0x…),范围从0~255(默认为0)的值。

设置标识符标签。

(rtr)tag string

用户可以为每项操作分配一个文本字符串标签,将其从一组操作中区分出来。参数string值的范围为0~16个字节。

设置SNMP属主信息。

(rtr)owner string

用户可以为SAA操作定义一组SNMP属主信息的文本字符串。该字符串可包含任何相关的信息,如发起操作的人是谁、电话号码、地理位置,或使用操作的缘由。参数string值的范围为0~255个字符,可包含空格。

针对损坏数据检查SAA echo响应。

(rtr)verify-data

如果用户怀疑数据受损,可执行echo响应检查,不过会带来额外的负载开销。

b.(可选)设置操作统计参数。

(rtr)distributions-of-statistics-kept buckets1

注释:1 译者注:随着 IOS版本升级,前 3条命令分别变更为 history distributions-of-statistics-kept buckets、history statistics-distribution-intervalmilliseconds,以及 history hours-of-statistics-kept hours;后两条命令未作改动。

(rtr)statistics-distribution-interval milliseconds

(rtr)hours-of-statistics-kept hours

(rtr)hops-of-statistics-kept hours

(rtr)paths-of-statistics-kept hours

注意 SAA统计命令只应在为建立网络模型而需要统计信息时才使用,其他时候,默认值便可以为响应时间操作提供合适的系统资源。

每次操作的测定结果都被分布进“桶(bucket)”中,该桶包含着某次响应时间间隔内的测定结果。命令 distributions-of-statistics-kept 用来指定共有多少个分布桶可用(默认为1)。命令statistics-distribution-interval用来设定响应时间间隔的时长(默认为 20 毫秒;如果分布桶的数量为 1,那么该命令将不起作用)。命令 hours-of-statistics-kept 用于设定保存统计信息的长度2(默认为 2小时)。命令 hops-of-statistics-kept用来设置统计信息为每条路径所保留路径echo操作的跳数(默认为16跳)。命令paths-of-statistics-kept用来设定统计信息每小时所保存的不同路径数,因为不同的路径将使用不同的路径echo操作(默认为5条)。

注释:2 译者注:对于ICMP路径echo操作,维护分布统计信息表所需的路由器内存的计算方式应为:系统需分配的内存大小=(160字节)*(distributions-of-statistics-kept bucket)*(hops-of-statistics-kept hours)*(paths-of-statistics-kept hours)*(hours-of-statistics-kept hours)。所以这里的“长度”用于将路由器的内存需求形象化。

c.(可选)设置测定历史的参数。

(rtr)buckets-of-history-kept datapoints3

注释:3 译者注:随着 IOS版本升级,前两条命令分别变更为history bucket-keptdatapoints与history live-kept lives;第3命令未作改动;第4条命令变更为history filter {none |all |overThreshold | failures}。

(rtr)live-of-history-kept lives

(rtr)samples-of-history-kept sample

(rtr)filter-for-history {none | all | overThreshold | failures}

注意 只有当用户怀疑网络存在问题时才应使用 SAA 历史相关命令。历史收集记录了最后特定数量的数据点,因此会占用更多的路由器内存。默认情况下,系统未执行历史收集功能。

命令 buckets-of-history-kept 用来设置为测定操作所保存的数据点数量(默认为50桶)。命令live-of-history-kept用来启用历史收集功能并设置为测定操作所收集的生命期(life)数量(默认为 0)。生命期是指一项操作从开始到结束的活动时间长度。命令 samples-of-history-kept 用来设定每个桶中的历史条目数量(默认为16条)。命令filter-for-history用来指定收集的历史信息类型。关键字有none(默认;不保存历史信息)、all(保存所有操作)、overThreshold(仅保存超过门限的操作结果),以及failures(仅保存失败的操作)。

d.设置操作门限。

配置要执行的动作。

(global)rtr reaction-configuration operation [connection-loss-enable]

  [timeout-enable] [threshold-falling milliseconds] [threshold-type option]

 [action-type option]1

注释:1 译者注:随着版本 IOS升级,此命令先后变更为(global)ip sla monitor reaction-configuration与(global) ip sla reaction-configuration,选项参数略。

当满足某个门限或其他条件时会发送一个通告。通告用来触发进一步的 SAA操作或发送告警。回应操作针对特定编号的SAA操作operation进行配置。关键字 connection-loss-enable 用来启用连接丢失检查功能(默认停用)。关键字timeout-enable会基于命令timeout来启用操作超时的检查功能(默认停用)。关键字threshold-falling定义了响应时间值的下降门限(默认为3000 毫秒)(上升门限通过命令threshold来定义)。

门限的计算方式通过关键字threshold-type来定义,可以是never(默认参数,无违规门限)、immediate(当门限违规时立刻执行动作)、consecutive [occurrences] (超过门限 occurrences次后执行动作,默认为 5次)、xofy [x y](在 y次中超过门限 x次后执行动作;默认 x和 y都为 5)或 average [attempts](如果最后 attempts次尝试的响应时间平均值超过门限,便执行动作,默认为5次)。

执行的动作可通过关键字action-type来定义,可以是none(无动作)、traponly (发送SNMP trap)、nmvtonly(发送SNA NMVT告警)、triggeronly(触发第二次SAA操作)、trapandnmvt(发送trap和NMVT告警)、trapandtrigger(发送trap并触发第二次SAA操作)、nmvtandtrigger(发送NMVT告警并触发第二次SAA操作)或trapnmvandtrigger(发送trap和NMVT告警并触发第二次SAA操作)。

配置超过门限后的第二次SAA操作。

(global)rtr reaction-trigger operation target-operation1

注释:1 译者注:随着版本 IOS升级,此命令先后变更为(global)ip sla monitor reaction-trigger与(global) ip sla reaction-trigger,选项参数略。

如果先前的SAA操作operation触发了动作,那么将启用编号为target-operation的SAA操作。

5.在远程路由器上定义SAA响应端。

(global)rtr responder2

注释:2 译者注:随着版本 IOS升级,此命令先后变更为(global)ip sla monitor responder与(global)ip sla responder。

此命令可启用远程路由器的SAA响应端功能,使其针对各种SAA操作类型提供智能响应。

6.排定SAA操作时间。

(global)rtr schedule operation [life seconds] [start-time {pending | now | hh:mm [month

  day | day month]}] [ageout seconds] 3

注释:3 译者注:随着版本 IOS升级,此命令先后变更为(global)ip sla monitor schedule与(global)ip sla schedule。

此命令用于排定SAA操作operation的活动时间。关键字life定义了数据收集的总时间量(默认为3600秒,即1小时)。关键字start-time用来设定操作何时开始:pending(默认参数;不会运行直到某个时间开始或者被触发)、now(命令输入便开始收集数据)或某个定义的时间(24 小时格式)和可选的日期(默认为当前的日期)。如果要指定日期,应至少给出月份名称的3 个字符。关键字ageout用来设定操作保持在挂起(pending)状态的时间长短(默认为0,表示无限长)。

7.查看SAA操作结果。

a.(可选)查看SAA操作配置。

(exec)show rtr configuration [operation]

b.(可选)查看SAA操作活动信息。

(exec)show rtr collection-statistics [operation]

c.(可选)查看SAA操作结果。

(exec)show rtr distribution-statistics [operation] [tabular | full]

此命令用来显示收集到的分布结果(默认只显示一组分布结果)。关键字tabular以一种能够让某个应用进行分析的格式显示结果。关键字full以一种可读性更好的格式显示结果。

此例中,配置了一项用来测定主机 192.168.191.47的 ICMP echo响应时间的操作。每30秒执行一次测定。该操作的生命期排定成8小时,并且立即生效。

配置另一项操作,用来测定服务器10.68.191.82的HTTP响应时间。测定每小时执行一次,每次1分钟(注意这两个时间都是操作频率和生命周期的默认值)。操作应从2月12日的上午8:00开始。用来测试页面的URL为www.swellcompany.com。

路由器执行路由操作时会将部分内存分配给缓存,用以存储和交换数据包。

路由器的内存由系统内存和共享(I/O)内存共同组成。可以使用 show version来确定内存是如何划分的。找到“xxxK/yyyK bytes of memory”的位置,xxx表示系统内存的数量,而yyy表示共享内存的数量。

缓存空间被分成了公共(系统)缓存和接口缓存。

路由器的硬件平台决定了缓存位于何处。

低端型号(如1600、2500、4000、4500、4700系列):所有缓存都位于共享内存中。

颗粒技术(particle-based)型号(如 2600、3600、7200和Catalyst 6000MSFC):公共缓存用来处理交换操作,数据包在接口缓存上被分裂成用于执行快速交换的颗粒(particle)。

高端型号(如7600):接口缓存用来执行快速交换;其他则使用系统缓存。

路由器上的系统缓存按照以下类型及大小进行分配。

Small:104字节。

Middle:600字节。

Big:1524字节。

VeryBig:4520字节。

Large:5024字节。

Huge:18024字节(可配置)。

系统会根据缓存类型以及所需的MTU或数据包大小来分配使用的缓存。

缓存参数定义了系统如何分配以及何时分配缓存。

permanent:在路由器初始化期间分配一定数量的缓存。

min-free:当缓存数量低于此值时,路由器会尝试从可用内存中分配更多缓存。

max-free:当缓存数量高于此值时,路由器会逐渐释放空闲的缓存。

如果需要缓存,但又无空闲或可用的缓存,那么路由器会在分配一块新缓存之前将缓存标记为miss。如果因为缺少可用内存而导致不能分配额外的缓存,那么路由器会将缓存标记为 failure。如果接口缓存出现这种问题,会将状态标记为fallback,取而代之,路由器会在公共缓存空间中分配额外的缓存。

注意 可以调整系统缓存来提高某些路由器的性能状态。不过,应当谨慎地尝试调整缓存。理想情况下,应在调整缓存之前向Cisco TAC(技术支持中心)开一份case,来获取相应的工程指导。

本节研究系统缓存,系统出于接收和发送的目的使用系统缓存存储数据包。前半节讨论了如何监控并查看缓存信息。后半节讨论了如何修改并调整缓存性能。需要提到的很重要的一点是,尽管能够通过调整系统缓存来提升某些路由器的性能状态。但默认的缓存是Cisco通过大量研究设计出来的。如果用户觉得需要进行缓存调整,应在调整缓存之前向Cisco TAC开一份 case,来获取相应的工程指导。

缓存监控

1.查找接口缓存问题。

如果怀疑某个特定的接口存在缓存问题,可以通过参数type和num进行指定。否则的话,系统将列出所有接口的相关信息。在命令输出中寻找包含“no buffer”状态数量的那一行,如下例所示。

此例表明共出现108次需要为数据包分配缓存,但没有足够可用内存的问题。

2.查找总体缓存问题。

(exec)show buffers

该命令会列出每种类型的缓存大小,以及各种缓存活动的统计。仔细注意“Public buffer pools”和“Public particle pools”这两部分。以下是部分用户感兴趣的统计。

total:缓冲池类型中的总缓存数量(已使用和未使用的)。

permanent:始终在缓冲池中的缓存数量。

in free list:当前可用的缓存数量。

min:空闲列表中维护的最小缓存数量。如果改值小于min,系统将尝试分配更多缓存。

max allowed:空闲列表中维护的最大缓存数量。如果该值超过了最大值,某些缓存将会被“修剪(trimmed)”或释放。

hists:从空闲列表中成功分配的缓存数量。

misses:需要缓存但空闲列表中缓存不可用的次数。

trims:从空闲列表中已被“修剪”的缓存数量。

created:用于维护空闲列表中min值而创建的缓存数量。

failures:缓存不可用且不能被分配的次数。

no memory:尝试去分配新缓存但路由器内存不足的次数。

下例给出了命令 show buffers的输出。如果用户看到了 failures和no memory的值都大于0,那么应该怀疑系统存在缓冲问题。

上述结果报告出了 failures 的情况,指示出了某些缓存需要被分配,但路由器路由数据包时未能及时的分配它们。当然导致这种情况的原因并不一定是因为内存不足,也可能是系统要求在缓存分配之前丢弃数据包。报告的 no memory为0说明并非缺乏缓存内存。同样,我们注意到failures报告的数量只占hits报告数量的非常小一部分。

如果用户发现 no memory统计不是 0,那么很有可能需要进行缓存调整。如果failures数量占hits数量很大的百分比,那么调整缓存也是适宜的(这个百分比是一个主观的数字,很可能并不适用于所有情况。来自Cisco TAC的技术支持能够帮助判定缓存调整是否必要)。

调整缓存

1.使用下面的命令来调整缓存。

(global)buffers {small | middle | big | verybig | large | huge | type number} {permanent

  | max-free | min-free | initial} value

此命令可针对某种特定类型的公共缓冲池设置参数。缓冲池的类型可以是small、middle、big、verybig或huge。缓冲池参数通过关键字permanent、max-free、min-free或initial以及想要的值value给出。

注意 用户还可以使用接口类型type和值number来调整接口缓冲池。不应该试图修改与接口缓存相关的值。这些值是Cisco为正常运作仔细计算过的。

此命令只能调整命令 show buffers列出问题的缓存类型。凭经验来说,新的permanent 值应该比缓冲池中总的缓存数量多出约 20%。新的 min-free 值应该是permanent缓存数量的25%。而max-free值应该大于permanent与min-free值的和。

根据命令 show buffers的显示结果,small缓存的初始数量如下图所示。

将 small缓存的新参数设定成以下各值:permanent 576、min-free 144以及max-free 750。

命令ping(Packet Internet Groper)可以用来测试路由器到远端主机或路由器的端到端的连通性。IP协议的ping使用 ICMP类型8的 echo request报文和 IMCP类型 0的 echo reply报文。

命令 traceroute 用来发现去往目的地的数据包沿路经过的路由器。IP 协议的 traceroute使用UDP端口 33434发送探测包。

命令telnet用来打开到其他路由器或主机的Telnet连接。

许多debug命令和选项可用来显示出路由器内部活动的相关信息。

如果网络分析器不可用,那么可以通过配置一台路由器来显示网络流量的基本信息。这种方法称为“穷人的嗅探器(poor man’s sniffer)”。

如果路由器崩溃,故障信息可以被收集起来,用以辅助排查故障原因。

用户可以查看路由器CPU、内存、接口,以及协议的相关活动信息。

Cisco TAC可提供大量的排错工具以及技术支持资源。

注意 本章节并不会介绍出排错命令的完整清单。不过,读者应该可以在这里找到一组可在各种环境中使用的命令及工具。

(exec)ping [protocol] {host}

命令ping操作会发送 echo request数据包,并期望返回 echo reply的数据包。ping可以应用在多种协议中。协议protocol可以是appletalk、clns、ip(默认参数)、novell、apollo、vines、decnet或xns。某些协议需要远端设备是一台Cisco路由器来应答ping数据包。目的地host可以是地址或主机名称。

IP ping会发送 ICMP类型 8(echo request)的数据包至目的地。每次 ping回应时,会显示以下字符。

! :成功收到一个 echo reply数据包。

. :在超时时间(2秒)内未收到 echo reply数据包。

U :收到一个目的地不可达的错误。

M :收到一个不能分片的消息。

C :收到一个发生拥塞的数据包。

I :ping测试在路由器上被中断。

? :收到一个未知类型的数据包。

& :数据包的生命期或生存时间(TTL)到期。

一旦测试完成,路由器会报告成功率,还有以毫秒为单位的最小、平均以及最大的往返值汇总信息。

注意 常规的ping命令只能指定目的地的地址。ping数据包中的源地址使用离目的地最近的路由器出站接口上的地址。不过,这对于判断连通性可能有帮助,也可能没有帮助。

(exec)ping

扩展ping除了不需要输入选项外,与常规ping一样。直接输入命令ping后,系统会提示用户所有可用的ping选项,包括使用的源地址,可以指定的选项如下。

协议(默认为IP):可以是appletalk、clns、novell、apollo、vines、decnet或xns。

目标IP地址。

重复次数(默认为5个数据包):发送echo数据包的次数。

数据报大小(默认为100字节):echo数据包的大小。可选择大于MTU的数值来测试数据报分片功能。

超时(默认为 2秒):针对每个 echo,等待 echo reply的时间量。

扩展命令。

源地址或接口:可以是任意的源地址。如果想要看到回复数据包,那么地址必须是路由器任意活动接口上的地址。

服务类型(默认为0)。

IP头部中设置DF位(默认不设置):如果设置了DF位,数据包将不能为较小MTU的路径执行分片操作。可以使用该选项来检测路径的最小MTU。

校验echo reply数据(默认不校验):将echo数据包中的数据同echo reply包中的数据进行比较。

数据模式(默认为0xABCD):数据模式是一个16比特的字段,其重复贯穿于数据包的数据位之中。该选项可以用来测试 CSU/DSU 和线缆的数据完整性。

宽松(loose)、严格(strict)、记录、时间戳、详尽(verbose)(默认都不使用):loose(带有部分中间路由器地址的宽松源路由);strict(带有全部中间路由器地址的严格源路由);record(记录特定跳数的路由);timestamp(记录每跳路由器上的时间戳);verbose(切换到详尽报告模式)。record选项可以帮助查看往返路径上路由器的地址记录。

扫描(sweep)一定范围内的包大小(默认不扫描):发送大小可变的echo数据包。

扫描最小的数据包大小(默认为36字节)。

扫描最大的数据包大小(默认为18024字节)。

扫描间隔(默认为1秒)。

(exec)traceroute [protocol] [destination]

命令 traceroute 用来向目的地 destination(网络地址或主机名)连续地发送探测数据包。协议protocol可以是appletalk、clns、ip或vines。

对于IP协议来说,发送的第一组数据包(默认3个)的生存时间(TTL)为1。沿路的第一台路由器会将TTL减 1,当检测到TTL为 0时,返回 ICMP TTL到期(TTL-exceeded)的错误消息。之后,再发送后续组的数据包,每组数据包的TTL均以1递增。通过这种方式,沿路上的每台路由器都会响应错误消息,从而让本地设备去检测路径中的各跳路由器。

下列字段为traceroute探测的输出结果。

探测序列号:当前的跳数。

当前路由器的主机名。

当前路由器的IP地址。

每组数据包中各次探测的往返时间(毫秒)。

* :探测超时。

U :收到端口不可达消息。

H :收到主机不可达消息。

P :收到协议不可达消息。

N :收到网络不可达消息。

? :收到未知类型的数据包。

Q :收到源抑制消息。

traceroute操作会连续发送探测分组直到超过TTL的最大值(IP协议默认为30)或者用户使用控制键(Ctrl-Shift-6)中断路由器的操作。

也可以不加选项直接使用traceroute。这样的话,路由器会提示使用以下参数。

协议(默认为IP):也可以为appletalk、clns或vines。

目的地址。

源地址:路由器接口上的某个IP地址;如未指定,将使用离目的最近的接口地址。

数字形式显示(默认为 no):默认情况下,系统会同时显示每一条的主机名和 IP 地址;如果设置成 yes,将只显示 IP 地址。该参数通常用在DNS不可用的环境中。

超时时间(默认3秒):等待一次探测响应的时间量。

探测计数(默认3次):在每级TTL(或每跳)发送的探测包的数量。

最小 TTL(默认为 1):默认探测第一跳所使用的 TTL,该参数可忽略路径中前面已知的路由器跳数。

最大TTL(默认为30):探测所使用的最大跳数;当跳数达到此值或到达目的地时traceroute就会终止。

端口号(默认为33434):探测使用的UDP目的端口。

宽松(loose)、严格(strict)、记录、时间戳、详尽(verbose)(默认都不使用):loose(带有部分中间路由器地址的宽松源路由);strict(带有全部中间路由器地址的严格源路由);record(记录特定跳数的路由);timestamp(记录每跳路由器上的时间戳);verbose(切换到详尽报告模式)。record选项可以帮助查看往返路径上路由器的地址记录。

注意 某些路由器不能正确地响应 traceroute 探测包。在这种情况下,发出的部分或全部探测包在输出中将以星号(*)来报告。

此命令用来开启一条到达目标host(IP地址或主机名称)的Telnet会话。会话开启后,可以使用控制键(Ctrl-Shift-6 x)挂起当前会话,以便开启其他的会话。更多关于会话控制和使用的信息请参阅1.1节。

注意 路由器使用离目的地“最近”接口上的IP地址作为源IP地址来初始化一条Telnet连接。如果想强制Telnet使用某个特定活动接口上的IP作为其源地址,可以在全局配置模式下使用命令 ip telnet source-interface interface。

1.选择收集调试(debug/debugging)输出的方法。

(更多关于将路由器日志信息记录到syslog服务器的信息请参见1.5节)

a.将调试输出保存至路由器缓存中。

(global)logging buffered [size]

此命令可将所有的调试输出保存在路由器自身的循环缓存中。缓存大小 size可设定成4096~4294967295字节。默认缓存大小与硬件相关。可使用命令show logging来查看。

b.将调试输出发送至syslog服务器。

(global)logging host

路由器会将调试输出作为syslog消息发送至目标host(IP地址或主机名称)。默认情况下,syslog消息的严重性级别为7(debugging)。

c.将调试输出发送至非Console的会话上。

(exec)terminal monitor

使用此命令后,当前的Telnet会话将负责接收系统信息和调试输出。如果仍看不到调试信息,需要使用命令 logging monitor debugging来启用严重性级别为7(debugging)的输出功能。

d.将调试输出发送至路由器Console。

(global)logging console [level]

使用此命令后,所有的调制输出都将发送至路由器Console上。默认情况下,执行 debugging 级别的日志功能。如果路由器的配置发生了变化,可以通过将选项level指定成debugging来覆盖先前的配置。

注意 用户应谨慎地将调试输出发送至各种目的地。因为调试命令可能会在短时间内输出大量的消息数据,从而严重降低路由器的性能。因此,应选择一种能够高效地收集并显示数据的目的地。命令 logging buffered是最有效的方法,因为消息被直接存储在路由器的缓存中。调试日志方法按照系统的负载大小依次为 logging buffered(负载最低)、logging host、terminal monitor和logging console(负载最高)。事实上,向Console发送调试消息可能会由于大量输出带来的负载导致路由器发生崩溃。所以用户在使用任何debug命令时都应极为小心,并将 debug命令限制在想要查看的信息上(例如,debug events或使用访问控制列表来控制调试行为)。

2.在调试输出上启用时间戳功能。

(global)service timestamp debug datetime [msec] [localtime] [show-timezone]

可使用此命令来为调试输出记录上日期和时间。如果使用关键字 msec,时间将会以毫秒的形式显示出来。默认情况下,时间使用 UTC 格式显示。如果想要根据本地的时钟去记录时间戳,可使用关键字 localtime。此外,关键字show-timezone可让时间戳中包含时区名称。

注意 在启用时间戳功能之前,要确保路由器的时钟(包括硬件时钟)已被正确的设置。更多信息请参阅1.4节。

3.开启适当的调试功能。

(exec)debug

路由器上具有许多种 debug 命令及选项!可以使用上下文敏感的帮助系统(debug ?)来确定都有哪些可用的调试选项,或者查看在线的调试命令参考(Debug Command Reference),地址为 www.cisco.com/univercd/cc/td/doc/product/software/ios121/121sup/121debug/index.htm。

用户应极为小心地并且凭借常识来使用 debug 命令。因为系统处理调试消息的优先级要高于其他的网络流量。用户应该考虑到网络中的所有流量类型,并意识到任何匹配 debug 命令的数据包或条件都会导致消息的产生。例如,使用debug all会为每种已知的调试条件产生调试输出。在一个大型的 IPX网络中,debug ipx sap会为每个SAP通告产生调试消息。尽管命令debug ip packet可能在确定路由问题时非常管用,但它也会为每个通过路由器的数据包产生一份调试信息。为了减少调试信息和系统处理的数量,可以选择某个流量负载比较低的时段,或是合理地调整调试参数来进一步限制被检索的活动流量。

一旦用户注意到有大量的调试输出发生堆积,那么应时刻准备去停用 debug命令。停用调试可以输入命令的no debugoptions形式,也可以使用no debug all、undebug all或u all来停用所有可能形式的调试操作。无论何时,只要用户完成测试,就应该停用调试功能,从而防止路由器在用户不知情的情况下继续报告调试输出。

1.使用IP审计(accounting)功能。

a.在接口上启用IP审计功能。

(interface)ip accounting [access-violations]

使用此命令后,路由器会记录所有通过本接口出站的流量。保存的数据库由源地址和目的地址、数据包数量以及会话交换的字节数(包括IP头部和净荷)组成。流量数据的收集不会考虑通过路由器的交换路径如何。这些信息可以让用户了解主机之间交换的数据量以及通过主机传输的数据量是多少。

如果引入了关键字access-violations,系统将只收集未通过访问控制列表的出站流量。可使用此功能来判断未通过的流量是否归因于一次突破安全限制的尝试。

b.显示IP审计信息。

(exec)show ip accounting [checkpoint] [output-packets | access-violations]

关键字 checkpoint 能够用来显示检查点(checkpoint)数据库;不指定的话将显示活动(active)数据库。output-packets 用来显示出站数据包的总量(默认)。access-violations 可以显示出未通过访问控制列表的所有流量,以及数据包最后一次未能通过的访问控制列表号。

2.使用扩展访问控制列表来确定流量的某些信息。

a.定义扩展访问控制列表(查看14.1节)。

命名的扩展IP 访问控制列表在这里最为有效,因为用户可直接编辑它,而无需删除并重新输入整个访问控制列表。permit 条件可以将未知的流量细分到合适的分类中。例如,如果用户需要得知两台主机之间正在使用哪种协议的信息,可以使用指定特定协议的permit条件。端口操作符也有助于查看某种流量使用的端口范围。运算符包括 eq、gt、lt、neg和 range。要记得在最后添加permit all的条件,以便现有的流量不受访问控制列表的影响。访问控制列表在这里的作用是让路由器通过访问控制列表语句来标识流量,而不是改变流量。

下例定义了一组访问控制列表,用来帮助确定两台主机之间是否正在使用TCP或UDP协议进行数据连接。

b.将访问控制列表应用在接口上。

(interface)ip access-group acc-list {in | out}

使用此命令后,名为acc-list的访问控制列表将用来处理入站(in)或出站(out)接口方向上的流量。

c.查看访问控制列表活动。

(exec)show access-lists [acc-list]

对于扩展 IP 访问控制列表来说,该命令会显示匹配列表条件的数据包的个数。如果只想查看某个特定访问控制列表的结果,可以使用可选的列表号码或名称acc-list。如果用户定义的访问控制列表分工很明确,那么应该可以在某些列表条件的末端看到显示为(xx matches)的匹配流量统计信息。

d.(可选)优化访问控制列表来找出更多信息。

如果用户需要关于流量类型的更多信息,可以通过细化访问控制列表来实现。例如,用户可能很想知道正在使用的是哪个UDP端口号、TCP端口号、ICMP类型代码、IP优先级或ToS值。通过编辑命名的访问控制列表中的命令行便可以添加对这些选项的测试。记得要为所有的可能性定义匹配条件,以便于定位出正确的结果。

e.从接口上移除访问控制列表。

(interface)no ip access-group acc-list {in | out}

(global)no ip access-list extended acc-list

当结束流量分析之后,不要忘记解除接口与访问控制列表的绑定关系,并且在全局配置模式中将其删除。

1.收集堆栈跟踪(stack trace)信息。

(exec)show stacks

如果路由器发生了系统故障并自我进行了重启,那么系统会保存一份堆栈的跟踪信息。用户可以使用这条命令查看堆栈跟踪信息,以及最后一次路由器重启的原因。堆栈跟踪信息可以复制粘贴进www.cisco.com/stack/stackdecoder.shtml上的Cisco的堆栈解码器中来获取更进一步的诊断信息(需要登录Cisco.com)。通过堆栈解码处理,能够将问题隔离起来并确定软件的Bug ID。

2.收集崩溃信息(crashinfo)数据。

如果路由器由于数据或堆栈损坏导致系统崩溃,那么系统会将有用的信息收集并保存至路由器bootflash分区的某个文件中。Cisco 7000、7200、7600以及12000系列的路由器都可以收集并保存崩溃信息数据。

a.找到崩溃信息文件。

(exec)dir /all bootflash:

此命令会列出bootflash中的文件。崩溃信息文件被命名为crashinfo。

b.查看崩溃信息文件内容。

(exec)show file information bootflash:crashinfo

c.收集信息转储(core dump1)文件。

注释:1 译者注:core dump,可译为信息转储,core即是我们今天所说的内存,dump是指将内存中的信息“倾倒”出来。在基于UNIX的系统中,程序发生崩溃后,系统会将内存中相应部分内容dump出来,保存到名称与 core相关的文件中,这个过程称为 core dump,用来帮助诊断故障发生的原因。

选择信息转储的写入方法。

(global)exception protocol {ftp | rcp | tftp}

信息转储文件可以写入到使用FTP、RCP或TFTP(默认)的服务器上。

选择保存信息转储文件的服务器。

(global)exception dump ip-address

路由器崩溃后,信息转储文件会被写入位于 ip-address 的服务器上。文件名为hostname-core,hostname表示路由器的主机名。如果使用TFTP协议,那么只能写入信息转储文件的前16MB的内容。如果转储文件大于16MB,应使用FTP或RCP协议进行传输。

1.监视被路由的IP数据包。

a.创建扩展IP访问控制列表来标识监视的流量。

此访问控制列表必须只允许(permit)用户想要查看的数据包。尽可能精确地定义允许条件,这样只选择显示少量的流量。任何被拒绝(deny)的流量都不会在调试输出中被看到(查看14.1节来获取更多信息)。

b.启用IP数据包调试功能。

(global)debug ip packet detail [acc-list]

使用此命令后,路由器会显示所有通过自身处理的IP数据包的信息。很明显,这条命令存在系统产生大量的信息的可能性。在任何场合,用户都应该使用可选的访问控制列表字段acc-list 来减少调试信息报告的数量。系统在调试输出中只会显示被扩展 IP 访问控制列表允许的数据包。debug 命令只能检查未使用快速交换功能的数据包。考虑到这点,用户首先应该使用命令(interface)no ip route-cache来关闭特定接口上的快速交换功能。

如果调试输出显示有“encapsulation failed”字样,表示数据包无法在低层协议中进行封装。在下面的例子中,发向Ethernet 0接口的ping请求数据包被放入了队列中。原因是路由器不能找到目标地址(10.5.1.5)的ARP条目,故ping数据包因为缺少目的MAC地址而导致无法封装进2层数据帧中,debug命令报告了封装失败的信息。

2.查看路由器的CPU活动。

(exec)show processes cpu

此命令会显示过去5秒、1分钟以及5分钟内路由器CPU的平均利用率。还会显示各种正在运行的进程,并且告诉用户每个进程已经运行了多长时间以及占用了多少的CPU利用率。Cisco建议路由器的CPU应保持在70%的利用率以下。

3.监控路由器的内存。

(exec)show memory free

此命令会显示路由器空闲内存的相关统计信息。该信息用于确定在路由器初始化、加载其IOS镜像之后,以及路由流量时是否有足够的可用内存。

4.查看接口的统计信息。

如果未指定可选项interface,系统将显示路由器上所有接口的统计信息。

5.按协议查看接口的相关信息。

(exec)show interface accouting

此命令会列出路由器的每个接口,还会根据协议来显示入站与出站的字节数和数据包的统计信息。该信息可以帮助用户了解通过某个接口的协议以及流量大小。

6.查看接口上特定协议的信息。

(exec)show protocol interface type num

对于接口上指定的协议 protocol(ip、ipx、appletalk)来说,信息的显示结果会根据处理协议的方法来决定。协议处理包括接口上应用的访问控制列表、ICMP行为、交换路径,以及更多的配置参数。

7.查看协议的汇总统计信息。

此命令会显示协议及其主要组件的统计信息。协议的流量以及路由器活动汇总计数会以通过所有接口的总数形式显示出来。

用户可以使用如下命令找到路由器的相关信息。

(global)show version

此命令会显示出路由器的硬件、自举(bootstrap)代码、IOS软件镜像版本、路由器的运行时间、可用接口,以及路由器内存信息。这些信息能够帮助用户去确定路由器运行的代码版本,以及可用的内存和闪存数量。用户还能查看到路由器配置寄存器的内容。

1.收集信息。

(global)show tech-support

该命令会从一大套预定义的命令中生成输出结果。用户应该在终端模拟器上将输出结果捕获下来,以便将其发送给TAC工程师。

2.开一份TAC case。

如果用户与Cisco定有一份路由器的服务合同,那么便可以通过电话或Web浏览器的形式开一份 TAC case。用户可以使用在 www.cisco.com/warp/customer/687/Directory/DirTAC.shtml上列出的号码通过电话联系当地的Cisco的技术支持中心。

如果要使用浏览器开一份 case,登录 www.cisco.com/kobayashi/support/case_open.shtml填写必要的信息。该操作同样需要在个人信息(profile)中更新了用户的服务合同号码的Cisco.com登录权限。

3.Cisco IOS软件缺陷(bug)。

Cisco在其网站上提供了有关Cisco IOS软件版本以及 bug报告的信息。软件缺陷工具包(Software Bug Toolkit)包括Bug Navigator II(一种用来报告 IOS版本以及特性集 bug信息的交互式工具)、Bug Watcher(一种允许用户监控 bug信息并且在报告新 bug时接收告警的工具),以及一种允许通过Bug ID查找 bug数据库的工具。这些工具都可以在www.cisco.com/support/bugtools中获取。

本章介绍了以下类型路由器接口的背景资料和配置信息。

2.1 以太网(Ethernet)接口

2.2 FDDI接口

2.3 环回(Loopback)接口与空(Null)接口

2.4 VLAN接口

2.5 隧道(Tunnel)接口

2.6 同步串行接口

2.7 POS(Packet-Over-SONET)接口

2.8 帧中继接口

2.9 帧中继交换

2.10 ATM接口

所有的以太网(Ethernet)接口都基于 IEEE 802.3标准。快速以太网(Fast Ethernet)基于 IEEE 802.3u标准,而吉比特以太网(Gigabit Ethernet)基于 IEEE 802.3z标准。

以太网接口支持带有AUI或10BaseT连接器的10Mbit/s介质。

快速以太网接口支持带有100BaseTX或100BaseFX(光纤)连接器的10/100Mbit/s介质。

吉比特以太网接口支持带有1000BaseSX、1000BaseLX/LH以及1000BaseZXGBIC模块(介质都为光纤)的1Gbit/s介质。

快速以太网和吉比特以太网接口支持单个子网,或支持两种封装类型的VLAN Trunking技术。更多信息请参见 2.5节。

1.(可选)选择以太网封装。

此命令可将以太网帧封装成ARPA以太网版本2.0(arpa,默认选项)、SAP IEEE 802.3(sap)或用于 IEEE 802.2介质的SNAP(snap)。

2.(可选)选择介质类型。

(interface)media-type {aui | 10baset | mii | 100basex}1

注释:1 译者注:在较新的设备平台中,可选项还有auto-select、rj45、sfp、gbic等,不同平台的默认选项不同。

可以在某些平台的路由器上配置介质类型。这些平台通常具有多种以太网或快速以太网接头(connector)。其接口可以是aui(15针)、10baset(RJ-45)、mii (介质无关接口)或100basex(RJ-45或SC光纤)。

3.(仅限于吉比特以太网)指定接口速度。

(interface)speed {10 | 100 | 1000 | auto}

接口速度可以锁定成10Mbit/s、100Mbit/s、1000Mbit/s或自动协商(auto)。

4.(仅限于快速或吉比特以太网)指定双工模式。

接口双工模式可以锁定成全双工(full)、半双工(half)或自动协商(auto)。

5.(可选)配置快速EtherChannel(以太网通道)。

a.将接口分配到某个通道组(channel-group)中。

在一个组号码相同的组中,最多可以捆绑 4 个快速以太网接口。任何被捆绑的接口上都不应配置3层地址。所有的3层流量被分布到捆绑组中每个单独的接口上,而非3层流量则通过捆绑组中的第一条链路进行发送。

b.为捆绑组分配网络地址。

此命令可将捆绑组作为一个整体,为之分配 3 层地址或桥接组。端口通道(port channel)这里的作用是路由接口而不是单个的物理接口。

此例中,配置了一个以太网接口、两个快速以太网接口和一个吉比特以太网接口。以太网和吉比特以太网手工指定了IP地址。两个快速以太网配置成单个的快速EtherChannel捆绑组(channel group 1)。之后又为 port channel 1的捆绑组接口配置了IP地址。此例的网络拓扑图如图2-1所示。

图2-1 以太网接口配置的网络拓扑图

FDDI使用令牌传递技术可支持 100Mbit/s的数据传输速率。

FDDI网络由一对反向旋转的光纤环组成。

一个FDDI网络可以最多支持500个工作站,站点间不超过2千米(MMF,多模光纤)或10千米(SMF,单模光纤)。

FDDI帧可以包含 17~4500字节。

FDDI接口可工作成 SAS(单接站,Single-Attach Station)或DAS(双接站,Dual-Attach Station)。

1.(可选)配置环调度机制。

(interface)fddi token-rotation-time microseconds

为了改变令牌的可用性,可将令牌的轮换时间设定成microseconds(4400~165000微秒;默认为5000微秒)。

2.(可选)设置一次传输的帧数量。

(interface)fddi frames-per-token number

每次系统经历令牌轮换并得到了令牌,都会将队列中的数据帧传输至令牌环上。每次传输的帧数量number可以是1~10个(默认为3)。

此例为一个FDDI接口配置IP和IPX地址。每个令牌最多能传输8个数据帧。

环回接口从本质上来说是一个虚拟的接口,并始终保持up的状态。

环回接口可用作BGP、RSRB、DLSW+等协议的结束点。及时其他物理接口down了,这些接口始终可用。

环回接口还可以为OSPF路由器提供一个已知并稳定的ID。OSPF首先会从环回接口中选择一个最大的 IP地址作为自身的路由器ID。如没有环回的话,就从所有物理接口中选择 IP 地址最大的那个作为自身的ID。

空接口也是一个虚拟接口,并始终处于up状态。

环回接口还能够在数据需要中间输出接口的时候使用,例如地址转换。

空接口永远不会转发接收流量;路由到空接口的数据被将被丢弃。

1.(可选)定义环回接口:

(global)interface loopback number

此命令用来创建并启用环回接口。之后可以为该接口指定网络地址。注意环回接口不同于其他类型的接口,一旦创建,便是“no shutdown”的工作模式。如果需要,用户仍然可以手工关闭环回接口。

2.(可选)定义空接口:

(global)interface null 0

此命令用来选择并配置空接口。路由器上只能存在一个空接口:null 0。空接口通常会被引用在其他的命令中,例如静态路由的网关。

此例将为两个环回接口配置IP地址。这两个环回地址被引用在其他的IOS特性中,每个接口必须分配一个唯一的IP网络地址(与所有接口一样)。

尽管路由器上的虚拟局域网(VLAN)接口为逻辑接口,但该接口被当做物理上独立的网络接口来处理。

快速以太网和吉比特以太网接口都可以配置支持VLAN技术的Trunking封装。

设备支持的封装类型包括 ISL和 IEEE 802.1Q。

ISL封装会在帧的头部添加一个包含VLAN号码的26字节的头部和4字节的CRC尾部。而 IEEE 802.1Q仅会在帧内源地址字段之后添加一个4字节的标签(tag)。

可以在一个Trunking主接口上的子接口中配置VLAN。

配置了封装后,除了 IEEE 802.1Q native VLAN之外,所有VLAN信息都会包含一个标签,native VLAN的数据帧是不打标签的。

为了实现VLAN间通信,流量必须被路由或交换。

1.为VLAN定义子接口。

(global)interface gigabitethernet mod/slot/num.subinterface

路由器上必须创建一个子接口来支持特定的VLAN。子接口号码是一个任意值,如果需要,可以使用对应的VLAN号码。

2.配置Trunking封装:

(subinterface)encapsulation {isl | dot1q} vlan [native]

VLAN封装可以配置成 ISL(isl)或 IEEE 802.1Q(dot1q)。此命令将为子接口分配VLAN。如果使用dot1q的封装,还可以使用关键字native将子接口VLAN配置成 native VLAN。如果未指定 native VLAN,那么系统默认将使用 VLAN 1作为 native VLAN。dot1q封装在发送 native VLAN时将不使用VLAN封装。

3.分配网络地址或桥接参数。

(subinterface)ip address ip-address subnet-mask

注意 在配置设备桥接时,ISL Trunk中的每个VLAN都会运行自身VLAN的生成树(STP)。这被称为每VLAN生成树(PVST)。而 IEEE 802.1Q Trunk中却只能运行一个STP实例(instance)。不过,Cisco支持PVST+技术,该技术通过使用STP实例的隧道技术穿越dot1q域来实现PVST。更多内容请查看4.1节。

此例中,配置了一个吉比特以太网接口,用来实现中继 IEEE 802.1Q的VLAN数据帧。VLAN 17使用子接口 17,VLAN 26使用子接口 26(需要注意,子接口号是任意选取的,不一定非要和VLAN号匹配,方便起见,本例中的子接口号使用了对应的VLAN号)。图2-2给出了本例的网络拓扑图。

图2-2 VLAN接口配置实例的网络拓扑图

使用隧道可以在一种协议上封装或传输另一种协议。

隧道是一种虚拟的点到点链路,而且必须配置在链路两端的设备上。

隧道的端点定义了隧道传输的源和目的地址。可以为隧道接口分配其他的网络地址,用来传输或承载流量。

隧道技术在封装和解封装流量时会增加CPU的负载并引入更高的延迟。

注意 使用隧道传输的路由选择协议不应该和用于承载或传输流量的路由选择协议相混合。否则可能会产生递归路由,从而导致隧道接口的关闭。

1.在每个端点路由器上创建隧道接口。

隧道接口号码number可以是任意值。

2.配置隧道源地址。

此命令定义了被封装或使用隧道传输的数据包所使用的源地址。可以指定一个具体的IP地址或一个物理接口。

3.配置隧道目的地址。

此命令定义了被封装或使用隧道传输的数据包所使用的目的地址。可以指定一个远端的主机名或一个具体的IP地址。

注意 对于一个给定的隧道模式,源地址和目的地址对必须是唯一的。如果用户需要定义多个隧道,需要为每个隧道定义一个环回接口,并使用环回接口作为隧道的源地址。

4.(可选)设置隧道模式。

隧道的封装模式可以设置成AppleTalk更新路由选择协议(aurp)、Cayman TunnelTalk AppleTalk(cayman)、距离矢量多播路由选择协议(dvmrp)、兼容EON的CLNS(eon)、GRE over IP(grp ip,默认选项),或兼容KA9Q/NOS的IP over IP(nos)和MPLS流量工程(mpls traffic-eng)。

注意 GRE封装使用 IP协议号 47。

5.(可选)丢弃失序的数据包。

为了支持要求数据包按序到达的传输协议,可将配置隧道丢弃失序的数据包。

6.(可选)执行端到端的校验。

默认情况下,隧道中是不执行数据完整性检查的。可以使用此命令来计算隧道中数据包的校验和。如果校验和错误,将丢弃数据包。

7.为隧道分配网络地址或桥接参数。

此命令可为隧道接口分配网络地址或其他协议参数。配置在隧道接口上的地址用来传输或承载协议,使得这些协议可以被路由到隧道接口。

此例中,使用一个隧道接口在公司内部网络(处于公共ISP网络之上)的两块私有地址空间之间通过隧道技术传输 IP 流量。隧道的一端在路由器配置中给出。内部网络 10.1.0.0 连接到快速以太网接口上。串行接口连接到公共服务提供商网络 17.8.4.0。此串行链路上不会路由私有地址空间的流量。不过,配置了一个使用私有网络 10.2.0.0 的隧道接口。隧道源为串行接口,目的为远端路由器17.8.4.92。去往目的网络10.2.0.0的IP流量将通过隧道进行路由。图2-3给出了此例的网络拓扑图。

图2-3 隧道接口配置实例的网络拓扑图

同步串行接口通过端到端的连接传输数据和时钟信号。

串行接口包括高速串行接口(HSSI,45Mbit/s)、通道化T3、通道化T1、G.702以及速度达到T1(1.544bit/s)和E1(2.048bit/s)的传统路由器串行接口。

同步串行连接也包括每端的 CSU/DSU 设备。这些设备可以是外部的、集成的或集成的服务模块。

通道化T3接口最多支持28个T1通道作为一条DS3线路上的一个T3组。

每条T1通道都可以配置成部分或全部的T1带宽。如果是部分带宽,那么剩余的带宽将用空闲数据进行填充。

用户可以选择并配置以下小节介绍的串行接口(通道化T3接口、通道化T1或E1接口、同步串行接口)。

1.选定T3控制器。

2.(可选)设置成帧方式。

(controller)1framing {c-bit | m23 | auto-detect}

注释:1 译者注:(controller)表示控制器配置模式,提示符为(config-controller)#。

T3 控制器的成帧类型可以设置成 C-bit、M23 或自动检测(auto-detect,默认选项)。

3.(可选)设定线缆长度。

此命令可将路由器到网络设备之间的线缆长度指定成feet英尺(0~450;默认为224)。

4.(可选)设置时钟源。

T3时钟可以从网络(line)或内部时钟源(internal)中获得。

5.配置每个T1通道。

配置T1通道之后,每个通道还可以进一步配置成一个同步串行接口。

a.设置T1时隙。

参数channel指定了T3上的T1时隙(在大多数T3接口上为0~27;在CT3IP接口上为 1~28)。关键字 timeslot定义了 T1内将被使用的时隙。参数 range范围为数字1~24。range可以是由逗号间隔的多个时序。也可以是由连字符连接的一组连续的时序。

关键字speed可将T1通道的数据传输速率定义为56kbit/s或64kbit/s(默认值)。

b.(可选)设置T1成帧方式。

T1通道的成帧类型可以设置成扩展超级帧(Extended Super Frame,esf)或超级帧(Super Frame,sf)。

c.(可选)设置T1时钟源。

可将T1通道时钟设置为网络时钟(line)或内部时钟(internal,默认选项)。

d.(可选)设置T1线路编码。

T1通道的线路编码可以设置成AMI(ami)或B8ZS(b8zs,默认选项)。

e.(可选)设置T1黄色警报。

既可以设置T3接口来为T1通道检测黄色警报(detection),也可以为T1通道产生黄色警告(generation)。默认情况下,同时检测并产生黄色警报。

1.选定T1/E1控制器。

选定位于number号插槽上的控制器进行配置。

2.定义通道组。

对于部分的 T1 或 E1 线路来说,可将若干通道组成一条数据流。通道组号channel 是一个任意值,参数 range 定义了时隙的范围。该参数可以是由逗号或连字符分隔的一组时序。关键字 speed 定义了 range 范围中时序的速度。可以为48kbit/s、56kbit/s(T1默认),或56kbit/s(E1默认)。

3.(可选)定义CAS信令。

(controller)cas-group channel timeslots range type signal service data

可以配置T1通道来实现随路信令(Channel Associated Signaling,CAS,也称为假借位比特信令[robbed-bit signaling])。CAS组 channel将一组或一定范围的时隙定义为一个组。可以为每个组分配不同类型的假借位比特信令。时隙范围range可以由逗号间隔的数字,也可以是由连字符连接的数字范围。

关键字type定义通道组信号的信令类型:e&m-fgb(E&M的B信令)、e&m- fgd(E&M的D信令)、e&m-immediate-start(E&M的 immediate start信令)、fxs-ground-start(FXS的 ground start信令)、fxs-loop-start(FXS的 loop start信令)、sas-ground-start(SAS的 ground start信令)或 sas-loop-start(SAS的 loop start信令)。

4.(可选)指定时钟源。

此命令可将时钟源设置成网络(line)或自主运行的内部时钟(internal)。如果使用了线路时钟,那么所应用此时钟的T1或E1控制器可以选择其作为自身的主时钟源或次时钟源。应选择最可靠的时钟作为主时钟源。

5.(可选)选择成帧类型。

对于T1线路来说,成帧方式可以设置成超级帧(sf,默认选项)或扩展超级帧(esf)。对于E1线路来说,成帧方式可以为CRC4(crc4,默认选项)、非CRC4 (non-crc4)或澳大利亚类型(australia)。

6.(可选)选择线路编码。

线路编码可以设置成AMI(Alternate Mark Inversion,ami,T1默认)、B8ZS(bipolar 8 zero sequence,b8zs)或HDB3(high-density bipolar 3,hdb3,E1默认)。

7.(可选)配置T1线缆长度。

对于长度短于 655英尺的线缆,使用命令 cablelength short。使用比实际线缆长度长一个等级的固定长度值(单位为英尺)。如果线缆长度超过 655 英尺,可使用命令 cablelength long。选择相对于线缆衰减损耗的接收端增益,如 26dB (gain26)或36dB(gain36)。之后再选择发送端的衰减值,如−22.5dB(−22.5)、−15dB(−15)、−7.5dB(−7.5)或0dB(0)。

8.(可选)配置E1线路阻抗。

用来终结E1线路的电阻值可设置为75欧姆非平衡或120欧姆平衡。

注意 对于通道化T3、E3、E1或T1的接口来说,首先应该配置通道化接口以及通道组。之后,可以将通道组当做下一步配置使用的一个逻辑串行接口。

1.选定接口。

此命令选定了串行接口的号码number(或slot/number)。如果正在配置一个通道化的接口,需要加一个冒号以及通道组号channel-group。可以通过使用接口类型关键字hssi来选定HSSI接口。

注意 某些路由器带有既可工作在异步模式,又可工作在同步模式的接口。那么在使用这种接口的同步串行功能之前,应使用命令physical-layer sync将接口设置成同步模式。

2.(可选)选择封装模式。

封装模式可以设置成HDLC(默认)或PPP。其他可选择的封装模式还有ATM、SNA、帧中继和SMDS。更多信息请查看本章内的各小节。

3.(可选)配置数据压缩。

HDLC数据帧可以通过无损Stacker(stac)LZS算法进行压缩。而PPP数据帧既可通过Stacker(stac),也可通过RAND(predictor)算法进行压缩。压缩功能只应在路由器CPU负载低于40%~65%,并且大多数流量未被压缩的情况下使用。

4.(可选)配置串行数据流和握手。

a.配置CRC长度。

默认情况下,CRC的长度为16比特,但可将其长度设定成length比特(16~32)。串行连接的两端接口必须使用相同的CRC长度。

b.设置线路编码格式。

默认情况下,串行接口使用NRZ编码。如需要,可使用此命令设置的NRZI标志编码。如果未使用关键字mark,将使用NRZI空格编码。

c.翻转数据流。

当使用一条非B8ZS编码的T1专线时,可以翻转线路上的数据流。不要同时翻转路由器和CSU/DSU上的数据;只在一端的设备翻转数据即可。

d.设置发送延迟。

如果数据的发送速率大于远端设备的接收能力,可以在串行数据之间插入延迟。FSIP、HSSI,和MIP接口需要一个延迟值value,表示在发送数据之间插入的HDLC标志数量。所有其他接口使用的延迟delay表示延迟的时间,单位为微秒(0~131071;默认为0)。

e.启用DTR脉冲。

默认情况下,链路故障期间会停止 DTR 脉冲功能。如果远程串行设备需要DTR触发或脉冲,用来在链路故障之后重新同步,那么DTR能够以seconds秒的间隔进行脉冲。

f.监控DSR信号。

默认情况下,接口监控DCD信号来确定链路是up还是down状态。如果不需要使用DCD,可以使用DSR代替DCD来监控链路。

5.(可选)配置串行时钟。

a.为DCE模式设定时钟速率。

此命令将串行接口设置为一个DCE设备,并且每秒会产生bps比特的时钟信号。在大多数的路由器上,速率必须设定成以下的标准值:1200、2400、4800、9600、19200、38400、56000、64000、72000、125000、148000、250000、500000、800000、1000000、1300000、2000000、4000000 或 8000000。某些平台会接受 300bit/s 至8000000bit/s之间的任意值,随后会自动将非标准值舍入成最接近的支持速率。

注意 需注意较高的速率只会在短距离线缆中正常工作。更多线缆的距离限制信息参见附录B。

b.使用内部时钟。

如果DTE设备不能返回时钟信号,那么DTE端可以使用内部的时钟。正常情况下,时钟是通过链路上的DCE设备获得的。

c.翻转发送时钟。

在长距离线缆传输和高速率传输的情况下,本地发送时钟和返回的发送时钟之中可能会出现相位偏移(phase shift)的问题。如果发现了大量的错误数据包,用户可以试着翻转发送时钟来纠正相位偏移的问题。

6.(可选)配置集成端口适配器DSU。

a.选择时钟源。

此命令可将时钟源设置成网络(line)或自主运行的内部时钟(internal)。

b.设定线缆长度(仅限于PA-T3)。

路由器到网络的线缆长度可以指定成feet英尺(0~450;默认为50)。

c.配置CRC长度(仅限于PA-T3)。

CRC长度可以设置成16比特(默认)或32比特。

d.设定DSU带宽。

DSU的最大带宽可以设定成kbps(22~44736kbit/s;默认PA-E3为34010kbit/s, PA-T3 为 44736kbit/s)。串行连接的两端必须匹配,因为带宽会通过数据帧填充的方式降低到最大值。

e.设置DSU模式。

DSU互操作模式可设置成支持Digital Link DL3100 DSU(0,默认值;也用于连接两个PA-T3或PA-E3接口)、Kentrox DSU(1)或Larscon DSU(2)。

f.选择成帧类型。

成帧模式可以设置成bypass(帧数据未包含在数据帧中;必须禁止扰码,DSU模式必须为0,并且DSU带宽一定要设定成44736)、g751(G.751 E3成帧,PA-E3的默认成帧模式)、c-bit(C-bit 成帧、PA-T3 的默认成帧模式)或 m13(M13成帧)。

g.翻转数据流。

如需要,数据流可以被翻转。例如,如果一个PA-T3接口未使用B8ZS编码,那么应在链路的一端启用数据流的翻转功能。

h.启用扰码。

可以启用净荷扰码功能来防止某些比特格式被解释成警报。如需要使用,应在链路的两端启用扰码功能。

i.设置国家或国际比特位(仅限于PA-E3)。

(interface)national bit {0 | 1}

(interface)international bit {0 | 1} {0 | 1}

E3 G.751帧中的国家比特位可设置成置位或复位(0,默认值)。第一和第二个国际比特位也可以设置成置位或复位(默认为 0 0)。

7.(可选)配置集成T1/E1服务模块。

a.选择时钟源。

此命令可将时钟源设置成网络(line,默认选项)或自主运行的内部时钟(internal)。

b.选择成帧类型。

成帧类型可设置成D4超级帧(sf)或扩展超级帧(esf)。

c.指定部分T1的时隙。

此命令通过range给出了T1中使用的DS0时隙,该值是一组由连字符、逗号间隔的表示一定范围的字符串。如果想使用全部的 T1,可以使用关键字 all。每个DS0的速度可指定成56kbit/s或64kbit/s(默认)。

d.启用数据翻转。

使用AMI(alternate mark inverted)线路编码的数据流可以被翻转(inverted)。如果数据流被翻转,两端的 CSU/DSU 也必须被翻转。默认情况下,数据流不会被翻转(normal)。

e.选择线路编码类型。

此命令可将线路编码可以设置成AMI(ami)或B8ZS(b8zs,默认选项)。

f.设置线路补偿。

此命令可将出站信号强度衰减1dB(−15db)、7.5dB(−7.5db)或0dB(none,默认选项)。通常只需用在背靠背CSU/DSU的环境中使用。

g.启用远程警报。

可以配置 CSU/DSU 产生或检测远程警报。默认该功能未被启用。如果线路编码设置成D4 SF的话,始终应禁止该功能。否则,SF流中的某些数据位会被错误地解释为警报。

h.启用远程环回初始化。

如果服务模块接收到了远端的环回测试请求,可以将其配置成环回模式。关键字 full(默认选项)允许对所有环回请求进行响应。关键字 payload 只启用payload-loopback 命令。关键字 alternate 配置一种翻转的环回模式,带有 4-in-5 loopup和2-in-3 loopdown格式。关键字 v54(默认选项)配置了业界标准的 1-in-5 loopup和 1-in-3 loopdown格式。

8.(可选)配置集成的两线或四线56kbit/s或64kbit/s服务模块。

a.(可选)选择时钟源。

时钟可以从网络(line)或内部时钟源(internal)中获得。

b.(可选)设定线路速率。

线路速率可以设定为2.4、4.8、9.6、19.2、38.4、56(默认)、64,或auto(单位为 kbit/s)。关键字 auto 用于从网络上的填充流量自动检测线路速率。auto 只应与线路时钟源以及专用线路同时使用。

c.(可选)选择模式。

模式可以设置成专用租用线路DDS模式(dds,四线电路的模式值)或交换拨号模式(switched,两线电缆的默认值)。对于交换拨号模式来说,必须使用线路时钟源和56或auto的时钟速率。只支持带内(in-band)拨号。

d.(可选)启用64bit/s的数据扰码功能。

在四线 64kbit/s DDS线路上,有些数据会被解释成环回请求代码。数据扰码功能能够防止这种情况,因此,在这种线路上应启用此功能。

e.(可选)启用远程环回。

可以配置一个服务模块来接收并处理远程的环回请求。即使禁用了 remote-loopback,还是能够将环回请求发送至远端。

此例中配置了一个通道化T3接口,在通道5中具有一条T1线路,由1~12的时隙组成。T1的成帧方式为ESF,T3线缆长度大约300英尺。使用线路时钟源。控制器配置完成后,为使用T3通道5的串行接口分配IP地址。

还配置了一个通道化T1接口。控制器将T1中1~8时隙和一个通道组关联起来。T1使用线路时钟源,线缆长度300(舍入到399)英尺。控制器配置完成后,为带有适当通道组的串行接口分配IP地址。

注释:1 译者注:POS同样代表Packet-Over-SDH。

路由器的POSIP和POSPA模块上可使用POS(Packet-Over-SONET)接口。

POS可提供与SONET和SDH(同步数字系列)网络兼容的OC-3 155.520Mbit/s接口。

DPT(动态包传输)在OC-12c SRP接口上可以提供 IP-over-SONET。

SRP接口通过维护环上所有节点的一张拓扑图来提供容错性。拓扑发现数据包会将环上每个节点的MAC地址累积起来。

APS(自动保护切换)通常在电信环境中提供 POS线路的切换功能,该功能需要两条SONET连接,并同时配置APS。

用户可以选择并配置以下小节介绍的POS接口(OC-3、OC-12c、POS上的APS)。

1.选定接口。

2.(可选)选择成帧模式。

默认情况下,POS接口使用 SONET STS-3c成帧模式,关键字 framing-sdh可将模式替换成SDH STM-1。

3.(可选)选择时钟源。

默认情况下,发送时钟从接收时钟中获得。发命令 clock source可将内部时钟作为发送时钟使用。

4.(可选)启用净荷扰码。

如需要,可以启用净荷扰码功能来提供正确的比特位转换。扰码功能必须同时在POS连接的两端启用。

5.(可选)启用环回测试。

想要进行POS测试,接口可以使在内部成环(internal)或者在远端POS接口成环(line)。

1.选定接口。

2.(可选)设定拓扑更新计时器。

拓扑发现数据包可以以seconds秒(1~600;默认为10秒)的间隔向外发送。

3.(可选)配置智能保护切换(IPS)。

a.设定等待恢复计时器。

WTR(wait-to-restore)计时器可以设定成seconds秒(10~600;默认为60秒)。该计时器通过在回绕(wrap)被移除之后保持回绕状态seconds秒的方式来减少环路震荡。

b.设定IPS消息计时器。

IPS请求的频率可以设定成seconds秒(1~60;默认为1秒)。计时器可以根据需求应用在环上的任何一边。

c.初始环回绕。

此命令可以在环上插入一个回绕状态。选项forced-switch会保持回绕有效直至被移除。选项manual-switch会产生回绕,但重启后该命令和回绕状态都不再有效。关键字a指定了A边上的回绕(外环接收光纤),而关键字b指定了B边上的回绕(内环接收光纤)。

1.选定工作接口和保护接口。

a.标识工作接口。

系统在正常工作时使用工作接口。在出现故障或某种状况后,切换到保护接口。参数circuit是一个任意的线路号,用来将工作接口和保护接口关联起来。

b.标识保护接口。

此命令标识了保护接口,并将其和具有相同线路号circuit的工作接口关联起来。参数protect-ip-address用来指定工作接口的路由器IP地址。

2.(可选)配置认证。

使用此命令后,如果认证字符串(至多8个字符)与string匹配,那么便可以接受带外(out-of-band)POS 通道上的数据包。认证功能必须同时在工作接口和保护接口上进行配置。

3.(可选)设定APS计时器。

使用此命令后,POS接口每隔hello(默认为1秒)秒会发送一个hello包。如果在hold间隔(默认为3秒)到期之前未收到hello包,则宣布接口down。

4.(可选)APS端口成组。

如果使用多个工作接口和保护接口,可以将接口成组。必须为每个接口分配一个任意的组号group-number(默认为0)。

5.(可选)配置APS切换。

a.停用某个接口。

可使用此命令将端口停用来防止保护接口被使用。为了确定工作/保护接口对,必须指定circuit号。

b.手工切换到保护接口。

正常情况下,系统会基于接口或端点的失效自动切换到保护线路。不过,可以手工将线路circuit从工作接口切换成保护接口。

c.切换后自动恢复。

默认情况下,一旦工作线路可用,保护线路必须手工切换回工作线路。如需要,可使用此命令将恢复到工作线路的切换操作定义在minutes分钟后自动执行。

此例中,路由器配置了两个POS接口,第一个接口为APS工作接口,第二个为保护接口。路由器与自身交换APS控制数据包来确定工作接口是否正常工作。路由器还有一个配置了 IP地址的DPT OC-12c SRP接口。

路由器通过本地管理接口(LMI)来与帧中继交换机进行通信。

帧中继通过数据链路连接标识符(DLCI)来为路由器标识每条虚链路 1

注释:1译者注:考虑到帧中继和ATM都不是使用电路交换的技术,故本书中的“VC(Virtual Circuit)”及后文PVC和SVC中的“VC”统一译为“虚链路”。

系统默认会为接口上配置的协议启用反向(inverse)ARP功能。用来生成协议地址和DLCI的动态映射。

帧中继支持两端点间的永久虚链路(PVC)或交换虚链路(SVC)。

路由器全网互联环境中的主接口(例如接口 serial 0)大都支持帧中继技术。这种环境中的每台路由器都有到达其他路由器的虚链路。

部分互联或点到点连接环境中的子接口(例如接口 serial 0.1)也支持帧中继技术。

虚链路上的数据传输由以下术语来进行描述和控制。

• DLCI(数据链路连接标识符):一个10比特长的数字(0~1023),用来唯一地标识一条到达本地路由器的虚链路(VC)。DLCI号可以在一条VC 的远端重新使用。此外,如果服务提供商需求,也可以在帧中继网云中分配全局唯一的DLCI号。实际上,用户很可能会发现DLCI不是唯一的,而是出于方便和简单的目的被重复使用。

• CIR(承诺信息速率):服务提供商正常支持的吞吐量。实际速率可能会超出CIR,但只能按照采样间隔(Tc)和承诺突发速率(Bc)所规定的的情况超出。当CIR定义为0时(费用开销最小),应注意在路由器上启用拥塞管理。通常CIR的计算公式为Bc/Tc。

• Tc(承诺速率测量间隔):用来控制VC上流量突发的时间间隔或“带宽间隔”。

• Bc(承诺突发速率):在Tc时间间隔内,帧中继网络允许进入VC的最大流量总数。

• Be(超额突发速率):在Tc时间间隔内,VC上能够超过Bc值的最大流量总数。

• DE(可选择丢弃):帧中继头部中的1比特字段,设置该位的数据帧比其他帧更具有被丢弃的可能性,用以防止帧中继交换机发生拥塞。如果需要,DE位可由路由器设置并传递给帧中继交换机来处理丢弃行为。

• FECN(向前显示拥塞通告):帧中继头部中的 1 比特字段,设置该位表示帧中继交换机正发生拥塞。FECN 位在发向目的地(或者说“正向”)的数据帧中进行设置。

• BECN(向后显示拥塞通告):帧中继头部中的 1 比特字段,设置该位表示帧中继交换机正发生拥塞。FECN位在发向源(或者说“反向”)的数据帧中进行设置。可以使用此方法同时设置FECN位和BECN位,来将交换机拥塞的消息同时通告上游和下游节点。

可以使用端到端的keepalive在两台路由器之间交换keepalive信息,来提供PVC的监控功能。通常情况下,路由器只能基于本地帧中继交换机发来的LMI消息监控PVC。

帧中继反向ARP可用来自动发现特定DLCI号所对应的网络协议地址(比如 IP地址)。反向ARP基于RFC 1293,默认启用在帧中继接口上。

注意 DLCI 0用于ANSI和 ITU封装下的 LMI,而在Cisco封装下使用DLCI 1023。

1.选定主接口。

一个主接口上可支持多条帧中继虚链路。活动DLCI号可通过LMI自动确定。

2.帧中继封装。

此命令为主接口设置封装类型。除非手工指定,否则任何定义的子接口都会继承这种封装类型。当路由器通过帧中继网云连接到另外一台 Cisco 路由器时,应使用 cisco类型(默认)。基于 IETF RFC 1940的 ietf类型可提供不同厂商之间的互操作性。当 Cisco 路由器通过帧中继网云连接到一台非 Cisco 设备上时,应使用这种封装类型。

3.配置LMI。

a.配置LMI自动感应。

默认情况下,设备启用了LMI自动感应(autosensing)功能,除非配置了某种具体的LMI类型。LMI自动感应发送以下三种LMI类型(ANSI T1.617 Annex D、Cisco,和 ITU-T Q.933 Annex A)的全部状态请求。设置的LMI类型应该与唯一或最后一次从帧中继交换机接收到的应答类型相匹配。

b.配置特定的LMI类型。

选择LMI类型。

LMI 必须设置成与帧中继交换机相匹配的类型。可选的类型有 ansi(ANSI T1.617 Annex D)、cisco,或q933a(ITU-T Q.933 Annex A)。

(可选)设定LMI keepalive时间。

LMI keepalive间隔(默认为 10秒)必须设定成小于帧中继交换机所使用的时间间隔。

4.(可选)配置子接口。

a.定义子接口。

此命令定义了一个逻辑或虚拟子接口,该接口属于物理主接口 number 的一部分。子接口号subinterface可任意选择。链路类型必须定义成multipoint(多台路由器通过一条虚链路连接到本地路由器)或point-to-point(一台路由器连接到本地路由器)。

b.为子接口定义DLCI。

因为在一个物理接口下定义了多个逻辑接口,所以每个子接口必须使用它的DLCI来标识,即dlci。如需要,还可以设置子接口的封装类型。如果未设置封装选项,子接口将继承主物理接口的封装类型。

5.(可选)配置静态地址映射。

a.将DLCI映射到协议地址。

默认情况下,帧中继使用反向ARP来解析某个DLCI号的下一跳协议地址。如需要,可以代替地配置静态映射。参数protocol可以指定成ip、decnet、appletalk、xns、ipx、vines,或clns,后跟协议地址address以及对应的DLCI号。

关键字broadcast可以使协议的广播包能够在DLCI上转发。如需要,还可以为这个DLCI上的协议定义帧中继的封装类型。如果封装选项未设置,将继承主物理接口或子接口上的封装类型。

b.将DLCI映射到透明网桥。

(interface)frame-relay map bridge dlci [broadcast] [ietf]

使用此命令后,将使用这个DLCI 转发透明桥接的数据包。关键字broadcast可以使广播包在DLCI上转发。如需要,可将桥接的DLCI封装类型设置为ietf。

c.将DLCI映射到 ISO CLNS。

使用此命令后,将使用这个DLCI转发CLNS路由的数据包。关键字broadcast可以使广播包在DLCI上转发。

6.(可选)配置交换虚链路(SVC)

a.创建SVC map class。

定义map class。

此命令创建了一个名为map-class的map class。定义给map class的参数可以当做定义SVC、QoS等的模板使用。

(可选)定义CQ(Custom Queueing,定制队列)。

首先定义一个CQ列表。

下一步,将CQ列表分配给帧中继map class。

(map-class)1frame-relay custom-queue-list custom-list

注释:1译者注:(map-class)表示帧中继map class配置模式,提示符为(config-map-class)#。

更多关于配置CQ的信息请查阅9.7节。

如果未定义CQ,默认使用先进先出(FIFO)的队列机制。

(可选)定义PQ(Priority Queueing,优先队列)。

先定义一个PQ列表。

下一步,将PQ列表分配给帧中继map class。

更多关于配置PQ的信息请查阅9.6节。

如果未定义PQ,默认使用先进先出(FIFO)的队列机制。

(可选)定义帧中继QoS参数。

首先选择响应拥塞的方式。

共有两种可用的拥塞通告方法:向后显示拥塞通告(becn)和预测(foresight)。BECN使用用户数据包中的一个比特位来将拥塞消息通告给路由器,这种方法有时不可靠。预测(foresight)方法会在帧中继交换机和路由器之间周期地传送消息,与用户数据分组无关。

接下来,为SVC设定CIR。

SVC上入方向和出方向流量的CIR可以独立地设定为每秒bps个比特(默认为56000)。

下一步,设定可接受的最小CIR。

SVC上入方向和出方向流量的最小可接受的CIR可以独立地设定为bps(默认为56000)。

下一步,设定Bc(承诺突发速率)值。

SVC上入方向和出方向流量的Bc值可以独立地设定为bits(默认为7000比特)。

下一步,设定Be(超额突发速率)值。

SVC上入方向和出方向流量的Be值可以独立地设定为bits(默认为7000比特)。

继续,设定SVC空闲计时器。

如果一条SVC在seconds时间内没有发送或接收数据帧,那么这条SVC将被释放。空闲计时器值的设置应视客户使用的应用而定。

b.创建映射列表来触发SVC。

为SVC设定E.164或X.121地址。

对于SVC,必须要为其定义一个本地源地址和一个远端目的地址。此命令创建了名为map-list的映射列表,包含了将会触发SVC的协议列表。

定义的地址可以使用E.164(e164)或X.121(x121)的格式,与帧中继交换机上定义的格式相同。E.164地址的长度可变,最多15位数字,地址格式为国家代码(1~3位数字)、本国目的代码和用户号(本国ISDN号码,最长12~14位数字),以及ISDN子地址(结束端点上的设备号码)。X.121地址长度为14位数字,格式为区域代码(1 位数字)、国家代码(2 位数字)、公共数据网络代码(1位数字)以及一个10位数字的号码。

设定触发SVC建立的协议地址。

通过映射列表中地址定义的SVC,可以由去往地址protocol-address的协议类型为protocol的流量触发SVC建立的行为。名为map-class的map class用来指定SVC参数。有效的协议类型包括ip、ipx、appletalk、decnet、bridge(用于透明桥接)、dlsw、bstun、stun、cdp、arp等。关键字 ietf将启用RFC 1490定义的封装而不是默认的Cisco封装。关键字broadcast可以使协议的广播包能够在SVC上发送。如果使用了关键字trigger,广播流量也会触发SVC建立的行为。

c.在接口上启用SVC支持。

在主接口上启用SVC。

主接口下的所有子接口将继承启用对SVC的支持。

为接口分配映射组。

此命令将名为 map-list 的映射列表绑定到接口(或子接口)来定义并触发一条SVC。可以在接口上多次配置map-group命令来应用多条SVC。

7.(可选)设置其他帧中继参数。

a.使用端到端keepalive。

创建或添加map class

端到端 keepalive只能在帧中继map class中配置。

启用端到端keepalive。

在bi-directional模式下,路由器充当处理keepalive消息的发送方和接收方。request模式只会启用发送方功能,即可以发送keepalive请求消息,但不能应答请求消息。reply模式只会启用接收方功能,此模式会等待keepalive请求消息并进行应答。passive-reply模式的运作与reply模式类似,但不保留任何计时器或事件状态。

默认情况下,每10秒发送一次keepalive请求。如果在15秒之内未收到keepalive请求,会将错误计数器增加1。系统只会检查最后3次的keepalive事件是否发生错误:如果发生两次或两次以上的keepalive请求丢失,那么keepalive状态将从up变为down。以上这些默认值可通过命令 frame-relay end-to-end keepalive {error-threshold | event-window | success-events | timer}进行修改。

b.关闭帧中继的反向ARP功能。

帧中继默认启用了反向ARP功能。如需要可使用此命令no的形式来关闭此功能。也可以基于某个具体的协议protocol或DLCI号dlci来启用或关闭反向ARP功能。

c.创建广播队列。

由于广播数据包必须复制并发送到与某个协议或网桥租相关的所有 DLCI上。所以此命令可以使用一个队列来将保存和转发广播的行为限制在某个特定的速率内。广播队列长度以数据包为单位的size给出(默认为64个数据包)。该值应设置足够大来为每个DLCI上的每种协议保存一份完整的路由更新。每秒可发送的最大广播字节数由参数 byte-rete 给出(默认为每秒 256000 字节;该值通常设置成比DLCI数量除以4和1/4本地访问速率(字节每秒)都要小的值。每秒可发送的最大广播数量由参数packet-rete给出(默认为每秒36个数据包)。

d.启用帧中继分片功能。

使用端到端FRF.12分片。

通过map class,可在每条PVC上使用FRF.12分片功能。参数 fragment-size为净荷的大小,不包括帧中继头部(16~1600字节;默认为53字节)。使用分片功能可以让例如语音流量这样的时间关健型大数据包进行分片。分片大小需小于MTU但不能大于语音数据包。

使用FRF.11 Annex C分片。

这种分片类型可以使用在配置了VoFR(Voice over Frame Relay)的环境中,但不能应用于VoIP(Voice over IP)。更详细的内容请参阅 11.3节。

使用Cisco私有分片。

如果配置了VoFR并为PVC应用了一个map class,那么可以使用Cisco私有的分片类型。更详细的内容请参阅11.3节。

e.启用净荷压缩功能。

启用数据包压缩。

Stacker方法用于预测数据帧中的下一个字符,一次压缩一个数据包。此命令可以用于某个接口上或某种特定协议上的整个数据流,使用命令 frame-relay map则可以用于DLCI上的整个数据流。

使用FRF.9或Cisco私有的数据流压缩。

关键字frf9将使用基于标准的FRF.9压缩,而关键字data-stream将使用Cisco私有的压缩方法。压缩可以直接地在接口进行配置上或通过命令 frame-relay map来实现。如果具有VIP2模块,关键字distributed将启用VIP2模块上的压缩功能。使用关键字ratio后,压缩的比率将会权衡吞吐量的大小:high(高压缩率,低吞吐量)或low(低压缩率,高吞吐量;默认选项)。关键字software将使用路由器CPU启用IOS软件中的压缩功能。

f.启用TCP/IP头部压缩。

可以在数据帧中对TCP/IP头部进行压缩。默认情况下,只有Cisco帧中继封装启用了这种压缩。数据包必须按序到达,否则数据包头部将不能正确地重组(不要使用PQ机制,该机制会导致数据包的失序到达)。使用关键字passive后,只有入方向数据包带有压缩的头部时才会执行头部压缩。

g.标记DE(可选择丢弃)数据帧。

使用DE列表标识DE数据帧。

DE 列表中标识的数据帧可以被发生交换机拥塞的帧中继网络丢弃。选择标识DE的数据帧应该是一些时间敏感性或重要性较低的数据帧。list-number用来将多条DE列表命令组成一个列表。

关键字protocol用来指定可选择丢弃的协议类型。可用的协议名称protocol包括arp、apollo、appletalk、clns、clns_es、clns_is、compressedtcp、decnet、decnet_node、decnet_router-L1、decnet_router-L2、ip、ipx、vines,以及xns。

对于ip协议来说,可在characteristic字段使用tcp port或udp port来标记特定的端口号,或使用fragments来标记被分片的IP数据包。characteristic字段也可以引用一个访问控制列表(list access-list,编号为1~199或1300~2699的标准或扩展IP访问控制列表)来进一步地定义DE数据帧,还可以标识小于(lt bytes)或大于(gt bytes)特定大小的数据帧。

也可以使用关键字 interface,后跟接口类型 type 和号码 number,将来自接口的流量标记为DE数据帧。

将DE列表应用到接口或DLCI上。

在帧中继接口上,使用DE列表list-number仅将虚链路dlci上的流量标记为DE数据帧。

h.将PQ与多个DLCI结合起来。

定义优先级列表。

此命令创建了一个编号为list-number的优先级列表,将多个队列定义成一组。可为特定的协议protocol分配以下一种PQ级别:high、medium、low,或default。

分配DLCI来承载PQ中的流量。

PQ可以应用到单个帧中继接口上承载的各个DLCI上。参数list-number与优先级列表号相同。定义到DLCI上的PQ有high-dlci、med-dlci、normal-dlci,和low-dlci。通过这种方式,队列能够在带有适当的CIR和QoS特性的DLCI上进行承载。

8.(可选)配置帧中继流量整形。

对于某些QoS需求,可以在传输之前将帧中继的流量进行整形。更详细的内容请参阅9.12节。

此例中,在主接口 serial 0上配置了一条通往远程站点的帧中继连接。之后为该接口分配了IP地址并将所有出站方向的HTTP流量(TCP端口80)标记为DE数据帧。还在 serial 1的子接口上定义了另外两条PVC。每个子接口分配了 IP地址,并配置使用map class“branches”来启用端到端的 keepalive功能。此外,使用帧中继分片功能来传输 100 字节的分片的数据帧。图 2-4 给出了此例的网络拓扑图。

图2-4 帧中继接口配置实例的网络拓扑图

路由器也可以执行帧中继交换机的功能。

帧中继交换支持串行接口(只支持主接口)和 ISDN PRI/BRI接口(FR over ISDN)。

接口可以充当DTE、DCE或NNI(网络到网络接口)设备的角色。

流量整形(shaping)可以用来控制出方向(交换机出站)流量的传输。

流量监管(policing)可以使用在交换式 PVC 上来控制入方向(交换机入站)流量的行为。

拥塞管理可以用来规定帧中继交换机如何将拥塞消息通知给其他设备,以及自身如何处理拥塞。

1.启用帧中继交换功能。

2.配置接口。

a.启用帧中继封装。

帧中继交换功能仅支持路由器主接口。

b.配置LMI类型。

因为路由器将扮演交换机的角色为其他设备提供 LMI,故应在路由器配置一种LMI的类型。可用类型包括ansi(T1.617 Annex D)、cisco和q933a(ITU-T Q.933 Annex A)。

注意 默认情况下,设备启用了LMI自动感应(autosensing)功能。对于帧中继交换机来说,本地路由器应为其他设备提供一种LMI的类型。因此,用户应配置一种具体的LMI类型。

c.配置接口类型。

默认情况下,帧中继接口工作在 DTE(数据终端设备,dte)模式下。由于连接到此台帧中继交换机的其他路由器或其他设备很可能是DTE设备。因此,应将帧中继交换机变成一台 DCE(数据通信设备,dce)设备。如果执行交换功能的路由器需要连接到帧中继网云中的另一台帧中继交换机上,那么接口类型应配置成NNI(nni)。

3.配置交换使用的PVC。

a.配置无流量控制的静态交换。

此命令定义了一条PVC:从本接口进入的DLCI(in-dlci)将带着出站的DLCI (out-dlci)从接口(out-interface)发出。

b.配置用于流量控制或ISDN的交换。

此命令定义了一条从一端点(interface1 和 dlci1)通往另一端点(interface2和dlci2)名为文本字符串name的PVC。

4.(可选)使用流量整形来控制出方向PVC。

帧中继流量整形可以用来构造一条交换式PVC的参数特性。流量整形一般会在充当帧中继交换机的路由器发送单一数据流至另一帧中继网云之前,汇聚或集中多条帧中继PVC时使用。更详细的内容请参阅9.12节。

5.(可选)使用流量监管来控制入方向PVC。

a.在接口上启用流量监管。

b.使用map class来应用监管参数。

配置map class名称。

配置入方向CIR。

入方向流量的CIR可以设定为每秒bps个比特(默认为56000)。这是交换机向PVC上设备提供的CIR。

配置Bc(承诺突发速率)值。

根据后面定义的采样间隔 Tc,入方向流量的 Bc 值可以设定为 bits(默认为7000比特)。Bc值实际由Tc乘以CIR得来。

配置Be(超额突发速率)值。

入方向流量的Be值可以设定为bits(默认为7000比特)。同样基于采样间隔Tc。

配置 0 CIR测量间隔,Tc。

可以分配给PVC一个0比特每秒的CIR,从而提供无保证的吞吐量。当CIR为 0时,Tc规定了入方向流量不能超过 Bc 与 Be之和的时间间隔。Tc由参数milliseconds(10~10000;默认为1000毫秒)给出。

c.将map class应用在接口或PVC上。

将map class应用在接口的所有PVC上。

map class用作主接口上所有PVC的一个模板。map class可以被应用到接口上特定PVC的其他map class所覆盖。

将map class应用在接口的单个PVC上。

应用于单个PVC需要指定接口上PVC的DLCI。应用map class必须使用关键字 switched,后跟关键字 class以及map class名称。

6.(可选)使用拥塞管理来处理流量拥塞。

a.在接口的所有PVC上使用拥塞管理。

启用拥塞管理。

配置丢弃门限。

当接口的出站队列到达其最大值的百分之percentage时,标记DE位的数据帧将被丢弃。

配置拥塞通告门限。

可以为Bc和Be流量速率配置触发显示拥塞通告(ECN)位的门限。当出站队列到达其最大值的百分比 percentage 时,将在交换的数据包中设置 ECN 位(FECN和BECN)。Bc门限应设置成小于等于100%,而Be门限应设置成小于等于Bc。默认情况下,Bc和Be都被设置为100%。

b.通过流量整形对单个PVC使用拥塞管理。

定义map class。

配置丢弃门限。

开始丢弃数据帧的门限可以设置成占最大队列大小的 percentage(默认为100%)。

配置拥塞通告门限。

开始设置ECN位(FECN和BECN)的门限可以设置成占最大队列大小的percentage(默认为100%)。

设置流量整形队列大小。

整形队列的大小可以设置成queue-size个数据包(1~512;默认为40个)。

将map class应用在接口或PVC上。

使用下面的命令来将map class应用在接口的所有PVC上。

map class用作主接口上所有PVC的一个模板。map class可以被应用到接口上特定PVC的其他map class所覆盖。

使用下面的命令来将map class应用在接口的单个PVC上。

应用在单个PVC需要指定接口上PVC的DLCI。应用map class必须使用关键字 switched,后跟关键字 class以及map class名称。

此例中,将两台远程站点和一台帧中继交换机之间的一台路由器配置成帧中继交换机。接口 serial 0/0提供到远程站点A的连接,接口 serial 0/1提供到远程站点B的连接,接口 serial 0/2提供到帧中继交换机的连接。站点A的DLCI 100和101将被交换成远程帧中继交换机的DLCI 200和201。站点B的DLCI 102将被交换成远程帧中继交换机的DLCI 202,站点A的DLCI 103将被交换成站点B的DLCI 103。

连接到站点A和站点B的接口配置成类型为Cisco的LMI。去往站点A的Serail 0/0配置了拥塞管理(使用FECN和BECN),帧丢弃门限为队列大小的50%,流量监管使用map class LocationA限制CIR为128kbit/s,Bc为 144kbit/s。图 2-5为此例的网络拓扑图。

图2-5 帧中继交换配置实例的网络拓扑图

ATM接口默认使用 4470字节的MTU,最多 2048条虚链路(VC),以及每个VPI(虚拟路径标识符)上1024个VCI(虚拟通道标识符)。

ATM信元(cell)大小为 53字节。

ABR(可用比特速率)。使用尽力而为的QoS服务。不保证信元的延迟及丢失率。传输速率基于拥塞控制消息动态调整。

ILMI(集成的本地管理接口)管理。路由器和ATM交换机之间的 ILMI通信可用于监控PVC。

OAM(运维管理,operation、administration、maintenance)管理。使用OAM环回信元来监控并管理VC。借助管理,正在使用的协议能够获知VC的状态,从而快速地重新路由数据包。

ClIP(传统 IP over ATM)在SVC上模拟一个逻辑 IP子网。一台ATM设备扮演ATM ARP服务器的角色,接收ATM ARP客户端(其他每台ClIP设备)发来的请求,将其解析成ATM NSAP地址。每台ATM ARP客户端都会与服务器保持一条打开状态的连接,以便服务器能够维护一张IP与NSAP地址的映射表。

ClIP也可以使用 PVC。不过,PVC支持ATM反向ARP的地址解析。因此没有部署ClIP客户端和服务器的必要。

IMA(反向多路复用 over ATM)提供了一种在多条低速的“捆绑”物理连接上承载一条高速数据流的方式。随着带宽需求的增长,可以将更多的低速连接添加到捆绑连接中。

1.选定ATM接口。

a.使用主接口。

b.使用子接口。

子接口的接口模式必须定义成点到点(point-to-point)或点到多点(multipoint)。

2.配置PVC。

a.使用PVC发现。

启用ILMI。

此命令创建了一条PVC,其中ILMI通信使用的VPI/VCI对为0/16。从邻接ATM交换机发来的ILMI信息中便可发现PVC。

启用PVC发现。

此命令用来发现PVC并将其分配给主ATM接口。关键字subinterface可使PVC分配到单个ATM子接口上。PVC VPI号将变成子接口号。

为接口分配协议地址。

可以在接口或子接口上配置任何协议地址。PVC 一旦被发现,就应为其分配一个合适的接口并配置协议地址。

b.在接口上手动配置PVC。

此命令定义了一条名为name(至多16字符的文本字符串)的PVC。必须指定虚拟路径标识符(vpi)和虚拟通道标识符(vci)。

3.配置SVC。

a.配置 ILMI PVC。

选定主ATM接口。

ILMI只能在主接口上进行配置,不能在子接口上。

定义 ILMI PVC。

ILMI与ATM交换机的通信始终使用VPI/VCI 0/16。如需要,可以为这条PVC起个名字。

(可选)设定 ILMI keepalive间隔。

默认情况下,ILMI keepalive消息功能是关闭的。如果启用,keepalive将会以seconds(默认为3秒)的间隔发送至ATM交换机。

b.定义呼叫建立PVC。

SVC呼叫建立信令使用QSAAL,并通过配置在本地ATM交换机上的VPI/VCI来工作(通常是0/5)。

c.定义NSAP源地址。

使用来自ATM交换机的NSAP前缀。

ATM 交换机通过 ILMI 来为本地路由器提供 NSAP 前缀(26 位十六进制数字)。本地路由器必须添加ESI(esi,12位十六进制数)和选择位(selector,2位十六进制数)。

定义完整的NSAP地址。

完整的源nsap地址nsap-addresss是一个40位的十六进制字符串。该地址使用的点分格式如下:pp.pppp.pp.pppppp.pppp.pppp.pppp.eeee.eeee.eeee.ss。这里的p是NSAP前缀数字,e是ESI数字,而s是选择位数字。

d.定义SVC。

此命令可将SVC的远端NSAP目的地址定义为nsap-address。也可以使用文本字符串(至多16个字符)来为SVC命名。

4.(可选)配置VC参数(PVC或SVC)。

a.(可选)创建一个VC类模板。

如果用户拥有多条定义了相同参数的虚链路,那么可以使用一个VC类作为一个模板。VC 类中定义的参数随后将被应用到 ATM 接口、一条 PVC,或一条SVC上。

注意 以下步骤b到g定义了虚链路的具体参数。这些命令既可应用到一条PVC上(使用步骤2b中的命令pvc)、一条SVC上(使用步骤3d中的命令 svc),或一个VC类模板上(使用步骤4a中的命令vc-class atm)。简单起见,这些命令都以atm-vc的配置模式显示。

b.为VC分配一个协议地址。

此命令为VC和协议地址创建了一条静态映射。可用的协议protocol包括aarp (AppleTalk ARP)、apollo、appletalk、arp(IP ARP)、bridge、bstun(组串行隧道)、cdp、clns、clns_es(ISO CLNS终端系统)、clns_is(ISO CLNS中间系统)、compressedtcp、decnet、dlsw(数据链路交换)、ip、ipx、llc2(逻辑链路控制2)、qllc(受限逻辑链路控制)、rsrb(远程源路由桥接)、snapshot(snapshot路由)、stun(串行隧道)、vines以及xns。还需指定一个协议地址address来创建静态映射。不过,对于IP和IPX,可以使用关键字inarp来代替协议地址。使用后将启用反向ARP并将其应用在VC上来解析协议地址。

关键字broadcast可以使协议的广播包能够在VC上转发。

c.设置AAL及其封装类型。

关键字aal5mux用作一条复用的VC来支持VC上的单个协议。aal5mux可用的协议protocol包括apollo、appletalk、decnet、frame(帧中继-ATM)、ip、ipx、vines、voice(Voice over ATM)以及 xns。

关键字aal5snap(默认)可将多种协议复用到一条VC上。使用LLC/SNAP (逻辑链路控制/子网访问协议)来对多种协议进行编码。

d.启用广播复制。

广播复制和转发功能默认关闭。可以使用命令 protocol 配置每种协议的广播转发功能(步骤4b),或使用命令broadcast来为VC上的所有协议启用广播功能。

e.管理VC连通性(PVC和SVC)。

(PVC和SVC)使用端到端的OAM环回信元。

使用此命令后,VC上将发送端到端的F5 OAM环回信元,并期望被远端接收。默认情况下,不会产生环回信元,不过收到了环回信元会将其环回。关键字oam-pvc用于PVC,而关键字oam-svc用于SVC。关键字manage用于启用OAM管理。当路由器发送环回信元却未收到回复时,会宣布VC断开(PVC)或拆断(SVC)。环回信元发送的频率可设定成frequency秒(0~600;默认为10秒)。

调整OAM管理运作。

如果收到了up-count次环回信元回复(默认为3次),OAM管理将PVC标记为up。如果环回信元丢失了down-count次(默认为5次),会断开PVC或拆断SVC。如果未收到环回回复,OAM管理将以retry-freq的间隔(默认为1秒)发送环回信元来核实VC状态。

(仅限于PVC)使用ILMI管理。

f.(仅限于SVC)设定SVC空闲超时时间。

如果SVC在seconds内(默认为300秒)处于空闲状态,那么此SVC将被拆断。如果配置了最小速率,那么当流量速率低于minimum-rate时,SVC也被认为是空闲状态(默认为0kbit/s,即无最小速率)。

g.定义ATM服务质量(QoS)。

默认情况下,在最大接口线路速率上使用UBS QoS。

(ABR;仅限于PVC)使用可用比特速率。

可以将 PCR(峰值信元速率)设定为 output-pcr(kbit/s),即 ACR(允许信元速率)的最大值。将MCR(最小信元速率)设定为output-mcr(kbit/s),即ACR的最小值。

使用UBR(未指定比特速率)QoS。

可以将出站PCR设定为output-pcr(kbit/s)。对于SVC,入站PVC可以设定为input-pcr(kbit/s)。

设定UBR以及PCR和MCR。

此命令启用了UBR,并分别将PCR和MCR设定为output-pcr和output-mcr (kbit/s)。对于SVC,也可将入站PCR和MCR设定为input-pcr和input-mcr(kbit/s)。

设定VBR-NRT(可变比特速率-非实时)。

此命令启用了VBR-NRT QoS。PCR、SCR(持续信元速率)和MBS(最大突发信元量)可分别设定成output-pcr(kbit/s)、output-scr(kbit/s),以及output-mbr (信元数量)。对于SVC,还可以设定入站PCR、SCR以及MBS。

h.将VC类应用到PVC或SVC上。

任何在VC类中设置的参数都会被继承到接口或VC上。

5.(可选)使用传统 IP over ATM以及ARP over ATM。

主接口的NSAP地址必须事先定义好。想要成为一台ATM ARP服务器,需使用关键字self。ARP条目会在服务器列表中保存minutes分钟(默认为20分钟)。超时后会被再次确认或删除。想要成为ATM ARP客户端,可使用关键字nsap。ATM ARP服务器的NSAP地址必须定义成 server-nsap。

6.(可选)使用 IMA over ATM。

a.配置单独的ATM链路。

选定ATM T1/E1接口。

(可选)定义时钟源。

此命令可将时钟源设置成网络(line)、自主运行的内部时钟(internal),或来自系统时钟无关的线路(loop-timed)。

(可选,仅限于T1)设定线路补偿。

可以使用关键字 long 来设置线缆的特性以及线路补偿,该命令适用于从路由器到CSU/DSU超过655英尺的线缆。接收方增益dbgain可以为gain26(默认)或 gain36 dB。传输信号衰减 dbloss可以为−22.5db、−15db、−7.5db或 0db (默认)。

对于短于655英尺的线缆,可使用关键字short,后跟一个以英尺为单位的最接近匹配长度:133、266、399、533或655。

(可选,仅限于E1)设定线路阻抗。

此命令可将E1线路的电阻值设置为75欧姆或120欧姆(默认)。取决于连接到IMA接口上的硬件电缆。

b.分配单独链路至IMA组。

此命令可将 T1/E1 接口分配(或者说绑定)到编号为 ima-group(0~3)的IMA组中。

c.配置IMA组。

选定IMA组。

可将IMA组当做一个逻辑接口(例如atm0/ima2)。任何与ATM相关的参数都应该分配至IMA组接口中:PVC、SVC、IP地址、QoS类型等。

设置IMA时钟模式。

可以将传输时钟设置成所有IMA端口使用相同的时钟源(common,这里的port是指获得时钟的端口),或者在不同的IMA端口上使用不同的时钟源(independent)。如果使用了独立的时钟源,必须为每个独立的ATM接口配置时钟源。

设定IMA组中的最大延迟。

可以为IMA组内的最慢链路设定最大延迟,从而使最慢的链路也能加入到组中。延迟通过参数milliseconds来指定(T1:25~20毫秒;默认为250;E1:25~190毫秒;默认为190)。

设定最小活动链路数量。

IMA组必须具有一个最小运作链路的数量,来保证IMA接口处于up状态。当IMA组up的同时,单条链路可以退出服务。最小链路数通过参数links(1~8;默认为1)来指定。

此例中,接口ATM 7/0配置了一条 ILMI PVC,从而能够从ATM交换机自动发现其他PVC。每个发现的PVC都分配了一个子接口,并根据PVC的VPI号码进行编号。VPI号码1和2预先配置给了带有 IP地址的子接口 atm 7/0.1和7/0.2。一旦发现这两个接口,IP地址将绑定给相应的活动子接口。

接口ATM 8/0定义了一条去往远端站点的PVC。本地接口的IP地址(192.168.4.1)和远端设别的接口IP地址(192.168.4.2)都已给出。仅使用AAL5mux封装来传输IP协议。

接口ATM 9/0、9/1,以及9/2配置成了一个用于反向多路复用的 IMA组。为了保持IMA组的up状态,至少要有一条链路是up的。IMA组配置了IP地址和到达远端路由器IP地址的PVC映射。图2-6给出了此例的网络拓扑图。

图2-6 ATM接口配置实例的网络拓扑图

涵盖本章主题的更多信息请查阅以下推荐资源。

图书在版编目(CIP)数据

Cisco路由器配置手册:第2版/(美)胡卡比(Hucaby,D.),(美)麦觉理(McQuerry,S.),(美)维塔克(Whitaker,A.)著;付强,张人元译.--北京:人民邮电出版社,2012.5

ISBN 978-7-115-27798-5

Ⅰ.①C… Ⅱ.①胡…②麦…③维…④付…⑤张… Ⅲ.①计算机网络—路由器—配置—手册 Ⅳ.①TN915.05-62

中国版本图书馆CIP数据核字(2012)第048352号

版权声明

David Hucaby,Steve McQuerry,Andrew Whitaker:Cisco Router Configuration Handbook (Second Edition) (ISBN:1587141167)

Copyright© 2010 Cisco Systems, Inc.

Authorized translation from the English language edition published by Cisco Press.

Al rights reserved.

本书中文简体字版由美国Cisco Press授权人民邮电出版社出版。未经出版者书面许可,对本书任何部分都不得以任何方式复制或抄袭。

版权所有,侵权必究。

Cisco路由器配置手册(第2版)

◆著 [美]David Hucaby Steve McQuerry Andrew Whitaker

译 付强 张人元

责任编辑 傅道坤

◆人民邮电出版社出版发行  北京市崇文区夕照寺街14号

邮编 100061  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

北京鑫正大印刷有限公司印刷

◆开本:800×1000 1/16

印张:40

字数:756千字  2012年5月第1版

印数:1-4000册  2012年5月北京第1次印刷

著作权合同登记号 图字:01-2011-0735号

ISBN 978-7-115-27798-5

定价:89.00元

读者服务热线:(010)67132692 印装质量热线:(010)67129223

反盗版热线:(010)67171154

相关图书

TCP/IP路由技术(第一卷)(第二版)
TCP/IP路由技术(第一卷)(第二版)
思科ACI部署完全指南
思科ACI部署完全指南
趣学CCNA——路由与交换
趣学CCNA——路由与交换
Internet 路由结构(第2版•修订版)
Internet 路由结构(第2版•修订版)
Cisco局域网交换机配置手册(第2版•修订版)
Cisco局域网交换机配置手册(第2版•修订版)
路由设计的优化
路由设计的优化

相关文章

相关课程