网络中的A类、B类、C类地址的划分
发布日期:2021-06-21 03:12:43 浏览次数:7 分类:技术文章

本文共 8353 字,大约阅读时间需要 27 分钟。

IP地址有三种基本类型,由网络号的第一组数字来表示。

A类地址的第一组数字为1~126。注意,数字0和 127不作为A类地址,数字127保留给内部回送函数,而数字0则表示该地址是本地宿主机,不能传送。

B类地址的第一组数字为128~191。

C类地址的第一组数字为192~223。

例如:我校的网络号是202.206.64--79 , 它的第一组数字为202,因此202.206.64.34是C类地址。而159.266.1.1则是B类地址。

目前IP地址资源较紧张,向INTERNET亚太中心能申请到的大多是C类地址。

私有地址
上面提到IP地址在全世界范围内唯一,看到这句话你可能有这样的疑问,像192.168.0.1这样的地址在许多地方都能看到,并不唯一,这是为 何?Internet管理委员会规定如下地址段为私有地址,私有地址可以自己组网时用,但不能在Internet网上用,Internet网没有这些地址 的路由,有这些地址的计算机要上网必须转换成为合法的IP地址,也称为公网地址,这就像有很多的世界公园,每个公园内都可命名相同的大街,如香榭丽舍大 街,但对外我们只能看到公园的地址和真正的香榭丽舍大街。下面是A、B、C类网络中的私有地址段。你自己组网时就可以用这些地址了。

    10.0.0.0~10.255.255.255

    172.16.0.0~172.31.255.255

    192.168.0.0~192.168.255.255

2)回送地址

    A类网络地址127是一个保留地址,用于网络软件测试以及本地机进程间通信,叫做回送地址(loopback address)。无论什么程序,一旦使用回送地址发送数据,协议软件立即返回之,不进行任何网络传输。含网络号127的分组不能出现在任何网络上。

小技巧:

Ping 127.0.0.1,如果反馈信息失败,说明IP协议栈有错,必须重新安装TCP/IP协议。如果成功,ping本机IP地址,如果反馈信息失败,说明你的网卡不能和IP协议栈进行通信。 

如果网卡没接网线,用本机的一些服务如Sql Server、IIS等就可以用127.0.0.1这个地址。

3)广播地址

    TCP/IP规定,主机号全为"1"的网络地址用于广播之用,叫做广播地址。所谓广播,指同时向同一子网所有主机发送报文。

4)网络地址

     TCP/IP协议规定,各位全为"0"的网络号被解释成"本"网络。由上可以看出:一、含网络号127的分组不能出现在任何网络上;二、主机和网关不能为该地址广播任何寻径信息。由以上规定可以看出,主机号全"0"全"1"

的地址在TCP/IP协议中有特殊含义,一般不能用作一台主机的有效地址。

3、子网掩码

    从上面的例子可以看出,子网掩码的作用就是和IP地址与运算后得出网络地址,子网掩码也是32bit,并且是一串1后跟随一串0组成,其中1表示在IP地址中的网络号对应的位数,而0表示在IP地址中主机对应的位数。

1)标准子网掩码

     A类网络(1 - 126) 缺省子网掩码:255·0·0·0

    255·0·0·0 换算成二进制为 11111111·00000000·00000000·00000000

    可以清楚地看出前8位是网络地址,后24位是主机地址,也就是说,如果用的是标准子网掩码,看第一段地址即可看出是不是同一网络的。如 21.0.0.0.1和21.240.230.1,第一段为21属于A类,如果用的是默认的子网掩码,那这两个地址就是一个网段的。

    B类网络(128 - 191) 缺省子网掩码:255·255·0·0

    C类网络(192 - 223) 缺省子网掩码:255·255·255·0

    B类、C类分析同上。

2) 特殊的子网掩码

    标准子网掩码出现的都是255和0的组合,在实际的应用中还有下面的子网掩码

    255·128·0·0

    255·192·0·0

    。。。。。。

    255·255·192·0

    255·255·240·0

    。。。。。。

    255·255·255·248

    255·255·255·252

A 10.0.0.0-10.255.255.255

B 172.16.0.0-172.31.255.255
C 192.168.0.0-192.168.255.255

A类网络缺省子网掩码:255.0.0.0

B类网络缺省子网掩码:255.255.0.0

C类网络缺省子网掩码:255.255.255.0

    这些子网掩码又是什么意思呢?这些子网掩码的出现是为了把一个网络划分成多个网络。

    还记得上面的例子吗?如下所示:192·168·0·1和192·168·0·200如果是默认掩码255.255.255.0两个地址就是一个网络的,如果掩码变为255.255.255.192这样各地址就不属于一个网络了

/

IP 和子网掩码

我们都知道, IP 是由四段数字组成,在此,我们先来了解一下 3 类常用的 IP

A 类 IP 段 0.0.0.0 到 127.255.255.255 (0 段和 127 段不使用 )

B 类 IP 段 128.0.0.0 到 191.255.255.255

C 类 IP 段 192.0.0.0 到 223.255.255.255

XP 默认分配的子网掩码每段只有 255 或 0

A 类的默认子网掩码 255.0.0.0 一个子网最多可以容纳 1677 万多台电脑

B 类的默认子网掩码 255.255.0.0 一个子网最多可以容纳 6 万台电脑

C 类的默认子网掩码 255.255.255.0 一个子网最多可以容纳 254 台电脑

我们必须有一个子网掩码,因为:

1 )当配置 IP 时,所有计算机都必须填写子网掩码

2 )我们必须在我们的网络中设置一些逻辑边界

3 )我们必须至少输入所使用 IP 类的默认子网掩码

我以前认为,要想把一些电脑搞在同一网段,只要 IP 的前三段一样就可以了,今天,我才知道我错了。如果照我这样说的话,一个子网就只能容纳 254 台电脑?真是有点笑话。我们来说详细看看吧。

要想在同一网段,只要网络标识相同就可以了,那要怎么看网络标识呢?首先要做的是把每段的 IP 转换为二进制。(有人说,我不会转换耶,没关系,我们用 Windows 自带计算器就行。打开计算器,点查看 > 程序员,输入十进制的数字,再点一下“二进制”这个单选点,就可以切换至二进制了。)

把子网掩码切换至二进制,我们会发现,所有的子网掩码是由一串连续的 1 和一串连续的 0 组成的(一共 4 段,每段 8 位,一共 32 位数)。

255.0.0.0 11111111.00000000.00000000.00000000

255.255.0.0 11111111.11111111.00000000.00000000

255.255.255.0 11111111.11111111.11111111.00000000

这是 A/B/C 三类默认子网掩码的二进制形式,其实,还有好多种子网掩码,只要是一串连续的 1 (不少于 8 个)和一串连续的 0 就可以了(每段都是 8 位)。如 11111111.11111111.11111000.00000000 ,这也是一段合法的子网掩码。子网掩码决定的是一个子网的计算机数目,计算机公式是 2 的 m 次方,其中,我们可以把 m 看到是后面的多少个 0 。如 255.255.255.0 转换成二进制,那就是11111111.11111111.11111111.00000000 ,后面有 8 个 0 ,那 m 就是 8 , 255.255.255.0 这个子网掩码可以容纳 2 的 8 次方(台)电脑,也就是 256 台,但是有两个 IP 是不能用的,那就是最后一段不能为 0 和 255 ,减去这两台,就是 254 台。

划分方法

 

子网的划分,实际上就是设计子网掩码的过程。子网掩码主要是用来区分 IP 地址中的网络 ID 和主机 ID ,它用来屏蔽 IP 地址的一部分,从 IP 地址中分离出网络 ID 和主机 ID. 子网掩码是由 4 个十进制数组成的数值 " 中间用 "." 分隔,如 255.255.255.0 。若将它写成二进制的形式为 :11111111.11111111.11111111.00000000 ,其中为 "1" 的位分离出网络 ID, 为 "0" 的位分离出主机 ID ,也就是通过将 IP 地址与子网掩码进行 " 与 " 逻辑操作,得出网络号。

例如,假设 IP 地址为 192.160.4.1 ,子网掩码为 255.255.255.0 ,则网络 ID 为 192.160.4.0, 主机 ID 为 0.0.0.1 。计算机网络 ID 的不同,则说明他们不在同一个物理子网内,需通过路由器转发才能进行数据交换。

每类地址具有默认的子网掩码 : 对于 A 类为 255.0.0.0 ,对于 B 类为 255.255.0.0 ,对于 C 类为 255.255.255.0 。除了使用上述的表示方法之外,还有使用子网掩码中 "1" 的位数来表示的,在默认情况下, A 类地址为 8 位, B 类地址为 16 位, C 类地址为 24 位。例如, A 类的某个地址为 12.10.10.3/8 ,这里的最后一个 "8" 说明该地址的子网掩码为 8 位,而 199.42.26.0/28 表示网络 199.42.26.0 的子网掩码位数有 28 位。

如果希望在一个网络中建立子网,就要在这个默认的子网掩码中加入一些位,它减少了用于主机地址的位数。加入到掩码中的位数决定了可以配置的子网。因而,在一个划分了子网的网络中,每个地址包含一个网络地址、一个子网位数和一个主机地址

示例

 

255.255.248.0 这个子网掩码可以最多容纳多少台电脑?

计算方法

 

把将其转换为二进制的四段数字(每段要是 8 位,如果是 0 ,可以写成 8 个 0 ,也就是 00000000 )

11111111.1111111.11111000.00000000

然后,数数后面有几颗 0 ,一共是有 11 颗,那就是 2 的 11 次方,等于 2048 ( 注意:主机号中全 0 是保留地址,全 1 是广播地址,所以它们不算可用主号地址。网络号也是一样的。子网号是可以用全 0 和全 1 的 ) ,所以这个子网掩码最多可以容纳 2048-2=2046 台电脑。

一个子网最多可以容纳多少台电脑你会算了吧,下面我们来个逆向算法的题。

一个公司有 530 台电脑,组成一个对等局域网,子网掩码设多少最合适?

首先,无疑, 530 台电脑用 B 类 IP 最合适( A 类不用说了,太多, C 类又不够,肯定是 B 类),但是 B 类默认的子网掩码是255.255.0.0 ,可以容纳 6 万台电脑,显然不太合适,那子网掩码设多少合适呢?我们先来列个公式。

公式

 

2 的 m 次方 >=560

首先,我们确定 2 的 m 次方一定是大于 2 的 8 次方的,因为我们知道 2 的 8 次方是 256 ,也就是 C 类 IP 的最大容纳电脑的数目,我们从 9 次方一个一个试, 2 的 9 次方是 512 ,不到 560 , 2 的 10 次方是 1024 ,看来 2 的 10 次方最合适了。子网掩码一共由 32 位组成,已确定后面 10 位是 0 了,那前面的 22 位就是 1 ,最合适的子网掩码就是: 11111111.11111111.11111100.00000000 ,转换成10 进制,那就是 255.255.252.0 。

分配和计算子网掩码你会了吧,下面,我们来看看 IP 地址的网段。

相信好多人都和我一样,认为 IP 只要前三段相同,就是在同一网段了,其实,不是这样的,同样,我也把 IP 的每一段转换为一个二进制数,这里就拿 IP : 192.168.0.1 ,子网掩码: 255.255.255.0 做实验吧。

192.168.0.1

11000000.10101000.00000000.00000001

(这里说明一下,和子网掩码一样,每段 8 位,不足 8 位的,前面加 0 补齐。)

IP 11000000.10101000.00000000.00000001

子网掩码 11111111.11111111.11111111.00000000

同一网段

 

在这里,向大家说一下到底怎么样才算同一网段。

要想在同一网段,必需做到网络标识相同,那网络标识怎么算呢?各类 IP 的网络标识算法都是不一样的。 A 类的,只算第一段。 B 类,只算第一、二段。 C 类,算第一、二、三段。

算法只要把 IP 和子网掩码的每位数 AND 就可以了。

AND 方法: 0 和 1=0 0 和 0=0 1 和 1=1

如: And 192.168.0.1 , 255.255.255.0 ,先转换为二进制,然后 AND 每一位

IP 11000000.10101000.00000000.00000001

子网掩码 11111111.11111111.11111111.00000000

得出 AND 结果 11000000.10101000.00000000.00000000

转换为十进制 192.168.0.0 ,这就是网络标识,

再将子网掩码反取,也就是 00000000.00000000.00000000.11111111 ,与 IP AND

得出结果 00000000.00000000.00000000.00000001 ,转换为 10 进制,即 0.0.0.1 ,

这 0.0.0.1 就是主机标识。要想在同一网段,必需做到网络标识一样。

我们再来看看这个改为默认子网掩码的 B 类 IP

如 IP : 188.188.0.111 , 188.188.5.222 ,子网掩码都设为 255.255.254.0 ,在同一网段吗?

先将这些转换成二进制

188.188.0.111 10111100.10111100.00000000.01101111

188.188.5.222 10111100.10111100.00000101.11011110

255.255.254.0 11111111.11111111.11111110.00000000

分别 AND ,得

10111100.10111100.00000000.00000000

10111100.10111100.00000100.00000000

网络标识不一样(看 255.255.254.0 转换成二进制后 1 的数位,所以可以看到不一样),即不在同一网段。

判断是不是在同一网段,你会了吧,下面,我们来点实际的。

一个公司有 530 台电脑,组成一个对等局域网,子网掩码和 IP 设多少最合适?

子网掩码不说了,前面算出结果来了 11111111.11111111.11111100.00000000 ,也就是 255.255.252.0

B 类地址

 

选一个 B 类 IP 段,这里就选 188.188.x.x 吧

这样, IP 的前两段确定的,关键是要确定第三段,只要网络标识相同就可以了。我们先来确定网络号。(我们把子网掩码中的 1 和 IP 中的 ? 对就起来, 0 和 * 对应起来,如下:)

255.255.252.0 11111111.11111111.11111100.00000000

188.188.x.x 10111100.10111100.??????**.********

网络标识 10111100.10111100.??????00.00000000

由此可知, ? 处随便填(只能用 0 和 1 填,不一定全是 0 和 1 ),我们就用全填 0 吧, * 处随便,这样呢,我们的 IP 就是

10111100.10111100.000000**.******** ,一共有 530 台电脑, IP 的最后一段 1 ~ 254 可以分给 254 台计算机, 530/254=2.086 ,采用进 1 法,得整数 3 ,这样,我们确定了 IP 的第三段要分成三个不同的数字,也就是说,把 000000** 中的 ** 填三次数字,只能填 1 和 0,而且每次的数字都不一样,至于填什么,就随我们便了,如 00000001 , 00000010 , 00000011 ,转换成十进制,分别是 1 , 2 ,3 ,这样,第三段也确定了,这样,就可以把 IP 分成 188.188.1.y , 188.188.2.y , 188.188.3.y , y 处随便填,只要在 1 ~ 254 范围之内,并且这 530 台电脑每台和每台的 IP 不一样,就可以了。

有人也许会说,既然算法这么麻烦,干脆用 A 类 IP 和 A 类默认子网掩码得了,偶要告诉你的是,由于 A 类 IP 和 A 类默认子网掩码的主机数目过大,这样做无疑是大海捞针,如果同时局域网访问量过频繁、过大,会影响效率的,所以,最好设置符合自己的 IP 和子网掩码^_^

举个实例:比如公司分配到的网段是 192.168.1.0/24 ,首先我要分一个 8 个主机的网段出来,那么这个网段的首地址是什么 ? 之后,我又要划分一个 16 个主机的地址出来,那么 16 个主机的首地址是什么?

划分实例

 

C 类地址例子 : 网络地址 192.168.10.0; 子网掩码 255.255.255.192(/26)

1. 子网数 =2*2=4

2. 主机数 =2 的 6 次方 -2=62

3. 有效子网 ?:block size=256-192=64; 所以第一个子网为 192.168.10.64, 第二个为 192.168.10.128

4. 广播地址 : 下个子网 -1. 所以 2 个子网的广播地址分别是 192.168.10.127 和 192.168.10.191

5. 有效主机范围是 : 所以第一个子网为 192.168.10.0 ,第二个为 192.168.10.64 ,第三个为 192.168.10.128 ,第四个为192.168.10.192

B 类地址例子 1: 网络地址 :172.16.0.0; 子网掩码 255.255.192.0(/18)

1. 子网数 =2*2=4

2. 主机数 =2 的 14 次方 -2=16382

3. 有效子网 ?:block size=256-192=64; 所以第一个子网为 172.16.64.0, 最后 1 个为 172.16.128.0

4. 广播地址 : 下个子网 -1. 所以 2 个子网的广播地址分别是 172.16.127.255 和 172.16.191.255

5. 有效主机范围是 : 第一个子网的主机地址是 172.16.64.1 到 172.16.127.254; 第二个是 172.16.128.1 到 172.16.191.254

B 类地址例子 2: 网络地址 :172.16.0.0; 子网掩码 255.255.255.224(/27)

1. 子网数 =2 的 11 次方 -2=2046( 因为 B 类地址默认掩码是 255.255.0.0, 所以网络位为 8+3=11)

2. 主机数 =2 的 5 次方 -2=30

3. 有效子网 ?:block size=256-224=32; 所以第一个子网为 172.16.0.32, 最后 1 个为 172.16.255.192

4. 广播地址 : 下个子网 -1. 所以第一个子网和最后 1 个子网的广播地址分别是 172.16.0.63 和 172.16.255.223

5. 有效主机范围是 : 第一个子网的主机地址是 172.16.0.33 到 172.16.0.62; 最后 1 个是 172.16.255.193 到 172.16.255.223

Variable Length Subnet Masks(VLSM)

变长子网掩码
 
(VLSM)
 
的作用
 
:
 
节约
 
IP
 
地址空间
 
;
 
减少路由表大小
 
.
 
使用
 
VLSM
 
 
,
 
所采用的路由协议必须能够支持它
 
,
 
这些路由协议包括
 
RIPv2,OSPF,EIGRP
 
 
BGP.

转载地址:https://blog.csdn.net/k_koris/article/details/80355500 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:转 ACM大神之路自述
下一篇:c++ STL 队列:queue 优先队列priority_queue

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年03月29日 09时36分14秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

Microsoft® Dynamics™ CRM 4.0 and Microsoft Dynamics Live CRM Step by Step 2019-04-26
二十七. geotrellis使用 栅格数据色彩渲染 2019-04-26
二十八. geotrellis使用 栅格数据色彩渲染(多波段真彩色) 2019-04-26
二十九. geotrellis使用 迁移geotrellis至1.1.1版 2019-04-26
三十. geotrellis使用 使用geotrellis读取PostGIS空间数据 2019-04-26
三十一. geotrellis使用 使用geotrellis直接将GeoTiff发布为TMS服务 2019-04-26
三十二. geotrellis使用 大量GeoTiff文件实时发布TMS服务 2019-04-26
三十三. geotrellis使用 关于Geotrellis读取Geotiff的两个细节 2019-04-26
三十四. geotrellis使用 矢量瓦片技术研究-矢栅一体化 2019-04-26
三十五geotrellis使用 Cesium加载geotrellis TMS瓦片 前言 做任何事情都不是想象中的那么简单。好久没有更新技术博客了,跟最近瞎忙有很大关系,虽说是瞎忙也抽空研究了些技术。 2019-04-26
三十六. geotrellis使用 瓦片入库更新图层 2019-04-26
三十七. geotrellis使用 COG 基础介绍 2019-04-26
三十八. geotrellis使用 COG 写入和读取 2019-04-26
三十九. geotrellis使用 COG 写入更新 2019-04-26
四十. geotrellis使用 优雅的处理请求超过最大层级数据 2019-04-26
四十一. geotrellis使用 流水线技术 2019-04-26
四十二. geotrellis使用 将 Shp 文件转为 GeoJson 2019-04-26
GeoTrellis 系列文章 2019-04-26
Spring Cloud Alibaba 技术栈 2019-04-26
C++ 进程间通信 详解1 2019-04-26