可以在 IPv4 CIDR 表示法中保留尾随的 0 吗?

网络工程 ip ipv4 子网 IP地址
2021-07-05 07:46:58

在 IPv6 中,我们可以在谈论地址时折叠 0。

在 IPv4 中,我可以将 192.168.1.0/24 写为 192.168.1/24 吗?我可以把 10.0.0.0/8 写成 10/8 吗?

我正在开发一些以 CIDR 为参数的软件,我的一些客户提供了这些“简写 CIDR”。我想知道它们是否有效。

谢谢!

3个回答

像这样折叠 IPv4 地址并不是 IPv6 那样的标准。有一些应用程序可以使用这样的地址,但您会发现大多数应用程序都没有。最好在每个 IPv4 八位字节中去掉前导零(有些事情会将前导零误读为八进制表示法),但您不应该折叠八位字节。

虽然以这种方式书写或说话可能是可以接受的,但很少有系统会接受以这种方式输入的地址。最终,没有工程师会输入这样的地址,因此对您的软件进行编码以接受它几乎没有意义。

(例如,10.1/8 是什么意思?在 CIDR 中,这是无稽之谈。在有类系统中,这将是 network == 10、host == 1 或 10.0.0.1。)

Juniper box 很乐意接受像 0/0 或 10/8 这样的路由。IOS 肯定没有,我很确定 XR 也没有。