问题标签 [subnet]

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 投票
2 回答
2792 浏览

scala - 最佳 IP 子网匹配

以下代码似乎是我的程序中最热门的地方。

JAVA_OPTS=-Xprof 输出:

Slice、sameElements 甚至 foreach 调用似乎也是从这里最常用的。有人可以就如何优化contains()方法给出一两个建议吗?也许一些技术允许字节分析而不将它们转换为整数?还是没有切片的可靠全序列方法?

函数 SubNet.contains() 将 IP 地址与子网匹配。

我明白,这种优化不会给我带来更好的吞吐量,我只是觉得我在这个简单的函数中花费了这么多时间做错了。

这段代码应该与 IPv6(16 字节)兼容,我不喜欢单独处理 IPv4 大小写的想法。

0 投票
3 回答
2220 浏览

c# - C# - 如何识别列表中的哪些 IP 地址属于特定子网?

我有一个庞大的 IP 地址动态列表、它们的子网掩码和一组给定的子网。我需要一些代码来识别每个地址所在的子网。我保持这个相当模糊,因为我对许多不同的解决方案持开放态度。有人在 C# 中有一些代码可以做类似的事情吗?谢谢!

0 投票
1 回答
2171 浏览

networking - 网络交换机的网络流量隔离行为

Stack Overflow 上的新手。我很惊讶似乎没有人问过这个问题,我希望这是问这个问题的正确地方。我试图确定我是否应该期望常规网络交换机(只是简单的交换机,而不是路由器)能够在交换机内隔离本地网络流量(即定向到 ame 交换机中另一个本地端口的目标流量)?

例如,如果我有 2 台机器连接到同一交换机上的端口(例如,端口 2 和 3)并使用定向的非广播协议(例如 TCP)进行通信,我想确保这两台机器之间的流量是不转发交换子网之外的其余网络。

我正在构建一个家庭网络,我想使用交换机构建专用网络“子网”或“区域”,其中本地子网流量不会转发到“骨干网”或网络的其余部分。请注意,我并不是要阻止这些“区域”之间的任何入站或出站流量,但我只是想为这些区域实施“需要知道”的基础,以限制网络范围内对本地流量的暴露同一个开关。具体来说,我希望骨干网的不必要流量尽可能少。

回到最初的问题:期望任何网络交换机足够聪明,不会将本地流量转发到网络的其余部分,这是否公平?我希望会是这样,但我想确定一下。

PS:您可以假设我在网络上的某个地方有一个 DHCP/WINS 服务器,它将分配 IP 地址等。

我希望这个问题是有道理的,任何帮助将不胜感激!- K。

0 投票
2 回答
2023 浏览

c# - 如何在 Linux 上使用 Mono 查询子网掩码?

在我在开放式嵌入式 Linux 上运行的应用程序(用 MVC3 编写的管理 Web 界面)中,我必须列出所有 TCP/IP 设置。这包括 IP 地址、网关和子网掩码。

以下代码在 MS .Net 下运行良好,但 Mono 2.10 为该"IPv4Mask"属性抛出 NotImplemntedException:

有人知道如何使用 Mono 获取 IPv4 子网掩码吗?

我发现这个问题在 2009 年就已经被问过了,但没有找到任何答案。

0 投票
2 回答
10589 浏览

ip-address - 在 C# 中根据 IP 地址和子网掩码计算子网号

我有一个任务要在 C# 中完成。我有一个:

IP 地址:192.168.1.57 和子网掩码:255.255.0.0

我需要找到子网号,在本例中为 192.168.0.0。

但是,我需要能够在不使用 System.Net 库的情况下在 C# 中执行此操作(我正在编程的系统无法访问该库)。

看起来这个过程应该是这样的:

1) 将 IP 地址拆分为八位字节

2) 将子网掩码拆分为八位字节

3) 子网编号 Octet 1 = IP 地址 Octet 1 Anded 与子网掩码 Octet 1

4) 子网编号 Octet 2 = IP 地址 Octet 2 Anded 与子网掩码 Octet 2

5) 子网编号 Octet 3 = IP 地址 Octet 3 Anded 与子网掩码 Octet 3

6) 子网编号 Octet 4 = IP 地址 Octet 4 Anded 与子网掩码 Octet 4

7) 加入子网号 Octet 1 + 。+ 子网编号八位字节 2 + . + 子网编号八位字节 3 + 。+ 子网号八位字节 4

8)瞧!

但是,我的 C# 很差。有没有人有 C# 知识可以提供帮助?

0 投票
3 回答
7132 浏览

java - 如果两个 IP 在同一个网络中,请使用 Java 测试

如何根据子网掩码测试两个IP是否在同一个网络中?

例如,我有 IP 1.2.3.4 和 1.2.4.3:如果掩码为 255.0.0.0 或 255.255.0.0 甚至 255.255.248.0,则两者都在同一个网络中,但如果掩码为 255.255.255.0..

0 投票
1 回答
1644 浏览

sockets - 在子网掩码和路由方面的主机-设备通信

假设我有带有两个以太网适配器的主机:

  1. LAN 适配器 - 连接到 LAN,自动获取 IP 地址。

  2. 设备适配器 - IP 地址为 192.168.10.1,子网掩码为 255.255.255.0。

我也有硬件设备连接到设备适配器,它像 TCP/IP 服务器一样工作,并配置了 IP 地址 192.168.10.2,子网掩码 255.255.255.0。

我有以下愚蠢的规则来建立主机-设备通信:将两个子网掩码都设置为 255.255.255.0,并定义仅由最后一个组件不同的 IP 地址。没关系,它有效。

现在我正在阅读有关 TCP/IP 通信的全部理论 (www.tcpipguide.com)。如何从网络、子网、掩码、路由等方面描述我的案例?例如,主机程序发送UDP数据报到192.168.10.2,端口1500。这个数据报是如何发送到设备的?做了哪些决策,哪些网络组件参与了数据报的传递?

0 投票
2 回答
2095 浏览

networking - 主机路由表的理解

我有这样配置以太网适配器的主机:IP地址192.170.100.10,子网掩码255.255.255.0。还有一个硬件设备像IP服务器一样工作,配置为:192.170.100.20、255.255.255.0。当我将此设备连接到主机以太网适配器时,以下信息将添加到route print命令输出 (Windows):

我需要对此输出进行一些解释:如何添加这些条目,如何使用它们将网络数据包 192.170.100.* 路由到此适配器。

0 投票
4 回答
98701 浏览

networking - 确定 IP 地址的网络和主机 ID 部分

我需要制定有关如何计算 IP 地址的网络和主机部分的算法。

  1. 主机 ID 是公共部分吗?网络 ID 是用于在本地网络中定位计算机的私有部分吗?

  2. 如果子网掩码的值小于 255,则必须将 IP 地址中的相应八位字节分解为二进制,以确定数字的哪一部分是主机 ID,哪一部分是网络 ID。结果二进制数总是一分为二吗?

    (例如,IP 地址 192.168.33.22 和子网掩码 255.255.224.0 表示持有 33 的八位字节分解如下:0010|0001 表示 0010 是网络 ID 部分,0001 是主机 ID 部分?)

预先感谢您的任何帮助。

0 投票
5 回答
5836 浏览

c# - 在 C# 中计算子网掩码中的位数

我有一个任务要在 C# 中完成。我有一个子网掩码:255.255.128.0。

我需要找到子网掩码中的位数,在本例中为 17。

但是,我需要能够在不使用 System.Net 库的情况下在 C# 中执行此操作(我正在编程的系统无法访问该库)。

看起来这个过程应该是这样的:

1) 将子网掩码拆分为八位字节。

2)将八位字节转换为二进制。

3) 计算每个八位字节中“一”的数量。

4) 输出找到的总数。

但是,我的 C# 很差。有没有人有 C# 知识可以提供帮助?