为了便于寻址及层次化构造网络,每个IP地址均包含两个标识码,即网络号和主机号。同一个物理网络上的所有主机使用同一个网络号,而网络上的每个主机(包括工作站,服务器和路由器等)都有有一个(局域网内)唯一的主机号与之对应。因此IP地址的格式可以记为:
::= {<网络号>,<主机号>}
其中::=表示“定义为”。图1给出了各种IP地址的网络号字段和主机号字段,其中A、B、C类地址都是单播地址(一对一通信),是最常用的。
图1 IP地址中的网络号字段和主机号字段
从图中可以看出,IP地址不仅仅指明一台主机,还指明了该主机所连接到的网络。
早期,为了给不同规模的网络提供必要的灵活性,IP地址的设计者将IP地址空间划分为五种不同的类别,当时是这样考虑的:各种网络的差异很大,有的网络拥有很多主机,而有的网络上的主机则很少。把IP地址划分为不同的类别是为了更好地满足不同用户的需求。当某个单位申请到一个IP地址时,实际上是获得了具有同样网络号的一块地址,其中具体的主机号由该单位自行分配,只需做到在该单位管辖的范围内无重复的主机号即可。
在五种不同类别的IP地址中,A、B、C三类最为常用,如下表所示:
、B、C类IP地址
类别 | IP地址范围 | 私网IP地址范围 | 子网掩码 | 网络数 | 网段最大主机数 |
A | 1.0.0.1-127.255.255.254 | 10.0.0.0-10.255.255.255 | 255.0.0.0 | ) | ) |
B | 128.0.0.0-191.255.255.255 | 172.16.0.0-172.31.255.255 | 255.255.0.0 |
| 65534 (2^16-2) |
C | 192.0.0.0-223.255.255.255 | 192.168.0.0-192.168.255.255 | 255.255.255.0 |
| 254 (2^8-2) |
A类IP地址由1字节的网络地址和3字节的主机地址组成,其中网络地址的最高位必须为“0”。A类IP地址中可指派的网络数量只有126(即)个,这里减2的原因是:第一,网络号字段为全0的IP地址为保留地址,意思为“本网络”;第二,网络号为127(即01111111)保留作为本软件环回测试本主机的进程之间的通信之用。若主机发送一个目的地址为环回地址(如127.0.0.1)的IP数据报,则本主机中的协议软件就处理数据报中的数据,而不会把数据报发送到任何网络。目的地址为环回地址的IP数据报永远不会出现在任何网络上,因为网络号为127的地址根本不是一个网络地址。A类IP地址中主机号占3个字节,因此每个A类网络中的最大主机数为16777214(即),这里减2的原因是:全0的主机号字段表示该IP地址为“本主机”所连接到的单个网络地址(如一个主机的IP地址为5.6.7.8,则该主机所在的网络地址就是5.0.0.0),而全1表示“所有的”,因此全1的主机号字段表示该网络上的所有主机。IP地址空间共有2^32个地址,整个A类地址空间共有2^31个地址,占整个IP地址空间的50%。
B类IP地址由2字节的网络地址和2字节的主机地址组成,其中网络地址的最高两位必须是“10”。因为网络号字段的前两位固定,因此后面的14位无论怎样都不可能出现网络号字段为全0或全1的情况,因此这里不存在网络总数减2的问题。但实际上B类网络地址128.0.0.0是不可指派的,而可以指派的B类最小网络地址为128.1.0.0。因此B类地址可指派的网络数为2^14-1,即16383个。B类地址的每个网络上的最大主机数为2^16-2,即65534个,这里需要减2是因为要扣除全0或全1的主机号。整个B类地址空间共约有2^30个地址,占整个IP地址空间的25%。
C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。C类网络地址192.0.0.0也是不可指派的,可以指派的网络总数为2^21-1,即2097151个。每个C类地址的最大主机数为2^8-2。整个C类地址空间共约有2^29个地址,占整个IP地址空间的12.5%。