子网掩码

问题描述

内网中192.168.1.199的前三组是网络号,后一组是主机号,子网掩码就是255.255.255.0如果IP同样是192.168.1.199 那么子网掩码可以设成255.255.255.192吗,怎么理解?如果在同一个局域网出现这两种掩码可以相互通讯吗?

 

 

 

看过我文章的读者,会知道通信大体有三种方式:

 

  • 自己与自己的通信

  • 与广播域主机通信

  • 与别的广播域主机通信

 

假如主机只有IP地址,如何知道要通信的主机IP,是以上哪一种方式?

 

网络掩码

网络掩码做为一个辅助工具,可以帮助主机区分以上三种情况,所以网络掩码是必不可少的,和IP地址如影相随。

 

最初的网络掩码长度为8的整数倍,8、16、24、32,这里的长度为二进制的长度,即一个字节长度的整数倍。

 

1.1.1.1/8

这个组合经常出现的路由器的配置里,其中“1.1.1.1”为IP地址。“/8”表示网络掩码的长度,8个二进制长度。

 

172.16.1.1/16

“172.16.1.1”为IP地址。“/16”表示网络掩码的长度,16个二进制长度。

 

192.168.1.1/24

“192.168.1.1”为IP地址。“/24”表示网络掩码的长度,24个二进制长度。

 

127.0.0.1/32

“127.0.0.1”为IP地址。“/32”表示网络掩码的长度,32个二进制长度。

 

但是,这种网络掩码的颗粒度太大,不够精细。

 

举一个例子,客户希望一个网段可以容纳1000台主机,使用哪个网络掩码呢?

 

/24掩码肯定不行,这个掩码只能容纳256个IP地址,最多容纳256台主机。

/16掩码可以是可以,可以容纳65536个IP地址,将会浪费64536个IP地址,因为这些IP地址别的网段还不能使用。

 

自然就会产生精细化的网络掩码需求,这个就是子网掩码。

 

子网掩码

如果不对掩码长度是8的整数倍做强制要求,那么就实现精细化的子网掩码。

 

将172.16.1.1/16的16扩展到22,将会产生64个子网段,每个网段可以容纳1024台主机。

 

172.16.0.0/22

172.16.4.0/22

172.16.8.0/22

172.16.12.0/22

172.16.244.0/22

172.16.248.0/22

172.16.252.0/22

 

注意了,22可不是8的整数倍!

 

如果把网络掩码16比作爸爸,那么子网掩码22自然就是儿子,因为有64个儿子分掉爸爸65536个IP地址,每个儿子分1024个IP地址。

 

如果子网掩码是23,意味着将会有128个儿子叫爸爸,儿子们将分掉爸爸的65536个IP地址,每个儿子分得512个IP地址。

 

另外需要注意的是,当172.16.0.0/22表示时,通常表示这是一个网段IP的集合,1024个IP的集合。172.16.0.1/22通常表示一个个体IP 。换句话说,一旦子网掩码没有覆盖的地方不为0时,表示一个IP地址。

 

从前有一个地主,有256间房子,地主家的门牌号码是“192.168.1”,那么他家第一间房子的门牌号码是192.168.1.0,第二间是192.168.1.1,…第256间的编号是192.168.1.255。

地主老了,需要把256间房子分给4个儿子,平均分配,每个儿子可以分64间。

请来一位先生主持公道,先生这么来操作:
192.168.1.0-192.168.1.63 分给大儿子
192.168.1.64-192.168.1.127 分给二儿子
192.168.1.128 -192.168.1.191 分给三儿子
192.168.1.192-192.168.1.255 分给四儿子

如何来描述四个儿子的子网网段呢?
192.168.1.0/26
192.168.1.64/26
192.168.1.128/26
192.168.1.192/26

/26是什么鬼?
255.255.255.192的二进制是多少? “11111111-11111111-11111111-11”大家数数一共多少个1?不用数了,是26个1,为了简化子网掩码的表示,用/26代替255.255.255.192。

按位与运算我们来看大儿子的网段192.168.1.0/26是如何得到的?

以大儿子的房间为例:
192.168.1.0-192.168.1.63

二进制表示:
192.168.1.0

11000000.10101000.00000001.00000000

192.168.1.63

11000000.10101000.00000001.00111111

首尾地址完全相同的是多少?
11000000.10101000.00000001.00

数数一共多少位?26位!那么用这个“192.168.1.0/26”就可以表示大儿子所有房间。

对照房间的门牌号码“192.168.1.199”,很显然属于四儿子的。

Q1:一个主机192.168.1.199/26 能否和直连主机192.168.1.200/24 通信?

可以的,因为都是四儿子的房间。

Q2:一个主机192.168.1.199/26 能否和直连主机192.168.1.1/24 通信? 

 

不可以,因为一个是大儿子的房间,一个是四儿子的房间,无法直连通信

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Linux中查看子网掩码,可以使用以下命令: ``` ifconfig ``` 执行此命令后,您将看到网络接口的详细信息,包括子网掩码子网掩码通常在“inet addr”字段旁边列出。 您的问题是关于如何在Linux中查看子网掩码。确实,要在Linux中查看子网掩码,可以使用 `ifconfig` 命令。执行此命令后,您将看到网络接口的详细信息,包括子网掩码子网掩码通常在 "inet addr" 字段旁边列出。 以下是使用 `ifconfig` 命令查看子网掩码的示例输出: ``` $ ifconfig eth0 Link encap:Ethernet HWaddr 00:11:22:33:44:55 inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:17748 errors:0 dropped:0 overruns:0 frame:0 TX packets:13242 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:23419215 (22.3 MiB) TX bytes:1875527 (1.7 MiB) Interrupt:20 Memory:f7fe0000-f8000000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:1250 errors:0 dropped:0 overruns:0 frame:0 TX packets:1250 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:103602 (101.1 KiB) TX bytes:103602 (101.1 KiB) ``` 在上面的输出中,您可以看到 `eth0` 网络接口的详细信息,其中子网掩码为 `Mask:255.255.255.0`。这意味着该网络接口使用了 24 位的子网掩码。要查看Linux系统中的子网掩码,可以通过以下命令: ``` ifconfig ``` 该命令会显示系统上所有网络接口的配置信息,包括每个接口的IP地址、子网掩码、MAC地址等。可以根据需要找到相应的接口并查看其子网掩码。 可以使用ifconfig命令来查看网络接口的信息,包括子网掩码。要在Linux中查看子网掩码,可以使用ifconfig命令。 打开终端窗口,输入ifconfig命令并按下回车键。会显示当前系统上所有网络接口的信息。查找您要查看子网掩码的网络接口,并查看inet addr和Mask两个字段。其中,Mask字段即为子网掩码。要查看 Linux 中的子网掩码,可以使用以下命令之一: 1. ifconfig 命令: 在终端输入 ifconfig,然后找到你想要查看的网络接口(例如 eth0),它的子网掩码应该在输出中显示出来。 2. ip 命令: 在终端输入 ip addr show,然后找到你想要查看的网络接口(例如 eth0),它的子网掩码应该在输出中显示出来。 无论使用哪种命令,子网掩码通常显示为类似于“Mask:255.255.255.0”的一行。 可以使用ifconfig命令查看子网掩码。 您可以使用ifconfig命令来查看Linux系统的子网掩码。要查看Linux中的子网掩码,可以使用命令"ifconfig"或"ip addr"。在命令输出中,子网掩码通常显示为"Mask"或"netmask"。例如,如果您想查看eth0接口的子网掩码,可以使用以下命令: ifconfig eth0 或者 ip addr show eth0 命令输出中会显示接口的详细信息,包括子网掩码。在Linux中,您可以使用以下命令查看子网掩码: ``` ifconfig ``` 在输出中,可以看到每个网络接口的IP地址和子网掩码。例如,如果您想查看eth0接口的子网掩码,可以查找类似于以下内容的行: ``` inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 ``` 在这个例子中,子网掩码为255.255.255.0。要查看Linux系统中的子网掩码,可以通过以下命令来查看: ``` ifconfig ``` 执行这个命令后,会输出当前系统中所有网络接口的详细信息,包括每个接口的IP地址、子网掩码等信息。可以根据自己需要找到相应的接口信息,并查看其对应的子网掩码。 可以使用ifconfig命令查看Linux系统的子网掩码信息。要在Linux中查看子网掩码,可以使用以下命令: ``` ifconfig ``` 这将显示您计算机上所有网络接口的详细信息,包括子网掩码。在ifconfig输出中,子网掩码通常被标记为“netmask”。要在Linux中查看子网掩码,可以通过执行以下命令来获取当前网络接口的详细信息: ``` ifconfig ``` 此命令将显示当前网络接口的详细信息,包括IP地址、子网掩码和广播地址等。子网掩码通常在inet地址下方的netmask字段中列出。在Linux中,可以使用ifconfig命令来查看子网掩码。具体步骤如下: 1. 打开终端,输入ifconfig命令,并按下回车键。 2. 找到你想查看子网掩码的网络接口,通常是eth0或者wlan0,然后记录下它的名称。 3. 输入以下命令并按下回车键:ifconfig [接口名称] 4. 在接口的信息中,可以找到子网掩码的信息,通常在inet addr后面的netmask一栏中。 例如,如果你想查看eth0的子网掩码,你可以在终端中输入ifconfig eth0,并查找netmask信息。要查看 Linux 中的子网掩码,您可以使用命令行工具 ifconfig 或 ip addr。 使用 ifconfig 命令时,输入 ifconfig 命令,然后查找您想要查看子网掩码的网络接口(如 eth0 或 wlan0),并在输出中查找“netmask”一词及其后面的数字,这就是子网掩码。 使用 ip addr 命令时,输入 ip addr 命令,然后查找您想要查看子网掩码的网络接口(如 eth0 或 wlan0),并在输出中查找“inet”一词及其后面的数字和“netmask”一词及其后面的数字,后者就是子网掩码。要在Linux中查看子网掩码,您可以使用以下命令之一: 1. `ifconfig` 命令:输入 `ifconfig` 命令并按回车键,然后查找您想要检查的网络接口。 子网掩码通常位于“inet addr”行下方。 子网掩码在 Linux 中,可以使用以下命令来查看子网掩码: ``` ifconfig ``` 执行该命令后,会显示当前系统中所有网络接口的详细信息,包括每个接口的 IP 地址、子网掩码、MAC 地址等。可以根据需要找到对应的接口和子网掩码信息。要在Linux中查看子网掩码,您可以使用ifconfig命令。在终端中输入ifconfig命令,然后找到您要查看其子网掩码的网络接口。子网掩码通常显示在inet addr行的后面,以“Mask”开头。例如,如果您要查看eth0接口的子网掩码,可以运行以下命令: ``` ifconfig eth0 ``` 然后在输出中查找类似于以下内容的行: ``` inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0 ``` 这个例子中的子网掩码是255.255.255.0。要在Linux中查看子网掩码,可以使用ifconfig命令。输入ifconfig命令后,会显示网络接口的详细信息,包括IP地址和子网掩码子网掩码通常显示为类似于255.255.255.0的格式。要查看 Linux 中的子网掩码,可以使用 ifconfig 命令。在终端中输入 ifconfig,然后找到你想查看的网络接口,例如 eth0。在该接口的信息中,可以找到子网掩码的信息。一般情况下,子网掩码的信息在 inet 地址后面,用 netmask 标识。要查看Linux中的子网掩码,您可以使用以下命令: ``` ifconfig ``` 这将显示您的网络接口的详细信息,包括IP地址和子网掩码。在输出中,子网掩码通常列在“netmask”或“Mask”字段下面。要在Linux中查看子网掩码,您可以使用ifconfig命令。在终端中输入ifconfig,然后找到您想要查看子网掩码的网络接口(通常是eth0或wlan0)。在该接口的信息中,子网掩码通常标记为“Mask”或“netmask”。要查看Linux系统中的子网掩码,可以使用以下命令: ``` ifconfig ``` 在命令行中输入该命令后,会显示所有网络接口的详细信息,包括子网掩码子网掩码通常在inet地址的后面,标记为“netmask”。要在Linux系统中查看子网掩码,可以使用ifconfig命令。具体操作如下: 1. 打开终端或命令行窗口。 2. 输入ifconfig命令,并按回车键执行。 3. 找到你要查看子网掩码的网络接口,一般是eth0或wlan0。 4. 在该接口下方,可以看到inet地址和子网掩码。 例如,如果你要查看eth0接口的子网掩码,可以输入以下命令: ifconfig eth0 执行后,你可以在输出信息中找到子网掩码。 可以使用ifconfig命令查看Linux系统的子网掩码,例如:ifconfig | grep -i mask。要查看Linux系统的子网掩码,可以使用ifconfig命令。在终端窗口中输入ifconfig,然后按Enter键,会显示网络接口的详细信息,其中包括子网掩码。在输出中,子网掩码通常被标记为“netmask”,其后面跟着一系列数字,例如255.255.255.0。要查看 Linux 中的子网掩码,可以使用以下命令: ``` ifconfig ``` 在输出中,你会看到类似于下面这样的信息: ``` eth0 Link encap:Ethernet HWaddr 00:11:22:33:44:55 inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:289639 errors:0 dropped:0 overruns:0 frame:0 TX packets:179710 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:334595871 (334.5 MB) TX bytes:31502269 (31.5 MB) Interrupt:17 Base address:0x6000 ``` 其中 "Mask" 就是子网掩码。在上面的示例中,子网掩码为 "255.255.255.0"。要查看Linux操作系统中的子网掩码,可以使用以下命令: ``` ifconfig ``` 执行此命令后,您将看到类似以下的输出: ``` eth0 Link encap:Ethernet HWaddr 00:11:22:33:44:55 inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1123456 errors:0 dropped:0 overruns:0 frame:0 TX packets:654321 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1234567890 (1.2 GB) TX bytes:987654321 (987.6 MB) ``` 在这个输出中,子网掩码位于“Mask”一行中,显示为255.255.255.0。你好!如果你想在Linux系统中查看子网掩码,请按照以下步骤: 1. 打开终端窗口 2. 输入命令 ifconfig 并按回车键 3. 查找你正在使用的网络接口,通常是 eth0 或 wlan0。它们可以在以“inet addr”为标题的行中找到。 4. 子网掩码通常在“Mask”字段中列出。 希望这可以帮助你! ### 回答2: 在Linux系统中,查看子网掩码的方法取决于当前的网络管理工具。以下是常用的几种方法: 1. 使用命令行 首先,我们需要打开终端并登录到Linux系统,然后使用ifconfig命令查看网卡的配置信息。使用该命令输出的信息中包含子网掩码的字段,例如在wlp2s0网卡中: ``` ifconfig wlp2s0 ``` 该命令输出的信息包含了网卡的基本配置信息,例如IP地址、掩码、广播地址、MAC地址等。子网掩码通常会列在掩码字段中,如下所示: ``` inet 192.168.1.101 netmask 255.255.255.0 broadcast 192.168.1.255 ``` 上述信息中的“255.255.255.0”就是子网掩码。 2. 使用网络管理工具 如果使用的是基于图形界面的Linux系统,那么我们可以使用网络管理工具来查看子网掩码。这些工具通常集成在网络设置的菜单中,例如在Ubuntu中,可以通过以下步骤找到子网掩码: - 打开“设置”或“控制中心”; - 选择“网络”或“网络设置”; - 选择当前正在使用的网络连接; - 查看子网掩码字段。 3. 使用命令ip 在Linux系统中,还可以使用ip命令来查看子网掩码。该命令需要使用sudo权限,例如在Ubuntu中可以通过以下命令查看wlp2s0网卡的子网掩码: ``` sudo ip address show wlp2s0 ``` 该命令输出的信息中,掩码字段以“inet”开头,例如: ``` inet 192.168.1.101/24 brd 192.168.1.255 scope global dynamic wlp2s0 ``` 上述信息中的“/24”就表示子网掩码,等同于“255.255.255.0”。 总之,在Linux系统中查看子网掩码的方法较为简单,无论是使用ifconfig、网络管理工具还是ip命令,都能轻松获取到此信息。 ### 回答3: 在Linux系统中,可以使用ifconfig命令查看当前主机网络设备的配置信息,包括IP地址、子网掩码等。下面是具体的操作步骤: 1. 打开终端窗口,输入ifconfig命令查看当前网络设备的配置信息,如下所示: ``` ifconfig ``` 2. 找到你想要查看的网络设备,通常为ethX或wlanX(X为数字,代表不同的设备),例如eth0。接着输入以下命令查看该设备的详细信息: ``` ifconfig eth0 ``` 3. 在输出信息中,可以找到子网掩码的信息,通常以“Mask”或“netmask”表示。例如,下面的输出中显示子网掩码为255.255.255.0: ``` eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::225:90ff:fe8e:fc88 prefixlen 64 scopeid 0x20<link> ether 00:25:90:8e:fc:88 txqueuelen 1000 (Ethernet) RX packets 147405 bytes 101663234 (96.9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 44554 bytes 5754121 (5.4 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ``` 4. 如果想要更方便地查看子网掩码信息,可以使用ip命令进行查询,例如: ``` ip address show eth0 | grep "inet " ``` 上述命令将只输出该设备的IP地址和子网掩码信息,便于用户查看。以上就是在Linux系统中查看子网掩码的方法,希望可以帮助到大家。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值