CN109617828A - 一种数据转发方法及装置 - Google Patents
一种数据转发方法及装置 Download PDFInfo
- Publication number
- CN109617828A CN109617828A CN201910058243.3A CN201910058243A CN109617828A CN 109617828 A CN109617828 A CN 109617828A CN 201910058243 A CN201910058243 A CN 201910058243A CN 109617828 A CN109617828 A CN 109617828A
- Authority
- CN
- China
- Prior art keywords
- port
- host node
- message
- secondary port
- status
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请实施例提供了一种数据转发方法,应用于RRPP环中,与主节点的副端口连接的节点,该方法包括:接收数据报文;获取所述主节点的副端口的端口状态;判断所述主节点的副端口的端口状态是否为阻塞状态;若是,则取消向所述主节点的副端口转发所述数据报文。应用本申请实施例提供的数据转发方法,当主节点的副端口为阻塞状态时,与其连接的节点不会向其转发数据报文,因此,可以减少对主节点的副端口所在链路带宽的占用,从而减少了带宽浪费。
Description
技术领域
本申请涉及网络通信技术领域,特别是涉及一种数据转发方法及装置。
背景技术
RRPP(Rapid Ring Protection Protocol,快速环网保护协议)是一个专门应用于以太网环的链路层协议。它在以太网环完整时能够防止数据环路引起的广播风暴,而当以太网环上一条链路断开时能迅速恢复环网上各个节点之间的通信通路。
RRPP域建立在以太网环的基础上,一个环形连接的以太网拓扑称为一个RRPP环,一个RRPP域由彼此相接的一个或多个RRPP环构成。RRPP环上的每台设备都称为一个节点,其中,每个RRPP环上有且仅有一个主节点,每个主节点通过主端口和副端口与RRPP环中的其他节点连接。
发明内容
本申请实施例的目的在于提供一种数据转发方法及装置,以实现减少带宽浪费。具体技术方案如下:
本申请实施例提供了一种数据转发方法,应用于RRPP环中,与主节点的副端口连接的节点,所述方法包括:
接收数据报文;
获取所述主节点的副端口的端口状态;
判断所述主节点的副端口的端口状态是否为阻塞状态;
若是,则取消向所述主节点的副端口转发所述数据报文。
可选的,所述方法还包括:
在所述主节点的副端口的端口状态不是阻塞状态的情况下,向所述主节点的副端口转发所述数据报文。
可选的,在所述接收数据报文之前,所述方法还包括:
接收所述主节点的副端口发送的扩展报文,其中,所述扩展报文中携带所述主节点的副端口的端口状态;
对所述扩展报文进行解析,确定所述主节点的副端口的端口状态,将所述主节点的副端口的端口状态存储至存储表中;
所述获取所述主节点的副端口的端口状态,包括:
从所述存储表中,查询所述主节点的副端口的端口状态。
可选的,所述接收所述主节点的副端口发送的扩展报文,包括:
接收待解析报文;
对所述待解析报文进行解析,确定所述待解析报文对应的发送端口的端口标识及所述待解析报文的报文格式;
根据所述端口标识及所述报文格式,判断所述待解析报文是否为所述主节点的副端口发送的扩展报文;
若是,则执行所述对所述扩展报文进行解析,确定所述主节点的副端口的端口状态,将所述主节点的副端口的端口状态存储至存储表中的步骤。
可选的,所述扩展报文为:链路层发现协议的TLV格式扩展报文。
可选的,在所述获取所述主节点的副端口的端口状态之前,所述方法还包括:
判断所述与主节点的副端口连接的节点的发送端口的端口状态是否为转发状态;
若是,则执行所述获取所述主节点的副端口的端口状态的步骤;
若否,则取消向所述主节点的副端口转发所述数据报文。
本申请实施例还提供了一种数据转发装置,应用于RRPP环中,与主节点的副端口连接的节点,所述装置包括:
第一接收模块,用于接收数据报文;
获取模块,用于获取所述主节点的副端口的端口状态;
第一判断模块,用于判断所述主节点的副端口的端口状态是否为阻塞状态;
转发模块,用于在所述主节点的副端口的端口状态为阻塞状态的情况下,取消向所述主节点的副端口转发所述数据报文。
可选的,所述转发模块,还用于在所述主节点的副端口的端口状态不是阻塞状态的情况下,向所述主节点的副端口转发所述数据报文。
可选的,所述装置还包括:
第二接收模块,用于接收所述主节点的副端口发送的扩展报文,其中,所述扩展报文中携带所述主节点的副端口的端口状态;
存储模块,用于对所述扩展报文进行解析,确定所述主节点的副端口的端口状态,将所述主节点的副端口的端口状态存储至存储表中;
所述获取模块,具体用于从所述存储表中,查询所述主节点的副端口的端口状态。
可选的,所述第二接收模块,具体用于接收待解析报文;对所述待解析报文进行解析,确定所述待解析报文对应的发送端口的端口标识及所述待解析报文的报文格式;根据所述端口标识及所述报文格式,判断所述待解析报文是否为所述主节点的副端口发送的扩展报文;若是,则触发所述存储模块。
可选的,所述扩展报文为:链路层发现协议的TLV格式扩展报文。
可选的,所述装置还包括:
第二判断模块,用于判断所述与主节点的副端口连接的节点的发送端口的端口状态是否为转发状态;若是,则触发所述获取模块执行所述获取所述主节点的副端口的端口状态的步骤;
所述转发模块,还用于在所述与主节点的副端口连接的节点的发送端口的端口状态不是转发状态的情况下,取消向所述主节点的副端口转发所述数据报文。
本申请实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的数据转发方法。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的数据转发方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据转发方法。
本申请实施例提供的数据转发方法及装置,应用于RRPP环中,与主节点的副端口连接的节点,在接收数据报文之后,通过获取主节点的副端口的端口状态,判断主节点的副端口的端口状态是否为阻塞状态,若是,则取消向主节点的副端口转发数据报文;这样,当主节点的副端口为阻塞状态时,与其连接的节点不会向其转发数据报文,因此,可以减少对主节点的副端口所在链路带宽的占用,从而减少了带宽浪费。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个RRPP环的示意图;
图2为本申请实施例提供的第一种数据转发方法的流程示意图;
图3为本申请实施例提供的第二种数据转发方法的流程示意图;
图4为本申请实施例提供的第三种数据转发方法的流程示意图;
图5为未应用本申请实施例提供的数据转发方法时,RRPP环中的带宽占用示意图;
图6为应用本申请实施例提供的数据转发方法时,RRPP环中的带宽占用示意图;
图7为本申请实施例提供的数据转发装置的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,为一个RRPP环的示意图,设备A、B、C、D均为RRPP环中的节点,其中,设备A为该RRPP环的主节点,设备A具有两个端口,分别为主端口P1和副端口P2。
在RRPP环中,具有控制VLAN(Virtual Local Area Network,虚拟局域网)和保护VLAN。其中,控制VLAN用来传输RRPP协议报文,在控制VLAN中,包括且仅包括接入RRPP环的端口;保护VLAN用来传输数据报文,保护VLAN中既可包含接入RRPP环的端口,也可包含其他端口。
在检测环网的连通状态时,通常由RRPP环中主节点的主端口发送Hello报文,Hello报文依次经过各节点在环上传播,如果主节点的副端口可以接收到Hello报文,说明环网链路完整,在这种情况下,将主节点的副端口的端口状态设置为阻塞状态,使得主节点的副端口在逻辑上阻塞保护VLAN,只转发控制VLAN的报文,以防止保护VLAN的报文在环网中形成广播风暴;如果主节点的副端口不能接收到Hello报文,说明环网链路发生故障,在这种情况下,将主节点的副端口的端口状态设置为转发状态,使得主节点的副端口解除对保护VLAN的阻塞,转发保护VLAN的报文,以保证环网上各节点的通信不被中断。
但是,在上述过程中,主节点的副端口的阻塞状态是指,主节点的副端口会丢弃接收到的保护VLAN的报文,不会对保护VLAN的报文进行转发,但是,与主节点的副端口相连的端口还是会转发保护VLAN的报文给主节点的副端口,而与主节点的副端口相连的端口向主节点的副端口转发数据时,会占用主节点的副端口所在链路的带宽,这样,就造成了带宽浪费。
为了解决上述技术问题,本申请实施例提供了一种数据转发方法,该方法可以应用于RRPP环中,与主节点的副端口连接的节点,该节点可以为计算机、服务器、移动终端等等,本申请实施例对此不做限定。
如图2所示,本申请实施例提供的一种数据转发方法,应用于RRPP环中,与主节点的副端口连接的节点,具体可以包括如下步骤:
S201、接收数据报文;
S202、获取该主节点的副端口的端口状态;
S203、判断该主节点的副端口的端口状态是否为阻塞状态;
S204、若是,则取消向该主节点的副端口转发该数据报文。
由以上可见,本申请实施例提供的数据转发方法,当主节点的副端口为阻塞状态时,与其连接的节点不会向其转发数据报文,因此,可以减少对主节点的副端口所在链路带宽的占用,从而减少了带宽浪费。
下面通过具体实施例,对本申请实施例提供的数据转发方法进行详细说明。
如图3所示,为本申请实施例提供的第二种数据转发方法的流程示意图,应用于RRPP环中,与主节点的副端口连接的节点,比如,如图1所示,设备D即为该与主节点的副端口连接的节点,该方法包括如下步骤:
S301、接收数据报文。
数据报文也就是携带了用户数据信息的报文,举例而言,数据报文可以为携带了音视频数据的报文,也可以是携带了用户网络请求的报文,等等。
其中,数据报文是该与主节点的副端口连接的节点的接收端口接收的,比如,如图1所示,设备D的端口P4即为其接收端口。数据报文可以是接入RRPP环中的其他端口发送的,也可以是其他非RRPP环的端口发送的,具体不做限定。
S302、获取主节点的副端口的端口状态。
主节点的副端口的端口状态可以分为两种:阻塞状态和转发状态。
其中,当RRPP环网链路完整时,主节点的副端口的端口状态为阻塞状态,也就是说,主节点的副端口会丢弃接收到的保护VLAN的报文,不会对保护VLAN的报文进行转发,这样,可以防止保护VLAN的报文在环网中形成广播风暴;
当RRPP环网链路发生故障时,主节点的副端口的端口状态为转发状态,也就是说,主节点的副端口解除对保护VLAN的阻塞,转发保护VLAN的报文,这样,可以保证环网上各节点的通信不被中断。
在本申请实施例中,可以在接收到数据报文之后,向主节点发送查询请求,从而获取主节点的副端口的端口状态;
或者,也可以由主节点预先将其副端口的端口状态发送至该与主节点的副端口连接的节点,并由该节点对主节点的副端口的端口状态进行存储,当该节点接收到数据报文之后,就可以从所存储的信息中,直接获取主节点的副端口的端口状态信息。
举例而言,一种实现方式中,首先,可以在接收数据报文之前,接收主节点的副端口发送的扩展报文,其中,扩展报文中携带主节点的副端口的端口状态,然后,可以对该扩展报文进行解析,从扩展报文中确定主节点的副端口的端口状态,并将主节点的副端口的端口状态存储至存储表中,这样,在接收到数据报文之后,就可以从存储表中,查询主节点的副端口的端口状态。
其中,可以通过如下方式,判断接收到的报文是否为主节点的副端口发送的扩展报文:
首先,接收待解析报文,然后,对待解析报文进行解析,确定待解析报文对应的发送端口的端口标识及待解析报文的报文格式,根据端口标识及报文格式,判断待解析报文是否为主节点的副端口发送的扩展报文,若是,则判定接收到的报文是主节点的副端口发送的扩展报文,进而,可以执行对扩展报文进行解析,确定主节点的副端口的端口状态,将主节点的副端口的端口状态存储至存储表中的步骤。
举例而言,端口标识可以为发送端口的路由、标签信息、地址信息等等,主节点的副端口发送的扩展报文可以为一种LLDP(Link Layer Discovery Protocol,链路层发现协议)的TLV格式扩展报文。TLV格式是一种BER(Basic Encoding Rule,基本编码规则)编码格式,其中,T(Type)代表报文类型,L(Length)代表报文长度,V(Value)代表报文中所携带的信息。
在上述实现方式中,存储表中除了存储主节点的副端口的端口状态,还可以存储主节点的副端口的端口信息,比如,主节点的副端口的端口号、端口地址等,另外,还可以存储该与主节点的副端口连接的节点所属的保护VLAN的ID、该与主节点的副端口连接的节点的发送端口的信息和端口状态等信息。
S303、判断主节点的副端口的端口状态是否为阻塞状态,若是,则触发S304,若否,则触发S305。
获取主节点的副端口的端口状态之后,可以判断主节点的副端口的端口状态是否为阻塞状态,举例而言,可以在该与主节点的副端口连接的节点向主节点的副端口发送状态查询请求之后,根据主节点的副端口返回的端口状态信息进行判断,或者,也可以根据该与主节点的副端口连接的节点中存储的存储表中的主节点的副端口的端口状态进行判断。
若主节点的副端口的端口状态为阻塞状态,表明主节点的副端口会丢弃接收到的保护VLAN的报文,不会对保护VLAN的报文进行转发,也就是说,在主节点的副端口的端口状态为阻塞状态的情况下,向主节点的副端口转发数据报文是没有意义的,在这种情况下,可以执行S304。
若主节点的副端口的端口状态不是阻塞状态,表明当前主节点的副端口解除了对保护VLAN的阻塞,会转发保护VLAN的报文,也就是说,在主节点的副端口的端口状态不是阻塞状态的情况下,向主节点的副端口转发数据报文,可以使得主节点的副端口进一步对数据报文进行转发,从而保证环网上各节点的通信不被中断,在这种情况下,可以执行S305。
S304、取消向主节点的副端口转发数据报文。
举例而言,该与主节点的副端口连接的节点可以直接丢弃该数据报文;或者,也可以先将该数据报文存储在存储设备中,等待预设时间后再丢弃,从而减少数据丢失的可能性。
S305、向主节点的副端口转发数据报文。
其中,该与主节点的副端口连接的节点是通过其发送端口,向主节点的副端口转发数据报文。可以理解,在本实施例中,发送端口是指在RRPP环网中,该节点与与主节点的副端口进行连接的端口。比如,如图1所示,设备D的端口P3即为其发送端口。
举例而言,该与主节点的副端口连接的节点可以直接向主节点的副端口转发数据报文;或者,也可以进一步检测当前RRPP环网中的网络速度、链路带宽占用情况等信息,在这些信息满足数据报文转发条件的情况下,再向主节点的副端口转发数据报文。
一种实现方式中,在向主节点的副端口转发数据报文之前,除了根据主节点的副端口的端口状态,判断是否转发数据报文,还可以根据该与主节点的副端口连接的节点的发送端口的端口状态,判断是否转发数据报文。在发送端口的端口状态为转发状态的情况下,再向主节点的副端口转发数据报文;在发送端口的端口状态不是转发状态的情况下,则不论主节点的副端口的端口状态是阻塞状态还是转发状态,均取消向主节点的副端口转发数据报文。
本申请实施例中,上述根据该与主节点的副端口连接的节点的发送端口的端口状态,判断是否转发数据报文的步骤,可以在根据主节点的副端口的端口状态,判断是否转发数据报文之前,也可以在根据主节点的副端口的端口状态,判断是否转发数据报文之后,具体不做限定。
由以上可见,本申请实施例提供的数据转发方法,应用于RRPP环中,与主节点的副端口连接的节点,在接收数据报文之后,通过获取主节点的副端口的端口状态,判断主节点的副端口的端口状态是否为阻塞状态,若是,则取消向主节点的副端口转发数据报文;这样,当主节点的副端口为阻塞状态时,与其连接的节点不会向其转发数据报文,因此,可以减少对主节点的副端口所在链路带宽的占用,从而减少了带宽浪费。
如图4所示,为本申请实施例提供的第三种数据转发方法的流程示意图,应用于RRPP环中,与主节点的副端口连接的节点,该方法包括如下步骤:
S401、接收主节点的副端口发送的扩展报文,其中,扩展报文中携带主节点的副端口的端口状态。
主节点的副端口的端口状态可以分为两种:阻塞状态和转发状态。
其中,当RRPP环网链路完整时,主节点的副端口的端口状态为阻塞状态,也就是说,主节点的副端口会丢弃接收到的保护VLAN的报文,不会对保护VLAN的报文进行转发,这样,可以防止保护VLAN的报文在环网中形成广播风暴;
当RRPP环网链路发生故障时,主节点的副端口的端口状态为转发状态,也就是说,主节点的副端口解除对保护VLAN的阻塞,转发保护VLAN的报文,这样,可以保证环网上各节点的通信不被中断。
其中,可以通过如下方式,判断接收到的报文是否为主节点的副端口发送的扩展报文:
首先,接收待解析报文,然后,对待解析报文进行解析,确定待解析报文对应的发送端口的端口标识及待解析报文的报文格式,根据端口标识及报文格式,判断待解析报文是否为主节点的副端口发送的扩展报文,若是,则判定接收到的报文是主节点的副端口发送的扩展报文,进而,可以执行对扩展报文进行解析,确定主节点的副端口的端口状态,将主节点的副端口的端口状态存储至存储表中的步骤。
举例而言,端口标识可以为发送端口的路由、标签信息、地址信息等等,主节点的副端口发送的扩展报文可以为一种LLDP(Link Layer Discovery Protocol,链路层发现协议)的TLV格式扩展报文。TLV格式是一种BER(Basic Encoding Rule,基本编码规则)编码格式,其中,T(Type)代表报文类型,L(Length)代表报文长度,V(Value)代表报文中所携带的信息。
S402、对扩展报文进行解析,确定主节点的副端口的端口状态,将主节点的副端口的端口状态存储至存储表中。
在存储表中除了存储主节点的副端口的端口状态,还可以存储主节点的副端口的端口信息,比如,主节点的副端口的端口号、端口地址等,另外,还可以存储该与主节点的副端口连接的节点所属的保护VLAN的ID、该与主节点的副端口连接的节点的发送端口的信息和端口状态等信息。
S403、接收数据报文。
数据报文也就是携带了用户数据信息的报文,举例而言,数据报文可以为携带了音视频数据的报文,也可以是携带了用户网络请求的报文,等等。
其中,数据报文是该与主节点的副端口连接的节点的接收端口接收的。数据报文可以是接入RRPP环中的其他端口发送的,也可以是其他非RRPP环的端口发送的,具体不做限定。
S404、判断与主节点的副端口连接的节点的发送端口的端口状态是否为转发状态;若否,则触发S405;若是,则触发S406。
可以理解,在该与主节点的副端口连接的节点的发送端口的端口状态为转发状态的情况下,该节点才可能向主节点的副端口转发数据报文,在这种情况下,判断主节点的副端口的端口状态才是有需要的。基于此,先判断发送端口的端口状态,可以减少判断主节点的副端口的端口状态时,所消耗的计算资源。
S405、取消向主节点的副端口转发数据报文。
举例而言,该与主节点的副端口连接的节点可以直接丢弃该数据报文;或者,也可以先将该数据报文存储在存储设备中,等待预设时间后再丢弃,从而减少数据丢失的可能性。
S406、从存储表中,查询主节点的副端口的端口状态。
S407、判断主节点的副端口的端口状态是否为阻塞状态,若是,则触发S405,若否,则触发S408。
获取主节点的副端口的端口状态之后,可以判断主节点的副端口的端口状态是否为阻塞状态,举例而言,可以在该与主节点的副端口连接的节点向主节点的副端口发送状态查询请求之后,根据主节点的副端口返回的端口状态信息进行判断,或者,也可以根据该与主节点的副端口连接的节点中存储的存储表中的主节点的副端口的端口状态进行判断。
若主节点的副端口的端口状态为阻塞状态,表明主节点的副端口会丢弃接收到的保护VLAN的报文,不会对保护VLAN的报文进行转发,也就是说,在主节点的副端口的端口状态为阻塞状态的情况下,向主节点的副端口转发数据报文是没有意义的,在这种情况下,可以执行S405。
若主节点的副端口的端口状态不是阻塞状态,表明当前主节点的副端口解除了对保护VLAN的阻塞,会转发保护VLAN的报文,也就是说,在主节点的副端口的端口状态不是阻塞状态的情况下,向主节点的副端口转发数据报文,可以使得主节点的副端口进一步对数据报文进行转发,从而保证环网上各节点的通信不被中断,在这种情况下,可以执行S408。
S408、向主节点的副端口转发数据报文。
其中,该与主节点的副端口连接的节点是通过其发送端口,向主节点的副端口转发数据报文。可以理解,在本实施例中,发送端口是指在RRPP环网中,该节点与与主节点的副端口进行连接的端口。
举例而言,该与主节点的副端口连接的节点可以直接向主节点的副端口转发数据报文;或者,也可以进一步检测当前RRPP环网中的网络速度、链路带宽占用情况等信息,在这些信息满足数据报文转发条件的情况下,再向主节点的副端口转发数据报文。
由以上可见,本申请实施例提供的数据转发方法,应用于RRPP环中,与主节点的副端口连接的节点,在接收数据报文之后,通过获取主节点的副端口的端口状态,判断主节点的副端口的端口状态是否为阻塞状态,若是,则取消向主节点的副端口转发数据报文;这样,当主节点的副端口为阻塞状态时,与其连接的节点不会向其转发数据报文,因此,可以减少对主节点的副端口所在链路带宽的占用,从而减少了带宽浪费。
举例而言,如图5所示,为未应用本申请实施例提供的数据转发方法时,RRPP环中的带宽占用示意图。其中,图5中所示的RRPP环网的各个链路之间的带宽都为10G,数据报文的大小为2G,主节点的副端口P2的端口状态为阻塞状态。可以理解,在未应用本申请实施例提供的数据转发方法的情况下,由于数据报文的传输占用了各个链路间的带宽,因此,各个链路间的剩余带宽均为8G。
而如图6所示,为应用本申请实施例提供的数据转发方法时,RRPP环中的带宽占用示意图。其中,图6中所示的RRPP环网的各个链路之间的带宽都为10G,数据报文的大小为2G,主节点的副端口P2的端口状态为阻塞状态。可以理解,在应用本申请实施例提供的数据转发方法的情况下,由于主节点的副端口的端口状态为阻塞状态,因此,与主节点的副端口连接的节点不会向主节点的副端口转发数据报文,因此,主节点的副端口于该与主节点的副端口连接的节点之间的链路的剩余带宽为10G。
由以上可见,本申请实施例提供的数据转发方法,可以减少对主节点的副端口所在链路带宽的占用,从而减少了带宽浪费,尤其是在多域多环的情况下,可以有效的提供链路的带宽利用率,另外,本申请实施例提供的数据转发方法在RRPP环网中多域组网下流量进行负载分担时,减少带宽浪费的效果会更加明显。
与上述数据转发方法对应的,本申请实施例还提供了一种数据转发装置,该装置应用于RRPP环中,与主节点的副端口连接的节点,如图7所示,为本申请实施例提供的数据转发装置的结构示意图,该装置包括:
第一接收模块701,用于接收数据报文;
获取模块702,用于获取所述主节点的副端口的端口状态;
第一判断模块703,用于判断所述主节点的副端口的端口状态是否为阻塞状态;
转发模块704,用于在所述主节点的副端口的端口状态为阻塞状态的情况下,取消向所述主节点的副端口转发所述数据报文。
一种实现方式中,所述转发模块704,还用于在所述主节点的副端口的端口状态不是阻塞状态的情况下,向所述主节点的副端口转发所述数据报文。
一种实现方式中,所述装置还包括:
第二接收模块705,用于接收所述主节点的副端口发送的扩展报文,其中,所述扩展报文中携带所述主节点的副端口的端口状态;
存储模块706,用于对所述扩展报文进行解析,确定所述主节点的副端口的端口状态,将所述主节点的副端口的端口状态存储至存储表中;
所述获取模块702,具体用于从所述存储表中,查询所述主节点的副端口的端口状态。
一种实现方式中,所述第二接收模块705,具体用于接收待解析报文;对所述待解析报文进行解析,确定所述待解析报文对应的发送端口的端口标识及所述待解析报文的报文格式;根据所述端口标识及所述报文格式,判断所述待解析报文是否为所述主节点的副端口发送的扩展报文;若是,则触发所述存储模块706。
一种实现方式中,所述扩展报文为:链路层发现协议的TLV格式扩展报文。
一种实现方式中,所述装置还包括:
第二判断模块707,用于判断所述与主节点的副端口连接的节点的发送端口的端口状态是否为转发状态;若是,则触发所述获取模块702执行所述获取所述主节点的副端口的端口状态的步骤;
所述转发模块704,还用于在所述与主节点的副端口连接的节点的发送端口的端口状态不是转发状态的情况下,取消向所述主节点的副端口转发所述数据报文。
本申请实施例提供的数据转发装置,应用于RRPP环中,与主节点的副端口连接的节点,在接收数据报文之后,通过获取主节点的副端口的端口状态,判断主节点的副端口的端口状态是否为阻塞状态,若是,则取消向主节点的副端口转发数据报文;这样,当主节点的副端口为阻塞状态时,与其连接的节点不会向其转发数据报文,因此,可以减少对主节点的副端口所在链路带宽的占用,从而减少了带宽浪费。
本申请实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现如下步骤:
接收数据报文;
获取该主节点的副端口的端口状态;
判断该主节点的副端口的端口状态是否为阻塞状态;
若是,则取消向该主节点的副端口转发该数据报文。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由以上可见,本申请实施例提供的数据转发方法,当主节点的副端口为阻塞状态时,与其连接的节点不会向其转发数据报文,因此,可以减少对主节点的副端口所在链路带宽的占用,从而减少了带宽浪费。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据转发方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据转发方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、电子设备实施例和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (14)
1.一种数据转发方法,其特征在于,应用于RRPP环中,与主节点的副端口连接的节点,所述方法包括:
接收数据报文;
获取所述主节点的副端口的端口状态;
判断所述主节点的副端口的端口状态是否为阻塞状态;
若是,则取消向所述主节点的副端口转发所述数据报文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述主节点的副端口的端口状态不是阻塞状态的情况下,向所述主节点的副端口转发所述数据报文。
3.根据权利要求1所述的方法,其特征在于,在所述接收数据报文之前,所述方法还包括:
接收所述主节点的副端口发送的扩展报文,其中,所述扩展报文中携带所述主节点的副端口的端口状态;
对所述扩展报文进行解析,确定所述主节点的副端口的端口状态,将所述主节点的副端口的端口状态存储至存储表中;
所述获取所述主节点的副端口的端口状态,包括:
从所述存储表中,查询所述主节点的副端口的端口状态。
4.根据权利要求3所述的方法,其特征在于,所述接收所述主节点的副端口发送的扩展报文,包括:
接收待解析报文;
对所述待解析报文进行解析,确定所述待解析报文对应的发送端口的端口标识及所述待解析报文的报文格式;
根据所述端口标识及所述报文格式,判断所述待解析报文是否为所述主节点的副端口发送的扩展报文;
若是,则执行所述对所述扩展报文进行解析,确定所述主节点的副端口的端口状态,将所述主节点的副端口的端口状态存储至存储表中的步骤。
5.根据权利要求3所述的方法,其特征在于,所述扩展报文为:链路层发现协议的TLV格式扩展报文。
6.根据权利要求1所述的方法,其特征在于,在所述获取所述主节点的副端口的端口状态之前,所述方法还包括:
判断所述与主节点的副端口连接的节点的发送端口的端口状态是否为转发状态;
若是,则执行所述获取所述主节点的副端口的端口状态的步骤;
若否,则取消向所述主节点的副端口转发所述数据报文。
7.一种数据转发装置,其特征在于,应用于RRPP环中,与主节点的副端口连接的节点,所述装置包括:
第一接收模块,用于接收数据报文;
获取模块,用于获取所述主节点的副端口的端口状态;
第一判断模块,用于判断所述主节点的副端口的端口状态是否为阻塞状态;
转发模块,用于在所述主节点的副端口的端口状态为阻塞状态的情况下,取消向所述主节点的副端口转发所述数据报文。
8.根据权利要求7所述的装置,其特征在于,所述转发模块,还用于在所述主节点的副端口的端口状态不是阻塞状态的情况下,向所述主节点的副端口转发所述数据报文。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收所述主节点的副端口发送的扩展报文,其中,所述扩展报文中携带所述主节点的副端口的端口状态;
存储模块,用于对所述扩展报文进行解析,确定所述主节点的副端口的端口状态,将所述主节点的副端口的端口状态存储至存储表中;
所述获取模块,具体用于从所述存储表中,查询所述主节点的副端口的端口状态。
10.根据权利要求9所述的装置,其特征在于,
所述第二接收模块,具体用于接收待解析报文;对所述待解析报文进行解析,确定所述待解析报文对应的发送端口的端口标识及所述待解析报文的报文格式;根据所述端口标识及所述报文格式,判断所述待解析报文是否为所述主节点的副端口发送的扩展报文;若是,则触发所述存储模块。
11.根据权利要求9所述的装置,其特征在于,所述扩展报文为:链路层发现协议的TLV格式扩展报文。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二判断模块,用于判断所述与主节点的副端口连接的节点的发送端口的端口状态是否为转发状态;若是,则触发所述获取模块执行所述获取所述主节点的副端口的端口状态的步骤;
所述转发模块,还用于在所述与主节点的副端口连接的节点的发送端口的端口状态不是转发状态的情况下,取消向所述主节点的副端口转发所述数据报文。
13.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910058243.3A CN109617828A (zh) | 2019-01-22 | 2019-01-22 | 一种数据转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910058243.3A CN109617828A (zh) | 2019-01-22 | 2019-01-22 | 一种数据转发方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109617828A true CN109617828A (zh) | 2019-04-12 |
Family
ID=66017909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910058243.3A Pending CN109617828A (zh) | 2019-01-22 | 2019-01-22 | 一种数据转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109617828A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094190A (zh) * | 2007-08-20 | 2007-12-26 | 中兴通讯股份有限公司 | 以太环网保护控制报文的传输方法 |
CN101141333A (zh) * | 2007-10-12 | 2008-03-12 | 中兴通讯股份有限公司 | 一种以太环网系统主节点从端口故障处理方法 |
CN101217445A (zh) * | 2008-01-21 | 2008-07-09 | 杭州华三通信技术有限公司 | 防止环路产生的方法和以太环网系统 |
US20090268610A1 (en) * | 2007-09-25 | 2009-10-29 | Shaoyong Wu | Ethernet ring system, transit node of ethernet ring system and initialization method thereof |
CN102148801A (zh) * | 2010-02-05 | 2011-08-10 | 中兴通讯股份有限公司 | 一种以太网保护中阻塞端口的方法和系统 |
US20160234058A1 (en) * | 2013-09-18 | 2016-08-11 | Zte Corporation | Control method and device for self-loopback of network data |
CN107682221A (zh) * | 2017-09-22 | 2018-02-09 | 杭州迪普科技股份有限公司 | 一种基于erps的链路状态检查方法及装置 |
-
2019
- 2019-01-22 CN CN201910058243.3A patent/CN109617828A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094190A (zh) * | 2007-08-20 | 2007-12-26 | 中兴通讯股份有限公司 | 以太环网保护控制报文的传输方法 |
US20090268610A1 (en) * | 2007-09-25 | 2009-10-29 | Shaoyong Wu | Ethernet ring system, transit node of ethernet ring system and initialization method thereof |
CN101141333A (zh) * | 2007-10-12 | 2008-03-12 | 中兴通讯股份有限公司 | 一种以太环网系统主节点从端口故障处理方法 |
CN101217445A (zh) * | 2008-01-21 | 2008-07-09 | 杭州华三通信技术有限公司 | 防止环路产生的方法和以太环网系统 |
CN102148801A (zh) * | 2010-02-05 | 2011-08-10 | 中兴通讯股份有限公司 | 一种以太网保护中阻塞端口的方法和系统 |
US20160234058A1 (en) * | 2013-09-18 | 2016-08-11 | Zte Corporation | Control method and device for self-loopback of network data |
CN107682221A (zh) * | 2017-09-22 | 2018-02-09 | 杭州迪普科技股份有限公司 | 一种基于erps的链路状态检查方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Oh et al. | Priority-based flow control for dynamic and reliable flow management in SDN | |
US9832039B2 (en) | Network monitoring method, relay device, and network monitoring system | |
US7801060B2 (en) | Network management apparatus and network system | |
CN114125924B (zh) | Tsn业务的处理方法、装置及计算机可读存储介质 | |
CN108123824A (zh) | 一种网络故障检测方法及装置 | |
EP3720075B1 (en) | Data transmission method and virtual switch | |
CN101931982A (zh) | 一种网络故障定位方法及装置 | |
CN103297347B (zh) | 一种负载均衡处理方法及装置 | |
CN108833293A (zh) | 一种基于软件定义网络sdn的数据中心拥塞控制方法及装置 | |
EP3200398B1 (en) | Automated mirroring and remote switch port analyzer (rspan)/encapsulated remote switch port analyzer (erspan) functions using fabric attach (fa) signaling | |
CN102325079B (zh) | 报文传输方法和出口路由器 | |
CN104852855A (zh) | 拥塞控制方法、装置及设备 | |
CN108322836A (zh) | 一种数据传输的方法及装置 | |
CN109040186A (zh) | 一种基于nbiot网络的mqtt数据处理方法和装置 | |
JP3214454B2 (ja) | プログラム内蔵方式パケット処理装置 | |
CN108551679A (zh) | 基于局域网Mesh技术的无线设备通信方法及系统 | |
CN107547430A (zh) | 一种报文发送方法及装置 | |
CN105052106A (zh) | 用于接收和传输互联网协议(ip)数据包的方法和系统 | |
CN104160735A (zh) | 发报文处理方法、转发器、报文处理设备、报文处理系统 | |
CN110022236A (zh) | 一种报文转发方法及装置 | |
CN102546265B (zh) | 虚拟专用局域网的故障处理方法、装置及系统 | |
CN109802879A (zh) | 一种数据流路由方法及装置 | |
CN108235800A (zh) | 一种网络故障探测方法及控制中心设备 | |
CN109617828A (zh) | 一种数据转发方法及装置 | |
Holik | Meeting smart city latency demands with SDN |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190412 |