有类与无类路由下的路由匹配原则

  使用有类路由:路由器首先匹配主网络号,如果主网络号存在,就继续匹配子网号,且不考虑缺省路由,如果子网无法匹配,丢弃数据包(在分类路由下,路由器认为知道所有主网络下的全部子网),并使用ICMP返回一个不可达回应。如果主网络号不存在,使用缺省路由(缺省路由存在前提)。

  上述情况出现在某些早期IOS版本里(12.0以前版本),这些早期版本默认没有打开ip classless.

  打开ip classless以后将改变路由器的路由行为,此时路由器将进行最长最精确匹配或使用默认路由进行匹配

  使用无类路由,如果没有找到最具体的匹配,就使用缺省路由。

  ip classless命令的作用主要是改变有类路由协议的查找路由表的行为。

  例1:某路由器上运行的路由协议为RIP(有类的路由协议),路由表如下:

R 10.1.0.0/16via 1.1.1.1
R 10.2.0.0/26via 1.1.1.2
R* 0.0.0.0/0via 1.1.1.3

  现在假设有3个IP报文,报文A的目标IP是10.1.1.1、报文B的目标IP是10.3.1.1、报文C的目标IP是11.11.1.1

  有类路由协议查找路由表的行为如下:

  首先查找目标IP所在的主网络,若路由表中有该主网络的任何一个子网路由的话,就必须精确匹配其中的子网 路由;如果没有找到精确匹配的子网路由,它不会选择最后的缺省路由,而是丢弃报文。若路由表中不存在该主网络的任何一个子网路由,则最终选择缺省路由。

  报文A:目标IP为10.1.1.1,所在的主网络为10.0.0.0,目前的路由表中存在10.0.0.0的子网路由,此时路由器要进一步查找子网路由,是否能够精确匹配,我们看到10.1.0.0/16可以匹配我们的目标地址,所以报文A根据这条路由进行转发。

  报文B:目标IP为10.3.1.1,所在的主网络为10.0.0.0,目前的路由表中存在10.0.0.0的子网路由,此时路由器要进一步查找子网路由,是否能够精确匹配,我们看到路由表中的两条子网路由10.1.0.0/16和10.2.0.0/16均不能匹配我们的目标地址,根据有类路由协议的原则,它不会选择缺省路由,所以报文B被路由器丢弃。

  报文C:目标IP为11.1.1.1,所在的主网络为11.0.0.0,目前的路由表中不存在11.0.0.0的子网路由,此时路由器直接采用缺省路由,所以路由器采用缺省路由对报文C进行转发。

  上面的结果是有类路由协议查找路由的行为,而配置ip classless的目的就是改变它的这种行为,配置完该命令后查找路由的行为是根据最长匹配的原则,那上例中的报文B就可以通过缺省路由进行转发了。

  注意:该命令对于一个无类路由协议来说没有任何意义,因为无类路由协议查找路由的方式就是最长匹配的原则。

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值