-
..
彻底明白
IP
地
址
-
完整版(含
CIDR
讲解)
不管是学习网络还是上网,
IP
地址都是出现频率非常高的词。
Window
s
系统中设置
IP
地址的界面如
图
1
所示,图中出现了
IP
地址、子网掩码、默认网关和
DNS
服务器这几个需要设置的地方,只有正确设
置,网络才能通,那这些名词都是什么意
思呢
?
学习
IP
地址的相关知识时还会遇到网络地址、广播地址、
子网等概念,这些又是什么意思呢?
图
1
要解答这些问题,先看一个日常生活中的例子。如图
2
所示,住在北大街的住户要能互相找到
对方,
必须各自都要有个门牌号,这个门牌号就是各家的地址,门牌号的表示方法为:北大街
+
XX
号。假
如
1
号住户要找
6
号住户,过程是这样的,
1
号在大街上喊了一声:
谁是
6
号,请回答。
,这
时北大街
的住户都听到了,但只有
6
号
作了回答,这个喊的过程叫
广播
,北大街的所有用户就是他的广播范围,
假如北大街共有
20
个用户,那广播地址就是:北大街
21
号。也就是说,北大街的任何一个用户喊一声能
让
广播地址
-1
个用户听到。
图
2
;.
..
从这个例中可以抽出下面几个词:
p>
街道地址:北大街,如果给该大街一个地址则用第一个住户的地址
-
1
,此例为:北大街
0
号
住户的号:如
1
号、
2
号等。
< br>
住户的地址:街道地址
+XX
号,如北大街
1
号、北大街
2
号等
广播地
址:最后一个住户的地址
+1
,此例为:北大街
21
号
In
ternet
网络中,
每个上网的计算机都有一个像上述例子的
地址,这个地址就是
IP
地址,
是分<
/p>
配给网络设备的门牌号,为了网络中的计算机能够互相访问,
IP
地址
=
网络地址
+
主机地址,图
1
中的
IP
地址是
192.168.100.1
,这个地址中包含了很多含义。如下所示:
网络地址(相当于街道地址):
192.168.100.0
主机地址(相当于各户的门号):
0.0.0.1
IP
地址(相当于住户地址):
网络
地址
+
主机地址
=192.168.1
00.1
广播地址:
192.168.100.255
这些地址是如何计算出来的呢?为什么计算这些地址呢?要想
知道如何,先要明白一个道理,
学习网络的目的就是如何让网络中的计算机相互通讯,也
就是说要围绕着
通
这个字来学习和理解网络中
的概念,而不是只为背几个名词。
注:
192.168.100.1
是私
有地址,不能直接在
Internet
网络中应用,上
Internet
要转为公有地址,详细说明见
后文。
一、为什么要计算网络地址
p>
一句话就是让网络中的计算机能够相互通讯。先看看最简单的网络,图
3
中是用网线(交叉线)
直接将两台计算机连起来。下面是几
种
IP
地址设置,看看在不同设置下网络是通还是不通。
1
、设置
1
号机的
IP
地址为
< br>192.168.0.1
子网掩码为
255.255.2
55.0
;
2
号机的
< br>IP
地址为
192.168.0.200
子网掩码为
255.255.255.0
,这样它们就
能正常通讯。
2
、<
/p>
如果
1
号机地址不变,
< br>将
2
号机的
IP
地址改为
192.168.1.200
子网掩码还是为
255.255.255.0
,
那这两
台就无法通讯。
3
、设
置
1
号机的
IP
地址为
192.168.0.1
子网掩码为
< br>255.255.255.192
,
2
< br>号机的
IP
地址为
192.16
8.0.200
子网掩码为
255.255.255.192<
/p>
,
注意和第
1
种
情况的区别在于子网掩码,
1
为
255
.255.255.0
本例是
255.255.255.192
,这两台计算机就不能正常通讯。
图
3
;.
..
第
1
p>
种情况能通是因为这两台计算机处在同一网络
192.168.0.
0
,所以能通,而
2
、
3
种情况下
两台计算机处在不同的网络,所以不通。<
/p>
这里先给个结论:用网线直接连接
或通过
HUB
或普通交换机间连接的计算机之间要能够相互通,
计算机必须要在同一网络,也就是说它们的网络地址必须相同,而且主机地址必须不一样
。如果不在一个
网络就无法通。这就像我们上面举的例子,同是北大街的住户由于街道名
称都是北大街,且各自的门牌号
不同,所以能够相互找到对方。
计算网络地址就是判断网络中的计算机是否在同一网络,在就
能通,不在就不能通。注意,这
里说的是否在同一网络指的是
I
P
地址而不是物理连接。那么如何计算呢?
二、如何计算网络地址
我们日常生活中的地址如:北大街
1
号,从字面上就能看出街道地址是北大街,而我们从
IP
地
址中却难以看出网络地址,要计算网络地址,必须借助我们上边提到
过的子网掩码。
计算过
程是这样的,将
IP
地址和子网掩码都换算成二进制,然后进行
与运算,结果就是网络地
址。与运算如下所示,上下对齐,
1<
/p>
位
1
位的算,
1
与
1 = 1
,其余组合都为
0
图
4
p>
例如:计算
IP
地址为:
< br>202.99.160.50
子网掩码是
255.255
.255.0
的网络地址步骤如下:
1
)将
IP
地址和子网掩码分别换算成二进制
202.99.160.50
换算成二进制为
11001010·01100011·10100000·00110010
255.255.255.0
换算成二进制为
11111111·11111111·11111111·00000000
2
)将二者进行与运算
图
5
3
)将运算结果换算成十进制,这就是网络地址。
11001010·01100011·10100000·
00000000
换算成十进制就是
202.99.160.0
;.
..
现在我们就可以解答上面三种情况的通与不通的问题了。
1
、从下面运算结果可看出两计算机的网络地址都为
192.168.0.0
且
IP
地址不同,所以可以通。
图
6
2<
/p>
、从下面运算结果可以看出
1
号机的网络
地址为
192.168.0.0
;
2
号机的网络地址为
192.168.1.0
不在一个网络,所以不通。
图
7
3<
/p>
、从下面运算结果可以看出
1
号机的网络
地址为
192.168.0.0
,
2<
/p>
号机的网络地址为
192.168.0.192
不在一个网络,所以不通
图
8
;.
..
看到这里大家应该明白为何要计算
网络地址和如何计算了,但也许还有很多疑问,如
IP
地址为<
/p>
什么写成这样,子网掩码到底是怎么回事等等,别急,下面慢慢介绍。
三、
IP
地址的介绍
1
、
IP
地址的表示方法
IP
地址
=
网络号
+
主机号
< br>如果把整个
Internet
网作为一个单一的网络,<
/p>
IP
地址就是给每个连在
Interne
t
网的主机分配一个全
世界范围内唯一的标示符,
Internet
管理委员会定义了
A
、
B
、
C
< br>、
D
、
E
五类地址,在每类地址中,还规定
了网络编号和主机编号。在
TCP/IP
协议中,
IP
地址是以二
进制数字形式出现的,共
32bit
,
1bit
就是二
进制中的
1
位,但这种形式非常不适用于人阅读和记忆。因此
Internet
管理委员会决定采用一种
点分十
进制表示法
表示
IP
地址:
面向用户的文档中,
由四段构成的
p>
32
比特的
IP
地址被直观地表示为四个以圆
点隔开的十进制整数,其中,每一个整数对应一个字节(<
/p>
8
个比特为一个字节称为一段)
。
A
、
B
、
C
类最常
用,下面加以介绍。本文介绍的都是版本
4
的
IP
地址
,称为
IPv4.
从上图可以看出:
A
类地址:
A
类地址的网络标识由第一组
8
位二进制数表示,
A
类地
址的特点是网络标识的第一位二进制
数取值必须为
。不难算出,
A
类地址第一个地址为
00000001
,最后一个地址是
01111111
,换算成十进
制就是
127
,其中
127
留作保留地址,
A
类地址的第一段范围是:
1
~<
/p>
126
,
A
类地
址允许有
2
7
-2=126
个网
段(减
2
是因为
0
不用,
127
留作它用)
,网络中的主机标识占
3<
/p>
组
8
位二进制数,每个网络允许有
2
24
-2=16777214
台主机(减
2
是因为全
0<
/p>
地址为网络地址,全
1
为广播地址,这两
个地址一般不分配给主
机)
。通常分配给拥有大量主机的网络。
B
类地址:
B
类地址的网络标识由前两组
8
位二
进制数表示,网络中的主机标识占两组
8
位二进制数,
B
类地址的特点是网络标识的前两位二进制数取值必须为
。
B
类地址第一个地址为<
/p>
10000000
,最后一
个地址是
p>
10111111
,换算成十进制
B
类地址第一段范围就是
128
~
191
,
B
类地址允许有<
/p>
2
14
=16384
< br>个网
段,网络中的主机标识占
2
组
8
位二进制数,每个网络允许有
2<
/p>
16
-2=65534
台主机,适用于结
点比较多的
网络。
Internet
有
16383(2
14
-1)
个
B
类地址
(
因为
B
类网络地址
128
.0.0.0
是不指派的,而可以指派的最
小地址为
128.1.0.0
)
。
C
类地址:
C
类地址的网络标识由前
3
组
8
位二进制数表示,网络中主机标识占
1
组
8
位二进制数
C
类地
;.
..
址的特点是网络标识的前
3
位二进制数取值必须为
。
C
类地址第一个地址为
1
1000000
,最后一个地
址是
11
011111
,换算成十进制
C
类地址
第一段范围就是
192
~
223
,
C
类地址允许有
2
21
=2097152
个网段,
p>
网络中的主机标识占
1
组
< br>8
位二进制数,每个网络允许有
2
8
-2=
254
台主机,适用于结点比较少的网络。
有些
人对范围是
2
x
不太理解,举个简单的
例子加以说明。如
C
类网,每个网络允许有
2
8
-2=
254
台
主机是这样来的。因为
C
类网的主机位是
8
位,变化如下
:
00000000
00000001
00000010
00000011
……
11111110
11111111
除去
00000000
和
11111111
不用外,
从
00
000001
到
11111110
共有
254
个变化,
也就是
2
8
-2
个。
下
图是
IP
地址的使用范围。
2
、几
个特殊的
IP
地址
1
)私有地址
上面提到
IP
地址在全世界范围内唯一,看到这句话你可能有这样的疑问,像
< br>192.168.0.1
这样的地
址在许多地方都能看到
,
并不唯一,这是为何?
Internet
管理委员会规定如下地址段为私有地址,
私有地
址可以自己
组网时用,但不能在
Internet
网上用,
Internet
网没有这些地址的路由,有这些地址的计算
< br>机要上网必须转换成为合法的
IP
地址
< br>,
也称为公网地址,这就像有多到的世界公园,每个公园内都可命名
相同的大街,如香榭丽舍大街,但对外我们只能看到公园的地址和真正的香榭丽舍大街。下面是
A
、
B
、
C
类网络中的私有地址段。你自己组网时就可以用这些地址了。
10.0.0.0
~
10.255.255.255
172.16.0.0
~
172.131.255.255
192.168.0.0
~
192.1
68.255.255
2
)保留地址
如果你的
IP
地址是自动获取
IP<
/p>
地址,
而你在网络上又没有找到可用的
D
HCP
服务器,
这时你将会从
B
类的保留地址
169.254.0.0
到
p>
169.254.255.255
中临时获得一个
< br>IP
地址。
3
)回送地址
A
类网络地址
127
是一个保留地址
,
用于网络软件测试以及本地机进程间通信,
叫做回送地址
p>
(
loopback
address
p>
)
。无论什么程序,一旦使用回送地址发送数据,协议软件立即返回
之,不进行任何网络传输。含
;.
..
网络号
127
的分组不能出现在任何网络上。
小技巧:
Ping
127.0.0.1,
如果反馈信息失败
,
说明
IP
协议栈有错
,
必须重新安装
TCP/IP
协议。如果成功
,ping
本机
IP
地址
,
如果反馈信息失败
,
说明你的网卡不能和
IP
协议栈进行通信。
如果网卡没接网线,用本机的一些服务如
Sql Server
、
IIS
等就可以用
< br>127.0.0.1
这个地址。
4
)广播地址
TCP/IP
规定,主机号全为
的网
络地址用于广播之用,叫做广播地址。所谓广播,指同时向同一子
网所有主机发送报文。
5
)网络地址
TCP/IP
协议规定,各位全为
的
网络号被解释成
本
网络。由上可以看出:一、含网络号
127
的分
组不能出现在任何网络上;二、主机和网关不能为该地址广播任何寻径信息。由以上规定可以看出, 主机
号全
全
<
/p>
的地址在
TCP/IP
协议中有特殊含义
,一般不能用作一台主机的有效地址。
3
、子网掩码
从上面的例子可以看出,
子网掩码的作用就是和
IP
地址与运算后得出网络地址,
子网掩码也是
32
bit
,
并且是一串
1
后跟随一串
0
组成,其中
1<
/p>
表示在
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
类分析同上。
p>
2
)
特殊的子网掩码
标准子网掩码出现
的都是
255
和
0
的组合,在实际的应用中还有下面的子网掩码
255·128·0·0
255·192·0·0
。
。
。
。
。
。
255·255·192·0
255·255·240·0
<
/p>
。
。
。
。
。
。
255·255·255·248
;.
..
255·255·255·252
这些子网掩码又是什么意思呢?这些子网掩码的出现是为了把一个网络划分成多个网络。
还
记
得
上
p>
面
的
例
子
吗
?
如
下
所
示
:
192·168·0
·1
和
192·168·0·200
如
果
是
默
认
p>
掩
码
255.255.255.0
两个地址就是一个网络的,如果掩码变为
255.255.255.19
2
这样各地址就不属于一个网络
了。下面将对子网划分作详细介
绍。
当子网掩码为
255
·
255
·
255
p>
·
0
时,通过下式计算网络地址为
192.168.0.0
192
·
168
·
0
·
1 11000000
·
10101000
·
00000000
·
00000001
192
·
p>
168
·
0
·
p>
200 11000000
·
10101000
·
00000000
·
11001000
255
·
255
·
255
·
0 11111111
·
11111111
·
11111111
·
00000000
当子网掩码为
255
·
255
·
255
·
192
时,
通过下式计算网络地址为
192.168.0.192
1
92
·
168
·
0
·
1 11000000
·
10101000
·
00000000
·
00000001
192
·
168
·
0
·
200 11000000
·
1010
1000
·
00000000
·
11001000
255
·
255
·
255
·
192 11111111
·
1
1111111
·
11111111
·
11000000
四、通过
IP
地址和子网掩码与运算计算相关地址
p>
知道
ip
地址和子网掩码后可以算出:
p>
1
、
网络地址
2
、
广播地址
3
、
地址范围
4
、
本网有几台主机
例
p>
1
:下面例子
IP
地址为
192·168·100·5 子网掩码是
255·25
5·255·0。
算出网络地址、
广
播
地址、地址范围、主机数。
一)分步骤计算
1
)
将
p>
IP
地址和子网掩码换算为二进制,子网掩码连续全
1
的是网络地址,后面的是主机地址。
虚线前为网络地址,虚线后为主机地址
;.
..
p>
2
)
IP
地址和子
网掩码进行与运算,结果是网络地址
3
)
将上面
的网络地址中的网络地址部分不变,主机地址变为全
1
,结果就
是广播地址。
4
)
地址范围就是包含在本网段内的所有主机
p>
网络地址加
1
即为第一个主机地址,广播地
址减
1
即为最后一个主机地址,由此可以看出
< br>
地址范围是:
网络地址
+1
至
广播地址
-1
本例的网络范围是:192·168·100·1 至
192·168·100·254
也就是说下面的地址都是一个网段的。
192·168·100·1、
192·168·100·2
。
。
。
192·168·100·20
。
。
。
192·168·100·111
。
。
。
192·168·100·254
5
)
主机的数量
主机的数量
=
2
二进制的主机位数
- 2
p>
减
2
是因为主机不包括网络地址和广播地址
。本例二进制的主机位数是
8
位。
主机的数量
= 2
8
–
2 = 254
二)总体计算
我们把上边的例子合起来计算一下过程如下:
;.
..
例
2
:
IP
地址为
128·36·199·3 子网掩码是
255·255·240·0。算出网络地址、广播地址、
地址范围、主机
数。
1
)
p>
将
IP
地址和子网掩码换算为二进制,子网
掩码连续全
1
的是网络地址,后面的是主机地址,
虚线前为网络地址,虚线后为主机地址
2
)
p>
IP
地址和子网掩码进行与运算,结果是网络地址
< br>
3
p>
)将运算结果中的网络地址不变,主机地址变为
1
< br>,结果就是广播地址。
4
)
地址范围就是含在本网段内的所有主机
p>
网络地址
+1
即为第一个主机地址,广播地
址
-1
即为最后一个主机地址,由此可以看出
< br>
地址范围是:
网络地址
+1
至
广播地址
-1
;.
..
本例的网络范围是:128·36·192·1
至
128·36·207·254
5
)
主机的数量
主机的数量
=
2
二进制位数的主机
- 2
主机的数量
= 2
12
–
2 = 4094
减
p>
2
是因为主机不包括网络地址和广播地址。
p>
从上面两个例子可以看出不管子网掩码是标准的还是特殊的,计算网络地址、广播地址、地址
数
时只要把地址换算成二进制,然后从子网掩码处分清楚连续
1
以前的是网络地址,后是主机地址进行相应
计算即可。
五、划分子网
上面的例子
192.168.0.0
子网掩码为
255.255.255.0
的这个网络中可容纳<
/p>
254
台主机,
如果想把一个
网络分成两个以上的网络该如何分呢?
IP
地址是
由网络地址
+
主机地址组成的,增加网络部分的长度,减
少主机地址的长度就能将一个网络划分成数个网络。具体的解决办法就是增加子网掩码中连续<
/p>
1
,这样相
应的主机地址就减少了。看个
具体的例子就明白了。
192
·
168
·
0
·
0 11000000
·
10101000
·
00000000
·
00000000
255
·
255
·
255
·
0 11111111
·
11111111
·
111
11111
·
00000000
子网
掩码由
255
·
255
·
255
·
0
变为
255
·
255
·
255
·
192
p>
后网络位和主机位变化如下:
192<
/p>
·
168
·
0<
/p>
·
0 11000000
·
10101000
·
0000000
0
·
00 000000
255
·
255
·
p>
255
·
192 11111111
·
11111111
·
11111111
·
11 000000
可看出当子网掩码从网络位从
255
·
255
·
255
·
0
变为
255
·
255
·
255
·
192
时网络位由
24
p>
位变成
26
位,
I
P
地址前
24
位是规定的网络位数,是
不能改变的,而从主机借来的
25
、
2
6
两位是可以改变的。
11000000
·
10101000
·
00000000
·
0
0 000000
11000000
·
10101000
·
00000000
·
01 000000
1100
0000
·
10101000
·
00000000
·
10 000000
11000000
·
10
101000
·
00000000
·<
/p>
11 000000
;.