Back

PPP Option Negotiation Simulation

The following Java applet simulates the option negotiation automaton described in RFC 1661 for a PPP link between two peers. It uses a simplified PPP implementation that supports a subset of the options that are available in PPP. Authentication is simulated using Password Authentication Protocol (PAP), described in RFC 1334.

The simulation consists of two peers. Below each peer is its current state in the automaton. Clicking on the state name will cause a window to open with a brief description of that state.

The restart timer and restart counter are located above each peer. NR means "Not Running". During authentication, the PAP timer and counter are displayed instead.

Descriptions of the most recent events, and which actions. and state transitions they caused, will be shown above each peer. To pause the simulation so that you can read these, use the Pause Simulation button at the bottom.

In this simulation, there are two types of packets: Link Control Protocol packets, and Password Authentication Protocol packets. Above each packet there will be a bubble describing what type it is, and what its contents are.

Link Control Packet (white) Authenication Packet (blue)

The Up, Down, Open, and Close buttons are used to cause the corresponding external events. A description of each event follows:

Up
Indicates that the lower layer is ready to carry packets.
Down
Indicates that the lower layer is no longer ready to carry packets.
Open
The network administrator (human or software) has indicated that the link is available for traffic.
Close
The network administrator has indicated that the link is not allowed to be open.

Configuration Options will bring up a window where various options can be changed so that different automaton states can be tested. MRU is the Maximum-Receive-Unit (i.e. maximum size of the information field for incoming packets). Require Authentication means that the local host will require the peer to authenticate. Peer ID and Peer Password are the values that will be sent to the remote computer if it requests authentication. Local ID and Local Password are the values that the peer must provide in order to be acknowledged (assuming authentication is required).

Java Source Code


By Don Barnes <don@dbarnes.com>
Based on information in RFC 1661
For CS 555, Fall 1999