第3章 IP:网际协议

3.5 子网掩码

任何主机在引导时进行的部分配置是指定主机 I P地址。大多数系统把 I P地址存在一个磁盘文件里供引导时读用。在第 5章我们将讨论一个无盘系统如何在引导时获得 I P地址。

除了I P地址以外,主机还需要知道有多少比特用于子网号及多少比特用于主机号。这是在引导过程中通过子网掩码来确定的。这个掩码是一个 32 bit的值,其中值为 1的比特留给网络号和子网号,为0的比特留给主机号。图 3 - 7是一个B类地址的两种不同的子网掩码格式。第一个例子是n o a o . e d u网络采用的子网划分方法,如图 3 - 5所示,子网号和主机号都是 8 bit宽。第二个例子是一个B类地址划分成10 bit的子网号和6 bit的主机号。
速读原著-TCP/IP(子网掩码)_子网掩码
尽管I P地址一般以点分十进制方法表示,但是子网掩码却经常用十六进制来表示,特别是当界限不是一个字节时,因为子网掩码是一个比特掩码。

给定I P地址和子网掩码以后,主机就可以确定 I P数据报的目的是:
(1)本子网上的主机;
(2)本网络中其他子网中的主机;
(3)其他网络上的主机。如果知道本机的 I P地址,那么就知道它是否为A类、B类或C类地址(从I P地址的高位可以得知),也就知道网络号和子网号之间的分界线。而根据子网掩码就可知道子网号与主机号之间的分界线。

举例
假设我们的主机地址是 1 4 0 . 2 5 2 . 1 . 1(一个B类地址),而子网掩码为2 5 5 . 2 5 5 . 2 5 5 . 0(其中8b i t为子网号,8 bit为主机号)。

• 如果目的I P地址是1 4 0 . 2 5 2 . 4 . 5,那么我们就知道 B类网络号是相同的( 1 4 0 . 2 5 2),但是子网号是不同的(1和4)。用子网掩码在两个I P地址之间的比较如图3 - 8所示。
• 如果目的I P地址是1 4 0 . 2 5 2 . 1 . 2 2,那么B类网络号还是一样的( 1 4 0 . 2 5 2),而且子网号也是一样的(1),但是主机号是不同的。
• 如果目的I P地址是1 9 2 . 4 3 . 2 3 5 . 6(一个C类地址),那么网络号是不同的,因而进一步的比较就不用再进行了。

速读原著-TCP/IP(子网掩码)_数据_02
给定两个I P地址和子网掩码后,I P路由选择功能一直进行这样的比较。