ADS*_*103 4 router routing ipv6 isp
我的问题与这个问题有些相关:ISP 需要提供什么才能将本机 IPv6 /56 范围路由到多个 VLAN该问题集中在路由器的私有端,而我的问题集中在公共端,并且与如何ISP 履行其职责。
假设我的 ISP 为我提供了 IPv6 网络前缀 2001:db8:beef:a700::/56。假设我没有对其进行子网划分 - 我只是将路由器的 LAN 接口放在该子网中。假设我的路由器的 WAN 接口地址为 2001:db8:face:2000::2/64(通过 DHCP 分配),上游网关为 2001:db8:face:2000::1。当上游网关从公共 Internet 获取目标地址为 2001:db8:beef:a700::abcd 的数据包时,它必须将该数据包路由到位于 2001:db8:face:2000::2 的路由器。上游网关如何得知这是它必须执行的操作?
这个问题是在以下假设下提出的:
我尝试使用一些 Linux 主机和 pfSense 路由器对此进行测试,但我无法复制 ISP 提供的功能。我非常欢迎纠正我在学习 IPv6 时可能形成的误解。
通常通过在 ISP 路由器和家庭路由器 (CPE) 之间使用DHCPv6-PD向消费者网络/客户提供 IPv6 。PD 代表前缀委派,是对常规 DHCPv6 选项的补充。它不仅向 CPE 提供链路地址,还为其提供一个完整的前缀,然后 CPE 可以使用该前缀在自己的网络中进一步分发。
为了能够将前缀路由到正确的 CPE,ISP 路由器必须记住哪些前缀被委托给了哪个 CPE。为此,它会记住 DHCPv6 客户端 ID (DUID)、其链路本地 (fe80:) 地址、委托前缀和租用时间。然后,它会自动为每个前缀创建一条静态路由,以 CPE 的链路本地地址作为下一跳,并在租约到期时再次删除该路由。
如果 ISP 路由器本身不是 DHCPv6 服务器(通常不是),则它会执行 DHCPv6 中继的角色。它将来自 CPE 的 DHCPv6 请求中继到中央 DHCPv6 服务器,该服务器将为每个 CPE 提供前缀。当中继这些消息时,ISP 路由器将在其中窥探以查看是否已委派前缀,并据此更新其路由。
作为示例,以下是有关此功能的一些 Cisco 文档。
还有一些交换机可以监听 DHCPv6 流量。这样做是为了安全而不是为了路由。通过查看哪个以太网端口被分配了哪些 IPv6 地址和前缀,交换机可以确保其他端口上的设备无法使用其他 IPv6 地址欺骗数据包。这称为轻量级 DHCPv6 中继代理,并在RFC 6221中指定。