热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

理解网络标识符:IP地址、子网掩码与网络号的关联性分析

本文深入探讨了IP地址、子网掩码与网络号之间的关联性。IP地址由32位二进制数构成,分为四个8位段,通常以十进制形式表示。通过子网掩码,可以将IP地址划分为网络部分和主机部分,从而实现网络的高效管理和路由。文章详细解析了这三者之间的关系及其在实际网络配置中的应用。

网络号=IP乘以子网掩码

IP、子网掩码、网络号之间的关系、区分和运算
IP地址总共是32位二进制数表示,每8位为一节,总共4节。日常使用中每节用一个十进制表示(0-255)。每个IP地址都是由网络号+主机号组成,前面N位表示网络号,后面32-N位表示主机号。到底前面几位表示网络号就是由子网掩码来区分,在子网掩码中用1和0来分别网络号位和主机号位,其中是1的表示是网络位,0表示主机位,前面说的IP中前面的N位表示网络号,后面的32-N位才是主机号,所以子网掩码总是前面一段全是1,后面一段全是0。我们的IP范围就是主机号范围。所有主机号中的最后一个主机号为广播地址。
比如一个IP地址:192.168.0.1/24,这是我们常见的一个C类地址,用二进制表示就是 IP:11000000 10101000 00000000 00000001 子:11111111 11111111 11111111 00000000
这就是说这个IP中,前24位表示网络号,后面8位表示主机号。也就是说我们IP取值范围就是最后的8位从0000000-11111111之间,用十进制表示也就是0-255之间,在地址中0不能作为IP地址使用,他是网络号的专用,也就是说我们的取值范围是在1-255之间,其中1是网关地址(实际中我们组建局域网的时候不一定用1作网关这是另一回事),255是广播地址,也就是说实际能使用的只有253个IP,即192.168.0.2-192.168.0.254。
那什么是网络号呢?说得直接一点就是这个局域网在网络上的IP。我们知道每一台计算机在网络上都有一个IP地址,这个IP地址就是这台计算机在网络上的一个编号,那么网络号也就是这个局域网在互联网上的IP地址编号。网络号的计算方法是把IP地址与子网掩码作“与”运算,所谓的与运算,就相当于我们并时所说的乘运算,当两个同为1时其结果为1,如果其中有一个是0则结果是0。在上面的例子中前面的24位是网络号那么这个局域网在网络中的编号就是192.168.0.0,现在知道为什么0始终不能用为IP地址了吧。如果两台机的网络号不一样,表示这两台机不在同一个局域网中。比如有如下两个IP:192.168.0.115/24,192.168.5.115/24,用二进制表示就是:
IP1: 11000000 10101000 00000000 01110011 子网: 11111111 11111111 11111111 00000000 网络号: 11000000 10101000 00000000 00000000 十进制表示网络号:192.168.0.0
IP2: 11000000 10101000 00000101 01110011 子网: 11111111 11111111 11111111 00000000 网络号: 11000000 10101000 00000001 00000000 十进制表示网络号:192.168.5.0 两个IP的网络号不一样,表示这两个IP不在同一个局域网中。
又比如我网吧从电信公司分到一组IP:89.153.43.225/29,那么换成二进制就是
IP:01011001 10011001 00101011 11100001 子:11111111 11111111 11111111 11111000 可以清楚的看出这组IP在网络上的网络号是前面的29位,用十进制表示就是89.153.43.224,这组IP的主机号就是最后的三位,我们说过主机号范围就是IP范围。我网吧从电信公司分得的IP范围用二进制表示就是: IP1:01011001 10011001 00101011 11100000 IP2:01011001 10011001 00101011 11100001 IP3:01011001 10011001 00101011 11100010 IP4:01011001 10011001 00101011 11100011 IP5:01011001 10011001 00101011 11100100 IP6:01011001 10011001 00101011 11100101 IP7:01011001 10011001 00101011 11100110 IP8:01011001 10011001 00101011 11100111
我们说过0只能用来表示网络号,不能用于IP,所以上面的8个IP中,只有IP2-IP8是合法的,用十进制表示就是89.153.43.225-231,其中89.153.43.225是网关,89.153.43.231是广播地址,实际可用IP是89.153.43.226-230,因为这一组IP的网络号同为89.153.43.224,

那么已知IP地址以及它的子网掩码,如何知道其网络地址,主机号,广播地址以及可用的主机地址呢?
首先将IP地址和子网掩码用二进制表示,那么
网络地址=IP地址 and 子网掩码(and表示”与”操作) ;
主机号=IP地址 and 子网掩码的反码;
广播地址=将网络号右边表示主机部分的二进制变1;
可用的主机地址:网络号+1————-广播地址-1。
举例:
172.16.2.10/255.255.255.0
首先我们可以知道它是B类地址.
将172.16.2.10用二进制表示:10101100 00010000 00000010 00001010


255.255.255.0用二进制表示:11111111 11111111 11111111 00000000

“与”操作 10101100 00010000 00000010 00000000
网络地址: 172 . 16 . 2 . 0
将网络地址右边表示主机部分的二进制变1,即
10101100 00010000 00000010 11111111
广播地址: 172 . 16 . 2 . 255
可用主机地址为: 172.16.2.1——172.16.2.254

192.168.100.5/255.255.255.0
首先我们可以知道它是C类地址.
255.255.255.0 11111111 11111111 11111111 00000000


192.168.100.5 11000000 10101000 01100100 00000101

“与”操作 11000000 10101000 01100100 00000000
网络地址: 192 . 168 . 100 . 0
广播地址:
11000000 10101000 01100100 11111111
192 . 168 . 100 . 255
可用主机地址为:192.168.100.1——192.168.100.254


推荐阅读
author-avatar
董丹一只花
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有