|
This chapter begins with an introduction to Cisco's implementation of the IP protocol for its line of routing products, and continues with an in-depth view of configuration options, IP addressing and its various protocols, and examples of well-designed networks. These tasks and topics are covered in this chapter:
See the chapter "The IP Routing Protocols" for information on the various routing protocols, how they have evolved, and how they are best used in complex internetworks.
Cisco's implementation of TCP/IP provides all major services contained in the various protocol specifications. Cisco routers also provide the TCP and UDP little services called Echo service and Discard service. These services are described in RFC 862 and RFC 863.
Cisco supports both TCP and UDP at the Transport Layer, for the maximum flexibility in services. Some Cisco global and interface commands require UDP packets to be sent (see the section "Configuring ICMP and Other IP Services"). Cisco supports all standards for IP broadcasts.
The process of configuring your router for IP routing differs from the procedures for configuring other protocols in that you don't have to initially enable IP routing. All Cisco routers are shipped with IP already enabled. The ip routing global configuration command is described later in this chapter to allow you to re-enable IP routing if you have disabled it. You should follow the steps on the next page to configure individual interfaces and other options.
Step 1: Enter an address for the interface on which you will be routing IP using the ip address interface subcommand.
Step 2: Consider addressing options and broadcast packet handling, using commands described in the "Setting IP Interface Addresses" and "Broadcasting In the Internet" sections.
Step 3: Optionally, configure packet sizes and other performance parameters as well as ICMP and other IP services. Information for these tasks are in the section "Configuring ICMP and Other IP Services."
Step 4: Configure access lists and other security options, if desired.
Step 5: Configure routing. The IP routing protocols are discussed in the chapter "The IP Routing Protocols."
Each task is described in the following sections, and are followed by descriptions of the EXEC commands to maintain, monitor and debug an IP network. Summaries of the global configuration commands and interface subcommands described in this section appear at the end of this chapter.
The ip routing global configuration command enables IP routing for the router. Its full syntax follows.
ip routingIf the system is running bridging software, the no ip routing subcommand turns off IP routing when setting up a system to bridge (as opposed to route) IP datagrams. (See the explanations on bridging options in the chapters in Part Five.) The default setting is to perform IP routing.
The official description of Internet addresses is found in RFC 1020, "Internet Numbers." The Network Information Center (NIC), which maintains and distributes the RFC documents, also assigns Internet addresses and network numbers. Upon application from an organization, NIC assigns a network number or range of addresses appropriate to the number of hosts on the network.
As described in RFC 1020, Internet addresses are 32-bit quantities, divided into five classes. The classes differ in the number of bits allocated to the network and host portions of the address. For this discussion, consider a network to be a collection of devices (hosts) that have the same network field value in their Internet addresses.
The Class A Internet address format allocates the highest eight bits to the network field and sets the highest-order bit to 0 (zero). The remaining 24 bits form the host field. Only 128 Class A networks can exist, but each Class A network can have almost 17 million hosts.
Figure 1-1 illustrates the Class A address format.
The Class B Internet address format allocates the highest 16 bits to the network field and sets the two highest-order bits to 1,0. The remaining 16 bits form the host field. Over 16,000 Class B networks can exist, and each Class B network can have over 65,000 hosts.
Figure 1-2 illustrates the Class B address format.
The Class C Internet address format allocates the highest 24 bits to the network field and sets the three highest-order bits to 1,1,0. The remaining eight bits form the host field. Over two million Class C networks can exist, and each Class C network can have up to 254 hosts.Figure 1-3 illustrates the Class C address format.
The Class D Internet address format is reserved for multicast groups, as discussed in RFC 988. In Class D addresses, the four highest-order bits are set to 1,1,1,0.
The Class E Internet address format is reserved for future use. In Class E addresses, the four highest-order bits are set to 1,1,1,1. The router currently ignores Class D and Class E Internet addresses, except the global broadcast address 255.255.255.255.
The notation for Internet addresses consists of four numbers separated by dots (periods). Each number, written in decimal, represents an 8-bit octet. When strung together, the four octets form the 32-bit Internet address. This notation is called dotted decimal.
These samples show 32-bit values expressed as Internet addresses:
192.31.7.19
10.7.0.11
255.255.255.255
0.0.0.0
Note that 255, which represents an octet of all ones, is the largest possible value of a field in a dotted-decimal number.
Some Internet addresses are reserved for special uses and cannot be used for host, subnet, or network addresses. Table 1-1 lists ranges of Internet addresses and shows which addresses are reserved and which are available for use.
Class Address or Range Status
A 0.0.0.0 Reserved
1.0.0.0 through 126.0.0.0 Available
127.0.0.0 Reserved
B 128.0.0.0 Reserved
128.1.0.0 through 191.254.0.0 Available
191.255.0.0 Reserved
C 192.0.0.0 Reserved
192.0.1.0 through 223.255.254 Available
223.255.255.0 Reserved
D, E 224.0.0.0 through 255.255.255.254 Reserved
255.255.255.255 Broadcast
To create an address that refers to a specific network, the bits in the host portion of the address must all be zero. For example, the Class C address 192.31.7.0 refers to a particular network (no local component).
Conversely, if you want a local address only, without a network portion, all the bits in the network portion of an address must be 0. For example, the Class C address 0.0.0.234 refers to a particular host (local address).
If you want to send a packet to all hosts on the network specified in the network portion of the address, the local address must be all ones. For example, the Class B address 128.1.255.255 refers to all hosts on network 128.1.0.0. This is called a broadcast, which is described in the section "Broadcasting in the Internet." You can also find general information on broadcasts in the chapter "The IP Routing Protocols."
You can manually configure the router's routing table, or you can specify that a high-level routing protocol dynamically build the routing table. In both cases, the routing table is based on the network portion of addresses. Consequently, the addresses of hosts on a single physical network must have the same network number to permit automatic routing. If a network does not meet this requirement, the routers will be unable to communicate with all of the hosts on that network. (The one exception to this general rule is the use of secondary addresses, which is described in the section "Setting IP Interface Addresses.")
Subnetting is a scheme for imposing a simple two-level hierarchy on host addresses, allowing multiple, logical networks to exist within a single Class A, B, or C network. The usual practice is to use a few of the leftmost bits in the host portion of the network addresses for a subnet field. For example, Figure 1-4 shows a Class B address with five bits of the host portion used as the subnet field. The official description of subnetting is contained in RFC 950, "Internet Standard Subnetting Procedure."
As with the host portion of an address, do not use all zeros or all ones in the subnet field.
Routers and hosts can use the subnet field for routing. The rules for routing on subnets are identical to the rules for routing on networks. However, correct routing requires that all subnets of a network be physically contiguous. In other words, the network must be set up such that it does not require traffic between any two subnets to cross another network. The current Cisco implementation requires that all subnets of a network have the same number of subnet bits.
You can create a single network from subnets that are physically separated by another network by using a secondary address. An example is shown in the section "Setting IP Interface Addresses."
A subnet mask identifies the subnet field of network addresses. All subnets of a given class, A, B, or C, should use the same subnet mask. This mask is a 32-bit Internet address written in dotted-decimal notation with all ones in the network and subnet portions of the address. For the example shown in Figure 13-4 , the subnet mask is 255.255.248.0. Table 1-2 shows the subnet masks you can use to divide an octet into subnet and host fields. The subnet field can consist of any number of the host field bits; you do not need to use multiples of eight. However, you should use three or more bits for the subnet field--a subnet field of two bits yields only four subnets, two of which are reserved (the 1,1 and 0,0 values).
Subnet Bits Host Bits Hex Mask Decimal Mask
0 8 0 0
1 7 0x80 128
2 6 0xC0 192
3 5 0xE0 224
4 4 0xF0 240
5 3 0xF8 248
6 2 0xFC 252
7 1 0xFE 254
8 0 0xFF 255
Use the ip address interface subcommand to set an IP address for an interface. The full command syntax follows:
ip address address net-mask [secondary]The two required arguments are an IP address and the network mask for the associated IP network. The subnet mask must be the same for all interfaces connected to subnets of the same network. Hosts can determine subnet masks using the Internet Control Message Protocol (ICMP) Mask Request message. Routers respond to this request with an ICMP Mask Reply message. (See the section "Configuring ICMP and Other IP Services" for more details.)
You can disable IP processing on a particular interface by removing its IP address with the no ip address subcommand. If the router detects another host using one of its IP addresses, it will print an error message on the console. The software supports multiple IP addresses per interface.
You may use this command to specify additional secondary IP addresses by including the keyword secondary after the IP address and subnet mask.
In the sample below, 131.108.1.27 is the primary address and 192.31.7.17 is a secondary address for Ethernet 0.
interface ethernet 0
ip address 131.108.1.27 255.255.255.0
ip address 192.31.7.17 255.255.255.0 secondary
Subnetting with a subnet address of zero is generally not allowed, because of the confusion inherent in having a network and a subnet with indistinguishable addresses. For example, if network 131.108.0.0 is subnetted as 255.255.255.0, subnet zero would be written as 131.108.0.0--which is identical to the network address.
To enable or disable the use of subnet zero for interface addresses and routing updates, use the global configuration command ip subnet-zero. Its full command syntax follows:
ip subnet-zeroIn the example below, we enable subnet-zero for the router:
ip subnet-zero
A device in the Internet may have both a local address, which uniquely identifies the device on its local segment or LAN, and a network address which identifies the network the device belongs to. The local address is more properly known as a data link address because it is contained in the data link layer (Layer 2 of the OSI Model) part of the packet header and is read by data link devices (bridges and all device transceivers, for example). The more technically inclined will refer to local addresses as MAC addresses because the Media Access Control (MAC) sublayer within the data link layer processes addresses for the layer.
To communicate with a device on Ethernet, the router must first determine the 48-bit MAC or local data link address of that device. The process of determining the local data link address from an Internet address is called address resolution. The process of determining the Internet address from a local data link address is called reverse address resolution. The router uses three forms of address resolution: Address Resolution Protocol (ARP), proxy ARP, and Probe (which is similar to ARP). The router also uses the Reverse Address Resolution Protocol (RARP). The ARP, proxy ARP, and RARP protocols, which are used on Ethernets, are defined in RFCs 826, 1027, and 903, respectively. Probe is a protocol developed by the Hewlett-Packard Company for use on IEEE-802.3 networks.
To send an Internet data packet to a local host with which it has not previously communicated, the router first broadcasts an ARP Request packet. The ARP Request packet requests the MAC local data link address corresponding to an Internet address. All hosts on the network receive this request, but only the host with the specified Internet address will respond.
If present and functioning, the host with the specified Internet address responds with an ARP Reply packet containing its local data link address. The router receives the ARP Reply packet, stores the local data link address in the ARP cache for future use, and begins exchanging packets with the host.
The EXEC command show arp may be used to examine the contents of the ARP cache. The show ip arp command will show IP entries.
The function of ARP is to provide a dynamic mapping between 32-bit IP addresses and
48-bit local hardware (Ethernet, FDDI, Token Ring) addresses. ARP may also be used for protocols other than IP and media that have other than 48-bit addresses.
Because most hosts support dynamic resolution, you generally do not need to specify static ARP cache entries. If you do need to define static arp cache entries, you can do so globally.
When used as a global configuration command, the arp command installs a permanent entry in the ARP cache. The router uses this entry to translate 32-bit Internet Protocol addresses into 48-bit hardware addresses. The full syntax follows:
arp internet-address hardware-address type [alias]The argument internet-address is the Internet address in dotted decimal format corresponding to the local data link address specified by the argument hardware-address.
The argument type is an encapsulation description. This is typically the arpa keyword for Ethernets and is always snap for FDDI and Token Ring interfaces, and ultra for the Ultranet interfaces. See the discussions of the individual interface types for more information on possible encapsulations.
The optional keyword alias indicates that the router should respond to ARP requests as if it were the owner of the specified IP address.
The following is a sample of a static ARP entry for a typical Ethernet host.
arp 192.31.7.19 0800.0900.1834 arpa
The no arp subcommand removes the specified entry from the ARP cache. To remove all non-static entries from the ARP cache, use the privileged EXEC command clear arp-cache.
When used as an interface subcommand, the arp command controls the interface-specific handling of IP address resolution into 48-bit Ethernet hardware addresses. The full syntax of the arp interface subcommand follows:
arp {arpa|probe|snap}The keyword arpa, which is the default, specifies standard Ethernet style ARP (RFC 826), probe specifies the HP-proprietary Probe protocol for IEEE-802.3 networks, and snap specifies ARP packets conforming to RFC 1042. The show interfaces monitoring command displays the type of ARP being used on a particular interface. Probe is described more in a later section in this chapter.
To set the number of seconds an ARP cache entry will stay in the cache, use the arp timeout interface subcommand. The full syntax of this command follows:
arp timeout secondsThe value of the argument seconds is used to age an ARP cache entry related to that interface. By default, the seconds argument is set to four hours (14,400 seconds). A value of zero seconds sets no timeout.
Use the no arp timeout command to return to the default value.
This command is ignored when issued on interfaces that do not use ARP. Use the EXEC command show interfaces to display the ARP timeout value. The value follows the Entry Timeout: heading, as seen in this sample display:
ARP type: ARPA, HP-PROBE, Entry Timeout: 14400 sec
The following example illustrates how to set the ARP timeout to 12000, to allow entries to time out more quickly than the default.
arp timeout 12000
The router uses proxy ARP, as defined in RFC 1027, to help hosts with no knowledge of routing determine the hardware addresses of hosts on other networks or subnets. Under proxy ARP, if the router receives an ARP Request for a host that is not on the same network as the ARP Request sender, and if the router has the best route to that host, then the router sends an ARP Reply packet giving its own local data link address. The host that sent the ARP Request then sends its packets to the router, which forwards them to the intended host.
The no ip proxy-arp interface subcommand disables proxy ARP on the interface. The full command syntax for this command follows.
ip proxy-arpThe default is to perform proxy ARP; the no ip proxy-arp command disables this default.
By default, the router uses the HP-proprietary Probe protocol (in addition to ARP) whenever it attempts to resolve an IEEE-802.3 or Ethernet local data link address. The subset of Probe that performs address resolution is called Virtual Address Request and Reply. Using Probe, the router can communicate transparently with Hewlett-Packard IEEE-802.3 hosts that use this type of data encapsulation.
The arp probe commands enable or disable Probe protocol for IEEE-802.3 networks, as follows.
arp probeThe other options of the arp command are discussed under ARP, earlier in this chapter.
Reverse ARP (RARP) was defined in RFC 903. If a router does not know the IP address of one of its Ethernet interfaces, it will try RARP during start up processing to attempt to determine the Internet address, based on its interface local data link address. Diskless hosts also use RARP at boot time to determine their protocol addresses. RARP works in the same way as ARP, except that the RARP Request packet requests an Internet address instead of a local data link address. Use of RARP requires a RARP server on the same network segment as the router interface.
A router without non-volatile memory uses both Reverse ARP (RARP) and Boot Protocol (BootP) messages when trying to obtain its interface address from network servers.
BootP, defined in RFC 951, specifies a method for determining the Internet address of a host from its Ethernet local data link address. The basic mechanism is similar to that used by Reverse ARP, but it is UDP-based rather than a distinct Ethernet protocol. The main advantage of BootP is that its messages can be routed through routers, whereas RARP messages cannot leave the local Ethernet-based network.
A broadcast is a data packet destined for all hosts on a particular physical network. Network hosts recognize broadcasts by special addresses. This section describes the meaning and use of Internet broadcast addresses. For detailed discussions of broadcast issues in general, see RFC 919, "Broadcasting Internet Datagrams," and RFC 922, "Broadcasting Internet Datagrams in the Presence of Subnets." The router support for Internet broadcasts generally complies with RFC 919 and RFC 922; however, the router does not support multisubnet broadcasts as defined in RFC 922.
The current standard for an Internet broadcast address requires that the host portion of the address consist of all ones. If the network portion of the broadcast address is also all ones, the broadcast applies to the local network only. If the network portion of the broadcast address is not all ones, the broadcast applies to the network or subnet specified.
Cisco routers support two kinds of broadcasting: directed broadcasting and flooding. A directed broadcast is a packet sent to a specific network or series of networks, while a flooded broadcast packet is sent to every network, as shown in . The packet that is incoming from interface E0 is flooded to interfaces E1, E2 and Serial 0. A directed-broadcast address includes the network or subnet fields.
For example, if the network address is 128.1.0.0, then the address 128.1.255.255 indicates all hosts on network 128.1.0.0. This would be a directed broadcast. If network 128.1.0.0 has a subnet mask of 255.255.255.0 (the third octet is the subnet field), then the address 128.1.5.255 specifies all hosts on subnet 5 of network 128.1.0.0, another directed broadcast.
The no ip directed-broadcast interface subcommand disables forwarding of directed broadcasts on the interface. The full syntax of this command follows.
ip directed-broadcastThe default is to forward directed broadcasts. You disable the default condition with the no ip directed broadcast, and re-enable forwarding of directed broadcasts with the ip directed broadcast command.
The router supports Internet broadcasts on both local and wide area networks. There are at least four popular standard ways of indicating an Internet broadcast address. You can configure a router host to generate any form of Internet broadcast address. The router can also receive and understand any form of Internet broadcast address. By default, a router uses all ones for both the network and host portions of the Internet broadcast address (255.255.255.255). You can change the Internet broadcast address by using the ip broadcast-address interface subcommand. Following is the full command syntax:
ip broadcast-address [address]The argument address is the desired IP broadcast address for a network. If a broadcast address is not specified, the system defaults to a broadcast address of all ones or 255.255.255.255.
Use the no ip broadcast-address command to remove the broadcast address.
To change from another broadcast address to the default broadcast address of 255.255.255.255, you must enter the following command:
ip broadcast-address 255.255.255.255You cannot use a command in the format no ip broadcast-address x.x.x.x (where x.x.x.x is not 255.255.255.255) to return to the default broadcast address.
If the router does not have nonvolatile memory, and you want the specify the broadcast address to use before it has its configuration, you can change the Internet broadcast address by setting jumpers in the processor configuration register. Setting bit 10 causes the router to use all zeros. Bit 10 interacts with bit 14, which controls the network and subnet portions of the broadcast address. Setting bit 14 causes the router to include the network and subnet portions of its address in the broadcast address. Table 1-3 shows the combined effect of setting bits 10 and 14.
Bit 14 Bit 10 Address (<net><host>)
out out <ones><ones>
out in <zeros><zeros>
in in <net><zeros>
in out <net><ones>
For more information about the configuration register, see the Cisco Systems hardware reference guide for your system.
There are circumstances in which you want to control which broadcast packets and which protocols are forwarded. You do this with helper addresses and the forward-protocol commands.
The ip helper-address interface subcommand tells the router to forward UDP broadcasts, including BootP, received on this interface. (UDP is the connectionless alternative to TCP at the Transport Layer.) Use the ip helper-address interface subcommand to specify the destination address for forwarding broadcast packets. Full command syntax follows.
ip helper-address addressThe address argument specifies a destination broadcast or host address to be used when forwarding such datagrams. You can have more than one helper address per interface. You remove the list with no ip helper-address.
If you do not specify a helper address command, the router will not forward UDP
broadcasts.
This example defines an address that act as a helper address.
ip helper-address 121.24.43.2
The ip forward-protocol global configuration command allows you to specify which protocols and ports the router will forward. Its full syntax is listed next.
ip forward-protocol {udp|nd|spanning-tree} [port]The keyword nd is the ND protocol used by older diskless SUN workstations. The keyword udp is the UDP protocol. A UDP destination port can be specified to control which UDP services are forwarded. By default both UDP and ND forwarding are enabled if a helper address has been defined for an interface. If no ports are specified, these datagrams are forwarded, by default:
Use the no ip forward-protocol command with the appropriate keyword and argument to remove the protocol.
The example below first defines a helper address, then uses the ip forward-protocol command to specify forwarding of UDP only.
interface ethernet 1
ip helper-address 131.120.1.0
ip forward-protocol udp
To permit IP broadcasts to be flooded throughout the internetwork in a controlled fashion, use the global configuration command ip forward-protocol spanning-tree (full command syntax follows):
ip forward-protocol spanning-tree no ip forward-protocol spanning-treeThis command is an extension of the ip helper-address interface command, in that the same packets that may be subject to the helper address and forwarded to a single network may now be flooded. Only one copy of the packet will be put on each network segment in the network.
The ip forward-protocol spanning-tree command uses the database created by the bridging spanning tree protocol. The transparent bridging option must be in the routing software, and bridging must be configured on each interface which is to participate in the flooding. If an interface does not have bridging configured, it will still be able to receive broadcasts, but it will never forward broadcasts received on that interface, and it will never use that interface to send broadcasts received on a different interface. If no bridging is desired, then a type-code bridging filter may be configured which will deny all packet types from being bridged. The spanning-tree database is still available to the IP forwarding code to use for the flooding.
Packets must meet the following criteria to be considered for flooding (these are the same conditions for IP helper addresses):
A flooded UDP datagram is given the destination address specified by the ip broadcast command on the output interface. This can be set to any desired address. Thus, the destination address may change as the datagram propagates through the network. The source address is never changed. The TTL value is decremented.
After a decision has been made to send the datagram out on an interface (and the destination address possibly changed), the datagram is handed to the normal IP output routines and is therefore subject to access lists, if they are present on the output interface.
Use the no ip forward-protocol spanning-tree command to prevent flooding of IP broadcasts.
Several early TCP/IP implementations do not use the current broadcast address standard. Instead, they use the old standard, which calls for all zeros instead of all ones to indicate broadcast addresses. Many of these implementations do not recognize an all-ones broadcast address and fail to respond to the broadcast correctly. Others forward all-ones broadcasts, which causes a serious network overload known as a broadcast storm. Implementations that exhibit these problems include UNIX systems based on versions of BSD UNIX prior to Version 4.3.
Routers provide some protection from broadcast storms by limiting their extent to the local cable. Bridges, because they are Layer 2 devices, even intelligent router/bridges, forward broadcasts to all network segments, thus propagating all broadcast storms.
The best solution to the broadcast storm problem is to use a single broadcast address scheme on a network. Most modern TCP/IP implementations allow the network manager to set the address to be used as the broadcast address. Many implementations, including that on the Cisco router, can accept and interpret all possible forms of broadcast addresses.
Network hosts occasionally employ UDP broadcasts to determine address, configuration, and name information. (UDP stands for User Datagram Protocol, an alternative to TCP for connectionless networks. UDP is defined in RFC 768.) If such a host is on a network segment that does not include a server host, UDP broadcasts fail.
To correct this situation, configure the interface of your Cisco router to forward certain classes of UDP broadcasts to a helper address. See the description of the ip helper-address and the ip forward-protocol subcommands in this chapter for more information.
The Internet Control Message Protocol (ICMP) is a special protocol within the IP protocol suite that focuses exclusively on control and management of IP connections. ICMP messages are generated by routers that discover a problem with the IP part of a packet's header; these messages could be alerting another router, or they could be sent to the source or destination device (host). Characteristics of the ICMP messages follow.
The ip mask-reply interface subcommand tells the router to respond to mask requests. The full syntax of this command follows.
ip mask-replyThe default is not to send a Mask Reply, and this default is restored with the no ip mask-reply command.
Each router interface has an output hold queue with a limited number of entries that it can store. Upon reaching this limit, the interface sends an ICMP Source Quench message to the source host of any additional packets and discards the packet. When the interface empties the hold queue by one or more packets, the interface can accept new packets again. The router limits the rate at which it sends Source Quench and Unreachable messages to one per second.
If the router receives a nonbroadcast packet destined for itself that uses a protocol the router does not recognize, it sends an ICMP Protocol Unreachable message to the source.
If the router receives a datagram which it is unable to deliver to its ultimate destination because it knows of no route to the destination address, it replies to the originator of that datagram with an ICMP Host Unreachable message. Use the ip unreachables interface subcommand to enable or disable the sending of these messages. The full syntax for this command follows.
ip unreachablesThe no ip unreachables subcommand disables sending ICMP unreachable messages on an interface.
The Cisco router sends an ICMP Redirect message to the originator of any datagram that it is forced to resend through the same interface on which it was received, since the originating host could presumably have sent that datagram to the ultimate destination without involving the router at all. The router ignores Redirect messages that have been sent to it by other routers. Use the ip redirects interface subcommand to enable or disable the sending of these messages, as follows:
ip redirectsAll interfaces have a default maximum packet size or MTU. You can set the IP MTU to a smaller unit by using the ip mtu interface subcommand. If an IP packet exceeds the MTU set for the router's interface, the router will fragment it. The full command syntax follows.
ip mtu bytesThe default and maximum MTU depends on the interface medium type. The minimum MTU is 128 bytes. The no ip mtu subcommand restores the default MTU for that interface.
In the following example, you are setting the maximum IP packet size for the first serial interface to 300 bytes.
interface serial 0
ip mtu 300
All Cisco routers running software release 8.3 or later have the IP MTU Path Discovery mechanism running by default. IP Path MTU Discovery allows a host to dynamically discover and cope with differences in the maximum allowable MTU size of the various links along the path. Sometimes a router is unable to forward a datagram because fragmentation of the datagram is required (the packet is larger than the MTU you set for the interface with the ip mtu command), but the "Don't fragment" bit is set. If you have Path Discovery enabled, the router sends a message to the sending host, alerting it to the problem. The host will have to replicate packets destined for the receiving interface so that they fit the smallest packet size of all the links along the path. This technique is defined by RFC 1191 and shown in .
MTU Path Discovery is useful when a link in a network goes down, forcing use of another, different MTU-sized link (and different routers). As an example, suppose one were trying to send IP packets over a network where the MTU in the first router is set to 1500 bytes, but then reaches a router where the MTU is set to 512 bytes. If the datagram's "Don't fragment" bit is set, the datagram would be dropped because the 512-router is unable to forward it. The router returns an ICMP Destination Unreachable message to the source of the datagram with its Code field indicating "Fragmentation needed and DF set." To support Path MTU Discovery, it would also include the MTU of the next-hop network link in the low-order bits of an unused header field.
MTU Path Discovery is also useful when a connection is first being established and the sender has no information at all about the intervening links. It is always advisable to use the largest MTU that the links will bear; the larger the MTU, the fewer packets the host needs to send.
You can test that MTU Path Discovery is functioning using the ping command; see the following section and the section "The IP Ping Command" later in this chapter for more information.
When you use the privileged EXEC command ping (IP packet internet groper function), the router sends ICMP Echo messages to check host reachability and network connectivity. If the router receives an ICMP Echo message, it sends an ICMP Echo Reply message to the source of the ICMP Echo message. See the section "The IP Ping Command" later in this chapter for more information about the use of the ping command.
The router supports the Internet header options Strict Source Route, Loose Source Route, Record Route, and Time Stamp.
The router examines the header options to every packet that passes through it. If it finds a packet with an invalid option, the router sends an ICMP Parameter Problem message to the source of the packet and discards the packet.
You can use the extended command mode of the ping command to specify several Internet header options. To see the list of the options you can specify, type a question mark at the extended commands prompt of the ping command.
The router maintains a cache of host-name-to-address mappings for use by the EXEC connect or telnet commands and related Telnet support operations. This cache speeds the process of converting names to addresses.
To define a static host-name-to-address mapping in the host cache, use the ip host global configuration command, as shown below:
ip host name addressThe argument name is the host name, and the argument address is the associated IP address. Additional addresses may be bound to a host name by repeated use of the ip host subcommand.
The following example uses the ip host command to define two static mappings.
ip host croff 192.31.7.18
ip host bisso-gw 10.2.0.2 192.31.7.33
You can specify that the Domain Name System (DNS) or IEN-116 Name Server automatically determines host-name-to-address mappings. Use these global configuration commands to establish different forms of dynamic name lookup:
To specify one or more hosts that supply name information, use the ip name-server global configuration command, as follows:
ip name-server server-address1 [server-address2 . . . server-address6]The arguments server-address are the Internet addresses of up to six name servers.
This command specifies host 131.108.1.111 as the primary name server, and host 131.108.1.2 as the secondary server.
ip name-server 131.108.1.111 131.108.1.2
The global configuration command ip domain-name defines a default domain name the router uses to complete unqualified host names (names without a dotted domain name appended to them). The full syntax of this command follows:
ip domain-name nameThe argument name is the domain name; do not include the initial period that separates an unqualified name from the domain name. The no ip domain-name command disables use of the Domain Name System.
This command defines cisco.com to be used as the default name.
ip domain-name cisco.com
Any IP host name that does not contain a domain name, that is, any name without a dot (.), will have the dot and cisco.com appended to it before being added to the host table.
By default, the IP Domain Name System-based host-name-to-address translation is enabled. To enable or disable this feature, use the ip domain-lookup global configuration command as follows:
ip domain-lookupTo specify the IP IEN-116 Name Server host-name-to-address translation, use the ip ip name-lookup global configuration command as follows:
ip ipname-lookupThis command is disabled by default; the no ip ipname-lookup command restores the default.
HP Probe Proxy support allows a router to respond to HP Probe Proxy Name requests. This will typically be used at sites which have HP equipment and are already using HP Probe. Use the interface subcommand ip probe proxy, to enable or disable HP Proxy Probe, as follows:
ip probe proxyTo use the proxy service, you must first enter the host name of the HP host into the host table through the configuration command ip hp-host. Full syntax follows:
ip hp-host hostname ip-addressThe hostname argument specifies the host's name and the argument ip-address specifies it's IP address. Use the no ip hp-host command with the appropriate arguments to remove the host name.
The following example specifies an HP host's name and address, and then enables Probe proxy.
ip hp-host BCWjo 131.108.1.27
interface ethernet 0
ip probe proxy
Commands that will help you to maintain and debug your HP-based network are listed in the sections "Monitoring the IP Network" and "Debugging the IP Network" at the end of this chapter.
To define a list of default domain names to complete unqualified host names, use the ip domain-list global configuration command. The full syntax of this command follows.
ip domain-list nameThe ip domain-list command is similar to the ip domain-name command, except that with ip domain-list you can define a list of domains, each to be tried in turn.
The argument name is the domain name; do not enter an initial period. Specify only one name when you enter the ip domain-list command.
Use the no ip domain-list command with the appropriate argument to delete a name from the list.
In the example below, several domain names are added to a list:
ip domain-list martinez.com
ip domain-list stanford.edu
The example below adds a name to, and then deletes a name from the list:
ip domain-list sunya.edu
no ip domain-list stanford.edu
An access list is a sequential collection of permit and deny conditions that apply to Internet addresses. The router tests addresses against the conditions in an access list one by one. The first match determines whether the router accepts or rejects the address. Because the router stops testing conditions after the first match, the order of the conditions is critical. If no conditions match, the router rejects the address.
The two steps involved in using access lists are:
You apply access lists in several ways:
The Cisco software supports two styles of access lists for IP. The standard IP access lists have a single address for matching operations. Extended IP access lists have two addresses with optional protocol type information for matching operations.
To create an access list, use the access-list global configuration command. Full command syntax follows:
access-list list {permit|deny} address wildcard-maskThe argument list is an integer from 1 through 99 that you assign to identify one or more permit/deny conditions as an access list. Access list 0 (zero) is predefined; it permits any address and is the default access list for all interfaces.
The router compares the address being tested to address, ignoring any bits specified in wildcard-mask. If you use the keyword permit, a match causes the address to be accepted. If you use the keyword deny, a match causes the address to be rejected.
The arguments address and wildcard-mask are 32-bit quantities written in dotted-decimal format. Address bits corresponding to wildcard mask bits set to 1 are ignored in comparisons; address bits corresponding to wildcard mask bits set to zero are used in comparisons. See the examples later in this section.
An access list can contain an indefinite number of actual and wildcard addresses. A wildcard address has a non-zero address mask and thus potentially matches more than one actual address. The router examines first the actual address, then the wildcard addresses. The order of the wildcard addresses is important because the router stops examining access-list entries after it finds a match.
The no access-list subcommand deletes the entire access list. To display the contents of all access lists, use the EXEC command show access-lists.
The following access list allows access for only those hosts on the three specified networks. It assumes that subnetting is not used; the masks apply to the host portions of the network addresses.
access-list 1 permit 192.5.34.0 0.0.0.255
access-list 1 permit 128.88.1.0 0.0.255.255
access-list 1 permit 36.0.0.0 0.255.255.255
To specify a large number of individual addresses more easily, you can omit the address mask that is all zeros from the access-list configuration command. Thus, the following two configuration commands are identical in effect:
access-list 2 permit 36.48.0.3
access-list 2 permit 36.48.0.3 0.0.0.0
Extended access lists allow finer granularity of control. They allow you to specify both source and destination addresses and some protocol and port number specifications.
To define an extended access list, use the extended version of the access-list subcommand.
access-list list {permit|deny} protocol source source-mask destination destination-mask [operator operand] [established]The argument list is an integer from 100 through 199 that you assign to identify one or more extended permit/deny conditions as an extended access list. Note that a list number in the range 100 to 199 distinguishes an extended access list from a standard access list. The condition keywords permit and deny determine whether the router allows or disallows a connection when a packet matches an access condition. The router stops checking the extended access list after a match occurs.
The argument protocol is one of the following keywords:
Use the keyword ip to match any Internet protocol, including TCP, UDP, and ICMP.
The argument source is an Internet source address in dotted-decimal format. The argument source-mask is a mask, also in dotted-decimal format, of source address bits to be ignored. The router uses the source and source-mask arguments to match the source address of a packet. For example, to match any address on a Class C network 192.31.7.0, the argument source-mask would be 0.0.0.255. The arguments destination and destination-mask are dotted-decimal values for matching the destination address of a packet.
To differentiate further among packets, you can specify the optional arguments operator and operand to compare destination ports, service access points, or contact names. Note that the ip and icmp protocol keywords do not allow port distinctions.
For the tcp and udp protocol keywords, the argument operator can be one of these keywords:
The argument operand is the decimal destination port for the specified protocol.
For the TCP protocol there is an additional keyword, established, that does not take an argument. A match occurs if the TCP datagram has the ACK or RST bits set, indicating an established connection. The non-matching case is that of the initial TCP datagram to form a connection; the software goes on to other rules in the access list to determine if a connection is allowed in the first place.
For an example of using an extended access list, suppose you have an Ethernet-to-Internet routing network, and you want any host on the Ethernet to be able to form TCP connections to any host on the Internet. However, you do not want Internet hosts to be able to form TCP connections into the Ethernet except to the mail (SMTP) port of a dedicated mail host.
To do this, you must ensure that the initial request for an SMTP connection is made on TCP destination port 25 from port X where X is a number greater than 1023. The two port numbers continue to be used throughout the life of the connection, with the originator always using port 25 as the destination, and the acceptor always using port X as the destination. The fact that the secure system behind the router will always be accepting mail connections on port 25, with a foreign port number greater than 1023, is what makes it possible to separately allow/disallow incoming and outgoing services. Also remember that the access list used is that of the interface on which the packet would ordinarily be transmitted.
In the following example, the Ethernet network is a Class B network with the address 128.88.0.0 and the mail host's address is 128.88.1.2.
access-list 101 permit tcp 128.88.0.0 0.0.255.255 0.0.0.0 255.255.255.255
access-list 102 permit tcp 0.0.0.0 255.255.255.255 128.88.0.0 0.0.255.255 established
access-list 102 permit tcp 0.0.0.0 255.255.255.255 128.88.1.2 eq 25
interface serial 0
access-group 101
interface ethernet 0
access-group 102
This is a complex example, designed to show the power of all the options we've just discussed. The access group interface subcommand will be described in detail shortly.
To restrict incoming and outgoing connections between a particular virtual terminal line and the addresses in an access list, use the access-class line configuration subcommand. Full command syntax for this command follows:
access-class list {in|out}This command restricts connections on a line or group of lines to certain Internet addresses.
The argument list is an integer from 1 through 99 that identifies a specific access list of Internet addresses.
The keyword in applies to incoming connections, such as virtual terminals. The keyword out applies to outgoing Telnet connections.
The no access-class line configuration subcommand removes access restrictions on the line for the specified connections.
The following example defines an access list that permits only hosts on network 192.89.55.0 to connect to the virtual terminals on the router.
access-list 12 permit 192.89.55.0 0.0.0.255
line 1 5
access-class 12 in
Use the access-class keyword out to define the access checks made on outgoing connections. (A user who types a host name at the router prompt to initiate a Telnet connection is making an outgoing connection.)
The following example defines an access list that denies connections to networks other than network 36.0.0.0 on terminal lines 1 through 5.
access-list 10 permit 36.0.0.0 0.255.255.255
line 1 5
access-class 10 out
To display the access lists for a particular terminal line, use the EXEC command show line and specify the line number.
To control access to an interface, use the access-group interface subcommand, as shown below:
ip access-group listThe argument list is an integer from 1 through 199 that specifies an access list.
After receiving and routing a packet to a controlled interface, the router checks the destination address of the packet against the access list. If the access list permits the address, the router transmits the packet. If the access list rejects the address, the router discards the packet and returns an ICMP Destination Unreachable message. Access lists are applied on outbound interfaces, to outbound traffic.
The following example applies list 101:
interface ethernet 0
access-group 101
All aspects of the IP Security Option (IPSO) are set up using configuration commands. The Cisco IPSO support addresses both the Basic and Extended security options described in a draft of the IPSO circulated by the Defense Communications Agency. This draft document superceded RFC1038, but has not yet been published as an RFC.
The following list describes some of the abilities of the IP security option (IPSO).
The following definitions apply to the descriptions of IPSO in this section.
Level Keyword Bit Pattern
Reserved4 0000 0001
TopSecret 0011 1101
Secret 0101 1010
Confidential 1001 0110
Reserved3 0110 0110
Reserved2 1100 1100
Unclassified 1010 1011
Reserved1 1111 0001
Genser 1000 0000
Siop-Esi 0100 0000
SCI 0010 0000
NSA 0001 0000
The no ip security interface subcommand resets an interface to its default state, dedicated, unclassified Genser; no extended state is allowed.
no ip securityUse one of the ip security commands to enable other kinds of security.
The ip security dedicated interface subcommand sets the interface to the requested classification and authorities.
ip security dedicated level authority [authority . . .]All traffic entering the system on this interface must have a security option that exactly matches this label. Any traffic leaving via this interface will have this label attached to it. The levels and authorities were listed previously in tables.
In the following example, we set a confidential level with Genser authority:
ip security dedicated confidential Genser
The ip security multilevel interface subcommand sets the interface to the requested range of classifications and authorities. All traffic entering or leaving the system must have a security option that falls within this range. The levels are set with this command:
ip security multilevel level1 [authority ...] to level2 authority2 [authority2...]Being within range requires that the following two conditions be met:
In the example below, we specify levels Unclassified to Secret and NSA authority.
ip security multilevel unclassified to secret nsa
IPSO allows you to choose from several interface subcommands if you decide you need to modify your security levels.
The ip security ignore-authorities interface subcommand ignores the authorities field of all incoming datagrams. The value used in place of this field will be the authority value declared for the given interface. Full syntax for this command follows.
ip security ignore-authoritiesThis action is only allowed for single-level interfaces. Enter the no ip security ignore-authorities command to turn this function off.
The ip security implicit-labelling interface subcommand accepts datagrams on the interface, even if they do not include a security option. If your interface has multilevel security set, you must use the second form of the command (because it specifies the precise level and authority to use when labeling the datagram, just like your original ip security multilevel subcommand.) The full syntax of the ip security implicit-labelling command follows.
ip security implicit-labellingEnter the ip security implicit-labelling command (optionally, with the appropriate arguments) to turn these functions off.
In the example below, an interface is set for security and will accept unlabeled datagrams.
ip security dedicated confidential genser
ip security implicit-labelling
The ip security extended-allowed interface subcommand accepts datagrams on the interface that have an extended security option present. Full syntax is shown below:
ip security extended-allowedThe default condition rejects the datagram immediately; the no ip security extended-allowed command restores this default.
The ip security add interface subcommand ensures that all datagrams leaving the router on this interface contain a basic security option. Its full syntax is as follows.
ip security addIf an outgoing datagram does not have a security option present, this subcommand will add one as the first IP option. The security label added to the option field is the label that was computed for this datagram when it first entered the router. Because this action is performed after all the security tests have been passed, this label will either be the same as or will fall within the range of the interface. This action is always enforced on multilevel interfaces.
The ip security strip interface subcommand removes any basic security option that may be present on a datagram leaving the router through this interface. The full syntax of this command follows.
ip security stripThis is performed after all security tests in the router have been passed and is not allowed for multilevel interfaces.
The ip security first interface subcommand prioritizes the presence of security options on a datagram. The full syntax of this command is as shown:
ip security firstIf a basic security option is present on an outgoing datagram, but it is not the first IP option, then it is moved to the front of the options field when this subcommand is used.
In order to fully comply with IPSO, the default values for the minor keywords have become complex:
Table 1-6 provides a list of all default values.
Type Level Authority Implicit Add
none (none) (none) on off
dedicated Unclassified Genser on off
dedicated any any off on
multilevel any any off on
The default value for an interface is "dedicated, unclassified genser." Note that this implies implicit labeling. This may seem unusual, but it makes the system entirely transparent to datagrams without options. This is the setting generated when the no ip security subcommand is given.
In this first example, three Ethernet interfaces are presented. These interfaces are running at security levels of Confidential Genser, Secret Genser, and Confidential to Secret Genser as shown in .
The following commands set up interfaces for the configuration in .
interface ethernet 0
ip security dedicated confidential genser
interface ethernet 1
ip security dedicated secret genser
interface ethernet 2
ip security multilevel confidential genser to secret genser
end
It is possible for the set up to be much more complex.
In this next example, there are devices on Ethernet 0 that cannot generate a security option, and so must accept datagrams without a security option. These hosts also crash when they receive a security option, therefore, never place one on such interfaces. Furthermore, there are hosts on the other two networks that are using the extended security option to communicate information, so you must allow these to pass through the system. Finally, there is also a host on Ethernet 2 that requires the security option to be the first option present, and this condition must also be specified. The new configuration follows.
interface ethernet 0
ip security dedicated confidential genser
ip security implicit-labelling
ip security strip
interface ethernet 1
ip security dedicated secret genser
ip security extended-allowed
!
interface ethernet 2
ip security multilevel confidential genser to secret genser
ip security extended-allowed
ip security first
Debugging of security-related problems can be performed by using the EXEC command debug ip-packet. Each time a datagram fails any security test in the system, a message is logged describing the exact cause of failure.
Security failure is also reported to the sending host when allowed by the specification. This calculation on whether to send an error message can be somewhat confusing. It depends upon both the security label in the datagram and the label of the incoming interface. First, the label contained in the datagram is examined for anything obviously wrong. If nothing is wrong, it should be assumed to be correct. If there is something wrong, then the datagram should be treated as unclassified genser. Then this label is compared to the interface range, and the appropriate action is taken.
Classification Authorities Action Taken
Too low Too low No Response
Good No Response
Too high No Response
In range Too Low No Response
Good Accept
Too high Send Error
Too high Too Low No Response
In range Send Error
Too high Send Error
The range of ICMP error messages that can be generated by the security code is very small. The only possible error messages are:
IP accounting is enabled on a per-interface basis. The IP accounting support records the number of bytes and packets switched through the system on a source and destination IP address basis. Only transit IP traffic is measured and only on an outbound basis; traffic generated by the router, or terminating in the router, is not included in the accounting statistics.
The interface subcommand ip accounting enables or disables IP accounting for transit traffic outbound on an interface. Full syntax of this command follows.
ip accountingIt does not matter whether or not IP fast-switching or IP access lists are being used on that interface; the numbers will be accurate; however, IP accounting does not keep statistics if autonomous switching is set.
The global configuration command ip accounting-threshold enables or disables IP accounting for transit traffic outbound on an interface, as follows.
ip accounting-threshold thresholdThe accounting threshold defines the maximum number of entries (source and destination address pairs) that the router accumulates, preventing IP accounting from possibly consuming all available free memory. This level of memory consumption could occur in a router that is switching traffic for many hosts. The default threshold value is 512 entries. Overflows will be recorded; see the monitoring commands for display formats.
The following example sets the IP accounting threshold to only 500 entries.
ip accounting-threshold 500
Use the ip accounting-list global configuration command to filter accounting information for hosts. The full syntax for this command follows.
ip accounting-list ip-address maskThe source and destination address of each IP datagram is logically ANDed with the mask and compared with ip-address. If there is a match, the information about the IP datagram will be entered into the accounting database. If there is no match, then the IP datagram is considered a transit datagram and will be counted according to the setting of the ip accounting-transits command described next.
Use the no ip accounting-list command with the appropriate argument to remove this function.
The ip accounting-transits global configuration command controls the number of transit records that will be stored in the IP accounting database. The full syntax of this command is as follows.
ip accounting-transits countTransit entries are those that do not match any of the filters specified by ip accounting-list commands. If you do not define filters, the router will not maintain transit entries. To maintain accurate accounting totals, the router software maintains two accounting databases: an active and a checkpointed database.
Use the no ip accounting-transits command to remove this function.
The following example specifies that no more than 100 transit records are stored.
ip accounting-transit 100
Use the EXEC command show ip accounting to display the active accounting database. The EXEC command show ip accounting checkpoint displays the checkpointed database. The EXEC command clear ip accounting clears the active database and creates the checkpointed database. See the sections "Maintaining the IP Network" and "Monitoring the IP Network" later in this chapter for more options on monitoring your network's accounting.
This section discusses how to configure static routes, source routing, how to control IP processing on serial interfaces, and how to manage fast-switching.
The command no ip source-route causes the system to discard any IP datagram containing a source-route option. The ip source-route global configuration subcommand allows the router to handle IP datagrams with source routing header options.
ip source-routeThe default behavior is to perform the source routing.
The ip unnumbered interface subcommand enables IP processing on a serial interface, but does not assign an explicit IP address to the interface. The full command syntax is shown below:
ip unnumbered interface-nameThe argument interface-name is the name of another interface on which the router has an assigned IP address. The interface may not be another unnumbered interface, or the interface itself.
Whenever the unnumbered interface generates a packet (for example, for a routing update), it uses the address of the specified interface as the source address of the IP packet. It also uses the address of the specified interface in determining which routing processes are sending updates over the unnumbered interface. Restrictions include:
In the example below, the first serial interface is given Ethernet 0's address.
interface ethernet 0
ip address 131.108.6.6 255.255.255.0
interface serial 0
ip unnumbered ethernet 0
The transmit-interface interface subcommand assigns a transmit interface to a receive-only interface.
transmit-interface interface-nameWhen a route is learned on this receive-only interface, the interface designated as the source of the route is converted to interface-name. This is useful in setting up dynamic IP routing over a simplex circuit, that is, a circuit that receives only or transmits only. When packets are routed out interface-name, they are sent to the IP address of the source of the routing update. To reach this IP address on a transmit-only Ethernet link, a static ARP entry mapping this IP address to the hardware address of the other end of the link is required.
This example illustrates how to configure IP on two routers sharing transmit only and receive only Ethernet connections.
interface ethernet 0
ip address 128.9.1.1
!
interface ethernet 1
ip address 128.9.1.2
transmit-interface ethernet 0
!
!use show interfaces command to find router2-MAC-address-E0
arp router2-MAC-address-E0 128.9.1.4 arpa
interface ethernet 0
ip address 128.9.1.3
transmit-interface ethernet 1
!
interface ethernet 1
ip address 128.9.1.4
!
!use show interfaces command to find router1-MAC-address-E1
arp router1-MAC-address-E1 128.9.1.1 arpa
The ip route-cache interface subcommand controls the use of outgoing packets on a high-speed switching cache for IP routing. The route cache is enabled by default and allows load-balancing on a per-destination basis.
ip route-cacheTo enable load-balancing on a per-packet basis, use the no ip route-cache command to disable fast-switching.
Cisco routers generally offer better packet transfer performance when fast switching is enabled with one exception. On networks using slow serial links (56K and below) disabling fast switching to enable the per-packet load-sharing is usually the better choice.
Autonomous switching gives a router faster packet processing by allowing the cBus to switch packets independently, without interrupting the system processor. It works only in AGS+ systems with high-speed network controller cards, such as the CSC-MEC and CSC-FCI, and with a cBus controller card running microcode version 1.4 or later. (See the "Microcode Revisions" section in the release notes accompanying this publication for other microcode revision requirements.)
Autonomous switching is enabled by adding the cbus keyword to the existing ip route-cache interface subcommand. The syntax to enable and disable this function follows.
ip route-cache [cbus]By default, IP autonomous switching is not enabled. The ip route-cache command sets up fast switching, and by default, fast switching is enabled on all MCI/cBus interfaces.
To turn on both fast switching and autonomous switching use this syntax:
ip route-cache cbusTo turn off both fast and autonomous switching on an interface, add the no keyword as shown below:
no ip route-cacheTo turn off autonomous switching only on an interface, use this syntax:
no ip route-cache cbusTo return to the default, use the standard ip route-cache command:
ip route-cacheThis turns fast switching on and autonomous switching off.
You can compress the TCP headers of your Internet packets in order to reduce the size of your packets. TCP header compression is only supported on serial lines using HDLC encapsulation. (RFC1144 specifies the compression process.) Compressing the TCP header can speed up Telnet connections dramatically. In general, TCP header compression is advantageous when your traffic consists of many small packets, not for traffic that consists of large packets. Transaction-processing (using terminals, usually) tends to use small packets while file transfers use large packets. This feature only compresses the TCP header, of course, so it has no effect on UDP packets or other protocol headers.
The ip tcp header-compression interface subcommand enables header compression. Full command syntax for this command follows:
ip tcp header-compression [passive]If you use the optional passive keyword, outgoing packets are only compressed if TCP incoming packets on the same interface are compressed. Without the passive keyword, the router will compress all traffic. The no ip tcp header-compression command (the default) disables compression. You must enable compression on both ends of a serial connection.
When compression is enabled, fast switching is disabled which means that fast interfaces like T-1 can overload the router. Think about your network's traffic characteristics before using this command. See the section "Monitoring the IP Network" for more explanation of commands for monitoring your compressed traffic.
The ip tcp compression-connections interface subcommand specifies the total number of header compression connections that can exist on an interface. Each connection sets up a compression cache entry, so you are, in effect, specifying the maximum number of cache entries and the size of the cache.
ip tcp compression-connections numberThe argument number specifies the number of connections the cache will support. The default is 16; number can vary between 3 and 256, inclusive. Too few cache entries for the specific interface can lead to degraded performance while too many cache entries leads to wasted memory.
In the following example, the first serial interface is set for header compression with a maximum often cache entries.
interface serial 0
ip tcp header-compression
ip tcp compression-connections 10
This section shows complete configuration examples for the most common configuration situations.
In the example below, the second serial interface is given ethernet 0's address. The serial interface is unnumbered.
interface ethernet 0
ip address 145.22.4.67 255.255.255.0
interface serial 1
ip unnumbered ethernet 0
In this example, flooding of IP broadcasts is enabled on all interfaces (two Ethernet and two serial). No bridging is permitted. (The access list denies all protocols.) No specific UDP protocols are listed by a separate ip forward-protocol udp command, so the default protocols (TFTP, DNS, IEN-116, Time, NetBios, and BootP) will be flooded.
ip forward-protocol spanning-tree
bridge 1 protocol dec
access-list 201 deny 0x0000 0xFFFF
interface ethernet 0
bridge-group 1
bridge-group 1 input-type-list 201
interface ethernet 1
bridge-group 1
bridge-group 1 input-type-list 201
interface serial 0
bridge-group 1
bridge-group 1 input-type-list 201
interface serial 1
bridge-group 1
bridge-group 1 input-type-list 201
In the example below, networks 132 and 196 are separated by a backbone as shown in
. The two networks are brought into the same logical network through the use of secondary addresses.
interface ethernet 2
ip address 192.5.10.1 255.255.255.0
ip address 131.108.3.1 255.255.255.0 secondary
interface ethernet 1
ip address 192.5.10.2 255.255.255.0
ip address 131.108.3.2 255.255.255.0 secondary
The example below changes some of the ICMP defaults for the first Ethernet interface. Disabling the sending of redirects could mean you don't think your routers on this segment will ever have to send a redirect. Lowering the error processing load on your router would be an efficiency move in this case. Disabling the unreachables messages will have a secondary effect--it will also disable MTU path discovery because path discovery works by having routers send unreachables messages. If you have a network segment with a small number of devices and an absolutely reliable traffic pattern--which could easily happen on a segment with a small number of little-used user devices--this would disable options your router would be unlikely to need to use anyway.
interface ethernet 0
no ip unreachables
no ip redirects
In this example, one server is on network 191.24.1.0. and the other is on network 110.44.0.0, and you want to permit IP broadcasts from all hosts to reach these servers. The example below illustrates how to configure the router that connects network 110 to network 191.
ip forward-protocol udp
!
interface ethernet 1
ip helper-address 110.44.23.7
interface ethernet 2
ip helper-address 191.24.1.19
The following example has a network segment with Hewlett-Packard devices on it. The commands listed customize the router's first Ethernet port to accommodate the HP devices.
ip hp-host bl4zip 131.24.6.27
interface ethernet 0
arp probe
ip probe proxy
The example below establishes a domain list with several alternate domain names.
ip domain-list cisco.com
ip domain-list telecomprog.edu
ip domain-list merit.edu
In the next example, network 36.0.0.0 is a Class A network whose second octet specifies a subnet; that is, its subnet mask is 255.255.0.0. The third and fourth octets of a network 36.0.0.0 address specify a particular host. Using access list 2, the router would accept one address on subnet 48 and reject all others on that subnet. The router would accept addresses on all other network 36.0.0.0 subnets; that is the purpose of the last line of the list.
access-list 2 permit 36.48.0.3 0.0.0.0
access-list 2 deny 36.48.0.0 0.0.255.255
access-list 2 permit 36.0.0.0 0.255.255.255
interface ethernet 0
access-group 2
In the example below, the first line permits any incoming TCP connections with destination port greater than 1023. The second line permits incoming TCP connections to the SMTP port of host 128.88.1.2. The last line permits incoming ICMP messages for error feedback.
access-list 102 permit tcp 0.0.0.0 255.255.255.255 128.88.0.0 0.0.255.255 gt 1023
access-list 102 permit tcp 0.0.0.0 255.255.255.255 128.88.1.2 0.0.0.0 eq 25
access-list 102 permit icmp 0.0.0.0 255.255.255.255 128.88.0.0 255.255.255.255
interface ethernet 0
access-group 102
Use the EXEC commands described in this section to maintain IP routing caches, tables, and databases.
The clear arp-cache EXEC command removes all dynamic entries from the Address Resolution Protocol (ARP) cache, and clears the fast-switching cache. Enter this command at the EXEC prompt:
clear arp-cacheUse the EXEC command clear host to removes one or all entries from the host-name-and-address cache, depending upon the argument you specify.
clear host {name|*}To remove a particular entry, use the argument name to specify the host. To clear the entire cache, use the asterisk (*) argument.
Use the clear ip accounting command to clear the active database when IP accounting is enabled. Use the clear ip accounting checkpoint command to clear the checkpointed database when IP accounting is enabled. You may also clear the checkpointed database by issuing the clear ip accounting command twice in succession. Enter one of these commands at the EXEC prompt.
clear ip accountingUse the clear ip route command to remove a route from the IP routing table. Enter this command at the EXEC prompt:
clear ip route {network|*}The optional argument network is the network or subnet address of the route that you want to remove. Use the asterisk (*) argument to clear the entire routing table.
Use the EXEC commands described in this section to obtain displays of activity on the IP network.
Use the show ip ? command to display a list of all the available EXEC commands for monitoring the IP network. Following is sample output:
accounting <checkpoint> Accounting statistics
arp IP ARP table
bgp <address> Border Gateway Protocol
cache Fast switching cache
egp EGP peers
interface <name> Interface settings
protocols Routing processes
route <network> Routing table
tcp <keyword> TCP information, type "show ip tcp ?" for list
traffic Traffic statistics
To display the ARP cache, use the following EXEC command:
show ip arpThis command displays the contents of the ARP cache. ARP 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-8 describes the fields seen.
Protocol Address Age (min) Hardware Addr Type Interface
AppleTalk 4.57 0 aa00.0400.6408 ARPA Ethernet0
Internet 131.108.1.140 137 aa00.0400.6408 ARPA Ethernet0
Internet 131.108.1.111 156 0800.2007.8866 ARPA Ethernet0
AppleTalk 4.128 0 aa00.0400.6508 ARPA Ethernet0
AppleTalk 4.129 - aa00.0400.0134 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
Internet 131.108.1.27 75 0800.200a.8674 ARPA Ethernet0
Field Description
Protocol Protocol for network address in the Address field
Address The network address that corresponds to Hardware
Addr
Age (min) Age, in minutes, 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 ip accounting command displays the active accounting database. The show ip accounting checkpoint command displays the checkpointed database.
show ip accounting show ip accounting checkpointFollowing is sample output for the show ip accounting and show ip accounting checkpoint commands:
Source Destination Packets Bytes
131.108.19.40 192.67.67.20 7 306
131.108.13.55 192.67.67.20 67 2749
131.108.2.50 192.12.33.51 17 1111
131.108.2.50 130.93.2.1 5 319
131.108.2.50 130.93.1.2 463 30991
131.108.19.40 130.93.2.1 4 262
131.108.19.40 130.93.1.2 28 2552
131.108.20.2 128.18.6.100 39 2184
131.108.13.55 130.93.1.2 35 3020
131.108.19.40 192.12.33.51 1986 95091
131.108.2.50 192.67.67.20 233 14908
131.108.13.28 192.67.67.53 390 24817
131.108.13.55 192.12.33.51 214669 9806659
131.108.13.111 128.18.6.23 27739 1126607
131.108.13.44 192.12.33.51 35412 1523980
192.31.7.21 130.93.1.2 11 824
131.108.13.28 192.12.33.2 21 1762
131.108.2.166 192.31.7.130 797 141054
131.108.3.11 192.67.67.53 4 246
192.31.7.21 192.12.33.51 15696 695635
192.31.7.24 192.67.67.20 21 916
131.108.13.111 128.18.10.1 16 1137
The output lists the source and destination addresses, as well as total number of packets and bytes for each address pair.
The show hosts command displays the default domain name, the style of name lookup service, a list of name server hosts, and the cached list of host names and addresses.
show hostsEnter show hosts at the user-level prompt.
Following is sample output:
show hosts
Default domain is CISCO.COM
Name/address lookup uses domain service
Name servers are 255.255.255.255
Host Flags Age Type Address(es)
SLAG.CISCO.COM (temp, OK) 1 IP 131.108.4.10
CHAR.CISCO.COM (temp, OK) 8 IP 192.31.7.50
CHAOS.CISCO.COM (temp, OK) 8 IP 131.108.1.115
DIRT.CISCO.COM (temp, EX) 8 IP 131.108.1.111
DUSTBIN.CISCO.COM (temp, EX) 0 IP 131.108.1.27
DREGS.CISCO.COM (temp, EX) 24 IP 131.108.1.30
In the display:
If you have used the ip hp-host configuration command (see the section "HP Probe Proxy Support"), the show hosts command will display these host names as type HP-IP.
The show ip cache command displays the routing table cache that is used to rapidly switch Internet traffic. Enter this command at the EXEC prompt:
show ip cacheFollowing is sample output:
IP routing cache version 435, entries 19/20, memory 880
Hash Destination Interface MAC Header
*6D/0 128.18.1.254 Serial0 0F000800
*81/0 131.108.1.111 Ethernet0 00000C002C83AA00040002340800
*8D/0 131.108.13.111 Ethernet0 AA0004000134AA00040002340800
99/0 128.18.10.1 Serial0 0F000800
*9B/0 128.18.10.3 Serial0 0F000800
*B0/0 128.18.5.39 Serial0 0F000800
*B6/0 128.18.3.39 Serial0 0F000800
*C0/0 131.108.12.35 Ethernet0 AA0004000134AA00040002340800
*C4/0 131.108.2.41 Ethernet0 00000C002C83AA00040002340800
*C9/0 192.31.7.17 Ethernet0 2424C01F0711AA00040002340800
*CD/0 192.31.7.21 Ethernet0 2424C01F0715AA00040002340800
*D5/0 131.108.13.55 Ethernet0 AA0004006508AA00040002340800
*DC/0 130.93.1.2 Serial0 0F000800
*DE/0 192.12.33.51 Serial0 0F000800
*DF/0 131.108.2.50 Ethernet0 AA0004000134AA00040002340800
*E7/0 131.108.3.11 Ethernet0 00000C002C83AA00040002340800
*EF/0 192.12.33.2 Serial0 0F000800
*F5/0 192.67.67.53 Serial0 0F000800
*F5/1 131.108.1.27 Ethernet0 AA0004006508AA00040002340800
*FE/0 131.108.13.28 Ethernet0 AA0004006508AA00040002340800
In the display:
To display the usability status of interfaces, use the EXEC command show interfaces. If the interface hardware is usable, the interface is marked "up." If the interface can provide two-way communication, the line protocol is marked "up." For an interface to be usable, both the interface hardware and line protocol must be up.
show ip interface [interface unit]If you specify an optional interface type, you will see only information on that specific interface.
If you specify no optional parameters you will see information on all the interfaces.
The following sample output was obtained by specifying the serial 0 interface:
Serial 0 is up, line protocol is up
Internet address is 192.31.7.129, subnet mask is 255.255.255.240
Broadcast address is 255.255.255.255
Address determined by non-volatile memory
MTU is 1500 bytes
Helper address is 131.108.1.255
Outgoing access list is not set
Proxy ARP is enabled
Security level is default
ICMP redirects are always sent
ICMP unreachables are always sent
ICMP mask replies are never sent
IP fast switching is enabled
Gateway Discovery is disabled
IP accounting is enabled, system threshold is 512
TCP/IP header compression is disabled
Probe proxy name replies are disabled
In the display:
The show ip route command displays the IP routing table. Enter this command at the EXEC prompt:
show ip route [network]A specific network in the routing table is displayed when the optional network argument is entered.
Following is sample output with the optional network argument:
Routing entry for 131.108.1.0
Known via "igrp 109", distance 100, metric 1200
Redistributing via igrp 109
Last update from 131.108.6.7 on Ethernet0, 35 seconds ago
Routing Descriptor Blocks:
* 131.108.6.7, from 131.108.6.7, 35 seconds ago, via Ethernet0
Route metric is 1200, traffic share count is 1
Total delay is 2000 microseconds, minimum bandwidth is 10000 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
This display is the result of the show ip route command without the network number:
Codes: I - IGRP derived, R - RIP derived, H - HELLO derived
C - connected, S - static, E - EGP derived, B - BGP derived
* - candidate default route
Gateway of last resort is 131.108.6.7 to network 131.119.0.0
I*Net 128.145.0.0 [100/1020300] via 131.108.6.6, 30 sec, Ethernet0
I Net 192.68.151.0 [100/160550] via 131.108.6.6, 30 sec, Ethernet0
I Net 128.18.0.0 [100/8776] via 131.108.6.7, 58 sec, Ethernet0
via 131.108.6.6, 31 sec, Ethernet0
E Net 128.128.0.0 [140/4] via 131.108.6.64, 130 sec, Ethernet0
C Net 131.108.0.0 is subnetted (mask is 255.255.255.0), 54 subnets
I 131.108.144.0 [100/1310] via 131.108.6.7, 78 sec, Ethernet0
C 131.108.91.0 is directly connected, Ethernet1
The output begins by showing the address of the gateway of last resort for this network. In the rest of the display:
The show ip traffic command displays IP protocol statistics. Enter this command at the EXEC prompt:
show ip trafficFollowing is sample output:
IP statistics:
Rcvd: 98 total, 98 local destination
0 format errors, 0 checksum errors, 0 bad hop count
0 unknown protocol, 0 not a gateway
0 security failures, 0 bad options
Frags: 0 reassembled, 0 timeouts, 0 too big
0 fragmented, 0 couldn't fragment
Bcast: 38 received, 52 sent
Sent: 44 generated, 0 forwarded
0 encapsulation failed, 0 no route
ICMP statistics:
Rcvd: 0 checksum errors, 0 redirects, 0 unreachable, 0 echo
0 echo reply, 0 mask requests, 0 mask replies, 0 quench
0 parameter, 0 timestamp, 0 info request, 0 other
Sent: 0 redirects, 3 unreachable, 0 echo, 0 echo reply
0 mask requests, 0 mask replies, 0 quench, 0 timestamp
0 info reply, 0 time exceeded, 0 parameter problem
UDP statistics:
Rcvd: 56 total, 0 checksum errors, 55 no port
Sent: 18 total, 0 forwarded broadcasts
TCP statistics:
Rcvd: 0 total, 0 checksum errors, 0 no port
Sent: 0 total
EGP statistics:
Rcvd: 0 total, 0 format errors, 0 checksum errors, 0 no listener
Sent: 0 total
IGRP statistics:
Rcvd: 73 total, 0 checksum errors
Sent: 26 total
HELLO statistics:
Rcvd: 0 total, 0 checksum errors
Sent: 0 total
ARP statistics:
Rcvd: 20 requests, 17 replies, 0 reverse, 0 other
Sent: 0 requests, 9 replies (0 proxy), 0 reverse
Probe statistics:
Rcvd: 6 address requests, 0 address replies
0 proxy name requests, 0 other
Sent: 0 address requests, 4 address replies (0 proxy)
0 proxy name replies
In the display:
The show ip tcp header-compression command shows statistics on compression. Enter this command at the EXEC prompt:
show ip tcp header-compressionFollowing is sample output:
TCP/IP header compression statistics:
Interface Serial1: (passive, compressing)
Rcvd: 4060 total, 2891 compressed, 0 unknown type, 0 errors
0 dropped, 1 buffer copies, 0 buffer failures
Sent: 4284 total, 3224 compressed,
105295 bytes saved, 661973 bytes sent
1.15 efficiency improvement factor
Connect: 16 slots, 1543 long searches, 2 misses, 99% hit ratio
Five minute miss rate 0 misses/sec, 0 max misses/sec
In the display:
The EXEC command ping allows the administrator to diagnose network connectivity by sending ICMP Echo Request messages and waiting for ICMP Echo Reply messages. The following sample session shows ping command output for IP:
Protocol [ip]:
Target IP address: 131.108.1.27
Repeat count [5]:
Datagram size [100]: 1000
Timeout in seconds [2]:
Extended commands [n]: yes
Source address:
Type of service [0]:
Set DF bit in IP header? [no]: yes
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Type escape sequence to abort.
Sending 5, 1000-byte ICMP Echos to 131.108.2.27, timeout is 2 seconds:
M.M.M
Success rate is 60 percent, round-trip min/avg/max = 4/6/12 ms
The ping command uses the following notation to indicate the responses it sees:
Char Meaning
! Each exclamation point indicates receipt of a reply.
. Each period indicates the network server timed out while waiting
for a reply.
U Destination unreachable error PDU received.
N Network unreachable.
P Protocol unreachable.
Q Source quench.
M Could not fragment.
? Unknown packet type.
To abort a ping session, type the escape sequence (by default, Ctrl-^, X).
The IP ping command, in verbose mode, accepts a data pattern. The pattern is specified as a 16-bit hexadecimal number. The default pattern is 0xABCD. Patterns such as all ones or all zeros can be used to debug data sensitivity problems on CSU/DSUs.
You can also specify the router address to use as the source address for ping packets, which here is 131.108.105.62.
Sandbox#ping
Protocol [ip]:
Target IP address: 131.108.1.111
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: yes
Source address: 131.108.105.62
Type of service [0]:
Set DF bit in IP header? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 131.108.1.111, timeout is 2 seconds:
!!!!!
Success rate is 100 percent, round-trip min/avg/max = 4/4/4 ms
The EXEC command trace allows you to discover the routing path your router's packets are taking through your network. It sends probe packets to destination hosts and routers and takes advantage of the ICMP message packets that are generated when a packet exceeds its time-to-live (TTL) value.
The trace command offers default and settable parameters for specifying a simple or extended trace mode.
The trace command works by taking advantage of the error messages generated by routers when a datagram exceeds its time-to-live (TTL) value.
The trace command starts by sending probe datagrams with a TTL value of one. This causes the first router to discard the probe datagram and send back an error message. The trace command sends several probes at each TTL level and displays the round trip time for each.
The trace command sends out one probe at a time. Each outgoing packet may result in one or two error messages. A time exceeded error message indicates that an intermediate router has seen and discarded the probe. A destination unreachable error message indicates that the destination node has received the probe and discarded it because it could not deliver the packet. If the timer goes off before a response comes in, trace prints an asterisk (*).
The trace command terminates when the destination responds, when the maximum TTL was exceeded, or when the user interrupts the trace with the escape sequence, by default Ctrl-^,X).
Due to bugs in the IP implementations of various hosts and routers, the trace command may behave in odd ways.
Not all destinations will correctly respond to a probe message by sending back an ICMP port unreachable message. A long sequence of TTL levels with only asterisks, terminating only when the maximum TTL has been reached, may indicate this problem.
There is a known problem with the way some hosts handle an ICMP TTL exceeded message. Some hosts generate an ICMP message but they re-use the TTL of the incoming packet. Since this is zero, the ICMP packets do not make it back. When you trace the path to such a host, you may see a set of TTL values with asterisks (*). Eventually the TTL gets high enough that the ICMP message can get back. For example, if the host is six hops away, trace will timeout on responses 6 through 11.
When tracing IP routes, the following trace command parameters may be set:
The following table describes the output from this test.
Char Meaning
nn msec The probe was successfully returned in nn milliseconds.
* The probe timed out.
? Unknown packet type.
Q Source quench.
P Protocol unreachable.
N Network unreachable.
U Host unreachable.
The following is an example of the simple use of trace.
chaos#trace ABA.NYC.mil
Type escape sequence to abort.
Tracing the route to ABA.NYC.mil (26.0.0.73)
1 DEBRIS.CISCO.COM (131.108.1.6) 1000 msec 8 msec 4 msec
2 BARRNET-GW.CISCO.COM (131.108.16.2) 8 msec 8 msec 8 msec
3 EXTERNAL-A-GATEWAY.STANFORD.EDU (192.42.110.225) 8 msec 4 msec 4 msec
4 BB2.SU.BARRNET.NET (131.119.254.6) 8 msec 8 msec 8 msec
5 SU.ARC.BARRNET.NET (131.119.3.8) 12 msec 12 msec 8 msec
6 MOFFETT-FLD-MB.in.MIL (192.52.195.1) 216 msec 120 msec 132 msec
7 ABA.NYC.mil (26.0.0.73) 412 msec 628 msec 664 msec
Following is an example of going through the extended dialog of the trace command.
chaos#trace
Protocol [ip]:
Target IP address: mit.edu
Source address:
Numeric display [n]:
Timeout in seconds [3]:
Probe count [3]:
Minimum Time to Live [1]:
Maximum Time to Live [30]:
Port Number [33434]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Type escape sequence to abort.
Tracing the route to MIT.EDU (18.72.2.1)
1 DEBRIS.CISCO.COM (131.108.1.6) 1000 msec 4 msec 4 msec
2 BARRNET-GW.CISCO.COM (131.108.16.2) 16 msec 4 msec 4 msec
3 EXTERNAL-A-GATEWAY.STANFORD.EDU (192.42.110.225) 16 msec 4 msec 4 msec
4 NSS13.BARRNET.NET (131.119.254.240) 112 msec 8 msec 8 msec
5 SALT_LAKE_CITY.UT.NSS.NSF.NET (129.140.79.13) 72 msec 64 msec 72 msec
6 ANN_ARBOR.MI.NSS.NSF.NET (129.140.81.15) 124 msec 124 msec 140 msec
7 PRINCETON.NJ.NSS.NSF.NET (129.140.72.17) 164 msec 164 msec 172 msec
8 ZAPHOD-GATEWAY.JVNC.NET (128.121.54.72) 172 msec 172 msec 180 msec
9 HOTBLACK-GATEWAY.JVNC.NET (130.94.0.78) 180 msec 192 msec 176 msec
10 CAPITAL1-GATEWAY.JVNC.NET (130.94.1.9) 280 msec 192 msec 176 msec
11 CHEESESTEAK2-GATEWAY.JVNC.NET (130.94.33.250) 284 msec 216 msec 200 msec
12 CHEESESTEAK1-GATEWAY.JVNC.NET (130.94.32.1) 268 msec 180 msec 176 msec
13 BEANTOWN2-GATEWAY.JVNC.NET (130.94.27.250) 300 msec 188 msec 188 msec
14 NEAR-GATEWAY.JVNC.NET (130.94.27.10) 288 msec 188 msec 200 msec
15 IHTFP.MIT.EDU (192.54.222.1) 200 msec 208 msec 196 msec
16 E40-03GW.MIT.EDU (18.68.0.11) 196 msec 200 msec 204 msec
17 MIT.EDU (18.72.2.1) 268 msec 500 msec 200 msec
Use the EXEC commands described in this section to troubleshoot and monitor the IP network transactions. For each debug command there is an corresponding undebug command that turns the display off. In general, you need use these commands only during troubleshooting sessions with Cisco personnel, as display of debugging messages can impact the operation of the router.
The debug arp command enables logging of ARP and Probe protocol transactions.
The debug ip-icmp command enables logging of ICMP transactions. Refer to the ICMP section for an in-depth look at the various ICMP messages.
The debug ip-packet command enables logging of general IP debugging information as well as IPSO security transactions. IP debugging information includes packets received, generated, and forwarded. This command can also be used to debug IPSO security-related problems. Each time a datagram fails a security test in the system, a message is logged describing the cause of failure. An optional IP access list may be specified. If the datagram is not permitted by that access list, then the related debugging output is suppressed.
The debug ip-routing command enables logging of routing table events such as network appearances and disappearances.
The debug ip tcp command enables logging of significant TCP transactions such as state changes, retransmissions, and duplicate packets.
debug ip-tcp-packet list
The debug ip-tcp-packet command enables logging of each TCP packet that meets the permit criteria specified in the access list.
The debug ip-udp command enables logging of UDP-based transactions.
Debugging information, including information about HP Probe Proxy Requests, is available through debug probe.
debug ip-tcp-header-compression
The debug ip-header-compression command enables logging of TCP header compression statistics.
This section lists and summarizes all the commands you can use to configure your IP router. Commands are listed in alphabetical order.
[no] access-list list {permit|deny} address wildcard-mask
Creates or removes an access list. The argument list is an IP list number from 1 to 99. The keywords permit and deny specify the security action to take. The argument address is a 32-bit, dotted decimal notation IP address to which the router compares the address being tested. The argument wildcard-mask are wildcard mask bits for the address in 32-bit, dotted decimal notation.
[no] access-list list {permit|deny} protocol source source-mask destination destination-mask [operator operand] [established]
Creates or removes an extended access list. The argument list is an IP list number from 100 to 199. The keywords permit and deny specify the security action to take. The argument protocol is one of the supported protocol keywords--ip, tcp, udp, icmp. The argument source is a 32-bit, dotted decimal notation IP address. The argument source-mask are mask bits for the source address in 32-bit, dotted decimal notation. The arguments destination and destination-mask the destination address and mask bits for the destination address in 32-bit, dotted decimal notation. Using TCP and UDP, the optional arguments operator and operand can be used to compare destination ports, service access points, or contact names. The optional established keyword is for use in matching certain TCP datagrams (see "Configuring Extended Access Lists").
[no] arp internet-address hardware-address type [alias]
Installs a permanent entry in the ARP cache. The router uses this entry to translate 32-bit Internet Protocol addresses into 48-bit hardware addresses. The argument internet-address is the Internet address in dotted decimal format corresponding to the local data link address specified by the argument hardware-address. The argument type is an encapsulation description--arpa for Ethernets; snap for FDDI and Token Ring interfaces; ultra for the Ultranet interfaces. The optional keyword alias indicates that the router should respond to ARP requests as if it were the owner of the specified IP address.
[no] ip domain-list name
Defines a list of default domain names to complete unqualified host name. The argument name is the domain name.
[no] ip domain-name name
Defines the default domain name, which is specified by the argument name. The router uses the default domain name to complete unqualified domain names--names without a dotted domain name.
[no] ip accounting-list ip-address mask
Specifies a set of filter to control the hosts for which IP accounting information is kept. The source and destination address of each IP datagram is logically ANDed with the mask and compared with ip-address. If there is a match, the information about the IP datagram will be entered into the accounting database. If there is no match, then the IP datagram is considered a transit datagram and will be counted according to the setting of the ip accounting-transits command.
[no] ip accounting-threshold threshold
Sets the maximum number of accounting entries to be created.
[no] ip accounting-transits count
Controls the number of transit records that will be stored in the IP accounting database. Transit entries are those that do not match any of the filters specified by ip accounting-list commands. If no filters are defined, no transit entries are possible.
[no] ip default-network network
Flags networks as candidates for default routes. The argument network specifies the network number.
[no] ip domain-lookup
Enables or disables IP Domain Name System-based host-name-to-address translation. Enabled by default. The no variation of the command disables the feature.
[no] ip forward-protocol spanning-tree
Permits IP broadcasts to be flooded throughout the internetwork in a controlled fashion. This command is an extension of the ip helper-address command, in that the same packets that may be subject to the helper address and forwarded to a single network may now be flooded.
[no] ip host name address
Defines a static host-name-to-address mapping in the host cache. The argument name is the host name and the argument address is the associated IP address.
[no] ip hp-host hostname ip-address
Enables the use of the proxy service. You enter the hostname of the HP host into the host table, along with its IP address.
[no] ip ipname-lookup
Specifies or removes the IP IEN-116 Name Server host-name-to-address translation. This command is disabled by default; the no variation of the command restores the default.
[no] ip name-server address
Specifies the address of name server to use for name and address resolution. By default, the router uses the all-ones broadcast address (255.255.255.255).
[no] ip routing
Controls the system's ability to do IP routing. If the system is running optional bridging-enabled software, the no ip routing subcommand will turn off IP routing when setting up a system to bridge (as opposed to route) IP datagrams. The default setting is to perform IP routing.
[no] ip source-route
Controls the handling of IP datagrams with source routing header options. The default behavior is to perform the source routing. The no keyword causes the system to discard any IP datagram containing a source-route option.
[no] ip subnet-zero
Enables or disables the ability to configure and route to "subnet zero" subnets. The default condition is disabled.
This section lists and summarizes all the commands in the interface subcommand list for your IP router. Preceding any of these commands with a no keyword undoes their effect or restores the default condition. Commands are listed in alphabetical order.
[no] arp {arpa|probe|snap}
Controls the interface-specific handling of IP address resolution into 48-bit Ethernet, FDDI, and Token Ring hardware addresses. The keyword arpa, which is the default, specifies standard Ethernet style ARP (RFC 826), probe specifies the HP-proprietary Probe protocol for IEEE-802.3 networks, and snap specifies ARP packets conforming to RFC 1042.
[no] arp timeout seconds
Sets the number of seconds an ARP cache entry will stay in the cache. The value of the argument seconds is used to age an ARP cache entry related to that interface, and by default is set to14,400 seconds. A value of zero seconds sets no timeout. The no form of the command returns the default.
[no] access-group list
Defines an access group. This subcommand takes a standard or extended IP access list number as an argument.
[no] ip accounting
Enables or disables IP accounting on an interface.
[no] ip address address subnet-mask [secondary]
Sets an IP address for an interface. The two required arguments are an IP address and the subnet mask for the associated IP network. The subnet mask must be the same for all interfaces connected to subnets of the same network.
[no] ip broadcast-address address
Defines a broadcast address. The address argument is the desired IP broadcast address for a network. If a broadcast address is not specified, the system will default to a broadcast address of all ones or 255.255.255.255
[no] ip directed-broadcast
Enables or disables forwarding of directed broadcasts on the interface. The default is to forward directed broadcasts.
[no] ip forward-protocol {udp|nd} [port]
Controls forwarding of physical and directed IP broadcasts. This command controls which protocols and ports are forwarded for an interface on which an ip helper-address command has been specified. The keyword nd is the ND protocol used by older diskless SUN workstations. The keyword udp is the UDP protocol. By default both UDP and ND forwarding are enabled if a helper address has been given for an interface.
[no] ip helper-address address
Defines a helper-address for a specified address. The helper-address defines the selective forwarding of UDP broadcasts, including BootP, received on the interface. The address argument specifies a destination broadcast or host address to be used when forwarding such datagrams.
[no] ip mask-reply
Sets the interface to send ICMP Mask Reply messages. The default is not to send Mask Reply messages.
[no] ip mtu bytes
Sets the maximum transmission unit (MTU) or size of IP packets sent on an interface. The argument bytes is the number of bytes with a minimum of 128 bytes. The no form of the command restores the default.
[no] ip probe proxy
Enables or disables HP Probe Proxy support, which allows a router to respond to HP Probe Proxy Name requests.
[no] ip proxy-arp
Enables or disables proxy ARP on the interface. The default is to perform proxy ARP.
[no] ip redirects
Disables sending ICMP redirects on the interface. ICMP redirects are normally sent.
[no] ip route-cache
Controls the use of outgoing packets on a high-speed switching cache for IP routing. The cache is enabled by default and allows load-balancing on a per-destination basis. To enable load-balancing on a per-packet basis, use the no ip route-cache to disable fast-switching.
[no] ip security arguments
Controls the use of the Internet IP Security Option.
[no] ip security add
Adds a basic security option to all datagrams leaving the router on the specified interface. The no form of the command disables the function.
ip security dedicated level authority [authority...]
Sets or unsets the requested level of classification and authority on the interface. See Tables 13-4 and 13-5 for the level and authority arguments.
[no] ip security extended-allowed
Allows or rejects datagrams with an extended security option on the specified interface.
[no] ip security ignore-authorities
Sets or unsets an interface to ignore the authority fields of all incoming datagrams.
[no] ip security implicit-labelling [level authority [authority...]]
In the simplest form, sets or unsets the interface to accept datagrams, even if they do not include a security option. With the arguments level and authority, a more precise condition is set. See Tables 13-4 and 13-5 for the level and authority arguments.
ip security multilevel level1 [authority...] to level2 authority2 [authority2...]
Sets or unsets the requested range of classification and authority on the interface. Traffic entering or leaving the system must have a security option that falls within the specified range. See Tables 13-4 and 13-5 for the level and authority arguments.
[no] ip security strip
Removes any basic security option on all datagrams leaving the router on the specified interface. The no form of the command disables the function.
[no] ip tcp compression-connections number
Sets the maximum number of connections per interface that the compression cache can support. Default is 16; number can vary from 3 to 256.
[no] ip tcp header-compression [passive]
Enables TCP header compression. The no keyword disables (the default) compression. The optional keyword passive sets the interface to only compress outgoing traffic on the interface for a specific destination if incoming traffic is compressed.
[no] ip unnumbered interface-name
Enables IP processing on a serial interface, but does not assign an explicit IP address to the interface. The argument interface-name is the name of another interface on which the router has assigned an IP address. The interface may not be another unnumbered interface, or the interface itself.
[no] ip unreachables
Enables or disables (with the no argument) sending ICMP unreachable messages on an interface. ICMP unreachables are normally sent.
transmit-interface interface-name
Assigns a transmit interface to a receive-only interface. When a route is learned on this receive-only interface, the interface designated as the source of the route is converted to interface-name.
This section contains a list of the line subcommands used to configure IP routing.
[no] access-class list {in|out}
Restricts incoming and outgoing connections between a particular virtual terminal line and the addresses in an access list. Serves to restrict connections on a line or group of lines to certain Internet addresses. The argument list is an integer from 1 through 99 that identifies a specific access list of Internet addresses. The keyword in applies to incoming connections; the keyword out applies to outgoing Telnet connections.
|