美文网首页
IPv6地址格式统一工具类

IPv6地址格式统一工具类

作者: 木木与呆呆 | 来源:发表于2022-08-18 14:02 被阅读0次

1.说明

一个IPv6地址可以有多种文本格式,
如下所示:

2001:db8:0:0:1:0:0:1
2001:0db8:0:0:1:0:0:1
2001:db8::1:0:0:1
2001:db8::0:1:0:0:1
2001:0db8::1:0:0:1
2001:db8:0:0:1::1
2001:db8:0000:0:1::1
2001:DB8:0:0:1::1

这种灵活性给运营商客户、系统工程师等,
带来了很多问题。
下面将介绍一个工具类,
将不同的IPv6地址格式统一为一种格式,
该格式满足如下RFC5952标准:
RFC5952 IPv6地址文本格式的建议规范

2.工具类

tomcat的IPv6Utils提供了转换工具类,
新建IPv6UtilsDemo.java如下:

package org.apache.tomcat.util.net;

public class IPv6UtilsDemo {
    public static void main(String[] args) {
        String ipv6Address = "2022:0006:0004:0003:0000:0000:0000:0002";
        String canonize = IPv6Utils.canonize(ipv6Address);
        System.out.println("before=" + ipv6Address);
        System.out.println("after=" + canonize);
    }
}

工具类所在的POM依赖:

<dependency>
  <groupId>org.apache.tomcat.embed</groupId>
  <artifactId>tomcat-embed-core</artifactId>
  <version>9.0.36</version>
</dependency>

3.测试结果

运行上述代码后,
输出结果如下:

before=2022:0006:0004:0003:0000:0000:0000:0002
after=2022:6:4:3::2

可以改变IPv6的地址格式,
查看输出的结果是否正确,
测试结果如下:

---------------------------
before=2001:db8:0:0:1:0:0:1
after=2001:db8::1:0:0:1
---------------------------
before=2001:0db8:0:0:1:0:0:1
after=2001:db8::1:0:0:1
---------------------------
before=2001:db8::1:0:0:1
after=2001:db8::1:0:0:1
---------------------------
before=2001:db8::0:1:0:0:1
after=2001:db8::1:0:0:1
---------------------------
before=2001:0db8::1:0:0:1
after=2001:db8::1:0:0:1
---------------------------
before=2001:db8:0:0:1::1
after=2001:db8::1:0:0:1
---------------------------
before=2001:db8:0000:0:1::1
after=2001:db8::1:0:0:1
---------------------------
before=2001:DB8:0:0:1::1
after=2001:db8::1:0:0:1
---------------------------

分析上述测试结果,
发现文章开始给出的一个IPv6多种格式地址,
被统一为2001:db8::1:0:0:1了,
这些IPv6地址都被统一为压缩格式了,
包括省略前导零,使用双冒号::压缩多个连续0
所谓压缩格式可以参考如下文章:
IPv6地址格式

相关文章

  • IPv6地址格式统一工具类

    1.说明 一个IPv6地址可以有多种文本格式,如下所示: 这种灵活性给运营商客户、系统工程师等,带来了很多问题。下...

  • 适配IPv6二:IPV6/IPV4概述

    一、IPV6 IPv6地址格式 IPv6的地址长度是128位(bit)。 将这128位的地址按每16位划分为一个段...

  • Python之IPy

    IPy 简介:IPy-用于处理IPv4和IPv6地址和网络的类和工具。 网址: https://github.co...

  • 使用`spacecommander`工具对OC代码格式化

    项目做久了,参与的人多了, 代码格式就各种各样,不统一, 可以使用这个工具对代码进行统一格式化。 仓库地址 : h...

  • Python自动化运维之IPy模块

    IPy 用于处理IPv4和IPv6地址和网络的类和工具。 [注]:文章所示代码在python3.8,windows...

  • Java/Spring使用IPv6地址连接到MySQL服务器

    地址格式 IPv6 地址有两个逻辑部分:64 位网络前缀和 64 位主机地址部分。(主机地址通常是从接口 MAC ...

  • IPv6地址格式

    IPv6的地址格式 IPv4地址是类似 A.B.C.D 的格式,它是32位,用"."分成四段,用10进制表示 IP...

  • 网络知识之IPV6(一)

    IPv6的地址格式 IPv4地址是类似 A.B.C.D 的格式,它是32位,用"."分成四段,用10进制表示 IP...

  • ping

    Centos 下ping ipv6 地址: windows下 ping ipv6 地址:

  • Contiki相关协议的研究

    IPv6 寻址方式和 IPv4 中的点分十进制格式不同,IPv6 的 128 位地址以 16 位为一组,每个 16...

网友评论

      本文标题:IPv6地址格式统一工具类

      本文链接:https://www.haomeiwen.com/subject/jcyegrtx.html