⽹络中的A类、B类、C类地址的划分
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 段,这⾥就选 吧
这样, IP 的前两段确定的,关键是要确定第三段,只要⽹络标识相同就可以了。我们先来确定⽹络号。(我们把⼦⽹掩码中的 1 和 IP 中
的 ? 对就起来, 0 和 * 对应起来,如下:)
255.255.252.0 11111111.11111111.11111100.00000000
10111100.10111100.**.********
⽹络标识 10111100.10111100.00.00000000电脑ip
由此可知, ? 处随便填(只能⽤ 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.6
形容冬天的诗句4.0, 最后 1 个为 172.16.128.0
4. ⼴播地址 : 下个⼦⽹ -1. 所以 2 个⼦⽹的⼴播地址分别是 172.16.127.255 和 172.16.191.255
5. 有效主机范围是 : 第⼀个⼦⽹的主机地址是 172.1
6.64.1 到 172.16.12
7.254; 第⼆个是 172.16.12
8.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.25
5.223
5. 有效主机范围是 : 第⼀个⼦⽹的主机地址是 172.1
6.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.