IPv4单播地址标识网络中的一个接口的位置,就像用街道地址标识城市街区的房子一样。正如一个街道地址必须能够标识一个唯一的住所一样,IPv4单播地址也必须是全局唯一的,而且要采用一种统一的格式。
每个IPv4单播地址包括一个网络ID和一个主机ID。
l 网络ID(又称网络地址)
它是IPv4单播地址的一部分,用来标识位于同一物理或逻辑网段(其边界由IPv4路由器定义)上的接口的集合。TCP/IP网络上的网段又叫做子网或链路。同一物理或逻辑子网上的所有节点都必须使用相同的网络ID,而且该网络ID在整个TCP/IP网络内必须是唯一的。
l 主机ID(又称主机地址)
它也是IPv4单播地址的一部分,用来标识子网上的网络节点的接口。主机ID在一个网段内必须是唯一的。
图5-5描绘了一个示例单播IPv4地址的结构。
<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 396pt; HEIGHT: 56.25pt" type="#_x0000_t75"><imagedata src="file:///D:/DOCUME~1/winda/LOCALS~1/Temp/msohtml1/01/clip_image001.png" o:title=""></imagedata></shape>
图5-5单播IPv4地址的结构示例
如果网络ID在TCP/IP网络中是唯一的,而且主机ID在一个网段中也是唯一的,则整个IPv4单播地址在整个TCP/IP网络中就是唯一的。
Internet团体最初定义地址类别是为了系统地给不同大小的网络分配地址前缀。地址类别定义了用于网络ID和主机ID的位数,还定义了网络的可能数量和每个网络中的主机数量。在五个地址类别中,A类、B类和C类地址是为IPv4单播地址保留的。D类地址是为IPv4多播地址保留的,而E类地址是为试验性用途而保留的。
A类网络ID被分配给拥有大量主机的网络。A类网络ID的前缀长度只有8位,这样,剩余的24位可用来标识多达16,777,214个主机ID。但是,这个较短的前缀长度将把可接受A类网络ID的网络数量限制为126个。A类地址具有以下几个主要特点:
l A类网络ID的高序位总是设置为0,此约定将A类网络ID的数量从256个减少到128个。
l 首八位设置成00000000的地址是不能被分配的,因为它们构成了被保留的网络ID。
l 首八位设置成01111111(十进制的127)的地址是不能被分配的,因为它们是为环回地址保留的。后面的两个约定将A类网络ID的数量从128个减少到126个。
【经验之谈】对于任何一个IPv4网络ID来说,主机位全部设置为0(全0主机ID)和主机位全部设置为1(全1主机ID)的两个主机ID是保留的主机ID,不能分配给网络节点接口。此约定将每个A类网络中的主机ID的数量从16,777,216(224)个减少到16,777,214个。
图5-6说明了A类地址的结构。
<shape id="_x0000_i1026" style="WIDTH: 366.75pt; HEIGHT: 51.75pt" type="#_x0000_t75"><imagedata src="file:///D:/DOCUME~1/winda/LOCALS~1/Temp/msohtml1/01/clip_image003.png" o:title=""><font size="3"></font></imagedata></shape>
图5-6A类地址的结构
B类网络ID被分配给中型和大型网络。在这类网络的地址中,前16位指定了特定的网络,后16位指定了特定的主机。但是,B类地址的两个高序位总是设置为10,这使得所有B类网络的地址前缀均为128.0.0.0/2(或128.0.0.0,192.0.0.0)。如果用14位表示B类网络ID,用16位表示主机ID,则可以将B类地址分配给16,384个网络,每个网络可以有65,534个主机。图5-7说明了B类地址的结构。
<shape id="_x0000_i1027" style="WIDTH: 394.5pt; HEIGHT: 55.5pt" type="#_x0000_t75"><imagedata src="file:///D:/DOCUME~1/winda/LOCALS~1/Temp/msohtml1/01/clip_image005.png" o:title=""><font size="3"></font></imagedata></shape>
图5-7B类地址的结构
C类地址被分配给小型网络。在这类网络的地址中,前24位指定了特定的网络,后8位指定了特定的主机。但是,C类地址的三个高序位总是设置为110,这使得所有C类网络的地址前缀均为192.0.0.0/3(或192.0.0.0,224.0.0.0)。如果用21位表示C类网络ID,用8位表示主机ID,则可以将C类地址分配给2,097,152个网络,每个网络可以有254个主机。图5-8说明了C类地址的结构。
<shape id="_x0000_i1028" style="WIDTH: 393pt; HEIGHT: 51.75pt" type="#_x0000_t75"><imagedata src="file:///D:/DOCUME~1/winda/LOCALS~1/Temp/msohtml1/01/clip_image007.png" o:title=""><font size="3"></font></imagedata></shape>
图5-8C类地址的结构
D类地址是为IPv4多播地址保留的。D类地址的四个高序位总是设置为1110,这使得所有D类地址的地址前缀均为224.0.0.0/4(或224.0.0.0,240.0.0.0)。有关详细信息,请参见本章的“IPv4多播地址”。
E类地址是为试验性用途而保留的。E类地址的高序位总是设置为1111,这使得所有E类地址的地址前缀均为240.0.0.0/4(或240.0.0.0,240.0.0.0)。
表5-5 总结了A、B 和 C三类可用于IPv4单播地址的Internet地址主要特征。
表5<chmetcnv w:st="on" unitname="a" sourcevalue="5" hasspace="True" negative="True" numbertype="1" tcsc="0">-5<span style="mso-spacerun: yes"> </span>A</chmetcnv>、B 和 C三类地址的主要特征
类别 |
w 的值 |
网络 ID 部分 |
主机 ID 部分 |
网络 ID |
每个网络的主机 ID |
A |
1-126 |
w |
x.y.z |
126 |
16,277,214 |
B |
127-191 |
w.x |
y.z |
16,384 |
65,534 |
C |
192-223 |
w.x.y |
z |
2,097,152 |
254 |
在为组织的子网分配网络ID时,请遵循以下准则:
l 网络ID在IPv4网络中必须是唯一的。
如果主机能够直接从子网访问Internet,则您必须使用一个由ICANN或者某个Internet服务提供商分配的公用IPv4地址前缀。如果主机不能直接从子网访问Internet,则使用一个合法的公用地址前缀或使用一个在您的专用Intranet内唯一的专用地址前缀均可。
l 网络ID不能以数字0或127开头。
第一个八位位组的这两个值是保留值,您不能将它们用于IPv4单播地址。
为IPv4子网上的节点接口分配主机ID时,请遵循以下准则:
l 主机ID在一个子网内必须是唯一的。
l 不能使用全0或全1主机ID。
为给定的地址前缀定义有效的IPv4单播地址范围时,请按照以下标准做法操作:
l 对于范围内的第一个IPv4单播地址,请将地址中的低序位设置为1,而将地址中的所有其他主机位均设置为0。
l 对于范围内的最后一个IPv4单播地址,请将地址中的低序位设置为0,而将地址中所有其他主机位均设置为1。
例如,地址前缀192.168.16.0/20的地址范围的表示方法如下:
l 该范围内的第一个IPv4单播地址是11000000 10101000 00010000 00000001(主机位以红色体字显示)或者192.168.16.1。
l 范围内的最后一个IPv4单播地址是11000000 10101000 00011111 11111110(主机位以红色体字显示)或者192.168.31.254。
因此,地址前缀 192.168.16.0/20 的地址范围是: 192.168.16.1 至 192.168.21.254 。