DMVPN - Dynamic Multipoint VPN Basics/Fundamentals

DMVPN Basics- In this article you will learn about the DMVPN design along with various IGP protocols such as EIGRP,OSPF and BGP. I am explaining this topic in deep detail in my Instructor Led CCDE and Self Paced CCDE course.   DMVPN uses two major technologies for its operation :

  • NHRP Next Hop Resolution Protocol
  • mGRE Multipoint GRE
In this post I will explain all the basics of Cisco DMVPN. Detailed routing protocol design over DMVPN will be covered in a different post which will be published in a few days. Let’s use the topology below to understand the specific pieces of DMVPN. The picture below has been received from cisco.com.

     

Figure-1 Cisco DMVPN Architecture

Three different address types are used in DMVPN.  

1. Public – NBMA – Underlay address : All these terms can be used interchangeably and refers to a static known address on the hub and a dynamic or static address on the spokes.   This address is used to bring up the tunnels. The underlay addresses of HUB and spoke must be reachable. If a spoke to spoke tunnel is created, spoke to spoke underlay (BGP between Service Providers) addresses must be reachable as well. If you are using DMVPN over Internet, the remote location reaches to its local service provider and service providers use BGP for public-NMBA-underlay DMVPN address reachability. Dynamic NAT (Network Address Translation) is allowed on the spokes.  

2. Private – Tunnel – Overlay address : You may see one of these addresses in different resources, but all refer to the same thing. They are used interchangeably. In a single DMVPN cloud, one big tunnel subnet is used. Spokes register their private to public address mapping to Hub which is the Next Hop Server with the NHRP register message. For those who are familiar with LISP (Locator and Identity Separation Protocol), this operation is very similar to a Mapping database. LISP is out of the scope of this post.   All the routing protocols ( RIP, EIGRP, OSPF, PIM, BGP) can be used over the overlay tunnels, except for IS-IS !   IS-IS doesn’t run over IP but uses layer2 (IS-IS has an ether type), so IS-IS can not be used over DMVPN.  

3. Remote or Local address : This address is used in the local area and advertised through the routing protocol over the overlay DMVPN tunnel. In the topology above, spokes or remote sites register to the hub via NHRP protocol. The NHRP register message is used for spokes to register their underlay to overlay address mapping. DMVPN hub knows all the public IP to tunnel IP mapping before the routing protocol starts to advertise local addresses. DMVPN supports IPv4 and IPv6 unicast and multicast transport through the overlay tunnels. DMVPN also supports IPv4 and IPv6 transport through the underlay, which might be Internet or MPLS VPN. DMVPN can be used without IPsec encryption. IPsec is not mandatory for the DMVPN operation,but most if not all of the networks use IPsec with DMVPN. For large-scale DMVPN deployments, GETVPN can be used to encrypt the tunnels.

Since HUB would create crypto key for each spoke separately,with IPSEC, with its group key capabilities, GET VPN provides excellent scaling if the encryption is the needed. DMVPN has three Phases. Phases 1, 2 and 3. Phasse 1 and 2 are made obsolete, by Phase 3, but I will explain how DMVPN works in Phase 1 and 2 as well.  


DMVPN Phase 1 :

  Spokes use Point to Point GRE but Hub uses a multipoint GRE tunnel. A mGRE tunnel simplifies configuration greatly on the Hub. Spokes have to specify the tunnel destination as Hub since they run P2P GRE tunnel not mGRE in DMVPN Phase 1. Summarization is allowed from the Hub down to spokes. The Hub can only send default route as well ,since the remote spokes next hop is not preserved by the Hub. Hub changes the IGP next hop to itself hence spoke to spoke traffic passes through the Hub. Spoke to spoke tunnel cannot be created in DMVPN Phase 1.

In the topology above, for the 192.168.2.0/24 network behind Spoke 2, next hop is the tunnel IP of the HUB in the routing table of Spoke 1, not the tunnel IP of the Spoke 2. Thus, the data plane traffic always passes through Spoke 1 – Hub – Spoke 2 with this topology in DMVPN Phase 1. Why would you want to design DMVPN with Phase 1?

You may want to bring all the traffic to your centralised place where all your security devices are located. You can filter unwanted traffic between the spokes first. Imagine you are using DMVPN over the Internet. After you create a DMVPN network, spoke to spoke communication, or a centralised shared services devices will be reachable through the Hub and traffic can be filtered before reaching the destinations. Spokes can use their local router for Internet traffic. Internet traffic doesn’t have to go the HUB.

Although Phase 1 is obsolete and, as we will see, Phase 3 gives better scalability and feature sets, it still might be used. It provides excellent scalability for the routing compared to Phase 2. If you are using DMVPN over IPSEC, since the HUB router needs to encrypt and decrypt packets twice, Phase 1 with IPSEC reduces the overall scalability. DMVPN operation is very similar to the Ethernet ARP process. The difference is Ethernet is Broadcast Multiaccess, DMVPN is a Non Broadcast Multiaccess (NBMA).  


DMVPN Phase 2:

Spoke to spoke dynamic on demand tunnels are first introduced in Phase 2. In contrast to Phase 1, mGRE (Multipoint GRE, not Multicast) is used in Phase 2. Thus, spokes don’t require tunnel destination configuration under the tunnel interface and tunnel mode is configured as ” Multipoint Gre”. Spoke to spoke traffic doesn’t have to go through the HUB. Spokes can trigger on demand tunnel between them.

The biggest disadvantage of Phase 2 is, each spoke has to have all the Remote – LAN subnets of each other since the Hub, preserves the next hop of spokes. In the topology above, for the 192.168.2.0/24 network behind the Spoke 2, Spoke 1 has the tunnel interface (Private-Overlay) address of Spoke 2 as a next hop. In Phase 1, hub is the next hop. Thus, spokes have to have a reachability to the tunnel addresses of each other.

This disallows the summarization or default routing from Hub down to the spokes. This is a serious design limitation for the large scale DMVPN networks. For the distance vector protocols, Split horizon needs to be disabled and “no next-hop self” should be enabled on the HUB. These are serious design limitations for the link state protocols that I will explain later in this post.  


DMVPN Phase 3:

  Spoke to spoke dynamic tunnels are allowed. Spokes don’t have to have the next hop of each other’s private address for the local subnets. 192.168.2.0/24 network behind the Spoke 2, has a next hop as HUB in the routing table of Spoke1. An NHRP redirect message is sent to the spokes to trigger spoke to spoke tunnels. Hub tells, Spoke 2 that Spoke 1 wants to communicate, and provides the Public-Underlay-NBMA address of Spoke 1 in the above topology. Spokes have an NHRP Shortcut. Which means, even in the routing table of Spoke 1, the tunnel IP address of HUB is the next hop for the 192.168.2.0/24 behind the Spoke 2, and the FIB table of Spoke1 has the private-tunnel address of Spoke 2 as a next hop.

Since the next hop in the routing table of the spokes is HUB’s tunnel address, spokes don’t have to have the specific next hop information of each other. This allows summarization and default routing in Phase 3. Hub can send a summary or just a default route down to the spokes.   Hence, Phase 3 can scale extremely.

Created by
Orhan Ergun

Orhan Ergun, CCIE/CCDE Trainer, Author of Many Networking Books, Network Design Advisor, and Cisco Champion 2019/2020/2021

He created OrhanErgun.Net 10 years ago and has been serving the IT industry with his renowned and awarded training.

Wrote many books, mostly on Network Design, joined many IETF RFCs, gave Public talks at many Forums, and mentored thousands of his students.  

Today, with his carefully selected instructors, OrhanErgun.Net is providing IT courses to tens of thousands of IT engineers. 

View profile

Daniel Lardeux
Daniel Lardeux Senior Network Consultant at Post Telecom

I passed the CCDE Practical exam and Orhan’s CCDE course was very important contributor to my success. I attended the CCDE course of Orhan Ergun in July and it was exactly what I needed, Orhan is taking the pain to break down the different technologies.

Roy Lexmond
Roy Lexmond Senior Network Designer at Routz CCDE #20150017 & CCIE R&S; #26557

After I attended Orhan Ergun’s CCDE course I passed the CCDE practical exam.I really enjoyed the course a lot ...

Nicholas Russo
Nicholas Russo Network Consulting Engineer (CCDE/CCIEx2), Cisc

I signed up for Orhan’s CCDE training. This training is very technically detailed and the use-cases, quizzes, scenarios, and mind maps are all great resources in the overall training program. Orhan teaches his students to think like a network designer ...

Slide Heading
Slide Heading Network Systems Engineer at Conscia A/S CCIE #42544 (SP) & CCDE #20160015

Orhan is forcing you to take off the implementation hat that most of us have been wearing for many years, instead he is providing a new fancy design hat, which makes you see and deal with the issues presented ...

Kim Pedersen
Kim Pedersen CCIE in RS and SP (#29189) CCDE#20170021

I’ve used Orhan’s self-paced CCDE training material. If you are interested in knowing how all the technologies go together in a coherent design i can highly recommend it.I also enjoyed the Quizzes which helped pick out my weak spots in selecting ...

Laurent Metzger
Laurent Metzger 3xCCIE/CCDE Senior Network Architect

Hi Orhan. I passed the CCDE exam on February 22. I read everything that you put on your Self Paced CCDE Training course and it was very helpful in my success. Thank you very much.

Martin J. Duggan
Martin J. Duggan Network Architect at AT&T;, Ciscopress Author CCDE #20160006 & CCIE#7942

I attended Orhan’s April 201610 days CCDE Bootcamp. I am CCDE now !

You can tell Orhan has a great deal of experience, it really comes through when he presents his design case studies and the CCDE Practical scenarios.

Muhammad Abubakar
Muhammad Abubakar Lead Network Architect – CCDE #20160016 2xCCIE #26693 2xJNCIE VCIX

Your excellent CCDE materials and amazing Bootcamp helped me tremendously through my learning journey.Also thank you very much for being available whenever I have a design question or a complex design topics. I can’t compare your design skills ...

Jennifer Pai
Jennifer Pai Network/Security Engineer at KNET Technology

Thanks Orhan very much for this course. It helped strengthen my “Network design mind”.

Ruslan Silyayev
Ruslan Silyayev Solution Architect at R.I.S.K Company

Training by Orhan is not a CCDE preperation training only. It will be useful for engineers which are dealing with design. You want to pass CCDE exam or learn network design, then don’t look at anywhere else!

Sameer Meher
Sameer Meher Solutions Architect at 23 Wards/Japan

Orhan Ergun’s CCDE course was really very good. CCDE Level Intelligence was delivered very well and with very useful case studies and the scenarios, I am thankful to Orhan for all his help!

Ken Young
Ken Young Senior Technical Architect Province of Nova Scotia, 2xCCIE #41597 | CCDE #20170047

If anyone wants to understand network design and architecture, also pass CCDE exam , I recommend you to attend Orhan’s online courses! I am a CCDE now but learning is a journey, we will be together in your other courses too Orhan!

Matt Cross
Matt Cross Technical Architect at Heartland – CCDE #2019::7

Orhan did an excellent job of filling in the gaps of knowledge that I had that took me to the finish line of the practical exam CCDE. The community of people that Orhan facilitates are both engaging and supportive of the journey to CCDE. Orhan ...

Shiling Ding
Shiling Ding Sentinel Technologies – CCDE #2019::12

Just passed the CCDE Practical exam! I attended Orhan Ergun’s CCDE training program , used Orhan’s Instructor Led and Self-Paced CCDE training and Online CCDE Practical Scenarios during my CCDE journey. Orhan’s CCDE In Depth book is an excellent summary ...

Abelardo Basurto
Abelardo Basurto Solutions Architect at Cisco Systems – CCDE 2018::6

Hi everyone, I’ve just passed the CCDE Exam. My Number is CCDE 2018::6 I attended to Online CCDE Bootcamp of Orhan. I want to thank Orhan not only for the great book and bootcamp, but also for his commitment, availability and willingness to assist the ...

Hady Mohamed Abdellah
Hady Mohamed Abdellah Network Architect Hamad International Airport Qatar – CCDE 2018::1

Hi guys, I’m so happy that I passed the exam. I’ve already got my number CCDE 2018::1. Thanks to Orhan for being the best CCDE instructor in the world. I highly recomend Orhan’s CCDE Training and In-Depth-CCDE ...

Bryan Bartik
Bryan Bartik Sr. Systems Engineer at CompuNet – CCDE 20170059

Hi Orhan I passed CCDE Practical exam on November 2017 ! I really enjoyed your materials and quizzes and use cases. They were definitely helpful in my preparation. Thanks a lot !

Giedrius Trapkauskas
Giedrius Trapkauskas Network Solutions Architect at Liberty Global – CCDE 20180004

I attended Orhan’s CCDE Training in Istanbul and it was very helpful in my preparation. I passed the exam recently and I want to say Thank you Orhan! For those who want to pass the CCDE exam, definitely start with ...

Alaa Issa
Alaa Issa Sr.Solutions Architect – CCDE#20180033 3xCCIE ( Collab|DC|Security )#27146

I registered to Orhan’s training in Feb 2017. From that time, I attended Orhan’s training several times. The depth of knowledge which Orhan has is amazing, and how to present such consistent knowledge to the ...

Mazin Ahsan Design Lead Engineer | Solutions Engineer | CCDE License # 20160030 | CCIE Licence # 23892

I passed the CCDE Practical Lab exam on November 17,2016 from supplications of elders and dedication from my Sensei Mr. Orhan Ergun I took different CCDE bootcamps in the past. Orhan has the most depth and expertise ...

Jeff Patterson CCDE# 2018::11

Hi Orhan I wanted to pass along my appreciation for the outstanding training material. I used the online CCDE training provided by Orhan as well as the In-Depth-CCDE book and passed the exam in February 2018. Thank you Orhan!

Mehdi Sfar
Mehdi Sfar Network and Security Architect / CCDE #20210003 | CCIE R&S; #51583

I signed up for Orhan’s CCDE Self paced Course. This course, along with the CCDE In Depth book, helped me for my CCDE Practical as well as Written exams. It pushed me to ask the "WHY" questions and allowed ...

Related courses

Cisco SD-WAN Training

17:32:20 Hours
46 Lectures
Intermediate

$150

VPN Training

06:55:19 Hours
10 Lectures
Intermediate

$60

EVPN - VXLAN Training

08:51:50 Hours
41 Lectures
Intermediate

$95