H3CNE学习---静态路由、动态路由协议

一、路由

  1、路由的分类

  

   2、路由协议分类

  

   3、路由优先级

  

   4、负载分担

    对同一路由协议来说,允许配置多条目的地相同且开销也相同的路由。当到同一目的地的路由中,没有更高优先级的路由时,这几条路由都被采纳,在转发去往该目的地的报文时,依次通过各条路径发送,从而实现网络的负载分担。

    目前支持负载分担有静态路由/IPv6静态路由、RIP/RIPng、OSPF/OSPFv3、BGP/IPv6 BGP和IS-IS/IPv6 IS-IS。

  

  5、路由备份

    使用路由备份可以提高网络的可靠性。用户可根据实际情况,配置到同一目的地的多条路由,其中优先级最高的一条路由作为主路由,其余优先级较低的路由作为备份路由。

    正常情况下,路由器采用主路由转发数据。当链路出现故障时,主路由变为非激活状态,路由器选择备份路由中优先级最高的转发数据,实现从主路由到备份路由的切换;当链路恢复正常时,路由器重新选择路由,由于主路由的优先级最高,

  路由器选择主路由来发送数据,实现从备份路由到主路由的切换。

  

  

   6、路由迭代

    对于BGP路由(直连EBGP路由除外)和静态路由(配置了下一跳)以及多跳RIP路由而言,其所携带的下一跳信息可能并不是直接可达,需要找到到达下一跳的直连出接口。路由迭代的过程就是通过路由的下一跳信息来找到直连出接口的过程。

    而对于OSPF和IS-IS等链路状态路由协议而言,其下一跳是直接在路由计算时得到的,不需要进行路由迭代。

    路由迭代信息记录并保存路由迭代的结果,包括依赖路由的概要信息、迭代路径、迭代深度等。

   7、路由共享

    由于各路由协议采用的路由算法不同,不同的路由协议可能会发现不同的路由。如果网络规模较大,当使用多种路由协议时,往往需要在不同的路由协议间能够共享各自发现的路由。

    各路由协议都可以引入其它路由协议的路由、直连路由和静态路由,具体内容请参见本手册中各路由协议模块有关引入外部路由的描述。

    路由共享信息记录了路由协议之间的引入关系。

  8、路由扩展

    路由扩展属性主要是指BGP路由的扩展团体属性以及OSPF路由的区域ID、路由类型和Router ID等。同路由共享一样,路由协议可以引入其它路由协议的路由扩展属性。

    路由扩展信息记录了各路由协议的路由扩展属性以及路由协议扩展属性之间的引入关系。

  华三路由配置文档:http://www.h3c.com/cn/d_201908/1222060_30005_0.htm#_Toc17299626

二、BFD

  1、BFD介绍

  BFD(Bidirectional Forwarding Detection,双向转发检测)提供了一个通用的、标准化的、介质无关、协议无关的快速故障检测机制,可以为上层协议(如路由协议等)统一地快速检测两台路由器间双向转发路径的故障。

  2、配置双向检测

    1)功能简介

      双向检测,即本端和对端需要同时进行配置,通过控制报文检测两个方向上的链路状态,实现毫秒级别的链路故障检测。

      双向检测支持直连下一跳和非直连下一跳。

        直连下一跳是指下一跳和本端是直连的,配置时必须指定出接口和下一跳。

        非直连下一跳是指下一跳和本端不是直连的,中间还有其它设备。配置时必须指定下一跳和BFD源IP地址。

    2)配置直连下一跳双向检测

      配置静态路由与BFD联动。

ip route-static dest-address { mask-length | mask } interface-type interface-number next-hop-address bfd control-packet [ preference preference ] [ tag tag-value ] [ description text ]

      缺省情况下,未配置静态路由与BFD联动。

    3)配置非直连下一跳双向检测

       配置静态路由与BFD联动。

ip route-static dest-address { mask-length | mask } { next-hop-address bfd control-packet bfd-source ip-address } [ preference preference ] [ tag tag-value ] [ description text ]

      缺省情况下,未配置静态路由与BFD联动。

  3、配置单跳检测

    1)功能简介

      单跳检测,即只需要本端进行配置,通过echo报文检测链路的状态。echo报文的目的地址为本端接口地址,发送给下一跳设备后会直接转发回本端。这里所说的“单跳”是IP的一跳。

      静态路由的出接口为处于SPOOFING状态时,不能使用BFD进行检测。

    2)配置步骤

        配置echo报文的源IP地址。

bfd echo-source-ip ip-address

       缺省情况下,未配置echo报文的源IP地址。

     3) 配置静态路由与BFD联动。

ip route-static dest-address { mask-length | mask } interface-type interface-number next-hop-address bfd echo-packet [ preference preference ] [ tag tag-value ] [ description text ]

       缺省情况下,未配置静态路由与BFD联动。

三、静态路由

  1、静态路由简介

    1)静态路由是一种特殊的路由,由管理员手工配置。当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。

    2)静态路由不能自动适应网络拓扑结构的变化。当网络发生故障或者拓扑发生变化后,必须由网络管理员手工修改配置。

  2、缺省路由

    1)缺省路由是在路由器没有找到匹配的路由表项时使用的路由。

    2)如果报文的目的地不在路由表中且没有配置缺省路由,那么该报文将被丢弃,将向源端返回一个ICMP报文报告该目的地址或网络不可达。

    3)缺省路由有两种生成方式:

      第一种是网络管理员手工配置。配置时将目的地址与掩码配置为全零(0.0.0.0 0.0.0.0)。

      第二种是动态路由协议生成(如OSPF、IS-IS和RIP),由路由能力比较强的路由器将缺省路由发布给其它路由器,其它路由器在自己的路由表里生成指向那台路由器的缺省路由。

  3、基本命令

[R1]display ip routing-table                                      查看路由表
[R1]ip route-static 192.168.1.0 255.255.255.0 10.0.12.1 以下一跳,添加静态路由
[R1]ip route-static 192.168.1.0 255.255.255.0 gi0/2 10.0.12.1 以出接口加下一跳,添加静态路由
[R1]ip route-static 192.168.1.0 24 gi0/2 10.0.12.1
[R1]undo ip route-static 192.168.1.0 24 删除一条静态路由
[R1]ip route-static 23.1.1.0 24 21.1.1.2 preference 65 调整静态路由优先级为65
[R2]delete static-routes all 删除所有静态路由

  4、静态路由备份(浮动静态路由)

    浮动静态路由在网络中主路由失效的情况下,会加入到路由表并承担数据转发业务

   5、缺省路由基本命令

[R2]ip route-static 0.0.0.0 0 23.1.1.3                                   添加缺省路由
[R2]display ip routing-table                                    

Destinations : 21       Routes : 21

Destination/Mask   Proto   Pre Cost        NextHop         Interface
0.0.0.0/0          Static  60  0           23.1.1.3        GE0/2         缺省路由
0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0
12.1.1.0/24        Direct  0   0           12.1.1.2        GE0/0
12.1.1.0/32        Direct  0   0           12.1.1.2        GE0/0
12.1.1.2/32        Direct  0   0           127.0.0.1       InLoop0
12.1.1.255/32      Direct  0   0           12.1.1.2        GE0/0

    注意:缺省路由是“替补路由”!!!

四、RIP路由协议

  1、RIP简介

  RIP(Routing Information Protocol,路由信息协议)是一种基于距离矢量(Distance-Vector)算法的内部网关协议(Interior Gateway Protocol,IGP),它通过UDP报文进行路由信息的交换,使用的端口号为520。RIP适用于小型网络。

  2、RIP的度量值

  RIP使用跳数来衡量到达目的地址的距离,跳数称为度量值。在RIP中,路由器到与它直接相连网络的跳数为0,通过一个路由器可达的网络的跳数为1,其余依此类推。为限制收敛时间,RIP规定度量值取0~15之间的整数,大于或等于16的跳数被定义为无穷大,即目的网络或主机不可达。由于这个限制,使得RIP不适合应用于大型网络。

  3、RIP的运行过程

  RIP的运行过程如下:

    1) 路由器启动RIP后,便会向相邻的路由器发送请求报文(Request message),相邻的RIP路由器收到请求报文后,响应该请求,回送包含本地路由表信息的响应报文(Response message)。

    2)路由器收到响应报文后,更新本地路由表,同时向相邻路由器发送触发更新报文,通告路由更新信息。相邻路由器收到触发更新报文后,又向其各自的相邻路由器发送触发更新报文。在一连串的触发更新广播后,各路由器都能得到并保持最新的路由信息。

    3) 路由器周期性向相邻路由器发送本地路由表,运行RIP协议的相邻路由器在收到报文后,对本地路由进行维护,选择一条最佳路由,再向其各自相邻网络发送更新信息,使更新的路由最终能达到全局有效。同时,RIP采用老化机制对超时的路由进行老化处理,以保证路由的实时性和有效性。

  4、RIP防止路由环路的机制

  RIP协议向邻居通告的是自己的路由表,有可能会发生路由环路,可以通过以下机制来避免:

    1)计数到无穷(Counting to infinity):将度量值等于16的路由定义为不可达(infinity)。在路由环路发生时,某条路由的度量值将会增加到16,该路由被认为不可达。

    2)触发更新(Triggered Updates):RIP通过触发更新来避免在多个路由器之间形成路由环路的可能,而且可以加速网络的收敛速度。一旦某条路由的度量值发生了变化,就立刻向邻居路由器发布更新报文,而不是等到更新周期的到来。

    3)水平分割(Split Horizon):RIP从某个接口学到的路由,不会从该接口再发回给邻居路由器。这样不但减少了带宽消耗,还可以防止路由环路。

    4)毒性逆转(Poison Reverse):RIP从某个接口学到路由后,将该路由的度量值设置为16(不可达),并从原接口发回邻居路由器。利用这种方式,可以清除对方路由表中的无用信息。

  5、RIP的版本

  RIP有两个版本:RIP-1和RIP-2

  RIP-1是有类别路由协议(Classful Routing Protocol),它只支持以广播方式发布协议报文。RIP-1的协议报文无法携带掩码信息,它只能识别A、B、C类这样的自然网段的路由,因此RIP-1不支持不连续子网(Discontiguous Subnet)。

  RIP-2是一种无类别路由协议(Classless Routing Protocol),与RIP-1相比,它有以下优势:

    1) 支持路由标记,在路由策略中可根据路由标记对路由进行灵活的控制。

    2)报文中携带掩码信息,支持路由聚合和CIDR(Classless Inter-Domain Routing,无类域间路由)。

    3)支持指定下一跳,在广播网上可以选择到最优下一跳地址。

    4)支持组播路由发送更新报文,只有RIP-2路由器才能收到更新报文,减少资源消耗。

    5)支持对协议报文进行验证,并提供明文验证和MD5验证两种方式,增强安全性。

  RIP-2有两种报文传送方式:广播方式和组播方式,缺省将采用组播方式发送报文,使用的组播地址为224.0.0.9。当接口运行RIP-2广播方式时,也可接收RIP-1的报文。

  6、RIP的基本命令

[R1]rip 1                                                     启动RIP,并进入RIP视图
[R1-rip-1]network 12.1.1.0 0.0.0.255                          宣告网端(在指定网段上使能RIP)缺省情况下,没有网段使能RIP

在单进程情况下,可以使用network 0.0.0.0命令在所有接口上使能RIP。在多进程情况下,无法使用network 0.0.0.0命令

[R1]rip 1
[R1-GigabitEthernet0/1]rip 1 enable                           在端口上使用RIP协议

 五、OSPF

  1、OSPF简介

  OSPF(Open Shortest Path First,开放最短路径优先)是IETF(Internet Engineering Task Force,互联网工程任务组)组织开发的一个基于链路状态的内部网关协议。目前针对IPv4协议使用的是OSPF Version 2。下文中所提到的OSPF均指OSPF Version 2。

  2、OSPF特点

    1)适应范围广:支持各种规模的网络,最多可支持几百台路由器。

    2)快速收敛:在网络的拓扑结构发生变化后立即发送更新报文,使这一变化在自治系统中同步。

    3)无自环:由于OSPF根据收集到的链路状态用最短路径树算法计算路由,从算法本身保证了不会生成自环路由。

    4)区域划分:允许自治系统的网络被划分成区域来管理。路由器链路状态数据库的减小降低了内存的消耗和CPU的负担;区域间传送路由信息的减少降低了网络带宽的占用。

    5)等价路由:支持到同一目的地址的多条等价路由。

    6)路由分级:使用4类不同的路由,按优先顺序来说分别是:区域内路由、区域间路由、第一类外部路由、第二类外部路由。

    7)支持验证:支持基于区域和接口的报文验证,以保证报文交互和路由计算的安全性。

    8)组播发送:在某些类型的链路上以组播地址发送协议报文,减少对其他设备的干扰。

  3、OSPF报文类型

    OSPF协议报文直接封装为IP报文,协议号为89。

    OSPF有五种类型的协议报文:

      1)Hello报文:周期性发送,用来发现和维持OSPF邻居关系,以及进行DR(Designated Router,指定路由器)/BDR(Backup Designated Router,备份指定路由器)的选举。

      2)DD(Database Description,数据库描述)报文:描述了本地LSDB(Link State DataBase,链路状态数据库)中每一条LSA(Link State Advertisement,链路状态通告)的摘要信息,用于两台路由器进行数据库同步。

      3)LSR(Link State Request,链路状态请求)报文:向对方请求所需的LSA。两台路由器互相交换DD报文之后,得知对端的路由器有哪些LSA是本地的LSDB所缺少的,这时需要发送LSR报文向对方请求所需的LSA。

      4)LSU(Link State Update,链路状态更新)报文:向对方发送其所需要的LSA。

      5)LSAck(Link State Acknowledgment,链路状态确认)报文:用来对收到的LSA进行确认。

  4、路由器类型,OSPF路由器根据在AS中的不同位置,可以分为以下四类

    1) 区域内路由器(Internal Router)

    该类路由器的所有接口都属于同一个OSPF区域。

    2) 区域边界路由器ABR

    该类路由器可以同时属于两个以上的区域,但其中一个必须是骨干区域。ABR用来连接骨干区域和非骨干区域,它与骨干区域之间既可以是物理连接,也可以是逻辑上的连接。 

    3) 骨干路由器(Backbone Router)

    该类路由器至少有一个接口属于骨干区域。因此,所有的ABR和位于Area0的内部路由器都是骨干路由器。

    4) 自治系统边界路由器ASBR

    与其他AS交换路由信息的路由器称为ASBR。ASBR并不一定位于AS的边界,它有可能是区域内路由器,也有可能是ABR。只要一台OSPF路由器引入了外部路由的信息,它就成为ASBR。

  5、DR/BDR简介

    在广播网和NBMA网络中,任意两台路由器之间都要交换路由信息。如果网络中有n台路由器,则需要建立n(n-1)/2个邻接关系。这使得任何一台路由器的路由变化都会导致多次传递,浪费了带宽资源。为解决这一问题,

  OSPF提出了DR的概念,所有路由器只将信息发送给DR,由DR将网络链路状态发送出去。另外,OSPF提出了BDR的概念。BDR是对DR的一个备份,在选举DR的同时也选举BDR,BDR也和本网段内的所有路由器建立邻接关

  系并交换路由信息。当DR失效后,BDR会立即成为新的DR。OSPF网络中,既不是DR也不是BDR的路由器为DR Other。DR Other仅与DR和BDR建立邻接关系,DR Other之间不交换任何路由信息。这样就减少了广播网和NBMA

  网络上各路由器之间邻接关系的数量,同时减少网络流量,节约了带宽资源。

  6、DR/BDR选举过程

   DR/BDR是由同一网段中所有的路由器根据路由器优先级和Router ID通过Hello报文选举出来的,只有优先级大于0的路由器才具有选举资格。

  进行DR/BDR选举时每台路由器将自己选出的DR写入Hello报文中,发给网段上每台运行OSPF协议的路由器。当处于同一网段的两台路由器同时宣布自己是DR时,路由器优先级高者胜出。如果优先级相等,则Router ID大者胜出。

  需要注意的是:

    1)只有在广播或NBMA网络中才会选举DR;在P2P或P2MP网络中不需要选举DR。

    2)DR是某个网段中的概念,是针对路由器的接口而言的。某台路由器在一个接口上可能是DR,在另一个接口上有可能是BDR,或者是DR Other。

    3)DR/BDR选举完毕后,即使网络中加入一台具有更高优先级的路由器,也不会重新进行选举,替换该网段中已经存在的DR/BDR成为新的DR/BDR。DR并不一定就是路由器优先级最高的路由器接口;同理,BDR也并不一定就是路由器优先级次高的路由器接口。

  7、OSPF基本命令

[R1]ospf router-id 1.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]display this
#
 area 0.0.0.0
  network 1.1.1.0 0.0.0.255
  network 12.1.1.0 0.0.0.255
#
return
[R1]int g0/0
[R1-GigabitEthernet0/0]ospf authentication-mode simple plain 123       ospf配置认证
<R1>reset ospf process                                                 重置ospf进程,重新收敛路由
Reset OSPF process? [Y/N]:y

  查看接口信息

[R3]display ospf int g0/1


         OSPF Process 1 with Router ID 3.3.3.3
                 Interfaces

 Area: 0.0.0.0

 Interface: 23.1.1.3 (GigabitEthernet0/1)
 Cost: 1       State: DR        Type: Broadcast(广播型链路)    MTU: 1500
 Priority: 1
 Designated router: 23.1.1.3
 Backup designated router: 23.1.1.2
 Timers: Hello 10, Dead 40, Poll 40, Retransmit 5, Transmit Delay 1             每10秒发送一个hello包,40收不到,就认为对方挂了
 FRR backup: Enabled
 Enabled by network configuration

 MTID    Cost      Disabled    Topology name
 0       1         No          base
  <R1>terminal debugging                                                          开始这两条命令,监控ospf的报文情况,排错使用
  The current terminal is enabled to display debugging logs.
<R1>debugging ospf packet
<R1>undo debugging all                                                            关闭调试
原文地址:https://www.cnblogs.com/aqicheng/p/13840622.html