CN106101001A - 一种不确定多播传输方法 - Google Patents
一种不确定多播传输方法 Download PDFInfo
- Publication number
- CN106101001A CN106101001A CN201610348473.XA CN201610348473A CN106101001A CN 106101001 A CN106101001 A CN 106101001A CN 201610348473 A CN201610348473 A CN 201610348473A CN 106101001 A CN106101001 A CN 106101001A
- Authority
- CN
- China
- Prior art keywords
- transmitting terminal
- receiving terminal
- transmission
- path
- terminal
- 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.)
- Granted
Links
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/16—Multipoint 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/02—Topology update or discovery
-
- 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/12—Shortest path evaluation
- H04L45/122—Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
-
- 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/48—Routing tree calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/806—Broadcast or multicast traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种不确定多播传输方法包括:在软件定义网络中生成拓扑图,确定发送端、接收端与转发节点之间的传输路径;确定接收端选择发送端的数量限制,邻边选择限制,传输路径选择限制,以及多波传输限制;根据发送端、接收端与转发节点之间的传输路径,任意两个发送端、接收端与转发节点之间的传输代价,接收端选择发送端的数量限制,邻边选择限制,传输路径选择限制,以及多波传输限制,计算出不确定多播传输的最小代价森林。本发明使得不确定性多播传输能够在软件定义网络架构中工作,并且具有较小的传输代价与时间复杂度。
Description
技术领域
本发明涉及软件定义数据中心网络,特别地,涉及一种不确定多播传输方法。
背景技术
从一个相同网络节点向多个网络节点逐一分发相同数据往往占用大量带宽,因为发送端需要针对每个接收端发起一项单播传输。为解决这一难题,业界提出了多播传输协议,其能有效降低对带宽的消耗同时降低了发送端的工作负载。其根本原因是,通过复用一棵多播树避免不断地从源头向各个接收端传输相同的内容。尽管多播协议的优势非常显著,但是在互联网上部署多播协议仍然面临许多障碍。直到最近,多播协议才在IPTV网络,企业网和数据中心等网络中得到了一些部署和应用。
软件定义网络(Software‐defined networking,SDN)为网络资源管理和网络应用创新提供了一种灵活的网络架构。在把网络的控制面和数据面分离之后,控制器负责为整个网络提供一个可编程的控制面。控制器通过北向接口接收用户关于网络资源和网络功能的需求,并且对底层的物理网络进行全局性管理。用户的需求会被转换为一系列针对网络资源的控制策略,再通过南向接口将控制策略下发给网络设备,对应的网络设备据此更新自己的流表。因此SDN的出现为部署灵活的网络协议和创新的网络应用提供了很好的机会,例如流量工程、节能路由、多播协议等。但是,SDN场景下的多播协议仍然缺乏足够的关注和研究。
在现有的多播路由方法中,协议无关组播(PIM)的应用最为广泛,其采用最短路径树来连接发送端和接收端。PIM方法的不足之处在于:从每个接收端到发送端的最短路径彼此之间互相独立,难以尽可能多地共用一些链路。因此,这种多播路由协议无法将占用的网络链路数量最小化,进而不能显著降低多播传输造成的网络开销。为此,不少多播方面的研究关注于解决斯坦纳最小树问题(Steiner minimum tree,SMT)。这一NP难问题旨在最小化一项多播传输对应多播树中的链路数目。虽然SMT方法比PIM方法更进一步,但是由于计算复杂度高和分布式部署困难等原因仍然没有在实际网络中被采用。随着SDN技术的出现和发展,在网络中实践各种多播协议逐渐成为可能。
上述多播路由方法都要求事先获得足够丰富的先验知识,例如每项多播传输的发送端位置必须确定,这种多播传输被称为确定性多播。但是,很多情况下,多播传输的很多先验知识并不一定事先确定。也就是说,多播传输的发送端并没有必要一定位于某个固定的位置,只要满足多播传输的实际需求即可。这种情况主要归因于数据中心内普遍使用的内容副本机制,其出发点是提高网络应用的高效性和鲁棒性。实际上,如果需要把同一个文件传输给多个接收端,该多播传输的发送端理论上可以选择该文件的任何副本。由于发送端的选择存在多样性,才导致出现了不确定性多播传输问题。
针对现有技术中不确定性多播传输无法通过套用斯坦纳最小树在软件定义网络架构中解决的问题,目前尚未有有效的解决方案。
发明内容
有鉴于此,本发明的目的在于提出一种不确定多播传输方法,能够在软件定义网络架构中进行不确定性多播传输,并且具有较小的传输代价与时间复杂度。
根据本发明的一个方面,提供了一种不确定多播传输方法。
根据本发明提供的不确定多播传输方法包括:
在软件定义网络中生成拓扑图,确定发送端、接收端与转发节点之间的传输路径;
确定接收端选择发送端的数量限制,邻边选择限制,传输路径选择限制,以及多波传输限制;
根据发送端、接收端与转发节点之间的传输路径,任意两个发送端、接收端与转发节点之间的传输代价,接收端选择发送端的数量限制,邻边选择限制,传输路径选择限制,以及多波传输限制,计算出不确定多播传输的最小代价森林。
其中,在软件定义网络中生成拓扑图,确定发送端、接收端与转发节点之间的传输路径包括:
获取软件定义网络中发送端的数量、接收端的数量与转发节点的数量;
根据软件定义网络中发送端的数量、接收端的数量与转发节点的数量在软件定义网络中生成拓扑无向图;
根据拓扑无向图,确定发送端、接收端与转发节点之间的传输路径。
并且,确定发送端、接收端与转发节点之间的传输路径包括:
确定指定发送端到指定接收端是否存在通路;
确定指定传输路径是否位于指定发送端到指定接收端的通路上;
确定任意两个发送端、接收端与转发节点之间的传输代价。
并且,确定接收端选择发送端的数量限制,邻边选择限制,传输路径选择限制,以及多波传输限制包括;
根据指定发送端到指定接收端是否存在通路,确定任意接收端都与一个发送端有通路;
根据指定发送端到指定接收端是否存在通路、与指定传输路径是否位于指定发送端到指定接收端的通路上,确定指定任意接收端与发送端的通路上都存在一个发送端的相邻节点;
根据指定发送端到指定接收端是否存在通路、与指定传输路径是否位于指定发送端到指定接收端的通路上,确定指定任意接收端都与发送端的通路上都存在一个接收端的相邻节点;
根据指定发送端到指定接收端是否存在通路、与指定传输路径是否位于指定发送端到指定接收端的通路上,确定指定任意接收端都与发送端的通路上每条传输路径都只出现一次;
根据与指定传输路径是否位于指定发送端到指定接收端的通路上,确定多波传输的最小代价森林包括被选定的指定传输路径。
同时,在拓扑无向图中,发送端、接收端与转发节点均为节点,发送端、接收端与转发节点之间的传输路径均为两点之间的线段;根据发送端、接收端与转发节点之间的传输路径,任意两个发送端、接收端与转发节点之间的传输代价,接收端选择发送端的数量限制,邻边选择限制,传输路径选择限制,以及多波传输限制,计算出不确定多播传输的最小代价森林包括:
根据拓扑无向图、接收端集合与发送端集合,构建拓扑完全图;
根据完全图,计算最小生成树;
对最小生成树进行剪枝,获得剪枝树;
将剪枝树中的边替换为拓扑无向图中的最短路径,得到最小代价森林。
另外,在拓扑无向图中,发送端、接收端与转发节点均为节点,发送端、接收端与转发节点之间的传输路径均为两点之间的线段;根据发送端、接收端与转发节点之间的传输路径,任意两个发送端、接收端与转发节点之间的传输代价,接收端选择发送端的数量限制,邻边选择限制,传输路径选择限制,以及多波传输限制,计算出不确定多播传输的最小代价森林包括:
根据拓扑无向图、接收端集合、发送端集合与转发节点集合,从转发节点集合中识别共享节点;
根据拓扑无向图、接收端集合、发送端集合与共享转发节点,构建拓扑完全图;
根据完全图,计算最小生成树;
对最小生成树进行剪枝,获得剪枝树;
将剪枝树中的边替换为拓扑无向图中的最短路径,得到最小代价森林。
并且,根据拓扑无向图、接收端集合、发送端集合与转发节点集合,从转发节点集合中识别共享节点包括:
根据拓扑无向图、接收端集合、发送端集合与转发节点集合,计算任意发送端与任意接收端之间的最短路径、以及任意两个接收端之间的最短路径;
从任意发送端与任意接收端之间的最短路径、以及任意两个接收端之间的最短路径中提取全部中间转发节点,并计算每个中间转发节点被其他最短路径共享使用的频次;
将每个中间转发节点被其他最短路径共享使用的频次与预先指定的阈值时进行比较,将频次大于阈值的中间转发节点识别为共享节点。
上述最小生成树中的任意两个节点仅通过一条通路连接。
上述最小生成树进行剪枝,获得剪枝树包括:
遍历每一对发送端的连接通路,获取每一条连接通路上传输代价最大的邻边;
将连接通路上传输代价最大的邻边按降序排列;
掉排序循序依次对传输代价最大的邻边进行剪枝,直到每一对发送端之间都不存在连接通路为止,获得剪枝树。
并且,在完成剪枝之后,还从最小生成树删除所有完全孤立的发送端。
从上面所述可以看出,本发明提供的技术方案通过使用在软件定义网络 中生成拓扑图,确定接收端选择发送端的数量限制,邻边选择限制,传输路径选择限制,以及多波传输限制并计算出不确定多播传输的最小代价森林的技术手段,使得不确定性多播传输能够在软件定义网络架构中工作,并且具有较小的传输代价与时间复杂度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的一种不确定多播传输方法的流程图;
图2为根据本发明实施例的一种不确定多播传输方法中,一个随机网络的无向拓扑结构图;
图3为根据本发明实施例的一种不确定多播传输方法中,s1担任唯一发送端时随机网络的多播树结构图;
图4为根据本发明实施例的一种不确定多播传输方法中,s2担任唯一发送端时随机网络的多播树结构图;
图5为根据本发明实施例的一种不确定多播传输方法中,s1与s2同时担任发送端时随机网络的多播树结构图;
图6为根据本发明实施例的一种不确定多播传输方法中,一个随机网络的无向拓扑结构图;
图7为根据本发明实施例的一种不确定多播传输方法中,一个随机网络的最小生成树结构图;
图8为根据本发明实施例的一种不确定多播传输方法中,一个随机网络的经过剪枝的最小生成树结构图;
图9为根据本发明实施例的一种不确定多播传输方法中,一个随机网络的最小代价森林;
图10为根据本发明实施例的一种不确定多播传输方法中,一个随机网络在M‐MCF算法下的最小生成树结构图;
图11为根据本发明实施例的一种不确定多播传输方法中,一个随机网络在M‐MCF算法下的经过剪枝的最小生成树结构图;
图12为根据本发明实施例的一种不确定多播传输方法中,一个随机网络在M‐MCF算法下的最小代价森林;
图13为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF的总链路代价‐发送端数目折线比较图;
图14为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF的数据流最短完成时间‐发送端数目折线比较图;
图15为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF的数据流平均完成时间‐发送端数目折线比较图;
图16为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF的数据流最长完成时间‐发送端数目折线比较图;
图17为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF的总链路代价‐接收端数目折线比较图;
图18为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF的数据流最短完成时间‐接收端数目折线比较图;
图19为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF的数据流平均完成时间‐接收端数目折线比较图;
图20为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF的数据流最长完成时间‐接收端数目折线比较图;
图21为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF的总链路代价‐交换机数目折线比较图;
图22为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF的最大路由跳数‐交换机数目折线比较图;
图23为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF的总链路代价‐发送端数目折线比较图;
图24为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF的最大路由跳数‐发送端数目折线比较图;
图25为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF的总链路代价‐接收端数目折线比较图;
图26为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF的最大路由跳数‐接收端数目折线比较图;
图27为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、 E‐ECF在正则网络中的总链路代价‐网络规模折线比较图;
图28为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF在正则网络中的总链路代价‐发送端数目折线比较图;
图29为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF在正则网络中的总链路代价‐接收端数目折线比较图;
图30为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF在无标度网络中的总链路代价‐网络规模折线比较图;
图31为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF在无标度网络中的总链路代价‐发送端数目折线比较图;
图32为根据本发明实施例的一种不确定多播传输方法中,SMT、P‐ECF、E‐ECF在无标度网络中的总链路代价‐接收端数目折线比较图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进一步进行清楚、完整、详细地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的一个实施例,提供了一种基于软件定义数据中心网络的控制器的最小覆盖方法。
如图1所示,根据本发明的实施例提供的基于软件定义数据中心网络的控制器的最小覆盖方法包括:
步骤S101,在软件定义网络中生成拓扑图,确定发送端、接收端与转发节点之间的传输路径;
步骤S103,确定接收端选择发送端的数量限制,邻边选择限制,传输路径选择限制,以及多波传输限制;
步骤S105,根据发送端、接收端与转发节点之间的传输路径,任意两个发送端、接收端与转发节点之间的传输代价,接收端选择发送端的数量限制,邻边选择限制,传输路径选择限制,以及多波传输限制,计算出不确定多播传输的最小代价森林。
其中,在软件定义网络中生成拓扑图,确定发送端、接收端与转发节点之间的传输路径包括:
获取软件定义网络中发送端的数量、接收端的数量与转发节点的数量;
根据软件定义网络中发送端的数量、接收端的数量与转发节点的数量在软件定义网络中生成拓扑无向图;
根据拓扑无向图,确定发送端、接收端与转发节点之间的传输路径。
并且,确定发送端、接收端与转发节点之间的传输路径包括:
确定指定发送端到指定接收端是否存在通路;
确定指定传输路径是否位于指定发送端到指定接收端的通路上;
确定任意两个发送端、接收端与转发节点之间的传输代价。
并且,确定接收端选择发送端的数量限制,邻边选择限制,传输路径选择限制,以及多波传输限制包括;
根据指定发送端到指定接收端是否存在通路,确定任意接收端都与一个发送端有通路;
根据指定发送端到指定接收端是否存在通路、与指定传输路径是否位于指定发送端到指定接收端的通路上,确定指定任意接收端与发送端的通路上都存在一个发送端的相邻节点;
根据指定发送端到指定接收端是否存在通路、与指定传输路径是否位于指定发送端到指定接收端的通路上,确定指定任意接收端都与发送端的通路上都存在一个接收端的相邻节点;
根据指定发送端到指定接收端是否存在通路、与指定传输路径是否位于指定发送端到指定接收端的通路上,确定指定任意接收端都与发送端的通路上每条传输路径都只出现一次;
根据与指定传输路径是否位于指定发送端到指定接收端的通路上,确定多波传输的最小代价森林包括被选定的指定传输路径。
同时,在拓扑无向图中,发送端、接收端与转发节点均为节点,发送端、接收端与转发节点之间的传输路径均为两点之间的线段;根据发送端、接收端与转发节点之间的传输路径,任意两个发送端、接收端与转发节点之间的传输代价,接收端选择发送端的数量限制,邻边选择限制,传输路径选择限制,以及多波传输限制,计算出不确定多播传输的最小代价森林包括:
根据拓扑无向图、接收端集合与发送端集合,构建拓扑完全图;
根据完全图,计算最小生成树;
对最小生成树进行剪枝,获得剪枝树;
将剪枝树中的边替换为拓扑无向图中的最短路径,得到最小代价森林。
另外,在拓扑无向图中,发送端、接收端与转发节点均为节点,发送端、接收端与转发节点之间的传输路径均为两点之间的线段;根据发送端、接收端与转发节点之间的传输路径,任意两个发送端、接收端与转发节点之间的传输代价,接收端选择发送端的数量限制,邻边选择限制,传输路径选择限制,以及多波传输限制,计算出不确定多播传输的最小代价森林包括:
根据拓扑无向图、接收端集合、发送端集合与转发节点集合,从转发节点集合中识别共享节点;
根据拓扑无向图、接收端集合、发送端集合与共享转发节点,构建拓扑完全图;
根据完全图,计算最小生成树;
对最小生成树进行剪枝,获得剪枝树;
将剪枝树中的边替换为拓扑无向图中的最短路径,得到最小代价森林。
并且,根据拓扑无向图、接收端集合、发送端集合与转发节点集合,从转发节点集合中识别共享节点包括:
根据拓扑无向图、接收端集合、发送端集合与转发节点集合,计算任意发送端与任意接收端之间的最短路径、以及任意两个接收端之间的最短路径;
从任意发送端与任意接收端之间的最短路径、以及任意两个接收端之间的最短路径中提取全部中间转发节点,并计算每个中间转发节点被其他最短路径共享使用的频次;
将每个中间转发节点被其他最短路径共享使用的频次与预先指定的阈值时进行比较,将频次大于阈值的中间转发节点识别为共享节点。
上述最小生成树中的任意两个节点仅通过一条通路连接。
上述最小生成树进行剪枝,获得剪枝树包括:
遍历每一对发送端的连接通路,获取每一条连接通路上传输代价最大的邻边;
将连接通路上传输代价最大的邻边按降序排列;
掉排序循序依次对传输代价最大的邻边进行剪枝,直到每一对发送端之间都不存在连接通路为止,获得剪枝树。
并且,在完成剪枝之后,还从最小生成树删除所有完全孤立的发送端。
根据一组确定的接收端和网络拓扑结构,不确定性多播需要构造出一个森林结构,确保每个接收端沿着该森林仅能抵达一个发送端,但是不同的接收端可能会抵达不同的发送端。本发明提出的不确定性多播是一种更通用的多播传输模式,而确定性多播只是一种特殊形态。本发明的目标是为不确定性多播提出多播森林的构造方法,进而最小化执行该不确定性多播的传输代价。同斯坦纳最小树问题相比,为不确定性多播发现最小代价森林(Minimum cost forest,MCF)则面临更严峻的挑战。因为MCF可以灵活选用潜在的发送端,进而对路由选择和形成的传播森林产生影响。对于这样一个NP难问题,一种直观的方法是将不确定多播具体化为一系列确定性多播,这些确定性多播各自对应一个唯一的发送端。在这些确定性多播中,代价最小的SMT会被选为该不确定性多播的MCF。但是,这种方法由于要求解一系列NP难的SMT问题,因此受限于太高的计算复杂度。另外,基于不确定性发送端的MCF的传输代价可能会比上述的最佳SMT还要低。因此,此前针对确定性多播的各种处理方法都不适用于解决不确定多播问题。
为了高效解决上述MCF问题,本发明提出了两种近似求解方法,分别是P‐MCF和E‐MCF。这些方法仅仅使用部分发送端,建立可抵达全体接收端的路由路径。在构建这些路由路径的过程中会尽可能共用一些节点和链路,以便降低所得MCF的整体代价。本发明首先在小规模SDN平台上实现了MCF,随后在随机网络、正则网络、以及无标度网络中开展了大规模仿真工作,评估不确定性多播和确定性多播的整体性能。实验和仿真结果显示,不确定多播MCF比任何对应的SMT都占用更少的网络链路,进而产生更少的网络代价。
下面根据具体实施例进一步阐述本发明的技术方案。
多播传输旨在向一组接收端分发相同的内容,而不是向某个单独接收端发送数据。同单播传输相比,多播传输的优势不仅在于有效节省了带宽消耗,且能显著降低发送端的工作负载。连接全体接收方和发送方的多播树的总代价被广泛用于度量多播传输的性能。如果不考虑网络链路代价的多样性,多播树的代价很大程度上依赖于占用的链路数量。为了最小化多播树的代价, 很多近似方法已经被提出为任意多播传输构造斯坦纳最小树。
很多情况下多播传输的发送端并非固定不变。由于数据中心内普遍使用内容副本机制,一项文件的任意副本都可以作为多播传输的发送端。对于相同的一组接收方而言,多播传输的代价同发送端的选取紧密相关。选择不同发送端产生的多播路由会形成不同的斯坦纳最小树,而它们的总链路代价也不同。
图2至图5示出的是具有相同接收端{s1,s2,…,s12}和不同发送端的多种多播传输结构。其中,图2示出的是一个随机网络的拓扑结构,其中的三角形节点代表潜在的内容发送端,它们都存有相同的内容副本,其中方形节点代表内容接收端,圆形节点表示网络中的转发节点;图3与图4示出了s1和s2分别担任唯一发送端时的多播树结构。不难发现,发送端为s1的多播树使用17条链路,而发送端为s2的多播树则使用16条链路,虽然此时s1也作为转发节点参与了多播路由。
一个不确定性多播可以被初始化为一系列确定性多播,这些确定性多播都使用不同的发送端。本发明进一步为每个确定性多播构造SMT结构。在这些诸多SMT结构中,代价最小的SMT可被选出用于支持该不确定性多播。
只要满足某些约束条件,一个多播的数据发送端可以不必限制在特定位置。这是因为在各种不同的网络里,为了改善各网络的健壮性和效率,广泛使用的内容副本没有限制数据发送端的位置,这允许任何一个副本作为多播传输的数据发送端。因此,任何副本都可以参与多播路由,并且多播路由不再是棵树而是一组树。用不同的副本作为数据发送端可以构建不同的多播路由,它们的代价也表现出多样性。显然,图4所示的多播树比图3所示的多播树代价更低。但是从中选择的代价最小SMT并不一定是最好选择。更高效的多播传输可能会出现多于一个发送端同时参与进来的情况。例如图5所示的多播传输结构仅仅使用12条链路,因而比独立使用s1和s2作为发送端时的SMT代价都低。但是,针对确定性多播的各种解决方法都无法获得这种更理想的多播传输结构。
对于不确定性多播而言,接收端被允许访问任何潜在的发送端,而不是确定地访问某一个发送端,因此具有进一步降低多播传输代价的设计空间。本发明目的在于充分利用多个发送端带来的好处,从而最小化不确定性多播的传输代价。
令G(V,E)抽象表示一个网络,其中V和E分别表示节点集合和边集合。每个节点代表一台交换机或服务器,而每条边e代表一条链路。每条链路被赋予一个代价参数,一个不确定性多播传输的代表被记为其所使用链路的代价综合。
定义1给定一组确定性接收端D∈N和不确定性发送端的集合S∈N,不确定性多播旨在从集合S的部分甚至全部发送端将共同内容发送给集合D中的全体接收端,其中的约束条件是每个接收端仅能抵达其中一个发送端。
不确定性多播是多播传输的更通用模式。实际上,当发送端集合S仅包含一个成员时,其等价于传统的确定性多播。定义1并没有就每个发送端d∈D如何为其选择发送端制定任何限定。因此,即便在|S|>1的场景中,如果全体接收端选择任意s∈S作为共同的发送端,则不确定性多播也会演变为一个确定性多播。显然发送端集合S的不同选用策略直接制约了不确定性多播的最终传输代价。因此,本发明在定义2中提出了最小代价森林(Minimumcost forest,MCF)问题,并据此最大可能地降低不确定性多播的传输代价。
定义2给定一个不确定性多播,MCF问题旨在构造满足如下两个约束的多播森林(forest)结构:首先,每个接收端d∈D仅同任意发送端s∈S保持连通;其次,多播森林所选用链路的代价之和最小。
根据上述定义,MCF不一定要求使用全部的发送端。任何一对s1和s2如果出现在MCF中,彼此之间应该互相孤立,也就是不可连通。否则,一些接收端可能会连通至多个发送端,从而增加了MCF的代价。不难发现,图4所示的多播传输结构并不理想,因为两个发送端s1和s2之间存在一条可达路径,这在MCF中引入了一些不必要的额外链路,从而增加了MCF的代价。综上所述,如果集合S中有α个发送端出现在一个不确定性多播的MCF中,则MCF由α个彼此孤立的树结构组成,而且每棵树的根节点是α个发送端中之一。
当发送端集合只包含一个成员时,一个不确定性多播等价于一个确定性多播。此时,MCF问题的求解等价于构造一个SMT,而SMT问题是NP难问题。在其他通用场景下,MCF问题中的发送端可以灵活选用,这使得MCF问题比SMT问题面临更大的挑战。
定理1给定一个不确定性多播,其发送端集合为S而接收端集合为D,计算出对应的MCF是个NP难问题。
证明:首先考虑不确定性多播的SMT问题,即寻找出能连通集合S和D全 体成员的最小代价多播树。显然,目前无法在多项式时间内求得该SMT问题的最优解。注意到最优SMT中存在|S|2对发送端的组合,而且每一对发送端之间在最优SMT中仅存在一条路由路径。如此一来,两个发送端之间的路由路径包含至少一条冗余链路。一条链路被称为冗余链路,当且仅当将其从SMT中移除后每个接收端仍然能抵达至少一个发送端。例如,图4中的两条链路a→b和s1→a是冗余链路。因此,一个不确定性多播的SMT问题可以被转换为对应的MCF问题,只要将最优SMT中的全体冗余链路从中移除。在多项式时间内移除完冗余链路之后,剩余的链路形成移除多播森林,其中每个接收端仅可以抵达一个发送端。因此,不确定性多播的MCF问题是NP难问题,定理1得证。
针对MCF问题,本发明进一步提出一个混合整数线性规划(Mixed Integer LinearProgramming,MILP)建模。
令Nv表示节点v在图G中的所有邻居节点的集合,节点u属于集合Nv当且仅当eu,v是一条从u到v的邻边。如前所述,S表示不确定多播中所有可能的发送端,D表示接收端的集合。最终产生的最小代价森林F需要确保:对于任意接收端d∈D而言,都只存在一个发送端s∈S,而且二者之间在F中存在唯一的路由路径。为了实现这一目标,本发明在问题中引入如下一些二元变量。令ωd,s表示接收端d是否选择一个发送端s作为其数据源。也就是说,当ωd,s=1时存在一条从d到s的路径。此时,令二元变量πd,u,v表示边eu,v是否位于从接收端d到发送端s的路径上。令二元变量εu,v表示边eu,v是否出现在产生的多播森林F中。直观来看,应当找到从每个接收端d到唯一发送端s的路径,从而有ωd,s=1。这条路径的每条边eu,v都满足πd,u,v=1。从全体接收端到至少一个发送端的路由路径合并后,可以为不确定性多播实现预期的多播森林F。
上述MCF问题的目标函数被定义为如下:
其中权重cu,v表示边eu,v的代价。
MILP问题的目标函数受限于如下约束条件。这些约束条件显示地表述了不确定性多播的路由原则。
对于每个接收端d∈D,第一个约束条件确保存在唯一对应的发送端s∈S,而且二者之间在多播森林F中至少存在一条路由路径。公式10.1、10.3以及10.4则从其他角度限定了如何寻找从接收端d到其发送端s的路径。更确切地说,对于任意接收端d,发送端s是通往d路由路径的源头。公式10.2意味着从s到其全体邻居节点邻边中,只需要选择一条邻居边es,v即可,从而πd,s,v=1。与此同时,其能确保从s到d存在唯一的路由路径。产生的多播森林F如果存在多个发送端,则任意两个发送端都相互孤立。另一方面,每个接收端d都是多播传输的一个终点,公式10.3确保从只需要选中一个邻居节点u到d的邻边,从而πd,u,d=1。此外,对于图G中的任意其他节点u,可以从公式10.4推断节点u处于从s到d的路由路径中,或者不在该路径上。如果节点u在该路由路径上,则其必然在该路径中存在节点u的一条入边,从而二元变量πd,v,u=1。另外,在该路径中存在节点u的一条出边,从而二元变量πd,u,v=1。如果节点u不在该路由路径上,则πd,v,u和πd,u,v都为0。需要注意的是,根据目标函数,只针对一个邻居节点v设置πd,v,u=1,目的在于最小化产生的多播森林的代价。公式10.5所示的最后一项约束旨在找到输出的多播森林F路由,也就是εu,v。如果边eu,v位于至少一对发送端和接收端的路由路径上,即πd,u,v=1,则εu,v的取值必须为1。最终输出的多播森林F是从所有接收端到其对应发送端的路由路径合并结果。
为不确定性多播传输构造出MCF是NP难问题,无法在多项式时间内求得最优解。因此,本发明专注于设计高效的构造算法来逼近最优解。不确定多播可以被初始化为一系列确定性多播,而代价最小的SMT会被选为该不确定性多播的MCF。但是,这种方法由于要求解一系列NP难的SMT问题,进而受限于太高的计算复杂度,而且不一定能获得最佳的效果。由于引入了不 确定的诸多发送端,现有的SMT问题的近似算法都不适用于本发明提出的MCF问题。为此,本发明首先提出一种适用于不确定多播的MCF构造新方法,称为P‐MCF。算法1给出了详细的构造过程。
令无向图模型G=(V,E)抽象表示一个具体的物理网络。令S和D分别表示任意不确定多播的发送端和接收端集合。根据无向图G和两个节点集合S和D,本发明首先推导一个完全图G1=(V1,E1),其中V1是发送端集合S和接收端集合D的并集,E1是V1中任意一对节点之间边连接的集合。本质上来看,完全图G1=(V1,E1)是个全连通图。对于每条边{vi,vj}∈E1,d({vi,vj})表示这条边的代价,本发明中表示图G中节点vi到节点vj的最短路径长度。也就是说,图G1中的每条边对应于G中的一条最短路径。
然后,根据图G1=(V1,E1)构造出最小生成树T1,确保V1中任何一对节点在T中仅通过一个路径相互连接。因此,不确定性多播的全体发送端在这棵树T中也都保持互相连通。但如果MCF中出现多个发送端,那么任何两个发送端之间都应该不连通。因此,树T中任何一对相互连通的发送端都需要被断开,那么将二者间路径的最大代价边移除即可。如果在该路径上存在多条这样的邻边,只需从中任意选择一条边移除即可。这一过程面临的最大挑战在于选择断开那些原本连通的发送端的顺序。
因此,本发明记录每一对发送端的连通路径上代价最大的邻边,并且把这些边按照代价进行降序排序。至此,可以从树T中删除排序后的第一条边,然后对序列中其余边进行排序更新。这一过程不断重复,直到更新后的T1不再包含任何连通的发送端。最后,从树T1中移除那些完全孤立的节点,并用图G中对应的最短路径替换T1中的每条边,最终为对应的不确定多播形成一个最小代价森林F。
图6示出了小规模随机网络中的一个不确定性多播,其中可能的发送端 集合为S={s1,s2,s3},接收端集合为D={1,2,3,4,5,6,7}。图7示出了一个由所有的发送端和接收端形成的完全图的最小生成树T。图8示出了从最小生成树T中删除两条边{s2,2}和{s3,7}之后的树结构T1。需要注意的是,在断开两个发送端的过程中可以去除不同邻边,例如删除边{s1,6}和{s1,1}也可以起到相同的效果。图9示出了该不确定性多播生成的MCF,其占用11条链路。
定理2对于网络G中的任意不确定性多播,用P‐MCF计算出的MCF获得的近似比是2+ε。
证明:令集合P表示发送端集合S和接收端集合D的并集。T(P)表示针对该不确定性多播通过P‐MCF方法生成的MCF。T(P)比最小生成树mst(P)使用更少的链路,因为T(P)是mst(P)中删除一些边之后计算而得的。因此可以推断出T(P)的代价小于mst(P)的代价,即|T(P)|≤|mst(P)|。令smt(P)表示连通集合P中全体节点的斯坦纳最小树,其使用的链路数量比mst(P)少,这是因为共享使用部分链路的原因。smt(P)中存在一个记为TE的欧拉环,其将smt(P)的每条边都遍历了两次。斯坦纳树问题的距离函数符合三角不等式的运算规则。任何欧拉环的代价都小于对应最小生成树的代价。因此,2|smt(P)|≥|TE|≥|mst(P)|≥|T(P)|。令opt表示该不确定多播的最优MCF。如果opt中添加了d条额外的以连接opt中原本不连通的各个树,则获得一个新的树结构T’。树T’使用的链路总量是|opt|+d,并超过了smt(P)使用的链路数量。因此有2(opt+d)≥2smt(P)≥mst(P)≥T(P)。本章提出的P‐MCF方法的近似比是在大多数实际网络中,d和opt的比值ε远小于1。定理得证。
证明P‐MCF方法的近似比之后,本发明进一步分析其时间复杂度。在算法之初,在图G和两个节点集合S和D的基础上,为了构造出完全图G1需要计算出(|S|+|D|)2条最短路径,而计算其中一条最短路径的时间复杂度是O(V2)。因此,产生完全图G1的时间复杂度是(|S|+|D|)2×|V|2。然后,从完全图G1中找到最小生成树T的时间复杂度是O((|S|+|D|)2)。在T中发送端之间的路由路径上,找到并移除最大代价边的最坏时间复杂度是O(|S|)。因此,P‐MCF方法的的总体时间复杂度是(|S|+|D|)2×|V|2。
虽然P‐MCF方法已经能够为不确定性多播构造出不错的MCF,但是仍然有改善和提高的设计空间。本发明还提出了一种更有效的近似算法E‐MCF。其基本思想源自于对MCF中出现的共享节点的观察和有益启发。E‐MCF和 P‐MCF的最大区别在于从图G构造完全图G1的环节。在获得完全图G1之后,两种方法的后续环节相同。
定义3共享节点被定义为MCF中那些从发送端到接收端的最短路径上频繁出现的中间节点。
在E‐MCF方法中,完全图G1不仅包含接收端集合D和发送端集合S中的全部,而且还引入了一些共享节点。这些额外的共享节点有助于找到那些在构造最小生成树T时的交汇邻边。如果最小生成树T中不选用这些共享节点,则需要使用更多邻边,而这些边在从发送端到接收端的路径上难以被共享使用。本发明将首先揭示关于MCF中共享节点的一些观察结果,然后公开如何识别出这些共享节点。
在此前提出的P‐MCF方法中,完全图G1的节点集只包含了不确定性多播的全体发送端和接收端。因此,很难辨别完全图G1中哪些边或路径出现在最小生成树T时会更容易被共享使用。如果一些共享节点被追加到完全图G1,那么构造出的最小生成树和最终的MCF都会有很大改善,这是因为更多邻边和路径会被共享使用。导致的结果是不确定多播的总传输代价会被极大降低。
将共享节点f和c加入到之前构建的完全图G1之后得到如图10所示的最小生成树,其显然和图7所示的最小生成树有很大差异。该最小生成树中三个发送端之间存在通路,在通过移除部分链路将三者割裂开后得到如图11所示的新结构。不难发现,其中有更多的链路在一些节点处交汇和聚合。将图11所示的树结构中的每条边替换为原始图G中的最短路径后,可以得到如图12所示的MCF。该MCF使用9条链路,代价小于图9所示的MCF。
E‐MCF会将一些被多链路共享的节点引入到完全图G1的设计,更多以较高概率会交汇邻边会被加入到完全图G1。输出的MCF使用更少的链路,进而降低了总代价。
E‐MCF方法中共享节点扮演者非常重要的角色,但是缺乏有效方法从图G中为不确定性多播找出潜在的共享节点。为此,本发明提出算法2来解决这一难题。
在算法2中,函数ShortestPath的主要功能是计算图G中任意两个节点之间的最短路径。需要注意的是,从接收端到发送端的最短路径,以及各个接收端之间的最短路径都需要被计算和保存。但是不需要计算发送端之间的最短路径,因为凡是连通的发送端都最终会被隔离开。至此,本发明从计算所得的每条最短路径中提取出全部中间节点,并通过IntermediateNode函数计算每个中间节点被其他最短路径共享使用的频次。函数IsConnected(u,v)主要被用来判断节点u是否与节点v连通。如果某个中间节点在上述过程中的统计频次超过预设的上界,则被选定为共享节点。本实施例设定该上界为3,更科学合理的上界设定还需要结合网络配置和不确定性多播的配置进行设定。
例如,通过比较图7和图10可以清楚地看到节点f和c是两个交汇点和分支点。如果这两个节点被包含到完全图G1中,则有可能汇聚更多邻边。此外,共享节点应该尽可能多地连接到一些候选节点,从这些候选节点发出的数据流会在某个共享节点立即聚合。
如前所述,P‐MCF和E‐MCF方法的区别只在于完全图G1的构建环节。如图10至图12所示,E‐MCF方法的特殊设计能非常有效地降低不确定性多播的传输代价。图10示出在新的完全图G1基础上计算出的最小生成树T,其包含的节点有{1,2,3,4,5,6,7,s1,s2,s3,f,c}。显然,两个共享节点f和c也被包含在完全图G1中。为了断开两个发送端之间的连接,边{c,4}和{s3,7}要从T中移 除后获得如图11所示的结果T1。T1中的每条边被替换为完全图G中对应的最短路径,可以得到如图12所示的MCF路由结果,其总链路代价是9。
定理3对于G=(V,E)中的任意不确定性多播,E‐MCF方法比P‐MCF方法更有效。
证明:P‐MCF方法首先构造出包含不确定多播全体发送端和接收端的完全图G1,然后计算G1的最小生成树T1。注意到T1的每条边对应于图G中的一条最短路径。本发明记录T1中各个边对应的最短路径的中间节点,那些频繁出现的中间节点被选为共享节点。在E‐MCF方法中,这些被选出的共享节点会被加入到完全图G1中,从而获得一个全新的完全图G2和对应的最小生成树T2。本发明证明由于引入了共享节点,T2可能会比T1展示出更小的总权重。
如果加入一个共享节点v,T1中的一些边会根据以下两种情况进行改变。对于T1中的每个节点u,T2会考虑是否要加入新边eu,v。
(1)对于T1中节点u的一条边eu,w,如果G中相应的最短路径经过共享节点v,那么T2会优先使用两条边eu,v和ev,w来代替原来邻边eu,w。这个替换过程不会增加T2的总权重,因为eu,w的权重等于eu,v和ev,w的权重之和。如果节点u在T1中的其他边,如eu,w1和eu,w2与边eu,w拥有相同的性质,T2会用两条边eu,v和ev,w1替代边eu,w1,用两条边eu,v和e(v,w2)替代边eu,w2。显然,边eu,v会被不断地共享使用,从而降低了T2的总权重。
(2)如果节点u邻边都不满足第一种情况,令边eu,w表示节点u权值最高的邻边。如果边eu,w比边eu,v的权值高,T2就会采用权值低的边eu,v而不用边eu,w。如此一来,T2的总权重就会减小这两个边的权值之差。相反,如果边eu,w的权值小于边eu,v的权值,则T2即便已经使用了共享节点v,其仍然会继续采用边eu,w。
总的来看,使用E‐MCF方法得到的T2比用P‐MCF方法得到的T1的总权重要小。定理2已经证明P‐MCF方法获得的近似比是(2+ε),因此E‐MCF方法也会获得不低于(2+ε)的近似比。定理3得证。
讨论完E‐MCF方法的性能之后,本发明进一步分析其时间复杂度。在算法之初,本发明需要在图G中计算所有接收端到发送端以及接收端之间的 条最短路由路径。已知一条最短路由路径的计算时间复杂度是O(|V|2),因此构建完全图G1的时间复杂度是另外,从图G中找到共享节点的时间复杂度是O(|V|)。从G1计算最小生成树T 的复杂度是O(|S|+|D|+|SharedNode|2),其中SharedNode表示共享节点的集合。最后,为了从最小生成树T中移除一些边,还需要找到每对发送端路径上的最大权值边。在最坏情况下T的每条边都需要被检查,那么造成的时间复杂度是O(|S|+|D|+|SharedNode|-1)。总的来说,E‐MCF方法的时间复杂度是
我们在真实的软件定义网络中运行了面向确定性多播的SMT算法以及本章针对不确定性多播提出的方法。我们用到了16台OpenFlow交换机和被广泛使用的RYU控制器。首先对实验平台的数据面和控制面功能进行具体介绍。
我们的测试平台包含16台ONetSwitch20制式的OpenFlow交换机。这种交换机提供四个1G的数据转发端口和一个1G的控制端口。每台ONetSwitch20采用了Zynq SOC芯片还有其他硬件设备来实现高速数据包交换。我们选择ONetSwitch20作为测试环境,是因为其能灵活支持流表的管理和自定义。这些OpenFlow交换机被随机连接为一个随机网络,每台交换机的剩余数据端口会用于接入计算节点。图6示出了我们测试平台的拓扑结构,其中所有计算节点都被省略,只保留了交换机之间的连接。我们分别变换发送端和接收端的数目,并将它们连接到不同的交换机。为了便于表述,当提到不确定多播或者确定性多播的发送端节点和接收端节点,就是指代发送端和接收端对应的主机所连接的交换机节点。
我们还在测试平台上部署了RYU控制器。这是因为该控制器的灵活性足以很好地支持多播路由。我们在RYU控制器上实现了三种多播路由算法的控制应用,分别是SMT、E‐MCF和P‐MCF。控制器的首要目标是为任何多播请求生成和维护SMT,并为任意不确定多播请求生成和维护MCF。第二项任务是将产生的SMT和MCF部署到物理的SDN网络,并且符合OpenFlow规范的要求。另外,对交换机而言,数据包的转发过程应该是透明的,不需要其判断一个数据包是否属于多播数据流。一种简单的方法是为不同的多播会话配置唯一的特殊地址,并且针对该多播数据流配置转发流表。每一条多播流表项的instruction域都有多个actions,可以允许数据包复制之后从不同端口转发。一旦某个多播数据流的包匹配上这个流表项,就可以根据多播数据流的操作将数据包从多个端口转发出去。针对多播数据流的流表项如下表所示:
在实验过程中,网络拓扑保持不变,但是对不确定多播的发送端数目或者接收端数目会进行调整。我们不仅评估不确定多播算法P‐MCF和E‐MCF方法,而且同时考虑了面向传统多播的经典SMT方法。给定一个不确定多播,从其发送端集合中随机选取一个后可以得到一个确定性多播,然后运用SMT方法求得多播传输结构。实验采用了两种主要的性能指标,分别是占用的链路数目和多播数据流的完成时间FCT(Flow Complete Time,FCT)。实验约定发送端传输10MB大小的文件,并且同时记录面向每个接受端的数据流的最短完成时间,最长完成时间以及平均完成时间。
我们随机选取并固定7台交换机,每台接入一个计算节点担任不确定性多播的接收端。在此基础上,将不确定性多播的发送端数目从2增加到6。图13至图16反映了三种不同算法产生的多播传输结构的性能指标的变化情况。
图13显示在发送端数目递增的过程中,E‐MCF方法能获得比传统SMT更小的代价。这一结果证明了不确定多播的可行性和有效性。随着接收端数目的增加,不确定性多播的好处也越来越显著。此外可以看到,无论发送端数目如何,E‐MCF方法总是比P‐MCF方法产生代价更小的MCF。
图14与图15反映了E‐MCF和P‐MCF的最短FCT和平均FCT都比传统的SMT方法好。此外,P‐MCF方法在这两个性能指标方面的表现要好于E‐MCF方法。原因在于P‐MCF总是倾向于选择最短路径,在三种算法中P‐MCF选出了最多的从接收端到就近发送端的最短路径。不确定性多播的最长FCT由最后一个接收端从某个发送端接收完数据的时延决定,因此其直接决定着多播用户的体验。在上述小规模测试平台中,这三种算法产生的多播传输结构表现出相似的最长完成时间,如图16所示。
另外,无论不确定性多播有多少可用的发送端,对于传统的SMT方法而言只需要使用其中一个固定的发送端即可。出于这个原因,SMT方法的性能指标不会随着发送端数量的增加而变化。但是发送端数目越大,P‐MCF和E‐MCF方法的性能表现越好。综合来看,这三种算法中E‐MCF方法最佳,因为其造成的链路代价最小而且其FCT指标也比较低。
为了评估接收端数目对相关算法解决不确定性多播的性能影响,我们随 机固定两个发送端,但是令接收端的数目从3增加到9。类似地,对于传统SMT问题而言,只需要选择其中一个发送端即可。图17至图20显示了接收端数目的增加对三种路由算法性能的影响,具体表示为上述四种性能指标的变化情况。
图17反映了三种算法的总链路代价随着接收端数目的增加而逐渐上升。同时,E‐MCF和P‐MCF方法总是比SMT方法产生更少的链路代价。图18、图19、图20分别反映了三种算法下多播传输结构的最短FCT、平均FCT和最长FCT。不难看出,不论接收端的数目如何,P‐MCF方法在三种FCT性能指标方面表现最佳。另一方面,如图17所示E‐MCF方法相对而言输出的多播传输结构的总代价最小,且三种FCT性能指标也较低。
考虑到实验平台规模的限制,我们还开展了大规模仿真来评价三种方法的性能。大规模仿真工作在网络拓扑结构、不确定性多播的参数配置、以及选用的评价指标方面同小规模实验都有所差异。具体而言,先后在交换机层面的随机网络、正则网络和无标度网络环境下对不确定多播的性能进行了仿真测试。
上述小规模测试床的实验结果已经佐证了不确定多播的内在优势,同时证实E‐MCF方法在总链路代价方面优于P‐MCF和SMT方法。在这一节,我们通过大规模网络仿真来评价这三种方法的性能表现,从而佐证提出的两种MCF方法同样适用于大规模网络和大规模的不确定性多播。当配置仿真环境时,假设每条链路确保无丢包的数据传输,主要关注多播传输的链路代价和最长的传输时延,而传输时延通常表示为路径的跳数。
在三种网络拓扑中,正则网络意味着网络中全体节点的度相同。在每种网络拓扑中,我们分别让网络规模从1200台交换机增加到2800台交换机,让不确定性多播的发送端数量从3个增加到21个、接收端的数量从500增加到1000。如果每台交换机连接四台服务器,那么服务器规模为4800到10000。考察的性能指标有两个,分别是多播传输结构的总链路代价以及发送端和接收端之间的最长路由跳数。
我们首先在大规模随机网络下测量E‐MCF、P‐MCF和SMT方法的性能。首先考虑不同网络规模下,由10个发送端和300个接收端组成的不确定性多播。然后分别调整不确定性多播的发送端数目和接收端数目,并评估相关算法的性能。
网络规模的影响:图21与图22显示了当我们增加随机网络的交换机数量时,三种算法的链路代价和最大路由跳数的变化情况。从图21可以推断出,传统多播的SMT方法在三种算法中产生最大的链路代价。当网络规模增大到2800台交换机时,为不确定性多播提出的P‐MCF和E‐MCF方法能够更显著地降低总链路代价。更准确地分析显示,E‐MCF能在传统SMT的基础上降低39.23%的总链路代价。图22显示在三种算法中P‐MCF的最大路由跳数最小,这是因为任何接收端都优先选择连接到就近的发送端。
虽然P‐MCF比E‐MCF在最长路由跳数方面有较大的优势,但是在链路代价方面E‐MCF比其他两种方法的优势更显著,且传统SMT造成的链路代价最大。总体来看,针对相同的不确定性多播,无论随机网络的规模如何变化E‐MCF方法始终产生最小的链路代价。
发送端数目的影响:在包含2000台交换机的随机网络中,首先为一个不确定性多播设定300个固定的接收端。如图23所示,随着不确定性多播发送端数目的增加,传统多播的SMT占用的链路数目保持在非常稳定的水平,因为传统多播的SMT只使用其中一个发送端。在此变化过程中,E‐MCF总是比P‐MCF和SMT占用更少的链路。此外,在发送端数目从3增加到21的过程中,新增的发送端对于进一步降低总链路代价的贡献并不显著。实验结果同时说明:不确定多播引入三个发送端后的效果已经非常显著。图24显示P‐MCF方法总是比其他两种方法获得更低的路由跳数,这意味着全体接收端可以更早地从发送端接收完数据。总体来看,E‐MCF不仅比传统多播的SMT方法降低了路由跳数,而且还产生了最小的链路代价。
接收端数目的影响:在包含2000台交换机的随机网络中,首先为一个不确定性多播设定10个固定的发送端。如图25与图26所示,为不确定性多播引入更多接收端会显著增加总链路代价,同时最大的路由跳数也相应增加。此外,我们提出的E‐MCF和P‐MCF两种算法在两种性能指标方面都比传统多播的SMT方法要好。总体来看,E‐MCF方法带来的总链路代价最小,而且其最大的路由跳数也在可接受的范围内,因而具有很好的扩展性。
为了证实不确定性多播的有效性并不仅限于随机网络,我们在随机网络之外分析正则网络下三种多播算法的性能。正则网络的规模被设定为从1200台交换机逐渐增加到1800台交换机。在每种规模设定情况下,创建包括10个发送端和300个接收端的不确定性多播。针对该不确定性多播,分别采用 P‐MCF、E‐MCF以及传统多播SMT方法构造各自的多播传输结构。如图27所示,三种方法产生的多播传输结构的总链路代价随着网络规模的扩展而逐渐增大。此外,无论网络规模大小,E‐MCF和P‐MCF产生的多播传输结构的链路代价小于传统多播的SMT,而且E‐MCF比P‐MCF在降低总链路代价方面效果更好。
其次,我们在包含2000台交换机的正则网络中选择300个固定节点作为不确定性多播的接收端。在此基础上,我们令发送端的数目从3增加到21,并评价三种多播传输结构的性能指标的变化情况。从图28可知,多个发送端的不确定性多播无论采用E‐MCF还是P‐MCF算法,其造成的链路代价都小于采用单个发送端的SMT。另一方面,不确定性多播的发送端数目超过3个后,引入更多发送端对降低总链路代价的效果不明显。可以看出,随着发送端数目的持续增加,E‐MCF和P‐MCF方法的总代价会缓慢减少,但是E‐MCF的整体性能总是好于P‐MCF和SMT。
最后,我们在包含2000台交换机的正则网络中选择10个固定节点作为不确定性多播的发送端。在此基础上,将接收端数目从500逐渐增加到1000。图29显示了在此过程中,三种算法产生的多播传输结构的总链路代价的变化情况。不难看出,各种传输结构的总链路代价都随着发送端的规模扩展而增加,但是E‐MCF算法造成的总链路代价总是比P‐MCF和SMT方法要小。
互联网的拓扑结构在某种程度上符合无标度网络模型。因此,本节进一步在无标度网络下开展仿真评估工作,分析三种算法为同一不确定性多播产生的多播传输结构的性能。
首先,我们构建不同规模下的无标度网络,其中交换机数目从1200增加到2800。在网络规模的每种设定下,我们随机选择10个节点作为不确定性多播的发送端,选择300个节点作为其接收端。然后测量E‐MCF、P‐MCF和传统SMT针对该不确定性多播产生的多播传输结构的总链路代价。实验结果如图30所示,总体上来看三种多播传输结构的总链路代价都随着网络规模的增加而增长。此外,从中可以明显看出仅有单个发送端的SMT多播的链路代价增加得最快。在网络规模达到2800台交换机时,300个发送端的SMT需要用到800条链路。相比之下,E‐MCF和P‐MCF输出的多播传输结构的总链路代价增加得很慢,而且E‐MCF方法的性能表现一直最好。
其次,在包含2000台交换机的无标度网络中,选择300个固定节点作为不确定性多播的接收端。在此基础上,我们令发送端的数目从3个逐渐增加到21个,并评价三种多播传输结构的性能指标的变化情况。图31报告了实验结果,不难发现多播传输结构SMT的总链路代价不受发送端数目变化的影响。P‐MCF和E‐MCF造成的总链路代价在发送端数目增加时逐渐降低,但是E‐MCF的性能表现总是好于其他两种方法。另外,当发送端超过3个以后,使用更多的发送端对P‐MCF和E‐MCF的性能影响不再显著。
最后我们进一步评估接收端数目的变化对三种算法性能的影响。具体而言,在包含2000台交换机的无标度网络中,选择10个固定节点作为不确定性多播的发送端。在此基础上,我们令接收端数目从500逐渐增加到1000,并评价三种多播传输结构的性能指标的变化情况。如图32所示,由于引入更多的接收端,三种算法产生的多播传输结构都需要使用更多的链路。但是,本章提出的E‐MCF方法在性能表现方面总是比其他两种方法好。
和单播传输相比,多播传输能显著降低对网络资源的消耗,并减轻内容发送端的工作负载。虽然SDN技术为灵活部署网络协议提供了很好的机遇,但是SDN场景下的多播协议仍然缺乏足够的关注和研究。在本章,我们提出一种具有多个可选发送端的不确定性多播。我们致力于为任意不确定性多播构造出最小代价多播森林MCF,使得多播组中的每个接收端都连接到有且只有一个发送端。面向确定性多播的方法都不适用于求解MCF这个难题,为此本章提出了两种近似比为(2+∈)的MCF近似算法,分别是P‐MCF和E‐MCF。小规模的实验和大规模的仿真的结果都说明MCF方法总是比传统的SMT算法占用更少的链路数,而且不受网络拓扑、网络规模、接收端数目以及发送端数目的影响。本章提出的P‐MCF和E‐MCF算法在随机网络、正则网络和无标度网络中,都具有很好的适用性,都能显著降低不确定性多播传输的链路代价。另外,E‐MCF算法受网络拓扑、网络规模、发送端数目和接收端数目的影响小,而且总是产生比P‐MCF和SMT方法更少的链路代价。
所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种不确定多播传输方法,其特征在于,包括:
在软件定义网络中生成拓扑图,确定发送端、接收端与转发节点之间的传输路径;
确定接收端选择发送端的数量限制,邻边选择限制,传输路径选择限制,以及多波传输限制;
根据发送端、接收端与转发节点之间的传输路径,任意两个发送端、接收端与转发节点之间的传输代价,接收端选择发送端的数量限制,邻边选择限制,传输路径选择限制,以及多波传输限制,计算出不确定多播传输的最小代价森林。
2.根据权利要求1所述的方法,其特征在于,所述在软件定义网络中生成拓扑图,确定发送端、接收端与转发节点之间的传输路径包括:
获取所述软件定义网络中发送端的数量、接收端的数量与转发节点的数量;
根据所述软件定义网络中发送端的数量、接收端的数量与转发节点的数量在所述软件定义网络中生成拓扑无向图;
根据所述拓扑无向图,确定发送端、接收端与转发节点之间的传输路径。
3.根据权利要求2所述的方法,其特征在于,所述确定发送端、接收端与转发节点之间的传输路径包括:
确定指定发送端到指定接收端是否存在通路;
确定指定传输路径是否位于指定发送端到指定接收端的通路上;
确定任意两个发送端、接收端与转发节点之间的传输代价。
4.根据权利要求3所述的方法,其特征在于,所述确定接收端选择发送端的数量限制,邻边选择限制,传输路径选择限制,以及多波传输限制包括;
根据指定发送端到指定接收端是否存在通路,确定任意接收端都与一个发送端有通路;
根据指定发送端到指定接收端是否存在通路、与指定传输路径是否位于指定发送端到指定接收端的通路上,确定指定任意接收端与发送端的通路上都存在一个发送端的相邻节点;
根据指定发送端到指定接收端是否存在通路、与指定传输路径是否位于指定发送端到指定接收端的通路上,确定指定任意接收端都与发送端的通路上都存在一个接收端的相邻节点;
根据指定发送端到指定接收端是否存在通路、与指定传输路径是否位于指定发送端到指定接收端的通路上,确定指定任意接收端都与发送端的通路上每条传输路径都只出现一次;
根据与指定传输路径是否位于指定发送端到指定接收端的通路上,确定多波传输的最小代价森林包括被选定的指定传输路径。
5.根据权利要求2所述的方法,其特征在于,在所述拓扑无向图中,所述发送端、接收端与转发节点均为节点,所述发送端、接收端与转发节点之间的传输路径均为两点之间的线段;根据发送端、接收端与转发节点之间的传输路径,任意两个发送端、接收端与转发节点之间的传输代价,接收端选择发送端的数量限制,邻边选择限制,传输路径选择限制,以及多波传输限制,计算出不确定多播传输的最小代价森林包括:
根据所述拓扑无向图、接收端集合与发送端集合,构建拓扑完全图;
根据所述完全图,计算最小生成树;
对所述最小生成树进行剪枝,获得剪枝树;
将所述剪枝树中的边替换为所述拓扑无向图中的最短路径,得到最小代价森林。
6.根据权利要求2所述的方法,其特征在于,在所述拓扑无向图中,所述发送端、接收端与转发节点均为节点,所述发送端、接收端与转发节点之间的传输路径均为两点之间的线段;根据发送端、接收端与转发节点之间的传输路径,任意两个发送端、接收端与转发节点之间的传输代价,接收端选择发送端的数量限制,邻边选择限制,传输路径选择限制,以及多波传输限制,计算出不确定多播传输的最小代价森林包括:
根据所述拓扑无向图、接收端集合、发送端集合与转发节点集合,从所述转发节点集合中识别共享节点;
根据所述拓扑无向图、接收端集合、发送端集合与共享转发节点,构建拓扑完全图;
根据所述完全图,计算最小生成树;
对所述最小生成树进行剪枝,获得剪枝树;
将所述剪枝树中的边替换为所述拓扑无向图中的最短路径,得到最小代价森林。
7.根据权利要求6所述的方法,其特征在于,根据所述拓扑无向图、接收端集合、发送端集合与转发节点集合,从所述转发节点集合中识别共享节点包括:
根据所述拓扑无向图、接收端集合、发送端集合与转发节点集合,计算任意发送端与任意接收端之间的最短路径、以及任意两个接收端之间的最短路径;
从所述任意发送端与任意接收端之间的最短路径、以及任意两个接收端之间的最短路径中提取全部中间转发节点,并计算所述每个中间转发节点被其他最短路径共享使用的频次;
将所述每个中间转发节点被其他最短路径共享使用的频次与预先指定的阈值时进行比较,将频次大于阈值的中间转发节点识别为共享节点。
8.根据权利要求5或6中任意一项所述的方法,其特征在于,所述最小生成树中的任意两个节点仅通过一条通路连接。
9.根据权利要求5或6中任意一项所述的方法,其特征在于,对所述最小生成树进行剪枝,获得剪枝树包括:
遍历每一对发送端的连接通路,获取每一条所述连接通路上传输代价最大的邻边;
将所述连接通路上传输代价最大的邻边按降序排列;
掉排序循序依次对传输代价最大的邻边进行剪枝,直到每一对发送端之间都不存在连接通路为止,获得剪枝树。
10.根据权利要求9所述的方法,其特征在于,在完成剪枝之后,还从所述最小生成树删除所有完全孤立的发送端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610348473.XA CN106101001B (zh) | 2016-05-24 | 2016-05-24 | 一种不确定多播传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610348473.XA CN106101001B (zh) | 2016-05-24 | 2016-05-24 | 一种不确定多播传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106101001A true CN106101001A (zh) | 2016-11-09 |
CN106101001B CN106101001B (zh) | 2019-04-19 |
Family
ID=57229267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610348473.XA Active CN106101001B (zh) | 2016-05-24 | 2016-05-24 | 一种不确定多播传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106101001B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106998301A (zh) * | 2017-04-28 | 2017-08-01 | 梁海燕 | 一种不确定源条件下的可靠多播路由构建方法 |
CN108768735A (zh) * | 2018-06-04 | 2018-11-06 | 佛山科学技术学院 | 一种测试床拓扑结构的二分图采样方法及装置 |
CN108924055A (zh) * | 2018-08-23 | 2018-11-30 | 北京理工大学 | 一种基于斯坦纳树的命名数据网络多播路由方法 |
CN111865400A (zh) * | 2020-08-06 | 2020-10-30 | 四川安迪科技实业有限公司 | 一种网状卫星网络抑制转发方法及装置 |
CN111935006A (zh) * | 2020-08-07 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 一种数据传输方法、装置、处理设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222511A (zh) * | 2008-01-25 | 2008-07-16 | 北京交通大学 | 一种向量数据通信网上实现多播路由的方法 |
CN103369620A (zh) * | 2013-06-24 | 2013-10-23 | 天津理工大学 | 一种面向wsn的最小传输多播路由方法 |
CN103957267A (zh) * | 2014-05-08 | 2014-07-30 | 中国人民解放军总参谋部气象水文空间天气总站 | 一种多网络多任务多节点数据分发方法 |
-
2016
- 2016-05-24 CN CN201610348473.XA patent/CN106101001B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222511A (zh) * | 2008-01-25 | 2008-07-16 | 北京交通大学 | 一种向量数据通信网上实现多播路由的方法 |
CN103369620A (zh) * | 2013-06-24 | 2013-10-23 | 天津理工大学 | 一种面向wsn的最小传输多播路由方法 |
CN103957267A (zh) * | 2014-05-08 | 2014-07-30 | 中国人民解放军总参谋部气象水文空间天气总站 | 一种多网络多任务多节点数据分发方法 |
Non-Patent Citations (3)
Title |
---|
L. LAYUAN: "QoS multicast routing in networks with uncertain parameter", 《 PROCEEDINGS INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM》 * |
李飞等: "不确定信息下QoS多播路由问题研究", 《计算机工程与应用》 * |
陈有汉等: "考虑不确定信息的QoS路由算法综述", 《计算机工程与应用》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106998301A (zh) * | 2017-04-28 | 2017-08-01 | 梁海燕 | 一种不确定源条件下的可靠多播路由构建方法 |
CN106998301B (zh) * | 2017-04-28 | 2020-03-10 | 郭得科 | 一种不确定源条件下的可靠多播路由构建方法 |
CN108768735A (zh) * | 2018-06-04 | 2018-11-06 | 佛山科学技术学院 | 一种测试床拓扑结构的二分图采样方法及装置 |
CN108768735B (zh) * | 2018-06-04 | 2020-11-06 | 佛山科学技术学院 | 一种测试床拓扑结构的二分图采样方法及装置 |
CN108924055A (zh) * | 2018-08-23 | 2018-11-30 | 北京理工大学 | 一种基于斯坦纳树的命名数据网络多播路由方法 |
CN108924055B (zh) * | 2018-08-23 | 2019-06-14 | 北京理工大学 | 一种基于斯坦纳树的命名数据网络多播路由方法 |
CN111865400A (zh) * | 2020-08-06 | 2020-10-30 | 四川安迪科技实业有限公司 | 一种网状卫星网络抑制转发方法及装置 |
CN111865400B (zh) * | 2020-08-06 | 2022-03-25 | 四川安迪科技实业有限公司 | 一种网状卫星网络抑制转发方法及装置 |
CN111935006A (zh) * | 2020-08-07 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 一种数据传输方法、装置、处理设备及介质 |
CN111935006B (zh) * | 2020-08-07 | 2023-04-18 | 腾讯科技(深圳)有限公司 | 一种数据传输方法、装置、处理设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106101001B (zh) | 2019-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106101001A (zh) | 一种不确定多播传输方法 | |
Oliveira et al. | A survey of combinatorial optimization problems in multicast routing | |
CN104883304B (zh) | 用于部分纠缠量子对桥接通信网络的路由方法 | |
CN108965141A (zh) | 一种多路径路由树的计算方法及装置 | |
Karaman et al. | Core-selection algorithms in multicast routing-comparative and complexity analysis | |
CN101330411B (zh) | 一种模拟大规模网络拓扑的方法和系统 | |
Banik et al. | Multicast routing with delay and delay variation constraints for collaborative applications on overlay networks | |
Mokhtarian et al. | Minimum-delay multicast algorithms for mesh overlays | |
Hu et al. | Multicast routing with uncertain sources in software-defined network | |
CN101534231B (zh) | 一种弹性分组环中数据的传输方法、系统和设备 | |
Mokhtarian et al. | Minimum-delay overlay multicast | |
CN106453095B (zh) | 基于is-is模块的路由快速收敛的方法 | |
Rajadurai et al. | Optimization of multicast ad hoc on-demand routing protocol based on genetic algorithm with backup paths in MANET | |
CN108093496A (zh) | 一种基于ISA100.11a标准的一致性组网方法 | |
CN108924055B (zh) | 一种基于斯坦纳树的命名数据网络多播路由方法 | |
CN103298053B (zh) | 基于多源AS最大连通度的覆盖网Relay选择方法 | |
CN105959141B (zh) | 一种虚拟网络拓扑构建方法及装置 | |
CN106034106B (zh) | 组网方法、组网管理方法以及装置和系统 | |
Cheng et al. | A fast and efficient multicast algorithm for QoS group communications in heterogeneous network | |
Hamdan et al. | A novel genetic algorithm searching approach for dynamic constrained multicast routing | |
Ichaba et al. | Performance effects of algorithmic elements in selected MANETs routing protocols | |
Kim et al. | On efficient core selection for reducing multicast delay variation under delay constraints | |
Kim et al. | On core selection algorithm for reducing delay variation of many-to-many multicasts with delay-bounds | |
Köksal et al. | Multicasting for all-optical multifiber networks | |
Belghith et al. | A novel multicast algorithm for collaborative multimedia applications in heterogeneous networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |