# mVPN Introduction

Multicast VPN (mVPN) allows a service provider to provide multicast transit service for a customer over an L3 VPN. In a basic L3 VPN, the only transit service provided is unicast routing. By default, a customer’s PIM network will not work across the service provider’s core.

There are various methods to provide mVPN service in a provider network. The different techniques are referred to as profiles. In all profiles, the PE must run PIM with the CE in the customer’s VRF. The PEs run the customer’s PIM instance, which is also called C-PIM. Each PE forms a PIM neighborship with its directly connected CE.

<figure><img src="https://1203572585-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgAMH3CMtmYTBkob03NUj%2Fuploads%2FUWQmbZWRrXKWL2m6H9pP%2FUntitled.png?alt=media&#x26;token=0f0f1121-4c2b-4a9e-b915-01d534e81a5f" alt=""><figcaption></figcaption></figure>

The various profiles determine the technique used to route multicast traffic over the core.

Profile 0 AKA “Draft Rosen,” is named for the RFC draft <https://datatracker.ietf.org/doc/html/draft-rosen-vpn-mcast-15>. In profile 0, the service provider core runs its own PIM instance in the global table. Each customer VRF uses a single multicast group in the P-PIM (Provider PIM). This multicast group is configured under the VRF on all PEs. The resulting tree in the P-PIM is called the default MDT (multicast distribution tree). The PEs use this to then form multicast neighborships with each other in the customer VRF (using the C-PIM) via GRE tunnels. This will make much more sense when you see it in action in the following article.

### Further Watching <a href="#b03f2e8b-3cc0-4550-bfdf-db5b39d96e05" id="b03f2e8b-3cc0-4550-bfdf-db5b39d96e05"></a>

<https://www.youtube.com/watch?v=dDMsX9tjiVo&list=PLVND-cRwt9SP2ni2a3kRRVB9_Rbe7vOMW&ab_channel=DecodingPackets>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ccnp-sp.gitbook.io/studyguide/routing/multicast/mvpn-introduction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
