IPv4网络中的每台主机都有1秒分辨率的实时时钟和备用电池。每台主机每秒最多需要生成1000个唯一标识符。假设每个主机具有全局唯一的IPv4地址。为此目的设计一个50位全局唯一ID。在什么时间段(以秒为单位)之后,主机生成的标识符会回绕?
答案是256。
这个问题是数据结构的主题,因为在这里,我需要找到正确的50位全局id。它问here before。我不满意,但没有足够的声誉在那里发表任何评论。
我的尝试:
我们在唯一ID中有50位。 50位= 2 ^ {50}
的总可能唯一ID幸运的是,每个主机都有32位唯一的IP地址。为了使ID唯一,我们可以在每个唯一ID前面加上这32位。
因此,我们只需要生成剩余的18位。因此2 ^ {18}种组合是可能的。
每个主机每秒生成1000个ID。
因此,要生成2 ^ {18}个组合,需要2 ^ {18} / 1000秒〜= 262.144秒
我找不到正确的答案?你能解释一下吗?
答案 0 :(得分:1)
问题的措辞非常奇怪,但很明显,您预期使用的ID有来自IP地址的32位,来自时钟的8位低位和来自计数器的10位。时钟的8位在256秒内回绕。