💾 Archived View for uscoffings.net › tech › freebsd › ipv6.gmi captured on 2023-03-20 at 18:09:16. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2022-06-03)

-=-=-=-=-=-=-

IPv6 on Home Network

[date: 2018-04-14]

Notes from learning enough IPv6 to be dangerous and play with it on my home network.

OSI Stack

IPv6 is an alternate network layer, between the datalink and transport layers.

Nomenclature

Addresses are 128 bits, typically separated by colons into 8 groups of 16 bits. Leading zeros can be omitted, and any single run of zeros can be completely elided with double colons (cannot elide multiple runs; would be ambiguous.)

Customarily (with IPv4) ports are appended with a colon; that would be ambiguous. To append a port, enclose the IPv6 address in square brackets: `[fe80::1:2:3]:80`

Addresses

128 bits, versus 32 bits for IPv4.

`fe8x::` are link-local (non-routable).

`::1` is localhost.

The idea of classes was pretty much nixed (so no class A, B, C like in IPv4). All CIDR. Example, `1:2:3::/64`.

Protocols

ndp instead of arp, to query datalink layer. Similar to arp but encompasses router discovery. Try `ndp -a`.

Sounds like DHCP is optional?

Routing

Hosts can advertise themselves as routers. (See the `R` flag in `ndp -a`.) Seems like this replaces one role of DHCP. Could this be abused? I suppose on IPv4 someone could spoof DHCP responses so no different.