网络层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 是一款开源的电子书阅读器,专为现代操作系统设计,提供了优雅且实用的阅读体验。它支持多种电子书格式,包括 EPUB、Mobipocket、Kindle、FB2、CBZ 和 PDF,让用户能够以分页或滚动模式阅读。Foliate 允许用户自定义…...
【excel基本操作-sumif绝对引用和相对引用
低量级数据的存储 复杂且无法优化的数据报表 怎么学excel? 一、输入与输出 二、计算与处理 三、可视化 四、连接匹配与自动化 excel操作笔记 打开表格第一步筛选 所以筛选的快捷键:shiftctrll 排序:多列排序 开始-排序与筛选-自定义排序-设置关键字添…...
word及Excel常见功能使用
最近一直在整理需规文档及表格,Word及Excel需要熟练使用。 Word文档 清除复制过来的样式 当复制文字时,一般会带着字体样式,此时可选中该文字 并使用 ctrlshiftN 快捷键进行清除。 批注 插入->批注,选中文本 点击“批注”…...
网页中的某个元素高度突然无法设置
做网页时本来一个div的高度好好的,结果代码打着打着突然发现有个div的高度变的很小,把我很多在这个div里的元素给搞的看不见了。 找了好久的原因最后发现是这个div的结束标签</div>不小心被我删了,之后把这个</div>给补上就好了。...
springboot给不同用户动态定制请求结果思路
我有个朋友在公司遇到一个需求:某个接口,面向不同的用户返回的字段数不一样字段数。 我举例两种场景并且都给一个方案他,同时也供大家参考。 场景1: 接口返回的是List 或者直接就是entity,且entity对应某张数据表&…...
【网络】HTTP(超文本传输协议)详解
目录 引言一、HTTP的基本概念1.1 什么是HTTP?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的集合框架中,poll()方法和remove()方法是两个常用于从队列(Queue)头部获取并移除元素的方法。尽管它们的作用相似,但在行为细节和适用场景上存在显著的区别。以下是对这两个方法区别的详细阐述,旨在帮助开发者更…...
小程序跳转另一个小程序
1.配置要跳转的appid和小程序页面路径 wx.navigateToMiniProgram({appId: 目标小程序appid,path: 目标小程序页面路径,//develop开发版;trial体验版;release正式版envVersion: release, success(res) {// 打开成功console.log("跳转小程序成功&…...
介绍一下数组(c基础)(详细版)
c初期,记住规则,用规则。 我只是介绍规则。(有smart版) 数组 arr 看成一个集合但元素有次序了。 如何计算数组的大小-CSDN博客 简单讲解一下strlen与sizeof(c基础)-CSDN博客 arr[n] { }; [ ] 下标引…...
工业主板在汽车制造中的应用
工业主板在汽车制造中的应用非常广泛,主要得益于其高稳定性、高集成性、以及强大的计算和处理能力。以下是对工业主板在汽车制造中应用的详细分析: 一、应用场景 自动驾驶车辆: 工业主板作为自动驾驶车辆的核心计算平台,负责处…...
博弈论(所有情况最优解)——课堂笔记
博弈论(所有情况最优解)——课堂笔记|【博弈论】分割数游戏-CSDN博客https://blog.csdn.net/back_room/article/details/143464453?spm=1001.2014.3001.5501【博弈论】拍卖土地-CSDN博客...
深入提升Python编程能力的全方位指南
Python作为一种强大且灵活的编程语言,广泛应用于数据科学、机器学习、网络开发、自动化等领域。提升Python编程技术需要结合多方面的知识和技能。本文将详细介绍通过掌握核心技术、项目实践和代码示例来系统提升Python编程技能的方法。 一、掌握基础和高级Python特…...
如何使用 Python 语言的正则表达式进行网页数据的爬取?
以下是使用 Python 语言的正则表达式进行网页数据爬取的一般步骤: 一、安装必要的库: requests:用于发送 HTTP 请求获取网页内容。可以使用 pip install requests 命令进行安装。re:Python 的内置正则表达式库,用于对…...
剑指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 开发中读取纹理数据有以下几种方法: glReadPixelsImageReaderPBO(Pixel BufferObject) HardwareBuffer 1. glReadPixels glReadPixels 是 OpenGL ES 的 API,通常用于从帧缓冲区中读取像素数据,OpenGL ES…...
浏览器端直播推流实现——系统篇
浏览器端用vue3.5.12写,服务器端用php8.2+swoole5.1.4+thinkphp8写,流媒体服务器使用nginx-rtmp模块,拉流App端用uniapp(其他端各自实现吧,这里以App端为例) 操作系统基于opencloudos8,还用到了ffmpeg,该安装就安装,这里不啰嗦安装步骤 以下是vue的代码,比较简陋,各…...
HDFS和HBase跨集群数据迁移 源码
HDFS集群间数据迁移(hadoop distcp) 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集群间数据(hbase ExportSnap…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
