internet

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ internet ] in KIDS
글 쓴 이(By): fleur (모티푸컴파熹)
날 짜 (Date): 1994년12월10일(토) 12시33분48초 KST
제 목(Title): [re]ppp...



이거 좀 길어요..

ppp



Background
In the last few years, the Internet has seen explosive growth in the number of
hosts supporting TCP/IP.  The vast majority of these hosts are connected to
Local Area Networks (LANs) of various types, Ethernet being the most common. 
Most of the other hosts are connected through Wide Area Networks (WANs) such as
X.25 style Public Data Networks (PDNs). Relatively few of these hosts are
connected with simple point-to-point serial links.  Yet, point-to-point links
are among the oldest methods of data communications, and almost every host
supports point-to-point connections.  For example, asynchronous RS-232-C
interfaces are essentially ubiquitous.

One reason for the small number of point-to-point IP Links was the serious
bandwidth limitations of affordable modems. Asynchronous dial-up modems were
limited to 1200 or 2400 bps, which is marginal for most applications. This
limitation has been significantly improved with the availability of V.32bis
modems providing 14,400 bps connections over the same dial-up lines. This
compares to what is available on dedicated access lines to PDNs at a much
higher cost.

Another reason for the small number of point-to-point links was the lack of a
widely-adopted standard encapsulation method. A common, non-standard method for
sending Internet Protocol (IP) over low speed point-to-point links is called
Serial Line IP (SLIP).  The free source code is available with BSD 4.2 UNIX and
is very simple for vendors to integrate into their products. However, vendors
soon discovered that SLIP lacks many useful link-level functions.

Problems with SLIP
As described by RFC-1055, "Nonstandard for transmission of IP datagrams over
Serial Lines," SLIP provides a very simple framing scheme for sending IP
packets over a serial line. A typical packet is shown in Figure 1.  In fact,
the reason it is so simple to implement is because it does so little. Nearly
one-third of RFC-1055 describes a long list of deficiencies. Probably the most
crippling problem being that it does not provide support for any protocol other
than IP.As router vendors created multi-protocol products, this became a
serious failing.

Some vendors tried sending IPX packets over the SLIP link together with IP,
since the first 4 bits may be used to distinguish the two packet types (0100
for IP, 1111 for IPX).  However, that stopped working when Novell began
generating checksums for its packets.  And the technique interfered with Van
Jacobson header compression for IP.

The limits of SLIP only begin with network protocols. It provides no method for
detecting or correcting errors, which grow more important as the speed of the
link increases. Some network protocols like IPX depend on the link to discard
bad packets. SLIP instead relies on the IP header to detect damaged packets.
This works if you're running IP, but not other protocols.

SLIP provides no mechanism for hosts to communicate addressing information.
Yet, when hosts dial up a router, the addressing scheme may be quite dynamic
and the router may need to inform the dialing host of the host's IP address.

SLIP also lacks packet type identification. It contains no type field. Thus,
once again, only one protocol can be run over a SLIP connection.
Configuration options are not dynamic with SLIP. Every parameter change
requires the SLIP driver to be recompiled, relinked, and rebooted. Therefore,
products employing SLIP require the attention of very patient technicians.

Also, SLIP only works on one kind of link -- simple, dedicated, 
character-oriented,
asynchronous lines like RS-232.  Most higher speed links are bit-synchronous
(SDLC or HDLC).  SLIP does not work well over many dial-up links, because of
the loss of ASCII control characters used by modems for flow control.

Finally, SLIP does not provide any link-level security. Early SLIP
implementations were in terminal server products, where they provided IP 
access
for remote single user workstations. Link level authentication was of limited
concern: the same user login was used for any remote terminal access. As these
links have grown to connect entire networks rather than single users, security
has become a major issue. Other methods outside SLIP are necessary to identify
the user of a connection and prevent network black-holes arising from
"spoofing" by a few malicious crackers.

Interoperability is never a guarantee with SLIP because vendors often develop
proprietary methods to make up for its shortcomings. These enhancements are
optimized for each vendor's own products and don't encourage interoperability
with other vendors' products.

PPP Rises
The Point-to-Point Protocol (PPP) was derived from earlier work on SLIP.  PPP
is a more robust, full-featured protocol, and as such is close to becoming a
standard. It is the product of the Internet Engineering Task Force's PPP
Working Group, and has been blessed by the IETF and IAB as a standard-evolving
protocol. The PPP Working Group was formed by the IETF, an open forum 
primarily
composed of IP vendors and regional network providers.

Learning from the shortcomings of SLIP, the developers started with the 
concept
that any standard would need to be extensible.  Not all vendors need the same
features in every product.  New features could be added over time, without
affecting the older implementations. This is accomplished through
"negotiation."  Each end of the link advertises which features it has
implemented.  The peers agree on a common set of features to be used.  This
allows interoperability between a wide range of products. The most important
aspect of PPP negotiation is that it is automatic. This can result in a large
savings of human configuration time.
Described most recently in RFC 1331, "The Point-to-Point Protocol (PPP) for 
the
Transmission of Multi-protocol Datagrams over Point-to-Point Links," PPP is
comprised of three main components: 1) a method for encapsulating datagrams
over serial links, 2) a Link Control Protocol (LCP) for establishing,
configuring, and testing data-link connection, and 3) a family of Network
Control Protocols (NCPs) for establishing and configuring different
network-layer protocols.

The singular "protocol" is a bit of a misnomer, since PPP is really a suite of
protocols.  PPP is suited to encapsulate protocols other than just TCP/IP.  
PPP
automatically discovers which network protocols are supported through NCP
negotiation. The NCPs are defined in independent RFCs. (See Point-to-Point
Protocol RFCs)

To establish communications over a point-to-point link, each end of the PPP
link first sends LCP packets to configure and test the data link. After the
link has been established, the peer may be authenticated. Then, PPP sends NCP
packets to choose and configure one or more network-layer protocols. Once each
of the chosen network-layer protocols has been configured, data can be sent of
the link.

The LCP is used to automatically agree upon the encapsulation format options,
handle varying limits on packet sizes, decide authentication and compression
techniques, determine when a link is functioning properly and when it is down,
detect a looped-back link, and terminate the link. The LCP and the NCPs use 
the
same negotiation technique, which results in a compact, efficient code base,
and easy implementation of new features.

The default framing is based on HDLC.  This allows PPP to be used with all
known asynchronous and bit-synchronous hardware, as well as WAN links which 
are
also based on HDLC, such as X.25 and Frame Relay.  Because careful attention
was paid to issues such as word alignment, PPP is suitable for RISC processors
and very high speed fiber links. Although the typical PPP packet is shown in
Figure 2, PPP peers can negotiate compression techniques which will reduce
packet size to look more like the one shown in Figure 3.  Compression allows
PPP to scale downward for slower links.

PPP uses Password Authentication Protocol (PAP) or Challenge-Handshake
Authentication Protocol (CHAP) to enforce link security. For more information
on these security methods see attached sidebar.
PPP can be used over any transport service capable of supporting ASCII
terminals, including Telnet connections. PPP's asynchronous control character
mapping option allows transparent use of these links, even though they do not
inherently support binary data. PPP uses HDLC to encapsulate data from 
multiple
links. It uses LCP to test and configure data links through low-level
authentication, link loopback detection, and link monitoring that can be run
along side of other traffic.

PPP Today
Vendors supporting PPP have formed a consortium for interoperability testing.
The latest such meeting occurred in the fall of 1992 and successfully resulted
in interoperability between more than 30 vendors.
Information resulting from testing sessions is important for users that must
integrate separate vendor networks as well as for those seeking a lower cost
solution that cannot be provided through one vendor. Although the burden of
multivendor interoperability does not rely solely on the shoulders of PPP, as
such tests continue to evolve, they accomplish a large hurdle towards meeting
this goal.

PPP has now been widely implemented in most routers.  The bridge community has
been slower to implement PPP, as the bridging specification is currently
undergoing minor revision.

When SLIP was first developed, it quickly became popular among those systems
administrators with the considerable skills required to make it work.
Enhancements that overcome the serious limitations of the protocol cannot be
implemented without compromising interoperability. SLIP has thus effectively
exhausted its potential. PPP, on the other hand, is designed to be extensible
and contains a negotiation mechanism. This ensures that as enhancements are
implemented, neighbors in the network can automatically determine which
features are supported and use the best available feature combination. For 
this
reason, PPP is enjoying market acceptance among router and terminal server
manufacturers. As new vendors enter the market, interoperability tests ensure
that users will receive seamless, standards-based connectivity.

Point-to-Point Protocol RFCs 
RFC 1220        PPP for Bridging (under revision)
RFC 1331        Point-to-Point Protocol (PPP)
RFC 1332        The PPP Internet Protocol Control Protocol (IPCP)
RFC 1333        PPP Link Quality Monitoring (LQM)
RFC 1334        PPP Authentication Protocols
RFC 1376        The PPP DECnet Phase IV Control Protocol (DPCP)
RFC 1377        The PPP OSI Network Layer Control Protocol (OSINCP)
RFC 1378        The PPP AppleTalk Control Protocol (ATCP)
RFC 1471        MIB for Link Control Protocol (LCP)
RFC 1472        MIB for Security Protocol
RFC 1473        MIB for Internet Protocol Control Protocol (IPCP)
RFC 1474        MIB for Bridging

In the IETF tradition, work is not published until it has been tested. Further
work under test which is not yet published includes:  The PPP Internetwork
Packet eXchange Control Protocol (IPXCP), Compressing IPX Headers Over WAN
Media (CIPX), PPP over X.25, PPP over ISDN, PPP over Frame Relay, and PPP over
Sonet and the Synchronous Digital Hierarchy.

In the network management arena, the MIBs for LCP, IPCP, Bridging, and 
Security
were recently published in June 1993.

Persons who wish to be part of the specification and testing of PPP are 
invited
to send a message to ietf-ppp-request@ucdavis.edu.

Security Methods 
The Point-to-Point Protocol (PPP) uses Password Authentication Protocol (PAP)
and Challenge-Handshake Authentication Protocol (CHAP) to enforce 
link security. 

PAP uses a 2-way handshake for the peer to establish its identity. This occurs
only upon initial link establishment. An ID/password pair is repeatedly sent 
by
the peer to the authenticator until verification is acknowledged or the
connection is terminated. Passwords are sent over the circuit in text format
which offers no protection from playback.

CHAP periodically verifies the identity of the peer using a three-way
handshake. This is done throughout the life of the connection. Once
established, the authenticator sends a "challenge" message to the peer. The
peer responds with a value calculated using a "one-way hash" function. The
authenticator then checks this response against its own calculation. If the
values match, the authentication is acknowledged; otherwise the connection is
terminated. CHAP provides protection against playback attack because the
challenge value changes in every message. Since the password is never sent 
over
the link, it is virtually impossible to learn it.
_________
Lars Poulsen is a software engineer and senior member of the technical staff 
at
Rockwell International Corp.'s CMC Network Products unit. As such, he is
responsible for implementing PPP into the company's dialup router and terminal
server products.

Bill Simpson is the PPP Working Group editor.






  
                              2. WHAT IS PPP?
                                     
       Introduction
      
       PPP features which may or may not be present
      
       PPP glossary
      
       PPP-relevant RFC's
      
2.1 Introduction

   PPP is the Internet Standard for transmission of IP packets over serial
   lines. PPP supports async and sync lines. For a general discussion of
   PPP, and of the PPP vs. SLIP question, look at the paper
   ftp.uu.net:vendor/MorningStar/papers/sug91-cheapIP.ps.Z (paper) and
   sug91-cheapIP.shar.Z (overhead projector slides)
   
2.2 PPP features which may or may not be present

   Above and beyond compatibility with basic PPP framing, note whether the
   software implements the following features.  Not all features are needed
   or even desired in every product. Please note also that not every free
   or commercial product description in this document has a complete list
   of all features includes.
   
  demand-dial             Bring up a PPP interface and dial the phone when
                          packets are queued for delivery; bring the
                         interface down after some   period of inactivity.
                         
   redial (For lack of a better term)
                          Bring up a PPP interface whenever it goes down,
                         to keep a line up.    (sometimes called camping)
                         
   camping (on a line)    see redial
                         
    scripting             Negotiate through a series of prompts or
                         intermediate   connections to bring up a PPP link,
                         much like the sequence of events   used to bring
                         up a UUCP link.
                         
   parallel               Configure several PPP lines to the same
                         destination and   do load sharing between them.
                        (In process of getting standardized.)
                         
   filtering               Select which packets to send down a link or
                         whether to   bring up a "demand-dial" link based
                         on IP or TCP packet type or TOS,   e.g. don't dial
                         the phone for ICMP ping packets.
                         
   header compression     TCP header compression according to RFC1144.
                         Marginally useful on high speed lines, essential
                         for low speed lines.
                         
   server                 Accept incoming PPP connections, which might well
                         also   include doing the right things with
                         routing.
                         
   tunneling              Build a virtual network over a PPP link across a
                         TCP stream    through an existing IP network.
                         
   extra escaping         Byte-stuffing characters outside the negotiated
                         asyncmap, configurable in advance but not
                         negotiable.
                         
2.3 PPP glossary

   Every new technology breeds its own set of acronyms.  PPP is no
   different.  Here is a glossary of sorts.
   
ack                     Acknowledgement.
AO                      Active open [state diagram] (no lonter part of the
                        FSM as of RFC1331)
C                       Close [state diagram]
CHAP                    Challenge-Handshake Authentication Protocol
                        (RFC1334)
D                       Lower layer down [state diagram]
DES                     Data Encryption Standard
DNA                     Digital Network Architecture
IETF                    Internet Engineering Task Force.
IP                      Internet Protocol
IPCP                    IP Control Protocol.
IPX                     Internetwork Packet Exchange (Novell's networking
                        stack)
FCS                     Frame Check Sequence [X.25]
FSA                     Finite State Automaton
FSM                     Finite State Maschine
LCP                     Link Control Protocol.
LQR                     Link Quality Report.
MD4                     MD4 digital signature algorithm
MD5                     MD5 digital signature algorithm
MRU                     Maximum Receive Unit
MTU                     Maximum Transmission Unit
nak                     Negative Acknowledgement
NCP                     Network Control Protocol.
NRZ                     Non-Return to Zero bit encoding. (SYNC ppp default
                        because of
                        availability)
NRZI                    Non-Return to Zero Inverted bit encoding. (SYNC ppp
                        preferred
                        alternative to NRZ)
OSI                     Open Systems Interconnect
PAP                     Password Authentication Protocol (RFC1334)
PDU                     Protocol Data Unit (i.e., packet)
PO                      Passive open [no longer part of state diagram]
PPP                     Point to Point Protocol (
                        RFC1548 /
                        RFC1549,
                        1332,
                        1333,
                        1334,
                        1551,
                        1376,
                        1377,
                        1378)
RCA                     Receive Configure-Ack [state diagram]
RCJ                     Receive Code-Reject [state diagram]
RCN                     Receive Configure-Nak or -Reject [state diagram]
RCR+                    Receive good Configure-Request [state diagram]
RER                     Receive Echo-Request [no longer part of state
                        diagram]
RFC                     Request for Comments (internet standard)
RTA                     Receive Terminate-Ack [state diagram]
RTR                     Receive Terminate-Request [state diagram]
RUC                     Receive unknown code [state diagram]
sca                     Send Configure-Ack [state diagram]
scj                     Send Code-Reject [state diagram]
scn                     Send Configure-Nak or -Reject [state diagram]
scr                     Send Configure-Request [state diagram]
ser                     Send Echo-Reply [no longer part of state diagram]
sta                     Send Terminate-Ack [state diagram]
str                     Send Terminate-Request [state diagram]
ST-II                   Stream Protocol
TO+                     Timeout with counter > 0 [state diagram]
TO-                     Timeout with counter expired [state diagram]
VJ                      Van Jacobson (RFC1144 header compression algorithm)
XNS                     Xerox Network Services
                        
2.4 PPP relevant RFCs

   Here's a list with descriptions.  Note some of these are obsolete. You
   might also want to  search for recent RFCs or  internet drafts in an
   up-to-date  RFC archive.
   
1663                    Rand, DPPP Reliable Transmission.  1994 July; 8 p.
                        (Format: TXT=17281 bytes)
1662                    Simpson, W.,edPPP in HDLC-like Framing.  1994 July;
                        25 p. (Format: TXT=48058 bytes)  (Obsoletes  RFC
                        1549)
1661                    Simpson, W.,edThe Point-to-Point Protocol (PPP).
                        1994 July; 52 p. (Format: TXT=103026 bytes)
                        (Obsoletes  RFC 1548)
1638                    Baker, F.; Bowen, R.,edsPPP Bridging Control
                        Protocol (BCP).  1994 June; 28 p. (Format:
                        TXT=58477 bytes)
1619                    Simpson, WPPP over SONET/SDH.  1994 May; 4 p.
                        (Format: TXT=8893 bytes)
1618                    Simpson, WPPP over ISDN.  1994 May; 6 p.  (Format:
                        TXT=14896 bytes)
1598                    Simpson, WPPP in X.25.  1994 March; 7 p. (Format:
                        TXT=13835 bytes)
1570                     Simpson, W.,ed.  PPP LCP Extensions. 1994 January;
                        18 p. (Format: TXT=35719 bytes) (Updates RFC 1548)
1553                    Mathur, S.; Lewis, M.  Compressing IPX Headers Over
                        WAN Media (CIPX).  1993 December; 23 p. (Format:
                        TXT=47450 bytes)
1552                    Simpson, W.  The PPP Internetwork Packet Exchange
                        Control Protocol (IPXCP).  1993 December; 14 p.
                        (Format: TXT=29174 bytes)
1551                     Allen, M.  Novell IPX Over Various WAN Media
                        (IPXWAN).  1993 December; 22 p. (Format: TXT=54210
                        bytes) (Obsoletes RFC 1362)
1549                     Simpson, W.,ed.  PPP in HDLC Framing. 1993
                        December; 18 p. (Format: TXT=36353 bytes)
                        (Obsoleted by RFC 1662)
1548                     Simpson, W.  The Point-to-Point Protocol (PPP).
                        1993 December; 53 p. (Format: TXT=111638 bytes)
                        (Obsoletes RFC 1331; Obsoleted by RFC 1661; Updated
                        by RFC 1570)
1547                     Perkins, D.  Requirements for an Internet Standard
                        Point-to-Point Protocol.  1993 December; 21 p.
                        (Format: TXT=49811 bytes)
1378                     PPP AppleTalk Control Protocol (ATCP). Parker, B.
                        1992 November; 16 p. (Format: TXT=28496 bytes)
1377                     PPP OSI Network Layer Control Protocol (OSINLCP).
                        Katz, D.  1992 November; 10 p. (Format: TXT=22109
                        bytes)
1376                     PPP DECnet Phase IV Control Protocol (DNCP).
                        Senum, S.J.  1992 November; 6 p. (Format: TXT=12448
                        bytes)
1362                     Allen, M.  Novell IPX Over Various WAN Media
                        (IPXWAN).  1992 September; 18 p. (Format: TXT=30220
                        bytes)
1334                     PPP authentication protocols. Lloyd, B.; Simpson,
                        W.A.  1992 October; 16 p. (Format: TXT=33248 bytes)
1333                     PPP link quality monitoring. Simpson, W.A.  1992
                        May; 15 p. (Format: TXT=29965 bytes)
1332                     PPP Internet Protocol Control Protocol (IPCP).
                        McGregor, G.  1992 May; 12 p. (Format:  TXT=17613
                        bytes) (Obsoletes RFC1172)
1331                     Point-to-Point Protocol (PPP) for the transmission
                        of multi-protocol datagrams over point-to-point
                        links. Simpson, W.A.  1992 May; 66 p. (Format:
                        TXT=129892 bytes) (Obsoletes RFC1171, RFC1172;
                        obsoleted by RFC 1548)
1220                     Point-to-Point Protocol extensions for bridging.
                        Baker, F.,ed.  1991 April; 18 p. (Format: TXT=38165
                        bytes)
1172                     Point-to-Point Protocol (PPP) initial
                        configuration options. Perkins, D.; Hobby, R.  1990
                        July; 38 p. (Format: TXT=76132 bytes) (Obsoleted by
                        RFC1331, RFC1332)
1171                     Point-to-Point Protocol for the transmission of
                        multi-protocol datagrams over Point-to-Point links.
                        Perkins, D.  1990 July; 48 p. (Format: TXT=92321
                        bytes) (Obsoletes RFC1134; Obsoleted by RFC1331)
1134                     Point-to-Point Protocol: A proposal for
                        multi-protocol transmission of datagrams over
                        Point-to-Point links. Perkins, D.  1989 November;
                        38 p. (Format: TXT=87352 bytes) (Obsoleted by
                        RFC1171)
1144                     Compressing TCP/IP headers for low-speed serial
                        links. Jacobson, V.         1990 February; 43 p.
                        (Format: TXT=120959 PS=534729 bytes)
                        
   In comp.protocols.ppp (Message-ID:
   <BOB.92Dec3145948@volitans.MorningStar.Com>)
   
                                      bob@MorningStar.Com (Bob Sutterfield)
                                                                           
   wrote :
   
    All of 1134, 1171, and 1172 (and 1055, for that matter :-) have been
   obsoleted.  They're interesting only if you want to debug a connection
   with an ancient PPP implementation, and you're wondering why (e.g.) it
   asked you for IPCP option 2 with a length of only 4, and
   Compression-Type 0x0037.
   
    (There's a lot of that still running around - be careful out there.)
   
   *** Go back here.  To the top page here. Read on here.
   
   
-- 
-- 
        Ignatios Souvatzis
-
Solaris 2.1:  it's slow, needs 200M of disk space and comes without C 
compiler,
which makes it remarkably close to MS-Windows. oleg@gd.cs.csufresno.edu






 
특기:날라리 때려주기,취미:방에혼자있기,그건 가끔함.엄청난 독서량:매달
꾸준히 두개의 책을 정독함.(p?a?b*,?en*se),주식:밀가루루 만든거아님 안먹음.
포  모어 인포메이숀 플리즈 유즈유어 모자익오알 넷스케이프 엣(@)�@ 
http://www.cen.uiuc.edu/~hp8825 공사중.(광고하실려면 역시 요기괄호를쓰세요)
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.