黑马程序员技术交流社区

标题: 子网掩码 [打印本页]

作者: wnk77521    时间: 2015-5-5 00:23
标题: 子网掩码
从上面的例子可以看出,子网掩码的作用就是和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
这些子网掩码又是什么意思呢?这些子网掩码的出现是为了把一个网络划分成多个网络。
还记得上面的例子吗?如下所示:192·168·0·1和192·168·0·200如果是默认掩码255.255.255.0两个地址就是一个网络的,如果掩码变为255.255.255.192这样各地址就不属于一个网络了。下面的子网划分将作详细介绍。
192.168.0.1 11000000.10101000.00000000.00000001
192.168.0.200 11000000.10101000.00000000.11001000
255.255.255.0 11111111.11111111.11111111.00000000
192.168.0.1 11000000.10101000.00000000.00000001
192.168.0.200 11000000.10101000.00000000.11001000
255.255.255.192 11111111.11111111.11111111.11000000
下表是几个子网掩码计算过程中非常有用的十进制和二进制的对照
用于子网掩码换算的十进制和二进制对照
十进制 128 64 32 16 8 4 2 1
二进制 10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001
常用的子网掩码的十进制和二进制对照
十进制 128 192 224 240 248 252 254 255
二进制 10000000 11000000 11100000 11110000 11111000 11111100 11111110 11111111
二、彻底明白IP地址的含义
不管是学习网络还是上网,IP地址都是出现频率非常高的词。Windows系统中设置IP地址的界面大家都很熟悉,图中出现了IP地址、子网掩码、默认网关和DNS服务器这几个需要设置的地方,只有正确设置,网络才能通,那这些名词都是什么意思呢?学习IP地址的相关知识时还会遇到网络地址、广播地址、子网等概念,这些又是什么意思呢?
要解答这些问题,先看一个日常生活中的例子。如下图所示,住在北大街的住户要能互相找到对方,必须各自都要有个门牌号,这个门牌号就是各家的地址,门牌号的表示方法为:北大街+XX号。假如1号住户要找6号住户,过程是这样的,1号在大街上喊了一声:"谁是6号,请回答。",这时北大街的住户都听到了,但只有6号作了回答,这个喊的过程叫"广播",北大街的所有用户就是他的广播范围,假如北大街共有20个用户,那广播地址就是:北大街 21号。也就是说,北大街的任何一个用户喊一声能让"广播地址-1"个用户听到。
从这个例中可以抽出下面几个词:
街道地址:北大街,如果给该大街一个地址则用第一个住户的地址-1,此例为:北大街0号
住户的号:如1号、2号等。
住户的地址:街道地址+XX号,如北大街 1号、北大街 2号等
广播地址:最后一个住户的地址+1,此例为:北大街21号
Internet网络中,每个上网的计算机都有一个像上述例子的地址,这个地址就是IP地址,是分配给网络设备的门牌号,为了网络中的计算机能够互相访问,IP地址=网络地址+主机地址,图1中的IP地址是192.168.100.1,这个地址中包含了很多含义。如下所示:
网络地址(相当于街道地址): 192.168.100.0
主机地址(相当于各户的门号): 0.0.0.1
IP地址(相当于住户地址): 网络地址+主机地址=192.168.100.1
广播地址: 192.168.100.255
这些地址是如何计算出来的呢?为什么计算这些地址呢?要想知道如何,先要明白一个道理,学习网络的目的就是如何让网络中的计算机相互通讯,也就是说要围绕着"通"这个字来学习和理解网络中的概念,而不是只为背几个名词。
注:192.168.100.1是私有地址,是不能直接在Internet网络中应用的,上Internet要转为公有地址,下面详细说明。
1、为什么要计算网络地址
一句话就是让网络中的计算机能够相互通讯。先看看最简单的网络,下图中是用网线(交叉线)直接将两台计算机连起来。下面是几种IP地址设置,看看在不同设置下网络是通还是不通。
(1)设置1号机的IP地址为192.168.0.1子网掩码为255.255.255.0,2号机的IP地址为192.168.0.200子网掩码为255.255.255.0,这两台计算机就能正常通讯。
(2)如果1号机地址不变,将2号机的IP地址改为192.168.1.200子网掩码还是为255.255.255.0,那这两台就无法通讯。
(3)设置1号机的IP地址为192.168.0.1子网掩码为255.255.255.192,2号机的IP地址为192.168.0.200子网掩码为255.255.255.192,注意和第1种情况的区别在于子网掩码,1为255.255.255.0本例是255.255.255.192这两台计算机就不能正常通讯。
第1种情况能通是因为这两台计算机处在同一网络192.168.0.0,所以能通,而2、3种情况下两台计算机处在不同的网络,所以不通。
这里先给个结论:用网线直接连接的计算机或是通过HUB或普通交换机间接的计算机之间要能够相互通,计算机必须要在同一网络,也就是说它们的网络地址必须相同,而且主机地址必须不一样。如果不在一个网络就无法通。这就像我们上面举的例子,同是北大街的住户由于街道名称都是北大街,且各自的门牌号不同,所以能够相互找到对方。
计算网络地址就是判断网络中的计算机在不在同一网络,在就能通,不在就不能通。注意,这里说的在不在同一网络指的是IP地址而不是物理连接。那么如何计算呢?
2、如何计算网络地址
我们日常生活中的地址如:北大街1号,从字面上就能看出街道地址是北大街,而我们从IP地址中却难以看出网络地址,要计算网络地址,必须借助我们上边提到过的子网掩码。
计算过程是这样的,将IP地址和子网掩码都换算成二进制,然后进行与运算,结果就是网络地址。与运算如下所示,上下对齐,1位1位的算,1与1=1 ,其余组合都为0。
1...0...1...0
1...0...0...0





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2