IP地址
地址是标识对象所处位置的标识符。为了识别互联网上的每个结点,必须为每个结点分配一个唯一的地址。在TCP/IP中,由互联网协议(IP)来进行编址。IP规定:每台主机分配一个32位二进制数作为该主机的为IP地址。
IP地址是互联网中的一个非常重要的概念,它在网际互联层实现了底层网络地址的统一,使互联网的网络层地址具有全局唯一性和一致性。在TCP/IP中,网际互联层使用IP地址来标识因特网上的每一台设备。互联网地址和域名分配机构(ICANN)负责所有IP地址的分配。某些设备,如物理连接到1个以上网络的路由器,必须对应每个网络连接或端口分配一个唯一的IP地址。
IP寻址采用32位地址字段。地址字段中的位编号为0~31。地址字段可以分成两部分:右边部分用来识别主机本身(主机部分),左边部分用来识别主机所在的网络(网络部分)。连接到同一网络的主机必须公用一个指定其网络号的公共前缀。
注意:网络主机中的IP软件使用唯一的位模式来识别地址类别。当IP软件识别地址类别之后,就可以确定哪些位表示网络号,哪些位表示地址中的主机部分。
IP定义的地址构成一个地址空间。地址空间就是协议所使用的地址总数。如果协议使用N位来定义地址,那么地址空间就是2N个,因为每一位都可以有两种不同的值(1或0)。
IP地址使用32位地址,这表示地址空间为232或4 294 967 296(超过40亿)个。这表明,从理论上讲可以有超过40亿个设备连接到因特网;但实际数字要远小于这个数值。随着因特网的发展,可用的32位IP地址资源已很少。早在2011年2月3日,因特网编号管理局(IANA)就宣布全球IPv4地址池已经耗尽。IETF制定了用来取代IPv4的新一代互联网协议—— IPv6。IPv6地址长度为128位,4倍于IPv4地址长度,它所表达的复杂程度也是IPv4地址的4倍。当不做特别说明时,本书中的IP地址是指32位的IPv4地址。
IP地址由4个十进制数字段的形式表示,每个字段有3个字符,字段之间用英文句点符号分开,如“字段1.字段2.字段3.字段4”。
刚开始使用IP地址时,IP地址使用分类的概念。这种体系结构称为分类编址。到20世纪90年代中期,出现了一种称为无分类编址的新体系。在分类编址中,IP地址空间共分为5类:A、B、C、D和E类。这些地址类可以通过其引导(最高顺序)位进行区分。分类编址的主要问题是:每一类地址都划分为固定数目的地址块,每一地址块的大小是固定的。
A类地址
在A类网络地址中,有1个其值设置为0的引导位以及一个7位的网络号和24位的本地主机地址。前八位位组值的范围是0~127,即A类地址共分为128个地址块,如图1.8所示。第一块覆盖的地址是从0.0.0.0到0.255.255.255,第二块覆盖的地址是从1.0.0.0到1.255.255.255……最后一块覆盖的地址是从127.0.0.0到127.255.255.255。这类地址的第一地址块和最后一个地址块保留特殊用途,无法分配给网络和主机。所以,A类地址总共可以定义126个A类网络,每个网络最多可以有16 777 214台主机。
图1.8 A类网络地址
注意:IETF制定的请求评论(RFC)文档规定:在IP地址中,某些地址已被预留。第一个地址(即主机地址位均为0的地址)表示其所属的网络,因此不能分配给主机;最后一个地址(即主机地址位均为1的地址)表示全部主机,也不能分配给特定的主机。
另外,网络地址0.x.y.z和127.x.y.z也因特殊需要而被预留。因此,A类地址中可以分配给网络主机的地址范围为1.x.y.z~126.x.y.z。这说明,A类地址中只有125个地址块可分配给机构使用。
虽然224=16 777 216,但只能为每个A类地址的网络分配16 777 214个主机地址,因为主机地址位全为0和全为1的地址不能分配,所以要从总数中减去这两个不能分配的地址。
B类地址
在B类网络地址中,有2个其值设为10的最高顺序位(引导位)以及一个14位的网络号和16位的本地主机地址。前八位位组值的范围是128~191,因此B类地址共划分为16 384个地址块,如图1.9所示。第一块覆盖的地址是从128.0.0.0到128.0.255.255……最后一块覆盖的地址是从191.255.0.0到191.255.255.255。有16个地址块保留用作专用地址,剩下的16 368个地址块可分配给各机构使用,每个网络最多可以有65 534台主机。
图1.9 B类网络地址
C类地址
在C类网络地址中,有3个其值设为110的引导位以及一个21位的网络号和8位的本地主机地址。前八位位组值的范围是192~223,如图1.10所示。第一块覆盖的地址是从192.0.0.0到192.0.0.255……最后一块覆盖的地址是从223.255.255.0到223.255.255.255。这样,一共可以定义2 097 152个C类网络,有256个地址块保留用作专用地址,剩下的2 096 896个地址块可分配给各机构使用。这表明,可以得到C类地址的机构数为2 096 896个。但这类地址的每个地址块只包含256个地址,因此使用这些地址的机构应当是需要不到256个地址的小型机构。
图1.10 C类网络地址
D类地址
第4类地址是用作多播地址的D类地址。D类地址只有一个地址块。D类地址的4个最高顺序位(引导位)被设置成1110,其余28位表示多播组ID,前八位位组值的范围为224~239,如图1.11所示。
图1.11 D类网络地址
E类地址
最后一类IP地址是E类地址。E类地址只有1个地址块,是预留将来使用的地址。E类地址的5个最高顺序位(引导位)被设置为11110,前八位位组值的范围为240~247,如图1.12所示。E类地址的最后一个地址(255.255.255.255)用作特殊地址。
图1.12 E类网络地址
注意:有时也将IP地址中的网络号称为网络地址,它在分类编址中起着非常重要的作用。网络地址是一个IP地址块的第一个地址,根据它就能找出这个地址的类别、地址块以及这个地址块的地址范围。路由器就是根据网络地址来选择数据报的路由的。例如,若给出IP地址220.34.76.0,就可以知道:由于第一个字节在192~223之间,因此这个IP地址是C类地址;这个地址块的网络号是220.34.76;地址的范围为220.34.76.0~220.34.76.255。