CN103731370A - 有效降低域内重构过程中网络丢包率的交换机缓存方法 - Google Patents

有效降低域内重构过程中网络丢包率的交换机缓存方法 Download PDF

Info

Publication number
CN103731370A
CN103731370A CN201310742990.1A CN201310742990A CN103731370A CN 103731370 A CN103731370 A CN 103731370A CN 201310742990 A CN201310742990 A CN 201310742990A CN 103731370 A CN103731370 A CN 103731370A
Authority
CN
China
Prior art keywords
message
switch
buffer
controller
reconstruct
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
Application number
CN201310742990.1A
Other languages
English (en)
Other versions
CN103731370B (zh
Inventor
吴春明
潘戈
周伯阳
滕超
王滨
高文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201310742990.1A priority Critical patent/CN103731370B/zh
Publication of CN103731370A publication Critical patent/CN103731370A/zh
Application granted granted Critical
Publication of CN103731370B publication Critical patent/CN103731370B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种有效降低域内重构过程中网络丢包率的交换机缓存方法:在域内重构开始前以及重构过程中,交换机缓存网络中正在转发或正在处理的报文;在重构完成后,交换机依照新的流表重新处理已被缓存的报文,并有序转发出。应用该方法可令网络在经历重构期间的各个暂态过程转换时,不丢失数据报、不中断数据流,所有因重构而滞留在网络中的报文在重构完成后依然能被正确转发,且能有效减少重构造成的报文失序,从而提升了重构时的网络可用性,使得重构前后网络平稳运行。

Description

有效降低域内重构过程中网络丢包率的交换机缓存方法
技术领域
本发明涉软件定义网络技术领域,尤其涉及一种有效降低域内重构过程中网络丢包率的交换机缓存方法。
背景技术
互联网运行的过程中,网络运营商常会根据需要调整网络的域内拓扑结构,以变更网络基本属性;或者增加、删除、组合、调整网络业务,以配置业务功能,包括:防火墙的防护策略、各类报文的优先级控制、接入速率控制、访问策略、网络用户的接入认证、QoS保证、计费信息的收集、流量工程、网络地址转换NAT、虚拟专用网VPN及RVPN等。这些对网络属性或功能的重新配置称为网络重构。
软件定义网络(SDN)在执行域内重构时,会经历诸多暂态过程。这一期间,已经在网络上进行转发而尚未到达的报文,可能会遇到重构引起的各种暂态问题,如暂态环路(报文在一个网络环中被恶性循环转发)或网络黑洞(出入某一网络区域的报文会被无声地丢弃,源地址不会收到报文未能到达目的地址的通知)等,进而造成数据流中断。当网络处在高度动态的情况下,暂态问题产生的重构开销尤为明显。这严重降低了网络的可用性。为了解决重构期间的暂态问题,使得网络在经历重构时能安全、平稳地运行,本发明对OpenFlow协议进行扩展,提出了一种重构缓存策略。
本发明的内容涉及以下SDN中的已有概念或技术:
SDN控制器是根据OpenFlow协议设计的路由控制软件,用于管理数据流、配置网络设备、制定流表(Flow Table)、承担网络业务与网络设备间的通讯。一个域中可以有多个控制器,但一般只有一个控制器处在控制、管理状态。
SDN中的交换机也服从OpenFlow协议。OpenFlow交换机由SDN控制器管控,保存有控制器制定的流表,并通过查询流表表项来决定对报文的处理方式,包括转发、缓存、提交控制器或丢弃等。
OpenFlow协议下的安全通道用来连接交换机和控制器,以供二者进行通信。
发明内容
本发明应用在SDN网络域内,且该域内只有单个控制器处在管控状态。本发明包括以下步骤(参见图1交换机缓存方法序列图):
1、域内重构开始:控制器发起该控制器所管控域的域内重构,并根据本次重构的需求,找出域内需要更新流表的交换机,最后计算这些交换机的新的流表;
2、交换机建立缓存,该步骤通过以下子步骤来实现:
2.1、控制器利用安全通道,向所有需要更新流表的交换机发送Configuration消息(该消息由OpenFlow协议定义,用于控制器设置或查询交换机上的配置信息),命令这些交换机进入报文缓存状态;
2.2、需要更新流表的交换机收到Configuration消息,分别开始执行报文缓存(参见图2交换机执行报文缓存流程图),具体为:
2.2.1、交换机挂起报文发送进程;
2.2.2、交换机建立报文缓冲进程;
2.2.3、报文缓冲进程利用读锁,锁住原有接收缓冲区,使得报文处理进程不可读取接收缓冲区;
2.2.4、报文缓冲进程建立报文接收缓冲队列;
2.2.5、报文缓冲进程持续监听原有接收缓冲区,若原有接收缓冲区中有报文,缓冲进程即把缓冲区中的报文转存入报文接收缓冲队列;
2.2.6、报文缓冲进程建立报文发送缓冲队列;
2.2.7、报文缓冲进程持续监听原有发送缓冲区,若原有发送缓冲区中有报文,缓冲进程即把缓冲区中的报文转存入报文发送缓冲队列;
2.2.8、交换机向控制器发送Packet-in消息(该消息由OpenFlow协议定义,可以用于向控制器发送通知),表明已开始缓存报文;
3、执行重构:控制器收到所有以上交换机的Packet-in消息后,执行域内重构;通过重构,需要更新流表的交换机的流表被控制器更新;
4、交换机释放缓存,该步骤通过以下子步骤来实现:
4.1、控制器利用安全通道,分别向以上交换机发送Configuration消息,命令这些交换机释放缓存;
4.2、这些交换机收到Configuration消息,分别开始释放缓存(参见图3交换机释放报文缓存流程图),具体为:
4.2.1、报文缓冲进程停止监听原有发送缓冲区,不再将原有发送缓冲区中的报文转存入报文发送缓冲队列;
4.2.2、交换机恢复报文发送进程;
4.2.3、交换机将报文处理进程的输入流重定向至报文发送缓冲队列;
4.2.4、报文处理进程根据新的流表,重新处理报文发送缓冲队列中的报文;
4.2.5、交换机监听报文发送缓冲队列,当该缓冲队列为空时,将报文处理进程的输入流重定向至报文接收缓冲队列;
4.2.6、报文缓冲进程停止监听原有接收缓冲区,不再将原有接收缓冲区中的报文转存入报文接收缓冲队列;
4.2.7、交换机监听报文接收缓冲队列,当该缓冲队列为空时,将报文处理进程的输入流重定向至原有接收缓冲区;
4.2.8、交换机结束报文缓冲进程;
4.2.9、交换机向控制器发送Packet-in消息,表明已释放缓存;
5、重构结束:控制器收到所有以上交换机的Packet-in消息后,依据具体机制结束重构。
本发明的有益效果是:应用本发明提出的域内重构交换机缓存方法,可令网络在经历重构期间的各个暂态过程转换时,不丢失数据报、不中断数据流,所有因重构而滞留在网络中的报文在重构完成后依然能被正确转发,且能有效减少重构造成的报文失序,从而提升了重构时的网络可用性,使得重构前后网络平稳运行。
现有的SDN控制器,如NOX、Beacon、Maestro,并不保证网络重构时暂态过程下的网络可用性,当控制器配置新的链路参数时,各种暂态问题如暂态环路或网络黑洞均存在。而本技术能够消除这些暂态问题,尽可能减小了网络的域内重构对上层用户的影响;在域内重构时,使用本技术可使网络对上层仅表现为延迟在短时间内增大。因此,与现有技术相比,本发明优势在于利用了较为轻量级的方法完全保证了网络在重构期间的可用性。
附图说明
图1是交换机缓存方法序列图;
图2是交换机执行报文缓存流程图;
图3是交换机释放报文缓存流程图;
图4是重构前的SDN业务网拓扑结构示例图;
图5是重构后的SDN业务网拓扑结构示例图。
具体实施方式
下面以控制器改变域内SDN节点连接关系为例,结合图4、图5详细描述本发明。
1、域内重构开始:控制器发起该控制器所管控域的域内重构,并根据本次重构的需求,对比重构前原有的网络拓扑(例如图4)与所欲的新拓扑(例如图5),求得需要更新流表的交换机为:交换机A、B、C、D、E,最后计算这五台交换机的新流表;
2、交换机建立缓存,该步骤通过以下子步骤来实现:
2.1、控制器利用安全通道(在图4、图5中以折线表示),分别向交换机A、B、C、D、E发送Configuration消息,命令这些交换机进入报文缓存状态;
2.2、这些交换机收到Configuration消息,分别开始执行报文缓存(参见图2交换机执行报文缓存流程图):
2.2.1、交换机挂起报文发送进程;
2.2.2、交换机建立报文缓冲进程;
2.2.3、报文缓冲进程利用读锁,锁住原有接收缓冲区,使得报文处理进程不可读取接收缓冲区;
2.2.4、报文缓冲进程建立报文接收缓冲队列;
2.2.5、报文缓冲进程持续监听原有接收缓冲区,若原有接收缓冲区中有报文,缓冲进程即把缓冲区中的报文转存入报文接收缓冲队列;
2.2.6、报文缓冲进程建立报文发送缓冲队列;
2.2.7、报文缓冲进程持续监听原有发送缓冲区,若原有发送缓冲区中有报文,缓冲进程即把缓冲区中的报文转存入报文发送缓冲队列;
2.2.8、交换机向控制器发送Packet-in消息(该消息由OpenFlow协议定义,可以用于向控制器发送通知),表明已开始缓存报文;
3、执行重构:控制器收到交换机A、B、C、D、E的Packet-in消息后,执行域内重构;通过重构,交换机A、B、C、D、E的流表被控制器更新;
4、交换机释放缓存,该步骤通过以下子步骤来实现:
4.1、控制器利用安全通道,分别向交换机A、B、C、D、E发送Configuration消息,命令这些交换机释放缓存;
4.2、这些交换机收到Configuration消息,分别开始释放缓存(参见图3交换机释放报文缓存流程图):
4.2.1、报文缓冲进程停止监听原有发送缓冲区,不再将原有发送缓冲区中的报文转存入报文发送缓冲队列;
4.2.2、交换机恢复报文发送进程;
4.2.3、交换机将报文处理进程的输入流重定向至报文发送缓冲队列;
4.2.4、报文处理进程根据新的流表,重新处理报文发送缓冲队列中的报文;
4.2.5、交换机监听报文发送缓冲队列,当该缓冲队列为空时,将报文处理进程的输入流重定向至报文接收缓冲队列;
4.2.6、报文缓冲进程停止监听原有接收缓冲区,不再将原有接收缓冲区中的报文转存入报文接收缓冲队列;
4.2.7、交换机监听报文接收缓冲队列,当该缓冲队列为空时,将报文处理进程的输入流重定向至原有接收缓冲区;
4.2.8、交换机结束报文缓冲进程;
4.2.9、交换机向控制器发送Packet-in消息,表明已释放缓存;
5、重构结束:控制器收到交换机A、B、C、D、E的Packet-in消息后,依据具体机制结束重构。

Claims (1)

1.有效降低域内重构过程中网络丢包率的交换机缓存方法,其特征在于,包括以下步骤:
(1)域内重构开始:控制器发起该控制器所管控域的域内重构,并根据本次重构的需求,找出域内需要更新流表的交换机,最后计算这些交换机的新的流表;
(2)交换机建立缓存,该步骤通过以下子步骤来实现:
(2.1)控制器利用安全通道,向所有需要更新流表的交换机发送Configuration消息,命令这些交换机进入报文缓存状态;所述Configuration消息由OpenFlow协议定义,用于控制器设置或查询交换机上的配置信息;
(2.2)需要更新流表的交换机收到Configuration消息,分别开始执行报文缓存,具体为:
(2.2.1)交换机挂起报文发送进程;
(2.2.2)交换机建立报文缓冲进程;
(2.2.3)报文缓冲进程利用读锁,锁住原有接收缓冲区,使得报文处理进程不可读取接收缓冲区;
(2.2.4)报文缓冲进程建立报文接收缓冲队列;
(2.2.5)报文缓冲进程持续监听原有接收缓冲区,若原有接收缓冲区中有报文,缓冲进程即把缓冲区中的报文转存入报文接收缓冲队列;
(2.2.6)报文缓冲进程建立报文发送缓冲队列;
(2.2.7)报文缓冲进程持续监听原有发送缓冲区,若原有发送缓冲区中有报文,缓冲进程即把缓冲区中的报文转存入报文发送缓冲队列;
(2.2.8)交换机向控制器发送Packet-in消息,表明已开始缓存报文;所述Packet-in消息由OpenFlow协议定义,可以用于向控制器发送通知;
(3)执行重构:控制器收到所有以上交换机的Packet-in消息后,执行域内重构,通过重构,需要更新流表的交换机的流表被控制器更新;
(4)交换机释放缓存,该步骤通过以下子步骤来实现:
(4.1)控制器利用安全通道,分别向以上交换机发送Configuration消息,命令这些交换机释放缓存;
(4.2)这些交换机收到Configuration消息,分别开始释放缓存,具体为:
(4.2.1)报文缓冲进程停止监听原有发送缓冲区,不再将原有发送缓冲区中的报文转存入报文发送缓冲队列;
(4.2.2)交换机恢复报文发送进程;
(4.2.3)交换机将报文处理进程的输入流重定向至报文发送缓冲队列;
(4.2.4)报文处理进程根据新的流表,重新处理报文发送缓冲队列中的报文;
(4.2.5)交换机监听报文发送缓冲队列,当该缓冲队列为空时,将报文处理进程的输入流重定向至报文接收缓冲队列;
(4.2.6)报文缓冲进程停止监听原有接收缓冲区,不再将原有接收缓冲区中的报文转存入报文接收缓冲队列;
(4.2.7)交换机监听报文接收缓冲队列,当该缓冲队列为空时,将报文处理进程的输入流重定向至原有接收缓冲区;
(4.2.8)交换机结束报文缓冲进程;
(4.2.9)交换机向控制器发送Packet-in消息,表明已释放缓存;
(5)重构结束:控制器收到所有以上交换机的Packet-in消息后,依据具体机制结束重构。
CN201310742990.1A 2013-12-30 2013-12-30 有效降低域内重构过程中网络丢包率的交换机缓存方法 Active CN103731370B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310742990.1A CN103731370B (zh) 2013-12-30 2013-12-30 有效降低域内重构过程中网络丢包率的交换机缓存方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310742990.1A CN103731370B (zh) 2013-12-30 2013-12-30 有效降低域内重构过程中网络丢包率的交换机缓存方法

Publications (2)

Publication Number Publication Date
CN103731370A true CN103731370A (zh) 2014-04-16
CN103731370B CN103731370B (zh) 2016-07-13

Family

ID=50455302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310742990.1A Active CN103731370B (zh) 2013-12-30 2013-12-30 有效降低域内重构过程中网络丢包率的交换机缓存方法

Country Status (1)

Country Link
CN (1) CN103731370B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016000184A1 (zh) * 2014-06-30 2016-01-07 华为技术有限公司 一种交换机模式切换方法、设备及系统
CN105556906A (zh) * 2014-05-30 2016-05-04 华为技术有限公司 一种网络地址转换方法及装置
CN105933236A (zh) * 2016-07-07 2016-09-07 北京邮电大学 一种sdn流表更新方法及装置
CN108111436A (zh) * 2017-11-30 2018-06-01 浙江宇视科技有限公司 一种网络设备缓存调度方法及系统
US10819659B2 (en) 2015-10-20 2020-10-27 Huawei Technologies Co., Ltd. Direct replying actions in SDN switches

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414957B (zh) * 2007-10-17 2010-12-08 北京中电华大电子设计有限责任公司 一种用于无线局域网的缓冲队列管理方法
CN101771571B (zh) * 2010-03-01 2012-03-21 浙江大学 一种可重构柔性网络下基于邻接关系感知的拓扑发现方法
CN102882809B (zh) * 2012-10-26 2015-07-15 杭州迪普科技有限公司 一种基于报文缓存的网络限速方法及装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105556906A (zh) * 2014-05-30 2016-05-04 华为技术有限公司 一种网络地址转换方法及装置
WO2016000184A1 (zh) * 2014-06-30 2016-01-07 华为技术有限公司 一种交换机模式切换方法、设备及系统
CN105393511A (zh) * 2014-06-30 2016-03-09 华为技术有限公司 一种交换机模式切换方法、设备及系统
US10116555B2 (en) 2014-06-30 2018-10-30 Huawei Technologies Co., Ltd. Switch mode switching method, device, and system
CN105393511B (zh) * 2014-06-30 2019-04-26 华为技术有限公司 一种交换机模式切换方法、设备及系统
US10819659B2 (en) 2015-10-20 2020-10-27 Huawei Technologies Co., Ltd. Direct replying actions in SDN switches
CN105933236A (zh) * 2016-07-07 2016-09-07 北京邮电大学 一种sdn流表更新方法及装置
CN108111436A (zh) * 2017-11-30 2018-06-01 浙江宇视科技有限公司 一种网络设备缓存调度方法及系统

Also Published As

Publication number Publication date
CN103731370B (zh) 2016-07-13

Similar Documents

Publication Publication Date Title
CN108718283B (zh) 数据中心网络中集中式端网协调的tcp拥塞控制方法
JP5874851B2 (ja) 通信システム、転送ノード、制御装置及び通信方法
JP7048763B2 (ja) 通信方法及び通信装置
US10498607B2 (en) SDN network system, controller, and controlling method
CN103731370A (zh) 有效降低域内重构过程中网络丢包率的交换机缓存方法
WO2011083682A1 (ja) スイッチネットワークシステム、コントローラ、及び制御方法
JP6388955B2 (ja) OpenFlowスイッチのグレースフル・リスタート処理方法及びOpenFlowコントローラ
CN109842639A (zh) 实现切换过程中业务连续性的方法、设备及系统
TWI542172B (zh) 路徑更換方法與系統及其控制器
KR20140106235A (ko) 오픈플로우 스위치 및 그 패킷 처리 방법
CN102308628B (zh) 用于在移动通信网络中进行数据处理的方法和设备
WO2012111051A1 (en) Flow communication system
US20160301571A1 (en) Method and Device for Monitoring OAM Performance
JP6796656B2 (ja) 基本サービスセット識別子bssid更新
CN103200109B (zh) 一种ospf邻居关系管理方法和设备
WO2015106827A1 (en) Method of operating a network entity
EP2701430B1 (en) Method, device and multimode terminal for implementing network switching
JP2014003459A (ja) ゲートウェイ装置、及びパケット通信方法
WO2018120183A1 (zh) 数据传输的方法及装置
JP5282628B2 (ja) ネットワーク監視制御装置及び監視制御方法
CN115378955A (zh) 一种数据处理方法以及相关设备
CN104521201B (zh) 转发节点的处理方法、转发节点及控制节点
KR101678756B1 (ko) 통신 시스템, 제어 장치, 통신 장치 및 정보 중계 방법
CN102014058A (zh) 一种上行流量的调度方法及装置
US10826825B2 (en) Access network system, and data packet processing method and apparatus

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