2-18动态路由

一、动态路由协议基础

一(1)、常用的动态路由协议

距离矢量型:RIP、BGP
链路状态型:OSPF、IS-IS

一(2)、衡量动态路由协议好坏的指标

  • 正确性:能够正确找到最优的路由,并且不会产生环路
  • 快收敛:当网络的拓扑结构发生了变化以后,能够迅速学习到网络中变化的路由,这个学习速度的快慢,我们称为收敛时间
  • 低开销:协议自身的开销(内存,CPU,网络带宽等)
  • 安全性:协议自身不易受到攻击,有安全机制
  • 普适性:该协议是否可以使用各种拓扑结构及网络规模

一(3)、思考问题

  1. 常见的动态路由协议有哪些?
    矢量型:RIP、BGP
    链路状态型:OSPF、IS-IS

  2. 动态路由协议按照使用范围可以分为哪几类?按照使用算法呢?
    范围:网关协议(EGP)、边界网关协议(BGP)
    算法:距离矢量型、链路状态型

  3. 静态路由的负载分担和备份的区别是什么?
    路由备份和负载分担各有优点,负载分担是两个路由都能一起使用。而路由备份是其中一条主路由down掉,启用备份路由。

  4. 什么是缺省路由(默认路由) ?
    缺省路由(Default Route)是路由表中一种特殊的静态路由,当网络中报文的路由无法匹配到当前路由表中的路由记录时,缺省路由用来指示路由器或网络主机将该报文发往指定的位置

  5. 什么是等价路由?
    等价路由(ECMP)即为到达同一个目的 IP 或者目的网段存在多条 Cost 值相等的不同路由路径。

二、RIP动态路由

二(1)、RIP动态路由协议的基本配置

  • 配置路由AR1,如下图
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 12.1.1.1 24
Apr  6 2022 10:41:03-08:00 R1 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP
on the interface GigabitEthernet0/0/0 has entered the UP state.
[R1-GigabitEthernet0/0/0]int lo0
[R1-LoopBack0]ip add 1.1.1.1 24
[R1-LoopBack0]
  • 配置路由AR2,如下图
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 12.1.1.2 24
Apr  6 2022 10:46:08-08:00 R2 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP
on the interface GigabitEthernet0/0/1 has entered the UP state.
[R2-GigabitEthernet0/0/1]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 12.1.1.2 24
Error: The specified address conflicts with another address.
[R2-GigabitEthernet0/0/0]int  lo0
[R2-LoopBack0]ip add 2.2.2.2 24
  • 配置路由AR3
[R3]int g0/0/01
[R3-GigabitEthernet0/0/1]ip add 23.1.1.3 24
[R3-GigabitEthernet0/0/1]
Apr  6 2022 10:51:39-08:00 R3 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP
on the interface GigabitEthernet0/0/1 has entered the UP state.
[R3-GigabitEthernet0/0/1]int lo0
[R3-LoopBack0]ip add 3.3.3.3 24

查看路由配置disp ip int bri

  • 查看路由配置R1是否正确[R1]disp ip int bri,并R1>ping 12.1.1.2,如下图

  • 查看路由配置R2, R2>ping 23.1.1.3,如下图

  • 查看路由配置R3

  • 路由器R1查看路由表[R1]disp ip rout,在R1的路由表中只有直连的,没有R3的.如下图:

  • R1>ping 2.2.2.2不通,所以要在R1上面加动态路由.先进入<R1>,再进入[R1],输入[R1] rip启动rip进程。在华为里面不能用network 1.1.1.1,只能用[R1-rip-1] network 1.0.0.0[R1-rip-1] network 12.0.0.0宣告直连的主类网络,不能用[R1-rip-1] network 1.1.1.1[R1-rip-1] network 12.1.1.1

  • R2宣告直连的网络

[R2-rip-1]net 12.0.0.0
[R2-rip-1]net 23.0.0.0
[R2-rip-1]net 2.0.0.0
[R3-rip-1]undo network 12.0.0.0
  • R3宣告直连的网络,注意这里是直连网络,所以[R3-rip-1]net 12.0.0.0是没有意义的。[R3-rip-1]undo network 12.0.0.0就是删除,如果不删除就会出错.
[R3]rip
[R3-rip-1]net 23.0.0.0
[R3-rip-1]net 3.0.0.0
[R3-rip-1]net 12.0.0.0
[R3-rip-1]undo network 12.0.0.0
  • 查看R1路由表[R1]disp ip routing-table.proto表示来源,3个地址来自rip, Pre就是优先级,如下图:

  • 查看R2路由表[R2]disp ip routing-table,查看R3路由表[R3]disp ip routing-table

  • 最后我们ping任何一个路由都是可以通的

二(2)、RIP动态路由协议的工作过程

  • 运行RIP路由器,每过30秒,会把自己完整路由表发送给之间相连的邻居,并且发送出去的时候以跳数加+1发出去
  • 在RIP中是以跳数作为度量值的。
  • 当R2收到R1的路由表以后,先检查自己路由表,如果自己的路由表中没有就学习,如有,则比较度量值,R2 会把度量值小的路由放到路由表中

二(3)、解决距离矢量型路由协议环路的办法

  • 问题描述:
    • 路由器R1把路由表发送给R2,R2把路由表给R3
    • 如果R1和R2之间断开,R2会知道R1出现故障
    • R2通过30s通知给R3,但R3通过10s给R2发路由表,R2会收到R1是好的,R2告诉R4,R4告诉R3,R3告诉R2,形成路由环路
  • 触发更新:一旦链路出现了故障以后,马上通知给邻居,触发跟新不是用来解决环路的,而用来避免环路的发生,RIP 默认就启用的一个功能
  • RIP 是以跳数作为度量值,他的有效跳数只有15跳,当到一个目的要16跳的时候,rip会认为该目的是不可达的,那么RIP会丢弃这个数据包。因此rip有这样特性,所以他不能应用在大型的网络中
  • 水平分割:路由器不会把从一个接口学习到的路由,在从该接口发送出去,默认也是启用
  • 路由中毒/毒性反转/路由毒化:路由器中的某一条路由出现了故障,路由器会马上向外发送一条该路由跳数为16跳的路由,默认启用的。
  • rip计时器:
    Update t ime: 30 sec
    Age time : 180sec
    Garbage-collect time : 120 sec
    rip每过30秒会发送自己完整的路由表给他的邻居,如果在180秒内,没有收到邻居的路由表,那么该路由器就会认为邻居出现了故障。但这个时候,该路由器还认为即使邻居出现了故障,但是它相信邻居会重新和我连接,所以180秒后,邻居的路由还在我的路由表中,然后在开始倒计时120秒,如果120秒内,邻居还没有和我建立连接,那么该路由器就会认为邻居出现了故障,从而在自己的路由表中删除该邻居的路由信息。

二(4)、RIPv1和RIPv2的区别以及报头格式

1、允许RIP的路由器会发送request和response两种类型的数据包和对方建立邻居关系(request是请求,response是给request的应答)
2、RIPv1使用的是广播和单播来建立邻居关系,并且使用广播的方式来更新路由(默认RIP运行的都是v1)
3、RIP的封装结构示意图:

E2 IP UDP RIP

IP报头中,如果是1代表的是ICMP,17代表的是UDP
RIP使用的是UDP的源和目的的520端口
在RIP报头中: request 的协议号是1,response 的协议号是2

二(5)、RIPv1 不连续子网的问题,因为RIPv1会对路由进行.

  • 自动汇总,所以就产生了不连续子网的问题。要解决这个问题,需要使用RIPv2, RIPv2会对路由进行自动汇总
  • RIPv2手动汇总的作用:减小路由表的大小,从而提高路由器的性能。
  • 如果删除了所有的明细路由,那么手动汇总路由也会消失。如果地址汇总写错了,是不会有效果.
  • RIPv1和RIPv2的区别
    1. v1会对所有的路由在主类网络的边界进行自动汇总,v2支持自动汇总且可以手动汇总
    注意:根据R2上的现象,看到的是已经自动汇总了,那是因为默认在水平分割开启的情况下不会自动汇总,关闭的情况下会自动汇总。
    2. v1使用广播进行路由更新,v2使用的是组播进行路由更新,且组播地址为224.0.0.9
    3. v1是不支持验证的,v2是可以支持验证的
    4. v1不支持VLSM,和CIDR, V2支持VLSM,不支持CIDR
    5. RIP 的验证
    RIP支持两种:明文(抓包看得见),密文(抓包看不见)

二(6)、RIP验证

[R2- Gigabi tEthernet0/0/0]rip authentication- modemd5 ?
nons tandard Nons tandard MD5 authenticationpacket format (IETF)
usual Huawei MD5 authentication packetformat

  • Usual华为私有的MD5加密算法
  • Nonstandard(IETF) 国际标准的加密算法

二(7)、引入外部路由

不想把33.3.3.3的路由宣告进RIP,但是又想让RIP中的路
由学习到33.3.3.3的路由,就需要把直连路由引入到RIP中
[R3- rip-1] import- route direct

二(8)、附加度量值(cost)

[R1- rip- 1]preference 30修改本地RIP路由协议的默认优先级
[R1- Gigabi tEthernet0/0/0]rip metricout 5用度量值为5发出去
[R1- Gi gabi tEthernet0/0/0]rip metricin 10 进来的路由的度量值加10

三、OSPF动态路由

实验准备

拓扑结构

[Huawei]sys r1
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ip add 12.1.1.1 24
[r1-GigabitEthernet0/0/0]int lo0
[r1-LoopBack0]ip add 1.1.1.1 24

[Huawei]sys r2
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ip add 12.1.1.2 24
[r2-GigabitEthernet0/0/0]int lo0
[r2-LoopBack0]ip add 2.2.2.2 24

r1和r2互ping对方的ip地址,可以ping通。如下:

[r2-LoopBack0]ping 12.1.1.1
  PING 12.1.1.1: 56  data bytes, press CTRL_C to break
    Reply from 12.1.1.1: bytes=56 Sequence=1 ttl=255 time=30 ms
    Reply from 12.1.1.1: bytes=56 Sequence=2 ttl=255 time=20 ms
    Reply from 12.1.1.1: bytes=56 Sequence=3 ttl=255 time=30 ms
    Reply from 12.1.1.1: bytes=56 Sequence=4 ttl=255 time=20 ms
    Reply from 12.1.1.1: bytes=56 Sequence=5 ttl=255 time=40 ms

  --- 12.1.1.1 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 20/28/40 ms
OSPF的基本配置
  • [r1]ospf 1启动0SPF进程1,进程号为1,进程号只具有本地意义。进程号可以是任意数字。
  • [r1]ospf 1 router-id 1.1.1.1在0SPF进程后面可以加Router-ID的参数
    • Router-id:用来标识一台OSPF路由器,并且该标识使用点分十进制格式来表示,且几乎所有的OSPF报文中都会携带Router-id参数
    • 注意:如果一开始启动了OSPF 进程,没有配置Router-id,那么OSPF 路由器会自己选举Router-id,当他自己选完以后,该Router-id就会生效,这个时候我在去手动指定的话,需要重启OSPF进程,那么我手动指定的Router-id 才会生效。命令提示Info: The configuration succeeded. You need to restart the OSPF process to validate the new router ID.
      <r1>reset ospf process重启OSPF进程,这样手动指定的router-id才会生效
      Warning: The OSPF process will be reset. Continue? [Y/N]:y
      OSPF选举router- id的过程:
  1. 如果手动指定router- id,为最优
  2. 如果没有手动指定,那么就选择最大已经激活的换回接口的地址
    如: lo0: 1.1.1.1 lo1:2.2.2.2,lo1是最大的换回口
  3. 如果即没有手动指定,也没有换回接口,就选择最大的已经激活的物理地址
    [r1-ospf-1]area 0进入区域0,区域0也叫主干区域宣告直连网络进区域0
    [r1- ospf-1- area 0.0.0.0]network 1.1.1.10.0.0.0
    [rl ospf-l-area 0.0.0.0]network 12.1.1.0 0.0.0.255

OSPF的区域表示格式

[r1-ospf-1]area 0可以用十进制来表示一个区域,也可以用点分十进制格式来表示一个区域。无论是用十进制来写,还是点分十进制格式来写,路由器放肯定是点分是进制格式。
0 0.0.0.0
10 0.0.0.10
1000 0.0.3.232-->1000(10)转1111101000(2)-->0.0.21+20.28+27+26+24-->0.0.7.232

  • 反掩码(通配符掩码):
    • 作用:匹配的IP地址的范围
    • 二进制0,表示精确匹配
    • 二进制1,表示一个范围,即可以是0,也可以是1
    • network 1.1.1.1 0.0.0.0表示精确匹配该IP地址
    • network 12.1.1.0 0.0. 0.255表示匹配的IP地址范围是12.1.1.0~12.1.1.255,把该范围内的所有地址都宣告进区
      域0
  • OSPF有六种邻居状态机制
    1. init
    2. two- way
    3. exstart
    4. exchange
    5. loading .
    6. full
    OSPF是相互发送Hello包来建立邻居关系的
    2、OSPF 数据结构封装示意图
posted @ 2020-08-21 11:34  MrFlySand-飞沙  阅读(430)  评论(0编辑  收藏  举报