《深入解析IPv6(第3版)》——11.3 隧道配置

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介:

本节书摘来自异步社区《深入解析IPv6(第3版)》一书中的第11章,第11.3节,作者: 【美】Joseph Davies 更多章节内容可以访问云栖社区“异步社区”公众号查看。

11.3 隧道配置

RFC 4213定义了如下可以穿越纯IPv4架构在IPv6/IPv4节点之间建立隧道IPv6流量的隧道配置环境:

  • 路由器到路由器;
  • 主机到路由器和路由器到主机;
  • 主机到主机。

11.3.1 路由器到路由器
在路由器到路由器的隧道配置环境中,两个IPv6/IPv4路由器穿越纯IPv4架构连接到了两个支持IPv6的架构中。隧道端点在源和目的地址间相隔一跳。每个支持IPv6架构的路由都指向其边缘的IPv6/IPv4路由器。对于每个IPv6/IPv4路由器,都存在代表IPv6-over-IPv4隧道的隧道接口和使用隧道接口的路由。

注释

支持IPv6的架构中包含有IPv6连接,这个连接既可以是本地的,也可以是基于隧道的连接。而具有IPv6功能的架构会含有本地的IPv6连接。
图11-6所示为路由器到路由器的隧道。


<a href=https://yqfile.alicdn.com/bf858e9333d4ace867ff44479dc900594173d9b5.png" >

这个隧道配置环境的示例包括如下内容。

  • 一个纯IPv6的测试实验室,穿过某机构的纯IPv4架构到达IPv6 Internet。
  • 一个机构中两个支持IPv6的站点,穿越IPv4 Internet建立隧道。
  • 6to4路由器穿越IPv4 Internet并与另一个6to4路由器建立隧道,或与一台6to4中继路由器建立隧道。如需进一步了解有关6to4的内容,请参阅第13章。

11.3.2 主机到路由器和路由器到主机
在主机到路由器的隧道配置环境中,一台位于纯IPv4架构中的IPv6/IPv4主机使用IPv6-over-IPv4的隧道到达一台IPv6/IPv4路由器。隧道端点为源和目的地址间的第一跳。

在IPv6/IPv4节点上,有一个隧道接口代表IPv6-over-IPv4隧道的隧道接口和一条或多条使用该隧道接口的路由(通常是默认路由)。IPv6/IPv4节点会根据匹配的路由、隧道接口和IPv6/IPv4路由器的下一跳IPv6地址,来将IPv6数据包通过隧道进行传送。

在路由器到主机的隧道配置环境中,IPv6/IPv4路由器会创建一条IPv6-over-IPv4隧道以穿越IPv4架构并到达IPv6/IPv4节点。隧道端点为源和目的地址间的最后一跳。

在IPv6/IPv4路由器上,有一个隧道接口代表IPv6-over-IPv4隧道的隧道接口和使用该隧道接口的路由(通常是子网路由)。IPv6/IPv4路由器会根据匹配的子网路由、隧道接口和IPv6/IPv4节点的目的IPv6地址,来将IPv6数据包通过隧道进行传送。

图11-7所示为主机到路由器的隧道(对于纯IPv4架构中节点A到节点B的流量量)和路由器到主机的隧道(对于节点B到节点A传输的流量)。


df06a99cb93d6b2226b933fe0fb4e883b450483f

主机到路由器和路由器到主机的示例包括如下内容。

  • 一台IPv6/IPv4主机通过某个机构的纯IPv4架构并建立通往IPv6 Internet的隧道(主机到路由器的隧道)。
  • 一台ISATAP主机通过内联网中只支持IPv4的部分,与一台ISATAP路由器建立隧道,以到达内联网中支持IPv6的那一部分(主机到路由器的隧道)。
  • 一台ISATAP路由器通过内联网中只支持IPv4的部分,与目的ISATAP主机建立隧道(路由器到主机的隧道)。

11.3.3 主机到主机
在主机到主机的隧道配置环境中,位于纯IPv4架构中的IPv6/IPv4主机会使用IPv6-over-IPv4隧道,到达位于同一个纯IPv4架构中的另一个IPv6/IPv4节点。隧道端点位于整条路径的两端,源和目的节点相隔一跳。

每个IPv6/IPv4节点都有一个代表IPv6-over-IPv4隧道的接口。有一条路由用来表示目的节点位于由纯IPv4架构定义的同一个逻辑子网中。发送方主机会根据发送接口、链路中的子网路由以及目的地址,将IPv6流量通过隧道发送到目的。

图11-8所示为主机到主机的隧道。


14bdfae136fbf4f48d993f61be456e295367d12b

主机到主机的隧道示例包括如下内容。

ISATAP主机之间跨越某机构的纯IPv4架构建立隧道。
6to4主机/路由器之间穿越IPv4 Internet通过隧道互相传送流量。
11.3.4 隧道类型
RFC 4213定义了如下隧道类型。

  • 手动配置的隧道。
  • 自动生成的隧道。

手动配置的隧道

手动配置的隧道需要人工配置本地和远程的隧道端点。在手动配置的隧道中,远程隧道端点的IPv4地址并不会内嵌或编码在目的IPv6地址的下一跳IPv6地址中。手动配置的隧道通常用于路由器到路由器的隧道。配置隧道接口的任务包括配置本地和远程隧道端点的IPv4地址,这些地址必须按照使用隧道接口的路由来人工指定。例如,使用手动配置的隧道,可以在不使用IPv6过渡技术(如ISATAP)的情况下,穿越纯IPv4内联网连接两个支持IPv6的测试实验室网络。

为了给Windows中的IPv6协议人工创建手动配置的隧道,需要使用如下命令:

netsh interface ipv6 add v6v4tunnel [interface=]Name[localaddress=] LocalIPv4Address [remoteaddress=]RemoteIPv4address
  • Name是新隧道接口的名称。
  • LocalIPv4Address是分配给正在执行命令的计算机的IPv4地址,该地址对应本地隧道端点。
  • RemoteIPv4address是远程隧道端点的IPv4地址。

必须在隧道两端的路由器上都创建隧道接口并且添加使用隧道接口的路由。

例如,有两个测试实验室子网分别位于内联网的不同部分。路由器1连接到IPv6子网2001:db8:0:1::/64,并且IPv4地址是131.107.47.121。路由器2连接到IPv6子网2001:db8:0:2::/64,并且IPv4地址是157.54.9.211。图11-9所示为这个配置。

  1. <a href=https://yqfile.alicdn.com/1b0cc2b01005215cfa106364a5b8fd25ae034447.png" >

    为了在路由器1和路由器2之间配置一个隧道,要在路由器1上运行下列命令:

    netsh interface ipv6 add v6v4tunnel TunnelTo2 131.107.47.121 157.54.9.211
    netsh interface ipv6 add route 2001:db8:0:2::/64 TunnelTo2
    

    同样,还要在路由器2上运行下列命令:

    netsh interface ipv6 add v6v4tunnel TunnelTo1 157.54.9.211 131.107.47.121
    netsh interface ipv6 add route 2001:db8:0:1::/64 TunnelTo1
    

    自动隧道

    自动隧道不需要手动配置。自动隧道的隧道端点由目的IPv6地址所使用的路由、隧道接口和下一跳地址决定。Windows的IPv6协议支持下列自动隧道技术。

    • ISATAP:用于纯IPv4内联网中的IPv6/IPv4主机之间的单播通信。如需进一步了解相关内容,请参阅第12章。
    • 6to4:用于IPv4 Internet中的IPv6/IPv4主机之间和支持IPv6的站点之间的单播通信,需要6to4路由器或6to4主机/路由器拥有公网的IPv4地址。如需进一步了解相关内容,请参阅第13章。
    • Teredo:用于IPv4 Internet中的IPv6/IPv4主机之间的单播通信。即使主机只有IPv4私有地址,而且位于NAT之后,通信也可以实现。如需进一步了解相关内容,请参阅第14章。

    在 Windows的自动隧道技术中,发送或转发节点会从下述内容中判断出IPv6-over-IPv4隧道的端点。

    远程隧道端点的IPv4地址嵌入或编码在下一跳IPv6地址中(该地址对应目的IPv6地址的匹配路由)。
    本地隧道端点的IPv4地址会通过到达目的IPv4地址(即远程隧道端点)的最佳源IPv4地址来进行判断。

相关文章
|
6天前
|
机器学习/深度学习 调度
mmseg配置解析 Polynomial Decay 多项式衰减
Polynomial Decay(多项式衰减)是一种常用的学习率调度方法,通过多项式函数逐步减少学习率,帮助模型更好地收敛。公式为:\[ lr = (lr_{initial} - \eta_{min}) \times \left(1 - \frac{current\_iter}{max\_iters}\right)^{power} + \eta_{min} \]。参数包括初始学习率、最小学习率、当前迭代次数、总迭代次数和衰减指数。适用于需要平滑降低学习率的场景,特别在训练后期微调模型参数。
16 0
mmseg配置解析 Polynomial Decay 多项式衰减
|
8天前
|
网络协议 Docker 容器
docker中的DNS配置
【10月更文挑战第5天】
98 1
|
12天前
|
弹性计算 网络协议 Ubuntu
如何在阿里云国际版Linux云服务器中自定义配置DNS
如何在阿里云国际版Linux云服务器中自定义配置DNS
|
1月前
|
网络协议 大数据 云栖大会
2024云栖大会 预告:IPv6与DNS基础资源专场
2024云栖大会 预告:IPv6与DNS基础资源专场
2024云栖大会 预告:IPv6与DNS基础资源专场
|
2天前
|
JSON JavaScript 前端开发
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
11 0
|
6天前
|
编解码 计算机视觉
mmseg配置解析 align_corners=False
`align_corners=False` 是图像插值操作中的一个参数,影响输入和输出图像的角点对齐方式。`align_corners=True` 严格对齐角点,而 `align_corners=False` 均匀分布像素点,更适用于保持整体比例关系的任务,如语义分割。
16 0
|
6天前
|
机器学习/深度学习 编解码
mmseg配置解析 contract_dilation=True
`contract_dilation=True` 是 ResNetV1c 中的一种设置,用于解决多层膨胀卷积中的“栅格效应”。通过调整膨胀率,使卷积核在不同阶段更密集地覆盖输入特征图,避免信息丢失,提升特征提取质量,尤其在语义分割任务中效果显著。
17 0
|
8天前
|
XML Java 数据格式
手动开发-简单的Spring基于注解配置的程序--源码解析
手动开发-简单的Spring基于注解配置的程序--源码解析
22 0
|
8天前
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
29 0
|
2月前
|
持续交付 jenkins Devops
WPF与DevOps的完美邂逅:从Jenkins配置到自动化部署,全流程解析持续集成与持续交付的最佳实践
【8月更文挑战第31天】WPF与DevOps的结合开启了软件生命周期管理的新篇章。通过Jenkins等CI/CD工具,实现从代码提交到自动构建、测试及部署的全流程自动化。本文详细介绍了如何配置Jenkins来管理WPF项目的构建任务,确保每次代码提交都能触发自动化流程,提升开发效率和代码质量。这一方法不仅简化了开发流程,还加强了团队协作,是WPF开发者拥抱DevOps文化的理想指南。
63 1

推荐镜像

更多