I'll try to help where I can. I know next to nothing about Juniper, but the theory should be the same. Implementation should be the only difference.
So let's start with RD's. Each tenant has one VRF. Each VRF has a single Route Distinguisher.
If you're not familiar with RD's, they are a way to mark routes in the BGP database, to keep them unique. More information here: https://networkdirection.net/Leaking+Routes+with+MP-BGP
Sorry if I'm covering stuff you already know.. Please bear with me.
VRF's and RD's are local to each router. Route Targets however, are 'tags' that are used when sharing prefixes with neighbours. We 'export' prefixes (apply a tag to them) and 'import' learned prefixes into VRF's, if they have a particular tag set.
Now, back to your question.
It looks like the Juniper config is setting an RD and RT's on the VRF, and then another set of values in EVPN.
In the Cisco world, I use commands like 'rd auto' on both VRF and EVPN. This hides what you're seeing here.
To my understanding, it is because we're using BGP to carry layer-3 information (VRF) and layer-2 information (EVPN).
Consider this example. A tenant uses L3VNI 900003 (this is the VRF), and L2VNI 10572 (a layer-2 VNI).
Look at this output:
SW01# show bgp l2vpn evpn | inc Distinguisher
Route Distinguisher: 10.0.0.1:33339 (L2VNI 10572)
Route Distinguisher: 10.0.0.1:15 (L3VNI 900003)
This shows that the L3VNI uses a different RD than the L2VNI.
The most confusing thing, in my opinion, is that BGP carries L3 and L2 information. They are separate, as they are different address families with different RD's, yet not-separate, as they are part of the same tenant.
I know it's a big read, and thanks for bearing with me.
I hope this makes sense. Let me know if you have further questions.
This is a very broad question and you need to do some more background reading, but quick answers to your questions:
L2 MPLS VPN – forwards based on the L2 address of the L2 PDU. The L2 PDU is encapsulated in the transport protocol (MPLS). The VPN can provide point-to-point (AToM) or LAN type multipoint service (VPLS). Something to remember about these types of VPN is that L2 forwarding information is learned though the data plane (for VPLS), similar to standard switch MAC learning. The control plane does not get involved in distributing L2 forwarding information. This means traffic from unknown MAC addresses is initially flooded, until return traffic is received across the pseudowire and the destination MAC is learned. Point-to-point L2 VPNs don't need to learn MAC information as they just forward out of the other port/pseudowire (they only have two interfaces per device).
L3 MPLS VPN – forwards based on the L3 address of the L3 PDU. The L3 PDU is encapsulated in the transport protocol (MPLS). With MPLS VPN, MP-BGP is used to distribute L3 forwarding information between sites for routes within the VPN.
EVPN – Another form of multipoint L2 VPN (LAN type service). Can use MPLS or VXLAN for transport. The important part that EVPN adds to L2 VPN is the distribution of L2 forwarding information between sites (through MP-BGP with new EVPN address family). It doesn’t have to rely on data plane learning, so can cut down on flooding between sites. In addition, the EVPN address family can also transport L2 to L3 address mappings, allowing sites to synchronise L2 to L3 mapping (ARP), cutting down on ARP broadcast.
DCI – You can use L2 VPN (AToM for two sites, VPLS for two or more sites) or EVPN to achieve DCI as you need to interconnect the sites at L2. EVPN is more efficient and reduces the amount of L2 flooding and ARP traffic between sites, so if your hardware supports it, it may be the better choice.
Best Answer
VTEPs still need to know where traffic belongs. In simple terms, EVPN is "front loading" the MAC-destination tables. If a host is not already known (via EVPN, other vendor proprietary means, or previous multicast discovery), the VTEP will still attempt multicast discovery.