一种可编程的路由交换机、系统及方法转让专利

申请号 : CN202210061680.2

文献号 : CN114095417B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 管明尧成保刚许小锋魏林皮慧斌韩哲吉柴晓娟韩凤娇

申请人 : 融智通科技(北京)股份有限公司

摘要 :

本发明提出了一种可编程的路由交换机、系统及方法,可编程的路由交换机系统包括:一个或多个SDN交换机;多个开放网络操作系统(ONOS),ONOS会运行SDN‑IP的应用方式,每个SDN交换机处配置一个ONOS,所述SDN交换机之间彼此利用网线并搭配ONOS VPLS来建立连线;多个Quagga,SDN交换机与用户端之前分别设置相应的Quagga,用来和ONOS处的Quagga交换路由,ONOS处分别设置相应的Quagga,负责接收eBGP并且把路由告知ONOS。该系统可以使得网络更加具备灵活性、弹性以及减轻网络的负担。

权利要求 :

1.一种可编程的路由交换机系统,其特征在于:包括实体部分和使用者界面部分 两部分;

实体部分,采用SDN网络与Quagga结合的方式来达到可编程化路由交换机制,包括:一个或多个SDN交换机、多个开放网络操作系统(ONOS)和多个Quagga;

多个开放网络操作系统,ONOS会运行SDN‑IP的应用方式,用来解说eBGP并且设定相应的flow entries,网络启动一段时间后,会替每对IP找出一条最短路径的路由;每个SDN交换机处配置一个ONOS,所述SDN交换机之间彼此利用网线并搭配ONOS VPLS来建立连线;

多个Quagga, SDN交换机与用户端之前分别设置相应的Quagga,用来和ONOS处的Quagga交换路由, ONOS处分别设置相应的Quagga,负责接收eBGP并且把路由告知ONOS;

使用者界面部分,在SDN‑IP使用者界面上新增加路由选择界面,使用者通过此界面设定SDN网络中要使用哪条路径,当使用者决定好路径后,使用者界面将会把设定数据告知后端的Web服务器,之后再转成JSON格式的Flow entry,并且通过RESTful API将数据传送至ONOS,使其能新增相关的Flow entries于SDN交换机之上;由修改SDN‑IP使用者界面上的拓展显示界面达成路由展示界面,当后端服务器取得flow entry时,将会另外处理客户定制化的flow entry,使拓展显示界面上能够看到定制的路径。

2.如权利要求1所述的可编程的路由交换机系统,其特征在于:在SDN‑IP使用者界面上设置路由选择界面,使用者通过此界面设定SDN网络中要使用哪条路径,ONOS将相关流实体新增于SDN交换机上。

说明书 :

一种可编程的路由交换机、系统及方法

技术领域

[0001] 本申请涉及网络通信技术领域,尤其涉及一种可编程的路由交换机、系统及方法。

背景技术

[0002] 近年来,由于网络急速发展,与网络相关的技术与概念也相继被提出,例如大数据传输与云端计算,当然有许多应用就是以这些技术为基础而发展出来的,像人工智慧就需
要运用到云端计算。由于众多应用的出现,使用者递增,为了能够顺利提供服务,也为了能
服务世界各国人民,各个应用服务的厂商开始于世界各地建设数据中心。
[0003] 然后增设资料中心时,将会面临传统网络方面的许多限制,例如:Qos、IP缺少或虚拟化等,为了解决这些问题,将会耗费许多的成本和更多的硬件设备,因此为了考虑成本,
新型态网络架构的采用和研究是不可避免的,软件定义网络(Software Defined Network;
SDN)是最热门的网络架构,且此架构也已经受到许多远端服务提供者的采用,例如:Google
和Amazon。
[0004] SDN与传统网络之间的区别在于控制层(Control Plane)和数据层(Data Plane)是分开的,数据层一样放置在设备中,只负责数据的传输。控制层是独立的,所以决策都由
他决定。在传统网络架构中,用户受限于提供设备的厂商,有想要增加功能就必须花费额外
的成本请厂商于交货机或者路由器新增,而SDN则是可以自由的作为所许的功能,因此SDN
可以降低许多成本。
[0005] 一开始SDN网域之间会利用BGP找出一条预选的最短路径,但是此条最短路径可能导致带宽不足,或者是负载太重。使用者可通过使用者界面来挑选路径,后端服务器会将使
用者挑选的路径数据告知ONOS,ONOS便会增加flow entries到路径上的SDN交换器,并且赋
予比较高的priority,使后续的封包进入时候能够选择定制的路径。
[0006] 图1为SDN的架构图,控制层由SDN controller控制,常见的控制平台有ONOS(Open Network Operation System)、Floodlight、OpenDaylight,数据层部分通常使用OpenFlow 
switch,两层之间的联系通常采用相容SDN的协商。例如:OpenFlow,透过这个协议协定,数
据层就可以针对控制层的决策结果来设定其内部的Flow Table,之后数据层处理封包就会
依据Flow Table的记录来处理。借由SDN的可编程化开放架构的特性,使用者就可以于独立
的控制平台新增与开放所需要功能,以及满足定制化网络需求、提高带宽使用率和减少成
本。
[0007] 当SDN网络配置完成后,接着就要考虑与传统网络连接的网络,当两个不同性质的网络连接时,必须解决两个网域路由路径与路由信息交换等问题。
[0008] 这个问题我们结合ONOS、SDN‑IP与Quagga来达成不同性质网络的连接。并且设计开发一套使用界面让使用者能够知道SDN网络内的BGP信息以及网络拓扑。然后当数据中心
不足,需要更多重路径路由来增加带宽或者是减少网络负担时,由于SDN‑IP针对每个IP配
对,只会选择最短路径,因此多重路径将会于SDN内收敛,造成网络的瓶颈,因此,急需一种
新的SND网域间可编程式路由交换机制来解决这个问题。

发明内容

[0009] 在利用SDN‑IP建构而成的大型SDN网域上,因为SDN‑IP机制的原因,路由策略为挑选最短路径,因此SDN网域内每个IP配对只会使用单一一条路径,而不会选用多条路径,故
当此路径拥塞或者使用者利用多重路径来试图增加带宽或者减少负载时,往往SDN网域之
间的路径将是瓶颈,因此我们要设计一种可编程的路由交换机制来解决这个问题,以使得
网络更加具备灵活性、弹性以及减轻网络的负担。
[0010] 本发明提出了一种可编程的路由交换机系统的设计,包括:一个或多个SDN交换机;多个开放网络操作系统(ONOS),ONOS会运行SDN‑IP的应用方式,每个SDN交换机处配置
一个ONOS,所述SDN交换机之间彼此利用网线并搭配ONOS VPLS来建立连线;多个Quagga, 
SDN交换机与用户端之前分别设置相应的Quagga,用来和ONOS处的Quagga交换路由, ONOS
处分别设置相应的Quagga,负责接收eBGP并且把路由告知ONOS。
[0011] 根据本发明的一个方面,在SDN‑IP使用者界面上设置路由选择界面,使用者通过此界面设定SDN网络中要使用哪条路径,ONOS将相关流实体(Flow entries)新增于SDN交换
机上。
[0012] 根据本发明的一个方面,当使用者决定好路径后,使用者界面将会把设定数据告知后端的Web服务器,之后再转成JSON格式的Flow entry并且通过RESTful API将数据传送
至ONOS,以使其能新增相关的Flow entries于SDN交换机之上。
[0013] 根据本发明的一个方面,所述可编程的路由交换机系统采用SDN网络与Quagga结合的方式来实现可编程化路由交换;网络启动一段时间后,ONOS会替每对IP找出一条最短
路径的路由;
[0014] 根据本发明的一个方面,在SDN‑IP使用者界面上设置路由展示界面,所述路由展示界面是由修改SDN‑IP使用者界面上的拓展显示界面来达成,当后端服务器取得flow 
entry时,将会另外处理客户定制化的flow entry,使拓展显示界面上能够看到定制的路
径。
[0015] 本发明还提出了一种可编程的路由交换方法,包括:步骤1,启动开放网络操作系统(ONOS)上的SDN‑IP,让SDN网域之间彼此交换路由以便建立路由路径;步骤2,视频流服务
器(Video Streaming Server)端启动串流服务器,接着启动视频流客户端(Video 
Streaming Client)内的串流用户,通讯串流在SDN网域之间,走预设路径;步骤3,使用者通
过SDN‑IP使用者界面配置流实体(flow etnry),以实现多重路径的通讯串流。
[0016] 根据本发明的一个方面,步骤2中,视频流服务器端的启动命令为“phython Server.pyser_rtsp_port”, 视频流客户端的启动命令为“python ClientLauncher.py 
servi_ip server_rtsp_port client_rtp_port video_file flow_number”;启动时flow_
number设定为2,表示将串流分成两个flow。
[0017] 根据本发明的一个方面,步骤3中,使用者在SDN‑IP使用者界面将设定的flow entry规则加入到网元处的ONOS,并等待ONOS设定SDN交换机的flow entry。
[0018] 根据本发明的一个方面,当ONOS设定完成后,通讯串流的flow将使用不同的路由,以实现多重路径的通讯串流。
[0019] 本发明还提出了一种可编程的路由交换机,该交换机包括:至少一个存储器,用于存储处理器执行的计算机指令;至少一个处理器,用于执行存储器中存储的计算机指令,以
实现本发明提出的可编程的路由交换方法。
[0020] 如图3所示,一开始SDN网域之间会利用BGP找出一条预选的最短路径,由于SDN‑IP针对每个IP配对,只会使用最短路径,而不会选用多条路径,当数据流量过大就会导致带宽
不足,或者是负载太重。使用者可通过使用者界面来挑选路径,后端服务器会将使用者挑选
的路径数据告知ONOS,ONOS便会增加folw entries到路径上的SDN交换器,并且赋予比较高
的priority,使后续的封包进入时候能够选择定制的路径。
[0021] 一种可编程的路由交换机系统主要包括实体部分和使用者界面部两部分。
[0022] 1. 实体部分,采用SDN网络与Quagga结合的方式来达到可编程化路由交换机制,而SDN网络又分为SDN交换器与ONOS,其中ONOS会运行SDN‑IP的应用方式。用来解说eBGP并
且设定相应的flow entries,网络启动一段时间后,会替每对IP找出一条最短路径的路由。
[0023] 2. 使用者界面部分,这部分我们在SDN‑IP使用者界面上新增加路由选择界面,具体路由选择流程如图2所示,使用者通过此界面设定SDN网络中要使用哪条路径,当使用者
决定好路径后,使用者界面将会把设定数据告知后端的Web服务器,之后再转成JSON格式的
Flow entry并且通过RESTful API将数据传送至ONOS使其能新增相关的Flow entries于
SDN交换机之上。路由展示界面则是由修改SDN‑IP使用者界面上的拓展显示界面来达成,我
们新增一个设定,当后端服务器取得flow entry时,将会另外处理客户定制化的flow 
entry,使拓展显示界面上能够看到定制的路径。
[0024] 本发明提出了一种交换机,该交换机包括:
[0025] 存储器,用于存储至少一个处理器所执行的指令;
[0026] 处理器,用于执行存储器中存储的指令执行本发明提出的方法。
[0027] 第三方面,本申请实施例提供的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行本发明提
出的方法。

附图说明

[0028] 图1为本申请实施例所提供的一种SDN网域间可编程式路由交换机制的设计的SDN网络框架图;
[0029] 图2为本申请实施例所提供的一种交换机数据使用者运行流程图;
[0030] 图3为本申请实施例所提供的一种交换机数据交互的拓扑图;
[0031] 图4为本申请实施例所提供的一种交换机数据交互的拓扑示例图;
[0032] 图5为本申请实施例所提供的一种交换机的结构示意图。

具体实施方式

[0033] 本申请实施例提供的方案中,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提
下所获得的所有其它实施例,都属于本申请保护的范围。
[0034] 为了更好的理解上述技术方案,下面通过附图以及具体实施例对本申请技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详
细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例
中的技术特征可以相互组合。
[0035] 以下结合说明书附图对本申请实施例所提供的一种可编程的路由交换机制的设计做进一步详细的说明,该方法具体实现方式可以包括以下步骤:
[0036] 如图3所示,我们使用三台SDN交换机来搭建一个SDN网域互联的拓扑,此三台交换机分别为网元1、网元2以及网元3,彼此利用网线并搭配ONOS VPLS来建立连线。另外我们也
配置5台Quagga来交换BGP,2台分别位于交换机与用户端之前,用来和ONOS处的Quagga交换
路由,其他3台位于ONOS处,负责接收eBGP并且把路由告知ONOS。
[0037] 首先SDN网域之间会利用BGP找出一条预选的最短路径,客户端通过与交换机之间的Quagga连接到网元2,选用最短的默认路径连接到网元3,网元3通过quagga连接到另一个
客户端。由于SDN‑IP针对每个IP配对,只会使用最短路径,而不会选用多条路径,当数据流
量过大就会导致带宽不足,或者是负载太重。使用者可通过使用者界面来挑选路径,后端服
务器会将使用者挑选的路径数据告知ONOS,ONOS便会增加folw entries到路径上的SDN交
换器,并且赋予比较高的priority,使后续的封包进入时候能够选择定制的路径。客户端通
过与交换机之间的Quagga连接到网元2,根据挑选的路径,避开拥塞的默认路径,选择网元2
经过网元1连接到网元3,网元3通过quagga连接到另一个客户端。
[0038] 方法应用拓扑示例图如图4所示具体的,我们使用三台SDN交换机来搭建一个SDN网域互联的拓扑,此三台交换机分别为网元1、网元2以及网元3,彼此利用网线并搭配ONOS 
VPLS来建立连线。另外我们也配置5台Quagga来交换BGP,2台分别位于交换机与用户端之
前,用来和ONOS处的Quagga交换路由,其他3台位于ONOS处,负责接收eBGP并且把路由告知
ONOS。此处的具体数字仅仅是示例性的,在实际应用中,可以根据需要设置具体的交换机、
ONOS、Quagga的数量。
[0039] 步骤1,启动ONOS上的SDN‑IP,让SDN网域之间彼此交换路由以便建立路由路径。
[0040] 步骤2,Video Streaming Server视频流服务器端启动串流服务器,启动命令为“phython Server.pyser_rtsp_port”,接着启动Video Streaming Client视频流客户端内
的串流用户,启动命令格式为“python ClientLauncher.py servi_ip server_rtsp_port 
client_rtp_port video_file flow_number”,我们flow_number先设定为2,表示将串流分
成两个flow,然后观察每台ONOS Web UI中的flow entry 配对计数,发现不管分成几个串
流,在SDN网域之间,只会走预设路径。
[0041] 步骤3,使用者通过界面配置一条flow etnry,具体如下:
[0042] 首先配置匹配以太网类型为0x0800即ip报文,指定入物理端口号为1,指定udb报文的udpport为234567。出接口指定端口号为3,并且配置优先级为4000。然后我们利用
RESTful API将图中的flow entry规则加入到网元2的ONOS,并等待ONOS设定SDN交换机的
flow entry,当ONOS设定完成后,我们统一依照前述方式启动通讯串流的服务器与用户端,
然后检查每台ONOS上的flow entry配对计数,就可以观察到通讯串流的2个flow使用不同
的路由,真正达到多重路径的通讯串流。不同的路由包括:(1)视频流服务器端通过与交换
机之间的Quagga连接到网元2,网元2直接连接到网元3,网元3通过quagga连接到视频流客
户端;(2)视频流服务器端通过与交换机之间的Quagga连接到网元2,根据flow entry规则
挑选的路径,选择网元2经过网元1连接到网元3,网元3通过quagga连接到视频流客户端。
[0043] 根据本发明的另外的实施例,网元和ONOS的组合并不限定为3组,可以为大于3组的任意数目,路径也并不限定为仅仅经过网元1,可以在网元2和网元3之间能够连接的任何
路径。比如:可以经过网元4、网元5连接到网元3;也可以经过网元6、网元7、网元8、网元9连
接到网元3。
[0044] 参见图5,本申请实施例提供的一种交换机,该交换机包括:
[0045] 存储器301,用于存储至少一个处理器所执行的指令;
[0046] 处理器302,用于执行存储器中存储的指令执行本发明所提出的方法。
[0047] 进一步,本申请实施例提供的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行本发明所提
出的方法。
[0048] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实
施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形
式。
[0049] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序
指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实
现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0050] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
[0051] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
[0052] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围
之内,则本申请也意图包含这些改动和变型在内。