TCP IP foTCP IP For CICS Systems Programmersr CICS Systems Programmers
TCP IP foTCP IP For CICS Systems Programmersr CICS Systems Programmers
8281
Location:
Program:
Project:
CICS
Track:
Classification:
Technical
Speaker:
Abstract:
In the past, the CICS systems programmer had to consider and understand how SNA and
VTAM can impact CICS end-user response time and availability. Similar issues now must be
addressed in regards to TCP/IP. In this session the speaker will discuss TCP/IP as it relates to
the CICS systems programmer. The speaker will review CICS and TCP/IP parameters and
highlight areas that might require customization depending on your site's TCP/IP network
configuration. If your installation has, or is about to implement TCP/IP in CICS, come to this
session and learn that there is much more to enabling TCP/IP in CICS than simply specifying
TCP=YES in the SIT.
Page 2
GDDM
GDPS
Geographically Dispersed
Parallel Sysplex
HiperSockets
HPR Channel Connectivity
HyperSwap
i5/OS (logo)
i5/OS
IBM eServer
IBM (logo)
IBM
IBM zEnterprise System
IMS
InfiniBand
IP PrintWay
IPDS
iSeries
LANDP
Language Environment
MQSeries
MVS
NetView
OMEGAMON
Open Power
OpenPower
Operating System/2
Operating System/400
OS/2
OS/390
OS/400
Parallel Sysplex
POWER
POWER7
PowerVM
PR/SM
pSeries
RACF
Rational Suite
Rational
Redbooks
Redbooks (logo)
Sysplex Timer
System i5
System p5
System x
System z
System z9
System z10
Tivoli (logo)
Tivoli
VTAM
WebSphere
xSeries
z9
z10 BC
z10 EC
zEnterprise
zSeries
z/Architecture
z/OS
z/VM
z/VSE
The following terms are trademarks or registered trademarks of International Business Machines Corporation in the United States or other countries or both:
Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries.
Cell Broadband Engine is a trademark of Sony Computer Entertainment, Inc. in the United States, other countries, or both and is used under license there from.
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.
InfiniBand is a trademark and service mark of the InfiniBand Trade Association.
Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel
Corporation or its subsidiaries in the United States and other countries.
UNIX is a registered trademark of The Open Group in the United States and other countries.
Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.
ITIL is a registered trademark, and a registered community trademark of the Office of Government Commerce, and is registered in the U.S. Patent and Trademark Office.
IT Infrastructure Library is a registered trademark of the Central Computer and Telecommunications Agency, which is now part of the Office of Government Commerce.
Notes:
Performance is in Internal Throughput Rate (ITR) ratio based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput that any
user will experience will vary depending upon considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload
processed. Therefore, no assurance can be given that an individual user will achieve throughput improvements equivalent to the performance ratios stated here.
IBM hardware products are manufactured from new parts, or new and serviceable used parts. Regardless, our warranty terms apply.
All customer examples cited or described in this presentation are presented as illustrations of the manner in which some customers have used IBM products and the results they may have
achieved. Actual environmental costs and performance characteristics will vary depending on individual customer configurations and conditions.
This publication was produced in the United States. IBM may not offer the products, services or features discussed in this document in other countries, and the information may be subject to
change without notice. Consult your local IBM business contact for information on the product or services available in your area.
All statements regarding IBM's future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only.
Information about non-IBM products is obtained from the manufacturers of those products or their published announcements. IBM has not tested those products and cannot confirm the
performance, compatibility, or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.
Prices subject to change without notice. Contact your IBM representative or Business Partner for the most current pricing in your geography.
Refer to www.ibm.com/legal/us for further legal information.
Page 3
Agenda
Note:
CICS Sockets Domain is part
of CICS TS and provides
support for HTTP(S), IIOP(S),
IPIC, and ECI access to CICS
transactions.
CICS Sockets is part of the
z/OS Communications Server
and provides generalized
sockets programming
interface support for CICS
transactions.
Page 5
Application-layer
protocol is
transparent to the
enhanced CICS
Sockets listener.
These services
are based on the
Sockets Extended
sockets APIs
(provided by
Communications
server)
Inbound and
outbound
connections,
UDP and
multicast
support, IPv4
and IPv6
CICS
Sockets
generic
Listener
ECI over
TCP/IP
Listener
USER
Listener
ICIP
Listener
EZASOKET
A conversational
model - or a
request/reply model
Primarily a
request/reply
model
TCPIPServices
represent the
"application" layer
protocols
supported by CICS
Sockets Domain
These services are
based on the UNIX
System Services
C/C++ sockets API
(provided by
Language
Environment) and
the UNIX System
Services callable
APIs
Inbound connections to
supported application
protocols and outbound
from all except ECI.
The network
Page 6
CICS Sockets
transaction
P
a
s
c
a
l
R
e
x
x
C
I
C
S
C
a
l
l
EZASOKET
EZASMI
A
S
M
M
A
C
R
O
X
T
I
R
P
C
R
P
C
RFC
1006
SUN
3.9
NCS
X
W
I
N
S
N
M
P
X
T
I
R
P
C
R
P
C
X11
R4
DPI
1.2
XPG
4.2
SUN
4.0
DCE
CICS Sockets
Domain
X
W
I
N
S
N
M
P
X11
R6
DPI
2.0
Page 7
An attempt at a comparison
Attribute
CICS Sockets
Development productivity
Low to medium
Low
IPv6 support
Yes
No specific support
Yes
Secure connections
OTE support
Yes
Yes
No
Yes
Yes
No
No
Yes
No
Connection persistence
Yes
Perceived lower
Perceived higher
Page 8
Page 9
1-65535
Open | Closed
IIop | Http | Eci | User | IPic
0-32767
No | 0-240000 (HHMMSS)
3-524288
Yes | No | Clientauth
Page 10
IP address is used to
turn your service into a
bind-specific server only servicing
connection requests
that are received for this
local IP address.
2.
1-65535
Open | Closed
IIop | Http | Eci | User | IPic
0-32767
No | 0-240000 (HHMMSS)
3-524288
Yes | No | Clientauth
Or have the TCP/IP systems programmer control it in the TCP/IP configuration data set (the
TCP/IP Profile)
PORT
5081 TCP IMWEBSRV BIND 9.42.104.161 ; z/OS HTTP server
5081 TCP CICSTS32 BIND 9.42.105.45 ; CICS HTTP service
It might be best to let TCP/IP systems programmer control it - by leaving the field empty in the CEDA panel or enter the IP address as 0.0.0.0
Page 11
CICSTS32
13:22:46
ABC HTTP
CICS ECI
CICS IIO
CICS IPI
The services you did not make bind-specific - in this example ECI on port 5082, IIOP on port 5083, and IPIC
on port 5084 show up in your netstat display with the local socket IP address as 0.0.0.0.
They will receive connection requests that arrive on any of the IP addresses in the HOME list.
Page 12
Page 14
TCP/IP
Stack
LST2
TRNA
T
R
U
E
EZAO
EZAC
OTE enabled
IPv6 support
Pool of reusable
socket subtasks
LST1
PLTx
Build
EZACICD
Conf.
file
CICS/ESA or
CICS TS Region
APPLID = CICS1A
Overtype to Enter
APPLID
TCPADDR
NTASKS
DPRTY
CACHMIN
CACHMAX
CACHRES
ERRORTD
SMSGSUP
TERMLIM
TRACE
OTE
TCBLIM
PLTSDI
APPLDAT
PF 3 END
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
CICS1A
TCPCS
100
010
010
020
005
CSMT
NO
000
YES
NO
00000
NO
YES
CICS Sockets
always uses
one TCP/IP
stack only which one is
specified with
the TCPADDR
keyword.
12 CNCL
To get APPLDATA in Netstat for CICS Sockets Sockets, you must specify YES to APPLDAT on the CICS entry
Page 16
screen 1 of 2)
APPLID = CICS1A
Overtype to Enter
APPLID
TRANID
PORT
AF
IMMEDIATE
BACKLOG
NUMSOCK
ACCTIME
GIVTIME
REATIME
RTYTIME
LAPPLD
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
CICS1A
CSKL
03001
INET
YES
040
100
060
000
000
015
INHERIT
You specify if
the listener is
an IPv4 or an
IPv6 listener
(INET or INET6)
8 NEXT
12 CNCL
To get APPLDATA in Netstat for this listener, specify YES or INHERIT (inherit from the CICS entry)
Page 17
screen 2 of 2)
APPLID = CICS1A
Overtype to Enter
MINMSGL
TRANTRN
TRANUSR
SECEXIT
GETTID
USERID
===>
===>
===>
===>
===>
===>
004
NO
NO
NO
Page 18
7 PREV
12 CNCL
Connect
Send/Receive
CICS Task
Non-socket
transaction
initiation - 3270
terminal input,
IC, batch input,
etc.
Sockets Client
CICS Task
Remote
Sockets
Client
Connect
Send/Receive
CICS Task
Connect
Remote
Sockets
Client
Send TRM
Sockets Listener
(CSKL)
CICS Task
Send/Receive
EXEC
CICS
START
Concurrent Sockets
Child Server
Concurrent Sockets Server
CICS Region
Listener
Client
Connect to listener
[Send TRM]
Do Forever
Accept connection request
[Read TRM from client]
[Call security exit]
Givesocket
EXEC CICS START passing TIM
If errors, send err message
end
Send Request
Read Reply
Close socket
Child Server
EXEC CICS Retrieve of TIM
Takesocket
[Send OK Message to client]
Read request data from client
Process request
Send reply to client
Close socket
Page 20
CICS Sockets
Listener port1
CICS Transaction
TRA1
Application input
CICS Sockets
Listener port2
Associate to TRA2
CICS Transaction
TRA2
Application input
CICS Sockets
Listener port3
User exit to assign
transaction code
CICS Transaction
TRA3
Application input
TRA1,user1/pwd1
TCP/IP
Network
CICS Region
Page 21
Page 22
Web Servers
SSL/XML
Appliances
System z
Security/Directory
Servers
Application
Servers
Routers
Switches
Firewall
Servers
Caching
Appliances
DS Servers
Business Intelligence
Servers
File/Print
Servers
LAN Servers
Business processes and the applications that support them are becoming more service oriented, modular in their
construction, and integrated.
The components of these services are implemented on a variety of architectures and hosted on heterogeneous IT
infrastructures.
Approaches to managing these infrastructures along the lines of platform architecture boundaries cannot optimize:
alignment of IT with business objectives; responsiveness to change; resource utilization; business resiliency; or overall
cost of ownership.
Customers need a better approach: The ability to manage the IT infrastructure and Business Application as an
integrated whole in a much simplified manner.
Page 23
X86 Blades
Power Blades
Optimizers
PR/SM
xHypervisor
xHypervisor
xHypervisor
xHypervisor
xHypervisor
pHypervisor
Future
z/VM
DataPower
x/Linux
x/Linux
AIX
x/Linux
x/Linux
AIX
x/Linux
x/Linux
AIX
x/Linux
x/Linux
Linux on System x
x/Linux
x/Linux
Linux on System x
x/Linux
x/Linux
Linux on System x
Linux on System z
Linux on System z
Linux on System z
z/OS
z/OS
z/OS
z/OS
zEnterprise Node
z196
zBX
All statements regarding IBM future direction and intent are subject to change or withdrawal without notice, and represents goals and objectives only.
Page 24
zEnterprise Node
HMC
OSM
OSM
Intra Node
Management
Network
(INMN)
TOR
TOR
TOR
TOR
z196
OSX
OSX
OSD
Customer
managed
data
networks
Page 25
Intra
Ensemble
Data Network
(IEDN)
zBX
BladeCenter
rack
2011 SHARE and IBM Corporation
zEnterprise node
LP1
z/OS
LP2
z/OS
LP3
z/OS
LP5 z/VM
LP4
z/OS
VS1
VS2
VS3
Customer
external
data
network
access
OSA OSD
VS4
z/VM virtual
switch
SE
OSD
OSD
Firewall
F
I
R
E
W
A
L
L
OSX
OSX
OSM
OSM
BC1
Customer
external
data
network
BC2
z196
BC3
TOR
TOR
TOR
TOR
ESM
ESM
ESM
ESM
ESM
ESM
ESM
ESM
ESM
ESM
ESM
ESM
zBX
IEDN may
extend to other
zEnterprise
nodes within an
ensemble
Page 26
Intra
Ensemble
Data Network
(IEDN) OSA
OSX 10 GbE
Intra Node
Management
Network (INMN)
OSA OSM 1 GbE
(1000BaseT)
Use of multiple VLANs on the IEDN no routing, but application layer gateways
between VLANs
Virtual servers that act as
application layer gateways
have, under zManager
control, access to two VLANs
VLAN3
zEnterprise node
LP1
z/OS
LP2
z/OS
LP3
z/OS
LP5 z/VM
LP4
z/OS
VS1
z/OS IP Filtering
and routing
TOR
TOR
OSX
OSX
ESM
ESM
BC2
ESM
ESM
Customer
external
These nodes should be
data
network configured with forwarding
Page 27
VS3
VS4
SE
OSM
OSM
Application
BC1
layer gateway
ESM
ESM
disabled.
z/OS is by default prevented
from routing between IEDN
VLANs.
VS2
z/VM virtual
switch
OSD
OSD
VLAN1
HMC
z196
Application
BC3
layer gateway
ESM
ESM
ESM
ESM
TOR
TOR
ESM
ESM
zBX
VLAN2
LPAR2
LPAR3
LPAR4
CICS
CICS
CICS
CICS
WAS
WAS
WAS
WAS
IMS
IMS
IMS
IMS
DB2
DB2
DB2
DB2
Sysplex Distributor
Sysplex Distributor
Web
Service
request
Page 28
Dynamic
Load Balancing
Feedback
100.00
100.00
90.00
90.00
80.00
80.00
70.00
70.00
60.00
60.00
50.00
50.00
40.00
40.00
30.00
30.00
20.00
20.00
10.00
10.00
0.00
0.00
2009 2010
2011 2012
2013 2014
2015 2016
2009 2010
2011 2012
2013 2014
Source: Survey conducted by ENS early 2009 among a selected set of customers (39 responses to this question)
Page 29
Number of hosts
in millions
Year
What is the upper practical limit (the ultimate pain threshold) for number of assigned IPv4
addresses? Some predictions said 250,000,000 (250 million), others go up to 1,000,000,000
(one billion or one milliard).
Source: https://www.isc.org/solutions/survey
Source: http://www.potaroo.net/tools/ipv4/index.html
Source: http://penrose.uk6x.com/
If you want to stay in business after 2011/2012, youd better start paying attention!
Do not worry too much; the sky isnt falling IPv4 and IPv6 will coexist for many years to come.
Your applications need to be able to use both. If you write directly to the TCP/IP sockets layer, you
need to start changing those applications.
Page 30
IANA
Internet
Assigned
Numbers
Authority
Un-allocated
IPv4 Unicast
pool
Reserved
Reserved
Un-allocated
Allocated
LRIR
Internet Service
Providers (ISPs)
Local Internet
Registries
(LRIRs)
Companies or
"consumers"
Is Doomsday approaching?
http://www.potaroo.net/tools/ipv4/index.html
This is
less than
six
months
from
now!!!!
z/OS Communications Server keeps the
pace, adding required new IPv6 support
Page 32
http://www.potaroo.net/tools/ipv4/index.html
Page 33
So - what is IPv6?
IPv6 is an evolution of the current version of IP, which is known as IPv4
Work on new IETF standard started in early 90's
Not backward compatible, but migration techniques defined
Today's IPv4 has 32 bit addresses
Theoretical limit is around 4 billion addresses
Due to IPv4 address assignment structure and policies, the practical
limit is less than 1 billion useable global addresses
IPv4 Address:
9.67.122.66
Application migration
IPv4 and IPv6 application
AF_INET PFS
AF_INET6 PFS
IPv6 Raw
Transport
IPv4-only application
IPv6
NeD
MLD
Stateless
autoconfig
ICMPv6
QoS
(IDS)
IPSec
IPv4 Raw
Transport
IPv4
QoS
IDS
IPSec
ARP
IGMP
ICMP
IPv6 DLCs
z/OS TCP/IP
Network Interface
Adapter
Raw applications make the determination themselves when they choose IPv4 or IPv6 raw
transport.
Page 35
Page 36
APPLID
TRANID
PORT
AF
IMMEDIATE
BACKLOG
NUMSOCK
ACCTIME
GIVTIME
REATIME
RTYTIME
LAPPLD
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
===>
CICS1A
LSN0
06000
INET6
YES
020
050
060
000
000
015
YES
screen 1 of 2)
APPLID = CICS1A
8 NEXT
12 CNCL
2011 SHARE and IBM Corporation
Page 38
01 CICSTS32
DB2 Data
sharing
group
DB2
DB2
Preferred
Target
server
Backup
Target
server
Sysplex
Distributor
VIPADEFINE DVIPA1
VIPADISTRIBUTE DISTMETHOD HOTSTANDBY
AUTOSWITCHBACK HEALTHSWITCH
DVIPA1 PORT nnnn
DESTIP XCF1 PREFERRED
DESTIP XCF2 BACKUP 50
DESTIP XCF3 BACKUP 100
2011 SHARE and IBM Corporation
Application A
Application B
Application A
Application B
Send()
Recv()
Send()
Recv()
Sockets layer
TCP/UDP/RAW
Sockets layer
TCP/UDP/RAW
IP layer
IP layer
Normal path
Device layer
Page 41
Device layer
Page 42
Page 43
Page 44
Page 45
Page 46
ALL
CONFig
PORTList
CACHinfo
VDPT
DROP
TN3270
2
7
12
17
22
27
91
ALLConn
CONN
ROUTe
SLAP
IDS
TTLS
CICSsock
3
8
13
18
23
28
92
ARp
DEVlinks
SOCKets
VIPADYn
STATS
RESCache
FTP
4
9
14
19
24
29
93
BYTEInfo
Gate
TELnet
VIPADCFG
ND
DEFADDRT
CICSTS
5
10
15
20
25
CLients
HOme
UP
VCRT
SRCIP
==> N
==> N
(Y/N)
(Y/N)
==>
==>
==>
==>
==>
==>
TCPCS
5
LONG
N
N
N
Page 47
==> ALL
==>
==>
==>
==>
==>
==>
==>
==>
==>
==>
If you want a display of all your CICS Socket connections, leave all
selection fields above blank.
Page 48
Remote
client
LISTENER
TakeSocket()
Connected
Socket (taken)
Accept()
TAKEN
Connected
Socket (given)
GiveSocket()
GIVEN
Connected
Socket (given)
CONNECT
Remote
server
Connected
Socket
CICS
Page 49
Socket
CICS
type
Port
-------- ----Listener 3001
Listener 6000
Taken
6000
Bottom of data
CICS
CICS Tran
TaskNo Tran UserID
------- ---- -------0000131 CSKL CICSUSER
0000132 LSN0 CICSUSER
0000134 SRV1 CICSUSER
********************************
2011 SHARE and IBM Corporation
.:
.:
.:
.:
.:
9.42.105.45..6000
9.42.104.161..1127
Establsh
23:17:35 (UTC)
18:17:35 (LCL) Idle time . . . . .: 00:00:13
Security information
ATTLS protected .
FIPS 140 . . . .
SSL/TLS protocol.
Cipersuite. . . .
.:
.:
.:
.:
No
N/A
N/A
N/A
CICSTS32
SRV1
CICSUSER
6000
4
5
0
1,048,160
N/A
0
258.00
No
CICS information
CICS
CICS
CICS
CICS
address space :
tran code. . .:
tran user ID .:
local port . .:
Page 51
2
50
0
131,067
8,940
0
844.00
No
2011 SHARE and IBM Corporation
==>
==>
==>
==>
==>
==>
==>
==>
==>
==>
Page 53
.:
.:
.:
.:
.:
9.42.105.45..5081
9.65.253.59..1539
Establsh
18:46:01 (UTC)
13:46:01 (LCL) Idle time . . . . .: 00:01:55
CICS information
CICS
CICS
CICS
CICS
CICS
address space :
tran code. . .:
connection dir:
IPCONN name. .:
service name .:
CICSTS32
CWXN
In
N/A
HTTP
CICS
CICS
CICS
CICS
CICS
APPLID . . . .:
protocol . . .:
local port . .:
partner APPLID:
service desc .:
11
2,725
0
65,535
N/A
0
30.00
No
CICS1A
HTTP
5081
N/A
ABC HTTP
Page 54
10
2,488
0
130,150
536
0
478.00
No
Content
http://www.twitter.com/IBM_Commserver
http://www.facebook.com/IBMCommserver
http://www.ibm.com/systems/z/
http://www.ibm.com/systems/z/hardware/networking/
http://www.ibm.com/software/network/commserver/
http://www.ibm.com/software/network/commserver/zos/
http://www.ibm.com/software/network/commserver/z_lin/
http://www.ibm.com/software/network/ccl/
http://www.ibm.com/software/network/commserver/library/
http://www.redbooks.ibm.com
ITSO Redbooks
http://www.ibm.com/software/network/commserver/zos/support/
http://www.ibm.com/support/techdocs/atsmastr.nsf/Web/TechDocs
http://www.rfc-editor.org/rfcsearch.html
http://www.ibm.com/systems/z/os/zos/bkserv/