我们知道,互联网(Internet)是由早期的美国国防部的DARPANET发展而来,DARPANET已对其寻址结构做出了不同的标准版本。在互联网工程任务组 (IETF)成立后,其在DARPANET相关标准的基础上陆续编制制定了“互联网协议”标准的不同版本,直到1981年9月IETF发布的RFC 791《INTERNET PROTOCOL》标准,称之为“互联网协议”的第4个版本,这就是IPv4的由来。在IETF RFC 791中规定了IPv4的地址规格,因此,也将此称为IPv4地址。
一、地址长度和组成
IPv4的地址为4字节(32比特)的二进制编码,地址总数为232,即4294967296个。由网络代码(含特征位)和主机代码两部分组成。
二、地址分类规则
IPv4地址划分如图2-1所示的由上而下依此为A、B、C、D、E类共5类地址,以适应不同网络规模的要求。每类地址都规定了网络代码和主机代码各使用多少位,因此也就定义了可能有的网络数目和每个网络中可能有的主机数目。
图2-1:IPv4的5类地址格式
在定义时,网络代码与主机代码应遵循以下规定,其网络代码和主机代码的范围详见下表2-1。
其一,网络代码规则:网络代码(也称为网络地址(Network address))唯一性,即网络对Internet是唯一的。网络代码不能以十进制数127(01111111)开头,在A类地址中,数字127保留给诊断用。网络代码的第一个8位组不能都设置为1,即不能为十进制数255,此数字作为广播地址使用;同时,代码的第一个8位组也不能设置为全“0”,全“0”表示的是本地网络。
其二,主机代码规则:主机代码(也成为本地地址(Local address))对每个网络是唯一的,不管它是否连接到Internet主机代码各个位不能设置为全“1”,全“1”为广播地址而不是主机地址代码,同时也不能设置为全“0”。
表2-1:网络代码和主机代码的范围
三、地址的分类
根据上述规则,对各类地址分别定义如下:
1、A类地址
A类地址中第1字节(第1个8位组)的首位(特征位)总是二进制“0”,其余7位表示网络代码号,除去全“0”(本地网络)和全“1”(保留作诊断)外,其网络代码有效范围为001~126。第2、3、4个8位组,共24位用于主机代码。故A类地址表示的有效网络数为126个,每个网络主机数为16 777 214(除去全“0”和全“1”外)。这类地址一般分配给具有大量主机的网络使用。
2、B类地址
B类地址中第1个8位组的前2位(特征位)总是二进制“10”,剩下的6位和第2个8位组共14位二进制数表示网络代码,第3、4个8位组共16位表示主机代码。类似上述算法可得,B类地址表示的有效网络数为16 382;每个网络主机数为65 534。这类地址一般分配给具有中等规模主机数的网络使用。
3、C类地址
C类地址中第1个8位组的前3位(特征位)总是二进制“110”,剩下的5位和第2、3个8位组共21位二进制数表示网络代码,第4个8位组共16位表示主机代码。类似上述算法可得,C类地址表示的有效网络数为2 097 152;每个网络主机数为254。这类地址一般分配给小型的局域网使用。由于C类地址支持大量的网络连接,所以使用于互连网的连接,即使如此,该类地址已几乎被耗尽。
A、B、C类地址是我们常用的地址,它们的特征参数汇总于下表3-1。
表3-1:IPv4的A、B、C类地址特征参数
4、D类地址
D类地址中第1个8位组的前4位(特征位)总是二进制“1110”。D类地址用于组播(Multicast)地址。在一个网络内可以有一个组播地址用来到达一组单独的主机。每个主机被分配一个组播地址,可通过D类地址的分配将它作为一组主机来访问。
欲具体了解组播地址机制的请进入。
5、E类地址
E类地址中第1个8位组的前5位(特征位)总是二进制“11110”。E类地址用于预留。
下表3-2给出了IPv4的4种特殊地址(广播地址、有限广播地址、私有网络地址等)的情况。
表3-2:特殊IPv4地址
四、地址的表示与分配
1、表示
IPv4的地址为32比特,为了书写和录入计算机的方便,习惯上采用“点分隔十进制标记法”(Dotted Decimal Notation)表示。即将每个8比特的地址段之值,用十进制数表达(最大值为“255”),地址段间用点号“.”分隔。因此,某个二进制数表达形式为
“11000000 10101000 00000000 00000001”
的C类地址,用“点分隔十进制标记法”则缩短为“192.168.0.1”。
2、分配
根据RFC 820《号码分配》建议将A、B、C类网络地址的可用号码空间分别分配给研发、国防部和商业用途,并由DARPA(美国国防部高级研究计划局)、DCA(美国国防通信局)、PCCO/DDN和美国国家标准局负责分配。建议的分配方案如下表4-2所述。RFC 820中已显示了各类地址具体的分配情况。
表 4-2:IPv4网络地址的分配
欲详细了解RFC 791标准中有关IPv4地址要求具体内容的请进入。
图2-1所示的地址结构从理论上讲,可构成4294967296个网络地址,但除去组播地址和保留未用的地址之外,实际上只有八分之七的地址可用。一方面,早期获得A、B、C类地址的国家或集团,其地址较充足,可能利用不充分;另一方面,后来接入Internet的国家或集团获得地址又严重不足。因此,总体上讲IPv4地址已经严重匾乏。由于近些年间,Internet用户数在世界范围内按指数规律增长,因而要求扩展IP地址的呼声越来越高,于是新版本的IPv6将IP地址由原来的32比特,扩展为128比特。
欲进一步了解IPv6地址技术的请进入。