NVGRE - Network Virtualization using GRE =========================================== .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is NVGRE?** NVGRE (Network Virtualization using Generic Routing Encapsulation) is a network virtualization protocol that encapsulates Layer 2 Ethernet frames within GRE (Generic Routing Encapsulation) tunnels over an IP network. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Why is NVGRE useful?** NVGRE enables scalable multi-tenant networks by allowing multiple isolated virtual networks to coexist over a shared physical infrastructure. It overcomes VLAN scalability limits and supports cloud computing environments. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **How it works?** NVGRE wraps Layer 2 Ethernet frames with a GRE header and transports them over an IP network. Each virtual network is identified using a 24-bit Tenant Network Identifier (TNI), enabling traffic isolation and scalability. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Where is NVGRE used?** NVGRE is mainly used in data centers and enterprise cloud infrastructures for virtual network overlays, especially in Microsoft-based environments like Hyper-V and Windows Server. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which OSI layer does this protocol belong to?** NVGRE primarily operates at Layer 2 (Data Link Layer) for encapsulation, but is transported across Layer 3 (Network Layer) using GRE. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is NVGRE Windows specific?** NVGRE is heavily supported in Microsoft environments (e.g., Hyper-V, System Center), but it is not exclusive to Windows. However, adoption outside Windows is limited. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is NVGRE Linux specific?** No, NVGRE is not Linux specific, but Linux can support it through GRE tunneling and software-defined networking tools, although it is less common than VXLAN in Linux-based systems. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which Transport Protocol is used by NVGRE?** NVGRE uses **GRE (Generic Routing Encapsulation)** as the transport protocol, which is an IP protocol (not TCP/UDP-based). .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which Port is used by NVGRE?** NVGRE does **not use a specific port number**. It uses IP protocol number **47** for GRE encapsulation. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is NVGRE using Client server model?** No, NVGRE does not use a client-server model. It is a tunneling protocol used for encapsulating and transporting network traffic across virtualized environments. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow Topics in this section, * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`NVGRE Version&IEEE Details ` * :ref:`NVGRE Basic Setup on Ubuntu using IPv4 ` * :ref:`NVGRE Basic Setup on Ubuntu using IPv6 ` * :ref:`NVGRE Protocol Packet Details ` * :ref:`NVGRE Usecases ` * :ref:`NVGRE Basic Features ` * :ref:`Reference links ` .. _NVGRE_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. _NVGRE_step2: .. tab-set:: .. tab-item:: Terminology * Terminology .. _NVGRE_step3: .. tab-set:: .. tab-item:: Version Info * Version Info .. _NVGRE_step5: .. tab-set:: .. tab-item:: NVGRE Version&RFC Details * rfc details .. _NVGRE_step18: .. tab-set:: .. tab-item:: NVGRE Basic Setup on Ubuntu using IPv4 * setup .. _NVGRE_step19: .. tab-set:: .. tab-item:: NVGRE Basic Setup on Ubuntu using IPv6 * setup .. _NVGRE_step6: .. tab-set:: .. tab-item:: NVGRE Protocol Packet Details * packet details .. _NVGRE_step7: .. tab-set:: .. tab-item:: NVGRE Usecases * usecases .. _NVGRE_step8: .. tab-set:: .. tab-item:: NVGRE Basic Features * features .. _NVGRE_step17: .. tab-set:: .. tab-item:: Reference links * Reference links