专利名称:层次式交换网络节点域的一种控制方法
技术领域:
本发明涉及网络管理和交换控制的方法与系统。
从逻辑上看,层次式交换网络的骨干网结构是由多个层次结构组成的树型结构。简单树型结构虽然因为两个节点之间链路唯一而简化了路由,但是一条信道或节点的失效会导致该信道或节点下连的子树失去连接性,从而造成一批下属子树的断连,而且这种唯一的路径不能满足灵活的路由需求。因此,层次式交换网络的拓扑结构不采用简单树型结构,而是对严格的树型结构加以扩展,采用基于逻辑节点域、逻辑链路、短接链路的扩展结构来避免简单树型结构的缺点。
基于逻辑节点域与逻辑链路的扩展是指以逻辑节点(或称节点域)替代树型结构的节点,以逻辑链路替代树型结构的分支,以逻辑节点和逻辑链路为基本元素按树型结构组织成逻辑上的树型结构网络,保持层次树型结构的特点。在物理实现角度看,每个逻辑节点域中有多个节点,这些节点互联保证了交换节点容量的可扩展性和路径选择的灵活性;而每条逻辑链路又包含了多条物理链路,从而扩展了逻辑链路的带宽。这种扩展方法既保持了树型结构的特点,又保证了可靠性和可扩展性。
基于短接的扩展是指在不同的子树间增加直接链路,从而使得子树间存在第二条有效路径,因而子树间的流量不一定需要它们共同的祖先节点转发。短接链路是局部自治的,只有短接链路两端直接关联的节点域才感知此短接的存在,对其它节点域透明。这种扩展方法主要解决严格层次结构的灵活性和效率问题,既保持了拓扑的层次性,又具有灵活的拓扑结构,从而提供最大的联网灵活性,并且在将现有网状连接的网络转换成层次式交换网络时能保留已有的任意连接的拓扑结构。
扩展后的层次式交换网络是以节点域、逻辑链路、短接链路作为基本元素构造的层次网络。层次式交换网络的管理和交换控制过程以节点域为基本单位,独立于其它节点域,因而节点域是一个自治域Autonomous Domain(AD)。由于节点域本身是一个规模有限、功能相对单一的系统,因此需要高性能、高可靠的管理和控制方法。
目前存在的自治域系统控制方法有RIP(路由信息协议Routing InformationProtocol)、OSPF(开放的最短路径优先Open Shortest Path First)、PNNI(专用网络间接口Private Network-Network Interface Specification)、以及MPLS(多协议标记交换Multiprotocol Label Switching)。这些方法和系统面向大规模、松散的自治系统,都有复杂的路由信息交换与路由计算过程。路由器依靠如OSPF或IS-IS(中间系统-中间系统Intermediate System to Intermediate System)的路由协议交换信息,参与当前整个自治系统内的路由、管理与控制操作。由于这些协议复杂且交互范围大,互操作能力弱,导致故障恢复时间、负载平衡能力、资源利用率不理想如依赖于如RIP、OSPF、IS-IS等内部网关协议的失效检测和故障信息发布,当自治域较大时,其收敛时间达分钟级,故障恢复时间长,因此会造成TCP连接的中断;而自治系统内部的负载均衡主要依赖于基于AS内部粗粒度协议级路由协议的负载均衡功能,如OSPF的等价多路径功能,这些功能相对较弱;如Z.Wang和J.Crowcroft(Shortest Path Firstwith Emergency Exits,Proceedings of the 1990 ACM SIGCOMM Conference,1990)、D.Sidhu等(Finding Disjoint Paths in Networks,Proceedings of the 1991 ACM SIGCOMMConference,1991)、S.Bahk和M.E.Zarki(Dynamic Multi-path Routing and How itCompares with Other Dynamic Routing Algorithms for High Speed Wide Area Networks,Proceedings of the 1992 ACM SIGCOMM Conference,Vol.22,Oct.1 992)所提出的多路径路由方案,由于其存储、计算开销大,因此大大增加了路由协议的复杂度。
为了提高路由器的转发速度和提供服务质量保证,人们试图尽量用交换来代替路由,提出了综合网络核心交换和网络边缘IP路由二者的优点而产生的IP/MPLS路由/标记交换结构。在IP/MPLS结构下,路由是永远避不开的,只能做到部分地减少路由表查找次数,并没有从根本上解决问题第一,没有消除路由表复杂的生成过程、庞大的路由表、及对路由表费时的查询工作;第二,不能对各个独立的、时间上随机到达的IP包是否属于同一个流进行有效的认定;第三,当流的数量很大时,识别流的计算开销以及保存流状态的存储开销都很大;第四,由于难以预测一个流的长度,因此对于一个短流,可能刚为其建立标记交换路径它就马上就结束了,其效果比路由还差;第五,采用标记交换提高了复杂度,例如标记的生成、分配、管理等,使得核心网内部越做越复杂,增加了Internet核心的复杂性。
综上所述,已有的协议功能复杂、效率不高,不能满足节点域管理与控制的需求。发明目的由于层次式交换网络是为了建立大规模的核心骨干网络,而节点域是其管理与控制的基本单位,因此节点域的设计目标是提高可靠性和性能、增加节点域吞吐量、减少延迟和内部拥塞、实现节点域负载平衡和故障恢复、以及减少内部控制和管理的复杂度。这些设计目标是通过节点域控制方法的设计来实现的,因此评价节点域控制方法的标准包括可扩展性、容错能力、负载均衡能力。本发明所设计的节点域交换控制方法要解决的问题包括(1)控制和管理一个逻辑节点域内的各个交换机,使其对外像一个交换机一样,对内则有效、合理地发挥每个物理交换机的作用;(2)控制和管理一条逻辑链路内的各外部输出链路,使其对外像一条链路一样,对内均衡地在各不同速率的外部输出链路上分担通信量。
发明的技术方案本发明所采用的技术方案是将节点域控制方法分为两个部分,即节点域管理方法和节点域交换控制方法。节点域管理方法通过实时检测交换机和链路的状态得到节点域内部各种配置表;节点域交换控制方法根据内部配置表控制数据包在节点域的转发。
节点域是介于松散的自治系统(Autonomous System,即AS)与紧密集中的单一系统之间的一种半自治、半集中系统。当前Internet是一种自治系统,采用松散的非集中控制方式;而采用集中控制的单一系统追求单系统性能,存在可扩展性和灵活性问题。节点域内部拓扑采用密集互联方式,内部交换能力相对于外部链路带宽足够大。由于节点域的功能单一、位置集中、规模适当,因此本方法在节点域内部节点间采用轻量级高效率的控制方法,将内部节点整合成一个虚拟的单一映象系统,并且提供更有效的资源共享、负载均衡、容错能力,提高节点域的整体性能。
1.本发明使用的基本术语(1)层次式交换(Hierarchical Switching)网络的拓扑与地址采用层次结构且严格匹配,数据包转发依赖目标地址的相应层次实现数据包的交换。
(2)层次式交换网络(Hierarchically Switched Network,即HSNET)指符合层次式交换的网络,在该网络中使用层次式交换。
(3)节点域也叫逻辑节点或虚拟节点,是HSNET基本逻辑元素之一,指由一组互相连接的交换机和其他功能的服务器(如策略服务器、带宽代理服务器、各类管理信息库等)所组成的自治域。
(4)节点节点域内部的交换机和其他功能服务器,统称为节点。
(5)根域处于层次式交换网络顶层的节点域,根域可以与其他HSNET网络或非HSNET网络进行互联。
(6)父域处于某节点域直接上层的节点域。
(7)子域处于某节点域直接下层的节点域。
(8)兄弟域某节点域直接下层的所有节点域互称兄弟域。
(9)链路在数据链路层实现节点间通信的媒介或设施,如PPP链路、以太网、X.25、帧中继、ATM网、或高层隧道等。
(10)外部链路本节点域与其他节点域相连的链路。
(11)内部链路连接本节点域内部节点的链路。
(12)逻辑链路也称虚拟链路,是HSNET基本逻辑元素之一。一条逻辑链路指本节点域连接其他某节点域的所有外部链路的集合。一个节点域的逻辑链路包括一个指向父节点域的逻辑链路、若干个指向子节点域的逻辑链路、以及若干个短接逻辑链路。
(13)端口端口是节点用来与链路连接的部件。在节点域中,端口由节点ID和端口在该节点的标号标识。端口一般包括输入、输出两部分。在节点域内,依据所连接的链路不同分为外部端口和内部端口。
(14)外部端口与外部链路相连的端口称外部端口。一个外部端口可以分为输入外部端口和输出外部端口两部分。
(15)内部端口与内部链路相连的端口称内部端口。
(16)逻辑端口与逻辑链路一一对应的端口,是逻辑链路所包含的外部链路在本节点域的外部端口集合。
(17)邻居连接到同一链路的节点互称邻居。
(18)边界节点与其他网络(HSNET网络或非HSNET网络)相连的节点。
(19)边界端口与其他网络(HSNET网络或非HSNET网络)相连的端口。
2.节点域的结构从逻辑上看,节点域是层次式交换网络树型结构的一个节点,逻辑链路是层次式交换网络树型结构的一条边,而短接链路则在树型结构任意两个节点间建立局部的快速通道;从物理实现角度看,每个节点域内部多个交换机互联保证了节点域的容量可扩展性以及可靠性,每条逻辑链路包含多条物理链路扩展了逻辑链路的带宽和可靠性,短接链路将两个节点域两端直接关联以便提高网络的效率和路径选择的灵活性。以节点域、逻辑链路、短接链路为基本元素,按树型结构组织成逻辑上的层次式网络,这种层次式交换网络保持层次结构特点,同时提高了网络的可扩展性、可靠性和灵活性。
图1是节点域结构示意图,(1)是层次式交换网络的一个节点域,(2)是逻辑链路,(3)是短接逻辑链路,(4)是服务器,(5)是交换机。节点域(1)是树型结构上的一个交换节点,其功能如同一个交换机。连接两个相邻节点域间的外部链路集合抽象为逻辑链路(2),每个逻辑链路由多条外部链路组成。对于某一节点域而言,有一上行逻辑链路和一组下行逻辑链路上行逻辑链路连接父节点域;下行逻辑链路有多条,连接多个子节点域。
节点域为其关联的逻辑链路分配逻辑链路号。逻辑链路号用两个字节的无符号整数表示,范围为0-65535。逻辑端口号与逻辑链路号一致。同时每个节点域具有层次式交换网络地址的前缀和交换字段。各节点域独立决定自己交换字段的长度,并且指派交换字段的值作为子域及指向该子域下行逻辑链路的逻辑号。节点域地址前缀是其父域地址前缀与父域为其分配的逻辑端口号的组合,长度为父域地址前缀长度及其父域交换字段长度之和。
3.节点域管理方法由于层次式交换网络的拓扑结构特征,导致任意两个节点域点间的逻辑交换路径是确定的。节点域管理方法利用节点域规模小、功能单一的特点,设计高效、快速、简单的轻量级管理方法,实现快速自愈。节点域的管理主要包括获得当前节点域的配置信息、获得节点域拓扑信息、获得交换机与链路状态信息、以及生成逻辑链路表和内部转发表,为数据包的交换打下基础。因此节点域管理方法包括(1)配置交换机的基本信息对于节点域内每个交换机,配置节点域的地址前缀(用“地址前缀/前缀长度”表示,即Prefix/Length)、本交换机在节点域的编号(SID)、各端口编号(PID)、外部端口的逻辑端口号(LPort)信息。端口有四种不同的属性上行外部端口、下行外部端口、短接端口和内部端口,在交换机配置表中,其端口号取值范围隐含了端口的属性信息。
(2)获得节点域拓扑信息(即邻居发现)交换机的每个端口有一个Hello应答间隔计时器。交换机从某端口发送Hello包后,启动计时器,Hello包包含其所在节点域的地址前缀、本交换机在节点域的编号、本端口在交换机的编号、以及该端口所在的逻辑端口信息。邻居收到Hello包后,在其邻接数据库中进行登记,组装应答Hello包,包内包含接收端口相应信息,并将应答包从Hello包到达的端口发送回去。发送端口收到应答Hello包后,停止计时器,并在自己的邻接数据库中记录;否则若Hello应答间隔计时器超时,则在自己的邻接数据库中记录,重新设置Hello应答间隔计时器超时阈值,重新开始上述过程。因此邻接数据库中记录与本交换机相邻的交换机及链路状态信息。
(3)获得链路状态的信息节点域内每个交换机组装自己的链路状态分组,每个链路状态分组包含该交换机在节点域的编号和邻接数据库中邻接关系信息。每个交换机采用泛洪扩散法在节点域中扩散各自的链路状态分组信息,新的非重复链路状态分组记录在交换机的链路状态数据库中。经过此过程,每个交换机的链路状态数据库中就包含了节点域中所有交换机、内部链路、外部链路的配置信息。
(4)生成逻辑链路表、短接节点域前缀表、域内转发表逻辑链路表的表项包括逻辑端口号(LPort)、交换机标识(SID)、交换机输出端口标识(PID)、输出端口带宽(Bandwidth)、信道状态(Status)。短接节点域前缀表的表项包括与本节点域有短接关系的节点域前缀、对应的逻辑链路号、以及当前该短接链路的状态。节点域内每个交换机有一个域内转发表,包括三个表项D_SID、NHP、Metrics,指示到达域内其它交换机D_SID的下一跳输出端口NHP及其代价Metrics。这三个表的生成过程是,从链路状态数据库中检索所有外部端口的信息,并按照逻辑号进行分类和排序,得到逻辑链路表;从链路状态数据库中检索所有短接端口的信息,并按照逻辑号进行分类和排序,得到短接节点域前缀表;根据链路状态表中信息,构造节点域内部拓扑,计算最短路径,生成域内转发表。
(5)更新是指对节点域当前状态进行检测,如果发现更新事件,则更新节点域相关的配置信息。更新事件的来源有两类一种是初始化触发;一种是自动检测触发。初始化触发是指当管理员增加交换机、增添链路或重新配置交换机后,重新启动交换机,触发更新过程。自动检测触发是指通过自动检测,实时检测节点域内交换机和链路状态,若发现异常则触发更新过程。自动检测判断链路及其两端端口是否正常的依据是两端能否连续正确接收到数据包,方法是保证链路上有连续的数据包传输;当发送方没有数据包发送时,则发送KeepAlive数据包,KeepAlive数据包到达交换机后被抛弃。交换机每个端口有一个数据包到达间隔计时器,数据包到达后计时器置初值,重新开始计时;当计时器超时,则触发更新同步过程,即触发交换机邻居发现过程。如果得到的邻居状态信息与邻接数据库内容一致,该过程停止;否则,更新邻接数据库,重新组装、扩散链路状态分组与过程,更新各交换机链路状态数据库。
4.节点域交换控制方法在节点域,数据包层次式交换有三个过程确定逻辑端口、选择目标外部端口、和选择下一跳输出端口。从外部端口首次到达节点域的包需要进行确定逻辑端口,选择目标外部端口,然后选择下一跳端口送往下一节点;而从内部端口到达的包,只需要进行最后阶段的操作,即根据前面选定的目标外部端口选择下一跳,逐跳到达目标外部端口。对于最后一个过程,由于节点进行下一跳选择时需要知道目标外部输出端口信息(称为内部交换标记ISL),因此当数据包首次进入该节点域并完成目标外部端口选择时,需要对包进行ISL封装。
第一步是确定逻辑端口。为数据包交换确定逻辑端口号过程的目的在于确定该数据包到达下一个节点域需要经过的逻辑链路,因此逻辑端口号与逻辑链路号一致。逻辑链路号用两个字节的无符号整数表示,范围为0-65535其中0-1023号码空间用于标识下行逻辑链路,1024-2047号码空间用于标识短接逻辑链路,65535(FFFF)用于标识上行逻辑链路,65534(FFFE)用于标识节点域所有内部链路,2048-65533号码空间保留。当节点域存在短接扩展时,确定逻辑端口需要查找短接节点域前缀表。即如果两个节点域间存在短接逻辑链路,则需要分别在两个节点域的短接节点域前缀表中登记对方节点域的网络地址前缀,并分别独立分配逻辑链路号。短接节点域前缀表的表项包括与本节点域有短接关系的节点域前缀CNDPrefix,对应的逻辑链路号LPort,以及当前该短接链路的状态Status。有无短接链路扩展两种情况下确定逻辑端口的具体过程如下(1)在节点域没有短接链路扩展时,确定逻辑端口的过程为数据包自某交换机的外部输入端口首次进入节点域,在该交换机比较本节点域网络地址前缀与包目的地址对应的部分是否相同。若相同,通过数据包目的IP地址在本层的交换字段确定下行逻辑链路(同时也就确定了逻辑端口);若不同,则选择上行逻辑链路,其逻辑端口号为65535。
(2)当节点域存在短接扩展时,确定逻辑端口具体过程为数据包自某交换机的外部输入端口首次进入节点域,在该交换机比较本节点域网络地址前缀与包目的地址对应的部分是否相同。若相同,通过数据包目的IP地址在本层的交换字段确定下行逻辑链路(同时也就确定了逻辑端口);若不同,则采用最长匹配的方法用数据包目的地址的相应部分匹配查找短接节点域前缀表若查找成功,则选择最长匹配的查寻记录中相应的逻辑端口号;若查找不成功,则选择上行逻辑链路,其逻辑端口号为65535。
第二步是选择目标外部端口过程。选择目标外部端口过程是指根据负载平衡机制和逻辑链路状态表,从选定的逻辑链路(端口)所包含的外部链路(端口)中选择一个外部输出链路(输出外部端口)。一个逻辑链路由多条外部物理链路组成,同样地,一个逻辑端口也由多个外部端口组成。在节点域,外部端口标识由交换机标识SID与该交换机端口标识PID组合唯一确定。每个节点域有逻辑链路表,描述到相邻节点域的逻辑链路信息。逻辑链路表的表项包括(1)LPort逻辑端口号,与逻辑链路号一致;(2)SID交换机标识;(3)PID交换机输出端口标识;(4)Bandwidth输出端口带宽,单位是Mbps;(5)Status指出信道正常还是失效,用一个字节表示。
外部输出链路的负载分配可以采用基于流的分配,即保证同一数据流穿过节点域经过相同的路径,不同的数据流尽可能均衡地分布到逻辑链路的所有外部输出链路;也可以采用基于包的分配,即不考虑每个IP包与流的次序关系,以包为单位根据各外部输出链路的状态对包作独立的外部输出链路分配。另外,基于TCP协议的应用要求网络层尽量保证流内包次序,而保证流内包次序的负载平衡的策略包括两种一种是本地化策略,即节点域内的流量转发尽可能地在本地节点完成,各个节点在选择外部出口链路时为本地外部链路赋予较大的权值;另一种是分布式策略,即选择外部输出端口时考虑负载平衡,负载平衡在各个外部输入端口依赖局部信息独立地进行。
分布式方法包括两部分第一部分是基于Hash计算的流聚类及目标外部链路的选择。本步骤的目标是将大量普通数据流通过Hash计算映射到有限的Hash空间上,每个Hash空间对应一个外部端口。映射到相同Hash空间的所有普通数据流聚合为一个宏流,以宏流作为负载分配的基本单位,宏流所对应的Hash空间指定的外部端口即为其选定的目标外部端口。在节点的每个外部输入端口,对应于每个逻辑端口Pi有一张Hash表,如图2。图2是外部端口Hash表示意图,(A)表示目标逻辑端口号i对应的Hash表起始位置,(B)表示目标逻辑端口号i对应的HASH表终止位置,(C)是目标逻辑端口号i对应的Hash表范围,(D)、(E)、(F)、…等是Hash表内容,即逻辑端口号i下的某一个外部端口号,即外部输出端口ρij∈Pi,j=1,…,记录Hash值与外部输出端口映射关系。当一包到达节点域的某个外部输入端口,首先从包中抽取源、目标IP地址。假定所确定的逻辑端口号为i;然后以源、目标IP地址为输入参数用Hash函数计算Hash值;根据计算结果查找与逻辑端口i相应的Hash表,得到相应的外部输出端口ρij,由此得到该包的目标外部输出端口号。
第二部分是基于历史记录对Hash表进行调整。保证负载平衡的关键是如何确定Hash表的内容。所采用的方法是在外部输入端口处,采用时间窗口方法记录分配给逻辑链路各外部出口链路的流量。根据记录结果判断负载分配是否均衡,不均衡则触发对Hash表的调节机制。即当指向某外部输出端口的负载超过了其配载因子达到一预定的阈值,则减少该外部输出端口占据Hash表表项数目,增加负载小的外部输出端口占据Hash表表项数目。调整表项数目根据当前各外部端口号在Hash表内的分布以及实际测量的链路负载情况确定。
一种Hash表调整方法是在链路利用率最大和最小的两个链路间进行负载均衡,调整两个链路在Hash表中所占的表项数目,使得两个链路的链路利用率趋向一致。链路利用率可以通过下列公式计算μij=φij/τC(ϵij)]]>其中,τ为时间窗口宽度,φij表示在时间窗口τ内分配到链路εij的流量,C(εij)表示外部链路的带宽。设μsi=maxj=1,Λ,H(μij),μti=minj=1,Λ,H(μij)]]>分别为逻辑链路i中当前最大的、最小的链路利用率,设Ns、Nt为当前ρis、ρit在Hash表中出现的次数。可以通过下列公式确定调整的Hash表表项数目zz=(μsi-μti)×C(ϵti)×Nsμsi×(C(ϵsi)+C(ϵti))]]>具体的调整过程是将内容为ρis的z个Hash表表项内容改写为ρit。
第三步对数据包进行ISL封装及内部选路。确定外部输出链路(即输出外部端口)后,要对包进行ISL封装。ISL用于节点域内部交换,在帧头和IP包头间插入目标外部端口信息。节点域内每个交换机有一个域内转发表,包括三个表项D_SID、Next_Hop、和Metrics,指示到达域内其他交换机D_SID的下一跳输出端口Next_Hop和代价Metrics。节点域内部节点依据此标签信息中目标节点号SID查找域内转发表选路,逐跳到达目标外部端口所在的SID节点,在该节点脱去ISL标记,并从该节点的PID端口发送出去,完成包在本节点域内的转发。
图3是ISL封装IP包格式其中(A)是FLAG字段,4比特;(B)是保留字段RES,4比特;(C)是EPID字段,24比特;(D)是IP包;(E)是ISL。ISL由三个字段组成,分别为FLAG、RES、以及EPID。FLAG位模式为1111时标识ISL封装,RES保留,EPID字段填入包的目标外部输出端口号EPID,EPID由交换机号SID(8位)和端口号PID(16位)组成。有益效果本发明的有益效果包括(1)节点域的功能单一、位置集中、规模适当,节点域管理运行轻量级快速协议,协议简单并且局限于节点域内部,使得协议收敛速度快、效率高,对网络事件响应及时。此特点是提高节点域性能的基础。
(2)节点域的管理具有局部自治性,节点域控制信息局限于交换节点内部,无须在整个网络上传播控制信息,因而大大降低了网络协议的复杂度,无须考虑与其它节点域的互操作问题,不仅简化了网络控制协议,而且简化了交换机的设计。
(3)节点域的交换控制采用IP交换代替IP路由,不需要查询庞大的路由表,可以使路由器退化成交换机。由于层次式交换网络是按照层次结构构造的,网络的地址也是按照层次结构分配的,而且网络的地址与网络的结构是匹配的,这使得各层节点数据包的转发可以按照目的IP地址的相应交换字段简单地进行交换。与标记交换如MPLS相比,交换的依据是IP包的目的地址的相应交换字段,而不需要分配、管理、检索特别的标记。层次式交换简化了交换机的复杂度,消除了复杂的路由计算和对庞大路由表的查找,可以用硬件完成大多数交换功能,提高了交换机的性能,减轻了路由器的瓶颈问题。
(4)节点域的交换控制采用分布式的自适应负载平衡机制实现目标逻辑链路中各物理链路链路的负载平衡,进而实现在节点域内部分布流量,可以提高网络可靠性和资源利用率。
(5)节点域的管理依据不间断的监测数据包,故障检测时间大大减小,达毫秒级。同时由于节点域的逻辑链路由多条输出链路组成,可以同时提供多条互不相关的转发路径,因此当出现交换机或链路失效时,节点域使用快速的故障恢复机制可自动避开失效节点或链路,将数据流自动切换到其它可用输出链路上,从而使得节点域内部故障对外透明。
下面以节点域(D5)为例说明节点域的管理方法。
(1)配置节点域(D5)基本信息根据图4中节点域(D5)的内部配置描述,设(D5)内各个交换机配置节点域地址前缀为001111111111111111111111000011010000101011/42,交换字段为42/8,则配置节点域(D5)交换机的基本信息如表1至表4所示。
表1交换机1各端口的基本配置信息
表2交换机2各端口的基本配置信息
表3交换机3各端口的基本配置信息
表4交换机4各端口的基本配置信息另外,交换机1的端口6还需配置目标短接节点域前缀0011111111111111111111110001011000010011/40;交换机4的端口4还需配置目标短接节点域前缀0011111111111111111111110001011000010011/40。
(2)邻居发现以交换机(1)为例,交换机(1)从自己的(6)个端口向其邻居发送Hello包。其它交换机收到来自交换机(1)的Hello后,在自己的邻接数据库中登记Hello包内邻居信息,组装应答Hello包,从原路发回。当交换机(1)收到应答Hello包,则把包内信息记录在邻居数据库中。
(3)生成逻辑链路表、短接节点域前缀表表、域内转发表在(D5),每个交换机有三张表。即逻辑链路表、短接链路表、和内部转发表。以交换机1为例说明,三个表分别见表5、6、7。
(4)更新假定交换机(1)端口(3)连接的链路发生故障,当该端口相应的数据包到达间隔计时器超时,则触发交换机(1)的更新同步过程,修改内部转发表,将去往目的交换机(2)的下一跳输出端口修改为(4),即经交换机(3)转发。
在图4所示综合实施例中,包含四个层次式交换控制方法实施例,分别描述层次式交换在基本、短接、缺层和多宿主条件下的特征。
(1)一个基本层次交换实施例是在上述网络环境中,接入网(E)内的一台主机(M)与(H)的一台主机(N)进行通信,这里主要分析数据包在(D5)的交换过程。假定在(E),(M)的SLA地址为7,接口号为EUI-64-M,则其地址IPM表示为0011111111111111111111110000110100000001110100010000101100000111EUI-64-M;在(H),(N)的SLA地址为6,接口号为EUI-64-N,则其地址IPN表示为0011111111111111111111110000110100001010110001101000111000000110EUI-64-N。在(D5),每个交换机有三张表逻辑链路表、短接链路表和内部转发表,如下表5、表6、表7所示。
表5逻辑链路表
表6短接链路表
表7内部转发表则主机(M)的一个数据包P发送到主机(N)的过程如下1)P的源地址填充为IPM,目的地址填充为IPN。
2)(E)内路由器将其转发至(D7),(D7)比较自身的地址前缀和P的目的地址IPN对应的部分,结果不相等则选择上行链路,发送至(D4)。
3)在(D4)经过类似过程,P到达(D2)。
4)(D2)比较自身的地址前缀和P的目的地址IPN对应的部分,结果相等;根据(D2)的交换字段属性32/10选取IPN对应部分,其值为43,则选择下行链路号为43的逻辑链路,将P发送至(D5)。
5)假定P到达交换机(3),首先确定其逻辑链路;即比较(D5)自身的地址前缀和P的目的地址IPN对应的部分,结果相等;根据(D5)的交换字段属性42/8选取IPN对应部分,其值为26,则选择下行链路号为26的逻辑链路。
6)根据逻辑链路号26查找(D5)逻辑链路表,根据外部端口号(SID/PID)为1/1、2/6得到两条外部链路;根据外部端口选择算法选择其中一条,假定选择的外部链路的端口号为2/6。
7)交换机(3)对数据包进行ISL封装,封装格式如图15所示;封装后的包在节点域根据ISL标记查找内部转发表,由于目标D_SID为2,查得结果是从内部端口1将包送出,到达交换机2;在交换机2收到包后,知道应从自己的外部端口6发出,脱去ISL封装,将P发送到(D9)。
8)(D9)将包P发送到(H),到达主机(N),完成数据包P从(M)到(N)的发送。
(2)一个使用短接链路的层次式交换实施例是在上述网络环境中,接入网(G)内的一台主机(S)与(J)的一台主机(T)进行通信。这里主要分析数据包在(D5)使用短接链路的交换过程。假定在(G),(S)的SLA地址为7,接口号为EUI-64-S,则其地址IPS表示为0011111111111111111111110000110100001010110000101000111100000111EUI-64-S;在(J),(T)的SLA地址为6,接口号为EUI-64-T,则其地址IPT表示为0011111111111111111111110001011000010011001101010001101000000110EUI-64-T。如果(D5)与(D6)之间没有短接链路,则(S)与(T)的通信与基本层次交换实施例类似,即(S)发送的包经过(D8)、(D5)、(D2)、(D1)、(D3)、(D6)、(D10),最终到达(J)内主机(T)。由于(D5)与(D6)之间实际上有短接链路,假定数据包从(D5)内交换机(2)进入节点域(D5),则首先确定其逻辑链路;比较(D5)自身的地址前缀和P的目的地址IPT对应的部分,结果不相等,然后用P的目的地址IPT查找短接链路表,与表中地址前缀0011111111111111111111110001011000010011/40匹配成功,则选择表中对应记录的逻辑链路号1088;1088由两条物理信道组成,分别从交换机(1)的端口(6)和交换机(4)的端口(4)连接到节点域(D6);根据负载平衡的选路机制,假定选用了交换机(1)的端口(6);从交换机(2)的内部转发表查得,要想送到交换机(1)则需要从交换机(1)的内部端口(2)发出;然后由交换机(1)将包P从端口(6)的短接链路发送到(D6),再经(D6)转发到(D10),最终到达(J)内主机(T),因此没有经过上层节点域(D2)、(D1)、(D3)。
(3)一个使用缺层连接的层次式技术实施例是在上述网络环境中,接入网(E)内的一台主机(U)与接入网(I)的一台主机(V)通信。则从(U)发出的数据包经(D7)、(D4)、(D2)、(D1)到达(D3),经(D3)转发直接到达(I),进而到达主机(V);从(V)发出的数据包经(I)直接到达(D3),经(D3)上传到(D1),再经过(D2)、(D4)到达(D7),进而到达主机(U)。
(4)一个使用多宿主连接的层次式技术实施例是在上述网络环境中,接入网(F)内的一台主机(X)与接入网(J)的一台主机(Y)通信。其中接入网(F)采用多宿主连接分别接入(D7)与(D8),F有两个地址前缀00111111111111111111111100001101000000011101000100010111/56(宿主D7)和00111111111111111111111100001101000010101100001010000111/56(宿主D8),所以(F)内主机有两套地址。(F)内主机与外部主机通信时可以选择任意一个地址作为源地址,因此选择不同的地址数据包经过的路径可能不一样。如选择宿主(D7)的地址前缀组合的主机地址,则向(J)发送的数据包通过的逻辑路径为(D7)、(D4)、(D2)、(D1)、(D3)、(D6)、(D10);如选择宿主(D8)的地址前缀组合的主机地址,则向(J)发送的数据包通过的逻辑路径为(D8)、(D5)、(D2)、(D1)、(D3)、(D6)、(D10)。
采用保证流内包次序的分布式负载方法以(D5)上行逻辑链路65535为例说明其负载均衡过程。逻辑链路65535由三条物理链路组成,查找逻辑链路表并计算配载因子,见表8。
表8配载因子计算结果则外部端口Hash表初始化若假定外部端口Hash表空间为0~127,其大小为128,则在节点域的每个外部输入端口,对应于逻辑链路65535,有一个外部端口Hash表,该表初始化时至多有57项的内容指向交换机(2)的端口(2),至多有15项的内容指向交换机(3)的端口(2),至多有57项的内容指向交换机(4)端口(3)。表项的内容交叉循环依次填充外部端口号,同时为各外部端口号计数,若某外部端口号计数超过其应占表项份额后则停止填充该外部端口号,继续按上述方法填充剩余外部端口号,直到Hash表填满为止。
权利要求
1.层次式交换网络节点域的一种控制方法,层次式交换网络的拓扑结构是由多个交换层次组成树型结构,网络的地址空间按层次结构分配,并且拓扑结构的层次与地址结构的层次是严格匹配的;由于简单树型结构中任意两个节点的链路是唯一的,因此数据包按照层次地址进行交换;其中以逻辑节点替代树型结构的节点,以逻辑链路替代树型结构的分支,逻辑节点称为节点域,其特征在于节点域控制方法包括节点域管理方法和节点域交换控制方法,节点域管理方法通过实时检测交换机和链路的状态得到节点域内部各种配置表,节点域交换控制方法根据内部配置表控制数据包在节点域的转发;节点域管理包括(1)配置交换机基本信息;(2)通过发送数据包和应答数据包进行邻居发现;(3)链路状态分组组装并且采用泛洪扩散法在节点域中扩散各自的链路状态分组信息;(4)生成逻辑链路表、短接节点域前缀表、和域内转发表。
2.根据权利要求1所述的层次式交换网络节点域的控制方法,其特征在于节点域交换控制过程包括确定逻辑端口、选择目标外部端口、和选择下一跳输出端口三个阶段;其中各节点域确定逻辑端口通过数据包交换字段的位置与长度,来确定该数据包到达下一个节点域需要经过的逻辑链路;选择目标外部端口过程从选定的逻辑链路所包含的外部链路中,根据负载平衡机制选择一个外部输出链路;当数据包首次进入该节点域并完成目标外部端口选择时,需要对包进行内部交换标记封装;以后当选择下一跳输出端口时,则直接输出到已知的目标外部输出端口。
3.根据权利要求1所述的层次式交换网络节点域的控制方法,其特征在于逻辑链路表的表项包括逻辑端口号、交换机标识、交换机输出端口标识、输出端口带宽、信道状态;从链路状态数据库中检索所有外部端口的信息,并按照逻辑号进行分类和排序,得到逻辑链路表。
4.根据权利要求1所述的层次式交换网络节点域的控制方法,其特征在于短接节点域前缀表的表项包括与本节点域有短接关系的节点域前缀、对应的逻辑链路号、以及当前该短接链路的状态;从链路状态数据库中检索所有短接端口的信息,并按照逻辑号进行分类和排序,得到短接节点域前缀表。
5.根据权利要求1所述的层次式交换网络节点域的控制方法,其特征在于域内转发表指示到达域内其它交换机的下一跳输出端口及其代价;根据链路状态表中信息,构造节点域内部拓扑,计算最短路径,生成域内转发表。
6.根据权利要求1所述的层次式交换网络节点域的控制方法,其特征在于节点域管理还包括更新;更新过程检测节点域当前状态,更新节点域相关的配置信息;包括当管理员增加交换机、增添链路或重新配置交换机后,重新启动交换机所触发的更新过程;以及通过自动检测过程进行的更新过程,该过程根据收发两端能否连续正确接收到数据包来确定是否需要更新,当交换机端口的数据包到达间隔计时器超时时,触发更新过程。
7.根据权利要求2所述的层次式交换网络节点域的控制方法,其特征在于节点域交换控制过程采用保证流内包次序的分布式负载平衡策略;采用基于Hash计算的流聚类来选择目标外部链路,即当一包到达节点域的某个外部输入端口,首先从包中抽取源、目标IP地址,以源、目标IP地址为输入参数用Hash函数计算Hash值,根据计算结果查找与该逻辑端口相应的HASH表得到该包的目标外部输出端口号。
8.根据权利要求7所述的层次式交换网络节点域的控制方法,其特征在于节点域交换控制过程采用基于Hash计算的流聚类来选择目标外部链路,同时采用基于测量的Hash表调整方法;在外部输入端口处,采用时间窗口方法实时测量分配给逻辑链路各外部出口链路的流量,根据测量结果判断负载分配是否均衡,不均衡则对Hash表进行调节机制;即当指向某外部输出端口的负载超过了其配载因子预定的阈值,则减少该外部输出端口占据Hash表表项数目,增加负载小的外部输出端口所占据的Hash表表项数目。
9.根据权利要求7所述的层次式交换网络节点域的控制方法,其特征在于Hash表调整方法是在链路利用率最大和最小的两个链路间进行负载均衡,调整两个链路在Hash表中所占的表项数目,使得两个链路的链路利用率趋向一致。
全文摘要
本发明涉及层次式交换网络节点域的一种控制方法。节点域控制方法包括节点域管理方法和节点域交换控制方法。节点域管理方法通过实时检测交换机和链路的状态得到节点域内部各种配置表,节点域交换控制方法根据内部配置表控制数据包在节点域的转发。本方法可以提高层次式交换网络节点域的可靠性和性能,增加节点域吞吐量,减少延迟和内部拥塞,实现节点域负载平衡和故障恢复,减少内部控制和管理的复杂度。
文档编号H04Q1/20GK1440159SQ0312152
公开日2003年9月3日 申请日期2003年3月31日 优先权日2003年3月31日
发明者李俊, 钱华林, 葛敬国, 马宏伟, 方蕾, 牛广锋, 代长城 申请人:中国科学院计算机网络信息中心