IPv6地址的文本表示规范
背景
随着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地址的文本表示规范的更多相关文章
- IPv6地址在URL上的格式
转自:http://www.cnpaf.net/Class/RFC/200408/983.html 摘要 本文档定义了在WWW浏览器的URL中执行的文本IPv6地址的格式.在包括Microsoft的I ...
- ipv6地址在URL中的表达方式,如何在URL地址中包含ipv6地址
摘要 本文档定义了在WWW浏览器的URL中执行的文本IPv6地址的格式.在包括Microsoft的IE,Mozilla和Lynx等几个已经被广泛安装使用的浏览器的IPv6版本中,这种格式已经被使用.并 ...
- 在UNC(通用命名规范)路径和URL中使用IPv6地址
转自:http://www.ipv6bbs.cn/thread-348-1-1.html 虽然微软在支持IPv6上表现得很积极,但Windows却并没有完整地支持IPv6,例如,在Windows中 ...
- 【】URL中的文本IPv6地址的格式RFC2732
RFC2732规范中URL中的文本IPv6地址的格式, 截取其中重要部分原文如下: RFC 2732 Format for Literal IPv6 Addresses in URL's Decemb ...
- NFC(9)NDEF文本格式规范及读写示例(解析与封装ndef 文本)
只有遵守NDEF文本格式规范的数据才能写到nfc标签上. NDEF文本格式规范 不管什么格式的数据本质上都是由一些字节组成的.对于NDEF文本格式来说. 1,这些数据的第1个字节描述了数据的状态, 2 ...
- 48位MAC转化为唯一的128位IPV6地址
根据EUI_64规范,一个MAC地址生成唯一的一个IPV6地址. ①.反转MAC的第七位为1. ②.在24bit后加入FFFE. ③.在最前面加上FE80::. 示例:
- IPv6地址类型和操作
IPv6地址的号段划分和前缀表示法: IPv6拥有128位巨大的地址空间,对于那么大的空间,也不是随意的划分,而是使用按照bit位进行号段划分 地址结构图 全局路由前缀 (48位) 子网ID (16位 ...
- ipv6 地址说明
开篇我们先简单介绍下ipv4 地址 IPv4 地址: ipv4地址一共32位,用点分十进制表示,每一个部分是8位.子网掩码有两种表示 192.168.1.3 / 24 表示ip的前24位是网络位,后8 ...
- awk函数实现将简化IPV6地址补全
在用awk处理文本时,有些场景需要将简化的IPV6地址补充成完整的IPV6地址,下边函数可简单实现: IPV6地址补全函数 # ipv6地址补全函数 function compipv6(orig_ad ...
- win10 localhost 解析为 ipv6地址 ::1 的解决办法
今天遇到个奇怪的问题,localhost 访问时提示 not found 404,但是有127.0.0.1可以访问.最后找到原因,是因为 windows 把 localhost 解析为 ipv6 地址 ...
随机推荐
- 您可知道如何通过`HTTP2`实现TCP的内网穿透???
可能有人很疑惑应用层 转发传输层?,为什么会有这样的需求啊???哈哈技术无所不用其极,由于一些场景下,对于一个服务器存在某一个内部网站中,但是对于这个服务器它没有访问外网的权限,虽然也可以申请端口访问 ...
- 一则current日志损坏的数据库恢复实例,隐藏参数的使用
场景 之前写了一篇文章,是redo日志全部丢失的情况下,数据库实例恢复的方式.但是,这次特殊在,实例恢复失败的情况下.非常规打开数据库(数据库已经不一致了,但是可以通过expdp导出,导出重要的数据) ...
- Deepin安装Python3
https://www.jianshu.com/p/0c61bdfb9589 也可以看这篇,本文是这篇的简捷版,均原创 首先,把系统更到最新,并复制下面的代码 sudo apt update 更新软件 ...
- uiautomator2使用方法
一.设备连接 1.usb单设备连接 d = u2.connect() 2.usb多设备连接 d = u2.connect("90bf8faf") # 多台设备填写device即可 ...
- fastposter 2.1.1 紧急版本发布 电商级海报生成器
fastposter 2.1.1 紧急版本发布 电商级海报生成器 fastposter低代码海报生成器,一分钟完成海报开发.支持Java Python PHP Go JavaScript等多种语言. ...
- 开发环境需要同时安装2个nodejs版本
由于同时有vue2和vue3的项目开发情况,vue2项目的nodejs版本是12,vue3项目在node12版本下运行不了,要求最低14版本,因此要用nvm同时安装和控制2个版本. 安装步骤: 1.卸 ...
- 每天上一当系列之vue修饰符.number
今天使用number修饰符去处理el-input的内容为数字做校验原本以为省事不少,没想到,为0开头无法输入第二位以后,并且输入的比较多的时候会出现Infinity 很神奇,网上查了说是element ...
- UE4 C++调用C# DLL(DllExport方法)
之前看见园子里一篇C++调用C#的文章,参考后拿UE试一下.刚开始尝试了C# dll > CLR C++ DLL > Native C++ DLL的做法, 原生环境下是可以的,但是到UE4 ...
- .NET周刊【5月第1期 2024-05-05】
国内文章 一个开源轻量级的C#代码格式化工具(支持VS和VS Code) https://www.cnblogs.com/Can-daydayup/p/18164905 CSharpier是一个开源. ...
- 创建 Vue3 项目
前提条件 安装 Nodejs 下载:https://nodejs.org/en/download/prebuilt-installer 切换 npm 源 npm config set registry ...