IP v 6

相关概念

地址长度128bit,采用冒号划分为8段,并用16进制标识,其容量大到能为地球上的每一粒沙子分配一个地址,通常情况下其网络前缀为64位,接口标识为64位,依照写法可分为首选格式,即完整书写;压缩格式,即按照以下缩写格式进行书写;内嵌IPv4格式,即在前95bit为IPv6地址,后32bit填充点分10进制的IPv4地址

缩写规则(压缩格式)

1.前导0可以省略,全为0必须保留一个0

2.连续的0可以省略,用::标识但只能使用一次

接口标识

IPv6接口标识除了手动配置外,还有系统自动生成与EUI-64生成

IEEE EUI-64即使用接口的Mac地址转化为IPv6地址,其通过将Mac地址第7位进行取反操作,并在中间插入FFFE字段生成IPv6的64位接口地址

例如:Mac:08-70-5A-90-1A-01

第7位取反:0A-70-5A-90-1A-01(8(1000)+2(10)=10(A))

中间加入FFFE:0A70-5AFF-FE90-1A01

地址类型

在 IPv6 协议中,地址类型主要分为单播、组播和任播三类,其中,单播与组播的核心功能逻辑与 IPv4 保持一致,仅在地址编码格式上进行了调整,延续了原有网络通信中 “一对一”(单播)和 “一对多”(组播)的传输特性

而任播作为 IPv6 中更具特色的地址类型,其核心作用是标识一组具备相同服务能力的网络接口,当数据包的目标地址为任播地址时,网络会通过路由机制自动将流量转发至这组接口中 “距离最近”的一个节点,这种特性不仅突破了传统 IP 地址 “一个地址对应一个固定接口” 的认知局限,还能为服务器集群的冗余备份、负载均衡提供更高效的解决方案 —— 例如可通过任播地址实现服务的就近接入,同时在某一节点故障时,流量能自动切换至其他正常节点,提升服务可用性

全球单播地址GUA

即IPv4的公网地址,以001开头

唯一本地单播地址ULA

相当于IPv4的私网地址,以FC00::/7为网络前缀,但目前仅使用FD00::/8,FC00::/8被保留

链路本地地址LLA

以FF80::/10为网络前缀,被用于一条单一的链路间进行通信,被用于邻居发现,无状态自动配置,也是因为有此类地址,IPv6才能实现即插即用

IPv6组播地址

FF::/8为前缀,Flag字段用于标识组播为永久组播地址(IANA分配)还是临时组播地址(用户自定义使用)0000为永久组播地址,0001为临时组播地址

Scope字段用于描述传播范围,1为节点本地范围,2为链路本地范围,5为站点本地范围,8为组织本地范围,E为全球范围,0,和F为预留项

Group ID组播组ID

IPv6组播Mac

以33:33为前缀直接照抄组播地址后32bit

被请求节点组播地址

被用于IPv6地址冲突检测以及邻居发现,当一个节点拥有单播或者任播地址即会生成对应的被请求节点地址,以FF02::1:FF00:0:0/104为固定前缀,后面24bit照抄IPv6地址的后24bit

案例

类似IPv4的ARP解析行为,就是PC1和PC2进行通信前需要获取对端的Mac地址,进而进行数据转发,这时候PC1请求对方Mac地址目的Mac填的就是对方的被请求节点地址

横向对比

报文结构

IPv6采用固定报头长度40Bytes,取消三层校验功能和分片字段,增加流标签,对于流量管理越加灵活便捷

version(4)        Traffic Class(8)        Flow label(20)

Payload length(16)        Next Header(8)        Hop limit(8)

Source address(128)

Destination address(128)

version:版本,6

Traffic Class:流类型,与IPv4中的TOS类似,用于表示数据报文的优先级与类型

Flow label:流标签,不同于IPv4中的依照五元组进行流量定义,其一般可以与源目地址结合确定流量

Payload length:数据长度

Next Header:标记下一个IPv6拓展头部(如果存在)

Hop limit :跳数限制,相当于TTL字段

拓展报头

逐跳选项报头:该报头会被每一跳处理,内可包含多种选项,比如路由器告警选项

目的选项报头:目的地址处理该报头,类似场景家乡漫游,该报文最多出现两次,1次在路由报文之前,1次在上层协议数据之前,如果没有路由报头只能出现一次

路由报头:表明该报文一定要经过的节点

分段报头:同IPv4的分片操作

认证包头:AH,IPSEC使用

封装安全净载报头:ESP,IPSEC使用

总结

IPv6地址力大砖飞,地址128位,量大管饱,从根源上解决了IPv4地址耗尽的问题,支持即插即用,方便便捷,不再依赖于ARP,对网络变化感知更加敏感,提高效率,取消广播地址,节省IP地址一定限度限制流量的传播范围,报文定长,采用拓展报文,提供了更高效的传输模式

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

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

相关文章

Elasticsearch冷热架构:性能与成本完美平衡

Elasticsearch 的冷热架构(Hot-Warm-Cold Architecture)是一种针对时序数据(如日志、指标等)的成本与性能优化方案,通过将数据在不同生命周期的存储需求分层处理,兼顾性能、容量和成本。其核心思想是&#…

【MFC自动生成的文件详解:YoloClassMFC.cpp 的逐行解释、作用及是否能删除】

大家好,欢迎来到我的MFC编程入门系列。上次我们聊了MFC项目创建后的核心文件区别(项目名.cpp、.h、Dlg.cpp 和 Dlg.h),今天针对读者的反馈,专门来拆解其中最重要的一个文件:项目名.cpp(这里以用…

玄机靶场 | 冰蝎3.0-jsp流量分析

文章目录一、冰蝎3.0流量特征二、索引三、题目列表步骤#1黑客IP是什么?步骤#2黑客上传的Webshell名是什么?步骤#3黑客上传WebShell的时间是多少?(格式如:flag{YYYY-MM-DD HH:MM:SS})步骤#4木马的解密key是什…

基于物理信息神经网络(Physics-Informed Neural Network, PINN)的三维热传导方程求解器MATLAB

代码实现了一个基于物理信息神经网络(Physics-Informed Neural Network, PINN)的三维热传导方程求解器。以下是详细分析:🧠 一、主要功能 main.m: 构建一个全连接神经网络用于近似三维热传导方程的解 ( u(x, y, z, t) …

按钮计数器:jQuery / AngularJS / Vue / React / dagger.js 实现对比与技术解读

代码来源:https://codepen.io/dagger8224/pen/myeKgVQ 任务:实现“按钮点击 1”计数器,对比不同框架的写法与特性,并给出选型建议。 目录 代码解读(逐框架) jQuery(命令式 DOM)Angu…

useEffect中直接使用 await报错

在 useEffect 中直接使用 await 会报错,因为 useEffect 的回调函数不能是 async 函数。有几种正确的方式来处理异步操作: 方法一:在 useEffect 内部创建 async 函数并立即调用 这是最常用的方式。 import React, { useEffect } from react;co…

卷积神经网络为什么要填充(Padding)

填充(Padding)是卷积神经网络中一个至关重要且巧妙的设计。它的核心目的可以概括为:为了解决卷积操作导致的特征图尺寸缩小和边缘信息丢失问题。

C++ 并发编程:全面解析主流锁管理类

在 C 的并发世界里,管理共享资源就像是在一个繁忙的十字路口指挥交通。如果指挥不当,就会发生混乱甚至致命的“死锁”。C 标准库提供的各种锁管理工具,就是我们手中的“交通信号灯”,它们各自拥有独特的职能,帮助我们编…

Spring boot 启用第二数据源

1. 数据源配置代码:import com.alibaba.druid.pool.DruidDataSource; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilde…

Wi-Fi 时延与掉包的关键因素全解析

在无线网络性能优化中,时延(Latency)与掉包(Packet Loss)是最核心的两个指标。本文将从 物理层、MAC层、系统栈、业务形态与环境 等多个维度,对 Wi-Fi 时延与掉包的关键因素进行全面梳理,并结合…

《Python 文本分析实战:从单词频率统计到高效可视化的全流程指南》

《Python 文本分析实战:从单词频率统计到高效可视化的全流程指南》 一、引言:小任务背后的大世界 在我多年的开发与教学中,文本处理始终是一个绕不开的主题。无论是日志分析、自然语言处理,还是搜索引擎、推荐系统,几乎所有数据驱动的系统都离不开对文本的理解。而“统计…

12KM无人机高清图传通信模组——打造未来空中通信新高度

在无人机技术飞速发展的今天,高清图传和稳定的通信模块无疑是提高无人机作业效率和可靠性的关键因素。作为新一代无人机核心技术之一,深圳云望物联12KM无人机高清图传通信模组凭借其卓越的性能,正逐步成为行业内的宠儿,成为无人机…

【LeetCode 热题 100】62. 不同路径——(解法二)递推

Problem: 62. 不同路径 文章目录整体思路完整代码时空复杂度时间复杂度:O(m * n)空间复杂度:O(m * n)整体思路 这段代码同样旨在解决 “不同路径” 问题,但它采用的是一种 自底向上(Bottom-Up)的动态规划 方法&#x…

C++ 高阶错误解析:MSVC 与 Qt 全景指南

在 C 开发中,尤其是在 Windows 平台使用 MSVC 或 Qt 框架 时,程序员经常会遇到编译错误、链接错误和运行时异常。本文将系统梳理这些问题,按 语法错误、类型错误、链接错误、Qt 运行错误 分类,并给出 触发示例、原因分析及修复策略…

基于Net海洋生态环境保护系统的设计与实现(代码+数据库+LW)

摘要 随着全球气候变化和人类活动的加剧,海洋生态系统面临着前所未有的威胁。污染、过度捕捞、栖息地破坏等问题严重影响了海洋生物多样性和生态平衡。为了应对海洋生态系统面临的严重威胁,如污染、过度捕捞和栖息地破坏等问题,利用C#语言和…

DoIP路由激活报文

目录 DoIP路由激活报文详解 基本概念 报文结构 响应报文 通信流程 注意事项 **DoIP (Diagnostics over Internet Protocol) 报文详解** **1. DoIP 报文结构** **1.1 通用报文格式** **2. 常见 DoIP 报文类型** **3. 典型 DoIP 报文示例** **3.1 车辆识别请求(广播)** **3.2 车…

学习Python中Selenium模块的基本用法(8:元素操作-2)

定位网页元素后,调用is_displayed函数可以判断元素的显示状态,如百度网站中有默认隐藏的元素,此时即可使用is_displayed函数判断该元素的显示状态,如下面代码所示:driver webdriver.Chrome() driver.get("https:…

双指针:从「LC11 盛最多水的容器」到「LC42 接雨水」

LC11 盛最多水的容器 选择两条线,它们与x轴构成的容器可以盛的水量取决于两条线中较短的那条以及两条线之间的距离。 朴素的思想是使用i和j遍历height中的所有线,但是这样的时间复杂度是O(n2)O(n^2)O(n2)。 我们让i从0开始,j从n-1开始&…

WINTRUST!_GetMessage函数分析之CRYPT32!CryptSIPGetSignedDataMsg函数的作用是得到nt5inf.cat的信息

UEDIT打开nt5inf.cat。第一部分:BOOL _GetMessage(CRYPT_PROVIDER_DATA *pProvData) {DWORD dwMsgEncoding;SIP_SUBJECTINFO *pSubjInfo;SIP_DISPATCH_INFO *pSip;DWORD cbEncodedMsg;BYTE *pbEncodedMsg;DWORD …

编译esp32报错解决办法

报错信息:CMake Error at build/CMakeFiles/git-data/grabRef.cmake:48 (file):file failed to open for reading (No such file or directory):这个错误是由于 Git 的安全检查导致的。从错误信息可以看出,Git 检测到了"可疑的所有权"&#xf…