第05章 IP地址和子网划分
5.1 学习IP地址预备知识
5.1.1 二进制和十进制
二进制 十进制
1000 0000 128
1100 0000 192
1110 0000 224
1111 0000 240
1111 1000 248
1111 1100 252
1111 1110 254
1111 1111 255
画一个0-255的数轴帮你记忆关键数值
5.1.2 二进制数的规律
能够被2整除的数,写成二进制形式,后一位是0。如果余数是1,则最后一位是1。
能够被4整除的数,写成二进制形式,后两位是00。如果余数是2,那就把2写成二进制,后两位10。
能够够8整除的数,写成二进制形式,最后三位是000。如果余5,就把5写成位二进制,后三位101。
能够被16整除的数,写成二进制形式,最后四位都是0000。如果余6,就把6写成二进制,最后四位0110。
817二进制后3位,除以8余1,最后三位位001
后2位除4,后4位除16
5.2 理解IP地址
5.2.1 MAC地址和IP地址
数据包的目标IP地址决定了数据包最终到达哪一个计算机,而目标MAC地址决定了该数据包下一跳由哪个设备接收,不一定是终点。
5.2.2 IP地址的组成
路由器使用网段第一个地址
32位的二进制作为IP地址,其分为两部分,网络部分和主机部分。就像电话号码有区号和电话号一样。
计算机的IP地址也有两部分组成,一部分为网络标识,一部分为主机标识,同一网段的计算机网络部分相同,路由器连接不同网段,负责不同网段之间的数据转发,交换机连接的是同一网段的计算机。
计算机在和其他计算机通信之前,首先要判断目标IP地址和自己的IP地址是否在一个网段,这决定了数据链层的目标MAC地址是目标计算机的还是路由器接口的MAC地址。
5.2.3 IP地址格式
IP地址用32位二进制来表示,也就是32比特,换算成字节,就是4个字节。
这些位通常被分割为4个部分,每一部分8位二进制,中间使用符号“.”分开,分成4部分的二进制地址,10101100.00010000.00011110.00111000, IP地址经常被写成十进制的形式,于是,上面的IP地址可以表示为“172.16.30.56”。IP地址的这种表示法叫做“点分十进制表示法”。
本书为了方便说明,将IP地址分为第1部分,第2部分、第3部分和第4部分。
5.2.4 子网掩码的作用
子网掩码(Subnet Mask)又叫网络掩码、地址掩码,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
ip地址与子网掩码的与结果为ip地址所在网段
同一个网段的中的计算机子网掩码相同,计算机的网关就就是到其他网段的出口,也就是路由器接口地址。路由器接口使用的地址可以是本网段中任何一个地址,不过通常使用该网段的第一个可用的地址或最后一个可用的地址,这是为了尽可能避免和网络中的计算机地址冲突。
5.3 IP地址分类
5.3.1 A类地址
网络地址的最高位是0的地址为A类地址。网络ID是0不能用,127作为保留网段,因此A类地址的第1部分取值范围1-126。
A类网络默认子网掩码为255.0.0.0。主机ID由第2部分、第3部分和第4部分组成,每部分的取值范围0-255,共256种取值,你要是学过排列组合就知道,一个A类网络主机数量是256×256×256=166777216,这里还需减去2,主机ID全0的地址为网络地址,而主机ID全部为1的地址为广播地址,
5.3.2 B类地址
网络地址的最高位是10的地址为B类地址。IP地址第1部分的取值范围为128-191。
B类网络默认子网掩码为255.255.0.0。主机ID由第3部分和第4部分组成,每个B类网络可以容纳的最大主机数量256×256-2(全0全1)=65023。
5.3.3 C类地址
网络地址的最高位是110的地址为C类地址。IP地址第1部分的取值范围为192-223。
C类网络默认子网掩码为255.255.255.0。主机ID由第4部分组成,每个C类网络可以容纳的最大主机数量256-2=254。
5.3.4 D类和E类地址
网络地址的最高位是1110的地址为D类地址。D类地址第1部分的取值范围为224-239。用于**多播(也称为组播)**的地址,组播地址没有子网掩码。
网络地址的最高位是11110的地址为E类地址。第一部分取值范围240-254,保留为今后使用,在本书中并不讨论这些类型的地址(并且你也不要求了解这些内容)。
5.3.5保留的IP地址
主机ID全为0的地址:特指某个网段,比如192.168.10.0 255.255.255.0,指192.168.10.0网段。
主机ID全为1的地址:特指该网段的全部主机,如果你的计算机发送数据包使用主机ID全是1的IP地址,数据链层地址用广播地址FF-FF-FF-FF-FF-FF。
127.0.0.1:是本地环回地址,指本机地址,一般用来测试使用。回送地址(127.x.x.x)是本机回送地址(Loopback Address),即主机IP堆栈内部的IP地址。
169.254.0.0:169.254.0.0-169.254.255.255实际上是自动私有IP地址,当没有DHCP服务,请求不到ip地址后ip地址变成这个。
0.0.0.0:如果计算机的IP地址和网络中的其他计算机地址冲突,使用ipconfig命令看到的就是0.0.0.0,子网掩码也是0.0.0.0,
实战演示
实战1:本地环回地址
实战2:给本网段发送广播
5.4私网地址和公网地址
5.4.1公网地址
公有地址分配和管理由Inter NIC(Internet Network Information Center 因特网信息中心)负责。各级ISP使用的公网地址都需要向Inter NIC提出申请,有Inter NIC统一发放,这样就能确保地址块不冲突。
公网地址全球统一规划,网段不能冲突和叠加。
5.4.2私网地址
创建IP寻址方案的人也创建了私网IP地址。这些地址可以被用于私有网络,在Internet没有这些IP地址,Internet上的路由器也没有到私有网络的路由表。
下面是保留的私网地址。
A类:10.0.0.0 255.0.0.0,保留了一个A类网络。一般学校公司使用。
B类:172.16.0.0 255.255.0.0~172.31.0.0 255.255.0.0,保留了16个B类网络。
C类:192.168.0.0 255.255.255.0~192.168.255.0 255.255.255.0,保留了256个C类网络。一般家庭路由器使用。
私网地址访问Internet需要NAT或PAT
5.5子网划分
5.5.1地址浪费
避免公网地址浪费 充分利用
按着IP地址传统的分类方法,一个网段有200台计算机,分配一个C类网络,212.2.3.0 255.255.255.0,可用的地址范围212.2.3.1—212.2.3.254,虽然没有全部用完,这种情况还不算是极大浪费。
如果一个网络中有400台计算机,分配一个C类网络,地址就不够用了,那就分配一个B类网络,131.107.0.0 255.255.0.0,该B类网络可用的地址范围131.107.0.1—131.107.255.254,一共有56634个地址可用,这就造成了极大浪费。
5.5.2等长子网划分
-
子网划分,就是借用现有网段的主机位做子网位,划分出多个子网。子网划分的任务包括两部分:
-
等长子网划分就是将一个网段等分成多个网段,也就是等分成多个子网。
- 确定子网掩码的长度。
- 确定子网中第一个可用的IP地址和最后一个可用的IP地址。
(1)等分成两个子网
A和B两个子网的子网掩码都为255.255.255.128。
A子网网段为为192.168.0.0,可用的地址范围为192.168.0.1~192.168.0.126,IP地址192.168.0.0由于主机位全为0,不能分配给计算机使用,如图192.168.0.127由于其主机位全为1,不能分配计算机。
B子网网段为为192.168.0.128,可用的地址范围为192.168.0.129~192.168.0.255,IP地址192.168.0.128由于主机位全为0,不能分配给计算机使用,如图192.168.0.256由于其主机位全为1,不能分配计算机。
(2)等分成四个子网
要想分成4个子网,你需要将子网掩码往右移动两位,这样第1位和第2位就变为网络位。你就可以分成4个子网,第1位和第2位为00是A子网,01是B子网,10是C子网,11是D子网。
范围:二分点,前减二,后加一,最后一个减一
每个子网的最后一个地址都是本子网的广播地址,不能分配给计算机使用,的A子网的63、B子网的127、C子网的191和D子网的255。
(3)等分为八个子网
把一个C类网络等分成8个子网,如图5-40所示,子网掩码需要往右移3位。才能划分出8个子网,第1位、第2位和第3位都变成网络位。
5.5.3 B类网络子网划分
将131.107.0.0 255.255.0.0等分成2个子网。子网掩码往右移动1位,就能等分成两个子网。
5.5.4 A类地址子网划分
A类网络42.0.0.0 255.0.0.0等分成4个子网为例,写出各个子网的第一个和最后一个可用的IP地址。
每个子网第一个和最后一个可用地址
5.6变长子网划分
5.6.1变长子网划分
规律:如果一个子网地址块是原来网段的 ( 1/2 )n,子网掩码就
在原网段的基础上后移n位,不等长子网,子网掩码也不同。
5.6.2点到点网络的子网掩码
每个子网是原来网络的是 ( 1/6 )n
子网掩码向后移动6位,11111111.11111111.11111111.11111100写成十进制子网掩码也就是255.255.255.252。
5.6.3子网掩码另一种表示方法-CIDR
IP地址有“类”的概念,A类地址默认子网掩码255.0.0.0、B类地址默认子网掩码255.255.0.0、C类地址默认子网掩码255.255.255.0。等长子网划分和变长子网划分,打破了IP地址“类”的概念,子网掩码也打破了字节的限制,这种子网掩码被称为VLSM(Variable Length Subnet Masking,可变长子网掩码)
这种方式的也可以使得Internet上的路由器路由表大大精简,被称为CIDR(无类域间路由,Classless Inter-Domain Routing),子网掩码中1的个数被称为CIDR值。
子网掩码的二进制写法以及相对应的CIDR的斜线表示
二进制子网掩码 子网掩码 CIDR值
11111111.00000000.00000000.00000000 255.0.0.0 /8
11111111.10000000.00000000.00000000 255.128.0.0 /9
11111111.11000000.00000000.00000000 255.192.0.0 /10
11111111.11100000.00000000.00000000 255.224.0.0 /11
11111111.11110000.00000000.00000000 255.240.0.0 /12
11111111.11111000.00000000.00000000 255.248.0.0 /13
11111111.11111100.00000000.00000000 255.252.0.0 /14
11111111.11111110.00000000.00000000 255.254.0.0 /15
11111111.11111111.00000000.00000000 255.255.0.0 /16
11111111.11111111.10000000.00000000 255.255.128.0 /17
11111111.11111111.11000000.00000000 255.255.192.0 /18
11111111.11111111.11100000.00000000 255.255.224.0 /19
11111111.11111111.11110000.00000000 255.255.240.0 /20
11111111.11111111.11111000.00000000 255.255.248.0 /21
11111111.11111111.11111100.00000000 255.255.252.0 /22
11111111.11111111.11111110.00000000 255.255.254.0 /23
11111111.11111111.11111111.00000000 255.255.255.0 /24
11111111.11111111.11111111.10000000 255.255.255.128 /25
11111111.11111111.11111111.11000000 255.255.255.192 /26
11111111.11111111.11111111.11100000 255.255.255.224 /27
11111111.11111111.11111111.11110000 255.255.255.240 /28
11111111.11111111.11111111.11111000 255.255.255.248 /29
11111111.11111111.11111111.11111100 255.255.255.252 /30
5.6.4判断IP地址所属的网段1
IP地址中主机位归0就是该主机所在的网段。
判断192.168.0.101/26所属的子网。
判断192.168.0.101/27所属的子网。
总结
子网划分需要注意的几点:
将一个网络等分成2个子网,每个子网肯定是原来的一半。
子网地址范围不可重叠
5.7超网合并网段
5.7.1合并网段
某企业有一个网段,该网段有200台计算机,使用192.168.0.0 255.255.255.0网段,后来计算机数量增加到400台。
有没有更好的办法,让这两个C类网段的计算机认为在一个网段?这就需要将192.168.0.0/24和192.168.1.0/24 两个C类网络合并。
合并网段的规律
合并之后,IP地址192.168.0.255/23就可以给计算机使用。
规律
子网掩码往左移1位,能够合并两个连续的网段,但不是任何连续的网段都能合并。
5.7.2不是任何连续的网段都能合并
192.168.1.0/24和192.168.2.0/24 两个网段就不能通过向前移动一位子网掩码而合并。
可以移动两位能够合并成一个网段,实际上合并了4个网段。
192.168.2.0/24和192.168.3.0/24 却可以移动移动一位子网掩码而合并,因为23位都是1
5.7.3哪些连续的网段能够合并
(1)判断两个子网是否能够合并。
结论:判断连续的2个网段是否能够合并,只要第一个网络号能被2整除,就能够通过左移1位子网掩码合并。
思考
131.107.31.0/24和131.107.32.0/24是否能够左移1位子网掩码合并?不能
131.107.142.0/24和131.107.143.0/24是否能够左移1位子网掩码合并?能
(2)判断4个网段是否能合并
规律:要合并连续的四个网络,只要第一个网络的网络号写成二进制后面两位是00,这四个网段就能合并,根据5.1.2讲到的二进制数的规律,只要一个数能够被4整除,写成二进制最后两位肯定是00。
结论:判断连续的4个网段是否能够合并,只要第一个网络号能被4整除,就能够通过左移2位子网掩码合并将这4个网段合并。
依次类推,要想判断连续的8个网段是否能够合并,只要第一个网络号能被8整除,这8个连续的网段就能够通过左移3位子网掩码合并。
思考
判断131.107.232.0/24、131.107.233.0/24、131.107.234.0/24和131.107.235.0/24这四个网段是否能够左移2位子网掩码合并成一个网段。能
5.7.4 网段合并的规律
网段合并的规律,子网掩码左移1位能够将能够合并两个网段,左移2位,能够合并四个网段,左移3位,能够合并8个网段。
5.7.5 判断一个网段是超网还是子网
通过左移子网掩码合并多个网段,右移子网掩码将一个网段划分成多个子网,使得IP地址打破了传统的A类、B类、C类的界限。
判断一个网段到底是子网还是超网,就要看该网段是A类网络、还是B类网络、还是C类网络,默认A类子网掩码/8,B类子网掩码是/16,C类子网掩码是/24。
如果该网段的子网掩码比默认子网掩码长,就是子网,如果该网段的子网掩码比默认子网掩码短,则是超网。
思考
12.3.0.0/16这是A类网络还是C类网络呢?是超网还是子网呢?
IP地址的第一部分是12,这是一个A类网络,A类地址默认子网掩码是/8,该网络的子网掩码是/16,比默认子网掩码长,所以说这是A类网的一个子网。
222.3.0.0/16这是C类网络还是B类网络呢?是超网还是子网呢?
超网
A:1~126 255.0.0.0
B:128.1~191.255 255.255.0.0
C192.0.1.1~223.255.255.254 255.255.255.0
D:224.0.0.1-239.255.255.254