我试图了解路由器如何做出路由决策。这是我想出的,我想知道我是否正确:
- 首先检查路由表中是否有该目的地址的条目。
- 如果没有,则将其发送到默认路由。
- 如果有,则进行最长路由匹配,然后检查管理距离和指标。
那是对的吗?
我试图了解路由器如何做出路由决策。这是我想出的,我想知道我是否正确:
那是对的吗?
Is that correct?
不。
您需要了解路由(控制平面)和转发(数据平面)之间的区别。
路由通过从 OSPF、BGP、静态路由等协议中执行路由选择来构建路由表。
转发通过查询路由表来查找数据包目的地。
回到你的问题:
“公制”和“管理距离”都位于控制平面(路由)中。因此,它们用于为构建路由表选择最佳路由。
“前缀长度”。Longest match first是数据平面的路由查找策略。对于每个接收到的数据包,转发引擎使用最长匹配算法查询路由表,以便从路由表中选择最佳路由。
“默认路由”可以看作是“有史以来最短的前缀”(包括所有其他前缀),可用作最长匹配查找的最后选项。