CN104639438A - 一种OpenFlow网络中数据流的新标识和控制方法 - Google Patents
一种OpenFlow网络中数据流的新标识和控制方法 Download PDFInfo
- Publication number
- CN104639438A CN104639438A CN201510004954.4A CN201510004954A CN104639438A CN 104639438 A CN104639438 A CN 104639438A CN 201510004954 A CN201510004954 A CN 201510004954A CN 104639438 A CN104639438 A CN 104639438A
- Authority
- CN
- China
- Prior art keywords
- network
- data
- switch
- openflow
- data flow
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种OpenFlow网络中数据流的新标识和控制方法,称为源端控制的OpenFlow,简记为SCOF,属于数据通信网领域。其特征是通过接入交换机中的扩展流表项,来标识和控制网络中的数据流,数据包转发采用了称为向量地址的特殊标识地址。不同于典型OpenFlow,网络内部的转发交换机不需要流表项来实现查表转发。SCOF可以显著的节省网络转发交换机的流表存储器资源,极大的提高网络可扩展性,降低了OpenFlow网络中数据流建立和更新的控制信令复杂度,提高了网络安全性。
Description
技术领域:
本发明涉及数据通信网领域,特别的是关于在OpenFlow网络中的数据流的新标识和控制方法。
背景技术:
软件定义网络SDN的基础思想是控制面和数据面相分离,它将网络设备抽象为应用程序接口提供给应用层,构建了可编程和集中控制的网络环境。OpenFlow是第一个符合SDN要求的网络接口规范。它把网络划分为以OpenFlow控制器(OF-C)为代表的控制面、以OpenFlow交换机(OF-S)为代表的数据面和OpenFlow协议。控制面通过OpenFlow协议,对数据面的流表(Flow Table)进行添加、删除和更新等操作,从而实现对网络中数据流的控制。
OpenFlow交换机依据本地存储的流表匹配数据包并进行转发。为了实现快速查表,流表通常采用TCAM来进行存储和查找。TCAM是一种三态内容寻址存储器,可以实现高速并行查找,并且支持掩码形式的通配符。TCAM可以在一个查找周期内完成整个表的匹配,具有查找速度快、指令操作简单的优点,因此广泛应用于路由和ACL中。然而它也存在以下缺陷:(i)TCAM存储容量有限,较大的TCAM芯片容量仅为36Mb,一般交换机采用的TCAM容量更小;(ii)TCAM要求将包分类规则转换为三元格式,这带来了范围扩张问题(range expansion problem[5]),经过格式转换后TCAM表项数量大大增加,w bits表示的范围转换为前缀规则,在最坏情况下需要2w-2条表项,加重了对TCAM存储容量的压力;(iii)TCAM价格高昂,耗能高,每Mb耗能约是SRAM的30倍,随之带来了散热的问题。这些问题使得采用TCAM的OpenFlow交换机流表存储容量有限,限制了其可扩展性,无法适用于大规模的网络环境。
可以看到,OpenFlow交换机依据流表查找转发的特性是限制其大规模应用的一个重要因素。在OpenFlow中,网络根据交换机中的流表和包头共同标识一条数据传输路径,流表在数据转发过程中必不可少。网络地址和路径标识是造成OpenFlow数据面可扩展性问题的一个根源。
传统分组交换网有两种类型的网络地址编码方式:①以网络节点为地址编码对象,如IP网,为每个节点分配一个地址;②以节点间的虚链路为地址编码对象,如MPLS、ATM。这两类地址编码均不能独立标识一条网络路径,例如在IP网中,网络路径由包头IP地址和路由器中的路由表共同表示,在MPLS中,网络路径由包头的交换标签和路由器中的标签转发表LFIB共同表示。OpenFlow中数据流的转发路径由数据包和交换机中的流表共同表示,因此其数据面转发行为同时依赖于数据包特征字段和流表。
中国发明专利《一种向量网络地址编码方法》(申请号200610089302.6,公开号CN1866972)[1]给出一种向量网络地址,简称向量地址,它是一种源路由地址。这种地址编码方法不对节点和虚链路编码,而是对交换机的端口进行编码,交换机为其拥有的网络端口依次分配一个本地序号(Port Index,PI)。将通信路径上交换机的相应本地序号依次组合而成的序列,称为向量地址。将向量地址应用于OpenFlow数据面交换中,即可定义边沿交换机中的扩展流表项。
发明内容:
针对OpenFlow交换机流表存储能力有限,网络可扩展性不好的问题,本发明根据一种 新的网络地址——向量地址,提出了一种OpenFlow网络中数据流的新标识和控制方法,称为源端控制的OpenFlow,即SCOF。
在SCOF网络模型中,网络中的OpenFlow交换机分为两种,一种是用户终端的接入交换机,一种是除了接入交换机之外的转发交换机。SCOF中的网络数据流,由接入交换机中的扩展流表项集中式地确定,即通过一个扩展流表项,即可唯一的标识一个网络流的数据传输路径。在数据流建立时,扩展流表项通过OpenFlow controller下发到接入交换机中。
扩展流表项具体由用户地址和向量地址组成。用户地址是用户数据包的特征标识地址,当接入交换机收到终端发来的数据包,根据包头中的用户地址查找流表。若查找命中,取出流表项中向量地址VA。VA可以独立的定义一条数据交换路径。接入交换机将VA封装入用户数据包中,形成向量数据包,并转发到相应的输出端口,交给路径下一跳的转发交换机。
数据流路径上除了接入交换机以外的转发交换机则是在OpenFlow交换机基础上,加入了支持向量交换功能。向量交换就是依据向量地址VA,进行的数据包转发过程。转发交换机依据向量数据包中的VA,实现源路由式的数据转发。当数据包沿着VA表示的路径到达接收终端的接入交换机时,接入交换机根据原始数据包的用户地址,查找流表,找到要送达的用户终端,完成转发过程。
本发明实施例提供的技术方案的有益效果是:
首先,网络内部的OpenFlow交换机的流表可以省略,数据交换不需要查表,使得OpenFlow交换机不必采用TCAM进行流表存储和查找,从而降低了交换机复杂度和成本,研究表明新方法消耗的硬件资源约为一般OpenFlow交换机的30%;其次,SCOF简化了OpenFlow的流表更新过程,新的数据流建立时只需要为接入交换机下载流表项,不需要为网络内部的交换机下载流表项,使得流表更新所需的控制信令数量减少约70%。
附图说明:
图1是SCOF网络组成结构;
图2是IP终端时扩展流表项中用户地址的结构;
图3是MPLS终端时扩展流表项中用户地址的结构;
图4是向量数据包格式。
具体实施方式:
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
如图1,SCOF网络由终端机、接入交换机(OF-S)、转发交换机(Vector Switch,VS)和OpenFlow控制器(OF-C)组成。
●OF-S是接入交换机(图1中的A和B),它连接了终端机和VS,负责路由请求、向量数据包和用户数据包(如IP、MPLS)的转换等;
●VS是支持向量交换的OpenFlow交换机。它位于SCOF网络核心,负责高速数据转发,采用向量交换方式,在包转发过程中,不需要查表,因此相比于OF-S,VS不需要维护流表;
●OF-C负责响应OF-S的路由请求,完成路由的计算,提供VA,并下发和维护OF-S中的流表项。另外,负责网络的拓扑搜集、交换机资源管理和路径表示等。
●终端机:网络的用户终端可以是IP终端,MPLS终端等。根据终端类型不同,扩展流表项中的用户地址不尽相同。
以图1为例,详细说明SCOF网络的组成结构。在图1所示的网络中,PC1和PC2是2 台IP终端,A和B是2台接入交换机,C至G是5台转发交换机,OF-C是OpenFlow控制器。
(1)OpenFlow接入交换机
OF-S作为边沿网关,负责连接用户和核心网的VS。它的任务有①查找流表,实现向量包和其它类型数据包之间的转换;②收到新的数据流时,启动路由过程,向OF-C发出路由请求。通过OF-S,SCOF网络可以提供对IP、MPLS等各种类型终端机的支持。
OF-S中的流表项与OpenFlow标准相比,在Instructions字段中增加了向量包的封装和解封操作。当它收到源终端发来的原始数据包,首先根据用户地址在扩展流表中进行查找。若命中,则根据相应表项的Instructions在原始数据包头处添加Head+VA(Head是向量包的包头标记),从而将数据包封装为向量包,并转发至相应输出端口;若查表未命中,则OF-S向OF-C发出一条路由请求消息,控制器经过路由得到一条新的扩展流表项(其中包含了路径信息,以VA形式标识),配置到OF-S中,指示其如何处理此包。
另一方面,当OF-S收到经过VS从核心网发来的向量包,此时包头中的VA地址已经在转发过程中全部消耗,去除包头的Head字段,将向量包解封为原始数据包,查找用户地址,最终交付到目的终端机。
(2)转发交换机
原始数据包经过接入交换机的封装,转换为向量数据包,进入核心网。VS之间进行向量交换,当VS收到向量包,不再查找流表,而是根据向量交换方法进行转发。
在OpenFlow中,当一条新的数据流出现,途径的OF-S都需要增加流表项。在核心网中,随着数据流的汇聚,OF-S有限的流表存储容量往往不能满足需求,这就形成了瓶颈。而在SCOF中,当一条新的数据流出现,只需要在边沿网关OF-S上配置一条流表项记录,而核心网中的VS不需要增加。即网络数据流的复杂度不会增加交换机表项存储和查找代价,使得VS克服了OF-S流表存储存储容量的限制,因此具有在大规模网络中部署应用的能力,如数据中心、骨干网等流量很大的网络。同时由于VS在转发中不需要查表,从而避免了使用TCAM存储器带来的成本、能耗和散热等问题,简化了交换机结构,降低了其复杂度。
(3)OpenFlow控制器
在SCOF控制面中,OpenFlow控制器负责管理网络中的交换机,搜集网络拓扑,进行路由响应,并下发和维护接入交换机中的扩展流表项。
OF-C维护全局网络拓扑,在路由程序的支持下,响应OF-S的路由请求,生成新的流表项并通过OpenFlow通道配置到OF-S中。流表项中包含用户地址和相应的向量地址VA。OF-C和OF-S之间运行的是标准OpenFlow协议,在图1中以虚线形式表示其信令通道。
OF-C和VS之间只需要实现OpenFlow协议中的拓扑搜集和控制管理部分信令即可,由于VS不需要查表转发数据,所以OF-C省去了给VS下发和维护流表项的工作,这样相比标准的OpenFlow交换机信令处理能力得到了简化。在图1中以点划线形式表示其信令通道。
(4)用户地址的类型和向量包的封装
根据用户终端的类型不同,详细说明在IP终端和MPLS终端两种情况下,扩展流表项中的用户地址和向量数据包的封装格式。
若终端为IP终端,则根据流的分辨粒度不同,用户地址可以从只有目的IP地址到包含二三四层地址的十元组匹配。本例中假设根据源和目的IP,源和目的TCP端口号来分辨数据流。则扩展流表项包含内容如图2所示。
若终端为MPLS终端,本例中只根据最外层的MPLS包头来分辨。扩展流表项包含内容如图3所示。
当接入交换机根据用户地址完成扩展流表的查找,取得VA后,将一个向量包头和VA封装入原始数据包中,形成向量数据包,其封装格式如图4所示。图中PIn是向量地址VA的分量形式,PIi{i=1,2,3…..,n}组合而成向量地址VA。
Claims (4)
1.一种OpenFlow网络中数据流的新标识和控制方法,称为SCOF,其特征是集中式地给接入交换机下发一种扩展流表项,数据流路径上除了接入交换机以外的转发交换机加入一种特殊交换功能,能够依据数据包中的特殊标识实现数据转发。
2.如权利要求1所述的OpenFlow网络中数据流的新标识方法,其特征在于:网络中的数据流,由接入交换机的扩展流表项集中式地确定,即根据接入交换机中的扩展流表项,即可唯一的标识一条数据流通信路径。
3.如权利要求2所述的OpenFlow网络中数据流的新标识方法,其特征在于:扩展流表项具体由用户地址和特殊标识构成。当接入交换机收到用户终端发来的数据包,根据包头的用户地址,查找扩展流表,得到相应的特殊标识,并插入到数据包头中作为交换标签。
4.如权利要求1所述的OpenFlow网络中数据流的新控制方法,其特征在于:所述数据包中的特殊标识即向量地址VA,VA是一种新的网络路径标识,封装在数据包头中,实现源路由式的数据转发,转发交换机的特殊交换功能就是根据VA进行向量交换,完成数据包转发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510004954.4A CN104639438A (zh) | 2015-01-05 | 2015-01-05 | 一种OpenFlow网络中数据流的新标识和控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510004954.4A CN104639438A (zh) | 2015-01-05 | 2015-01-05 | 一种OpenFlow网络中数据流的新标识和控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104639438A true CN104639438A (zh) | 2015-05-20 |
Family
ID=53217772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510004954.4A Pending CN104639438A (zh) | 2015-01-05 | 2015-01-05 | 一种OpenFlow网络中数据流的新标识和控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104639438A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495314A (zh) * | 2018-12-07 | 2019-03-19 | 达闼科技(北京)有限公司 | 云端机器人的通信方法、装置、介质及电子设备 |
CN111131084A (zh) * | 2019-12-06 | 2020-05-08 | 湖南工程学院 | 一种QoS感知的OpenFlow流表分级存储架构及应用 |
CN112699640A (zh) * | 2021-03-23 | 2021-04-23 | 城云科技(中国)有限公司 | 基于PostgreSQL的地理编码方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1866972A (zh) * | 2006-06-16 | 2006-11-22 | 北京交通大学 | 一种向量网络地址编码方法 |
CN101729609A (zh) * | 2009-12-03 | 2010-06-09 | 北京交通大学 | 一种向量包定义及其向量交换实现方法 |
CN101783775A (zh) * | 2009-12-25 | 2010-07-21 | 北京交通大学 | 一种向量网和ip网的网关方式互连方法 |
CN102546351A (zh) * | 2012-03-15 | 2012-07-04 | 北京邮电大学 | openflow网络和现有IP网络互联的系统和方法 |
CN103329488A (zh) * | 2011-01-13 | 2013-09-25 | 日本电气株式会社 | 网络系统和路由控制方法 |
-
2015
- 2015-01-05 CN CN201510004954.4A patent/CN104639438A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1866972A (zh) * | 2006-06-16 | 2006-11-22 | 北京交通大学 | 一种向量网络地址编码方法 |
CN101729609A (zh) * | 2009-12-03 | 2010-06-09 | 北京交通大学 | 一种向量包定义及其向量交换实现方法 |
CN101783775A (zh) * | 2009-12-25 | 2010-07-21 | 北京交通大学 | 一种向量网和ip网的网关方式互连方法 |
CN103329488A (zh) * | 2011-01-13 | 2013-09-25 | 日本电气株式会社 | 网络系统和路由控制方法 |
CN102546351A (zh) * | 2012-03-15 | 2012-07-04 | 北京邮电大学 | openflow网络和现有IP网络互联的系统和方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495314A (zh) * | 2018-12-07 | 2019-03-19 | 达闼科技(北京)有限公司 | 云端机器人的通信方法、装置、介质及电子设备 |
CN111131084A (zh) * | 2019-12-06 | 2020-05-08 | 湖南工程学院 | 一种QoS感知的OpenFlow流表分级存储架构及应用 |
CN111131084B (zh) * | 2019-12-06 | 2022-06-07 | 长沙师范学院 | 一种QoS感知的OpenFlow流表查找方法 |
CN112699640A (zh) * | 2021-03-23 | 2021-04-23 | 城云科技(中国)有限公司 | 基于PostgreSQL的地理编码方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105376154B (zh) | 渐进式mac地址学习 | |
CN100448216C (zh) | 实现多协议标签交换系统中的业务工程功能的方法 | |
CN100596107C (zh) | 报文转发方法以及自治系统边界路由器 | |
CN104168170B (zh) | 封包交换装置及方法 | |
CN100407701C (zh) | 一种网络处理器 | |
CN105812340B (zh) | 一种虚拟网络访问外网的方法和装置 | |
CN104717098B (zh) | 一种数据处理方法及装置 | |
CN104184664B (zh) | 路由转发表项生成方法及装置 | |
CN102487374B (zh) | 一种访问控制列表实现方法及装置 | |
CN1744563B (zh) | 在以太网交换机上实现策略路由的方法 | |
CN104283817A (zh) | 用于实现交换线卡与逻辑线卡互通的方法及报文转发设备 | |
CN107770076A (zh) | 一种哈希冲突的处理方法、装置及交换设备 | |
CN101848186B (zh) | 一种塑料光纤三层以太网交换机 | |
CN103957157B (zh) | 一种网络接口可定义转发规则的路由方法 | |
CN109905251A (zh) | 网络管理方法、装置、电子设备和存储介质 | |
CN110351286A (zh) | 一种软件定义网络中链路洪泛攻击检测响应机制 | |
CN102694732B (zh) | 一种基于局部虚拟化的虚拟网构建方法和系统 | |
CN105978762A (zh) | 冗余以太网数据传输设备、系统及方法 | |
CN101159674A (zh) | 一种报文路由交换装置及其方法 | |
CN104639438A (zh) | 一种OpenFlow网络中数据流的新标识和控制方法 | |
CN101883055B (zh) | 路由转发表容量扩展实现方法、装置及交换设备 | |
CN102801622B (zh) | 一种数据报文的转发方法及转发装置 | |
CN100391196C (zh) | 基于虚拟局域网的数据交换方法 | |
CN100454890C (zh) | 基于虚拟局域网的数据交换方法 | |
CN106453091A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150520 |