Defining a TCP connection on z/OS
To define a TCP connection, there are a number of settings to configure.
The TCP address space name must be specified in the TCP system parameters data set, tcpip.TCPIP.DATA. In the data set, a TCPIPJOBNAME TCPIP_proc
statement must be included.
If we are using a firewall, we need to configure allow connections from the channel initiator to the addresses in the channels, and from the remote connections into the queue manager.
Typically the definition for a firewall configures the sending IP address and port to the destination IP address and port:- A z/OS image can have more than one host name, and you might need to configure the firewall with multiple host addresses as the source address.
We can use the NETSTAT HOME command to display these names and addresses.
- A channel initiator can have multiple listeners on different ports, so we need to configure these ports.
- If we are using a shared port for a queue sharing group we must configure the shared port as well.
The channel initiator address space must have authority to read the data set. The following techniques can be used to access your TCPIP.DATA data set, depending on which TCP/IP product and interface we are using:
- Environment variable, RESOLVER_CONFIG
- /etc/resolv.conf on the file system
- //SYSTCPD DD statement
- //SYSTCPDD DD statement
- jobname/userid.TCPIP.DATA
- SYS1.TCPPARMS(TCPDATA)
- zapname.TCPIP.DATA
We must also be careful to specify the high-level qualifier for TCP/IP correctly.
You need a suitably configured Domain Name System (DNS) server, capable of both Name to IP address translation and IP address to Name translation.
Note: Some changes to the resolver configuration require a recycle of applications using it, for example, IBM MQ . For more information, see the following:Each TCP channel when started uses TCP resources; you might need to adjust the following parameters in your PROFILE.TCPIP configuration data set:
- ACBPOOLSIZE
- Add one per started TCP channel, plus one
- CCBPOOLSIZE
- Add one per started TCP channel, plus one per DQM dispatcher, plus one
- DATABUFFERPOOLSIZE
- Add two per started TCP channel, plus one
- MAXFILEPROC
- Controls how many channels each dispatcher in the channel initiator can handle.
This parameter is specified in the BPXPRMxx member of SYSI.PARMLIB. Ensure that you specify a value large enough for the needs.
By default, the channel initiator is only capable of binding to IP addresses associated with the stack named in the TCPNAME queue manager attribute. To allow the channel initiator to communicate using additional TCP/IP stacks on the system, change the TCPSTACK queue manager attribute to MULTIPLE.
A message channel using TCP/IP can be pointed at an IBM Aspera fasp.io Gateway, which provides a fast TCP/IP tunnel that can significantly increase network throughput. A queue manager running on any entitled platform can connect through an Aspera gateway. The gateway itself is deployed on Red Hat or Ubuntu Linux, or Windows. See Defining an Aspera gateway connection on Linux or Windows.
- Send end
At the sending end of the TCP/IP connection, there are a number of settings to configure. - Receive on TCP
At the receiving end of the TCP/IP connection, there are a number of settings to configure. - Use the TCP listener backlog option
When receiving on TCP/IP, a maximum number of outstanding connection requests is set. These outstanding requests can be considered a backlog of requests waiting on the TCP/IP port for the listener to accept the request.
Parent topic: Set up communication for z/OS
Related concepts