CN107659496B - 一种数据处理方法和装置 - Google Patents
一种数据处理方法和装置 Download PDFInfo
- Publication number
- CN107659496B CN107659496B CN201610601072.0A CN201610601072A CN107659496B CN 107659496 B CN107659496 B CN 107659496B CN 201610601072 A CN201610601072 A CN 201610601072A CN 107659496 B CN107659496 B CN 107659496B
- Authority
- CN
- China
- Prior art keywords
- aggregation
- aggregation link
- link group
- group
- port
- 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/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种数据处理方法和装置,其中,所述方法包括:建立聚合链路组;其中,一个聚合链路组中包括:一个传统交换机与两个及两个以上非传统交换机之间的两条及两条以上聚合链路;通过所述聚合链路组对报文进行分发处理。通过本申请实现了传统交换机和非传统交换机之间的跨设备链路聚合,聚合链路之间构成路径保护和负载分担,提高了整个网络的稳定性和可靠性。特别是在路径切换时,可以直接将路径切换至其他聚合链路来进行数据的分发处理,加快了网络中链路变化后的拓扑收敛时间,切换效率高。
Description
技术领域
本申请涉及数据通信技术领域,特别是涉及一种数据处理方法和装置。
背景技术
SDN(Software Defined Network,软件定义网络)是一种新型网络创新架构,其核心思想是将网络设备的控制层面与转发层面分离,以实现对网络流量的灵活控制,为核心网络及应用的创新提供良好的平台。为了维护整个网络的链路状态,通常需要对网络链路的连接状态进行检测。
目前,基于SDN的混合组网被广泛应用,所述基于SDN的混合组网包括:若干个传统交换机(非Openflow交换机,如,传统以太交换机)和若干个非传统交换机(Openflow交换机)。其中,Openflow交换机之间的链路可以由控制器通过发送LLDP(Link LayerDiscovery Protocol,链路层发现协议)报文来发现,控制器和传统交换机之间不存在Openflow通道,无法由控制器主动触发链路检测,只能在控制器和交换机上运行SNMP(Simple Network Management Protocol,简单网络管理协议)协议来完成拓扑收集。
发明内容
本申请提供一种克服上述问题或者至少部分地解决上述问题的数据处理方法和装置。
依据本申请的一个方面,提供了一种数据处理方法,包括:
建立聚合链路组;其中,一个聚合链路组中包括:一个传统交换机与两个及两个以上非传统交换机之间的两条及两条以上聚合链路;
通过所述聚合链路组对报文进行分发处理。
优选的,所述建立所述聚合链路组的步骤,包括:
获取一个传统交换机的两个及两个以上源端口分别与各个非传统交换机的一个目的端口之间的对应关系;
根据所述对应关系分别建立所述一个传统交换机的两个及两个以上源端口与各个非传统交换机的一个目的端口之间的两条及两条以上聚合链路,得到所述一个传统交换机对应的聚合链路组。
优选的,所述建立所述聚合链路组的步骤,包括:
获取聚合链路组配置请求;其中,所述聚合链路组配置请求中包括:请求配置的各个聚合链路组的组内成员信息、组内成员端口信息和组内成员端口映射信息;其中,所述组内成员端口映射信息包括:一个传统交换机的两个及两个以上源端口分别与各个非传统交换机的一个目的端口之间的映射关系;
根据所述组内成员端口映射信息分别建立所述一个传统交换机的两个及两个以上源端口与各个非传统交换机的一个目的端口之间的两条及两条以上聚合链路,得到所述一个传统交换机对应的聚合链路组。
优选的,所述建立聚合链路组的步骤,还包括:
配置各个聚合链接组下的各条聚合链路的MAC地址和端口号;其中,同一聚合链路组下的两条及两条以上聚合链路的MAC地址相同,同一聚合链路组下的两条及两条以上聚合链路的端口号唯一且互不相同。
优选的,在所述建立聚合链路组的步骤之后,所述方法还包括:
关闭同一聚合链路组下的两个及两个以上非传统交换机之间的主机迁移。
优选的,所述通过所述聚合链路组对报文进行分发处理,包括:
接收由第一主机通过第一聚合链路组下的第一聚合链路上报的数据请求报文;其中,所述第一聚合链路为第一传统交换机的第一端口与第一非传统交换机的第二端口之间的聚合链路;
将所述数据请求报文通过第二聚合链路组下的第二聚合链路分发至所述第二主机;其中,所述第二聚合链路组包括:除所述第一聚合链路组外的其他一个或多个聚合链接组,所述第二聚合链路为所述第二聚合链路组下的任意一条聚合链路。
优选的,所述方法还包括:
当一个聚合链路组中的任意一条聚合链路故障时,切换使用所述聚合链路组中的其他聚合链路进行所述报文的分发处理,并根据切换操作更新流表。
依据本申请的另一个方面,提供了一种数据处理装置,包括:
建立模块,用于建立聚合链路组;其中,一个聚合链路组中包括:一个传统交换机与两个及两个以上非传统交换机之间的两条及两条以上聚合链路;
分发模块,用于通过所述聚合链路组对报文进行分发处理。
优选的,所述装置还包括:
第一获取模块,用于获取一个传统交换机的两个及两个以上源端口分别与各个非传统交换机的一个目的端口之间的对应关系;
所述建立模块,还用于根据所述对应关系分别建立所述一个传统交换机的两个及两个以上源端口与各个非传统交换机的一个目的端口之间的两条及两条以上聚合链路,得到所述一个传统交换机对应的聚合链路组。
优选的,所述装置还包括:
第二获取模块,用于获取聚合链路组配置请求;其中,所述聚合链路组配置请求中包括:请求配置的各个聚合链路组的组内成员信息、组内成员端口信息和组内成员端口映射信息;其中,所述组内成员端口映射信息包括:一个传统交换机的两个及两个以上源端口分别与各个非传统交换机的一个目的端口之间的映射关系;
所述建立模块,还用于根据所述组内成员端口映射信息分别建立所述一个传统交换机的两个及两个以上源端口与所述多个非传统交换机的一个目的端口之间的两条及两条以上聚合链路,得到所述一个传统交换机对应的聚合链路组。
优选的,所述建立模块,还用于配置各个聚合链路组下的各条聚合链路的MAC地址和端口号;其中,同一聚合链路组下的两条及两条以上聚合链路的MAC地址相同,同一聚合链路组下的两条及两条以上聚合链路的端口号唯一且互不相同。
优选的,所述装置还包括:
关闭模块,用于在所述建立模块建立聚合链路组之后,关闭同一聚合链路组下的两个及两个以上非传统交换机之间的主机迁移。
优选的,所述装置还包括:
接收模块,用于接收由第一主机通过第一聚合链路组下的第一聚合链路上报的数据请求报文;其中,所述第一聚合链路为第一传统交换机的第一端口与第一非传统交换机的第二端口之间的聚合链路;
所述分发模块,还用于将所述数据请求报文通过所述第二聚合链路组下的第二聚合链路分发至所述第二主机;其中,所述第二聚合链路组包括:除所述第一聚合链路组外的其他一个或多个聚合链接组,所述第二聚合链路为所述第二聚合链路组下的任意一条聚合链路。
优选的,所述装置还包括:
切换模块,用于在一个聚合链路组中的任意一条聚合链路故障时,切换使用所述聚合链路组中的其他聚合链路进行所述报文的分发处理,并根据切换操作更新流表。
与现有技术相比,本申请具有以下优点:
本申请实施例公开的数据处理方案可以建立聚合链路组,然后基于建立的聚合链路组对数据请求报文进行分发处理。可见,通过本申请实例的方案实现了传统交换机和非传统交换机之间的跨设备链路聚合,聚合链路之间构成路径保护和负载分担,提高了整个网络的稳定性和可靠性。特别是在路径切换时,可以直接将路径切换至其他聚合链路来进行数据的分发处理,加快了网络中链路变化后的拓扑收敛时间,切换效率高。
附图说明
图1是本申请实施例中一种数据处理方法的步骤流程图;
图2是本申请实例中又一种数据处理方法的步骤流程图;
图3是本申请实施例中一种SDN混合组网的架构示意图;
图4是本申请实例中一种数据处理装置的结构框图;
图5是本申请实施例中一种优选的数据处理装置的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
基于SDN的混合组网中的拓扑搜集虽然可以通过SNMP协议来实现,但是交换机之间的路径切换效率却十分低下。比如当传统交换机的某个端口状态变成DOWN状态时,交换机将端口状态以Trap消息上报道控制器,控制器解析消息后进行拓扑计算,重新计算出转发路径,然后通过各个交换及更新转发表。当某个端口状态恢复成UP状态时,交换机将端口状态以Trap消息上报控制器,控制器重新向交换机获取LLDP信息,交换机从邻居获取到LLDP信息后上报到控制器,之后控制器更新拓扑并创建新的转发路径。
可见,在所述基于SDN的混合组网中存在如下问题:各个交换机设备之间(特别是传统交换机和非传统交换机之间)较为独立,难以实现负载分担;特别是在进行路径切换时,切换步骤冗长,拓扑收敛时间长,切换效率低。
参照图1,示出了本申请实施例中一种数据处理方法的步骤流程图。在本申请实施例中,所述数据处理方法可以应用于SDN混合组网环境下,以解决上述现有的SDN混合组网环境下的数据交互时存在的问题。
其中,在本申请实施例中,所述数据处理方法包括:
步骤102,建立聚合链路组。
在本实施例中,建立的聚合链路组可以为一个或一个以上。其中,一个聚合链路组中可以包括:一个传统交换机与两个及两个以上非传统交换机之间构成的两条及两条以上聚合。例如,一个传统交换机的一个端口可以与一个非传统交换机的一个端口聚合,得到一条聚合链路(如,聚合链路1);所述一个传统交换机的另一个端口可以与另一个非传统交换机的一个端口聚合,得到另一条聚合链路(如,聚合链路2);所述聚合链路1和聚合链路2可以构成一个聚合链路组。
步骤104,通过所述聚合链路组对报文进行分发处理。
在本实施例中,控制器可以接收通过一个聚合链路组下的任一聚合链路上报的数据请求报文,然后再通过另一聚合链路组下的聚合链路将接收到的数据请求报文进行分发。其中,为了保证数据请求报文上报和分发的正常执行,上报所述数据请求报文的聚合链路组不再用于所述数据请求报文的分发。
可见,通过本申请实例所述的方法实现了混合组网环境下传统交换机和非传统交换机之间的跨设备链路聚合,聚合链路之间构成路径保护和负载分担,提高了整个网络的稳定性和可靠性。特别是在路径切换时,可以直接将路径切换至其他聚合链路来进行数据的分发处理,加快了网络中链路变化后的拓扑收敛时间,切换效率高。
参照图2,示出了本申请实例中又一种数据处理方法的步骤流程图。在本申请实施例中,所述数据处理方法包括:
步骤202,建立聚合链路组。
在本实施例中,建立的聚合链路组可以为一个或一个以上。其中,一个聚合链路组中可以包括:一个传统交换机与两个及两个以上非传统交换机之间构成的两条及两条以上聚合。
在本实施例中,可以通过任意一种适当的方式建立所述聚合链路组。例如,包括但不仅限于动态建立方式或静态方式建立所述聚合链路组。下面分别对动态建立所述聚合链路组和静态建立所述聚合链路组的方式进行详细说明。
其中,
动态建立所述聚合链路组的流程可以如下:
步骤A1,获取一个传统交换机的两个及两个以上源端口分别与各个非传统交换机的一个目的端口之间的对应关系。
一般地,一个传统交换机上可以包括两个及两个以上的端口,所述传统交换机上的端口可以作为源端口。在本实施例中,可以但不仅限于根据LACP(Link AggregationControl Protocol,链路汇聚控制协议)协议报文确定一个传统交换机的两个及两个以上源端口分别与各个非传统交换机的一个目的端口之间的对应关系。
具体地,传统交换机可以通过源端口向非传统交换机的目的端口发送LACP协议报文,所述LACP协议报文中携带有所述传统交换机的源端口的端口号和所述非传统交换机的目的端口的端口号,因此,根据所述LACP协议报文可以确定传统交换机的源端口与非传统交换机的目的端口之间的对应关系。
其中,控制器可以向各个非传统交换机下发流表,以使各个非传统交换机不对各个传统交换机上报的LACP报文进行处理,而是直接将LACP报文上送至控制器,以便控制器根据LACP报文动态建立聚合链路组。
步骤A2,根据所述对应关系分别建立所述一个传统交换机的两个及两个以上源端口与各个非传统交换机的一个目的端口之间的两条及两条以上聚合链路,得到所述一个传统交换机对应的聚合链路组。
如前所述,一个传统交换机上可以两个及两个以上源端口,故,可以分别建立所述一个传统交换机上的两个及两个以上源端口对应的多条聚合链路,得到所述一个传统交换机对应的聚合链路组。其中,一条聚合链路也即:传统交换机的一个源端口与一个非传统交换机的一个目的端口之间的传输路径。
本领域技术人员应当明了的是,其他传统交换机对应的聚合链路组的建立流程可以参照上述步骤A1和A2的说明,本实施例在此不一一说明。
静态建立所述聚合链路组的流程可以如下:
步骤B1,获取聚合链路组配置请求。
在本实施例中,所述聚合链路组配置请求中可以包括:请求配置的各个聚合链路组的组内成员信息、组内成员端口信息和组内成员端口映射信息;其中,所述组内成员端口映射信息包括:一个传统交换机的两个及两个以上源端口分别与各个非传统交换机的一个目的端口之间的映射关系。
需要说明的是,所述聚合链路组配置请求可以根据用户的选择或配置确定。
步骤B2,根据所述组内成员端口映射信息分别建立所述一个传统交换机的两个及两个以上源端口与所述各个非传统交换机的一个目的端口之间的两条及两条以上聚合链路,得到所述一个传统交换机对应的聚合链路组。
本领域技术人员应当明了的是,其他传统交换机对应的聚合链路组的建立流程可以参照上述步骤B1和B2的说明,本实施例在此不一一说明。
在本实施例中,通过上述动态或静态方式建立聚合链路组之后,为了保证数据请求报文的分发处理流程的正常执行,还可以对聚合链路组中的组成员进行如下配置:配置各个聚合链接组下的各条聚合链路的MAC地址和端口号。其中,同一聚合链路组下的两条及两条以上聚合链路的MAC地址相同,同一聚合链路组下的两条及两条以上聚合链路的端口号唯一且互不相同。
步骤204,关闭同一聚合链路组下的两个及两个以上非传统交换机之间的主机迁移。
在本实施例中,为了避免识别错误,可以关闭同一聚合链路组下的两个及两个以上非传统交换机之间的主机迁移。由于关闭了同一聚合链路组下的两个及两个以上非传统交换机之间的主机迁移,故,当发送数据请求报文的源主机设备在聚合链路组下的各个聚合链路之间迁移时,控制器并不认为发生了主机迁移,而仅仅认为是在执行负载分担的转发。
步骤206,通过所述聚合链路组对报文进行分发处理。
在本实施例中,通过所述聚合链路组对报文进行分发处理既可以包括对数据请求报文(广播报文)的分发处理,也可以包括对应答报文(单播报文)的分发处理。其中,各个聚合链路组下的传统交换机可以作为用户接入层设备接收主机上报的报文,进而实现对报文的分发处理。
其中,
对数据请求报文的分发处理的具体流程可以如下:
步骤C1,接收由第一主机通过第一聚合链路组下的第一聚合链路上报的数据请求报文。
在本实施例中,所述第一聚合链路为第一传统交换机的第一端口与第一非传统交换机的第二端口之间的聚合链路,具体地,当第一主机向传统交换机发送一条数据请求报文时,传统交换机可以通过其对应的聚合链路组下的任意一条聚合链路将所述数据请求报文上送到对应的非传统交换机,再由所述非传统交换机将所述数据请求报文上送至控制器。
例如,传统交换机SW1包括两个端口:端口3和端口4,传统交换机SW1的端口3与非传统交换机SW3的端口1为一个聚合端口(也即,一条聚合链路),传统交换机SW1的端口4与非传统交换机SW4的端口1为一个聚合端口(也即,一条聚合链路),在本实施例中,可以通过哈希计算,根据哈希计算结果,选择传统交换机SW1的端口3将所述数据请求报文通过非传统交换机SW3的端口1上送至所述非传统交换机SW3,或,选择传统交换机SW1的端口4将所述数据请求报文通过非传统交换机SW4的端口1上送至所述非传统交换机SW4。然后,再由所述非传统交换机SW3或非传统交换机SW4将数据请求报文上送至控制器。
步骤C2,将所述数据请求报文通过第二聚合链路组下的第二聚合链路分发至所述第二主机。
在本实施例中,在将所述数据请求报文分发至第二主机时,可以通过已建立的聚合链路组实现:将所述数据请求报文通过所述第二聚合链路组下的第二聚合链路分发至所述第二主机,
其中,需要说明的是,在本实施例中,为了保证数据请求报文的正常传输,可以对所述数据请求报文进行广播抑制:数据请求报文的出端口与数据请求报文的入端口不允许隶属于同一聚合链路组,同时,一份数据请求报文只允许在一个聚合链路组下的其中一个聚合端口上发送。也即,所述第二聚合链路组可以包括:除所述第一聚合链路组外的其他一个或多个聚合链路组。进一步地,所述第二聚合链路为所述第二聚合链路组下的任意一条聚合链路。
需要说明的是,在本实施例中,在接收到由第一主机通过第一聚合链路组下的第一聚合链路上报的数据请求报文之后,还可以根据所述第一主机的主机地址、所述第一传统交换机的第一端口和所述第一非传统交换机的第二端口,建立流表;并将所述流表分发至SDN混合组网环境下的多个非传统交换机。
对应答报文的分发处理的具体流程可以如下:
步骤D1,接收所述第二主机上报的用于响应所述数据请求报文的应答报文。
在本实施例中,例如,所述数据请求报文被分发至第二主机,第二主机在接收到所述数据请求报文之后,可以生成一个应答报文,并将所述应答报文通过已建立的聚合链路组上送至控制器。
步骤D2,根据所述应答报文与所述流表的匹配结果,将所述应答报文发送至所述第一主机。
在本实施例中,所述应答报文是一个单播报文,可以将所述应答报文与已建立并分发的流表进行匹配,得到匹配结果;进而可以根据所述匹配结果确定的分发的路径将所述应答报文发送至所述第一主机。
步骤208,当一个聚合链路组中的任意一条聚合链路故障时,切换使用所述聚合链路组中的其他聚合链路进行所述报文的分发处理,并根据切换操作更新流表。
在本实施例中,聚合链路组中的某一非传统交换机成员的端口故障时,也即聚合链路组中的某一条聚合链路故障时,可以快速切换至所述聚合链路组中的其他聚合链路来进行数据的传输。例如,如前所述,当传统交换机SW1的端口3故障时,可以切换至SW1的端口4进行数据的分发处理。进一步地,需要根据切换后重新确定的数据分发路径对流表进行更新,以保证后续数据分发的正确性。
综上所述,本申请实施例所述的数据处理方法,可以建立一个以上聚合链路组,然后基于建立的聚合链路组对报文进行分发处理。可见,通过本申请实施例所述的方法实现了混合组网环境下传统交换机和非传统交换机之间的跨设备链路聚合,实现了传统交换机和非传统交换机之间的流量分担,改善了在混合组网情况下的链路变化性能,换而言之,聚合链路之间构成路径保护和负载分担,提高了整个网络的稳定性和可靠性。
其次,通过本申请实例所述的方法可以快速响应链路故障,在链路故障时快速将数据切换到其他聚合链路对应的路径上,加快了网络中链路变化后的拓扑收敛时间,提高了路径切换效率。
为了便于理解,基于上述实施例,本实施例以数据处理方法在SDN混合组网环境下的具体应用为例进行说明。
参照图3,示出了本申请实施例中一种SDN混合组网的架构示意图。如图3所述,所述SDN混合组网中包括:控制器、传统以太网交换机SW1和SW2、非传统交换机(Openflow交换机)SW3和SW4、第一主机PC10和第二主机PC20。SW1和SW2作为用户侧接入交换机分别接入第一主机PC10和第二PC20。控制器可以对所有交换机进行控制。其中,SW1和SW2通过SNMP协议和控制器通信,SW3和SW4通过Openflow协议连接到控制器,各个交换机之间通过物理链路互联。控制器已经通过LLDP报文获取了整个网络的拓扑和转发路径。
在本实施例中,通过如下几个部分来对所述SDN混合组网环境下的数据处理方法进行说明。
其一、聚合链路组建立
在本实施例中,聚合链路组的建立可以采用静态或动态方式建立。具体地:
1.1、动态建立聚合链路组
聚合链路组的动态建立可以基于LACP协议实现,动态建立聚合链路组时需要通过控制器进行特殊的适配处理:聚合链路下的传统交换机将聚和链路的聚合端口对端的网络设备识别为同一交换机设备(同一Openflow交换机),也即,聚和链路组中的每个Openflow交换机的设备地址相同,但端口号不同。
控制器接收到Openflow交换机上送的LACP报文后,解析出源地址和源端口,通过源地址和源端口就可以知道是哪一个传统交换机要建立动态聚合链路。控制器发送响应报文,将Openflow交换机侧的设备地址和端口换成虚拟的地址和端口,进而在传统交换机和多个Openflow交换机之间建立起了多个虚拟的聚合链路。具体流程可以如下:
步骤E1,SW1分别向两个端口port3和port4发出LACP协议报文,报文到达SW3和SW4,SW3、SW4分别将LACP报文通过Openflow协议上送到控制器。
步骤E2,控制器接收到SW3上报的LACP报文,获取SW3的设备号和SW3接收所述LACP报文的端口号;同时,解析所述LACP报文,得到SW1的设备号和端口号。
步骤E3,根据SW3的设备号和SW3接收所述LACP报文的端口号,以及,SW1的设备号和端口号,可以确定是SW1的端口port3需要和SW3的端口port1建立动态聚合链路,建立聚合链路1。
在本实施例中,可以保存所述聚合链路1的信息:源SW1、源port3、目的SW3和目的SW3的目的port1。
步骤E4,控制器接收到SW4上报的LACP报文,获取SW4的设备号和SW4接收所述LACP报文的端口号;同时,解析所述LACP报文,得到SW1的设备号和端口号。
步骤E5,根据SW4的设备号和SW4接收所述LACP报文的端口号,以及,SW1的设备号和端口号,可以确定是SW1的端口port4需要和SW4的端口port1建立动态聚合链路,建立聚合链路2。
在本实施例中,可以保存所述聚合链路2的信息:源SW1、源port4、目的SW4和目的SW4的目的port1。
步骤E6,控制器通过SW3的port1向SW1发送LACP报文,此时,写入一个自定义的虚拟地址MAC1和虚拟端口号port31。
在本实施例中,所述聚合链路1的对端设备的地址使用写入的MAC1,端口号使用写入的port31;其中,所述port31在该混合组网中唯一。
步骤E7,控制器通过SW4的port1向SW1发送LACP报文,此时,写入一个自定义的虚拟地址MAC1和虚拟端口号port41。
在本实施例中,所述聚合链路2的对端设备的地址使用写入的MAC1,端口号使用写入的port41;其中,所述port41在该混合组网中唯一。
可见,SW1分别从port3和port4收到SW3和SW4发送的LACP报文,由于聚合链路1和聚合链路2的对端设备使用同一地址MAC1,此时,SW1会认为是同一个对端设备(MAC1设备)的两个端口(端口port31和端口port41)和自己建立聚合链路。
其中,图3中的SW2和SW3、SW4之间也建立了聚合链路,其建立流程可以参照SW1和SW3、SW4之间的聚合链路的建立,在此不再赘述。
需要说明的是,在动态建立聚合链路组之前,可以通过控制器向各个非传统交换机下发流表,以使各个非传统交换机不对各个传统交换机上报的LACP报文进行处理,而是直接将LACP报文上送至控制器,以便控制器根据LACP报文动态建立聚合链路组。
1.2、静态建立聚合链路组
在静态聚合方式下,传统交换机可以根据聚合链路组配置请求中携带的组内成员和组内成员信息,结合当前的网络拓扑建立传统交换机源端设备端口和Openflow交换机目的端设备端口的聚合链路。
在本实施例中,当通过动态或静态方式建立聚合链路组之后,可以关闭Openflow交换机SW3和SW4之间的主机迁移操作。当混合组网中存在聚合链路组时,传统交换机在聚合链路组端口上进行负载分担和广播抑制:对于传统交换机而言,聚合组端口的对端设备是一个网络设备,转发到该聚合组端口上的报文只会从聚合组的某个成员口出去,从聚合组成员口进入的二层广播报文不会再次从聚合组的所有成员口转发出去。对于控制器而言,聚合组成员口所在的Openflow设备却是独立的Openflow交换机,仅仅是这些交换机上的链路被聚合在一起了,通过控制器广播的报文在这些聚合链路上只会发送一份,从该聚合链路学习到主机的源端口以聚合组端口形式存在,而不是单个的Openflow设备号和端口号,当源主机在聚合组的各个链路之间迁移时,控制器并不认为是发生了主机迁移,而仅仅认为是源交换机在执行负载分担的转发,基于聚合组链路的任何流表会在所有聚合链路的Openflow设备上下发,确保每一个聚合链路接收到的报文都可以匹配到流表并转发到正确的目的地。
其二、数据传输流程
数据传输流程的具体流程可以如下:
步骤F1,PC10发出ARP(Address Resolution Protocol,地址解析协议)报文。其中,ARP报文为广播报文,用于请求获取PC20的地址。
步骤F2,SW1收到ARP报文后,将ARP报文通过向聚合链路组上送到控制器。
例如,在本实施例中,可以通过哈希计算结果选择SW1的端口port3,将所述ARP报文上送至SW3,SW3将所述ARP报文上送至控制器。
步骤F3,控制器接收SW3上送的ARP报文,将ARP报文广播出去。
在本实施例中,由于ARP报文是从SW1的聚合链路接收到的,因此,根据本申请实施例中的定义,所述ARP报文不允许再从SW1-SW3-SW4这一聚合链路组发送出去,也即,SW3的port1和SW4的port1不能作为出端口,此外,SW3的port4与SW4之间的port3为非用户链路端口,也不能作为出端口。故,可以选择SW2-SW3-SW4这一聚合链路组将所述ARP报文广播出去。具体地,可以通过哈希计算结果,选择通过SW4的端口port2将ARP报文转发出去。
步骤F4,SW2接收通过SW4的端口port2发送的ARP报文,并将接收到的ARP报文发送到PC20。
步骤F5,PC20在接收到所述ARP报文之后生成应答报文。
其中,所述应答报文为单播报文,目的MAC地址为PC10的地址,源MAC地址为PC20的地址。
步骤F6,SW2收到应答报文,将所述应答报文上送至控制器。
在本实施例中,应答报文可以通过已建立的聚合链路上送至控制器。,
步骤F7,控制器接收到应答报文之后,可以通过流表匹配,将所述应答报文发送至主机PC10。
步骤F7,PC10收到应答报文之后,获取到PC20的主机地址,进而PC10和PC20之间可以直接发送IP单播报文进行交互。
在本实施例中,当SW1和SW3之间的链路故障时,SW1能够立即将报文上行流量切换到SW4上,与此同时控制器检测到SW1与SW3之间的聚合链路异常,可以对SW3上目的地址为PC10的流表进行更新,将出端口更新为SW3和SW4之间的端口,这样从SW2的聚合链路上送的到达SW3的流量也可以通过SW3与SW4之间的聚合链路到达SW4,并经由SW4到达SW1。至此,完成了SDN混合组网中传统交换机和Openflow交换机之间的跨设备聚合链路,通过该聚合链路交换机之间可以达到负载分担的目的,同时迅速响应链路故障,将流量切换到其他聚合链路和路径上,实现了链路聚合功能。
综上所述,本申请实施例所述的数据处理方法可以先建立聚合链路组,然后基于建立的聚合链路组对数据请求报文进行分发处理。可见,通过本申请实例所述的方法实现了混合组网环境下传统交换机和非传统交换机之间的跨设备链路聚合,实现了传统交换机和非传统交换机之间的流量分担,改善了在混合组网情况下的链路变化性能,换而言之,聚合链路之间构成路径保护和负载分担,提高了整个网络的稳定性和可靠性。
其次,通过本申请实例所述的方法可以快速响应链路故障,在链路故障时快速将数据切换到其他聚合链路对应的路径上,加快了网络中链路变化后的拓扑收敛时间,提高了路径切换效率。
需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必需的。
参照图4,示出了本申请实例中一种数据处理装置的结构框图。在本实施例中,所述数据处理装置,包括:
建立模块402,用于建立聚合链路组。
在本实施例中,一个聚合链路组中可以包括:一个传统交换机与两个及两个以上非传统交换机之间的两条及两条以上聚合链路。。
分发模块404,用于通过所述聚合链路组对报文进行分发处理。
在本实施例中,可以根据建立的聚合链路组,选择任一适当的聚合链路组,将报文通过选择的聚合链路组下的任一适当聚合链路进行分发。
在本实施例的一个优选方案中,参照图5,示出了本申请实施例中一种优选的数据处理装置的结构框图。
一优选的,所述数据处理装置还可以包括:第一获取模块406,用于获取一个传统交换机的两个及两个以上源端口分别与各个非传统交换机的一个目的端口之间的对应关系。相应地,所述建立模块402,还可以用于根据所述对应关系分别建立所述一个传统交换机的两个及两个以上源端口与各个非传统交换机的一个目的端口之间的两条及两条以上聚合链路,得到所述一个传统交换机对应的聚合链路组。
另一优选的,所述数据处理装置还可以包括:第二获取模块408,用于获取聚合链路组配置请求;其中,所述聚合链路组配置请求中包括:请求配置的各个聚合链路组的组内成员信息、组内成员端口信息和组内成员端口映射信息;其中,所述组内成员端口映射信息包括:一个传统交换机的两个及两个以上源端口分别与各个非传统交换机的一个目的端口之间的映射关系。相应地,所述建立模块402,还可以用于根据所述组内成员端口映射信息分别建立所述一个传统交换机的两个及两个以上源端口与所述多个非传统交换机的一个目的端口之间的两条及两条以上聚合链路,得到所述一个传统交换机对应的聚合链路组。
进一步优选的,所述建立模块402,还可以用于配置各个聚合链路组下的各条聚合链路的MAC地址和端口号。其中,同一聚合链路组下的两条及两条以上聚合链路的MAC地址相同,同一聚合链路组下的两条及两条以上聚合链路的端口号唯一且互不相同。
另一优选的,所述数据处理装置还可以包括:接收模块410,用于接收由第一主机通过第一聚合链路组下的第一聚合链路上报的数据请求报文;其中,所述第一聚合链路为第一传统交换机的第一端口与第一非传统交换机的第二端口之间的聚合链路。相应地,所述分发模块404,还可以用于将所述数据请求报文通过所述第二聚合链路组下的第二聚合链路分发至所述第二主机;其中,所述第二聚合链路组包括:除所述第一聚合链路组外的其他一个或多个聚合链接组,所述第二聚合链路为所述第二聚合链路组下的任意一条聚合链路。
再一优选的,所述数据处理装置还可以包括:
关闭模块412,用于在所述建立模块402建立聚合链路组之后,关闭同一聚合链路组下的两个及两个以上非传统交换机之间的主机迁移。
还一优选的,所述数据处理装置还可以包括:
切换模块414,用于在一个聚合链路组中的任意一条聚合链路故障时,切换使用所述聚合链路组中的其他聚合链路进行所述报文的分发处理,并根据切换操作更新流表。
综上所述,本申请实施例所述的数据处理装置可以先建立聚合链路组,然后基于建立的聚合链路组对数据请求报文进行分发处理。可见,通过本申请实例所述的装置实现了混合组网环境下传统交换机和非传统交换机之间的跨设备链路聚合,实现了传统交换机和非传统交换机之间的流量分担,改善了在混合组网情况下的链路变化性能,换而言之,聚合链路之间构成路径保护和负载分担,提高了整个网络的稳定性和可靠性。
其次,通过本申请实例所述的装置可以快速响应链路故障,在链路故障时快速将数据切换到其他聚合链路对应的路径上,加快了网络中链路变化后的拓扑收敛时间,提高了路径切换效率。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
以上对本申请所提供的一种数据处理方法和装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种数据处理方法,其特征在于,包括:
建立聚合链路组;其中,一个聚合链路组中包括:一个传统交换机与两个及两个以上非传统交换机之间的两条及两条以上聚合链路;
通过所述聚合链路组对报文进行分发处理;
其中,所述通过所述聚合链路组对报文进行分发处理,包括:
接收由第一主机通过第一聚合链路组下的第一聚合链路上报的数据请求报文;其中,所述第一聚合链路为第一传统交换机的第一端口与第一非传统交换机的第二端口之间的聚合链路;
将所述数据请求报文通过第二聚合链路组下的第二聚合链路分发至第二主机;其中,所述第二聚合链路组包括:除所述第一聚合链路组外的其他一个或多个聚合链接组,所述第二聚合链路为所述第二聚合链路组下的任意一条聚合链路。
2.根据权利要求1所述的方法,其特征在于,所述建立所述聚合链路组的步骤,包括:
获取一个传统交换机的两个及两个以上源端口分别与各个非传统交换机的一个目的端口之间的对应关系;
根据所述对应关系分别建立所述一个传统交换机的两个及两个以上源端口与各个非传统交换机的一个目的端口之间的两条及两条以上聚合链路,得到所述一个传统交换机对应的聚合链路组。
3.根据权利要求1所述的方法,其特征在于,所述建立所述聚合链路组的步骤,包括:
获取聚合链路组配置请求;其中,所述聚合链路组配置请求中包括:请求配置的各个聚合链路组的组内成员信息、组内成员端口信息和组内成员端口映射信息;其中,所述组内成员端口映射信息包括:一个传统交换机的两个及两个以上源端口分别与各个非传统交换机的一个目的端口之间的映射关系;
根据所述组内成员端口映射信息分别建立所述一个传统交换机的两个及两个以上源端口与各个非传统交换机的一个目的端口之间的两条及两条以上聚合链路,得到所述一个传统交换机对应的聚合链路组。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述建立聚合链路组的步骤,还包括:
配置各个聚合链接组下的各条聚合链路的MAC地址和端口号;其中,同一聚合链路组下的两条及两条以上聚合链路的MAC地址相同,同一聚合链路组下的两条及两条以上聚合链路的端口号唯一且互不相同。
5.根据权利要求1所述的方法,其特征在于,在所述建立聚合链路组的步骤之后,所述方法还包括:
关闭同一聚合链路组下的两个及两个以上非传统交换机之间的主机迁移。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当一个聚合链路组中的任意一条聚合链路故障时,切换使用所述聚合链路组中的其他聚合链路进行所述报文的分发处理,并根据切换操作更新流表。
7.一种数据处理装置,其特征在于,包括:
建立模块,用于建立聚合链路组;其中,一个聚合链路组中包括:一个传统交换机与两个及两个以上非传统交换机之间的两条及两条以上聚合链路;
接收模块,用于接收由第一主机通过第一聚合链路组下的第一聚合链路上报的数据请求报文;其中,所述第一聚合链路为第一传统交换机的第一端口与第一非传统交换机的第二端口之间的聚合链路;
分发模块,用于将所述数据请求报文通过第二聚合链路组下的第二聚合链路分发至第二主机;其中,所述第二聚合链路组包括:除所述第一聚合链路组外的其他一个或多个聚合链接组,所述第二聚合链路为所述第二聚合链路组下的任意一条聚合链路。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第一获取模块,用于获取一个传统交换机的两个及两个以上源端口分别与各个非传统交换机的一个目的端口之间的对应关系;
所述建立模块,还用于根据所述对应关系分别建立所述一个传统交换机的两个及两个以上源端口与各个非传统交换机的一个目的端口之间的两条及两条以上聚合链路,得到所述一个传统交换机对应的聚合链路组。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取聚合链路组配置请求;其中,所述聚合链路组配置请求中包括:请求配置的各个聚合链路组的组内成员信息、组内成员端口信息和组内成员端口映射信息;其中,所述组内成员端口映射信息包括:一个传统交换机的两个及两个以上源端口分别与各个非传统交换机的一个目的端口之间的映射关系;
所述建立模块,还用于根据所述组内成员端口映射信息分别建立所述一个传统交换机的两个及两个以上源端口与所述多个非传统交换机的一个目的端口之间的两条及两条以上聚合链路,得到所述一个传统交换机对应的聚合链路组。
10.根据权利要求7-9任一项所述的装置,其特征在于,所述建立模块,还用于配置各个聚合链路组下的各条聚合链路的MAC地址和端口号;其中,同一聚合链路组下的两条及两条以上聚合链路的MAC地址相同,同一聚合链路组下的两条及两条以上聚合链路的端口号唯一且互不相同。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
关闭模块,用于在所述建立模块建立聚合链路组之后,关闭同一聚合链路组下的两个及两个以上非传统交换机之间的主机迁移。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括:
切换模块,用于在一个聚合链路组中的任意一条聚合链路故障时,切换使用所述聚合链路组中的其他聚合链路进行所述报文的分发处理,并根据切换操作更新流表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610601072.0A CN107659496B (zh) | 2016-07-26 | 2016-07-26 | 一种数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610601072.0A CN107659496B (zh) | 2016-07-26 | 2016-07-26 | 一种数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107659496A CN107659496A (zh) | 2018-02-02 |
CN107659496B true CN107659496B (zh) | 2021-02-19 |
Family
ID=61126602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610601072.0A Active CN107659496B (zh) | 2016-07-26 | 2016-07-26 | 一种数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107659496B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108337163B (zh) * | 2018-02-07 | 2020-11-06 | 北京百度网讯科技有限公司 | 用于汇聚链路的方法和装置 |
CN109039888A (zh) * | 2018-08-10 | 2018-12-18 | 新华三技术有限公司合肥分公司 | 报文环路消除方法及分布式弹性dr设备 |
CN113765815B (zh) * | 2020-06-05 | 2024-03-26 | 华为技术有限公司 | 组播报文负载分担的方法、设备和系统 |
CN112367254B (zh) * | 2020-10-30 | 2022-08-26 | 新华三技术有限公司 | 跨设备链路聚合方法、装置和电子设备 |
CN115567437A (zh) * | 2021-07-01 | 2023-01-03 | 中兴通讯股份有限公司 | 跨设备链路聚合的切换方法、系统、交换机及存储介质 |
CN115051947B (zh) * | 2022-06-30 | 2024-02-23 | 中兴通讯股份有限公司 | 通信状态切换、端口配置方法、通信系统及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101404619A (zh) * | 2008-11-17 | 2009-04-08 | 杭州华三通信技术有限公司 | 一种实现服务器负载均衡的方法和一种三层交换机 |
CN101729424A (zh) * | 2009-12-16 | 2010-06-09 | 杭州华三通信技术有限公司 | 一种流量转发的方法、设备和系统 |
CN101854283A (zh) * | 2010-06-01 | 2010-10-06 | 杭州华三通信技术有限公司 | 一种rpr环网的通信方法和设备 |
US8730963B1 (en) * | 2010-11-19 | 2014-05-20 | Extreme Networks, Inc. | Methods, systems, and computer readable media for improved multi-switch link aggregation group (MLAG) convergence |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8213296B2 (en) * | 2009-05-14 | 2012-07-03 | Verizon Patent And Licensing Inc. | Link aggregation protection |
CN101599907B (zh) * | 2009-07-31 | 2012-01-04 | 杭州华三通信技术有限公司 | 流量转发方法和系统 |
CN103067291B (zh) * | 2012-12-24 | 2016-08-17 | 杭州华三通信技术有限公司 | 一种上下行链路关联的方法和装置 |
CN103905325B (zh) * | 2012-12-26 | 2018-12-11 | 南京中兴软件有限责任公司 | 二层网络数据传送方法及网络节点 |
CN104253764B (zh) * | 2013-06-28 | 2017-05-17 | 新华三技术有限公司 | 一种链路聚合的方法和设备 |
US9385942B2 (en) * | 2014-04-30 | 2016-07-05 | Extreme Networks, Inc. | Methods, systems, and computer readable media for providing N-node multi-switch link aggregation groups (MLAGs) |
CN104168209B (zh) * | 2014-08-28 | 2017-11-14 | 新华三技术有限公司 | 多接入sdn网络报文转发方法和控制器 |
CN104639464B (zh) * | 2015-01-09 | 2018-06-15 | 盛科网络(苏州)有限公司 | OpenFlow交换机上实现跨交换机链路聚合的系统及方法 |
-
2016
- 2016-07-26 CN CN201610601072.0A patent/CN107659496B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101404619A (zh) * | 2008-11-17 | 2009-04-08 | 杭州华三通信技术有限公司 | 一种实现服务器负载均衡的方法和一种三层交换机 |
CN101729424A (zh) * | 2009-12-16 | 2010-06-09 | 杭州华三通信技术有限公司 | 一种流量转发的方法、设备和系统 |
CN101854283A (zh) * | 2010-06-01 | 2010-10-06 | 杭州华三通信技术有限公司 | 一种rpr环网的通信方法和设备 |
US8730963B1 (en) * | 2010-11-19 | 2014-05-20 | Extreme Networks, Inc. | Methods, systems, and computer readable media for improved multi-switch link aggregation group (MLAG) convergence |
Also Published As
Publication number | Publication date |
---|---|
CN107659496A (zh) | 2018-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107659496B (zh) | 一种数据处理方法和装置 | |
US11151163B2 (en) | Scalable spine nodes with partial replication of routing information in a network environment | |
CN109845200B (zh) | 用于检测并防止网络环路的方法、系统、存储介质和装置 | |
CN108880968B (zh) | 软件定义网络中广播、组播实现方法及装置、存储介质 | |
US9369375B2 (en) | Link-layer level link aggregation autoconfiguration | |
US10887119B2 (en) | Multicasting within distributed control plane of a switch | |
US20160212048A1 (en) | Openflow service chain data packet routing using tables | |
EP3188409A1 (en) | Oam mechanisms for evpn active-active services | |
Bianco et al. | Scalability of ONOS reactive forwarding applications in ISP networks | |
US10171303B2 (en) | IP-based interconnection of switches with a logical chassis | |
EP2843906B1 (en) | Method, apparatus, and system for data transmission | |
US9590898B2 (en) | Method and system to optimize packet exchange between the control and data plane in a software defined network | |
CN110061915B (zh) | 跨多个架构交换机的虚拟链路聚合的方法和系统 | |
CN104285416A (zh) | 在存储区域网络中端接覆盖隧道的虚拟路由器 | |
JP6072278B2 (ja) | 仮想シャーシシステム制御プロトコル | |
US9866436B2 (en) | Smart migration of monitoring constructs and data | |
US10404544B2 (en) | Network topology determining method and apparatus, and centralized network status information storage device | |
JP6109954B2 (ja) | 仮想シャーシシステムにおけるパススルーモードのためのシステムおよび方法 | |
JP6299745B2 (ja) | 通信システム、制御装置、通信方法及びプログラム | |
Amamou et al. | A trill-based multi-tenant data center network | |
JP2016501463A (ja) | 管理アクションが仮想シャーシの分割をトリガーするという警告を発行するかどうかが決定される、ネットワークノード、および仮想シャーシシステム内で動作可能であるノードにおける方法 | |
US11025536B1 (en) | Support for flooding in encapsulation and inter-VLAN communication via proxy-ARP | |
US11711240B1 (en) | Method to provide broadcast/multicast support in public cloud | |
US11658899B2 (en) | Routing configuration for data center fabric maintenance | |
WO2022053007A1 (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 |