网络学习:IPV6地址详解

目录

前言:

一、IPV6的由来

二、什么是IPV6地址?

IPV6地址结构:


前言:

        IPV6(Internet Protocol Version 6)是网络层协议的第二代标准协议,也被称为IPng(IP Next Generation),它所在的网络层提供了无连接的数据传输服务。IPv6是IETF设计的一套规范,是IPv4的升级版本。它解决了目前IPv4存在的许多不足之处,IPv6和IPv4之间最显著的区别就是IP地址长度从原来的32位升级为128位。IPv6以其简化的报文头格式、充足的地址空间、层次化的地址结构、灵活的扩展头、增强的邻居发现机制将在未来的市场竞争中充满活力。

一、IPV6的由来

        IP(Internet Protocol)是TCP/IP协议族中的网络层协议。(网络层协议主要工作是:借助路由表,负责处理IP数据报在网络中的传输。)IPv4协议是目前广泛部署的因特网协议。在因特网发展初期,IPv4以其协议简单、易于实现、互操作性好的优势而得到快速发展。但随着网络的迅猛发展,地址短缺问题的显现,IETF曾提出过IPv6、IPv7、IPv8、IPv9等四个草案,并希望其中的一种协议能够替代IPv4。经过充分的讨论,IETF最终选择IPv6并替代IPv4,而IPv7、IPv8、IPv9也就从此销声匿迹。

以上是IPV6大致的演进阶段图。

二、什么是IPV6地址?

        IPV6地址由网络前缀和接口标识两个部分组成。网络前缀有n位,相当于IPv4地址中的网络ID;接口标识有(128-n)比特,相当于IPv4地址中的主机ID。网络前缀相当于IPV4中的网络位,用来标识和区分不同的网络范围,接口标识就还是在这个网络范围内去区分不同的主机。

IPV6地址结构:

一个IPv6地址可以分为如下两部分:

  1. 网络前缀:n比特,相当于IPv4地址中的网络ID
  2. 接口标识:128-n比特,相当于IPv4地址中的主机ID

具体表示方法:
IPv6地址总长度为128比特,表示为"X:X:X:X:X:X:X:X", 每个X代表4个十六进制值字符,以冒号分隔,通常分为8组,每组为4个十六进制数的形式,每组十六进制数间用冒号分隔。同样是为了方便书写和人为的区分。

IPV6提供了压缩格式。例:FC00:0000:130F:0000:0000:09C0:876A:130B,这是IPv6地址的首选格式。具体压缩规则如下:

  • 每组中的前导“0”都可以省略,所以上述地址可写为:FC00:0:130F:0:0:9C0:876A:130B,注,只有每组前导位为“0”才能省略,如果一组数值都为0,则直接补0。
  • 地址中包含的连续两个或多个均为0的组,可以用双冒号“::”来代替,所以上述地址又可以进一步简写为:FC00:0:130F::9C0:876A:130B。注:在一个IPv6地址中只能使用一次双冒号“::”,否则当计算机将压缩后的地址恢复成128位时,无法确定每个“::”代表0的个数。

补充:

  1. 由于无法在短时间内将网络中的全部系统从IPv4升级到IPv6。最有效的过渡方案便是IPv6地址支持内嵌IPv4地址。啥意思呢?就是说可以使用IPV6的地址格式来表示一个IPV4的地址,换句话说就是把IPv4地址转变为了一种特殊形式的IPv6地址:"X:X:X:X:X:X:d.d.d.d" , 其中"X:X:X:X:X:X"的前80位设为0,后16位设为1,然后再跟IPv4地址。例如,IPv4地址是192.168.0.1,那么嵌入在IPv6协议中呈现的地址为::FFFF:192.168.0.1。
  2. 对于IPv6单播地址来说,如果地址的前三bit不是000,则接口标识必须为64位;如果地址的前三位是000,则没有此限制。(关于这一点,可能是因为IPV6相关的一些协议是默认以64位接口标识设计的,所以希望用户使用接口标识64位的IPV6地址)

接口标识可通过三种方法生成:手工配置、系统通过软件自动生成或IEEE EUI-64规范生成,其中,通常使用的是IEEE EUI-64规范生成。

IEEE EUI-64规范是将接口的MAC地址转换为IPv6接口标识的过程。

如下图所示,MAC地址的前24位(用c表示的部分)为公司标识,后24位(用m表示的部分)为扩展标识符。从高位数,第7位是0表示了MAC地址本地唯一。

转换的第一步将FFFE插入MAC地址的公司标识和扩展标识符之间,第二步将从高位数,第7位的0改为1表示此接口标识全球唯一。

FFFE转换为二进制等于1111111111111110,同时因为MAC地址本身就是一个全球唯一的地址,经过这样转换后的IPV6地址也将同样全球唯一。

这种由MAC地址产生IPv6地址接口标识的方法可以减少配置的工作量,尤其是当采用无状态地址自动配置时,只需要获取一个IPv6前缀就可以与接口标识形成IPv6地址。但是使用这种方式最大的缺点是任何人都可以通过二层MAC地址推算出三层IPv6地址。

最后简单对比一下IPV4地址和IPV6地址:

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-03-20 00:22:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-20 00:22:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-20 00:22:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-20 00:22:01       18 阅读

热门阅读

  1. 学完Efficient c++ (46-47)

    2024-03-20 00:22:01       19 阅读
  2. MyBatis:枚举类型与字符串比较

    2024-03-20 00:22:01       21 阅读
  3. opencv4 如何截取子图象

    2024-03-20 00:22:01       22 阅读
  4. 思科防火墙如何配置静态NAT

    2024-03-20 00:22:01       19 阅读
  5. 作用域(词法作用域)

    2024-03-20 00:22:01       22 阅读
  6. 聚合函数和GROUP BY

    2024-03-20 00:22:01       19 阅读
  7. LeetCode第389场周赛个人题解

    2024-03-20 00:22:01       20 阅读
  8. ocp考试通过率如何?ocp考试内容有哪些?

    2024-03-20 00:22:01       32 阅读
  9. ocp考试是中文还是英文?ocp认证好考吗

    2024-03-20 00:22:01       26 阅读
  10. 【LeetCode周赛】第 389 场周赛

    2024-03-20 00:22:01       21 阅读
  11. LeetCode 76 最小覆盖子串

    2024-03-20 00:22:01       18 阅读
  12. Git 的基本概念和使用方式。

    2024-03-20 00:22:01       16 阅读