【网络】Internet 协议版本 6 (IPv6)

news2025/9/16 3:18:04

文章目录

  • IPv6 寻址
    • 文本表示形式
    • 地址类型
  • IPv6 路由
    • 邻居发现
  • IPv6 自动配置
    • 自动配置类型
    • IPv6 移动性
  • 禁用或启用 IPv6
    • 配置步骤
      • 代码启用
    • 操作系统启用
  • 来源

Internet 协议版本 6 (IPv6) 是 Internet 的网络层的标准协议套件。 IPv6 旨在解决当前版本的 Internet 协议套件(称作 IPv4)存在的许多问题,包括地址消耗、安全性、自动配置和扩展性等问题。 IPv6 扩展了 Internet 的功能以启用新型应用程序,包括对等和移动应用程序。 以下是当前 IPv4 协议的主要问题:

  • 地址空间快速消耗。

这导致使用网络地址转换器 (NAT) 将多个专用地址映射到一个公共 IP 地址。 此机制造成的主要问题是处理开销和端对端连接性的缺失。

  • 层次结构支持缺失。

因其固有的预定义类组织,IPv4 缺乏真正的层次结构支持。 无法通过真正地映射网络拓扑的方式构成 IP 地址。 由于存在这种重大的设计缺陷,所以需要通过大型路由表将 IPv4 数据包传送至 Internet 上的任何位置。

  • 复杂的网络配置。

对于 IPv4,地址必须以静态方式分配,或使用配置协议,如 DHCP。 在理想情况下,主机不需要依靠 DHCP 基础结构的管理。 主机可基于其所在的网络段自行配置。

  • 缺乏内置身份验证和保密性。

IPv4 不需要针对提供交换数据的身份验证或加密的机制的支持。 IPv6 在这一方面作出更改。 Internet 协议安全 (IPSec)是 IPv6 支持要求。

新协议套件必须满足以下基本需求:

  • 低开销的大规模路由和寻址。
  • 针对各种连接情况进行自动配置。
  • 内置身份验证和保密性。

IPv6 寻址

使用 IPv6 时,地址长度为 128 位。 地址空间如此之大的一个原因是将可用地址细分为可以反映 Internet 拓扑的路由域的层次结构。 另一个原因是映射将设备连接到网络的网络适配器(或接口)的地址。 IPv6 有可以解析最低级别的地址(即网络接口级别的地址)的固有功能以及自动配置功能。

文本表示形式

以下是用于将 IPv6 地址表示为文本字符串的三种常规形式:

  • 冒号十六进制形式:

这是首选形式 n:n:n:n:n:n:n:n。 每个 n 表示地址的 8 个 16 位元素之一的十六进制值。 例如:3FFE:FFFF:7654:FEDA:1245:BA98:3210:4562

  • 压缩形式:

由于地址长度,有些地址通常包含一长串的零。 若要简化这些地址的编写,可使用压缩形式,其中 0 块的单个相邻的序列由双冒号 (::) 表示。 该符号在地址中只能出现一次。 例如,多播地址 FFED:0:0:0:0:BA98:3210:4562 的压缩形式是 FFED::BA98:3210:4562。 单播地址 3FFE:FFFF:0:0:8:800:20C4:0 的压缩形式是 3FFE:FFFF::8:800:20C4:0。 环回地址 0:0:0:0:0:0:0:1 的压缩形式是 ::1。 未指定地址 0:0:0:0:0:0:0:0 的压缩形式是 ::。

  • 混合形式:

此形式合并了 IPv4 和 IPv6 地址。 在这种情况下,地址格式为 n:n:n:n:n:n:d.d.d.d,其中每个 n 表示六个 IPv6 高序位 16 位地址元素的十六进制值,每个 d 表示一个 IPv4 地址的十进制值。

地址类型

地址中的前导位定义了特定 IPv6 地址类型。 包含这些前导位的可变长度字段称为格式前缀 (FP)。

IPv6 的单播地址分为两个部分。 第一部分包含地址前缀,第二部分包含接口标识符。 表示 IPv6 地址/前缀组合的简洁方法如下:ipv6-address/prefix-length。

以下是具有 64 位前缀的地址示例。

3FFE:FFFF:0:CD30:0:0:0:0/64.

本示例中的前缀是 3FFE:FFFF:0:CD30。 此地址也可以采用压缩形式编写为 3FFE:FFFF:0:CD30::/64

IPv6 定义以下地址类型:

  1. 单播地址:

单个接口的标识符。 发送到此地址的数据包将会发送到已标识接口。 可通过高序位八进制数的值,区分单播地址和多播地址。 多播地址的高序位八进制数具有 FF 的十六进制值。 此八进制数的任何其他值标识单播地址。 以下是不同类型的单播地址:

  • 链接本地地址:

这些地址用于单个链接,并且具有以下格式:FE80::InterfaceID。 链接本地地址用于链接的节点之间以实现自动地址配置、邻居发现,或者用于不存在路由器的情况。 链接本地地址主要用于启动时,以及系统尚未获取较大范围地址时。

  • 站点本地地址:

这些地址用于单个站点,具有以下格式:FEC0::SubnetID:InterfaceID。 站点本地地址用于在站点内寻址,无需全局前缀。

  • 全局 IPv6 单播地址:

这些地址可以在 Internet 上使用,并具有以下格式:GlobalRoutingPrefix::SubnetID:InterfaceID

  1. 多播地址:

一组接口(通常属于不同节点)的标识符。 发送到此地址的数据包将发送到由该地址标识的所有接口。 多播地址类型取代了 IPv4 广播地址。

  1. 任播地址:

一组接口(通常属于不同节点)的标识符。 发送到此地址的数据包将发送到由该地址标识的仅一个接口。 这是路由指标标识的最近接口。 任播地址取自单播地址空间,无法从语法上进行区分。 寻址的接口根据其配置区分单播和任播地址。

通常,节点始终具有链接本地地址。 它可能具有站点本地地址和一个或多个全局地址。

IPv6 路由

灵活的路由机制是 IPv6 的优势之一。 由于 IPv4 网络 ID 以前和现在的分配方式,需要由 Internet 主干网上的路由器来维护大型路由表。 这些路由器必须了解所有路由,才能转发可能定向到 Internet 任何节点的数据包。 借助聚合地址的功能,IPv6 可以灵活寻址,并且大大减小路由表的大小。 在这种新型寻址体系结构中,中间路由器必须仅跟踪网络中的本地部分,才能恰当地转发消息。

邻居发现

邻居发现提供的一些功能是:

  • 路由器发现:这允许主机识别本地路由器。

  • 地址解析:这允许节点解析相应的下一跃点地址的链接层地址(地址解析协议 [ARP] 的替换)。

  • 地址自动配置:这允许主机自动配置站点本地和全局地址。

邻居发现使用 IPv6 的 Internet 控制消息协议 (ICMPv6) 消息,包括:

  • 路由器播发:由路由器在伪周期基础上发送或作为路由器招标的响应发送。 IPv6 路由器使用路由器
  • 播发来播发其可用性、地址前缀和其他参数。
  • 路由器招标:由主机发送以请求链接上的路由器立即发送路由器播发。
  • 邻居招标:由节点发送,以进行地址解析、重复地址检测或验证邻居是否仍可以访问。
  • 邻居播发:由节点发送,以响应邻居招标或通知邻居链接层地址的更改。
  • 重定向:由路由器发送,以指示特定目标的下一个更好的跃点地址,用于发送节点。

IPv6 自动配置

IPv6 的一个重要目标是支持节点即插即用。 也就是说,可以将节点插入 IPv6 网络,让其自动进行配置,无需任何人为干预。

自动配置类型

IPv6 支持以下自动配置类型:

  • 有状态自动配置:

这种类型的配置需要一定程度的人为干预,因其需要 IPv6 动态主机配置协议 (DHCPv6) 服务器来安装和管理节点。 DHCPv6 服务器保存向其提供配置信息的节点列表。 它还维护状态信息,这样服务器知道每个地址的使用时间,以及何时可用于重新分配。

  • 无状态自动配置:

这种配置类型适用于小型组织和个人。 这种情况下,每个主机通过接收的路由器播发的内容确定其地址。 使用 IEEE EUI-64 标准来定义地址的网络 ID 部分,可以合理地假定链接上主机地址的唯一性。

无论如何确定地址,节点必须验证可能的地址对于本地链接是否唯一。 通过向可能的地址发送邻居请求消息可完成此操作。 如果节点收到任何响应,就知道该地址已在使用,并且必须确定其他地址。

IPv6 移动性

移动设备的广泛应用催生了新的要求:设备必须能够随意改变 IPv6 Internet 上的位置,但是仍然保持现有连接。 为实现此功能,向移动节点分配一个始终可以到达的主地址。 当移动节点在其中时,它连接到主链接并使用其主地址。 当移动节点离开时,主代理(通常是路由器)在移动节点和其正与之通信的节点之间中继消息。

禁用或启用 IPv6

若要使用 IPv6 协议,请确保当前运行的操作系统版本支持 IPv6,并确保正确配置了操作系统和网络类。

配置步骤

下表列出了各种配置

启用 OS IPv6?已启用代码 IPv6?说明
❌ 否❌ 否可以分析 IPv6 地址。
❌ 否✔️ 是可以分析 IPv6 地址。
✔️ 是❌ 否使用未标记为过时的名称解析方法,可以分析并解析 IPv6 地址。
✔️ 是✔️ 是使用所有方法(包含标记为过时的方法),可以分析并解析 IPv6 地址。

代码启用

已.net为例:

IPv6 默认启用。 若要在环境变量中配置此开关,请使用 DOTNET_SYSTEM_NET_DISABLEIPV6 环境变量。

操作系统启用

已linux为例

一:检查Linux是否已经开启ipv6

1.使用 ifconfig 查看自己的IP地址是否含有IPv6地址。

inet6 addr: fe80::213:d4f*::/64 Scope:Link

二:开启ipv6

1、找到配置sysctl.conf 文件,路径在:/etc/sysctl.conf ,找到如下配置:

在这里插入图片描述
如果已经存在,则直接修改,如果不存在,则新增。

将列出的ipv6相关配置更改为0
在这里插入图片描述
net.ipv6.conf.all.disable_ipv6 = 0

net.ipv6.conf.default.disable_ipv6 = 0

net.ipv6.conf.lo.disable_ipv6 = 0

3、然后执行sysctl -p命令

sysctl -p

4、找到 network.conf 文件,路径在:/etc/sysconfig/network

找到如下配置:

在这里插入图片描述
将列出的配置更改为 yes

在这里插入图片描述

5、重启网络服务

service network restart

至此,设备就开启了IPV6功能。

6、通过ifconfig 命令检查是否已经启动ipv6

ifconfig|grep -i inet6

三、配置IPV6地址

1、网卡配置信息

vi /etc/sysconfig/network-scripts/ifcfg-eth0

添加:

  • 单IPv6地址:
IPV6INIT=yes
IPV6ADDR=<IPv6地址>/<子网前缀长度>
IPV6_DEFAULTGW=<IPv6网关>
  • 多IPv6地址:
IPV6INIT=yes
IPV6ADDR=<IPv6地址>/<子网前缀长度>
IPV6ADDR_SECONDARIES="<IPv6地址1>/<子网前缀长度> <IPv6地址2>/<子网前缀长度>"
IPV6_DEFAULTGW=<IPv6网关>

如:

IPV6INIT=yes 网卡初始化IPv6协议栈

IPV6ADDR=2001:250:4000:2000::53 配置IPv6地址

IPV6_DEFAULTGW=2001:250:4000:2000::1 配置IPv6网关

systemctl restart network.service 重启网络服务,使配置生效

2、linux下添加默认路由。

ip -6 route add / via

ip -6 route add default via 2001:0db8:0:f101::1

route -A inet6 add / gw

route -A inet6 add default gw 2001:0db8:0:f101::1

3、查看路由

ip -6 route show

route -A ‘inet6’

route -6

来源

Internet 协议版本 6 (IPv6) 概述
Linux下配置系统ipv6环境

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/412517.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二叉树前中后层遍历(递归/非递归)(简单易懂(*^ー^))

文章目录二叉树的遍历1 先序遍历1.1 递归1.2 非递归2 中序遍历2.1 递归2.2 非递归3 后序遍历3.1 递归3.2 非递归4 层序遍历5 前中后层序完整可运行代码&#xff08;C&#xff09;二叉树的遍历 1 先序遍历 1.1 递归 先序遍历(Preorder Traversal)&#xff0c;即根左右的顺序遍…

Anaconda3安装配置/创建删除虚拟环境/在特定虚拟环境下安装库

1. Anaconda3彻底卸载 先说Anaconda3的卸载&#xff0c;在Anaconda3安装路径下有一个Uninstall-Anaconda3.exe&#xff0c;右键以“管理员身份运行”&#xff0c;可执行完全卸载 2. 下载与安装Anaconda3 官网地址https://repo.anaconda.com/ 点击Anaconda Distribution&…

自学大数据第14天NoSQL~MongoDB及其命令

这几天主要是看了一下mongodb的一些知识,网上也有一些教程,今天主要是复习一下mongodb 启动mongodb 在连接mongodb前首先要创建数据存放目录与日志存放目录,还得保证当前用户对这两个目录有相应的读写操作 mongod --dbpath/usr/local/mongodb/data/db/ --logpath/usr/lcoal/mon…

(四)【软件设计师】计算机系统—基础单位进制

文章目录一、计算机基础单位二、进制1.进制表示符号2.进制之间的转换&#xff1a;(1)十进制转换为二进制&#xff08;例子&#xff1a;173&#xff09;(2)十进制转换为八进制&#xff08;3&#xff09;十进制转换为十六进制&#xff08;4&#xff09;二进制转换为十进制&#x…

Linux入门 - 最常用基础指令汇总

目录 ls指令 pwd指令 cd指令 touch指令 mkdir指令 rmdir指令 && rm 指令 man指令&#xff08;重要&#xff09; cp指令&#xff08;重要&#xff09; mv指令&#xff08;重要&#xff09; cat指令 more指令 less指令&#xff08;重要&#xff09; head指令…

交换机PCB板布局布线注意事项

由于板卡在工作中会受到各种各样的干扰&#xff0c;这些干扰不仅影响系统运行的稳定性&#xff0c;同时也有可能带来误差&#xff0c;因此考虑如何抑制干扰&#xff0c;提高电磁兼容性是PCB布局布线时的一项重要任务。海翎光电的小编现将PCB布局布线中需要主要考虑的因素列在下…

银行数字化转型导师坚鹏:深度解读《中华人民共和国数据安全法》

深度解读《中华人民共和国数据安全法》 ——中国数据安全立法 助力企业稳健发展课程背景&#xff1a; 很多金融机构存在以下问题&#xff1a; 不清楚数据安全法立法背景&#xff1f; 不知道如何理解数据安全法相关政策&#xff1f; 不清楚如何数据安全进行合规建设&#xf…

【前端之旅】Vue入门笔记

一名软件工程专业学生的前端之旅,记录自己对三件套(HTML、CSS、JavaScript)、Jquery、Ajax、Axios、Bootstrap、Node.js、Vue、小程序开发(Uniapp)以及各种UI组件库、前端框架的学习。 【前端之旅】Web基础与开发工具 【前端之旅】手把手教你安装VS Code并附上超实用插件…

计算机组成原理第二章数据的表示与运算(中)

提示&#xff1a;且行且忘且随风&#xff0c;且行且看且从容 文章目录前言2.2.0 奇偶校验码(大纲已删)2.2.1 电路的基本原理 加法器设计2.2.2 并行进位加法器2.2.3 补码加减运算器2.2.4 标志位的生成2.2.5 定点数的移位运算2.2.62.2.6.1 原码的乘法运算2.2.6.2 补码的乘法运算2…

Linux下异步socket客户端

文章目录socket 客户端1. 创建socketsocket()函数返回值2. 设置socket的属性connect函数sockaddr_in结构体inet_pton函数3. fcntl设置非阻塞4. recv函数socket 客户端 1. 创建socket socket()函数 #include <sys/socket.h> int socket(int domain, int type, int proto…

四、线程安全,synchronized,volatile(JMM)【4/12 5/12 6/12】【多线程】

4. 多线程带来的的风险-线程安全 (重点) 4.1 观察线程不安全 static class Counter {public int count 0;void increase() {count;} } public static void main(String[] args) throws InterruptedException {final Counter counter new Counter();Thread t1 new Thread(()…

数据结构——排序(4)

作者&#xff1a;几冬雪来 时间&#xff1a;2023年4月12日 内容&#xff1a;数据结构排序内容讲解 目录 前言&#xff1a; 1.快速排序中的递归&#xff1a; 2.小区间优化&#xff1a; 3.递归改非递归&#xff1a; 4.归并排序&#xff1a; 5.归并排序的非递归形式&…

Revit中如何绘制倾斜的屋顶及一键成板?

Revit中如何绘制倾斜的屋顶&#xff1f;如下图所示&#xff0c;像这种坡屋顶有两种方法进行绘制。 第一种&#xff1a;定义坡度。 1、点击建筑选项卡中的屋顶按钮。选择使用矩形工具。 2、在选项栏中&#xff0c;偏离值修改为500&#xff0c;把屋顶迹线绘制出来。 3、取消这三…

软件测试今天你被内卷了吗?

认识一个人&#xff0c;大专学历非计算机专业的&#xff0c;是前几年环境好的时候入的行&#xff0c;那时候软件测试的要求真的很低&#xff0c;他那时好像是报了个班&#xff0c;然后入门的&#xff0c;但学的都是些基础&#xff0c;当时的他想的也简单&#xff0c;反正也能拿…

【面试】限流算法有哪些?

文章目录前言1.固定窗口限流算法1.2 固定窗口限流的伪代码实现1.2 固定窗口算法的优缺点2.漏桶算法3.令牌桶算法4. 滑动窗口限流算法4.1 什么是滑动窗口限流算法4.2 滑动窗口限流算法的伪代码实现4.3 滑动窗口限流算法的优缺点漏桶算法 VS 令牌桶算法总结参考 & 鸣谢前言 …

docker项目实施

鲲鹏916架构openEuler-arm64成功安装docker并跑通tomcat容器_闭关苦炼内功的技术博客_51CTO博客鲲鹏916架构openEuler-arm64成功安装docker并跑通tomcat容器&#xff0c;本文是基于之前这篇文章鲲鹏920架构arm64版本centos7安装docker下面开始先来看下系统版本卸载旧版本旧版本…

刘二大人《Pytorch深度学习实践》第八讲加载数据集

文章目录Epoch、Batch-Size、IterationsDataset、DataLoader课上代码torchvision中数据集的加载Epoch、Batch-Size、Iterations 1、所有的训练集进行了一次前向和反向传播&#xff0c;叫做一个Epoch 2、在深度学习训练中&#xff0c;要给整个数据集分成多份&#xff0c;即mini-…

【密码学】ElGamal加密算法原理 以及 例题讲解

目录前言1. 原理2. 例题2.1 例题一2.2 例题二前言 具体的性质&#xff1a; 非对称加密算法应用于一些技术标准中&#xff0c;如数字签名标准&#xff08;DSS&#xff09;、S/MIME 电子邮件标准算法定义在任何循环群 G 上&#xff0c;安全性取决于 G 上的离散对数难题 1. 原理…

元宇宙地产暴跌,林俊杰亏麻了

文/章鱼哥出品/陀螺财经随着元宇宙的兴起&#xff0c;元宇宙地产曾一度被寄予厚望&#xff0c;成为各大投资者追捧的对象。然而&#xff0c;最近的一次元宇宙地产价值暴跌再次提醒我们&#xff0c;高收益背后可能伴随着高风险。根据元宇宙分析平台WeMeta的数据显示&#xff0c;…

400以内的蓝牙耳机哪款好?400以内蓝牙耳机排行榜

谈起TWS&#xff0c;无论是传统的音频厂商还是手机厂商&#xff0c;都是其不可或缺的重要产品线&#xff0c;现在很多许多蓝牙耳机都不是千篇一律得形状&#xff0c;市场也鲜有商家在外观上下功夫&#xff0c;下面分享几款400元以内&#xff0c;内外兼具的耳机品牌。 一、南卡…