哥们来学IP地址的计算啦~~
🥝前置知识:
🥗IP地址格式:
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),如: 01100100.00000100.00000101.00000110。
通常用“点分十进制”的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数),如: 100.4.5.6。
🍙小扩充:
IP协议有两个版本,IPv4 和 IPv6。IPv4 的数量是 2^32 个,大约 43亿 左右。而 TCP/IP协议规定,每个主机都需要一个 IP地址。对于全世界的计算机(其实不光是计算机,还有各种各样的网络设备,比如智能手机/智能手表之类的),因此这些数量远远不够,所以后来推出了 IPv6(长度为128位,那么它的数量就有 2^128 个,这是一个天文数字,据说可以给地球上的每一粒沙子分配一个 网络地址~~)。但是因为目前 IPv4 还广泛使用,且可以使用其他技术来解决 IP地址的问题,所以 IPv6 也就没有普及。
🌯组成:
IP地址 分为两个部分,网络号和主机号
🍖网络号:标识字段,保证相互连接的两个网段具有不同标识。
🍗主机号:标识主机,同一网段内,主机之间具有相同的网络号,但是必须拥有不同的主机号。
通过合理的设置网络号和主机号,就可以保证在相互连接的网络中,每台主机的 IP地址 都是唯一的。
🥪分类:
过去曾经提出一种划分网络号和主机号的方案,把所有IP 地址分为五类,如下图所示:
分类 | 范围 | 适用网络 | 网络数量 | 主机最大连接数 |
A 类 | 0.0.0.0 ~ 127.255.255.255 | 大型网络 | 126个 | 16777214( |
B 类 | 128.0.0.0 ~ 191.255.255.255 | 中等规模网络 | 约16000 个 | 65534( |
C 类 | 192.0.0.0 ~ 223.255.255.255 | 小型网络 | 254( | |
D 类 | 224.0.0.0 ~ 239.255.255.255 | |||
E 类 | 240.0.0.0 ~ 247.255.255.255 |
注意:主机最大连接数减去2,是扣除主机号为全0和全1的特殊IP地址。
特殊的 IP地址:
- 🍨网络号(网段号):将IP地址中的主机地址全部设为0,就成为了网络号,代表这个局域网。
- 🍧广播地址:将IP地址中的主机地址全部设为1,就成为了广播地址,用于给同一个链路中相互连接的所有主机发送数据包。
- 🍦127.*的IP地址用于本机环回(loop back)测试,通常是127.0.0.1 本机环回主要用于本机到本机的网络通信(系统内部为了性能,不会走网络的方式传输), 对于开发网络通信的程序(即网络编程)而言,常见的开发方式都是本机到本机的网络通信。
- 🍬默认网关地址:是主机位除最后一位全置1后得到的。
在上述的分类中,存在 IP地址 浪费的问题:
🍕1. 单位一般会申请 B类网络(C类链接主机数量有限),但实际网络架设时,连接的主机数量又常常小于 65534 (B类连接主机数),造成 IP地址 浪费。同理,A类网络的 IP地址 也会造成大量的浪费。
🍔2.当一个单位申请了一个网络号。他想将该网络能表示的IP地址再分给它下属的几个小单位时,如果再申请新的网络就会造成浪费。
为了解决以上问题,我们引入了子网掩码。
🍈子网掩码:
🍜格式:
子网掩码的格式和 IP地址 的格式一样。它分为两个部分,网络号 和 主机号。网络号 是 子网掩码 的左边部分,用 二进制数 “1” 表示,“1” 的个数表示网络号的长度。主机号 是 子网掩码 的右边部分,用 二进制数 “0” 表示,“0” 的个数表示 主机号 的长度。
子网掩码 也可以用二进制所有高位 1 相加的值来表示,比如 一个子网掩码为 255.255.128.0,它可以表示为 17。
IP地址组成为:网络号+子网号+主机号,网络号和子网号统一为网络标识(划分子网后的网络号/ 网段),比如:191.100.0.0/17
A类网络默认的子网掩码为:255.0.0.0,B类网络默认的子网掩码为:255.255.0.0,C类网络默认的子网掩码为:255.255.255.0
🍛作用:
🥫1.划分子网类的题目:
🥨1)将一个 C类网络划分为20个子网,请问子网掩码为多少合适?
解析:C类网络默认的子网掩码为:255.255.255.0
如果想要用二进制表示20个子网,那么起码要有5个二进制位吧 ->(2^4(16) < 20 < 2^5(32))。
那么我们就需要将 C类网络的子网掩码再向后顺延 5位,即255.255.255.248。
所以子网掩码是 255.255.255.248。
🥐2)IP地址块为211.168.15.192/26. 211.168.15.160/27和211.168.15.128/27三个地址块经聚合后可用地址数为多少?
解析:
211.168.15.192/26
IP地址:11010011.10101000.00001111.11000000
子网掩码:11111111.11111111.11111111.11000000
该 IP地址 的主机号适用范围为后 6 个比特位
211.168.15.160/27
IP地址:11010011.10101000.00001111.10100000
子网掩码:11111111.11111111.11111111.11100000
该 IP地址 的主机号适用范围为后 5 个比特位
211.168.15.128/27
IP地址:11010011.10101000.00001111.10000000
子网掩码:11111111.11111111.11111111.11100000
该 IP地址 的主机号适用范围为后 5 个比特位
综上,这三个 IP地址块 前 25 位的 IP地址 是一样的,因此要聚合它们的前 25位,那么可使用的主机号范围为后 7 个比特位。
因此 聚合后可使用的地址数量为 2^7 - 2 = 126个
tips:减去的两个地址为网段号和广播号。
2.网络通信时,子网掩码结合IP地址,可以计算获得网络号(划分子网后的网络号)及主机号(划分 子网后的主机号)。一般用于判断目的IP与本IP是否为同一个网段。
计算方式:
将 IP 地址和子网掩码进行“按位与”操作(二进制相同位,与操作,两个都是1结果为1,否则为0),得 到的结果就是网络号。
将子网掩码二进制按位取反,再与 IP 地址位与计算,得到的就是主机号。
🍳一个习题:
一个公司有9个部门,要求给每个部门划分不同的网段,但是都在192.168.1.0这个大网内,并且每个部门要容纳10台计算机。怎样进行划分?
🥘解析:
题目给出有9个部门,每个部门10台计算机,也就是说要划分9个以上的子网,每个子网可用主机地址大于10。192.168.1.0为C类地址,默认掩码是24位,即255.255.255.0。由于2的4次方等于16,因此需要借用4位地址作为子网位,掩码就变成了28位,即255.255.255.240。而同时余下的4位主机位可包含14个可用主机地址,满足要求,划分方案之一如下:
1、192.168.1.0,掩码255.255.255.240,可用主机地址14个,范围是192.168.1.1到192.168.1.14。
2、192.168.1.16,掩码255.255.255.240,可用主机地址14个,范围是192.168.1.17到192.168.1.30。
3、192.168.1.32,掩码255.255.255.240,可用主机地址14个,范围是192.168.1.33到192.168.1.46。
4、192.168.1.48,掩码255.255.255.240,可用主机地址14个,范围是192.168.1.49到192.168.1.62。
5、192.168.1.64,掩码255.255.255.240,可用主机地址14个,范围是192.168.1.65到192.168.1.78。
6、192.168.1.80,掩码255.255.255.240,可用主机地址14个,范围是192.168.1.81到192.168.1.94。
7、192.168.1.96,掩码255.255.255.240,可用主机地址14个,范围是192.168.1.1.97到192.168.1.110。
8、192.168.1.112,掩码255.255.255.240,可用主机地址14个,范围是192.168.1.113到192.168.1.126。
9、192.168.1.128,掩码255.255.255.240,可用主机地址14个,范围是192.168.1.129到192.168.1.142。