Windows 95 Dial-Up: PPP vs SLIP Protocols

Windows 95 revolutionized home internet access by introducing a fully integrated 32-bit TCP/IP stack and Dial-Up Networking (DUN), eliminating the need for third-party connection software. To bridge analog telephone lines with packet-switched networks, the operating system supported two primary data link layer protocols: Point-to-Point Protocol (PPP) and Serial Line Internet Protocol (SLIP). While Windows 95 treated PPP as its modern, highly automated standard, it relegated SLIP to an optional legacy fallback requiring manual intervention and scripted configuration.

The Role of Windows 95 Dial-Up Networking

Before Windows 95, connecting a Windows PC to an ISP usually required a separate packet driver, a third-party dialer like Trumpet Winsock, and complex manual routing commands. Windows 95 centralized this functionality within Dial-Up Networking (DUN), an integrated component built on the Telephony API (TAPI) and the Network Device Interface Specification (NDIS).

DUN encapsulated network-layer packets (primarily TCP/IP, though IPX/SPX and NetBEUI were also supported) inside serial framing protocols before sending them through a hardware modem. When configuring a connection profile, the operating system allowed users to choose the framing protocol that matched their provider's remote access server: PPP or SLIP.

Point-to-Point Protocol (PPP) Implementation

PPP was the default and heavily favored protocol in Windows 95. Designed by the Internet Engineering Task Force (IETF) to replace older serial protocols, PPP was built for dynamic negotiation, security, and protocol independence.

  • Automated IP Negotiation: PPP integrated Network Control Protocols (specifically IPCP, the Internet Protocol Control Protocol). When Windows 95 negotiated a connection, IPCP automatically assigned the client an IP address, subnet mask, default gateway, and primary/secondary DNS server addresses from the ISP pool without user intervention.
  • Integrated Authentication: PPP supported native authentication protocols, including Password Authentication Protocol (PAP) and Challenge Handshake Authentication Protocol (CHAP). Windows 95 used these protocols to send credentials directly within the handshake phase, passing the user’s dialer-entered username and password securely to the remote server.
  • Error Detection and Link Configuration: Through the Link Control Protocol (LCP), Windows 95 could negotiate packet size (Maximum Transmission Unit or MTU), test line quality, detect transmission loops, and discard corrupted frames using a 16-bit Frame Check Sequence (FCS).
  • Multi-Protocol Support: Windows 95 could run multiple network architectures simultaneously over a single PPP dial-up link, allowing a user to access an Internet TCP/IP host and a remote Novell NetWare IPX network on the same connection.

Serial Line Internet Protocol (SLIP) Implementation

SLIP was a much simpler, legacy standard developed in the 1980s for Unix environments. It simply defined an end-of-frame byte (often with character escaping) to package IP packets over a serial line. Windows 95 supported standard SLIP as well as Compressed SLIP (CSLIP), which used Van Jacobson header compression to reduce the 40-byte IP/TCP header down to a few bytes over low-bandwidth modems.

  • Optional Installation: Unlike PPP, SLIP was not installed by default in the initial retail release of Windows 95. Users had to install it manually from the installation CD under the \Admin\Apptools\Dsktmsvr directory by adding it as a protocol or network service.
  • Manual Network Configuration: SLIP lacked a negotiation sub-protocol like IPCP. Windows 95 could not automatically request an IP address or DNS servers over SLIP. The user had to enter a static IP address directly into the connection properties or configure a script to capture the dynamic address assigned by the ISP terminal.
  • Authentication and Scripting: SLIP did not support native authentication handshakes like PAP or CHAP. To log in to an ISP using SLIP, Windows 95 relied on an interactive terminal window where the user manually typed their credentials into the ISP's Unix login prompt, or the Windows 95 Dial-Up Scripting Tool (which ran .scp automation scripts) to detect text prompts and submit the username and password automatically.
  • Lack of Error Detection: SLIP provided no frame-level error checking. If noise on the telephone line corrupted a packet, Windows 95 could not detect it at the framing level; the packet had to travel up the stack to higher-level protocols like TCP to be identified as corrupt and retransmitted, resulting in higher latency and connection overhead.

Architectural Comparison in Windows 95

Feature Point-to-Point Protocol (PPP) Serial Line Internet Protocol (SLIP / CSLIP)
OS Availability Built-in by default Optional CD add-on in early releases
IP Assignment Automatic via IPCP Manual entry or extracted via terminal/script
Authentication Automatic (PAP / CHAP) Interactive terminal or Dial-Up Scripting tool
Header Compression Negotiated via LCP Supported via CSLIP mode
Error Checking Yes (16-bit FCS per frame) None (delegated entirely to TCP)
Supported Stacks TCP/IP, IPX/SPX, NetBEUI TCP/IP only

Windows 95’s native handling of PPP streamlined the dial-up experience into a "click-and-connect" process, establishing the consumer-friendly standard for Internet adoption in the late 1990s, while its SLIP implementation remained an austere, backward-compatible bridge for older university and Unix-centric networks.