CN103414644A - 表项下发的方法及控制器 - Google Patents
表项下发的方法及控制器 Download PDFInfo
- Publication number
- CN103414644A CN103414644A CN201310327279XA CN201310327279A CN103414644A CN 103414644 A CN103414644 A CN 103414644A CN 201310327279X A CN201310327279X A CN 201310327279XA CN 201310327279 A CN201310327279 A CN 201310327279A CN 103414644 A CN103414644 A CN 103414644A
- Authority
- CN
- China
- Prior art keywords
- node
- child node
- forwarding
- table item
- controller
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种表项下发的方法及控制器,所述方法包括:当网络拓扑发生变化时,控制器接收控制器控制下的至少两个节点上报的网络拓扑信息;控制器根据所述网络拓扑信息,分别以每一个所述节点为根节点计算转发表项;控制器按照所述根节点的子节点与所述根节点的距离由近至远的顺序,向所述子节点下发所述转发表项。本发明适用于集中控制下的节点间的转发表项下发流程。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种表项下发的方法及控制器。
背景技术
在通信网络中,数据包的传输是通过通信节点完成的。节点包括路由器和交换机等设备,节点的主要工作是为经过本节点的每个数据包寻找一条传输路径,并将该数据有效地传送到目的节点。为了完成这项工作,每个节点需要进行网络拓扑收集,获取网络中子节点的信息,并根据获取的信息计算到达其他目的节点的单播表项和组播表项,表项中包含的信息决定了数据包转发的策略。在SDN(Software Defined Network,软件定义网络)解决方案下,底层物理节点不再自行计算表项,而是将收集到的网络拓扑信息上报到集中控制器Controller,Controller根据全网的网络拓扑信息集中计算每一个节点的表项,并将表项下发给相应的节点。
在上述SDN解决方案中,当网络拓扑发生变化时,Controller需要为其控制下的每个节点重新计算单播表项和组播表项。例如,网络中包括节点A、节点B、节点C和节点D四个节点,四个节点间的连接关系为:节点A连接节点B、节点B连接节点C、节点C连接节点D,节点D连接节点A。当前的数据包转发策略为:由节点A转发至节点B,再由节点B转发至节点C,最后由节点C转发至节点D。当节点C和节点D之间的传输链路出现故障时,现有的传输链路被破坏,网络拓扑发生变化,节点A不能将数据包通过原有链路传输至节点D,需要通过其他路径实现。此时,Controller根据最新的网络拓扑情况计算网络中四个节点的新表项,指示最新的数据包转发策略为由节点A转发至节点D,并将新表项下发至相应的节点。
现有技术中至少存在如下问题:在Controller向四个节点下发新的单播表项时,由于Controller和这四个节点的链路距离不同,加上链路通信质量等因素的影响,会导致各个节点接收到新的单播表项的时刻不同。如果节点B先接收到新单播表项表项,节点B会根据新单播表项表项将数据发送给节点A,而此时若节点A未接收到新单播表项表项,节点A仍然会将接收到的数据发送给节点B,这样在节点A和节点B之间就形成了环路。导致数据包在不能指定跳数到达目标节点,当跳数为0时,数据包被当前节点丢弃,造成数据丢失。
发明内容
提供一种表项下发的方法及控制器,能够解决集中控制下由于网络拓扑变化导致节点间出现环路的问题,提高数据传输的可靠性。
第一方面,提供一种表项下发的方法,包括:
当网络拓扑发生变化时,控制器接收所述控制器控制下的至少两个节点上报的网络拓扑信息;
所述控制器根据所述网络拓扑信息,分别以每一个所述节点为根节点计算转发表项;
所述控制器按照所述根节点的子节点与所述根节点的距离由近至远的顺序,向所述子节点下发所述转发表项。
在第一种可能的实现方式中,所述根据所述网络拓扑信息,分别以每一个所述节点为根节点计算转发表项包括:
使用反向最短路径优先R-SPF算法分别以每一个所述节点为根节点计算R-SPF树,并根据所述R-SPF树获取除所述根节点以外的子节点的转发表项。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述按照所述根节点的子节点与所述根节点的距离由近至远的顺序,向所述子节点下发所述转发表项之前,所述方法还包括:
根据所述R-SPF树确定所述子节点在所述R-SPF树中所处的层数;
比较所述子节点所处的层数的数值大小,根据所述子节点所处的层数的数值大小确定所述子节点与所述根节点的距离,所述层数的数值大小与所述距离成正比。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述按照所述子节点与所述根节点的距离由近至远的顺序,向所述子节点下发所述转发表项包括:
按照所述子节点所处的层数的数值由小到大的顺序,向每一层对应的所述子节点下发所述转发表项。
第二方面,提供一种控制器,包括:
接收单元,用于当网络拓扑发生变化时,接收所述控制器控制下的至少两个节点上报的网络拓扑信息;
计算单元,用于根据所述接收单元接收到的所述网络拓扑信息,分别以每一个所述节点为根节点计算转发表项;
发送单元,用于按照所述根节点的子节点与所述根节点的距离由近至远的顺序,向所述子节点下发所述计算单元计算出的所述转发表项。
在第一种可能的实现方式中,所述计算单元具体用于:
使用反向最短路径优先R-SPF算法分别以每一个所述节点为根节点计算R-SPF树,并根据所述R-SPF树获取除所述根节点以外的子节点的转发表项。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述控制器还包括:确定单元,用于根据所述R-SPF树确定所述子节点在所述R-SPF树中所处的层数;
比较单元,用于比较所述子节点所处的层数的数值大小,根据所述子节点所处的层数的数值大小确定所述子节点与所述根节点的距离,所述层数的数值大小与所述距离成正比。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述发送单元具体用于:按照所述子节点所处的层数的数值由小到大的顺序,向每一层对应的所述子节点下发所述转发表项。
与现有技术相比,本发明实施例中当网络拓扑发生变化时,接收节点上报的网络拓扑信息;根据所述网络拓扑信息,分别以每一个所述节点为根节点计算转发表项;按照所述根节点的子节点与所述根节点的距离由近至远的顺序,向所述子节点下发所述转发表项。通过制定向各个节点发送转发表项的先后顺序,优先向距离根节点最近的节点下发转发表项,并根据距离由近至远的顺序依次向R-SPF树中的每一个节点下发转发表项。从而在网络拓扑发生变化时,能够降低节点间发送报文时出现环路的可能性,从而减少数据在传输过程中不能到达目标节点而被丢弃的情况出现,提高数据传输的可靠性和系统资源的利用效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明一实施例提供的方法流程图;
图2为本发明又一实施例提供的方法流程图;
图3为本发明又一实施例提供的网络拓扑示意图;
图4为本发明又一实施例提供的R-SPF树意图;
图5、图6为本发明又一实施例提供的控制器结构示意图;
图7为本发明又一实施例提供的控制器结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为使本发明技术方案的优点更加清楚,下面结合附图和实施例对本发明作详细说明。
本发明一实施例提供一种表项下发的方法,如图1所示,所述方法包括:
101、当网络拓扑发生变化时,控制器Controller接收控制器控制下的至少两个节点上报的网络拓扑信息。
102、控制器根据所述网络拓扑信息,分别以每一个所述节点为根节点计算转发表项。
103、控制器按照所述根节点的子节点与所述根节点的距离由近至远的顺序,向所述子节点下发所述转发表项。
其中,所述根据所述网络拓扑信息,分别以每一个所述节点为根节点计算转发表项包括:使用反向最短路径优先R-SPF算法分别以每一个所述节点为根节点计算R-SPF树,并根据所述R-SPF树获取除所述根节点以外的子节点的转发表项。
进一步的,在所述按照所述根节点的子节点与所述根节点的距离由近至远的顺序,向所述子节点下发所述转发表项之前,所述方法还包括:
根据所述R-SPF树确定所述子节点在所述R-SPF树中所处的层数;
比较所述子节点所处的层数的数值大小,根据所述子节点所处的层数的数值大小确定所述子节点与所述根节点的距离,所述层数的数值大小与所述距离成正比。
其中,所述按照所述子节点与所述根节点的距离由近至远的顺序,向所述子节点下发所述转发表项包括:按照所述子节点所处的层数的数值由小到大的顺序,向每一层对应的所述子节点下发所述转发表项。
与现有技术相比,本发明实施例中当网络拓扑发生变化时,接收节点上报的网络拓扑信息;根据所述网络拓扑信息,分别以每一个所述节点为根节点计算转发表项;按照所述根节点的子节点与所述根节点的距离由近至远的顺序,向所述子节点下发所述转发表项。通过制定向各个节点发送转发表项的先后顺序,优先向距离根节点最近的节点下发转发表项,并根据距离由近至远的顺序依次向R-SPF树中的每一个节点下发转发表项。从而在网络拓扑发生变化时,能够降低节点间发送报文时出现环路的可能性,从而减少数据在传输过程中不能到达目标节点而被丢弃的情况出现,提高数据传输的可靠性和系统资源的利用效率。
本发明又一实施例提供一种表项下发的方法,本实施例的应用场景为SDN(Software Defined Network,软件定义网络),在该场景下,节点不再运行STP(Spanning Tree Protocol,生成树协议)、TRILL(Transparent Interconnectionof Lots of Links,多链路透明互联)路由和破环协议,而是向控制器Controller上报网络拓扑信息,由控制器对控制器控制下的所有节点的进行计算,得到转发表项,并将转发表项下发至控制器控制下的各个节点,如图2所示,所述方法包括:
201、当链路发生故障时,控制器接收节点发送的网络拓扑信息。
其中,所述节点为底层设备,可以为路由器或者交换机。当链路发生故障时,会导致网络拓扑信息发生变化,节点感知到网络中的拓扑变化后,获取最新的网络拓扑信息并将最新的网络拓扑信息上报给控制器。
具体的,以交换机为例对网络拓扑信息的获取进行说明,例如,交换机感知到链路故障时,运行LLDP(Link Layer Discovery Protocol,链路层发现协议)协议发现本地拓扑,其中LLDP协议是一个与厂商无关的二层协议,它允许网络设备在本地子网中通告自己的设备标识和性能;进一步的,在交换机获取网络拓扑信息后,通过OpenFlow接口向控制器上报网络拓扑信息。
需要说明的是,本步骤中由于链路发生故障使网络拓扑信息发生变化,其仅仅是导致网络拓扑信息发生变化的其中一种情况。例如,当链路故障恢复时也会导致网络拓扑信息发生变化。因此,此处不对导致网络拓扑信息发生变化的具体因素进行限定,本实施例也同样适用其他导致网络拓扑信息发生变化的情况。
202、控制器根据网络拓扑信息,使用R-SPF(Reverse-Shortest Path First,反向最短路径优先)算法分别以各个节点为根节点计算R-SPF树以及转发表项。
其中,R-SPF算法为SPF算法的逆算法,SPF算法计算的是目标路由器(相当于根节点)到其他路由器的转发表项,而R-SPF算法计算的是其他路由器到目标路由器的转发表项。使用R-SPF算法可以只通过一次计算就能够得出所有路由器到目标路由器的转发表项。例如,有三个路由器,分别用路由器1、路由器2和路由器3表示,以路由器1为目标路由器,如果想获得路由器2和路由器3到路由器1的转发表项,使用SPF算法需要分别以路由器2和路由器3为根节点进行计算,需要两次计算;而使用R-SPF算法只需以路由器1为根节点进行计算,只需一次计算。进一步的,得到所有路由器到目标路由器的转发表项后,结合集中控制,就可以对转发表项的下发顺序进行优化,提高路由器之间转发报文的可靠性。
为了便于理解R-SPF算法,以路由器为例对SPF算法进行说明。例如,运行SPF算法的路由器把自己作为根节点,找所有与其直接相连的邻居节点,放到候选节点数据库中,然后取出开销最小的节点放到最短路径树上,再将整个最短路径树作为一个整体,找与其相连的所有邻居节点,更新候选节点数据库,再重复选取开销最小的,直至候选节点数据库为空,所有节点都加到最短路径树上。
进一步的,引入三元组的概念,<N,D(N),{Adj(N)}>,其中,N表示节点N,D(N)表示从根节点S到节点N的总开销,{Adj(N)表示从根节点S到节点N,N的父节点。其他概念还包括:TENT表示还未放到树上的三元组集合、PATH表示已经放到树上的三元组集合。具体计算过程如下:
步骤一、把TENT和PATH都初始化为空。
其中,Tent length为[internalmetric=0,externalmetric=0]。把三元组<S,0,empty>放到TENT中,弹出放到PATH中;查找邻接关系数据库,将根节点的所有邻居的三元组放到TENT中,D(N)为根节点到节点N的接口开销值,Adj(N)={S}。
步骤二、检查刚刚放到PATH中的节点P的LSP(Label Switched Path,标签交换路径)的0分片。
1)如果有P的LSP,并且“Infinite Hippity Cost”bit被清除的话,对P的每个LSP分片计算dist(P,N)=D(P)+metric.k(P,N),其中dist(P,N)为从根节点经过节点P到节点N的开销,D(P)为从根节点到节点P的开销,这个值已经在前面计算出来了,metric.k(P,N)为从节点P到节点N的开销,这个值是从P的LSP中获得的;2)如果dist(P,N)>MaxPathMetric,则不做修改;3)如果三元组<N,D(N),{Adj(N)}>已经在PATH中了,则不做修改;4)如果TENT中有一个三元组<N,x,{Adj(N)}>,则进行进一步的判断:若x=dist(P,N),则将Adj(N)替换成Adj(N,P),若x<dist(P,N),则不做修改,若x>dist(P,N),则将TENT中的<N,x,{Adj(N)}>替换成<N,dist(P,N),{Adj(P)}>;5)如果TENT中没有三元组<N,x,{Adj(N)}>,则将三元组<N,dist(P,N),{Adj(P)}>加入到TENT中。
步骤三、如果TENT为空,则停止流程;否则在TENT中找x值最小的三元组<P,x,{Adj(P)}>;从TENT中移除三元组<P,tentlength,{Adj(P)}>;将<P,D(P),{Adj(P)}>加入PATH中;如果刚加入PATH中的节点是终端系统的话则执行步骤三,否则执行步骤二。重复上述步骤直至候选节点数据库为空,所有节点都加到最短路径树上。R-SPF算法的具体流程请参照SPF算法的步骤,此处不再进行赘述。
203、控制器根据R-SPF树确定根节点和子节点的距离。
其中,所述距离由子节点在所述R-SPF树中的深度确定,即由各个子节点在树中的层次确定,例如,如图3所示,网络中包括4个节点,分别表示为节点A、节点B、节点C和节点D,节点C和节点D之间出现了链路故障,此时以D为根节点计算R-SPF树以及转发表项,计算后得到的R-SPF树如图4所示,可以清楚的获知,A位于R-SPF树的第一层,B位于R-SPF树的第二层,C位于R-SPF树的第三层,A、B和C与D的距离远近关系为,A到D的距离<B到D的距离<C到D的距离。
204、控制器按照所述根节点的子节点与根节点的距离由近至远的顺序,向子节点下发转发表项。
其中,为了避免下发转发表项后,由于各个子节点收到转发表项的时间顺序混乱导致节点间出现环路的问题,优先向距离根节点D最近的子节点A下发转发表项,这样节点A接收到该转发表项后,直接向根节点D传输报文,同理对子节点B和子节点C也是同样处理,各个节点间不会出现环路;如果不按上述顺序下发转发表项,那么可能会导致环路,例如,子节点B先接收到了根节点D下发的转发表项,而子节点A还未收到根节点D下发的转发表项,子节点B会立即向子节点A发送报文进而使该报文传输至根节点D;而在子节点C和根节点D之间的链路故障前,子节点A向根节点D发送报文的方向是通过子节点B、子节点C再到根节点D,所以此时子节点A的报文传输方向为子节点B,这样在子节点A和子节点B之间就形成了环路,报文就会在子节点A和子节点B之间不断转发,严重浪费了系统资源。因此,使用步骤204的转发表项的下发顺序可以有效的避免环路的出现,提高系统资源的利用效率。
需要说明的是,当链路故障恢复时或者其他导致网络拓扑发生变化的情况出现时,步骤201-204的处理方法依然适用,通过上述步骤能够避免节点间环路的出现。
与现有技术相比,本发明实施例中当链路发生故障时,控制器接收节点发送的网络拓扑信息;控制器根据网络拓扑信息,使用R-SPF算法分别以各个节点为根节点计算R-SPF树以及转发表项;控制器根据R-SPF树确定根节点和子节点的距离;控制器按照所述根节点的子节点与根节点的距离由近至远的顺序,向子节点下发转发表项。通过制定向各个节点发送转发表项的先后顺序,优先向距离根节点最近的节点下发转发表项,并根据距离由近至远的顺序依次向R-SPF树中的每一个节点下发转发表项。从而在网络拓扑发生变化时,能够降低节点间发送报文时出现环路的可能性,从而减少数据在传输过程中不能到达目标节点而被丢弃的情况出现,提高数据传输的可靠性和系统资源的利用效率。
本发明又一实施例提供一种表项下发的控制器30,如图5所示,所述控制器30包括:
接收单元31,用于当网络拓扑发生变化时,接收所述控制器30控制下的至少两个节点上报的网络拓扑信息;
计算单元32,用于根据所述接收单元31接收到的所述网络拓扑信息,分别以每一个所述节点为根节点计算转发表项;
发送单元33,用于按照所述根节点的子节点与所述根节点的距离由近至远的顺序,向所述子节点下发所述计算单元32计算出的所述转发表项。
其中,所述计算单元32具体用于:使用反向最短路径优先R-SPF算法分别以每一个所述节点为根节点计算R-SPF树,并根据所述R-SPF树获取除所述根节点以外的子节点的转发表项。
进一步的,如图6所示,所述控制器30还可以包括:
确定单元34,用于根据所述R-SPF树确定所述子节点在所述R-SPF树中所处的层数;
比较单元35,用于比较所述确定单元34确定的所述子节点所处的层数的数值大小,根据所述子节点所处的层数的数值大小确定所述子节点与所述根节点的距离,所述层数的数值大小与所述距离成正比。
其中,所述发送单元33具体用于:
按照所述子节点所处的层数的数值由小到大的顺序,向每一层对应的所述子节点下发所述转发表项。
与现有技术相比,本发明实施例中当网络拓扑发生变化时,接收节点上报的网络拓扑信息;根据所述网络拓扑信息,分别以每一个所述节点为根节点计算转发表项;按照所述根节点的子节点与所述根节点的距离由近至远的顺序,向所述子节点下发所述转发表项。通过制定向各个节点发送转发表项的先后顺序,优先向距离根节点最近的节点下发转发表项,并根据距离由近至远的顺序依次向R-SPF树中的每一个节点下发转发表项。从而在网络拓扑发生变化时,能够降低节点间发送报文时出现环路的可能性,从而减少数据在传输过程中不能到达目标节点而被丢弃的情况出现,提高数据传输的可靠性和系统资源的利用效率。
本发明又一实施例提供一种表项下发的控制器40,如图7所示,所述控制器40包括:
接收器41,用于当网络拓扑发生变化时,接收所述控制器40控制下的至少两个节点上报的网络拓扑信息;
处理器42,用于根据所述接收器41接收到的所述网络拓扑信息,分别以每一个所述节点为根节点计算转发表项;
发送器43,用于按照所述根节点的子节点与所述根节点的距离由近至远的顺序,向所述子节点下发所述处理器42计算出的所述转发表项。
其中,所述处理器42具体用于:使用反向最短路径优先R-SPF算法分别以每一个所述节点为根节点计算R-SPF树,并根据所述R-SPF树获取除所述根节点以外的子节点的转发表项。
进一步的,所述处理器42还用于:根据所述R-SPF树确定所述子节点在所述R-SPF树中所处的层数;比较所述子节点所处的层数的数值大小,根据所述子节点所处的层数的数值大小确定所述子节点与所述根节点的距离,所述层数的数值大小与所述距离成正比。
其中,所述发送器43具体用于:
按照所述子节点所处的层数的数值由小到大的顺序,向每一层对应的所述子节点下发所述转发表项。
与现有技术相比,本发明实施例中当网络拓扑发生变化时,接收节点上报的网络拓扑信息;根据所述网络拓扑信息,分别以每一个所述节点为根节点计算转发表项;按照所述根节点的子节点与所述根节点的距离由近至远的顺序,向所述子节点下发所述转发表项。通过制定向各个节点发送转发表项的先后顺序,优先向距离根节点最近的节点下发转发表项,并根据距离由近至远的顺序依次向R-SPF树中的每一个节点下发转发表项。从而在网络拓扑发生变化时,能够降低节点间发送报文时出现环路的可能性,从而减少数据在传输过程中不能到达目标节点而被丢弃的情况出现,提高数据传输的可靠性,提高系统资源的利用效率。
本发明实施例提供的表项下发的控制器可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。本发明实施例提供的表项下发的方法及控制器可以适用于集中控制下的节点间的表项下发流程,但不仅限于此。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (8)
1.一种表项下发的方法,其特征在于,包括:
当网络拓扑发生变化时,控制器接收所述控制器控制下的至少两个节点上报的网络拓扑信息;
所述控制器根据所述网络拓扑信息,分别以每一个所述节点为根节点计算转发表项;
所述控制器按照所述根节点的子节点与所述根节点的距离由近至远的顺序,向所述子节点下发所述转发表项。
2.根据权利要求1所述的方法,其特征在于,所述根据所述网络拓扑信息,分别以每一个所述节点为根节点计算转发表项包括:
使用反向最短路径优先R-SPF算法分别以每一个所述节点为根节点计算R-SPF树,并根据所述R-SPF树获取除所述根节点以外的子节点的转发表项。
3.根据权利要求2所述的方法,其特征在于,在所述按照所述根节点的子节点与所述根节点的距离由近至远的顺序,向所述子节点下发所述转发表项之前,所述方法还包括:
根据所述R-SPF树确定所述子节点在所述R-SPF树中所处的层数;
比较所述子节点所处的层数的数值大小,根据所述子节点所处的层数的数值大小确定所述子节点与所述根节点的距离,所述层数的数值大小与所述距离成正比。
4.根据权利要求3所述的方法,其特征在于,所述按照所述子节点与所述根节点的距离由近至远的顺序,向所述子节点下发所述转发表项包括:
按照所述子节点所处的层数的数值由小到大的顺序,向每一层对应的所述子节点下发所述转发表项。
5.一种控制器,其特征在于,包括:
接收单元,用于当网络拓扑发生变化时,接收所述控制器控制下的至少两个节点上报的网络拓扑信息;
计算单元,用于根据所述接收单元接收到的所述网络拓扑信息,分别以每一个所述节点为根节点计算转发表项;
发送单元,用于按照所述根节点的子节点与所述根节点的距离由近至远的顺序,向所述子节点下发所述计算单元计算出的所述转发表项。
6.根据权利要求5所述的控制器,其特征在于,所述计算单元具体用于:
使用反向最短路径优先R-SPF算法分别以每一个所述节点为根节点计算R-SPF树,并根据所述R-SPF树获取除所述根节点以外的子节点的转发表项。
7.根据权利要求6所述的控制器,其特征在于,所述控制器还包括:
确定单元,用于根据所述R-SPF树确定所述子节点在所述R-SPF树中所处的层数;
比较单元,用于比较所述子节点所处的层数的数值大小,根据所述子节点所处的层数的数值大小确定所述子节点与所述根节点的距离,所述层数的数值大小与所述距离成正比。
8.根据权利要求7所述的控制器,其特征在于,所述发送单元具体用于:
按照所述子节点所处的层数的数值由小到大的顺序,向每一层对应的所述子节点下发所述转发表项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310327279.XA CN103414644B (zh) | 2013-07-31 | 2013-07-31 | 表项下发的方法及控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310327279.XA CN103414644B (zh) | 2013-07-31 | 2013-07-31 | 表项下发的方法及控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103414644A true CN103414644A (zh) | 2013-11-27 |
CN103414644B CN103414644B (zh) | 2016-12-07 |
Family
ID=49607630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310327279.XA Active CN103414644B (zh) | 2013-07-31 | 2013-07-31 | 表项下发的方法及控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103414644B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905318A (zh) * | 2014-04-04 | 2014-07-02 | 华为技术有限公司 | 发送、加载转发表项的方法、控制器和转发节点 |
CN103986651A (zh) * | 2014-05-30 | 2014-08-13 | 杭州华三通信技术有限公司 | 一种软件定义网络控制器及其控制方法 |
CN104184663A (zh) * | 2014-07-17 | 2014-12-03 | 北京交通大学 | 基于软件定义网络和一体化标识网络的通信方法和装置 |
CN104243270A (zh) * | 2014-09-25 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种建立隧道的方法和装置 |
CN104394083A (zh) * | 2014-09-22 | 2015-03-04 | 华为技术有限公司 | 转发表项处理的方法、报文转发的方法及其装置和系统 |
CN104486095A (zh) * | 2014-12-22 | 2015-04-01 | 上海斐讯数据通信技术有限公司 | Sdn控制器及组播控制方法 |
CN105099914A (zh) * | 2014-04-24 | 2015-11-25 | 华为技术有限公司 | 一种指示组播转发表项的方法及设备 |
CN107294856A (zh) * | 2016-03-31 | 2017-10-24 | 华为技术有限公司 | 确定拓扑变化的方法、设备及系统 |
CN108075981A (zh) * | 2016-11-16 | 2018-05-25 | 华为技术有限公司 | 一种链路状态数据包的传输方法及路由节点 |
WO2019057151A1 (en) * | 2017-09-22 | 2019-03-28 | Huawei Technologies Co., Ltd. | ASSOCIATIONS OF TOPOLOGY-SENSITIVE CONTROLLERS IN SOFTWARE DEFINED NETWORKS |
CN111147303A (zh) * | 2019-12-27 | 2020-05-12 | 迈普通信技术股份有限公司 | 消息处理方法、装置、网络系统、电子设备及存储介质 |
CN112565230A (zh) * | 2020-11-30 | 2021-03-26 | 国网山东省电力公司电力科学研究院 | 软件定义物联网网络拓扑数据传输安全管理方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1679279A (zh) * | 2002-08-22 | 2005-10-05 | 日本电气株式会社 | 网络系统、生成树构成方法、生成树构成节点和生成树构成程序 |
CN102057637A (zh) * | 2009-06-09 | 2011-05-11 | 思科技术公司 | 用于通信网络的基于路由的临近度 |
CN102185749A (zh) * | 2011-06-07 | 2011-09-14 | 北京交通大学 | 采用树形拓扑关系避免路由环路的方法 |
CN102594689A (zh) * | 2012-02-22 | 2012-07-18 | 中兴通讯股份有限公司 | 一种分布式网络控制方法及装置 |
CN102821401A (zh) * | 2012-09-06 | 2012-12-12 | 北京傲天动联技术有限公司 | 具备无线接入控制器的无线网格网络的控制方法 |
-
2013
- 2013-07-31 CN CN201310327279.XA patent/CN103414644B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1679279A (zh) * | 2002-08-22 | 2005-10-05 | 日本电气株式会社 | 网络系统、生成树构成方法、生成树构成节点和生成树构成程序 |
CN102057637A (zh) * | 2009-06-09 | 2011-05-11 | 思科技术公司 | 用于通信网络的基于路由的临近度 |
CN102185749A (zh) * | 2011-06-07 | 2011-09-14 | 北京交通大学 | 采用树形拓扑关系避免路由环路的方法 |
CN102594689A (zh) * | 2012-02-22 | 2012-07-18 | 中兴通讯股份有限公司 | 一种分布式网络控制方法及装置 |
CN102821401A (zh) * | 2012-09-06 | 2012-12-12 | 北京傲天动联技术有限公司 | 具备无线接入控制器的无线网格网络的控制方法 |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905318A (zh) * | 2014-04-04 | 2014-07-02 | 华为技术有限公司 | 发送、加载转发表项的方法、控制器和转发节点 |
CN103905318B (zh) * | 2014-04-04 | 2017-12-15 | 华为技术有限公司 | 发送、加载转发表项的方法、控制器和转发节点 |
CN105099914A (zh) * | 2014-04-24 | 2015-11-25 | 华为技术有限公司 | 一种指示组播转发表项的方法及设备 |
US11196576B2 (en) | 2014-04-24 | 2021-12-07 | Huawei Technologies Co., Ltd. | Method for indicating multicast forwarding entry and device |
CN105099914B (zh) * | 2014-04-24 | 2018-12-25 | 华为技术有限公司 | 一种指示组播转发表项的方法及设备 |
CN103986651B (zh) * | 2014-05-30 | 2018-03-06 | 新华三技术有限公司 | 一种软件定义网络控制器及其控制方法 |
CN103986651A (zh) * | 2014-05-30 | 2014-08-13 | 杭州华三通信技术有限公司 | 一种软件定义网络控制器及其控制方法 |
CN104184663B (zh) * | 2014-07-17 | 2018-02-06 | 北京交通大学 | 基于软件定义网络和一体化标识网络的通信方法和装置 |
CN104184663A (zh) * | 2014-07-17 | 2014-12-03 | 北京交通大学 | 基于软件定义网络和一体化标识网络的通信方法和装置 |
CN104394083A (zh) * | 2014-09-22 | 2015-03-04 | 华为技术有限公司 | 转发表项处理的方法、报文转发的方法及其装置和系统 |
CN104394083B (zh) * | 2014-09-22 | 2017-12-15 | 华为技术有限公司 | 转发表项处理的方法、报文转发的方法及其装置和系统 |
CN104243270B (zh) * | 2014-09-25 | 2017-11-24 | 新华三技术有限公司 | 一种建立隧道的方法和装置 |
CN104243270A (zh) * | 2014-09-25 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种建立隧道的方法和装置 |
CN104486095B (zh) * | 2014-12-22 | 2018-07-17 | 上海斐讯数据通信技术有限公司 | Sdn控制器及组播控制方法 |
CN104486095A (zh) * | 2014-12-22 | 2015-04-01 | 上海斐讯数据通信技术有限公司 | Sdn控制器及组播控制方法 |
CN107294856B (zh) * | 2016-03-31 | 2020-01-21 | 华为技术有限公司 | 确定拓扑变化的方法、设备及系统 |
CN107294856A (zh) * | 2016-03-31 | 2017-10-24 | 华为技术有限公司 | 确定拓扑变化的方法、设备及系统 |
US10972310B2 (en) | 2016-11-16 | 2021-04-06 | Huawei Technologies Co., Ltd. | Link state packet transmission method and routing node |
CN108075981B (zh) * | 2016-11-16 | 2021-04-09 | 华为技术有限公司 | 一种链路状态数据包的传输方法及路由节点 |
CN108075981A (zh) * | 2016-11-16 | 2018-05-25 | 华为技术有限公司 | 一种链路状态数据包的传输方法及路由节点 |
US10771336B2 (en) | 2017-09-22 | 2020-09-08 | Futurewei Technologies, Inc. | Topology-aware controller associations in software-defined networks |
WO2019057151A1 (en) * | 2017-09-22 | 2019-03-28 | Huawei Technologies Co., Ltd. | ASSOCIATIONS OF TOPOLOGY-SENSITIVE CONTROLLERS IN SOFTWARE DEFINED NETWORKS |
US11463313B2 (en) | 2017-09-22 | 2022-10-04 | Futurewei Technologies, Inc. | Topology-aware controller associations in software-defined networks |
CN111147303A (zh) * | 2019-12-27 | 2020-05-12 | 迈普通信技术股份有限公司 | 消息处理方法、装置、网络系统、电子设备及存储介质 |
CN111147303B (zh) * | 2019-12-27 | 2022-05-17 | 迈普通信技术股份有限公司 | 消息处理方法、装置、网络系统、电子设备及存储介质 |
CN112565230A (zh) * | 2020-11-30 | 2021-03-26 | 国网山东省电力公司电力科学研究院 | 软件定义物联网网络拓扑数据传输安全管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103414644B (zh) | 2016-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103414644A (zh) | 表项下发的方法及控制器 | |
CN102299845B (zh) | 多链路透明互联多播帧传输方法和系统 | |
US20210211359A1 (en) | SDN Network System, Controller, and Controlling Method | |
CN103703727A (zh) | 用于分体式架构系统中控制业务的弹性路由的方法和设备 | |
CN110535763B (zh) | 一种路由备份方法、装置、服务器及可读存储介质 | |
CN101729385B (zh) | 一种路径计算及建立方法、装置和系统 | |
CN102404216A (zh) | 一种trill网络保护的方法、路由桥和系统 | |
US11005763B2 (en) | Data packet transmission method and border routing bridge device | |
CN106209615B (zh) | 一种基于spfa算法计算转发路径的动态路由控制方法和系统 | |
CN103078796B (zh) | 一种路由计算方法和设备 | |
WO2013053276A1 (zh) | 一种网络路由收敛处理方法和装置 | |
CN103957158A (zh) | 一种流量转发路径确定方法、装置及通信系统 | |
CN1964360A (zh) | Mac帧转发的方法及设备 | |
CN102347885B (zh) | 一种路由切换的方法和装置 | |
CN104079462A (zh) | 环网配置检测方法及装置 | |
CN104796339A (zh) | 快速泛洪处理方法及装置 | |
CN102932255B (zh) | 隧道路径选择的方法及装置 | |
CN106464447A (zh) | 误码信息传递方法和网络设备及通信系统 | |
CN109788018A (zh) | 跨域的业务互通方法、网络设备及存储介质 | |
CN110830394A (zh) | 一种基于RapidIO网络的路由表生成方法 | |
CN102833161B (zh) | 隧道负荷分担方法及装置 | |
CN107733719B (zh) | 一种软件定义抗毁网络无损路径恢复方法 | |
CN111447091B (zh) | 一种网络环路检测方法、装置、设备及存储介质 | |
CN105591806B (zh) | 一种链路切换方法及装置 | |
CN103634218A (zh) | 路由快速收敛的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |