路由表里哪一项是匹配路由?

看到网上有人询问路由表匹配路由的问题,解答一下:

路由器A的路由表如下所示,确定进入路由器A的目的Ip地址是132.19.237.5的分组的最佳路由?

        网络地址                      下一跳

1    132.0.0.0/8                  132.20.1.1

2    132.19.0.0/11              132.20.0.1

3    132.19.233.0/22          132.20.1.1

看到有人说2,有人说3,其实,我觉得:

第一条是匹配路由。

首先:路由选择优先次序,直连优先,静态次之,再次其他类型如ospf生成路由,同类路由是路由表里掩码长度大的路由条目优先被匹配查询。

一个数据包首先判断是否目的ip是本地数据包,检查本地ip的路由表表项,一般掩码为32位,再检查其他级别次长的掩码路由。就像邮局收到信件,首先判断邮编是否是本地辖区的,是就留下投递,不是再送出处理。

路由是确定一个ip数据包的处理的传输路径,需要ip统一编码和路由判断来实现,终端,经过传输链路,节点到达另一个终端的目的。
路由选择过程:

      是用目的ip和路由表条目的掩码进行与运算,再和路由条目里路由表项ip地址比较,完全一致就匹配。

     ip地址为二进制32位,为了方便记忆,分成每8位一段,分成四段,用0-255的数字和.分成四段,如192.168.10.5。ip地址分成两段分级结构,网络地址+主机地址,ip地址有寻址功能,公网中的网络地址和具体的一个硬件节点是对应的。如大学的学号,51200431,前面51是专业,2004是年级,512004就相当于网络地址,31是学生的编号。

     ip地址有32位2^32个地址,路由表项不可能把所有的ip都一一列举出来,所以就用掩码来屏蔽主机地址位,获得网络地址来实现ip分层结构来缩减路由条目。如11.0.0.0/8  f0就代表从一个目的ip中头部向右取出8位若是11符合某一种规则从f0口送出。这就代表屏蔽了11.0.0.0到11.255.255.255,后三位是2^24个ip都按照这一个规则处理。
     掩码有数字和ip两种表达方式,数字方式就是32位ip地址二进制中网络位的个数,取值在0-32间。掩码的ip方式表达方式就是网络位为1,主机位为0的ip地址四段方式。每段取值为0,128,192,224,240,248.252,255中选择。全网络地址段为255,全主机位段为0,变长掩码规则里,ip四段里既有网络位,又有主机位的段的值就是,主机为n,值位256-2^n。默认abc类地址掩码是8,16,24,主机地址位32,若小于这几个值主机位就是掩码ip四段中的那一段全是网络地址作为掩码的上限,如11就是,ip地址中第二段有三位是网络地址位,第二段全是网络地址就是16,主机位16-11=5;22就是第三段24-22=2;26就是第四段32-26=6;5就是第一段8-5=3。

     为啥ip地址既有网络地址位,又有主机地址位的掩码值为256-2^n,n是主机位数,因为这段8位中,前面是8-n个1,后面是n个零,我们把网络位看成一个整体,它的权值就是2^n,整个这段的值就是(2^(8-n)-1)x2^n+0=256-2^n。

   变长掩码的掩码表示方法中,既有网络位,又有主机位的ip段存在的话,只能有一段。因为掩码的表示方法是网络位是连续的1,主机位是连续的0,当0出现后,后面就不能出现1了,所以当ip四段中,第一段有主机位,其他第二三四段就只能是主机位了,第二段有主机位,第三四段就全是主机位,第三段有主机位,第四段段就是纯主机位,第四段有网络位和主机位,前三段就是纯网络位。


本例中,三条路由掩码长度分别为8,11和22,所以根据路由表掩码长度先检查第三条路由是否匹配,掩码为22,就是ip第三段主机位为2位,掩码值就是255.255.252.0,这个掩码和目的ip132.19.237.5与的结果为132.19.236.0,和第三条路由条目的132.19.233.0不一样,所以此路由不匹配。
再检查掩码为11的路由,掩码位11,掩码的第二段就是256-2^5=224,就是255.224.0.0,目的ip132.19.237.5与的结果为132.0.0.0.与路由条目2的132.19.0.0不匹配。
显然,第一条的路由条目,掩码为8,就是255.0.0.0,目的ip132.19.237.5与的结果为132.0.0.0,与第一条路由表项完全匹配,所以第一条路由是匹配路由。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值