学习啦 > 知识大全 > 知识百科 > 百科知识 > 什么是最长掩码匹配

什么是最长掩码匹配

时间: 巩诗5913 分享

什么是最长掩码匹配

  因为路由表中的每个表项都指定了一个网络,所以一个目的地址可能与多个表项匹配。最明确的一个表项——即子网掩码最长的一个——就叫做最长掩码匹配。之所以这样称呼它,是因为这个表项也是路由表中,与目的地址的高位匹配得最多的表项。

  路由掩码最长匹配原则是指IP网络中当路由表中有多条条目可以匹配目的ip时,一般就采用掩码最长的一条作为匹配项并确定下一跳。(也叫最长前缀匹配,是路由器在查找路由表进行选路的算法)

  例如,考虑下面这个IPV4的路由表:

  192.168.20.16/28 e0

  192.168.0.0/16 s0

  在要查找地址192.168.20.19时,不难发现上述两条都“匹配”,即这两条都包含要查找的目的地址。此时就应该根据最长掩码匹配原则,选择第一条进行匹配(更明确),所以数据包将通过e0发送出去。

  再来看一个例子:

  ip route 10.1.0.0 255.255.255.0 192.168.2.2

  ip route 10.1.0.0 255.255.0.0 192.168.3.3

  ip route 0.0.0.0 0.0.0.0 192.168.1.1

  对于三条目标地址10.1.0.14 ,10.1.4.6 ,10.2.1.3

  10.1.0.14有两条路由都符合,根据最常掩码匹配原则,下一跳地址应该是192.168.2.2

  10.1.4.6 只与第二条路由网段匹配,所以下一跳地址 192.168.3.3

  10.2.1.3与那条都不匹配所以扔到默认路由 下一跳 192.168.1.1

  理论上来讲,掩码越长越容易数据的转发。但是主路由的路由表就很大了,主路由把网络号相同的路由汇聚在一起,虽然寻址不是很准确,但是路由表小了,加大了路由的转发速度。

3609908