Start TCP/IP File Transfer (FTP)
Where allowed to run: All environments (*ALL) Threadsafe: No |
Parameters Examples Error messages |
The Start TCP/IP File Transfer Protocol (STRTCPFTP) command is used to start the File Transfer Protocol (FTP) client application that transfers files between systems using the Transmission Control Protocol/Internet Protocol (TCP/IP). FTP is an application protocol used for transferring files to and from a remote system. FTP requires a user ID, and in some cases a password, to gain access to files on a remote system.
Mapping Parameters: Mapping of data is used for all data (for example, user data and protocol data information) between the local and remote systems, except when the EBCDIC subcommand or the BINARY subcommand is in effect. In these cases, mapping of user file data is not done.
The Change FTP Attributes (CHGFTPA) command can be used to specify server mapping tables for FTP.
Top |
Parameters
Keyword | Description | Choices | Notes |
---|---|---|---|
RMTSYS | Remote system | Character value, *INTNETADR | Required, Positional 1 |
INTNETADR | Internet address | Character value | Optional |
CCSID | Coded character set identifier | 1-65533, *DFT | Optional |
PORT | Port | 1-65535, *DFT, *SECURE | Optional |
SECCNN | Secure connection | *DFT, *NONE, *SSL, *IMPLICIT, *KERBEROS | Optional |
DTAPROT | Data protection | *DFT, *CLEAR, *SAFE, *PRIVATE | Optional |
TBLFTPOUT | Outgoing EBCDIC/ASCII table | Single values: *CCSID, *DFT Other values: Qualified object name |
Optional |
Qualifier 1: Outgoing EBCDIC/ASCII table | Name | ||
Qualifier 2: Library | Name, *LIBL, *CURLIB | ||
TBLFTPIN | Incoming ASCII/EBCDIC table | Single values: *CCSID, *DFT Other values: Qualified object name |
Optional |
Qualifier 1: Incoming ASCII/EBCDIC table | Name | ||
Qualifier 2: Library | Name, *LIBL, *CURLIB | ||
APPID | Application identifier | Name, *DFT | Optional |
Top |
Remote system (RMTSYS)
Specifies the remote system name to which or from which the files are transferred. To be successful, the remote system name must be valid, and the system must be able to communicate with the local system. The user can assign names to an internet address with the Work with TCP/IP host table entries option on the Configure TCP/IP menu (CFGTCP command). Also, a remote name server can be used to map remote system names to internet addresses. You can use the Change remote name server option on the CFGTCP menu to specify a remote name server.
- *INTNETADR
- The INTNETADR parameter is prompted.
- character-value
- Specify the remote system name to which or from which the file transfer takes place.
Top |
Internet address (INTNETADR)
Specifies the IPv4 or IPv6 internet address of the remote system to which the file transfer application is started.
An IPv4 internet address is specified in the form nnn.nnn.nnn.nnn, where nnn is a decimal number ranging from 0 through 255. An IPv4 Internet address is not valid if it has a value of all binary ones or all binary zeros for the network identifier (ID) portion or the host ID portion of the address.
An IPv6 internet address is specified in the form xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx, where each x is a hexadecimal digit representing 4 bits. A hexadecimal digit is a number from 0 to 9 or the letter A, B, C, D, E, or F. A "::" may be used once in the IPv6 address to indicate one or more groups of 16 bits of zeros. The "::" may be used to compress leading, imbedded, or trailing zeros in the address.
If the internet address is entered from a command line, the address must be enclosed in apostrophes.
- character-value
- Specify the internet address of the remote system.
Top |
Coded character set identifier (CCSID)
Specifies the ASCII coded character set identifier (CCSID) that is used for single-byte character set (SBCS) ASCII file transfers when the FTP TYPE mode is set to ASCII. ASCII file transfers are also assumed when no TYPE subcommand has been issued. The CCSID value chosen is the default used by the FTP client for ASCII-to-EBCDIC and EBCDIC-to-ASCII mapping. Mapping is determined using the specified ASCII CCSID and the EBCDIC CCSID of the job.
Outgoing and incoming mapping can be done optionally with mapping tables defined in the TBLFTPOUT and TBLFTPIN parameters. Normally the TBLFTPOUT and TBLFTPIN parameters are set to the default of *CCSID or *DFT. Both parameters indicate that the value used in the CCSID parameter is used for mapping. If a mapping table is to be used for outgoing mapping, a table object can be specified in the TBLFTPOUT parameter. The table object specified in the TBLFTPOUT parameter is used instead of the CCSID value.
Incoming mapping can be changed to use a mapping table by specifying a table object in the TBLFTPIN parameter. This mapping table overrides the specified CCSID value and is used for incoming mapping.
Double-byte character set (DBCS) CCSID values are not permitted for this parameter. DBCS values can be specified using the TYPE subcommand.
Note: IBM includes mapping support in FTP to ensure compatibility with releases prior to V3R1. Use of mapping tables for incoming TYPE A file transfers results in the loss of CCSID tagging if the target file must be created. IBM strongly recommends that you use CCSID support for normal operations.
- *DFT
- The CCSID value 00819 (ISO 8859-1 8-bit ASCII) is used.
- 1-65533
- Specify the CCSID value to be used. This value is validated to ensure a valid SBCS CCSID was requested.
The TBLFTPOUT and TBLFTPIN parameters are used to specify user-defined incoming and outgoing mapping tables. The user-defined mapping tables replace the mapping done by the FTP client when the CCSID parameter is specified.
Top |
Port (PORT)
Specifies the port number to be used for connecting to the FTP server.
Normally the "well-known" port value of 21 is used to connect to the FTP server. Under some circumstances, the FTP server may be contacted at a port other than port 21. In those situations, the port parameter may be used to specify the server port to connect to.
Note: The FTP client subcommands OPEN and SECOPEN each have an optional 'port' parameter which may be used to specify a port other than port 21.
- *DFT
- The value 00021 is used.
- *SECURE
- The value 00990 is used. Port 990 is reserved for secure FTP servers which immediately use Transport Layer Security (TLS) or Secure Sockets Layer (SSL) protocols to encrypt data.
- 1-65535
- The requested port value is used. This value is validated to ensure it is in the proper range.
Note: If 990 is specified, the FTP client will perform the same functions as if *SECURE were specified.
Top |
Secure connection (SECCNN)
Specifies the type of security mechanism to be used for protecting information transferred on the FTP control connection (which includes the password used to authenticate the session with the FTP server). Transport Layer Security (TLS) and Secure Sockets Layer (SSL) are compatible protocols which use encryption to protect data from being viewed during transmission and verify that data loss or corruption does not occur. Kerberos is also supported to do the protection.
Note: The FTP client subcommand SECOPEN can be used to open a protected FTP connection during an FTP client session.
- *DFT
- If the PORT parameter specifies *SECURE or 990, *IMPLICIT is used; otherwise, *NONE is used.
- *IMPLICIT
- The FTP client immediately attempts to use TLS/SSL when connecting to the specified FTP server (without sending an AUTH subcommand to the server). If the server does not support implicit TLS/SSL on the specified port, or the TLS/SSL negotiation fails for any reason, the connection is closed.
- *SSL
- After connecting to the specified FTP server, the FTP client sends an AUTH (authorization) subcommand requesting a TLS/SSL protected session. If the server supports TLS/SSL, a TLS/SSL negotiation performed. If the server does not support TLS/SSL or the TLS/SSL negotiation fails, the connection is closed.
- *KERBEROS
- After connecting to the specified FTP server, the FTP client sends an AUTH (authorization) subcommand requesting a Kerberos authentication. If the server supports Kerberos, a Kerberos authentication performed. If the server does not support Kerberos or the Kerberos authentication fails, FTP client will switch to normal logon session.
Note: The default credentials cache file for the current user is used to locate existing Kerberos ticket-granting tickets. The Add Kerberos Ticket (ADDKRBTKT) command or the Qshell kinit tool can be used to create or refresh expired tickets.
- *NONE
- The FTP client does not use encryption when connecting to the specified FTP server.
Top |
Data protection (DTAPROT)
Specifies the type of data protection to be used for information transferred on the FTP connection. If security mechanism TLS/SSL is enabled, *DFT *PRIVATE and *CLEAR are valid values which indicate the protection level of FTP data connection. The FTP protocol does not allow protection of the data connection if the control connection is not protected. If security mechanism Kerberos is enabled, *DFT *PRIVATE *CLEAR and *SAFE are all valid value which indicates the protection level of both FTP control connection and FTP data connection
Note: The DTAPROT parameter controls the use of the PROT (protection) FTP server subcommand. The FTP client subcommand SECDATA can be used to change protection during an FTP client session.
- *DFT
- If the SECCNN parameter specifies Kerberos as security mechanism, *CLEAR is used; otherwise, *PRIVATE is used.
- *PRIVATE
- If the SECCNN parameter specifies TLS/SSL as security mechanism, it means information sent on the FTP data connection is encrypted. If the SECCNN parameter specifies Kerberos as security mechanism, it means information sent on both the FTP control connection and FTP data connection is integrity and confidentiality protected.
Note: If the SECCNN parameter specifies security mechanism TLS/SSL and specifies that the FTP control connection is not encrypted, *PRIVATE cannot be specified.
- *SAFE
- Information sent on both the FTP control connection and the FTP data connection is integrity protected.
Note: *SAFE can be only specified when the SECCNN parameter specifies *KERBEROS
- *CLEAR
- Information sent on the FTP data connection is not protected.
Note: If the SECCNN parameter specifies Kerberos as security mechanism, *CLEAR is the default protection level.
Top |
Outgoing ASCII/EBCDIC table (TBLFTPOUT)
Specifies the table object that is to be used to map all outgoing data in the FTP client. Outgoing data is mapped from EBCDIC to ASCII.
If a table object is specified for TBLFTPOUT, the table object is used for outgoing mapping. Otherwise, the CCSID parameter is used to determine outgoing mapping.
Single values
- *CCSID
- The CCSID parameter is used to determine outgoing mapping.
- *DFT
- The CCSID parameter is used to determine outgoing mapping.
Qualifier 1: Outgoing EBCDIC/ASCII table
- name
- Specify the name of the table object to be used by the FTP client for mapping outgoing data.
Qualifier 2: Library
- *LIBL
- All libraries in the user and system portions of the job's library list are searched until the first match is found.
- *CURLIB
- The current library for the job is searched. If no library is specified as the current library for the job, the QGPL library is used.
- name
- Specify the name of the library to be searched.
Top |
Incoming ASCII/EBCDIC table (TBLFTPIN)
Specifies the table object that is to be used to map all incoming data in the FTP client. Incoming data is mapped from ASCII to EBCDIC.
If a table object is specified for TBLFTPIN, the table object is used for incoming mapping. Otherwise, the CCSID parameter is used to determine incoming mapping
Single values
- *CCSID
- The CCSID parameter is used to determine incoming mapping.
- *DFT
- The CCSID parameter is used to determine incoming mapping.
Qualifier 1: Incoming ASCII/EBCDIC table
- name
- Specify the name of the table object to be used by the FTP client for mapping incoming data.
Qualifier 2: Library
- *LIBL
- All libraries in the user and system portions of the job's library list are searched until the first match is found.
- *CURLIB
- The current library for the job is searched. If no library is specified as the current library for the job, the QGPL library is used.
- name
- Specify the name of the library to be searched.
Top |
Application identifier (APPID)
Specifies the name of the application identifier to use when using Secure Sockets Layer (SSL) protection. The client application identifier must be configured in the Digital Certificate Manager (DCM) application database.
- *DFT
- The system supplied default client application identifier QIBM_QTMF_FTP_CLIENT is used.
- character-value
- Specify the DCM configured client application ID. The first character of the application identifier must be an uppercase character ('A' to 'Z'); the remaining characters can be alphanumeric (uppercase 'A' to 'Z' or digits '0' to '9'). You can also use a period ('.') or underscore ('_').
Top |
Examples
Example 1: Starting FTP to an IPv4 Internet Address
STRTCPFTP RMTSYS(*INTNETADR) INTNETADR('1.2.3.4')
This command starts the FTP client to the system specified by IPv4 address '1.2.3.4'.
Example 2: Starting FTP to an IPv6 Internet Address
STRTCPFTP RMTSYS(*INTNETADR) INTNETADR('2001:D88::1')
This command starts the FTP client to the system specified by IPv6 address '2001:D88::1'.
Top |
Error messages
None
Top |