计算机网络———ipv6简解
文章目录
- 1.前言:
- 2. ipv6简单分析:
- 2.1.地址长度对比
- 2.2. ipv6包头分析
- 2.3. ipv6地址的压缩表示:
- 2.3. NDP:
- 2.4. ipv6地址动态分配:
1.前言:

因特网地址分配组织)宣布将其最2011年2月3日,IANA (Internet Assigned Numbers Authority,的468万个IPv4地址平均分配到全球5个RIR (Regionallnternet Registry,区域互联网注册管理机构),此后IANA再没有可分配的IPV4地址
❓可能有小伙子问了为什么新买服务器或者装宽带依旧有ipv4呢?
❗️ 因为只是INNA分完了,但是下层机构或者运营商并没有分完,由于现在机构加以节省,商用或者特殊用途还是能分得到的。
❗️❗️❗️❗️突击检查,ipv4有多少个地址?
IPv4地址总数是2^32,即约42.9亿个。
当然,这并不能解决ipv4不够用的问题,那么为了解决ipv4地址枯竭问题,引入了ipv6

2. ipv6简单分析:
下面简单分析下ipv6的结构。以便于了解ipv6的特点以及优势。
2.1.地址长度对比
| 项目 | 特点 | 最大ip |
|---|---|---|
| ipv4 | 2^32个 | 255.255.255.255(10进制) |
| ipv6 | 2^128个 | f*32(16进制) |
那么可以明显看出ipv6的总容量是ipv6的79,228,162,514,264,337,593,543,950,336(2^96) 倍,几乎不可能分的完。那么最大的长度问题就解决了。
2.2. ipv6包头分析
我们可以通过ipv4对比,可以很清楚的了解为什么改进,改进的目的是什么。


我们可以看出ipv6删除了首部长度,分组相关的内容
| ipv6变化 | 目的 |
|---|---|
| 删除Identification,·Flags,Fragment Offset | 精简包头,网络层不拆包 |
| 删除options,padding | 精简包头,payload length,next header功能取代 |
| 新增Flow Label | 标识数据包类型,中间设备可以高效区分数据流 |
| 变化 Traffic Class | 和Tos功能相似,用于qos。 |
| 变化Hop Limit | 类似ttl,包跳数限制 |
| 变化Hop Limit | 类似ttl,包跳数限制 |
| 变化 Next Header | 类似协议protocal,0为尾包,该字段同时实现了协议控制和部分拓展的功能。 |
ipv6拓展包头的长度不受限制
2.3. ipv6地址的压缩表示:
即便ipv6使用十六进制表示也要八组这么多
IPv6 地址的压缩表示是一种简化和缩写的方式,用于更紧凑地表示较长的 IPv6 地址。IPv6 地址由 128 位构成,通常以 8 个 16 位的块(每个块使用四个十六进制数字表示)表示。IPv6 地址的压缩表示通过省略一些连续的零块,以及使用 :: 符号来表示零块,从而使地址更短。
2001:0db8:0000:0042:0000:8a2e:0370:7334
=>
2001:db8:0:42::8a2e:370:7334
😄 一个地址只能压缩一次,且必须压缩最长的字段。
2.3. NDP:
-
地址解析(Address Resolution): 类似于IPv4中的ARP,IPv6中的NDP用于将目标IPv6地址解析为对应的链路层地址(通常是MAC地址)。
-
邻居发现(Neighbor Discovery): NDP允许节点发现其附近的IPv6邻居。这包括确定邻居是否仍然可达,以及发现新邻居。节点可以通过发送Neighbor Solicitation和Neighbor Advertisement消息进行邻居发现。
-
Router发现: NDP允许IPv6节点在同一链路上发现路由器。通过Router Advertisement和Router Solicitation消息,节点可以了解到可用的IPv6路由器,并配置其IPv6地址。
-
重定向(Redirect): NDP支持重定向消息,允许节点更新其路由表,以便将数据包发送到更合适的下一跳。
-
Prefix Discovery: NDP还用于发现链路上可用的IPv6前缀,以便节点能够自动配置其IPv6地址。
-
NDP通过使用ICMPv6(Internet Control Message Protocol version 6)消息来实现上述功能。它在IPv6协议栈的数据链路层和网络层之间起到桥梁的作用,使IPv6节点能够在链路层和网络层之间进行有效的通信和协同工作。
2.4. ipv6地址动态分配:
- 有状态分配

dhcpv6,故名思意,和dhcp差不多,需要部署dhcpv6服务器,如dns
由dhcp服务器统一下发ip地址好处是便于统一管理。
2. 无状态分配

由路由器周期性通知ipv6前缀,拿到前缀的客户机可以根据本地硬件地址动态生成唯一的ipv6地址
好处是路由器没有过高的功能要求,客户机配置简单方便,坏处是难以获取过多的信息。
相关文章:
计算机网络———ipv6简解
文章目录 1.前言:2. ipv6简单分析:2.1.地址长度对比2.2. ipv6包头分析2.3. ipv6地址的压缩表示:2.3. NDP:2.4. ipv6地址动态分配: 1.前言: 因特网地址分配组织)宣布将其最2011年2月3日,IANA (In…...
SQL之开窗函数
文章目录 主要内容一.介绍1.特点2.作用 二.语法及示例1.语法代码如下(示例): 2.示例代码如下(示例):代码如下(示例):代码如下(示例): 总结 主要内容 SQL的开窗函数是SQL语言中非常强…...
OpenAI与微软合作,构建 ChatGPT 5 模型;10天准确天气预报
🦉 AI新闻 🚀 OpenAI与微软合作,构建 ChatGPT 5 模型,下一代人工智能或拥有超级智能 摘要:OpenAI首席执行官 Sam Altman 在接受采访时表示,OpenAI正在与微软合作构建下一代人工智能模型 ChatGPT 5&#x…...
git简明指南
目录 安装 创建新仓库 检出仓库 工作流 安装 下载 git OSX 版 下载 git Windows 版 下载 git Linux 版 创建新仓库 创建新文件夹,打开,然后执行 git init 以创建新的 git 仓库。 检出仓库 执行如下命令以创建一个本地仓库的克隆版本&…...
软件测试面试-如何定位线上出现bug
其实无论是线上还是在测试出现bug,我们核心的还是要定位出bug出现的原因。 定位出bug的步骤: 1,如果是必现的bug,尽可能的复现出问题,找出引发问题的操作步骤。很多时候,一个bug的产生,很多时…...
5、鸿蒙项目远程调试
一、注册华为账号, 如果是华为手机,并注册了账号可能跳过此步骤,如果使用邮箱注册,此邮箱一定是要正确的邮箱,此处需要使用邮箱获取验证码 注册地址: 1、进入注册页面,输入手机号等信息后点…...
什么是原生IP与广播IP?如何区分?为什么需要用原生IP?
在代理IP中,我们常常听到原生IP与广播IP,二者有何区别?如何区分呢?下面为大家详细讲解。 一、什么是原生IP 原生IP地址是互联网服务提供商(ISP)直接分配给用户的真实IP地址,无需代理或转发。此…...
下载文件时的文件名中文乱码问题,文件名丢失
涉及到的java代码如下,下载的时候文件名为中文 package com.example.springboot.service.impl;import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringU…...
ios swift sqlite3 简单使用
一.创建Person类 import UIKitclass Person: NSObject {var name:String? nilvar sex:String? nilvar age:String? niloverride func setValue(_ value: Any?, forUndefinedKey key: String) {}} 二.在使用的地方导入sqlite.3头文件,例如方法都在viewcontr…...
长古诗(一)
春江花月夜 【作者】张若虚 【朝代】 春江潮水连海平,海上明月共潮生。 滟滟随波千万里,何处春江无月明! 江流宛转绕芳甸,月照花林皆似霰; 空里流霜不觉飞,汀上白沙看不见。 江天一色无纤尘&#x…...
VC++ 预编译头学习
头文件的作用,就是把自己的 所有内容直接“粘贴”到相应的 #include 语句处。 编译器在编译你的程序的时候,所做 的第一件事,也就是展开所有的 #include 语句和 #define 语句。 头文件的出现,给书写程序带来了很大方便。 到了 Windows 时代后,慢慢 就呈现出一些问题。 几…...
JVM内存模型:理解Java程序的内存管理
JVM内存模型:理解Java程序的内存管理 在Java编程中,JVM(Java虚拟机)是程序的运行环境,它负责管理程序的内存。JVM内存模型是Java语言规范中定义的一套规则,用于描述在JVM中程序如何通过内存来交互和操作。…...
golang opt-in transparent telemetry
目录 1. golang opt-in transparent telemetry1.1. Getting started1.2. Learning Go1.3. Troubleshooting 1. golang opt-in transparent telemetry Recent gopls release (v0.14) includes opt-in transparent telemetry. Telemetry uploading is off by default even when…...
数据资产“入表”是不是红利?国企怎么认识?怎么利用?
毫无疑问,数字资产入表是红利。 数据资产入表意味着将数据资源作为企业资产进行确认和计量,解决了数据资源作为非物质资产未被充分认可和有效计量的问题,意味着数据完成了从自然资源到经济资产的跨越。上海数据交易所总经理汤奇峰此前表示&a…...
薪资面谈小技巧
从求职者的角度上来说,要求高工资是很正常的,这本身就无可厚非,毕竟金钱是人们衡量一份工作价值的首要因素。但是,我们经常看到这样一种现象,那就是求职者漫天要价。当很想雇佣这个求职者但是其所提薪资无法满足时&…...
基于Java的鲜花商店的设计与实现,ssm+jsp,MySQL数据库,前台用户+后台管理,完美运行,有一万字论文
目录 演示视频 基本介绍 选题背景 系统结构 论文目录 系统截图 演示视频 基本介绍 基于Java的鲜花商店的设计与实现,ssmjsp,MySQL数据库,前台用户后台管理,完美运行,有一万字论文。 前台功能:注册登…...
vue3 父组件调用子组件的方法
在Vue 3中,要使父组件调用子组件的方法,可以通过以下步骤实现: 在子组件中定义一个方法,可以在methods对象中定义该方法。例如: <script> export default { methods: { myMethod() { // 方法逻辑 } } …...
和鲸科技创始人范向伟受邀出席“凌云出海,来中东吧”2023华为云上海路演活动
11月9日,华为云“凌云出海,来中东吧”系列路演活动第二场在上海正式开启。聚焦“创业全球化”,本次活动由华为云携手阿布扎比投资办公室(ADIO)举办,旨在与渴望出海发展的优秀创业者们共探出海中东新商机。 …...
短路语法 [SUCTF 2019]EasySQL1
打开题目 输入字符的时候啥也不回显。只有输入数字的时候页面有回显 但是当我们输入union,from,sleep,where,order等,页面回显nonono,很明显过滤了这些关键词 最开始我的思路是打算尝试双写绕过 1;ununion…...
鉴源实验室 | DoIP协议网络安全攻击
作者 | 付东杰 上海控安可信软件创新研究院工控网络安全组 来源 | 鉴源实验室 社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区” 01 背 景 随着科技的迅猛发展,汽车行业正经历着前所未有的数字化变革。现代汽车中使用70多个电子控制单元&#x…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10pip3.10) 一:前言二:安装编译依赖二:安装Python3.10三:安装PIP3.10四:安装Paddlepaddle基础框架4.1…...
C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...
土建施工员考试:建筑施工技术重点知识有哪些?
《管理实务》是土建施工员考试中侧重实操应用与管理能力的科目,核心考查施工组织、质量安全、进度成本等现场管理要点。以下是结合考试大纲与高频考点整理的重点内容,附学习方向和应试技巧: 一、施工组织与进度管理 核心目标: 规…...
leetcode73-矩阵置零
leetcode 73 思路 记录 0 元素的位置:遍历整个矩阵,找出所有值为 0 的元素,并将它们的坐标记录在数组zeroPosition中置零操作:遍历记录的所有 0 元素位置,将每个位置对应的行和列的所有元素置为 0 具体步骤 初始化…...
