Full tunnel
All eligible traffic is carried through the VPN interface. Simpler to reason about, and usually the default expectation for a consumer-facing connectivity product.
Resources
A technical knowledge hub from Southwest Network Corporation: how VPN products are structured, how each platform exposes VPN functionality, how routing policy is expressed, and where the official documentation lives.
Architecture
The four responsibilities that any VPN product has to place somewhere. Separating them makes the effect of a change predictable.
Desktop, mobile, and router clients that authenticate, fetch configuration, present connection options, and report state.
User, account, and session lifecycle, plus device and client-version registration.
Distribution of client configuration and metadata about available regions and resources, together with plan or subscription state integration.
The data-path layer the client connects to, integrated by region with health metadata and staged configuration rollout.
Connection state and error signals, service health metadata, diagnostics, and update or configuration rollout workflows.
Illustrative architecture · no live data
This is a conceptual VPN product architecture used to explain development scope. It does not disclose Rabbit Fast's internal architecture.
Platforms
What each operating system provides, and what that means for the client work. Each row links to the vendor's own documentation.
Android VpnService
Android exposes VpnService, which lets an application establish a virtual network interface, configure addresses and routes, receive outgoing IP packets, and inject received packets back into the networking stack. App-level allow and deny routing is configured through VpnService.Builder.
Network Extension
Apple platforms provide Personal VPN for the built-in IPsec/IKEv2 configurations and Packet Tunnel Provider for packet-oriented custom protocols. A packet tunnel provider works through a virtual interface and can set included and excluded routes, DNS, a virtual IP, and MTU, including per-app VPN contexts.
Routing policy & profiles
On Windows, an important design choice is split tunnel versus force tunnel. Routing policy decides which traffic uses the VPN interface and which stays on the physical interface, and profile configuration determines how that behaviour is applied.
Tunnel & service integration
Linux work covers tunnel and protocol integration alongside routing table and DNS handling, service lifecycle under the init system in use, and packaging for the distributions a project needs to target.
Configuration-oriented integration
Router work is configuration-oriented rather than application-oriented, and depends on what the target firmware supports. It is scoped per project against the specific device and firmware requirements.
Routing
Full tunnel, split tunnel, include and exclude rules, and per-app strategies where the platform supports them.
All eligible traffic is carried through the VPN interface. Simpler to reason about, and usually the default expectation for a consumer-facing connectivity product.
Selected traffic is carried through the VPN interface while everything else stays on the physical interface. Requires a clear rule set and predictable behaviour when rules do not match.
Route sets decide which destinations are inside the tunnel. Apple's packet tunnel configuration and Windows routing policy both express this as included and excluded routes.
Where the operating system exposes it — for example app allow and deny lists on Android — routing can be scoped per application rather than per destination alone.
Protocols
Common protocol families evaluated in VPN engineering projects, with their official documentation.
A modern VPN tunnel protocol using Cryptokey Routing over UDP transport. Frequently considered where a compact, UDP-oriented tunnel suits the deployment.
wireguard.comA mature open-source VPN platform and protocol family built on SSL/TLS, with flexible client/server deployment and both TCP and UDP tunnelling.
openvpn.netRelevant where using the operating system's built-in VPN configuration is the right fit, for example Apple's Personal VPN path or managed profiles on Windows.
developer.apple.comAn existing protocol or tunnel architecture supplied by the customer can be evaluated and integrated behind the client adapter layer. We do not claim to have authored a proprietary VPN protocol.
Protocol examples describe common VPN engineering options and do not state which protocol Rabbit Fast uses. Protocol selection depends on project requirements, target platforms, deployment environment, and maintenance constraints.
Notes
Short original summaries of the platform and design topics above. No dates, authors, or release notes — these are reference notes, not a blog.
Android exposes VPN functionality through VpnService. An application that holds the required permission can establish a virtual network interface, configure the addresses and routes assigned to it, and then read outgoing IP packets from that interface.
Those packets are what the application exchanges with a remote endpoint through whatever tunnel the product uses; packets received back are written into the interface so the platform networking stack delivers them to the original application.
VpnService.Builder is also where app-level routing is expressed: applications can be allowed or disallowed, which is how per-app routing behaviour is implemented on Android.
Apple platforms provide the Network Extension framework. Two paths matter for product work: Personal VPN, which configures the built-in IPsec/IKEv2 support, and Packet Tunnel Provider, which is used for packet-oriented custom protocols.
A packet tunnel provider works through a virtual interface whose settings the provider supplies: virtual IP, included and excluded routes, DNS configuration, and MTU. Those settings are the routing policy.
Per-app VPN contexts are also part of the framework, which makes app-scoped routing a configuration concern rather than something the tunnel itself has to infer.
On Windows the central design decision is split tunnel versus force tunnel. In a force tunnel arrangement, traffic is directed through the VPN interface; in a split tunnel arrangement only the routes the profile defines go through it, and the rest stays on the physical interface.
Because this is expressed as routing policy and profile configuration, the same product can behave very differently depending on how routes are declared — which is why it is worth deciding explicitly rather than inheriting a default.
Full tunnel carries all eligible traffic through the VPN interface. It is simpler to reason about and easier to support, because there is one answer to the question of where traffic went.
Split tunnel carries only selected traffic and leaves the rest on the physical interface. It needs a clear rule set, a defined fallback when no rule matches, and consistent behaviour across platforms whose APIs express those rules differently.
The data plane is the tunnel itself: the path the packets take. The control plane is everything that decides what the client should do — authentication, account and device state, configuration delivery, the directory of available regions and resources, and plan state.
Keeping the two separate matters in product engineering. Control-plane changes such as adding a region or rolling out a configuration should not require a client release, and a client release should not require a control-plane migration.
A connectivity product is judged by how it behaves when the network misbehaves. Connection state and error reporting, and diagnostics that a support conversation can actually use, are therefore product features rather than internal tooling.
On the delivery side, each platform has its own distribution path, so an automated build and release pipeline plus cross-platform compatibility testing is what keeps a multi-platform product shippable at the same time on every target.
Protocol examples describe common VPN engineering options and do not state which protocol Rabbit Fast uses. Protocol selection depends on project requirements, target platforms, deployment environment, and maintenance constraints.
Technical references
External documentation maintained by the respective platform and protocol projects. Summaries on this page are written independently.
Windows
Protocol families
Reference product
Rabbit Fast is a company-operated multi-platform VPN and connectivity product. Product downloads, plans, and 24/7 online customer support are handled on the product website; the corporate reference page covers what the product demonstrates from an engineering perspective.
Related