Terminal Emulation

A terminal emulator is a piece of software that mimics the functions of a terminal: a box with a screen and keyboard used to connect to a large computer system (a host).

3270s are a family of block-mode terminals used to interact with IBM mainframes. A block-mode terminal allows text to be edited on the screen without interacting with the host. Specific keys cause the updated text to be sent to the host, and the terminal waits for a response with the keyboard locked.

By contrast, a character-mode terminal sends each keystroke to the host for processing. The terminal sends keystrokes and the host sends text to be displayed without any synchronization.

x3270 and its variants emulate both a 3270 block-mode terminal and a character-mode terminal. In NVT mode, it emulates an xterm, which is based on the DEC VT100 and VT220 serial terminals. In 3270 mode, it emulates either an IBM 3278 (monochrome) or 3279 (color) block-mode terminal.

x3270 communicates with the host using a TCP session over a network. The basic protocol for the session is TELNET, defined by RFC-854. A TELNET session is in NVT mode by default. Once the session is established, the host negotiates 3270 mode, using either RFC-1576 or RFC-2355 (TN3270E).

In addition, the TCP session can be encrypted and authenticated using TLS.