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 the series
- Cisco IOS CLI Regex: sh ip bgp in
- IOS CLI Tip: More accurate pipe commands
- Cisco Nexus NXOS and Fixing broken “switchto” syntax with alias
- show ip eigrp topology all
- Cisco IOS CLI Shortcuts
- The poor man's IOS Traffic Generator
- IOS: "terminal monitor" on, off - logging to your terminal
- IOS: Console, Terminal, Monitor, VTY - what is what ? (This post)
- IOS: Clearing an interface configuration
- IOS: Setting Terminal Window Length
- IOS CLI: show run linenum
- IOS: Setting the TCP timeout on IOS
- IOS: enable and .... disable ?
- IOS: Reverse SSH console access - Part 2
- IOS:Open Source Lab DNS and IP addressing
- IOS: Reverse SSH console access
- ip tcp timestamp
- Cisco ASA and IOS command tip - test aaa-server