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