2.4 IP地址(IPv4)
目前IP的版本号是4(简称为IPv4),它的下一个版本就是IPv6,IPv6正处在不断发展和完善的过程中,它在不久的将来将取代目前被广泛使用的IPv4。在IPv4版本中,其核心技术属于美国,它的最大问题是网络地址资源有限,从理论上讲,可以编址1600万个网络、40亿台主机。
IP地址概述
大家都知道,每部连入电话网的电话机都有一个由电话局分配的电话号码,我们只要知道该电话机的电话号码,便可以拨通该电话机。如果被呼叫的话机与发起呼叫的话机是一个国家(或地区)的不同城市,则在电话号码前加上被叫话机所在城市的区号,如果被呼叫的话机与发起呼叫的话机位于不同的国家(或地区),还要在电话号码前加上被呼叫话机所在国家(或地区)的代码和城市的区号。
IP地址是IP为标志主机所使用的地址,分为4字节共32位,以X.X.X.X表示,每个X为8位,对应的十进制数取值为0~255。IP地址采取层次结构,与电话号码的层次有所不同,电话号码采用国家(或地区)代码、城市区号和电话号码三个层次构成,按地理方式进行划分。而IP地址的层次是按逻辑网络结构进行划分的,一个IP地址由两部分组成,即网络号和主机号,网络号用于识别一个逻辑网络,而主机号用于识别网络中的一台主机。只要两台主机具有相同的网络号,不论它们位于何处,都属于同一个逻辑网络;相反,如果两台主机网络号不同,即使毗邻放置,也属于不同的逻辑网络。
在Internet中对不同目标网络的寻址是通过路由器进行的,路由器通过路由表查找目标网络IP地址。从源主机发出的IP数据报根据所携带的目标主机IP地址信息寻址,并通过ARP完成目标IP地址与MAC地址的映射,在数据链路层找到MAC地址,最终完成数据通信。
在TCP/IP网络中,数据报能通过IP地址找到目标主机。根据OSI参考模型,标志网络中的主机(计算机或其他网络设备)可使用两种地址:MAC地址和网络地址。网络地址用于确定主机位置的逻辑地址,又称为逻辑地址,网络地址通常用网络号和主机号两部分表示,网络号表示主机所在网络编号,主机号则表示主机所在网络中的地址编号。用于在网络层(OSI参考模型)或网际层(TCP/IP模型)标志网络或该网络中的设备。采用不同的网络层协议,对网络地址的描述方式也不同。
802标准规定MAC地址为6B(48b)或2B(16b),实际通用的为6B。书写时常用十六进制表示,用两个十六进制数表示1B。如00 00 F4 D6 C7 A2就表示一个MAC地址。
IPX地址为80b,其中:高32b用于识别网络,为网络号,低48b用于标志结点(主机),为结点号,书写时通常用20个十六进制数来表示。IP地址为4B(32b),通常用十进制数来表示,每字节间用“.”隔开,称为点分十进制表示法。如192.168.0.1就是一个IP地址。
IP地址的分类
按照IP地址的逻辑层次来分,IP地址可以分为5类,每类都是按照IP地址的前几位来区分的,如图2-5所示。A类只有一位,E类有5位,只要看前三位就可以分辨其类型。但事实上,只需看前两位就能做出判断,因为D类和E类IP地址很少使用。
图2-5 IP地址分类
由图2-5可以看出,每类地址所包含的网络数与主机数各不相同,用户可根据网络的规模选择使用哪类IP地址。A类IP地址用7位表示网络,24位表示主机,因此,它主要用于大型网络。B类IP地址用14位表示网络,16位表示主机,主要用于中型规模的网络。而C类IP地址仅用8位表示主机,21位用于表示网络,在一个网络中最多只能连接256台设备,因此C类地址适用于较小规模的网络。最后,D类IP地址用于多目的地址发送,而E类则保留为今后使用。
IP地址的分类是经过精心设计的,它能适应不同的网络规模,具有灵活性,表2-2简要地总结了A、B、C三类常用IP地址的类别与其规模。
表2-2 A、B、C三类常用IP地址
IP地址由于采用32位二进制数值组成(总共4字节),这不直观,也不便于记忆,为了方便用户理解和记忆,通常采用点分十进制标记法,即将4字节的二进制数值转换成4个十进制数值,每个数值不大于255,数值中间用“.”隔开,表示成X.X.X.X形式。例如,二进制地址
用点分十进制表示法表示保山学院使用的其中一个IP地址是:222.56.127.168,它属于一个C类IP地址,前三字节为网络号,通常记为222.56.127.0,而最后一字节为主机号168。
根据IP地址,网络可以判定是否需要通过某个路由器将数据传递出去,这是依靠通过分析要传递数据的目的IP地址来进行的。如果其网络地址与当前所在的网络相同,那么,该数据就可以直接传递,无须经过路由器。相反,如果其网络地址与当前所在的网络不同,那么,该数据就必须传递给一个路由器,经路由器中转到达目的网络,然后由负责中转数据的路由器根据数据中的目的IP地址决定如何将数据转发出去。
因特网中的每台主机至少有一个IP地址,而且这个IP地址必须是全网唯一的。在因特网中允许一台主机有两个或多个IP地址,如果一台主机有两个或多个IP地址,则该主机属于两个或多个逻辑网络。
特殊的IP地址
在IP地址中,有的被保留作为内部网络专用,有的具有特殊的含义,有着特殊的用途。
(1)保留地址主要用做内部网络,主要有以下几种。
● A类地址:10.0.0.0
● B类地址:172.16.0.0~172.31.0.0
169.254.0.0~169.254.255.254(微软保留地址块)
● C类地址:192.0.0.0~192.255.255.0
(2)网络地址(“0”地址):主机号全为0的IP地址表示某网络号的网络本身,如IP地址123.23.23.0表示A类网络123.23.23.0。
网络号全为0的IP地址表示“本网络”,若主机试图在本网内通信,但又不知道本网的网络号,就可以用“0”地址代替。
(3)广播地址:主机号各位全为1的IP地址表示广播地址。广播是指同时向网上所有的主机发送报文,如123.23.23.255就是C类地址中的一个广播地址,代表网络123.23.23中的所有主机。
地址255.255.255.255代表本网广播或称为本地广播,规定32b全为1的IP地址用于本网广播,即255.255.255.255,代表本网中的所有主机。
(4)环路地址:A类网络地址的第1段十进制数值为127是一个保留地址,如127.1.11.13用于环路反馈测试、网络是否拥塞判断以及本地机进程间的通信等。
(5)全“0”地址:整个IP地址全为0代表一个未知的网络。在路由器的配置中,用于默认路由的配置。
子网与子网掩码
所谓子网,是把一个网络分割成若干较小的网络,例如,把一个C类网络划分为30个较小的网络,每一个较小的网络就是一个子网。
划分子网后,可以提高IP地址的利用率,可以减少在每个子网上的网络广播信息量,可以使互联网络更加易于管理。
划分子网后,网络中数据报的寻址就变成了分级寻址的情况,先由干路上的Internet路由器根据网络号定位到目的网络,再由连接子网的路由器根据扩展网络号进一步定位到目的网络中的子网络。而子网间的通信则不经过干路上的路由器,使得干路上的路由器的路由表能得到简化,提高工作效率。
划分子网后,可以认为IP地址分为网络地址、子网地址及主机地址三部分,当网络不使用子网的时候,不使用子网地址,只有网络地址和主机地址两部分。
创建子网时,可用主机地址的总数目会减少,要确定子网掩码,首先应确定传输IP信息流的子网个数,然后再确定能够容纳子网个数的最小子网掩码长度,在确定子网个数时,一般不使用包含全0或全1的这两个子网地址,因前者网络地址的形式与未划分子网时的原网络地址形式相同,后者广播地址的形式与未划分子网时的原网络的广播地址形式相同。但实际使用时,如在路由器配置地址时,是可以使用这两个子网的。
为了确定IP地址的哪部分代表网络号,哪部分代表主机号以及判断两个IP地址是否属于同一个网络,就产生了子网掩码的概念。子网掩码也采用32b的二进制位来表示。当掩码为1时,该位为网络地址,当掩码为0时,该位为主机地址。子网掩码给出了整个IP地址的位模式,其中的1代表网络部分,0代表主机号部分,采用点分十进制表示。
例如,某B类地址在未划分子网时,掩码为16b,该掩码用二进制表示为或用点分十进制表示为255.255.0.0。
若要划分为254个子网,则掩码为24b,表示为11111111111111111111111100000000或255.255.255.0,即使用了8b主机号来代表子网号(把8个0变成了8个1)。
对一个B类和C类网络的子网,所用子网位数、子网掩码、子网的个数、每个子网的主机数等关系如表2-3所示。
表2-3 B类和C类网络的子网
有效子网、有效子网号等相关计算,计算方法如下:
① 有效子网个数的计算:有效子网个数=2 子网位数-2;
② 每个子网有效IP地址个数的计算:主机个数=2 主机位数-2;
③ 第1个有效子网号=2 主机位数;
④ 第K个有效子网号=K×2 主机位数。
举例如下。
某C类地址的相关计算
某网络地址为192.168.10.0,子网掩码为255.255.255.192(/26),则
子网数=22-2=2
主机数=26-2=62
有效子网block size=256-192=64,所以第一个子网为192.168.10.64,第二个子网为192.168.10.128。
广播地址=下个子网-1,所以两个子网的广播地址分别是192.168.10.127和192.168.10.191。
有效主机范围=第一个子网的主机地址是192.168.10.65至192.168.10.126之间,第二个子网的主机地址是192.168.10.129至192.168.10.190之间。
某B类地址的相关计算
某网络地址为172.16.0.0,子网掩码为255.255.192.0(/18),则
子网数=22-2=2
主机数=214-2=16382
有效子网block size=256-192=64,所以第一个子网为172.16.64.0,最后1个子网为172.16.128.0。
广播地址=下个子网-1,所以两个子网的广播地址分别是172.16.127.255和172.16.191.255。
有效主机范围=第一个子网的主机地址是172.16.64.1至172.16.127.254之间,第二个子网的主机地址是172.16.128.1至172.16.191.254之间。
注:上述括号中(/26和/18)是子网掩码的另一种表示方法,通常子网掩码还可用“/前缀长度”表示,就是在斜杠号后面加上网络ID使用的位数,如A类网络地址10.1.16.1使用默认子网掩码,表示为10.1.16.1/8。