我可以将哪个子网用于 51. 和 62

Mr.*_*ror 0 networking ip ipv4 subnet

我想使用覆盖的子网

62.0.0.0 和 51.0.0.0 但不是 10.1.1.0/24。

问题是我的网关是 62.14.33.222,ip 是 51.33.11.11。

现在我需要选择涵盖两者的子网。任何的想法

我想要像 /1, /2 这样的东西

Att*_*tie 5

这些是公共 IP 地址,因此您不应该使用它们。退后一步,想想你想要达到的目标,然后用更多细节更新你的问题。

除了这些是公共 IP 之外,使用相距很远的地址意味着您可能应该在它们之间进行路由,而不是调整您的网络掩码……无论您在做什么,它都可能行不通。


直截了当地回答您的问题(并希望对子网有一些了解):

IP 以十进制表示,但网络掩码是“必须匹配的位数”,因此您需要熟悉将十进制转换为二进制。

    62    .     14    .     33    .    222
0011 1110   0000 1110   0010 0001   1101 1110
Run Code Online (Sandbox Code Playgroud)
    51    .     33    .     11    .     11
0011 0011   0010 0001   0000 1011   0000 1011
Run Code Online (Sandbox Code Playgroud)

我们现在可以获取两个二进制地址,并查找第一位不同的时间:

0011 1110   0000 1110   0010 0001   1101 1110
0011 0011   0010 0001   0000 1011   0000 1011
     ^
Run Code Online (Sandbox Code Playgroud)

由于第 5 位是第一个不同的位,因此您的网络掩码需要是:

1111 0000   0000 0000   0000 0000   0000 0000
   240    .     0     .     0     .     0
Run Code Online (Sandbox Code Playgroud)

通常表示为x.x.x.x/4(四个前导1s,后跟所有0s)。


当计算机试图确定它是否可以直接访问远程主机时,它使用网络掩码。下面我们在做按位与运算,然后比较它们。

if ((local_addr AND netmask) == (remote_addr AND netmask)) {
    /* access directly */
} else {
    /* access via router */
}
Run Code Online (Sandbox Code Playgroud)

场景#1(网络掩码/4):

local address:   0011 1110   0000 1110   0010 0001   1101 1110
network mask:    1111 0000   0000 0000   0000 0000   0000 0000
                -----------------------------------------------
local network:   0011 0000   0000 0000   0000 0000   0000 0000
Run Code Online (Sandbox Code Playgroud)
remote address:  0011 0011   0010 0001   0000 1011   0000 1011
network mask:    1111 0000   0000 0000   0000 0000   0000 0000
                -----------------------------------------------
remote network:  0011 0000   0000 0000   0000 0000   0000 0000
Run Code Online (Sandbox Code Playgroud)

本地和远程网络匹配,直接访问。

场景#2(网络掩码/5):

local address:   0011 1110   0000 1110   0010 0001   1101 1110
network mask:    1111 1000   0000 0000   0000 0000   0000 0000
                -----------------------------------------------
local network:   0011 1000   0000 0000   0000 0000   0000 0000
Run Code Online (Sandbox Code Playgroud)
remote address:  0011 0011   0010 0001   0000 1011   0000 1011
network mask:    1111 1000   0000 0000   0000 0000   0000 0000
                -----------------------------------------------
remote network:  0011 0000   0000 0000   0000 0000   0000 0000
Run Code Online (Sandbox Code Playgroud)

本地和远程网络匹配,通过路由器访问。