爷爷问:IPv6为什么还没有完全替换掉IPv4 ?区别是什么?

2024-01-27 01:04

本文主要是介绍爷爷问:IPv6为什么还没有完全替换掉IPv4 ?区别是什么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先IPV6之所以提出,很大一部分原因是IPV4的地址不够用了,再出现新设备就没得地址分配,所以才会提出新的IP版本以满足分配需求。在对IPV6进行一个基本了解后来看看两者的区别。

IPV6基本了解

1.层次化的地址结构

地址长度为128bit,这就意味着它极大的地址容量,不用日后基本上就不用担心地址稀缺的问题。由于其强大的地址空间,IPV6就可以在不同的使用场景划分各不同的地址段,同时对于地址段的延续性要求较高(对比IPV4来看,就是说在IPV4初期发展的时候,没有进行很好的规划分配,就造成了很多地址分配不连续,不好进行链路聚合,IPV6就可以有意识的避免这个问题),这样也不会造成地址的浪费。IPV6地址是用冒号分割为8段每段16字节,每一段都是用十六进制表示,同时它也有自己的子网掩码。

由于IPV6地址长度较长,其中可能会出现多个连续0的情况,针对这个,咱有一套缩写规范.

2.IPV6地址的分类

按照前缀分,可分为单播、组播以及任播三类地址(没有了IPV4中的广播地址)

(1)单播地址:和IPV4相同的是,目的地址是单播地址的报文会被发送被标识的接口中;不同的是,IPV4的一个接口一般只分配一个IP地址,而IPV6一个接口有多个IPV6地址。这些地址包括全球单播地址、唯一本地地址、链路本地地址。

(2)组播地址:标识一组接口,把数据包发送给所有被标识的接口

(3)任播地址:标识一组接口,把数据包发送给最近的那个接口

3.单播工作流程

IPV6报文的发送可以分为三个阶段,分别是地址配置、DVD、地址解析:

(1)地址配置:与IPV4一样,要进行数据包发送首先对自己的地址进行配置,一个接口上面可以有多个IPV6地址

(2)DAD:就是重复地址检测,看看网络中有没有和自己的配置的IP冲突的,类似于IPV4中免费ARP的作用。

(3)地址解析:类似于IPV6的普通ARP的作用,通过地址解析实现设备MAC地址与IPV6地址的映射关系。

IPV4与IPV6的区别

1.地址长度不同

   IPV4地址是只有32位,而IPv6 把 IP 地址由 32 位增加到 128 位,所以能够支持更大的地址空间,有2^128-1个 IPv6 地址,估计在地球表面每平米有 4*10^18 个IPv6 地址,使 IP 地址在可预见的将来不会用完。

2.表示方法不同

IPV4地址的表示是使用点分十进制,IPV6地址的表示是使用冒分十六进制

3.首部

   IPv6的首部长度是40个字节,相对IPv4的首部长度24字节要长,但是,IPv6首部结构比IPv4简单,在IPv6中,IPv 4 报头格式中一些冗余的域或被丢弃或被列为扩展报头,从而降低了包处理和报头带宽的开销。

4.对可选项更大的支持

IPv6 的可选项不放入报头,而是放在一个个独立的扩展头部。如果不指定路由器不会打开处理扩展头部 . 这大大改变了路由性能。 IPv6 放宽了对可选项长度的严格要求 (IPv4 的可选项总长最多为 40 字节 ) ,并可根据需要随时引入新选项。IPV6 的很多新的特点就是由选项来提供的,如对 IP 层安全 (IPSEC) 的支持,对巨报 (jumbogram) 的支持以及对 IP 层漫游 (Mobile-IP) 的支持等。

5.配置方法不同(即自动配置)

  IPV4地址可以自动获取也可以手动配置。而IPv6地址必须要辅助协议才能获取,IPV6协议支持地址自动配置,这是一种即插即用的机制。IPv6节点通过地址自动配置得到IPv6地址和网关地址。IPv6支持无状态地址自动配置和状态地址自动配置两种地址自动配置方式。它会给配置128位的地址带来很大的方便,特别是无状态地址自动配置。

6.身份验证和保密 

在IPv6 中加入了关于身份验证、数据一致性和保密性的内容。

其他区别

这篇关于爷爷问:IPv6为什么还没有完全替换掉IPv4 ?区别是什么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/648609

相关文章

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

SpringBoot全局域名替换的实现

《SpringBoot全局域名替换的实现》本文主要介绍了SpringBoot全局域名替换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录 项目结构⚙️ 配置文件application.yml️ 配置类AppProperties.Ja

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

Python ORM神器之SQLAlchemy基本使用完全指南

《PythonORM神器之SQLAlchemy基本使用完全指南》SQLAlchemy是Python主流ORM框架,通过对象化方式简化数据库操作,支持多数据库,提供引擎、会话、模型等核心组件,实现事务... 目录一、什么是SQLAlchemy?二、安装SQLAlchemy三、核心概念1. Engine(引擎)

Go之errors.New和fmt.Errorf 的区别小结

《Go之errors.New和fmt.Errorf的区别小结》本文主要介绍了Go之errors.New和fmt.Errorf的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考... 目录error的基本用法1. 获取错误信息2. 在条件判断中使用基本区别1.函数签名2.使用场景详细对

Redis中哨兵机制和集群的区别及说明

《Redis中哨兵机制和集群的区别及说明》Redis哨兵通过主从复制实现高可用,适用于中小规模数据;集群采用分布式分片,支持动态扩展,适合大规模数据,哨兵管理简单但扩展性弱,集群性能更强但架构复杂,根... 目录一、架构设计与节点角色1. 哨兵机制(Sentinel)2. 集群(Cluster)二、数据分片

C#高效实现Word文档内容查找与替换的6种方法

《C#高效实现Word文档内容查找与替换的6种方法》在日常文档处理工作中,尤其是面对大型Word文档时,手动查找、替换文本往往既耗时又容易出错,本文整理了C#查找与替换Word内容的6种方法,大家可以... 目录环境准备方法一:查找文本并替换为新文本方法二:使用正则表达式查找并替换文本方法三:将文本替换为图