转自:https://tieba.baidu.com/p/3985626373
IPv6的地址长度是128位(bit)。
将这128位的地址按每16位划分为一个段,将每个段转换成十六进制数字,并用冒号隔开。
例如:2000:0000:0000:0000:0001:2345:6789:abcd
这个地址很长,可以用两种方法对这个地址进行压缩,
前导零压缩法:
将每一段的前导零省略,但是每一段都至少应该有一个数字
例如:2000:0:0:0:1:2345:6789:abcd
双冒号法:
如果一个以冒号十六进制数表示法表示的IPv6地址中,如果几个连续的段值都是0,那么这些0可以简记为::。每个地址中只能有一个::。
例如:2000::1:2345:6789:abcd
单播地址(Unicast IPv6Addresses)
可聚合的全球单播地址(Aggregatable Global UnicastAddresses)
可在全球范围内路由和到达的,相当于IPv4里面的globaladdresses。前三个bit是001
例如:2000::1:2345:6789:abcd
链路本地地址(Link-LocalAddresses)
用于同一个链路上的相邻节点之间通信,相当于IPv4里面的169.254.0.0/16地址。Ipv6的路由器不会转发链路本地地址的数据包。前10个bit是1111 111010,由于最后是64bit的interfaceID,所以它的前缀总是FE80::/64
例如:FE80::1
站点本地地址(Site-Local Addresses)
对于无法访问internet的本地网络,可以使用站点本地地址,这个相当于IPv4里面的privateaddress(10.0.0.0/8,172.16.0.0/12, and 192.168.0.0/16)。它的前10个bit是1111 111011,它最后是16bit的SubnetID和64bit的interfaceID,所以它的前缀是FEC0::/48。
值得注意的是,在RFC3879中,最终决定放弃单播站点本地地址。放弃的理由是,由于其固有的二义性带来的单播站点本地地址的复杂性超过了它们可能带来的好处。它在RFC4193中被ULA取代。
唯一的本地IPv6单播地址(ULA,Unique Local IPv6Unicast Address)
在RFC4193中标准化了一种用来在本地通信中取代单播站点本地地址的地址。ULA拥有固定前缀FD00::/8,后面跟一个被称为全局ID的40bit随机标识符。
未指定地址(Unspecifiedaddress)
0:0:0:0:0:0:0:0或者::
当一个有效地址还不能确定,一般用未指定地址作为源地址。未指定地址不能作为一个目标地址来使用。
回环地址(Loopbackaddress)
回环地址::1用于标识一个回环接口,可以使一个节点可以给自己发送数据包。相当于IPv4的回环地址127.0.0.1
兼容IPv4的地址(IPv4-compatibleaddress)
形如::w.x,y.z,这里的w.x.y.z是IPv4公共地址的十进制点号表示法,用于IPv6/IPv4节点们(同时支持)在使用仅支持IPv4的网络上用IPv6的协议进行通信。
但是事实证明这种技术不是个好主意,RFC4291中废弃了对这类地址的使用。
IPv4映射地址(IPv4-mappedaddress)
形如::FFFF:w.x.y.z,这里的w.x.y.z是IPv4公共地址的十进制点号表示法,用于一个仅支持IPv4的节点表现为一个IPv6的节点
6over4地址
[64bit-prefix]:0:0:WWXX:YYZZ,其中的WWXX:YYZZ是w.x.y.zIPv4公共地址的十进制点号表示法,用于一个使用6to4协议的隧道机制的节点。
6to4地址
2002:WWXX:YYZZ:[SLAID]:[Interface ID],用于表示一个使用6to4协议的隧道机制节点。
多播IPv6地址(Multicast IPv6Addresses)
前8个bit为11111111,
其中FF01::到FF0F::的多播地址是保留专用地址
FF01::1节点本地范围所有节点多播地址
FF02::1链路本地范围所有节点多播地址
FF01::2节点本地范围所有路由器多播地址
FF02::2链路本地范围所有路由器多播地址
FF05::2站点本地范围所有路由器多播地址
相关推荐
自己做的Java工具类。可以对IPv6地址的格式进行校验,对IPv6地址的压缩、补全,以及从16进制转换为2进制和从2进制转换为16进制。
IPv6地址格式转化成标准的压缩格式;转化成标准的非压缩格式可采用系统自带的方法。
IPv6地址格式转换是网络编程中的一个重要环节,涉及到将这些16进制字符串形式的地址转换为二进制,以及将二进制数据转换回可读的16进制表示。这个过程对于网络通信、路由配置以及协议解析等任务至关重要。 在设计一...
1. **IPv4转IPv6**:此功能将传统的32位IPv4地址转换为IPv6兼容格式。IPv4地址可以嵌入到IPv6的特定区域内(::ffff:0:0/96),从而使得IPv4和IPv6网络能够共存。 2. **转换为压缩地址**:IPv6地址可以被压缩,删除...
`ipv6wry.db`是一个包含IPv6地址到地域信息映射的数据库文件,通常采用二进制格式存储,以提高查询效率。ZX公网IPv6库提供了读取和解析这个数据库的API,使得开发者能够通过IPv6地址快速获取其所属的国家、地区等...
2. **解析和解析检查**:验证输入的IPv6地址是否符合标准格式,确保其有效性。 3. **缩写和展开**:允许用户在完整格式和简化格式之间切换,例如,添加或移除双冒号。 4. **前缀和子网计算**:在IPv6网络规划中,...
这是本人参照如下http://www.gestioip.net/cgi-bin/subnet_calculator.cgi的IPV6解析网站,自己做java的工具类。可以对各种IPV6的格式进行解析。校验。以及对IPV6格式的压缩、以及补全。总之是全网最好用的工具类
1. **地址转换**:将IPv6地址从冒号十六进制格式转换为其他表示形式,如零压缩或全零表示(::)。 2. **子网划分**:根据指定的前缀长度,将一个IPv6网络划分为多个子网。 3. **地址范围计算**:确定给定网络地址...
#### 一、IPv6地址简介 IPv6(Internet Protocol Version 6)是互联网协议的第六版,旨在解决IPv4地址不足的问题,并提供了许多增强功能。IPv6地址由8组16位的十六进制数字组成,每组之间用冒号分隔。一个完整的...
1. **IPv4与IPv6地址结构**:理解两种地址的不同格式,IPv4采用点分十进制表示,如192.168.0.1,而IPv6使用冒号十六进制表示,如2001:0db8:85a3:0000:0000:8a2e:0370:7334。 2. **转换函数**:源代码可能包含了将...
1.可以进行ipv6的地址计算 2.可以进行ipv6地址的划分 3.可以进行ipv6地址的合并 4.可以进行ipv6地址的格式转换 5.可以进行交集补集的运算 6.如果你还在为ipv6地址运算而苦恼的话可以考虑入手
在IPv4转IPv6的过程中,可能需要先用`inet_pton()`解析IPv4字符串,然后结合NAT64前缀生成IPv6地址,最后用`inet_ntop()`将结果转换回可读的字符串。 4. **IPv6-mapped IPv4地址**:IPv6地址空间的一部分被预留来...
4. **错误处理**:在源码中,必须包含适当的错误检查机制,确保输入的IPv4地址格式正确,并且在转换过程中不会产生错误。这可能涉及到对输入字符串的验证,以及在转换过程中遇到意外情况时抛出异常或返回错误信息。 ...
标题中的“基于GO语言实现的自动获得你的公网 IPv4 或 IPv6 地址,并解析到对应的域名服务项目源码”是指一个使用Go语言编写的动态域名解析系统。这个系统能够自动检测并更新你的公网IP地址(无论是IPv4还是IPv6),...
《YD/T1344-2005 IPv6地址结构协议—IPv6无状态地址自动配置》是一项由中国信息产业部于2005年发布的通信行业标准,旨在规范IPv6环境下无状态地址自动配置的实现方法。IPv6作为下一代互联网协议,解决了IPv4地址资源...
资源介绍:根据现有IPv4地址和IPv6地址的格式,实现IPv4地址转换到IPv6地址。易语言IPv6地址转换源码演示了IPv6地址的转换过程。资源作者:三叶易语言自学网资源下载:
根据给定的信息,本文将详细解释如何将IPv4与IPv6地址从字符串形式转换为`BigInteger`数字形式,以及反向操作的过程。 ### IPv4与IPv6简介 #### IPv4 IPv4(Internet Protocol Version 4)是互联网协议的第四版,...
在EUI-64的IPv6地址格式中,第7位为0表示本地管理,为1表示全球管理。 IPv6地址表示方法、IPv6地址的结构、EUI-64地址生成方法等知识点都是IPv6技术中非常重要的概念。mastering这些知识点可以帮助我们更好地理解和...