听说网络工程师倾向于避免策略路由。例如,我正在考虑依赖于源地址的路由。策略路由是不好的做法吗?如果是这样,为什么?

#1 楼

通常,路由器仅根据目标地址转发数据包。这显然非常简单和有效。

基于策略的路由意味着路由器现在正在寻找其他因素来确定如何转发每个数据包。这些其他因素可能包括源地址,协议或可以从标头或有效负载中收集到的其他信息。

基于这样的策略路由流量最明显的缺点是路由器现在必须检查所有找到匹配的数据包。这给CPU以及以前可能没有的TCAM带来了负担。在大多数硬件上添加少量策略路由应该没问题,但是添加的策略路由数量越多,CPU始终将负载越重。的选择是,它使管理有些棘手。以我的经验,实现类似的东西很容易打破某些东西,并且很难想到所有可能要测试的场景。当需要解决连接问题时,与传统的目标地址路由相比,现在您将需要考虑这些精细的策略路由。

#2 楼

策略路由(基于源地址,协议等)是某些方案所需的方法。与许多其他技术一样,最好避免,但有时您不能没有。如果您忘记了PBR,可能会使您的网络严重复杂化并落在脚上。它的好坏取决于其特定用途。

请注意,源路由通常意味着不同的东西:IP版本的过时选项使源主机可以确定路由路径(而不是路径中的路由器) )。

评论


我猜OP意味着“特定于源”的路由(SADR),即常规路由,这些路由在源地址上也匹配。 (有时是通过策略路由实现的。)

–user1686
19年11月8日14:01



对,就是那样。 (现在已编辑)

–exeral
19年11月8日在16:19



#3 楼

IP和数据包交换的原始前提是路由是动态的,这意味着路径可以根据条件的变化而变化。两端无需了解或关心流量如何到达另一端。例如,如果您与另一座城市的另一台计算机建立了连接,并且发生了某些灾难(例如光纤切断,飓风,龙卷风,火灾,炸弹等),则IP和路由的设计方式将自动重新路由流量,而几乎不会没有中断或数据包丢失。

如果专门配置路由(PBR或源路由),则完全可以克服IP路由和数据包交换的动态特性。例如,如果您定义流量类别(IP地址,传输协议等),并且将其设置为仅沿特定方向发送该流量,则如果该路径中存在问题,则无法动态地重新路由至

在某些情况下,您必须使用PBR,但是在配置它之前需要充分了解它,因为您失去了灵活性。另外,实际上不赞成使用源路由,因为让发送者确定路径几乎总是失败,并且作为网络工程师,您需要对几乎没有信息或控制权的问题进行故障排除。 IP路由的设计方式是让流量自然地流经最佳路径并自动故障转移到下一条最佳路径,对该范式的任何更改都会引入难以发现的问题,次优路由等。

评论


您针对(静态)PBR或源路由的论点同样适用于(静态)基于目标的路由

–哈根·冯·埃森(Hagen von Eitzen)
19年11月10日,下午3:06

是的,策略路由实际上是静态路由的一种形式。它没有规模,很难维护和排除故障,等等。尽管有时这是必要的,但是在实施它之前,您确实需要了解它及其含义。

–罗恩·莫潘♦
19-11-10在3:43



@RonMaupin致力于处理动态策略路由

–马特·杜汉(Matt Douhan)
19/12/7在9:37

#4 楼

前面的所有答案都是正确的,但是由于这是一个网络工程站点,所以让我从工程角度讲一个:

您将花费在网络上的大部分工作将用于维护:改进,扩展,故障排除,修复等。在网络的整个生命周期中,这比设计或构建网络所花费的时间要大得多。

鉴于这一事实,设计网络,使维护和故障排除尽可能容易。为此,您使用最简单的技术来完成工作。复杂或“聪明”的设计很难维护。当出现故障时,要花很长时间才能弄清楚它是“应该工作的”,并且更改可能以意想不到的方式破坏事物。这个想法可以概括为:“简单胜于复杂”。

PBR比简单的路由更复杂(它是通过访问列表,路由图等高度定制的),并且更难以理解或修改。因此,如果不需要,您可能不想使用它。

最重要的是,没有“好”或“坏”的技术。如果您需要PBR来完成工作,那么使用它是正确的选择。知道何时使用它,或何时找到解决问题的更简单方法就是工程的全部内容。

#5 楼

PBR(基于策略的路由)是您可以解决的一次性解决方案,当您需要将部分局域网数据发送到特定的ISP或方向等时进行设计。
当设计解决方案是“ NAT”时,避免架构工程师的事情”,因为使用时很难进行故障排除。