计算机网络———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…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...

Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

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

springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...

wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...