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