MachTen PPP (Point-to-Point Protocol) provides a serial interface between
remote Internet Packet routers and a local MachTen system. The result is
a local system remotely "attached" to an internet as if it were
locally hosted on that net. The local MachTen system is able to enjoy full
internet TCP/IP capabilities and at the same time operate over what amounts
to a serial line or dial-in communications umbilical link. MachTen PPP is
used to manage packet level communications over that point-to-point data
communications umbilical cord.
PPP client and server implementations are used in pairs at each end of a
point-to-point link to setup, manage and tear down an Internet Protocol
communication link. MachTen PPP contains parameterization for the specification
of Internet Addresses for each end of the serial link, text scripting for
the login and startup of a PPP server on a remote system, and specification
of link integrity packets to signal the absence of PPP operations at the
other end of the link.
MachTen PPP can be configured as either a PPP client or a PPP server. This
document contains step-by-step instructions for setting up a
MachTen
PPP client and a MachTen PPP server.
It presents important information for configuring
MachTen Modems which is possibly the largest problem in setting up a
PPP link. In addition it presents the results of a series of
performance
measurements over different serial and dial-in links so that you may
know what to expect in performance terms from a particular PPP installation.
MachTen PPP Setup
The five steps to creating a PPP link are:
Establish a PPP server with a
PPP username and password. Setup PPP server shell scripting to parameterize
the execution of /usr/libexec/pppd.
Create a communications link between
the local PPP client system and the remote PPP server and setup that link
for character-by-character timesharing on the PPP server system.
Use the TIP program to establish the
link from the PPP client to PPP server. Verify basic character-by-character
connectivity by exercising MachTen timesharing operations.
Setup a PPP client shell script containing
PPP server login text scripting and parameterization for the local /usr/libexec/pppd
when it is executed.
Verify TCP/IP operations with the MachTen ping,
traceroute, netstat
and other standard TCP/IP applications.
Pre-installed equipment or services will make some steps unnecessary.
MachTen PPP Client and Server Operation
The MachTen program /usr/libexec/pppd
functions as either a PPP client or a PPP server. To setup a PPP server
a MachTen timesharing login is setup with a user name and a password. When
a user logs into MachTen as the PPP user, rather than setting up a timesharing
shell, the PPP user is configured to startup the /usr/libexec/pppd program
with appropriate configuration for the fledgeling PPP link.
To contact a pre-configured PPP server, a MachTen PPP client must first
establish some form physical link with a remote system. Typically this is
accomplished with a dial-in modem, but hardwire lines directly connecting
two serial ports, ISDN or Frame Relay data communications links all serve
the purpose of providing character-by-character communications between a
MachTen PPP client system and a PPP server.
Most of the problems that arise in connecting a PPP client and server
are in the initial setup and configuration of the communications link and
in the proper interfacing of that link to a MachTen Macintosh. See
MachTen
Modem Interfacing for common Macintosh-Modem problems and their solutions.
To aid in the testing and setup of a point-to-point link, the MachTen
tip program is often used to establish
a connection over the serial link, to log into the remote system with a
timesharing login and to generally test the link performance in qualitative
terms.
PPP Client Operations
Once the basic link operations have been tested either with TIP or by other
means, the results of those tests can be used to setup a PPP client. The
PPP client is established by running the /usr/libexec/pppd program with
proper parameterization. Typically, this setup is stored in a MachTen shell
script which can be executed from the MachTen command line, from a user
login script or from system level execution scripts. The PPP client setup
contains two parts: a text script to login into the remote system as a PPP
user and parameterization of the /usr/libexec/pppd once the remote login
has been successfully accomplished. To facillitate PPP client setup MachTen
includes a prototype PPP client script /etc/pppclient
which simplifies PPP client execution.
Once the PPP client shell script has been successfully executed, the PPP
link has been established and traditional TCP/IP operations can be directed
to the link. During the testing phase of a PPP link configuration, the MachTen
ping program is often used to bounce ICMP
packets off of remote TCP/IP hosts to pre-flight test the basic connectivity
and routing of the new PPP link. In addition, the traceroute
program can be used to analyze the route packets are taking between two
TCP implementations.
PPP routing is possibly the next most prevalent cause of PPP link failure.
The netstat can be used to isolate PPP packet flow. See PPP
routing and Viewing link statistics
for more information.
Once TCP/IP operations have been tested successfully, the PPP link is operational
and should be used link any other TCP/IP network interface.
PPP Server Operations
PPP servers are the mirror image of their clients. They must be pre-configured
and passive awaiting requests for service. MachTen PPP servers are executed
as the execution program for a special MachTen login. While any login name
may be choosen, typically, the username ppp is choosen as a login to initiate
MachTen PPP service. The end result of a successful PPP login is the execution
of the /etc/pppserver script. This script
is a simplified counterpart of the /etc/pppclient script used to start /usr/libexec/pppd
for MachTen PPP clients.
In addition to pre-configuration of the ppp login, MachTen PPP servers must
pre-condition local communications hardware to accept an inbound connection.
While this may take a number of different forms, many times it requires
the pre-configuration of a modem to accept
incoming phone calls.
Once both communications hardware and ppp login software are configured
properly, testing may begin with a PPP client. Testing may be sensibly organized
to use a pre-tested PPP client with another remote PPP server.