2022-09-04 13:42:20 +12:00
|
|
|
## How an application programmer sees IPv6
|
2022-09-03 14:56:29 +12:00
|
|
|
|
|
|
|
In a very theoretical world, an application programmer could rely on
|
|
|
|
a DNS lookup to return the best (and only) address of a remote host,
|
|
|
|
and could then pass that address directly to the network socket
|
|
|
|
interface without further ado. Unfortunately the real world is not
|
|
|
|
that simple. Even without considering the version number, there are
|
|
|
|
several types of IP address, and a DNS lookup may return a variety
|
|
|
|
of addresses. In most cases, applications will use the function
|
|
|
|
get_address_info() and get back a list of valid addresses. Which is
|
|
|
|
the best one to use, and should the program try more than one?
|
|
|
|
|
|
|
|
We do not go into this subject in detail, because this book is
|
|
|
|
not aimed primarily at application programmers. However, operators
|
|
|
|
need to be aware that the default behavior of most applications
|
|
|
|
is simply to use the *first* address returned by get_address_info().
|
|
|
|
Some applications (such as web browsers) may use a smarter approach
|
|
|
|
known as "happy eyeballs" by means of a heuristic to detect which
|
|
|
|
address gives the fastest response. However, operators need to
|
|
|
|
understand the various address types in order to configure
|
|
|
|
systems optimally, including the get_address_info() precedence
|
|
|
|
table in every host.
|
|
|
|
|
2022-10-06 09:09:55 +13:00
|
|
|
Address types are discussed further in [2. Addresses](../2.%20IPv6%20Basic%20Technology/Addresses.md).
|
2022-09-16 15:56:55 +12:00
|
|
|
|
|
|
|
<!-- Link lines generated automatically; do not delete -->
|
2022-10-06 09:09:55 +13:00
|
|
|
### [<ins>Previous</ins>](How%20a%20user%20sees%20IPv6.md) [<ins>Next</ins>](How%20a%20network%20operations%20center%20sees%20IPv6.md) [<ins>Chapter Contents</ins>](1.%20Introduction%20and%20Foreword.md)
|