CCNA(五)路由选择协议、RIP协议和实验

注:实验已经在目录中标出,请自寻前往(
实验内容仍然是来自崔北亮老师的书,博客是为了方便寻找知识点和记录实验
滑稽


读者可能觉得CCNA很简单,事实上,CCNA是一个一星期背题库就可以考下来的证书,如果是工作需要,建议去考CCNP、HCIP这些

路由基础

随着计算机网络规模的不断扩大,大型互联网络(如Internet)的迅猛发展,路由技术在网络技术中已逐渐成为关键部分,路由器也随之成为最重要的网络设备。用户的需求推动着路由技术的发展和路由器的普及,人们已经不满足于仅在本地网络上共享信息,而希望最大限度地利用全球各个地区、各种类型的网络资源。

网络互连

把一个网络同其他的网络互连起来,从网络中获取更多的信息和向网络中发布自己的消息,是网络互连的最主要的动力。网络的互连有多种方式,其中使用最多的是交换机互连和路由器互连。

交换机互连网络

交换机工作在OSI模型中的第二层,即数据链路层。完成数据帧(Frame)的转发,主要目的是在连接的网络间提供透明的通信。交换机的转发依据数据帧中的源地址和目的地址来判断一个帧是否应转发和转发到哪个端口。帧中的地址称为“MAC”地址或“硬件”
地址,一般就是网卡的地址。
交换机的作用是把两个或多个网络互连起来,提供透明的通信。网络上的设备看不到交换机的存在,设备之间的通信就如同在一个网上一样方便。由于交换机是在数据帧上进行转发的,因此只能连接相同或相似的网络(相同或相似结构的数据帧),如以太网之间、以太网与令牌环之间的互连,对于不同类型的网络(数据帧结构不同),如以太网与X.25之间的互连,交换机就无能为力了。
交换机扩大了网络的规模,提高了网络的性能,给网络应用带来了方便,在以前的网络中,交换机的应用较为广泛。但交换机互连也带来了不少问题:
第一个问题是广播风暴,交换机不能阻挡网络中广播消息,当网络的规模较大时(几个交换机、多个以太网段),有可能引起广播风暴,导致整个网络被广播信息充满,直至完全瘫痪。
第二个问题是网络互连,交换机是数据链路层的设备,无法完成不同IP网段间的互连,也就是不管互连的设备有多少台,这些设备只能在同一个IP子网中,如果一个部门和另一个部门处在不同的IP子网中,交换机将不能完成网络的互连。
第三个问题是网络安全,交换机无法实现连接不同的IP子网,解决的办法就是把两边的网络设备配置在同一个IP子网中,当与外部网络互连时,把内部和外部网络合二为一,成为一个网,双方都向对方完全开放自己的网络资源,出于安全考虑,这在很多网络中都是不允许的。
2.路由器互连网络
路由器互连与网络的协议有关,本书仅讨论TCP/IP网络的情况。路由器工作在OSl模型中的第三层,即网络层。路由器利用网络层定义的“逻辑”地址(即IP地址)来区别不同的网络,实现网络的互连和隔离,保持各个网络的独立性。路由器不转发广播消息,而把广播消息限制在各自的网络内部。发送到其他网络的数据包先被送到路由器,再由路由器转发出去。
IP路由器只转发IP分组,把其余的部分挡在网内(包括广播),从而保持各个网络具有相对的独立性,这样可以组成具有许多网络(子网)互连的大型的网络。由于是在网络层的互连,路由器可方便地连接不同类型的网络,只要网络层运行的是IP协议,通过路由器就可互连起来。
网络中的设备用它们的网络地址(TCP/IP网络中为IP地址)互相通信。IP地址是与硬件地址无关的“逻辑”地址。路由器根据IP地址来转发数据,IP地址的结构有两部分,一部分定义为网络号,另一部分定义为网络内的主机号。目前,在Internet网络中采用子网掩码来确定IP地址中的网络地址和主机地址。子网掩码与IP地址一样,也是32bit,并且两者是一一对应的,并规定子网掩码中数字为“1”所对应的IP地址中的部分为网络号,为“0”所对应的则为主机号。网络号和主机号合起来,才构成一个完整的IP地址。同一个网络中的主机IP地址,其网络号必须是相同的,这个网络称为lP子网。
有相同网络号的主机之间可以直接通信,要与其他IP子网的主机进行通信,则必须经过同一网络上的某个路由器或网关(gateway)实现。不同网络号的IP地址不能直接通信,即使它们连接在一起,也不能通信。
路由器有多个端口,用于连接多个IP子网,每个端口的IP地址的网络号要与所连接的IP子网的网络号相同。不同的端口对应不同的IP子网,路由器多个端口的网络号必须不同。
如表5-1-1所示为路由技术和交换技术的比较。

对比项目 路由技术 交换技术
被传输的数据单元 数据包
被链接的网络 具有不同物理特性的网络 具有相同物理特性的局域网
网络互联设备 路由器 网桥或者交换机

路由原理

路由选择发生在网络层,主要由路由器来完成,路由器可以将LAN连接到WAN上,或者将两个使用不同介质访问控制子层的LAN连接起来。路由器的工作就是接收信息分组,根据当前网络的状况将其导向最有效的路径。路由器也被称为转存设备,因为它在内存中存储收到的信息分组,直到它被发送出去。在路由器中的路由表必须实时更新,以准确地反映当前的网络状态,找到一条最合适的分组传送路线。网络拓扑信息可以被网络管理员配置(静态),也可以通过动态方法在网络上收集
当IP子网中的一台主机发送IP分组给同一IP子网的另一台主机时,它将直接把IP分组送到网络上,对方就能收到。而要送给不同IP子网上的主机时,它要选择一个能到达目的子网的路由器,把IP分组送给该路由器,由路由器负责把IP分组送到目的地。一般的主机都配置了“默认网关”(default gateway),“默认网关”是每台主机上的一个配置参数,它是接在同一个网络上的某个路由器端口的IP地址,主机把所有未知网络的IP分组都发送给“默认网关”,也就是出口路由器。在如图4-4-1所示的真实计算机上使用“route print”,显示当前的主机路由,如图5-1-1所示,其中上面画线的一行是主机的默认路由,默认路由的出口(192.168.1.1)是和计算机在同一网段的路由设备接口的IP地址;下面画线的一行是计算机的本地路由,去往192.168.1.0的数据包将直接从网卡发出,不再发往路由器。还可以使用“route add”命令添加路由,“route delete”命令删除路由,有关route add/delete命令的使用方法,可以使用“route/?”命令查看在线帮助。
在这里插入图片描述
路由器转发IP分组时,只根据IP分组目的IP地址的网络号部分选择合适的端口,把IP分组发送出去。同主机一样,路由器也要判定端口所连接的是否是目的子网,如果是,就直接把分组通过端口发送到网络上;否则,也要选择下一个路由器来传送分组。路由器也有它的默认网关,称做默认路由,用来传送不知道往哪里送的IP分组。这样,通过路由器把知道如何传送的IP分组正确转发出去,不知道的IP分组送给“默认网关”路由器,这样一级级地传送,IP分组最终被送到目的地,送不到目的地的IP分组则被网络丢弃。
目前TCP/IP网络,全部是通过路由设备互连起来的,Intermet就是成千上万个IP子网通过路由设备互连起来的国际性网络。这种网络称为以路由器为基础的网络,形成了以路由器为结点的互联网。在互联网中,路由器不仅负责对IP分组的转发,还要负责与其他的路由器进行联络,共同确定互联网的路由选择和维护路由表。
路由包括两个基本动作:寻址和转发。寻址即寻找到达目的地的最佳路径,由路由选择算法来实现。网络中的寻址方式有两种:

  • 直接寻址:源主机与目的主机在相同网络中。在物理网络内部确定主机间的数据传输路径,不经过路由器
  • 间接寻址:源主机与目的主机在不同网络中,当主机需要向不在同一网络中的主机发送分组时,主机先要使用数据链路层地址和路由器的一个接口通信。路由器检查接收分组,确定分组的目的网络,然后参照路由表,决定分组应从哪个接口发送出去,并用外出接口的数据链路层地址进行封装,接着再排队准备被转发,最后在日的网络中用直接寻址方法到达目的主机

直接寻址发生在第二层,根据物理地址来进行。间接寻址在第三层完成,依据是IP地址。路由技术就是指为IP数据包在通信子网中寻找传输路径,采用间接寻址方式将数据包逐站传递,直至最终设备。由于涉及不同的路由选择协议和路由选择算法,要相对复杂一些。为了判定最佳路径。首先要选择一种路由协议,不同的路由协议使用不同的度量值
所调度量值,即判断传输路径好坏的评价标准。度量值包括:跳数(Hop count.即经过路由器的数量)、Bandwidth(带宽)、Delay(延时)、Reliability(可靠性)、Load(负裁)Ticks(滴答数)和Cost(花费)等。路由选择算法必须启动并锥护包含路由信息的路由表,其中路由信息依赖于所用的路由选择算法而不尽相同。路由选择算法将收集到的不同信息填入路由表中,根据路由表可将目的网络与下一站(next-hop)的关系告诉路由器,路由器间互通信息进行路由更新,更新维护路由表使之正确反映网络的拓扑变化,并由路由器根据度量值来决定最佳路径,这就是路由协议(Routing protocol),例如RIP(Route Information Protocol,路由信息协议)、EIGRP(Enhanced Interior Gateway Routing Protocol,增强型内部网关路由协议)、OSPF(Open Shortest-Path First,开放式最短路径优先协议)和BGP(Border Gateway Protocol,边界网关协议)等。
转发即沿寻址好的最佳路径传送信息分组。路由器首先在路由表中查找,判明是否知道如何将分组发送到下一个站点(路由器或主机),如果路由器不知道如何发送分组,通常将该分组丢弃:否则就根据路由表的相应表项将分组发送到下一个站点,如果目的网络直接与路由器相连,路由器就把分组直接发送到相应的端口上。

路由协议

在讲路由协议之前,搞清楚被路由协议和路由协议这两个概念很重要,它们经常出现且容易被混淆,CCNA考试中要求考生能正确区分路由协议(Routing protocol)和被路由协议(Routed protocol)的区别。
Routing protocol 被翻译成路由协议。路由器使用动态路由协议在互联网上动态发现所有网络,用来构建动态路由表,CCNA中涉及的路由协议有RIP、EIGRP、OSPF等。
Routed protocol被翻译成被路由协议,有时也称为可路由协议。被路由协议按照路由协议构建的路由表来通过互联网转发用户数据.被路由协议包括IP、IPX、AppleTalk等。一个协议要成为可路由的,必须要给每一个设备提供这样的能力,支持网络号和主机号。比如IPX,只要求分配网络号,因为它们使用主机的MAC地址作为主机号:再比如IP,包括网络号和主机号。而NetBIOS仅包括计算机名,是一个不可以被路由的协议,路由器的路由选择是基于目标主机的网络地址,而不是基于目标主机的IP地址。
它们是相互配合又相互独立的概念,被路由协议使用路由协议维护的路由表,同时,路由协议要利用被路由协议提供的功能来发布路由协议数据分组。可以把被路由协议想象成卡车,用来运输最终的货物。把路由协议想象成人的大脑,根据货物要到达的目的地来为卡车选择正确的传输路线。
路由协议有直连、静态和动态之分,如图5-1-2所示。动态路由协议根据所处的AS
(Autonomic Systems,自治系统)不同,又分为IGP(Interior Gateway Protocol,内部网关协议)和EGP(Exterior Gateway Protocol,外部网关协议),这里的自治系统是指一个具有统一管理机构、统一路由策略的网络。IGP协议是指在同一个AS内运行的路由协议,IGP协议又分为距离矢量路由协议和链路状态路由协议。EGP协议是指运行在不同AS之间的路由协议,目前使用最多的是BGP协议,BGP协议也属于动态路由协议,BGP协议对配置人员的要求比较高,多数人不会在实际工作环境中遇到,BGP是CCNP中的内容,CCNA不要求掌握,本书不对BGP做过多叙述。
在这里插入图片描述

直连路由和实验

根据路由器学习路由信息、生成并维护路由表的方式,路由分为:直连路由(Connect routing)、静态路由(Static routing)和动态路由(Dynamic routing)。直连路由是由数据链路层协议发现的,是指去往路由器的接口地址所在网段的路径,该路径信息不需要网络管理员维护,也不需要路由器通过某种算法进行计算获得,只要该接口处于激活状态(Active),路由器就会把直连接口所在网段的路由信息填写到路由表中去
使用CCNA机架中的路由器R1、R2、R3,它们之间的连接和IP地址分配如图5-2-1所示。本章的实验均在如图5-2-1所示的拓扑中完成。
(不用主机的话实验会好做一点,不用考虑家里复杂的无线局域网)
在这里插入图片描述
R1:

en
conf t
no cdp run
host R1
int s1/1
ip add 12.1.1.1 255.255.255.0
no shut
int fa 0/0
ip add 13.1.1.1 255.255.255.0
int lo0
ip add 1.1.1.1 255.255.255.0
int s1/2
ip add 8.8.8.8 255.255.255.0
no shut

查看接口:
在这里插入图片描述
注意此处没有使用no shut激活fa0/0端口
而且还有一个隐含的布线:s1/2并没有连线,所以路由表中没有

R2

en
conf t
no cdp run
host R2
int s1/0
ip add 12.1.1.2 255.255.255.0
no shut
int s1/1
ip add 23.1.1.2 255.255.255.0
no shut
int lo0
ip add 2.2.2.2 255.255.255.0

在这里插入图片描述
R3

en
conf t
no cdp run
host R3
int s1/0
ip add 23.1.1.3 255.255.255.0
no shut
int fa 0/0
ip add 13.1.1.3 255.255.255.0
no shut
int lo0
int loopback 0
ip add 3.3.3.3 255.255.255.0

在这里插入图片描述
看到路由器R3的路由表,读者可能会问,R1的Fa0/0接口的IP地址无效,R3的Fa0/0接口的IP地址怎么有效了呢?原因是R1和R3的Fa0/0接口并没有直接连接,中间还有一台交换机。
打开fa 0/0
之后
在这里插入图片描述在这里插入图片描述
为何路由器R1去往12.1.1.2可以到达,去往2.2.2.2却失败呢?原因是路由器中数据的流动情况是:当从局域网中接收到一个包时,在进入RAM之前,首先检查它的第二层头信息,如果是发往本路由器的,第二层头信息被剥掉,放入RAM中。在RAM里,路由器检测包第三层的头信息,CPU同时搜索路由表并匹配第三层地址,以决定包应向哪里输出,以及以怎样的方式进行封装。路由器对本路由器发起的数据包也要查询路由表,决定转发接口。
当在R1上ping12.1.1.2时,R1查询自己的路由表,去12.1.1.0/24的包应该从Serial/1接口发出去,R1和R2之间是串行的点对点线路,数据链路层封装PPP或HDLC。R2收到R1发过来的数据包,R2检查数据包中的目的IP地址,发现与本路由器接口的IP地址相同,是发往本路由器的。R2也获知该ping包(Echo request)来自12.1.1.1,R2查询自己的路由表,把ping包的应答包(Echo reply)从Seriall/0接口发回去,R1收到了R2的应答包,结果是R1成功地ping通了R2。
当在R1上ping2.2.2.2时,R1查询自己的路由表,发现路由表中没有去往2.2.2.2的路由,R1丢弃该数据包,结果是R1上ping2.2.2.2失败。
同理,路由器Rl、R2和R3相互之间都可以ping通直连接口的IP地址,ping不通非直连的IP地址。

静态路由和实验

配置静态路由

在5.2节中,R1无法ping通2.2.2.2,有什么办法可以让R1能ping通该IP地址呢?解决的办法之一就是配置静态路由,静态路由就是网段之间的路由需要管理员手工加入。在图5-2-1中,如果路由器R1知道把去往2.2.2.2的数据包发给R2,R2查询ping包的源IP地址,发现是来自12.1.1.1的数据包,R2查询本地的路由表,发现12.1.1.0/24是直连路由,R2把ping的应答包从S1/0接口发出,R1收到应答包,ping成功。关键是管理员如何通知路由器R1去往2.2.2.2的数据包要发往R2呢?这就需要添加静态路由,添加静态路由的命令格式如下:
Ip route 目标网络 掩码 下一跳路由器直连接口的IP地址或本路由器的外出接口 administrative_distance permanent
“目标网络”是要去往的目标网络地址;“掩码”是目标网络对应的子网掩码:至于是使用下一跳路由器直连接口的IP地址还是使用本路由器的外出接口,下面有具体的解释:
administrative distance是管理距离,本章最后一节介绍管理距离。指定了管理距离的静态路由叫做“浮动静态路由”,浮动静态路由在链路备份的场合被广泛使用,本书将在下一章中介绍浮动静态路由的使用;permanent(永久)是一个关键字参数,如果路由器的接口被关闭或和下一跳路由器失去连接,将导致添加的静态路由也从路由表中消失,使用permanent参数,不管发生了什么意外情况,该静态路由不会从路由表中消失

路由器R1使用如下的命令,添加去往2.2.2.0/24的静态路由。
Rl(config)#ip route 2.2.2.0 255.255.255.0 12.1.1.2
或者
RI(config)#ip route 2.2.2.0 255.255.255.0 s1/1
对于命令中的
ip route 2.2.2.0 255.255.255.0 12.1.1.2
,其中,2.2.2.0是要到达的目标网络,在静态路由中需要添加所有的非直连网络;255.255.255.0是目标网络对应的子网掩码:12.1.1.2是与本路由器直接相连的下一跳路由器的接口地址,这里特别要注意的是,即使要到达的网络与本路由器相隔数台路由器,这里填入的还是下一跳地址,而不是目标网络的前一跳,也就是说,在静态路由中,只需要指出下一跳的地址,至于以后如何指向,那是下一跳路由器考虑的事情。第二条命令中填入的不是IP地址,而是路由器R1的外出接口。
这两条命令的结果是相同的,都是在R1上添加一条去往2.2.2.0/24网段的路由。至于填的是下一跳的地址,还是本路由器的外出接口,还是有差别的。

  • 区别一:上面一条命令引用的是下一跳路由器和本路由器相连接口的IP地址,该路由的管理距离是1;下面一条命令引用的是本路由器的外出接口,该路由的管理距离是0。
  • 区别二:本路由器出口命令仅能用在点对点的链路上,比如本例中的串行线路,串行线路在数据链路层封装的是一种协议,如HDLC(High Level Data Link Control protocol,高级数据链路控制协议)或PPP(Point-to-Point Protocol,点对点协议),这两个协议使用在点对点的链路上,一台设备发送数据,另一台设备就能收到;如果串行线路封装的是帧中继(Frame-relay)协议,因为帧中继链路默认是NBMA(Non-Broadcast Multiple Access,非广播多路访问),也是多路访问链路,那时也需要指向下一跳路由器的接口IP地址,而不能是外出接口。如果是以太网这种多路访问的链路,指外出接口,路由器将不知道把包发往哪一台路由器,路由器不知道要发往哪一个IP地址,自然也就无法完成ARP的解析过程,在不知道下一跳设备MAC地址的情况下,无法完成ping包的数据封装。同理,在多路访问的帧中继链路上,因不知道具体使用哪一条PVC(Permanent Virtual Circuit,,永久虚电路),也不能指外出接口。

接下来证明使用本路由器外出口还是使用下一跳路由器接口IP地址的区别,顺带讲解第2章介绍的Proxy ARP(代理ARP)的使用,本章视频部分也有相应的讲解。
使用下面的命令在路由器R1上添加静态路由:

ip route 2.2.2.0 255.255.255.0 12.1.1.2 
ip route 23.1.1.0 255.255.255.0 13.1.1.3
ip route 3.3.3.0 255.255.255.0 13.1.1.3

去往23.1.1.0/24的数据包从R2和R3均可到达,这里选择从R3走的原因是因为,R1和R3之间的链路是100Mb/s,R1和R2之间的链路是1.544Mb/s。因为以太网是多路访问的网络,这里只能填下一跳的IP地址,而不能是路由器R1的外出接口。值得注意的是,有的读者配置错误,这里填成了路由器R1的外出接口,结果却发现R1可以ping通23.1.1.3。
这里要知道R1虽然能ping通R3的23.1.1.3,并不只是配置的静态路由起作用,还有思科路由器以太网接口的代理ARP(Proxy ARP)在起作用,二者共同起作用,结果RI可以ping通。如果在Rl上不指明外出接口,路由器Rl不知道从哪个接口向外广播,ping失败;如果R3的Fa0/0接口开启Proxy ARP,路由器R3收到R1发过来的广播包,请求的源IP地址是13.l.1.1,和路由器R3接收到广播的Fa0/0接口的IP地址13.1.1.3处在同一网段,且R3上有去往23.1.1.0/24的路由,这就满足了代理ARP执行的两个条件:

  • 条件一:ARP请求的源IP地址和路由器接口的IP地址处在同一个子网中
  • 条件二:路由器有ARP请求的IP地址的路由

路由器R3用自己Fa0/0接口的MAC地址作为应答。有关这一点可以通过下面的命令取消前面的配置:

Rl(config)#no ip route 23.1.1.0 255.255.255.0 13.1.1.3
R1(config)#no ip route 3.3.3.0 255.255.255.0 13.1.1.3换成:
Rl(config)#ip route 23.1.1.0 255.255.255.0 Fa0/0
R1(config)#ip route 3.3.3.0 255,255,255.0 Fa0/0

然后在路由器R1上分别ping3.3.3.3和ping 23.1.1.3,结果可以ping通,使用show arp命令进行验证,显示结果如下:
在这里插入图片描述
从上面的输出中可以看到3.3.3.3和23.l.l.3都出现在Rl的ARP缓存中,对应的MAC地址都是路由器R3Fa0/0接口的MAC地址。使用下面的命令清除路由器R1的ARP缓存:
R1#clear arp
再关闭路由器R3的代理ARP,命令如下:

R3(config)#int fa 0/0
R3(config-if)#no ip proxy-arp

再次在路由器R1上ping3.3.3.3和ping23.1.1.3,结果ping不通了。通过上面的操作,验证了在多路访问的情况下,配置静态路由只能用下一跳,而不能使用本路由器的外出接口,有关这一点,读者一定要记住,因为笔者发现很多讲师和工程师都容易忽视这一点。
使用下面的命令在路由器R2上添加静态路由:

R2(config)#ip route 1,1.1.0 255.255,255.0 12.1.1.1 
R2(configJ#ip route 3.3.3.0 255.255.255.0 23.1.1.3
R2(config)#ip route 13,1.1.0 255.255.255.0 12.1.1.1成S1/0,成23.1.1.3,a成s1/1均可,也就是去往13.1,1.0/24网段,从R2和R3走没有区别。

使用下面的命令在路由器R3上添加静态路由:

R3(config)#ip route 2.2.2.0 255.255.255.0 23.1.1.2 成51/0
R3(config]#ip route 1.1,1.0 255.255.255.0 13.1.1.1考越R3和R1之间是100Nb/3,R3和R2之间是1.544N0/s,所以优先考感使用R1,从100Mb/s链路走。
R3(config)*ip route 12.1.1.0 255.255.255.0 13.1.1.1同上

下面总结一下配置静态路由的一般步骤。
步骤1:为路由器每个接口配置IP地址。
步骤2:确定本路由器有哪些直连网段。
步骤3:确定网络中有哪些属于本路由器的非直连网段。
步骤4:在路由表中添加所有非本路由器直连网段的相关路由信息。

静态路由的优缺点

经过前面的学习,读者已经掌握了静态路由的配置。同所有路由协议一样,静态路由协议也有自己的优缺点。了解每种路由协议的优缺点,有利于根据网络规模的状况,正确地选择适合的路由协议。静态路由具有以下的优点:·对CPU、内存等硬件的需求不高。静态路由不像动态路由协议,需要缓存相互间交换的路由信息,并执行一些算法,这意味着静态路由对CPU和内存的要求不高。·不占用带宽。静态路由不像动态路由协议,需要相互间交换网络信息或路由表,这意味着静态路由可以节省带宽。
·增加网络安全。静态路由是网络管理员手工添加的,即使不同的网络之间存在物理路径,只要管理员没有添加它们之前的静态路由,网络也是不可达的。不像动态路由协议,不容易实现网络间的控制。
静态路由具有以下的缺点:
·配置工作量大且容易出错。由于所有的路由都需要管理员手工加入,对大型网络来说,这几乎是不可能的,而且容易出错。当某个新的网络出现时,管理员必须在所有路由器上添加这条静态路由。
·适应拓扑变化的能力较差。回想图5-2-1中路由器R1、R2和R3的静态路由配置,如果断开路由器R1和R3之间的链路,将导致路由器R1无法到达3.3.3.3,事实上R1是有物理路径可以到达3.3.3.3的,那就是从R2绕行,可是静态路由不能适应网络拓扑的变化,动态地调整路由走向。

默认路由

默认路由(Default routing)在有些文档中也称做缺省路由,使用默认路由可以转发那些不在路由表中列出的远端目的网络的数据包到下一跳路由器。在存根网络(只有一条连接到其邻居网络的网络,进、出这个网络都只有一条路可以走)上可以使用默认路由,因为这些网络与外界之间只有一个连接。如图5-4-1所示是某公司的网络拓扑,该公司通过路由器接入ISP,通过ISP路由器218.1.1.I访问整个lnternet。如果使用的是基于类的静态路由,则需要在公司出口路由器上添加所有的A类、B类、C类IP地址,一般低端的路由器根本无法承受如此多的路由条目。针对图5-4-l中的网络拓扑,公司路由器最好的配置方法是使用默认路由,默认路由的配置方法与静态路由类似,只是网络地址和子网掩码改成了
“0.0.0.00.0.0.0”即8个0。公司出口路由器默认路由的配置如下:
Routericonfig)*ip route 0.0.0.0 0.0.0.0 218.1,1.1

管理距离

管理距离(Administrative Distance,简称AD),有的文档中也翻译成管辖距离,是用来衡量路由可信度的一个参数。管理距离越小,路由越可靠,这意味着具有较小管理距离的路由将优于较大管理距离的路由,管理距离的取值范围为0~255的整数值,0是最可信的,255是最不可信的。如果一台路由器收到同一个网络的两个路由更新信息,路由器将把管理距离小的路由放入路由表中。表5-5-2列出了思科所支持协议的默认管理距离值。
在这里插入图片描述

路由选路原则

当一个目标地址被多个目标网络覆盖、一个目标网络的多种路由协议的多条路径共存时,或者当一个目标网络同一种路由协议的多条路径共存时,路由器应该如何进行路由的选择?这一部分内容经常被CCNA考到,出现的形式大多是列出路由表的多个条目,然后问去往某一个IP地址的数据包将发往哪里?
牢记本节的路由选路原则,这样的问题将迎刃而解。路由器依照下列的选路原则进行路由选择。
(1)子网掩码最长匹配
也就是如果一个目标地址被多个目标网络覆盖,它将优先选择最长的子网掩码的路由,匹配得更精确。比如到达10.0.0.1的网络有两个:10.0.0.0/24的下一跳是12.1.1.2,10.0.0.0/16的下一跳是13.1.1.3,则路由器更相信子网掩码长的10.0.0.0/24的路由,因为掩码长度24大于16,路由器把数据包发往12.1.1.2。如果路由器上有发往10.0.1.1的数据包,将选择10.0.0.0/16路由,因为目标地址10.0.1.1不包括在路由条目10.0.0.0/24内。
(2)管理距离最小优先
在子网掩码长度相同的情况下,路由器优先选择管理距离小的路由。比如,到达10.1.1.0/24的路由有两条,一条是通过RIP学习来的,另外一条是通过OSPF学习来的,则路由器相信OSPF学习来的路由,因为它有更小的管理距离110,RIP的管理距离是120。
RIP和OSPF学来的有关10.0.0.0/24的路由会不会同时出现在路由表中呢?回答是不会,因为路由器中只保存最优的路由,只有OSPF学到的路由会出现在路由表中,如果 OSPF学到的路由消失,RIP学到的路由将出现在路由表中。这一条和第一条是没有冲突的,路由条目10.0.0.0/16和10.0.0.0/24的掩码长度不同,它们是不同的路由条目,不同的路由条目当然可以同时存在路由表中。
(3)度量值最小优先
如果路由的子网掩码长度相同,管理距离也相等,接下来比较的就是度量值。比如路由器通过RIP路由协议学到了10.0.0.0/24的两个条目,一个条目的跳数(hop)是2,另一个条目的跳数是3,RIP将使用哪一个条目呢?RIP比较的是跳数,跳数越少越优先。跳数是2的条目将被添加到路由表中,跳数是3的条目不会出现在路由表中,如果跳数是2的路由条目消失,跳数是3的路由条目才会出现在路由表中。

距离矢量和链路状态路由协议

IGP路由协议可以被分为两类:距离矢量(Distance vector)和链路状态(Link state)。
距离矢量和链路状态采用了不同的路由算法,路由算法在路由协议中起着至关重要的作用,采用何种算法往往决定了最终的寻径结果,因此选择路由算法一定要仔细。通常需要综合考虑以下几个设计目标:
·最优化:指路由算法选择最佳路径的能力。
·简洁性:算法设计简洁,利用最少的开销,提供最有效的功能。
·坚固性:路由算法处于非正常或不可预料的环境时,如硬件故障、负载过高或操作失误时,都能正确运行。由于路由器分布在网络连接点上,所以在它们出故障时会产生严重后果。最好的路由器算法通常能经受住时间的考验,并在各种网络环境下被证实是可靠的。
·快速收效(Convergence):路由收敛是指路由域中所有路由器对当前的网络结构和路由转发达成一致的状态。收敛时间是指从网络的拓扑结构发生变化到网络上所有的相关路由器都得知这一变化,并且相应地做出改变所需要的时间。当某个网络事件引起路由可用或不可用时,路由器就发出更新信息。路由更新信息遍及整个网络,引发重新计算最佳路径,最终达到所有路由器一致公认的最佳路径。收敛慢的路由算法会造成路径环路或网络中断。
·灵活性:路由算法可以快速、准确地适应各种网络环境。例如,某个网段发生故障,路由算法要能很快发现故障,并为使用该网段的所有路由选择另一条最佳路径。
1.距离矢量路由协议
距离矢量路由选择算法定期地将路由表的拷贝从一个路由器发往另一个路由器。这些在路由器间的定期更新交流了网络的路由信息和变化,基于距离矢量的路由选择算法也称为贝尔曼-福特(Bellman-Ford)算法。RIP和IGRP都是距离矢量路由协议,它们都定期地发送整个路由表到直接相邻的路由器。EIGRP也属于距离矢量路由协议,但EIGRP是一个高级的距离矢量路由协议,同样具备很多链路状态路由协议的特征。
2.链路状态路由协议
链路状态路由协议也称为最短路径优先协议,链路状态路由协议使用的算法是最短路径优先(Shortest Path First,SPF)算法,有时也称Dijkstras算法。链路状态路由协议一般要维护3个表:一个是邻居表,用来跟踪直接连接的邻居路由器;一个是拓扑表,保存整个网络的拓扑信息数据库;还有一个是路由表,用来维护路由选择信息。链路状态路由器维护着远端路由器及其互连情况的全部信息,路由选择算法根据拓扑数据库执行SPF算法,链路状态路由选择协议不易出现路由环路问题。
在这里插入图片描述

RIP协议

RIP协议我快速阅读了一下,知识点整理了一些,不再单独开章节。但是RIP协议是重要并且并非容易的内容,推荐大家认真学习,认真做实验。
在这里插入图片描述

  • RIP的管理距离是120,配置分部静态网络大于这个管理距离就可以起到备用网络的作用。
发布了165 篇原创文章 · 获赞 24 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/treblez/article/details/105480915