Package java.net

Class Inet6Address

    • Method Detail

      • getByAddress

        public static Inet6Address getByAddress​(String host,
                                                byte[] addr,
                                                int scope_id)
                                         throws UnknownHostException
        Constructs an IPv6 address according to the given host, addr and scope_id.
        Parameters:
        host - the host name associated with the address.
        addr - the network address.
        scope_id - the scope id for link- or site-local addresses.
        Returns:
        the Inet6Address instance representing the IP address.
        Throws:
        UnknownHostException - if the address is null or has an invalid length.
      • getByAddress

        public static Inet6Address getByAddress​(String host,
                                                byte[] addr,
                                                NetworkInterface nif)
                                         throws UnknownHostException
        Gets an IPv6 address instance according to the given host, addr and nif. scope_id is set according to the given nif and the addr type (for example site-local or link-local).
        Parameters:
        host - the hostname associated with the address.
        addr - the network address.
        nif - the network interface that this address is associated with.
        Returns:
        the Inet6Address instance representing the IP address.
        Throws:
        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.
      • isAnyLocalAddress

        public boolean isAnyLocalAddress()
        Description copied from class: InetAddress
        Returns whether this is the IPv6 unspecified wildcard address :: or the IPv4 "any" address, 0.0.0.0.
        Overrides:
        isAnyLocalAddress in class InetAddress
      • isIPv4CompatibleAddress

        public boolean isIPv4CompatibleAddress()
        Returns whether this IPv6 address is an IPv4-compatible address or not. An IPv4-compatible address has the prefix ::/96 and is a deprecated and no-longer used equivalent of the modern IPv4-mapped IPv6 addresses.
      • isLinkLocalAddress

        public boolean isLinkLocalAddress()
        Description copied from class: InetAddress
        Returns whether this address is a link-local address or not.

        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.

        Overrides:
        isLinkLocalAddress in class InetAddress
      • isLoopbackAddress

        public boolean isLoopbackAddress()
        Description copied from class: InetAddress
        Returns whether this address is a loopback address or not.

        Valid IPv4 loopback addresses have the prefix 127/8.

        The only valid IPv6 loopback address is ::1.

        Overrides:
        isLoopbackAddress in class InetAddress
      • isMCGlobal

        public boolean isMCGlobal()
        Description copied from class: InetAddress
        Returns whether this address is a global multicast address or not.

        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.

        Overrides:
        isMCGlobal in class InetAddress
      • isMCLinkLocal

        public boolean isMCLinkLocal()
        Description copied from class: InetAddress
        Returns whether this address is a link-local multicast address or not.

        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.

        Overrides:
        isMCLinkLocal in class InetAddress
      • isMCNodeLocal

        public boolean isMCNodeLocal()
        Description copied from class: InetAddress
        Returns whether this address is a node-local multicast address or not.

        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.

        Overrides:
        isMCNodeLocal in class InetAddress
      • isMCOrgLocal

        public boolean isMCOrgLocal()
        Description copied from class: InetAddress
        Returns whether this address is a organization-local multicast address or not.

        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.

        Overrides:
        isMCOrgLocal in class InetAddress
      • isMCSiteLocal

        public boolean isMCSiteLocal()
        Description copied from class: InetAddress
        Returns whether this address is a site-local multicast address or not.

        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.

        Overrides:
        isMCSiteLocal in class InetAddress
      • isMulticastAddress

        public boolean isMulticastAddress()
        Description copied from class: InetAddress
        Returns whether this address is a multicast address or not.

        Valid IPv6 multicast addresses have the prefix ff::/8.

        Valid IPv4 multicast addresses have the prefix 224/4.

        Overrides:
        isMulticastAddress in class InetAddress
      • isSiteLocalAddress

        public boolean isSiteLocalAddress()
        Description copied from class: InetAddress
        Returns whether this address is a site-local address or not.

        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.

        Overrides:
        isSiteLocalAddress in class InetAddress
        Returns:
        true if this instance represents a site-local address, false otherwise.
      • getScopeId

        public int getScopeId()
        Returns the scope id if this address is scoped to an interface, 0 otherwise.
      • getScopedInterface

        public NetworkInterface getScopedInterface()
        Returns the network interface if this address is instanced with a scoped network interface, null otherwise.
      • toString

        public String toString()
        Description copied from class: InetAddress
        Returns a string containing the host name (if available) and host address. For example: "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".

        Overrides:
        toString in class InetAddress
        Returns:
        a printable representation of this object.