The Wayback Machine - https://web.archive.org/web/20010219035014/http://www.cs.mu.oz.au:80/appletalk/readmes/ATPPP.README.html

ATPPP - ARNS PPP client

The University of Melbourne djh@munnari.OZ.AU March, 1994 version 1.1 The 'atppp' program is a UNIX ARNS client that allows a Macintosh using PPP (Point-to-Point-Protocol) software and a serial link to a UNIX host to connect to a remote AppleTalk network via an ARNS server. Note: 'atppp' with an AppleTalk PPP client is functionally equivalent to the ARNS client 'async' used with Async Appletalk2. 'atppp' can also provide IP services without the overhead of AppleTalk encapsulation on a slow link. This version of 'atppp' does not implement Van Jacobson TCP/IP header compression but this is expected to be available in the next release.

ARNS


ARNS is 'A Remote Network Server' package for AppleTalk that allows a remote client to participate in local network services such as printing and file sharing. The ARNS server runs on a UNIX host that is connected to an EtherTalk network and currently supports Phase 1 and Phase 2 EtherTalk networks on SUN SunOS/Solaris, DEC ULTRIX/Alpha, SGI IRIX, Sony NEWS 4.2, HP-UX 8.07, IBM RS6000 AIX, Linux 1.1.74, BSDI BSD/386 1.1 and FreeBSD 2.0 workstations, and Phase 1 only on Sony NEWS pre-4.2 and 386BSD/FreeBSD 1.0 workstations. ARNS is available via anonymous FTP from munnari.OZ.AU as the file mac/arns.tar.Z

NOTICE


Copyright (c) 1994, The University of Melbourne. All Rights Reserved. ATPPP may NOT be publicly redistributed (for example via anonymous FTP), sold, or the source used for any other purpose without the permission of the copyright owner. This software is supplied "as is" without express or implied warranty.

IP Services


'atppp' uses an external MacIP gateway such as a FastPath, GatorBox, MultiPort Gateway or Cisco router to support IP packet delivery. This is the same method used by Macintoshes on LocalTalk networks and is in widespread use. Protocol purists may express some reservations about this scheme, but the benefits outweigh the disgusting things that happen to an IP packet on a round trip to and from the client Macintosh. 'atppp' is a user-level process requiring no special setup or kernel modifications and links can be made from remote sites without changing IP addresses. On the slow serial link, where overheads are critical, the IP packet has the absolute minimum protocol baggage. All encapsulation happens at network or ethernet speeds where it is less noticeable.

Distribution

The 'atppp' package is available as a binary distribution ONLY for the following hosts SUN Sun4/Sparc 4.1.N, 5.3 SUN Sun3/68k 4.1.N DEC Ultrix/RISC 4.3 DEC Alpha 2.0 SGI IRIX/IP7 4.0.5 IBM AIX/RISC 3.2 HP HP-UX/9000/715 9.0.1 Sony NEWS/RISC 4.2 BSDI BSD/386 1.1 - Linux 1.0.9 - FreeBSD 2.0 The files are available in compressed tar format via anonymous FTP from munnari.OZ.AU in the directory mac/arns_ppp. Each tar file contains a copy of this 'README', a troff-format UNIX manual entry in 'atppp.1l', a sample 'atppp' configuration file in 'dot.atppprc' and a UNIX binary for a specific architecture. Note: You can read the manual entry with the UNIX command 'nroff -man atppp.1l | more' The binary files, once extracted from each tar distribution, have the following checksums (using sum(1) on the host) atppp.aix.3.2 22973 72 atppp.irix.4.0 57921 256 atppp.sun3.4.1 01783 176 atppp.sun4.4.1 15409 224 atppp.sun4.5.3 27849 178 atppp.ultrix.4.3 16487 156 atppp.hpux.9.0 07219 160 atppp.sonynews 49364 156 atppp.alpha.2.0 07032 104 atppp.bsdi.1.1 63273 152 atppp.linux 42682 62 atppp.freebsd 2582194101 65536 (cksum) The compressed tar file names are obtained by adding ".tar.Z" to the binary file names listed above. Note: No "PPP" Macintosh client programs are included.

Installation


Install and configure your PPP or SL/IP client as specified in the documentation shipped with the software. If you want to run PPP with other than the default settings, create a file in your home directory called ".atppprc", containing, for example protFieldCompR 1 protFieldCompX 1 addrCtrlFieldCompR 1 addrCtrlFieldCompX 1 asyncCtrlMapR 0x000a0000 asyncCtrlMapX 0x000a0000 maxmRecvUnitR 1500 maxmRecvUnitX 1500 The first four lines turn on PPP Protocol-Field-Compression and Address-and-Control-Field-Compression in both transmit and receive directions (relative to atppp). The default 'atppp' setting for all compression options is off. The next two lines set the Async-Control-Character-Map to escape both ^Q and ^S characters in the data stream. The format of the argument is a 32-bit bitmap with each bit representing a character from 0x00 to 0x1f. EG: 0x00000003 escapes both 0x00 and 0x01 bytes. Use this option if your terminal server or intervening host will not pass certain control characters. The last two lines set the Maximum-Receive-Unit for the link. This is the maximum number of information field bytes that may appear in a PPP packet. 'atppp' supports a maximum PPP packet size of 1500 and AppleTalk requires a minimum PPP packet size of 599 bytes. By default, 'atppp' assigns a dynamic IP address from the first IPGATEWAY to respond to an NBP lookup. If your gateway is configured to support static IP address allocation on an *EtherTalk* interface, then you can specify a static IP address for 'atppp' to use. You must provide two lines in the ".atppprc" file of the form ipgateway 128.250.34.87 ipaddress 128.250.34.88 The 'ipgateway' entry must be the NBP object field advertised by the MacIP gateway (of NBP type 'IPGATEWAY'). This is used to locate the gateway providing the static IP address service. 'ipaddress' is the requested static IP address. If it is already in use, a dynamic address will be allocated instead. To have an IP address assigned by a MacIP gateway in an AppleTalk zone other than the default ARNS server zone, you can run 'atppp' with the -Z zoneName option or add a line to the ".atppprc" file of the form ipkipzone zoneName You can specify that 'atppp' make a SL/IP connection rather than PPP by using the -S command line option. If you only ever use SL/IP, you can add the following line to ".atppprc" useSLIP 1 When used for SL/IP connections, 'atppp' will print the allocated IP address to allow the SL/IP client to be configured before the connection is started. There are several other options that may be useful under some circumstances reassembleIP 1 tcpSegSize 536 backwardCompat 1 The 'reassembleIP' entry is used to tell 'atppp' to reassemble IP fragments before sending them as PPP data. This option was found to be necessary with InterPPP version 1.0 where NCSA/BYU Telnet sessions would hang when large amounts of data were passed through as multiple IP fragments. Please note, however, that it is recommended that the 'tcpSegSize' option be used instead. The 'reassembleIP' entry may be specified with the command line option -R. 'tcpSegSize' forces an option specifying the maximum TCP segment size to be inserted into TCP SYN (ie: open connection) packets. To avoid IP packets being fragmented over MacIP, use a 'tcpSegSize' value less than 546, that is, MACIPMTU-IPhdrSiz-TCPhdrSiz. The suggested value is 536. The 'tcpSegSize' value may also be specified with the command line option -M siz. The 'backwardCompat' entry is for use with clients that only support the deprecated IP Address configuration option IP-ADDRESSES. The 'backwardCompat' option may also be specified with the command line option -B. To start 'atppp' run atppp ARNS_host where ARNS_host is the name or IP address of the ARNS server. If no host is supplied, an ARNS connection will be attempted on the local machine. You may also specify various command line options with 'atppp'. See the earlier description of the ".atppprc" file or the manual entry in 'atppp.1l' 'nroff -man atppp.1l | more' NB: 'atppp' is a "passive" PPP server, it will wait for a Configure-Request packet to arrive from the client. When you wish to terminate the 'atppp' program, send or type two consecutive RETURNs outside a PPP frame, ie: from a terminal session.

Clients

'atppp' has been tested with the following PPP and/or SL/IP clients MacPPP (anon. FTP merit.EDU /pub/ppp/macppp2.0.1.hqx). IP only. InterSLIP (anon. FTP ftp.intercon.com /InterCon/sales/InterSLIP/InterSLIPInstaller1.0.1.hqx). IP only. InterPPP (Intercon product). Use the tcpSegSize option with an MSS of 536. IP and AppleTalk. Phil Karn's KA9q-based 'net.exe' MS-DOS program. Use the 'backwardCompat' (or -B) option with a default 'asyncCtrlMapX' of 0xffffffff. IP only.

See Also


There are various RFCs related to 'atppp'. These can be obtained via anonymous FTP from munnari.OZ.AU in the rfc directory (as rfcNNNN.Z). rfc791, "Internet Protocol", ISI USC, September 1981 rfc793, "Transmission Control Protocol", ISI USC, September 1981 rfc1055, "A Nonstandard for Transmission of IP Datagrams Over Serial Lines: SLIP", J. Romkey, June 1988 rfc1144, "Compressing TCP/IP Headers for Low-Speed Serial Links", V. Jacobson, February 1990 rfc1331, "The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to-Point Links", W. Simpson, May 1992 rfc1332, "The PPP Internet Protocol Control Protocol (IPCP)", G. McGregor, May 1992 rfc1378, "The PPP AppleTalk Control Protocol (ATCP)", B. Parker, November 1992 rfc1548, "The Point-to-Point Protocol (PPP)", W. Simpson, December 1993 rfc1570, "PPP LCP Extensions", W. Simpson, January 1994 draft, "A Standard for the Transmission of Internet Packets Over AppleTalk Networks", J. Veizades, December 1991 (not online) Bugs, comments etc. to djh@munnari.OZ.AU