




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
IPv6IPv6 过渡技术之隧道过渡技术之隧道 随着 IPv4 地址的极度紧缺和 Ipv6 技术的日益成熟 Ipv6 网络距离我们越来越近了 虽 然在一些发在国家 IPv6 网络已经有相当规模的部署 但是目前骨干网络仍是以 IPv4 网络 为主 怕以若使不同地理区域的 IPv6 网络互通 特别是网络结构跨度很大的情况下 不可能 在短期内把区域之间的网络设备全部升级到 IPv6 因此 必须有一套机制来保证 IPv6 网络的孤岛间能够利用现有 IPv4 网络来实现通信 IETF 专门成立了 下一代网络过渡工作组 负责研究 IPv4 与 IPv6 的共存和互通问题 这个 工作组推出了 10 多个 RFC 和 20 多个草案 其中主要有两种主流过渡技术 隧道技术和转换 技术 所有过渡技术都是基于 IPv4 IPv6 双栈实现的 本文的内容主要讨论隧道方面的过渡技术 双栈骨干网 在双栈骨干网部署中 网络中的所有路由器均同时保持 IPv4 与 IPv6 协议堆栈 应 用程序在使用 IPv4 或 IPv6 之间进行选择 并由应用程序按照并由应用程序按照 IPIP 业务负载的类型与通业务负载的类型与通 信的特定需要选择正确的地址信的特定需要选择正确的地址 如今 双栈路由选择是具有需要两种协议的 IPv4 与 IPv6 组合应用程序网络基础架 构的首选部署策略 然而 该策略却有若干限制 网络中的所有路由器必须升级到 IPv6 路由器还需要双寻址方案 IPv4 与 IPv6 选路协议的双重管理以及 IPv4 与 IPv6 两个选路 表所需的足够存储空间 通过 IPv4 实现 IPv6 的隧道传输方法是在 IPv4 数据包内封装 IPv6 业务负载 通过 IPv4 骨干网进行发送 如图所示 这使 孤岛状 IPv6 终端系统和路由器能够通过现有 IPv4 基础架构进行通信 如同 RFC2893 所定义的那样 隧道的两个端点需要使用适当的 IPv6 和 IPv4 地址进行配置 坐落于端点的边缘路由器 通常为双栈路由器 将按照配置 转发通过隧道的业务负载 过渡技术概述 隧道技术介绍 1 本文档中介绍的隧道技术以 IPv6 in Ipv4 隧道技术为主 2 大多的隧道技术基本思想都是一个加封装与解封装的过程 区别在于封装部分的不同 例 如 MPLS 隧道封装的是标签 IPSEC 隧道封装的 IPSEC 头部 而我们今天介绍的 IPv6 in IPv4 隧道是通过在 IPv6 报文头上直接封装 IPv4 头部完成的 3 IPv6 in IPv4 隧道技术是将 IPv 的隧道当作为 IPv6 的虚链路 任何支持 IPv4 IPv6 双栈 的节点都可以通过支持隧道技术来实现两两互通 它可应用在 路由器 路由器 主机 主机 主 机 路由器 之间 4 与其他的隧道封装技术相比 IPv6 in IPv4 隧道技术的优点有 实现简单 实用性强 标准成熟 技术门槛低 网络设备和主机不要支持其他的协议只需支持 IPv4 v6 双栈即可完成部署 IPv6 in IPv4 隧道技术原理 将 IPv6 数据报文封装上 IPv4 的报文头 通过隧道使 IPv6 报文穿越 IPv4 网络 实现隔离的 IPv6 网络间的互通 IPv4 报头中的各字段 Header length IPv4 报头长度 IPv6 报头长度 IPv6 Data 长度 Protocol 0 x41 Source Address 做隧道封装的源 IP 地址 Destimation Address 做隧道封装的目的 IPv4 地址 IPv6 in IPv4 隧道报文处理流程 1 IPv6 报文到达隧道的源端设备 2 隧道的源端设备查路由表判定该报文要通过入隧道转发 3 隧道的源端设备检查隧道配置 隧道类型 源地址和目的地址 在 IPv6 报文前封装 IPv4 报头 通过隧道的实现物理接口将报文转发出去 4 封装了 IPv6 报文的 IPv4 报文到达隧道目的端设备 目的端设备判断该封装报文的目的地 是本设备后 对报文进行解封装后送 IPv6 协议栈处理 5 目的端设备根据解封装后 IPv6 报文的地址 查 IPv6 路由将报文进一步处理 目的端设备如何知道收到的 IPv4 报文是一个封装了 IPv6 的报文要送 IPv6 协议栈处理 查 协议号 0 x41 IPv6 in IPv4 隧道分类 配置隧道 IPv6 手动隧道 RFC2893 GRE 隧道 自动隧道 6to4 隧道 RFC3056 ISATAP 隧道 RFC4212 IPv4 兼容 IPv6 自动隧道 RFC2893 6over4 隧道 RFC2529 隧道代理 RFC3053 其他 手动隧道 VS 自动隧道 手动隧道 顾名思义 它有于隧道封装的 IP 地址必须全部手动配置 它是一条点到点的链路 自动隧道 用于隧道封装的目的地址不需要手动配置 隧道就可以正常工作 自动隧道是从 IPv6 报文的目的地址中直接或间接地自动获取 IPv4 地址来进行隧道封装的 有点到点 如 ISATAP 和点到多点的链路 6to4 手动隧道上的链路本地地址 根据隧道上配置的源 IPv4 地址自动生成 格式为 FE80 v4Addr 隧道下没有 MAC 的概念 仅处理三层业务 隧道的源地址理念上可以指定为接口 IP 地址 接 口从 IP 地址 环回口 IP 地址等 从安全性方面考虑 隧道应该在解封装前对报文的源 目的的 IPv4 地址进行合法性检查 手动隧道 手动隧道是最简单的实现 V6 和 V6 网络互通的隧道技术 同时也是其他 IP 隧道技术的其他 手动隧道适用于比较成型的 IPv6 网络 目前应用最广的隧道技术 优点 实现比较简单 支持组摠报文转发 可以在隧道上运行动态路由协议 缺点 网络变化则需要隧道配置也实时变化 配置 IPv6 手动隧道 首先保证 IPv4 路由全网可达 可以通过动态 IPv6 路由协议学习路由的方法代替手工配置静态路由 但不能运行 ISISv6 R1 ipv6 unicast routing 开启 IPv6 单播 必须要打这条命令 否则 IPv6 不会启用 interface loopback 0 ipv6 address 2000 1 64 interface f0 0 ip address 192 168 1 1 no shut interfce tunnel 0 定义一个隧道接口 0 ipv6 address 2002 1 64 手动配置时可以设置不同的网段 下面的 OSPF 需要同一网段 tunnel source 192 168 1 1 隧道源 IPv4 地址 可以不在同一个网段 tunnel destination 10 1 1 1 隧道目的 IPv4 地址 tunnel mode ipv6ip 隧道封装类型为 IPv4IP 协议号为 41 ip route 10 1 1 0 255 255 255 0 192 168 1 2 让让 tunneltunnel 接口状态为接口状态为 upup 的条件有的条件有 3 3 个个 1 1 配置了配置了 tunneltunnel 接口的接口的 IPIP 地址地址 2 2 配置了源地址和目的地址配置了源地址和目的地址 3 3 源和目的地址之间要有可源和目的地址之间要有可 达的路由达的路由 R2 interface f0 0 ip address 192 168 1 2 255 255 255 0 no shut interface f1 0 ip addres 172 16 1 1 255 255 255 0 no shut ip route 10 1 1 0 255 255 255 0 172 16 1 2 R3 interface f0 0 ip address 172 16 1 2 255 255 255 0 no shut interface f1 0 ip address 10 1 1 2 255 255 255 0 no shut ip route 192 168 1 0 255 255 255 0 172 16 1 1 R4 interface loopback 0 ipv6 2001 1 64 interface f0 0 ip address 10 1 1 1 255 255 255 0 no shut interface tunnel 0 ipv6 2002 2 64 tunnel source 10 1 1 1 tunnel destination 192 168 1 1 tunnel mode ipv6ip ip route 192 168 1 0 255 255 255 0 10 1 1 2 在 IPv6 手动隧道运行路由协议 RIPng 只要在隧道接口接口上启用 RIPng R1 interface tunnel 0 ipv6 rip RIPoTU enable R2 interface tunnel 0 ipv6 rip RIPoTU enable 在 IPv6 手动隧道运行路由协议 OSPFv3 配置 r1 ipv6 unicast routing in e1 0 ipv6 add 2000 1 64 no sh ipv6 ospf 1 a 0 在接口上定义 ospfv3 属于哪个区域 ipv6 router ospf 1 启用 ospfv3 必须手工定义路由器 id 否则 ospfv3 不会启用 router id 1 1 1 1 r2 ipv6 unicast routing in e1 0 ipv6 add 2000 2 64 no sh ipv6 ospf 1 a 0 in e1 1 ip add 192 168 1 1 255 255 255 0 no sh ipv6 router ospf 1 router id 2 2 2 2 in tunnel 0 定义一个隧道接口 0 ipv6 add 2001 1 64 隧道 ipv6 地址 必须和对端隧道 ipv6 地址属于同一网段 试验后 可以不同网段上 tunnel source 192 168 1 1 隧道源 ipv4 地址 可以不在同一个网段 tunnel destnation 192 168 1 2 隧道目的 ipv4 地址 tunnel mode ipv6ip 隧道类型为 ipv6ip ipv6 ospf 1 a 0 r3 ipv6 unicast routing in e1 0 ip add 192 168 1 2 255 255 255 0 no sh in e1 1 ipv6 add 2002 1 64 no sh ipv6 ospf 1 a 0 ipv6 router ospf 1 router id 3 3 3 3 in tunnel 0 参考上面的说明 ipv6 add 2001 2 64 tunnel source 192 168 1 2 tunnel destnation 192 168 1 1 tunnel mode ipv6ip ipv6 ospf 1 a 0 r4 ipv6 unicast routing ipv6 router ospf 1 router id 4 4 4 4 in e1 0 ipv6 add 2002 2 64 no sh ipv6 ospf 1 a 0 验证命令 show ipv6 route 查看 ipv6 路由表 ping 查看 r1 路由表 R1 show ipv6 ro IPv6 Routing Table 8 entries Codes C Connected L Local S Static R RIP B BGP U Per user Static route I1 ISIS L1 I2 ISIS L2 IA ISIS interarea IS ISIS summary O OSPF intra OI OSPF inter OE1 OSPF ext 1 OE2 OSPF ext 2 ON1 OSPF NSSA ext 1 ON2 OSPF NSSA ext 2 C 2000 64 0 0 via Ethernet1 0 L 2000 1 128 0 0 via Ethernet1 0 O 2001 64 110 11121 via FE80 C801 14FF FE3C 1C Ethernet1 0 O 2002 64 110 11131 via FE80 C801 14FF FE3C 1C Ethernet1 0 C 2012 5 19 64 0 0 via Ethernet1 0 L 2012 5 19 1 128 0 0 via Ethernet1 0 L FE80 10 0 0 via Null0 L FF00 8 0 0 via Null0 已经学到 r4 的路由和隧道接口的 ipv6 地址 再 ping 能够 ping 通就正常了 R1 ping 2002 2 Type escape sequence to abort Sending 5 100 byte ICMP Echos to 2002 2 timeout is 2 seconds Success rate is 100 percent 5 5 round trip min avg max 44 108 136 ms 在 Windows XP 下配置 IPv6 手动隧道 C ipv6 ifcr v6v4 100 1 1 2 100 1 1 1 xp 提示 Created interface7 C ipv6 adu 7 1000 2 创建接口 7 的 IPv6 地址 C ipv6 rtu 0 7 1000 1 创建一条默认缺省路由 他的下一跳是 1000 1 R1 interface tunnel0 ipv6 add 1000 1 64 tunnel mode ipv6ip tunnel source 100 1 1 1 tunnel destination 100 1 1 2 GRE 隧道 GenericRoutingEncapsulation 简称 GRE GRE 隧道是 Cisco 开发的 在 Cisco 路由器上 默认的隧道协议为 GRE 封装 GRE IP IPv6 过渡技术使用的 GRE 隧道 仍使用标准的 GER 封装 RFC1701 只不过乘客协议为 IPv6 协议 IP 协议号为 47 GRE 报头中的协议类型为 0 x86DD 支持 ISISv6 等各种 IPv6 动态路由协议 对于 GRE 隧道 可使用卡车类比 公路相当于传输协议 对 GER 隧道来说 这可以是 IPv4 或 IPv6 卡车相当于隧道协议 封装协议或运载协议 对 GRE 隧道来说 这是 GRE 封装 货物相当于乘客协议 对 GRE 隧道来说 这可以是 IPv6 或其他协议 如 IS IS interfce tunnel 0 定义一个隧道接口 0 ipv6 address 2002 1 64 tunnel source 192 168 1 1 隧道源 IPv4 地址 可以不在同一个网段 tunnel destination 10 1 1 1 隧道目的 IPv4 地址 tunnel mode gre ip 隧道封装类型为 GRE Cisco 路由器默认配置 自动隧道 优点 配置简单 维护方便 缺点缺点 IPv6 IPv6 地址使用有限制地址使用有限制 不能转发组播报文不能转发组播报文 即不能在隧道上运行多数的路由协议即不能在隧道上运行多数的路由协议 6TO4 自动隧道 采用 IPv6 IPv4 封装格式 使用 2002 V4ADDR 48 前缀的 IPv6 地址 是点到多点点到多点的隧道技术 在过渡技术初期较为有效 只要申请了公网公网 IPv4IPv4 地址地址 就自动拥有 对应的 6to4 类型的 IPv6 全球地址 因此说无需申请正式的无需申请正式的 IPv6IPv6 地址就可以部署基于地址就可以部署基于 6to46to4 技术的技术的 IPv6IPv6 网络网络 用于隧道封装的目的 IPv4 地址从目的 IPv6 地址的第 3 6 个字节自动获得 RFC3056RFC3056 规则用规则用 于于 6to46to4 隧道封装的隧道封装的 IPv4IPv4 地址地址不能是私网地址不能是私网地址 IPv4 IPv4 兼容兼容 IPv6IPv6 隧道也是一样的隧道也是一样的 不能使用不能使用 私网地址私网地址 在在主机上配置主机上配置时时 提示提示 addressaddress updateupdate error 57error 57 错误错误 隧道上的链路本地地址根据配置的源 IPv4 地址自动生成 格式为 FE80 V4ADDR 可以节省 IPv4 和 IPv6 地址 一个公网 IPv4 地址就可以组建一个大的 6to4 网络 由于 IPv6 地址被限制为特殊的 6to4 地址 所以 6to4 隧道技术不适用在大型不适用在大型 IPv6IPv6 骨干网络骨干网络 中使用中使用 6to4 自动隧道术语 6to4 前缀 标准中规定 6to4 隧道必须使用的 IPv6 前缀 6to4 地址 使用 6to4 前缀生成的 IPv6 地址 纯 IPv6 地址 使用非 6to4 前缀的 IPv6 地址 6to4 路由器 支持 6to4 隧道的路由器 通常是一个介于通常是一个介于 IPv6IPv6 站点和广域站点和广域 IPv4IPv4 网络之间的网络之间的 边界路由器边界路由器 6to4 主机 至少拥有一个 6to4 地址的 IPv6 主机 6to4 站 端 点 内部使用 6to4 地址的 IPv6 站点 中继路由器 能够支持 6to4 地址和纯 IPv6 地址间路由的 6to4 路由器 6to4 隧道的应用环境有两种 一种是通信双方都处于 6to4 域中 并且均采用 6to4 地址 另一种是通信的一端处于 6to4 域中 并采用 6to4 地址 而另一端则处于纯 IPv6 域中 采 用纯 IPv6 地址 此时应使用 6to4 中继器进行连接 6to4 隧道技术原理 6to4 隧道技术的核心思想是在站点的地址前缀中蕴含了 IPv4 隧道的端点地址 其关键是在关键是在 站点边界路由器的站点边界路由器的 IPv4IPv4 地址和站点内主机的地址和站点内主机的 IPv6IPv6 地址之间建立了一种映射地址之间建立了一种映射 直接将边界路直接将边界路 由器的由器的 IPv4IPv4 地址作为地址作为站内主机站内主机 IPv6IPv6 地址前缀的一部分地址前缀的一部分 6to4 边界路由器通常是连接 6to4 局域网和 IPv4 网络的边界路由器 同时支持 6to4 地 址和 IPv4 地址 此路由器至少具有一个 6to4 隧道接口 在此接口上实现对 IPv6 数据的 IPv4 封装与解封装 它要和其他非 6to4 网互联 需要指定中断路由器的 IPv4 地址 对目的 地址为非 6to4 地址包 它以中断路由器的 IPv4 地址为目的地址封装数据包 6to4 中继路由器是一种高级的 6to4 路由器 一般位于 IPv6 主干网的边界 用于连接纯 IPv6 网和 IPv4 网 它必定具有一个 6to4 伪接口用于和其他通信 6to4 网间的通信过程 以图 2 主机 A B 的通信过程为例 A 发出报文的源地址为源地址为 20022002 102 304 1 102 304 1 目的地址为目的地址为 20022002 506 708 1 506 708 1 报文被路由到边界路由器 A 在边界路由器 A 中 存在着一条 2002 16 的路由表项 此表项指向 6to4 接口 路由器把收到 报文从此接口封装转发 封装后的 IPv4 报文源地址为 1 2 3 4 目的地址是从 IPv6 报文的 目的地址 2002 506 708 1 中提取的 为 5 6 7 8 边界路由器 B 在 5 6 7 8 接口收到报文 后解封装 然后由 IPv6 路由进程处理 路由进程查找路由表后将报文送入 6to4 网进行正常 的路由传送 最后到达主机 B 6to4 网与纯 IPv6 网间的通信过程 以图 2 主机 A C 的通信过程为例 A 发出报文的源地址为源地址为 20022002 102 304 1 102 304 1 目的地址为目的地址为 30013001 2 3 4 1 2 3 4 1 报文被路由到边界路由器 A 边界路由器中存在一条缺省路由 本地出口为 6to4 伪接口 下一条为中继路由器 192 88 99 1 于是在边界路由器以 192 88 99 1 为目的 地址封装此报文 中继路由器收到此报文后解封装 经 6to4 伪接口交由 IPv6 路由进程进一 步路由传送 对于 C 回复的数据包 经 IPv6 主干网的路由传送后 最后到达一台 6to4 中继路 由器 不一定是 192 88 99 1 的这台路由器 这台中继路由器上存在着 2002 16 的路由表 项 其出口为 6to4 伪接口 于是将此数据包经 6to4 伪接口封装 封装的 IPv4 目的地址为 1 2 3 4 封装后的报文 IPv4 网上进行路由传送 最终经边界路由器 A 解封装后送到主机 A interface tunnel 12 ipv6 address 2002 AC10 6501 128 tunnel source loopback 101 tunnel mode ipv6ip 6to4 以上配置与手工隧道类似 区别之一 是没有指定隧道的目标地址 因为目标 IPv4 地址内嵌 在 IPv6 地址中 如 ping 2002 AC10 6601 那么目的 IPv4 地址为 172 16 102 1 另一个 差别是 使用了 ipv6ip 6to4 封装 6to4 中继 6to46to4 隧道只能将前缀为隧道只能将前缀为 2002 162002 16 的网络连接起来的网络连接起来 但是在实际网络中如何让 6to4 网络和 纯 IPv6 网络互通呢 这个时候就需要使用 6to4 中断路由器 支持 IPv6 路由的网络设备一般都可以做 6to4 中继路由器 实际上 这个时候的组网对 6to4 网络的边缘路由器 使用 6to4 隧道与中继路由器相连的路由器 要求比较高 需要在边缘路在边缘路 由器上使用路由迭代和静态由器上使用路由迭代和静态 IPv6IPv6 路由配置路由配置 来实现将目的来实现将目的 IPv6IPv6 地址为纯地址为纯 IPv6IPv6 类型地址的类型地址的 报文也能自动进行报文也能自动进行 IPv4IPv4 封装并进入封装并进入 6to46to4 隧道转发给中断路由器隧道转发给中断路由器 配置 增加一条静态路由 ipv6 route 目的 IPv6 地址 纯 IPv6 地址 对端的 6to4IPv6 地址 6to4 隧道的最大的缺点在于 只能使用静态路由或 BGP 这是因为其他路由协议使用链路本 地地址来建立邻接关系和交换更新 而链路本地地址不符合 6to4 隧道的要求 以 2002 打头 且内嵌了 IPv4 地址 因此不能用于 6to4 隧道 另一个缺点是不能在隧道的 IPv4 路径上使用 NAT 这同样是由于 6to4 隧道对地址的要求 6to4 隧道与 NAT 的兼容性 6to4 隧道与静态 NAT 静态 NAT 在对数据进行翻译时 只进行只进行 IPv4IPv4 地址翻译地址翻译 不进行不进行 TCP UDPTCP UDP 端口端口 ICMP ICMP 查询查询 IDID 的翻译的翻译 所以不需要了解 IPv4 所封装的上层协议类型 上层协议类型不影响上层协议类型不影响对 IPv6 in IPv4 数据包的翻译数据包的翻译 但翻译后 各种隧道机制能否正常工作 内网的主机能否使用隧道技术 接入 IPv6 网络 则取决于地址翻译的类型 隧道的配置 6to4 地址格式中嵌有隧道端点的 IPv4 地址 对私网主机对私网主机 其内部局部地址就嵌在其内部局部地址就嵌在 IPv4IPv4 地址中地址中 以此 IPv6 地址为源地址的隧道数据包 虽然虽然 NATNAT 能对其能对其 IPv4IPv4 报头进行翻译报头进行翻译 但报文 接收端提取到的隧道端点地址却是主机的内部局部地址 在外网中在外网中 私有地址是不可路由的私有地址是不可路由的 用这地址作为隧道的对端显然是不正确的 因此 要让内网主机用 6to4 隧道接入 IPv6 网 关 键是让外网主机知道内网主机经过翻译后的全局地址键是让外网主机知道内网主机经过翻译后的全局地址 因此 内部主机若能在 6to4 地址中嵌 入自己的内部全局地址 或许就能以这类隧道访问 IPv6 网 以图 3 所示网络为例 通过实验进行分析 主机 A 安装的是 Windows 2000 B 是公网的一台主 机 安装的 Windows XP NAT 网关在 Cisco 2621 路由器上实现 主机 B 上 Windows XP 安装了 IPv6 协议栈后 会自动完成 6to4 的相关配置 在思科路由器上给主机 A 配置静态 NAT 其全 局地址为 2 2 2 3 在主机 A 的 Windows 2000 上配置 6to4 隧道 需要执行命令 6to4cfg 此 命令随 IPv6 协议栈一起安装 执行完后自动生成一个 6to4 接口 自动配置 6to4 地址 2002 101 102 101 102 嵌入的是内部局部地址嵌入的是内部局部地址 根据前面的设想 删除此地址 按主机 A 的 内部全局地址重新配置 6to4 地址 2002 202 203 202 203 用 ping6 命令测试 主机 A B 能能 以以 6to46to4 隧道连通隧道连通 6to4 隧道与动态 NAT 动态 NAT 与静态 NAT 基本是相同的 主机 A 的内部全局地址由 NAT 网关根据一定的策略 从地址池中选取 主机 A 每次对外部网络的访问 其内部全局地址都可能不同 很难按照静态 NAT 的方法给主机 A 配置 6to4 地址 A B 就无法以 6to4 隧道的形式通信 6to4 隧道与 NAPT PAT NAPT network address translation and port translation 在翻译数据包的 IPv4 地 址时 加入了对加入了对 TCP UDPTCP UDP 端口号端口号 ICMP ICMP 查询查询 IDID 的翻译的翻译 因此 NAPT 设备必须要能找到相应的 UDP TCP 报头和 ICMP 报头 隧道数据报文不同于普通的 IPv4 数据报文 其 UDP TCP 端口号 ICMP 查询 ID 位于 IPv6 报头及扩展报头之后 而目前的 NAPT 设备都不支持 IPv6 协议 无法 识别这种 IPv4 封装的 IPv6 报文 就找不到相应的 UDP TCP 报头和 ICMP 报头 此时如何处理 这种特殊的数据报文 在在 NATNAT 相关的相关的 RFC3056RFC3056 文档中文档中 并没有给出相应的办法并没有给出相应的办法 仍以图 3 所示 网络为例研究 NAPT 设备对这种报文的处理方式 在路由器上设置 NAPT 全局地址为 2 2 2 3 在 主机 A 上 ping6 主机 B 的 6to4 地址 没有成功 观察路由器上 NAPT 翻译过程可以得出 最后 路由器丢弃这种数据包 这是由于 Cisco2621 路由器不支持 IPv6 协议 把把 IPv6IPv6 inin IPv4IPv4 数数 据包仍按普通据包仍按普通 IPv4IPv4 数据包一样对待数据包一样对待 试图进行网络地址试图进行网络地址 端口翻译端口翻译 因此肯定是要失败的因此肯定是要失败的 6to4 隧道穿越 NAT 方案的设计 6to4 隧道穿越 NAT 困难 关键是外网的隧道端点得到的内网主机地址不合法 不能用来作为 隧道的另一端 采取一些特殊办法 使外网的隧道端点知道内部主机翻译后的全局地址 用此 地址作为隧道的另一端 外网的隧道数据包就能穿越 NAT 设备而到达内部主机 受静态 NAT 启发 如果 NAPT 网关不丢弃隧道数据包而是直接转发 内部主机以全局地址生成 6to4 地址 那么 外网回复的数据包是能被送到 NAPT 网关的 NATP 网关若能把数据包又送回 到内部主机 隧道就能正常工作 再进一步 内部主机以本地局部地址生成 6to4 地址 对回复 的数据包 NAPT 网关再进行相反方向的翻译 数据包就可以到达内部主机 而且这种方案中 内部主机不需要知道它的全局地址 所以具有较大的灵活性 方案的总体设计 以图 4 网络为例说明本文的穿越方案 每台主机以自己的内部地址配置 6to4 地址 独享 2002 v4addr 48 的地址前缀 按 6to4 原理 每台主机都是一台边界路由器 只不过它没有自 己的子网 把它称为退化了的边界路由器退化了的边界路由器 以主机 A 为例 它的本地 6to4 地址前缀为 2002 101 102 48 访问 IPv6 域的数据包在经 NAPT 时 将其源地址中嵌入的本地地址 1 1 1 2 翻译为 NAPT 的出口地址 200 201 43 160 形成形成 2002 cac9 2ba0 482002 cac9 2ba0 48 的地址前缀的地址前缀 那么外部那么外部 IPv6IPv6 域就可以把回复的数据包送到域就可以把回复的数据包送到 200 201 43 160200 201 43 160 接口接口 注意注意 此时此时 NAPTNAPT 修改的是数据包的修改的是数据包的 IPv6IPv6 的源地址的源地址 此时再进行相反 方向的翻译 主机 A 就能收到恢复的数据包 可以与外部正常通信 从外部来看 整个整个 NAPTNAPT 域域 是一个是一个 6to46to4 域域 边界路由器是边界路由器是 NAPTNAPT 网关网关 但实际上内部各个主机自成一个 6to4 域 NAPTNAPT 网网 关只是进行了地址翻译关只是进行了地址翻译 没有起到没有起到 6to46to4 边界路由的功能边界路由的功能 因此把每个主机形成的 6to4 域称 为微微 6to46to4 域域 把整个 NAPT 域称为宏宏 6to46to4 域域 NAPT 网关称为宏边界路由器宏边界路由器 无状态翻译机制 本文所述方案的关键在于宏边界路由器的地址翻译上 翻译策略分为有状态翻译和无状态翻有状态翻译和无状态翻 译两种译两种 有状态翻译要有状态翻译要记录记录每一个数据流的状态每一个数据流的状态 无状态翻译无状态翻译不记录不记录数据流的状态数据流的状态 只是根据 某种固定规则 处理流经的数据包 有状态翻译灵活 安全 能有效地防止外部网络对内网的 攻击 而无状态翻译简单 容易实现 本方案采用无状态翻译策略 不记录连接状态 把翻译规把翻译规 则嵌入到则嵌入到 6to46to4 地址格式中地址格式中 对出入的数据包对出入的数据包 直接进行地址翻译直接进行地址翻译 另外 在翻译时 采取 尽力尽力 而为而为 最小丢弃最小丢弃 的原则 把不能处理的数据包 交还给操作系统 由其决定处理办法 6to4 地址格式的扩展 采用无状态翻译 手工配置建立固定的地址映射关系 只适合于小规模应用 本方案中对 6to4 的地址格式进一步细化 提出一种扩展 6to4 地址格式 把地址映射关系嵌入其中 细化 后的地址格式如图 5 所示 在 6to4 地址格式的后 32 位 再嵌入一个 IPv4 地址 V4ADDR2 而且 V4ADDR1 V4ADDR2 本地接 口地址 把这种地址称其为扩展 6to4 地址格式 相应地把原来 6to4 地址格式称为标准 6to4 地址 在内部网络中 主机的 6to4 接口都配置扩展 6to4 格式地址 此时 V4ADDR1 V4ADDR2 为主机的 IPv4 内部局部地址 为了以后叙述方便 此类地址称为 IPv6 内部局部地址 按照前 面叙述的翻译方案 IPv6 内部局部地址 V4ADDR1 字段在翻译后被改为主机的 IPv4 内部全局 地址 相应地 把此时的地址称为 IPv6 内部全局地址 从这个全局地址中的 V4ADDR1 和 V4ADDR2 字段就可知道地址的映射关系 翻译规则 本文的地址翻译方案 涉及到两类数据包 内网主机发出的数据包和外部网络回复的数据包 具体的地址翻译规则如图 6 所示 假设内部全局地址为 V4ADDROUT 内部局部地址为 V4ADDRIN 转自 在 Windows XP 下配置 6to4 自动隧道 C ipv6 adu 3 2002 6401 102 1 2 6to4 的接口号为 3 C ipv6 rtu 2002 16 3 C ipv6 rtu 0 3 2002 6401 101 1 1 R1 interface tunnel 0 ipv6 address 2002 6401 101 1 1 64 tunnel source 100 1 1 1 tunnel mode ipv6ip 6to4 ipv6 route 2002 16 tunnel 0 IPv4 兼容 IPv6 自动隧道 Auto Tunnel 采用 IPv6 IPv4 封装格式 使用 IP Address 96 前缀的 IPv6 地址 用于隧道封装的目的 IPv4 地址从报文目的 IPv6 地址的低 32 位中自动获得 是点到多点点到多点的隧道技术 隧道两端必须都采用 IPv4 兼容地址 隧道上的链路本地地址根据配置的源 IPv4 地址自动生成 格式为 FE80 V4ADDR 只能在兼容地址间通信 且每个隧道节点都依赖不同的 IPv4 地址 有很大的局限性 逐渐被淘汰的过渡技术 配置 差别之一是 没有给隧道接口分配 IPv6 地址 将自动给隧道接口分配将自动给隧道接口分配 IPv6IPv6 地址地址 注意注意 不能配置不能配置 6401 101 6401 101 这样的地址这样的地址 正确的是正确的是 100 1 1 1 100 1 1 1 它是指定隧道源接口对应的 IPv4 兼容的 IPv6 地址 另一个差别是使用命令 tunnel mode ipv6ip auto tunnel interface tunnel 12 tunnel source loopback 101 tunnel mode ipv6ip auto tunnel 在 Windows XP 下配置 IPv4 兼容 IPv6 自动隧道 C ipv6 adu 2 100 1 1 2 C ipv6 rtu 0 2 100 1 1 1 R1 interface tunnel 0 tunnel source 100 1 1 1 tunnel mode ipv6ip auto tunnel 注 与 H3C 的区别是 Cisco 不需要配置隧道的 IPv6 地址 根据隧道源地址自动生成 而 H3C 需要配置 IPv6 地址 ISATAP 自动隧道 ISATAP IntraSite Automatic Tunnel Addressing Protocol 采用 IPv6 IPv4 封装格式 使用 Prefix 64bit 0 5EFE IP Address 格式的 IPv6 地址 隧道的链路本地地址和全球单播地址的格式相同 仅前缀不同 是是点到点点到点的隧道技术 主要用于主机 主机 主机 路由器的连接 设备用于隧道封装的目的 IPv4 地址从目的 IPv6 地址的低 32 位中自动获得 单播单播 IPv4IPv4 地址可以是地址可以是公网地址公网地址 也可以是私网地址也可以是私网地址 这样有效地避免了 IPv4 地址紧缺的问 题 容易受到外网的欺骗攻击和内网的 DOS 攻击 ISATAP 隧道不仅完成隧道功能 还可以通过 IPv4 网络承载承载 IPv6IPv6 网络的网络的 NDND 协议协议 从而使 跨 IPv4 网络的设备仍然可以进行 IPv6 设备的自动配置 ISATAP 的主要缺点是不支持不支持 IPv6IPv6 多播多播 不能跨越不能跨越 NATNAT 设备设备 配置 隧道接口的 IPv6 地址是自动分配的 根据网络前缀 interface tunnel 0 ipv6 address 12 12 64 eui 64 tunnel source boopback 101 tunnel mode ipv6ip isatap 在 Windows XP 下配置 ISATAP 自动隧道 R1 interface tunnel 0 ipv6 add 30 30 64 eui 64 ipv6 source f0 0 ipv6 mode ipv6ip isatap no ipv6 nd suppress ra C ipv6 rlu 2 100 1 1 1 与 H3C 命令的区别 转 6over4 隧道 RFC2529 6over4 隧道使得没有直接与 IPv6 路由器相连的孤立 IPv6 主机通过通过 IPv4IPv4 组播域组播域 以 此作为虚拟链路层 形成 IPv6 的互联 所以 在同一个 IPv4 的组播域中 至少需要有一 个使用 6over4 的 IPv6 路由器和该 6over4 主机连接 通过 6over4 机制 IPv6 可以独立于 底层的链路 而且可以跨越支持组播的 IPv4 子网 6over46over4 机制要求机制要求 IPv4IPv4 网络支持组播功能 但目前的大多数网络均没有此功能网络支持组播功能 但目前的大多数网络均没有此功能 因此 在实际应用中 它很少被利用 另外 利用 IPv4 的组播特性作为虚拟链路层 是一种本地 传送机制 适用范围很小 只适用于双栈主机间的通信 不能解决将一个孤立节点连接到 全局 IPv6 网络中的问题 6over4 隧道通常只能应用在网络边缘 例如企业网和接入网 隧道代理 隧道代理通常应用于独立的小型的 IPV6 站点 特别是独立的分布在 IPv4 互联网中的 IPV6 主机需要连接到已有的 IPV6 网的情况 隧道代理 TB 提供一种简化配置隧道的方法 可 以减少繁重的隧道配置工作 隧道代理的思想就是通过提供专用的服务器作为隧道代理 隧道代理的思想就是通过提供专用的服务器作为隧道代理 自动地管理用户发出的隧道请求自动地管理用户发出的隧道请求 用户通过 Tunnel Broker 能够方便 IPv4 和 IPV6 网络建 立隧道连接 从而访问外部可用的 IPV6 资源 隧道代理这种过渡机制对于在 IPV6 的早期 为吸引更多的 IPV6 使用者能方便快捷地实现 IPV6 连接有很大的益处 同时也为早期的 IPV6 提供商提供了一种非常简捷的接入方式 Teredo 隧道 位于 NAT 后的 IPv6 节点采用一般的隧道技术 IPv6 over IPv4 是不能和 NAT 域外的 IPv6 节点进行通信的 因为目前的因为目前的 NATNAT 一般不支持协议类型为一般不支持协议类型为 4141 也就是 也就是 IPv6 over IPv6 over IPv4IPv4 的数据包 的数据包 Teredo 隧道有别于一般的 IPv6 over IPv4 隧道 确切地讲 它是一种 IPv6 over UDP 隧道 数据包通过被封装在 UDP 载荷中的方式穿过 NAT Teredo 隧道的通信实体包括客户端 服务器 中继 特定于客户端 服务器 中继 特定于 TeredoTeredo 主机的中继 主机的中继 TeredoTeredo 客户端是指支持客户端是指支持 TeredoTeredo 隧道接口的隧道接口的 IPv4 v6IPv4 v6 节点节点 通过此隧道接口 数据包传送 给其他的 Teredo 客户端以及 IPv6 网络上的其他节点 通过通过 TeredoTeredo 中继中继 TeredoTeredo 地址地址 只是分配给 Teredo 客户端 其他实体并不分配其他实体并不分配 TeredoTeredo 地址地址 TeredoTeredo 服务器指连接服务器指连接 IPv4IPv4 网络与网络与 IPv6IPv6 网络的网络的 IPv4 v6IPv4 v6 节点节点 支持用来接收接收数据包的 Teredo 隧道接口 其常见作用 是帮助 Teredo 客户端进行地址配置 协助协助在 Teredo 客户端之间客户端之间或者客户端与纯客户端与纯 IPv6IPv6 主主 机之间机之间建立通信连接 它使用 UDPUDP 35443544 端口侦听 Teredo 通信 TeredoTeredo 中继指能够在中继指能够在 IPv4IPv4 网络上的网络上的 TeredoTeredo 客户端之间客户端之间 使用 Teredo 隧道接口 以及与纯纯 IPv6IPv6 主机之间主机之间传送传送数据包数据包 的 IPv4 v6 路由器 它使用 UDPUDP 35443544 端口端口侦听 Teredo 通信 特定于特定于 TeredoTeredo 主机的中继主机的中继指 同时具有 IPv4 与 IPv6 Internet 连接并无需无需 TeredoTeredo 中继中继即可通过通过 IPv4IPv4 网络直接与网络直接与 TeredoTeredo 客户端通信的客户端通信的 IPv4 v6IPv4 v6 节点节点 它使用 UDP 3544 端口侦听 Teredo 通信 它能够使 Teredo 客户端与 6to4 主机 带有非 6to4 全球地址前缀的 IPv6 主机或者组织内部地址中 使用全球前缀的 ISATAP 以及 6over4 主机进行有效通信 Teredo 隧道可使 NATNAT 域内域内的 IPv6 节点获得全球性的 IPv6 连接 在 IPv4 地址匮乏而 广泛运行 NAT 的地区 尤其是中国 它无疑具有较好的应用前景 但 Teredo 的运行需要 RelayRelay 的支持 而且它不支持隧道中间存在 SymmetricSymmetric NATNAT 另外 TeredoTeredo 地址采用规定地址采用规定 格式的前缀格式的前缀也不符合 IPv6 路由分等级的思想 这些不足在一定程度上将影响 Teredo 的部 署 假如原来的 IPv6 6to4 或者 ISATAP 连接可用 那么主机就不必作为 Teredo 的客户端 现在 越来越多的 IPv4 NAT 经过了升级以便能够支持 6to4 而且 IPv6 连接变得越来越 普遍 因此 Teredo 的使用将会越来越少 直到完全被放弃 多协议标记交换 Multi ProtocolLabelSwitching 简称 MPLS 隧道 使用 MPLS 技术 孤立的 IPv6 域能够通过一个 MPLS IPv4 核心网络在彼此间进行通信 因为 MPLS 转发是基于标记的基础之上 而非基于 IP 包头本身 所以这种实施需要的骨 干网基础设施升级大大减少 核心路由器的重新配置也有所下降 从而为部署 IPv6 提供了 一个非常经济合算的方法 此外 MPLS 固有的 VPN 与业务负载技术维
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 购买疫苗的合同范本
- 公猪种猪售卖合同范本
- 毛驴养殖售卖合同范本
- 租赁商业店铺合同范本
- 餐饮的合伙合同范本
- 政府项目设计合同范本
- 长安买车销售合同范本
- 运输土合同范本简单
- 律师拟定劳务合同范本
- 工位器具维修合同范本
- 无人机飞行安全知识讲座
- 河南省濮阳市2024-2025学年八年级上学期11月期中语文试题(含答案)
- 土木公司大直径双曲线冷却塔施工技术交流
- 浪潮社会招聘在线测评题
- 电缆价格自动核算表
- Unit 5 Reveling nature Understanding ideas A journey of Discovery教学设计 2023-2024学年外研版(2019)高中英语选择性必修第一册
- 2024年内蒙古呼伦贝尔农垦拉布大林上库力三河苏沁农牧场招聘115人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 2024年全国网络安全行业职业技能大赛(数据安全管理员)考试题库-下(多选、判断题)
- DL∕T 1878-2018 燃煤电厂储煤场盘点导则
- 储藏室买卖协议模板
- 知识题库-人社练兵比武竞赛测试题及答案(九)
评论
0/150
提交评论