Skip to content

💻---🌐---💻 ipv6 = IPv6('IPv6 subnets calculator') ipv6.print_data()

Notifications You must be signed in to change notification settings

aipi/IPv6-subnet-calculator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IPv6 subnets discovery

First of all, the program will unabbreviated the net address follow the ideas of IPv6 abbreviation:

  • Use the two-colon (::) notation to represent contiguous 16-bit fields of zeros.
  • Fields of zeros can be represented as a single 0.
  • Omit any leading zeros in a field, such as changing 0db8 to db8.

Input example: 2001:DB8::140B/33. To find out the subnets of the range /32.

It will be divided into two parts, IPv6 number and the IPv6 range. After that, it will be validated and converted to binary which is separate to execute the calculator logic.

 2001:0DB8:D000:0000:0000:0000:0000:140B/34 to /36
            NET <-|-> HOST
                  |
        31  33 34 | 35 36 | 37  38
        ----------|-------|-------
         0  0  0  | 0  0  |  0   0
         -  -  -  | -  -  |  -   -
         1  8  4  | 2  1  |  8   4

On the example above, the division o will generate four new subnets range because just the bit 35 until bit 36 will be variated, this is 2^n bits, where "n" is the number of variations :

2001:0DB8:C000:0000:0000:0000:0000:0000
2001:0DB8:D000:0000:0000:0000:0000:0000
2001:0DB8:E000:0000:0000:0000:0000:0000
2001:0DB8:F000:0000:0000:0000:0000:0000

alt text

About

💻---🌐---💻 ipv6 = IPv6('IPv6 subnets calculator') ipv6.print_data()

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages