【问题标题】:Representing IP address range with mask用掩码表示 IP 地址范围
【发布时间】:2014-09-15 13:36:07
【问题描述】:

给定一个IP地址范围,有没有一种算法可以把它变成一组覆盖所有范围的(ip,mask)对?

【问题讨论】:

  • 一组对还是只有一对(ip,mask)?可以举个例子吗?
  • 对不起,如果我不清楚。我举个例子:对于 192.168.0.0-192.168.255.255 范围,算法将返回 {(192.168.0.0,255.255.0.0)}。当然,这是一个简单的示例,问题始于单个 (ip,mask) 对无法覆盖的范围。此外,解决方案必须是最小的。
  • 然后你应该定义不同对的最小子网长度。例如 192.168.0.100 和 193.168.0.100 都属于 (192.0.0.0, 254.0.0.0) 对,但您可能想要不同的对 (192.0.0.0, 255.0.0.0) 和 (193.0.0.0, 255.0.0.0)。请将此信息添加到您的问题中。
  • Part 2 of this answer 中有一节介绍如何为多个地址找到一个公共网络。

标签: networking ip netmask


【解决方案1】:

如果你只有一个简单的IP,你可以找到你的S.N.掩码、网络的 IP 范围、子网 IP 及其广播 IP。所有 IP 的 S.N 相同。面具。所以,算法是这样的: for i="S.N. IP + 1" to i="Broadcast IP - 1" createPair (i,S.N. mask); 就是这样!

【讨论】:

  • 感谢您的回答,但请参阅我上面的评论。
  • 因此,算法的输入是 IP 范围,输出是对(网络 ID、SN 掩码)。这就是我上面评论的意思,但无论如何,这是一个 CISCO 教程,可以帮助你构建算法。CISCO 它教你如何通过只有一个 IP 范围来检索一些信息。当范围不能被单个 IP 覆盖时,这意味着存在不同的网络,您必须为每个网络应用算法。
猜你喜欢
  • 1970-01-01
  • 2012-05-12
  • 2016-01-15
  • 2016-03-02
  • 2010-12-01
  • 2011-11-27
  • 2013-06-06
  • 2011-07-28
  • 2018-08-16
相关资源
最近更新 更多