IPV6范围之间可以存在IPV4地址吗?
Posted
技术标签:
【中文标题】IPV6范围之间可以存在IPV4地址吗?【英文标题】:Can IPV4 address exist between an IPV6 range? 【发布时间】:2021-12-24 18:35:49 【问题描述】:我对 IP 地址概念相对较新,并且正在尝试构建范围检查器。
用例:用户提供一个 IP 地址(可以是 IPv4/IPv6)和一个范围(可以是 2 个 IPv4 地址/2 个 IPv6 地址/1 个 IPv4 和 1 个 IPv6 地址)。
我需要测试给定的IP是否存在于指定范围内。
我只是想知道以下情况是否可行
-
一个 IPv4 地址可以存在于 2 个 IPv6 地址之间吗?
一个 IPv6 地址可以存在于 2 个 IPv4 地址之间吗?
IP 范围可以是 1 个 IPV4 地址和 1 个 IPv6 地址,还是 IP 范围隐含表示相同的类型(例如 fromIPv4 - toIPv4,fromIPv6 - toIPv6)?
注意:当谈到 IPv6 地址时,我指的是所有 IPv6 地址,而不仅仅是那些可以映射到 IPv4 的地址。
【问题讨论】:
这个问题是题外话,因为它显然是关于网络及其工作方式......而不是编程。但这没有任何意义。 IPv4 和 IPv6 是独立的“空格”,所以整个问题似乎是基于一个误解。 (简短的回答是 1)不,2)不,3)后者。) IPv4 和 IPv6 是完全独立的、不兼容的协议,具有不同的寻址方式。 IPv4 地址是 32 位无符号整数,IPv6 地址是 128 位无符号整数,IPX 地址是 96 位。这些协议中没有一个与其他协议有任何关系。 【参考方案1】:IPV6 和 IPV4 是两种不同的协议,根本不相交
只需检查 IPV4 匹配什么模式以及 IPV6 匹配什么模式
IPV4 由四部分组成,每部分的取值范围为 0-255,并用点分隔。
IPV6 由 8 个八位字节组成,以冒号分隔。
主要是因为IPV4使用网络掩码来划分网络部分和主机部分的IP地址
同时IPV6地址在路由前缀和接口id上严格划分
【讨论】:
实际上,IPv4 地址是一个 32 位的无符号整数。点分十进制表示法只是为了方便人类使用,但四个八位字节对 IPv4 没有任何意义。 IPv6 地址是 128 位无符号整数,8 个 16 位字(不是八位字节)上的文本表示法是人类表示 IPv6 地址的三种方式之一,对 IPv6 没有意义。 是的,我的错。我忘记了 IP 地址可以转换为逐位视图。我已经讨论了更多关于人类阅读格式的 IPV4/6 地址表示。所以,是的,IP 地址是不可比较的,因为每个 IP 版本使用的位数。以上是关于IPV6范围之间可以存在IPV4地址吗?的主要内容,如果未能解决你的问题,请参考以下文章