NHRP = Next Hop Resolution Protocol
NHS = Next Hop Server
Next Hop Resolution Protocol (NHRP) allows the spoke routers to register their IP addresses with the NHRP server, which is the hub router. It also allows the spoke routers to then learn the physical IP addresses of the other spoke routers from the hub router, allowing for GRE links to be built dynamically as needed between the spokes. This eliminates the need for the traffic to go through the hub router.
Dynamic Multipoint VPN (DMVPN) technology leverages the following associated technologies:
Dynamic routing protocols
Cisco Express Forwarding
It makes it possible to build the hub router once, and add spokes later, making no additional changes to the hub. The spokes are able to register with the hub and dynamically build their own connections to other spokes using the IP addresses learned from the hub using NHRP. DMVPN also allows IPsec point-to-point GRE tunnels to be built to new spokes with no IPsec peering configuration. The multipoint GRE technology (mGRE) allows a single physical interface on the hub to be used for all spoke connections.
Finally, the routing protocols used by DMVPN allow the routers to share routing information, while Cisco Express Forwarding (CEF) is a switching technology that improves performance while reducing the load on the CPUs of the routers.
NBMA address mappings are created through the use of Next Hop Resolution Procotol (NHRP).
NHRP learns the IP addresses of the spoke routers when the spoke routers register their IP addresses with the NHRP server, which is the hub router.
In a DMVPN solution, the spoke routers learn the physical IP addresses of the other spoke routers from the hub route
In the absence of a bandwidth command on the tunnel interface, the default bandwidth on a tunnel interface is 9 Kbps. EIGRP will use 50% of that (4.5K), which is too low. This will cause problems with the maintenance of EIGRP neighbor relationships. From time to time this will cause the tunnel to flap up and then down as the relationships go up and down. When you execute the bandwidth command it has no real effect on the bandwidth of the link but it will allow EIGRP to use 50% of 10k or 5k for its purposes, leaving 4k for data. This will have little impact on the data while maintaining the neighbor relationships.