old-www/LDP/nag2/x6507.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
>&#13;
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
>&#13;
<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
>&#8201;'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 &#38; Managing
PPP</I
> or the <B
CLASS="COMMAND"
>pppd</B
> manual pages, and
<TT
CLASS="FILENAME"
>README</TT
>&#8201;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
>&#13;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
>