仅使用IPv6时如何选择BGP路由器ID?


16

通常,使用BGP时,您可以从分配的公共IP地址之一中选择(或设备选择四个)。

现在,让我们承认您运行IPv6。由于路由器ID仍然是32位数字,因此无法从环回地址复制它。

草案杜邦-杜兰德IDR-IPv6的BGP-路由器ID-01带来了一个答案的开始,建议使用具有本地分配的部分后缀的AS号。但这仅适用于16位AS编号。

那么,如何为您的设备选择RID?随机地?如果是这样,设备在发生冲突时会如何反应(BGP会话的两端都使用相同的RID)?

PS:这个问题也与OSPF有关,但是您只需要设计一个连贯的RID分配方案即可。使用BGP与其他AS对等时不能执行的操作。

Answers:



9

给我不确定这个答案的颜色...

如您所述,router-id实际上仅需要在OSPF空间内唯一。

在BGP中,我的理解是,它们仅用于检测已经存在的新对等会话...我认为解决方案是拆除旧的对等会话。

如果对等会话来自不同的传输地址,则即使显示的路由器ID相同,它们也将被视为不同的会话,因为它们来自不同的传输地址(在您的方案中为IPv6地址)。

所以...我想答案应该是为OSPF(大概v3)选择您的路由器ID,如果您的路由器ID最终复制了另一个(第三方)对等方的路由器ID,那么可能不是世界末日与外部AS对等体一起使用


4

假设您实际上根本没有运行v4,甚至没有回送,那么我建议的方法是简单地为每个路由器分配一个序列号并使用它,根本不需要对其进行分段,并且您可能已有一个可能有效的清单编号(尽管考虑在RMA中可能如何起作用)。

最值得注意的是,这使IS-IS比手动填充IPv4地址更好用。

如果您(出于某种奇怪的原因)拥有一个仅某些设备使用IPv6的网络,则您可能希望抵消手册编号,以免它们与真实的IPv4地址混淆。使用240/8是一个主意(我建议不要使用255/8甚至254/8,这样可以避免在凌晨3点出现页面操作疲倦的大脑时不知道为什么将路由器ID设置为广播地址)。


2

我的建议是通过将其视为32位,以适应您的AS号(如果没有的话) -零上8位,OR0xE0000000(使它看起来像组播空间)。为了简化说明,我将使用十六进制(不,实际上,这使查看边界更加容易)

例如,如果您的AS编号是717232(0x000AF1B0),则最初得到0xE00AF1B0,并且可以在AS 0xE00AF1B0、0xE10AF1B0等中为每个BGP扬声器递增最高字节。

转换为十进制?轻松地将十六进制拆分,然后分解出您最喜欢的编程计算器:E0.A.F1.B0-> 224.10.241.176,E1.A.F1.B0-> 225.10.241.176,依此类推。

当然,您可以设计出无数种方法来处理这种情况,关键是要主动避免重复。在BGP中,必须确保邻居没有相同的路由器ID,但是,您可以将具有相同ID的两个单独的路由器对等到第三个路由器,只要记住将routerid用作最佳路径选择的平局者即可。


1

IPv4环回接口?我知道Cisco IOS将使用最高地址(32位数字)作为路由器ID。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.