设计50位全局唯一ID

问题描述 投票:3回答:1

IPv4网络中的每个主机都具有1秒分辨率的实时时钟,并带有备用电池。每个主机每秒需要生成多达1000个唯一标识符。假设每个主机都有一个全局唯一的IPv4地址。为此,设计一个50位的全局唯一ID。主机生成的标识符将在多长时间(以秒为单位)后回绕?

给出256的答案。


这个问题是数据结构的主题,因为在这里,我需要找到正确的50位全局ID。它询问here before。我不满意,但是没有足够的声誉在那儿发表评论。


我的尝试:

我们有50位唯一ID。 50位可能的唯一ID总数= 2 ^ {50}

幸运的是,每个主机都有32位唯一的IP地址。为了使ID唯一,我们可以在每个唯一ID的前面加上32位。

因此,我们只需要生成其余的18位。因此2 ^ {18}种组合是可能的。

假定每个主机每秒生成1000个ID。

因此,要生成2 ^ {18}组合,将需要2 ^ {18} / 1000秒〜= 262.144秒

我缺少正确答案的地方?你能解释一下吗?

IPv4网络中的每个主机都具有1秒分辨率的实时时钟,并带有备用电池。每个主机每秒需要生成多达1000个唯一标识符。假设每个主机都有一个全局...

data-structures ip-address ipv4
1个回答
1
投票

这个问题的措词很奇怪,但是很明显,您希望使用的ID具有IP地址的32位,时钟的8位低位和计数器的10位。时钟的8位在256秒内回绕。

© www.soinside.com 2019 - 2024. All rights reserved.