From b17c7b5adc35c411ccd334e2d5500f3374daa7e6 Mon Sep 17 00:00:00 2001 From: Harold Cheng Date: Sat, 24 Feb 2024 23:02:43 +0800 Subject: [PATCH] ipv6: update PD part --- .../image-20240224202640142.png" | Bin 0 -> 36641 bytes .../index.md" | 23 +++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 "content/posts/2023/IPv6 \351\205\215\347\275\256\345\205\245\351\227\250/image-20240224202640142.png" diff --git "a/content/posts/2023/IPv6 \351\205\215\347\275\256\345\205\245\351\227\250/image-20240224202640142.png" "b/content/posts/2023/IPv6 \351\205\215\347\275\256\345\205\245\351\227\250/image-20240224202640142.png" new file mode 100644 index 0000000000000000000000000000000000000000..f9c7a0c9d42d0ecefaa1c183f21834803bdf85f9 GIT binary patch literal 36641 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�Ff!*u%~ZGSb_e352- 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 literal 0 HcmV?d00001 diff --git "a/content/posts/2023/IPv6 \351\205\215\347\275\256\345\205\245\351\227\250/index.md" "b/content/posts/2023/IPv6 \351\205\215\347\275\256\345\205\245\351\227\250/index.md" index a95ffba..dd0428e 100644 --- "a/content/posts/2023/IPv6 \351\205\215\347\275\256\345\205\245\351\227\250/index.md" +++ "b/content/posts/2023/IPv6 \351\205\215\347\275\256\345\205\245\351\227\250/index.md" @@ -1,6 +1,7 @@ --- title: IPv6 配置入门 date: 2023-04-16 +lastmod: 2024-02-24 --- ## 背景知识 @@ -75,6 +76,8 @@ RFC 4861 定义了一种网络发现机制 (Neighbor Discovery Protocol, NDP), 4. 邻居通告 (Neighbor Advertisement) 5. 重定向 (Redirect) +下文所述的 SLAAC 即使用 NDP 协议通信. + ## RFC 4862 (IPv6 Stateless Address Autoconfiguration) RFC 4862 定义了一种 IPv6 接口的自动配置机制, 包括生成一个链路本地地址和全局地址, 和一种重复地址检测 (Duplicate address detection) 机制来验证一条链路上地址的唯一性. @@ -93,10 +96,6 @@ RFC 4862 中并没有规定 interface identifier 是如何产生的, 只说了 RFC 8415 定义了一个 C/S 协议 DHCPv6, 其功能包括向一个设备提供地址或其他配置, 自动委派 IPv6 前缀等. 当 DHCP 只被用于提供除地址和前缀之外的其他配置 (如 DNS) 时, 它不必维护任何状态, 因此, 这种模式被称为无状态 DHCPv6 (stateless DHCPv6). 与之相对的是有状态 DHCPv6 (stateful DHCPv6). RFC 8415 是一个庞大的 RFC, 废弃了许多之前的 DHCPv6 标准, 如 RFC 3315 (原始的 DHCPv6 标准), RFC 3633 (prefix delegation), RFC 3736 (Stateless Dynamic Host Configuration Protocol (DHCP) Service for IPv6) 等. -前缀委派 (Prefix Delegation) 用于一个委派路由器 (delegating router) (作为 DHCP 服务器) 向一个请求路由器 (requesting routers) (作为 DHCP 客户端) 委派前缀. 这一机制通常被用于 ISP 向用户委派 (delegate) 一个前缀, 这个前缀将被用于用户网络中的设备. - -![image-20230410222528623](./image-20230410222528623.png) - DHCP 消息类型 (部分): - Solicit: 客户端发送, 用于定位服务器 @@ -104,6 +103,22 @@ DHCP 消息类型 (部分): - Request: 客户端发送: 用于请求配置 - Reply: 服务器发送, 包含租约和其他配置, 是对于 Solicit, Request, Renew, 或 Rebind 的回复 +### IPV6-PD + +前缀委派 (Prefix Delegation) 用于一个委派路由器 (delegating router) (作为 DHCP 服务器) 向一个请求路由器 (requesting routers) (作为 DHCP 客户端) 委派前缀. 这一机制通常被用于 ISP 向用户委派 (delegate) 一个前缀, 这个前缀将被用于用户网络中的设备. 比如用于 SLAAC 中路由器通告的前缀部分. + +![image-20230410222528623](./image-20230410222528623.png) + +PD 是通过 DHCPv6 中的 `IA_PD` 选项来工作的. 为了方便抓包分析, 这里描述一下这个选项的字段. + +![image-20240224202640142](./image-20240224202640142.png) + +- DHCPv6 的 option 有固定的 option-code 和 option-len 字段, 分别占 2 字节. 对于 `IA_PD`, option-code 为 `OPTION_IA_PD` (25) +- IAID: 一个唯一的标识符 +- T1: 在多久之后客户端应该刷新获得的前缀的有效时间 +- T2: 没看懂和 T1 的区别是什么.. +- IA_PD-options: 包含了前缀的具体信息. 请求和响应都会采用同样的 option 格式, 只不过响应会在这个字段中附上前缀信息 + ## PMTU 问题 在配置 IPv6 的过程中一个常见的问题是 PMTU 问题. Path MTU Discovery (PMTUD) 是确定 MTU 的一种标准方式, 在 [RFC 8201 (Path MTU Discovery for IP version 6)](https://datatracker.ietf.org/doc/html/rfc8201) 中定义. RFC 中这样描述: