1. Home
  2. Protocol
  3. IPv6 Support

IPv6 Support

StayLinked components version 16.0 and later have added support for IPv6 networking to the SmartTE product. Changes required to support IPv6 networking affect all of the components of the product, Server, Administrator and Clients.

In order to utilize the SmartTE IPv6 networking support, you must be running the software in a good IPv6 network and have Android clients at v16 as well as the Administrator and Server components. Here are a list of supported and unsupported IPv6 address types.

SUPPORTED IPv6 ADDRESSES

  • Globally Unique (2###: prefix) Equivalent to IPv4 Public IP addresses.
  • Unique Local (FC00: to FDFF: prefix) Equivalent to IPv4 Private addresses. Ex: 10.#.#.# or 192.168.#.#
  • Local Loopback (::1) Equivalent to the IPv4 127.0.0.1 address.

UNSUPPORTED IPv6 ADDRESSES

  • Link Local (FE80: prefix) Equivalent to the IPv4 169.254.#.# Automatic Private IP Addressing.
  • Multicast (FF0#: prefix)

To run IPv6 networking with StayLinked you will want to have your SmartTE Server machines and SmartTE Client devices assigned Globally Unique or Unique Local IPv6 addresses within the same Network Prefix. Otherwise, routers have to be configured to route IPv6 traffic between IPv6 networks.

SmartTE Server IPv6 Support

The SmartTE Server Version 16 has been enhanced to accept Administrator and Client connections using IPv6 networking. The Server has also been enhanced to support configuration options using IPv6 Network Prefix:Subnet criteria.

  • By default, the SmartTE Server will ‘bind’ to to all available IPv4 and IPv6 addresses. Using the standard method, you can force the SmartTE Server to ‘bind’ to a specific IPv4 OR IPv6 address. You can bind the SmartTE Server to either a specific IPv4 address or a specific IPv6 address, but not both at the same time.  <server ip="ipv4_or_ipv6_address”/>
  • The SmartTE Server Version 16 supports IPv6 connections automatically. There is no configuration option to explicitly enable or disable IPv6 networking support in the Server. When the SmartTE is listening on all IP addresses, the server will accept connections from all available IPv4 and IPv6 addresses. If the SmartTE Server is bound to a specific IPv4 address, it will only accept IPv4 connections on that address. Likewise, If the SmartTE Server is bound to a specific IPv6 address, it will only accept IPv6 connections on that address. When a connection is made from the Client to the Server, the server will detect that the connection is using either IPv4 or IPv6 networking. All of the logic in the Server that is based upon the IP addresses will operate in IPv4 or IPv6 mode appropriately.
  • When running an IPv6 session, the SmartTE Server will use the IPv6 address for log file suffixes. The IPv6 addresses will have their ‘:’ characters between hextets substituted with ‘.’ characters.

SmartTE Administrator IPv6 Support

The SmartTE Administrator Version 16 can currently only connect to SmartTE Server Version 16 using IPv4 networking. The socket control (CSocket.ocx) component is not compatible with current Windows Server Operating Systems. Contact our support team if you need a version of the Administrator that can operate on a Windows PC using IPv6.

The SmartTE Administrator Version 16 has been enhanced to provide configuration options for IPv6 addresses where appropriate throughout the system. These options are only available when the Administrator is managing a SmartTE Server Version 16 or newer.

Administrator IPv6 Features affecting the UI:

  • Connections List – Client IPv6 addresses will appear in the list.
  • Connection Details – Client IPv6 addresses will appear in the dialog.
  • All Client File suffixes use Client IPv6 addresses.
  • Telnet Hosts can use IPv6 addresses to connect to Telnet Servers. (TESS does not support IPv6)
  • Device Groups support IPv6 Network Prefix: Subnet and affect Device Name Suffix.
  • Client Settings support IPv6 Network Prefix: Subnet.
  • Client Deployment by IPv6 Range is not supported.
  • Usage Tracking supports Client IPv6 addresses.
  • IQ Tech Preview supports binding the IQ Server to an IPv6 address.
  • Administrator Users support Connection Filters by IPv6 Network Prefix: Subnet.
  • Server Alerts support IPv6 addresses.
  • Server Settings – Log File Settings support IPv6 Network Prefix: Subnet.
  • Server Settings – One to One NAT supports IPv6 addresses.

Android and Java Client IPv6 Support

The SmartTE Android and Java Clients version 16 and newer have been enhanced to connect to the SmartTE Server using IPv6 networking.

Your device will need to be configured in OS Settings for IPv6 networking and assigned an IPv6 Global Unique or Unique Local IP address in order to support IPv6 connections to the SmartTE Server.

For Zebra devices, you may need to use StageNow to enable ‘DHCPv6’ so that the device can acquire a valid IPv6 address from the network.

Use ‘Tools -> Radio Stats’ to confirm that your device has a valid IPv6 address. (Some devices support rotation to landscape orientation if you cannot see the entire IPv6 address.)

Use ‘Tools -> Ping Test’ to run an ICMP PING to IPv4 or IPv6 addresses and Host Names. Use the IPv6 switch to have Host Names attempt to resolve to IPv4 or IPv6 addresses.

If the device is on an IPv6 network, then you can connect the Client to the SmartTE Server by entering a host name that resolves to an IPv6 or directly enter the IPv6 address into the ‘Host -> Configure -> Server -> Server IP/Host Name’ field.

Note: If a Host Name can resolve to both an IPv4 and IPv6 address, the policy is that the IPv6 address has priority.

SmartTE Client for iOS IPv6 Support

The SmartTE Client for iOS does not support IPv6 networking at this time. Because the iOS Client does not use Java, the effort to support IPv6 networking is significant. Please contact our support team if you utilize iOS devices and have a need for IPv6 support on these units.

IPv6 Support Notes

Here’s something to consider. Let’s say that you have an old, non-IPv6 SmartTE Server and a new Version 16 SmartTE Client both running on a valid IPv6 network where the server machine and the client device can communicate via IPv6. There’s nothing stopping you from using an IPv6 address to connect a new Version 16 SmartTE Client to an old non-IPv6 SmartTE Server. What will happen? The answer is that the old non-IPv6 Server will accept the IPv6 connection, but the Connection Request data from the SmartTE Client will be incompatible with the old SmartTE Server. This will not allow proper Device Group selection and your session will end up in the Default Device Group. Also, in the SmartTE Administrator, you will see no valid IP addresses, but you will see "[is using ipv6]" in the place of the Client IP address. Any SmartTE features using IP addresses will malfunction. Obviously, this is going to provide a sub-optimal experience and it is not recommended.

More details about IPv6 can be found on the links below.

IPv6 from scratch (Part 1) – https://www.youtube.com/watch?v=oItwDXraK1M
IPv6 explained (Part 2) – https://www.youtube.com/watch?v=jlG_nrCOmJc

The IPv6 Cheat Sheet: https://github.com/onemarcfifty/cheat-sheets/blob/main/networking/ipv6.md

Updated on December 5, 2024

Related Articles