配置基本QinQ示例
QinQ简介
定义
QinQ(802.1Q-in-802.1Q)技术是一项扩展VLAN空间的技术,通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来达到扩展VLAN空间的功能,可以使私网VLAN透传公网。由于在骨干网中传递的报文有两层802.1Q Tag(一层公网Tag,一层私网Tag),即802.1Q-in-802.1Q,所以称之为QinQ协议。
目的
随着以太网技术在运营商网络中的大量部署(即城域以太网),利用802.1Q VLAN对用户进行隔离和标识受到很大限制。因为IEEE802.1Q中定义的VLAN Tag域只有12个比特,仅能表示4096个VLAN,无法满足城域以太网中标识大量用户的需求,于是QinQ技术应运而生。
QinQ最初主要是为拓展VLAN的数量空间而产生的。它是通过在原有的802.1Q报文的基础上增加一层802.1Q标签来实现的,使得VLAN数量增加到4094×4094。
随着城域以太网的发展以及运营商精细化运作的要求,QinQ的双层标签又有了进一步的使用场景。它的内外层标签可以代表不同的信息,如内层标签代表用户,外层标签代表业务。另外,QinQ报文带着两层Tag穿越运营商网络,内层Tag透明传送,也是一种简单、实用的VPN技术。因此它又可以作为核心MPLS VPN在城域以太网VPN的延伸,最终形成端到端的VPN技术。
由于QinQ方便易用的特点,现在已经在各运营商中得到了广泛的应用,如QinQ技术在城域以太网解决方案中和多种业务相结合。特别是灵活QinQ(Selective QinQ/VLAN Stacking)的出现,使得QinQ业务更加受到了运营商的推崇和青睐,它具有不同用户之间的VLAN与公网VLAN有效分离、最大限度节省运营商网络的VLAN资源等特点。随着城域以太网的大力发展,各个设备提供商都提出了各自的城域以太网的解决方案。QinQ因为其自身简单灵活的特点,在各解决方案中扮演着重要的角色。
受益
QinQ通过增加一层802.1Q的标签头实现了扩展VLAN空间的功能,具有以下价值:
- 扩展VLAN,对用户进行隔离和标识不再受到限制。
- QinQ内外层标签可以代表不同的信息,如内层标签代表用户,外层标签代表业务,更利于业务的部署。
- QinQ封装、终结的方式很丰富,帮助运营商实现业务精细化运营。
基本QinQ原理描述
基本QinQ又称为QinQ二层隧道,是基于接口方式实现的。开启接口的基本QinQ功能后,当该接口接收到报文,设备会为该报文打上本接口缺省VLAN的VLAN Tag。如果接收到的是已经带有VLAN Tag的报文,该报文就成为双Tag的报文;如果接收到的是不带VLAN Tag的报文,该报文就成为带有接口缺省VLAN Tag的报文。
当需要较多的VLAN时,可以配置基本QinQ功能。通过对VLAN增加外层Tag,使得VLAN的可用数目范围变大,解决VLAN数目资源紧缺的问题。
在如图1所示的网络中,企业部门1有两个办公地,部门2有三个办公地,两个部门的各办公地分别和网络中的PE1、PE2相连,部门1和部门2可以任意规划自己的VLAN。
部门1和部门2外层VLAN规划如表1所示:
在PE1和PE2上通过如下思路配置QinQ二层隧道功能,使得每个部门的各个办公地网络可以互通,但两个部门之间不能互通。
-
在PE1上,对于进入接口Port1和Port2的用户报文都封装外层VLAN 10,对于进入接口Port3中用户报文都封装外层VLAN 20。
-
在PE2上,对于进入接口Port1和Port2的用户报文都封装外层VLAN 20。
-
PE1上的接口Port4和PE2上的接口Port3允许VLAN 20的报文通过。
实验需求
如图中所示,网络中有两个企业,企业1有两个分支,企业2有两个分支。这两个企业的各办公地的企业网都分别和运营商网络中的S1和S2相连,且公网中存在其它厂商设备,其外层VLAN Tag的TPID值为0x9100。
现需要实现:
- 企业1和企业2独立划分VLAN,两者互不影响。
- 各企业两分支之间流量通过公网透明传输,相同业务之间互通,不同业务之间互相隔离。
可通过配置QinQ来实现以上需求。利用公网提供的VLAN100使企业1互通,利用公网提供的VLAN200使企业2互通,不同企业之间互相隔离。并通过在连接其它厂商设备的接口上配置修改QinQ外层VLAN Tag的TPID值,来实现与其它厂商设备的互通。
配置思路
采用如下的思路配置:QinQ
-
在S1和S2上均创建VLAN100和VLAN200,配置连接业务的接口为QinQ类型,并分别加入VLAN。实现不同业务添加不同的外层VLAN Tag。
-
配置S1和S2上连接公网的接口加入相应VLAN,实现允许VLAN100和200的报文通过。
-
在S1和S2连接公网的接口上配置外层VLAN tag的TPID值,实现与其它厂商设备的互通。
实验步骤
- 创建VLAN
# 在S1上创建VLAN100和VLAN200
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname S1[S1]undo info-center enable
Info: Information center is disabled.[S1]vlan batch 100 200
Info: This operation may take a few seconds. Please wait for a moment...done.
2.配置接口类型为QinQ
# 在S1上配置接口GE0/0/1、GE0/0/2的类型为QinQ,GE0/0/1的外层tag为VLAN100,GE0/0/2的外层tag为VLAN200。S2的配置与S1类似,不再赘述。
[S1]interface GigabitEthernet 0/0/1
[S1-GigabitEthernet0/0/1]port link-type dot1q-tunnel
[S1-GigabitEthernet0/0/1]port default vlan 100[S1-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S1-GigabitEthernet0/0/2]port link-type dot1q-tunnel
[S1-GigabitEthernet0/0/2]port default vlan 200
[S1-GigabitEthernet0/0/2]quit
3.配置Switch连接公网侧的接口
# 在S1上配置接口GE0/0/3加入VLAN100和VLAN200。S2的配置与S1类似,不再赘述。
[S1]interface GigabitEthernet 0/0/3
[S1-GigabitEthernet0/0/3]port link-type trunk
[S1-GigabitEthernet0/0/3]port trunk allow-pass vlan 100 200
4.配置外层VLAN tag的TPID值
# 在S1上配置外层VLAN tag的TPID值为0x9100。
[S1-GigabitEthernet0/0/3]qinq protocol 9100
[S1-GigabitEthernet0/0/3]quit
5. 验证配置结果
从企业1一处分支内任意VLAN的一台PC ping企业1另外一处分支同一VLAN内的PC,如果可以ping通则表示企业1内部可以互相通信。
从企业2一处分支内任意VLAN的一台PC ping企业2另外一处分支同一VLAN内的PC,如果可以ping通则表示企业2内部可以互相通信。
从企业1一处分支内任意VLAN的一台PC ping企业2任意一处分支同一VLAN内的PC,如果不能ping通则表示企业1和企业2之间相互隔离。
(1)PC1 ping PC3,两台PC均为内部VLAN10中。
(2)在S1的g0/0/3上抓包结果
PC1 ping PC2 无法ping通
S1配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname S1[S1]vlan batch 100 200
Info: This operation may take a few seconds. Please wait for a moment...done.[S1]undo info-center enable
Info: Information center is disabled.[S1]interface GigabitEthernet 0/0/1
[S1-GigabitEthernet0/0/1]port link-type dot1q-tunnel
[S1-GigabitEthernet0/0/1]port default vlan 100[S1-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S1-GigabitEthernet0/0/2]port link-type dot1q-tunnel
[S1-GigabitEthernet0/0/2]port default vlan 200
[S1-GigabitEthernet0/0/2]quit [S1]interface GigabitEthernet 0/0/3
[S1-GigabitEthernet0/0/3]port link-type trunk
[S1-GigabitEthernet0/0/3]port trunk allow-pass vlan 100 200
[S1-GigabitEthernet0/0/3]quit [S1]interface GigabitEthernet 0/0/3
[S1-GigabitEthernet0/0/3]qinq protocol 9100
[S1-GigabitEthernet0/0/3]quit
S2配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.[Huawei]sysname S2[S2]undo info-center enable
Info: Information center is disabled.[S2]vlan batch 100 200
Info: This operation may take a few seconds. Please wait for a moment...done.[S2]interface GigabitEthernet 0/0/1
[S2-GigabitEthernet0/0/1]port link-type dot1q-tunnel
[S2-GigabitEthernet0/0/1]port default vlan 100[S2-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S2-GigabitEthernet0/0/2]port link-type dot1q-tunnel
[S2-GigabitEthernet0/0/2]port default vlan 200[S2-GigabitEthernet0/0/2]interface GigabitEthernet 0/0/3
[S2-GigabitEthernet0/0/3]port link-type trunk
[S2-GigabitEthernet0/0/3]port trunk allow-pass vlan 100 200
[S2-GigabitEthernet0/0/3]quit [S2]interface GigabitEthernet 0/0/3
[S2-GigabitEthernet0/0/3]qinq protocol 9100
[S2-GigabitEthernet0/0/3]quit
S3配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.[Huawei]sysname S3[S3]undo info-center enable
Info: Information center is disabled.[S3]vlan batch 10 to 20
Info: This operation may take a few seconds. Please wait for a moment...done.[S3]interface GigabitEthernet 0/0/2
[S3-GigabitEthernet0/0/2]port link-type access
[S3-GigabitEthernet0/0/2]port default vlan 10[S3-GigabitEthernet0/0/2]interface GigabitEthernet 0/0/1
[S3-GigabitEthernet0/0/1]port link-type trunk
[S3-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[S3-GigabitEthernet0/0/1]quit
S4配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.[Huawei]sysname S4[S4]undo info-center enable
Info: Information center is disabled.[S4]vlan batch 21 to 30
Info: This operation may take a few seconds. Please wait for a moment...done.[S4]interface GigabitEthernet 0/0/2
[S4-GigabitEthernet0/0/2]port link-type access
[S4-GigabitEthernet0/0/2]port default vlan 21[S4-GigabitEthernet0/0/2]interface GigabitEthernet 0/0/1
[S4-GigabitEthernet0/0/1]port link-type trunk
[S4-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[S4-GigabitEthernet0/0/1]quit
S5配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.[Huawei]sysname S5[S5]undo info-center enable
Info: Information center is disabled.[S5]vlan batch 10 to 20
Info: This operation may take a few seconds. Please wait for a moment...done.[S5]interface GigabitEthernet 0/0/2
[S5-GigabitEthernet0/0/2]port link-type access
[S5-GigabitEthernet0/0/2]port default vlan 10[S5-GigabitEthernet0/0/2]interface GigabitEthernet 0/0/1
[S5-GigabitEthernet0/0/1]port link-type trunk
[S5-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[S5-GigabitEthernet0/0/1]quit
S6配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.[Huawei]sysname S6[S6]undo info-center enable
Info: Information center is disabled.[S6]vlan batch 21 to 30
Info: This operation may take a few seconds. Please wait for a moment...done.[S6]interface GigabitEthernet 0/0/2
[S6-GigabitEthernet0/0/2]port link-type access
[S6-GigabitEthernet0/0/2]port default vlan 21[S6-GigabitEthernet0/0/2]interface GigabitEthernet 0/0/1
[S6-GigabitEthernet0/0/1]port link-type trunk
[S6-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[S6-GigabitEthernet0/0/1]quit
相关文章:
配置基本QinQ示例
QinQ简介 定义 QinQ(802.1Q-in-802.1Q)技术是一项扩展VLAN空间的技术,通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来达到扩展VLAN空间的功能,可以使私网VLAN透传公网。由于在骨干网中传递的报文有两层802.1Q Tag&#x…...
界面控件DevExpress Blazor Grid v23.2 - 支持全新的单元格编辑模式
DevExpress Blazor UI组件使用了C#为Blazor Server和Blazor WebAssembly创建高影响力的用户体验,这个UI自建库提供了一套全面的原生Blazor UI组件(包括Pivot Grid、调度程序、图表、数据编辑器和报表等)。 在这篇文章中,我们将介…...
深入剖析pcap中的网络异常:TTL过期攻击、ARP中毒、TCP重传与重叠碎片等
网络流量数据包捕获是网络安全领域的重要部分,而pcap文件则是这一过程的常见载体。为了深入解析pcap文件中潜在的可疑网络流量,我们需要运用强大的网络安全威胁评估与审计工具。这些工具能够帮助我们捕捉、记录、检测和诊断网络中的数据传输问题…...
网站被挂黑链怎么办
网站被挂黑链这种事情总是防不胜防,且不说网站本身的安全防护做的是否到位,但只要被盯上了就难逃厄运。即使是企业机构的网站也难逃被黑的经历,更何况用户苦心经营的网站,因此首先需要正确看待挂黑链这个现象,网站被挂…...
WPF 导航界面悬浮两行之间的卡片 漂亮的卡片导航界面 WPF漂亮渐变颜色 WPF漂亮导航头界面 UniformGrid漂亮展现
在现代应用程序设计中,一个漂亮的WPF导航界面不仅为用户提供视觉上的享受,更对提升用户体验、增强功能可发现性和应用整体效率起到至关重要的作用。以下是对WPF漂亮导航界面重要性的详尽介绍: 首先,引人入胜的首页界面是用户与软…...
[技术杂谈]使用VLC将视频转成一个可循环rtsp流
通过vlc播放器,将一个视频转成rtsp流,搭建一个rtsp服务器。rtsp客户端可访问这个视频的rtsp流。 1. 打开vlc播放器,使用的版本如下 2. 菜单:媒体 ---> 流 3. 添加视频文件,点击添加一个mp4 文件 4. 选择串流&…...
手机上连网络转接app,电脑连接手机,共用网络转接app的办法
方法一,(不推荐) 因为太简单了所以写一下 电脑安装MuMu模拟器,之后安装网络转接app,这个模拟器设置了从电脑上安装app和,安卓与电脑同步文件夹功能,实现文件共享。所以直接用就可以了。 方法二…...
k8s中的容器探针
pod的容器健康检查---探针 probe:k8s对容器执行的定期检查,诊断。 探针的三种规则 所有的探针都是针对容器不是针对pod 1、 存活探针---livenessProbe:探测容器是否正常运行。如果发现探测失败,会杀掉容器。容器会根据重启策略…...
4.6 BOUNDARY CHECKS
我们现在扩展了tile矩阵乘法内核,以处理具有任意宽度的矩阵。扩展必须允许内核正确处理宽度不是tile宽度倍数的矩阵。通过更改图4.14中的示例至33 M、N和P矩阵,图4.18创建了矩阵的宽度为3,不是tile宽度(2)的倍数。图4.…...
Java集合-LinkedList
Java集合-LinkedList 特性 public class LinkedList<E> extends AbstractSequentialList<E>implements List<E>, Deque<E>, Cloneable, java.io.Serializable1、继承于 AbstractSequentialList ,本质上面与继承 AbstractList 没有什么区别…...
2023年阿里云云栖大会:前沿技术发布与未来展望
在2023年的阿里云云栖大会上,我见证了云计算和人工智能领域的又一历史性时刻。这次大会不仅是对未来科技趋势的一次深入探索,更是阿里云技术实力和创新能力的集中展示。 首先,千亿级参数规模的大模型通义千问2.0的发布,无疑将人工…...
houdini microscope
【英文原版-无字幕】Wavelets: a mathematical microscope 小波变换最好的入门教程了吧!_哔哩哔哩_bilibili 只涉及模拟,不模拟具体对错...
Linux_CentOS_7.9配置时区及NTPdate同步之简易记录
前言:ntpdate命令来自英文词组”NTPdate“的拼写,其功能是用于设置日期和时间。ntpdate命令能够基于NTP协议设置Linux系统的本地日期和时间,利用NTP服务的时钟过滤器来选择最优方案,大大提高了可靠性和精度,让系统时间…...
十九:爬虫最终篇-平安银行商城实战
平安银行商场实战 需求 获取该商城商品信息 目标网址 https://m.yqb.com/bank/product-item-50301196.html?mcId1583912328849970&loginModepab&historyy&sceneModem&traceid30187_4dXJVel1iop详细步骤 1、寻找数据接口 2、对比payload寻找可疑参数 3、多…...
解决vcruntime140_1.dll无法继续执行代码的方法,一键修复dll文件丢失问题。
vcruntime140_1.dll是Windows操作系统中的一个重要的动态链接库文件,它与Microsoft Visual C Redistributable相关联。电脑出现关于vcruntime140_1.dll无法继续执行代码的错误弹窗是就意味着这个文件在电脑中被破坏导致丢失了,这将会影响一些程序不能正常…...
Elasticsearch:结合 ELSER 和 BM25 文本查询的相关搜索
Elastic Learned Spare EncodeR (ELSER) 允许你执行语义搜索以获得更相关的搜索结果。 然而,有时,将语义搜索结果与常规关键字搜索结果相结合以获得最佳结果会更有用。 问题是,如何结合文本和语义搜索结果? 首先,让我…...
海外社媒运营为什么需要选择优质IP代理?
跨境电商卖家尤其需要关注海外社媒运营,想要更好地运营Instagram、Facebook、TikTok 或 Twitter等,挖掘社媒潜力需要采取战略方法,而社交媒体IP代理在这一活动中发挥着至关重要的作用,下面为你详细介绍。 一、社交媒体代理IP及其运…...
Java中的性能优化:深入剖析常见优化技巧
引言 在现代软件开发中,性能优化是一个至关重要的话题。Java作为一门强大而广泛使用的编程语言,也需要开发者关注和优化性能,以确保应用程序能够在各种场景下高效运行。本文将深入剖析Java中的一些常见性能优化技巧,为开发者提供…...
k8s的yaml文件中的kind类型都有哪些?(详述版Part2/2)
目录 综述 分块详述 13、ConfigMap 14、Secret 15、Ingress 16、StorageClass 17、Namespace 18、ServiceMonitor 19、HorizontalPodAutoscaler 20、NetworkPolicy 21、CustomResourceDefinition 22、Role 23、ClusterRole 24、ClusterRoleBinding 25、RoleBindi…...
什么是API网关代理?
带有API网关的代理服务显着增强了用户体验和性能。特别是对于那些使用需要频繁创建和轮换代理的工具的人来说,使用 API 可以节省大量时间并提高效率。 了解API API(即应用程序编程接口)充当服务提供商和用户之间的连接网关。通过 API 连接&a…...
AWS Simple Email Service (SES) 实战指南
Amazon Simple Email Service (SES) 是一项强大的电子邮件发送服务,适用于数字营销、应用程序通知以及事务性邮件。在这个实战指南中,我们将演示如何设置 AWS SES 并通过几个示例展示其用法。 设置 AWS SES 1. 创建 AWS 账户 首先,您需要创…...
详解Oracle数据库的启动
Oracle数据库的启动,其概念可参考Overview of Instance and Database Startup。 其过程可参见下图: 当数据库从关闭状态进入打开数据库状态时,它会经历以下阶段。 阶段Mount状态描述1实例在没有挂载数据库的情况下启动实例已启动ÿ…...
2024年跨境电商上半年营销日历,建议收藏
2024年伊始,跨境电商开启新一轮的营销竞技,那么首先需要客户需求,节假日与用户需求息息相关,那么接下来小编为大家整理2024上半年海外都有哪些节日和假期?跨境卖家如何见针对营销日历选品,助力卖家把握2024…...
Go采集1688网站数据对比商品价格
最近看了下多多和1688的一些商品价格,发现好多店铺都是无货源拿货一件发货,这就导致层层叠加价格翻了不知道几倍,真所谓多花钱办的事还是一样,因此,今天我就通过一个爬虫程序监控对应商品价格,了解行业龙头…...
Java泛型:灵活多变的类型参数化工具
👑专栏内容:Java⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、泛型1、什么是泛型2、泛型的语法 二、泛型类的使用1、泛型类的语法2、泛型如何编译的2.1、擦除机制2.2、为什么不能实例化泛…...
java 体育明星管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
一、源码特点 java Web 体育明星管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysq…...
蓝凌EIS智慧协同平台 ShowUserInfo.aspx sql注入漏洞
漏洞描述: 蓝凌EIS智慧协同平台是一个简单、高效的工作方式专为成长型企业打造的沟通、协同、社交的移动办公平台,覆盖OA、沟通、客户、人事、知识等管理需求,集合了非常丰富的模块,满足组织企业在知识、项目管理系统建设等需求的…...
React Hooks的useState、useRef使用
React Hooks 是 React 16.8 版本引入的新特性,它允许你在不编写 class 的情况下使用 state 和其他 React 特性。其中,useState 和 useRef 是两个常用的 Hooks。 1. useState useState 是一个允许你在函数组件中添加 state 的 Hook。 使用说明…...
Linux--防火墙,实验案例:基于区域、服务、端口的访问控制
实验环境 某公司的Web服务器,网关服务器均采用Linux CentOS 7.3操作系统,如图2.13所示。为了 加强网络访问的安全性,要求管理员熟悉firewalld防火墙规则的编写,以便制定有效、可行的主机防护策略。 需求描述 > 网关服务器ens3…...
C++学习笔记(二十八):c++ 静态库及动态库的使用
静态库的使用 库的使用会很大程度减少我们的工作,本节对c中静态库和动态库的使用进行简单的介绍。静态链接库意味着这个库会被放到可执行文件中,在生成的exe中。动态链接库是在程序运行时链接的,可以在程序运行时调用加载库函数的方法来实现&…...
免费个人logo设计/佛山快速排名seo
介绍 本文介绍由Eclipse推出的名为Che的WebIDE ,只是一种“云”上的开放工具。Che目前是在Docker中运行的,命令如下: docker run -i -t -v /var/run/docker.sock:/var/run/docker.sock eclipse/che start 如果您的机器上还没有Docker的话…...
精美wordpress模板/新乡seo网络推广费用
修改mysql root用户密码 1) 停止mysql服务 windowsR运行输入services.msc 停止mysql服务 右键选择停止 或者 cmd –> net stop mysql 2) 在cmd下 输入 mysqld –skip-grant-tables 启动服务器 光标不动 (不要关闭该窗口) 3) 新打开cmd 输入mysql -…...
wordpress api接口 APP/百度云引擎搜索
1.背景知识介绍丰富的包是Python最大的优势之一。只有想不到的功能,没用不存在的包~包的学习主要包括包的使用与包的安装~1. 包的使用首先看一下包的使用,其实我们之前已经接触到了一点包的使用。#第一种写法:import xxx#第二种写法from xxx …...
购物网站前台功能模块分析/独立站seo推广
移动开发领域与PC 开发得区别,总结为:3低, 3高,3有限。开发移动程序是应该时刻记住这9个限制。 3低低处理能力低分辨率低速的数据传输能力3高传输数据高成本高延迟高不可靠地数据连接3有限有限的RAM有限的永久存储能力有限的电池使…...
网站里的注册怎么做/网站首页推广
原因是前台文件太大,nginx不通过。修改Nginx就可以了,在http中加入。 client_max_body_size 8M; client_body_buffer_size 128k; fastcgi_intercept_errors on;...
c2c网站开发/网站建设公司推荐
详细参数: -c 统计每一系统调用的所执行的时间,次数和出错的次数等. -d 输出strace关于标准错误的调试信息. -f 跟踪由fork调用所产生的子进程. -ff 如果提供-o filename,则所有进程的跟踪结果输出到相应的filename.pid中,pid是各进程的进程号. -F 尝试跟踪vfor…...