ipv4 ipv6 原理与如何使用

    xiaoxiao2021-12-14  20

    ipv6是ipv4的升级版 它拥有更多的IP地址

     

    一: IPv4地址也时常以一组4个2位的十六进制整数或4个8位的二进制整数表示,但后一种情况较少见。 4×8 = 32    201.199.244.1014个字段 每个4byte

     

    二:  表达式一:  IPV6优先选用的形式是 X:X:X:X:X:X:X:X ,其中X是1个16位地址段的十六进制值。例如: 8个字段 每个4个4byte    8×4×4 = 128  FEDC:BA98:7654:4210:FEDC:BA98:7654:3210

      表达式二:  会发生包含长串0位的地址。为了简化包含0位地址的书写,可以使用“::”符号简化多个0位的16位组。“::

    ”符号在一个地址中只能出现一次。该符号也可以用来压缩地址中前部和尾部的0。举例如下:

        FF01:0:0:0:0:0:0:101 多点传送地址     0:0:0:0:0:0:0:1 回送地址 可用下面的压缩形式表示:

        FF01::101 多点传送地址     ::1 回送地址

     

    ip 实际地址:192.168.1.107fe80::5efe:192.168.1.108%2

    import java.net.Inet4Address;import java.net.Inet6Address;import java.net.InetAddress;import java.net.UnknownHostException;

    public class MyTest {

     /**  * @param args  * @CreateDate:2012-3-12  * @author   * @throws UnknownHostException  */ public static void main(String[] args) throws UnknownHostException {  // TODO Auto-generated method stub  MyTest t = new MyTest();//   ipv4地址//  t.ipv6("www.163.com");  // ipv6地址//  t.ipv6("www.neu6.edu.cn");  t.ipv6("fe80::5efe:192.168.1.108%2"); }  public void ipv6(String ip) throws UnknownHostException{  if (ip.length() == 0)  {   return;  }  InetAddress address = InetAddress.getByName(ip);  System.out.println("IP: " + address.getHostAddress());  switch (address.getAddress().length)  {   case 4:    System.out.println("根据byte数组长度判断这个IP地址是IPv4地址!");          break;      case 16:          System.out.println("根据byte数组长度判断这个IP地址是IPv6地址!");          break;   }   if (address instanceof Inet4Address)   System.out.println("使用instanceof判断这个IP地址是IPv4地址!");    else if (address instanceof Inet6Address)   System.out.println("使用instanceof判断这个IP地址是IPv6地址!"); }

    }

    转载请注明原文地址: https://ju.6miu.com/read-964684.html

    最新回复(0)