文章目录

  • 什么是IP地址?
  • 什么是子网掩码?
  • 1.网络地址
  • 2.广播地址
  • 3.主机号范围
  • 4. 主机数量
  • 通过ip地址求子网掩码


什么是IP地址?

  • 电脑之间要实现网络通信,就必须要有一个合法的ip地址。
  • IP地址=网络地址+主机地址,(又称:主机号和网络号组成)ip地址的结构使我们可以在Internet上很方便的寻址。
  • ip地址通常用更直观的,以点分隔号的四个十进制数字表示,每个数字从0到255,如某一台主机的ip地址为:128.20.4.1。

什么是子网掩码?

  • 子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。

判断方法:两台计算机各自的IP地址与子网掩码进行and运算后,得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。

首先我们要清楚,知道IP地址与子网掩码后,子网掩码不能单独存在,我们才可以得到下列结果:

  1. 网络地址
  2. 广播地址
  3. 主机号范围
  4. 主机数量

下面的计算以:IP 16.158.165.91/22为例:

1.网络地址

网络地址=ip地址&子网掩码

  • 从例子中可以得到子网掩码占22位,或者说网络地址占22位,主机地址占10位。

2.广播地址

广播地址=网络地址 | ~子网掩码

python计算子网掩码包含的ip 子网掩码求ip地址_子网掩码

  • 简单的来说,可以通过将网络地址中的网络地地址部分(前22位)位不变,主机地址(后10位)全取1得到。

3.主机号范围

网络地址+1即为第一个主机地址,广播地址-1即为最后一个网络在地址。
主机号范围:网络地址+1~广播地址-1
本例的主机号范围为:16.158.164.1~16.158.164.254

4. 主机数量

主机数量=2^主机位二进制位数-2(不包括网络地址和广播地址)

本例的主机数量为:2^10-2。

通过ip地址求子网掩码

  1. 对于无须再划分子网的ip地址,子网掩码很简单,按照定义即可得出,如:B类地址的子网掩码为255.255.0.0;C类地址的子网掩码位255.255.255.0,以此类推。
  2. 对于还需要将高位主机位再划分出子网网络号,其余主机位是子网的主机号,该如何计算出子网掩码?

(1)利用子网数来计算

  • 将ip地址将要划分的子网数目转换为二进制,得到该二进制的位数N;
  • 将ip地址类的子网掩码中的主机号最高N位置为1,就得到了该ip地址划分子网的子网掩码。

例如:将ip地址158.243.0.0划分为28个子网

  • 28转换为二进制为:11100,N位5;
  • 该ip地址为B类网络,类子网掩码为255.255.0.0,将主机位最高前5位置为1后得到:255.255.248.0。即为划分成 28个子网的B类IP地址 158.243.0.0的子网掩码。

(2)利用主机数求子网掩码

  • 将主机数转化为二进制数,得到二进制位数N;
    如果主机数小于等于254(去掉两个特殊地址),则二进制位数N<8,如果大于254,则 N>8,这就是说主机地址将占据不止8位。
  • 将该类ip地址的子网掩码的主机位为全部置1,得到255.255.55.255,再将主机位低N位全部置0,就得到子网掩码。

例如:将ip地址158.243.0.0划分为700台主机

  • 700转换为二进制为:1 1100 0000‬ ,N为9;
  • 将255.255.255.255中主机地址后9位置0,得到:11111111.11111111.11111110.00000000,即255.255.254.0,就是ip地址158.243.0.0子网掩码。