CN113300963A - 软件定义网络转发路径无环路更新方法 - Google Patents
软件定义网络转发路径无环路更新方法 Download PDFInfo
- Publication number
- CN113300963A CN113300963A CN202110370813.XA CN202110370813A CN113300963A CN 113300963 A CN113300963 A CN 113300963A CN 202110370813 A CN202110370813 A CN 202110370813A CN 113300963 A CN113300963 A CN 113300963A
- Authority
- CN
- China
- Prior art keywords
- path
- forwarding
- updated
- switches
- switch
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了软件定义网络转发路径无环路更新方法。该方法包括:1)控制器计算网络数据转发的新路径,对在新路径上但不在旧路径上的交换机添加转发规则;2)控制器将既在旧路径也在新路径上的待更新转发规则的交换机作为待更新交换机,把每个待更新交换机作为源节点,按照转发规则更新后,计算其沿着当前路径转发方向能到达的第一个待更新交换机的路径及所跨越的中间待更新交换机的集合,从中选出一组集合无交集且数量之和最多的路径,对选出的路径的源节点的转发规则进行更新,然后对路径上所有转发规则待更新的中间交换机进行更新;3)如果还存在待更新的交换机,则重复执行步骤2),否则,更新结束。
Description
(一)技术领域
本发明涉及计算机网络技术领域,尤其涉及软件定义网络转发路径无环路更新方法。
(二)背景技术
软件定义网络采用分层架构,将控制逻辑和数据转发解耦,通过开放用户编程接口,实 现了网络可编程功能。网络管理人员可以通过编程的方式根据自己具体业务来配置网络,从 而灵活地管理网络。集中式的控制器是控制平面的核心设备,控制器拥有该网络的全局网络 信息,负责管理整个网络,完成路径计算和路由策略的决策控制,并向数据平面的交换机下 发网络数据转发规则。数据平面由分布式的软件定义网络交换机组成,依据控制层下发到交 换机的转发规则来转发数据报文,实现网络数据的传输。
当软件定义网络出现链路故障、链路拥塞、安全规则调整等情况时,控制器会重新计算 网络数据转发路径,并下发转发规则给数据平面的交换机,数据转发路径将会从旧路径切换 到新路径。在更新所有交换机的转发规则时,由于数据平面交换机的分布式架构,对各交换 机进行异步更新转发规则时可能会导致出现转发环路的情况,数据包将在形成转发环路的交 换机间循环转发,无法到达其目的地。在软件定义网络更新转发路径过程中,需要确保任何 中间状态下不会出现网络数据进入转发环路的情况。同时为了确保网络服务质量,需要降低 从旧路径切换到新路径的时延。
(三)发明内容
为了解决上述问题,本发明实施例提供软件定义网络转发路径无环路更新方法。
本发明实施例提供软件定义网络转发路径无环路更新方法,包括:
1)控制器计算网络数据转发的新路径,对在新路径上但不在旧路径上的交换机添加转发 规则;
2)控制器将既在旧路径也在新路径上的待更新转发规则的交换机作为待更新交换机,把 每个待更新交换机作为源节点,按照转发规则更新后,计算其沿着当前路径转发方向能到达 的第一个待更新交换机的路径及所跨越的中间待更新交换机的集合,从中选出一组集合无交 集且数量之和最多的路径,对选出的路径的源节点的转发规则进行更新,然后对路径上所有 转发规则待更新的中间交换机进行更新;
3)如果还存在待更新的交换机,则重复执行步骤2),否则,更新结束。
进一步地,对选出的路径的源节点的转发规则进行更新包括:
在源节点中增加新路径的转发规则;
删除源节点中旧路径的转发规则。
进一步地,对路径上所有转发规则待更新的中间交换机进行更新包括:
对在旧路径上但不在新路径上的交换机,删除旧路径转发规则;
对在旧路径上也在新路径上的交换机,增加新路径的转发规则,删除旧路径的转发规则。
(四)附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术 描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附 图获得其他的附图。
图1为本发明实施例提供的软件定义网络转发路径无环路更新方法流程图。
(五)具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附 图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明 一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有 作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
软件定义网络具有转发、控制分离的特点,当网络由于链路拥塞、链路失效或防火墙规 则调整等原因需要对数据层转发路径进行更新时,控制器会向数据层交换机下发新的流规则, 为网络数据报文建立新的转发路径。然而由于数据平面采用分布式架构,对各交换机进行异 步更新转发规则时会导致出现转发环路的情况,数据包将在形成转发环路的交换机间循环转 发,无法到达其目的地。因此在软件定义网络更新转发路径过程中需要确保不产生转发环路。 同时需要降低建立新路径的时延,确保网络服务质量。
本发明提供了软件定义网络转发路径无环路更新方法,以解决对各交换机进行异步更新 转发规则时导致的转发环路问题,以及降低建立新路径的时延。
图1为本发明实施例提供的软件定义网络转发路径无环路更新方法流程图,如图1所示, 本发明实施例提供软件定义网络转发路径无环路更新方法,包括:
101、控制器计算网络数据转发的新路径,对在新路径上但不在旧路径上的交换机添加转 发规则。
当网络由于链路拥塞、链路失效或防火墙规则调整等情况发生时,需要重新计算满足网 络质量要求、安全管理等的网络数据转发路径,需要对旧路径和新路径上的所有交换机流表 转发规则的更新,实现将网络数据报文的传输路径从旧路径切换到新路径。在新路径上但不 在旧路径上的交换机由于不存在旧路径得转发规则,因此只需对其添加新路径的转发规则。
102、控制器将既在旧路径也在新路径上的待更新转发规则的交换机作为待更新交换机, 把每个待更新交换机作为源节点,按照转发规则更新后,计算其沿着当前路径转发方向能到 达的第一个待更新交换机的路径及所跨越的中间待更新交换机的集合,从中选出一组集合无 交集且数量之和最多的路径,对选出的路径的源节点的转发规则进行更新,然后对路径上所 有转发规则待更新的中间交换机进行更新。
在对软件定义网络的分布式交换机进行异步更新转发规则时,要避免出现转发环路。因 此在更新交换机规则时,待更新的交换机转发规则需要与当前路径转发方向同向,而不能是 反向,同时要避免要更新的多个交换机的转发规则跨越的交换机集合有交集,避免产生环路。 为了尽可能减少异步更新交换机转发规则的轮次,需要更新的交换机数量尽可能最多。控制 器将既在旧路径也在新路径上的待更新转发规则的交换机作为待更新交换机,把每个待更新 交换机作为源节点,按照转发规则更新后,计算其沿着当前路径转发方向能到达的第一个待 更新交换机的路径及所跨越的中间待更新交换机的集合,从中选出一组集合无交集且数量之 和最多的路径,对选出的路径的源节点的转发规则进行更新。被跨越的中间交换机由于已经 不在当前的转发路径上了,因此没有网络数据进入这些交换机。对中间交换机的转发规则进 行更新不会导致网络数据在环路中传输的情况出现。
103、如果还存在待更新的交换机,则重复执行102,否则,更新结束。
经过步骤102对选择出的部分交换机进行无环路的转发规则更新的循环处理,直至完成 对所有需要更新的交换机的处理,实现将网络数据转发路径从旧路径切换到新路径。
基于上述实施例的内容,作为一种可选实施例,所述对选出的路径的源节点的转发规则 进行更新包括:在源节点中增加新路径的转发规则;删除源节点中旧路径的转发规则。
由于源节点既在旧路径也在新路径上,其在更新前存储有旧路径的转发规则,网络数据 在更新前将沿着旧路径进行传输。为了避免网络数据因交换机无转发规则导致缓存阻塞,因 此更新源节点交换机的转发规则时,先添加新路径的转发规则,然后再删除旧路径的转发规 则,此后传入该源节点交换机的网络数据将沿着新路径进行转发。
基于上述实施例的内容,作为一种可选实施例,所述对路径上所有转发规则待更新的中 间交换机进行更新包括:对在旧路径上但不在新路径上的交换机,删除旧路径转发规则;对 在旧路径上也在新路径上的交换机,增加新路径的转发规则,删除旧路径的转发规则。
在路径上中间交换机都处在旧路径上,其中一部分交换机将不会处在新路径上,而其余 交换机将还会处在新路径上。因此对不会出现在新路径的交换机,需要删除旧路径的转发规 则。而对于还会出现在新路径的交换机,则需要增加新路径的转发规则,并删除旧路径的转 发规则。
Claims (3)
1.软件定义网络转发路径无环路更新方法,其特征在于,包括:
1)控制器计算网络数据转发的新路径,对在新路径上但不在旧路径上的交换机添加转发规则;
2)控制器将既在旧路径也在新路径上的待更新转发规则的交换机作为待更新交换机,把每个待更新交换机作为源节点,按照转发规则更新后,计算其沿着当前路径转发方向能到达的第一个待更新交换机的路径及所跨越的中间待更新交换机的集合,从中选出一组集合无交集且数量之和最多的路径,对选出的路径的源节点的转发规则进行更新,然后对路径上所有转发规则待更新的中间交换机进行更新;
3)如果还存在待更新的交换机,则重复执行步骤2),否则,更新结束。
2.根据权利要求1所述的软件定义网络转发路径无环路更新方法,其特征在于,对选出的路径的源节点的转发规则进行更新包括:
在源节点中增加新路径的转发规则;
删除源节点中旧路径的转发规则。
3.根据权利要求1所述的软件定义网络转发路径无环路更新方法,其特征在于,对路径上所有转发规则待更新的中间交换机进行更新包括:
对在旧路径上但不在新路径上的交换机,删除旧路径转发规则;
对在旧路径上也在新路径上的交换机,增加新路径的转发规则,删除旧路径的转发规则。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110370813.XA CN113300963B (zh) | 2021-04-07 | 2021-04-07 | 软件定义网络转发路径无环路更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110370813.XA CN113300963B (zh) | 2021-04-07 | 2021-04-07 | 软件定义网络转发路径无环路更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113300963A true CN113300963A (zh) | 2021-08-24 |
CN113300963B CN113300963B (zh) | 2022-07-15 |
Family
ID=77319547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110370813.XA Active CN113300963B (zh) | 2021-04-07 | 2021-04-07 | 软件定义网络转发路径无环路更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113300963B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114024984A (zh) * | 2021-09-27 | 2022-02-08 | 阿里巴巴(中国)有限公司 | 用于内容分发网络(cdn)的资源刷新方法、装置及设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102946365A (zh) * | 2012-11-09 | 2013-02-27 | 清华大学 | 一种基于软件定义网络的保持流表更新一致性的方法 |
CN105264844A (zh) * | 2014-04-10 | 2016-01-20 | 华为技术有限公司 | 软件定义网络的路由方法、装置和设备 |
WO2016133965A1 (en) * | 2015-02-18 | 2016-08-25 | KEMP Technologies Inc. | Methods for intelligent data traffic steering |
CN105933236A (zh) * | 2016-07-07 | 2016-09-07 | 北京邮电大学 | 一种sdn流表更新方法及装置 |
CN106302173A (zh) * | 2015-05-26 | 2017-01-04 | 南宁富桂精密工业有限公司 | 控制设备及其拓扑学习的方法 |
CN107347021A (zh) * | 2017-07-07 | 2017-11-14 | 西安交通大学 | 一种基于sdn网络可靠传输方法 |
US10257084B2 (en) * | 2012-06-29 | 2019-04-09 | Hewlett Packard Enterprise Development Lp | Implementing a software defined network based on event records |
CN111935022A (zh) * | 2020-07-28 | 2020-11-13 | 华中科技大学 | 一种软件定义网络中流表一致性更新方法 |
CN112260948A (zh) * | 2020-10-16 | 2021-01-22 | 中国科学院声学研究所 | 一种基于批量更新的多核sdn交换机流表管理方法及系统 |
-
2021
- 2021-04-07 CN CN202110370813.XA patent/CN113300963B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10257084B2 (en) * | 2012-06-29 | 2019-04-09 | Hewlett Packard Enterprise Development Lp | Implementing a software defined network based on event records |
CN102946365A (zh) * | 2012-11-09 | 2013-02-27 | 清华大学 | 一种基于软件定义网络的保持流表更新一致性的方法 |
CN105264844A (zh) * | 2014-04-10 | 2016-01-20 | 华为技术有限公司 | 软件定义网络的路由方法、装置和设备 |
WO2016133965A1 (en) * | 2015-02-18 | 2016-08-25 | KEMP Technologies Inc. | Methods for intelligent data traffic steering |
CN106302173A (zh) * | 2015-05-26 | 2017-01-04 | 南宁富桂精密工业有限公司 | 控制设备及其拓扑学习的方法 |
CN105933236A (zh) * | 2016-07-07 | 2016-09-07 | 北京邮电大学 | 一种sdn流表更新方法及装置 |
CN107347021A (zh) * | 2017-07-07 | 2017-11-14 | 西安交通大学 | 一种基于sdn网络可靠传输方法 |
CN111935022A (zh) * | 2020-07-28 | 2020-11-13 | 华中科技大学 | 一种软件定义网络中流表一致性更新方法 |
CN112260948A (zh) * | 2020-10-16 | 2021-01-22 | 中国科学院声学研究所 | 一种基于批量更新的多核sdn交换机流表管理方法及系统 |
Non-Patent Citations (1)
Title |
---|
郑嘉琦: "《数据中心网络数据平面更新策略研究》", 《中国博士学位论文全文数据库 (信息科技辑)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114024984A (zh) * | 2021-09-27 | 2022-02-08 | 阿里巴巴(中国)有限公司 | 用于内容分发网络(cdn)的资源刷新方法、装置及设备 |
CN114024984B (zh) * | 2021-09-27 | 2024-01-05 | 阿里巴巴(中国)有限公司 | 用于内容分发网络(cdn)的资源刷新方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113300963B (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10972357B2 (en) | SDN network system, controller, and controlling method | |
US9014006B2 (en) | Adaptive routing using inter-switch notifications | |
US8817798B2 (en) | Constraining topology size and recursively calculating routes in large networks | |
US8259593B2 (en) | Apparatus and method for segmenting a communication network | |
EP0348331B1 (en) | Method of efficiently updating the topology databases of the nodes in a data communications network | |
US8345699B2 (en) | System and method for enabling a remote instance of a loop avoidance protocol | |
US6373826B1 (en) | Spanning tree algorithm | |
JP2001500345A (ja) | 多層分散ネットワーク要素におけるルーティング | |
US8351435B2 (en) | Method for applying macro-controls onto IP networks using intelligent route indexing | |
KR20050036977A (ko) | 네트워크 시스템, 스패닝 트리 구성 방법, 스패닝 트리 구성 노드, 및 스패닝 트리 구성 프로그램 | |
JPH08237245A (ja) | 双方向メッシュ網 | |
US6721899B1 (en) | Fault-tolerant non-flooding routing | |
CN101252494A (zh) | 业务负载分担的方法和设备 | |
CN113300963B (zh) | 软件定义网络转发路径无环路更新方法 | |
Narváez et al. | Local restoration algorithm for link-state routing protocols | |
EP4333380A1 (en) | Packet forwarding method and apparatus, and dragonfly network | |
CN105915465B (zh) | BGP flow-spec表优先级调整的方法、设备及系统 | |
US20040125745A9 (en) | Two-stage reconnect system and method | |
US20030161275A1 (en) | Spanning tree method | |
CN113260929B (zh) | 用于故障安全数据传输的方法、网络节点、计算机程序和计算机可读介质 | |
JP3844215B2 (ja) | ネットワーク構成管理システム、ノード装置、ネットワーク構成管理方法、ノード装置制御方法、ノード装置制御プログラム | |
US20060034288A1 (en) | Method for fast source routed connection setup | |
US10257120B2 (en) | Converting an aggregated flow to a real flow for core nodes | |
CN114430387B (zh) | 一种节点的配置方法、控制器和节点 | |
US20040076122A1 (en) | Implementation of constraints to ensure deadlock avoidance in networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |