子网掩码问题

我正在学习考试,并发现自己处于一个关于networking掩码的问题的“死胡同”。

问题是:

基于下图,一旦configuration了两个子网, 
观察到一个子网中的主机不能访问另一个子网中的主机。 
每个站点和路由器的IP是:

站01:172.16.78.192
车站02:172.16.74.3
 03号站:172.16.94.3
 04号站:172.16.82.254

路由器的端口01:172.16.65.1
路由器的端口02:172.16.88.1

数字:
 [01站] ------------------------------- [02站]
                             | 
                             | 端口01
                          [路由器]   
                             | 港口02
                             |
 [站03] -------------------------------- [站04]  

此问题是由于所选的networking掩码而导致的。 
以下哪个networking掩码将允许所有主机进行通信
以正确的forms?

 a)255.255.240.0 ---- **这被标记为书中的正确答案**
 b)255.255.248.0
 c)255.255.252.0
 d)255.255.224.0 ---- **这是我认为是正确的答案**
 e)255.255.232.0

为什么我认为255.255.224.0是正确的?

路由器的端口01:172.16.65.1
路由器的端口02:172.16.88.1

我知道networking掩码将会以255.255.X.0结尾, 
所以将端口IP转换为二进制:

端口01:0 1 0 0 0 0 0 1。  0 0 0 0 0 0 0 0 = 65.0
端口02:0 1 0 1 1 0 0 0。  0 0 0 0 0 0 0 0 = 88.0

对于所有的主机能够相互沟通,他们必须在同一个networking,对不对?

所以,如果掩码是255.255.224.0,我们有最后2个字节为:

 1 1 1 0 0 0 0 0。  0 0 0 0 0 0 0 0 = 224 

和路由器的端口做一个AND:

           NET |  HOSTS
端口01:0 1 0 |  0 0 0 0 1。  0 0 0 0 0 0 0 0 = 65。  0
端口02:0 1 0 |  1 1 0 0 0。  0 0 0 0 0 0 0 0 = 88。  0
networking掩码:1 1 1 |  0 0 0 0 0。  0 0 0 0 0 0 0 0 = 224。  0

导致:0 1 0 0 0 0 0 0。  0 0 0 0 0 0 0 0 = 64.0

所有的热点将在networking172.16.64.0 ,能够相互沟通。

那是对的吗? 或者正确的networking掩码真的需要是255.255.240.0 ,如果是的话,为什么呢? 我似乎无法理解这一点。

感谢大家!

同一个广播域内的主机需要互相通信,并根据IP /networking掩码定义在同一个IPnetworking中。 路由器互连两个广播域(即两个物理networking),因此为了执行其function,相应的路由器IP接口需要能够与相同广播域内的每个其他主机通信。 你得到的是这三个IP主机的情况

 Station 01: 172.16.78.192 Station 02: 172.16.74.3 Router's port 01: 172.16.65.1 

需要在networking1和这三个IP主机上

 Station 03: 172.16.94.3 Station 04: 172.16.82.254 Router's port 02: 172.16.88.1 

需要在networking2中 – 两个networking之间的数据正在通过路由器。 这就是答案a)。 d)将所有主机放置在同一个IPnetworking中,这样就使得站点01和02假定没有与站点03和04进行通信所需的路由器,并且明显地断开了互连。

但你能否详细说明为什么netmask 255.255.240.0是正确的?

你select一个在以下两种情况下都有效的networking掩码:

  1. IP地址172.16.78.192,172.16.74.3和172.16.65.1在一个networking内
  2. IP地址172.16.94.3,172.16.82.254和172.16.88.1与1中的地址不在同一个networking内。

一些math优先:240的二进制表示是11110000 – 在地址的3个八位字节中为您的“主机”部分留下4位(或2 ^ 4 = 16个排列)。 现在你需要估计一下:“16”大致就足以把65,74和78合并到同一个networking中,而65到78之间的这个范围只是78-65 = 13。 要检查它是否真的会发挥作用,你需要find16个小于或等于65(最低地址数)的最高倍数 – 即16 * 4 = 64。然后在结果上加16,看看你的最高地址号仍然在64 + 16 = 80的范围内。

通过以下计算,您将看到地址范围172.16.64.0 – 172.16.80.255将位于由掩码255.255.240.0(CIDR表示172.16.64.0/20)定义的一个networking内,并符合上述两个条件。

学习使用这个漂亮的工具: http : //www.subnet-calculator.com/