How Connectify Dispatch Works
Connectify Dispatch takes control of your PC’s Internet connectivity to look at every packet going into and out of your computer. When the packet is intercepted, Connectify Dispatch is able to route it to a desired network adapter. Using proprietary algorithms, Connectify Dispatch is able to determine the best physical adapter to use, and depending on user settings, Dispatch spreads your Internet traffic across available adapters to optimize your experience. The Dispatch user interface works hand-in-hand with this cloaked, low-level networking horsepower to provide load balancing and Internet speed acceleration.
At its core, Connectify Dispatch is built on a patent-pending Reverse Network Address Translation (RNAT) technology. Dispatch allows you to use multiple Internet connections at the same time by load balancing client connections across multiple Internet connections, without any server-side component. Every time a program on your computer (or on a computer connected to your Connectify Hotspot network) creates a new network socket, Dispatch jumps in and makes a decision about how to handle that socket.
As it is done on the client side, each socket is assigned to one of the Internet connections at creation time, and cannot be migrated to another connection. Socket assignment cannot change because the resource connected at the destination would see the IP address change, invalidating the socket. This particular implementation provides potential benefits over a single connection as loads can be distributed.
Connectify Dispatch watches every Internet connection on your computer and continually gathers metrics to quantify the quality of the connection along three pillars of network performance: throughput, reliability, and latency. Based on these metrics, as well as interface priorities set by the user, the rules-based routing engine determines which connection is the best one for each socket.
Once Connectify Dispatch has decided which Internet connection a socket should “live on”, it passes the stream of data to its Reverse NAT. The reverse NAT maintains a network address translation (NAT) table in memory, tracking which local socket has been mapped to each outgoing socket, and what connection that is going out on. As each packet goes through the system, Connectify Dispatch’s network filter driver uses this NAT table to change the headers on the packet, and then direct it out the appropriate network interface.