IPv6/VSE Update WAVV 2012 Jeffrey Barnard Barnard Software, Inc. © 2012 by Barnard Software, Inc. Latest IPv6/VSE Announced at WAVV 2009 GA Build 246 delivered May 2009 GA Build 252 of IPv6/VSE is now available Virtually all 3rd party vendors (worldwide) now have IPv6/VSE support! News Flash! IBM licenses IPv6/VSE from BSI 5686-BS1 is IBM IPv6/VSE Announced April 6, 2010 Available May 28, 2010 IPv6/VSE now provides IPv4 too! Announced Oct 5, 2010 Available Nov 26, 2010 IPv4 Addresses Remaining Time is running out Sept 28, 2010 +240 days is May 26, 2011 All IPv4 Addresses allocated! IPv4 Addresses Remaining Time is up Feb 3, 2011 All IPv4 Addresses allocated! IPv4 Addresses Remaining Are You Ready? Asia is already out of IPv4 addresses Europe will run out of IPv4 addresses very soon Are you ready? How will this affect your busines operations? How will you communicate with your customers when they are using IPv6? IPv6/VSE for z/VSE Internet Protocol Version 6 - IPng (IP Next Generation) IPv6 TCP/IP stack (April 2009) IPv4 TCP/IP stack (May 2000) IPv4 and IPv6-Enabled Application Suite SLL support is now available! IPv6/VSE IPv6 Applications FTP server, FTP client TN3270E server and print drivers NTP server, NTP client System Logger client Batch Email client Batch LPR Batch Remote Execution Client Batch PING GZIP Data Compression PDF Generation And more … IPv6/VSE IPv4 Applications FTP server, FTP client TN3270E server and print drivers NTP server, NTP client System Logger client Batch Email client Batch LPR Batch Remote Execution Client Batch PING GZIP Data Compression PDF Generation And more … IPv6/VSE IPv4 Support CICS TS Web Services CICS TS Listener z/VSE Connector Client and Server VTAPE DB2 Client and Server 3rd Party Vendor Applications And Much More ... IPv6/VSE Support IPv4 VSE/ESA 2.1 and higher z/VSE 3.1 and higher IPv6 z/VSE 4.2.2 and higher Large TCP Windows What is a Large TCP Receive Window? Standard size is 64K Larger windows are 'shifted' Scaled by 2/4/8/16/32/64/etc bits 1MB, 2MB, 4MB, 8MB sizes typical Why? Far fewer TCP window waits Large TCP Windows z/VSE 4.2 or higher LTWBUF specified z/VSE 5.1 uses 64-bit storage SHIFT 4|5|6|7 specified Application requests large windows // SETPARM LRGBUF=YES Both local and remote TCP/IP stack agree to use large windows Large TCP Windows Often referred to as 'Window Scaling' Supported by z/VM, z/OS Linux support is automatic Enlarges Window Size as needed MS Windows Automatic if requested by remote host only set the Tcp1323Opts registry value to 1 SO_RCVBUF setsockopt() controls size Large TCP Windows Performance c application written by IBM Send() data blocks Recv() data blocks Both at the same time Tests bidirectional throughput Platform z/VSE <-> zLinux (VSwitch) 500MB transferred in BOTH directions Large TCP Windows Large TCP Windows Considerations Helps Outbound transfers Helps Inbound transfers (the most) Not all applications are helped Bulk data transfer helped most Interactive helped least (or not at all) Can use a lot of storage! BSTTFTPC (batch FTP), VTAPE, BSTTFTPS (FTP Server), DB2 UDB etc. Large TCP Windows Fewer TCP Window waits is good Window wait = wait for ACK of data What is the down side? TCP retransmission can be very bad when using large TCP windows 40K vs. 3MB of 'in-flight' data ... Usually not an issue on local networks 64-Bit Virtual Support Introduced in z/VSE 5.1 z/OS IARV64 macro used Storage allocated 'above the bar' 64-bit memory objects 'chunks' are multiples of 1MB in size 64-Bit Virtual Support 64-Bit Virtual Support Stack allocates 'chunks' Used for Large TCP Windows Buffer copy routines modified Now run in 64-bit mode Supporting 24, 31 and 64-bit buffers 64-Bit Socket Storage ASM SOCKET API EZASMI What about HLL EZASOKET API? No 64-bit compilers available now Looking at a full 64-bit API (z/OS BPX4 ?) Vendors, what do you need? 64-BIT ASM SOCKET Storage 64-Bit virtual storage socket buffers Supported only for SOCKET SEND,TCP SOCKET RECEIVE,TCP High bit of buffer address X'80' is address of 64-bit buffer address Max SEND length is 2GB-1 bytes Max RECEIVE length is 8MB 64-BIT ASM SOCKET Storage 64-Bit EZASMI Socket Storage 64-Bit virtual storage socket buffers Supported only for SEND, SENDTO, WRITE RECV, RECVFROM, READ 64-Bit address is 2 fullwords ALET= specifies high word BUF= specifies low word 64-Bit EZASMI Socket Storage Layer 2 Support Requires z/VSE 5.1 Available for IPv4 and IPv6 DEVICE statement specifies 'LAYER2' Optional user defined MAC address Layer 2 required for z/VM IPv6 Vswitch Layer 2 required for z/VM IPv6 VLAN VLAN Support Requires z/VSE 5.1 Available for IPv4 and IPv6 Both Layer 2 and Layer 3 supported VLAN Support DEVICE Specifies LAYER2 for z/VM IPv6 VSwitch LINK Specifies VLAN ID and Priority GLOBAL parameter is special feature of OSA Express and Hipersockets interfaces EZA Extension – OCEXIT Support OCEXIT (Console MSG) has no HLL support Needed for servers to initiate shutdown EZA extension provides support using SELECT logic As simple as opening up an additional READ socket A MSG command issued from the console presents a read-ready condition WRITEs display data upon the console (WTO) Can also be used by non-IP programs but requires an active stack partition to satisfy the INITAPI requirements Available via EZASOKET, EZASMI, LE/C and REXX EZA Extension OCEXIT Support SOCKET MOVE EZA-UNIX TO EZA-AF CONNECT MOVE EZA-UNIX to EZA-NAMEUX-FAMILY MOVE 'OPERATOR:MSG' TO EZA-NAMEUXPATH SELECT for READ Restrictions: Same as OCEXIT macro: Batch, main-task only Statement of Direction GSE Oct 2011 BSI plans to add support for SSL and IPSec in a future Build of IPv6/VSE IPv6/VSE SSL Support Available in GA Build 252 GSK API provided EZASMI, EZASOKET, LE/C support BSTTPRXY SSL Proxy Server IPv6/VSE SSL Support Based on IJBSSL from IBM Port of OpenSSL 1.0.0 IJBSSL introduced with z/VSE 5.1 C/VSE application Will run on any version of z/VSE Provides software SSL Supports CPACF and Crypto Express IPv6/VSE SSL Restrictions IJBSSL API currently uses LE/C Only batch LE applications can use GSK() API. CICS not supported. Requires application be LE These restrictions will be removed All applications are supported by the BSTTPRXY SSL Proxy Server SSL Proxy Server BSTTPRXY z/VSE Proxy Server Accepts clear text, SSL connections IPv4 or IPv6 Proxy to clear text, SSL connection IPv4 or IPv6 SSL Proxy server 6to4 and 4to6 Proxy server BSI Preview BSI Preview IPsec Manual definitions, Pre-Shared Keys IPSEC QUERY IPSEC CONFIG|START|STOP What about automatic configuration? BSI Preview IPsec-tools port to z/VSE Racoon IKE Commonly used by Linux systems ESP packets NATT packets ESP packets embedded in UDP Helps with firewall traversal IPv6/VSE Update Barnard Software, Inc. http://www.bsiopti.com The Barnard Software, Inc. Blog ... Thoughts, hints and tips for using BSI products and z/VSE. http://bsiopti.blogspot.com BSI Blog Win an iPad (G3) Come to our booth! Fill out a raffle ticket Drawing on Monday Time 2:30 PM Must be present to win!! IPv6/VSE Update Thank you! WAVV 2012 Jeffrey Barnard Barnard Software, Inc. © 2012 by Barnard Software, Inc.