问题标签 [cidr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
5058 浏览

php - 测试 cidr 表示法的网络是否与另一个网络重叠

我正在寻找一种 php 算法,可以有效地测试一个 cidr 表示的网络是否与另一个重叠。

基本上我有以下情况:

cidr 地址数组:

我有一个将网络添加到数组的方法,但是当添加的网络与数组中已经存在的网络重叠时,此方法应该引发异常。

所以即。如果添加了 192.168.10.0/25,则应抛出异常。

有没有人有/知道/“可以想到”一种有效测试它的方法?

0 投票
1 回答
1209 浏览

algorithm - 如何在 trie 表中对 IP 地址进行排序?

我想编写一些代码来在我的 Go 程序中创建一个小的“路由表”。

我正在使用带有http://github.com/petar/GoLLRB包的左倾红黑树,基本上它似乎在对它大惊小怪后可以工作,但是我怀疑我没有对 IP 进行排序创建树时正确添加前缀。我实验使用的“lessThan”函数是

(完整代码在https://gist.github.com/4283789

这似乎给了我正确的结果,但不是很有效。

在我的测试中,我正在添加路线

然后在查找 10.22.0.1 的路线时,它会在找到正确的结果之前查看 10.21.0.0/16 和 10.20.0.0/16。

我应该如何订购我的树以更快地找到正确的结果?

更新:@jnml 对如何更快地进行 IP 比较有一个很好的建议(也许这是我能做的最好的),但在我看来,有一种方法可以利用前缀长度来排序树因此可以在更少的步骤中找到匹配项。这就是我要找的。

0 投票
2 回答
1600 浏览

bash - 从 ifconfig 输出中提取网络掩码并以 CIDR 格式打印

我需要提取两组 IP 的网络掩码并以 CIDR 格式打印到屏幕上。考虑使用 shell 或 tcl 来做到这一点。猜猜这里的主要问题是将十六进制网络掩码转换为 CIDR 格式。

尝试了一些不同的东西,但似乎没有按预期工作。

0 投票
1 回答
1792 浏览

regex - CIDR 表示法中 IPV6 地址的正则表达式

我正在尝试编写一个 lex 模式,它允许我识别 IPV6 地址,包括带有 CIDR 表示法的 IPV6 地址。我使用的模式如下所示。

IPV6ADDRESS_CIDR 的正则表达式没有按预期工作。我正在测试

它似乎无法正确识别。我在这里犯了一些错误吗?

0 投票
2 回答
9148 浏览

python - CIDR子网计算和python ipcalc

我在质疑 Python 的 ipcalc 模块(ipcalc)的结果(似乎 netaddr 可能是更好的选择)。

让我们192.168.1.25/30举个例子。在二进制中,最后一个八位位组是00011001 AND 11111100 = 00011000,所以我得到192.168.1.24Network ID 和 range 192.168.1.24 - 192.168.1.27

使用 ipcalc,当我指定

输出是

我不理解这种不一致。使用 CIDR 表示法时,似乎同时指定192.168.1.24/30and 192.168.1.25/30(or .26/30or .27/30) 指的是同一个子网。

那是对的吗?这只是 ipcalc 模块中的一个错误吗?

0 投票
1 回答
106 浏览

ip - CIDR 二进制读取

大家好,我目前正在学习网络地址..

我想知道这个的 CIDR,因为我对什么是正确的 CIDR 有点困惑......我知道...... IP:202.67.132.1 Sub:255.224.0.0

它的 CIDR 是 202.67.132.1/10

但我对另一个问题感到困惑..

IP:172.16.254.255 子:255.255.253.0

二进制文件是.. 11111111.1111111.11111101.00000000

那么它会是 172.16.254.255/23 吗?还是 /21?/o /24?

我不确定我是否会在 0 之后计算 1 或者当我遇到 0 时我会停止计算?

tnx提前..

0 投票
1 回答
2388 浏览

python - Django 管理员 CIDR 类型

问题是我正在开发一个 Django Admin 项目,它应该能够接受 CIDR 格式的数据并将其放入数据库(Postgres)。

假设我有一个模型:

基于以上代码,net_cidr数据库中的字段为inet类型,支持CIDR格式数据。但是,IPAddressField不支持 CIDR(至少对我不起作用)。如果我想在我的管理站点上输入“128.66.0.0/16”之类的内容,Django 会弹出一个错误,告诉我“输入有效的 IPv4 地址”。

我试图将字段类型更改为 Char,并且它可以工作(当然)。但是,在数据库中将 CIDR 设置为 varchar 并不是一个好主意。

基本上我想要的是让net_cidr能够接受一个I​​P范围,比如“128.66.0.0-128.66.255.255”或一个CIDR块“128.66.0.0/16”并将其保存到数据库中作为“128.66.0.0/16” .

我认为关键部分是如何让IPAddressField接受字符串类型(如 IP 范围或 CIDR 块)数据。然后我可以将其转换为 CIDR 块并将其保存到数据库中。

0 投票
1 回答
1558 浏览

asp.net-mvc-3 - AWS Elastic Beanstalk:未收到数据:无法加载网页

我刚刚通过 Elastic Beanstalk 使用 SQL Server 部署了一个 .NET 应用程序。

似乎我新部署的应用程序无法连接到我的数据库。我刚刚关注了这个视频:http ://www.youtube.com/watch?v= z-N0z5K_WFI(除了我在部署过程中遇到的问题,我不得不取消增量部署)

我能够使用 SQL 管理工作室连接到数据库。我还尝试在连接到亚马逊 RDS 数据库时在本地运行该应用程序并取得了成功。部署后,检查站点并尝试登录/注册,我收到此错误:

No data received 无法加载网页,因为服务器未发送数据。以下是一些建议: 稍后重新加载此网页。错误 324 (net::ERR_EMPTY_RESPONSE):服务器关闭连接而不发送任何数据。

我现在唯一想到的是我的 EC2 或应用程序无法连接到数据库。

这是 CIDR 问题吗?

0 投票
2 回答
382 浏览

networking - 子网零 CIDR 表示法

我和一个朋友正在争论 CIDR 表示法。

如果主机有 /0 掩码会发生什么?

我的朋友说他总是能够与世界上所有的计算机通信,主机总是会要求它的路由器路由它的数据包。

但我认为主机永远不会与其路由器通信,因此无法路由其数据包。

另一个问题:用十六进制写IP地址是否正确?

(对不起我可能的英语错误)

0 投票
1 回答
995 浏览

cidr - CIDR 条目和路由器

路由器在其转发表中具有以下 CIDR 条目: 地址/掩码 下一跳 135.46.56.0/22 接口 A 135.46.60.0/22 接口 B 135.46.40.0/23 接口 C 默认接口 D 路由器将其转发到哪里,如果具有以下 IP 地址的数据包到达:135.46.63.10