<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>christian clark</title>
  <subtitle>Internal Systems Engineer @ efex</subtitle>
  <link href="https://chrissss.com/feed.xml" rel="self" />
  <link href="https://chrissss.com/" />
  <updated>2026-09-03T00:00:00Z</updated>
  <id>https://chrissss.com/</id>
  <author><name>Christian Clark</name></author>
  <entry>
    <title>NAT isn&#39;t security</title>
    <link href="https://chrissss.com/posts/nat-isnt-security/" />
    <updated>2026-09-03T00:00:00Z</updated>
    <id>https://chrissss.com/posts/nat-isnt-security/</id>
    <content type="html">&lt;p&gt;The most common reaction to enabling any form of IPv6 on your network is turning it on, seeing your device has a routable IP, and then ignoring it from there. A small voice probably asks if everything on your network is now accessible by anyone from the outside.&lt;/p&gt;
&lt;p&gt;But.. it didn&#39;t, understanding why takes a bit of unlearning with the idioisms of IPv4. The thing that protected you from that was never really for that.&lt;/p&gt;
&lt;h2&gt;We&#39;ve been here before?&lt;/h2&gt;
&lt;p&gt;A globally routable address on a home computer isn&#39;t new territory. It&#39;s how the internet started for most of (however, not me, I&#39;m a zoomer).&lt;/p&gt;
&lt;p&gt;In the dial-up days, your modem spoke PPP over the phone line to the ISP, and the public address on the other end of that call belonged to your computer.&lt;/p&gt;
&lt;p&gt;Not to a router, because there wasn&#39;t one. A different address on each call, sure, but real and reachable just as if your computer was a router. The funniest part of that is that Microsoft didn&#39;t enable the firewall by default until Windows XP SP2 in 2004.&lt;/p&gt;
&lt;p&gt;Early broadband kept a similar arrangement with the modem bridging straight into the PC&#39;s network card but the connection never hung up (PPPoE instead of straight PPP). The combination public (and predictable) addressing, no filtering, and always-on are what allowed the &lt;a href=&quot;https://en.wikipedia.org/wiki/Blaster_%28computer_worm%29&quot;&gt;Blaster worm to destroy the internet in 2003&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The incident seems to be a big part of why people think NAT is a security-first protocol.&lt;/p&gt;
&lt;p&gt;Home routers went mainstream in a similar period bought mostly so another computer can share the same broadband service. Primarily people were buying them so multiple devices could share the internet, but an unintentional effect was a deny inbound ruleset by default. NAT collected the credit for this and now over 20 years later people are nervous to allow devices to route straight to the internet.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The difference this time is that there is a stateful firewall in front of it.&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;NAT wasn&#39;t a security feature&lt;/h2&gt;
&lt;p&gt;As I said above, NAT isn&#39;t a security feature. It was a stop gap to allow RIR&#39;s to hold onto some more addresses and to slow the bleed of IPv4 assignments.&lt;/p&gt;
&lt;p&gt;The world (IANA) globally ran out of more IPv4 addresses on 31 January 2011. APNIC (my home RIR) was the first one to run out. LACNIC, ARIN, and then AFRINIC were the first to run out, with RIPE running out nearly 8 years later.&lt;/p&gt;
&lt;p&gt;On the technical level, think of NAT as a recepionist. When you make a connection outside, they note it down and then put it through to the phone on your desk. But when a random person rings through asking for nobody in particular, they can&#39;t connect them anywhere.&lt;/p&gt;
&lt;p&gt;That was the protection NAT gave. Unsolicited traffic gets dropped because the router had nowhere to send it. It feels like a firewall, but it was a side effect of emergent bookkeeping.&lt;/p&gt;
&lt;p&gt;The real security was hiding in plain sight the whole time, the connection table. It tracks the connections that were started from the inside and only lets maching return traffic come back. This is known as stateful filtering and it&#39;s the thing actually doing the grunt work for IPv6. It&#39;s keeping the table but throwing away the receptionist.&lt;/p&gt;
&lt;h2&gt;Routable but not reachable!?&lt;/h2&gt;
&lt;p&gt;Bit of a shift in thinking here. An addres means a packet can find it&#39;s way to your router; your firewall will still decide whether it gets through. Your house has a street address that means anyone in the world can write on an envelope, and that has never once meant a stranger can come through your door. Addressability and access mean different things, NAT bundled them together very tightly for over 20 years (&lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc2663&quot; class=&quot;rfc-link&quot;&gt;RFC 2663&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;A sane router should ship with defaults that look like this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Allow anything outbound&lt;/li&gt;
&lt;li&gt;Allow inbound traffic that belongs to a connection a device made on the inside (most call this &#39;established&#39; and &#39;related&#39;)&lt;/li&gt;
&lt;li&gt;Drop all non-solicited&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Read it again. Sound like NAT? It&#39;s what the connection tracking was doing, without rewriting all of your packets. If someone on the internet sends through a packet to your laptop, all it&#39;s going to do is reach your router, see nothing in the state table, and it&#39;ll get dropped. Just as it would on NAT.&lt;/p&gt;
&lt;p&gt;With IPv4, you ask &#39;which ports do I need to forward and to where?&#39;, under IPv6 you instead need to be asking &#39;what traffic in, and &lt;em&gt;from&lt;/em&gt; where&#39;, same way you would for your internal traffic.&lt;/p&gt;
&lt;p&gt;Nothing gets translated, which also means that the traffic that leaves your edge is the same packet that reaches the other end.&lt;/p&gt;
&lt;h2&gt;ICMPv6 isn&#39;t the same as ICMP for IPv4&lt;/h2&gt;
&lt;p&gt;A big habbit of network engineers and system administrators is to block ICMP from the edge because it feels like a recon tool. Putting aside the technical issues I&#39;ll talk to soon, there&#39;s no issues with this in IPv6. With the amount of addresses possible in even a /64 prefix, it isn&#39;t worth worrying about.&lt;/p&gt;
&lt;p&gt;Protocol wise, it will break quite a few things. To start, ARP isn&#39;t a thing in IPv6, it was replaced with NDP, this is essentially an ICMPv6 message.&lt;/p&gt;
&lt;h3&gt;ICMPv6 Message Types &lt;sup class=&quot;cite&quot;&gt;[&lt;a href=&quot;https://chrissss.com/posts/nat-isnt-security/#source-1&quot; id=&quot;cite-ref-1-1&quot; class=&quot;cite-link&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;&lt;/h3&gt;
&lt;h4&gt;Router Solicitation (&lt;code&gt;RS, ICMPv6 type 133&lt;/code&gt;)&lt;/h4&gt;
&lt;p&gt;Sent by hosts to request immediate Router Advertisements from routers. Destination: FF02::2 (all-routers multicast).&lt;/p&gt;
&lt;h4&gt;Router Advertisement (&lt;code&gt;RA, ICMPv6 type 134&lt;/code&gt;)&lt;/h4&gt;
&lt;p&gt;Sent by routers periodically or in response to RS. Contains prefixes, MTU, and configuration flags (M/O bits for DHCPv6). Destination: FF02::1 (all-nodes multicast).&lt;/p&gt;
&lt;h4&gt;Neighbor Solicitation (&lt;code&gt;NS, ICMPv6 type 135&lt;/code&gt;)&lt;/h4&gt;
&lt;p&gt;Used for IPv6-to-MAC resolution, reachability checks, and Duplicate Address Detection (DAD). Sent to a solicited-node multicast address derived from the target IPv6.&lt;/p&gt;
&lt;h4&gt;Neighbor Advertisement (&lt;code&gt;NA, ICMPv6 type 136&lt;/code&gt;)&lt;/h4&gt;
&lt;p&gt;Response to NS or to announce link-layer changes. Usually unicast to the requester.&lt;/p&gt;
&lt;h4&gt;Redirect (&lt;code&gt;ICMPv6 type 137&lt;/code&gt;)&lt;/h4&gt;
&lt;p&gt;Sent by routers to inform hosts of a better next-hop for a destination.&lt;/p&gt;
&lt;h2&gt;It&#39;s still a net gain&lt;/h2&gt;
&lt;p&gt;An explicit firewall is auditable in a way NAT never could be. Want to know what&#39;s exposed on your network, read the inbound rules and that is your entire answer. Under IPv4, that has been smeared across port forwarding, helper modules, and whatever your Xbox 360 decided to open up back in 2011 via UPnP. We&#39;ve let vulnerable devices punch holes in the firewall for far too long using NAT and we called it normal.&lt;/p&gt;
&lt;p&gt;IPv6 gives you back the internet the way it was supposed to be, &lt;a href=&quot;https://www.youtube.com/watch?v=ROUUbz1zbuM&quot;&gt;with a proper size that is designed for everyone to have multiple individual devices.&lt;/a&gt;.&lt;/p&gt;
&lt;section class=&quot;sources&quot; aria-labelledby=&quot;sources-heading&quot;&gt;
&lt;h2 id=&quot;sources-heading&quot;&gt;Sources&lt;/h2&gt;
&lt;ol class=&quot;sources-list&quot;&gt;
  &lt;li id=&quot;source-1&quot;&gt;Cisco Systems. &lt;cite&gt;&lt;a href=&quot;https://www.cisco.com/c/en/us/support/docs/ip/routing-information-protocol-rip/22974-icmpv6codes.html&quot; class=&quot;source-title&quot; rel=&quot;noopener noreferrer&quot;&gt;ICMPv6 Packet Types and Codes&lt;/a&gt;&lt;/cite&gt;. 2005. &lt;a href=&quot;https://www.cisco.com/c/en/us/support/docs/ip/routing-information-protocol-rip/22974-icmpv6codes.html&quot; class=&quot;source-url&quot; rel=&quot;noopener noreferrer&quot;&gt;www.cisco.com/c/en/us/support/docs/ip/routing-information-protocol-rip/22974-icmpv6codes.html&lt;/a&gt; &lt;a href=&quot;https://chrissss.com/posts/nat-isnt-security/#cite-ref-1-1&quot; class=&quot;source-backref&quot; aria-label=&quot;Back to citation 1&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</content>
  </entry>
  <entry>
    <title>My IPv6 Learnings</title>
    <link href="https://chrissss.com/posts/my-ipv6-learnings/" />
    <updated>2026-08-31T00:00:00Z</updated>
    <id>https://chrissss.com/posts/my-ipv6-learnings/</id>
    <content type="html">&lt;h1&gt;IPv6 Without the Headache&lt;/h1&gt;
&lt;p&gt;IPv6 has a reputation problem. People see an address like 2001:db8:4f2a:1::1 and quietly go back to NAT and port forwarding, because at least that pain is familiar. Which is a shame, since the mental model behind IPv6 is actually simpler than IPv4 once someone explains it without drowning you in RFC numbers.&lt;/p&gt;
&lt;p&gt;So let&#39;s do that. No packet header diagrams, no history lesson. Just the parts you need to actually run it at home or in a small network. (The RFCs are cited along the way for anyone who wants to go deeper, but you don&#39;t need to read them.)&lt;/p&gt;
&lt;h2&gt;The address is split in the middle&lt;/h2&gt;
&lt;p&gt;An IPv6 address is 128 bits long, and the simplest way is to think of it in two halves. Take this with a grain of salt as it isn&#39;t entirely accurate but helps simplify it to someone who has only worked with IPv4.&lt;/p&gt;
&lt;p&gt;The first half (in the case of a typical ISP) belongs to them. It&#39;s the network part, it&#39;s saying that this traffic belongs to (for example, Neptune Internet), you don&#39;t pick it, and you don&#39;t really need to think about it.&lt;/p&gt;
&lt;p&gt;The second half is yours, it identifies the individual devices and networks on your side of the connection.&lt;/p&gt;
&lt;p&gt;Where exactly that line sits depends on how large the prefix your provider assigns to you (&lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc6177&quot; class=&quot;rfc-link&quot;&gt;RFC 6177&lt;/a&gt; covers how end sites should be sized), and this is where the slashed numbers come in. When your provider delegates you a prefix, the number after the slash tells you how many bits they control. This is essentially identical to how IPv4 works, but you are working with four times as many bits (128-bit vs 32-bit).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A /48 means that the ISP owns the first 48 bits and then you get the remaining 80. It&#39;s a huge allocation that is typically reserved for business or power user connections. Assigning according to &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc4291&quot; class=&quot;rfc-link&quot;&gt;RFC 4291&lt;/a&gt;&#39;s one-/64-per-subnet convention, you get 65,536 individual networks that can be accessed externally without any NAT.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A /56 is the typical handout to a residential service. You get 8 bits to subnet with, which works out to 256 networks (same RFC as above). Far more than any house would need, especially considering they may end up using the flat network /64 that the ISP delegates to their home router, anyway. This prefix is almost always big enough for most small-medium offices.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The smaller the number after the slash, the more of the address that you control. A service with a /48 controls more space than one with a /56, even though 48 is a smaller number.&lt;/p&gt;
&lt;p&gt;Compare that to IPv4, where your ISP will typically only give you one public address and you cram your entire network behind NAT. In IPv6, you get 18,446,744,073,709,551,616 addresses (2^64) in a single /64. Every device gets a real address just for themselves. NAT just isn&#39;t in the equation.&lt;/p&gt;
&lt;h2&gt;Subnetting and You - Just SLAAC off&lt;/h2&gt;
&lt;p&gt;Here&#39;s where IPv6 gets so much easier than IPv4: every normal subnet should be a /64. Your LAN is a /64, your guest WiFi is a /64, your IoT network is a /64. As a general rule of thumb, everything is a /64. (&lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc7421&quot; class=&quot;rfc-link&quot;&gt;RFC 7421&lt;/a&gt; is the long version of why the 64-bit boundary exists, if you&#39;re curious.)&lt;/p&gt;
&lt;p&gt;That&#39;s it. No calculating whether a /27 gives you enough hosts, no wondering whether an address is free. Each /64 holds 18 quintillion addresses, so you&#39;ll never outgrow one and need to resize it.&lt;/p&gt;
&lt;p&gt;Say your ISP gives you &lt;code&gt;2001:db8:4f00::/56&lt;/code&gt;. That&#39;s 256 subnets, and you can number them by changing a single byte:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;2001:db8:4f00:0::/64&lt;/code&gt; for the main LAN&lt;/li&gt;
&lt;li&gt;&lt;code&gt;2001:db8:4f00:1::/64&lt;/code&gt; for guests&lt;/li&gt;
&lt;li&gt;&lt;code&gt;2001:db8:4f00:2::/64&lt;/code&gt; for the lab&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Pick a number between 00 and ff, drop it in the slot, done.&lt;/p&gt;
&lt;p&gt;Why /64 specifically? Because devices expect it. SLAAC, the mechanism that lets hosts configure their own addresses automatically, only works on a /64 (&lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc4862&quot; class=&quot;rfc-link&quot;&gt;RFC 4862&lt;/a&gt;). Unless you&#39;re numbering point-to-point links between routers (&lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc6164&quot; class=&quot;rfc-link&quot;&gt;RFC 6164&lt;/a&gt; blesses /127s for those), don&#39;t fight it.&lt;/p&gt;
&lt;h2&gt;Advertising your router to the network&lt;/h2&gt;
&lt;p&gt;In IPv4, a device will join the network knowing nothing and screams into the void asking for a DHCP lease and waits for a server to assign it an address.&lt;/p&gt;
&lt;p&gt;IPv6 flips the direction of this and instead the router advertises to everyone on the segment (Router Advertisements, part of Neighbor Discovery, &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc4861&quot; class=&quot;rfc-link&quot;&gt;RFC 4861&lt;/a&gt;) and it says three useful things.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I exist, I&#39;m your way out to the internet and this networks&#39; prefix is &lt;code&gt;2001:db8:4f00:0::/64&lt;/code&gt;. A device joining the network can also ask for one without waiting.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;From a single RA, a fresh device onto the network will almost immediately learn the gateway and network it has joined onto. No lease history is kept, it just announces itself onto the network.&lt;/p&gt;
&lt;p&gt;RAs also carry flags that tell devices how to get an address, which is where the next two pieces come together.&lt;/p&gt;
&lt;h2&gt;SLAAC: devices name themselves?&lt;/h2&gt;
&lt;p&gt;SLAAC stands for Stateless Address Autoconfiguration (&lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc4862&quot; class=&quot;rfc-link&quot;&gt;RFC 4862&lt;/a&gt;) and it&#39;s exactly what it sounds like. Once a device/node/endpoint sees the RA come through, and learns it&#39;s prefix, it generates it&#39;s second half of the address all by itself.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;total time elapsed: about a second&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&#39;Stateless&#39; is the main word here. Nothing on the network, aside from maybe the firewall itself keeps a log of traffic traversing the network keeps a list of what had which address. There isn&#39;t a lease database, no DHCP server to babysit, or even a potential pool to exhaust. The router announces the prefix and every device chooses it&#39;s address. Remember how I said before that a /64 can hold 18 quintillion addresses, that&#39;s why devices can just pick one at random with no real collision chance.&lt;/p&gt;
&lt;p&gt;Modern operating systems also rotate these for privacy (temporary addresses, &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc8981&quot; class=&quot;rfc-link&quot;&gt;RFC 8981&lt;/a&gt;) so websites can&#39;t track a single device on an address for months. For a home network, SLAAC and RA is the whole story. You will likely never need to touch the rest.&lt;/p&gt;
&lt;h2&gt;What&#39;s the point in DHCPv6?&lt;/h2&gt;
&lt;p&gt;Devices picking their own address is a great default but can also be a horrific fit for some environments and situations. DHCPv6 (&lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc8415&quot; class=&quot;rfc-link&quot;&gt;RFC 8415&lt;/a&gt;) exists for those.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Predictable addresses. Your printer, your NAS, your servers: things other machines connect to should have addresses you chose, not ones they invented.&lt;/li&gt;
&lt;li&gt;An audit trail. In a corporate network, &amp;quot;which device had this address last Tuesday at 2pm&amp;quot; is a question you&#39;ll eventually need to answer. SLAAC can&#39;t tell you; a DHCPv6 lease log can.&lt;/li&gt;
&lt;li&gt;Extra configuration. DHCPv6 can push options like DNS servers, NTP servers, and domain search lists. (RAs can carry DNS info too these days via &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc8106&quot; class=&quot;rfc-link&quot;&gt;RFC 8106&lt;/a&gt;, but support varies, and DHCPv6 handles the richer cases.)&lt;/li&gt;
&lt;li&gt;Prefix delegation. This one&#39;s sneaky: DHCPv6 is usually how your router receives that /56 from your ISP in the first place, through a mechanism called DHCPv6-PD (part of &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc8415&quot; class=&quot;rfc-link&quot;&gt;RFC 8415&lt;/a&gt;, originally &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc3633&quot; class=&quot;rfc-link&quot;&gt;RFC 3633&lt;/a&gt;). So even a pure-SLAAC home network probably used DHCPv6 once, at the WAN edge, to get its prefix.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Definitions&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Prefix&lt;/strong&gt; - The network half of an address, the part your ISP (or you, when subnetting) controls. Written with a slash, like &lt;code&gt;2001:db8:4f00::/56&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Prefix length (/48, /56, /64...)&lt;/strong&gt; - The number of bits locked in from the left. Smaller number, more space for you. Same idea as IPv4 CIDR notation, just on a 128-bit address.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;/64&lt;/strong&gt; - The standard size for a single network segment in IPv6. Defined by the addressing architecture in &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc4291&quot; class=&quot;rfc-link&quot;&gt;RFC 4291&lt;/a&gt;, dissected at length in &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc7421&quot; class=&quot;rfc-link&quot;&gt;RFC 7421&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Interface Identifier (IID)&lt;/strong&gt; - The second half of a /64 address, the 64 bits that identify one device on the segment. This is the part SLAAC generates.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RA (Router Advertisement)&lt;/strong&gt; - The periodic announcement a router sends onto a segment: here&#39;s the gateway, here&#39;s the prefix, here&#39;s how to get an address. Part of Neighbor Discovery (&lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc4861&quot; class=&quot;rfc-link&quot;&gt;RFC 4861&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NDP (Neighbor Discovery Protocol)&lt;/strong&gt; - IPv6&#39;s replacement for ARP plus a bit more, covering router discovery, address resolution and duplicate detection. &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc4861&quot; class=&quot;rfc-link&quot;&gt;RFC 4861&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SLAAC (Stateless Address Autoconfiguration)&lt;/strong&gt; - Devices building their own address from the prefix in an RA, with no server involved. &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc4862&quot; class=&quot;rfc-link&quot;&gt;RFC 4862&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Temporary/privacy addresses&lt;/strong&gt; - Randomised, rotating SLAAC addresses so a device isn&#39;t trackable by one stable address forever. &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc8981&quot; class=&quot;rfc-link&quot;&gt;RFC 8981&lt;/a&gt; (which replaced &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc4941&quot; class=&quot;rfc-link&quot;&gt;RFC 4941&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;DHCPv6&lt;/strong&gt; - The stateful, server-assigned alternative to SLAAC. Central control, lease logs, extra options. &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc8415&quot; class=&quot;rfc-link&quot;&gt;RFC 8415&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;DHCPv6-PD (Prefix Delegation)&lt;/strong&gt; - The mechanism your router uses to request a whole prefix (like a /56) from the ISP, rather than a single address. Also &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc8415&quot; class=&quot;rfc-link&quot;&gt;RFC 8415&lt;/a&gt;, previously &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc3633&quot; class=&quot;rfc-link&quot;&gt;RFC 3633&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RDNSS&lt;/strong&gt; - The RA option that carries DNS server info, so a pure-SLAAC network can still hand out resolvers. &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc8106&quot; class=&quot;rfc-link&quot;&gt;RFC 8106&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NAT (Network Address Translation)&lt;/strong&gt; - The IPv4 workaround of hiding many private addresses behind one public one. Not needed in IPv6, where every device can hold a globally unique address.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2001:db8::/32&lt;/strong&gt; - The documentation prefix. Every example address in this post lives here on purpose; it&#39;s reserved so examples never collide with real networks. &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc3849&quot; class=&quot;rfc-link&quot;&gt;RFC 3849&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
</feed>
