网络层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…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
