二十、网络层篇-学习如何划分IP地址范围

经过上一节的学习,我们学习了IP地址相关的基础知识,并且也学习了子网掩码的作用,结合前置知识,本节来学习IP地址的划分。

二十、网络层篇-学习如何划分IP地址范围

一、划分IP地址范围是什么东东

假设一个大学所有人都在一张大网里面:10.0.0.0 / 255.255.0.0。不过,在这个网络中,有学生、老师和行政管理人员。你很快意识到,由于在一个局域网内,是可以搞点小动作的,一些熟悉计算机网络的学生可以成功进入了他们老师的主机,更改了自己期末考试的成绩。

那咋办呢?

我们可以把这个大的网络分成几个较小的网络,相当于用隔间进行了分割,保护了各自的隐私。然后,我们可以将学生放在一个网络中,将老师放在另一个网络中。甚至还有一个网络专门留给行政管理人员,这样老师们就不能更改自己的工资单了。

也就是说,就是从一个大的网络(大的 IP 地址范围)中分出若干小的网络(小的 IP 地址范围),这些小的网络被称为子网。

那么基于子网掩码,我们就可用轻松实现划分。在正式操手进行子网划分前,有必要对IPv4的地址进行一些补充,方便我们理解。

二十、网络层篇-学习如何划分IP地址范围

二、IPv4地址编址方式的三个历史阶段

①IPv4地址编址方式的第一个历史阶段:分类编址的IPv4地址。

分为五大类地址:

二十、网络层篇-学习如何划分IP地址范围

IP 地址被分为五类,其中 ABC 都由两部分组成:网络号+主机号。网络号表示网段,而主机号代表主机,加起来一串 IP 地址就是主机在某一网段内的地址。

需要注意的是只有A类、B类、C类地址可分配给网络中的主机或路由器各接口,此外,我们上篇文章实际也提及了,主机号为全0的地址是网络地址,主机号为全1的地址是广播地址,都不能分配给主机或路由器的各接口。

由于主机号位数的不同,决定了同一网段下最多的地址数量,其中,A 类最多可有 16777214 个地址,B 类可有 65534 个地址,而 C 类只可有最多 254 个地址。

二十、网络层篇-学习如何划分IP地址范围

②IPv4地址编址方式的第二个历史阶段:划分子网的IPv4地址。

这实际上还是需要结合以上说的A、B、C类网络地址进行划分,我们举个例子就明白了。

【举例】:已知某个网络的地址为218.75.230.0,使用子网掩码255.255.255.128对其进行子网划分,请给出划分细节。

由于218.75.230.0属于C类地址范围,因此网络号占据3个字节,主机号占据1个字节。

那么对应的子网掩码应该是255.255.255.0,但是本题给出了255.255.255.128,意思是从主机号部分借用了一个比特来作为子网号,显然,这里借用了最高的一个比特来作为子网号。

因此划分出的子网数量应该是2,剩下7位作为主机号,那么每个子网所能分配的主机数量为126个。

③IPv4地址编址方式的第三个历史阶段:无分类编址的IPv4地址。

何为无分类编址?就是要摒弃A类、B类、C类这个枷锁!

我们从上面可以看出来,ABC类地址对我们的网络划分限制过大了,比如C类地址规定了网络号就是24位(3位固定+21位网络号)。

而IPv4地址还面临全部耗尽的威胁,为此,因特网工程任务组IETF又提出了采用无分类编址的方法来解决IP地址紧张问题,同时还成立IPv6工作组负责研究新版本IP以彻底解决IP地址耗尽问题。

东西是死的,人是活的,那我们能不能摆脱这种限制呢?我们没有必要进行这种死板的网络划分,只需要在满足基本原则的前提下可以灵活分配网络号位数和主机号位数,那么就会大大提高地址利用率。

1993年,IETF发布了无分类域间路由选择CIDR的RFC,规定了:

  • CIDR消除了传统了A类、B类和C类地址;

  • CIDR可以更加有效地分配IPv4地址空间,并且可以在新的IPv6使用之前允许因特网的规模继续增长。

我们就可以摆脱ABC的限制自由发挥啦!CIDR具体是个什么东西呢?

二十、网络层篇-学习如何划分IP地址范围

三、子网掩码的懒人写法

我们会发现10.0.0.0 / 255.255.0.0表示法也太麻烦了吧,并且我们知道我们知道子网掩码有 32 位。在这 32 位中,有一些位是 1,其余的位则为 0。那么自然就会有简单的写法了:我们只需要简单地将 1 的位数写出来,就可以代表整个子网掩码咯

例如:可以将 192.168.0.1 / 255.255.255.0 简写为 192.168.0.1/24

这就是所谓的 CIDR 表示法。可以发现,再也没有类似A类、B类、C类固定位数的限制,我们可以灵活地利用子网掩码进行子网的划分,下面让我们化身网络管理员来实践下子网划分吧。

二十、网络层篇-学习如何划分IP地址范围

四、简单版划分子网

我们先用最原始的方法来学习如何划分地址。

假设有一个公司,它的网络为 10.0.0.0/16,我们将划分这个网络的地址范围。

该公司拥有 1000 名技术人员,200 名商务人员和 20 名经理。因此,我们需要在这个网络中划分出三个子网。

我们该怎么来划分呢?

首先,确认大的网段是否能容纳这么多人,10.0.0.0/16 说明子网掩码有16位,那么也就是说还有16位是主机数,也就是说有有 2 的 16 次方个即65536用的 IP 地址,这对于分配给 1220 名员工来说已经绰绰有余了。

下面开始为这三类人群划分子网,为了简单,我们从人多的开始计算,并且从10.0.0.0开始分配IP。

首先是1000 名技术人员,1000 小于 2 的 10 次方(2 的 10 次方是 1024)。因此,我们只要将子网掩码中的 10 位二进制位置为 0,就应该足够标识 1000台机器了。也就是说我们可用选用10.0.0.0/22这个网段来承载,那么确定范围是比较轻而易举的事情了。

起始IP
00001010 00000000 00000000 00000000
终止IP
00001010 00000000 00000011 11111111
子网掩码:
11111111 11111111 11111100 00000000

可以得到技术人员分配的IP地址范围是:10.0.0.010.0.3.255

剩下的就是200名商务人员,用8位即足够,并且我们从剩下的IP开始使用,起始IP就是10.0.4.0,并且网段是10.0.4.0/24

起始IP
00001010 00000000 00000
100 00000000
终止IP
00001010 00000000 00000
100 11111111
子网掩码:
11111111 11111111 11111111 00000000

那么商务人员的具体范围就是:10.0.4.010.0.4.255

剩下就是20位经理,5位即可,并且剩下可用的范围是从10.0.5.0开始的,即10.0.5.0/27,具体范围是:10.0.5.010.0.5.31.

这样,我们就从给定的网络(10.0.0.0/16 -> 从 10.0.0.0 到 10.0.255.255)中划分出了三个子网:

  • 技术人员的网络:10.0.0.0/22 -> 从 10.0.0.0 到 10.0.3.255

  • 商务人员的网络:10.0.4.0/24 -> 从 10.0.4.0 到 10.0.4.255

  • 经理的网络:10.0.5.0/27 -> 从 10.0.5.0 到 10.0.5.31

当然了有的同学说,第一个地址不是网络地址,最后一个地址不是广播地址吗?应该不能算进去啊,你说的当然对的了。理解最重要,上面示例只是突出重点,心里要明白有两个地址要去掉即可。如果说有点拮据,那就多分配一倍吧,浪费一点也正常,因为一个团队里面不仅仅人的电脑需要IP,还有各种其他设备比如打印机之类的要用。

二十、网络层篇-学习如何划分IP地址范围

五、提高难度版划分子网

这次我们先从人最少的经理的网络开始划分,然后是商务人员的网络,最后是技术人员的网络。

经理有20个人,显然5位足矣,这个很简单,我们选择10.0.0.0/27这个子网。

下面就是200个商务人员,我们知道需要8位,但是我们又不能用10.0.0.0/24了,因为里面有一部分是经理的,那么我只能往后寻找,根据子网掩码是8位来看,就要保证最后8位都是0,那么第一个可用的显然是10.0.1.0/24了。

最后就是1000个技术人员,显然是需要10位,那么第一个可用的就是倒数第11位为1的那个开始,即10.0.4.0/22

是不是顺序一反,感觉理解难度上升了一颗星。不过琢磨琢磨其实是很简单的:既然你要划分子网,那你不能重叠呀,简单来说经理和商务人员的IP不可能重合,至少有一位是不一样的,这里不一样的地方自然就是网络地址的区别,理解这一点就应该就OK了。

三个子网范围总结如下:

  • 经理的网络:10.0.0.0/27 -> 从 10.0.0.0 到 10.0.0.31

  • 商务人员的网络:10.0.1.0/24 -> 从 10.0.1.0 到 10.0.1.255

  • 技术人员的网络:10.0.4.0/22 -> 从 10.0.4.0 到 10.0.7.255

从这个例子我们能受到什么启发呢?我们看到子网掩码决定了网络的地址范围不可以从随便什么地址处开始

我们再来一个例子来巩固,假设,你以系统和网络管理员的身份进了一家公司。该公司的网络是 192.168.47.0/24

根据子网掩码,我们可以很快知道这个网络有 2 的 8 次方(也就是 256)个地址。

但是,随着公司业务的增长,网络的 256 个地址不够用了。首席管理员要求你将网络范围扩大为两倍,也就是增加到 512 个地址。

怎么改呢?其实很简单,我们只需要将子网掩码的数量缩小一位,那么可承载的数量就变成了两倍,满足了这里的要求,但是如何改呢?直接192.168.47.0/23吗?

显然有陷阱,我们将其写为二进制看看:

IP
11000000 10101000 0010111
1 00000000
子网掩码:
11111111 11111111 1111111100000000

此时子网掩码变为:

11111111 11111111 11111110 00000000

我们上面知道,子网掩码0的地方,网络本身的地址也都是0.那么倒数第9位也必须是0,即:

IP
11000000 10101000 0010111
0 00000000
子网掩码:
11111111 11111111 11111110 00000000

注意这里发生的区别哦,这个IP才是我们的网络地址,所以真正的答案是192.168.46.0/23,什么,还没明白为什么?自己慢慢体会哦,不难的。好 了,本篇关于利用子网掩码进行无分类的划分子网就学习完毕了。

原文始发于微信公众号(幕后哈土奇):二十、网络层篇-学习如何划分IP地址范围

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/114033.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!