This document provides an overview of the hardware and software architecture of the Cisco 25xx Series Routers.
There are no specific requirements for this document.
The information in this document is based on the Cisco 25xx Series Routers.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
For more information on document conventions, refer to the Cisco Technical Tips Conventions.
This section covers the hardware aspects of the Cisco 25xx Series Routers.
The Cisco 25xx Series Routers can be divided into these categories.
Cisco 2501-2504 and 2520-2523 have a CPU motherboard with an onboard LAN (Ethernet/TokenRing) and multiple WAN ports, and a single power supply, as shown in figure 1.Figure 1 – Chassis Rear View Sample: Cisco 2504
|Model||Ethernet||Token Ring||Low-Speed Serial||Serial||ISDN BRI|
Cisco 2505, 2507, and 2516 have a CPU motherboard with an on-board LAN (Ethernet) with hub ports and multiple WAN ports, and a single power supply, as shown in figure 2.Figure 2 – Chassis Rear View Sample: Cisco 2516
|Model||Serial||Hub Ports||ISDN BRI|
For more details on Cisco 2505/2507/2516 Series Routers, see Cisco 2500 Family of Hub/Routers.
Cisco 2509-2512 have a CPU motherboard with an on-board LAN (Ethernet/Token Ring) and multiple WAN and asynchronous ports, and a single power supply, as shown in figure 3.Figure 3 – Chassis Rear View Sample: Cisco 2511
For more details on the Cisco 2509-2512 Series Routers, see Cisco 2509, 2510, 2511, and 2512.
Cisco 2513-2515 have a CPU motherboard with on-board two LAN (Ethernet / Token Ring) and multiple WAN ports, and a single power supply, as shown in figure 4.Figure 4 – Chassis Rear View Sample: Cisco 2514
Cisco 2517-2519 have a CPU motherboard with on-board LAN (Ethernet / Token Ring) with hub ports and multiple WAN ports, a Management module, and a single power supply, as shown in figure 5.Figure 5 – Chassis Rear View Sample: Cisco 2518
|Model||Ethernet||Serial||Async||Hub ports (Ethernet/Token Ring)||ISDN BRI|
|Cisco 2517||-||2||1||12 (Token Ring)||1|
|Cisco 2518||1||2||1||23 (Ethernet)||1|
|Cisco 2519||-||2||1||24 (Token Ring)||1|
For more information on the Cisco 2517/2519 Series Routers, see Cisco 2517 and Cisco 2519 Router/Hub User Guide.
For more information on the Cisco 2518 Series Router, see Cisco 2518 Router/Hub User Guide.
Cisco 2524 and 2525 have a CPU motherboard with on-board LAN (Ethernet/Token Ring) and multiple WAN ports, three slots for WAN Interface Cards (WICs), and a single external power supply, as shown in figure 6.Figure 6 – Chassis Rear View Sample: Cisco 2524
|Model||Ethernet||Token Ring||WAN Modules|
For more information on the Cisco 2524/2525 Series Routers, see Cisco 2524 and Cisco 2525 Router User Guide.Figure 7 – Block Diagram
The CPU used in the 25xx Series is a Motorola 68030 CISC. The characteristics of the CPU are:
32 bit bus, 20 MHz clock (25 MHz on some platforms).
256 Bytes internal Data Cache, 256 Bytes internal Instruction Cache, both direct mapped.
System Control Logic helps the main processor with device control, interrupt handling, counting and timing, data transfer, minimal First In, First Out (FIFO) buffering, and communication with network interfaces and Dynamic RAM (DRAM).
25xx Series platforms use Anchor Application Specific Integrated Circuit (ASIC) for data transfer to DRAM and System Bus, and Steam ASIC for accessing network interface devices. These are shown as System Control ASICs (one block) in the above diagrams.
Network Interfaces provide on board data transfer functionality.
Each 25xx router has an on-board Ethernet/Token Ring controller, and Serial Communication Channels (SCC) for WAN ports.
WIC slots provide further modularity for WAN interfaces on the 2524 and 2525.
Wan Interface Cards (WIC) are media specific network interfaces (only on the 2524 and 2525) responsible for data transfer in and out of the 25xx series router, (in addition to the on-board interfaces).
The WIC communicates with the CPU through the System Bus for packet transfer.
Specialized controllers (or ASICs) used for media support perform the above mentioned functionality.
WICs do not support online insertion and removal (OIR).
Cisco IOS® software is revised as new WICs are designed. Ensure that you use the release of Cisco IOS software that contains code for any hardware in the router.
Buses are used by the CPU to access various components of the system, and transfer instructions and data to or from specified memory addresses.
CPU Bus is for high speed operations, with direct Processor access - 32 bit address and 32 bit data, 20 MHz. These include access to Dual Universal Asynchronous Receiver/Transmitter (UART), Boot ROM, nonvolatile RAM (NVRAM), Flash, and PCMCIA Flash.
System Bus allows communication with Ethernet/Token Ring controllers, WAN port interfaces, and so on.
DRAM is accessed through System Control ASICs and allows Direct Memory Access (DMA).
Dual Universal Asynchronous Receiver-Transmitter (UART) provides the necessary user interface. It has one RS232 port, Data Communications Equipment (DCE) (Console) RJ45, and Data Terminal Equipment (DTE) (Aux) RJ45.
Power supply provides power to various components of the router.
This section describes memory details of the Cisco 25xx Series routers.
The DRAM is divided in Main Processor Memory and Shared Input/Output (I/O) memory.
Main Processor Memory is used for routing tables, fast switching cache, running configuration, and so on. It can take unused shared I/O memory, if needed.
Shared I/O memory is used for temporary storage of packets in system buffers.
Physically, all the boards have one single inline memory module (SIMM) slot (72-pin, 70 ns). Furthermore, if the revision level of the board is A through G, there are an additional 2 MB of RAM soldered to the system card. If the revision level is I through N, there is no RAM soldered to the system card.
Use the show version command to check the board revision number and the different types of memory:
Cisco Internetwork Operating System Software IOS (tm) 2500 Software (C2500-JS-L), Version 12.2(27), RELEASE SOFTWARE (fc3) Copyright (c) 1986-2004 by cisco Systems, Inc. Compiled Tue 02-Nov-04 22:01 by kellmill Image text-base: 0x0307D390, data-base: 0x00001000 ROM: System Bootstrap, Version 11.0(10c), SOFTWARE BOOTLDR: 3000 Bootstrap Software (IGS-BOOT-R), Version 11.0(10c), RELEASE SOFTWARE (fc1) R1 uptime is 2 weeks, 4 days, 9 hours, 12 minutes System returned to ROM by reload System image file is "flash:/c2500-js-l.122-27.bin" cisco 2500 (68030) processor (revision N) with 14336K/2048K bytes of memory. Processor board ID 19484205, with hardware revision 00000000 Bridging software. X.25 software, Version 3.0.0. SuperLAT software (copyright 1990 by Meridian Technology Corp). TN3270 Emulation software. 1 Ethernet/IEEE 802.3 interface(s) 2 Serial network interface(s) 32K bytes of non-volatile configuration memory. 16384K bytes of processor board System flash (Read ONLY)
Configuration register is 0x2102.
DRAM SIMM can be up to 16 MB, so total DRAM can be 18 MB on routers having an additional 2 MB on-board.
If the SIMM is not used, shared I/O memory is 1 MB and Main Processor Memory is 1 MB of the 2 MB on-board DRAM.
If SIMM is used, shared I/O memory is 2 MB on-board DRAM, and Main Processor Memory is the SIMM (up to 16 MB).
For the 25xx platforms that do not have on-board DRAM and only use SIMMs, the memory is logically divided in shared I/OmMemory and main processor memory.
Flash provides permanent storage of the Cisco IOS software image, backup configurations, and any other files.
Flash on 25xx is implemented using two SIMMs (80-pin, 120 ns).
Flash size can be 4, 8, or 16 MB.
The 2500 routers run the Cisco IOS software from Flash. These image files are defined as re-locatable, because the Cisco IOS software image can be executed from different locations in the Flash.
A re-locatable image file is recognized by the letter "l" contained in the file name (for instance: c2500-js-l.121-9). As a consequence, the Flash memory is set as read only when the main Cisco IOS software is running. Copying a new Cisco IOS software image then requires the router to be in RxBoot. Newer releases of Cisco IOS software make this step automatic and transparent in the background.
NVRAM is used for writeable permanent storage of the startup configuration. NVRAM size is 32 KB.
This refers to erasable programmable read-only memory (EPROM) used to permanently store the startup diagnostic code (ROM Monitor), and RxBoot. Boot ROM size is 2 MB.
ID PROM, also known as EPROM (size 256 bytes) is used for permanent storage of the hardware revision and identification information, as well as the MAC addresses for LAN interfaces.
Here is a typical boot sequence on a 2514 router:
The system bootstrap software (boot image) executes and searches for a valid Cisco IOS software image. The source of the Cisco IOS software image (Flash memory or a Trivial File Transfer Protocol (TFTP) server) is determined by the configuration register setting. The factory-default setting for the configuration register is 0x2102, which indicates that the router should attempt to load a Cisco IOS software image from Flash memory.
System Bootstrap, Version 11.0(10c), SOFTWARE Copyright (c) 1986-1996 by cisco Systems 2500 processor with 16384 Kbytes of main memory F3: 14732748+962056+889336 at 0x3000060
When a valid Cisco IOS software image is found, the router boots the software (remember that on the 25xx, the Cisco IOS software image runs from Flash memory):
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) 2500 Software (C2500-JS-L), Version 12.2(10b), RELEASE SOFTWARE (fc1) Copyright (c) 1986-2002 by cisco Systems, Inc. Compiled Fri 12-Jul-02 02:13 by pwade Image text-base: 0x0307AA24, data-base: 0x00001000 cisco 2500 (68030) processor (revision F) with 16384K/2048K bytes of memory. Processor board ID 04796554, with hardware revision 00000000 Bridging software. X.25 software, Version 3.0.0. SuperLAT software (copyright 1990 by Meridian Technology Corp). TN3270 Emulation software. Basic Rate ISDN software, Version 1.1. 1 Ethernet/IEEE 802.3 interface(s) 2 Serial network interface(s) 1 ISDN Basic Rate interface(s) 32K bytes of non-volatile configuration memory. 16384K bytes of processor board System flash (Read ONLY) Press RETURN to get started!
The last stage is the initialization of the interfaces and the message %SYS-5-RESTART: System restarted.
00:00:10: %LINK-3-UPDOWN: Interface Ethernet0, changed state to up 00:00:10: %LINK-3-UPDOWN: Interface Serial0, changed state to up 00:00:10: %LINK-3-UPDOWN: Interface Serial1, changed state to down 00:00:11: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0, changed state to up 00:00:19: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0, changed state to up 00:00:28: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0, changed state to up 00:00:30: %LINK-5-CHANGED: Interface Serial0, changed state to administratively down 00:00:31: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0, changed state to down 00:00:31: %LINK-5-CHANGED: Interface BRI0, changed state to administratively down 00:00:32: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0, changed state to down 00:00:32: %SYS-5-CONFIG_I: Configured from memory by console 00:00:33: %LINK-5-CHANGED: Interface Serial1, changed state to administratively down 00:00:36: %LINEPROTO-5-UPDOWN: Line Route protocol on Interface Serial1, changed state to down 00:01:16: %SYS-5-RESTART: System restarted -- Cisco Internetwork Operating System Software IOS (tm) 2500 Software (C2500-JS-L), Version 12.2(10b), RELEASE SOFTWARE (fc1) Copyright (c) 1986-2002 by cisco Systems, Inc. Compiled Fri 12-Jul-02 02:13 by pwade 00:01:16: %SNMP-5-COLDSTART: SNMP agent on host Router is undergoing a cold start> Router>
The switching architecture of the Cisco 25xx series, and the 1600, 4000 and AS5300, is based on shared memory architecture.
Cisco IOS software on shared memory routers uses the systems buffers for all packet switching, not just process switching. In addition to the standard public buffer pools, Cisco IOS software also creates private system buffer pools and special buffer structures for the interface controllers called RX rings and TX rings.
Private buffer pools are static and are allocated with a fixed number of buffers at Cisco IOS software initialization. New buffers cannot be created on demand for these pools. If a buffer is needed and none is available in the private pool, Cisco IOS software falls back to the public buffer pool for the size that matches the maximum transmission unit (MTU) of the interface.
Cisco IOS software creates these rings on behalf of the media controllers and then manages them jointly with the controllers. Each interface has a pair of rings: a receive ring to receive packets, and a transmit ring to transmit packets.
Receive rings have a constant number of packet buffers allocated to them that equals the size of the ring. The show controllers ethernet command displays the size and the location of the receive and transmit rings:
TIC#show controllers ethernet 0 LANCE unit 0, idb 0x146AC0, ds 0x148618, regaddr = 0x2130000, reset_mask 0x2 IB at 0x606E64: mode=0x0000, mcfilter 0000/0000/0100/0000 station address 00e0.1e42.c7b0 default station address 00e0.1e42.c7b0 buffer size 1524 RX ring with 16 entries at 0x606EA8 Rxhead = 0x606ED8 (6), Rxp = 0x14864C (6) 00 pak=0x14A4E8 ds=0x60C13A status=0x80 max_size=1524 pak_size=64 01 pak=0x14ABE4 ds=0x60D56E status=0x80 max_size=1524 pak_size=64 ... TX ring with 4 entries at 0x606F68, tx_count = 0 tx_head = 0x606F80 (3), head_txp = 0x148694 (3) tx_tail = 0x606F80 (3), tail_txp = 0x148694 (3) 00 pak=0x000000 ds=0x663746 status=0x03 status2=0x0000 pak_size=60 ...
RX ring with 16 entries at 0x606EA8—The size of the receive ring is 16, and it begins at the address 0x606EA8 in I/O memory.
TX ring with 4 entries at 0x606F68, tx_count = 0—The size of the transmit ring is 16, it begins at the address 0x606F68 in I/O memory, and there are no packets to be transmitted on this interface.
This description is based on the book Inside Cisco IOS Software Architecture, Cisco Press1.
1"CCIE Professional Development: Inside Cisco IOS Software Architecture" by Vijay Bollapragada, Curtis Murphy, Russ White (ISBN 1-57870-181-3).
Step 1: The interface media controller detects a packet on the network media and copies it into a buffer to which the first free element in the receive ring points. Media controllers use the Direct Memory Access (DMA) method to copy packet data into memory.
Step 2: The media controller changes ownership of the packet buffer back to the processor, and issues a receive interrupt to the processor. The media controller does not have to wait for a response from the CPU, and continues to receive incoming packets into the receive ring.
It is possible for the media controller to fill the receive ring before the processor processes all the new buffers in the ring. This condition is called an overrun. When this occurs, all incoming packets are dropped until the processor recovers.
Step 3: The CPU responds to the receive interrupt, and attempts to remove the newly-filled buffer from the receive ring, and replenishes the ring from the private pool of the interface. Notice that packets are not physically moved within the I/O memory. Instead, only the pointers are changed. If the input hold queue of the interface is full, the packet is dropped; otherwise, three outcomes are possible:
3.1: A free buffer is available in the private pool of the interface to replenish the receive ring. The free buffer is linked to the receive ring and the packet now belongs to the private buffers pool of the interface.
3.2: A free buffer is not available in the private pool of the interface, so the receive ring falls back to the global pool that matches the MTU of the interface, in order to be replenished. The fallback counter value increases for the private pool.
3.3: If a free buffer is not available in the public pool as well, the incoming packet is dropped, and the ignore counter value increases. In addition, the interface is throttled and all incoming traffic is ignored on this interface for a short period.
Step 4: After the receive ring is replenished, the CPU begins to switch the packet. Cisco IOS software attempts to switch the packet with the help of the fastest method configured on the interface. On shared memory routers, it first tries Cisco Express Forwarding (CEF) switching (if configured), then fast switching (unless the no ip route-cache command is configured on the interface), and finally, process switching if none of the others work.
Step 5: While still in the receive interrupt context, the Cisco IOS software attempts to use the CEF table or the fast switching cache to make a switching decision. Switching can be:
5.1: CEF switching—If there are valid CEF and adjacency table entries, the Cisco IOS software rewrites the Media Access Control (MAC) header on the packet and begins to transmit it (see Step 8). If there is no CEF entry for the destination, the packet is dropped.
5.2: Fast switching—If CEF is not enabled or the packet cannot be CEF switched, the Cisco IOS software attempts to fast-switch the packet. If there is a valid fast cache entry for this destination, the Cisco IOS software rewrites the MAC header information and begins to transmit the packet (see Step 8). If there is no valid fast cache entry, the packet is queued for process switching (see Step 6).
Step 6: Process switching—If both CEF and fast switching fail, the Cisco IOS software falls back to process switching. The packet goes in the queue of the appropriate process (for instance, an IP packet is placed in the queue for the IP Input process), and the receive interrupt is dismissed.
Step 7: Eventually the packet switching process runs, and switches the packet and rewrites the MAC header as needed. Notice that the packet still has not moved from the buffer into which it was originally copied. After the packet is switched, the Cisco IOS software continues to the packet transmit stage.
Step 8: If the packet was CEF or fast switched, the Cisco IOS software checks to see if there are packets on the output queue of the outbound interface, while still in receive interrupt context.
8.1: If there are packets already on the output hold queue for the interface, the Cisco IOS software places the packet on the output hold queue instead of directly into the transmit ring to reduce the possibility of out-of-order packets, and then proceeds to Step 8.3.
8.2: If the output hold queue is empty, the Cisco IOS software places the packet on the transmit ring of the output interface. To do so, it links the packet buffer to a transmit ring descriptor. The receive interrupt is dismissed, and processing continues with Step 11. If there is no room on the transmit ring, the packet is placed on the output hold queue instead, and the receive interrupt is dismissed.
8.3: If the output hold queue is full, the packet is dropped, the output drop counter value increases, and the receive interrupt is dismissed.
Step 9: If the packet was process-switched, the packet is placed on the output queue for the input interface. If the output queue is full, the packet is dropped and the output drop counter value increases.
Step 10: The Cisco IOS software attempts to find a free descriptor in the output interface transmit ring. If a free descriptor exists, the Cisco IOS software removes the packet from the output hold queue and links the buffer to the transmit ring. If the ring is full, the Cisco IOS software leaves the packet in the output hold queue until the media controller transmits a packet from the ring and frees a descriptor.
Step 11: The outbound interface media controller polls its transmit ring periodically for packets that need to be transmitted. As soon as the media controller detects a packet, it copies the packet onto the network media and raises a transmit interrupt to the processor.
Step 12: The Cisco IOS software acknowledges the transmit interrupt, de-links the packet buffer from the transmit ring, and returns the buffer to the pool of buffers from which it originated. The Cisco IOS software then checks the output hold queue for the interface. If any packets await in the output hold queue, the Cisco IOS software removes the next one from the queue and links it to the transmit ring. Finally, the transmit interrupt is dismissed.
- Password Recovery Procedures
- Cisco 2500 Series Routers
- Cisco 2500 Router Hardware Troubleshooting
- ROMmon Recovery for the Cisco 2500, 3000, AS5100, and uBR900 Series Routers
- Software Installation and Upgrade Procedure for the 1600, 2000, 2500, 3000, AS5100, and AS5200
- Cisco 2500 Series Routers Product Support Page
- Technical Support - Cisco Systems
The Cisco Support Community is a forum for you to ask and answer questions, share suggestions, and collaborate with your peers.
Refer to Cisco Technical Tips Conventions for information on conventions used in this document.