IPv6学习

Table of Contents

IPv6 概念

IPv6 即互联网协议第六版(Internet Protocol Version 6),是用于替代 IPv4 的下一代 IP 协议。以下是 IPv6 的一些基础概念:

IPv6 地址

  • 长度与表示:IPv6 地址总长度为 128 比特,通常表示为“X:X:X:X:X:X:X:X”的形式,每个 X 代表 4 个十六进制值字符,以冒号分隔,分为 8 组。
  • 地址结构:由网络前缀和接口标识两部分组成。网络前缀有 n 位,相当于 IPv4 地址中的网络 ID;接口标识有(128 - n)比特,相当于 IPv4 地址中的主机 ID。
  • 压缩规则:每组中的前导“0”可以省略;地址中包含的连续两个或多个均为 0 的组,可以用双冒号“::”来代替,但在一个 IPv6 地址中只能使用一次双冒号。

IPv6 报文结构

  • 基本包头:包含版本号(值为 6)、流类别、流标签、有效载荷长度、下一个包头、跳数限制、源地址、目的地址等字段,提供报文转发的基本信息。
  • 扩展包头:被置于 IPv6 基本包头和上层协议数据单元之间,可包含逐跳选项包头、目的选项包头、路由包头、分段包头、认证包头、封装安全净载包头等,用于提供额外功能。

IPv6 主要特点

  • 扩展的地址空间:相比 IPv4 的 32 位地址,IPv6 的 128 位地址提供了几乎无限的地址资源,理论上可以为地球上的每一粒沙子编上一个地址。
  • 简化的报头格式:IPv6 头部固定长度为 40 字节,去除了 IPv4 报头中的一些冗余字段,简化了路由器的处理过程,提高了数据包转发效率。
  • 增强的安全性:设计之初就考虑了安全问题,原生支持 IPsec(互联网协议安全),可提供认证、数据完整性以及重放保护等功能,保障数据传输的安全性。
  • 更好的移动性和多宿主功能:改善了对移动设备和多个网络接口的支持,使移动设备在不同网络之间切换时能够更快速、稳定地保持连接。
  • 自动配置能力:支持更加强大的自动地址配置功能,如无状态地址自动配置(SLAAC),设备可以自动获取 IPv6 地址,减少了人工配置的工作量。

IPv6 相关概念

  • 任播:是 IPv6 特有的一种通信方式,一个任播地址被分配给多个接口,当发送方发送数据到任播地址时,网络会将数据包路由到距离最近的一个拥有该任播地址的接口。
  • 邻居发现:是 IPv6 中的一个重要机制,用于设备发现其相邻节点的链路层地址、检测邻居节点的可达性等。通过邻居发现协议,设备可以自动获取网络配置信息,实现网络的自动配置和管理。

IPv6 解决的问题及解决方式

地址耗尽

IPv4 的局限

互联网的发展和物联网的出现使接入网络的设备数量暴增。IPv4 地址长度为 32 位,所能提供的地址数量有限,无法满足众多设备的接入需求。

IPv6 的解决方案

IPv6 采用 128 位地址长度,这使得其拥有海量的地址空间。其提供的地址数量是 2 的 128 次方,这个庞大的数字能够轻松容纳各种设备,如智能家电、工业物联网设备等,从根本上解决了地址不足的问题。

网络性能

IPv4 的性能瓶颈

IPv4 的报文头部结构相对复杂,在数据传输过程中,路由器处理 IPv4 数据包时,需要对复杂的头部进行较多操作,这会增加处理开销,影响转发效率。而且随着网络规模的增大,IPv4 的路由表不断增大,这会导致路由器查找路由的速度变慢,降低网络性能。

IPv6 的优化措施

IPv6 对报文头部进行了优化,使其更加简洁。这种简洁的头部结构减少了路由器在处理数据包时的工作量,从而提高了数据传输效率。同时,IPv6 支持更有效的路由聚合,通过使用更长的子网前缀,能够减少路由表的大小,提高路由器查找路由的速度,进而提升网络的整体性能。

网络安全

IPv4 的安全隐患

IPv4 本身没有足够的安全机制,数据在传输过程中的安全性主要依赖于上层应用或者额外的安全设备和协议。这就使得数据在传输过程中存在被篡改、泄露等安全风险。

IPv6 的安全强化

IPv6 将 IPSec 作为其核心部分,以此提供强大的安全保障。IPSec 可以对数据进行完整性验证,确保数据在传输过程中没有被篡改;可以验证数据源,保证数据来源是可靠的;还可以防止重放攻击,并且对数据进行加密,从而有效地保护了数据在传输过程中的安全。

移动性支持

IPv4 的移动困境

在移动互联网时代,移动设备需要在不同网络之间频繁切换。在 IPv4 网络中,移动设备切换网络时通常需要重新获取 IP 地址,这会导致通信中断或者需要进行复杂的配置过程,难以满足移动设备对网络移动性的高要求。

IPv6 的移动支持

IPv6 内置了移动性支持功能。通过移动 IPv6 协议,移动节点在切换网络时可以保持其 IP 地址不变,这样移动设备就可以在不同网络之间自由移动,保证了通信的连续性,很好地满足了移动设备对网络移动性的要求。

服务质量保障

IPv4 的服务质量局限

随着网络应用的多样化,像视频通话、在线游戏等实时性要求高的业务越来越多。IPv4 缺乏对不同类型数据流进行有效区分和优先级处理的机制,这使得在网络拥塞时,很难保障这些业务的服务质量。

IPv6 的服务质量提升

IPv6 定义了流标签字段,这个字段用于区分不同服务质量要求的数据流。网络设备可以根据流标签来区分数据包,对高优先级的数据流优先进行处理,从而为不同的业务提供了有效的服务质量保证。

IPv6 使用

SSH 使用 IPv6

支持原理

SSH 是一种网络协议,用于在不安全的网络中安全地远程登录和执行命令。它可以用于多种网络协议,包括 TCP/IP、UDP、IPv4 和 IPv6 等。SSH 协议本身具有良好的灵活性和扩展性,其设计理念就是能够适应不同的网络环境和 IP 版本,在网络层可以基于 IPv6 协议进行数据传输,实现客户端与服务器之间的安全连接。

支持表现

  • 客户端支持:常见的 SSH 客户端工具如 OpenSSH 等都提供了对 IPv6 的支持。可以通过在 SSH 命令中添加-6参数,指示客户端仅使用 IPv6。也可在 SSH 客户端的配置文件(通常位于~/.ssh/config)中进行配置,来强制使用 IPv6。
  • 服务器支持:许多操作系统和网络设备的 SSH 服务器端也都支持 IPv6。如 Linux 系统,通过编辑/etc/ssh/sshd_config配置文件,加入或修改相关配置,就可以使 SSH 服务器监听 IPv6 地址,接受 IPv6 连接。

连接方式

在使用 SSH 连接 IPv6 地址的远程主机时,可使用ssh -6 username@[IPv6地址]的命令格式,其中username是远程主机的用户名,[IPv6地址]是要连接的远程主机的 IPv6 地址。如果远程主机的 SSH 服务使用了非默认端口,还需要使用-p参数指定端口号,如ssh -6 -p 2222 username@[IPv6地址]

亲测可行

域名解析到 IPv6

解析原理

域名解析系统(DNS)是互联网中用于将域名解析为 IP 地址的系统。在 IPv6 域名解析中,主要有以下两种资源记录:

  • AAAA 记录:是对 IPv4 协议“A”记录的简单扩展,用来将一个合法域名解析为 IPv6 地址,与 IPv4 所用的 A 资源记录类型相兼容。
  • A6 记录:把一个 IPv6 地址与多个“A6”记录建立联系,每个“A6”记录都只包含了 IPv6 地址的一部分,结合后拼装成一个完整的 IPv6 地址,支持地址聚集、地址更改等特性。

解析方法

将域名解析到 IPv6 地址,通常可以通过以下步骤:

  1. 找到域名管理界面:登录域名注册服务商的网站,找到购买的域名在控制面板中的位置,并进入 DNS 管理界面。
  2. 添加 AAAA 记录:在 DNS 管理界面中,添加一个 AAAA 记录,输入要解析到的 IPv6 地址,并保存设置。
  3. 保存记录并等待生效:完成设置后,确保保存记录,一般需要等待一段时间,让 DNS 服务器更新记录并生效,生效时间可能从几分钟到几小时甚至更长,具体取决于域名注册商和 DNS 服务器的设置。
  • 到时候折腾一下,再来报告结果

想把 Obsidian 里写的这些 md 文件快速部署成 Blog,明天来研究一下