public final class Inet6Address extends InetAddress
InetAddress
.Modifier and Type | Field and Description |
---|---|
static InetAddress |
ANY |
static InetAddress |
LOOPBACK |
UNSPECIFIED
Modifier and Type | Method and Description |
---|---|
static Inet6Address |
getByAddress(String host,
byte[] addr,
int scope_id)
Constructs an IPv6 address according to the given
host , addr and scope_id . |
static Inet6Address |
getByAddress(String host,
byte[] addr,
NetworkInterface nif)
Gets an IPv6 address instance according to the given
host ,
addr and nif . |
NetworkInterface |
getScopedInterface()
Returns the network interface if this address is instanced with a scoped
network interface, null otherwise.
|
int |
getScopeId()
Returns the scope id if this address is scoped to an interface, 0 otherwise.
|
boolean |
isAnyLocalAddress()
Returns whether this is the IPv6 unspecified wildcard address
::
or the IPv4 "any" address, 0.0.0.0 . |
boolean |
isIPv4CompatibleAddress()
Returns whether this IPv6 address is an IPv4-compatible address or not.
|
boolean |
isLinkLocalAddress()
Returns whether this address is a link-local address or not.
|
boolean |
isLoopbackAddress()
Returns whether this address is a loopback address or not.
|
boolean |
isMCGlobal()
Returns whether this address is a global multicast address or not.
|
boolean |
isMCLinkLocal()
Returns whether this address is a link-local multicast address or not.
|
boolean |
isMCNodeLocal()
Returns whether this address is a node-local multicast address or not.
|
boolean |
isMCOrgLocal()
Returns whether this address is a organization-local multicast address or not.
|
boolean |
isMCSiteLocal()
Returns whether this address is a site-local multicast address or not.
|
boolean |
isMulticastAddress()
Returns whether this address is a multicast address or not.
|
boolean |
isSiteLocalAddress()
Returns whether this address is a site-local address or not.
|
String |
toString()
Returns a string containing the host name (if available) and host address.
|
clearDnsCache, equals, getAddress, getAllByName, getByAddress, getByAddress, getByName, getCanonicalHostName, getHostAddress, getHostName, getLocalHost, getLoopbackAddress, hashCode, isNumeric, isReachable, isReachable, parseNumericAddress
public static final InetAddress ANY
public static final InetAddress LOOPBACK
public static Inet6Address getByAddress(String host, byte[] addr, int scope_id) throws UnknownHostException
host
, addr
and scope_id
.host
- the host name associated with the address.addr
- the network address.scope_id
- the scope id for link- or site-local addresses.UnknownHostException
- if the address is null or has an invalid length.public static Inet6Address getByAddress(String host, byte[] addr, NetworkInterface nif) throws UnknownHostException
host
,
addr
and nif
. scope_id
is set according to the
given nif
and the addr
type (for example site-local or
link-local).host
- the hostname associated with the address.addr
- the network address.nif
- the network interface that this address is associated with.UnknownHostException
- if the address is null
or has an invalid length or
the interface doesn't have a numeric scope id for the given
address type.public boolean isAnyLocalAddress()
InetAddress
::
or the IPv4 "any" address, 0.0.0.0
.isAnyLocalAddress
in class InetAddress
public boolean isIPv4CompatibleAddress()
::/96
and is a deprecated
and no-longer used equivalent of the modern IPv4-mapped IPv6 addresses.public boolean isLinkLocalAddress()
InetAddress
Valid IPv6 link-local addresses have the prefix fe80::/10
.
RFC 3484
"Default Address Selection for Internet Protocol Version 6 (IPv6)" states
that both IPv4 auto-configuration addresses (prefix 169.254/16
) and
IPv4 loopback addresses (prefix 127/8
) have link-local scope, but
Inet4Address
only considers the auto-configuration addresses
to have link-local scope. That is: the IPv4 loopback address returns false.
isLinkLocalAddress
in class InetAddress
public boolean isLoopbackAddress()
InetAddress
Valid IPv4 loopback addresses have the prefix 127/8
.
The only valid IPv6 loopback address is ::1
.
isLoopbackAddress
in class InetAddress
public boolean isMCGlobal()
InetAddress
Valid IPv6 global multicast addresses have the prefix ffxe::/16
,
where x
is a set of flags and the additional 112 bits make
up the global multicast address space.
Valid IPv4 global multicast addresses are the range of addresses
from 224.0.1.0
to 238.255.255.255
.
isMCGlobal
in class InetAddress
public boolean isMCLinkLocal()
InetAddress
Valid IPv6 link-local multicast addresses have the prefix ffx2::/16
,
where x is a set of flags and the additional 112 bits make up the link-local multicast
address space.
Valid IPv4 link-local multicast addresses have the prefix 224.0.0/24
.
isMCLinkLocal
in class InetAddress
public boolean isMCNodeLocal()
InetAddress
Valid IPv6 node-local multicast addresses have the prefix ffx1::/16
,
where x is a set of flags and the additional 112 bits make up the link-local multicast
address space.
There are no valid IPv4 node-local multicast addresses.
isMCNodeLocal
in class InetAddress
public boolean isMCOrgLocal()
InetAddress
Valid IPv6 organization-local multicast addresses have the prefix ffx8::/16
,
where x is a set of flags and the additional 112 bits make up the link-local multicast
address space.
Valid IPv4 organization-local multicast addresses have the prefix 239.192/14
.
isMCOrgLocal
in class InetAddress
public boolean isMCSiteLocal()
InetAddress
Valid IPv6 site-local multicast addresses have the prefix ffx5::/16
,
where x is a set of flags and the additional 112 bits make up the link-local multicast
address space.
Valid IPv4 site-local multicast addresses have the prefix 239.255/16
.
isMCSiteLocal
in class InetAddress
public boolean isMulticastAddress()
InetAddress
Valid IPv6 multicast addresses have the prefix ff::/8
.
Valid IPv4 multicast addresses have the prefix 224/4
.
isMulticastAddress
in class InetAddress
public boolean isSiteLocalAddress()
InetAddress
For the purposes of this method, valid IPv6 site-local addresses have
the deprecated prefix fec0::/10
from
RFC 1884,
not the modern prefix fc00::/7
from
RFC 4193.
RFC 3484
"Default Address Selection for Internet Protocol Version 6 (IPv6)" states
that IPv4 private addresses have the prefix 10/8
, 172.16/12
,
or 192.168/16
.
isSiteLocalAddress
in class InetAddress
true
if this instance represents a site-local address,
false
otherwise.public int getScopeId()
public NetworkInterface getScopedInterface()
public String toString()
InetAddress
"www.google.com/74.125.224.115"
or "/127.0.0.1"
.
IPv6 addresses may additionally include an interface name or scope id.
For example: "www.google.com/2001:4860:4001:803::1013%eth0"
or
"/2001:4860:4001:803::1013%2"
.
toString
in class InetAddress