How Windows 95 Dial-Up Auto-Dialing Worked

Windows 95 revolutionized home internet access by bridging the gap between local applications and remote dial-up connections through an integrated feature known as AutoDial. By hooking the operating system's networking protocols directly into the browser workflow, Windows 95 could detect when a user attempted to load a web page without an active connection, automatically engage the modem, dial the user's Internet Service Provider (ISP), and fulfill the web request without requiring manual pre-connection steps.

The foundation of this automation was the Windows Sockets interface, commonly implemented as WINSOCK.DLL. When a user opened a web browser such as Netscape Navigator or Internet Explorer and entered a URL, the application issued standard Winsock API calls, such as gethostbyname() for DNS resolution or connect() to establish a remote TCP socket.

Because Windows 95 was designed to support multiple network adapters simultaneously, Winsock checked the local routing table to determine how to reach the requested IP address. If no active network interface—such as an Ethernet card or an already-connected modem—provided a route to the outside address, the socket call would normally fail.

To prevent these failures, Microsoft implemented the AutoDial feature within its Dial-Up Networking (DUN) subsystem. When an unroutable socket request occurred, a hook inside Winsock intercepted the failure and checked whether the system had an active default Dial-Up Networking profile.

If AutoDial was enabled in the Windows Internet Settings, Winsock paused the application's network thread rather than returning an immediate connection error. In the background, the operating system invoked the Remote Network Access process (RNAAPP.EXE), which presented the user with the standard "Connect To" dialog box.

Once the user confirmed the connection (or if the system was configured to dial automatically without confirmation), Windows 95 sent AT commands to the modem to dial the ISP's phone number. During this handshake, the modem established the physical link, negotiated line speeds, and authenticated via Point-to-Point Protocol (PPP) or Serial Line Internet Protocol (SLIP).

After the ISP assigned an IP address, gateway, and DNS servers, the Dial-Up Networking adapter registered as an active interface in the routing table. Winsock then released the paused network request, allowing the browser to resolve the domain name and retrieve the web page seamlessly.