【发布时间】:2016-10-03 11:31:38
【问题描述】:
目前我有一个 c 函数,它接受一个 ip 地址和子网掩码并检查给定的 ipv4 是否是私有/公共的。
它通过以下逻辑来匹配子网:
(local ipv4 address && local subnetmask) == (given ipv4 && given subnetmask)
ipv6可以写什么逻辑?我可以编写一个函数来接收 IP 和子网前缀。我可以获取本地子网前缀吗?
【问题讨论】:
-
相同的逻辑,更大的数字
-
这是否有意义取决于您要确定的内容。 IPv6 用户通常从 ISP 获得 /48(或至少 /56),而所有子网都是 /64。你想确定地址是否在同一个子网上,或者地址是否属于同一个用户?第二个更难。
-
@Sander Steffann 我正在寻找第一个。我在某处配置了一个 IP,我想知道它是否属于我的子网。如果是,我将其视为私有 IP,否则我将其视为公共 IP。
标签: networking network-programming ipv6 ipv4 windows-networking