Networking on z/OS
Previous topic | Next topic | Contents | Glossary | Contact z/OS | PDF

The telnet daemon

Networking on z/OS

There are two telnet servers available in the z/OS operating environment. One is the TN3270 server, which supports line mode telnet, but it is seldom used for just that. Instead, it is primarily used to support the TN3270 Enhanced protocol. The other telnet server is a line mode server only, referred to as the z/OS UNIX Telnet server, or otelnetd. This section describes the otelnetd server only.

The otelnetd server is a functional equivalent to the telnetd daemons found on other UNIX style servers. Since it is a z/OS UNIX daemon, it is run within the z/OS UNIX environment and provides the user with a shell only (no access to the MVS file system is possible). All of the functionality is there that would be expected when connecting to a UNIX telnetd server: the vi editor, environment variables, profile processing, and more.

Additionally, like telnetd on other UNIX platforms, otelnetd requires inetd to handle its listen.

Reminder: What is inetd, anyway? The inetd server is a generic listening application. It is configured to listen on a specific port on behalf of another application, like a telnetd server. When a connect request arrives at that port, the inetd server starts an instance of the application and gives the connection to the newly started application. On z/OS, inetd also handles listens for industry standard implementations of rlogin, rshd and rexecd.

The bad news is that inetd does not lend itself readily to the AUTOLOG capability of the TCP/IP started task. The good news is that otelnetd is not typically used for mission-critical type communication anyway.

If you are familiar with configuring inetd for telnet on a UNIX style server, then you can certainly be comfortable configuring it on z/OS. A sample of /etc/inetd.conf is shown in Figure 1.

Figure 1. inetd.conf for otelnetd
 # service | sock | prot | wait/ | user   | server  | server program    
 # name    | type |      | nowait|        | program | arguments         
 otelnet   stream  tcp     nowait OMVSKERN /usr/sbin/otelnetd otelnetd -m

When a connection is made to port 23, inetd executes /usr/sbin/otelnetd and passes the parameter -m to it. The -m parameter is included for efficiency: it reduces the number of address spaces (processes) required to run the otelnetd session.

But wait a minute! How did port 23 suddenly get dropped into the equation? The otelnetd server on z/OS functions exactly the same as telnetd on any other UNIX platform. It requires an entry in /etc/services to inform it of which port number to listen on. In this case, /etc/services would require a line such as otelnet 23/tcp.

Reminder: The /etc/services file is used in a UNIX environment by many IP-based applications. When a UNIX application is started, it must determine what port number it should be listening on, and it checks /etc/services.

The otelnetd daemon supports the standard line mode terminal definitions such as vt terminals, Wyse terminals, PC850, and many others.

Character sets - telnet daemon

The EBCDIC-to-ASCII conversion with otelnetd is completely transparent. All characters sent to a client emulator are transmitted in ASCII format.

Copyright IBM Corporation 1990, 2010