为了更易于阅读,IP 地址被分成四个 8 位数字,称为八位字节。例如,quark.physics.groucho.edu 的 IP 地址为 0x954C0C04,写成 149.76.12.4。这种格式通常被称为点分十进制表示法。
这种表示法的另一个原因是 IP 地址被分成网络号(包含在前面的八位字节中)和主机号(是剩余部分)。当向 NIC 申请 IP 地址时,您不会为计划使用的每个主机分配一个地址。相反,您会被分配一个网络号,并被允许根据您的喜好将此范围内的所有有效 IP 地址分配给您网络上的主机。
根据网络的大小,主机部分可能需要更小或更大。为了适应不同的需求,有几种网络类别,定义了 IP 地址的不同划分。
Class A Class A comprises networks 1.0.0.0 through 127.0.0.0. The network number is contained in the first octet. This provides for a 24 bit host part, allowing roughly 1.6 million hosts. Class B Class B contains networks 128.0.0.0 through 191.255.0.0; the network number is in the first two octets. This allows for 16320 nets with 65024 hosts each. Class C Class C networks range from 192.0.0.0 through 223.255.255.0, with the network number being contained in the first three octets. This allows for nearly 2 million networks with up to 254 hosts. Classes D, E, and F Addresses falling into the range of 224.0.0.0 through 254.0.0.0 are either experimental, or are reserved for future use and don't specify any network.如果我们回到前一章的示例,我们发现 149.76.12.4,即 quark 的地址,指的是 B 类网络 149.76.0.0 上的主机 12.4。
您可能已经注意到,在上面的列表中,并非主机部分中每个八位字节都允许所有可能的值。这是因为主机号中所有八位字节都为 0 或所有八位字节都为 255 的情况被保留用于特殊目的。所有主机部分位均为零的地址指的是网络,而所有主机部分位均为 1 的地址称为广播地址。这指的是同时向指定网络上的所有主机发送信息。因此,149.76.255.255 不是有效的主机地址,而是指网络 149.76.0.0 上的所有主机。
还有两个网络地址被保留,0.0.0.0 和 127.0.0.0。第一个被称为默认路由,后者被称为环回地址。默认路由与 IP 路由数据报的方式有关,这将在下文讨论。
网络 127.0.0.0 保留用于主机本地的 IP 流量。通常,地址 127.0.0.1 将分配给主机上的一个特殊接口,即所谓的环回接口,它就像一个闭合电路。从 TCP 或 UDP 传递给它的任何 IP 数据包都将被返回给它们,就好像它刚刚从某个网络到达一样。这使您可以开发和测试网络软件,而无需使用“真实”网络。另一个有用的应用是当您想在独立主机上使用网络软件时。这可能不像听起来那么罕见;例如,许多 UUCP 站点根本没有 IP 连接,但仍然希望运行 INN 新闻系统。为了在 上正常运行,INN 需要环回接口。