赞
踩
网络互联核心的任务是解决路由问题,路由器的作用就是将各个网络彼此连接起来,负责不同网络之间的数据包传送。而路由器工作的核心就是路由表,路由器使用路由表来确定转发数据包的最佳路径。本章介绍路由器组件、路由器启动过程和路由决策过程等内容。
路由器是一台特殊用途的计算机,它的主要功能是确定发送数据包的最佳路径并将数据包转发到目的地。和常见的PC一样,路由器有CPU、内存、ROM等组件。路由器没有键盘、鼠标和显示器等组件;然而比起计算机,路由器多了NVRAM、Flash 以及类型丰富的接口。路由器各个组件及其作用如下所述。
随着网络的不断扩大,选择合适的路由器来满足其业务要求很重要。根据应用场合,路由器分为以下三类。
路由器启动过程主要分为以下3个阶段,如图4-1所示。
图4-1 路由器启动过程
POST (Power-On Self Test,POST)过程用于检测路由器硬件。当路由器加电时,ROM芯片上的软件便会执行POST进行诊断,主要针对CPU、RAM和NVRAM 等在内的硬件组件。POST完成后,路由器将执行引导(Bootstrap)程序。Bootstrap程序将IOS映像文件从ROM 复制到RAM中,然后CPU 会执行 Bootstrap程序中的指令。Bootstrap程序的主要任务是查找IOS 映像文件并将其加载到RAM中。
IOS映像文件通常存储在闪存中,也可能存储在TFTP服务器中等其他位置上。找到IOS映像文件后,开始加载IOS,在映像文件解压缩过程中会看到一串#号。路由器寻找IOS映像的顺序,还取决于配置寄存器(Configuration Register)的启动域以及其他的设置(如用bootsystem命令可以指定查找IOS 的顺序)。配置寄存器是一个2字节的寄存器,低4位就是启动域,不同的值代表从不同的位置查找IOS,默认时寄存器值为0x2102,即启动域的值为2。默认情况下路由器首先从Flash 查找IOS,然后查找TFTP服务器。如果不能找到IOS映像文件,路由器会进入监控(Rommon)模式。
IOS加载成功后,引导程序会搜索NVRAM 中的启动配置文件。此文件含有已经保存的配置命令和参数。如果启动配置文件位于NVRAM中,路由器会将其复制到 RAM中作为运行配置文件并执行。如果 NVRAM中不存在启动配置文件,或者在寄存器值为0x21422情况下路由器会提示是否进入设置(setup)模式。设置模式包含一系列交互式问题,提示用户输入一些基本的配置信息。设置模式不适合复杂的路由器配置,网络管理员一般不会使用该模式,通过【CTRL】+【C】组合键可以退出 setup模式。
路由器支持以下3种数据包转发机制。
进程交换是一种较早版本的数据包转发机制,当数据包到达路由器某个接口时,将其转发到控制平面,在控制平面上CPU 将目的地址与其路由表中的条目进行匹配,然后确定送出接口并转发数据包。路由器会对每个数据包执行此操作,也就是说每个数据包都必须由CPU单独处理,即使数据流的源IP地址和目IP地址地是相同的。这种进程交换机制效率低下,在现代网络中很少使用。
快速交换也称为基于流(Flow-Based)的交换,这是一种常见的数据包转发机制,使用快速交换缓存来存储下一跳信息。当数据包到达路由器某个接口时,将被转发到控制平面,在控制平面上CPU将在快速交换缓存中搜索匹配项。如果不存在匹配项,则对数据包采用进程交换并将其转发到送出接口,整个数据流信息同时会被存储到快速交换缓存中。如果去往同一目的地的另一个数据包到达路由器接口,则缓存中的下一跳信息可以重复使用,无须CPU的干预。但有一点需要注意,IP路由表的改变会使快速交换缓存无效,在路由不断变化的网络环境中,快速交换的优点将受到很大抑制。
Cisco快速转发(Cisco Express Forwarding,CEF)也称为基于拓扑(Topology-Based)的交换,是 Cisco路由器首选使用的数据包转发机制。CEF 将构建转发信息库 (ForwardingInformation Base,FIB)和邻接表(Adjacency Table)。FIB和路由表是同步的,是CPU根据路由表进行递归查找而生成的,当网络中路由或拓扑结构发生变化时,IP路由表就被更新,而这些变化也将反映在FIB中,尤为关键的是FIB的查询由硬件执行,查询速度快得多。郭接表和ARP表有些类似,主要放置了二层重写时需要的封装信息。FIB和邻接表在数据转发之前就已经准备好了,这样一有数据要转发,路由器就能直接利用它们进行数据转发和封装,不需要查询路由表和发送ARP请求,所以路由效率大大提高。
路由是指把数据包从源发送到目的的行为和动作,而路由器是执行这种行为和动作的设备。当路由器从某个接口收到IP数据包时,它会确定使用哪个接口将该数据包转发到目的地。因此路由器转发数据包的行为包括确定数据包的最佳路径和将数据包转发到目的地。路由器使用路由表来确定转发数据包的最佳路径。当路由器收到数据包时,它会检查其目的IP地址,并在路由表中搜索最佳匹配网络地址,一旦找到匹配条目,路由器就会将IP数据包封装到出接口相应的数据链路帧中进行转发。数据链路帧可以是以太帧、PPP帧或HDLC帧等,数据链路封装取决于路由器接口的类型及其连接的介质类型。
路由器路由数据包过程如图4-2所示。数据包从计算机A到达服务器B过程如下:当主机A要发送IP数据包给服务器B时,将IP数据包先按照以太网帧格式进行封装,然后送到默认网关,即路由器R1,R1 从 GO/0接口收到该以太网帧后,将数据包解封(删除二层帧头和帧尾),Rl使用数据包的目的IP地址搜索路由表,查找匹配的网络地址。在路由表中找到目的网络地址后,确定出接口为SO/0/0,R1将数据包重新封装(二层重写)到PPP帧中,然后将数据包转发到R2。R2接着执行和上述类似的过程,数据包最后到达服务器B。在整个数据包传递过程中,二层信息会被重写,但是三层IP信息保持不变。
图4-2 路由器路由数据包过程
管理距离用来定义路由来源的可信程度,范围是0~255的整数值,值越低表示路由来源的优先级别越高,0表示优先级别最高。默认情况下,只有直连网络的管理距离为0,而且这个值不能更改。静态路由和动态路由协议的管理距离是可以修改的。表4-1列出了直连、静态路由以及常见动态路由协议的默认管理距离。
度量值是路由协议用来分配到达远程网络的路由开销的值。对于同一种路由协议,当有多条路径通往同一目的网络时,路由协议使用度量值来确定最佳路径。度量值越低,路径越优先。每一种路由协议都有自己的度量方法,所以不同的路由协议决策出的最佳路径可能不同。IP路由协议中经常使用的度量标准如下所述。
路由表是保存在 RAM 中的数据文件,存储了与直连网络以及远程网络相关的信息。路由表包含网络与下一跳的关联信息。这些关联信息告知路由器:要以最佳方式到达某一目的地,可以将数据包发送到特定路由器(即在到达最终目的地的途中的下一跳)。下一跳也可以关联到通向最终目的地的送出接口。路由器在查找路由表的过程中通常采用递归查询。路由器通常用以下3种途径构建路由表。
可以通过show ip route命令来查看路由器的路由表,下面是路由表的一个例子。
路由表的具体查找过程将在第6章中详细介绍。当路由器添加路由条目到路由表中时,遵循如下原则:
路由表的工作原理如下如下所述。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。