title: IPv6 Address Ranging in C#
body: <p>I'm writing a socket server that requires the ability to allow/restrict by IP and I'm trying to make it compatible with both IPv4 and IPv6.</p>
  
  <p>I understand the IPv4 principle fairly well, for example I can allow 192.168.0.0/255.255.255.0 catering for all 192.168.0.* addresses, basing my code off of <a href="http://blogs.msdn.com/b/knom/archive/2008/12/31/ip-address-calculations-with-c-subnetmasks-networks.aspx" rel="nofollow">http://blogs.msdn.com/b/knom/archive/2008/12/31/ip-address-calculations-with-c-subnetmasks-networks.aspx</a>.</p>
  
  <p>However, how does this work with IPv6? i.e how do I handle ranges with that protocol?</p>