首页> 中国专利> 基于MAC-TABLE快取在单晶片系统或交换机上解决UNI端口信息的方法和系统

基于MAC-TABLE快取在单晶片系统或交换机上解决UNI端口信息的方法和系统

摘要

本发明提供了一种基于MAC‑TABLE快取在单晶片系统或交换机上解决UNI端口信息的方法和系统,该方法和系统使用媒体存取控制表快取(mac‑tablecache)在一外部单晶片系统(SOC)上解决UNI端口信息。该方法包括:封包处理芯片接收带有源地址(sourceaddress,SA)的封包;封包处理芯片在封包处理芯片上实现的mac‑table快取中定位SA;如果在mac‑table快取中找不到SA,则查找在外部SOC上实现的SOC媒体存取控制表(SOCmac‑table)。

著录项

  • 公开/公告号CN113821473A

    专利类型发明专利

  • 公开/公告日2021-12-21

    原文格式PDF

  • 申请/专利权人 科尔奇普投资公司;

    申请/专利号CN202110686242.0

  • 发明设计人 董仲恺;

    申请日2021-06-21

  • 分类号G06F15/78(20060101);H04L12/931(20130101);

  • 代理机构31204 上海德昭知识产权代理有限公司;

  • 代理人郁旦蓉

  • 地址 塞舌尔共和国马埃埃登岛埃登广场维斯特拉商业服务中心1楼第23室

  • 入库时间 2023-06-19 13:46:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-13

    专利申请权的转移 IPC(主分类):G06F15/78 专利申请号:2021106862420 登记生效日:20220901 变更事项:申请人 变更前权利人:阿普科尔公司 变更后权利人:美商光禾科技股份有限公司 变更事项:地址 变更前权利人:塞舌尔共和国马埃埃登岛埃登广场维斯特拉商业服务中心1楼第23室 变更后权利人:美国加州尔湾市拉古纳峡谷路15420号150室

    专利申请权、专利权的转移

说明书

技术领域

本发明涉及一种基于mac-table在单晶片系统或交换机(switch)上解决UNI端口信息的方法和系统,更具体地,涉及一种利用mac-table快取,用于解析外部单晶片系统(SOC)和/或交换机上的UNI(用户与网络界面,Usernetwork interface)端口信息。

背景技术

ITU-T G.999.1,国际电信联盟(ITU)发布的一份名为“数位用户线(DSL)收发器的链路层和物理层之间的接口”的文件定义了使用特定的硬件协议来传输来自上一级物理(PHY)设备。另外,该文件中提到,由于支持G.999.1的芯片体积庞大,普及度不高,多用于多封包处理芯片设计的CO设备(co-location device)上。但是,在使用ITU-T G.999.1承载端口信息的环境下,这类支持G.999.1的芯片往往价格昂贵,可供选择的也很少。

另外,端口信息封装VLAN(Virtual Local Area Network)ID将数据封包的UNI(User-network interface)端口封装为一个特殊的VLAN ID,多用于多芯片方案CPE(Customer-premises Equipment)来承载不同芯片之间的端口信息。

然而,如果使用VLAN ID来携带端口信息,则一级VLAN可能会被浪费,因为大多数交换机仅支持二级VLAN ID,并且这将从具有那些廉价交换机的CPE中去除两个标签支持。此外,现有的交钥匙解决方案采用数据封包处理芯片的开销很高,因为需要大量重组交换机VLAN的使用。

虽然使用VLAN ID携带端口信息解决了上行流量带来的问题,但是这种方法仍然存在一些问题,即根据其UNI端口对下行流量的数据封包处理是不同的。

发明内容

本发明涉及一种基于mac-table在单晶片系统或交换机(switch)上解决UNI端口信息的方法和系统,更具体地,涉及一种利用mac-table快取,用于解析外部单晶片系统(SOC)和/或交换机上的UNI(用户与网络界面,User network interface)端口信息。

根据本发明,提供了一种使用mac-table快取(mac-table cache)来在一外部单晶片系统(SOC)或交换机上解决UNI端口信息的方法和系统。本方法包括:封包处理芯片接收带有源地址(SA)的封包;封包处理芯片在封包处理芯片上实现的mac-table快取中定位SA;如果在mac-table快取中找不到SA,则查找在外部SOC上实现的SOC mac-table。

较佳地,mac-table快取被实现为ASIC(专用集成电路,ASIC)。

较佳地,封包是从外部SOC或与封包处理芯片连接的共置设备(co-locationdevice,CO)发送的。

较佳地,如果在mac-table快取中找不到该封包的SA,则封包处理芯片通知SOCmac-table找出该封包的SA,SOC mac-table将结果更新回到封包处理芯片上的mac-table快取。

较佳地,封包处理芯片根据在mac-table快取中找到的SA对封包进行处理。

根据本发明,提供了一种使用mac-table快取来解析UNI端口信息的系统。该系统包括:封包处理芯片,其上实现了mac-table快取;外部单晶片系统(SOC),其上实现了SOCmac-table,与封包处理芯片电连接;一共位置装置(CO),电性连接封包处理芯片。封包处理芯片收到带有源地址(SA)的封包,封包处理芯片在mac-table快取中定位SA,如果在mac表快取中找不到封包的SA,封包处理单元查找SOC mac-table。

较佳地,mac-table快取被实现为封包处理芯片内部的ASIC(专用集成电路,ASIC)。

较佳地,封包处理芯片从外部SOC或CO接收封包。

较佳地,如果在mac-table快取中找不到该封包的SA,则封包处理芯片通知SOCmac-table找出该封包的SA,SOC mac-table将结果更新回到封包处理芯片上的mac-table快取。

较佳地,封包处理芯片根据在mac-table快取中找到的SA对封包进行处理。

附图说明

图1示出了本发明的第一实施例;

图2示出了本发明的第二实施例;以及

图3示出了没有UNI端口识别会发生的情况。

具体实施方式

除非另外定义,否则本文使用的所有技术和科学术语具有与本公开所属领域的技术人员通常理解的相同的含义。将进一步理解术语;例如在常用词典中定义的那些,应被解释为具有与其在相关技术和本公开的上下文中的含义一致的含义,并且除非明确如此定义,否则不会以理想化或过于正式的含义进行解释在此处。

在整个说明书中对“一个实施例”或“一个实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在至少一个实施例中。因此,在本说明书各处出现的短语“在一个实施例中”或“在一个实施例中”不一定都指代相同的实施例。此外,特定特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。

参考图1,其示出了本发明的第一实施例。更具体地说,图1说明了mac-table快取如何用于上行数据封包处理。如图1所示,封包处理芯片101与外部SOC(System on Chip,单晶片系统)102相连。这样的SOC也可以是交换机或开关(Switch)。因此,在以下段落中,可以替代地使用SOC或SOC/交换机。进一步地,封包处理芯片101还连接共址、CO或CO设备,外部SOC/交换机102具有四个UNI端口,即UNI端口1、UNI端口2、UNI端口3和UNI端口4,如图1所示之四个UNI端口。

对于上行方向,封包处理芯片101从外部SOC/交换机102接收封包。封包处理芯片101在mac-table快取中定位封包的SA(源地址),其中该mac-table快取是封包处理芯片101上实现的软件。如果没有找到封包的SA,封包处理芯片101将MAC地址捕获到外部的软件(即图1所示的SOC/switch mactab)用于UNI端口查找的SOC/开关102。最后,封包处理芯片101根据上行规则表和封包UNI端口对封包进行处理。

上行规则表参见下表1。

其中IVID代表内部VLAN ID,UNI端口对于端口3/端口4上行处理至关重要。由于IVID在本发明所属的技术领域中是众所周知的,因此省略了关于IVID的描述。

更具体地说,如上一段所述,外部SOC/交换机102具有四个UNI端口,即UNI端口1、UNI端口2、UNI端口3和UNI端口4,每个接收具有不同SA的数据封包。例如,如图1所示,UNI端口1接收SA=0:00:00:00:00:0a的数据封包,UNI端口2接收SA=0:00:00:00:00:0b的数据封包,UNI端口3接收SA=0:00:00:00:00:0c的数据封包,UNI端口4接收SA=0:00:00:00:00:0d的数据封包。

在上行场景中,封包处理芯片101接收来自外部SOC/交换机102的封包。例如封包处理芯片101接收的封包来自UNI端口3,因此该封包具有SA=0:00:00:00:00:0c。封包处理芯片101在mac-table快取中定位封包SA(SA=0:00:00:00:00:0c)。

从图1中可以看出,当前的mac-table快取中只有两个MAC地址在记录,即来自UNI端口2的0:00:00:00:00:0b和来自UNI端口1的0:00:00:00:00:0a。而在mac-table快取中找不到SA=0:00:00:00:00:0c。封包处理芯片101确定SA查找丢失,然后封包处理芯片101将MAC地址捕获到外部SOC/交换机102上的软件(即SOC/交换机mactab)用于UNI端口查找。

SOC/switch mactab记录来自不同UNI端口的所有SA。从图1可以看出,SOC/switchmactab记录了与UNI端口2相关的MAC地址0:00:00:00:00:0b,与UNI端口1相关的MAC地址0:00:00:00:00:0a,与UNI端口4相关的0:00:00:00:00:0d和与UNI端口3相关的0:00:00:00:00:0c。这样的堆栈(或顺序)只是为了示例目的,因此堆栈(或顺序)不应限制本发明的范围。

SOC/交换机mactab更新封包处理芯片101上的mac-table快取,使得来自UNI端口3的SA=0:00:00:00:00:0c因此被写入mac-table快取。一旦更新了mac-table快取,封包处理芯片101就可以根据UNI端口信息对封包进行处理,并将封包转发给CO。

如果封包处理单元101接收到的封包具有SA=0:00:00:00:00:0b或SA=0:00:00:00:00:0a的情况,由于这样的源地址已经记录在mac-table快取中,封包处理芯片101可以直接处理封包,无需查看SOC/switch mactab。封包处理芯片101可以直接将这样的封包(本实施例中SA=0:00:00:00:00:0b或SA=0:00:00:00:00:0a的封包)转发给CO。

此外,对于上行规则表,这样的规则定义了应该如何基于UNI端口ID将封包含在数据封包中的VLAN ID从一个转换为另一个,数据封包来自哪里(对于上行规则)或去往(下行规则)。

在大多数情况下,CPE设备中的数据封包可能没有VLAN ID、一个VLAN ID或两个VLAN ID。对于有两个VLAN ID的封包,外层称为OVID,内层称为IVID。对于具有一个VLAN ID的数据封包,从OMCI规范的角度来看,它被称为IVID。

接下来参考图2,其示出了本发明的第二实施例。更具体地说,图2说明了mac-table快取如何用于下行数据封包处理。如图2所示,数据封包处理芯片201与外部SOC(System on Chip,单晶片系统)202相连。这样的SOC也可以是交换机或开关(Switch)。因此,在以下段落中,可以替代地使用SOC或SOC/交换机。进一步地,封包处理芯片201还连接共址、CO或CO设备,外部SOC/交换机202具有四个UNI端口,即UNI端口1、UNI端口2、UNI端口3和UNI端口4,如图2所示之四个UNI端口。

对于下行方向,封包处理芯片201接收来自CO的封包。封包处理芯片201将封包的SA(源地址)定位在mac-table快取中,其中该mac-table快取是在其上实现的软件封包处理芯片201。如果没有找到封包的SA,封包处理芯片201将MAC地址捕获到外部SOC/switch 202上的软件(即图2所示的SOC/switch mactab)用于UNI端口查找。最后,封包处理芯片201根据下行规则表和封包UNI端口对封包进行处理。

上行规则表参见下表2。

其中IVID代表内部VLAN ID,UNI端口对于端口3/端口4上行处理至关重要。由于IVID在本发明所属的技术领域中是众所周知的,因此省略了关于IVID的描述。

更具体地说,如上一段,外部SOC/交换机202具有四个UNI端口,即UNI端口1、UNI端口2、UNI端口3和UNI端口4,每个端口处理不同的数据封包。例如,如图2所示,UNI端口1处理SA=0:00:00:00:00:0a的数据封包,UNI端口2处理SA=0:00:00:00的数据封包:00:0b,UNI端口3处理SA=0:00:00:00:00:0c的数据封包,UNI端口4处理SA=0:00:00:00:00:0d的数据封包。

在下行场景中,封包处理芯片201从CO(或CO设备)接收封包。例如,封包处理芯片201接收到的封包的SA=0:00:00:00:00:0c。封包处理芯片201在mac-table快取中定位封包SA(SA=0:00:00:00:00:0c)。

如图2所示,当前mac-table快取中记录的mac地址只有两个,分别是与UNI端口2相关的0:00:00:00:00:0b和与UNI端口1相关0:00:00:00:00:0a。而在mac-table快取中找不到0:00:00:00:00:0c。封包处理芯片201确定SA查找丢失,然后封包处理芯片201将MAC地址捕获到外部SOC/交换机202上的软件(即SOC/交换机mactab)中以用于UNI端口查找。

SOC/switch mactab记录了与不同UNI端口相关的所有SA。如图2所示,SOC/switchmactab记录了与UNI端口2相关的MAC地址0:00:00:00:00:0b,与UNI端口1相关的MAC地址0:00:00:00:00:0a,与UNI端口4相关的0:00:00:00:00:0d和与UNI端口3相关的0:00:00:00:00:0c。这样的堆栈(或顺序)只是为了示例目的,因此堆栈(或顺序)不应限制本发明的范围。

SOC/switch mactab更新封包处理芯片201上的mac-table快取,使得SA=0:00:00:00:00:0c相关的UNI端口3写入mac-table快取。一旦mac-table快取被更新,封包处理芯片201可以基于UNI端口信息处理封包,并将封包转发到外部SOC/交换机202。

如果封包处理单元201(从CO)接收的封包具有SA=0:00:00:00:00:0b或SA=0:00:00:00:00:0a,由于这样的源地址已经记录在mac-table cache中,封包处理芯片201可以直接处理封包,无需查看SOC/switch mactab。封包处理芯片101可以将这样的封包(本实施例中SA=0:00:00:00:00:0b或SA=0:00:00:00:00:0a的封包)转发给外部SOC/switch直接202。

此外,对于下行规则表,这样的规则定义了应该如何基于UNI端口ID将封包含在数据封包中的VLAN ID从一个转换为另一个,数据封包来自哪里(对于上行规则)或去向(下行规则)。

在大多数情况下,CPE设备中的数据封包可能没有VLAN ID、一个VLAN ID或两个VLAN ID。对于有两个VLAN ID的封包,外层称为OVID,内层称为IVID。对于具有一个VLAN ID的数据封包,从OMCI规范的角度来看,它被称为IVID。

图3是说明在没有UNI端口识别的情况下会发生什么状况。对于上行,不支持1对多VLAN转换。也可以理解为,从External SOC/Switch,port 3接收到一个数据封包。各自的端口指令为:port 1,Vid 100 to 1000;端口2,Vid 200到1000;端口3,Vid 300到3000;和端口4,Vid 300到4000。数据封包稍后传输到数据封包处理芯片。如果没有本发明提供的UNI端口识别,封包处理芯片无法得知是要将Vid转换为3000还是4000。

进一步参考图3,对于下行,不能支持1对多VLAN转换。也可以理解为,从CO传输一个数据封包,其中Vid=1000。当数据封包传输到外部SOC/交换机时,如果系统不支持UNI端口识别,外部SOC/交换机无法得知是要将Vid转换为100还是200。

根据以上描述,可以在一些方面概括本发明。这样的一个方面是,对于本发明的操作,可以理解为,当封包处理芯片接收到封包但发现外部SOC/交换机上缺少UNI端口信息时,封包处理芯片通知软件在该外部SOC/交换机上查找UNI端口信息并将其快取在数据封包处理芯片内。

根据以上描述,可以在一些方面概括本发明。一个这样的方面是,为了本发明的目的,可以解释为,本发明提供了一种方法/方法,使独立的数据封包处理芯片能够与外部SOC/交换机一起工作,而无需改变其上的软件设计外部SOC/开关。

根据以上描述,可以在一些方面概括本发明。这样的一个方面是,对于本发明的环境,可以理解为,本发明可以应用在封包处理芯片与外部SOC/Switch芯片和封包UNI端口上的环境下。外部SOC/交换机是数据封包处理的关键标准。

关于如何解决常规问题,可以理解为通过运行在外部SOC/switch上的软件来维护封包处理芯片内部的mac-table快取,使得封包处理芯片始终知道如何处理基于外部SOC/交换机上的UNI端口处理数据封包。

本发明提供了一种使用mac-table快取来解析关于外部SOC或交换机的UNI端口信息的方法。也可以理解为,本发明的方法用于封包处理芯片解析外部SOC或交换机上的封包UNI端口信息。

再者,mac-table快取作为封包处理芯片内部的ASIC(专用集成电路,ASIC)的一部分来实现。此外,mac表存取软件正在外部SOC/交换机上运行以检索其mac地址表。

当封包处理芯片接收到封包时,它在mac-table快取中查找UNI端口信息。如果查找失败,封包处理芯片通知mac table access软件查找封包UNI端口信息,软件将结果更新回封包处理芯片上的mac-table cache。进一步地,封包处理芯片根据在mac-table快取中找到的UNI端口来处理封包。

本发明可以应用于多种潜在应用,以及多种潜在市场。更具体地说,所有场景都需要为前一级SOC/交换机实现独立的数据封包处理芯片。例如,GPON/XGPON路由器(其中独立的GPON/XGPON芯片设计用于只有以太网上行链路的路由芯片)和GPON/XGPON MDU(其中独立的GPON/XGPON芯片设计用于高端口数交换机)。

与传统技术相比,本发明提供以下优点。首先,传统级SOC/开关不需要特殊的硬件协议支持。其次,传统级别的SOC/switch不需要改变VLAN的使用。第三,本发明适用于一对多下行VLAN转换。第四,很容易将独立芯片与现有的交钥匙解决方案集成。

软件用于将来自外部SOC/交换机的UNI信息同步到分组处理芯片。因此,无需使用基于G.999.1等协议的硬件芯片。

进一步地,封包UNI端口信息快取在mac-table cache上,因此不需要浪费一个VLAN tag来承载UNI端口信息。更具体地说,交换机双标签能力可以完全保留用于数据封包处理,现有的交钥匙解决方案可以很容易地与数据封包处理芯片集成,而无需大量重组SOC/交换机VLAN的使用。

此外,UNI端口信息在mac-table快取中可用于上行或下行方向。也就是说,可以根据不同的目的地UNI端口对下行流量进行适当的处理。

可见本发明在突破先前的技术下,确实已达到想要增进的功效,且也并不是本领域的技术人员容易想到的,其具有的新颖性、创造性、实用性,符合专利的申请要件,因此依法提出专利申请。

以上仅为举例说明,并不用来限制本发明的保护范围。其它任何未脱离本发明的精神与范畴,而对其进行的等效修改或变更,均应该包含于本发明的权利要求书所记载的范围中。

符号说明

101:封包处理芯片

102:单晶片系统或交换机

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号