简述  
    最长前缀匹配机制(Longest Prefix Match Algorithm)是目前行业内几乎所有的路由器都缺省采用的一种路由查询机制。

    当路由器收到一个IP数据包时,它会将数据包的目的IP地址与自己本地路由表中的所有路由表进行逐位(Bit-By-Bit)对比,直到找到匹配度最长的条目,这就是最长前缀匹配机制。

最长前缀匹配

路由器AR1的路由表除了直连路由外,还要三条路由

最长前缀匹配
分别关联不同的出接口和下一跳地址,那么当R1收到一个到达172.16.2.1的数据包时,它将把数据包转发给哪台路由器?

大致上,R4将报文的目的IP地址172.16.2.1和路由条目1的目的网络掩码255.255.255.0进行逻辑与运算。

逻辑与运算

“&&” "·"表示与 (逻辑与)是逻辑运算符,
逻辑与”相当于生活中说的“并且”,就是两个条件都同时成立的情况下“逻辑与”的运算结果才为“真”
二进制与运算规则:1&1=1 1&0=0 0&0=0

如:路由条目1-----172.16.1.0与掩码255.255.255.0进行逻辑与运算

172 16 1 0
10101100 00010000 00000001 00000000
255 255 255 0
11111111 11111111 11111111 00000000
逻辑与结果 ----- ------- -----
10101100 00010000 00000001 00000000

逻辑运算结果:172.16.1.0

10101100 00010000 00000001 00000000

数据包目的IP:172.16.2.1

10101100 00010000 00000010 00000001

路由条目1:数据包目的IP
最长前缀匹配

两者对比,结果发现有两个比特位不相同,因此判断出这个目的IP与路由条目1不匹配,R1将不使用这条路由转发到达172.16.2.1的数据包。

如果收到的数据包目标网络路由为172.16.2.0则不会与他匹配,它会有两套匹配路由,1是172.16.2.0 ,2是172.16.0.0,但是根据最长匹配原则,最优的是172.16.2.0,那么转发给172.16.2.0的路由会选择1转发数据包。

目的IP地址与路由条目1不匹配,继续与路由条目2、路由条目3…匹配,以逻辑与方式进行。
最长前缀匹配
与路由条目2匹配发现每一个比特位都相同,因此该IP匹配此路由,匹配结果是172.16.2.0/24,也就是说匹配长度是24。
与路由条目三匹配,前16bit对比完全相同,该路由也与目的IP相匹配,匹配结果为172.16.0.0/16,匹配长度16.
但是根据最长匹配原则,路由条目2匹配度更长,因此R1将采用路由条目2来转发到达172.16.2.1的数据包。

最长匹配前缀还可以实现数据传输路径的冗余和负载分担,
最长前缀匹配
AR1配置 四条精确路由,AR2配置汇总路由,当AR1故障,数据转发会切换到AR2,这就实现了数据转发的冗余。

相关文章:

猜你喜欢
  • 2021-09-16
  • 2021-07-10
  • 2022-01-07
  • 2021-11-11
  • 2022-12-23
  • 2022-12-23
  • 2021-07-27
相关资源
相似解决方案