SecureBySujit Logo

Tunnel 1.0 vs Z-Tunnel 2.0: Transport Schematic & Protocol Simulator

Two forwarding mechanisms inside Zscaler Client Connector (ZCC). One is a narrow, HTTP CONNECT proxy pipe inherited from legacy secure web gateways. The other is a high-speed DTLS/TLS packet tunnel engineered to carry every port and protocol. The shape of the transport pipe defines everything.

When rolling out Zscaler Internet Access (ZIA) across global endpoints, enterprise security architects must make a fundamental transport decision inside Zscaler Client Connector: Forwarding Profile Mode. Understanding the mechanical differences between Tunnel 1.0 and Z-Tunnel 2.0 is essential for optimizing VoIP quality, preventing head-of-line blocking, securing non-web developer traffic, and avoiding silent connection drops.

πŸ›‘οΈ Interactive Simulator

Zscaler Tunnel 1.0 vs Z-Tunnel 2.0 Transport Workbench

Live packet cross-section, step-by-step handshake tracing, and protocol compatibility test bench

FIG. 1 — TRANSPORT CROSS-SECTION: CLIENT → ZSCALER SERVICE EDGE SCALE N.T.S.
Carried by Tunnel 1.0 (Web Only: 80/443)
Carried by Z-Tunnel 2.0 (All Ports & Protocols)
Rejected — sent direct or blocked locally
// 01What Each Tunnel Actually Is

Both are client forwarding mechanisms inside Zscaler Client Connector (ZCC). The selection is governed per Forwarding Profile in the Zscaler admin console. A single endpoint dynamically selects its profile based on trusted network detection (Trusted Network vs Off-Trusted Network).

80/443
TUNNEL 1.0 PORTS
ALL
Z-TUNNEL 2.0 PORTS
443
DTLS / TLS WIRE PORT
2.0 → 1.0
FALLBACK DIRECTION
1.0
Tunnel 1.0
CONNECT-BASED PROXY TUNNEL
Forward proxy architecture over TCP/443
Forwards traffic to the Zscaler cloud using HTTP CONNECT requests — the same mechanism browsers use to speak to a web proxy. It only forwards proxy-aware web traffic or traffic directed to ports 80/443. All other protocols fall outside its awareness.
Traffic ScopeHTTP / HTTPS only
EncapsulationHTTP CONNECT over TCP/443
Non-web (SSH, ICMP)Direct, or blocked locally
Kernel DriverWFP / NetworkExtension driver
Primary RoleLegacy / TWLP fallback
2.0
Z-Tunnel 2.0
DTLS / TLS PACKET TUNNEL
True Layer 3/4 packet tunnel
Wraps IP packets inside DTLS over UDP/443 (falling back to TLS over TCP/443 if UDP is blocked) and transports the payload directly to the Zscaler Service Edge. It encapsulates below the application layer, carrying HTTP, DNS, SSH, RDP, or VoIP streams effortlessly.
Traffic ScopeAll ports & protocols
EncapsulationDTLS (UDP/443) · TLS fallback
Non-web (SSH, ICMP)Tunneled & inspected
Kernel DriverWFP / NetworkExtension driver
Primary RoleRecommended default baseline
AttributeTunnel 1.0Z-Tunnel 2.0
Transport ModelForward proxy — HTTP CONNECT methodEncapsulated packet tunnel — DTLS / TLS
Traffic ScopeProxy-aware or ports 80/443 onlyAll IP protocols (TCP, UDP, ICMP) across all ports
Underlying TransportTCP (HTTP CONNECT over TCP/443)UDP/443 for DTLS; TCP/443 automatic fallback for TLS
DNS HandlingNot tunneled — resolved locally via endpoint DNSTunneled to Zscaler for configured domain inclusions
Minimum ZCC VersionAny supported releaseZscaler Client Connector 2.0.1 or later
NAT RequirementStandard dynamic NAT tolerantConsistent public IP per endpoint recommended
Fallback BehaviorTerminal — baseline fallback targetAutomatically drops to Tunnel 1.0 if session fails
Zscaler Best PracticeLegacy compatibility & VPN coexistence (TWLP)Recommended default standard for all modern deployments
// 02Tunnel 1.0 — Request Transport Trace

Walk through an enterprise flow: an employee opens an internal reporting portal over HTTPS, and then opens a terminal to SSH into a Linux server. Observe how Tunnel 1.0 treats the two requests.

—
PRESS PLAY TO BEGIN
Tunnel 1.0 — CONNECT-based forwarding
A finance analyst opens an internal reporting tool over HTTPS, then attempts to SSH into a server on port 22. Watch how Tunnel 1.0 treats the two connections.
scenario: "HTTPS request, then an SSH attempt, same laptop"
forwarding_profile: Tunnel mode — Z-Tunnel 1.0 selected
driver: Packet filter driver active
FRAMING
HTTP CONNECT Proxy Semantics
Tunnel 1.0 establishes sessions with Zscaler using standard proxy handshakes. For every outbound HTTPS socket, ZCC sends an HTTP CONNECT method specifying destination FQDN:443, making it transparent to upstream enterprise proxies.
SCOPE
Web-Only Boundaries
Only traffic directed to ports 80/443 or matching proxy-aware browser sockets can be processed. Raw UDP streams, ICMP pings, SSH terminal sessions, or LDAP queries cannot be wrapped in an HTTP CONNECT request.
DRIVER
Kernel Interception
ZCC installs a Windows Filtering Platform (WFP) driver on Windows or NetworkExtension on macOS. The driver intercepts the initial SYN packet before it leaves the host stack and redirects it into the local ZCC daemon.
INTEROP
Tunnel With Local Proxy (TWLP)
Tunnel 1.0 powers TWLP mode, enabling ZCC to coexist cleanly alongside third-party legacy VPN clients (such as Cisco AnyConnect or Palo Alto GlobalProtect) without routing table collisions.
⚠️ When to Retain Tunnel 1.0 in Production
Tunnel 1.0 remains essential in hybrid enterprise setups where a third-party full-tunnel VPN must remain active on the endpoint, environments traversing upstream web proxies that block outbound UDP/443, and as the automatic fallback path when Z-Tunnel 2.0 cannot establish.
// 03Z-Tunnel 2.0 — Request Transport Trace

The same two requests — HTTPS to reporting dashboard, then SSH to a build server — transported over a modern DTLS/TLS packet tunnel. Notice how protocol identity ceases to be a barrier.

—
PRESS PLAY TO BEGIN
Z-Tunnel 2.0 — DTLS/TLS packet tunnel
Same analyst, same endpoint, now protected by Z-Tunnel 2.0. Watch the SSH connection succeed through Zscaler — because the tunnel transports raw IP packets regardless of protocol.
scenario: "HTTPS request, then an SSH attempt, same laptop"
forwarding_profile: Tunnel mode — Z-Tunnel 2.0 selected
zcc_version: 2.0.1 or later (required)
FRAMING
DTLS (UDP/443) with TLS Fallback
Z-Tunnel 2.0 wraps packets in Datagram Transport Layer Security (DTLS) carried over UDP port 443. If an upstream network blocks UDP, ZCC automatically falls back to TLS over TCP/443 on the same destination port.
SCOPE
All Ports, Protocols & ICMP
Because encapsulation occurs below the application layer, the tunnel handles TCP, UDP, and ICMP seamlessly. Enterprise Cloud Firewall policies can inspect and filter non-web traffic in the cloud.
NAT REQUIREMENT
Single Stable Public IP
Z-Tunnel 2.0 requires the endpoint's control and data channels to share a consistent public source IP. If an enterprise egress firewall rotates IP addresses across a dynamic NAT pool, the tunnel fails to establish.
ISP SENSITIVITY
UDP Deprioritization Handling
Certain consumer ISPs and hotel Wi-Fi networks throttle UDP. In these environments, administrators can set the primary transport protocol in the forwarding profile to TLS (TCP) rather than DTLS.
πŸ’‘ Diagnostic Indicator
In ZCC diagnostic logs, TUNNEL_FORWARDING indicates a healthy, active packet tunnel. Recurring SERVER_DOWN_ERROR states point to NAT source IP rotation, asymmetric routing, or an upstream firewall dropping UDP/443.
// 04Protocol Compatibility Simulator

Select an enterprise traffic protocol below to test its traversal across both transport mechanisms simultaneously. Observe how packets are handled at the client boundary.

Tunnel 1.0
Select a protocol above to test Tunnel 1.0 traversal.
Z-Tunnel 2.0
Select a protocol above to test Z-Tunnel 2.0 traversal.
// 05Complete Technical Comparison Matrix
Architectural DimensionTunnel 1.0Z-Tunnel 2.0
Core ParadigmLayer 7 HTTP Forward Proxy ChainingLayer 3/4 Encapsulated Packet Tunnel
Packet InterceptionInspects port 80/443; builds CONNECT requestCaptures raw IP packets; wraps in DTLS/TLS
Wire TransportTCP/443 exclusivelyDTLS over UDP/443 (TLS over TCP/443 fallback)
Head-of-Line BlockingSubject to TCP-in-TCP retransmission amplificationDTLS avoids inner TCP retransmission stalls
DNS Leak ProtectionLow — local OS resolver handles lookups directHigh — configured domains route through tunnel DNS
Cloud Firewall InspectionWeb-only (Cloud Sandbox & SWG policies)Full ZIA Cloud Firewall (ports, protocols, App-ID)
MTU OverheadStandard TCP stream segmentationOuter DTLS header adds 28-40 bytes overhead
NAT TraversalResilient to multi-IP dynamic NAT poolsRequires stable public IP across control and data planes
Recommended RoleFallback and legacy third-party VPN environmentsPrimary standard for all new enterprise rollouts
// 06Phased Enterprise Migration Framework

Transitioning an enterprise fleet from Tunnel 1.0 to Z-Tunnel 2.0 should follow a structured, ring-based rollout. Because ZCC contains built-in fallback logic, migration carries near-zero downtime risk.

01
Configure a Dedicated Pilot Forwarding Profile
Leave the global default profile unchanged. Create a new Forwarding Profile named Z-Tunnel-2.0-Pilot. Select Z-Tunnel 2.0 as the forwarding mechanism with DTLS primary and TLS fallback.
02
Construct a High-Priority Pilot App Profile
Create an App Profile ordered higher (Rule Order 1) than production profiles. Attach the new pilot Forwarding Profile and scope membership strictly to an IT / Security pilot Active Directory group.
03
Verify Client Connector Version Baseline
Ensure all endpoints in the pilot group run ZCC 2.0.1 or higher (ideally latest stable 4.x). Update older clients prior to profile assignment to prevent fallback.
04
Execute Telemetry Validation & Health Checks
Confirm client logs indicate TUNNEL_FORWARDING. Validate that enterprise perimeter NAT devices assign a consistent external IP per client. Test non-web traffic through ZIA Cloud Firewall.
05
Expand Deployment Waves Organically
Gradually expand the App Profile group criteria across business units, branch offices, and regional clusters. Once 95%+ of endpoints are confirmed stable, promote Z-Tunnel 2.0 to the global default profile.
The Built-In Safety Net: If Z-Tunnel 2.0 fails to establish a DTLS or TLS session — typically due to an upstream hotel captive portal, strict enterprise egress blocking, or NAT IP churning — ZCC automatically falls back to Tunnel 1.0. Users maintain secure web connectivity while administrators troubleshoot the underlying network blockage.
// 07Operational Troubleshooting Matrix
Diagnostic SymptomUnderlying Root CauseRemediation Procedure
Client shows Tunnel 1.0 despite Z-Tunnel 2.0 ProfileEgress NAT device uses dynamic multi-IP poolConfigure firewall NAT rule for persistent 1-to-1 IP binding per client IP
Intermittent latency spikes or packet drops on DTLSUpstream ISP or hotel Wi-Fi throttles UDP/443Switch Forwarding Profile primary transport from DTLS to TLS (TCP/443)
Repeated SERVER_DOWN_ERROR in ZCC LogsFirewall drops outbound UDP/443 handshakePermit outbound UDP/443 to Zscaler Cloud IP ranges; check TLS fallback
Internal DNS names fail to resolve on endpointDomain not listed in App Profile inclusionsAdd internal domains to ZCC App Profile Domain Inclusions for local split-DNS
Fragmentation and retransmission on jumbo packetsTunnel overhead (28-40B) exceeds network MTUConfigure Path MTU Discovery (PMTUD) or set ZCC tunnel MTU to 1360 bytes

The Packet Filter Driver & OS Interception Mechanics

A common misconception among network engineers is that choosing Tunnel 1.0 bypasses kernel-level packet inspection in favor of simple browser proxy settings. In reality, modern Zscaler Client Connector deployments rely on a dedicated kernel-mode packet filter driver regardless of whether Tunnel 1.0 or Z-Tunnel 2.0 is selected.

On Microsoft Windows, ZCC installs a lightweight callout driver integrated into the Windows Filtering Platform (WFP). At the FWPM_LAYER_ALE_AUTH_CONNECT_V4 and FWPM_LAYER_ALE_AUTH_CONNECT_V6 layers, the driver evaluates outbound connection requests the moment an application issues a connect() system call.

  • In Tunnel 1.0 Mode: The WFP driver intercepts outbound TCP connections destined for ports 80 and 443. It proxies the connection into the local ZCC listening service (127.0.0.1:9000 series). The local daemon synthesizes an HTTP CONNECT framing request and forwards it across an established TCP socket to the nearest Zscaler Service Edge. Non-web packets (UDP, ICMP, SSH) bypass the local proxy daemon and egress directly.
  • In Z-Tunnel 2.0 Mode: The driver captures all outbound IP packets matching the forwarding profile scope at Layer 3/4. Instead of proxying the connection via HTTP methods, the driver encapsulates raw IP payloads into a DTLS (or TLS) tunnel established with the Zscaler Cloud. The Service Edge unwraps the outer encapsulation, reconstructs the original IP packet, and executes policy evaluation.

The "TCP-in-TCP" Meltdown Problem

Tunnel 1.0 relies strictly on TCP as its underlying transport (HTTP CONNECT over TCP/443). When users transmit data over TCP inside a tunnel that itself runs over TCP, the connection becomes vulnerable to TCP Meltdown (also known as TCP-in-TCP head-of-line blocking amplification).

In lossy network environments (such as cellular hotspots, in-flight Wi-Fi, or congested home broadband), a single dropped packet causes the outer TCP connection to hold delivery while waiting for retransmission. Simultaneously, the inner application TCP stack detects a delay and triggers its own retransmission timers. This compounded retransmission storm saturates network bandwidth and causes severe latency spikes.

Why DTLS (Datagram TLS over UDP/443) Solves Head-of-Line Blocking

Z-Tunnel 2.0 uses DTLS (RFC 6347) running over UDP port 443. Because UDP is connectionless and does not enforce ordered byte delivery at the transport layer, a dropped packet affecting an SSH stream or web download does not stall unrelated streams traveling through the same tunnel. The inner application protocols manage their own packet loss recovery independently.

# Wire Transport Overhead Comparison Tunnel 1.0: [IP Header (20B)] [TCP Header (20B)] [HTTP CONNECT Payload] [Inner TLS] [Data] Z-Tunnel 2.0: [IP Header (20B)] [UDP Header (8B)] [DTLS Record (13B)] [Raw Inner IP Packet]

DNS Handling: Local Resolution vs. Cloud Tunneling

The handling of Domain Name System (DNS) queries represents one of the most critical operational differences between Tunnel 1.0 and Z-Tunnel 2.0.

In Tunnel 1.0: DNS queries are not tunneled. When a user requests https://internal-app.corp.local, the client operating system queries its locally configured DNS server (typically provided via DHCP by the local router or Wi-Fi hotspot). This creates two major challenges:

  1. DNS Leakage: Local network providers, ISPs, and malicious actors on public networks can observe plaintext DNS requests, exposing corporate browsing destinations.
  2. Split-Brain Resolution Failures: If an organization uses private DNS namespaces without direct external resolution, Tunnel 1.0 cannot resolve the target IP address to initiate the synthetic CONNECT handshake.

In Z-Tunnel 2.0: DNS traffic can be selectively intercepted and routed through the DTLS tunnel directly to Zscaler Service Edges. Administrators configure Domain Inclusions in the ZCC App Profile. Queries matching these enterprise domains are carried across the tunnel and evaluated against Zscaler DNS Control policies, enabling malware domain blocking, EDNS client subnet (ECS) injection, and complete protection against local DNS tampering.

NAT Consistency, PMTUD & Tunnel MTU Tuning

When deploying Z-Tunnel 2.0 in corporate campus environments, network security teams frequently encounter two infrastructure prerequisites: NAT source IP persistence and Maximum Transmission Unit (MTU) clamping.

1. NAT IP Consistency Requirement

Z-Tunnel 2.0 establishes two concurrent sessions with the Zscaler Cloud: a control channel (used for health monitoring, keep-alives, and policy synchronization) and a data channel (carrying encapsulated DTLS traffic). If the enterprise perimeter firewall performs dynamic Port Address Translation (PAT) utilizing a round-robin pool of public IP addresses, the control channel and data channel can egress from different public IPs. The Zscaler Service Edge detects this mismatch and rejects the session as a security anomaly, forcing ZCC to drop back to Tunnel 1.0.

✓ Best Practice: Configure perimeter firewalls to enforce "Sticky NAT" or persistent 1-to-1 IP mapping per internal client IP when targeting Zscaler cloud ranges.

2. Tunnel MTU Clamping & Fragmentation

Encapsulating an IP packet inside an outer UDP and DTLS header adds between 28 and 40 bytes of overhead. If the client attempts to transmit a 1500-byte Ethernet packet, the total encapsulated frame exceeds the standard 1500-byte MTU of the underlying physical network. If intermediate routers drop packets with the DF (Don't Fragment) bit set, the connection experiences silent stall behavior.

ZCC addresses this using Path MTU Discovery (PMTUD). In environments where ICMP fragmentation-needed messages are blocked by intermediate firewalls, administrators should explicitly configure the Tunnel MTU in the Forwarding Profile to 1360 bytes, ensuring safe transmission across PPPoE, cellular, and VPN underlays.

Configuring Forwarding & App Profiles in the Zscaler Portal

In the Zscaler Client Connector Portal (mobile.zscaler.net), tunnel behavior is governed by two interacting policy tiers:

Zscaler Admin Console → Administration → Client Connector Portal └── Forwarding Profiles: Defines the transport mechanism (Tunnel 1.0 vs 2.0), │ protocol preference (DTLS vs TLS), MTU size, and network detection rules. │ └── App Profiles: Defines user/group entitlements, PAC file bindings, domain exclusions/inclusions, and attaches the specific Forwarding Profile.

To verify client operating status directly on an endpoint, inspect the local runtime log file:

# Windows Diagnostic Log Path C:\ProgramData\Zscaler\ZSATunnel.log # Look for active forwarding state string [INFO] Tunnel state changed to: TUNNEL_FORWARDING (Transport: DTLS)

Production Migration Checklist

Before migrating your entire enterprise fleet to Z-Tunnel 2.0, ensure all perimeter and endpoint conditions satisfy this verification checklist:

  • Outbound Egress Access: UDP port 443 and TCP port 443 are explicitly permitted outbound to all published Zscaler IP ranges.
  • Perimeter NAT Architecture: Public IP persistence is enabled across outbound sessions originating from the same internal client.
  • Endpoint Agent Baseline: All Windows and macOS devices run Zscaler Client Connector 2.0.1 or higher.
  • DNS Scope Verification: Private and split-DNS domains are accurately enumerated in App Profile Domain Inclusions.
  • Firewall SSL Decryption Bypass: Perimeter Next-Gen Firewalls (Palo Alto, Fortinet) are configured to bypass TLS/DTLS decryption for traffic destined to Zscaler cloud infrastructure.
Article link copied!