一. 动态路由

1. 简单了解

我们知道,路由分静态路由和动态路由。

平常来说,静态路由用的比较多,但是在大型网络中,还是得用动态路由,不然一个一个跳得累死你,一直跳到你绝望为止。

静态路由是单向的,需要管理员手动配置;动态路由是在路由器上启用某动态路由协议。

不同的动态路由协议是不一样的,启用了动态路由协议后,进行自己直连的网段的宣告,从而相邻的路由器就可以学习到相邻的路由器所宣告的网段。

举个例子,张三认识李四,李四认识王五,那么张三就可以通过李四认识王五。

比如是这样的一个网络。R1连着10网段和20网段,然后它把这两个网段宣告给与自己直连的路由器,即R2。

这时候R2就学习到了10网段和20网段,同时R2自己还连着30网段,所以它现在就会10,20,30三个网段了。然后再宣告给自己直连的路由器,即R1和R3。

R1和R3就学习到了10,20,30这三个网段。R3同时连着40网段,它现在就会了10,20,30,40四个网段。然后再宣告给R2,R2就会了,R2再宣告给给R1和R3,R1也会。

这样所有的路由器学会了所有的网段。

2. 常见的动态路由

  • RIP:路由信息协议(距离矢量路由协议)
  • OSPF:开放式最短路径优先
  • BGP:边界网关协议
  • EIGRP:增强内部网关路由协议
  • IS-IS:中间系统到中间系统

每个协议的算法都不一样的。

我们这里主要讲一下RIP

3. 动态路由的特点

  • 减少管理员的工作量
  • 增加网络带宽

4. 什么是内部,什么是边界

AS(自治系统):运行相同的路由协议的路由器属于同一个AS

通过AS内连接外部的路由器,这时候就需要有外部网关

  • 内部网关路由协议(IGP):用于在单一AS内去决策路由的,比如RIP,OSPF等
  • 外部网关路由协议(EGP): 用于连接不同的AS,比如BGP

比如这个网络,左面的三个设备用RIP协议,他们三儿是同一个AS;右面的两个路由器用OSPF协议,他们俩是同一个AS。

我们现在有两个不同AS的两个路由器想要连接,就需要用到BGP。

所以这两个路由器不仅要用内部的协议,还要用外部的协议,然后它俩才能互相宣告。

5. 动态路由需要考虑的内容

(1) 度量值

度量值:跳数,带宽,负载,时延,成本……

假如说跳数为3,意味着它只能从自己开始跳三个路由器

比如这个网络中,红色的路由器可以学习到并且只能学习到这个范围的网段。

(2) 收敛

收敛:使所有路由器的路由表都达成一致的状态

你可以理解为全部学习完。

在这里,红色路由器需要学习三次才可以全部学习完,红色的是第一次学习,蓝色的是第二次学习,黄色的是第三次学习。

如果在复杂的网络中,会需要学习好几次,收敛就慢。

(3) AS

刚才讲过了。

二. RIP动态路由协议

1. 基本概念

它是一种内部网关路由协议,在单一AS中内的路由器协议。

靠跳数来衡量到达目的的距离。最大15跳,16跳表示不可达,每个30秒向相邻的路由器发送路由更新消息,采用UDP的520端口。

下图是初始状态

然后我们配置RIP,在第一个更新周期里面,路由器会向相邻的路由器发送他自己的路由表。

第一个周期:

R1从R2中学到30网段;R2从R1和R4中学到10网段和40网段;R3从R2中学习到20网段。

第二个周期:

这样所有的路由器的路由表达成一致,路由器收敛完成。

RIP动态路由协议是从相邻的路由器去学习对应的路由条目

2. RIP的版本

RIP有两个版本:

(1) RIPv1

RIPv1称为有类路由协议,采用标准子网掩码

特点:

  • 采用广播更新
  • 不支持VLSM(可变长子网掩码,非标准子网掩码)
  • 自动路由汇总,不可关闭
  • 不支持不连续子网

广播更新有个bug,就是它是向所有设备发送广播。

这个R4它没有RIP,意味着我们不需要给它发送RIP信息,但是R1会给所有与他相连的路由器发送广播,那么R4接不接,人间R4跟你都没关系,当然不会接收了,这样就会导致过多的流量产生。

那么我们有没有方式让它只向运行RIP的设备发呢?

自动路由汇总的意思就是说,他会把路由表的数据自动汇总成一个网段。

比如路由表里头有两个网段,192.168.10.0/24 和 192.168.20.0/24,RIP就会把他们自动汇总成 192.168.0.0/16

(2) RIPv2

RIPv2是无类路由协议(可以使用非标准子网掩码)

特点:

  • 组播更新(只会向运行RIP的路由器发送更新消息)
  • 支持VLSM
  • 自动汇总,可以关闭
  • 支持不连续的子网

3. RIP的配置

(1) RIPv1

这样一个网络

接口处我就用.254这样的来简写了,比如网段是192.168.30.0/24.254就是192.168.30.254

我们简单配置一下IP地址

之后就可以配置RIP了。

1
2
3
4
5
6
7
路由器2
en
conf t
router rip // 启用RIP
netword 192.168.10.0 // 宣告与路由器直连的网段
netword 192.168.30.0
netword 192.168.40.0

其他的也一样。

我们看一下路由表

可以看到,自动生成了一堆路由条目。

我们直接ping一下

可以看到能ping通

他是现在每个路由器上进行ARP广播,然后在进行ICMP,所以它一开始的两个是 time out

(1) RIPv2

我们整一个非标准的子网掩码的网络

配置一下IP,注意子网掩码是 255.255.255.192

我们进行配置RIP宣告

1
2
3
4
5
6
7
路由器1
en
conf t
router rip
version 2 // RIPv2
network 192.168.1.0
network 192.168.1.64

其他的同理

我们看一下路由表

可以看到它把路由表汇总成了一个 192.168.1.0/24的网段。

那么如果你不想要自动汇总怎么办呢?

1
2
router rip
no auto-summary // 关闭

如果不想汇总的话,这个代码记得在设置RIP前就用,要不然之后需要全部路由器重新设置IP。