Cloudflare Docs
Magic-Transit
Visit Magic Transit on GitHub
Set theme to dark (⇧+D)

Tunnels & encapsulation

Magic Transit uses Generic Routing Encapsulation (GRE) tunnels to transmit packets from Cloudflare’s edge to your origin network. Cloudflare sets up GRE tunnel endpoints on edge servers inside your network namespace, and you set up tunnel endpoints on routers at your data center.

This diagram illustrates the flow of traffic with Magic Transit.

Ingress traffic from client machine to Magic Transit to origin router and flow of egress traffic

Encapsulation

Magic Transit encapsulates IP packets destined for your network and transmits them across the GRE tunnels to your tunnel endpoint router, which decapsulates the packets and sends them to your internal network.

In the diagram below, Magic Transit encapsulates packets at the Cloudflare edge and transmits them to a customer’s — Acme for example — tunnel endpoint router.

Flow of packet encapsulation at Cloudflare’s edge to user’s tunnel endpoint router

Anycast GRE

Magic Transit uses Anycast IP addresses for Cloudflare’s GRE tunnel endpoints, meaning that any server in any data center is capable of encapsulating and decapsulating packets for the same GRE tunnel.

This works because the GRE protocol is stateless—each packet is processed independently and does not require any negotiation or coordination between tunnel endpoints. Tunnel endpoints are technically bound to IP addresses but do not need to be bound to specific devices. Any device that can strip off the outer headers and then route the inner packet can handle any GRE packet sent over the tunnel.

Cloudflare’s Anycast GRE architecture provides a conduit to your GRE tunnel for every server in every data center on Cloudflare’s global edge network as shown in the image below.

Multiple servers in data center preparing packets to send through GRE tunnel

Network Analytics

Cloudflare’s Network Analytics provides near real-time visibility into network and transport layer traffic patterns and DDoS attacks which can help troubleshoot IP traffic issues. You can also use Network Analytics to view information about the traffic that leaves Cloudflare’s Edge by reviewing ingress and egress tunnel traffic over a specific amount of time.

For more information, refer to Querying Magic Transit Tunnel Bandwidth Analytics with GraphQL .