沿着阻塞链路传输特定业务的制作方法

文档序号:18702383发布日期:2019-09-17 23:06阅读:149来源:国知局
沿着阻塞链路传输特定业务的制作方法



背景技术:

网络通常采用生成树协议(stp)以便防止在网络的交换机(switch)之间形成业务(traffic)环路。stp阻塞交换机之间的冗余链路以防止环路。向网络管理者提出找到方式来改进穿过(traverse)网络的业务的吞吐量(throughput)、可靠性和/或安全性的挑战。

附图说明

以下详细描述参考附图,其中:

图1是用于沿着阻塞链路来传输特定业务的控制器的示例框图;

图2是与图1的控制器对接的交换机的另一个示例框图;

图3a是由图1的控制器配置的网络链路的示例框图,而图3b是沿着图3a的配置的网络链路的业务流的示例框图;

图4是包括用于沿着阻塞链路来传输特定业务的指令的计算设备的示例框图;并且

图5是用于沿着阻塞链路来传输特定业务的方法的示例流程图。

具体实施方式

在网络中的第2层交换(switching)通常依赖于诸如生成树协议(stp)(802.1d)之类的特征以便于防止在网络中形成业务环路。为了防止环路,冗余链路可以被阻塞并且因此不被stp使用。另外,stp是交换机到交换机协议,其中所有的设备是对等的并且整个网络的全局视图是未知的。

对冗余链路的该“阻塞”可能是对联网装置的浪费,因为端口和电缆花费金钱并且处于空闲。虽然在链路故障在某处发生的情况下stp确实提供能够激活这些链路的益处,但是这些链路往往是不被使用的。多实例生成树协议(mstp)(ieee802.1s)提供了通过使用虚拟局域网(vlan)来在彼此上覆盖生成树的方法。例如,客户可以配置两个vlan,每个具有其自己的mstp实例,并且每个mstp实例阻塞不同的端口。mstp允许更多的链路保持活动,但是在某些vlan(mtsp实例)上许多链路将仍然是不被使用的。

管理者可以使用诸如qos或者diffserv之类的特征以便对特定业务进行分类或者使其在次序上优先化为较高,以便增大该特定业务将不会被丢弃或者延迟的可能性。这可能会增大对于某些类型的业务(诸如该特定业务)的网络带宽分配,但是阻塞链路将仍然保持不被使用。

实施例可以利用阻塞链路,而不是通过潜在拥塞的正常链路来发送特定业务,其中希望qos/diffserv会将这个业务分类为更高级。例如,通过使用stp网络的全局视图和不同类型的协议(诸如openflow(开放流)),实施例可以通过不被使用的阻塞链路来转发特定业务。例如,openflow协议可以允许客户/控制器基于业务流内的内容来设置业务将会采用的路径。openflow协议也提供用于标识业务的灵活分类机制,诸如通过命令设备基于规则来转发业务。

在实施例中,链路的状态是阻塞和不阻塞之一。阻塞链路不被生成树协议(stp)使用。网络交换机中的至少一个交换机被配置成沿着阻塞链路来传输特定业务。在一些实施例中,参数也可以被修改以操纵哪些链路变成阻塞的。使用阻塞链路的益处是特定业务不必须与其它类型的业务相竞争(contend),因为其它类型的业务将穿过不阻塞的stp链路。另外,替代使得管理者实现完全新类型的网络,实施例可以被用来补充现有stp或者mstp网络并且与其共存。

现参考图,图1是用于沿着阻塞链路来传输特定业务的控制器100的示例框图。控制器100可以是单独的元件或者可以被包括在能够管理网络元件和/或连接到网络的交换机、集线器、路由器、网关、存储设备、计算机、外壳(enclosure)、服务器和/或任何类型的设备中。

在图1的实施例中,控制器100连接到网络110,网络110包括多个网络交换机112-1到112-4。网络110的类型的示例可以包括个域网(pan)、局域网(lan)、家庭网络、存储区域网(san)、校园网、骨干网、城域网(man)、广域网(wan)、企业专有网、虚拟专有网(vpn)、互联网络等等。

虽然网络110示出了四个交换机112-1到112-4,但是实施例可以包括多于或者少于四个交换机。交换机112-1到112-4可以是连接链路和/或网络设备的任何类型的设备。另外,交换机112-1到112-4可以经由与链路对接的物理端口来接收和转发数据。链路可以是用于传输数据的在交换机之间的任何类型的电连接,诸如电缆。

控制器100和交换机112-1到112-4可以包括例如硬件设备,其包括用于实现上文描述的功能的电子电路,诸如控制逻辑和/或存储器。附加地或者作为替换方案,控制器100和交换机112-1到112-4可以被实现为在机器可读存储介质上编码并且可由处理器执行的一系列指令。

在图1中,交换机112-1到112-4均被示出具有三个端口,其中每个端口与链路相对接。例如,a交换机112-1被示出为具有经由链路连接到b交换机112-2的第十二端口12的第一端口1、经由链路连接到d交换机112-4的第八端口8的第二端口2和经由链路连接到c交换机112-3的第四端口4的第三端口3。另外,b交换机112-2被示出为具有经由链路连接到d交换机112-4的第九端口9的第十端口10和经由链路连接到c交换机112-3的第五端口5的第十一端口11。c交换机112-3还被示出为具有经由链路连接到d交换机112-4的第七端口7的第六端口6。然而,交换机112-1到112-4中的每个的实施例可以包括多于或者少于三个端口以及不与链路相对接的端口。

而且,在交换机112-1到112-4之间的链路中的一些链路被示出为实线,而其它链路被示出为虚线。例如,虚线被示出以用于在c和b交换机112-3和112-2之间的链路、在c和d交换机112-3和112-4之间的链路以及在b和d交换机112-2和112-4之间的链路。在另一方面,实线被示出以用于在a和b交换机112-1和112-2之间的链路、在a和c交换机112-1和112-3之间的链路以及在a和d交换机112-1和112-4之间的链路。

虚线代表阻塞链路,而实线代表不阻塞链路。网络协议可以将交换机112-1到112-4的一个或者多个端口配置成阻塞传入(incoming)和传出(outgoing)业务两者,以便形成阻塞链路。例如,stp可以形成这样的阻塞链路以确保针对网络110的无环路拓扑。在图1中,stp可能已经阻塞一些链路以便形成生成树,其中a交换机112-1作为该生成树的根。stp的变型可以包括快速生成树协议(rstp)、vlan生成树协议(vstp)、多生成树协议(mstp)等等。

控制器100用来监测102网络110的逻辑拓扑,诸如具有stp网络的全局视图。逻辑拓扑可以包括网络110的物理和活动拓扑中的至少一个。网络110的物理拓扑可以由物理设计来定义,诸如链路的布局和交换机的位置。活动拓扑可以指代数据在网络110中如何从一个设备传送到下一个设备,并且可以由诸如stp之类的网络协议来确定。

因此,物理拓扑可以与在交换机112-1到112-4之间的距离、物理互连、传输速率、和/或信号类型有关,而活动拓扑可以与允许业务的分组在其上传播(travel)的物理拓扑的路径或链路有关。因此,控制器100可以通过监测逻辑拓扑102来标识诸如被stp所阻塞的任何链路。例如,控制器100可以主动地监测网络110内的所有设备(诸如交换机112-1到112-4)并且对stp状态做记录,诸如交换机112-1到112-4的哪些端口被阻塞。

接下来,控制器100可以将网络交换机112-1到112-4中的至少一个配置成沿着阻塞链路来传输特定业务。特定业务可以不同于一般业务,所述一般业务不能穿过阻塞链路。

特定业务可以涉及具有例如与一般业务不同的等待时间、分组丢失和/或安全性需求的数据。特定业务可以被标识或者基于例如用户、优先级、被包括在特定业务中的数据源和/或内容的类型。可能具有等待时间需求的特定业务的示例包括多播流、视频业务、voip数据等等。这样的类型的特定业务可以基于内容类型来标识,诸如通过检查(inspect)特定业务的报头(header)。可能具有安全性需求的特定业务的示例可以包括金融、企业或个人数据。在一个实施例中,这样的类型的特定业务可以基于用户类型而被标识。例如,公司执行总监的电子邮箱可以比该公司员工的电子邮箱具有更高的安全性。

可能具有优先级需求的特定业务的示例可以包括备份数据和金融服务交易。例如,备份数据可以具有比一般业务更低的优先级,并且在非高峰时间期间进行传输或者在阻塞链路上进行传输以使得其不会消耗可用于一般业务的带宽。在另一方面,诸如股票或者交易者的交易之类的金融服务交易可以具有高优先级。这样的类型的特定业务可以基于例如数据源来标识。

控制器100将与阻塞链路相关联的至少一个网络交换机112-1到112-4的阻塞端口(未示出)配置成允许特定业务穿过阻塞链路。另外,控制器100将定义沿着链路的路径以转发特定业务。所述路径可以包括至少一个阻塞链路。然而,控制器100也可以将路径定义为包括一个或者多个不阻塞链路,诸如当沿着路径连接到网络交换机112-1到112-4之一的链路全部都是不阻塞链路时。不阻塞链路还可以由一般业务来使用。

例如,在图1中,特定业务被示出为经由a、b和c交换机112-1到112-3而进入,并且被引导朝向d交换机112-4。正常地,经由b和c交换机进入的包括特定业务的任何业务将经由不阻塞链路被传输到a交换机112-1。特定业务然后将从a交换机112-1经由另一个不阻塞链路被引导至预定(destined)的d交换机112-4。然而,如在图1中示出的,控制器100可以将进入a交换机的特定业务配置成被传输到c交换机112-3。此处,来自a交换机112-1的特定业务可以加入进入c交换机112-3的任何其它特定业务,并且经由在c和d交换机112-3和112-4的第六和第七端口6和7之间的阻塞链路被直接传输到d交换机112-4。

相似地,控制器100可以引导进入b交换机112-2的任何特定业务以经由在b和d交换机112-2和112-4的第十和第九端口10和9之间的阻塞链路直接传输到d交换机112-4。因此,不仅通过使用阻塞链路来传输特定业务减轻了不阻塞链路中的拥塞,而且特定业务也可以通过经过较少的交换机112跳跃(hop)而被传输得更加快速。

控制器100可以经由openflow协议将交换机112-1到112-4中的任一个配置成沿着阻塞链路引导特定类型的业务。openflow是第2层通信协议,其给予通过网络110对交换机112的转发平面(未示出)的访问权限。另外,openflow协议可以允许通过由在集中的位置和/或以分布式的方式运行的软件或固件动态确定的交换机112-1到112-4(诸如多个交换机112)的特定业务的路径。

在一个实施例中,控制器100可以定义沿着链路的主要和次要路径以转发特定业务。在该情况下,如果第一路径的链路中的一个链路出现故障,则控制器100可以将一个或者多个网络交换机112-1到112-4配置成沿着次要路径转发特定业务,以便导航绕过一个或多个故障的链路。

控制器100可以使用以与交换机112-1到112-3进行通信的示例协议可以包括链路层发现协议(lldp)、简单网络管理协议(snmp)、动态主机配置协议(dhcp)、简单服务发现协议(ssdp)、通用即插即用(upnp)等等。控制器100可以自动地或者根据手动输入来配置交换机112。另外,交换机112-1到112-4可以根据openflow和stp协议两者进行操作。例如,交换机112-1到112-4可以针对特定业务根据openflow协议来操作并且针对一般业务和/或如果链路故障的话根据stp协议来操作。

图2是与图1的控制器100对接的交换机200的另一个示例框图。控制器100可以是单独的元件或者可以被包括在能够管理网络元件和/或连接到网络的交换机、集线器、路由器、网关、存储设备、计算机、外壳、服务器和/或任何类型的设备中。

图2的控制器100和交换机200可以至少分别包括图1的控制器100和交换机112-1到112-4的功能和/或硬件。例如,虽然交换机200被示出为表示图1的c交换机112-3,但是其它交换机112-1、112-2和112-4也可以是相似的。

在图2的实施例中,交换机200被示出为包括控制面板210和转发平面220。转发平面220被示出为还包括规则222和端口参数224以及与交换机端口228-1到228-4对接。第一交换机端口228-1可以对应于接收特定业务的c交换机112-3的端口(未示出)。第二到第四交换机端口228-2到228-4可以对应于c交换机112-3的第四到第六端口4到6。控制平面210可以是与绘出网络映射和/或路由表有关的交换机架构的一部分,网络映射和/或路由表定义如何处理传入业务分组。转发平面220可以是交换机架构的一部分,其与决定如何处理到达入站接口的传入分组有关,诸如指示目的地地址和/或传入分组的传出接口的查找表。

如上文图1中解释的和图2中由对角线模式示出的,第三和第四交换机端口228-3和228-4是阻塞的。第一和第二交换机端口228-1和228-2是不阻塞的。在该情况下,第一和第二交换机端口228-1和228-2两者都被示出为接收特定业务而第二交换机端口228-2还被示出为输出一般业务。如在图1中示出的,用于特定业务的示例路径可以由控制器100定义成从a交换机112-1的第三端口3流动到c交换机112-3的第四端口4(交换机200的第二交换机端口228-2)。另外,从第一交换机端口228-1和第二交换机端口228-2接收的特定业务可以被输出到阻塞的第四交换机端口228-4,以便经由阻塞链路向d交换机112-4传输特定业务。

交换机200能够基于将交换机200的控制平面210与转发平面220分离的软件定义网络(sdn)架构(诸如openflow协议))来将特定业务引导至阻塞链路中的一个或者多个。例如,经由openflow,控制器100可以访问转发平面220来设置沿着阻塞端口(诸如阻塞的第四交换机端口228-4)引导特定业务的一个或者多个规则222。规则222可以被定义为由控制器100递送的任何类型的指令,其指示特定业务将从哪个(哪些)端口中输出。

在图2中,控制器100被示出为与交换机200分离。然而,实施例可以包括被包含在交换机112或者200中的一个的和/或作为与交换机112-1到112-4或者200分离的较高层设备的控制器100。例如,如果控制器100是较高层设备,则除了设定规则222或者替代于设定规则222,控制器100还可以能够配置沿着路径的网络设备之一(诸如交换机200)的一个或者多个端口参数224。诸如第二到第四交换机端口228-2到228-4之类的端口中的每个可以具有一个或者多个对应的端口参数224。一个或多个配置的端口参数224可以使对应端口和链路表现得对于stp不太合期望。因此,一个或多个配置的参数224可以使stp将对应链路状态从不阻塞改变为阻塞。例如,stp可以查看端口的某些端口参数224(诸如端口优先级和路径成本)来确定对应链路的合期望性。控制器100可以直接或者间接地影响端口参数224,诸如通过更改交换机200的值,如端口位置、端口速度和跳数。

术语端口优先级可以指代针对转发业务而言,stp给予某个端口相对于其它端口的偏好。例如,该参数可以被用来向端口指派较高(或者较低)的优先级,其中较高的数值意味着较低的优先级更高。在业务被重新路由的情况下,端口基于其优先级被重新路由,以使得在vlan内或者在交换机200上,相比于较低优先级端口,偏好被给予较高优先级端口。术语路径成本可以指代使用端口达到根桥接器或者交换机的成本。当在去往根桥接器的多个链路之中进行选择时,stp选取具有最低路径成本的链路并且阻塞其它路径/链路。例如,该参数可以被用来向端口指派较高或者较低的路径成本。向某个端口指派较大值可以在重新路由时段期间偏流掉(biasaway)业务,并且反之亦然。

在图1中,控制器100可以自动或者手动地配置端口参数224中的至少一个。对于手动配置,控制器100可以与键盘、鼠标、显示器、图形用户界面(gui)、触摸屏等等相关联,以便允许管理者输入针对端口参数的不同值。在一个或者多个端口参数被改变之后,stp可以重新计算路径。在一些情况下,之前阻塞的链路可以变成阻塞的并且反之亦然。另外,手动配置也可以在看见stp拓扑时被管理者用来创建新规则。

如果网络110包括vlan,则mstp可以被用来管理多个vlan,其中mstp针对不同的vlan阻塞不同的链路。因此,mstp的使用导致链路的仅部分阻塞。例如,采用mstp,在某些mstp实例上链路可以被阻塞,但不是全部链路都被阻塞。从使用的观点来看,这允许所有的链路都是活动的,但仅在某些实例上。mstp实例由一组vlan来定义。

在该情况下,控制器100可以基于在给定时间处所述vlan中的哪个是活动的以及从而在给定时间处所述链路中的哪个是阻塞的来创建规则222以沿着网络交换机112-1到112-4的端口中的一个或者多个端口引导特定业务。可替换地或者附加地,控制器100可以将端口参数224的实例配置成影响所述链路中的哪个变成阻塞的。

图3a是由图1的控制器100配置的网络链路的示例框图,而图3b是沿着图3a的配置的网络链路的业务流的示例框图。在图3a和3b中示出的交换机312-1到312-4可以与图1的交换机112-1到112-4相似。例如,在图3a和3b中的交换机312-1到312-4及其端口可以与图1的交换机及其端口相似地被标记。初始地,图3a的交换机312-1到312-4被示出为具有与图1的112-1到112-4的交换机相似的配置,其中在c和b交换机312-3和312-2之间、c和d交换机312-3和312-4以及b和d交换机312-2和312-4之间存在阻塞链路。

然而,如上文中关于图2解释的,控制器100可以能够配置端口参数,以使得stp然后将使不阻塞链路重新配置成阻塞链路或者将阻塞链路重新配置成不阻塞链路。这可以是合期望的,以便创建针对特定业务的路径,其中一般业务被减少或者移除。例如,如果控制器100不能找到去往针对特定业务的期望端点的任何阻塞链路,则控制器100将不阻塞链路中的至少一个转换为阻塞链路。在图3a中,控制器100被示出为配置端口参数以使得在a和c交换机312-1'和312-3'之间的不阻塞链路被转换成阻塞链路而在c和b交换机312-3'和312-2'之间的阻塞链路被转换成不阻塞链路。

图3b示出控制器100和网络310,其包括具有图3a的配置的端口参数的交换机312-1'到312-4'。图3b的控制器100和网络310可以分别至少包括图1的控制器100和网络310的功能和/或硬件。在该情况下,特定业务被示出为是通过互联网协议的话音(voip)业务,其被传输朝向d交换机312-4以便传递到voip服务器314。与图1相似,经由a、b和c交换机312-1'到312-3'来接收voip业务。然而,与图1不同,全部voip业务现在可以由于配置端口参数的控制器100而仅仅通过阻塞链路来流动,以使得在a和c交换机312-1'和312-3'之间的之前不阻塞链路现在是阻塞链路。因此,当控制器100已经提供了针对voip业务的阻塞链路的专用路径时,由于对于voip业务的拥塞而引起的定时延迟可以被减小或者最小化。不过因此,对于去往c交换机312-3'的一般业务的路径可能更长,因为现在c交换机312-3'距a交换机312-1'两跳远。

图4是包括用于沿着阻塞链路来传输特定业务的指令的计算设备400的示例框图。在图4的实施例中,计算设备400包括处理器410和机器可读存储介质420。机器可读存储介质420还包括指令422、424和426以用于沿着阻塞链路来传输特定业务。

计算设备400可以是以下各项或者以下各项的一部分:例如,能够执行指令422、424和426的服务器、网络交换机、集线器、路由器、网关、网络元件或者任何其它类型的设备。在某些示例中,计算设备400可以包括或者连接到附加组件,诸如存储器、传感器、显示器等等。

处理器410可以是至少一个中央处理单元(cpu)、至少一个基于半导体的微处理器、至少一个图形处理单元(gpu)、适用于检索和执行存储在机器可读存储介质420中的指令的其它硬件设备或者其组合。处理器410可以取、解码并执行用于沿着阻塞链路来传输特定业务的指令422、424和426。作为替换方案,或者除检索和执行指令之外,处理器410还可以包括包含用于执行指令422、424和426的功能的多个电子组件的至少一个集成电路(ic)、其它控制逻辑、其它电子电路或者其组合。

机器可读存储介质420可以是包含或存储可执行指令的任何电子、磁性、光学或其它物理存储介质。因此,机器可读存储介质420可以是例如随机存取存储器(ram)、电可擦除可编程只读存储器(eeprom)、存储驱动器、光盘只读存储器(cd-rom)等等。正因为这样,机器可读存储介质420可以是非临时性的。如下文中详细描述的,可以用用于沿着阻塞链路来传输特定业务的一系列可执行指令来编码机器可读存储介质420。

而且,指令422、424和426当由处理器执行(例如,经由处理器的一个处理元件或多个处理元件)时可以使处理器执行诸如图5的过程之类的过程。例如,收集指令422可以由处理器410执行以收集关于在网络(未示出)的交换机(未示出)之间的链路的拓扑信息。确定指令424可以由处理器410执行以确定所述链路中的哪个被stp阻塞。配置指令426可以由处理器410执行以经由openflow协议将交换机中的至少一个交换机配置成允许特定业务沿着阻塞链路中的至少一个来传输。然而,交换机将根据来自stp和openflow协议两者的命令进行操作。

图5是用于沿着阻塞链路来传输特定业务的方法500的示例流程图。虽然下文中参考控制器100来描述方法500的执行,但是也可以利用用于方法500的执行的其它适当组件。附加地,用于执行方法500的组件可以分布在多个系统和/或设备(例如,与输入和输出设备进行通信的处理设备)之中。在某些情景下,协调地行动的多个设备可以被认为是执行方法500的单个设备。方法500可以以存储在机器可读存储介质(诸如存储介质420)上的可执行指令的形式来实现和/或以电子电路的形式来实现。

在块510处,控制器100监测在网络110的交换机112之间的链路的状态。链路的状态是阻塞和不阻塞之一。链路112的阻塞链路不被stp使用。接下来,在块520处,控制器100将交换机112中的至少一个交换机的至少一个端口配置成沿着阻塞链路传输特定业务。stp将继续不使用阻塞链路来传输与特定业务分离的一般业务。控制器100配置在第二层级别的交换机112。另外,控制器110将在块520处配置端口228中的至少一个端口之前,在块510处监测链路112的状态。控制器100可以经由例如简单网络管理协议(snmp)与交换机112进行通信以配置一个或者多个端口228。

在上文的描述中给出了特定细节以提供对实施例的理解。然而,将理解的是,可以在没有这些特定细节的情况下实践实施例。例如,系统可以以框图被示出以便不会不必要地详细地使实施例晦涩难懂。在其它实例中,可以在没有不必要的细节的情况下示出众所周知的过程、结构和技术以便避免使实施例晦涩难懂。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1