27.11.2014 Views

z/VM: TCP/IP User's Guide - z/VM - IBM

z/VM: TCP/IP User's Guide - z/VM - IBM

z/VM: TCP/IP User's Guide - z/VM - IBM

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

z/<strong>VM</strong> <br />

<br />

<strong>TCP</strong>/<strong>IP</strong> Level 430<br />

User’s <strong>Guide</strong><br />

Version4Release3.0<br />

SC24-6020-01


z/<strong>VM</strong> <br />

<br />

<strong>TCP</strong>/<strong>IP</strong> Level 430<br />

User’s <strong>Guide</strong><br />

Version4Release3.0<br />

SC24-6020-01


Note:<br />

Before using this information and the product it supports, read the information under “Notices” on page 347.<br />

|<br />

|<br />

|<br />

|<br />

Second Edition (May 2002)<br />

This edition applies to Version 4, Release 3, Modification 0 of <strong>IBM</strong> ® z/<strong>VM</strong>, (product number 5739-A03) and to all<br />

subsequent releases and modifications until otherwise indicated in new editions.<br />

This edition replaces SC24-6020–00.<br />

© Copyright International Business Machines Corporation 1987, 2002. All rights reserved.<br />

US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract<br />

with <strong>IBM</strong> Corp.


Contents<br />

|<br />

|<br />

|<br />

Preface . . . . . . . . . . . . . . vii<br />

Who Should Read This Book . . . . . . . . vii<br />

What You Should Know before Reading This Book vii<br />

What This Book Contains . . . . . . . . . vii<br />

How to Use This Book . . . . . . . . . . . ix<br />

How the Term “internet” Is Used in This Book. . ix<br />

Where to Find More Information . . . . . . . ix<br />

PDF Links to Other Books . . . . . . . . ix<br />

Understanding Syntax Diagrams. . . . . . . . x<br />

How Numbers Are Used in This Book . . . . . xii<br />

How to Send Your Comments to <strong>IBM</strong> . . . . . xii<br />

Summary of Changes . . . . . . . . xiii<br />

Second Edition for z/<strong>VM</strong> Version 4 (May 2002) . . xiii<br />

PASV FTP client support . . . . . . . . xiii<br />

<strong>TCP</strong>/<strong>IP</strong> Stack Vulnerability Reduction . . . . xiii<br />

First Edition for z/<strong>VM</strong> Version 4 (October 2001) xiii<br />

<strong>TCP</strong>/<strong>IP</strong> Stack Performance and Reliability<br />

Improvements . . . . . . . . . . . . xiii<br />

IMAP Support . . . . . . . . . . . . xiv<br />

First Edition for z/<strong>VM</strong> Version 3 (February 2001) xiv<br />

FTP Web Browser Support . . . . . . . . xiv<br />

<strong>VM</strong> Network File System (NFS) Client . . . . xiv<br />

<strong>IP</strong> Multicasting . . . . . . . . . . . . xiv<br />

Secure Socket Layer (SSL) Support . . . . . xiv<br />

Chapter 1. Introducing Computer<br />

Networks and Protocols . . . . . . . . 1<br />

Computer Networks . . . . . . . . . . . . 1<br />

Internet Environment . . . . . . . . . . . 1<br />

<strong>TCP</strong>/<strong>IP</strong> Protocols and Functions . . . . . . . . 3<br />

Link Protocols . . . . . . . . . . . . . 4<br />

Network Protocols . . . . . . . . . . . 4<br />

Transport Protocols . . . . . . . . . . . 6<br />

Applications and Protocols . . . . . . . . 6<br />

Routing. . . . . . . . . . . . . . . . 10<br />

Internet Addressing. . . . . . . . . . . . 11<br />

Network Address Format . . . . . . . . . 11<br />

Broadcast Address Format . . . . . . . . 12<br />

Multicast Address Format . . . . . . . . 13<br />

Subnetwork Address Format . . . . . . . 13<br />

Chapter 2. Transferring Files Using FTP 15<br />

FTP Command . . . . . . . . . . . . . 16<br />

The NETRC DATA File . . . . . . . . . . 19<br />

The FTP DATA File . . . . . . . . . . . . 19<br />

Statement Syntax . . . . . . . . . . . 19<br />

FTP DATA File Statements . . . . . . . . . 19<br />

CCONNTIME Statement . . . . . . . . . 20<br />

DATACTTIME Statement . . . . . . . . . 21<br />

DCONNTIME Statement . . . . . . . . . 22<br />

INACTTIME Statement . . . . . . . . . 23<br />

LOADDBCSTABLE Statement . . . . . . . 24<br />

MYOPENTIME Statement . . . . . . . . 25<br />

FTP Subcommands . . . . . . . . . . . . 26<br />

Continuing Subcommand Input Strings . . . . 29<br />

File Name Formats . . . . . . . . . . . 30<br />

Fully-Qualified Pathnames . . . . . . . . 33<br />

Storage Space Requirements for Transferred Files 33<br />

File Transfer Methods . . . . . . . . . . 34<br />

File List Formats. . . . . . . . . . . . 35<br />

Transferring Files Using a Web Browser . . . . 39<br />

ACCT . . . . . . . . . . . . . . . . 40<br />

APPEND . . . . . . . . . . . . . . . 41<br />

ASCII . . . . . . . . . . . . . . . . 41<br />

BINARY . . . . . . . . . . . . . . . 42<br />

CD or CWD . . . . . . . . . . . . . . 42<br />

CDUP . . . . . . . . . . . . . . . . 46<br />

CLOSE . . . . . . . . . . . . . . . . 46<br />

CMS. . . . . . . . . . . . . . . . . 46<br />

DEBUG. . . . . . . . . . . . . . . . 47<br />

DELETE . . . . . . . . . . . . . . . 47<br />

DELIMIT . . . . . . . . . . . . . . . 47<br />

DIR . . . . . . . . . . . . . . . . . 48<br />

EBCDIC . . . . . . . . . . . . . . . 49<br />

EUCKANJI . . . . . . . . . . . . . . 50<br />

GET . . . . . . . . . . . . . . . . . 50<br />

HANGEUL . . . . . . . . . . . . . . 51<br />

HELP . . . . . . . . . . . . . . . . 51<br />

<strong>IBM</strong>KANJI. . . . . . . . . . . . . . . 52<br />

JIS78KJ . . . . . . . . . . . . . . . . 52<br />

JIS83KJ . . . . . . . . . . . . . . . . 53<br />

KSC5601 . . . . . . . . . . . . . . . 53<br />

LCD. . . . . . . . . . . . . . . . . 53<br />

LOCSITE . . . . . . . . . . . . . . . 54<br />

LOCSTAT . . . . . . . . . . . . . . . 54<br />

LPWD . . . . . . . . . . . . . . . . 55<br />

LS . . . . . . . . . . . . . . . . . 55<br />

MDELETE . . . . . . . . . . . . . . . 57<br />

MGET . . . . . . . . . . . . . . . . 58<br />

MKDIR . . . . . . . . . . . . . . . . 58<br />

MODE . . . . . . . . . . . . . . . . 59<br />

MPUT . . . . . . . . . . . . . . . . 59<br />

NETRC . . . . . . . . . . . . . . . . 60<br />

NOOP . . . . . . . . . . . . . . . . 60<br />

OPEN . . . . . . . . . . . . . . . . 61<br />

PASS . . . . . . . . . . . . . . . . 62<br />

PASSIVE . . . . . . . . . . . . . . . 62<br />

PUT . . . . . . . . . . . . . . . . . 63<br />

PWD . . . . . . . . . . . . . . . . 64<br />

QUIT . . . . . . . . . . . . . . . . 65<br />

QUOTE. . . . . . . . . . . . . . . . 65<br />

RENAME . . . . . . . . . . . . . . . 65<br />

RMDIR . . . . . . . . . . . . . . . . 66<br />

SENDPORT . . . . . . . . . . . . . . 67<br />

SENDSITE. . . . . . . . . . . . . . . 67<br />

SITE . . . . . . . . . . . . . . . . . 68<br />

SIZE. . . . . . . . . . . . . . . . . 70<br />

SJISKANJI . . . . . . . . . . . . . . . 70<br />

STATUS . . . . . . . . . . . . . . . 71<br />

STRUCT . . . . . . . . . . . . . . . 71<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 iii


SUNIQUE . . . . . . . . . . . . . . . 71<br />

SYSTEM . . . . . . . . . . . . . . . 73<br />

TCHINESE . . . . . . . . . . . . . . 73<br />

TYPE . . . . . . . . . . . . . . . . 74<br />

USER . . . . . . . . . . . . . . . . 75<br />

Using FTP Within an EXEC . . . . . . . . . 75<br />

Providing FTP Subcommand Input . . . . . 76<br />

Managing FTP Command Output . . . . . . 76<br />

Examples . . . . . . . . . . . . . . 76<br />

FTP Return Codes . . . . . . . . . . . . 78<br />

Examples . . . . . . . . . . . . . . 80<br />

FTP Reply Codes . . . . . . . . . . . . 80<br />

Internal Error Codes . . . . . . . . . . . 82<br />

Using FTP with RACF ® . . . . . . . . . . 83<br />

Chapter 3. Transferring Files Using<br />

TFTP . . . . . . . . . . . . . . . 85<br />

TFTP Command . . . . . . . . . . . . . 85<br />

Creating Translation Tables . . . . . . . . . 86<br />

TFTP Subcommands . . . . . . . . . . . 86<br />

GET . . . . . . . . . . . . . . . . 86<br />

HELP . . . . . . . . . . . . . . . 86<br />

LOCSTAT . . . . . . . . . . . . . . 87<br />

MAXPKT . . . . . . . . . . . . . . 87<br />

MODE . . . . . . . . . . . . . . . 88<br />

OPEN . . . . . . . . . . . . . . . 88<br />

PUT . . . . . . . . . . . . . . . . 89<br />

QUIT . . . . . . . . . . . . . . . 89<br />

REXMIT . . . . . . . . . . . . . . 89<br />

TRACE . . . . . . . . . . . . . . . 90<br />

Chapter 4. Sending and Receiving<br />

Electronic Mail . . . . . . . . . . . 91<br />

NOTE and SENDFILE Commands. . . . . . . 91<br />

Electronic Mail Gateway . . . . . . . . . . 91<br />

Note and File Delivery . . . . . . . . . 92<br />

SMTPQUEU . . . . . . . . . . . . . 92<br />

Undelivered Notes . . . . . . . . . . . 92<br />

Nondelivery Note . . . . . . . . . . . 92<br />

Unknown Recipient Note. . . . . . . . . 93<br />

Using OfficeVision Without OfficeVision Extended<br />

Mail Installed. . . . . . . . . . . . . . 94<br />

Specifying <strong>TCP</strong>/<strong>IP</strong> Recipients . . . . . . . 94<br />

Example of Sending a Note Copy to SMTP . . . 95<br />

Note Delivery . . . . . . . . . . . . 95<br />

Using IMAP to Access Electronic Mail . . . . . 95<br />

Using the SMSG Interface to SMTP . . . . . . 96<br />

SMSG Commands . . . . . . . . . . . . 96<br />

Receiving Electronic Mail on <strong>VM</strong> . . . . . . . 97<br />

Chapter 5. Logging On to a Foreign<br />

Host . . . . . . . . . . . . . . . 101<br />

TELNET Command . . . . . . . . . . . 101<br />

TELNET Function Keys . . . . . . . . . . 102<br />

In Transparent (TN3270) Mode . . . . . . 102<br />

In Line Mode . . . . . . . . . . . . 102<br />

TELNET Subcommands . . . . . . . . . . 103<br />

AO. . . . . . . . . . . . . . . . 103<br />

AYT . . . . . . . . . . . . . . . 103<br />

BRK . . . . . . . . . . . . . . . 103<br />

HELP . . . . . . . . . . . . . . . 104<br />

<strong>IP</strong> . . . . . . . . . . . . . . . . 104<br />

PA1 . . . . . . . . . . . . . . . 104<br />

QUIT . . . . . . . . . . . . . . . 104<br />

SYNCH . . . . . . . . . . . . . . 105<br />

Sending ASCII Control Characters to a Host in<br />

Line Mode . . . . . . . . . . . . . 105<br />

Chapter 6. Monitoring the <strong>TCP</strong>/<strong>IP</strong><br />

Network. . . . . . . . . . . . . . 107<br />

NETSTAT—Displaying Local Host Information . . 107<br />

NETSTAT Command Address Interpretation . . 107<br />

RPCINFO Command . . . . . . . . . . 128<br />

PING Command . . . . . . . . . . . 129<br />

TRACERTE Command . . . . . . . . . 130<br />

Chapter 7. Authenticating Network<br />

Users with Kerberos . . . . . . . . 133<br />

Understanding Kerberos Name Structures . . . . 133<br />

Kerberos Commands . . . . . . . . . . . 133<br />

KINIT Command . . . . . . . . . . . . 134<br />

KLIST Command . . . . . . . . . . . . 135<br />

KDESTROY Command . . . . . . . . . . 136<br />

KPASSWD Command . . . . . . . . . . 136<br />

Chapter 8. Using the Network File<br />

System Commands . . . . . . . . . 139<br />

<strong>VM</strong>’s NFS Server Support . . . . . . . . . 139<br />

NFS Client Commands . . . . . . . . . . 140<br />

MOUNT Command . . . . . . . . . . . 140<br />

MOUNTPW Command . . . . . . . . . . 150<br />

UMOUNT Command . . . . . . . . . . 151<br />

Diagnosing Mount Problems . . . . . . . . 152<br />

Errors Using Mounted Systems . . . . . . . 153<br />

Notes for BFS Files and Directories . . . . . . 155<br />

Notes for SFS Files and Directories . . . . . . 156<br />

Notes for Minidisk Files . . . . . . . . . . 158<br />

SMSG Interface to <strong>VM</strong>NFS . . . . . . . . . 160<br />

Name Translation File . . . . . . . . . . 165<br />

Special File Names for <strong>VM</strong> NFS . . . . . . 165<br />

Special File Name Considerations . . . . . 165<br />

NFS Client Problems . . . . . . . . . . . 166<br />

Deleting CMS Record-Length Fields . . . . . . 166<br />

Using NFS with RACF . . . . . . . . . . 166<br />

<strong>VM</strong> NFS Server Link Support . . . . . . . . 167<br />

SFS and Minidisk Links . . . . . . . . . 167<br />

BFS Links . . . . . . . . . . . . . 167<br />

Chapter 9. Using the Remote<br />

Execution Protocol . . . . . . . . . 169<br />

REXEC Command. . . . . . . . . . . . 169<br />

The NETRC DATA File . . . . . . . . . . 170<br />

Anonymous Remote Command Execution. . . . 171<br />

Command Execution Using Your Own Virtual<br />

Machine . . . . . . . . . . . . . . 171<br />

Notes and Restrictions . . . . . . . . . 172<br />

Using RSH commands with REXECD . . . . . 172<br />

Chapter 10. Using Remote Printing 175<br />

iv<br />

z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


LPRSET Command . . . . . . . . . . . 175<br />

LPR Command . . . . . . . . . . . . . 178<br />

Controlling LPSERVE from other Systems . . . . 190<br />

LPQ Command. . . . . . . . . . . . . 191<br />

LPRM Command . . . . . . . . . . . . 193<br />

Chapter 11. Using GDDMXD/<strong>VM</strong> with<br />

the X Window System. . . . . . . . 195<br />

Overview of GDDMXD/<strong>VM</strong> . . . . . . . . 195<br />

GDDM Application Limitations . . . . . . 195<br />

GDDM Display Limitations . . . . . . . 195<br />

z/<strong>VM</strong> Considerations . . . . . . . . . 196<br />

Using GDDMXD/<strong>VM</strong> . . . . . . . . . . 196<br />

Configuring the GDDMXD/<strong>VM</strong> Environment . . 197<br />

Identifying the Target Display . . . . . . . . 197<br />

User-Specified Options . . . . . . . . . . 198<br />

Resizing the GDDMXD Graphics Window. . . 198<br />

Geometry . . . . . . . . . . . . . 199<br />

GColornn. . . . . . . . . . . . . . 199<br />

GMCPnn . . . . . . . . . . . . . . 200<br />

ZWL . . . . . . . . . . . . . . . 201<br />

XSync . . . . . . . . . . . . . . . 201<br />

CMap . . . . . . . . . . . . . . . 202<br />

HostRast . . . . . . . . . . . . . . 202<br />

XClConn . . . . . . . . . . . . . . 203<br />

Compr . . . . . . . . . . . . . . 204<br />

PDTrace . . . . . . . . . . . . . . 204<br />

ANFontn . . . . . . . . . . . . . . 204<br />

Remapping the Enter and Newline Keys . . . 205<br />

Enter . . . . . . . . . . . . . . . 205<br />

Newline . . . . . . . . . . . . . . 206<br />

GDDMXD/<strong>VM</strong> Keyboard Functions. . . . . . 206<br />

GDDMXD/<strong>VM</strong> to X Window System Keyboard<br />

Functions. . . . . . . . . . . . . . . 206<br />

APL2 Character Set Keyboard . . . . . . . . 207<br />

Setting Up GDXAPLCS MAP . . . . . . . . 207<br />

Collecting Problem Determination Information . . 208<br />

GDDMXD/<strong>VM</strong>—X Window System Server<br />

Environment . . . . . . . . . . . . 208<br />

Obtaining the GDDM Trace . . . . . . . 208<br />

Obtaining the GDDMXD Problem<br />

Determination Trace . . . . . . . . . . 208<br />

GDDMXD/<strong>VM</strong> Problem Determination Examples 209<br />

Demonstration Programs . . . . . . . . . 209<br />

GXDEMO1 . . . . . . . . . . . . . 209<br />

GXDEMO2 . . . . . . . . . . . . . 210<br />

GXDEMO3 . . . . . . . . . . . . . 210<br />

GXDEMO4 . . . . . . . . . . . . . 210<br />

GXDEMO4A . . . . . . . . . . . . 210<br />

GXDEMO5 . . . . . . . . . . . . . 210<br />

GXDEMO6 . . . . . . . . . . . . . 210<br />

Chapter 12. Managing <strong>TCP</strong>/<strong>IP</strong> Network<br />

Resources with SNMP . . . . . . . 213<br />

Sample Command Lists . . . . . . . . . . 213<br />

SNMP/NetView Overview . . . . . . . . . 214<br />

SNMP Commands. . . . . . . . . . . . 215<br />

SNMP Commands Overview . . . . . . . 215<br />

Return Codes . . . . . . . . . . . . 215<br />

SNMP GET Command . . . . . . . . . . 216<br />

SNMP GETNEXT Command . . . . . . . . 218<br />

SNMP SET Command . . . . . . . . . . 220<br />

SNMP TRAPSON Command . . . . . . . . 222<br />

SNMP TRAPSOFF Command . . . . . . . . 224<br />

SNMP MIBVNAME Command . . . . . . . 225<br />

SNMP PING Command . . . . . . . . . . 226<br />

Major and Minor Error Codes and SNMP Value<br />

Types . . . . . . . . . . . . . . . . 227<br />

gethostbyname() . . . . . . . . . . . 228<br />

<strong>IBM</strong> 3172 Enterprise-Specific MIB Variables . . . 228<br />

Chapter 13. Using the Network<br />

Database System (NDB) . . . . . . . 231<br />

The Client Machine . . . . . . . . . . . 232<br />

Components of the Client Machine . . . . . 232<br />

The Server Machine . . . . . . . . . . . 233<br />

Components of the Portmap Manager Server 233<br />

Components of the NDB Server . . . . . . 234<br />

Connecting to a Database . . . . . . . . 235<br />

NDBCLNT Command . . . . . . . . . 236<br />

Format of Output Displayed on the Client. . . 238<br />

SQL Commands from a Remote Machine . . . 238<br />

SQL Commands from an Application . . . . 239<br />

Security . . . . . . . . . . . . . . 240<br />

Limitations . . . . . . . . . . . . . 240<br />

Additional information on the NDB Client code 241<br />

Chapter 14. Using the Domain Name<br />

System . . . . . . . . . . . . . . 243<br />

Overview of the Domain Name System . . . . 243<br />

Domain Names. . . . . . . . . . . . 243<br />

Domain Name Servers . . . . . . . . . 244<br />

Resolvers . . . . . . . . . . . . . . 245<br />

Resource Records . . . . . . . . . . . 246<br />

NSLOOKUP—Querying Name Servers . . . . . 249<br />

NSLOOKUP Internal State Information . . . . 249<br />

NSLOOKUP Command . . . . . . . . . . 249<br />

NSLOOKUP Options (SET Subcommand) . . . . 254<br />

NSLOOKUP Examples . . . . . . . . . . 256<br />

DIG—Querying Name Servers. . . . . . . . 259<br />

DIG Internal State Information . . . . . . 259<br />

DIG Command . . . . . . . . . . . . . 260<br />

CMSRESOL—Resolver and Name Server . . . . 270<br />

RESOLV Command—Interface to the CMSRESOL<br />

MODULE . . . . . . . . . . . . . . 270<br />

CMSRESOL Command—Interface to the Resolver 271<br />

Types of Queries . . . . . . . . . . . . 272<br />

The Standard Query . . . . . . . . . . 272<br />

The Inverse Query . . . . . . . . . . 273<br />

Querying the in-addr.arpa Domain . . . . . 273<br />

The Database Query and Update . . . . . . 273<br />

Querying Outside Your Domain . . . . . . 274<br />

Chapter 15. Using Translation Tables 277<br />

Character Sets and Code Pages . . . . . . . 277<br />

<strong>TCP</strong>/<strong>IP</strong> Translation Table Files . . . . . . . 278<br />

Translation Table Search Order . . . . . . . 278<br />

Special Telnet Requirements . . . . . . . 279<br />

<strong>IBM</strong>-Supplied Translation Tables . . . . . . . 280<br />

Customizing SBCS Translation Tables . . . . . 282<br />

Contents<br />

v


Syntax Rules for SBCS Translation Tables . . . 283<br />

Customizing DBCS Translation Tables . . . . . 283<br />

DBCS Translation Table . . . . . . . . . 283<br />

Syntax Rules for DBCS Translation Tables . . . 284<br />

Sample DBCS Translation Tables . . . . . . 284<br />

Converting Translation Tables to Binary . . . . 286<br />

The CONVXLAT Command . . . . . . . 286<br />

Appendix A. Specifying Files and Data<br />

Sets . . . . . . . . . . . . . . . 289<br />

AIX Files . . . . . . . . . . . . . . . 289<br />

OS/390 Data Sets . . . . . . . . . . . . 290<br />

Sequential Data Sets . . . . . . . . . . 290<br />

Partitioned Data Sets . . . . . . . . . . 290<br />

DOS, OS/2, and Windows 98 Files . . . . . . 291<br />

AS/400 Operating System . . . . . . . . . 292<br />

Appendix B. Using the NETRC DATA<br />

File . . . . . . . . . . . . . . . . 293<br />

Using The NETRC DATA File with FTP . . . . 293<br />

Using The NETRC DATA File with REXEC . . . 293<br />

Using the NETRC DATA File with the OPEN<br />

MOUNT CMS Command . . . . . . . . . 294<br />

Appendix C. Mapping Values for the<br />

APL2 Character Set. . . . . . . . . 295<br />

Appendix D. Using DBCS with FTP<br />

and Mail . . . . . . . . . . . . . 301<br />

Using DBCS with FTP . . . . . . . . . . 301<br />

DBCS Translation Tables. . . . . . . . . 301<br />

DBCS Subcommands . . . . . . . . . . 301<br />

Defining FTP with Kanji Support . . . . . . 304<br />

Using FTP with Kanji Support. . . . . . . 304<br />

Using DBCS with Mail . . . . . . . . . . 305<br />

SMTP Server DBCS Support . . . . . . . 305<br />

SMTP Protocol for 8-bit characters . . . . . 305<br />

Conversion of DBCS Mail . . . . . . . . 305<br />

Conversion of DBCS Files . . . . . . . . 306<br />

Appendix E. Management Information<br />

Base Objects . . . . . . . . . . . 307<br />

Structure and Identification of Management<br />

Information (SMI) . . . . . . . . . . . . 307<br />

Names . . . . . . . . . . . . . . 308<br />

The Management Subtree . . . . . . . . 308<br />

MIB/Network Elements . . . . . . . . . . 310<br />

System Group . . . . . . . . . . . . . 311<br />

Interfaces Group . . . . . . . . . . . . 312<br />

Address Translation Group . . . . . . . . . 316<br />

<strong>IP</strong> Group . . . . . . . . . . . . . . . 317<br />

<strong>IP</strong> Address Translation Table . . . . . . . . 322<br />

ICMP Group . . . . . . . . . . . . . 323<br />

<strong>TCP</strong> Group . . . . . . . . . . . . . . 324<br />

UDP Group . . . . . . . . . . . . . . 327<br />

<strong>IBM</strong> 3172 Enterprise-Specific MIB Variables . . . 327<br />

ibm3172SystemTable . . . . . . . . . . 327<br />

ibm3172ifTrapTable . . . . . . . . . . 328<br />

ibm3172ifChanCounters Table . . . . . . . 329<br />

ibm3172ifLANCounters Table . . . . . . . 330<br />

ibm3172ifBlkCounters Table . . . . . . . 331<br />

ibm3172ifDblkCounters Table . . . . . . . 332<br />

ibm3172ifDeviceTable. . . . . . . . . . 333<br />

Appendix F. <strong>IBM</strong> 3172 Attribute Index 335<br />

Appendix G. SNMP Generic TRAP<br />

Types . . . . . . . . . . . . . . . 337<br />

Appendix H. Related Protocol<br />

Specifications . . . . . . . . . . . 339<br />

Appendix I. Abbreviations and<br />

Acronyms . . . . . . . . . . . . . 343<br />

Notices . . . . . . . . . . . . . . 347<br />

Trademarks . . . . . . . . . . . . . . 349<br />

Glossary . . . . . . . . . . . . . 351<br />

Bibliography. . . . . . . . . . . . 369<br />

z/<strong>VM</strong> Internet Library . . . . . . . . . . 369<br />

<strong>VM</strong> Collection CD-ROM. . . . . . . . . . 369<br />

z/<strong>VM</strong> Base Publications . . . . . . . . . . 369<br />

Evaluation . . . . . . . . . . . . . 369<br />

Installation and Service . . . . . . . . . 369<br />

Planning and Administration . . . . . . . 369<br />

Customization . . . . . . . . . . . . 369<br />

Operation . . . . . . . . . . . . . 369<br />

Application Programming . . . . . . . . 369<br />

End Use . . . . . . . . . . . . . . 370<br />

Diagnosis. . . . . . . . . . . . . . 370<br />

Publications for z/<strong>VM</strong> Additional Facilities . . . 370<br />

DFSMS/<strong>VM</strong> ® . . . . . . . . . . . . 370<br />

Language Environment ® . . . . . . . . 370<br />

OSA/SF . . . . . . . . . . . . . . 370<br />

<strong>TCP</strong>/<strong>IP</strong> for z/<strong>VM</strong> . . . . . . . . . . . 371<br />

Publications for z/<strong>VM</strong> Optional Features . . . . 371<br />

DirMaint . . . . . . . . . . . . . 371<br />

PRF . . . . . . . . . . . . . . . 371<br />

RTM . . . . . . . . . . . . . . . 371<br />

RACF ® for <strong>VM</strong>. . . . . . . . . . . . 371<br />

Other <strong>TCP</strong>/<strong>IP</strong> Related Publications . . . . . . 371<br />

Index . . . . . . . . . . . . . . . 373<br />

vi<br />

z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Preface<br />

Who Should Read This Book<br />

This <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong> describes the functions of <strong>TCP</strong>/<strong>IP</strong> Level 430 and explains<br />

how to use the applications available in <strong>TCP</strong>/<strong>IP</strong> for z/<strong>VM</strong>. These applications<br />

include:<br />

v Transferring files<br />

v Sending electronic mail<br />

v Logging on to a foreign host<br />

v Monitoring the network<br />

v Authenticating network users<br />

v Remote printing<br />

v Managing network resources<br />

v Using the Domain Name System<br />

This book also describes how to use the Network File System (NFS), REXEC<br />

command, and GDDMXD with the X Window System.<br />

For information about how to set up, initialize, and customize your <strong>TCP</strong>/<strong>IP</strong>, see<br />

<strong>TCP</strong>/<strong>IP</strong> Planning and Customization and <strong>TCP</strong>/<strong>IP</strong> Programmer’s Reference. For<br />

information about error messages that may appear while using <strong>TCP</strong>/<strong>IP</strong>, see <strong>TCP</strong>/<strong>IP</strong><br />

Messages and Codes.<br />

This book is intended for an end-user and describes how to use <strong>TCP</strong>/<strong>IP</strong> Level 430<br />

after it has been installed and customized on your network. You should read this<br />

book when you want to use the applications that are available in <strong>TCP</strong>/<strong>IP</strong> Level<br />

430.<br />

What You Should Know before Reading This Book<br />

What This Book Contains<br />

Before using this book, you should be familiar with the CP and CMS components<br />

of z/<strong>VM</strong>.<br />

In addition, <strong>TCP</strong>/<strong>IP</strong> should already be installed and customized for your network.<br />

The following section briefly describes the format and organization of this book.<br />

This book describes all applications available with <strong>TCP</strong>/<strong>IP</strong> Level 430; however,<br />

your organization may install and use only some of these functions.<br />

Chapter 1, “Introducing Computer Networks and Protocols” on page 1, introduces<br />

the concepts of computer networks, the internet environment, <strong>TCP</strong>/<strong>IP</strong> protocols<br />

and functions, routing, and internet addressing. This chapter is optional for users<br />

who are familiar with computer networks and protocols.<br />

Chapter 2, “Transferring Files Using FTP” on page 15, describes how to use the File<br />

Transfer Protocol (FTP) command and its subcommands to transfer files from one<br />

host to another host.<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 vii


Chapter 3, “Transferring Files Using TFTP” on page 85, describes how to use the<br />

Trivial File Transfer Protocol (TFTP) command and the subcommands that are<br />

associated with the TFTP command.<br />

Chapter 4, “Sending and Receiving Electronic Mail” on page 91, describes how to<br />

send electronic mail using the NOTE command, the SENDFILE command, and the<br />

PROFS ® interface.<br />

Chapter 5, “Logging On to a Foreign Host” on page 101, describes how to log on to<br />

a foreign host using the various types of terminal emulation that are associated<br />

with the Telnet protocol.<br />

Chapter 6, “Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network” on page 107, describes how to obtain<br />

status information from the network using the NETSTAT command, RPCINFO<br />

command, and PING command.<br />

Chapter 7, “Authenticating Network Users with Kerberos” on page 133, describes<br />

how to use the authentication services of Kerberos.<br />

Chapter 8, “Using the Network File System Commands” on page 139, describes<br />

how to use the Network File System commands.<br />

Chapter 9, “Using the Remote Execution Protocol” on page 169, describes how to<br />

use the REXEC command.<br />

Chapter 10, “Using Remote Printing” on page 175, describes the line printer<br />

daemon (LPD) that provides support for remote printing.<br />

Chapter 11, “Using GDDMXD/<strong>VM</strong> with the X Window System” on page 195,<br />

describes GDDMXD/<strong>VM</strong> and the GDDMXD command. This chapter also describes<br />

how to use GDDMXD/<strong>VM</strong> user-specified options and keyboard functions.<br />

Chapter 12, “Managing <strong>TCP</strong>/<strong>IP</strong> Network Resources with SNMP” on page 213,<br />

describes the Simple Network Management Protocol (SNMP).<br />

Chapter 13, “Using the Network Database System (NDB)” on page 231, describes<br />

the Network Database system (NDB) used for relational database systems in a<br />

<strong>TCP</strong>/<strong>IP</strong> environment.<br />

Chapter 14, “Using the Domain Name System” on page 243, describes Domain<br />

Name Systems and how to query domain name servers.<br />

Chapter 15, “Using Translation Tables” on page 277, describes how to customize the<br />

translation tables supplied with <strong>TCP</strong>/<strong>IP</strong>.<br />

Appendix A, “Specifying Files and Data Sets” on page 289, describes the acceptable<br />

file formats for the AIX ® , MVS, and OS/2 ® operating systems, and AS/400’s ®<br />

operating system. This appendix also provides examples of each format.<br />

Appendix B, “Using the NETRC DATA File” on page 293, describes the NETRC<br />

DATA File and how it can be used with various applications.<br />

Appendix C, “Mapping Values for the APL2 Character Set” on page 295, describes<br />

the GDXAPLCS MAP file. This appendix also lists GDDMXD/<strong>VM</strong>’s default<br />

mapping values for the APL2 ® character set.<br />

viii<br />

z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


How to Use This Book<br />

Appendix D, “Using DBCS with FTP and Mail” on page 301, describes how to use<br />

National Language Support to transfer Kanji files using FTP and SMTP.<br />

Appendix E, “Management Information Base Objects” on page 307, describes the<br />

Management Information Base (MIB) objects that are supported by the <strong>VM</strong> agent.<br />

Appendix F, “<strong>IBM</strong> 3172 Attribute Index” on page 335, lists MIB variables and<br />

corresponding attributes.<br />

Appendix G, “SNMP Generic TRAP Types” on page 337, describes the TRAP<br />

messages associated with SNMP.<br />

Appendix H, “Related Protocol Specifications” on page 339, lists the related<br />

protocol specifications concerning <strong>TCP</strong>/<strong>IP</strong> Level 430.<br />

Appendix I, “Abbreviations and Acronyms” on page 343, lists the abbreviations<br />

and acronyms that are used throughout this book.<br />

This book also includes a glossary, a bibliography, and an index.<br />

Use this book to understand the commands that are used to exploit the networking<br />

protocols.<br />

How the Term “internet” Is Used in This Book<br />

In this book, an internet is a logical collection of networks supported by routers,<br />

gateways, bridges, hosts, and various layers of protocols, which permit the<br />

network to function as a large, virtual network.<br />

Note: The term “internet” is used as a generic term for a <strong>TCP</strong>/<strong>IP</strong> network, and<br />

should not be confused with the Internet, which consists of large national<br />

backbone networks (such as MILNET, NSFNet, and CREN) and a myriad of<br />

regional and local campus networks worldwide.<br />

Where to Find More Information<br />

Appendix I, “Abbreviations and Acronyms” on page 343, lists the abbreviations<br />

and acronyms that are used throughout this book.<br />

The “Glossary” on page 351, defines terms that are used throughout this book<br />

associated with <strong>TCP</strong>/<strong>IP</strong> communication in an internet environment.<br />

For more information about related publications, see “Bibliography” on page 369.<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

PDF Links to Other Books<br />

The PDF version of this book provides links to other <strong>IBM</strong> books by file name. The<br />

name of the PDF file for an <strong>IBM</strong> book is unique and identifies the book and its<br />

edition. The book links provided in this book are for the editions (PDF file names)<br />

that were current when this PDF file was generated. Newer editions of some books<br />

(with different file names) may exist. A PDF link from this book to another book<br />

works only when a PDF file with the requested file name resides in the same<br />

directory as this book.<br />

Preface<br />

ix


Understanding Syntax Diagrams<br />

This section describes how to read the syntax diagrams in this book.<br />

Getting Started: To read a syntax diagram, follow the path of the line. Read from<br />

left to right and top to bottom.<br />

v The ►►─── symbol indicates the beginning of a syntax diagram.<br />

v<br />

v<br />

v<br />

The ───► symbol, at the end of a line, indicates that the syntax diagram<br />

continues on the next line.<br />

The ►─── symbol, at the beginning of a line, indicates that a syntax diagram<br />

continues from the previous line.<br />

The ───►◄ symbol indicates the end of a syntax diagram.<br />

Syntax items (for example, a keyword or variable) may be:<br />

v Directly on the line (required)<br />

v Above the line (default)<br />

v Below the line (optional).<br />

Syntax Diagram Description<br />

Abbreviations:<br />

Uppercase letters denote the shortest acceptable<br />

abbreviation. If an item appears entirely in uppercase letters,<br />

it cannot be abbreviated.<br />

Example<br />

►► KEYWOrd ►◄<br />

You can type the item in uppercase letters, lowercase letters,<br />

or any combination.<br />

In this example, you can enter KEYWO, KEYWOR, or<br />

KEYWORD in any combination of uppercase and lowercase<br />

letters.<br />

Symbols:<br />

You must code these symbols exactly as they appear in the<br />

syntax diagram.<br />

Variables:<br />

Highlighted lowercase items (like this) denote variables.<br />

* Asterisk<br />

: Colon<br />

, Comma<br />

= Equal Sign<br />

- Hyphen<br />

() Parentheses<br />

. Period<br />

►► KEYWOrd var_name ►◄<br />

In this example, var_name represents a variable you must<br />

specify when you code the KEYWORD command.<br />

x<br />

z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Syntax Diagram Description<br />

Repetition:<br />

An arrow returning to the left means that the item can be<br />

repeated.<br />

A character within the arrow means you must separate<br />

repeated items with that character.<br />

A footnote (1) by the arrow references a limit that tells how<br />

many times the item can be repeated.<br />

Example<br />

►► ▼ repeat ►◄<br />

,<br />

►► ▼ repeat<br />

►◄<br />

►► ▼ (1)<br />

repeat<br />

►◄<br />

Notes:<br />

1 Specify repeat up to 5<br />

times.<br />

Required Choices:<br />

When two or more items are in a stack and one of them is<br />

on the line, you must specify one item.<br />

►►<br />

A<br />

B<br />

C<br />

►◄<br />

In this example, you must choose A, B, or C.<br />

Optional Choice:<br />

When an item is below the line, the item is optional. In this<br />

example, you can choose A or nothing at all.<br />

►►<br />

A<br />

►◄<br />

When two or more items are in a stack below the line, all of<br />

them are optional. In this example, you can choose A, B, C,<br />

or nothing at all.<br />

►►<br />

A<br />

B<br />

C<br />

►◄<br />

Defaults:<br />

Defaults are above the line. The system uses the default<br />

unless you override it. You can override the default by<br />

coding an option from the stack below the line.<br />

In this example, A is the default. You can override A by<br />

choosing B or C.<br />

►►<br />

A<br />

B<br />

C<br />

►◄<br />

Preface<br />

xi


Syntax Diagram Description<br />

Repeatable Choices:<br />

A stack of items followed by an arrow returning to the left<br />

means that you can select more than one item or, in some<br />

cases, repeat a single item.<br />

In this example, you can choose any combination of A, B, or<br />

C.<br />

Example<br />

►► ▼ A<br />

B<br />

C<br />

►◄<br />

Syntax Fragments:<br />

Some diagrams, because of their length, must fragment the<br />

syntax. The fragment name appears between vertical bars in<br />

the diagram. The expanded fragment appears in the<br />

diagram after a heading with the same fragment name.<br />

In this example, the fragment is named “A Fragment.”<br />

►► A Fragment ►◄<br />

A Fragment:<br />

A<br />

B<br />

C<br />

How Numbers Are Used in This Book<br />

In this book, numbers over four digits are represented in metric style. A space is<br />

used rather than a comma to separate groups of three digits. For example, the<br />

number sixteen thousand, one hundred forty-seven is written 16 147.<br />

How to Send Your Comments to <strong>IBM</strong><br />

Your feedback is important in helping us to provide the most accurate and<br />

high-quality information. If you have comments about this book or any other <strong>VM</strong><br />

documentation, send your comments to us using one of the following methods. Be<br />

sure to include the name of the book, the publication number (including the<br />

suffix), and the page, section title, or topic you are commenting on.<br />

v Visit the z/<strong>VM</strong> web site at:<br />

http://www.ibm.com/eserver/zseries/zvm/<br />

v<br />

v<br />

There you will find the feedback page where you can enter and submit your<br />

comments.<br />

Send your comments by electronic mail to one of the following addresses:<br />

Internet: vmpub@us.ibm.com<br />

<strong>IBM</strong>Link : GDL<strong>VM</strong>E(PUBRCF)<br />

Fill out the Readers’ Comments form at the back of this book and return it by<br />

mail, by fax (1–607–752–2327), or by giving it to an <strong>IBM</strong> representative. If the<br />

form is missing, you can mail your comments to the following address:<br />

<strong>IBM</strong> Corporation<br />

Information Development<br />

Department G60G<br />

1701 North Street<br />

Endicott, New York 13760-5553<br />

USA<br />

xii<br />

z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Summary of Changes<br />

This section describes the technical changes made in this edition of the book and in<br />

previous editions. For your convenience, the changes made in this edition are<br />

identified in the text by a vertical bar (|) in the left margin. This edition may also<br />

include minor corrections and editorial changes that are not identified.<br />

Second Edition for z/<strong>VM</strong> Version 4 (May 2002)<br />

This edition contains updates for the General Availability of <strong>TCP</strong>/<strong>IP</strong> Level 430.<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

PASV FTP client support<br />

A new FTP PASSIVE subcommand has been added so that z/<strong>VM</strong> FTP clients<br />

outside of a firewall can transfer files to and from an FTP server that is inside of a<br />

firewall.<br />

<strong>TCP</strong>/<strong>IP</strong> Stack Vulnerability Reduction<br />

Function has been added to improve the performance and reliability of the <strong>TCP</strong>/<strong>IP</strong><br />

stack by preventing more Denial-of-Service (DoS) attacks. These attacks include:<br />

v<br />

v<br />

v<br />

v<br />

v<br />

v<br />

Kiss-of-Death (KOD) — an IGMP based attack that depletes the stack’s large<br />

envelopes<br />

KOX — a version of the KOD attack that also has source <strong>IP</strong> address spoofing<br />

Stream — an attack in which <strong>TCP</strong> packets are sent to the stack with no header<br />

flags set<br />

R4P3D — an augmented version of the Stream attack<br />

Blat — a version of the Land attack that also has the URG flag turned on in the<br />

<strong>TCP</strong> header and has the ability to incrementally spoof the source <strong>IP</strong> address<br />

SynFlood — an attack in which the initiator floods the <strong>TCP</strong>/<strong>IP</strong> stack with SYN<br />

packets that have spoofed source <strong>IP</strong> addresses, resulting in the server never<br />

receiving the final ACKs needed to complete the three-way handshake in the<br />

connection process.<br />

The Smurf DoS attack has also been updated to address three variants of the<br />

attack. Smurf is a DoS attack in which an ICMP Echo Request is sent to a<br />

broadcast or multicast address. The three variants are:<br />

v<br />

v<br />

v<br />

Smurf-IC — where ″IC″ denotes that incoming packets are using the <strong>TCP</strong>/<strong>IP</strong><br />

stack to launch an attack<br />

Smurf-OB — where ″OB″ denotes that an outbound ICMP Echo Request<br />

matched the description of a Smurf attack<br />

Smurf-RP — where ″RP″ denotes that ICMP Echo Reply packets being received<br />

by the stack do not match any Echo Requests that were sent.<br />

First Edition for z/<strong>VM</strong> Version 4 (October 2001)<br />

This edition contains updates for the General Availability of <strong>TCP</strong>/<strong>IP</strong> Level 420.<br />

<strong>TCP</strong>/<strong>IP</strong> Stack Performance and Reliability Improvements<br />

Function has been added to improve the performance and reliability of the <strong>TCP</strong>/<strong>IP</strong><br />

stack by preventing some Denial of Service (DOS) attacks. These attacks include:<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 xiii


ICMP Echo Request packets sent to <strong>IP</strong> broadcast or multicast addresses (Smurf),<br />

UDP Echo Request packets sent to <strong>IP</strong> broadcast or multicast addresses (Fraggle),<br />

and ICMP Echo Request packets that are too large (Ping-o-Death). When these<br />

attacks are detected, the packet is discarded and you receive message,<br />

DTC<strong>IP</strong>U086I. The NETSTAT command has two new operands, DOS and<br />

RESETDOS. NETSTAT DOS displays information about the Denial of Service<br />

attacks. NETSTAT RESETDOS resets the data displayed for Denial of Service<br />

attacks.<br />

IMAP Support<br />

Support has been added for the Internet Message Access Protocol (IMAP) server.<br />

This provides the processing that allows a client to access electronic mail that is<br />

kept in an IMAP Mailstore server.<br />

First Edition for z/<strong>VM</strong> Version 3 (February 2001)<br />

This edition contains updates for <strong>TCP</strong>/<strong>IP</strong> Level 3A0.<br />

FTP Web Browser Support<br />

The FTP server has been enhanced to better accommodate web browser and<br />

graphical FTP clients. The changes and new function include:<br />

v<br />

v<br />

v<br />

The ability to provide Unix-format list information in response to client DIR<br />

subcommand requests<br />

The ability to perform automatic EBCDIC-ASCII data translation for transferred<br />

files, based on file types (or, file extentions)<br />

A new SIZE subcommand<br />

<strong>VM</strong> Network File System (NFS) Client<br />

Allows BFS users and applications transparent access to data on remote systems<br />

with NFS servers.<br />

<strong>IP</strong> Multicasting<br />

<strong>IP</strong> Multicasting provides support for:<br />

v<br />

NETSTAT ALL and NETSTAT DEVLINKS to display information for <strong>IP</strong><br />

multicasting<br />

Secure Socket Layer (SSL) Support<br />

SSL is a <strong>TCP</strong>/<strong>IP</strong> protocol that provides privacy between two communicating<br />

applications (a client and a server). The processing required for SSL is provided by<br />

a <strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> security server.<br />

An SSL session therefore consists of two connections — the connection from the<br />

remote client to the security server and the connection from the security server to<br />

the (application) server.<br />

v New NETSTAT Function:<br />

The output of the NETSTAT CONN command has been enhanced to identify<br />

both connections participating in an SSL session.<br />

xiv<br />

z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Chapter 1. Introducing Computer Networks and Protocols<br />

Computer Networks<br />

Internet Environment<br />

This chapter introduces the concepts of computer networks and an internet<br />

environment. The protocols used by <strong>TCP</strong>/<strong>IP</strong> are listed by layer and then described.<br />

Routing and addressing guidelines are also described.<br />

A computer network is a group of connected nodes that are used for data<br />

communication. A computer network configuration consists of data processing<br />

devices, software, and transmission media that are linked for information<br />

interchange.<br />

Nodes are the functional units, located at the points of connection among the data<br />

circuits. A node, or end point, can be a host computer, a communication controller,<br />

a cluster controller, a video display terminal, or another peripheral device.<br />

Computer networks can be local area networks (LANs), which provide direct<br />

communication among data stations on the user’s local premises, or wide area<br />

networks (WANs), which provide communication services to a geographic area<br />

larger than that served by a LAN. Typically, WANs operate at a slower rate of<br />

speed than LANs.<br />

Different types of networks provide different functions. Network configurations<br />

vary, depending on the functions required by the organization. Different<br />

organizations implement different types of networks. The technology used by these<br />

networks varies not only from organization to organization, but often varies within<br />

the same company.<br />

Networks can differ at any or all layers. At the physical layer, networks can run<br />

over various network interfaces, such as Token-Ring, Ethernet, PC Network, Fiber<br />

Distribution Data Interface (FDDI), and X.25. Networks can also vary in the<br />

architectures they use to implement network strategies. Some of the more common<br />

architectures used today are Open Systems Interconnection (OSI), Transmission<br />

Control Protocol/Internet Protocol (<strong>TCP</strong>/<strong>IP</strong>), Systems Network Architecture (SNA),<br />

and Integrated Services Digital Network (ISDN). Networks use different protocols<br />

to communicate over the different physical interfaces available. In addition to these<br />

differences, networks can use different software packages to implement various<br />

functions.<br />

To exchange information among these different networks, the concept of an<br />

internet emerged.<br />

An internet is a logical collection of networks supported by gateways, routers,<br />

bridges, hosts, and various layers of protocols. An internet permits different<br />

physical networks to function as a single, large virtual network, and permits<br />

dissimilar computers to communicate with each other, regardless of their physical<br />

connections. Processes within gateways, routers, and hosts originate and receive<br />

packet information. Protocols specify a set of rules and formats required to<br />

exchange these packets of information.<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 1


Introduction<br />

Protocols are used to accomplish different tasks in <strong>TCP</strong>/<strong>IP</strong> software. To understand<br />

<strong>TCP</strong>/<strong>IP</strong>, you should be familiar with the following terms and relationships.<br />

A client is a computer or process that requests services on the network. A server is<br />

a computer or process that responds to a request for service from a client. A user<br />

accesses a service, which allows the use of data or some other resource.<br />

A datagram is a basic unit of information, consisting of one or more data packets<br />

that are passed across an internet at the transport level.<br />

A gateway is a functional unit that connects two computer networks of different<br />

network architectures. A router is a device that connects networks at the ISO<br />

Network Layer. A router is protocol-dependent and connects only networks<br />

operating the same protocol. Routers do more than transmit data; they also select<br />

the best transmission paths and optimum sizes for packets. A bridge is a router<br />

that connects two or more networks and forwards packets among them. The<br />

operations carried out by a bridge are done at the physical layer and are<br />

transparent to <strong>TCP</strong>/<strong>IP</strong> and <strong>TCP</strong>/<strong>IP</strong> routing.<br />

A host is a computer, connected to a network, that provides an access point to that<br />

network. A host can be a client, a server, or a client and server simultaneously. In a<br />

communication network, computers are both the sources and destinations of the<br />

packets. The local host is the computer to which a user’s terminal is directly<br />

connected without the use of an internet. A foreign host is any machine on a<br />

network that can be interconnected. A remote host is any machine on a network<br />

that requires a physical link to interconnect with the network.<br />

An internet address is a unique 32-bit address identifying each node in an internet.<br />

An internet address consists of a network number and a local address. Internet<br />

addresses are represented in dotted-decimal notation and are used to route packets<br />

through the network.<br />

Mapping relates internet addresses to physical hardware addresses in the network.<br />

For example, the Address Resolution Protocol (ARP) is used to map internet<br />

addresses to Token-Ring or Ethernet physical hardware addresses.<br />

A network is the combination of two or more nodes and the connecting branches<br />

among them. A physical network is the hardware that makes up a network. A<br />

logical network is the abstract organization overlaid on one or more physical<br />

networks. An internet is an example of a logical network.<br />

Packet refers to the unit or block of data of one transaction between a host and its<br />

network. A packet usually contains a network header, at least one high-level<br />

protocol header, and data blocks. Generally, the format of the data blocks does not<br />

affect how packets are handled. Packets are the exchange medium used at the<br />

internetwork layer to send and receive data through the network.<br />

A port is an end point for communication between applications, generally referring<br />

to a logical connection. A port provides queues for sending and receiving data.<br />

Each port has a port number for identification. When the port number is combined<br />

with an internet address, a socket address results.<br />

Protocol refers to a set of rules for achieving communication on a network.<br />

2 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


<strong>TCP</strong>/<strong>IP</strong> Protocols and Functions<br />

This section categorizes the <strong>TCP</strong>/<strong>IP</strong> protocols and functions by their functional<br />

group link(physical) layer, network layer, transport layer, and application layer).<br />

Table 1 shows the functional groups and their related protocols and functions.<br />

Table 1. Functional Groups<br />

<strong>TCP</strong>/<strong>IP</strong> Protocols and Functions<br />

Group Protocols and Functions Page<br />

Link (physical) layer Token-Ring ; Ethernet ; X.25 ; Others 4<br />

Network Layer Internet Protocol (<strong>IP</strong>) ; Internet Control<br />

4<br />

Message Protocol (ICMP) ; Address Resolution<br />

Protocol (ARP) ;Internet Group Management<br />

Protocol (IGMP)<br />

Transport Layer Transmission Control Protocol (<strong>TCP</strong>) ; User<br />

Datagram Protocol (UDP)<br />

Application Layer Telnet<br />

File Transfer Protocol (FTP)<br />

Trivial File Transfer Protocol (TFTP)<br />

Internet Message Access Protocol (IMAP)<br />

Simple Mail Transfer Protocol (SMTP)<br />

Domain Name System (DNS)<br />

Simple Network Management Protocol (SNMP)<br />

Kerberos Authentication System<br />

Remote Printing (LPR and LPD)<br />

RouteD<br />

X Window System<br />

X Toolkit<br />

GDDMXD<br />

Remote Procedure Call (RPC)<br />

Network File System (NFS)<br />

Remote Execution Protocol (REXEC)<br />

Bootstrap Protocol (BOOTP)<br />

Dynamic Host Configuration Protocol (DHCP)<br />

Network Database System (NDB)<br />

Socket Interfaces<br />

Secure Socket Layer (SSL)<br />

6<br />

6-10<br />

Figure 1 on page 4 shows the relationship of these protocols and functions within<br />

the <strong>TCP</strong>/<strong>IP</strong> layered architecture for <strong>VM</strong>.<br />

Chapter 1. Introducing Computer Networks and Protocols 3


<strong>TCP</strong>/<strong>IP</strong> Protocols and Functions<br />

Figure 1. The <strong>TCP</strong>/<strong>IP</strong> Layered Architecture<br />

Link Protocols<br />

Various network protocols compose the network layer available in <strong>TCP</strong>/<strong>IP</strong>.<br />

Network protocols define how data is transported over a physical network. These<br />

network protocols are not defined by <strong>TCP</strong>/<strong>IP</strong>. After a <strong>TCP</strong>/<strong>IP</strong> packet is created, the<br />

network protocol adds a transport-dependent network header before the packet is<br />

sent out on the network.<br />

X.25<br />

You can use an X.25 network to establish a <strong>TCP</strong>/<strong>IP</strong> connection between two hosts.<br />

X.25, recommended as a communication interface standard by the International<br />

Telegraph and Telephone Consultative Committee (CCITT), defines the interface<br />

between Data Terminal Equipment (DTE) and Data Circuit-Terminating Equipment<br />

(DCE). A DTE is a computer or workstation connected to a network. A DCE is the<br />

equipment at the point of the connection to the network, such as a modem.<br />

For more information about using <strong>TCP</strong>/<strong>IP</strong> over an X.25 network, see Request For<br />

Comment (RFC) 877.<br />

Network Protocols<br />

Protocols in the internetwork layer provide connection services for <strong>TCP</strong>/<strong>IP</strong>. These<br />

protocols connect physical networks and transport protocols. This section describes<br />

the internetwork protocols in <strong>TCP</strong>/<strong>IP</strong>.<br />

4 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong><br />

For more information about <strong>TCP</strong>/<strong>IP</strong> in general, see RFCs 1118, 1180, 1206, 1207,<br />

and 1208. See Appendix H, “Related Protocol Specifications” for a list of other<br />

related RFCs.<br />

Internet Protocol (<strong>IP</strong>)<br />

The Internet Protocol (<strong>IP</strong>) provides the interface from the transport layer<br />

(host-to-host, <strong>TCP</strong>, or UDP) protocols to the physical-level protocols. <strong>IP</strong> is the basic<br />

transport mechanism for routing <strong>IP</strong> packets to the next gateway, router, or<br />

destination host.


<strong>IP</strong> provides the means to transmit blocks of data (or packets of bits) from sources<br />

to destinations. Sources and destinations are hosts identified by fixed-length<br />

internet addresses. Outgoing packets automatically have an <strong>IP</strong> header prefixed to<br />

them, and incoming packets have their <strong>IP</strong> header removed before being sent to the<br />

higher-level protocols. This protocol provides for the universal addressing of hosts<br />

in an internet network.<br />

<strong>IP</strong> does not ensure a reliable communication, because it does not require<br />

acknowledgments from the sending host, receiving host, or intermediate hosts. <strong>IP</strong><br />

does not provide error control for data; it provides only a header checksum. <strong>IP</strong><br />

treats each packet as an independent entity unrelated to any other packet. <strong>IP</strong> does<br />

not perform retransmissions or flow control. A higher-level protocol that uses <strong>IP</strong><br />

must implement its own reliability procedures.<br />

For more information about <strong>IP</strong>, see RFC 791.<br />

Internet Control Message Protocol (ICMP)<br />

The Internet Control Message Protocol (ICMP) passes control messages between<br />

hosts, gateways, and routers. For example, ICMP messages can be sent in any of<br />

the following situations:<br />

v When a host checks to see if another host is available (with a PING command)<br />

v When a packet cannot reach its destination<br />

v When a gateway or router can direct a host to send traffic on a shorter route<br />

v When a host requests a netmask or a time stamp<br />

v<br />

When a gateway or router does not have the buffering capacity to forward a<br />

packet<br />

ICMP provides feedback about problems in the communication environment; it<br />

does not make <strong>IP</strong> reliable. ICMP does not guarantee that an <strong>IP</strong> packet is delivered<br />

reliably or that an ICMP message is returned to the source host when an <strong>IP</strong> packet<br />

is not delivered or is incorrectly delivered.<br />

For more information about ICMP, see RFC 792.<br />

Address Resolution Protocol (ARP)<br />

The Address Resolution Protocol (ARP) maps internet addresses to hardware<br />

addresses. <strong>TCP</strong>/<strong>IP</strong> uses ARP to collect and distribute the information for mapping<br />

tables.<br />

ARP is not directly available to users or applications. When an application sends<br />

an internet packet, <strong>IP</strong> requests the appropriate address mapping. If the mapping is<br />

not in the mapping table, an ARP broadcast packet is sent to all the hosts on the<br />

network requesting the physical hardware address for the host.<br />

For more information about ARP, see RFC 826.<br />

<strong>TCP</strong>/<strong>IP</strong> Protocols and Functions<br />

Internet Group Management Protocol (IGMP)<br />

The Internet Group Management Protocol (IGMP) is used to communicate<br />

multicast group information. It lets all systems on a physical network know which<br />

hosts belong to which multicast groups. Multicast routers use IGMP messages to<br />

determine which multicast datagrams to forward onto which interfaces.<br />

There are two types of IGMP messages — reports and queries. IGMP report<br />

messages are sent out to notify others when a multicast group has been joined, and<br />

Chapter 1. Introducing Computer Networks and Protocols 5


<strong>TCP</strong>/<strong>IP</strong> Protocols and Functions<br />

to respond to an IGMP query that was received. IGMP query messages are sent<br />

out by multicast routers to see which multicast groups still have members.<br />

For more information about IGMP, see RFC 1112.<br />

Transport Protocols<br />

The transport layer of <strong>TCP</strong>/<strong>IP</strong> consists of transport protocols, which allow<br />

communication between application programs. This section describes the transport<br />

protocols in <strong>TCP</strong>/<strong>IP</strong>.<br />

Transmission Control Protocol (<strong>TCP</strong>)<br />

The Transmission Control Protocol (<strong>TCP</strong>) provides a reliable vehicle for delivering<br />

packets between hosts on an internet. <strong>TCP</strong> takes a stream of data, breaks it into<br />

datagrams, sends each one individually using <strong>IP</strong>, and reassembles the datagrams at<br />

the destination node. If any datagrams are lost or damaged during transmission,<br />

<strong>TCP</strong> detects this and resends the missing datagrams. The received data stream is a<br />

reliable copy of the transmitted data stream.<br />

For more information about <strong>TCP</strong>, see RFC 793.<br />

User Datagram Protocol (UDP)<br />

The User Datagram Protocol (UDP) provides an unreliable mode of communication<br />

between source and destination hosts. UDP is a datagram-level protocol built<br />

directly on the <strong>IP</strong> layer. UDP is used for application-to-application programs<br />

between <strong>TCP</strong>/<strong>IP</strong> hosts.<br />

Like <strong>IP</strong>, UDP does not offer a guarantee of datagram delivery or duplication<br />

protection. UDP does provide checksums for both the header and data portions of<br />

a datagram. However, applications that require reliable delivery of streams of data<br />

should use <strong>TCP</strong>.<br />

For more information about UDP, see RFC 768.<br />

Applications and Protocols<br />

Applications are provided with <strong>TCP</strong>/<strong>IP</strong> that allow users to use network services.<br />

These applications are included in the application layer of <strong>TCP</strong>/<strong>IP</strong>. The application<br />

layer is built on the services of the transport layer. This section describes the<br />

applications, functions, and protocols in <strong>TCP</strong>/<strong>IP</strong>.<br />

Telnet Protocol<br />

The Telnet Protocol provides a standard method to interface terminal devices and<br />

terminal-oriented processes with each other. Telnet is built on the services of <strong>TCP</strong><br />

in the transport layer. Telnet provides duplex communication and sends data either<br />

as ASCII characters or as binary data.<br />

Telnet is commonly used to establish a logon session on a foreign host. Telnet can<br />

also be used for terminal-to-terminal communication and interprocess<br />

communication.<br />

For more information about the Telnet Protocol, see RFCs 854, 856, 857, 885, and<br />

1091.<br />

File Transfer Protocol (FTP)<br />

The File Transfer Protocol (FTP) allows you to transfer data between local and<br />

foreign hosts or between two foreign hosts. FTP is built on the services of <strong>TCP</strong> in<br />

6 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


the transport layer. FTP transfers files as either ASCII characters or as binary data.<br />

ASCII characters are used to transfer files that contain only text characters.<br />

FTP provides functions, such as listing remote directories, changing the current<br />

remote directory, creating and removing remote directories, and transferring one or<br />

more files in a single request. Security is handled by passing user and account<br />

passwords to the foreign hosts.<br />

For more information about FTP, see RFC 959.<br />

Trivial File Transfer Protocol (TFTP)<br />

Trivial File Transfer Protocol (TFTP) is designed only to read and write files to and<br />

from a foreign host. TFTP is built on the services of UDP in the transport layer.<br />

TFTP allows you to limit drive and directory access.<br />

TFTP, like FTP, can transfer files as either ASCII characters or as binary data.<br />

However, unlike FTP, TFTP cannot be used to list or change directories at a foreign<br />

host, and it has no provisions for user authentication.<br />

For more information about TFTP, see RFC 783.<br />

Internet Message Access Protocol (IMAP)<br />

The Internet Message Access Protocol (IMAP) is a mail protocol with both client<br />

(sender) and server (receiver) functions.<br />

IMAP provides the processing that allows a client to access electronic mail that is<br />

kept in an IMAP Mailstore server. It permits a ″client″ email program to access<br />

remote message folders called ″mailboxes″, as if they were local.<br />

For more information about IMAP, see RFC 2060.<br />

Simple Mail Transfer Protocol (SMTP)<br />

The Simple Mail Transfer Protocol (SMTP) is an electronic mail protocol with both<br />

client (sender) and server (receiver) functions.<br />

SMTP is implemented with the CMS NOTE and CMS SENDFILE EXECs in a <strong>VM</strong><br />

environment. You do not interface directly with SMTP. Instead, electronic mail<br />

software is used to create mail, which in turn uses SMTP to send the mail to its<br />

destination.<br />

For more information about SMTP, see RFCs 821, 822, 974, 1413, and 1440.<br />

Domain Name System (DNS)<br />

The Domain Name System (DNS) uses a hierarchical-naming system for naming<br />

hosts. Each host name is composed of domain labels separated by periods. Local<br />

network administrators have the authority to name local domains within an<br />

internet. Each label represents an increasingly higher domain level within an<br />

internet. The fully qualified domain name of a host connected to one of the larger<br />

internets generally has one or more subdomains.<br />

For example:<br />

host.subdomain.subdomain.rootdomain<br />

or<br />

host.subdomain.rootdomain<br />

<strong>TCP</strong>/<strong>IP</strong> Protocols and Functions<br />

For more information about the Domain Name System, see RFCs 1034 and 1035.<br />

Chapter 1. Introducing Computer Networks and Protocols 7


<strong>TCP</strong>/<strong>IP</strong> Protocols and Functions<br />

Simple Network Management Protocol (SNMP)<br />

The Simple Network Management Protocol (SNMP) provides a means for<br />

managing an internet environment. SNMP allows network management by<br />

elements, such as gateways, routers, and hosts. Network elements act as servers<br />

and contain management agents, which perform the management functions<br />

requested. Network management stations act as clients; they run the management<br />

applications, which monitor the network. SNMP provides a means of<br />

communicating between these elements and stations to send and receive<br />

information about network resources.<br />

For more information about Network Management, see RFCs 1155, 1157, 1187, and<br />

1213.<br />

Kerberos Authentication System<br />

The Kerberos Authentication System provides additional security by allowing<br />

authorization checking at the user level rather than at the node level. This system<br />

allows client and server pairs to verify that the partner is authorized to participate<br />

in the function being performed.<br />

For additional publications about Kerberos, see Bibliography.<br />

Remote Printing (LPR and LPD)<br />

<strong>TCP</strong>/<strong>IP</strong> provides both client and server support for remote printing. This<br />

application allows you to spool files remotely to a line printer daemon (LPD). The<br />

line printer client (LPR) sends the file to be printed to a specified print server host<br />

and to a specified printer.<br />

For more information about LPR and LPD, see RFC 1179.<br />

RouteD<br />

RouteD uses the Routing Information Protocol (R<strong>IP</strong>) to dynamically create and<br />

maintain network routing tables. R<strong>IP</strong> arranges to have gateways and routers<br />

periodically broadcast their routing tables to neighbors. Using this information, a<br />

RouteD server can update a host’s routing tables. For example, RouteD determines<br />

if a new route has been created, if a route is temporarily unavailable, or if a more<br />

efficient route exists.<br />

For more information about R<strong>IP</strong>, see RFCs 1058 and 1723.<br />

X Window System<br />

The X Window System Protocol is designed to support network transparent<br />

windowing and graphics. <strong>TCP</strong>/<strong>IP</strong> for z/<strong>VM</strong> provides client support for the X<br />

Window System application program interface.<br />

For more information about the X Window System Protocol, see RFC 1013.<br />

X Toolkit<br />

X toolkit is a collection of basic C language routines for developing a variety of<br />

application environments.<br />

Intrinsics:<br />

widgets.<br />

Intrinsics are a collection of C language routines for building and using<br />

Widgets: Widgets are a set of routines that create a graphic interface.<br />

v Athena Widgets<br />

8 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


<strong>TCP</strong>/<strong>IP</strong> Protocols and Functions<br />

v<br />

The widget set developed by MIT’s Project Athena is generally known as the<br />

Athena Widget set. It enables application programmers to include standard<br />

graphic elements in their applications.<br />

OSF/Motif<br />

OSF/Motif** is an X Window System toolkit defined by Open Software<br />

Foundation, Inc. (OSF**), which enables the application programmer to include<br />

standard graphic elements that have a three-dimensional appearance.<br />

Performance of the graphic elements is increased with gadgets and windowless<br />

widgets.<br />

GDDMXD<br />

GDDMXD is an interface that allows graphics from the <strong>IBM</strong> Graphical Data<br />

Display Manager/<strong>VM</strong> to be displayed on workstations that support the X Window<br />

System.<br />

When GDDMXD is installed and activated, the data stream created by GDDM ® is<br />

translated to the X Window System protocol and transmitted by <strong>TCP</strong>/<strong>IP</strong> to the<br />

X Window System server for the display. If GDDMXD is installed and not<br />

activated, or has been made inactive, GDDM transmits data to its supported<br />

display device as if GDDMXD was not present.<br />

Remote Procedure Call (RPC)<br />

The Remote Procedure Call Protocol (RPC) is a programming interface that calls<br />

subroutines to be executed on a foreign host. RPCs are high-level program calls,<br />

which can be used in place of the lower-level calls that are based on sockets.<br />

For more information about RPC, see RFC 1057.<br />

Network File System (NFS)<br />

The Network File System (NFS) allows you to manipulate files on different <strong>TCP</strong>/<strong>IP</strong><br />

hosts as if they reside on your host. NFS is based on the NFS protocol, and uses<br />

the Remote Procedure Call (RPC) protocol to communicate between the client and<br />

the server. The files to be accessed reside on the server host and are made available<br />

to the user on the client host.<br />

The Network File System supports the hierarchical file structure used by the<br />

UNIX ® operating system. The directory and subdirectory structure can be different<br />

for individual client systems.<br />

For more information about NFS, see RFC 1094 and 1813.<br />

Remote Execution Protocol (REXEC)<br />

The Remote Execution Protocol (REXEC) allows you to execute a command on a<br />

foreign host and receive the results on the local host. Remote Execution Protocol<br />

provides automatic logon and user authentication, depending on the parameters<br />

set by the user.<br />

Bootstrap Protocol (BOOTP)<br />

The Bootstrap Protocol (BOOTP) allows a diskless client machine to discover its<br />

own <strong>IP</strong> address, the address of a server host, and the name of a file to be loaded<br />

into memory and executed.<br />

For more information about BOOTP, see RFC 0951 and <strong>TCP</strong>/<strong>IP</strong> Planning and<br />

Customization.<br />

Chapter 1. Introducing Computer Networks and Protocols 9


<strong>TCP</strong>/<strong>IP</strong> Protocols and Functions<br />

Dynamic Host Configuration Protocol (DHCP)<br />

The Dynamic Host Configuration Protocol (DHCP) provides a framework for<br />

passing configuration information to hosts on a <strong>TCP</strong><strong>IP</strong> network. DHCP is based on<br />

the Bootstrap Protocol (BOOTP), adding the capability of automatic allocation of<br />

reusable network addresses and additional configuration options. DHCP captures<br />

the behavior of BOOTP relay agents; DHCP participants can interoperate with<br />

BOOTP participants.<br />

For more information about DHCP, see RFC 2131 and <strong>TCP</strong>/<strong>IP</strong> Planning and<br />

Customization.<br />

Network Database System (NDB)<br />

The Network Database System (NDB) is used to access relational database systems<br />

in a <strong>TCP</strong>/<strong>IP</strong>-based internet environment. NDB uses the RPC protocol to allow<br />

interoperability among a variety of workstation users and the mainframe database<br />

management system, DB2 Server for <strong>VM</strong> NDB is used for data conversion, security,<br />

I/O buffer management, and transaction management.<br />

Socket Interfaces<br />

Socket interfaces allow you to write your own applications to supplement those<br />

supplied by <strong>TCP</strong>/<strong>IP</strong>. Most of these additional applications communicate with<br />

either <strong>TCP</strong> or UDP. Some applications are written to communicate directly with <strong>IP</strong>.<br />

To write applications that use the socket interfaces of <strong>TCP</strong>/<strong>IP</strong> for z/<strong>VM</strong>, you must<br />

be able to compile and link the programs.<br />

Sockets are duplex, which means that data can be transmitted and received<br />

simultaneously. Sockets allow you to send to, and receive from, the socket as if you<br />

are writing to and reading from any other network device. For more information<br />

on sockets, see <strong>TCP</strong>/<strong>IP</strong> Programmer’s Reference.<br />

Secure Socket Layer (SSL)<br />

The Secure Socket Layer (SSL) protocol provides privacy between two<br />

communicating applications — a client and a server. In SSL, a server is always<br />

authenticated and must provide a certificate to prove its identity. In addition to<br />

authentication, both the client and the server participate in a handshake protocol<br />

that produces the cryptographic parameters for the session.<br />

The processing required for SSL is provided by a <strong>TCP</strong>/<strong>IP</strong> security server. An<br />

installation identifies the ports that are secure and specifies the certificates to be<br />

used. Any <strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> server listening on a secure port can participate in an SSL<br />

session with any external client that supports SSL. The SSL session consists of two<br />

connections — the connection from the remote client to the security server and the<br />

connection from the security server to the real (application) server.<br />

For more information about SSL, see <strong>TCP</strong>/<strong>IP</strong> Planning and Customization.<br />

Routing<br />

The routing functions in an internet are performed at the internetwork layer.<br />

Routing is the process of deciding where to send a packet based on its destination<br />

address. Two kinds of routing are involved in communication within an internet:<br />

direct and indirect.<br />

Direct routing is used when the source and destination nodes are on the same<br />

logical network within an internet. The source node maps the destination internet<br />

address into a hardware address and sends packets to the destination node<br />

10 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Internet Addressing<br />

<strong>TCP</strong>/<strong>IP</strong> Protocols and Functions<br />

through this address. This mapping is normally performed through a translation<br />

table. If a match cannot be found for a destination internet address, ARP is<br />

invoked to determine this address.<br />

Indirect routing is used when the source and destination nodes are on different<br />

networks within an internet. The source node sends packets to a gateway or router<br />

on the same network using direct routing. From there, the packets are forwarded<br />

through intermediate gateways or routers, as required, until they arrive at the<br />

destination network. Direct routing is then used to forward the packets to the<br />

destination host on that network. Each gateway, router, and host in an internet has<br />

a routing table that defines the address of the next gateway or router to other<br />

networks (as well as other nodes on other networks) in an internet.<br />

Each internet host is assigned at least one unique internet address. This address is<br />

used by the <strong>IP</strong> and other higher-level protocols. When gateway hosts are used,<br />

more than one address may be required. Each interface to an internet is assigned<br />

its own unique address. Internet addresses are used to route packets through the<br />

network.<br />

Addresses within an internet consist of a network number and a local address. The<br />

unique network number is assigned to each network when it connects to another<br />

internet. If a local network is not going to connect to other internets, any<br />

convenient network number is assigned.<br />

Hosts that exchange packets on the same physical network should have the same<br />

network number. Hosts on different physical networks might also have the same<br />

network number. If hosts have the same network number, part of the local address<br />

is used as a subnetwork number. All host interfaces to the same physical network<br />

are given the same subnetwork number.<br />

An internet can provide standards for assigning addresses to networks, broadcasts,<br />

and subnetworks. Examples of these standard formats are described in the<br />

following sections.<br />

Network Address Format<br />

A standard internet address uses a two-part, 32-bit address field. The first part of<br />

the address field contains the network address; the second part contains the local<br />

address. The four different types of address fields are classified as A, B, C, or D,<br />

depending on the bit allocation.<br />

Figure 2 represents a class A address. A class A address has a 7-bit network<br />

number and a 24-bit local address. The highest order bit is set to 0.<br />

0 1234567<br />

1 2 3<br />

890123456789012345678901<br />

0 Network<br />

Local Address<br />

Figure 2. Class A Address<br />

Chapter 1. Introducing Computer Networks and Protocols 11


<strong>TCP</strong>/<strong>IP</strong> Protocols and Functions<br />

Figure 3 represents a class B address. A class B address has a 14-bit network<br />

number and a 16-bit local address with the highest order bits set to 10.<br />

1 2 3<br />

01 23456789012345 6789012345678901<br />

10<br />

Network<br />

Local Address<br />

Figure 3. Class B Address<br />

Figure 4 represents a class C address. A class C address has a 21-bit network<br />

number and an 8-bit local address with the three highest order bits set to 110.<br />

1 2 3<br />

012 345678901234567890123 45678901<br />

110<br />

Figure 4. Class C Address<br />

Network<br />

Local Address<br />

Figure 5 represents a class D address. A class D network is a multicast address that<br />

is sent to selected hosts on the network. The four highest order bits are set to 1110.<br />

Figure 5. Class D Address<br />

Note: Class D addresses are not supported in <strong>TCP</strong>/<strong>IP</strong> for z/<strong>VM</strong>.<br />

A commonly used notation for internet host addresses is the dotted-decimal, which<br />

divides the 32-bit address into four 8-bit fields. The value of each field is specified<br />

as a decimal number, and the fields are separated by periods (for example,<br />

010.002.000.052 or 10.2.0.52).<br />

Address examples in this book use dotted-decimal notation in the following forms:<br />

Class A nnn.lll.lll.lll<br />

Class B nnn.nnn.lll.lll<br />

Class C nnn.nnn.nnn.lll<br />

where:<br />

nnn<br />

lll<br />

Represents part or all of a network number.<br />

Represents part or all of a local address.<br />

Broadcast Address Format<br />

<strong>TCP</strong>/<strong>IP</strong> uses <strong>IP</strong> broadcasting to send datagrams to all the <strong>TCP</strong>/<strong>IP</strong> hosts on a<br />

network or subnetwork. A datagram sent to the broadcast address is received by<br />

12 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


all the hosts on the network and processed as if the datagram was sent directly to<br />

the host’s <strong>IP</strong> address. The <strong>IP</strong> broadcast address is formed by setting all the host<br />

bits to ones.<br />

For more information about <strong>IP</strong> broadcasting, see RFCs 919 and 922.<br />

Multicast Address Format<br />

<strong>TCP</strong>/<strong>IP</strong> uses <strong>IP</strong> multicasting to send datagrams to all the <strong>TCP</strong>/<strong>IP</strong> hosts on a<br />

network or subnetwork. The multicast datagrams are only received by those<br />

<strong>TCP</strong>/<strong>IP</strong> hosts that have signed up to listen for the particular <strong>IP</strong> multicast address<br />

(joined the multicast group). If a <strong>TCP</strong>/<strong>IP</strong> host has not joined the multicast group,<br />

then the datagram is discarded.<br />

For more information on <strong>IP</strong> multicasting, see RFC 1112.<br />

Subnetwork Address Format<br />

The subnetwork capability of <strong>TCP</strong>/<strong>IP</strong> divides a single network into multiple<br />

logical networks (subnets). For example, an organization can have a single internet<br />

network address that is known to users outside the organization, yet configure its<br />

internal network into different departmental subnets. Subnetwork addresses<br />

enhance local routing capabilities, while reducing the number of network numbers<br />

required. For a subnet, the local address part of an internet address is divided into<br />

a subnet number and a host number, for example:<br />

network_number subnet_number host_number<br />

<strong>TCP</strong>/<strong>IP</strong> Protocols and Functions<br />

where:<br />

network_number<br />

subnet_number<br />

host_number<br />

Is the network portion of the internet address.<br />

Is a field of a constant width for a given network.<br />

Is a field that is at least 1-bit wide.<br />

If the width of the subnet_number field is 0, the network is not organized into<br />

subnets, and addressing to the network is done with an internet network address<br />

(network_number).<br />

Figure 6 represents a class B address with a 6-bit wide subnet field.<br />

1 2 3<br />

01 23456789012345 6789012345678901<br />

10<br />

Network<br />

Subnet<br />

Host<br />

Figure 6. Class B Address with Subnet<br />

The bits that identify the subnet are specified by a bit mask. A bit mask is a<br />

pattern of characters used to assign subnet addresses. The subnet bits are not<br />

required to be adjacent in the address. However, the subnet bits generally are<br />

contiguous and are the most significant bits of the local address.<br />

For more information about subnetwork addresses, see RFC 950.<br />

Chapter 1. Introducing Computer Networks and Protocols 13


14 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Chapter 2. Transferring Files Using FTP<br />

This chapter describes how to use the File Transfer Protocol (FTP) command and<br />

its subcommands to transfer files between your local host and a foreign <strong>TCP</strong>/<strong>IP</strong><br />

host. The FTP command and its subcommands, allow you to sequentially access<br />

multiple foreign hosts without leaving the FTP environment.<br />

When FTP commands are used with a non-z/<strong>VM</strong> foreign host, you may need to<br />

consult documentation specific to that host and its operating system for<br />

information about file naming and supported FTP commands and parameters.<br />

The following table lists general operations and FTP subcommands that correspond<br />

to these functions:<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

Table 2. FTP and Subcommand Functions<br />

FUNCTION<br />

SUBCOMMANDS<br />

Establish a connection and identify yourself to ACCT OPEN USER NETRC PASS<br />

a foreign host’s FTP server<br />

Obtain status information about FTP on the DEBUG NOOP STATUS<br />

foreign host<br />

SYSTEM<br />

List or work with directories belonging to the<br />

foreign host<br />

CD or CWD CDUP<br />

LS<br />

DIR MKDIR RMDIR<br />

PWD<br />

List or work with directories on the local host LCD LPWD<br />

Prepare the environment prior to transferring<br />

files<br />

Transfer Parameter Commands<br />

HANGEUL JIS78KJ<br />

KSC5601<br />

TCHINESE<br />

ASCII EBCDIC<br />

BINARY MODE<br />

PORT PASSIVE<br />

Perform Special Function QUOTE SITE<br />

Work with and transfer files to and from the<br />

foreign host<br />

APPEND GET PUT<br />

EUCKANJI<br />

<strong>IBM</strong>KANJI JIS83KJ<br />

LOCSITE SIZE<br />

SJISKANJI<br />

SUNIQUE TYPE<br />

SENDPORT<br />

SENDSITE STRUCT<br />

DELIMIT MGET<br />

MPUT<br />

Delete or rename files on the foreign host DELETE RENAME MDELETE<br />

Communicate with the underlying operating CMS<br />

systems<br />

Obtain help about FTP and its subcommands HELP<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 15


Transferring Files Using FTP<br />

FTP Command<br />

Use the FTP command to establish an environment or, shell that allows you to<br />

transfer files between your local host and a foreign <strong>TCP</strong>/<strong>IP</strong> host.<br />

►►<br />

FTP<br />

foreign_host<br />

21<br />

port_number<br />

( Options<br />

►◄<br />

Options:<br />

Exit NONetrc NOPrompt TImeout value TRACe<br />

►<br />

|<br />

►<br />

TRANslate<br />

filename<br />

WIDth 80<br />

WIDth<br />

width<br />

Operands<br />

16 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong><br />

Once an FTP connection has been established with a foreign host, the various<br />

subcommands listed in Table 3 on page 26 can be used to transfer files and interact<br />

with the remote FTP server.<br />

foreign_host<br />

The name of the foreign host to which you are connecting. Specify foreign_host<br />

using an internet host name or a dotted-decimal address. You are prompted for<br />

a host name if this operand is omitted when the FTP command is issued.<br />

port_number<br />

the port number of the FTP server on the foreign host. The default is port 21,<br />

which is considered to be a “well-known” port.<br />

Exit<br />

Causes FTP to terminate when an error condition is encountered. Error<br />

conditions associated with FTP subcommands will also cause FTP to terminate<br />

when this operand is used. For more information about FTP return codes, see<br />

“FTP Return Codes” on page 78.<br />

NONetrc<br />

Suppresses use of the NETRC DATA file. See “The NETRC DATA File” on<br />

page 19 for more information.<br />

NOPrompt<br />

Suppresses prompts for the logon user name and password. Use this option<br />

when a NETRC DATA file is used and command input is to be obtained<br />

through non-interactive means, such as from an exec. See “The NETRC DATA<br />

File” on page 19 for more information.<br />

TImeout seconds<br />

Specifies the number of seconds to be used for all of the following timing<br />

parameters:<br />

v MyopenTime<br />

v DconnTime<br />

v CconnTime


Transferring Files Using FTP<br />

v<br />

v<br />

InactTime<br />

DataCtTime<br />

The value specified with the TIMEOUT operand is applied to each previously<br />

listed timing parameter. If individual timeout values are required, these can be<br />

specified in an FTP data file. For more information about this file and timeout<br />

parameters and defaults, see “The FTP DATA File” on page 19.<br />

Numeric values between 15 and 720 are accepted for the TIMEOUT parameter.<br />

Note: If the TIMEOUT operand value is not valid, FTP ignores that value and<br />

uses the default values established for each timeout parameter.<br />

TRACe<br />

Starts the generation of tracing output. TRACE is used to assist in debugging.<br />

Trace data is written to the console.<br />

TRANslate filename<br />

The file name of a translation table file other than a standard table. The file<br />

type is <strong>TCP</strong>XLBIN, and the file mode is an asterisk (*). If this parameter is not<br />

specified, the FTP command searches sequentially for FTP <strong>TCP</strong>XLBIN and<br />

STANDARD <strong>TCP</strong>XLBIN. If neither is found, FTP uses the compiled translation<br />

table.<br />

Note: The FTP <strong>TCP</strong>XLBIN file is not supplied, because the standard translation<br />

table is adequate for most uses. You can create your own FTP<br />

<strong>TCP</strong>XLBIN file if your installation needs a translation for FTP that<br />

differs from the translation supported by STANDARD <strong>TCP</strong>XLBIN. For<br />

more information on translation tables see Chapter 15, “Using<br />

Translation Tables” on page 277.<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

If LOADDBCSTABLE is specified in FTP DATA, then filename is used to<br />

determine which DBCS translation table to load. See <strong>TCP</strong>/<strong>IP</strong> Planning and<br />

Customization for information on the loading and customizing of DBCS<br />

translation tables.<br />

WIDth width<br />

Specifies the maximum width to use for lines written to the console by FTP.<br />

Data that is longer than the specified width is wrapped to successive lines, as<br />

necessary. The minimum acceptable width is 1, while the maximum is 32767.<br />

The default for width is 80. When a FILEDEF is used to control FTP command<br />

output, the WIDTH option is ignored.<br />

Usage Notes<br />

v<br />

v<br />

If the specified foreign_host is not accessible, or this operand has not been<br />

correctly specified, the FTP subcommand environment is established, but no<br />

foreign host connection exists. When this occurrs, the OPEN, USER, PASS, and<br />

ACCT subcommands can be used to establish a connection and log in as<br />

desired.<br />

If FTP can establish a connection to the specified foreign host and a valid entry<br />

for that host is present in a NETRC DATA file, by default, FTP uses that host’s<br />

user name and password to logon to that host. Otherwise, you are prompted for<br />

this information, unless the NOPROMPT command option has been specified to<br />

suppress prompting.<br />

Chapter 2. Transferring Files Using FTP 17


Transferring Files Using FTP<br />

v<br />

Once in the FTP environment, FTP subcommands are limited to 130 characters<br />

unless line continuation is used. For more information see “Continuing<br />

Subcommand Input Strings” on page 29.<br />

Examples<br />

The example that follows shows information that is typically displayed when an<br />

FTP connection is successfully established with a foreign z/<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> host. In<br />

this example GDL<strong>VM</strong>7 (in the domain ENDICOTT.<strong>IBM</strong>.COM) is the foreign_host to<br />

which the connection is made.<br />

Ready;<br />

ftp gdlvm7<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> FTP Level 420<br />

Connecting to GDL<strong>VM</strong>7 9.117.32.29, port 21<br />

220-FTPSERVE <strong>IBM</strong> <strong>VM</strong> Level 330 at GDL<strong>VM</strong>7.ENDICOTT.<strong>IBM</strong>.COM,<br />

10:04:05 EST THURSDAY 2001-12-01<br />

220 Connection will close if idle for more than 5 minutes.<br />

USER (identify yourself to the host):<br />

terix<br />

>>>USER terix<br />

331 Send password please.<br />

Password:<br />

>>>PASS ********<br />

230-TERIX logged in; working directory = TERIX 191 (ReadOnly)<br />

230 write access currently unavailable<br />

Command:<br />

18 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Transferring Files Using FTP<br />

The NETRC DATA File<br />

The FTP DATA File<br />

The NETRC DATA file provides an alternative to responding to FTP prompts for<br />

logon information when you connect to a foreign host. When a user name and<br />

password for a specific host are defined in this file, FTP will use those values<br />

instead of prompting for this information.<br />

When the FTP command or the OPEN subcommand is issued, FTP will search the<br />

NETRC DATA file for the first valid match on the specified host. If found, that<br />

host’s user name and password will be used when a connection to that host is<br />

attempted. If no match is found for the host in question, you will be prompted for<br />

a user name and password, unless the NOPROMPT option has been specified.<br />

For more information on the NETRC DATA File and how it may be used for other<br />

applications, see Appendix B, “Using the NETRC DATA File” on page 293.<br />

The FTP DATA configuration file defines operational characteristics that affect FTP<br />

connections and DBCS data translation.<br />

A sample FTP data file is provided as FTP SDATA on the <strong>TCP</strong>MAINT 592 disk.<br />

Notes:<br />

1. If the TIMEOUT operand is specified upon invocation of the FTP command, its<br />

corresponding value overrides all timing values specified within the FTP DATA<br />

file. However, if the TIMEOUT-specified value is not valid, the default timing<br />

values identified in the next section are used.<br />

2. When DBCS file transfers are performed, both the remote FTP server and the<br />

local client must have the appropriate translate tables loaded.<br />

Statement Syntax<br />

Within FTP DATA, blanks and record boundaries are used to delimit tokens. All<br />

characters to the right of (and including) a semicolon are treated as comments.<br />

FTP DATA File Statements<br />

Configuration statements that can be specified in the FTP DATA file are described<br />

in this section.<br />

Chapter 2. Transferring Files Using FTP 19


Transferring Files Using FTP<br />

CCONNTIME Statement<br />

The CCONNTIME statement specifies the timeout value used when waiting for a<br />

response to a connection close request on a Control connection.<br />

►►<br />

CconnTime<br />

30<br />

seconds<br />

►◄<br />

Operands<br />

seconds<br />

The number of seconds to allow before a timeout when waiting for a response<br />

to a connection close request on a Control connection. The minimum<br />

CCONNTIME value is 15 and the maximum is 720; the default is 30 seconds.<br />

20 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


DATACTTIME Statement<br />

Transferring Files Using FTP<br />

The DATACTTIME statement specifies the timeout value used when waiting for a<br />

response to a <strong>TCP</strong> send or <strong>TCP</strong> receive request.<br />

►►<br />

DataCtTime<br />

120<br />

seconds<br />

►◄<br />

Operands<br />

seconds<br />

The number of seconds to allow before a timeout when waiting for a response<br />

to a <strong>TCP</strong> send or <strong>TCP</strong> receive request. The minimum DATACTTIME value is<br />

15 and the maximum is 720; the default is 120 seconds.<br />

Chapter 2. Transferring Files Using FTP 21


Transferring Files Using FTP<br />

DCONNTIME Statement<br />

The DCONNTIME statement specifies the timeout value used when waiting for a<br />

response to a connection close request on a Data connection.<br />

►►<br />

DconnTime<br />

120<br />

seconds<br />

►◄<br />

Operands<br />

seconds<br />

The number of seconds to allow before a timeout when waiting for a response<br />

to a connection close request on a Data connection. The minimum<br />

DCONNTIME value is 15 and the maximum is 720; the default is 120 seconds.<br />

22 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


INACTTIME Statement<br />

Transferring Files Using FTP<br />

The INACTTIME statement specifies the timeout value used when attempting to<br />

establish a data connection to complete FTP subcommand operations.<br />

►►<br />

InactTime<br />

120<br />

seconds<br />

►◄<br />

Operands<br />

seconds<br />

The number of seconds to allow before a timeout when attempting to establish<br />

a data connection to complete FTP subcommand operations. The minimum<br />

INACTTIME value is 15 and the maximum is 720; the default is 120 seconds.<br />

Chapter 2. Transferring Files Using FTP 23


Transferring Files Using FTP<br />

LOADDBCSTABLE Statement<br />

The LOADDBCSTABLE statement indicates to the FTP client which DBCS translate<br />

tables should be loaded at initialization time. By using multiple LOADDBCSTABLE<br />

parms, any number of translate tables may be selected ranging from none to all of<br />

the DBCS translate tables.<br />

►► LOADDBCSTABLE EUCKANJI<br />

HANGEUL<br />

JIS78KJ<br />

JIS83KJ<br />

KSC5601<br />

SJISKANJI<br />

TCHINESE<br />

►◄<br />

Operands<br />

JIS78KJ<br />

Indicates that the JIS 1978 Kanji DBCS translation table should be loaded from<br />

the <strong>TCP</strong>KJBIN binary translate table file.<br />

JIS83KJ<br />

Indicates that the JIS 1983 Kanji DBCS translation table should be loaded from<br />

the <strong>TCP</strong>KJBIN binary translate table file.<br />

SJISKANJI<br />

Indicates that the Shift JIS Kanji DBCS translation table should be loaded from<br />

the <strong>TCP</strong>KJBIN binary translate table file.<br />

EUCKANJI<br />

Indicates that the Extended Unix Code Kanji DBCS translation table should be<br />

loaded from the <strong>TCP</strong>KJBIN binary translate table file.<br />

HANGEUL<br />

Indicates that the Hangeul DBCS translation table should be loaded from the<br />

<strong>TCP</strong>HGBIN binary translate table file.<br />

KSC5601<br />

Indicates that the Korean Standard Code KSC-5601 DBCS translation table<br />

should be loaded from the <strong>TCP</strong>HGBIN binary translate table file.<br />

TCHINESE<br />

Indicates that the Traditional Chinese (5550) DBCS translation table should be<br />

loaded from the <strong>TCP</strong>CHBIN binary translate table file.<br />

If the LOADDBCSTABLE parameter is not specified, specified incorrectly, or if FTP<br />

DATA is not accessible, then no DBCS translate tables will be loaded, and the<br />

corresponding FTP client DBCS transfer types will be unavailable.<br />

Additional virtual storage may be required by the FTP client if a large number of<br />

translate tables are loaded concurrently.<br />

Note: The <strong>IBM</strong>KANJI transfer type does not require any translate table to be<br />

loaded. For more information on loading and customizing DBCS translate<br />

tables, see the <strong>TCP</strong>/<strong>IP</strong> Planning and Customization book.<br />

24 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


MYOPENTIME Statement<br />

Transferring Files Using FTP<br />

The MYOPENTIME statement specifies the timeout value used when attempting to<br />

establish a connection.<br />

►►<br />

MyopenTime<br />

60<br />

seconds<br />

►◄<br />

Operands<br />

seconds<br />

The number of seconds to allow before a timeout when attempting to establish<br />

a connection. The minimum MYOPENTIME value is 15 and the maximum is<br />

720; the default is 60 seconds.<br />

Chapter 2. Transferring Files Using FTP 25


FTP Subcommands<br />

FTP Subcommands<br />

The FTP subcommands listed in Table 3 can be used to perform file transfer<br />

operations between your local z/<strong>VM</strong> host and a foreign <strong>TCP</strong>/<strong>IP</strong> host, once an FTP<br />

connection (and thus, the FTP subcommand environment) has been established.<br />

For information about establishing an FTP connection, see “FTP Command” on<br />

page 16.<br />

Table 3 provides a summary of all FTP subcommands that can be used with the<br />

z/<strong>VM</strong> FTP server and client, and shows the shortest abbreviation, a brief<br />

description, and a page reference for more information for each subcommand that<br />

is supported.<br />

Table 3. FTP Subcommands<br />

SubcommandMinimum Description<br />

Abbreviation<br />

ACCT AC Sends host-dependent<br />

account information.<br />

APPEND AP Appends a file on your<br />

local host to a file on the<br />

foreign host.<br />

ASCII AS Sets the transfer type to<br />

ASCII.<br />

BINARY B Sets the transfer type to<br />

IMAGE.<br />

CD CD Changes the working<br />

directory. CWD is a<br />

synonym for CD.<br />

CDUP CDU Changes the working<br />

directory to the parent<br />

directory on the foreign<br />

host. CD is a synonym for<br />

CDUP.<br />

CLOSE CL Disconnects from the 46<br />

foreign host.<br />

CMS CM Passes a CMS command. 46<br />

CWD CW Changes the working<br />

directory. CD is a<br />

synonym for CWD.<br />

42<br />

DEBUG DEB Toggles internal debug<br />

options.<br />

DELETE DELE Deletes a single file on the<br />

foreign host.<br />

DELIMIT DELI Displays the delimiter<br />

character between the file<br />

name and the file type.<br />

DIR DI Lists the directory entries<br />

for files on the foreign<br />

host. LIST is a synonym<br />

for DIR.<br />

EBCDIC EB Sets the transfer type to<br />

EBCDIC.<br />

Page<br />

40<br />

41<br />

41<br />

42<br />

42<br />

46<br />

47<br />

47<br />

47<br />

48<br />

49<br />

26 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


FTP Subcommands<br />

Table 3. FTP Subcommands (continued)<br />

SubcommandMinimum Description<br />

Abbreviation<br />

EUCKANJI EU Sets the transfer type to<br />

EUCKANJI.<br />

GET G Copies a file from the<br />

foreign host to your local<br />

host. RETRIEVE is a<br />

synonym for GET.<br />

HANGEUL HA Sets the transfer type to<br />

HANGEUL.<br />

HELP H Displays help information<br />

for FTP.<br />

? ? Provides information to<br />

use FTP.<br />

<strong>IBM</strong>KANJI I Sets the transfer type to<br />

<strong>IBM</strong>KANJI.<br />

JIS78KJ JIS7 Sets the transfer type to<br />

JIS78KJ.<br />

JIS83KJ JIS8 Sets the transfer type to<br />

JIS83KJ.<br />

KSC5601 K Sets the transfer type to<br />

KSC5601.<br />

LCD LC Changes the working<br />

directory on the local host.<br />

LOCSITE LOCSI Changes local site<br />

information.<br />

LOCSTAT LOCST Displays FTP status<br />

information for the local<br />

host.<br />

LPWD LP Displays the name of the<br />

active working directory<br />

on the local host.<br />

LS LS Lists the names of files on<br />

the foreign host. NLST is a<br />

synonym for LS.<br />

MDELETE MD Deletes multiple files on<br />

the foreign host.<br />

MGET MG Copies multiple files from<br />

the foreign host to your<br />

local host.<br />

MKDIR MK Creates a new directory on<br />

the foreign host.<br />

MODE MO Specifies the mode or data<br />

format of the transfer.<br />

MPUT MP Copies multiple files on<br />

your local host to the<br />

foreign host.<br />

Page<br />

50<br />

50<br />

51<br />

51<br />

51<br />

52<br />

52<br />

53<br />

53<br />

53<br />

54<br />

54<br />

55<br />

55<br />

57<br />

58<br />

58<br />

59<br />

59<br />

Chapter 2. Transferring Files Using FTP 27


|<br />

|<br />

|<br />

|<br />

FTP Subcommands<br />

Table 3. FTP Subcommands (continued)<br />

SubcommandMinimum Description<br />

Abbreviation<br />

NETRC NE Enables or disables<br />

automatic logon capability<br />

through use of a NETRC<br />

DATA file.<br />

NOOP NO Checks whether the<br />

foreign host is still<br />

responding.<br />

OPEN O Opens a connection to a<br />

foreign host. CONNECT is<br />

a synonym for OPEN.<br />

PASS PA Supplies a password to the<br />

foreign host.<br />

PASSIVE PASSI Controls whether the<br />

client or server establishes<br />

connections for data<br />

transers.<br />

PUT PU Copies a file on your local<br />

host to the foreign host.<br />

PWD PW Displays the name of the<br />

active working directory<br />

on the foreign host.<br />

QUIT QUI Leaves the FTP command<br />

environment.<br />

QUOTE QUO Sends an uninterpreted<br />

string of data.<br />

RENAME REN Renames a file on the<br />

foreign host.<br />

RMDIR RM Remove a directory from<br />

the foreign host.<br />

SENDPORT SENDP Enables or disables<br />

automatic transmission of<br />

the FTP server PORT<br />

subcommand. TOGLPORT<br />

is a synonym for<br />

SENDPORT.<br />

SENDSITE SENDS Enables or disables<br />

automatic transmission of<br />

the SITE subcommand.<br />

SITE SI Sends information to the<br />

foreign host using<br />

site-specific commands.<br />

SIZE SIZE Retrieves the transfer size<br />

(in bytes) for a foreign<br />

host file.<br />

SJISKANJI SJ Sets the transfer type to<br />

SJISKANJI.<br />

STATUS STA Displays status<br />

information for the foreign<br />

host.<br />

Page<br />

60<br />

60<br />

61<br />

62<br />

62<br />

63<br />

64<br />

65<br />

65<br />

65<br />

66<br />

67<br />

67<br />

68<br />

70<br />

70<br />

71<br />

28 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


FTP Subcommands<br />

Table 3. FTP Subcommands (continued)<br />

SubcommandMinimum Description<br />

Abbreviation<br />

STRUCT STR Sets the file transfer<br />

structure.<br />

SUNIQUE SU Toggles the storage<br />

methods.<br />

SYSTEM SY Displays the name of the<br />

foreign host’s operating<br />

system.<br />

TCHINESE TC Sets the transfer type to 73<br />

TCHINESE.<br />

TYPE TY Specifies the transfer type. 74<br />

USER U Identifies you to a foreign<br />

host. LOGIN is a synonym<br />

for USER.<br />

75<br />

Page<br />

71<br />

71<br />

73<br />

Continuing Subcommand Input Strings<br />

Due to system limitations, FTP subcommand input lines are restricted to 130<br />

characters; subcommand text that is present after 130 characters is ignored. When<br />

FTP subcommands are supplied, a continuation operator — a plus sign (+)<br />

preceded by a single blank — can be used to continue a string on a subsequent<br />

input line. The plus sign and its preceding blank will not be present in the<br />

resulting final string; thus, any blanks necessary to delimit multiple tokens for<br />

certain FTP subcommands must be explicitly provided as part of the input string(s)<br />

that are continued. Delimiting blanks can be included either before the ″ +″<br />

continuation operator, or at the beginning of the next line of continued text. Note<br />

that multiple blanks are not significant (that is, are not preserved). The limit for the<br />

subcommand input stream continued in this fashion is 200 bytes.<br />

Example of Line Continuation<br />

Suppose the current working directory on the foreign host is:<br />

GPLSRV2:DOC.LIBRARY.PROJECTX<br />

The following MKDIR subcommand is then issued, using two lines:<br />

mkdir gplsrv2:doc.library.projectx. +<br />

worlfiles<br />

The foreign host replies with:<br />

>>>MKD gplsrv2:doc.library.projectx.worlfiles<br />

257 New directory GPLSRV2:DOC.LIBRARY.PROJECTX.WORLFILES has<br />

been created.<br />

After creating several other directories, you realize the worlfiles directory should<br />

be workfiles. To correct this, you issue an RMDIR command of the form:<br />

rmdir +<br />

with the remainder of the command completed by retrieving and using previously<br />

entered commands:<br />

gplsrv2:doc.library.projectx. +<br />

worlfiles<br />

The foreign host replies with:<br />

Chapter 2. Transferring Files Using FTP 29


FTP Subcommands<br />

>>>RMD gplsrv2:doc.library.projectx.worlfiles<br />

250 Directory GPLSRV2:DOC.LIBRARY.PROJECTX.WORLFILES has been<br />

removed.<br />

You then correct the directory name, again retrieving and using previously entered<br />

commands (with the last one corrected to workfiles):<br />

mkdir +<br />

gplsrv2:doc.library.projectx. +<br />

workfiles<br />

The response from the foreign host is then:<br />

>>>MKD gplsrv2:doc.library.projectx.workfiles<br />

257 New directory GPLSRV2:DOC.LIBRARY.PROJECTX.WORKFILES has<br />

been created.<br />

File Name Formats<br />

FTP provides a mechanism to transfer files from one host to another, in which<br />

different operating systems (and thus, file systems) may be in use. Therefore, the<br />

format used to identify a file is dependent on the host system where that file<br />

resides or will reside.<br />

In FTP subcommands used to manipulate files, it is necessary to distinguish files<br />

associated with the local host from those on a foreign host. In the FTP<br />

subcommand descriptions throughout this chapter, files that are specific to the<br />

local host are identified using the term localfile, whereas a file that is specific to a<br />

remote (foreign) host is identified using the term foreignfile.<br />

Working with local CMS files<br />

When CMS files are identified for FTP subcommands that require a local file<br />

(localfile), use this naming format:<br />

►►<br />

filename.filetype<br />

.*<br />

.filemode<br />

►◄<br />

Notes:<br />

1. When a specific file mode is provided for a CMS local file, only the resource<br />

accessed at that file mode is used to obtain or create the file that has been<br />

identified.<br />

2. When a file mode is not specified, or is specified as an asterisk (*) for a CMS<br />

local file, the resources involved in manipulation of the referenced file may<br />

vary, based on the FTP subcommand in use. For certain FTP subcommands, a<br />

file mode specified as an asterisk signifies the local working directory only,<br />

whereas for others, this may imply use of the local working directory first,<br />

followed by the current CMS search order.<br />

Working with Remote Files: When z/<strong>VM</strong> is in use on the foreign host and a<br />

foreignfile name is required, use the naming format that follows:<br />

30 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


FTP Subcommands<br />

►►<br />

(1)<br />

filename . filetype<br />

yourid (2)<br />

filepoolid: . . filename . filetype<br />

userid .<br />

▼ subdir<br />

/<br />

(3)<br />

▼ subdir bfs_filename<br />

/../<strong>VM</strong>BFS:filepoolid:filespace/ /<br />

▼<br />

subdir<br />

(3)<br />

bfs_filename<br />

►◄<br />

Notes:<br />

1 Format for minidisk and reader files.<br />

2 Format for SFS files.<br />

3 Formats for BFS files.<br />

To reference minidisk or reader files, the appropriate working directory must be<br />

established on the foreign <strong>VM</strong> host. Fully-qualified SFS and BFS foreign files can<br />

be referenced regardless of whether they reside in the current working directory on<br />

the foreign host.<br />

For more information about CMS file names and limitations, see the z/<strong>VM</strong> CMS<br />

Command Reference. For details regarding BFS file-naming conventions, refer to the<br />

z/<strong>VM</strong>: OpenExtensions User’s <strong>Guide</strong>.<br />

File Name Pattern Matching<br />

When subcommands are issued that affect multiple CMS files, such as MDELETE,<br />

MGET, and MPUT, pattern matching can be used to affect the scope of the set of<br />

files affected by these subcommands (as can be done with the CMS LISTFILE<br />

command). Pattern matching is accomplished by specifying an asterisk (*) as a<br />

portion of, or in place of, filename or filetype when a file name is specified for these<br />

commands.<br />

Pattern matching can also be used with the name operand that is used in DIR and<br />

LS subcommands. In addition to the pattern matching just described for filename<br />

and filetype (when name is specified using the format filename.filetype), the name<br />

operand itself can be used for pattern matching. Pattern matching based on the<br />

name operand is accomplished by specifying an asterisk (*) as a portion of, or in<br />

place of, the name operand.<br />

Notes:<br />

1. When the foreign host working directory is a virtual reader, pattern matching<br />

characters that are used as a portion of the filename, filetype or name operands<br />

must be specified as a leading or trailing character. An asterisk (*) can still be<br />

used in place of these operands.<br />

2. Pattern matching cannot be used for BFS files and directories.<br />

File Name Case Considerations<br />

When FTP operations are performed between hosts that are based on differing file<br />

system implementations, it may be necessary to account for differences that can<br />

arise due to case sensitive file naming conventions.<br />

Chapter 2. Transferring Files Using FTP 31


FTP Subcommands<br />

For example, when multiple CMS files are identified for MDELETE, MGET, and<br />

MPUT operations, the name and type of these files are provided by the z/<strong>VM</strong> FTP<br />

server to a connected client in lowercase, whereas for other subcommands (such as<br />

DIR or LS) these same files may be identified using uppercase names. For<br />

subcommands that affect only a single file (such as PUT or GET), case is preserved<br />

for file naming information that is transmitted.<br />

While these response differences do not adversely affect operations between z/<strong>VM</strong><br />

hosts, they may affect file-related actions performed on a connected host that is<br />

case-sensitive (with respect to naming conventions and the underlying file system<br />

implementation of that host).<br />

Note: For minidisks and SFS directories, CMS files are created with names in<br />

uppercase. FTP on z/<strong>VM</strong> does not support mixed-case file naming for these<br />

resources.<br />

Working with Non-CMS Files<br />

For detailed information about naming and referencing files on a non-z/<strong>VM</strong> host,<br />

consult the documentation specific to that host and its operating system. The<br />

information provided in Appendix A, “Specifying Files and Data Sets” on page 289<br />

may be useful as well.<br />

In general, the z/<strong>VM</strong> FTP client does not restrict the naming of a foreignfile when<br />

such information is supplied to the FTP server on a foreign host. For example, the<br />

slash (/) often used in naming Unix files can be used when these files are<br />

referenced, even though this is not a valid CMS file name character. However,<br />

length restrictions may at times be encountered, due to implementation<br />

considerations.<br />

Information about how certain naming conditions and problems are dealt with by<br />

FTP on a z/<strong>VM</strong> host follows.<br />

Many commonly-referenced file systems (Unix is one example) maintain files using<br />

a descriptive file name only, and have no underlying support for a file type, as does<br />

CMS. When these files are transferred to a z/<strong>VM</strong> host, and the existing foreign file<br />

name cannot be used to adequately produce a CMS file name and file type, that<br />

file is stored on CMS minidisks and SFS directories using a CMS file type of<br />

$DEFAULT.<br />

For some files, due to their naming, a specific CMS file name or file type must be<br />

provided when those files are retrieved from a foreign host. For example, to<br />

retrieve a foreignfile that begins with a period (.), the foreignfile specified with the<br />

GET subcommand must include an explicit filename. To retrieve a group of such<br />

files using an MGET subcommand, use an asterisk (*) as the foreignfile file name.<br />

Quoted Strings and Embedded Spaces (Blanks)<br />

When the need arises to specify an FTP subcommand that includes a foreign file or<br />

directory name that requires spacing, that name should be enclosed using either<br />

single (’) or double (″) quotes.<br />

When the z/<strong>VM</strong> FTP client encounters a subcommand operand string that is<br />

enclosed within quotes and that string contains embedded spaces, it discards the<br />

delimiting quotes before the string is passed to the FTP server on the foreign host.<br />

32 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


FTP Subcommands<br />

If quotes are encountered that enclose a subcommand string which does not<br />

contain embedded blanks, the z/<strong>VM</strong> FTP client assumes the supplied quotes are<br />

inherent to this string. Thus, the delimiting quotes are retained, and are passed on<br />

to the FTP server on the foreign host.<br />

Fully-Qualified Pathnames<br />

For certain FTP subcommands, the z/<strong>VM</strong> FTP server allows a fully-qualified<br />

pathname.<br />

For example, assume the SFS directory FPSERV1:TSTUSER.TESTCASES is the<br />

working directory, but that information about all TEST007 files that reside in the<br />

FPSERV1:TSTUSER.TESTDATA directory needs to be obtained at a given time. This<br />

information can be obtained using the DIR command that follows:<br />

dir fpserv1:tstuser.testdata.test007.*<br />

If these files reside on the NOTSECUR 191 minidisk (for which a read password of<br />

ALL is in effect), this information would be retrieved using this command:<br />

dir notsecur.191/test007.*<br />

A fully-qualified pathname can be specified for these FTP subcommands:<br />

v APPEND (APPE)<br />

v DELETE (DELE)<br />

v DIR (LIST)<br />

v LS (NLST)<br />

v GET, MGET (RETR)<br />

v SIZE (SIZE)<br />

v PUT, MPUT (STOR)<br />

v PUT, MPUT with SUNIQUE active (STOU)<br />

Note: When fully-qualified path names are used with FTP subcommands, the FTP<br />

server temporarily acquires the appropriate z/<strong>VM</strong> file system resource<br />

necessary to satisfy a request. This action by the FTP server does not alter<br />

the working directory that has been established through use of either the<br />

CD or CWD commands.<br />

Storage Space Requirements for Transferred Files<br />

The information that follows must be considered when files are stored on a z/<strong>VM</strong><br />

host, especially when minidisk or SFS storage space is constrained, or when<br />

attempts are made to minimize the use of such space.<br />

As part of necessary overhead required by the FTP server and by CMS for<br />

performing file system management, a number of storage blocks must be reserved<br />

and used for other than data storage purposes. For instance, some blocks are used<br />

as control blocks to maintatin the minidisk file directory (for which additional<br />

block space may be required as new files are created), while others are used as<br />

pointer blocks to manage file structure.<br />

However, these various reserved blocks are not reflected in the output returned for<br />

the CMS QUERY DISK or QUERY LIMITS commands. This means the results<br />

obtained from these commands must be used only as an approximation of storage<br />

block usage and availability when determining whether a file can be stored on a<br />

z/<strong>VM</strong> host.<br />

Chapter 2. Transferring Files Using FTP 33


FTP Subcommands<br />

File Transfer Methods<br />

When files are transferred between two hosts, appropriate transmission attributes<br />

must be used to ensure the content and structure of any transferred file are<br />

preserved. The nature of a file transfer is primarily controlled using two FTP<br />

subcommands:<br />

v<br />

v<br />

the MODE subcommand, which determines how the file contents are<br />

transmitted. For more information, see “MODE” on page 59.<br />

the TYPE subcommand, which establishes attributes of the file contents. For<br />

more information, see “TYPE” on page 74.<br />

Controlling File Translation<br />

Because z/<strong>VM</strong> maintains data in EBCDIC format, it is often necessary to be aware<br />

of and have control over how EBCDIC-ASCII file translation is performed when<br />

files are transferred to or from a remote host.<br />

Table 4 shows recommendations for setting transmission attributes for file transfers<br />

that are performed between differing host systems. In this table, <strong>IBM</strong> host systems<br />

(VSE/ESA, z/<strong>VM</strong> or OS/390 hosts) are referred to as “EBCDIC” hosts. By<br />

comparison, a Unix, Windows, or Linux host is considered to be an “ASCII” host.<br />

With respect to EBCDIC hosts, text data is considered to be comprised of only<br />

standard, displayable characters, whereas for an ASCII host, text data generally<br />

contains the carriage return (ASCII X'0D' and EBCDIC X'15'), the line feed (ASCII<br />

X'0A' and EBCDIC X'25') and displayable characters.<br />

Table 4. Recommended Methods of File Transfer<br />

Source<br />

Host<br />

Intermediate<br />

Host<br />

Target Host Data TYPE Setting Mode<br />

Setting<br />

EBCDIC (none) EBCDIC binary E (EBCDIC) B (Block)<br />

EBCDIC (none) EBCDIC text E (EBCDIC) S (Stream)<br />

EBCDIC (none) ASCII text A (ASCII) S (Stream)<br />

ASCII (none) EBCDIC text A (ASCII) S (Stream)<br />

ASCII (none) EBCDIC binary I (Image) (1*) S (Stream)<br />

ASCII EBCDIC (2*) ASCII binary I (Image) (1*) S (Stream)<br />

EBCDIC ASCII (2*) EBCDIC (3*) binary I (Image) (1*) S (Stream)<br />

1. The BINARY subcommand can be used to set the transfer type to Image.<br />

2. Used only for storage purposes.<br />

3. See accompanying notes for more information.<br />

Notes:<br />

1. When files are transferred between <strong>IBM</strong> EBCDIC host systems, the combined<br />

use of the MODE B and TYPE E subcommands is generally sufficient to<br />

achieve satisfactory results.<br />

2. When a CMS file such as a MODULE, (which has an internal format which<br />

must be preserved) is transferred using an intermediate ASCII host, that file<br />

should first be compressed using the PACK option of the CMS COPYFILE<br />

command. This “packed” file should then be handled as a binary file until it is<br />

transferred to its final destination. For the z/<strong>VM</strong> destination host, a SITE (or<br />

LOCSITE) FIXRECFM 1024 subcommand must be issued prior to the PUT (or<br />

GET) subcommand used to transfer the file — this is necessary to create a file<br />

that can then be uncompressed using the UNPACK option of the CMS<br />

COPYFILE command.<br />

34 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Automatic File Translation<br />

The z/<strong>VM</strong> FTP server can be configured by the system administrator to<br />

automatically perform EBCDIC-ASCII file translation based on the value of a file<br />

extension, which is defined to be the last component of a file name — that is, the<br />

characters that follow the last period in a path name. For file extensions, up to<br />

eight characters are matched and mixed case is not respected.<br />

Automatic file translation, when enabled, is applicable to only the Image (TYPE I)<br />

file transfer type. Thus, if the transfer type is changed to other than Image — for<br />

example, ASCII — during a session for which automatic file translation is active,<br />

automatic translation ceases and files are transferred in accordance with the newly<br />

established transfer type. In such a case, automatic file translation can be reinstated<br />

by changing back to the Image transfer type.<br />

Automatic file translation is recommended when a web browser or graphical FTP<br />

client is used to interact with a z/<strong>VM</strong> FTP server, because these clients often<br />

default to using a transfer type of Image (or, binary) and do not offer a way for a<br />

different file transfer type to be specified.<br />

The associations between file extensions and file translation are configured by the<br />

z/<strong>VM</strong> system administrator, as is the initial automatic file translation setting for an<br />

FTP session. While file extension associations cannot be changed by an FTP client,<br />

whether automatic file translation is performed by the server can be controlled by<br />

using the AUTOTRANS operand of the SITE subcommand. For more information,<br />

see “SITE” on page 68.<br />

File List Formats<br />

After an FTP connection has been established with a z/<strong>VM</strong> foreign host, the FTP<br />

server can be instructed to provide DIR subcommand responses (file lists) inone<br />

of two different list formats:<br />

v<br />

v<br />

<strong>VM</strong>-format (<strong>VM</strong>), or<br />

Unix-format (UNIX), sometimes referred to as Unix long-list format.<br />

These formats are described in more detail in the following sections.<br />

<strong>VM</strong>-format Lists<br />

The <strong>VM</strong>-format list response provides file information in a format that — for the<br />

minidisk and Shared File System (SFS) directory file groups — closely resembles<br />

that produced by the CMS LISTFILE command. A sample <strong>VM</strong>-format list response<br />

follows:<br />

Command:<br />

dir<br />

>>>PORT 9,117,32,30,4,53<br />

200 Port request OK.<br />

>>>LIST<br />

125 List started OK<br />

ENDTRACE <strong>TCP</strong><strong>IP</strong> F 80 1 1 1999-07-28 12:24:01 TCM191<br />

LASTING GLOBALV V 43 10 1 1999-11-16 9:05:22 TCM191<br />

NOTRACE <strong>TCP</strong><strong>IP</strong> F 80 1 1 1999-12-16 13:39:21 TCM191<br />

OBEY EXEC V 72 153 2 1996-01-03 16:07:07 TCM191<br />

PACKMODL TESTFILE F 1024 468 117 1996-07-28 13:56:36 TCM191<br />

PROFILE EXEC V 30 10 1 1999-11-16 9:01:10 TCM191<br />

RECF80 TESTFILE F 80 5 1 2000-01-17 14:47:19 TCM191<br />

SETX XEDIT V 46 13 1 1999-11-04 9:13:53 TCM191<br />

<strong>TCP</strong><strong>IP</strong> DATA V 72 99 2 1999-11-18 17:24:05 TCM191<br />

<strong>TCP</strong>MNT2 NETLOG V 108 48 2 2000-01-17 14:49:09 TCM191<br />

<strong>TCP</strong>MNT2 SYNONYM F 80 10 1 1999-11-10 8:46:12 TCM191<br />

<strong>TCP</strong>SLVL EXEC V 37 23 1 1999-02-05 13:20:46 TCM191<br />

FTP Subcommands<br />

Chapter 2. Transferring Files Using FTP 35


FTP Subcommands<br />

TEST EXEC V 71 107 2 1997-07-14 10:43:17 TCM191<br />

TRACE2 <strong>TCP</strong><strong>IP</strong> F 80 1 1 1999-12-30 11:15:22 TCM191<br />

250 List completed successfully.<br />

Command:<br />

For files and directories that are maintained using the z/<strong>VM</strong> Byte File System<br />

(BFS), <strong>VM</strong>-format lists are identical to z/<strong>VM</strong> OPEN<strong>VM</strong> LISTFILE responses. A<br />

sample response for BFS directory information follows:<br />

Command:<br />

dir<br />

>>>PORT 9,117,32,30,4,53<br />

200 Port request OK.<br />

>>>LIST<br />

125 List started OK<br />

05/20/2000 13:38:19 F 1 65758 ’bfsline.cpy’<br />

05/19/2000 11:02:15 F 1 65758 ’bfsline.txt’<br />

06/03/2000 12:27:48 F 1 15414 ’bfstest.cpy’<br />

05/20/2000 13:38:05 F 1 15414 ’bfstest.output’<br />

05/20/2000 13:38:42 F 1 772902 ’bfswork.output’<br />

03/31/2000 15:49:27 F 1 782444 ’bfswork.txt’<br />

05/20/2000 13:39:20 F 1 13930 ’lotsonl.putdata’<br />

05/19/2000 09:41:21 F 1 13930 ’lotsonl.txt’<br />

06/15/2000 09:29:25 F 1 278 ’mail.maw’<br />

05/20/2000 13:39:34 F 1 278 ’mail.putdata’<br />

05/20/2000 15:30:45 F 1 13930 ’nls.new’<br />

05/20/2000 14:02:24 F 1 13931 ’nls.txt’<br />

08/21/2000 10:03:17 F 1 328 ’rock.rules’<br />

05/20/2000 13:40:05 F 1 58 ’testfil2.putdata’<br />

04/26/2000 14:34:42 F 1 63 ’testfil2.txt’<br />

08/21/2000 05:28:40 D - - ’ALTERNATE’<br />

12/28/2000 17:36:19 D - - ’FIRST’<br />

250 List completed successfully.<br />

Command:<br />

For a z/<strong>VM</strong> virtual reader (RDR), list responses are similar to that produced by<br />

the CP QUERY RDR ALL command, but with certain fields removed. A sample<br />

<strong>VM</strong>-format response for a virtual reader follows:<br />

Command:<br />

dir<br />

>>>PORT 9,117,32,29,10,213<br />

200 Port request OK.<br />

>>>LIST<br />

125 List started OK<br />

0013 SMTP 00000011 1999-11-03 12:46:10 CIBULAPR MAIL<br />

0154 RSCS 00002789 1999-12-29 10:12:46 FL3XSAMP TXT<br />

0116 <strong>TCP</strong>LVL2 00000170 1999-12-16 11:39:07 <strong>TCP</strong>-HELP LIST3820<br />

0115 <strong>TCP</strong>LVL2 00002874 1999-12-16 11:39:06 <strong>TCP</strong>-OVER LIST3820<br />

0153 RSCS 00002825 1999-06-29 10:12:45 FL32SAMP TXT<br />

0214 SMTP 00000015 2000-01-14 12:50:10 CIBULAMA MAIL<br />

250 List completed successfully.<br />

Command:<br />

The fields in this type of response are referred to (in order) as the spoolid, origin,<br />

records, date, time, filename and filetype fields.<br />

Unix-format Lists<br />

When a web browser, or other graphical FTP client is used to interact with a z/<strong>VM</strong><br />

FTP server, the use of Unix-format lists is recommended. This is because these<br />

types of clients have, in general, been implemented to work with a Unix file<br />

system model and expect Unix-like information to be presented as FTP transactions<br />

are performed. If <strong>VM</strong>-format file lists are supplied when such a client is used,<br />

36 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


FTP Subcommands<br />

directory and file information may not be correctly displayed or managed by the<br />

client; this may then cause FTP processing capabilities to become limited or<br />

adversely affected.<br />

The list format initially supplied by an FTP server is configured by the z/<strong>VM</strong><br />

system administrator. However, the list format used during an FTP session can be<br />

controlled by using the LISTFORMAT operand of the SITE subcommand. For<br />

more information on the SITE subcommand, see “SITE” on page 68.<br />

Unix-format List Fields<br />

Unix-format responses returned by a z/<strong>VM</strong> FTP server contain the following<br />

fields, with each separated by one or more spaces:<br />

mode<br />

link count<br />

owner<br />

group<br />

size<br />

date<br />

time<br />

name<br />

a one byte entry type followed by three bytes each of Owner,<br />

Group, and Other permissions<br />

a count of the number of symbolic links to a file<br />

the login or user name that owns a file or directory<br />

the group name with which permissions are associated<br />

the size (in bytes) of a file or directory<br />

date of last modification (month and day, provided in the form<br />

mmm nn)<br />

time of last modification, provided in the form hh:mm (for files<br />

greater than six months old, hh:mm is replaced with the year in<br />

which the file was last modified, provided as nnnn)<br />

the name of a file or directory<br />

An example Unix-format response follows:<br />

dir<br />

>>>PORT 129,34,128,246,13,134<br />

200 Port request OK<br />

>>>LIST<br />

125 List started OK<br />

-rwx---r-x 1 MIKE <strong>TCP</strong><strong>IP</strong>DEV 240 Mar 18 16:13 LASTING.GLOBALV<br />

-rwx---r-x 1 MIKE <strong>TCP</strong><strong>IP</strong>DEV 3192 Dec 8 1991 PROFILE.EXEC<br />

-rwx---r-x 1 MIKE <strong>TCP</strong><strong>IP</strong>DEV 3 Feb 4 14:57 TELL.LOCK<br />

-rwx---r-x 1 MIKE <strong>TCP</strong><strong>IP</strong>DEV 432 Mar 17 10:30 TEST.EXEC<br />

-rwx---r-x 1 MIKE <strong>TCP</strong><strong>IP</strong>DEV 80 Mar 17 8:57 TEST.TEST<br />

-rwx---r-x 1 MIKE <strong>TCP</strong><strong>IP</strong>DEV 432 Mar 18 10:28 TEST1.EXEC<br />

-rwx---r-x 1 MIKE <strong>TCP</strong><strong>IP</strong>DEV 10640 Mar 18 13:28 TEST1.INFO<br />

-rwx---r-x 1 MIKE <strong>TCP</strong><strong>IP</strong>DEV 80 Mar 8 17:37 TET.TET<br />

-rwx---r-x 1 MIKE <strong>TCP</strong><strong>IP</strong>DEV 80 Mar 8 17:48 TET1.TET<br />

-rwx---r-x 1 MIKE <strong>TCP</strong><strong>IP</strong>DEV 80 Mar 8 17:49 TET2.TET<br />

-rwx---r-x 1 MIKE <strong>TCP</strong><strong>IP</strong>DEV 10640 Feb 26 16:36 T1.INFO<br />

250 List completed successfully<br />

Command:<br />

Here is a sample Unix-format response for a virtual reader:<br />

Command:<br />

dir<br />

>>>PORT 9,117,32,29,10,213<br />

200 Port request OK.<br />

>>>LIST<br />

125 List started OK<br />

-rwx---rwx 1 MIKE - 0 Nov 3 12:46 0013.CIBULAPR.MAIL<br />

-rwx---rwx 1 MIKE - 0 Dec 29 10:12 0154.FL3XSAMP.TXT<br />

-rwx---rwx 1 MIKE - 0 Dec 16 11:39 0116.<strong>TCP</strong>-HELP.LIST3820<br />

-rwx---rwx 1 MIKE - 0 Dec 16 11:39 0115.<strong>TCP</strong>-OVER.LIST3820<br />

Chapter 2. Transferring Files Using FTP 37


FTP Subcommands<br />

-rwx---rwx 1 MIKE - 0 Jun 29 1999 0153.FL32SAMP.TXT<br />

-rwx---rwx 1 MIKE - 0 Jan 1 12:50 0214.CIBULAMA.MAIL<br />

250 List completed successfully.<br />

Command:<br />

Since the z/<strong>VM</strong> Byte File System (BFS) is based on a Unix file system model, all<br />

fields of the Unix-format file list are applicable and available when BFS files and<br />

directories are listed in response to a DIR subcommand.<br />

When a Unix-format response is returned for z/<strong>VM</strong>-specific file system groups —<br />

minidisks, SFS directories, or virtual readers (RDR) — some of the information<br />

associated with this format is not pertinent to these file system groups. Thus, the<br />

FTP server substitutes or modifies values for certain Unix-format fields when its<br />

response corresponds to one of these file system groups; this is done to allow for<br />

correct processing of the response by web browser and graphical FTP clients.<br />

Modifications to Unix-format field values for non-BFS files and directories are<br />

applied by the z/<strong>VM</strong> FTP server as follows:<br />

v An entry type of d is supplied if the response entry is associated with an SFS<br />

directory; otherwise, a hyphen (-) is present.<br />

v For SFS and minidisk, owner permissions are always rwx, but for RDR files,<br />

owner permissions are always hyphens (---).<br />

v Group permissions are supplied as hyphens (---).<br />

v Other permission bits will indicate the authority of the current user. Execute<br />

authority (x) is assumed if the login user has read authority for the file in use.<br />

For resources protected by an External Security Manager (ESM), Other<br />

permissions are always provided as rwx. Exact file authorizations for these<br />

resources may be determined by using the QAUTH operand of the “SITE”<br />

subcommand, see “SITE” on page 68.<br />

v A link count of 1 is always provided.<br />

v If the file owner is a member of an Access Control Interface group (ACIGROUP),<br />

that ACIGROUP name is supplied in the group field. If an ACIGROUP is not<br />

available, the group name is supplied as a hyphen (-). For more ACIGROUP<br />

information, see z/<strong>VM</strong> Planning and Administration.<br />

v For fixed-record (F) format minidisk and SFS files, the size field indicates the<br />

actual size of a file.<br />

For variable-record (V) format minidisk and SFS files, the size field contains an<br />

estimated file size, this being the lesser value determined by:<br />

– the number of records in the file and its maximum record length<br />

– the size and number of blocks required to maintain the file.<br />

v<br />

For virtual reader files, a size of 0 is always indicated.<br />

For a virtual reader, the spool ID precedes the file name and file type; thus, for<br />

these resources, this field is formatted as: spoolid.filename.filetype<br />

Interpretation of Relative Path Information<br />

When a z/<strong>VM</strong> FTP server processes a request to manipulate a file, for which the<br />

file or directory has not been fully qualified, the server determines where that file<br />

or directory exists by appending any supplied file or directory information to an<br />

internal base directory. Exactly what constitutes this base directory differs based on<br />

the file list format that is in effect for an FTP session.<br />

When the list format is <strong>VM</strong>, the z/<strong>VM</strong> FTP server uses the working directory (as<br />

established by either a CD or CWD subcommand) as the base directory for the<br />

38 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


supplied, but not fully qualified, file or directory name. That is, the FTP server<br />

determines where the file or directory exists by appending the supplied directory<br />

or file information to the current working directory.<br />

For example, assume the current list format is <strong>VM</strong> and the current working<br />

directory is /../<strong>VM</strong>BFS:BFS:USER1/SUBDIR. If a GET SUBDIR2/THIS.FILE<br />

command is supplied by a client, the FTP server will add the supplied path<br />

information to that associated with the current working directory in order to obtain<br />

a fully qualified file name. For this example, the fully qualified file for which data<br />

will be returned is /../<strong>VM</strong>BFS:BFS:USER1/SUBDIR/SUBDIR2/THIS.FILE.<br />

By comparison, when the UNIX list format is in effect, the z/<strong>VM</strong> FTP server uses<br />

only a portion of the current working directory - either the root directory, or the<br />

lowest level directory possible - as its base for any file or directory information<br />

supplied by a client.<br />

That is, the FTP server determines where a file or directory exists by adding<br />

client-supplied directory or file information to the root directory of the current<br />

working directory. The z/<strong>VM</strong> FTP server does this in order to operate effectively<br />

with web browser clients, because these clients always provide directory and file<br />

information in a manner that is relative to the root directory.<br />

Thus, when Unix-format lists are in use, the root directory for BFS is<br />

/../<strong>VM</strong>BFS:FILEPOOL:USER/, while FILEPOOL:USER. is used for SFS. For<br />

minidisk and reader directories, the root directory is the minidisk or reader<br />

directory.<br />

For example, assume the current list format is UNIX and the current working<br />

directory is /../<strong>VM</strong>BFS:BFS:USER1/SUBDIR. If a client requests file data via a GET<br />

SUBDIR2/THIS.FILE command, the FTP server will construct and use a fully<br />

qualified relative path name, based on the client-supplied path information and the<br />

appropriate root directory for the file system in use (/../<strong>VM</strong>BFS:BFS:USER1 in this<br />

case). For this example, data will be returned for the file<br />

/../<strong>VM</strong>BFS:BFS:USER1/SUBDIR2/THIS.FILE.<br />

Transferring Files Using a Web Browser<br />

To FTP to a z/<strong>VM</strong> host using a web browser, use the following FTP address or<br />

location format:<br />

ftp://userid:password@host.domain/directory<br />

FTP Subcommands<br />

If a password is not specified as part of the location information you supply (but is<br />

required to gain access to the host in question) a password prompt will be issued.<br />

If a directory is not specified as part of the location information, the web browser<br />

informs the z/<strong>VM</strong> FTP server to begin at the root directory that is associated with<br />

the userid default working directory. If the user ID in question (userid) does not<br />

have authorization for the root directory, either proper authorization must be<br />

obtained or a suitable directory must be specified as part of the FTP location<br />

address (that is, a directory for which access authorization exists).<br />

Also, be aware that the following sequence of events may produce unexpected<br />

results when a web browser FTP client is used in conjunction with a z/<strong>VM</strong> FTP<br />

server:<br />

Chapter 2. Transferring Files Using FTP 39


FTP Subcommands<br />

1. FTP operations commence with a root directory that corresponds to a specific<br />

type of z/<strong>VM</strong> file system (BFS, SFS, minidisk, reader) for which no specific<br />

directory has been specified as part of the FTP address or location.<br />

2. The type of z/<strong>VM</strong> file system used is overtly changed, by having specified a<br />

fully-qualified directory in the FTP address or location.<br />

3. A browser operation is performed that requires use of the root directory (and<br />

z/<strong>VM</strong> file system) that was originally established in Step 1, such as backward<br />

paging that initiates a file retrieval, store, or delete request.<br />

Problems may arise after such a sequence of events because web browser<br />

implementations generally expect to operate with only one type of file system for a<br />

given user FTP session; the browsers do not expect the root directory to change for<br />

the life of an FTP session. Given this, a browser will not likely send a change<br />

directory (CD or CWD) request prior to an operation that requires a z/<strong>VM</strong> file<br />

system type that differs from that currently in use. Because the z/<strong>VM</strong> FTP server<br />

employs a different root directory for each type of z/<strong>VM</strong> file system in use, its<br />

responses may differ from those expected by the browser.<br />

Under these (and similar) circumstances, unexpected results may be a consequence<br />

of discrepancies between the z/<strong>VM</strong> FTP server and the browser in use, with<br />

respect to conventions that concern how files should be referenced using path and<br />

directory information, as well as perception as to what constitutes a “working<br />

directory”.<br />

ACCT<br />

Before you can access files on a foreign host, some hosts require account<br />

information. Use the ACCT subcommand to send host-dependent account<br />

information.<br />

►► ACct account_information ►◄<br />

Operands<br />

Usage Notes<br />

account_information<br />

Specifies the account information required by the foreign host.<br />

v<br />

v<br />

Some <strong>TCP</strong>/<strong>IP</strong> systems require passwords to gain access to specific resources or<br />

for a specific kind of access, such as “read” or “write”. For such systems, you<br />

can use the ACCT subcommand to supply such passwords.<br />

If the foreign host is a <strong>VM</strong> system, the ACCT subcommand can be used to<br />

supply minidisk passwords. The password you supply is used by the <strong>VM</strong> FTP<br />

server when CP LINK commands are issued on your behalf.<br />

When access to a <strong>VM</strong> minidisk is requested and a LINK password is required,<br />

the FTP server attempts LINK commands in the following order:<br />

1. MR (Multiple Read) mode<br />

2. WR (Read/Write) mode<br />

3. RR (Read only) mode.<br />

40 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


FTP Subcommands<br />

The level of access provided is determined by the first LINK attempt that<br />

succeeds. Thus, the minidisk password you supply as the account_information<br />

parameter should provide a minidisk LINK corresponding to the highest level of<br />

access you desire. For many systems, a Multiple Read password is most<br />

appropriate.<br />

For more information about the CP LINK command, see the <strong>IBM</strong> z/<strong>VM</strong>: CP<br />

Command and Utility Reference.<br />

APPEND<br />

Use the APPEND subcommand to append a local file to a foreign file.<br />

►► APpend localfile foreignfile ►◄<br />

Operands<br />

Usage Notes<br />

localfile<br />

The name of the local file to be appended to a file that resides on a foreign<br />

host. For information about how to specify localfile see “File Name Formats” on<br />

page 30.<br />

foreignfile<br />

The foreign host file to which the local file is to be appended. If a foreign file<br />

of this name does not already exist, the file is created. For information about<br />

how to specify foreignfile see “File Name Formats” on page 30.<br />

v<br />

v<br />

To append to a file on the foreign host, you must have a defined working<br />

directory, and you must have write privileges to it. For more information, see<br />

the subcommands “ACCT” on page 40 and “CD or CWD” on page 42.<br />

When the foreign file has a fixed-record format, the file format and record length<br />

of the foreign file are always preserved. Records from the local file can be<br />

truncated or padded with blanks when necessary.<br />

ASCII<br />

Use the ASCII subcommand to change the transfer type to ASCII, and at the same<br />

time change the record format used to store local files.<br />

►► AScii ►◄<br />

Operands<br />

The ASCII subcommand has no parameters.<br />

Usage Notes<br />

v<br />

The ASCII subcommand is intended for use when text files are transferred to or<br />

from an ASCII host. When FTP sessions are established, ASCII is the default<br />

transfer type.<br />

Chapter 2. Transferring Files Using FTP 41


FTP Subcommands<br />

Note: The ASCII subcommand causes files transferred to the local host to be<br />

stored as variable-record (V) format files.<br />

For more information about file transfer methods, see Table 4 on page 34.<br />

BINARY<br />

Use the BINARY subcommand to change the file transfer type to Image.<br />

►►<br />

BINARY<br />

Variable<br />

Fixed record_length<br />

►◄<br />

Operands<br />

Usage Notes<br />

Variable<br />

Specifies that files are stored as variable-record (V) format files.<br />

Fixed record_length<br />

Specifies that files are stored as fixed-record format (F), with records of length<br />

record_length.<br />

v<br />

v<br />

To specify how a binary file is stored on the local host, use the BINARY<br />

subcommand with the VARIABLE or FIXED operand before a GET (or MGET)<br />

subcommand is issued to retrieve a file. Note that when the BINARY<br />

subcommand is used in this manner, this has the same effect as issuing separate<br />

TYPE IMAGE and LOCSITE subcommands.<br />

For a z/<strong>VM</strong> foreign host where the FTP server has been configured to perform<br />

automatic file translation, the BINARY subcommand has no effect on file<br />

translation — the server continues to determine whether EBCDIC-ASCII<br />

translation should occur based only on file extension. However, the VARIABLE<br />

and FIXED operands still affect how a transferred file is stored on the local <strong>VM</strong><br />

system.<br />

To enable or disable automatic file translation for files transferred using the<br />

Image transfer type, use the AUTOTRANS operand of the SITE subcommand.<br />

For information, see “SITE” on page 68.<br />

CD or CWD<br />

Use the CD or CWD subcommand to change the working directory or file group<br />

on the foreign host.<br />

42 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


FTP Subcommands<br />

►►<br />

CD<br />

CWD<br />

191<br />

userid<br />

. vaddr<br />

RDR<br />

child-subdir<br />

yourid<br />

filepoolid: .<br />

userid .<br />

►◄<br />

▼ subdir<br />

..<br />

directory<br />

/../<strong>VM</strong>BFS:filepoolid:filespace/<br />

▼<br />

/<br />

subdir<br />

Operands<br />

userid<br />

The user ID associated with the resource that is to be accessed.<br />

vaddr<br />

A minidisk virtual address. The default virtual address is 191.<br />

RDR<br />

Indicates the virtual reader associated with userid is to be accessed.<br />

child-subdir<br />

A subdirectory that is defined under the current working directory.<br />

filepoolid<br />

The name of the Shared File System (SFS) file pool in which the directory to be<br />

accessed is defined.<br />

userid<br />

The user ID that owns the SFS directory that is to be accessed. If not specified,<br />

the user ID that corresponds to the currently active login user name (as<br />

specified with the USER subcommand) is used — signified here as yourid.<br />

subdir<br />

The name of a subdirectory that is defined under the top-level directory<br />

defined by filepoolid:userid.<br />

.. A special operand that changes the working directory to the parent directory<br />

on the foreign host. This operand performs the same function as the CDUP<br />

subcommand.<br />

directory<br />

The name of a file directory or other system-dependent file group designator<br />

on the foreign host.<br />

/../<strong>VM</strong>BFS:filepoolid:filespace/<br />

The name of the Byte File System (BFS) root. The <strong>VM</strong>BFS, filepoolid, and<br />

filespace tokens are all required and must be specified in uppercase.<br />

Chapter 2. Transferring Files Using FTP 43


FTP Subcommands<br />

Examples<br />

CD COOK.191<br />

where 191 is the default minidisk address.<br />

cd server5:.os2tools<br />

where OS2TOOLS is the SFS directory within the client’s filespace in file pool<br />

SERVER5.<br />

cd /../<strong>VM</strong>BFS:SERVER5:ROOT/user/alan<br />

Usage Notes<br />

where user/alan is the directory within file space ROOT of file pool SERVER5.<br />

v<br />

v<br />

v<br />

v<br />

You can also use the CWD subcommand to change the current working<br />

directory. This subcommand is interchangeable with the CD subcommand.<br />

While in the FTP environment, you can issue a CD command to specify a<br />

subdirectory or fully-qualified directory name for access to SFS and BFS.<br />

To work with SFS directories, <strong>TCP</strong>/<strong>IP</strong> V2R3 for <strong>VM</strong> or later must be in use on<br />

the foreign host. To work with BFS directories, <strong>TCP</strong>/<strong>IP</strong> V2R4 or later must be in<br />

use on the foreign host. To work with <strong>VM</strong> readers, <strong>TCP</strong>/<strong>IP</strong> FL320 or later must<br />

be in use on the foreign host.<br />

When CD commands are used with a remote host running z/<strong>VM</strong> your use of<br />

SFS, BFS and virtual reader support can affect how the directory names you<br />

supply are used. When support for these resources is available, the <strong>VM</strong> FTP<br />

server will interpret the directory names you supply using the following<br />

precedence:<br />

1. If the current working directory is a BFS directory, the supplied directory<br />

name is treated as a BFS path name.<br />

2. If the string “/../<strong>VM</strong>BFS:” is present, the directory name is treated as a BFS<br />

path name.<br />

3. If the current working directory is an SFS directory, the supplied directory<br />

name is treated as an SFS directory name.<br />

4. If a colon (:) is present in the directory name, it is treated as an SFS directory<br />

name.<br />

5. If the supplied directory name ends with either “ RDR” or“.RDR”, an attempt<br />

is made to change the working directory to a virtual reader.<br />

6. If the previously listed attempts fail to result in a successful change of<br />

directory, an attempt will be made to acquire a minidisk.<br />

Note: Certain SFS subdirectory and BFS path names can present problems when<br />

it is necessary to alternate the use of SFS/BFS resources and minidisks or<br />

virtual readers as working directories. When SFS subdirectories or BFS<br />

path names exist with names that also conform to the “userid.vaddr” or<br />

“userid.RDR” directory format, that SFS or BFS resource may be obtained<br />

as a working directory instead of an intended userid minidisk or virtual<br />

reader. Whether this can occur is dependent upon the SFS or BFS<br />

directory hierarchy being referenced, as well as the SFS/BFS directory that<br />

is the current working directory.<br />

44 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


FTP Subcommands<br />

v<br />

v<br />

v<br />

For such an environment, to ensure a change to a minidisk occurs when<br />

desired, always specify a minidisk or virtual reader directory by using<br />

either the “userid vaddr” or“userid RDR” directory name format, with only<br />

spaces or blanks used as delimiters.<br />

The following restrictions apply to BFS files and directories:<br />

1. When a CD request is for a Byte File System (BFS) directory, only the <strong>VM</strong><br />

user's primary GID (from the POSIXINFO statement) is used by the FTP<br />

server. The user's supplementary GID list (from the POSIXGLIST statement)<br />

is not used.<br />

2. When the user ID issuing a CD command has file pool administration<br />

authority for the target BFS file pool, that administration authority is not<br />

respected by the FTP server. In other words, the user ID must have explicit<br />

permission to the object through the UID and GID associated with the user<br />

ID.<br />

The initial working directory you obtain after you logon to a foreign host is<br />

dependent upon that host system. For z/<strong>VM</strong> hosts, the initial working directory<br />

established, as well as the type of access to that directory (with regard to “read”<br />

versus “write” status), can be affected by several factors, such as:<br />

– the logon user ID you supply<br />

– the configuration of the FTP server<br />

– the use of an External Security Manager (ESM)<br />

– the release of <strong>TCP</strong>/<strong>IP</strong> for <strong>VM</strong> in use on foreign host.<br />

In many environments, the 191 minidisk of the login user ID is established as<br />

the initial working directory, by default. When possible, write access to this<br />

resource is obtained. However, these defaults can be influenced and altered by<br />

one, or a combination, of the previously cited factors.<br />

If <strong>TCP</strong>/<strong>IP</strong> Function Level 320 or later is in use on the foreign host and native<br />

<strong>VM</strong> minidisk password protection is in use, access to minidisks will be achieved<br />

without the need to specify a minidisk password, when one of the following<br />

conditions is true:<br />

– the login user ID owns the target minidisk<br />

– a minidisk read, write, or multiple password of ALL is in effect for the<br />

minidisk<br />

For these conditions, write access will be obtained, whenever possible. If none of<br />

these conditions is applicable for this kind of environment, the ACCT<br />

subcommand must be used to provide a suitable minidisk password to gain<br />

access to the minidisk.<br />

v<br />

For this same type of environment, but with a level of <strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> prior to<br />

Function Level 320 in use, minidisk access without the need for a minidisk<br />

password will be achieved only when a minidisk read, write, or multiple<br />

password of “ALL” is in effect for a minidisk. Otherwise, minidisk access will<br />

only be provided when you use the ACCT subcommand to provide a suitable<br />

minidisk password.<br />

You can specify the *dev.null directory for testing throughput. If *dev.null is<br />

specified, the PUT and MPUT subcommands transfer data to the foreign host,<br />

but do not store the data at the foreign host. The GET and MGET subcommands<br />

use the working directory that was in effect before the CD *dev.null command.<br />

Chapter 2. Transferring Files Using FTP 45


FTP Subcommands<br />

CDUP<br />

Use the CDUP subcommand to change the working directory to the parent<br />

directory on the foreign host. The CDUP command is a special case of the CD<br />

command. It is included to simplify the implementation of programs for<br />

transferring files between operating systems that use differing directory naming<br />

conventions. The reply codes are identical to the reply codes for the CD command.<br />

CDUP works for only one level at a time and is executed only if the current<br />

directory is an SFS or a BFS directory.<br />

Note: You can also use the “..” operand of the CD subcommand to change the<br />

working directory to the parent directory.<br />

►► CDUp ►◄<br />

Operands<br />

The CDUP subcommand has no parameters.<br />

CLOSE<br />

Use the CLOSE subcommand to disconnect from the foreign host.<br />

►► CLose ►◄<br />

Operands<br />

The CLOSE subcommand has no parameters.<br />

Usage Notes<br />

v<br />

CLOSE does not end FTP processing, therefore you can use the OPEN<br />

subcommand to establish a new session.<br />

CMS<br />

Use the CMS subcommand to pass a CP or CMS command to the local z/<strong>VM</strong><br />

system.<br />

►► CMs command ►◄<br />

Operands<br />

Usage Notes<br />

command<br />

Specifies a CMS or CP command.<br />

v<br />

The CMS subcommand can be used to perform regular <strong>VM</strong> CMS functions such<br />

as checking your file list.<br />

46 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


FTP Subcommands<br />

DEBUG<br />

Use the DEBUG subcommand to enable or disable the internal debugging option.<br />

►► DEBug ►◄<br />

Operands<br />

The DEBUG subcommand has no parameters.<br />

Usage Notes<br />

v<br />

v<br />

DEBUG acts as a toggle that turns the debugging option on or off. The DEBUG<br />

subcommand is ON, initially, if the TRACE parameter was specified on the FTP<br />

command. The DEBUG subcommand is OFF if the TRACE parameter was not<br />

specified.<br />

The DEBUG subcommand is intended to aid in problem diagnosis. When<br />

DEBUG is ON, FTP displays tracing information, in addition to the commands<br />

sent to the foreign host and the responses received from that host.<br />

DELETE<br />

Use the DELETE subcommand to delete a file specified in the path name at the<br />

foreign host.<br />

►► DELEte foreignfile<br />

spoolid . filename . filetype<br />

►◄<br />

Operands<br />

foreignfile<br />

The foreign host file to be deleted. For information about how to specify<br />

foreignfile see “File Name Formats” on page 30.<br />

spoolid<br />

The system-assigned number of the spool file to be deleted; spoolid is valid<br />

only when the working directory on the foreign host is a z/<strong>VM</strong> virtual reader<br />

(RDR). When a spoolid is specified, the filename and filetype associated with that<br />

spool file can optionally be included, though these values are not used by the<br />

FTP server.<br />

DELIMIT<br />

Use the DELIMIT subcommand to display the character that is used as the<br />

delimiter between the filename and the filetype.<br />

►► DELImit ►◄<br />

Chapter 2. Transferring Files Using FTP 47


FTP Subcommands<br />

Operands<br />

The DELIMIT subcommand has no parameters and should be used for<br />

informational purposes only.<br />

Examples<br />

v<br />

Response displayed after invoking the DELIMIT subcommand:<br />

File delimiter is ’.’<br />

Command:<br />

DIR<br />

Use the DIR subcommand to get a list of directory entries or a list of files in a file<br />

group on the foreign host.<br />

►►<br />

DIr<br />

name<br />

.<br />

..<br />

(─DISK<br />

►◄<br />

Operands<br />

Usage Notes<br />

name<br />

The name of the directory or file group on the foreign host for which files<br />

should be listed. If name is omitted, all directory entries or files for the current<br />

working directory or file group are listed. For information about how to<br />

specify name, see the “Usage Notes” for this subcommand and “File Name<br />

Formats” on page 30.<br />

To select which directory or file group is current, use the CD subcommand; for<br />

more information about this subcommand, see “CD or CWD” on page 42.<br />

. Specifies that list information should be returned for the current working<br />

directory. For z/<strong>VM</strong> hosts, this operand is recognized in this manner only<br />

when SFS or BFS directories are referenced. For other z/<strong>VM</strong> resources,<br />

responses are returned as if no operand had been specified.<br />

.. Specifies that list information should be returned for the parent directory of the<br />

current working directory. For z/<strong>VM</strong> hosts, this operand is recognized in this<br />

manner only when SFS or BFS directories are referenced. For other z/<strong>VM</strong><br />

resources, responses are returned as if no operand had been specified.<br />

DISK<br />

Stores the results of the DIR subcommand in file FTP DIROUTP, on the current<br />

local working directory. DIR subcommand results are not displayed when this<br />

operand is used.<br />

v<br />

For z/<strong>VM</strong> hosts that support list format selection, the response to the DIR<br />

subcommand can differ, based on the list format that is specified for the current<br />

session. If a list format of UNIX is specified, the server responds with a<br />

Unix-format list; otherwise, the response is a <strong>VM</strong>-format (<strong>VM</strong>) list.<br />

For more information about <strong>VM</strong>-format and Unix-format responses to the DIR<br />

subcommand, see “File List Formats” on page 23.<br />

48 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


FTP Subcommands<br />

v<br />

v<br />

v<br />

v<br />

v<br />

For more information about controlling the type of list format used for an FTP<br />

session, see the description of the “SITE” subcommand, refer to “SITE” on<br />

page 68.<br />

The DIR subcommand provides a complete list of directory and file entries that<br />

includes auxiliary information about those entries. To get a list that contains only<br />

the names of files present in the directory, use the LS subcommand. For more<br />

information, see “LS” on page 55.<br />

If the DIR subcommand is issued for a BFS directory that contains other than<br />

regular BFS files, a vm; foreign host may return an error response that indicates<br />

a BFS directory error has occurred.<br />

For z/<strong>VM</strong> foreign hosts, pattern matching can be used to specify a subset of files<br />

about which information is returned. For more information, see “File Name<br />

Pattern Matching” on page 31.<br />

z/<strong>VM</strong> hosts do not support pattern matching for BFS files and directories.<br />

If the working directory on the foreign host is a z/<strong>VM</strong> virtual reader (RDR) and<br />

<strong>VM</strong>-format lists are in use, pattern matching using the name operand is possible.<br />

When used, matching is performed against all reader-specific fields in unison<br />

(that is, data is returned for a reader file when a match is found for any field).<br />

Examples<br />

v<br />

v<br />

A sample <strong>VM</strong>-format (<strong>VM</strong>) list response for a minidisk working directory<br />

follows:<br />

dir<br />

>>>PORT 129,34,128,246,13,134<br />

200 Port request OK<br />

>>>LIST<br />

125 List started OK<br />

ALTTEST EXEC V 36 12 1 2000-03-18 10:28:52 MKW191<br />

LASTING GLOBALV V 48 5 1 2000-03-18 16:13:45 MKW191<br />

PROFILE EXEC V 76 42 1 1998-12-08 13:44:42 MKW191<br />

TEST DATA F 80 1 1 2000-03-17 8:57:33 MKW191<br />

TEST EXEC V 36 12 1 2000-03-17 10:30:39 MKW191<br />

TEST1 INFO F 80 133 3 2000-03-18 13:28:39 MKW191<br />

250 List completed successfully<br />

Command:<br />

A sample Unix-format (UNIX) list response, for the same directory as in the<br />

previous example, follows:<br />

dir<br />

>>>PORT 129,34,128,246,13,134<br />

200 Port request OK<br />

>>>LIST<br />

125 List started OK<br />

-rwx---r-x 1 MIKEW <strong>TCP</strong><strong>IP</strong>DEV 432 Mar 18 10:28 ALTTEST.EXEC<br />

-rwx---r-x 1 MIKEW <strong>TCP</strong><strong>IP</strong>DEV 240 Mar 18 16:13 LASTING.GLOBALV<br />

-rwx---r-x 1 MIKEW <strong>TCP</strong><strong>IP</strong>DEV 3192 Dec 8 1998 PROFILE.EXEC<br />

-rwx---r-x 1 MIKEW <strong>TCP</strong><strong>IP</strong>DEV 80 Mar 17 8:57 TEST.DATA<br />

-rwx---r-x 1 MIKEW <strong>TCP</strong><strong>IP</strong>DEV 432 Mar 17 10:30 TEST.EXEC<br />

-rwx---r-x 1 MIKEW <strong>TCP</strong><strong>IP</strong>DEV 10640 Mar 18 13:28 TEST1.INFO<br />

250 List completed successfully<br />

Command:<br />

EBCDIC<br />

Use the EBCDIC subcommand to change the file transfer type to EBCDIC.<br />

Chapter 2. Transferring Files Using FTP 49


FTP Subcommands<br />

►► EBcdic ►◄<br />

Operands<br />

The EBCDIC subcommand has no parameters.<br />

Usage Notes<br />

v<br />

The EBCDIC transfer type is used to transfer files to or from another EBCDIC<br />

host. For more information about file transfer methods, see Table 4 on page 34.<br />

EUCKANJI<br />

Use the EUCKANJI subcommand to change the file transfer type to Extended<br />

UNIX Code (EUC) Kanji.<br />

►►<br />

EUckanji<br />

(─NOTYPE<br />

►◄<br />

Operands<br />

NOTYPE<br />

Used when connecting to an FTP server that does not support the TYPE<br />

command generated by this TYPE command alias. See Appendix D, “Using<br />

DBCS with FTP and Mail” on page 301 for more information.<br />

GET<br />

Use the GET subcommand to transfer a file from a foreign host to the local host.<br />

►► Get foreignfile<br />

localfile<br />

(─REPLACE<br />

►◄<br />

Operands<br />

foreignfile<br />

The foreign host file to be retrieved. For information about how to specify<br />

foreignfile see “File Name Formats” on page 30.<br />

localfile<br />

The name of the local file to be created. For information about how to specify<br />

localfile, see the “Usage Notes” for this subcommand and “File Name Formats”<br />

on page 30.<br />

REPLACE<br />

Causes any localfile that already exists to be overwritten with the content of the<br />

foreignfile that is retrieved. If localfile already exists and the REPLACE operand<br />

50 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Usage Notes<br />

v<br />

v<br />

v<br />

v<br />

v<br />

FTP Subcommands<br />

is not specified, FTP does not overwrite the existing file; it instead issues an<br />

informational message that identifies the existing file.<br />

To retrieve a file from a foreign host, a working directory must be established<br />

for which you have at least “read” privilege. For more information, see the<br />

description of the subcommands “ACCT” on page 40 and “CD or CWD” on<br />

page 42 for more information.<br />

The localfile is created at the local working directory by default — that is, when a<br />

file mode is not specified or is specified as an asterisk (*).<br />

If localfile is not specified, FTP attempts to create a file that is named to match<br />

that of the retrieved foreign file (with measures taken to meet z/<strong>VM</strong> file naming<br />

conventions and restrictions). Thus, if foreignfile is a BFS file, localfile should be<br />

explicitly specified, since the default file name produced may not be as expected.<br />

If the foreign file is named using a Unix or Unix-like format, the localfile name<br />

and type are derived from that part of the foreignfile name that follows the<br />

right-most slash (/) that is present.<br />

The retrieval of a foreign file directly to a BFS directory is not supported by the<br />

CMS FTP client. However, this can be accomplished with a two-step process.<br />

First, use the FTP GET subcommand to retrieve the file to a local SFS directory<br />

or minidisk; then, use the CMS OPEN<strong>VM</strong> PUTBFS command to copy that file to<br />

its final location.<br />

HANGEUL<br />

Use the HANGEUL subcommand to change the file transfer type to Hangeul.<br />

►►<br />

HAngeul<br />

(─NOTYPE<br />

►◄<br />

Operands<br />

NOTYPE<br />

Used when connecting to an FTP server that does not support the TYPE<br />

command generated by this TYPE command alias. See Appendix D, “Using<br />

DBCS with FTP and Mail” on page 301 for more information.<br />

HELP<br />

Use the HELP subcommand to get help with FTP subcommands.<br />

►►<br />

Help<br />

?<br />

ALL<br />

subcommand<br />

SERVER<br />

subcommand<br />

►◄<br />

Chapter 2. Transferring Files Using FTP 51


FTP Subcommands<br />

Operands<br />

Usage Notes<br />

? Provides information about how to use FTP.<br />

ALL<br />

Displays a description of all subcommands.<br />

subcommand<br />

Specifies the name of the subcommand. The subcommand can be abbreviated to<br />

its minimum abbreviation.<br />

SERVER<br />

Displays the help offered by the foreign host for the internal FTP commands.<br />

v<br />

If you enter the HELP subcommand without a parameter, you see the HELP FTP<br />

MENU, which lists the subcommands and a description of the help information<br />

available. If you enter the ? subcommand without a parameter, you see<br />

information about how to use the subcommands.<br />

<strong>IBM</strong>KANJI<br />

Use the <strong>IBM</strong>KANJI subcommand to change the file transfer type to <strong>IBM</strong> Kanji.<br />

►►<br />

Ibmkanji<br />

(─NOTYPE<br />

►◄<br />

Operands<br />

NOTYPE<br />

Used when connecting to an FTP server that does not support the TYPE<br />

command generated by this TYPE command alias. See Appendix D, “Using<br />

DBCS with FTP and Mail” on page 301 for more information.<br />

This option usually causes no conversion to be performed on the transferred file.<br />

This option has exactly the same effect as the EBCDIC TYPE command alias.<br />

JIS78KJ<br />

Use the JIS78KJ subcommand to change the file transfer type to JIS78KJ (1978<br />

edition).<br />

►►<br />

JIS78kj<br />

(<br />

ASCII<br />

JISROMAN<br />

NOTYPE<br />

►◄<br />

Operands<br />

ASCII<br />

Use ASCII shift-in escape sequence ESC(B<br />

52 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


FTP Subcommands<br />

JISROMAN<br />

Use JISROMAN shift-in escape sequence ESC(J<br />

NOTYPE<br />

Used when connecting to an FTP server that does not support the TYPE<br />

command generated by this TYPE command alias. See Appendix D, “Using<br />

DBCS with FTP and Mail” on page 301 for more information.<br />

If neither ASCII nor JISROMAN is specified, then the ASCII shift-in sequence will<br />

be used.<br />

JIS83KJ<br />

Use the JIS83KJ subcommand to change the file transfer type to JIS83KJ (1983<br />

edition).<br />

►►<br />

JIS83kj<br />

(<br />

ASCII<br />

JISROMAN<br />

NOTYPE<br />

►◄<br />

Operands<br />

ASCII<br />

Use ASCII shift-in escape sequence ESC(B<br />

JISROMAN<br />

Use JISROMAN shift-in escape sequence ESC(J<br />

NOTYPE<br />

Used when connecting to an FTP server that does not support the TYPE<br />

command generated by this TYPE command alias. See Appendix D, “Using<br />

DBCS with FTP and Mail” on page 301 for more information.<br />

If neither ASCII nor JISROMAN is specified, then the ASCII shift-in sequence will<br />

be used.<br />

KSC5601<br />

Use the KSC5601 subcommand to change the file transfer type to KSC-5601.<br />

►►<br />

Ksc5601<br />

(─NOTYPE<br />

►◄<br />

Operands<br />

NOTYPE<br />

Used when connecting to an FTP server that does not support the TYPE<br />

command generated by this TYPE command alias. See Appendix D, “Using<br />

DBCS with FTP and Mail” on page 301 for more information.<br />

LCD<br />

Use the LCD subcommand to change the working directory on the local host.<br />

Chapter 2. Transferring Files Using FTP 53


FTP Subcommands<br />

►► LCd directory ►◄<br />

Operands<br />

Examples<br />

Usage Notes<br />

directory<br />

The CMS file mode of an accessed minidisk or SFS directory to be used as the<br />

current working directory on the local host.<br />

v<br />

v<br />

Response displayed after invoking the LCD subcommand:<br />

Local directory mode is ’Z’<br />

Command:<br />

LCD to a BFS directory is not supported by <strong>TCP</strong>/<strong>IP</strong>.<br />

LOCSITE<br />

Use the LOCSITE subcommand to change the record format and record length<br />

used for files created on the local host.<br />

►► LOCSIte Varrecfm<br />

Fixrecfmrecord_length<br />

►◄<br />

Operands<br />

Varrecfm<br />

Specifies that the variable record format is to be used.<br />

Fixrecfm record_length<br />

Specifies that the fixed-record format is to be used. The parameter record_length<br />

specifies the record length for fixed records.<br />

LOCSTAT<br />

Use the LOCSTAT subcommand to display local status information.<br />

►► LOCSTat ►◄<br />

Operands<br />

The LOCSTAT subcommand has no parameters.<br />

The following status information is displayed:<br />

v<br />

Value of the TRACE flag (set using the FTP command or the DEBUG<br />

subcommand)<br />

54 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


|<br />

v<br />

v<br />

v<br />

v<br />

v<br />

v<br />

v<br />

v<br />

v<br />

v<br />

FTP Subcommands<br />

SENDPORT setting (true or false)<br />

SENDSITE setting (true or false)<br />

Name, port number, and logon status of the foreign host<br />

Port number of the local host<br />

FTP data type (ASCII, EBCDIC, or Image) and transfer mode (block or stream)<br />

Record format (fixed or variable) and record length (for fixed record format)<br />

Translate table used by the client<br />

NETRC DATA file usage setting (true or false)<br />

Logon prompt setting (true or false)<br />

Console Width setting<br />

|<br />

Examples<br />

v<br />

Information displayed after invoking the LOCSTAT subcommand:<br />

Trace:FALSE, Send Port:TRUE<br />

Use NETRC DATA File:TRUE, Logon Prompting:TRUE<br />

Send Site with Put command:TRUE<br />

Connected to:YKT<strong>VM</strong>X, Port:FTP control (21), logged in<br />

Local Port:3452<br />

Data type:a, Transfer mode:s<br />

Record format:V<br />

Translate Table: STANDARD<br />

User Specified Translate Table: POSIX<br />

Console Width: 80<br />

Command:<br />

LPWD<br />

Use the LPWD subcommand to display the name of the current working directory<br />

on the local host.<br />

►► LPwd ►◄<br />

Operands<br />

The LPWD subcommand has no parameters.<br />

Examples<br />

The following is an example of the response displayed as the result of the LPWD<br />

command.<br />

Local directory is ’Z’<br />

Command:<br />

LS<br />

Use the LS subcommand to list only the name(s) of a set of foreign files, file group,<br />

or directory.<br />

Chapter 2. Transferring Files Using FTP 55


FTP Subcommands<br />

►►<br />

LS<br />

name<br />

.<br />

..<br />

(─DISK<br />

►◄<br />

Operands<br />

Usage Notes<br />

name<br />

The name of the directory or file group on the foreign host for which files<br />

should be listed. If name is omitted, all directory entries or files for the current<br />

working directory or file group are listed. For information about how to<br />

specify name, see the “Usage Notes” for this subcommand and “File Name<br />

Formats” on page 30.<br />

To select which directory or file group is current, use the CD subcommand. For<br />

more information see “CD or CWD” on page 42.<br />

. Specifies that list information should be returned for the current working<br />

directory. For z/<strong>VM</strong> hosts, this operand is recognized in this manner only<br />

when SFS or BFS directories are referenced. For other z/<strong>VM</strong> resources,<br />

responses are returned as if no operand had been specified.<br />

.. Specifies that list information should be returned for the parent directory of the<br />

current working directory. For z/<strong>VM</strong> hosts, this operand is recognized in this<br />

manner only when SFS or BFS directories are referenced. For other z/<strong>VM</strong><br />

resources, responses are returned as if no operand had been specified.<br />

DISK<br />

Stores the results of the DIR subcommand in file FTP LSOUTPUT, on the<br />

current local working directory. DIR subcommand results are not displayed<br />

when this operand is used.<br />

v<br />

v<br />

v<br />

v<br />

The LS subcommand provides a list of directory and file names only. To obtain a<br />

list of directory and file entries that includes auxiliary information about those<br />

entries, use the DIR subcommand. For more information, see “DIR” on page 48.<br />

For a given z/<strong>VM</strong> file system group, the response returned for an LS<br />

subcommand, regardless of whether <strong>VM</strong>-format or Unix-format lists are in use,<br />

is the same.<br />

If the LS subcommand is issued for a BFS directory that contains other than<br />

regular BFS files, a z/<strong>VM</strong> foreign host may return an error response that<br />

indicates a BFS directory error has occurred.<br />

For z/<strong>VM</strong> foreign hosts, pattern matching can be used to specify a subset of files<br />

about which information is returned. For more information see “File Name<br />

Pattern Matching” on page 31.<br />

Note: z/<strong>VM</strong> hosts do not support pattern matching for BFS files and directories.<br />

Examples<br />

A sample response to an LS subcommand follows. In this example, pattern<br />

matching has been used to obtain a list of only those files for which the file name<br />

begins with a “T”:<br />

56 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


FTP Subcommands<br />

Command:<br />

ls t*<br />

>>>PORT 9,117,32,30,4,53<br />

200 Port request OK.<br />

>>>LIST<br />

125 List started OK<br />

<strong>TCP</strong><strong>IP</strong>.DATA<br />

<strong>TCP</strong>MNT2.NETLOG<br />

<strong>TCP</strong>MNT2.SYNONYM<br />

<strong>TCP</strong>SLVL.EXEC<br />

TEST.EXEC<br />

TESTFTPB.EXEC<br />

TRACE2.<strong>TCP</strong><strong>IP</strong><br />

250 List completed successfully.<br />

Command:<br />

A sample LS response for a z/<strong>VM</strong> virtual reader working directory is shown here:<br />

Command:<br />

ls<br />

>>>PORT 9,117,32,29,10,213<br />

200 Port request OK.<br />

>>>LIST<br />

125 List started OK<br />

0013.CIBULAPR.MAIL<br />

0154.FL3XSAMP.TXT<br />

0116.<strong>TCP</strong>-HELP.LIST3820<br />

0115.<strong>TCP</strong>-OVER.LIST3820<br />

0153.FL32SAMP.TXT<br />

0214.CIBULAMA.MAIL<br />

250 List completed successfully.<br />

Command:<br />

MDELETE<br />

Use the MDELETE subcommand to delete multiple files on the foreign host.<br />

►►<br />

▼<br />

MDelete foreignfile ►◄<br />

Operands<br />

Usage Notes<br />

foreignfile<br />

A foreign host file or file group to be deleted. For information about how to<br />

specify foreignfile see “File Name Formats” on page 30.<br />

v<br />

v<br />

For z/<strong>VM</strong> foreign hosts, pattern matching can be used to specify a subset of files<br />

to be deleted. For more information, see “File Name Pattern Matching” on<br />

page 31.<br />

To delete multiple files to which pattern matching cannot be applied, repeat<br />

foreignfile as necessary, with each foreignfile specification separated by at least one<br />

space.<br />

Chapter 2. Transferring Files Using FTP 57


FTP Subcommands<br />

MGET<br />

Use the MGET subcommand to transfer a file or group of files from a foreign host.<br />

►►<br />

MGet<br />

▼<br />

foreignfile<br />

(─REPLACE<br />

►◄<br />

Operands<br />

Usage Notes<br />

foreignfile<br />

A foreign host file or file group to be retrieved. For information about how to<br />

specify foreignfile see “File Name Formats” on page 30.<br />

REPLACE<br />

Causes an existing local file of the same name as foreignfile to be overwritten<br />

with the content of a corresponding foreignfile that is retrieved. If the local file<br />

already exists and the REPLACE operand is not specified, FTP does not<br />

overwrite the existing file; it instead issues an informational message that<br />

identifies the existing file.<br />

v<br />

v<br />

v<br />

v<br />

To retrieve files from a foreign host, a working directory must be established for<br />

which you have at least “read” privilege. For more information, see the<br />

subcommands “ACCT” on page 40 and “CD or CWD” on page 42.<br />

For z/<strong>VM</strong> foreign hosts, pattern matching can be used to specify a subset of files<br />

to be retrieved. For more information, see “File Name Pattern Matching” on<br />

page 31.<br />

To retrieve multiple files to which pattern matching cannot be applied, repeat<br />

foreignfile as necessary, with each foreignfile specification separated by at least one<br />

space.<br />

The MGET subcommand creates local files in the same manner as those created<br />

(on a single-file basis) when the GET subcommand is used. For more<br />

information, see the GET subcommand “Usage Notes” on page 51.<br />

MKDIR<br />

Use the MKDIR subcommand to create a new directory on the foreign host.<br />

►► MKdir directory ►◄<br />

Operands<br />

directory<br />

The name of the new directory to be created. The directory specified can be a<br />

fully-qualified SFS name, just an SFS directory name (without a specified<br />

filepool), a fully-qualified BFS name, or a BFS subdirectory name.<br />

58 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Usage Notes<br />

FTP Subcommands<br />

v Because of the way FTP handles searches, avoid naming any SFS or BFS<br />

subdirectories with the same name as a CMS minidisk that you might want to<br />

access using FTP.<br />

v MKDIR is allowed for the owner of the root directory where the new directory<br />

is to be created, or for SFS administrators and BFS super users. The POSIX and<br />

SFS permissions associated with the user ID you supply with the USER<br />

subcommand determine what directories can be created using the MKDIR<br />

command.<br />

General SFS users can create directories only in their own filespace. For BFS<br />

users, the POSIX permission checking performed by native BFS support<br />

determines whether the MKDIR can be done. An SFS file pool administrator or<br />

BFS super user has authorization to create directories for anyone enrolled in a<br />

filepool. The FTPSERVE machine is an SFS file pool administrator and a BFS<br />

super user, therefore inheriting all of the privileges of the registered user ID. See<br />

<strong>TCP</strong>/<strong>IP</strong> Planning and Customization for more details.<br />

v You must CD to an existing SFS or BFS directory before you can issue MKDIR.<br />

v The <strong>VM</strong> FTP server initially creates an SFS file control directory. To change the<br />

SFS directory to Dircontrol, issue the SITE DIRATTR dirid DIRControl command.<br />

See the SITE command for more information.<br />

For more information on SFS naming conventions, see the z/<strong>VM</strong>: CMS User’s <strong>Guide</strong><br />

or the z/<strong>VM</strong>: SFS and CRR Planning, Administration, and Operation book.<br />

MODE<br />

Use the MODE subcommand to define how bits of data are to be transmitted,<br />

setting the mode (data format for the file transfer).<br />

►►<br />

MOde<br />

S<br />

B<br />

►◄<br />

Operands<br />

S<br />

B<br />

Sets stream mode. Stream mode is the default transfer mode. In stream mode,<br />

data is transmitted as a stream of bytes. Any representation type can be used<br />

with stream mode. Stream mode is more efficient, because data block<br />

information is not transferred.<br />

Sets block mode. In block mode, data is transmitted as a series of data blocks,<br />

preceded by one or more header bytes. Block mode allows the transfer of<br />

binary data and preserves the logical record boundaries of the file.<br />

See Table 4 on page 34 for more information about file transfer methods.<br />

MPUT<br />

Use the MPUT subcommand to transfer a file or group of files to a foreign host.<br />

Chapter 2. Transferring Files Using FTP 59


FTP Subcommands<br />

►►<br />

▼ MPut localfile ►◄<br />

Operands<br />

Usage Notes<br />

localfile<br />

A local file or file group on the local host to be transferred to the foreign host.<br />

For information about how to specify foreignfile see “File Name Formats” on<br />

page 30.<br />

v<br />

v<br />

v<br />

v<br />

To transfer files to a foreign host, a working directory must be established for<br />

which you have at least “write” privilege. For more information see the<br />

subcommands “ACCT” on page 40 and “CD or CWD” on page 42.<br />

For z/<strong>VM</strong> foreign hosts, pattern matching can be used to specify a subset of<br />

local files to be transferred. For more information see “File Name Pattern<br />

Matching” on page 31.<br />

To transfer multiple files to which pattern matching cannot be applied, repeat<br />

localfile as necessary, with each localfile specification separated by at least one<br />

space or blank.<br />

The MPUT subcommand creates foreign files in the same manner as those<br />

created (on a single file basis) when the PUT subcommand is used. For more<br />

information see the Usage Notes for “PUT” on page 63.<br />

NETRC<br />

Use the NETRC subcommand to enable or disable automatic logon capability<br />

through use of a NETRC DATA file.<br />

►► NEtrc ►◄<br />

Operands<br />

The NETRC subcommand has no parameters.<br />

Usage Notes<br />

v<br />

The NETRC subcommand acts as a toggle that enables or disables FTP’s use of a<br />

NETRC DATA file. This file allows you to maintain logon user name and<br />

password information for specific hosts; when you connect to such a host, login<br />

is performed automatically, using the values defined in this file. For more<br />

information see “The NETRC DATA File” on page 19.<br />

NOOP<br />

Use the NOOP subcommand to determine if the foreign host is still responding.<br />

60 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


FTP Subcommands<br />

►► NOop ►◄<br />

Operands<br />

The NOOP subcommand has no parameters.<br />

Usage Notes<br />

v<br />

If the foreign host is responding, you receive one of the following responses.<br />

200 OK<br />

or<br />

200 NOOP command successful<br />

You are prompted for the next FTP subcommand after the message is displayed,<br />

unless the EXIT parameter of the FTP command is active.<br />

OPEN<br />

Use the OPEN subcommand to open a connection to the foreign host’s FTP server<br />

when:<br />

v<br />

v<br />

You want to open another connection after closing one without leaving the FTP<br />

subcommand environment<br />

You were unable to open a connection after specifying a foreign_host with the<br />

FTP command<br />

►►<br />

Open<br />

host_name<br />

21<br />

port_number<br />

►◄<br />

Operands<br />

Usage Notes<br />

host_name<br />

The host name or internet address of the foreign host.<br />

port_number<br />

A port on the foreign host. The default is port 21, which is also known as a<br />

well-known port.<br />

v<br />

v<br />

If you are already connected to a foreign host, you must disconnect from the<br />

foreign host before you can connect to a different host with the OPEN<br />

subcommand. For more information about closing a connection, see “CLOSE” on<br />

page 46.<br />

If a NETRC DATA file is in use and a valid match is found for the specified host<br />

name, that host’s user name and password will be used to automatically logon<br />

to that host. If no match is found, or if the use of a NETRC DATA file is<br />

suppressed, automatic login will not occur; a subsequent USER subcommand<br />

must be issued in order to logon to the foreign host.<br />

Chapter 2. Transferring Files Using FTP 61


|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

FTP Subcommands<br />

PASS<br />

Examples<br />

In this example, a CLOSE subcommand is used to terminate the FTP connection<br />

that is currently active, and an OPEN subcommand is then used to establish a<br />

connection with the GDL<strong>VM</strong>K4 host.<br />

Command:<br />

close<br />

>>>QUIT<br />

221 Quit command received. Goodbye.<br />

Command:<br />

open gdlvmk4<br />

Connecting to gdlvmk4 9.130.48.75, port 21<br />

220-FTPSERVE <strong>IBM</strong> <strong>VM</strong> Level 420 at GDL<strong>VM</strong>K4.<strong>VM</strong>TEST.ENDICOTT.<strong>IBM</strong>.,<br />

15:02:07 EST THURSDAY 2001-12-13<br />

220 Connection will close if idle for more than 5 minutes.<br />

Command:<br />

teri<br />

>>>USER teri<br />

331 Send password please.<br />

Password:<br />

>>>PASS ********<br />

230-TERI logged in; working directory = TERI 191 (ReadOnly)<br />

230 write access currently unavailable<br />

Command:<br />

Use the PASS subcommand to supply a login password to a foreign host (if one is<br />

required by that host) in order to validate the identity of a previously supplied<br />

login user name.<br />

►► PAss password ►◄<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

PASSIVE<br />

Operands<br />

password<br />

The logon password to be used on the foreign host. If you supply an incorrect<br />

password, you are not prompted to enter the password again. You must<br />

instead issue a USER subcommand and again identify yourself to the remote<br />

host before you can supply the correct password using another PASS<br />

subcommand.<br />

Use the PASSIVE command to control whether the client or the server establishes<br />

connections for data transfers.<br />

►► PASSIve ►◄<br />

Operands<br />

The PASSIVE subcommand has no parameters.<br />

62 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

Usage Notes<br />

v<br />

v<br />

FTP Subcommands<br />

By default, passive data transfers are turned off when you start FTP. Each time<br />

you use the PASSIVE subcommand, data transfers are turned on and off<br />

alternately. If PASSIVE is on, the FTP client sends the server a PASV command<br />

and uses the response to determine which address and port to use when<br />

establishing the data transfer connection with the server. If PASSIVE is off, the<br />

client sends the server a PORT command (if the SENDPORT subcomand is on)<br />

containing the address and port the server should use to establish the data<br />

connection with the client.<br />

Passive data transfer may enable the use of FTP through a firewall that does not<br />

allow incoming connections.<br />

PUT<br />

Use the PUT subcommand to transfer a file from the local host to a foreign host.<br />

►► PUt localfile<br />

foreignfile<br />

►◄<br />

Operands<br />

Usage Notes<br />

localfile<br />

A file on the local host that is to be transferred to and created on the foreign<br />

host. For information about how to specify localfile see “File Name Formats” on<br />

page 30.<br />

foreignfile<br />

The foreign host file to be created. For information about how to specify<br />

foreignfile see “File Name Formats” on page 30.<br />

v<br />

v<br />

v<br />

v<br />

v<br />

To transfer files to a foreign host, a working directory must be established for<br />

which you have at least “write” privilege. For more information, see the<br />

subcommands “ACCT” on page 40 and “CD or CWD” on page 42.<br />

If a file mode is not specified for the localfile, the file mode of the local working<br />

directory is first searched for this file; if found, this localfile is sent to the foreign<br />

host. If the localfile is not found at the local working directory, the first such file<br />

present in the CMS search order is transferred.<br />

In general, if a foreign host file already exists that matches the name of the<br />

transferred localfile, the existing foreign host file is replaced; this is the case for<br />

z/<strong>VM</strong> foreign hosts. For non-z/<strong>VM</strong> hosts, whether a foreign file is automatically<br />

replaced is dependent on the storage method used by that host.<br />

The “SUNIQUE” subcommand can be used to avoid overwriting a file that<br />

already exists on a foreign host. See “SUNIQUE” on page 71 for more<br />

information.<br />

Attempts to create the same foreign host file at a given time through different<br />

FTP connections may produce unexpected results. Some hosts may reply with a<br />

message that indicates a PUT or MPUT request should be resubmitted when<br />

such a condition is encountered.<br />

For z/<strong>VM</strong> hosts, when a transfer type of Image is used and the working<br />

directory on the foreign host is a minidisk or SFS directory, files are stored as<br />

Chapter 2. Transferring Files Using FTP 63


FTP Subcommands<br />

v<br />

v<br />

variable-record (V) format files by default. To have files stored as fixed-record<br />

(F) format files for an Image mode transfer to these file system groups, do the<br />

following:<br />

1. Issue the SENDSITE subcommand to prevent SITE subcommands from being<br />

automatically issued for any PUT (or MPUT) subcommands that will be<br />

issued.<br />

2. Issue the SITE FIXRECM nn command to set the record length to be used<br />

when files are created.<br />

When an image file is stored on a z/<strong>VM</strong> foreign host as a fixed-record (F)<br />

format file, the last record of that file can be incomplete (that is, data stored<br />

using the last record does not consume the entire record). In such a case, this<br />

last record is padded with zeros (0).<br />

The transfer of a local file that resides in a BFS directory is not supported by the<br />

CMS FTP client. However, this can be accomplished with a two-step process.<br />

First, use the CMS OPEN<strong>VM</strong> GETBFS command to copy that file from the BFS<br />

directory where it resides to a local SFS directory or minidisk; then, after this<br />

SFS directory or minidisk is established as the current local directory, issue the<br />

FTP PUT subcommand to transfer the file to the foreign host.<br />

PWD<br />

Use the PWD subcommand to display the name of the current working directory<br />

on the foreign host.<br />

►► PWd ►◄<br />

Operands<br />

The PWD subcommand has no parameters.<br />

Examples<br />

v<br />

v<br />

v<br />

v<br />

The following is an example of the information displayed after invoking the<br />

PWD subcommand if the current working directory is a minidisk.<br />

257 ’KRASIK1.0191’ is working directory<br />

Command:<br />

The following is an example of the information displayed after invoking the<br />

PWD subcommand if the current working directory is an SFS directory.<br />

257 ’SERVER1:KRAS1’ is working directory<br />

Command:<br />

The following is a sample of the information displayed after invoking the PWD<br />

subcommand if the current working directory is a BFS directory.<br />

257 ’./../<strong>VM</strong>BFS:BFS:KRASIK1/’ is working directory<br />

Command:<br />

The following is a sample of the information displayed after invoking the PWD<br />

subcommand if the current working directory is a <strong>VM</strong> reader.<br />

257 "TERI.RDR" is working directory<br />

Command:<br />

64 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


FTP Subcommands<br />

QUIT<br />

Use the QUIT subcommand to disconnect from the foreign host and end FTP<br />

processing.<br />

►► QUIt ►◄<br />

Operands<br />

The QUIT subcommand has no parameters.<br />

QUOTE<br />

Use the QUOTE subcommand to send an uninterpreted string of data to the server<br />

port on the foreign host. The QUOTE subcommand bypasses the FTP interface of<br />

the local user to send commands that the foreign server understands, but the local<br />

host does not understand.<br />

►► QUOte string ►◄<br />

Operands<br />

Examples<br />

string<br />

Data to be sent verbatim to the port on the foreign host.<br />

v<br />

To send the ALLOcate subcommand to a non-<strong>VM</strong> foreign host that supports<br />

ALLOcate, enter:<br />

QUOTE ALLO bytes<br />

v<br />

Where:<br />

ALLO Is the FTP standard string for the ALLOcate subcommand.<br />

bytes Is the number of bytes to allocate.<br />

To send a password to the <strong>VM</strong> FTP server, enter:<br />

QUOTE ACCT password<br />

Usage Notes<br />

v<br />

In this example, the local host implements FTP in a way that does not support<br />

the ACCT subcommand, but the foreign host requires a password to obtain a<br />

write link to a minidisk.<br />

The QUOTE subcommand allows you to use commands that <strong>TCP</strong>/<strong>IP</strong> does not<br />

support, such as the FTP ALLOcate subcommand.<br />

RENAME<br />

Use the RENAME subcommand to rename a file on the foreign host.<br />

Chapter 2. Transferring Files Using FTP 65


FTP Subcommands<br />

►► REName foreignfile newfile ►◄<br />

Operands<br />

Usage Notes<br />

foreignfile<br />

The foreign host file that is to be renamed. For more information about how to<br />

specify foreignfile see “File Name Formats” on page 30.<br />

newfile<br />

The new name to be given to foreignfile For more information about how to<br />

specify newfile see “File Name Formats” on page 30.<br />

v<br />

v<br />

For a z/<strong>VM</strong> foreign host, the RENAME subcommand cannot be used to relocate<br />

a file; that is, an explicit directory change is not permitted when a file is<br />

renamed. Only files that reside in the current foreign host working directory can<br />

be renamed.<br />

Similarly, an existing CMS file cannot be replaced using this subcommand. For<br />

example, if a file named newfile already exists, that file, as well as the existing<br />

foreignfile are maintained without change when a RENAME operation is<br />

attempted. In such a case, an error reply is returned that indicates the RENAME<br />

operation has failed.<br />

For a non-z/<strong>VM</strong> foreign host, the RENAME subcommand may cause an existing<br />

file to be deleted. That is, if the files foreignfile and newfile already exist on the<br />

foreign host, the content of the existing newfile file can be lost when its name is<br />

assigned to foreignfile.<br />

RMDIR<br />

Use the RMDIR subcommand to remove a directory you own on a foreign host.<br />

►► RMdir directory ►◄<br />

Operands<br />

Usage Notes<br />

directory<br />

The name of the directory to be removed.<br />

v<br />

v<br />

Before issuing an RMDIR subcommand, the user ID identified in the USER<br />

subcommand must first be using SFS or BFS (have a working directory in some<br />

SFS or BFS directory).<br />

You cannot remove the current working directory. You must first change to a<br />

different directory, and then issue an RMDIR subcommand to remove the<br />

desired directory. Note that the usual restrictions regarding non-empty<br />

directories/subdirectories may prevent an RMDIR from being executed<br />

successfully. Refer to the CMS User’s <strong>Guide</strong> for further information.<br />

66 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


v<br />

FTP Subcommands<br />

The directory specified can be a fully-qualified SFS or BFS name or just an SFS<br />

or BFS directory name (without a specified file pool).<br />

SENDPORT<br />

Use the SENDPORT subcommand to toggle PORT commands.<br />

►► SENDPort ►◄<br />

Operands<br />

The SENDPORT subcommand has no parameters.<br />

|<br />

|<br />

|<br />

Usage Notes<br />

v<br />

v<br />

v<br />

v<br />

By default, the SENDPORT subcommand is turned on when you start the<br />

machine. Each time you use the SENDPORT subcommand, it is turned<br />

alternately on and off.<br />

FTP uses a PORT command by default when establishing a connection for each<br />

data transfer. FTP does not send PORT commands for data transfer when you<br />

use the SENDPORT subcommand to disable PORT commands.<br />

SENDPORT is useful for communication with FTP implementations that ignore<br />

PORT commands, but show (incorrectly) that the PORT command has been<br />

accepted.<br />

The SENDPORT setting is ignored when passive data transfer mode is<br />

established using the PASSIVE subcommand. This is because no PORT<br />

command is transmitted by the client in passive mode.<br />

SENDSITE<br />

Use the SENDSITE subcommand to toggle the sending of site information.<br />

►► SENDSIte ►◄<br />

Operands<br />

The SENDSITE subcommand has no parameters.<br />

Usage Notes<br />

v<br />

v<br />

v<br />

By default, the SENDSITE subcommand is turned on when you start FTP. Each<br />

time you use the SENDSITE subcommand, it is turned alternately on and off. If<br />

SENDSITE is on, site information is sent to the foreign host with the PUT or<br />

MPUT subcommands. If SENDSITE is off, no site information is sent.<br />

By default, FTP sends a SITE subcommand containing record format<br />

information, when you issue the PUT or MPUT subcommand. Record format<br />

information is used by <strong>VM</strong> and MVS foreign hosts.<br />

If the foreign host is non-<strong>VM</strong>, you can use the SENDSITE subcommand to<br />

prevent the record format information from being sent.<br />

Chapter 2. Transferring Files Using FTP 67


FTP Subcommands<br />

SITE<br />

Use the SITE subcommand to send information to a foreign host in order to make<br />

use of services which are specific to that system.<br />

►►<br />

Site<br />

operands<br />

►◄<br />

Notes:<br />

1. The recognition and validation of operands specified with the SITE subcommand<br />

is dependent on the foreign host.<br />

2. The handling of incorrect or extraneous operand information may vary from<br />

one host to another. Some hosts may respond with an error reply code when a<br />

SITE command is considered to be in error, whereas another host may simply<br />

ignore such a command.<br />

Operands<br />

SITE subcommand operands that are supported by the current function level z/<strong>VM</strong><br />

FTP server are described in this section. Some of these operands may not be<br />

supported by vm; hosts on which a prior function level is in use.<br />

AUTOTrans ON | OFF<br />

Specifies whether automatic EBCDIC-ASCII file translation, based on file<br />

extensions, is performed by a z/<strong>VM</strong> FTP server when files are transferred<br />

using the Image transfer type. Specify AUTOTRANS ON if automatic file<br />

translation should be performed, or AUTOTRANS OFF to prevent such<br />

translation. For more information about factors that affect file translation, see<br />

“Automatic File Translation” on page 35.<br />

DIRATtr dirid DIRControl | FILecontrol (options<br />

Sets the directory attribute of the SFS directory specified. See the CMS User’s<br />

<strong>Guide</strong> for a further explanation of available options.<br />

FIXrecfm record_length<br />

Specifies that the fixed-record format is to be used. The parameter record_length<br />

specifies the record length for fixed records.<br />

GRAnt AUTh fn ft dirid TO userid (options<br />

Grants authority for a user to a directory or files. userid can be a nickname in<br />

the FTP server’s NAMES files. See the CMS Command Reference for details of<br />

the GRANT AUTHORITY command.<br />

LISTFormat <strong>VM</strong> | UNIX<br />

Specifies the format to be used for file list information that is returned in<br />

response to DIR (or, LIST) subcommands. Specify LISTFORMAT <strong>VM</strong> for<br />

<strong>VM</strong>-format lists to be supplied by the FTP server, or LISTFORMAT UNIX if<br />

Unix-format lists should be returned. For more information about <strong>VM</strong>-format<br />

and Unix-format responses, see “File List Formats” on page 35.<br />

PERMit pathname mode_string (REPlace | ADD | REMove<br />

Issues an OPEN<strong>VM</strong> PERMIT command to change the permission bits used to<br />

control the owner access, group access, and general access to a BFS object.<br />

Pathname can be specified as a relative pathname or a fully-qualified pathname.<br />

To issue the SITE PERMIT command, you must be the owner of the BFS object<br />

68 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


or have the appropriate privileges. See the z/<strong>VM</strong>: OpenExtensions Command<br />

Reference for details of the OPEN<strong>VM</strong> PERMIT command.<br />

QAUTH fn ft<br />

Queries the authority of the current working directory or files in the directory.<br />

The fn and ft parameters are optional. If fn or ft is omitted, QAUTH returns the<br />

directory authority information. See the CMS Command Reference for details of<br />

the QUERY AUTHORITY command.<br />

QDIRattr dirid<br />

Returns the directory attribute of the SFS directory specified.<br />

QDISK<br />

Returns the disk information for the current working directory. If the current<br />

working directory is an SFS subdirectory, the information returned is the result<br />

of the CMS QUERY DISK and CMS QUERY LIMITS commands. If the current<br />

working directory is a BFS directory, the information returned is the result of<br />

the CMS QUERY LIMITS command. See the CMS Command Reference for details<br />

on the QUERY DISK and QUERY LIMITS commands.<br />

QPERMit pathname (OBJ<br />

Returns the output of the OPEN<strong>VM</strong> LISTFILE (OWNERS command for the<br />

current working directory, or for the specified pathname. Ifpathname is omitted<br />

the QPERMIT command returns information for the current working directory.<br />

The Pathname can be specified as a relative pathname or it can be fully<br />

qualified. OBJ is optional and if specified, will return the output of OPEN<strong>VM</strong><br />

LISTFILE (OWNERS OBJECT command for the current working directory or<br />

pathname. See the OpenEdition Command Reference for details of the OPEN<strong>VM</strong><br />

LISTFILE (OWNERS command.<br />

REVoke AUTh fn ft dirid FROM userid (options<br />

Revokes authority for a user to a directory or files. userid can be a nickname in<br />

the FTP server’s NAMES files. See the CMS Command Reference for details of<br />

the REVOKE AUTHORITY command.<br />

TRANslate filename<br />

XLATe filename<br />

Specifies the name of the translation table to use. The translation table specifies<br />

the name of an EBCDIC-ASCII translation table that is to be used for all<br />

subsequent ASCII file transfers. To use the default translation table, issue either<br />

a SITE XLATE or a SITE XLATE * command. The specified translation table<br />

must be a <strong>TCP</strong>XLBIN file available on the remote z/<strong>VM</strong> or OS/390 host. See<br />

<strong>TCP</strong>/<strong>IP</strong> Planning and Customization for further information on loading and<br />

customizing translation tables, as well as the ″Using Translation Tables″ chapter<br />

in this publication.<br />

VARrecfm<br />

Specifies that the variable-record format is to be used.<br />

Usage Notes<br />

v<br />

v<br />

FTP Subcommands<br />

To obtain information about site-specific operands that are supported by a<br />

foreign host, issue the HELP SERVER SITE command.<br />

By default, the z/<strong>VM</strong> PUT and MPUT subcommands automatically issue a SITE<br />

subcommand before a file is transferred. This is done to provide CMS file record<br />

format information to the foreign host (under the assumption that the foreign<br />

host can make use of this information, which is the case for <strong>IBM</strong> EBCDIC host<br />

systems).<br />

Chapter 2. Transferring Files Using FTP 69


FTP Subcommands<br />

v<br />

v<br />

The SENDSITE subcommand can be used to prevent SITE subcommands from<br />

being automatically issued by the PUT or MPUT subcommands. For more<br />

information see “SENDSITE” on page 67.<br />

For the operands that follow, dirid can be specified as a single period (.) to<br />

signify the current foreign host working directory:<br />

v<br />

v<br />

v<br />

DIRATTR, GRANT, QDIRATTR, REVOKE<br />

For SITE operands that require an SFS directory (dirid), specify this directory<br />

using the same syntax as for other SFS-related CMS commands. For more<br />

information about the naming of SFS directories, see the CMS Command<br />

Reference.<br />

The operands that follow are accepted only when the foreign host working<br />

directory is an SFS directory:<br />

DIRATTR, GRANT, QUATH, QDIRATTR, REVOKE<br />

The operands that follow are accepted only when the foreign host working<br />

directory is a BFS directory:<br />

PERMIT, QPERMIT<br />

SIZE<br />

Use the SIZE subcommand to retrieve the transfer size (in bytes) for a foreign host<br />

file.<br />

►► SIZE foreignfile ►◄<br />

Operands<br />

foreignfile<br />

Specifies the foreign host file for which size information is to be retrieved. For<br />

more information about how to specify foreignfile see “File Name Formats” on<br />

page 30.<br />

The returned file transfer size may account for included record delimiter or<br />

block header bytes, depending on the current TYPE and MODE settings.<br />

SJISKANJI<br />

Use the SJISKANJI subcommand to change the file transfer type to SJISKANJI.<br />

►►<br />

SJiskanji<br />

(─NOTYPE<br />

►◄<br />

Operands<br />

NOTYPE<br />

Used when connecting to an FTP server that does not support the TYPE<br />

command generated by this TYPE command alias. See Appendix D, “Using<br />

DBCS with FTP and Mail” on page 301 for more information.<br />

70 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Note: JIS is the abbreviation for the Japan Institute of Standards.<br />

FTP Subcommands<br />

STATUS<br />

Use the STATUS subcommand to retrieve status information from the foreign host.<br />

►►<br />

STAtus<br />

name<br />

►◄<br />

Operands<br />

Usage Notes<br />

name<br />

Specifies the file or foreign directory for which status information is requested.<br />

The name parameter is not supported by the <strong>VM</strong> FTP server.<br />

v<br />

Examples<br />

v<br />

The retrieved status information can be a directory, a file, or general status<br />

information, such as a summary of activity. If name is omitted, general status<br />

information is retrieved.<br />

Information displayed after invoking the STATUS subcommand:<br />

211-Server FTP talking to host 129.34.128.246, port 3452<br />

User: KRASIK1 Working directory: KRASIK1 0191<br />

The control connection has transferred 399 bytes.<br />

There is no current data connection.<br />

The next data connection will be actively opened<br />

to host 129.34.128.246, port 3452, using<br />

mode Stream, structure File, type ASCII Nonprint, byte-size 8.<br />

record format is V, record length 65535<br />

List format is UNIX. Automatic file translation is ON.<br />

FTPSERVE Translate Table: STANDARD<br />

211 User Specified Translate Table: POSIX<br />

Command:<br />

STRUCT<br />

Use the STRUCT subcommand to set the structure of the file.<br />

►► STRuct F ►◄<br />

Operands<br />

F<br />

Shows the file structure. The F file structure is the only structure supported.<br />

The file structure affects the transfer mode, and the interpretation and storage<br />

of the file. With a file structure of F, the file is considered to be a continuous<br />

sequence of data bytes.<br />

SUNIQUE<br />

Use the SUNIQUE subcommand to toggle the method of storing files.<br />

Chapter 2. Transferring Files Using FTP 71


FTP Subcommands<br />

►► SUnique ►◄<br />

Operands<br />

The SUNIQUE subcommand has no parameters.<br />

Usage Notes<br />

v<br />

v<br />

v<br />

v<br />

By default, SUNIQUE is toggled off, and FTP uses a store command (STOR)<br />

with the PUT and MPUT subcommands. If the foreign host already has a file<br />

with the name specified by foreignfile, the foreign host overwrites the existing<br />

file.<br />

If SUNIQUE is toggled on, FTP uses a store-unique command (STOU) with the<br />

PUT and MPUT subcommands, and prevents you from erasing the existing file<br />

on the foreign host that is specified by foreignfile. The created foreign file is<br />

stored with a unique file name. FTP sends the name of the created foreign file to<br />

the local host, where the file name is displayed on your terminal.<br />

To uniquely store files or copies of files when the named foreignfile already<br />

exists, the z/<strong>VM</strong> FTP server generates unique file names by appending a<br />

numeric suffix (from 1 to 999, in increments of 1) to the foreignfile name provided<br />

as part of a PUT or MPUT command. The foreignfile name is truncated (if<br />

necessary) to allow inclusion of this suffix. A maximum of 999 uniquely-named<br />

copies of a file can be created on a z/<strong>VM</strong> host. Note that the foreignfile name is<br />

modified only when necessary.<br />

When the ″store unique″ attribute is in effect, the FTP server identifies file names<br />

available for use by first searching the current working directory for the named<br />

file. If the file already exists, the server sequentially checks for similarly-named<br />

(and numbered) files until the next available suffix number for constructing a<br />

unique file name has been identified.<br />

Notes:<br />

1. There is no guarantee that a file with a low suffix number (with respect to<br />

the numbering scheme just described) is an older file (with respect to time<br />

and date) than a file that has a higher suffix number.<br />

2. When uniquely-stored files are selected for deletion, some criteria other than<br />

the numeric suffix value should be used. The date and time stamp associated<br />

with a file is usually a reasonable compromise choice.<br />

For example, if a foreignfile name of UNIQTEST is in use, a file might be<br />

stored uniquely with the name UNIQTES9, with an ensuing file stored<br />

uniquely as UNIQTE10.<br />

In rare cases, the file transfers for which the ″store unique″ attribute is in effect<br />

may fail because the foreign host cannot uniquely store a file. For a z/<strong>VM</strong> host,<br />

this would be the case when the z/<strong>VM</strong> FTP server detects that the named file<br />

and all 999 uniquely named copies of the file already exist in the foreign<br />

directory. To store a file in this event, one of the following actions may prove<br />

successful:<br />

– Turn off the ″store unique″ attribute by re-issuing the SUNIQUE subcommand<br />

to toggle the setting, then re-attempt the file transfer.<br />

– Delete one of the uniquely named copies of the file you are attempting to<br />

store.<br />

72 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


FTP Subcommands<br />

SYSTEM<br />

Use the SYSTEM subcommand to display information about the operating system<br />

that is in use on a foreign host.<br />

Note: Information returned in response to the SYSTEM subcommand will vary<br />

depending on the foreign host with which an FTP session is established.<br />

Other factors, such as configuration parameters or active session attributes,<br />

may further affect this response. Note that the SYSTEM subcommand may<br />

not be supported by all foreign hosts.<br />

►► SYstem ►◄<br />

Operands<br />

The SYSTEM subcommand has no operands.<br />

Examples<br />

For z/<strong>VM</strong> hosts that support list format selection, the response to the SYSTEM<br />

subcommand can differ, based on the list format in effect for a session.<br />

For example, when <strong>VM</strong>-format lists are in effect, the SYSTEM subcommand<br />

response is:<br />

215-z/<strong>VM</strong> Version 3 Release 1.0, service level 0000 (nn-bit)<br />

CMS Level 16, Service Level 000<br />

215 <strong>VM</strong> is the operating system of this server.<br />

Command:<br />

However, if Unix-format lists are in use, this response is modified to indicate this<br />

fact, and the following response is produced:<br />

215-z/<strong>VM</strong> Version 3 Release 1.0, service level 0000 (nn-bit)<br />

CMS Level 16, Service Level 000<br />

215 <strong>VM</strong> is the operating system of this server. UNIX list format is active.<br />

Command:<br />

TCHINESE<br />

Use the TCHINESE subcommand to change the file transfer type to Traditional<br />

Chinese.<br />

►►<br />

TChinese<br />

(─NOTYPE<br />

►◄<br />

Operands<br />

NOTYPE<br />

Used when connecting to an FTP server that does not support the TYPE<br />

command generated by this TYPE command alias. See Appendix D, “Using<br />

DBCS with FTP and Mail” on page 301 for more information.<br />

Chapter 2. Transferring Files Using FTP 73


FTP Subcommands<br />

TYPE<br />

Use the TYPE subcommand to set the file transfer type (the data representation for<br />

the transfer). FTP supports the ASCII, EBCDIC, Image (binary), and Kanji file<br />

transfer types.<br />

►►<br />

TYpe<br />

A<br />

I<br />

B B Options<br />

E<br />

F 1<br />

►◄<br />

B Options:<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

A<br />

R<br />

A<br />

R<br />

Operands<br />

A<br />

I<br />

Sets the transfer type as ASCII, which is intended for use when text files are<br />

transferred to or from an ASCII host. When FTP sessions are established, ASCII<br />

is the default transfer type. The TYPE A subcommand has a similar effect as<br />

the ASCII subcommand, but it does not alter the record format used to store<br />

local files.<br />

Sets the transfer type as Image (or, binary), which is intended for use when<br />

binary data is transferred or when the efficient storage and retrieval of files is<br />

desired. With the Image transfer type, data is sent as contiguous bits, packed<br />

into 8-bit bytes. The TYPE I subcommand has a similar effect as the BINARY<br />

subcommand, but it does not alter the record format used to store local files.<br />

B<br />

E<br />

F<br />

Note: A transfer type of Image must be used when automatic file translation<br />

(performed by a z/<strong>VM</strong> FTP sever) is desired.<br />

Sets the transfer type as DBCS Kanji, Hangeul, or Traditional Chinese.<br />

Specifying the B transfer type with the appropriate options has the same effect<br />

as using the EUCKANJI, HANGEUL, JIS78KJ, JIS83KJ, KSC5601, SJISKANJI or<br />

TCHINESE subcommands. The options provide further DBCS information. See<br />

Appendix D, “Using DBCS with FTP and Mail” on page 301 for more<br />

information about DBCS support for FTP.<br />

Sets the transfer type as EBCDIC. Specifying the EBCDIC transfer type has the<br />

same effect as using the EBCDIC subcommand. The EBCDIC transfer type is<br />

intended for efficient transfer between hosts that use EBCDIC for their internal<br />

character representation.<br />

Sets the transfer type as EBCDIC <strong>IBM</strong> Kanji. Specifying the <strong>IBM</strong> Kanji transfer<br />

74 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Usage Notes<br />

FTP Subcommands<br />

type has the same effect as using the <strong>IBM</strong>KANJI subcommand. See<br />

Appendix D, “Using DBCS with FTP and Mail” on page 301 for more<br />

information about DBCS support for FTP.<br />

v For a z/<strong>VM</strong> foreign host where the FTP server has been configured to perform<br />

automatic file translation, the TYPE I subcommand has no effect on file<br />

translation — the server continues to determine whether EBCDIC-ASCII<br />

translation should occur based only on file extension.<br />

To enable or disable automatic file translation for files transferred using the<br />

Image transfer type, use the AUTOTRANS operand of the “SITE” subcommand.<br />

See “SITE” on page 68 for more information.<br />

v See Table 4 on page 34 for more information about file transfer methods.<br />

USER<br />

Use the USER subcommand to identify yourself to a foreign host after an FTP<br />

connection has been established.<br />

►► User user_id<br />

user_id/BY/byuser_id<br />

user_id.BY.byuser_id<br />

password<br />

►◄<br />

Operands<br />

Using FTP Within an EXEC<br />

user_id<br />

The logon name to be used on the foreign host.<br />

byuser_id<br />

An alternate logon name user_id to be used by a foreign z/<strong>VM</strong> host when<br />

login authorization is performed.<br />

When the /BY/ or .BY. delimiter and byuser_id are included with user_id, the<br />

byuser_id logon password is used for login authorization checking, instead of<br />

that for user_id. To be effective, byuser_id must be included in a LOGONBY<br />

statement in the user_id CP directory entry. When an External Security<br />

Manager (ESM) such as RACF is installed, its defined authorization criteria<br />

may override that defined by CP for the LOGONBY statement. For example,<br />

RACF may perform authorization checks for attempts to log on a shared user<br />

ID. For further details, refer to the documentation provided by the ESM in use.<br />

password<br />

The logon password to be used on the foreign host. If a password is not<br />

included with the USER subcommand, you are prompted to provide a<br />

password, if one is required by the foreign host. If you supply an incorrect<br />

password, you are not prompted to enter the password again. You must<br />

instead reissue the USER subcommand to supply the correct password.<br />

When the FTP command is used within an exec, FTP subcommands can be<br />

supplied by either the program stack or a CMS disk file. Likewise, FTP command<br />

results can be directed to either the console, or to a CMS disk file.<br />

Chapter 2. Transferring Files Using FTP 75


Using FTP Within an EXEC<br />

Notes:<br />

1. FTP supports only DISK and TERMINAL I/O devices when FILEDEF<br />

commands are used to manage subcommand input and command results.<br />

2. It is recommended that the EXIT option be used when FTP is used within an<br />

exec, so that error conditions can be detected and handled, as needed.<br />

Providing FTP Subcommand Input<br />

The program stack is used as the input source for FTP subcommands if the input<br />

device DISK has not been defined with a FILEDEF, or if the input device has been<br />

defined as TERMINAL.<br />

If subcommand input is to be obtained from a disk file, that file must be identified<br />

with the CMS FILEDEF command. When disk file input is obtained by using<br />

FILEDEF, the following notes apply:<br />

Notes:<br />

1. Only the ddname INPUT is recognized and used by FTP for subcommand<br />

input.<br />

2. Program stack data is ignored.<br />

3. If all FTP subcommands defined in the file complete without incident, and a<br />

QUIT was not the last subcommand executed, FTP will supply a QUIT<br />

subcommand to end the FTP session.<br />

4. When a NETRC DATA file is used to provide logon user name and password<br />

values, it is advised that the NOPROMPT option be used to suppress<br />

unanticipated prompts for this information; this will cause FTP to return a<br />

nonzero return code in the event no NETRC DATA file exists or no entry for<br />

the target host is present in this file.<br />

5. Because of the processing performed by FTP to obtain login passwords, you<br />

must provide the login password with the login name (user ID) when you use<br />

FTP within an exec, unless a NETRC DATA file is used to supply these values.<br />

(That is, for stack input, the logon password must be queued with the logon<br />

name. For disk file input, the password must be part of the same line as the<br />

logon name.)<br />

If a foreign host requires account information to be provided, you need to<br />

supply values with the ACCT subcommand in this manner as well.<br />

Managing FTP Command Output<br />

By default, FTP dialog output (messages, subcommand reply codes and text)<br />

generated during FTP command processing is directed to your terminal. However,<br />

FTP command results can be also directed to a disk file. As with subcommand<br />

input, the file to receive FTP dialog results must be identified with the CMS<br />

FILEDEF command. Only the ddname OUTPUT is recognized and used by FTP for<br />

handling FILEDEF command output.<br />

Examples<br />

The following example shows how FTP subcommands could be issued from within<br />

a REXX exec. In this example, the CMS program stack is used to supply FTP<br />

subcommands. This sample also illustrates a method for checking the return and<br />

reply codes from the FTP command.<br />

/* FTPSTACK EXEC */<br />

/*----------------------------------------------------------*/<br />

/* Setup variables to hold some commonly-used items. */<br />

/*----------------------------------------------------------*/<br />

76 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


emote_host = ’rdrunner.endicott.ibm.com’<br />

login_id = ’coyote’<br />

pass_word = ’wileyc’<br />

acct_info = ’secretpw’<br />

local_mode = ’A’<br />

remote_dir = ’COYOTE.191’<br />

remote_file = ’ACME’ || ’.’ || ’SURPLUS’<br />

local_file = ’ACME-A1’ || ’.’ || ’CATALOG’<br />

/*----------------------------------------------------------*/<br />

/* Setup the FTP subcommands to be issued... */<br />

/*----------------------------------------------------------*/<br />

ftpcmd.1 = login_id pass_word /* USER and PASS responses */<br />

ftpcmd.2 = ’acct’ acct_info /* Account info - this will */<br />

/* supply the minidisk READ */<br />

/* password in this case. */<br />

ftpcmd.3 = ’cd’ remote_dir<br />

ftpcmd.4 = ’lcd’ local_mode<br />

/*----------------------------------------------------------*/<br />

/* Working with another <strong>VM</strong> host, so set up the transfer */<br />

/* MODE and TYPE for EBCIDIC data -- would do the same for */<br />

/* an MVS host. */<br />

/*----------------------------------------------------------*/<br />

ftpcmd.5 = ’mode b’<br />

ftpcmd.6 = ’type e’<br />

/*----------------------------------------------------------*/<br />

/* Get the file of interest, then quit. */<br />

/*----------------------------------------------------------*/<br />

ftpcmd.7 = ’get’ remote_file local_file<br />

ftpcmd.8 = ’quit’<br />

ftpcmd.0 = 8<br />

/*----------------------------------------------------------*/<br />

/* Display and queue the FTP subcommands that will be used. */<br />

/*----------------------------------------------------------*/<br />

’MAKEBUF’<br />

buff_num = rc<br />

Say "FTP subcommands being issued are:"<br />

Do ii=1 to ftpcmd.0<br />

Say ftpcmd.ii<br />

Queue ftpcmd.ii<br />

End<br />

/*----------------------------------------------------------*/<br />

/* Issue the FTP command, and save it’s return code. */<br />

/*----------------------------------------------------------*/<br />

Say "" ; Say "Issuing FTP command..."<br />

’FTP’ remote_host ’(EXIT’<br />

ftprc = rc<br />

’DROPBUF’ buff_num<br />

/*----------------------------------------------------------*/<br />

/* Interrogate the FTP command return code, and explain it */<br />

/* to the extent possible. */<br />

/*----------------------------------------------------------*/<br />

If (ftprc 0)<br />

Then Do<br />

fterr = Right(ftprc,3)<br />

cmdrc = Left(ftprc,(Length(ftprc)-3))<br />

Say "FTP command code:" cmdrc<br />

End<br />

Exit ftprc<br />

Say "FTP Server Reply code:" fterr<br />

Say "Possible Internal Error code:"<br />

fterr<br />

Using FTP Within an EXEC<br />

This next example shows how FTP subcommands could be maintained separately<br />

from an exec that makes use of those subcommands. In this example, FTP<br />

subcommands to be issued are contained in a CMS file (SPACELY ACCTFTP A),<br />

which might contain the following data:<br />

Chapter 2. Transferring Files Using FTP 77


Using FTP Within an EXEC<br />

FTP Return Codes<br />

jetsong rorge<br />

cd c:\sprocket\accts<br />

lcd a<br />

get sprocket.txt sprocket.acctdata<br />

quit<br />

For the data illustrated above, jetsong is the user ID and rorge is the login<br />

password. The GET subcommand will cause the file SPROCKET.TXT A to be<br />

retrieved as SPROCKET ACCTDATA to the invoking user ID’s A disk.<br />

/* FTPFILDF EXEC */<br />

/*----------------------------------------------------------*/<br />

/* Setup variables for host and input/output files. */<br />

/*----------------------------------------------------------*/<br />

remote_host = ’sprocketman.endicott.ibm.com’<br />

input_file = ’SPACELY ACCTFTP A’<br />

output_file = ’SPACEFTP RESULTS A’<br />

/*----------------------------------------------------------*/<br />

/* Check existing FILEDEFS, and account for them as */<br />

/* required. Then establish the desired FILEDEFS. */<br />

/*----------------------------------------------------------*/<br />

’P<strong>IP</strong>E CMS QUERY FILEDEF | Stem filedefs.’<br />

If (filedefs.0 = 0)<br />

Then Nop<br />

Else Nop /* Add appropriate checking, etc. here */<br />

’ESTATE’ input_file<br />

If (rc 0)<br />

Then Do<br />

Say input_file "does not exist..."<br />

Exit 8<br />

End<br />

Else ’FILEDEF INPUT DISK’ input_file<br />

’FILEDEF OUTPUT DISK’ output_file<br />

/*----------------------------------------------------------*/<br />

/* Issue the FTP command, and save it’s return code. */<br />

/*----------------------------------------------------------*/<br />

Say "" ; Say "Issuing FTP command..."<br />

’FTP’ remote_host ’(EXIT’<br />

ftprc = rc<br />

/*----------------------------------------------------------*/<br />

/* Interrogate the FTP command return code, and explain it */<br />

/* to the extent possible. */<br />

/*----------------------------------------------------------*/<br />

If (ftprc 0)<br />

Then Do<br />

fterr = Right(ftprc,3)<br />

cmdrc = Left(ftprc,(Length(ftprc)-3))<br />

Say "FTP command code:" cmdrc<br />

Say "FTP Server Reply code:" fterr<br />

Say "Possible Internal Error code:"<br />

fterr<br />

End<br />

/*----------------------------------------------------------*/<br />

/* Clear the FILEDEFS created for this FTP session. */<br />

/*----------------------------------------------------------*/<br />

’FILEDEF INPUT CLEAR’<br />

’FILEDEF OUTPUT CLEAR’<br />

Exit ftprc<br />

When the FTP command EXIT operand is used, the FTP return code is composed<br />

of a command code and a reply code. The following is the format of the FTP EXIT<br />

return code:<br />

YYXXX<br />

78 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


FTP EXIT Return Codes<br />

|<br />

|<br />

where:<br />

YY Is the command code, which is a number from 1 to 99. For a description of<br />

the possible FTP command codes, see Table 5.<br />

XXX<br />

Is the reply code that is sent from the foreign host FTP server. The reply<br />

code is a 3-digit number. For a description of the possible reply codes, see<br />

Table 6 on page 81. At times XXX may instead be an FTP internal error<br />

code. For a description of possible internal error codes, see Table 7 on<br />

page 82. If an FTP server reply code or an internal error code is not<br />

available, XXX will be zero.<br />

Table 5. FTP Command Codes<br />

Code Number Command EXIT_IF_ERROR<br />

1 AMBIGUOUS true<br />

2 ? false<br />

3 ACCT true<br />

4 APPEND true<br />

5 ASCII true<br />

6 BINARY true<br />

7 CD true<br />

8 CLOSE true<br />

9 CMS true<br />

10 OPEN (CONNECT) true<br />

11 DEBUG false<br />

12 DELIMIT false<br />

13 DELETE true<br />

14 DIR true<br />

15 EBCDIC true<br />

16 GET true<br />

17 HELP false<br />

18 LOCSTAT true<br />

19 USER true<br />

20 LS true<br />

21 MDELETE true<br />

22 MGET true<br />

23 MODE true<br />

24 MPUT true<br />

25 NOOP true<br />

26 PASS true<br />

27 PUT true<br />

28 PWD true<br />

29 QUIT true<br />

30 QUOTE true<br />

31 RENAME true<br />

32 SENDPORT true<br />

Chapter 2. Transferring Files Using FTP 79


FTP EXIT Return Codes<br />

Table 5. FTP Command Codes (continued)<br />

Code Number Command EXIT_IF_ERROR<br />

33 SENDSITE false<br />

34 SITE false<br />

35 STATUS true<br />

36 STRUCT true<br />

37 SUNIQUE true<br />

38 SYSTEM true<br />

40 TYPE true<br />

41 LCD true<br />

42 LOCSITE true<br />

43 LPWD false<br />

44 MKDIR true<br />

46 EUCKANJI true<br />

47 <strong>IBM</strong>KANJI true<br />

48 JIS78KJ true<br />

49 JIS83KJ true<br />

50 SJISKANJI true<br />

51 CDUP true<br />

52 RMDIR true<br />

53 HANGEUL true<br />

54 KSC5601 true<br />

55 TCHINESE true<br />

56 NETRC false<br />

57 SIZE true<br />

60 PASSIVE true<br />

99 UNKNOWN true<br />

Examples<br />

The following are examples of FTP return codes.<br />

FTP Reply Codes<br />

The FTP return code 16550 indicates the following:<br />

16 The GET command failed.<br />

550 The reply code from the FTP server.<br />

The FTP return code 4532 indicates the following:<br />

4 The APPEND command failed.<br />

532 The reply code from the FTP server.<br />

When you enter an FTP command, <strong>TCP</strong>/<strong>IP</strong> displays the sequence of<br />

subcommands, if any, that are sent to the foreign host’s FTP server. In addition, the<br />

subcommand’s response is also displayed as a reply code. These replies ensure the<br />

synchronization of requests and actions during file transfer, and guarantee that you<br />

80 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


always know the state of the foreign host’s FTP server. The descriptions of the<br />

possible reply codes are listed in Table 6.<br />

Note: In general, the reply code descriptions below will not match the messages<br />

received from a foreign host, since reply message text will vary from one<br />

server implementation to another. The following descriptions are intended to<br />

provide an explanation of the reply codes themselves.<br />

Table 6. FTP Reply Codes<br />

FTP Reply Codes<br />

Code<br />

Description<br />

110 Restart marker reply<br />

120 Service ready in nnn minutes<br />

125 Data connection already open; transfer starting<br />

150 File status okay; about to open data connection<br />

200 Command okay<br />

202 Command not implemented; not used on this host<br />

211 System status, or system help reply<br />

212 Directory status<br />

213 File status<br />

214 Help message<br />

215 <strong>VM</strong> is the operating system of this server<br />

220 Service ready for new user<br />

221 QUIT command received<br />

226 Closing data connection; requested file action successful<br />

230 User logged on; requested minidisk, BFS, or SFS Directory not<br />

available; proceed<br />

250 Requested file action or directory okay, completed<br />

255 In target directory already<br />

257 PATH NAME created or directory status given<br />

331 Send password please<br />

332 Supply minidisk password using account<br />

421 Service not available; closing Telnet connection<br />

425 Cannot open data connection<br />

426 Connection closed; transfer ended abnormally<br />

450 Requested action not taken; file busy, minidisks or SFS directory not<br />

available<br />

451 Requested action aborted; local error in processing<br />

452 Requested action not taken; insufficient storage space in system<br />

500 Syntax error; command unrecognized<br />

501 Syntax error in parameters or arguments<br />

502 Command not implemented<br />

503 Bad sequence of commands<br />

504 Command not implemented for that parameter<br />

521 Directory already exists, taking no action<br />

530 Not logged on<br />

Chapter 2. Transferring Files Using FTP 81


FTP Reply Codes<br />

Table 6. FTP Reply Codes (continued)<br />

Code<br />

Description<br />

532 Need account for storing files<br />

550 Requested action not taken; file not found or no access<br />

551 Requested action aborted; page type unknown<br />

552 Requested file action ended abnormally; exceeded storage allocation<br />

553 Requested action not taken; file name not allowed<br />

Internal Error Codes<br />

If an internal error occurs when you enter an FTP command, the reply code is an<br />

internal error code rather than an FTP reply code. Table 7 lists the possible internal<br />

error codes.<br />

|<br />

|<br />

Table 7. Internal Error Codes<br />

Code Error EXIT_IF_ERROR<br />

01 NOmoreSLOTS false<br />

02 TOOfewDOTS false<br />

03 WOULDclobberFILE false<br />

04 CMSfileERROR false<br />

05 CMSfileNOTfound false<br />

06 CMSdiskFILEid false<br />

07 CMSinvalidCHAR false<br />

08 CMSdiksNOTaccessed false<br />

09 CMSdiskREADonly false<br />

10 CMSfileNOTaccessed false<br />

11 BLOCKbutNOTebcdcic false<br />

12 INITemulationERROR true<br />

13 OPENwasNOTissued true<br />

14 NOinputFILE false<br />

15 CANTwriteTOoutput false<br />

16 USERwasNOTissued true<br />

17 FileNOTauthorized false<br />

18 InvalidRecfm false<br />

19 InsuffStorage false<br />

20 Appc<strong>VM</strong>error false<br />

21 SharingConflict false<br />

22 SysResrcUnavail false<br />

23 FSOpenError false<br />

24 InvalidFILEDEFDev false<br />

25 NoPromptConflict true<br />

26 InvalidArgString true<br />

27 NoClosingQuote true<br />

82 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Using FTP with RACF ®<br />

For example, the internal error code 13 indicates that an “OPENwasNOTissued” error<br />

condition has occurred.<br />

The Resource Access Control Facility (RACF) allows FTP servers to act as surrogates<br />

for other user IDs. This means that the server can access those disks available to<br />

that user ID.<br />

The command that allows FTP servers to act as surrogates is provided in a<br />

program called FTPPERM EXEC. To use it, enter the command:<br />

FTPPERM ADD<br />

If you get an error, contact your system administrator.<br />

You may delete the FTP server’s surrogate authority by issuing the command:<br />

FTPPERM DELETE<br />

FTPPERM is explained in <strong>TCP</strong>/<strong>IP</strong> Planning and Customization.<br />

Internal Error Codes<br />

Chapter 2. Transferring Files Using FTP 83


84 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Chapter 3. Transferring Files Using TFTP<br />

TFTP Command<br />

This chapter describes how to transfer files using the Trivial File Transfer Protocol<br />

(TFTP) command and its subcommands. The TFTP command is a simple method<br />

to get files from, and send files to, a foreign host.<br />

TFTP uses the User Datagram Protocol (UDP), and uses a simple lock-step method<br />

to acknowledge each packet separately. TFTP cannot list directories and has no<br />

provision for user authentication. <strong>VM</strong> provides a TFTP server. This server provides<br />

access to a BFS directory mounted on the server machine. For additional<br />

information on this server, see <strong>TCP</strong>/<strong>IP</strong> Planning and Customization.<br />

You can also use the FTP command to transfer files from a <strong>VM</strong> host. For more<br />

information about the FTP command, see Chapter 2, “Transferring Files Using<br />

FTP” on page 15.<br />

Use the TFTP command to transfer files from or to the foreign host.<br />

►►<br />

TFTP<br />

foreign_host ( TRANSLATE filename<br />

►◄<br />

Operands<br />

foreign_host<br />

Specifies the name of the foreign host to which you are connecting. Specify the<br />

foreign host by its host name or its internet address. You are prompted for a<br />

host name if you do not specify a foreign_host with the TFTP command. If you<br />

specify foreign_host incorrectly, or if the foreign host is not accessible, you<br />

enter the TFTP command shell. To identify the desired host, use the OPEN<br />

subcommand. See “OPEN” on page 88 for more information. Specify the<br />

foreign host by its internet host name:<br />

internet-hostname<br />

or by its dotted-decimal internet address:<br />

nnn.nnn.nnn.nnn<br />

TRANSLATE filename<br />

Specifies the file name of a translation table file other than a standard table.<br />

The file type is <strong>TCP</strong>XLBIN, and the file mode is an asterisk (*). If this<br />

parameter is not specified, the TFTP command searches sequentially for the<br />

TFTP <strong>TCP</strong>XLBIN or STANDARD <strong>TCP</strong>XLBIN table files. If neither is found,<br />

TFTP uses the compiled translation table. TFTP <strong>TCP</strong>XLBIN is not supplied,<br />

because the standard translation table is adequate for most applications. You<br />

can create your own <strong>TCP</strong>XLBIN table file if your installation needs a different<br />

translation.<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 85


Transferring Files Using TFTP<br />

Creating Translation Tables<br />

TFTP Subcommands<br />

You can edit and modify translation table files that have a file type of <strong>TCP</strong>XLATE.<br />

A translation table must be in binary format and have a file type of <strong>TCP</strong>XLBIN. To<br />

convert a table from modifiable form to binary form, use the CONVXLAT EXEC<br />

file written in the REXX programming language.<br />

Creating your own translation table provides the following advantages.<br />

v You do not require the application’s source code.<br />

v You do not need to recompile the application to change the translation table.<br />

v You can specify, as a command parameter, a translation table file that is different<br />

from that of your system administrator.<br />

For information about creating your own translation tables, see <strong>TCP</strong>/<strong>IP</strong> Planning<br />

and Customization.<br />

The TFTP subcommands and their parameters are described in detail on pages 86<br />

through 90.<br />

GET<br />

Use the GET subcommand to retrieve a file from the TFTP server.<br />

►► Get foreignfile localfile ►◄<br />

Operands<br />

foreignfile<br />

Specifies the name of the file to be retrieved from the foreign host.<br />

localfile<br />

Specifies the name of the local file to be created. The localfile is specified by<br />

filename.filetype.filemode or filename.filetype. The default filemode is A.<br />

Attention: If a file with the name specified by localfile already exists, that file is<br />

overwritten.<br />

Usage Notes<br />

v The localfile is created or overwritten with a variable record format. The file is<br />

transferred using the currently selected transfer mode. If the transfer mode is<br />

OCTET, the file is created with a record length of 512.<br />

v When a file is stored in ASCII mode, each empty line is written to the file as a<br />

single space, because a record of zero length cannot be written to a CMS file.<br />

When a file is transferred to and from <strong>VM</strong>, each previously empty line contains<br />

a single space. See “MODE” on page 88 for more information about transfer<br />

modes.<br />

HELP<br />

Use the HELP subcommand to receive assistance with the TFTP subcommands.<br />

86 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


TFTP Subcommands<br />

►►<br />

Help<br />

subcommand<br />

►◄<br />

Operands<br />

subcommand<br />

Specifies the name of the TFTP subcommand.<br />

Usage Notes<br />

v If you enter HELP without a parameter, you see the list of TFTP subcommands<br />

that are supported by the client.<br />

LOCSTAT<br />

Use the LOCSTAT subcommand to display the local status information about TFTP.<br />

►► LOCSTat ►◄<br />

Operands<br />

The LOCSTAT subcommand has no parameters.<br />

Usage Notes<br />

v The following local status information is displayed when the LOCSTAT<br />

subcommand is issued:<br />

– Name of connected host (or the message not connected)<br />

– Transfer mode<br />

– Packet tracing (on or off)<br />

– Packet retransmit interval, in seconds<br />

– Packet retry count, in packets<br />

MAXPKT<br />

Use the MAXPKT subcommand to set the maximum number of times a packet is<br />

retransmitted.<br />

►►<br />

MAXpkt<br />

5<br />

number_of_times<br />

►◄<br />

Operands<br />

number_of_times<br />

Specifies the maximum number of times a packet is retransmitted. The default<br />

value is 5 times.<br />

Usage Notes<br />

v When TFTP sends a packet for which a response packet is expected from the<br />

foreign TFTP server, a timer is set, as specified by the REXMIT command. See<br />

Chapter 3. Transferring Files Using TFTP 87


TFTP Subcommands<br />

v<br />

v<br />

“REXMIT” on page 89 for more information. If the time interval expires before<br />

the response packet is received, the original packet is retransmitted.<br />

When the packet has been retransmitted the maximum number of times (as<br />

specified by the MAXPKT command) and nothing is received from the foreign<br />

TFTP server, the transfer is terminated.<br />

If the transmission error rate is high, you can increase the number to a value<br />

greater than 5.<br />

MODE<br />

Use the MODE subcommand to change the transfer mode. The TFTP transfer<br />

mode determines how the data bits are transmitted.<br />

►►<br />

MOde<br />

NETASCII<br />

OCTET<br />

►◄<br />

OPEN<br />

Operands<br />

NETASCII<br />

Sets the mode to ASCII. In NETASCII mode, data is transferred in ASCII. This<br />

is the default.<br />

OCTET<br />

Sets the mode to Image (binary). In OCTET mode, all data is treated as raw<br />

8-bit bytes. No conversion is performed on the bytes.<br />

If you did not connect to a foreign host when you invoked the TFTP command,<br />

you must open a connection to a foreign host before you can transfer files. Use the<br />

OPEN subcommand to connect to the desired host.<br />

►► Open hostname ►◄<br />

Operands<br />

hostname<br />

Specifies the internet host to which you are transferring files. Specify the<br />

foreign host by its internet host name:<br />

internet-hostname<br />

or by its dotted-decimal internet address:<br />

nnn.nnn.nnn.nnn<br />

Usage Notes<br />

v If the internet host name parameter of the TFTP command is not specified, you<br />

enter the TFTP command shell. To identify the desired host, use the OPEN<br />

subcommand. See “TFTP Command” on page 85 for more information.<br />

88 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


PUT<br />

Use the PUT subcommand to send a file to the foreign TFTP server.<br />

TFTP Subcommands<br />

►► PUt localfile foreignfile ►◄<br />

Operands<br />

localfile<br />

Specifies the name of the local file to be transferred to the foreign host. The<br />

localfile is specified by filename.filetype.filemode or by filename.filetype. The default<br />

filemode is A.<br />

foreignfile<br />

Specifies the name of the file to be created on the foreign host.<br />

The file is transferred using the currently selected transfer mode. See “MODE” on<br />

page 88 for more information.<br />

QUIT<br />

Use the QUIT subcommand to end the TFTP command. following format.<br />

►► QUIt ►◄<br />

Operands<br />

The QUIT subcommand has no parameters.<br />

REXMIT<br />

Use the REXMIT subcommand to change the time-out value for each packet.<br />

►►<br />

REXmit<br />

5<br />

number_of_seconds<br />

►◄<br />

Operands<br />

number_of_seconds<br />

Specifies the number of seconds TFTP waits before retransmitting a packet. The<br />

default value is 5 seconds.<br />

Usage Notes<br />

v When TFTP sends a packet for which it expects a response packet from the<br />

foreign TFTP server, a timer is set, as specified by the REXMIT command. If the<br />

time interval expires before the response packet is received, the original packet is<br />

retransmitted.<br />

v When the packet has been retransmitted the maximum number of times (as<br />

specified by the MAXPKT command) and nothing is received from the foreign<br />

TFTP server, the transfer is terminated. See “MAXPKT” on page 87 for more<br />

information.<br />

Chapter 3. Transferring Files Using TFTP 89


TFTP Subcommands<br />

v<br />

You can increase the number_of_seconds value for a connection with a slow<br />

transmission rate.<br />

TRACE<br />

Use the TRACE subcommand to toggle the tracing of TFTP packets.<br />

►► TRace ►◄<br />

Operands<br />

The TRACE subcommand has no parameters.<br />

Usage Notes<br />

v When TRACE is enabled, information about each TFTP packet that is sent or<br />

received is displayed. The following information about each packet is displayed.<br />

Field Description<br />

direction Indicates either Sending or Received.<br />

(size) Specifies the number of bytes in the packet.<br />

kind<br />

Specifies the type of TFTP packet. The TFTP packet types are:<br />

RRQ Read request<br />

WRQ Write request<br />

Data Data packet<br />

ACK Acknowledgment packet<br />

Error Error packet<br />

per-packet-information<br />

Contains other data contained in the packet. The type of<br />

information displayed about each packet is:<br />

RRQ Foreign file name, transfer mode<br />

WRQ Foreign file name, transfer mode<br />

Data Block number<br />

ACK Block number<br />

Error Error number, error text (if any)<br />

90 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Chapter 4. Sending and Receiving Electronic Mail<br />

This chapter describes electronic note and file delivery and also discusses how mail<br />

is sent to and from other hosts/users on systems connected through <strong>TCP</strong>/<strong>IP</strong> or<br />

Remote Spooling Communication Subsystem (RSCS). In addition, this chapter also<br />

describes the electronic mail gateway, delivery failures, the OfficeVision ® interface,<br />

IMAP, and the SMSG interface to the SMTP server.<br />

You can also use SMTP to transfer Kanji mail messages. For more information<br />

about using Kanji support with SMTP, see “Using DBCS with Mail” on page 305.<br />

NOTE and SENDFILE Commands<br />

Electronic Mail Gateway<br />

Note: The SENDFILE and NOTE commands are no longer supplied with <strong>TCP</strong>/<strong>IP</strong>.<br />

You can now use the CMS version of SENDFILE and NOTE to send notes<br />

and files to network recipients. Please refer to the z/<strong>VM</strong> CMS Command<br />

Reference for a complete description of the syntax and options for these<br />

commands.<br />

Electronic mail services are provided in conjunction with the SMTP virtual<br />

machine. This virtual machine can be configured by your <strong>TCP</strong>/<strong>IP</strong> administrator to<br />

operate as a mail gateway between <strong>TCP</strong>/<strong>IP</strong> network users and users located on an<br />

RSCS network that is attached to the local host. For example, PROFS users then<br />

can exchange mail with UNIX users through the <strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> SMTP gateway. An<br />

example of such an environment follows:<br />

B<br />

RSCS<br />

D<br />

A<br />

<strong>TCP</strong>/<strong>IP</strong> Network<br />

C<br />

RSCS<br />

E<br />

Figure 7. Example SMTP Mail Gateway Environment<br />

Where:<br />

A<br />

B and C<br />

D and E<br />

Is the local <strong>VM</strong> host, running both <strong>TCP</strong>/<strong>IP</strong> and RSCS.<br />

Are hosts attached to host A through an RSCS network.<br />

Are hosts attached to host A through a <strong>TCP</strong>/<strong>IP</strong> network.<br />

Users on hosts A, B, and C can send mail or files to users on <strong>TCP</strong>/<strong>IP</strong> hosts D and<br />

E using the CMS NOTE and SENDFILE commands, or PROFS interface. The users<br />

on hosts D and E can send mail to the users on host A using addresses in the<br />

following format:<br />

user_id@A.domain<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 91


Sending and Receiving Electronic Mail<br />

Where:<br />

user_id Is the user ID of the <strong>VM</strong> user on host A.<br />

A.domain Is the <strong>TCP</strong>/<strong>IP</strong> host name of host A.<br />

The users on <strong>TCP</strong>/<strong>IP</strong> hosts D and E can send mail to users on RSCS hosts B and C<br />

using addresses in the following format:<br />

user_id%RSCSHost@A.domain<br />

Where:<br />

user_id Is the user ID of the user on the host.<br />

RSCSHost Is the name of the RSCS host (B or C).<br />

A.domain Is the <strong>TCP</strong>/<strong>IP</strong> host name of host A.<br />

Note and File Delivery<br />

All mail arriving from senders on foreign hosts is delivered to the virtual machine<br />

of the <strong>VM</strong> recipient by the SMTP virtual machine. Normal <strong>VM</strong> processing places<br />

the mail in the virtual reader of the addressee. This mail can be read using<br />

OfficeVision or traditional CMS functions such as RDRLIST and PEEK. See the<br />

z/<strong>VM</strong> CMS Command Referenc e for information on manipulating electronic mail<br />

using CMS.<br />

SMTPQUEU<br />

The following command, issued from the CMS command line, checks any mail that<br />

SMTP is delivering or waiting to deliver.<br />

Format<br />

►► SMTPQUEU ►◄<br />

There are no operands for this command.<br />

SMTPQUEU causes the SMTP virtual machine to deliver a piece of mail that lists<br />

the mail queued for delivery at each site. The mail list is spooled to the user that<br />

issued the SMTPQUEU command.<br />

If mail cannot be delivered to the recipients, SMTP returns a copy of the mail to<br />

the sender with an explanation of why it cannot be delivered. SMTPQUEU queries<br />

the first SMTP server defined with the SMTPSERVERID statement in the <strong>TCP</strong><strong>IP</strong><br />

DATA file, or user ID SMTP on this system if none is defined in <strong>TCP</strong><strong>IP</strong> DATA.<br />

Undelivered Notes<br />

When the SMTP virtual machine cannot deliver a piece of mail, a nondelivery note<br />

or an unknown recipient note is forwarded to the sender of the mail explaining the<br />

reason for nondelivery. Nondelivery can occur for several reasons. For example, a<br />

destination host may not be known, or the recipient may not have a user ID on the<br />

destination host.<br />

Nondelivery Note<br />

If a piece of mail cannot be delivered, the body of the original piece of mail is<br />

returned as part of the nondelivery notification.<br />

92 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Figure 8 is an example of a nondelivery note.<br />

Date: Fri, 8 Jan 93 08:23:54 EST<br />

From: SMTP@<strong>VM</strong>1.ACME.COM<br />

To: DANIEL@<strong>VM</strong>1<br />

Subject: Undeliverable Mail<br />

<strong>VM</strong>1.ACME.COM unable to deliver following mail to recipient(s):<br />

<br />

<strong>VM</strong>1.ACME.COM unable to connect for 3 days to host:<br />

SMTP-GATEWAY.<strong>IBM</strong>.COM<br />

** Text of Mail follows **<br />

Date: Tue, 5 Jan 93 08:22:36 EST<br />

From: <br />

To: <br />

Subject: ACME iron birdseed<br />

Matt,<br />

The shipment of ACME iron birdseed was shipped last Thursday. Please<br />

advise me if you have not received it, and I’ll try to track it down.<br />

Also, your ACME giant rock catapult is on back order; another customer<br />

bought the last one yesterday.<br />

Daniel<br />

Sending and Receiving Electronic Mail<br />

Figure 8. Example of a Nondelivery Note<br />

Unknown Recipient Note<br />

If a recipient is unknown at the destination host, the destination host does not<br />

accept the mail for delivery, and a nondelivery notification is forwarded to the<br />

sender.<br />

Figure 9 is an example of an unknown recipient note.<br />

Date: Mon, 15 Feb 93 13:32:12 EST<br />

From: SMTP@<strong>VM</strong>1.ACME.COM<br />

To: DANIEL@<strong>VM</strong>1<br />

Subject: Undeliverable Mail<br />

<strong>VM</strong>1.ACME.COM unable to deliver following mail to recipient(s):<br />

<br />

<strong>VM</strong>1.ACME.COM received negative reply from host:<br />

SMTP-GATEWAY.<strong>IBM</strong>.COM<br />

** Text of Mail follows **<br />

Date: Tue, 16 Feb 93 08:22:36 EST<br />

From: <br />

To: <br />

Subject: Your retirement<br />

George,<br />

I recently learned that you will soon be retiring. I just wanted to<br />

wish you best of luck and thanks for all the great work you have done.<br />

You were a great asset to your company, and I’m sure they will miss you.<br />

Daniel<br />

Figure 9. Example of an Unknown Recipient Note<br />

Chapter 4. Sending and Receiving Electronic Mail 93


Sending and Receiving Electronic Mail<br />

Using OfficeVision Without OfficeVision Extended Mail Installed<br />

PROFS/OfficeVision is an electronic mail interface for <strong>VM</strong> users. OfficeVision can<br />

send and receive electronic mail from users on <strong>TCP</strong>/<strong>IP</strong> networks with OfficeVision<br />

Extended Mail. For more information about using OfficeVision Extended Mail, see<br />

PROFS Extended Mail User’s <strong>Guide</strong> and Installation Manual.<br />

Contact your systems administrator to see if OfficeVision Extended Mail is<br />

installed at your site.<br />

Note: Installation of OfficeVision Extended Mail is recommended.<br />

A limited OfficeVision to SMTP interface is provided for sites that do not have<br />

PROFS Extended Mail installed. OfficeVision users can prepare mail for <strong>TCP</strong>/<strong>IP</strong><br />

network recipients by including the SMTP virtual machine as one of the recipients<br />

of the mail. <strong>TCP</strong>/<strong>IP</strong> network recipients are specified through a special command<br />

within the PROFS note.<br />

Specifying <strong>TCP</strong>/<strong>IP</strong> Recipients<br />

When using OfficeVision, you must specify the addresses of RSCS recipients in the<br />

following format:<br />

hostname(user_id)<br />

Where:<br />

hostname<br />

user_id<br />

Is the host name of the recipient.<br />

Is the user ID of the recipient.<br />

This format conforms to the specifications of local and RSCS network addresses,<br />

when you are using OfficeVision directly.<br />

You enter the <strong>TCP</strong>/<strong>IP</strong> network address using a .ddn command. The following list<br />

describes how to use the .ddn command.<br />

v<br />

Specify <strong>TCP</strong>/<strong>IP</strong> network addresses using the .ddn command, as shown in the<br />

following examples.<br />

v<br />

v<br />

v<br />

v<br />

v<br />

Note: The host and user ID pairs may be specified in either one of the following<br />

two formats.<br />

.ddn TcpHost(TcpUserid)<br />

.ddn TcpUserid@TcpHost<br />

Host names and user IDs can have more than 8 characters. The case (upper or<br />

lower) of the <strong>TCP</strong>/<strong>IP</strong> network addresses is preserved.<br />

Code .ddn commands starting in column 1, like all other OfficeVision dot<br />

commands.<br />

Specify multiple addresses with a single .ddn command. At least one blank<br />

space must separate each pair of addresses, as shown in the following example.<br />

.ddn TcpHost1(TcpUserid1) TcpUserid2@TcpHost2<br />

Code as many .ddn statements as necessary. The following example shows a<br />

group of three .ddn statements.<br />

.ddn TcpHost1(TcpUserid1) TcpHost2(TcpUserid2)<br />

.ddn TcpUserid3@TcpHost3 TcpUserid4@TcpHost4<br />

.ddn TcpHost5(TcpUserid5) TcpUserid6@TcpHost6<br />

Do not place text from your note on the same line with a .ddn command in<br />

column one. This text would be mistakenly interpreted as additional addresses.<br />

94 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


v No embedded blanks can appear within a <strong>TCP</strong>/<strong>IP</strong> address.<br />

v PROFS does not convert addresses specified on the .ddn command line to<br />

uppercase.<br />

v .ddn commands are not removed from the text of the note, when the note is sent<br />

to other PROFS users on the local or RSCS attached systems. The .ddn<br />

commands are removed from copies sent to the <strong>TCP</strong>/<strong>IP</strong> network recipients.<br />

v If you resend a note with .ddn commands to SMTP, all of the recipients specified<br />

on the .ddn command receive a copy of the mail.<br />

v SMTP ignores .ddn commands in a forwarded note.<br />

Example of Sending a Note Copy to SMTP<br />

OfficeVision does not deliver the mail to the <strong>TCP</strong>/<strong>IP</strong> network recipient; you must<br />

send a copy of the PROFS note to the SMTP virtual machine. SMTP reads the<br />

addresses of the recipients from the OfficeVision note and delivers the note to each<br />

recipient. For example,<br />

E34<br />

Send A Note<br />

Send to: smtp user2 system3(user1)<br />

From: MyName<br />

Subject: (U)<br />

00001 .ddn yktvmv.watson.ibm.com(user20) user10@ytkvmv.watson.ibm.com<br />

00002<br />

00003 ...Text of note goes here...<br />

00004<br />

00005<br />

00006<br />

To verify that SMTP receives a copy of the mail that you send, specify the address<br />

of the SMTP virtual machine in the Send To: field of the note, or with a .cc or .ad<br />

command.<br />

The address of the SMTP virtual machine is SMTP, unless your system<br />

administrator tells you otherwise.<br />

Note Delivery<br />

When SMTP receives a note from a OfficeVision user, the note is rewritten with a<br />

SMTP mail header. The note is also placed in batch SMTP format.<br />

If any of the <strong>TCP</strong>/<strong>IP</strong> addresses specified are invalid, SMTP sends an error message<br />

to the PROFS user. This error message includes the batch SMTP version of the<br />

PROFS note. If the <strong>TCP</strong>/<strong>IP</strong> addresses are valid, but the mail cannot be delivered,<br />

the PROFS user receives an error message of the type described in “Undelivered<br />

Notes” on page 92.<br />

Using IMAP to Access Electronic Mail<br />

Sending and Receiving Electronic Mail<br />

If you are authorized to access mail from an installation that is utilizing the z/<strong>VM</strong><br />

IMAP server support, you as a mail user can use an IMAP client to access your<br />

mail that is residing in the IMAP mailstore on z/<strong>VM</strong>. This permits you, (using a<br />

″client″ email program) to access your mail as if it were local. For example, email<br />

stored on the z/<strong>VM</strong> IMAP server can be manipulated from a desktop computer at<br />

home, a workstation at the office, or a laptop computer while away on business<br />

without the need to transfer messages back and forth.<br />

In order to access mail from an IMAP server, the following needs to take place:<br />

v The user (client) must be enrolled into the IMAP Mailstore.<br />

Chapter 4. Sending and Receiving Electronic Mail 95


Sending and Receiving Electronic Mail<br />

v<br />

The client email software must be configured to recognize the IMAP server in<br />

order to access the message folders.<br />

You will need to contact your <strong>TCP</strong>/<strong>IP</strong> administrator in order to be enrolled as an<br />

IMAP user and can read further about IMAP in the <strong>TCP</strong>/<strong>IP</strong> Planning and<br />

Customization. You will also need to refer to your particular email client’s<br />

documentation on how to access your mail folders.<br />

Using the SMSG Interface to SMTP<br />

SMSG Commands<br />

The <strong>VM</strong> Special Message Facility (SMSG) command provides an interactive<br />

interface to the SMTP virtual machine to perform general user tasks, such as:<br />

v<br />

v<br />

Querying the SMTP mail delivery queues as well as the operating statistics of<br />

the SMTP virtual machine<br />

Performing privileged system administration tasks, such as rebooting or shutting<br />

down the SMTP virtual machine and enabling or disabling various tracing and<br />

debugging options.<br />

Note: There is a privileged user SMSG command set designed for system<br />

administration tasks which are located in the <strong>TCP</strong>/<strong>IP</strong> Planning and<br />

Customization. Responses to commands are sent back to the originator of the<br />

command using CP MSG commands (or CP MSGNOH commands if SMTP<br />

is running with CP privilege class B).<br />

Use the SMSG command for general user queries for the mail delivery queues and<br />

the operating statistics of the SMTP virtual machine.<br />

►► SMSG serverid HElp<br />

QUeues<br />

STats<br />

►◄<br />

Operands<br />

96 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong><br />

Note: Only the uppercase letters of each command are required.<br />

serverid<br />

Specifies the user ID of the virtual machine running the <strong>VM</strong> SMTP server.<br />

HElp<br />

Provides a list of valid SMSG commands accepted by SMTP.<br />

QUeues<br />

Provides a list of mail queued on the various SMTP mail delivery queues.<br />

STats<br />

Provides operating statistics about the SMTP virtual machine. These statistics<br />

include:<br />

v The date that SMTP was last booted<br />

v The number of spool files in SMTP’s RDR<br />

v<br />

v<br />

The number of spool files in SMTP’s RDR in HOLD status (these spool files<br />

are too big for SMTP to process)<br />

The number of files on SMTP’s 191 minidisk


Examples<br />

v<br />

v<br />

v The percent of disk space in use on SMTP’s 191 minidisk<br />

v The statistics about mail handled by SMTP over the past two days. These<br />

statistics include:<br />

– The number of pieces of mail that arrived over tcp connections<br />

– The number of pieces of mail that arrived from spool (from local or RSCS<br />

senders)<br />

– The number of pieces of mail generated in response to requests to<br />

VERBose batch SMTP connections<br />

– The number of pieces of mail generated to return error mail to the sender<br />

– The number of pieces of mail delivered to local recipients<br />

– The number of pieces of mail delivered to recipients on the RSCS network<br />

– The number of pieces of mail delivered to recipients on the <strong>TCP</strong>/<strong>IP</strong><br />

network<br />

– The number of <strong>TCP</strong> connections opened through which mail was received<br />

– The number of <strong>TCP</strong> connections opened through which mail was<br />

delivered<br />

To get a list of queued mail on the SMTP mail delivery queues, enter:<br />

smsg smtp qu<br />

Ready; T=0.01/0.01 10:46:13<br />

* From SMTP: ----- Mail Queues -----<br />

* From SMTP: Spool Queue: 0<br />

* From SMTP: Undeliverable Queue: 0<br />

* From SMTP: --- Resolver Queues ---<br />

* From SMTP: Process Queue: 0<br />

* From SMTP: Send Queue: 0<br />

* From SMTP: Wait Queue: 1<br />

* From SMTP: Retry Queue: 1<br />

* From SMTP: Completed Queue: 0<br />

* From SMTP: Error Queue: 0<br />

Receiving Electronic Mail on <strong>VM</strong><br />

To obtain statistic information about the SMTP virtual machine, enter:<br />

smsg smtp stat<br />

Ready; T=0.01/0.01 10:46:37<br />

* From SMTP: Last Up Time: Mon, 13 Dec 93 09:11:30 EST<br />

* From SMTP: Spool Files : 0 Held: 0<br />

* From SMTP: Disk Files : 6 Full: 01%<br />

* From SMTP: Statistics : 12/23 12/22 12/21 12/20<br />

* From SMTP: From <strong>TCP</strong> : 23 45 44 50<br />

* From SMTP: From Spool : 1 3 7 36<br />

* From SMTP: BSMTP Logs : 10 22 22 24<br />

* From SMTP: Error Mail : 2 4 3 8<br />

* From SMTP: To Local : 65 153 148 166<br />

* From SMTP: To RSCS : 0 0 0 4<br />

* From SMTP: To <strong>TCP</strong> : 0 1 6 30<br />

* From SMTP: Passive Opns: 22 43 45 50<br />

* From SMTP: Active Opens: 0 1 5 13<br />

Sending and Receiving Electronic Mail<br />

When a CMS user receives electronic mail transmitted over a <strong>TCP</strong>/<strong>IP</strong> network, it is<br />

held for the user in their virtual reader until the user acts on it. If the <strong>TCP</strong><strong>IP</strong> DATA<br />

file has been set up with SMTPSERVERID definitions for the SMTP server(s), CMS<br />

productivity aids that manipulate reader files will recognize the mail’s true origin<br />

as other than the local SMTP userid. RECEIVE and PEEK will issue messages with<br />

the domain name origin of the mail. For RECEIVE, this message is limited to 240<br />

Chapter 4. Sending and Receiving Electronic Mail 97


Sending and Receiving Electronic Mail<br />

characters and will be truncated if the domain name causes the message text to<br />

exceed that limit. For PEEK, this message is limited to the user’s defined screen<br />

width and will be truncated if the domain name causes the message text to exceed<br />

that limit. For electronic mail received with the LOG option, the user’s NETLOG<br />

file will also contain the domain name of the originator.<br />

The origin of <strong>TCP</strong>/<strong>IP</strong>-based e-mail is also identified in the User and Node columns<br />

of the RDRLIST panel. Because these fields are each limited to eight characters, this<br />

origin information is divided into user and host domain information. Still,<br />

truncation of these values is likely, and is performed as described in the next<br />

section.<br />

The most widely-used form of an origin address is:<br />

user@host.domain<br />

The RDRLIST “Node” value is obtained from the host.domain portion of the origin<br />

address. This information is tokenized using the periods (.) in this information as<br />

delimiters, and the displayed “Node” value is the most complete string of<br />

unaltered tokens that can be represented using eight characters. If host is itself<br />

greater than eight characters, its left-most eight characters of are displayed.<br />

The RDRLIST “User” value is obtained from the user portion of the origin address<br />

that precedes the “@” sign. If user is greater than eight characters long, its left-most<br />

eight characters are displayed in the “User” field. However, if user contains any<br />

periods (.), this value is instead tokenized and then displayed in the same fashion<br />

as is the host.domain information.<br />

If mail is sent using source routing, the origin address contains additional<br />

information, and would be similar to:<br />

otherhost.other.domain.:user@host.domain<br />

If such an address is encountered, data to the left of the last colon (:) present is<br />

discarded, and the RDRLIST “User” and “Node” values are obtained from the<br />

remaining origin address information, as previously described.<br />

It is also possible for the origin address to include a percent (%) sign, and be of the<br />

form:<br />

user%host@domain<br />

If an address of this kind is encountered, the “@” sign is effectively replaced with a<br />

period (.), and the resulting user and host.domain values are processed to obtain the<br />

RDRLIST “User” and “Node” values in the usual way.<br />

Here are some examples of domain name addresses and the resulting “User” and<br />

“Node” information that would be displayed on the RDRLIST panel:<br />

john.doe%system1@vnet.ibm.com<br />

becomes User: john.doe<br />

and Node: system1<br />

joneswk@gny1vm.vnet.ibm.com<br />

becomes User: joneswk<br />

and Node: gny1vm<br />

Tom_Duffington@arbitrary_host.isp.com<br />

becomes User: Tom_Duff<br />

and Node: arbitrar<br />

98 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Sending and Receiving Electronic Mail<br />

music.marist.edu:urmm@vm.marist.edu<br />

becomes User: urmm<br />

and Node: vm<br />

pink.floyd@darkside.moon.com<br />

becomes User: pink<br />

and Node: darkside<br />

p.t.barnum@big.top.circus.com<br />

becomes User: p.t<br />

and Node: big.top<br />

Chapter 4. Sending and Receiving Electronic Mail 99


Sending and Receiving Electronic Mail<br />

100 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Chapter 5. Logging On to a Foreign Host<br />

TELNET Command<br />

The Telnet and TN3270 protocols provide a standardized interface that allows<br />

fullscreen and linemode terminal oriented processes on hosts that support <strong>TCP</strong>/<strong>IP</strong><br />

to communicate with each other.<br />

This chapter describes the following subjects:<br />

v Using the TELNET Command<br />

v Using the TELNET Function Keys<br />

v Using the TELNET Subcommands<br />

v Sending ASCII Control Characters to a Host in Line Mode.<br />

Use the TELNET command to log on to a foreign host supporting <strong>TCP</strong>/<strong>IP</strong>.<br />

►►<br />

TELNET<br />

foreign_host<br />

HELP<br />

23<br />

port_number<br />

( Options<br />

►◄<br />

Options:<br />

Linemode Firewall TRanslate filename Record<br />

Operands<br />

foreign_host<br />

Specifies the name or internet address of the foreign host.<br />

If you do not specify the name or internet address of the foreign host, you are<br />

prompted for the foreign_host.<br />

port_number<br />

Specifies the port number to which you want to connect on the foreign host.<br />

When connecting to a non-TELNET port, the data exchange must follow the<br />

protocol recognized by the other port. The default is well-known port 23.<br />

Linemode<br />

Indicates the logon operation. LINEMODE uses the line mode and prevents<br />

operation in the transparent (TN3270) mode.<br />

In line mode, the foreign host’s output is displayed on your screen one line at<br />

a time, without full-screen capabilities. In transparent (TN3270) mode, the<br />

foreign host’s full-screen capabilities are functional on your local terminal.<br />

Firewall<br />

Specifies that a connection is to be made to a host in transparent (TN3270)<br />

mode through a proxy server. TELNET establishes a line-mode connection to<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 101


TELNET Command<br />

Usage Notes<br />

TELNET Function Keys<br />

the designated foreign host (the proxy server). You conduct a conversation<br />

with the proxy server to cause it to establish a connection to the actual<br />

destination host. TELNET negotiates the termnial type with that host and will<br />

enter 3270 mode if permitted.<br />

TRanslate filename<br />

Specifies a nonstandard translation table file. If this parameter is not specified,<br />

TELNET searches sequentially for TELNET <strong>TCP</strong>XLBIN and STANDARD<br />

<strong>TCP</strong>XLBIN. If neither is found, TELNET uses the compiled translation table.<br />

TELNET <strong>TCP</strong>XLBIN is supplied. The file type is always <strong>TCP</strong>XLBIN.<br />

A nonstandard translation table is used in line mode only.<br />

Record<br />

Creates a log of interactions with linemode hosts in FILE LOGFILE A. A<br />

different file can be selected by issuing a CMS FILEDEF for ddname LOGFILE.<br />

v<br />

v<br />

v<br />

The TELNET command can only be used when logged on to <strong>VM</strong> using a<br />

3270-type display device. It cannot be used from a linemode terminal.<br />

When you use the TELNET command to connect to a foreign host running<br />

<strong>TCP</strong>/<strong>IP</strong>, your foreign terminal session resembles a local terminal session.<br />

When Telnetting to a 2074 controller the Firewall option must be specified. Also,<br />

the TN3270E LU name and printer functions cannot be used.<br />

This section describes the functions that are assigned to Program Function (PF)<br />

keys when you invoke TELNET in transparent mode and line mode.<br />

In Transparent (TN3270) Mode<br />

In transparent (TN3270) mode, the only function key that is available is the PA1<br />

attention key. The PA1 key in transparent mode indicates that you want to invoke<br />

a TELNET subcommand.<br />

For information about how to send the PA1 keystroke to the foreign session, see<br />

“PA1” on page 104.<br />

In Line Mode<br />

Table 8 shows the functions that are assigned to PF keys when you invoke<br />

TELNET in line mode.<br />

Table 8. TELNET PF Key Functions<br />

Key<br />

PF4-PF12, PF16-PF24,<br />

PF1, PF13<br />

PF2, PF14<br />

PF3, PF15<br />

Function<br />

Displays the TELNET subcommand prompt.<br />

Retrieves the previous input line.<br />

Scrolls the screen forward halfway.<br />

Turns off the display of the user information line. Use either of<br />

these keys before entering your password.<br />

Note: When you connect to a <strong>VM</strong> host from a non-<strong>VM</strong> host, the following applies:<br />

102 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


TELNET Subcommands<br />

v<br />

v<br />

If you invoke TELNET from a non-<strong>VM</strong> host in order to connect to a <strong>VM</strong><br />

host and your client cannot emulate a 3270 data stream, transparent mode<br />

will not be possible. Instead, you will be connected to <strong>VM</strong> as a line-mode,<br />

start-stop terminal.<br />

When connected to <strong>VM</strong> as a line-mode, start-stop terminal, two TELNET<br />

subcommands have a special meaning:<br />

– The Abort Output (AO) subcommand causes a single attention to be<br />

presented. A single attention displays a <strong>VM</strong> READ.<br />

– The Interrupting Process (<strong>IP</strong>) subcommand causes a double attention to<br />

be presented. A double attention displays a CP READ.<br />

The TELNET subcommands are described in detail on pages 103 through 105.<br />

To invoke a TELNET subcommand while you are logged on to the foreign host,<br />

press the designated PF key. For a list of the designated PF keys, see Table 8 on<br />

page 102. After you press the PF key, you are prompted to enter the TELNET<br />

subcommand. TELNET subcommands can be entered in uppercase or lowercase.<br />

You can use the PA1, AYT, AO, <strong>IP</strong>, and SYNCH subcommands to communicate<br />

with the foreign host while you are logged on with the TELNET command. The<br />

following sections describe these subcommands.<br />

None of these subcommands have parameters.<br />

TELNET Command<br />

AO<br />

Use the AO (Abort Output) subcommand to stop displaying output.<br />

►► AO ►◄<br />

The AO subcommand is useful to clear any output that has already been produced<br />

but has not been displayed on your terminal.<br />

AYT<br />

Use the AYT (Are You There) subcommand to query the existence of the<br />

connection.<br />

►► AYt ►◄<br />

If the connection exists and you are operating in transparent mode, the terminal<br />

makes a sound. If you are operating in line mode, you receive a message from the<br />

Telnet server.<br />

BRK<br />

Use the BRK subcommand to send a Break or Attention (Attn) keystroke to the<br />

remote session.<br />

Chapter 5. Logging On to a Foreign Host 103


TELNET Subcommands<br />

►► Brk ►◄<br />

HELP<br />

Use the HELP or ? subcommand to get help.<br />

►►<br />

Help<br />

?<br />

►◄<br />

When you invoke the HELP or ? subcommand, a list of TELNET subcommands is<br />

displayed.<br />

<strong>IP</strong><br />

Use the <strong>IP</strong> (Interrupting Process) subcommand to interrupt the current process<br />

running on the foreign host.<br />

►► Ip ►◄<br />

The <strong>IP</strong> subcommand is useful when you want to stop a process that is in a loop, or<br />

when you want to stop a process that you inadvertently started.<br />

PA1<br />

Use the PA1 subcommand to send a PA1 keystroke to the remote session in<br />

transparent mode.<br />

►► Pa1 ►◄<br />

The PA1 subcommand operates only in transparent mode. The PA1 subcommand<br />

replaces the PA1 attention key on the foreign host.<br />

QUIT<br />

Use the QUIT subcommand to end the TELNET session.<br />

►► Quit ►◄<br />

If you are connected to a foreign host running <strong>TCP</strong>/<strong>IP</strong> and you use the QUIT<br />

subcommand, you are disconnected but not logged off the foreign host. The Virtual<br />

Telecommunication Access Method (VTAM ® ) application you are accessing<br />

determines whether you are also logged off from the foreign host. For example, the<br />

Time Sharing Option (TSO) application disconnects you, but does not log you off.<br />

104 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


TELNET Subcommands<br />

When you want to end a logon session with the foreign host, use the logoff<br />

procedure for the host.<br />

SYNCH<br />

Use the SYNCH (Synchronize data path) subcommand to clear the data path.<br />

►► Synch ►◄<br />

The SYNCH subcommand clears the data path to the foreign host, except for any<br />

TELNET subcommands in the data path.<br />

Sending ASCII Control Characters to a Host in Line Mode<br />

In line mode, use the cent sign (¢) or the grave accent (`) to indicate a control<br />

character. For example, to send Ctrl-p, use either ¢p or `p.<br />

Other control characters are shown in Table 9.<br />

Table 9. Control Characters<br />

Characters<br />

ASCII Output<br />

`2 - `6<br />

1B-1F<br />

`# FF (DEL)<br />

`{ 5B (left square bracket)<br />

`} 5D (right square bracket)<br />

You use either ¢ or ` before pressing the Enter key to suppress the sending of a<br />

carriage return and line feed. This function is useful for continuing a line without<br />

introducing a new line.<br />

The following is an example of using the ¢ to continue a line.<br />

PURGE RDR 45 78 99 67 69¢Enter<br />

56 44<br />

This function works if the command environment of the foreign host responds to a<br />

single non-Enter character, without a carriage return and line feed following it.<br />

Chapter 5. Logging On to a Foreign Host 105


106 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Chapter 6. Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

This chapter describes how to use the NETSTAT, RPCINFO, and PING commands<br />

to obtain information from the network.<br />

v The NETSTAT command displays information about the status of the local host.<br />

v<br />

v<br />

The RPCINFO command displays the servers that are registered and operational<br />

with any portmapper on your network.<br />

The PING command determines the accessibility of a foreign node.<br />

NETSTAT—Displaying Local Host Information<br />

The NETSTAT command displays the network status of the local host. NETSTAT<br />

displays information about <strong>TCP</strong>/<strong>IP</strong> connections, network clients, gateways,<br />

devices, and the Telnet server. NETSTAT also drops connections and executes<br />

commands for users in the <strong>TCP</strong><strong>IP</strong> virtual machine’s OBEY list. For more<br />

information about the OBEY list, see <strong>TCP</strong>/<strong>IP</strong> Planning and Customization.<br />

This section describes the NETSTAT parameters and contains examples of the<br />

responses that are displayed as a result of issuing the NETSTAT command with a<br />

specified parameter.<br />

Note: NETSTAT commands ALLCONN, CONN, and INTERVAL use host entries<br />

from the host siteinfo and host addrinfo files. If you use domain name<br />

server, you must update the host local table and run the MAKESITE<br />

command for NETSTAT to execute correctly.<br />

NETSTAT Command Address Interpretation<br />

The NETSTAT command interprets and displays internet addresses symbolically, if<br />

possible. If an address cannot be interpreted, it is displayed in dotted decimal<br />

notation. Unspecified addresses are displayed as an asterisk (*).<br />

Known port numbers are symbolically displayed. Port numbers that are not known<br />

to the network are displayed numerically. A socket is displayed as an internet<br />

address, followed by two periods (..) and a port number.<br />

NETSTAT Command<br />

Use the NETSTAT command to display network status of the local host.<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 107


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

►►<br />

NETSTAT<br />

▼<br />

Option<br />

Command<br />

(1)<br />

(SELect<br />

▼<br />

Filter<br />

►◄<br />

Option:<br />

COnn<br />

(2) (3)<br />

(3)<br />

ALL<br />

(2) (3)<br />

ALLConn<br />

ARp ipaddress<br />

ALL<br />

CLients<br />

DEvlinks<br />

DOS<br />

FILTers<br />

(4)<br />

Gate<br />

Help<br />

?<br />

HOme<br />

*<br />

IDENTify<br />

ipaddress<br />

(2) (3) 20<br />

Interval<br />

seconds<br />

LEVel<br />

POOLsize<br />

SOCKets<br />

(2)<br />

TCp serverid<br />

(5)<br />

TELnet<br />

Up<br />

Notes:<br />

1 Only user IDs with <strong>TCP</strong>/<strong>IP</strong> OBEY command authorization can use command operands.<br />

2 Only ALLCON, CONN and <strong>TCP</strong> are valid with INTERVAL.<br />

3 The userid filter is valid with ALL, ALLCONN, CONN, and INTERVAL.<br />

4 The ipaddress filter is only valid with GATE.<br />

5 The ldev filter is only valid with TELNET.<br />

108 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

Command:<br />

|<br />

BLock ipaddress<br />

(1)<br />

CP cp_command<br />

DELarp ipaddress<br />

DRop conn_num<br />

OBEY ▼ statement<br />

RESETDOS<br />

RESETPool<br />

UNBlock ipaddress<br />

Filter:<br />

(2)<br />

ipaddress<br />

(3)<br />

ldev<br />

(4)<br />

userid<br />

Notes:<br />

1 All data that follows the CP keyword is used as CP command input.<br />

2 The ipaddress filter is only valid with GATE.<br />

3 The ldev filter is only valid with TELNET.<br />

4 The userid filter is valid with ALL, ALLCONN, CONN, and INTERVAL.<br />

Note: The minimum abbreviation for each parameter is shown in uppercase<br />

letters.<br />

Operands:<br />

ALL<br />

Displays information about all <strong>TCP</strong>/<strong>IP</strong> connections. This option is useful for<br />

debugging the <strong>TCP</strong><strong>IP</strong> virtual machine. For more information about maintaining<br />

the <strong>TCP</strong><strong>IP</strong> virtual machine, see <strong>TCP</strong>/<strong>IP</strong> Planning and Customization.<br />

Displays the following information for UDP sockets being used for:<br />

v Outgoing Multicast Data<br />

v<br />

– the time-to-live value<br />

– whether datagrams are sent to loopback<br />

– the <strong>IP</strong> address of the link on which the datagrams are sent<br />

Incoming Multicast Data<br />

– the multicast groups (by <strong>IP</strong> addresses) for which data is being received.<br />

– the <strong>IP</strong> address of the associated link<br />

ALLConn<br />

Specifies that information about connections in either the “closed” or<br />

“time-wait” state should be provided, in addition to that for active <strong>TCP</strong>/<strong>IP</strong><br />

connections (that is, connections that are not in either of these states).<br />

Chapter 6. Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network 109


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

ARp ipaddress<br />

Displays the ARP cache entry for the designated <strong>IP</strong> address or set of <strong>IP</strong><br />

addresses. To display entries for multiple <strong>IP</strong> addresses, specify the last token of<br />

the <strong>IP</strong> address as an asterisk (*). For example, an ipaddress value of 9.130.48.*<br />

displays ARP cache entries for <strong>IP</strong> addresses from 9.130.48.0 through<br />

9.130.48.255, whereas 9.* displays ARP cache entries for network 9. Specifying<br />

all or a single asterisk * displays all ARP cache entries.<br />

Notes:<br />

1. Entries for network adapters that maintain their own ARP cache are<br />

displayed after those that are maintained within the <strong>TCP</strong>/<strong>IP</strong> server. The<br />

time at which <strong>TCP</strong>/<strong>IP</strong> last obtained adapter-maintained data precedes these<br />

types of entries.<br />

2. The <strong>TCP</strong>/<strong>IP</strong> server requests adapter-maintained ARP data upon each<br />

NETSTAT ARP invocation. This data is not displayed for an initial<br />

NETSTAT ARP command. To display current adapter-maintained ARP data,<br />

issue at least two NETSTAT ARP commands, in sequence.<br />

ARp ALL<br />

Displays the ARP cache entry for all <strong>IP</strong> addresses. An asterisk (*) can be used<br />

for this purpose as well.<br />

BLock ipaddress<br />

Ignores incoming traffic from the designated <strong>IP</strong> address or set of <strong>IP</strong> addresses.<br />

To block traffic from multiple <strong>IP</strong> addresses, specify the last token of the <strong>IP</strong><br />

address as an asterisk (*). For example, an ipaddress value of 9.130.48.* blocks<br />

traffic from <strong>IP</strong> addresses from 9.130.48.0 through 9.130.48.255, whereas 9.*<br />

blocks traffic from network 9.<br />

|<br />

|<br />

|<br />

Note: You should exercise care when selecting <strong>IP</strong> addresses which are to be<br />

blocked. It is possible to block one’s own <strong>IP</strong> address, resulting in<br />

unpredictable behavior.<br />

CLients<br />

Displays the following information about each client:<br />

v Authorization, as known by the <strong>TCP</strong>/<strong>IP</strong> server; possible values are:<br />

Autologged<br />

Informed<br />

Monitor<br />

Probed<br />

No-garbage-collect<br />

Client is listed in the AUTOLOG list, so can<br />

be autologged by the <strong>TCP</strong>/<strong>IP</strong> server.<br />

Client is listed in the <strong>TCP</strong>/<strong>IP</strong> INFORM list; it<br />

may receive error notifications.<br />

Client is listed in the <strong>TCP</strong>/<strong>IP</strong> OBEY list; it<br />

can issue <strong>TCP</strong>/<strong>IP</strong> monitor command<br />

requests that should be obeyed.<br />

Client supports connection probe notices.<br />

Resources in use by this client will not be<br />

affected by <strong>TCP</strong>/<strong>IP</strong> “garbage collection”<br />

activity.<br />

v Notes handled by the client<br />

v Elapsed time since the client was last used<br />

v Elapsed time since the client was last forced (applies only to clients in the<br />

AUTOLOG list)<br />

v <strong>VM</strong>CF error count<br />

COnn<br />

Displays the following information about each active <strong>TCP</strong>/<strong>IP</strong> connection:<br />

v User ID<br />

110 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

v<br />

v<br />

v<br />

v<br />

Connection number<br />

Local socket<br />

Foreign socket<br />

Connection state<br />

<strong>TCP</strong>/<strong>IP</strong> considers a connection to be active if it is not in a “closed” or<br />

“time-wait” state.<br />

CONN is the default parameter.<br />

Note: In a Secure Socket Layer (SSL) session, there are two connections — the<br />

connection from the remote client to the security server and the<br />

connection from the security server to the application server. For each of<br />

these connections, the connection number for the partner connection of<br />

the secure session is displayed on the next line.<br />

CP cp_command<br />

Specifies a CP command to be issued by the <strong>TCP</strong>/<strong>IP</strong> server; all data that<br />

follows the CP parameter is construed to be part of the CP command. For<br />

example, to close the console of the <strong>TCP</strong><strong>IP</strong> virtual machine and send this<br />

output to a specific user ID, use this NETSTAT command:<br />

netstat cp spool cons close to userid<br />

Up to 512 bytes of the CP command response are displayed by the NETSTAT<br />

command.<br />

|<br />

|<br />

|<br />

|<br />

|<br />

Note: CP commands can be used only by privileged <strong>TCP</strong>/<strong>IP</strong> users, as<br />

identified by the <strong>TCP</strong>/<strong>IP</strong> server’s OBEY statement. For more information<br />

about listing user IDs with the OBEY statement, see <strong>TCP</strong>/<strong>IP</strong> Planning and<br />

Customization.<br />

DELarp ipaddress<br />

Deletes the ARP cache entry for the designated <strong>IP</strong> address or set of <strong>IP</strong><br />

addresses. To delete entries for multiple <strong>IP</strong> addresses, specify the last token of<br />

the <strong>IP</strong> address as an asterisk (*). For example, an ipaddress value of 9.130.48.*<br />

deletes ARP cache entries for <strong>IP</strong> addresses from 9.130.48.0 through 9.130.48.255,<br />

whereas 9.* deletes ARP cache entries for network 9, and * deletes all ARP<br />

cache entries.<br />

Notes:<br />

1. The DELARP command can be used only by privileged <strong>TCP</strong>/<strong>IP</strong> users. For<br />

more information about listing user IDs with the OBEY statement, see<br />

<strong>TCP</strong>/<strong>IP</strong> Planning and Customization.<br />

2. Adapter-maintained ARP entries cannot be deleted using the NETSTAT<br />

DELARP command.<br />

DEvlinks<br />

Displays the following information about the devices and links defined for the<br />

<strong>TCP</strong>/<strong>IP</strong> virtual machine:<br />

v Device name<br />

v Device type<br />

v Status<br />

v Queue size<br />

v Address<br />

v Link name<br />

v Link type<br />

v Net number<br />

Chapter 6. Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network 111


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

|<br />

|<br />

|<br />

|<br />

v<br />

v<br />

v<br />

v<br />

v<br />

Multicast specific information<br />

Broadcast capability<br />

QDIO port name and router type<br />

HiperSockets port name<br />

CLAW interface information<br />

The Multicast Specific field is significant only for multicast-capable links. If a<br />

link is being used to receive multicast data, then all the multicast groups, and<br />

the counts of receivers for each multicast group are displayed.<br />

Some fields of the DEVLINKS display are device-dependent. These exceptions<br />

are described in the list that follows.<br />

Address<br />

The base address is displayed for all devices, except <strong>IBM</strong> Token-Ring<br />

LAN System (ILANS) and Ethernet LAN System (ELANS). For ILANS<br />

and ELANS devices, the control port address is displayed.<br />

Status<br />

Some device drivers do not provide device-specific status. For these<br />

devices, possible status values are:<br />

Active<br />

The device is started.<br />

Inactive<br />

The device is not started.<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

The LAN Channel Station (LCS), ILANS, and ELANS drivers provide<br />

information about the progress of their initialization procedure. This<br />

information can be useful when <strong>TCP</strong>/<strong>IP</strong> server initialization problems<br />

are being addressed. For these types of devices, the status field<br />

displays Ready when the initialization process is complete; if these<br />

devices are not started, the status field displays Inactive.<br />

Net Number<br />

This is an integer that identifies the relative adapter number of a<br />

network adapter within an LCS device, for which a link is defined. The<br />

value is 0 for the first adapter in the LCS, 1 for the second adapter, and<br />

so on. This field is significant only for links defined for LCS devices.<br />

DOS<br />

Displays information about Denial-of- Service attacks. For each attack detected,<br />

it displays the following information:<br />

v<br />

v<br />

v<br />

v<br />

v<br />

v<br />

v<br />

The name of the attack<br />

Up to seven <strong>IP</strong> addresses from which the attack was launched. (For Fraggle,<br />

Smurf-IC, Smurf-OB, and Smurf-RP, the <strong>IP</strong> address is spoofed to be the<br />

address of the victim of the attack. Other denial-of-service attacks may also<br />

spoof the source <strong>IP</strong> address to be the address to be something other than the<br />

address of where the attack originated.)<br />

An <strong>IP</strong> address of * to represent any additional <strong>IP</strong> addresses that are not<br />

already displayed.<br />

The number of attacks detected per <strong>IP</strong> address.<br />

The elapsed time since the first attack was detected.<br />

The duration of the attacks.<br />

The maximum number of half-open connections that are allowed. See the<br />

″PENDINGCONNECTIONLIMIT″ configuration statement in the <strong>TCP</strong>/<strong>IP</strong><br />

Planning and Customization for more information.<br />

DRop conn_num<br />

Drops the <strong>TCP</strong>/<strong>IP</strong> connection specified by conn_num. You determine the<br />

112 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

connection number to be dropped from the CONN column of the NETSTAT<br />

CONN or NETSTAT TELNET display. If you drop the “passive open”<br />

connection for a server, that server will immediately reissue an “open” request.<br />

Note: The DROP command can be used only by privileged <strong>TCP</strong>/<strong>IP</strong> users. For<br />

more information about listing user IDs with the OBEY statement, see<br />

<strong>TCP</strong>/<strong>IP</strong> Planning and Customization.<br />

FILTers<br />

Displays information about blocked <strong>IP</strong> addresses. For each blocked address or<br />

set of addresses, it provides the following information:<br />

v The <strong>IP</strong> address<br />

v The number of packets discarded<br />

v How long the block has been in effect<br />

v How long ago the last packet from the <strong>IP</strong> address was discarded<br />

Gate<br />

Displays information about gateways (dynamic routes) known by the <strong>TCP</strong>/<strong>IP</strong><br />

server. The following information is displayed for each gateway:<br />

v Address of the network<br />

v First hop address<br />

v flags<br />

U The route is up.<br />

G The route is to a gateway<br />

H The route is to a host rather than to a network.<br />

C The route was created dynamically by a redirect.<br />

M The route was modified dynamically by a redirect.<br />

S The route is a static route. Only routes defined using the GATEWAY<br />

configuration statement are flagged as static.<br />

v Link name used by the first hop<br />

v Packet size used by the first hop<br />

v Subnet mask and subnet value<br />

Help<br />

?<br />

Displays brief help information about the NETSTAT command and its<br />

operands and parameters.<br />

HOme<br />

Displays the HOME list known by the <strong>TCP</strong>/<strong>IP</strong> server; an internet address and<br />

link name are displayed for each entry of the HOME list. For more information<br />

about the HOME list (and the HOME statement), see <strong>TCP</strong>/<strong>IP</strong> Planning and<br />

Customization.<br />

IDENTify ipaddress<br />

Produces information identifying the connections associated with a given <strong>IP</strong><br />

address or set of <strong>IP</strong> addresses. To select a set of <strong>IP</strong> addresses, specify the last<br />

token of the <strong>IP</strong> address as an asterisk (*). For example, to produce information<br />

about all <strong>IP</strong> addresses that begin with 9.148.134, use the operand 9.148.134.*.<br />

The output from IDENTIFY is intended for programmable use and as such is<br />

blank delimited rather than formatted in columns.<br />

Chapter 6. Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network 113


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

Interval seconds<br />

Initiates a full screen display of <strong>TCP</strong>/<strong>IP</strong> connections. The screen is updated<br />

every seconds seconds; the default is 20 seconds. Information may be sorted by<br />

idle time (the default), foreign socket, user ID, bytes out, bytes in, or by<br />

(connection) state.<br />

The following information is given for each connection:<br />

v User ID<br />

v Bytes sent on the connection<br />

v Bytes received on the connection<br />

v Local port<br />

v Foreign socket<br />

v Connection State<br />

v Idle time (hh:mm:ss)<br />

The number of TCBs in use is displayed at the bottom of the screen.<br />

PF Key Settings for the Interval display screen are as follows:<br />

PF 1 Usr Sort by User ID<br />

PF 2 Sock Sort by Foreign Socket<br />

PF 3 Quit Exit<br />

PF 4 BOut Sort by Bytes Out (bytes sent on a connection)<br />

PF 5 BIn Sort by Bytes In (bytes received on a connection)<br />

PF 6 St Sort by Connection State<br />

PF 7 Up Scroll Up (Backward) — when more than one screen of<br />

information is available for display.<br />

PF 8 Dwn Scroll Down (Forward) — when more than one screen of<br />

information is available for display.<br />

PF 9 Save Save Data in a file (NETSTAT DATA) and Exit<br />

PF 10 T/B Scroll to Top / Bottom of Data<br />

PF 11 Ip@ Locate Function; the line at which the cursor is positioned<br />

becomes the first line of displayed information.<br />

PF 12 Rfsh Refresh Connection Information<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

Note: The Enter key displays exit capability identical to that displayed by the<br />

F3 (Exit) PF key.<br />

LEVel<br />

Displays the processor type, z/<strong>VM</strong> system level, and <strong>TCP</strong>/<strong>IP</strong> system level.<br />

OBEY statement<br />

Processes one or more <strong>TCP</strong>/<strong>IP</strong> server configuration statements as if they had<br />

been entered in a file and used as the object of an OBEYFILE command. All<br />

data that follows the OBEY parameter is processed as part of the statement<br />

string. The OBEY command is subject to the considerations described in<br />

<strong>TCP</strong>/<strong>IP</strong> Planning and Customization for use of the OBEYFILE command. In<br />

addition, the length of the OBEY command operand is limited to roughly 240<br />

characters, so not all configuration changes can be made using this command.<br />

Whenever you add or change a configuration statement using the OBEY<br />

command, be aware that the existing statement is replaced. Therefore, you<br />

must supply the entire statement, not just the new or changed portions.<br />

When there is a problem with OBEY, file PROFILE <strong>TCP</strong>ERROR is sent to your<br />

reader containing a description of the error and the following error message is<br />

displayed:<br />

Configuration error. Details are in PROFILE <strong>TCP</strong>ERROR.<br />

114 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

Note: The OBEY command can be used only by privileged <strong>TCP</strong>/<strong>IP</strong> users, as<br />

identified by the <strong>TCP</strong>/<strong>IP</strong> server’s OBEY statement. For more information<br />

about this facility, see <strong>TCP</strong>/<strong>IP</strong> Planning and Customization.<br />

POOLsize<br />

Displays information about free pool control block and data buffer pools. The<br />

following information is displayed for each free pool element:<br />

v Name of the free pool element.<br />

v Number of elements allocated at server initialization.<br />

v Number of elements available for use.<br />

v “Low water mark” for this element pool; this is the fewest number of<br />

elements that have been available since <strong>TCP</strong>/<strong>IP</strong> was started.<br />

v Permit size calculated for this element. If the number of elements for a pool<br />

drops below the permit size, <strong>TCP</strong>/<strong>IP</strong> considers the pool to be running low.<br />

For more information about the free pool, see <strong>TCP</strong>/<strong>IP</strong> Planning and<br />

Customization.<br />

RESETDOS<br />

Resets the data displayed for the Denial-of-Service (DOS) attacks.<br />

Notes:<br />

1. The RESETDOS command can be used only by privileged <strong>TCP</strong>/<strong>IP</strong> users.<br />

Such users are identified with the <strong>TCP</strong>/<strong>IP</strong> OBEY statement. For more<br />

information about listing user IDs with the OBEY statement, see <strong>TCP</strong>/<strong>IP</strong><br />

Planning and Customization.<br />

RESETPool<br />

Resets the “informed” message flags for all free pool element pools. This allows<br />

pool-related notification messages and mail to again be sent.<br />

When the number of elements for a particular pool drops below its permit size,<br />

the <strong>TCP</strong>/<strong>IP</strong> server sends a message and mail to all users listed in the INFORM<br />

list, and then sets an “informed” flag for that pool. This flag blocks further<br />

notifications for the pool, even its number of elements rises above, and then<br />

again drops below, the permit size.<br />

Note: The RESETPOOL command can be used only by privileged <strong>TCP</strong>/<strong>IP</strong><br />

users. Such users are identified with the <strong>TCP</strong>/<strong>IP</strong> OBEY statement. For<br />

more information about listing user IDs with the OBEY statement, see<br />

<strong>TCP</strong>/<strong>IP</strong> Planning and Customization.<br />

SELect filter<br />

Specifies a character string that is used to limit response information to entries<br />

associated with a specific:<br />

v client or server user ID (userid)<br />

v <strong>IP</strong> address (ipaddress)<br />

v logical device number (ldev)<br />

The value specified for filter can be a complete string, or a partial string<br />

terminated by an asterisk (*) to select information about multiple entries that<br />

all begin with filter.<br />

For example, to select information that corresponds to only the “default”<br />

gateway route known by <strong>TCP</strong>/<strong>IP</strong>, specify the filter value default for a<br />

NETSTAT GATE command, as follows:<br />

netstat gate (select default<br />

Chapter 6. Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network 115


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

You can specify up to six unique filter values, each of which can be up to 16<br />

characters long. If specified, the SELECT operand and its filter value(s) must be<br />

the last parameters of the NETSTAT command.<br />

SOCKets<br />

Displays information about each client using the socket interface.<br />

Each set of one or more sockets is preceded in the response by a socket<br />

descriptor. The descriptor contains the following information:<br />

Name: The virtual machine User id of the socket set owner.<br />

Subtask: Identifies the client application<br />

Path id: The IUCV path identifier<br />

Pending call: The name of the active socket function, if any.<br />

|<br />

|<br />

The following information is displayed for each socket:<br />

Sock Is the socket number.<br />

Type Indicates the socket type, such as stream (<strong>TCP</strong>) sockets,<br />

datagram (UDP) sockets, raw sockets, or the special SNMP DPI<br />

socket type used only by SNMP agents.<br />

Bound to Shows the address and port to which the socket is bound.<br />

Unbound <strong>TCP</strong> and UDP sockets are not displayed by the<br />

NETSTAT CONN or NETSTAT INTERVAL commands.<br />

Connected to Shows the address and port to which the socket is connected.<br />

State Displays the <strong>TCP</strong> connection state for <strong>TCP</strong> sockets. For raw<br />

sockets, the <strong>IP</strong> protocol number is displayed as well. If the<br />

State field is blank, the Conn field is also blank.<br />

Flgs<br />

Connection flag (displayed for <strong>TCP</strong> sockets only); possible<br />

values are:<br />

A Indicates a connection on the almost accept queue.<br />

C Indicates a connection on the accept queue.<br />

L Indicates a listening socket.<br />

Conn Displays the internal <strong>TCP</strong> control block (TCB) number used by<br />

the <strong>TCP</strong>/<strong>IP</strong> server for this connection. Conn applies only to<br />

<strong>TCP</strong> sockets. If this field is blank, the flag for this connection<br />

will be an L; this indicates this is a listening socket for which<br />

the accept queue is full, or for which the <strong>TCP</strong>/<strong>IP</strong> server is<br />

temporarily unable to allocate resources to put a TCB in a<br />

“Listen” state. Attempts to connect to the port (displayed in<br />

the Bound to field) are ignored; this allows <strong>TCP</strong> to retry the<br />

connection.<br />

TCp server<br />

Identifies the <strong>TCP</strong>/<strong>IP</strong> Stack server for which status information is to be<br />

displayed, or to which commands are to be directed.<br />

TELnet<br />

Displays the status of the internal Telnet server.<br />

UNBlock ipaddress<br />

Allows incoming traffic from the designated <strong>IP</strong> address or set of <strong>IP</strong> addresses<br />

by removing a previously defined filter. The specification must match the<br />

original definition.<br />

116 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Up<br />

Displays the date and time that <strong>TCP</strong>/<strong>IP</strong> was started.<br />

Examples<br />

This section shows sample responses for various NETSTAT commands, issued with<br />

a specific operand or set of operands.<br />

ALL<br />

The following is a sample of the information that is displayed, in this case for two<br />

clients after entering NETSTAT ALL.<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Client: FTPSERVE Last Touched: 2:07:08<br />

Local Socket: *..FTP-C Foreign Socket: *..*<br />

BackoffCount: 0<br />

ClientRcvNxt: 0<br />

ClientSndNxt: 713933277<br />

CongestionWindow: 65535<br />

Local connection name: 1002<br />

Sender frustration level: Contented<br />

Incoming window number: 0<br />

Initial receive sequence number: 0<br />

Initial send sequence number: 0<br />

Maximum segment size: 536<br />

Outgoing window number: 0<br />

Precedence: Routine<br />

RcvNxt: 0<br />

Round-trip information:<br />

Smooth trip time: 0.000<br />

Smooth trip variance: 1.500<br />

Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

More...<br />

BTP311S6<br />

SlowStartThreshold: 65535<br />

SndNxt: 713933276<br />

SndUna: 713933276<br />

SndWl1: 0<br />

SndWl2: 0<br />

SndWnd: 0<br />

MaxSndWnd: 0<br />

State: Listen<br />

No pending <strong>TCP</strong>-receive<br />

----<br />

Client: ROUTED Last Touched: 0:00:03<br />

Local Socket: *..520<br />

Multicast: TimeToLive: 1 LoopBack: Yes Outgoing<strong>IP</strong>Address: *<br />

MulticastGroup IncomingIpAddress<br />

-------------- -----------------<br />

224.0.0.9 9.130.48.70<br />

224.0.0.9 9.130.176.198<br />

224.0.0.9 9.130.248.99<br />

224.0.0.9 9.130.251.26<br />

224.0.0.9 9.130.251.18<br />

Ready;<br />

ALLCONN<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT ALLCONN.<br />

Chapter 6. Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network 117


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Active Transmission Blocks<br />

User Id Conn Local Socket Foreign Socket State<br />

---- -- ---- ----- ------ ------- ------ -----<br />

FTPSERVE 1005 *..FTP-C *..* Listen<br />

<strong>TCP</strong>USER 1013 HE60..1038 HE51..TELNET Established<br />

NAMESRV UDP *..DNS *..* UDP<br />

INTCLIEN 1002 HE60..TELNET HT102..1024 Established<br />

Ready;<br />

ARP<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT ARP 9.117.*<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Querying ARP cache for address 9.117.*<br />

Link TR1 : <strong>IBM</strong>TR: 08005A8B322E <strong>IP</strong>: 9.117.32.15<br />

Route info: 8220<br />

Link TR1 : <strong>IBM</strong>TR: 0004AC20521C <strong>IP</strong>: 9.117.32.29<br />

Route info: 0000<br />

Link TR1 : <strong>IBM</strong>TR: 40000057FDBC <strong>IP</strong>: 9.117.32.249<br />

Route info: 0592<br />

Link ETH1 : ETHERNET: 42608C2CE222 <strong>IP</strong>: 9.117.176.4<br />

Adapter-maintained data as of: 04/19/01 10:00:59<br />

LINK OSDQDIO2 : QDIOETHERNET: 10005A998C6B <strong>IP</strong>: 9.117.176.1<br />

LINK OSDQDIO2 : QDIOETHERNET: 0004AC7C82F5 <strong>IP</strong>: 9.117.176.245<br />

LINK OSDQDIO2 : QDIOETHERNET: 0004AC7C82F5 <strong>IP</strong>: 9.117.248.157<br />

Ready;<br />

BLOCK<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT BLOCK 9.130.48.*<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Function performed<br />

Ready;<br />

CLIENTS<br />

The following are examples of the information that is displayed for a client after<br />

entering NETSTAT CLIENTS.<br />

For a client with notes handled:<br />

118 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Current clients:<br />

Client: FTPSERVE<br />

Authorization: Autologged<br />

Notes Handled: Buffer space available, Connection state changed, Data delivered,<br />

Urgent pending, Other external interrupt received, Timer expired,<br />

FSend response<br />

FReceive erro, IUCV interrupt<br />

Last Touched: 2:20:07 Last Forced: 2:36:59<br />

Vmcf error count: 0<br />

Ready;<br />

For a client with no notes handled:<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Current clients:<br />

Client: OPERATOR<br />

Authorization: Monitor, Informed<br />

Notes Handled: none<br />

Last Touched: 2:17:43 Last Forced: 2:34:23<br />

Vmcf error count: 0<br />

Ready;<br />

CONN<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT CONN.<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Active Transmission Blocks<br />

User Id Conn Local Socket Foreign Socket State<br />

---- -- ---- ----- ------ ------- ------ -----<br />

FTPSERVE 1002 *..FTP-C *..* Listen<br />

INTCLIEN 1000 *..TELNET *..* Listen<br />

INTCLIEN 2102 9.4.5.6:23 9.4.5.6:999 Established<br />

2023<br />

SMTP 1001 *..SMTP *..* Listen<br />

SMTP UDP *..1024 *..* UDP<br />

PORTMAP UDP *..PMAP *..* UDP<br />

PORTMAP 1003 *..PMAP *..* Listen<br />

NAMESRV 1004 *..DNS *..* Listen<br />

NAMESRV UDP *..DNS *..* UDP<br />

SSLSERV 2023 9.4.5.6:999 9.1.2.3:1000 Established<br />

2102<br />

Ready;<br />

CP<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT CP QUERY TIME.<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

CP command output is:<br />

TIME IS 17:27:58 EST WEDNESDAY 11/18/93<br />

CONNECT= 00:23:25 VIR<strong>TCP</strong>U= 000:03.62 TO<strong>TCP</strong>U= 000:05.79<br />

CP return code= 0<br />

Ready;<br />

Chapter 6. Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network 119


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

Note: You must be a privileged user to use the CP command.<br />

DELARP<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT DELARP 9.130.3.48.<br />

Note: You must be a privileged user to use the DELARP command.<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

1 ARP cache entries deleted for 9.130.3.48<br />

Ready;<br />

DEVLINKS<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT DEVLINKS.<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

|<br />

|<br />

|<br />

Device TO<strong>TCP</strong>2 Type: CTC Status: Ready<br />

Queue size: 0<br />

Address: 03F8<br />

Link VCTC2 Type: CTC Net number: 0<br />

Broadcast Capability: Yes<br />

Multicast Capability: Yes<br />

Device LCS1 Type: LCS Status: Ready<br />

Queue Size: 0<br />

Address: 09E0<br />

Link ETH1 Type: ETHERNET Net number: 0<br />

Broadcast Capability: Yes<br />

Multicast Capability: Yes<br />

Group<br />

Members<br />

----- -------<br />

224.67.113.10 3<br />

225.36.12.9 5<br />

Link TR1<br />

Broadcast Capability: Yes<br />

Multicast Capability: No<br />

Ready;<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

In the preceding example, the first device indicated is TO<strong>TCP</strong>2, which is a device of<br />

type CTC (a Channel-to-Channel device) that has a base virtual address of 03F8.<br />

There is one link defined for this device, named VCTC2. This link has LAN<br />

broadcast and multicast capabilities.<br />

The second device indicated is LCS1, which is a device of type LCS (a LAN Channel<br />

Station device) that has a base virtual address of 09E0. There are two links defined<br />

for this device — ETH1, an Ethernet link, and TR1, an <strong>IBM</strong> Token-Ring link<br />

(indicated as <strong>IBM</strong>TR). The Net number (or, relative adapter number) for each device is<br />

0; this indicates that each of these links are the first such links, of their respective<br />

type, defined for this device. The first link (ETH1) has LAN broadcast and<br />

multicast capabilities. There are 3 members in the multicast group 224.67.113.10<br />

and 5 members in the multicast group 225.36.12.9. The second link (TR1) has LAN<br />

broadcast capabilities, but is not multicast-capable.<br />

The status of both of these devices is “Ready”, which indicates they are<br />

operational. Also, the Queue Size of zero for each indicates that no envelopes are<br />

queued for output.<br />

120 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

|<br />

|<br />

Device IUCV1 Type: SNA IUCV Status: Will retry connect<br />

Queue Size: 0 Vm Id: SNALNKB Pgm: SNALINK LU: SNALKAO4<br />

Link IUCVL1 Type: IUCV Net number: 1<br />

Broadcast Capability: Yes<br />

Multicast Capability: Yes<br />

Device IUCV2 Type: SNA IUCV Status: Issued connect<br />

Queue Size: 0 Vm Id: SNALNKB Pgm: SNALINK LU: SNALKCO4<br />

Link IUCVL2 Type: IUCV Net number: 1<br />

Broadcast Capability: Yes<br />

Multicast Capability: Yes<br />

Ready;<br />

|<br />

|<br />

|<br />

In this example, the first device is IUCV1. A connection attempt to the SNALNKB<br />

virtual machine has failed, as indicated by the “Will retry connect” status. This<br />

connection will be retried again in 30 seconds. The remote Logical Unit (LU) name<br />

for this device is SNALKA04. This link has LAN broadcast and multicast capabilities.<br />

For the second device, IUCV2, the <strong>TCP</strong>/<strong>IP</strong> server has issued an IUCV CONNECT.<br />

This connection is accepted by the SNALNKB virtual machine when the SNA sessions<br />

to LU SNALKC04 are established. This link has LAN broadcast and multicast<br />

capabilities.<br />

For information about the status output for the SNAIUCV and SNALU62 devices,<br />

see <strong>TCP</strong>/<strong>IP</strong> Planning and Customization.<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Device DEVHS0 Type: H<strong>IP</strong>ERS Status: Ready<br />

Queue size: 0 Address: 0520 Port name: HSA0PORT<br />

Router Type: NonRouter<br />

Link LINKHS0 Type: QDIO<strong>IP</strong> Net number: 0<br />

Broadcast Capability: No<br />

Multicast Capability: Yes<br />

Group<br />

Members<br />

----- -------<br />

224.0.0.1 1<br />

Device DEVOSD0 Type: OSD Status: Ready<br />

Queue size: 0 Address: 0540 Port name: OSD0PORT<br />

Router Type: NonRouter<br />

Link LINKOSD0 Type: QDIOETHERNET Net number: 0<br />

Broadcast Capability: Yes<br />

Multicast Capability: No<br />

Ready;<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

The first device in this example is DEVHS0, which is a device type of H<strong>IP</strong>ERS (a<br />

HiperSocket device). This device has a base virtual address of 0520, a port name of<br />

HSA0PORT, and a router type of NonRouter. There is one link defined for this<br />

device, named LINKHS0, which is a device type of QDIO<strong>IP</strong> (Queued Direct I/O<br />

Internet Protocol) that has no LAN broadcast capabilities, but is multicast capable.<br />

There is one member in the multicast group 224.0.0.1.<br />

Chapter 6. Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network 121


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

The second device indicated is DEVOSD0, which is a device type of OSD<br />

(indicating it is an OSA Express Adapter using the QDIO Hardware Facility) at<br />

base virtual address 0540 with a port name of OSD0PORT. This device is also a<br />

NonRouter type. One link is defined for this device, named LINKOSD0, which is a<br />

QDIOETHERNET device type that has LAN broadcast capabilities, but is not<br />

multicast capable.<br />

DOS<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT DOS.<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Maximum Number of Half Open Connections: 2500<br />

Attacks Elapsed Attack<br />

Attack <strong>IP</strong> Address Detected Time Duration<br />

-------- --------------- --------- --------- ---------<br />

Fraggle 10.130.248.97 2450 0:08:53 0:02:25<br />

10.130.248.99 100 0:05:31 0:00:50<br />

Smurf-OB 10.130.58.253 120 0:18:21 0:00:34<br />

10.130.58.25 330 0:18:21 0:00:36<br />

10.32.232.45 165 0:16:43 0:02:32<br />

10.117.222.18 3 0:08:41 0:00:03<br />

10.130.249.43 2 0:08:15 0:00:00<br />

10.130.58.22 2 0:07:49 0:00:01<br />

10.117.32.30 5 0:06:45 0:01:41<br />

* 1450 0:05:47 0:04:30<br />

POD 10.130.58.22 23743 0:01:11 0:01:00<br />

DROP<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT DROP 1002.<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Connection successfully dropped<br />

Ready;<br />

Note: You must be a privileged user to use the DROP command.<br />

FILTERS<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT FILTERS.<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Blocked <strong>IP</strong> addresses:<br />

Packets Active Last<br />

<strong>IP</strong> Address Discarded For Packet<br />

---------- ---------- ------- ------<br />

9.130.48.223 77 0:03:22 0:00:37<br />

9.130.48.56 9 0:03:22 0:01:21<br />

Ready;<br />

GATE<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT GATE.<br />

122 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Known gateways:<br />

NetAddress FirstHop Flgs Pkt Sz Subnet Mask Subnet Value Link<br />

---------- -------- ------- ------ ----------- ------------ ----<br />

Default 9.67.58.234 UGS Default TRI<br />

9.0.0.0 U 2000 0.255.255.224 0.67.58.224 TR1<br />

9.0.0.0 US 1500 0.255.255.224 0.67.58.32 ETH1<br />

9.0.0.0 S 2000 0.255.255.224 0.67.58.96 SNA1<br />

Ready;<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT GATE with the (SELECT 9.117.68.* option.<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Known gateways:<br />

NetAddress FirstHop Flgs Pkt Sz Subnet Mask Subnet Value Link<br />

---------- -------- ------ ------ ----------- ------------ ----<br />

9.117.68.10 UHS 1500 HOST GDL<strong>VM</strong>0<br />

9.117.68.14 UHS 2000 HOST <strong>TCP</strong><strong>IP</strong>1<br />

9.117.68.18 HS 1500 HOST <strong>TCP</strong><strong>IP</strong>2<br />

Ready;<br />

HELP<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT HELP or NETSTAT ?.<br />

Chapter 6. Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network 123


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Usage: netstat option/command modifier<br />

Current information viewable:<br />

ALL - Everything about a connection<br />

ALLCONN - With CONN or INTERVAL options, shows<br />

TIME-WAIT and CLOSED connections<br />

ARP ip adr- Query ARP entry<br />

CLIENTS - Current clients<br />

CONN - Active control blocks<br />

DEVLINKS - Devices and links<br />

DOS - Displays Denial-of-Service attacks<br />

FILTERS - Displays <strong>IP</strong> addresses being blocked<br />

GATE - Current known gateways<br />

HOME - Home address list<br />

IDENTIFY - Identifies connections with a given <strong>IP</strong> address<br />

INTERVAL n- Full screen, real-time, connection display<br />

LEVEL - <strong>TCP</strong>/<strong>IP</strong> software level information<br />

POOLSIZE - Free pool status<br />

RESETDOS - Resets data for DOS attacks<br />

SOCKETS - Socket interface users and their sockets<br />

<strong>TCP</strong> server- Displays detailed info about the specified <strong>TCP</strong>/<strong>IP</strong> server<br />

TELNET - Telnet connections and logical devices<br />

UP - Date and time <strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> was last started<br />

Commands available:<br />

BLOCK adr - Ignore packets from an <strong>IP</strong> address<br />

CP command- Issue a CP command<br />

DELARP adr- Delete ARP cache entry for an <strong>IP</strong> address<br />

DROP n - Drop a <strong>TCP</strong> connection<br />

OBEY stmt - Changes <strong>TCP</strong>/<strong>IP</strong> configuration parameters<br />

RESETDOS - Resets the data displayed for DOS attacks<br />

RESETPOOL - Reset record of pool informs sent<br />

UNBLOCK adr-Process packets from an <strong>IP</strong> address<br />

( SELECT select-value1...select-value6<br />

For ALL CLIENTS CONN GATE INTERVAL TELNET select specific info<br />

select-value may be a partial string terminated by a ’*’<br />

Ready;<br />

HOME<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT HOME.<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Home address list:<br />

Address<br />

Link<br />

------- ------<br />

9.67.58.33 ETH1<br />

9.67.58.225 TR1<br />

9.67.58.97 SNA1<br />

IDENTIFY<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT IDENTIFY 9.130.57.*:<br />

124 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

9.117.32.29 23 9.130.57.37 1081 INTCLIEN L00E6 DIALED TO YVETTE 0200<br />

9.117.32.29 23 9.130.57.37 1082 INTCLIEN L00D8 DIALED TO P<strong>VM</strong> 050C<br />

9.117.32.29 23 9.130.57.37 1081 INTCLIEN L000B ENABLED<br />

9.117.32.29 23 9.130.57.37 1081 INTCLIEN L0027 LOGON AS M1GR2S 0009<br />

9.117.32.29 1501 9.130.57.110 2538 DSOSERV<br />

9.117.32.29 1501 9.130.57.54 1465 DSOSERV<br />

9.117.32.29 1501 9.130.57.81 1764 DSOSERV<br />

INTERVAL<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT INTERVAL. The INTERVAL parameter can be used on an <strong>IBM</strong> 3278 or<br />

3279 display station, or at a terminal or workstation that is emulating an <strong>IBM</strong> 3278<br />

or 3279 display station.<br />

Note: The Enter key provides exit capability identical to that provided by the F3<br />

(Quit) PF key. Also note that the INTERVAL option provides a full–screen<br />

interface for its output as opposed to line-mode.<br />

11/17/98 <strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Real Time Network Monitor 16:13:47<br />

Bytes Bytes Local Idle<br />

User Id Out In Port Foreign Socket State Time<br />

-------- ------- ------- ------ ------------------ ----------- -------<br />

INTCLIEN 29009 437 TELNET 9.130.58.10..1076 Established 0:00:00<br />

ROUTED 31220 1342528 520 *..* UDP 0:00:01<br />

SMTP 0 0 1038 *..* UDP 0:00:40<br />

<strong>VM</strong>NFS 1520212 2446060 2049 *..* UDP 0:01:14<br />

INTCLIEN 44124 20489 TELNET 9.130.58.29..2526 Established 0:02:58<br />

INTCLIEN 66645 2058 TELNET 9.130.57.54..1044 Established 0:05:30<br />

INTCLIEN 0 0 TELNET *..* Listen 0:07:09<br />

INTCLIEN 395531 208670 TELNET 9.130.57.54..1040 Established 0:07:24<br />

INTCLIEN 48626 1175 TELNET 9.130.58.29..2524 Established 0:07:28<br />

INTCLIEN 97673 4641 TELNET 9.130.57.54..1112 Established 0:08:36<br />

REXECD 0 0 REXEC *..* Listen 2:52:59<br />

PORTMAP 533124 829304 PMAP *..* UDP 2:55:50<br />

<strong>VM</strong>NFS 0 0 2049 *..* Listen 5:55:19<br />

FTPSERVE 0 0 FTP-C *..* Listen 14:55:49<br />

REXECD 0 0 RSH *..* Listen 14:57:32<br />

DSMSERV 0 0 1500 *..* Listen 20:19:35<br />

SMTP 0 0 SMTP *..* Listen 20:20:15<br />

SNMPD 0 0 161 *..* UDP 20:20:15<br />

SNMPD 0 0 1024 *..* Listen 20:20:16<br />

PORTMAP 0 0 PMAP *..* Listen 20:20:18<br />

<strong>TCP</strong>/<strong>IP</strong> stack: Default<br />

Refresh interval: 20 seconds.<br />

TCBs in Use:14<br />

1=Usr 2=Sock 3=Quit 4=BOut 5=BIn 6=St 7=Up 8=Dwn 9=Save 10=T/B 11=Ip@ 12=Rfsh<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

LEVEL<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT LEVEL.<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level 430<br />

<strong>IBM</strong> 9672; z/<strong>VM</strong> Version 4 Release 3.0, service level 0201, <strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Level 430;<br />

RSU 0201<br />

Ready;<br />

Chapter 6. Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network 125


|<br />

Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

OBEY<br />

The following is a sample of the response to entering NETSTAT OBEY START TR1.<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

OBEY command response is: OK<br />

OBEY return code = 0<br />

Ready;<br />

POOLSIZE<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT POOLSIZE.<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

<strong>TCP</strong><strong>IP</strong> Free pool status:<br />

Object No. alloc # free Lo-water Permit size<br />

====== ========= ====== ======== ===========<br />

ACB 5000 4955 4776 500<br />

CCB 750 416 416 50<br />

Dat buf 1200 1149 1097 240<br />

Sm dat buf 5000 4837 4584 500<br />

Tiny dat buf 0 0 0 1<br />

Env 1250 1250 1132 125<br />

Lrg env 75 74 66 15<br />

RCB 50 50 50 3<br />

SCB 2000 1947 1795 133<br />

SKCB 256 221 210 17<br />

TCB 5000 4816 4540 333<br />

UCB 500 488 484 33<br />

Add Xlate 1500 1478 1 5<br />

<strong>IP</strong> Route 3000 2993 1 60<br />

Segment ACK 100000 99996 99899 5000<br />

FPSP 25 64 0 54000<br />

FPSP Total locked pages: 215, Unused locked pages: 64<br />

<strong>TCP</strong><strong>IP</strong> machine size: 90M, Pools: 59267K, Avail: 8744K, Max block: 8716K<br />

Ready;<br />

RESETPOOL<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT RESETPOOL.<br />

Note: You must be a privileged user to use the RESETPOOL command.<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Function performed<br />

Ready;<br />

SOCKET<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT SOCKET.<br />

126 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Socket interface status:<br />

Sock Type Bound to Connected to State Flgs Conn<br />

==== ==== ======== ============ ===== ==== ====<br />

Name: PMAP Subtask: 002a6070 Path id: 1 Pending call: select<br />

3 Dgram *..PMAP Not connected<br />

4 Stream *..PMAP *..* Listen L 1039<br />

Name: SNMPD Subtask: 002254f8 Path id: 3 Pending call: select<br />

3 Dgram *..3162 Not connected<br />

4 Dgram YKT<strong>VM</strong>Z..161 Not connected<br />

5 Stream *..3225 *..* Listen L 1044<br />

7 DPI<br />

Name: <strong>TCP</strong>MAINT Subtask: 002f52c8 Path id: 6<br />

3 Stream Not bound Not connected Closed 1011<br />

5 Dgram Not bound Not connected<br />

8 Raw Not bound Not connected 1<br />

9 Raw Not bound Not connected 255<br />

Name: <strong>TCP</strong>MAINT Subtask: 002c5268 Path id: 7<br />

7 Stream *..10000 *..* Listen L 1016<br />

7 Stream Loopback..10000 Loopback..3232 Established LC 1047<br />

8 Stream Loopback..10000 Not Connected Closed 1007<br />

TELNET<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT TELNET.<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Internal Telnet server status:<br />

Conn Status Foreign Host B out B in Logical device status<br />

---- ------ ------------ ----- ---- ---------------------<br />

1118 Establshd 9.130.57.67 89606 10125 L0017 DIALED TO P<strong>VM</strong> 0503<br />

1115 Establshd 9.82.1.118 1811 161 L00C1 ENABLED<br />

1067 Listen * 0 0<br />

1345 Establshd 9.130.58.10 881941 1016232 L00D1 LOGON AS CIBULAMA 0009<br />

1213 FIN-wait-2 9.185.67.151 162931 967<br />

A connection in the listen state is always available for an incoming open request.<br />

UNBLOCK<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT UNBLOCK 9.130.48.*<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

Function performed<br />

Ready;<br />

UP<br />

The following is a sample of the information that is displayed after entering<br />

NETSTAT UP.<br />

Chapter 6. Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network 127


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> Netstat Level nnn<br />

<strong>TCP</strong>/<strong>IP</strong> started at 17:04:15 on 11/18/00<br />

Ready;<br />

RPCINFO Command<br />

The RPCINFO command displays the servers that are registered and operational<br />

with any portmapper on your network. The RPCINFO command makes a Remote<br />

Procedure Call (RPC) to an RPC server and displays the results.<br />

RPCINFO requires SCEERUN LOADLIB to be globally available. You should<br />

ensure the <strong>IBM</strong> Language Environment ® can be accessed. It is included in the<br />

z/<strong>VM</strong> base.<br />

►► RPCINFO -p<br />

host<br />

-u host prognum<br />

-t host prognum<br />

-b prognum versnum<br />

versnum -n portnum<br />

versnum<br />

►◄<br />

Operands<br />

-p host<br />

Queries the portmapper on the specified host and prints a list of all registered<br />

RPC programs. If host is not specified, the system defaults to the local host<br />

name.<br />

-n portnum<br />

Specifies the port number to be used for the -t and -u options in place of the<br />

port number that is given by the portmapper.<br />

-u host prognum versnum<br />

Sends an RPC call to procedure 0 of prognum on the specified host using UDP,<br />

and reports whether a response is received. The variable prognum is the name<br />

or number of the RPC program.<br />

-t host prognum versnum<br />

Sends an RPC call to procedure 0 of prognum on the specified host using <strong>TCP</strong>,<br />

and reports whether a response is received.<br />

-b prognum versnum<br />

Sends an RPC broadcast to procedure 0 of the specified prognum and versnum<br />

using UDP, and reports all hosts that respond.<br />

If you specify versnum (the version number), RPCINFO attempts to call that<br />

version of the specified program. If you do not specify a version, RPCINFO prints<br />

error information.<br />

Note: The version number is required for the -b parameter.<br />

128 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

PING Command<br />

The PING command sends an echo request to a foreign node to determine if the<br />

node is accessible. PING uses ICMP as its underlying protocol.<br />

►► PING host_name<br />

►<br />

HELP<br />

?<br />

►<br />

(<br />

LENGTH 256 COUNT 1 TIMEOUT 10<br />

LENGTH bytes COUNT echo TIMEOUT seconds<br />

►◄<br />

Note: More than one option can be placed on the PING command line; however,<br />

the HELP parameter is an exception and cannot be placed on the PING<br />

command line with other parameters.<br />

Operands<br />

host<br />

Specifies the foreign host to which you want to send the echo request. If you<br />

omit the host_name, the system prompts you for a host name. The host name is<br />

either a character-string name or the internet address in the standard format of<br />

the foreign host.<br />

LENGTH bytes<br />

Sets the number of bytes of the echo request. If bytes is not specified, the<br />

default of 256 is used. The number of bytes must be between 8 and the<br />

maximum value determined by large envelope size (lrg_env_size). For more<br />

information about large_env_size, see <strong>TCP</strong>/<strong>IP</strong> Planning and Customization. The<br />

minimum abbreviation is L.<br />

COUNT echo<br />

Sets the number of echo requests that are sent to the foreign host. If echo is not<br />

specified, the default of 1 is used. The number echo must be between 1 and 2 31<br />

−1 (2 147 483 647). If echo is 0, the PING command sends echo requests<br />

continually. The minimum abbreviation is C.<br />

TIMEOUT seconds<br />

Sets the number of seconds that the PING command waits for a response. The<br />

default for seconds is 10. The number for seconds must be between 1 and 100.<br />

The minimum abbreviation is T.<br />

HELP or ?<br />

Provides help information about the PING command. You cannot place the<br />

HELP parameter on the PING command line with other parameters The<br />

minimum abbreviation is H or ?.<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

Note: When the <strong>TCP</strong>/<strong>IP</strong> stack is configured to use equal-cost multipath support,<br />

and there are multiple equal-cost paths to the destination being pinged, the<br />

ping results may seem inconsistent because the echo requests will be sent<br />

out through different interfaces. In the example below, If you ping 10.2.1.3<br />

twice (or once with a COUNT 2 specified), the first echo request will be sent<br />

out through LINK1, and the second echo request will be sent out through<br />

LINK2.<br />

Chapter 6. Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network 129


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

GATEWAY<br />

10.2.1.3 = LINK1 4000 HOST<br />

10.2.1.3 = LINK2 4000 HOST<br />

Examples<br />

v Sample of information displayed after invoking the PING command:<br />

PING : Pinging host HT60 (129.34.10.60). Enter #CP EXT to interrupt<br />

PING: Ping #1 response took 0.033 seconds. Successes so far 1.<br />

TRACERTE Command<br />

Use the TRACERTE command to debug network problems. The Traceroute<br />

function sends UDP requests with varying Time-to-live (TTL) and listens for<br />

TTL-exceeded messages from the routers between the local host and the foreign<br />

host.<br />

►► TRACERTE ?<br />

host_name<br />

Optional Parameters<br />

►◄<br />

Optional Parameters<br />

MAX 30 TRY 3 PORT 4096 WAIT 5<br />

( DEBUG<br />

MAX ttl TRY attempts PORT num WAIT seconds<br />

Operands<br />

domain_name<br />

Specifies the internet host name used to route packets.<br />

MAX ttl<br />

Specifies the maximum TTL. The range for valid values is 1 to 255. The default<br />

is 30.<br />

TRY attempts<br />

Specifies the number of attempts. The range for valid values is 1 to 20. The<br />

default is three.<br />

PORT num<br />

Specifies the starting port number. The range for valid values is 2048 to 60000.<br />

The default is 4096.<br />

WAIT seconds<br />

Specifies the number of seconds to wait for a response. The range for valid<br />

values is 1 to 255. The default is five.<br />

DEBUG<br />

Specifies that extra messages are to be printed.<br />

Examples<br />

The following are examples using the TRACERTE command:<br />

v The second hop does not send TTL (Time-to-live) exceeded messages.<br />

tracerte cyst.watson.ibm.com<br />

Trace route to CYST.WATSON.<strong>IBM</strong>.COM (9.2.91.34)<br />

1 (9.67.22.2) 67 ms 53 ms 60 ms<br />

2***<br />

3 (9.67.1.5) 119 ms 83 ms 65 ms<br />

130 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


4 (9.3.8.14) 77 ms 80 ms 87 ms<br />

5 (9.158.1.1) 94 ms 89 ms 85 ms<br />

6 (9.31.3.1) 189 ms 197 ms *<br />

7 * * (9.31.16.2) 954 ms<br />

8 (129.34.31.33) 164 ms 181 ms 216 ms<br />

9 (9.2.95.1) 198 ms 182 ms 178 ms<br />

10 (9.2.91.34) 178 ms 187 ms *<br />

v Sometimes packets are lost (hops 6,7, and 10).<br />

v<br />

v<br />

tracerte 129.35.130.09<br />

Trace route to 129.35.130.09 (129.35.130.9)<br />

1 (9.67.22.2) 61 ms 62 ms 56 ms<br />

2***<br />

3 (9.67.1.5) 74 ms 73 ms 80 ms<br />

4 (9.3.8.1) 182 ms 200 ms 184 ms<br />

5 (129.35.208.2) 170 ms 167 ms 163 ms<br />

6 * (129.35.208.2) 192 ms !H 157 ms !H<br />

The network was found, but no host was found. Could not route to that<br />

network.<br />

tracerte 129.45.45.45<br />

Trace route to 129.45.45.45 (129.45.45.45)<br />

1 (9.67.22.2) 320 ms 56 ms 71 ms<br />

2***<br />

3 (9.67.1.5) 67 ms 64 ms 65 ms<br />

4 (9.67.1.5) 171 ms !N 68 ms !N 61 ms !N<br />

Traceroute uses the site tables for inverse name resolution rather than the<br />

domain name server. If a host name is found in the site table, it is printed along<br />

with its <strong>IP</strong> address. For more information about using the site tables, see <strong>TCP</strong>/<strong>IP</strong><br />

Planning and Customization.<br />

tracerte EVANS<br />

Trace route to EVANS (129.45.45.45)<br />

1 BART (9.67.60.85) 20 ms 56 ms 71 ms<br />

2 BUZZ (9.67.60.84) 55 ms 56 ms 54 ms<br />

3 EVANS (9.67.30.25) 67 ms 64 ms 65 ms<br />

Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

Usage Notes<br />

v To use the TRACERTE command (which uses raw<strong>IP</strong> functions), you must be a<br />

privileged <strong>TCP</strong>/<strong>IP</strong> user. Such users are identified with the <strong>TCP</strong>/<strong>IP</strong> OBEY<br />

statement. For more information about listing user IDs with the OBEY statement,<br />

see <strong>TCP</strong>/<strong>IP</strong> Planning and Customization.<br />

v The range of port numbers that the TRACERTE command uses are normally<br />

invalid; however you can change the starting port number for this range if the<br />

target host is using a nonstandard UPD port.<br />

v The TRACERTE function will give unpredictable results if the <strong>TCP</strong>/<strong>IP</strong> stack is<br />

configured to use equal-cost multipath support. With this support, there may be<br />

multiple paths to a single destination. When TRACERTE is invoked, it will send<br />

the UDP requests out through the different paths. Since the packets will be<br />

traveling different paths to the same destination, the responses returned will not<br />

be for a single path.<br />

Chapter 6. Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network 131


Monitoring the <strong>TCP</strong>/<strong>IP</strong> Network<br />

132 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Chapter 7. Authenticating Network Users with Kerberos<br />

Kerberos is a system that provides authentication service to users in a network<br />

environment. This chapter describes the Kerberos name structures and Kerberos<br />

commands. Examples of using the Kerberos commands are also provided in this<br />

chapter.<br />

Your Kerberos system administrator can provide you with your Kerberos name<br />

and password when you register with the Kerberos system.<br />

For more information about Kerberos, see <strong>TCP</strong>/<strong>IP</strong> Programmer’s Reference and<br />

<strong>TCP</strong>/<strong>IP</strong> Planning and Customization.<br />

Understanding Kerberos Name Structures<br />

Before you use the Kerberos commands, you should be familiar with the structure<br />

of a Kerberos name. A Kerberos name consists of the following three parts:<br />

Name Description<br />

principal name Specifies the unique name of a user (client) or service.<br />

instance<br />

realm<br />

Kerberos Commands<br />

Specifies a label that is used to distinguish among the variations of<br />

the principal name. Aninstance allows for the possibility that the<br />

same client or service can exist in several forms that require<br />

distinct authentication.<br />

For users, an instance can provide different identifiers for different<br />

privileges. For example, the admin instance provides special<br />

privileges to the users assigned to it.<br />

For services, an instance usually specifies the host name of the<br />

machine that provides the service.<br />

Specifies the domain name of an administrative entity. The realm<br />

identifies each independent Kerberos site. The principal name and<br />

instance are qualified by the realm to which they belong, and are<br />

unique only within that realm. The realm is commonly the domain<br />

name.<br />

Note: You must express the realm as a name rather than an address<br />

number. For example, use tcp.raleigh.ibm.com rather than<br />

9.67.32.92.<br />

To use the Kerberos commands, the KERBEROS server must be running on the<br />

same local domain or realm of one of the hosts on your network. For information<br />

about how to set up the KERBEROS server and how to use the Kerberos system<br />

administrator commands and utilities, see <strong>TCP</strong>/<strong>IP</strong> Planning and Customization.<br />

The Kerberos commands for users are:<br />

Command Function<br />

KINIT Initiates a session with the Kerberos Authentication System.<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 133


Authenticating Network Users with Kerberos<br />

Note: The Kerberos database must be on the same realm as the<br />

client.<br />

KLIST<br />

KDESTROY<br />

KPASSWD<br />

Lists currently held Kerberos tickets.<br />

Destroys currently active Kerberos tickets.<br />

Modifies Kerberos passwords.<br />

KINIT Command<br />

Note: The Kerberos database must be on the same realm as the<br />

client.<br />

You enter the Kerberos commands at a <strong>VM</strong> command prompt. The following<br />

sections contain descriptions and examples of Kerberos commands.<br />

Use the KINIT command to initiate a session with the Kerberos Authentication<br />

System.<br />

►►<br />

KINIT<br />

-i -r -v -l<br />

►◄<br />

Operands<br />

Examples<br />

-i Prompts you for a Kerberos instance.<br />

-r Prompts you for a Kerberos realm.<br />

-v Specifies verbose mode for the Kerberos response. The response contains the<br />

name of the Kerberos realm, and a status message indicating the success or<br />

failure of your logon attempt.<br />

-l Specifies the TTL of the ticket, if the TTL is shorter than the TTL specified in<br />

the client, server, or database.<br />

v<br />

Note: KINIT may not function correctly if the clock on the local host is not<br />

synchronized with the clock on the host running the Kerberos<br />

authentication server.<br />

Information displayed after invoking the KINIT command:<br />

Kerberos Initialization<br />

Kerberos name:<br />

<br />

password:<br />

<br />

v<br />

An example format for using multiple parameters:<br />

KINIT<br />

-irvl<br />

Note: When you use a Kerberos command with multiple parameters, do not enter<br />

spaces between the parameters; any entry (parameters) after a space is<br />

ignored.<br />

134 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Usage Notes<br />

KLIST Command<br />

v<br />

v<br />

v<br />

v<br />

v<br />

v<br />

v<br />

Authenticating Network Users with Kerberos<br />

You must use the KINIT command within the same realm as the database<br />

(PRINC<strong>IP</strong>L DAT/PRINC<strong>IP</strong>L IDX) used by the Kerberos Authentication Server<br />

(<strong>VM</strong>KERB).<br />

The KINIT command attempts to initiate a session with the Kerberos system.<br />

The KINIT command allows you to obtain an initial ticket to communicate with<br />

the ticket-granting service.<br />

Use the -i parameter if you are registered in the Kerberos database with a<br />

non-null instance. For example, you may be registered as a remote administrator<br />

with an admin instance.<br />

Use the -r parameter if you want to log on to the Kerberos system in a foreign<br />

realm.<br />

Use the KINIT command without a parameter if you are an ordinary user,<br />

registered with a null instance, and want to log on to the Kerberos system in<br />

your local realm.<br />

If the KINIT command is successfully processed, you are returned to a <strong>VM</strong><br />

command prompt and an initial ticket file is saved in TMP TKT0.<br />

Use the KLIST command to verify the initial ticket. The KLIST command is<br />

described in “KLIST Command”.<br />

Using Multiple Parameters: The KINIT -irvl command requests the system to prompt<br />

you for an instance and a realm throughout your Kerberos session, and requests<br />

that Kerberos responses be displayed in verbose mode. Using the KINIT -irvl<br />

command has the same effect as using KINIT -i -r -v -l.<br />

Use the KLIST command to list the principal names of all of your current Kerberos<br />

tickets.<br />

►►<br />

KLIST<br />

TMPTKTO<br />

-file filename.filetype -srvtab<br />

►◄<br />

Operands<br />

Examples<br />

-file filename.filetype<br />

Specifies the name of the file to be used as the ticket file. The default file name<br />

is TMP TKT0, which resides on the client’s 191 disk.<br />

-srvtab<br />

Lists the contents of the key file called ETC SRVTAB. The keys to all services<br />

provided by the same instance are in the key file.<br />

v<br />

An example of information displayed after invoking the KLIST command:<br />

Ticket file:TMP TKT0<br />

Principal:galina@univ.lab.chem<br />

Issued Expires Principal<br />

Dec 20 13:49:16 Dec 20 21:49:16 krbtgt.univ.lab.chem@univ.lab.chem<br />

Chapter 7. Authenticating Network Users with Kerberos 135


Authenticating Network Users with Kerberos<br />

KDESTROY Command<br />

If the KLIST command is not successfully processed, an error message is<br />

displayed.<br />

Use the KDESTROY command to delete a currently active Kerberos tickets file.<br />

►►<br />

KDESTROY<br />

-f -q<br />

►◄<br />

Operands<br />

Usage Notes<br />

KPASSWD Command<br />

-f Deletes your active Kerberos authorization tickets file without displaying a<br />

status message.<br />

-q Eliminates the beep response to your terminal if the tickets are not deleted.<br />

v<br />

v<br />

A status message indicating the success or failure of the operation is displayed<br />

on the screen. If KDESTROY cannot delete the ticket file, the system sends a<br />

beep response to your terminal.<br />

You should periodically delete your currently active Kerberos authorization<br />

tickets with the KDESTROY command. When you use the KDESTROY<br />

command, the ticket files are overwritten with zeros and removed from the<br />

system.<br />

Use the KPASSWD command to change your Kerberos password.<br />

►► KPASSWD -u username<br />

-i instance<br />

►◄<br />

Operands<br />

-u username<br />

Specifies the full name of the user.<br />

-i instance<br />

Specifies an instance, if you are registered with the Kerberos database with a<br />

non-null instance.<br />

-n user<br />

Specifies the username.<br />

-r real m<br />

Specify a real m.<br />

-h operand usage help.<br />

136 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Usage Notes<br />

v<br />

Authenticating Network Users with Kerberos<br />

When you use the KPASSWD command, Kerberos prompts you for your current<br />

password. Upon verification that the current password is correct, Kerberos<br />

prompts you twice for the new password. After you enter the new password, a<br />

message is displayed indicating the success or failure of the change.<br />

Chapter 7. Authenticating Network Users with Kerberos 137


Authenticating Network Users with Kerberos<br />

138 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Chapter 8. Using the Network File System Commands<br />

<strong>VM</strong>’s NFS Server Support<br />

NFS is a <strong>TCP</strong>/<strong>IP</strong> protocol that allows heterogeneous systems to share data and<br />

files across networks. The NFS protocol is a client/server protocol — an NFS server<br />

runs on a system that has data and files to share, while an NFS client runs on a<br />

system where data and files are to be shared from NFS servers.<br />

The <strong>VM</strong> NFS client allows BFS users and applications transparent access to data on<br />

remote systems that have NFS servers supporting the SUN NFS Version 2 or<br />

Version 3 protocols, or both. These NFS protocols are described in RFCs 1094 and<br />

1813 respectively. OS/390, Windows 95 and NT, AIX, LINUX, UNIX systems, and<br />

z/<strong>VM</strong> are examples of these remote systems.<br />

For <strong>VM</strong> NFS client information, see the OPEN<strong>VM</strong> MOUNT command in the<br />

z/<strong>VM</strong>: OpenExtensions Command Reference.<br />

The following NFS information is described in this chapter:<br />

v Sample remote NFS client commands and PCNFSD User ID Authentication<br />

v Diagnosing Mount Problems<br />

v Errors Using Mounted Systems<br />

v Notes for BFS files and directories<br />

v Notes for SFS files and directories<br />

v Notes for minidisk files<br />

v SMSG <strong>VM</strong> NFS server commands<br />

v Name translation file<br />

v NFS Client Problems<br />

v Deleting CMS record-length fields<br />

v Using NFS with RACF<br />

BFS All functions defined by the NFS protocol are supported by BFS file<br />

systems. For information on special considerations, see “Notes for BFS<br />

Files and Directories” on page 155.<br />

SFS Most functions defined by the NFS protocol are supported by SFS file<br />

systems. For information about which functions are not supported, see<br />

“Notes for SFS Files and Directories” on page 156.<br />

Minidisk<br />

Some functions that are defined by the NFS protocol are not supported by<br />

CMS minidisk file systems. Others are partially supported. For information<br />

about which functions are not supported, see “Notes for Minidisk Files” on<br />

page 158.<br />

Network File System (NFS) server support for z/<strong>VM</strong> is available at the Version 2<br />

level (RFC 1094) and at the Version 3 level (RFC 1813). Both User Datagram<br />

Protocol (UDP) and Transmission Control Protocol (<strong>TCP</strong>) transport protocols are<br />

supported. If your NFS client can be configured to use NFS Version 3 or the <strong>TCP</strong><br />

transport protocol, you will be able to select these options.<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 139


Using NFS Commands<br />

NFS Client Commands<br />

The actual format and use of NFS commands in a client system depends on the<br />

implementation of the NFS client. In the following descriptions, information is<br />

provided for data that is transmitted by the client system to the <strong>VM</strong> NFS server.<br />

For information about other parts of these commands or data that is interpreted by<br />

the client system, consult the documentation for the specific NFS client system<br />

used.<br />

You can use the following NFS commands from an NFS client machine.<br />

MOUNT<br />

MOUNTPW<br />

UMOUNT<br />

Mounts a BFS directory, SFS directory, or CMS minidisk on a local<br />

directory.<br />

Sends authentication information (user IDs and passwords) to the<br />

<strong>VM</strong> NFS server to obtain access to protected CMS files, directories,<br />

and file systems.<br />

Removes mounted CMS file systems in the client environment.<br />

MOUNT Command<br />

No unique error messages are associated with these commands. The error<br />

messages that result from a failed mount attempt depend on the client system,<br />

which should provide you with sufficient status information to understand why<br />

the failure occurred.<br />

The NFS commands are described in the following sections. In some environments,<br />

the command syntax is case-sensitive. The following syntax diagrams are examples<br />

only.<br />

To access a CMS file system, issue the MOUNT command on the NFS client<br />

machine in the following format.<br />

BFS MOUNT Command Syntax<br />

BFS file system protocols are similar to those of NFS.<br />

140 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


MOUNT Command<br />

►►<br />

(1)<br />

MOUNT localoptions hostname:BFS_pathname<br />

,RW<br />

,RO<br />

►<br />

►<br />

,Userid=requester ,By=byrequester , Password=logonpw<br />

►<br />

►<br />

, Account=localdata<br />

,Trans=No<br />

,Trans=Ext<br />

,Trans=Yes<br />

►<br />

►<br />

,Xlate=<br />

Standard<br />

Posix<br />

tablename<br />

pathname<br />

►◄<br />

Notes:<br />

1 names=, nlvalue= and record= are not used if specified when mounting a BFS<br />

directory.<br />

Keyword options and values that are uppercased in the syntax diagram are the<br />

minimum abbreviation for such keyword options or values.<br />

SFS and Minidisk MOUNT Command Syntax<br />

SFS and minidisk file system protocols are very different from those of NFS in both<br />

structure and naming convention. SFS and minidisks files have records; the lines<br />

and nlvalue options allow you to tell NFS how to map records into a data stream.<br />

The names option tells NFS how to map a CMS file identifier (FILENAME<br />

FILETYPE) into the NFS file naming convention.<br />

Chapter 8. Using the Network File System Commands 141


MOUNT Command<br />

►►<br />

MOUNT localoptions hostname:<br />

SFS_directory<br />

User_id.vaddr<br />

,RW<br />

,RO<br />

,RO<br />

,RW<br />

►<br />

►<br />

,Userid=requester ,By=byrequester , Password=logonpw<br />

►<br />

►<br />

,Mdiskpw=mdiskpw<br />

, Account=localdata<br />

,Names=Trans<br />

,names=<br />

Fold<br />

Mixed<br />

►<br />

►<br />

,Record=Binary<br />

Data Translation Options<br />

pathname<br />

►◄<br />

Data Translation Options:<br />

,Trans=<br />

Ext<br />

Yes<br />

No<br />

,Xlate=<br />

Standard<br />

Posix<br />

tablename<br />

,Lines=<br />

Ext<br />

NL<br />

CMS<br />

NOne<br />

►<br />

►<br />

,NLvalue=0A<br />

,NLvalue=xx<br />

,NLvalue=xxxx<br />

,Record=<br />

Binary<br />

Text<br />

NL<br />

(1) (2)<br />

Notes:<br />

1 The use of trans= and lines= together with record= may result in overriding options.<br />

2 record=binary is the default only if neither lines nor trans is specified.<br />

Keyword options and values that are uppercased in the syntax diagram are the<br />

minimum abbreviation for such keyword options or values.<br />

MOUNT and MOUNTPW Operand Descriptions<br />

The specific MOUNT parameters used by an NFS client can vary for different <strong>VM</strong><br />

systems, based on the access control scheme in use (for example, protecting<br />

minidisks using CP LINK passwords versus an external security manager (ESM),<br />

such as RACF).<br />

Ensure the appropriate authorizations are in place before issuing a mount request.<br />

For example, in the case where an ESM such as RACF is in place to protect<br />

minidisks, the owner of a minidisk to be mounted may need to issue RACFPERM<br />

or RACFBAT commands to authorize your user ID and/or the <strong>VM</strong> NFS server to<br />

obtain access to that disk. Also, ensure that both the password= and userid=<br />

parameters are included in the minidisk mount request.<br />

142 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Operands<br />

MOUNT Command<br />

For BFS and SFS files, authorization checking is done in the file pool server<br />

machine when you request access to files in the mounted directory. Your requests<br />

for file access are authorized (or not authorized) based on how you are identified<br />

to the file pool server. The <strong>VM</strong> NFS server uses the verified userid= parameter to<br />

identify your requests.<br />

Optional parameters can be specified in any order. If an optional parameter is<br />

specified more than once, or if overriding parameters such as record= and trans=<br />

are used together, the last instance prevails.<br />

localoptions<br />

Specifies the MOUNT options, which vary between different client systems.<br />

Some common options for a UNIX client are: intr, soft, retry=n, retrans=n, and<br />

timeo=n. When a time-out value is specified, it usually is in units of one-tenth<br />

of a second; therefore timeo=20 denotes a time-out value of 2 seconds before a<br />

client assumes a network error occurred and retransmits a request to a server.<br />

hostname:<br />

The hostname is the name of the host on which the <strong>VM</strong> NFS server resides.<br />

Some NFS clients use a different syntax to specify the server location in a<br />

MOUNT command, rather than placing it as a prefix to the characters that<br />

identify the remote file system to be mounted.<br />

BFS_pathname<br />

Specifies the fully-qualified name of the BFS directory that contains the files<br />

and subdirectories to be accessed by the client.<br />

Use two consecutive commas (,,) to indicate that a BFS directory name contains<br />

a comma.<br />

Some NFS clients have difficulties with the special characters required for<br />

fully-qualified BFS directory names. You may use slashes (/) in place of the<br />

colons (:) that are required before file pool ID and file space ID in a<br />

fully-qualified BFS directory name. NFS clients may have other requirements<br />

for entering pathnames containing special characters such as blanks.<br />

SFS_directory<br />

Specifies the SFS file pool directory that contains the files and subdirectories to<br />

be accessed by the client. SFS_directory must be fully qualified, except that the<br />

file space portion of the directory name can default to requester.<br />

Some NFS clients have difficulties with the special characters required for<br />

fully-qualified SFS directory names. You may enter a slash (/) in place of the<br />

colon (:) that is required between file pool ID and file space ID in a<br />

fully-qualified SFS directory name. You may also enter a slash in place of the<br />

period (.) that separates subdirectories.<br />

user_id.vaddr<br />

Specifies the minidisk. The user_id.vaddr string defines the minidisk that<br />

contains the files to be accessed by the client.<br />

RW<br />

Specifies that the type of mount is to be read/write access. This is the default<br />

for the mount of a BFS or SFS directory.<br />

RO<br />

Specifies that the type of mount is to be read-only. This is the default for a<br />

mount of a minidisk.<br />

Chapter 8. Using the Network File System Commands 143


MOUNT Command<br />

Userid=requester<br />

Specifies a CP (<strong>VM</strong>) requester user ID to be associated with the mount request.<br />

The user ID is used as access control for SFS files, and the user ID is translated<br />

into UID and GID values which are used as access controls for BFS files.<br />

(Additional access controls may be used if an external security manager (ESM)<br />

is active for the file pool.) Requester should be enrolled in the file pool<br />

containing the BFS or SFS directory, or PUBLIC should be enrolled.<br />

User ID may be used by an external security manager, such as RACF, for<br />

deciding whether an NFS client is permitted to access an ESM-protected<br />

minidisk.<br />

userid= need not be specified on the MOUNT or MOUNTPW requests if<br />

PCNFSD is used.<br />

If by= is not specified, the combination of userid=requester and<br />

password=logonpw is used by the <strong>VM</strong> NFS server to validate the identity of the<br />

client.<br />

When userid= and by= are not provided by PCNFSD, MOUNTPW, or a<br />

MOUNT request, the mount will be successful only if anonymous mounts are<br />

allowed by the <strong>VM</strong> NFS server. If anonymous MOUNTs are allowed, the<br />

mount may be successful if a user ID of ANONYMOU has authority to use the<br />

SFS directory or ESM-protected minidisk. For BFS directories, the mount may<br />

be successful if the default user UID or GID values allow permission to use the<br />

directory. See <strong>TCP</strong>/<strong>IP</strong> Planning and Customization for information about allowing<br />

anonymous MOUNTs.<br />

By=byrequester<br />

If both userid=requester and by=byrequester are specified, the <strong>VM</strong> NFS server<br />

verifies that password=logonpw is the correct logon password for byrequester,<br />

and that byrequester has LOGON BY privileges for userid=requester.<br />

Password=logonpw<br />

Specifies the <strong>VM</strong> logon password of the user ID requesting the mount.<br />

password= need not be specified on the MOUNT or MOUNTPW requests if<br />

PCNFSD is used.<br />

The -v option on the OS/2 MOUNT command can be used to have the client<br />

prompt you for the password, unless you are mounting a BFS directory.<br />

Mdiskpw=mdiskpw<br />

When no external security manger (ESM) is in use, specifies a CP link<br />

password when a password is required to access the minidisk being mounted.<br />

If a CMS disk is public (that is, its CP LINK password is ALL), no password<br />

needs to be provided with the MOUNT command in order to access files on<br />

that disk.<br />

The <strong>VM</strong> NFS server will not issue a CP LINK for an MW link. If a mount<br />

request specifies write access for a minidisk, but a write link to that minidisk<br />

already exists, the <strong>VM</strong> NFS server returns a status code to the NFS client<br />

which indicates the CMS minidisk is a read-only file system.<br />

Note: If userid=, by= and mdiskpw= are not specified, the password specified<br />

in the password=logonpw parameter is used as a minidisk link password<br />

for CMS minidisks. This exception is made because earlier releases of<br />

<strong>VM</strong> NFS did not make a distinction between logon and minidisk link<br />

passwords.<br />

144 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Account=local_data<br />

Allows additional information to be passed to software such as an ESM in the<br />

host. Specifies up to 64 characters of information that can be used by<br />

customer-supplied programming in the <strong>VM</strong> NFS server to further control or<br />

record access by NFS clients. The format of this data depends upon the<br />

supporting software. If account information is specified by a client and there is<br />

no supporting software in the server, the account data is ignored by the <strong>VM</strong><br />

NFS server.<br />

Names=<br />

Specifies the handling of file names for minidisk, SFS files and directories. The<br />

names options are:<br />

Fold File names supplied by the client are translated to uppercase; file<br />

names supplied to the client are translated to lowercase.<br />

Mixed File names are not changed. The client must use valid CMS names.<br />

This mode must be used to refer to CMS files that contain lowercase<br />

letters in their name.<br />

Trans<br />

Use default name handling, which is described in the following<br />

paragraph.<br />

If the names parameter is omitted, the default provides translation for names<br />

that are too long or contain invalid characters. File names supplied by the<br />

client are translated to uppercase; file names supplied to the client are<br />

translated to lowercase. Correct CMS file names are generated by the <strong>VM</strong> NFS<br />

server, and these names are used rather than the actual client names. The <strong>VM</strong><br />

NFS server creates the translation file ##NFS## #NAMES# on the CMS<br />

minidisk for minidisk files, and in the top SFS directory of the file space for<br />

SFS files. This translation file contains both the original client file names and<br />

the corresponding CMS file names. When file names are read by a client, the<br />

inverse translation is performed so that the client sees the original name<br />

specified when the file was created.<br />

Trans=<br />

defines whether translation should occur for data in files.<br />

Ext<br />

Yes<br />

No<br />

EBCDIC-ASCII translation is done based on the value of the file<br />

extension. See Table 10 on page 148.<br />

EBCDIC-ASCII translation is performed.<br />

No translation is performed.<br />

If neither record or trans is specified, trans=no is the default.<br />

NFS uses translation tables to convert transmitted data between EBCDIC and<br />

ASCII. These translation tables can be customized by your <strong>TCP</strong>/<strong>IP</strong><br />

administrator. Contact your <strong>TCP</strong>/<strong>IP</strong> administrator for information about data<br />

translation.<br />

Xlate=<br />

Defines which translation table is to be used for file data translation.<br />

Standard <strong>TCP</strong>/<strong>IP</strong>’s standard translation table is to be used.<br />

Posix<br />

MOUNT Command<br />

This table translates ASCII (ISO 8859-1) to and from EBCDIC<br />

(<strong>IBM</strong>-1047). The UNIX line terminator (lf - X'0A') is translated<br />

to the OpenEdition <strong>VM</strong> line-end character NL - X'15').<br />

Chapter 8. Using the Network File System Commands 145


MOUNT Command<br />

tablename<br />

The name of the translate table to be used. Some examples of<br />

tablename include "Xlate=UK," "Xlate=French," or<br />

"Xlate=10471252."<br />

If xlate is not specified, a system-defined translation table is<br />

used.<br />

tablename may not be abbreviated.<br />

Your <strong>TCP</strong>/<strong>IP</strong> administrator may change the list of tables provided, or<br />

customize the translation tables in the list. Contact your <strong>TCP</strong>/<strong>IP</strong> administrator<br />

for information about data translation.<br />

Lines=<br />

defines the way CMS records are converted to an NFS data stream.<br />

Ext<br />

NL<br />

CMS<br />

NOne<br />

The type of conversion done is based on the value of the file extension.<br />

See Table 10 on page 148.<br />

Line feed characters are inserted at CMS record boundaries.<br />

The CMS file format is maintained. When dealing with CMS<br />

variable-length record files, the binary, unsigned, two-byte length field<br />

is visible to the client at the beginning of CMS records read from the<br />

<strong>VM</strong> NFS server, and this field must be supplied by the client program<br />

in data written to <strong>VM</strong>.<br />

No linefeed characters are inserted. When dealing with CMS<br />

variable-length record files, the two-byte length fields are not visible.<br />

If neither record nor lines is specified, lines=none is the default.<br />

NLvalue=<br />

Specifies two or four hexadecimal characters to be used as the boundary<br />

indicating the end of a CMS record. The default is the line feed character.<br />

For example, you can specify nlvalue=0D0A for carriage return and line feed.<br />

Record=<br />

The record option is supported for compatibility. Use the trans and lines<br />

options to tell NFS how to translate file data.<br />

v Binary is equivalent to trans=no and lines=CMS.<br />

v Text is equivalent to trans=yes and lines=CMS.<br />

v NL is equivalent to trans=yes and lines=NL.<br />

pathname<br />

Specifies the local path name, which identifies where to mount CMS files in<br />

the client file name hierarchy.<br />

Figure 10 on page 147 illustrates the MOUNT command.<br />

146 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


MOUNT Command<br />

MOUNT<br />

-o ro.soft<br />

(The command<br />

continues below)<br />

Local (Client) Options<br />

NFS Command<br />

hostname:user_id.vaddr,ro,mdiskpw=xxxxx,record=yyyyy,names=zzzzz<br />

/u/merlin/m<br />

Information Transmitted intact<br />

to the <strong>VM</strong> NFS Server<br />

Where to mount the file system<br />

in the Client Machine’s<br />

file hierarchy<br />

Figure 10. NFS MOUNT Command<br />

NFS File Extension Defaults<br />

Following are the default values used when the trans=ext or lines=ext options are<br />

used. The system administrator for your system may change or add to these<br />

default values.<br />

File extension is defined to be the last component of a file name, that is, the<br />

characters following the last period in the path name. Up to eight characters are<br />

matched, and mixed case is not respected.<br />

Chapter 8. Using the Network File System Commands 147


MOUNT Command<br />

Table 10. File Extension Translation Table<br />

File Extension trans=ext lines=ext<br />

*BIN¹ no none<br />

$EXEC $REXX $XEDIT AMS AMSERV<br />

ANN ANNOUNCE APP APPEND ASC<br />

ASCII ASM ASM3705 ASSEMBLE AVL<br />

AVAIL A37 BASDATA BASIC BKS<br />

BKSHELF C C++ CAT CATALOG<br />

CNTRL COB COBOL COPY CPP<br />

yes<br />

NL<br />

DIRECT DLCS DOCUMENT ESERV EXC<br />

EXEC FFT FOR FORM FORTRAN<br />

FREEFORT GCS GROUP H HPP<br />

HTM HTML H++ JOB LISTING<br />

LOG LST MAC MACLIB MACRO<br />

MAK MAKE ME MEMBER MEMO<br />

MODULE NAM NAMES NETLOG NONE<br />

NOT NOTE NOTEBOOK OFS*² OPT<br />

OPTIONS PACKAGE PASCAL PKG PLAS<br />

PLI PLIOPT PLS PVT REXX<br />

yes<br />

NL<br />

RPG SCR SCR<strong>IP</strong>T STY STYLE<br />

TEXT TEXTXXXX TXT TXTXXXX UPDATE<br />

UPDT <strong>VM</strong>T VSBASIC VSBDATA XED<br />

XEDIT<br />

other or none no none<br />

Notes:<br />

1. *BIN represents a wildcard, that is, any file extension ending in ’BIN’.<br />

2. OFS* represents a wildcard, that is, any file extension starting with ’OFS’ unless it also ends in ’BIN’.<br />

PCNFSD User ID Authentication<br />

Many NFS client implementations contain calls to PCNFSD user ID Authentication<br />

services. The purpose of these calls is to present a user ID and password to be<br />

verified by the host system. Once verified, the UID and GID by which that user is<br />

known at the host is returned to the client. For <strong>VM</strong>, the POSIXINFO and<br />

POSIXGLIST CP directory entry statements define the UID and GID(s) associated<br />

with a user ID.<br />

Note that a value of -1 is returned for a user ID of ANONYMOU.<br />

When PCNFSD is used, there is no need to send user ID and logon password in<br />

the MOUNT or MOUNTPW. If user ID or password are not provided by<br />

MOUNTPW or MOUNT, the PCNFSD values are used by the NFS server, as long<br />

as the MOUNT request is received by the NFS server immediately following the<br />

PCNFSD request. (The NFS client typically sends the MOUNT request immediately<br />

following the PCNFSD information.)<br />

148 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Your system administrator has the option of disabling PCNFSD for your NFS<br />

server. Contact your system administrator if you receive a message that PCNFSD is<br />

not running or is inaccessible.<br />

Examples<br />

In the following example, a MOUNT command is issued from an OS/2 command<br />

prompt to mount a BFS directory that resides in the root file system in file pool:<br />

fpcool. Note that <strong>VM</strong>BFS, FPCOOL and ROOT must be uppercased when specified<br />

in the pathname.<br />

1. Mounting a BFS directory:<br />

mount -u4189 -g513 x: gd3vm0:/../<strong>VM</strong>BFS:FPCOOL:ROOT/u/jake,<br />

userid=elwood,password=mypass<br />

In the previous command, the user specified his <strong>VM</strong> uid and gid via the -u and<br />

-v options. This indicates to OS/2 what uid and gid are being used. However,<br />

the <strong>VM</strong> NFS server will perform authorization checking based on the verified<br />

userid= parameter.<br />

Alternatively, Elwood’s <strong>VM</strong> logon password can be provided via a previous<br />

MOUNTPW command.<br />

In the following example, a MOUNT command is issued from an OS/2 command<br />

prompt to mount the mission SFS subdirectory owned by the <strong>VM</strong> user ID, JAKE<br />

which resides in file pool fpcool:<br />

1. Mounting an SFS directory:<br />

mount -v x: gd3vm0:fpcool:jake.mission,trans=ext,lines=ext,<br />

userid=elwood<br />

After issuing the command above, the user will be prompted for Elwood’s user<br />

ID password. In response to this prompt, the <strong>VM</strong> logon (or sign-on) password<br />

should be provided.<br />

Alternatively, Elwood’s <strong>VM</strong> logon password can be provided via the<br />

password= parameter and no password prompt is issued.<br />

In the following examples, MOUNT commands are issued from an OS/2 command<br />

prompt to mount the <strong>VM</strong> 191 minidisk owned by the <strong>VM</strong> user ID, JAKE:<br />

1. Accessing a <strong>VM</strong> minidisk when an External Security Manager (ESM) is in use:<br />

mount -v x: gd3vm0:jake.191,ro,trans=yes,lines=NL,<br />

userid=elwood<br />

After issuing the command above, the user will be prompted for Elwood’s user<br />

ID password. In response to this prompt, the <strong>VM</strong> logon (or sign-on) password<br />

should be provided.<br />

mount x: gd3vm0:jake.191,ro,trans=yes,lines=NL,password=harpman,<br />

userid=elwood<br />

In the above command, Elwood’s <strong>VM</strong> logon password harpman is provided via<br />

the password= parameter; no password prompt is issued.<br />

2. Accessing a <strong>VM</strong> minidisk when no External Security Manager (ESM) is in use:<br />

mount -v x: gd3vm0:elwood.191,ro,trans=yes,lines=NL<br />

MOUNT Command<br />

After issuing the above command, the user will be prompted for a password.<br />

In response to this prompt, a <strong>VM</strong> minidisk (CP LINK) password should be<br />

Chapter 8. Using the Network File System Commands 149


MOUNT Command<br />

MOUNTPW Command<br />

provided. In this example, read-only access was requested, so the minidisk<br />

″Read (R)″ password should be provided.<br />

mount x: gd3vm0:elwood.191,rw,trans=yes,lines=NL,mdiskpw=whtoast<br />

In the above example, read/write access was requested, so the minidisk ″Mult<br />

(M)″ password (″whtoast″) was provided via the mdisk= parameter.<br />

Note: If your NFS client is configured to call PCNFSD user ID Authentication<br />

services and PCNFSD is available on your <strong>VM</strong> NFS server, using<br />

MOUNTPW is not necessary, because user ID and password information is<br />

passed on PCNFSD requests. This applies to mounts for SFS directories, BFS<br />

directories, and minidisks protected by ESMs. A minidisk protected by link<br />

passwords must still provide the password on the MOUNT or MOUNTPW<br />

command.<br />

The MOUNT command can pose a security problem, because NFS client systems<br />

often store this command’s argument values to respond to a later query asking for<br />

information about the mounts that are currently in effect. A password supplied in<br />

an argument to a MOUNT command could then be revealed in the query response<br />

to someone other than the user who executed the MOUNT command. The<br />

MOUNTPW command provides an alternative path for sending passwords,<br />

account, and user ID information to the <strong>VM</strong> NFS server. This information can then<br />

be omitted from the subsequent related MOUNT command, and therefore is not<br />

present in a display of currently mounted file systems.<br />

A MOUNTPW command precedes the related MOUNT command, which must<br />

follow within 5 minutes. After 5 minutes, the <strong>VM</strong> NFS server discards the<br />

information it received in a MOUNTPW command. If a second MOUNTPW<br />

command is issued for the same CMS disk or directory before a MOUNT<br />

command for that object, the data from the first MOUNTPW command is<br />

discarded.<br />

The only MOUNT command options that are recognized on a MOUNTPW<br />

command are userid, by, password, mdiskpw and account. All other MOUNT<br />

command options are ignored. If user IDs, passwords, or account value are<br />

specified on both a MOUNTPW command and a related MOUNT command, the<br />

value from the MOUNT command is used.<br />

The following is the format of the MOUNTPW command.<br />

►► MOUNTPW hostname: BFS_pathname<br />

SFS_directory<br />

user_id.vaddr<br />

, Account=localdata<br />

►<br />

►<br />

►<br />

, Userid=requester , By=byrequester ,Password=logonpw<br />

, Mdiskpw=mdiskpw<br />

►<br />

►◄<br />

150 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


MOUNTPW Command<br />

Operands<br />

Refer to the “MOUNT Command” on page 140 for a description of the operands.<br />

Usage Note<br />

The MOUNTPW C source file is supplied on <strong>TCP</strong>MAINT’s 592 disk, as are the<br />

executable modules built for the <strong>IBM</strong> client environments listed in Table 11<br />

Table 11. Executables<br />

Operating Environment<br />

AIX on an <strong>IBM</strong> RISC System/6000 ®<br />

OS/2<br />

MOUNTPW Executable File<br />

6000@BIN MOUNTPW<br />

OS2@BIN MOUNTPW<br />

UMOUNT Command<br />

If none of the executable modules are appropriate, then the MOUNTPW C file<br />

must be copied to the client system and compiled into an executable program<br />

before you can execute the MOUNTPW command.<br />

Compile the command using a C compiler resident on the client system. The<br />

location of header files (.h) in the MOUNTPW source program may not be where<br />

your client system expects for a compile. If this is the case, modify the MOUNTPW<br />

source program to specify the correct location for your client system. Some<br />

platforms may require that you specify libraries to build the MOUNTPW<br />

executable. For example, DYNIX/ptx ® requires the following: –lsocket, –lnsl, and<br />

–lrpc.<br />

Binary files are supplied containing executable MOUNTPW modules for the <strong>IBM</strong><br />

AIX ® environment. These can be used in the NFS client environment AIX Version<br />

4.2.1 and above as an alternative to building executable modules from the source<br />

files. Use FTP to copy the files to the AIX environment, renaming the files to the<br />

command name and making sure to use the FTP command binary to ensure that a<br />

binary copy is performed. Once the files are copied to the AIX environment, use<br />

the command chmod a+x mountpw to make the files executable.<br />

To unmount a currently mounted file system, use the UMOUNT command.<br />

The format of the UMOUNT command, like the MOUNT command, depends on<br />

the client system.<br />

The following is the most common format of the UMOUNT command.<br />

►► UMOUNT pathname ►◄<br />

Operands<br />

pathname<br />

Specifies the local path name that identifies a mounted remote file system in<br />

the client environment.<br />

Figure 11 on page 152 illustrates the NFS UMOUNT command.<br />

Chapter 8. Using the Network File System Commands 151


UMOUNT Command<br />

UMOUNT<br />

u/merlin/m<br />

Local Pathname<br />

NFS Command<br />

Figure 11. NFS UMOUNT Command<br />

Diagnosing Mount Problems<br />

If your NFS client is having trouble performing a mount, try the following to<br />

verify that your <strong>VM</strong> system is running correctly:<br />

1. Verify that the network connections are good. Try to ″ping″ the <strong>VM</strong> system, for<br />

example: ping gdlvmk1.endicott.ibm.com<br />

2. Verify that the PORTMAPPER server is up and running by issuing the<br />

″RPCINFO″ command. The RPCINFO command can be issued from <strong>VM</strong> or<br />

from another platform that supports it. From <strong>VM</strong> the command is issued as<br />

follows:<br />

RPCINFO -p server_name<br />

For example:<br />

RPCINFO -p gdlvmk1.endicott.ibm.com<br />

If the portmapper is up, a list of programs, versions, protocols, and port<br />

numbers is printed similar to the following:<br />

Ready; T=0.04/0.08 16:36:32<br />

rpcinfo -p k32lsf01<br />

program vers proto port<br />

100000 2 udp 111 portmapper<br />

100000 2 tcp 111 portmapper<br />

100005 1 udp 2049 mountd<br />

100005 3 udp 2049 mountd<br />

100005 1 tcp 2049 mountd<br />

100005 3 tcp 2049 mountd<br />

100003 2 udp 2049 nfs<br />

100003 3 udp 2049 nfs<br />

100003 2 tcp 2049 nfs<br />

100003 3 tcp 2049 nfs<br />

150001 1 udp 2049 pcnfsd<br />

150001 2 udp 2049 pcnfsd<br />

Ready; T=0.04/0.08 16:38:21<br />

If a similar response is not returned, contact your system programmer or<br />

<strong>TCP</strong>/<strong>IP</strong> administrator to start the PORTMAPPER server on your <strong>VM</strong> system.<br />

3. If your mount uses the NFS Version 3 or <strong>TCP</strong> transport protocol, verify that the<br />

output from the RPCINFO -p command lists 3 in the vers column and tcp in<br />

the proto column for both the mountd and nfs programs.<br />

4. Verify that the mountd, pcnfsd, portmapper, and nfs services are running on<br />

your <strong>VM</strong> system by entering the following commands from <strong>VM</strong>:<br />

152 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


UMOUNT Command<br />

rpcinfo -u server_name mount<br />

rpcinfo -u server_name pcnfsd<br />

rpcinfo -u server_name portmapper<br />

rpcinfo -u server_name nfs<br />

If the services are running on the <strong>VM</strong> system, the following responses are<br />

returned:<br />

Ready; T=0.02/0.06 16:45:36<br />

* See if mount is running<br />

rpcinfo -u k32lsf01 mount<br />

program 100005 version 1 ready and waiting<br />

program 100005 version 2 ready and waiting<br />

program 100005 version 3 ready and waiting<br />

Ready; T=0.04/0.08 16:45:49<br />

* See if portmapper is running<br />

rpcinfo -u k32lsf01 portmapper<br />

program 100000 version 2 ready and waiting<br />

Ready; T=0.04/0.08 16:46:40<br />

* See if nfs is running<br />

rpcinfo -u k32lsf01 nfs<br />

program 100003 version 2 ready and waiting<br />

program 100003 version 3 ready and waiting<br />

Ready; T=0.04/0.08 16:47:27<br />

* See if pcnfsd is running<br />

rpcinfo -u k32lsf01 pcnfsd<br />

program 150001 version 1 ready and waiting<br />

program 150001 version 2 ready and waiting<br />

Ready; T=0.04/0.08 16:47:53<br />

If all of the above verifications look successful, the following can also be verified:<br />

1. Contact your <strong>VM</strong> NFS server administrator to verify that the EXPORT and<br />

EXPORTONLY configuration statements in the <strong>VM</strong>NFS CONFIG file are set up<br />

correctly to allow your NFS client host system to perform the mount.<br />

Errors Using Mounted Systems<br />

Table 12 describes the status values that can be generated by the <strong>VM</strong> NFS server.<br />

Most of these status values are defined in RFC 1094 and RFC 1813. However, there<br />

are <strong>VM</strong> specific status values listed here also and there are status values listed that<br />

are defined in the RFCs but never returned.<br />

The actual information that is visible to a program in the client system depends on<br />

the specific local file system routine invoked and the design of the NFS client<br />

implementation. Some NFS clients may make these error codes visible to the user,<br />

some do not.<br />

Table 12. NFS System Return Codes<br />

Code<br />

NFS3ERR_PERM = 1<br />

NFS3ERR_NOENT = 2<br />

NFS3ERR_IO = 5<br />

NFS3ERR_NXIO = 6<br />

Description<br />

The caller does not have valid ownership, and the<br />

requested operation is not performed.<br />

The file or directory specified does not exist.<br />

I/O error occurred while an operation was in progress.<br />

Invalid device or address specified.<br />

Chapter 8. Using the Network File System Commands 153


UMOUNT Command<br />

Table 12. NFS System Return Codes (continued)<br />

Code<br />

NFSERR_ENOMEM = 12<br />

NFS3ERR_ACCES = 13<br />

NFS3ERR_EXIST = 17<br />

NFS3ERR_XDEV = 18<br />

NFS3ERR_NODEV = 19<br />

NFS3ERR_NOTDIR = 20<br />

NFS3ERR_ISDIR = 21<br />

NFS3ERR_INVAL = 22<br />

NFS3ERR_FBIG = 27<br />

NFS3ERR_NOSPC = 28<br />

NFS3ERR_ROFS = 30<br />

NFS3ERR_MLINK = 31<br />

NFS3ERR_NAMETOOLONG = 63<br />

NFS3ERR_NOTEMPTY = 66<br />

NFS3ERR_DQUOT = 69<br />

NFS3ERR_STALE = 70<br />

Description<br />

The operation caused the server’s file system to run<br />

out of memory. This status value is specific to the <strong>VM</strong><br />

NFS server.<br />

The caller does not have the correct authorization to<br />

perform the desired operation.<br />

The specified file already exists.<br />

An attempt was made to do a cross-device hard link.<br />

This status value is not returned by the <strong>VM</strong> NFS<br />

server.<br />

Invalid device specified.<br />

A non-directory was specified in a directory operation.<br />

A directory was specified in a non-directory operation.<br />

An invalid argument or unsupported argument for an<br />

operation was received. An example is attempting a<br />

READLINK on an object other than a symbolic link.<br />

File too large. The operation caused a file to grow<br />

beyond the server’s file system limit.<br />

The operation caused the server’s file system to run<br />

out of space.<br />

Writing attempted on a read-only file system.<br />

There are too many hard links.<br />

The file name in an operation was too long, or invalid<br />

in some other way under the name translation option<br />

specified in the MOUNT command.<br />

Directory not empty. The caller attempted to remove a<br />

directory that was not empty.<br />

Disk quota exceeded. The client’s disk quota has been<br />

exceeded.<br />

Invalid file handle. The file referred to by the file<br />

handle no longer exists, or access has been revoked.<br />

This access revoked condition also occurs under the<br />

following sequence of events.<br />

1. A client mounts a CMS disk.<br />

2. The minidisk link password granting access to that<br />

disk is changed.<br />

3. The <strong>VM</strong> NFS server is restarted.<br />

4. The client requests an operation on this disk.<br />

After it is restarted, the <strong>VM</strong> NFS server relinks a CMS<br />

disk when it first receives a client request referring to<br />

that disk. The server restart is not visible to the client.<br />

If the minidisk link password has been changed, this<br />

link fails and “stale filehandle” status is returned to the<br />

client. Similarly, if SFS authorization of BFS<br />

permissions change for a mounted directory, and<br />

attempts to access the directory fail following a server<br />

restart, “stale filehandle” status is returned.<br />

154 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


UMOUNT Command<br />

Table 12. NFS System Return Codes (continued)<br />

Code<br />

NFS3ERR_REMOTE = 71<br />

NFSERR_WFLUSH = 99<br />

NFS3ERR_BADHANDLE = 10001<br />

NFS3ERR_NOT_SYNC = 10002<br />

NFS3ERR_BAD_COOKIE = 10003<br />

NFS3ERR_NOTSUPP = 10004<br />

NFS3ERR_TOOSMALL = 10005<br />

NFS3ERR_SERVERFAULT = 10006<br />

NFS3ERR_BADTYPE = 10007<br />

NFS3ERR_JUKEBOX = 10008<br />

Description<br />

Too many levels of remote in the path specified. The<br />

file handle given in the arguments referred to a file on<br />

a non-local file system on the server.<br />

Never returned by the <strong>VM</strong> NFS server.<br />

Never returned by the <strong>VM</strong> NFS server.<br />

Update synchronization mismatch was detected during<br />

a SETATTR operation.<br />

The cookie specified on READDIR or READDIRPLUS<br />

is incorrect.<br />

The operation specified is not supported.<br />

A buffer or request had an incorrect length.<br />

Never returned by the <strong>VM</strong> NFS server.<br />

An attempt was made to create an object of a type not<br />

supported by the server. For example, creating a socket<br />

using MKNOD is not supported for BFS.<br />

Never returned by the <strong>VM</strong> NFS server.<br />

Notes for BFS Files and Directories<br />

All functions defined by the NFS protocol are supported by BFS file systems.<br />

1. By default, NFSERR_IO is returned on requests that reference file data for BFS<br />

files that have been placed in migrated status.<br />

2. The size attribute is ignored on Create Directory.<br />

3. All attributes are ignored on Create Link to File and Create Symbolic Link.<br />

Attributes for the new link match those of the linked-to file.<br />

4. NFSERR_IO or NFS3ERR_INVAL is returned on all requests that attempt to use<br />

BFS external links of type CMSEXEC or CMSDATA. This restriction is in place<br />

because these types use ddnames and file modes, which will not be defined<br />

properly for the <strong>VM</strong> NFS server.<br />

5. NFSERR_IO or NFS3ERR_INVAL is returned on all requests that attempt to<br />

read, write, or perform the set attributes set size function on a BFS FIFO.<br />

6. All changes are flushed and committed for a Version 3 Commit request, even<br />

when offset and count contain non-zero values.<br />

7. Both the <strong>VM</strong> user’s primary GID (from the POSIXINFO statement) and the<br />

user’s supplemantary GID list (from the POSIXGLIST statement) are used for<br />

requests.<br />

8. The following restrictions apply to the MKNOD procedure:<br />

v creation of the block special device file and socket are not supported<br />

v only 16-bit major and minor device numbers are supported.<br />

9. The file mode creation mask that is in effect for the <strong>VM</strong> NFS server machine<br />

will apply to the creation of BFS objects through the <strong>VM</strong> NFS server. In other<br />

words, the NFS client may request the permission values to be associated with<br />

the file or directory (based on a local client mask), but these may be overridden<br />

by the file mode creation mask on the <strong>VM</strong> NFS server.<br />

The file mode creation mask in effect can be displayed via OPEN<strong>VM</strong> QUERY<br />

MASK. Your <strong>TCP</strong>/<strong>IP</strong> administrator can change the default by specifying the<br />

OPEN<strong>VM</strong> SET MASK command when the <strong>VM</strong> NFS server starts. For more<br />

Chapter 8. Using the Network File System Commands 155


UMOUNT Command<br />

information on the file mode creation mask, see “Handling Security for Your<br />

Files” in the z/<strong>VM</strong>: OpenExtensions User’s <strong>Guide</strong>, SC24-6053.<br />

10. If the requester user ID specified on the mount (or with mountpw or pcnfsd)<br />

has file pool administration authority for the target file pool, that<br />

administration authority is not respected by <strong>VM</strong>NFS. In other words, the<br />

requester user ID must have explicit permission to the object through the UID<br />

and GID associated with the user ID.<br />

11. Refer to “<strong>VM</strong> NFS Server Link Support” on page 167 in this chapter for more<br />

notes on BFS symbolic links and external links.<br />

12. If you are able to perform all expected functions for an NFS-mounted Byte<br />

File System directory, but ACCESS DENIED or NOT OWNER is displayed<br />

when you attempt to create a file, then the UID and GIDs defined for your<br />

client may be different from the UID and GIDs defined for the <strong>VM</strong> user ID<br />

used on the MOUNT. For a <strong>VM</strong> user ID, UID and GIDs are defined by the<br />

POSIXINFO, POSIXGROUP, and POSIXGLIST statements in the CP directory<br />

entry. Default values of -1 are used if these statements are not used.<br />

The file creation problem is typically seen on systems such as AIX and UNIX.<br />

The file is created successfully, but the NFS client then attempts to change the<br />

owning UID to match the UID of the <strong>VM</strong> user ID. This part of the operation<br />

fails because it requires super-user capabilities.<br />

Other types of clients tolerate differences in UID/GID defintions more easily.<br />

These other NFS clients often use PC-NFS to ask the server: By what UID am I<br />

known here? The NFS client then uses that information by recognizing what<br />

the owning UID of a new file should be.<br />

How can you correct this problem on a system such as AIX?<br />

a. The best way to avoid this problem is to have global user ID definitions.<br />

The <strong>VM</strong> user ID is assigned the same UID and GIDs used by the NFS<br />

Client system.<br />

b. If global user ID definitions are not possible, another choice is to create a<br />

new user ID on the client system with a UID that matches the <strong>VM</strong> user ID.<br />

Use 'su' to switch to that user ID on the client before creating the file. Also<br />

ensure that the GID assigned to the new name is in the list of GIDs<br />

assigned to the <strong>VM</strong> user ID. This may be easier than forcing consistency<br />

across all systems, but it is practical only if there is no overlap in the UID<br />

definitions for the two systems.<br />

c. A third choice is to MOUNT using a <strong>VM</strong> user ID that has super-user<br />

authority. This will allow the create request to succeed. In this case, clients<br />

that use the mount point have full power to anything under it (because<br />

they are considered super-users by the <strong>VM</strong> NFS server). Access to the<br />

mount point must be carefully controlled from the client side.<br />

Notes for SFS Files and Directories<br />

1. Most functions defined by the NFS protocol are supported by SFS file systems.<br />

Those not supported include:<br />

v symbolic links<br />

Those partially supported include:<br />

v link<br />

Limited support is available for the link NFS request. The intent of this<br />

support is to accommodate clients that use link as a temporary step during<br />

a file rename or similar operation. A hard link may be created only in the<br />

same directory as the source file. Link information is maintained in volatile<br />

156 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


v<br />

v<br />

UMOUNT Command<br />

storage by the <strong>VM</strong> NFS server, and it is not used when the reply to a<br />

read-directory or lookup-file request is constructed.<br />

set-attributes<br />

– Both the time of last modification (mtime) and the time of last access<br />

(atime) can be changed. However, SFS maintains only the date, (not time)<br />

of last access for SFS files, so when an atime is retrieved, it will show a<br />

timestamp that is midnight of the given date.<br />

– Requests to change file permissions are ignored and success status is<br />

returned to the client.<br />

– Requests to change mode, uid, orgid are ignored and success status is<br />

returned to the client.<br />

– Attempting to increase the size of a variable file generates an error<br />

response.<br />

Only the file space owner may create (mkdir) or remove (rmdir) directories,<br />

unless an ESM is used and allows the operation for the requester user ID.<br />

v The file size attribute can be used on Create File to set the size for fixed<br />

record format files. The file size attribute is ignored and set to zero for<br />

variable record format files.<br />

2. Access to SFS file and directories is based on the authorities granted to the<br />

requester user ID specified on the MOUNT command, and not UID’s. On<br />

multiple user systems such as UNIX, all users have the same access to objects<br />

in the mounted SFS directory if they have permission to use the mount point.<br />

Thus the administrator (super-user) who performs the mount must make sure<br />

that appropriate controls are in place for the mount point.<br />

3. Each update operation is committed before responding to the client, including<br />

Version 3 Write requests. A Version 3 commit request returns a success status<br />

to the client.<br />

4. CMS users can create SFS files that do not map to NFS file types. The ftype<br />

value returned for aliases, erased aliases, revoked aliases, and external objects<br />

is NFNON (non-file).<br />

5. When names=Trans is specified on the Mount command, NFS provides<br />

translation of SFS directory names that are greater than 16 characters or<br />

contain invalid characters. There is one restriction: mkdir() or rename() are<br />

rejected if the name contains a dot.<br />

The mkdir() operation creates FILECONTROL directories and uses the mtime<br />

(modification time), if provided by the client.<br />

The only date used for SFS directories is mdate.<br />

6. A ro (read-only) mount request is similar to the RORESPECT ON setting in a<br />

CMS client. If an SFS directory is mounted ro, you may not write to files in<br />

that subdirectory structure.<br />

7. By default, NFSERR_IO is returned on requests that reference file data for SFS<br />

files that have been placed in migrated status.<br />

8. Files named ##NFS## #VHIST# and ##NFS## #NAMES# may reside in an SFS<br />

top directory when files are written using NFS. Do not modify or erase these<br />

files. They contain control information needed by NFS.<br />

9. Not all file attributes defined by the NFS protocol apply to SFS file systems. In<br />

the case of uid and gid, the attribute values are returned as follows:<br />

v The uid value returned for an SFS Dircontrol directory will be 1. All other<br />

SFS objects will return a uid value of 0.<br />

v The gid value for an SFS file with fixed record format will be returned as 1.<br />

The gid value for an SFS file with variable record format will be returned as<br />

2. All other SFS objects will return a gid value of 0.<br />

Chapter 8. Using the Network File System Commands 157


UMOUNT Command<br />

Notes for Minidisk Files<br />

v The record length of an SFS file (LRECL) will be returned in the rdev<br />

attribute.<br />

10. Creation of special files using MKNOD is not supported. Special files are<br />

block special device file, character special device file, socket, and named pipe.<br />

11. Creation of a regular file with the mode set to EXCLUSIVE is not supported.<br />

12. Records in CMS variable files are limited to a length of 65535. If a write<br />

request attempts to create a record larger than this, a message is written to the<br />

<strong>VM</strong> NFS server console and an I/O error is returned to the client.<br />

13. The NFS READDIR procedure can appear to behave inconsistently with NFS<br />

mounted SFS directories, due to native SFS authorization rules. SFS will allow<br />

non-directory file system objects to be listed in NFS READDIR output,<br />

provided that the NFS client has at least SFS read authorization to the<br />

directory containing the objects, but SFS will not allow subdirectories in that<br />

directory to be listed in NFS READDIR output, unless the NFS client was also<br />

explicitly given at least SFS read authorization to each subdirectory.<br />

To ensure that clients will be able to see SFS subdirectories after an NFS<br />

READDIR procedure, SFS read authorization should be granted for every<br />

directory in a file system hierarchy. Refer to the z/<strong>VM</strong>: CMS User’s <strong>Guide</strong>,<br />

SC24-6009, for more information on SFS authorizations.<br />

1. Some functions that are defined by the NFS protocol are not supported by CMS<br />

minidisk file systems. Others are partially supported.<br />

Those not supported include:<br />

v make-directory<br />

v symbolic link<br />

v remove-directory<br />

Those partially supported include:<br />

v set-attributes<br />

– Only the time of last data modification (mtime) can be changed.<br />

– Requests to change file permissions are ignored and success status is<br />

returned to the client.<br />

– The size of a file can be changed to zero or to its current size. The size of<br />

a fixed record format file can be increased. Other size change requests<br />

generate an error response.<br />

– Requests to change mode, uid, orgid, are ignored and success status is<br />

returned to the client.<br />

v link<br />

– Limited support is available for the link NFS request. The intent of this<br />

support is to accommodate clients that use link as a temporary step<br />

during a file rename or similar operation. Link information is maintained<br />

in volatile storage by the <strong>VM</strong> NFS server, and it is not used when the<br />

reply to a read-directory or lookup-file request is constructed.<br />

v Access to minidisks is based on the ability of the <strong>VM</strong> NFS server to link the<br />

disk. On multiple user systems such as UNIX**, all users have the same<br />

access to files in the mounted minidisk if they have permission to use the<br />

mount point. Thus the administrator (super-user) who performs the mount<br />

must make sure that appropriate controls are in place for the mount point.<br />

v A minidisk file size can be changed to zero from an NFS client. To NFS<br />

clients it will appear to have a file size of zero; to CMS users the file will<br />

appear to have one record, of length one.<br />

158 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


v<br />

v<br />

UMOUNT Command<br />

Not all file attributes defined by the NFS protocol apply to minidisk files. In<br />

the case of uid and gid, the attribute values returned are as follows:<br />

– The uid value returned for a minidisk file with either fixed or variable<br />

record format will be returned as 0.<br />

– The gid value for a minidisk file with fixed record format will be returned<br />

as 1. The gid value for a minidisk file with variable record format will be<br />

returned as 2.<br />

– The record length of a minidisk file (LRECL) will be returned in the rdev<br />

attribute.<br />

The <strong>VM</strong> NFS server updates CMS minidisk disk blocks in place, if possible.<br />

The advantages of this implementation include:<br />

– Updates to existing data in a file are immediately visible to a CMS user<br />

who accessed the disk before the updates were made.<br />

– The <strong>VM</strong> NFS server does not need to keep elaborate data structures in<br />

memory, record the current state of a file, or manipulate the CMS<br />

allocation and directory information every time a write request is<br />

executed.<br />

The disadvantage of this type of implementation is that a time window<br />

exists, during which a failure of the <strong>VM</strong> NFS server could cause a disk block<br />

on a CMS disk to be recorded as allocated, when it does not belong to any<br />

file.<br />

This time window is of short duration, because, after the block is marked as<br />

allocated, the directory or pointer block necessary to record ownership of the<br />

block is immediately updated. For this reason, troubles with lost blocks are<br />

infrequent.<br />

If a file is open when an update is made, you may not see the update,<br />

because CMS buffers the disk block containing the update. CMS only buffers<br />

one disk data block for each file, so updates in another data block can be<br />

seen, even if the file is open. Closing the file makes the updates visible the<br />

next time the file is read.<br />

Updated file data is immediately visible to other NFS clients, subject to the<br />

limitations imposed by the buffering performed in those client machines.<br />

Write operations performed by the <strong>VM</strong> NFS server are similar to the<br />

operations that CMS performs to files that have the file mode number 6. The<br />

<strong>VM</strong> NFS server does not distinguish the actual file mode number associated<br />

with a file on a CMS disk. New files are always created with the file mode<br />

number 1. Files of any file mode number (including zero) can be read by any<br />

client that performs a successful mount.<br />

v The file size attribute can be used on Create File to set the size for fixed<br />

record format files. The file size attribute is ignored and set to zero for<br />

variable record format files.<br />

2. All changes are flushed and committed for a Version 3 Write request. A Version<br />

3 Commit request returns a success status to the client.<br />

3. Creation of special files using MKNOD is not supported. Special files are block<br />

special device file, character special device file, socket, and named pipe.<br />

4. Creation of a regular file with the mode set to EXCLUSIVE is not supported.<br />

Chapter 8. Using the Network File System Commands 159


UMOUNT Command<br />

SMSG Interface to <strong>VM</strong>NFS<br />

5. Records in CMS variable files are limited to a length of 65535. If a write request<br />

attempts to create a record larger than this, a message is written to the <strong>VM</strong> NFS<br />

server console and an I/O error is returned to the client.<br />

The <strong>VM</strong> Special Message Facility (SMSG) command provides an interface to <strong>VM</strong><br />

NFS server to:<br />

v<br />

v<br />

v<br />

v<br />

cause the server to detach a minidisk it has linked (usually in read-write mode)<br />

so other users can establish links to that minidisk.<br />

refresh minidisk information after changes have been made to a minidisk that<br />

the server has linked in read-only mode; this causes buffered disk block data to<br />

be discarded so that subsequent client requests make use of current disk data.<br />

obtain a summary of NFS server activity.<br />

obtain error information about client requests that pertain to a specific SFS or<br />

BFS directory that has been mounted.<br />

Note: Some of the SMSG commands described in this section may be restricted by<br />

the <strong>TCP</strong>/<strong>IP</strong> administrator for use by only authorized <strong>VM</strong> user IDs.<br />

160 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


SMSG Interface to <strong>VM</strong>NFS<br />

►► SMSG server_id replytag Options ►◄<br />

Options:<br />

Detach<br />

Error<br />

Query<br />

Refresh<br />

user_id.vaddr<br />

BFS_pathname<br />

SFS_directory<br />

Query Opts<br />

user_id.vaddr<br />

Query Opts:<br />

Config<br />

Link<br />

Mount<br />

Resource<br />

Resource Opts<br />

Resource Opts:<br />

USER<br />

issuing_vm_user_ID<br />

USER vm_user_ID<br />

USER ANONYMOUS DETAILS<br />

<strong>IP</strong> ip_address VERSIONS<br />

ALL<br />

Operands<br />

SMSG command operands are parsed by the NFS server as blank-delimited tokens,<br />

and case is not significant. Any tokens present after those recognized by the NFS<br />

server are considered to be comments and are ignored.<br />

server_id<br />

The user ID of the NFS server virtual machine, usually <strong>VM</strong>NFS.<br />

replytag<br />

A character string that associates the supplied SMSG command Option with a<br />

server response; the replytag prefaces each message issued by the NFS server in<br />

response to the given command. Any characters (other than blank and null<br />

characters) can be used to form a replytag, and case is not significant.<br />

The replytag also indicates how the NFS server is to deliver its response to a<br />

particular SMSG command. The last character of replytag has special meaning<br />

and is interpreted by the server as follows:<br />

The following describes how the last character of replytag is interpreted.<br />

s respond using the CP SMSG command.<br />

m respond using the CP MSG command.<br />

Chapter 8. Using the Network File System Commands 161


SMSG Interface to <strong>VM</strong>NFS<br />

n send no response.<br />

If the replytag does not end with one of these characters, the NFS<br />

server chooses a response mode.<br />

Detach user_id.vaddr<br />

Directs the NFS server to detach a minidisk that it has linked, where:<br />

v user_id identifies the <strong>VM</strong> user ID that owns the minidisk<br />

v vaddr is the minidisk virtual address.<br />

Error object<br />

Requests error information about the mounted object directory to be returned.<br />

The NFS server maintains a limited amount of error information for a mounted<br />

directory in an internal ″host″ error log. This information can be useful in<br />

determining the underlying reason for an error (for example, NFSERR_IO)<br />

that is returned in response to a client request. Note that information about<br />

“not found” and “not authorized” error types is not maintained.<br />

The object directory for which error information can be retrieved may be one of<br />

the following:<br />

BFS_pathname<br />

The mounted BFS directory for which host error information is<br />

requested. Information will only be returned if the <strong>VM</strong> user ID that<br />

originates the error request has permission to the directory in question.<br />

SFS_pathname<br />

The mounted SFS directory for which host error information is<br />

requested. Information will only be returned if the <strong>VM</strong> user ID that<br />

originates the error request has authorization for the directory in<br />

question.<br />

Query<br />

Requests summary information about NFS server activity. The QUERY<br />

command can be further qualified with the CONFIG, LINK, MOUNT or<br />

RESOURCE operands to obtain specific information.<br />

Query CONFIG<br />

Requests information about how the NFS server is configured. The server<br />

returns the following information in its response:<br />

v The <strong>TCP</strong>/<strong>IP</strong> function level of the <strong>VM</strong>NFS MODULE in use.<br />

v The status of various configuration parameters, such as whether mounts are<br />

restricted to only exported file systems, whether anonymous mounts are<br />

allowed, whether PCNFSD is supported, and the time after which PCNFSD<br />

information will be discarded.<br />

v The maximum buffer size to be used to satisfy NFS version 3 READ<br />

requests.<br />

v The maximum buffer size to be used to satisfy NFS version 3 WRITE<br />

requests.<br />

v The maximum number of NFS clients that can concurrently use the <strong>TCP</strong><br />

transport protocol.<br />

v The number of NFS clients that are concurrently using the <strong>TCP</strong> transport<br />

protocol.<br />

Information returned by the SMSG QUERY CONFIG command can be used to<br />

determine if the maximum allowable number of clients which use the <strong>TCP</strong><br />

transport protocol (controlled by the MAX<strong>TCP</strong>USERS server configuration<br />

statement) is acceptable.<br />

162 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Query Link<br />

Requests information about minidisks that are linked by the NFS server.<br />

Support for the SMSG QUERY LINK command is provided to maintain<br />

compatability with prior levels of <strong>TCP</strong>/<strong>IP</strong> for <strong>VM</strong>/ESA; it is recommended<br />

that the SMSG QUERY RESOURCE command be used in place of the SMSG<br />

QUERY LINK command.<br />

Query Mount<br />

Requests information about NFS mounts that are active. Support for the SMSG<br />

QUERY MOUNT command is provided to maintain compatability with prior<br />

levels of <strong>TCP</strong>/<strong>IP</strong> for <strong>VM</strong>/ESA; it is recommended that the SMSG QUERY<br />

RESOURCE command be used in place of the SMSG QUERY MOUNT<br />

command.<br />

Query Resource<br />

Requests information about specific resources that are actively in use by the<br />

NFS server. SFS and BFS directories are considered to be active if they have<br />

been used or referenced within the 15 minute period that percedes receipt of<br />

an SMSG QUERY RESOURCE command. A minidisk is considered to be active<br />

so long as the NFS server has established a link to that minidisk.<br />

If additional operands are not used to qualify a RESOURCE query, information<br />

that corresponds to the user ID which originated the SMSG command is<br />

returned, as if the USER vm_user_id had been specified.<br />

The information returned in response to an SMSG QUERY RESOURCE<br />

command includes:<br />

v whether a mount is read-write or read-only.<br />

v<br />

v<br />

v<br />

v<br />

a one-character mount indicator. This indicator is typically m, meaning the<br />

returned resource information corresponds to an explicit client mount. An<br />

asterisk (*) indicates the NFS server was restarted and that an implicit<br />

mount was performed for a directory that is lower in the hierarchy of the<br />

explicitly-mounted directory.<br />

the <strong>IP</strong> address from which a mount was requested.<br />

SMSG Interface to <strong>VM</strong>NFS<br />

the <strong>VM</strong> user ID under which a mount was requested, or ″anonymous″ if an<br />

anonymous mount was performed.<br />

the name of the mounted BFS directory, SFS directory, or minidisk.<br />

The RESOURCE operand can be further qualified with the USER, <strong>IP</strong> or ALL<br />

operands to obtain more specific summary information, as follows:<br />

USER vm_user_id<br />

Limits resource information for directories and minidisks mounted<br />

under authority of the specified <strong>VM</strong> user ID, vm_user_id.<br />

USER ANONYMOUS<br />

Limits resource information for directories and minidisks that have<br />

been mounted anonymously.<br />

<strong>IP</strong> ip_address<br />

Limits resource information for directories and minidisks that have<br />

been mounted by the host with the <strong>IP</strong> address, ip_address.<br />

ALL<br />

Provides resource information for all mounted directories and<br />

minidisks. Note that BFS and SFS directory mount information is<br />

returned only if the user ID that originates the request has permission<br />

(authorization) for those directories. Table 13 on page 164 shows the<br />

information that is displayed when the ALL operand is used.<br />

Chapter 8. Using the Network File System Commands 163


SMSG Interface to <strong>VM</strong>NFS<br />

Table 13. Resource Information<br />

Mount Information<br />

Meaning<br />

* The NFS server was restarted and an implicit mount<br />

was done for a directory lower in the<br />

explicitly-mounted directory’s hierarchy.<br />

m<br />

Information displayed is for an explicit client.<br />

ro, rw<br />

Indicates whether the mount is read-write or read-only.<br />

name<br />

The name of the mounted BFS directory, SFS directory,<br />

or minidisk.<br />

<strong>IP</strong> address<br />

The <strong>IP</strong> address from which the mount was requested.<br />

user ID<br />

The <strong>VM</strong> user ID under which the mount was requested.<br />

This will contain “anonymous” if the mount was made<br />

anonymously.<br />

Examples<br />

The operands that follow can be used with the USER, <strong>IP</strong> or ALL operands to<br />

obtain additional information, as follows:<br />

DETAILS<br />

Provides counter values for various NFS requests.<br />

VERSIONS<br />

Provides separate request counter values for NFS version 2 requests<br />

and NFS version 3 requests.<br />

Refresh user_id.vaddr<br />

Directs the NFS server to update information it is maintaining about a<br />

particular minidisk, where:<br />

v user_id identifies the <strong>VM</strong> user ID that owns the minidisk<br />

v vaddr is the minidisk virtual address.<br />

v<br />

The following example instructs the NFS server to discard any disk blocks<br />

buffered from the <strong>TCP</strong>MAINT 592 minidisk.<br />

smsg vmnfs example1m refresh tcpmaint.592<br />

The reply from the SMSG command is sent by the CP MSG command. The<br />

message text returned for this command is:<br />

EXAMPLE1M REFRESH <strong>TCP</strong>MAINT.592 completed.<br />

If a busy reply is sent, the message text is:<br />

EXAMPLE1M REFRESH <strong>TCP</strong>MAINT.592 busy.<br />

v<br />

The busy reply is generated if the <strong>VM</strong> NFS server cannot find a moment when a<br />

client request is not using the referenced minidisk. The server tries for 10<br />

seconds before generating a busy reply. If a busy reply is received, you can try<br />

the command again.<br />

The following example asks for a display of NFS server activity.<br />

smsg vmnfs m q<br />

The reply from this QUERY command is sent by the CP MSG command. The<br />

message text (time and origin information added by CP is omitted) that might<br />

result from this example is:<br />

164 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Name Translation File<br />

M <strong>VM</strong> NFS server start time 18Jan1999 08:50:48.<br />

M 238 RPC (0 duplicate XID), 11 SMSG, 5 *BLOCKIO<br />

M 0 null, 6 getattr, 7 setattr, 98 lookup, 12 read, 4 write<br />

M 4 create, 3 remove, 2 rename, 0 link, 70 readdir, 14 statfs<br />

M 13 mkdir, 1 rmdir, 0 symlink, 0 readlink, 0 access, 0 mknod<br />

M 0 readdir+, 0 fsstat, 0 fsinfo, 0 pathconf, 0 commit<br />

M 2 mount, 0 mountpw, 1 mountnull, 0 unmount, 0 unmount-all<br />

M 1 pcnfsd auth, 0 unsupported<br />

M End of reply.<br />

SMSG Interface to <strong>VM</strong>NFS<br />

The <strong>VM</strong> NFS server creates the translation file ##NFS## #NAMES# on a:<br />

v CMS minidisk, or<br />

v SFS top directory<br />

that has been mounted read-write with default name processing when the first<br />

client request to create an invalid file name for CMS is received. The translation<br />

file contains both the original client file names and the corresponding CMS file<br />

names that are generated.<br />

The names translation files are hidden from NFS clients. That is, lookup or readdir<br />

requests do not return an entry for these files. Please note that these files are only<br />

visible to CMS users of the minidisk or directory.<br />

Attention<br />

You can destroy a name translation file by writing incorrect data to the file.<br />

This damages the internal structure of the file.<br />

You can also destroy a name translation file by erasing or renaming it using<br />

CMS.<br />

Special File Names for <strong>VM</strong> NFS<br />

The file names (.) and (..) are handled as special cases by the <strong>VM</strong> NFS file server.<br />

No name translation is performed. For minidisk, the file lookup procedure in the<br />

server treats each of these file names as a request for the file handle of the<br />

directory (the CMS minidisk itself). For SFS and BFS, a file name of (..) is treated as<br />

a request for a lookup of the parent directory of the current object. A file name of<br />

(.) is treated as a request for a lookup of the current object. This convention<br />

supports interpretations that are common in UNIX NFS clients.<br />

Special File Name Considerations<br />

Note for ESM-protected file pools: an NFSERR_ACCES error code may indicate<br />

that you do not have the correct authorization to perform the desired operation on<br />

the target file, or on the name translation file that resides in an SFS top directory.<br />

Note to UNIX users: CMS file rename semantics differ from UNIX. CMS uses file<br />

names to denote files, unlike the inode organization that UNIX uses for its files.<br />

Changing the name of a file for which some client has a file handle makes that file<br />

handle invalid, because there is no longer a file with the name denoted by the file<br />

handle. If a new file is created with the old name, or an existing file is renamed to<br />

the old name, the old file handle denotes the new file.<br />

Chapter 8. Using the Network File System Commands 165


SMSG Interface to <strong>VM</strong>NFS<br />

NFS Client Problems<br />

UNIX systems avoid a similar problem when reusing inodes, because they<br />

maintain an inode generation number which, in combination with the inode<br />

number, uniquely identifies a file. A new file with the name that another file used<br />

to have is different from the old file, because the inode number and generation<br />

number of the new file is different from the old one.<br />

Some client implementations have a particular problem with deleting files from<br />

CMS minidisks. The problem results from a discrepancy between assumptions<br />

made by the client about how the <strong>VM</strong> NFS server manages a directory, and the<br />

actual mechanism used by CMS to manage the directory on a minidisk. The<br />

problem occurs when the PC-DOS client undertakes an operation such as delete<br />

*.c. This operation starts with the client reading a buffer of file names<br />

(read-directory operation) from the server, and receiving a cookie (file name) that<br />

references a particular position in the directory. The client then examines the<br />

names, finds one or more that match the specified pattern, and emits erase-file<br />

calls for the matching names. Because CMS maintains a compact directory, the hole<br />

created by deleting a file is filled by moving the data from the last file in the<br />

directory into the hole and shortening the length of the directory itself.<br />

When the client finishes erasing all appropriately named files in this first group of<br />

file names, it calls the server (using the previously obtained cookie) toread<br />

another group of file names. However, a number of file names (equal to the<br />

number of erased files) can no longer be seen by the client, because the directory is<br />

not the same as when the first group of file names was read. In this example, if<br />

one of the holes was filled with data for a file that matches the “*.c” pattern, one<br />

or more files that should have been erased are retained.<br />

A similar problem between the client and server, again due to a cookie-related<br />

discrepancy, can occur with BFS and SFS managed directories, with some NFS<br />

client implementations.<br />

You can avoid these problems by making the client application repeat the delete<br />

request, if it deletes any files using a wildcard pattern, until it receives a return<br />

value indicating that no file names were matched by the pattern. For more specific<br />

instructions for particular clients please refer to the <strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> homepage at:<br />

http://www.ibm.com/s390/vm/related/tcpip/<br />

Deleting CMS Record-Length Fields<br />

Using NFS with RACF<br />

166 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong><br />

In the past, the VCMS C sample program was provided to read variable format<br />

(V-format) files and delete CMS record-length fields. This sample is no longer<br />

provided. Instead the lines option can now be specified on MOUNT requests to<br />

prevent CMS record-length fields from being inserted in the NFS data stream (if<br />

CMS record-length fields are not needed).<br />

The Resource Access Control Facility (RACF) allows NFS servers to act as<br />

surrogates for other user IDs. This means that the server can access those disks<br />

available to a given user ID.<br />

The command that allows NFS servers to act as surrogates is provided in a<br />

program called NFSPERM EXEC. To use it, enter the command:<br />

NFSPERM ADD


Using NFS with RACF<br />

<strong>VM</strong> NFS Server Link Support<br />

If you get an error, contact your system administrator.<br />

You may delete the NFS server’s surrogate authority by issuing the command:<br />

NFSPERM DELETE<br />

NFSPERM is explained in the “Using <strong>TCP</strong>/<strong>IP</strong> with External Security Manager”<br />

section of the <strong>TCP</strong>/<strong>IP</strong> Planning and Customization publication.<br />

Two kinds of links are supported in the NFS protocol, hard links and symbolic<br />

links. Hard links are supported by the NFS LINK procedure, and symbolic links<br />

are supported by the NFS SYMLINK and READLINK procedures. <strong>VM</strong> does not<br />

natively support hard links and symbolic links for minidisk file systems and SFS,<br />

but there is native support for hard links and symbolic links in BFS.<br />

SFS and Minidisk Links<br />

The <strong>VM</strong> NFS server provides no additional support for symbolic links on minidisk<br />

or in SFS, but it does provide limited support for minidisk and SFS hard links.<br />

This support is minimal, and is intended to facilitate some NFS clients’<br />

intermediate use of hard links during NFS operations such as RENAME.<br />

BFS Links<br />

The <strong>VM</strong> NFS server fully supports hard links and symbolic links in BFS. A<br />

symbolic link may appear in NFS READDIR output, and may be a component of a<br />

BFS pathname on an NFS MOUNT command or other NFS client commands.<br />

The <strong>VM</strong> NFS server provides limited support for BFS external links, even though<br />

these fall outside the scope of the NFS protocol. MOUNT external links may<br />

appear in NFS READDIR output, may be targets of NFS READLINK procedures,<br />

and may be components of BFS pathnames on an NFS MOUNT command or other<br />

NFS client commands. NFS READLINK does not support CMSDATA, CMSEXEC,<br />

or CODE external links, but they may appear in NFS READDIR output. Creation<br />

of external links, and I/O operations on external links, are not supported by the<br />

<strong>VM</strong> NFS server.<br />

Because symbolic links and MOUNT external links may be BFS pathname<br />

components, seemingly inconsistent behavior related to pathname parsing can<br />

occur during some NFS operations. NFS clients interpret the contents of symbolic<br />

links and MOUNT external links when they are encountered as pathname<br />

components, and different NFS clients may interpret them differently; this can<br />

affect the outcome of NFS READDIR operations and other NFS operations.<br />

v<br />

v<br />

v<br />

v<br />

The use of consecutive periods (..) in a BFS pathname can cause problems.<br />

UNIX-type implementations interpret this to mean the parent directory of the<br />

current directory, and it may be meaningless in non-UNIX-type implementations.<br />

The OpenEdition <strong>VM</strong> fully-qualified BFS prefix “/../<strong>VM</strong>BFS:” can be a problem<br />

if it appears other than at the beginning of a pathname.<br />

A slash (/) at the beginning of a BFS pathname can imply that the subsequent<br />

path is relative to the root of the current file system, and the absence of a slash<br />

at the beginning can imply that the subsequent path is relative to the current<br />

directory.<br />

A slash (/) at the end of a pathname can imply that a link should be followed,<br />

and the absence of a slash at the end can imply that a link should not be<br />

followed.<br />

Chapter 8. Using the Network File System Commands 167


Using NFS with RACF<br />

The following recommendations should thus be observed:<br />

v Consider the run-time perspective of the NFS client when constructing<br />

pathnames for symbolic links and MOUNT external links in BFS.<br />

v Do not use consecutive periods (..) in a BFS pathname unless its meaning will be<br />

unambiguous at run time.<br />

v Be conscious of whether links are being specified relative to the expected current<br />

directory at run time, or relative to the root of the file system.<br />

Refer to the z/<strong>VM</strong>: OpenExtensions User’s <strong>Guide</strong> and the z/<strong>VM</strong>: OpenExtensions<br />

Command Reference for more information on BFS symbolic links, external links, and<br />

pathname syntax and resolution.<br />

168 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Chapter 9. Using the Remote Execution Protocol<br />

REXEC Command<br />

The Remote Execution Protocol (REXEC) is a remote execution client that allows<br />

you to execute a command on a foreign host and receive the results on the local<br />

host. This chapter describes how to use the REXEC command, and its associated<br />

NETRC DATA file.<br />

The REXEC client passes a user name, password, and command to an REXEC<br />

daemon on a foreign host, which provides automatic logon and user<br />

authentication, depending on the parameters set by the (client) user. If the<br />

authentication process succeeds, the command is issued, and any results are<br />

returned to the client. If the authentication fails, an error message is displayed on<br />

the local host.<br />

An REXEC daemon must be running on the foreign host where your command is<br />

to be issued. For information about the <strong>TCP</strong>/<strong>IP</strong> REXEC daemon (REXECD), see<br />

<strong>TCP</strong>/<strong>IP</strong> Planning and Customization. For information about REXEC daemons on<br />

other platforms, see the appropriate documentation associated with the foreign<br />

host being used.<br />

Use the REXEC command to execute commands on a foreign host and receive the<br />

results on the local host.<br />

►►<br />

REXEC<br />

-? -d -t timeout<br />

►<br />

►<br />

-n -k -l user_id -p password<br />

-s 512<br />

-s port<br />

►<br />

►<br />

-w 80<br />

-w width<br />

foreign_host command ►◄<br />

Operands<br />

-? Displays the help message.<br />

-d Activates debug tracing.<br />

-t timeout<br />

Sets idle time-out. This option specifies the time (in seconds) in which a<br />

connection closes if there is no activity. By default, the session will remain<br />

active until the remote system closes the connection.<br />

-n Suppresses use of the NETRC DATA file and hence automatic logon to the<br />

foreign host.<br />

-k Suppresses prompts for the logon user name and password. Use this option<br />

when a NETRC DATA file is used and command input is to be obtained<br />

through non-interactive means, such as from an exec.<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 169


Using REXEC<br />

Examples<br />

-l user_id<br />

Specifies a user ID that is valid on the foreign host. Depending on the type of<br />

host, user_id may be case sensitive.<br />

-p password<br />

Specifies the password associated with user_id. The password may also be case<br />

sensitive.<br />

-sport<br />

Specifies the <strong>TCP</strong> port number of the REXEC daemon on the foreign host. The<br />

default for port is 512.<br />

-w width<br />

Specifies the maximum width to use for lines written by REXEC. The<br />

minimum acceptable width is 1, while the maximum is 32767. The default for<br />

width is 80. Note that circumstances on the remote host continue to affect or<br />

restrict output when the w operand is used.<br />

foreign_host<br />

Specifies the name or internet address of the foreign host to which you are<br />

sending your command. You can specify the foreign host by its host name or<br />

internet address.<br />

command<br />

Specifies the command that is sent to the foreign host. The command can be<br />

composed of one or more words. After checking for any prefixed parameters<br />

(-l, -p, and -s) and obtaining the foreign host, the remaining REXEC argument<br />

string is assigned to command. Depending on the type of foreign host, the<br />

command may be case sensitive.<br />

v<br />

The following example shows the results obtained for an REXEC command<br />

issued against another <strong>VM</strong> system. In this example, the CP QUERY NAMES<br />

command has been executed by an rexec daemon agent (RXAGENT1) on host<br />

ODDJOB, as a result of a user specifying a user ID and password of “GUEST”.<br />

rexec -l guest -p guest -s 512 oddjob cp q names<br />

<strong>VM</strong>NFS - DSC, SMTP -DSC, PORTMAP - DSC<br />

LPSERVE - DSC, FTPSERVE -DSC, REXECD - DSC<br />

SNMPQE - DSC, SNMPD -DSC, RSCS - DSC<br />

<strong>TCP</strong><strong>IP</strong> - DSC, P<strong>VM</strong> -DSC, GCS - DSC<br />

OPERSYMP - DSC, DISKACNT -DSC, EREP - DSC<br />

<strong>TCP</strong>MAINT - DSC, RXAGENT1 -DSC,<br />

VSM - VTAM<br />

VSM - <strong>TCP</strong><strong>IP</strong><br />

Ready;<br />

RUNNING<br />

GDL<strong>VM</strong>7<br />

Usage Notes<br />

The NETRC DATA File<br />

v<br />

If you omit the user name or password, REXEC prompts you to supply them,<br />

unless they are defined in a NETRC DATA file, or unless the -k option has been<br />

specified to suppress prompting.<br />

The NETRC DATA file provides an alternative for specifying the REXEC user_id<br />

and password parameters. If these parameters are defined within this file for a<br />

specific host, they can be omitted when you issue an REXEC command against<br />

that host.<br />

170 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


For more information on the NETRC DATA File and how it may be used with<br />

other applications, see Appendix B, “Using the NETRC DATA File” on page 293.<br />

The following sections should be reviewed before REXEC commands are issued<br />

against a <strong>VM</strong> host running <strong>TCP</strong>/<strong>IP</strong>, as they provide important information about<br />

the REXEC support provided in the <strong>VM</strong> environment.<br />

Anonymous Remote Command Execution<br />

Using REXEC<br />

<strong>TCP</strong>/<strong>IP</strong> provides support for “anonymous” REXEC command execution through<br />

the use of one or more REXEC “agent” machines. These machines can be used by<br />

specifying either of the following user ID and password combinations:<br />

User ID Password<br />

ANONYMOU ANONYMOU<br />

GUEST GUEST<br />

Note: Only the first eight characters of the above values are verified. For the case<br />

when ANONYMOU is used, longer strings that begin with ″ANONYMOU″<br />

(such as ″ANONYMOUS″) may be accepted. Also, note that these values are<br />

not case-sensitive.<br />

When an agent machine is used to execute an anonymously-supplied command,<br />

the command is passed on to, and executed within, an available agent machine.<br />

After the command completes, output is obtained by REXECD via IUCV<br />

communications and is passed on to the REXEC client; the agent machine is then<br />

made available to process other anonymous REXEC commands. Note that since<br />

multiple agent machines may be in use on the remote <strong>VM</strong> host, there is no<br />

guarantee that the same agent will be used to process successive REXEC<br />

commands. Also, since a given agent machine handles multiple users’ requests, the<br />

internal state of that machine may vary as different commands are issued.<br />

Command Execution Using Your Own Virtual Machine<br />

A CMS user’s own virtual machine can also be used to execute REXEC-supplied<br />

commands. When this is done, command processing is performed in much the<br />

same way as that done with RXAGENT machines. The main difference is that your<br />

virtual machine is autologged following user and password authentication, and<br />

then logged off after the given command has completed.<br />

It should be noted that if a client application sends consecutive REXEC commands<br />

in quick succession to the <strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> REXECD server machine, one (or more) of<br />

these commands may fail due to errors associated with logging on the intended<br />

virtual machine. For example, the message “Unable to autolog user user ID” may<br />

be received. Errors such as this may occur due to timing conflicts between the<br />

autolog processing and that of the supplied commands. This situation can be<br />

avoided by enlisting the use of an RXAGENT machine or by adding an<br />

appropriate delay between consecutive commands issued by the client.<br />

In addition to the items listed in the Notes and Restrictions section, the following<br />

considerations apply to any CMS user’s virtual machine used for REXEC command<br />

processing:<br />

1. The user machine must not be active when REXEC requests are made against<br />

it. If the user’s machine is logged on or disconnected, the REXEC request will<br />

be rejected.<br />

Chapter 9. Using the Remote Execution Protocol 171


Using REXEC<br />

2. Any machine used to process REXEC commands must access the <strong>TCP</strong>/<strong>IP</strong> client<br />

minidisk <strong>TCP</strong>MAINT 592, in its PROFILE EXEC. This is necessary so that the<br />

RXSNDIU EXEC is available, which is used to process data provided by<br />

REXECD after the machine has been autologged.<br />

3. Your PROFILE EXEC should not attempt to process data in the console input<br />

buffer or program stack. Such processing, if performed, may prevent REXEC<br />

commands from being processed. Additionally, the PROFILE EXEC must not<br />

require user intervention.<br />

Notes and Restrictions<br />

1. Due to the manner in which command output is obtained from agent machines,<br />

secondary consoles must not be defined for them. If a secondary console is<br />

defined, REXECD will not be able to send command results back to the REXEC<br />

client.<br />

2. When the REXECD server autologs a virtual machine, it passes several<br />

parameters. In doing so, the # (pound) symbol is always used as the LINEND<br />

character. If a different LINEND character is in effect for the agent machine(s),<br />

REXEC commands will not be processed successfully. In such cases, the agent<br />

machine’s PROFILE EXEC will need to be modified to set the LINEND<br />

character to #, with the CP TERMINAL command. For example, when the<br />

foreign host is a <strong>VM</strong> system you would enter:<br />

CP TERMinal LINEND #<br />

3. Because the REXEC protocol doesn’t allow for user interaction, commands to be<br />

executed remotely must complete without the need for user intervention. When<br />

a <strong>VM</strong> system is the foreign host involved, commands such as FILELIST should<br />

not be executed via REXEC.<br />

4. The combined length of all REXEC operands, including spaces, is limited to 255<br />

bytes. Therefore, the number and length of the operands that precede the<br />

command operand (such as -d or -l userid) will further restrict the length of a<br />

command that can be sent to a foreign host.<br />

Commands submitted to remote <strong>VM</strong> hosts are further limited, because of<br />

REXECD processing constraints. Commands that are processed anonymously<br />

by an RXAGENT maachine are limited to 227 bytes; those processed by a CMS<br />

user’s own virtual machine are limited to 189 bytes.<br />

Using RSH commands with REXECD<br />

<strong>TCP</strong>/<strong>IP</strong> provides limited support for rsh, remsh, and similar commands. When<br />

such commands are issued against a <strong>VM</strong> host, a command to be executed on the<br />

remote <strong>VM</strong> host must be supplied. There is no support for the processing of<br />

interactive commands.<br />

When an rsh command is received, it is processed by the <strong>VM</strong> REXECD server in<br />

essentially the same manner as an REXEC command. The same user ID and<br />

password verification mechanisms used for REXEC commands are used for<br />

rsh-supplied commands as well. An attempt is made to log on to the <strong>VM</strong> user ID<br />

that is identical to the local login id used to issue the rsh command; the value used<br />

is usually that which is maintained in the LOGNAME variable on Unix-based<br />

systems. The only exception to this is when a special password value of *guest has<br />

been provided.<br />

Because <strong>VM</strong> requires a password to be supplied when logging on to a user, a<br />

password must be available. The rsh and remsh commands however have no<br />

inherent provision for doing so. Moreover, there is no rhosts (or similar) file<br />

172 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


maintained by the <strong>VM</strong> host for remote user authentication purposes. To bypass<br />

these limitations, the -l flag of the rsh command is used to provide the <strong>VM</strong> logon<br />

password as part of the rsh command. For example, when the following rsh<br />

command is issued from an AIX system by the user wellsjr:<br />

rsh gd3vm0 -l blues2me q cmslevel<br />

the <strong>VM</strong> user ID WELLSJR will be logged on using the password BLUES2ME. The<br />

QUERY CMSLEVEL command is then executed on the host GD3<strong>VM</strong>0.<br />

On other platforms, the rsh command may need to be specified using different<br />

flags. For example, from an OS/2 client, the above rsh command needs to be<br />

specified with both the -l and the -u flags:<br />

rsh gd3vm0 -u welljr -l blues2me q cmslevel<br />

Using REXEC<br />

If a user has no user ID on a remote <strong>VM</strong> system, rsh commands can still be issued,<br />

though in an anonymous manner. In this case, the supplied command will be<br />

processed by an REXEC agent virtual machine. To have an rsh command processed<br />

in this way, you need to specify a special value of *guest via the -l flag as shown<br />

below:<br />

rsh gd3vm0 -l *guest q cmslevel<br />

Chapter 9. Using the Remote Execution Protocol 173


Using REXEC<br />

174 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Chapter 10. Using Remote Printing<br />

LPRSET Command<br />

<strong>TCP</strong>/<strong>IP</strong> provides client and server support for remote printing. The remote<br />

printing application allows you to spool files remotely to a line printer daemon<br />

(LPD). The line printer client (LPR) sends the spooled file to a specified print<br />

server host and to a specified printer.<br />

The following commands are described in this chapter:<br />

v LPRSET<br />

v LPR<br />

v LPQ<br />

v LPRM<br />

Use the LPRSET command to define default printer and host values for the LPQ,<br />

LPR, and LPRM remote printing commands, or to set additional defaults for the<br />

LPR command.<br />

►►<br />

LPRSET<br />

printer host Optional Parameters<br />

►◄<br />

Optional Parameters<br />

(<br />

PERMANENT TRACE (1) )<br />

SESSION TYPE RESET<br />

Options<br />

Options:<br />

QUERY VERSION NICKNAME name TAG usertag<br />

►<br />

►<br />

TRANSLATE<br />

tablename<br />

SYNCHRONOUS<br />

ASYNCHRONOUS<br />

Asynchronous Options<br />

Asynchronous Options:<br />

RSCS<br />

linkid,nodeid<br />

linkid@nodeid<br />

linkid at nodeid<br />

SERVER<br />

rscsid<br />

Notes:<br />

1 When RESET is specified, printer and host are not valid.<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 175


Remote Printing Commands<br />

Operands<br />

Note: You can use the shortest available unique character sequence as a minimum<br />

abbreviation for an LPRSET parameter.<br />

printer<br />

Specifies the name of the printer to be used for the LPQ, LPR, and LPRM<br />

remote printing commands; printer is restricted to 255 characters.<br />

host<br />

Specifies the name or internet address (in dotted-decimal form) of the printer<br />

host to be used for the LPQ, LPR, and LPRM remote printing commands; host<br />

is restricted to 255 characters.<br />

ASYNCHRONOUS<br />

This option will send LPR requests to another server (RSCS) for later printing.<br />

As a result, this causes LPR operations to be deferred. When this option is in<br />

effect, subsequent LPR commands cause data to be queued to an intermediate<br />

print service machine (an RSCS server). As a result, interaction with a remote<br />

print daemon is handled by this service machine and ensures your file will be<br />

processed with no further action required by you. Messages and status<br />

information associated with a deferred transaction are returned to your<br />

console.<br />

NICKNAME name<br />

Specifies a nickname (defined in your CMS NAMES file) that identifies the<br />

printer and host to which files are directed for printing. Printer-specific options<br />

can also be defined using such an entry. See LPR Usage Note 3 on page 188<br />

and “Examples - Printing Using Nicknames” on page 186 for more information<br />

about specifying values through nickname definitions and how nicknames and<br />

values can be used.<br />

PERMANENT<br />

Causes values to be maintained on a permanent basis (across separate<br />

LOGONs). By default, values are maintained only for the duration of the<br />

current initialization (<strong>IP</strong>L) of CMS. All values are affected when this option is<br />

used.<br />

QUERY<br />

Displays the current settings.<br />

RESET<br />

Causes all values to be re-initialized to null values. When this option is used in<br />

conjunction with the PERMANENT option, all values are reinitialized; when<br />

used with the SESSION option, only session-related values are reinitialized. If<br />

neither PERMANENT or SESSION is specified only current, in-storage values<br />

are affected.<br />

For information about how to reset individual values, see Usage Note 2.<br />

RSCS linkid,nodeid<br />

RSCS linkid@nodeid<br />

RSCS linkid AT nodeid<br />

Identifies the RSCS link that provides a connection to a target print daemon or<br />

device, where:<br />

v<br />

v<br />

linkid is the one- to eight-character link identifier of the RSCS link that<br />

provides the connection to the chosen print daemon or device.<br />

nodeid is the one- to eight-character node name of the remote <strong>VM</strong> system<br />

that provides the connection to a target print daemon or device.<br />

176 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Examples<br />

When specific link and node values are not defined, “LPR” is used as the<br />

default link identifier (linkid) for non-PostScript files, while “LPRP” is used for<br />

PostScript files; the local node (as returned by the CMS IDENTIFY command)<br />

is used for nodeid.<br />

Note: This option applies only to asynchronous LPR processing.<br />

SERVER rscsid<br />

Identifies an RSCS service virtual machine to which print data is to be spooled.<br />

By default, the RSCS server reported by the CMS IDENTIFY command is used.<br />

Note: This option applies only to asynchronous LPR processing.<br />

SESSION<br />

Causes values to be defined for a session (generally, from LOGON to<br />

LOGOFF). By default, values are maintained only for the duration of the<br />

current initialization (<strong>IP</strong>L) of CMS. All values are affected when this option is<br />

used.<br />

SYNCHRONOUS<br />

Causes LPR operations to be processed immediately; this is the default. When<br />

this option is in effect, subsequent LPR commands are processed as immediate<br />

operations through the <strong>TCP</strong>/<strong>IP</strong> server and the chosen print daemon. Delays in<br />

command execution (caused by network congestion, for example) may be<br />

apparent, because synchronous processing is dependent upon the interaction<br />

between the <strong>TCP</strong>/<strong>IP</strong> service machine and the specified print daemon.<br />

TAG usertag<br />

Identifies a specific NAMES file tag from which printer and host destination<br />

information is to be retrieved. If such a tag is not identified, an attempt is<br />

made to retrieve printer and host values from a set of default tag definitions.<br />

For more information about how destination information is retrieved for a<br />

nickname entry, see LPR Usage Note 4 on page 189.<br />

TRACE<br />

Displays detailed command progress information.<br />

TRANSLATE tablename<br />

Identifies the file name of a translation table to be used for EBCDIC to ASCII<br />

data translation. See <strong>TCP</strong>/<strong>IP</strong> Planning and Customization for more information<br />

on creating and loading translation tables, as well as the ″Using Translation<br />

Tables″ chapter in this publication.<br />

TYPE<br />

Displays abbreviated command progress information.<br />

VERSION<br />

Displays program version information.<br />

v<br />

Remote Printing Commands<br />

To set the default printer and host as printer LPTQ1 on host prtsrv, enter the<br />

following command:<br />

lprset LPTQ1 prtsrv<br />

v<br />

The default values established with this LPRSET command will be lost if CMS is<br />

reinitialized (that is, re-<strong>IP</strong>L’d). To make this selection permanent, use the<br />

following command:<br />

lprset LPTQ1 prtsrv (perm<br />

To display the version of LPRSET currently in use, enter this command:<br />

Chapter 10. Using Remote Printing 177


Remote Printing Commands<br />

v<br />

v<br />

v<br />

v<br />

lprset (ver<br />

To establish a nickname default so that values defined for the NAMES file entry<br />

SIMPLPRT will be used when LPR commands are processed, issue the following<br />

command:<br />

lprset (nick simplprt<br />

To set a nickname default so that values defined in your CMS NAMES file by<br />

the CMPLXPRT nickname will be used when LPR commands are processed, issue<br />

the following command:<br />

lprset (nick cmplxprt<br />

To ensure specific printer and host values defined by the :TSTPRINT tag entry<br />

(associated with the CMPLXPRT nickname) are used for LPR commands, use the<br />

TAG option in addition to NICKNAME option, as follows:<br />

lprset (nick cmplxprt tag tstprint<br />

To reset in-storage nickname and tag values so they will not be used for<br />

subsequent LPR commands, but still maintain current values for other<br />

parameters, use the following command:<br />

lprset (nick . tag .<br />

To establish the default translation table name as MYXLATBL, enter the following<br />

command:<br />

lprset (translate myxlatbl<br />

Usage Notes<br />

LPR Command<br />

1. Parameters established using the LPRSET command are maintained using CMS<br />

global variables. This allows these values to be shared by the various <strong>TCP</strong>/<strong>IP</strong><br />

remote printing commands and allows values to be retained (either temporarily<br />

or permanently) for subsequent use. For more information about CMS global<br />

variables, see the z/<strong>VM</strong>: CMS Command and Utility Reference.<br />

Note: The printer and host values are recognized by all of the line printer<br />

commands; values set using options (such as NICKNAME and TAG) are<br />

recognized only by the LPR command.<br />

2. For operands other than printer and host, values can be reinitialized on an<br />

individual basis. For such operands, a value specified as a single period (.) will<br />

cause the current value to be nullified. For the RSCS and SERVER options, this<br />

will cause an appropriate system default to be reinstated.<br />

3. Parameters established with the LPRSET command can be overridden by using<br />

appropriate operands when LPQ, LPR and LPRM commands are issued.<br />

4. Printer names may be case-sensitive, though this depends upon the host to<br />

which remote printing commands are directed. In many cases, the printer name<br />

you provide must match the printer definition used by the remote host. For<br />

example, on UNIX-like systems, prt1 and PRT1 can refer to different printers.<br />

5. In most environments, the system defaults for asynchronous processing (that is,<br />

the default SERVER and RSCS linkid and nodeid values) should provide<br />

satisfactory results. Before setting non-default values for asynchronous<br />

processing, consult your RSCS operations support staff.<br />

Use the LPR command to print files on remote printers.<br />

178 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Remote Printing Commands<br />

►► LPR filename filetype<br />

A<br />

*<br />

filemode<br />

SYNCHRONOUS Options<br />

( Syn/Asyn Options<br />

ASYNCHRONOUS Options )<br />

►◄<br />

Syn/Asyn Options:<br />

►<br />

►<br />

PRINTER printer HOST host<br />

AT host<br />

CLASS mode_dflt COPIES @ host1<br />

CLASS<br />

VERSION<br />

data<br />

NICKNAMEname<br />

TAG<br />

usertag<br />

COPIES nn FILTER code LANDSCAPE TRACE<br />

TYPE<br />

NOCC<br />

CC<br />

(1)<br />

TRANSLATE<br />

tablename<br />

►<br />

►<br />

Synchronous Options:<br />

ACK<br />

NOACK<br />

NOBINARY<br />

BINARY<br />

BURST<br />

NOBURST<br />

HEADER<br />

NOHEADER INDENT nn<br />

JOB<br />

JOB<br />

filename.filetype<br />

data<br />

►<br />

►<br />

►<br />

LINECOUNT 55<br />

JOBNUM nnn LINECOUNT nn MAIL<br />

JNUM nnn<br />

TITLE title WIDTH nn<br />

NAME<br />

filename.filetype<br />

NAME data NOSECURE<br />

POSTSCR<strong>IP</strong>T<br />

NOPOSTSCR<strong>IP</strong>T<br />

►<br />

Asynchronous Options:<br />

FORM formname PREFIX data RSCS linkid,nodeid<br />

linkid@nodeid<br />

linkid AT nodeid<br />

SERVER<br />

rscsid<br />

►<br />

►<br />

SUFFIX<br />

data<br />

Notes:<br />

1 NOCC is the default for all files except those with a file type of LISTING or LIST3820, in which case CC is<br />

the default.<br />

Note: With some exceptions, you can use the shortest available unique character<br />

sequence as a minimum abbreviation for an LPR parameter. The exceptions<br />

are:<br />

v P and PR are presumed to mean PRINTER<br />

v H is presumed to mean HOST<br />

Operands - Synchronous and Asynchronous<br />

filename<br />

Specifies the name of the file to print.<br />

Chapter 10. Using Remote Printing 179


Remote Printing Commands<br />

filetype<br />

Specifies the type of the file to print.<br />

filemode<br />

Specifies the mode of the file to print. If filemode is specified as an asterisk (*),<br />

the first file found in the CMS search order is used. If filemode is omitted, a file<br />

mode of “A” is assumed. If a CMS file mode number is not specified, the<br />

default is 1.<br />

Synchronous operations cannot be used to process files that have a file mode<br />

number of 3 or 4. For asynchronous operations, this restriction applies to only<br />

file mode number 3 files. See the z/<strong>VM</strong>: CMS User’s <strong>Guide</strong> for information<br />

about file mode numbers and how they are used by CMS.<br />

ASYNCHRONOUS<br />

This option will send LPR requests to another server (RSCS) for later printing.<br />

As a result, this causes LPR operations to be deferred. When this option is in<br />

effect, subsequent LPR commands cause data to be queued to an intermediate<br />

print service machine (an RSCS server). As a result, interaction with a remote<br />

print daemon is handled by this service machine and ensures your file will be<br />

processed with no further action required by you. Messages and status<br />

information associated with a deferred transaction are returned to your<br />

console.<br />

CC<br />

Causes the remote system to interpret the first character of each data line as<br />

ASA carriage control; this is the default for files with a file type of either<br />

LISTING or LIST3800.<br />

NOCC<br />

Prevents the remote system from interpreting the first character of each data<br />

line as ASA carriage control; this is the default for all files except those with a<br />

file type of either LISTING or LIST3800.<br />

COPIES nn<br />

Specifies the number of copies to be printed; the default is 1. Note that some<br />

remote servers may not recognize or honor requests to produce multiple copies<br />

of a file. For asynchronous operations, a maximum of 255 can be specified.<br />

CLASS data<br />

Specifies the print job classification to be used by the remote system when the<br />

print file is processed. By default, the host name (combined with the domain<br />

name, if available) defined in the <strong>TCP</strong><strong>IP</strong> DATA file is supplied as data for<br />

synchronous operations; “A” is the asynchronous default.<br />

For synchronous operations, data is restricted to 31 characters. For print<br />

requests directed to a UNIX-like lpd, data will be printed on the burst (or,<br />

banner) page. For requests directed to a <strong>VM</strong> LPD server, data may be used as a<br />

spool file class.<br />

For asynchronous operations, data specifies a spool file class. For such<br />

operations, data must be a single alphanumeric value (A-Z or 0-9) or an<br />

asterisk (*).<br />

FILTER code<br />

Specifies the type of processing to be performed against print file data by the<br />

remote system. The filter code value must be a single letter. Both uppercase and<br />

lowercase letters are accepted, but uppercase letters are converted to lowercase<br />

since only lowercase filter values are recognized by remote print daemons.<br />

180 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Filter codes provide carriage control. When a filter code is specified, LPR<br />

changes several of its conventions. When a filter code of f, l, orr, is specified,<br />

LPR does not paginate the processed file. Instead, it sends the data within the<br />

file as “plain” lines. The list that follows provides a description of available<br />

filter codes:<br />

Code Description<br />

f Print data as a sequence of lines<br />

l Print, passing through all control characters<br />

p Print with pagination<br />

r<br />

Print, and interpret the first column as FORTRAN (ASA) carriage<br />

control. The following characters are interpreted as indicated:<br />

Character Printing Action<br />

Space Start a new line of output<br />

+ Overprint this line on the previously printed line<br />

−<br />

Produce two blank lines, then begin a new line of<br />

output<br />

0 Produce one blank line, then begin a new line of<br />

output<br />

1 Start new page, and begin printing at first line<br />

For filter codes c, d, g, n, t, orv, LPR transmits the data as a byte stream (as<br />

though the BINARY option has been specified).<br />

HOST host<br />

AT<br />

@<br />

Remote Printing Commands<br />

host<br />

host<br />

Specifies the name or internet address (in dotted-decimal form) of the printer<br />

host where the file is to be printed; host is restricted to 255 characters. H is<br />

accepted as the minimum abbreviation for the HOST keyword.<br />

LANDSCAPE<br />

For synchronous operations, this option causes PostScript information to be<br />

added to the print file so that it will be printed by the remote system in<br />

landscape (rotated) format — provided the remote printer can process<br />

PostScript.<br />

For asynchronous operations, this option causes a form name of “LA” tobe<br />

used when the file is processed. When used in this context, this option will<br />

override any FORM value specified as part of a CMS NAMES file entry.<br />

NICKNAME name<br />

Specifies a nickname (defined in your CMS NAMES file) that identifies the<br />

printer and host to which files are directed for printing. Printer-specific options<br />

can also be defined using such an entry. See Usage Note 3 on page 188 and<br />

“Examples - Printing Using Nicknames” on page 186 for more information<br />

about specifying values through nickname definitions and how nicknames and<br />

values can be used.<br />

PRINTER printer<br />

Specifies the name of the printer on which the file is to be printed; printer is<br />

restricted to 255 characters. P is accepted as the minimum abbreviation for this<br />

option.<br />

SYNCHRONOUS<br />

Causes LPR operations to be processed immediately; this is the default. When<br />

this option is in effect, subsequent LPR commands are processed as immediate<br />

Chapter 10. Using Remote Printing 181


Remote Printing Commands<br />

operations through the <strong>TCP</strong>/<strong>IP</strong> server and the chosen print daemon. Delays in<br />

command execution (caused by network congestion, for example) may be<br />

apparent, because synchronous processing is dependent upon the interaction<br />

between the <strong>TCP</strong>/<strong>IP</strong> service machine and the specified print daemon.<br />

TAG usertag<br />

Identifies a specific NAMES file tag from which printer and host destination<br />

information is to be retrieved. If such a tag is not identified, an attempt is<br />

made to retrieve printer and host values from a set of default tag definitions.<br />

For more information about how destination information is retrieved for a<br />

nickname entry, see Usage Note 4.<br />

TRACE<br />

Displays detailed command progress information. For synchronous operations,<br />

information about the interaction with the remote printer is also displayed.<br />

TRANSLATE tablename<br />

Identifies the file name of a translation table file to be used for EBCDIC to<br />

ASCII data translation; the file type for this file must be <strong>TCP</strong>XLBIN. The first<br />

tablename <strong>TCP</strong>XLBIN file found in the CMS search order is used. If this<br />

parameter is not specified, a default translation table is used (if one exists),<br />

which is defined by either a CMS NAMES file nickname entry or a CMS global<br />

variable; if neither exist, data translation is then performed as follows:<br />

v<br />

v<br />

For synchronous processing, LPR searches for and uses the LPR <strong>TCP</strong>XLBIN<br />

file first, and then the STANDARD <strong>TCP</strong>XLBIN file. If neither is found, an<br />

internal translation table is used.<br />

For asynchronous processing, default data translation processing is<br />

performed by the RSCS server to which files are directed, based on the<br />

configuration of that server.<br />

See <strong>TCP</strong>/<strong>IP</strong> Planning and Customization for more information about creating and<br />

loading translation tables, as well as the chapter on ″Using Translation Tables″<br />

in this publication if your use of LPR requires specific translations to be<br />

performed.<br />

TYPE<br />

Displays abbreviated command progress information.<br />

VERSION<br />

Displays program version information.<br />

Operands - Synchronous<br />

ACK<br />

Requests the remote printer host to send an acknowledgment to the LPR<br />

command when the connection to that host is closed; this is the default.<br />

NOACK<br />

Requests the remote printer host to not return a receipt acknowledgment to the<br />

LPR command. This option was previously required if the receiving system<br />

was AIX; however, its use is no longer necessary.<br />

BINARY<br />

Causes print data to be sent without translation and without any indication of<br />

record boundaries. For example, use this option if the file is already in ASCII.<br />

At times a filter may also be required to achieve appropriate results; see the<br />

description of the FILTER operand on page 180 for more information about<br />

filter use. The BINARY option implies that the file to be printed is not<br />

PostScript.<br />

182 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Remote Printing Commands<br />

NOBINARY<br />

Causes print data to be converted from EBCDIC to ASCII when it is sent to the<br />

remote system; this is the default.<br />

BURST<br />

Causes a burst page to be printed on the remote printer; this is the default.<br />

This option controls whether burst (or, banner) page information is sent to the<br />

server. If a <strong>VM</strong> LPD server does not receive burst page information, it provides<br />

the best information available to a spool device, as CMS does not have an<br />

option to omit the burst page for print files.<br />

NOBURST<br />

Prevents a burst page from being printed on the remote printer.<br />

HEADER<br />

Causes a page header to be inserted by the LPR client at the beginning of<br />

every printed page — if the NOCC and NOBINARY options are in effect.<br />

HEADER is the default. To instead cause the remote printer to insert page<br />

headers, use the FILTER p and NOHEADER options.<br />

NOHEADER<br />

Prevents the LPR client from inserting page headers.<br />

INDENT nn<br />

Specifies the number of columns the remote printer indents output when the<br />

FILTER f or FILTER l options are in effect.<br />

JOB data<br />

Specifies a print job description, name, or other job information to be used by<br />

the remote system; a maximum of 99 characters can be specified. By default,<br />

the string “filename.filetype” is used for data.<br />

For a UNIX-like lpd, this option causes job information to be printed on the<br />

banner page; for a <strong>VM</strong> LPD server, it can be used to pass additional job<br />

information for use by that LPD server.<br />

JOBNUM nnn<br />

JNUM nnn<br />

Specifies the job number used to construct the file names of protocol-specific<br />

files sent to the remote print server. The provided value must be a three-digit,<br />

numeric string. If a specific string is not specified using this option, a<br />

three-digit random number is used.<br />

This option can be used to reduce the likelihood of problems caused by<br />

duplicate file names when many LPR jobs are initiated. To be effective toward<br />

this end, the files to be printed must be processed by a single <strong>VM</strong> user ID; as<br />

LPR commands are issued for each file, sequential job numbers should be<br />

specified using the JOBNUM option. However, collisions with jobs run by<br />

other virtual machines are still possible; a collision occurs when one of the<br />

print jobs fails.<br />

LINECOUNT nn<br />

Specifies the number of lines to be printed before a new heading is printed; the<br />

default is 55. This parameter has meaning only for files for which the CC<br />

option is not in effect (either explicitly or implicitly). A value of zero (0) can be<br />

used to prevent page ejects and page headers from being inserted in the print<br />

file.<br />

MAIL<br />

Causes mail to be sent to you when the printing operation ends that informs<br />

Chapter 10. Using Remote Printing 183


Remote Printing Commands<br />

you about the success or failure of the print job. This option may not<br />

recognized by all remote printing servers.<br />

NAME data<br />

Specifies job name information to be provided by the remote system in<br />

response to a remote printer query (that is, an LPQ command). The supplied<br />

data is restricted to 131 characters. By default, the string “filename.filetype” is<br />

used for data. This option is not recognized by all remote printing servers.<br />

NOSECURE<br />

Allows the LPR client to use any source port number greater than 1023 when<br />

print requests are processed. By default, a port number between 721 and 731 is<br />

used; if such a port is not available, an attempt is then made to use an<br />

available port below port 1024.<br />

Notes:<br />

1. Some remote printer hosts require the source port to be within either the<br />

721-731 port range, or the alternative 0-1023 range.<br />

2. Use the NOSECURE option to facilitate printing if the use of “well-known”<br />

ports (ports 0-1023) has been restricted on your system.<br />

POSTSCR<strong>IP</strong>T<br />

Causes header information to be added to the print file so that it will be<br />

recognized as PostScript by the remote printer.<br />

NOPOSTSCR<strong>IP</strong>T<br />

Prevents a file from being recognized as PostScript.<br />

TITLE title<br />

Specifies the title assigned to a file printed with the FILTER p option. A<br />

maximum of 79 characters can be specified for title.<br />

WIDTH nn<br />

Specifies the line width to be used for a file printed with the FILTER f or<br />

FILTER l option. The value you provide may be decreased by the remote<br />

printer host.<br />

Operands - Asynchronous<br />

FORM formname<br />

Specifies a spool file form name (used by RSCS) to control how data is printed<br />

at the destination printer. For PostScript data, formname can be specified as a<br />

character string of the form OrFnFsLs, to specify a default orientation, font<br />

name, font size, and additional leading size to be used by the destination<br />

printer. For OrFnFsLs the following can be specified:<br />

Or File Orientation<br />

PO Portrait (default)<br />

LA Landscape<br />

Fn Font<br />

CB Courier Bold<br />

CI Courier Oblique<br />

CP Courier (default)<br />

CX Courier BoldOblique<br />

HB Helvetica Bold<br />

HP Helvetica<br />

HI Helvetica Oblique<br />

HX Helvetica BoldOblique<br />

SP Symbol<br />

TB Times Bold<br />

184 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


TI Times Italic<br />

TP Times Roman<br />

TX Times BoldItalic<br />

Fs Font sizes, 04-99. The default is 11 for portrait (PO) and 10 for<br />

landscape (LA).<br />

Ls Additional leading size, 0.0-9.9 added to font size to give leading,<br />

specified as 00 thru 99. The portrait (PO) default is 09; that for<br />

landscape (LA) is 12.<br />

Notes:<br />

1. The font specified via OrFnFsLs must be installed and used by the<br />

destination printer for correct results to be achieved.<br />

2. For ASCII PostScript files, the default form name used is “P+ASCII”; for<br />

EBCDIC PostScript files, the default is “P+SCR<strong>IP</strong>T”. There is no default for<br />

non-PostScript files.<br />

3. FORM cannot be used with the LANDSCAPE option.<br />

4. The spool file form name (formname) is translated to uppercase prior to use.<br />

PREFIX data<br />

Specifies a data string to be passed to the remote printer device by the RSCS<br />

server; up to 500 characters can be specified. Prefix data is translated to<br />

uppercase and is inserted at the beginning of the data file by RSCS, and might<br />

be used to affect printer settings; for example, to select a paper tray.<br />

RSCS linkid,nodeid<br />

RSCS linkid@nodeid<br />

RSCS linkid AT nodeid<br />

Identifies the RSCS link that provides a connection to a target print daemon or<br />

device, where:<br />

v linkid is the one- to eight-character link identifier of the RSCS link that<br />

provides the connection to the chosen print daemon or device.<br />

v nodeid is the one- to eight-character node name of the remote <strong>VM</strong> system<br />

that provides the connection to a target chosen print daemon or device.<br />

When specific link and node values are not defined, “LPR” is used as the<br />

default link identifier (linkid) for non-PostScript files, while “LPRP” is used for<br />

PostScript files; the local node (as returned by the CMS IDENTIFY command)<br />

is used for nodeid.<br />

SERVER rscsid<br />

Identifies an RSCS service virtual machine to which print data is to be spooled.<br />

By default, the RSCS server reported by the CMS IDENTIFY command is used.<br />

SUFFIX data<br />

Specifies a data string to be passed to the remote printer device by the RSCS<br />

server; up to 500 characters can be specified. Suffix data is translated to<br />

uppercase and is inserted at the end of the data file by RSCS. A suffix data<br />

string might be used to affect printer settings; for example, to reset the printer<br />

state.<br />

Examples - General Printing<br />

v<br />

Remote Printing Commands<br />

To print the file TEST LISTING on printer LPTQ1 on the host prtsrv, enter the<br />

following command:<br />

lpr test listing (printer LPTQ1 host prtsrv<br />

Chapter 10. Using Remote Printing 185


Remote Printing Commands<br />

v<br />

v<br />

v<br />

v<br />

Because the file type is LISTING, the first character of each line is interpreted as<br />

carriage control. To prevent this, use the NOCC option as shown in the<br />

following command:<br />

lpr test listing (printer LPTQ1 at prtsrv nocc<br />

If an LPRSET command was previously issued to set the printer and host<br />

defaults to LPTQ1 and prtsrv (for example, LPRSET LPTQ1 prtsrv), the following<br />

command has the same effect as the second command shown in the previous<br />

LPR example:<br />

lpr test listing (nocc<br />

Because the lines in a listing file may be wider than a page, you may want to<br />

print the listing in “landscape” mode. The next example includes the<br />

LANDSCAPE option to print the TEST LISTING file in this mode:<br />

lpr test listing (landscape<br />

To print a source program (CSPROG1 FORTRAN) so that 57 lines are printed<br />

per page, enter the following command:<br />

lpr csprog1 fortran (linecount 57<br />

To print a file and have it processed by an RSCS server named RSCSTST, enter<br />

the following command:<br />

lpr demotest schedule (async server rscstst printer prt01@prtsys1<br />

In the above example, the file DEMOTEST SCHEDULE is processed by the<br />

RSCSTST server, and sent to the printer prt01 defined for the local host PRTSYS1.<br />

To print a file and have data translation performed based on the translation table<br />

named MYXLATBL, enter the following command:<br />

lpr trantest datafile (printer LPTQ1 host prtsrv translate myxlatbl<br />

In the above example, file TRANTEST DATAFILE is sent to the printer LPTQ1<br />

defined for the host prtsrv; the MYXLATBL <strong>TCP</strong>XLBIN table file is used to perform<br />

data translation.<br />

Examples - Printing Using Nicknames<br />

The examples that follow illustrate some typical NAMES file entries that might be<br />

constructed for use with the LPRSET or LPR commands. For detailed information<br />

about defining and using nicknames, see Usage Notes 2, 3 and 4.<br />

v<br />

The following example shows a simple NAMES file entry that defines only a<br />

printer and host name.<br />

:nick.SIMPLPRT :userid.lpt1 :node.oddjob.endicott.ibm.com<br />

The command:<br />

lpr profile exec (nick simplprt<br />

v<br />

will print file PROFILE EXEC on the oddjob.endicott.ibm.com host printer lpt1.<br />

In the next example, additional tag entries are included as part of a nickname<br />

entry.<br />

:nick.ADVPRT1 :userid.nullprt :node.nowhere.endicott.ibm.com<br />

:myprint.prt1@paradox.endicott.ibm.com<br />

:lpraddr.LPT2@monolith.endicott.ibm.com<br />

With the above entry, two different destinations can be used for printing, based<br />

on the options provided with an LPR command.<br />

When following command is issued:<br />

186 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Remote Printing Commands<br />

lpr deptg79 report (nick advprt1<br />

the printer and host name defined by the :LPRADDR tag are used (LPT2 and<br />

monolith.endicott.ibm.com). The :LPRADDR tag definition overrides the printer<br />

and host information defined by the :USERID and :NODE tags. This would also<br />

occur if LPT2 and monolith.endicott.ibm.com were defined using either a<br />

:<strong>TCP</strong>ADDR or :CSADDR tag. For more information about how printer and host<br />

information is obtained for nickname entries, see Usage Note 4.<br />

If instead, the following command is used:<br />

lpr deptg79 report (nick advprt1 tag myprint<br />

the printer and host name defined by the :MYPRINT tag are used (prt1 and<br />

paradox.endicott.ibm.com). Again, any printer and host information defined by<br />

the :USERID and :NODE tags is ignored because the TAG option is specified.<br />

For asynchronous processing of the DEPTG79 REPORT file, the following<br />

command could be used:<br />

lpr deptg79 report (asynch nick advprt1<br />

v<br />

For this command, the DEPTG79 REPORT file would first be passed to the RSCS<br />

server of the local node (the default), and then would be sent to the prt1 printer<br />

of the paradox.endicott.ibm.com host. Because no RSCS link identifier was<br />

provided, a default link of either LPR or LPRP would be used.<br />

This last example illustrates how various tags might be defined and then used<br />

for synchronous and asynchronous remote printing requests.<br />

:nick.CMPLXPRT<br />

:tstprint.lpt0@rocketman.endicott.ibm.com<br />

:tcpaddr.PRTQ1@monolith.endicott.ibm.com<br />

:server.rscstst<br />

:linkid.lprtst<br />

:nodeid.GDL<strong>VM</strong>E<br />

* Prefix string to turn duplexing OFF; the PostScript command<br />

* string is: %!PS-AdobeCRLF statusdict begin false setduplexmode<br />

*<br />

* This string should be one contiguous line; it spans multiple<br />

* lines here only to meet formatting requirements.<br />

:prefix.252150532D41646F62650D0A73746174757364696374206265676<br />

96E2066616C7365207365746475706C65786D6F646520656E640D0A<br />

* Suffix string to turn duplexing (back) ON; the PostScript command<br />

* string is: %!PS-AdobeCRLF statusdict begin true setduplexmode<br />

*<br />

* This string should be one contiguous line; it spans multiple<br />

* lines here only to meet formatting requirements.<br />

:suffix.252150532D41646F62650D0A737461747573646963742062<br />

6567696E20074727565207365746475706C65786D6F646520656E640D0A<br />

:translate.MYXLATBL<br />

If the nickname CMPLXPRT is specified in conjunction with the<br />

SYNCHRONOUS option on an LPR command, only values defined by the<br />

following tags will be used:<br />

– :TSTPRINT is used if TAG TSTPRINT is specified<br />

– :<strong>TCP</strong>ADDR is used if the TAG option is not specified.<br />

– :TRANSLATE is used if the TRANSLATE option is not specified.<br />

If this same nickname is specified, but with the ASYNCHRONOUS option:<br />

Chapter 10. Using Remote Printing 187


Remote Printing Commands<br />

Usage Notes<br />

– :TSTPRINT is used if TAG TSTPRINT is specified<br />

– :<strong>TCP</strong>ADDR is used if the TAG option is not specified<br />

– :TRANSLATE is used if the TRANSLATE option is not specified.<br />

In addition, the values defined by all of the remaining tags shown will be used<br />

for processing — assuming no options are used that override them. For example,<br />

if the following command is issued:<br />

lpr weather report (asynch nick cmplxprt tag tstprint<br />

the WEATHER REPORT file would first be passed to the RSCSTST RSCS server,<br />

which then sends it to the RSCS node GDL<strong>VM</strong>E. From GDL<strong>VM</strong>E it is printed on<br />

printer lpt0 at host rocketman.endicott.ibm.com, using the RSCS link LPRTST.<br />

Because the :PREFIX and :SUFFIX tags define values, this data will also be<br />

passed to the RSCSTST server. Also, since the TRANSLATE option was not<br />

specified, data translation will be performed using the translation table named<br />

MYXLATBL, as defined by the :TRANSLATE tag.<br />

If the TAG tstprint option were omitted in the above command, the destination<br />

printer and host would instead be PRTQ1 and monolith.endicott.ibm.com.<br />

1. When LPR commands are issued and certain operands are omitted, LPR will<br />

attempt to use values defined by CMS global variables for the <strong>TCP</strong><strong>IP</strong> group.<br />

Operands to which this applies are:<br />

v printer and host<br />

v RSCS linkid and nodeid<br />

v Mode of operation (SYNCHRONOUS or ASYNCHRONOUS)<br />

v NICKNAME name and TAG usertag<br />

v TRANSLATE tablename<br />

Values for these operands can be established and changed using the LPRSET<br />

command.<br />

2. LPR command operands are selected, in order, from the following sources:<br />

a. the LPR command itself<br />

b. CMS NAMES file entries<br />

c. CMS global variables<br />

Values from different sources may be combined and used for a single LPR<br />

command.<br />

3. CMS NAMES file tags recognized by the LPR command and the options to<br />

which they correspond follow:<br />

Tag<br />

Corresponding Option(s)<br />

:CSADDR PRINTER and HOST<br />

:FILTER FILTER<br />

:LPRADDR PRINTER and HOST<br />

:NODE HOST<br />

:<strong>TCP</strong>ADDR PRINTER and HOST<br />

:USERID PRINTER<br />

:TRANSLATE TRANSLATE<br />

:LINKID<br />

RSCS<br />

188 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Remote Printing Commands<br />

:NODEID<br />

:PREFIX<br />

:SERVER<br />

:SUFFIX<br />

:FORM<br />

RSCS<br />

PREFIX<br />

SERVER<br />

SUFFIX<br />

FORM<br />

Tags listed in the first group are supported for both synchronous and<br />

asynchronous operations; those listed in the second group are applicable only<br />

to asynchronous use. For all tags, values should be specified in the same<br />

manner as for their corresponding options.<br />

4. Print destination information (that is, the combination of a printer and host<br />

name) is obtained for NAMES file entries, in order, from the following tags:<br />

a. a user-specified tag, as identified by the TAG option<br />

b. an “address” tag, if the TAG option is not specified. Address tags are<br />

checked, when present, in this order:<br />

1) :LPRADDR<br />

2) :<strong>TCP</strong>ADDR<br />

3) :CSADDR<br />

c. the :USERID and :NODE tags, if no information is defined by any of the<br />

previously listed tags. In the context of using <strong>TCP</strong>/<strong>IP</strong> remote printing<br />

commands, these tags are presumed to provide printer and host names,<br />

respectively, instead of conventional user ID and node ID information.<br />

Printer and host values for user-specific tags and the address tags previously<br />

listed can be specified using one of these formats:<br />

v linkid nodeid<br />

v linkid,nodeid<br />

v linkid@nodeid<br />

v linkid AT nodeid<br />

5. Printer names may be case-sensitive, though this depends upon the host to<br />

which remote printing commands are directed. In many cases, the printer<br />

name you provide must match the printer definition used by the remote host.<br />

For example, on UNIX-like systems, prt1 and PRT1 can refer to different<br />

printers.<br />

6. For certain operands, values can be specified as quoted strings, so that the<br />

content between the string delimiters — either single (') or double (") quotes<br />

— is preserved. Operands for which quoted values are accepted are:<br />

PRINTER, HOST, CLASS, JOB, NAME, and TITLE.<br />

7. The LPR command can be used to print PostScript documents. When a file is<br />

processed by LPR, the file is checked to determine whether it is a PostScript<br />

file. If it is, additional checks are performed (for synchronous operations only)<br />

to verify that compatible options have been provided. If you want to override<br />

these checks when you print a PostScript file, use the NOPOSTSCR<strong>IP</strong>T option.<br />

Remote hosts usually examine the first few characters of a file to determine if<br />

that file is PostScript; this is usually indicated by the presence of the character<br />

string “%!” in the first line of the file. For synchronous operations, the<br />

POSTSCR<strong>IP</strong>T option can be used to ensure a file is recognized as PostScript.<br />

8. Carriage control is interpreted line by line. A file can mix ASA and machine<br />

carriage control. Interpretation is done by converting the controls to the<br />

appropriate ASCII sequences before the file is sent to the remote system. Lines<br />

that have invalid carriage control are not printed.<br />

When a file is printed without carriage control, LPR adds a heading line to<br />

each page of output that shows the name of the printed file, the name of the<br />

Chapter 10. Using Remote Printing 189


Remote Printing Commands<br />

system on which the LPR command originated, and a page number. You can<br />

specify the number of lines per page (not counting the three heading lines)<br />

with the LINECOUNT option.<br />

9. The logical record length (LRECL) of files that can be processed is restricted<br />

for both synchronous and asynchronous operations.<br />

v<br />

For synchronous operations, LPR processes files using OS file routines.<br />

Thus for fixed-format files, the maximum LRECL is 32760; for<br />

variable-format files, the maximum LRECL is 32756.<br />

v For asynchronous operations, files are processed using RSCS services. For<br />

non-PostScript (or, “flat”) files, only those with an LRECL of 1280 or less<br />

can be processed in this manner; there is no restriction for PostScript files.<br />

10. Some LPDs require the FILTER l option — in addition to the BINARY option<br />

— to ensure the data file is not changed during BINARY transfers. With such<br />

implementations, the receiving LPD converts the incoming line-end character<br />

of X'0A' to two characters, X'0D0A', if the FILTER l option is omitted. (This<br />

situation has been observed when files are processed by an LPD on some DOS<br />

and OS/2 based systems; however, this behavior may not occur in all such<br />

environments.)<br />

11. Remote printer hosts determine whether sufficient space is available to receive<br />

a given file before it is processed. If sufficient space is not available, the file is<br />

discarded and the connection is terminated with a message that identifies this<br />

error condition.<br />

12. In most environments, the system defaults for asynchronous processing (that<br />

is, the default SERVER and RSCS linkid and nodeid values) should provide<br />

satisfactory results. Before setting non-default values for asynchronous<br />

processing, consult your RSCS operations support staff.<br />

13. For most operations, LPR issues messages only if errors are encountered. To<br />

monitor the progress of an LPR command or to obtain information for<br />

diagnostic purposes, use the TYPE or TRACE options.<br />

Controlling LPSERVE from other Systems<br />

When you use the LPR command to communicate with LPSERVE, you can provide<br />

additional information for LOCAL and RSCS services. This can be done by passing<br />

the desired information with the client LPR command options.<br />

For example, the <strong>VM</strong> LPR CLASS option or the UNIX lpr -C option is used by lpd<br />

in UNIX to specify a classification that is printed on the burst page. The <strong>VM</strong><br />

CLASS or UNIX -C option, when sent to a <strong>VM</strong> LPD server, is used to alter the <strong>VM</strong><br />

spooled file’s class.<br />

The <strong>VM</strong> LPR JOB option or the UNIX lpr -J option is used by lpd in UNIX to<br />

specify what is printed in this field of the burst page. The <strong>VM</strong> JOB or UNIX -J<br />

option, when used with a <strong>VM</strong> LPD server, specifies additional information to the<br />

<strong>VM</strong> server such as the distribution code, priority, password, or an alternative user<br />

ID or destination. Within the JOB or -J option, additional options can be used to<br />

specify these additional job parameters.<br />

The additional JOB options are:<br />

v For LOCAL services: FOR, PASS, DEST, and DIST<br />

v For RSCS services: FOR, PASS, DEST, IDENTIFIER, PRIORITY, and OTHERS<br />

190 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


LPQ Command<br />

If you use more than one option, separate each by a comma with no intervening<br />

spaces between options. If the OTHERS option is used, it must be the last option.<br />

You can enter keywords on the LPR command line in any combination of upper<br />

and lower case.<br />

For both LOCAL and RSCS services, you can use either of the following JOB<br />

options.<br />

Option Description<br />

FOR=user_id<br />

PASS=password<br />

Specifies a user ID other than the sending user ID for which the<br />

job is to be spooled. The default is the sender’s user ID.<br />

Specifies the password for user_id. The default is no password. This<br />

option is required only if the RACF option has been specified for<br />

the designated service.<br />

For LOCAL services, you can use the following additional JOB options.<br />

Option Description<br />

DEST=name Specifies the destination printer name or destination punch name<br />

for the job. The default is DEST=OFF.<br />

DIST=code Specifies the output distribution code. The default is DIST=OFF.<br />

For RSCS services, you can also give any of the following: the destination node ID,<br />

user ID, and priority. These options can also be given in any order (except the<br />

OTHERS keyword, which must be last) and must be separated by commas.<br />

Option<br />

Description<br />

DEST=destination<br />

IDENTIFIER=operand<br />

OTHERS=option_name<br />

PRIORITY=nn<br />

Remote Printing Commands<br />

Specifies a RSCS destination node. The default is<br />

the node on which LPSERVE is running.<br />

Specifies the second TAG operand, which can be<br />

SYSTEM, JOB, a virtual machine user ID, or a<br />

workstation node ID. The default is SYSTEM.<br />

Specifies additional options for the destination<br />

RSCS. This option applies only if the specified<br />

service has the TAG option specified and is used to<br />

supply additional TAG information. This can, for<br />

example, be used to designate forms (for an MVS<br />

Network Job Entry (NJE) system) or controls for an<br />

<strong>IBM</strong> 3800 printer. The rest of the job data is used to<br />

tag the spooled file. The default is no additional<br />

options.<br />

Specifies the transmission priority. The default is<br />

50.<br />

Use the LPQ command to list the printer queue on a remote printer.<br />

Chapter 10. Using Remote Printing 191


Remote Printing Commands<br />

►►<br />

LPQ<br />

job_id ( Options<br />

►◄<br />

Options:<br />

All PRINTER name HOST host<br />

AT host<br />

TRACE<br />

TYPE<br />

VERSION<br />

Operands<br />

Examples<br />

Note: You can use the shortest unique sequence as the minimum abbreviation for<br />

an LPQ parameter.<br />

job_id<br />

Specifies either a user ID (must not start with a number), or a job number on<br />

the remote printer queue. If you do not specify job_id with the LPQ command,<br />

all jobs in the remote printer queue are listed.<br />

All<br />

Displays for all printers a report that shows print job information.<br />

Printer name<br />

Specifies the name of the printer for which printer queue information is to be<br />

obtained.<br />

Host host<br />

AT host<br />

Specifies the name or internet address of the printer host. AT is accepted as a<br />

synonym for HOST.<br />

Trace<br />

Displays detailed information about the interaction with the remote printer.<br />

Type<br />

Displays the progress of the command.<br />

Version<br />

Displays the version of the program.<br />

v<br />

To query the printer psnt on host system test1, enter the following command:<br />

LPQ (PRINTER psnt HOST test1<br />

v<br />

v<br />

This command displays a short listing of the jobs that are queued for the psnt<br />

printer.<br />

If the LPRSET command was previously issued, (LPRSET psnt test1), the<br />

following LPQ command has the same effect as issuing the command in the first<br />

LPQ example:<br />

LPQ<br />

To get a long listing, enter the following command:<br />

LPQ (PRINTER psnt HOST test1 ALL<br />

192 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Remote Printing Commands<br />

v<br />

v<br />

This command prints a long listing of the jobs queued, including the name of<br />

the host that created the jobs.<br />

To list the jobs for a user named smith, enter the following command:<br />

LPQ smith (PRINTER psnt HOST test1<br />

If you want only the information about job 123, enter the following command:<br />

LPQ 123 (PRINTER psnt HOST test1<br />

Usage Notes<br />

LPRM Command<br />

1. The LPQ command allows you to query the printer queues on remote systems<br />

that support this activity. The <strong>VM</strong> remote printing server implementation (LPD)<br />

does not support such client queries because, typically, the server does not hold<br />

print files in its internal queue. Instead, they are almost always spooled<br />

immediately to the operating system or, another virtual machine (such as RSCS)<br />

for printing. Thus, a window of time for which jobs can be queried while they<br />

are in the <strong>VM</strong> LPD print queue is almost nonexistent.<br />

2. If a printer or host name is not provided on the LPQ command, LPQ will use<br />

the GLOBALV variables PRINTER and PRTHOST, respectively, from the <strong>TCP</strong><strong>IP</strong><br />

group. These variables can be set by a program or by the LPRSET command in<br />

order to provide defaults for these values.<br />

3. Printer names can be case sensitive. The printer you provide must match the<br />

remote host’s definition for that printer. For example, on UNIX systems, psnt<br />

and PSNT can refer to different printers.<br />

4. A user name, when provided as a job_id, can be case sensitive. For example,<br />

smith and SMITH may refer to different users on the same host.<br />

5. Some systems will not respond with job information, if you use a job number<br />

for a job that was not produced by the querying system.<br />

Use the LPRM command to remove a job from the printer queue on a remote host.<br />

►►<br />

LPRM<br />

job_id ( Options<br />

►◄<br />

Options:<br />

PRINTER name HOST host<br />

AT host<br />

TRACE<br />

TYPE<br />

VERSION<br />

Operands<br />

Note: You can use the shortest unique sequence as the minimum abbreviation for<br />

an LPRM parameter.<br />

job_id<br />

Specifies either a user ID (must not start with a digit, or a job number in the<br />

remote printer queue. If you do not specify job_id with the LPRM command,<br />

your currently active job is removed.<br />

Chapter 10. Using Remote Printing 193


Remote Printing Commands<br />

Examples<br />

PRINTER name<br />

Specifies the name of the printer with which the job is associated.<br />

HOST host<br />

AT host<br />

Specifies the name or internet address of the printer’s host. AT is accepted as a<br />

synonym for HOST.<br />

TRACE<br />

Turns on the trace details for the interaction with the remote printer.<br />

TYPE<br />

Displays the progress of the command.<br />

VERSION<br />

Displays the version of the program.<br />

v<br />

To cancel job number 123 on the printer psnt on the local system test1, enter<br />

the following command:<br />

LPRM 123 (PRINTER psnt HOST test1<br />

v<br />

v<br />

If you printed the job, it is removed. If the job is currently active, it is stopped.<br />

If the LPRSET command LPRSET psnt test1 was previously issued, entering the<br />

following LPRM command has the same effect as issuing the command in the<br />

first LPRM example:<br />

LPRM 123<br />

To cancel the currently active job, enter the following command:<br />

LPRM (PRINTER psnt HOST test1<br />

Usage Notes<br />

1. The LPRM command allows you to remove jobs from printer queues on remote<br />

systems that support this capability. The <strong>VM</strong> remote printing implementation<br />

(LPD) does not support such client requests because the server does not hold<br />

print files in its internal queue. Instead, jobs are usually spooled immediately to<br />

the operating system or to another virtual machine (such as RSCS) for printing.<br />

Thus, a window of time for which jobs can be removed while they are in the<br />

<strong>VM</strong> LPD print queue is almost nonexistent.<br />

2. If a printer or host name is not provided on the LPRM command, LPRM will<br />

use the GLOBALV variables PRINTER and PRTHOST, respectively, from the<br />

<strong>TCP</strong><strong>IP</strong> group. These variables can be set by a program or by the LPRSET<br />

command in order to provide defaults for these values.<br />

3. Removing the currently active job can be sensitive to timing. If you have two<br />

jobs printing, and you use the LPRM command without the job_id parameter,<br />

the first job may finish, and you may inadvertently remove the second job.<br />

194 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Chapter 11. Using GDDMXD/<strong>VM</strong> with the X Window System<br />

Overview of GDDMXD/<strong>VM</strong><br />

<strong>TCP</strong>/<strong>IP</strong> provides the GDDMXD/<strong>VM</strong> interface for the <strong>IBM</strong> Graphical Data Display<br />

Manager/<strong>VM</strong> (GDDM*), which allows graphics to be displayed on workstations<br />

that support the X Window System.<br />

This chapter describes GDDMXD/<strong>VM</strong> and the GDDMXD command. This chapter<br />

also describes how to use GDDMXD/<strong>VM</strong> user-specified options and keyboard<br />

functions. Problem determination information associated with GDDMXD/<strong>VM</strong> is<br />

also described in this chapter.<br />

When GDDMXD/<strong>VM</strong> is installed and activated, the data stream created by GDDM<br />

is translated to the X Window System protocol and transmitted by <strong>TCP</strong>/<strong>IP</strong> to the X<br />

Window System server for the display. If GDDMXD/<strong>VM</strong> is installed and not<br />

activated, or has been made inactive, GDDM transmits data to its supported<br />

display device as if GDDMXD/<strong>VM</strong> was not present.<br />

GDDM Application Limitations<br />

GDDMXD/<strong>VM</strong> does not support the following types of applications:<br />

v Multiple instances of GDDM/<strong>VM</strong><br />

v Opening multiple display devices at one time<br />

v Operator windows<br />

GDDM Display Limitations<br />

GDDMXD/<strong>VM</strong> appears as an <strong>IBM</strong> 3179G Color Graphics Display Station device<br />

model to GDDM. When the HostRast option is active, the device model is an <strong>IBM</strong><br />

3279. The <strong>IBM</strong> 3179G model is used regardless of the display device nickname<br />

presented by the application.<br />

The GDDMXD/<strong>VM</strong> <strong>IBM</strong> 3179G device model contains the following features:<br />

Feature<br />

Description<br />

Blink Attribute<br />

Ignores the blinking character attribute.<br />

Detectable Fields<br />

Ignores the selector pen detectable fields.<br />

Character Display<br />

Displays characters with an EBCDIC value of less<br />

than X'40' as blanks.<br />

Graphics Cursor<br />

The X Window System pointer device cursor for<br />

the GDDMXD window is a crosshair pattern and<br />

moves as the pointer device is moved.<br />

Alphanumeric Cursor The alphanumeric pointer device is an open arrow<br />

when the keyboard is unlocked, or an “X” when<br />

the keyboard is locked. The cursor can be<br />

repositioned by moving the pointer to the desired<br />

character location and pressing a pointing device<br />

button.<br />

Pixel Spacing<br />

When the HostRast option is not active, the vertical<br />

and horizontal pixel spacing of the actual display<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 195


Using GDDMXD/<strong>VM</strong><br />

device that is obtained from the X Window System<br />

is supplied to GDDM. When the HostRast option is<br />

active, the pixel spacing of an <strong>IBM</strong> 3279 Color<br />

Display Station is supplied to GDDM.<br />

Appearance<br />

Color Mixing<br />

For all programmed symbol and image data that is<br />

received from GDDM, each GDDM pixel is<br />

mapped to one X Window System display pixel,<br />

which causes a different appearance from the same<br />

data stream displayed on an <strong>IBM</strong> 3179G Color<br />

Graphics Display Station. This mapping can also<br />

cause display differences in the placement of<br />

alphanumeric field data over the graphics display<br />

and in the appearance of the filled areas of the<br />

graphic display. When the HostRast option is not<br />

active, aspect ratio distortion of the displayed<br />

graphics appears, unless the aspect ratio of the X<br />

Window System display is the same as the <strong>IBM</strong><br />

3279.<br />

GDDMXD/<strong>VM</strong> supports only the overpaint<br />

foreground color mix mode. The initial color of the<br />

image area is black, and mixing with the actual<br />

background colors is not performed.<br />

An exception is made for data passed by an image<br />

data order. In this case, a combined foreground<br />

color mix mode is supported, if the series of begin<br />

image orders have exactly the same parameter<br />

values.<br />

When the HostRast option is active, color mixing is<br />

performed by GDDM, not the X Window Display<br />

System, so the preceding exception does not apply.<br />

z/<strong>VM</strong> Considerations<br />

Before you can use GDDM applications with GDDMXD/<strong>VM</strong> on z/<strong>VM</strong>, issue the<br />

following command to ensure that GETMAIN requests by GDDMXD/<strong>VM</strong> are<br />

processed correctly by CMS.<br />

Using GDDMXD/<strong>VM</strong><br />

SET STORECLR ENDCMD<br />

The SET STORECLR ENDCMD command has no parameters.<br />

Before you can send GDDM data to an X Window System display, activate<br />

GDDMXD/<strong>VM</strong> by issuing the GDDMXD command in the following format.<br />

Note: If you do not want to run GDDM applications through the X Window<br />

System, do not enable GDDMXD/<strong>VM</strong>.<br />

196 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Using GDDMXD/<strong>VM</strong><br />

►►<br />

GDDMXD<br />

OFF<br />

ON<br />

►◄<br />

Parameter<br />

ON<br />

OFF<br />

Description<br />

Enables GDDMXD/<strong>VM</strong>. GDDM output is sent to the X Window<br />

System display. The system responds with GDDMXD/<strong>VM</strong> active.<br />

Disables GDDMXD/<strong>VM</strong>. The system erases the file that was<br />

created when GDDMXD/<strong>VM</strong> was activated and responds with<br />

GDDMXD/<strong>VM</strong> inactive. This is the default.<br />

Configuring the GDDMXD/<strong>VM</strong> Environment<br />

You must set several CMS global variables before running GDDM programs<br />

through GDDMXD. To create the proper environment, issue the following<br />

commands.<br />

GLOBAL LOADLIB SCEERUN<br />

GLOBAL TXTLIB GDDMXD ADMNLIB ADMPLIB ADMGLIB ADMHLIB X11LIB COMMTXT SCEELKED<br />

Identifying the Target Display<br />

Note: If GDDM/<strong>VM</strong> Version 2 is in use, omit ADMHLIB from the above GLOBAL<br />

TXTLIB command.<br />

These statements force GDDM applications to recognize GDDMXD’s presence and<br />

allow GDDM output to be directed to the specified X Window System.<br />

The X Window System uses the C environment variable DISPLAY to identify the<br />

internet address of the target display.<br />

The CMS GLOBALV command is used to set the required environment variable.<br />

►► GLOBALV SELECT CENV SET<br />

SETP<br />

DISPLAY host :target_server ►<br />

►<br />

.target_screen<br />

►◄<br />

Parameter<br />

SELECT CENV<br />

SET<br />

SETP<br />

DISPLAY<br />

host<br />

Description<br />

The GLOBALV group that contains C environment<br />

variables.<br />

Defines the variable for the current <strong>IP</strong>L only.<br />

Defines the variable permanently.<br />

The C environment variable to be defined.<br />

The name or <strong>IP</strong> address of the host machine<br />

running the X Window System server.<br />

Chapter 11. Using GDDMXD/<strong>VM</strong> with the X Window System 197


Using GDDMXD/<strong>VM</strong><br />

target_server<br />

target_screen<br />

Specifies the number of the display server on the<br />

host machine.<br />

Specifies the screen to be used on the same<br />

target_server.<br />

GLOBALV SELECT CENV SET DISPLAY charm.cambridg.ibm.com:0.0<br />

or<br />

User-Specified Options<br />

GLOBALV SELECT CENV SET DISPLAY 129.42.3.109:0.0<br />

Use the workstation xhost command to allow GDDMXD access to the workstation<br />

you have selected. To send GDDM output to your selected X Server, enter the<br />

following:<br />

xhost vm_host_name<br />

The user-specified options for GDDMXD/<strong>VM</strong> are entries in a file called X<br />

DEFAULTS. The X DEFAULTS file is searched during initialization of<br />

GDDMXD/<strong>VM</strong>.<br />

Note: The values in the X DEFAULTS file are case sensitive and must be entered<br />

as shown.<br />

The following options are supported by GDDMXD/<strong>VM</strong>:<br />

v Geometry<br />

v GColornn<br />

v GMCPnn<br />

v ZWL<br />

v XSync<br />

v CMap<br />

v HostRast<br />

v XClConn<br />

v Compr<br />

v PDTrace<br />

v ANFontn<br />

v Enter<br />

v NewLine<br />

Resizing the GDDMXD Graphics Window<br />

GDDMXD supports four graphics window sizes. The initial window size is<br />

determined by the window width specified in the Geometry option of the X<br />

DEFAULTS file. Subsequently, the window size used by GDDMXD is determined<br />

by the width of the window resulting from any resizing that you may have done.<br />

The relationship of graphics window size (GDDMXD Graphics Presentation Space)<br />

to the actual window width is shown in Table 14.<br />

Table 14. Window Width and Window Size<br />

Window Width (pixels) GDDMXD Graphics Presentation Space (pixels)<br />

< 650 480 horizontal by 352 vertical<br />

>=650 to < 850 720 horizontal by 512 vertical<br />

>= 850 to 1024 1200 horizontal by 864 vertical<br />

198 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Using GDDMXD/<strong>VM</strong><br />

For sizes other than the default graphics presentation space size of 720 pixels by<br />

512 pixels, bitmapped data such as symbol sets and images are expanded or<br />

contracted to meet the scaling requirements of the specified window size.<br />

Expansion is accomplished by duplicating rows and columns of the data and can<br />

result in a slightly different appearance than when viewed at the default size.<br />

Contraction is implemented for single-plane data by combining certain rows and<br />

columns of the data with a logical OR function. Because this may not yield<br />

acceptable results when a black on white image is viewed, a user option, Compr, is<br />

provided to specify that a logical AND function be used to contract the data.<br />

Contraction of multiplane bitmapped data is accomplished by eliminating certain<br />

rows and columns. Data compression results in a different visual appearance than<br />

when viewed at the default size. For more information about using this option, see<br />

“Compr” on page 204.<br />

Geometry<br />

To specify the size and location of the initial GDDM graphics window, use the<br />

Geometry option in the following format.<br />

►►<br />

gddmx*Geometry:<br />

750<br />

width<br />

×<br />

650<br />

height<br />

+<br />

10<br />

x_offset<br />

►<br />

►<br />

+<br />

10<br />

y_offset<br />

►◄<br />

Parameter<br />

width<br />

height<br />

x_offset<br />

y_offset<br />

Description<br />

Specifies the width of the X-Window in pixels. The default width is<br />

750 pixels.<br />

Specifies the height of the X-Window in pixels. The default height<br />

is 650 pixels.<br />

Specifies the location of the upper left corner of the window where<br />

x_offset is the horizontal offset from the upper left corner of the<br />

display. The default horizontal offset is +10 pixels.<br />

Specifies the location of the upper left corner of the window where<br />

y_offset is the vertical offset from the upper left corner of the<br />

display. The default vertical offset is +10 pixels.<br />

The following is an example of a Geometry option.<br />

gddmx*Geometry: 600x400+20+20<br />

In this example, the Geometry entry in the X DEFAULTS file specifies the size of<br />

the initial GDDM graphics window.<br />

GColornn<br />

GDDMXD/<strong>VM</strong> provides a default mapping of GDDM colors (GColors) to X<br />

Window System colors. If you want to override a default color name or if a default<br />

color name is not available by your X Window System server, add a GColornn<br />

entry in the X DEFAULTS file. Table 15 on page 200 lists the GDDM colors that<br />

Chapter 11. Using GDDMXD/<strong>VM</strong> with the X Window System 199


Using GDDMXD/<strong>VM</strong><br />

GDDMXD/<strong>VM</strong> maps to the X Window System.<br />

Table 15. GColors<br />

GColornn GDDM Color X Window System Color<br />

GColor1 Blue Blue<br />

GColor2 Red Red<br />

GColor3 Magenta Magenta<br />

GColor4 Green Green<br />

GColor5 Turquoise Turquoise<br />

GColor6 Yellow Yellow<br />

GColor7 White White<br />

GColor8 Black Black<br />

GColor9 Dark Blue Dark Slate Blue<br />

GColor10 Orange Orange<br />

GColor11 Purple Plum<br />

GColor12 Dark Green Dark Green<br />

GColor13 Dark Turquoise Dark Turquoise<br />

GColor14 Mustard Wheat<br />

GColor15 Gray Gray<br />

GColor16 Brown Brown<br />

The following is the format of the GColornn option.<br />

►► gddmx*GColornn: c ►◄<br />

Parameter<br />

nn<br />

c<br />

Description<br />

Specifies the GDDM color entry that is mapped.<br />

Specifies the X Window System color that is used as the GDDM<br />

color.<br />

The following is an example of a GColornn option.<br />

gddmx*GColor3: Pink<br />

In this example, specifying the GColor3 entry in the X DEFAULTS file maps the<br />

GDDM color, Magenta, to the X Window System color, Pink.<br />

GMCPnn<br />

The GMCPnn entries in the X DEFAULTS file are used to override GDDM<br />

multicolor patterns (GMCP) with workstation color names.<br />

The following is the format of the GMCPnn option.<br />

200 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Using GDDMXD/<strong>VM</strong><br />

►► gddmx*GMCPnn: c ►◄<br />

Parameter<br />

nn<br />

c<br />

Description<br />

Specifies the GDDM multicolor pattern.<br />

Specifies the color that is used with the defined GDDM multicolor<br />

pattern.<br />

The following is an example of a GMCPnn option.<br />

gddmx*GMCP126: MediumBlue<br />

In the preceding example, the color MediumBlue is used when multicolor pattern<br />

126 is specified by the GDDM application.<br />

ZWL<br />

The X Window System supports a range of line widths. Because some X Window<br />

System servers draw wide lines at a slow rate, you can use the Zero Width Lines<br />

(ZWL) option to increase the speed at which GDDMXD/<strong>VM</strong> draws lines.<br />

ZWL directs GDDMXD/<strong>VM</strong> to draw all lines using zero width lines. The X<br />

Window System server uses the fastest drawing algorithm to draw the lines even<br />

though the resulting line may not be exactly the same as if it had been drawn as a<br />

wide line.<br />

The following is the format of the ZWL option.<br />

►►<br />

gddmx*ZWL: N<br />

gddmx*ZWL:<br />

Y<br />

►◄<br />

Parameter<br />

Y<br />

N<br />

Description<br />

Directs GDDMXD/<strong>VM</strong> to use zero width lines for all drawing.<br />

Directs GDDMXD/<strong>VM</strong> to use normal width lines for all drawing.<br />

This is the default.<br />

XSync<br />

The X Window System operates asynchronously. By the time an error has been<br />

detected, the application may have issued more requests.<br />

The XSync option requests that the X Window System process one request at a<br />

time.<br />

Note: When the XSync option is specified to be on (Y), system performance is<br />

degraded.<br />

The following is the format of the XSync option.<br />

Chapter 11. Using GDDMXD/<strong>VM</strong> with the X Window System 201


Using GDDMXD/<strong>VM</strong><br />

►►<br />

gddmx*XSync: N<br />

gddmx*XSync:<br />

Y<br />

►◄<br />

Parameter<br />

Y<br />

N<br />

Description<br />

Directs GDDMXD/<strong>VM</strong> to request the X Window System to operate<br />

synchronously.<br />

Allows the X Window System to operate asynchronously. This is<br />

the default.<br />

CMap<br />

During initialization, GDDMXD/<strong>VM</strong> issues the X Window System call,<br />

XInstallColormap, to load the default color map (CMap). If the CMap option is<br />

specified as N, the XInstallColormap call is not made. This option accommodates<br />

the X Window System servers that load their own color maps and do not want the<br />

clients to load different color maps.<br />

The following is the format of the CMap option.<br />

►►<br />

gddmx*CMap: Y<br />

gddmx*CMap:<br />

N<br />

►◄<br />

Parameter<br />

Y<br />

N<br />

Description<br />

Directs GDDMXD/<strong>VM</strong> to load the default colormap. This is the<br />

default.<br />

Directs GDDMXD/<strong>VM</strong> to bypass loading the default colormap.<br />

HostRast<br />

The default device model for GDDMXD/<strong>VM</strong> is an <strong>IBM</strong> 3179G Color Graphic<br />

Display Station with a mouse and raster image processing is performed at the<br />

workstation. The HostRast option enables you to perform the raster image<br />

processing at the <strong>VM</strong> host.<br />

When the HostRast option Y is specified, GDDM performs the raster image<br />

processing and transmits the picture as a series of characters whose pixel<br />

definitions have been transmitted to Programmed Symbol Sets. The picture is<br />

mapped exactly as an <strong>IBM</strong> 3279 Color Display Station.<br />

Note: If the ratio of horizontal to vertical pixel spacing is not the same as that of<br />

an <strong>IBM</strong> 3279, the aspect ratio can be distorted.<br />

You should use the HostRast option when:<br />

v Multiplane character symbol sets are required by the application.<br />

v GDDM color mixing is important to the application.<br />

Note: The APL2 character set is not supported when the HostRast option is active.<br />

202 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Using GDDMXD/<strong>VM</strong><br />

The following is the format of the HostRast option.<br />

►►<br />

gddmx*HostRast: N<br />

gddmx*HostRast:<br />

Y<br />

►◄<br />

Parameter<br />

Y<br />

N<br />

Description<br />

Directs GDDMXD/<strong>VM</strong> to use the <strong>IBM</strong> 3279 as a device model and<br />

perform raster image processing on the <strong>VM</strong> host.<br />

Directs GDDMXD/<strong>VM</strong> to use the <strong>IBM</strong> 3179G as a device model<br />

and perform raster image processing on the workstation. This is<br />

the default.<br />

XClConn<br />

The default operation of GDDMXD/<strong>VM</strong> creates the GDDMXD/<strong>VM</strong> window when<br />

the GDDM application opens the display device, destroys the window, and breaks<br />

the connection to the X Window System display when the application closes the<br />

display device.<br />

Some applications can repeatedly close and reopen the display device, which can<br />

cause a delay of several seconds to reestablish the connection to the X Window<br />

System display. The XClConn option instructs GDDMXD/<strong>VM</strong> not to close the<br />

connection to the X Window System when the GDDM device is closed. It is no<br />

longer necessary to use this option since GDDM will only close the X Window<br />

environment after a GDDM FSTERM call has been issued. All GDDM applications<br />

should issue the FSTERM call to close the environment. The option remains for the<br />

sake of compatibility with existing and older applications.<br />

The following is the format of the XClConn option.<br />

►►<br />

gddmx*XClConn: Y<br />

gddmx*XClConn:<br />

N<br />

►◄<br />

Parameter<br />

Y<br />

N<br />

Description<br />

Instructs GDDMXD to close the connection to the X Window<br />

System when the display device is closed by the GDDM<br />

application. This is the default.<br />

Instructs GDDMXD to leave the connection to the X Window<br />

System active when the display device is closed by the GDDM<br />

application. With this parameter, GDDMXD cannot destroy the<br />

window and close the connection to the workstation when the<br />

application is finished with the device. The last GDDM graphics<br />

window created by the application is displayed until a GDDM<br />

application is started on the same System/370 (S/370 ) host for<br />

the same workstation, or until you explicitly destroy the window<br />

using the workstation window manager facilities.<br />

Chapter 11. Using GDDMXD/<strong>VM</strong> with the X Window System 203


Using GDDMXD/<strong>VM</strong><br />

Compr<br />

The Compr option is used to control the technique used to compress (Compr)<br />

bitmapped data when a graphices window size of 480 by 352 pixels is in use.<br />

The following is the format of the Compr option.<br />

►►<br />

gddmx*Compr: Or<br />

gddmx*Compr:<br />

And<br />

►◄<br />

Parameter<br />

And<br />

Or<br />

Description<br />

‘A’ or ‘a’ specifies that an AND function should be used when<br />

compressing bitmapped data.<br />

‘O’ or ‘o’ specifies that an OR function should be used. This is the<br />

default value.<br />

PDTrace<br />

The PDTrace option in your X DEFAULTS file is used to generate a GDDM<br />

problem determination trace (PDTrace).<br />

The following is the format of the PDTrace option.<br />

►►<br />

gddmx*PDTrace: N<br />

gddmx*PDTrace:<br />

Y<br />

►◄<br />

Parameter<br />

Y<br />

N<br />

Description<br />

Generates GDDMXD trace information.<br />

Does not generate the GDDMXD trace information. This is the<br />

default.<br />

ANFontn<br />

The ANFontn option specifies the X Window System font that GDDMXD should<br />

use for displaying characters in the alphanumeric presentation space of the<br />

GDDMXD window. Graphics mode 1 and 2 characters in the graphics presentation<br />

space are not affected by this option. The value of n ranges from 1 to 4 and defines<br />

the X Window System font for each of the four sizes of presentation space<br />

supported by GDDMXD. The ANFontn option can be specified for any, all, or none<br />

of the four values of n.<br />

The X Window System fonts specified should be fixed-spaced fonts whose<br />

characters fit into the character box size required by each of the four presentation<br />

space sizes shown in Table 16.<br />

Table 16. X Window System Fonts<br />

n Presentation Space Character Box Example Font<br />

1 480 x 352 6 x 11 Rom8<br />

204 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Using GDDMXD/<strong>VM</strong><br />

Table 16. X Window System Fonts (continued)<br />

n Presentation Space Character Box Example Font<br />

2 720 x 512 9 x 16 Rom11<br />

3 960 x 682 12 x 21 Rom14<br />

4 1200 x 864 15 x 27 Rom17<br />

Selecting a font whose characters are larger than the character box size can result<br />

in characters overlapping when displayed.<br />

The following is the format of the ANFontn option.<br />

►► gddmx*ANFontn fontname ►◄<br />

Parameter<br />

n<br />

fontname<br />

Description<br />

Specifies the size of the presentation space.<br />

Specifies the name of the X Window System font.<br />

Remapping the Enter and Newline Keys<br />

GDDMXD/<strong>VM</strong> provides the following options to allow remapping of the “Enter”<br />

and “Newline” keys by the GDDMXD/<strong>VM</strong> user.<br />

Enter<br />

The Enter option can be specified in the X DEFAULTS file to identify which X<br />

Window System Keysym is to be mapped to the Enter function. The use of this<br />

option overrides the default mapping of the Keysym XK_Execute to the Enter<br />

function.<br />

The following is the format of the Enter option:<br />

►► gddmx*Enter: xxx ►◄<br />

Parameter<br />

xxx<br />

Description<br />

Specifies the X Window System Keysym representing the physical<br />

key. For standard Keysyms, the XK_ prefix is not included in<br />

specifying the option.<br />

The following is an example of the Enter Option:<br />

gddmx*Enter: Return<br />

In the preceding example, the X Window System Keysym, XK_Return is mapped<br />

to the Enter function.<br />

Chapter 11. Using GDDMXD/<strong>VM</strong> with the X Window System 205


Using GDDMXD/<strong>VM</strong><br />

Newline<br />

The NewLine option can be specified in the X DEFAULTS file to identify which X<br />

Window System Keysym is to be mapped to the NewLine function. The use of this<br />

option overrides the default mapping of the Keysym XK_Return to the Newline<br />

function.<br />

The following is the format of the NewLine option:<br />

►► gddmx*NewLine: xxx ►◄<br />

Parameter<br />

xxx<br />

Description<br />

Specifies the X Window System Keysym representing the physical<br />

key. For standard Keysyms, the XK_ prefix is not included in<br />

specifying the option.<br />

The following is an example of the NewLine option:<br />

gddmx*NewLine: KP_Enter<br />

In the preceding example, the X Window System Keysym, KP_Enter is mapped to<br />

the NewLine funcion.<br />

GDDMXD/<strong>VM</strong> Keyboard Functions<br />

When you enter input to GDDM by GDDMXD/<strong>VM</strong>, use the following keyboard<br />

functions.<br />

v All alphanumeric keys<br />

v F1—F24<br />

If F13—F24 are not available, use Shift + F1 to Shift + F12<br />

v Tab or Shift + Tab<br />

v Directional arrows<br />

v End key to erase to the end of the field<br />

v Insert key and Delete key<br />

v PA1, PA2, and PA3<br />

v Enter key<br />

v Newline key<br />

Note: The Backspace key is treated as a cursor left key.<br />

If you cannot locate these keys on your workstation, see your workstation X<br />

Window System documentation to determine the mapping of the X Window<br />

System key symbol definitions to the physical keys.<br />

GDDMXD/<strong>VM</strong> to X Window System Keyboard Functions<br />

The following are the GDDMXD/<strong>VM</strong> keyboard functions that translate to X<br />

Window System key symbol definitions. Key functions not listed are not<br />

supported.<br />

GDDMXD/<strong>VM</strong><br />

Keyboard Function<br />

X Window System Key Symbol<br />

206 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Using GDDMXD/<strong>VM</strong><br />

F1—F12<br />

Tab<br />

Up<br />

Down<br />

Left<br />

Right<br />

End<br />

Insert<br />

Delete<br />

PA1<br />

PA2<br />

PA3<br />

Clear<br />

Enter<br />

APL2 char set toggle<br />

Newline<br />

XK_F1—XK_F12<br />

XK_Tab<br />

XK_Up<br />

XK_Down<br />

XK_Left<br />

XK_Right<br />

XK_End<br />

XK_Insert<br />

XK_Delete<br />

XK_Prior<br />

XK_Next<br />

XK_Home<br />

XK_Pause<br />

XK_Execute<br />

XK_Backspace with state Mod1Mask<br />

XK_Return<br />

APL2 Character Set Keyboard<br />

Setting Up GDXAPLCS MAP<br />

The APL2 character set is activated by simultaneously pressing the X Window<br />

System XK_Backspace key (usually the Backspace key) and the State Mod1Mask<br />

key (usually the Alt key). For example, if you use the <strong>IBM</strong> 101 Enhanced<br />

Keyboard, the APL2 character set is toggled on and off by pressing and holding<br />

Alt, and then pressing Backspace.<br />

When the APL2 character set is active, the characters APL are displayed in the title<br />

bar of the GDDMXD/<strong>VM</strong> window.<br />

In the X Window System, a keycode is assigned to each key on the keyboard.<br />

GDDMXD/<strong>VM</strong> uses keycodes in combination with modifier keys. For example, the<br />

Shift and Alt keys determine the data that should be passed back from<br />

GDDMXD/<strong>VM</strong> to the X Window System application to identify the user’s<br />

keystroke data.<br />

A default mapping for the APL2 character set is provided in GDDMXD/<strong>VM</strong>,<br />

which corresponds to the <strong>IBM</strong> 101 Key Enhanced Keyboard. You can override this<br />

default mapping by creating a file called GDXAPLCS MAP to define the mapping<br />

for your workstation. When GDDMXD/<strong>VM</strong> is initialized, the system searches for a<br />

file called GDXAPLCS MAP. If the GDXAPLCS MAP file exists, the data in the<br />

GDXAPLCS MAP file replaces the default mapping for all keys.<br />

For additional information about the mapping values defined in the GDXAPLCS<br />

MAP file, see Appendix C, “Mapping Values for the APL2 Character Set” on<br />

page 295.<br />

The following steps describe how to set up the GDXAPLCS MAP file.<br />

Chapter 11. Using GDDMXD/<strong>VM</strong> with the X Window System 207


Using GDDMXD/<strong>VM</strong><br />

1. Use the sample program, KEYCODE module, to determine the keycodes for the<br />

physical keyboard keys.<br />

When the KEYCODE program is executed from your workstation session to the<br />

host system, the keycode is displayed for each key depressed at the<br />

workstation. Therefore, you can establish the association between a physical<br />

key and the character you want to generate.<br />

For more information about the mapping values that are defined in the<br />

GDXAPLCS MAP file, see Appendix C, “Mapping Values for the APL2<br />

Character Set” on page 295.<br />

2. Copy GDXAPLCS SAMPMAP to GDXAPLCS MAP.<br />

3. Edit GDXAPLCS MAP to establish the association between the keycodes in<br />

KEYCODE and the character set and code values in Appendix C, “Mapping<br />

Values for the APL2 Character Set”.<br />

Collecting Problem Determination Information<br />

If you are reporting a problem to the <strong>IBM</strong> Service Representative, you should<br />

provide the following information:<br />

v Environment description<br />

v GDDM trace<br />

v GDDMXD problem determination trace<br />

v Spooled console output<br />

Note: The GDDM and GDDMXD problem determination traces must be in<br />

machine-readable form. To minimize the size of these traces, find the<br />

shortest sequence of actions that reproduce the problem before obtaining<br />

traces. Running with these traces activated reduces system performance.<br />

GDDMXD/<strong>VM</strong>—X Window System Server Environment<br />

You should include the following information in the environment description:<br />

v<br />

v<br />

Host system software name and level<br />

X Window System server workstation hardware and software names and levels<br />

Obtaining the GDDM Trace<br />

To generate the GDDM trace on the virtual printer, the following lines should be<br />

included in the PROFILE ADMDEFS file.<br />

*ADMMDFT TRCESTR=’FLOW’<br />

*ADMMDFT TRCESTR=’PARMSF’<br />

*ADMMDFT TRCESTR=’FULLTCA’<br />

*ADMMDFT CMSTRCE=(,)<br />

To activate the trace, you should change the asterisk (*) in column 1 of each line to<br />

a blank. You should include the FULLTCA line to provide all the information about<br />

GDDMXD/<strong>VM</strong>. You should provide the GDDM trace in machine readable format<br />

to your <strong>IBM</strong> Service Representative.<br />

Obtaining the GDDMXD Problem Determination Trace<br />

To activate the GDDMXD problem determination trace, add the following entry to<br />

your X DEFAULTS file.<br />

gddmx*PDTrace: Y<br />

208 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


By default, a file called GDDMX TRACE is written on your A disk. By issuing a<br />

CMS FILEDEF command for the data definition name (ddname) GDXDPDT, you<br />

can direct the GDDMX TRACE to another device, including the virtual printer.<br />

If the problem you are experiencing results in an X Window System error message,<br />

activate the GDDMXD XSync option by including the following entry in your X<br />

DEFAULTS file.<br />

gddmx*XSync: Y<br />

GDDMXD/<strong>VM</strong> Problem Determination Examples<br />

Using GDDMXD/<strong>VM</strong><br />

This section describes the process used to determine the cause of the problems that<br />

can occur when you run a GDDM application with GDDMXD/<strong>VM</strong>.<br />

Problem: Messages from the X Window System or<br />

from GDDMXD/<strong>VM</strong> indicating the connection could<br />

not be established.<br />

Explanation: There are problems establishing the<br />

connection to the X Window Server.<br />

User Response:<br />

v If you received an X Window System message<br />

indicating that the server was not authorized to<br />

connect to the host, issue an XHOST command at the<br />

server specifying the desired host. If the problem<br />

persists, seek assistance to verify that the host system<br />

and the work station have been set up correctly.<br />

v Is the global variable defining the target X Window<br />

System server set up correctly? Issue the following<br />

command: GLOBALV SELECT CENV LIST DISPLAY.<br />

Is the response correct? If there is more than one<br />

display at the server, is the global variable pointing<br />

to the correct display? Try using the PING command<br />

to check the path to the server. Try an X Windows<br />

System application that does not use GDDMXD/<strong>VM</strong>,<br />

for example, XCALC. Try running the GXDEMOn<br />

sample GDDMXD programs. Correct any difficulties<br />

before trying other GDDM applications.<br />

Problem: Any other problem such as program check<br />

or ABEND.<br />

Explanation: There are problems establishing the<br />

connection to the X Window Server.<br />

User Response:<br />

information.<br />

Collect problem determination<br />

Problem: An X Window System message indicating<br />

an error or any unexpected ABEND.<br />

Explanation: The connection is established, but the<br />

GDDMXD window is not displayed.<br />

User Response:<br />

v Try running with a different server.<br />

v Try running without a window manager at the<br />

server.<br />

v If the X Window System error message is: XIO: fatal<br />

IO error nn (broken pipe) and the message persists,<br />

the problem is most likely in the X Window System<br />

and not in GDDMXD/<strong>VM</strong>. If the error persists,<br />

collect problem determination information.<br />

Problem: GDDMXD window is created, but picture<br />

drawn is incorrect or user interaction with application<br />

produces unexpected results.<br />

User Response:<br />

v Is the server at the correct level?<br />

v Is the ZWL option being used? If so, try turning it<br />

off.<br />

v Is a supported version of GDDM being used?<br />

v Is the application using GDDM functions that are not<br />

supported?<br />

v If the error persists, collect problem determination<br />

information.<br />

Demonstration Programs<br />

The demonstration programs display examples of the GDDM functions. Each<br />

program displays a series of frames. To move to the next frame, press Enter.<br />

GXDEMO1<br />

The following describes the GXDEMO1 frames.<br />

Frame Description<br />

1 GDDM line types and widths<br />

Chapter 11. Using GDDMXD/<strong>VM</strong> with the X Window System 209


Using GDDMXD/<strong>VM</strong><br />

2 GDDM System Markers<br />

3 Simple picture<br />

4 Circular Arcs<br />

5 Elliptic Arcs<br />

6 2-Part Polyfillet<br />

7 5-Part Polyfillet<br />

GXDEMO2<br />

The following describes the GXDEMO2 frames.<br />

Frame Description<br />

1 Solid area fill<br />

2 Overlapped polygon fill<br />

3 2-Part graphic area fill<br />

4 GDDM System Shading Patterns<br />

5 Output from GSIMG statement<br />

6 Output from GSIMGS statement<br />

GXDEMO3<br />

The following describes the GXDEMO3 frames.<br />

Frame Description<br />

1 Three GDDM Text Modes<br />

2 Proportional Spacing<br />

3 GDDM Character Angle<br />

4 GDDM Character Direction<br />

5 GDDM Character Shear<br />

GXDEMO4<br />

The GXDEMO4 frames display the 22 standard GDDM fonts.<br />

GXDEMO4A<br />

The GXDEMO4A frames display a subset of the standard GDDM fonts.<br />

GXDEMO5<br />

The following describes the GXDEMO5 frames.<br />

Frame Description<br />

1 The Four Segment Transformations<br />

2 Example transformation (Part 1)<br />

3 Example transformation (Part 2)<br />

4 Examples of Called Segments<br />

GXDEMO6<br />

The following describes the GXDEMO6 frames.<br />

Frame Description<br />

1 PGF Line Chart<br />

2 PGF Surface Chart<br />

3 PGF Histogram<br />

4 PGF Bar Chart<br />

5 PGF Tower Chart<br />

6 PGF Polar Chart<br />

7 PGF Composite Bar Versus Multiple Pie Charts<br />

8 PGF Pie Charts<br />

210 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Using GDDMXD/<strong>VM</strong><br />

9 PGF Venn Diagram<br />

Chapter 11. Using GDDMXD/<strong>VM</strong> with the X Window System 211


Using GDDMXD/<strong>VM</strong><br />

212 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Chapter 12. Managing <strong>TCP</strong>/<strong>IP</strong> Network Resources with SNMP<br />

Sample Command Lists<br />

Simple Network Management Protocol (SNMP) is used to monitor your <strong>TCP</strong>/<strong>IP</strong><br />

network resources.<br />

SNMP defines an architecture that consists of network management stations<br />

(SNMP clients), network elements (hosts and gateways), and network management<br />

agents and subagents, which perform the information management functions.<br />

SNMP allows clients and agents to communicate network management information<br />

through network elements, which act as servers.<br />

An SNMP client is a network workstation that executes management applications<br />

that are used to monitor and control network elements. When you use SNMP with<br />

<strong>TCP</strong>/<strong>IP</strong>, you require NetView ® to provide end-user interface to the SNMP client. A<br />

NetView operator can use the SNMP command to communicate with SNMP<br />

agents. NetView acts as an SNMP client.<br />

Notes:<br />

1. <strong>VM</strong> SNMP supports <strong>IBM</strong> 3172 Management Information Base (MIB) variables<br />

and MIB-II variables. For more information about MIB-II variables, see RFC<br />

1158 and Appendix E, “Management Information Base Objects” on page 307.<br />

2. The <strong>VM</strong> SNMP agent does not support the SET operation. If you use the SET<br />

command with the variables listed in Appendix E, “Management Information<br />

Base Objects” for a <strong>VM</strong> Agent, you receive a read-only error.<br />

Two sets of sample NetView command lists with a filetype of NCCFLST are<br />

supplied on the Samples tape. One set is written in CLIST (SNMPRUN), and the<br />

other set is written in REXX (SNMPMGMT).<br />

You should use CLISTs if your host system does not support REXX. The REXX<br />

programs supply the same functionality as the CLISTs. These command lists enable<br />

you, through revision and modification, to develop a set of NetView/SNMP<br />

client/user interface pannels that are customized to your needs.<br />

You can issue SNMP requests with the two sets of sample command lists that are<br />

shipped with the <strong>TCP</strong>/<strong>IP</strong> product, with command lists that you write, or directly<br />

from the command line. The SNMPRUN and the SNMPMGMT commands invoke<br />

the main panel from which a NetView operator can execute most of the SNMP<br />

requests in full-screen mode. The SNMPRUN command uses a set of command<br />

lists written in NetView Command List language; the SNMPMGMT command uses<br />

a set of REXX command lists.<br />

For more information about these sample command lists, see the SNMPCLST<br />

README and SNMPREXX README files on the client common disk (<strong>TCP</strong>MAINT<br />

592).<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 213


Using SNMP<br />

SNMP/NetView Overview<br />

Figure 12 illustrates how the interface between the NetView and <strong>TCP</strong>/<strong>IP</strong> virtual<br />

machines is set up. An additional virtual machine running a special server called<br />

the Query Engine(SNMPQE) actually implements the communication function.<br />

Userid = NETVIEW<br />

Userid = SNMPQE<br />

Userid = <strong>TCP</strong><strong>IP</strong><br />

SNMP CMD PROC<br />

SQESRV<br />

SNMPIUCV-TASK<br />

SOCKET I-FACE<br />

GCS<br />

CMS<br />

CMS<br />

<strong>VM</strong><br />

IUCV<br />

<strong>VM</strong>CF<br />

Internet to<br />

SNMP agents<br />

Figure 12. Overview of NetView SNMP Support<br />

The Query Engine communicates with an optional subtask, called SNMPIUCV,<br />

running under NetView. It also communicates with <strong>TCP</strong>/<strong>IP</strong>. This is done through<br />

socket interfaces that are based on the IUCV cross-memory facility.<br />

The SNMP Query Engine uses three types of sockets:<br />

v Datagram sockets through which the SNMP requests and responses flow and<br />

traps are received, because the management protocol is based on UDP<br />

v A raw socket into ICMP for the implementation of the PING facility, which is an<br />

ICMP echo application<br />

v A stream socket for communication with NetView<br />

To use the interface, a NetView operator or command list issues the SNMP<br />

command with the appropriate parameters. This invokes the SNMP command<br />

processor, which validates the syntax of the input and, if no errors are found, it<br />

queues the request to the SNMPIUCV task. Then, the task passes the request to the<br />

SNMP Query Engine, which validates the request, encodes it in ASN.1 format, and<br />

builds the protocol data unit (PDU) that is sent to the SNMP agent.<br />

When the Query Engine receives a response from the agent, it decodes the PDU<br />

and passes it to the SNMPIUCV NetView task. The task converts the response into<br />

a multiline message. The messages are prefixed with SNM, so that they can be<br />

assigned to specific NetView operators or autotasks.<br />

214 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


SNMP Commands<br />

To issue an SNMP request, use the SNMP command. The following is a list of the<br />

SNMP commands you can use on NetView.<br />

Note: The SNMP commands can be abbreviated; the shortest acceptable form<br />

appears in uppercase.<br />

The SNMP Query Engine issues SNMP requests to the agents and processes SNMP<br />

responses returned by the agents. The agents can also forward unsolicited<br />

messages, known as traps, to NetView and other clients.<br />

NetView can use the following SNMP commands.<br />

v SNMP Get<br />

v SNMP GETNext<br />

v SNMP Set<br />

v SNMP TRAPson<br />

v SNMP TRAPSOFf<br />

v SNMP MIBvname<br />

v SNMP PING<br />

The following sections describe these commands.<br />

SNMP Commands Overview<br />

The following provides information about SNMP commands.<br />

v<br />

v<br />

v<br />

v<br />

v<br />

v<br />

v<br />

v<br />

When the SNMP command is issued from the NetView Command Facility<br />

command line, all input is translated to uppercase (standard NetView) before it<br />

is sent to the SNMP Query Engine.<br />

When the SNMP command is issued from a CLIST, input is passed in whatever<br />

case it was passed from the CLIST (for example, mixed case).<br />

The short names for the variables passed to the query engine are compared<br />

against the entries in the MIB_DESC DATA file in a case insensitive way. For<br />

more information about this file, see <strong>TCP</strong>/<strong>IP</strong> Planning and Customization.<br />

The community name is passed to the SNMP agent in the same case as it was<br />

received by the query engine.<br />

If multiple variables are specified with the GET, GETNEXT, or SET commands,<br />

they are all packaged in one SNMP PDU to be sent to the agent.<br />

For PING, you can specify only one host_name.<br />

The responses may not be received in the same order they are issued.<br />

The SNMP agent can receive SNMP requests over any interface.<br />

Return Codes<br />

The following is a list of the return codes generated by SNMP.<br />

Code Description<br />

1 Error from DSIGET, cannot continue<br />

2 Invalid function specified<br />

3 Missing SNMP function<br />

4 Not enough parameters<br />

5 Missing variable name<br />

Using SNMP<br />

Chapter 12. Managing <strong>TCP</strong>/<strong>IP</strong> Network Resources with SNMP 215


Using SNMP<br />

SNMP GET Command<br />

6 Missing variable value<br />

7 Missing or invalid host name<br />

8 Missing community name<br />

9 SNMPIUCV not active<br />

10 Error from DSIMQS<br />

11 Invalid net_mask/desired network<br />

12 Missing/Invalid trap filter_id<br />

1001+ All return codes above 1001 indicate that the command was successful<br />

The return code represents the sequence number (or filter_id) passed to SNMP<br />

Query engine. The asynchronous response is identified by this sequence number.<br />

For a TRAPSON request, this is the filter_id to be used for a subsequent<br />

TRAPSOFF request.<br />

Use the SNMP GET command to obtain one or more variables from an SNMP<br />

agent.<br />

►►<br />

▼<br />

SNMP Get host com_name var_name ►◄<br />

Operands<br />

host<br />

Specifies the name of the destination host where the SNMP request is sent. The<br />

host can be specified with its name or with its <strong>IP</strong> address in dotted-decimal<br />

notation.<br />

Note: The SNMP Query Engine treats numbers with leading zeros as octal<br />

numbers. Therefore, do not use leading zeros.<br />

com_name<br />

Specifies the community name to use when querying the SNMP agent on the<br />

destination host.<br />

Note: This parameter is case sensitive.<br />

var_name<br />

Specifies one or more MIB variable names to be obtained. You can specify the<br />

names in short form or in ASN.1 notation (for example, sysDescr.0 or<br />

1.3.6.1.2.1.1.1.0). Currently, a maximum of 10 variables for each request is<br />

implemented in the SNMP Query Engine.<br />

Note: This parameter is not case sensitive.<br />

You must specify the host name or <strong>IP</strong> address of the host where the agent is<br />

running, as well as the community name to be used when making the query.<br />

216 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Examples<br />

You must specify the variable name of each variable to be obtained. All standard<br />

MIB, MIB-II variable names (defined in RFC 1156 and RFC 1158), and the <strong>IBM</strong> 3172<br />

MIB variables are supported by the <strong>VM</strong> SNMP client. In addition, you can specify<br />

enterprise-specific variables that are defined by the implementer of a particular<br />

SNMP agent. See <strong>TCP</strong>/<strong>IP</strong> Planning and Customization for information about how to<br />

add the enterprise-specific variables to the MIB_DESC DATA file.<br />

v<br />

If you know:<br />

hostname - anyhost<br />

<strong>IP</strong> address - 129.34.222.72<br />

community name - public<br />

variable name - sysDescr.0<br />

asn.1 variable name - 1.3.6.1.2.1.1.1.0<br />

variable name - sysObjectID.0<br />

asn.1 variable name - 1.3.6.1.2.1.1.2.0<br />

variable name - sysUpTime.0<br />

asn.1 variable name - 1.3.6.1.2.1.1.3.0<br />

You can issue the following SNMP GET commands:<br />

snmp get 129.34.222.72 public 1.3.6.1.2.1.1.1.0<br />

snmp get 129.34.222.72 public sysDescr.0<br />

snmp get anyhost public 1.3.6.1.2.1.1.1.0<br />

snmp get anyhost public sysDescr.0<br />

snmp get anyhost public sysObjectID.0<br />

snmp get anyhost public sysUpTime.0<br />

snmp get anyhost public sysDescr.0 sysObjectID.0 sysUpTime.0<br />

After the SNMP command is completed, you get a message similiar to the<br />

following:<br />

SNM050I SNMP Request 1001 from NETOP accepted, sent to Query Engine<br />

When the response arrives in NetView (asynchronously), NetView displays it as<br />

a multiline message in the following form.<br />

SNM040I SNMP Request 1001 from NETOP Returned the following response:<br />

SNM042I Variable name: 1.3.6.1.2.1.1.1.0<br />

SNM043I Variable value type: 9<br />

SNM044I Variable value: AIX 2.2.1 SNMP Agent Version 1.0<br />

SNM042I Variable name: 1.3.6.1.2.1.1.2.0<br />

SNM043I Variable value type: 3<br />

SNM044I Variable value: 1.3.6.1.4.1.2.1.1<br />

SNM042I Variable name: 1.3.6.1.2.1.1.3.0<br />

SNM043I Variable value type: 8<br />

SNM044I Variable value: 98800<br />

SNM049I SNMP Request 1001 end of response<br />

Using SNMP<br />

Usage Notes<br />

v<br />

v<br />

For a list of variables supported by the <strong>VM</strong> Agent, see Appendix E,<br />

“Management Information Base Objects”.<br />

All lines do not need to be present, but the first line is always message<br />

SNM040I, and the last line is always message SNM049I.<br />

If an error was detected, messages SNM042–SNM044 may not be present. You<br />

can get (in addition to other messages) error messages in the following form (all<br />

as part of multiline message SNM040I).<br />

Chapter 12. Managing <strong>TCP</strong>/<strong>IP</strong> Network Resources with SNMP 217


Using SNMP<br />

SNM045I Major error code: n<br />

SNM046I Minor error code: y<br />

SNM047I Error index: z<br />

SNM048I Error text: message text<br />

SNMP GETNEXT Command<br />

v<br />

v<br />

v<br />

v<br />

v<br />

See “Major and Minor Error Codes and SNMP Value Types” on page 227 for<br />

information about value types and minor and major error codes.<br />

If you issue a GET for multiple variables, messages SNM042 through SNM044<br />

are displayed for each variable.<br />

If a variable value is too long, message SNM044 may not fit on an 80-character<br />

line. If this happens, the value is split and multiple SNM044 messages are<br />

displayed.<br />

The SNMP response always displays the variable name in ASN.1 notation. You<br />

can use SNMP MIBVNAME to obtain the short name for the variable. For more<br />

information, see “SNMP MIBVNAME Command” on page 225.<br />

According to RFC 1157, a message exchanged between SNMP entities (including<br />

version identification and community name) can be as small as 484 octets. If you<br />

specify up to 10 variables in a GET/GETNEXT command, the names may be<br />

short enough to send the GET command to the SNMP agent, but the response<br />

may be too long to fit in the message. As a result, you receive a tooBig error.<br />

When you issue a GET for multiple variables, they are returned in the same<br />

sequence as requested. In the example on page 217, GET was issued for<br />

sysDescr.0 sysObjectID.0 sysUpTime.0.. The same three variables are returned<br />

in the response. If one (or more) of the variables requested results in an error, all<br />

variables listed after the first variable in error are ignored, and data is not<br />

returned for them.<br />

v For more information about value types, minor, and major error codes, see<br />

“Major and Minor Error Codes and SNMP Value Types” on page 227.<br />

v For a description of all variables and the meaning of their values, see RFC 1156<br />

and RFC 1158..<br />

Use the SNMP GETNEXT command in the following format to obtain the next<br />

variable in the MIB tree from an SNMP agent.<br />

►►<br />

▼<br />

SNMP GETNext host com_name var_name ►◄<br />

Operands<br />

host<br />

Specifies the name of the destination host where the SNMP request is sent. The<br />

host can be specified with its name or with its <strong>IP</strong> address in dotted-decimal<br />

notation.<br />

Note: The SNMP Query Engine treats numbers with leading zeros as octal<br />

numbers. Therefore, do not use leading zeros.<br />

218 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Examples<br />

com_name<br />

Specifies the community name to use when querying the SNMP agent on the<br />

destination host.<br />

Note: This parameter is case sensitive.<br />

var_name<br />

Specifies one or more MIB variable names to be obtained. The names can be<br />

specified in short form or in ASN.1 notation (for example, sysDescr.0 or<br />

1.3.6.1.2.1.1.1.0). Currently, a maximum of 10 variables for each request is<br />

implemented in the SNMP Query Engine.<br />

v<br />

Note: This parameter is not case sensitive.<br />

If you know:<br />

hostname - anyhost<br />

<strong>IP</strong> address - 129.34.222.72<br />

community name - public<br />

variable name - ifAdminStatus (in ifTable)<br />

asn.1 variable name - 1.3.6.1.2.1.2.2.1.7<br />

Using SNMP<br />

v<br />

You can issue an SNMP GETNEXT command in one of the following ways:<br />

snmp getnext 129.34.222.72 public 1.3.6.1.2.1.2.2.1.7.0<br />

snmp getnext 129.34.222.72 public ifAdminStatus.0<br />

snmp getnext anyhost public 1.3.6.1.2.1.2.2.1.7.0<br />

snmp getnext anyhost public ifAdminStatus.0<br />

The GETNEXT command is completed in the same manner as the GET<br />

command, and you receive an asynchronous response similiar to the following<br />

example.<br />

The first instance of the variable has a status of 1 or greater (ends in 7.1) in this<br />

example:<br />

SNM040I SNMP Request 1001 from NETOP Returned the following response:<br />

SNM042I Variable name: 1.3.6.1.2.1.2.2.1.7.1<br />

SNM043I Variable value type: 1<br />

SNM044I Variable value: 1<br />

SNM049I SNMP Request 1001 end of response<br />

v<br />

You can then issue another GETNEXT command in one of the following ways:<br />

snmp getnext 129.34.222.72 public 1.3.6.1.2.1.2.2.1.7.1<br />

snmp getnext 129.34.222.72 public ifAdminStatus.1<br />

snmp getnext anyhost public 1.3.6.1.2.1.2.2.1.7.1<br />

snmp getnext anyhost public ifAdminStatus.1<br />

The GETNEXT command is completed in the same manner as the GET<br />

command, and you receive an asynchronous response similiar to the following<br />

example.<br />

The second instance of the variable has a status of 1 or greater (ends in 7.2) in<br />

this example:<br />

SNM040I SNMP Request 1002 from NETOP Returned the following response:<br />

SNM042I Variable name: 1.3.6.1.2.1.2.2.1.7.2<br />

SNM043I Variable value type: 1<br />

SNM044I Variable value: 1<br />

SNM049I SNMP Request 1002 end of response<br />

You can then issue another GETNEXT command in one of the following ways:<br />

Chapter 12. Managing <strong>TCP</strong>/<strong>IP</strong> Network Resources with SNMP 219


Using SNMP<br />

v<br />

snmp getnext 129.34.222.72 public 1.3.6.1.2.1.2.2.1.7.2<br />

snmp getnext 129.34.222.72 public ifAdminStatus.2<br />

snmp getnext anyhost public 1.3.6.1.2.1.2.2.1.7.2<br />

snmp getnext anyhost public ifAdminStatus.2<br />

The GETNEXT command is completed in the same manner as the GET<br />

command, and you receive an asynchronous response similiar to the following:<br />

SNM040I SNMP Request 1003 from NETOP Returned the following response:<br />

SNM042I Variable name: 1.3.6.1.2.1.2.2.1.8.1<br />

SNM043I Variable value type: 1<br />

SNM044I Variable value: 1<br />

SNM049I SNMP Request 1003 end of response<br />

Usage Notes<br />

SNMP SET Command<br />

v<br />

v<br />

The returned variable is the first entry in the next instance, which has a value of<br />

1 or greater (ends in 8.1 rather than 7.x). The returned variable indicates that<br />

the end of the table for the ifAdminStatus variable has been reached.<br />

You must specify the host name or <strong>IP</strong> address of the host where the agent is<br />

running, as well as the community name to be used when making the query.<br />

You must specify the name of the variable preceding the desired variable. In<br />

addition to the standard MIBs, there may be enterprise-specific variables as<br />

defined by the implementer of a particular SNMP agent.<br />

The GETNEXT command is used to interrogate a table (for example, the<br />

interface table) or an array. You can issue a GETNEXT command at the start of a<br />

table (use instance 0.0). The first element in the table is returned. The process<br />

continues in a loop, performing GETNEXT requests on the previously obtained<br />

variable name, until the name of the variable returned no longer has the same<br />

prefix as the one at the start of the table. This condition occurs when the<br />

GETNEXT request returns a variable that is in the next group.<br />

Use the SNMP SET command to set or change the value of one or more variables<br />

in an SNMP agent.<br />

►►<br />

▼<br />

SNMP Set host com_name var_namevar_value ►◄<br />

Operands<br />

host<br />

Specifies the name of the destination host where the SNMP request is sent. The<br />

host can be specified with its name or with its <strong>IP</strong> address in dotted-decimal<br />

notation.<br />

Note: The SNMP Query Engine treats numbers with leading zeros as octal<br />

numbers. Therefore, do not use leading zeros.<br />

com_name<br />

Specifies the community name to use when querying the SNMP agent on the<br />

destination host.<br />

220 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Using SNMP<br />

Examples<br />

Note: This parameter is case sensitive.<br />

var_name<br />

Specifies one or more MIB variable names to be obtained. The names can be<br />

specified in short form or in ASN.1 notation (for example, sysDescr.0 or<br />

1.3.6.1.2.1.1.1.0). Currently, a maximum of 10 variable pairs for each request is<br />

implemented in the SNMP Query Engine.<br />

Note: This parameter is not case sensitive.<br />

var_value<br />

Specifies the value(s) to be stored in the variable(s).<br />

v<br />

If you know:<br />

hostname - anyhost<br />

<strong>IP</strong> address - 129.34.222.72<br />

community name - publicw<br />

variable name - ifAdminStatus<br />

asn.1 variable name - 1.3.6.1.2.1.2.2.1.7.1<br />

(instance 1)<br />

You can then issue an SNMP SET command in one of the following forms to set<br />

the administrative status of the first interface in the ifTable (first instance) to test.<br />

snmp set 129.34.222.72 publicw 1.3.6.1.2.1.2.2.1.7.1 3<br />

snmp set 129.34.222.72 publicw IfAdminStatus.1 3<br />

snmp set anyhost publicw 1.3.6.1.2.1.2.2.1.7.1 3<br />

snmp set anyhost publicw ifAdminStatus.1 3<br />

After the command has completed, you receive a message similiar to the<br />

following:<br />

SNM050I SNMP Request 1001 from NETOP accepted, sent to Query Engine<br />

When the response arrives in NetView (asynchronously), NetView displays it as<br />

a multiline message in the following form.<br />

SNM040I SNMP Request 1001 from NETOP Returned the following response:<br />

SNM042I Variable name: 1.3.6.1.2.1.2.7.1<br />

SNM043I Variable value type: 1<br />

SNM044I Variable value: 3<br />

SNM049I SNMP Request 1001 end of response<br />

Usage Notes<br />

v<br />

You must specify the host name or <strong>IP</strong> address of the host where the agent is<br />

running, as well as the community name to be used. The community name used<br />

for a SET request is frequently different than the community name for a GET<br />

request. You must specify the names and values of each variable to be set. RFC<br />

1156 and RFC 1158 define the variables that you can set with read-write access.<br />

In addition, there may be enterprise-specific variables as defined by the<br />

implementer of a particular SNMP agent.<br />

Chapter 12. Managing <strong>TCP</strong>/<strong>IP</strong> Network Resources with SNMP 221


Using SNMP<br />

SNMP TRAPSON Command<br />

The SNMP Query Engine can forward only those traps that it receives. Each agent<br />

has a trap destination table, which lists all the hosts that should receive that<br />

agent’s traps. The host name of your system should be in the trap destination table<br />

of all agents from which you want to receive traps.<br />

Use the SNMP TRAPSON command to request that the SNMP Query Engine<br />

forward SNMP traps to NetView.e<br />

►► SNMP TRAPson net_mask net_desired ►◄<br />

Operands<br />

Examples<br />

net_mask<br />

Specifies, in dotted-decimal notation, the network mask to be evaluated with<br />

the <strong>IP</strong> address of incoming traps. The dotted decimal <strong>IP</strong> address is ANDed<br />

with this mask.<br />

net_desired<br />

Specifies the network from which you want to receive traps. When you request<br />

traps using the SNMP TRAPSON command, it returns a request number of<br />

filter_id, which the SNMP Query Engine associates with the TRAPSON request.<br />

To stop receiving traps, specify this filter_id in the TRAPSOFF request.<br />

This command permits the specification of a filtering condition, which enables the<br />

Query Engine to perform filtering.<br />

The SNMP TRAPSON command assigns a unique request number to each filter<br />

(also called a filter_id) and returns this number in a message and in the return<br />

code. This filter_id is the argument to an SNMP TRAPSOFF command, which is<br />

used to stop receiving traps that pass this filter.<br />

v<br />

If you know:<br />

<strong>IP</strong> address - 129.34.222.72<br />

net mask - 255.255.255.255<br />

You can issue the following SNMP TRAPSON commands:<br />

snmp trapson<br />

snmp trapson 255.255.255.255 129.34.222.72<br />

The first command receives all traps (the default is a mask of 0 and a desired<br />

network of 0). The second command only receives traps from a specific host<br />

named anyhost.<br />

After the command is completed, you receive a message similiar to the<br />

following:<br />

SNM050I SNMP Request 1001 from NETOP accepted, sent to Query Engine<br />

When the response arrives in NetView (asynchronously), NetView displays it as<br />

a multiline message in the following form to indicate that the TRAPSON request<br />

was accepted.<br />

222 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Using SNMP<br />

SNM040I SNMP Request 1001 from NETOP Returned the following response:<br />

SNM045I Major error code: 0<br />

SNM046I Minor error code: 0<br />

SNM047I Error index: 0<br />

SNM048I Error text: no error<br />

SNM049I SNMP Request 1001 end of response<br />

When traps arrive, NetView displays each trap with a multiline message in the<br />

following form. This multiline message is sent to the authorized receiver (AUTH<br />

MSGRECVR=YES); it may not show up on the console of the operator who<br />

issues the TRAPSON command.<br />

SNM030I SNMP request 1001 received following trap:<br />

SNM031I Agent Address: 129.34.222.34<br />

SNM032I Generic trap type: 4<br />

SNM033I Specific trap type: 0<br />

SNM034I Time stamp: 472600<br />

SNM035I Enterprise Object ID: 1.3.6.1.4.1.2.1.1<br />

SNM039I SNMP request 1001 End of trap data<br />

Usage Notes<br />

v<br />

v<br />

v<br />

v<br />

v<br />

v<br />

v<br />

v<br />

v<br />

v<br />

In the response to the SNMP TRAPSON request, not all lines need to be present;<br />

but the first line is always message SNM040I, and the last line is always<br />

message SNM049I.<br />

For the multiline trap message, not all lines need to be present; but the first line<br />

is always message SNM030I, and the last line is always message SNM039I.<br />

Additional messages (SNM036I-SNM038I) may be present if the trap has<br />

additional data.<br />

If a variable value is too long, message SNM038 may not fit on an 80-character<br />

line. If this happens, the value is split and multiple SNM038 messages are<br />

displayed.<br />

The SNMP trap data always displays the variable name in ASN.1 notation. You<br />

can use SNMP MIBVNAME to obtain the short name for the variable.<br />

A trap always shows the agent address in the form of an <strong>IP</strong> address in<br />

dotted-decimal notation.<br />

See “Major and Minor Error Codes and SNMP Value Types” on page 227 for<br />

information about value types, minor, and major error codes.<br />

See Appendix G, “SNMP Generic TRAP Types” on page 337 for a description of<br />

the traps and the meanings of the generic trap types.<br />

You can issue multiple TRAPSON requests, either with the same or with a<br />

different filter. If a trap passes multiple filters, the trap is sent to NetView<br />

multiple times. However, in NetView, the header and trailer lines (messages<br />

SNM030I and SNM039I) of the duplicate trap are different, because they contain<br />

the filter_id (request number) by which the trap was forwarded. Different types<br />

of traps from different hosts can have the same filter_id, if these traps pass the<br />

same trap filter. If an SNMP request is issued with the wrong community name,<br />

it receives three AUTHENTICATION FAILURE traps with the same filter_id but<br />

different time stamps from the same host. This is because the SNMP Query<br />

Engine tries to send the same request three times if a response is not received<br />

from the host, and each attempt causes the host to generate an<br />

AUTHENTICATION FAILURE trap.<br />

Once the TRAPSON command has been issued, traps can start to arrive<br />

asynchronously. They can even arrive after the operator who issued the<br />

TRAPSON command logs off. Often, a TRAPSON command is issued by a<br />

Chapter 12. Managing <strong>TCP</strong>/<strong>IP</strong> Network Resources with SNMP 223


Using SNMP<br />

SNMP TRAPSOFF Command<br />

CLIST, and the received trap data triggers another CLIST to handle the trap<br />

data. Therefore, the messages in the range SNM030 through SNM039 are sent to<br />

the authorized receiver. For a NetView operator to see the traps, the operator must<br />

have the following statement in the profile.<br />

AUTH MSGRECVR=YES<br />

However, only one operator receives the message. The messages also go to the<br />

log file, so you can always browse the log file to see trap data. And as a last<br />

resort, you can assign trap messages to go to a specific operator using the<br />

NetView ASSIGN operator command.<br />

When you have asked the SNMP Query Engine to forward traps to NetView, it<br />

keeps doing so until the IUCV connection breaks or until you issue an SNMP<br />

TRAPSOFF command.<br />

►► SNMP TRAPSOFf filter_id ►◄<br />

Operands<br />

Examples<br />

filter_id<br />

Specifies the trap filter ID.<br />

When you request traps using the SNMP TRAPSON command, it returns a<br />

request number or filter_id, which the SNMP Query Engine associates with the<br />

TRAPSON request. To stop receiving traps, specify this filter_id in the<br />

TRAPSOFF request.<br />

The SNMP TRAPSON command assigns a unique request number to each filter<br />

(also called a filter_id) and returns it in a message as the return code. This filter_id<br />

can later be used as the argument to an SNMP TRAPSOFF command if you want<br />

to stop receiving traps that pass this filter. Only one filter_id for each SNMP<br />

TRAPSOFF command can be passed. Extraneous arguments are ignored.<br />

v<br />

If you know the filter_id is 1001, you can issue the following SNMP TRAPSOFF<br />

command to tell the SNMP Query Engine to quit sending traps that would pass<br />

filter 1001.<br />

snmp trapsoff 1001<br />

The command completes with a message similiar to the following:<br />

SNM050I SNMP Request 1001 from NETOP accepted, sent to Query Engine<br />

When the response arrives in NetView (asynchronously), NetView displays it as<br />

a multiline message in the following form to indicate that the TRAPSOFF<br />

request was accepted.<br />

SNM040I SNMP Request 1002 from NETOP Returned the following response:<br />

SNM045I Major error code: 0<br />

SNM046I Minor error code: 0<br />

SNM047I Error index: 0<br />

SNM048I Error text: no error<br />

SNM049I SNMP Request 1002 end of response<br />

224 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


SNMP MIBVNAME Command<br />

When you get an ASN.1 variable name as part of a trap, use the SNMP<br />

MIBVNAME command to find the short name of the variable.<br />

Using SNMP<br />

►► SNMP MIBvname asn.1_name ►◄<br />

Operands<br />

Examples<br />

asn.1_name<br />

Specifies the ASN.1 notation of one MIB variable. You can specify only one<br />

variable, so additional arguments are ignored.<br />

v<br />

If you have a trap that tells you:<br />

SNM030I SNMP request 1001 received following trap:<br />

SNM031I Agent Address: 129.34.222.34<br />

SNM032I Generic trap type: 2<br />

SNM033I Specific trap type: 0<br />

SNM034I Time stamp: 472600<br />

SNM035I Enterprise Object ID: 1.3.6.1.4.1.2.1.1<br />

SNM036I Variable name: 1.3.6.1.2.1.2.2.1.1<br />

SNM037I Variable value type: 1<br />

SNM038I Variable value: 2<br />

SNM039I SNMP request 1001 End of trap data<br />

You can issue the following SNMP MIBVNAME command to find the short MIB<br />

variable name.<br />

snmp mibvname 1.3.6.1.2.1.2.2.1.1<br />

The command completes with a message similar to the following:<br />

SNM050I SNMP Request 1002 from NETOP accepted, sent to Query Engine<br />

When the response arrives in NetView (asynchronously), NetView displays it as<br />

a multiline message in the following form.<br />

SNM040I SNMP Request 1002 from NETOP Returned the following response:<br />

SNM042I Variable name: 1.3.6.1.2.1.2.2.1.1<br />

SNM043I Variable value type: 9<br />

SNM044I Variable value: ifIndex<br />

SNM049I SNMP Request 1002 end of response<br />

Usage Notes<br />

v<br />

v<br />

All lines do not need to be present, but the first line is always message<br />

SNM040I, and the last line is always message SNM049I. If an error occurs, an<br />

error message explains what is wrong.<br />

If an error is detected, messages SNM042 through SNM044 may not be<br />

displayed. You receive error messages (in addition to other messages) in the<br />

following form (all as part of multiline message SNM040I).<br />

Chapter 12. Managing <strong>TCP</strong>/<strong>IP</strong> Network Resources with SNMP 225


Using SNMP<br />

SNM045I Major error code: n<br />

SNM046I Minor error code: y<br />

SNM047I Error index: z<br />

SNM048I Error text: message text<br />

v<br />

See “Major and Minor Error Codes and SNMP Value Types” on page 227 for<br />

information about value types and minor and major error codes.<br />

One ASN.1 variable name only can be passed for each SNMP MIBVNAME<br />

command. Additional parameters are ignored.<br />

SNMP PING Command<br />

Use the SNMP PING command to obtain the minimum round trip response time<br />

from the Query Engine to a specific node.<br />

►► SNMP PING host ►◄<br />

Operands<br />

Examples<br />

host<br />

Specifies the name of the destination host where the SNMP request is sent. The<br />

host can be specified with its name or with its <strong>IP</strong> address in dotted-decimal<br />

notation.<br />

Note: The SNMP Query Engine treats numbers with leading zeros as octal<br />

numbers. Therefore, do not use leading zeros.<br />

The Query Engine issues one PING (an ICMP echo on a raw socket) and returns<br />

the value in milliseconds in an <strong>IBM</strong>-defined SNMP variable minRTT. For more<br />

information about the SNMP PING command, see <strong>TCP</strong>/<strong>IP</strong> Planning and<br />

Customization. Because only one PING is issued, this is also the average and the<br />

maximum response time. If the PING does not respond, the Query Engine retries<br />

twice, once after 1 second and again after 2 seconds (Query Engine default retry<br />

mechanism). If a response is not received after all retries have been exhausted, a<br />

variable value of -1 is returned to indicate that a reply was not received.<br />

v<br />

If you know:<br />

nodename - anynode<br />

<strong>IP</strong> address - 129.34.222.72<br />

You can issue the following SNMP PING commands:<br />

SNMP PING ANYNODE<br />

SNMP PING 129.34.222.72<br />

The command completes with a message similiar to the following:<br />

SNM050I SNMP Request 1001 from NETOP accepted, sent to Query Engine<br />

When the response arrives in NetView (asynchronously), NetView displays it as<br />

a multiline message in the following form:<br />

226 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Using SNMP<br />

SNM040I SNMP Request 1001 from NETOP Returned the following response:<br />

SNM042I Variable name: 1.3.6.1.4.1.2.2.1.3.2.129.34.222.72<br />

SNM043I Variable value type: 1<br />

SNM044I Variable value: 26<br />

SNM049I SNMP Request 1001 end of response<br />

Usage Notes<br />

v<br />

v<br />

All lines need to be present, but the first line is always message SNM040I, and<br />

the last line is always message SNM049I.<br />

If an error is detected, messages SNM042 through SNM044 may not be<br />

displayed. You get error messages (in addition to other messages) in the<br />

following form (all as part of multiline message SNM040I).<br />

SNM045I Major error code: n<br />

SNM046I Minor error code: y<br />

SNM047I Error index: z<br />

SNM048I Error text: message text<br />

v<br />

v<br />

v<br />

See “Major and Minor Error Codes and SNMP Value Types” for information<br />

about value types and minor and major error codes.<br />

The 129.34.222.72 in the example represents an instance of the <strong>IBM</strong> variable<br />

minRTT.<br />

One node name only can be passed for each SNMP PING command.<br />

The SNMP response always displays the variable name in ASN.1 notation. You<br />

can use SNMP MIBVNAME to obtain the short name for the variable.<br />

Major and Minor Error Codes and SNMP Value Types<br />

The following are the possible major and minor error codes and variable value<br />

types that can be returned in an SNMP response or trap.<br />

v The major error code can have one of the following values.<br />

Value Major Error Code<br />

0 No error detected<br />

1 SNMP agent reported error<br />

2 Internally detected error<br />

v The minor error code can have one of the following values when the major error<br />

code indicates that an SNMP agent detected an error.<br />

Value SNMP Agent Detected Minor Error Code<br />

0 No error<br />

1 Too big<br />

2 No such name<br />

3 Bad value<br />

4 Read only<br />

5 General error<br />

v The minor error code can have one of the following values when the major error<br />

code indicates that an internal error was detected.<br />

Value Internal Minor Error Code<br />

0 No error<br />

1 Protocol error<br />

2 Out of memory<br />

3 No response—all retries failed<br />

4 Some I/O error occurred<br />

Chapter 12. Managing <strong>TCP</strong>/<strong>IP</strong> Network Resources with SNMP 227


Using SNMP<br />

v<br />

v<br />

5 Illegal request<br />

6 Unknown host specified<br />

7 Unknown MIB variable<br />

8 No such filter<br />

9 Too many variables specified<br />

If the major error code indicates that an SNMP agent detected the error, the<br />

error index indicates the position of the first variable in error.<br />

The variable value type is one of the following (as specified in RFC 1155 and<br />

RFC 1156).<br />

Value Value Type<br />

0 Text representation<br />

1 Number (integer, signed)<br />

2 Binary data string<br />

3 Object identifier<br />

4 Empty (no value)<br />

5 Internet address<br />

6 Counter (unsigned)<br />

7 Gauge (unsigned)<br />

8 Time ticks (1/100ths seconds)<br />

9 Display string<br />

Note: The binary data string is displayed in NetView as a contiguous string of<br />

hexadecimal characters (for example, X'0123' is displayed as 0123).<br />

gethostbyname()<br />

When a host name is specified with an SNMP request, the SNMP Query Engine<br />

looks up the <strong>IP</strong> address of that host. It uses the standard gethostbyname() function<br />

to perform that function. The <strong>IP</strong> address is then saved in an in-memory cache for<br />

future references. For more information about gethostbyname(), see <strong>TCP</strong>/<strong>IP</strong><br />

Programmer’s Reference.<br />

The cache cannot be refreshed, and if for some reason the mapping between host<br />

names and <strong>IP</strong> addresses changes, the SNMP Query Engine (the SQESERV module)<br />

has to be restarted to rebuild its cache. This is also true for a host name that was<br />

found to be nonexistent at the time of the first SNMP request, but which has been<br />

added to the name server database.<br />

This gives a performance boost to subsequent requests for the same host.<br />

<strong>IBM</strong> 3172 Enterprise-Specific MIB Variables<br />

The <strong>IBM</strong> 3172 Interconnect Controller maintains a set of enterprise-specific MIB<br />

variables. The SNMP agent can act as a proxy agent to retrieve these variables<br />

from the 3172. Either a GET or GETNEXT command can be issued to retrieve the<br />

3172 variables. The 3172 variable names can be included in a GET/GETNEXT<br />

command that also contains standard MIB variable names. See Appendix E,<br />

“Management Information Base Objects” on page 307 for a description of the 3172<br />

enterprise specific MIB variables.<br />

The 3172 variables are referenced by a single element instance identifier: (.1, .2, .3).<br />

For variables that pertain to the entire 3172, the instance identifier number is<br />

assigned in the order that the devices are defined in the PROFILE <strong>TCP</strong><strong>IP</strong> file or the<br />

equivalent file in your system. For example, the first LCS device with NETMAN<br />

specified would have an instance identifier of .1, the next would be .2, and so on.<br />

228 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Using SNMP<br />

No instance identifiers are assigned for non-LCS devices or LCS devices without<br />

the NETMAN keyword. For variables that are interface-specific, the instance<br />

identifier for a link is the link’s ifIndex. If a GET command is issued for an<br />

interface variable using an instance identifier of a link that does not support the<br />

3172 variables, a response of NO SUCH NAME is returned from the SNMP agent.<br />

If a GETNEXT command is issued, the links that do not support the 3172 variables<br />

are skipped over and the NEXT link that does support 3172 variables is returned.<br />

If an error occurs accessing a 3172 variable from the 3172 (either a bad return code<br />

is received from the 3172 or no response is received from the 3172), an error code<br />

of GEN ERROR is returned to the client in the SNMP response PDU for that<br />

variable. An error message containing more specific information about the error<br />

that occurred is written to the <strong>TCP</strong><strong>IP</strong> virtual machine (either to the console or to<br />

the trace file, depending on the specifications of the PROFILE <strong>TCP</strong><strong>IP</strong> file). Several<br />

of the potential error conditions reference the 3172 MIB variable by the 3172<br />

attribute index. See Appendix F, “<strong>IBM</strong> 3172 Attribute Index” on page 335 for a list<br />

of the 3172 attribute indices and the corresponding MIB variable names.<br />

Chapter 12. Managing <strong>TCP</strong>/<strong>IP</strong> Network Resources with SNMP 229


230 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Chapter 13. Using the Network Database System (NDB)<br />

This chapter describes the Network Database System (NDB), which is used for<br />

relational database systems in a <strong>TCP</strong>/<strong>IP</strong> environment. NDB uses the Remote<br />

Procedure Call (RPC) protocol to allow inter-operability among different database<br />

systems. This chapter also describes how NDB is used with Data Conversion,<br />

Security, I/O Buffer Management, and Transaction Management.<br />

The Network Database System provides :<br />

v Interoperabilty through access to a mainframe relational database from AIX on<br />

RISC System/6000 or Sun Microsystem workstation.<br />

v Ability to issue SQL statements interactively, or to imbed SQL statements within<br />

an application program.<br />

v Client/server capabilities by providing a way for a variety of workstations users<br />

to take advantage of relational technology.<br />

The components of the Network Database System are illustrated in Figure 13.<br />

1<br />

NDBPMGR<br />

4<br />

Port<br />

Manager<br />

3<br />

2<br />

withaport<br />

Server<br />

number<br />

Clients<br />

5<br />

withaport<br />

number<br />

Servers<br />

Client1<br />

NDBSRV01<br />

2<br />

3 withaport<br />

Client2<br />

6<br />

connected<br />

number<br />

NDBSRV02<br />

Clientn<br />

NDBSRVn<br />

Figure 13. Components of the Network Database System<br />

The following is a list of steps explaining the process of connecting the client to the<br />

NDB server:<br />

1. Bring up the Port Manager NDBPMGR.<br />

2. NDBSRVn issues a request to NDBPMGR for a port number.<br />

3. NDBPMGR updates its port status and returns a port number.<br />

4. A client issues a request to NDBPMGR for the port number of an available<br />

server.<br />

5. NDBPMGR returns an available port number.<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 231


Using NDB<br />

The Client Machine<br />

6. When the client issues a request from now on, it is connected to that NDB<br />

server, NDBSRVnn.<br />

The client machine provides mainframe or workstation applications on the<br />

Network Database system, using:<br />

Interactive SQL Commands<br />

Imbedded SQL statements<br />

You can type in SQL commands directly from the<br />

client machine to query or access data from a<br />

database.<br />

You can write application programs in C and<br />

imbed SQL statements in the program. SQL<br />

statements are processed the same way interactive<br />

SQL commands are processed.<br />

Components of the Client Machine<br />

The components of a client machine include end-user applications, an NDB client,<br />

and an RPC client.<br />

Applications<br />

NDB client<br />

RPC client<br />

End-user applications run on a workstation, and can imbed SQL<br />

queries. The workstation runs the requests as its own tasks.<br />

The NDB client receives requests from the end-user application,<br />

and determines which calls to issue to the server. The NDB client<br />

packages requests into a standard format called NDBC main control<br />

block, sets up an I/O buffer, and issues RPC calls to deliver the<br />

requests to the network.<br />

The RPC client delivers calls from the client machine to the server<br />

machine.<br />

The NDB Client<br />

The NDB client gets control from the application, parses the input arguments, and<br />

sets up the main control block and I/O buffers. The NDB client packages a call for<br />

the RPC client, passes control to the RPC Client, and waits for the results.<br />

The NDBCLNT command directs the client module to deliver a request to the<br />

remote database system. The NDBCLNT command is sent to the server as a Unit<br />

Of Work (UOW). UOW is a mark for the server to recognize the threads that come<br />

from clients. A client starts a UOW by issuing a "begin" statement. The client<br />

module then requests the user to enter a valid user ID and password for a virtual<br />

machine on the remote database system. This user ID and password pair is used<br />

for authorization purposes. Both the user ID and password must be typed in;<br />

however, the password is not shown on the screen. After establishing a UOW by<br />

means of a "begin" statement and the authorization checking, the client can enter<br />

as many SQL statements as necessary. The client issues an end statement to end the<br />

UOW. Only the first request in a UOW requires the user to supply the user ID and<br />

password for a virtual machine on the remote database system. The information is<br />

stored after the first request and destroyed when the last request is issued. If a<br />

client sends only one SQL request, a UOW does not have to be started. The client<br />

simply sends one request, and the server treats the request as an entire UOW. The<br />

user ID and password of a virtual machine on the remote database system are still<br />

required in this scenario.<br />

232 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


The Server Machine<br />

The RPC Client<br />

The NDB Client uses the RPC protocol to package the request and issue a remote<br />

procedure call which sends the request to the server. The RPC client is the module<br />

that manages RPC calls and delivers calls through <strong>TCP</strong>/<strong>IP</strong> to the destination server<br />

machine. Because RPC is designed for the support of network applications, and<br />

runs with a client/server network, the RPC client allows you to avoid interfacing<br />

with the network, and provides network services without requiring any underlying<br />

network. The RPC call is transparent and independent of transport protocols.<br />

NDB is running on top of <strong>TCP</strong>. When RPC runs on top of <strong>TCP</strong>/<strong>IP</strong>, most of the<br />

work of reliable transport is done, but the application still needs time-outs and<br />

reconnection to handle server crashes. When RPC runs on top of UDP, the<br />

application must implement its own retransmission and time-out policy.<br />

The caller process sends a call message to the server process and waits for a reply<br />

message. The procedure’s parameters are contained in the caller message. The<br />

procedure results are contained in the reply message. When the reply message is<br />

received, the results of the procedure are extracted, and the caller’s execution is<br />

resumed.<br />

RPC uses eXternal Data Representation (XDR), a data representation for<br />

machine-independent description and encoding of data.<br />

Each RPC procedure is uniquely defined by a program number and procedure<br />

number. Several processes can be active at any time; however, each process can<br />

execute only one request at a time. The requests are executed in the order they<br />

arrive.<br />

The RPC client sends an RPC call message to a server’s PORTMAP to find a<br />

remote program’s port, The server returns the relevant port number in an RPC<br />

reply message, which allows the RPC client to send the RPC message to the remote<br />

program’s port.<br />

RPC/XDR performs data conversion between different types of machines.<br />

RPC/XDR requires data type information when a call is made; however, the<br />

requester usually does not have knowledge of the data type. Therefore, RPC/XDR<br />

cannot perform data conversion between different machines. To resolve the<br />

problem, NDB makes the reply buffer a type of string. When data is received<br />

from the database, the NDB Server does the data conversion, and packages the<br />

result into the reply buffer.<br />

The database system must reside on the same host as the NDB server machines.<br />

The server machine has two parts: the Portmap Manager server and the NDB<br />

server. The NDB server resolves issues of security, data conversion, data buffer<br />

management, and transaction management. The Portmap Manager server provides<br />

services for clients’ requests.<br />

Components of the Portmap Manager Server<br />

The components of the Portmap Manager server machine include:<br />

RPC Server<br />

Using NDB<br />

The RPC server interprets an RPC call sent to the<br />

server machine from a client machine, verifies the<br />

RPC call, and distributes it to the Portmap<br />

Manager server.<br />

Chapter 13. Using the Network Database System (NDB) 233


Using NDB<br />

Portmap Manager Server<br />

The Portmap Manager server processes a request<br />

from either a NDB server or a NDB client. It<br />

creates or updates a status table of all program<br />

numbers used by the NDB servers. It returns an<br />

available program number to the requester. One<br />

host only needs one portmap manager server.<br />

The RPC Server<br />

A process is dormant awaiting the arrival of a call message. When a call message<br />

arrives, the server process extracts the procedure’s parameters, computes the<br />

results, sends a reply message, and awaits the next call message. Each RPC must<br />

communicate with a dedicated port. As part of its initialization, a server program<br />

calls its host’s PORTMAP to create a portmap entry for its program and version<br />

number.<br />

The server is required to handle many client connections. The <strong>TCP</strong> server keeps<br />

the status of the open connection for each client. The number of clients is limited<br />

by the machine resources. The UDP server does not keep any status regarding the<br />

client but can handle unlimited numbers of clients.<br />

The Portmap Manager Server<br />

The Portmap manager server provides services for clients’ requests. It has two<br />

types of clients: the NDB server and the NDB clients. The main routine,<br />

PORTMGR, maintains a table which contains the status of all the program<br />

numbers that NDB uses. The status is updated when activity occurs. It is necessary<br />

for the NDB server and the client to use the same program number so that the<br />

thread can be connected directly.<br />

Components of the NDB Server<br />

The components of the NDB server include:<br />

RPC Server<br />

Portmap Manager Client<br />

NDB Server<br />

DataBase Utility<br />

The RPC server interprets an RPC call sent to the<br />

server machine from a client machine, verifies the<br />

RPC call, and distributes it to the NDB server.<br />

The Portmap Manager Client issues a request to<br />

the Portmap Manager server to get an available<br />

program number, then passes the program number<br />

to the NDB server when it invokes the NDB server.<br />

The NDB server is invoked by Portmap Manager<br />

Client. The NDB server preprocesses a request, sets<br />

up buffers for the result from the database, and<br />

issues a real SQL call to the database.<br />

The Database Utility (DBU) performs SQL<br />

preprocess procedures. Each SQL statement goes<br />

through the SQL preprocess. The database<br />

processes the real request delivered from the NDB<br />

server, and returns the result to the NDB server.<br />

The Portmap Manager Client<br />

The Portmap Manager Client can be the NDB server or the NDB client. It sends a<br />

request to the Portmap Manager server and expects an available program number<br />

to be returned. The program number is used for future NDB requests.<br />

234 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


The NDB Server<br />

The NDB server provides services for client requests. The main routine, NDBSRV,<br />

receives the request from the client and determines the call type. The module<br />

performs several functions:<br />

v Verifying the data in the control block passed from the client<br />

v Setting up the Transaction Manager table, which contains different transactions<br />

v Issuing an SQL call to the database<br />

v<br />

Managing Multiple Threads, including Name Mapping, Verifying <strong>VM</strong> and SQL<br />

IDs, and Managing Unit of Work.<br />

The NDB server is invoked by the Portmap Manager Client. If the host wants to<br />

bring up more than one NDB server, start the Portmap Manager Client on multiple<br />

(up to 20) user ID’s: NDBSRV01, NDBSRV02,...NDBSR...V20.<br />

Transaction Manager:: Most databases perform a single thread transaction,<br />

although a few databases can perform multiple thread transactions. Multiple NDB<br />

client machines can send requests simultaneously to the servers.<br />

Unit Of Work (UOW): Unit of Work is a mark for the server to recognize the<br />

threads that came from clients. A client starts a UOW by issuing a "begin"<br />

statement. The client host machine’s user ID and password are requested. The<br />

client has to type in both; however, the password is not shown on the screen. After<br />

the "begin", the client can issue as many SQL statements as it wants. The client<br />

issues an end statement to end the UOW. Only the first request in a UOW is<br />

prompted for the database machine’s user ID and its password. The information is<br />

stored after the first request and destroyed when the last request is issued. If a<br />

client sends only one SQL request, a UOW does not have to be started. The client<br />

simply sends one request, and the server treats the request as an entire UOW. The<br />

host machine’s user ID and password are required.<br />

The Database Utility<br />

NDBFRONT is the main routine. It is a front end to the SQL preprocess program<br />

and performs the following functions.<br />

v Parsing the request that is an SQL statement<br />

v Packaging I/O buffers<br />

v Performing data conversions and managing different SQL data types.<br />

The Database Server: The Database Servers that NDB utilizes are relational<br />

database management systems that manage, store, and retrieve data. This data is<br />

stored in a database that is controlled by the database server. DATABASE 2 ®<br />

(DB2 ® ) is the <strong>IBM</strong> relational database management system for the MVS<br />

environment. For more information, see the DB2 Universal Database for OS/390 SQL<br />

Reference (SC26-9014–01).. SQL/DS is the relational database management system<br />

for the <strong>VM</strong> environment. For more information, see the <strong>IBM</strong> SQL/Data System<br />

General Information for <strong>IBM</strong> <strong>VM</strong> Systems manual (GH09-8074)..<br />

Connecting to a Database<br />

There are two ways to connect to a database system:<br />

Explicit connection<br />

Implicit connection<br />

Using NDB<br />

Explicit connection uses the preprocess calls, such<br />

as CONNECT, OPEN, CLOSE, DISCONNECT.<br />

Implicit connection does not use these functions,<br />

but starts making SQL calls.<br />

Chapter 13. Using the Network Database System (NDB) 235


Using NDB<br />

If an SQL call occurs before the connection to the database has been established,<br />

the connection to the database is implicit, otherwise the connection is explicit. The<br />

explicit connection services are used to maximize flexibility and control.<br />

The CONNECT function allows application programs to connect to, and use a<br />

database. It provides a call interface to the database connection services.<br />

Application programs can control the exact state of their connection to the<br />

database. It is restricted to a single task level. The application program and the<br />

database system understand the connection status of multiple tasks in an address<br />

space.<br />

The explicit connection preprocess calls are:<br />

Function Description<br />

CONNECT Establishes a connection between the current address space and a<br />

database, and establishes the current task as a user of database<br />

services.<br />

OPEN Establishes the current task as a user of database services, and<br />

allocates database resources for SQL access (creates a thread).<br />

CLOSE Deallocates database resources (terminates the thread), and<br />

removes the task as a user of database services if the connection<br />

was established by OPEN instead of CONNECT.<br />

DISCONNECT<br />

Removes the task as a user of a database service. DISCONNECT<br />

also terminates the address space connection to a database if this is<br />

the only remaining task in the address space established as a user<br />

of database services.<br />

SQL Calls Pass through the Language Interface by branching to the entry<br />

point.<br />

NDBCLNT Command<br />

Use the NDBCLNT command to direct the client module to deliver requests to the<br />

remote database system.<br />

►► NDBCLNT machine_id “SQL_statement” ►◄<br />

Operands<br />

machine_id<br />

Specifies the <strong>VM</strong> machine name where the NDB server is running.<br />

“SQL_statement”<br />

Specifies the SQL query statement.<br />

A single SQL query statement must be embedded within a pair of double quotes.<br />

Examples<br />

v A single SQL query statement is issued from a client machine.<br />

ndbclnt machine_id "select * from table2"<br />

The client machine prompts you for a <strong>VM</strong> user ID.<br />

236 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Using NDB<br />

Please type in your Host user id ==><br />

After you type in your user ID, the client machine prompts you for a password.<br />

The password you type is not displayed on the screen.<br />

Please type in your Host password ==><br />

The user then waits for the result of the command issued.<br />

If the return code is -8, the user ID and password do not match. You must enter<br />

an end command to end this UOW before you can start a new UOW.<br />

If the return code is 25, it means that the user has accessed a table which is<br />

greater than 4096 characters. There is more data to be returned. If the user wants<br />

to have all data returned, using multiple statements in a UOW is recommended.<br />

v<br />

Multiple SQL query statements in a UOW require a "begin" and an end. The<br />

subsequent SQL query statements and the end do not require quotes.<br />

Multiple SQL query statements are issued from a client machine.<br />

ndbclnt machine_id "begin"<br />

The client machine prompts you for a <strong>VM</strong> user ID.<br />

Please type in your Host user id ==><br />

After you type in your user id, the client machine prompts you for a password.<br />

The password you type is not displayed on the screen.<br />

Please type in your Host password ==><br />

The client machine prompts you for the next command.<br />

Input your SQL statement without any quotes<br />

You enter your next command.<br />

select * from table2<br />

When the result of the command is returned, the client machine prompts you for<br />

your next command.<br />

Input your SQL statement without any quotes<br />

You enter your next command.<br />

select column1 from table2<br />

When the result of the command is returned, the client machine prompts you for<br />

your next command.<br />

end<br />

The client machine returns a message.<br />

You are done with your Unit of Work<br />

If the table is greater than 4096 characters you will get a return code of 25,<br />

which means there is more data. You can enter a continue command to continue<br />

to receive the rest of the table, or you can enter another SQL select statement if<br />

you do not need the rest of the table.<br />

Chapter 13. Using the Network Database System (NDB) 237


Using NDB<br />

Format of Output Displayed on the Client<br />

The output can be treated as records. Each record contains three fields shown<br />

below:<br />

Field<br />

datatype<br />

datalength<br />

data<br />

Description<br />

char[2]<br />

char[5]<br />

char[x] where x is the content of datalength<br />

For this release the following data types have been implemented.<br />

Data Type Description<br />

li<br />

Specifies a long integer with indicator<br />

ln<br />

Specifies a long integer without indicator<br />

si<br />

Specifies a short integer with indicator<br />

sn<br />

Specifies a short integer without indicator<br />

ci<br />

Specifies a char with indicator<br />

cn<br />

Specifies a char without indicator<br />

vi<br />

Specifies a varchar with indicator<br />

vn<br />

Specifies a varchar without indicator<br />

fi<br />

Specifies a float with indicator<br />

fn<br />

Specifies a float without indicator<br />

For example, a record of the output might be as follows:<br />

Record<br />

Meaning<br />

ln 3 925 Specifies a long integer without indicator. The<br />

length of the data is 3. The value is 925.<br />

ci 10 ABCDEFGHIJ Specifies a char with indicator. The length of the<br />

data is 10. The data is ABCDEFGHIJ.<br />

In SQL/DS, with indicator means it allows NULL characters and without indicator<br />

means it does not allow NULL characters.<br />

The NDB client displays only the first 360 characters. If the user wants to see the<br />

entire output, look at the output file. The default output is ndb.output. All the<br />

results will be appended to the output file.<br />

SQL Commands from a Remote Machine<br />

You can issue an SQL command from a remote machine. The syntax is:<br />

ndbclnt machine_id "select tname, creator from system.syscatalog"<br />

You can issue a sequence of SQL commands between "begin" and end.<br />

In the following example, ndbclnt is the function name, machine_id is the remote<br />

machine where the database is located, and the SQL statement is between the<br />

double quotes. However, after a UOW has started, SQL commands do not require<br />

quotes.<br />

ndbclnt machine_id "begin"<br />

select * from table1<br />

select * uid.table where col = something<br />

.<br />

end<br />

238 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


SQL Commands from an Application<br />

When the SQL command is called from an application, the syntax is:<br />

ndbclnt ("machine_id", "select * from uid.table")<br />

Using NDB<br />

The explanation of each field is the same.<br />

You can write a C language program that uses NDBCLNT as C function call. To<br />

use NDBCLNT as a C function call, enter the command in the following format:<br />

ndbclnt(" machine_id ", " sql_statement ");<br />

where machine_id is the machine where SQL/DS is running and sql_statement is any<br />

SQL query statement.<br />

When you write a C language program using NDBCLNT as a C function call, you<br />

must also generate an executable module.<br />

There are two ways to generate an executable module. The following list describes<br />

one method for generating an executable module:<br />

v Compile your C program and NDB client source code.<br />

If you have NDB client source code and do not have the object files, you must<br />

perform the following commands:<br />

cc -c your_program.c<br />

cc -c ndbclnt.c<br />

cc -c ndbcancr.c<br />

cc -c ndb_clnt.c<br />

cc -c ndb_xdr.c<br />

The your_program variable represents the name of your C language program<br />

containing the ndbclnt call.<br />

v<br />

v<br />

If you have all the NDB client object files, you must perform the following<br />

command:<br />

cc -c your_program.c<br />

Once you have the object files, you can generate an executable module. To<br />

generate an executable module perform the following command:<br />

cc -o appl application.o<br />

ndbclnt.o ndbcancr.o ndb_clnt.o ndb_xdr.o<br />

where appl is your final executable module and application is your C language<br />

program.<br />

You can run your application by issuing appl, your final executable module.<br />

The following list describes the second method for generating an executable<br />

module:<br />

v Compile your C language program and NDB client source code.<br />

If you have NDB client source code and do not have the object files, you must<br />

perform the following commands:<br />

cc -c your_program.c<br />

cc -c ndbclnt.c<br />

cc -c ndbcancr.c<br />

cc -c ndb_clnt.c<br />

cc -c ndb_xdr.c<br />

Chapter 13. Using the Network Database System (NDB) 239


Using NDB<br />

The your_program variable represents the name of your C language program<br />

containing the ndbclnt call.<br />

v<br />

v<br />

v<br />

v<br />

If you have all the NDB client object files, you must perform the following<br />

command:<br />

cc -c your_program.c<br />

Use the following archive command to generate a library:<br />

ar rv libndbc.a ndbclnt.o ndbcancr.o ndb_clnt.o ndb_xdr.o<br />

where rv are the options and libndbc.;a is the library that is generated by the ar<br />

command.<br />

Issue a ranlib command to adjust the table of contents of libraries.<br />

Issue the following cc -o command to generate an executable module:<br />

cc -o appl application.o<br />

libndbc.a<br />

where appl is the executable module name and application.o is the object file of<br />

your C language program.<br />

You can run your application by issuing appl the executable module.<br />

Figure 14 is an example of a C language program that has an ndbclnt call.<br />

main(argc, argv)<br />

int argc;<br />

char *argv[];<br />

{<br />

.<br />

.<br />

.<br />

ndbclnt("eduvm2", "select * from willow.table1");<br />

.<br />

.<br />

.<br />

}<br />

exit(0);<br />

Security<br />

There are two levels of security.<br />

v System security<br />

System security verifies that the clients are authorized to access the host system<br />

on which the relational database system resides.<br />

v Database security.<br />

Database security verifies that users are authorized to access the database. The<br />

database system administrator authorizes the different attributes to the different<br />

user IDs. For example, some users have read-write access, while others may<br />

have read-only access.<br />

Limitations<br />

You should be aware of the following limitations for the Network Database System<br />

on <strong>VM</strong>.<br />

240 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong><br />

Figure 14. An example of a C Language Program<br />

v<br />

NDB accepts query statements such as select. However, statements that change<br />

the content of tables are not allowed. This protects the user’s data integrity.


v<br />

v<br />

NDB supports only the following data types:<br />

– INT<br />

– SMALLINT<br />

– CHAR<br />

– VARCHAR<br />

– FLOAT<br />

Only C language is supported by NDB for client application program interface.<br />

Additional information on the NDB Client code<br />

Sample client code for a SUN workstation and for an RS/6000 running AIX V3.1<br />

are provided on the <strong>TCP</strong>/<strong>IP</strong> <strong>VM</strong> product tape. For the SUN version, the three files<br />

on the tape are named:<br />

v SDBCANCR C<br />

v SDB_CLNT C<br />

v SDB_XDR C<br />

If you are using a SUN UNIX workstation as the client, rename these 3 files back<br />

to NDBXXXX.C from SDBXXXX.C when downloaded to the SUN workstation and<br />

proceed with compiling and building the NDB client module. The files<br />

NDBCANCR C, NDB_CLNT C, and NDB_XDR C are specifically for the RS/6000.<br />

The files NDBCI C, NDBCLNT C, NDB H are for both the RS/6000 and the SUN<br />

versions of the NDB client code.<br />

The command for compiling and building the NDB client module is:<br />

cc -o ndbclnt ndbci.c ndbcancr.c ndb_clnt.c ndb_xdr.c<br />

Using NDB<br />

Chapter 13. Using the Network Database System (NDB) 241


Using NDB<br />

242 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Chapter 14. Using the Domain Name System<br />

This chapter describes the Domain Name System (DNS), domain name servers,<br />

resolvers, and resource records. This chapter also provides descriptions of the<br />

NSLOOKUP and DiG programs used to query name servers.<br />

Overview of the Domain Name System<br />

The <strong>TCP</strong>/<strong>IP</strong> for <strong>VM</strong> DNS includes a name server and a resolver API for<br />

application programs. For more information about these services, see “Domain<br />

Name Servers” on page 244 and “Resolvers” on page 245. Configuring these<br />

services is described in <strong>TCP</strong>/<strong>IP</strong> Planning and Customization.<br />

<strong>TCP</strong>/<strong>IP</strong> applications map domain names to a 32-bit internet address to identify<br />

network nodes. Mapping must be consistent across the network to ensure<br />

interoperability. The DNS provides this mapping, through network nodes called<br />

domain name servers. The DNS can provide additional information about nodes<br />

and networks, including the <strong>TCP</strong>/<strong>IP</strong> services available at a node and the location<br />

of name servers in a network.<br />

The DNS defines a special domain called in-addr.arpa to translate internet<br />

addresses to domain names. An in-addr.arpa name is composed of the reverse<br />

octet order of an <strong>IP</strong> address concatenated with the in-addr.arpa string. For<br />

example, a host named Host1 has 9.67.43.100 as an internet address. The<br />

in-addr.arpa domain translates the host1 internet address 9.67.43.100 to<br />

100.43.67.9.in-addr.arpa.<br />

For a complete description of the DNS, see RFC 1033, RFC 1034, and RFC 1035,<br />

which define the internet standard.<br />

Domain Names<br />

The DNS uses a hierarchical naming convention for naming hosts. Each host name<br />

is composed of domain labels separated by periods. Local network administrators<br />

have the authority to name local domains within an internet. Each label represents<br />

an increasingly higher domain level within an internet. The fully qualified domain<br />

name of a host connected to one of the larger internets generally has one or more<br />

subdomains.<br />

For example:<br />

host.subdomain.subdomain.rootdomain<br />

or<br />

host.subdomain.rootdomain<br />

Domain names often reflect the hierarchy level used by network administrators to<br />

assign domain names. For example, the domain name eng.mit.edu. is the fully<br />

qualified domain name where eng is the host, mit is the subdomain, and edu is the<br />

highest level domain (root domain).<br />

Figure 15 on page 244 is an example of the DNS used in the hierarchy naming<br />

structure across an internet.<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 243


Using the Domain Name System<br />

*<br />

(root)<br />

GOV<br />

ORG<br />

EDU<br />

DIVISTION<br />

STATE<br />

REDCROSS<br />

SCOUTS<br />

USO<br />

MIT<br />

YALE<br />

ENG<br />

BUSINESS<br />

Figure 15. Hierarchical Tree<br />

You can refer to hosts in your domain by host name only; however, a name server<br />

requires a fully qualified domain name. The local resolver appends the domain<br />

name before sending the query to the domain name server for address resolution.<br />

Domain Name Servers<br />

Domain name servers are designated network nodes that maintain a database of<br />

information about all nodes in a zone. The complete database is not kept by any<br />

one name server on a network. A name server has a zone of authority that is a<br />

subnetwork, or a group of subnetworks, for which the name server maintains a<br />

database. A name server is authoritative only within its zone of authority.<br />

To minimize dependency on a particular node, the name server’s database for a<br />

zone is replicated at several nodes. At least one of the nodes is designated as the<br />

primary name server. The others are secondary name servers. The zone data<br />

updates and maintenance are reflected in the primary name server. The secondary<br />

name servers update their database by contacting the primary name server at<br />

regular intervals. Both primary and secondary name servers are authoritative for a<br />

zone.<br />

The zones of authority are arranged in a hierarchy based on the domain origin<br />

components. A special zone known as the root exists at the top of the domain name<br />

hierarchy in a network. The root zone contains a list of all the root servers. For<br />

example, in the internet, the root name servers store information about nodes in<br />

the root domain, and information about the delegated domains, such as com<br />

(commercial), edu (education), and mil (military). The root name servers store the<br />

names of name servers for each of these domains, which in turn store the names of<br />

name servers for their delegated subdomains.<br />

<strong>TCP</strong>/<strong>IP</strong> applications contact a name server whenever it is necessary to translate a<br />

domain name into an internet address, or when information is required about a<br />

domain. The name server performs the translation if it has the necessary<br />

information. If it does not have the necessary information, the name server can<br />

contact other name servers, which in turn can contact other name servers. This<br />

244 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Resolvers<br />

Using the Domain Name System<br />

process is called a recursive query. Alternatively, a name server can simply return<br />

the address of another name server that might hold the requested information.<br />

This is called a referral response to a query. Name server implementations must<br />

support referrals, but are not required to perform recursive queries. For more<br />

information about query responses, see “Resolvers”.<br />

Some name server implementations maintain a cache of query responses sent out<br />

to other name servers on behalf of clients. This improves the processing speed for<br />

queries about domain names outside the server’s zone of authority. However,<br />

responses derived from cached information are considered nonauthoritative and<br />

are flagged as such in the response.<br />

The Network Information Center (NIC) is responsible for network and user<br />

registration, including network number, top-level domain name assignment, and<br />

in-addr.arpa zone assignment. For more information contact:<br />

Government Systems, Inc.<br />

Attention: Network Information Center<br />

14200 Park Meadow Drive, Suite 200<br />

Chantilly, VA 22021<br />

1-(800)-235-3155<br />

(internet address: nic@nic.ddn.mil)<br />

<strong>TCP</strong>/<strong>IP</strong> provides three programs for interactively querying a name server:<br />

v NSLOOKUP<br />

v DiG<br />

v A CMS command interface (CMSRESOL)<br />

For more information about these programs, see “NSLOOKUP—Querying Name<br />

Servers” on page 249, “DIG—Querying Name Servers” on page 259, and<br />

“CMSRESOL—Resolver and Name Server” on page 270.<br />

Programs that query a name server are called resolvers. Because many <strong>TCP</strong>/<strong>IP</strong><br />

applications need to query the name server, a set of routines is usually provided<br />

for application programmers to perform queries. Under <strong>VM</strong>, these routines are<br />

available in the <strong>TCP</strong>/<strong>IP</strong> application programming interface (API) for each<br />

supported language.<br />

Resolvers operate by sending query packets to a name server, either over the<br />

network or to the local name server.<br />

A query packet contains the following fields:<br />

v A domain name<br />

v A query type<br />

v A query class<br />

“Resource Records” on page 246 lists valid query class (network class) and query<br />

type (data type) records. The name server attempts to match the three fields of the<br />

query packet to its database.<br />

The name server can return the following query responses:<br />

Response Description<br />

Authoritative Returned from a primary or secondary name server. The name<br />

server contains all the domain data used to define the zone for the<br />

specified query.<br />

Chapter 14. Using the Domain Name System 245


Using the Domain Name System<br />

Nonauthoritative<br />

Returned from a cache kept by a name server. The cache does not<br />

contain the domain data used to define the zone for the specified<br />

query.<br />

Referral<br />

Negative<br />

Name Error<br />

Contains the addresses of other name servers that can answer the<br />

query. A referral response is returned when a recursive query is not<br />

supported, not requested, or cannot be answered because of<br />

network connectivity.<br />

Indicates that no records of the requested type were found for the<br />

domain name specified, if returned from an authoritative name<br />

server.<br />

Indicates that no resource records of any type (including<br />

wildcards) exist for the domain name specified.<br />

Format Error Indicates that the name server found an error in the query packet<br />

sent by the resolver.<br />

Not-implemented<br />

Indicates that the name server does not support the type of query<br />

requested.<br />

Refused<br />

Indicates that the name server refuses to perform the specified<br />

operation. For example, some root name servers limit zone<br />

transfers to a set number of <strong>IP</strong> addresses.<br />

Data from a name server is stored and distributed in a format known as a resource<br />

record. Resource record fields are described in detail in “Resource Records”. Each<br />

response from a name server can contain several resource records that can contain<br />

a variety of information. The format of a response is defined in RFC 1035, and<br />

includes the following sections:<br />

v A question section, echoing the query for which the response is returned.<br />

v An answer section, containing resource records matching the query.<br />

v<br />

v<br />

An additional section, containing resource records that do not match the query,<br />

but might provide useful information for the client. For example, the response to<br />

a query for the host name of a name server for a specific zone includes the<br />

internet address of that name server in the additional section.<br />

An authority section, containing information specific to the type of response<br />

made to the query. If a referral is returned, this section contains the domain<br />

names of name servers that could provide an authoritative answer. If a negative<br />

response is returned indicating the name does not exist, this section contains a<br />

Start Of Authority (SOA) record defining the zone of authority of the responding<br />

name server.<br />

Resource Records<br />

Resource records are name server database records. These records contain the<br />

following fields, in order:<br />

Field Description<br />

Domain name Specifies the domain name identifying a network object. A network<br />

object can be a network, a specific node, a mailbox (for a network<br />

user’s mail), or other objects addressable by the DNS.<br />

TTL<br />

Indicates the number of seconds that a record is valid in a cache.<br />

Network class Specifies the network class. The allowable values are:<br />

246 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Using the Domain Name System<br />

CHAOS<br />

HESIOD<br />

IN<br />

CHAOS system (obsolete)<br />

Hesiod class<br />

The internet (most Domain Name Systems support<br />

only the internet (IN) class)<br />

The wildcard value ANY is defined to match any of these classes.<br />

Data type<br />

Indicates the type of data record. The following is a list of valid<br />

record types:<br />

SOA Start of authority record<br />

The SOA record is unique to a zone. This record<br />

contains the administrative details of the zone,<br />

including:<br />

v The domain name of the name server<br />

responsible for the zone<br />

v The mail address of the user responsible for the<br />

zone<br />

v The serial number of the zone database, which<br />

identifies the current revision of the data<br />

v The refresh interval, which indicates the length<br />

of time, in seconds, you must allow between the<br />

refreshing of a database from a remote name<br />

server<br />

v The retry interval, which indicates the length of<br />

time, in seconds, you must allow before retrying<br />

a failed refresh<br />

v The expiration TTL, which indicates the<br />

maximum time, in seconds, for records to be<br />

valid in the zone database<br />

v The minimum TTL, which indicates the<br />

minimum time, in seconds, for records to be<br />

valid in the zone database<br />

NS<br />

Name server record<br />

The name server record contains the domain name<br />

of a name server for the current zone.<br />

A<br />

Address record<br />

The address record contains the dotted decimal<br />

notation internet address for the domain name<br />

identifying the record.<br />

CNAME Canonical name record<br />

The canonical name record is used to provide alias<br />

or alternative name information for a domain<br />

name. The domain name specified in the first field<br />

of the record is an alternative to the canonical or<br />

real domain name specified in the data field.<br />

HINFO Host Information Record<br />

This record type contains a text string specifying<br />

the CPU (central processing unit) type and<br />

operating system of a node.<br />

Chapter 14. Using the Domain Name System 247


Using the Domain Name System<br />

MB<br />

MG<br />

MINFO<br />

MR<br />

MX<br />

NULL<br />

PTR<br />

TXT<br />

WKS<br />

The mailbox record (experimental)<br />

The mailbox record contains the domain name of a<br />

host machine to receive mail for the user specified<br />

in the domain name field.<br />

Mail group member record (experimental)<br />

The mail group member record specifies the mail<br />

address of a person belonging to the mail group<br />

specified in the domain name field.<br />

Mailbox information record (experimental)<br />

The mailbox information record specifies the mail<br />

addresses of the persons responsible for the mail<br />

group specified in the domain name field.<br />

Mail rename name record (experimental)<br />

The mail rename name record specifies a mailbox<br />

that is a rename of the mailbox specified in the<br />

domain name field.<br />

Mail exchanger record<br />

The mail exchanger record identifies a host able to<br />

act as a mail exchange for the domain specified in<br />

the domain name field. A mail exchange runs a<br />

mail agent that delivers or forwards mail for the<br />

domain name specified in the first field.<br />

Null resource record (experimental)<br />

The null resource record contains any information,<br />

providing it is less than 65 535 octets in length.<br />

Domain name pointer record<br />

The domain name pointer record is mainly used to<br />

store data for the in-addr.arpa domain, and<br />

contains the domain name referenced by an<br />

internet address.<br />

Text string record<br />

The text string record contains descriptive text.<br />

Well-known services record<br />

The well-known services record stores the protocol<br />

numbers of multiple services in a single record.<br />

Each of the defined <strong>TCP</strong>/<strong>IP</strong> services has a unique<br />

protocol number. For more detailed information,<br />

see RFC 1060.<br />

For flexibility, the following wildcard query data are defined:<br />

Type Description<br />

ANY Any record type for the domain name<br />

AXFR The query type used by secondary name servers to<br />

transfer all records in the zone (the query class is<br />

set to IN when using the AXFR query type)<br />

248 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Using the Domain Name System<br />

Data<br />

MAILB<br />

Any mailbox records for the domain name.<br />

Contains information appropriate for the data type indicated in the<br />

data type field, in the format defined for that specific data type.<br />

NSLOOKUP—Querying Name Servers<br />

NSLOOKUP is a program for querying name servers. The NSLOOKUP program<br />

allows you to:<br />

v Locate information about network nodes<br />

v Examine the contents of a name server database<br />

v Establish the accessibility of name servers<br />

NSLOOKUP Internal State Information<br />

The internal state information of NSLOOKUP determines the operation and results<br />

of your name server queries. You can configure the internal state information of<br />

NSLOOKUP Command<br />

NSLOOKUP using the following methods, listed in order of precedence:<br />

v <strong>TCP</strong>/<strong>IP</strong> client program configuration file, <strong>TCP</strong><strong>IP</strong> DATA<br />

v NSLOOKUP startup file, NSLOOKUP ENV<br />

v NSLOOKUP options in command line mode<br />

v NSLOOKUP options in interactive session mode<br />

For information about the <strong>TCP</strong><strong>IP</strong> DATA file, see <strong>TCP</strong>/<strong>IP</strong> Planning and Customization.<br />

After parsing the command line, NSLOOKUP attempts to read the startup file,<br />

NSLOOKUP ENV. This file contains only the NSLOOKUP options, which define<br />

the NSLOOKUP defaults. Enter each option on a separate line; blank lines are not<br />

accepted. For more information about the valid options available in NSLOOKUP,<br />

see “NSLOOKUP Options (SET Subcommand)” on page 254.<br />

The following is an example of the contents of the NSLOOKUP ENV file:<br />

set domain=powers.oz<br />

querytype=HINFO<br />

set norecurse<br />

vc<br />

Note: Specifying set before the NSLOOKUP options in the NSLOOKUP ENV file<br />

is optional.<br />

Use the NSLOOKUP command to issue multiple queries in interactive session<br />

mode, or specify an individual query in command line mode.<br />

Command Line Queries<br />

In command line mode, individual queries are made by specifying a domain name<br />

or address on the command line.<br />

Use the NSLOOKUP command in the following format to issue a query in<br />

command line mode.<br />

Chapter 14. Using the Domain Name System 249


NSLOOKUP Command<br />

►►<br />

NSLOOKUP<br />

▼<br />

−option<br />

domain_name<br />

domain_address<br />

server_name<br />

server_address<br />

►◄<br />

Operands<br />

Note: Parameters and subcommands of NSLOOKUP are case sensitive and must<br />

be entered in lowercase. Parameter values and domain names are not case<br />

sensitive.<br />

option<br />

Specifies an NSLOOKUP option that tailors query output. See “NSLOOKUP<br />

Options (SET Subcommand)” on page 254 for the available options.<br />

domain_name<br />

Queries the name server for information about the current query type of<br />

domain_name. The default query type is A (address query).<br />

domain_address<br />

Reverses the components of the address, and generates a pointer type (PTR)<br />

query to the name server for the in-addr.arpa domain mapping of the address<br />

to a domain name.<br />

server_name<br />

Directs the default name server to map server_name to an internet address and<br />

then uses the name server at that internet address.<br />

server_address<br />

Specifies the internet address of the name server to be queried other than the<br />

default name server. A query for the address in the in-addr.arpa domain is<br />

initially made to the default name server to map the internet address to a<br />

domain name for the server.<br />

When you specify NSLOOKUP options in command line mode, do not use set<br />

preceding the option. For example, to specify a name server (NS) type record<br />

lookup for the domain name fourex.oz, enter the following on the command line:<br />

nslookup -querytype=ns fourex.oz<br />

The -querytype=ns option is a SET subcommand parameter, but set is omitted<br />

from the command. For more information about using these options, see<br />

“NSLOOKUP Options (SET Subcommand)” on page 254.<br />

Interactive Session Queries<br />

Use the NSLOOKUP command in the following format to enter interactive session<br />

mode.<br />

►►<br />

NSLOOKUP<br />

▼<br />

−option<br />

server_name<br />

server_address<br />

►◄<br />

250 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


NSLOOKUP Command<br />

Once you have entered an NSLOOKUP interactive session, you can issue multiple<br />

queries using the following format:<br />

►►<br />

▼ Enter<br />

interactive_option<br />

set option<br />

►◄<br />

Operands<br />

Note: Parameters and subcommands of NSLOOKUP are case sensitive and must<br />

be entered in lowercase. Parameter values and domain names are not case<br />

sensitive.<br />

option<br />

Specifies an NSLOOKUP option that tailors query output. See “NSLOOKUP<br />

Options (SET Subcommand)” on page 254 for the available options.<br />

server_name<br />

Directs the default name server to map server_name to an internet address, then<br />

use the name server at that internet address.<br />

server_address<br />

Specifies the internet address of the name server to be queried other than the<br />

default name server. A query for the address in the in-addr.arpa domain is<br />

initially made to the default name server to map the internet address to a<br />

domain name for the server.<br />

interactive_option<br />

Specifies an interactive query option.<br />

The following interactive query options are available for NSLOOKUP:<br />

{domain_name|domain_address}[server_name|server_address][{ >| >>} file_name]<br />

Directs NSLOOKUP to perform a query for the domain nominated.<br />

The query requests all information about the domain using the current<br />

class and query (resource record) type. You can specify a server other<br />

than the current server to perform the domain name resolution.<br />

Output can be placed in a file for later viewing by specifying file_name.<br />

The > file_name option places the output in file_name overwriting the<br />

contents, if any, of the file. The >> file_name option places the output in<br />

file_name appending it to the contents, if any, of the file. There must be<br />

at least one space before and after the > or >> symbol.<br />

Queries processed by NSLOOKUP that specify an address can give<br />

unexpected results. If the current query type is address (A) or domain<br />

name pointer (PTR), NSLOOKUP generates a PTR type query for the<br />

specified address in the in-addr.arpa domain. This returns PTR<br />

records, which define the host name for the specified address. If the<br />

current query type is neither of these two types, a query is performed<br />

using the current query type, with the domain name specified as the<br />

address given.<br />

Chapter 14. Using the Domain Name System 251


NSLOOKUP Command<br />

Text that does not conform to the defined options and follows the<br />

preceding syntax is treated as a domain query. NSLOOKUP does not<br />

issue a query for a domain name if the name is unqualified and is the<br />

same as one of the defined options.<br />

server {name|address}<br />

Changes the current server. If name is specified, the internet address of<br />

name is determined using the current server.<br />

An error occurs if the domain name cannot be mapped to an internet<br />

address. This option does not ensure that you can contact a name<br />

server at the address; it simply changes a local variable storing the<br />

address of the default name server.<br />

lserver {name|address}<br />

Changes the current server. If name is specified, the internet address of<br />

name is determined using the initial server defined at command<br />

invocation.<br />

An error occurs if the domain name cannot be mapped to an internet<br />

address. This option does not ensure that you can contact a name<br />

server at the node specified, it simply changes a local variable storing<br />

the address of the default name server.<br />

root Changes the current server address to the address of the root server.<br />

The root server is ns.nic.ddn.mil by default, but can be changed using<br />

the root=name set subcommand. This command is equivalent to<br />

lserver name.<br />

An error occurs if the name of the root server cannot be mapped to an<br />

internet address. This option does not ensure that you can contact a<br />

name server at the node specified; it simply changes a local variable<br />

storing the address of the default name server.<br />

finger [loginname] [{>|>>} file_name]<br />

Extracts information from the finger server of the node found in the<br />

last address query. By default, this command returns a list of logged in<br />

users for the node last found. You can find information about a<br />

particular user by specifying the login name of the user as a parameter.<br />

The loginname variable is case sensitive and must be specified in the<br />

same case (upper or lower) as that used by the host.<br />

You can place output in a file for later viewing by specifying file_name.<br />

The > file_name option places the output in file_name overwriting the<br />

contents, if any, of the file. The >> file_name option places the output in<br />

file_name appending it to the contents, if any, of the file. There must be<br />

at least one space before and after the > or >> symbol.<br />

An error occurs if the preceding subcommand was not a successful<br />

address query or finger operation. If the current host is not defined,<br />

querying the name server defines that name server to be the current<br />

host for a subsequent finger operation.<br />

The finger option expects that the finger server is operating on the<br />

node found. An error occurs if the server is not operating or the node<br />

cannot be reached.<br />

ls [-{a|d|h|m|s|t [type]}] domain [{>|>>} file_name]<br />

Lists the information available for the domain. By default, the internet<br />

address of each node in the domain is listed.<br />

252 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


NSLOOKUP Command<br />

To select resource records other than the default, specify one of the<br />

following options:<br />

−a CNAME<br />

−d ALL<br />

−h HINFO<br />

−m MX<br />

−s WKS<br />

−t [type]<br />

Retrieves the resource record type specified in type. If no record<br />

type is specified with the −t option, the current default type is<br />

used.<br />

See the resource record field ““Data type”” on page 247 for<br />

information about valid query types.<br />

The ls command expects the domain name specified in domain to be a<br />

zone. If the domain name specified refers to a host, an error message is<br />

printed and no information is given. This command should create a<br />

virtual circuit (<strong>TCP</strong> connection) with the current name server to service<br />

the request. An error message is printed if the virtual circuit cannot be<br />

established.<br />

Output can be placed in a file for later viewing by specifying file_name.<br />

The > file_name option places the output in file_name overwriting the<br />

contents, if any, of the file. The >> file_name option places the output in<br />

file_name appending it to the contents, if any, of the file. There must be<br />

at least one space before and after the > or >> symbol.<br />

A number sign (#) is displayed at the terminal as every 50 lines are<br />

written to the file to indicate the command is still executing.<br />

view file_name<br />

Sorts and lists the contents of file_name one screen at a time. An error<br />

occurs if the file does not exist.<br />

help or ?<br />

Displays a brief summary of commands.<br />

exit Exits from NSLOOKUP interactive session mode.<br />

In interactive session mode, an initial query is made to the selected name server to<br />

verify that the server is accessible. All subsequent interactive queries are sent to<br />

that server, unless you specify another server using the server or lserver options.<br />

You can make a query by entering the domain name of the node or subnetwork for<br />

which information is required. Define the data type of information to be retrieved<br />

using the set querytype= option. You can define only one type of resource record<br />

for a domain name in a single query, unless the wildcard query type of ANY has<br />

been set. If an internet address is given rather than a domain name, a query for the<br />

address in the in-addr.arpa domain is made to map the internet address to a<br />

domain name.<br />

The domain name or address for the query can be followed by the domain name<br />

or internet address of a name server to contact for the query. If this is not<br />

specified, the current name server is used. For example, typing:<br />

Chapter 14. Using the Domain Name System 253


NSLOOKUP Command<br />

toolah wurrup.fourex.oz<br />

queries the name server on wurrup.fourex.oz for information about the node<br />

toolah. When specifying domain names that include periods, the trailing period<br />

(indicating a fully qualified domain name) is optional. NSLOOKUP strips the<br />

trailing period if it is present. If you are specifying a root domain, the domain<br />

name must have two trailing periods. For example, specify mynode.. when the<br />

node mynode is in the root domain.<br />

The name server often requires a fully qualified domain name for queries.<br />

However, NSLOOKUP allows the specification of a default subnetwork domain<br />

using the set domain= option, with the initial default obtained from the <strong>TCP</strong><strong>IP</strong><br />

DATA file. When the defname flag is enabled using the set defname option, the<br />

default domain name specified by set domain= is appended to all unqualified<br />

domain names. For example, if the default domain name is fourex.oz and the<br />

defname flag is enabled, a query for the name toolah automatically generates a<br />

query packet containing the domain name toolah.fourex.oz.<br />

A time-out error occurs if the name server is not running or is unreachable. A<br />

Non-existent Domain error occurs if any resource record type for the specified<br />

domain name is not available at the name server. A Server Failed error occurs<br />

when the local name server cannot communicate with the remote name server.<br />

NSLOOKUP can interpret typing or syntax errors in subcommands as queries. This<br />

results in a query being sent and the name server response printed. The response<br />

is usually Non-existent Domain, which indicates that the server could not find a<br />

match for the query.<br />

NSLOOKUP Options (SET Subcommand)<br />

Internal state information affects the operation and results of your queries. You can<br />

change the internal state information maintained by NSLOOKUP using the<br />

NSLOOKUP options. Some internal state information is initially retrieved from the<br />

<strong>TCP</strong><strong>IP</strong> DATA file. See <strong>TCP</strong>/<strong>IP</strong> Planning and Customization for more information<br />

about the <strong>TCP</strong><strong>IP</strong> DATA file.<br />

The NSLOOKUP options consist of the SET subcommand and its associated<br />

parameters. These options can be specified in command line mode queries,<br />

interactive session mode queries, or in the NSLOOKUP ENV file. When<br />

NSLOOKUP options are specified in command line mode queries, you must omit<br />

the word set preceding the option. If the NSLOOKUP options are specified in<br />

interactive session mode queries, the word set must precede the option. In the<br />

NSLOOKUP ENV file, specifying the word set is optional.<br />

If the NSLOOKUP ENV file exists, the NSLOOKUP options are read from the file<br />

and executed before any queries are made. For more information about configuring<br />

NSLOOKUP internal state information using the NSLOOKUP ENV file, see<br />

“NSLOOKUP Internal State Information” on page 249.<br />

The following is a list of the NSLOOKUP options:<br />

Option Description<br />

all<br />

Allows you to print the current values of the internal state<br />

variables. This option does not alter the internal state of<br />

NSLOOKUP.<br />

254 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


class=class<br />

[no]brackets<br />

[no]d2<br />

[no]debug<br />

[no]defname<br />

domain=name<br />

[no]ignoretc<br />

NSLOOKUP Command<br />

Sets the class of information returned by queries. The class must be<br />

identified by its mnemonic. For more information about the classes<br />

recognized by NSLOOKUP, see the resource record field<br />

““Network class”” on page 246. The minimum abbreviation for this<br />

option is cl.<br />

Displays output using ';' for terminals that do not support<br />

square brackets. The default is brackets.<br />

Directs NSLOOKUP to enable or disable extra debugging mode.<br />

Using d2 also enables debug mode. The default is nod2.<br />

Directs NSLOOKUP whether to print debugging information for<br />

each query and its corresponding response. The default is nodebug<br />

(do not print debugging information). Specifying nodebug also<br />

disables d2 (extra debugging). The minimum abbreviations for<br />

these options are deb and nodeb.<br />

Specifies whether to append the default domain name to an<br />

unqualified domain name in a query.<br />

The default domain name is initially obtained from the <strong>TCP</strong><strong>IP</strong><br />

DATA file, but can be changed using the domain=name option.<br />

If the nodefname option is set, the domain name specified in the<br />

query is passed to the server without modification. The default is<br />

defname. The minimum abbreviations for these options are def and<br />

nodef.<br />

Sets the default domain name to name. Initially, the default domain<br />

name is obtained from the <strong>TCP</strong><strong>IP</strong> DATA file. The validity of name<br />

is not verified. This option also updates the search list to contain<br />

only the domain name specified. The minimum abbreviation for<br />

this option is do.<br />

Directs NSLOOKUP on the handling of truncated responses. The<br />

name server indicates, in the response header, that the complete<br />

query response did not fit into a single UDP packet and has been<br />

truncated.<br />

Specifying ignoretc directs NSLOOKUP to ignore the truncation<br />

condition when it is set in the response by the name server.<br />

Specifying noignoretc directs NSLOOKUP to automatically retry<br />

the query using a <strong>TCP</strong> connection when a response is sent with the<br />

truncation indicator set.<br />

NSLOOKUP does not handle responses greater than 512 characters<br />

in length. Responses greater than 512 characters are truncated and<br />

the internal truncation flag is set. This condition is only revealed<br />

when the debug option is enabled. The default is ignoretc. The<br />

minimum abbreviations for these options are ig and noig.<br />

port=port Specifies the port number to use when contacting the name server.<br />

The DNS is a well-known service and has been allocated port 53.<br />

NSLOOKUP uses port 53 by default, but the port option allows<br />

you to specify another port to access. The minimum abbreviation<br />

for this option is po.<br />

querytype=type<br />

Specifies the type of information returned by queries. The initial<br />

query type is A (address information). See the resource record field<br />

““Data type”” on page 247 for the available query types.<br />

Chapter 14. Using the Domain Name System 255


NSLOOKUP Command<br />

[no]recurse<br />

retry=limit<br />

root=name<br />

NSLOOKUP cannot generate queries about type NULL. However,<br />

it can accept responses containing resource records of type NULL.<br />

In this case, NSLOOKUP displays the number of bytes returned in<br />

the NULL record. Global queries that return all resource records<br />

for a specific domain name are specified by the wildcard value ANY.<br />

The minimum abbreviation for this option is q.<br />

The type=type option is accepted by NSLOOKUP as a synonym for<br />

the querytype=type option.<br />

Specifies whether to request a recursive query when querying a<br />

name server. The norecurse option specifies that a recursive query<br />

is not returned. The default is recurse. The minimum<br />

abbreviations for these options are rec and norec.<br />

Specifies the number of times a request is resent. When a request is<br />

sent and the time-out period expires for a response, the request is<br />

resent until the value specified in limit has been exceeded. The<br />

value specified in limit determines the number of attempts made to<br />

contact the name server. The default value for limit is retrieved<br />

from the <strong>TCP</strong><strong>IP</strong> DATA file.<br />

Setting limit to zero disables NSLOOKUP from contacting the name<br />

server. The result is the following error message: no response from<br />

server.<br />

The retry algorithm for NSLOOKUP uses both the limit value and<br />

the time-out period. Each time a request is resent, the time-out<br />

period for the request is twice the time-out period used for the last<br />

attempt. The minimum abbreviation for this option is ret.<br />

Specifies the name of a root server. The root server is<br />

ns.nic.ddn.mil by default.<br />

[no]search Directs NSLOOKUP to enable or disable the use of a search list.<br />

The minimum abbreviations for these options are sea and nosea.<br />

srchlist=domain[/domain/...]<br />

Specifies one or up to three domain names to be appended to<br />

unqualified host names when attempting to resolve the host name.<br />

Each domain name specified is tried in turn until a match is found.<br />

This option also directs the default domain to be set to the first<br />

domain name specified in the search list. The minimum<br />

abbreviation for this option is srchl.<br />

timeout=interval<br />

Specifies the number of seconds to wait before timing out of a<br />

request. The default for interval is retrieved from the <strong>TCP</strong><strong>IP</strong> DATA<br />

file. The minimum abbreviation for this option is t.<br />

[no]vc<br />

NSLOOKUP Examples<br />

Specifies whether to use a virtual circuit (<strong>TCP</strong> connection) to<br />

transport queries to the name server or datagrams (UDP). The<br />

default is retrieved from the <strong>TCP</strong><strong>IP</strong> DATA file. If no entry is found,<br />

the default is novc (use datagrams).<br />

This section contains examples of NSLOOKUP command line mode queries, and<br />

interactive session mode queries using the various options available for<br />

NSLOOKUP commands.<br />

256 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


NSLOOKUP Command<br />

In Figure 16, the router, wurrup, has two internet addresses and there are two name<br />

servers, wurrup being the primary name server. This network is described by a<br />

single zone in the domain naming hierarchy stored in the name servers. The<br />

domain name is fourex.oz.<br />

NAMESERVER<br />

ES/9221: z/<strong>VM</strong><br />

uluru<br />

101.3.104.38<br />

RS/6000: AIX_4.3<br />

canetoad<br />

101.3.104.40<br />

Desktop: WINDOWS_NT<br />

bandicool<br />

101.3.104.52<br />

101.3.104<br />

RS/6000: AIX_4.3<br />

wurrup<br />

101.3.104.12<br />

101.3.100.12<br />

NAMESERVER<br />

101.3.100<br />

RS/6000: AIX_4.3<br />

toolah<br />

101.3.100.2<br />

3090: z/OS<br />

gecko<br />

101.3.100.90<br />

Desktop: AIX_4.2<br />

galah<br />

101.3.100.20<br />

Figure 16. A <strong>TCP</strong>/<strong>IP</strong> Network<br />

The following are examples of how to use NSLOOKUP to extract information from<br />

a name server. The queries are executed from the <strong>VM</strong> host uluru at <strong>IP</strong> address<br />

101.3.104.38 on the network described in Figure 16.<br />

The following examples are command line mode queries.<br />

1. To make a simple address query:<br />

User: nslookup toolah.fourex.oz wurrup.fourex.oz<br />

System: Server: wurrup<br />

Address: 101.3.104.12<br />

Name: toolah.fourex.oz<br />

Address: 101.3.100.2<br />

2. To specify a name server (NS) type record lookup:<br />

User: nslookup -query=ns fourex.oz<br />

System: Server: canetoad<br />

Address: 101.3.104.40<br />

fourex.oz nameserver = wurrup.fourex.oz<br />

fourex.oz nameserver = canetoad.fourex.oz<br />

wurrup.fourex.oz internet address = 101.3.100.12<br />

wurrup.fourex.oz internet address = 101.3.104.12<br />

canetoad.fourex.oz internet address = 101.3.104.40<br />

The following command places NSLOOKUP in interactive session mode with<br />

wurrup as the default server.<br />

User: nslookup - wurrup<br />

System: Default Server: wurrup<br />

Address: 101.3.104.12<br />

Chapter 14. Using the Domain Name System 257


NSLOOKUP Command<br />

The following examples are all in the interactive session mode initiated in the<br />

preceding example.<br />

1. Show the default flag settings:<br />

User: set all<br />

System: >; Default Server: wurrup<br />

Address: 101.3.104.12<br />

Set options:<br />

nodebug defname nosearch recurse<br />

nod2 novc noignoretc port=53<br />

querytype=A class=IN timeout=60 retry=1<br />

root=ns.nic.ddn.mil<br />

domain=FOUREX.OZ<br />

srchlist=FOUREX.OZ<br />

2. Perform a simple address query:<br />

User: toolah<br />

System: >; Server: wurrup<br />

Address: 101.3.104.12<br />

Name: toolah.FOUREX.OZ<br />

Address: 101.3.100.2<br />

3. Set the query record type to HINFO, and perform another query:<br />

User: set q=HINFO<br />

toolah<br />

System: >; >; Server: wurrup<br />

Address: 101.3.104.12<br />

toolah.FOUREX.OZ CPU = RS6000 OS = AIX3.2<br />

4. Find out the name servers available for a domain:<br />

User: set q=NS<br />

fourex.oz<br />

System: >; >; Server: wurrup<br />

Address: 101.3.104.12<br />

fourex.oz nameserver = wurrup.fourex.oz<br />

fourex.oz nameserver = canetoad.fourex.oz<br />

wurrup.fourex.oz internet address = 101.3.100.12<br />

wurrup.fourex.oz internet address = 101.3.104.12<br />

canetoad.fourex.oz internet address = 101.3.104.40<br />

5. Change the current server from wurrup to canetoad and make more queries:<br />

User: server canetoad<br />

System: >; Default Server: canetoad.fourex.oz<br />

Address: 101.3.104.40<br />

User: set q=A<br />

gecko<br />

System: >; Server: canetoad.fourex.oz<br />

Address: 101.3.104.40<br />

Name: gecko.fourex.oz<br />

Address: 101.3.100.90<br />

6. Enable debugging and execute a simple query to see the result, and then<br />

disable debugging:<br />

User: set deb<br />

wurrup<br />

System: >; >; Server: canetoad.FOUREX.OZ<br />

Address: 101.3.104.40<br />

res_mkquery(0, wurrup.FOUREX.OZ, 1, 1)<br />

------------<br />

Got answer:<br />

258 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


HEADER:<br />

opcode = QUERY, id = 7, rcode = NOERROR<br />

header flags: response, auth. answer, want recursion,<br />

recursion avail<br />

questions = 1, answers = 2, authority records = 0,<br />

additional = 0<br />

QUESTIONS:<br />

wurrup.FOUREX.OZ, type = A, class = IN<br />

ANSWERS:<br />

->; wurrup.FOUREX.OZ<br />

internet address = 101.3.104.12<br />

ttl = 9999999 (115 days 17 hours 46 mins 39 secs)<br />

->; wurrup.FOUREX.OZ<br />

internet address = 101.3.100.12<br />

ttl = 9999999 (115 days 17 hours 46 mins 39 secs)<br />

------------<br />

Name: wurrup.FOUREX.OZ<br />

Addresses: 101.3.104.12, 101.3.100.12<br />

User: set nodeb<br />

7. Find all addresses in the fourex.oz domain using the ls option:<br />

User:<br />

System:<br />

DIG—Querying Name Servers<br />

ls fourex.oz<br />

>; canetoad.FOUREX.OZ<br />

fourex.oz<br />

server = wurrup.fourex.oz<br />

wurrup 101.3.100.12<br />

wurrup 101.3.104.12<br />

fourex.oz<br />

server = canetoad.fourex.oz<br />

canetoad 101.3.104.40<br />

gecko 101.3.100.90<br />

wurrup 101.3.100.12<br />

wurrup 101.3.104.12<br />

galah 101.3.100.20<br />

bandicoot 101.3.104.52<br />

toolah 101.3.100.2<br />

canetoad 101.3.104.40<br />

loopback 127.0.0.1<br />

uluru 101.3.104.38<br />

8. Find all aliases in the fourex.oz domain, then exit from NSLOOKUP interactive<br />

session mode:<br />

User: ls -a fourex.oz<br />

System: >; canetoad.FOUREX.OZ<br />

localhost<br />

loopback.fourex.oz<br />

infoserver<br />

wurrup.fourex.oz<br />

pabxserver<br />

wurrup.fourex.oz<br />

User: exit<br />

DIG is a program for querying domain name servers. The DIG program allows<br />

you to:<br />

v Exercise name servers<br />

v Gather large volumes of domain name information<br />

v Execute simple domain name queries<br />

DIG Internal State Information<br />

The internal state information of DIG determines the operation and results of your<br />

name server queries. You can configure the internal state information of DIG using<br />

the following methods, listed in order of precedence:<br />

v <strong>TCP</strong>/<strong>IP</strong> client program configuration file, <strong>TCP</strong><strong>IP</strong> DATA<br />

v DIG startup file, DIG ENV<br />

NSLOOKUP Command<br />

Chapter 14. Using the Domain Name System 259


DIG Command<br />

v<br />

Query options on the command line or in a batch file<br />

DIG Command<br />

The DIG ENV file contains a list of query option defaults. This list is initialized<br />

from the DIG ENV file when DIG is invoked. The default values in DIG ENV are<br />

used for all queries unless overridden by query flags on the command line. The<br />

defaults can be reset during a batch run by using the -envset flag on a batch file<br />

line. For more information about the query options available for DIG, see “Query<br />

Options” on page 261.<br />

The DIG ENV file is created and updated using the -envsav option, which writes<br />

the current defaults out to the file after parsing the query options on the command<br />

line. The -envsav option specified on the command line and the existing default<br />

values are saved in the DIG ENV file as the default environment for future<br />

invocations of DIG. The DIG ENV file is not reread when the environment is<br />

updated during batch queries and the -envsav flag has no effect on subsequent<br />

queries in a batch file. The DIG ENV file is written in nontext format and cannot<br />

be viewed or edited.<br />

You can use DIG in command line mode, where all options are specified on the<br />

invoking command line, or in batch mode, where a group of queries are placed in<br />

a file and executed by a single invocation of DIG. DIG provides a large number of<br />

options for controlling queries and screen output, including most of the functions<br />

of NSLOOKUP.<br />

You can create a file for batch mode queries using the -f file option. The file<br />

contains complete queries, one for each line, that are executed in a single<br />

invocation of DIG. The keyword DIG is not used when specifying queries in a batch<br />

file. Blank lines are ignored, and lines beginning with a number sign (#) or a<br />

semicolon (;) in the first column are comment lines.<br />

Options specified on the initial command line are in effect for all queries in the<br />

batch file unless explicitly overridden. Several options are provided exclusively for<br />

use within batch files, giving greater control over the operation of DIG.<br />

Some internal state information is retrieved from the <strong>TCP</strong><strong>IP</strong> DATA file. See <strong>TCP</strong>/<strong>IP</strong><br />

Planning and Customization for more information about the <strong>TCP</strong><strong>IP</strong> DATA file.<br />

Use the DIG command to query a domain name server in command line mode or<br />

batch mode.<br />

►► DIG domain_name<br />

@server qtype qclass %comment<br />

►<br />

►<br />

▼ +queryoption ▼ −digoption<br />

►◄<br />

Note: The queryoption and digoption parameters are case sensitive and must be<br />

entered in lowercase. Domain names, query types, query classes, and the<br />

values associated with queryoption and digoption parameters are not case<br />

sensitive.<br />

260 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Operands<br />

server<br />

Specifies the domain name or internet address of the name server to contact<br />

for the query. The default is the name server specified in the <strong>TCP</strong><strong>IP</strong> DATA file.<br />

If a domain name is specified, DIG uses the resolver library routines provided<br />

in the <strong>TCP</strong>/<strong>IP</strong> for <strong>VM</strong> programming interface to map the name to an internet<br />

address.<br />

domain_name<br />

Specifies the name of the domain for which information is requested. If the<br />

domain name does not exist in the default domain specified in the <strong>TCP</strong><strong>IP</strong><br />

DATA file, a fully qualified domain name must be specified.<br />

qtype<br />

Specifies the type of query to be performed. DIG does not support MAILA,<br />

MD, MF, and NULL query types. The wildcard query types are ANY, MAILB,<br />

and AXFR. For more information about valid query types, see the resource<br />

record field ““Data type”” on page 247.<br />

If the qtype option is omitted, the default query type is A (an address query).<br />

qclass<br />

Specifies which network class to request in the query. DIG recognizes only the<br />

IN, CHAOS, HESIOD, and ANY network classes. For descriptions of these<br />

classes, see the resource record field ““Network class”” on page 246.<br />

comment<br />

Enables you to include comments in a DIG command. Any characters<br />

following the percent (%) character up to the next space character (space or<br />

end-of-record) are ignored by DIG. This option is useful in batch files for<br />

annotating a command.<br />

For example, using a dotted-decimal notation internet address rather than a<br />

domain name removes any overhead associated with address mapping;<br />

however, this makes the command less readable. Therefore, in a batch file you<br />

can include the domain name as a comment for readability.<br />

queryoption<br />

Interprets the string following the plus sign (+) character as a query option.<br />

Query options have the format:<br />

parameter[=value]<br />

and are a superset of the set subcommand options for NSLOOKUP. See “Query<br />

Options” for the available query options.<br />

digoption<br />

Interprets the string following the minus sign (−) as a DIG option. The DIG<br />

options are either a parameter or a single character followed by a parameter.<br />

See “DiG Options” on page 264 for the available DIG options.<br />

Query Options<br />

The following list contains the query options available for the +queryoption<br />

parameter:<br />

Option Description<br />

[no]aaonly<br />

DIG Command<br />

Specifies whether to accept only authoritative responses or all<br />

responses to queries. The default is noaaonly (accept all responses).<br />

Chapter 14. Using the Domain Name System 261


DIG Command<br />

[no]addit<br />

[no]answer<br />

[no]author<br />

[no]cl<br />

[no]cmd<br />

[no]d2<br />

[no]debug<br />

[no]defname<br />

domain=name<br />

[no]Header<br />

[no]header<br />

[no]ignore<br />

Specifies whether to print the additional section of the response.<br />

The additional section contains resource records that have not been<br />

explicitly requested, but could be useful. For more information<br />

about this option, see RFC 1035.. The default is addit (print the<br />

additional section).<br />

Specifies whether to print the answer section of the response. The<br />

answer section contains the set of all resource records from the<br />

name server database that satisfy the query. The default is answer<br />

(print the answer section).<br />

Specifies whether to print the authoritative section of the response.<br />

The authoritative section contains resource records that specify the<br />

address of an authoritative name server for the query. This section<br />

is used when the name server queried cannot provide an<br />

authoritative answer. The default is author (print the authoritative<br />

section).<br />

Specifies whether to print network class information for each of the<br />

resource records returned. The default is nocl (do not print<br />

network class information).<br />

Specifies whether to echo the parsed options. The default is cmd<br />

(echo parsed options).<br />

Specifies whether to print the details of each query sent out to the<br />

network, including send time-stamp and time-out time-stamp.<br />

When a server does not respond within the time-out period, DiG<br />

either sends the query to another server, or resends the query to<br />

the original server. The details of the query are visible when d2 is<br />

set. The default is nod2 (do not print query details).<br />

Directs DiG to print additional error messages. The default is debug<br />

(print additional error messages).<br />

Specifies whether to append the default domain name to all<br />

unqualified domain names in a query. The default domain name is<br />

set by specifying the +domain=name option. If the nodefname option<br />

is set, the domain name specified is passed to the server without<br />

modification. The default is defname (append the default domain<br />

name).<br />

Sets the default domain name to name. Initially, the default domain<br />

name is obtained from the <strong>TCP</strong><strong>IP</strong> DATA file. The validity of name<br />

is not verified. If the defname option is set, the domain name<br />

specified in name is appended to all unqualified domain names<br />

before the queries are sent to the name server.<br />

Specifies whether to print the header line containing the operation<br />

code, returned status, and query identifier of each response. This<br />

option is distinct from the header option. The default is Header<br />

(print the header).<br />

Specifies whether to print the query flags of each response. The<br />

query flags are defined in RFC 1035. The default is header (print<br />

the query flags).<br />

Specifies whether to report truncation errors. Truncation errors<br />

occur when a response is too long for a single datagram.<br />

Specifying ignore directs DiG to ignore truncation errors. The<br />

default is noignore (report any truncation errors).<br />

262 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


[no]ko Specifies whether to keep the virtual circuit open for queries in<br />

batch mode only. This option has no effect when used on the<br />

command line or when datagrams are used to transport queries<br />

(see the novc option). The default is noko (create a new virtual<br />

circuit for each batch query).<br />

pfand=number Performs a bitwise AND of the current print flags with the value<br />

specified in number. The number can be octal, decimal, or<br />

hexadecimal.<br />

pfdef Sets the print flags to their default values.<br />

pfmin<br />

pfor=number<br />

pfset=number<br />

[no]primary<br />

[no]qr<br />

[no]ques<br />

[no]recurse<br />

[no]reply<br />

retry=limit<br />

[no]sort<br />

DIG Command<br />

Sets the print flags to the minimum default values. This option<br />

specifies that minimal information should be printed for each<br />

response.<br />

Performs a bitwise OR of the current print flags with the value<br />

specified in number. The number can be octal, decimal, or<br />

hexadecimal.<br />

Sets the print flags to the value specified in number. The number<br />

can be octal, decimal, or hexadecimal.<br />

Specifies whether to use only the primary name server for the<br />

zone, or include the secondary name servers. The default is<br />

noprimary (query primary or secondary name servers).<br />

Specifies whether to print the outgoing query. The outgoing query<br />

consists of a header, question section and empty answer,<br />

additional, and authoritative sections. See RFC 1035 for more<br />

information about outgoing queries. The default is noqr (do not<br />

print the outgoing query).<br />

Specifies whether to print the question section of a response. The<br />

question section contains the original query. The default is ques<br />

(print the question section).<br />

Specifies whether to request a recursive query when querying a<br />

name server. The norecurse option specifies that a recursive query<br />

is not requested. The default is recurse.<br />

Specifies whether to print the response from the name server.<br />

When this option is disabled, other print flags that affect printing<br />

of the name server response are ignored and no sections of the<br />

response are printed. The default is reply (print the response).<br />

Specifies the number of times a request is resent. When a request is<br />

sent and the time-out period expires for a response, the request is<br />

resent until the value specified in limit has been exceeded. The<br />

value specified in limit determines the number of attempts made to<br />

contact the name server. The default value for limit is retrieved<br />

from the <strong>TCP</strong><strong>IP</strong> DATA file.<br />

Setting limit to zero disables DiG from contacting the name server.<br />

The result is an error message no response from server.<br />

The retry algorithm for DiG uses both the limit value and the<br />

time-out period. Each time a request is resent, the time-out period<br />

for the request is twice the time-out period used for the last<br />

attempt.<br />

Specifies whether to sort resource records before printing. The<br />

default is nosort (do not sort resource records).<br />

Chapter 14. Using the Domain Name System 263


DIG Command<br />

[no]stats Specifies whether to print the query statistics including round trip<br />

time, time and date of query, size of query and response packets,<br />

and name of server used. The default is stats (print the query<br />

statistics).<br />

timeout=time_out_value<br />

Specifies the number of seconds to wait before timing out of a<br />

request. The default time out value is retrieved from the <strong>TCP</strong><strong>IP</strong><br />

DATA file.<br />

[no]ttlid<br />

[no]vc<br />

Specifies whether to print the TTL (time to live) for each resource<br />

record in a response. The default is ttlid (print time to live).<br />

Specifies whether to use a virtual circuit (<strong>TCP</strong> connection) to<br />

transport queries to the name server or datagrams (UDP). The<br />

default is retrieved from the <strong>TCP</strong><strong>IP</strong> DATA file. If no entry is found,<br />

the default is novc (use datagrams)<br />

DiG Options<br />

The following list contains the available DiG options for the −digoption parameter:<br />

c query_class<br />

Specifies that the command line query or batch query retrieves resource<br />

records having the given network class. The qclass parameter, described on<br />

page 261, can also be used to specify the query class. In addition to the<br />

mnemonics, this option also accepts the equivalent numeric value that<br />

defines the class.<br />

envsav<br />

Directs DiG to save the environment specified on the current command<br />

line in the DIG ENV file. The DiG environment is described in “DIG<br />

Internal State Information” on page 259. This DIG ENV file initializes the<br />

default environment each time DiG is invoked.<br />

envset Directs DiG to set the default environment, see “DIG Internal State<br />

Information” on page 259, specified on the current line in the batch file.<br />

This default environment remains in effect for all subsequent queries in the<br />

batch file, or until the next line in the batch file containing the -envset<br />

option is reached. This option is valid for batch mode only.<br />

f file<br />

Specifies a file for DiG batch mode queries. The batch file contains a list of<br />

queries that are to be executed in order. The keyword DiG is not used when<br />

specifying queries in a batch file. Lines beginning with a number sign (#)<br />

or semicolon (;) in the first column are comment lines, and blank lines are<br />

ignored. Options that are specified on the original command line are in<br />

effect for all queries in the batch file unless explicitly overwritten. The<br />

following is an example of a batch file.<br />

# A comment<br />

; more comments<br />

wurrup any in +noH =noqu -c IN<br />

toolah +pfmin<br />

P<br />

p port<br />

Directs DiG to execute a ping command for response time comparison after<br />

receiving a query response. The last three lines of output from the<br />

following command are printed after the query returns:<br />

PING -s server_name 56 3<br />

Use the port number given when contacting the name server. The Domain<br />

264 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Name System is a <strong>TCP</strong>/<strong>IP</strong> well-known service and has been allocated port<br />

53. DiG uses 53 by default, but this option allows you to override the port<br />

assignment.<br />

[no]stick<br />

Restores the default environment, see “DIG Internal State Information” on<br />

page 259, before processing each line of a batch file. This flag is valid for<br />

batch mode only. If you set the stick option, queries in the batch file are<br />

not affected by the options specified for preceding queries in the file.<br />

If you set the nostick option, the query option specified on the current line<br />

in the batch file remains in effect until the option is overridden by a<br />

subsequent query. The result of each query in the batch file depends on the<br />

preceding queries. The default is nostick.<br />

T seconds<br />

Specifies the wait time between successive queries when operating in batch<br />

mode. The default wait time is 0 (do not wait).<br />

t query_type<br />

Specifies that the query retrieves resource records having the given<br />

resource record type. The qtype parameter on page 261 can also be used to<br />

specify the query type. In addition to the mnemonics, this parameter also<br />

accepts the equivalent numeric value that defines the type.<br />

x dotted_decimal_notation_address<br />

Simplifies the specification of a query for the in-addr.arpa domain.<br />

Normally these queries are made by specifying a query type of PTR for<br />

nn.nn.nn.nn.in-addr.arpa, where the four nn components are replaced by<br />

the dotted-decimal notation internet address components in reverse order.<br />

This option allows you to make this query by simply specifying the<br />

dotted-decimal notation internet address.<br />

For example, the domain name corresponding to internet address<br />

101.3.100.2 is found by a query for the domain name<br />

2.100.3.101.in-addr.arpa. You can use DiG -x 101.3.100.2 instead of<br />

reversing the address and appending in-addr.arpa.<br />

DiG Examples<br />

The following section provides examples of how to use DiG to extract information<br />

from a name server. In Figure 16 on page 257, the router wurrup has two internet<br />

addresses, and there are two name servers, wurrup being the primary name server.<br />

This network is described by a single zone in the domain naming hierarchy stored<br />

in the name servers. In the examples, all queries are issued from the <strong>VM</strong> uluru<br />

system.<br />

1. Create a default environment (default options) that gives minimal output from<br />

subsequent DiG commands:<br />

System:<br />

User:<br />

Ready<br />

dig wurrup +noqu +noH +nohe +nost +noad +noau +nost +nocl<br />

+nottl -envsav<br />

System: ; Ques: 1, Ans: 2, Auth: 0, Addit: 0<br />

;; ANSWERS:<br />

wurrup.FOUREX.OZ. A 101.3.104.12<br />

wurrup.FOUREX.OZ. A 101.3.100.12<br />

DIG Command<br />

The following queries show which part of the response output is controlled by<br />

each of the output control options. Each example enables or disables query options<br />

for tailoring output. The wurrup.fourex.oz domain name is used for the following<br />

queries.<br />

Chapter 14. Using the Domain Name System 265


DIG Command<br />

266 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong><br />

1. Set the query type to ns, the query class to in, and print the additional section<br />

of the output:<br />

System: Ready<br />

User: dig fourex.oz ns in +ad<br />

System: ; Ques: 1, Ans: 2, Auth: 0, Addit: 3<br />

;; ANSWERS:<br />

fourex.oz NS wurrup.fourex.oz<br />

fourex.oz NS canetoad.fourex.oz<br />

;; ADDITIONAL RECORDS:<br />

wurrup.fourex.oz A 101.3.100.12<br />

wurrup.fourex.oz A 101.3.104.12<br />

canetoad.fourex.oz A 101.3.104.40<br />

2. Set the query type to ns, the query class to in, print the additional section of<br />

the output, but do not print the answer section:<br />

System: Ready<br />

User: dig fourex.oz ns in +addit +noanswer<br />

System: ; Ques: 1, Ans: 2, Auth: 0, Addit: 3<br />

;; ADDITIONAL RECORDS:<br />

wurrup.fourex.oz A 101.3.100.12<br />

wurrup.fourex.oz A 101.3.104.12<br />

canetoad.fourex.oz A 101.3.104.40<br />

3. Query a nonexistent domain and print the authoritative section of the output:<br />

System: Ready<br />

User: dig noname +author<br />

System: ;; ->>HEADER


DIG Command<br />

;; ANSWERS:<br />

wurrup.FOUREX.OZ. A 101.3.104.12<br />

wurrup.FOUREX.OZ. A 101.3.100.12<br />

8. Do not print the header line:<br />

System: Ready<br />

User: dig wurrup +noH<br />

System: ; Ques: 1, Ans: 2, Auth: 0, Addit: 0<br />

;; ANSWERS:<br />

wurrup.FOUREX.OZ. A 101.3.104.12<br />

wurrup.FOUREX.OZ. A 101.3.100.12<br />

9. Print the query flags:<br />

System: Ready<br />

User: dig wurrup +he<br />

System: ;; flags: qr aa rd ra ; Ques: 1, Ans: 2, Auth: 0, Addit:<br />

;; ANSWERS:<br />

wurrup.FOUREX.OZ. A 101.3.104.12<br />

wurrup.FOUREX.OZ. A 101.3.100.12<br />

10. Print the question section and the outgoing query:<br />

System: Ready<br />

User: dig wurrup +qu +qr<br />

System: ; Ques: 1, Ans: 0, Auth: 0, Addit: 0<br />

;; QUESTIONS:<br />

;; wurrup.FOUREX.OZ, type = A, class = IN<br />

; Ques: 1, Ans: 2, Auth: 0, Addit: 0<br />

;; QUESTIONS:<br />

;; wurrup.FOUREX.OZ, type = A, class = IN<br />

;; ANSWERS:<br />

wurrup.FOUREX.OZ. A 101.3.104.12<br />

wurrup.FOUREX.OZ. A 101.3.100.12<br />

11. Print the query statistics including round-trip time:<br />

System: Ready<br />

User: dig fourex.oz ns in +stats<br />

System: ; Ques: 1, Ans: 2, Auth: 0, Addit: 3<br />

;; ANSWERS:<br />

fourex.oz NS wurrup.fourex.oz<br />

fourex.oz NS canetoad.fourex.oz<br />

;; Sent 1 pkts, answer found in time: 37 msec<br />

;; FROM: FOUREX<strong>VM</strong>1 to SERVER: default -- 101.3.104.40<br />

;; WHEN: Tue Mar 16 11:06:40 1993<br />

;; MSG SIZE sent: 24 rcvd: 116<br />

12. Print the TTL for each resource record:<br />

System: Ready<br />

User: dig fourex.oz ns in +ttlid<br />

System: ; Ques: 1, Ans: 2, Auth: 0, Addit: 3<br />

;; ANSWERS:<br />

fourex.oz 9999999 NS wurrup.fourex.oz<br />

fourex.oz 9999999 NS canetoad.fourex.oz<br />

13. Enable extra debugging mode:<br />

System: Ready<br />

User: dig wurrup +d2<br />

System: ;; res_mkquery(0, wurrup, 1, 1)<br />

;; Querying server (# 1) address = 101.3.104.40<br />

;;id=3-sending now: 4044656426 msec<br />

; Ques: 1, Ans: 2, Auth: 0, Addit: 0<br />

;; ANSWERS:<br />

wurrup.FOUREX.OZ. A 101.3.104.12<br />

wurrup.FOUREX.OZ. A 101.3.100.12<br />

Chapter 14. Using the Domain Name System 267


DIG Command<br />

The following examples show how options control the use and value of the default<br />

domain.<br />

1. Do not append the default domain name to unqualified domain names and<br />

print the question section of the response:<br />

System: Ready<br />

User: dig wurrup +nodefname +qu<br />

System: ; Ques: 1, Ans: 2, Auth: 0, Addit: 0<br />

;; QUESTIONS:<br />

;; wurrup, type = A, class = IN<br />

;; ANSWERS:<br />

wurrup.fourex.oz A 101.3.104.12<br />

wurrup.fourex.oz A 101.3.100.12<br />

2. Set the default domain name to fourexpd and print the question section of the<br />

response:<br />

System: Ready<br />

User: dig wurrup +do=fourexpd +qu<br />

System: ;; ->>HEADER


DIG Command<br />

wurrup.FOUREX.OZ. A 101.3.104.12<br />

wurrup.FOUREX.OZ. A 101.3.100.12<br />

wurrup.FOUREX.OZ. HINFO RS6000 AIX3.2<br />

The batch file, test.digbat used for this example is shown below. The default<br />

environment has been removed by discarding the DIG ENV file. The DiG<br />

command is omitted for all entries in the file.<br />

Note the effect of the -envset and -stick options on the output.<br />

wurrup any in +noH +nohe +noqu +noad +noau -envset -stick<br />

wurrup any in<br />

toolah a in +d2<br />

toolah a in<br />

toolah a in +d2 -nostick<br />

toolah a in<br />

toolah a in +nod2<br />

toolah a in<br />

1. Specify the batch file test.digbat:<br />

System:<br />

User:<br />

Ready<br />

dig -f test.digbat<br />

System: ; DiG 2.0 dig wurrup any in +noH +nohe +noqu +noad<br />

+noau -envset -st k<br />

; Ques: 1, Ans: 3, Auth: 0, Addit: 0<br />

;; ANSWERS:<br />

wurrup.FOUREX.OZ. 9999999 A 101.3.104.12<br />

wurrup.FOUREX.OZ. 9999999 A 101.3.100.12<br />

wurrup.FOUREX.OZ. 86400 HINFO RS6000 AIX3.2<br />

;; Sent 1 pkts, answer found in time: 20 msec<br />

;; FROM: FOUREX<strong>VM</strong>1 to SERVER: default -- 101.3.104.40<br />

;; WHEN: Tue Mar 16 11:15:57 1993<br />

;; MSG SIZE sent: 31 rcvd: 95<br />

System: ; DiG 2.0 dig wurrup any in<br />

; Ques: 1, Ans: 3, Auth: 0, Addit: 0<br />

;; ANSWERS:<br />

wurrup.FOUREX.OZ. 9999999 A 101.3.104.12<br />

wurrup.FOUREX.OZ. 9999999 A 101.3.100.12<br />

wurrup.FOUREX.OZ. 86400 HINFO RS6000 AIX3.2<br />

;; Sent 1 pkts, answer found in time: 112 msec<br />

;; FROM: FOUREX<strong>VM</strong>1 to SERVER: default -- 101.3.104.40<br />

;; WHEN: Tue Mar 16 11:15:57 1993<br />

;; MSG SIZE sent: 31 rcvd: 95<br />

System: ; DiG 2.0 dig toolah a in +d2<br />

;; res_mkquery(0, toolah, 1, 1)<br />

;; Querying server (# 1) address = 101.3.104.40<br />

;;id=3-sending now: 4046124888 msec<br />

; Ques: 1, Ans: 1, Auth: 0, Addit: 0<br />

;; ANSWERS:<br />

toolah.FOUREX.OZ. 9999999 A 101.3.100.2<br />

;; Sent 1 pkts, answer found in time: 210 msec<br />

;; FROM: FOUREX<strong>VM</strong>1 to SERVER: default -- 101.3.104.40<br />

;; WHEN: Tue Mar 16 11:15:57 1993<br />

;; MSG SIZE sent: 31 rcvd: 47<br />

System: ; DiG 2.0 dig toolah a in<br />

; Ques: 1, Ans: 1, Auth: 0, Addit: 0<br />

;; ANSWERS:<br />

toolah.FOUREX.OZ. 9999999 A 101.3.100.2<br />

;; Sent 1 pkts, answer found in time: 270 msec<br />

Chapter 14. Using the Domain Name System 269


DIG Command<br />

System:<br />

System:<br />

System:<br />

System:<br />

;; FROM: FOUREX<strong>VM</strong>1 to SERVER: default -- 101.3.104.40<br />

;; WHEN: Tue Mar 16 11:15:57 1993<br />

;; MSG SIZE sent: 31 rcvd: 47<br />

; DiG 2.0 dig toolah a in +d2 -nostick<br />

;; res_mkquery(0, toolah, 1, 1)<br />

;; Querying server (# 1) address = 101.3.104.40<br />

;;id=3-sending now: 4046125037 msec<br />

; Ques: 1, Ans: 1, Auth: 0, Addit: 0<br />

;; ANSWERS:<br />

toolah.FOUREX.OZ. 9999999 A 101.3.100.2<br />

;; Sent 1 pkts, answer found in time: 360 msec<br />

;; FROM: FOUREX<strong>VM</strong>1 to SERVER: default -- 101.3.104.40<br />

;; WHEN: Tue Mar 16 11:15:57 1993<br />

;; MSG SIZE sent: 31 rcvd: 47<br />

; DiG 2.0 dig toolah a in<br />

;; res_mkquery(0, toolah, 1, 1)<br />

;; Querying server (# 1) address = 101.3.104.40<br />

;;id=5-sending now: 4046125101 msec<br />

; Ques: 1, Ans: 1, Auth: 0, Addit: 0<br />

;; ANSWERS:<br />

toolah.FOUREX.OZ. 9999999 A 101.3.100.2<br />

;; Sent 1 pkts, answer found in time: 24 msec<br />

;; FROM: FOUREX<strong>VM</strong>1 to SERVER: default -- 101.3.104.40<br />

;; WHEN: Tue Mar 16 11:15:57 1993<br />

;; MSG SIZE sent: 31 rcvd: 47<br />

; DiG 2.0 dig toolah a in +nod2<br />

; Ques: 1, Ans: 1, Auth: 0, Addit: 0<br />

;; ANSWERS:<br />

toolah.FOUREX.OZ. 9999999 A 101.3.100.2<br />

;; Sent 1 pkts, answer found in time: 19 msec<br />

;; FROM: FOUREX<strong>VM</strong>1 to SERVER: default -- 101.3.104.40<br />

;; WHEN: Tue Mar 16 11:15:57 1993<br />

;; MSG SIZE sent: 31 rcvd: 47<br />

; DiG 2.0 dig toolah a in<br />

; Ques: 1, Ans: 1, Auth: 0, Addit: 0<br />

;; ANSWERS:<br />

toolah.FOUREX.OZ. 9999999 A 101.3.100.2<br />

;; Sent 1 pkts, answer found in time: 26 msec<br />

;; FROM: FOUREX<strong>VM</strong>1 to SERVER: default -- 101.3.104.40<br />

;; WHEN: Tue Mar 16 11:15:58 1993<br />

;; MSG SIZE sent: 31 rcvd: 47<br />

CMSRESOL—Resolver and Name Server<br />

The resolver is a program or subroutine that obtains information from a name<br />

server or site tables to convert host names into internet addresses.<br />

The name server is used for cross-referencing a name to its corresponding internet<br />

address. The name server uses an DB2 Server for <strong>VM</strong> database, or other name<br />

servers as its source of information.<br />

RESOLV Command—Interface to the CMSRESOL MODULE<br />

The RESOLV EXEC provides a sample EXEC interface to the CMSRESOL<br />

MODULE to perform standard Name Server queries. The sample provided has<br />

limited capability, but can be modified as needed using a <strong>VM</strong>SES/E local<br />

modification.<br />

270 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


CMSRESOL Command<br />

►► RESOLV quest_name<br />

quest_type<br />

nsaddr<br />

►◄<br />

Operands<br />

quest_name<br />

Specifies the name of the resource that is the target of the query. This is a<br />

required parameter.<br />

quest_type<br />

Specifies the query question type (Qtype). If omitted, the Qtype defaults to A<br />

(host address query type).<br />

The valid values for this parameter are listed in the header file CMOLVER.H.<br />

They are also listed in RFC 883.<br />

nsaddr<br />

Specifies the internet address of the name server from which you want a<br />

response. If omitted, the first NSINTERADDR value defined in the <strong>TCP</strong><strong>IP</strong><br />

DATA file is used; if no such value is found, the <strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> loopback address<br />

(127.0.0.1) is used.<br />

CMSRESOL Command—Interface to the Resolver<br />

The CMSRESOL program can send queries to the name server using <strong>TCP</strong>, UDP, or<br />

CMS IUCV. The CMSRESOL program sends the query and receives the results by<br />

the communication method defined on the CMSRESOL command. The results are<br />

placed on the program stack.<br />

►► CMSRESOL querytype ((question)) ( )<br />

(answer)<br />

►<br />

► ( )<br />

(additional)<br />

nsaddr howtosend timeout nsvmid ►◄<br />

Operands<br />

querytype<br />

Specifies QUERY, IQUERY, or DBASE.<br />

QUERY Specifies the standard query<br />

IQUERY Specifies the inverse query<br />

DBASE Specifies the database query or update.<br />

question<br />

Specifies the form of Qname, Qtype,and Qclass.<br />

answer<br />

Specifies the form of Name, Type, Class, TTL, and Data.<br />

additional<br />

Used for database queries and updates. See “The Database Query and Update”<br />

on page 273 for the syntax of database queries and updates.<br />

Chapter 14. Using the Domain Name System 271


CMSRESOL Command<br />

Types of Queries<br />

nsaddr<br />

Specifies the internet address of the name server. For example: 101.3.104.40.<br />

howtosend<br />

Indicates the form of the query. The form can be:<br />

DATAGRAM<br />

Specifies the use of UDP datagrams<br />

CONN<br />

Specifies the use of <strong>TCP</strong> streams<br />

IUCV Specifies the use of CMS IUCV.<br />

timeout<br />

Indicates the number of seconds to wait when attempting to open a connection<br />

to the name server.<br />

nsvmid<br />

Specifies the <strong>VM</strong> user ID of the virtual machine that is running the name<br />

server. This is required for IUCV processing only.<br />

The question, answer, authority, and additional sections are returned as separate lines<br />

in the program stack (system data queue). They can be extracted from the queue<br />

with the REXX PULL instruction. The CMSRESOL command results in one of the<br />

following return codes:<br />

Return Code Description<br />

0 No error condition<br />

1 Format error<br />

2 Name server failure<br />

3 Domain name does not exist<br />

4 Not implemented<br />

5 Refused by name server<br />

20 Parameter error<br />

21 Error in communicating with name server<br />

22 Software error<br />

Notes:<br />

1. The name server uses an internal buffer of 4096 bytes to transfer data. If this<br />

limit is exceeded, a name server failure-error condition is returned.<br />

2. Each line in the program stack can hold as many as 255 characters. Data in<br />

excess of this limit is wrapped into additional lines in the program stack.<br />

3. You must allow at least one space between adjacent sets of parentheses for<br />

these queries to work.<br />

This section contains examples of standard, inverse, in-addr.arpa domain, and<br />

database queries, as well as examples of queries outside your domain.<br />

Note: The figure of 86 400, which appears in the program stack, is a typical TTL<br />

value of 24 hours, expressed in seconds.<br />

The Standard Query<br />

A standard query provides the question, and the answer is returned. An example of<br />

a standard query is:<br />

CMSRESOL QUERY ( ( RALPH.YKT.<strong>IBM</strong>.COM A IN ) ) ( ) ( ) 127.0.0.1<br />

DATAGRAM 60 NAMESRV<br />

272 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


The results of the query are placed on the program stack. An example of the<br />

format of the data on the stack resulting from this standard query is:<br />

( ( RALPH.YKT.<strong>IBM</strong>.COM A IN ) )<br />

( ( RALPH.YKT.<strong>IBM</strong>.COM A IN 86400 192.5.5.5 ) )<br />

( )<br />

( )<br />

The Inverse Query<br />

An inverse query provides the answer, and the question is returned. An example of<br />

an inverse query using a <strong>TCP</strong> virtual circuit and the resulting stack contents is:<br />

CMSRESOL IQUERY ( ) ( ( X.YKT.<strong>IBM</strong>.COM A IN 0 192.5.5.5 ) ) ( )<br />

127.0.0.1 CONN 60 NAMESRV<br />

The stack contents are:<br />

( ( RALPH.YKT.<strong>IBM</strong>.COM A IN ) )<br />

( ( RALPH.YKT.<strong>IBM</strong>.COM A IN 86400 192.5.5.5 ) )<br />

( )<br />

( )<br />

Types of Queries<br />

Querying the in-addr.arpa Domain<br />

Only local, authoritative data is returned from a name server in response to an<br />

inverse query. Recursion is not available, because an inverse query does not supply<br />

the domain origin in the data field. To resolve an internet address to a domain<br />

name, a special domain exists called in-addr.arpa. The in-addr.arpa domain<br />

contains the internet address of the name field in reverse order, suffixed with<br />

in-addr.arpa. To resolve the internet address to a domain name, do a standard<br />

query supplying the internet address, in reverse order, suffixed with in-addr.arpa<br />

in the name field.<br />

An example of this type of query is:<br />

CMSRESOL QUERY ( ( 126.43.67.9.IN-ADDR.ARPA PTR IN ) ) ( ) ( ) 127.0.0.1<br />

DATAGRAM 45 NAMESRV<br />

The results of the query are placed on the program stack. An example of the<br />

format of the data on the stack resulting from this query is:<br />

( ( 126.43.67.9.IN-ADDR.ARPA PTR IN ) )<br />

( ( 126.43.67.9.IN-ADDR.ARPA PTR IN 86400 <strong>VM</strong>X.RALEIGH.<strong>IBM</strong>.COM ) )<br />

( )<br />

( )<br />

The Database Query and Update<br />

A database query and update permits a client to update the DB2 Server for <strong>VM</strong><br />

database. The database query and update functions are enhancements provided by<br />

<strong>IBM</strong>. An authorization scheme protects the database from unauthorized updates.<br />

The name field of a resource record (RR) type 97 defines a domain name; the data<br />

field defines a list of <strong>VM</strong> user IDs that can perform a database update. The serial<br />

value specified on the start of authority (SOA) record is not updated to reflect a<br />

change in the zone data. Other locations that transfer the domain do not do so<br />

until the serial on the SOA record is modified, or the refresh timer expires. See<br />

RFC 1034 or 1035 for further information on SOA records.<br />

An example of a database update follows. IUCV is required for database updates.<br />

UDP datagrams or <strong>TCP</strong> virtual circuits are not permitted.<br />

CMSRESOL DBASE ( ) ( ) ( ( RALPH.YKT.<strong>IBM</strong>.COM UPDATE IN 0 #A RSRVD<br />

This is the NewData# ) ) 127.0.0.1 IUCV 60 NAMESRV<br />

Chapter 14. Using the Domain Name System 273


Types of Queries<br />

The stack contents are:<br />

( )<br />

( )<br />

( )<br />

( )<br />

Note: In a database update, no data is returned between the parentheses.<br />

The database functions use the additional sections to transport the request to the<br />

name server. Figure 17 provides the format of the data within the additional section:<br />

Name Type1 Class TTL Rdata<br />

Type2 RSRVD NewData<br />

Figure 17. The Database Format of an Additional Section<br />

Type1 can be update or select for database functions. The Rdata field is<br />

surrounded by the # character. Within the Rdata field, there are three subfields for<br />

update operations: Type2, RSRVD, and NewData. This example uses an A-type<br />

internet address, which for the IN (Internet system) class is a 32-bit internet<br />

protocol address.<br />

Subfield Description<br />

Type2 Specifies the record type to be updated<br />

RSRVD Is a reserve field<br />

NewData Is the new data<br />

For database updates, a TYPE97 resource record (RR) is examined for authorization<br />

checking. For more information, see <strong>TCP</strong>/<strong>IP</strong> Planning and Customization.<br />

The following is an example of a database query using UDP datagrams. For a<br />

query operation, <strong>TCP</strong> virtual circuits, UDP datagrams, or CMS IUCV are allowed.<br />

CMSRESOL DBASE ( ) ( ) ( ( RALPH.YKT.<strong>IBM</strong>.COM SELECT IN 0A) )<br />

127.0.0.1 DATAGRAM 60 NAMESRV<br />

The stack contents are:<br />

( )<br />

( ( RALPH.YKT.<strong>IBM</strong>.COM A IN 9999999 192.5.5.5 ) )<br />

( )<br />

( ( RALPH.YKT.<strong>IBM</strong>.COM SELECT IN 0A))<br />

The database query operation, like the update operation, uses the additional section<br />

to transport the request to the name server. The type in this case is SELECT,<br />

indicating a database query operation. The Rdata field indicates the type of RR to<br />

query. In this example, the type of RR to query is the internet address Type A. The<br />

results are returned in the answer section.<br />

Querying Outside Your Domain<br />

The following is a sample of a query outside your domain:<br />

274 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Types of Queries<br />

CMSRESOL QUERY ( ( ALPHA.UNKNOWN.COM A IN ) ) ( ) ( )<br />

127.0.0.1 DATAGRAM 30 NAMESRV<br />

The results of the query are placed on the program stack. An example of the<br />

format of the data on the stack resulting from this query is:<br />

( ( ALPHA.UNKNOWN.COM A IN ) )<br />

( )<br />

( ( UNKNOWN.COM NS IN 86400 NAMESERVER.UNKNOWN.COM ) )<br />

( ( NAMESERVER.UNKNOWN.COM A IN 86400 128.1.2.3 ) )<br />

Chapter 14. Using the Domain Name System 275


Types of Queries<br />

276 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Chapter 15. Using Translation Tables<br />

<strong>TCP</strong>/<strong>IP</strong> uses translation tables to convert transmitted data between EBCDIC and<br />

ASCII. Because the meanings of the terms “EBCDIC” and “ASCII” depend on the<br />

particular operating system and the national language (English, French, etc.) being<br />

used on a particular system, <strong>TCP</strong>/<strong>IP</strong> provides many different translation tables to<br />

meet the diverse needs of z/<strong>VM</strong> users.<br />

In addition to the more than 200 translations provided by <strong>IBM</strong>, you can create<br />

custom tables to meet your specific requirements.<br />

The following sections provide the information you need to understand what<br />

translation tables are, how they are used by <strong>TCP</strong>/<strong>IP</strong> applications, and how you can<br />

create your own custom translations.<br />

Character Sets and Code Pages<br />

When you display or print a document, you see a collection of characters or<br />

symbols. A group of characters or symbols taken together and treated as a single<br />

entity is called a character set. A character set may contain hundreds or even<br />

thousands of characters.<br />

In a Single-Byte Character Set (SBCS), one 8-bit byte is used to represent a single<br />

character. This means there are only 256 possible bit patterns or code points<br />

available to represent a character. All Western languages can be represented by an<br />

SBCS character set.<br />

A Double-Byte Character Set (DBCS) uses two bytes to represent a single character,<br />

providing a theoretical maximum of 65536 characters. In practice, DBCS character<br />

sets contain far fewer than 65536 characters. Eastern languages such as Japanese<br />

Kanji, Korean Hangeul, and traditional Chinese require a DBCS character set.<br />

A collection of all of 256 (for SBCS) or 65536 (for DBCS) code points and their<br />

corresponding individual character assignments are called a code page.<br />

While it is true that always using a universal DBCS character set such as Unicode<br />

would eliminate the need to perform EBCDIC-ASCII translation, most of the<br />

operating systems and standard <strong>TCP</strong>/<strong>IP</strong> application protocols in use today were<br />

developed before the advent of DBCS. As a consequence, every country or<br />

common geographic region developed its own country-specific SBCS code page,<br />

particularly in the EBCDIC environment. Characters were deleted, added, and their<br />

order changed.<br />

Consequently, it is necessary to understand and manage the use of code pages. To<br />

assist in that effort, <strong>IBM</strong> has assigned a unique number to many of the EBCDIC<br />

and ASCII code pages you will use. The specific code page translations provided<br />

with <strong>TCP</strong>/<strong>IP</strong> are listed in Table 19 on page 280. Facilities are provided so that you<br />

may supplement the translations provided by <strong>IBM</strong> with your own.<br />

The <strong>TCP</strong>/<strong>IP</strong> translation tables convert data from one code page to another, so the<br />

table you choose depends on the code pages being used by the systems involved<br />

and your knowledge of how a file was created.<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 277


Using Translation Tables<br />

It is important to recognize that changing the default translation table for servers<br />

such as FTP and NFS can corrupt data in a file if that file is uploaded and<br />

downloaded using different translation tables. (This does not apply to binary<br />

transfers, of course.)<br />

<strong>TCP</strong>/<strong>IP</strong> Translation Table Files<br />

<strong>TCP</strong>/<strong>IP</strong> translation tables are machine-readable binary files that are usually kept<br />

on the <strong>TCP</strong>/<strong>IP</strong> user disk, <strong>TCP</strong>MAINT 592.<br />

Most of these files are provided by <strong>IBM</strong>, and others may be created by compiling<br />

SBCS or DBCS translation table source files using the CONVXLAT command,<br />

described in “Converting Translation Tables to Binary” on page 286.<br />

Table 17. Translation Table Files<br />

Character Set Language Source File Type Table File Type<br />

SBCS Any <strong>TCP</strong>XLATE <strong>TCP</strong>XLBIN<br />

DBCS Japanese Kanji <strong>TCP</strong>KJLAT <strong>TCP</strong>KJBIN<br />

DBCS Korean Hangeul <strong>TCP</strong>HGLAT <strong>TCP</strong>HGBIN<br />

DBCS Traditional Chinese <strong>TCP</strong>CHLAT <strong>TCP</strong>CHBIN<br />

Note that the file types for the different languages are different. There can be up to<br />

four translation table that have the same file name – one for all SBCS languages,<br />

and one for each of the three DBCS languages.<br />

SBCS tables contain translations for one pair of code pages. DBCS tables may<br />

contain multiple translations.<br />

To modify an <strong>IBM</strong>-provided translation table:<br />

1. Modify the source file as required<br />

2. Run the CONVXLAT program, specifying the modified source as input<br />

3. Copy the resulting <strong>TCP</strong>xxBIN file to the <strong>TCP</strong>/<strong>IP</strong> user disk, <strong>TCP</strong>MAINT 592.<br />

Translation tables made available to servers should also be made available to<br />

clients.<br />

To create a new translation table, first copy an existing source file and then follow<br />

the procedure outlined above.<br />

SBCS translation tables may be read by CMS applications using the DTCXLATE<br />

CSL routine. For more information on DTCXLATE, see the z/<strong>VM</strong>: CMS Callable<br />

Services Reference.<br />

Translation Table Search Order<br />

Most <strong>TCP</strong>/<strong>IP</strong> client and server programs provide a way for the you to change the<br />

translation table that is used. This is done using either client command line<br />

options, server initialization parameters, or configuration file statements. For<br />

example, the CMS FTP client provides a TRANSLATE option that you can use to<br />

provide the name of a translation table.<br />

If no such option or configuration statement is provided, the clients and servers<br />

will use a preferred translation table that is specific to a particular client or server. If<br />

the preferred table cannot be found, the common standard translation will be used.<br />

278 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


The standard translation is loaded from STANDARD <strong>TCP</strong>xxBIN, if it is available,<br />

or from an equivalent that is compiled into the program.<br />

Table 18 shows the option or configuration statement that may be used to provide<br />

the name of a translation table to be used by each client or server. Any program<br />

not listed can be assumed to use STANDARD.<br />

Table 18. Preferred Translation Tables<br />

Using Translation Tables<br />

Program<br />

Option<br />

Preferred<br />

Translation Table<br />

SMTP Server None¹ SMTP<br />

FTP Server SITE TRANSLATE table_name² SRVRFTP<br />

FTP Client TRANSLATE table_name² FTP<br />

UFT Client (SENDFILE) TRANSLATE table_name² STANDARD<br />

UFT Server TRANSLATE table_name² STANDARD<br />

LPR Client TRANSLATE table_name² LPR<br />

LPD Server TRANSLATETABLE table_name² LPD<br />

NFS Server XLATE=table_name² <strong>VM</strong>NFS<br />

TELNET Client TRANSLATE table_name² TELNET<br />

TELNET Server (line mode) None STLINMOD<br />

TFTP Client TRANSLATE table_name² TFTP<br />

Note¹: For SMTP, an additional translation table may be specified for 8-bit MIME support.<br />

The <strong>TCP</strong>/<strong>IP</strong> Planning and Customization contains more information in the “8BITMIME<br />

Statement” section.<br />

Note²: table_name is the file name of a <strong>TCP</strong>/<strong>IP</strong> translation table.<br />

If a table is explicitly referenced by a program option or configuration statement,<br />

the program will display an error message and stop if the translation table file<br />

cannot be found or loaded.<br />

The file type of the translation table depends on whether any DBCS features are<br />

used. If Kanji translation is requested, the file type is <strong>TCP</strong>KJBIN. If Korean<br />

translation is requested, the file type is <strong>TCP</strong>HGBIN. For traditional Chinese, the file<br />

type is <strong>TCP</strong>CHBIN.<br />

The <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong> contains information on the TRANSLATE option for the<br />

<strong>TCP</strong>/<strong>IP</strong> clients, and the <strong>TCP</strong>/<strong>IP</strong> Planning and Customization contains information for<br />

the servers. See the z/<strong>VM</strong>: CMS Command and Utility Reference for information<br />

about the SENDFILE command.<br />

Special Telnet Requirements<br />

Telnet Client<br />

The Telnet client requires a translation table that is different from the default table,<br />

STANDARD. The preferred translation table is provided by <strong>IBM</strong> as TELNET<br />

<strong>TCP</strong>XLBIN. If this file is not found, however, the default table will be used.<br />

Country-specific translation tables for the Telnet application are provided. These<br />

tables have the file type TELXLATE. You must rename the selected file to TELNET<br />

Chapter 15. Using Translation Tables 279


Using Translation Tables<br />

<strong>TCP</strong>XLATE before it is converted to binary using the CONVXLAT command. The<br />

resulting TELNET <strong>TCP</strong>XLBIN should then be copied to <strong>TCP</strong>MAINT 592, replacing<br />

the <strong>IBM</strong> version.<br />

Note: You cannot use the Telnet translation tables to change the LineFeed (X'0A')<br />

character.<br />

Telnet Server<br />

For line mode Telnet sessions, translation is performed by the Telnet server using<br />

the STANDARD translation table. If this table does not meet your needs, you can<br />

create an STLINMOD <strong>TCP</strong>XLATE table, convert it to binary using CONVXLAT,<br />

and copy the resulting STLINMOD <strong>TCP</strong>XLBIN file to the <strong>TCP</strong>/<strong>IP</strong> customization<br />

disk, <strong>TCP</strong>MAINT 198.<br />

<strong>IBM</strong>-Supplied Translation Tables<br />

Table 19. <strong>IBM</strong> Translation Tables<br />

In order to meet the translation needs of users and installations worldwide, more<br />

than 200 translation tables are provided with <strong>TCP</strong>/<strong>IP</strong> for your use. Some tables<br />

already exist in binary form; others require conversion using the CONVXLAT<br />

command, as described in “Converting Translation Tables to Binary” on page 286.<br />

Translation Table File Translation Table File Host Code Page Remote Code<br />

Country<br />

Name<br />

Type<br />

Page<br />

United States and Canada 0037rrrr <strong>TCP</strong>XLATE 37 rrrr<br />

Austria and Germany 0273rrrr <strong>TCP</strong>XLATE 273 rrrr<br />

Denmark and Norway 0277rrrr <strong>TCP</strong>XLATE 277 rrrr<br />

Finland and Sweden 0278rrrr <strong>TCP</strong>XLATE 278 rrrr<br />

Italy 0280rrrr <strong>TCP</strong>XLATE 280 rrrr<br />

Spain and Spanish-speaking 0284rrrr <strong>TCP</strong>XLATE 284 rrrr<br />

Latin America<br />

United Kingdom 0285rrrr <strong>TCP</strong>XLATE 285 rrrr<br />

France 0297rrrr <strong>TCP</strong>XLATE 297 rrrr<br />

International 0500rrrr <strong>TCP</strong>XLATE 500 rrrr<br />

Iceland 0871rrrr <strong>TCP</strong>XLATE 871 rrrr<br />

ISO 8859-15 0924rrrr <strong>TCP</strong>XLATE 924 rrrr<br />

OpenEdition ® (POSIX) 1047rrrr <strong>TCP</strong>XLATE 1047 rrrr<br />

United States and Canada (Euro) 1140rrrr <strong>TCP</strong>XLATE 1140 rrrr<br />

Austria and Germany (Euro) 1141rrrr <strong>TCP</strong>XLATE 1141 rrrr<br />

Denmark and Norway (Euro) 1142rrrr <strong>TCP</strong>XLATE 1142 rrrr<br />

Finland and Sweden (Euro) 1143rrrr <strong>TCP</strong>XLATE 1143 rrrr<br />

Italy (Euro) 1144rrrr <strong>TCP</strong>XLATE 1144 rrrr<br />

Spain and Spanish-speaking 1145rrrr <strong>TCP</strong>XLATE 1145 rrrr<br />

Latin America (Euro)<br />

United Kingdom (Euro) 1146rrrr <strong>TCP</strong>XLATE 1146 rrrr<br />

France (Euro) 1147rrrr <strong>TCP</strong>XLATE 1147 rrrr<br />

International (Euro) 1148rrrr <strong>TCP</strong>XLATE 1148 rrrr<br />

Iceland (Euro) 1149rrrr <strong>TCP</strong>XLATE 1149 rrrr<br />

280 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Table 19. <strong>IBM</strong> Translation Tables (continued)<br />

Translation Table File Translation Table File Host Code Page Remote Code<br />

Country<br />

Name<br />

Type<br />

Page<br />

OpenEdition 1047rrrr <strong>TCP</strong>XLATE 1047 rrrr<br />

ISO 8859-15 (EBCDIC) 0924rrrr <strong>TCP</strong>XLATE 924 rrrr<br />

ISO 8859-15 (ASCII) hhhh0923 <strong>TCP</strong>XLATE hhhh 923<br />

OS/2 hhhh0850 <strong>TCP</strong>XLATE hhhh 850<br />

OS/2 (Euro) hhhh0858 <strong>TCP</strong>XLATE hhhh 858<br />

ISO 8859-1 (ASCII) hhhh0819 <strong>TCP</strong>XLATE hhhh 819<br />

Microsoft ® Windows ® hhhh1252 <strong>TCP</strong>XLATE hhhh 1252<br />

Austria and Germany AUSGER <strong>TCP</strong>XLATE 273 850<br />

Belgium BELGIAN <strong>TCP</strong>XLATE 500 850<br />

Canada CANADIAN <strong>TCP</strong>XLATE 37 850<br />

Denmark and Norway DANNOR <strong>TCP</strong>XLATE 277 850<br />

Netherlands DUTCH <strong>TCP</strong>XLATE 37 850<br />

Finland and Sweden FINSWED <strong>TCP</strong>XLATE 278 850<br />

France FRENCH <strong>TCP</strong>XLATE 297 850<br />

Italy ITALIAN <strong>TCP</strong>XLATE 280 850<br />

Japan JAPANESE <strong>TCP</strong>XLATE 281 850<br />

OpenEdition POSIX <strong>TCP</strong>XLATE 1047 819<br />

Portugal PORTUGUE <strong>TCP</strong>XLATE 37 850<br />

Spain and Spanish-speaking SPANISH <strong>TCP</strong>XLATE 284 850<br />

Latin America<br />

Switzerland (French) SWISFREN <strong>TCP</strong>XLATE 500 850<br />

Switzerland (German) SWISGERM <strong>TCP</strong>XLATE 500 850<br />

United Kingdom UK <strong>TCP</strong>XLATE 285 850<br />

United States US <strong>TCP</strong>XLATE 37 850<br />

Standard (SBCS) STANDARD <strong>TCP</strong>XLATE EBCDIC ASCII<br />

Standard Japanese Kanji<br />

JIS X0208 1978<br />

JIS X0208 1983<br />

Shift JIS X0208<br />

Extended Unix Code<br />

<strong>IBM</strong><br />

STANDARD<br />

<strong>TCP</strong>KJLAT<br />

Using Translation Tables<br />

300<br />

300<br />

300<br />

300<br />

300<br />

X0208<br />

X0208<br />

X0208<br />

EUC<br />

300<br />

Standard Korean Hangeul<br />

KSC 5601 SBCS<br />

KSC 5601 DBCS<br />

Hangeul SBCS<br />

Hangeul DBCS<br />

STANDARD<br />

<strong>TCP</strong>HGLAT<br />

833<br />

834<br />

833<br />

834<br />

1088<br />

951<br />

891<br />

926<br />

Standard Traditional Chinese<br />

Traditional Chinese SBCS<br />

Traditional Chinese DBCS<br />

STANDARD<br />

<strong>TCP</strong>CHLAT<br />

037<br />

835<br />

904<br />

927<br />

Note: In this table hhhh and rrrr represent four-digit host and remote code page numbers, respectively.<br />

Chapter 15. Using Translation Tables 281


Using Translation Tables<br />

Notes:<br />

1. STANDARD <strong>TCP</strong>XLBIN is a 7-bit non-reversible translation table. For inbound<br />

data, all ASCII characters with values in the range X'80'-X'FF' will have the<br />

same translation as values X'00'-X'7F'. The high-order bit of each ASCII byte is<br />

ignored and is assumed to be zero. For example, ASCII X'B1' and X'31' will<br />

both be converted to EBCDIC X'F1'. For outbound data, EBCDIC control<br />

characters that do not have ASCII equivalents are converted to ASCII X'1A'.<br />

STANDARD should be used in situations where a client or server is known to<br />

treat the high-order bit in each byte as a parity bit.<br />

2. All other SBCS translation tables provide a unique, one-to-one mapping of all<br />

256 code points.<br />

3. All tables translate ASCII LineFeed (LF, X'0A') to and from EBCDIC LF (X'25'),<br />

except for POSIX and 1047rrrr, which use EBCDIC NewLine (NL, X'15') instead.<br />

4. Host code pages 924 and 1140-1149 include translations for the euro currency<br />

symbol.<br />

Customizing SBCS Translation Tables<br />

All SBCS translation table files contain two tables. The first table is used to<br />

translate from ASCII to EBCDIC. The second table is used to translate from<br />

EBCDIC to ASCII.<br />

To read the translation tables, find the row for the first hex digit (▌1▐) and the<br />

column for the second hex digit (▌2▐). The point where the row and column<br />

intersect is the translation value.<br />

For example, to find the EBCDIC translation for the ASCII character X'A7', find<br />

row A0 (▌3▐) and column 07 (▌4▐) in the following example. The point where row<br />

A0 and column 07 intersect shows a value of X'7D', so the ASCII character X'A7'<br />

will be translated to a X'7D' in EBCDIC. To customize the translation table, alter<br />

the translate value where the row and column intersect to the new value.<br />

;<br />

; ASCII-to-EBCDIC table<br />

; ▌4▐ ▌2▐<br />

;000102030405060708090A0B0C0D0E0F<br />

; ▌1▐<br />

00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F ; 00 ;<br />

10 11 12 13 3C 3D 32 26 18 19 3F 27 22 1D 35 1F ; 10 ;<br />

40 5A 7F 7B 5B 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61 ; 20 ;<br />

F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F ; 30 ;<br />

7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 ; 40 ;<br />

D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 AD E0 BD 5F 6D ; 50 ;<br />

79 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96 ; 60 ;<br />

97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 C0 4F D0 A1 07 ; 70 ;<br />

00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F ; 80 ;<br />

10 11 12 13 3C 3D 32 26 18 19 3F 27 22 1D 35 1F ; 90 ;<br />

40 5A 7F 7B 5B 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61 ; A0 ; ▌3▐<br />

F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F ; B0 ;<br />

7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 ; C0 ;<br />

D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 AD E0 BD 5F 6D ; D0 ;<br />

79 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96 ; E0 ;<br />

97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 C0 4F D0 A1 07 ; F0 ;<br />

;<br />

; EBCDIC-to-ASCII table<br />

;000102030405060708090A0B0C0D0E0F<br />

;<br />

00 01 02 03 1A 09 1A 7F 1A 1A 1A 0B 0C 0D 0E 0F ; 00 ;<br />

10 11 12 13 1A 1A 08 1A 18 19 1A 1A 1C 1D 1E 1F ; 10 ;<br />

1A 1A 1C 1A 1A 0A 17 1B 1A 1A 1A 1A 1A 05 06 07 ; 20 ;<br />

282 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


1A 1A 16 1A 1A 1E 1A 04 1A 1A 1A 1A 14 15 1A 1A ; 30 ;<br />

20 A6 E1 80 EB 90 9F E2 AB 8B 9B 2E 3C 28 2B 7C ; 40 ;<br />

26 A9 AA 9C DB A5 99 E3 A8 9E 21 24 2A 29 3B 5E ; 50 ;<br />

2D 2F DF DC 9A DD DE 98 9D AC BA 2C 25 5F 3E 3F ; 60 ;<br />

D7 88 94 B0 B1 B2 FC D6 FB 60 3A 23 40 27 3D 22 ; 70 ;<br />

F8 61 62 63 64 65 66 67 68 69 96 A4 F3 AF AE C5 ; 80 ;<br />

8C 6A 6B 6C 6D 6E 6F 70 71 72 97 87 CE 93 F1 FE ; 90 ;<br />

C8 7E 73 74 75 76 77 78 79 7A EF C0 DA 5B F2 F9 ; A0 ;<br />

B5 B6 FD B7 B8 B9 E6 BB BC BD 8D D9 BF 5D D8 C4 ; B0 ;<br />

7B 41 42 43 44 45 46 47 48 49 CB CA BE E8 EC ED ; C0 ;<br />

7D 4A 4B 4C 4D 4E 4F 50 51 52 A1 AD F5 F4 A3 8F ; D0 ;<br />

5C E7 53 54 55 56 57 58 59 5A A0 85 8E E9 E4 D1 ; E0 ;<br />

30 31 32 33 34 35 36 37 38 39 B3 F7 F0 FA A7 FF ; F0 ;<br />

Syntax Rules for SBCS Translation Tables<br />

v<br />

v<br />

Blanks are used only as delimiters for readability purposes.<br />

Comments may be included, either on a separate line or at the end of a line.<br />

Comments must start with a semicolon (;).<br />

Customizing DBCS Translation Tables<br />

Using Translation Tables<br />

Each DBCS translation table file contains more than one translation table.<br />

<strong>TCP</strong>HGLAT and <strong>TCP</strong>HGBIN, for example, contain EBCDIC to ASCII and ASCII to<br />

EBCDIC translation tables for both the KSC 5601 and Hangeul PC code pages.<br />

The standard DBCS binary tables are used by the FTP server, SMTP server, and<br />

FTP client programs.<br />

The figures on the following pages show examples of the standard source for the<br />

Kanji, Hangeul, and Traditional Chinese DBCS translation tables.<br />

These source files contain two column pairs for each code page. The first column<br />

pair specifies double-byte EBCDIC to ASCII code point mappings for the indicated<br />

code page. The second column pair specifies double-byte ASCII to EBCDIC code<br />

point mappings for the indicated code page.<br />

Existing code point mappings may be changed by simply overwriting the existing<br />

hexadecimal code. New code point mappings may be specified by adding a new<br />

column pair with two double-byte hexadecimal codes. Code point mappings that<br />

are not specified, and are within the valid range for the code page, default to the<br />

“undefined” character, X'FFFF'.<br />

The source file format allows EBCDIC to ASCII and ASCII to EBCDIC mappings to<br />

be specified separately. When adding or changing a code point mapping, care<br />

should be taken to modify both mappings for the code point. If, for example, a<br />

new mapping is added for EBCDIC to ASCII only, the ASCII to EBCDIC mapping<br />

for that code point will be the “undefined” character.<br />

Any new code point mappings added outside the valid range for the<br />

corresponding code page will not be used by the programs that load the binary<br />

table.<br />

DBCS Translation Table<br />

The DBCS translation tables also contain SBCS code point mappings. These are<br />

used for mixed-mode DBCS strings, containing both SBCS and DBCS characters.<br />

Shift-out (X'0E') and shift-in (X'0F') characters are used on the EBCDIC host to<br />

denote the beginning and end of DBCS characters within a mixed-mode string.<br />

Chapter 15. Using Translation Tables 283


Using Translation Tables<br />

The DBCS source files must contain exactly 256 SBCS code point mappings,<br />

situated at the end of the table. These may be modified to contain the required<br />

hexadecimal value.<br />

Syntax Rules for DBCS Translation Tables<br />

v<br />

v<br />

v<br />

v<br />

Comments may be included, either on a separate line or at the end of a line.<br />

Comments must start with a semicolon (;).<br />

Code point mappings in the file are position dependent. The first non-comment<br />

line for the DBCS and SBCS tables in the file will be used to establish the<br />

column position of the code point mappings, and must contain a conversion pair<br />

for each code page. Any conversion pairs on following lines must use the same<br />

column positions.<br />

It is permissible to leave blanks for code point mappings after the first line in<br />

the DBCS and SBCS areas. For example, if a line contains only one conversion<br />

pair, the column position will be used to determine which code page it refers to.<br />

The first column of each code page column pair, the “code index”, must be in<br />

ascending numerical order. Any gaps in the ascending order will be marked as<br />

“undefined” in the binary table created by CONVXLAT.<br />

Sample DBCS Translation Tables<br />

The following examples are from the STANDARD DBCS translation table source<br />

files. Because these files are very large, only excerpts from the tables are shown.<br />

Ellipses (...) are used to indicate that information has been deleted.<br />

284 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong><br />

Japanese Kanji DBCS Translation Tables<br />

;<br />

; STANDARD <strong>TCP</strong>KJLAT - Japanese translation tables.<br />

;<br />

; ETA = Ebcdic to Ascii Conversion (Host - PC)<br />

; ATE = Ascii to Ebcdic Conversion (PC - Host)<br />

;<br />

; Use CONVXLAT to generate STANDARD <strong>TCP</strong>KJBIN<br />

; from this source file.<br />

;<br />

;DBCS Area - SJISETA,SJISATE<br />

; - JDECETA,JDECATE not used for STANDARD <strong>TCP</strong>KJBIN generation.<br />

;<br />

;SJISETA SJISATE JIS78ETA JIS78ATE JIS83ETA JIS83ATE ...<br />

;<br />

4040 8140 8140 4040 4040 2121 2121 4040 4040 2121 2121 4040 ...<br />

4141 83BF 8141 4344 4141 2641 2122 4344 4141 2641 2122 4344 ...<br />

4142 83C0 8142 4341 4142 2642 2123 4341 4142 2642 2123 4341 ...<br />

4143 83C1 8143 426B 4143 2643 2124 426B 4143 2643 2124 426B ...<br />

4144 83C2 8144 424B 4144 2644 2125 424B 4144 2644 2125 424B ...<br />

4145 83C3 8145 4345 4145 2645 2126 4345 4145 2645 2126 4345 ...<br />

4146 83C4 8146 427A 4146 2646 2127 427A 4146 2646 2127 427A ...<br />

4147 83C5 8147 425E 4147 2647 2128 425E 4147 2647 2128 425E ...<br />

4148 83C6 8148 426F 4148 2648 2129 426F 4148 2648 2129 426F ...<br />

4149 83C7 8149 425A 4149 2649 212A 425A 4149 2649 212A 425A ...<br />

.<br />

;<br />

; SBCS Area<br />

;<br />

;---------<strong>TCP</strong>KJBIN generation (no codefiles)--------------| |--------------<br />

;SJISETA ATE JIS78ETA ATE JIS83ETA ATE SJEUCETA ATE J7KETA J7KATE<br />

;<br />

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..<br />

01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ..<br />

02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 ..


Using Translation Tables<br />

03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ..<br />

04 1A 04 37 04 1A 04 37 04 1A 04 37 04 1A 04 37 04 1A 04 37 ..<br />

05 09 05 2D 05 09 05 2D 05 09 05 2D 05 09 05 2D 05 09 05 2D ..<br />

06 1A 06 2E 06 1A 06 2E 06 1A 06 2E 06 1A 06 2E 06 1A 06 2E ..<br />

07 7F 07 2F 07 7F 07 2F 07 7F 07 2F 07 7F 07 2F 07 7F 07 2F ..<br />

08 1A 08 16 08 1A 08 16 08 1A 08 16 08 1A 08 16 08 1A 08 16 ..<br />

09 1A 09 05 09 1A 09 05 09 1A 09 05 09 1A 09 05 09 1A 09 05 ..<br />

.<br />

Hangeul DBCS Translation Tables<br />

;<br />

; STANDARD <strong>TCP</strong>HGLAT - Korean translation tables.<br />

;<br />

; ETA = Ebcdic to Ascii Conversion (Host - PC)<br />

; ATE = Ascii to Ebcdic Conversion (PC - Host)<br />

;<br />

;use CONVXLAT to generate STANDARD <strong>TCP</strong>HGBIN<br />

; from this source file.<br />

;<br />

; DBCS Area<br />

;<br />

; Code Page ID - 951 Code Page ID - 926<br />

; KSCETA KSCATE HANETA HANATE<br />

;<br />

4040 A1A1 8FA1 D541 4040 8140 8140 4040<br />

4141 A1A2 8FA2 D542 4141 8141 8141 4141<br />

4142 A1A3 8FA3 D543 4142 8142 8142 4142<br />

4143 A1A4 8FA4 D544 4143 8143 8143 4143<br />

4144 A1A5 8FA5 D545 4144 8144 8144 4144<br />

4145 A1A6 8FA6 D546 4145 8145 8145 4145<br />

4146 A1A7 8FA7 D547 4146 8146 8146 4146<br />

4147 A1A8 8FA8 D548 4147 8147 8147 4147<br />

4148 A1A9 8FA9 D549 4148 8148 8148 4148<br />

.<br />

4149 A1AA 8FAA D54A 4149 8149 8149 4149<br />

;<br />

; SBCS Area<br />

;<br />

;Code Page ID 1088 Code Page ID 891<br />

;SKSCETA SKSCATE SHANETA SHANATE<br />

;<br />

00 00 00 00 00 00 00 00<br />

01 01 01 01 01 01 01 01<br />

02 02 02 02 02 02 02 02<br />

03 03 03 03 03 03 03 03<br />

04 FF 04 37 04 FF 04 37<br />

05 09 05 2D 05 09 05 2D<br />

06 FF 06 2E 06 FF 06 2E<br />

07 1C 07 2F 07 1C 07 2F<br />

08 FF 08 16 08 FF 08 16<br />

09 FF 09 05 09 FF 09 05<br />

.<br />

Traditional Chinese DBCS Translation Tables<br />

;<br />

; STANDARD <strong>TCP</strong>CHLAT - Traditional Chinese translation tables.<br />

;<br />

; ETA = Ebcdic to Ascii Conversion (Host - PC)<br />

; ATE = Ascii to Ebcdic Conversion (PC - Host)<br />

;<br />

; Use CONVXLAT to generate STANDARD <strong>TCP</strong>CHBIN<br />

; from this source file.<br />

;<br />

; DBCS Area<br />

Chapter 15. Using Translation Tables 285


Using Translation Tables<br />

;<br />

; Code Page ID 927<br />

; TCHETA TCHATE<br />

;<br />

4040 8140 8140 4040<br />

4141 83BF 8141 4344<br />

4142 83C0 8142 4341<br />

4143 83C1 8143 426B<br />

4144 83C2 8144 424B<br />

4145 83C3 8145 4345<br />

4146 83C4 8146 427A<br />

4147 83C5 8147 425E<br />

4148 83C6 8148 426F<br />

4149 83C7 8149 425A<br />

.<br />

;<br />

; SBCS Area<br />

;<br />

; STCHETA STCHATE<br />

;<br />

00 00 00 00<br />

01 01 01 01<br />

02 02 02 02<br />

03 03 03 03<br />

04 cf 04 37<br />

05 09 05 2d<br />

06 d3 06 2e<br />

07 7f 07 2f<br />

08 d4 08 16<br />

09 d5 09 05<br />

.<br />

Converting Translation Tables to Binary<br />

The CONVXLAT command converts a translation table source file to a binary file<br />

that usable by <strong>TCP</strong>/<strong>IP</strong> client and server programs. CONVXLAT may be used to<br />

convert both SBCS and DBCS source file.<br />

The CONVXLAT Command<br />

The syntax of the CONVXLAT command is:<br />

►►<br />

CONVXLAT<br />

input_filename<br />

STANDARD<br />

output_filename ( KANJI<br />

HANGEUL<br />

TCHINESE<br />

►◄<br />

The parameters of the CONVXLAT command are:<br />

Parameter Description<br />

input_filename Specifies the file name of the source file to be converted. The<br />

source file must have a file type of <strong>TCP</strong>XLATE for SBCS tables, or<br />

a file type of <strong>TCP</strong>KJLAT, <strong>TCP</strong>HGLAT, or <strong>TCP</strong>CHLAT for DBCS<br />

tables. The first file with the required file name and file type in the<br />

standard minidisk search order is used.<br />

output_filename Specifies the destination file name created by the conversion. If this<br />

parameter is not specified, it defaults to the name STANDARD.<br />

286 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Using Translation Tables<br />

KANJI<br />

HANGEUL<br />

TCHINESE<br />

The destination file type will be <strong>TCP</strong>XLBIN for SBCS tables, or<br />

<strong>TCP</strong>KJBIN, <strong>TCP</strong>HGBIN, or <strong>TCP</strong>CHBIN for DBCS tables. The<br />

destination file mode is A, which must be accessed in write mode.<br />

Specifies that the table being converted is the Kanji DBCS/SBCS<br />

translation table. The file type of the source file must be<br />

<strong>TCP</strong>KJLAT. The file type of the destination file will be <strong>TCP</strong>KJBIN.<br />

Specifies that the table being converted is the Hangeul DBCS/SBCS<br />

translation table. The file type of the source file must be<br />

<strong>TCP</strong>HGLAT. The file type of the destination file will be<br />

<strong>TCP</strong>HGBIN.<br />

Specifies that the table being converted is the Traditional Chinese<br />

DBCS/SBCS translation table. The file type of the source file must<br />

be <strong>TCP</strong>CHLAT. The file type of the destination file will be<br />

<strong>TCP</strong>CHBIN.<br />

If no optional parameters are specified, then input_filename is assumed to contain<br />

an SBCS translation table.<br />

Chapter 15. Using Translation Tables 287


288 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Appendix A. Specifying Files and Data Sets<br />

This appendix describes the file naming formats for the AIX, OS/390, DOS, OS/2<br />

and Windows operating systems, as well as for the AS/400 operating system.<br />

Examples of each format are provided to show how the files appear to a <strong>TCP</strong>/<strong>IP</strong><br />

user who is logged on to the different operating systems.<br />

AIX Files<br />

For the Advanced Interactive Executive (AIX) operating system, data is stored in<br />

files. Related files are stored in a directory.<br />

The following is the format of an AIX file name.<br />

►► /directory_name/file_name ►◄<br />

Parameter<br />

directory_name<br />

file_name<br />

Description<br />

Specifies a directory name. Directories contain the names of files,<br />

other directories, or both.<br />

Specifies a file name. It can be up to 14 characters long.<br />

The complete name of an AIX file contains the directory name and the file name.<br />

The following is an example of an AIX file.<br />

/mailfiles/cooks<br />

Where:<br />

mailfiles<br />

cooks<br />

Is the directory name.<br />

Is the file name.<br />

In AIX, you specify the first slash (/) only when you begin at the root directory. If<br />

you are specifying a file in the current directory, enter only the file name. For<br />

example, if you are in the current directory mailfiles and you want to access the<br />

cooks file, specify:<br />

cooks<br />

The directory name and file name can each be up to 14 characters. The AIX<br />

operating system distinguishes between uppercase and lowercase letters in file<br />

names.<br />

A directory name and file name should not include characters, such as backslash<br />

(\), ampersand (&), and period (.), which have a special meaning to the AIX<br />

operating system shell.<br />

For more information about AIX files, see AIX System User’s <strong>Guide</strong>.<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 289


Specifying Files and Data Sets<br />

OS/390 Data Sets<br />

The two most common data set types used for storing user files on an OS/390<br />

operating system are sequential data sets and partitioned data sets.<br />

Sequential Data Sets<br />

A sequential data set is a single file that can be allocated with any record length<br />

specified. The naming requirements for a sequential data set on an OS/390 host are<br />

minimal, and most of the requirements apply to any data set name under OS/390.<br />

The naming requirements for a sequential data set are:<br />

v No part of the name can start with a numeric.<br />

v No part of the name can be more than eight characters in length.<br />

v Each part of the name is separated by a period.<br />

v If single quotation marks are not used when specifying the data set name, the<br />

OS/390 system appends the logon user ID as the first part of the name.<br />

A sequential data set name can have a minimum of two and a maximum of 44<br />

characters.<br />

The following examples show the naming conventions for sequential data sets on<br />

an OS/390 host.<br />

To access the sequential data set KC00852.NAMES, the user KC00852 enters one of the<br />

following:<br />

’KC00852.NAMES’<br />

or<br />

NAMES<br />

Either of these formats is acceptable to access a sequential data set.<br />

Partitioned Data Sets<br />

A partitioned data set (PDS) is a group of files contained in a library. The<br />

individual files that make up a PDS are called members. You can access an entire<br />

PDS or any individual member of a PDS.<br />

The following restrictions apply to the naming conventions that are used with a<br />

partitioned data set:<br />

v No part of the name can start with a numeric.<br />

v No part of the name can be more than eight characters in length.<br />

v Each part of the name is separated by a period.<br />

v<br />

If single quotation marks are not used when specifying the PDS name, the<br />

OS/390 system appends the logon user ID as the first part of the name.<br />

The difference between a sequential and partitioned data set specification is that<br />

the partitioned data set user accesses the directory of members in the PDS, and the<br />

sequential data set user accesses an individual file.<br />

The following examples show the naming conventions for partitioned data sets on<br />

an OS/390 host.<br />

To access the partitioned data set KC00852.PDS.NAMES, the user KC00852 enters one<br />

of the following:<br />

290 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Specifying Files and Data Sets<br />

’KC00852.PDS.NAMES’<br />

or<br />

PDS.NAMES<br />

Either of these formats is acceptable to access a partitioned data set.<br />

To access an individual file in a PDS, the member name is entered in parentheses.<br />

To access the member PROPER in the PDS KC00852.PDS.NAMES, the user KC00852<br />

enters one of the following:<br />

’KC00852.NAMES(PROPER)’<br />

or<br />

NAMES(PROPER)<br />

Either of these formats is acceptable to access members in a partitioned data set.<br />

DOS, OS/2, and Windows 98 Files<br />

DOS, OS/2, and Windows 98 files are stored on high-capacity storage device,<br />

usually fixed disks or to a lesser extent, a diskette. Files, the smallest unit of<br />

organization on a hard drive are organized in directories and branching<br />

subdirectories. A storage device is identified by a drive letter.<br />

The complete name of a DOS, OS/2, or Windows 98 file contains the storage<br />

device identifier, directory name, file name, and extension. The following is an<br />

example of a complete name for a DOS, OS/2, or Windows file:<br />

C:\WP\MAIL.LST<br />

In this example, the storage device identifier is C: and the directory name is WP,<br />

which could be a group of word processing files. The file name is MAIL, and the file<br />

extension is .LST.<br />

In DOS, OS/2, and Windows 98, the device identifier is a drive letter that is<br />

assigned by the file system, followed by a colon. The drive letter, such as A, B, or<br />

C, can represent either a physical device or a logical device. If a device identifier is<br />

not specified, the default is the device from which the system was booted or the<br />

current drive.<br />

You assign the directory name, preceded by a backslash. A directory name is<br />

optional. If a directory name is not specified, the system searches the current<br />

directory.<br />

Normally, you would also assign a file name. In DOS, file names can be eight<br />

characters long and have a three character extension. The file extension is a<br />

character string that consists of one to three characters, preceded by a period. A file<br />

extension is optional.<br />

With OS/2, you will generally use one of two file systems: File Allocation Table or<br />

FAT, or else the High Performance File System, known as HPFS. You can have both<br />

these file systems active at the same time. For example, you can have the FAT file<br />

system on one hard disk, and the HPFS active on another.<br />

The FAT format uses the familiar but limited naming convention, where a file or<br />

directory name can have up to eight letters, followed by a period and then the<br />

three-letter extension. HPFS provides support for long file names, up to 254<br />

characters, including path information. including path information.<br />

Appendix A. Specifying Files and Data Sets 291


Specifying Files and Data Sets<br />

AS/400 Operating System<br />

Windows 98 supports 256-character filenames as well as upper and lowercase<br />

characters.<br />

If you use an invalid file name, the system gives you an error message.<br />

The following are examples of different DOS OS/2, and Windows 98 file names<br />

that are valid.<br />

TEMP<br />

START.BAT<br />

A:COMMAND.COM<br />

C:SPF\SPFPC.HLP<br />

C:REPORTS\ThisISALongFilename.TXT (Windows 98)<br />

For the AS/400 operating system, data is stored in files.<br />

The following is the format of an AS/400 file.<br />

►► library/file.member ►◄<br />

Parameter<br />

library<br />

file.member<br />

Description<br />

Is a library name. Libraries contain the names of programs, files,<br />

and commands.<br />

Is the file name.<br />

In AS/400, files can have one or more members. Each file can consist of data<br />

records, source programs, or database definitions.<br />

The FTP subcommand PUT is used to copy a local file member into a file at the<br />

remote host. The following is an example:<br />

PUT <strong>TCP</strong>LIBA/FILEA.MBRA <strong>TCP</strong>LIBB/FILEA.MBRA<br />

In this example, the PUT subcommand copies the file member MBRA in file FILEA<br />

into library <strong>TCP</strong>LIBA at the local host to MBRA in FILEA in library <strong>TCP</strong>LIBB at the<br />

remote host. If the member already exists at the remote host, it is overwritten.<br />

292 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Appendix B. Using the NETRC DATA File<br />

This appendix describes the NETRC DATA File and how it is used by:<br />

v FTP Client<br />

v REXEC<br />

v OPEN<strong>VM</strong> MOUNT CMS Command<br />

NETRC-capable commands use fully-qualified host domain names when<br />

attempting to match a command specified host name with those in the NETRC<br />

DATA file. Thus, you may specify fully-qualified host domain names on the<br />

command in the NETRC DATA file. Otherwise, the command will construct a<br />

fully-qualified host domain name for you, by concatenating the host name you<br />

have provided with the domain origin specified on the DOMAINORIGIN<br />

statement of the <strong>TCP</strong><strong>IP</strong> DATA configuration file.<br />

You maintain the NETRC DATA file on your own minidisk or directory. The first<br />

NETRC DATA file found in the CMS search order will be used when the command<br />

is invoked. Since the NETRC DATA file contains logon passwords, ensure you<br />

restrict access to this file using security measures appropriate for your<br />

environment. Do not keep this file on a disk or directory to which other persons<br />

have access. A file mode number of 0 will not adequately protect this file.<br />

The format for entries in the NETRC DATA file follows:<br />

machine foreign_host login user_id password password<br />

Several sample NETRC DATA file entries follow:<br />

machine oddjob login anonymou password anonymou<br />

machine 123.45.67.89 login guest password guest<br />

machine oddjob.specific.domain.com login cibulama password onion1<br />

machine filmore.east.com login bluespwr password albertk<br />

machine rocketman login gordon password flash<br />

Using The NETRC DATA File with FTP<br />

The NETRC DATA file provides an alternative to responding to FTP prompts for<br />

logon information when you connect to a foreign host. When a user name and<br />

password for a specific host are defined in this file, FTP will use those values<br />

instead of prompting for this information.<br />

When the FTP command, or its OPEN subcommand is issued, FTP searches the<br />

NETRC DATA file for the first valid match on the specified host. If found, that<br />

host’s user name and password are used when a connection to that host is<br />

attempted. If no match is found for the host in question, you are prompted for a<br />

user name and password, unless the NOPROMPT option has been specified.<br />

Using The NETRC DATA File with REXEC<br />

The NETRC DATA file provides an alternative for specifying the REXEC user_id<br />

and password parameters. If these parameters are defined within this file for a<br />

specific host, they can be omitted when you issue a REXEC command against that<br />

host.<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 293


NETRC DATA File<br />

REXEC searches the NETRC DATA file for the first valid match on the specified<br />

host. If found, that host's user name and password are used when a connection to<br />

that host is attempted. If no match is found for the host in question, you are<br />

prompted for a user name and password, unless the -k option has been specified.<br />

The following example shows a REXEC command for which the required login<br />

userid and password values have been supplied by a NETRC DATA file entry. In<br />

this example the DIR C: command has been issued against the OS/2 host<br />

FILMORE:<br />

rexec filmore dir c:<br />

The volume label in drive C is OS2.<br />

The Volume Serial Number is A6B0 11-30-93 9:56a 0 .<br />

11-30-93 9:56a 0 ..<br />

1-17-94 4:36p 374 0 AUTOEXEC.BAT<br />

1-05-94 4:15p 0 BITMAPS<br />

11-30-93 11:37a 0 CMLIB<br />

4-20-94 2:18p 2968 35 CONFIG.LAP<br />

5-01-95 4:31p 3281 0 CONFIG.SYS<br />

4-06-95 12:01p 3333 0 CONFIG.<strong>TCP</strong><br />

11-30-93 11:00a 1567 DESKTOP<br />

6-08-94 11:18a 0 FTPTEMP<br />

11-30-93 11:21a 1607 <strong>IBM</strong>COM<br />

5-01-95 8:22a 1016 0 <strong>IBM</strong>LVL.INI<br />

4-20-94 1:22p 0 LANLK<br />

6-08-94 1:01p 0 NFSTEST<br />

11-30-93 9:56a 4049 OS2<br />

11-30-93 9:56a 0 PSFONTS<br />

5-14-93 10:02p 40415 0 README<br />

11-30-93 11:00a 0 SPOOL<br />

4-06-95 11:52a 80 0 STARTUP.BAK<br />

4-06-95 12:01p 80 0 STARTUP.CMD<br />

4-20-94 2:37p 0 <strong>TCP</strong><strong>IP</strong><br />

1-17-94 2:18p 329 UTILS<br />

22 file(s) 65759 bytes used<br />

9502208 bytes free<br />

Ready;<br />

RUNNING<br />

GD3<strong>VM</strong>0<br />

Using the NETRC DATA File with the OPEN MOUNT CMS Command<br />

The NETRC DATA file provides an alternative for specifying the username and<br />

password parameters on the OPEN<strong>VM</strong> MOUNT command. OPEN<strong>VM</strong> MOUNT is a<br />

CMS commnd, documented in the z/<strong>VM</strong>: OpenExtensions Command Reference that<br />

provides NFS client support for z/<strong>VM</strong>. This allows you to NFS-mount remote file<br />

systems in your Byte File System (BFS) hierarchy.<br />

If the username and password are defined within the NETRC DATA file for a specific<br />

foreign host, you can omit them from an OPEN<strong>VM</strong> MOUNT command issued for<br />

that host.<br />

294 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Appendix C. Mapping Values for the APL2 Character Set<br />

GDDMXD/<strong>VM</strong> has default mapping values for the APL2 character set. However, if<br />

the GDXAPLCS MAP file exists, the default mapping values are overridden.<br />

Each entry in the GDXAPLCS MAP file (alternative character set) contains the<br />

mapping for a particular physical key that corresponds to three characters. The<br />

characters correspond to the physical key by:<br />

v Pressing the key alone<br />

v Pressing the key and the Shift key simultaneously<br />

v Pressing the key and the Alt key simultaneously<br />

GDXAPLCS MAP file entries must contain the following seven single byte<br />

hexadecimal values entered as EBCDIC characters.<br />

v Value 1 is the hexadecimal keycode for the physical key.<br />

v<br />

v<br />

Values 2, 4, and 6 identify whether the character is in the primary or alternative<br />

character set for the emulated 3179G. If the character is in the primary set, the<br />

value is 0; if the character is in the alternative set, the value is 8.<br />

Values 3, 5, and 7 specify the EBCDIC code of the character in the character set.<br />

The combination of values 2 and 3 define the bytes that describe the character<br />

when the key corresponding to the keycode is pressed alone.<br />

The combination of values 4 and 5 define the bytes that describe the character<br />

when the key corresponding to the keycode and the Shift key are pressed<br />

simultaneously.<br />

The combination of values 6 and 7 define the bytes that describe the character<br />

when the key corresponding to the keycode and the Alt key are pressed<br />

simultaneously.<br />

Table 20 lists the mapping values for the APL2 character set.<br />

Table 20. Mapping Values for the APL2 Character Set<br />

Character Name<br />

Character Set EBCDIC Default Keycode<br />

Value Value<br />

Quad Jot 8 73 9 + Shift<br />

Quad Slope 8 CE 9 + Alt<br />

1 0 F1 A<br />

Diaeresis 8 72 A + Shift<br />

Down Tack Up Tack 8 DA A + Alt<br />

2 0 F2 B<br />

Overbar 8 A0 B + Shift<br />

Del Tilde 8 FB B + Alt<br />

3 0 F3 C<br />


Mapping APL2 Character Set Values<br />

Table 20. Mapping Values for the APL2 Character Set (continued)<br />

Character Name<br />

Character Set<br />

Value<br />

EBCDIC<br />

Value<br />

Default Keycode<br />

Not Greater 8 8C D + Shift<br />

Delta Stile 8 DD D + Alt<br />

5 0 F5 E<br />

= 0 7E E + Shift<br />

Circle Stile 8 CD E + Alt<br />

6 0 F6 F<br />

Not Less 8 AE F + Shift<br />

Circle Slope 8 CF F + Alt<br />

7 0 F7 10<br />

>; 0 6E 10 + Shift<br />

Circle Bar 8 ED 10 + Alt<br />

8 0 F8 11<br />

Not Equal 8 BE 11 + Shift<br />

Circle Star 8 FD 11 + Alt<br />

9 0 F9 12<br />

Down Caret 8 78 12 + Shift<br />

Down Caret Tilde 8 CB 12 + Alt<br />

0 0 F0 13<br />

Up Caret 8 71 13 + Shift<br />

Up Caret Tilde 8 CA 13 + Alt<br />

+ 0 4E 14<br />

- 0 60 14 + Shift<br />

! 8 DB 14 + Alt<br />

Times 8 B6 15<br />

Divide 8 B8 15 + Shift<br />

Quad Divide 8 EE 15 + Alt<br />

Q 0 D8 19<br />

? 0 6F 19 + Shift<br />

Q Underbar 8 58 19 + Alt<br />

W 0 E6 1A<br />

Omega 8 B4 1A + Shift<br />

W Underbar 8 66 1A + Alt<br />

E 0 C5 1B<br />

Epsilon 8 B1 1B + Shift<br />

E Underbar 8 45 1B + Alt<br />

R 0 D9 1C<br />

Rho 8 B3 1C + Shift<br />

R Underbar 8 59 1C + Alt<br />

T 0 E3 1D<br />

296 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Table 20. Mapping Values for the APL2 Character Set (continued)<br />

Character Name<br />

Character Set<br />

Value<br />

Mapping APL2 Character Set Values<br />

EBCDIC<br />

Value<br />

Default Keycode<br />

Tilde 8 80 1D + Shift<br />

T Underbar 8 63 1D + Alt<br />

Y 0 E8 1E<br />

Up Arrow 8 8A 1E + Shift<br />

Y Underbar 8 68 1E + Alt<br />

U 0 E4 1F<br />

Down Arrow 8 8B 1F + Shift<br />

U Underbar 8 64 1F + Alt<br />

I 0 C9 20<br />

Iota 8 B2 20 + Shift<br />

I Underbar 8 49 20 + Alt<br />

O 0 D6 21<br />

Circle 8 9D 21 + Shift<br />

O Underbar 8 56 21 + Alt<br />

P 0 D7 22<br />

Star 0 5C 22 + Shift<br />

P Underbar 8 57 22 + Alt<br />

Left Arrow 8 9F 23<br />

Right Arrow 8 8F 23 + Shift<br />

Quad Quote 8 DE 23 + Alt<br />

Left Brk Right Brk 8 CC 24<br />

Iota Underbar 8 74 24 + Shift<br />

Delta Underbar 8 FC 24 + Alt<br />

Equal Underbar 8 E1 25<br />

Epsilon Underbar 8 E1 25 + Shift<br />

Diaeresis Dot 8 75 25 + Alt<br />

A 0 C1 27<br />

Alpha 8 B0 27 + Shift<br />

A Underbar 8 41 27 + Alt<br />

S 0 E2 28<br />

Up Stile 8 8D 28 + Shift<br />

S Underbar 8 62 28 + Alt<br />

D 0 C4 29<br />

Down Stile 8 8E 29 + Shift<br />

D Underbar 8 44 29 + Alt<br />

F 0 C6 2A<br />

Underbar 0 6D 2A + Shift<br />

F Underbar 8 46 2A + Alt<br />

G 0 C7 2B<br />

Appendix C. Mapping Values for the APL2 Character Set 297


Mapping APL2 Character Set Values<br />

Table 20. Mapping Values for the APL2 Character Set (continued)<br />

Character Name<br />

Character Set<br />

Value<br />

EBCDIC<br />

Value<br />

Default Keycode<br />

Del 8 BA 2B + Shift<br />

G Underbar 8 47 2B + Alt<br />

H 0 C8 2C<br />

Delta 8 BB 2C + Shift<br />

H Underbar 8 48 2C + Alt<br />

J 0 D1 2D<br />

Jot 8 AF 2D + Shift<br />

J Underbar 8 51 2D + Alt<br />

K 0 D2 2E<br />

Quote 0 7D 2E + Shift<br />

K Underbar 8 52 2E + Alt<br />

L 0 D3 2F<br />

Quad 8 90 2F + Shift<br />

L Underbar 8 53 2F + Alt<br />

Left Bracket 8 AD 30<br />

( 0 4D 30 + Shift<br />

Down Tack Jot 8 FE 30 + Alt<br />

Right Bracket 8 BD 31<br />

) 0 5D 31 + Shift<br />

Up Tack Jot 8 EF 31 + Alt<br />

Z 0 E9 36<br />

Left Shoe 8 9B 36 + Shift<br />

Z Underbar 8 69 36 + Alt<br />

X 0 E7 37<br />

Right Shoe 8 9A 37 + Shift<br />

X Underbar 8 67 37 + Alt<br />

C 0 C3 38<br />

Up Shoe 8 AA 38 + Shift<br />

C Underbar 8 43 38 + Alt<br />

V 0 E5 39<br />

Down Shoe 8 AB 39 + Shift<br />

V Underbar 8 65 39 + Alt<br />

B 0 C2 3A<br />

Down Tack 8 AC 3A + Shift<br />

B Underbar 8 42 3A + Alt<br />

N 0 D5 3B<br />

Up Tack 8 BC 3B + Shift<br />

N Underbar 8 55 3B + Alt<br />

M 0 D4 3C<br />

298 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Table 20. Mapping Values for the APL2 Character Set (continued)<br />

Character Name<br />

Character Set<br />

Value<br />

Mapping APL2 Character Set Values<br />

EBCDIC<br />

Value<br />

Default Keycode<br />

Stile 0 4F 3C + Shift<br />

M Underbar 8 54 3C + Alt<br />

, 0 6B 3D<br />

; 0 5E 3D + Shift<br />

Up Shoe Jot 8 DF 3D + Alt<br />

period 0 4B 3E<br />

: 0 7A 3E + Shift<br />

Slope Bar 8 EB 3E + Alt<br />

/ 0 61 3F<br />

\ 0 E0 3F + Shift<br />

Slash Bar 8 EA 3F + Alt<br />

Space 0 40 45<br />

Appendix C. Mapping Values for the APL2 Character Set 299


Mapping APL2 Character Set Values<br />

300 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Appendix D. Using DBCS with FTP and Mail<br />

Using DBCS with FTP<br />

This appendix describes how to use the DBCS facilities provided by FTP and<br />

SMTP.<br />

This section describes how to use FTP with DBCS support to exchange DBCS files<br />

between hosts supporting DBCS file transfer.<br />

DBCS Translation Tables<br />

The <strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> FTP server and client programs access files containing data that is<br />

usually in EBCDIC format. To transfer these files to or from an ASCII based host<br />

requires the use of a translation table.<br />

The FTP server and client may be configured to load a number of DBCS translation<br />

tables. These are used during file transfers to convert EBCDIC DBCS characters to<br />

and from ASCII. The LOADDBCSTABLE statement in FTP DATA is used by both<br />

the FTP server and client to determine which DBCS translate table files should be<br />

loaded at initialization time.<br />

Control and Data Connection Translation<br />

The transfer of a DBCS file by FTP actually uses three different translation tables;<br />

two SBCS and one DBCS. The control connection that is used to transfer FTP<br />

commands and replies, uses the SBCS translation table that is normally loaded<br />

from the STANDARD <strong>TCP</strong>XLBIN file. The data connection that is used to transfer<br />

the file, uses both an SBCS and DBCS translation table that are normally loaded<br />

from either the STANDARD <strong>TCP</strong>KJBIN, STANDARD <strong>TCP</strong>HGBIN, or STANDARD<br />

<strong>TCP</strong>CHBIN file.<br />

Both SBCS and DBCS translation tables are required for the transfer of a DBCS file,<br />

as the file may contain mixed-mode strings. A mixed mode string contains both<br />

SBCS and DBCS data, delimited by shift-out and shift-in characters.<br />

Although DBCS support for FTP does not include direct support for Katakana, it is<br />

possible to separately configure the SBCS table used for the control connection<br />

(user interface), and the data connection. The SBCS translation table for SJISKANJI,<br />

for example, could be altered to a Katakana based code page.<br />

DBCS Subcommands<br />

DBCS files are transferred using the standard FTP subcommands “put” and “get”.<br />

Before the transfer commences, however, the current transfer type for the session<br />

must be set to the required DBCS type. To set the transfer type to DBCS for an FTP<br />

session, requires the sending of a TYPE command from the client to the server in<br />

the correct format. The <strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> FTP client provides three ways of generating<br />

TYPE commands:<br />

1. TYPE subcommand<br />

2. TYPE subcommand aliases<br />

3. QUOTE subcommand<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 301


Using DBCS with FTP and Mail<br />

TYPE Subcommand<br />

The TYPE command sets the transfer type for the client and server at the same<br />

time with one command. The following DBCS TYPE subcommands are supported<br />

by the <strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> FTP server and client.<br />

►► TYPE B<br />

B 1<br />

B 2<br />

B 3<br />

B 3 A<br />

B 3 R<br />

B 4<br />

B 4 A<br />

B 4 R<br />

B 5<br />

B 6<br />

B 7<br />

F<br />

F 1<br />

►◄<br />

Parameter<br />

TYPE B<br />

TYPE B 1<br />

TYPE B 2<br />

TYPE B 3<br />

TYPEB3A<br />

TYPEB3R<br />

TYPE B 4<br />

TYPEB4A<br />

TYPEB4R<br />

TYPE B 5<br />

TYPE B 6<br />

Description<br />

Change current transfer type to Shift JIS Kanji<br />

Change current transfer type to Shift JIS Kanji<br />

Change current transfer type to Extended Unix Code Kanji<br />

Change current transfer type to JIS 1983 Kanji using ASCII shift-in<br />

escape sequence ESC(B<br />

Change current transfer type to JIS 1983 Kanji using ASCII shift-in<br />

escape sequence ESC(B<br />

Change current transfer type to JIS 1983 Kanji using JISROMAN<br />

shift-in escape sequence ESC(J<br />

Change current transfer type to JIS 1978 Kanji using ASCII shift-in<br />

escape sequence ESC(B<br />

Change current transfer type to JIS 1978 Kanji using ASCII shift-in<br />

escape sequence ESC(B<br />

Change current transfer type to JIS 1978 Kanji using JISROMAN<br />

shift-in escape sequence ESC(J<br />

Change current transfer type to Hangeul<br />

Change current transfer type to Korean Standard Code KSC-5601,<br />

1989 version<br />

TYPE B 7 Change current transfer type to Traditional Chinese (5550)<br />

TYPE F Change current transfer type to <strong>IBM</strong> (EBCDIC) Kanji<br />

TYPE F 1 Change current transfer type to <strong>IBM</strong> (EBCDIC) Kanji<br />

TYPE Subcommand Aliases<br />

Each DBCS TYPE subcommand may be specified using a single word alias. Each<br />

TYPE subcommand alias generates the same TYPE command to the client and<br />

302 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Table 21. FTP TYPE commands<br />

Using DBCS with FTP and Mail<br />

server as the corresponding TYPE subcommand. The TYPE subcommand aliases<br />

may be abbreviated using the minimum unambiguous client subcommand<br />

abbreviations.<br />

The TYPE subcommand aliases also have an optional parameter (NOTYPE, that<br />

specifies that the DBCS type should only be set locally. This is used when<br />

connecting to an FTP server that does not support the TYPE command generated<br />

by the TYPE subcommand alias. For example, SJISKANJI (NOTYPE causes the FTP<br />

client to change its transfer type to Shift JIS Kanji, without changing the transfer<br />

type in the FTP server. The server in this example should be set to the ASCII<br />

transfer type before the (NOTYPE subcommand is issued. Table 21 indicates the<br />

actual server command that would be generated for each client subcommand alias:<br />

Client Subcommand Server Command Description<br />

SJISKANJI TYPE B 1 Shift JIS Kanji transfer type<br />

EUCKANJI TYPE B 2 Extended Unix Code Kanji transfer type<br />

JIS83KJ TYPE B 3 JIS 1983 Kanji using ASCII shift-in transfer type<br />

JIS83KJ (ASCII TYPE B 3 A JIS 1983 Kanji using ASCII shift-in transfer type<br />

JIS83KJ (JISROMAN TYPE B3R JIS1983 Kanji using JISROMAN shift-in transfer<br />

type<br />

JIS78KJ TYPE B 4 JIS 1978 Kanji using ASCII shift-in transfer type<br />

JIS78KJ (ASCII TYPE B 4 A JIS 1978 Kanji using ASCII shift-in transfer type<br />

JIS78KJ (JISROMAN TYPE B4R JIS1978 Kanji using JISROMAN shift-in transfer<br />

type<br />

HANGEUL TYPE B 5 Hangeul transfer type<br />

KSC5601 TYPE B 6 Korean Standard Code KSC-5601 transfer type<br />

TCHINESE TYPE B 7 Traditional Chinese (5550) transfer type<br />

<strong>IBM</strong>KANJI TYPE F 1 <strong>IBM</strong> (EBCDIC) Kanji transfer type<br />

QUOTE Subcommand<br />

The QUOTE subcommand may be used to send an uninterpreted string of data to<br />

the server. The QUOTE subcommand may be used to generate any of the DBCS<br />

TYPE commands supported by the server. The QUOTE subcommand would be<br />

used when the FTP server supports the DBCS TYPE command, but the FTP client<br />

does not. For example, QUOTE TYPE B 1 causes the FTP server to change its<br />

transfer type to Shift JIS Kanji, without changing the transfer type in the FTP<br />

client. The client in this example should be set to the ASCII transfer type before the<br />

QUOTE subcommand is issued.<br />

The following examples show the screen display when setting the DBCS transfer<br />

type to JIS78KJ, shift-in JISROMAN, using a <strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> FTP client connected to a<br />

<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> FTP server. All three methods of setting the DBCS transfer type are<br />

demonstrated.<br />

Appendix D. Using DBCS with FTP and Mail 303


Using DBCS with FTP and Mail<br />

User:<br />

System:<br />

System:<br />

System:<br />

User:<br />

System:<br />

System:<br />

System:<br />

User:<br />

System:<br />

User:<br />

System:<br />

System:<br />

System:<br />

jis78kj (jisroman<br />

>;>;>;TYPE b4r<br />

200 Representation type is KANJI JIS 1978 shift-in JISROMAN<br />

Command:<br />

type b4r<br />

>;>;>;TYPE b4r<br />

200 Representation type is KANJI JIS 1978 shift-in JISROMAN<br />

Command:<br />

jis78kj (jisroman notype<br />

Command:<br />

quote type b4r<br />

>;>;>;type b4r<br />

200 Representation type is KANJI JIS 1978 shift-in JISROMAN<br />

Command:<br />

Defining FTP with Kanji Support<br />

The following FTP subcommands can set the appropriate transfer type for the<br />

Kanji file transfer. The translation table STANDARD <strong>TCP</strong>KJBIN converts the<br />

transmitted data between Kanji and ASCII. This file is installed in the user visible<br />

minidisk from FTPSERVE user ID. The following are the FTP Kanji transfer type<br />

subcommands:<br />

Subcommand<br />

SJISKANJI<br />

EUCKANJI<br />

JIS83KJ<br />

JIS78KJ<br />

<strong>IBM</strong>KANJI<br />

Option<br />

(notype<br />

(notype<br />

(notype<br />

(notype<br />

(notype<br />

The (notype option is used for the standard FTP server that does not have Kanji<br />

support. FTP sets the data type for the client and server at the same time with one<br />

command. If Kanji support is only in the FTP user, the FTP server cannot accept<br />

Kanji data types with the TYPE subcommand. The Kanji subcommands with the<br />

(notype option should be used, without the TYPE subcommand.<br />

Using FTP with Kanji Support<br />

The FTP TYPE subcommand supports single byte transfer for ASCII and EBCDIC<br />

data transfer (TYPE A or TYPE E). Kanji data types allow you to transfer text files<br />

with a Kanji code set. TYPE B defines the data type of the Kanji code based on the<br />

ASCII code set. TYPE F defines the data type of the Kanji code based on the<br />

EBCDIC code set.<br />

The following are the Kanji code set types, based on ASCII (TYPE B) AND<br />

EBCDIC (TYPE F):<br />

Command Kanji Code Set<br />

TYPE B 1 Shift JIS<br />

TYPE B 2 Extended UNIX Code<br />

TYPE B JIS 1983 edition<br />

TYPE B 4 JIS 1978 edition<br />

TYPE F 1 <strong>IBM</strong> Kanji<br />

The number associated with the data type is the argument of the TYPE command.<br />

For example, if JIS 1983 edition code is used in the data transfer, issue the<br />

command TYPE B 3. If <strong>IBM</strong> code is used in the data transfer, issue the command<br />

TYPE F 1.<br />

304 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Using DBCS with Mail<br />

Using DBCS with FTP and Mail<br />

If the FTP user does not support the Kanji extension, you should issue the FTP<br />

QUOTE subcommand to change the data type in the FTP Kanji server. For<br />

example, QUOTE TYPE B 1 causes the FTP server to change its data type to Shift<br />

JIS code without changing the data type in the FTP user. In this example, you must<br />

set the ASCII data type before you issue the QUOTE subcommand.<br />

This section describes how to use SMTP with DBCS support to exchange DBCS<br />

mail and messages between hosts supporting DBCS mail.<br />

SMTP Server DBCS Support<br />

Mail in EBCDIC DBCS Kanji, Hangeul, or Traditional Chinese, may be sent to a<br />

remote host via the CMS NOTE and SENDFILE commands, if the local SMTP<br />

server or agent is configured with the corresponding DBCS support. For more<br />

information on configuring DBCS support for the SMTP server, see <strong>TCP</strong>/<strong>IP</strong><br />

Planning and Customization.<br />

SMTP Protocol for 8-bit characters<br />

The protocol specification for SMTP describes a transport service that provides an<br />

8-bit byte transmission channel, with each 7-bit character transmitted right-justified<br />

in an octet with the high-order bit cleared to zero. JIS Kanji DBCS may be<br />

transmitted using this protocol, as its code consists of two bytes with 7-bit ASCII<br />

and three bytes of escape sequences. JUNET, which is the Japanese academic and<br />

research network connecting various UNIX operating systems, provides network<br />

services using JIS Kanji code. Other DBCS types, such as Shift-JIS Kanji, require<br />

transmission using 8-bit characters. To allow transmission of these other types, the<br />

protocol has been extended in the <strong>VM</strong> SMTP server to accept 8-bit characters.<br />

To successfully distribute mail with 8-bit DBCS characters, requires that other<br />

SMTP servers on the same network support this extension to the SMTP protocol.<br />

The AIX SMTP server and the MVS version 3.1 SMTP server also support the<br />

transmission of 8-bit characters.<br />

Conversion of DBCS Mail<br />

The transmission of DBCS mail by SMTP actually uses three different translation<br />

tables; two SBCS and one DBCS. Mail headers are converted to ASCII using the<br />

SBCS translation table that is normally loaded from the STANDARD <strong>TCP</strong>XLBIN<br />

file. The body of the mail is converted using both the SBCS and DBCS translation<br />

tables that are normally loaded from either the STANDARD <strong>TCP</strong>KJBIN,<br />

STANDARD <strong>TCP</strong>HGBIN, or STANDARD <strong>TCP</strong>CHBIN file.<br />

Both SBCS and DBCS translation tables are required for the transmission of DBCS<br />

mail, as the mail may contain mixed-mode strings. A mixed mode string contains<br />

both SBCS and DBCS data, delimited by shift-out and shift-in characters.<br />

Although DBCS support for SMTP does not include direct support for Katakana, it<br />

is possible to separately configure the SBCS table used for mail headers, and that<br />

used for the body of the mail. If the SMTP server was configured with SJISKANJI,<br />

for example, then the SBCS translation table for SJISKANJI could be altered to a<br />

Katakana based code page.<br />

Appendix D. Using DBCS with FTP and Mail 305


Using DBCS with FTP and Mail<br />

DBCS conversion is only performed on outgoing and incoming mail to and from<br />

other hosts. Mail spooled to SMTP via NOTE or SENDFILE for the local host, is<br />

delivered directly, without any DBCS code conversion.<br />

Conversion of DBCS Files<br />

The transmission of DBCS files by UFT uses three different translation tables; two<br />

SBCS and on DBCS. UFT protocol statements are converted to ASCII using the<br />

SBCS translation table imbedded in the UFT client (which maps to the<br />

STANDARD table). The file data is converted using both the SBCS and DBCS<br />

translation tables that are normally loaded from the filename specified on the<br />

SENDFILE TRANSLATE option with a filetype of either <strong>TCP</strong>KJBIN, <strong>TCP</strong>HGBIN or<br />

<strong>TCP</strong>CHBIN.<br />

306 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Appendix E. Management Information Base Objects<br />

This appendix describes the objects defined by the Management Information Base<br />

(MIB), the MIB-II, and the <strong>IBM</strong> 3172 enterprise-specific variables supported by <strong>VM</strong>.<br />

The following list contains the supported variables.<br />

v System<br />

v Interfaces<br />

v Address Translation<br />

v Internet Protocol (<strong>IP</strong>)<br />

v Internet Control Message Protocol (ICMP)<br />

v Transmission Control Protocol (<strong>TCP</strong>)<br />

v User Datagram Protocol (UDP)<br />

v <strong>IBM</strong> 3172 Enterprise-Specific<br />

For a complete list of the MIB and MIB-II variables, see RFC 1156 (MIB) and RFC<br />

1158 (MIB-II).<br />

The object types are defined using the following fields:<br />

Object A textual name, called the OBJECT DESCR<strong>IP</strong>TOR, for the object<br />

type, along with its corresponding OBJECT IDENTIFIER.<br />

Syntax The syntax for the object type, using ASN.1 notation. The syntax<br />

indicates that the following data is to be treated as a collection of<br />

objects that can be repeated. For example, the collection of objects<br />

can be row entries in a routing table with an unspecified number<br />

of rows. Therefore, these descriptors are not really MIB objects that<br />

can be manipulated, but only the objects within the sequence.<br />

Definition A description of the object type. Because this MIB is intended for<br />

use in multivendor environments, object types must have<br />

consistent meanings across all machines.<br />

Access One of read-only, read-write, write-only, or not-accessible.<br />

<strong>VM</strong> Support One of yes, no, or read-only.<br />

Structure and Identification of Management Information (SMI)<br />

Managed objects are accessed through a virtual information store, known as the<br />

Management Information Base (MIB). Objects in the MIB are defined using<br />

Abstract Syntax Notation One (ASN.1).<br />

Each object type has a name, a syntax, and an encoding description. The name is<br />

represented uniquely as an object identifier, which assigned by a systems<br />

administrater.<br />

The syntax for an object type defines the abstract data structure corresponding to<br />

that object type. For example, the structure of a given object type might be an<br />

integer or an octet string. RFC 1155 restricts the ASN.1 constructs that can be used.<br />

These restrictions are made solely for the sake of simplicity.<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 307


MIB Objects<br />

The encoding of an object type describes how instances of that object type are<br />

represented using the object’s type syntax. RFC 1155 specifies the use of the basic<br />

encoding rules of ASN.1.<br />

Names<br />

Names are used to identify managed objects and they are hierarchical in nature.<br />

For example, each international standard has an object identifier assigned to it for<br />

the purpose of identification. In short, object identifiers are a means for identifying<br />

some object, regardless of the semantics associated with it.<br />

The root node itself is unlabeled, but has at least three nodes directly under it: one<br />

node is administered by the International Standards Organization (ISO), with label<br />

iso(1); another is administered by the International Telegraph and Telephone<br />

Consultative Committee (CCITT), with label ccitt(2); and the third is jointly<br />

administered by the ISO and the CCITT, joint-iso-ccitt(3).<br />

Under the iso(1) node, the ISO has designated one subtree for use by other<br />

(inter)national organizations, org(3). Under this node, one of the subtrees has been<br />

allocated to the US Department of Defense (DOD), dod(6), under which only one<br />

node has been assigned to the Internet community, and it is administered by the<br />

Internet Activities Board (IAB). Therefore, the Internet subtree of object identifiers<br />

starts with the prefix 1.3.6.1.<br />

The Management Subtree<br />

Under the IAB node, four subtrees have been defined, namely, directory(1),<br />

mgmt(2), experimental(3), and private(4). The administration of the mgmt(2)<br />

subtree was delegated by the IAB to the Internet Assigned Numbers Authority for<br />

the Internet. This subtree is used to identify objects that are defined in<br />

IAB-approved documents. So far, the prefix of the object identifiers is: 1.3.6.1.2.<br />

When RFCs, which define new versions of the Internet-standard MIB, are<br />

approved, they are assigned an object identifier for identifying the objects defined<br />

by that RFC. The Internet-standard MIB has been assigned management document<br />

number one. Therefore, its object identifier is:<br />

or<br />

{mgmt1}<br />

1.3.6.1.2.1<br />

The private(4) subtree is used to define enterprise-specific variables in the MIB,<br />

which means that you can add your own objects to the MIB. The prefix of these<br />

variables is: 1.3.6.1.4.<br />

Figure 18 illustrates the hierarchical ISO tree that has been adopted to identify<br />

managed objects.<br />

308 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


MIB Objects<br />

Object Identifier<br />

ISO<br />

(1)<br />

CCITT<br />

(2)<br />

Joint-ISO-<br />

CCITT (3)<br />

Other intnl<br />

organiz. (3)<br />

US Dept. Of<br />

Defense (6)<br />

IAB<br />

(1)<br />

Assumed by IAB<br />

RFC 1065<br />

directory<br />

(1)<br />

mgmt<br />

(2)<br />

Experimental<br />

(3)<br />

Private<br />

(4)<br />

MIB<br />

(1)<br />

Figure 18. The SMI Hierarchical Tree<br />

The SMI is not supposed to define objects in the MIB, but it does specify a format<br />

to be used by the RFCs that define these objects. An object type definition consists<br />

of the following fields.<br />

Field Name Description<br />

Object<br />

Syntax<br />

Definition<br />

Access<br />

Status<br />

Specifies a textual name, termed the object descriptor, for the object<br />

type, along with its corresponding object identifier<br />

Specifies the abstract syntax for the object type, such as integer,<br />

octet string, counter, timeticks, and so on<br />

Specifies a textual description of the semantics of the object type<br />

Specifies read-only, read-write, write-only or not-accessible<br />

Specifies mandatory, optional, or obsolete<br />

The following is an example of an object type definition:<br />

Object:<br />

sysDescr.<br />

Appendix E. Management Information Base Objects 309


MIB Objects<br />

MIB/Network Elements<br />

Syntax:<br />

Octet string.<br />

Definition:<br />

A textual description of the entity. This value should<br />

include the full name and version identification of the<br />

system’s hardware type, software operating system, and<br />

networking software. It is mandatory that this only<br />

contain printable ASCII characters.<br />

Access:<br />

read-only.<br />

Status:<br />

mandatory.<br />

For more information, see RFC 1155.<br />

The MIB defines the information that can be obtained from SNMP agents. The MIB<br />

defines objects, such as packet counts and routing tables that are relevant to a<br />

<strong>TCP</strong>/<strong>IP</strong> environment. The objects defined by the MIB are divided into groups, with<br />

each group representing a set of management data.<br />

Currently, the following groups have been defined:<br />

Group Name Description<br />

System Contains information about the entity, such as system hardware,<br />

software, and the version number.<br />

Interfaces Contains all the interfaces through which the nodes can send and<br />

receive <strong>IP</strong> datagrams. It also contains counters for packets sent and<br />

received and errors.<br />

Address translation<br />

Contains information for mapping a network address into a<br />

specific subnetwork or physical address. This group is deprecated,<br />

meaning that it still exists but will be deleted in the future.<br />

<strong>IP</strong><br />

Contains information about the <strong>IP</strong> layer, such as the number of<br />

datagrams sent, received, and forwarded. It includes two tables:<br />

the <strong>IP</strong> address table contains the <strong>IP</strong> addressing information for the<br />

entity; the <strong>IP</strong> routing table contains one entry for each route<br />

presently known to it.<br />

ICMP Contains the ICMP input and output statistics.<br />

<strong>TCP</strong><br />

Contains information about the <strong>TCP</strong> connections, such as the<br />

maximum number of connections the entity can support, the total<br />

number of retransmitted segments, the minimum and maximum<br />

time-out values, and so on.<br />

UDP Contains information about the UDP layer, such as counters for<br />

datagrams sent and received.<br />

EGP<br />

Contains information about EGP peers, such as the number of<br />

messages sent and received, error counters, and so on.<br />

Transmission Contains media-specific information. This group is not currently<br />

implemented.<br />

310 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


MIB Objects<br />

SNMP<br />

Contains information about the SNMP agent, such as the number<br />

of SNMP packets received, the number of SNMP requests with bad<br />

community names, and so on.<br />

The system group is the first group in the MIB. Therefore, it is identified as:<br />

or<br />

{mib1}<br />

1.3.6.1.2.1.1<br />

Each group has its own subtree. For example, the first variable in the system group<br />

is the system description (sysDescr), so that it can be represented as:<br />

or<br />

{ system 1 }<br />

1.3.6.1.2.1.1.1<br />

System Group<br />

Table 22. Implementation of the System Group<br />

To summarize the explanation, the following describes the composition of the<br />

ASN.1 object identifier for sysDescr.<br />

iso org dod internet mgmt mib system sysDescr<br />

1 3 6 1 2 1 1 1<br />

Table 22 lists the objects in the system group. The system objects identify the type<br />

of system with a text description and the vendor-assigned object-ID as an<br />

identification to the type of SNMP server.<br />

Object Syntax Definition Access<br />

sysDescr<br />

{ system 1 }<br />

sysObjectID<br />

{ system 2 }<br />

sysUpTime<br />

{ system 3 }<br />

DisplayString<br />

OBJECT IDENTIFIER<br />

TimeTicks<br />

A description of the entry. This value<br />

should include the full name and version<br />

identification of the system’s hardware<br />

type, software operating system, and<br />

networking software. This description<br />

must only contain printable ASCII<br />

characters.<br />

The vendor’s authorization identification<br />

of the network management subsystem<br />

contained in the entry. This value is<br />

allocated within the Structure for<br />

Management Information (SMI)<br />

enterprise’s subtree (1.3.6.1.4.1) and<br />

provides an easy and clear means for<br />

determining what kind of box is being<br />

managed. For example, if vendor Stones,<br />

Inc. was assigned the subtree 1.3.6.1.4.1.42,<br />

it could assign the identifier<br />

1.3.6.1.4.1.42.1.1 to the router Fred Router.<br />

The time (in hundredths of a second)<br />

since the network management portion of<br />

the system was last started.<br />

read-only<br />

read-only<br />

read-only<br />

1. All accesses of read-write indicate a read-only access for <strong>VM</strong>.<br />

Appendix E. Management Information Base Objects 311


MIB Objects<br />

Table 22. Implementation of the System Group (continued)<br />

Object Syntax Definition Access<br />

sysContact<br />

{ system 4 }<br />

sysName<br />

{ system 5 }<br />

sysLocation<br />

{ system 6 }<br />

sysServices<br />

{ system 7 }<br />

DisplayString<br />

DisplayString<br />

DisplayString<br />

INTEGER<br />

The textual identification of the contact<br />

person for this managed node, together<br />

with information about how to contact<br />

this person.<br />

An administratively-assigned name for<br />

this managed node. By convention, this is<br />

the node’s fully-qualified domain name<br />

The physical location of this node (for<br />

example, telephone closet, 3rd floor)<br />

read-write 1<br />

read-write 1<br />

read-only<br />

A value that indicates the set of services read-only<br />

that this entity potentially offers. The<br />

value is a sum. This sum initially takes<br />

the value 0, then, for each layer L in the<br />

range 1 through 7 for which this node<br />

performs transactions, 2 raised to (L - 1) is<br />

added to the sum. For example, a node<br />

that performs only routing functions<br />

would have a value of 4 (2^(3-1)). In<br />

contrast, a node that is a host offering<br />

application services would have a value<br />

of 72 (2^(4-1) + 2^ (7-1)). Note that in the<br />

context of the internet suite of protocols,<br />

values should be calculated accordingly:<br />

Layer Functionality<br />

1 Physical (for example, repeaters)<br />

2 Datalink/subnetwork (for example, bridges)<br />

3 Internet (for example, supports the <strong>IP</strong>)<br />

4 End-to-end (for example, supports the <strong>TCP</strong>)<br />

7 Applications (for example, supports the SMTP)<br />

For systems including OSI protocols,<br />

layers 5 and 6 can also be counted.<br />

Interfaces Group<br />

Table 23. Implementation of the Interfaces Group<br />

Table 23 lists the objects in the interfaces group. The interfaces objects are a set of<br />

entries for each network interface below the <strong>IP</strong> layer that can send and receive<br />

datagrams.<br />

Object Syntax Definition Access<br />

ifNumber<br />

{ interfaces 1 }<br />

ifTable<br />

{ interfaces 2 }<br />

INTEGER<br />

SEQUENCE of IfEntry<br />

The number of network interfaces<br />

(regardless of their current state) present<br />

on this system.<br />

A list of interface entries. The number of<br />

entries is given by the value of ifNumber.<br />

read-only<br />

not applicable<br />

312 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Table 23. Implementation of the Interfaces Group (continued)<br />

Object Syntax Definition Access<br />

ifEntry<br />

{ ifTable 1 }<br />

ifIndex<br />

{ ifEntry 1 }<br />

ifDescr<br />

{ ifEntry 2 }<br />

IfEntry ::= SEQUENCE An interface entry that contains objects at<br />

ifIndex<br />

the subnetwork layer and below for a<br />

INTEGER,<br />

particular interface.<br />

ifDescr<br />

(DISPLAY STRING in MIB-II)<br />

ifType<br />

INTEGER,<br />

ifMtu<br />

INTEGER,<br />

ifSpeed<br />

Gauge,<br />

ifPhysAddress<br />

OCTET STRING,<br />

ifAdminStatus<br />

INTEGER,<br />

ifOperStatus<br />

INTEGER,<br />

ifLastChange<br />

TimeTicks,<br />

ifInOctets<br />

Counter,<br />

ifInUcastPkts<br />

Counter,<br />

ifInNUcastPkts<br />

Counter,<br />

ifInDiscards<br />

Counter,<br />

ifInErrors<br />

Counter,<br />

ifInUnkownProtos<br />

Counter,<br />

ifOutOctets<br />

Counter,<br />

ifOutUcastPkts<br />

Counter,<br />

ifOutNUcastPkts<br />

Counter,<br />

ifOutDiscards<br />

Counter,<br />

ifOutErrors<br />

Counter,<br />

ifOutQLen<br />

Gauge<br />

ifSpecific<br />

Object ID<br />

INTEGER<br />

DisplayString<br />

A unique value for each interface. Values<br />

range between 1 and the value of<br />

ifNumber. The value for each interface<br />

must remain constant for at least one start<br />

of the systems network management<br />

system to the next start.<br />

A text string containing information about<br />

the interface. This string should include<br />

the name of the manufacturer, the product<br />

name, and the version of the hardware<br />

interface.<br />

MIB Objects<br />

read-write 1<br />

read-only<br />

read-only<br />

Appendix E. Management Information Base Objects 313


MIB Objects<br />

Table 23. Implementation of the Interfaces Group (continued)<br />

Object Syntax Definition Access<br />

ifType<br />

{ ifEntry 3 }<br />

ifMtu<br />

{ ifEntry 4 }<br />

ifSpeed<br />

{ ifEntry 5 }<br />

ifPhysAddress<br />

{ ifEntry 6 }<br />

ifAdminStatus<br />

{ ifEntry 7 }<br />

ifOperStatus<br />

{ ifEntry 8 }<br />

INTEGER<br />

The type of interface, distinguished<br />

other (1),<br />

according to the physical/link/network<br />

regular 1822 (2), protocol(s) immediately below <strong>IP</strong> in the<br />

hdh1822 (3),<br />

protocol stack.<br />

ddn-x25 (4),<br />

rfc877-x25 (5),<br />

ethernet-csmacd (6),<br />

iso88023-csmacd (7),<br />

iso88024-tokenBus (8),<br />

iso88025-tokenRing (9),<br />

iso88026-kman (10),<br />

starLan (11),<br />

proteon-10Mbit (12),<br />

proteon-80Mbit (13),<br />

hyperchannel (14),<br />

fddi (15),<br />

lapb (16),<br />

sdlc (17),<br />

tl-carrier (18),<br />

cept (19),<br />

basicISDN (20),<br />

primaryISDN (21),<br />

propPointToPointSerial (22),<br />

terminalServer-asypcPort (23),<br />

softwareLoopback (24),<br />

eon (25),<br />

ethernet-3Mbit (26),<br />

nsip (27),<br />

slip (28)<br />

INTEGER<br />

Gauge<br />

OCTET STRING<br />

INTEGER<br />

up (1),<br />

down (2),<br />

testing (3)<br />

INTEGER<br />

up (1),<br />

down (2),<br />

testing (3)<br />

The size of the largest datagram that can<br />

be sent or received on the interface,<br />

specified in octets. For interfaces that are<br />

used for transmitting <strong>IP</strong> datagrams, this is<br />

the size of the largest <strong>IP</strong> datagram that<br />

can be sent on the interface.<br />

An estimate of the interface’s current<br />

bandwidth in bits per second. For<br />

interfaces that do not vary in bandwidth<br />

or for those where no accurate estimate<br />

can be made, this object should contain<br />

the nominal bandwidth.<br />

The interface’s address at the protocol<br />

layer immediately below <strong>IP</strong> in the protocol<br />

stack. For interfaces that do not have such<br />

an address (for example, a serial line), this<br />

object should contain an octet string of<br />

length 0.<br />

The desired state of the interface. The<br />

testing (3) state indicates that operational<br />

packets cannot be passed.<br />

The current operational state of the<br />

interface. The testing (3) state indicates<br />

that operational packets cannot be passed.<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-write 1<br />

read-only<br />

314 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Table 23. Implementation of the Interfaces Group (continued)<br />

Object Syntax Definition Access<br />

ifLastChange<br />

{ ifEntry 9 }<br />

ifInOctets<br />

{ ifEntry 10 }<br />

ifInUcastPkts<br />

{ ifEntry 11 }<br />

IfInNUcastPkts<br />

{ ifEntry 12 }<br />

ifInDiscards<br />

{ ifEntry 13 }<br />

ifInErrors<br />

{ ifEntry 14 }<br />

ifInUnknownProtos<br />

{ ifEntry 15 }<br />

ifOutOctets<br />

{ ifEntry 16 }<br />

ifOutUcastPkts<br />

{ ifEntry 17 }<br />

ifOutNUcastPkts<br />

{ ifEntry 18 }<br />

ifOutDiscards<br />

{ ifEntry 19 }<br />

ifOutErrors<br />

{ ifEntry 20 }<br />

ifOutQLen<br />

{ ifEntry 21 }<br />

TimeTicks<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Gauge<br />

The value of sysUpTime at the time the<br />

interface entered its current operational<br />

state. If the current state was entered<br />

before the last start-up of the local<br />

network management subsystem, then<br />

this object contains a value of 0.<br />

The total number of octets received on the<br />

interface, including framing characters.<br />

The number of subnetwork-unicast<br />

packets delivered to a higher-layer<br />

protocol.<br />

The number of non-unicast (for example,<br />

subnetwork-broadcast or<br />

subnetwork-multicast) packets delivered<br />

to a higher-layer protocol.<br />

The number of inbound packets that were<br />

chosen to be discarded even though errors<br />

had not been detected to prevent their<br />

delivery to a higher-layer protocol. One<br />

possible reason for discarding such a<br />

packet could be to free buffer space.<br />

The number of inbound packets that<br />

contain errors that prevent delivery to a<br />

higher-layer protocol.<br />

The number of packets received through<br />

the interface that were discarded because<br />

of an unknown or unsupported protocol.<br />

The total number of octets transmitted out<br />

of the interface, including framing<br />

characters.<br />

The total number of packets that<br />

higher-level protocols requested be<br />

transmitted to a subnetwork-unicast<br />

address, including those that were<br />

discarded or not sent.<br />

The total number of packets that<br />

higher-level protocols request to be<br />

transmitted to a non-unicast (for example,<br />

a subnetwork-broadcast or<br />

subnetwork-multicast) address, including<br />

those that were discarded or not sent.<br />

The number of outbound packets that<br />

were chosen to be discarded even though<br />

errors had not been detected to prevent<br />

their being transmitted. One reason for<br />

discarding such a packet could be to free<br />

buffer space.<br />

The number of outbound packets that<br />

could not be transmitted because of<br />

errors.<br />

The length of the output packet queue (in<br />

packets).<br />

MIB Objects<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

Appendix E. Management Information Base Objects 315


MIB Objects<br />

Table 23. Implementation of the Interfaces Group (continued)<br />

Object Syntax Definition Access<br />

ifSpecific<br />

{ ifEntry 22 }<br />

OBJECT IDENTIFIER<br />

A reference to MIB definitions specific to read-only<br />

the particular media being used to realize<br />

the interface. For example, if the interface<br />

is realized by an ethernet, then the value<br />

of this object refers to a document<br />

defining objects specific to Ethernet. If an<br />

agent is not configured to have a value<br />

for any of these variables, the object<br />

identifier:<br />

nullSpecific OBJECT IDENTIFIER ::= {00}<br />

is returned. Note that nullSpecific is a<br />

syntactically valid object identifier, and<br />

any conformant implementation of ASN.1<br />

and BER must be able to generate and<br />

recognize this value.<br />

Address Translation Group<br />

Table 24 lists the objects in the address translation group. The address translation<br />

objects are a set of entries for each network interface, below the <strong>IP</strong> layer, that can<br />

send and receive datagrams.<br />

Table 24. Implementation of the Address Translation Group<br />

Object Syntax Definition Access<br />

atTable<br />

{at1}<br />

atEntry<br />

{ atTable 1 }<br />

atIfIndex<br />

{ atEntry 1 }<br />

atPhysAddress<br />

{ atEntry 2 }<br />

atNetAddress<br />

{ atEntry 3 }<br />

SEQUENCE OF AtEntry<br />

AtEntry ::= SEQUENCE<br />

atIfIndex<br />

INTEGER,<br />

atPhysAddress<br />

OCTET STRING,<br />

atNetAddress<br />

NetworkAddress<br />

INTEGER<br />

The Address Translation tables contain the<br />

NetworkAddress to physical address<br />

equivalences. Some interfaces do not use<br />

translation tables to determine address<br />

equivalences (for example, DDN-X.25 has<br />

an algorithmic method). If all interfaces<br />

are of this type, then the Address<br />

Translation table is empty; it has 0 entries.<br />

Each entry contains one NetworkAddress<br />

to the physical address equivalent.<br />

The interface on which this entry’s<br />

equivalence is effective. The interface<br />

identified by a particular value of this<br />

index is the same interface that is<br />

identified by the same value of ifIndex.<br />

read-write 1<br />

read-write<br />

read-write<br />

OCTET STRING The media-dependent physical address. read-write<br />

NetworkAddress<br />

The NetworkAddress (for example, the <strong>IP</strong><br />

address) corresponding to the<br />

media-dependent physical address.<br />

read-write<br />

316 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


MIB Objects<br />

<strong>IP</strong> Group<br />

Table 25 lists the objects in the <strong>IP</strong> group. The <strong>IP</strong> objects are the statistics and<br />

gateway routing tables for the <strong>IP</strong> layer.<br />

Table 25. Implementation of the <strong>IP</strong> Group<br />

Object Syntax Definition Access<br />

ipForwarding<br />

{ip1}<br />

ipDefaultTTL<br />

{ip2}<br />

ipInReceives<br />

{ip3}<br />

ipInHdrErrors<br />

{ip4}<br />

ipInAddrErrors<br />

{ip5}<br />

ipForwDatagrams<br />

{ip6}<br />

ipInUnkownProtos<br />

{ip7}<br />

ipInDiscards<br />

{ip8}<br />

INTEGER<br />

gateway (1),<br />

— entry forwards<br />

datagrams<br />

host (2)<br />

— entry does NOT<br />

forward datagrams<br />

INTEGER<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Indicates if this entry is acting as an <strong>IP</strong><br />

gateway for the forwarding of datagrams<br />

received by, but not addressed to, this<br />

entry. <strong>IP</strong> gateways forward datagrams;<br />

hosts do not, except those source-routed<br />

through the host.<br />

When a TTL value is not supplied by the<br />

transport layer protocol, the default value<br />

inserts into the time-to-live field of the <strong>IP</strong><br />

header of datagrams that originate at this<br />

entry.<br />

The number of input datagrams received<br />

from interfaces, including those received<br />

in error.<br />

The number of input datagrams discarded<br />

because of errors in their <strong>IP</strong> headers. For<br />

example, bad checksums, mismatched<br />

version number, format errors,<br />

time-to-live exceeded, and processing<br />

errors in <strong>IP</strong> options.<br />

The number of input datagrams discarded<br />

because the <strong>IP</strong> address in their <strong>IP</strong> header’s<br />

destination field was not a valid address<br />

to be received at this entry. This count<br />

includes invalid addresses (for example,<br />

0.0.0.0), addresses of unsupported classes<br />

(for example, Class E), and destination<br />

addresses that were not local addresses<br />

(for example, <strong>IP</strong> gateways).<br />

The number of input datagrams for which<br />

this entry is not their final <strong>IP</strong> destination.<br />

As a result, an attempt is made to find a<br />

route to their final destination. For entries<br />

that do not act as <strong>IP</strong> gateways, this count<br />

includes only those packets that are<br />

source-routed successfully through this<br />

entry.<br />

The number of locally-addressed<br />

datagrams received successfully, but<br />

discarded because of an unknown or<br />

unsupported protocol.<br />

The number of input <strong>IP</strong> datagrams that<br />

are processed without problems, but are<br />

discarded (for example, for lack of buffer<br />

space). This count does not include any<br />

datagrams discarded while awaiting<br />

reassembly.<br />

read-only<br />

read-write 1<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

Appendix E. Management Information Base Objects 317


MIB Objects<br />

Table 25. Implementation of the <strong>IP</strong> Group (continued)<br />

Object Syntax Definition Access<br />

ipInDelivers<br />

{ip9}<br />

ipOutRequests<br />

{ip10}<br />

ipOutDiscards<br />

{ip11}<br />

ipOutNoRoutes<br />

{ip12}<br />

ipReasmTimeout<br />

{ip13}<br />

ipReasmReqds<br />

{ip14}<br />

ipReasmOKs<br />

{ip15}<br />

ipReasmFails<br />

{ip16}<br />

ipFragOKs<br />

{ip17}<br />

ipFragFails<br />

{ip18}<br />

ipFragCreates<br />

{ip19}<br />

ipAddrTable<br />

{ip20}<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

INTEGER<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

SEQUENCE OF<br />

IpAddrEntry<br />

The number of input datagrams<br />

successfully delivered to <strong>IP</strong> user-protocols<br />

including ICMP.<br />

The number of <strong>IP</strong> datagrams that are<br />

supplied to <strong>IP</strong> and ICMP in requests for<br />

transmission. This count does not include<br />

datagrams counted in ipForwDatagrams.<br />

The number of output <strong>IP</strong> datagrams that<br />

transmit without problems, but are<br />

discarded (for example, for lack of buffer<br />

space). This count includes datagrams in<br />

ipForwDatagrams that meet this discard<br />

criterion.<br />

The number of <strong>IP</strong> datagrams discarded<br />

because no route can transmit them to<br />

their destination. This count includes<br />

packets in ipForwDatagrams that meet<br />

this no-route criterion.<br />

The maximum number of seconds that<br />

received fragments are held while<br />

awaiting reassembly at this entry.<br />

The number of <strong>IP</strong> fragments that are<br />

received and need to be reassembled at<br />

this entry.<br />

The number of <strong>IP</strong> datagrams reassembled<br />

without problems.<br />

The number of failures detected by the <strong>IP</strong><br />

reassembly algorithm. This is not a count<br />

of discarded <strong>IP</strong> fragments because some<br />

algorithms can lose track of the number of<br />

fragments by combining them as they are<br />

received.<br />

The number of <strong>IP</strong> datagrams that have<br />

fragmented at this entry without<br />

problems.<br />

The number of <strong>IP</strong> datagrams that should<br />

have been fragmented at this entry, but<br />

were not because their Don’t Fragment flag<br />

was set.<br />

The number of <strong>IP</strong> datagram fragments<br />

that have been generated, because of<br />

fragmentation at this entry.<br />

A table that contains addressing<br />

information relevant to this entry’s <strong>IP</strong><br />

addresses.<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

318 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Table 25. Implementation of the <strong>IP</strong> Group (continued)<br />

Object Syntax Definition Access<br />

ipAddrEntry<br />

{ ipAddrTable 1 }<br />

ipAdEntAddr<br />

{ ipAddrEntry 1 }<br />

ipAdEntIfIndex<br />

{ ipAddrEntry 2 }<br />

ipAdEntNetMask<br />

{ ipAddrEntry 3 }<br />

ipAdEntBcastAddr<br />

{ ipAddrEntry 4 }<br />

ipAdEntReasmMaxSize<br />

{ ipAddrEntry 5 }<br />

ipRoutingTable<br />

{ip21}<br />

IpAddrEntry ::=<br />

SEQUENCE<br />

ipAdEntAddr<br />

IpAddress,<br />

ipAdEnt|f|ndex<br />

INTEGER,<br />

ipAdEntNetMask<br />

IpAddress,<br />

ipAdEntBcastAddr<br />

INTEGER<br />

ipAdEntReasmMaxSize<br />

INTEGER<br />

IpAddress<br />

INTEGER<br />

IpAddress<br />

INTEGER<br />

INTEGER<br />

SEQUENCE OF<br />

IpRouteEntry<br />

The addressing information for one of this<br />

entry’s <strong>IP</strong> addresses.<br />

The <strong>IP</strong> address pertaining to this entry’s<br />

addressing information.<br />

The index value that uniquely identifies<br />

the interface to which this entry is<br />

applicable. The interface identified by a<br />

particular value of this index is the same<br />

interface that is identified by the same<br />

value of ifIndex.<br />

The subnet mask associated with the <strong>IP</strong><br />

address of this entry. The value of the<br />

mask is an <strong>IP</strong> address with all the<br />

network bits set to 1 and all the host bits<br />

set to 0.<br />

The value of the least-significant bit in the<br />

<strong>IP</strong> broadcast address used for sending<br />

datagrams on the (logical) interface<br />

associated with the <strong>IP</strong> address of this<br />

entry. For example, when the internet<br />

standard all-ones broadcast address is<br />

used, the value is 1.<br />

The size of the largest <strong>IP</strong> datagram that<br />

this entity can reassemble from incoming<br />

<strong>IP</strong> fragmented datagrams received on this<br />

interface.<br />

This entry’s <strong>IP</strong> routing table.<br />

MIB Objects<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-write<br />

Appendix E. Management Information Base Objects 319


MIB Objects<br />

Table 25. Implementation of the <strong>IP</strong> Group (continued)<br />

Object Syntax Definition Access<br />

ipRouteEntry<br />

{ ipRoutingTable 1 }<br />

ipRouteDest<br />

{ ipRouteEntry 1 }<br />

ipRouteIfIndex<br />

{ ipRouteEntry 2 }<br />

ipRouteMetric1<br />

{ ipRouteEntry 3 }<br />

ipRouteMetric2<br />

{ ipRouteEntry 4 }<br />

IpRouteEntry ::=<br />

SEQUENCE<br />

ipRouteDest<br />

IpAddress,<br />

ipRouteIfIndex<br />

INTEGER,<br />

ipRouteMetric 1<br />

INTEGER,<br />

ipRouteMetric 2<br />

INTEGER,<br />

ipRouteMetric 3<br />

INTEGER,<br />

ipRouteMetric 4<br />

INTEGER,<br />

ipRouteNextHop<br />

IpAddress,<br />

ipRouteType<br />

INTEGER,<br />

ipRouteProto<br />

INTEGER,<br />

ipRouteAge<br />

INTEGER<br />

ipRouteMask<br />

INTEGER<br />

IpAddress<br />

INTEGER<br />

INTEGER<br />

INTEGER<br />

A route to a particular destination.<br />

The destination <strong>IP</strong> address of this route.<br />

An entry with a value of 0.0.0.0 is<br />

considered a default route. Multiple<br />

default routes can appear in the table, but<br />

access to these multiple entries is<br />

dependent on the table-access<br />

mechanisms defined by the network<br />

management protocol in use.<br />

The index value that uniquely identifies<br />

the local interface through which the next<br />

hop of this route should be reached. The<br />

interface identified by a particular value<br />

of this index is the same interface that is<br />

identified by the same value of ifIndex.<br />

The primary routing metric for this route.<br />

The semantics of this metric are<br />

determined by the routing protocol<br />

specified in the route’s ipRouteProto<br />

value. If this metric is not used, its value<br />

should be set to −1.<br />

An alternative routing metric for this<br />

route. The semantics of this metric are<br />

determined by the routing protocol<br />

specified in the route’s ipRouteProto<br />

value. If this metric is not used, its value<br />

should be set to −1.<br />

read-write<br />

read-write<br />

read-write<br />

read-write 1<br />

read-write<br />

320 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Table 25. Implementation of the <strong>IP</strong> Group (continued)<br />

Object Syntax Definition Access<br />

ipRouteMetric3<br />

{ ipRouteEntry 5 }<br />

ipRouteMetric4<br />

{ ipRouteEntry 6 }<br />

ipRouteNextHop<br />

{ ipRouteEntry 7 }<br />

ipRouteType<br />

{ ipRouteEntry 8 }<br />

ipRouteProto<br />

{ ipRouteEntry 9 }<br />

ipRouteAge<br />

{ ipRouteEntry 10 }<br />

INTEGER<br />

INTEGER<br />

IpAddress<br />

INTEGER<br />

other (1),<br />

invalid (2),<br />

direct (3),<br />

remote (4)<br />

INTEGER<br />

other (1),<br />

local (2),<br />

netmgmt (3),<br />

icmp (4),<br />

egp (5),<br />

ggp (6),<br />

hello (7),<br />

rip (8),<br />

is-is (9),<br />

es-is (10),<br />

ciscoIgrp (11),<br />

bbnSpfIgp (12),<br />

ospf (13)<br />

INTEGER<br />

An alternative routing metric for this<br />

route. The semantics of this metric are<br />

determined by the routing protocol<br />

specified in the route’s ipRouteProto<br />

value. If this metric is not used, its value<br />

should be set to −1.<br />

An alternative routing metric for this<br />

route. The semantics of this metric are<br />

determined by the routing protocol<br />

specified in the route’s ipRouteProto<br />

value. If this metric is not used, its value<br />

should be set to −1.<br />

The <strong>IP</strong> address of the next hop of this<br />

route.<br />

The type of route.<br />

The routing mechanism by which this<br />

route was learned. Inclusion of values for<br />

gateway routing protocols is not intended<br />

to imply that hosts should support those<br />

protocols.<br />

The number of seconds since this route<br />

was last updated or otherwise determined<br />

to be correct. Note semantics of too old<br />

cannot be implied, except through<br />

knowledge of the routing protocol by<br />

which the route was learned.<br />

MIB Objects<br />

read-write<br />

read-write<br />

read-write<br />

read-write<br />

read-only<br />

read-write<br />

Appendix E. Management Information Base Objects 321


MIB Objects<br />

Table 25. Implementation of the <strong>IP</strong> Group (continued)<br />

Object Syntax Definition Access<br />

ipRouteMask<br />

{ ipRouteEntry 11 }<br />

ipAddress<br />

Indicate the mask to be logically ANDed<br />

with the destination address before being<br />

compared to the value in the ipRouteDest<br />

field. For those systems that do not<br />

support arbitrary subnet masks, an agent<br />

constructs the value of the ipRouteMask<br />

by determining whether the value of the<br />

correspondent ipRouteDest field belongs<br />

to a class–A, B, or C network. Then use<br />

one of the following:<br />

mask network<br />

255.0.0.0<br />

class-A<br />

255.255.0.0<br />

class-B<br />

255.255.255.0<br />

class-C<br />

If the value of the ipRouteDest is 0.0.0.0 (a<br />

default route), then the mask value is also<br />

0.0.0.0. All <strong>IP</strong> routing subsystems<br />

implicitly use this mechanism.<br />

read-write<br />

<strong>IP</strong> Address Translation Table<br />

Table 26. <strong>IP</strong> Address Translation Table<br />

Table 26 lists the objects in the <strong>IP</strong> Translation table.<br />

Object Syntax Definition Access<br />

ipNetToMediaTable<br />

{ip22}<br />

IpNetToMediaEntry<br />

{ ipNetToMediaTable 1 }<br />

ipNetToMediaIfIndex<br />

{ ipNetToMediaEntry 1 }<br />

ipNetToMediaPhysAddress<br />

{ ipNetToMediaEntry 2 }<br />

ipNetToMediaNetAddress<br />

{ ipNetToMediaEntry 3 }<br />

SEQUENCE OF<br />

IpNetToMediaEntry<br />

IpNetToMediaEntry<br />

::= SEQUENCE<br />

ipNetToMediaIfIndex<br />

INTEGER,<br />

ipNetToMediaPhysAddress<br />

OCTET STRING,<br />

ipNetToMediaNetAddress<br />

IpAddress,<br />

ipNetToMediaType<br />

INTEGER<br />

INTEGER<br />

The <strong>IP</strong> Address Translation table used for<br />

mapping from <strong>IP</strong> addresses to physical<br />

addresses.<br />

Each entry contains one IpAddress to<br />

physical address equivalence.<br />

The interface on which this entry’s<br />

equivalence is effective. The interface<br />

identified by a particular value of this<br />

index is the same interface as identified<br />

by the same value of ifIndex.<br />

read-write 1<br />

read-write<br />

read-write<br />

OCTET STRING The media-dependent physical address. read-write<br />

IpAddress<br />

The IpAddress corresponding to the<br />

media-dependent physical address.<br />

read-write<br />

322 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Table 26. <strong>IP</strong> Address Translation Table (continued)<br />

Object Syntax Definition Access<br />

ipNetToMediaType<br />

{ ipNetToMediaEntry 4 }<br />

INTEGER<br />

other(1),<br />

invalid(2),<br />

dynamic(3),<br />

static(4),<br />

The type of mapping.<br />

Setting this object to the value invalid(2)<br />

has the effect of invalidating the<br />

corresponding entry in the<br />

ipNetToMediaTable. That is, it effectively<br />

disassociates the interface identified with<br />

the entry from the mapping identified<br />

with the entry. Whether the agent<br />

removes an invalidated entry from the<br />

table is an implementation-specific matter.<br />

Accordingly, management stations must<br />

be prepared to receive tabular information<br />

from agents that correspond to entries not<br />

currently in use. Proper interpretation of<br />

such entries requires examination of the<br />

relevant ipNetToMediaType object.<br />

MIB Objects<br />

read-write<br />

ICMP Group<br />

Table 27 lists the objects in the ICMP group. The ICMP objects are the input and<br />

output error and control message statistics for the <strong>IP</strong> layer.<br />

Table 27. Implementation of the ICMP Group<br />

Object Syntax Definition Access<br />

icmpInMsgs<br />

{icmp1}<br />

icmpInErrors<br />

{icmp2}<br />

icmpInDestUnreachs<br />

{icmp3}<br />

icmpInTimeExcds<br />

{icmp4}<br />

icmpInParmProbs<br />

{icmp5}<br />

icmpInSrcQuenchs<br />

{icmp6}<br />

icmpInRedirects<br />

{icmp7}<br />

icmpInEchos<br />

{icmp8}<br />

icmpInEchoReps<br />

{icmp9}<br />

icmpInTimestamps<br />

{ icmp 10 }<br />

icmpInTimestampReps<br />

{ icmp 11 }<br />

icmpInAddrMasks<br />

{ icmp 12 }<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

The number of ICMP messages that the entry<br />

receives. This counter includes all those counted<br />

by icmpInErrors.<br />

The number of ICMP messages that the entry<br />

receives and determines ICMP specific errors<br />

(bad ICMP checksums, bad length).<br />

The number of ICMP destination messages that<br />

cannot be reached.<br />

The number of ICMP destination messages that<br />

cannot be reached.<br />

The number of ICMP Parameter Problem<br />

messages received.<br />

The number of ICMP Source Quench messages<br />

received.<br />

The number of ICMP Redirect messages<br />

received.<br />

The number of ICMP Echo (request) messages<br />

received.<br />

The number of ICMP Echo Reply messages<br />

received.<br />

The number of ICMP Timestamp (request)<br />

messages received.<br />

The number of ICMP Timestamp Reply<br />

messages received.<br />

The number of ICMP Address Mask Request<br />

messages received.<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

Appendix E. Management Information Base Objects 323


MIB Objects<br />

Table 27. Implementation of the ICMP Group (continued)<br />

Object Syntax Definition Access<br />

icmpInAddrMaskReps<br />

{ icmp 13 }<br />

icmpOutMsgs<br />

{ icmp 14 }<br />

icmpOutErrors<br />

{ icmp 15 }<br />

icmpOutDestUnreachs<br />

{ icmp 16 }<br />

icmpOutTimeExcds<br />

{ icmp 17 }<br />

icmpOutParmProbs<br />

{ icmp 18 }<br />

icmpOutSrcQuenches<br />

{ icmp 19 }<br />

icmpOutRedirects<br />

{ icmp 20 }<br />

icmpOutEchos<br />

{ icmp 21 }<br />

icmpOutEchoReps<br />

{ icmp 22 }<br />

icmpOutTimestamps<br />

{ icmp 23 }<br />

icmpOutTimestampReps<br />

{ icmp 24 }<br />

icmpOutAddrMasks<br />

{ icmp 25 }<br />

icmpOutAddrMasksReps<br />

{ icmp 26 }<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

The number of ICMP Address Mask Reply<br />

messages received.<br />

The number of ICMP messages sent. This<br />

counter includes icmpOutErrors.<br />

The number of ICMP messages that this entry<br />

did not send, because of problems within ICMP<br />

(for example, no buffers). This value should not<br />

include errors outside the ICMP layer (for<br />

example, the inability of <strong>IP</strong> to route the<br />

resulting datagram). In some implementations,<br />

there may not be error types that contribute to<br />

the counter’s value.<br />

The number of ICMP Destination Unreachable<br />

messages sent.<br />

The number of ICMP Time Exceeded messages<br />

sent.<br />

The number of ICMP Parameter Problem<br />

messages sent.<br />

The number of ICMP Source Quench messages<br />

sent.<br />

The number of ICMP Redirect messages sent.<br />

For a host, this object is always 0, because hosts<br />

do not send redirects.<br />

The number of ICMP Echo (request) messages<br />

sent.<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

The number of ICMP Echo Reply messages sent. read-only<br />

The number of ICMP Timestamp (request)<br />

messages sent.<br />

The number of ICMP TimeStamp Reply<br />

messages sent.<br />

The number of ICMP Address Mask Request<br />

messages sent.<br />

The number of ICMP Address Mask Reply<br />

messages sent.<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

<strong>TCP</strong> Group<br />

Table 28 on page 325 lists the objects in the <strong>TCP</strong> group. The <strong>TCP</strong> objects are the<br />

data transmission statistics and connection data for the <strong>TCP</strong> layer.<br />

Note: Objects that represent information about a particular <strong>TCP</strong> connection are<br />

transient; the objects exist only as long as the specified connection is in use.<br />

324 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Table 28. Implementation of the <strong>TCP</strong> Group<br />

Object Syntax Definition Access<br />

tcpRtoAlgorithm<br />

{tcp1}<br />

tcpRtoMin<br />

{tcp2}<br />

tcpRtoMax<br />

{tcp3}<br />

tcpMaxConn<br />

{tcp4}<br />

tcpActiveOpens<br />

{tcp5}<br />

tcpPassiveOpens<br />

{tcp6}<br />

tcpAttemptFails<br />

{tcp7}<br />

tcpEstabResets<br />

{tcp8}<br />

INTEGER<br />

other (1),<br />

none of the<br />

following<br />

constant (2),<br />

a constant rto<br />

rsre (3),<br />

MIL-STD-1778,<br />

Appendix B<br />

vanj (4)<br />

Van Jacobson’s<br />

algorithm<br />

INTEGER<br />

INTEGER<br />

INTEGER<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

The algorithm used to determine the<br />

time-out value used for retransmitting<br />

unacknowledged octets.<br />

The minimum value allowed by a <strong>TCP</strong><br />

implementation for the retransmission<br />

time-out, measured in milliseconds.<br />

Semantics for objects of this type depend<br />

upon the algorithm used to determine the<br />

retransmission time-out. For example,<br />

when the time-out algorithm is rsre (3), an<br />

object of this type has the semantics of the<br />

LBOUND quantity.<br />

The maximum value allowed by a <strong>TCP</strong><br />

implementation for the retransmission<br />

time-out, measured in milliseconds. More<br />

refined semantics for objects of this type<br />

depend upon the algorithm used to<br />

determine the retransmission time-out.<br />

For example, when the time-out algorithm<br />

is rsre (3), an object of this type has the<br />

semantics of the UBOUND quantity.<br />

The limit on the number of <strong>TCP</strong><br />

connections the entry can support. In<br />

entries where the maximum number of<br />

connections is dynamic, this object should<br />

be −1.<br />

The number of <strong>TCP</strong> connections that have<br />

made a direct transition to the SYN-SENT<br />

state from the CLOSED state.<br />

The number of times <strong>TCP</strong> connections<br />

have made a direct transition to the<br />

SYN-RCVD state from the LISTEN state.<br />

The number of <strong>TCP</strong> connections that have<br />

made a direct transition to the CLOSED<br />

state from either the SYN-SENT state or<br />

the SYN-RCVD state, plus the number of<br />

times <strong>TCP</strong> connections have made a direct<br />

transition to the LISTEN state from the<br />

SYN-RCVD state.<br />

The number of <strong>TCP</strong> connections that have<br />

made a direct transition to the CLOSED<br />

state from either the ESTABLISHED or<br />

CLOSE-WAIT state.<br />

MIB Objects<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

Appendix E. Management Information Base Objects 325


MIB Objects<br />

Table 28. Implementation of the <strong>TCP</strong> Group (continued)<br />

Object Syntax Definition Access<br />

tcpCurrEstab<br />

{tcp9}<br />

tcpInSegs<br />

{ tcp 10 }<br />

tcpOutSegs<br />

{ tcp 11 }<br />

tcpRetransSegs<br />

{ tcp 12 }<br />

tcpConnTable<br />

{ tcp 13 }<br />

tcpConnEntry<br />

tcpConnState<br />

{ tcpConnEntry 1 }<br />

tcpConnLocalAddress<br />

{ tcpConnEntry 2 }<br />

tcpConnLocalPort<br />

{ tcpConnEntry 3 }<br />

tcpConnRemAddress<br />

{ tcpConnEntry 4 }<br />

tcpConnRemPort<br />

{ tcpConnEntry 5 }<br />

tcpInErrs<br />

{ tcp 14 }<br />

tcpOutRsts<br />

{ tcp 15 }<br />

Gauge<br />

Counter<br />

Counter<br />

Counter<br />

SEQUENCE OF<br />

TcpConnEntry<br />

TcpConnEntry<br />

::= SEQUENCE<br />

tcpConnState<br />

INTEGER,<br />

tcpConnLocalAddress<br />

IpAddress,<br />

tcpConnLocalPort<br />

INTEGER (0..65535),<br />

tcpConnRemAddress<br />

IpAddress,<br />

tcpConnRemPort<br />

INTEGER (0..65535)<br />

INTEGER closed(1),<br />

listen(2), synSent(3),<br />

synReceived(4),<br />

established(5), finWait1(6),<br />

finWait2(7), closeWait(8),<br />

lastAck(9), closing(10),<br />

timeWait(11)<br />

IpAddress<br />

INTEGER<br />

(0..65535)<br />

IpAddress<br />

INTEGER<br />

(0..65535)<br />

Counter<br />

Counter<br />

The number of <strong>TCP</strong> connections of the<br />

current state that are either<br />

ESTABLISHED or CLOSE-WAIT.<br />

The number of <strong>TCP</strong> segments including<br />

those received in error. This count<br />

includes segments received on established<br />

connections.<br />

The number of <strong>TCP</strong> segments sent<br />

including those on established<br />

connections, but excluding those<br />

containing only retransmitted octets.<br />

The number of <strong>TCP</strong> segments<br />

retransmitted that contain one or more<br />

previously transmitted octets.<br />

A table that contains <strong>TCP</strong><br />

connnection-specific information.<br />

Information about a certain current <strong>TCP</strong><br />

connection. An object of this type is<br />

transient. It does not exist when (or soon<br />

after) the connection makes the transition<br />

to the CLOSED state.<br />

The <strong>TCP</strong> connection status.<br />

The local <strong>IP</strong> address of this <strong>TCP</strong><br />

connection.<br />

The local port number of this <strong>TCP</strong><br />

connection.<br />

The remote <strong>IP</strong> address of this <strong>TCP</strong><br />

connection.<br />

The remote port number of this <strong>TCP</strong><br />

connection.<br />

The total number of segments received in<br />

error (for example, bad <strong>TCP</strong> checksums).<br />

The number of <strong>TCP</strong> segments sent<br />

containing the RST flag.<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

326 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


MIB Objects<br />

UDP Group<br />

Table 29 lists the objects in the UDP group. The UDP objects are the datagram<br />

statistics of the UDP layer.<br />

Table 29. Implementation of the UDP Group<br />

Object Syntax Definition Access<br />

udpInDatagrams<br />

{udp1}<br />

udpNoPorts<br />

{udp2}<br />

udpInErrors<br />

{udp3}<br />

udpOutDatagrams<br />

{udp4}<br />

udpTable<br />

{udp5}<br />

udpEntry<br />

{ udpTable 1 }<br />

udpLocalAddress<br />

{ udp Entry 1 }<br />

udpLocalPort<br />

{ udpEntry 2 }<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

SEQUENCE of UDPEntry<br />

UdpEntry ::= SEQUENCE<br />

udpLocalAddress<br />

IpAddress,<br />

udpLocalPort<br />

INTEGER<br />

IpAddress<br />

INTEGER<br />

The number of UDP datagrams delivered<br />

to UDP users.<br />

The number of UDP datagrams received<br />

where there was no application at the<br />

destination port.<br />

The number of UDP datagrams received<br />

that could not be delivered for reasons<br />

other than the lack of an application at<br />

the destination port.<br />

The number of UDP datagrams sent from<br />

this entry.<br />

Information about this ENTITY’s UDP<br />

end-points on which a local application is<br />

currently accepting datagrams.<br />

Information about a certain current UDP<br />

listener.<br />

The local <strong>IP</strong> address for this UDP listener.<br />

0.0.0.0 is a listener which is willing to<br />

accept datagrams for any <strong>IP</strong> interface<br />

associated with the node.<br />

The local port number for this UDP<br />

listener.<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

<strong>IBM</strong> 3172 Enterprise-Specific MIB Variables<br />

The following tables list the objects in the various <strong>IBM</strong> 3172 System tables. These<br />

are available if NETMAIN has been specified on the DEVICE statement in the<br />

<strong>TCP</strong>/<strong>IP</strong> configuration file. See <strong>TCP</strong>/<strong>IP</strong> Planning and Customization for information<br />

about this file.<br />

ibm3172SystemTable<br />

Table 30 on page 328 lists the objects in the <strong>IBM</strong> 3172 System Table. The system<br />

table identifies the hardware, software, contact person, physical location and<br />

number of network interfaces for the 3172.<br />

Appendix E. Management Information Base Objects 327


MIB Objects<br />

Table 30. Implementation of the <strong>IBM</strong> 3172 System Table<br />

Object Syntax Definition Access<br />

ibm3172SystemTable ibm3172SystemTable<br />

::= SEQUENCE<br />

Descriptive objects related to the entire<br />

3172.<br />

read-only<br />

ibm3172Descr<br />

DISPLAYSTRING,<br />

ibm3172Contact<br />

DISPLAYSTRING,<br />

ibm3172Location<br />

DISPLAYSTRING,<br />

ibm3172ifNumber<br />

INTEGER<br />

ASN.1 notation: 1.3.6.1.4.1.2.6.1.1<br />

ibm3172Descr<br />

{ibm3172SystemTable 1}<br />

DisplayString<br />

(SIZE(0..253))<br />

Text Description of the 3172. Contains<br />

information about the hardware and<br />

software of the 3172. The format of the<br />

ibm3172Descr variable is :<br />

ttttxMODELxmmm,<br />

xSERIALxNUMBERxsssssssss,<br />

xiiiiiiiiiixllllll,<br />

xPROGRAMxNUMBERxpppppp ; where<br />

: x represents a blank character, ; UPPER<br />

CASE letters are hardcoded characters, ;<br />

(,) represents a comma, ; and the<br />

remaining lower case letters represent<br />

variable data as follows:<br />

t - machine type<br />

m - model number<br />

s - serial number<br />

i - software program name<br />

l - software level numbers<br />

p - software program product number.<br />

read-only<br />

An example of the information sent with<br />

this attribute would be:<br />

″3172 MODEL 001,<br />

SERIAL NUMBER 000001234,<br />

3172 Interconnect Ctlr<br />

Program 020100, 5601433″<br />

ibm3172Contact<br />

{ibm3172SystemTable 2}<br />

DisplayString<br />

(SIZE(0..32))<br />

The textual identification of the contact<br />

person for this 3172, together with<br />

information about how to contact this<br />

person. This information is provided by<br />

the 3172 Operator Facility.<br />

read-only<br />

ibm3172Location<br />

{ibm3172SystemTable 3}<br />

DisplayString<br />

(SIZE(0..32))<br />

The physical location of this node. This<br />

information is provided by the 3172<br />

Operator Facility.<br />

read-only<br />

ibm3172ifNumber<br />

{ibm3172SystemTable 4}<br />

Integer<br />

The number of network interfaces<br />

(regardless of their current status) on<br />

which this 3172 can send data.<br />

read-only<br />

ibm3172ifTrapTable<br />

Table 31 on page 329 lists the objects in the <strong>IBM</strong> 3172 Trap Table. The trap table<br />

identifies the trap settings for the interface of the 3172.<br />

328 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Table 31. Implementation of the <strong>IBM</strong> 3172 Trap Table<br />

Object Syntax Definition Access<br />

ibm3172ifTrapTable ibm3172ifTrapTable<br />

::= SEQUENCE<br />

Objects at the interface level pertaining to<br />

the trap function.<br />

read-only<br />

ibm3172ifTrapEnable<br />

INTEGER<br />

ASN.1 notation: 1.3.6.1.4.1.2.6.1.2<br />

ibm3172ifTrapEnable<br />

{ibm3172ifTrapTable 1}<br />

Integer<br />

Flag to indicate whether the 3172 should<br />

send traps for this interface to the SNMP<br />

proxy agent. ″0″ indicates the trap<br />

function of the 3172 is disabled, ″1″<br />

indicates that it is enabled. The <strong>VM</strong><br />

SNMP proxy agent does not utilize this<br />

function of the 3172, so the value of this<br />

variable is always ″0″.<br />

MIB Objects<br />

read-only<br />

ibm3172ifChanCounters Table<br />

Table 32 lists the objects in the <strong>IBM</strong> 3172 channel counter table. The channel<br />

counters identify the inbound and outbound octets and blocks of the 3172.<br />

Table 32. Implementation of the <strong>IBM</strong> 3172 ChanCounter Table<br />

Object Syntax Definition Access<br />

ibm3172ifChanCounters ibm3172ifChanCounters<br />

::= SEQUENCE<br />

ibm3172ifInChanOctets<br />

COUNTER,<br />

ibm3172ifOutChanOctets<br />

COUNTER,<br />

ibm3172ifInChanBlocks<br />

COUNTER,<br />

ibm3172ifOutChanBlocks<br />

COUNTER<br />

Objects at the subnetwork layer and<br />

below pertaining to a pair of subchannels<br />

of the 3172. The values supplied for<br />

ibm3172ifOutChanOctets and<br />

ibm3172ifOutChanBlocks apply to the<br />

outbound subchannel on which the<br />

command was received. The values<br />

supplied for ibm3172ifInChanOctets and<br />

ibm3172ifInChanBlocks apply to the<br />

inbound subchannel that is paired with<br />

the outbound subchannel on which the<br />

command was received.<br />

read-only<br />

ASN.1 notation: 1.3.6.1.4.1.2.6.1.3<br />

ibm3172ifInChanOctets<br />

{ibm3172ifChanCounters 1}<br />

ibm3172ifOutChanOctets<br />

{ibm3172ifChanCounters 2}<br />

ibm3172ifInChanBlocks<br />

{ibm3172ifChanCounters 3}<br />

ibm3172ifOutChanBlocks<br />

{ibm3172ifChanCounters 4}<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

The number of inbound octets that were<br />

transmitted to the host by the 3172,<br />

including all headers. The value applies to<br />

the inbound subchannel that is paired<br />

with the outbound subchannel on which<br />

the command was received.<br />

The number of outbound octets that were<br />

received from the host by the 3172,<br />

including all headers. The value applies to<br />

the outbound subchannel on which the<br />

command was received.<br />

The number of inbound blocks that were<br />

transmitted to the host by the 3172. The<br />

value applies to the inbound subchannel<br />

that is paired with the outbound<br />

subchannel on which the command was<br />

received.<br />

The number of outbound blocks that were<br />

received from the host by the 3172. The<br />

value applies to the outbound subchannel<br />

on which the command was received.<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

Appendix E. Management Information Base Objects 329


MIB Objects<br />

ibm3172ifLANCounters Table<br />

Table 33 lists the objects in the <strong>IBM</strong> 3172 LAN counter table. The LAN counters<br />

identify the inbound and outbound octets and frames of the 3172. The LAN<br />

counters identify transmission errors, discarded frames, and undeliverable frames.<br />

Table 33. Implementation of the <strong>IBM</strong> 3172 LAN Counter Table<br />

Object Syntax Definition Access<br />

ibm3172ifLANCounters ibm3172ifLANCounters<br />

::= SEQUENCE<br />

ibm3172ifInLANOctets<br />

Objects at the subnetwork layer and<br />

below pertaining to a particular LAN of<br />

the 3172.<br />

read-only<br />

COUNTER,<br />

ibm3172ifOutLanOctets<br />

COUNTER,<br />

ibm3172ifInLANFrames<br />

COUNTER,<br />

ibm3172ifOutLANFrames<br />

COUNTER,<br />

ibm3172ifInLANErrors<br />

COUNTER,<br />

ibm3172ifOutLANErrors<br />

COUNTER,<br />

ibm3172ifInLANDiscards<br />

COUNTER,<br />

ibm3172ifOutLANDiscards<br />

COUNTER<br />

ASN.1 notation: 1.3.6.1.4.1.2.6.1.4<br />

ibm3172ifInLANOctets<br />

{ibm3172ifLANCounters 1}<br />

ibm3172ifOutLanOctets<br />

{ibm3172ifLANCounters 2}<br />

ibm3172ifInLANFrames<br />

{ibm3172ifLANCounter 3}<br />

ibm3172ifOutLANFrames<br />

{ibm3172ifLANCounters 4}<br />

ibm3172ifInLANErrors<br />

{ibm3172ifLANCounters 5}<br />

ibm3172ifOutLANErrors<br />

{ibm3172ifLANCounters 6}<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

The number of inbound octets that were<br />

received from the LAN by the 3172,<br />

including all headers.<br />

The number of inbound octets that were<br />

transmitted to the LAN by the 3172,<br />

including all headers.<br />

The number of inbound frames that were<br />

received from the LAN by the 3172.<br />

The number of outbound frames that<br />

were transmitted to the LAN by the 3172.<br />

The number of inbound frames received<br />

from the LAN by the 3172 that contained<br />

errors preventing them from being<br />

deliverable to a higher layer protocol. This<br />

variable, when combined with<br />

ibm3172inBlkErrors, reflects the total<br />

number of inbound frames not forwarded<br />

from the LAN to the host because of<br />

errors.<br />

The number of outbound frames that<br />

could not be transmitted to the LAN<br />

because of transmission failures. This<br />

variable, when combined with<br />

ibm3172ifOutDblkErrors, reflects the total<br />

number of outbound frames not<br />

transmitted to the LAN because of<br />

transmission errors.<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

330 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Table 33. Implementation of the <strong>IBM</strong> 3172 LAN Counter Table (continued)<br />

Object Syntax Definition Access<br />

ibm3172ifInLANDiscards<br />

{ibm3172ifLANCounters 7}<br />

ibm3172ifOutLANDiscards<br />

{ibm3172ifLANCounters 8}<br />

Counter<br />

Counter<br />

The number of inbound frames received<br />

from the LAN that were discarded by the<br />

3172, even though no errors had been<br />

detected to prevent their being deliverable<br />

to a higher layer protocol. One possible<br />

reason for discarding such a frame could<br />

be because of insufficient buffer space.<br />

This variable, when combined with<br />

ibm3172ifInBlkDiscards, reflects the total<br />

number of inbound frames not forwarded<br />

from the LAN when no error was<br />

detected.<br />

The number of outbound frames that are<br />

discarded.<br />

MIB Objects<br />

read-only<br />

read-only<br />

ibm3172ifBlkCounters Table<br />

Table 34 lists the objects in the <strong>IBM</strong> 3172 Blocker counter table. The Blocker<br />

counters identify the transmitted and received inbound octets and frames by the<br />

LAN adapter. The Blocker counters also identify the tasks that contained errors<br />

and the tasks that were discarded.<br />

Table 34. Implementation of the <strong>IBM</strong> 3172 Blk Counter Table<br />

Object Syntax Definition Access<br />

ibm3172ifBlkCounters ibm3172ifBlkCounters<br />

::= SEQUENCE<br />

ibm3172ifBlkRcvOctets<br />

Objects at the Subnetwork layer and<br />

below pertaining to a particular Blocker<br />

Task of the 3172.<br />

read-only<br />

COUNTER,<br />

ibm3172ifBlkXmitOctets<br />

COUNTER,<br />

ibm3172ifBlkRcvFrames<br />

COUNTER,<br />

ibm3172ifBlkXmitBlocks<br />

COUNTER,<br />

ibm3172ifInBlkErrors<br />

COUNTER,<br />

ibm3172ifInBlkDiscards<br />

COUNTER<br />

ASN.1 notation: 1.3.6.1.4.1.2.6.1.5<br />

ibm3172ifBlkRcvOctets<br />

{ibm3172ifBlkCounters 1}<br />

ibm3172ifBlkXmitOctets<br />

{ibm3172ifBlkCounters 2}<br />

ibm3172ifBlkRcvFrames<br />

{ibm3172ifBlkCounters 3}<br />

ibm3172ifBlkXmitBlocks<br />

{ibm3172ifBlkCounters 4}<br />

Counter<br />

Counter<br />

Counter<br />

Counter<br />

The number of inbound octets that were<br />

received by the Blocker from the LAN,<br />

including all headers.<br />

The number of inbound octets that were<br />

transmitted to the channel adapter by the<br />

Blocker, including all headers.<br />

The number of inbound frames that were<br />

received from the LAN adapter by the<br />

Blocker Task.<br />

The number of inbound frames that were<br />

transmitted to the channel adapter by the<br />

blocker task.<br />

read-only<br />

read-only<br />

read-only<br />

read-only<br />

Appendix E. Management Information Base Objects 331


MIB Objects<br />

Table 34. Implementation of the <strong>IBM</strong> 3172 Blk Counter Table (continued)<br />

Object Syntax Definition Access<br />

ibm3172ifInBlkErrors<br />

{ibm3172ifBlkCounters 5}<br />

ibm3172ifInBlkDiscards<br />

{ibm3172ifBlkCounters 6}<br />

Counter<br />

Counter<br />

The number of inbound frames<br />

transmitted by the LAN adapter to the<br />

Blocker Task which contained errors<br />

preventing them from being deliverable to<br />

a higher layer protocol. This variable,<br />

when combined with<br />

ibm3172ifInLANErrors, reflects the total<br />

number of inbound frames discarded by<br />

the 3172 because of errors.<br />

The number of inbound frames<br />

transmitted by the LAN adapter to the<br />

Blocker Task that were discarded by the<br />

3172, even though no errors had been<br />

detected to prevent their being deliverable<br />

to a higher layer protocol. One possible<br />

reason for discarding such a frame could<br />

be because of insufficient buffer space.<br />

This variable, when combined with<br />

ibm3172ifInLANDiscards, reflects the total<br />

number of ID frames discarded by the<br />

3172 when no error was detected.<br />

read-only<br />

read-only<br />

ibm3172ifDblkCounters Table<br />

Table 35 lists the objects in the <strong>IBM</strong> 3172 Deblocker counter table. The Deblocker<br />

counters identify the transmitted and received outbound octets, blocks, and frames<br />

by the LAN adapter. The Deblocker counters also identify the tasks that contained<br />

errors and the tasks which were discarded.<br />

Table 35. Implementation of the <strong>IBM</strong> 3172 Dblk Counter Table<br />

Object Syntax Definition Access<br />

ibm3172ifDblkCounters ibm3172ifDblkCounters<br />

::= SEQUENCE<br />

ibm3172ifDblkRcvOctets<br />

Objects at the subnetwork layer and<br />

below pertaining to a particular Deblocker<br />

Task of the 3172.<br />

read-only<br />

COUNTER,<br />

ibm3172ifDblkXmitOctets<br />

COUNTER,<br />

ibm3172ifDblkRcvBlocks<br />

COUNTER,<br />

ibm3172ifDblkXmitFrames<br />

COUNTER,<br />

ibm3172ifOutDblkErrors<br />

COUNTER,<br />

ibm3172ifOutDblkDiscards<br />

COUNTER<br />

ASN.1 notation: 1.3.6.1.4.1.2.6.1.6<br />

ibm3172ifDblkRcvOctets<br />

{ibm3172ifDblkCounters 1}<br />

ibm3172ifDblkXmitOctets<br />

{ibm3172ifDblkCounters 2}<br />

ibm3172ifDblkRcvBlocks<br />

{ibm3172ifDblkCounters 3}<br />

Counter<br />

Counter<br />

Counter<br />

The number of outbound octets that were<br />

received by the Deblocker from the<br />

channel adapter, including all headers.<br />

The number of outbound octets that were<br />

transmitted to the LAN adapter by the<br />

Deblocker, including all headers.<br />

The number of outbound blocks that were<br />

received from the channel adapter by the<br />

Deblocker Task.<br />

read-only<br />

read-only<br />

read-only<br />

332 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Table 35. Implementation of the <strong>IBM</strong> 3172 Dblk Counter Table (continued)<br />

Object Syntax Definition Access<br />

ibm3172ifDblkXmitFrames<br />

{ibm3172ifDblkCounters 4}<br />

ibm3172ifOutDblkErrors<br />

{ibm3172ifDblkCounters 5}<br />

ibm3172ifOutDblkDiscards<br />

{ibm3172ifDblkCounters 6}<br />

Counter<br />

Counter<br />

Counter<br />

The number of outbound frames that<br />

were transmitted to the LAN adapter by<br />

the Deblocker Task.<br />

The number of outbound frames<br />

transmitted by the channel adapter to the<br />

Deblocker Task that contained errors<br />

preventing them from being deliverable to<br />

a higher layer protocol. This variable,<br />

when combined with<br />

ibm3172ifOutLANErrors, reflects the total<br />

number of outbound frames discarded by<br />

the 3172 because of errors.<br />

The number of outbound frames<br />

transmitted to the Deblocker Task which<br />

were discarded by the 3172, even though<br />

no errors had been detected to prevent<br />

their being deliverable to a higher layer<br />

protocol. One possible reason for<br />

discarding such a frame could be because<br />

of insufficient buffer space. This variable<br />

reflects the total number of outbound<br />

frames discarded by the 3172 when no<br />

error was detected.<br />

MIB Objects<br />

read-only<br />

read-only<br />

read-only<br />

ibm3172ifDeviceTable<br />

Table 36 lists the objects in the <strong>IBM</strong> 3172 device table. The device table identifies<br />

the devices associated with this interface.<br />

Table 36. Implementation of the <strong>IBM</strong> 3172 Device Table<br />

Object Syntax Definition Access<br />

ibm3172ifDeviceTable ibm3172ifDeviceTable<br />

::= SEQUENCE<br />

Objects at the interface level pertaining to<br />

the associated device.<br />

read-only<br />

ibm3172ifDeviceNumber<br />

INTEGER<br />

ASN.1 notation: 1.3.6.1.4.1.2.6.1.7<br />

ibm3172ifDeviceNumber<br />

{ibm3172ifDeviceTable 1}<br />

Integer<br />

The instance number, which is used to<br />

reference the ibm3172SystemTable, for the<br />

device associated with this interface.<br />

read-only<br />

Appendix E. Management Information Base Objects 333


MIB Objects<br />

334 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Appendix F. <strong>IBM</strong> 3172 Attribute Index<br />

This appendix lists 3172 attributes and their corresponding MIB variables.<br />

Table 37. MIB Variable Cross Reference Table<br />

3172 Attribute MIB Variable<br />

01 = ibm3172Descr<br />

02 = ibm3172Contact<br />

03 = ibm3172Location<br />

04 = ibm3172ifNumber<br />

10 = ibm3172ifTrapEnable<br />

11 = ifDescr<br />

12 = ifType<br />

13 = ifPhysAddress<br />

14 = ifOperStatus<br />

20 = ibm3172ifChanCounters<br />

21 = ibm3172ifInChanOctets<br />

22 = ibm3172ifOutChanOctets<br />

23 = ibm3172ifInChanBlocks<br />

24 = ibm3172ifOutChanBlocks<br />

30 = ibm3172ifLANCounters<br />

31 = ibm3172ifInLANOctets<br />

32 = ibm3172ifOutLANOctets<br />

33 = ibm3172ifInLANFrames<br />

34 = ibm3172ifOutLANFrames<br />

35 = ibm3172ifInLANErrors<br />

36 = ibm3172ifOutLANErrors<br />

37 = ibm3172ifInLANDiscards<br />

38 = ibm3172ifOutLANDiscards<br />

40 = ibm3172ifBlkCounters<br />

41 = ibm3172ifBlkRcvOctets<br />

42 = ibm3172ifBlkXmitOctets<br />

43 = ibm3172ifBlkRcvFrames<br />

44 = ibm3172ifBlkXmitBlocks<br />

45 = ibm3172ifInBlkErrors<br />

46 = ibm3172ifInBlkDiscards<br />

50 = ibm3172ifDblkCounters<br />

51 = ibm3172ifDblkRcvOctets<br />

52 = ibm3172ifDblkXmitOctets<br />

53 = ibm3172ifDblkRcvBlocks<br />

54 = ibm3172ifDblkXmitFrames<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 335


<strong>IBM</strong> 3172 Attribute Index<br />

Table 37. MIB Variable Cross Reference Table (continued)<br />

3172 Attribute MIB Variable<br />

55 = ibm3172ifOutDblkErrors<br />

56 = ibm3172ifOutDblkDiscards<br />

336 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Appendix G. SNMP Generic TRAP Types<br />

This appendix lists the generic trap types that can be received by SNMP.<br />

Value Type Description<br />

0 coldStart A coldStart trap signifies that the<br />

sending protocol entity is<br />

reinitializing itself so that the agent’s<br />

configuration or the protocol entity<br />

implementation can be altered.<br />

1 warmStart A warmStart trap signifies that the<br />

sending protocol entity is<br />

reinitializing itself so that neither the<br />

agent configuration nor the protocol<br />

entity implementation can be altered.<br />

2 linkDown A linkDown trap signifies that the<br />

sending protocol entity recognizes a<br />

failure in one of the communication<br />

links represented in the agent’s<br />

configuration.<br />

A Trap-PDU of type linkDown<br />

contains, as the first element of its<br />

variable-bindings, the name and<br />

value of the ifIndex instance for the<br />

affected interface.<br />

3 linkUp A linkUp trap signifies that the<br />

sending protocol entity recognizes<br />

that one of the communication links<br />

represented in the agent’s<br />

configuration has come up.<br />

A Trap-PDU of type linkUp contains,<br />

as the first element of its<br />

variable-bindings, the name and<br />

value of the ifIndex instance for the<br />

affected interface.<br />

4 authenticationFailure An authenticationFailure trap<br />

signifies that the sending protocol<br />

entity is the addressee of a protocol<br />

message that is not properly<br />

authenticated.<br />

5 egpNeighborLoss An egpNeighborLoss trap signifies<br />

that an EGP neighbor for whom the<br />

sending protocol entity was an EGP<br />

peer has been marked down and the<br />

peer relationship no longer exists.<br />

The Trap-PDU of the<br />

egpNeighborLoss contains, as the<br />

first element of its variable-bindings,<br />

the name and value of the<br />

egpNeighAddr instance for the<br />

affected neighbor.<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 337


SNMP Generic TRAP Types<br />

Value Type Description<br />

6 enterpriseSpecific An enterpriseSpecific trap signifies<br />

that the sending protocol entity<br />

recognizes that some<br />

enterprise-specific event has<br />

occurred. The specific-trap field<br />

identifies the particular trap that<br />

occurred.<br />

338 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Appendix H. Related Protocol Specifications<br />

<strong>IBM</strong> is committed to industry standards. The internet protocol suite is still evolving<br />

through Requests for Comments (RFC). New protocols are being designed and<br />

implemented by researchers, and are brought to the attention of the internet<br />

community in the form of RFCs. Some of these are so useful that they become a<br />

recommended protocol. That is, all future implementations for <strong>TCP</strong>/<strong>IP</strong> are<br />

recommended to implement this particular function or protocol. These become the<br />

de facto standards, on which the <strong>TCP</strong>/<strong>IP</strong> protocol suite is built.<br />

Many features of <strong>TCP</strong>/<strong>IP</strong> for z/<strong>VM</strong> are based on the following RFCs:<br />

RFC Title Author<br />

768 User Datagram Protocol J.B. Postel<br />

791 Internet Protocol J.B. Postel<br />

792 Internet Control Message Protocol J.B. Postel<br />

793 Transmission Control Protocol J.B. Postel<br />

821 Simple Mail Transfer Protocol J.B. Postel<br />

822 Standard for the Format of ARPA Internet Text Messages D. Crocker<br />

823 DARPA Internet Gateway R.M. Hinden, A. Sheltzer<br />

826 Ethernet Address Resolution Protocol: or Converting Network Protocol Addresses D.C. Plummer<br />

to 48.Bit Ethernet Address for Transmission on Ethernet Hardware<br />

854 Telnet Protocol Specification J.B. Postel, J.K. Reynolds<br />

856 Telnet Binary Transmission J.B. Postel, J.K. Reynolds<br />

857 Telnet Echo Option J.B. Postel, J.K. Reynolds<br />

877 Standard for the Transmission of <strong>IP</strong> Datagrams over Public Data Networks J.T. Korb<br />

885 Telnet End of Record Option J.B. Postel<br />

903 Reverse Address Resolution Protocol R. Finlayson, T. Mann, J.C.<br />

Mogul, M. Theimer<br />

904 Exterior Gateway Protocol Formal Specification D.L. Mills<br />

919 Broadcasting Internet Datagrams J.C. Mogul<br />

922 Broadcasting Internet Datagrams in the Presence of Subnets J.C. Mogul<br />

950 Internet Standard Subnetting Procedure J.C. Mogul, J.B. Postel<br />

952 DoD Internet Host Table Specification K. Harrenstien, M.K. Stahl,<br />

E.J. Feinler<br />

959 File Transfer Protocol J.B. Postel, J.K. Reynolds<br />

974 Mail Routing and the Domain Name System C. Partridge<br />

1009 Requirements for Internet Gateways R.T. Braden, J.B. Postel<br />

1013 X Window System Protocol, Version 11: Alpha Update R.W. Scheifler<br />

1014 XDR: External Data Representation Standard Sun Microsystems<br />

Incorporated<br />

1027 Using ARP to Implement Transparent Subnet Gateways S. Carl-Mitchell, J.S.<br />

Quarterman<br />

1032 Domain Administrators <strong>Guide</strong> M.K. Stahl<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 339


RFCs<br />

RFC Title Author<br />

1033 Domain Administrators Operations <strong>Guide</strong> M. Lottor<br />

1034 Domain Names—Concepts and Facilities P.V. Mockapetris<br />

1035 Domain Names—Implementation and Specification P.V. Mockapetris<br />

1042 Standard for the Transmission of <strong>IP</strong> Datagrams over IEEE 802 Networks J.B. Postel, J.K. Reynolds<br />

1044 Internet Protocol on Network System’s HYPERchannel: Protocol Specification K. Hardwick, J.<br />

Lekashman<br />

1055 Nonstandard for Transmission of <strong>IP</strong> Datagrams over Serial Lines: SL<strong>IP</strong> J.L. Romkey<br />

1057 RPC: Remote Procedure Call Protocol Version 2 Specification Sun Microsystems<br />

Incorporated<br />

1058 Routing Information Protocol C.L. Hedrick<br />

1091 Telnet Terminal-Type Option J. VanBokkelen<br />

1094 NFS: Network File System Protocol Specification Sun Microsystems<br />

Incorporated<br />

1112 Host Extensions for <strong>IP</strong> Multicasting S. Deering<br />

1118 Hitchhikers <strong>Guide</strong> to the Internet E. Krol<br />

1122 Requirements for Internet Hosts-Communication Layers R.T. Braden<br />

1123 Requirements for Internet Hosts-Application and Support R.T. Braden<br />

1155 Structure and Identification of Management Information for <strong>TCP</strong>/<strong>IP</strong>-Based M.T. Rose, K. McCloghrie<br />

Internets<br />

1156 Management Information Base for Network Management of <strong>TCP</strong>/<strong>IP</strong>-based K. McCloghrie, M.T. Rose<br />

Internets<br />

1157 Simple Network Management Protocol (SNMP), J.D. Case, M. Fedor, M.L.<br />

Schoffstall, C. Davin<br />

1179 Line Printer Daemon Protocol The Wollongong Group, L.<br />

McLaughlin III<br />

1180 <strong>TCP</strong>/<strong>IP</strong> Tutorial, T. J. Socolofsky, C.J. Kale<br />

1183 New DNS RR Definitions (Updates RFC 1034, RFC 1035) C.F. Everhart, L.A.<br />

Mamakos, R. Ullmann, P.V.<br />

Mockapetris,<br />

1187 Bulk Table Retrieval with the SNMP M.T. Rose, K. McCloghrie,<br />

J.R. Davin<br />

1188 Proposed Standard for the Transmission of <strong>IP</strong> Datagrams over FDDI Networks D. Katz<br />

1198 FYI on the X Window System R.W. Scheifler<br />

1207 FYI on Questions and Answers: Answers to Commonly Asked Experienced<br />

Internet User Questions<br />

G.S. Malkin, A.N. Marine,<br />

J.K. Reynolds<br />

1208 Glossary of Networking Terms O.J. Jacobsen, D.C. Lynch<br />

1213 Management Information Base for Network Management of <strong>TCP</strong>/<strong>IP</strong>-Based K. McCloghrie, M.T. Rose<br />

Internets: MIB-II,<br />

1215 Convention for Defining Traps for Use with the SNMP M.T. Rose<br />

1228 SNMP-DPI Simple Network Management Protocol Distributed Program G.C. Carpenter, B. Wijnen<br />

Interface<br />

1229 Extensions to the Generic-Interface MIB K. McCloghrie<br />

1230 IEEE 802.4 Token Bus MIB IEEE 802 4 Token Bus MIB K. McCloghrie, R. Fox<br />

1231 IEEE 802.5 Token Ring MIB IEEE 802.5 Token Ring MIB K. McCloghrie, R. Fox, E.<br />

Decker<br />

340 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


RFCs<br />

RFC Title Author<br />

1267 A Border Gateway Protocol 3 (BGP-3) K. Lougheed, Y. Rekhter<br />

1268 Application of the Border Gateway Protocol in the Internet Y. Rekhter, P. Gross<br />

1269 Definitions of Managed Objects for the Border Gateway Protocol (Version 3) S. Willis, J. Burruss<br />

1293 Inverse Address Resolution Protocol T. Bradley, C. Brown<br />

1270 SNMP Communications Services F. Kastenholz, ed.<br />

1323 <strong>TCP</strong> Extensions for High Performance V. Jacobson, R. Braden, D.<br />

Borman<br />

1325 FYI on Questions and Answers: Answers to Commonly Asked New Internet G.S. Malkin, A.N. Marine<br />

User Questions<br />

1350 TFTP Protocol K.R. Sollins<br />

1351 SNMP Administrative Model J. Davin, J. Galvin, K.<br />

McCloghrie<br />

1352 SNMP Security Protocols J. Galvin, K. McCloghrie, J.<br />

Davin<br />

1353 Definitions of Managed Objects for Administration of SNMP Parties K. McCloghrie, J. Davin, J.<br />

Galvin<br />

1354 <strong>IP</strong> Forwarding Table MIB F. Baker<br />

1356 Multiprotocol Interconnect on X.25 and ISDN in the Packet Mode A. Malis, D. Robinson, R.<br />

Ullmann<br />

1374 <strong>IP</strong> and ARP on H<strong>IP</strong>PI J. Renwick, A. Nicholson<br />

1381 SNMP MIB Extension for X.25 LAPB D. Throop, F. Baker<br />

1382 SNMP MIB Extension for the X.25 Packet Layer D. Throop<br />

1387 R<strong>IP</strong> Version 2 Protocol Analysis G. Malkin<br />

1389 R<strong>IP</strong> Version 2 MIB Extension G. Malkin<br />

1390 Transmission of <strong>IP</strong> and ARP over FDDI Networks D. Katz<br />

1393 Traceroute Using an <strong>IP</strong> Option G. Malkin<br />

1397 Default Route Advertisement In BGP2 And BGP3 Versions of the Border D. Haskin<br />

Gateway Protocol<br />

1398 Definitions of Managed Objects for the Ethernet-like Interface Types F. Kastenholz<br />

1440 SIFT/UFT:Sender-Initiated/Unsolicited File Transfer R. Troth<br />

1483 Multiprotocol Encapsulation over ATM Adaptation Layer 5 J. Heinanen<br />

1540 IAB Official Protocol Standards J.B. Postel<br />

1583 OSPF Version 2 J.Moy<br />

1647 TN3270 Enhancements B. Kelly<br />

1700 Assigned Numbers J.K. Reynolds, J.B. Postel<br />

1723 R<strong>IP</strong> Version 2 — Carrying Additional Information G. Malkin<br />

1813 NFS Version 3 Protocol Specification B. Callaghan, B.<br />

Pawlowski, P. Stauback,<br />

Sun Microsystems<br />

Incorporated<br />

2060 IMAP Version 4 Protocol Specification M. Crispin<br />

2225 Classical <strong>IP</strong> and ARP over ATM M. Laubach, J. Halpern<br />

These documents can be obtained from:<br />

Appendix H. Related Protocol Specifications 341


RFCs<br />

Government Systems, Inc.<br />

Attn: Network Information Center<br />

14200 Park Meadow Drive<br />

Suite 200<br />

Chantilly, VA 22021<br />

Many RFCs are available online. Hard copies of all RFCs are available from the<br />

NIC, either individually or on a subscription basis. Online copies are available<br />

using FTP from the NIC at nic.ddn.mil. Use FTP to download the files, using the<br />

following format:<br />

RFC:RFC-INDEX.TXT<br />

RFC:RFCnnnn.TXT<br />

RFC:RFCnnnn.PS<br />

Where:<br />

nnnn<br />

TXT<br />

PS<br />

Is the RFC number.<br />

Is the text format.<br />

Is the PostScript format.<br />

You can also request RFCs through electronic mail, from the automated NIC mail<br />

server, by sending a message to service@nic.ddn.mil with a subject line of<br />

RFC nnnn for text versions or a subject line of RFC nnnn.PS for PostScript versions.<br />

To request a copy of the RFC index, send a message with a subject line of<br />

RFC INDEX.<br />

For more information, contact nic@nic.ddn.mil. Information is also available<br />

through http://www.internic.net.<br />

342 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Appendix I. Abbreviations and Acronyms<br />

The following abbreviations and acronyms are used throughout this book.<br />

AIX<br />

Advanced Interactive Executive<br />

ANSI<br />

American National Standards Institute<br />

API<br />

Application Program Interface<br />

APPC<br />

Advanced Program-to-Program Communications<br />

APPN ® Advanced Peer-to-Peer Networking ®<br />

ARP<br />

Address Resolution Protocol<br />

ASCII<br />

American National Standard Code for Information Interchange<br />

ASN.1<br />

Abstract Syntax Notation One<br />

ATM<br />

Asynchronous Transfer Mode<br />

AUI<br />

Attachment Unit Interface<br />

BFS<br />

Byte File System<br />

BIOS<br />

Basic Input/Output System<br />

BNC<br />

Bayonet Neill-Concelman<br />

CCITT<br />

Comite Consultatif International Telegraphique et Telephonique.<br />

The International Telegraph and Telephone Consultative<br />

Committee<br />

CETI<br />

Continuously Executing Transfer Interface<br />

CLAW<br />

Common Link Access to Workstation<br />

CLIST<br />

Command List<br />

CMS<br />

Conversational Monitor System<br />

CP<br />

Control Program<br />

CPI<br />

Common Programming Interface<br />

CREN<br />

Corporation for Research and Education Networking<br />

CSD<br />

Corrective Service Diskette<br />

CTC<br />

Channel-to-Channel<br />

CU<br />

Control Unit<br />

CUA ® Common User Access ®<br />

DASD<br />

Direct Access Storage Device<br />

DBCS<br />

Double Byte Character Set<br />

DLL<br />

Dynamic Link Library<br />

DNS<br />

Domain Name System<br />

DOS<br />

Disk Operating System<br />

DPI<br />

Distributed Program Interface<br />

EBCDIC Extended Binary-Coded Decimal Interchange Code<br />

ELANS<br />

<strong>IBM</strong> Ethernet LAN Subsystem<br />

EISA<br />

Enhanced Industry Standard Adapter<br />

ESCON ® Enterprise Systems Connection Architecture ®<br />

FAT<br />

File Allocation Table<br />

FDDI<br />

Fiber Distributed Data Interface<br />

FTAM<br />

File Transfer Access Management<br />

FTP<br />

File Transfer Protocol<br />

FTP API File Transfer Protocol Applications Programming Interface<br />

GCS<br />

Group Control System<br />

GDDM ® Graphical Data Display Manager<br />

GDDMXD Graphics Data Display Manager Interface for X Window System<br />

GDF<br />

Graphics Data File<br />

HCH<br />

HYPERchannel device<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 343


Abbreviations and Acronyms<br />

H<strong>IP</strong>PI<br />

High Performance Parallel Interface<br />

HPFS<br />

High Performance File System<br />

ICMP<br />

Internet Control Message Protocol<br />

IEEE<br />

Institute of Electrical and Electronic Engineers<br />

IETF<br />

Internet Engineering Task Force<br />

IGMP<br />

Internet Group Management Protocol<br />

ILANS<br />

<strong>IBM</strong> Token-Ring LAN Subsystem<br />

<strong>IP</strong><br />

Internet Protocol<br />

<strong>IP</strong>L<br />

Initial Program Load<br />

ISA<br />

Industry Standard Adapter<br />

ISDN<br />

Integrated Services Digital Network<br />

ISO<br />

International Organization for Standardization<br />

IUCV<br />

Inter-User Communication Vehicle<br />

JES<br />

Job Entry Subsystem<br />

JIS<br />

Japanese Institute of Standards<br />

JCL<br />

Job Control Language<br />

LAN<br />

Local Area Network<br />

LAPS<br />

LAN Adapter Protocol Support<br />

LCS<br />

<strong>IBM</strong> LAN Channel Station<br />

LPD<br />

Line Printer Daemon<br />

LPQ<br />

Line Printer Query<br />

LPR<br />

Line Printer Client<br />

LPRM<br />

Line Printer Remove<br />

LPRMON Line Printer Monitor<br />

LU<br />

Logical Unit<br />

MAC<br />

Media Access Control<br />

Mbps<br />

Megabits per second<br />

MBps<br />

Megabytes per second<br />

MCA<br />

Micro Channel ® Adapter<br />

MIB<br />

Management Information Base<br />

MIH<br />

Missing Interrupt Handler<br />

MILNET Military Network<br />

MHS<br />

Message Handling System<br />

MTU<br />

Maximum Transmission Unit<br />

MVS<br />

Multiple Virtual Storage<br />

MX<br />

Mail Exchange<br />

NCP<br />

Network Control Program<br />

NDIS<br />

Network Driver Interface Specification<br />

NFS<br />

Network File System<br />

NIC<br />

Network Information Center<br />

NLS<br />

National Language Support<br />

NSFNET National Science Foundation Network<br />

OS/2 ® Operating System/2 ®<br />

OSA<br />

Open Systems Adapter<br />

OSF<br />

Open Software Foundation, Inc.<br />

OSI<br />

Open Systems Interconnection<br />

OSIMF/6000 Open Systems Interconnection Messaging and Filing/6000<br />

OV/MVS OfficeVision/MVS <br />

OV/<strong>VM</strong> OfficeVision/<strong>VM</strong> <br />

PAD<br />

Packet Assembly/Disassembly<br />

PC<br />

Personal Computer<br />

PCA<br />

Parallel Channel Adapter<br />

PDN<br />

Public Data Network<br />

PDU<br />

Protocol Data Units<br />

PING<br />

Packet Internet Groper<br />

344 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Abbreviations and Acronyms<br />

PIOAM<br />

POP<br />

PROFS ®<br />

PSCA<br />

PSDN<br />

PU<br />

P<strong>VM</strong><br />

RACF<br />

RARP<br />

REXEC<br />

REXX<br />

RFC<br />

R<strong>IP</strong><br />

RISC<br />

RPC<br />

RSCS<br />

SAA<br />

SBCS<br />

SDLC<br />

SFS<br />

SL<strong>IP</strong><br />

SMIL<br />

SMTP<br />

SNA<br />

SNMP<br />

SOA<br />

SPOOL<br />

SQL<br />

<strong>TCP</strong><br />

<strong>TCP</strong>/<strong>IP</strong><br />

TFTP<br />

TSO<br />

TTL<br />

UDP<br />

VGA<br />

<strong>VM</strong><br />

<strong>VM</strong>CF<br />

<strong>VM</strong>/ESA<br />

<strong>VM</strong>SES/E<br />

VTAM ®<br />

WAN<br />

XDR<br />

Parallel I/O Access Method<br />

Post Office Protocol<br />

Professional Office Systems<br />

Personal System Channel Attach<br />

Packet Switching Data Network<br />

Physical Unit<br />

Passthrough Virtual Machine<br />

Resource Access Control Facility<br />

Reverse Address Resolution Protocol<br />

Remote Execution<br />

Restructured Extended Executor Language<br />

Request For Comments<br />

Routing Information Protocol<br />

Reduced Instruction Set Computer<br />

Remote Procedure Call<br />

Remote Spooling Communications Subsystem<br />

System Application Architecture<br />

Single Byte Character Set<br />

Synchronous Data Link Control<br />

Shared File System<br />

Serial Line Internet Protocol<br />

Structure for Management Information<br />

Simple Mail Transfer Protocol<br />

Systems Network Architecture<br />

Simple Network Management Protocol<br />

Start of Authority<br />

Simultaneous Peripheral Operations Online<br />

<strong>IBM</strong> Structured Query Language<br />

Transmission Control Protocol<br />

Transmission Control Protocol/Internet Protocol<br />

Trivial File Transfer Protocol<br />

Time Sharing Option<br />

Time-to-Live<br />

User Datagram Protocol<br />

Video Graphic Array<br />

Virtual Machine<br />

Virtual Machine Communication Facility<br />

Virtual Machine/Enterprise System Architecture<br />

Virtual Machine Serviceability Enhancements Staged/Extended<br />

Virtual Telecommunications Access Method<br />

Wide Area Network<br />

eXternal Data Representation<br />

Appendix I. Abbreviations and Acronyms 345


Abbreviations and Acronyms<br />

346 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Notices<br />

<strong>IBM</strong> may not offer the products, services, or features discussed in this document in<br />

all countries. Consult your local <strong>IBM</strong> representative for information on the<br />

products and services currently available in your area. Any reference to an <strong>IBM</strong><br />

product, program, or service is not intended to state or imply that only that <strong>IBM</strong><br />

product, program, or service may be used. Any functionally equivalent product,<br />

program, or service that does not infringe any <strong>IBM</strong> intellectual property right may<br />

be used instead. However, it is the user’s responsibility to evaluate and verify the<br />

operation of any non-<strong>IBM</strong> product, program, or service.<br />

<strong>IBM</strong> may have patents or pending patent applications covering subject matter<br />

described in this document. The furnishing of this document does not give you<br />

any license to these patents. You can send license inquiries, in writing, to:<br />

<strong>IBM</strong> Director of Licensing<br />

<strong>IBM</strong> Corporation<br />

North Castle Drive<br />

Armonk, NY 10594-1785<br />

U.S.A.<br />

For license inquiries regarding double-byte (DBCS) information, contact the <strong>IBM</strong><br />

Intellectual Property Department in your country or send inquiries, in writing, to:<br />

<strong>IBM</strong> World Trade Asia Corporation<br />

Licensing<br />

2-31 Roppongi 3-chome, Minato-ku<br />

Tokyo 106, Japan<br />

The following paragraph does not apply to the United Kingdom or any other<br />

country where such provisions are inconsistent with local law:<br />

INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS<br />

PUBLICATION “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER<br />

EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED<br />

WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS<br />

FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or<br />

implied warranties in certain transactions, therefore, this statement may not apply<br />

to you.<br />

This information could include technical inaccuracies or typographical errors.<br />

Changes are periodically made to the information herein; these changes will be<br />

incorporated in new editions of the publication. <strong>IBM</strong> may make improvements<br />

and/or changes in the product(s) and/or the program(s) described in this<br />

publication at any time without notice.<br />

Any references in this information to non-<strong>IBM</strong> Web sites are provided for<br />

convenience only and do not in any manner serve as an endorsement of those Web<br />

sites. The materials at those Web sites are not part of the materials for this <strong>IBM</strong><br />

product and use of those Web sites is at your own risk.<br />

<strong>IBM</strong> may use or distribute any of the information you supply in any way it<br />

believes appropriate without incurring any obligation to you.<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 347


Licensees of this program who wish to have information about it for the purpose<br />

of enabling: (i) the exchange of information between independently created<br />

programs and other programs (including this one) and (ii) the mutual use of the<br />

information which has been exchanged, should contact:<br />

<strong>IBM</strong> Corporation<br />

Mail Station P300<br />

2455 South Road<br />

Poughkeepsie, NY 12601-5400<br />

U.S.A.<br />

Attention: Information Request<br />

Such information may be available, subject to appropriate terms and conditions,<br />

including in some cases, payment of a fee.<br />

The licensed program described in this information and all licensed material<br />

available for it are provided by <strong>IBM</strong> under terms of the <strong>IBM</strong> Customer Agreement,<br />

<strong>IBM</strong> International Program License Agreement, or any equivalent agreement<br />

between us.<br />

Any performance data contained herein was determined in a controlled<br />

environment. Therefore, the results obtained in other operating environments may<br />

vary significantly. Some measurements may have been made on development-level<br />

systems and there is no guarantee that these measurements will be the same on<br />

generally available systems. Furthermore, some measurement may have been<br />

estimated through extrapolation. Actual results may vary. Users of this document<br />

should verify the applicable data for their specific environment.<br />

Information concerning non-<strong>IBM</strong> products was obtained from the suppliers of<br />

those products, their published announcements, or other publicly available sources.<br />

<strong>IBM</strong> has not tested those products and cannot confirm the accuracy of<br />

performance, compatibility, or any other claims related to non-<strong>IBM</strong> products.<br />

Questions on the capabilities of non-<strong>IBM</strong> products should be addressed to the<br />

suppliers of those products.<br />

All statements regarding <strong>IBM</strong>’s future direction or intent are subject to change or<br />

withdrawal without notice, and represent goals and objectives only.<br />

This information may contain examples of data and reports used in daily business<br />

operations. To illustrate them as completely as possible, the examples include the<br />

names of individuals, companies, brands, and products. All of these names are<br />

fictitious and any similarity to the names and addresses used by an actual business<br />

enterprise is entirely coincidental.<br />

COPYRIGHT LICENSE:<br />

This information may contain sample application programs in source language,<br />

which illustrates programming techniques on various operating platforms. You<br />

may copy, modify, and distribute these sample programs in any form without<br />

payment to <strong>IBM</strong>, for the purposes of developing, using, marketing, or distributing<br />

application programs conforming to <strong>IBM</strong>’s application programming interfaces.<br />

These examples have not been thoroughly tested under all conditions. <strong>IBM</strong>,<br />

therefore, cannot guarantee or imply reliability, serviceability, or function of these<br />

programs.<br />

348 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Trademarks<br />

The following terms are trademarks of the International Business Machines<br />

Corporation in the United States, or other countries, or both:<br />

AIX<br />

APL2<br />

Advanced Peer-to-Peer Networking<br />

APPN<br />

AS/400<br />

BookManager<br />

CUA<br />

Common User Access<br />

DB2 DATABASE 2<br />

DirMaint<br />

DFSMS/<strong>VM</strong><br />

DYNIX/ptx<br />

ESCON<br />

GDDM<br />

<strong>IBM</strong><br />

Language Environment<br />

<strong>IBM</strong>Link<br />

Micro Channel<br />

MVS<br />

MVS/ESA<br />

MVS/XA<br />

NetView<br />

OfficeVision<br />

OfficeVision/<strong>VM</strong><br />

OpenEdition<br />

Operating System/2<br />

OpenExtensions<br />

OS/390<br />

OS/2<br />

PROFS<br />

Presentation Manager<br />

RISC System/6000<br />

RACF<br />

S/370 RS/6000<br />

SQL/DS S/390<br />

System/390<br />

System/370<br />

Tivoli<br />

VTAM<br />

z/<strong>VM</strong><br />

z/Series<br />

Microsoft, Windows, Windows 95, Windows NT, and the Windows logo are<br />

trademarks of Microsoft Corporation in the United States or other countries.<br />

UNIX is a registered trademark in the United States or other countries licensed<br />

exclusively through X/Open Company Limited.<br />

Other company, product, and service names may be trademarks or service marks<br />

of others.<br />

Notices 349


350 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Glossary<br />

This glossary describes the most common terms<br />

associated with <strong>TCP</strong>/<strong>IP</strong> communication in an<br />

internet environment, as used in this book.<br />

If you do not find the term you are looking for,<br />

see the <strong>IBM</strong> Dictionary of Computing, New York:<br />

McGraw-Hill, 1994.<br />

For abbreviations, the definition usually consists<br />

only of the words represented by the letters; for<br />

complete definitions, see the entries for the<br />

words.<br />

Numerics<br />

3172. <strong>IBM</strong> Interconnect Controller.<br />

3174. <strong>IBM</strong> Establishment Controller.<br />

3270. Refers to a series of <strong>IBM</strong> display devices; for<br />

example, the <strong>IBM</strong> 3275, 3276 Controller Display Station,<br />

3277, 3278, and 3279 Display Stations, the 3290<br />

Information Panel, and the 3287 and 3286 printers. A<br />

specific device type is used only when a distinction is<br />

required between device types. Information about<br />

display terminal usage also refers to the <strong>IBM</strong> 3138,<br />

3148, and 3158 Display Consoles when used in display<br />

mode, unless otherwise noted.<br />

37xx Communication Controller. A network interface<br />

used to connect a <strong>TCP</strong>/<strong>IP</strong> for z/<strong>VM</strong> or z/OS network<br />

that supports X.25 connections. NCP with X.25 NPSI<br />

must be running in the controller, and VTAM must be<br />

running on the host.<br />

6611. <strong>IBM</strong> Network Processor.<br />

8232. <strong>IBM</strong> LAN Station.<br />

9370. Refers to a series of processors, namely the <strong>IBM</strong><br />

9373 Model 20, the <strong>IBM</strong> 9375 Models 40 and 60, and<br />

the <strong>IBM</strong> 9377 Model 90 and other models.<br />

A<br />

abend.<br />

task.<br />

The abnormal termination of a program or<br />

abstract syntax. A description of a data structure that<br />

is independent of machine-oriented structures and<br />

encodings.<br />

Abstract Syntax Notation One (ASN.1).<br />

language for describing abstract syntax.<br />

The OSI<br />

active gateway. A gateway that is treated like a<br />

network interface in that it is expected to exchange<br />

routing information, and if it does not do so for a<br />

period of time, the route associated with the gateway is<br />

deleted.<br />

active open. The state of a connection that is actively<br />

seeking a service. Contrast with passive open.<br />

adapter. A piece of hardware that connects a computer<br />

and an external device. An auxiliary device or unit<br />

used to extend the operation of another system.<br />

address. The unique code assigned to each device or<br />

workstation connected to a network. A standard<br />

internet address uses a two-part, 32-bit address field.<br />

The first part of the address field contains the network<br />

address; the second part contains the local address.<br />

address mask. A bit mask used to select bits from an<br />

Internet address for subnet addressing. The mask is 32<br />

bits long and selects the network portion of the Internet<br />

address and one or more bits of the local portion. It is<br />

sometimes called a subnet mask.<br />

address resolution. A means for mapping network<br />

layer addresses onto media-specific addresses. See ARP.<br />

Address Resolution Protocol (ARP). A protocol used<br />

to dynamically bind an internet address to a hardware<br />

address. ARP is implemented on a single physical<br />

network and is limited to networks that support<br />

broadcast addressing.<br />

address space. A collection of bytes that are allocated,<br />

and in many ways managed, as a single entity by CP.<br />

Each byte within an address space is identified by a<br />

unique address. An address space represents an extent<br />

of storage available to a program. Address spaces<br />

allocated by <strong>VM</strong> range in size from 64KB to 2GB.<br />

Advanced Interactive Executive (AIX).<br />

version of the UNIX operating system.<br />

<strong>IBM</strong>’s licensed<br />

Advanced Program-to-Program Communications<br />

(APPC). The interprogram communication service<br />

within SNA LU 6.2 on which the APPC/<strong>VM</strong> interface<br />

is based.<br />

Advanced Research Projects Agency (ARPA). Now<br />

called DARPA, its the U.S. Government agency that<br />

funded the ARPANET.<br />

Advanced Research Projects Agency Network<br />

(ARPANET). A packet switched network developed in<br />

the early 1970’s that is the forerunner of today’s<br />

Internet. It was decommissioned in June 1990.<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 351


agent. As defined in the SNMP architecture, an agent,<br />

or an SNMP server is responsible for performing the<br />

network management functions requested by the<br />

network management stations.<br />

AIX.<br />

Advanced Interactive Executive.<br />

American National Standard Code for Information<br />

Interchange (ASCII). The standard code, using a<br />

coded character set consisting of 7-bit coded characters<br />

(8 bits including parity check), used for information<br />

interchange among data processing systems, data<br />

communication systems, and associated equipment. The<br />

ASCII set consists of control characters and graphic<br />

characters. The default file transfer type for FTP, used<br />

to transfer files that contain ASCII text characters.<br />

American National Standards Institute (ANSI). An<br />

organization consisting of producers, consumers, and<br />

general interest groups that establishes the procedures<br />

by which accredited organizations create and maintain<br />

voluntary industry standards in the United States.<br />

ANSI is sponsored by the Computer and Business<br />

Equipment Manufacturer Association and is responsible<br />

for establishing voluntary industry standards.<br />

ANSI.<br />

API.<br />

American National Standards Institute.<br />

Application Program Interface.<br />

APPC. Advanced Program-to-Program<br />

Communications.<br />

application. The use to which an information<br />

processing system is put, for example, a payroll<br />

application, an airline reservation application, a<br />

network application.<br />

application layer. The seventh layer of the OSI (Open<br />

Systems Interconnection) model for data<br />

communication. It defines protocols for user or<br />

application programs.<br />

Application Program Interface (API). The formally<br />

defined programming-language interface between an<br />

<strong>IBM</strong> system control program or licensed program and<br />

its user. APIs allow programmers to write application<br />

programs that use the <strong>TCP</strong>, UDP, and <strong>IP</strong> layers of the<br />

<strong>TCP</strong>/<strong>IP</strong> protocol suite.<br />

argument. A parameter passed between a calling<br />

program and a called program.<br />

ARP.<br />

ARPA.<br />

ARPANET.<br />

Network.<br />

Address Resolution Protocol.<br />

Advanced Research Projects Agency.<br />

Advanced Research Projects Agency<br />

ASCII. American National Standard Code for<br />

Information Interchange. The default file transfer type<br />

for FTP, used to transfer files that contain ASCII text<br />

characters.<br />

ASN.1.<br />

ASYNC.<br />

Abstract Syntax Notation One.<br />

Asynchronous.<br />

asynchronous (ASYNC). Without regular time<br />

relationship; unexpected or unpredictable with respect<br />

to the execution of program instruction. See<br />

synchronous.<br />

asynchronous communication. A method of<br />

communication supported by the operating system that<br />

allows an exchange of data with remote device, using<br />

either a start-stop line or an X.25 line. Asynchronous<br />

communications include the file transfer and the<br />

interactive terminal facility support.<br />

Athena Widgets. The X Window widget set developed<br />

by MIT for Project Athena.<br />

Attachment Unit Interface (AUI). Connector used<br />

with thick Ethernet that often includes a drop cable.<br />

AUI.<br />

Attachment Unit Interface.<br />

attention key. A function key on terminals that, when<br />

pressed, causes an I/O interruption in the processing<br />

unit.<br />

authentication server. The service that reads a<br />

Kerberos database to verify that a client making a<br />

request for access to an end-service is the client named<br />

in the request. The authentication server provides an<br />

authenticated client ticket as permission to access the<br />

ticket-granting server.<br />

authenticator. Information encrypted by a Kerberos<br />

authentication server that a client presents along with a<br />

ticket to an end-server as permission to access the<br />

service.<br />

authorization. The right granted to a user to<br />

communicate with, or to make use of, a computer<br />

system or service.<br />

B<br />

backbone. In a local area network multiple-bridge<br />

ring configuration, a high-speed link to which rings are<br />

connected by means of bridges. A backbone can be<br />

configured as a bus or as a ring. In a wide area<br />

network, a high-speed link to which nodes or data<br />

switching exchanges (DSES) are connected.<br />

background task. A task with which the user is not<br />

currently interacting, but continues to run.<br />

baseband. Characteristic of any network technology<br />

that uses a single carrier frequency and requires all<br />

stations attached to the network to participate in every<br />

transmission. See broadband.<br />

Basic Encoding Rules (BER). Standard rules for<br />

encoding data units described in ASN.1. Sometimes<br />

352 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


incorrectly grouped under the term ASN.1, which<br />

correctly refers only to the abstract description<br />

language, not the encoding technique.<br />

Basic Input/Output System (BIOS). A set of routines<br />

that permanently resides in read-only memory (ROM)<br />

in a PC. The BIOS performs the most basic tasks, such<br />

as sending a character to the printer, booting the<br />

computer, and reading the keyboard.<br />

batch. An accumulation of data to be processed. A<br />

group of records or data processing jobs brought<br />

together for processing or transmission. Pertaining to<br />

activity involving little or no user action. See interactive<br />

Bayonet Neill-Concelman (BNC). A standardized<br />

connector used with Thinnet and coaxial cable.<br />

Because It’s Time NETwork (BITNET). A network of<br />

hosts that use the Network Job Entry (NJE) protocol to<br />

communicate. The network is primarily composed of<br />

universities, nonprofit organizations, and research<br />

centers. BITNET has recently merged with the<br />

Computer and Science Network (CSNET) to form the<br />

Corporation for Research and Educational Networking<br />

(CSNET). See CSNET.<br />

BER.<br />

Basic Encoding Rules.<br />

Berkeley Software Distribution (BSD). Term used<br />

when describing different versions of the Berkeley<br />

UNIX software, as in “4.3BSD UNIX”.<br />

BFS.<br />

Byte File System.<br />

big-endian. A format for storage or transmission of<br />

binary data in which the most significant bit (or byte)<br />

comes first. The reverse convention is little-endian.<br />

BIOS.<br />

BITNET.<br />

Basic Input/Output System.<br />

Because It’s Time NETwork.<br />

Blat. A denial-of-service attack in which the <strong>TCP</strong>/<strong>IP</strong><br />

stack is flooded with SYN packets that have spoofed<br />

source <strong>IP</strong> addresses and port numbers that match the<br />

destination <strong>IP</strong> addresses and port numbers. The Blat<br />

attack also has the URG flag turned on in the <strong>TCP</strong><br />

header and has the ability to incrementally spoof the<br />

source <strong>IP</strong> address. Blat is a version of the Land attack.<br />

block. A string of data elements recorded, processed,<br />

or transmitted as a unit. The elements can be<br />

characters, words, or physical records.<br />

blocking mode. If the execution of the program<br />

cannot continue until some event occurs, the operating<br />

system suspends the program until that event occurs.<br />

BNC.<br />

BOOTPD.<br />

Bayonet Neill-Concelman.<br />

Bootstrap Protocol Daemon.<br />

Bootstrap Protocol Daemon (BOOTPD). The BOOTP<br />

daemon responds to client requests for boot<br />

information using information contained in a BOOTP<br />

machine file.<br />

bridge. A router that connects two or more networks<br />

and forwards packets among them. The operations<br />

carried out by a bridge are done at the physical layer<br />

and are transparent to <strong>TCP</strong>/<strong>IP</strong> and <strong>TCP</strong>/<strong>IP</strong> routing. A<br />

functional unit that connects two local area networks<br />

(LANs) that use the same logical link control (LLC)<br />

procedures but may use different medium access<br />

control (MAC) procedures.<br />

broadband. Characteristic of any network that<br />

multiplexes multiple, independent network carriers<br />

onto a single cable. This is usually done using<br />

frequency division multiplexing. Broadband technology<br />

allows several networks to coexist on one single cable;<br />

traffic from one network does not interfere with traffic<br />

from another, because the “conversations” happen on<br />

different frequencies in the ether, similar to a<br />

commercial radio system.<br />

broadcast. The simultaneous transmission of data<br />

packets to all nodes on a network or subnetwork.<br />

broadcast address. An address that is common to all<br />

nodes on a network.<br />

BSD.<br />

Berkeley Software Distribution.<br />

bus topology. A network configuration in which only<br />

one path is maintained between stations. Any data<br />

transmitted by a station is concurrently available to all<br />

other stations on the link.<br />

byte-ordering. The method of sorting bytes under<br />

specific machine architectures. Of the two common<br />

methods, little endian byte ordering places the least<br />

significant byte first. This method is used in Intel**<br />

microprocessors. In the second method, big endian byte<br />

ordering, the most significant byte is placed first. This<br />

method is used in Motorola microprocessors.<br />

Byte File System (BFS). A file system in which a file<br />

consists of an ordered sequence of bytes rather than<br />

records. BFS files can be organized into hierarchical<br />

directories. Byte file systems are enrolled as file spaces<br />

in CMS file pools.<br />

C<br />

Carrier Sense Multiple Access with Collision<br />

Detection (CSMA/CD). The access method used by<br />

local area networking technologies such as Ethernet.<br />

case-sensitive. A condition in which entries for an<br />

entry field must conform to a specific lowercase,<br />

uppercase, or mixed-case format to be valid.<br />

Glossary 353


CCITT. Comite Consultatif International<br />

Telegraphique et Telephonique.<br />

CEC..<br />

Central Electronics Complex.<br />

channel. A path in a system that connects a processor<br />

and main storage with an I/O device.<br />

channel-attached. pertaining to attachment of devices<br />

directly by data channels (I/O channels)to a computer.<br />

Pertaining to devices attached to a controlling unit by<br />

cables, rather than by telecommunication lines.<br />

Synonymous with local, locally attached.<br />

checksum. The sum of a group of data associated with<br />

the group and used for checking purposes.<br />

CICS.<br />

Customer Information Control System.<br />

Class A network. An internet network in which the<br />

high-order bit of the address is 0. The host number<br />

occupies the three, low-order octets.<br />

Class B network. An internet network in which the<br />

high-order bit of the address is 1, and the next<br />

high-order bit is 0. The host number occupies the two<br />

low-order octets.<br />

Class C network. An internet network in which the<br />

two high-order bits of the address are 1 and the next<br />

high-order bit is 0. The host number occupies the<br />

low-order octet.<br />

CLAW.<br />

Common Link Access to Workstation.<br />

client. A function that requests services from a server,<br />

and makes them available to the user. In z/OS, an<br />

address space that is using <strong>TCP</strong>/<strong>IP</strong> services.<br />

client-server model. A common way to describe<br />

network services and the model user processes<br />

(programs) of those services. Examples include the<br />

name server and resolver paradigm of the DNS and file<br />

server/file client relationships such as NFS and diskless<br />

hosts.<br />

client-server relationship. Any device that provides<br />

resources or services to other devices on a network is a<br />

server. Any device that employs the resources provided<br />

by a server is a client. A machine can run client and<br />

server processes at the same time.<br />

CLIST.<br />

CLPA.<br />

CMS.<br />

Command List.<br />

Create Link Pack Area.<br />

Conversational Monitor System.<br />

Comite Consultatif International Telegraphicque et<br />

Telephonique (CCITT). The International Telegraph<br />

and Telephone Consultative Committee. A unit of the<br />

International Telecommunications Union (ITU) of the<br />

United Nations. CCITT produces technical standards,<br />

known as “recommendations,” for all internationally<br />

controlled aspects of analog and digital communication.<br />

command. The name and any parameters associated<br />

with an action that can be performed by a program.<br />

The command is entered by the user; the computer<br />

performs the action requested by the command name.<br />

Command List (CLIST). A list of commands and<br />

statements designed to perform a specific function for<br />

the user.<br />

command prompt. A displayed symbol, such as [C:\]<br />

that requests input from a user.<br />

Common Link Access to Workstation (CLAW). A<br />

continuously executing duplex channel program<br />

designed to minimize host interrupts while maximizing<br />

channel utilization.<br />

communications adapter. A hardware feature that<br />

enables a computer or device to become a part of a<br />

data network.<br />

community name. A password used by hosts running<br />

Simple Network Management Protocol (SNMP) agents<br />

to access remote network management stations.<br />

compile. To translate a program written in a<br />

high-level language into a machine language program.<br />

The computer actions required to transform a source<br />

file into an executable object file.<br />

compiler. A program that translates a source program<br />

into an executable program (an object program).<br />

Computer and Science Network (CSNET). A large<br />

computer network, mostly in the U.S. but with<br />

international connections. CSNET sites include<br />

universities, research labs, and some commercial<br />

companies. It is now merged with BITNET to form<br />

CREN. See BITNET.<br />

connection. An association established between<br />

functional units for conveying information. The path<br />

between two protocol modules that provides reliable<br />

stream delivery service. In an internet, a connection<br />

extends from a <strong>TCP</strong> module on one machine to a <strong>TCP</strong><br />

module on the other.<br />

Control Program (CP). The z/<strong>VM</strong> operating system<br />

that manages the real processor’s resources and is<br />

responsible for simulating select operating systems,<br />

known as virtual machines for individual users. Each<br />

virtual machine is the functional equivalent of a real<br />

machine.<br />

conversational monitor system (CMS). A virtual<br />

machine operating system that provides general<br />

interactive time sharing, problem solving, and program<br />

development capabilities, and operates only under<br />

control of the z/<strong>VM</strong> control program.<br />

354 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Corporation for Research and Educational<br />

Networking (CREN). A large computer network<br />

formed from the merging of BITNET and CSNET. See<br />

BITNET and CSNET.<br />

CP.<br />

Control Program.<br />

Create Link Pack Area (CLPA). A parameter specified<br />

at startup, which says to create the link pack area.<br />

CREN. Corporation for Research and Educational<br />

Networking.<br />

CSMA/CD. Carrier Sense Multiple Access with<br />

Collision Detection.<br />

CSNET.<br />

Computer and Science Network.<br />

Customer Information Control System (CICS). An<br />

<strong>IBM</strong>-licensed program that enables transactions entered<br />

at remote terminals to be processed concurrently by<br />

user written application programs. It includes facilities<br />

for building, using, and maintaining databases.<br />

DBCS.<br />

DDN.<br />

Double Byte Character Set.<br />

Defense Data Network.<br />

decryption. The unscrambling of data using an<br />

algorithm that works under the control of a key. The<br />

key allows data to be protected even when the<br />

algorithm is unknown. Data is unscrambled after<br />

transmission.<br />

default. A value, attribute, or option that is assumed<br />

when none is explicitly specified.<br />

Defense Advanced Research Projects Agency<br />

(DARPA). The U.S. government agency that funded<br />

the ARPANET.<br />

Defense Data Network (DDN). Comprises the<br />

MILNET and several other Department of Defense<br />

networks.<br />

destination node.<br />

is sent.<br />

The node to which a request or data<br />

D<br />

DHCPD.<br />

Daemon.<br />

Dynamic Host Configuration Protocol<br />

daemon. A background process usually started at<br />

system initialization that runs continuously and<br />

performs a function required by other processes. Some<br />

daemons are triggered automatically to perform their<br />

task; others operate periodically.<br />

DASD.<br />

DARPA.<br />

Direct Access Storage Device.<br />

Defense Advanced Research Projects Agency.<br />

DATABASE 2 (DB2). An <strong>IBM</strong> relational database<br />

management system for the z/OS operating system.<br />

database administrator (DBA). An individual or<br />

group responsible for the rules by which data is<br />

accessed and stored. The DBA is usually responsible for<br />

database integrity, security, performance and recovery.<br />

datagram. A basic unit of information that is passed<br />

across the internet, it consists of one or more data<br />

packets.<br />

data link layer. Layer 2 of the OSI (Open Systems<br />

Interconnection) model; it defines protocols governing<br />

data packetizing and transmission into and out of each<br />

node.<br />

data set. The major unit of data storage and retrieval<br />

in z/OS, consisting of a collection of data in one of<br />

several prescribed arrangements and described by<br />

control information to which the system has access.<br />

Synonymous with file in z/<strong>VM</strong>.<br />

DB2. DATABASE 2.<br />

Direct Access Storage Device (DASD). A device in<br />

which access to data is independent of where data<br />

resides on the device.<br />

directory.<br />

A named grouping of files in a file system.<br />

Disk Operating System (DOS). An operating system<br />

for computer systems that use disks and diskettes for<br />

auxiliary storage of programs and data.<br />

display terminal. An input/output unit by which a<br />

user communicates with a data-processing system or<br />

sub-system. Usually includes a keyboard and always<br />

provides a visual presentation of data; for example, an<br />

<strong>IBM</strong> 3179 display.<br />

Distributed Program Interface (DPI). A programming<br />

interface that provides an extension to the function<br />

provided by the SNMP agents.<br />

DLL.<br />

DNS.<br />

Dynamic Link Library.<br />

Domain Name System.<br />

domain. In an internet, a part of the naming hierarchy.<br />

Syntactically, a domain name consists of a sequence of<br />

names (labels) separated by periods (dots).<br />

Domain Name System (DNS). A system in which a<br />

resolver queries name servers for resource records<br />

about a host.<br />

domain naming. A hierarchical system for naming<br />

network resources.<br />

DBA.<br />

Database administrator.<br />

DoS.<br />

Denial-of-Service.<br />

DOS.<br />

Disk Operating System.<br />

Glossary 355


dotted-decimal notation. The syntactic representation<br />

for a 32-bit integer that consists of four 8-bit numbers,<br />

written in base 10 and separated by periods (dots).<br />

Many internet application programs accept dotted<br />

decimal notations in place of destination machine<br />

names.<br />

double-byte character set (DBCS). A set of characters<br />

in which each character is represented by two bytes.<br />

Languages such as Japanese, Chinese, Korean, which<br />

contain more symbols than can be represented by 256<br />

code points, require double-byte character sets. Because<br />

each character requires 2 bytes, the typing, display, and<br />

printing of DBCS characters requires hardware and<br />

programs that support DBCS.<br />

doubleword. A contiguous sequence of bits or<br />

characters that comprises two computer words and is<br />

capable of being addressed as a unit.<br />

DPI.<br />

Distributed Program Interface.<br />

Dynamic Host Configuration Protocol Daemon<br />

(DHCPD). The DHCP daemon (DHCPD server)<br />

responds to client requests for boot information using<br />

information contained in a DHCP machine file. This<br />

information includes the <strong>IP</strong> address of the client, the <strong>IP</strong><br />

address of the TFTP daemon, and information about<br />

the files to request from the TFTP daemon.<br />

dynamic resource allocation. An allocation technique<br />

in which the resources assigned for execution of<br />

computer programs are determined by criteria applied<br />

at the moment of need.<br />

dynamic link library (DLL). A module containing<br />

dynamic link routines that is linked at load or run time.<br />

E<br />

EBCDIC.<br />

code.<br />

EGP.<br />

Extended binary-coded decimal interchange<br />

Exterior Gateway Protocol.<br />

encapsulation. A process used by layered protocols in<br />

which a lower-level protocol accepts a message from a<br />

higher-level protocol and places it in the data portion<br />

of the low-level frame. As an example, in Internet<br />

terminology, a packet would contain a header from the<br />

physical layer, followed by a header from the network<br />

layer (<strong>IP</strong>), followed by a header from the transport<br />

layer (<strong>TCP</strong>), followed by the application protocol data.<br />

encryption. The scrambling or encoding of data using<br />

an algorithm that works under the control of a key. The<br />

key allows data to be protected even when the<br />

algorithm is unknown. Data is scrambled prior to<br />

transmission.<br />

ES/9370 Integrated Adapters. An adapter you can use<br />

in <strong>TCP</strong>/<strong>IP</strong> for <strong>VM</strong> to connect into Token-Ring networks<br />

and Ethernet networks, as well as <strong>TCP</strong>/<strong>IP</strong> networks<br />

that support X.25 connections.<br />

Ethernet. The name given to a local area<br />

packet-switched network technology invented in the<br />

early 1970s by Xerox**, Incorporated. Ethernet uses a<br />

Carrier Sense Multiple Access/Collision Detection<br />

(CSMA/CD) mechanism to send packets.<br />

EXEC. In a <strong>VM</strong> operating system, a user-written<br />

command file that contains CMS commands, other<br />

user-written commands, and execution control<br />

statements, such as branches.<br />

extended binary-coded decimal interchange code<br />

(EBCDIC). A coded character set consisting of 8-bit<br />

coded characters.<br />

extended character. A character other than a 7-bit<br />

ASCII character. An extended character can be a 1-bit<br />

code point with the 8th bit set (ordinal 128-255) or a<br />

2-bit code point (ordinal 256 and greater).<br />

Exterior Gateway Protocol (EGP). A reachability<br />

routing protocol used by gateways in a two-level<br />

internet.<br />

eXternal Data Representation (XDR). A standard<br />

developed by Sun Microsystems, Incorporated for<br />

representing data in machine-independent format.<br />

F<br />

FAT.<br />

File Allocation Table.<br />

FDDI. Fiber Distributed Data Interface. Also used to<br />

abbreviate Fiber Optic Distributed Data Interface.<br />

Fiber Distributed Data Interface (FDDI). The ANSI<br />

standard for high-speed transmission over fiber optic<br />

cable.<br />

Fiber Optic Network. A network based on the<br />

technology and standards that define data transmission<br />

using cables of glass or plastic fibers carrying visible<br />

light. Fiber optic network advantages are: higher<br />

transmission speeds, greater carrying capacity, and<br />

lighter, more compact cable.<br />

file. In z/<strong>VM</strong>, a named set of records stored or<br />

processed as a unit. Synonymous with data set in z/OS.<br />

File Allocation Table (FAT).<br />

space on a disk for a file.<br />

A table used to allocate<br />

File Transfer Access and Management (FTAM). An<br />

application service element that enables user<br />

application processes to manage and access a file<br />

system, which may be distributed.<br />

File Transfer Protocol (FTP). A <strong>TCP</strong>/<strong>IP</strong> protocol used<br />

for transferring files to and from foreign hosts. FTP also<br />

356 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


provides the capability to access directories. Password<br />

protection is provided as part of the protocol.<br />

foreign host. Any machine on a network that can be<br />

interconnected.<br />

foreign network. In an internet, any other network<br />

interconnected to the local network by one or more<br />

intermediate gateways or routers.<br />

foreign node.<br />

See foreign host.<br />

Fraggle. A denial-of-service attack in which a UDP<br />

Echo Request is sent to a broadcast or multicast<br />

address.<br />

frame. The portion of a tape on a line perpendicular<br />

to the reference edge, on which binary characters can<br />

be written or read simultaneously.<br />

FTAM.<br />

FTP.<br />

fullword.<br />

4 bytes.<br />

G<br />

File Transfer Access and Management.<br />

File Transfer Protocol.<br />

A computer word. In System/370, 32 bits or<br />

gadget. A windowless graphical object that looks like<br />

its equivalent like-named widget but does not support<br />

the translations, actions, or pop-up widget children<br />

supplied by that widget.<br />

gateway. A functional unit that interconnects a local<br />

data network with another network having different<br />

protocols. A host that connects a <strong>TCP</strong>/<strong>IP</strong> network to a<br />

non-<strong>TCP</strong>/<strong>IP</strong> network at the application layer. See also<br />

router.<br />

gather and scatter data. Two related operations.<br />

During the gather operation, data is taken from<br />

multiple buffers and transmitted. In the scatter<br />

operation, data is received and stored in multiple<br />

buffers.<br />

GC.<br />

GContext.<br />

GCS.<br />

GDDM.<br />

Graphics Context.<br />

See Graphics Context.<br />

Group Control System.<br />

Graphical Data Display Manager.<br />

GDDMXD. Graphical Data Display Manager interface<br />

for X Window System. A graphical interface that<br />

formats and displays alphanumeric, data, graphics, and<br />

images on workstation display devices that support the<br />

X Window System.<br />

GDF.<br />

Graphics data file.<br />

Graphical Display Data Manager (GDDM). A group<br />

of routines that allows pictures to be defined and<br />

displayed procedurally through function routines that<br />

correspond to graphic primitives.<br />

Graphics Context (GC). The storage area for graphics<br />

output. Also known as GC and GContext. Used only<br />

with graphics that have the same root and depth as the<br />

graphics content.<br />

Group Control System (GCS) . A component of<br />

<strong>VM</strong>/ESA, consisting of a shared segment that you can<br />

Initial Program Load (<strong>IP</strong>L) and run in a virtual<br />

machine. It provides simulated z/OS or OS/390services<br />

and unique supervisor services to help support a native<br />

SNA network.<br />

H<br />

handle. A temporary data representation that<br />

identifies a file.<br />

halfword. A contiguous sequence of bits or characters<br />

that constitutes half a fullword and can be addressed as<br />

a unit.<br />

HASP.<br />

HDLC.<br />

Houston automatic spooling priority system.<br />

High-level Data Link Control.<br />

header file. A file that contains constant declarations,<br />

type declarations, and variable declarations and<br />

assignments. Header files are supplied with all<br />

programming interfaces.<br />

High-level Data Link Control (HDLC). An ISO<br />

protocol for X.25 international communication.<br />

High Performance File System (HPFS). An OS/2 file<br />

management system that supports high-speed buffer<br />

storage, long file names, and extended attributes.<br />

HiperSockets. A hardware feature that provides high<br />

performance internal communications between LPARs<br />

within the same CEC.<br />

hop count. The number of gateways or routers<br />

through which a packet passes on its way to its<br />

destination.<br />

host. A computer connected to a network, which<br />

provides an access method to that network. A host<br />

provides end-user services and can be a client, a server,<br />

or a client and server simultaneously.<br />

Houston automatic spooling priority system (HASP).<br />

A computer program that provides supplementary job<br />

management, data management, and task management<br />

functions such as control of job flow, ordering of tasks,<br />

and spooling.<br />

HPFS.<br />

High Performance File System.<br />

HYPERchannel Adapter. A network interface used to<br />

connect a <strong>TCP</strong>/<strong>IP</strong> for z/<strong>VM</strong> or z/OS host into an<br />

Glossary 357


existing <strong>TCP</strong>/<strong>IP</strong> HYPERchannel network, or to connect<br />

<strong>TCP</strong>/<strong>IP</strong> hosts together to create a <strong>TCP</strong>/<strong>IP</strong><br />

HYPERchannel network.<br />

I<br />

IAB.<br />

ICMP.<br />

IEEE.<br />

IETF.<br />

IGMP.<br />

IGP.<br />

Internet Activities Board.<br />

Internet Control Message Protocol.<br />

Institute of Electrical and Electronic Engineers.<br />

Internet Engineering Task Force.<br />

Internet Group Management Protocol (IGMP).<br />

Interior Gateway Protocol.<br />

include file. A file that contains preprocessor text,<br />

which is called by a program, using a standard<br />

programming call. Synonymous with header file.<br />

IMAP.<br />

IMS.<br />

Internet Message Access Protocol..<br />

Information Management System.<br />

Information Management System (IMS). A<br />

database/data communication (DB/DC) system that<br />

can manage complex databases and networks.<br />

initial program load (<strong>IP</strong>L). The initialization<br />

procedure that causes an operating system to<br />

commence operation.<br />

instance. Indicates a label that is used to distinguish<br />

among the variations of the principal name. An instance<br />

allows for the possibility that the same client or service<br />

can exist in several forms that require distinct<br />

authentication.<br />

Institute of Electrical and Electronic Engineers<br />

(IEEE). An electronics industry organization.<br />

Integrated Services Digital Network (ISDN). A<br />

digital, end-to-end telecommunication network that<br />

supports multiple services including, but not limited to,<br />

voice and data.<br />

interactive. Pertaining to a program or a system that<br />

alternately accepts input and then responds. An<br />

interactive system is conversational; that is, a<br />

continuous dialog exists between user and system. See<br />

batch.<br />

Interior Gateway Protocol (IGP). The protocol used to<br />

exchange routing information between collaborating<br />

routers in the Internet. R<strong>IP</strong> is an example of an IGP.<br />

Internet. The largest internet in the world consisting<br />

of large national backbone nets (such as MILNET,<br />

NSFNET, and CREN) and a myriad of regional and<br />

local campus networks all over the world. The Internet<br />

uses the Internet protocol suite. To be on the Internet,<br />

you must have <strong>IP</strong> connectivity (be able to TELNET to,<br />

or PING, other systems). Networks with only electronic<br />

mail connectivity are not actually classified as being on<br />

the Internet.<br />

Internet Activities Board (IAB). The technical body<br />

that oversees the development of the Internet suite of<br />

protocols (commonly referred to as <strong>TCP</strong>/<strong>IP</strong>). It has two<br />

task forces (the IRTF and the IETF) each charged with<br />

investigating a particular area.<br />

Internet address. A 32-bit address assigned to hosts<br />

using <strong>TCP</strong>/<strong>IP</strong>. An internet address consists of a<br />

network number and a local address. Internet addresses<br />

are represented in a dotted-decimal notation and are<br />

used to route packets through the network.<br />

Internet Engineering Task Force (IETF). One of the<br />

task forces of the IAB. The IETF is responsible for<br />

solving short-term engineering needs of the Internet.<br />

International Organization for Standardization (ISO).<br />

An organization of national standards bodies from<br />

various countries established to promote development<br />

of standards to facilitate international exchange of<br />

goods and services, and develop cooperation in<br />

intellectual, scientific, technological, and economic<br />

activity.<br />

internet or internetwork. A collection of packet<br />

switching networks interconnected by gateways,<br />

routers, bridges, and hosts to function as a single,<br />

coordinated, virtual network.<br />

internet address. The unique 32-bit address<br />

identifying each node in an internet. See also address.<br />

Internet Control Message Protocol (ICMP). The part<br />

of the Internet Protocol layer that handles error<br />

messages and control messages.<br />

Internet Group Management Protocol (IGMP).<br />

is used by <strong>IP</strong> hosts to report their host group<br />

memberships to multicast routers.<br />

IGMP<br />

Internet Protocol (<strong>IP</strong>). The <strong>TCP</strong>/<strong>IP</strong> layer between the<br />

higher level host-to-host protocol and the local network<br />

protocols. <strong>IP</strong> uses local area network protocols to carry<br />

packets, in the form of datagrams, to the next gateway,<br />

router, or destination host.<br />

interoperability. The capability of different hardware<br />

and software by different vendors to effectively<br />

communicate together.<br />

Inter-user communication vehicle (IUCV). A<strong>VM</strong><br />

facility for passing data between virtual machines and<br />

<strong>VM</strong> components.<br />

intrinsics X-Toolkit. A set management mechanism<br />

that provides for constructing and interfacing between<br />

composite X Window widgets, their children, and other<br />

358 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


clients. Also, intrinsics provide the ability to organize a<br />

collection of widgets into an application.<br />

<strong>IP</strong>.<br />

Internet Protocol.<br />

<strong>IP</strong> datagram. The fundamental unit of information<br />

passed across the Internet. An <strong>IP</strong> datagram contains<br />

source and destination addresses along with data and a<br />

number of fields that define such things as the length<br />

of the datagram, the header checksum, and flags to say<br />

whether the datagram can be (or has been) fragmented.<br />

<strong>IP</strong>L.<br />

ISDN.<br />

ISO.<br />

IUCV.<br />

J<br />

JCL.<br />

JES.<br />

JIS.<br />

Initial Program Load.<br />

Integrated Services Digital Network.<br />

International Organization for Standardization.<br />

Inter-User Communication Vehicle.<br />

Job Control Language.<br />

Job Entry Subsystem.<br />

Japanese Institute of Standards.<br />

Job Control Language (JCL). A problem-oriented<br />

language designed to express statements in a job that<br />

are used to identify the job or describe its requirements<br />

to an operating system.<br />

Job Entry Subsystem (JES). An <strong>IBM</strong> System/370<br />

licensed program that receives jobs into the system and<br />

processes all output data produced by the jobs.<br />

JUNET. The Japanese Academic and Research<br />

Network that connects various UNIX operating<br />

systems.<br />

K<br />

Kanji. A graphic character set consisting of symbols<br />

used in Japanese ideographic alphabets. Each character<br />

is represented by 2 bytes.<br />

katakana. A character set of symbols used on one of<br />

the two common Japanese phonetic alphabets, which is<br />

used primarily to write foreign words phonetically. See<br />

also kanji.<br />

Kerberos. A system that provides authentication<br />

service to users in a network environment.<br />

Kerberos Authentication System. An authentication<br />

mechanism used to check authorization at the user<br />

level.<br />

Kiss-of-Death (KOD). An IGMP based<br />

denial-of-service attack that depletes the stack’s large<br />

envelopes. See KOX.<br />

KOD.<br />

Kiss-of-Death.<br />

KOX. An IGMP based denial-of-service attack that<br />

depletes the stack’s large envelopes and also has source<br />

<strong>IP</strong> address spoofing. KOX is a version of the<br />

Kiss-of-Death (KOD) attack.<br />

L<br />

LaMail. The client that communicates with the OS/2<br />

Presentation Manager to manage mail on the network.<br />

LAN.<br />

Local area network.<br />

Land. A denial-of-service attack in which the <strong>TCP</strong>/<strong>IP</strong><br />

stack is flooded with SYN packets that have spoofed<br />

source <strong>IP</strong> addresses and port numbers that match the<br />

destination <strong>IP</strong> addresses and port numbers. See Blat.<br />

Line Printer Client (LPR). A client command that<br />

allows the local host to submit a file to be printed on a<br />

remote print server.<br />

Line Printer Daemon (LPD). The remote printer<br />

server that allows other hosts to print on a printer local<br />

to your host.<br />

little-endian. A format for storage or transmission of<br />

binary data in which the least significant bit (or byte)<br />

comes first. The reverse convention is big-endian.<br />

local area network (LAN). A data network located on<br />

the user’s premises in which serial transmission is used<br />

for direct data communication among data stations.<br />

local host. In an internet, the computer to which a<br />

user’s terminal is directly connected without using the<br />

internet.<br />

local network. The portion of a network that is<br />

physically connected to the host without intermediate<br />

gateways or routers.<br />

logical character delete symbol. A special editing<br />

symbol, usually the at (@) sign, which causes CP to<br />

delete it and the immediately preceding character from<br />

the input line. If many delete symbols are consecutively<br />

entered, the same number of preceding characters are<br />

deleted from the input line.<br />

Logical Unit (LU). An entity addressable within an<br />

SNA-defined network. LUs are categorized by the types<br />

of communication they support.<br />

LPD.<br />

LPR.<br />

LU.<br />

Line Printer Daemon.<br />

Line Printer Client.<br />

Logical Unit.<br />

Glossary 359


LU-LU session. In SNA, a session between two logical<br />

units (LUs). It provides communication between two<br />

end users, or between an end user and an LU services<br />

component.<br />

LU type. In SNA, the classification of an LU-LU<br />

session in terms of the specific subset of SNA protocols<br />

and options supported by the logical units (LUs) for<br />

that session.<br />

M<br />

MAC.<br />

Media Access Control.<br />

mail gateway. A machine that connects two or more<br />

electronic mail systems (often different mail systems on<br />

different networks) and transfers messages between<br />

them.<br />

Management Information Base (MIB). A standard<br />

used to define SNMP objects, such as packet counts<br />

and routing tables, that are in a <strong>TCP</strong>/<strong>IP</strong> environment.<br />

mapping. The process of relating internet addresses to<br />

physical addresses in the network.<br />

mask. A pattern of characters used to control retention<br />

or elimination of portions of another pattern of<br />

characters. To use a pattern of characters to control<br />

retention or elimination of another pattern of<br />

characters. A pattern of characters that controls the<br />

keeping, deleting, or testing of portions of another<br />

pattern of characters.<br />

Maximum Transmission Unit (MTU). The largest<br />

possible unit of data that can be sent on a given<br />

physical medium.<br />

media access control (MAC). The method used by<br />

network adapters to determine which adapter has<br />

access to the physical network at a given time.<br />

Message Handling System (MHS). The system of<br />

message user agents, message transfer agents, message<br />

stores, and access units that together provide OSI<br />

electronic mail.<br />

MHS.<br />

MIB.<br />

Message Handling System.<br />

Management Information Base.<br />

microcode. A code, representing the instructions of an<br />

instruction set, which is implemented in a part of<br />

storage that is not program-addressable.<br />

MILNET.<br />

Military Network.<br />

Military Network (MILNET). Originally part of the<br />

ARPANET, MILNET was partitioned in 1984 to make it<br />

possible for military installations to have reliable<br />

network service, while the ARPANET continued to be<br />

used for research. See DDN.<br />

minidisk. Logical divisions of a physical direct access<br />

storage device.<br />

modem (modulator/demodulator). A device that<br />

converts digital data from a computer to an analog<br />

signal that can be transmitted on a telecommunication<br />

line, and converts the analog signal received to data for<br />

the computer.<br />

Motif.<br />

see OSF/Motif.<br />

mouse. An input device that is used to move a pointer<br />

on the screen and select items.<br />

MPROUTE. Multiple Protocol Routing. Implements<br />

the OSPF protocol described in RFC 1583, 1058, and<br />

1723.<br />

MTU.<br />

Maximum Transmission Unit.<br />

multicast. The simultaneous transmission of data<br />

packets to a group of selected nodes on a network or<br />

subnetwork.<br />

multiconnection server. A server that is capable of<br />

accepting simultaneous, multiple connections.<br />

Multiple Virtual Storage (MVS). Implies the<br />

MVS/ESA, and follow-on OS/390 and z/OS products.<br />

multitasking. A mode of operation that provides for<br />

the concurrent performance execution of two or more<br />

tasks.<br />

MVS.<br />

N<br />

name server.<br />

about hosts.<br />

Multiple Virtual Storage.<br />

The server that stores resource records<br />

National Science Foundation (NSF).<br />

NSFNET.<br />

Sponsor of the<br />

National Science Foundation Network (NSFNET). A<br />

collection of local, regional, and mid-level networks in<br />

the U.S. tied together by a high-speed backbone.<br />

NSFNET provides scientists access to a number of<br />

supercomputers across the country.<br />

NCP.<br />

NDB.<br />

NDIS.<br />

Network Control Program.<br />

Network Database.<br />

Network Driver Interface Specification.<br />

Netman. This device keyword specifies that this<br />

device is a 3172 LAN Channel Station that supports<br />

<strong>IBM</strong> Enterprise-Specific SNMP Management<br />

Information Base (MIB) variables for 3172. <strong>TCP</strong>/<strong>IP</strong> for<br />

<strong>VM</strong> supports SNMP GET and SNMP GETNEXT<br />

operations to request and retrieve 3172<br />

Enterprise-Specific MIB variables. These requests are<br />

360 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


answered only by those 3172 devices with the<br />

NETMAN option in the PROFILE <strong>TCP</strong><strong>IP</strong> file.<br />

NetView. A system 390-based, <strong>IBM</strong>-licensed program<br />

used to monitor, manage, and diagnose the problems of<br />

a network.<br />

network. An arrangement of nodes and connecting<br />

branches. Connections are made between data stations.<br />

Physical network refers to the hardware that makes up<br />

a network. Logical network refers to the abstract<br />

organization overlaid on one or more physical<br />

networks. An internet is an example of a logical<br />

network.<br />

network adapter. A physical device, and its associated<br />

software, that enables a processor or controller to be<br />

connected to a network.<br />

network administrator. The person responsible for the<br />

installation, management, control, and configuration of<br />

a network.<br />

Network Control Program (NCP). An <strong>IBM</strong>-licensed<br />

program that provides communication controller<br />

support for single-domain, multiple-domain, and<br />

interconnected network capability.<br />

network database (NDB). An <strong>IBM</strong>-licensed program<br />

that provides communication controller support for<br />

single-domain, multiple-domain, and interconnected<br />

network capability. NDB allows interoperability among<br />

different database systems, and uses RPC protocol with<br />

a client/server type of relationship. NDB is used for<br />

data conversion, security, I/O buffer management, and<br />

transaction management.<br />

Network Driver Interface Specification (NDIS). An<br />

industry-standard specification used by applications as<br />

an interface with network adapter device drivers.<br />

network elements. As defined in the SNMP<br />

architecture, network elements are gateways, routers,<br />

and hosts that contain management agents responsible<br />

for performing the network management functions<br />

requested by the network management stations.<br />

network file system (NFS). The NFS protocol, which<br />

was developed by Sun Microsystems, Incorporated,<br />

allows computers in a network to access each other’s<br />

file systems. Once accessed, the file system appears to<br />

reside on the local host.<br />

Network Information Center (NIC). Originally there<br />

was only one, located at SRI International and tasked to<br />

serve the ARPANET (and later DDN) community.<br />

Today, there are many NICs operated by local, regional,<br />

and national networks all over the world. Such centers<br />

provide user assistance, document service, training, and<br />

more.<br />

Network Job Entry (NJE). In object distribution, an<br />

entry in the network job table that specifies the system<br />

action required for incoming network jobs sent by a<br />

particular user or group of users. Each entry is<br />

identified by the user ID of the originating user or<br />

group.<br />

network layer. Layer 3 of the Open Systems<br />

Interconnection (OSI) model; it defines protocols<br />

governing data routing.<br />

network management stations. As defined in the<br />

SNMP architecture, network management stations, or<br />

SNMP clients, execute management applications that<br />

monitor and control network elements.<br />

NFS.<br />

NIC.<br />

NJE.<br />

Network file system.<br />

Network Information Center.<br />

Network Job Entry.<br />

node. In a network, a point at which one or more<br />

functional units connect channels or data circuits. In a<br />

network topology, the point at an end of a branch.<br />

nonblocking mode. If the execution of the program<br />

cannot continue until some event occurs, the operating<br />

system does not suspend the program until that event<br />

occurs. Instead, the operating system returns an error<br />

message to the program.<br />

NPSI.<br />

NSF.<br />

NSFNET.<br />

O<br />

octet.<br />

X.25 NCP Packet Switching Interface.<br />

National Science Foundation.<br />

National Science Foundation Network.<br />

A byte composed of eight binary elements.<br />

Offload host. Any device that is handling the <strong>TCP</strong>/<strong>IP</strong><br />

processing for the z/OS host where <strong>TCP</strong>/<strong>IP</strong> for MVS is<br />

installed. Currently, the only supported Offload host is<br />

the 3172-3.<br />

Offload system. Represents both the z/OS host where<br />

<strong>TCP</strong>/<strong>IP</strong> for z/OS is installed and the Offload host that<br />

is handling the <strong>TCP</strong>/<strong>IP</strong> Offload processing.<br />

open system. A system with specified standards and<br />

that therefore can be readily connected to other systems<br />

that comply with the same standards.<br />

Open Systems Interconnection (OSI). The<br />

interconnection of open systems in accordance with<br />

specific ISO standards. The use of standardized<br />

procedures to enable the interconnection of data<br />

processing systems.<br />

Operating System/2 (OS/2). Pertaining to the <strong>IBM</strong><br />

licensed program that can be used as the operating<br />

system for personal computers. The OS/2 licensed<br />

program can perform multiple tasks at the same time.<br />

Glossary 361


OS/2.<br />

Operating System/2.<br />

PDU.<br />

Protocol data unit.<br />

OSF/Motif. OSF/Motif is an X Window System toolkit<br />

defined by Open Software Foundation, Inc. (OSF),<br />

which enables the application programmer to include<br />

standard graphic elements that have a 3-D appearance.<br />

Performance of the graphic elements is increased with<br />

gadgets and windowless widgets.<br />

OSI.<br />

Open Systems Interconnection.<br />

OSPF. Open Shortest Path First. An Interior Gateway<br />

Protocol that distributes routing information within a<br />

single Autonomous System.<br />

out-of-band data. Data that is placed in a secondary<br />

channel for transmission. Primary and secondary<br />

communication channels are created physically by<br />

modulation on a different frequency, or logically by<br />

specifying a different logical channel. A primary<br />

channel can have a greater capacity than a secondary<br />

one.<br />

OV.<br />

P<br />

OfficeVision.<br />

packet. A sequence of binary digits, including data<br />

and control signals, that is transmitted and switched as<br />

a composite whole.<br />

Packet Switching Data Network (PSDN). A network<br />

that uses packet switching as a means of transmitting<br />

data.<br />

parameter. A variable that is given a constant value<br />

for a specified application.<br />

parse. To analyze the operands entered with a<br />

command.<br />

passive open. The state of a connection that is<br />

prepared to provide a service on demand. Contrast<br />

with active open.<br />

Partitioned data set (PDS). A data set in direct access<br />

storage that is divided into partitions, called members,<br />

each of which can contain a program, part of a<br />

program, or data.<br />

PC.<br />

PCA.<br />

Personal computer.<br />

Personal Channel Attach.<br />

PC Network. A low-cost, broadband network that<br />

allows attached <strong>IBM</strong> personal computers, such as <strong>IBM</strong><br />

5150 Personal Computers, <strong>IBM</strong> Computer ATs, <strong>IBM</strong><br />

PC/XTs, and <strong>IBM</strong> Portable Personal Computers to<br />

communicate and to share resources.<br />

peer-to-peer. In network architecture, any functional<br />

unit that resides in the same layer as another entity.<br />

Personal Channel Attach (PCA).<br />

Channel Attach.<br />

see Personal System<br />

Personal Computer (PC). A microcomputer primarily<br />

intended for stand-alone use by an individual.<br />

Personal System Channel Attach (PSCA). An adapter<br />

card to connect a micro-channel based personal<br />

computer (or processor) to a System/370 parallel<br />

channel.<br />

physical layer. Layer 1 of the Open Systems<br />

Interconnection (OSI) model; it details protocols<br />

governing transmission media and signals.<br />

physical unit (PU). In SNA, the component that<br />

manages and monitors the resources, such as attached<br />

links and adjacent link stations, associated with a node,<br />

as requested by an SSPC via an SSPC-PU session. An<br />

SSPC activates a session with the physical unit in order<br />

to indirectly manage, through the PU, resources of the<br />

node such as attached links.<br />

PING. The command that sends an ICMP Echo<br />

Request packet to a host, gateway, or router with the<br />

expectation of receiving a reply.<br />

Ping-o-Death (POD). A denial-of-service attack in<br />

which huge, fragmented ICMP packets are sent.<br />

PM.<br />

Presentation Manager.<br />

PMANT. In OS/2, the 3270 client terminal emulation<br />

program that is invoked by the PMANT command.<br />

polling. On a multipoint connection or a<br />

point-to-point connection, the process whereby data<br />

stations are invited one at a time to transmit.<br />

Interrogation of devices for such purposes as to avoid<br />

contention, to determine operational status, or to<br />

determine readiness to send or receive data.<br />

POP.<br />

Post Office Protocol.<br />

port. An endpoint for communication between<br />

devices, generally referring to a logical connection. A<br />

16-bit number identifying a particular Transmission<br />

Control Protocol or User Datagram Protocol resource<br />

within a given <strong>TCP</strong>/<strong>IP</strong> node.<br />

PORTMAP.<br />

Synonymous with Portmapper.<br />

Portmapper. A program that maps client programs to<br />

the port numbers of server programs. Portmapper is<br />

used with Remote Procedure Call (RPC) programs.<br />

PDS.<br />

PDN.<br />

Partitioned data set.<br />

Public Data Network.<br />

Post Office Protocol (POP).<br />

exchanging network mail.<br />

A protocol used for<br />

362 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


presentation layer. Layer 6 of the Open Systems<br />

Interconnections (OSI) model; it defines protocols<br />

governing data formats and conversions.<br />

Presentation Manager (PM). A component of OS/2<br />

that provides a complete graphics-based user interface,<br />

with pull-down windows, action bars, and layered<br />

menus.<br />

principal name. Specifies the unique name of a user<br />

(client) or service.<br />

PostScript. A standard that defines how text and<br />

graphics are presented on printers and display devices.<br />

process. A unique, finite course of events defined by<br />

its purpose or by its effect, achieved under defined<br />

conditions. Any operation or combination of operations<br />

on data. A function being performed or waiting to be<br />

performed. A program in operation; for example, a<br />

daemon is a system process that is always running on<br />

the system.<br />

Professional Office Systems (PROFS). <strong>IBM</strong>’s<br />

proprietary, integrated office management system used<br />

for sending, receiving, and filing electronic mail, and a<br />

variety of other office tasks. PROFS has been replaced<br />

by OfficeVision. See OfficeVision.<br />

PROFS.<br />

Professional Office Systems.<br />

protocol. A set of semantic and syntactic rules that<br />

determines the behavior of functional units in achieving<br />

communication. Protocols can determine low-level<br />

details of machine-to-machine interfaces, such as the<br />

order in which bits from a byte are sent; they can also<br />

determine high-level exchanges between application<br />

programs, such as file transfer.<br />

Protocol data unit (PDU). A set of commands used by<br />

the SNMP agent to request management station data.<br />

protocol suite. A set of protocols that cooperate to<br />

handle the transmission tasks for a data communication<br />

system.<br />

PSCA.<br />

PSDN.<br />

PU.<br />

Personal System Channel Attach.<br />

Packet Switching Data Network.<br />

Physical unit.<br />

Public Data Network (PDN). A network established<br />

and operated by a telecommunication administration or<br />

by a Recognized Private Operating Agency (RPOA) for<br />

the specific purpose of providing circuit-switched,<br />

packet-switched, and leased-circuit services to the<br />

public.<br />

Q<br />

QDIO.<br />

Queued Direct I/O.<br />

queue. A line or list formed by items in a system<br />

waiting for service; for example, tasks to be performed<br />

or messages to be transmitted. To arrange in, or form, a<br />

queue.<br />

R<br />

R4P3D. A denial-of-service attack in which <strong>TCP</strong><br />

packets are sent to the stack with no header flags set.<br />

R4P3D is an augmented version of the Stream attack.<br />

RACF.<br />

RARP.<br />

Resource access control facility.<br />

Reverse Address Resolution Protocol.<br />

read-only access. An access mode associated with a<br />

virtual disk directory that lets a user read, but not write<br />

or update, any file on the disk directory.<br />

read/write access. An access mode associated with a<br />

virtual disk directory that lets a user read and write<br />

any file on the disk directory (if write authorized).<br />

realm. One of the three parts of a Kerberos name. The<br />

realm specifies the network address of the principal<br />

name or instance. This address must be expressed as a<br />

fully qualified domain name, not as a “dot numeric”<br />

internet address.<br />

recursion. A process involving numerous steps, in<br />

which the output of each step is used for the successive<br />

step.<br />

reduced instruction-set computer (RISC). A computer<br />

that uses a small, simplified set of frequently used<br />

instructions for rapid execution.<br />

reentrant. The attribute of a program or routine that<br />

allows the same copy of a program or routine to be<br />

used concurrently by two or more tasks.<br />

Remote Execution Protocol (REXEC). A protocol that<br />

allows the execution of a command or program on a<br />

foreign host. The local host receives the results of the<br />

command execution. This protocol uses the REXEC<br />

command.<br />

remote host. A machine on a network that requires a<br />

physical link to interconnect with the network.<br />

remote logon. The process by which a terminal user<br />

establishes a terminal session with a remote host.<br />

Remote Procedure Call (RPC). A facility that a client<br />

uses to request the execution of a procedure call from a<br />

server. This facility includes a library of procedures and<br />

an eXternal data representation.<br />

Remote Spooling Communications Subsystem<br />

(RSCS). An <strong>IBM</strong>-licensed program that transfers spool<br />

files, commands, and messages between <strong>VM</strong> users,<br />

remote stations, and remote and local batch systems,<br />

through HASP-compatible telecommunication facilities.<br />

Glossary 363


Request For Comments (RFC). A series of documents<br />

that covers a broad range of topics affecting<br />

internetwork communication. Some RFCs are<br />

established as internet standards.<br />

resolver. A program or subroutine that obtains<br />

information from a name server or local table for use<br />

by the calling program.<br />

resource access control facility (RACF). An<br />

<strong>IBM</strong>-licensed program that provides for access control<br />

by identifying and by verifying the users to the system,<br />

authorizing access to protected resources, logging the<br />

detected unauthorized attempts to enter the system,<br />

and logging the detected accesses to protected<br />

resources.<br />

resource records. Individual records of data used by<br />

the Domain Name System. Examples of resource<br />

records include the following: a host’s Internet Protocol<br />

addresses, preferred mail addresses, and aliases.<br />

response unit (RU). In SNA, a message unit that<br />

acknowledges a request unit. It may contain prefix<br />

information received in a request unit. If positive, the<br />

response unit may contain additional information such<br />

as session parameters in response to BIND SESSION. If<br />

negative, it contains sense data defining the exception<br />

condition.<br />

Restructured Extended Executor (REXX) language. A<br />

general purpose programming language, particularly<br />

suitable for EXEC procedures, XEDIT macros, or<br />

programs for personal computing. Procedures, XEDIT<br />

macros, and programs written in this language can be<br />

interpreted by the Procedures Language <strong>VM</strong>/REXX<br />

interpreter.<br />

return code. A code used to influence the execution of<br />

succeeding instructions. A value returned to a program<br />

to indicate the results of an operation requested by that<br />

program.<br />

Reverse Address Resolution Protocol (RARP). A<br />

protocol that maintains a database of mappings<br />

between physical hardware addresses and <strong>IP</strong> addresses.<br />

REXEC.<br />

REXX.<br />

RFC.<br />

R<strong>IP</strong>.<br />

RISC.<br />

ROUTED..<br />

Remote Execution Protocol.<br />

Restructured Extended Executor language.<br />

Request For Comments.<br />

Routing Information Protocol.<br />

Reduced instruction-set computer.<br />

Routing Daemon.<br />

router. A device that connects networks at the ISO<br />

Network Layer. A router is protocol-dependent and<br />

connects only networks operating the same protocol.<br />

Routers do more than transmit data; they also select the<br />

best transmission paths and optimum sizes for packets.<br />

In <strong>TCP</strong>/<strong>IP</strong>, routers operate at the Internetwork layer.<br />

See also gateway.<br />

Routing Information Protocol (R<strong>IP</strong>). The protocol that<br />

maintains routing table entries for gateways, routers,<br />

and hosts.<br />

routing table. A list of network numbers and the<br />

information needed to route packets to each.<br />

RPC.<br />

RSCS.<br />

RU.<br />

S<br />

SAA.<br />

SBCS.<br />

SDLC.<br />

Remote Procedure Call.<br />

Remote Spooling Communications Subsystem.<br />

Response unit.<br />

Systems Application Architecture.<br />

Single Byte Character Set.<br />

Synchronous data link control.<br />

Sendmail. The OS/2 mail server that uses Simple<br />

Mail Transfer Protocol to route mail from one host to<br />

another host on the network.<br />

serial line. A network media that is a de facto<br />

standard, not an international standard, commonly<br />

used for point-to-point <strong>TCP</strong>/<strong>IP</strong> connections. Generally,<br />

a serial line consists of an RS-232 connection into a<br />

modem and over a telephone line.<br />

semantics. The relationships of characters or groups of<br />

characters to their meanings, independent of the<br />

manner of their interpretation and use. The<br />

relationships between symbols and their meanings.<br />

server. A function that provides services for users. A<br />

machine can run client and server processes at the<br />

same time.<br />

SFS.<br />

Shared File System.<br />

Shared File System (SFS). A part of CMS that lets<br />

users organize their files into groups known as<br />

directories and selectively share those files and<br />

directories with other users.<br />

Simple Mail Transfer Protocol (SMTP). A <strong>TCP</strong>/<strong>IP</strong><br />

application protocol used to transfer mail between<br />

users on different systems. SMTP specifies how mail<br />

systems interact and the format of control messages<br />

they use to transfer mail.<br />

Simple Network Management Protocol (SNMP). A<br />

protocol that allows network management by elements,<br />

such as gateways, routers, and hosts. This protocol<br />

provides a means of communication between network<br />

elements regarding network resources.<br />

364 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


simultaneous peripheral operations online (SPOOL).<br />

(Noun) An area of auxiliary storage defined to<br />

temporarily hold data during its transfer between<br />

peripheral equipment and the processor. (Verb) To use<br />

auxiliary storage as a buffer storage to reduce<br />

processing delays when transferring data between<br />

peripheral equipment and the processing storage of a<br />

computer.<br />

single-byte character set (SBCS). A character set in<br />

which each character is represented by a one-byte code.<br />

Contrast with double-byte character set.<br />

SMI.<br />

Structure for Management Information.<br />

spoofing. An act of forging and inserting data that is<br />

incorrect or not valid. It is most commonly used in<br />

reference to <strong>IP</strong> source spoofing, where the source<br />

address in an <strong>IP</strong> packet header is replaced with a false<br />

one, effectively masking the source of the packet<br />

(making it difficult to trace back to the originator).<br />

SPOOL.<br />

Simultaneous peripheral operations online.<br />

spooling. The processing of files created by or<br />

intended for virtual readers, punches, and printers. The<br />

spool files can be sent from one virtual device to<br />

another, from one virtual machine to another, and to<br />

read devices.<br />

SMTP.<br />

Simple Mail Transfer Protocol.<br />

SQL.<br />

Structured Query Language.<br />

Smurf. A denial-of-service attack in which an ICMP<br />

Echo Request is sent to a broadcast or multicast<br />

address. There are three variants of the Smurf attack.<br />

See Smurf-IC, Smurf-OB, and Smurf-RP.<br />

Smurf-IC. A denial-of-service attack in which an<br />

ICMP Echo Request is sent to a broadcast or multicast<br />

address. ″IC″ denotes that incoming packets are using<br />

the <strong>TCP</strong>/<strong>IP</strong> stack to launch an attack. See Smurf-OB<br />

and Smurf-RP.<br />

Smurf-OB. A denial-of-service attack in which an<br />

ICMP Echo Request is sent to a broadcast or multicast<br />

address. ″OB″ denotes that an outbound ICMP Echo<br />

Request matched the description of a Smurf attack. See<br />

Smurf-IC and Smurf-RP.<br />

Smurf-RP. A denial-of-service attack in which an<br />

ICMP Echo Request is sent to a broadcast or multicast<br />

address. ″RP″ denotes that the ICMP Echo Reply<br />

packets being received by the stack do not match any<br />

Echo Requests that were sent. See Smurf-IC and<br />

Smurf-OB.<br />

SNA.<br />

SNALINK.<br />

Systems Network Architecture.<br />

SNA Network Link.<br />

SNA Network Link. An SNA network link function of<br />

<strong>TCP</strong>/<strong>IP</strong> for z/<strong>VM</strong> and OS/390 hosts running <strong>TCP</strong>/<strong>IP</strong><br />

to communicate through an existing SNA backbone.<br />

SNMP.<br />

SOA.<br />

Simple Network Management Protocol.<br />

Start of authority record.<br />

socket. An endpoint for communication between<br />

processes or applications. A pair consisting of <strong>TCP</strong> port<br />

and <strong>IP</strong> address, or UDP port and <strong>IP</strong> address.<br />

socket address. An address that results when the port<br />

identification number is combined with an internet<br />

address.<br />

socket interface. An application interface that allows<br />

users to write their own applications to supplement<br />

those supplied by <strong>TCP</strong>/<strong>IP</strong>.<br />

SQL/DS.<br />

Structured Query Language/Data System.<br />

SSL. Secure Sockets Layer. Provides the secure<br />

(encrypted) communication between a remote client<br />

and a <strong>TCP</strong>/<strong>IP</strong> server.<br />

start of authority record (SOA). In the Domain Name<br />

System, the resource record that defines a zone.<br />

stream. A continuous sequence of data elements being<br />

transmitted, or intended for transmission, in character<br />

or binary-digit form, using a defined format.<br />

Stream. A denial-of-service attack in which <strong>TCP</strong><br />

packets are sent to the stack with no header flags set.<br />

See R4P3D.<br />

Structured Query Language (SQL). Fourth generation<br />

English-like programming language used to perform<br />

queries on relational databases.<br />

Structured Query Language/Data System (SQL/DS).<br />

An <strong>IBM</strong> relational database management system for the<br />

<strong>VM</strong> and VSE operating systems.<br />

Structure for Management Information (SMI). The<br />

rules used to define the objects that can be accessed<br />

through a network management protocol. See also MIB.<br />

subagent. In the SNMP architecture, a subagent<br />

provides an extension to the utility provided by the<br />

SNMP agent.<br />

subdirectory. A directory contained within another<br />

directory in a file system hierarchy.<br />

subnet. A networking scheme that divides a single<br />

logical network into smaller physical networks to<br />

simplify routing.<br />

subnet address. The portion of the host address that<br />

identifies a subnetwork.<br />

subnet mask. A mask used in the <strong>IP</strong> protocol layer to<br />

separate the subnet address from the host portion of<br />

the address.<br />

Glossary 365


subnetwork.<br />

Synonymous with subnet.<br />

subsystem. A secondary or subordinate system,<br />

usually capable of operating independent of, or<br />

asynchronously with, a controlling system.<br />

SYNC.<br />

Synchronous.<br />

synchronous (SYNC). Pertaining to two or more<br />

processes that depend on the occurrences of a specific<br />

event such as common timing signal. Occurring with a<br />

regular or predictable time relationship. See<br />

asynchronous.<br />

synchronous data link control (SDLC). A data link<br />

over which communication is conducted using the<br />

synchronous data protocol.<br />

SynFlood. A denial-of-service attack in which the<br />

initiator floods the <strong>TCP</strong>/<strong>IP</strong> stack with SYN packets that<br />

have spoofed source <strong>IP</strong> addresses, resulting in the<br />

server never receiving the final ACKs needed to<br />

complete the three-way handshake in the connection<br />

process.<br />

Systems Application Architecture (SAA). A formal<br />

set of rules that enables applications to be run without<br />

modification in different computer environments.<br />

Systems Network Architecture (SNA). The<br />

description of the logical structure, formats, protocols,<br />

and operational sequences for transmitting information<br />

units through, and controlling the configuration and<br />

operation of, networks.<br />

T<br />

TALK. An interactive messaging system that sends<br />

messages between the local host and a foreign host.<br />

<strong>TCP</strong>.<br />

Transmission Control Protocol.<br />

<strong>TCP</strong>/<strong>IP</strong>. Transmission Control Protocol/Internet<br />

Protocol.<br />

Telnet. The Terminal Emulation Protocol, a <strong>TCP</strong>/<strong>IP</strong><br />

application protocol for remote connection service.<br />

Telnet allows a user at one site to gain access to a<br />

foreign host as if the user’s terminal were connected<br />

directly to that foreign host.<br />

terminal emulator. A program that imitates the<br />

function of a particular kind of terminal.<br />

Terminate and Stay Resident (TSR) program. A TSR<br />

is a program that installs part of itself as an extension<br />

of DOS when it is executed.<br />

TFTPD.<br />

Trivial File Transfer Protocol Daemon.<br />

ticket. Encrypted information obtained from a<br />

Kerberos authentication server or a ticket-granting<br />

server. A ticket authenticates a user and, in conjunction<br />

with an authenticator, serves as permission to access a<br />

service when presented by the authenticated user.<br />

ticket-granting server. Grants Kerberos tickets to<br />

authenticated users as permission to access an<br />

end-service.<br />

Time Sharing Option (TSO). An operating system<br />

option; for System/370 system, the option provides<br />

interactive time sharing from remote terminals<br />

time stamp. To apply the current system time. The<br />

value on an object that is an indication of the system<br />

time at some critical point in the history of the object.<br />

In query, the identification of the day and time when a<br />

query report was created that query automatically<br />

provides on each report.<br />

TN3270. An informally defined protocol for<br />

transmitting 3270 data streams over Telnet.<br />

token. In a local network, the symbol of authority<br />

passed among data stations to indicate the station<br />

temporarily in control of the transmission medium.<br />

token-bus.<br />

See bus topology.<br />

token ring. As defined in IEEE 802.5, a<br />

communication method that uses a token to control<br />

access to the LAN. The difference between a token bus<br />

and a token ring is that a token-ring LAN does not use<br />

a master controller to control the token. Instead, each<br />

computer knows the address of the computer that<br />

should receive the token next. When a computer with<br />

the token has nothing to transmit, it passes the token to<br />

the next computer in line.<br />

token-ring network. A ring network that allows<br />

unidirectional data transmission between data stations<br />

by a token-passing procedure over one transmission<br />

medium, so that the transmitted data returns to the<br />

transmitting station.<br />

Transmission Control Protocol (<strong>TCP</strong>). The <strong>TCP</strong>/<strong>IP</strong><br />

layer that provides reliable, process-to-process data<br />

stream delivery between nodes in interconnected<br />

computer networks. <strong>TCP</strong> assumes that <strong>IP</strong> (Internet<br />

Protocol) is the underlying protocol.<br />

Transmission Control Protocol/Internet Protocol<br />

(<strong>TCP</strong>/<strong>IP</strong>). A suite of protocols designed to allow<br />

communication between networks regardless of the<br />

technologies implemented in each network.<br />

transport layer. Layer 4 of the Open Systems<br />

Interconnection (OSI) model; it defines protocols<br />

governing message structure and some error checking.<br />

TRAP. An unsolicited message that is sent by an<br />

SNMP agent to an SNMP network management station.<br />

Trivial File Transfer Protocol Daemon (TFTPD). The<br />

TFTP daemon (TFTPD server) transfers files between<br />

366 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


the Byte File System (BFS) and TFTP clients. TFTPD<br />

supports access to files maintained in a BFS directory<br />

structure that is mounted.<br />

TSO.<br />

Time Sharing Option.<br />

TSR. Terminate and stay resident. TSR usually refers<br />

to a terminate-and-stay-resident program.<br />

U<br />

UDP.<br />

User Datagram Protocol.<br />

user. A function that uses the services provided by a<br />

server. A host can be a user and a server at the same<br />

time. See client.<br />

Virtual Telecommunications Access Method (VTAM).<br />

An <strong>IBM</strong>-licensed program that controls communication<br />

and the flow of data in an SNA network. It provides<br />

single-domain, multiple-domain, and interconnected<br />

network capability.<br />

<strong>VM</strong>.<br />

<strong>VM</strong>CF.<br />

Virtual Machine.<br />

Virtual Machine Communication Facility.<br />

<strong>VM</strong>/ESA. Virtual Machine/Enterprise System<br />

Architecture<br />

<strong>VM</strong>SES/E. Virtual Machine Serviceability<br />

Enhancements Staged/Extended.<br />

VTAM.<br />

Virtual Telecommunications Access Method.<br />

User Datagram Protocol (UDP). A datagram level<br />

protocol built directly on the <strong>IP</strong> layer. UDP is used for<br />

application-to-application programs between <strong>TCP</strong>/<strong>IP</strong><br />

hosts.<br />

W<br />

WAN.<br />

Wide area network.<br />

user exit. A point in an <strong>IBM</strong>-supplied program at<br />

which a user routine may be given control.<br />

user profile. A description of a user, including user<br />

ID, user name, defaults, password, access authorization,<br />

and attributes.<br />

V<br />

virtual address. The address of a location in virtual<br />

storage. A virtual address must be translated into a real<br />

address to process the data in processor storage.<br />

Virtual Machine (<strong>VM</strong>). Licensed software whose full<br />

name is Virtual Machine/Enterprise Systems<br />

Architecture (<strong>VM</strong>/ESA) It is a software operating<br />

system that manages the resources of a real processor<br />

to provide virtual machines to end users. It includes<br />

time-sharing system control program (CP), the<br />

conversational monitor system (CMS), the group<br />

control system (GCS), and the dump viewing facility<br />

(DVF).<br />

Virtual Machine Communication Facility (<strong>VM</strong>CF). A<br />

connectionless mechanism for communication between<br />

address spaces.<br />

<strong>VM</strong>.<br />

Virtual machine.<br />

virtual storage. Storage space that can be regarded as<br />

addressable main storage by the user of a computer<br />

system in which virtual addresses are mapped into real<br />

addresses. The size of virtual storage is limited by the<br />

addressing scheme of the computing system and by the<br />

amount of auxiliary storage available, not by the actual<br />

number of main storage locations.<br />

well-known port. A port number that has been<br />

preassigned for specific use by a specific protocol or<br />

application. Clients and servers using the same protocol<br />

communicate over the same well-known port.<br />

wide area network (WAN). A network that provides<br />

communication services to a geographic area larger<br />

than that served by a local area network.<br />

widget. The basic data type of the X Window System<br />

Toolkit. Every widget belongs to a widget class that<br />

contains the allowed operations for that corresponding<br />

class.<br />

window. An area of the screen with visible boundaries<br />

through which a panel or portion of a panel is<br />

displayed.<br />

working directory. The directory in which an<br />

application program is found. The working directory<br />

becomes the current directory when the application is<br />

started.<br />

X<br />

X Client. An application program which uses the X<br />

protocol to communicate windowing and graphics<br />

requests to an X Server.<br />

XDR.<br />

eXternal Data Representation.<br />

XEDIT. The CMS facility, containing the XEDIT<br />

command and XEDIT subcommands and macros, that<br />

lets a user create, change, and manipulate CMS files.<br />

X Server. A program which interprets the X protocol<br />

and controls one or more screens, a pointing device, a<br />

keyboard, and various resources associated with the X<br />

Window System, such as Graphics Contexts, Pixmaps,<br />

and color tables.<br />

Glossary 367


X Window System. The X Window System is a<br />

protocol designed to support network transparent<br />

windowing and graphics. <strong>TCP</strong>/<strong>IP</strong> for z/<strong>VM</strong> and<br />

OS/390 provides client support for the X Window<br />

System application program interface.<br />

X Window System API. An application program<br />

interface designed as a distributed,<br />

network-transparent, device-independent, windowing<br />

and graphics system.<br />

X Window System Toolkit.<br />

application environments.<br />

Functions for developing<br />

X.25. A CCITT communication protocol that defines<br />

the interface between data terminal equipment and<br />

packet switching networks.<br />

X.25 NCP Packet Switching Interface (X.25 NPSI). An<br />

<strong>IBM</strong>-licensed program that allows users to<br />

communicate over packet switched data networks that<br />

have interfaces complying with Recommendation X.25<br />

(Geneva** 1980) of the CCITT. It allows SNA programs<br />

to communicate with SNA equipment or with non-SNA<br />

equipment over such networks.<br />

Z<br />

ZAP. To modify or dump an individual text file/data<br />

set using the ZAP command or the ZAPTEXT EXEC.<br />

zone. In the Domain Name System, a zone is a logical<br />

grouping of domain names that is assigned to a<br />

particular organization. Once an organization controls<br />

its own zone, it can change the data in the zone, add<br />

new tree sections connected to the zone, delete existing<br />

nodes, or delegate new subzones under its zone.<br />

368 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Bibliography<br />

This bibliography lists the <strong>IBM</strong> publications that<br />

provide information about your z/<strong>VM</strong> system.<br />

The z/<strong>VM</strong> library includes z/<strong>VM</strong> base<br />

publications, publications for additional facilities<br />

included with z/<strong>VM</strong>, and publications for z/<strong>VM</strong><br />

optional features. For abstracts of z/<strong>VM</strong><br />

publications and information about current<br />

editions and available publication formats, see<br />

z/<strong>VM</strong>: General Information.<br />

z/<strong>VM</strong> Internet Library<br />

The latest editions of most z/<strong>VM</strong> publications are<br />

available in Adobe Portable Document Format<br />

(PDF) and <strong>IBM</strong> BookManager ® format from the<br />

z/<strong>VM</strong> Internet Library:<br />

http://www.ibm.com/eserver/zseries/zvm/library/<br />

The z/<strong>VM</strong> Internet Library also provides other<br />

information about z/<strong>VM</strong>, such as:<br />

v Program directories<br />

v Data areas and control blocks<br />

v Monitor records<br />

<strong>VM</strong> Collection CD-ROM<br />

The Online Library Omnibus Edition: <strong>VM</strong> Collection,<br />

SK2T-2067, contains libraries in BookManager<br />

format for current <strong>IBM</strong> <strong>VM</strong> system products and<br />

<strong>IBM</strong> licensed programs that run on <strong>VM</strong>. It also<br />

contains PDF versions of many of these books.<br />

Note: Only unlicensed publications are included.<br />

z/<strong>VM</strong> Base Publications<br />

Evaluation<br />

z/<strong>VM</strong>: General Information, GC24-5991<br />

z/<strong>VM</strong> License Information, GC24-6033<br />

z/<strong>VM</strong>: Migration <strong>Guide</strong>, GC24-5996<br />

Installation and Service<br />

z/<strong>VM</strong>: Installation <strong>Guide</strong>, GC24-5992<br />

z/<strong>VM</strong>: Service <strong>Guide</strong>, GC24-5993<br />

z/<strong>VM</strong>: <strong>VM</strong>SES/E Introduction and Reference,<br />

GC24-5994<br />

Planning and Administration<br />

z/<strong>VM</strong>: CMS File Pool Planning, Administration,<br />

and Operation, SC24-5949<br />

z/<strong>VM</strong>: CMS Planning and Administration,<br />

SC24-6042<br />

<strong>VM</strong>/ESA: Connectivity Planning, Administration,<br />

and Operation, SC24-5756<br />

z/<strong>VM</strong>: CP Planning and Administration,<br />

SC24-6043<br />

z/<strong>VM</strong>: Dynamic I/O Configuration Planning and<br />

Administration, SC24-6044<br />

z/<strong>VM</strong>: Group Control System, SC24-5998<br />

z/<strong>VM</strong>: Performance, SC24-5999<br />

z/<strong>VM</strong>: Running Guest Operating Systems,<br />

SC24-5997<br />

z/<strong>VM</strong>: Saved Segments Planning and<br />

Administration, SC24-6056<br />

z/<strong>VM</strong>: System Administration Facility, SC24-6034<br />

Customization<br />

z/<strong>VM</strong>: CP Exit Customization, SC24-5953<br />

Operation<br />

z/<strong>VM</strong>: System Operation, SC24-6000<br />

z/<strong>VM</strong>: Virtual Machine Operation, SC24-6036<br />

Application Programming<br />

z/<strong>VM</strong>: CMS Application Development <strong>Guide</strong>,<br />

SC24-6002<br />

z/<strong>VM</strong>: CMS Application Development <strong>Guide</strong> for<br />

Assembler, SC24-6003<br />

z/<strong>VM</strong>: CMS Application Multitasking, SC24-5961<br />

z/<strong>VM</strong>: CMS Callable Services Reference,<br />

SC24-6004<br />

z/<strong>VM</strong>: CMS Macros and Functions Reference,<br />

SC24-6005<br />

z/<strong>VM</strong>: CP Programming Services, SC24-6001<br />

<strong>VM</strong>/ESA: CPI Communications User’s <strong>Guide</strong>,<br />

SC24-5595<br />

z/<strong>VM</strong>: Enterprise Systems Architecture/Extended<br />

Configuration Principles of Operation, SC24-5965<br />

z/<strong>VM</strong>: OpenExtensions Advanced Application<br />

Programming Tools, SC24-5979<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 369


z/<strong>VM</strong>: OpenExtensions Callable Services Reference,<br />

SC24-6007<br />

z/<strong>VM</strong>: OpenExtensions Command Reference,<br />

SC24-6006<br />

z/<strong>VM</strong>: OpenExtensions POSIX Conformance<br />

Document, GC24-5976<br />

z/<strong>VM</strong>: OpenExtensions User’s <strong>Guide</strong>, SC24-6053<br />

z/<strong>VM</strong>: Program Management Binder for CMS,<br />

SC24-6057<br />

<strong>VM</strong>/ESA: Programmer’s <strong>Guide</strong> to the<br />

Server-Requester Programming Interface for <strong>VM</strong>,<br />

SC24-5455<br />

z/<strong>VM</strong>: Reusable Server Kernel Programmer’s<br />

<strong>Guide</strong> and Reference, SC24-5964<br />

<strong>VM</strong>/ESA: REXX/<strong>VM</strong> Primer, SC24-5598<br />

z/<strong>VM</strong>: REXX/<strong>VM</strong> Reference, SC24-6035<br />

z/<strong>VM</strong>: REXX/<strong>VM</strong> User’s <strong>Guide</strong>, SC24-5962<br />

Common Programming Interface Communications<br />

Reference, SC26-4399<br />

Common Programming Interface Resource<br />

Recovery Reference, SC31-6821<br />

Debug Tool User’s <strong>Guide</strong> and Reference,<br />

SC09-2137<br />

OS/390: DFSMS Program Management,<br />

SC27-0806<br />

End Use<br />

z/<strong>VM</strong>: CMS Command and Utility Reference,<br />

SC24-6010<br />

z/<strong>VM</strong>: CMS Pipelines Reference, SC24-5971<br />

z/<strong>VM</strong>: CMS Pipelines User’s <strong>Guide</strong>, SC24-5970<br />

<strong>VM</strong>/ESA: CMS Primer, SC24-5458<br />

z/<strong>VM</strong>: CMS User’s <strong>Guide</strong>, SC24-6009<br />

z/<strong>VM</strong>: CP Command and Utility Reference,<br />

SC24-6008<br />

z/<strong>VM</strong>: Quick Reference, SC24-6011<br />

z/<strong>VM</strong>: XEDIT Command and Macro Reference,<br />

SC24-5973<br />

z/<strong>VM</strong>: XEDIT User’s <strong>Guide</strong>, SC24-5972<br />

CMS/TSO Pipelines: Author’s Edition, SL26-0018<br />

Diagnosis<br />

z/<strong>VM</strong>: Diagnosis <strong>Guide</strong>, GC24-6039<br />

z/<strong>VM</strong>: Dump Viewing Facility, GC24-5966<br />

z/<strong>VM</strong>: System Messages and Codes - CMS,<br />

GC24-6031<br />

z/<strong>VM</strong>: System Messages and Codes - CP,<br />

GC24-6030<br />

z/<strong>VM</strong>: System Messages and Codes - Other<br />

Components, GC24-6032<br />

z/<strong>VM</strong>: <strong>VM</strong> Dump Tool, GC24-6037<br />

Publications for z/<strong>VM</strong> Additional<br />

Facilities<br />

DFSMS/<strong>VM</strong> ®<br />

z/<strong>VM</strong>: DFSMS/<strong>VM</strong> Function Level 221<br />

Customization, SC24-6047<br />

z/<strong>VM</strong>: DFSMS/<strong>VM</strong> Function Level 221 Diagnosis<br />

<strong>Guide</strong>, GC24-6046<br />

z/<strong>VM</strong>: DFSMS/<strong>VM</strong> Function Level 221 Messages<br />

and Codes, GC24-6048<br />

z/<strong>VM</strong>: DFSMS/<strong>VM</strong> Function Level 221 Planning<br />

<strong>Guide</strong>, SC24-6049<br />

z/<strong>VM</strong>: DFSMS/<strong>VM</strong> Function Level 221<br />

Removable Media Services, SC24-6050<br />

z/<strong>VM</strong>: DFSMS/<strong>VM</strong> Function Level 221 Storage<br />

Administration, SC24-6051<br />

Language Environment ®<br />

z/<strong>VM</strong>: Language Environment 1.8 C Run-Time<br />

Library Reference, SC24-6038<br />

Language Environment for OS/390 & <strong>VM</strong>:<br />

Concepts <strong>Guide</strong>, GC28-1945<br />

Language Environment for OS/390 & <strong>VM</strong>:<br />

Debugging <strong>Guide</strong> and Run-Time Messages,<br />

SC28-1942<br />

Language Environment for OS/390 & <strong>VM</strong>:<br />

Programming <strong>Guide</strong>, SC28-1939<br />

Language Environment for OS/390 & <strong>VM</strong>:<br />

Programming Reference, SC28-1940<br />

Language Environment for OS/390 & <strong>VM</strong>:<br />

Run-Time Migration <strong>Guide</strong>, SC28-1944<br />

Language Environment for OS/390 & <strong>VM</strong>:<br />

Writing Interlanguage Communication<br />

Applications, SC28-1943<br />

OSA/SF<br />

<strong>VM</strong>/ESA: Open Systems Adapter Support Facility<br />

User’s <strong>Guide</strong> for OSA-2, SC28-1992<br />

S/390: Open Systems Adapter-Express Customer’s<br />

<strong>Guide</strong> and Reference, SA22-7403<br />

S/390: Planning for the S/390 Open Systems<br />

Adapter (OSA-1, OSA-2) Feature, GC23-3870<br />

zSeries 900: Open Systems Adapter-Express<br />

Customer’s <strong>Guide</strong> and Reference, SA22-7476<br />

370 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


zSeries 900: Planning for the Open Systems<br />

Adapter-2 Feature, GA22-7477<br />

<strong>TCP</strong>/<strong>IP</strong> for z/<strong>VM</strong><br />

z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> Level 430 Diagnosis <strong>Guide</strong>,<br />

GC24-6023<br />

z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> Level 430 Messages and Codes,<br />

GC24-6022<br />

z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> Level 430 Planning and<br />

Customization, SC24-6019<br />

z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> Level 430 Programmer’s Reference,<br />

SC24-6021<br />

z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> Level 430 User’s <strong>Guide</strong>, SC24-6020<br />

Publications for z/<strong>VM</strong> Optional<br />

Features<br />

DirMaint <br />

z/<strong>VM</strong>: Directory Maintenance Facility Function<br />

Level 410 Command Reference, SC24-6025<br />

z/<strong>VM</strong>: Directory Maintenance Facility Function<br />

Level 410 Messages, GC24-6026<br />

z/<strong>VM</strong>: Directory Maintenance Facility Function<br />

Level 410 Tailoring and Administration <strong>Guide</strong>,<br />

SC24-6024<br />

PRF<br />

z/<strong>VM</strong>: Performance Reporting Facility Function<br />

Level 410, SC24-6027<br />

RTM<br />

z/<strong>VM</strong>: RealTime Monitor Function Level 410,<br />

SC24-6028<br />

RACF ® for <strong>VM</strong><br />

RACF: Auditor’s <strong>Guide</strong>, SC28-1342<br />

RACF: Command Language Reference, SC28-0733<br />

RACF: Command Language Reference Summary,<br />

SX22-0014<br />

RACF: Diagnosis <strong>Guide</strong>, GY28-1016<br />

RACF: General Information, GC28-0722<br />

RACF: General User’s <strong>Guide</strong>, SC28-1341<br />

RACF: Macros and Interfaces, SC28-1345<br />

RACF: Messages and Codes, SC38-1014<br />

RACF: Migration and Planning, GC23-3054<br />

RACF: Security Administrator’s <strong>Guide</strong>,<br />

SC28-1340<br />

RACF: System Programmer’s <strong>Guide</strong>, SC28-1343<br />

External Security Interface (RACROUTE) Macro<br />

Reference for MVS and <strong>VM</strong>, GC28-1366<br />

Other <strong>TCP</strong>/<strong>IP</strong> Related<br />

Publications<br />

This section lists other publications, outside the<br />

z/<strong>VM</strong> 4.3.0 library, that you may find helpful.<br />

v <strong>TCP</strong>/<strong>IP</strong> Tutorial and Technical Overview,<br />

GG24-3376<br />

v <strong>TCP</strong>/<strong>IP</strong> Illustrated, Volume 1: The Protocols,<br />

SR28-5586<br />

v Internetworking with <strong>TCP</strong>/<strong>IP</strong> Volume I: Principles,<br />

Protocols, and Architecture, SC31-6144<br />

v Internetworking With <strong>TCP</strong>/<strong>IP</strong> Volume II:<br />

Implementation and Internals, SC31-6145<br />

v Internetworking With <strong>TCP</strong>/<strong>IP</strong> Volume III:<br />

Client-Server Programming and Applications,<br />

SC31-6146<br />

v DNS and BIND in a Nutshell, SR28-4970<br />

v "MIB II Extends SNMP Interoperability," C.<br />

Vanderberg, Data Communications, October 1990.<br />

v "Network Management and the Design of SNMP,"<br />

J.D. Case, J.R. Davin, M.S. Fedor, M.L.<br />

Schoffstall.<br />

v "Network Management of <strong>TCP</strong>/<strong>IP</strong> Networks:<br />

Present and Future," A. Ben-Artzi, A. Chandna,<br />

V. Warrier.<br />

v "Special Issue: Network Management and<br />

Network Security,"ConneXions-The<br />

Interoperability Report, Volume 4, No. 8, August<br />

1990.<br />

v The Art of Distributed Application: Programming<br />

Techniques for Remote Procedure Calls, John R.<br />

Corbin, Springer-Verlog, 1991.<br />

v The Simple Book: An Introduction to Management<br />

of <strong>TCP</strong>/<strong>IP</strong>-based Internets, Marshall T Rose,<br />

Prentice Hall, Englewood Cliffs, New Jersey,<br />

1991.<br />

Bibliography 371


372 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Index<br />

Numerics<br />

3172 attributes 335<br />

3172 enterprise-specific MIB<br />

variables 327<br />

A<br />

abbreviations and acronyms 343<br />

ACCT (FTP subcommand) 40<br />

address fields<br />

class A 11<br />

class B 12<br />

class C 12<br />

class D 12<br />

Address Resolution Protocol (ARP) 5<br />

AIX files 289<br />

ALL (NETSTAT parameter) 109, 117<br />

ALLCONN (NETSTAT parameter) 109,<br />

117<br />

AO (TELNET subcommand) 103<br />

APL2 Character Set 295<br />

APPEND (FTP subcommand) 41<br />

application layer 3<br />

applications, functions and protocols<br />

Bootstrap Protocol (BOOTP) 9<br />

Domain Name System (DNS) 7, 243<br />

Dynamic Host Configuration<br />

Protocol(DHCP) 10<br />

File Transfer Protocol (FTP) 6, 15<br />

GDDMXD 9<br />

Kerberos Authentication System 8,<br />

133, 139<br />

Network Database System (NDB) 10,<br />

231<br />

Network File System (NFS) 9, 139<br />

Remote Execution Protocol<br />

(REXEC) 9, 169<br />

Remote Printing (LPD and LPR) 8,<br />

175<br />

Remote Procedure Call (RPC) 9<br />

RouteD 8<br />

Simple Mail Transfer Protocol<br />

(SMTP) 7<br />

Simple Network Management<br />

Protocol (SNMP) 8, 213<br />

Socket interfaces 10<br />

Telnet Protocol 6, 101<br />

Trivial File Transfer Protocol<br />

(TFTP) 7, 85<br />

X Toolkit 8<br />

X Window System 8<br />

ARP (NETSTAT parameter) 118<br />

AS 400 files 292<br />

ASCII (FTP subcommand) 41<br />

ASCII mode<br />

with the TFTP GET subcommand 86<br />

with the TFTP MODE<br />

subcommand 88<br />

ASCII-to-EBCDIC table 282<br />

Athena widget 8<br />

attacks<br />

Fraggle 112<br />

Ping-o-Death 112<br />

Smurf 112<br />

attacks, denial-of-service (DOS)<br />

example 122<br />

authentication of network users 133<br />

AYT (TELNET subcommand) 103<br />

B<br />

BINARY (FTP subcommand) 42<br />

bit mask 13<br />

BLOCK (NETSTAT parameter) 110<br />

Bootstrap Protocol (BOOTP) 9<br />

bridge 2<br />

broadcast address format 12<br />

C<br />

CD (FTP subcommand) 42<br />

changing the FTP file transfer type<br />

to ASCII 41<br />

to EBCDIC 49<br />

to Image 42<br />

to Kanji 52, 70<br />

character sets 277<br />

client 2<br />

CLIENTS (NETSTAT parameter) 110,<br />

118<br />

CLOSE (FTP subcommand) 46<br />

CMS (FTP subcommand) 46<br />

CMS command interface 271<br />

CMSRESOL 270<br />

code pages 277<br />

computer networks<br />

LAN 1<br />

WAN 1<br />

CONN (NETSTAT parameter) 110, 119<br />

connecting to a database<br />

explicit connection 235<br />

implicit connection 235<br />

Controlling File Translation (FTP) 34<br />

CONVXLAT command 286<br />

CP (NETSTAT parameter) 111, 119<br />

CP SMSG command 160<br />

customizing<br />

DBCS translation tables 283<br />

SBCS translation tables 282<br />

D<br />

data set names 289<br />

database query and update 273<br />

datagram 2<br />

datagram socket 214<br />

DBCS facilities 301<br />

DEBUG (FTP subcommand) 47<br />

DELARP (NETSTAT parameter) 111<br />

DELETE (FTP subcommand) 47<br />

deleting CMS record-length fields 166<br />

DELIMIT (FTP subcommand) 47<br />

denial-of-service (DOS) attacks<br />

example 122<br />

Fraggle 112<br />

Ping-o-Death 112<br />

Smurf 112<br />

DEVLINKS (NETSTAT parameter) 111,<br />

120<br />

DiG command 260<br />

DiG internal state information 259<br />

DiG options 264<br />

DiG program 259<br />

DIR (FTP subcommand) 48<br />

direct routing 10<br />

domain name servers 244<br />

Domain Name System (DNS)<br />

CMS command interface to the<br />

resolver 271<br />

CMSRESOL, resolver and name<br />

server 270<br />

NSLOOKUP examples 256<br />

Overview of Domain Name<br />

System 7, 243<br />

query types 272<br />

Querying Name Servers-DiG 259<br />

Querying Name Servers-<br />

NSLOOKUP 249<br />

resolvers 245<br />

resource records 246<br />

Using the Domain Name System 243<br />

domain names 243<br />

DOS names 291<br />

dotted-decimal notation 107<br />

DROP (NETSTAT parameter) 112, 122<br />

Dynamic Host Configuration Protocol<br />

(DHCP) 10<br />

E<br />

EBCDIC (FTP subcommand) 49<br />

EBCDIC-to-ASCII table 282<br />

electronic mail<br />

delivery 92<br />

gateway 91<br />

notes<br />

non-delivery note 92<br />

unknown recipient note 93<br />

notes without PROFS interface 95<br />

PROFS interface 94<br />

SMTPQUEU command 92<br />

<strong>TCP</strong>/<strong>IP</strong> recipients 94<br />

EUCKANJI (FTP subcommand) 50<br />

Extended Mail, PROFS 94<br />

eXternal Data Representation (XDR) 233<br />

F<br />

file name translation (NFS)<br />

special names 165<br />

© Copyright <strong>IBM</strong> Corp. 1987, 2002 373


file names 289<br />

file naming format, FTP 30<br />

File Transfer Protocol (FTP) 6, 15, 83<br />

file transfer type<br />

ASCII 34, 41, 74<br />

EBCDIC 34, 49, 74<br />

Image 34, 42, 74<br />

Kanji 34, 74<br />

FILTERS (NETSTAT parameter) 113<br />

foreign host 2<br />

Fraggle attack 112<br />

FTP<br />

file transfer methods 34<br />

naming files 30<br />

FTP command format 16<br />

FTP DATA File 19<br />

Configuration Statements 20<br />

CCONNTIME Statement 20<br />

DATACTTIME Statement 21<br />

DCONNTIME Statement 22<br />

INACTTIME Statement 23<br />

LOADDBCSTABLE Statement 24<br />

MYOPENTIME Statement 25<br />

Statement Syntax 19<br />

FTP data transfer methods 34<br />

FTP EXEC interface 78<br />

FTP EXIT return codes 78<br />

FTP Kanji support 301<br />

FTP parameters<br />

EXIT 16<br />

foreign host 16<br />

port number 16<br />

TIMEOUT 16<br />

TRACE 17<br />

TRANSLATE 17<br />

FTP reply codes 80<br />

FTP servers, RACF support 83<br />

FTP subcommands<br />

ACCT 40<br />

APPEND 41<br />

ASCII 41<br />

BINARY 42<br />

CD 42, 45<br />

CDUP 46<br />

CLOSE 46<br />

CMS 46<br />

DEBUG 47<br />

DELETE 47<br />

DELIMIT 47<br />

DIR 48<br />

EBCDIC 49<br />

EUCKANJI 50<br />

GET 50<br />

HELP 51<br />

<strong>IBM</strong>KANJI 52<br />

JIS78KJ 52<br />

JIS83KJ 53<br />

LCD 53<br />

LOCSITE 54<br />

LOCSTAT 54<br />

LPWD 55<br />

LS 55<br />

MDELETE 57<br />

MGET 58<br />

MKDIR 58<br />

MODE 59<br />

MPUT 59<br />

FTP subcommands (continued)<br />

NETRC 60<br />

NOOP 60<br />

OPEN 61<br />

PASS 62<br />

PASSIVE 62<br />

PUT 63<br />

PWD 64<br />

QUIT 65<br />

QUOTE 65<br />

RENAME 65<br />

SENDPORT 67<br />

SENDSITE 67<br />

SITE 68<br />

SIZE 70<br />

SJISKANJI 70<br />

STATUS 71<br />

STRUCT 71<br />

SUNIQUE 71<br />

SYSTEM 73<br />

TRACE 17<br />

TRANSLATE 17<br />

TYPE 74<br />

USER 75<br />

G<br />

GATE (NETSTAT parameter) 113, 122<br />

gateway 2<br />

GDDMXD 9, 195, 213, 295<br />

GDDMXD/<strong>VM</strong><br />

CMS GLOBALV command<br />

format 197<br />

command format 196<br />

demonstration programs<br />

GXDEMO1 209<br />

GXDEMO2 210<br />

GXDEMO3 210<br />

GXDEMO4 210<br />

GXDEMO5 210<br />

GXDEMO6 210<br />

GXDEMO7 210<br />

GDXAPLCS MAP 207<br />

keyboard functions 206, 207<br />

limitations 195<br />

overview 195<br />

problem determination 208, 209<br />

trace 208<br />

user-specified options<br />

CMap 202<br />

GColornn 199<br />

Geometry 199<br />

GMCPnn 200<br />

HostRast 202<br />

XClConn 203<br />

XSync 201<br />

ZWL 201<br />

<strong>VM</strong>/XA considerations 196<br />

X DEFAULTS 198<br />

GET (FTP subcommand) 50<br />

GET (TFTP subcommand) 86<br />

H<br />

HELP (FTP subcommand) 51<br />

HELP (NETSTAT subcommand) 113, 123<br />

HELP (TELNET subcommand) 104<br />

HELP (TFTP subcommand) 86<br />

HOME (NETSTAT parameter) 113, 124<br />

host<br />

foreign 2<br />

local 2<br />

I<br />

<strong>IBM</strong>KANJI (FTP subcommand) 52<br />

IDENTIFY (NETSTAT<br />

subcommand) 113, 124<br />

IMAP<br />

using 95<br />

indirect routing 11<br />

Integrated Services Digital Network<br />

(ISDN) 1<br />

internal error codes 82<br />

International Telegraph and Telephone<br />

Consultative Committee (CCITT) 4<br />

internet address 2<br />

internet addressing<br />

broadcast address format 12<br />

internet address 2<br />

local address 11<br />

network address format 11<br />

network number 11<br />

subnetwork address format 13<br />

subnetwork number 11<br />

Internet Control Message Protocol<br />

(ICMP) 5<br />

Internet Environment<br />

bridge 2<br />

client 2<br />

datagram 2<br />

foreign host 2<br />

gateway 2<br />

host 2<br />

internet address 2<br />

local host 2<br />

logical network 2<br />

mapping 2<br />

network 2<br />

packet 2<br />

physical network 1<br />

port 2<br />

protocol 2<br />

router 2<br />

server 2<br />

user 2<br />

Internet Message Access Protocol<br />

(IMAP) 7<br />

Internet Protocol (<strong>IP</strong>) 4<br />

internetwork layer 3<br />

internetwork protocols 4<br />

Address Resolution Protocol (ARP) 5<br />

Internet Control Message Protocol<br />

(ICMP) 5<br />

Internet Protocol (<strong>IP</strong>) 4<br />

INTERVAL (NETSTAT parameter) 114,<br />

125<br />

intrinsics 8<br />

inverse query 273<br />

<strong>IP</strong> (TELNET subcommand) 104<br />

IUCV cross-memory facility 214<br />

374 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


J<br />

JIS78KJ 52<br />

JIS83KJ 53<br />

K<br />

Kanji<br />

EUCKANJI 50<br />

<strong>IBM</strong>KANJI 52<br />

JIS78KJ 52<br />

JIS83KJ 53<br />

SJISKANJI 70<br />

support for FTP 301<br />

Kanji, using 301<br />

KDESTROY (Kerberos<br />

subcommand) 136<br />

Kerberos 133, 139<br />

Kerberos Authentication System 8<br />

commands<br />

KDESTROY 136<br />

KINIT 134<br />

KLIST 135<br />

KPASSWD 136<br />

name structures 133<br />

overview of Kerberos 8, 133<br />

KINIT (Kerberos subcommand) 134<br />

KLIST (Kerberos subcommand) 135<br />

KPASSWD (Kerberos subcommand) 136<br />

L<br />

layered architecture<br />

application layer 3<br />

internetwork layer 3<br />

network layer 3<br />

transport layer 3<br />

LEVEL (NETSTAT parameter) 114<br />

licensing agreement 348<br />

line mode 102<br />

local address 11<br />

Local Area Network (LAN) 1<br />

local host 2<br />

LOCSTAT (FTP subcommand) 54<br />

LOCSTAT (TFTP subcommand) 87<br />

logical network 2<br />

LPQ<br />

command 191<br />

examples 192<br />

usage 193<br />

LPQ Command 191<br />

LPR<br />

command 178<br />

examples 185<br />

usage 188<br />

LPR Command 178<br />

LPRM<br />

command 193<br />

examples 194<br />

usage 194<br />

LPRSET<br />

command 175<br />

examples 177<br />

usage 178<br />

LPRSET Command 175<br />

LS (FTP subcommand) 55<br />

M<br />

mail, electronic 91, 95<br />

Management Information Base (MIB)<br />

objects 307<br />

mapping 2<br />

mapping values (APL2) 295<br />

MAXPKT (TFTP subcommand) 87<br />

MDELETE (FTP subcommand) 57<br />

MGET (FTP subcommand) 58<br />

MIB/Network elements<br />

Address Translation group 316<br />

ibm3172ifBlkCounters table 331<br />

ibm3172ifChanCounters table 329<br />

ibm3172ifDblkCounters table 332<br />

ibm3172ifDevice table 333<br />

ibm3172ifLANCounters table 330<br />

ibm3172ifTrap table 328<br />

ibm3172System table 327<br />

ICMP group 323<br />

Interfaces group 312<br />

<strong>IP</strong> Address Translation table 322<br />

<strong>IP</strong> group 317<br />

System group 311<br />

<strong>TCP</strong> group 324<br />

UDP group 327<br />

MODE (FTP subcommand) 59<br />

MODE (TFTP subcommand) 88<br />

monitoring the <strong>TCP</strong>/<strong>IP</strong> network 107,<br />

133<br />

MOUNT (NFS subcommand) 140<br />

MOUNTPW (NFS subcommand) 149<br />

MPUT (FTP subcommand) 59<br />

MVS data sets 290<br />

N<br />

name translation, NFS 165<br />

NDB client machine 232<br />

NDB limitations 240<br />

NDB server 235<br />

NDB server machines 234<br />

NDBCLNT Command 236<br />

NETRC (FTP subcommand) 60<br />

NETRC DATA File<br />

FTP 19<br />

how to use 293<br />

REXEC 170<br />

NETSTAT 107, 128<br />

NETSTAT address interpretation 107<br />

NETSTAT command format 107<br />

NETSTAT examples 117<br />

NETSTAT parameters<br />

ALL 109<br />

ALLCONN 109<br />

ARP 109<br />

BLOCK 110<br />

CLIENTS 110<br />

CONN 110<br />

CP 111<br />

DELARP 111<br />

DEVLINKS 111<br />

DROP 112<br />

FILTERS 113<br />

GATE 113<br />

HELP 113<br />

HOME 113<br />

NETSTAT parameters (continued)<br />

IDENTIFY 113<br />

INTERVAL 114<br />

POOLSIZE 115<br />

RESETPOOL 115<br />

SOCKET 116<br />

TELNET 116<br />

UNBLOCK 116<br />

UP 117<br />

NetView Command List Language 213<br />

network<br />

logical 2<br />

physical 2<br />

STATUS 107<br />

network address format 11<br />

Network Database System (NDB) 10,<br />

231, 243<br />

network layer 3<br />

network management 213<br />

network number 11<br />

network protocols 4<br />

NFS 139, 167<br />

NFS CMS SMSG command 160<br />

NFS commands<br />

Error Messages 140, 153<br />

MOUNT 140<br />

MOUNTPW 140, 149<br />

UMOUNT 140<br />

NFS name translation<br />

special file names 165<br />

NFS overview 9<br />

NFS PC-NFS client 166<br />

NFS servers, RACF support 166<br />

NFS system return codes 153<br />

NOOP (FTP subcommand) 60<br />

NSLOOKUP command 249<br />

NSLOOKUP internal state<br />

information 249<br />

NSLOOKUP options 254<br />

NSLOOKUP program 249<br />

O<br />

OBEY (NETSTAT parameter) 114<br />

obtaining information from the<br />

network 107<br />

octet mode<br />

with the TFTP GET subcommand 86<br />

with the TFTP MODE<br />

subcommand 88<br />

OfficeVision 91<br />

OPEN (FTP subcommand) 61<br />

OPEN (TFTP subcommand) 88<br />

Open System Interconnection (OSI) 1<br />

OS/2 files 291<br />

OSF/Motif 9<br />

P<br />

PA1 (TELNET subcommand) 104<br />

packet 2<br />

partitioned data set names 290<br />

PASS (FTP subcommand) 62<br />

PASSIVE (FTP subcommand) 62<br />

password use with FTP<br />

ACCT 40<br />

Index 375


password use with FTP (continued)<br />

PASS 62<br />

QUOTE 65<br />

USER 75<br />

physical network 2<br />

PING 129<br />

PING command format 129<br />

PING options<br />

COUNT 129<br />

LENGTH 129<br />

TIMEOUT 129<br />

Ping-o-Death attack 112<br />

POOLSIZE (NETSTAT parameter) 115,<br />

126<br />

port 2<br />

Port Manager client 234<br />

Port Manager server 233, 234<br />

PROFS interface 95<br />

protocol data unit (PDU) 214<br />

protocols<br />

definition 2<br />

internetwork protocols 4<br />

network protocols 4<br />

PUT (FTP subcommand) 63<br />

PUT (TFTP subcommand) 89<br />

PWD (FTP subcommand) 64<br />

Q<br />

query engine 214<br />

query options 261<br />

query types<br />

inverse query 273<br />

standard query 272<br />

querying name servers<br />

DiG 259<br />

NSLOOKUP 249<br />

QUIT (FTP subcommand) 65<br />

QUIT (TELNET subcommand) 104<br />

QUIT (TFTP subcommand) 89<br />

QUOTE (FTP subcommand) 65<br />

R<br />

RACF 83, 166<br />

raw socket 214<br />

related protocols 339<br />

Remote Execution Protocol (REXEC) 9,<br />

169, 175<br />

remote printing 8, 175, 194<br />

Remote Procedure Call (RPC) 9, 231<br />

RENAME (FTP subcommand) 65<br />

RESETPOOL (NETSTAT parameter) 115,<br />

126<br />

resolvers 245<br />

resource records 246<br />

REXEC command format 169<br />

REXMIT (TFTP subcommand) 89<br />

RouteD overview 8<br />

router 2<br />

routing<br />

direct 10<br />

indirect 11<br />

RPC client 232, 233<br />

RPC server 234<br />

RPCINFO 128, 129<br />

RPCINFO command format 128<br />

RPCINFO parameters 128<br />

S<br />

Secure Socket Layer (SSL) 10<br />

security<br />

database 240<br />

system 240<br />

SENDPORT (FTP subcommand) 67<br />

SENDSITE (FTP subcommand) 67<br />

sequential data set names 290<br />

server 2<br />

SET subcommand 254<br />

Simple Mail Transfer Protocol (SMTP) 7<br />

Using DBCS with Mail 305<br />

Simple Network Management Protocol<br />

(SNMP) 8<br />

SITE (FTP subcommand) 68<br />

SIZE (FTP subcommand) 70<br />

SJISKANJI 70<br />

SMSG (CMS subcommand) 160<br />

SMSG interface to SMTP 96<br />

SMTPQUEU 92<br />

Smurf attack 112<br />

SNMP<br />

command 215<br />

command processor 214<br />

generic TRAP types 337<br />

<strong>IBM</strong> 3172 enterprise-specific MIB<br />

variables 228<br />

major and minor error codes 227<br />

managing an internet<br />

environment 213<br />

MIB/Network elements 310<br />

overview 8<br />

Protocol 213<br />

Query Engine Host Lookup 228<br />

return codes 215<br />

sample command lists 213<br />

value types<br />

SNMP GET 216<br />

SNMP GETNEXT 218<br />

SNMP MIBVNAME 225<br />

SNMP PING 226<br />

SNMP SET 220<br />

SNMP TRAPSOFF 224<br />

SNMP TRAPSON 222<br />

SNMP command processor 214<br />

SNMP generic TRAP types 337<br />

SNMP/Netview overview 214<br />

SNMPIUCV task 214<br />

SNMPMGMT command 213<br />

SNMPRUN command 213<br />

SOCKET (NETSTAT parameter) 116, 126<br />

socket interfaces 10<br />

sockets<br />

datagram 214<br />

raw 214<br />

stream 214<br />

SQL commands<br />

imbedded 232<br />

interactive 232<br />

SQL/DS 231<br />

standard query 272<br />

STATUS (FTP subcommand) 71<br />

stream socket 214<br />

STRUCT (FTP subcommand) 71<br />

Structure and Identification of<br />

Management Information (SMI) 307<br />

subnetwork address format 13<br />

subnetwork number 11<br />

SUNIQUE (FTP subcommand) 71<br />

SYNCH (TELNET subcommand) 105<br />

SYSTEM (FTP subcommand) 73<br />

T<br />

<strong>TCP</strong>/<strong>IP</strong> functional groups<br />

application layer 3<br />

internetwork layer 3<br />

network layer 3<br />

transport layer 3<br />

<strong>TCP</strong>/<strong>IP</strong> protocols and functions 3<br />

TELNET 101, 105<br />

TELNET (NETSTAT subcommand) 116,<br />

127<br />

TELNET command format 101<br />

TELNET control characters in line<br />

mode 105<br />

TELNET function keys 102<br />

TELNET modes<br />

line mode 103<br />

transparent mode 103<br />

TELNET parameters<br />

FIREWALL 101<br />

LINEMODE 101<br />

RECORD 102<br />

TRANSLATE 102<br />

TELNET PF key functions 102<br />

Telnet Protocol 6<br />

TELNET subcommands<br />

AO 103<br />

AYT 103<br />

BRK 103<br />

HELP 104<br />

<strong>IP</strong> 104<br />

PA1 104<br />

QUIT 104<br />

SYNCH 105<br />

TELNET support display stations 102<br />

TFTP 85, 89<br />

TFTP command format 85<br />

TFTP parameters<br />

ASCII 88<br />

OCTET 88<br />

TRANSLATE 85<br />

TFTP subcommands<br />

GET 86<br />

HELP 86<br />

LOCSTAT 87<br />

MAXPKT 87<br />

MODE 88<br />

OPEN 88<br />

PUT 89<br />

QUIT 89<br />

REXMIT 89<br />

TRACE 90<br />

Token-Ring 1, 2<br />

TRACE (TFTP subcommand) 90<br />

traceroute function (TRACERTE) 130<br />

translation tables<br />

Chinese DBCS 285<br />

converting to binary 286<br />

376 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


translation tables (continued)<br />

Hangeul DBCS 285<br />

<strong>IBM</strong> 280<br />

Japanese Kanji DBCS 284<br />

search order 278<br />

translation tables for TFTP 86<br />

Transmission Control Protocol (<strong>TCP</strong>) 6<br />

transparent mode 102<br />

transport layer 3<br />

transport protocols<br />

Transmission Control Protocol<br />

(<strong>TCP</strong>) 6<br />

User Datagram Protocol (UDP) 6<br />

Trivial File Transfer Protocol (TFTP) 7,<br />

85<br />

TYPE (FTP subcommand) 74<br />

U<br />

UNBLOCK (NETSTAT parameter) 116<br />

UNIX syntax 50<br />

UP (NETSTAT subcommand) 117, 127<br />

user 2<br />

USER (FTP subcommand) 75<br />

User Datagram Protocol (UDP) 6<br />

using translation tables 277<br />

V<br />

virtual circuitry 253<br />

virtual network 1<br />

W<br />

Wide Area Network (WAN) 1<br />

widgets<br />

Athena 8<br />

OSF/Motif 9<br />

Windows 95 files 291<br />

write logic for file mode 6 158<br />

X<br />

X-Toolkit overview 8<br />

X-Windows overview 8<br />

X.25 4<br />

Index 377


378 z/<strong>VM</strong>: <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong>


Readers’ Comments — We’d Like to Hear from You<br />

z/<strong>VM</strong> <br />

<strong>TCP</strong>/<strong>IP</strong> Level 430<br />

User’s <strong>Guide</strong><br />

Version 4 Release 3.0<br />

Publication No. SC24-6020-01<br />

Overall, how satisfied are you with the information in this book?<br />

Very Satisfied Satisfied Neutral Dissatisfied Very<br />

Dissatisfied<br />

Overall satisfaction h h h h h<br />

How satisfied are you that the information in this book is:<br />

Very Satisfied Satisfied Neutral Dissatisfied Very<br />

Dissatisfied<br />

Accurate h h h h h<br />

Complete h h h h h<br />

Easy to find h h h h h<br />

Easy to understand h h h h h<br />

Well organized h h h h h<br />

Applicable to your tasks h h h h h<br />

Please tell us how we can improve this book:<br />

Thank you for your responses. May we contact you? h Yes h No<br />

When you send comments to <strong>IBM</strong>, you grant <strong>IBM</strong> a nonexclusive right to use or distribute your comments in any<br />

way it believes appropriate without incurring any obligation to you.<br />

Name<br />

Address<br />

Company or Organization<br />

Phone No.


Readers’ Comments — We’d Like to Hear from You<br />

SC24-6020-01<br />

SC24-6020-01<br />

<br />

_________________________________________________________________________________________<br />

Fold and Tape Please do not staple Fold and Tape<br />

BUSINESS REPLY MAIL<br />

FIRST-CLASS MAIL PERMIT NO. 40 ARMONK, NEW YORK<br />

POSTAGE WILL BE PAID BY ADDRESSEE<br />

<strong>IBM</strong> Corporation<br />

Information Development<br />

Department G60G<br />

1701 North Street<br />

Endicott, New York<br />

13760-5553<br />

NO POSTAGE<br />

NECESSARY<br />

IF MAILED IN THE<br />

UNITED STATES<br />

_________________________________________________________________________________________<br />

Fold and Tape Please do not staple Fold and Tape<br />

___________________________________________________________________________________________________<br />

Cut or Fold<br />

Along Line<br />

Cut or Fold<br />

Along Line


File Number: S370/4300/30XX-50<br />

Program Number: 5739-A03<br />

Printed in the United States of America<br />

on recycled paper containing 10%<br />

recovered post-consumer fiber.<br />

SC24-6020-01


Spine information:<br />

z/<strong>VM</strong> <strong>TCP</strong>/<strong>IP</strong> User’s <strong>Guide</strong> Version 4 Release 3.0

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!