IP version considerations for cells
Internet Protocol V4 is no longer viable for many businesses. Because it is based on 32-bit architecture, there is a growing shortage of Internet Protocol V4 (IPv4) addresses. Internet Protocol V6 (IPv6) is based on 128-bit architecture, which allows a far greater number of addresses to be available for use over the Internet.
In response, WAS V6 now includes support for IPv6, in addition to continued support for IPv4. This means that nodes running WepSphere Application Server V6 can use IPv6. (However, note that nodes running WebSphere Application Server V5.x cannot use IPv6.)
WebSphere Application Server V6 supports a dual mode environment in which one can have older legacy applications running on IPv4 and IPv6-enabled applications running on IPv6. Note, however, that there are restrictions on using IPv4 and IPv6 in the same cell. This article documents those restrictions as well as outlines the ways in which one can set up your cells, depending on the version of IP that you will be using.
Note: IPv6 is not supported on native transports. If you need this function, configure a channel chain.
From an IP perspective, adhere to one of the following scenarios:
Dual mode cell
In a dual mode cell, mixed IPv4 and IPv6 communications are supported. By default, a cell is set to dual mode when it is created. Note, however, that only nodes running WebSphere Application Server V6 are valid in a dual mode cell.
IPv4 and IPv6 nodes cannot communicate with each other, so the purpose of the dual mode cell is to enable this communication, thereby allowing you to use your existing applications, running over IPv4, with newer applications that have been enabled for IPv6.
The following illustration shows a dual mode cell:
In an IPv4-only cell, all nodes must:
- Use IPv4
- Run WebSphere Application Server V5.x
- Have host names defined as strings or 32-bit numerical addresses.
It is important to note that, by default, a cell is set to dual mode. However, in order to run in an IPv4-only environment, you will need to explicitly set the cell to IPv4. See the section on JVM settings, in this article, for more information.
Note: If you want to run a combination of WebSphere Application Server V5.x and WAS v6 nodes over IPv4, see the section on setting up a mixed node cell, below.
Mixed node cell
A mixed node cell consists of some nodes running WebSphere Application Server V5.x and other nodes running WebSphere Application Server V6. In a mixed node cell, all nodes must use IPv4. When defining a node that will be used in a mixed node cell, you must specify the host name as a string or as a 32-bit numerical address, regardless of whether the node is running WebSphere Application Server V5.x or WebSphere Application Server V6. 128-bit numerical addresses may not be specified.
In a mixed node cell, even though the WAS V6 nodes will be configured to use IPv4, the operating system running on them can still support both IPv4 and IPv6. This is true as long as the WAS V6 nodes are configured with string-based host names or 32-bit numerical addresses.
Note also, that one can only add Version 5.x nodes into a mixed node cell through migration. You first need to migrate from a V5.x Deployment Manager to a v6 Deployment Manager, and then either keep the V5.x nodes or migrate them to v6 nodes.
In an IPv6-only cell, all nodes must:
- Use IPv6
- Run WAS V6
- Have host names defined as strings or 128-bit numerical addresses.
Specifying host names
During the installation of WebSphere Application Server, you are asked to provide the host name or IP address of the machine on which the installation is being carried out in the Host Name or IP address field. The host name or IP address that you specify is used to advertise this installation to all other WebSphere Application Server installations in the cell configurations. All nodes in the cell will use the host names or IP addresses that are defined in this way to reach each other. In general, it is best to always use a host name to identify a WAS installation. By using a host name, you will not have to be concerned about which IP address is being used (32-bit versus 128-bit), whether it runs on IPv4 or IPv6, and so on. As long as the DNS service is properly configured, the nodes should all be able to work together.
However, if you prefer, one can control which IP stack or address is used. To do this, enter the specific IP address (32-bit for IPv4 or 128-bit for IPv6) into the Host Name or IP Address field. This installation will then be identified with this IP address and other WAS nodes will use this IP address to communicate with this node.
When specifying IPv6 addresses, it is good practice to always surround them with protective square brackets. For example, [fe80::202:57ff:fec4:2334]. The reason for this is that in system internal processing, IP addresses are often combined with port numbers in the form of <IP address>:<port number> , and the colons in IPv6 addresses could be confusing in such circumstances.
Note that one cannot use IPv6 addresses that are surrounded by square brackets within the administrative console or the install wizard.
Note that the use of IPv6 (Internet Protocol V6) and WS-AT (Web Services Atomic Transactions) are not supported on HTTP transports; they are only supported on HTTP transport channel chains.
Note that in scripting, the square brackets might have special meaning, depending on the language binding used (for example, Jacl). You can work around this problem by using a special escape character in front of the opening and closing brackets. Using the Jacl binding, for example, the same IPv6 address cited earlier can be entered as \[fe80::202:57ff:fec4:2334\]
Note: While one cannot use square brackets with IPv6 addresses within the administrative console, use square brackets to specify an IPv6 address as part of the adminstrative console's URL in a browser. This allows the browser to distinguish the IPv6 address from the port value.
WebSphere Application Server uses multicast broadcasting at the node level to allow a node agent to discover the managed processes in the node. IPv4 and IPv6 addresses are not compatible. Therefore, to allow a WAS node installation to run out-of-the-box, both IPv4 and IPv6 multicast addresses are initially defined in the node agent configuration, and when a node agent starts, both addresses will be tried in sequence. It is a good idea to delete either NODE_MULTICAST_DISCOVERY_ADDRESS or NODE_IPV6_MULTICAST_DISCOVERY_ADDRESS after installation. By that time, you should know whether the node is running IPv4 or IPv6, so by limiting multicast discovery to the known protocol, the node agent runs more efficiently.
To delete one of the multicast ports using the Administrative Console, do the following:
- Click System Administration --> Node Agents.
- Select the node agent.
- On the next panel, under Additional Properties, select Ports. The next panel shows a list of existing ports.
- Select either NODE_MULTICAST_DISCOVERY_ADDRESS (to delete IPv4) or NODE_IPV6_MULTICAST_DISCOVERY_ADDRESS (to delete IPv6).
- Click Delete.
Two system properties are related to IPv6 support. They are:
In general, setting these properties is not recommended. In particular, setting java.net.perferIPv4Stack to true will disable the dual mode support in the JVM which might, in turn, disrupt normal WebSphere Application Server functions. Therefore, it is important to understand the full implications if you are contemplating using this setting.
WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.
IBM is a trademark of the IBM Corporation in the United States, other countries, or both.