3.子网掩码
IP 地址的设计也有不够合理的地方。例如,IP 地址中的 A 至 C 类地址,可供分配的网络号超过 211 万个,而这些网络上可供使用的主机号的总数则超过 37.2 亿个。初看起来,似乎IP 地址足够全世界来使用。其实不然。第一,设计者没有预计到微型计算机会普及得如此之快,使得各种局域网和网上的主机数急剧增长。第二,IP 地址在使用时有很大的浪费。便如,某个单位申请了一个 B 类地址。但该单位只有一万台主机。于是,在一个 B 类地址中的其八 5万 5 千多个主机号就白白浪费了。因为其他单位的主机无法使用这些号码。为此,设计者在IP 地址中又增加了一个“子网字段”。
大家知道,一个单位申请到的 IP 地址是这个 IP 地址的网络号 net-id,而后面的主机号Host-id 则由本单位进行分配,本单位所有的主机都使用同一个网络号。当一个单位的主机很多而且分布在很大的地理范围时,往往需要用一些网桥(而不是路由器,因为路由器连接的主机具有不同的网络号)将这些主机互连起来。网桥的缺点较多,例如容易引起广播风暴,同时当网络出现故障时也不太容易隔离和管理。为了使本单位的主机便于管理。可以将本单位所属主机划分为若干个子网(Subnet),用 IP 地址中的主机号字段中的前若干个比特作为“子网号字段”,后面剩下的仍为主机号字段。这样做就可以在本单位的各子网之间用路由器来互联,因而便于管理。
注意:子网的划分是属于本单位内部的事,在本单位以外看不见这样的划分。从外部看,这个单位仍只有一个网络号。只有当外面的分组进入到本单位范围后,本单位的路由器再根据子网号进行路由选择,最后找到目的主机。若本单位按照主机所在的地理位置来划分子网,那么在管理方面就会方便得多。图 1-25(a)以 B 类 IP 地址为例,说明了在划分子网时用到的子网掩码(Subnet Mask)的意义。
图 1-25(b)表示将本地控制部分再增加一个子网号字段,子网号字段究竟选多长,由本单位根据情况确定。TCP/IP 体系规定用一个 32 比特的子网掩码来表示子网号字段的长度。具体的做法是:子网掩码由一连串的“1”和一连串的“0”组成,“1”对应于网络号和子网号字段,而“0”对应于主机号字段,如图 1-25(c)所示。该子网掩码用点分十进制表示就是 255.255.240.0。
若不进行子网划分,则其子网掩码即为默认值,此时子网掩码中“1”的长度就是网络号的长度。因此,对于 A、B 和 C 类 IP 地址,其对应的子网掩码默认值分别为 255.0.0.0、255.255.0.0 和 255.255.255.0。
采用子网掩码相当于采用三级寻址。每一个路由器在收到一个分组时,首先检查该分组的 IP 地址中的网络号。若网络号不是本网络,则从路由表找出下一站地址将其转发出去。若网络号是本网络,则再检查 IP 地址中的子网号。若子网不是本子网,则同样地转发此分组。若子网是本子网,则根据主机号即可查出应从何端口将分组交给该主机。
那么如何判断两个 IP 地址是否是一个子网呢?具体方法是将两个 IP 地址分别和子网掩码做二进制“与”运算。如果得到的结果相同,则属于同一个子网,如果结果不同则不属于同一个子网。
例如 129.47.16.254、129.47.17.01、129.47.31.454、129.47.33.01,这四个 B 类 IP 地址 如 果 在 默 认 子 网 掩 耳 盗 铃 码 的 情 况 下 是 属 于 同 一 个 子 网 的 , 但 如 果 子 网 掩 码 255.255.240.0,则29.47.16.254 和 129.47.17.01 是属于同一个子网的,而 129.47.31.454、129.47.33.01 则属于另一个子网。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |