通过学习 IP地址与子网掩码
主要为了解决两个疑问?
- 我司一共有多少个可用的IP地址?
- 第一个可用的IP地址和最后一个可用的IP地址分别是多少?
子网掩码
用于区分主机所在子网,PC向外发包会首先判断目标IP与自己是否在同一网段,如在同一网段,则直接发送出去,不在同一网段,则发包给网关。
IP地址是以网络号和主机号来标示网络上的主机的,我们把网络号相同的主机称之为本地网络,网络号不相同的主机称之为远程网络主机,本地网络中的主机可以直接相互通信;远程网络中的主机要相互通信必须通过本地网关(Gateway)来传递转发数据。
IP地址
32位二进制分割成4个“8位二进制数”。表示成(A.B.C.D)其中ABCD是0-255十进制整数。
网段:同一网段是指同一个网络号
子网:/26表示网络号 32-26=6表示主机号,子网号是从主机号里面借n位来表示子网。
子网掩码:32位二进制1代表子网位,0代表主机位。掩码位24表示前24位为1,后面均为主机位。子网掩码是用来截取子网号然后再比较的,不是说不同子网的子网掩码就要不同。划分子网要从主机号反推,不要直接算子网号。
IP地址总数:可用主机数(2的n次方)+2(网络地址和广播地址)
可用地址分配:下一个可用起始地址(要跳过2个不可用的地址和1个闭区间)—可用起始地址+最大可容纳数-2-1 总个数为2的n次方-2
网络地址:网络号+主机号全0的地址
广播地址:转换成网络地址,把主机号全置为1就是广播地址
类型 | 全部地址 | 私有地址 | 场景 |
---|---|---|---|
A类 | 1.0.0.1-126.255.255.254 | 10.0.0.0-10.255.255.255 | 大型规模网络 |
B类 | 128.0.0.1-191.255.255.254 | 172.16.0.0-172.31.255.255 | 中等规模网络 |
C类 | 192.0.0.1-233.255.255.254 | 192.168.0.0-192.168.255.255 | 小型规模网络 |
D类 | 224.0.0.1-239.255.255.254 | 多路广播网络 | |
E类 | 240.0.0.1-255.255.255.255 | 保留地址 |
IPV4大约有:2^32^ ≈ 42.28亿,由于一些地址有特殊的用途,所以被保留下来,不允许被大众所使用,那最后真正可用的IPV4可用大约有:36.47亿。
我公司电脑的IP地址是:192.168.37.18
,子网掩码是:255.255.254.0
。
可用总量:一共有 9
个 0
,则是 $2^9$ = 512
可用地址量:512 - 1 个网络位 - 1 个广播位 = 510
网络位:192.168.36.0
广播位:192.168.37.255
第一可用:192.168.36.1
最后可用:192.168.37.254
graph TD A[255.255.254.0] --> |对应二进制值|B(1111 1111.1111 1111.1111 1110.0000 0000) C[192.168.37.18] --> |对应二进制值|D(1100 0000.1010 1000.0010 0101.0001 0010) B --> F(一一对应做 `与` 运算, 即: 只有 1 & 1 = 1, 其余都是 0) D --> F F --> H(1100 0000.1010 1000.0010 0100.0000 0000) H --> |转成十进制|I(192.168.36.0)
只要IP地址与子网掩码做 与
运算后都是 192.168.36.0
,则证明此IP地址与我的IP地址属统一网段。
而IP地址的总量是看子网掩码有多少个 0 即代表 2 的几次方个。此例中共有 9 个 0,即:总共有 2^9^ = 512 个。
IP的每个位上最大数值是 255
,从 0
开始计数,范围是 0~255
,总共有 256 个。第 257 个,则需要第三位增1,即由 192.168.36.255
变成了 192.168.37.0
,所以最后一个IP地址则是 192.168.37.255
。
网段中的两个保留位,不可用于分配IP地址。所以可用的IP地址数量是:512 - 2 = 510
。
- 网段中第一个的是网络位:
192.168.36.0
。 - 网段中最后一个是广播位:
192.168.37.255
。 - 子网掩码:
192.168.36.0/23
。