1.Internet地址
每一个接入互联网的终端设备都有一个唯一的索引号:IP地址。现在使用的一般是IPv4,由4个字节组成(32位)。
IPv4一般的分为4类:
A类:0.0.0.0~127.255.255.255;子网掩码:255.0.0.0
B类:128.0.0.0~191.255.255.255;子网掩码:255.255.0.0
C类:192.0.0.0~223.255.255.255;子网掩码:255.255.255.0
D类:224.0.0.0~239.255.255.255;(保留)
从第一个字节来分ABCD四类地址的规则:
A类:0~127;
B类:A+64;
C类:B+32;
D类:C+16;
判断两个IP地址是否在同一个网段:用这两个IP地址分别与它们的子网掩码进行按位与,若得到的值是一样的,则在同一个网段,否则不在一个网段。
2.InetAddress
(1)InetAddress类用来表示IP地址。子类Inet4Address,Inet6Address。
(2).InetAddress没有构造器,提供三个静态方法来获取InetAddress实例
InetAddress ip = InetAddress.getByName("www.siviton.com"); //通过主机获取
InetAddress ip1 = InetAddress.getByAddress(new byte[]{127,0,0,1}); //通过原始IP地址获取。
InetAddress[] ips = InetAddress.getByAllName("www.oracle.com"); //返回一个数组
(3)
InetAddress提供3个方法来获取InetAddress实例对应的IP地址和主机名。
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
InetAddress ip = InetAddress.getByName("www.siviton.com");
System.out.println("是否可达: "+ip.isReachable(2000));
System.out.println(ip.getHostAddress()); //获得IP地址字符串
System.out.println(ip.getHostName()); //获得IP地址对应的主机名
System.out.println(ip.getCanonicalHostName()); //获得IP地址的全限定域名
}