IOS speak- Monitor, Terminal, VTY or Console ?
When you are connecting to your Cisco IOS router, we use a number of different terms for ALMOST the same thing. Lets cover this syntax so that you can speak the same language as me. That way, I will like you better and we won’t make mistakes.
Herewith is the official Ethereal Mind definition for each term. Do not use any other meaning.
Console as meaning serial connection when you connect the console cable to the device, and the serial port to your laptop / computer.
Monitor is a telnet / SSH session, but can sometimes be known as the Terminal ((there are good reasons for this, but they are historical so no-one cares anyway. Except me. But not today)). In rather special circumstances, the Monitor can also be known as the “VTY”.
Terminal is USUALLY a more broad term for BOTH CONSOLE and MONITOR.
A VTY is term used by Cisco to describe a single terminal (whereas Terminal is more of a verb or general action term).
You say Terminal Program not Console Program
Most people also call the software on their desktop, their ìTerminal Programî or similar. And they typically say ìI will terminal into the routerî, or possibly “I will telnet to the router” or even “I will SSH into the router”.
And when you are connecting the the blue serial cable, you typically say ìI am consoling into the boxî.
Thatís what we say, and thatís what you should say. Then we all mean the same thing.
Footnote: Apocryphal Note on VTY for younger people
The following is conjecture on my part, I have no actual proof that this is true but it seems highly likely.
So what’s vty then ? A teletype! Are you kidding?
vty is short for Virtual TeletYpe. Teletype refers to the days when computers were programmed by character based printers, literally, a keyboard attached to a printer. When you pressed a key, the character was printed on paper. Screen to display characters were invented much later. That’s how early computers go input. Go and look at http://en.wikipedia.org/wiki/Teletype for full details.
So when Cisco IOS was first started out, it was based on a OS that still regarded these keyboard/printers as the only way to I/O the system. I guess Cisco never got around to changing it. ((Is that just cheap or good for customers, hard to say))
Oh yeah, and the very early models where called LINE PRINTERS. That’s because you had to type an entire line and press enter before the printer would print it. If you made a mistake you had to delete the entire line, type it again and hope it was right. ((and yes, I have used these devices when I was at University, they really did exist)). That’s why Cisco continues to call a terminal session a line.
For the record, very early versions of the Cisco CLI used the “line printer” idea to input configuration commands. Terry Slattery talks about it here. Here is an excerpt:
The original Cisco router didn’t even have a CLI. According to Kirk Lougheed, one of the founders of Cisco, it was only intended to have its configuration loaded via TFTP. He told me that he needed the ability to change the configuration at a trade show, so he added a quick hack to allow him to type the configuration into a buffer, which was passed to the function that parsed the TFTP file. The end of the input was indicated with CTRL-Z. You entered all the commands and when you pressed CTRL-Z, the file was parsed and any errors were displayed. It wasn’t great to have a bunch of typing be wasted when an error occurred.
Some time later, the CLI was changed to cause lines to be executed as soon as they were entered instead of after the CTRL-Z was input. Greg Satz, who told me of this change, was pleased to note that I had just barely noticed the change. I distinctly recall thinking that something changed, but hadn’t been able to put my finger on exactly what. The change reported errors as soon as you entered them, not after the entire buffer had been typed, so it was a good change. This change would have happened sometime before late 1990. There was still no command history, interactive help, or command editing capability
Which vty am I connected to ?
Typically, an IOS router has five VTY sessions by default although you can configure more. This means five concurrent telnet / SSH session. If you configure more, you can (depending on IOS version) have more. For example, IOS SX code (switches) has fifteen by default.
line vty 0 4
exec-timeout 0 0
privilege level 15
password 7 094F471A1A0A
transport input telnet
line vty 5 15
You can tell which line printer you are using by using the ìshow terminalî command and the line number shows you which ìlineî you are connected to. That’s why terminal sessions still talk about width and length: because you needed to know what sort of paper you had loaded into teletype and the terminal had to have settings for the paper size.
Line 2, Location: "", Type: "LINUX"
Length: 62 lines, Width: 161 columns
Baud rate (TX/RX) is 9600/9600
Status: PSI Enabled, Ready, Active, No Exit Banner, Ctrl-c Enabled
Seriously, it’s the little things that can make a difference. If everyone is calling something a particular name, it doesn’t really matter what you think. Using different terms can cause errors and mistakes. And while it’s unfair that older or more experienced engineers continue to use weird terminology, changing it can often cause problems. Get over it.
Just like in Certification Exams, sometimes something “just is that way”. Don’t whine about it, just go on with it.
Other Posts in A Series On The Same Topic
- Cisco IOS CLI Regex: sh ip bgp in (2nd May 2012)
- IOS CLI Tip: More accurate pipe commands (1st May 2012)
- Cisco Nexus NXOS and Fixing broken “switchto” syntax with alias (18th December 2011)
- show ip eigrp topology all (22nd May 2011)
- Cisco IOS CLI Shortcuts (6th February 2011)
- The poor man's IOS Traffic Generator (19th September 2009)
- IOS: "terminal monitor" on, off - logging to your terminal (17th September 2009)
- IOS: Console, Terminal, Monitor, VTY - what is what ? (16th September 2009)
- IOS: Clearing an interface configuration (13th September 2009)
- IOS: Setting Terminal Window Length (10th September 2009)
- IOS CLI: show run linenum (9th September 2009)
- IOS: Setting the TCP timeout on IOS (14th August 2008)
- IOS: enable and .... disable ? (20th July 2008)
- IOS: Reverse SSH console access - Part 2 (25th June 2008)
- IOS:Open Source Lab DNS and IP addressing (2nd June 2008)
- IOS: Reverse SSH console access (29th May 2008)
- ip tcp timestamp (14th April 2008)
- Cisco ASA and IOS command tip - test aaa-server (18th February 2008)