💾 Archived View for uscoffings.net › tech › freebsd › ipv6.gmi captured on 2024-06-19 at 22:51:36. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2022-06-03)
-=-=-=-=-=-=-
[date: 2018-04-14]
Notes from learning enough IPv6 to be dangerous and play with it on my home network.
IPv6 is an alternate network layer, between the datalink and transport layers.
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`
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`.
ndp instead of arp, to query datalink layer. Similar to arp but encompasses router discovery. Try `ndp -a`.
Sounds like DHCP is optional?
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.