报文转发方法及装置与流程

文档序号:15151766发布日期:2018-08-10 21:11阅读:155来源:国知局

本公开涉及网络技术领域,尤其涉及一种报文转发方法及装置。



背景技术:

随着网络的快速发展,应用业务类型的日益丰富,传统网络模式已经很难满足网络发展的需求,故而软件定义网络(英文:softwaredefinednetwork,简称:sdn)越来越受重视,sdn技术被广泛应用于各个领域及各种用户实际网络中。

在sdn网络中,sdn控制器以向网络设备下发流表的方式,决定网络设备的转发行为。由于sdn控制器通常是根据sdn控制器存储的网络拓扑进行判断,以向网络设备下发流表,会造成向网络设备下发不恰当的流表,进而造成丢包和重传问题。



技术实现要素:

有鉴于此,本公开提出了一种报文转发方法及装置,以缓解数据报文转发的过程中出现的丢包和重传问题。

根据本公开的一方面,提供了一种报文转发方法,应用于软件定义网络sdn控制器,所述方法包括:

接收第一网络设备发送的第一消息,所述第一消息中包括第一网络设备的标识,所述第一网络设备的第一端口的标识,及表征所述第一端口拥塞的标识;

根据所述第一网络设备的标识、第一端口的标识及本地拓扑结构确定第二网络设备;其中,所述第二网络设备为向所述第一端口发送数据报文的网络设备;

根据所述表征所述第一端口拥塞的标识,向所述第二网络设备发送第二消息,所述第二消息用于指示所述第二网络设备暂停向所述第一端口转发数据报文。

根据本公开的另一方面,提供了一种报文转发方法,所述方法应用于第一网络设备,所述方法包括:

对所述第一网络设备的第一端口进行监测;

当监测到所述第一端口发生拥塞时,向软件定义网络sdn控制器发送第一消息,所述第一消息中包括所述第一网络设备的标识、所述第一端口的标识、及表征所述第一端口拥塞的标识,以使所述sdn控制器根据所述第一网络设备的标识、所述第一端口的标识确定向所述第一端口发送报文的第二网络设备,并向所述第二网络设备发送第二消息,所述第二消息用于指示所述第二网络设备暂停向所述第一端口转发数据报文的消息。

根据本公开的另一方面,提供了一种报文转发装置,应用于软件定义网络sdn控制器,所述装置包括:

第一接收模块,用于接收第一网络设备发送的第一消息,所述第一消息中包括第一网络设备的标识,所述第一网络设备的第一端口的标识,及表征所述第一端口拥塞的标识;

第一确定模块,用于根据所述第一网络设备的标识、第一端口的标识及本地拓扑结构确定第二网络设备;其中,所述第二网络设备为向所述第一端口发送数据报文的网络设备;

第一发送模块,用于根据所述表征所述第一端口拥塞的标识,向所述第二网络设备发送第二消息,所述第二消息用于指示所述第二网络设备暂停向所述第一端口转发数据报文。

根据本公开的另一方面,提供了一种报文转发装置,应用于第一网络设备,所述装置包括:

监测模块,用于对所述第一网络设备的第一端口进行监测;

第三发送模块,用于当监测到所述第一端口发生拥塞时,向软件定义网络sdn控制器发送第一消息,所述第一消息中包括所述第一网络设备的标识、所述第一端口的标识、及表征所述第一端口拥塞的标识,以使所述sdn控制器根据所述第一网络设备的标识、所述第一端口的标识确定向所述第一端口发送报文的第二网络设备,并向所述第二网络设备发送第二消息,所述第二消息用于指示所述第二网络设备暂停向所述第一端口转发数据报文的消息。

这样一来,sdn控制器可以接收来自第一网络设备的第一消息,并根据第一消息确定第一网络设备的第一端口处于拥塞状态,并根据第一网络设备及本地拓扑结构确定向第一端口转发数据报文的第二网络设备,并根据第一消息携带的表征第一端口拥塞的标识向该第二网络设备发送第二消息,该第二消息用于指示第二网络设备暂停向第一端口转发数据报文,使得第二网络设备在接收第二消息后可以暂停向第一端口转发数据报文。这样,sdn控制器可以在获知第一网络设备的第一端口的拥塞状态后,向第二网络设备发送第二消息,以指示第二网络设备在第一网络设备的第一端口拥塞时,暂停向第一端口转发数据报文,因此,根据本公开实施例的报文转发方法能够有效缓解丢包和重传问题。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。

图1示出根据本公开一实施例的一种报文转发方法的流程图;

图2示出根据本公开一实施例的一种报文转发方法的流程图;

图3示出根据本公开一实施例的一种报文转发方法的流程图;

图4示出根据本公开一实施例的一种报文转发方法的流程图;

图5示出根据本公开一实施例的一种报文转发方法的流程图;

图6示出根据本公开一实施例的一种报文转发方法的流程图;

图7示出根据本公开一实施例的一种报文转发方法的流程图;

图8示出根据本公开一实施例的一种报文转发方法的流程图;

图9示出根据本公开一实施例的一种报文转发装置的结构框图;

图10示出根据本公开一实施例的一种报文转发装置的结构框图;

图11示出根据本公开一实施例的一种报文转发装置的结构框图;

图12示出根据本公开一实施例的一种报文转发装置的结构框图;

图13是根据一示例性实施例示出的一种报文转发装置的硬件结构框图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

实施例1

图1示出根据本公开一实施例的一种报文转发方法的流程图,可以应用于sdn控制器。如图1所示,该方法可以包括以下步骤:

步骤101、接收第一网络设备发送的第一消息,所述第一消息中包括第一网络设备的标识,所述第一网络设备的第一端口的标识,及表征所述第一端口拥塞的标识;

上述第一消息为第一网络设备在第一端口拥塞时,向sdn控制器发送的通知消息,上述第一网络设备的标识为能够标识第一网络设备的唯一性的身份信息,例如第一网络设备的ip地址、硬件地址等,上述第一端口可以为第一网络设备的入端口,上述第一网络设备的第一端口的标识为能够标识第一端口的唯一性的标识信息。sdn控制器接收上述第一消息后,可以根据该第一消息确定第一网络设备的第一端口拥塞。举例来说,第一网络设备可以在第一端口对应的缓存区域缓存空间不足时向sdn控制器发送第一消息,以通过该第一消息通知sdn控制器第一网络设备的缓存区域对应的第一端口拥塞。

步骤102、根据所述第一网络设备的标识、第一端口的标识及本地拓扑结构确定第二网络设备;其中,所述第二网络设备为向所述第一端口发送数据报文的网络设备;

sdn控制器可以根据上述第一网络设备的标识确定第一网络设备,并根据本地拓扑结构及第一网络设备确定上述第一网络设备的上一跳网络设备,确定该上一跳网络设备中通过上述第一端口向第一网络设备转发数据报文的网络设备为第二网络设备。

步骤103、根据所述表征所述第一端口拥塞的标识,向所述第二网络设备发送第二消息,所述第二消息用于指示所述第二网络设备暂停向所述第一端口转发数据报文。

sdn控制器向上述第二网络设备发送第二消息,该第二消息可以为指示第二网络设备暂停向第一端口转发数据报文的指示消息。举例来说,上述第二消息中可以包括第一网络设备的第一端口的标识,第二网络设备接收上述第二消息后,可以响应于上述第二消息暂停向第一端口转发数据报文。

这样一来,sdn控制器可以接收来自第一网络设备的第一消息,并根据第一消息确定第一网络设备的第一端口处于拥塞状态,并根据第一网络设备及本地拓扑结构确定向第一端口转发数据报文的第二网络设备,并根据第一消息携带的第一端口拥塞的标识向该第二网络设备发送第二消息,该第二消息用于指示第二网络设备暂停向第一端口转发数据报文,使得第二网络设备在接收第二消息后可以暂停向第一端口转发数据报文。这样,sdn控制器可以在获知第一网络设备的第一端口的拥塞状态后,向第二网络设备发送第二消息,以指示第二网络设备在第一网络设备的第一端口拥塞时,暂停向第一端口转发数据报文,因此,根据本公开实施例的报文转发方法能够有效缓解丢包和重传问题。

图2示出根据本公开一实施例的一种报文转发方法的流程图,其中,步骤201与上述步骤101相类似,本发明在此不再赘述。

在一种可能的实现方式中,参照图2,上述方法可以包括以下步骤。

步骤201、接收第一网络设备发送的第一消息,所述第一消息中包括第一网络设备的标识,所述第一网络设备的第一端口的标识,及表征所述第一端口拥塞的标识;

步骤202、根据所述第一网络设备的标识、第一端口的标识及本地拓扑结构确定第二网络设备及第二端口,其中,所述第二端口为第二网络设备上的向所述第一端口发送数据报文的端口;

步骤203、根据所述表征所述第一端口拥塞的标识,向所述第二网络设备发送第二消息,所述第二消息用于指示所述第二网络设备暂停向所述第一端口转发数据报文;

其中,所述第二消息中包括用于指示暂停发送报文的标识,所述第二端口的标识,所述第一端口的标识,以使所述第二网络设备暂停通过所述第二端口向所述第一端口转发数据报文。

sdn控制器接收第一消息后,根据上述第一消息中携带的第一网络设备的标识、第一端口的标识及本地拓扑结构确定向第一端口转发数据报文的第二网络设备,及第二网络设备向第一端口转发数据报文的第二端口,sdn控制器可以向第二网络设备发送第二消息,以指示第二网络设备暂停通过第二端口向第一端口转发数据报文,该第二消息中可以包括用于指示暂停发送报文的标识。第二网络设备接收上述第二消息后,确定上述第二消息中携带的第一端口的标识及第二端口的标识,并响应于该指示暂停发送报文的标识,暂停通过第二端口的标识表征的第二端口向第一端口的标识表征的第一端口转发数据报文。

这样一来,sdn控制器可以通过第一消息获知第一网络设备的第一端口产生拥塞,并向第二网络设备发送第二消息,以控制第二网络设备暂停通过第二端口向第一网络设备的第一端口转发数据报文,进而能够有效缓解丢包和重传问题。

在一种可能的实现方式中,上述第二消息还可以包括:预设时长,以使所述第二网络设备在暂停通过所述第二端口向所述第一端口转发数据报文的时长达到所述预设时长时,继续通过所述第二端口向所述第一端口转发数据报文。

第二网络设备接收上述第二消息后,可以暂停通过第二端口向第一网络设备的第一端口转发数据报文,并在预设时长后,继续通过第二端口向第一端口转发数据报文。举例来说,第二网络设备可以根据上述预设时长启动计时器,该计时器计时达到预设时长后,第二网络设备继续通过第二端口向第一网络设备的第一端口转发数据报文。

这样一来,第二网络设备可以在第一网络设备的第一端口拥塞时,暂停通过第二端口向第一网络设备的第一端口转发数据报文,并在预设时长后重新开始通过第二端口向第一网络设备的第一端口转发数据报文,以缓解网络中的丢包和重传问题。

图3示出根据本公开一实施例的一种报文转发方法的流程图,其中,步骤301至步骤303与上述实施例步骤101至步骤103相类似,本公开在此不再赘述。

在一种可能的实现方式中,参照图3,上述方法还可以包括以下步骤:

步骤301、接收第一网络设备发送的第一消息,所述第一消息中包括第一网络设备的标识,所述第一网络设备的第一端口的标识,及表征所述第一端口拥塞的标识;

步骤302、根据所述第一网络设备的标识、第一端口的标识及本地拓扑结构确定第二网络设备;其中,所述第二网络设备为向所述第一端口发送数据报文的网络设备;

步骤303、根据所述表征所述第一端口拥塞的标识,向所述第二网络设备发送第二消息,所述第二消息用于指示所述第二网络设备暂停向所述第一端口转发数据报文。

步骤304、接收第一网络设备发送的第三消息,所述第一消息携带第一网络设备的标识,所述第一网络设备的第一端口的标识,及表征所述第一端口拥塞解除的标识。

步骤305、根据所述第一网络设备的标识、第一端口的标识及本地拓扑结构确定所述第二网络设备。

步骤306、向所述第二网络设备发送第四消息,所述第四消息用于指示所述第二网络设备继续向所述第一端口转发数据报文。

上述第三消息可以为表示第一网络设备的第一端口由拥塞状态转换为正常状态的通知信息。举例来说,第一网络设备可以在缓存区域的存储空间不足时,向sdn控制器发送第一消息,并在发送第一消息后检测到缓存区域的存储空间充足时,向sdn控制器发送第三消息。

sdn控制器接收第三信息后,识别第三消息中表征第一端口拥塞解除的标识,并根据第一网络设备的标识、第一端口的标识及本地拓扑结构确定第二网络设备的标识,sdn控制器可以向第二网络设备标识所表征的第二网络设备发送第四消息,以指示第二网络设备重新开始向第一端口转发数据报文。举例来说,上述第四消息中可以携带第一网络设备的标识及第一端口的标识,第二网络设备接收上述第四消息后,确定上述第四消息中携带的第一端口的标识表征的第一端口。并响应于该第四消息,继续向第一网络设备的第一端口转发数据报文。

图4示出根据本公开一实施例的一种报文转发方法的流程图,其中,步骤401至及步骤404与上述实施例步骤301至步骤304相类似,本公开在此不再赘述。

在一种可能的实现方式中,参照图4,上述方法可以包括:

步骤401、接收第一网络设备发送的第一消息,所述第一消息中包括第一网络设备的标识,所述第一网络设备的第一端口的标识,及表征所述第一端口拥塞的标识;

步骤402、根据所述第一网络设备的标识、第一端口的标识及本地拓扑结构确定第二网络设备;其中,所述第二网络设备为向所述第一端口发送数据报文的网络设备;

步骤403、根据所述表征所述第一端口拥塞的标识,向所述第二网络设备发送第二消息,所述第二消息用于指示所述第二网络设备暂停向所述第一端口转发数据报文。

步骤404、接收第一网络设备发送的第三消息,所述第一消息携带第一网络设备的标识,所述第一网络设备的第一端口的标识,及表征所述第一端口拥塞解除的标识。

步骤405、根据所述第一网络设备的标识、第一端口的标识及本地拓扑结构确定第二网络设备及第二端口,其中,所述第二端口为第二网络设备上的向所述第一端口发送数据报文的端口。

步骤406、向所述第二网络设备发送第四消息,所述第四消息中包括用于指示继续发送报文的标识,所述第二端口的标识,所述第一端口的标识,以使所述第二网络设备继续通过所述第二端口向所述第一端口转发数据报文。

sdn控制器接收第三消息后,可以根据第一网络设备的标识、第一端口的标识及本地拓扑结构确定第二网络设备的标识和第二端口的标识,其中,第二网络设备为通过第二端口向第一网络设备的第一端口转发数据报文的网络设备。

sdn控制器可以根据第三消息向第二网络设备发送第四消息,该第四消息中可以指示第二网络设备重新通过第二端口的标识所表征的第二端口向第一端口的标识所表征的第一端口转发数据报文。举例来说,第二网络设备接收上述第四消息后,确定上述第四消息中携带的第一端口的标识表征的第一端口和第二端口的标识表征的第二端口,并响应于该第四消息,继续通过第二端口向第一网络设备的第一端口转发数据报文。

图5示出根据本公开一实施例的一种报文转发方法的流程图,可以应用于第一网络设备。如图5所示,该方法可以包括以下步骤:

步骤501、对所述第一网络设备的第一端口进行监测;

上述第一端口可以为第一网络设备的入端口,上述第一端口可以对应于缓存区域。

第一网络设备可以对第一端口进行监测,以监测第一端口是否处于拥塞状态。举例来说,第一网络设备可以通过对第一端口对应的缓存区域缓存的数据报文进行监测,以实现监测第一端口是否处于拥塞状态。第一网络设备在监测到缓存区域的缓存的数据报文满足第一阈值条件时,第一网络设备可以确定缓存区域的缓存空间不足,进而可以确定缓存区域的第一端口处于拥塞状态。

举例来说,上述第一阈值条件可以为缓存区域的缓存空间的占用比例大于第一占用比例,或者,上述第一阈值条件可以是缓存区域缓存的数据报文的总量大于第一数据量。

第一网络设备在监测到缓存区域的缓存空间的占用比例满足第一阈值条件(缓存空间的占用比例大于第一占用比例,例如:设置上述第一占用比例为90%,此时缓存空间的占用比例为92%)时,可以确定该缓存区域的缓存空间不足;或者第一网络设备在监测到缓存区域中缓存的数据报文的总量满足第一阈值条件(缓存空间缓存的数据报文的总量大于第一数据量,例如:设置上述第一数据量为100m,此时缓存区域缓存的数据报文总量为102m)时,可以确定该缓存区域的缓存空间不足。第一网络设备可以在监测到缓存区域缓存空间不足时,确定第一端口处于拥塞状态。

步骤502、当监测到所述第一端口发生拥塞时,向软件定义网络sdn控制器发送第一消息,所述第一消息中包括所述第一网络设备的标识、所述第一端口的标识、及表征所述第一端口拥塞的标识,以使所述sdn控制器根据所述第一网络设备的标识、所述第一端口的标识确定向所述第一端口发送报文的第二网络设备,并向所述第二网络设备发送第二消息,所述第二消息用于指示所述第二网络设备暂停向所述第一端口转发数据报文的消息。

在第一端口处于拥塞状态时,第一网络设备可以向sdn控制器发送第一消息,该第一消息中可以包括第一网络设备的标识、第一端口的标识及表征第一端口拥塞的标识。sdn控制器接收上述第一消息后,可以根据上述第一消息中的第一网络设备的标识、第一端口的标识及本地拓扑结构确定向第一网络设备的第一端口转发数据报文的第二网络设备,并根据上述表征第一端口拥塞的标识向第二网络设备发送第二消息,该第二消息可以指示第二网络设备暂停向第一网络设备的第一端口转发数据报文。

图6示出根据本公开一实施例的一种报文转发方法的流程图,其中步骤601和步骤602与前述实施例中的步骤501和步骤502相类似,本公开在此不再赘述。

在一种可能的实现方式中,参照图6,上述方法可以包括:

步骤601、对所述第一网络设备的第一端口进行监测。

步骤602、当监测到所述第一端口发生拥塞时,向软件定义网络sdn控制器发送第一消息,所述第一消息中包括所述第一网络设备的标识、所述第一端口的标识、及表征所述第一端口拥塞的标识,以使所述sdn控制器根据所述第一网络设备的标识、所述第一端口的标识确定向所述第一端口发送报文的第二网络设备,并向所述第二网络设备发送第二消息,所述第二消息用于指示所述第二网络设备暂停向所述第一端口转发数据报文的消息。

步骤603、当检测到所述第一端口拥塞解除时,向所述sdn控制器发送第三消息,所述第三消息中包括所述第一网络设备的标识、所述第一端口的标识、及用于表征所述第一端口拥塞解除的标识的消息,以使所述sdn控制器根据所述第一网络设备的标识、所述第一端口的标识确定向所述第一端口发送报文的第二网络设备,并向所述第二网络设备发送第四消息,所述第四消息用于指示所述第二网络设备继续向所述第一端口转发数据报文。

第一网络设备在向sdn控制器发送第一消息后,可以对第一端口进行监测,监测第一端口是否处于拥塞解除状态。举例来说,第一网络设备可以通过对缓存区域缓存的数据报文进行监测,以实现监测第一端口是否处于拥塞解除状态。第一网络设备在监测到缓存区域缓存的数据报文满足第二阈值条件时,第一网络设备可以确定缓存区域的缓存空间由不足转为充足,进而可以确定缓存区域的第一端口处于拥塞解除状态。

举例来说,上述第二阈值条件可以为缓存区域的缓存空间的占用比例小于第二占用比例,或者,上述第二阈值条件可以是缓存区域缓存的数据报文的总量小于第二数据量。

第一网络设备在监测到缓存区域的缓存空间的占用比例满足第二阈值条件(缓存空间的占用比例小于第二占用比例,例如:设置上述第二占用比例为80%,此时缓存空间的占用比例为72%)时,可以确定该缓存区域的缓存空间充足;或者第一网络设备在监测到缓存区域中缓存的数据报文的总量满足第一阈值条件(缓存空间缓存的数据报文的总量小于第二数据量,例如:设置上述第一数据量为90m,此时缓存区域缓存的数据报文总量为82m)时,可以确定该缓存区域的缓存空间充足。第一网络设备在向sdn控制器发送第一消息后,在监测到缓存区域缓存空间充足时,确定第一端口处于拥塞解除状态。

在第一端口处于拥塞解除状态时,第一网络设备可以向sdn控制器发送第三消息,该第三消息中可以包括第一网络设备的标识、第一端口的标识及表征第一端口拥塞解除的标识。sdn控制器接收上述第三消息后,可以根据上述第三消息中的第一网络设备的标识、第一端口的标识及本地拓扑结构确定向第一网络设备的第一端口转发数据报文的第二网络设备,并根据上述表征第一端口拥塞解除的标识向第二网络设备发送第四消息,该第四消息可以指示第二网络设备接收第二消息后,继续向第一网络设备的第一端口转发数据报文。

这样一来,sdn控制器可以在第一端口处于拥塞状态时,及时控制其他网络设备暂停通过第一端口向第一网络设备转发数据报文,以减少网络中的丢包和重传问题,并可以在第一端口拥塞解除时,及时控制其他网络设备继续通过第一端口向第一网络设备转发数据报文,以提高数据报文的转发效率。

图7示出根据本公开一实施例的一种报文转发方法的流程图。

在一种可能的实现方式中,参照图7,上述方法可以包括:

步骤701、接收所述sdn控制器发送的第五消息,所述第五消息中包括:指示暂停发送报文的标识,所述第一网络设备的第三端口的标识,及第四网络设备的第四端口的标识;

第四网络设备在监测到第四端口拥塞时向sdn控制器发送对应的通知消息,该通知消息中可以携带第四网络设备的标识、第四端口的标识及用于表征第四端口处于拥塞状态的标识。sdn控制器接收上述第四网络设备发送的通知消息后,根据该通知消息及本地拓扑结构确定向第四网络设备的第四端口转发数据报文的第一网络设备及第三端口,并向第一网络设备发送第五消息,该第五消息中可以包括:指示暂停发送报文的标识,第一网络设备的第三端口的标识,及第四网络设备的第四端口的标识。

步骤702、根据所述第五消息暂停通过所述第三端口向所述第四端口转发数据报文。

第一网络设备接收上述第五消息后,可以暂停通过第一网络设备的第三端口向第四网络设备的第四端口转发数据报文。

在一种可能的实现方式中,上述第五消息中还可以包括:预设时长;上述根据所述第五消息暂停通过所述第三端口向所述第四端口转发数据报文,可以包括:

根据所述第五消息暂停通过所述第三端口向所述第四端口转发数据报文,并在暂停通过所述第三端口向所述第四端口转发数据报文的时长达到所述预设时长时,继续通过所述第三端口向所述第四端口转发数据报文。

第一网络设备接收第五消息后,可以暂停通过第三端口向第四网络设备的第四端口转发数据报文,并在暂停时长达到预设时长时,继续通过第三端口向第四网络设备的第四端口转发数据报文。示例性的,第一网络设备可以在暂停向第四网络设备的第四端口转发数据报文的同时,根据第五消息中携带的上述预设时长启动计时器,在计时时长达到预设时长时,继续通过第三端口向第四网络设备的第四端口转发数据报文。

图8示出根据本公开一实施例的一种报文转发方法的流程图,其中步骤801和步骤802和前述实施例中步骤701和步骤702相类似,本公开在此不再赘述。

在一种可能的实现方式中,参照图8,上述方法可以包括:

步骤801、接收所述sdn控制器发送的第五消息,所述第五消息中包括:指示暂停发送报文的标识,所述第一网络设备的第三端口的标识,及第网络设备的第四端口的标识。

步骤802、根据所述第五消息暂停通过所述第三端口向所述第四端口转发数据报文。

步骤803、接收所述sdn控制器发送的第六消息,所述第六消息中包括:指示继续发送报文的标识,所述第三端口的标识,及所述第四端口的标识;

第四网络设备在向sdn控制器发送第五消息后,可以继续对第四端口进行监测,在监测到第四端口拥塞解除时,可以向sdn控制器发送对应的通知消息,该通知消息中可以携带第四网络设备的标识、第四端口的标识及用于表征第四端口拥塞的标识。sdn控制器接收上述通知消息后,可以根据上述通知消息及本地拓扑结构确定向第四网络设备的第四端口转发数据报文的第一网络设备及第三端口,并向第一网络设备发送第六消息,该第六消息中可以包括:指示继续发送报文的标识,所述第三端口的标识,及所述第四端口的标识。

步骤804、根据所述第六消息,继续通过所述第三端口向所述第四端口转发数据报文。

第一网络设备接收上述第六消息后,可以响应于上述第六消息,继续通过第三端口向第四网络设备的第四端口转发数据报文。

这样一来,第一网络设备可以在接收到来自sdn控制器的第五消息时,响应于第五信息,暂停通过第三端口向第四网络设备的第四端口转发数据报文,由于第五消息为sdn控制器响应于第四网络设备的第四端口的拥塞的通知消息,发送至第一网络设备的消息,因为第一网络设备可以在第四端口处于拥塞状态时,暂停通过第三端口向第四网络设备的第四端口转发数据报文,以减少网络中的丢包和重传问题。并且第一网络设备可以在接收到来自sdn控制器的第六消息后,继续通过第三端口向第四网络设备的第四端口转发数据报文,由于第六消息为sdn控制器响应于第四网络设备的第四端口的拥塞解除的通知消息,发送至第一网络设备的消息,因此第一网络设备可以在第四网络设备的第四端口拥塞解除时,及时继续通过第一端口向第一网络设备转发数据报文,以提高数据报文的转发效率。

图9示出根据本公开一实施例的一种报文转发装置的结构框图,可以应用于sdn控制器。如图9所示,该装置可以包括:

第一接收模块901,可以用于接收第一网络设备发送的第一消息,所述第一消息中包括第一网络设备的标识,所述第一网络设备的第一端口的标识,及表征所述第一端口拥塞的标识;

第一确定模块902,可以用于根据所述第一网络设备的标识、第一端口的标识及本地拓扑结构确定第二网络设备;其中,所述第二网络设备为向所述第一端口发送数据报文的网络设备;

第一发送模块903,可以用于根据所述表征所述第一端口拥塞的标识,向所述第二网络设备发送第二消息,所述第二消息用于指示所述第二网络设备暂停向所述第一端口转发数据报文。

图10示出根据本公开一实施例的一种报文转发装置的结构框图。

在一种可能的实现方式中,参照图10,第一确定模块902,可以包括:

第一确定子模块9021,可以用于根据所述第一网络设备的标识、第一端口的标识及本地拓扑结构确定第二网络设备及第二端口,其中,所述第二端口为第二网络设备上的向所述第一端口发送数据报文的端口;

所述第二消息中包括用于指示暂停发送报文的标识,所述第二端口的标识,所述第一端口的标识,以使所述第二网络设备暂停通过所述第二端口向所述第一端口转发数据报文。

在一种可能的实现方式中,所述第二消息中还包括:预设时长,以使所述第二网络设备在暂停通过所述第二端口向所述第一端口转发数据报文的时长达到所述预设时长时,继续通过所述第二端口向所述第一端口转发数据报文。

在一种可能的实现方式中,参照图10,所述装置还可以包括:

第二接收模块904,可以用于接收第一网络设备发送的第三消息,所述第三消息携带第一网络设备的标识,所述第一网络设备的第一端口的标识,及表征所述第一端口拥塞解除的标识;

第二确定模块905,可以用于根据所述第一网络设备的标识、第一端口的标识及本地拓扑结构确定所述第二网络设备;

第二发送模块906,可以用于向所述第二网络设备发送第四消息,所述第四消息用于指示所述第二网络设备继续向所述第一端口转发数据报文。

在一种可能的实现方式中,参照图10,第二确定模块905可以包括:

第二确定子模块9051,用于根据所述第一网络设备的标识、第一端口的标识及本地拓扑结构确定第二网络设备及第二端口,其中,所述第二端口为第二网络设备上的向所述第一端口发送数据报文的端口;

所述第四消息中包括用于指示继续发送报文的标识,所述第二端口的标识,所述第一端口的标识,以使所述第二网络设备继续通过所述第二端口向所述第一端口转发数据报文。

图11示出根据本公开一实施例的一种报文转发装置的结构框图,可以应用于第一网络设备。如图11所示,该装置可以包括:

监测模块1101,可以用于对所述第一网络设备的第一端口进行监测;

第三发送模块1102,可以用于当监测到所述第一端口发生拥塞时,向软件定义网络sdn控制器发送第一消息,所述第一消息中包括所述第一网络设备的标识、所述第一端口的标识、及表征所述第一端口拥塞的标识,以使所述sdn控制器根据所述第一网络设备的标识、所述第一端口的标识确定向所述第一端口发送报文的第二网络设备,并向所述第二网络设备发送第二消息,所述第二消息用于指示所述第二网络设备暂停向所述第一端口转发数据报文的消息。

图12示出根据本公开一实施例的一种报文转发装置的结构框图。

在一种可能的实现方式中,参照图12,上述装置还可以包括:

第四发送模块1103,可以用于当检测到所述第一端口拥塞解除时,向所述sdn控制器发送第三消息,所述第三消息中包括所述第一网络设备的标识、所述第一端口的标识、及用于表征所述第一端口拥塞解除的标识的消息,以使所述sdn控制器根据所述第一网络设备的标识、所述第一端口的标识确定向所述第一端口发送报文的第二网络设备,并向所述第二网络设备发送第四消息,所述第四消息用于指示所述第二网络设备继续向所述第一端口转发数据报文。

在一种可能的实现方式中,参照图12,所述装置还可以包括:

第三接收模块1104,可以用于接收所述sdn控制器发送的第五消息,所述第五消息中包括:指示暂停发送报文的标识,所述第一网络设备的第三端口的标识,及第网络设备的第四端口的标识;

第一处理模块1105,可以用于根据所述第五消息暂停通过所述第三端口向所述第四端口转发数据报文。

在一种可能的实现方式中,所述第五消息中还可以包括:预设时长;

所述第一处理模块1105,还可以用于根据所述第五消息暂停通过所述第三端口向所述第四端口转发数据报文,并在暂停通过所述第三端口向所述第四端口转发数据报文的时长达到所述预设时长时,继续通过所述第三端口向所述第四端口转发数据报文。

在一种可能的实现方式中,参照图12,所述装置还可以包括:

第四接收模块1106,可以用于接收所述sdn控制器发送的第六消息,所述第六消息中包括:指示继续发送报文的标识,所述第三端口的标识,及所述第四端口的标识;

第二处理模块1107,可以用于根据所述第六消息,继续通过所述第三端口向所述第四端口转发数据报文。

图13是根据一示例性实施例示出的一种报文转发装置的硬件结构框图。在实际应用中,该装置可通过服务器实现。参照图13,该装置1300可包括处理器1301、存储有机器可执行指令的机器可读存储介质1302。处理器1301与机器可读存储介质1302可经由系统总线1303通信。并且,处理器1301通过读取机器可读存储介质1302中与报文转发方法逻辑对应的机器可执行指令以执行上文所述的报文转发方法。

本文中提到的机器可读存储介质1302可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:随机存取存储器(英文:radomaccessmemory,简称:ram)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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