首页 > 基础理论 > 计算机网络基础:子网划分详解
2024
09-25

计算机网络基础:子网划分详解

一、子网划分概述
子网划分允许从主机位中取出部分位用作子网位,这样就可以将一个标准的IP网络划分成几个小的网络,从而将“网络ID+主机ID”二层结构变成“网络ID+子网ID+主机ID”的三层结构,以提高IP地址的利用率。可以将一个标准的IP地址(IP网络)根据需要划分为不同的几个子网络。这种做法叫作划分子网,或子网寻址或子网路由选择。

d009b3de9c82d158785cdb52cfbbf7dfbe3e42b4.jpg

采用借位的方式,从主机最高位开始借位变为新的子网位,剩余部分仍为主机位。这使得IP地址的结构分为三部分:网络位、子网位和主机位。举个例子:

假设我们有一个B类地址:172.16.0.0/16。默认情况下,这个B类地址的掩码为255.255.0.0,前两个八位组是网络位,后两个八位组是主机位。那么这个个单一的网络中,有2的16次方个IP地址,非常庞大。

5fdf8db1cb13495418248f8019ff7c5fd0094a50.jpg

现在,我们将原有的16个位的网络位向主机位去“借”一位,这样一来网络位就扩充到了17位,相对的主机位就变成了15位。那么借过来的这一位,就是子网位了。由于我们借了这一位,因此掩码就从默认的255.255.0.0变成了255.255.128.0或者说从/16变成了/17。

622762d0f703918f2a6f6ef8018cc89058eec4fb.jpg

于是我们从原来的只有172.16.0.0/16的一个大网段,变成现在拥有172.16.0.0/17及172.16..128.0/17这两个小一点的网段。这就是子网划分。
划分子网后,子网号为全0或全1的子网原则上不可使用。“全0子网”代表的是对应子网的“子网ID”部分各位都是0,是第一个子网。“全1子网”代表的是对应子网的“子网ID”部分各位都是1,是最后一个子网。
RFC950参考规定:第一个子网(也就是“全0子网”)和最后一个子网(也就是“全1子网”)不可用,为的就是避免全0子网的网络地址和全1子网的广播地址分别与没有划分子网前的网络地址和广播地址相冲突。 但是在后来RFC1878规定中,该项规定已被废止了,现在的设备基本上都普遍支持RFC1878。

377adab44aed2e73acda18b8d7b04f8c86d6faa8.jpg

二、子网掩码
Internet的标准规定:所有的网络都必须使用子网掩码,同时在路由器的路由表中也必须有子网掩码这一栏。如果一个网络不划分子网,那么该网络的子网掩码就使用默认子网掩码。
因为子网掩码就是用来区分地址中有没有子网号的,帮助确定一个IP地址的真正网络地址和主机地址。两台主机要通信,根据子网掩码,首先要判断是否处于同一网段,即网络地址是否相同。如果相同,那么可以把数据包直接发送到目标主机,否则就需要路由网关将数据包转发送到目的地。可以这么简单的理解:A主机要与B主机通信,A和B各自的IP地址与A主机的子网掩码进行And与运算,看得出的结果:
1、结果如果相同,则说明这两台主机是处于同一个网段,这样A可以通过ARP广播发现B的MAC地址,B也可以发现A的MAC地址来实现正常通信。2、如果结果不同,ARP广播会在本地网关终结,这时候A会把发给B的数据包先发给本地网关,网关再根据B主机的IP地址来查询路由表,再将数据包继续传递转发,最终送达到目的地B。
计算机的网关(Gateway)就是到其他网段的出口,也就是路由器接口IP地址。路由器接口使用的IP地址可以是本网段中任何一个地址,不过通常使用该网段的第一个可用的地址或最后一个可用的地址,这是为了尽可能避免和本网段中的主机地址冲突。
默认子网掩码中1的位置和IP地址中的网络位相对应,0的位置和主机位相对应,因此A、B、C三类IP地址的默认子网掩码如下:
A类地址的默认子网掩码为255.0.0.0,即0xFF000000。
B类地址的默认子网掩码为255.255.0.0,即0xFFFF0000。
C类地址的默认子网掩码为255.255.255.0,即0xFFFFFF00。

024f78f0f736afc38e3fc930e3a805c3b64512e9.png

三、无类域间路由选择(Classless Inter-Domain Routing,CIDR)
Internet面临3个必须解决的问题:一是B类地址很快将要分配完毕;二是Internet主干上的路由表中的项目数急剧增加;三是整个IPv4的地址最终将会全部耗尽。IETF采用无类域间路由选择(CIDR)的方法解决前两个问题,成立 IPv6工作组负责研究解决新版本 IP协议解决最后一个问题。
CIDR(Classless Inter-Domain Routing,无类别域间路由)本质是消除了传统的A类、B类和C类地址以及划分子网的概念,将多个地址块聚合在一起生成一个更大的网络,从而包含更多的主机,是把几个小网络聚合成一个大网络来做表示,支持路由聚合,能够将路由表中的许多路由条目合并为成更少的数目,因此可以限制路由器中路由表的增大,减少路由通告,减轻路由器负担。
CIDR表示方法:IP地址/n,n表示IP地址中的前n位代表网络部分(n个二进制数1),其余(32-n)位代表主机部分。这种方法称为“斜线记法”,它又称为CIDR记法。例如,子网掩码是 255.255.224.0时,对应的CIDR值是/19,32位中有19位为1。
四、子网划分的应用
我们先了解几个概念,对于CIDR和VLSM以及子网划分都是很有用的。
①有类网络。也叫主类网络或标准网络,就是指把IP地址能归结到的A类、B类、C类IP,使用的是标准的默认子网掩码。
②无类网络。相对于有类网络,无类网络IP地址的掩码是变长的。在有类网络的基础上,拿出一部分主机ID作为子网ID。
③超网。把多个小网络组合成一个大网络,称为超网(SuperNetting),也可以说子网掩码长度小于相对应的有类网络的叫超网。
④子网。有类网络划分成更小后的网络,称为子网(Subnet),也可以说子网掩码长度大于相对应的有类网络的叫子网。
言归正传。以C类地址划分为例,具体如下:

728da9773912b31b66790fabc8a9d87ddbb4e151.jpg

0b7b02087bf40ad160f91717189dffd8a8ecce5a.png

b7003af33a87e9508295acdd5f89bd44faf2b43e.jpg

4bed2e738bd4b31c0786f41bc867c9789f2ff815.png

faf2b2119313b07e0ca7040e5d667f2496dd8cd3.png

问题:子网掩码和所要划分的IP地址之后,如何计算子网数和每个子网的主机数?

a8014c086e061d95ea3401923445e4d663d9ca67.jpg

【例如】子网掩码为255.255.255.192(/26),IP地址为192.168.10.0。子网数为2-2,X为网络位数(如果系统支持全0和全1的子网号则不需减2),子网主机数为2-2,Y为主机位数。因此可知道子网位数为2位,可划分4个子网(假设系统支持全0和全1子网),主机位数为6位,每个子网的主机数为2的6次方-2=62台,因为主机位为全0和全1时分别是该子网号和广播地址,需要减掉2。因此可知,4个子网分别为:
(1)子网192.169.10.0,主机IP为192.168.10.1~192.168.10.62,广播地址为192.168.10.63。
(2)子网192.168.10.64,主机IP为 192.168.65~192.168.10.126,广播地址为192.168.10.127。
(3)子网192.168.10.128,主机IP为 192.168.129~192.168.10.190,广播地址为192.168.10.191。
(4)子网192.168.10.192,主机IP为 192.168.193~192.168.10.254,广播地址为192.168.10.255。
问题:如何根据IP地址和子网掩码,计算网络地址?


b151f8198618367a722262a361c265d3b21ce55a.jpg
And按位与运算:与运算是计算机中一种基本的逻辑运算方式,符号表示为&,也可以表示为 and。参加运算的两个数据,按二进制位进行“与”运算。运算规则:0&0=0;0&1=0;1&0=0;1&1=1;即:两位同时为“1”,结果才为“1”,否则为0。
网络地址计算小技巧:IP地址和子网掩码做与运算,把IP地址的主机位直接归0,就快速得到网络地址。所以只要一看到IP地址和子网掩码,就能马上确认网络地址。


作者:admin
admin
TTF的家园-www.ttfde.top 个人博客以便写写东西,欢迎喜欢互联网的朋友一起交流!

本文》有 0 条评论

留下一个回复