获知溢出地址的可升级转发表的制作方法

文档序号:7889271阅读:106来源:国知局
专利名称:获知溢出地址的可升级转发表的制作方法
技术领域
本发明涉及一种获知溢出地址的可升级转发表。
背景技术
计算和通信网络一般包括诸如路由器、防火墙、交换机或网关的节点,这些节点将诸如数据包的数据从一个或多个源传送或交换至一个或多个目的地。节点例如可通过转发或过滤基于数据包的网络通信量而在数据包穿过网络时对数据包进行操作。节点可接收通信量并可以确定通信量包括未被节点存储的源地址和/或目的地地址。节点可通过将这些地址存储在关联于节点的存储器中(例如在转发表中)来获知地址。对地址进行存储可使节点确认包括地址的其他通信量和/或从其他节点获得使这些节点能够将通信量转发至目的地装置的路由信息。然而,一些节点可以包括不具有存储所有地址的容量的存储器,并可以在达到存储器容量时丢弃数据包。

发明内容
根据一个方面,由多个节点中的一个节点所执行的方法可包括从主机装置中接收数据包,其中,该数据包可包括与主机装置相关联的源地址;确定源地址不被节点存储;以及基于源地址不被节点存储的确定,产生与节点组的一个或多个节点相关联的一个或多个逻辑距离,其中,该一个或多个逻辑距离可以基于源地址和与一个或多个节点的每一个相关联的相应地址。该方法还可以包括确定一个或多个节点的另一节点与一个或多个逻辑距离的最短逻辑距离相关联;以及基于另一节点与最短逻辑距离相关联的确定向该另一节点传输源地址,其中,传输源地址可使该另一节点存储源地址或者可使节点组的其他节点能够从该另一节点中获得源地址。根据另一方面,节点可包括处理器,以从主机装置接收去往目的地主机装置的数据包,其中,该数据包可包括与目的地主机装置相关联的目的地地址;确定目的地地址不被节点存储;以及基于目的地地址和与一个或多个节点的每一个相关联的相应地址,产生与一个或多个节点相关联的一个或多个逻辑距离。处理器还可确定一个或多个节点的第一节点与一个或多个逻辑距离的最短逻辑距离相关联;基于第一节点与最短逻辑距离相关联的确定,来确定第一节点是否存储目的地地址;以及基于第一节点是否存储目的地地址,经由一个或多个节点的第一节点或第二节点而向目的地主机装置传输数据包。 仍根据另一方面,系统可包括用于存储信息的存储器,该信息被用来基于从数据包获得的目的地地址来转发数据包。该系统还可包括从一个或多个节点接收与一个或多个节点相关联的溢出信息的一个或多个装置,其中,与一个或多个节点的每一个节点相关联的溢出信息可包括与转发表相关联的容量;并且基于与每个节点相关联的相应容量向一个或多个节点分配一个或多个优先级。该一个或多个装置还可确认到一个或多个节点的一个或多个距离;基于一个或多个距离的与一个或多个节点的节点相关联的所确认的距离和一个或多个优先级的所分配的优先级,来选择该节点,其中,在存储器缺乏存储从数据包获得的目的地地址或源地址的容量时,选择该节点可使数据包经由所选择的节点被传输至目的地装置。


结合在本说明书中并构成本说明书的一部分的附图示出了本文所描述的一个或多个实施方式,并且其与描述一起来解释这些实施方式。在附图中图I是可实施本文所描述的系统和/或方法的实例网络的示图;图2是图I的一个或多个网络节点的实例组件的示图;图3是存储与一个或多个主机装置相关联的地址信息的实例数据结构的示图;图4是存储与图I的网络相关联的路由信息的实例数据结构的示·
图5是用于根据本文所描述的实施方式来获知源地址和/或检索目的地地址信息的实例过程的流程图;图6是用于与串联节点建立协议以处理溢出源和/或目的地地址的实例处理的流程图;以及图7是当在图I的节点中存在溢出条件时使用串联节点来公布未知源和/或目的地地址的实例处理700的流程图。
具体实施例方式下面的详细描述参考了附图。不同图中的相同参考标号可以表示相同或相似的元素。本文中描述的系统和/或方法可使从数据包(从主机装置中接收)获得未知目的地地址的节点能够确认另一节点(在下文中被称为“集线器节点,hub node”),以确定集线器节点是否存储未知目的地地址。该系统和/或方法可使节点能够基于集线器节点存储未知目的地地址的确定而向所确认的集线器节点转发数据包。未知目的地地址可对应于未存储在与节点相关联的转发表中的地址。该系统和/或方法可使从数据包(从主机装置中接收)获得未知源地址的节点能够将未知源地址存储在节点中。未知源地址可对应于未存储在与节点相关联的存储器中的地址。该系统和/或方法也可使节点能够确认向其公布未知源地址的另一集线器节点。向该另一集线器节点公布未知源地址可允许其他节点获知来自另一集线器节点的未知源地址。该系统和/或方法可允许节点与另一节点(在下文中被称为“串联节点,tandemnode”)建立协议并且在该节点不具有用于存储未知源地址和/或目的地地址的容量时向该串联节点传输未知源地址和/或未知目的地地址。该系统和/或方法可允许节点基于所建立的协议向串联节点公布源地址。向集线器节点或串联节点公布源地址可使该节点或其他节点能够存取大于该节点或其他节点的容量的一些源地址。确认存储未知目的地地址的集线器节点可允许节点将与未知目的地地址相关联的通信量转发至网络内的一个或多个节点,从而被转发至目的地装置,而无需传输(有时,被称为“溢流,flooding”)数据包的拷贝。本文所使用的术语“数据包”旨在被广泛地理解为包括帧、数据报、数据分组或单元;帧片段、数据报片段、数据分组片段或单元片段;或者数据的另一类型、排列或封装。图I是可实施本文所描述的系统和/或方法的实例网络100的示图。如图I所示,网络100可包括网络节点110-1,. . .,110-M(其中,M彡I)的组(在下文中,被统称为“节点110”并分别被称为“节点110”),以及主机装置120-1,, 120-N(其中,N彡I)的组(在下文中,被统称为“主机120”并分别被称为“主机120”)。仅为解释的目的而提供了图I中所示的节点和/或主机装置的数目。实际上,与图I中所示的网络相比,可以具有附加的节点和/或主机装置、更少的节点和/或主机装置、不同的节点和/或主机装置,或不同排列的节点和/或主机装置。同样,在一些实施方式中,网络100的节点和/或主机装置的一个或多个可执行当由网络100的节点和/或主机装置的另外的一个或多个所执行的一个或多个功能。网络100的节点和/或主机装置可经由有线连接、无线连接或有线和无线连接的组合而互连。节点110可包括传输通信量(例如数据包)的网络装置。例如,节点110可采取路由装置、交换装置、多路复用装置或执行路由、交换和/或多路复用功能的组合的装置的 形式。在一个实施方式中,节点110可以是数字装置。在另一实施方式中,节点110可以为光学装置。在另一实施方式中,节点110可以是数字装置和光学装置的组合。节点110可包括存储与节点110操作相关联的信息的内部或外部存储装置和/或存储器。在一个实施例中,节点110可将网络拓扑信息、路由表和/或数据包转发表存储在存储装置和/或存储器中。节点110可接收、处理和/或传输穿过网络100的数据包。节点100可向引入和/或引出的数据包添加和/或附加(增加)信息(例如,标题、报尾、标签等)。节点110可从引入和/或引出的数据包中去除和/或提取信息。节点110 (例如,节点110-1)可通过将未知源地址(例如媒体访问控制(MAC)地址、虚拟局域网(VLAN)端口地址)存储在与节点110相关联的存储器和/或存储装置中,来执行源地址获知操作。未知源地址可从数据包中获得,该数据包是从连接节点110的主机120-1中接收的。节点110还可确认作为集线器节点110的另一节点110 (例如,节点110-2)。节点110可向集线器节点110公布(例如,由标有“公布”的虚箭头示出)未知源地址。集线器节点110可接收未知源地址,并可将未知源地址存储在与集线器110关联的存储器和/或存储装置中。向集线器节点110公布未知源地址可允许其他节点110从集线器节点110中获得未知源地址。在另一实施例中,节点110可向集线器节点110公布指令,以丢弃已过期并且不再由主机120使用的源地址。节点110可通过从另一集线器节点110 (例如,集线器节点110-N)检索未知目的地地址被该另一集线器节点110存储的指示(例如,由标有“检索”的虚箭头示出),来执行目的地地址获知操作。未知目的地地址可从数据包(从主机120-1接收)中获得。该另一集线器节点Iio可被确认为已从连接该另一集线器节点110的主机120-M中获知未知目的地地址的节点。节点110可向所确认的另一集线器节点110转发数据包。节点110可与作为串联节点110 (例如串联节点110-6)的另一节点110通信,以当在节点Iio内存在溢出(overflow)条件时创建用来公布未知源和/或目的地地址的协议。溢出条件可能在节点110不具有存储未知源和/或目的地地址的容量时出现。该协议可与隧道协议(例如以太网上的网际协议(IP)、通用路由封装(GRE)协议、以太网上的多协议标签交换等)相关联。代替在存在溢出条件时丢失数据包,节点110可使用溢出隧道(例如,基于隧道协议)而向串联节点110-6公布未知地址,这可使串联节点110-6执行如上所述的未知源地址获知和/或目的地地址检索。主机装置120可以包括任何计算或通信装置,例如能够经由网络100进行通信的无线移动通信装置。例如,主机装置120可包括无线电话、个人通信系统(PCS)终端(例如,其可组合具有数据处理和数据通信能力的蜂窝无线电话)、个人数字助理(PDA)(例如,其可包括无线电话、寻呼机、互联网/内部网访问等)、膝上计算机、个人计算机、平板计算机、固定电话、机顶盒(STB)、电视机、照相机、个人游戏系统或其他类型的计算或通信装置。在另一实施方式中,主机装置120可为可以以类似于本文所描述的方式来收集、处理、搜索、存储和/或提供信息的服务器装置。图2是可对应于节点110的节点200的实例组件的示图。另外或可选地,每个节点110均可包括节点200的一个或多个。节点200可包括数据传送装置,诸如路由器、网关、交换机、防火墙、网络接口卡(NIC)、集线器、网桥、代理服务器、光分插复用器(OADM)或 者处理和/或传送通信量的一些其他类型的装置。节点200可包括控制器210、一组输入/输出(I/O)单元220_1、220_1、· · ·、220-P(其中,P彡I)(在下文中,被统称为“I/O单元220”并且分别被称为“I/O单元220”)以及交换结构230。尽管图2示出了节点200的实例组件,但在其他实施方式中,与图2中所示和本文中所描述的构造相比,节点200可包括附加的组件、更少的组件、不同的组件或不同排列的组件。另外或可选地,当通过节点200的特定组件执行时所描述的一个或多个操作可通过除节点200的特定组件之外或代替该特定组件的一个或多个其他组件来执行。控制器210可包括处理器、微处理器或硬件逻辑(例如专用集成电路(ASIC)或现场可编程门阵列(FPGA))的一些形式。在一个实例实施方式中,控制器210可包括以太网控制器和/或另外的控制器装置。控制器210可为节点200执行高水平管理功能。例如,控制器210可维持连接性并管理由节点200传送数据包所必需的信息/数据。控制器210可基于网络拓扑信息来创建路由表,基于路由表创建转发表,并将转发表发送至I/O单元220。I/O单元220可使用转发表为传入的数据包执行路由查询,并执行节点200的转发功能。控制器210还可执行节点200的其他一般的控制和监控功能。控制器210可通过确认集线器节点110以公布未知源地址来执行源地址获知操作。控制器210还可指示集线器节点110放弃不再被使用和/或已过期的源地址。控制器210可确认存储未知目的地地址的另一集线器节点110,并可经由特定的I/O单元220向该另一集线器节点110转发与未知目的地地址关联的通信量。控制器210可执行操作以与串联节点110建立协议,和/或可向串联节点110公布未知源地址和/或未知目的地地址。 I/O单元220可包括一个组件或组件的集合以接收弓丨入的数据包、处理弓丨入和/或弓I出的数据包和/或传输弓I出的数据包。例如,I/o单元220可包括I/O端口、数据包转发组件(PFC)、以太网接口和/或另一类型的接口、中央处理单元(CPU)和/或存储器装置。I/O单元220可包括经由物理链路接收或发送数据包的端口的集合。I/O单元220还可包括处理组件、交换接口组件、互联网处理器组件、存储器装置等。I/O单元220的每一个均可连接到控制器210和交换结构230。I/O单元220可在连接到网络(例如网络100)的物理链路上接收数据包数据。每条物理链路均可以是多个类型的其中一种传输媒介,诸如光纤或以太网电缆。
I/O单元220可在向另一 I/O单元220或网络传输数据之前处理进入的分组数据。I/o单元220可使用来自控制器210的转发表而为数据执行路由查询以确定目的地信息。如果目的地表示数据应在连接到I/O单元220的物理链路上发出,则I/O单元220可通过例如添加任何必需的标题(例如,基于隧道协议等)和/或传输来自与物理链路关联的端口的数据来准备用于传输的数据。如果目的地表示数据应经由交换构造230被发送至另一I/O单元220,则根据需要,I/O单元220可向另一 I/O单元220准备用于传输的数据,和/或可经由交换结构230而向另一 I/O单元220传输数据。交换结构230可包括一个或多个交换平面以有助于在I/O单元220和/或控制器210之间通信。在一个实施方式中,每一个交换平面均可包括交叉元件的单级交换或多级交换。交换结构230还可以或可选地包括处理器、存储器和/或容许在I/O单元220和/或控制器210之间通信的路径。图3是存储与一个或多个主机装置110相关联的地址信息的实例数据结构300的示图。数据结构300可存储在与节点110相关联的存储器和/或存储装置中。如图3所示,数据结构300可包括字段的集合,例如主机段305、地址字段310、虚拟局域网(VLAN)字段 315和定时器字段320。数据结构300为了解释的目的而包括字段305-320。实际上,数据结构300可包括与关于数据结构300所描述的字段相比的附加字段、更少的字段、不同的字段或不同排列的字段。主机字段305可存储与连接到节点110的特定主机120相关联的信息。与特别主机120相关联的信息可包括装置标识符(例如,移动电话薄号码(MDN)、固定电话薄号码(LDN)、国际移动用户识别码(MSI)号码、移动用户综合业务数字网(MSISD)号码等)。地址字段310可存储当特定主机120连接至节点110时通过节点110分配给特定主机120的源地址。源地址可包括MAC地址。VLAN字段315可存储与VLAN相关联的信息,该VLAN由节点110掌管(host)并且节点110使用它与特定主机120相通信。与VLAN相关联的信息可包括与VLAN相关联的标识符(例如,名称、唯一标识号等)、与VLAN相关联的端口标识符、与端口相关联的IP地址等。定时器字段320可存储表示MAC地址保持有效和/或MAC地址过期的时段的信息。在另一实例中,定时器字段320可存储与其中VLAN和/或MAC地址保持关联(有时,被称为“VLAN-MAC绑定”)的时段相关联的信息。例如,节点110可从主机120接收数据包,并可将从数据包获得的信息存储在数据结构300中,诸如与主机装置120 (例如主机I)相关联的标识符和/或节点110向主机110分配的MAC地址(例如MAC1)(例如由椭圆322示出)。节点110还可存储与VLAN和/或关联于VLAN的端口(例如,VLANl/端口 I)(例如由椭圆322示出)相关联的信息,节点经由该端口接收数据包。节点110可将确认自从分配MAC地址和/或直到MAC地址过期的时段(例如时间I)的信息存储在数据结构300中。该时段可另外或可选地对应于MAN-VLAN绑定过期时的时间。节点110可将从数据包获得的其他信息存储在数据结构300中,该数据包是从另一主机120 (例如主机2)(例如由椭圆324示出)获得的。在一个实例中,节点110可确定另一 MAC地址(例如MAC2)和/或另一 MAC地址与VLAN(例如VLANl/端口 2)之间的VLAN-MAN绑定已过期(例如由椭圆324示出)。节点110可基于源地址没有存储在数据结构300中和/或源地址已过期的确定来确认未知源地址。节点110可基于源地址没有存储在数据结构300中的确定来执行获知未知源地址的操作。例如,节点110可向主机120分配源地址(例如,这样的MAC地址),和/或可将源地址存储在数据结构300中。另外或可选地,节点110可使源地址与VLAN和/或关联于VLAN的端口相关联,并可将与VLAN和/或端口相关联的信息存储在数据结构300中。节点110可存储对应于源地址的分配和/或VLAN和/或端口与源地址的关联的时间。节点110可向集线器节点110公布所获知的源地址。节点110可使用散列函数和/或一些其他的数学函数来确认向其公布源地址的集线器节点110。例如,节点110可计算源地址(例如源MAC地址)的第一散列和关联于网络100内的另一节点110的地址(例如另一 MAC地址和/或关联于VLAN端口的地址)的第二散列之差的绝对值。节点110可重复与网络100内的其他节点110相关联的其他地址的计算,以针对其他节点110的每一个产生不同的绝对值。节点Iio可确认绝对值中的哪一个为最小绝对值。节点110可向对应于最小绝对值的特定节点110公布所获知的源地址。图4是存储与网络100相关联的转发信息的实例数据结构400的示图。数据结构400可对应于存储在与节点110相关联的存储器和/或存储装置中的转发表。如图4所 示,数据结构400可包括字段的集合,诸如目的地地址字段405、目的地节点标识符(ID)字段410、目的地虚拟局域网(VLAN)标识符(ID)字段415,以及输入/输出(I/O)端口标识符(ID)字段420。数据结构400为了解释的目的而包括字段405-420。实际上,数据结构400可包括与关于数据结构400描述的字段相比的附加字段、更少的字段、不同的字段或不同排列的字段。目的地地址字段405可存储与向其传输数据包的主机120 (例如目的地主机120)相关联的信息。目的地地址可包括与目的地主机120相关联的目的地MAC地址。目的地节点ID字段410可存储与另一节点110 (例如目的地节点110)相关联的信息,该另一节点连接到目的地主机120和/或经由其向目的地主机120路由地传输数据包。与目的地节点110相关联的信息可包括与目的地节点110相关联的装置标识符或一些其他标识符。目的地VLANID字段415可存储与目的地VLAN相关联的信息,该目的地VLAN由目的地节点Iio掌管并且目的地节点100使用它与目的地主机120相通信。与VLAN相关联的信息可包括与目的地VLAN关联的标识符(例如名称、唯一标识号等)、与目的地VLAN相关联的端口标识符、与端口相关联的IP地址等。I/O端口 ID字段420可确认特定的I/O端口 220,关联于目的地地址的数据包经由该特定的I/O端口而将被传输至目的地节点110。例如,节点110可从主机120中接收去往目的地主机120的数据包,并可从该数据包中获得目的地地址。节点110可从与节点110相关联的存储器和/或存储装置中检索数据结构400,并可使用存储在数据结构400内的转发信息,以向目的地节点120转发数据包。节点110可以使用例如转发信息来确认目的地节点110 (例如D-节点I)和/或目的地VLAN以及/或者与目的地VLAN相关联的端口(例如,D-VLANl/端口 I),该目的地VLAN对应于目的地地址(例如,D-MAC1)(例如由椭圆430示出)。节点110也可确认特定的I/O端口 220(例如,I/O端口 1),经由该特定I/O端口而向所确认的目的地节点110传输数据包。节点110可使用转发信息来确认另一目的地节点110和/或I/O端口 220 (例如由椭圆432示出),去往另一目的地主机120的另一数据包经由该I/O端口而将被传输。在另一实例中,节点110可基于目的地地址没有存储在数据结构400中的确定来确认未知目的地地址。节点110可检索与未知目的地地址相关联的转发信息。节点110可确认先前已获知目的地地址(例如以类似于上文关于图3所描述的方式)的集线器节点110,并可向所确认的集线器节点110传输从中获得未知目的地地址的数据包。例如,节点110可使用散列函数和/或一些其他数学函数以通过计算目的地地址(例如目的地MAC地址)的第一散列和与网络100内的另一节点110相关联的地址(例如,另一 MAC地址、VLAN端口地址等)的第二散列之差的绝对值,来确认集线器节点110。节点110可使用与网络100内的其他节点110相关联的其他地址来重复计算,从而针对其他节点110的每一个而产生不同的绝对值。节点110可确认绝对值中的哪一个为最小绝对值,并可确认对应于最小绝对值的特定集线器节点110。节点110可与特定集线器节点110相通信,以确定特定集线器节点110是否存储目的地地址。基于特定集线器节点110存储目的地地址的确定,节点110可确认经由哪个I/O端口 220向该特定集线器节点110传输数据包。基于特定集线器节点110没有存储目的地地址的确定,节点110可确认对应于次最小绝对值的另一集线器节点110。节点110可如上描述地重复该过程,直到确认出存储目的地地址的集线器节点110。节点110可使用转 发信息来确认经由哪个I/o端口 220向所确认的集线器节点110传输数据包。节点110可通过将目的地地址、与确认的集线器节点Iio关联的地址和/或所确认的I/O端口 220存储在数据结构400中来更新转发表。图5是根据本文中描述的用于获知源地址和/或检索目的地地址信息的实例处理500的流程图。在一个实例实施方式中,处理500可通过节点110来执行。在另一实例实施方式中,处理500的一些或全部可通过与节点110分离或与节点110相结合的装置或者装置的集合来执行。如图5所示,处理500可包括接收数据包(框505)和从数据包获得源地址和/或目的地地址(框510)。例如,节点110-1可从主机120-1接收去往目的地主机120-M的数据包。节点110-1可从数据包获得与主机120-1相关联的源地址(例如,诸如源MAC地址)。节点110-1也可从数据包获得与主机120-M相关联的目的地地址(例如,诸如目的地MAC地址)。仍如图5所示,如果源地址未知(框515为否),则处理500可包括存储未知源地址(框520)。例如,节点110-1可确定源地址是否存储在关联节点110-1的存储器或存储装置中。基于源地址没有存储在存储器和/或存储装置中的确定,节点110-1可将未知源地址存储在存储器和/或存储装置中。在另一实例中,节点110-1可确定源地址存储在存储器中但已过期。基于源地址存储在存储器中并过期的确定,节点110-1可向主机120-1分配另一源地址,并可将另一源地址和/或向主机120-1分配该另一源地址的时间存储在存储器和/或存储装置中。在另一实施例中,节点110-1可使未知源地址和/或该另一源地址与由节点110-1掌管的VLAN相关联。节点110-1将与VLAN、节点110-1与主机120-1通信所经由的VLAN端口相关联的信息以及/或者未知源地址和/或另一源地址与VLAN相关联时的时间存储在存储器和/或存储装置中。如图5进一步所示,处理500可包括基于未知源地址来确认集线器节点110-1 (框525)和向所确认的集线器节点传输未知源地址(框530)。例如,节点110-1可向集线器节点110-1公布(例如,传输)未知源地址或另一源地址。集线器节点110-1的确认可基于一种协议,该协议与散列函数和/或一些其他数学函数(例如加密函数)相关联,该协议可以使得能够在未知源地址或另一源地址与关联于另一节点110的地址之间确认最短逻辑距离。例如,节点110-1可基于未知源地址或另一源地址(例如源MAC)的第一散列和与网络100内的另一节点110 (例如节点110-4)关联的地址(例如另一 MAC地址和/或关联于VLAN端口的地址)的第二散列之差的绝对值来计算最短逻辑距离。节点110-1可针对关联于网络100内的其他节点110(例如节点110-2、110-3、110-5等)的其他地址来重复该计算,以针对其他节点110的每一个产生不同的绝对值。节点110-1可确认逻辑距离中的哪一个为最短逻辑距离。节点110-1可确认与最短逻辑距离关联的特定节点110为集线器节点110。节点110-1可向所确认的对应于最短逻辑距离的集线器节点110(例如,节点110-2)公布(例如传输)未知源地址或另一源地址。在另一实例中,节点110-1可基于相对于最短逻辑距离的次最短逻辑距离来确认另一集线器节点110,以公布未知源地址和/或其他源地址。为了冗余(例如,预防由集线器节点110丢失数据包)和/或通信量负载平衡的目的,节点110-1可向另一集线器节点 110公布未知源地址和/或其他源地址。如图5进一步所示,如果源地址已知(框515为是),或在向所确认的集线器节点传输未知源地址之后(框530),并且如果目的地地址已知(框535为是),则处理500可以包括经由目的地节点向目的地主机装置转发数据包(框540)。例如,节点110可确定源地址被存储在关联于节点110的存储器和/或存储装置中,并可确定目的地地址是否存储在转发表(例如,诸如数据结构400)中,该转发表是存储在存储器和/或存储装置中的。在另一实例中,作为向确认的集线器节点110公布未知源地址或其他源地址的结果,节点110可确定目的地地址是否存储在转发表中。例如,节点110可确定目的地地址存储在转发表中,并可确认对应于目的地地址的目的地节点100-N。节点110可基于目的地节点110-N的确认,来确认与节点110-1相邻并且向目的地节点110-N传输数据包所经由的另一节点110(例如,对应于下个跳步)。节点110-1可使用下个跳步来确认经下个跳步向目的地节点110-N转发数据包所经由的特定I/O端口 220 (例如,基于转发表)。目的地节点IIO-N可以接收数据包并向目的地主机120转发该数据包。仍如图5所进一步示出的,如果源地址已知(框515为是),或在向确认的集线器节点传输未知源地址之后(框530),并且如果目的地地址未知(框535为否),则处理500可包括存储目的地地址(方框545)。例如,节点110可确定源地址存储在关联于节点110的存储器和/或存储装置中。节点110还可确定目的地地址没有存储在转发表中。在另一实例中,作为向确认的集线器节点110公布未知源地址或其他源地址的结果,节点110可确定目的地地址没有存储在转发表中。基于目的地没有存储在存储器和/或存储装置中的确定,节点110可将目的地地址存储在存储装置中。仍如图5所示,处理500可包括确认已获知未知目的地地址的目的地集线器节点(框550)和验证目的地集线器节点存储未知目的地地址(框555)。例如,目的地集线器节点110的确认可基于与另一散列函数和/或一些其他的数学函数相关联的另一协议。该另一协议可以使得能够在未知目的地地址和关联网络100内的其他节点110的地址之间确定相应的逻辑距离。作为最短逻辑距离的逻辑距离可对应于存储未知目的地地址的目的地集线器节点110。例如,节点110-1可基于未知目的地地址(例如,诸如目的地MAC地址)的第一散列和关联于网络100内的另一节点110 (例如,节点110-2)的地址(例如另一 MAC地址和/或关联于VLAN端口的地址)的第二散列之差的绝对值,来计算第一逻辑距离。节点110-1可针对关联于网络100内的其他节点110 (例如,节点110-3,· · ·,110-N)的其他地址来重复计算,以针对其他节点110的每一个产生相应的逻辑距离。节点110-1可确认逻辑距离中的哪一个为最短逻辑距离,并可确认对应于最短逻辑距离的目的地集线器节点110 (例如,目的地集线器节点110-N)。节点110-1可与目的地集线器节点110-N通信,以验证目的地集线器节点110-N存储未知目的地地址。基于目的地集线器节点110-N存储未知目的地地址的确定,节点110-1可向目的地集线器节点110-N传输数据包。然而,如果节点110-1确定目的地集线器节点110-N没有存储未知目的地地址,则节点110-1可确认与次最短逻辑距离相关联的另一目的地集线器节点110。节点110可与另一目的地集线器节点IlO-N相通信,以验证该另一目的地集线器节点110-N存储未知目的地地址。如果节点110-1确定该另一目的地集线器节点110没有存储未知目的地地址,则节点110-1可重复该处理直到确认存储未知目的地地址的目的地集线器节点110。如果节点110-1不能确认出存储未知目的地地址的目的地集线器节点110,则节点110-1可丢弃和/或忽略该数据包。 如图5进一步示出的,处理500可包括向目的地集线器节点110传输数据包和对转发表进行更新(框560)。例如,节点110-1可使用转发表来确认在向目的地集线器节点110-N转发数据包时传输该数据包而经由的相邻节点110(例如,下一个跳步)。基于对下一跳步的确认,节点110-1可确认向目的地集线器节点IIO-N传输数据包而经由的I/O端口 220 (例如,经由下一跳步)。目的地集线器节点110-N可接收数据包并可向目的地主机120传输数据包。节点110-1可通过以对应于未知目的地地址的方式来存储确认目的地集线器节点110-N、关联于目的地集线器节点110-N的地址(例如MAC地址、与由目的地集线器节点110-N掌管的VLAN相关联的地址等)的信息、确认下一跳步的信息,和/或确认传输数据包而经由的I/O端口 220的信息,来更新转发表。图6是与串联节点110建立协议以处理溢出源和/或目的地地址的实例处理600的流程图。建立协议可包括基于隧道协议来设立传输数据包而经由的隧道。在一个实例实施方式中,处理600可通过节点110来执行。在另一实例实施方式中,处理600的一些或全部可通过与节点110相分离或与节点110相结合的装置或装置的集合来执行。如图6所示,处理600可包括接收关于与一个或多个节点110相关联的溢出容量的信息(框605)。例如,节点110可从一个或多个节点110中接收关于与一个或多个节点110的每一个相关联的溢出容量的信息。关于每一个节点110的相应溢出容量的信息可包括地址(例如MAC地址、关联于VLAN的地址等)、存储器容量(例如,基于比特数等)、转发表的容量(例如,基于最大的实体量等)。在实例实施方式中,可从hello数据包(从节点110接收)内的时长值(TLV)字段中获得关于溢出容量的信息。仍如图6所示,处理600可包括确认到一个或多个节点的逻辑距离,并基于该距离向节点分配等级(框610)。例如,节点110-1可利用关于溢出容量的信息来确认节点110-1和一个或多个节点110之间的距离和/或最优路径。距离和/或最优路径可以以很多方式来计算,例如,诸如通过与节点110-1和另一节点110之间的网络路径相关联的多个跳步来计算,其中,每个跳步均对应于网络路径上的不同节点110。在另一实例中,距离和/或最优路径可基于与网络路径相关联的传输时间,该传输时间可包括与网络路径、可用带宽等相关联的每个节点110的节点延迟等。在另一实例中,节点110-1可以类似于上文关于图5的框525或550所描述的方式来计算用于节点110的逻辑距离。例如,节点110可使用散列函数或一些其他数学函数,以基于关联于另一节点110的地址的第一散列和关联于节点110-1的另一地址的第二散列之差的绝对值来确认节点110-1和另一节点110之间的逻辑距离。节点110-1可基于节点110-1和节点110的每一个之间的相应逻辑距离,而向节点Iio的每一个分配相应的等级。例如,节点110-2可基于关联于节点110-2的第一逻辑距离(小于关联于节点110-N的第二逻辑距离)而被分配低于节点110-N的等级。在该实例中,如果节点110-2与最短逻辑距离相关联,则节点110-2可被分配等级一(例如R= 1,其中,R为已分配等级)。如图6进一步所示,处理600可包括确认一个或多个节点的容量,并基于所确认的 容量而向该一个或多个节点分配优先级(框615)。例如,节点110-1可从关于溢出容量的信息中获得节点110的每一个的相应容量。这些容量可对应于节点110的每一个的存储器大小和/或转发表容量。节点110-1可基于各自的存储器大小和/或转发表容量而向节点110分配相应的优先级。例如,基于与节点110-3相关联的第一存储器大小和/或转发表容量大于与节点110-5相关联的第二存储器大小和/或转发表容量的确定,节点110-3可被分配高于节点110-5的优先级。在该实例中,如果节点110-3与最大存储器大小和/或转发表容量相关联,则节点110-3可被分配优先级一(例如P = I,其中,P为已分配优先级)。如图6进一步所示,处理600可包括基于已分配等级和/或已分配优先级,而向一个或多个节点分配分数(框620)。例如,节点110-1可基于已分配等级(例如R,其中,R为基于逻辑距离的已分配等级)和/或已分配优先级(例如P,其中,P为基于存储器大小和/或转发表容量的已分配优先级)向节点110分配分数(例如,S)。在一个实例中,分数可基于等级和/或优先级的和(例如S^R + P)。在另一实例中,分数可基于等级和/或优先级的积(例如S E R * P)来分配。在另一实例中,分数可基于等级和/或优先级的加权和(例如S =A*R+ B*P,其中,A和B为加权因数,并且其中A+B E I)。加权因数可通过节点110-1来预确定,和/或可通过节点110-1的操作者和/或网络管理员来指定。例如,当A > B时,分配分数与基于存储器大小和/或转发表容量相比而更明显地基于逻辑距离。在另一实例中,当A < B时,分配分数与基于逻辑距离相比而更明显地基于存储器大小和/或转发表容量。在另一实例中,当B时,分配分数可均等地基于逻辑距离与存储器大小和/或转发表容量。节点110可向一个或多个节点110的每一个分配相应的分数,并可基于分配的分数而对节点110分等。仍如图6进一步所示,处理600可包括基于已分配分数来选择节点作为串联节点(框625)。例如,节点110-1可基于最低的已分配分数来确认特定节点110。在该实例中,最低的已分配分数可表示比全部或大多数的其他节点110的逻辑距离短的逻辑距离和/或比全部或大多数的其他节点110的容量高的容量。节点110-1可向特定节点110发送确认特定节点110为串联节点110的通知,该串联节点可被节点110-1使用以当在节点110-1上存在溢出条件时公布源地址和/或传输目的地地址。当节点110-1不可再存储未知源地址和/或未知目的地地址时,可在节点110-1上产生溢出条件。串联节点110可接收通知,并可传输与公布未知源地址和/或未知目的地地址时所使用的协议(例如,隧道协议)相关联的信息。在另一实例实施方式中,节点110-1可包括与通知中的协议相关联的信息。在另一实施方式中,节点110-1可从关于特定节点110的溢出容量的信息中获得与要使用的协议相关联的信息。节点110可基于另一分配分数(例如相对于最低分数的次最低分数)来确认另一串联节点110,以在存在关联于节点110-1的溢出条件时公布未知源地址和/或未知目的地地址。节点110-1可为了冗余和/或网络100内的通信量负载平衡来确认另一串联节点110。图7是当在节点110中存在溢出条件时使用串联节点110来公布未知源和/或目的地地址的实例处理700的流程图。在一个实例实施方式中,处理700可通过节点110来执行。在另一实例实施方式中,处理700的一些或全部可通过与节点110相分离或与节点110相结合的装置或装置的集合来执行。 如图7所示,处理700可包括接收数据包(框705)和基于数据包来确认未知源地址和/或未知目的地地址(框710)。例如,节点110-1可从主机120接收去往目的地主机120-M的数据包。节点110-1可从数据包获得源地址(例如,关联于主机120的MAC地址)和/或目的地地址(例如关联于目的地主机120-M的另一 MAC地址)。节点110-1可确定是否存在关联于节点110-1的溢出条件。仍如图7所示,如果溢出条件不存在(框715为否),则处理700可包括以类似于上文关于图5的框505-560所描述的方式来处理数据包(框720)。例如,基于关于接收到的数据包而确认出未知源地址和/或未知目的地地址的确定,节点110-1可确定与节点110-1相关联的存储器和/或存储装置是否具有存储未知源地址和/或未知目的地地址的容量。更特别地,节点110-1可确定存储在存储器和/或存储装置内的转发表(例如,诸如图4的数据结构400)是否具有存储关联于未知目的地地址的附加条目的容量。在另一实例中,节点110-1可确定存储在存储器和/或存储装置内的另一数据结构(例如,图3的数据结构300)是否具有存储与未知源地址的附加条目相关联的容量。基于存储器和/或存储装置具有存储未知源地址的容量的确定,节点110-1可以类似于上文关于图5的框520-530所描述的方式来存储未知源地址(例如,在存储器和/或存储装置中)和/或可确认集线器节点110以向其公布未知源地址。基于集线器节点110的确认,节点110-1可向确认的集线器节点110公布未知源地址。在另一实例中,基于存储器和/或存储装置具有存储未知目的地地址的容量的确定,节点110-1可以类似于上文关于图5的框545-560描述的方式来存储未知目的地地址(例如,在存储器和/或存储装置中),并可确认存储未知目的地地址的目的地集线器节点110。节点110-1可经由目的地集线器节点110向目的地主机120-M传输数据包。如图7进一步所示,如果溢出条件存在(框715为是),则处理700可包括基于该条件存在的确定来确认串联节点(框725)。例如,基于存储器和/或存储装置没有存储未知源地址和/或未知目的地地址的容量的确定,节点110-1可确认串联节点110,以基于从存储器和/或存储装置获得的关联于串联节点110的信息来公布未知源地址和/或未知目的地地址。作为以类似于上文参考图6所描述的方式来选择串联节点110的结果,关联于串联节点110的信息已被存储在存储器和/或存储装置中。如图7进一步所示,处理700可包括与串联节点通信以建立隧道(框730)和/或经由该隧道向串联节点传输数据包(方框735)。例如,节点110-1可向串联节点110发送表示溢出条件关于节点110-1存在并且基于预定的协议(例如,诸如IP上的以太网、GRE和/或一些其他协议)建立隧道的通知,节点110-1可经该隧道来公布未知源地址和/或未知目的地地址。例如,节点110-1可将数据包封装在关联于协议的标题中,并可经由隧道向串联节点110传输封装的数据包。串联节点110可接收封装的数据包,并可去除关联于协议的标题,并且可从数据包中获得未知源地址和/或未知目的地地址。串联节点110可将未知源地址和/或未知目的地地址存储在关联于串联节点110的存储器和/或存储装置中,这可允许其他节点110发现未知源地址和/或未知目的地地址。在另一实例中,可存在与串联节点110相关联的另一溢出条件。在该实例中,串联节点110可向另一串联节点110公布未知源地址和/或未知目的地地址。在另一实例中,·节点110可从存储器中获得与另一串联节点110相关联的信息,并可在溢出条件存在时向该另一串联节点110公布未知源地址和/或未知目的地地址。节点110-1可为了冗余目的(例如,在该另一串联节点110内数据包遗失的情况下)和/或为了网络100内的通信量负载平衡来确认该另一串联节点110。本文中描述的系统和/或方法可使从数据包(从主机装置中接收)获得未知目的地地址的节点能够确认存储未知目的地地址的目的地集线器节点。系统和/或方法可使节点能够将数据包转发至目的地集线器节点以被传输至目的地主机装置。确认目的地集线器节点可允许目的地集线器节点在不使数据包向全部端口和/或相邻节点溢流(flood)的情况下处理数据包,这可降低网络内带宽和/或处理资源的利用。系统和/或方法可使从数据包(从主机装置中接收)获得未知源地址的节点能够将未知源地址存储在节点中。系统和/或方法可使节点能够确认另一集线器节点以向其公布未知源地址。向另一集线器节点公布未知源地址可允许其他节点从该另一集线器节点中获知未知源地址。系统和/或方法可允许节点与串联节点来建立协议,并当在节点上存在溢出条件时向串联节点传输未知源地址和/或未知目的地地址。系统和/或方法可允许节点基于建立的协议向串联节点公布未知源地址和/或未知目的地地址。向集线器节点或串联节点公布源地址可使节点能够访问大于节点存储的容量的一些源地址。上文对实施方式的描述提供了图解和描述,但不旨在详尽或将实施限制在公开的精确形式。修改和变化根据上面的教导是可行的,或者可从本发明的实践中获得。例如,尽管参考图5_7描述了一系列方框,但可在其他实施方式中修改方框的顺序。此外,可并行地执行非依赖的方框。如上所述,显而易见的是,可在图中所示的实施例中以软件、固件和硬件的许多不同形式来实施实例方面。用来实施这些方面的实际软件代码或特定控制硬件不应被解释为限制性的。因此,这些方面的操作和性能不参考特定软件代码来描述,应当理解,软件和控制硬件可被设计为基于本文中的描述来实施这些方面。即使在权利要求中叙述和/或在本说明书中公开了特征的特定组合,但这些组合不旨在限制本发明的公开。事实上,可以以在权利要求中没有具体陈述和/或在本说明书中没有具体公开的方式来组合许多个这些特征。尽管本文列出的每个从属权利要求可直接仅从属于一个其他权利要求,但本发明的公开包括与权利要求组中的每个其他权利要求相结合的每个从属权利要求。在本申请中使用的元素、动作或指令不应被解释为对于本发明是关键或必需的,除非如此被明确地描述。同样,如本文所使用的,冠词“一个,a”旨在包括一个或多个项。在仅使用一个项的地方,使用术语“一个,one”或类似的语言。此外,短语“基于”旨在指“至 少部分地基于”,除非另有明确地陈述。
权利要求
1.一种由多个节点中的一节点执行的方法,包括 从主机装置中接收数据包,其中,所述数据包包括与所述主机装置相关联的源地址; 确定所述源地址未被所述节点存储; 基于所述源地址未被所述节点存储的确定,生成与所述多个节点中的一个或多个节点相关联的一个或多个逻辑距离,其中,所述一个或多个逻辑距离基于所述源地址和与所述一个或多个节点的每一个相关联的相应地址; 确定所述一个或多个节点中的另一节点与所述一个或多个逻辑距离中的最短逻辑距离相关联;以及 基于所述另一节点与所述最短逻辑距离相关联的确定,向所述另一节点传输所述源地址,其中,传输所述源地址允许所述另一节点存储所述源地址,或使所述多个节点中的其他节点能够从所述另一节点中获得所述源地址。
2.根据权利要求I所述的方法,其中,确定所述源地址未被所述节点存储进一步包括 比较所述源地址和存储在与所述节点关联的存储器中的多个源地址;以及 当在以下情况时确定所述源地址未被存储在所述存储器中 所述源地址不匹配所述多个源地址中的任一个,或者 所述源地址匹配所述多个源地址中的已过期的至少一个。
3.根据权利要求I所述的方法,其中,生成所述一个或多个逻辑距离进一步包括 确认与所述一个或多个节点中的特定节点相关联的地址;以及 基于所述源地址的第一散列和与所述特定节点相关联的所述地址的第二散列之差的绝对值,生成所述一个或多个逻辑距离中的、所述主机装置和所述特定节点之间的逻辑距离。
4.根据权利要求I所述的方法,还包括 基于所述源地址未被所述节点存储的确定,将所述源地址存储在与所述节点相关联的存储器中。
5.根据权利要求I所述的方法,还包括 确定与数据包要传输到的目的地主机装置相关联的目的地地址未被所述节点存储;基于所述目的地地址和与所述一个或多个节点中的每一个相关联的所述相应地址,生成与所述一个或多个节点相关联的一个或多个其他逻辑距离; 确定所述一个或多个节点中的另一节点与所述一个或多个其他逻辑距离的另一最短逻辑距离相关联;以及 基于所述另一节点与所述另一最短逻辑距离相关联的确定,来确认所述另一节点存储了所述目的地地址。
基于所述另一节点存储了所述目的地地址的确认,经由所述另一节点将所述数据包传输至所述目的地主机装置。
6.根据权利要求I所述的方法,还包括 确认从自另一主机装置接收到的另一数据包而获得的另一源地址未存储在所述节点中; 基于所述另一源地址没有存储在所述节点中的确认,确定与所述节点相关联的存储器是否具有存储所述另一源地址的容量;基于所述存储器具有存储所述另一源地址的容量的确定,将所述另一源地址存储在所述节点中;以及 基于所述存储器不具有存储所述另一源地址的容量的确定,将所述另一源地址传输至所述多个节点中的特定节点,其中,传输所述另一源地址是基于预定的隧道协议的,并允许所述特定节点存储所述另一源地址。
7.根据权利要求I所述的方法,还包括 接收被所述节点存储的另一源地址不再有效的指示; 确定所述多个节点中的另一节点与另一最短逻辑距离相关联,其中,所述另一最短逻辑距离基于所述另一源地址和与所述另一节点相关联的另一地址;以及 基于所述另一节点与所述另一最短逻辑距离相关联的确定,向所述另一节点传输表示所述另一源地址不再有效的通知,其中,传输所述通知允许所述另一节点放弃或盖写所述另一源地址。
8.一种节点,包括 用于从主机装置接收去往目的地主机装置的数据包的装置,其中,所述数据包包括与所述目的地主机装置相关联的目的地地址; 用于确定所述目的地地址未被所述节点存储的装置; 用于基于所述目的地地址和与一个或多个节点中的每一个相关联的相应地址、生成与所述一个或多个节点相关联的一个或多个逻辑距离的装置; 用于确定所述一个或多个节点中的第一节点与所述一个或多个逻辑距离中的最短逻辑距离相关联的装置; 用于基于所述第一节点与所述最短逻辑距离相关联的确定来确定所述第一节点是否存储了所述目的地地址的装置;以及 用于基于所述第一节点是否存储了所述目的地地址而经由所述一个或多个节点中的所述第一节点或第二节点将所述数据包传输至所述目的地主机装置的装置。
9.根据权利要求8所述的节点,其中,用于确定所述目的地地址未被所述节点存储的装置进一步包括 用于比较所述目的地地址和存储在与所述节点相关联的存储器中的多个目的地地址的装置; 用于在所述目的地地址不匹配所述多个目的地地址中的任一个时来确定所述目的地地址未被存储在所述存储器中的装置;以及 用于基于所述目的地地址未被存储在所述存储器中的确定而将所述目的地地址存储在所述存储器中的装置。
10.根据权利要求8所述的节点,其中,用于确定所述第一节点是否存储了所述目的地地址的装置进一步包括 用于与所述第一节点通信以确定所述第一节点是否存储了所述目的地地址的装置;用于基于所述第一节点存储了所述目的地地址的确定而经由所述第一节点向所述目的地主机装置传输所述数据包的装置; 用于基于所述第一节点没有存储所述目的地地址的确定来确认所述第二节点的装置,其中,所述第二节点与所述一个或多个逻辑距离中的另一逻辑距离相关联,所述另一逻辑距离是相对于所述最短逻辑距离的次最短逻辑距离;以及 用于基于所述第二节点与作为所述次最短逻辑距离的另一逻辑距离相关联的确认而经由所述第二节点向所述目的地主机装置传输所述数据包的装置。
11.根据权利要求8所述的节点,还包括 用于确定所述数据包包括未被存储在所述节点中的与所述主机装置相关联的源地址的装置;以及 用于向所述一个或多个节点中的第三节点传输所述源地址的装置,其中,所述第三节点与所述主机装置和所述一个或多个节点之间的另一最短逻辑距离相关联,其中,向所述第三节点传输所述源地址使所述一个或多个节点中的其他节点能够获得所述源地址。
12.根据权利要求8所述的节点,还包括 用于确认从另一数据包获得的另一目的地地址未被存储在所述节点中的装置; 用于基于与所述节点相关联的存储器不具有用于存储所述另一目的地地址的容量的确定,来确定存在与所述节点相关联的溢出条件的装置;以及 用于基于所述溢出条件存在的确定而向所述一个或多个节点中的第三节点传输所述另一数据包的装置,其中,向所述第三节点传输所述另一数据包允许所述第三节点将所述另一数据包传输至对应于所述另一目的地地址的另一目的地主机装置。
13.—种系统,包括 用于存储被用来基于从数据包获得的目的地地址来转发所述数据包的信息的装置;以及 用于从一个或多个节点中接收与所述一个或多个节点相关联的溢出信息的装置,其中,与所述一个或多个节点中的每一个相关联的所述溢出信息确认与所述一个或多个节点的每一个相关联的相应容量; 用于基于与所述一个或多个节点中的每一个相关联的所述相应容量而向所述一个或多个节点分配一个或多个优先级的装置; 用于确认到所述一个或多个节点的一个或多个距离的装置; 用于基于所述一个或多个距离中的所确认的到所述节点的距离和所述一个或多个优先级中的已分配优先级来选择所述一个或多个节点中的节点的装置, 其中,当达到与用于存储被用来转发所述数据包的信息的所述装置相关联的容量时,选择所述节点使得所述数据包经由所述选择的节点被传输至目的地装置,以及其中,达到所述容量用于阻止从数据包获得的目的地地址或源地址被存储。
14.根据权利要求13所述的系统,其中,用于向所述一个或多个节点分配所述一个或多个优先级的装置进一步包括 用于确定所述一个或多个节点中的第一节点包括与第一容量相关联的第一存储器的装置; 用于确定所述一个或多个节点中的第二节点包括与第二容量相关联的第二存储器的装置; 用于基于所述第一容量大于所述第二容量的确定而向所述第一节点分配高于所述第二节点的优先级的装置。
15.根据权利要求13所述的系统,还包括用于基于所述一个或多个距离中的到所述一个或多个节点中的另一节点的另一确认距离和所述一个或多个优先级中的另一已分配优先级来选择所述另一节点的装置, 其中,当所选择的节 点不可用于向所述目的地装置传输所述数据包时,选择所述另一节点使得所述数据包经由所述选择的另一节点而被传输至所述目的地装置。
全文摘要
本发明涉及一种获知溢出地址的可升级转发表,其中,节点被配置为从主机装置接收数据包,其中,该数据包包括与主机装置相关联的源地址;确定源地址没有被该节点存储;基于源地址和与节点的每一个相关联的相应地址,产生与一个或多个节点相关联的一个或多个逻辑距离;确定另一节点与一个或多个逻辑距离的最短逻辑距离相关联;以及基于该另一节点与最短逻辑距离关联的确定而将源地址传输至该另一节点,其中,传输源地址允许该另一节点存储源地址,或使其他的节点能够从另一节点获得源地址。
文档编号H04L29/12GK102891800SQ20121003067
公开日2013年1月23日 申请日期2012年2月10日 优先权日2011年7月18日
发明者安亚凡, 桑迪普·库马尔, 古奈什·艾巴伊, 雷克什·杜拜尔 申请人:丛林网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1