|
This chapter describes the Serial Line Internet Protocol (SLIP) and its implementation on the Cisco Systems terminal servers and the TRouter. This chapter contains information about:
As personal computers (PCs) become increasingly powerful, they can be connected to networks as full network nodes and not simply as dumb terminals. As a full network node, a PC can send and receive mail, transfer files using sophisticated file transfer protocols, use network file systems, form virtual terminal connections to other hosts, and so on. Several protocol suites can perform these functions, but the TCP/IP suite is preferred when a variety of computers must communicate.
The Serial Line Internet Protocol, or SLIP, defines a method of sending Internet packets over standard RS-232 asynchronous serial lines. In general, SLIP is used today as a means to allow access to resources on a network by remote PCs.
SLIP is an inexpensive way of connecting PCs to a network. SLIP can be used over asynchronous dial-up modems, allowing computers in people's homes to be connected to a network without the cost of a leased line. Dial-up SLIP links can also be used for remote sites that need only occasional or backup connectivity. Both public-domain and vendor-supported SLIP implementations are available for a variety of personal computers, including the IBM PC, the Apple Macintosh, and the Commodore Amiga.
The Cisco Systems terminal servers combine the ability to run SLIP with hardware and software optimized to handle terminal line traffic. The terminal server concentrates a large number of SLIP PC hosts onto a network interface, allowing the PCs to communicate to any host on the network. The terminal server can support any combination of SLIP lines and lines dedicated to normal asynchronous devices, such as terminals and modems.
The version of SLIP described in this manual was originally implemented by researchers at the University of California at Berkeley in their 4.2 BSD version of the UNIX operating system. Although variants have been proposed, the Berkeley version has emerged as a de facto standard. SLIP lacks error detection, and can run only the Internet Protocol suite.
There are two ways of implementing SLIP: the network server model (Cisco TRouter), and the terminal server model. The Cisco Systems terminal servers support the terminal server model. In a network server model, each SLIP line has its own network or subnet number. Another network may exist on the other side of the SLIP client (the PC); Internet routing protocols are used to exchange information about how to reach hosts on that network. The SLIP client can pick its own Internet address by pretending to be a router between the SLIP link and its own network (if the link address is fixed), or by negotiating the address of that interface with the server.
The network server model has the advantage of allowing hosts to have permanent Internet addresses and names. It has the disadvantage of needing a full network or subnet for each SLIP connection, which makes routing more complex. The network server model allows a SLIP link to connect two full networks, as opposed to a single host and a network. In the terminal server model, each SLIP line has a unique Internet address. The terminal server replies to Address Resolution Protocol (ARP) requests for those addresses, acting much like a multiport Ethernet transceiver. Each SLIP client must have an assigned Internet address on the same network or subnet as the terminal server's network interface. Only one Internet address at the other end is possible, namely the one for which the terminal server is configured. Therefore, the SLIP client cannot serve as a router to another network.
The terminal server displays in text form the address it expects the SLIP client to have when the user issues the EXEC command slip, which enables SLIP mode. The SLIP client may also determine this address using the Boot Protocol (BootP).
The Cisco Systems terminal servers recognize a variety of Internet broadcast addresses. When a terminal server receives an Internet packet with one of these addresses from a SLIP client, it rebroadcasts the packet onto the network without changing the Internet header. The terminal server does not alter the packet's broadcast address to match the form of broadcast address it prefers.
The terminal server receives a copy of SLIP client broadcasts, and responds to BootP requests with the Internet address of the line that received them. This facility allows the SLIP client software to automatically determine its own Internet address.
The EXEC command slip typically begins a SLIP connection. Enter this command at the EXEC prompt:
slipThe terminal server displays in text form the address it expects the SLIP client to have, which enables SLIP mode. The SLIP client may also determine this address using the Boot Protocol (BootP).
In this session, the user enters the slip EXEC command to make connection, and then the IP address to use is displayed:
TS>slip
Ip address: 192.31.7.28
Once the IP address and any login requirements from the host system (login name, password, and so on) are entered, SLIP confirms that SLIP mode has been successfully entered:
Entering SLIP mode...
The following sections describe how to configure a line for SLIP mode, and how to maintain the SLIP line.
Following are the basic steps for configuring SLIP on the Cisco terminal server.
Step 1: Enable SLIP on a terminal server line using the slip line subcommand.
Step 2: Set the appropriate settings for the line. Line settings include baud rate, flow control, stop bits, addressing and packet size limits, and modem control.
Step 3: Specify access lists for control of traffic to or from a SLIP-enabled line.
Additionally, SLIP supports simultaneous routing of packets to networks connected via SLIP lines on the Cisco TRouter, the combination terminal server/router product.
The commands to define the configuration are done in configuration mode, which is privileged. To enter configuration mode, type the configure command at the EXEC prompt. You can then enter the commands described in this sections. For more information about the configuration mode, see the chapter "Configuring the System."
The following sections describe these tasks. The EXEC commands used to monitor and maintain a SLIP link are described at the end of this chapter, along with alphabetic summaries of the configuration commands described in this chapter.
This section describes the line subcommands for configuring SLIP support.
For information about the configure command and the line configuration command, see the chapter "Configuring the System."
SLIP mode is enabled by default. The no slip line subcommand disables SLIP mode. It has this syntax:
no slipThe no slip subcommand cancels SLIP support on the line.
When a line is configured for SLIP, the EXEC responds to the slip EXEC command by turning on SLIP on the line, displaying the Internet address to use and the size of the largest Internet packet the SLIP support can handle. The line exits SLIP mode when the modem is hung up or a clear line command is issued.
This example disables SLIP mode on line 3.
line 3
no slip
The speed line subcommand sets the transmit and receive speeds for the line.
speed baudThe argument baud can be 100, 1200, 2400, 4800, 9600, 19200, or 38400. Whether or not a higher baud rate improves performance depends on the SLIP client's ability to handle the interrupt load.
This example sets the baud rate to 9600:
line 3
slip
speed 9600
The IP address associated with a SLIP line can be assigned when a user issues the slip EXEC command, rather than when the terminal server is configured. Use this line subcommand to do so:
slip address dynamicThis subcommand allows flexibility when the lines are in a rotary configuration, when you cannot predict which line a user will connect to. This feature is supported when a TACACS server is used.
Once you have configured the line with the slip address dynamic command, users can set the IP address using the EXEC slip command.
In the following example, line 3 is configured for dynamic address assignment:
line 3
slip address dynamic
Now, when users enter the EXEC slip command, they are prompted for an IP address. The IP address can be either a hostname, such as Eng2, or an IP address in dotted decimal format. When users enter a valid hostname or IP address, they are prompted for a password. If they enter a valid password, they then enter SLIP mode, as seen in the following sample session:
TS>slip
Ip address: Eng2
Password:
Entering SLIP mode...
The terminal server uses the TACACS protocol to authenticate the IP-address/password pair. It also checks other aspects of validity, such as whether the IP address is currently in use, and whether the correct network has been selected. The terminal server sends the TACACS query using the host name (or IP address) as typed by the user as the host name.
The flowcontrol hardware line subcommand for SLIP sets hardware flow control on the line, which improves line performance if the SLIP client also supports hardware flow control. The syntax of this command follows:
flowcontrol hardwareFor details about which signals to connect for hardware flow control, see your respective Hardware Installation and Reference publication.
The stopbits SLIP line subcommand sets the stop bits per byte for improved performance.
stopbits bitsSpecify the number of bits with the argument bits. The default value of 2 stop bits results in a performance degradation of roughly 12x25. The choices are 1 or 2 stop bits. The recommended stop bit is 1.
This example sets one stop bit on the SLIP line:
line 3
slip
stopbits 1
The slip hold-queue line subcommand specifies the limit of the SLIP output queue, which stores packets received from the network waiting to be sent to the SLIP client.
slip hold-queue packetsThe argument packets is the maximum number of packets. The default is 2 packets; it is recommended that the queue size not exceed 10.
This command changes the packet queue length to 5 packets.
line 5
slip hold-queue 5
The slip mtu line subcommand specifies the size of the largest Internet packet that the SLIP support can handle.
slip mtu bytesThe argument bytes is the maximum number of bytes. The default is 1500 MTU.
You might want to change to a smaller MTU size if the SLIP application at the other end doesn't support packets of that size, or you want to assure a lower delay by using shorter packets. This can be desirable when the host Telnet echoing takes longer than 0.2 seconds. A 1500 byte packet takes about 1.5 seconds to transmit, so this delay would indicate that you want an MTU size of about 200. On the other hand, the MTU size can be negotiated by TCP regardless of what the terminal settings are, and this is the better way to do it.
These commands set the packet MTU size to 200 bytes.
line 5
slip
slip mtu 200
The slip address line subcommand specifies the Internet address assigned to the SLIP client at the other end of the serial line connection. The command has this syntax:
slip address internet-addressThe argument internet-address must be on the same network or subnet as the terminal server's network interface.
This example sets IP address 182.32.7.51 on line 2.
line 2
slip
slip address 182.32.7.51
The slip dedicated line subcommand puts the line in SLIP mode permanently. It has this simple syntax:
slip dedicatedThe terminal server will not create an EXEC on this line, so it is not available for normal interactive use.
The slip interactive line subcommand allows the line to be used in either SLIP mode or interactive mode.
slip interactiveThe slip interactive subcommand is generally used to void a slip dedicated line subcommand. It is the equivalent of a no slip dedicated specification (although the no variation of the slip dedicated command does not exist). To put this line into SLIP mode, use the EXEC command slip; see "SLIP Connections" in this chapter.
Hanging up the modem or clearing the line puts the line back into interactive mode.
The modem callin and modem cts-required line subcommands are useful for SLIP operation.
These subcommands ensure that, when the line is hung up (modem callin) or CTS drops (modem cts-required), the line reverts from SLIP mode to normal interactive mode. These subcommands do not work if you use the slip dedicated subcommand to put the line in SLIP mode permanently.
The modem control subcommands are described in "Configuring Modem Control Lines" in the "Configuring the System" chapter.
Access lists allow the system administrator to control the hosts which may be accessed by a PC running SLIP through a terminal server. In versions of the software prior to 8.3, turning on SLIP defeated any access lists that were defined for that line. As SLIP is different than a connection, separate access lists may be defined for SLIP and for normal connections. The software allows separate access lists to be defined for use when the line is running SLIP.
To configure an access list to be used on packets from the SLIP host, use this line subcommand:
slip access-class number inWhen this command is entered, the IP destination address of each packet is run through the access list for acceptability, and dropped or passed. The argument number is the IP access list number. See the "Configuring IP Access Lists" section in the "Configuring TCP/IP" chapter for information about IP access lists.
To specify an access list to be used on packets being sent to the SLIP host, use this line subcommand:
slip access-class number outWhen this command is entered, the IP source address is compared against the access list, and only those packets allowed by the access list are transmitted on the asynchronous line. The argument number is the IP access list number (see the "Configuring IP Access Lists" section in the "Configuring TCP/IP" chapter for information about IP access lists).
On the TRouter, it is also possible to use extended IP access lists on SLIP lines. In this case, the header of the packet is compared against the access list as appropriate.
This example assumes that SLIP users are restricted to certain servers designated as SLIP servers, but that normal terminal users can access anything on the local network:
! access list for normal connections
access-list 1 permit 131.108.0.0 0.0.255.255
!
! access list for SLIP packets.
access-list 2 permit 131.108.42.55
access-list 2 permit 131.108.111.1
access-list 2 permit 131.108.55.99
!
!Define all the lines with slip addresses and
!appropriate access lists
line 1 60
slip address dynamic
access-class 1 out
slip access-class 2 in
The Cisco combined terminal server/router (the TRouter) can route packets to networks connected via a SLIP line. (Earlier versions of TRouter software supported only end-nodes connected via SLIP.)
To route to a network on a SLIP line, use the ip route command in combination with the slip address line subcommand.
The following example creates a static route that is added to the router's routing table when the line enters SLIP mode. The route is deleted when SLIP is turned off on that line, such as when a modem hangs up.
line 5
slip address 130.107.4.40
ip route 10.0.0.0 130.107.4.40
Once the SLIP line is active, this route behaves identically to any other static route, and may be redistributed using any of the dynamic routing protocols. Refer to the Cisco Router Products Configuration and Reference publication for details on configuring dynamic routing protocols.
The following sample configuration assigns an Internet address to a SLIP line and puts the line in SLIP mode permanently. Setting the stop bits to 1 is a performance enhancement.
line 20
location Joe's computer
stopbits 1
speed 19200
slip address 182.32.7.51
slip dedicated
This section describes the EXEC commands for maintaining SLIP support on the terminal server.
Maintaining SLIP is a simple task on the terminal server and TRouter products. The clear line EXEC command disables SLIP mode and starts an EXEC on a non-dedicated SLIP line. Enter this command at the EXEC prompt:
clear line line-numberThe argument line-number specifies the line. This command is the only way to exit SLIP mode on a line without modem control.
Use the EXEC show commands described in this section to obtain displays of activity on the SLIP line.
The show ip aliases command displays Internet addresses mapped to TCP ports (aliases) and SLIP addresses, which are treated similarly to the aliases. Enter this command at the EXEC prompt:
show ip aliasesTo distinguish a SLIP address from a normal alias address, the command output uses the form SLIP TTYn for the "port" number, where n is the terminal number (in octal).
Sample output follows:
IP Address Port
192.31.7.52 SLIP TTY35
192.31.7.53 SLIP TTY36
192.31.7.54 SLIP TTY37
192.31.7.55 SLIP TTY40
The display lists the IP address and corresponding port number.
The show ip arp EXEC command displays the Address Resolution Protocol (ARP) cache, where SLIP addresses appear as permanent ARP table entries. To display the IP ARP cache, use the following EXEC command:
show ip arpThis command displays the contents of the IP ARP (Address Resolution Protocol) cache. An Address Resolution Protocol establishes correspondences between network addresses (an IP address, for example) and LAN hardware addresses (Ethernet addresses). A record of each correspondence is kept in a cache for a predetermined amount of time and then discarded. Following is sample output. Table 1-1 describes the fields displayed.
Protocol Address Age (min) Hardware Addr Type Interface
Internet 131.108.1.140 137 aa00.0400.6408 ARPA Ethernet0
Internet 131.108.1.111 156 0800.2007.8866 ARPA Ethernet0
Internet 131.108.1.115 33 0000.0c01.0509 ARPA Ethernet0
Internet 192.31.7.24 5 0800.0900.46fa ARPA Ethernet2
Internet 192.31.7.26 41 aa00.0400.6508 ARPA Ethernet2
Internet 192.31.7.27 - aa00.0400.0134 ARPA Ethernet2
Internet 192.31.7.28 67 0000.0c00.2c83 ARPA Ethernet2
Internet 192.31.7.17 67 2424.c01f.0711 ARPA Ethernet2
Internet 192.31.7.18 64 0000.0c00.6fbf ARPA Ethernet2
Internet 192.31.7.21 114 2424.c01f.0715 ARPA Ethernet2
Internet 131.108.1.33 15 0800.2008.c52e ARPA Ethernet0
Internet 131.108.1.55 44 0800.200a.bbfe ARPA Ethernet0
Internet 131.108.1.6 89 aa00.0400.6508 ARPA Ethernet0
Internet 131.108.7.1 - 0000.0c00.750f ARPA Ethernet3
Internet 131.108.1.1 - aa00.0400.0134 ARPA Ethernet0
Field Description
Protocol Protocol for network address in Address field
Address The network address that corresponds to Hardware Addr
Age (min) Age, in minutes, of the last update of the cache entry
Hardware Addr LAN hardware address that corresponds to network
address
Type Type of ARP (Address Resolution Protocol):
ARPA = Ethernet-type ARP
SNAP = RFC 1042 ARP
Probe = HP Probe Protocol
The show line EXEC command displays SLIP status for a line running in SLIP mode. Enter this command at the EXEC prompt:
show line line-numberThe argument line-number specifies the line.
Following is sample output:
Tty Typ Tx/Rx A Modem Roty AccO AccI Uses Noise
0 CTY - - - - - 1 0
1 SLIP 9600/9600 - - - - - 0 0
2 TTY 9600/9600 - - 1 - - 0 0
3 TTY 9600/9600 - inout 1 - - 0 0
4 TTY 9600/9600 - - - - - 0 0
* 5 TTY 9600/9600 - - - - - 1 0
6 SLIP 9600/9600 - - - - - 0 0
7 TTY 9600/9600 - - - - - 0 0
10 TTY 9600/9600 - - - - - 0 0
11 TTY 9600/9600 - - - - - 0 0
12 TTY 9600/9600 - inout - - - 0 0
13 TTY 9600/9600 - - - - - 0 0
14 TTY 9600/9600 - - - - - 0 0
15 TTY 9600/9600 - - - - - 0 0
16 TTY 9600/9600 - - - - - 0 0
17 TTY 9600/9600 - - - - - 0 0
The show slip EXEC command displays the status of all lines configured for SLIP support. Enter this command at the EXEC prompt:
show slipFollowing is sample output:
Slip statistics:
Rcvd: 0 packets, 0 bytes, 0 escapes
0 format errors, 0 checksum errors, 0 overrun, 0 no buffer
Sent: 0 packets, 0 bytes, 0 escapes, 0 dropped
--More--
Tty Mod Address Istate Ostate Qd InPack OutPac Inerr Dropped MTU Qsz
35 i/o 192.31.7.52 IDLE IDLE 0 0 0 0 0 1524 0
36 i/o 192.31.7.53 IDLE IDLE 0 0 0 0 0 1524 0
37 i/o 192.31.7.54 IDLE IDLE 0 0 0 0 0 1006 0
40 i/o 192.31.7.55 IDLE IDLE 0 0 0 0 0 1006 0
Table 1-2 describes the fields displayed by this command.
Field Description
Rcvd: Statistics on packets received.
packets Packets received.
bytes Total number of bytes.
escapes Count of escape character sent.
format errors Packets with a bad IP header, even before the
checksum is calculated.
checksum errors Count of checksum errors.
overrun Number of giants received.
no buffer Number of packets received when no buffer was available.
Sent Statistics on packets sent.
dropped Number of packets dropped.
Tty mod Type of modem control.
IState and OState Used by Cisco engineers for troubleshooting.
Qd Number of packets on hold queue (Qsz is max).
InPack Number of packets input for asynchronous line.
OutPac Number of packets sent to asynchronous line.
Inerr Number of total input errors; sum of format errors,
checksum errors, overruns and no buffers.
Dropped Number of packets received that wouldn't fit on the
hold queue (time to either fix the hosts' TCPs, or
increase the hold queue size).
* An asterisk indicates a line currently in SLIP mode.
The privileged-mode EXEC debug commands described in this section are used to troubleshoot line in SLIP mode. Generally, you enter these commands during troubleshooting sessions with Cisco staff.
For each debug command, there is a corresponding undebug command that turns the display off. Entering the debug commands will affect performance of the SLIP feature.
The debug slip EXEC command enables logging of all SLIP activity. The high volume of SLIP debugging output, which amounts to several lines per packet, noticeably affects overall system performance.
The debug slip-event EXEC command enables logging of selected SLIP events, such as various types of errors, enabling and disabling of SLIP mode on a line, and so on. The volume of output for this command is much lower than that for the debug slip command.
This section provides an alphabetically arranged summary of the SLIP line subcommands.
Sets hardware flow control on the line, which improves line performance if the SLIP client also supports hardware flow control. For details about which signals to connect for hardware flow control, see the Cisco Systems Hardware Products Installation Guide.
Disables SLIP mode on the assigned line.
Specifies the Internet address assigned to the SLIP client at the other end of the serial line connection. The argument internet-address must be on the same network or subnet as the terminal server's network interface.
Allows the IP address associated with a SLIP line to be assigned when a user issues the slip EXEC command, rather than when the terminal server is configured. This subcommand allows flexibility when the lines are in a rotary configuration, when you cannot predict which line a user will be connected to. This feature is supported when a TACACS server is used.
Puts the line in SLIP mode permanently. The terminal server will not create an EXEC on this line, so it is not available for normal interactive use.
Specifies the limit of the SLIP output queue, which stores packets received from the network waiting to be sent to the SLIP client. The argument packets is the maximum number of packets. Default is 2 packets.
Allows the line to be used in either SLIP mode or interactive mode. To put this line into SLIP mode, use the EXEC command slip. Hanging up the modem or clearing the line puts the line back into interactive mode.
Specifies the size of the largest Internet packet that the SLIP support can handle. The argument bytes is the maximum number of bytes. Default is 1500 bytes.
Sets the transmit and receive speeds for the line. The argument baud is 100, 1200, 2400, 4800, 9600, 19200, or 38400. Whether or not a higher baud rate improves performance depends on the SLIP client's ability to handle the interrupt load.
Sets the terminal server to transmit the number of stop bits defined by the bits argument per byte for improved performance. The choices are one or two stop bits. The default value of 2 stop bits results in a performance degradation of roughly 12x25.
|