CN108737263B - 数据中心系统及数据流处理方法 - Google Patents
数据中心系统及数据流处理方法 Download PDFInfo
- Publication number
- CN108737263B CN108737263B CN201710256744.3A CN201710256744A CN108737263B CN 108737263 B CN108737263 B CN 108737263B CN 201710256744 A CN201710256744 A CN 201710256744A CN 108737263 B CN108737263 B CN 108737263B
- Authority
- CN
- China
- Prior art keywords
- network
- server
- access layer
- layer network
- link
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种数据中心系统及数据流处理方法,其中一种系统包括:服务器,用于获取数据流,在预先设定的静态路由表中确定与数据流的目的地址一致且处于激活状态的各个网络链路,将所述数据流通过所述各个网络链路发送至各个接入层网络设备;其中,所述静态路由表中各个网络链路的目的地址缺省;接入层网络设备,用于接收服务器发送的数据流,并按数据流的目的地址发送数据流至核心层网络设备。本申请不再采用二层交换技术来实现多活接入技术,而是采用三层交换技术来多活接入技术,所以这样大大简化接入层网络设备的实现。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据中心系统及数据流处理方法。
背景技术
参见图1,数据中心系统分为多级网络设备:骨干层网络设备、核心层网络设备、接入层网络设备和服务器。为了提高服务器的网络可用率,往往需要服务器采用多活接入技术来接入接入层网络设备。多活接入技术,即实现多个端口可以同时转发流量和自动切换功能。
典型的多活接入技术为bond mode4方式。bond mode4方式利用服务器的LACP(Link Aggregation Control Protocol,链路动态汇聚控制)协议,将多个端口聚合为一个逻辑端口,从而来实现多个端口同时转发流量的目的。
为了配合服务器的bond mode4方式,与之物理相连的若干个接入层网络设备需要支持跨设备聚合技术,以便将若干个接入层网络设备聚合成一个逻辑网络设备,这样,服务器的多个端口聚合后的一个逻辑端口便可以与若干个接入层网络设备聚合后的一个逻辑网络设备对应。
如图1所示,服务器1具有端口T1和端口T2,端口T1和端口T2可以聚合成一个逻辑端口,服务器2具有端口T3和端口T4,端口T3和端口T4可以聚合成一个逻辑端口。接入层网络设备1和接入层网络设备2聚合成一个逻辑网络设备。典型的跨设备聚合技术有堆叠、vpc、mlag等。
由于目前多活接入技术中,接入层网络设备上需要使用跨设备聚合技术来聚合各个接入层网络设备,并使用同步技术来同步服务器的转发参数,这使得接入层网络设备的实现较为复杂,且,会影响接入层网络设备的稳定运行。
发明内容
本申请提供了一种数据中心系统及数据流处理方法,可以实现服务器的多端口多活接入技术接入接入层网络设备。
为了实现上述目的,本申请提供以下技术手段:
一种数据中心系统,包括:
服务器,用于获取数据流,在预先设定的静态路由表中确定与数据流的目的地址一致且处于激活状态的一个或多个网络链路,将所述数据流通过所述一个或多个网络链路发送至对应的一个或多个接入层网络设备;其中,所述静态路由表中的网络链路的目的地址缺省;若服务器与网络设备之间的网络的状态正常,则服务器与网络设备之间的链路状态处于激活状态;
接入层网络设备,用于接收服务器发送的数据流,并按数据流的目的地址发送数据流至核心层网络设备。
一种数据流处理方法,包括:
获取数据流;
在预先设定的静态路由表中确定与数据流的目的地址一致且处于激活状态的一个或多个网络链路;其中,所述静态路由表中网络链路的目的地址缺省;若服务器与网络设备之间的网络的状态正常,则服务器与网络设备之间的链路状态处于激活状态;
将所述数据流通过所述一个或多个网络链路发送至对应的一个或多个接入层网络设备。
可选的,所述网络链路还包括服务器的端口以及下一跳IP地址,所述下一跳IP地址为与该网络链路的端口对应的接入层网络设备的IP地址;
则所述将所述数据流通过所述一个或多个网络链路发送至对应的一个或多个接入层网络设备,包括:
确定一个或多个网络链路的端口和下一跳IP地址;
拆分所述数据流,获得与所述一个或多个端口数量一致的一个或多个子数据流;
将所述一个或多个子数据流分别通过一个或多个网络链路的端口,发送至一个或多个网络链路的下一跳IP地址对应的接入层网络设备。
可选的,所述拆分所述数据流,获得与一个或多个端口数量一致的一个或多个子数据流,包括:
基于HASH规则所述数据流,获得与所述一个或多个端口数量一致的一个或多个子数据流。
可选的,还包括:
检测与接入层网络设备对应的一个或多个网络链路的网络链路状态;
当网络链路的网络链路状态变更为异常状态,则设置该网络链路处于非激活状态,并设置所述静态路由表中该网络链路处于不可用状态;
当网络链路的网络链路状态变更为正常状态,则设置该网络链路处于激活状态,并设置所述静态路由表中该网络链路处于可用状态。
一种数据中心系统,包括:
核心层网络设备,用于接收数据流,基于数据流的目的地址在动态路由表中依据最长匹配原则进行匹配并获得匹配成功的一个或多个网络链路,将所述数据流通过所述一个或多个网络链路发送至一个或多个接入层网络设备;其中,所述动态路由表为接入层网络设备与服务器之间网络链路处于激活状态的网络链路;
接入层网络设备,用于接收所述核心层网络发送的数据流,在预先设定的静态路由表中确定与该数据流的目的地址一致且处于激活状态的一个或多个网络链路,将该数据流通过所述一个或多个网络链路发送至服务器;
服务器,用于接收并处理数据流。
一种数据流处理方法,包括:
接收核心层网络发送的数据流;
在预先设定的静态路由表中确定与该数据流的目的地址一致且处于激活状态的一个或多个网络链路;
将该数据流通过所述一个或多个网络链路发送至服务器。
可选的,还包括:
检测与一个或多个服务器对应的一个或多个网络链路的网络链路状态;
当网络链路的网络链路状态变更为异常状态,则设置该网络链路处于非激活状态,并所述静态路由表设置该网络链路处于不可用状态;
当网络链路的网络链路状态变更为正常状态,则设置该网络链路处于激活状态,并所述静态路由表设置该网络链路处于可用状态。
可选的,服务器与核心层网络设备上均使用BGP协议;
则在接入层网络设备检测到与一个服务器之间的网络链路处于非激活状态后,所述方法还包括:
基于BGP协议,向所述核心层网络设备共享该接入层网络设备与该服务器之间的网络链路处于非激活状态的信息,以便所述核心网网络设备在动态路由表中回收该接入层网络设备与该服务器之间的网络链路。
可选的,所述静态路由表包括多个网络链路,每个网络链路的目的地址为服务器的IP地址,下一跳IP地址为服务器的IP地址,端口为接入层网络设备的端口。
一种数据流处理方法,包括:
接收数据流;
基于数据流的目的地址,在动态路由表中依据最长匹配原则进行匹配并获得匹配成功的一个或多个网络链路;
将所述数据流通过所述一个或多个网络链路发送至一个或多个接入层网络设备;其中,所述动态路由表为接入层网络设备与服务器之间网络链路处于激活状态的网络链路。
可选的,还包括:
基于BGP协议,接收所述接入层网络设备发送的该接入层网络设备与服务器之间的网络链路处于非激活状态的信息;
在动态路由表中回收该接入层网络设备与该服务器之间的网络链路。
一种数据中心系统,包括:
核心层网络设备、与核心层网络设备相连的接入层网络设备和与接入层网络设备相连的服务器;
其中,所述接入层网络设备和所述服务器上设置有静态路由表,接入层网络设备和服务器之间,基于静态路由表通过三层交换技术实现数据交互。
通过以上技术手段,可以实现以下有益效果:
本申请不再采用二层交换技术来实现多活接入技术,而是采用三层交换技术来多活接入技术,所以服务器的多个端口无需再聚合成逻辑端口,同时,与服务器相连的若干个接入层网络设备也无需在使用跨设备聚合技术聚合成一个逻辑网络设备,并且,各个接入层网络设备也无需使用同步技术,来实现二层转发参数的数据同步,这样大大简化接入层网络设备的实现。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中数据中心系统的结构示意图;
图2为本申请的OSI模型的图示;
图3为本申请提供的数据中心系统的结构示意图;
图4为本申请提供的一种数据流处理方法的流程图;
图5为本申请提供的一种数据流处理方法的流程图。
具体实施方式
申请人在研究过程中发现:
在多活接入技术中,服务器通过逻辑网络向逻辑网络设备发送数据流量,逻辑网络设备(即若干个接入层网络设备)需要同时转发同一个服务器的数据流量。
目前,接入层网络设备在转发数据流量过程中使用二层转换技术(二层转换技术为OSI模型中数据链路层的转换技术),在使用二层转换技术过程中需要利用一些参数来实现数据流量转发过程。
因此,为了保证若干个接入层网络设备均可以转发服务器的数据流量,各个接入层网络设备需要采用同步技术来同步服务器的转发参数,以保证各个接入层网络设备上所存储服务器的转发参数的一致性。
由于目前多活接入技术中,接入层网络设备上需要使用跨设备聚合技术来聚合各个接入层网络设备,并使用同步技术来同步服务器的转发参数,这使得接入层网络设备的实现较为复杂,且,会影响接入层网络设备的稳定运行。
基于此,本申请提供了一种服务器多活接入方法及数据中心系统,可以实现服务器的多端口多活接入技术接入接入层网络设备。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
技术解释:
OSI(Open System Interconnection,OSI/RM,Open Systems InterconnectionReference Model)模型,即开放式通信系统互联参考模型,是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OSI。
三层交换技术:三层交换(也称多层交换技术,或IP交换技术)是相对于传统交换概念而提出的。众所周知,传统的交换技术是在OSI网络标准模型中的第二层——数据链路层进行操作的,而三层交换技术是在网络模型中的第三层实现了数据包的高速转发。简单地说,三层交换技术就是:二层交换技术+三层转发技术。
网络设备:连接到网络中的物理实体。基本的网络设备有:计算机(无论其为个人电脑或服务器)、集线器、交换机、网桥、路由器、网关、网络接口卡(NIC)、无线接入点(WAP)、打印机和调制解调器。
骨干层网络设备:几台计算机连接起来,互相可以看到其他人的文件,这叫局域网,整个城市的计算机都连接起来,就是城域网,把城市之间连接起来的网就叫骨干网;将构建骨干网的网络设备,称为骨干层网络设备。
核心层网络设备:构建核心层的网络设备,其中核心层主要用于实现骨干网络之间的优化传输,骨干层设计任务的重点通常是冗余能力、可靠性和高速的传输。网络的控制功能最好尽量少在骨干层上实施。核心层一直被认为是所有流量的最终承受者和汇聚者,所以对核心层的设计以及网络设备的要求十分严格。
接入层网络设备:接入层目的是允许终端用户连接到网络,因此接入层交换机具有低成本和高端口密度特性。接入交换机是最常见的交换机,它直接与外网联系,使用最广泛,尤其是在一般办公室、小型机房和业务受理较为集中的业务部门、多媒体制作中心、网站管理中心等部门。在传输速度上,现代接入交换机大都提供多个具有10M/100M/1000M自适应能力的端口。
下一跳:路由的下一个点。如果路由器没有直接连接到目的网络,它会提供一个邻居路由器以将数据发送至邻居路由器上,邻居路由器再发送数据至邻居路由器,从而实现传递数据到目的网络。
LLDP:链路层发现协议(Link Layer Discovery Protocol)。它提供一种标准的链路层发现方式,可以将本端设备的主要能力、管理地址、设备标识、接口标识等信息封装在链路层发现协议数据单元中,发布给与自己直连的邻居。邻居设备收到这些信息后将其以标准形式保存起来,以供网络管理系统查询及判断链路的通信状况。
静态路由表:网络设备存储静态路由的表格。
静态路由:目的网段、网络设备的出接口和下一跳的IP地址。
静态路由表:网络设备存储动态路由的表格。
动态路由:是与静态路由相对的一个概念,指路由器能够根据路由器之间的交换的特定路由信息自动地建立自己的路由表,并且能够根据链路和节点的变化适时地进行自动调整。当网络中节点或节点间的链路发生故障,或存在其它可用路由时,动态路由可以自行选择最佳的可用路由并继续转发报文。
下一跳IP地址:网络设备的邻接路由设备的IP地址。
网络链路状态:两个网络设备之间的网络链路的状态。
激活状态:两个网络设备之间的网络的状态正常,则两个设备之间的链路状态处于激活状态,此时两个网络设备之间可以传输数据。
非激活状态:两个网络设备之间的网络的状态异常,则两个设备之间的链路状态处于非激活状态,此时两个网络设备之间不可以传输数据。
BGP:边界网关协议,Border Gateway Protocol。BGP是运行于TCP上的一种自治系统的路由协议。BGP是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。
ECMP:Equal-CostMultipathRouting,等值多路径路由协议。ECMP存在多条不同链路到达同一目的地址的网络环境中,等值多路径路由协议可以在该网络环境下同时使用多条链路,不仅增加传输带宽,并且可以无时延无丢包地备份失效链路的数据传输。
最长匹配原则:是指IP网络中,当路由表中有多条条目可以匹配目的IP地址时,一般就采用掩码最长(最精确)的一条作为匹配项并确定下一跳。
在数据中心系统中每个网络设备均使用七层OSI模型,参见图2,为OSI模型的示意图。其中,第一层为物理层、第二层为数据链路层,第三层为网络层,网络层用于实现路由转发。后续四层不再赘述。
现有技术中接入层网络设备与服务器采用二层交换技术来实现多活接入技术,(即在OSI模型的数据链路层实现多活接入技术)具有诸多问题。因此,本申请不再采用二层交换技术来实现多活接入技术,而是采用三层交换技术来多活接入技术。
三层交换技术为在OSI模型的第三层(网络层)来实现数据转发的技术。在网络层采用路由转发技术,所以三层交换技术为路由转发技术。
由于三层交换技术会使用路由转发技术不会使用二层转发技术,所以服务器的多个端口无需再聚合成逻辑端口,同时,与服务器相连的若干个接入层网络设备也无需在使用跨设备聚合技术聚合成一个逻辑网络设备,并且,各个接入层网络设备也无需使用同步技术,来实现二层转发参数的数据同步,这样大大简化接入层网络设备的实现。
为了便于本领域技术人员了解本申请的应用场景,根据本申请的一个实施例提供一种数据中心系统。参见图3,数据中心系统具体包括:骨干层网络设备100、核心层网络设备200、接入层网络设备300和服务器400。
图示中以两个服务器400和两个接入层网络设备300为例进行示意性说明。可以理解的是,接入层网络设备300和服务器400的数量可以根据实际情况而定,在此不做限定。
其中,每个骨干层网络设备100与各个核心层网络设备200相连,每个核心层网络设备200与各个接入层网络设备300相连,每个接入层网络设备300与各个服务器400相连,从而实现相邻两层的设备的互联。
三层交换技术(路由技术)具有动态路由技术和静态路由技术,本申请在接入层网络设备300和服务器400之间采用静态路由技术来实现多活接入。为了实现静态路由技术,可以在接入层网络设备300和服务器400中构建静态路由表。
首先说明服务器400中的静态路由表:
在数据中心系统中,每个服务器400均具有多个端口,每个端口与一台接入层网络设备300的端口相连。这样服务器400与接入层网络设备300之间便组建有网络链路。
服务器400可以获取自身上各个端口的端口标识,和,各个端口相连的接入层网络设备300的网络地址,然后利用端口标识和与端口标识对应的网络地址构建静态路由表。
以一个服务器1为例,假设服务器1上具有两个端口T1和T2,两个端口分别连接两个接入层网络设备1和接入层网络设备2,假设两个接入层网络设备的网络地址分别为172.16.1.1和172.16.2.1,则服务器1上存储的静态路由表如表1所示。
表1
需要说明的是,服务器400中的静态路由表在服务器400向接入层网络设备300转发数据时使用,为了在多活接入技术中实现服务器可以通过各个端口向接入层网络设备转发数据的技术,服务器400上静态路由表中各个目的网段均为缺省。
下面说明接入层网络设备300上构建静态路由表的过程:
在数据中心系统中,接入层网络设备300具有多个端口,其中一部分端口与服务器端口相连,一部分端口与核心层网络设备相连。
接入层网络设备300可以获取自身的与服务器相连的各个端口标识,和,各个端口相连的服务器的环路地址(又称Loopback地址),然后构建静态路由表。
以一个接入层网络设备为例,假设接入层网络设备1与服务器相连的两个端口分别为E1和E2,两个端口分别连接服务器1和服务器2。两台服务器的网络地址分别为172.15.1.1和172.15.2.1,则接入层网络设备1的静态路由表参见表2所示。
表2
需要说明的是,接入层网络设备400中的静态路由表在接入层网络设备300向服务器300转发数据时使用。
一个服务器400与一个接入层网络设备300之间具有一条网络链路。在使用路由转发技术的过程中,需要检测下一跳是否可达。即,在服务器400向接入层网络设备300发送数据时,需判断数据是否可以到达接入层网络设备300(下一跳);同理,在接入层网络设备300向服务器400发送数据时,需要判断数据是否可以到达服务器400(下一跳)。
通常情况下,通过接入层网络设备300与服务器400之间的网络链路是否正常来确定下一跳是否可达(若网络链路正常则表示下一跳可达,否则下一跳不可达)。关于获知网络链路状态的过程已经为成熟技术,在此不再赘述。
可以理解的是,一条网络链路对应服务器400的一个端口,同时也对应接入层网络设备300的一个端口,为了实现路由转发技术,将一条网络链路的链路状态(正常或不正常)与分别与服务器400中的静态路由表中的端口和接入层网络设备300中的端口进行关联。
若服务器400与接入层网络设备300之间的一条网络链路正常,则该网络链路对应为激活状态,则在静态路由表中与之对应的端口处同步该网络链路为激活状态。
反之,若服务器400与该接入层网络设备300之间的网络链路不正常,则该网络链路为非激活状态,则在静态路由表中与之对应的端口处同步该网络链路为非激活状态。
参见表3,以服务器1的静态路由表为例,来说明各个端口的网络链路状态。
表3
参见表4,以接入层网络设备1为例,来说明各个端口的网络链路状态。
表4
通常情况下,在静态路由表中当一个端口对应的网络链路状态为非激活状态时,静态路由表中该端口对应的网络链路处于不可用或不显示状态,以避免采用非激活状态的网络链路。
可以理解的是,在数据中心系统中数据流转发有两个方向:
一个方向为数据由骨干层网络设备100/核心层网络设备200向下传输到服务器400的过程。另一个方向为数据由服务器400向上传输至骨干层网络设备100/核心层网络设备200的过程。
首先,介绍服务器400向上发送数据流的过程。
根据本申请的一个实施例,提供一种数据流处理方法。参见图4,具体包括以下步骤:
步骤S401:服务器400获取数据流,在预先设定的静态路由表中确定与数据流的目的地址一致且处于激活状态的各个网络链路。
服务器400在获取数据流后,首先在预先设定的静态路由表中确定出与数据流目的地址一致的网络链路,由于预先设定的静态路由表的目的网段缺省,所以可以只在预先设定的静态路由表中确定处于激活状态的网络链路。参见表3,服务器400在静态路由表中确定处于激活状态端口T1和端口T2对应的网络链路。静态路由表中目的网段为缺省,所以,服务器400可以既可以使用端口T1又可以使用端口T2来转发数据流。
步骤S402:服务器400将所述数据流通过所述各个网络链路发送至各个接入层网络设备。
本步骤具体可以分为以下三个步骤:
第一,确定各个网络链路的端口和下一跳IP地址。
网络链路除了包括目的网段(目的地址)之外,还包括:服务器的端口以及下一跳IP地址。所述下一跳IP地址为与该网络链路的端口对应的接入层网络设备的IP地址。
服务器400可以获取端口T1以及与端口T1对应的下一跳IP地址,并获取端口T2以及与端口T2对应的下一跳IP地址。
第二,拆分所述数据流,获得与各个端口数量一致的各个子数据流。
根据本申请的一个实施例,在端口T1和端口T2进行数据分发时,可以基于HASH规则来分配数据流,这样可以将服务器400上的数据流尽量均匀地分配给端口T1和端口T2,以便两个端口转发的数据量尽量一致。这样可以尽可能地提高两个端口的利用率。
第三,将所述各个子数据流分别通过各个网络链路的端口,发送至各个网络链路的下一跳IP地址对应的接入层网络设备。
服务器400可以将数据流在端口T1和端口T2之间进行分发,以便将数据流通过端口T1对应的网络链路和端口T2对应的网络链路,发送至下一跳IP地址对应的接入层网络设备。步骤S403:接入层网络设备300收到数据流后,按照数据流的目的地址转发数据流至核心层网络设备200。
接入层网络设备300在接收数据流后,根据数据流的目的地址计算动态路由,并通过动态路由转发数据流至核心层网络设备200。
根据申请的一个实施例,接入层网络设备300,可以并按照ECMP协议,通过各个动态路由转发数据流至核心层网络设备200。
步骤S404:核心层网络设备200在接收数据包后,按照数据流的目的地址转发数据流至骨干层网络设备100。
核心层网络设备200上也使用动态路由,核心层网络设备200根据数据流中的目的地址计算动态路由,并根据动态路由发送数据流到骨干层网络设备100,从而完成数据由服务器400发送至骨干层网络设备100的目的。
本实施例中服务器400通过静态路由表,来实现转发数据流至接入层网络设备300的过程,在三层交换技术上实现了服务器400转发数据流至接入层网络设备300的过程。
下面介绍骨干层网络设备100向下发送数据流至服务器400的过程。
在现有技术中,多个接入层网络设备300利用跨设备聚合技术聚合为一个逻辑网络设备。当逻辑网络设备中一个接入层网络设备300与服务器400之间的网络链路出现故障无法转发数据流至服务器400时,逻辑网络设备中的策略可以选用其它接入层网络设备300来转发数据流至服务器400。
本申请在不使用跨设备聚合技术后,为了在接入层网络设备300出现故障时仍可以实现自动切换网络链路的功能,本申请对核心层网络设备200和接入层网络设备300上进行路由设计。
对于每个接入层网络设备300而言:
参见表4,接入层网络设备300上具有静态路由表,静态路由表中具有与各个服务器400对应的网络链路的网络链路状态。详见前述内容,在此不再赘述。
此外,接入层网络设备300内部运行有BGP协议,接入层网络设备300可以将与服务器400对应的静态路由发布到BGP协议中。
例如,以接入层网络设备1为例,接入层网络设备1可以将服务器1(下一跳IP地址为172.15.1.1)对应的静态路由,以及,将服务器2(下一跳IP地址为172.15.2.1)对应的静态路由发布到BGP协议中。
当一个接入层网络设备300与服务器400之间的网络链路故障后,该服务器对应的静态路由变为非激活状态,此时,BGP协议会回收静态路由表中与服务器对应的静态路由。
例如,当接入层网络设备1与服务器1之间的网络链路出现故障,则服务器1(下一跳IP地址为172.15.1.1)对应的静态路由变为非激活状态。BGP协议会回收静态路由表中与服务器1对应的静态路由。
回收后的静态路由处于不可用状态,可选的,不可用状态的一种表示为在静态路由表中不显示该静态路由。
参见表5,为接入层网络设备1回收服务器1对应的静态路由后的静态路由表(只剩余服务器2对应的静态路由)。
表5
对于核心层网络设备200而言:
核心层网络设备上使用动态路由,并具有动态路由表。参见表6,为在图3所示系统各个接入层网络设备均正常的情况下,核心层网络设备200上的动态路由表。
表6
核心层网络设备200上也运行有BGP协议,接入层网络设备300和核心层网络设备200之间可以基于BGP协议进行路由信息交换。
当接入层网络设备300上一个与服务器对应的静态路由变为非激活状态后,基于BGP协议,接入层网络设备300与核心层网络设备200进行路由交换,使得核心层网络设备200上也会回收该接入层网络设备对应的路由。
例如,参见表5,当接入层网络设备1与服务器1之间的网络链路出现故障后,则说明接入层网络设备1无法再向服务器1发送数据。因此,核心层网络设备300基于BGP协议也会回收动态路由表中目的地址为服务器1且下一跳IP地址为接入层网络设备1的动态路由。
参见表7,为核心层网络设备200回收动态路由后的动态路由表。
由于核心层网络设备200上与服务器1的目的地址对应的接入层网络设备的动态路由已经不可用,所以核心层网络设备在向服务器1发送数据时,便不会发送至接入层网络设备1。
根据本申请的另一个实施例,提供一种数据流处理方法。参见图5,具体包括以下步骤:
步骤S501:骨干层网络设备100发送数据流到核心层网络设备200。
骨干层网络设备具有以服务器的汇总地址为目的地址,以核心层网络设备为下一跳IP地址的动态路由。
骨干层网络设备100根据数据流的目的地址计算动态路由,并根据动态路由发送数据动态路由对应的核心层网络设备200。由于骨干层网络设备100上存储的为服务器的汇总地址而不是环路地址(汇总地址数量远远小于环路地址的数量),所以在计算动态路由时可以大大减少计算量。
步骤S502:核心层网络设备200接收数据流,基于数据流的目的地址,在动态路由表中依据最长匹配原则进行匹配并获得匹配成功的各个网络链路,并将所述数据流通过所述各个网络链路发送至各个接入层网络设备300。
核心层网络设备200具有目的地址为服务器的环路地址,下一跳IP地址为接入层网络设备的动态路由。核心层网络设备基于数据的目的地址并根据最长匹配原则命中动态路由,获得动态路由对应的接入层网络设备300,发送数据到接入层网络设备300。
为了获得准确的接入层网络设备,采用最长匹配原则来获得掩码最长(最精确)的一条作为匹配项,并确定下一跳IP地址。
例如,以路由表中为下述三个路由为例:
序号 | 目的地址.掩码地址 |
1 | 1.2.3.4.255.255.255.255 |
2 | 1.2.3.0.255.255.255.0 |
3 | 1.2.0.0.255.255.0.0 |
这以上三个路由的目的地址均包含“1.2.3.4”,在采用最长匹配原则计算动态路由时,基于最长匹配原则是选择具有最长(最精确)的子网掩码,所以会选择第一条路由,作为下一跳。
由于核心层网络设备200的动态路由均为处于可用状态的动态路由(基于BGP协议不可用的动态路由会被回收),即,动态路由对应的接入层网络设备300与服务器400之间的网络链路是正常的,所以,可以保证数据发送至动态路由对应的接入层网络设备300后,可以保证数据可以正常发送至服务器400。
例如,正常情况下,接入层网络设备1和接入层网络设备2都可以与服务器进行数据交互。当接入层网络设备1检测到与服务器400的连接超时,则说明接入层网络设备1暂时无法与服务器400进行数据交互,接入层网络设备1对应的静态路由会被设置为非激活状态(Inactive)。
核心层网络设备200上刷新路由,原本去往服务器400的数据可以路由到接入层网络设备1和接入层网络设备2。由于接入层网络设备1回收路由,对应核心层网络设备200上也会回收路由,只剩下到接入层网络设备2的路由,这样数据只会转发到接入层网络设备2上。
步骤S503:接入层网络设备300接收数据流,并根据静态路由表发送数据至服务器400。
接入层网络设备300接收数据流,并根据数据流中的目的地址在静态路由表中进行匹配,并获得匹配成功的网络链路的端口下一跳IP地址。然后,通过端口向下一跳IP地址(即服务器的IP地址)发送数据流。
步骤S504:服务器400接收并处理数据流。
本申请在不使用跨设备聚合技术后,通过在核心层网络设备200和接入层网络设备300上进行路由设计并通过BGP协议实现路由交换,因此可以在接入层网络设备300与服务器400之间网络链路出现故障时,可以实现自动切换网络链路的功能。
在上述实施例中步骤S501中骨干层网络设备100预先可以获取服务器的汇总地址,其执行过程可以为:
各个接入层网络设备300会获取与之相连的各个服务器400的环路地址(Loopback地址或称明细地址)并将各个服务器400的环路地址进行汇总得到一个汇总地址。
参见表2,以接入层网络设备1为例,接入层网络设备300在获取服务器1的环路地址172.15.1.1和服务器2的环路地址172.15.2.1后,将两个服务器的环路地址汇总得到一个汇总地址172.15.1.0。
核心层网络设备200获取与之相连的各个接入层网络设备300的环路地址,以及,与该接入层网络设备相连的各个服务器的环路地址和汇总地址。并将各个服务器的汇总地址和核心层网络设备的地址发送至骨干层网络设备100。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种数据中心系统,其特征在于,包括:
服务器,用于获取数据流,在预先设定的静态路由表中确定与数据流的目的地址一致且处于激活状态的一个或多个网络链路;
接入层网络设备,用于接收所述服务器通过所述一个或多个网络链路发送的数据流;以及
核心网络层网络设备,用于接收所述接入层网络设备通过动态路由按数据流的目的地址发送的数据流,
其中,所述静态路由表中的网络链路的目的地址缺省;若服务器与所述接入层网络设备之间的网络的状态正常,则服务器与所述接入层网络设备之间的链路状态处于激活状态,
其中,所述静态路由表包括所述网络链路对应的服务器的端口以及下一跳IP地址,所述下一跳IP地址为与该网络链路对应的接入层网络设备的IP地址,
其中,所述服务器确定一个或多个网络链路的端口和下一跳IP地址。
2.一种数据流处理方法,其特征在于,包括:
服务器获取数据流;
所述服务器在预先设定的静态路由表中确定与数据流的目的地址一致且处于激活状态的一个或多个网络链路;其中,所述静态路由表中网络链路的目的地址缺省;若所述服务器与接入层网络设备之间的网络的状态正常,则所述服务器与所述接入层网络设备之间的链路状态处于激活状态;
所述服务器将所述数据流通过所述一个或多个网络链路发送至对应的一个或多个接入层网络设备,并且,所述接入层网络设备通过动态路由按数据流的目的地址发送数据流至核心层网络设备,
其中,所述静态路由表包括所述网络链路对应的服务器的端口以及下一跳IP地址,所述下一跳IP地址为与该网络链路对应的接入层网络设备的IP地址,
其中,所述服务器将所述数据流通过所述一个或多个网络链路发送至对应的一个或多个接入层网络设备的步骤包括:确定一个或多个网络链路的端口和下一跳IP地址。
3.如权利要求2所述的方法,其特征在于, 还包括:
所述服务器拆分所述数据流,获得与一个或多个端口数量一致的一个或多个子数据流;
所述服务器将所述一个或多个子数据流分别通过一个或多个网络链路的端口,发送至一个或多个网络链路的下一跳IP地址对应的接入层网络设备。
4.如权利要求3所述的方法,其特征在于,所述服务器拆分所述数据流,获得与一个或多个端口数量一致的一个或多个子数据流,包括:
所述服务器基于HASH规则来分配所述数据流,获得与所述一个或多个端口数量一致的一个或多个子数据流。
5.如权利要求2所述的方法,其特征在于,还包括:
所述服务器检测与接入层网络设备对应的一个或多个网络链路的网络链路状态;
当网络链路的网络链路状态变更为异常状态,则所述服务器设置该网络链路处于非激活状态,并设置所述静态路由表中该网络链路处于不可用状态;
当网络链路的网络链路状态变更为正常状态,则所述服务器设置该网络链路处于激活状态,并设置所述静态路由表中该网络链路处于可用状态。
6.一种数据中心系统,其特征在于,包括:
核心层网络设备,用于接收数据流,基于数据流的目的地址在动态路由表中依据最长匹配原则进行匹配并获得匹配成功的一个或多个网络链路,
一个或多个接入层网络设备,所述接入层网络设备用于接收所述核心层网络设备通过所述一个或多个网络链路发送的数据流;以及
服务器,用于接收并处理所述接入层网络设备通过所述一个或多个网络链路发送的数据流,
其中,所述动态路由表包括接入层网络设备与服务器之间网络链路处于激活状态的网络链路,所述动态路由表不包括接入层网络设备与服务器之间网络链路处于非激活状态的网络链路;
其中,所述接入层网络设备在预先设定的静态路由表中确定与该数据流的目的地址一致且处于激活状态的一个或多个网络链路,
其中,所述静态路由表包括激活状态的网络链路、每个网络链路对应的下一跳IP地址和端口,每个网络链路对应的下一跳IP地址为服务器的IP地址,端口为接入层网络设备的端口,所述静态路由表不包括非激活状态的网络链路,
其中,所述静态路由表中的网络链路的目的地址缺省,
其中,当网络链路的网络链路状态为正常状态,则所述接入层网络设备设置该网络链路处于激活状态,并所述静态路由表设置该网络链路处于可用状态。
7.一种数据流处理方法,其特征在于,包括:
接入层网络设备接收核心层网络设备发送的数据流,其中,所述核心层网络设备基于数据流的目的地址在动态路由表中依据最长匹配原则进行匹配并获得匹配成功的一个或多个网络链路,其中,所述动态路由表包括接入层网络设备与服务器之间网络链路处于激活状态的网络链路,所述动态路由表不包括接入层网络设备与服务器之间网络链路处于非激活状态的网络链路;
所述接入层网络设备接收所述核心层网络设备通过所述一个或多个网络链路发送的数据流;
所述接入层网络设备在预先设定的静态路由表中确定与该数据流的目的地址一致且处于激活状态的一个或多个网络链路;以及
所述接入层网络设备将该数据流通过所述一个或多个网络链路发送至服务器,
其中,所述静态路由表包括激活状态的网络链路、每个网络链路对应的下一跳IP地址和端口,每个网络链路对应的下一跳IP地址为服务器的IP地址,端口为接入层网络设备的端口,所述静态路由表不包括非激活状态的网络链路,
其中,所述静态路由表中的网络链路的目的地址缺省,
其中,当网络链路的网络链路状态为正常状态,则所述接入层网络设备设置该网络链路处于激活状态,并所述静态路由表设置该网络链路处于可用状态。
8.如权利要求7所述的方法,其特征在于,还包括:
所述接入层网络设备检测与一个或多个服务器对应的一个或多个网络链路的网络链路状态;
当网络链路的网络链路状态变更为异常状态,则所述接入层网络设备设置该网络链路处于非激活状态,并所述静态路由表设置该网络链路处于不可用状态。
9.如权利要求8所述的方法,其特征在于,服务器与核心层网络设备上均使用BGP协议;
则在接入层网络设备检测到与一个服务器之间的网络链路处于非激活状态后,所述方法还包括:
基于BGP协议,所述接入层网络设备向所述核心层网络设备共享该接入层网络设备与该服务器之间的网络链路处于非激活状态的信息,以便所述核心层网络设备在动态路由表中回收该接入层网络设备与该服务器之间的网络链路。
10.一种数据流处理方法,其特征在于,包括:
核心层网络设备接收数据流;
所述核心层网络设备基于数据流的目的地址,在动态路由表中依据最长匹配原则进行匹配并获得匹配成功的一个或多个网络链路;
所述核心层网络设备将所述数据流通过所述一个或多个网络链路发送至一个或多个接入层网络设备;其中,所述动态路由表包括接入层网络设备与服务器之间网络链路处于激活状态的网络链路,所述动态路由表不包括接入层网络设备与服务器之间网络链路处于非激活状态的网络链路;
其中,所述接入层网络设备在预先设定的静态路由表中确定与该数据流的目的地址一致且处于激活状态的一个或多个网络链路,
其中,所述静态路由表包括激活状态的网络链路、每个网络链路对应的下一跳IP地址和端口,每个网络链路对应的下一跳IP地址为服务器的IP地址,端口为接入层网络设备的端口,所述静态路由表不包括非激活状态的网络链路,
其中,所述静态路由表中的网络链路的目的地址缺省,
其中,当网络链路的网络链路状态为正常状态,则所述接入层网络设备设置该网络链路处于激活状态,并所述静态路由表设置该网络链路处于可用状态。
11.如权利要求10所述的方法,其特征在于,还包括:
所述核心层网络设备基于BGP协议,接收所述接入层网络设备发送的该接入层网络设备与服务器之间的网络链路处于非激活状态的信息;
所述核心层网络设备在动态路由表中回收该接入层网络设备与该服务器之间的网络链路。
12.一种数据中心系统,其特征在于,包括实现如权利要求10或11所述的方法的以下元件:
核心层网络设备、与核心层网络设备相连的接入层网络设备和与接入层网络设备相连的服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710256744.3A CN108737263B (zh) | 2017-04-19 | 2017-04-19 | 数据中心系统及数据流处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710256744.3A CN108737263B (zh) | 2017-04-19 | 2017-04-19 | 数据中心系统及数据流处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108737263A CN108737263A (zh) | 2018-11-02 |
CN108737263B true CN108737263B (zh) | 2021-10-15 |
Family
ID=63925287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710256744.3A Active CN108737263B (zh) | 2017-04-19 | 2017-04-19 | 数据中心系统及数据流处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108737263B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859377A (zh) * | 2005-11-17 | 2006-11-08 | 华为技术有限公司 | 一种基于链路层协议维护静态路由的方法 |
CN102752209A (zh) * | 2012-07-09 | 2012-10-24 | 杭州华三通信技术有限公司 | 实现备份服务的地址快速切换方法及路由转发设备 |
CN104506614A (zh) * | 2014-12-22 | 2015-04-08 | 国家电网公司 | 一种基于云计算的分布式多活数据中心的设计方法 |
CN104796346A (zh) * | 2014-01-16 | 2015-07-22 | 中国移动通信集团公司 | 一种实现l3vpn业务负载分担的方法、设备及系统 |
CN105610555A (zh) * | 2016-02-19 | 2016-05-25 | 北京宇航系统工程研究所 | 一种实用的系统级冗余通信网络架构 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8126509B2 (en) * | 2008-08-01 | 2012-02-28 | Mediatek Inc. | Methods for handling packet-switched data transmissions by mobile station with subscriber identity cards and systems utilizing the same |
CN102006233B (zh) * | 2010-11-29 | 2015-08-12 | 中兴通讯股份有限公司 | 路由选路方法及装置 |
US9407547B2 (en) * | 2013-12-13 | 2016-08-02 | Cisco Technology, Inc. | Fibre channel over ethernet (FCoE) over virtual port channel (vPC) |
CN104202266B (zh) * | 2014-08-04 | 2017-06-23 | 福建星网锐捷网络有限公司 | 一种通信方法、交换机、控制器及通信系统 |
CN105471743A (zh) * | 2014-08-19 | 2016-04-06 | 西安慧泽知识产权运营管理有限公司 | 一种ip数据通信设备中硬件多级路由表的管理方法 |
CN105490957B (zh) * | 2014-10-11 | 2019-05-03 | 华为技术有限公司 | 一种负载分担方法及装置 |
-
2017
- 2017-04-19 CN CN201710256744.3A patent/CN108737263B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859377A (zh) * | 2005-11-17 | 2006-11-08 | 华为技术有限公司 | 一种基于链路层协议维护静态路由的方法 |
CN102752209A (zh) * | 2012-07-09 | 2012-10-24 | 杭州华三通信技术有限公司 | 实现备份服务的地址快速切换方法及路由转发设备 |
CN104796346A (zh) * | 2014-01-16 | 2015-07-22 | 中国移动通信集团公司 | 一种实现l3vpn业务负载分担的方法、设备及系统 |
CN104506614A (zh) * | 2014-12-22 | 2015-04-08 | 国家电网公司 | 一种基于云计算的分布式多活数据中心的设计方法 |
CN105610555A (zh) * | 2016-02-19 | 2016-05-25 | 北京宇航系统工程研究所 | 一种实用的系统级冗余通信网络架构 |
Also Published As
Publication number | Publication date |
---|---|
CN108737263A (zh) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2449735B1 (en) | Inter-node link aggregation method and node | |
WO2018077238A1 (zh) | 一种基于交换机的负载均衡系统及方法 | |
US8817593B2 (en) | Method and apparatus providing failover for a point to point tunnel for wireless local area network split-plane environments | |
EP2911348B1 (en) | Control device discovery in networks having separate control and forwarding devices | |
EP3399703B1 (en) | Method for implementing load balancing, apparatus, and network system | |
US8514743B2 (en) | Maintaining balance of active links across network devices in a double-sided virtual port-channel environment | |
US8861338B2 (en) | Routed split multilink trunking for IPv6 | |
US9515927B2 (en) | System and method for layer 3 proxy routing | |
US20140369230A1 (en) | Virtual Chassis Topology Management | |
EP2918049B1 (en) | Virtual chassis system control protocols | |
US8446818B2 (en) | Routed split multi-link trunking resiliency for wireless local area network split-plane environments | |
CN111083061B (zh) | 一种确定组播流的df的方法、设备及系统 | |
CN101562576B (zh) | 一种路由发布方法和设备 | |
US20220124033A1 (en) | Method for Controlling Traffic Forwarding, Device, and System | |
CN111355668B (zh) | 转发路径的确定方法、交换机和存储介质 | |
Lei et al. | Multipath routing in SDN-based data center networks | |
CN108289044B (zh) | 数据转发方法、确定静态路由的链路状态方法及网络设备 | |
CN107770061B (zh) | 转发报文的方法及转发设备 | |
CN109286563B (zh) | 一种数据传输的控制方法和装置 | |
CN1787475B (zh) | 接入网络系统及移动内部网络中继设备的方法 | |
EP4325800A1 (en) | Packet forwarding method and apparatus | |
CN108737263B (zh) | 数据中心系统及数据流处理方法 | |
JP2008054214A (ja) | ネットワーク仮想化システム及びネットワーク仮想化プログラム | |
CN113595915A (zh) | 转发报文的方法及相关设备 | |
CN111885630A (zh) | 数据传输方法及通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |