IOS: Console, Terminal, Monitor, VTY – what is what ?

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.

Syntax

Herewith is the official Ethereal Mind definition for each term. Do not use any other meaning.

Console

Console as meaning serial connection when you connect the console cable to the device, and the serial port to your laptop / computer.

Monitor

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

Terminal is USUALLY a more broad term for BOTH CONSOLE and MONITOR.

VTY

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.

A teletype (as stolen from http://www.pdp8.net/asr33/asr33.shtml)

A teletype (as stolen from http://www.pdp8.net/asr33/asr33.shtml)

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. tweet

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 tweet

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
no login
transport input telnet
line vty 5 15
no login
!

show terminal

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.

s1#sh terminal
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
Automore On
Capabilities: none

Wrap Up

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

  1. Cisco IOS CLI Regex: sh ip bgp in (2nd May 2012)
  2. IOS CLI Tip: More accurate pipe commands (1st May 2012)
  3. Cisco Nexus NXOS and Fixing broken “switchto” syntax with alias (18th December 2011)
  4. show ip eigrp topology all (22nd May 2011)
  5. Cisco IOS CLI Shortcuts (6th February 2011)
  6. The poor man's IOS Traffic Generator (19th September 2009)
  7. IOS: "terminal monitor" on, off - logging to your terminal (17th September 2009)
  8. IOS: Console, Terminal, Monitor, VTY - what is what ? (16th September 2009)
  9. IOS: Clearing an interface configuration (13th September 2009)
  10. IOS: Setting Terminal Window Length (10th September 2009)
  11. IOS CLI: show run linenum (9th September 2009)
  12. IOS: Setting the TCP timeout on IOS (14th August 2008)
  13. IOS: enable and .... disable ? (20th July 2008)
  14. IOS: Reverse SSH console access - Part 2 (25th June 2008)
  15. IOS:Open Source Lab DNS and IP addressing (2nd June 2008)
  16. IOS: Reverse SSH console access (29th May 2008)
  17. ip tcp timestamp (14th April 2008)
  18. Cisco ASA and IOS command tip - test aaa-server (18th February 2008)
About Greg Ferro

Greg Ferro is a Network Engineer/Architect, mostly focussed on Data Centre, Security Infrastructure, and recently Virtualization. He has over 20 years in IT, in wide range of employers working as a freelance consultant including Finance, Service Providers and Online Companies. He is CCIE#6920 and has a few ideas about the world, but not enough to really count.

He is a host on the Packet Pushers Podcast, blogger at EtherealMind.com and on Twitter @etherealmind and Google Plus

You can contact Greg via the site contact page.

  • http://blog.ioshints.info Ivan Pepelnjak

    Well, there are a few things you’ve got wrong, among them:

    * the highest category is a “line”, which could be CON, AUX or VTY.
    * the “line” probably appeared before IceAge3, when all terminal-like devices were connected to the router with physical serial lines (I would suspect VTY was a later addition to Cisco IOS).
    * “terminal” is a temporary per-session instance of a line. That’s why you change per-session settings with “terminal X” and permanent settings in “line” configuration mode.
    * “monitor” is a “line” which monitors router operations … which actually means the SYSLOG messages are sent to it.

    And, BTW, “line printer” refers to those devices that printed a whole line at a time (as opposed to typewriters or dot matrix printers which printed a character at a time). The “line printer” would have to receive a whole line and then optimize the operation of its printing chain (or drum) to print the line as quickly as possible.

    Hand-optimized character sequences generated varying level of noise (the most noise was generated when all hammers struck the printing chain at the same time), which allowed clever programmers with nothing better to do to play Radetzky March on the line printer.

    • http://alouche.net Ali

      Hi,

      “* the highest cat≠egory is a ìlineî, which could be CON, AUX or VTY.”

      Since the post is all about being politically correct, don’t forget TTY :)

      • http://blog.ioshints.info Ivan Pepelnjak

        You’re absolutely right. It’s been over a decade since I’ve last worked with Cisco’s terminal servers.

Subscribe For Weekly Updates by Email

Get a Weekly Summary of Latest Articles and Posts to your Email Inbox Every Sunday

Thanks for signing up. Look for the email from MailChimp & make sure you confirm your email address. You may need to check your spam or gmail settings to be sure of receiving the email.

Note: You can unsubscribe at any time using the link at the bottom of every email.