285 lines
5.2 KiB
HTML
285 lines
5.2 KiB
HTML
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>PPP on Linux</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.57"><LINK
|
|
REL="HOME"
|
|
TITLE="Linux Network Administrators Guide"
|
|
HREF="index.html"><LINK
|
|
REL="UP"
|
|
TITLE="The Point-to-Point Protocol"
|
|
HREF="x-087-2-ppp.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="The Point-to-Point Protocol"
|
|
HREF="x-087-2-ppp.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Running pppd"
|
|
HREF="x6560.html"></HEAD
|
|
><BODY
|
|
CLASS="SECT1"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>Linux Network Administrators Guide</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="x-087-2-ppp.html"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
>Chapter 8. The Point-to-Point Protocol</TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="x6560.html"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="AEN6507"
|
|
>8.1. PPP on Linux</A
|
|
></H1
|
|
><P
|
|
>On Linux, PPP functionality is split into two parts: a kernel component that
|
|
handles the low-level protocols (HDLC, IPCP, IPXCP, etc.) and the user space
|
|
<B
|
|
CLASS="COMMAND"
|
|
>pppd</B
|
|
> daemon that handles the various higher-level protocols,
|
|
such as PAP and CHAP. The current release of the PPP software for Linux
|
|
contains the PPP daemon <B
|
|
CLASS="COMMAND"
|
|
>pppd</B
|
|
> and a program named
|
|
<B
|
|
CLASS="COMMAND"
|
|
>chat</B
|
|
> that automates the dialing of the remote
|
|
system.</P
|
|
><P
|
|
>The PPP kernel driver was written by Michael Callahan and reworked by
|
|
Paul Mackerras. <B
|
|
CLASS="COMMAND"
|
|
>pppd</B
|
|
> was derived from a free PPP
|
|
implementation<A
|
|
NAME="X-087-2-FNPP03"
|
|
HREF="#FTN.X-087-2-FNPP03"
|
|
>[1]</A
|
|
> for Sun and 386BSD machines that was written by
|
|
Drew Perkins and others, and is maintained by Paul Mackerras. It was
|
|
ported to Linux by Al Longyear. <B
|
|
CLASS="COMMAND"
|
|
>chat</B
|
|
> was written by
|
|
Karl Fox.<A
|
|
NAME="X-087-2-FNPP04"
|
|
HREF="#FTN.X-087-2-FNPP04"
|
|
>[2]</A
|
|
></P
|
|
><P
|
|
>
|
|
Like SLIP, PPP is implemented by a special line discipline.
|
|
To use a serial line as a PPP link, you first establish the connection
|
|
over your modem as usual, and subsequently convert the line to PPP mode.
|
|
In this mode, all incoming data is passed to the PPP driver, which checks
|
|
the incoming HDLC frames for validity (each HDLC frame carries a 16-bit
|
|
checksum), and unwraps and dispatches them. Currently, PPP is able to
|
|
transport both the IP protocol, optionally using Van Jacobson header
|
|
compression, and the IPX protocol.</P
|
|
><P
|
|
>
|
|
<B
|
|
CLASS="COMMAND"
|
|
>pppd</B
|
|
> aids the kernel driver, performing the
|
|
initialization and authentication phase that is necessary before
|
|
actual network traffic can be sent across the
|
|
link. <B
|
|
CLASS="COMMAND"
|
|
>pppd</B
|
|
> 's behavior may be fine-tuned
|
|
using a number of options. As PPP is rather complex, it is impossible
|
|
to explain all of them in a single chapter. This book therefore cannot
|
|
cover all aspects of <B
|
|
CLASS="COMMAND"
|
|
>pppd</B
|
|
>, but only gives you an
|
|
introduction. For more information, consult <I
|
|
CLASS="EMPHASIS"
|
|
>Using & Managing
|
|
PPP</I
|
|
> or the <B
|
|
CLASS="COMMAND"
|
|
>pppd</B
|
|
> manual pages, and
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>README</TT
|
|
> s in the <B
|
|
CLASS="COMMAND"
|
|
>pppd</B
|
|
>
|
|
source distribution, which should help you sort out most questions
|
|
this chapter fails to discuss. The PPP-HOWTO might also be of use.</P
|
|
><P
|
|
> Probably the greatest help you will find in configuring PPP will come
|
|
from other users of the same Linux distribution. PPP configuration
|
|
questions are very common, so try your local usergroup mailing list or
|
|
the IRC Linux channel. If your problems persist even after reading the
|
|
documentation, you could try the <SPAN
|
|
CLASS="SYSTEMITEM"
|
|
>comp.protocols.ppp</SPAN
|
|
> newsgroup. This is
|
|
the place where you can find most of the people involved in
|
|
<B
|
|
CLASS="COMMAND"
|
|
>pppd</B
|
|
> development.</P
|
|
></DIV
|
|
><H3
|
|
CLASS="FOOTNOTES"
|
|
>Notes</H3
|
|
><TABLE
|
|
BORDER="0"
|
|
CLASS="FOOTNOTES"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
WIDTH="5%"
|
|
><A
|
|
NAME="FTN.X-087-2-FNPP03"
|
|
HREF="x6507.html#X-087-2-FNPP03"
|
|
>[1]</A
|
|
></TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
WIDTH="95%"
|
|
><P
|
|
> If you have any general
|
|
questions about PPP, ask the people on the Linux-net mailing
|
|
list at <SPAN
|
|
CLASS="SYSTEMITEM"
|
|
>vger.rutgers.edu</SPAN
|
|
>.</P
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
WIDTH="5%"
|
|
><A
|
|
NAME="FTN.X-087-2-FNPP04"
|
|
HREF="x6507.html#X-087-2-FNPP04"
|
|
>[2]</A
|
|
></TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
WIDTH="95%"
|
|
><P
|
|
> Karl can be reached at
|
|
<SPAN
|
|
CLASS="SYSTEMITEM"
|
|
>karl@morningstar.com</SPAN
|
|
>.</P
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="x-087-2-ppp.html"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="index.html"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="x6560.html"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>The Point-to-Point Protocol</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="x-087-2-ppp.html"
|
|
>Up</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Running pppd</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |