数据传输方法及系统与流程

文档序号:11206082阅读:912来源:国知局
数据传输方法及系统与流程

本发明涉及互联网技术领域,尤其涉及一种数据传输方法及系统。



背景技术:

虚拟路由冗余协议(virtualrouterredundancyprotocol,vrrp)是一种选择协议,广泛应用在边缘网络中。vrrp将局域网内的一组路由器(包括一个主路由器和若干个备份路由器)组织成一个虚拟路由器,称之为备份组。备份组内的路由器开启vrrp功能后,根据优先级确定自己的主备份角色,优先级高的为主路由器,并在主路由器发生故障之前,保持主路由器工作,其他路由器不工作。

然而,在一个备份组中仅保持一台主路由器工作容易造成带宽浪费。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种数据传输方法,以使vrrp路由器均以主路由器的身份同时工作,达到增加带宽的目的,解决现有技术中带宽浪费的技术问题。

本发明的第二个目的在于提出一种数据传输系统。

为达上述目的,本发明第一方面实施例提出了一种数据传输方法,包括:

第一路由设备与第二路由设备进行虚拟路由冗余协议协商;

在所述第一路由设备与所述第二路由设备协商失败时,所述第一路由设备和所述第二路由设备均设置成主设备状态;

所述第一路由设备和所述第二路由设备在所述主设备状态下同时工作。

本发明实施例的数据传输方法,通过第一路由设备和第二路由设备进行虚拟路由冗余协议协商,在协商失败时,第一路由设备和第二路由设备均设置成主设备状态,第一路由设备和第二路由设备在主设备状态下同时工作。通过将路由设备均设置为主设备状态同时工作,能够增加带宽,同时实现设备备份功能,提高网络可靠性。

为达上述目的,本发明第二方面实施例提出了一种数据传输系统,包括:

第一路由设备和第二路由设备;

所述第一路由设备,用于与第二路由设备进行虚拟路由冗余协议协商,在协商失败时将自身设置成主设备状态,并与所述第二路由设备在所述主设备状态下同时工作;所述第二路由设备,用于与所述第一路由设备进行虚拟路由冗余协议协商,在协商失败时将自身设置成主设备状态,并与所述第一路由设备在所述主设备状态下同时工作。

本发明实施例的数据传输系统,通过设置第一路由设备和第二路由设备,第一路由设备和第二路由设备进行虚拟路由冗余协议协商,在协商失败时,第一路由设备和第二路由设备均将自身设置成主设备状态,第一路由设备和第二路由设备在主设备状态下同时工作。通过将路由设备均设置为主设备状态同时工作,能够增加带宽,同时实现设备备份功能,提高网络可靠性。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为传统vrrp协议的工作拓扑图;

图2为本发明一实施例提出的数据传输方法的流程示意图;

图3为根据本发明实施例的vrrp协议工作拓扑图;

图4为本发明另一实施例提出的数据传输方法的流程示意图;

图5为本发明再一实施例提出的数据传输方法的流程示意图;

图6为本发明又一实施例提出的数据传输方法的流程示意图;

图7为本发明一实施例提出的数据传输系统的结构示意图;

图8为本发明另一实施例提出的数据传输系统的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的数据传输方法及系统。

vrrp协议作为一种选择协议,能够避免ip数据流量失败转移引起混乱,允许主机使用单路由设备,并在第一跳路由器发生故障的情况下仍能保持路由器间的连通性。

图1为传统vrrp协议的工作拓扑图,仅以备份组中包含两个路由器为例进行说明。如图1所示,vrrp协议的工作过程具体描述如下:

(1)启动vrrp协议:路由器1和路由器2开启vrrp功能后,首先根据优先级确定自己的主备角色。

(2)选举主备角色:优先级高的路由器成为主用路由器,优先级低的路由器成为备用路由器。

(3)定期通告:主用路由器定期向备用路由器发送vrrp通告报文,以通知备份组内的备用路由器自己处于正常工作状态;备用路由器开启定时器功能,以判断在定时时限内是否接收到通告报文。

(4)故障处理:若超过备用路由器的定时范围后仍未接收到主用路由器发送的vrrp通告报文,则认为主用路由器出现故障,此时备用路由器选举自己为主用路由器,并对外发送vrrp通告报文。

现有vrrp协议工作时,只能由处于主用状态的路由器1工作,而处于备用状态的路由器2不工作,在如图1所示的示例中,工作流程只能是:路由器3<—>路由器1<—>服务器,而路由器3<—>路由器2<—>服务器这条路径不转发报文,导致设备带宽浪费。若要增加带宽,必须扩容设备,需要再增加两台路由器,增加了设备成本。

针对上述问题,本发明实施例提出一种数据传输方法,能够使备份组内的路由器均作为主设备同时工作,在不增加设备的条件下增加带宽。

需要说明的是,以下描述的实施例均可以用于vrrp的备份组中至少包含两个路由器的情形,为便于描述和理解,下面仅以备份组中仅包含两个路由器为例进行说明,但不能作为对本发明的限制。

图2为本发明一实施例提出的数据传输方法的流程示意图。

如图2所示,该数据传输方法包括以下步骤:

s11,第一路由设备与第二路由设备进行虚拟路由冗余协议协商。

vrrp的备份组中,至少包括两个路由器,本发明实施例仅以备份组中包含两个路由器进行说明,分别称为第一路由设备和第二路由设备。在vrrp协议启动之后,第一路由设备和第二路由设备需要进行协商。

s12,在第一路由设备与第二路由设备协商失败时,第一路由设备和第二路由设备均设置成主设备状态。

本实施例中,当第一路由设备与第二路由设备协商失败时,第一路由设备和第二路由设备均设置为主设备状态。

s13,第一路由设备和第二路由设备在主设备状态下同时工作。

在vrrp备份组中,处于主设备状态下的第一路由设备和第二路由设备同时工作。

举例而言,图3为根据本发明实施例的vrrp协议工作拓扑图。如图3所示,路由器1和路由器2均处于主设备状态,路由器3<—>路由器1<—>服务器和路由器3<—>路由器2<—>服务器这两条链路同时工作。当其中一条链路故障时,另一条链路仍保持正常工作状态,而无需重新选择主用路由设备。能够在不增加设备的条件下增加带宽,同时起到设备备份的作用。

本实施例的数据传输方法,通过第一路由设备和第二路由设备进行虚拟路由冗余协议协商,在协商失败时,第一路由设备和第二路由设备均设置成主设备状态,第一路由设备和第二路由设备在主设备状态下同时工作。通过将路由设备均设置为主设备状态同时工作,能够增加带宽,同时实现设备备份功能,提高网络可靠性。

为了能够在第一路由设备和第二路由设备协商失败时将第一路由设备和第二路由设备设置为主设备状态,本发明实施例提出了两种使第一路由设备和第二路由设备协商失败的方式。

作为其中一种可能的实现方式,如图4所示,在如图1所示实施例的基础上,步骤s11之后还包括:

s21,为第一路由设备和第二路由设备分别配置不同的协商密码。

其中,第一路由设备的协商密码为第一密码,第二路由设备的协商密码为第二密码,第一密码与第二密码不同。

由于vrrp协议中,只有当两端的路由器的协商密码配置一致时才认为两端的路由器可以配对,才能协商成功;当协商密码不一致时,两端的路由器协商失败。因此,本实施例中,可以通过为第一路由设备和第二路由设备分别配置不同的协商密码,为第一路由设备配置第一密码,为第二路由设备配置第二密码,且第一密码与第二密码不同,来使第一路由设备和第二路由设备协商失败。

s22,第一路由设备接收第二路由设备发送的第一协商报文,第二路由设备接收第一路由设备发送的第二协商报文。

其中,第一协商报文由第二路由设备利用第二密码加密,第二协商报文由第一路由设备利用第一密码加密。

本实施例中,可以为vrrp协议两端的第一路由设备和第二路由设备设置协商报文,并利用配置的协商密码对协商报文进行加密。

具体地,可以设置第二路由设备的协商报文由第二路由设备利用第二密码加密,加密后的协商报文称为第一协商报文,由第二路由设备发送至第一路由设备进行协商,第一路由设备接收第二路由设备发送的第一协商报文。第一路由设备的协商报文由第一路由设备利用第一密码加密,加密后的协商报文称为第二协商报文,由第一路由设备发送至第二路由设备进行协商,第二路由设备接收第一路由设备发送的第二协商报文。

s23,第一路由设备采用第一密码解密第一协商报文,第二路由设备采用第二密码解密第二协商报文。

第一路由设备和第二路由设备分别收到对方发送的第一协商报文和第二协商报文之后,采用各自的协商密码对协商报文进行解密,即第一路由设备采用第一密码对接收到的第一协商报文进行解密,第二路由设备采用第二密码对接收到的第二协商报文进行解密。当第一路由设备和第二路由设备均解密成功时,则表明第一路由设备和第二路由设备协商成功。

s24,当解密协商报文失败时,则确定第一路由设备与第二路由设备协商失败。

能够理解的是,对于一份加密文件,只有使用与加密密码相同的密码进行解密才能打开。而本实施例中,由于第一密码和第二密码不同,因此第一路由设备采用第一密码解密由第二密码进行加密的第一协商报文时,会解密失败;第二路由设备采用第二密码解密由第一密码进行加密的第二协商报文时,同样会失败。当第一路由设备和第二路由设备解密协商报文均失败时,可以确定第一路由设备与第二路由设备协商失败。

本实施例的数据传输方法,通过为第一路由设备和第二路由设备分别配置不同的协商密码,第一路由设备接收第二路由设备发送的第一协商报文,第二路由设备接收第一路由设备发送的第二协商报文,第一路由设备采用第一密码解密第一协商报文,第二路由设备采用第二密码解密第二协商报文,当解密协商报文失败时,则确定第一路由设备与第二路由设备协商失败,能够为设置第一路由设备和第二路由设备处于主设备状态奠定技术基础。

作为另一种可能的实现方式,如图5所示,在如图1所示实施例的基础上,步骤s11之后还可以包括以下步骤:

s31,第一路由设备接收到第二路由设备发送的协商报文,以及第二路由设备接收第一路由设备发送的协商报文。

vrrp备份组内的路由器一般使用协商报文进行任务协商,本实施例中,可以设置第一路由设备接收第二路由设备发送的协商报文,第二路由设备接收第一路由设备发送的协商报文。

s32,第一路由设备和第二路由设备在接收到协商报文后,均删除协商报文。

s33,在协商报文删除后,确定第一路由设备与第二路由设备协商失败。

本实施例中,第一路由设备和第二路由设备分别接收到对方发送的vrrp协商报文之后,可以通过软件方式实现对vrrp协商报文的删除,即将vrrp协商报文删除。删除协商报文相当于协商报文丢弃,无法进行协商,则可确定第一路由设备与第二路由设备协商失败。

本实施例的数据传输方法,通过第一路由设备接收到第二路由设备发送的协商报文,第二路由设备接收到第一路由设备发送的协商报文之后,均删除协商报文,之后确定第一路由设备与第二路由设备协商失败,能够为设置第一路由设备和第二路由设备处于主设备状态奠定技术基础。

图6为本发明又一实施例提出的数据传输方法的流程示意图。

如图6所示,该数据传输方法可以包括以下步骤:

s41,第一路由设备与第二路由设备进行虚拟路由冗余协议协商。

s42,在第一路由设备与第二路由设备协商失败时,第一路由设备和第二路由设备均设置成主设备状态。

需要说明的是,本发明对步骤s41-s42的描述,可以参见前述实施例中对步骤s11-s12的描述,其实现原理类似,此处不再赘述。

s43,第一路由设备和第二路由设备在主设备状态下同时工作。

具体地,第一路由设备和第二路由设备在主设备状态下同时工作,可以包括:第一路由设备和第二路由设备分别接收第三路由设备发送的第一数据,并且经过各自与服务器之间的链路将第一数据发送给服务器。

也就是说,均处于主设备状态的第一路由设备和第二路由设备具有平等的地位,二者同时接收第三路由设备发送的数据,并经由各自的通信链路将接收到的数据转发给服务器。当其中一条链路故障时,另一条链路仍能保持正常工作。

第一路由设备和第二路由设备同时工作的拓扑图可参见前述图3所示,此处不再过多描述。

通过两条链路同时发送数据,能够起到设备备份的作用,同时增加带宽,保证数据传输的可靠性。

s44,服务器从第一路由设备和第二路由设备与服务器之间的两条链路中选择一条链路作为目标链路。

当服务器通过第一路由设备和/或第二路由设备发送数据时,可以从第一路由设备和第二路由设备与服务器之间的两条链路中选择一条链路作为目标链路。

具体地,服务器可以通过hash算法计算两条链路的hash值,基于hash值从两条链路中选择目标链路。

为了满足服务器在网络方面的需求,服务器中通常至少设置两个网卡。以服务器中设置有两个网卡为例,服务器连接第一路由设备和第二路由设备时,服务器中的两个网卡均配置为绑定(bond)方式,并设置成动态链接聚合模式(即mode4模式)。在该配置下,服务器基于hash算法选择目标链路,先由hash算法根据报文的五元组(即源ip地址、源端口号、协议类型、目的ip地址和目的端口号)计算出两条链路的hash值,进而由服务器根据hash值从两条链路中选择目标链路。由于服务器通过hash算法仅选择一条传输链路,从而,服务器中的两个网卡分别选择不同的链路发送数据,能够达到带宽加倍的目的。

s45,服务器通过目标链路向第三路由设备发送第二数据。

本实施例中,服务器通过计算链路的hash值确定了目标链路之后,即可通过目标链路向第三路由设备发送第二数据。

本实施例的数据传输方法,通过第一路由设备与第二路由设备进行虚拟路由冗余协议协商,在第一路由设备与第二路由设备协商失败时,第一路由设备和第二路由设备均设置成主设备状态,第一路由设备和第二路由设备在主设备状态下同时工作,服务器从第一路由设备和第二路由设备与服务器之间的两条链路中选择一条链路作为目标链路,服务器通过目标链路向第三路由设备发送第二数据。由此,能够增加带宽,同时实现设备备份功能,提高网络可靠性。

为了实现上述实施例,本发明还提出一种数据传输系统。

图7为本发明一实施例提出的数据传输系统的结构示意图。

如图7所示,该数据传输系统70包括:第一路由设备710和第二路由设备720。其中,

第一路由设备710,用于与第二路由设备720进行虚拟路由冗余协议协商,在协商失败时将自身设置成主设备状态,并与第二路由设备720在主设备状态下同时工作。

第二路由设备720,用于与第一路由设备710进行虚拟路由冗余协议协商,在协商失败时将自身设置成主设备状态,并与第一路由设备710在主设备状态下同时工作。

当第一路由设备710和第二路由设备720协商失败时,才各自将自身设置为主动状态并同时工作,为此,本发明实施例提出了两种使第一路由设备710和第二路由设备720协商失败的方法。

在其中一种可能的实现方式中,为第一路由设备710与第二路由设备720配置不同的协商密码,其中,第一路由设备710的协商密码为第一密码,第二路由设备720的协商密码为第二密码。此时,

第一路由设备710用于接收第二路由设备720发送的第一协商报文,并采用第一密码解密第一协商报文,以及在解密第一协商报文失败时,确定与第二路由设备720协商失败,其中,,第一协商报文由第二路由设备720利用第二密码加密。

第二路由设备720用于接收第一路由设备710发送的第二协商报文,并采用第二密码解密第二协商报文,以及在解密第一协商报文失败时,确定与第一路由设备710协商失败,其中,第二协商报文由第一路由设备710利用第一密码加密。

在另一种可能的实现方式中,第一路由设备710还用于接收第二路由设备720发送的协商报文,在接收到协商报文后,删除协商报文,在协商报文删除后,确定与第二路由设备720协商失败。

第二路由设备720还用于接收第一路由设备710发送的协商报文,在接收到协商报文后,删除协商报文,在协商报文删除后,确定与第一路由设备710协商失败。

可选地,在本发明实施例一种可能的实现方式中,如图8所示,在如图7所示实施例的基础上,该数据传输系统70还可以包括:第三路由设备730和服务器740。其中,

第三路由设备730,用于同时向第一路由设备710和第二路由设备720发送第一数据。

服务器740,用于接收第一路由设备710和第二路由设备720发送的第一数据。

在该实施例中,第一路由设备710还用于接收第一数据,并且经过与服务器740之间的链路将第一数据发送给服务器740。第二路由设备720还用于接收第一数据,并且经过与服务器740之间的链路将第一数据发送给服务器740。

本实施例中,当第一路由设备710与第二路由设备720协商失败后,第一路由设备710和第二路由设备720均将自身设置为主设备状态,并在主设备状态下同时工作。第三路由设备730可以将需要传输的第一数据同时发送给第一路由设备710和第二路由设备720,经第一路由设备710与服务器740之间以及第二路由设备720与服务器740之间的两条链路同时传输至服务器740,达到设备备份以及增加带宽的目的。

可选地,在本发明实施例一种可能的实现方式中,当服务器740需要发送数据时,可以从第一路由设备710和第二路由设备720与服务器740之间的两条链路中选择一条链路作为目标链路,通过目标链路向第三路由设备730发送第二数据。其中,服务器740在选择目标链路时,具体通过计算两条链路的hash值,基于hash值从两条链路中选择目标链路。

需要说明的是,前述对数据传输方法实施例的解释说明也适用于本实施例的数据传输系统,其实现原理类似,此处不再赘述。

本实施例的数据传输系统,通过设置第一路由设备和第二路由设备,第一路由设备和第二路由设备进行虚拟路由冗余协议协商,在协商失败时,第一路由设备和第二路由设备均将自身设置成主设备状态,第一路由设备和第二路由设备在主设备状态下同时工作。通过将路由设备均设置为主设备状态同时工作,能够增加带宽,同时实现设备备份功能,提高网络可靠性。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1