IPv4 地址是以点分十进制表示形式来表示的。对于 IPv6,128 位的地址是按每 16 位 1 个分界线来分隔的,每个 16 位块转换成 4 个十六进制数(基16 计数系统),相邻的 16 位块以半角冒号隔开。生成的表示形式叫做冒号十六进制表示形式。

下面是一个二进制形式的 IPv6 地址:

0011111111111110001010010000000011010000000001010000000000000000

0000001010101010000000001111111111111110001010001001110001011010

每 16 位用 1 个分界线来分割此 128 位地址:

0011111111111110   0010100100000000   1101000000000101   0000000000000000  0000001010101010   0000000011111111   1111111000101000   1001110001011010

每个 16 位块都转换成十六进制,相邻的块用半角冒号隔开。结果为:

3FFE:2900:D005:0000:02AA:00FF:FE28:9C5A

通过删除每个 16 位块内的前导零,还可以进一步简化 IPv6 表示形式。不过,每个块必须最少有一个数字。删除前导零后,此地址就变成了:

3FFE:2900:D005:0:2AA:FF:FE28:9C5A

在二进制数和十六进制数之间转换

十六进制计数系统在表示一个数时使用数字 0 至 9,字母 A、B、C、D、E 和 F,以及 16 的指数幂。表 3-4 列出了数字 0 至 15 的十进制、十六进制和二进制表示形式。

十进制

十六进制

二进制

0

0

0000

1

1

0001

2

2

0010

3

3

0011

4

4

0100

5

5

0101

6

6

0110

7

7

0111

8

8

1000

9

9

1001

10

A

1010

11

B

1011

12

C

1100

13

D

1101

14

E

1110

15

F

1111

表 3-4  十进制、十六进制和二进制之间的转换

要将十六进制数转换成二进制数,应将每个十六进制数字转换成对等的 4 位二进制数字。例如,要将十六进制数 0x03D8 转换成二进制,应将各个十六进制数字(0、3、D 和 8)分别转换成二进制。这样,0x03D8 就是 0000 0011 1101 1000 或 0000001111011000。

要将二进制数转换成十六进制数,应从低序位开始将二进制数分割成包含 4 位的块。然后,将每个包含 4 位的块转换成与其相等的十六进制形式。例如,要将二进制数 0110000110101110 转换成十六进制,应首先将整个数分割成 4 位一块的数字块,即 0110 0001 1010 1110。然后,将每块转换成十六进制数字,即 0x61AE。

虽然您可以使用 Windows Server 2003 或 Windows XP 中的计算器在十六进制和二进制之间进行转换,但如果您手动执行转换会帮助您更好地理解此操作。要在十进制和十六进制之间进行转换(IPv6 地址不需要经常执行此操作),请使用 Windows 计算器。

压缩零

某些类型的地址包含一长串零。要进一步简化 IPv6 地址的表示形式,您可以将以冒号十六进制格式表示的一串连续的、设置为 0 的 16 位块压缩成“::”(叫做双冒号)。

例如,您可以将单播 IPv6 地址 FE80:0:0:0:2AA:FF:FE9A:4CA2 压缩成 FE80::2AA:FF:FE9A:4CA2,可以将多播 IPv6 地址 FF02:0:0:0:0:0:0:2 压缩成 FF02::2。

您只能使用零压缩来压缩以冒号十六进制表示形式表示的一个连续的 16 位块序列。您不能对 16 位块的一部分进行零压缩。例如,您无法将 FF02:30:0:0:0:0:0:5 表示为 FF02:3::5。

要确定“::”代表多少位零,您可以计算压缩地址中的块数,用 8 减去此数,然后将结果乘以 16。例如,地址 FF02::2 有两个块(“FF02”块和“2”块),这意味着其他六个 16 位块(总共 96 位)已被压缩。

在一个给定的地址中,您只能使用一次零压缩。否则,您就无法确定每个“::”代表多少位零。如果一个地址包含同样长的两个零块序列,则应通过转换将左边的零块序列表示为“::”。

ipv6 压缩 java_IPv6 地址语法相关推荐

  1. ipv6+ssh+java_IPv6的本地联网地址计算方法详解

    IPv6的世界里,如果DHCP6和SLACC这两位大佬都为没有为可怜的网卡分配IP地址,也没有人为网卡设置静态的IP地址,系统就会为网卡计算一个IPv6的网址来.这样的网址只能在本地使用,不得路由,所 ...

  2. python使用正则表达式验证邮箱地址语法有效性

    python使用正则表达式验证邮箱地址语法有效性 #python使用正则表达式验证邮箱地址语法有效性 import re # mail regular expression formula# rege ...

  3. linux ipv6 组播地址,ipv6组播地址是什么意思

    一.任何节点都能够成为一个多播组成员也叫做组播组成员: 二.源节点可以发送数据包到多播组: 三.在一个多播组的节点都能收到发往该组播组的数据. "组播组"是一个用IP组播地址进行标 ...

  4. ICMP与IPv6全局单播地址动态分配

    ICMP与IPv6全局单播地址动态分配 ICMP TCP/IP协议簇会在发生某些错误时提供要发送的信息,这些消息使用ICMP服务发送 ICMP报文可大致分为两类:差错报文与查询或信息类报文 ICMP版 ...

  5. 演示:IPv6全球单播地址的配置

    演示目标:配置IPv6全球单播地址. 演示环境:如下图12.53所示. 演示背景:使用扩展64位的MAC地址填充2011:1::/64子网的后64位,形成IPv6全球单播地址:也可通过手工方式静态配置 ...

  6. ipv6 全球单播地址,link-local address、site-local address、组播、任意波、EUI-64等地址的理解

    学习IPV6的时候涉及到一个概念,link-local address, 中文叫"链路本地地址",它的前缀是 FE80::/64 一个link-local address的范例: ...

  7. IPv4/IPv6组播地址和组播MAC地址的转换

    IPv4地址的组播MAC地址: 组播MAC地址高24位固定为0x01005E,第25位为0 组播MAC地址低23位为IPv4地址的低23位 以上规则是IANA规定的,因为IPv4组播地址的高4位是11 ...

  8. HuaWei ❀ IPv6组播地址

    IPv6组播地址 IPv6的组播与IPv4相同,用来标识一组接口,一般这些接口属于不同的节点,一个节点可能属于0到多个组播组,发往组播地址的报文被组播地址标识的所有接口接收: 一个IPv6组播地址由前 ...

  9. html调取主机ipv6地址,IPv6地址格式及地址配置方式

    IPv6地址格式及地址配置方式 一个典型的IPv6主机单播地址由3部分组成:全局路由前缀.子网ID和接口ID(64位).全局 路由前缀用来识别分配给一个站点的一个地址范围.子网ID也称为子网前缀,一个 ...

最新文章

  1. C/C++ 误区:fflush(stdin)
  2. 【译】MVVM Tutorial with ReactiveCocoa: Part 1/2
  3. 算法 - php - 二叉树遍历
  4. BLE进阶——链路层(1)
  5. Spring Boot中如何干掉过多的if else!
  6. 移动开发者选项手机如何打开真机调试模式
  7. 信息学奥赛一本通(1077:统计满足条件的4位数)
  8. TokuDB存储引擎
  9. Hive 1.1.0 某些字段的查询结果为NULL
  10. [leetcode]Subsets
  11. github怎么删除代码库
  12. python timepicker_Android之日期时间选择控件DatePicker和TimePicker
  13. bzoj 1984: 月下“毛景树”
  14. ros讯飞语音交互学习记录
  15. 马克思主义基本原理【0163】
  16. vim autoformat php,vim - 如何在VI中整理HTML文件的缩进?
  17. ML笔记1——什么是ML;回归LossFunction(LF)推导;LF与凸函数关系;梯度下降推导;范数与正则化。
  18. CentOS 8 安装视频网站与流媒体直播Nginx-http-flv-module模块
  19. 关于墨客的DAPP锁仓开发
  20. 传说中的程序员最牛表白方式!

热门文章

  1. 二次开发稳定盲盒H5+小程序+源码+独立服务器
  2. protobuf详解
  3. VMware官方认证顺利通过!忆联赋能行业用户降低TCO
  4. MySQL laravel,MySQL错误:SQLSTATE[42000]: Syntax error or access violation
  5. linux系统USB摄像头反应慢,Linux下OpenCV打开USB接口的UVC摄像头及索引号是202的原因...
  6. 云舸未停,AI风起:山峦之上的华为云
  7. Zotero插件Zotfile下载与安装
  8. GLSL std140布局规则
  9. 基于ssm技术的手机销售平台的设计与实现开题报告和手机销售系统的设计与实现/电子商城系统/购物系统/销售系统
  10. 慢慢欣赏linux 思考中的问题