IPv6 Configuration
This chapter describes IPv6 provided by Tmax.
1. Overview
This section describes the basic concept and features of IPv6 and dual stack, which is an IP conversion technology.
1.1. IPv6
IPv6, a network-level protocol, is a next generation Internet protocol established as the Internet Protocol version 6. Due to the limitation of using IPv4 protocol for the Internet, which was used in the past, IETF established IPv6 protocol as the new protocol.
IPv4, expressed in 32 bits, can create 4,294,967,296 addresses. As the number of computers connected to the Internet has grown dramatically, IPv4 addresses have almost been exhausted. IPv6 has been suggested to resolve this issue.
IPv6, expressed in 128 bits, can create 3.4x10^38 addresses (2^128), which is close to infinity. With this many addresses, one IPv6/48 network can be provided per 10㎡ of surface area on the earth.
A big difference between IPv4 and IPv6 is how an address is expressed. An IPv6 address can be represented with a hexadecimal number that includes a colon(:) between every 16 bits (four digits).
2001:0db8:85a3:08d3:1319:8a2e:0370:7334
1.2. IPv6 Conversion Technologies
Until the conversion to IPv6 is complete, IPv4 and IPv6 networks will be used concurrently. To support both IPv4 and IPv6, the following technologies are provided by the basic platform (such as OS, router, and switch) vendors.
-
Dual-stack
IPv4/IPv6 dual stack is the easiest way to maintain compatibility between an IPv6 node and a IPv4 dedicated node. Since an IPv6/IPv4 dual stack node can send or receive both IPv4 and IPv6 packets, it is compatible with both IPv4 node and IPv6 node.
-
Tunneling
Tunneling is used for IPv6/IPv4 host and router to encapsulate IPv6 datagrams in an IPv4 packet, and transmit it through the IPv4 routing topology. Through tunneling, IPv6 packets can be transmitted through the existing IPv4 routing infrastructure.
2. Tmax IPv6
IPv6 can be used in Tmax by configuring the necessary settings. IPv4 is the default protocol.
The settings can be applied to the environment variables and Tmax configuration files as needed. (Since configuration files cannot not be used for a client, environment variables must be configured for a client.)
2.1. IPv6 Supported Features
In Tmax, client, multi-node, multi-domain, and tcp gateways are implemented using sockets. Each module can choose to use IPv4 or IPv6.
Each module can select to use IPv6 based on the following situations.
-
Accepting a connection
The following describes Tmax components and configuration depending on how a connection is accepted.
Components Description cll
Receives a connection from a client.
-
Configuration file: domain and node sections
-
Environment variable: CLIENT_IPV6
tmm, clh
Receives an inter-node connection in a multi-node environment.
-
Configuration file: domain and node sections
-
Environment variable: SYSTEM_IPV6
Receives a connection from an extern server.
-
Configuration file: domain and node sections
-
Environment variable: EXTSVR_IPV6
racd
Receives a utility connection in a multi-node environment.
-
Configuration file: domain and node sections
-
Environment variable: TMAX_RAC_IPV6, SYSTEM_IPV6
webagent(twagent)
Receives a WebAdmin connection.
-
Environment variable: TMAX_WEBADM_ IPV6
gateway([non]tx, [async] tuxedo, [async] java, wsgw, xagw)
Receives a connection.
-
Configuration file: gateway section
-
Environment variable: LOCAL_IPV6
hms
Receives a connection from hms cluster.
-
Configuration file: domain and node sections
-
Environment variable: SYSTEM_IPV6
tcp g/w
Receives a connection.
-
Configuration file: CLOPT of SERVER section, or a separate configuration file Tmax Gateway Guide (TCP/IP).)
-
Environment variable: -X SERVER_ IPV6
tmsnmpd
Receives an SNMP-requested connection.
-
Arguments for execution: upd6:port or tcp6:port
Java components
Receives a connection from jtmax or webtasync. The java components must be set through environment variables when executing java. (To run them on WAS, they must be set to environment variables at startup.)
-
java.net.preferIPv4Stack
-
java.net.preferIPv6Addresses
-
-
Requesting a connection
The following describes Tmax components and configuration according to how the connection is requested.
Components Description c client
Requests a connection to Tmax.
-
Environment variable: TMAX_HOST_IPV6, TMAX_BACKUP_IPV6
tmm
Connects to another node(tmm) in a multi-node environment.
-
Configuration file: domain and node sections
-
Environment variable: SYSTEM_IPV6
clh
Connects to another node(clh) in a multi-node environment.
-
Configuration file: domain and node sections
-
Environment variable: SYSTEM_IPV6
tdl
Connects to another node in a multi-node environment when executing the tdl utility.
-
Configuration file: domain and node sections
-
Environment variable: SYSTEM_IPV6
hms
Connects to HMS of another node in a clustered HMS environment.
-
Configuration file: domain and node sections
-
Environment variable: SYSTEM_IPV6
xa client
Connects to the xa gateway.
-
Function’s argument: tmax_xa_open
-
Environment variable: ipv6
tcp g/w
Connects to an external server.
-
Configuration file: CLOPT of SERVER section in configuration file, or a separate configuration file (Refer to Tmax Gateway Guide (TCP/IP).)
-
Environment variable: -X CLIENT_ IPV6
gateway([non]tx, [async] tuxedo, [async] java)
Connects to another gateway.
-
Configuration file: gateway section
-
Environment variable: RGW_ IPV6, RGW_B1_ IPV6, RGW_B2_ IPV6, RGW_B3_ IPV6
gateway(wsgw)
Connects to the Web Service server.
-
Separate configuration file (xml)
-
Distinguish ipv6 through uri.
Java components
Requests a connection to jtmax, webtasync, or twadmin. The java components must be set through environment variables when executing java. (To run them on WAS, they must be set to environment variables at startup.)
-
java.net.preferIPv4Stack
-
java.net.preferIPv6Addresses
-
If IPv6 support is configured, Tmax creates a socket for IPv6. If a platform where Tmax is installed provides a conversion technology like dual stack, Tmax can receive a connection request through both IPv4 and IPv6. If IPv6 is not configured for Tmax even though the platform supports both IPv6 and IPv4, Tmax can receive only IPv4 connections.
2.2. Additional Features
Tmax supports other IPv6 related features, in addition to the aforementioned connection and transmission related features, for inputting and searching for information, such as ci information, in ACL or tmadmin.
The following are additional features for IPv6.
-
ACL
Limits client connection IP.
-
Supports IPv6 addresses in a separate configuration file.
-
Specified as [2011::xxx].
-
-
tmadmin
Command Description ci
Outputs the IP of a connected client.
txgwi, ntxgwi, jgwi, ajgwi
Outputs the IP of a connected gateway.
sqi
Outputs the client IP of Session Q.
-
client and server API
API Description tpgetsockname
Retrieves the socket address, which is used internally by Tmax, from the server or client. For more information, refer to "3.1.72. tpget sockname" in Tmax Reference Guide.
tpgetpeername
Retrieves the socket address of the peer to which a socket is connected from the server or client. Returns the peer socket address (node) after connecting to Tmax. For more information, refer to "3.1.68. tpgetpeername" in Tmax Reference Guide.
tpgetpeer_ipaddr
Retrieves the socket address of the peer node from the server. For more information, refer to "3.2.35. tpgetpeer_ipaddr" in Tmax Reference Guide.
tpgetcliaddr_ipv6
Retrieves the port number and IP of the client that corresponds to the clid among the clients connected to Tmax. For more information, refer to "3.1.64. tpgetcliaddr_ipv6" in Tmax Reference Guide.
tpbroadcast
Sends an unrequested message to all clients registered on Tmax. For more information, refer to "3.1.46. tpbroadcast" in Tmax Reference Guide.
tmadmin
Outputs statistical information that can be queried in tmadmin, a Tmax management tool. For more information, refer to "3.2.4. tmadmin" in Tmax Reference Guide.