1、第 1 页 共 6 页IP 地址、子网掩码详解一、IP 地址的介绍1、IP 地址的表示方法IP 地址 = 网络号 +主机号把整个 Internet 网堪称单一的网络, IP 地址就是给每个连在 Internet 网的主机分配一个在全世界范围内唯一的标示符,Internet 管理委员会定义了 A、B 、C、D、E 五类地址,在每类地址中,还规定了网络编号和主机编号。在 TCP/IP 协议中,IP 地址是以二进制数字形式出现的,共 32bit,1bit 就是二进制中的 1 位,但这种形式非常不适用于人阅读和记忆。因此 Internet 管理委员会决定采用一种“ 点分十进制表示法“表示 IP 地址:
2、面向用户的文档中,由四段构成的 32 比特的 IP 地址被直观地表示为四个以圆点隔开的十进制整数,其中,每一个整数对应一个字节(8 个比特为一个字节称为一段) 。A 、B、C 类最常用,下面加以介绍。本文介绍的都是版本 4的 IP 地址,称为 IPv4.A 类地址:A 类地址的网络标识由第一组 8 位二进制数表示,A 类地址的特点是网络标识的第一位二进制数取值必须为“0“。不难算出, A 类地址第一个地址为 00000001,最后一个地址是 01111111,换算成十进制就是 127,其中 127 留作保留地址,A 类地址的第一段范围是:1126,A 类地址允许有 27 -2=126 个网段(
3、第一个可用网段号 1,最后一个可用网段号 126) (减 2 是因为 0 不用,127 留作它用) ,网络中的主机标识占 3 组 8位二进制数,每个网络允许有 224-2=16777216 台主机(减 2 是因为全 0 地址为网络地址,全 1 为广播地址,这两个地址一般不分配给主机) 。通常分配给拥有大量主机的网络。B 类地址:B 类地址的网络标识由前两组 8 位二进制数表示,网络中的主机标识占两组 8 位二进制数,B类地址的特点是网络标识的前两位二进制数取值必须为“10“ 。 B 类地址第一个地址为 10000000,最后一个地址是 10111111,换算成十进制 B 类地址第一段范围就是
4、128191,B 类地址允许有 214 =16384 个网段(第一个可用网段号 128.0,最后一个可用网段号 1291.255) ,网络中的主机标识占 2 组 8 位二进制数,每个网络允许有216-2=65533 台主机,适用于结点比较多的网络。C 类地址:C 类地址的网络标识由前 3 组 8 位二进制数表示,网络中主机标识占 1 组 8 位二进制数 C 类地址的特点是网络标识的前 3 位二进制数取值必须为“110“ 。C 类地址第一个地址为 11000000,最后一个地址是11011111,换算成十进制 C 类地址第一段范围就是 192 223,C 类地址允许有 221 =2097152
5、个网段(第一个可用网络号 192.0.0,最后一个可用网络号 223.255.255) ,网络中的主机标识占 1 组 8 位二进制数,每个网络允许有 28-2= 254 台主机,适用于结点比较少的网络。有些人对范围是 2x 不太理解,举个简单的例子加以说明。如 C 类网,每个网络允许有 28-2= 254 台主机是这样来的。因为 C 类网的主机位是 8 位,变化如下:000000000000000100000010000000111111111011111111除去 00000000 和 11111111 不用外,从 00000001 到 11111110 共有 254 个变化,也就是 28-
6、2 个。下图是 IP地址的使用范围。 网络类别 最大网络数 第一个可用的网络号 最后一个可用的网络号 每个网络中的最大主机数A 126(27-2) 1 126 16777214B 16384(214) 128.0 191.255 65534C 2097152(221) 192.0.0 223.255.255 2542、几个特殊的 IP 地址1)私有地址上面提到 IP 地址在全世界范围内唯一,看到这句话你可能有这样的疑问,像 192.168.0.1 这样的地址在许多地方都能看到,并不唯一,这是为何?Internet 管理委员会规定如下地址段为私有地址,私有地址可以自己组第 2 页 共 6 页网时
7、用,但不能在 Internet 网上用, Internet 网没有这些地址的路由,有这些地址的计算机要上网必须转换成为合法的 IP 地址,也称为公网地址,这就像有很多的世界公园,每个公园内都可命名相同的大街,如香榭丽舍大街,但对外我们只能看到公园的地址和真正的香榭丽舍大街。下面是 A、B、C 类网络中的私有地址段。你自己组网时就可以用这些地址了。10.0.0.010.255.255.255172.16.0.0172.131.255.255192.168.0.0192.168.255.2552)回送地址A 类网络地址 127 是一个保留地址,用于网络软件测试以及本地机进程间通信,叫做回送地址(l
8、oopback address) 。无论什么程序,一旦使用回送地址发送数据,协议软件立即返回之,不进行任何网络传输。含网络号127 的分组不能出现在任何网络上。【小技巧】Ping 127.0.0.1,如果反馈信息失败,说明 IP 协议栈有错,必须重新安装 TCP/IP 协议。如果成功,ping 本机 IP地址,如果反馈信息失败,说明你的网卡不能和 IP 协议栈进行通信。如果网卡没接网线,用本机的一些服务如 Sql Server、IIS 等就可以用 127.0.0.1 这个地址。3)广播地址TCP/IP 规定,主机号全为 “1“的网络地址用于广播之用,叫做广播地址。所谓广播,指同时向同一子网所有
9、主机发送报文。4)网络地址TCP/IP 协议规定,各位全为“0“的网络号被解释成“本“ 网络。由上可以看出:(1)含网络号 127 的分组不能出现在任何网络上;(2)主机和网关不能为该地址广播任何寻径信息。由以上规定可以看出,主机号全“0“全“1“ 的地址在 TCP/IP 协议中有特殊含义,一般不能用作一台主机的有效地址。3、子网掩码从上面的例子可以看出,子网掩码的作用就是和 IP 地址与运算后得出网络地址,子网掩码也是 32bit,并且是一串 1 后跟随一串 0 组成,其中 1 表示在 IP 地址中的网络号对应的位数,而 0 表示在 IP 地址中主机对应的位数。(1)标准子网掩码A 类网络(
10、1126) 缺省子网掩码: 255000255000 换算成二进制为 11111111000000000000000000000000可以清楚地看出前 8 位是网络地址,后 24 位是主机地址,也就是说,如果用的是标准子网掩码,看第一段地址即可看出是不是同一网络的。如 21.0.0.0.1 和 21.240.230.1,第一段为 21 属于 A 类,如果用的是默认的子网掩码,那这两个地址就是一个网段的。B 类网络(128191) 缺省子网掩码: 25525500C 类网络(192223) 缺省子网掩码: 2552552550B 类、C 类分析同上。(2)特殊的子网掩码标准子网掩码出现的都是 2
11、55 和 0 的组合,在实际的应用中还有下面的子网掩码255128002551920025525519202552552400255255255248255255255252这些子网掩码又是什么意思呢?这些子网掩码的出现是为了把一个网络划分成多个网络。第 3 页 共 6 页还记得上面的例子吗?如下所示:19216801 和 1921680200 如果是默认掩码 255.255.255.0 两个地址就是一个网络的,如果掩码变为 255.255.255.192 这样各地址就不属于一个网络了。下面的子网划分将作详细介绍。192.168.0.1 11000000.10101000.00000000.0
12、0000001192.168.0.200 11000000.10101000.00000000.11001000255.255.255.0 11111111.11111111.11111111.00000000192.168.0.1 11000000.10101000.00000000.00000001192.168.0.200 11000000.10101000.00000000.11001000255.255.255.192 11111111.11111111.11111111.11000000下表是几个子网掩码计算过程中非常有用的十进制和二进制的对照用于子网掩码换算的十进制和二进制对照十
13、进制 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 地址的界面大家都很熟悉,图中
14、出现了 IP 地址、子网掩码、默认网关和 DNS 服务器这几个需要设置的地方,只有正确设置,网络才能通,那这些名词都是什么意思呢?学习 IP 地址的相关知识时还会遇到网络地址、广播地址、子网等概念,这些又是什么意思呢?要解答这些问题,先看一个日常生活中的例子。如下图所示,住在北大街的住户要能互相找到对方,必须各自都要有个门牌号,这个门牌号就是各家的地址,门牌号的表示方法为:北大街+XX 号。假如 1 号住户要找6 号住户,过程是这样的,1 号在大街上喊了一声:“谁是 6 号,请回答。“ ,这时北大街的住户都听到了,但只有 6 号作了回答,这个喊的过程叫“广播“ ,北大街的所有用户就是他的广播范
15、围,假如北大街共有 20 个用户,那广播地址就是:北大街 21 号。也就是说,北大街的任何一个用户喊一声能让“广播地址-1“个用户听到。从这个例中可以抽出下面几个词:街道地址:北大街,如果给该大街一个地址则用第一个住户的地址-1,此例为:北大街 0 号住户的号:如 1 号、2 号等。住户的地址:街道地址+XX 号,如北大街 1 号、北大街 2 号等广播地址:最后一个住户的地址+1,此例为:北大街 21 号Internet 网络中,每个上网的计算机都有一个像上述例子的地址,这个地址就是 IP 地址,是分配给网络设备的门牌号,为了网络中的计算机能够互相访问,IP 地址=网络地址+主机地址,图 1
16、中的 IP 地址是192.168.100.1,这个地址中包含了很多含义。如下所示:网络地址(相当于街道地址): 192.168.100.0主机地址(相当于各户的门号): 0.0.0.1IP 地址(相当于住户地址): 网络地址+主机地址=192.168.100.1广播地址: 192.168.100.255这些地址是如何计算出来的呢?为什么计算这些地址呢?要想知道如何,先要明白一个道理,学习网络的目的就是如何让网络中的计算机相互通讯,也就是说要围绕着“通“ 这个字来学习和理解网络中的概念,而不是只为背几个名词。注:192.168.100.1 是私有地址,是不能直接在 Internet 网络中应用的
17、,上 Internet 要转为公有地址,下面详细说明。1、为什么要计算网络地址一句话就是让网络中的计算机能够相互通讯。先看看最简单的网络,下图中是用网线(交叉线)直接将两台计算机连起来。下面是几种 IP 地址设置,看看在不同设置下网络是通还是不通。(1)设置 1 号机的 IP 地址为 192.168.0.1 子网掩码为 255.255.255.0,2 号机的 IP 地址为 192.168.0.200 子网掩码为 255.255.255.0,这两台计算机就能正常通讯。第 4 页 共 6 页(2)如果 1 号机地址不变,将 2 号机的 IP 地址改为 192.168.1.200 子网掩码还是为 2
18、55.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 或普通交换机
19、间接的计算机之间要能够相互通,计算机必须要在同一网络,也就是说它们的网络地址必须相同,而且主机地址必须不一样。如果不在一个网络就无法通。这就像我们上面举的例子,同是北大街的住户由于街道名称都是北大街,且各自的门牌号不同,所以能够相互找到对方。计算网络地址就是判断网络中的计算机在不在同一网络,在就能通,不在就不能通。注意,这里说的在不在同一网络指的是 IP 地址而不是物理连接。那么如何计算呢?2、如何计算网络地址我们日常生活中的地址如:北大街 1 号,从字面上就能看出街道地址是北大街,而我们从 IP 地址中却难以看出网络地址,要计算网络地址,必须借助我们上边提到过的子网掩码。计算过程是这样的,将
20、 IP 地址和子网掩码都换算成二进制,然后进行与运算,结果就是网络地址。与运算如下所示,上下对齐,1 位 1 位的算,1 与 1=1 ,其余组合都为 0。1.0.1.01.0.0.0与运算_ 1.0.0.0例如:计算 IP 地址为:202.99.160.50 子网掩码是 255.255.255.0 的网络地址步骤如下:1)将 IP 地址和子网掩码分别换算成二进制202.99.160.50 换算成二进制为 11001010011000111010000000110010255.255.255.0 换算成二进制为 111111111111111111111111000000002)将二者进行与运算
21、1100101001100011101000000011001011111111111111111111111100000000与运算_110010100110001110100000000000003)将运算结果换算成十进制,这就是网络地址。11001010011000111010000000000000 换算成十进制就是 202.99.160.0现在我们就可以解答上面三种情况的通与不通的问题了。1、从下面运算结果可以看出二台计算机的网络地址都为 192.168.0.0 且 IP 地址不同,所以可以通。192.168.0.1 11000000.10101000.00000000.000000
22、01255.255.255.0 11111111.11111111.11111111.00000000与运算_192.168.0.0 11000000.10101000.00000000.00000000192.168.0.200 11000000.10101000.00000000.11001000255.255.255.0 11111111.11111111.11111111.00000000与运算_192.168.0.0 11000000.10101000.00000000.000000002、从下面运算结果可以看出 1 号机的网络地址为 192.168.0.0,2 号机的网络地址为 1
23、92.168.1.0 不在一个网络,所以不通。192.168.1.200 11000000.10101000.00000001.11001000255.255.255.0 11111111.11111111.11111111.00000000与运算_第 5 页 共 6 页192.168.1.0 11000000.10101000.00000001.000000003、从下面运算结果可以看出 1 号机的网络地址为 192.168.0.0,2 号机的网络地址为 192.168.0.192 不在一个网络,所以不通192.168.0.1 11000000.10101000.00000000.00000
24、001255.255.255.192 11111111.11111111.11111111.11000000与运算_192.168.0.0 11000000.10101000.00000000.00000000192.168.0.200 11000000.10101000.00000000.11001000255.255.255.192 11111111.11111111.11111111.00000000与运算_192.168.0.182 11000000.10101000.00000000.11000000相信看到这应该明白了为何计算网络地址和如何计算了,但也许还有很多疑问,如 IP 地址
25、为什么写成这样,子网掩码到底是怎么回事等等,别急,下面慢慢介绍。三、计算相关地址通过 IP 地址和子网掩码与运算计算相关地址知道 IP 地址和子网掩码后可以算出:网络地址 广播地址 地址范围 本网有几台主机【例 1】下面例子 IP 地址为 1921681005 子网掩码是 2552552550。算出网络地址、广播地址、地址范围、主机数。1、分步骤计算1)将 IP 地址和子网掩码换算为二进制,子网掩码连续全 1 的是网络地址,后面的是主机地址。192.168.100.5 11000000.10101000.01100100.00000101255.255.255.0 11111111.11111
26、111.11111111.000000002)IP 地址和子网掩码进行与运算,结果是网络地址192.168.100.5 11000000.10101000.01100100.00000101255.255.255.0 11111111.11111111.11111111.00000000与运算_结果为: 192.168.100.0 11000000.10101000.01100100.000000003) 将上面的网络地址中的网络地址部分不变,主机地址变为全 1,结果就是广播地址。网络地址为: 192.168.100.0 11000000.10101000.01100100.00000000_
27、将主机地址变为全 1 广播地址为: 192.168.100.255 11000000.10101000.01100100.111111114) 地址范围就是含在本网段内的所有主机网络地址+1 即为第一个主机地址,广播地址-1 即为最后一个主机地址,由此可以看出地址范围是: 网络地址+1 至 广播地址-1本例的网络范围是:1921681001 至 192168100254也就是说下面的地址都是一个网段的。1921681001、 1921681002 . 19216810020 . 192168100111. 1921681002545) 主机的数量主机的数量=2 二进制的主机位数-2减 2 是因
28、为主机不包括网络地址和广播地址。本例二进制的主机位数是 8 位。主机的数量=28-2=2542、总体计算我们把上边的例子合起来计算一下过程如下:192.168.100.5 11000000.10101000.01100100.00000101第 6 页 共 6 页255.255.255.0 11111111.11111111.11111111.000000002)IP 地址和子网掩码进行与运算,结果是网络地址192.168.100.5 11000000.10101000.01100100.00000101255.255.255.0 11111111.11111111.11111111.0000
29、0000与运算 _结果为网络地址:192.168.100.0 11000000.10101000.01100100.00000000_将结果中的网络地址部分不变,主机地址变为全 1结果为广播地址:192.168.100.0 11000000.10101000.01100100.11111111主机的数量: 28-2=254地址范围是: 网络地址: 192.168.100.0 广播地址为: 192.168.100.255主机的地址范围是:网络地址+1:192.168.100.1 广播地址-1: 192.168.100.254【例 2】IP 地址为 128361993 子网掩码是 25525524
30、00。算出网络地址、广播地址、地址范围、主机数1) 将 IP 地址和子网掩码换算为二进制,子网掩码连续全 1 的是网络地址,后面的是主机地址128?36?199?3 10000000?00100100?1100 0111?00000011255?255?240?0 11111111?11111111?1111 0000?000000002)IP 地址和子网掩码进行与运算,结果是网络地址128?36?199?3 10000000?00100100?1100 0111?00000011255?255?240?0 11111111?11111111?1111 0000?00000000与运算 _结果
31、为网络地址:128?36?192?0 10000000?00100100?1100 0000?000000003)将运算结果中的网络地址不变,主机地址变为 1,结果就是广播地址。128?36?192?0 10000000?00100100?1100 0000?00000000_广播地址: 128?36?207?255 10000000?00100100?1100 1111?111111114) 地址范围就是含在本网段内的所有主机网络地址+1 即为第一个主机地址,广播地址-1 即为最后一个主机地址,由此可以看出本例的网络范围是:128?36?192?1 至 128?36?207?2545) 主机的数量主机的数量=2 二进制位数的主机-2=212-2=4094从上面两个例子可以看出不管子网掩码是标准的还是特殊的,计算网络地址、广播地址、地址数时只要把地址换算成二进制,然后从子网掩码处分清楚连续 1 以前的是网络地址,后是主机地址进行相应计算即可。