可分配的 IP 和不可分配的 IP

IP地址分类 中,我们知道分类的 IP 地址有 A/B/C/D/E 类,为什么分类呢?

因为各种网络的差异很大,有的网络主机多,有的网络主机少,把 IP 地址划分成 A/B/C/D/E 类,是为了更好的满足不同用户的需求。

这里我们需要去解决一个问题, A 类、 B 类、 C 类,分别可以支持多少个网络,每一个网络里面又可以支持多少台主机?每一台主机至少要有一个 IP 。

A 类地址,由 8 位网络号和 24 位主机号构成, 8 位网络号的第一位是固定的 0 ,剩下的 7 位不固定,每一位有两种选择: 0 和 1 。所以, A 类可以支持的网络数是 2 的 7 次方, 128 个。 24 位主机号每一位可以是 0 ,可以是 1 ,所以,每一个 A 类网络可以支持的主机数是 2 的 24 次方,等于 16277216 ,但是有些网络号、主机号是不能分配的。

哪一些不能分配呢?

A 类地址不可分配的网络

8 位网络号全 0 的这个网络是保留不能被分配的,第一个可分配的网络号是 00000001 ,最大网络号 01111111 ,即 127 ,作为本地环回测试地址,不分配,最大的可分配的网络号是 01111110 ,即 126 ,所以 A 类地址有两个网络号是不能分配的,一个是最小网络号保留,还有一个是最大网络号 127 用于本地环回测试地址,那么 A 类地址可分配的网络数就是 $ 2^{8-1}-2=126 $ 。

主机号由 24 位比特组成,第一个不能分配的主机号是主机号全 0 的,全 0 这种情况表示的是网络地址,还有就是主机号全 1 的,它表示的是这个网络里面的广播地址,所以 A 类网络里面不可以分配的主机号就包含这两个。那么一个 A 类网络里面可以分配的 IP 地址数量就是 $ 2^{24}-2=16777214 $ 。

什么是网络地址和广播地址?

比如我们分配一个 A 类的网络号 00000100 即 4 ,这个网络的网络地址,就是 4.0.0.0 ,即主机号全是 0 ,广播地址是 4.255.255.255 ,即主机号全是 1 ,这两个地址不能分配给这个网络里面的任何一个主机。

广播地址可以这样理解,当你发数据的时候,指定目的 IP 地址如果是广播地址,数据就会发送到这个网络里面所有的主机上。

网络地址,标识一个网络的位置,主要是让路由器寻址网络。

可分配的 IP 和不可分配的 IP

比如图中,我们有三个网络,每一个网络中有若干个主机,三个网络通过一个路由器连在一起,路由器有三个接口,每一个网络都有自己的一个网络地址,假设网络 N1 的网络地址是 4.0.0.0 ,网络 N2 的网络地址是 10.0.0.0 ,网络 N3 的网络地址是 11.0.0.0 ,都是 A 类地址,这个网络地址就是用于寻址的。路由器中有一张路由表,路由表里面记录了网络地址和它对应的下一跳。比如 N1 网络中的某一主机,发消息给 N3 网络的某一主机,数据到路由器后,目的 IP 地址对应的网络地址是 11.0.0.0 ,下一跳就从接口 2 出去,这样我们根据网络地址就可以找到这个网络在整个因特网上的位置。

A 类地址

对于 A 类地址,网络号是 8 位,最小的网络号 0 保留不分配,第一个可分配的网络号是 1 ,网络地址是 1.0.0.0 ,最大网络号是 127 ,网络地址是 127.0.0.0 ,本地环回测试使用,不分配,最小的本地环回测试地址是 127.0.0.1 ,最大的本地环回测试地址是 127.255.255.254 ,因为 127.255.255.255 是广播地址,最后一个可以分配的网络号是 126 ,对应的网络地址是 126.0.0.0 ,除去最小网络号 0 和最大网络号 127 , A 类地址可以分配的网络数是 $ 2^{8-1}-2=126 $ 。每个 A 类网络中,除去主机号全 0 的网络地址和全 1 的广播地址,可以分配的 IP 地址数量是 $ 2^{24}-2=16777214 $ 。

B 类地址

B 类地址由 16 位网络号和 16 位主机号组成, 16 位的网络号中前面两位固定是 10 ,所以 B 类的这个网地址的最小网络号是 10000000 00000000 ,也就是 128.0 ,网络地址即后面的16 位主机号全 0 ,也就是 128.0.0.0 ,广播地址即后面的 16 位主机号全 1 ,即 128.0.255.255 ,最大网络号 10111111 11111111 ,即 191.255 ,这是 B 类地址最后一个可以分配的网络号,网络地址是 191.255.0.0 ,广播地址是 191.255.255.255 ,所以, B 类地址可以分配的网络数是 $ 2^{16-2}=16384 $ ,每个 B 类网络中,除去主机号全 0 的网络地址和全 1 的广播地址,可以分配的 IP 地址数量是 $ 2^{16}-2=65534 $ 。

C 类地址

C 类地址由 24 位网络号和 8 位主机号组成, 24 位的网络号中前面三位固定是 110 ,第一个可分配的网络号是 11000000 00000000 00000000 ,也就是 192.0.0 ,网络地址即后面的 8 位主机号全 0 ,就是 192.0.0.0 ,广播地址即后面的 8 位主机号全 1 ,即 192.0.0.255 ,最后一个可分配的网络号 11011111 11111111 11111111 ,也就是 223.255.255 ,网络地址是 223.255.255.0 ,广播地址是 223.255.255.255 ,所以, C 类地址可以分配的网络数是 $ 2^{24-3}=2097152 $ ,每个 C 类网络中,除去主机号全 0 的网络地址和全 1 的广播地址,可以分配的 IP 地址数量是 $ 2^{8}-2=254 $ 。

我们来看一个例子,

IP 地址类别是否可以分配
0.1.2.3A否(保留的网络号)
1.2.3.4A可分配
126.255.255.255A否(广播地址)
127.0.0.1A否(本地环回测试)
128.0.255.255B否(广播地址)
166.16.18.255B可分配
172.18.255.255B否(广播地址)
192.255.255.252B可分配
192.0.0.255C否(广播地址)
196.2.3.8C可分配
218.75.230.30C可分配
223.255.255.252C可分配

每一个 IP 地址,根据左起第一个字节,即左起第一个十进制的值,可以判断网络类型,小于等于 127 的属于 A 类, 128~191 的属于 B 类, 192~223 的属于 C 类。

判断网络类别之后,根据网络类别,我们可以得到 IP 地址中的网络号和主机号, A 类地址网络号为左起第一个字节, B 类地址网络号为左起前两个字节, C 类地址网络号为左起前三个字节,根据网络号和主机号,我们可以判断这个 IP 地址是否可以分配,以下三种情况的地址不能分配: A 类网络号 0 和 127 ,主机号全 0 的网络地址,主机号全 1 的广播地址。


微信公众号「padluo」,分享数据科学家的自我修养,既然遇见,不如一起成长。关注【老罗说AI】公众号,后台回复【文章】,获得整理好的【老罗说AI】文章全集。

数据分析二维码.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值