当前位置: 首页 > news >正文

HCIE-IPv6过渡技术

IPv6过渡技术

  • IPv6过渡技术简介
  • 隧道技术:IPv6 over IPv4
  • 手动隧道
    • 实验
  • 自动隧道
    • 实验
  • 隧道技术:6VPE
    • 实验
    • 6VPE配置举例
  • 转换技术:NAT64
  • NAT64前缀
  • 动态NAT64映射
  • 静态NAT64映射
    • 动态NAT64配置举例

IPv6过渡技术简介

  • 当前世界上不同地区对部署IPv6的需求强烈程度不一,且当前IPv4网络仍然占主流地位,因此短时间内IPv6和IPv4将会共存,可以借助双栈技术、隧道技术、转换技术,实现IPv4/IPv6共存业务的互通。
    在这里插入图片描述

隧道技术:IPv6 over IPv4

  • IPv6 over IPv4是通过隧道技术,使IPv6报文在IPv4网络中传输,实现IPv6网络之间的孤岛互连。
  • IPv6 over IPv4隧道原理:
    在这里插入图片描述
  • IPv6 over IPv4隧道分类:
  • IPv6 over IPv4隧道的源IPv4地址必须为手工配置,而目的IPv4地址有手工配置和自动获取两种方式。根据隧道目的IPv4地址的获取方式不同可以将IPv6 over IPv4隧道分为手动隧道和自动隧道

手动隧道

  • 手动隧道即边界设备不能自动获得隧道目的IPv4地址,需要手工配置,报文才能正确发送至隧道终点。
  • 在这里插入图片描述

实验

在这里插入图片描述

自动隧道

  • 自动隧道中,用户仅需要配置设备隧道的源IPv4地址,隧道的目的IPv4地址由设备自动生成。为了使设备能够自动产生目的IPv4地址,隧道接口的IPv6地址采用内嵌IPv4地址的特殊IPv6地址形式。设备从IPv6报文中的目的IPv6地址中解析出IPv4地址,然后以这个IPv4地址代表的节点作为隧道的终点。
    在这里插入图片描述
  • IPv4兼容IPv6自动隧道数据转发流程:
    • IPv6报文到达R1后,以目的地址::A01:102查找IPv6路由,发现路由的下一跳为虚拟的Tunnel口。
    • R1对IPv6报文进行了封装。封装的时候,IPv6报文被封装为IPv4报文,IPv4报文中的源地址为隧道的源IPv4地址10.1.1.1,而目的IPv4地址直接从IPv4兼容IPv6地址::A01:102的后32位拷贝过来即10.1.1.2。
    • 这个报文被路由器从隧道口发出后,在IPv4的网络中被路由转发到目的地10.1.1.2,也就是R2。R2收到报文后,进行解封装,把其中的IPv6报文取出,送给IPv6协议栈进行处理。
    • R2返回R1的报文也是按照这个过程来进行的。
  • 6to4隧道:
    • 6to4地址的网络前缀长度为64 bit:
      • 前48 bit(2002: a.b.c.d)被分配给路由器上的IPv4地址决定了,用户不能改变。
      • 后16位(SLA)是由用户自己定义的。
    • 6to4地址解释:
      • FP(Format Prefix):可聚合全球单播地址的格式前缀,其值为001。
      • TLA(Top Level Aggregator):顶级聚合标识符,其值为0x0002。
      • SLA(Site Level Aggregator):站点级聚合标识符。

实验

在这里插入图片描述

隧道技术:6VPE

  • 6PE技术本质上相当于将所有通过6PE连接的IPv6业务都放在一个VPN内,无法做逻辑隔离,因此只能用于开放的、无保护的IPv6网络互联,如果需对所连接的IPv6业务做逻辑隔离,即实现IPv6 VPN,则需要借助于6VPE(IPv6 VPN Provider Edge, IPv6 VPN供应商边缘路由器)技术。

  • 6VPE技术是基于BGP/MPLS IPv6 VPN的扩展技术,在IPv4 MPLS骨干网上承载IPv6的VPN业务。
    在这里插入图片描述

  • 与6PE技术相比,6VPE技术通过MP-BGP在IPv4 MPLS骨干网发布VPNv6路由,通过MPLS分配标签来标识IPv6报文,并使用LSP、MPLS TE等隧道机制在骨干网上实现私网数据的传送。
    在骨干网络是IPv4的情况下,PE之间使用IPv4地址建立VPNv6邻居,传递VPNv6路由,VPNv6路由可以选择骨干网中的IPv4隧道来承载IPv6 VPN业务。

  • 6VPE除PE和CE之间运行的路由协议与IPv4 VPN不同外,其它所有特性原理都与IPv4 VPN相同。

实验

在这里插入图片描述

  • 注:要完成次实验PE设备必须使用Router设备,其他普通路由器不支持vpnv6功能

6VPE配置举例

  • 配置需求:
    • 不同用户站点希望通过公网进行IPv6的数据通信,而又不希望公网感知到站点内部的路由信息,且希望实现业务隔离。
    • 如图所示,CE1和CE2属于vpna。希望通过配置6VPE,使得vpna的内部站点可以通过MPLS骨干网互相访问,同时希望PE与CE之间采用静态路由的方式来交换路由。
      在这里插入图片描述
  • 1、配置各接口的IPv4和IPv6地址。(略)
  • 2、配置PE1和PE2之间的IS-IS路由协议,使PE之间可以互相学习到去往对方Loopback0的路由。(略)
  • 3、骨干网上使能MPLS、MPLS LDP,PE之间建立LDP LSP。
[PE1] mpls lsr-id 2.2.2.2
[PE1] mpls
[PE1-mpls] quit
[PE1] mpls ldp
[PE1-mpls-ldp] quit
[PE1] interface GigabitEthernet0/0/2
[PE1-GigabitEthernet2/0/0] mpls
[PE1-GigabitEthernet2/0/0] mpls ldp
  • 4、PE上创建支持IPv6地址族的VPN实例,并将PE连接CE的接口与VPN实例绑定。
[PE1] ip vpn-instance vpna
[PE1-vpn-instance-vpna] ipv6-family
[PE1-vpn-instance-vpna-af-ipv6] route-distinguisher 100:1
[PE1-vpn-instance-vpna-af-ipv6] vpn-target 22:22 both[PE1] interface GigabitEthernet0/0/1
[PE1-GigabitEthernet0/0/1] ip binding vpn-instance vpna
[PE1-GigabitEthernet0/0/1] ipv6 enable
[PE1-GigabitEthernet0/0/1] ipv6 address 2001:DB8:1::2 64
  • 5、PE之间建立VPNv6对等体关系。
[PE1] bgp 200
[PE1-bgp] peer 3.3.3.3 as-number 200
[PE1-bgp] peer 3.3.3.3 connect-interface loopback 0
[PE1-bgp] ipv6-family vpnv6
[PE1-bgp-af-vpnv6] peer 3.3.3.3 enable[PE2] bgp 200
[PE2-bgp] peer 2.2.2.2 as-number 200
[PE2-bgp] peer 2.2.2.2 connect-interface loopback 0
[PE2-bgp] ipv6-family vpnv6
[PE2-bgp-af-vpnv6] peer 2.2.2.2 enable
  • 6、在PE和CE上配置静态路由,并在PE上将静态路由引入到BGP-VPN实例IPv6地址族路由表中。
[PE1] ipv6 route-static vpn-instance vpna 2001:DB8:5:: 64 2001:DB8:1::1
[PE1] bgp 200
[PE1-bgp] ipv6-family vpn-instance vpna
[PE1-bgp6-vpna] import-route static[CE1] ipv6 route-static :: 0 2001:DB8:1::2[PE2] ipv6 route-static vpn-instance vpna 2001:DB8:6:: 64 2001:DB8:2::1
[PE2] bgp 200
[PE2-bgp] ipv6-family vpn-instance vpna
[PE2-bgp6-vpna] import-route static[CE2] ipv6 route-static :: 0 2001:DB8:2::2
  • 7、查看配置结果
    1. 在PE上查看VPNv6对等体的建立情况。
[PE1]display bgp vpnv6 all peerBGP local router ID : 10.0.0.1Local AS number : 200Total number of peers : 1                 Peers in established state : 1Peer	V     AS	MsgRcvd	MsgSent	OutQ	Up/Down	State	PrefRcv3.3.3.3	4     200	19       	19     	 0 	00:12:25 	Established    1
    1. CE1可以Ping通CE2的Loopback1地址。
[CE1]ping ipv6 -a 2001:db8:5::5 2001:db8:6::6PING 2001:db8:6::6 : 56  data bytes, press CTRL_C to breakRequest time outReply from 2001:DB8:6::6 bytes=56 Sequence=2 hop limit=62  time = 50 msReply from 2001:DB8:6::6 bytes=56 Sequence=3 hop limit=62  time = 40 msReply from 2001:DB8:6::6 bytes=56 Sequence=4 hop limit=62  time = 30 msReply from 2001:DB8:6::6 bytes=56 Sequence=5 hop limit=62  time = 30 ms--- 2001:db8:6::6 ping statistics ---5 packet(s) transmitted4 packet(s) received20.00% packet lossround-trip min/avg/max = 30/37/50 ms

转换技术:NAT64

  • NAT64是一种将IPv6网络地址转换成IPv4网络地址的NAT(Net Address Translation,网络地址转换)技术。

  • 当IPv4网络的节点需要直接与IPv6网络的节点进行通信时,默认情况下是行不通的,因为两个协议栈无法兼容。但是借助一台设备,由该设备来实现IPv6与IPv4的互转,那么上述通信就可以实现了。
    在这里插入图片描述

  • IPv6网络用户访问IPv4网络服务器的应用场景。

    • 在向IPv6网络演进的前期,运营商为用户提供IPv6单栈接入能力,而很多Internet服务器还是IPv4的,不具备双栈能力。这种情况下,运营商提供NAT64设备,使IPv6单栈用户可以访问IPv4服务器。
    • 该场景下,运营商只为用户分配IPv6地址,NAT64设备支持双栈,纯IPv6的访问通过IPv6路由来实现;而IPv6访问IPv4业务通过NAT64映射技术来完成。
    • 当IPv6用户较少且IP地址固定时,可以通过静态NAT64映射实现IPv6访问IPv4业务;当网络中存在大量IPv6用户且IP地址不固定时,可以通过动态NAT64映射实现IPv6访问IPv4业务。
  • IPv4网络用户访问IPv6网络服务器的应用场景。

    • 在向IPv6网络演进的后期,许多服务提供商已经开始提供IPv6服务。而Internet上还有很多IPv4单栈用户存在,为了保留住用户,服务提供商提供NAT64设备,使IPv4单栈用户可以访问服务器。
    • 该场景下,服务提供商只为服务器分配IPv6地址,接入设备不需要升级。NAT64设备部署在出口,必须支持双栈,其中纯IPv6的访问通过IPv6路由来实现;而IPv4对IPv6的访问通过静态NAT64映射技术来完成。

NAT64前缀

  • 设备通过判断IPv6报文的目的地址中是否包含NAT64前缀来初步判断是否对该IPv6报文进行NAT64处理。
  • NAT64前缀分为两种形式:
    • 知名前缀:即64:FF9B::/96,缺省情况下已存在,无需配置。
    • 自定义前缀:前缀长度为32、40、48、56、64或96。
  • 根据前缀长度不同,IPv4地址嵌入IPv6地址时,嵌入的位置存在差异,具体差异如图所示。
    • PL(Prefix Length)表示前缀长度;Suffix表示后缀,可以任意取值,设备不处理该字段;U为保留位,8 bit,取值必须为0。
      在这里插入图片描述
  • NAT64分类:
    • 基于PAT方式的NAT64转换:NAT64过程中对于地址和端口同时进行转换操作,[IPv6地址,端口]与[IPv4地址,端口]相互映射。即,转换前后的地址是多对一的关系,多个IPv6地址可以转换成同一个IPv4地址(映射关系通过端口的不同来区分)。该方式是常用的NAT64转换方式。
    • 基于NO-PAT方式的NAT64转换:NAT64过程中对于地址进行转换操作,不对端口进行转换操作,[IPv6地址]与[IPv4地址]相互映射。即,转换前后的地址是一对一的关系。

动态NAT64映射

  • 当网络中存在大量IPv6用户且IP地址不固定时,IPv6用户访问IPv4 Server,报文到达设备后,设备会将IPv6地址动态转换为地址池中的IPv4地址,并将IPv6报文转换为IPv4报文,发送给IPv4 Server,实现IPv6用户访问IPv4业务。
  • 在此场景中NAT64设备通过IPv6到IPv4的流量触发创建会话表,并记录地址映射关系;IPv4到IPv6的流量匹配会话表后,查找地址映射关系进行反向回复。
    在这里插入图片描述

静态NAT64映射

  • 静态NAT64通过静态配置IPv6和IPv4地址的映射关系,不需要刷新也不老化,一直存在。这样IPv6到IPv4以及IPv4到IPv6的流量都能够触发创建会话表,这不仅可以实现IPv6用户访问IPv4服务器,也为IPv4用户访问IPv6服务器提供了一种方案。
  • IPv6用户访问IPv4业务时,设备将报文的目的IPv6地址静态映射为IPv4地址;IPv4用户访问IPv6业务时,设备将报文的目的IPv4地址静态映射为IPv6地址。
    在这里插入图片描述

动态NAT64配置举例

  • 配置需求:
    • FW1支持双协议栈,连接IPv6网络以及IPv4网络。
    • 位于IPv6网络中的PC(IP地址不固定且数量较多)通过域名example.huawei.com能够访问位于IPv4网络中的Server。
      在这里插入图片描述
  • IPv6 PC发出的IPv6报文中的目的地址是NAT64地址:2001:DB8:1::101:102/96。
  • 其他配置:
    • 配置DNS64设备。
      • 配置DNS64设备的IPv6前缀为FW1的NAT64前缀2001:DB8:1::/96。
      • 配置DNS64设备分别与PC和Server路由可达。
    • 配置PC的IPv6地址、路由和DNS server。(IPv6地址和路由的配置方法与PC的操作系统有关,配置方法略。)
      • 配置PC的IPv6地址为2001:DB8::1/64,与FW1的接口GE1/0/1同一网段。
      • 配置PC去往2001:DB8:1::/96网段的路由下一跳为2001:DB8::2。
      • 配置PC的DNS server地址为DNS64设备的IPv6地址。
    • 配置Server的IPv4地址。(IPv4地址的配置方法与Server的操作系统有关,配置方法略。)
      • 配置Server的IPv4地址为1.1.1.2/24,与FW1的接口GE1/0/2同一网段。

  • 1、配置FW1的IPv4和IPv6地址,配置安全区域。自行配置
  • 2、配置安全策略。
[FW1] security-policy
[FW1-policy-security] rule name sec1
[FW1-policy-security-rule-sec1] source-zone untrust
[FW1-policy-security-rule-sec1] destination-zone trust
[FW1-policy-security-rule-sec1] source-address 2001:db8:: 64
[FW1-policy-security-rule-sec1] action permit

3、开启FW1接口GE1/0/1的NAT64功能。

[FW1] interface GigabitEthernet 1/0/1
[FW1-GigabitEthernet1/0/1] nat64 enable

4、配置NAT64的前缀为2001:db8:1::/96(自定义前缀)。

[FW1] nat64 prefix 2001:db8:1:: 96

5、配置NAT64地址池。

[FW1] nat address-group pool1
[FW1-address-group-pool1] mode pat
[FW1-address-group-pool1] section 1 1.1.1.6 1.1.1.10

6、配置NAT64动态映射。

[FW1] nat-policy
[FW1-policy-nat] rule name nat64
[FW1-policy-nat-rule-nat64] nat-type nat64
[FW1-policy-nat-rule-nat64] source-zone untrust
[FW1-policy-nat-rule-nat64] destination-zone trust
[FW1-policy-nat-rule-nat64] source-address 2001:db8:: 64
[FW1-policy-nat-rule-nat64] action source-nat address-group pool1

相关文章:

  • 【2023】LitCTF
  • Django中间件
  • K8s:无状态
  • 排序---快速排序
  • msfconsole利用Windows server2008cve-2019-0708漏洞入侵
  • c#未能加载基类System错误 这台计算机上缺少此项目引用的 NuGet 程序包
  • HikariCP连接池初识
  • 基于机器学习的锂电池RUL SOH预测
  • 【JavaScript脚本宇宙】表格大变身:探秘JavaScript库的数据表格魔法
  • 设计模式七大原则-单一职责原则SingleResponsibility
  • 卡码网用友提前批笔试 | 121 大数减法、122 滑动窗口最大值、117 软件架构
  • Selenium IDE 工具
  • Python框架scrapy有什么天赋异禀
  • 技术前沿 |【大模型InstructBLIP进行指令微调】
  • PostgreSQL的视图pg_tables
  • Android 架构优化~MVP 架构改造
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • Consul Config 使用Git做版本控制的实现
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • Hibernate最全面试题
  • JavaScript标准库系列——Math对象和Date对象(二)
  • MySQL QA
  • Sass 快速入门教程
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • unity如何实现一个固定宽度的orthagraphic相机
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 大数据与云计算学习:数据分析(二)
  • 番外篇1:在Windows环境下安装JDK
  • 给新手的新浪微博 SDK 集成教程【一】
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 如何进阶一名有竞争力的程序员?
  • 使用Gradle第一次构建Java程序
  • 使用parted解决大于2T的磁盘分区
  • 试着探索高并发下的系统架构面貌
  • 我感觉这是史上最牛的防sql注入方法类
  • 一、python与pycharm的安装
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • zabbix3.2监控linux磁盘IO
  • ​数据链路层——流量控制可靠传输机制 ​
  • # Kafka_深入探秘者(2):kafka 生产者
  • #、%和$符号在OGNL表达式中经常出现
  • #HarmonyOS:基础语法
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (vue)el-cascader级联选择器按勾选的顺序传值,摆脱层级约束
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (论文阅读40-45)图像描述1
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (七)Appdesigner-初步入门及常用组件的使用方法说明
  • (七)理解angular中的module和injector,即依赖注入
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • .gitignore文件_Git:.gitignore
  • .NET Core中的时区转换问题
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .pyc文件是什么?