发明名称 有效降低域内重构过程中网络丢包率的交换机缓存方法
摘要 本发明公开了一种有效降低域内重构过程中网络丢包率的交换机缓存方法:在域内重构开始前以及重构过程中,交换机缓存网络中正在转发或正在处理的报文;在重构完成后,交换机依照新的流表重新处理已被缓存的报文,并有序转发出。应用该方法可令网络在经历重构期间的各个暂态过程转换时,不丢失数据报、不中断数据流,所有因重构而滞留在网络中的报文在重构完成后依然能被正确转发,且能有效减少重构造成的报文失序,从而提升了重构时的网络可用性,使得重构前后网络平稳运行。
申请公布号 CN103731370B 申请公布日期 2016.07.13
申请号 CN201310742990.1 申请日期 2013.12.30
申请人 浙江大学 发明人 吴春明;潘戈;周伯阳;滕超;王滨;高文
分类号 H04L12/861(2013.01)I;H04L12/931(2013.01)I 主分类号 H04L12/861(2013.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 周烽
主权项 一种有效降低域内重构过程中网络丢包率的交换机缓存方法,其特征在于,包括以下步骤:(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消息后,依据具体机制结束重构。
地址 310058 浙江省杭州市西湖区余杭塘路866号