三分钟网络基础-子网掩码

从前面的文章我们知道,从 IP 数据报的首部无法看出源主机或目的主机所连接的网络是否进行了子网的划分,所以需要借助子网掩码。

示例阐述

以下面的图示举例,讲述子网掩码对路由器寻址起到的关键作用。

(a) 是 IP 地址为 145.13.3.10 的主机原本的两级 IP 地址结构。

(b) 是这个两级 IP 地址的子网掩码。因为是 B 类地址,所以子网掩码默认为 16 位。

(c) 是同一地址的三级 IP 地址结构,也就是说,现在从原来16位的主机号中拿出8位作为子网号,而主机号由16位减少到8位。

为了使路由器能够很方便地从数据报中的目的IP地址中提取出所要找的子网的网络地址,路由器需要借助三级IP地址的子网掩码。

(d) 是三级IP地址的子网掩码。子网掩码中的1对应于IP地址中原来二级地址中的16位网络号加上新增加的8位子网号,而子网掩码中的0对应于现在的8位主机号。

(e) 路由器把三级IP地址的子网掩码和收到的数据报的目的IP地址145.13.3.10逐位相“与”(AND),得出了所要找的子网的网络地址145.13.3.0。

总结

使用子网掩码的好处就是:不管网络有没有划分子网,只要把子网掩码和IP地址进行逐位的“与”运算(AND),就立即得出网络地址来。这样在路由器处理到来的分组时就可采用同样的算法。

思考

这里还要弄清一个问题,就是:在不划分子网时,既然没有子网,为什么还要使用子网掩码?这就是为了更便于查找路由表。

现在因特网的标准规定:所有的网络都必须使用子网掩码,同时在路由器的路由表中也必须有子网掩码这一栏。如果一个网络不划分子网,那么该网络的子网掩码就使用默认子网掩码。默认子网掩码中1的位置和IP地址中的网络号字段net-id正好相对应。因此,若用默认子网掩码和某个不划分子网的IP地址逐位相“与”(AND),就应当能够得出该IP地址的网络地址来。这样做可以不用查找该地址的类别位就能知道这是哪一类的IP地址。

猜你喜欢

转载自www.cnblogs.com/Tianny/p/12222188.html