一种流表条目生成方法及相应设备的制作方法

文档序号:8004558阅读:162来源:国知局
一种流表条目生成方法及相应设备的制作方法
【专利摘要】本发明公开了一种流表条目生成方法及相应设备,所述方法应用于开放流(Openflow)转发设备,包括:接收Openflow控制器发来的引导流表条目和流表模板;其中,所述引导流表条目的动作(Action)信息包括预设置的所述流表模板ID;在接收到数据报文后,如果该数据报文匹配命中所述引导流表条目,则根据所述引导流表条目的Action信息中预设置的所述流表模板ID查找对应的流表模板,并根据所述对应的流表模板定义的流表条目生成规则和所述数据报文的关键字段信息生成流表条目。本发明增强了Openflow协议的安全性,同时扩展了Openflow/SDN网络的应用场景和实用性。
【专利说明】一种流表条目生成方法及相应设备

【技术领域】
[0001] 本发明涉及通信领域,具体而言,涉及一种流表条目生成方法及相应设备。

【背景技术】
[0002] 基于 TCP(Transmission Control Protocol,传输控制协议)/IP 的当今 Internet (互联网)经过四十多年的发展已取得巨大的成功,与人们息息相关,已成为工作、学习和生 活必不可少的基础设施之一。TCP/IP式的互联网,因其设计之初的"网络/网络设备进行 简单处理,复杂的处理交给主机端/侧"的分工与组织原则,形成了当今的互联网体系结构 现状:主机侧的应用层协议可以很方便、灵活地进行修改和部署,应用层软件因此得到了突 飞猛进地发展,应用层的功能因此得到了极大的丰富;与之形成鲜明对比的是网络层,网络 层协议的设计虽然简单,但是可扩展性不强并且不易修改,造成:一方面,互联网网络层面 暴露出的许多致命的漏洞长期难以得到修补和改进,如网络管理难以部署、网络安全问题 日益严重、尽力而为的转发策略不能满足用户的服务质量要求、组播难以部署和应用等;另 一方面,新协议、新应用由于对网络层提出变革要求而难以得到实现,如从IPv4向IPv6过 渡困难、接入设备日益呈现泛在移动性与异质性对网络可靠性和区分服务能力提出挑战、 大规模网络情况下路由面临可扩展性问题、云计算和内容分发等应用对网络转发效率提出 新需求、TCP/IP之父Vinton G. Cerf也指出互联网应该在网络安全和网络可靠性方面做得 更好("安全性与可靠性是迈向未来互联网最基本的两个门槛,否则这个架构将无法存活") 等。因此互联网目前形成了一种"应用层灵活多变、百花齐放,网络层僵硬难变、漏洞百出" 的尴尬局面。互联网要解决当前所面临的问题和尴尬局面,需要从网络体系结构、控制等层 面深层次的进行探讨、研究和改革,才能全面迎接二十一世纪新的机遇和巨大的挑战。
[0003] 对于如何解决当前互联网所面临的问题与挑战,国内外研究机构从互联网体系结 构层面进行了大量积极的探索和研究。主要经历了两个阶段的发展,对互联网的改进可分 为两类方式:演进式改进和革命性改进。
[0004] 多年来,针对传统IP网络在服务质量保证、移动支持、高效可靠和安全保证等方 面暴露出的许多问题,研究领域普遍采用设计针对性的修补方式来分别解决这些问题,一 旦发现运行的网络的弱点或错误就立即改进,例如在传统互联网体系结构中添加新的协议 和功能组件等。这种"修补-> 发现问题-> 再修改"的改进方式是以现有互联网TCP/IP体 系结构为基础,对现有网络进行逐步演进和发展以添加新的功能和特性来解决目前面临的 问题的方式,是一种Evolution (演进式)的改进方式。这种改进方式的优势在于易于部署 和实施,有利于保护现有互联网建设中的已有投入。但是它的缺陷在于:(1)某次修补只是 在小范围内解决局部的问题;(2)现有的改进可能引入短期收益,而从长期看则具有破坏 性如NAT(Network Address Translation,网络地址转换),或者局部收益对整体有破坏性; (3)某次修补可能不容易"兼容"未来的继续修改;(4)经过多次修补,互联网变得越来越 "厚重"、复杂、不灵活,超出了当初设计Internet的简单的体系结构的承受能力;(5)传统 互联网体系结构中的一些固有问题难以得到根本性的解决。从2005年开始,研究领域逐渐 形成了另一种观点,只有重新设计网络体系结构才能从根本上解决IP网络所面临的问题, 而目前正是互联网体系结构"Clean-slate"(从零开始)进行全面彻底变革的好时机,完全 舍弃现有的互联网体系结构,设计一种全新的、融合多种设计目标的新一代互联网体系结 构。这种方案旨在从根本上解决现有互联网体系结构存在的各种问题,是一种Revolution (革命性)的改进方案。这种方案的优势在于:(1)可以摆脱TPC/IP体系结构的束缚,跳出 其约束与框架,以解决互联网多年来因体系结构造成的遗留难题;(2)可以对互联网进行 重新、全面的设计,统筹解决互联网的诸多问题,统筹安排互联网的诸多新需求的实现。但 是这种方案的缺陷在于:(1)由于全新网络可能不能兼容现有互联网,需要完全替换原有 网络的基础设施,因此存在着网络部署和平滑过渡的问题;(2)如何建立新的体系结构以 及建立了新的体系结构是否能解决当前和未来网络所面临的问题也存在很大风险;(3)需 要重新构建适合全新体系结构的试验网络,演进代价高。
[0005] 为了解决目前互联网存在的问题,实现对新网络协议快速、灵活的部署,开放可编 程网络被提出。开放可编程网络是指允许网络研究者而不只是设备厂商,在网络设备上进 行编程和管理其网络体系结构或网络协议。开放可编程式思路是革命性改进方案的代表性 成果之一,基本可以概括为:将原来多张功能网络并存、整体的、复杂的MAN (Metropolitan Area Network,城域网)/WAN (Wide Area Network,广域网)网络或网络设备按功能进行划 分,例如划分成数据转发部分和逻辑控制部分、或者系统核心部分和用户功能部分等。各部 分之间的接口是开放的和标准的。基于这个开放和标准化的接口,每个部分都可以自我演 进和改进而不需通知或影响其他部分,这样整个网络或网络设备也将实现独立、平滑演进 和改进。开放可编程式思路面临的挑战在于:(1)网络分层需要具备一定的合理性、科学性 和可扩展性;(2)定义科学、可扩展的分层间的接口;(3)控制层面如果采取集中管控方式, 贝懦要考虑域间连接、可扩展性(如扩展到全球)等。
[0006] 在开放可编程网络的研究方面,Berkeley (伯克利)大学的Scott Shenker等人提 出的SDN (Software Defined Networking,软件定义网络)技术、Stanford (斯坦福)大学的 OpenFlow(开放流协议)等技术是网络开放性研究的代表性成果。图1是SDN/OpenFlow技术 的层次模型示意图,包含:基础设施层、网络控制层和应用层三个层次。SDN/OpenFlow网络 中的基础设施层由1个以上的转发设备构成,转发设备相对当前网络中的路由器、交换机 及各类网关来说结构更加简单、没有复杂的Control Plane (控制面),主要的工作是进行数 据流的转发。网络控制层中的主要设备是网络操作系统(或称SDN/OpenFlow控制器),网络 操作系统通过标准化的接口同时对多台转发设备进行控制,替代了原本独立于各台转发设 备中的控制面、甚至当前的网络管理系统,可以实现网络管理和端到端的数据流规则下发 (即向转发路径上的多台转发设备下发流规则),同时网络操作系统通过API (Application Programming Interface,应用程序编程接口)与应用层进行交互。应用层由不同应用构成, 应用通过API接口能够直接调用网络控制层的网络管理和控制功能。
[0007] 与其它革命性的改进技术的部署一样,运营商网络在向SDN/OpenFlow架构演进 的过程中势必遇到各方面的问题,如安全性就是其中最重要的问题之一。此外,对各种现网 技术的适配性也是衡量一项新技术是否符合网络发展趋势的重要指标。如图2所示,在实 际的SDN/OpenFlow网络中,网络控制层设备(如SDN/OpenFlow控制器)和基础设施层设备 (即转发设备)之间通过基于IP地址的通信协议消息进行交互(如OpenFlow协议),网络终 端之间、网络终端和应用服务器之间、应用服务器和应用服务器之间的数据流量在转发设 备间通过流表进行转发,每条流的流表均由SDN/OpenFlow控制器生成并下发给转发设备, 转发设备对没有命中本转发设备当前存储的流表的数据报文统一上送给SDN/OpenFlow控 制器进行流表的查询和生成,转发设备需要等待SDN/OpenFlow控制器下发新的流表才可 以转发该数据报文。这种数据报文的转发模式带来了以下几个问题:
[0008] -、安全性问题:对于转发面攻击源(如恶意终端)发出的攻击SDN/OpenFlow控 制器或攻击应用服务器的报文,转发设备在收到流表前会将所有攻击报文发送给SDN/ OpenFlow控制器,如果攻击报文的发送频率较大,可能导致转发设备和SDN/OpenFlow控制 器之间的路径拥塞,影响正常的转发设备和控制设备间的其它控制消息(如流表查询、配置 下发等)的传递效率,且当前的流表下发机制无法实现在攻击报文抵达应用服务器前对应 用服务器进行保护,即在应用服务器发现攻击并通过应用层与SDN/OpenFlow控制器之间 的接口发送安全策略、SDN/OpenFlow控制器再形成新的流表下发给转发设备之前,攻击源 针对应用服务器的所有攻击报文都将被发送给应用服务器;
[0009] 二、适配性问题:对于NAT等业务场景,当前的流量上送、流表条目生成、流表条目 下发模式的控制流程较长,对转发时延和效率影响较大。例如在NAT场景下,转发设备收到 用户私网终端发出的数据报文后,对于没有命中本转发设备存储的流表条目的报文,需要 首先发送给SDN/OpenFlow控制器,由SDN/OpenFlow控制器完成公网地址和端口号的指定、 地址匹配关系及对应流表条目的生成以及流表条目的下发,在当前每个用户同时存在大量 会话频繁生成和释放的场景(如P2P (Peer to Peer,对等网络)应用)而言转发效率较低, 在未来IPv4/IPv6长期共存、私网IPv4地址长期大量存在的网络中,这种转发模式需要进 一步优化。


【发明内容】

[0010] 本发明提供了一种流表条目生成方法及相应设备,以在提升SDN/Openflow网络 安全性的前提下提升报文转发模式的时效性和适配性。
[0011] 为解决上述问题,本发明提供了一种流表条目生成方法,应用于开放流 (Openflow)转发设备,包括:
[0012] 接收Openf low控制器发来的引导流表条目和流表模板;其中,所述引导流表条目 的动作(Action)信息包括预设置的所述流表模板ID ;
[0013] 在接收到数据报文后,如果所述数据报文匹配命中所述引导流表条目,则根据所 述引导流表条目的Action信息中预设置的所述流表模板ID查找对应的流表模板,并根据 所述对应的流表模板定义的流表条目生成规则和所述数据报文的关键字段信息生成流表 条目。
[0014] 进一步地,所述方法还包括:
[0015] 将生成的所述流表条目通过扩展的流条目添加消息发送给所述Openflow控制 器。
[0016] 进一步地,
[0017] 所述将生成的所述流表条目通过所述流条目添加消息发送给所述Openf low控制 器,具体包括:
[0018] 所述Openflow转发设备通过所述流条目添加消息实时或批量发送所述流表条目 的信息。
[0019] 进一步地,所述方法还包括:
[0020] 按照生成的所述流表条目对所述数据报文进行处理转发。
[0021] 进一步地,
[0022] 所述引导流表条目的匹配规则包括:目的地址为受保护设备的IP地址;
[0023] 所述数据报文匹配命中所述引导流表条目,具体包括:
[0024] 所述数据报文的目的地址为所述受保护设备的IP地址。
[0025] 进一步地,
[0026] 所述流表模板定义的流表条目生成规则为对任一源IP地址向所述受保护设备发 送的报文进行限速;
[0027] 所述根据所述流表模板定义的流表条目生成规则和所述数据报文的关键字段信 息生成流表条目,具体包括:
[0028] 生成所述流表条目;其中,所述流表条目的匹配规则包括:源IP地址为所述数据 报文的源IP地址、目的IP地址为所述受保护设备的IP地址,Action信息为向所述受保护 设备发送与本匹配规则相匹配的数据报文并利用测量表条目限制发送速率。
[0029] 进一步地,
[0030] 所述引导流表条目的匹配规则包括源地址为一类用户的私网地址网段;
[0031] 所述数据报文匹配命中所述引导流表条目,具体包括:
[0032] 所述数据报文的源地址为所述私网地址网段中的一个。
[0033] 进一步地,
[0034] 所述流表模板定义的流表条目生成规则为由用户侧发往网络侧的报文的地址转 换规则;
[0035] 所述根据所述流表模板定义的流表条目生成规则和所述数据报文的关键字段信 息生成流表条目,具体包括:
[0036] 生成所述流表条目;其中,所述流表条目的匹配规则包括:所述数据报文的私网 地址,Actions包括将所述私网地址转换为分配的公网地址,并通过对应出接口发送转换后 的报文。
[0037] 进一步地,所述方法还包括:
[0038] 接收所述Openflow控制器发来的第二流表模板;其中,所述第二流表模板与所述 流表模板级联,所述第二流表模板定义的流表条目生成规则为由网络侧发往所述用户侧的 报文的地址转换规则。
[0039] 进一步地,所述方法还包括:
[0040] 根据生成的所述流表条目,结合所述第二流表模板生成所述第二流表条目;
[0041] 其中,所述第二流表条目的匹配规则包括:所述分配的公网地址,Action信息为 将所述公网地址转换为对应的私网地址,并通过对应出接口发送转换后的报文。
[0042] 进一步地,
[0043] 所述私网地址包括:私网IP地址;
[0044] 所述公网地址包括:公网IP地址,或者,公网IP地址及端口信息。
[0045] 进一步地,所述方法还包括:
[0046] 将生成的所述第二流表条目通过流条目添加消息发送给所述Openflow控制器。
[0047] 此外,本发明还提供了一种流表条目生成方法,应用于开放流(Openflow)控制器, 包括:
[0048] 向Openflow转发设备发送引导流表条目和流表模板;其中,所述引导流表条目的 动作(Action)信息包括预设置的所述流表模板ID。
[0049] 进一步地,
[0050] 所述引导流表条目的匹配规则包括:目的地址为受保护设备的IP地址;和/或,
[0051] 所述流表模板定义的流表条目生成规则为对任一源IP地址向所述受保护设备发 送的报文进行限速。
[0052] 进一步地,所述方法还包括:
[0053] 在接收到所述Openflow转发设备通过流条目添加消息发来的流表条目后,
[0054] 所述Openflow控制器不回复所述流条目添加消息,表示接受所述Openflow转发 设备根据所述流表模板生成的所述本地流表条目;或者,
[0055] 所述Openf low控制器向所述Openf low转发设备发送拒绝消息,要求所述 Openf low转发设备删除根据所述流表模板生成的所述流表条目;或者,
[0056] 所述Openflow控制器向所述Openflow转发设备发送更高优先级的流表条目。
[0057] 进一步地,
[0058] 所述引导流表条目的匹配规则包括源地址为用户的私网地址网段;和/或,
[0059] 所述流表模板定义的流表条目生成规则为由用户侧发往网络侧的报文的地址转 换规则。
[0060] 进一步地,
[0061] 所述私网地址网段包括:私网IP地址。
[0062] 进一步地,所述方法还包括:
[0063] 向所述Openf low转发设备发送第二流表模板;其中,所述第二流表模板与所述流 表模板级联,所述第二流表模板定义的流表条目生成规则为由网络侧发往所述用户侧的报 文的地址转换规则。
[0064] 相应地,本发明还提供了一种开放流(Openflow)转发设备,包括:
[0065] 接收模块,用于接收Openflow控制器发来的引导流表条目和流表模板;其中,所 述引导流表条目的动作(Action)信息包括预设置的所述流表模板ID ;还用于接收数据报 文;
[0066] 生成模块,用于在所述接收模块接收到所述数据报文后,如果所述数据报文匹配 命中所述接收模块接收到的所述引导流表条目,则根据所述引导流表条目的Action信息 中预设置的所述流表模板ID查找对应的流表模板,并根据所述对应的流表模板定义的流 表条目生成规则和所述数据报文的关键字段信息生成流表条目。
[0067] 进一步地,所述设备还包括:
[0068] 发送模块,用于将所述生成模块生成的所述流表条目通过扩展的流条目添加消息 发送给所述Openflow控制器。
[0069] 进一步地,所述设备还包括:
[0070] 发送模块,用于按照所生成模块生成的所述流表条目对所述数据报文进行处理转 发。
[0071] 进一步地,
[0072] 所述引导流表条目的匹配规则包括:目的地址为受保护设备的IP地址;
[0073] 所述数据报文匹配命中所述引导流表条目,具体包括:
[0074] 所述数据报文的目的地址为所述受保护设备的IP地址。
[0075] 进一步地,
[0076] 所述流表模板定义的流表条目生成规则为对任一源IP地址向所述受保护设备发 送的报文进行限速;
[0077] 所述生成模块用于根据所述流表模板定义的流表条目生成规则和所述数据报文 的关键字段信息生成流表条目,具体包括:
[0078] 所述生成模块用于生成所述流表条目;其中,所述流表条目的匹配规则包括:源 IP地址为所述数据报文的源IP地址、目的IP地址为所述受保护设备的IP地址,Action信 息为向所述受保护设备发送与本匹配规则相匹配的数据报文并利用测量表条目限制发送 速率。
[0079] 进一步地,
[0080] 所述引导流表条目的匹配规则包括源地址为一类用户的私网地址网段;
[0081] 所述数据报文匹配命中所述引导流表条目,具体包括:
[0082] 所述数据报文的源地址为所述私网地址网段中的一个。
[0083] 进一步地,
[0084] 所述流表模板定义的流表条目生成规则为由用户侧发往网络侧的报文的地址转 换规则;
[0085] 所述生成模块用于根据所述流表模板定义的流表条目生成规则和所述数据报文 的关键字段信息生成流表条目,具体包括:
[0086] 所述生成模块用于生成所述流表条目;其中,所述流表条目的匹配规则包括:所 述数据报文的私网地址,Actions包括将所述私网地址转换为分配的公网地址,并通过对应 出接口发送转换后的报文。
[0087] 进一步地,
[0088] 所述接收模块还用于接收所述Openflow控制器发来的第二流表模板;
[0089] 其中,所述第二流表模板与所述流表模板级联,所述第二流表模板定义的流表条 目生成规则为由网络侧发往所述用户侧的报文的地址转换规则。
[0090] 进一步地,
[0091] 所述生成模块还用于根据生成的所述流表条目,结合所述第二流表模板生成所述 第二流表条目;
[0092] 其中,所述第二流表条目的匹配规则包括:所述分配的公网地址,Action信息为 将所述公网地址转换为对应的私网地址,并通过对应出接口发送转换后的报文。
[0093] 进一步地,
[0094] 所述私网地址包括:私网IP地址;
[0095] 所述公网地址包括:公网IP地址,或者,公网IP地址及端口信息。
[0096] 进一步地,
[0097] 所述发送模块还用于将生成的所述第二流表条目通过流条目添加消息发送给所 述Openflow控制器。
[0098] 相应地,本发明还提供了一种开放流(Openflow)控制器,包括:
[0099] 存储模块,用于保存预配置的引导流表条目和流表模板;其中,所述引导流表条目 的动作(Action)信息包括预设置的所述流表模板ID ;
[0100] 发送模块,用于向Openf low转发设备发送所述存储模块保存的所述引导流表条 目和流表模板。
[0101] 进一步地,
[0102] 所述引导流表条目的匹配规则包括:目的地址为受保护设备的IP地址;和/或,
[0103] 所述流表模板定义的流表条目生成规则为对任一源IP地址向所述受保护设备发 送的报文进行限速。
[0104] 进一步地,所述控制器还包括:
[0105] 接收模块,用于接收所述Openflow转发设备通过流条目添加消息发来的流表条 目;
[0106] 所述发送模块,还用于在接收模块接收到所述流表条目后,向所述Openflow转发 设备发送拒绝消息,要求所述Openflow转发设备删除根据所述流表模板生成的所述流表 条目;或者,还用于在接收模块接收到所述流表条目后,向所述Openflow转发设备发送更 高优先级的流表条目。
[0107] 进一步地,
[0108] 所述引导流表条目的匹配规则包括源地址为用户的私网地址网段;和/或,
[0109] 所述流表模板定义的流表条目生成规则为由用户侧发往网络侧的报文的地址转 换规则。
[0110] 进一步地,
[0111] 所述私网地址网段包括:私网IP地址。
[0112] 进一步地,
[0113] 所述发送模块还用于向所述Openflow转发设备发送第二流表模板;其中,所述第 二流表模板与所述流表模板级联,所述第二流表模板定义的流表条目生成规则为由网络侧 发往所述用户侧的报文的地址转换规则。
[0114] 本发明实现了在Openflow转发设备上根据流表条目模板生成流表条目的功能, 增强了 Openflow协议的安全性,同时扩展了 Openflow/SDN网络的应用场景和实用性。

【专利附图】

【附图说明】
[0115] 图1是现有技术中SDN/OpenFlow网络的拓扑示意图;
[0116] 图2是现有技术一种网络拓扑示意图;
[0117] 图3是本发明实施例中流表条目生成方法流程示意图;
[0118] 图4是本发明的第一实施例的拓扑示意图;
[0119] 图5是本发明的第一实施例的流程图;
[0120] 图6是本发明的第二实施例的拓扑示意图;
[0121] 图7是本发明的第二实施例的流程图;
[0122] 图8是本发明的第三实施例的拓扑示意图;
[0123] 图9是本发明的第三实施例的流程图;

【具体实施方式】
[0124] 为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明 的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中 的特征可以相互任意组合。
[0125] 在本实施例中,一种流表条目生成方法,应用于Openflow转发设备,如图3所示, 包括:
[0126] 接收Openf low控制器发来的引导流表条目和流表模板;其中,所述引导流表条目 的Action信息包括预设置的所述流表模板ID ;
[0127] 在接收到数据报文后,如果所述数据报文匹配命中所述引导流表条目,则根据所 述引导流表条目的Action信息中预设置的所述流表模板ID查找对应的流表模板,并根据 所述对应的流表模板定义的流表条目生成规则和所述数据报文的关键字段信息生成流表 条目。
[0128] 较佳地,所述方法还包括:
[0129] 将生成的所述流表条目通过扩展的流条目添加消息发送给所述Openflow控制 器。
[0130] 较佳地,
[0131] 所述将生成的所述流表条目通过所述流条目添加消息发送给所述Openf low控制 器,具体包括:
[0132] 所述Openflow转发设备通过所述流条目添加消息实时或批量发送所述流表条目 的信息。
[0133] 较佳地,所述方法还包括:
[0134] 按照生成的所述流表条目对所述数据报文进行处理转发。
[0135] 较佳地,
[0136] 所述引导流表条目的匹配规则包括:目的地址为受保护设备的IP地址;
[0137] 所述数据报文匹配命中所述引导流表条目,具体包括:
[0138] 所述数据报文的目的地址为所述受保护设备的IP地址。
[0139] 较佳地,
[0140] 所述流表模板定义的流表条目生成规则为对任一源IP地址向所述受保护设备发 送的报文进行限速;
[0141] 所述根据所述流表模板定义的流表条目生成规则和所述数据报文的关键字段信 息生成流表条目,具体包括:
[0142] 生成所述流表条目;其中,所述流表条目的匹配规则包括:源IP地址为所述数据 报文的源IP地址、目的IP地址为所述受保护设备的IP地址,Action信息为向所述受保护 设备发送与本匹配规则相匹配的数据报文并利用测量表条目限制发送速率。
[0143] 较佳地,
[0144] 所述引导流表条目的匹配规则包括源地址为一类用户的私网地址网段;
[0145] 所述数据报文匹配命中所述引导流表条目,具体包括:
[0146] 所述数据报文的源地址为所述私网地址网段中的一个。
[0147] 较佳地,
[0148] 所述流表模板定义的流表条目生成规则为由用户侧发往网络侧的报文的地址转 换规则;
[0149] 所述根据所述流表模板定义的流表条目生成规则和所述数据报文的关键字段信 息生成流表条目,具体包括:
[0150] 生成所述流表条目;其中,所述流表条目的匹配规则包括:所述数据报文的私网 地址,Actions包括将所述私网地址转换为分配的公网地址,并通过对应出接口发送转换后 的报文。
[0151] 较佳地,所述方法还包括:
[0152] 接收所述Openflow控制器发来的第二流表模板;其中,所述第二流表模板与所述 流表模板级联,所述第二流表模板定义的流表条目生成规则为由网络侧发往所述用户侧的 报文的地址转换规则。
[0153] 较佳地,所述方法还包括:
[0154] 根据生成的所述流表条目,结合所述第二流表模板生成所述第二流表条目;
[0155] 其中,所述第二流表条目的匹配规则包括:所述分配的公网地址,Action信息为 将所述公网地址转换为对应的私网地址,并通过对应出接口发送转换后的报文。
[0156] 较佳地,
[0157] 所述私网地址包括:私网IP地址;
[0158] 所述公网地址包括:公网IP地址,或者,公网IP地址及端口信息。
[0159] 较佳地,所述方法还包括:
[0160] 将生成的所述第二流表条目通过流条目添加消息发送给所述Openflow控制器。
[0161] 此外,本发明还提供了一种流表条目生成方法,应用于开放流(Openflow)控制器, 包括:
[0162] 向Openflow转发设备发送引导流表条目和流表模板;其中,所述引导流表条目的 动作(Action)信息包括预设置的所述流表模板ID。
[0163] 较佳地,
[0164] 所述引导流表条目的匹配规则包括:目的地址为受保护设备的IP地址;和/或,
[0165] 所述流表模板定义的流表条目生成规则为对任一源IP地址向所述受保护设备发 送的报文进行限速。
[0166] 较佳地,所述方法还包括:
[0167] 在接收到所述Openflow转发设备通过流条目添加消息发来的流表条目后,
[0168] 所述Openflow控制器不回复所述流条目添加消息,表示接受所述Openflow转发 设备根据所述流表模板生成的所述本地流表条目;或者,
[0169] 所述Openflow控制器向所述Openflow转发设备发送拒绝消息,要求所述 Openf low转发设备删除根据所述流表模板生成的所述流表条目;或者,
[0170] 所述Openflow控制器向所述Openflow转发设备发送更高优先级的流表条目。
[0171] 较佳地,
[0172] 所述引导流表条目的匹配规则包括源地址为用户的私网地址网段;和/或,
[0173] 所述流表模板定义的流表条目生成规则为由用户侧发往网络侧的报文的地址转 换规则。
[0174] 较佳地,
[0175] 所述私网地址网段包括:私网IP地址。
[0176] 较佳地,所述方法还包括:
[0177] 向所述Openflow转发设备发送第二流表模板;其中,所述第二流表模板与所述流 表模板级联,所述第二流表模板定义的流表条目生成规则为由网络侧发往所述用户侧的报 文的地址转换规则。
[0178] 本实施例所述方法在二层网络设备不支持IPv6安全RA (Random Access,随机接 入)特性的情况下,可实现对IPv6主机恶意发送RA消息造成网关欺骗行为的防范。
[0179] 下面分别介绍本发明在不同应用场景下的三个实施例。
[0180] 实施例一
[0181] 以Openflow控制器的攻击防范、Openf low转发设备的硬件架构以ASIC转发平面 和CPU控制平面的组合为例,组网示意图参见图4,详细流程如图5所示,包括:
[0182] 步骤101 =Openflow控制器配置本地安全策略,防范TCP半连接攻击;
[0183] 步骤102 :0penflow控制器根据本地安全策略向各Openflow转发设备发送引导流 表条目Xl和流表模板Yl。
[0184] 较佳地,引导流表条目Xl的匹配规则为目的地址为Openflow控制器的IP地址、 报文类型为TCP或TCP SYN (synchronize,同步),引导流表条目的Action (动作)为查询 流表模板Yl,流表模板Yl定义的流表条目生成规则为限制任一源IP地址向Openf low控制 器发送的TCP或TCP SYN报文的速率。
[0185] 较佳地,所述Openflow转发设备收到所述引导流表条目Xl和流表模板Yl后,将 引导流表条目Xl下发到ASIC转发平面,将流表模板Yl保存在CPU控制平面。
[0186] 步骤103 :攻击源Al以一定速率向Openflow控制器发送TCP SYN报文,形成TCP 半连接类型的网络攻击;
[0187] 步骤104 :0penflow转发设备接收到攻击源Al发送的第一个TCP SYN报文后,匹 配流表命中引导流表条目Xl后,根据Xl的Action动作查询流表模板Y1,根据Yl定义的流 表条目生成规则和所述攻击报文的源IP地址生成流表条目Zl ;
[0188] 较佳地,所述Openflow转发设备的ASIC转发平面命中所述引导流表条目Xl后, 向CPU控制平面上送该报文和该流表模板Yl的ID,CPU控制平面根据上述信息查询流表模 板、根据流表模板定义的规则生成流表条目Zl并下发给ASIC转发平面。
[0189] 较佳地,流表条目Zl的匹配规则包括:源IP地址为上述TCP SYN报文的源IP地 址、目的IP地址为Openflow控制器的IP地址、报文类型为TCP或TCP SYN,Action动作为 向Openflow控制器发送匹配该匹配规则的报文并限制报文的发送速率。
[0190] 步骤105 :0penflow转发设备根据流表条目Zl将所述攻击源Al发出的TCP SYN 报文发送给Openflow控制器并限制该报文的发送速率,并向Openflow控制器发送流条目 添加消息,将Zl定义的流表条目生成规则通知给Openflow控制器。
[0191] 较佳地,若攻击源的发送速率高于流表条目Zl的限制速率,Openflow转发设备对 超出速率的报文进行缓存或丢弃;
[0192] 较佳地,Openflow控制器在收到所述TCP SYN报文后,若判断其为攻击报文,则向 Openf low转发设备发送更高优先级的流表条目,该流表条目的匹配规则包括:源IP地址为 上述TCP SYN报文的源IP地址、目的IP地址为Openflow控制器的IP地址、报文类型为 TCP,Action动作为丢弃匹配该匹配规则的报文;Openf low转发设备在收到该流表条目,对 后续收到的报文会优先采用该更高优先级的流表条目进行匹配。
[0193] 此外,Openflow控制器在收到上述流条目添加消息后,将其中携带的Zl定义的流 表条目生成规则进行保存,并可能下发给其他Openf low转发设备。
[0194] 较佳地,流表模板的格式根据Openflow协议的版本不同略有区别,参考的实例格 式如表1所示。
[0195] 表1流表模板基本格式

【权利要求】
1. 一种流表条目生成方法,应用于开放流(Openflow)转发设备,包括: 接收Openflow控制器发来的引导流表条目和流表模板;其中,所述引导流表条目的动 作(Action)信息包括预设置的所述流表模板ID; 在接收到数据报文后,如果所述数据报文匹配命中所述引导流表条目,则根据所述引 导流表条目的Action信息中预设置的所述流表模板ID查找对应的流表模板,并根据所述 对应的流表模板定义的流表条目生成规则和所述数据报文的关键字段信息生成流表条目。
2. 如权利要求1所述的方法,其特征在于,还包括: 将生成的所述流表条目通过扩展的流条目添加消息发送给所述Openflow控制器。
3. 如权利要求2所述的方法,其特征在于: 所述将生成的所述流表条目通过所述流条目添加消息发送给所述Openflow控制器, 具体包括: 所述Openflow转发设备通过所述流条目添加消息实时或批量发送所述流表条目的信 肩、。
4. 如权利要求1?3中任意一项所述的方法,其特征在于,还包括: 按照生成的所述流表条目对所述数据报文进行处理转发。
5. 如权利要求1?3中任意一项所述的方法,其特征在于: 所述引导流表条目的匹配规则包括:目的地址为受保护设备的IP地址; 所述数据报文匹配命中所述引导流表条目,具体包括: 所述数据报文的目的地址为所述受保护设备的IP地址。
6. 如权利要求5所述的方法,其特征在于: 所述流表模板定义的流表条目生成规则为对任一源IP地址向所述受保护设备发送的 报文进行限速; 所述根据所述流表模板定义的流表条目生成规则和所述数据报文的关键字段信息生 成流表条目,具体包括: 生成所述流表条目;其中,所述流表条目的匹配规则包括:源IP地址为所述数据报文 的源IP地址、目的IP地址为所述受保护设备的IP地址,Action信息为向所述受保护设备 发送与本匹配规则相匹配的数据报文并利用测量表条目限制发送速率。
7. 如权利要求1?3中任意一项所述的方法,其特征在于: 所述引导流表条目的匹配规则包括源地址为一类用户的私网地址网段; 所述数据报文匹配命中所述引导流表条目,具体包括: 所述数据报文的源地址为所述私网地址网段中的一个。
8. 如权利要求7所述的方法,其特征在于: 所述流表模板定义的流表条目生成规则为由用户侧发往网络侧的报文的地址转换规 则; 所述根据所述流表模板定义的流表条目生成规则和所述数据报文的关键字段信息生 成流表条目,具体包括: 生成所述流表条目;其中,所述流表条目的匹配规则包括:所述数据报文的私网地址,Actions包括将所述私网地址转换为分配的公网地址,并通过对应出接口发送转换后的报 文。
9. 如权利要求8所述的方法,其特征在于,还包括: 接收所述Openflow控制器发来的第二流表模板;其中,所述第二流表模板与所述流表 模板级联,所述第二流表模板定义的流表条目生成规则为由网络侧发往所述用户侧的报文 的地址转换规则。
10. 如权利要求9所述的方法,其特征在于,还包括: 根据生成的所述流表条目,结合所述第二流表模板生成所述第二流表条目; 其中,所述第二流表条目的匹配规则包括:所述分配的公网地址,Action信息为将所 述公网地址转换为对应的私网地址,并通过对应出接口发送转换后的报文。
11. 如权利要求7、8或10所述的方法,其特征在于: 所述私网地址包括:私网IP地址; 所述公网地址包括:公网IP地址,或者,公网IP地址及端口信息。
12. 如权利要求10所述的方法,其特征在于,还包括: 将生成的所述第二流表条目通过流条目添加消息发送给所述Openflow控制器。
13. -种流表条目生成方法,应用于开放流(Openflow)控制器,包括: 向Openflow转发设备发送引导流表条目和流表模板;其中,所述引导流表条目的动作 (Action)信息包括预设置的所述流表模板ID。
14. 如权利要求13所述的方法,其特征在于: 所述引导流表条目的匹配规则包括:目的地址为受保护设备的IP地址;和/或, 所述流表模板定义的流表条目生成规则为对任一源IP地址向所述受保护设备发送的 报文进行限速。
15. 如权利要求13所述的方法,其特征在于,还包括: 在接收到所述Openflow转发设备通过流条目添加消息发来的流表条目后, 所述Openflow控制器不回复所述流条目添加消息,表示接受所述Openflow转发设备 根据所述流表模板生成的所述本地流表条目;或者, 所述Openflow控制器向所述Openflow转发设备发送拒绝消息,要求所述Openflow转 发设备删除根据所述流表模板生成的所述流表条目;或者, 所述Openflow控制器向所述Openflow转发设备发送更高优先级的流表条目。
16. 如权利要求13所述的方法,其特征在于: 所述引导流表条目的匹配规则包括源地址为用户的私网地址网段;和/或, 所述流表模板定义的流表条目生成规则为由用户侧发往网络侧的报文的地址转换规 则。
17. 如权利要求16所述的方法,其特征在于: 所述私网地址网段包括:私网IP地址。
18. 如权利要求16所述的方法,其特征在于,还包括: 向所述Openflow转发设备发送第二流表模板;其中,所述第二流表模板与所述流表模 板级联,所述第二流表模板定义的流表条目生成规则为由网络侧发往所述用户侧的报文的 地址转换规则。 19?一种开放流(Openflow)转发设备,包括: 接收模块,用于接收Openflow控制器发来的引导流表条目和流表模板;其中,所述引 导流表条目的动作(Action)信息包括预设置的所述流表模板ID;还用于接收数据报文; 生成模块,用于在所述接收模块接收到所述数据报文后,如果所述数据报文匹配命中 所述接收模块接收到的所述引导流表条目,则根据所述引导流表条目的Action信息中预 设置的所述流表模板ID查找对应的流表模板,并根据所述对应的流表模板定义的流表条 目生成规则和所述数据报文的关键字段信息生成流表条目。
20. 如权利要求19所述的设备,其特征在于,还包括: 发送模块,用于将所述生成模块生成的所述流表条目通过扩展的流条目添加消息发送 给所述Openflow控制器。
21. 如权利要求19或20所述的设备,其特征在于,还包括: 发送模块,用于按照所生成模块生成的所述流表条目对所述数据报文进行处理转发。
22. 如权利要求19或20所述的设备,其特征在于: 所述引导流表条目的匹配规则包括:目的地址为受保护设备的IP地址; 所述数据报文匹配命中所述引导流表条目,具体包括: 所述数据报文的目的地址为所述受保护设备的IP地址。
23. 如权利要求22所述的设备,其特征在于: 所述流表模板定义的流表条目生成规则为对任一源IP地址向所述受保护设备发送的 报文进行限速; 所述生成模块用于根据所述流表模板定义的流表条目生成规则和所述数据报文的关 键字段信息生成流表条目,具体包括: 所述生成模块用于生成所述流表条目;其中,所述流表条目的匹配规则包括:源IP地 址为所述数据报文的源IP地址、目的IP地址为所述受保护设备的IP地址,Action信息为 向所述受保护设备发送与本匹配规则相匹配的数据报文并利用测量表条目限制发送速率。
24. 如权利要求19或20所述的设备,其特征在于: 所述引导流表条目的匹配规则包括源地址为一类用户的私网地址网段; 所述数据报文匹配命中所述引导流表条目,具体包括: 所述数据报文的源地址为所述私网地址网段中的一个。
25. 如权利要求24所述的设备,其特征在于: 所述流表模板定义的流表条目生成规则为由用户侧发往网络侧的报文的地址转换规 则; 所述生成模块用于根据所述流表模板定义的流表条目生成规则和所述数据报文的关 键字段信息生成流表条目,具体包括: 所述生成模块用于生成所述流表条目;其中,所述流表条目的匹配规则包括:所述数 据报文的私网地址,Actions包括将所述私网地址转换为分配的公网地址,并通过对应出接 口发送转换后的报文。
26. 如权利要求25所述的设备,其特征在于: 所述接收模块还用于接收所述Openflow控制器发来的第二流表模板; 其中,所述第二流表模板与所述流表模板级联,所述第二流表模板定义的流表条目生 成规则为由网络侧发往所述用户侧的报文的地址转换规则。
27. 如权利要求26所述的设备,其特征在于: 所述生成模块还用于根据生成的所述流表条目,结合所述第二流表模板生成所述第二 流表条目; 其中,所述第二流表条目的匹配规则包括:所述分配的公网地址,Action信息为将所 述公网地址转换为对应的私网地址,并通过对应出接口发送转换后的报文。
28. 如权利要求24、25或27所述的设备,其特征在于: 所述私网地址包括:私网IP地址; 所述公网地址包括:公网IP地址,或者,公网IP地址及端口信息。
29. 如权利要求28所述的设备,其特征在于: 所述发送模块还用于将生成的所述第二流表条目通过流条目添加消息发送给所述 Openflow控制器。 30?-种开放流(Openflow)控制器,包括: 存储模块,用于保存预配置的引导流表条目和流表模板;其中,所述引导流表条目的动 作(Action)信息包括预设置的所述流表模板ID; 发送模块,用于向Openflow转发设备发送所述存储模块保存的所述引导流表条目和 流表模板。
31. 如权利要求30所述的控制器,其特征在于: 所述引导流表条目的匹配规则包括:目的地址为受保护设备的IP地址;和/或, 所述流表模板定义的流表条目生成规则为对任一源IP地址向所述受保护设备发送的 报文进行限速。
32. 如权利要求30所述的控制器,其特征在于,还包括: 接收模块,用于接收所述Openflow转发设备通过流条目添加消息发来的流表条目; 所述发送模块,还用于在接收模块接收到所述流表条目后,向所述Openflow转发设备 发送拒绝消息,要求所述Openflow转发设备删除根据所述流表模板生成的所述流表条目; 或者,还用于在接收模块接收到所述流表条目后,向所述Openflow转发设备发送更高优先 级的流表条目。
33. 如权利要求30所述的控制器,其特征在于: 所述引导流表条目的匹配规则包括源地址为用户的私网地址网段;和/或, 所述流表模板定义的流表条目生成规则为由用户侧发往网络侧的报文的地址转换规 则。
34. 如权利要求33所述的控制器,其特征在于: 所述私网地址网段包括:私网IP地址。
35. 如权利要求33所述的控制器,其特征在于: 所述发送模块还用于向所述Openflow转发设备发送第二流表模板;其中,所述第二流 表模板与所述流表模板级联,所述第二流表模板定义的流表条目生成规则为由网络侧发往 所述用户侧的报文的地址转换规则。
【文档编号】H04L12/741GK104378298SQ201310359664
【公开日】2015年2月25日 申请日期:2013年8月16日 优先权日:2013年8月16日
【发明者】梁乾灯, 范亮, 尤建洁, 韩杰 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1