IPV6学习记录

IPV6的意义

从广义上来看IPV6协议包含的内容很多:

  1. IPV6地址的生成与分配

  2. IPV6的报头的功能内容

  3. IPV4网络兼容IPV6的方案

  4. ICMPv6的功能(融合了arp和IGMP功能)

  5. IPV6的路由方式

ipv6的诞生除了由于ipv4的地址枯竭外,很大程度上也是因为ipv4多年的发展产生了很多无法根治的缺陷:

1.路由表冗长 - 冗长的路由表大大增加了数据的延迟和转发速度,对于中间路由的维护复杂度也大大提高

2.广播的滥用 - ipv4的地址复杂导致arp广播高发,影响整个无线网的质量

3.ipv4头部固定 - 随着网络功能的日益增加,ipv4报头原本提供的能力已经不足以支撑复杂多元的业务,很多字段起初的设以也已经改变

IPV6地址

地址类型

本地单播地址 :传统的点对点通信FE80:开头。存在多种配置方式:静态、无状态配置、DHCPv6配置

多播地址 :一点对多点的通信。数据报发送到一组计算机中的每一个。IPv6没有采用广播的术语,而将广播看作多播的一个特例。

任播地址 (anycast address):这是 IPv6 增加的一种类型。任播的目的站是一组计算机,但数据报在交付时只交付离发送方最近(由路由协议度量)的一个计算机。

全球单播地址:为全球唯一地址,不和任何本地单播地址或全球单播地址重复,头部地址为2001。注:用户想要使用需要申请公网ip,电信运营商20一个月。

组播地址: FF02::1表示链路本地范围的所有节点,组播地址FF02::2表示链路本地范围的所有路由器。

环回地址: 同ipv4 127.0.0.1,ipv6为0:0:0:0:0:0:0:1,可缩写为::1/128

未指明地址: 还未分配地址的接口,地址为0.如下:

地址生成

  1. 手工配置 - 在早期的ipv6配置中如果需要使用ipv6服务需要用户手动美之本地地址,dns服务,网关等。

  2. 系统通过软件自动生成 - 这里指自动生成:可以依据串口号、mac地址、本地唯一标识等来计算。

  3. IEEE EUI-64规范自动生成(64 位 EUI 64 地址是由电气和电子工程师协会 (IEEE) 定义的。将 EUI-64 地址指派给网络适配器,或从 IEEE802 地址派生得到该地址。)

在这里介绍EUI-64规范:第七位取反,在前24位和后24位中间插入FFFE

例:

MAC地址(48bit):74-29-AF-9A-05-5B

换算二进制为:01110100 00101001 10101111 10011010 00000101 01011011

换算后:01110110 00101001 10101111 11111111 11111110 10011010 00000101 01011011(第七位取反,由0变1) (中间插入FFFE)

EUI-64生成接口标识为:7629:AFFF:FE9A:055B

地址分配

地址的分配在ipv4网络中主要由dhcp完成,可以协助完成网关、dns、地址的分配。在ipv6网络中dhcpv6也提供了类似的功能,但是ipv6似乎更加推崇无状态配置。这里单独说下无地址状态配置的流程。

  1. 主机根据本地接口ID自动产生网卡的链路本地地址。

  2. 主机对链路本地地址进行DAD检测, 如果该地址不存在冲突则可以启用。

  3. 主机发送RS报文尝试在链路上发现IPv6路由器,该报文的源地址为主机的链路本地地址。

  4. 路由器回复RA报文(携带IPv6前缀信息,路由器在未收到RS时也能够配置主动发出RA报文)。

  5. 主机根据路由器回应的RA报文,获得IPv6地址前缀信息,使用该地址前缀,加上本地产生的接口ID,形成单播IPv6地址。

  6. 主机对生成的IPv6地址进行DAD检测,如果没有检测到冲突,那么该地址才能够启用。

IPV6报头

  1. 版本信息: ipv4标号为4 ipv6编号为6,长度4bit

  2. 区分常量:表示数据优先级以前叫TOS。在IPV4时代支持度就很一般。通过对数据类型进行划分,实现良性竞争,类似的方法还有802.11规范中的EDCA。现在被广泛滥用,不如没有。

  3. ECN:拥塞标识符,当路由器数据吞吐量很大出现数据大量排队,路由器可以设置ECN标志后转发出去,到达目的地后,接收端可以发送一个报文给发送方提示当前发送路径存在拥堵。

  4. 流标号:

  5. 有效载荷长度:报文中有效数据的长度,包含下一头部等信息

  6. 下一首部:和ipv4的协议字段一样: 如果ipv6没有下一首部,那么会表示上一层协议类型(TCP UDP);如果有下一首部,用来表示IPV6选项的内容。IPV6中将IPV4中的拓展功能下放到数据区,这样IPV6的报头就变成固定40字节。

IPV6的可选项

  1. 动作00(转发) 01(丢弃) 10(丢弃并发送icmp给数据源) 11(同10,仅在目的地不是多播时发送icmp消息):用于表示如果选项没有被识别,ipv6节点是转发还是丢弃此报文

  2. chg 可以看作是change,设置为1表示选项内容可以更改,0为不可更改

  3. 类型:数据类型。如超大有效载荷194,路由警告5,快速启动6等

  4. 数据长度就是字面意思,后边数据的长度大小。

对比IPV4

IPv6将IPv4数据报首部中不必要的功能取消,这使得IPv6数据报基本首部中的字段数量减少到只有8个。但由于IPv6地址的长度扩展到了128比特,因此使得IPv6数据报基本首部的长度反而增大到了40字节,比IPv4数据报首部固定部分的长度(20字节)增大了20字节。

  1. IPv6数据报的首部长度是固定的40字节,取消了IPV4报头中首部长度字段。

  2. 取消了区分服务(服务类型)字段,因为IPv6数据报首部中的通信量类和流标号字段实现了区分服务字段的功能。

  3. IPv6数据报的首部长度是固定的40字节,只有其后面的有效载荷长度是可变的。取消总长度字段,改用有效载荷长度字段。

  4. 取消标识、标志和片偏移字段,因为这些功能已包含在IPv6数据报的分片扩展首部中。

  5. 把生存时间TTL字段改称为跳数限制字段,这样名称与作用更加一致。

  6. 取消协议字段,改用下一个首部字段。

  7. 取消首部检验和字段,这样可以加快路由器处理IPv6数据报的速度。

  8. 取消选项字段,改用扩展首部来实现选项功能。

IPV6的路由

IPV6的路由方式大体和IPV4相同,但是额外新增了ICMPV6实现的邻居发现协议来取代arp功能。与ARP使用的广播不同,IPV6规范中采用组播代替广播,在icmpV6的邻居发现协议中也采用组播方式获取局域网内各个节点的信息。

ICMPV6

ICMPV6对比ICMPV4和IGMPV4最主要的是新增的NS/NA、RS/RA这两个局域网内部的信息交换配置。

RA: router adviste 路由器定期发送的报文或响应一个RS报文。目的地址为组播地址ff02::2.示例如下

RS: router solicited 一般为搜索局域网内的路由器,等待路由器回复RA,报文示例:

NS: neighbor solicited 报文发送者想设法获取IPV6地址对应mac地址。当NS目标地址为单播时,需要包含源链路地址(mac)选项,让NA知晓请求来源;如果是重复地址检测,不需要包含此选项。

NA: neighbor adviste 此报文类似arp中的reply一样用于回复ns的探测请求或是当一个节点的IPV6地址变化时异步发送,此外还可以用于邻居不可达检测。

标签: Router - 发送者为路由器;solicited - 此报文为响应先前的请求 Oerride - 此报文信息覆盖之前提供的信息

IPV4兼容IPV6

双协议栈模式:目前用户设备中,都采用双协议栈形式兼容IPV4和IPV6。路由器和交换机也将IPV6作为基本的能力。

隧道模式:对于IPV6报文需要穿越某些独立网络且这部分网络中不支持IPV6协议栈,可以将IPV6报文封装为IPV4报文穿越此独立网络后解封发送出去。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/610744.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字化工厂产品推荐 带OPC UA的分布式IO模块

背景 近年来,为了提升在全球范围内的竞争力,制造企业希望自己工厂的机器之间协同性更强,自动化设备采集到的数据能够发挥更大的价值,越来越多的传统型工业制造企业开始加入数字化工厂建设的行列,实现智能制造。 数字化…

探索Shadowsocks-Android:保护你的网络隐私

探索Shadowsocks-Android:保护你的网络隐私 I. 引言 在数字时代,网络隐私和安全变得愈发重要。我们越来越依赖互联网,但同时也面临着各种网络限制和监控。在这个背景下,Shadowsocks-Android应用程序应运而生,为用户提…

“高端”的位运算

王有志,一个分享硬核Java技术的互金摸鱼侠加入Java人的提桶跑路群:共同富裕的Java人 原计划迭代作为预备知识的收尾,不过在解2的幂和4的幂时,想到关于数字2的问题可以通过位运算去解决,因此补充了关于位运算的内容。 …

3D软件坐标系速查【左手/右手】

本文介绍不同3D软件的世界坐标系之间的差异及其工作原理。 NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 基本上,游戏引擎和3…

Vue3-watch的用法

watch简介 作用:监视数据的变化 (和 Vue2 中的 watch 作用一致) 特点: Vue3 中的 watch 只能监视以下四种数据 1.ref 定义的数据(又可以分 基本 和 对象 ) 2.reactive 定义的数据 3.函数返回一个值。(getter 函数) 4.一个包含上述内容的数组 我们在 Vue3 中使用 watch …

为什么大家都在学鸿蒙开发HarmonyOS?

随着HarmonyOS讨论的话题是越来越火热了,大家学习过程中难免也会想这么一个问题,学习HarmonyOS有哪些发展空间?为什么大家都在学鸿蒙开发HarmonyOS? 学习鸿蒙开发OpenHarmony可以满足市场需求,提升技术能力,并参与到…

研发型企业怎样选择安全便捷的数据摆渡解决方案?

研发型企业在市场经济发展中发挥着至关重要的作用,研发型企业是指以科技创新为核心,以研发新产品、新技术、新工艺为主要业务的企业。这类企业注重技术创新和研发,持续不断地进行技术创新和产品升级,为经济发展注入新鲜的活力。 研…

世邦通信 SPON IP网络对讲广播系统exportrecord.php 任意文件读取漏洞

产品介绍 世邦通信SPON IP网络对讲广播系统采用领先的IPAudio™技术,将音频信号以数据包形式在局域网和广域网上进行传送,是一套纯数字传输系统。 漏洞描述 spon IP网络对讲广播系统exportrecord.php存在任意文件读取漏洞,攻击者可通过该漏洞在服务器端读取任意敏…

Phoenix基本使用

1、Phoenix简介 1.1 Phoenix定义 Phoenix是HBase的开源SQL皮肤。可以使用标准JDBC API代替HBase客户端API来创建表,插入数据和查询HBase数据。 1.2 Phoenix特点 容易集成:如Spark,Hive,Pig,Flume和Map Reduce。性能…

元宇宙电商带你走进数字商城

在当今这个数字化、互联网高速发展的时代,传统的购物方式已逐渐被新兴的电商模式所替代。而在这股变革的浪潮中,一个全新的概念——元宇宙电商,正逐步走入我们的视野,元宇宙概念的兴起成为了热门话题。元宇宙是一个虚拟的世界&…

遥感影像大气校正一:6S模型使用

6S介绍 1986年,法国里尔科技大学大气光学实验室Tanr等人为了简化大气辐射传输方程,开发了太阳光谱波段卫星信号模拟程序5S(SIMULATION OF THE SATELLITE SIGNAL IN THE SOLAR SPECTRUM),用来模拟地气系统中太阳…

spring cloud之集成sentinel

写在前面 源码 。 本文一起看下spring cloud的sentinel组件的使用。 1:准备 1.1:理论 对于一个系统来说,最重要的就是高可用,那么如何实现高可用呢?你可能会说,集群部署不就可以了,但事实并…

论文封面表格制作

原文参考:【【论文排版】论文封面完美对齐 强迫症重度患者的经验分享】https://www.bilibili.com/video/BV18f4y1p7hc?vd_source046491acdcff4b39fed20406b36a93e2 视频里up主介绍很详细。我自己也记录一下。 介绍一下如何完成论文封面信息的填写。 创建一个3列…

[足式机器人]Part2 Dr. CAN学习笔记 - Ch02动态系统建模与分析

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记 - Ch02动态系统建模与分析 1. 课程介绍2. 电路系统建模、基尔霍夫定律3. 流体系统建模4. 拉普拉斯变换(Laplace)传递函数、微分方程4.1 Laplace Transform 拉式变换4.2 收…

Exception sending a multicast message:Network is unreachable故障

出现这个故障就是没有连接到网络,如果虚拟机没有连接到本机,那么就会出现这个情况,当虚拟机连接到本机就会自动消失,同时如果是用电脑直接安装Ubuntu运行也会出现这个情况,应该是要连接到一个路由器里面这个情况才会消…

Eigen 中的传播计算

Eigen: Reductions, visitors and broadcasting

太实用了!关于ControlNet,这篇你一定要看

一篇文章教会你,从入门到使用。 这里是行者AI,我们专注于人工智能在游戏领域的研究和应用,凭借自研算法,推出游戏AI、智能内容审核、数据平台等产品服务。 controlNet控制生成 anypaint 看到这篇文章的你,一定也是AI绘…

SpringBoot整合人大金仓数据库KingBase

1 去KingBase官网下载驱动jar包 2 将解压得到的所有jar包放置在libs目录下&#xff08;没有就新建一个目录&#xff09; 3 在pom文件添加相关依赖 <!--添加KingBase所需要的依赖--> <dependency><groupId>com.kingbase</groupId><artifactId>kin…

DNS解析原理和k8s DNS 实践

1. 问题背景 1.1 域名解析异常 近期开发的一个功能&#xff0c;需要在k8s集群容器环境中调用公司内部api&#xff0c;api提供了内网域名&#xff0c;解析内网域名异常导致请求超时&#xff0c;因此梳理了下DNS的知识点。 可以先看到下面&#x1f447;这段配置&#xff0c;修…

向量数据库:Milvus

特性 Milvus由Go(63.4%),Python(17.0%),C(16.6%),Shell(1.3%)等语言开发开发&#xff0c;支持python&#xff0c;go&#xff0c;java接口(C,Rust,c#等语言还在开发中)&#xff0c;支持单机、集群部署&#xff0c;支持CPU、GPU运算。Milvus 中的所有搜索和查询操作都在内存中执行…