we have to let aunicast address join multicast address and then calculate DMAC address. Why theDMAC is not calculated directly from the unicast address?
Solicited-node is a multicast address computed as follows: it takes the last 24 bits of the unicast address and appends it to the prefix ff02::1:ff00:0/104. How can you calculate the DMAC from the unicast address? It's not always that the unicast address host portion is derived from the MAC address.
assume if the unicast of the remote IPv6 node is 2001:DB8::AB:1/64
then its MAC address will be 33-33-FF-AB-00-01
so this MAC will be used for its L2 address. everytime a host wants to communicate with this IP, it will use this L2 address.and this can be applied to all IPv6 unicast addresses assigned to the interface.so here I do not see a reason of converting the unicast address to multicast and then derive the MAC from it.