当前位置: 首页 > article >正文

网络学习: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地址:


http://www.kler.cn/a/271722.html

相关文章:

  • 商密测评题库详解:商用密码应用安全性评估从业人员考核题库详细解析(9)
  • 论文阅读(九):通过概率图模型建立连锁不平衡模型和进行关联研究:最新进展访问之旅
  • AI编译器之——为什么大模型需要Relax?
  • Git进阶之旅:Git 配置信息 Config
  • 网站如何正式上线(运维详解)
  • C++入门(1)
  • 『scrapy爬虫』05. 使用管道将数据写入mysql(详细注释步骤)
  • Jenkins: 配合docker来部署项目
  • 【前端】CSS常见的选择器
  • JAVA初阶数据结构栈(工程文件后续会上传)(+专栏数据结构练习是完整版)
  • 【设计模式】Java 设计模式之装饰者模式(Decorator)
  • 浅谈C/C++的常量const、指针和引用问题
  • 用Stable Diffusion生成同角色不同pose的人脸
  • C#使用SharpZipLib对文件进行压缩和解压
  • NCV8705MTADJTCG稳压器芯片中文资料规格书PDF数据手册引脚图图片价格功能
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Search)
  • venv uvicorn python 虚拟服务器外网无法访问
  • swagger踩坑之请求类不显示具体字段
  • Redis + Caffeine = 王炸!!
  • Spring项目-前端问题:Can‘t find variable:$
  • 通用的springboot web jar包执行脚本,释放端口并执行jar包
  • PHP修改默认上传文件缓存位置
  • PC-DARTS: PARTIAL CHANNEL CONNECTIONS FOR MEMORY-EFFICIENT ARCHITECTURE SEARCH
  • HamonyOS进度条通知
  • 请解释Redis是什么?它有哪些主要应用场景?Redis支持哪些数据类型?并描述每种数据类型的特性和使用场景。
  • 1.实用Qt:解决绘制圆角边框时,圆角锯齿问题