因此,AFAIK会在路由器之间“跳”数据包。数据包通过路由器的默认路径转发,直到到达目标IP。那么是否可以指定此数据包“跳到”的一组特定路由器?

评论

这个问题有一个复杂的答案,但总的来说,不是,您对“默认”路径有误解。大多数Internet路由器完全了解Internet路由表,并且不使用默认路径。 IP的基本思想是,如果发生灾难并且一条路径出现故障,则一次将一个数据包路由到一个路由器,然后一条数据包可以沿着另一条路径转发而无需交互。这是对旧电路交换网络的一次重大飞跃。

实际上,数据包在网络之间“跳跃”-这就是为什么通过网关/路由器转发的原因称为跳跃。

@RonMaupin我用“ local”替换“ full”。您也许可以看到如何到达Internet上的任何其他地址,但不一定知道数据包如何在两个远程地址之间流动。

@chepner,不,我的意思是ISP路由器具有完整的Internet路由表。这是必要的,以便每个ISP都能选择出最佳路径,以到达下一个ISP的目的地。

#1 楼

从理论上讲这是可能的,但实际上并没有真正的意义。

IP协议包括两个选项:


松散的源和记录路由(LSRR)
严格的源路由和记录路由(SSRS)

它们都在RFC 791中进行了描述。

它们之间的区别在于LSRR可以指定部分路由,而SSRS可以指定完整,准确的路线。使用LSRR,路径上的每个路由器都会使用其本地路由表来确定如何发送到源路由中的下一跳。

之所以不切实际,是因为大多数路由器都配置为忽略此选项。 RFC 1122表示默认情况下必须禁用源路由转发,如果任何ISP启用它,我会感到惊讶。

评论


我很惊讶没有人提到源路由,直到我看到你的答案。正如许多书籍和论文所述,在专用路由器中(当然在公共路由器中)启用源路由确实是一个安全问题。不仅是因为受到攻击,而且还因为偶然可能导致路由循环。但是,是的,源路由是一回事,IP协议就是为此目的而设计的,并且在受控环境中,您可以尝试使用它-只要路由器是您自己的即可。

–亨利克
20-4-13在19:18



不仅是ISP;我从未听说过为它实际配置过的任何路由器(即使在实验室中)。这是YAGNI的功能之一。

–克莱里斯-谨慎乐观-
20-4-14的3:05

@Henrique什么是routinf

–lpydawa
20-04-14在4:03

包内是否指定了完整的完整路由,接收包的路由器是否从包中知道下一步该去哪里?

–lpydawa
20-4-14在4:06



@lpydawa我在答案中描述了源路由。详细信息在RFC中。

– Barmar
20年4月14日在4:10

#2 楼

路由是在端到端的基础上完成的。这意味着,路径上的每个路由器都需要根据路由器认为最佳的路径做出自己的路由决策。幸运的是,如果不能直接控制数据包将遍历的网络,则无法“指定此数据包要跳到的一组特定路由器”。例如。如果我将发往Google的数据包发送到我的ISP,则要由我的ISP沿着其最佳路径转发此流量。


数据包是通过路由器的默认路径转发的。 >

这不一定正确。路由在最特定的匹配项上工作,这意味着路由器仅在没有针对前缀的特定路由时才采用默认值。

评论


最初,存在用于IPv4的源路由的概念,其中源可以指定路由。源路由已过时,Internet上不支持。

– Zac67
20-4-13在7:22

#3 楼

是的,可以,MPLS允许使用严格的跃点进行显式路由。在管理组中,还有约束最短路径优先的链接着色概念。

https://www.juniper.net/documentation/en_US/junose15.1/topics/concept/mpls-explicit- routing-overview.html

https://www.juniper.net/documentation/zh_CN/junos/topics/usage-guidelines/mpls-configuring-administrative-groups.html

Ditrapanij也是正确的,但他要么被遗忘,要么不知道MPLS。 MPLS虽然仅在您自己的网络中是本地的,但您不能在网络出口之外指定约束路径。

评论


问题的表达方式我认为他的意思是网络之外的。没错,MPLS LSP是实现此目的的一种方法,但是OP似乎缺少路由的基础。

– ditrapanij
20-4-13在5:36



MPLS(多协议标签交换)实际上是交换,而不是路由。

–罗恩·莫潘♦
20-4-13在12:47

@RonMaupin MPLS是一种路由技术,其中标记的数据包被交换,而未标记的数据包被路由。

–syntaxerror
20-4-13在18:27

RFC充满了这一点。例如,“ MPLS转发可以通过能够进行标签查找和替换,但是要么不能分析网络层头,要么不能以足够的速度来分析网络层头的交换机来完成”。或“第2层,即第3层之下的协议层(因此提供第3层使用的服务)。当通过交换固定长度的短标签完成转发时,无论所检查的标签是否为ATM VPI,都在第2层进行/ VCI,帧中继DLCI或MPLS标签。”

–罗恩·莫潘♦
20-4-14在1:10



但是,MPLS被描述为2.5层协议,路由器通过T-LDP会话为其配置的回送(系统)IP地址交换标签。 RFC8660描述了使用MPLS数据平面的分段路由。 RFC 3469描述了多协议标签交换如何将标签交换转发范例与网络层路由集成在一起。

–syntaxerror
20-4-14的3:12