title: CIDR subnet calculation and python ipcalc
body: <p>I am questioning the results of the ipcalc module (<a href="http://ipcalc.readthedocs.org" rel="nofollow">ipcalc</a>) for Python (it seems that netaddr may be a better choice).</p>
  
  <p>Let's take <code>192.168.1.25/30</code> as an example. In binary, the last octet is <code>00011001 AND 11111100 = 00011000</code>, so I get <code>192.168.1.24</code> as the Network ID and the range <code>192.168.1.24 - 192.168.1.27</code>.</p>
  
  <p>Using ipcalc, when I specify</p>
  
  <pre><code>subnet = ipcalc.Network('192.168.1.25/30')
  for x in subnet: print x
  </code></pre>
  
  <p>The output is </p>
  
  <pre><code>192.168.1.25
  192.168.1.26
  192.168.1.27
  192.168.1.28
  </code></pre>
  
  <p>I am not understanding the inconsistency. When using CIDR notation, it seems that specifying both <code>192.168.1.24/30</code> and <code>192.168.1.25/30</code> (or <code>.26/30</code> or <code>.27/30</code>) refer to the same subnet.</p>
  
  <p>Is that correct? Is this just a bug in the ipcalc module?</p>