最长前缀匹配

最长前缀匹配简述

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

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

最长前缀匹配图

路由器AR1的路由表除了直连路由10.1.1.1/24、10.2.2.2/24、10.3.3.3/24外,还有三条路由172.16.1.0/24、172.16.2.0/24、172.16.0.0/24。

在这里插入图片描述
分别关联不同的出接口和下一跳地址,那么当R1收到一个到达172.16.2.1的数据包时,它将把数据包转发给哪台路由器?

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

路由条目的编号

在这里插入图片描述

逻辑与运算规则

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

路由条目(一)与其子网掩码进行逻辑与运算

172.16.1.0与掩码255.255.255.0进行逻辑与运算

1721610
10101100000100000000000100000000
2552552550
11111111111111111111111100000000
逻辑与结果-----------------
10101100000100000000000100000000
逻辑与运算结果

逻辑运算结果为172.16.1.0,二进制如下:

10101100000100000000000100000000

数据包目的IP:172.16.2.1

10101100000100000000001000000001
路由条目与数据包IP对比

j将报文目的IP地址172.16.2.1/24与路由条目的网络掩码255.255.255.0进行“逻辑与”运算。
在这里插入图片描述
将运算结果与路由条目1的目的网络地址的前24bit进行对比,如上图所示,结果发现有两个比特位不相同,因此判断出这个目的IP与路由条目1不匹配,R1将不使用这条路由转发到达172.16.2.1的数据包。

目的IP地址与路由条目1不匹配,会继续与路由条目2、路由条目3匹配,进行逻辑与方式进行。

目的IP地址与路由条目2逻辑与运算

目的IP:172.16.2.1/24

路由条目2:172.16.2.0/24

将IP地址172.16.2.1与路由条目2的目的网络掩码255.255.255.0进行“逻辑与”运算,将运算结果与路由条目2的目的网络地址的前24比特对比,发现每一个比特位都相同,因此该目的IP匹配这条路由,而且匹配结果是172.16.2.0/24,也就是说匹配长度是24。

与路由条目2逻辑与运算完成,不管结果是不是需要的匹配原则都会继续匹配路由条目三、四… …

它会将数据包的目的IP地址与自己本地路由表中的所有路由表进行逐位(Bit-By-Bit)对比

目的IP地址与路由条目3逻辑与运算

目的IP地址:172.16.2.1/24

路由条目3:172.16.0.0/16

将目的IP地址172.16.0.0/16与路由条目3的目的网络255.255.0.0进行“逻辑与”运算,其运算结果是与路由条目3的前16bit进行对比,发现每一个比特位都是相同的,因此该目的IP匹配此路由,匹配结果是172.16.0.0/16,匹配长度16.

但是根据最长匹配原则,路由条目2匹配度更长,因此R1将采用路由条目2来转发到达172.16.2.1的数据包。

最长匹配实现负载分担

最长匹配前缀除了可以实现路由选路,还可以实现数据传输路径的冗余和负载分担,
在这里插入图片描述
在上图中,AR1与AR2是两台企业边界路由器,在该企业中存在192.168.0.0~192.168.3.0网段。现在B与AR1、AR2建立了连接,运行了RIP,企业对1、2路由器有完全操控全,对B不具备操作权限,只能将信息通过给B。
企业要求,通过1、2路由器上进行相应配置,使得B到达上述4个网段的数据包转发给路由器1,当1发生故障,B将数据包平滑的切换至R2。

路由要求实现

即AR1向B通过四条明细路由,AR2配置一条汇总路由192.168.0.0/22,此汇总路由会将四条路由都囊括在内,完成配置后,B的路由表将出现5条路由。
根据最长匹配原则,在网络正常时,数据包通过AR1发送至B。

当AR1故障,数据转发会切换到AR2,这就实现了数据转发的冗余。

参考华为路由交换指南

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超凡脫俗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值