传输软件定义网络(SDN)‑逻辑链路聚合(LAG)成员信令的制作方法

文档序号:13518693阅读:487来源:国知局
传输软件定义网络(SDN)‑逻辑链路聚合(LAG)成员信令的制作方法

相关申请的交叉引用

本专利申请要求获得于2015年5月21日提交的申请号为14/718,949、发明名称为“传输软件定义网络(sdn)-逻辑链路聚合(lag)成员信令”的美国专利申请的优先权,其通过引用并入本文,如同再现其全部内容。

本发明涉及一种用于传输网络通信的系统和方法,并且尤其涉及一种用于逻辑链路聚合成员信令的系统和方法。



背景技术:

传统的计算机网络由大量的网络设备,例如路由器、交换机和/或其他硬件构建成。大型网络的管理可能是复杂和昂贵的。相信可以通过用集中式协议替换用于传统路由器中的控制和数据转发的完全分布式协议来解决所述的复杂性。例如,在中央控制的网络中,数据转发(例如数据面)可以与诸如路由、资源、管理和其他管理功能的控制决策(例如控制面)解耦合。该解耦合还允许数据面和控制面在不同的硬件上、在不同的运行时环境中和/或使用不同的型号操作。在中央控制的网络中,网络智能在逻辑上集中在基于软件的控制器中。因此,网络设备成为由中央控制器管理和控制的分组转发设备。



技术实现要素:

本文公开了一种传输软件定义网络(sdn)控制器。在一个实施例中,该传输sdn控制器可以包括:接收器,用于从物理层网元(ne)接收通告消息,每个通告消息指示物理层ne端口和相邻网络层ne之间的映射;以及耦合到所述接收器的处理器。该处理器可以用于使得传输sdn控制器基于从物理层ne接收的物理层邻接发现消息来确定物理拓扑,基于从网络层ne接收的网络层邻接发现消息来确定逻辑拓扑,并基于来自所述物理层ne的所述通告消息,确定所述逻辑拓扑和所述物理拓扑之间的关系。该处理器可以用于进一步使传输sdn控制器监测网络层链路聚合组(lag)请求,该请求指示第一网络层ne正在请求与第二网络层ne的网络层lag链路成员。基于物理拓扑和逻辑拓扑之间的关系,并且基于监测网络层lag请求,处理器可以用于进一步使传输sdn控制器在第一网络层ne的第一相邻物理层ne端口和第二网络层ne的第二相邻物理层ne端口之间建立物理层连接,以实现所请求的网络层lag链路成员。

在另一个实施例中,本公开包括由传输sdn控制器实现的添加lag成员链路的方法。该方法可以包括从物理层ne接收指示物理层端口邻接信息的物理层邻接发现消息,基于所述物理层邻接发现消息来确定物理拓扑,从网络层ne接收网络层邻接发现消息,并基于所述网络层邻接发现消息来确定逻辑拓扑。该方法还可以包括从物理层ne接收通告消息,每个通告消息指示物理层ne端口和相邻网络层ne之间的映射,基于所述通告消息确定逻辑拓扑和物理拓扑之间的关系,以及监测网络层lag请求,该请求指示第一网络层ne正在请求与第二网络层ne的网络层lag链路成员。该方法还可以包括基于物理拓扑和逻辑拓扑之间的关系,并且基于被监测的网络层lag请求,在第一网络层ne的第一相邻物理层ne端口和第二网络层ne的第二相邻物理层ne端口之间建立物理层连接,以实现所请求的网络层lag链路成员。

在另一个实施例中,本公开包括通过传输软件定义网络控制器(t-sdnc)移除链路聚合组成员链路的另一种方法。该方法可以包括基于从物理层ne接收的物理层邻接发现消息来确定物理拓扑,基于从网络层ne接收的网络层邻接发现消息来确定逻辑拓扑,并基于来自物理层ne的通告消息,确定逻辑拓扑和物理拓扑之间的关系。每个通告消息指示物理层ne端口和相邻网络层ne之间的映射。该方法还可以包括接收网络层lag请求,该请求指示第一网络层ne正在请求移除与第二网络层ne的网络层lag链路成员,并且基于该网络层lag请求以及物理拓扑和逻辑拓扑之间的关系,移除第一网络层ne和第二网络层ne之间的物理层连接。

通过结合附图和权利要求的以下详细描述,将可更清楚地理解这些和其他特征。

附图说明

为了更完整地理解本公开,现在参考结合附图和详细描述的以下简要描述,其中相同的附图标记表示相同的部分。

图1为通信网络的实施例的示意图。

图2为通信网络的另一实施例的示意图。

图3为用于监测网络层广播消息的物理层网元的实施例的示意图。

图4为ne的实施例的示意图。

图5为添加lag成员链路的方法的实施例的流程图。

图6为移除lag成员链路的方法的实施例的流程图。

具体实施方式

首先应该理解,虽然下面提供了一个或多个实施例的说明性实施方式,但是可以使用任何数量的技术,无论当前是否已知或存在,来实现所公开的系统和/或方法。本公开不应以任何方式限于以下所示的说明性实施例,附图和技术,包括本文示出和描述的示例性设计和实施例,而是可以在所附权利要求的范围及其等同物的全部范围内进行修改。

在一些网络中,以定义网络中的数据流的方式放置和配置路由器和交换机。对路由器和/或交换机的后续改变可能是昂贵的,因为物理位置和/或硬件改变可能需要手动配置。sdn是一种网络范例,其中的数据流(例如控制面)和数据传送(例如数据面)的管理被解耦,通过动态管理和控制来创建灵活的网络。在sdn网络中,网络设备(例如路由器和/或交换机)由一个或多个sdn控制器(sdnc)控制和管理。sdnc是用于控制和管理sdn域的任何设备。sdnc做出路由和/或交换决策,然后将决策传送到网络设备。例如,sdnc基于网络拓扑信息计算用于将分组从一个节点路由到另一个节点的最佳路径,然后沿着该最佳路径,向所有网络设备发送路由表、交换表和/或流表。网络设备根据从sdnc接收的路由表执行数据转发功能。sdnc还动态地修改sdn网络的行为以适应网络中的变化(例如基础设施变化、新应用、新服务部署和/或业务需求变化)。

sdn可以根据开放系统互连(osi)网络或其他协议层范例在逻辑上划分为多个层。例如,路由和/或交换功能可以分别由osi层3和层2设备执行,本文统称为网络层。osi层1(例如同步光网络(sonet)/同步数字体系(sdh)和光传输网络(otn))和层0(例如密集波分复用(dwdm)、光电子)在本文统称为传输层。因此,网络sdnc(n-sdnc)管理在osi层3和/或2上操作的设备的网络功能,而传输sdnc(t-sdnc)管理在osi层1和0上操作的设备的功能。n-sdnc和t-sdnc不可用于直接交互,这就要求在网络层和传输层分别实现sdn改变。

sdn采用链路聚合来连接各ne。链路聚合允许在逻辑上聚合多个并行链路以创建lag。分配给lag的任何链路被称为lag链路和/或lag成员。然后,出于网络管理目的,网络可以将lag视为单个链路。lag包括的总容量(例如最大带宽)等于lag链路成员的单独容量之和。为lag添加或删除链路相应地改变lag的容量。在传输层,通过在支持链路执行相关联的数据传输的ne上分配光端口,可以将链路分配给lag。在一些实施例中,这样的光端口可以采用波分和/或频分倍增。在这种情况下,要向lag分配链路,可以通过分配被称为兰姆达(λ)的特定光波长和/或λ的时分部分来支持数据传输。同样,为了修改网络层lag,可能需要管理员单独地修改传输层的端口和/或波长分配,这可能导致人员时间的巨大成本并且产生配置错误的潜在源头。

本文公开了用于自动配置传输层连接以实现网络层lag链路成员添加或移除的机制。当请求网络层lag修改时,请求在网络层邻接发现消息、网络层维护消息和/或网络层lag请求消息中编码,并在网络层ne之间发送。例如,网络层lag请求消息可以是链路状态通告(lsa)消息。该请求被复用到比特流上,并且经由物理层ne在网络层ne之间转发。物理层ne在比特流中监测lag请求。当物理层ne接收到lag请求时,该物理层ne监测来自该lag请求的报头信息,并向t-sdnc发送通告消息,该通告信息包括从网络层lag请求中监测出的信息。基于peterashwood-smith于2015年5月12日提交的申请号为14/709697的美国正式申请“传输软件定义网络(sdn)-从逻辑拓扑到物理拓扑的发现”,(通过引用结合于此)中所讨论公开的机制,t-sdnc知道网络的物理拓扑、网络的逻辑拓扑以及物理拓扑和逻辑拓扑的关系。t-sdnc分配ne端口λ和/或λ的时隙部分,以支持基于所通告的网络层lag信息和拓扑信息来创建所请求的网络层lag。或者,t-sdnc可以直接接收和监测网络层lag请求消息,例如被动监听t-sdnc的物理被动接口。然后,t-sdnc基于拓扑信息分配适当的物理资源以实现lag变更。

图1为通信网络100的实施例的示意图。网络100包括物理层ne104、105和106,网络层ne102和103,以及t-sdnc110,该t-sdnc110包括用于与第三方115,例如系统管理员,通信的应用编程接口(api)111。物理层ne104-106经由光链路通信地相耦合。t-sdnc110通过光链路、电链路或其组合通信地耦合到物理层ne104-106。网络层ne102-103经由光链路、电链路或其组合通信地耦合到物理层ne104-106。

网络层ne102-103可以是用于对数据信号/比特流执行数据分组转发功能的任何物理和/或逻辑设备(例如路由器)。网络层ne102-103在osi模型的网络层(例如,层2,3和/或4)上操作。图1中所示的连接和/或其他链路包括物理连接,例如光纤链路、电链路、无线链路和/或逻辑连接。该连接可以包括用于在网络设备之间传输数据的单个链路、一系列并行链路、多个互连节点和/或其各种组合。

物理层ne104-106可以是用于根据sdn域中的t-sdnc110指定的sdn路由来执行数据转发功能的任何物理设备(例如交换机)。物理层ne104-106分别包括网络分组接口卡(npic)130、131和132,还包括物理端口和处理器。处理器耦合到npic,并且用于执行各种功能。在一个实施例中,物理层ne104执行光交换机的功能。例如,物理层ne104可以包括由t-sdnc提供的将上行端口映射到下行端口的映射,以允许物理层ne104执行数据转发。可以从网络层ne102接收信号并将其转发到物理层ne105。可以通过npic130转发信号,以允许npic130监测在信号中编码的消息,诸如广播消息120。该信号可以通过物理链路被转发到物理层ne104和105,并且分别经由npic131和132被转发到目的地,例如经由网络层ne103到达。npic130-132和相关联的处理器不可用于修改在信号中编码的消息中所包含的报头信息。换句话说,物理层ne104-106可以在网络100上通过执行波长和/或端口交换来转发编码的数据分组和/或数据帧,而不对信号中编码的消息上所编码的报头和/或数据进行修改。

npic130-132接收包括广播消息120(例如邻接发现消息、网络层维护消息和网络层lag请求消息)的比特流/信号。邻接发现消息可以是开放最短路径优先(ospf)消息、中间系统到中间系统(is-is)消息、边界网关协议(bgp)消息或其他类型的邻接发现消息中的任一个。邻接发现消息可以是网络层邻接发现消息和/或物理层邻接发现消息中的任一个。网络层邻接发现消息在通信耦合的网络层ne102-103之间进行广播,并且包括网络层ne102-103邻接的信息,其中该网络层ne102-103在osi模型的网络层进行操作。物理层邻接发现消息在通信耦合的物理层ne104-106之间广播,并且包括物理层ne104-106邻接的信息,其中该物理层ne104-106在开放系统互连模型的物理层进行操作。

类似于邻接发现消息,网络层lag请求消息可以在ospf消息、is-is消息、bgp消息或其他类型的网络层lag请求消息中的任一个中承载。例如,当网络层ne(例如网络层ne102或103)用于添加或移除具有另一网络层ne(例如网络层ne103或102)的lag链路成员时,则网络层ne102或103在网络层lag请求消息中分别发送具有其他网络层ne的网络层lag链路成员的添加或移除请求。网络层lag请求消息请求在两个网络层ne之间添加或移除lag链路成员。多个并行lag链路成员可以在两个网络层ne之间操作。lag作为单个连接进行操作,其具有的容量等于多个lag链路成员容量的和。网络层lag请求消息在通信耦合的网络层ne102-103之间广播,而其中网络层ne102-103在osi模型的网络层进行操作。网络层lag请求消息请求在两个网络层ne之间添加或移除lag链路成员。或者,也可监视链路利用率,并且自动生成网络层lag请求,例如通过监视应用、n-sdnc等进行。例如,当两个网络层ne之间的链路利用率上升到第一阈值的一定百分比以上时,例如百分之五十以上,则生成添加lag链路成员的新lag请求;当两个网络层ne之间的链路利用率下降到第二阈值的一定百分比以下时,例如百分之二十以下,则生成用于移除lag链路成员的新lag请求等。在一个另选实施例中,周期性地发送/广播lag请求以维持网络100中的lag。在这种情况下,采用附加的和/或更新的lag请求来创建新lag并向现有lag添加新的链路成员。进一步的,若有省略之前周期中接收的lag请求,则可以视为是移除相关联的lag和/或lag链路成员的请求。

npic130-132监测广播消息120,例如经由侦听实用程序(spooningutility)审查广播消息的内容。在这里,“监测”(inspecting)是指审查通过接口的分组的内容而不改变该分组。网络层ne102-103之间的网络层邻接发现消息可以在ospf问候消息、is-is问候消息或其他类型的邻接发现消息中编码。网络层邻接发现消息的报头包括相邻网络层ne102和103的信息。npic130-132确定哪个本地物理端口接收到网络层邻接发现消息,然后将物理层ne的物理端口映射到相邻网络层ne的l2/l3地址(例如介质访问控制(mac)/互联网协议(ip)地址),以有助于将物理拓扑映射到网络拓扑。这种邻接映射在通告消息中被转发到t-sdnc110以支持连接的创建/移除,从而支持lag的修改。在一个实施例中,该通告消息可以是ospflsa消息。例如,npic130或物理层ne104可以将映射信息附加到ospflsa消息。映射信息或通告消息可以包括物理层ne104的标识、物理端口标识和相邻网络层ne102的标识。

t-sdnc110是用于控制和管理sdn域的传输层的任何设备。每个t-sdnc110物理地和/或逻辑地位于sdn域内。第三方115可以通过api111访问t-sdnc110。t-sdnc110执行各种控制面功能,包括生成和获得路由信息、网络拓扑和/或网络状态信息。例如,t-sdnc110生成并广播(例如经由通告消息)t-sdnc110管理和/或支持的sdn域的sdn特定拓扑信息。因此,t-sdnc110可以接收由其他sdnc110支持和/或管理的其他sdn域的sdn特定拓扑信息。每个t-sdnc110例如通过向物理层ne104-106发送流表来配置t-sdnc110管理的sdn域中的物理层ne104-106。每个t-sdnc110通过控制器设备接口与物理层ne104-106进行通信,可以使用任何标准协议(例如openflow协议)。应当注意,每个t-sdnc110还可以广播在任何内部网关协议(igp)中常用的任何链路状态信息。

t-sdnc110从物理层ne104-106接收物理层邻接发现消息。物理层邻接发现消息指示物理层ne104-106的物理端口之间的邻接。例如,物理层邻接发现消息包括第一物理层ne104的标识、作为第一物理层ne104的一部分的第一物理端口的标识、第二物理层ne105的标识和/或作为第二物理层ne105的一部分的第二物理端口的标识。第一和第二物理端口在物理层上相邻,并且第一和第二物理层ne104-105在物理层上相邻。物理拓扑由t-sdnc110基于物理层邻接发现消息来确定。例如,t-sdnc110可以基于物理层邻接发现消息中的物理端口的标识和物理层ne104-106来构建物理拓扑。t-sdnc110可以确定如图2所示的物理拓扑。物理层邻接发现消息可以包括其他物理层约束,并且t-sdnc110可以习得其他物理层约束。应当指出,t-sdnc110还可以基于网络层通告确定逻辑拓扑,并将逻辑拓扑映射到物理拓扑,这在peterashwood-smith的题为“传输软件定义网络(sdn)-从逻辑拓扑到物理拓扑的发现”的美国非临时申请中进行了探讨。这种物理到逻辑拓扑的映射可以用于支持配置物理层连接以实现网络层lag链路成员添加或移除。

图2为通信网络200的另一实施例的示意图。网络200包括网络层ne202、203、204和205,物理层ne210、211、212和213,t-sdnc230和广播消息220,可以基本上分别类似于网络层ne102和103,物理层ne104、105和106,t-sdnc110和广播消息120。t-sdnc230接收广播消息220,包括网络层邻接发现消息、物理层邻接发现消息和/或网络层lag请求消息。物理层ne210-213接收比特流,包括广播消息220(例如邻接发现消息、网络层lag请求消息和网络层维护消息)。在一个实施例中,广播消息220中的至少一些可以是网络层消息,在这种情况下,这样的消息对物理层通常是不透明的。物理层组件可以被动地侦听和监测不透明数据,但不可用于修改不透明数据或传输直接响应于不透明数据的网络层消息。

邻接发现消息可以是ospf消息、is-is消息、bgp消息或其他类型的邻接发现消息中的任一个。邻接发现消息可以是网络层邻接发现消息或物理层邻接发现消息中的任一个。网络层邻接发现消息在通信耦合的网络层ne202-205之间进行广播,并且包括网络层ne202-205的邻接的信息,其中网络层ne202-205在osi模型的网络层进行操作。物理层邻接发现消息在通信耦合的物理层ne210-213之间广播,并且包括物理层ne210-213邻接的信息,其中物理层ne210-213在osi模型的物理层进行操作。类似地,网络层lag请求消息可以是ospf消息,is-is消息,bgp消息或另一类型的lag请求消息中的任一个。网络层邻接发现消息在通信耦合的网络层ne202-205之间广播。

网络层邻接发现消息包括相邻网络层ne202-205的标识。类似于物理拓扑由t-sdnc230确定,逻辑拓扑由t-sdnc230基于接收到的网络层邻接发现消息来确定。例如,t-sdnc230可以确定网络层ne202-205在网状拓扑中逻辑相连。此外,在t-sdnc230处接收来自物理层ne210-213的通告消息。例如,由物理层ne210发送的通告消息包括这样的信息,即物理层ne210的端口215与网络层ne204相邻。由物理层ne212发送的通告消息包括这样的信息,即物理层ne212的端口216与网络层ne205相邻。类似的通告消息由物理层ne211和213发送。通告消息由t-sdnc230接收。因此,物理拓扑和逻辑拓扑的关系/映射由t-sdnc230基于所确定的物理拓扑、所确定的逻辑拓扑和/或所接收的通告消息来确定。

网络层lag请求消息包括请求相对于现有lag240添加、移除或维持网络层lag链路成员的网络层ne(例如网络层ne204和205)的标识。网络层lag请求消息可以是ospflsa消息。t-sdnc230可以例如通过被动地侦听t-sdnc230的物理被动接口来接收网络层lag请求消息。t-sdnc230例如通过监测网络层lag请求消息的报头来监测网络层lag请求消息,以获得网络层lag请求信息。t-sdnc230基于从物理拓扑到逻辑拓扑的映射,确定对物理层ne端口215和216之间的物理层连接的添加或移除,可以实现网络层ne204和205之间的网络层lag链路成员的添加或移除。然后,t-sdnc230即建立或移除物理层ne端口215和216之间的物理层连接。在添加或移除物理层ne端口215和216之间的物理层连接之后,t-sdnc230可以向网络层ne204和205中的每一个发送确认消息,也可不发送。在一个实施例中,t-sdnc230可以接收标识现有lag和/或lag链路成员的周期性网络层lag请求消息,并请求刷新这样的lag和/或lag链路成员。t-sdnc230可以采用与每个网络层lag请求消息相关联的定时器或类似机制。在定时器期满(例如超时)时,若未收到刷新lag请求,则t-sdnc230可以将之视为移除相关联的lag或链路成员的请求。然后,t-sdnc230可以相应地移除lag/链路成员。lag/成员链路可以在没有刷新的情况下存在的持续时间可以由t-sdnc230设置,或者可以由网络层用信号通知(例如在lag请求中作为lag请求信息)并由t-sdnc230监测。

另选地,网络层lag请求消息可以由物理层ne,例如由物理层ne210和212,接收,然后由物理层ne通告/广播。例如,物理层ne210和212例如通过监测网络层lag请求消息的报头来监测网络层lag请求消息,以获得网络层lag请求信息。物理层ne210和212然后在物理层发送的通告消息中广播网络层lag请求信息,这类似于物理层ne210-213广播物理端口到相邻网络层的映射。如此,t-sdnc230确定网络层ne204要请求在与网络层ne205的lag240连接中添加、移除或维持网络层lag链路成员。t-sdnc230还确定对物理层ne端口215和216之间的物理层连接的添加、移除或刷新实现网络层ne204和205之间的网络层lag链路成员的添加、移除或刷新。然后,t-sdnc230即建立物理层ne端口215和216之间的物理层连接。例如,t-sdnc230要创建连接来实现对lag240添加lag链路成员,则会分配一对物理层ne端口215和216、在物理层ne端口215和216之间创建新的λ、在物理层ne端口215和216之间分配部分λ、在端口之间添加额外的时隙、或者执行任何其他功能以在物理层ne端口215和216之间建立物理连接。进一步地,t-sdnc230通过释放一对物理层ne端口215和216、移除物理层ne端口215和216之间的λ、释放物理层ne端口215和216之间的部分λ、移除端口之间的时隙来移除连接以实现从lag240中删除lag链路成员,或者执行任何其他功能以移除物理层ne端口215和216之间的物理连接。在添加或移除物理层ne端口215和216之间的物理层连接之后,t-sdnc230可以向网络层ne204和205中的每一个和/或n-sdnc发送确认消息,也可以不发送。

图3是物理层ne306-307的实施例的示意图300,该物理层ne306-307用于监测由网络层ne302-303发送的网络层广播消息320。网络300包括网络层ne302和303以及物理层ne306和307,可以基本上分别类似于网络层ne102和103以及物理层ne104,105和106。分别地,端口310是物理层ne306的一部分,端口311是物理层ne307的一部分。网络层ne302向网络层ne303发送广播消息320。网络层ne302和303经由物理层ne306和307通信耦合。当消息穿过物理层ne时,物理层ne306和物理层ne307可以各自监测广播消息320。广播消息320可以是网络层邻接发现消息或网络层lag请求消息,例如是ospf问候消息、is-is问候消息、bgp问候消息等,或者可以是网络层维护消息。物理层ne306和物理层ne307可以分别监测通过端口310和端口311转发的广播消息320的报头信息。

通过监测网络层邻接发现消息(例如,广播消息320)的报头信息,物理层ne306确定端口310与网络层ne302相邻,并且物理层ne307确定端口311与网络层ne303相邻。然后,物理层ne306在物理层发送通告消息,例如lsa,其中包括物理层ne306的标识信息、端口310的标识信息和/或网络层ne302的标识信息。类似地,物理层ne307在物理层发送通告消息,其中包括物理层ne307的标识信息、端口311的标识信息和/或网络层ne303的标识信息。通告可以由t-sdnc,例如t-sdnc110或230,来用以支持物理层拓扑到网络层拓扑映射的创建。

通过监测网络层lag请求消息的报头信息,物理层ne306确定网络层ne302正在请求添加、移除或刷新与网络层ne303网络层lag链路成员。然后,物理层ne306在物理层发送通告消息,例如lsa,其中包括新的lag链路成员请求、网络层ne302的标识信息和/或网络层ne303的标识信息。类似地,物理层ne307在物理层发送通告消息,其中包括新的lag链路成员请求、网络层ne303的标识信息和/或网络层ne302的标识信息。通告可以由t-sdnc,例如t-sdnc110或230,来用以支持物理层连接的创建或移除,以实现网络层lag链路成员的添加或移除。

图4为网元(ne)400的实施例的示意图,该网元400可以在sdn域中充当sdnc(例如t-sdnc110和/或230)或网络设备(例如物理层ne104-106、210-213、306-307或网络层ne102-103、202-205或302-303等)。取决于实施例,ne400可以用于确定sdn域中对其他互连的sdn域可见的路由和/或链路、生成sdn特定的拓扑信息、向互连的sdn域通告sdn特定的拓扑信息、将逻辑拓扑映射到物理拓扑、和/或配置网络层lag链路成员。ne400可以在单个节点中实现,或者ne400的功能可以在多个节点中实现。本领域技术人员将认识到,术语“ne”涵盖广泛范围的设备,其中ne400仅是示例。为了清楚地详述的目的,包括了ne400,但绝不意味着将本公开的应用限制于特定ne实施例或一类特定ne实施例。本公开中描述的至少一些特征/方法可以在诸如ne400的网络设备或组件中实现。例如,本公开中的特征/方法可以使用硬件、固件和/或安装为在硬件上运行的软件来实现。

如图4所示,ne400包括收发器(tx/rx)410,可以是发送器、接收器或其组合。tx/rx410耦合到多个下行端口420,用于从其他节点发送帧和/或接收帧,并且tx/rx410耦合到多个上行端口450,用于分别从其他节点发送和/或接收帧。处理器430耦合到tx/rx410以处理帧和/或确定将帧发送到哪些节点。处理器430可以包括一个或多个多核处理器和/或用作数据存储、缓冲等的存储器设备432。处理器430可以实现为通用处理器或者可以是一个或多个专用集成电路(asic)和/或数字信号处理器(dsp)。

处理器430包括lag配置模块433,可以实现lag添加方法500和/或lag移除方法600,下文将对此更全面地详述。在另选实施例中,lag配置模块433可以被实现为存储在存储器设备432中的由处理器430执行的指令。存储器设备432可以包括用于临时存储内容的高速缓存,例如随机存取存储器(ram)。另外,存储器设备432可以包括用于相对更长时间存储内容的长期存储器,例如只读存储器(rom)。例如,高速缓存和长期存储器可以包括动态随机存取存储器(dram)、固态驱动器(ssd)、硬盘或其组合。

应当理解,通过编程和/或将可执行指令加载到ne400上,将可改变处理器430和/或存储器设备432中的至少一个,从而将ne400部分地转换成具有本公开所教导的新颖功能的特定机器或装置,例如物理拓扑和/或逻辑拓扑管理系统。通过将可执行软件加载到计算机中可以实现的功能,可以通过公知的设计规则转换为硬件实现,这对于电气工程和软件工程领域来说是很基本的。在软件与硬件之间实现概念之间的决策通常取决于设计的稳定性和要生产的单元的数量的考虑,而不是从软件域转换到硬件域涉及的任何问题。通常,尚需频繁改变的设计可优选地在软件中实现,因为重新进行硬件实现比重新进行软件设计更昂贵。通常,可大量生产的稳定的设计可优选地在硬件中实现,例如在asic中,因为对于大批量生产,硬件实现可能比软件实现更便宜。通常,可以以软件形式开发和测试设计,并且随后通过公知的设计规则将设计转换成asic中的等效硬件实现,该asic用硬件实现软件的指令。由新asic控制的机器是特定的机器或装置,类似地,已经被编程和/或加载有可执行指令的计算机同样可以被视为特定的机器或装置。

图5是用于添加lag成员链路的方法500的实施例的流程图,其可以在诸如t-sdnc110或230的t-sdnc中实现。当监视应用和/或管理员决定要增加现有网络层链路的容量和/或添加新的网络链路时,可以启动方法500。在步骤502,方法500从物理层ne(例如物理层ne104-106、210-213或306-307)接收物理层邻接发现消息(例如广播消息120、220或320),该物理层邻接发现消息指示物理层端口邻接信息。在步骤504,方法500基于物理层邻接发现消息确定物理拓扑。在步骤506,方法500从网络层ne(例如网络层ne102-103、202-205或302-303)接收网络层邻接发现消息。在步骤508,方法500基于网络层邻接发现消息确定逻辑拓扑。在步骤510,方法500从物理层ne接收通告消息,每个通告消息指示物理层ne端口(例如物理层ne端口215-216或310-311)与相邻网络层ne之间的映射。在步骤512,方法500基于通告消息,确定逻辑拓扑和物理拓扑的关系。在步骤514,方法500监测网络层lag请求,该请求指示第一网络层ne正在请求与第二网络层ne的lag链路成员。在步骤516,方法500基于物理拓扑和逻辑拓扑之间的关系以及基于对网络层lag请求的监测,在相邻物理层ne和/或物理层ne端口之间建立一个或多个物理层连接,以实现所请求的网络层lag链路成员。

图6是用于移除lag链路成员的方法600的实施例的流程图,其可以在诸如t-sdnc110或230的t-sdnc中实现。当监视应用和/或管理员决定要降低现有网络层链路的容量和/或移除网络链路时,可以启动方法600。在步骤602,方法600基于从物理层ne(例如物理层ne104-106、210-213或306-307)接收的物理层邻接发现消息来确定物理拓扑。在步骤604,方法600基于从网络层ne(例如网络层ne102-103、202-205或302-303)接收的网络层邻接发现消息来确定逻辑拓扑。在步骤606,方法600基于来自物理层ne的通告消息确定逻辑拓扑和物理拓扑之间的关系,每个通告消息指示物理层ne端口(例如物理层ne端口215-216或310-311)和相邻网络层ne之间的映射。在步骤608,方法600接收网络层lag请求,其指示第一网络层ne正在请求移除与第二网络层ne的网络层lag链路成员。在另选实施例中,方法600可以接收周期性网络层lag请求消息,其指示网络层lag链路成员应当被刷新。在这种情况下,方法600可能在步骤608未能接收到网络层lag请求,并且可能将这种未能及时接受网络层lag请求视为隐含请求以移除相关联的lag链路成员。在任一情况下,在步骤610,方法600基于网络层lag请求以及物理拓扑和逻辑拓扑之间的关系,移除第一网络层ne和第二网络层ne之间的物理层连接。

虽然在本公开中提供了若干实施例,但是应当理解,在不脱离本公开的精神或范围的情况下,所公开的系统和方法可以以许多其他具体形式实施。本示例被认为是说明性的而不是限制性的,并且本发明不限于本文给出的细节。例如,各种元件或组件可以组合或集成在另一个系统中,或者某些特征可以省略或不实现。

另外,在不脱离本公开的范围的情况下,在各种实施例中描述和示出为独立或单独的技术、系统、子系统和方法可以与其他系统、模块、技术或方法组合或集成。被示出或详述为彼此耦合或直接耦合或彼此通信的其他项目可以通过一些接口、设备或中间组件间接地以无论是电的、机械的还是其他的形式来耦合或通信。可以由本领域技术人员确定对其他示例的改变、替换和变更,并且在不脱离本文公开的精神和范围的情况下做出上述改变、替换和变更。

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