通常,使用BGP时,您可以从分配的公共IP地址之一中选择(或设备选择四个)。现在,让我们承认您仅运行IPv6。由于路由器ID仍然是32位数字,因此无法从环回地址复制。

draft-dupont-durand-idr-ipv6-bgp-routerid-01带来了一个起点。答案,建议您使用在本地分配的部分后缀的AS号。但这仅适用于16位AS号。

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

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

#1 楼

BGP-4的自治系统范围内唯一BGP标识符回答了您的问题。
从2011年开始,基本BGP标识符在您的AS中仅是唯一的。

#2 楼

正如我所提到的,让我不确定这个答案...

router-id实际上只需要在OSPF空间内是唯一的即可。

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

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

所以...我想答案可能是为OSPF(v3)选择您的路由器ID,如果您的路由器ID最终将另一个(第三方)对等方使用的路由器ID与外部复制,则可能不是世界末日。 AS同行

#3 楼

假设您实际上根本没有运行v4,甚至没有环回,那么我建议的方法是简单地为每个路由器分配一个序列号并使用它,根本不需要对其进行分段,并且您可能已有一个

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

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

#4 楼

我的建议是通过将您的AS编号视为32位AS(如果还没有)来对其进行修改-将高8位和OR0xE0000000设为零(使其看起来像多播空间)。为了简化说明,我将使用十六进制(不是的,这确实使边界更容易查看)。

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

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

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

#5 楼

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