路由器是咋通过子网掩码来判断出子网号的

在IP初始的时候,通过人为划分了A,B,C类等网络地址,来作为网络号。后来则是引入了子网掩码,从而可以对网络进行更细化的划分,即VLSM以及CIDR。第二点就是分析下子网号和网络号的区别。假设有一个172.168.10.1这个B类地址,我们设其子网掩码为255.255.255.0,在这个时候,由于其是一个B类的地址,所以其网络号是172.168,其子网号是10,主机号是1。而在实际中,我比较喜欢直接把通过子网掩码所获得的172.168.10.0这个网段直接称之为网络号,因为这个是描述网络的地址,后面是具体描述主机的地址。由于这里的问题定义在子网号,所以就在上面所提到的子网号的定义下进行回答:首先将IP地址和子网掩码都化成二进制的形式(方法主要体现其含义,而不是最快的方法),假设IP地址与子网掩码即是上面的172.168.10.1以及255.255.255.0,将其转换为二进制的形式:10101100.10101000.00001010.00000001(IP)11111111.11111111.11111111.00000000(netmask)将上下两个二进制序列求“与”(指的逻辑“与”运算)计算,所求出来的就是网络的号码,然后进而由于我们判断这个网络是基于一个B类的地址,而B类的地址的子网掩码是255.255.0.0(二进制就是11111111.11111111.00000000.00000000)所以,前两个段落即是其具体的网络号,即172.168,然后多出来的第三部分,则就是所述的子网号,最后一部分,由于0与任何求“与”都是0,所以其就不是网络号。排除掉网络号,最后所剩下的就是主机号了。


    推荐阅读