背景

随着IPv6越来越普及,经常要跟IPv6地址打交道,迫切需要一个统一的IPv6地址文本表示规范。

RFC4291简单的说明了如何将IPv6地址表示成文本形式,但有很多有歧义和不周全的地方。

RFC5952针对IPv6地址的文本表示形式给出了一个推荐方案,对RFC4291做了完善。

规范的IPv6地址文本表示形式

IPv6地址有128位,写成16进制最多需要32个16进制数字。通常将IPv6地址切分成8份,每份占16位,单独的一份最多用4个16进制数字表示,任意两份之间使用‘:’进行分割。

为了规范IPv6地址的文本表示形式,引入了以下规则:

1. 16位字段中起始的0必须被压缩。

例如,2001:0db8::0001是不可接受的,必须被表示成2001:db8::1。一个单独的16位0000字段必须被表示成0。

2.“::”的用法

  2.1,在使用符号“::”时必须最大化它的能力。例如,2001:db8:0:0:0:0:2:1必须被缩短成2001:db8::2:1。类似的,2001:db8::0:1是不可接受的,因为符号“::”可以被用来产生一个更短的表达形式2001:db8::1。

  2.2,符号“::”必须不能被用来仅缩短一个16位0字段。例如,2001:db8:0:1:1:1:1:1是正确的,但2001:db8::1:1:1:1:1是错误的。

  2.3,当有多于一个地方可以放置“::”时,必须选择缩短最长的连续16位0字段(例如,在2001:0:0:1:0:0:0:1中,被缩短的是连续的3个0字段)。

    当连续16位0字段的长度相同时(例如,2001:db8:0:0:1:0:0:1),必须选择缩短第一个连续0序列。例如,2001:db8::1:0:0:1是正确的表示形式。

3. IPv6地址中的字符“a”,“b”,“c”,“d”,“e”和“f”必须使用小写。

4. IPv6地址和端口组合时,必须使用[2001:db8::1]:80这种形式。尤其是在URI中使用IPv6地址时。

IPv6地址的文本表示规范的更多相关文章

  1. IPv6地址在URL上的格式

    转自:http://www.cnpaf.net/Class/RFC/200408/983.html 摘要 本文档定义了在WWW浏览器的URL中执行的文本IPv6地址的格式.在包括Microsoft的I ...

  2. ipv6地址在URL中的表达方式,如何在URL地址中包含ipv6地址

    摘要 本文档定义了在WWW浏览器的URL中执行的文本IPv6地址的格式.在包括Microsoft的IE,Mozilla和Lynx等几个已经被广泛安装使用的浏览器的IPv6版本中,这种格式已经被使用.并 ...

  3. 在UNC(通用命名规范)路径和URL中使用IPv6地址

    转自:http://www.ipv6bbs.cn/thread-348-1-1.html   虽然微软在支持IPv6上表现得很积极,但Windows却并没有完整地支持IPv6,例如,在Windows中 ...

  4. 【】URL中的文本IPv6地址的格式RFC2732

    RFC2732规范中URL中的文本IPv6地址的格式, 截取其中重要部分原文如下: RFC 2732 Format for Literal IPv6 Addresses in URL's Decemb ...

  5. NFC(9)NDEF文本格式规范及读写示例(解析与封装ndef 文本)

    只有遵守NDEF文本格式规范的数据才能写到nfc标签上. NDEF文本格式规范 不管什么格式的数据本质上都是由一些字节组成的.对于NDEF文本格式来说. 1,这些数据的第1个字节描述了数据的状态, 2 ...

  6. 48位MAC转化为唯一的128位IPV6地址

    根据EUI_64规范,一个MAC地址生成唯一的一个IPV6地址. ①.反转MAC的第七位为1. ②.在24bit后加入FFFE. ③.在最前面加上FE80::. 示例:

  7. IPv6地址类型和操作

    IPv6地址的号段划分和前缀表示法: IPv6拥有128位巨大的地址空间,对于那么大的空间,也不是随意的划分,而是使用按照bit位进行号段划分 地址结构图 全局路由前缀 (48位) 子网ID (16位 ...

  8. ipv6 地址说明

    开篇我们先简单介绍下ipv4 地址 IPv4 地址: ipv4地址一共32位,用点分十进制表示,每一个部分是8位.子网掩码有两种表示 192.168.1.3 / 24 表示ip的前24位是网络位,后8 ...

  9. awk函数实现将简化IPV6地址补全

    在用awk处理文本时,有些场景需要将简化的IPV6地址补充成完整的IPV6地址,下边函数可简单实现: IPV6地址补全函数 # ipv6地址补全函数 function compipv6(orig_ad ...

  10. win10 localhost 解析为 ipv6地址 ::1 的解决办法

    今天遇到个奇怪的问题,localhost 访问时提示 not found 404,但是有127.0.0.1可以访问.最后找到原因,是因为 windows 把 localhost 解析为 ipv6 地址 ...

随机推荐

  1. 通俗易懂的生产环境Web应用架构介绍

    前言 看见一篇非常通俗易懂且适合新手阅读的Web应用架构文章,我将其手工翻译了出来,分享给大家. 也可以去阅读英文原文,标题为,贴出链接: https://stephenmann.io/post/wh ...

  2. 使用ChatGPT自动构建知识图谱

    1.概述 本文将探讨利用OpenAI的gpt-3.5-turbo从原始文本构建知识图谱,通过LLM和RAG技术实现文本生成.问答和特定领域知识的高效提取,以获得有价值的洞察.在开始前,我们需要明确一些 ...

  3. vue路由跳转的三种方式

    目录 1.router-link [实现跳转最简单的方法] 2.this.$router.push({ path:'/user'}) 3.this.$router.replace{path:'/' } ...

  4. Jetbrains系列产品最新激活方法[持续更新]

    Jetbrains系列产品最新激活方法[持续更新] 2021.3.4系列激活 方法一: 2021.3.4参考文章: https://www.exception.site/essay/how-to-fr ...

  5. JS实现下拉框切换和tab标签切换

    现在商城网页上会有下拉框切换内容,是如何实现的呢,研究了一天,在调整js代码和查找bug.最终完成了自己想要的效果,我没有写CSS样式,只是实现了基本功能,如果对你有所帮助,可以自己写css,使其更加 ...

  6. SQL中常用的字符串REPLACE函数和LEN函数详解!

    首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1 ...

  7. 记一次ThreadLocal中的用户信息混乱问题

    前言 记录一次开发中遇到的关于 ThreadLocal 问题,场景是数据库表中的操作人总是无缘无故的被更改,排查了几遍代码才发现是 ThreadLocal 没有及时清理导致的. 一.为什么使用 Thr ...

  8. 移动通信网络中的 3A 实现

    目录 文章目录 目录 3A RADIUS Diameter 基本概念 基本协议 应用协议 freeDiameter 3A AAA,即认证(Authentication).授权(Authorizatio ...

  9. bond网卡

    目录 一.bond概述 1.1.bond的优点 二.bond模式 2.1.mode=0 2.2.mode=1 2.3.mode=2 2.4.mode=3 2.5.mode=4 2.6.mode=5 2 ...

  10. android studio 安装与配置

    android  studio  下载地址:http://www.android-studio.org/ 找一个存储空间,我在D盘上,建好如下目录 : 找到刚才在载的文件    android-stu ...