一、背景
与外公司进行业务合作的时候,需要提供我司的出口ip,用来开通白名单。
去找公司运维问出口ip,得到答复说:XX.XX.XX.128/25 这个网段一百多个ip都是我们的ip
内心:???100+的ip?这个25代表什么?应该是误把255打成25了吧!恩,对的,应该是想说XX.XX.XX.128到XX.XX.XX.255这差不多有100多个的!!
但是毕竟是给外面公司,还是发扬不懂就问的精神吧!于是问了问这个25是什么,运维大哥回答说这是子网掩码。
幸好多问了一句,发现了个知识盲区,所以仔细去了解了下网络的基本知识,并整理记录下来。
二、IP
1.IP 是什么
官方定义:IP 地址是一种在 Internet 上的给主机编址的方式,也称为网际协议地址。IP 地址是 IP 协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。常见的 IP 地址,分为 IPv4 与 IPv6 两大类。主要介绍的是 IPv4 这一类。
2.IP 的表现形式
IP 地址是一个 32 位的二进制数,但为了方便记忆,通常被分割为 4 个 "8 位二进制数",并且用 "点分十进制" 表示为 a.b.c.d
的形式,其中 a,b,c,d 都是 0~255 之间的十进制整数。
3.IP 地址分类

IP 地址分为五类,各类可容纳的地址数目不同:
A 类保留给政府机构(0.0.0.0 到 127.255.255.255)
B 类分配给中等规模的公司(128.0.0.0 到 191.255.255.255)
C 类分配给任何需要的人(192.0.0.0 到 223.255.255.255)
D 类用于组播(224.0.0.0---239.255.255.255)
E 类用于实验(240.0.0.0---247.255.255.255)
A、B、C 三类中 IP 地址 = 网络地址 + 主机地址,而 D、E 两类不区分网络地址和主机地址
特殊说明:
(1)A 类中的 10.X.X.X 是私有地址;127.X.X.X 是保留地址
(2)B 类中的 172.16.0.0~172.31.255.255 是私有地址
(3)C 类中的 192.168.X.X 是私有地址
4. 网络地址和主机地址
网络地址可以简单理解我们平时常说的网段
主机地址则是在这个网段中不同设备的地址
那么提供一个 IP 地址,我们要怎么得到网络地址和主机地址呢?
这时候就轮到子网掩码上场了!
三、子网掩码
1. 作用
子网掩码只有一个作用,就是将一个 IP 地址划分成网络地址和主机地址两部分。
(常见的掩码是由一连串 1 + 一连串 0 构成的,不过看网上资料也说 1 和 0 交替也是可以的)
默认分配的子网掩码每段只有 255 或 0
- A 类的默认子网掩码 255.0.0.0
- B 类的默认子网掩码 255.255.0.0
- C 类的默认子网掩码 255.255.255.0
2. 原理
子网掩码与 IP 地址一样是 32 位地址,然后将 IP 地址与子网掩码进行与运算即可得到网络地址。
例:
IP地址为192.168.10.2,子网掩码为255.255.255.240。
先将十进制转换成二进制:
IP地址: 11000000 10101000 00001010 00000010
子网掩码: 11111111 11111111 11111111 11110000
进行与运算:--------------------------
11000000 10101000 00001010 00000000
则可得其网络标识为192.168.10.0,主机标识为2。
3. 掩码的不同表示形式
已经说过了子网掩码也是 32 位的地址,那么开头的 25 怎么转化呢?
25 的意思是网络号为 25,就代表连续的 25 个 1,然后剩下的用 0 补齐
即 11111111 11111111 11111111 10000000
4. 包含的其他信息
还是以这个信息为例:XX.XX.XX.128/25,我们还可以拿到什么信息呢?
(1)主机号:主机号 + 网络号 = 32,32-25=7
(2)网络地址:当 7 位主机号全为 0,也就是 XX.XX.XX.128
(3)广播地址:当 7 位主机号全为 1,也就是 XX.XX.XX.255
(4)可用地址数量:7 位主机号有 2^7 种结果,但是要去掉网络地址和广播地址,即:2^7-2=126 (这个也就是运维所说的一百多个 ip)
这些信息网上是有工具可以直接帮助计算的,只要了解原理即可。
四、最后
不要不懂装懂,多问问还是没什么坏处的。