SLIP(1M) SLIP(1M)
slip, if_sl, if_sl.o - Serial Line IP
slip [-dcI] [-m netmask] [-M metric] [-s MTU] [-A atime]
[-P port] [-T icmp_type] [-R "routecmd"] [-S smod]
[-p proto] [-u uucp] [-l local] -r remote {-i|-o|-q}
SLIP or SL/IP stands for Serial Line Internet Protocol. It is used to
extend a local area network using low speed telephone lines. It can be
used to transfer data between machines which are using TCP/IP or UDP/IP.
The modems and communications lines used with SLIP are relatively
inexpensive, and operate at 2400 to 38,400 bits/second. This makes SLIP
appropriate for remote sessions and modest file transfers.
The slip program is used to connect to a remote machine. It does
everything necessary to permit network data to reach the modem, and to
connect the TTY port to the rest the network system. It does things that
are done by ifconfig(1M) for other network interfaces. The result is a
"point-to-point" link that can be part of an existing IP interwork.
There are three main modes of the slip program. When simply dialing a
remote machine, the -o or "output" argument should be used. When simply
answering the telephone or using an existing link, the -i or "input" flag
must be used.
When starting a "demand-dialing" link, the -q or "quiet" flag must be
used. "Demand-dialing" or "quiet" mode is one in which the link is made
only when needed by network activity. When there is no activity, the link
is turned off. When activity begins the modem link is established.
Activity is defined as packets that are not of certain types. By
default, UDP and TCP packets to or from ports "daytime" (13), "time"
(37), "route" (520), 123 (ntp), and "timed" (525) (see /etc/services) and
ICMP packets of types ICMP_UNREACH, ICMP_SOURCEQUENCH, ICMP_TSTAMP, and
ICMP_TSTAMPREPLY are not counted as activity. These lists can be changed
with the -P and -T arguments.
While a quiet mode connection can be started at the receiving end of a
connection, it may not have the desired effect. The daemon does not
expect to use the serial connection to its standard input in quiet mode.
If started in quiet mode as the result of the remote system dialing in,
the daemon will ignore the incoming serial connection. It expects to
wait quietly until it sees locally generated traffic and the need to dial
its own new link. One might conceivably start a quiet mode daemon
remotely for a simple kind of traffic driven "dial-back."
A slip program using demand-dialing can call another slip program which
is in either output or demand-dialing mode. In case the other end is
also using demand-dialing, demand-dialing uses random binary exponential
backoffs after failed attempts to call.
Page 1
SLIP(1M) SLIP(1M)
The -P argument can either clear or augment the list of ports not counted
as activity. If the string following "-P" is a single dash (-), the list
of ports is cleared. Otherwise, the program tries to interpret the
string as the name of a TCP port, the name of a UDP port, or a number, in
that order. The -T argument is similar, except that it is given either a
single dash (-) or a decimal number to clear or augment the list of ICMP
types.
-A is used to specify a number of seconds of no activity after which the
link is turned off. Two numbers separated by a comma can be specified,
with the first one the number of seconds of inactivity while no TCP
connections are open, and the second the number of seconds while a
connection is open. The lower layers snoop on packets to infer the
number of open TCP connections that go over the link. This snooping
cannot be made entirely reliable, because the end of the connection may
be a distant machine that forwards only some of its packets through this
machine. The snooping works only when "cslip" protocol is used (see
below). Still, "30,300" can limit many telephone calls for quick,
automatic transactions like email to less than a minute, without making
remote interactive sessions painful.
If -A is not specified but "quiet" mode is, a value of "30,300" is the
default.
The -r argument must be used to specify the host name or IP address of
the remote end of the link. If the -l argument is not used, the slip
program assumes the local end of the link has the same IP address as the
hostname of the machine. This default is usually appropriate, whether
connecting two ethernets or extending an ethernet to a distant, isolated
workstation. In the latter case, it is best to use a single network
number and allocate host numbers on that network for remote workstations.
The -p argument selects the variety of SLIP protocol. The common or
standard variety is the default or specified with std. A protocol with
adds a checksum to the standard variety is specified with cksum. A
version which compresses TCP/IP to 3 bytes consisting of framing,
checksum and TCP/IP protocol information in addition to user data bytes
is selected with comp. A compressing protocol is useful with modems such
as the Telebit Trailblazer.
A version which compresses TCP/IP to a varying number of bytes, sometimes
as few as 4 counting framing is selected with cslip. This is what is
commonly known as "Van Jacobson Compression," described in RFC 1144.
The standard (-p std) and "Van Jacobson Compression" ( -p cslip)
protocols do not have extra error detection or correction facilities.
This makes them inappropriate for NFS in heterogeneous networks, because
other NFS vendors often use UDP with checksums turned off. However,
because the "comp" and "cksum" protocols include link error detection,
they can be used reliably with NFS. The low speed communications lines
commonly used make NFS slightly hard to use.
Page 2
SLIP(1M) SLIP(1M)
The -u argument specifies a name in the /etc/uucp/Systems file for
dialing. Its default value is the remote machine name. UUCP hostnames
can be at most 7 or sometimes 8 characters long. It is useful to use one
name for dialing and another for TCP/IP when the more public, harder to
change TCP/IP name is long.
The -d flag requests additional debugging information. Additional
instances of -d produce more information. The debugging information is
sent to the system log, /var/adm/SYSLOG, if its standard error file
descriptor is not a tty. The signals SIGUSR1 and SIGUSR2 increase and
decrease, respectively, the amount of debugging information.
Avoid increasing the debugging level to more than 1, because entire
packets will be logged, including those containing PPP PAP usernames and
passwords, which can let anyone who can read the system log discover the
passwords.
Another reason to avoid increasing the debugging level to more than 1 is
that turns on messages from the IRIX kernel. While the kernel is
displaying the message, it has all interrupts turned off, which can cause
input to be lost, which often causes more messages from the kernel, and
so on.
The -c flag tells the program to "camp" on the telephone, to redial the
remote machine whenever the link is broken. It can only be used in the
"output" mode. It is not needed in "quiet" mode.. The slip program must
be killed to finally terminate a link that is "camping" or in "quiet"
mode (see kill(1) or killall(1M)).
The -R or "route" argument can be used to install a default, static
route. When the link is first established and later each time it is
restored when -c is used, the string is given to the route(1M) command.
The command can be "-", in which case "route add default remote" is
assumed.
The -S argument "pushes" the named STREAMS module below the if_sl STREAMS
module. If there are more than one -S arguments, the named modules are
pushed in the order they are named.
The -m, -M, and -s arguments modify default parameters. The default
netmask is the one implied by the IP address. The default metric is 1.
The default maximum transfer unit, or "MTU" is 512 bytes. Such a small
MTU is less efficient, but reduces latency for interactive applications.
The MTU can be reduced to 256 bytes.
The -I option causes the driver to discard all ICMP packets. This
defends a very low speed link against ping packets which can otherwise
saturate the link. It is not recommended for links as fast or faster than
9600 bits/second.
Page 3
SLIP(1M) SLIP(1M)
Installation Notes
The program uses the dialing information on each appropriate line of the
/etc/uucp/Systems file until it succeeds. This can be useful if there is
more than one telephone number that might be used to contact the remote
machine. A /etc/uucp/Systems line like the following works well to call
an IRIS running this SLIP software:
rmt Any ACUSLIP 19200 5551234 "" @\r\c ogin: mynam ssword: xxx SLIP
The last check for "SLIP," output by the slip program by the remote IRIS
just before it starts the IP protocol, gets past any banners or messages
of the day. It ensures the remote machine is not waiting for an
additional password. The check for "SLIP" may not be appropriate with
other brands of computer.
If the hostname "rmt" appears in the /etc/hosts database, the following
shell script can be used to start the slip program with the Systems file
entry above:
#!/bin/sh
exec </dev/null >/dev/null 2>&1
/usr/etc/slip -cp cslip -r rmt $* &
A machine which has no network connection other than SLIP should use a
terminator on its ethernet port, and so act as if it has a valid although
very small local area network.
Because the slip program can use the UUCP control files, the best way to
install a SLIP connection is to first install a UUCP connection. So, one
first creates appropriate entries in the /etc/uucp/Dialers,
/etc/uucp/Devices, and /etc/uucp/Systems files, and then "debugs" the
connection with cu -d remotesystem.
A server which other machines call to use SLIP should establish separate
"user names" in /etc/passwd (see passwd(4)), all using the
/usr/etc/remoteslip script as their "login shell." The script should be
modified to recognize the remote machine by its "username," and to choose
appropriate parameters with which to execute the slip program.
Since the slip program configures network interfaces, it must be executed
with UID 0, and so the password entry on the remote system should use UID
0.
Routing demons can be used to exchange RIP packets (see routed(1M) or
gated(1M)) over the link, as well as advertise the link to the rest of
the IP network. The -h option to routed can usefully reduce the
resulting clutter of "host-routes." The -F option to routed on the
machine gatewaying a SLIP link to an ethernet causes a synthetic "default
route" to be sent over the SLIP link instead of the full routing tables,
making the cost of running RIP over the SLIP link negligible.
Page 4
SLIP(1M) SLIP(1M)
Each time the link is (re)established, the program sends a SIGHUP signal
to the gated and routed daemons, if they are running. This causes the
routing daemons to more quickly notice the (probably) new network
interface and to start advertising adjusted routes.
One can also use "static routing" with the -R argument described below or
with route(1M) commands in a /etc/init.d/network.local files associated
with the /etc/init.d/network file.
The default TCP/IP window on SGI machines is 61440, which makes data move
faster over fast networks such as FDDI. On slow networks such as PPP or
SLIP, both latency and throughput can often be significantly improved by
reducing the window to 4096 or even 2048. The window can be change by
modifying the settings of tcp_sendspace and tcp_recvspace in
/var/sysgen/master.d/bsd, and then reconfiguring the kernel with
autoconfig(1M).
The network information service (NIS, see ypbind(1M)) is not often useful
over a SLIP link. It is usually necessary to use local copies of mail
aliases. However, the Internet domain name server can be useful, by
creating a /usr/etc/resolv.conf file (see resolver(4)) similar to the
following but with the addresses and domain name changed appropriately:
domain your.dom.ain
hostresorder local bind
nameserver 192.26.61.24
nameserver 192.26.61.21
nameserver 192.26.51.194
It is possible to use NFS over a SLIP link. It is usually necessary to
adjust the mount options for the relatively long latencies and low
bandwidth (see automount(1M) and fstab(4)). Timeouts should be set long
enough to allow a complete transaction to pass the link before becoming
too late, and having to be retransmitted. A plausible value for timeo
with default 8KByte block sizes over a 19.2Kbit/s link is 90, for 9
seconds. It can be useful to increase the attribute timeouts
substantially, to minutes.
To synchronize clocks over a SLIP link timed(1M) can be used, but
timeslave(1M) is generally better.
Once each day at about midnight, if the slip program has been running for
at least several hours, it logs some statistics concerning its work for
the previous 24 hours.
Error messages complaining "open()/dev/if_sl: No such device or address"
usually means that the kernel does not contain the required SLIP STREAMS
module, if_sl. Ensure that the SLIP software has been installed on the
system.
Page 5
SLIP(1M) SLIP(1M)
/etc/init.d/network network start-up script
/etc/passwd
/var/adm/SYSLOG system log for debugging messages
/usr/etc/remoteslip incoming configuration script
/etc/uucp/Systems "modem chat scripts"
/etc/uucp/Dialers "chat scripts" to control modems
/etc/uucp/Devices tty port/modem configurations
/var/sysgen/master.d/if_sl configuration file for kernel module
/var/sysgen/boot/if_sl.o if_sl kernel module
/etc/hosts hostname database
/tmp/.slip.* rendezvous for demand dialing
/dev/tty[dmf]x tty port attached to modem.
automount(1M), cu(1), fstab(4)), ifconfig(1M), icmp(7P), master(4),
passwd(4), ppp(1M), resolver(4), syslog(1M), uucico(1M)
PPPPaaaaggggeeee 6666 [ Back ]
|