一、什么是子网掩码?

在了解ip地址的网段之前,我们先来了解子网掩码,很多对网络了解不深的朋友都对子网掩码有些迷惑, 不了解它是用来干什么的?

子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

说的通俗的话,就是用来分割子网和区分那些ip是同一个网段的,那些不是同一网段的。

例如,两个人都叫张三,但一个张三是张家村的,另一个张三是张村的,那么如何区分这两个张三分别是属于那个村的呢?得让村长来区分,就可以准确的把各自的张三领回村,那么子网掩码就相当于村长,它就是用来区分ip该ip地址是属于那个网段的。

在实际项目中,我们通常会遇到这样的ip地址。

ip地址:192.168.1.1 子网掩码:255.255.255.0

ip地址:192.168.1.2 子网掩码:255.255.255.0

我们可以直接的判断,他们是同属于一个网段的ip地址。

那么对于下面这样的呢?

ip地址:192.168.1.1 子网掩码:255.255.255.0

ip地址:192.168.1.2 子网掩码:255.255.0.0

这两个ip地址虽然在不看掩码的情况下,比较像,但他们并不是同一个网段内的。

这个可以从子网掩码来判断,

192.168.1.1 255.255.255.0是属于192.168.1.0网段的。

而192.168.1.2 255.255.0.0是属于192.168.0.0网段。

二、如何根据掩码来确定ip地址网段

上面我们已经举例了解了子网掩码的作用,接下来我们再来了解如何确定子网掩码和判断ip地址的网段。

通常我们在划分vlan的时候会使用以下例子:

例1:

创建vlan1:ip地址:192.168.1.1 子网掩码:255.255.255.0

创建vlan2: ip地址:192.168.2.1 子网掩码:255.255.255.0

那么他们是不是在同一个网段呢?平时配置ip地址较多的朋友,可以直观的判断,他们并不是属于同一个网段,那么如何计算呢?要想判断两个ip地址是不是在同一个网段,只需将ip地址与子网掩码做与运算,如果得出的结果一样,则这两个ip地址是同一个子网当中。

详细计算

将ip地址192.168.1.1转换为二进制

11000000 10101000 00000001 00000001

将子网掩码255.255.255.0转换成二进制

11111111.11111111.11111111.00000000

然后将两者相“与(and)"运算:

11000000 10101000 00000001 00000001

11111111.11111111.11111111.00000000

然后得到:

11000000 10101000 00000001 00000000

转换成网络号就是:192.168.1.0

将ip地址192.168.2.1转换为二进制

11000000 10101000 00000010 00000001

将子网掩码255.255.255.0转换成二进制

11111111.11111111.11111111.00000000

然后将两者相“与(and)"运算:

11000000 10101000 00000010 0000000

11111111.11111111.11111111.00000000

然后得到:

11000000 10101000 00000010 00000000

转换成网络号就是:192.168.2.0

很明显,二者的结果是不一样的,一个是网段192.168.1.0,一个是网段192.168.2.0,所以不是一个网段。

例2

ip地址1:192.168.1.1 子网掩码:255.255.252.0

ip地址2:192.168.2.1 子网掩码:255.255.252.0

很明显,我们这个和上面例1的ip地址是一样的,只是子网掩码不一样,如果不看子网掩码,首先可能就判断他们不是同一个网段。

这里面和上面例1中唯一变化就是子网掩码从255.255.255.0换成了255.255.252.0了,那我们来看下,他们是否属于同一个网段。

详细计算

将ip地址192.168.1.1转换为二进制

11000000 10101000 00000001 00000001

将子网掩码255.255.252.0转换成二进制

11111111.11111111.11111100.00000000

然后将两者相“与(and)"运算:

11000000 10101000 00000001 00000001

11111111.11111111.11111100.00000000

然后得到:

11000000 10101000 00000000 00000000

转换成网络号就是:192.168.0.0

将ip地址192.168.2.1转换为二进制

11000000 10101000 00000010 00000001

将子网掩码255.255.252.0转换成二进制

11111111.11111111.11111100.00000000

然后将两者相“与(and)"运算:

11000000 10101000 00000010 00000001

11111111.11111111.11111100.00000000

然后得到:

11000000 10101000 00000000 00000000

转换成网络号就是:192.168.0.0

很明显,二者的结果是一样的,都是属于192.168.0.0网段,所以他们是同属于一个网段。

当然,如果对子网较熟了就不需要经过这些运算了,大部分的网段可以通过分析子网掩码与ip地址就可以判断出来是否属于网一网段,但前提是你需要熟悉网段的原理与运算的方法。

三、如何根据ip地址推算子网掩码

确定ip地址子网掩码

大部分的情况下,我们网络中只要不超过254台主机的的话,子网掩码都可以设置成255.255.255.0。那么超过了254台主机的话怎么办呢?

可以划分vlan,也可以设置成一个大网段,划分vlan我们就不说了,上面有例子,设置成一个大网段就有一个难点,如何确定这个大网段里面的子网掩码呢?

例如

假设监控网络中有600个点位,我们现在也不想把它划分vlan(实际项目中大部分是会划分vlan的),假设只想用一个大网段把这600个点位分配ip地址,如何设置ip地址,如何确实子网掩码?

分析:首先我们知道600个点位,可以使用3个254个ip地址段来分配。

可以使用

ip段一:192.168.0.1——192.168.0.254

ip段二:192.168.1.1——192.168.1.254

ip段三:192.168.2.1——192.168.2.254

每个网段有254个ip地址,完全够600个点位用的。

那么问题来了,如果要使这三个ip段在同一个网段内,那么这个大网段共同的子网掩码是多少呢?

我们来分析下:

将ip地址192.168.0.1转换为二进制

11000000 10101000 00000000 00000001

将ip地址192.168.1.1转换为二进制

11000000 10101000 00000001 00000001

将ip地址192.168.2.1转换为二进制

11000000 10101000 00000010 00000001

转换成了二进制,可以看得出,三个ip段的二进制前面22位的是不变的,那么可以将他们表示成:

ip段一:192.168.0.1/22

ip段二:192.168.1.1/22

ip段三:192.168.2.1/22

这种192.168.2.x/22形式的ip地址相信大家平时都见过,就是已经告诉了子网掩码了。

也就是说他们共同的子网掩码二进制前面22个都是1。

11111111 11111111 11111100 00000000

转换成十进制,那就是255.255.252.0,所以他们共同的子网掩码就是255.255.252.0。

当然在实际项目中,与网络接触较多的弱电人不需要通过一系列的换算,直接可以通过简单的判断估算出来这个大网段的子网掩码,因此,今天是讲原理,方便大家理解,所以所有的换算都是通过运算出来的。

判断IP地址是否在同一个网段相关推荐

  1. 一个路由器两个网段互通_如何判断两个IP地址是否在同一个网段?什么是子网掩码?...

    前几天咱们了解:三种方法告诉你项目超过255个摄像机怎么设置IP?什么是公网ip?什么又是内网ip?为什么ip地址通常以192.168开头? 也学习了:二.三层交换机与路由器的区别! 但是有好多人对I ...

  2. qprocess start怎么判断是否结束_怎么样判断两个IP地址是否在同一个网段

    怎么样判断两个IP地址是否在同一个网段 方法 通过自身的IP与自身掩码算出网络地址X 通过目的IP与自身掩码算出目的地的网络地址Y 如果这两个网络一样(X=Y),则表示目的地与自身在一个网络内 如果两 ...

  3. 怎样判断两个ip地址是不是在同一个网段中?

    我们先来了解一下,判断两个ip地址是不是在同一个网段的方法. 要想判断两个ip地址是不是在同一个网段,只需将ip地址与子网掩码做与运算,如果得出的结果一样,则这两个ip地址是同一个子网当中. 例子: ...

  4. 网关和IP地址不在同一个网段下

    海外的客户报告了一个问题,设备设置的网关地址不在设备所在的网段下面,例如: IP: 192.168.135.2 NetMask: 255.255.255.0 GateWay: 192.168.8.1 ...

  5. 如何判断两个ip地址是否在同一个网段

    ip地址分为A.B.C.D.E五大类,其中D和E不对民用组织开放,所以我们只能使用ABC三类,判断ip是否在同一个网段,首先得判断ip地址属于哪一类. 网络类别 最大网络数 IP地址范围 最大主机数 ...

  6. 如何判断IP地址是否为同一网段?

    ​一.名词解析 IP:相当于不同计算机的电话号码(主要在网络层.第三层) MAC:相当于不同计算机的身份证号(主要在数据链路层.第二层) DNS:从域名到IP地址的解析 子网掩码:将某个IP地址划分为 ...

  7. 如何判断IP地址是否为同一网段

    一.名词解析 IP:不同计算机的电话号码(主要在网络层.第三层) MAC:不同计算机的身份证号(主要在数据链路层.第二层) DNS:从域名到IP地址的解析 子网掩码:将某个IP地址划分为网络地址和主机 ...

  8. 判断ip地址是否在同一网段

    怎么判断IP地址的是否在同一网段. 相信好多人都认为IP只要前三段相同,就是在同一网段了,其实,不是这样的,同样,我想把IP的每一段转换为一个二进制数,这里就拿IP:192.168.0.1,子网掩码: ...

  9. 如何判断两个IP地址是不是处于同一网段?

    个人理解,欢迎指正. 一.要判断两个IP地址是不是在同一个网段,就将它们的IP地址分别与子网掩码做与运算,得到的结果-->网络号,如果网络号相同, 就在同一子网,否则,不在同一子网. 例:假定选 ...

最新文章

  1. zabbix监控mysql数据库性能实现
  2. redis的数据类型及设置方法
  3. 字符串的方法、注释及示例1.
  4. [ASP.NET MVC 小牛之路]01 - 理解MVC模式
  5. 本土链雷达网_走向本土设计
  6. jquery ajax 跨域解决方案 - CORS
  7. UOJ#386. 【UNR #3】鸽子固定器(链表)
  8. 详解多维数组与指针之间的关系
  9. set集合判断集合中是否有无元素_JAVA 集合
  10. SQL Server DATEDIFF() 函数
  11. C++:空间坐标映射到球面坐标/全景图
  12. 腾讯汤道生:开放中台能力助力产业升级
  13. linux移除硬盘命令,在Linux中在线添加及移除SCSI硬盘方法
  14. 用python实现FMM和BMM
  15. Python 用“*” 输出三角形的代码写法
  16. CSS入门五:文本样式;字体颜色:英文字母,十六进制,RGB;文本颜色,字间距,行间距,对齐方式;下划线、上划线…,文本阴影,字母大小写,首行缩进
  17. 求50以内的全部素数
  18. 马斯克的脑机接口,一块树莓派就能做出来?
  19. XorPay.com 支付平台介绍【免费开通个人微信支付接口】
  20. 【转】Mac突然连不上WiFi解决步骤

热门文章

  1. 微信公众号开发教程[019]-新版客服
  2. 徐汇区企业技术中心认定条件及申报流程
  3. 强化学习丨蒙特卡洛方法及关于“二十一点”游戏的编程仿真
  4. 音乐检索(听歌识曲)实现过程
  5. 查找计算机所有图片文件夹,win10系统搜索电脑里的所有图片的方案
  6. 天翼云 Java对接OBS对象存储
  7. 带你实现漂亮的滑动卷尺
  8. 《野球少年》:王牌投手·棒球联盟
  9. Element UI 和js实现文件的上传和下载
  10. 【mysql 】sql错误代码 1093 You cannot specify target table xxxx for update in FROM clause