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 这样的东西
这些是公共 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)
/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)
本地和远程网络匹配,直接访问。
/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)
本地和远程网络不匹配,通过路由器访问。