> ## Documentation Index
> Fetch the complete documentation index at: https://docs.megaport.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MCR Route Advertisement

> This help topic describes Megaport Cloud Router (MCR) peering types and the routes advertised by each type.

export const Gloss = ({term, anchor, langDir = 'en'}) => {
  const errorPrefix = '\x1b[31;1;4mERROR\x1b[0m: Gloss -';
  if (typeof term !== 'string') {
    term = String(term);
  }
  if (typeof anchor !== 'string') {
    anchor = String(anchor);
  }
  if (!term || term === 'undefined') {
    console.error(`${errorPrefix} the \`term\` property is required — rendering an empty string instead`);
    return <></>;
  }
  if (!anchor || anchor === 'undefined') {
    console.error(`${errorPrefix} the \`anchor\` property is required — rendering an empty string instead`);
    return <></>;
  }
  const lang = langDir === 'en' ? '/' : '/' + langDir + '/';
  const glossaryPage = lang + 'glossary/#' + anchor;
  return <a href={glossaryPage}>{term}</a>;
};

export const Image = ({src, alt = '', caption, width, height, shadow}) => {
  const errorPrefix = '\x1b[31;1;4mERROR\x1b[0m: Image -';
  if (typeof src !== 'string') {
    src = String(src);
  }
  if (!src || src === 'undefined') {
    console.error(`${errorPrefix} \`src\` is required — rendering an empty string instead`);
    return <></>;
  }
  const img = <img className={['mega-image-style', shadow ? 'shadow' : ''].join(' ')} src={src} alt={alt} width={width} height={height} style={{
    display: 'block'
  }} />;
  return caption ? <figure>
      {img}
      <figcaption style={{
    textAlign: 'center',
    width
  }}>{caption}</figcaption>
    </figure> : img;
};

This topic describes MCR peering types and the routes advertised by each peering type.

The Megaport Cloud Router (MCR) works in <Gloss term="multicloud" anchor="multicloud" /> architectures that are connected using different combinations of peering types. In addition to private peering connectivity, MCR can connect to public peering types such as AWS, Azure, Oracle, and other Cloud Service Providers (CSPs).

MCR uses a Virtual Cross Connect (VXC) to connect to other endpoints on the Megaport network. The VXCs support different types of peers. MCR employs routing policies aligned with the VXC peering type.

The peering type defined for the VXC determines which routes are advertised.

## MCR peering types

MCR supports the peering types shown in this table:

| **Peering Type** | **Megaport Peering Attribute** | **Routes Advertised**                                                                        |
| :--------------- | :----------------------------- | :------------------------------------------------------------------------------------------- |
| Non-cloud        | NON\_CLOUD                     | Routes from the Border Gateway Protocol (BGP) peer behind a Port and AWS Hosted Connections. |
| Private cloud    | PRIV\_CLOUD                    | Routes from AWS Hosted VIF Private, Azure Private Peer, and Google Cloud Platform.           |
| Public cloud     | PUB\_CLOUD                     | Routes from AWS Hosted VIF Public, Azure MS Peer, Salesforce, and other cloud providers.     |

<Note>
  * Although you can configure private cloud and public cloud peering types simultaneously, MCR does not exchange routes between the two.
  * AWS Direct Connect Hosted Connection partners cannot see the VIF type created within AWS. As a result, traffic from these hosted connections is categorized as NON\_CLOUD. MCR users should take care not to advertise public cloud routes to other cloud providers. MCR route filtering is available to help manage this.
</Note>

### Non-cloud VXCs

NON\_CLOUD VXCs are categorized into these types:

* **Physical Port Connections** -- VXCs connected to a physical port in a data center, typically referring to private network infrastructure.
* **AWS Hosted Connections** -- These are classified as NON\_CLOUD because AWS connectivity partners do not have a mechanism to identify the VIF type created within AWS.
* **Megaport Marketplace Service Providers** -- Connections to various service providers listed in the Megaport Marketplace.
* **Business-to-Business (B2B) VXCs** -- Connections established between multiple Megaport accounts using service keys.  For more information, see [Setting up Service Keys](/marketplace/service-keys).

| **Megaport Endpoint** | **Peering Type**             |
| :-------------------- | :--------------------------- |
| Physical Port         | Private VXC                  |
| MCR                   | AWS Hosted Connection on VXC |
| Megaport Marketplace  | Private VXC                  |
| B2B VXC               | Service Key                  |

### Private cloud VXCs

Private cloud (PRIV\_CLOUD) VXCs connect to private peering options with public Cloud Service Providers (CSPs). Private peering typically involves exchanging RFC 1918 routes with the service provider.

| **Cloud Service Provider**  | **Peering Type**                |
| :-------------------------- | :------------------------------ |
| AWS Direct Connect          | Hosted VIF with Private VIF     |
| Azure ExpressRoute          | Private Peering                 |
| Google Cloud Interconnect   | Partner Interconnect Attachment |
| Oracle Cloud Infrastructure | FastConnect Private Peering     |

Similar connectivity is available from IBM Cloud, Alibaba, SAP HANA Enterprise Cloud, and many other CSPs. For a full list of CSPs, see [MCR Cloud Connectivity Overview](/cloud/mcr).

### Public cloud VXCs

Public cloud (PUB\_CLOUD) VXCs provide direct connectivity to public peering options from public CSPs. Public peering options typically involve exchanging public address space with a service provider.

| **Cloud Service Provider**  | **Peering Type**           |
| :-------------------------- | :------------------------- |
| AWS Direct Connect          | Hosted VIF with Public VIF |
| Azure ExpressRoute          | Microsoft Peering          |
| Salesforce                  | ExpressConnect             |
| Oracle Cloud Infrastructure | FastConnect Public Peering |

## Route advertisement scenarios

### Non-cloud and private cloud

A combination of non-cloud and private cloud connectivity is fairly straightforward when it comes to route advertisement. Using network virtualization and segmentation mechanisms allow multi-tenant networks to exchange private RFC 1918 address space between each environment. The private cloud is introduced as a private node on your internal network.

This image shows a corporation using a firewall to segment its cloud connectivity. The cloud network is connecting from their firewall in the data center to their MCR via a private NON\_CLOUD VXC. MCR is, in turn, connecting to AWS via a PRIV\_CLOUD VXC.

<Image src="/images/mcr/priv-cloud-non-cloud.png" alt="Non cloud with private cloud" shadow={true} width={900} />

### Public cloud

The public cloud connectivity option requires the exchange of public address space, similar to peering with an internet service provider (ISP). Large organizations that require connectivity to multiple ISPs employ network engineers and architects that are familiar with all of the nuanced requirements necessary to participate in exchanging public routes on the internet.

MCR alleviates some of these nuances by providing default policies that ensure you don’t inadvertently advertise public routes belonging to one CSP to another CSP. For example, consider route advertisement in a network topology with an ExpressRoute Microsoft peering to Azure and a public virtual interface (VIF) to AWS.

<Image src="/images/mcr/public-1.png" alt="Public cloud" shadow={true} width={900} />

If any-to-any connectivity were allowed between the two public cloud peerings, all traffic between AWS and Azure would traverse MCR. This would cause a global service disruption for both CSPs. To avoid service disruption, the CSPs protect their customers with policies that prevent this type of misconfiguration. However, because mistakes can happen, MCR also has routing mechanisms in place to restrict the public cloud peering types from exchanging public address spaces.

<Image src="/images/mcr/public-2.png" alt="Public cloud to public cloud" shadow={true} width={900} />

### MCR route advertisement configurations

The supported MCR route advertisement configuration types are:

* Public cloud → Non-cloud
* Private cloud → Non-cloud, Private cloud
* Non-cloud  → Non-cloud, Private cloud, Public cloud

<Image src="/images/mcr/route-advertise-configs.png" alt="Route advertisement configs" shadow={true} width={900} />

Support for these peering configuration types enables a globally available platform that allows rapid, on-demand deployment of routing services in a secure manner, with best practice routing policies already applied.
