博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HCNA——RIP的路由汇总
阅读量:5809 次
发布时间:2019-06-18

本文共 3052 字,大约阅读时间需要 10 分钟。

HCNA——RIP的路由汇总

RIP V1的路由汇总

  • 路由聚合的原理是,同一个自然网段内的不同子网的路由在向外(其它网段)发送时聚合成一个网段的路由发送。

  • RIP-1的协议报文中没有携带掩码信息,故RIP-1发布的就是自然掩码的路由。因此也不支持VLSM。

  • 在有类网络的边界自动汇总,并且不能关闭汇总。

PS:VLSM 可变长子网掩码

RIP-2路由聚合

  • RIP-2支持路由聚合,因为RIP-2报文携带掩码位,所以支持子网划分。在RIP-2中进行路由聚合可提高大型网络的可扩展性和效率,缩减路由表。

路由聚合有两种方式。基于RIP进程的有类聚合:

  • 聚合后的路由使用自然掩码的路由形式发布。比如,对于10.1.1.0/24(metric=2)和10.1.2.0/24(metric=3)- 这两条路由,会聚合成自然网段路由10.0.0.0/8(metric=2)。RIP–2聚合是按类聚合的,聚合得到最优的metric值。

  • 基于接口的聚合:用户可以指定聚合地址。比如,对于10.1.1.0/24(metric=2)和10.1.2.0/24(metric=3)这两条路由,可以在指定接口上配置聚合路由10.1.0.0/16(metric=2)来代替原始路由。

RIP V2的路由汇总

  • 默认时在有类网络的边界自动汇总,但可以关闭汇总。

  • undo summary关闭汇总。

  • 如果接口启用水平分割、毒性发转,则不进行汇总,除非使用 “summary always”命令。

实验开始

拓扑图

enter description here

首先配置好拓扑给出的配置接口

华为路由器环回接口配置命令,以此类推进行配置

[R1]interface LoopBack 0[R1-LoopBack0]ip address 172.16.0.1 24

下面进行配置RIP

R1

[R1]rip 1[R1-rip-1]version 1[R1-rip-1]network 172.16.0.0

R2

[R2]rip 1[R2-rip-1]version 1[R2-rip-1]net 172.16.0.0 [R2-rip-1]net 192.168.23.0

R3

[R3]rip[R3-rip-1]version 1[R3-rip-1]network 192.168.23.0[R3-rip-1]network 10.0.0.0

下面我们在R2 g0/0/0口抓包看看

enter description here

PS:一个RIP数据包最多支持25条路由表更新 配置了RIP v2和认证的话最多只能24条

enter description here

分析数据包发现并没有携带掩码信息 下面我们来查看R2的路由表

enter description here

首先会学习到10.0.0.0网络 路由表 是R3发送给R2的 而且在发送中也是不带掩码的

有没有发现R2收到的是10.0.0.0网络的掩码是8位呢?可是我的环回口配置的是24位啊 这就是RIP V1的特性了 在有类网络的边界自动汇总,并且不能关闭汇总。

enter description here

但并不是说 左边为C类 右边为A类才叫做网络边界 即使两边是A类 比如左边是20.0.0.0/8 右边 10.0.0.0/8 这时候这路由器也是边界路由器

下面我们再返回到R2上面查看路由表

enter description here

172.16.0.0的网络有16位 24位 而且没有172.16.4.0的网络 那到底是为什么呢?

enter description here

PS:因为配置RIP V1 如果发现R1 g0/0/1 发出去的数据包是在同一个主网络的子网 那么与g0/0/1口的掩码相匹配的就会被发送出去 因此 最底下那条就不会被发送

下面通过抓取R1 g0/0/1 数据包看看

enter description here

发现RIP V1在发送路由更新的时候不带掩码 那么对方收到以后怎么知道这些路由表的掩码呢?

enter description here

PS:R2会以接收路由表的接口的掩码来套在发送过来的路由

那为什么会有一条172.16.0.0/16的路由呢 不应该相匹配的掩码是24位吗?

PS:这里应该存在了BUG 但变成16位的原因可能是R2认为该网络是一个边界 因为R2的右边又是另外一个网络 所以会变成16位 这里就暂且不细究了 因为我也不懂 可以去百度查查看

从以上实验发现RIP V1是不支持VLSM的 并且我们不想让路由在网络边界进行汇总 那么就要支持VLSM 我们下面就来开启RIP V2

R1

[R1]rip 1[R1-rip-1]version 2

R2

[R2]rip 1[R2-rip-1]version 2

R3

[R3]rip 1[R3-rip-1]version 2

重新在R2 g0/0/0 抓取数据包看看

enter description here

除了携带网络地址 还会携带掩码 下一跳 如果下一跳是0.0.0.0的话 那么意味着下一跳就是Src源地址 (172.16.12.2)

下面在R3查看一下RIP信息

enter description here

现在已经是RIP V2了 默认路由汇总Summary:Enabled 是打开的 意味着默认情况下也是在网络的边界进行路由汇总 下面我们在R2查看路由汇总情况

enter description here

现在为什么10.3.3.0是24位而不是前面汇总后的八位呢?

PS:如果接口启用水平分割、毒性发转,则不进行汇总。默认情况下呢 RIP所有接口都是启用了水平分割 所以我们现在看到的路由表是没有汇总的 如果想在水平分割打开的情况下 进行汇总 除非使用 “summary always”命令

[R3]rip 1[R3-rip-1]summary always

再次查看R2路由表

enter description here

现在则进行了路由汇总

下面再把R1 R2的路由汇总打开 summary always 命令

[R1]rip 1[R1-rip-1]summary always
[R2]rip 1[R2-rip-1]summary always

enter description here

enter description here

enter description here

现在看到的3台路由器都是进行了路由汇总 下面我们把3台路由器的汇总关闭掉

[R1-rip-1]undo summary[R2-rip-1]undo summary[R3-rip-1]undo summary

enter description here

回到了原来的连续路由 实际上路由表为连续路由的话不好 为什么呢?

PS:因为路由表太大 太多的话 我们路由器转发数据包的时候查询的条目会很多 因此效率比较低 我们可以来做基于接口的聚合 也称手工的路由汇总

下面我们想在路由汇总关闭的情况下 R2向R3发送路由更新的时候 不要汇总成16位 那么我们怎么来算它的掩码位数呢?

enter description here

172.16 是16位 加上后面全部一样的 也就是4位 总共就是20位 掩码就为 255.255.240.0

下面我们就可以来进行手工的路由汇总 在接口视图下进行配置(R2 g0/0/1)

[R2]int g0/0/1[R2-GigabitEthernet0/0/1]rip summary-address 172.16.0.0 ?  IP_ADDR
IP address mask[R2-GigabitEthernet0/0/1]rip summary-address 172.16.0.0 255.255.240.0

再到R3上面查看路由表

enter description here

在R3就会看到一条路由表 而不像刚才有五条明细的路由表 这就是手工的路由汇总

下面在R2 g0/0/1 接口来进行抓包 看看数据包情况

enter description here

抓包清楚的看到R2发送到R3现在只发送一条路由表 并且掩码为我们手工配置的20位

实验总结

  • 掌握RIP v1的路由汇总
  • 掌握RIP v2的路由汇总

转载于:https://blog.51cto.com/12445563/2177905

你可能感兴趣的文章
矩阵常用归一化
查看>>
Oracle常用函数总结
查看>>
【聚能聊有奖话题】Boring隧道掘进机完成首段挖掘,离未来交通还有多远?
查看>>
CMake 手册详解(二十)
查看>>
嵌入式 busybox自带的tftp、telnet、ftp服务器
查看>>
USNews大学排名遭美国计算机研究学会怒怼,指排名荒谬要求撤回
查看>>
struts1——静态ActionForm与动态ActionForm
查看>>
七大关键数据 移动安全迎来历史转折点
查看>>
在AngularJS中学习javascript的new function意义及this作用域的生成过程
查看>>
盘点物联网网关现有联网技术及应用场景
查看>>
网络钓鱼大讲堂 Part3 | 网络钓鱼攻击向量介绍
查看>>
阿里云与Intel联合发布加密计算,亚洲首个云上“芯片级”数据保护
查看>>
1、下载安装scala编译器(可以理解为scala的jdk),地址:http://www.scala
查看>>
mui 总结2--新建第一个app项目
查看>>
nginx的lua api
查看>>
考研太苦逼没坚持下来!看苑老师视频有点上头
查看>>
HCNA——RIP的路由汇总
查看>>
zabbix监控php状态(四)
查看>>
定时任务的创建
查看>>
实战Django:小型CMS Part2
查看>>