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

配置基本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

  1. 在S1和S2上均创建VLAN100和VLAN200,配置连接业务的接口为QinQ类型,并分别加入VLAN。实现不同业务添加不同的外层VLAN Tag。

  2. 配置S1和S2上连接公网的接口加入相应VLAN,实现允许VLAN100和200的报文通过。

  3. 在S1和S2连接公网的接口上配置外层VLAN tag的TPID值,实现与其它厂商设备的互通。

实验步骤
  1. 创建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&#xff08;802.1Q-in-802.1Q&#xff09;技术是一项扩展VLAN空间的技术&#xff0c;通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来达到扩展VLAN空间的功能&#xff0c;可以使私网VLAN透传公网。由于在骨干网中传递的报文有两层802.1Q Tag&#x…...

界面控件DevExpress Blazor Grid v23.2 - 支持全新的单元格编辑模式

DevExpress Blazor UI组件使用了C#为Blazor Server和Blazor WebAssembly创建高影响力的用户体验&#xff0c;这个UI自建库提供了一套全面的原生Blazor UI组件&#xff08;包括Pivot Grid、调度程序、图表、数据编辑器和报表等&#xff09;。 在这篇文章中&#xff0c;我们将介…...

深入剖析pcap中的网络异常:TTL过期攻击、ARP中毒、TCP重传与重叠碎片等

网络流量数据包捕获是网络安全领域的重要部分&#xff0c;而pcap文件则是这一过程的常见载体。为了深入解析pcap文件中潜在的可疑网络流量&#xff0c;我们需要运用强大的网络安全威胁评估与审计工具。这些工具能够帮助我们捕捉、记录、检测和诊断网络中的数据传输问题&#xf…...

网站被挂黑链怎么办

网站被挂黑链这种事情总是防不胜防&#xff0c;且不说网站本身的安全防护做的是否到位&#xff0c;但只要被盯上了就难逃厄运。即使是企业机构的网站也难逃被黑的经历&#xff0c;更何况用户苦心经营的网站&#xff0c;因此首先需要正确看待挂黑链这个现象&#xff0c;网站被挂…...

WPF 导航界面悬浮两行之间的卡片 漂亮的卡片导航界面 WPF漂亮渐变颜色 WPF漂亮导航头界面 UniformGrid漂亮展现

在现代应用程序设计中&#xff0c;一个漂亮的WPF导航界面不仅为用户提供视觉上的享受&#xff0c;更对提升用户体验、增强功能可发现性和应用整体效率起到至关重要的作用。以下是对WPF漂亮导航界面重要性的详尽介绍&#xff1a; 首先&#xff0c;引人入胜的首页界面是用户与软…...

[技术杂谈]使用VLC将视频转成一个可循环rtsp流

通过vlc播放器&#xff0c;将一个视频转成rtsp流&#xff0c;搭建一个rtsp服务器。rtsp客户端可访问这个视频的rtsp流。 1. 打开vlc播放器&#xff0c;使用的版本如下 2. 菜单&#xff1a;媒体 ---> 流 3. 添加视频文件&#xff0c;点击添加一个mp4 文件 4. 选择串流&…...

手机上连网络转接app,电脑连接手机,共用网络转接app的办法

方法一&#xff0c;&#xff08;不推荐&#xff09; 因为太简单了所以写一下 电脑安装MuMu模拟器&#xff0c;之后安装网络转接app&#xff0c;这个模拟器设置了从电脑上安装app和&#xff0c;安卓与电脑同步文件夹功能&#xff0c;实现文件共享。所以直接用就可以了。 方法二…...

k8s中的容器探针

pod的容器健康检查---探针 probe&#xff1a;k8s对容器执行的定期检查&#xff0c;诊断。 探针的三种规则 所有的探针都是针对容器不是针对pod 1、 存活探针---livenessProbe&#xff1a;探测容器是否正常运行。如果发现探测失败&#xff0c;会杀掉容器。容器会根据重启策略…...

4.6 BOUNDARY CHECKS

我们现在扩展了tile矩阵乘法内核&#xff0c;以处理具有任意宽度的矩阵。扩展必须允许内核正确处理宽度不是tile宽度倍数的矩阵。通过更改图4.14中的示例至33 M、N和P矩阵&#xff0c;图4.18创建了矩阵的宽度为3&#xff0c;不是tile宽度&#xff08;2&#xff09;的倍数。图4.…...

Java集合-LinkedList

Java集合-LinkedList 特性 public class LinkedList<E> extends AbstractSequentialList<E>implements List<E>, Deque<E>, Cloneable, java.io.Serializable1、继承于 AbstractSequentialList &#xff0c;本质上面与继承 AbstractList 没有什么区别…...

2023年阿里云云栖大会:前沿技术发布与未来展望

在2023年的阿里云云栖大会上&#xff0c;我见证了云计算和人工智能领域的又一历史性时刻。这次大会不仅是对未来科技趋势的一次深入探索&#xff0c;更是阿里云技术实力和创新能力的集中展示。 首先&#xff0c;千亿级参数规模的大模型通义千问2.0的发布&#xff0c;无疑将人工…...

houdini microscope

【英文原版-无字幕】Wavelets: a mathematical microscope 小波变换最好的入门教程了吧&#xff01;_哔哩哔哩_bilibili 只涉及模拟&#xff0c;不模拟具体对错...

Linux_CentOS_7.9配置时区及NTPdate同步之简易记录

前言&#xff1a;ntpdate命令来自英文词组”NTPdate“的拼写&#xff0c;其功能是用于设置日期和时间。ntpdate命令能够基于NTP协议设置Linux系统的本地日期和时间&#xff0c;利用NTP服务的时钟过滤器来选择最优方案&#xff0c;大大提高了可靠性和精度&#xff0c;让系统时间…...

十九:爬虫最终篇-平安银行商城实战

平安银行商场实战 需求 获取该商城商品信息 目标网址 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操作系统中的一个重要的动态链接库文件&#xff0c;它与Microsoft Visual C Redistributable相关联。电脑出现关于vcruntime140_1.dll无法继续执行代码的错误弹窗是就意味着这个文件在电脑中被破坏导致丢失了&#xff0c;这将会影响一些程序不能正常…...

Elasticsearch:结合 ELSER 和 BM25 文本查询的相关搜索

Elastic Learned Spare EncodeR (ELSER) 允许你执行语义搜索以获得更相关的搜索结果。 然而&#xff0c;有时&#xff0c;将语义搜索结果与常规关键字搜索结果相结合以获得最佳结果会更有用。 问题是&#xff0c;如何结合文本和语义搜索结果&#xff1f; 首先&#xff0c;让我…...

海外社媒运营为什么需要选择优质IP代理?

跨境电商卖家尤其需要关注海外社媒运营&#xff0c;想要更好地运营Instagram、Facebook、TikTok 或 Twitter等&#xff0c;挖掘社媒潜力需要采取战略方法&#xff0c;而社交媒体IP代理在这一活动中发挥着至关重要的作用&#xff0c;下面为你详细介绍。 一、社交媒体代理IP及其运…...

Java中的性能优化:深入剖析常见优化技巧

引言 在现代软件开发中&#xff0c;性能优化是一个至关重要的话题。Java作为一门强大而广泛使用的编程语言&#xff0c;也需要开发者关注和优化性能&#xff0c;以确保应用程序能够在各种场景下高效运行。本文将深入剖析Java中的一些常见性能优化技巧&#xff0c;为开发者提供…...

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网关的代理服务显着增强了用户体验和性能。特别是对于那些使用需要频繁创建和轮换代理的工具的人来说&#xff0c;使用 API 可以节省大量时间并提高效率。 了解API API&#xff08;即应用程序编程接口&#xff09;充当服务提供商和用户之间的连接网关。通过 API 连接&a…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...