Help to understand the value of / 16.

Or here's an example from the book:

fe80::f00 = fe80:0000:0000:0000:0000:0000:0000:0f00 fe80::f00/64 = fe80:0000:0000:0000:****:****:****:**** = fe80::/64 

    2 answers 2

    These are records of so-called classless networks. 192.168.0.0 - this is understandable for people to write four-byte addresses of the Internet Protocol version 4. / 16 - means the first 16 bits = 2 bytes in this record - the subnet mask. The other two bytes describe the address of a specific node in this subnet (from 0.1 to 254.254). 192.168.0.0/24 would already mean a subnet 192.168.0 with addresses inside it from one to 254.

     fe80::f00 = fe80:0000:0000:0000:0000:0000:0000:0f00 fe80::f00/64 = fe80:0000:0000:0000:****:****:****:**** = fe80::/64 

    The above example shows a brief notation for Internet Protocol version 6 addresses. As you can see, they are usually written in hexadecimal octets separated by colons. Two consecutive colons mean a large sequence of zero octets (bytes). / 64 means the same as in version 4 - subnet mask.

    • The first bytes from left to right 1.2.3.4 (these are byte numbers) or 4.3.2.1? those. / 24 is equivalent to a mask 255.255.255.0? - Hedgehog
    • Exactly. Equivalently. - Alexey Kotov
    • Hmm, the octet in my opinion is the eight elements of something there. But in IPv6, the colon is separated every two bytes (which is clearly not 8, but 16). Apparently, it meant that an IPv6 address is an octet, which consists of 8, separated by colons, 4-digit hexadecimal numbers (unlike IPv4, where indeed, the octets were separated by dots). - Dex
    • Yes, it was a mess with IPv6. There are no octets. - ichbinkubik

    This joy is based on the VLSM. Distinguish between a network (network, network address ), host (host, host address ) and network mask ( network mask ), these are three different concepts.

    The mask by and large defines the boundary between the network address and the host address on that network.

    / 16 is only the length of the mask, i.e. the number of single bits on the left (in base brackets):

     /0 = 00000000.00000000.00000000.00000000(2) = 0.0.0.0(10) /1 = 10000000.00000000.00000000.00000000(2) = 128.0.0.0(10) ... /8 = 11111111.00000000.00000000.00000000(2) = 255.0.0.0(10) ... /16 = 11111111.11111111.00000000.00000000(2) = 255.255.0.0(10) ... /24 = 11111111.11111111.11111111.00000000(2) = 255.255.255.0(10) ... /32 = 11111111.11111111.11111111.11111111(2) = 255.255.255.255(10) 

    In the process of imposing (bit "and") masks on the address (whether it is a network or a host), you get the address of the network (the network). Those. in your case, you take the address 192.168.55.25 and the mask of 16-bit length via the bit "and", get = 192.168.0.0 (your network). In decimal system:

     192.168.55.25 & 255.255.0.0 = 192.168.0.0 

    In the binary system:

     11000000.10101000.00110111.00011001 & 11111111.11111111.00000000.00000000 = 11000000.10101000.00000000.00000000 

    Here is how it works. And this is not used in nmap for simplification, but, for example, in CIDR, not to mention the various calculations and algorithms for the distribution of the address space.

    Concerning

     fe80::f00 = fe80:0000:0000:0000:0000:0000:0000:0f00 fe80::f00/64 = fe80:0000:0000:0000:****:****:****:**** = fe80::/64 

    This is really an address in IPv6 notation. fe80 is Link Local i.e. An IP address that can only communicate within the local network. / 64 is also CIDR notation similar to IPv4 notation, which I described above, only it is slightly larger, since IPv6 address = 128 bits.

    For Link-local:

    The minimum mask length is 10 (i.e. 10 unchanged bits from the beginning (left))

     fe80::/10 это диапазон fe80:0000:0000:0000:0000:0000:0000:0000 - febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff 

    For your case:

    Those. for / 64, the first 64 bits will be unchanged:

     fe80::/64 это диапазон fe80:0000:0000:0000:0000:0000:0000:0000 - fe80:0000:0000:0000:ffff:ffff:ffff:ffff 

    Something like that.

    • Dex is absolutely right - user3127