首页 > 其他分享 >常见的问题系列--【什么是子网掩码?】

常见的问题系列--【什么是子网掩码?】

时间:2022-10-16 00:33:30浏览次数:59  
标签:27 系列 -- ip 地址 10.11 144.123 子网掩码

1.问题

  上学的时候没有好好学,工作的时候闹了很大的一个笑话。事情是这样的,由于我们项目需要上容器云,这时候需要申请资源,其中有一项资源就是地址池,也就是你可以使用的一段内网的IP地址。应用部署好之后,突然发现,连接第三方系统的应用,一旦重新启动的时候有时候就不好使了,全靠运气才能连接到第三方系统。刚开始以为是自己的配置的原因,在测试环境的时候,确实因为配置导致过这个问题。后来反复确认,配置没有问题。这时候,我突然想到了,我们的应用每次启动的时候,分配的ip都不一样。连不上第三方系统的时候,确实是报的连接超时。这时候,我在想,会不会是开网络策略的时候,有的ip地址是开过了,但是有的漏了。直到后来,靠运气也连不上了,每次重启都会报连接超时。这时候,我没办法,只能重新开通网络策略了。就在开通网络策略需要填申请单的时候,搞笑的一幕发生了。我竟然不知道“10.11.144.123/27”(瞎写的,举个例子)这是个啥,请教了好几个同事,都不知道。再大的困难也难不倒能看到这里的伟大的我们,经过一番虚心求教,终于让我整明白了。记录一下,以便帮助那些不理解的秀儿们。

2.分析

  简单理解:

  子网掩码就是用来区分局域网的一个唯一标识,几个ip地址拥有同一个子网掩码,就说明这几个ip地址属于同一个局域网。

  众所周知,ipv4的ip由4段组成,每段有8位的二进制数组成,共32位。例如“10.11.144.123/27”,就可以简单理解为起始ip地址为“10.11.144.123”,32-27=5,2的5次方是64(即这个地址池里有64个ip地址,一般一个用于网关,一个用于广播,减去2个,可以用的ip还有62个),因为123+64=187,所以这个ip地址的最大ip地址为“10.11.144.187”。对于我们开通网络策略,理解到这里就足够用了,开通网络策略的申请单上,源地址就写“10.11.144.123/27”,目标地址写第三方系统地址就行了。

  深入理解:

  对于深究原理的同学们,我们接着往下聊。仍然以“10.11.144.123/27”为例,把这个ip地址“10.11.144.123”转成二进制

  0000 1010.0011 0011.1001 0000.1010 0000

       对上面的ip前27位都写上1,就变成这样

  1111 1111.1111 1111.1111 1111.1110 0000,

  上面这个数换算成十进制就变成了255.255.255.224,这个就是子网掩码。

  计算机在比较两个ip是否是同一个局域网的时候,就会拿二进制的ip前27位,去和子网掩码“1111 1111.1111 1111.1111 1111.1110 0000”的前27位进行与运算,与后的结果前27位如果等于“10.11.144.123”的二进制“0000 1010.0011 0011.1001 0000.1010 0000”的前27位,则说明这个ip是和是“10.11.144.123”在同一个局域网。

标签:27,系列,--,ip,地址,10.11,144.123,子网掩码
From: https://www.cnblogs.com/hujunwei/p/16795444.html

相关文章

  • linux安装并配置svn
    1、通过yum命令安装svnserviceyum-yinstallsubversion2、创建svn版本库目录,命令如下mkdir-p/usr/local/svn3、创建svn版本库svnadmincreat......
  • conftest.py文件【控制用例的执行顺序3】
    fixturescope为session级别是可以跨.py模块调用的,也就是当我们有多个.py文件的用例时,如果多个用例只需要调用一次fixture,可以将scope="session",并且写到conftest.py文件......
  • kvm虚拟化介绍
    虚拟化分类:软件虚拟化:完全通过虚拟化层模拟的方式,为虚拟机的运行提供支持硬件虚拟化:通过虚拟化层结合宿主机硬件支持,为虚拟机的运行提供支持半虚拟化:需要对虚拟机进行虚......
  • 结合springboot条件注入@ConditionalOnProperty以及@ConfigurationProperties来重构优
    @ConditionalOnProperty实现按需注入bean短信工具类SmsUtilzhenghe-common是一个基础包。SmsUtil坐落在zhenghe-common里。先看看Smsutil的面目。packagecom.emax......
  • Linux 文件系统与日志分析
    导图1.inode表结构每个文件的属性信息,比如:文件的大小,时间,类型,权限等,称为文件的元数据(metadata)元数据是存放在inode(indexnode)表中。inode表中有很多条记录组成,第一......
  • Demo27 比较大小
    /比较大小_方法的调用packagecom.HuanXin.Fan_Fa_5;publicclassDemo03{publicstaticvoidmain(String[]args){intXX=max(10,20);//调用下文的比较......
  • Sentinel安装教程【Linux+windows】
    一、Sentinel的简介Sentinel是阿里巴巴出品的一款流控组件,它以流量为切入点,在流量控制、断路、负载保护等多个领域开展工作,保障服务可靠性。如果你学过netflix公司旗下......
  • 2022.10.15线程状态观测
    线程状态观测线程优先级packagecom.fei.stata;​publicclassTestPriorityextendsThread{  publicstaticvoidmain(String[]args){    System.out......
  • javascript: Webcam
     varstop=function(){varstream=video.srcObject;vartracks=stream.getTracks();for(vari=0;i<tracks.length;i++){vartrack=tra......
  • raid
    目录:1、raid功能实现2、RAID级别raid0raid1raid5raid6raid10 raid磁盘阵列raid简称独立冗余磁盘阵列 raid功能实现:提高I/O能力提高耐......