实验二十五:从IPv4向IPv6过渡所使用的隧道技术

实验二十五:从IPv4向IPv6过渡所使用的隧道技术 一、实验目的与核心原理1.1 实验目的理解从 IPv4 向 IPv6 过渡所使用的隧道技术底层运作机制。掌握在 Cisco 路由器上配置 IPv6 over IPv4 手动隧道的方法。验证并深层剖析经过隧道实现两个 IPv6 孤岛网络跨越 IPv4 骨干网通信的全过程。1.2 核心原理理论阐述在向 IPv6 演进的过渡期常出现两个 IPv6 网络被纯 IPv4 骨干网隔离的拓扑环境。由于 IPv4 路由器无法解析 IPv6 协议栈隧道技术Tunneling应运而生。隧道技术本质上是将 IPv6 数据报作为净荷Payload封装在 IPv4 数据报中。边界路由器通过在 IPv6 报文外部附加一层新的 IPv4 报头并将外部 IPv4 报头中的协议字段Protocol严格置为 41十六进制 0x29以此实现跨域透明传输。【知识拓展隧道技术的通俗理解】为了便于理解可将隧道技术想象为一次“跨国寄快递”写信产生 IPv6 数据孤岛 A 上的主机写了一封信信封上写着先进的 IPv6 收件地址。代收点打包隧道封装 Encapsulation信件送到边界路由器。边界路由器深知中间的海洋IPv4骨干网只认 IPv4 地址。于是它拿出一个大号的 IPv4 快递盒把整封 IPv6 信件装进去并在盒子上写下对岸路由器的 IPv4 地址同时盖上一个暗号印章“协议号 41”。海洋运输透明传输盒子进入 IPv4 骨干网。中间的搬运工骨干路由器不关心盒子里装了什么只看外层 IPv4 地址进行逐跳转发。终点拆箱解封装 Decapsulation对岸边界路由器收到盒子看到“协议号 41”的暗号立刻判定内部封装了 IPv6 报文。于是它依法拆除外层 IPv4 纸箱将内部完好无损的 IPv6 信件投递给最终的收件人。二、 网络拓扑构建与地址规划本阶段旨在完成网络物理拓扑的搭建并对全网节点的网络层参数IP地址、子网掩码/前缀长度及默认网关进行严谨规划与标识为后续双栈配置及隧道封装提供准确的寻址依据。2.1 构建网络物理拓扑在Packet Tracer网络仿真平台中根据实验需求选取相应设备并完成物理链路连接。本实验模拟跨越IPv4骨干网的IPv6孤岛通信场景所需核心设备及角色定义如下终端节点PC0、PC1部署于拓扑两端分别模拟处于两个独立IPv6网络环境中的主机设备。边界路由器Router0、Router2部署于IPv6网络与IPv4骨干网的交界处。该类设备需具备双栈Dual Stack处理能力负责内网IPv6数据报与外网IPv4数据报的路由与隧道封装/解封装。骨干路由器Router1部署于拓扑中枢模拟纯IPv4骨干互联网。该设备仅负责IPv4网络层的路由转发对承载的IPv6隧道数据不进行协议层面的解析。2.2 查看并标识设备接口与网络参数1查明并标注物理接口名称在进行连线与配置前必须准确查明并标注各路由器所使用的物理接口编号如GigabitEthernet0/0、GigabitEthernet0/1。接口的错接或混淆将直接导致路由表生成错误及网络不可达。建议在仿真软件中开启端口标签显示功能以便直观核对物理连线情况。2IPv6地址前缀理论阐述在标注网络参数时需注意IPv6与IPv4在地址体系上的理论差异IPv6体系中没有“子网掩码Subnet Mask”的概念但仍可采用CIDR无类别域间路由的形式进行表示。地址后方斜线/附带的数值在IPv6中被严格定义为“网络前缀的长度Prefix Length”。除IP地址和前缀长度外终端设备还必须明确标识其默认网关的IP地址。3全网IP地址与路由参数规划依据上述理论指导对全网设备接口的具体网络参数进行如下详尽规划并在拓扑图中利用文本工具完成规范标注。表1终端设备IPv6网络地址规划表(注终端PC的默认网关必须精确指向与其处于同一局域网内的边界路由器内网接口地址。)设备名称接入网络位置IP 地址 (IPv6)前缀长度默认网关 (IPv6)PC0左侧IPv6网络2001::1/642001::16PC1右侧IPv6网络2002::1/642002::16表2路由设备接口与网段规划表(注为节约IPv4公网地址资源骨干网点对点链路采用/30的掩码长度其对应的点分十进制子网掩码为255.255.255.252。)路由器角色接口编号对端连接设备网络协议属性分配 IP 地址子网掩码 / 前缀长度Router0(左侧边界)Gig0/0PC0 (内网)IPv62001::16/64Gig0/1Router1 (外网)IPv410.0.0.1255.255.255.252Router1(IPv4骨干)Gig0/0Router0 (外网)IPv410.0.0.2255.255.255.252Gig0/1Router2 (外网)IPv420.0.0.1255.255.255.252Router2(右侧边界)Gig0/0Router1 (外网)IPv420.0.0.2255.255.255.252Gig0/1PC1 (内网)IPv62002::16/64三、 底层网络寻址与IPv4骨干网连通性构建在配置IPv6过渡隧道之前必须首先完成物理网络中各节点的网络层地址分配并确保底层IPv4骨干网络的路由可达性。此阶段为隧道技术的实施提供必要的基础承载环境。3.1 终端节点与路由设备基础参数配置1终端节点PC0与PC1IPv6参数配置进入 PC 桌面配置界面依据表 1 为 PC0 和 PC1 静态配置 IPv6 地址、前缀及默认网关。设备名称IP 地址 (IPv6)前缀长度默认网关PC02001::1/642001::16PC12002::1/642002::162边界路由器Router0基础接口配置Router0作为连接左侧IPv6网络与IPv4骨干网的边界设备需同时启用IPv6与IPv4双栈功能。其具体配置命令与参数意义如下Routerenable // 从用户执行模式进入特权执行模式 Router#configure terminal // 从特权执行模式进入全局配置模式 Router(config)#ipv6 unicast-routing // 【关键】全局开启 IPv6 单播路由转发功能 ! --- 配置连接内部 IPv6 网络的接口 --- Router(config)#interface GigabitEthernet0/0 // 进入接口 Gig0/0 (连接PC0) Router(config-if)#ipv6 address 2001::16/64 // 配置静态 IPv6 地址 Router(config-if)#ipv6 enable // 使能接口的 IPv6 功能 Router(config-if)#no shutdown // 开启该接口 Router(config-if)#exit // 规范操作退出到全局配置模式 ! --- 配置连接外部 IPv4 骨干网的接口 --- Router(config)#interface GigabitEthernet0/1 // 进入接口 Gig0/1 (连接骨干网) Router(config-if)#ip address 10.0.0.1 255.255.255.252 // 配置 IPv4 地址 Router(config-if)#no shutdown // 开启该接口 Router(config-if)#exit // 退出到全局配置模式3骨干路由器Router1基础接口配置Router1模拟纯IPv4骨干网络环境负责IPv4数据报的透明传输仅需配置IPv4接口即可。Routerenable // 从用户执行模式进入特权执行模式 Router#configure terminal // 从特权执行模式进入全局配置模式 ! --- 配置连接 路由器0 (左侧) 的接口 --- Router(config)#interface GigabitEthernet0/0 // 从全局配置模式进入接口 Gig0/0 的配置模式 Router(config-if)#ip address 10.0.0.2 255.255.255.252 // 配置 IPv4 地址与路由器0的Gig0/1在同一网段 Router(config-if)#no shutdown // 开启该接口使其物理状态变为 UP Router(config-if)#exit // 退出接口配置模式返回到全局配置模式 ! --- 配置连接 路由器2 (右侧) 的接口 --- Router(config)#interface GigabitEthernet0/1 // 进入接口 Gig0/1 的配置模式 Router(config-if)#ip address 20.0.0.1 255.255.255.252 // 配置 IPv4 地址准备与路由器2连接 Router(config-if)#no shutdown // 开启该接口使其物理状态变为 UP Router(config-if)#exit // 退出到全局配置模式4边界路由器Router2基础接口配置Router2的功能与Router0对称连接右侧IPv6网络与IPv4骨干网。Routerenable // 从用户执行模式进入特权执行模式 Router#configure terminal // 从特权执行模式进入全局配置模式 Router(config)#ipv6 unicast-routing // 【关键】全局开启 IPv6 单播路由转发功能 (边界路由器必须开启) ! --- 1. 配置连接内部 IPv6 网络的接口 (连接 PC1) --- Router(config)#interface GigabitEthernet0/1 // 进入接口 Gig0/1 的配置模式 (注意看拓扑图R2连接PC的是Gig0/1) Router(config-if)#ipv6 address 2002::16/64 // 给该接口配置静态 IPv6 地址 (作为内网 PC1 的默认网关) Router(config-if)#ipv6 enable // 使能接口的 IPv6 功能 (激活后会自动生成链路本地地址) Router(config-if)#no shutdown // 开启该接口使其物理状态变为 UP Router(config-if)#exit // 退出到全局配置模式 ! --- 2. 配置连接外部 IPv4 骨干网的接口 (连接 Router1) --- Router(config)#interface GigabitEthernet0/0 // 进入接口 Gig0/0 的配置模式 Router(config-if)#ip address 20.0.0.2 255.255.255.252 // 配置 IPv4 地址接入骨干网 Router(config-if)#no shutdown // 开启该接口使其物理状态变为 UP Router(config-if)#exit // 退出到全局配置模式3.2 路由器IPv4静态路由配置为保障隧道两端的物理接口在 IPv4 骨干网中相互可达需在两侧边界路由器添加底层静态路由。(注由于骨干路由器 Router1 直接物理连接 10.0.0.0/30 与 20.0.0.0/30 两个网段其系统路由表中已自动生成直连路由Connected Routes故无需额外配置 IPv4 静态路由即可实现双向转发。)1路由器Router0的IPv4静态路由配置Routerenable // 从用户执行模式进入特权执行模式 Router#configure terminal // 从特权执行模式进入全局配置模式 ! --- 配置底层 IPv4 静态路由 --- ! 目的网络: 20.0.0.0子网掩码: 255.255.255.252 (/30)下一跳地址: 10.0.0.2 (对端路由器1的接口) ! 作用: 告诉路由器0想要到达对端边界路由器2的外网接口需要把数据包交给相邻的路由器1转发 Router(config)#ip route 20.0.0.0 255.255.255.252 10.0.0.22路由器Router2的IPv4静态路由配置Routerenable // 从用户执行模式进入特权执行模式 Router#configure terminal // 从特权执行模式进入全局配置模式 ! --- 配置底层 IPv4 静态路由 --- ! 目的网络: 10.0.0.0子网掩码: 255.255.255.252 (/30)下一跳地址: 20.0.0.1 (对端路由器1的接口) ! 作用: 告诉路由器2想要到达对端边界路由器0的外网接口需要把数据包交给相邻的路由器1转发 Router(config)#ip route 10.0.0.0 255.255.255.252 20.0.0.13.3 网络协议监视与连通性验证1监视网络协议选择进入模拟器的仿真模式Simulation在事件列表过滤器中进行设置仅选择监视网际控制报文协议ICMPv6的相关事件以排除其他协议报文对实验现象的干扰。2各网段局部连通性测试及目的分析在实时模式Realtime下分别执行以下局部连通性测试在PC0的命令行使用Ping命令ping 2001::16测试PC0与Router0之间的连通性。在Router0的命令行使用Ping命令ping 20.0.0.2测试Router0与Router2骨干网两端之间的连通性。在Router2的命令行使用Ping命令ping 2002::1测试Router2与PC1之间的连通性。执行上述分段测试的主要目的包含以下五点 第一测试整体网络拓扑是否构建成功且物理链路正常 第二测试终端计算机的IPv6地址与默认网关是否配置正确 第三测试各路由器相关接口的IP地址和子网掩码是否配置正确 第四测试为路由器Router0和Router2各自添加的IPv4静态路由条目是否生效并准确引导数据流 第五促使Router0与Router1、Router1与Router2通过测试流量预先获取到对方相关接口的MAC地址完善地址解析协议ARP缓存。此举可避免在后续实验观察环节中因ARP广播寻址过程产生多余报文从而影响对隧道传输现象的直观观察。注若上述局部测试失败需立即检查物理拓扑、节点IP参数、静态路由条目以及接口的UP/DOWN状态。3跨网段全局连通性测试与冲突现象分析在确认上述分段测试均通过后在PC0的命令行中使用Ping命令ping 2002::1测试PC0与远端主机PC1之间的连通性。预期测试结果无法通信提示目标主机不可达。理论现象分析这是由于PC0与PC1各自处于独立的IPv6网络中而连接这两个IPv6网络的核心链路层使用的是纯IPv4网络。根据网络体系结构协议规范IPv6数据报无法直接通过IPv4网络进行路由与传输。因此该现象符合理论预期也论证了在IPv4网络中建立传输IPv6数据报的隧道Tunnel的必要性与前提条件。四、 IPv6过渡隧道建立与引流路由配置在确认底层IPv4骨干网络路由可达后本阶段将在两端边界路由器Router0与Router2之间构建逻辑上的IPv6 over IPv4隧道并通过配置IPv6静态路由将孤岛间的IPv6数据流精确引入该隧道进行封装与传输。4.1 虚拟隧道接口Tunnel的创建与参数配置在IPv4网络中建立传输IPv6数据报的隧道实质上是在边界路由器上实例化一个逻辑接口Tunnel Interface。该接口必须指定物理封装的源端本地IPv4出接口与目的端对端路由器IPv4接口并定义其封装模式为IPv6IP即IPv6 over IPv4手动隧道。此外为了建立隧道两端的IPv6邻接关系需为隧道接口分配一个独立的IPv6网段本实验规划为2003::/64。1边界路由器Router0的隧道配置Routerenable Router#configure terminal // 从特权执行模式进入全局配置模式 Router(config)#interface tunnel 1 // 建立接口号为 1 的隧道 (进入隧道配置模式) Router(config-if)#tunnel source GigabitEthernet0/1 // 指定隧道源端为本地的 IPv4 物理出口 Router(config-if)#ipv6 address 2003::1/64 // 为隧道接口配置专属的 IPv6 地址 Router(config-if)#tunnel destination 20.0.0.2 // 指定隧道目的端为对端 R2 的 IPv4 地址 Router(config-if)#tunnel mode ipv6ip // 指定隧道封装模式为 IPv6-over-IPv4 手动隧道 Router(config-if)#no shutdown // 显式开启隧道接口 Router(config-if)#exit // 退出接口配置模式回到全局配置模式2边界路由器Router2的隧道配置配置逻辑与Router0对称。需严谨核实本地的源端物理接口名称避免与内网接口混淆。Routerenable Router#configure terminal // 从特权执行模式进入全局配置模式 Router(config)#interface tunnel 1 // 建立接口号为 1 的隧道 (进入隧道配置模式) Router(config-if)#tunnel source GigabitEthernet0/0 // 【修正】指定隧道源端为本地的 IPv4 物理出口 (R2是Gig0/0) Router(config-if)#ipv6 address 2003::2/64 // 为隧道接口配置专属的 IPv6 地址 (与R0的隧道IP在同一网段) Router(config-if)#tunnel destination 10.0.0.1 // 指定隧道目的端为对端 R0 的 IPv4 地址 Router(config-if)#tunnel mode ipv6ip // 指定隧道封装模式为 IPv6-over-IPv4 手动隧道 Router(config-if)#no shutdown // 显式开启隧道接口 Router(config-if)#exit // 退出接口配置模式回到全局配置模式4.2 IPv6静态引流路由的配置隧道接口建立完毕后路由器并未自动知晓应当将哪些数据报送入该隧道。因此必须在全局路由表中显式地添加IPv6静态路由条目即引流路由指示路由器将发往对端IPv6孤岛的数据报转交至隧道对端的IPv6接口。1路由器Router0的IPv6静态路由配置Routerenable Router#configure terminal // 从特权模式进入全局配置模式 ! --- 配置 IPv6 静态路由 (引流到隧道) --- ! 告诉 Router0凡是去往右侧 PC1 网段 (2002::/64) 的数据包 ! 请统统交给隧道对端的接口 IP (2003::2) Router(config)#ipv6 route 2002::/64 2003::2 Router(config)#exit2路由器Router2的IPv6静态路由配置Routerenable Router#configure terminal // 从特权模式进入全局配置模式 ! --- 配置 IPv6 静态路由 (引流到隧道) --- ! 【修正】告诉 Router2凡是去往左侧 PC0 网段 (2001::/64) 的数据包 ! 请统统交给隧道对端的接口 IP (2003::1) Router(config)#ipv6 route 2001::/64 2003::1 Router(config)#exit4.3 全局连通性验证与故障排查机制1端到端连通性测试操作在Packet Tracer实时模式Realtime下进入左侧终端计算机PC0的命令行界面Command Prompt使用Ping命令测试其与右侧目标主机PC1的连通性ping 2002::12连通性测试核心目的分析此步骤为全网连通性的终极验证其主要目的包含以下三个层面 第一测试各终端计算机PC0与PC1的IPv6默认网关配置是否准确无误 第二测试两侧边界路由器Router0与Router2之间的逻辑隧道Tunnel 1各项源、目的及模式参数是否配置正确且状态已激活 第三测试给边界路由器Router0和Router2各自添加的跨网段IPv6静态路由条目是否正确生效并成功完成数据包的隧道引流。3连通性故障排查指南若上述端到端Ping测试结果为请求超时Request timed out或目标主机不可达Destination host unreachable需立即按照以下层级进行溯源排查第一层终端侧检查PC0和PC1各自的IPv6地址及其默认网关的IP地址配置是否正确。第二层隧道侧检查边界路由器Router0与Router2之间的隧道接口配置重点核对tunnel source是否指向了正确的本地外网物理接口以及tunnel destination是否指向了正确的对端外网IPv4地址。第三层路由侧核对为Router0和Router2各自添加的IPv6静态引流路由条目检查目标IPv6网络前缀与下一跳隧道IPv6地址是否配置反向或存在拼写错误。五、 IPv6数据报隧道传输过程的深层微观剖析PDU验证本部分依托网络仿真平台的仿真模式Simulation Mode通过对单步传输过程中各节点数据协议单元PDU的逐层拆解严谨验证IPv6 over IPv4隧道技术的底层运作机制。5.1 阶段一源端节点PC0产生原始IPv6数据报仿真时间 t 0.000s在仿真环境中于终端PC0的命令行接口发起寻址测试ping 2002::1。此时系统网络栈开始构建首个ICMPv6报文其在本地主机的处理逻辑与初始封装状态如下1OSI模型处理与路由决策逻辑查阅PC0设备的OSI模型状态面板可清晰追踪操作系统底层的寻址与转发决策过程进程触发机制系统的Ping进程响应用户指令于应用层构建一条ICMP回显请求消息Echo Request并将其向下层协议栈层层递交。网络层寻址判定在网络层Layer 3系统提取报文的目的IPv6地址2002::1并将其与本机的IPv6地址2001::1及网络前缀/64进行逻辑与运算。运算结果表明目的主机不属于同一局域网Not in the same subnet。下一跳Next Hop指派鉴于跨网段通信的需求系统查询本地路由配置依据预设的参数将数据报转发至默认网关2001::16即边界路由器Router0的内网接口以此作为物理链路层的下一跳目标。2出站PDUOutbound PDU报文结构深层拆解进入出站PDU详细信息面板可严谨论证原始IPv6数据报的初始二进制/十六进制结构数据链路层Ethernet II 帧头帧头中包含源MAC地址与网关的MAC地址。核心字段特征TYPE: 0x86dd。在以太网协议标准规范IEEE 802.3中十六进制数值0x86dd被严格定义为IPv6协议的类型标识码。此字段向底层物理链路明确宣称该以太网帧的数据载荷部分为纯IPv6数据报。网络层IPv6 报头版本字段VER值为6明确标示网络层协议版本为IPv6。下一报头字段NEXT值为0x3a十进制58此标识指明跟在IPv6报头后面的上层协议为ICMPv6协议。跳数限制HOP LIMIT初始值为128。根据多数操作系统的TCP/IP协议栈标准终端设备新生成的IPv6单播数据报其跳数限制默认赋予128该值将在此后的路由跳转中逐跳递减。寻址字段源IP地址SRC IP精确赋值为2001::1目的IP地址DST IP精确赋值为2002::1。阶段性结论在仿真时间0.000s处PC0构建并发出的是一个完全标准的、未经任何隧道协议修饰的原始IPv6单播数据报。该报文目前正通过局域网物理链路被发送至首跳网关Router0。5.2 阶段二边界路由器Router0的协议封装与隧道发车仿真时间 t 0.001s在仿真时间0.001s时由终端PC0发出的原始IPv6数据报抵达了左侧边界路由器Router0的内网接口GigabitEthernet0/0。Router0作为隧道的起始端点正式触发IPv6 over IPv4的协议封装机制。1OSI模型处理逻辑隧道引流与封装决策在Router0设备的“OSI模型”选项卡中通过对比左侧入站处理In Layers与右侧出站处理Out Layers可精确梳理路由器的内部逻辑机制入站状态第3层内层路由器接收到一个标准的IPv6报头源地址为2001::1目的地址为2002::1。底层路由决策查阅该界面底部的事件处理文本框第3点描述系统提示“设备在路由表中查找目的IP地址”。此时Router0检索全局IPv6路由表匹配到前期配置的静态引流路由ipv6 route 2002::/64 2003::2判定该数据报的出接口为逻辑隧道接口Tunnel 1。出站状态的结构突变第3层外层经由Tunnel 1接口处理后右侧出站的第3层结构发生了本质改变系统为其强制附加了一层外部IP报头IPv4其外部源地址被重写为Router0的外网出接口地址10.0.0.1外部目的地址被重写为对端隧道终点地址20.0.0.2而原始的IPv6报头被完全嵌套于该IPv4报头内部。2入站PDUInbound PDU微观解析接收原始IPv6报文点击“入站PDU详细信息”选项卡观察数据报到达Router0时的初始状态。这是数据包跨越第一段物理链路后的呈现A. 定位数据链路层Ethernet II查验TYPE字段其值为0x86dd系统据此确认接收到的物理帧承载的是纯正的IPv6数据报。B. 定位网络层IPv6数据块查验HOP LIMIT字段为128源地址SRC IP为2001::1目的地址DST IP为2002::1。这表明报文在进入Router0处理核心之前尚为未受任何修饰的原始状态。3出站PDUOutbound PDU微观重构隧道封装的微观实证切换至“出站PDU详细信息”选项卡由上至下逐层核对封装后的报文结构。这是验证隧道技术的最核心环节A. 链路层特征重写伪装IPv4帧定位至顶部的“Ethernet II”数据块。TYPE字段已由原先的0x86dd变更为0x0800。这表明Router0已将该数据包伪装成了标准的IPv4以太网帧以确保其能够顺利接入纯IPv4的骨干网络。B. 新增外部网络层IPv4封装报头定位至位于中间层级的“IP”数据块。源与目的字段SRC IP确认为10.0.0.1DST IP确认为20.0.0.2。此数据完美印证了教材中“源和目的地址分别为隧道两端物理接口的IPv4地址”的理论。核心隧道标识查验该IP块内的PROProtocol协议字段。其值明确显示为0x29十六进制转换为十进制即为41。为什么协议号是 41根据IETF规范协议号41是IPv6封装IPv6 Encapsulation的标准标识。它是指导后续的对端边界路由器Router2如何识别并对其进行解封装的绝对依据。C. 内部网络层原始IPv6载荷的上位与衰减定位至位于最底层的“IPv6”数据块。地址完整性原始的SRC IP: 2001::1与DST IP: 2002::1完好无损地被包裹于内部未发生任何篡改。路由跳数处理查验内部的HOP LIMIT字段其值由入站时的128变更为127。为什么内部 Hop Limit 变成了 127该细节严谨地证明了Router0在执行隧道“套马甲”封装动作之前已先行履行了作为三层路由器的标准职责对原始IPv6数据报进行了一次合法的跨网段路由转发因此跳数必须依法递减1。本阶段总结经由上述入站与出站参数的精准比对证实了在仿真时间0.001s处Router0已成功依托0x29协议号将IPv6数据报无损嵌套于IPv4报文体系内。该“套娃”格式的数据包现已具备在IPv4骨干网络中路由发车的条件。5.3 阶段三骨干路由器Router1的透明传输与逐跳转发仿真时间 t 0.002s在仿真时间0.002s时穿着IPv4“外衣”的封装数据报顺着物理链路抵达了位于骨干网核心的路由器Router1。Router1是一台未开启IPv6路由进程的纯IPv4设备其对该数据报的处理机制构成了隧道技术中“骨干网透明传输Transparent Transmission”理论的最佳实证。1OSI模型处理逻辑基于外层特征的硬件转发在Router1的“OSI模型”选项卡中查阅底层事件处理记录可剖析该骨干节点的转发逻辑外层寻址依赖与内部屏蔽界面底部事件记录提示“设备在CEF表中查找目的IP地址”。Router1由于缺乏IPv6协议栈完全“视而不见”内部嵌套的IPv6载荷。它仅提取最外层的IPv4报头读取目的地址20.0.0.2并依据路由表决定将其从Gig0/1接口转出。什么是 CEFCEF思科特快交换是企业级路由器中一种基于硬件的高效转发技术。它相当于给路由器建立了一个“直达快速通道”FIB表让路由器看一眼目的IP就能瞬间把包扔出去极大地提高了骨干网的转发效率。2入站PDUInbound PDU微观解析接收封装报文点击“入站PDU详细信息”选项卡观察数据报到达Router1时的初始状态A. 外部网络层IPv4报头状态查验中间的“IP”数据块。SRC IP为10.0.0.1DST IP为20.0.0.2。此时的防环路生存时间字段TTLTime To Live值为255。同时隧道核心暗号PRO: 0x29清晰可见。B. 内部网络层IPv6载荷状态查验最底部的“IPv6”数据块。内部嵌套的跳数限制字段HOP LIMIT在进入Router1时记录值为127这是上一跳Router0处理后留下的合法残值。3出站PDUOutbound PDU微观重构透明转发的铁证点击“出站PDU详细信息”选项卡。Router1在转发前对报文进行了重构通过对比入站数据我们能发现极其精妙的“变与不变”变化点 1链路层MAC地址的彻底更替在顶部的“Ethernet II”数据块中入站时的源与目的MAC地址被彻底丢弃替换为了全新的源MACRouter1出接口与目的MAC下一跳Router2接口。这严谨地证实了路由器的“逐跳转发Hop-by-Hop”特性——只要跨网段就必须撕掉旧的以太网帧头重新贴上新的MAC地址帧头。变化点 2外部IPv4报头的三层衰减在中间的“IP”数据块中外部IPv4报头的TTL字段由入站时的255依法递减为254。这证明了Router1对外部的IPv4报文合法履行了三层路由的处理职责。绝对不变的核心透明性铁证内部IPv6载荷将视线移至最底部的“IPv6”数据块。隧道暗号PRO: 0x29被Router1忠实地保留了下来。最为关键的微观证据请高度聚焦内部IPv6报头的HOP LIMIT字段。在出站PDU中该字段的值依然定格为127并未随同外部的TTL进行同步衰减为什么内部 Hop Limit 没变这就是透明传输因为Router1是个纯IPv4设备它根本不认识也不理会里面的IPv6数据。内部跳数127未发生衰减这一精确的物理现象构成了确凿的理论证据——证明广袤的纯IPv4骨干网络Router1既没有解析权限也没有触碰内部封装的数据。对于里面的IPv6报文而言经过这个IPv4骨干节点等同于在一条透明的“物理管道”中穿梭它甚至不知道自己经过了Router1这就是“隧道透明传输”的终极奥义5.4 阶段四边界路由器Router2的协议解封装仿真时间 t 0.003s在仿真时间0.003s时历经IPv4骨干网传输的数据报抵达了隧道的终点——右侧边界路由器Router2。Router2作为双栈设备将在此刻执行隧道技术的最核心动作解封装Decapsulation让内部的IPv6数据报“重见天日”。1OSI模型处理逻辑识破暗号与剥离伪装在Router2的“OSI模型”选项卡中查阅底部事件处理记录这里的文字完美诠释了解封装的底层逻辑识别隧道暗号记录显示“IP报头中的协议字段为41。” Router2读取到了IPv4报头中的PRO: 0x29十进制41系统瞬间判定这是一个隧道封装包。执行解封装脱马甲记录明确指出“该数据包的IPv4报头被删除并被发送至端口Tunnel1。” 这是一个决定性的动作Router2像剥洋葱一样将最外层的IPv4报头直接抛弃。内网路由转发剥除外衣后Router2提取出内部的IPv6目的地址2002::1通过查找IPv6路由表决定将其从内网物理接口GigabitEthernet0/1发送给下游的PC1。2入站PDUInbound PDU微观解析到达隧道终点点击“入站PDU详细信息”选项卡查看数据包“脱衣前”的最后状态外部网络层此时它依然穿着IPv4的马甲。SRC IP为10.0.0.1Router0DST IP为20.0.0.2本机。核心协议号PRO: 0x29完好无损。内部网络层最底部的IPv6报头被包裹其中。注意此时的跳数限制HOP LIMIT记录值为127这正是骨干网透明传输、未予衰减的证明。3出站PDUOutbound PDU微观重构纯IPv6报文重现点击“出站PDU详细信息”选项卡通过与入站数据的强烈对比向学生展示解封装的物理事实A. 外部IPv4结构的“灰飞烟灭”在出站数据中原本包含源10.0.0.1、目的20.0.0.2及PRO: 0x29的那一整块“IP”数据模块彻底消失了B. 链路层类型的“拨乱反正”顶部的“Ethernet II”帧头中TYPE字段由入站时的0x0800IPv4重新变回了0x86ddIPv6。因为外衣已脱Router2接下来是在纯IPv6的局域网中向PC1发包。C. 内部IPv6载荷的上位与衰减核心论证点原本藏在最底层的IPv6报头现在成为了出站PDU中唯一的网络层。核心现象请查验此时的HOP LIMIT字段它由入站时的127递减为了126为什么在这里减成了 126Router2剥掉IPv4外壳后面对的是一个标准的IPv6数据报。Router2此时是以“IPv6网关路由器”的身份将该数据报路由转发给下游的局域网主机PC1。根据三层路由规范路由器在转发数据时必须将跳数限制Hop Limit减去1。这就是126的由来。5.5 阶段五目标节点PC1的接收与回送应答仿真时间 t 0.004s在仿真时间0.004s时经过Router2解封装后的纯IPv6数据报终于抵达了最终目的地——目标主机PC1的网卡。至此单向的数据传输已完成接下来PC1将执行标准的ICMPv6响应流程生成回送应答报文Ping的回复。1OSI模型处理逻辑身份确认与角色反转请在设备PC1的PDU信息界面中点击 “OSI模型” 选项卡。通过阅读下方的事件文本并对比左右两侧的网络层第3层我们可以直观地看到操作系统的底层处理逻辑入站核对身份确认查阅下方事件记录第1点“该数据包的目的IP地址与设备的IP地址...相匹配。” PC1的网络层提取出报文的目的IP2002::1发现这正是自己的网卡地址于是合法接收该数据。识别意图收到请求事件记录第3点提示“ICMP进程接收到一条回应请求消息。” PC1的系统明白了这是来自对端主机PC0的一次网络连通性探测Echo Request。出站重构角色反转对比左侧入站和右侧出站的第3层信息入站时源IP是2001::1PC0消息类型是128代表请求。出站时身份发生了彻底反转源IP变成了2002::1PC1本机目的IP变成了2001::1PC0。更关键的是消息类型变为了129代表应答。2入站PDUInbound PDU微观解析接收探测请求点击 “入站PDU详细信息” 选项卡查看PC1“刚刚收到信”时的报文状态A. 定位最底部的“ICMPv6”数据块报文类型确认查验TYPE字段其值为0x80转换为十进制即为128。在ICMPv6标准中类型128代表“回送请求报文Echo Request”。这说明PC1确实收到了一次Ping探测。B. 定位倒数第二个“IPv6”数据块路由跳数核验此时的HOP LIMIT跳数限制字段显示为126。为什么刚好是 126这正是隧道技术成功运作的铁证数据包从PC0发出时是128经过边界Router0转发时减1变127中间的骨干Router1未触碰载荷不减最后经过边界Router2转发时再减1最终到达PC1时刚好是126。3出站PDUOutbound PDU微观重构生成回送应答点击 “出站PDU详细信息” 选项卡查看PC1“写好回信准备寄出”时的报文状态A. 定位“ICMPv6”数据块报文性质突变查验TYPE字段其值已由入站时的0x80变更为0x81十进制的129。类型129代表“回送应答报文Echo Reply”。日常操作中我们在命令行看到的Ping成功提示其底层本质就是成功收到了这个Type 129的报文。B. 定位“IPv6”数据块寻址反转与跳数新生地址对调此时的寄件人SRC IP变成了2002::1PC1本机收件人DST IP变成了2001::1远端的PC0。跳数新生最神奇的现象出现了——HOP LIMIT字段奇迹般地变回了128为什么又变回了 128因为PC1并不是把收到的旧包原路扔回去而是全新生成了一个独立的回应数据包。对于PC端的操作系统而言任何新产生的IPv6数据报其跳数限制的默认初始值就是满血的128。本阶段总结至此PC1已完美执行了终点站的接收与响应机制。在接下来的仿真时间里这个满血新生Hop Limit: 128的应答包将踏上归途交给Router2穿上IPv4马甲 - 被Router1透明传输 - 交给Router0脱下马甲 - 最终送达PC0。届时PC0的命令行界面即可输出标志实验圆满成功的Reply from 2002::1...提示信息。