CN1638334A - 在无限带宽网络中传送数据包的系统和方法 - Google Patents

在无限带宽网络中传送数据包的系统和方法 Download PDF

Info

Publication number
CN1638334A
CN1638334A CN200410049094.8A CN200410049094A CN1638334A CN 1638334 A CN1638334 A CN 1638334A CN 200410049094 A CN200410049094 A CN 200410049094A CN 1638334 A CN1638334 A CN 1638334A
Authority
CN
China
Prior art keywords
packet
output port
local
routing table
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200410049094.8A
Other languages
English (en)
Other versions
CN100352196C (zh
Inventor
利厄·谢勒夫
克劳迪厄·希勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1638334A publication Critical patent/CN1638334A/zh
Application granted granted Critical
Publication of CN100352196C publication Critical patent/CN100352196C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • H04L49/358Infiniband Switches

Abstract

所公开的发明涉及一种通过交换系统传送数据包的系统和方法,该交换系统由多个路由实体组成。通过指向路由表,该方法容许确定在每个路由实体内分配给数据包的输出端口和输入端口是否对路由实体来讲是本地的。

Description

在无限带宽网络中传送数据包的系统和方法
技术领域
本发明涉及在网络环境中传送数据包,以及尤其涉及在无限带宽网络中传送数据包的系统和方法。
背景技术
计算机的处理器可以通过输入/输出(I/O)网络与诸如网络适配器的外围设备(I/O单元)进行通信。一种众所周知的I/O网络类型被称做无限带宽(IB)网。作为无限带宽贸易协会商标的无限带宽是最近用于I/O通信的产业架构(IBA)。通过IBA结构或由交换机和路由器构成的子网,在同一子网中或经由几个子网IBA使服务器,远程存储器和其他组网设备(也称作端节点)能够并行通行,所述交换机和路由器将数据包传递到它们的目的。交换机容许通过子网管理器(SM)实体、子网管理器代理(SMA)的控制在同一子网内将从一个源端节点接收的数据包传送到目的端节点。通过向子网管理器代理发送命令,子网管理器在网络的初始化时配置交换机,包括在每个交换机内配置称作转发表(Forwarding Table)或转发数据库(FDB)的路由表。
每个目的端节点包括具有一个或多个输出端口的一个或多个信道适配器。将唯一地址分配给每个输出端口,被认为是端口的本地识别符(LID),以及在源端节点处将该地址置于数据包的路由字段首标中,即本地路由首标(LRH)来限定它的目的地址。每个数据包具有由SM分配的唯一目的本地识别符(DLID),并且是通过交换机传递数据包的输出端口的16位地址。位于交换机中的转发表将DLID映射到输出端口。安排FDB为端口块的列表,每个端口块包括目的输出端口的列表。
可以在无限带宽结构规约卷1(InfiniBand ArchitectureSpecification Volume 1)中得到FDB的完整说明和所有先前限定的IB网络的元件,在 www.无限带宽.org可获得版本1.0的发布,该版本合并在此以做参考。
为了支持大容量的交换,交换机可以由相互连接的几个芯片来实现。在数据包到达它的目的外部输出端口之前,可以对到达该交换机的外部输入端口的数据包内部安排路由以通过几个芯片层。这些芯片从子网管理器的观点来看可以是分离的交换机,也就是其每一个带有分离的子网管理器代理,或是仅具有一个子网管理器代理的经组合的交换机,因此极大地简化了这种交换结构的管理。
无论在一个或多个交换机内的内部路由路径是什么,使用这样的多芯片实现的主要要求是维护每个数据包的完整路由路径。
此外,必须满足优先级、负载平衡或服务质量(QoS)的所有不同的限制,这些限制通过子网管理器来限定。
本发明提供实现这些要求的系统和方法。
发明内容
因此,本发明的主要目的是提供一种分解为多个子交换机或路由实体的交换机结构,而且这些呈现为单一无限带宽适应交换机实体。
在优选实施例中,实现对于至少具有SL对VL映射表和包括通过路由实体耦合到多个输出端口的多个输入端口的交换系统的方法。所述方法包括步骤:
a)从相关于交换系统的交换机路由表得到分配给数据包的输出端口;
b)确定输出端口是否耦合到第一路由实体;以及转到步骤d)或
c)如果先前获得的输出端口没有耦合到第一路由实体,则从相关于第一路由实体的本地路由表得到分配给数据包的本地输出端口;
d)确定输出端口是否耦合到第一路由实体;以及转到步骤f)或
e)从SL对VL映射表得到相关于数据包的VL;以及
g)将数据包放在VL队列中。
附图说明
通过结合附图来阅读以下本发明的具体说明,上述和其他目、特征以及优点将能更好的理解,其中:
图1是优选应用本发明的网络环境的示意性方框图;
图2是由4×4端口芯片组成的8端口交换机的示意性方框图;
图3是用于安排路由以单播数据包的步骤流程图。
具体实施方式
本发明最好在如图1所说明的网络环境中实现,其中图1的网络环境示出了高层的IBA子网100。为了简略起见,示出了一个IBA子网,但是应该理解IB网可以包括通过路由器102相互连接的多个IBA子网。路由器102也可以是在IBA子网和其他类型的诸如WAN和LAN的网络之间的网桥。IBA子网100包括多个交换机104,以容许多个端节点106通过数据包传输链路进行通信。
子网管理器(SM)108容许在对包括在交换机中的路由表进行初始化和维护期间对子网进行配置。子网管理器也负责SL对VL映射表(SL2VL)的初始化和配置,该映射表包括输入包的服务层(SL)到其输出虚拟路径(VL)之间的对应。SL是在每个数据包的本地路由首标中放置的值,该值限定了数据包在哪个服务层上工作。
VL容许在单个物理链路中创建多个虚拟链路。虚拟路径由子网管理器配置,以及虚拟路径是基于数据包的服务层值。当数据包遍历交换机结构时,通过指向由交换机中的子网管理器配置的SL对VL映射表,其相关的SL确定在每个链路上使用哪个VL。
再次声明,在前述的无限带宽架构规约文档中,读者将发现有关SL和VL的所有信息。
现在参考图2,详细说明用作本发明的优选实施例的交换系统104。图2示出由4×4端口芯片(201-1、202-2、202-3和202-4)构建的8端口全局交换机。虽然对于本发明使用任何组合的芯片(例如,基于为负载平衡所要求的冗余路径的数量,而决定的由12×8端口芯片构建的32端口交换机,或者由24或32芯片构建的64端口交换机)都是可行的,但应该理解本示例仅是为了容易进行说明。此外,由于同样的端口可以作为输入端口和输出端口,所以用在描述中的对于输入端口和输出端口的命名习惯上也是为了清楚的目的,并不作为限定。
如图2所示,8端口全局交换机具有四个外部输入端口(212-1至212-4)或耦合到两个芯片(201-1和202-2)的交换机输入端口,以及四个外部输出端口(214-1至214-4)或耦合到两个芯片(202-3和202-4)的交换机输出端口。在示例的两级结构中,四个芯片(201-1、202-2、202-3和202-4)的每一个具有两个内部端口或芯片端口(208-1至208-4和210-1至210-4)。所述内部端口(208-1、208-2、208-3和208-4)分别耦合到内部端口(210-1、210-3、210-2和210-4)。
由子网管理器代理管理的配置寄存器容许将每个端口分类为外部或内部端口(交换机或芯片端口)。并且对于每个端口也存在对交换机输出端口之一的映射规则。
当数据包在外部输入端口212-i输入交换机时,必须为数据包安排路由到由它的对应目的本地识别符(DLID)所限定的、被指定的外部端口214-i。通过参考图3描述的算法来确定内部路由路径。
因此参考图3,现将说明在交换机内安排路由给数据包的步骤流程图。为了更好的理解请参考图2。在步骤302,在外部输入端口212-i接收的到达交换机的外部链路的数据包。从数据包的首标提取输入数据包的DLID并被用在步骤304,以便得到分配到该数据包的外部输出端口号214-i。通过使用提取的作为指向与交换机104相关的映射表(转发表FWD)的索引的DLID,来获得输出端口号。
在步骤306,进行检查来确定从转发表获得的外部输出端口号是否对于数据包正通过的芯片来讲是本地的。
如果对于芯片外部输出数据端口是本地的(分支,是),则在步骤308检查输入端口以确定它是内部端口还是外部端口。
如果输入端口是内部端口(分支,是),则在步骤310设置输出VL等于包VL,以及将数据包放在对应于VL的队列。在步骤312,通过转发输出自交换机的数据包,结束该过程。
如果输入端口是外部端口(分支,否),则过程转到步骤316。
在步骤316,执行SL对VL映射。在先前步骤中获取的输入SL、输入端口号和外部输入端口用来寻址SL2VL表以获得VL,该VL将与数据包一同发送。
随后,该过程跟随前述的步骤310和312。
回到步骤306,如果从转发表获得的外部输出端口号对于芯片来讲不是本地的(分支,否),则该过程转到步骤314。
在步骤314,在先前步骤获得的外部输出端口号用来作为指向与当前芯片相关的第二映射表(内部转发表IFWD)的索引,以便得到分配给数据包的本地输出端口号。
在可替换要求负载平衡的实施例中,一个或多个DLID的最低有效位(lsb)的位数可以组合成用于索引IFWD表的第i个外部输出端口号。
然后,该过程跟随前述的步骤308。
可以理解已经说明了用于数据包的单播通信,但是可以通过较小的改变而应用到组播通信。更具体地讲,基于用在子网的组播地址的数量、交换机中端口的数量和其他实现的折衷方案,利用位数对外部端口进行编码。

Claims (11)

1.一种在交换系统中用于传送在第一路由实体处所接收的数据包的方法,该交换系统至少具有SL对VL映射表和包括通过路由实体耦合到多个输出端口的多个输入端口,所述方法包括步骤:
a)从相关于交换系统的交换机路由表得到分配给数据包的输出端口;
b)确定输出端口是否耦合到第一路由实体;以及转到步骤d)或
c)如果先前获得的输出端口没有耦合到第一路由实体,则从相关于第一路由实体的本地路由表得到分配给数据包的本地输出端口;
d)确定输入端口是否耦合到第一路由实体;以及转到步骤f)或
e)从SL对VL映射表得到相关于数据包的VL;以及
f)将数据包放在VL队列中。
2.根据权利要求1所述的方法,其中从交换机路由表得到输出端口的步骤包括使用数据包的目的本地识别符来指向交换机的路由表的步骤。
3.根据权利要求1或2所述的方法,其中从本地路由表得到本地输出端口的步骤包括使用在步骤a)获得的输出端口来指向本地路由表的步骤。
4.根据权利要求1或2所述的方法,其中从本地路由表得到本地输出端口的步骤包括使用步骤a)获得的输出端口并结合目的本地识别符的来指向本地路由表的步骤。
5.根据权利要求1至4任何一个所述的方法,还包括在步骤f)之后,转发输出自所述交换系统的数据包。
6.根据权利要求1至5任何一个所述的方法,其中所述数据包是单播数据包。
7.根据权利要求1至6任何一个所述的方法,其中所述数据包是组播数据包。
8.根据权利要求1至7任何一个所述的方法,其中所述交换系统是无限带宽网络的交换机节点。
9.根据权利要求8所述的方法,其中无限带宽网络包括一个或多个交换系统。
10.一种交换系统,该系统包括操作权利要求1至9的任何一个的方法的步骤的装置。
11.一种存储在计算机可使用的介质上的计算机程序产品,包括计算机可读程序,其用于操作权利要求1至10的任何一个的方法的每个步骤。
CNB2004100490948A 2003-12-30 2004-06-15 在无限带宽网络中传送数据包的系统和方法 Expired - Fee Related CN100352196C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03368128.9 2003-12-30
EP03368128 2003-12-30

Publications (2)

Publication Number Publication Date
CN1638334A true CN1638334A (zh) 2005-07-13
CN100352196C CN100352196C (zh) 2007-11-28

Family

ID=34833536

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100490948A Expired - Fee Related CN100352196C (zh) 2003-12-30 2004-06-15 在无限带宽网络中传送数据包的系统和方法

Country Status (2)

Country Link
US (1) US7512134B2 (zh)
CN (1) CN100352196C (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581171A (zh) * 2013-09-03 2014-02-12 华为数字技术(苏州)有限公司 一种报文发送方法及装置
CN104246701A (zh) * 2012-05-11 2014-12-24 甲骨文国际公司 用于基于源路由在不同无限带宽子网间路由流量的系统和方法
CN107409095A (zh) * 2015-03-28 2017-11-28 英特尔公司 具有针对多个网络拓扑的改进的支持的分布式路由表系统

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8050260B1 (en) * 2007-01-30 2011-11-01 Qlogic, Corporation Method and system for load balancing in infiniband switches and networks
US8396059B1 (en) * 2008-07-03 2013-03-12 Cisco Technology, Inc. Automated discovery/rediscovery of server to network connectivity
US8098574B2 (en) * 2008-08-26 2012-01-17 Fulcrum Microsystems, Inc. Global ports in multi-switch systems
EP2320608A1 (en) * 2009-11-06 2011-05-11 Thomson Licensing Method and system for implementing quality of service management in infiniband networks
JP5617582B2 (ja) * 2010-12-08 2014-11-05 富士通株式会社 プログラム、情報処理装置、及び情報処理方法
US8743878B2 (en) * 2011-08-30 2014-06-03 International Business Machines Corporation Path resolve in symmetric infiniband networks
US9665719B2 (en) 2012-06-04 2017-05-30 Oracle International Corporation System and method for supporting host-based firmware upgrade of input/output (I/O) devices in a middleware machine environment
US9590911B2 (en) 2014-06-27 2017-03-07 iPhotonix Wireless area network (WAN) overloading
US9979698B2 (en) 2014-06-27 2018-05-22 iPhotonix Local internet with quality of service (QoS) egress queuing
US9565277B2 (en) * 2014-06-27 2017-02-07 iPhotonix Dual-homed external network access in a distributed internet protocol (IP) router
US9794172B2 (en) 2014-06-27 2017-10-17 iPhotonix Edge network virtualization

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697359B1 (en) * 1999-07-02 2004-02-24 Ancor Communications, Inc. High performance switch fabric element and switch systems
WO2001093655A2 (en) * 2000-06-05 2001-12-13 Shiman Associates, Inc. Method and apparatus for managing documents in a centralized document repository system
US7401126B2 (en) * 2001-03-23 2008-07-15 Neteffect, Inc. Transaction switch and network interface adapter incorporating same
US7043569B1 (en) * 2001-09-07 2006-05-09 Chou Norman C Method and system for configuring an interconnect device
US20030112805A1 (en) * 2001-12-19 2003-06-19 Stanton Kevin B. Method and apparatus for providing device-to-device connectivity using shared infiniband NIC device
US7209478B2 (en) * 2002-05-31 2007-04-24 Palau Acquisition Corporation (Delaware) Apparatus and methods for dynamic reallocation of virtual lane buffer space in an infiniband switch
US7233570B2 (en) * 2002-07-19 2007-06-19 International Business Machines Corporation Long distance repeater for digital information
US7401157B2 (en) * 2002-07-30 2008-07-15 Brocade Communications Systems, Inc. Combining separate infiniband subnets into virtual subnets
US7346064B2 (en) * 2002-09-26 2008-03-18 Intel Corporation Routing packets in packet-based input/output communications
US7197662B2 (en) * 2002-10-31 2007-03-27 Ring Technology Enterprises, Llc Methods and systems for a storage system
US7047372B2 (en) * 2003-04-15 2006-05-16 Newisys, Inc. Managing I/O accesses in multiprocessor systems
US20040252685A1 (en) * 2003-06-13 2004-12-16 Mellanox Technologies Ltd. Channel adapter with integrated switch

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104246701A (zh) * 2012-05-11 2014-12-24 甲骨文国际公司 用于基于源路由在不同无限带宽子网间路由流量的系统和方法
CN104246701B (zh) * 2012-05-11 2017-06-13 甲骨文国际公司 用于基于源路由在不同无限带宽子网间路由流量的系统和方法
CN103581171A (zh) * 2013-09-03 2014-02-12 华为数字技术(苏州)有限公司 一种报文发送方法及装置
CN103581171B (zh) * 2013-09-03 2016-12-07 华为数字技术(苏州)有限公司 一种报文发送方法及装置
CN107409095A (zh) * 2015-03-28 2017-11-28 英特尔公司 具有针对多个网络拓扑的改进的支持的分布式路由表系统
CN107409095B (zh) * 2015-03-28 2020-12-08 英特尔公司 从交换机的输入端口向输出端口路由分组的方法、系统、介质和交换机

Also Published As

Publication number Publication date
CN100352196C (zh) 2007-11-28
US20050141518A1 (en) 2005-06-30
US7512134B2 (en) 2009-03-31

Similar Documents

Publication Publication Date Title
JP4454499B2 (ja) 多数の論理サブ送信システムの機能性を持つ送信システム
US7221676B2 (en) Supporting local IB packet communication between separate subnets
CN100352196C (zh) 在无限带宽网络中传送数据包的系统和方法
US7307996B2 (en) Infiniband router having an internal subnet architecture
FI115358B (fi) Tilaton kuormanjako
US7401157B2 (en) Combining separate infiniband subnets into virtual subnets
EP1019833B1 (en) Mechanism for packet field replacement in a multi-layered switched network element
JP3340846B2 (ja) Atm−lan及びサーバ及びatmアドレス管理方法
JP4053967B2 (ja) Vlanサーバ
US9281995B2 (en) Virtual network and management method of virtual network
US9807134B2 (en) Method and device for filtering media packets
US7626990B2 (en) Packet counters and packet adders for traffic profiling in a multiprocessor router
US8369347B2 (en) Fiber channel over Ethernet and fiber channel switching based on Ethernet switch fabrics
CN1514622B (zh) 用于模块化系统的翻译协议的方法
KR100624681B1 (ko) 분산 구조 라우터의 포워딩 테이블 조합 장치 및 방법
US20060072615A1 (en) Packet aggregation protocol for advanced switching
CN104247348A (zh) 使用软件定义的组网的内联服务的链接
US7751319B2 (en) Method and processor for classifying data packet units
JP2016535904A (ja) ミドルウェアおよびアプリケーションの実行のためにエンジニアド・システムにおいてデータサービスを提供するためのシステムおよび方法
WO2006078350A1 (en) Address translation in fibre channel switches
US20100002714A1 (en) PCI express network
CN101030940A (zh) 网络流量负载均衡的方法以及第三层交换设备
US20030163507A1 (en) Task-based hardware architecture for maximization of intellectual property reuse
US20100142536A1 (en) Unicast trunking in a network device
US20110222538A1 (en) Method and System for L3 Bridging Using L3-To-L2 Mapping Database

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071128