Practice Exams:

Understanding GRE Tunneling: Foundations of Virtual Networking

As networks grow in complexity, the need for flexible and efficient ways to transmit data across diverse environments has become more critical than ever. In situations where protocols and data formats differ across segments of a network, standard routing methods may fall short. This is where tunneling protocols come into play. Among these, GRE, or Generic Routing Encapsulation, is one of the most widely used and trusted solutions.

GRE is a tunneling protocol that allows the encapsulation of a wide range of network layer protocols inside virtual point-to-point links. It plays a foundational role in many networking applications, including virtual private networks (VPNs), multiprotocol communications, and secure data transport across the internet or other untrusted networks.

This article explores the fundamentals of GRE tunneling, how it works, where it’s used, and why it’s important in modern networking.

What Makes Tunneling Essential in Networking?

Tunneling is a method that allows data to be transported across a network using a protocol that is not natively supported by the underlying infrastructure. This is achieved by encapsulating the data in another protocol that the infrastructure does support.

The core idea behind tunneling is to hide the original data packet inside another packet, much like placing a document inside an envelope. The network infrastructure only sees the outer envelope, while the original packet remains untouched inside. Once the packet reaches its destination, the envelope is removed, and the original data is revealed and processed as intended.

Tunneling protocols are widely used for:

  • Establishing virtual private networks (VPNs)

  • Carrying non-IP protocols over IP networks

  • Bypassing geographic or security restrictions

  • Creating secure communication paths over public networks

  • Allowing multiprotocol traffic to be routed across IP-only networks

GRE is one of the earliest and most commonly implemented tunneling methods due to its simplicity and versatility.

Understanding Generic Routing Encapsulation (GRE)

GRE is a protocol designed by a well-known networking equipment manufacturer to encapsulate a wide variety of network layer protocols into point-to-point connections. It is a lightweight tunneling protocol that wraps original packets in a new GRE header and an outer IP header before transmitting them over an IP network.

Unlike protocols that encrypt or compress data, GRE focuses purely on packet delivery across networks that might not natively support the original traffic. It doesn’t provide inherent encryption or authentication, but it can be combined with other protocols to achieve those goals when needed.

One of the major advantages of GRE is its ability to encapsulate different protocols such as IPv4, IPv6, AppleTalk, and more. This makes it a flexible solution for networks that need to support multiple communication standards.

Key Components of GRE Tunneling

To understand how GRE works, it’s helpful to break down the process into several key components. These include:

Encapsulation

At the heart of GRE tunneling is the concept of encapsulation. This involves taking the original data packet, which could be using any protocol, and wrapping it inside a GRE header. This new packet is then further wrapped inside an IP header for delivery.

The encapsulated packet includes:

  • Original payload (the data being transmitted)

  • GRE header (providing protocol identification and control flags)

  • Outer IP header (used to route the packet across the IP network)

GRE Header

The GRE header typically includes fields such as:

  • Flags (to indicate optional features)

  • Protocol Type (to indicate the type of payload)

  • Optional Checksum and Key fields (for additional control and validation)

The GRE header adds minimal overhead, allowing the tunnel to operate efficiently even in networks with limited resources.

Point-to-Point Tunnel

GRE tunnels are often implemented as point-to-point links between two endpoints, typically routers. These tunnels act as virtual links that behave like direct connections, even if the actual physical path between the routers spans multiple intermediate devices and networks.

The tunnel endpoints are configured to recognize GRE packets, process the headers, and extract the original payload for further handling.

How GRE Tunneling Works

The GRE tunneling process can be understood in a few simple steps:

  1. A router receives a packet that needs to be sent across a network that doesn’t support the packet’s original protocol.

  2. The router encapsulates the packet inside a GRE header, specifying the payload type and control information.

  3. The GRE header and the original packet are then encapsulated inside a new IP packet.

  4. This new packet is transmitted across the intermediate network.

  5. At the other end of the tunnel, another router receives the packet, strips off the IP and GRE headers, and forwards the original payload to its intended destination.

This process is completely transparent to the intermediate network, which simply routes the packet as a standard IP packet. The encapsulation and decapsulation take place only at the tunnel endpoints.

Advantages of GRE Tunneling

GRE offers several benefits that make it a valuable tool in network design and operation:

Protocol Versatility

GRE supports encapsulation of a wide variety of protocols. This makes it suitable for mixed-protocol environments and legacy systems that still require support.

Network Compatibility

Since GRE wraps traffic in IP packets, it can easily traverse any IP-based network infrastructure. This allows it to create virtual connections across disparate environments.

Simplicity and Speed

GRE is a lightweight protocol that adds minimal overhead. It is easy to configure and operates efficiently, making it suitable for performance-sensitive applications.

Support for Multicast and Broadcast

GRE supports multicast and broadcast traffic, which many other tunneling protocols do not. This is particularly useful in scenarios like routing protocol updates and VPN broadcasting.

Scalability

GRE tunnels can be scaled across large networks, and multiple tunnels can be managed simultaneously. This makes GRE a good option for enterprise-level networking and service provider environments.

Limitations of GRE Tunneling

Despite its advantages, GRE does have certain limitations:

No Native Security

GRE does not offer built-in encryption or authentication. This means data transmitted over a GRE tunnel is not secure by default and may be vulnerable to interception.

To secure GRE tunnels, they are often paired with IPsec or other security protocols that provide encryption and authentication.

Overhead

While GRE is considered lightweight, it still adds headers to each packet. This increases the total packet size and may lead to fragmentation if the maximum transmission unit (MTU) is exceeded.

Limited Error Handling

GRE does not include extensive error correction or congestion control mechanisms. It’s generally best suited for controlled environments or when paired with additional protocols that handle reliability.

Susceptibility to Network Instability

Since GRE relies on the underlying IP network, any instability, routing issues, or congestion in that network can affect tunnel performance and reliability.

Common Use Cases for GRE Tunnels

GRE tunnels are used in a variety of practical scenarios in both enterprise and service provider networks:

Interconnecting Remote Offices

Organizations with multiple locations often use GRE tunnels to create virtual links between offices over the public internet. This allows for seamless communication and centralized network management.

Enabling Routing Protocols over Non-Native Networks

GRE tunnels can carry dynamic routing protocols like OSPF and EIGRP across networks that don’t support multicast traffic. This helps maintain consistent routing tables between different network segments.

Carrying Non-IP Protocols over IP Networks

Legacy systems that still use non-IP protocols like AppleTalk or IPX can communicate over modern IP-based infrastructures using GRE.

Lab Environments and Testing

Network engineers often use GRE in testing labs to simulate complex topologies or study protocol behavior in controlled environments.

VPN Architectures

While GRE itself is not a VPN, it is frequently used in combination with IPsec to build secure site-to-site VPNs. The GRE tunnel handles the encapsulation, while IPsec provides encryption and authentication.

GRE vs Other Tunneling Protocols

Several other tunneling protocols are used in modern networking. Comparing GRE to these alternatives helps in understanding its unique value:

GRE vs IPsec

IPsec is a security-focused protocol that offers strong encryption and authentication. While GRE focuses on encapsulation and flexibility, IPsec is designed for secure communication.

When combined, GRE and IPsec provide both versatility and security—GRE handles multiprotocol support and broadcast traffic, while IPsec ensures data confidentiality and integrity.

GRE vs L2TP

Layer 2 Tunneling Protocol (L2TP) operates at Layer 2 of the OSI model and is often used in VPNs. Unlike GRE, L2TP can support a wider range of authentication mechanisms but may introduce more complexity.

GRE vs MPLS

Multiprotocol Label Switching (MPLS) is a more advanced routing technique used in service provider networks. While GRE creates virtual point-to-point links, MPLS offers dynamic, efficient routing across large-scale networks. GRE is simpler to deploy and manage but doesn’t match the performance and scalability of MPLS.

Best Practices for GRE Tunnel Deployment

To ensure smooth operation, organizations should consider the following best practices when deploying GRE tunnels:

  • Always monitor tunnel endpoints and set up alerts for outages or performance issues.

  • Use consistent MTU settings to avoid packet fragmentation.

  • Combine GRE with encryption protocols when security is a concern.

  • Document all tunnels and configurations to simplify troubleshooting and scaling.

  • Test configurations in lab environments before deploying them in production.

GRE tunneling has proven to be a reliable and versatile solution in a variety of network environments. Its ability to encapsulate diverse protocols, create virtual connections across any IP network, and support routing and broadcast traffic makes it a vital tool in the toolkit of any network professional.

While it may not offer built-in security, its simplicity and flexibility make it ideal for scenarios where control, speed, and multiprotocol support are essential. When paired with appropriate security measures, GRE can enable secure and efficient communication across complex infrastructures.

Deploying GRE Tunneling in Real-World Networks

GRE tunneling is more than just a theoretical solution—it’s a widely adopted technology used in diverse production environments. Its simplicity, compatibility, and support for multiple protocols make it highly attractive for IT teams looking to extend networks, carry routing protocols, or support legacy systems. While understanding the concept is crucial, applying it in real-world scenarios takes that knowledge to the next level.

This article focuses on the practical implementation of GRE tunnels in networking environments. It highlights use cases, key deployment steps, configuration best practices, and common challenges faced by network administrators.

Why Organizations Use GRE Tunnels

Organizations often operate across different sites, data centers, and platforms. GRE helps unify this landscape by providing a consistent tunneling mechanism to move traffic across disjointed or incompatible networks.

Some major reasons GRE tunnels are deployed in real environments include:

Connecting Branch Locations

Organizations with remote branches may use GRE tunnels to create point-to-point links between head offices and branch routers. These tunnels allow the internal routing protocols and services to extend seamlessly, treating remote offices as part of the same network.

Transporting Routing Protocols

Routing protocols like OSPF and EIGRP often rely on multicast traffic. However, many cloud providers and public networks don’t support multicast. GRE allows this type of traffic to be encapsulated and carried over such networks, enabling dynamic routing to function normally.

Extending Legacy Protocols

Many organizations still depend on older, non-IP protocols for certain business-critical systems. GRE can carry these protocols over modern IP networks, avoiding the need to completely redesign the infrastructure.

VPN Integration

While GRE alone doesn’t offer security, it’s commonly used alongside security protocols like IPsec. This pairing allows the encapsulation of complex routing or broadcast traffic, while still ensuring confidentiality and data integrity.

Creating Test Environments

Network engineers and researchers often use GRE in lab environments. It provides a controlled and lightweight way to test protocol interactions, route propagation, and traffic behavior under simulated conditions.

Planning for GRE Tunnel Deployment

Before deploying a GRE tunnel, careful planning ensures a smoother and more effective implementation. Considerations include the environment, endpoints, routing design, and potential overhead.

Identify Tunnel Endpoints

GRE tunnels operate between two fixed endpoints, typically routers or gateways. These devices must be able to support GRE and properly configured to send and receive GRE-encapsulated packets.

Both endpoints should have:

  • IP addresses reachable over the underlying network

  • The ability to recognize and process GRE traffic

  • Correct routing rules to forward encapsulated traffic to the tunnel interface

Define Tunnel Purpose

Knowing the purpose of the tunnel will guide configuration decisions. Are you building a VPN, connecting two sites, or routing specific traffic types? The goal affects the choice of IP addressing, routing protocols, and encapsulation details.

Network Compatibility

GRE adds an extra header to each packet. This increases the total packet size and can lead to fragmentation if not accounted for. Ensure that your network supports the increased size, or adjust the maximum transmission unit (MTU) settings accordingly.

You’ll also want to verify that firewalls or intermediate devices allow GRE protocol traffic, which typically uses IP protocol number 47—not to be confused with a port number.

Design for Redundancy

If the GRE tunnel is part of a critical communication path, consider designing for redundancy. Multiple tunnels, backup routing paths, or dynamic failover mechanisms like routing protocol preferences or IP SLA monitoring can be used.

GRE Tunnel Configuration Steps (Conceptual)

Although this article avoids coding, it’s helpful to understand the general flow of steps required to set up a GRE tunnel:

  1. Enable GRE support on both devices that will serve as tunnel endpoints.

  2. Assign tunnel source and destination IP addresses—these must be reachable over the network.

  3. Configure the tunnel interface with an internal IP address for routing within the GRE tunnel.

  4. Establish routing protocols or static routes over the tunnel to direct desired traffic through it.

  5. Adjust MTU and MSS settings to avoid fragmentation or dropped packets.

  6. Verify tunnel status and connectivity using diagnostic tools such as ping or traceroute.

Once configured correctly, the two endpoints will treat the GRE tunnel as a direct link, regardless of the intermediate network complexity.

Common GRE Tunnel Design Scenarios

Point-to-Point Site Connection

This is one of the most basic and common uses of GRE tunneling. A headquarters router establishes a GRE tunnel with a remote branch router. Inside the tunnel, internal routing protocols like OSPF or RIP operate as though the two locations were directly connected.

This setup allows seamless integration of the branch network with the core, supporting everything from file sharing to VoIP and remote management.

GRE over IPsec VPN

GRE tunnels can be protected using IPsec encryption. This combination is popular when both security and protocol flexibility are needed. For example, a company may use GRE to support dynamic routing and multicast traffic, while IPsec ensures the traffic remains encrypted and secure as it passes over the public internet.

This model is common in service provider backbones, government networks, and remote worker VPNs.

Hub-and-Spoke Topology

A centralized router (hub) connects to multiple branch routers (spokes) using individual GRE tunnels. This design provides centralized control and simplifies configuration compared to full mesh designs.

Although each spoke is not directly connected to others, communication can still be routed through the hub, enabling controlled inter-branch communication.

GRE for Cloud Connectivity

Many cloud providers don’t support customer-managed routing protocols or multicast. GRE tunnels allow enterprises to extend their internal network architectures into the cloud using dynamic routing over IP.

This setup enables hybrid cloud environments, where internal data centers and cloud workloads are integrated via GRE tunnels.

Monitoring and Managing GRE Tunnels

Like any other part of the network, GRE tunnels require ongoing monitoring to ensure performance and reliability. Proper management helps detect issues early, reduce downtime, and improve efficiency.

Performance Monitoring

Track latency, jitter, and packet loss across the GRE tunnel to detect congestion or underlying network problems. Performance drops may signal that the tunnel path is no longer optimal or that the underlying network is experiencing issues.

Tunnel Status

Most network devices provide a tunnel interface status indicator. Monitor whether the tunnel is up or down. A sudden change can point to routing issues, dropped GRE traffic, or endpoint misconfiguration.

Routing Verification

Regularly verify that routing tables reflect the intended path for tunneled traffic. In dynamic routing scenarios, ensure that routes are being learned correctly through the tunnel.

Packet Capture and Analysis

Packet capture tools can inspect GRE packets to ensure proper encapsulation and routing. This can help diagnose issues like asymmetric routing, dropped packets, or misrouted traffic.

Logging and Alerts

Configure logging to detect abnormal tunnel behavior, such as frequent flapping or high error rates. Automated alerts can help network teams respond quickly to emerging problems.

Troubleshooting GRE Tunnel Issues

Despite its simplicity, GRE tunnels may sometimes fail to operate as expected. Being familiar with common issues can save significant time during troubleshooting.

Tunnel Interface Down

Check if the source and destination IPs are reachable. GRE requires IP connectivity between endpoints to establish the tunnel. If one end cannot route packets to the other, the tunnel will remain down.

Routing Loops

Improper routing configurations can cause loops, where packets continuously circulate between devices. Verify the routing logic and use route filtering to avoid unwanted paths.

Fragmentation

Exceeding the MTU can result in packet fragmentation, which may be dropped by intermediate devices. Adjust the tunnel’s MTU or use TCP MSS clamping to reduce packet size.

Firewall Blocking

Some firewalls block GRE traffic by default. Confirm that GRE protocol number 47 is allowed between tunnel endpoints.

Asymmetric Routing

If GRE traffic returns along a different path than it took to reach the destination, it may be dropped by security policies or fail due to inconsistent routing. Ensure symmetry where required.

Benefits of Proper GRE Deployment

When correctly deployed and maintained, GRE tunnels provide numerous benefits to organizations:

  • Enable consistent communication across hybrid environments

  • Extend routing and broadcast capabilities beyond local networks

  • Integrate legacy systems with modern infrastructure

  • Facilitate scalable, controlled, and modular network design

  • Support protocol-agnostic communication between disparate sites

Advanced Concepts in GRE Tunneling

GRE tunneling has stood the test of time as a dependable, lightweight solution for encapsulating traffic across IP networks. While earlier discussions covered the basics of GRE and its practical deployment, there’s a more sophisticated side to this technology that often goes overlooked. In enterprise environments or service provider networks, GRE is frequently combined with other tools and protocols to meet evolving demands in performance, security, and scalability.

This article dives into advanced GRE tunneling topics, including integration with IPsec, dynamic tunnel creation, scalability strategies, and the emerging role of GRE in modern networking architectures.

Enhancing GRE with IPsec for Security

One of the most common concerns with GRE is its lack of native security. By itself, GRE provides no encryption, authentication, or data integrity. This makes it unsuitable for environments where sensitive data must be transmitted over untrusted or public networks.

To address this, GRE is often used in conjunction with IPsec. This combination provides the flexibility of GRE with the robust security features of IPsec, including encryption, authentication, and integrity verification.

How GRE Over IPsec Works

When GRE is paired with IPsec, it usually follows this layered process:

  1. The original packet is encapsulated in a GRE header.

  2. That GRE packet is then encrypted and authenticated by IPsec.

  3. The IPsec packet is sent across the network to the other endpoint.

  4. The receiving device decrypts the packet, verifies its integrity, and removes the IPsec header.

  5. The GRE header is then processed, and the original payload is forwarded appropriately.

This dual encapsulation allows organizations to send multiple protocol types securely over a single, encrypted tunnel, enabling support for complex network designs.

Benefits of GRE Over IPsec

  • Encryption and authentication of data

  • Support for multicast, broadcast, and dynamic routing protocols

  • Secure connectivity between remote offices and data centers

  • Ability to carry multiple protocol types securely

  • Compliance with security policies and regulations

Use Case Example

A multinational company with branch offices in various countries may use GRE over IPsec to maintain secure, private communication between sites. Internal routing protocols like OSPF can run over GRE, while IPsec ensures that the data is encrypted over the public internet.

Dynamic GRE Tunnels

In large networks, especially those using dynamic routing protocols or mobile environments, manually creating static GRE tunnels between every pair of routers is inefficient and error-prone. This has led to the development of dynamic GRE tunnel mechanisms.

What Are Dynamic GRE Tunnels?

Dynamic GRE tunnels are automatically created and torn down as needed, based on routing updates or traffic flows. Instead of requiring pre-configured static tunnel definitions, routers can generate tunnels on-demand using protocols like NHRP (Next Hop Resolution Protocol) or mechanisms found in technologies such as DMVPN (Dynamic Multipoint VPN).

Role of NHRP in Dynamic Tunneling

NHRP allows tunnel endpoints to discover each other dynamically. When a router needs to send traffic to another node in the network, it queries a central hub or registry to determine the destination’s IP address. Once found, a tunnel is established automatically.

This allows for:

  • Reduction in configuration complexity

  • Dynamic scalability across hundreds of sites

  • Lower operational overhead

  • Efficient use of network resources

Dynamic Multipoint VPN (DMVPN)

DMVPN is a widely used technology that utilizes dynamic GRE tunnels and IPsec to build scalable, secure networks. It enables:

  • Automatic GRE tunnel creation

  • Secure IPsec encryption

  • Dynamic routing protocol support

  • Hub-and-spoke and spoke-to-spoke communication

Organizations that require flexibility, mobility, or remote worker support often turn to DMVPN to handle complex communication needs without the overhead of static tunnel configurations.

GRE and Network Scalability

As network environments grow, maintaining and scaling GRE tunnels can become a challenge. A few strategies help overcome these challenges:

Use of Multipoint GRE (mGRE)

Traditional GRE tunnels are point-to-point, requiring a separate configuration for each connection. Multipoint GRE (mGRE) allows a single tunnel interface to support multiple endpoints. This reduces configuration complexity and allows more flexible topologies like hub-and-spoke or partial mesh.

Simplified Routing with Tunnel Interfaces

Instead of configuring routes for each tunnel individually, network engineers can use routing protocols over tunnel interfaces. This allows automatic route advertisement and convergence, supporting changes in network topology without manual updates.

Monitoring and Automation

Monitoring tools that integrate with GRE tunnels help detect outages, performance drops, and misconfigurations quickly. Network automation frameworks can dynamically update tunnel configurations based on changing network demands, further improving scalability.

Load Balancing Across Tunnels

Traffic can be distributed across multiple GRE tunnels for redundancy and improved performance. With proper routing metrics or policy-based routing, organizations can balance load across different paths while maintaining session integrity.

Performance Optimization for GRE Tunnels

As networks demand higher throughput, latency-sensitive applications, and real-time services, GRE tunnels must be optimized to perform efficiently.

Adjusting MTU and MSS

Because GRE adds header overhead, it’s essential to manage the Maximum Transmission Unit (MTU) and Maximum Segment Size (MSS). Fragmentation can degrade performance or lead to packet drops. Setting appropriate MSS clamp values and MTU sizes prevents issues, especially when tunneling over networks with strict size limits.

Quality of Service (QoS) Integration

GRE traffic can be marked for Quality of Service to prioritize latency-sensitive applications like voice or video. QoS policies can be applied before encapsulation so that the outer packet preserves traffic class information. This ensures proper treatment across the tunnel path.

Hardware Acceleration

On high-performance routers and firewalls, GRE processing can be offloaded to hardware. This allows packets to be encapsulated and decapsulated at line rate, significantly improving throughput and reducing CPU usage.

Packet Inspection Considerations

While GRE packets are often opaque to intermediate devices, some network security tools may struggle with inspecting tunneled traffic. Deep packet inspection (DPI) tools must be GRE-aware or placed at tunnel endpoints to provide meaningful analysis and control.

GRE and Modern Network Architectures

With the rise of cloud computing, hybrid environments, and software-defined networking, GRE continues to evolve and find new applications.

GRE in Hybrid Cloud

Enterprises use GRE tunnels to connect on-premises networks with cloud environments. While some cloud providers limit GRE support, others offer virtual appliances or gateways that support GRE termination, allowing hybrid connectivity that supports dynamic routing and legacy protocol encapsulation.

GRE in SD-WAN

Some SD-WAN platforms use GRE tunnels to create virtual overlay networks across the WAN. These overlays allow centralized policy control, application-level routing, and real-time traffic steering. GRE provides the transport foundation, while the SD-WAN controller manages orchestration.

GRE in Containerized and Virtual Environments

Virtual routers, container-based firewalls, and network function virtualization (NFV) platforms often support GRE tunneling. This allows scalable, software-based routing and encapsulation without requiring dedicated hardware.

For example, virtual GRE tunnels can connect containers in different data centers, creating seamless networks for microservices communication or distributed processing.

Limitations and Considerations in Advanced GRE Use

Even in advanced scenarios, GRE tunneling comes with inherent limitations that must be managed effectively.

No Built-In Redundancy

GRE tunnels, unless configured with failover mechanisms, may be single points of failure. Use of dynamic routing, high availability features, or SD-WAN controllers can mitigate this issue.

Troubleshooting Complexity

As GRE tunnels become more dynamic and distributed, troubleshooting becomes more complex. Misconfigured routing, asymmetric paths, or encrypted traffic can make it difficult to trace problems without visibility tools.

Policy and Compliance Challenges

Tunneled traffic may bypass traditional firewall rules or monitoring tools. Organizations must ensure that tunneled traffic complies with internal security policies and regulatory requirements.

Vendor Compatibility

Although GRE is a widely supported standard, implementation details may vary slightly between vendors. Testing interoperability in lab environments is essential before deploying mixed-vendor GRE tunnels in production.

Future of GRE Tunneling

As networking trends continue to shift, GRE tunneling is adapting to remain relevant. While new technologies such as VXLAN, GENEVE, and LISP offer advanced features for virtual networks, GRE remains favored for its simplicity, transparency, and wide support.

Future trends where GRE may continue to evolve include:

  • Integration with network automation and orchestration platforms

  • Enhanced performance through programmable data planes

  • Use in container networking and edge computing

  • GRE gateways in zero trust architectures

  • Simplified GRE setup via cloud-based tools and APIs

While newer tunneling technologies may take center stage in specific use cases, GRE’s role as a foundational, low-overhead encapsulation tool ensures its continued presence in modern networks.

Summary

GRE tunneling has matured into a highly versatile tool, used in everything from site-to-site communication to complex SD-WAN and hybrid cloud architectures. When paired with IPsec, GRE enables secure, scalable connections for a broad range of traffic types. With support for dynamic tunnels, routing protocols, and high-performance transport, it remains relevant even in cutting-edge networking environments.

This final installment explored the advanced applications of GRE, how to integrate it securely, and how to scale it efficiently in enterprise-grade networks. From simple virtual links to dynamic overlay networks, GRE continues to prove its worth as one of the most adaptable and powerful tunneling technologies in the networking world.