CN104243317B - 一种实现ip路由转发的方法和装置 - Google Patents

一种实现ip路由转发的方法和装置 Download PDF

Info

Publication number
CN104243317B
CN104243317B CN201410502447.9A CN201410502447A CN104243317B CN 104243317 B CN104243317 B CN 104243317B CN 201410502447 A CN201410502447 A CN 201410502447A CN 104243317 B CN104243317 B CN 104243317B
Authority
CN
China
Prior art keywords
flow table
address
openflow interchangers
switching equipment
sdn
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.)
Active
Application number
CN201410502447.9A
Other languages
English (en)
Other versions
CN104243317A (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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201410502447.9A priority Critical patent/CN104243317B/zh
Publication of CN104243317A publication Critical patent/CN104243317A/zh
Application granted granted Critical
Publication of CN104243317B publication Critical patent/CN104243317B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种实现IP路由转发的方法和装置。该方法包括在软件定义网络(SDN)架构中的SDN控制器执行的如下步骤:接收各个OpenFlow交换机上报的IP地址;向每个OpenFlow交换机下发第一流表,该第一流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定下一跳地址为所述匹配项;从作为边缘交换设备的OpenFlow交换机接收传统网络的路由信息;向该边缘交换设备除外的OpenFlow交换机下发第二流表,该第二流表的匹配项为所述路由信息中的前缀地址,动作为指定下一跳地址为所述边缘交换设备的IP地址。

Description

一种实现IP路由转发的方法和装置
技术领域
本发明属于软件定义网络(Software Defined Network,SDN)架构中的开放流(OpenFlow)技术领域,特别是一种实现IP路由转发的方法和装置。
背景技术
SDN架构利用OpenFlow技术将网络设备的控制面与数据面分离,从而实现网络流量的灵活控制。相应地,SDN架构中包括SDN控制器和OpenFlow交换设备,其中:SDN控制器和OpenFlow交换设备之间通过OpenFlow通道进行通信,SDN控制器根据用户的配置或者动态运行的协议生成流表下发到OpenFlow交换设备,OpenFlow交换设备依据SDN控制器下发的流表进行报文处理。
目前,SDN架构支持用户的多种业务,包括二层业务、IP业务及Overlay业务等。二层业务和IP业务依赖于SDN控制器对主机的学习,SDN控制器通过源主机和目的主机所在的交换设备计算出转发路径,根据报文的目的MAC和目的IP地址指定报文在每个节点的出端口,依次在沿途交换机设备下发流表,而且报文转发过程中不修改头部信息。若需要对报文进行IP转发,首先将报文发送到网关交换机,沿途的OpenFlow交换设备执行二层流表转发功能,由网关交换机执行IP转发,此时网关交换机修改报文头部信息,然后将报文送到目的交换机。
然而,在这种方式下,沿途的OpenFlow交换设备执行二层流表转发功能,仅在网关交换设备上执行IP转发。因此,所有跨VLAN转发的报文都必须经过网关交换设备,导致网关交换设备的压力增大。而且,当用户侧设备不是主机而是另一个IP网络时,单纯依赖SDN控制器学习主机无法满足业务转发的要求,此时SDN控制器无法实现跨IP网络的控制和转发。
发明内容
有鉴于此,本发明提出一种实现IP路由转发的方法和装置。
本发明实施方式的技术方案如下:
本发明实施方式的一方面提供了一种实现IP路由转发的方法,该方法包括在SDN架构中的SDN控制器执行的如下步骤:
接收各个OpenFlow交换机上报的IP地址;
向每个OpenFlow交换机下发第一流表,所述第一流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定下一跳地址为匹配项;
从作为边缘交换设备的OpenFlow交换机接收传统网络的路由信息;
向所述边缘交换设备下发第二流表,所述第二流表的匹配项为所述路由信息中的前缀地址,动作为指定下一跳地址为所述边缘交换设备的IP地址。
优选地,进一步包括:
向每个OpenFlow交换机下发第三流表,所述第三流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定出端口信息。
优选地,进一步包括:
当OpenFlow交换机的转发路径变化时,向所述转发路径发生变化的OpenFlow交换机除外的OpenFlow交换机下发用于更新转发路径的第四流表。
优选地,所述边缘交换设备的数目为至少两个;进一步包括:
根据预定策略从所述至少两个边缘交换设备中确定发布者;
而且,所述下发的第二流表中所述路由信息为该发布者所上传的路由信息。
优选地,进一步包括:
根据物理拓扑图为每个OpenFlow交换机建立到达目的OpenFlow交换机的拓扑路由表;
基于所述拓扑路由表生成所述第一流表和第三流表。
本发明实施方式的一方面提供了一种实现IP路由转发的方法,该方法包括在SDN架构中的OpenFlow交换机执行的如下步骤:
向SDN控制器上报自身的IP地址;
从SDN控制器接收第一流表,所述第一流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定下一跳地址为所述匹配项;
从SDN控制器接收第二流表,所述第二流表的匹配项为路由信息中的前缀地址,动作为指定下一跳地址为边缘交换设备的IP地址,其中所述路由信息是所述边缘交换设备向SDN控制器上报的。
优选地,进一步包括:
从SDN控制器接收第三流表,所述第三流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定出端口信息。
优选地,进一步包括:
当目的OpenFlow交换机的转发路径变化时,从SDN控制器接收用于更新转发路径的第四流表。
优选地,进一步包括:
基于第一流表和第三流表生成SDN网络的IP转发表;和/或,基于第一流表、第二流表和第三流表生成传统网络的IP转发表。
本发明实施方式的一方面提供了一种实现IP路由转发的装置,该装置包括在SDN架构中的SDN控制器运行的如下模块:
IP地址接收模块,用于接收各个OpenFlow交换机上报的IP地址;
第一流表下发模块,用于向每个OpenFlow交换机下发第一流表,所述第一流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定下一跳地址为所述匹配项;
路由信息接收模块,用于从作为边缘交换设备的OpenFlow交换机接收传统网络的路由信息;
第二流表下发模块,用于向所述边缘交换设备除外的OpenFlow交换机下发第二流表,所述第二流表的匹配项为所述路由信息中的前缀地址,动作为指定下一跳地址为所述边缘交换设备的IP地址。
优选地,进一步包括:
第三流表下发模块,用于向每个OpenFlow交换机下发第三流表,所述第三流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定出端口信息。
优选地,进一步包括:
第四流表下发模块,用于当OpenFlow交换机的转发路径变化时,向所述转发路径发生变化的OpenFlow交换机除外的OpenFlow交换机下发用于更新转发路径的第四流表。
优选地,边缘交换设备的数目为至少两个;
路由信息接收模块,进一步用于根据预定策略从所述至少两个边缘交换设备中确定发布者;
其中所下发的第二流表中所述路由信息为该发布者所上传的路由信息。
本发明实施方式的一方面提供了一种实现IP路由转发的装置,该装置包括在SDN架构中的OpenFlow交换机运行的如下模块:
上报模块,用于向SDN控制器上报自身的IP地址;
第一流表接收模块,用于从SDN控制器接收第一流表,所述第一流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定下一跳地址为所述匹配项;
第二流表接收模块,用于从SDN控制器接收第二流表,所述第二流表的匹配项为路由信息中的前缀地址,动作为指定下一跳地址为边缘交换设备的IP地址,其中所述路由信息是所述边缘交换设备向SDN控制器上报的。
优选地,进一步包括:
第三流表接收模块,用于从SDN控制器接收第三流表,所述第三流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定出端口信息。
优选地,进一步包括:
第四流表接收模块,用于当OpenFlow交换机的转发路径变化时,向所述转发路径发生变化的OpenFlow交换机除外的OpenFlow交换机下发用于更新转发路径的第四流表。
优选地,进一步包括:
IP转发表生成模块,用于基于第一流表和第三流表生成SDN网络的IP转发表;和/或,基于第一流表、第二流表和第三流表生成传统网络的IP转发表。
在本发明中,为SDN网络中的每个OpenFlow交换机分配唯一标识的IP地址,向每个OpenFlow交换机下发第一流表,第一流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定下一跳地址为该匹配项;与传统网络连接的OpenFlow交换机作为边缘交换设备(也可以称为源交换机),将传统网络的路由信息发送到SDN控制器,SDN控制器再向边缘交换设备除外的其他OpenFlow交换机下发该路由信息的第二流表,其中匹配项为路由信息中的前缀地址,动作为指定下一跳,而且下一跳地址为边缘交换设备的IP地址。通过上述操作,SDN网络中的各个OpenFlow交换机可以学习到传统网络中的路由信息,从而可以支持SDN网络内的三层路由转发,使得SDN网络能够直接对接传统网络,在不依赖于传统网络配置的情况下拓扑了SDN网络的三层业务应用。
附图说明
图1为本发明实施例中SDN控制器侧实现IP路由转发的方法流程图;
图2为本发明实施例中OpenFlow交换机侧实现IP路由转发的方法流程图;
图3为本发明实施例中在SDN架构中实现IP路由转发的方法流程图;
图4为本发明实施例SDN控制器侧实现IP路由转发的装置结构图;
图5为本发明实施例OpenFlow交换机侧实现IP路由转发的装置结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
在本实施例中,为SDN网络中的每个OpenFlow交换机分配唯一标识的IP地址,而且与传统网络(即IP网络)连接的OpenFlow交换机作为边缘交换设备(也可以称为源交换机),将自己从传统网络学习到的路由信息发送到SDN控制器,SDN控制器再向除该边缘交换设备之外的其他OpenFlow交换机下发该路由信息的第二流表,其中匹配项为路由信息中的前缀地址,动作为指定下一跳,而且下一跳地址为该边缘交换设备的IP地址。通过上述操作,将传统网络中的路由信息学习到SDN网络中,OpenFlow交换机可以支持SDN网络内的三层路由转发,使得SDN网络能够直接对接传统网络,从而在不依赖于传统网络配置的情况下拓扑了SDN网络的三层业务应用。
图1为本发明实施例中SDN控制器侧实现IP路由转发的方法流程图。
如图1所示,该方法包括在SDN架构中的SDN控制器执行的如下步骤:
步骤101:接收各个OpenFlow交换机上报的IP地址。
在这里,可以为SDN网络中的每个OpenFlow交换机分配一个IP地址(如1.1.1.1),该IP地址唯一地标识OpenFlow交换机。不允许不同OpenFlow交换机使用同一个IP地址。该IP地址并不一定是与SDN控制器建立Openflow连接的IP地址,可以是在SDN网络内的唯一可达IP地址。
可以在各个OpenFlow交换机上手工配置该IP地址。当配置好IP地址之后,由OpenFlow交换机将各自的IP地址上报到SDN控制器。比如,Openflow交换机可以通过交换机描述消息(OFPMP_DESC)将交换机IP地址通告给SDN控制器。
步骤102:向每个OpenFlow交换机下发第一流表,第一流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定下一跳地址为匹配项。
SDN控制器通过网络拓扑发现建立SDN网络的物理拓扑图,并基于物理拓扑图建立整个SDN网络的逻辑拓扑路由表。而且,SDN控制器还为每个OpenFlow交换机建立到达其他OpenFlow交换机的拓扑路由表。在为每个OpenFlow交换机建立的拓扑路由表中,分别保存有SDN域内关于所有其他OpenFlow交换机的转发内容。具体地,该转发内容可以包括OpenFlow交换机IP地址、出端口、出VLAN、出源MAC和出目的MAC,其中出端口为本设备与目的设备之间的拓扑出端口;出VLAN为出端口的VLAN值;出源MAC为本设备的端口MAC地址;出目的MAC为拓扑路径中下一个设备的端口MAC;这些MAC信息可以由SDN控制器通过PortsStatus消息获取。
SDN控制器基于每个OpenFlow交换机的拓扑路由表,分别为每个OpenFlow交换机生成第一流表,并分别向每个Openflow交换机下发相应的第一流表。
这些第一流表的匹配项分别为拓扑路由表中各个目的OpenFlow交换机的IP地址,动作为指定下一跳地址,而且该下一跳地址即为匹配项。也就是说,该下一跳地址即为拓扑路由表中目的OpenFlow交换机的自身地址。
在实际应用中,可以对现有Action类型进行扩展,以增加一个设置下一跳(Nexthop)的类型。
SDN控制器基于每个OpenFlow交换机的拓扑路由表,还分别为每个OpenFlow交换机生成第三流表。在第三流表中,匹配项分别为拓扑路由表中各个OpenFlow交换机的IP地址,动作为指定出端口信息,出端口信息具体包括:出端口、出VLAN、出源MAC和出目的MAC。SDN控制器进一步向每个OpenFlow交换机下发相应的第三流表。
OpenFlow交换机基于接收到的第一流表和第三流表生成SDN网络的IP转发表。该SDN网络的IP转发表的出端口、出VLAN、出源MAC、出目的MAC与第三流表指定的出端口、出VLAN、出源MAC和出目的MAC相同。OpenFlow交换机具有该SDN网络的IP转发表之后,只要是目的IP地址在该SDN网络的IP转发表中的数据报文都可以进行IP转发。
步骤103:从作为边缘交换设备的OpenFlow交换机接收传统网络的路由信息。
在这里,作为边缘交换设备的OpenFlow交换机与传统网络连接。该边缘交换设备学习传统网络的路由信息,并且通过OpenFlow协议中的Experimenter报文将传统网络中的路由信息发布到SDN控制器上。
当多个(至少两个)边缘交换设备连接相同的传统网络时,这些边缘交换设备都会向SDN控制器发布相同的传统网络路由信息,此时SDN控制器根据预定策略从这些边缘交换设备中确定一个发布者,其他的边缘交换设备作为备份。
当发布者出现OpenFlow连接故障时,SDN控制器可以根据预定策略及时更新传统路由的发布者,并以流表形式通告给其他OpenFlow交换机。
步骤104:向该边缘交换设备除外的其他OpenFlow交换机下发第二流表,该第二流表的匹配项为路由信息中的前缀地址,动作为指定下一跳地址为边缘交换设备的IP地址。
SDN控制器以交换机为单位维护传统网络的路由信息,并以流表形式将传统网络的路由信息通告到除该边缘交换设备之外的其他OpenFlow交换机,该流表可以称为第二流表。在第二流表中,匹配项为路由信息中的前缀地址(包括IP地址协议族(ipv4或者ipv6)和IP地址值),动作为指定下一跳(如前面所述的Action扩展),而且下一跳的地址为该边缘交换设备的IP地址,即下一跳地址复用了发布该传统网络路由信息的边缘交换设备的地址。
除边缘交换设备之外的其他OpenFlow交换机收到第二流表之后,可以基于第一流表、第二流表和第三流表生成传统网络的IP转发表。
经过上述处理后,SDN控制器维护了所有边缘交换设备上传的传统网络的路由信息。而且,边缘交换设备可以具有SDN网络的IP转发表及传统网络的IP转发表,而且除边缘交换设备之外的其他OpenFlow交换机也都可以具有SDN网络的IP转发表及传统网络的IP转发表。当传统域内的两个主机互访,或者是传统域与SDN域内的主机相互访问时,所有的OpenFlow交换机都能够直接进行转发。
当SDN网络的拓扑发生变化时,尽管设备之间的转发路径发生了变化,SDN控制器只需要向路径发生变化的OpenFlow交换机除外的其他OpenFlow交换机下发用于更新转发路径的第四流表,OpenFlow交换机可以利用下一跳复用属性直接更新传统网络的IP转发表。
图2为本发明实施例中OpenFlow交换机侧实现IP路由转发的方法流程图。
如图2所示,该方法该包括在SDN架构中的OpenFlow交换机执行的如下步骤:
步骤201:向SDN控制器上报自身的IP地址;
步骤202:从SDN控制器接收第一流表,该第一流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定下一跳地址为匹配项;
步骤203:从SDN控制器接收第二流表,该第二流表的匹配项为路由信息中的前缀地址,动作为指定下一跳地址为边缘交换设备的IP地址,其中该路由信息是该边缘交换设备向SDN控制器上报的。
在一个实施例中,该方法进一步包括:从SDN控制器接收第三流表,该第三流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定出端口信息。
在一个实施例中,该方法进一步包括:当其他OpenFlow交换机的转发路径变化时,从SDN控制器接收用于更新转发路径的第四流表。
在一个实施例中,该方法进一步包括:基于第一流表和第三流表生成SDN网络的IP转发表;和/或,基于第一流表、第二流表和第三流表生成传统网络的IP转发表。
经过上述处理之后,在每个OpenFlow交换机上都保存了SDN网络的IP转发表及传统网络的IP转发表。当传统域内的两个主机互访,或者是传统域与SDN域内的主机相互访问时,OpenFlow交换机都能够直接进行转发。
第三流表和第四流表具有相同的类型,可以称为类型1;第一流表和第二流表具有相同的类型,可以称为类型2。
图3为本发明实施例中在SDN架构中实现IP路由转发的方法流程图。
如图3所示,该方法包括:
步骤301:在SDN网络中的每个OpenFlow交换机上配置唯一标识的IP地址,并将每个OpenFlow交换机的IP地址上报到SDN控制器。
步骤302:SDN控制器建立物理拓扑图,并根据物理拓扑图为每个OpenFlow交换机建立到达目的OpenFlow交换机的拓扑路由表。
假如SDN网络的物理拓扑图中包含4个OpenFlow交换机,分别为SW1、SW2、SW3和SW4,其中与传统网络连接的边缘交换设备为SW3。SDN控制器为每个SW建立到达其他SW的拓扑路由表。即,为SW1建立到达SW2、SW3和SW4的拓扑路由表;为SW2建立到达SW1、SW3和SW4的拓扑路由表;为SW3建立到达SW1、SW2和SW4的拓扑路由表;为SW4建立到达SW1、SW2和SW3的拓扑路由表。
步骤303:SDN控制器基于每个OpenFlow交换机的拓扑路由表向相应的OpenFlow交换机下发类型1的流表(第三流表),该流表以该OpenFlow交换机的拓扑路由表中目的OpenFlow交换机的IP地址为匹配项,动作是指定出端口信息。
比如,SDN控制器向SW1下发第三流表,该第三流表的数目为3个,包括:以SW2的IP地址为匹配项,动作是指定出端口信息的流表;以SW3的IP地址为匹配项,动作是指定出端口信息的流表;以SW4的IP地址为匹配项,动作是指定出端口信息的流表。
SDN控制器向SW2下发第三流表,该第三流表的数目为3个,包括:以SW1的IP地址为匹配项,动作是指定出端口信息的流表;以SW3的IP地址为匹配项,动作是指定出端口信息的流表;以SW4的IP地址为匹配项,动作是指定出端口信息的流表。
SDN控制器还向SW3下发第三流表,该第三流表的数目为3个,包括:以SW1的IP地址为匹配项,动作是指定出端口信息的流表;以SW2的IP地址为匹配项,动作是指定出端口信息的流表;以SW4的IP地址为匹配项,动作是指定出端口信息的流表。
SDN控制器还向SW4下发第三流表,该第三流表的数目为3个,包括:以SW1的IP地址为匹配项,动作是指定出端口信息的流表;以SW2的IP地址为匹配项,动作是指定出端口信息的流表;以SW3的IP地址为匹配项,动作是指定出端口信息的流表。
步骤304:SDN控制器向每个交换机下发类型2的流表(第一流表),该流表以该OpenFlow交换机的拓扑路由表中目的OpenFlow交换机的IP地址为匹配项,动作为指定下一跳,且该下一跳与匹配项相同。
比如,SDN控制器向SW1下发第一流表,该第一流表的数目为3个,包括:以SW2的IP地址为匹配项,动作是指定下一跳地址为SW2的IP地址的流表;以SW3的IP地址为匹配项,动作是指定下一跳地址为SW3的IP地址的流表;以SW4的IP地址为匹配项,动作是指定下一跳地址为SW4的IP地址的流表。
SDN控制器还向SW2下发第一流表,该第一流表的数目为3个,包括:以SW1的IP地址为匹配项,动作是指定下一跳地址为SW1的IP地址的流表;以SW3的IP地址为匹配项,动作是指定下一跳地址为SW3的IP地址的流表;以SW4的IP地址为匹配项,动作是指定下一跳地址为SW4的IP地址的流表。
SDN控制器还向SW3下发第一流表,该第一流表的数目为3个,包括:以SW1的IP地址为匹配项,动作是指定下一跳地址为SW1的IP地址的流表;以SW2的IP地址为匹配项,动作是指定下一跳地址为SW2的IP地址的流表;以SW4的IP地址为匹配项,动作是指定下一跳地址为SW4的IP地址的流表。
SDN控制器还向SW4下发第一流表,该第一流表的数目为3个,包括:以SW1的IP地址为匹配项,动作是指定下一跳地址为SW1的IP地址的流表;以SW2的IP地址为匹配项,动作是指定下一跳地址为SW2的IP地址的流表;以SW3的IP地址为匹配项,动作是指定下一跳地址为SW3的IP地址的流表。
步骤305:每个OpenFlow交换机基于类型1的流表(第三流表)和类型2的流表(第一流表),生成SDN域内的IP转发表。SDN域内的IP转发表的前缀地址是各个OpenFlow交换机的IP地址,出端口信息为各个OpenFlow交换机的出端口信息。
步骤306:边缘交换设备将从传统网络学习到的路由信息,通过Experiment消息发送到SDN控制器。
在这里,假定与传统网络连接的边缘交换设备为SW3,因此SW3将从传统网络学习到的路由信息,通过Experiment消息发送到SDN控制器。
步骤307:SDN控制器保存该路由信息,并向除了边缘交换设备之外的其他OpenFlow交换机下发这个路由信息的流表(第二流表)。该流表为类型2,匹配项为路由信息中的路由地址,动作为指定下一跳,而且该下一跳地址是该边缘交换设备的IP地址。
比如,由于边缘交换设备为SW3,SDN控制器分别向SW1、SW2和SW4发送第二流表,在第二流表中指定的下一跳地址是SW3的IP地址。
步骤308:除了边缘交换设备之外的其他OpenFlow交换机收到第一流表、第二流表和第三流表后,可以基于第一流表、第二流表和第三流表生成传统网络的IP转发表。传统网络的IP转发表的前缀地址是传统网络内的IP地址,出端口信息为与传统网络连接的OpenFlow交换机的出端口信息。
步骤309:当边缘交换设备的转发路径发生变化时,SDN控制器向除了边缘交换设备之外的其他OpenFlow交换机下发类型1的流表(第四流表)以更新转发路径,除了边缘交换设备之外的其他OpenFlow交换机利用下一跳的复用属性直接更新传统网络的IP转发表。
通过上述操作,就可以实现将传统网络中的路由学到SDN网络中。而且,当网络拓扑发生变化时,SDN控制器只需要通知OpenFlow交换机更新类型1的第四流表即可,而OpenFlow交换机可以在本地自动更新IP转发表。
比如,假定SW3下挂的传统网络中存在10000条传统网络路由,SW3向SDN控制器通告这些传统网络路由。SDN控制器将这些传统网络路由以类型2形式的流表(第二流表)下发到OpenFlow交换机,流表中的匹配项为传统网络路由的IP地址,动作为指定下一跳,而且下一跳为SW3的IP地址。当SDN网络中的物理拓扑发生变化时,比如原来是SW1--SW4--SW3,更新为SW1--SW2--SW3,SDN控制器需要下发类型为1,匹配项为SW3的IP地址的流表(第四流表)到各个OpenFLow交换机,不需要再下发SW3下挂的传统网络中的10000条传统网络路由的更新流表。OpenFlow交换机基于第四流表更新自身的IP转发表时,首先判断本地是否存在匹配项为SW3的IP地址的类型2的流表(第一流表),若存在,则直接更新IP转发表的出端口,而不需要对SW3下挂的传统网络中的10000条传统网络路由逐个更新。
本发明还提出了一种实现IP路由转发的装置,图4为本发明实施例SDN控制器侧实现IP路由转发的装置结构图。
如图4所示,该装置400包括在SDN架构中的SDN控制器运行的如下模块:
IP地址接收模块401,用于接收各个OpenFlow交换机上报的IP地址;
第一流表下发模块402,用于向每个OpenFlow交换机下发第一流表,该第一流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定下一跳地址为所述匹配项;
路由信息接收模块403,用于从作为边缘交换设备的OpenFlow交换机接收传统网络的路由信息;
第二流表下发模块404,用于向该边缘交换设备除外的OpenFlow交换机下发第二流表,该第二流表的匹配项为路由信息中的前缀地址,动作为指定下一跳地址为该边缘交换设备的IP地址。
在一个实施例中,该装置400进一步包括:
第三流表下发模块405,用于向每个OpenFlow交换机下发第三流表,该第三流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定出端口信息。
在一个实施例中,该装置400进一步包括:
第四流表下发模块406,用于当OpenFlow交换机的转发路径变化时,向转发路径发生变化的OpenFlow交换机除外的OpenFlow交换机下发用于更新转发路径的第四流表。
在一个实施例中,边缘交换设备的数目为至少两个;
路由信息接收模块403,进一步用于根据预定策略从所述至少两个边缘交换设备中确定发布者;
而且,所下发的第二流表中路由信息为该发布者所上传的路由信息。
本发明还提出了一种实现IP路由转发的装置,图5为本发明实施例OpenFlow交换机侧实现IP路由转发的装置结构图。
如图5所示,该装置500包括在SDN架构中的OpenFlow交换机运行的如下模块:
上报模块501,用于向SDN控制器上报自身的IP地址;
第一流表接收模块502,用于从SDN控制器第一流表,该第一流表的指定匹配项为目的OpenFlow交换机的IP地址,动作为指定下一跳地址为匹配项;
第二流表接收模块503,用于从SDN控制器接收第二流表,该第二流表的匹配项为路由信息中的前缀地址,动作为指定下一跳地址为与边缘交换设备的IP地址的,其中路由信息是该边缘交换设备向SDN控制器上报的。
在一个实施例中,该装置500进一步包括:
第三流表接收模块504,用于从SDN控制器接收第三流表,该第三流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定出端口信息。
在一个实施例中,该装置500进一步包括:
第四流表接收模块505,用于当OpenFlow交换机的转发路径变化时,向转发路径发生变化的OpenFlow交换机除外的OpenFlow交换机下发用于更新转发路径的第四流表。
在一个实施例中,该装置500进一步包括:
IP转发表生成模块506,用于基于第一流表和第三流表生成SDN网络的IP转发表;和/或,基于第一流表、第二流表和第三流表生成传统网络的IP转发表。
综上所述,本发明为SDN网络中的每个OpenFlow交换机分配唯一标识的IP地址,而且与传统网络连接的边缘交换设备将自己从传统网络学习到的路由信息发送到SDN控制器,SDN控制器再向其他OpenFlow交换机下发该路由的流表,其中匹配项为路由信息中的目的地址,动作为指定下一跳,而且下一跳地址为边缘交换设备的IP地址。通过上述操作,本发明将传统网络中的路由信息学习到SDN网络中,OpenFlow交换机可以支持SDN网络内的三层路由转发,使得SDN网络能够直接对接传统网络,从而在不依赖于传统网络配置的情况下拓扑了SDN网络的三层业务应用。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (13)

1.一种实现IP路由转发的方法,其特征在于,该方法包括在软件定义网络SDN架构中的SDN控制器执行的如下步骤:
接收各个OpenFlow交换机上报的IP地址;
向每个OpenFlow交换机下发第一流表,所述第一流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定下一跳地址为所述匹配项;
从作为边缘交换设备的OpenFlow交换机接收传统网络的路由信息;
向所述边缘交换设备除外的OpenFlow交换机下发第二流表,所述第二流表的匹配项为所述路由信息中的前缀地址,动作为指定下一跳地址为所述边缘交换设备的IP地址;
当SDN架构的拓扑发生变化时,向所述边缘交换设备除外的OpenFlow交换机下发用于更新转发路径的第四流表,所述边缘交换设备除外的OpenFlow交换机利用第二流表中的下一跳复用属性更新传统网络的IP转发表。
2.根据权利要求1所述的方法,其特征在于,进一步包括:
向每个OpenFlow交换机下发第三流表,所述第三流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定出端口信息。
3.根据权利要求1所述的方法,其特征在于,所述边缘交换设备的数目为至少两个;进一步包括:
根据预定策略从所述至少两个边缘交换设备中确定发布者;
其中所述下发的第二流表中所述路由信息为该发布者所上传的路由信息。
4.根据权利要求2所述的方法,其特征在于,进一步包括:
根据物理拓扑图为每个OpenFlow交换机建立到达目的OpenFlow交换机的拓扑路由表;
基于所述拓扑路由表生成所述第一流表和第三流表。
5.一种实现IP路由转发的方法,其特征在于,该方法包括在软件定义网络SDN架构中的OpenFlow交换机执行的如下步骤:
向SDN控制器上报自身的IP地址;
从SDN控制器接收第一流表,所述第一流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定下一跳地址为所述匹配项;
从SDN控制器接收第二流表,所述第二流表的匹配项为路由信息中的前缀地址,动作为指定下一跳地址为边缘交换设备的IP地址,其中所述路由信息是所述边缘交换设备向SDN控制器上报的;
当SDN架构的拓扑发生变化时,所述边缘交换设备除外的OpenFlow交换机接收用于更新转发路径的第四流表,所述边缘交换设备除外的OpenFlow交换机利用第二流表中的下一跳复用属性更新传统网络的IP转发表。
6.根据权利要求5所述的方法,其特征在于,进一步包括:
从SDN控制器接收第三流表,所述第三流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定出端口信息。
7.根据权利要求5所述的方法,其特征在于,进一步包括:
基于第一流表和第三流表生成SDN网络的IP转发表;和/或,基于第一流表、第二流表和第三流表生成传统网络的IP转发表。
8.一种实现IP路由转发的装置,其特征在于,该装置包括在SDN架构中的SDN控制器运行的如下模块:
IP地址接收模块,用于接收各个OpenFlow交换机上报的IP地址;
第一流表下发模块,用于向每个OpenFlow交换机下发第一流表,所述第一流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定下一跳地址为所述匹配项;
路由信息接收模块,用于从作为边缘交换设备的OpenFlow交换机接收传统网络的路由信息;
第二流表下发模块,用于向所述边缘交换设备除外的OpenFlow交换机下发第二流表,所述第二流表的匹配项为所述路由信息中的前缀地址,动作为指定下一跳地址为所述边缘交换设备的IP地址;
第四流表下发模块,用于当SDN架构的拓扑发生变化时,向所述边缘交换设备除外的OpenFlow交换机下发用于更新转发路径的第四流表;其中所述边缘交换设备除外的OpenFlow交换机利用第二流表中的下一跳复用属性更新传统网络的IP转发表。
9.根据权利要求8所述的装置,其特征在于,进一步包括:
第三流表下发模块,用于向每个OpenFlow交换机下发第三流表,所述第三流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定出端口信息。
10.根据权利要求8所述的装置,其特征在于,所述边缘交换设备的数目为至少两个;
路由信息接收模块,进一步用于根据预定策略从所述至少两个边缘交换设备中确定发布者;
其中所述下发的第二流表中所述路由信息为该发布者所上传的路由信息。
11.一种实现IP路由转发的装置,其特征在于,该装置包括在SDN架构中的OpenFlow交换机运行的如下模块:
上报模块,用于向SDN控制器上报自身的IP地址;
第一流表接收模块,用于从SDN控制器接收第一流表,所述第一流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定下一跳地址为所述匹配项;
第二流表接收模块,用于从SDN控制器接收第二流表,所述第二流表的匹配项为路由信息中的前缀地址,动作为指定下一跳地址为边缘交换设备的IP地址,其中所述路由信息是所述边缘交换设备向SDN控制器上报的;
第四流表接收模块,用于当SDN架构的拓扑发生变化时,所述边缘交换设备除外的OpenFlow交换机接收用于更新转发路径的第四流表,所述边缘交换设备除外的OpenFlow交换机利用第二流表中的下一跳复用属性更新传统网络的IP转发表。
12.根据权利要求11所述的装置,其特征在于,进一步包括:
第三流表接收模块,用于从SDN控制器接收第三流表,所述第三流表的匹配项为目的OpenFlow交换机的IP地址,动作为指定出端口信息。
13.根据权利要求11所述的装置,其特征在于,进一步包括:
IP转发表生成模块,用于基于第一流表和第三流表生成SDN网络的IP转发表;和/或,基于第一流表、第二流表和第三流表生成传统网络的IP转发表。
CN201410502447.9A 2014-09-26 2014-09-26 一种实现ip路由转发的方法和装置 Active CN104243317B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410502447.9A CN104243317B (zh) 2014-09-26 2014-09-26 一种实现ip路由转发的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410502447.9A CN104243317B (zh) 2014-09-26 2014-09-26 一种实现ip路由转发的方法和装置

Publications (2)

Publication Number Publication Date
CN104243317A CN104243317A (zh) 2014-12-24
CN104243317B true CN104243317B (zh) 2018-04-20

Family

ID=52230699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410502447.9A Active CN104243317B (zh) 2014-09-26 2014-09-26 一种实现ip路由转发的方法和装置

Country Status (1)

Country Link
CN (1) CN104243317B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618244B (zh) * 2015-01-19 2018-03-02 迈普通信技术股份有限公司 一种sdn网络与传统ip网络互通的方法及系统
CN104580029B (zh) * 2015-01-26 2018-01-09 新华三技术有限公司 地址分配方法及装置
CN104601475B (zh) * 2015-01-29 2018-07-31 新华三技术有限公司 一种基于路由器端口进行报文转发的方法和装置
CN104702479B (zh) * 2015-03-10 2018-08-24 新华三技术有限公司 Sdn网络中建立隧道的方法和装置
CN106034077B (zh) * 2015-03-18 2019-06-28 华为技术有限公司 一种动态路由配置方法、装置及系统
CN104852847A (zh) * 2015-04-07 2015-08-19 胡汉强 一种数据传输方法及控制面设备、转发面设备
CN104780106B (zh) * 2015-04-30 2018-05-08 新华三技术有限公司 多实例实现方法及装置
CN104869125B (zh) * 2015-06-09 2020-04-17 上海斐讯数据通信技术有限公司 基于sdn的动态防mac地址欺骗方法
CN106685816B (zh) * 2015-11-10 2020-04-03 中国电信股份有限公司 一种基于sdn的路由计算方法、sdn控制器及系统
CN105956473B (zh) * 2016-05-15 2018-11-13 广东技术师范学院 基于sdn网络的恶意代码检测方法
EP3493488B1 (en) * 2016-07-27 2020-12-30 New H3C Technologies Co., Ltd. Processing of data stream
CN106059924B (zh) * 2016-08-19 2020-04-03 华为技术有限公司 一种管理信息的方法,装置及系统
CN106572011B (zh) * 2016-11-08 2019-09-17 新华三技术有限公司 数据流转发方法和装置
CN108462594B (zh) * 2017-02-21 2022-03-04 阿里巴巴集团控股有限公司 虚拟专有网络及规则表生成方法、装置及路由方法
CN106992896B (zh) * 2017-05-27 2019-07-23 迈普通信技术股份有限公司 Sdn连接判断方法、设备和系统
CN109842574B (zh) * 2017-11-28 2020-07-17 中国科学院声学研究所 一种基于可编程网络技术的多宿主网络路由转发方法
CN108259352B (zh) * 2017-12-25 2021-01-15 锐捷网络股份有限公司 Sdn与非sdn互通的方法及装置
CN108965137B (zh) * 2018-07-20 2021-03-19 新华三技术有限公司 一种报文处理方法和装置
CN109743262B (zh) * 2019-01-30 2021-07-27 电子科技大学 一种基于流表虚拟化的mice flow聚合方法
CN110430114B (zh) * 2019-07-24 2022-02-11 中国电子科技集团公司第七研究所 一种虚拟路由器及实现sdn网络与传统ip网络互联的方法
CN110601989A (zh) * 2019-09-24 2019-12-20 锐捷网络股份有限公司 一种网络流量均衡方法及装置
CN112910536B (zh) * 2019-11-19 2023-01-24 北京最终前沿深空科技有限公司 一种卫星网络的控制切换方法和装置
US11265242B2 (en) 2020-01-15 2022-03-01 Cisco Technology, Inc. Systems and methods for applying SD-WAN policies to router-generated traffic
CN113872846B (zh) * 2021-10-08 2023-06-20 新华三信息安全技术有限公司 报文发送方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152264A (zh) * 2013-02-25 2013-06-12 北京百度网讯科技有限公司 Openflow网络和IP网络互连通信方法及Openflow子网边缘交换机
CN103166876A (zh) * 2011-12-08 2013-06-19 中兴通讯股份有限公司 OpenFlow网络域间的数据发送方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2731304B1 (en) * 2012-03-14 2017-06-14 Huawei Technologies Co., Ltd. Method, switch and system for transmitting an establish connection request

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103166876A (zh) * 2011-12-08 2013-06-19 中兴通讯股份有限公司 OpenFlow网络域间的数据发送方法及装置
CN103152264A (zh) * 2013-02-25 2013-06-12 北京百度网讯科技有限公司 Openflow网络和IP网络互连通信方法及Openflow子网边缘交换机

Also Published As

Publication number Publication date
CN104243317A (zh) 2014-12-24

Similar Documents

Publication Publication Date Title
CN104243317B (zh) 一种实现ip路由转发的方法和装置
CN103888369B (zh) 以太网通信方法、系统和sdn交换机
CN104243270B (zh) 一种建立隧道的方法和装置
CN105743734B (zh) 虚拟机镜像流量传输的控制方法和装置
JP5825351B2 (ja) 通信システム、制御装置、通信方法及びプログラム
CN102055665B (zh) 广播上或nbma上的ospf点到多点模式
CN104601475B (zh) 一种基于路由器端口进行报文转发的方法和装置
CN105162704B (zh) Overlay网络中组播复制的方法及装置
CN106330727A (zh) Sdn网络设备建链方法、设备和系统
CN101160838A (zh) 实现层级化虚拟私有交换业务的方法及系统
CN105847185B (zh) 分布式设备的报文处理方法、装置及分布式设备
CN105577502A (zh) 业务传送方法及装置
JPWO2013118873A1 (ja) 制御装置、通信システム、通信方法およびプログラム
CN104936254B (zh) 基于软件定义网络的无线网络无缝移交方法及其装置
CN108429652A (zh) 基于sdn的远端流镜像控制方法、实现方法及相关设备
CN105791153A (zh) 业务流量调度方法和系统及流量控制器和网络边缘设备
JP5854049B2 (ja) 通信システム、制御情報中継装置、制御装置、制御情報の送信方法およびプログラム
CN106713026A (zh) 业务链拓扑结构、业务链设置方法和控制器
CN103117925A (zh) 数据报文转发处理方法及装置
CN108880969B (zh) 一种sdn网络中建立链路的方法和装置
CN108702324A (zh) 用户端lan扩展
JPWO2014069502A1 (ja) 通信システム、経路情報交換装置、通信ノード、経路情報の転送方法及びプログラム
CN105471658B (zh) 一种sdn网络及其组网方法
CN105515850B (zh) 利用OpenFlow控制器和配置点实现对ForCES转发件的控制管理方法
JP2011193189A (ja) ネットワークシステム、エッジノード及び中継ノード

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant before: Huasan Communication Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant