第5章IP寻址及子网运算
本章目标
※ 十进制与二进制的转换
※ IP地址的分类
※ 子网掩码的作用
※ IP地址的分配机构
※ 子网的划分与计算
四.IP地址
1.IP地址的概念
网络互连的一个重要前提条件是要有一个有效的地址结构,并且所有的互联网络用户都应遵守这个地址结构。地址结构可以有许多不同的形式、网络地址总是数字式的,但这些数字可以用二进制表示、十进制表示,甚至用十六进制表示。
联在某个网络上的两台计算机之间在相互通信时,在它们所传送的数据包里都会含有某些附加信息,这些附加信息就是发送数据的计算机的地址和接受数据的计算机的地址。象这样,人们为了通信的方便给每一台计算机都事先分配一个类似我们日常生活中的电话号码一样的标识地址,该标识地址就是我们今天所要介绍的IP地址。 根据TCP/IP协议规定, IP地址是由32位二进制数组成,而且在INTERNET范围内是唯一的。例如,某台联在因特网上的计算机的IP地址为:
11010010 01001001 10001100 00000010
有四 种 进制 :
十进制:有10个基数:0 ~~ 9 ,逢十进一
二进制:有2 个基数:0 ~~ 1 ,逢二进一
八进制:有8个基数:0 ~~ 7 ,逢八进一
十六进制:有16个基数:0 ~~ 9,A,B,C,D,E,F (A=10,B=11,C=12,D=13,E=14,F=15) ,逢十六进一
1)2进制转换为10进制
2)10进制转换为2进制
3)10进制转换为8进制
将(30)10转换成八进制数
8| 30 ……6 ------最右位
3 ------最左位
∴ (30)10 =(36)8
4)10进制转换为16进制
将(30)10转换成十六进制数
16| 30 …14(E)----最右位
1 ----最左位
∴ (30)10 =(1E)16
很明显,这些数字对于人来说不太好记忆。人们为了方便记忆,就将组成计算机的IP地址的32位二进制分成四段,每段8位,中间用小数点隔开,然后将每八位二进制转换成十进制数,这样上述计算机的IP地址就变成了:210.73.140.2。
TCP/IP的32位寻址功能方案不足以支持即将加入Internet的主机和网络数。因而可能代替当前实现的标准是IPv6。
IPv6最显著的特征就在于它的巨量的地址空间。IPv6采用128位的地址长度,是IPv4的四倍。当地址长度为32位时,最多可有2^32或4,294,967,296个可能的IP地址;而当地址长度为128位时,则将有2^128或340,282,366,920,938,463,463,374,607,431,768,211,456个可能的IP地址,相当于全球人均可分配1.8×1019个IPv6地址。
2.IP地址的分类
我们说过因特网是把全世界的无数个网络连接起来的一个庞大的网间网,每个网络中的计算机通过其自身的IP地址而被唯一标识的,据此我们也可以设想,在INTERNET上这个庞大的网间网中,每个网络也有自己的标识符。这与我们日常生活中的电话号码很相像,例如有 一个电话号码为029-82160906,这个号码中的前3位表示该电话是属于哪个地区的,后面的数字表示该地区的某个电话号码。 与上面的例子类似, 我们把计算机的IP地址也分成两部分,分别为网络标识和主机标识。同一个物理网络上的所有主机都用同一个网络标识,网络上的一个主机(包括网络上工作站、服务器和路由器等)都有一个主机标识与其对应? IP地址的4个字节划分为2个部分,一部分用以标明具体的网络段,即网络标识;另一部分用以标明具体的节点,即主机标识,也就是说某个网络中的特定的计算机号码。例如,某信息网络中心的服务器的IP地址为210.73.140.2,对于该IP地址,我们可以把它分成网络标识和主机标识两部分,这样上述的IP地址就可以写成:
网络标识:210.73.140.0
主机标识: 2
合起来写:210.73.140.2
IP地址负责将信息包送到正确的网络(或子网),MAC地址用来在本地传送信息包。
由于网络中包含的计算机有可能不一样多,有的网络可能含有较多的计算机,也有的网络包含较少的计算机,于是人们按照网络规模的大小,把32位地址信息设成三种定位的划分方式,这三种划分方法分别对应于A类、B类、C类IP地址。
l A类IP地址:用前面8位来标识网络号,其中规定最前面一位为“0”,24位标识主机地址,即A类地址的第一段取值(也即网络号)可以是“00000001 ---- 01111111”之间任一数字,转换为十进制后即为1~128之间。 主机号没有做硬性规定, 所以它的IP地址范围为“ 1.0.0.0~126.255.255.255
l ”。 A类地址是为大型政府网络而提供, 因为A地址中有10.0.0.0-10.255.255.254和127.0.0.0-127.255.255.254这两段地址有专门用途, 所以全世界总共只有126个可能的A类网络。 每个A类网络最多可以连接16777214台计算机, 这类 网络 数是最少的,但这类网络所允许连接的计算机是最多的。
网络号范围:
0XXXXXXX.00000000.00000000.00000000
00000001. 00000000.00000000.0000000 1 第一个号
01111110.00000000.00000000.00000000 最后一个号(127为保留地址,所以不能为7个“1”)
用十进制表示:1.0.0.0~126.0.0.0
主机范围:(2 24 -2)
00000001.xxxxxxxx.xxxxxxxx.xxxxxxxx
00000001. 00000000.00000000.00000001 第一个
00000001.11111111.11111111.11111110 最后一个
用十进制表示:1.0.0.1~1.255.255.254
l B类IP地址:用前面16位来标识网络号,其中最前面两位规定为“10”,16位标识主机号,也就是说B类地址的第一段“10000000 --- 10111111”,转换成十进制后即为128~191之间,第一段和第二段合在一起表示网络地址,它的地址范围为“ 128.0. 0.0~191.255.255.255
”。B类地址适用于中等规模的网络,全世界大约有16000个B类网络,每个B类网络最多可以连接65534台计算机。这类IP地址通常为中等规模的网络提供。其中172.16.0.0-172.31.255.254地址段有专门用途。
网络号范围:
10xxxxxx.xxxxxxxx.00000000.00000000
10000000.00000000.00000000.00000000 第一个
10111111.11111111.00000000.00000000 最后一个
用十进制表示:128.0.0.0~191.255.0.0
主机范围:(2 16 -2)
10000000.00000000.xxxxxxxx.xxxxxxxx
10000000.00000000.00000000.00000001 第一个
10000000.00000000.11111111.11111110 最后一个
用十进制表示:128.0.0.1~128.0.255.254
l C类IP地址:用前面24位来标识网络号,其中最前面三位规定为“110”,8位标识主机号。这样C类地址的第一段取值为“11000000 --- 11011111”之间,转换成十进制后即为192~223。第一段、第二段、第三段合在一起表示网络号,最后一段标识网络上的主机号,它的地址范围为“ 192.0. 0.0~223.255.255.255
”。C类地址适用于校园网等小型网络,每个C类网络最多可以有254台计算机。这类地址是所有的地址类型中 网络 地址数最多的,但这类网络所允许连接的计算机是最少的。这类IP地址可分配给任何有需要的人。其中192.168.0.0-192.168.255.255为企业局域网专用地址段。
网络号范围:
110xxxxx.xxxxxxxx.xxxxxxxx.00000000
11000000.00000000.00000000.00000000 第一个
11011111.11111111.11111111.00000000 最后一个
用十进制表示:192.0.0.0~223.255.255.0
主机范围:192.0.0.0
11000000.00000000.00000000.xxxxxxxx
11000000.00000000.00000000.00000001 第一个
11000000.00000000.00000000.11111110 最后一个
用十进制表示:192.0.0.1~192.0.0.254
l D类地址:它用于多重广播组,一个多重广播组可能包括1台或更多主机,或根本没有。D类地址的最高位为1110,第一段八位体为“11100000 - 11101111”,转换成十进制即为224 - 239,剩余的位设计客户机参加的特定组,它的地址范围为“224.0.1.1-239.255.255.255”。
l E类地址:这是一个通常不用的实验性地址,保留作为以后使用。E类地址的最高位为11110,第一段八位体为“11110000 - 11110111”,转换成十进制即为240 - 247。
以上各类IP地址结构如图3所示。
图3
其实还有一类IP地址,就是以“127”开头的IP地址,这类IP地址也是属于保留使用的,这类地址属于环路测试类IP地址。这类IP地址不能作为计算机的IP地址用,也就不能在网络上使用这样的IP地址来标识计算机的位置,更不能通过在浏览器或者其他搜索位置输入这样的IP地址,来搜索想要查找的计算机,因为它只能在本地计算机上用于测试使用。 举例:127.0.0.1
l 一些特殊的IP
1.0.0.0.0:作为缺省路由的目标地址
不能作为合法的主机IP
2.255.255.255.255:全网广播地址
3.127.0.0.1:本机的IP地址的缺省值
l IP地址的分配机构
1.NIC(Network Information Center)国际网络信息中心
负责分配A类地址,授权分配B类IP地址的组织,有权重新刷新IP地址。
2.分配B类IP地址的组织:
InterNIC:负责北美地区
ENIC:负责欧洲地址的分配
APNIC:负责亚太地区,设在日本东京大学。我国属于此范围。
3.IP地址与域名的关系
前面介绍的IP地址都是以数字形式表示计算机的地址,这种IP地址人们记忆起来是非常困难的。 对非计算机和网络的专业人士来说,记住这种地址是很不现实的。因此,Internet还 可以 采用域名地址来表示每台计算机。通过为每台计算机建立IP地址与域名地址之间的映射关系,用户可以在网上避开难以记忆的IP地址,而用域名地址来唯一标记网上的计算机。域名地址与IP地址的关系类似于一个人的姓名与×××号码之间的关系。
域名地址也是分段表示的,每段分别授权给不同的机构管理,各段之间用圆点(.)分隔。
Internet对某些通用性的域名作了规定。例如,.com是工商界域名,.edu是教育界域名,.gov是政府部门域名等等。此外,国家和地区的域名常用两个字母表示。例如,fr表示法国,jp表示日本,us表示美国,uk表示英国,cn表示中国等等。如果在一个域名的末尾没有找到地理域,就可以假定该域名是出自美国的,其他国家的右边第一个域名是代表相应的国家。如一些国外单位在中国 的 公司网址,通常是在“.com”后加上“.cn”或者“/cn”,还有的是加上“/china”来表示中国站点,如Cisco公司的中国站点为 www.cisco.com.cn ;IBM的中国站点为 www.ibm.com/cn 。
4.IP子网掩码概述
l 为什么要划分子网?子网划分(subnetting)的优点:
1. 解决IP地址的浪费问题
2. 减少网络流量
3. 提高网络性能
4. 简化管理
5. 易于扩大地理范围
简单点说,就是为了减少广播风暴,提高线路的利用率。
每个子网定义一个 32 位二进制数:
网络地址和网络内子网地址部分对应位置 “1” ,主机地址部分对应位置 “0” 。
l 如何划分子网?
子网划分是借助于取走主机位,把这个取走的部分作为子网位.因此这个意味划分越多的子网,主机将越少。子网掩码用于辨别IP地址中哪部分为网络地址,哪部分为主机地址。
192.168.10.32/28,这排数字告诉你你的子网掩码是多少,/28代表多少位为1,最大/32.
l 划分子网的几个捷径:
已知子网掩码,求子网数、主机数、有效子网、 子网地址、 广播地址、主机地址。
1.你所选择的子网掩码将会产生多少个子网?
2的x次方-2(x代表掩码位,即2进制中为1的部分)
2. 每个子网能有多少主机?
2的y次方-2(y代表主机位,即2进制为0的部分)
3.有效子网是?:有效子网号=256-10进制的子网掩码
4.广播地址=子网地址与网络掩码的异或运算
5.网络地址: 主机地址和子网掩码两者进行逻辑与运算后即可得到网络地址
l 根据上述捷径划分子网的具体实例:
C类地址例子:网络地址192.168.10.0;子网掩码255.255.255.192(/26)
6. 子网数=2 2 -2=2
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
1. 有效主机范围是:第一个子网的主机地址是192.168.10.65到192.168.10.126;第二个是192.168.10.129到192.168.10.190
l 要计算某一个IP地址的子网掩码。
方法一:利用子网数来计算。
1.首先,将子网数目从十进制数转化为二进制数;
2.接着,统计得到的二进制数的位数,设为N;
3.最后,先求出此IP地址对应的地址类别的子网掩码。再将求出的子网掩码的主机地址部分(也就是“主机号”)的前N位全部置1,这样即可得出该IP地址划分子网的子网掩码。
例如:需将B类IP地址167.194.0.0划分成28个子网:
1)(28)10=(11100)2;
2)此二进制的位数是5,则N=5;
3)此IP地址为B类地址,而B类地址的子网掩码是255.255.0.0,且B类地址的主机地址是后2位(即0-255.1-254)。于是将子网掩码255.255.0.0中的主机地址前5位全部置1,就可得到255.255.248.0,而这组数值就是划分成 28个子网的B类IP地址 167.194.0.0的子网掩码。
方法二:利用主机数来计算。
1.首先,将主机数目从十进制数转化为二进制数;
2.接着,如果主机数小于或等于254(注意:应去掉保留的两个IP地址),则统计由“第一步”中得到的二进制数的位数,设为N;如果主机数大于254,则 N>8,也就是说主机地址将超过8位;
3.最后,使用255.255.255.255将此类IP地址的主机地址位数全部置为1,然后按照“从后向前”的顺序将N位全部置为0,所得到的数值即为所求的子网掩码值。
例如:需将B类IP地址167.194.0.0划分成若干个子网,每个子网内有主机500台:
1)(500) 10 =(111110100) 2 ;
2)此二进制的位数是9,则N=9;
3)将该B类地址的子网掩码255. 255.0.0的主机地址全部置 1,得到255.255.255.255。然后再从后向前将后9位置0,可得:11111111. 11111111.11111110.00000000即255.255.254.0。这组数值就是划分成主机为500台的B类IP地址167.194.0.0的子网掩码。
1.IP地址192.168.1.200,子网掩码是255.255.255.224,要求计算其网络地址、主机地址和广播地址。
首先把255.255.255.224换算成2进制,就是11111111.11111111.11111111.11100000,然后把IP地址也换算成2进制,就是11000000.10101000.00000001.11001000,因此可以得到网络地址就是11000000.10101000.00000001.11000000,即192.168.1.192;主机地址就是将子网掩码取反再与IP地址逻辑与(AND)后得到的结果即为主机部分00001000,即8;而广播地址就是11000000.10101000.00000001.11011111,即192.168.1.223。
注释:
子网地址=主机地址和网络掩码的与运算。11000000 10101000 0000001 11000000
广播地址=子网地址与网络掩码的异或运算
主机地址:11000000 10101000 00000001 11001000
广播地址:192.168.1.223
11000000 10101000 00000001 11011111