软件创新实验室:IP地址

IP地址

概念

IP地址:InternetAddress

  • 唯一定位一台计算机(在网络上的)

  • 127.0.0.1:本机 localhost

  • IP地址分类

    • IPv4/Ipv6

      • IPv4:127.0.0.1,4个字节组成,0~255,有42亿个地址,30亿个都在北美,亚洲只有4亿,2011年就用尽了。
      • IPv6:128位,8个无符号整数!
    • 公网(互联网) - 私网(局域网)

      • ABCD类地址

      • A类地址第1字节为网络地址,其它3个字节为主机地址。另外第1个字节的最高位固定为0。
          A类地址范围:1.0.0.0到127.255.255.255。
          A类地址中的私有地址和保留地址:
          10.0.0.0到10.255.255.255是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)。
          127.0.0.0到127.255.255.255是保留地址,用做循环测试用的。
          0.0.0.0到0.255.255.255也是保留地址,用做表示所有的IP地址。
          A类地址默认子网掩码为255.0.0.0

      • B类地址第1字节和第2字节为网络地址,其它2个字节为主机地址。另外第1个字节的前两位固定为10。
          B类地址范围:128.0.0.1到191.255.255.255。
          B类地址的私有地址和保留地址
          172.16.0.0到172.31.255.255是私有地址
          169.254.0.0到169.254.255.255是保留地址。如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器,这时你将会从169.254.0.0到169.254.255.255中临时获得一个IP地址。
          B类地址默认子网掩码为255.255.0.0

      • C类地址第1字节、第2字节和第3个字节为网络地址,第4个字节为主机地址。另外第1个字节的前三位固定为110。
          C类地址范围:192.0.0.1到223.255.255.255。
          C类地址中的私有地址:192.168.0.0到192.168.255.255是私有地址。
          C类地址默认子网掩码为255.255.255.0

      • D类地址不分网络地址和主机地址,它的第1个字节的前四位固定为1110。
          ⑵ D类地址范围:224.0.0.0到239.255.255.255
          D类地址用于多点播送。
          D类IP地址第一个字节以“lll0”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。
          D类地址又分为三种类型:即专用地址、公用地址和私用地址;其中专用地址(224.0.0.0-224.0.0.255)用于网络协议组的广播,公用地址(224.0.1.0-238.255.255.255)用于其它组播,私用地址(239.0.0.0-239.255.255.255)用于测试。
          在IPv6协议中,第一个字节必须是0xFF。

      • 192.168.xx.xx,专门给组织内部使用(局域网)

  • 域名:记忆IP问题!

代码

通过InetAddress类的InetAddress.getByName()方法可以查询本机地址或者网站的ip地址,

import java.net.InetAddress;
import java.net.UnknownHostException;

public class TestInetAddress {
    
    
    public static void main(String[] args) {
    
    
        try {
    
    
            //查询本机地址
            InetAddress inetAddress1 = InetAddress.getByName("127.0.0.1");
            System.out.println(inetAddress1);

            //查询网站ip地址
             InetAddress inetAddress2 = InetAddress.getByName("www.baidu.com");
             System.out.println(inetAddress2);
        } catch (UnknownHostException e){
    
    
            e.printStackTrace();
        }
    }
}

运行结果

/127.0.0.1
www.baidu.com/36.152.44.95

其他的一些查询本机地址的代码,

//查询本机地址
InetAddress inetAddress1 = InetAddress.getByName("127.0.0.1");
System.out.println(inetAddress1);
InetAddress inetAddress3 = InetAddress.getByName("localhost");
System.out.println(inetAddress3);
InetAddress inetAddress4 = InetAddress.getLocalHost();
System.out.println(inetAddress4);

运行结果

/127.0.0.1
localhost/127.0.0.1
DESKTOP-5VO4VNS/192.168.16.1

关于InetAddress类的一些常用方法,

//常用方法
System.out.println(inetAddress2.getAddress());                //获得byte形式的地址
System.out.println(inetAddress2.getCanonicalHostName());      //规范的名字
System.out.println(inetAddress2.getHostAddress());            //ip
System.out.println(inetAddress2.getHostName());               //域名或者自己电脑的名字

运行结果

[B@1b6d3586
36.152.44.96
36.152.44.96
www.baidu.com

猜你喜欢

转载自blog.csdn.net/weixin_46263782/article/details/114591975