一种层次式交换网络系统 所属领域:
本发明涉及一种网络系统,特别的采用层次式IP交换(IP Switching)技术取代IP路由(IP Routing)技术。
背景技术:
随着网络规模和用户数量的迅速增长,Internet正逐步成为未来信息基础平台,新的应用需求和通讯技术的进步驱使Internet体系结构目标从开放、集成向高性能、可扩展、可管理方向发展。原有的Internet体系结构设计条件已经发生改变,其中的一些原则在现有的网络技术条件下不再适用。例如目前为保证网络可靠性和方便互联,采用的是无中心、无结构的拓扑设计和一维平铺的地址结构,这种结构具有有灵活性、健壮性等优点。但是随着网络规模膨胀和用户呈指数增长,这种结构将导致网络在性能、效率、可扩展性、服务质量保证、可管理性等方面受到挑战,具体表现在:一维平铺的地址结构及无结构的地址分配策略导致了庞大的路由表,造成核心路由器包转发的瓶颈;无结构的网络拓扑以及拓扑与地址分离的设计方案导致对复杂的全局路由信息进行交换和路由计算,从而消耗了核心路由器大量资源,并且导致大规模的、全局的、动态的路由协议存在稳定性不够、收敛时间慢等问题;不确定的路由容易引起流量突发以及流量模式难以预测,从而导致服务质量保证和流量控制困难等等。当前Internet无结构的任意拓扑连接与地址结构,以及网络地址与拓扑分离的特性,是造成目前Internet路由问题、服务质量保证和性能扩展等问题难以解决的根本原因。
当前Internet路由由两个层次完成,分为域间路由和域内路由。边界网关协议BGP4(Border Gateway Protocol 4)是目前域间路由唯一的事实标准。该协议在大约10万个路由器中运行,交换全球Internet自治系统间的可达性信息,从而使Internet成为了世界上最大地分布式系统之一。但是一维平铺的地址结构、无序的地址分配策略、拓扑与地址分离、全局动态及其规模庞大的特征导致了BGP4在可扩展性、收敛效率、稳定性等方面存在严重问题,难以承担未来更大规模Internet路由任务。F.Kamoun和L.Kleinrock所提出的层次路由方法(″Hierarchical Routing forLarge Networks:Performance Evaluation and Optimization″,Computer Networks,1(3):155--174,January 1977)以及PNNI(Private Network-Network Interface)通过拓扑、地址的汇聚、和抽象技术实现信息掩藏,在任意拓扑的网络上构造逻辑层次结构的路由,解决路由表可扩展性问题,但是代价是增加了平均路径长度,并且信息抽象与路由计算非常复杂。
为了提高路由器的转发速度和提供服务质量保证,人们试图尽量用交换来代替路由,提出了IP/MPLS路由/标记交换结构(Rosen,E.,Viswanathan,A.and R.Callon,″A Proposed Architecture for MPLS″,RFC 3031,January 2001),综合利用网络核心交换技术和网络边缘IP路由技术的优点。在IP/MPLS结构下,路由是永远避不开的,只能做到部分地减少路由表查找次数,这是在现有包转发技术基础上的一点改进,但是并没有从根本上解决问题:第一,复杂的路由表生成过程、存储庞大的路由表、及对路由表费时的查询工作都没有消除;第二,没有快速、严格的方法对随机到达的独立IP包是属于同一个流还是非同一个流进行有效地认定;第三,标记交换技术也引入了更复杂的问题,例如标记的生成、分配、管理、标记到端口的查询和映射、标记交换与其他协议的互操作等,使得核心网内部越做越复杂。MPLS增加了Internet核心的复杂性,偏离了Internet结构。
上述方法和技术是对现有Internet结构的完善和修补,没有重大突破。发明目的:
为了解决当前Internet因任意连接的拓扑、一维平铺且无序的地址分配、以及地址与拓扑无直接关系等原因造成的路由表庞大、全局路由信息交换与计算复杂的问题,本发明提供一种层次式交换网络(Hierarchically Switched Network)系统,以下简称HSNET,用于解决路由规模与网络性能可扩展性的问题。
发明的技术方案:
本发明所采用的技术方案如下:
层次式交换网络主要通过重新规定网络拓扑、网络地址的规则以及二者之间必须满足的关系,用IP交换彻底取代IP路由。其基本方案包括:按层次结构构造网络拓扑结构,同样按层次结构分配网络的地址空间,拓扑结构的层次与地址结构的层次严格匹配的;在按照以上方法组建的网络中,实现数据包按照层次地址的快速交换,从而避免路由操作。
层次式交换网络是一组网络组织方法与控制方法的集合,主要包括拓扑结构组织方法、地址分配方法、包交换控制方法等。
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.HSNET拓扑结构组织方法
HSNET拓扑结构组织方法规定了组建层次式交换网络拓扑结构时所采用的方法。
首先根据管理域的不同,可以把网络分为两部分:骨干网和接入网。图1是网络的两层逻辑结构示意图,(1)为骨干网,(2)为骨干网内节点,(A)-(H)为接入网。骨干网由运营商运行和管理,接入网由用户单位管理。城域网包含在骨干网中,由运营商负责。拥有接入网的单位,可以是一所学校、一所医院、一个公司、一个政府部门、一个居民小区等。把所有的用户接入网用一个骨干网连接起来。HSNET是指骨干网遵循HSNET组建,并且运行HSNET协议。
然后,HSNET骨干网的拓扑结构是由多个交换层次组成树型结构。由于简单树型结构中任意两个节点的链路是唯一的,因此简化了路由。但是它在可靠性、扩展性、灵活性等方面存在固有的缺点:例如如果存在单点故障,那么一条信道或节点的失效,会使得该信道或节点下连的所有子树失去连接性,从而造成一批下属子树的断连;如果单根信道的带宽和单个交换机的容量受限,则存在可扩展性问题;由于树型结构任意节点间的路径是唯一的,所以不能满足多个实体间灵活的路由需求。因此在设计HSNET网络的拓扑结构时,本发明对严格的树型结构进行扩展,以避免上述缺点。扩展包括两种:
第一种是基于逻辑节点域和逻辑链路扩展。这种扩展方法用于解决可靠性和容量可扩展性问题。该方法以逻辑节点(或称节点域)替代树型结构的节点,以逻辑链路替代树型结构的分支,以逻辑节点和逻辑链路为基本元素按树型结构组织成逻辑上的层次结构网络,保持层次结构特点。从实现角度看,每个节点域中有多个节点互联,这保证了交换节点容量的可扩展性和路径选择的灵活性。由于每条逻辑链路包含了多条物理链路,因此扩展了逻辑链路的带宽,增强了抵御单条物理信道失效的能力。因此逻辑扩展方法既保持了树型结构的特点,又保证了可靠性和可扩展性。
图2是基于逻辑节点域和逻辑链路扩展的局部层次式交换网络示意图,(1)为节点域,(2)为逻辑链路,(3)为服务器,(4)为交换机。节点域(1)是树型结构上的一个交换节点,其功能如同一个交换机,完成流量向上和向下两个方向的转发。连接两个相邻节点域间的外部链路集合抽象为逻辑链路(2),每个逻辑链路由多条外部链路组成。对于某一节点域而言,有一上行逻辑链路和一组下行逻辑链路:上行逻辑链路连接父节点域;下行逻辑链路有多条,连接多个子节点域。每个下行逻辑链路由本层节点域管理,并且分配一个逻辑链路号,这个逻辑链路号其实就是下一层子域的子域号。
第二种是基于短接的扩展。这种扩展方法用于解决灵活性和效率问题。该方法在不同子树间增加直接链路,让子树间存在第二条有效路径,从而使得子树间的流量不一定需要它们共同的祖先节点域进行转发。在基于短接扩展中,短接链路是局部自治的,只有短接链路两端直接关联的节点域感知此短接的存在。短接扩展的方法保持了拓扑的层次性,同时具有灵活的拓扑结构。短接链路的实现可以按照第一种扩展方法中逻辑链路的构造方式实现,即由一组物理链路组成。
基于短接扩展有五种应用场景:
(1)第一种应用场景是在同一地区(例如同一个城市)中有两个甚至更多的接入服务提供商采用层次式交换网络向用户提供网络接入服务:这些接入服务提供商(ISP)的层次网络可能互相交叉重叠,例如处在同一城市的一批医院接到一个接入服务提供商提供的层次网络上,同一城市的一些保险公司接到了另一个接入服务提供商提供的层次网络上;如果医院与保险公司之间的通信都要绕道两棵树的顶层才能到达对方,而这种顶层互连可能在数千公里以外,这是不合理的,因此需要引入短接扩展。
(2)第二种应用场景是虽然一个地区(例如城市)内只有一个接入服务提供商提供层次网络接入服务,只有一棵子树,但某些接入用户是一个集团,在不同的子区域有多个分支机构,分支结构之间有较大的通信量,或有较高的通信质量要求;因此要求接入服务提供商在其有大通信量的分支机构所接入的底层节点域之间增设信道,直接连通。
(3)第三种应用场景是接入服务提供商自身通过对网络流量的监测与分析,认为某两个子区域(子树)之间应增加一条直接的信道,可以优化网络性能,因此在两个子区之间进行短接。
(4)第四种应用场景是HSNET与非HSNET网互连时进行短接,使得HSNET网络与非HSNET网间不需要经过顶层网络的转发。
(5)第五种应用场景的短接通达对方的整个网络,而不只是对方的一棵子树。
上述前四种短接需求的应用场景都属于局部性短接,主要目的是本地流量不要绕道远程,使本地区内处于不同ISP的网络或同一ISP网络的不同分支网之间的流量更加合理,起局部优化作用;第五种则是全局性短接。
为了提供连网时最大程度的灵活性,在将现有网状连接的网络转换成层次式交换网络,短接方式允许任意进行短接。任意短接包括如下方法:
(1)允许层次网络中有任意多的短接链路;
(2)允许一个节点域对其他任意多个节点域有短接链路;
(3)允许处于树的任意不同层次的节点域之间有短接链路。
通过任意短接,在网络拓扑结构不加任何改变的情况下,可以把现有的网络改造成基于层次交换的网络。图3是一个任意短接扩展例子的示意图,其中(D1)-(D10)、(D1’)-(D10’)是节点域,(A)-(H)是接入网,(1)-(8)是短接链路。
HSNET网络与其他网络互联有三种模式:包括与其他HSNET互联、与非HSNET网络互联、以及与接入网互联。
与其他HSNET互联有两种方法:一种是短接互联,即在两个HSNET网顶层节点域间通过短接链路进行互联。其优点是互联简单,只需要配置顶层节点域即可,而缺点是只能在两个HSNET间互联,不能实现多个(三个以上)HSNET的全互联,如图3所示。另一种是顶层扩展方法,即建立一个超级虚拟节点域作为根节点,将各个HSNET网络的顶层节点域作为这个超级节点域的子节点域,构造新的更大范围的HSNET网络。图4是顶层扩展方法示意图,(D1)-(D10)、(D1’)-(D10’)是节点域,(A)-(H)为接入网,(1)为HSNET1,(2)为HSNET2,(D0)是超级节点域。
与非HSNET网络互联的方法是:HSNET顶层节点域直接与非HSNET网络的核心骨干网互联,或者与非HSNET网络建立一个对等关系。对等关系的建立需要运行BGP协议,或者将HSNET网络作为非HSNET骨干网的一个下层网络而无需运行BGP协议。图5是HSNET网络与非HSNET网络互操作示意图,(1)是非HSNET网络的核心层,(2)是非HSNET网络的分布层,(3)是非HSNET网络,(4)是HSNET网络,(A)-(Q)是接入网。
与接入网互联有三种方法:包括与当前接入网直接互联、多宿互联、以及HSNET末端扩展方法。直接互联方法是最基本的方法,即将用户网络通过路由器直接接入HSNET叶子节点域(也称HSNET边缘端口),从而实现用户网络的接入;多宿互联(Multi-Homing)方法指一个用户网络连到不同的ISP、或同一个ISP的不同接入点,以便增加可靠性,均衡负载;HSNET末端扩展方法指接入网本身也按照层次式交换网络构造,从而在接入时取消了路由器,实现HSNET网络与接入网的无缝互联。
图5反映了HSNET网络与其他网络互操作的场景,其中HSNET网络在底层将不同类型的接入网连接起来,同时可以与其他HSNET网络或非HSNET网络在顶层互连。图6给出两个用户接入网(C)、(E)采用多宿互联方法接入HSNET网络的示意图,(D1)-(D10)、(D1’)-(D10’)是节点域,(A)-(Q)为接入网,(1)为HSNET1,(2)为HSNET2。用户接入网(C)连到同一ISP网的两个不同的子树,用户接入网(E)连到两个不同ISP的HSNET网络。
3.HSNET地址分配方法
HSNET地址分配方法遵循与IPv6地址结构兼容的原则,遵守IPv6地址分配方案,在统一地址空间建立一致的地址结构。该分配方法在授权的地址空间内构造层次地址结构,这种地址不仅具有命名功能,而且具有寻址功能,即网络地址能够表示网络的结构化信息。HSNET是骨干网络,其地址分配方法主要涉及骨干网络层地址的设计、分配和管理,不涉及用户接入网络及其内部节点的地址分配与管理。本发明的HSNET地址分配方法主要考虑全局单播地址分配,将一个IP地址分为网络地址号(Network ID)和接口号(Interface ID)两部分:在HSNET网络内,任意一棵逻辑子树是一个层次子网,其网络地址号由子网地址前缀表示;同时上一层网络为下一层网络分配一个逻辑端口号,下一层子网地址是上一层子网地址前缀与其分配的逻辑端口号的组合。通过层次网络地址号显式地指出了数据包交换的逻辑路径。
IPv6的地址类型有三类:单播(Unicast)地址、任播(Anycast)地址和组播(Multicast)地址。IPv6地址用途由地址的前导位模式指定,又称格式前缀FP(Format Prefix)。FP为11111111指示该地址为组播地址,其他的为单播与任播地址。以FP划分地址空间,其用途、格式前缀、和地址空间如表1所示。用途 格式前缀(FP) 地址空间(二进制)Reserved 0000 0000 1/256Unassigned 0000 0001 1/256Reserved for NSAP Allocation 0000 001 1/128Reserved for IPX Allocation 0000 010 1/128Unassigned 0000 011 1/128Unassigned 0000 1 1/32Unassigned 0001 1/16Aggregatable Global Unicast Addresses 001 1/8Unassigned 010 1/8Unassigned 011 1/8Unassigned 100 1/8Unassigned 101 1/8Unassigned 110 1/8Unassigned 1110 1/16Unassigned 1111 0 1/32Unassigned 1111 10 1/64Unassigned 1111 110 1/128Unassigned 1111 1110 0 1/512Link-Local Unicast Addresses 1111 1110 10 1/1024Site-Local UnicastAddresses 1111 1110 11 1/1024Multicast Addresses 1111 1111 1/256
表1:IPv6地址
图7是IPv6可汇聚全局单播地址结构(Aggregatable Global Unicast Addresses)格式:(A)是格式前缀FP,值为001,3个比特;(B)是顶层汇聚域TLA,13比特;(C)是保留字段RES,保留用于将来扩展TLA或NLA域,8比特;(D)是下一层汇聚域NLA,24比特;(E)是站点层域SLA,16比特;(F)是接口标识域Interface ID,64比特;(G)是公共地址范围;(H)是站点拓扑地址范围。TLA、NLA、SLA将地址分成三个大的层次:TLA在路由层次的顶层,由注册机构分配给大的提供流量中转服务的组织;NLA用于得到一个TLA地址的组织建立自己内部的地址层次并标识站点;SLA用于用户组织建立自己的内部地址层次结构并标识子网。
HSNET的地址分配是在IPv6地址分配框架下对于全局单播地址进行地址分配,有两种方法:一种方法是重新划分IPv6的可汇聚的全局单播地址,由HSNET重新分配,建立自己的层次结构地址空间,如图8所示。图8是兼容IPv6的HSNET可汇聚全局单播地址结构格式:(A)是格式前缀FP,值为001,3个比特;(B)是顶层汇聚域TLA,13比特;(C)是保留字段(RES),保留用于将来扩展TLA或HA域,8比特;(D)是层次地址域HA,32比特;(E)是站点层域SLA,8比特;(F)是接口标识域Interface ID,64比特;(G)是公共地址范围;(H)是层次拓扑地址范围;(I)是站点拓扑地址范围。另一种方法是使用IPv6未指派的地址空间,如FP位模式为010、011、100、101、110等,建立层次交换网络的地址空间,如图9。图9是使用IPv6未指派地址空间的HSNET全局单播地址结构格式:(A)是格式前缀FP,3个比特;(B)是层次地址域HA,61比特;(C)是站点层域SLA,16比特;(D)是接口标识域Interface ID,64比特;(E)是层次拓扑地址范围;(F)是站点拓扑地址范围。本发明建议采用第一种地址方案,以便与现有的IPv6网络直接互通。
HSNET地址分配方法采用变长交换字段,根据实际网络拓扑结构的需要设计网络的地址结构。HSNET地址层次数目以及各层交换字段的长度是与网络的拓扑结构紧密相关,由各节点域独立决定自己交换字段的长度以及交换字段的值作为下一层子网的逻辑号。交换字段的长度决定了该节点域扇出的最大子域数目。实际网络的拓扑层次虽然没有限制,但一般在3到5层范围之内,地址的交换字段数目也就在3到5的范围内。交换数据包时,各节点域需要知道相应交换字段的位置与长度。具体的,HSNET层次地址空间可以划分成多个交换字段SFi,每个交换字段SFi有两个参数Si和Li,其中Si是子网前缀的长度,表示SFi在IP地址中的起始位置,Li是交换字段SFi的长度。位模式全1的地址有特别用途,用于指示本节点域地址;位模式全0的地址用于缺层时进行灵活的层次插入;是否采用长度相等的交换字段需要考虑系统的复杂度和转发效率。
HSNET地址分配方法对节点域及其内部节点地址进行标识,包括节点域及其逻辑端口地址、节点域内部节点及其端口地址、节点域内部服务器地址。即节点域内部地址的设计以HSNET网某分支第i层节点域A及其内部节点地址为例,其格式为FP:TLA:RES:SF1:SF2:…:SFi:…:SLA:EHA:TYPE:X:Y:其中SFi位模式为全1;EHA是可扩展的层次地址,占4个字节;类型TYPE字段为特殊地址的类型,占1个字节;X字段占1个字节;Y字段占2个字节。地址解析方法根据EHA字段的位模式是否全为“0”而不同:如果EHA字段的位模式不为全“0”,则地址解析为本节点域内部的一台服务器地址,这个地址的低64比特就是该服务器EUI-64格式的接口标识号;否则如果EHA字段的位模式为全“0”,则地址根据以下方式解析:
(1)如果TYPE=0、X、Y均为0,则该地址标识节点域A自身地址;
(2)如果TYPE=1,Y取值范围为0至65535。当Y取值为0至1023,则该地址标识本节点域A内逻辑端口号为Y的逻辑端口;当Y取值为1024至2047,则该地址标识本节点域A内短接逻辑端口号为Y的端口;当Y取值为65535,则该地址标识本节点域A内的上行逻辑端口。
(3)如果TYPE=2,则该地址标识节点域A内交换机号为X的交换机。
(4)如果TYPE=3,则该地址标识节点域A内交换机号为X、物理端口号为Y的物理端口。
(5)如果TYPE=4、X=0、Y取值为0至255,则该地址标识节点域A内的类型为Y的服务器。
HSNET的地址分配在网络层次空缺时可以支持层次的插入。HSNET网络中分支网络的层次数目可能不同,即节点域或用户接入网络可以跳过某些层次直接与高层的祖先节点域连接。跳过的层次是空缺层次,空缺层次的交换字段设为0。当这部分地址空间要让更多的用户接入网络使用时,就可以进行层次的插入,插入一或多个层次。在缺层分支上插入层次,即增加节点域,然后建立它的层次网络。在缺层的分支上可以插入多个层次,但都要保证缺层分支上原来的各节点域在其上层节点域的域号为0。层次插入不影响原缺层分支上已分配的地址空间。
4.数据包层次式交换控制方法
上述层次式交换网络的拓扑和地址都是层次结构,并且地址结构与拓扑结构互相匹配,因此本发明根据层次网络的这些特征,在层次式交换网络内部使用层次式交换。由于HSNET网络拓扑的层次特征,故任意两节点域之间的逻辑交换路径是确定的,没有全局的路由计算;由于HSNET地址的层次特征并且地址与拓扑严格匹配,故地址反映一定的拓扑信息,地址本身具有寻径功能,根据IP目标地址相应的交换字段,确定逻辑路径的下一跳,进而结合节点域配置信息与控制规程,确定实际转发路径,完成数据包在节点域的交换。在节点域,数据包层次式交换有三个过程:确定逻辑端口、选择目标外部端口、和选择下一跳输出端口。从外部端口首次到达节点域的包需要进行确定逻辑端口,选择目标外部端口,然后选择下一跳端口送往下一节点;而从内部端口到达的包,只需要进行最后阶段的操作,即根据前面选定的目标外部端口选择下一跳,逐跳到达目标外部端口。对于最后一个过程,由于节点进行下一跳选择时需要知道目标外部输出端口信息(称为内部交换标记ISL),因此当数据包首次进入该节点域并完成目标外部端口选择时,需要对包进行ISL封装。
图13是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位)组成。
有益效果:
本发明的层次式交换网络可以消除庞大的路由表,没有复杂的、全局的路由计算,网络控制与管理局部自治,从而提高了网络性能,简化了核心网络的复杂度。层次式交换网络适合构造高性能、可扩展、可管理和可靠的下一代Internet,特别适合于IPv6网络,它遵循IPv6及其相关协议(如IPv6地址体系结构),为IPv6网络提供了一种新的包转发方案。
本发明的有益效果包括:
(1)层次式交换网络的重要特征是网络拓扑是按照层次结构构造的、网络的地址也是按照层次结构分配、以及网络的地址结构与网络拓扑的结构是匹配的。这种特性使得Internet上数据包的转发不依赖路由表选路,从而不需要全局的、复杂的路由信息交换与路由计算。层次交换控制过程具有局部自治性,交换控制信息局限于交换节点内部,无须在整个网络传播控制信息,无须考虑与其他节点域的互操作问题,不仅简化了交换机的设计,而且简化了网络控制协议,大大降低了网络协议的复杂度。复杂度的降低是构造高性能网络的关键。
(2)层次式交换采用IP交换代替IP路由,各层节点按照目的IP地址相应的交换字段进行局部控制的简单交换,不依赖于查询庞大的路由表,不再具有传统意义上路由选择的含义,路由器退化成了交换机。与标记交换如MPLS相比,交换的依据是IP包的目的地址相应的交换字段,因此不需要对很长的标记进行分配、管理、检索,不需要为每个流生成标记交换路径(LSP)。层次式交换中,每个节点域只使用地址中一个很短的字段的值,决定下一跳的去向,极大地简化了交换机的复杂度,消除了复杂的路由计算和查找庞大路由表的任务,可以用硬件完成主要交换功能,提高交换机的性能,大大减轻了路由器的瓶颈问题。
(3)层次结构构造大规模网络系统,具有性能、规模、管理上的可扩展性。随着Internet逐步成为未来全球基础信息传输平台,用户数量、网络规模呈几何级数增长。新的应用需要提供有QoS保证的大数据量实时多媒体传输服务。但是目前在无结构的Internet上,一条信道被不可知的用户群体借道使用,加上通信的突发性,因此无法预测网络的流量模式,无法合理地为每条信道及其相应的端口分配合适的资源数量,网络的流量工程或QoS机制难以进行。这种缺陷对网络规模扩展、网络性能扩展的影响越来越突出,成为制约网络发展的关键因素。层次式交换网络在现有的Internet中引入结构化概念,可以把子区域内的局部通信的流量限制在子区域内部,不占用子区域以外的网络资源,避免了目前经常出现的混乱、低效、浪费网络资源的现象。层次式网络有严格的拓扑结构和相对固定的通信路径,可以简化描述网络动态变化的模型,降低网络资源管理和网络流量分布预测的复杂性,为QoS机制的应用提供根本保证。同时由于层次式结构具有良好的可扩展性和可管理性,适合有效构造和管理大规模的网络,可以成为未来Internet采用的结构。当网络的规模扩大、用户数量或用户网络增加时,扩展只需增加中间层次即可,其影响局限在局部范围内,不会对整个网络产生影响。
(4)HSNET网络基于逻辑节点域与逻辑链路的扩展,增加了网络的可靠性和容量的可扩展性。基于短接的扩展使得层次拓扑结构更加灵活,既在逻辑上保持了层次结构的特点,又在网络实现上具有灵活的结构。原则上,现有的任意连接的任何复杂的网络结构,在对其拓扑结构和信道连接状况不加任何修改的情况下,都可以变成带短接信道的层次交换网络。
(5)HSNET的设计与现有IPv6和IPv4网络的兼容。IPv6的网络可以直接接入,因此HSNET将有利于推进IPv6。HSNET的设计,使现有的网络可以有序、渐进地过渡到全HSNET结构。
附图说明:
图1 网络两层逻辑结构示意图
图2 基于逻辑节点域和逻辑链路扩展的局部层次式交换网络示意图
图3 一个任意短接扩展的例子示意图
图4 顶层扩展方法示意图
图5 HSNET网络与非HSNET网络互操作示意图
图6 接入网基于多宿方法接入HSNET网络拓扑实例示意图
图7 IPv6可汇聚全局单播地址结构格式
图8 兼容IPv6的HSNET可汇聚全局单播地址结构格式
图9 使用IPv6未指派地址空间的HSNET全局单播地址结构格式
图10 HSNET网络及层次地址结构实例示意图
图11 HSNET网络分支缺层地址表示实例示意图
图12 层次插入的实例示意图
图13 ISL封装IP包格式
图14 层次交换网络实施例示意图
图15 ISL封装IP包P格式示意图
实施例:
下面结合附图和实施例对本发明进一步说明。
图10是一个HSNET网络及层次地址结构实例示意图。其中(1)是HSNET网络,(D1)-(D10)是节点域,(V)-(Z)是接入网,(A)是格式前缀FP,值为001;(B)是顶层汇聚域TLA,13比特;(C)是保留字段RES,8比特;(SF1)-(SF10)分别是节点域(D1)-(D10)的交换字段;(E)是站点层域SLA,8比特;(F)是接口标识域Interface ID,64比特;(G)是公共地址范围;(H)是层次拓扑地址范围;(I)是站点拓扑地址范围。图10(a)是一个HSNET网络示意图。图10(b)是分支(D1)-(D2)-(D4)-(D7)层次地址结构示意图,32位层次地址域(HA)被划分为不等长的四个交换字段,分别为SF1(24/8)、SF2(32/10)、SF4(42/6)、SF7(48/8)。一个附着于此HSNET网络分支的接入网,网内主机地址表示为FP:TLA:RES:SF1:SF2:SF4:SF7:SLA:EUI-64,其中SF1:SF2:SF4:SF7为HSNET的层次地址,由ISP管理;SLA为用户接入网的地址,即站点网号;EUI-64是64位的主机号。图10(c)是分支(D1)-(D3)-(D6)-(D10)层次地址结构,其中32位层次地址域(HA)被划分为等长的四个交换字段,分别为SF1(24/8)、SF3(32/8)、SF6(40/8)、SF10(48/8)。
图11是HSNET网络分支缺层地址表示实例示意图。其中(D1)-(D7)是节点域,(W)-(Z)是接入网,(A)是格式前缀FP,值为001,3个比特;(B)是顶层汇聚域TLA,13比特;(C)是保留字段RES,8比特;(SF1)-(SF7)分别是节点域(D1)-(D7)的交换字段;(M)是缺层字段;(E)是站点层域SLA,8比特;(F)是接口标识域Interface ID,64比特;(G)是公共地址范围;(H)是层次拓扑地址范围;(I)是站点拓扑地址范围。图11(a)是一个HSNET网络示意图,一个骨干服务器或接入网直接连到该HSNET网分支(D1)-(D2)-(D4)-(D7)的第二层节点域(D2),下层空缺。图11(b)是分支(D1)-(D2)-(Y)层次地址结构示意图,其中32位层次地址域(HA)被划分为不等长的两个交换字段,分别为SF1(24/8)、SF2(32/10),SF2值为0;缺层字段M(42/14),14比特,填充二进制0。
图12是一个层次插入的实例示意图。其中(D1)-(D9)是节点域,(V)-(Z)是接入网,(A)是格式前缀FP,值为001,3个比特;(B)是顶层汇聚域TLA,13比特;(C)是保留字段RES,8比特;(SF1)-(SF9)分别是节点域(D1)-(D9)的交换字段;(M)是缺层字段;(E)是站点层域SLA,8比特;(F)是接口标识域Interface ID,64比特;(G)是公共地址范围;(H)是层次拓扑地址范围;(I)是站点拓扑地址范围。图12(a)是一个HSNET网络示意图,在图11(a)的缺层分支上插入节点域D8(42/8),增加了一个层次。图12(b)是分支(D1)-(D2)-(D8)-(Y)层次地址结构示意图,其中32位层次地址域(HA)被划分为不等长的三个交换字段,分别为SF1(24/8)、SF2(32/10)、SF8(42/8),SF2和SF8值都为0;缺层字段M(50/6),6比特,填充二进制0;其中保持接入网(Y)地址不变的关键,是新插入的节点域(D8)把子域号0分配给(Y)的分支。图12(c)是分支(D1)-(D2)-(D8)-(D9)层次地址结构示意图,其中32位层次地址域(HA)被划分为不等长的四个交换字段,分别为SF1(24/8)、SF2(32/10)、SF2(42/8)、SF9(50/6)。
图14是层次交换网络的一个综合实施例示意图。其中(D1),(D2),...,(D10)是节点域;(A)、(B)、(C)、(D)是交换机;(E)、(F)、(G)、(H)、(I)、(J)是用户接入网;(1)-(6)是交换机(A)的端口,在交换机(A)中的编号为(1)-(6);(7)-(12)是交换机(B)的端口,在交换机(B)中的编号为(1)-(6);(13)-(16)是交换机(C)的端口,在交换机(C)中的编号为(1)-(4);(17)-(21)是交换机(D)的端口,在交换机(D)中的编号为(1)-(5);(22)-(37)是逻辑链路;(38)是短接链路。
图15是ISL封装IP包P格式的示意图。其中(A)是FLAG字段,4比特,值为二进制1111;(B)是保留字段RES,4比特,值为1111;(C)是EPID字段,24比特,前8比特位模式为00000010,表示交换机号2,后16比特位模式为0000000000000110,表示端口号6;(D)是IP包P;(E)是ISL。
下面以图14作为一个综合实施例说明HSNET的具体实施方式。
在图14中节点域间按层次结构组织。如(D1)是(D2)和(D3)的父节点,(D2)是(D4)和(D5)的父节点。节点域间用逻辑链路互连,如(22)、(23)是与(D1)相连的两条下行逻辑链路,在(D1)中编号分别为(13)和(22)。逻辑链路号由父节点域指定:如(D2)相连的上行逻辑链路编号为65535(由于上行逻辑链路号是固定的,图中没有标出它),(24)、(25)是两条下行逻辑链路,编号分别为(7)和(43);(26)、(27)是(D3)的两条下行逻辑链路,编号分别为(0)和(19);(28)是(D4)的一条下行逻辑链路,编号为(17);(29)、(30)是(D5)的两条下行逻辑链路,编号分别为(10)和(26);(31)是(D6)的一条下行逻辑链路,编号为(53;。(32)、(33)是(D7)的两条下行逻辑链路,编号分别为(11)和(23);(34)、(35)是(D8)的两条下行逻辑链路,编号分别为(7)和(15);(36)是(D9)的一条下行逻辑链路,编号为(14);(37)是(D10)的一条下行逻辑链路,编号为(26)。(38)是(D5)与(D6)间的短接逻辑链路,该短接逻辑链路在节点域(D5)中的编号为1088,在(D6)中的编号为2018。接入网(E)、(G)、(H)、(J)与底层节点域直接连接;其中接入网(F)采用多宿主接入方式,接入节点域(D7)、(D8);接入网(I)直接与HSNET高层节点域(D3)连接。
图14中详细给出了节点域(D5)的内部配置实施例。(D5)由四个交换机(A)、(B)、(C)、(D)组成,编号分别为(1)、(2)、(3)、(4),采用全互联的拓扑结构。与交换机(1)连接的有6条链路,其端口在交换机(1)中编号分别为(1)-(6)。其中与端口(1)、(2)、(6)相连的链路为外部链路;与端口(1)相连的链路是(D5)中编号为26的逻辑链路的一条物理链路;与端口(2)相连的链路是(D5)中编号为10的逻辑链路的一条物理链路;与端口(6)相连的链路是(D5)中编号为1088的短接链路的一条物理链路。与端口(3)、(4)、(5)相连的链路是内部链路,连接节点域内部的交换机。
在此实施例中,假定HSNET顶层节点的地址前缀为00111111:11111111:11111111/24,则在此地址空间下构造自己的层次式交换网络地址结构。根据层次式交换网络地址分配方法,下层节点域地址前缀是上层节点域地址前缀拼接上层节点域指派给下层节点域的逻辑链路号,前缀长度是上层节点域的前缀长度加上上层节点域交换字段长度之和。其中节点域的地址前缀表如表2所示:
地址前缀 交换字段 D1 00111111:11111111:11111111/24 24/8 D2 00111111:11111111:11111111:00001101/32 32/10 D3 00111111:11111111:11111111:00010110/32 32/8 D4 00111111:11111111:11111111:00001101:00000001:11/42 42/6 D5 00111111:11111111:11111111:00001101:00001010:11/42 42/8 D6 00111111:11111111:11111111:00010110:00010011/40 40/8 D7 00111111:11111111:11111111:00001101:00000001:11010001/48 48/8 D8 00111111:11111111:11111111:00001101:00001010:11000010:10/50 50/6 D9 00111111:11111111:11111111:00001101:00001010:11000110:10/50 50/6 D10 00111111:11111111:11111111:00010110:00010011:00110101/48 48/8
表2:节点域的地址前缀表
接入网地址前缀是其接入节点域地址前缀拼接该节点域指派给接入网的逻辑链路号,前缀长度是节点域的前缀长度加上节点域交换字段长度之和。接入网地址前缀表如表3所示:接入网 地址前缀E 00111111:11111111:11111111:00001101:00000001:11010001:00001011/56F(宿主D7) 00111111:11111111:11111111:00001101:00000001:11010001:00010111/56F(宿主D8) 00111111:11111111:11111111:00001101:00001010:11000010:10000111/56G 00111111:11111111:11111111:00001101:00001010:11000010:10001111/56H 00111111:11111111:11111111:00001101:00001010:11000110:10001110/56I(缺层) 00111111:11111111:11111111:00010110:00000000:00000000:00000000/56J 00111111:11111111:11111111:00010110:00010011:00110101:00011010/56
表3:接入网的地址前缀表
接入网内部主机地址的指派由接入网用户负责,一般有三部分组成:接入网地址前缀、SLA地址(8位)、和接口号(64位,为EUI-64格式)。
在图14所示综合实施例中,一个节点域基本层次式数据交换的实施例是:接入网(E)内的一台主机(M)与接入网(H)的一台主机(N)通信,这里主要分析数据包在(D5)的数据交换。
假定在(E),(M)的站点层域地址为7,接口号为EUI-64-M,则其地址IPM表示为00111111:11111111:11111111:00001101:00000001:11010001:00001011:00000111:EUI-64-M;在(H),(N)的站点层域地址地址为6,接口号为EUI-64-N,则其地址IPN表示为00111111:11111111:11111111:00001101:00001010:11000110:10001110:00000110:EUI-64-N。则主机(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得到两条外部链路;基于保证流内包次序的分布式负载平衡方法,使用指定的Hash函数,输入数据包(P)的源和目的IP地址计算Hash值,依据此Hash值查找逻辑链路号26对应的外部端口Hash表,得到目标外部端口,假定选择的外部链路的端口号为2/6。图5是ISL封装IP包P格式的示意图。其中(A)是FLAG字段,4比特,值为二进制1111;(B)是保留字段RES,4比特,值为1111;(C)是EPID字段,24比特,前8比特位模式为00000010,表示交换机号2,后16比特位模式为0000000000000110,表示端口号6;(D)是IP包P;(E)是ISL。
(7)交换机(3)对数据包进行ISL封装,封装格式如图5所示;封装后的包在节点域根据ISL标记查找内部转发表,由于目标D_SID为2,查得结果是从内部端口1将包送出,到达交换机2;在交换机2收到包后,知道应从自已的外部端口6发出,脱去ISL封装,将P发送到(D9);
(8)(D9)将包P发送到(H),到达主机(N),完成数据包P从(M)到(N)的发送。