发明内容
有鉴于此,本发明提供一种双向协议无关组播中动态部署汇聚点的方法及装置。本发明能够根据网络负载情况以及组播业务、组播源以及组播接收者的分布变化情况,动态部署汇聚点。
本发明提供一种双向协议无关组播中动态部署汇聚点的方法,应用于实时监控各网络设备运行信息的SDN控制器上。所述方法的步骤为:
A,间隔预设时间一收集各网络设备的本地网络负载度量值。
B,汇总所述各网络设备的本地网络负载度量值生成整个网络负载的度量值。
C,当重新部署汇聚点启动条件满足时,确定新的候选汇聚点,并预先模拟计算所确定新的候选汇聚点生效后对应的整个网络负载的度量值。
D,根据模拟计算所得的各新的候选汇聚点生效后对应的整个网络负载的度量值和现汇聚点对应的整个网络负载的度量值确定出当前最佳汇聚点,并执行重新部署汇聚点的步骤。
所述本地网络负载度量值是通过本地(*,G)表项的全部出接口的组播情况累加得到。
所述全部出接口不包括网络设备直连主机的出接口。
步骤C中的重新部署汇聚点条件包括:
发现整个网络负载的度量值在预设时间二内持续增加且超过预设阈值一;或者进入网管配置的需重新部署汇聚点的时段。
步骤C包括:
C1,当重新部署汇聚点启动条件满足时,确定新的候选汇聚点。
C2,选定一个新的候选汇聚点,模拟生成整个网络中的网络设备结点,模拟整个网络中(*,G)表项的生成过程。
C3,统计各网络设备的本地网络负载度量值,并汇总所述本地网络负载度量值生成所述新的候选汇聚点生效后对应的整个网络负载的度量值。
C4,重复上述步骤C2至C3以获得所有新的候选汇聚点生效后对应的整个网络负载的度量值。
步骤D包括:
D1,比较所有新的候选汇聚点生效后对应的整个网络负载的度量值,选择最小的整个网络负载的度量值和现汇聚点的整个网络负载的度量值进行比较。
D2,如果现汇聚点的整个网络负载的度量值和最小的整个网络负载的度量值的差值大于预定阈值二,则选择最小的整个网络负载的度量值对应的候选汇聚点为当前最佳汇聚点,并执行重新部署汇聚点的步骤。
步骤D2中重新部署汇聚点的步骤包括:
将最小的整个网络负载的度量值和现汇聚点的整个网络负载的度量值的比较结果反馈给网管,由网管根据比较结果,在后续部署汇聚点时候加以参考。
或者通知最小的整个网络负载的度量值对应的候选汇聚点提升其汇聚点的优先级别。
本发明还提供一种双向协议无关组播中动态部署汇聚点的装置,应用于实时监控各网络设备运行信息的SDN控制器上。所述装置包括:
本地负载收集单元,用于间隔预设时间一收集各网络设备的本地网络负载度量值。
整个负载生成单元,用于汇总各网络设备的所述本地网络负载度量值生成整个网络负载的度量值。
模拟负载生成单元,用于当重新部署汇聚点启动条件满足时,确定新的候选汇聚点,并预先模拟计算所确定新的候选汇聚点生效后对应的整个网络负载的度量值。
汇聚点重新部署单元,用于根据模拟计算所得的各新的候选汇聚点生效后对应的整个网络负载的度量值和现汇聚点对应的整个网络负载的度量值确定出当前最佳汇聚点,并执行重新部署汇聚点的步骤。
所述本地网络负载度量值是通过本地(*,G)表项的全部出接口的组播情况累加得到。
所述全部出接口不包括网络设备直连主机的出接口。
所述模拟负载生成单元中的重新部署汇聚点条件包括:
发现整个网络负载的度量值在预设时间二内持续增加且超过预设阈值一;或者进入网管配置的需重新部署汇聚点的时段。
所述模拟负载生成单元包括:
汇聚点确定模块,用于当重新部署汇聚点启动条件满足时,确定新的候选汇聚点。
表项生成模块,用于选定一个新的候选汇聚点,模拟生成整个网络中的网络设备结点,模拟整个网络中(*,G)表项的生成过程。
负载生成模块,用于在所述表项生成模块选定新的候选汇聚点,且模拟完成整个网络中(*,G)表项的生成过程后,统计各网络设备的本地网络负载度量值,并汇总所述本地网络负载度量值生成所述新的候选汇聚点生效后对应的整个网络负载的度量值。
所述汇聚点重新部署单元包括:
负载比较模块,用于比较所有新的候选汇聚点生效后对应的整个网络负载的度量值,选择最小的整个网络负载的度量值和现汇聚点的整个网络负载的度量值进行比较。
汇聚点部署模块,用于在如果最小的整个网络负载的度量值和现汇聚点的整个网络负载的度量值的差值大于预定阈值二,则重新部署汇聚点。
所述汇聚点部署模块包括:
网管设置模块,用于将最小的整个网络负载的度量值和现汇聚点的整个网络负载的度量值的比较结果反馈给网管,由网管根据比较结果,在后续部署汇聚点时候加以参考。
或者优先级设置模块,用于通知最小的整个网络负载的度量值对应的候选汇聚点提升其汇聚点的优先级别。
本发明利用SDN控制器实时监测整个网络中对于某个汇聚点上组播流量的分布情况,统计业务流量对网络带宽的消耗情况,并积累相关历史数据,为汇聚点部署的选择提供依据,同时模拟汇聚点变化后组播流量分布的情况。从而实现更佳的部署汇聚点并动态部署汇聚点,实现组播流量的优化。
具体实施方式
在软件定义网络(Software-Defined Networking,SDN)架构中,SDN控制器与所有的网络设备建立连接,能够实时的获取所有网络设备的状态,资源、协议运行情况等信息,并下发控制命令控制网路设备的表项的增删、进行业务配置和流量优化与监测等。总之SDN控制器能与各网络设备保持连接,实时的获取网络设备的状态,对网络设备进行控制。
为了实现本发明目的,本发明利用SDN控制器实时监测整个网络中对于某个汇聚点上组播流量的分布情况,统计业务流量对网络带宽的消耗情况,并积累相关历史数据,为汇聚点部署的选择提供依据,同时模拟汇聚点的变化后组播流量分布的情况。从而实现更佳的部署汇聚点并动态部署汇聚点,实现组播流量的优化。
具体地,本发明提供一种双向协议无关组播中动态部署汇聚点的方法,应用于实时监控各网络设备运行信息的SDN控制器上。
参看图3,本发明所述方法的步骤为:
A,间隔预设时间一收集各网络设备的本地网络负载度量值。
B,汇总所述各网络设备的本地网络负载度量值生成整个网络负载的度量值。
C,当重新部署汇聚点启动条件满足时,确定新的候选汇聚点,并预先模拟计算所确定新的候选汇聚点生效后对应的整个网络负载的度量值。
D,根据模拟计算所得的各新的候选汇聚点生效后对应的整个网络负载的度量值和现汇聚点对应的整个网络负载的度量值确定出当前最佳汇聚点,并执行重新部署汇聚点的步骤。
本发明由于利用了SDN控制器实时监测整个网络,从而能够实时监控整个网络的负载度量值,发现重新部署汇聚点启动条件满足时,则表明可能需要重新部署汇聚点。SDN控制器可以模拟候选汇聚点生效后对应的整个网络负载的度量值,从而根据候选汇聚点模拟生效后对应的整个网络负载的度量值和现有的整个网络负载的度量值确定汇聚点的重新部署。因此,本发明能够实时的根据组播业务、组播源以及组播接收者的分布变化情况,动态的部署汇聚点,有效的优化了整个网络中组播流量转发路径。
所述预设时间一是本领域技术人员根据网络系统的需要,根据经验来确定的。
所述本地网络负载度量值是根据本地(*,G)表项的全部出接口的组播传输情况累加得到。
假设每个组播组流量相同,本地网络负载度量值Local_Oif_Num=N1+N2+N3+…+Ni+…+NG,其中G代表组播组数量,Ni代表出接口数量,即累加全部组播组的出接口数量。
另外,本地网络负载度量值亦可以通过其他方式计算获得,比如通过下列公式计算得到:本地网络负载度量Local_Oif_Num=V1*N1+V2*N2+…+ViNi+…+VG*NG,其中Vi代表组播传输速率。即通过将所有出接口所传输的组播速率累加获得本地网络负载度量值。
所述步骤A中的本地网络负载度量值的计算中,所述网络设备直连主机的出接口不参与计算。这是由于无论汇聚点如何部署,网络设备和主机之间的带宽消耗是无法避免的。
所述步骤C中的重新部署汇聚点启动条件包括:
发现整个网络负载的度量值在预设时间二内持续增加且超过预设阈值一,或者进入网管配置为需重新部署汇聚点的时段。
所述预设时间二、预设阈值一是本领域技术人员根据网络系统的需要,根据经验来确定的。
步骤C中的预设时间二是为了避免频繁的重新部署汇聚点,当然用户也可以配置预设时间二为0,即发现整个网络负载的度量值增加且超过预设阈值时,就尝试重新部署汇聚点。
所述步骤C中包括:
C1,当重新部署汇聚点启动条件满足时,确定新的候选汇聚点。
C2,选定一个新的候选汇聚点,模拟生成整个网络中的网络设备结点,模拟整个网络中(*,G)表项的生成过程。
C3,统计各网络设备的本地网络负载度量值,并汇总所述本地网络负载度量值生成所述新的候选汇聚点生效后对应的整个网络负载的度量值。
C4,重复上述步骤C2至C3以获得所有新的候选汇聚点生效后对应的整个网络负载的度量值。
其中,步骤C2模拟整个网络中(*,G)表项的生成过程同现有实际网络设备双向PIM(*,G)表项生成流程完全相同,包括步骤:
C21,在主机连接的网络设备结点上生成(*,G)表项并增加出接口。
C22,在所述主机连接的网络设备上查找指向所述选定汇聚点的单播路由,找到所述主机连接的网络设备的上游网络设备,若所述上游网络设备没有(*,G)表项,则增加(*,G)表项,若已存在(*,G)表项则增加出接口,若出接口已存在,则不进行任何操作。
所述步骤D包括步骤:
D1,比较所有新的候选汇聚点生效后对应的整个网络负载的度量值,选择最小的整个网络负载的度量值和现汇聚点的整个网络负载的度量值进行比较。
D2,如果现汇聚点的整个网络负载的度量值和最小的整个网络负载的度量值的差值大于预定阈值二,则选择最小的整个网络负载的度量值对应的候选汇聚点为当前最佳汇聚点,并执行重新部署汇聚点的步骤。
所述预定阈值二为本领域技术人员根据网络需要,依据经验选取。
所述步骤D2中重新部署汇聚点包括:
将最小的整个网络负载的度量值和现汇聚点的整个网络负载的度量值的比较结果反馈给网管,由网管根据比较结果,在后续部署汇聚点时候加以参考。
或者由SDN控制器通知最小的整个网络负载的度量值对应的候选汇聚点所在的网络设备,提升所述汇聚点的优先级别。
所述步骤D2中重新部署汇聚点为在预定时段允许重新部署汇聚点。
所述候选汇聚点为用户预先配置,或者符合用户指定的选择条件的汇聚点。
参看图4,本发明SDN控制器基本硬件架构包括CPU、内存、输入输入设备、非易失性存储器(例如硬盘)以及其他硬件。本发明装置在逻辑上包括:
本地负载收集单元,用于间隔预设时间一收集各网络设备的本地网络负载度量值。
整个负载生成单元,用于汇总各网络设备的所述本地网络负载度量值生成整个网络负载的度量值。
模拟负载生成单元,用于当重新部署汇聚点启动条件满足时,确定新的候选汇聚点,并预先模拟计算所确定新的候选汇聚点生效后对应的整个网络负载的度量值。
汇聚点重新部署单元,用于根据模拟计算所得的各新的候选汇聚点生效后对应的整个网络负载的度量值和现汇聚点对应的整个网络负载的度量值确定出当前最佳汇聚点,并执行重新部署汇聚点的步骤。
所述本地网络负载度量值是通过本地(*,G)表项的全部出接口的组播情况累加得到。
所述全部出接口不包括网络设备直连主机的出接口。
所述模拟负载生成单元中的重新部署汇聚点条件包括:
发现整个网络负载的度量值在预设时间二内持续增加且超过预设阈值一;
或者进入网管配置的需重新部署汇聚点的时段。
所述模拟负载生成单元包括:
汇聚点确定模块,用于当重新部署汇聚点启动条件满足时,确定新的候选汇聚点。
表项生成模块,用于选定一个新的候选汇聚点,模拟生成整个网络中的网络设备结点,模拟整个网络中(*,G)表项的生成过程。
负载生成模块,用于在所述表项生成模块选定新的候选汇聚点,且模拟完成整个网络中(*,G)表项的生成过程后,统计各网络设备的本地网络负载度量值,并汇总所述本地网络负载度量值生成所述新的候选汇聚点生效后对应的整个网络负载的度量值。
所述汇聚点重新部署单元包括:
负载比较模块,用于比较所有新的候选汇聚点生效后对应的整个网络负载的度量值,选择最小的整个网络负载的度量值和现汇聚点的整个网络负载的度量值进行比较。
汇聚点部署模块,用于在如果最小的整个网络负载的度量值和现汇聚点的整个网络负载的度量值的差值大于预定阈值二,则重新部署汇聚点。
所述汇聚点部署模块包括:
网管设置模块,用于将最小的整个网络负载的度量值和现汇聚点的整个网络负载的度量值的比较结果反馈给网管,由网管根据比较结果,在后续部署汇聚点时候加以参考。
或者优先级设置模块,用于通知最小的整个网络负载的度量值对应的候选汇聚点提升其汇聚点的优先级别。
下面用一个具体实施例来说明本发明的运行机制:
参看图5,网络系统包括路由器R1-R6,SDN控制器对所述路由器R1-R6进行监测。网管根据历史统计信息,确定路由器R5和路由器R2为两个候选汇聚点,其中路由器R5的优先级较高,部署路由器R5为汇聚点。当前有主机5、主机6加入组播组G,SDN控制器统计到的本地网络负载度量值如表一所示:
表一
于是,路由器R5作为汇聚点所对应的整个网络负载度量值为Global_Oif_Num(R5)=1+0+0+1+1+0=3。
参看图6,一段时间后,主机5、主机6退出组播组,同时主机2和主机3加入了组播组,于是SDN控制器统计到的本地网络负载度量值如表二所示:
表二
于是,路由器R5作为汇聚点所对应的整个网络负载度量值为Global_Oif_Num(R5)=2+1+1=4。
SDN控制器发现整个网络负载的度量值在预设时间二内持续增加且超过预设阈值一或者进入网管配置为需重新部署汇聚点的时段,尝试重新部署汇聚点。于是模拟组播组选择R2为新的汇聚点,参看图7,按此在SDN控制器上生成虚拟的组播表项。预先计算新的汇聚点生效后对应的整个网络负载的度量值如表三所示:
表三
于是,路由器R2作为汇聚点所对应的整个网络负载度量值为Global_Oif_Num(R2)=1+1=2。
显然新的汇聚点具有更小的整个网络负载的度量值,假设符合汇聚点切换条件,另外从直观上也不难看出图7中的组播流量对整个网络来说负载更小,整体网络延迟更低,因而用户体验更佳,于是SDN控制器通知路由器R2提升配置的汇聚点优先级(假定用户配置了汇聚点自动调整),或者通知路由器R5降低汇聚点优先级,通过现有的协议运行机制,组播组将重新选择路由器R2为汇聚点,最终组播流量按图7所示路径转发。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。