z/VM TCP/IP Telnet IPv6 Support
Abstract
In z/VM 5.4, the TCP/IP stack provides a Telnet server and client capable of operating over an Internet Protocol Version 6 (IPv6) connection. This support includes new versions of the Pascal application programming interfaces (APIs) that let Telnet establish IPv6 connections.
Regression measurements showed that compared to z/VM 5.3 IPv4 Telnet, z/VM 5.4 IPv4 Telnet showed -8% to +3% changes in throughput and 3% to 4% increases in CPU utilization.
New-function measurements on z/VM 5.4 showed that compared to IPv4 Telnet, IPv6 Telnet showed increases from 12% to 23% in throughput and decreases in CPU utilization from 3% to 13%.
Combining these two scenarios showed that customers interested in migrating from z/VM 5.3 IPv4 Telnet to z/VM 5.4 IPv6 Telnet could expect increases from 4% to 16% in throughput and changes in CPU utilization from -6% to 1%.
Introduction
Prior to z/VM 5.4, z/VM Telnet was capable of handling only IPv4 connections. In z/VM 5.4, both the Telnet client and server are now capable of handling IPv6 connections. In addition, because Telnet is written in Pascal, new IPv6 versions of the Pascal APIs are provided.
The z/VM Telnet server uses the new IPv6 Pascal API whether the client is IPv4 or IPv6. If the address of the connection is an IPv4 address, it is converted to an IPv6-mapped IPv4 address and passed using the new APIs.
To demonstrate the effects of all of these changes, a suite of Telnet measurements was performed. The suite uses a single Linux guest on one LPAR to host Telnet clients directed toward a z/VM Telnet server on a different LPAR. By varying the number of clients, and the protocol (IPv4 or IPv6), and the level of the z/VM Telnet server, and by collecting throughput and CPU utilization information, the suite assessed the performance effects of the IPv6 changes.
No measurements were done to assess the z/VM IPv6 Telnet client.
Method
Using z/VM 5.3 and z/VM 5.4 Telnet servers, performance runs were executed to determine both the throughput and CPU utilization for Telnet connections using IPv4 and IPv6.
The following figure shows the environment used for the measurements.
Figure 1. Telnet IPv6 Environment
![]() |
On LPAR1 a Linux guest running SUSE Linux Enterprise Server 10 SP1 (SLES10) is set up to run the Virtual Network Computing (VNC) server. The VNC server initiates the Telnet connections, using either IPv4 or IPv6, with the z/VM Telnet server on LPAR2. Both the Linux guest and z/VM TCP/IP stack communicate using direct OSA connections.
A workstation is set up to run a VNC client which, through the use of shell scripts, drives the number of Telnet connections and the workload within each connection. The VNC client passes the information to the VNC server in the Linux guest. Once the connection to the z/VM Telnet server is made, the VNC server then sends the data back to the workstation to be displayed.
The following three scenarios were run:
- z/VM 5.3 TCP/IP Telnet with IPv4 connections
- z/VM 5.4 TCP/IP Telnet with IPv4 connections
- z/VM 5.4 TCP/IP Telnet with IPv6 connections
All three scenarios were run with 10, 50, 100, and 200 connections. Each user initiated a Telnet connection, logged on, executed a workload and logged off. CP Monitor data was captured and reduced using Performance Toolkit for VM. The results shown are from the LPAR hosting the TCP/IP Telnet server.
Results and Discussion
The following tables display the results of the measurements. The 'Total Bytes/sec' data was retrieved from the Performance Toolkit for VM screen FCX222 'TCP/IP I/O Activity Log' and the CPU utilization information was retrieved from the FCX112 'General User Resource Utilization' screen.
It should be noted that the Performance Toolkit for VM screen FCX207 'TCP/IP TCP and UDP session log' incorrectly reports the longer IPv6 IP address and there are currently no screens in Performance Toolkit that display IPv6 addresses. This is a known requirement.
IPv4 Comparison
Table 1 shows the results comparing the z/VM 5.4 Telnet server to the z/VM 5.3 Telnet server using IPv4 connections. The purpose of this experiment was to show the effect of using the new IPv6 Pascal APIs in z/VM 5.4.
Table 1. z/VM 5.3 IPv4 - z/VM 5.4 IPv4
Number of connections | 10 | 50 | 100 | 200 |
5.3 IPv4 | ||||
Run ID | i43w0102 | i43w0502 | i43w1002 | i43w2002 |
Total Bytes/Sec | 10806 | 30463 | 38001 | 43256 |
Total CPU per MB trans (msec) | .141 | .135 | .136 | .136 |
Emul CPU per MB trans (msec) | .071 | .069 | .069 | .069 |
CP CPU per MB trans (msec) | .070 | .066 | .067 | .067 |
5.4 IPv4 | ||||
Run ID | i44w0102 | i44w0502 | i44w1002 | i44w2002 |
Total Bytes/Sec | 9927 | 28612 | 38035 | 44360 |
Total CPU per MB trans (msec) | .147 | .140 | .140 | .143 |
Emul CPU per MB trans (msec) | .077 | .070 | .070 | .072 |
CP CPU per MB trans (msec) | .070 | .070 | .070 | .071 |
% diff | ||||
Total Bytes/Sec | -8% | -6% | .1% | 3% |
Total CPU per MB trans | 4% | 4% | 3% | 4% |
Emul CPU per MB trans | 8% | 1% | 1% | 4% |
CP CPU per MB trans | 0% | 6% | 4% | 6% |
2094-733; z/VM 5.4 |
The data shows there is a performance degradation in the number of bytes transmitted with the 10 and 50 connections and an overall 3% to 4% increase in CPU utilization for all of the test runs. While the throughput measurements for the smaller number of connections did not meet our expectations, the increase in CPU utilization is within criteria.
IPv6 Compared to IPv4
Table 2 shows the results comparing the z/VM 5.4 Telnet server using IPv6 connections to the z/VM 5.4 Telnet server using IPv4 connections.
Table 2. z/VM 5.4 IPv4 - z/VM 5.4 IPv6
Number of connections | 10 | 50 | 100 | 200 |
5.4 IPv4 | ||||
Run ID | i44w0102 | i44w0502 | i44w1002 | i44w2002 |
Total Bytes/Sec | 9927 | 28612 | 38035 | 44360 |
Total CPU per MB trans (msec) | .147 | .140 | .140 | .143 |
Emul CPU per MB trans (msec) | .077 | .070 | .070 | .072 |
CP CPU per MB trans (msec) | .070 | .070 | .070 | .071 |
5.4 IPv6 | ||||
Run ID | i64w0102 | i64w0502 | i64w1002 | i64w2002 |
Total Bytes/Sec | 11226 | 35222 | 43745 | 49588 |
Total CPU per MB trans (msec) | .143 | .130 | .128 | .125 |
Emul CPU per MB trans (msec) | .075 | .066 | .064 | .064 |
CP CPU per MB trans (msec) | .068 | .064 | .064 | .061 |
% diff | ||||
Total Bytes/Sec | 13% | 23% | 15% | 12% |
Total CPU per MB trans | -3% | -7% | -9% | -13% |
Emul CPU per MB trans | -3% | -6% | -9% | -11% |
CP CPU per MB trans | -3% | -9% | -9% | -14% |
2094-733; z/VM 5.4 |
As seen from the results in the table, both the throughput and the CPU utilization show improvement when using IPv6.
Summary and Conclusions
As seen from the results, compared to z/VM 5.3, there is a small performance degradation when using IPv4 Telnet connections in z/VM 5.4. However, the performance results met our criteria and should not be a cause for concern.
The results for Telnet IPv6 exceeded our expectations and actually show an improvement in the performance measurements. This was unexpected based on results of our earlier performance measurements of z/VM 4.4.0 IPv6 support.