曲径通幽论坛

标题: RIP 简单介绍及基本配置 [打印本页]

作者: beyes    时间: 2016-6-9 17:06
标题: RIP 简单介绍及基本配置
RIP (路由信息协议)是内部路由网关协议,也是距离矢量路由协议,其特点是配置简单,易于维护,适合于小型网络。

[attach]4501[/attach]


RIP 工作原理

[attach]4502[/attach]

路由器运行 RIP 后,会首先发送路由更新请求(RIP 数据包类型之一),收到请求的路由器会发送自己的 RIP 路由表进行响应。网络稳定后,路由器会周期性发送路由更新信息。

RIP 度量
[attach]4504[/attach]

RIP 使用跳数作为度量值来衡量到达目的地网络的距离。

在缺省情况下,直连网络的路由跳数为 0 。当路由器发送路由更新时,会把度量值加 1 。RIP 规定超过 15 跳的网络不可达。

RIP 路由表的初始化
[attach]4506[/attach]
路由器刚开机时进行路由表初始化,此时只有直连网络的路由表,然后通过向其邻居发送更新请求,以及对方的响应等动作对各自的路由表进行更新。RIP 路由表的更新如下图所示:
[attach]4507[/attach]
如上图所示,一开始路由A 上有到达 N1, N2, N3 的网络路由表,路由B 上则有到达 N4 网络的路由表。互相学习的过程是,两者同时都具有了到达 N1, N2, N3, N4 网络的路由表。需要注意的是,最后,N4 的下一跳是 B,这是因为从路由 A 过来的数据包要到达 N4,它只要知道经过下一跳 B 即可,而 B 会接着指引它具体往哪个下一跳(这里是 F)。

RIPv1 VS RIPv2

RIPv1 是有类别路由协议,不支持 VLSM (可变长度子网掩码)和 CIDR(无类别域间路由) ,以广播的形式发送报文,且不支持认证。

RIPv2 是无类别路由协议,支持 VLSM, 支持路由聚合与 CIDR 。支持以广播或组播(224.0.0.9)方式发送报文,支持明文认证和 MD5 密文认证。

RIPv1 报文格式:
[attach]4508[/attach]

RIP 的基本配置:
[attach]4509[/attach]
[RTA] rip
[RTA-rip-1] version 2    #发送版本
[RTA-rip-1] network 10.0.0.0    #通告网络,只能通告主类网络且必须是直连网络

主类网络的就是没有被子网划分的网络(A类、B类、C类)。
简单的说就是,比如10.1.2.3这个主类网络号是10.0.0.0 。

比如 RTB 上的一个口的 IP 地址配置为 172.16.1.1/24,那么此时 network 命令后面必须跟着地址 172.16.0.0。这是因为,172.16 开头的地址是 B 类地址。
作者: beyes    时间: 2016-6-11 23:03
标题: 简单实验
RIP v1 简单实验拓扑如下图所示:[attach]4510[/attach]
重命名 AR1, AR2, AR3 几个路由器的名字,如对于 AR1:
sys
sysname R1

分别配置 AR1 ,AR2, AR3 的接口地址,对于 AR1 :
sys
int g0/0/0
ip address 172.16.1.1 255.255.255.0
int g0/0/1
ip address 172.16.12.1 24

同样配置 AR2,配完后查看信息有:
[R2]disp ip int brief
... ...
Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              172.16.12.2/24       up         up        
GigabitEthernet0/0/1              172.16.23.1/24       up         up        
NULL0                                     unassigned           up         up(s)

对于 AR3 有:
Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              172.16.23.2/24       up         up        
GigabitEthernet0/0/1              172.16.3.1/24        up         up        
NULL0                                     unassigned           up         up(s)

现在再几个路由上配置 RIP 协议,对于 R1 有:
[attach]4512[/attach]

注意填对主类网络,如果写成 network 172.16.1.0 ,那么会出错:
[attach]4513[/attach]

对于 R2 和 R3 同样配置两条命令配置。rip 命令后面跟着的是进程号,这仅是对本地而言,这个随意,不写的话默认为 1 。

配置完后,查看路由表,便可以发现:
[attach]4514[/attach]
由上可见,R1 通过 RIP 协议从 R2 那里学习到了路由表。如果觉得 disp ip routing-table 输出信息太多,那么可以指定直接查看 rip 的路由表:
  1. disp ip routing-table protocol rip
复制代码


事实上,RIP 它具有数据库,可以直接查看其数据库信息,里头记录了 RIP 协议相关的所有路由信息,比如运行 disp rip 2 database 命令即可查看 R2 的 RIP 数据库,其中 2 这个数字表示进程号,输出结果:
[attach]4515[/attach]

进一步观察,可以在路由的某个接口上抓包。一般的,RIP 每隔大约 30s 会发送路由信息。

[attach]4516[/attach]

由抓包截图知道,RIP 是以广播的形式发送数据包(发往 255.255.255.255),传输层使用的是 UDP 协议上的 520 端口进行通讯。

RIP v1 报文格式和实际数据对比图:
[attach]4517[/attach]
[attach]4518[/attach]

上图中,命令部分的值是 “响应(response)”,实际上别的路由没有对该路由发送请求时,它也是以“响应”的方式往外发送数据。


如果希望观察到 request 报文,可以先执行 undo rip 1 命令,将 rip 先删除,然后再重新配置,就能看到 request 报文了。在 RIP 启动的时候会看到端口上发出 request 请求,但当稳定时,一般只能看到 response 报文。

最后,如果希望看到 RIP 的一个动态过程,可以利用 debug 手段,在用户视图模式下执行:
debugging rip 2  #2 为配置 rip 时指定的进程号
terminal monitor
terminal debugging

等大约 30 秒后,会在命令窗口刷出许多调试信息,此时可以运行 undo debugging all 将调试关闭。

小结:

RIP v1 的特点有:

1. 使用 UDP 协议,且通过 520 端口通信

2. 每隔 30s 发送

3. 发送完整路由表(水平分割例外)

4. 广播发送

5. 跳数加 1

6. 不带掩码





欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2