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

网络层5——IPV6

目录

一、IPv6 vs IPv4

1、对IPv6主要变化

2、IPv4 vs IPv6

二、IPv6基本首部

1、版本——4位

2、通信量类——8位

3、流标号——20位

4、有效载荷长度——16位

5、下一个首部——8位

6、跳数限制——8位

7、源 、 目的地址——128位

8、扩展首部

三、IPv6地址

1、目的地址

2、冒号十六进制记法

四、从IPv4到IPv6过渡

1、双协议栈

2、隧道技术

3、ICMPv6


IPv4是上世纪70年代末设计的
32位,仅有2^32个,最多分配42亿个IP地址
但是,如今全世界加起来的网络设备早已经不止42亿
因此,32位不够
不够怎么办,那就扩
于是,IPv6应运而生

一、IPv6 vs IPv4

1、对IPv6主要变化

1、更大的地址空间128
2、仍支持无连接传送
3、数据单元叫做分组,不叫数据报
4、扩展地址层次结构
5、灵活首部格式(IPv4首部 和 IPv6首部格式不兼容
6、IPv6允许有选项的控制信息,在有效载荷中,但是首部固定,40字节
7、即插即用
8、支持资源预分配
9、首部改为8字节对齐,IPv4是4字节对齐

2、IPv4 vs IPv6

基本将IPv4的所有部分全部取消
只将TTL(生存时间字段)改为跳数限制字段

IPv6数据报由两大部分组成:基本首部(固定40字节)+  有效载荷(净负荷)
有效载荷允许由0 / 多个扩展首部,再后面才是数据部分
所有的扩展首部都不属于基本首部

IPv4 和 IPv6对比

二、IPv6基本首部

1、版本——4位

指明协议版本,IPv6是6

2、通信量类——8位

区分IPv6数据分组的优先级类别和优先级
类似于IPv4的服务字段

3、流标号——20位

支持资源预分配
路由器把数据分组和一个给定的资源联系

流:在网络中,从特定源点到特定终点的一系列数据分组
流所在路径的多个路由器保证指明服务质量
所有属于一个流的数据分组拥有一样的流标号

4、有效载荷长度——16位

指明除首部长度意外的数据长度
最大为2^16 = 64KB,65535字节

5、下一个首部——8位

和IPv4的协议相似
指明IP数据分组应当交给上层那个协议

6、跳数限制——8位

和IPv4相似,TTL时间
作用是:防止数据分组在网络中无限制存在,占用资源
在数据发送前,设置该值,最大为255
每经过一个路由器,该值-1

7、源 、 目的地址——128位

数据报发送主机IP地址 和 目的主机地址

8、扩展首部

逐跳选项、路由选择、分片、鉴别、封装安全有效载荷、目的站选项

每一个扩展首部由若干字段组成,长度各不相同
但所有扩展首部第一个字段都是8字节的“下一个首部”字段
该字段指明:紧跟着的后一个扩展首部是什么

三、IPv6地址

1、目的地址

目的地址可以分为三个类型:

单播:点对点通信
多播:一对多通信(广播是其中一个特例)
任播:一对多通信,但是数据只给其中一个主机

IPv6把实现IPv6协议的主机 / 路由器成为节点
节点的每一个接口分配一个IPv6地址
因此,一个节点可能会有多个单播地址
这任意一个单播地址都可以是该节点的目的地址

2、冒号十六进制记法

128位,如果使用点分十进制记录,如下:

很不方便,因此,改用冒号十六进制记法
每16位的值用十六进制表示(1111 1111 1111  1111 -> FFFF)

零压缩:一连串连续的0可以使用冒号省略
为避免混淆,任何一个地址只能使用一次零压缩

IPv6取消了地址掩码,但是依旧有斜线/
例如:2001:0DB8:0:CD30::/60 表示前60位为网络号

几个常用和特殊地址:
为指明地址:全0 ,只能用作某主机源地址(还没有分配IPv6地址时方可),不能作为目的地址
环回地址: ::1,用于主机程序测试

IPv6没有广播地址

四、从IPv4到IPv6过渡

过度不是一蹴而就,需要IPv6能够兼容IPv4

1、双协议栈

主机配备双协议:IPv4 / IPv6
这种主机和IPv4通信就使用IPv4的地址,和IPv6通信就使用IPv6的地址
那么如何知道目的主机地址是什么类型?
使用域名系统DNS查询
目的主机向源主机返回DNS报文,该报文带有目的主机的地址类别信息
但是安装双协议栈代价太大

2、隧道技术

IPv6进入IPv4网络时,将IPv6数据报封装为IPv4数据报
把整个IPv6数据报作为IPv4的数据部分,此时IPv4首部协议部分值为41
41表示数据部分为IPv6数据报
这样IPv6在IPv4的网络中传输就好像IPv4数据报一样,没有任何变化
当IPv4数据报到IPv6网络事,就将数据部分交给IPv6网络即可

总之,就是封装

3、ICMPv6

IPv6也不提供可靠传输
可靠传输由ICMP协议保证

IPv4中的ARP地址解析协议 和 IGMP 网络组管理协议 被整合到IPv6 的ICMPv6中
IPv6使用面向报文协议,通过报文报告差错
 

相关文章:

网络层5——IPV6

目录 一、IPv6 vs IPv4 1、对IPv6主要变化 2、IPv4 vs IPv6 二、IPv6基本首部 1、版本——4位 2、通信量类——8位 3、流标号——20位 4、有效载荷长度——16位 5、下一个首部——8位 6、跳数限制——8位 7、源 、 目的地址——128位 8、扩展首部 三、IPv6地址 1…...

【wpf】ResourceDictionary 字典资源的用法

如果你的字典资源是写在启动项目的App.xaml里 <Application.Resources><ResourceDictionary><ResourceDictionary.MergedDictionaries><ResourceDictionary Source"pack://application:,,,/YourNonStartupProject;component/Resources/SharedResour…...

Foliate:沉浸式阅读!!!

项目简介 Foliate 是一款开源的电子书阅读器&#xff0c;专为现代操作系统设计&#xff0c;提供了优雅且实用的阅读体验。它支持多种电子书格式&#xff0c;包括 EPUB、Mobipocket、Kindle、FB2、CBZ 和 PDF&#xff0c;让用户能够以分页或滚动模式阅读。Foliate 允许用户自定义…...

【excel基本操作-sumif绝对引用和相对引用

低量级数据的存储 复杂且无法优化的数据报表 怎么学excel? 一、输入与输出 二、计算与处理 三、可视化 四、连接匹配与自动化 excel操作笔记 打开表格第一步筛选 所以筛选的快捷键&#xff1a;shiftctrll 排序&#xff1a;多列排序 开始-排序与筛选-自定义排序-设置关键字添…...

word及Excel常见功能使用

最近一直在整理需规文档及表格&#xff0c;Word及Excel需要熟练使用。 Word文档 清除复制过来的样式 当复制文字时&#xff0c;一般会带着字体样式&#xff0c;此时可选中该文字 并使用 ctrlshiftN 快捷键进行清除。 批注 插入->批注&#xff0c;选中文本 点击“批注”…...

网页中的某个元素高度突然无法设置

做网页时本来一个div的高度好好的&#xff0c;结果代码打着打着突然发现有个div的高度变的很小&#xff0c;把我很多在这个div里的元素给搞的看不见了。 找了好久的原因最后发现是这个div的结束标签</div>不小心被我删了,之后把这个</div>给补上就好了。...

springboot给不同用户动态定制请求结果思路

我有个朋友在公司遇到一个需求&#xff1a;某个接口&#xff0c;面向不同的用户返回的字段数不一样字段数。 我举例两种场景并且都给一个方案他&#xff0c;同时也供大家参考。 场景1&#xff1a; 接口返回的是List 或者直接就是entity&#xff0c;且entity对应某张数据表&…...

【网络】HTTP(超文本传输协议)详解

目录 引言一、HTTP的基本概念1.1 什么是HTTP&#xff1f;1.2 HTTP的工作流程1.3 HTTP工作流程图 二、HTTP请求与响应2.1 HTTP请求格式2.2 HTTP响应格式 三、常见的HTTP状态码3.1 其他状态码示例 四、HTTP版本的演变4.1 HTTP/1.04.2 HTTP/1.14.3 HTTP/24.4 HTTP/3 五、HTTP的安全…...

poll()方法和remove()方法的区别是什么?

在Java的集合框架中&#xff0c;poll()方法和remove()方法是两个常用于从队列&#xff08;Queue&#xff09;头部获取并移除元素的方法。尽管它们的作用相似&#xff0c;但在行为细节和适用场景上存在显著的区别。以下是对这两个方法区别的详细阐述&#xff0c;旨在帮助开发者更…...

小程序跳转另一个小程序

1.配置要跳转的appid和小程序页面路径 wx.navigateToMiniProgram({appId: 目标小程序appid,path: 目标小程序页面路径,//develop开发版&#xff1b;trial体验版&#xff1b;release正式版envVersion: release, success(res) {// 打开成功console.log("跳转小程序成功&…...

介绍一下数组(c基础)(详细版)

c初期&#xff0c;记住规则&#xff0c;用规则。 我只是介绍规则。&#xff08;有smart版&#xff09; 数组 arr 看成一个集合但元素有次序了。 如何计算数组的大小-CSDN博客 简单讲解一下strlen与sizeof&#xff08;c基础&#xff09;-CSDN博客 arr[n] { }; [ ] 下标引…...

工业主板在汽车制造中的应用

工业主板在汽车制造中的应用非常广泛&#xff0c;主要得益于其高稳定性、高集成性、以及强大的计算和处理能力。以下是对工业主板在汽车制造中应用的详细分析&#xff1a; 一、应用场景 自动驾驶车辆&#xff1a; 工业主板作为自动驾驶车辆的核心计算平台&#xff0c;负责处…...

博弈论(所有情况最优解)——课堂笔记

博弈论(所有情况最优解)——课堂笔记|【博弈论】分割数游戏-CSDN博客https://blog.csdn.net/back_room/article/details/143464453?spm=1001.2014.3001.5501【博弈论】拍卖土地-CSDN博客...

深入提升Python编程能力的全方位指南

Python作为一种强大且灵活的编程语言&#xff0c;广泛应用于数据科学、机器学习、网络开发、自动化等领域。提升Python编程技术需要结合多方面的知识和技能。本文将详细介绍通过掌握核心技术、项目实践和代码示例来系统提升Python编程技能的方法。 一、掌握基础和高级Python特…...

如何使用 Python 语言的正则表达式进行网页数据的爬取?

以下是使用 Python 语言的正则表达式进行网页数据爬取的一般步骤&#xff1a; 一、安装必要的库&#xff1a; requests&#xff1a;用于发送 HTTP 请求获取网页内容。可以使用 pip install requests 命令进行安装。re&#xff1a;Python 的内置正则表达式库&#xff0c;用于对…...

剑指offer第七、八天

1.矩阵中的路径 class Solution {int n, m;int dx[4]{ 1,-1,0,0 };int dy[4]{ 0,0,1,-1 };bool dfs(int i, int j, vector<vector<char> >mat,vector<vector<bool> >vis, int u, const char* str){if (u strlen(str)-1){//刚开始这里我用的是strlen(…...

有哪些常见的方法可以评估中断处理能力?

以下是一些常见的评估中断处理能力的方法: 基准测试(Benchmarking) 定义和原理:基准测试是通过运行一系列标准化的测试程序来衡量系统性能的方法。对于中断处理能力评估,可以使用专门设计的中断基准测试软件。这些软件会模拟各种中断场景,如不同频率、不同优先级的中断请…...

Android GPU纹理数据拷贝

在 Android 开发中读取纹理数据有以下几种方法&#xff1a; glReadPixelsImageReaderPBO&#xff08;Pixel BufferObject&#xff09; HardwareBuffer 1. glReadPixels glReadPixels 是 OpenGL ES 的 API&#xff0c;通常用于从帧缓冲区中读取像素数据&#xff0c;OpenGL ES…...

浏览器端直播推流实现——系统篇

浏览器端用vue3.5.12写,服务器端用php8.2+swoole5.1.4+thinkphp8写,流媒体服务器使用nginx-rtmp模块,拉流App端用uniapp(其他端各自实现吧,这里以App端为例) 操作系统基于opencloudos8,还用到了ffmpeg,该安装就安装,这里不啰嗦安装步骤 以下是vue的代码,比较简陋,各…...

HDFS和HBase跨集群数据迁移 源码

HDFS集群间数据迁移&#xff08;hadoop distcp&#xff09; hadoop distcp \ -pb \ hdfs://XX.14.36.205:8020/user/hive/warehouse/dp_fk_tmp.db/ph_cash_order \ hdfs://XX.18.32.21:8020/user/hive/warehouse/dp_fksx_mart.db/HBase集群间数据&#xff08;hbase ExportSnap…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...

jdbc查询mysql数据库时,出现id顺序错误的情况

我在repository中的查询语句如下所示&#xff0c;即传入一个List<intager>的数据&#xff0c;返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致&#xff0c;会导致返回的id是从小到大排列的&#xff0c;但我不希望这样。 Query("SELECT NEW com…...

Qwen系列之Qwen3解读:最强开源模型的细节拆解

文章目录 1.1分钟快览2.模型架构2.1.Dense模型2.2.MoE模型 3.预训练阶段3.1.数据3.2.训练3.3.评估 4.后训练阶段S1: 长链思维冷启动S2: 推理强化学习S3: 思考模式融合S4: 通用强化学习 5.全家桶中的小模型训练评估评估数据集评估细节评估效果弱智评估和民间Arena 分析展望 如果…...

Android Framework预装traceroute执行文件到system/bin下

文章目录 Android SDK中寻找traceroute代码内置traceroute到SDK中traceroute参数说明-I 参数&#xff08;使用 ICMP Echo 请求&#xff09;-T 参数&#xff08;使用 TCP SYN 包&#xff09; 相关文章 Android SDK中寻找traceroute代码 设备使用的是Android 11&#xff0c;在/s…...