用于内部交换结构中不等链路连接的喷射的制作方法

文档序号:25876474发布日期:2021-07-16 17:51阅读:67来源:国知局
用于内部交换结构中不等链路连接的喷射的制作方法

1.本公开涉及计算机网络,更具体地,涉及在计算机网络内传送分组。


背景技术:

2.计算机网络是能够交换数据和共享资源的互连计算装置的集合。在诸如以太网的基于分组的网络中,计算装置通过将数据划分为称为分组的可变长度块来传送数据,该可变长度块单独地通过网络从源装置路由到目的地装置。目的地装置从分组提取数据并将数据组装成其原始形式。
3.称之为路由器的某些装置维护表示网络拓扑的路由信息。路由器交换路由信息,以便维护通过网络的可用路由的准确表示。“路由”通常可定义为网络上两个位置之间的路径。在接收到输入数据分组时,路由器检查分组内的信息(通常称为“密钥”),以根据路由信息选择将分组转发到的适当下一跳。
4.因特网中存在多种路由器。例如,网络服务提供商(nsp)维护“边缘路由器”以向客户提供因特网访问和其他服务。nsp可以提供的服务的示例包括ip语音(voip)、异步传输模式(atm)或帧中继通信的访问、因特网协议(ip)数据服务和多媒体服务,诸如视频流。nsp的边缘路由器通常将网络流量传送到高速“核心路由器”,通常可以视之为形成因特网的骨干。这些核心路由器通常包括比边缘路由器多得多的处理资源,并且被设计为处理大量的网络流量。
5.路由器可以包括线路卡,线路卡包括具有端口的网络接口卡以及分组转发引擎(pfe)或其他分组处理器。线路卡通过路由器交换结构从待交换的网络接收和处理分组,并且从交换结构接收待发送到网络中的下一目的地的分组。路由器的交换结构可以包括具有结构平面的结构卡,该结构平面将通过路由器的流量从一个线路卡上的入口端口交换到另一个线路卡上的目的地出口端口。


技术实现要素:

6.通常,描述了用于促进由内部装置交换结构的结构平面的结构核心进行的平衡单元处理的技术。该技术可以包括在将结构核心彼此连接的核心间链路之间以及在到连接到结构核心的目的地结构端点的直接链路之间喷射(spraying)单元。该技术在结构端点共享到结构平面的奇数个可用链路时,或者当多个结构端点具有到结构平面的不同数量的链路时,导致与结构平面的不平衡连通性时尤其适用。
7.例如,线路卡上的两个结构端点可以共同具有到结构平面的奇数个链路。这些链路中的一个在两个结构端点之间共享。结构平面包括两个结构核心,并且奇数个链路在两个核心之间平等地分配,并且连接到两个核心,除了仅连接到核心的第一核心的共享链路之外。在另一示例中,两个结构端点可以具有到结构平面的不同数量的链路。例如,第一结构端点可以具有到两个核心中的每一个的四个链路,而第二结构端点可以具有到两个核心中的每一个的单个链路。这种结构端点以及它们各自的链路连接集是不平衡的。
8.为了便于针对共享或不平衡链路的这两种情况在两个结构核心之间进行平衡单元处理,第一核心经由核心间链路将在共享或不平衡链路上接收的单元流量的一部分喷射到核心的第二核心。如本文所使用的,互联端口是经由核心间链路可通信地耦合到另一结构核心的结构核心上的端口;输出端口是连接到结构端点或其他结构核心以发送单元的结构核心的端口;并且输入端口是接收来自结构端点或其他结构核心的单元的结构核心的端口。当单元到达结构平面的输入端口时,单元的初始接收结构核心可以至少基于指示源结构端点与输入端口之间的链路是不平衡还是共享的输入端口来确定是否经由核心间链路将单元发送到另一结构核心以交换到输出端口。
9.该技术可以提供一个或多个技术优点以促进至少一个实际应用。例如,单元处理技术可以实现多核结构平面交换体系结构,该结构平面具有在多个结构端点之间共享的奇数个链路,以实现结构核心之间的平衡(即公平)单元处理。作为另一示例,单元处理技术可以实现具有多核结构平面的结构端点之间的不平衡链路连通性,以实现结构核心之间的平衡单元处理。
10.在一个示例中,路由系统包括多个结构端点和交换结构,其包括用于在结构端点之间交换单元的结构平面。结构平面包括两个结构核心和连接结构核心的一个或多个核心间链路。每个结构核心基于以下来选择结构核心的输出端口以将单元所接收的单元路由到输出端口:(i)接收到所接收的单元的结构核心的输入端口和(ii)所接收的单元的目的地结构端点,所选择的输出端口的至少一部分连接到核心间链路,并且将所接收的单元交换到所选择的输出端口。
11.在另一示例中,包括一种在具有多个端点的路由器中路由单元的方法,以及一种包括用于在端点之间交换单元的结构平面的交换结构。交换结构平面包括两个结构核心和一个或多个连接结构核心的核心间链路。该方法包括在多个输入端口处接收单元。该方法还包括由结构核心以基于以下项来选择结构核心的输出端口以路由单元所接收的单元:(i)接收到所接收的单元的结构核心的输入端口和(ii)所接收的单元的目的地结构端点,所选择的输出端口的至少一部分连接到核心间链路。另外,该方法包括将所接收的单元交换到所选择的输出端口。
12.在另一示例中,网络装置包括共同具有多个结构端点的多个线路卡,以及耦合到线路卡并且包括用于在结构端点之间交换单元的结构平面的结构交换卡。结构平面包括两个结构核心和连接结构核心的一个或多个核心间链路。每个结构核心以基于(i)接收到所接收的单元的结构核心的输入端口和(ii)所接收的单元的目的地结构端点来选择结构核心的输出端口以路由单元所接收的单元,所选择的输出端口的至少一部分连接到核心间链路,并且将所接收的单元交换到所选择的输出端口。
13.在附图和下面的描述中阐述了一个或多个示例的细节。根据说明书和附图以及权利要求书,其他特征、目的和优点将显而易见。
附图说明
14.图1是示出示例网络环境的框图,其中,服务提供商网络包括根据本公开中描述的技术配置的具有不等链路能力的路由器。
15.图2是示出根据本文描述的技术的交换系统的示例的框图。
16.图3a和图3b是具有到结构平面的共享和/或不平衡链路连接的结构端点的线路卡的框图。
17.图4a、图4b和图4c是连接到结构核心的端点的示例配置的框图。
18.图5是描绘根据本公开中描述的技术配置的以交换单元的专用集成电路(asic)的框图。
19.图6是示出根据本公开的技术的示例数据单元格式的框图。
20.图7是连接到相同结构核心的不同类型端点的示例配置的框图。
21.图8是示出通过结构核心交换单元的示例方法的流程图。
22.图9是示出结构核心基于输入端口和目的地端点来交换单元的示例方法的流程图。
具体实施方式
23.图1是示出示例网络环境的框图,其中,服务提供商网络包括根据本公开中描述的技术配置的路由器。出于示例的目的,参考图1的简化网络环境100来描述本公开的原理,其中,路由器102与边缘路由器104a和104b(统称为“边缘路由器104”)进行通信以向用户网络106a-106c(统称为“用户网络106”)提供对服务提供商网络108的访问。路由器102可以与边缘路由器104交换路由信息,以便维护网络环境100的拓扑的准确表示。如下所述,路由器102可以包括作为服务提供商网络108内的单个节点操作的多个协同路由部件。路由器102包括将各种内部路由部件(例如,线路卡、交换结构卡、路由引擎卡等)耦合在一起的机架(chassis)(图1中未示出)。
24.尽管未示出,但是服务提供商网络108可以耦合到由其他提供商管理的一个或多个网络,并且因此可以形成大规模公共网络体系结构(例如因特网)的一部分。因此,用户网络106可以被视为因特网的边缘网络。服务提供商网络108可以向用户网络106内的计算装置提供对因特网的访问,并且可以允许用户网络106内的计算装置彼此进行通信。在另一示例中,服务提供商网络108以在因特网的核心内提供网络服务。在任一情况下,服务提供商网络108可以包括除路由器102和边缘路由器104之外的各种网络装置(未示出),诸如附加路由器、交换机、服务器或其他装置。
25.在所示示例中,边缘路由器104a经由访问链路110a耦合到用户网络106a,并且边缘路由器104b经由附加访问链路110b和110c耦合到用户网络106b和106c。用户网络106可以是用于企业的地理上单独的站点的网络。用户网络106可以包括一个或多个计算装置(未示出),诸如个人计算机、膝上型计算机、手持计算机、工作站、服务器、交换机、打印机、用户数据中心或其他装置。图1所示的网络环境100的配置仅仅是示例。服务提供商网络108可以耦合到任何数量的用户网络106。然而,为了便于描述,图1中仅示出了示例数量的用户网络106a-106c。除了服务提供商网络108之外,许多不同类型的网络可以采用路由器102的实例,包括用户/企业网络、传输网络、汇聚或访问网络等。
26.如下面进一步详细描述的,路由器102包括交换结构112。交换结构112包括提供用于通过路由器102在连接到结构平面的结构端点之间路由单元的结构平面的交换结构卡。结构平面包括具有核心间链路的结构核心,该核心间链路有助于在结构核心之间路由单元以平衡单元流量。这有助于在配置中使用结构端点,其中每个结构端点不需要具有到结构
核心的相同数量的链路,或者其中多个结构端点可以共享奇数个链路,同时为每个结构核心维护平衡的流量负载。虽然该操作在路由器102外部是透明的,但是它具备允许线路卡和其上的结构端点的更灵活配置的优点,使得路由器102可以在不更新机架或交换结构卡的情况下进行更新。因此,与现有体系结构相比,路由器102的硬件配置可以更灵活。
27.每个结构平面具有从每个结构端点到结构平面的相等数量的链路的体系结构有助于在结构端点之间的链路之间喷射相等的单元流量。交换结构112包括一个或多个结构平面。至少一个结构平面具有多个(例如,两个)结构核心,每个结构核心是单独的纵横交换机并且连接到结构平面的输入端口和输出端口。根据本公开的技术,结构平面有助于由结构核心进行平衡的单元处理。结构核心通过一个或多个核心间链路连接。该技术可以包括在核心间链路之间以及在到经由结构平面的端口连接到结构核心的目的地结构端点的直接链路之间喷射单元。当结构端点共享到结构平面的奇数个可用链路时,或者当多个结构端点具有到结构平面的不同数量的链路,导致与结构平面的不平衡连通性时,该技术尤其适用。
28.单元处理技术可以实现多核结构平面交换体系结构,该结构平面具有在多个结构端点之间共享的奇数个链路,以实现结构核心之间的平衡(即公平)单元处理。作为另一示例,单元处理技术可以实现具有多核结构平面的结构端点之间的不平衡链路连通性,以实现结构核心之间的平衡单元处理。
29.图2是示出根据本文描述的技术的交换系统的示例的框图。交换系统202的交换结构200(有时称为“结构200”)可以表示图1的路由器102的交换结构112的示例性实例。交换系统202的线路卡204a和204b(统称为“线路卡204”)分别耦合到交换结构200的结构平面206a-206k中的每一个,以充当由结构200交换的数据单元(例如,单元)的源和/或目的地。具体地,在所示示例中,线路卡204具有经由共享和非共享链路连接到结构平面206的多个结构端点207a和207b(统称为“结构端点207”),并且作为单元的源和/或目的地操作。在所示示例中,线路卡204a中的一个的端点207进入、发起或以其他方式发出分组208,用于经由交换结构200交换到退出、消耗或以其他方式接收分组208的另一线路卡204b的端点207。
30.尽管每个结构端点207通常既作为单元的源又作为单元的目的地,但是在各种情况下,任何结构端点207可以是单元的源或目的地。在一些示例中,结构端点207可以分别表示分组转发引擎(pfe)或其他转发单元,使得结构端点207共同实现分组交换装置(例如路由器102)的分布式转发平面。在一些示例中,结构端点207可以表示用于经由结构200为分布式应用交换分组的服务器或其他主机(例如,虚拟机)的结构接口。结构端点207可以包括各自的交换结构接口或“交换接口”(si—未示出),以便为经由结构200交换的单元提供排队,以及其他操作。
31.在该示例中,交换结构200包括多个结构平面206a-206k(统称为“结构平面206”),每个结构平面包括多个结构核心210a和210b。结构平面206a-206k在操作上是独立的,由结构核心(图示为“结构核心210a和210b”,本文统称为“结构核心210”)支持的并行交换结构平面。交换系统202可以包括一个或多个结构平面206。交换系统202可以包括一个或多个交换结构卡以实现结构平面206。单个结构平面206中的结构核心210的数量可以是任何数量,这取决于结构核心210各自的容量和所需的结构带宽。在所示示例中,结构平面206a包括两个结构核心210a和210b。每个结构核心210包括用于实现独立交换网络(例如,benes网络)
以向结构端点207提供交换带宽的类似部件,在下文中,主要针对结构平面206a的结构核心210a和210b来描述部件和功能。单独的结构平面206的结构核心210在操作上是独立的,因为一个结构平面206的结构核心210中的一个的故障不影响其他结构平面206的其余、可操作结构平面的交换能力。每个结构核心210可以提供非阻塞连通性。
32.每个结构核心210包括耦合到一个线路卡204a的结构端点207a的输入端口212和耦合到另一个线路卡204b的结构端点207b的输出端口214。尽管为了简单起见,仅示出了具有两个入口结构端点207a的一个线路卡204a和具有两个出口结构端点207b的一个线路卡204b,但是每个结构平面206通常包括耦合到多个线路卡的相应结构端点的多个输入端口212和输出端口214。当结构端点207a获得分组时,结构端点207a执行查找操作以确定哪个结构端点(本示例中线路卡204b的结构端点207b中的一个)是分组的目的地。获得分组可以指例如从网络或主机接收分组,或发起分组。结构端点207a可选地将分组划分为单元,并通过结构200将分组/单元转发到目的地结构端点207b。结构端点207a选择不同的结构平面206来交换单元以在结构平面206上分配带宽负载。
33.结构端点207可以采用请求/准许协议来通过结构200发送数据单元。在这种情况下,源结构端点207通过结构200向目的地结构端点207发送请求。在一些示例中,为了跨单元的所选择的结构平面206a发送单元,源结构端点207a以循环(例如,亏损加权循环法等)或其他平衡顺序跨不同的结构核心210中的一个发送每个这样的请求,以公平地分配传输负载。响应于接收到该请求,目的地结构端点207通过目的地结构端点207b接收到相应请求的同一结构核心210向源结构端点207a发送准许。响应于接收到准许,源结构端点207a通过源结构端点207a发出相应请求的同一结构核心210将数据单元发送到目的地结构端点207b。
34.在所示示例中,同一结构平面206上的结构核心210包括核心间端口216,其有助于在两个结构核心210之间传送单元,以均匀地分配去往结构端点207的流量。当结构端点207具有到结构核心210的不同数量的连接时,发生不平衡连接。当从源结构端点207a向其具有不平衡连接的结构核心210发送单元时,该单元可以经由要被路由的核心间链路转发到另一结构核心210。以这种方式,交换结构200适应一种配置,其中来自结构端点207的链路的数量意味着结构端点不能具有到结构核心210的相等连接。
35.因为在路由器内使用具有不同配置(诸如每个结构平面不同数量的链路)的结构端点,和/或两个或多个结构端点的集合可以具有与一个或多个结构平面206的奇数个链路,使得两个或多个结构端点可以共享链路以有效地利用链路的集合带宽,所以可能发生不平衡连接。
36.图3a和图3b是具有到结构平面的共享和/或不平衡链路连接的结构端点组的线路卡的框图。在图3a所示的示例中,线路卡300a和300b分别具有两个结构端点组(例如,端点组302a和302b以及端点组302c和302d)。端点组302a-302d分别包括多个结构端点。例如,每个结构端点可以表示pfe或其他分组处理器。在所示示例中,端点组302a-302d分别包括两个结构端点(例如,端点“c0”和“c1”)。所示示例的结构端点c0和c1可以是以上图2的结构端点207的示例。在所示示例中,端点组302a和302b(为简单起见,有时分别称为“eg0 302a”和“eg1302b”)分别使用九个链路连接到结构平面206。类似地,端点组302c和302d(为简单起见,有时分别称为“eg2 302c”和“eg3 302d”)分别使用九个链路连接到结构平面206。
37.eg0 302a使用5个链路连接到第一结构核心210a。eg0 302a经由结构平面206内的旁路链路306使用四个链路连接到第二结构核心210b。eg0 302a的端点c0和c1分别具有到第一核心210a的5个链路中的2个专用链路,并且eg0 302a的端点c0和c1共享到第一核心210a的5个链路中的1个(有时称为“共享链路”或“0.5个链路”)。eg0 302a的端点c0通过到第二核心210b的四个链路中的2个专用链路连接到第二核心210b。总之,eg0 302a的c0使用2.5个链路连接到第一结构核心210a,并且使用2个链路连接到第二结构核心210b。类似地,eg0 302a的c1通过2个专用链路和1个共享链路连接到第一结构核心210a,并且通过2个专用链路连接到第二结构核心210b。类似于eg1 302a,eg1 302b及其端点c0和c1连接到结构核心210a、210b。
38.eg2 302c和eg3 302d以相对于结构核心210a、210b与eg0和eg1相反的方式连接到第一结构核心210a和第二结构核心210b。例如,eg2302c的c0和c1分别具有2个专用链路并且共享到第二结构核心210b的链路,同时分别具有到第一结构核心210a的2个专用链路。因此,eg2302c的c0使用2.5个链路连接到第二结构核心210a,并且使用2个链路连接到第一结构核心210a。在所示示例中,从端点到结构平面206的链路连接到结构平面206上的端口304,并且经由内部连接而连接到各自的结构核心210。
39.以下示例描述了eg0 302a的c0到eg2 302c的c0之间的示例性单元流量。源自ego 302a的c0的非共享链路上的流量经由相同的结构核心210a(例如,不经过核心间链路)交换到eg2c的c0的非共享链路。在连接到第一结构核心210a的共享链路(例如,在eg0 302a的c0与c1之间共享的链路)上发起的流量发送到连接到第二结构核心210b的共享链路(例如,在eg2 302c的c0与c1之间共享的链路)。为此,第一结构核心210a和第二结构核心210b经由核心间链路308连接。在与eg0302a的c0相关联的共享链路上向第一结构核心210a发送的单元交换到要被发送到第二结构核心210b的核心间链路308。在第二结构核心210b处,发起于核心间链路308上的单元交换到与eg2 302c的c0相关联的共享链路。第一结构核心的路由表使用单元的输入端口和单元报头中指定的目的地端点来实现交换。因为核心间链路308与两个端点相关联(例如,到达核心间链路308的单元可能由于它们之间共享的链路而最终目的地为eg2 302c的c0或c1),所以核心间链路308具有两个逻辑子信道,每个子信道充当目的地端点。
40.在图3b所示的示例中,eg0 302a和eg1 302b连接到如图3a所示的结构核心206。结构端点310a和310b(分别称为“pfe0 310a”和pfe1310b”)使用单个链路连接到每个结构核心206。图3b所示示例中的结构端点310a和310b可以是以上图2的结构端点207的示例。因此,到结构核心的链路是不平衡的。从pfe0 310a到线路卡eg0 302a的流量意味着源流量的2个链路到目的地流量的4.5个链路。从结构平面206的角度来看,应当以4:4:1的比率(例如,对于每个单元对共享链路,四个单元对每个非共享链路)来喷射该流量。取决于共享链路是否连接到与来自链路卡300c的进入相同的结构核心210,每个结构核心210将直接或使用核心间链路308a将“1”比率流量发送到共享链路。
41.在组端点中的一个(例如,eg0 302a)处发起的,去往共享链路上的端点中的一个(例如,pfe0 310a)的流量被均匀地分割。单元流量的一半被交换到从接收单元的结构核心(例如,第一结构核心210a)到pfe0310a的链路,并且单元流量的一半被交换到另一结构核心(例如,第二结构核心210b)的核心间链路308b。用于从组端点到端点的流量(例如,组端
点-到-端点流量)的核心间链路308b可使用除用于组端点与端点-到-组端点流量之间的流量的核心间链路308a之外的单独核心间链路308b。每个端点(例如,pfe 310a和pfe 310b)可以与不同的核心间链路308b相关联。以此方式,结构核心可以基于单元到达的核心间链路308b中的哪一个来识别源组端点(例如,在单元正通过结构平面交换时针对目的地和源使用单个字段的系统中)。
42.图4a、图4b和图4c是连接到结构平面的结构核心210a和210b的端点207的示例配置的框图。在图4a中,端点207具有到结构核心210的平衡连接。在所示示例中,每个端点207通过相等数量的链路(n1个链路)连接到每个结构核心210。图4b是不平衡配置的示例。在所示示例中,端点207不具有到每个结构核心210的相等数量的链路。第一端点207a具有到每个结构核心210的第一数量的链路(n1个链路)。然而,第二端点207b具有到每个结构核心210的不同数量的链路。在所示示例中,第二端点207b具有到第一结构核心210a的第二数量的链路(n2个链路)和到第二结构核心210b的第三数量的链路(n3个链路)。因为来自端点207的链路数量是不平衡的,所以建立核心间链路308以便于平衡流量。例如,当在一个路由器内使用多种类型的端点并将其连接到结构平面时,可以以这种方式将链路配置为不平衡。图4c是不平衡配置的另一示例,其中每个端点207不具有到每个结构核心210的相同数量的链路。在所示示例中,第一端点207a具有到第一结构核心210a的第一数量的链路(n1个链路)和到第二结构核心210b的第二数量的链路(n2个链路)。第二端点207b具有到第一结构核心210a的第二数量的链路(n2个链路)和到第二结构核心210b的第一数量的链路(n1个链路)。到结构核心210的额外链路可以被称为“不平衡链路”。例如,当端点207具有奇数个连接到结构核心210的链路,但是端点207具有相同数量的链路接口时,可以发生这种配置。作为另一示例,当端点207具有共享链路使得n1是2并且n2是2.5时,可以发生这种配置。在图4c所示的示例中,结构核心210具有核心间链路308,以便于平衡单元流量。
43.图5是描绘被配置为以根据本公开中所描述的技术实施级交换的专用集成电路(asic)500的框图。asic 500表示基于硬件的逻辑,并且可以包括可编程集成电路。asic 500可以表示结构芯片的示例,并且实现用于交换结构的纵横交换机502。例如,asic 500可以表示任何结构核心210。
44.纵横交换机502具有输入端口504a-504s(统称为“输入端口504”),每个输入端口504a-504s能够经由全网将单元喷射到每个输出端口506a-506t(统称为“输出端口506”)。输入端口504和/或输出端口506的一部分连接到核心间链路,以便于向另一纵横交换机502发送单元以及从另一纵横交换机502接收单元。交换模块508经编程为具有(i)目的地表510和(ii)路由表512,目的地表510标识可用于到达目的地结构端点207的输出端口506,路由表512指定如何基于输入端口和单元的单元报头中的目的地端点来路由单元。
45.图6是示出根据本公开的技术的示例数据单元格式的框图。根据数据单元600的不同单元类型定义用于多级交换结构中的结构端点207和不同级交换机的操作,如以下进一步详细描述的。数据单元600包括单元报头602和单元有效载荷604。单元报头602包括以下字段:单元大小606、序列号(seq no.)608、目的地标识符(dst id)610和源标识符612(src id)。单元报头602的各种示例实现可以重新排列字段,包括更多或更少的字段等。
46.单元大小606指定单元有效载荷604的大小,或在某些情况下指定包括单元报头602和单元有效载荷604两者的数据单元600的大小。示例单元大小范围从96到200字节不
等。序列号608标识单元的序列号。单元目的地标识符610和单元源标识符612分别标识单元的目的地结构端点和源结构端点。单元目的地标识符610例如用作路由表512的输入,以便于结构核心210将单元路由到输出端口中的一个(例如,以上图5的输出端口506)。数据单元600的数据有效载荷604通常是由交换系统交换的分组的分组数据,例如分组交换机或数据中心结构。
47.图7是连接到同一结构核心210a的不同类型的端点700a、700b和700c的示例配置的框图。在所示示例中,端点700a和700b在同一端点组702中。端点组702可以是图3a和3b的端点组302中的一个的任何示例,并且端点700a和700b可以是图3a和3b的端点c0和c1的示例。端点700c可以是图3b的端点中的一个(例如,端点310a)的示例。在所示示例中,端点700a和700b共同具有奇数个可用于连接到结构核心210的链路。端点700a和700b分别具有到结构核心210a的两个链路704(例如,非共享链路)。另外,端点700a和700b共享到结构核心210a的链路706。建立核心间链路708a以将与共享链路706相关联的单元流量交换到另一结构核心(例如,图2的结构核心210b)。另外,建立另一核心间链路708b以接收与连接到另一结构核心的共享链路相关联的单元流量。端点700c具有到结构核心210的链路704。在结构核心210之间建立与端点700c相关联的核心间链路708c。
48.这些核心间链路708a-708c有助于平衡结构核心210之间的单元流量。结构核心210包括指定如何路由单元的路由表和将输出端口映射到端点的目的地表。路由表,指定如何根据单元的输入端口和目的地端点路由该单元。输入端口与连接到输入端口的链路类型(例如,核心间链路、共享链路、不平衡链路、非共享链路等)相关联。例如,如果单元发起于共享链路706上,则可以不同地路由该单元。结构核心210使用路由表和目的地表为单元选择输出端口,该输出端口或者是具有到端点700a、700b和700c中的一个的链路的输出端口,或者是连接到核心间链路708a-708c中的一个的输出端口。在一些示例中,在路由表上,每个目的地端点被映射到亏损加权循环法(dwrr)配置、喷射比以及一个或多个输出端口。dwrr配置具有两个比特:旁路比特和喷射选择比特。当设置旁路比特时,结构核心将单元从输入端口路由到输出端口(例如,到达输入端口的每个单元被交换到指定的输出端口)。当未设置旁路比特时,结构核心210使用dwrr和指定喷射比将到达输入端口的单元交换到多个输出端口。喷射选择比特使用喷射比指定dwrr的参数。示例路由表在下面的表1和表2中示出。
[0049][0050]
表1
[0051][0052]
表2
[0053]
在表1所示的示例中,具有端点700c的目的地并且从输入端口接收的单元连接到第一或第二端点700a和700b中的任一个的不平衡链路,使用dwrr以1:1的比率将单元喷射到连接到端点700c的输出端口或连接到与端点700c相关联的核心间链路的输出端口。作为示例,如表2所示,具有从连接到核心间链路的输入端口到达的端点700a和700b中的一个的目的地的单元被交换到连接到其不平衡链路的输出端口。
[0054]
图8是示出由结构核心210交换单元的示例方法的流程图。结构核心210从输入端口(例如,以上图5的输入端口504中的一个)接收单元(802)。单元包括具有目的地标识符(例如,以上图6的目的地标识符610)的单元报头(例如,以上图6的单元报头602),以表示单元将被路由到哪个端点。输入端口可以例如与直接链路、共享链路或来自端点的平衡链路或来自另一结构核心210的核心间链路相关联。基于从其接收单元的输入端口和目的地端点,结构核心210使用路由表确定是否绕过亏损加权循环法以确定将单元交换到哪个输出端口(804)。例如,对于一些输入端口,路由表可以指定不需要亏损加权循环法来将单元路
由到适当的输出端口。一些输入端口可以与单个输出端口相关联。当结构核心210要绕过亏损加权循环法时(804处为是),结构核心210将单元交换到路由表所指定的输出端口,而不使用亏损加权循环法(806)。在一些示例中,输出端口连接到共享链路或核心间链路。当结构核心210不绕过亏损加权循环法时(804处为否),结构核心210将使用亏损加权循环法和路由表指定的喷射比将单元交换到指定输出端口中的一个(框808)。在一些示例中,指定端口中的一个连接到核心间链路。
[0055]
图9是示出由具有示例配置(例如,如以上图7所示的配置)并基于使用输入端口和目的地端点来交换单元的路由表的结构核心来交换单元的一种方法的流程图。最初,结构核心210从输入端口(例如,以上图5的输入端口504中的一个)接收单元(902)。该单元包括具有目的地标识符的单元报头(例如,以上图6的单元报头602),以表示该单元将被路由到哪个端点。输入端口可以例如与直接链路、共享链路或来自端点的平衡链路或来自另一结构核心210的核心间链路相关联。在所示示例中,路由表基于目的地输入是平衡端点(例如,具有到结构平面206上的结构核心210的相同数量的链路的端点)还是不平衡端点(例如,具有到结构平面206的结构核心210的不同数量的链路的端点)来路由单元。示例路由器可以具有平衡和不平衡端点的组合,或者可以具有共享链路的端点。结构核心210使用路由表来确定目的地端点是否是平衡端点(904)。当目的地端点是平衡端点(结构核心210)时,该方法在框906处继续。当目的地端点不是平衡端点(结构核心210)时,该方法在框916处继续。
[0056]
在框906,结构核心210确定输入端口是(i)与平衡端点相关联的直接链路还是(ii)核心间链路。当输入端口是(i)与平衡端点相关联的直接链路或(ii)核心间链路时(906处为是),结构核心210将单元路由到与目的地端点相关联的直接链路(908)。否则,当输入端口是来自不平衡端点的直接相等链路时(910处为是),结构核心210将单元路由到与目的地端点相关联的直接链路(908)。否则,当输入端口是来自不平衡端点的不等链路时(912处为是),结构核心210使用具有由路由表指定的喷射比的亏损加权循环法将单元路由到与目的地端点相关联的直接链路或核心间链路(框914)。
[0057]
在框916,结构核心210确定输入端口是否是与平衡端点相关联的直接链路。当输入端口是与平衡端点相关联的直接链路时(916处为是),结构核心210使用具有由路由表指定的喷射比的亏损加权循环法将呼叫路由到与目的地端点相关联的直接链路或核心间链路(918)。否则,结构核心210确定输入端口是否是来自不平衡端点的直接相等链路(920)。当输入端口是来自不平衡端点的直接非共享链路时(920处为是),结构核心210使用具有喷射比的亏损加权循环法将单元路由到与目的地端点相关联的直接链路(922)。否则,结构核心210确定输入端口是否是来自不平衡端点的共享链路(924)。当输入端口是来自不平衡端点的共享链路时(924处为是),结构核心210将单元路由到与目的地端点相关联的核心间链路(926)。否则,结构核心210确定输入端口是核心间链路(框928)。然后结构核心210将单元路由到与目的地端点相关联的共享链路(930)。
[0058]
本公开中所描述的技术可以至少部分地以硬件、软件、固件或其任何组合来实施。例如,所描述技术的各个方面可以在一个或多个处理器内实施,该处理器包括一个或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或任何其他等效集成或离散逻辑电路,以及此类部件的任何组合。术语“处理器”或“处理电路”通常可以指任何前述逻辑电路,单独地或与其他逻辑电路或任何其他等效电路组合。包括硬
件的控制单元还可以执行本公开的技术中的一个或多个。
[0059]
此类硬件、软件和固件可以在同一装置内或在单独装置内实施以支持本公开中所描述的各种操作和功能。另外,所述单元、模块或部件中的任一个可以一起或单独实施为离散但可互操作的逻辑装置。将不同特征描绘为模块或单元旨在突出显示不同的功能方面,并且不一定暗示这些模块或单元必须由单独的硬件或软件部件来实现。相反,与一个或多个模块或单元相关联的功能可以由单独的硬件或软件部件来执行,或者集成在公共或单独的硬件或软件部件内。
[0060]
本公开中所描述的技术还可以实施于或编码于含有指令的计算机可读介质(诸如计算机可读存储介质)中。嵌入或编码于计算机可读介质中的指令可以致使可编程处理器或其他处理器(例如,当执行指令时)执行该方法。计算机可读介质可以包括非瞬态计算机可读存储介质和瞬态通信介质。有形且非瞬态的计算机可读存储介质可以包括随机存取存储器(ram)、只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、快闪存储器、硬盘、cd-rom、软盘、盒式磁带、磁性媒体、光学媒体,或其他计算机可读存储介质。应当理解,术语“计算机可读存储介质”是指物理存储介质,而不是信号、载波或其他瞬态介质。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1