路由12问!这些你都掌握了吗?

网络 路由交换
当两种不同的路由协议要交换路由信息时,就要用到多路由协议。当然,路由再分配也可以交换路由信息。

1. 什么时候使用多路由协议?

当两种不同的路由协议要交换路由信息时,就要用到多路由协议。当然,路由再分配也可以交换路由信息。

下列情况不必使用多路由协议:

  • 从老版本的内部网关协议( Interior Gateway Protocol,IGP)升级到新版本的IGP。
  • 想使用另一种路由协议但又必须保留原来的协议。
  • 想终止内部路由,以免受到其他没有严格过滤监管功能的路由器的干扰。
  • 在一个由多个厂家的路由器构成的环境下。

[[282968]]

2. 什么是距离向量路由协议?

距离向量路由协议是为小型网络环境设计的。在大型网络环境下,这类协议在学习路由及保持路由将产生较大的流量,占用过多的带宽。如果在90秒内没有收到相邻站点发送的路由选择表更新,它才认为相邻站点不可达。

每隔30秒,距离向量路由协议就要向相邻站点发送整个路由选择表,使相邻站点的路由选择表得到更新。这样,它就能从别的站点(直接相连的或其他方式连接的)收集一个网络的列表,以便进行路由选择。距离向量路由协议使用跳数作为度量值,来计算到达目的地要经过的路由器数。

例如,R I P使用B e l l m a n - F o r d算法确定最短路径,即只要经过最小的跳数就可到达目的地的线路。最大允许的跳数通常定为1 5。那些必须经过1 5个以上的路由器的终端被认为是不可到达的。

距离向量路由协议有如下几种:

IP RIP、IPX RIP、Apple Talk RTMP和IGRP。

3. 什么是链接状态路由协议?

链接状态路由协议更适合大型网络,但由于它的复杂性,使得路由器需要更多的CPU资源。它能够在更短的时间内发现已经断了的链路或新连接的路由器,使得协议的会聚时间比距离向量路由协议更短。

通常,在1 0秒钟之内没有收到邻站的hello报文,它就认为邻站已不可达。一个链接状态路由器向它的邻站发送更新报文,通知它所知道的所有链路。

它确定最优路径的度量值是一个数值代价,这个代价的值一般由链路的带宽决定。具有最小代价的链路被认为是最优的。在最短路径优先算法中,最大可能代价的值几乎可以是无限的。

如果网络没有发生任何变化,路由器只要周期性地将没有更新的路由选择表进行刷新就可以了(周期的长短可以从3 0分钟到2个小时)。

链接状态路由协议有如下几种:IP OSPF、IPX NLSP和IS-IS。

一个路由器可以既使用距离向量路由协议,又使用链接状态路由协议吗?

可以。每一个接口都可以配置为使用不同的路由协议;但是它们必须能够通过再分配路由来交换路由信息。(路由的再分配将在本章的后面进行讨论。)

4. 什么是访问表?

访问表是管理者加入的一系列控制数据包在路由器中输入、输出的规则。它不是由路由器自己产生的。访问表能够允许或禁止数据包进入或输出到目的地。

访问表的表项是顺序执行的,即数据包到来时,首先看它是否是受第一条表项约束的,若不是,再顺序向下执行;如果它与第一条表项匹配,无论是被允许还是被禁止,都不必再执行下面表项的检查了。

每一个接口的每一种协议只能有一个访问表。

支持哪些类型的访问表?

一个访问表可以由它的编号来确定。具体的协议及其对应的访问表编号如下:

  • IP标准访问表编号:1~9 9
  • IP扩展访问表编号:1 0 0~1 9 9
  • IPX标准访问表编号:8 0 0~8 9 9
  • IPX扩展访问表编号:1 0 0 0~1 0 9 9
  • AppleTalk访问表编号:6 0 0~6 9 9

提示:在Cisco IOS Release11.2或以上版本中,可以用有名访问表确定编号在1~199的访问表。

5. 如何创建IP标准访问表?

一个IP标准访问表的创建可以由如下命令来完成:

  1. Access-list access list number {permit | deny} source [source-mask] 

在这条命令中:

  • access list number:确定这个入口属于哪个访问表。它是从1到9 9的数字。
  • permit | deny:表明这个入口是允许还是阻塞从特定地址来的信息流量。
  • source:确定源I P地址。
  • s o u r c e - m a s k:确定地址中的哪些比特是用来进行匹配的。如果某个比特是"1",表明地址中该位比特不用管,如果是"0"的话,表明地址中该位比特将被用来进行匹配。可以使用通配符。

以下是一个路由器配置文件中的访问表例子:

  1. Router# show access-lists 
  2. Standard IP access list 1 
  3. deny 204.59.144.0, wildcard bits 0.0.0.255 
  4. ermit any 

6. 什么时候使用路由再分配?

路由再分配通常在那些负责从一个自治系统学习路由,然后向另一个自治系统广播的路由器上进行配置。如果你在使用IGRP或EIGRP,路由再分配通常是自动执行的。

7. 什么是管理距离?

管理距离是指一种路由协议的路由可信度。每一种路由协议按可靠性从高到低,依次分配一个信任等级,这个信任等级就叫管理距离。对于两种不同的路由协议到一个目的地的路由信息,路由器首先根据管理距离决定相信哪一个协议。

8. 为什么确定毗邻路由器很重要?

在一个小型网络中确定毗邻路由器并不是一个主要问题。因为当一个路由器发生故障时,别的路由器能够在一个可接受的时间内收敛。但在大型网络中,发现一个故障路由器的时延可能很大。

知道毗邻路由器可以加速收敛,因为路由器能够更快地知道故障路由器,因为hello报文的间隔比路由器交换信息的间隔时间短。

使用距离向量路由协议的路由器在毗邻路由器没有发送路由更新信息时,才能发现毗邻路由器已不可达,这个时间一般为10~90秒。而使用链接状态路由协议的路由器没有收到hello报文就可发现毗邻路由器不可达,这个间隔时间一般为10秒钟。

距离向量路由协议和链接状态路由协议如何发现毗邻路由器?

使用距离向量路由协议的路由器要创建一个路由表(其中包括与它直接相连的网络),同时它会将这个路由表发送到与它直接相连的路由器。

毗邻路由器将收到的路由表合并入它自己的路由表,同时它也要将自己的路由表发送到它的毗邻路由器。使用链接状态路由协议的路由器要创建一个链接状态表,包括整个网络目的站的列表。在更新报文中,每个路由器发送它的整个列表。

当毗邻路由器收到这个更新报文,它就拷贝其中的内容,同时将信息发向它的邻站。在转发路由表内容时没有必要进行重新计算。

注意使用IGRP和EIGRP的路由器广播hello报文来发现邻站,同时像OSPF一样交换路由更新信息。EIGRP为每一种网络层协议保存一张邻站表,它包括邻站的地址、在队列中等待发送的报文的数量、从邻站接收或向邻站发送报文需要的平均时间,以及在确定链接断开之前没有从邻站收到任何报文的时间。

9. 什么是自治系统?

一个自治系统就是处于一个管理机构控制之下的路由器和网络群组。它可以是一个路由器直接连接到一个LAN上,同时也连到Internet上;它可以是一个由企业骨干网互连的多个局域网。

在一个自治系统中的所有路由器必须相互连接,运行相同的路由协议,同时分配同一个自治系统编号。自治系统之间的链接使用外部路由协议,例如BGP。

10. 什么是BGP?

BGP(Border GatewayProtocol)是一种在自治系统之间动态交换路由信息的路由协议。一个自治系统的经典定义是在一个管理机构控制之下的一组路由器,它使用IGP和普通度量值向其他自治系统转发报文。

在BGP中使用自治系统这个术语是为了强调这样一个事实:一个自治系统的管理对于其他自治系统而言是提供一个统一的内部选路计划,它为那些通过它可以到达的网络提供了一个一致的描述。

11. BGP支持的会话种类?

BGP相邻路由器之间的会话是建立在TCP协议之上的。TCP协议提供一种可靠的传输机制,支持两种类型的会话:

  • 外部BGP(EBGP):是在属于两个不同的自治系统的路由器之间的会话。这些路由器是毗邻的,共享相同的介质和子网。
  • 内部BGP(IBGP):是在一个自治系统内部的路由器之间的会话。它被用来在自治系统内部协调和同步寻找路由的进程。

BGP路由器可以在自治系统的任何位置,甚至中间可以相隔数个路由器。注意初始的数据流的内容是整个BGP路由表。但以后路由表发生变化时,路由器只传送变化的部分。BGP不需要周期性地更新整个路由表。

因此,在连接已建立的期间,一个BGP发送者必须保存有当前所有同级路由器共有的整个BGP路由表。BGP路由器周期性地发送Keep Alive消息来确认连接是激活的。当发生错误或特殊情况时,路由器就发送Notification消息。当一条连接发生错误时,会产生一个 notification消息并断开连接。

12. BGP允许路由再分配吗?

允许。因为BGP主要用来在自治系统之间进行路由选择,所以它必须支持RIP、OSPF和 IGRP的路由选择表的综合,以便将它们的路由表转入一个自治系统。

BGP是一个外部路由协议,因此它的操作与一个内部路由协议不同。在BGP中,只有当一条路由已经存在于IP路由表中时,才能用NETWORK命令在BGP路由表中创建一条路由。

责任编辑:赵宁宁 来源: 思科CCIE俱乐部
相关推荐

2019-06-10 13:50:08

Linux命令shell

2020-11-20 14:45:48

HandlerAndroid代码

2020-12-17 08:39:36

Css前端html

2022-12-19 08:05:04

Python速查表知识点

2018-05-20 11:01:47

Siri语音助手手机

2018-10-25 10:36:50

物联网误区IOT

2018-09-02 10:43:02

网络故障处理手段

2010-08-04 15:01:00

2018-06-21 11:03:54

shelllinux命令

2020-02-03 13:55:49

技术研发指标

2021-12-14 18:20:23

Github技巧前端

2021-01-29 23:28:11

程序员语言开发

2021-03-05 18:38:45

ESvue项目

2020-10-14 07:52:36

ES11编程语言开发

2022-11-04 13:06:47

JVMJava程序

2019-04-25 13:10:04

Java 8Stream API编程语言

2021-06-04 10:11:07

鸿蒙安卓操作系统

2020-06-23 10:28:30

软件研发交付

2021-01-07 05:40:13

BLE模块Android

2021-01-12 11:37:09

Python编程语言开发
点赞
收藏

51CTO技术栈公众号