Introduction
The Internet Protocol version 6 (IPv6) is an improved version of
the Internet Protocol (IP) that is used for almost all network
communication.
IPv6 was developed by the Internet Engineering Task Force (IETF) to
address, among others, the anticipated problem of IPv4 address exhaustion.
IPv6 became a Draft Standard in December 1998, and became an
Internet Standard in 2017
(RFC 8200).
The most visible difference to IPv4 is that internet addresses are
using 128 bits (rather than 32 bits with IPv4) and use a different
notation. IPv4 addresses use a "dottet decimal notation", for example
"172.16.254.1". IPv6 uses a hex notation where colons separate
each 16 bit groups and any zero sequences may be omitted, for example
"2001:0dbb:ac10:fe01::".
Source: Wikipedia
As the colon separator in the IPv6 notation could be ambigous
Eloquence requires any IPv6 IP address to be enclosed in square
brackets. For example, the local address becomes [::1].
IPv6 may coexist with IPv4. Any Eloquence server process, such as eloqdb,
may be configured to use a single IPv6 socket supporting both IPv4 and
IPv6 connections or to use separate sockets for the two IP protocols.
Please note that any IPv4 access limits specified in Eloquence also
apply to mapped IPv4 connections using an IPv6 listening socket.
By default Eloquence uses separate sockets for both IPv4 and IPv6
connections.
Another change introduced with B.08.30 is that host names might
resolve to multiple IP addresses which could be IPv4 or IPv6.
Eloquence tries them in order (as defined by the operating system),
silently ignoring any connection failures until a connection
completes.
When using host names in access filters (eloqdb or eloqsd), all
addresses are relevant. Any IPv4 settings also apply for mapped IPv4
connections using IPv6 sockets.
eloqdb and eloqsd server
The eloqdb and eloqsd servers may be configured to support IPv4
only, IPv6 (with implied IPv4 support), or separate IPv4 and IPv6
listening sockets. By default, separate IPv4 and IPv6 sockets are
used.
The eloqdb and eloqsd server allows restricting access by IP address.
The IP address filter supports both IPv4 and IPv6 addresses
(enclosed in square brackets).
As of B.08.30 host names may be specified in addition to
IP addresses. If a host name resolves to multiple IP addresses
all addresses are relevant. Any IPv4 filter also applies to
mapped IPv4 connections using an IPv6 socket.
database client library
An IPv6 address (enclosed in square brackets) may be used to
specify the eloqdb host. If a host name is specified that resolves
to multiple IP addresses, connections are tried in the order
defined by the operating system, ignoring any connection failures
until a connection succeeds.
The example below outputs data set summary information for the
database sample on the local system (using an IPv6 socket).
dbinfo [::1]/sample
Please notice that the "localhost" default server covers both the
IPv6 "localhost" [::1] as well as the IPv4 "localhost" 127.0.0.1.
As IPv6 connections are typically preferred by the operating system
an IPv6 connection is used if IPv6 is enabled.
Some operating systems may add a delay connecting to the database
if an IPv6 socket is not enabled as it is always tried first and
may imply a timeout. We have seen this on Windows.
As a consequence, we recommend to always enable IPv6 sockets (this
is the default). The work around is to use an explicit IPv4
address 127.0.0.1 instead of relying on the default "localhost".
|