Cisco IOS

De BlaxWiki
Aller à la navigationAller à la recherche

The Cisco IOS software is network system software that runs on Cisco routers and switches. It is used to configure, monitor, and troubleshoot the system.


Séquence d'amorçage

Après le test de mise sous tension, les étapes suivantes se déroulent pendant l'initialisation du routeur :

  • Étape 1 : Le bootstrap générique, en mémoire ROM, s'exécute sur le processeur. Le bootstrap est une opération simple et prédéfinie qui charge des instructions. Celles-ci chargent à leur tour d'autres instructions en mémoire ou activent d'autres modes de
  • Étape 2 : Le système d'exploitation peut être installé à plusieurs endroits. Son emplacement est précisé dans le champ d'amorçage du registre de configuration. Si le champ indique une mémoire flash ou un serveur TFTP, les commandes boot system du fichier de configuration précisent l'emplacement exact de l'image.
  • Étape 3 : L'image du système d'exploitation est chargée. Une fois chargé et en fonction, le système d'exploitation recherche les composants matériels et logiciels, puis il affiche les résultats sur la console.
  • Étape 4 : Le fichier de configuration stocké dans la mémoire NVRAM est chargé dans la mémoire principale, puis il est exécuté ligne par ligne. Ces commandes de configuration lancent les processus de routage, fournissent les adresses aux interfaces, définissent les caractéristiques des médias, etc.
  • Étape 5 : Si la mémoire NVRAM ne contient pas de fichier de configuration valide, le système d'exploitation exécute une routine de configuration initiale interactive appelée dialogue de configuration système ou mode SETUP.

La commande reload permet de redémarrer à chaud le routeur.


System Architecture

Like a computer, a router has a CPU that varies in performance and capabilities depending on the router platform. Two examples of processors that Cisco uses are the Motorola 68030 and the Orion/R4600. The Cisco IOS software running in the router requires the CPU or processor to make routing and bridging decisions, maintain routing tables, and other system management functions. The CPU must have access to data in memory to make decisions or to get instructions.

There are usually four types of memory on a Cisco router
1. ROM—ROM is generally the memory on a chip or multiple chips. It is available on a router's processor board. It is read-only, which means that data cannot be written to it. The initial software that runs on a Cisco router is called the bootstrap software and is usually stored in ROM. The bootstrap software is invoked when the router boots up.
2. Flash—Flash memory is located on a processor board SIMM but can be expanded using PCMCIA (removable) cards. Flash memory is most commonly used to store one or more Cisco IOS software images. Configuration files or system information can also be copied to Flash. On some high-end systems, Flash memory is also used to hold bootstrap software.
3. RAM—RAM is very fast memory that loses its information when the system is restarted. It is used in PCs to store running applications and data. On a router, RAM is used to hold IOS system tables and buffers. RAM memory is basically used for all system operational storage requirements.
4. NVRAM On the router, NVRAM is used to store the startup configuration. This is the configuration file that IOS reads when the router boots up. It is extremely fast memory and is persistent across reboots.

Although CPU and memory are required components to run IOS, a router must also have various interfaces to allow packet forwarding. Interfaces are input and output connections to the router that carries data that needs to be routed or switched. The most common types of interfaces are Ethernet and serial. Similar to the driver software on a computer with parallel ports and USB ports, IOS has device drivers to support these various interface types.

All Cisco routers have a console port that provides an EIA/TIA-232 asynchronous serial connection. The console port can be connected to a computer's serial connection to gain terminal access to the router. Most routers also have an auxiliary port that is very similar to the console port, but is typically used for modem connection for remote router management.

Example 4-1 shows the console output of a new Cisco 3640 router that has just been started. Notice the processor, interface, and memory information that is listed.

Example 4-1 Cisco 3640 Router Console Output at Startup

System Bootstrap, Version 11.1(20)AA2, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1)
Copyright (c) 1999 by Cisco Systems, Inc.
C3600 processor with 98304 Kbytes of main memory
Main memory is configured to 64 bit mode with parity disabled

program load complete, entry point: 0x80008000, size: 0xa8d168
Self decompressing the image : #################################################
#################################################################### [OK]

       Restricted Rights Legend

Use, duplication, or disclosure by the Government is
subject to restrictions as set forth in subparagraph
(c) of the Commercial Computer Software - Restricted
Rights clause at FAR sec. 52.227-19 and subparagraph
(c) (1) (ii) of the Rights in Technical Data and Computer
Software clause at DFARS sec. 252.227-7013.

      Cisco Systems, Inc.
      170 West Tasman Drive
      San Jose, California 95134-1706

Cisco Internetwork Operating System Software
IOS (tm) 3600 Software (C3640-IS-M), Version 12.2(10), RELEASE SOFTWARE (fc2)
Copyright (c) 1986-2002 by Cisco Systems, Inc.
Compiled Mon 06-May-02 23:23 by pwade
Image text-base: 0x60008930, data-base: 0x610D2000

cisco 3640 (R4700) processor (revision 0x00) with 94208K/4096K bytes of memory.
Processor board ID 17746964
R4700 CPU at 100Mhz, Implementation 33, Rev 1.0
Bridging software.
X.25 software, Version 3.0.0.
SuperLAT software (copyright 1990 by Meridian Technology Corp).
5 Ethernet/IEEE 802.3 interface(s)
1 Serial network interface(s)
DRAM configuration is 64 bits wide with parity disabled.
125K bytes of non-volatile configuration memory.
8192K bytes of processor board System flash (Read/Write)
16384K bytes of processor board PCMCIA Slot0 flash (Read/Write)

     --- System Configuration Dialog ---

Would you like to enter the initial configuration dialog? [yes/no]:

When a new router is first started, IOS runs an autoinstall process wherein the user is prompted to answer a few questions. IOS then configures the system based on the input provided. After initial setup, the configuration is most commonly modified using the command-line interface (CLI). Other ways of configuring the router include HTTP and network management applications.

Cisco IOS CLI

Cisco IOS has three command modes, each with access to different command sets:
User mode—This is the first mode a user has access to after logging into the router. The user mode can be identified by the > prompt following the router name. This mode allows the user to execute only the basic commands, such as those that show the system's status. The system cannot be configured or restarted from this mode.
Privileged mode—This mode allows users to view the system configuration, restart the system, and enter configuration mode. It also allows all the commands that are available in user mode. Privileged mode can be identified by the # prompt following the router name. The user mode enable command tells IOS that the user wants to enter privileged mode. If an enable password or enable secret password has been set, the user needs to enter the correct password or secret to be granted access to privileged mode. An enable secret password uses stronger encryption when it is stored in the configuration and, therefore, is safer. Privileged mode allows the user to do anything on the router, so it should be used with caution. To exit privileged mode, the user executes the disable command.
Configuration mode—This mode allows users to modify the running system configuration. To enter configuration mode, enter the command configure terminal from privileged mode. Configuration mode has various submodes, starting with global configuration mode, which can be identified by the (config)# prompt following the router name. As the configuration mode submodes change depending on what is being configured, the words inside the parentheses change. For example, when you enter interface configuration submode, the prompt changes to (config-if)# following the router name. To exit configuration mode, the user can enter end or press Ctrl-Z.

Note that in these modes, entering the context-sensitive command ? at any point shows the available commands at that level. The ? can also be used in the middle of a command to show possible completion options. Example 4-2 shows the use of the ? command to display the commands available within a given command mode. Example 4-2 Using Context-Sensitive Help

Router>? Exec commands:

access-enable  Create a temporary Access-List entry
access-profile  Apply user-profile to interface
clear      Reset functions

...

The following steps introduce you to the commands used to change command mode, view system information, and configure a password. Real CLI output from a Cisco 3640 router running Cisco IOS software is shown.

Step 1 Enter enabled mode by entering enable and pressing Enter:

     Router> enable
     Router#

Step 2 To see which version of IOS is running on the system, enter the show version command:

     Router# show version
     Cisco Internetwork Operating System Software
     IOS (tm) 3600 Software (C3640-IS-M), Version 12.2(10), RELEASE SOFTWARE (fc2)
     Copyright (c) 1986-2002 by Cisco Systems, Inc.
     Compiled Mon 06-May-02 23:23 by pwade
     Image text-base: 0x60008930, data-base: 0x610D2000
     ROM: System Bootstrap, Version 11.1(20)AA2, EARLY DEPLOYMENT RELEASE SOFTWARE
      (fc1)
     Router uptime is 47 minutes
     System returned to ROM by reload
     System image file is "slot0:c3640-is-mz.122-10.bin"
     cisco 3640 (R4700) processor (revision 0x00) with 94208K/4096K bytes of memory.
     Processor board ID 17746964
     R4700 CPU at 100Mhz, Implementation 33, Rev 1.0
     Bridging software.
     X.25 software, Version 3.0.0.
     SuperLAT software (copyright 1990 by Meridian Technology Corp).
     5 Ethernet/IEEE 802.3 interface(s)
     1 Serial network interface(s)
     DRAM configuration is 64 bits wide with parity disabled.
     125K bytes of non-volatile configuration memory.
     8192K bytes of processor board System flash (Read/Write)
     16384K bytes of processor board PCMCIA Slot0 flash (Read/Write)
     Configuration register is 0x2002

From the output, you can see that this is a Cisco 3640 router running Cisco IOS software, Version 12.2(10) and the software image is located on the PCMCIA Flash card in slot 0.

Step 3 Next, configure the router name to be "IOS." To enter configuration mode, use the command configure terminal:

     Router# configure terminal
     Enter configuration commands, one per line. End with CNTL/Z.
     Router(config)# hostname IOS
     IOS(config)#

Notice that the prompt changes to "IOS" immediately after you enter the hostname command. All configuration changes in Cisco IOS take place immediately.

Step 4 Next, you need to set the enable password and the enable secret pass- word. The enable secret password is stored using stronger encryption and overrides the enable password if it is configured. To set both passwords, you enter the following:

     IOS(config)# enable password cisco
     IOS(config)# enable secret san-fran
     IOS(config)# exit
     IOS#

To get into enabled mode, you need to enter the password san-fran. The exit command takes you up one level in the configuration, or out of the current submode.

Step 5 After configuring the router name and setting the enable and enable secret passwords, you can examine the running configuration:

     IOS# show running-config
     Building configuration...
     Current configuration : 743 bytes
     !
     version 12.2
     service timestamps debug uptime
     service timestamps log uptime
     no service password-encryption
     !
     hostname IOS
     !
     enable secret 5 $1$IP7a$HClNetI.hpRdox84d.FYU.
     enable password cisco
     !
     ip subnet-zero
     !
     call rsvp-sync
     !
     interface Ethernet0/0
      no ip address
      shutdown
      half-duplex
     !
     interface Serial0/0
      no ip address
      shutdown
      no fair-queue
     !
     interface Ethernet2/0
      no ip address
      shutdown
      half-duplex
     !
     interface Ethernet2/1
      no ip address
      shutdown
      half-duplex
     !
     interface Ethernet2/2
      no ip address
      shutdown
      half-duplex
     !
     interface Ethernet2/3
      no ip address
      shutdown
      half-duplex
     !
     ip classless
     ip http server
     ip pim bidir-enable
     !
     dial-peer cor custom
     !
     line con 0
     line aux 0
     line vty 0 4
     !
     end

Step 6 The show running-config output shows the configuration that is currently active in the system; however, this configuration is lost if the system is restarted. To save this configuration to NVRAM, you must issue the following command:

     IOS# copy running-config startup-config
     Destination filename [startup-config]?
     Building configuration...
     [OK]

Step 7 To view the startup configuration saved in NVRAM, use the command show startup-config.

In the preceding step sequence, notice the Ethernet and serial interfaces that show up in the configuration file. Each interface requires that certain parameters such as encapsulation and address be set before the interface can be used properly. In addition, IP routing or bridging might need to be configured. Refer to the Cisco IOS installation and configuration guides available at http://www.cisco.com for your version of software to learn about all possible configuration options and recommended guidelines.

Table 4-1 describes some of the more common commands used to monitor the system. Table 4-1 Commands Used to Monitor Cisco IOS Devices

Cisco IOS Command


Description

show interface Displays current status and configuration details for all interfaces in the system

show processes cpu Displays CPU utilization and the current processes running in the system

show buffers Shows how system buffers are currently allocated and functioning for packet forwarding

show memory Shows how memory is allocated to various system functions and memory utilization

show diag Displays details on hardware cards in the system

show ip route Displays the current active IP routing table

show arp Displays the current active IP address-to-MAC address mapping in the ARP table


Debugging and Logging

Cisco IOS software allows for detailed debugging for all protocols and processes running in the system for troubleshooting purposes. More information on debugging can be obtained in the Cisco IOS Debug Command Reference, available on http://www.cisco.com.

CAUTION

Only Cisco IOS experts should enable and disable debug commands, because they can have a severe performance impact and should be used with care. Improper use might leave the system inaccessible and in a frozen state in which no packet forwarding takes place.

System messages are shown on the console and can be enabled for any session into the router. Different levels of severity can be configured for different access methods into the router. The eight message severity levels are as follows:

     Emergency (severity 0)—The system is unusable
     Alert (severity 1)—Immediate action is needed
     Critical (severity 2)—Critical condition
     Error (severity 3)—Error condition
     Warning (severity 4)—Warning condition
     Notification (severity 5)—Normal but significant condition
     Informational (severity 6)—Informational message
     Debugging (severity 7)—Debugging message

The logging command directs the output to various terminals attached to the system or virtually connected, such as Telnet sessions. Example 4-3 shows how the logging command can be used to determine the severity level of the messages shown. Example 4-3 logging Command

IOS(config)# logging ?

Hostname or A.B.C.D   IP address of the logging host
buffered         Set buffered logging parameters
console         Set console logging level
exception        Limit size of exception flush output
facility         Facility parameter for syslog messages
history         Configure syslog history table
host  Set syslog server host name or IP address

monitor Set terminal line (monitor) logging level on Enable logging to all supported destinations

rate-limit        Set messages per second limit
source-interface     Specify interface for source address in logging
 transactions
trap           Set syslog server logging level

IOS(config)# logging console ?

<0-7>     Logging severity level
alerts    Immediate action needed      (severity=1)
critical   Critical conditions        (severity=2)
debugging   Debugging messages        (severity=7) 
emergencies  System is unusable        (severity=0)
errors     Error conditions         (severity=3)
guaranteed  Guarantee console messages
informational Informational messages      (severity=6)
notifications Normal but significant conditions (severity=5)
warnings   Warning conditions        (severity=4)
<cr>

Enabling a higher level of messages shows all lower-level messages as well. The debugging level, or level 7, shows all messages. System messages may also be buffered and seen using the show logging command in privileged mode. A user may also send logging messages to a syslog server using the logging host command in configuration mode. A syslog server can be configured on a UNIX device or PC to accept these messages from a router and place them in a file. This allows for large files containing system messages to be maintained, because you are not restricted by the amount of memory on the router.


Reloading and Upgrading

A system restart on Cisco routers is called a reload. If the router needs to be reloaded for any reason, the reload command needs to be entered from privileged mode, as shown in Example 4-4. The reload command also allows a time to be set so that the system restarts after the specified time expires. Example 4-4 System Reload Options

IOS# reload ?

LINE  Reason for reload
at   Reload at a specific time/date
cancel Cancel pending reload
in   Reload after a time interval

<cr>

The system can also be reloaded by switching it off and then back on again.

The configuration register is used to specify the router's behavior during the reloading process. It determines whether the IOS image should be loaded, determines whether terminal access parameters are provided, and enables or disables the Esc key. The configuration register can be modified in configuration mode using the config-register command.

CAUTION

Use the config-register command only if you completely understand its effects. Incorrect use of this command can make the system inaccessible.

By default, the router first tries to boot from the first image in the onboard system Flash, if available, and then it tries the PCMCIA Flash cards. The user may also specify which images or locations to attempt booting from and the order using the boot system command in configuration mode:

IOS(config)# boot system slot0

This causes the system to attempt booting from an image in the Flash memory in PCMCIA slot 0 before going to the onboard system Flash.

To upgrade the Cisco IOS software version running on a router, you must first determine the right image to upgrade to using the upgrade planners available on http://www.cisco.com.

CAUTION

Attempting to load an incorrect image for your system might leave the system inaccessible. Ensure that you have the correct software image and meet the RAM and Flash memory requirements to run and store the image before installing.

The copy command copies an image into Flash memory. There are many ways to do this, as demonstrated in Example 4-5. Example 4-5 Options for Copying an IOS Image into Flash Memory

IOS# copy ?

/erase     Erase destination file system.
flash:     Copy from flash: file system
ftp:      Copy from ftp: file system
null:      Copy from null: file system
nvram:     Copy from nvram: file system
pram:      Copy from pram: file system
rcp:      Copy from rcp: file system
running-config Copy from current system configuration
slot0:     Copy from slot0: file system
slot1:     Copy from slot1: file system
startup-config Copy from startup configuration
system:     Copy from system: file system
tftp:      Copy from tftp: file system
xmodem:     Copy from xmodem: file system
ymodem:     Copy from ymodem: file system

The most common methods are TFTP and FTP. After the file has been placed on your TFTP or FTP server, enter the copy command from privileged mode and answer the questions on server IP address and source and destination filenames. After you specify which image the system should load using the boot system command, a reload is required for the new version of IOS to be booted.