I understand that when data is sent to another network, it has to use logical addresses, or IP addresses, to get there
Like the moderator said, IP and mac addresses are used on ethernet, so you are confused and don't understand how this works. If a PC-A on ethernet sends IPv4 traffic to an PC-B on another network, the packet still needs to arrive at the first-hop router. The destination IP address will be PC-B, but the destination mac-address is the first-hop router's mac.
PC-A is configured with the next-hop router IP address and PC-A ARPs to find the mac address of the first-hop router.
In this case, the first-hop router (also called the "default gateway") uses its routing table to find the proper interface to deliver the packet towards PC-B.
what if the destination for the data is on the local network? Do they use IP or MAC with ARP, and is that Layer 3 or 2? Like, is the Network layer used at all if the destination is on the local network?
If PC-A wants to send IPv4 traffic to PC-C on a local network, both the destination mac-address and the destination IP address are for PC-C.
PC-A realizes that PC-C is on the same network, so it ARPs to find the mac address of PC-C.
In this case, the lan-switch uses its mac-address table to find the proper interface to deliver the packet. However, PC-C still checks the destination IP address to ensure it belongs on PC-C.
In theory you can run MPLS without an IGP, any sane network admin would not though. MPLS labels can be assigned through:
LDP
RSVP-TE
Generally a router runs IGP to populate the Routing Information Base (RIB). This is the control plane, routes are then installed into the Forwarding Information Base (FIB). This is the data plane forwarding, depending on platform, there may also be distributed forwarding on linecards so the linecard will have a local database.
When running LDP, labels are advertised to adjacent routers based on the RIB. The labels are then stored in the Label Information Base (LIB). This is the control plane and equivalent to the RIB but contains labels. The LIB is then one of the components used to build the Label Forwarding Information Base (LFIB) which is the equivalent of the FIB.
Running LDP, without an IGP, the labels would not be assigned because there are no routes in the RIB. This could be solved by entering static routes but it's obviously not a scalable solution.
When using RSVP-TE, labels are not assigned through the RIB. Tunnels are manually defined, connectivity is still needed between the headend and tailend, which is usually done through IGP but could be done through static routing as well.
There are special cases where routing is not needed with RSVP-TE because the neighbor is statically defined such as in the configuration below:
interface FastEthernet1/0
ip address 20.0.23.2 255.255.255.0
mpls traffic-eng tunnels
mpls traffic-eng passive-interface nbr-te-id 3.3.3.3 nbr-if-addr 20.0.23.3
Example above came from RSVP-TE without IGP
So the configuration is possible but definitely not recommended. To be able to reach the router remotely for management you would want to have an IGP running, also possible to solve through static routes of course. In the end it's about scalability and how prone to error each solution is.
Best Answer
Here is a short answer:
A L2 VPN acts like a layer 2 network. That is, all the devices that connect to the VPN would normally be on the same subnet, and broadcasts go to all devices.
In a L3 VPN, each site makes a L3 point to point link to the MPLS provider. Each site must run a routing protocol (or use static routing) with the provider to reach other sites.
Another way to think about it is, a L2 VPN acts like a virtual switch, while a L3 VPN acts like a virtual router.