|
本帖最后由 xibanya 于 2023-6-24 10:44 编辑
以太网上任何IP层通信都必须封装源目MAC,如果是针对mac层进行过滤,那么IPv4+IPv6都会受到影响
1.同链路范围,只有SLACC获取的IPv6地址和MAC地址存在关联,DHCPv6是和客户端DUID关联;
2.为何要用本地链路地址关联无状态类?和IPv6地址及通信的机制有关。无状态采用eui-64申城地址的基本机制:
(1)开机网卡激活后,自动生成FE80::/64的本地链路地址,比如终端mac为0011-1111-1111
生成的link-local地址为fe80::0211:11ff:fe11:1111
该地址处于实验性状态,终端以源地址 ::(未指定地址)向ff02::1:ff11:1111(请求节点组播地址)发送组播的NS报文,ICMPv6 消息类型为135
报文里面的Target address中,携带了fe80::0211:11ff:fe11:1111 该消息用于在同链路范围进行重复地址检测,以确认该地址在本地链路范围是否唯一
ff02中,0表示永久组播地址,2表示传播范围为本地链路。11:1111由单播地址后24bit复制过来
(2)如果唯一(自己发给自己发一个NA或者没有收到针对上一个NS的NA,取决于终端系统行为),那么这个地址可用,设备可使用这个地址进行通信
(3)设备以这个本地链路地址fe80::0211:11ff:fe11:1111向组播地址ff02::1(所有链路范围节点设备)或ff02::2(所有链路范围路由器)发送路由请求
ICMPv6消息类型为type=133,消息携带了自己的mac地址
(4)路由器收到后,以收到这个请求接口的本地链路地址,单播向fe80::0211:11ff:fe11:1111发送路由器通告(也可以是组播发向ff02::1,具体取决于厂家行为),ICMPv6消息类型为134,携带了IPv6的前缀消息,比如携带2012:12::/64,2022:22::/64
(5)设备收到这个路由器通告后,根据携带的两个前缀,生成两个IPv6地址 2012:12::0211:11ff:fe11:1111和2022:22::0211:11ff:fe11:1111
(6)根据任何接口的ipv6地址变成可用前,都需要进行重复地址检测的机制,设备以源地址 :: 向组播地址f02::1:ff11:1111最少发送2条NS
用于重复地址检测,ICMPv6报文中携带了自己生成的IPv6地址
(7)如果收到没有其他设备针对这两个NS报文的应答,那么说明这两个地址在本地链路上是唯一的,检测完成,地址进入可用状态
知道了本地链路地址,那么设备发送的组播报文的目标组播地址显然也是可以计算出来的。如果使用ipv6的acl,针对这些交互做一些干涉,就能够去实现所谓”静态绑定“。
|
|