对于IPv4地址,我们知道分为A类、B类、C类、组播地址和留用地址,几大类,ABC类地址中还会有不同功能的如广播地址、私有地址等类型。那么IPv6的地址是怎么分类的呢?本文就带大家初步了解一下.

先说说为什么叫做初步了解吧,因为到目前为止,IPv6地址的分类标准还在制定之中,最近的一个草案标准制定于2006年(具体可以查询RFC4291),所以本文只能带领大家尝尝鲜,对IPv6地址分类和结构有个大概了解。就像IPv6标准历经今20年才从草案变为正式标准,IPv6地址分类标准的确定也是一个漫长的过程,当然,随着IPv6快速普及,这一标准的确定一定会加速。

1、IPv6地址表示方法

IPv6地址总共有128位,为了便于人工阅读和输入,和IPv4地址一样,IPv6地址也可以用一串字符表示。IPv6地址使用16进制表示,IPv6地址划分成8个块,每块16位,块与块之间用“:”隔开。如下所示:

同时,对于多个地址块为0的情况时,可以使用“::”号,进行化简。

化简原则:

+全0块“0000”,可以化简为“0”

+多个全0块,可以化简为“::”

+一个IPv6地址中只能出现一个“::”,出现多个全0块时,“::”要化简最长的一段,没有最长的要就近(左)

+“::”可以出现在地址开头或结尾

具体示例如下:

2、IPv6地址类型

IPv6地址整体上分为三类:单播地址,任播地址,组播地址。

单播地址:一个单播地址对应一个接口,发往单播地址的数据包会被对应的接口接收;

任播地址:一个任播地址对应一组接口,发往任播地址的数据包会被这组接口的其中一个接收,被哪个接口接收由具体的路由协议确定;

组播地址:一个组播地址对应一组接口,发往组播地址的数据包会被这组的所有接口接收;

具体的地址分配如下图,任播存在于单播地址之中,没有专门的区分:

特别说明的地址类型:

未指定地址,主要用于系统启动之初,尚未分配IP时,对外请求IP地址时,作为源地址使用,它不能用于数据包的目的地址之中。

环回地址,用于自己向自己发送数据包时使用,在日常网络排错中可以测试网络层协议状态。

本地链路单播地址,本地单播地址的前缀为FE80::/64,它的作用是在没有路由(网关)存在的网络中,主机通过MAC地址自动配置生成IPv6地址,仅能在本地网络中使用。

IPv6的地址空间由IANA组织分配,详情可以去它的官网查看。

另外:php 对ipv4的地址转换 有: ip2long()和long2ip()

如果对ipv6就不支持了,可以参考 :https://php.net/manual/zh/function.ip2long.php#94477

IPv6地址分类及表示方法的更多相关文章

  1. IPv6 地址分类

    IPv6本地链路地址 IPv6本地链路地址,类似于IPv4中APIPA(Automatic Private IP Addressing,自动专用IP寻址)所定义的地址169.254.0.0/16. I ...

  2. H3C IPv6地址分类

  3. IPv6地址介绍

    IPv6地址介绍 2008 年 04 月 10 日 1. 认识IPv6地址 IPv4地址是类似 A.B.C.D 的格式,它是32位,用\".\"分成四段,用10进制表示:而IPv6 ...

  4. 一种转换Ipv6地址的方法

    原CSDN博客不再更新维护. 本文介绍了一种将char* 类型的Ipv6地址转换成BYTE(unsigned char)或者in6_addr类型的方法. 说明:使用时需要下载Ipv6++.lib和Ip ...

  5. IPv6地址表示方法详解

    IPv6是互联网协议的第六版:最初它在IETF的 IPng选取过程中胜出时称为互联网新一代网际协议(IPng),IPv6是被正式广泛使用的第二版互联网协议. 现有标准IPv4只支持大概40亿(4×10 ...

  6. IP地址规划和设计方法

    IP地址规划和设计方法 无类域间路由技术需要在提高 IP 地址利用率和减少主干路由器负荷两个方面取得平衡 网络地址转换 NAT 最主要的应用是专用网,虚拟专用网,以及 ISP 为拨号用户 提供的服务 ...

  7. 网络基础三 ARP 地址分类 NAT技术

    第1章 OSI回顾 1.1 TCP/IP协议族组成 应用层 主机到主机层   互联网层   网络接入层 1.2 总结应用层掌握的协议与端口号对应关系 http(80) telnet(23) ftp(2 ...

  8. ARP 地址分类 NAT技术

    第1章 OSI回顾 1.1 TCP/IP协议族组成 应用层 主机到主机层   互联网层   网络接入层 1.2 总结应用层掌握的协议与端口号对应关系 http(80) telnet(23) ftp(2 ...

  9. windows下获取IP地址的两种方法

    windows下获取IP地址的两种方法: 一种可以获取IPv4和IPv6,但是需要WSAStartup: 一种只能取到IPv4,但是不需要WSAStartup: 如下: 方法一:(可以获取IPv4和I ...

随机推荐

  1. 001.Kubernetes简介

    一 Kubernetes概述 Kubernetes是一个全新的基于容器技术的分布式架构领先方案.Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg).在Docker ...

  2. componentWillReceiveProps详解(this.props)状态改变检测机制

    参考资料:http://blog.csdn.net/ElinaVampire/article/details/51813677 大家先看一张关于组件挂载的经典的图片: 下面一一说一下这几个生命周期的意 ...

  3. docker部署springboot项目

    本文介绍一下docker如何部署springboot项目. 前提条件: 1.可以运行jar包的环境 2.机器上已经安装了docker 3.准备部署的springboot的jar包 4.Dockerfi ...

  4. 常用的Lambda表达式

     Java 8 引入Lambda表达式,对于Java开发人员来说是一大福利,简化了代码,提高了开发效率. 本文主要讲解日常开发中使用频率比较高的几类Lambda表达式. 集合 Lambda表达式的引入 ...

  5. 使用git(window)在github上存项目教程

    要托管到github,那你就应该要有一个属于你自己的github帐号,所以你应该先到github.com注册 打开浏览器 在地址栏输入地址:github.com 填写用户名.邮箱.密码 点击Sign ...

  6. 学习Struts--Chap04:result中type属性dispatcher、redirect、redirectAction、chain的区别

    1.Struts2框架中常用的结果类型的分析和比较 dispatcher:缺省的result类型,type默认是dispatcher内部转发.如果不写type类型只写一个名字的话,不单是type类型默 ...

  7. 基于zookeeper的高可用Hadoop HA集群安装

    (1)hadoop2.7.1源码编译 http://aperise.iteye.com/blog/2246856 (2)hadoop2.7.1安装准备 http://aperise.iteye.com ...

  8. python函数之协程与面向过程编程

    第一:协程 初步了解协程 def eater(): print('start to eat') while True: food=yield print('is eating food:%s'%foo ...

  9. 如何修改maven的默认jdk版本

    问题: 1.创建maven项目的时候,jdk版本是1.5版本,而自己安装的是1.7或者1.8版本. 2.每次右键项目名-maven->update project 时候,项目jdk版本变了,变回 ...

  10. linux i2c 的通信函数i2c_transfer在什么情况下出现错误

    问题: linux i2c 的通信函数i2c_transfer在什么情况下出现错误描述: linux i2c设备驱动 本人在写i2c设备驱动的时候使用i2c transfer函数进行通信的时候无法进行 ...