网络工程师应该掌握的44个(路由器问题)知识要点1、什么时候使用多路由协议?当两种不同的路由协议要交换路由信息时,就要用到多路由协议。当然,路由再分配也可以交换路由信息。下列情况不必使用多路由协议:从老版本的内部网关协议(InteriorGatewayProtocol,IGP)升级到新版本的IGP。你想使用另一种路由协议但又必须保留原来的协议。你想终止内部路由,以免受到其他没有严格过滤监管功能的路由器的干扰。你在一个由多个厂家的路由器构成的环境下。什么是距离向量路由协议?距离向量路由协议是为小型网络环境设计的。在大型网络环境下,这类协议在学习路由及保持路由将产生较大的流量,占用过多的带宽。如果在90秒内没有收到相邻站点发送的路由选择表更新,它才认为相邻站点不可达。每隔30秒,距离向量路由协议就要向相邻站点发送整个路由选择表,使相邻站点的路由选择表得到更新。这样,它就能从别的站点(直接相连的或其他方式连接的)收集一个网络的列表,以便进行路由选择。距离向量路由协议使用跳数作为度量值,来计算到达目的地要经过的路由器数。例如,RIP使用Bellman-Ford算法确定最短路径,即只要经过最小的跳数就可到达目的地的线路。最大允许的跳数通常定为15。那些必须经过15个以上的路由器的终端被认为是不可到达的。距离向量路由协议有如下几种:IPRIP、IPXRIP、AppleTalkRTMP和IGRP。什么是链接状态路由协议?链接状态路由协议更适合大型网络,但由于它的复杂性,使得路由器需要更多的CPU资源。它能够在更短的时间内发现已经断了的链路或新连接的路由器,使得协议的会聚时间比距离向量路由协议更短。通常,在10秒钟之内没有收到邻站的HELLO报文,它就认为邻站已不可达。一个链接状态路由器向它的邻站发送更新报文,通知它所知道的所有链路。它确定最优路径的度量值是一个数值代价,这个代价的值一般由链路的带宽决定。具有最小代价的链路被认为是最优的。在最短路径优先算法中,最大可能代价的值几乎可以是无限的。如果网络没有发生任何变化,路由器只要周期性地将没有更新的路由选择表进行刷新就可以了(周期的长短可以从30分钟到2个小时)。链接状态路由协议有如下几种:IPOSPF、IPXNLSP和IS-IS。一个路由器可以既使用距离向量路由协议,又使用链接状态路由协议吗?可以。每一个接口都可以配置为使用不同的路由协议;但是它们必须能够通过再分配路由来交换路由信息。(路由的再分配将在本章的后面进行讨论。)2、什么是访问表?访问表是管理者加入的一系列控制数据包在路由器中输入、输出的规则。它不是由路由器自己产生的。访问表能够允许或禁止数据包进入或输出到目的地。访问表的表项是顺序执行的,即数据包到来时,首先看它是否是受第一条表项约束的,若不是,再顺序向下执行;如果它与第一条表项匹配,无论是被允许还是被禁止,都不必再执行下面表项的检查了。每一个接口的每一种协议只能有一个访问表。支持哪些类型的访问表?一个访问表可以由它的编号来确定。具体的协议及其对应的访问表编号如下:◎IP标准访问表编号:1~99◎IP扩展访问表编号:100~199◎IPX标准访问表编号:800~899◎IPX扩展访问表编号:1000~1099◎AppleTalk访问表编号:600~699提示在CiscoIOSRelease11.2或以上版本中,可以用有名访问表确定编号在1~199的访问表。如何创建IP标准访问表?一个IP标准访问表的创建可以由如下命令来完成:Access-listaccesslistnumber{permit|deny}source[source-mask]在这条命令中:◎accesslistnumber:确定这个入口属于哪个访问表。它是从1到99的数字。◎permit|deny:表明这个入口是允许还是阻塞从特定地址来的信息流量。◎source:确定源IP地址。◎source-mask:确定地址中的哪些比特是用来进行匹配的。如果某个比特是1,表明地址中该位比特不用管,如果是0的话,表明地址中该位比特将被用来进行匹配。可以使用通配符。以下是一个路由器配置文件中的访问表例子:Router#showaccess-listsStandardIPaccesslist1deny204.59.144.0,wildcardbits0.0.0.255ermitany3、什么时候使用路由再分配?路由再分配通常在那些负责从一个自治系统学习路由,然后向另一个自治系统广播的路由器上进行配置。如果你在使用IGRP或EIGRP,路由再分配通常是自动执行的。4、什么是管理距离?管理距离是指一种路由协议的路由可信度。每一种路由协议按可靠性从高到低,依次分配一个信任等级,这个信任等级就叫管理距离。对于两种不同的路由协议到一个目的地的路由信息,路由器首先根据管理距离决定相信哪一个协议。5、如何配置再分配?在进行路由再分配之前,你必须首先:1)决定在哪儿添加新的协议。2)确定自治系统边界路由器(ASBR)。3)决定哪个协议在核心,哪个在边界。4)决定进行路由再分配的方向。可以使用以下命令再分配路由更新(这个例子是针对OSPF的):router(config-router)#redistributeprotocol[process-id][metricmetric-value][metric-typetype-value][subnets]在这个命令中:◎protocol:指明路由器要进行路由再分配的源路由协议。主要的值有:bgp、eqp、igrp、isis、ospf、static[ip]、connected和rip。◎process-id:指明OSPF的进程ID。◎metric:是一个可选的参数,用来指明再分配的路由的度量值。缺省的度量值是0。6、为什么确定毗邻路由器很重要?在一个小型网络中确定毗邻路由器并不是一个主要问题。因为当一个路由器发生故障时,别的路由器能够在一个可接受的时间内收敛。但在大型网络中,发现一个故障路由器的时延可能很大。知道毗邻路由器可以加速收敛,因为路由器能够更快地知道故障路由器,因为hello报文的间隔比路由器交换信息的间隔时间短。使用距离向量路由协议的路由器在毗邻路由器没有发送路由更新信息时,才能发现毗邻路由器已不可达,这个时间一般为10~90秒。而使用链接状态路由协议的路由器没有收到hello报文就可发现毗邻路由器不可达,这个间隔时间一般为10秒钟。距离向量路由协议和链接状态路由协议如何发现毗邻路由器?使用距离向量路由协议的路由器要创建一个路由表(其中包括与它直接相连的网络),同时它会将这个路由表发送到与它直接相连的路由器。毗邻路由器将收到的路由表合并入它自己的路由表,同时它也要将自己的路由表发送到它的毗邻路由器。使用链接状态路由协议的路由器要创建一个链接状态表,包括整个网络目的站的列表。在更新报文中,每个路由器发送它的整个列表。当毗邻路由器收到这个更新报文,它就拷贝其中的内容,同时将信息发向它的邻站。在转发路由表内容时没有必要进行重新计算。注意使用IGRP和EIGRP的路由器广播hello报文来发现邻站,同时像OSPF一样交换路由更新信息。EIGRP为每一种网络层协议保存一张邻站表,它包括邻站的地址、在队列中等待发送的报文的数量、从邻站接收或向邻站发送报文需要的平均时间,以及在确定链接断开之前没有从邻站收到任何报文的时间。7、什么是自治系统?一个自治系统就是处于一个管理机构控制之下的路由器和网络群组。它可以是一个路由器直接连接到一个LAN上,同时也连到Internet上;它可以是一个由企业骨干网互连的多个局域网。在一个自治系统中的所有路由器必须相互连接,运行相同的路由协议,同时分配同一个自治系统编号。自治系统之间的链接使用外部路由协议,例如BGP。8、什么是BGP?BGP(BorderGatewayProtocol)是一种在自治系统之间动态交换路由信息的路由协议。一个自治系统的经典定义是在一个管理机构控制之下的一组路由器,它使用IGP和普通度量值向其他自治系统转发报文。在BGP中使用自治系统这个术语是为了强调这样一个事实:一个自治系统的管理对于其他自治系统而言是提供一个统一的内部选路计划,它为那些通过它可以到达的网络提供了一个一致的描述。9、BGP支持的会话种类?BGP相邻路由器之间的会话是建立在TCP协议之上的。TCP协议提供一种可靠的传输机制,支持两种类型的会话:o外部BGP(EBGP):是在属于两个不同的自治系统的路由器之间的会话。这些路由器是毗邻的,共享相同的介质和子网。o内部BGP(IBGP):是在一个自治系统内部的路由器之间的会话。它被用来在自治系统内部协调和同步寻找路由的进程。BGP路由器可以在自治系统的任何位置,甚至中间可以相隔数个路由器。注意初始的数据流的内容是整个BGP路由表。但以后路由表发生变化时,路由器只传送变化的部分。BGP不需要周期性地更新整个路由表。因此,在连接已建立的期间,一个BGP发送者必须保存有当前所有同级路由器共有的整个BGP路由表。BGP路由器周期性地发送KeepAlive消息来确认连接是激活的。当发生错误或特殊情况时,路由器就发送Notification消息。当一条连接发生错误时,会产生一个notification消息并断开连接。-来自RFC11654、BGP操作。10、BGP允许路由再分配吗?允许。因为BGP主要用来在自治系统之间进行路由选择,所以它必须支持RIP、OSPF和IGRP的路由选择表的综合,以便将它们的路由表转入一个自治系统。BGP是一个外部路由协议,因此它的操作与一个内部路由协议不同。在BGP中,只有当一条路由已经存在于IP路由表中时,才能用NETWORK命令在BGP路由表中创建一条路由。11、如何显示在数据库中的所有BGP路由?要显示数据库中的所有BGP路由,只需在EXEC命令行下输入:howipbgppaths这个命令的输出可能是:AddressHashRefcountMetricPath0x297A9C020i12、什么是水平分割?水平分割是一种避免路由环的出现和加快路由汇聚的技术。由于路由器可能收到它自己发送的路由信息,而这种信息是无用的,水平分割技术不反向通告任何从终端收到的路由更新信息,而只通告那些不会由于计数到无穷而清除的路由。13、路由环是如何产生的?由于网络的路由汇聚时间的存在,路由表中新的路由或更改的路由不能够很快在全网中稳定,使得有不一致的路由存在,于是会产生路由环。14、什么是度量值?度量值代表距离。它们用来在寻找路由时确定最优路由。每一种路由算法在产生路由表时,会为每一条通过网络的路径产生一个数值(度量值),最小的值表示最优路径。度量值的计算可以只考虑路径的一个特性,但更复杂的度量值是综合了路径的多个特性产生的。一些常用的度量值有:◎跳步数:报文要通过的路由器输出端口的个数。◎Ticks:数据链路的延时(大约1/18每秒)。◎代价:可以是一个任意的值,是根据带宽,费用或其他网络管理者定义的计算方法得到的。◎带宽:数据链路的容量。◎时延:报文从源端传到目的地的时间长短。◎负载:网络资源或链路已被使用的部分的大小。◎可靠性:网络链路的错误比特的比率。◎最大传输单元(MTU):在一条路径上所有链接可接受的最大消息长度(单位为字节)。IGRP使用什么类型的路由度量值?这个度量值由什么组成?IGRP使用多个路由度量值。它包括如下部分:◎带宽:源到目的之间最小的带宽值。◎时延:路径中积累的接口延时。◎可靠性:源到目的之间最差的可能可靠性,基于链路保持的状态。◎负载:源到目的之间的链路在最坏情况下的负载,用比特每秒表示。◎MTU:路径中最小的MTU值。15、度量值可以修改或调整吗?加一个正的偏移量。这个命令的完整结构如下:可以使用OFFSET-LISTROUTER子命令为访问表中的网络输入和输出度量值添加一个正的偏移量。offset-list{in|out}offset[access-list]nooffset-list