我想理解一个“烫手土豆”的原则。给一个有5个接口的路由器。第一个接口获得一个数据包,并决定将该数据包转发到哪个接口。我认为在路由器中发生了以下过程:
1)包到达
2)提取网络前缀。
在路由表中查找(BGP?还是另一张桌子?)
3)根据网络前缀查找所有匹配的数据记录(其中一个接口应该在逃逸路径中)
4)选择IGP路径最小的路径(与IGP路径相同的路径)。
我的算法正确吗?
发布于 2018-03-26 23:30:26
我的算法正确吗?
不完全同意。路由协议不路由。路由器甚至不用路由协议就可以进行路由。路由协议只需与其他路由器交换路由。路由器将根据前缀源的可靠性(例如AD等)来确定从各种来源(包括路由协议)填充路由表的路由,但是路由器将根据路由表中已经存在的内容来路由数据包。
此外,路由器只具有目的地地址,而不是目的地所在网络的掩码,因此它不从目标地址提取网络前缀。
路由器将剥离第2层帧,检查数据包上的第3层目标地址,并在其路由表中执行查找,寻找与目标地址匹配的最长前缀。如果没有找到匹配的,它就会丢下包。如果它找到匹配,它将有输出接口,它将为下一个接口构建一个新框架,并将新框架转发出接口。
根据您的注释,您似乎混淆了路由表是如何填充到路由器如何使用它来路由数据包的。
路由器将查看所有路由源(直接连接的网络、静态路由和路由协议),以确定路由表的候选者。每个路由协议都维护自己的从其他路由器接收的路由表。来自路由协议的候选路由是路由协议表中具有到目标网络的最佳度量的路由。
如果候选人在其他来源中没有对手,则将其安装在路由表中。
如果有多个候选人使用相同的源,例如路由协议,则对候选的度量进行比较,并选择标度最低的一个安装在路由表中。
如果有来自多个源的多个候选项,则使用Cisco的AD (管理距离)(也就是源的可靠性)这样的方法来选择要安装在路由表中的候选,因为来自不同路由协议的度量是无法比较的。
发布于 2018-03-27 19:59:02
您的算法在BGP中大致实现,在默认情况下,BGP执行“热土豆”路由。在所有其他条件相同的情况下,将选择具有最低IGP度量的路由。
https://networkengineering.stackexchange.com/questions/49442
复制相似问题