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地址吗?的主要内容,如果未能解决你的问题,请参考以下文章

ipv4与ipv6如何转换?计算方法是啥?

ipv4可将ip 地址分为哪几种?主机上可使用的有哪几种?并写出各自的子网掩码

IPv4 和 IPv6 之间的主要区别是啥? [关闭]

IPv6协议替换IPv4协议可以吗?

IPv4如何向IPv6过渡?IPv6过渡转换技术有哪些?

IPv4 和 IPv6 有什么区别