CN104737503B - 通信节点、通信系统、控制装置以及包转发方法 - Google Patents

通信节点、通信系统、控制装置以及包转发方法 Download PDF

Info

Publication number
CN104737503B
CN104737503B CN201380052800.1A CN201380052800A CN104737503B CN 104737503 B CN104737503 B CN 104737503B CN 201380052800 A CN201380052800 A CN 201380052800A CN 104737503 B CN104737503 B CN 104737503B
Authority
CN
China
Prior art keywords
entry
bag
matching condition
communication node
received
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.)
Expired - Fee Related
Application number
CN201380052800.1A
Other languages
English (en)
Other versions
CN104737503A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of CN104737503A publication Critical patent/CN104737503A/zh
Application granted granted Critical
Publication of CN104737503B publication Critical patent/CN104737503B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/36Backward learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)

Abstract

本发明降低了集中控制网络中的通信节点所保持的条目数目,并且降低了控制装置上的负荷。一种通信设备,其包括:第一表格,其存储下述第一条目,其中,至少包括有目的地地址的匹配条件与和匹配条件相匹配的包的输出目的地相关联;第二表格,其存储具有预定匹配条件的第二条目;目的地学习单元,其将所接收到的包的源和接收端口的集合登记成分别为所述第一表格中的匹配条件与输出目的地;以及包处理单元,当从第一和第二表格的每一个中找到具有与所接收到的包相匹配的匹配条件的条目时,包处理单元将包转发到在第一表格中所确定的输出目的地。当未找到具有与所接收到的包相匹配的匹配条件的条目时,包处理单元根据第三条目来广播所接收到的包。

Description

通信节点、通信系统、控制装置以及包转发方法
技术领域
本发明基于并要求于2012年10月10日提交的日本专利申请No.2012-224713的优先权,通过参考将其公开整个引入到这里。
本发明涉及通信节点、通信系统、控制装置、包转发方法、以及程序,并且涉及一种由控制装置集中控制的通信节点、通信系统、控制装置、包转发方法、以及程序。
背景技术
近年来,已经提出了一种被称为OpenFlow的技术(参考非专利文献1和2)。OpenFlow将通信处理为端到端流,并且对每个流执行路径控制、故障恢复、负荷平衡、以及最优化。在非专利文献2中所指定的OpenFlow交换机包括用于与OpenFlow控制器进行通信的安全信道,并且根据OpenFlow控制器所适当追加或重写的流表进行操作。在流表中,为每个流定义与包报头相匹配的匹配条件(匹配字段)(Match Fields)、流统计(计数器)(Counters)、以及用于定义处理内容的指令的集合(参考非专利文献2中的章节“4.1流表”)。
例如,一旦接收到包,OpenFlow交换机搜索具有下述匹配条件的条目(参考非专利文献2中的“4.3匹配字段”),所述匹配条件与流表中的所接收到的包的报头信息相匹配。当搜索的结果是找到与所接收到的包相匹配的条目,那么OpenFlow交换机更新流统计(计数器)(Counters),并且对所接收到的包执行写入到条目的指令字段中的处理内容(从指定端口的包传输、泛洪、丢弃等等)。另一方面,当搜索的结果是没有找到与所接收到的包相匹配的条目时,OpenFlow交换机请求OpenFlow控制器以通过安全信道设置条目,传送用于传送下述控制信息的请求(包传入消息)(Packet-In message),所述控制信息用于对所接收到的包进行处理。OpenFlow交换机接收用于定义处理内容并且更新流表的流条目。如所述的,OpenFlow交换机利用保存在流表中的条目作为控制信息来转发包。
[非专利文献1]
Nick McKeown等人“OpenFlow:Enabling Innovation in Campus networks”[在线],[2012年10月4日搜索],因特网<<URL:http://www.openflow.org/documents/openflow-wp-latest.pdf>
[非专利文献2]
“OpenFlow Switch Specification”版本1.1.0实现(有线协议0X02),[在线],[2012年10月4日搜索],因特网<<URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf>
发明内容
通过本发明给出以下分析。此外,通过参考将引用文献的每个公开内容引入到这里。在由非专利文献1和2中的OpenFlow所表示的集中控制网络中,对于每个附加流,需要在路径上的诸如交换机这样的通信节点中设置条目。其结果是,存在下述问题,即,响应于连接终端和通信目的地的组合的增加,而增加了流条目的数目,这使得增加了控制装置20上的负荷。
除了控制器(控制装置)上的负荷增加之外,每个通信节点所保持的条目数目的增加使得搜索通信节点中的条目所花费的时间量也增加了,这影响了响应性能。同样地,每个通信节点所保持的条目数目的增加使得用于对通信节点进行管理的控制装置20上的负荷增加了。因此,存在这样的需求,即,使得通信节点所保持的条目数目保持最低。
本发明的目的是提供这样的通信节点、通信系统、控制装置、包转发方法、以及程序,其在集中控制网络中能够有助于降低通信节点所保持的条目数目并且降低控制装置上的负荷。
根据第一方面,提供了一种通信节点,该通信节点包括:第一表格,用于存储下述第一条目,在所述第一条目中至少包括有目的地地址的匹配条件与和匹配条件相匹配的包的输出目的地相关联;第二表格,用于存储具有由预定控制装置所设置的匹配条件的第二条目;目的地学习单元,用于将所接收到的包的源和接收端口的集合登记成分别为在所述第一表格中的匹配条件和输出目的地;以及包处理单元,当从第一和第二表格的每一个找到具有与所接收到的包相匹配的匹配条件的条目时,所述包处理单元将包转发到在所述第一表格中所确定的输出目的地,并且当在第一和第二表格的至少一个中未找到具有与所接收到的包相匹配的匹配条件的条目时,所述包处理单元根据由所述控制装置所设置的第三条目来广播所接收到的包。
根据第二方面,提供了一种包括下述多个通信节点的通信系统,所述多个通信节点包括:第一表格,用于存储下述第一条目,在所述第一条目中至少包括有目的地地址的匹配条件与和匹配条件相匹配的包的输出目的地相关联;第二表格,用于存储具有预定匹配条件的第二条目;目的地学习单元,用于将所接收到的包的源和接收端口的集合登记成分别为在所述第一表格中的匹配条件和输出目的地;以及包处理单元,当从第一和第二表格的每一个找到具有与所接收到的包相匹配的匹配条件的条目时,所述包处理单元将包转发到在第一表格中所确定的输出目的地,并且当在第一和第二表格的至少一个中未找到具有与所接收到的包相匹配的匹配条件的条目时,所述包处理单元根据第三条目来广播所接收到的包;以及控制装置,用于计算由多个通信节点所构成的网络中的广播路径,并且根据该广播路径对在所述通信节点的至少第二表格中的条目进行设置。
根据第三方面,提供了一种用于在通信节点的表格中设置条目的控制装置。
根据第四方面,提供了一种包转发方法,该包转发方法包括以下各步骤:使得通信节点包括:第一表格,用于存储下述第一条目,在所述第一条目中至少包括有目的地地址的匹配条件与和匹配条件相匹配的包的输出目的地相关联;第二表格,用于存储具有预定匹配条件的第二条目;目的地学习单元,用于将所接收到的包的源和接收端口的集合登记成分别为在所述第一表格中的匹配条件和输出目的地;以及包处理单元,当从第一和第二表格的每一个找到具有与所接收到的包相匹配的匹配条件的条目时,所述包处理单元将包转发到在第一表格中所确定的输出目的地;当在第一和第二表格的至少一个中未找到具有与所接收到的包相匹配的匹配条件的条目时,使得所述通信节点根据第三条目来广播所接收到的包。该方法依赖于下述特定机器,该特定机器是用于根据具有与所接收到的包相匹配的匹配条件的条目来对所接收到的包进行处理的通信节点。
根据第五方面,提供了一种程序,其使得内置于下述通信节点之中的计算机执行以下各处理,所述通信节点包括:第一表格,用于存储下述第一条目,在所述第一条目中至少包括有目的地地址的匹配条件与和匹配条件相匹配的包的输出目的地相关联;第二表格,用于存储具有预定匹配条件的第二条目;目的地学习单元,用于将所接收到的包的源和接收端口的集合登记成分别为在所述第一表格中的匹配条件和输出目的地;以及包处理单元,所述各处理包括:当从第一和第二表格的每一个找到具有与所接收到的包相匹配的匹配条件的条目时,将包转发到在第一表格中所确定的输出目的地;以及当在第一和第二表格的至少一个中未找到具有与所接收到的包相匹配的匹配条件的条目时,根据第三条目来广播所接收到的包。此外,可将该程序保存在计算机可读的(非瞬态的)存储介质中。换句话说,本发明可是作为计算机程序产品实现的。
根据本发明,能够降低在集中控制网络中保持在通信节点中的条目数目以及控制装置上的负荷。
附图说明
图1是示出了示意性实施例的配置的图。
图2是用于对示意性实施例的操作进行说明的图。
图3是示出了第一示意性实施例的通信系统的配置的图。
图4是示出了第一示意性实施例的通信节点的详细配置的方框图。
图5是用于对第一示意性实施例的操作(拓扑搜索)进行说明的图。
图6是用于对第一示意性实施例的操作(路径计算)进行说明的图。
图7是用于对第一示意性实施例的操作(目的地学习)进行说明的图。
图8是用于对第一示意性实施例的操作(包转发)进行说明的图。
图9是用于对第一示意性实施例的操作(故障恢复)进行说明的图。
具体实施方式
首先,参考附图给出了本发明的示意性实施例的摘要。应该注意的是,对每个单元给出的摘要中的附图参考符号仅仅是出于方便而作为便于理解的示例,而不是用于将本发明限制为图中所示的模式。
如图1所示,在本申请中所公开的示意性实施例可由包括下述通信节点10和控制装置20的配置来实现,所述通信节点10包括第一和第二表格11和12、目的地学习单元13、以及包处理单元14。
第一表格11存储下述第一条目,在所述第一条目中包括至少目的地地址的匹配条件与和匹配条件相匹配的包的输出目的地相关联。第二表格12存储具有源地址作为匹配条件的第二条目。在这里,假定控制装置20检测终端A至C相连并且在第二表格12中设置了具有终端A至C的地址作为源地址的第二条目。
目的地学习单元13将所接收到的包的源和接收端口的集合登记作为第一条目,在该第一条目中,在第一表格11中匹配条件与输出目的地相关联。
当从第一和第二表格的每一个找到具有与所接收到的包相匹配的匹配条件的条目时,包处理单元14将包转发到在第一表格中所确定的输出目的地,并且当在第一和第二表格的至少一个中未找到具有与所接收到的包相匹配的匹配条件的条目时,包处理单元14根据控制装置20所设置的第三条目来广播所接收到的包。此外,可以按照将比第二条目更低的优先级应用于此这样的方式将第三条目保存在第二表格12中,或者可以将它保存在应该在第二表格12之后参考的第三表格中
例如,如图2所示,在终端A至C在由多个通信节点10所构成的网络中相连的情况下,终端C将包传送到终端A。图2中的虚线表示由控制装置20所计算的广播/多播路径(在下文中称为BCMC路径)。
通信节点10接收来自终端C的包,但是因为第一表格11不具有与来自终端C的包相匹配的匹配条件的条目(因为仍未学习该包),因此通信节点10根据用于实现图2所示的广播路径的第三条目来转发所接收到的包。
一旦接收到根据广播路径而从终端C转发到终端A的包,该转发路径上的通信节点10的目的地学习单元13将所接收到的包的源(终端C)和接收端口(来自终端C的包的接收端口)的集合登记作为第一条目,该第一条目具有该集合作为在第一表格11中的匹配条件和输出目的地。
此后,当已接收到广播包的终端A向终端C传送响应包时,通信节点10确定出找到第一条目,因为在路径上的通信设备10的第一表格11中登记了具有终端C的目的地地址作为匹配条件并且接收到来自终端C的包的端口作为输出目的地的第一条目。此外,如所描述的,因为通过控制装置20在通信节点10的第二表格中登记了具有终端A,所述源,作为匹配条件的第二条目,因此通信设备10确定出找到了第二条目。其结果是,将从终端A至终端C的响应包单播转发到终端C。
在转发处理中,通信节点10的目的地学习单元13将响应包的源(终端A)和接收端口(来自终端A的包的接收端口)的集合登记作为第一条目,该第一条目具有该集合作为第一表格11中的匹配条件和输出目的地的。其结果是,从终端C至终端A的后续的包将与第一和第二条目相匹配并且将被单播转发。
如所描述的,利用集中控制网络来实现诸如层2交换这样的转发操作,并且路径上的转发节点所保持的条目数目以及控制装置20上的负荷降低了。
[示意性实施例1]
接下来,参考图对第一示意性实施例进行描述。图3是示出了第一示意性实施例的通信系统的配置的图。图3示出了下述配置,该配置包括通过数据传输链路相连的通信节点1021至1024以及用于通过控制链路来控制这些通信节点1021至1024的控制装置101。此外,终端1031与通信节点1021相连,并且终端1032与通信节点1024相连。
控制装置101根据由通信节点1021至1024所构成的网络拓扑来计算BCMC路径。此外,控制装置101利用非专利文献2中的OpenFlow协议来设置用于实现对通信节点1021至1024所计算的BCMC路径的条目。控制装置101将未命中的条目登记在通信节点1021至1024的第一表格中,并且将用于认出已知传输源(源MAC条目)的条目以及用于广播的条目登记在通信节点1021至1024的第二表格中。与通信节点1021至1024的详细配置一起对该内容进行更具体地描述。此外,通过利用非专利文献1和2中的OpenFlow控制器作为基础并且将随后所述的条目操作功能增加到其上可实现如上所述的控制装置20。
终端1031和1032是用于通过由通信节点1021至1024所构成的网络来执行通信的个人计算机以及各种移动终端。
图4是示出了第一示意性实施例的通信节点的详细配置的方框图。在下文中将通信节点1021至1024称为“通信节点102”,当它们不是彼此特别区分时。
如图4所示,通信节点102包括用于与控制装置101交换控制消息的协议控制单元103、输入端口104、表格存储单元105、以及输出端口112。应该注意的是在图4中省略了图1所示的目的地学习单元13和包处理单元14以使说明简单化,但是通信节点102中的包处理是由保存在表格存储单元105中的两个表格(表格0(符号106)和表格1(符号109))中的搜索结果来确定的。此外,通信节点102包括根据所接收到的包使目的地地址与输出端口相关联的条目(目的地MAC条目)登记在表格0(符号106)中的学习功能。
表格存储单元105存储流水线处理的表格0(符号106)和表格1(符号109)。在流水线处理中,按照预定顺序参考多个表格,每个表格中的条目的匹配条件匹配,同时根据需要来改写包数据和元数据,并且确定处理的至少一个动作(参考非专利文献2中的“4.1.1流水线处理”)。
在本示意性实施例中,在表格1(符号109)之前,先参考表格0(符号106)。因此,当输入端口104接收到包时,首先在表格0(符号106)中搜索具有与所接收到的包相匹配的匹配条件的条目。
在图4的示例,表格0(符号106)存储DstMAC(目的地MAC)条目107和未命中条目108。
DstMAC条目107与如上所述的第一条目相对应并且在操作期间由通信节点102的目的地学习单元(图中未示出)来设置。例如,当输入端口A接收到具有X作为源MAC(MediaAccess Control)(媒体访问控制)地址(Src MAC)、Y作为目的地MAC地址(DstMAC)、并且Z作为VLANID(Virtual Local Area Network ID)(虚拟局域网络ID)的包(在下文中称为{SrcMAC:X,DstMAC:Y,VID:Z}的包时,通信节点的目的地学习单元将下述条目添加到表格0(符号106)。
匹配条件:DstMAC=X并且VID=Z
指令:写-元数据=1
写-动作=(OUTPUT=A)
转到表格=1
在这里,作为元数据,“写-元数据”(“Write-Metadata”)指示增加下述标志“1”的处理,所述标志“1”表示DstMAC条目的匹配条件已命中。此外,“写-动作(OUTPUT=A)”(“Write-Action(OUTPUT=A”)指示从输出端口112中的端口A转发适当包。此外,“转到表格=1”(“Goto Table=1”)指示将被参考的表格1(符号109)以及要被搜索的条目。
未命中(Miss-hit)条目108是在操作开始时由控制器设置的条目(第四条目)。该条目指示:当所接收到的包未命中任何一个学习的DstMAC条目107时,将要被参考的表格1(符号109)以及要被搜索的条目。
此外,在图4的示例中,表格1(符号109)存储SrcMAC条目110以及广播条目111。
SrcMAC条目与如上所述的第二条目相对应并且在操作期间由控制装置101设置。例如,当控制装置101识别出用户(终端)的位置{具有MAC地址为Y以及VID为Z的用户与通信节点的端口B相连}时,控制装置101在通信节点102中设置以下条目以作为SrcMAC条目110。
匹配条件:元数据=1并且入口=B并且Src MAC=Y并且VID=Z
指令:无
如所描述的,由于设置了DstMAC条目107和SrcMAC条目110,从在DstMAC条目107中被设置为“写-动作”的端口A,通信节点102对命中了DstMAC条目107和SrcMAC条目110的包执行单播转发操作。
此外,可省略SrcMAC条目110的匹配条件(Src MAC、输入端口(入口)(Input)和VID)中的任何一个或多个。当这些条件都不被认为是匹配条件时,设置以下SrcMAC条目110。
匹配条件:元数据=1
说明:无
在这种情况下,仅命中DstMAC条目107这样的事实触发从在DstMAC条目107中被设置为“写-动作”的端口A的单播转发。
广播条目111是在操作开始时由控制器设置的条目(第三条目)。广播条目111通过控制装置101所设置的广播路径来转发未命中任何SrcMAC条目110的包(包括未命中DstMAC条目107并且在元数据中未增加标志“1”这样的情况)。
如上所述,通信节点102的包处理单元(图中未示出)继续依次参考表格存储单元105的表格0(符号106)和表格1(符号109),并且将包输出到所确定的端口。
通过示出具体示例来描述通信节点102的包处理单元的操作(未示出)。下面,假定在表格0(符号106)和表格1(符号109)中如下设置DstMAC条目107和SrcMAC条目110。
[DstMAC条目]
匹配条件:DstMAC=X并且VID=Z
指令:写-元数据=1
写-动作(OUTPUT=A)
转到表格=1
[SrcMAC条目]
匹配条件:元数据=1并且入口=B并且Src MAC=Y并且VID=Z
指令:无
(1)当既未命中DstMAC条目107也未命中SrcMAC条目110时:
通信节点102的包处理单元(图中未示出)在表格0(符号106)中搜索具有与从输入端口B所接收到的包相匹配的匹配条件的条目。因为DstMAC条目107不存在,因此命中未命中条目(Miss-hit entry)108并且开始在表格1(符号109)中的搜索而无需在元数据中增加标志。因为在表格1(符号109)的搜索中不存在具有与所接收到的包相匹配的匹配条件的SrcMAC条目110,因此命中广播条目111并且包被广播。
(2)当命中DstMAC条目107并且未命中SrcMAC条目110时:
通信节点102的包处理单元(图中未示出)在表格0(符号106)中搜索具有与从输入端口B所接收到的包相匹配的匹配条件的条目。因为找到了与所接收到的包相匹配的DstMAC条目107,因此包处理单元(图中未示出)在执行指令字段的内容(写-元数据=1,写-动作(OUTPUT=A))的内容之后开始在表格1(符号109)中搜索。然而,作为在表格1(符号109)中的搜索结果,不存在具有与所接收到的包相匹配的匹配条件的SrcMAC条目110,广播条目111被命中,并且包被广播。
(3)当未命中DstMAC条目107并且命中SrcMAC条目110时:
通信节点102的包处理单元(图中未示出)在表格0(符号106)中搜索具有与从输入端口B所接收到的包相匹配的匹配条件的条目。因为不存在DstMAC条目107,因此命中了未命中条目108并且开始在表格1(符号109)中的搜索而无需在元数据中增加标志。虽然表格1(符号109)具有其具有与所接收到的包的Src MAC地址相匹配的匹配条件的SrcMAC条目110,但是它们不被认为是匹配,因为在元数据中没有增加标志。最终广播条目111被命中并且包被广播。
(4)当命中DstMAC条目107和条目SrcMAC110这两者时:
通信节点102的包处理单元(图中未示出)在表格0(符号106)中搜索具有与从输入端口B所接收到的包相匹配的匹配条件的条目。因为找到了与所接收到的包相匹配的DstMAC条目107,因此包处理单元(图中未示出)在执行指令字段的内容(写-元数据=1,写-动作(OUTPUT=A))的内容之后开始在表格1(符号109)中搜索。作为在表格1(符号109)中的搜索结果,找到了具有与所接收到的包的Src MAC地址和元数据的内容相匹配的匹配条件的SrcMAC条目110,并且最终从输出端口A输出包(单播)。
此外,可通过计算机程序来实现(与图1中的目的地学习单元13和包处理单元14相对应的)通信节点的所述功能,所述计算机程序使内置于通信节点之中的计算机来执行上述利用硬件所执行的每个处理。
接下来,参考附图对本示意性实施例的整个操作进行详细地描述。首先,对控制装置101所执行的拓扑搜索操作进行说明。在下面的说明中,假定将用于将终端1031和1032的MAC地址设置为源MAC地址的匹配条件的SrcMAC条目已登记到通信节点1021至1024的表格1(符号109)中。
(拓扑搜索)
图5是用于对第一示意性实施例的操作(拓扑搜索)进行说明的图。首先,控制装置101具有从通信节点1021至1024的所有端口传送而来的用于拓扑发现的包(例如,可使用非专利文献2中的包传出消息(Packet-Out message))。图5中的箭头表示传送到通信节点1021的用于拓扑发现的包的流(未示出转发到通信节点1023的包的流)。用于拓扑发现的包包括用于唯一地识别源通信节点的信息。
通过通信节点1022将从通信节点1021转发到通信节点1022的用于拓扑发现的包转发到控制装置101(例如通过非专利文献2中的包传入消息(Packet-In message)所报告的)。控制装置101从包含在从通信节点1022所接收到的用于拓扑发现的包之中的信息(用于唯一地识别通信节点的信息)学习到在通信节点1021与通信节点1022之间的链路被连接。控制装置101将通信节点之间链路被连接的通信节点的端口学习作为入站端口(与外部相连的端口)。
同时,通信节点1021还将用于拓扑发现的包传送到终端1031,但是该包不返回到控制装置101。正如在这种情况下,当不能够在预定时间段接收到来自另一通信节点的用于拓扑发现的包时,控制装置101学习到通信节点1021的适当端口被与网络的外部相连接。控制装置101将与网络的外部相连接的端口学习作为出站端口(与外部相连的端口)。
通过执行所描述的用于收集与控制装置101相连的所有通信节点的端口的信息这样的处理可掌握由通信节点1021至1024所构成的网络的拓扑。
此外,可使用诸如链路层发现协议(Link Layer Discovery Protocol)(LLDP)这样的拓扑发现方法以代替上述程序。
(路径计算)
在掌握了如上所述的网络拓扑之后,控制装置101计算网络中的广播/多播路径(BCMC路径)。图6是用于对第一示意性实施例的操作(路径计算)进行说明的图。首先,控制装置101根据如上所述所掌握的网络拓扑来计算包的BCMC路径。
接下来,控制装置101产生下述广播条目(第三条目),所述广播条目使BCMC路径上的通信节点转发通过入站端口从在BCMC路径上其它入站端口和出站端口所接收到的包,并且将该条目设置在该路径(图6中的虚线箭头)上的通信节点的表格1(符号109)中。
另外,控制装置101产生下述广播条目(第三条目),所述广播条目具有被转发到出站端口以及BCMC路径上的端口的、由通信节点1021至1024的出站端口所接收到的包,并且将该条目设置在该路径上的通信节点的表格1(符号109)中。
上述结果是,如图6中的箭头所指示的,已设置了用于转发包的条目。
(终端检测(学习DstMAC条目))
此后,当终端1031在操作期间的任何时间将包传送到通信节点1021时,通信节点1021产生下述DstMAC条目107并且将该条目登记在表格0(符号106)中,所述DstMAC条目107具有包的源MAC地址作为匹配条件,并且所述DstMAC条目107定义在元数据中增加标志的处理以作为指令、定义从包的接收端口的转发处理、以及定义在目的地学习单元中搜索表格1(符号109)的处理。
此外,通信节点1021依次参考表格0(符号106)和表格1(符号109)并且确定转发目的地。在这一点上,因为不存在DstMAC条目107,即,与来自终端1031的包相匹配的条目,因此通信节点1021根据广播条目111将包转发到BCMC路径以及出站端口(如果存在的话)
接下来,与通信节点1021一样,由BCMC路径上的其入站端口已接收到包的通信节点1022至1024产生下述DstMAC条目107并且将该条目登记在表格0(符号106)中,所述DstMAC条目107具有包的源MAC地址作为匹配条件,并且所述DstMAC条目107定义在元数据中增加标志的处理以作为指令、定义从包的接收端口的转发处理、以及定义搜索表格1(符号109)的处理。
还在通信节点1022至1024中,依次参考表格0(符号106)和表格1(符号109)并且确定转发目的地。因为通信节点1022至1024也不具有DstMAC条目107,即,与来自终端1031的包相匹配的条目,因此通信节点1022至1024根据广播条目111将包转发到BCMC路径以及出站端口(如果存在的话)。
上述结果是,根据图6中的箭头将从终端1031传送到通信节点1021的包转发到终端1032。
(响应包转发(转发到学习目的地))
此后,当已接收到来自终端1031的包的终端1032将目的地为终端1032的包传送到通信节点1024时,通信节点1024转发来自由DstMAC条目107所指定的端口的包,因为已学习到终端1031的MAC地址(已登记了DstMAC条目107),并且表格1(符号109)具有用于将终端1031和1032的MAC地址设置为已登记的源MAC地址的匹配条件的SrcMAC条目。
通信节点1022和1021从由DstMAC条目107所指定的端口转发包,因为通信节点1022和1021还学习了终端1031的MAC地址(已登记了DstMAC条目107),并且表格1(符号109)具有用于将终端1031和1032的MAC地址设置为已登记的源MAC地址的匹配条件的SrcMAC条目。
上述结果是,沿着图8的箭头将从终端1032传送到通信节点1024的包转发到终端1032。
如所描述的,根据本示意性实施例,利用集中控制网络实现与L2交换相等效的包转发,此外,在本示意性实施例中防止了环路的出现,因为与包从非接收端口泛洪的L2交换不一样,根据网络拓扑通过由控制装置101所计算的BCMC路径来转发未学习的包。此外,虽然在上述示意性实施例中没有对此进行说明,但是通过在DstMAC条目107中设置适当超时值并且执行老化处理可使条目数目的增加最小化。
此外,根据本示意性实施例,当在任何通信节点之间的链路中发生了故障时,可设置并学习替代路径。下面对其处理进行描述。
(旁路处理)
在这里,对在图9中的通信节点1021和1022之间的链路中出现了故障这样的情况进行描述。首先,通信节点1021和1022向端口的控制装置101通知停机状态并且请求控制装置101重新计算广播路径并且重新设置必需的条目。
一旦接收到该通知时,控制装置101根据通知内容来更新通过上述(拓扑搜索)处理所掌握的网络拓扑。
接下来,控制装置101利用如上所述的(路径计算)相同处理来重新计算BCMC路径。
接下来,与如上所述的(路径计算)处理一样,控制装置101产生下述广播条目(第三条目)并且将该条目设置在该路径上的通信节点的表格1(符号109)中,所述广播条目将从通信节点1021至1024的出站端口所接收到的包转发到出站端口以及BCMC路径上的端口。
最后,控制装置101指示通信节点1021至1024以删除用于存储所学习到的MAC地址的DstMAC条目(图9中的点划线箭头)。
上述结果是,当终端1031此后传送包时,如上所述学习MAC地址(终端检测(学习DstMAC条目))(响应包转发(转发到学习的目的地)),并且沿着通过通信节点1021,1023,1024的路径来转发包。
上面已对本发明的示意性实施例进行了描述,然而,本发明并不局限于所述的示意性实施例并且在本发明的基本技术概念的范围之内可添加进一步的修改、替换、以及调整。例如,每个图中所示的网络配置以及单元的配置仅是示例以便于了解本发明,其并不局限于图中所示的这些配置。
此外,例如,在如上所述的示意性实施例中,MAC地址用作第一表格(表格0(符号106))和第二表格(表格1(符号109))中的匹配条件,然而,诸如IP地址这样的其它地址也可用作匹配条件。此外,虽然在以上示意性实施例中VLAN IDs和输入端口用作匹配条件,但是可以忽略这些项并且可以添加其它项以作为匹配条件。此外,如在第一示意性实施例中所描述的,可仅将“元数据=1”(即命中第一表格)作为匹配条件设置在第二表格(表格1(符号109))中。
此外,在如上所述的示意性实施例中,重写元数据(Metadata)、动作(Action)(从指定端口转发)、以及通过Goto命令(Goto command)来参考下一表格被设置为用于当命中第一表格(表格0(符号106))时的指令,但是也可以将报头重写指示为指令(Instruction)。例如,可将与包类型相对应的信息写入到第一表格(表格0(符号106))中并且根据第二表格(表格1(符号109))中的包类型来分配处理。
最后,将概括本发明的优选模式。
[模式1]
(参考根据第一方面的通信节点)
[模式2]
在模式1中,
通信节点具有将与网络相连的终端的地址设置为第二条目的匹配条件。
[模式3]
在模式1或2中,
通信节点具有下述第三条目,所述第三条目用于当第一表格不具有下述第一条目时指示在第二表格中进行搜索,所述第一条目具有与所登记的接收到的包相匹配的匹配条件。
[模式4]
在模式1至3中的任何一个中,
在连到另一通信节点的链路中出现故障时,通信节点请求控制装置以重新计算广播路径并且重新设置第二和第四条目。
[模式5]
在模式1至4中的任何一个中,
通信节点根据预定超时值对至少第一条目执行老化处理。
[模式6]
(参考根据第二方面的通信系统)
[模式7]
(参考根据第三方面的控制装置)。
[模式8]
(参考根据第四方面的包转发方法)
[模式9]
(参考根据第五方面的程序)。
此外,可将模式6至9如模式1一样演变为模式2至5。
此外,通过参考将上面列出的每个非专利文献的公开整个引入到这里。应该注意的是本发明的其它目的、特征、以及方面将在整个公开中变得更明显,并且在不脱离如这里所公开的且由附加到此的权利要求所主张的本发明的主旨和范围的情况下可进行修改。还应该注意的是所公开的和/或所要求保护的单元、事项、和/或项的任意组合可以属于上述修改。特别是,应将在本描述中所使用的数值的范围解释为包含在该范围之中的特定数值或很小范围,即使在它没有被如此说明的情况下。
10,102,1021至1024:通信节点
11:第一表格
12:第二表格
13:目的地学习单元
14:包处理单元
20,101:控制装置
103:协议控制单元
104:输入端口
105:表格存储单元
106:表格0
107:DstMAC条目(第一条目)
108:未命中条目(第四条目)
109:表格1
110:SrcMAC条目(第二条目)
111:广播条目(第三条目)
112:输出端口A至C
1031,1032:终端

Claims (9)

1.一种通信节点,包括:
第一表格,用于存储第一条目,所述第一条目将匹配条件与和所述匹配条件相匹配的包的输出目的地相关联,其中,所述匹配条件至少包括有目的地地址;
第二表格,用于存储具有由预定控制装置所设置的匹配条件的第二条目;
目的地学习单元,用于将所接收到的包的源和接收端口的集合登记作为第一条目,在该第一条目中,所述第一表格中的匹配条件与输出目的地相关联;以及
包处理单元,当从所述第一表格和所述第二表格中的每一个找到具有与所接收到的包相匹配的匹配条件的条目时,所述包处理单元将包转发到在所述第一表格中所确定的输出目的地,并且当在所述第一表格和所述第二表格中的至少一个中未找到具有与所接收到的包相匹配的匹配条件的条目时,所述包处理单元根据由所述控制装置所设置的第三条目来广播所接收到的包。
2.根据权利要求1所述的通信节点,其中,
将与网络相连的终端的地址设置为所述第二条目的匹配条件。
3.根据权利要求1或2所述的通信节点,其中,
登记有这样的第四条目,该第四条目用于当所述第一表格不具有下述第一条目时来指示在所述第二表格中进行搜索,所述第一条目具有与所接收到的包相匹配的匹配条件。
4.根据权利要求1或2所述的通信节点,其中,
当在至另一通信节点的链路中出现故障时,所述通信节点请求所述控制装置来重新计算广播路径并且重新设置所述第三条目。
5.根据权利要求1或2所述的通信节点,其中,
所述通信节点基于预定超时值来至少对所述第一条目执行老化处理。
6.一种通信系统,包括:
多个通信节点,该多个通信节点包括:
第一表格,用于存储第一条目,所述第一条目将匹配条件与和所述匹配条件相匹配的包的输出目的地相关联,其中,所述匹配条件至少包括有目的地地址;
第二表格,用于存储具有预定匹配条件的第二条目;
目的地学习单元,用于将所接收到的包的源和接收端口的集合登记作为第一条目,在该第一条目中,所述第一表格中的匹配条件与输出目的地相关联;以及
包处理单元,当从所述第一表格和所述第二表格中的每一个找到具有与所接收到的包相匹配的匹配条件的条目时,所述包处理单元将包转发到在所述第一表格中所确定的输出目的地,并且当在所述第一表格和所述第二表格中的至少一个中未找到具有与所接收到的包相匹配的匹配条件的条目时,所述包处理单元根据第三条目来广播所接收到的包;以及
控制装置,用于在所述通信节点中设置所述第二条目和所述第三条目。
7.一种与多个通信节点相连的控制装置,所述多个通信节点包括:
第一表格,用于存储第一条目,所述第一条目将匹配条件与和所述匹配条件相匹配的包的输出目的地相关联,其中,所述匹配条件至少包括有目的地地址;
第二表格,用于存储具有预定匹配条件的第二条目;
目的地学习单元,用于将所接收到的包的源和接收端口的集合登记作为第一条目,在该第一条目中,所述第一表格中的匹配条件与输出目的地相关联;以及
包处理单元,当从所述第一表格和所述第二表格中的每一个找到具有与所接收到的包相匹配的匹配条件的条目时,所述包处理单元将包转发到在所述第一表格中所确定的输出目的地,并且当在所述第一表格和所述第二表格中的至少一个中未找到具有与所接收到的包相匹配的匹配条件的条目时,所述包处理单元根据第三条目来广播所接收到的包,
所述控制装置计算在由所述多个通信节点所构成的网络中的广播路径,并且根据所述广播路径来对所述通信节点的至少所述第二表格中的条目进行设置。
8.根据权利要求7所述的控制装置,其中,
当在通信节点之间的链路中出现故障时,所述控制装置重新计算广播路径并且重新设置所述第三条目。
9.一种在通信节点中执行的包转发方法,
所述通信节点包括:
第一表格,用于存储第一条目,所述第一条目将匹配条件与和所述匹配条件相匹配的包的输出目的地相关联,其中,所述匹配条件至少包括有目的地地址;以及
第二表格,用于存储具有预定匹配条件的第二条目;
所述包转发方法包括:
将所接收到的包的源和接收端口的集合登记作为第一条目,在该第一条目中,所述第一表格中的匹配条件与输出目的地相关联;
当从所述第一表格和所述第二表格中的每一个找到具有与所接收到的包相匹配的匹配条件的条目时,将包转发到在所述第一表格中所确定的输出目的地;以及
当在所述第一表格和所述第二表格的至少一个中未找到具有与所接收到的包相匹配的匹配条件的条目时,根据第三条目来广播所接收到的包。
CN201380052800.1A 2012-10-10 2013-10-09 通信节点、通信系统、控制装置以及包转发方法 Expired - Fee Related CN104737503B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012224713 2012-10-10
JP2012-224713 2012-10-10
PCT/JP2013/077476 WO2014057977A1 (ja) 2012-10-10 2013-10-09 通信ノード、通信システム、制御装置、パケット転送方法及びプログラム

Publications (2)

Publication Number Publication Date
CN104737503A CN104737503A (zh) 2015-06-24
CN104737503B true CN104737503B (zh) 2018-01-02

Family

ID=50477444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380052800.1A Expired - Fee Related CN104737503B (zh) 2012-10-10 2013-10-09 通信节点、通信系统、控制装置以及包转发方法

Country Status (11)

Country Link
US (1) US9819584B2 (zh)
EP (1) EP2908483B1 (zh)
JP (1) JP5935897B2 (zh)
KR (1) KR101707355B1 (zh)
CN (1) CN104737503B (zh)
BR (1) BR112015007232A2 (zh)
CA (1) CA2888136A1 (zh)
ES (1) ES2660738T3 (zh)
IN (1) IN2015DN02007A (zh)
RU (1) RU2581558C1 (zh)
WO (1) WO2014057977A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2604995C1 (ru) * 2012-11-28 2016-12-20 Нек Корпорейшн Коммутационное устройство, способ и программа управления настройкой vlan
EP3110085A4 (en) * 2014-02-19 2017-10-25 NEC Corporation Network control method, network system, device, and program
JP6369175B2 (ja) * 2014-07-04 2018-08-08 富士通株式会社 パケット処理装置、制御プログラム、及びパケット処理装置の制御方法
US10848420B2 (en) * 2018-02-12 2020-11-24 Cisco Technology, Inc. Dynamic forwarding features in network elements

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012070173A1 (en) * 2010-11-22 2012-05-31 Nec Corporation Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
CN102576343A (zh) * 2009-09-28 2012-07-11 日本电气株式会社 计算机系统和虚拟机迁移方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100559979B1 (ko) * 2003-04-03 2006-03-13 엘지전자 주식회사 이동통신 시스템에서의 메시지 전송방법
US20050141537A1 (en) * 2003-12-29 2005-06-30 Intel Corporation A Delaware Corporation Auto-learning of MAC addresses and lexicographic lookup of hardware database
US7801125B2 (en) * 2004-10-22 2010-09-21 Cisco Technology, Inc. Forwarding table reduction and multipath network forwarding
JP4481147B2 (ja) * 2004-10-28 2010-06-16 富士通株式会社 Macアドレス学習装置
US8565124B2 (en) * 2005-03-04 2013-10-22 Nec Corporation Node, network, correspondence relationship generation method and frame transfer program
US8116312B2 (en) 2006-02-08 2012-02-14 Solarflare Communications, Inc. Method and apparatus for multicast packet reception
US8098677B1 (en) 2009-07-31 2012-01-17 Anue Systems, Inc. Superset packet forwarding for overlapping filters and related systems and methods
WO2011037105A1 (ja) * 2009-09-25 2011-03-31 日本電気株式会社 コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法
WO2011087085A1 (ja) * 2010-01-14 2011-07-21 日本電気株式会社 計算機、ネットワーク接続切替え方法およびプログラム
JP5651970B2 (ja) 2010-03-11 2015-01-14 日本電気株式会社 通信装置、通信制御方法、及び通信制御用プログラム
EP2572473B1 (en) * 2010-05-19 2014-02-26 Telefonaktiebolaget L M Ericsson (PUBL) Methods and apparatus for use in an openflow network
US8391289B1 (en) * 2010-10-29 2013-03-05 Hewlett-Packard Development Company, L.P. Managing a forwarding table in a switch
US8873398B2 (en) * 2011-05-23 2014-10-28 Telefonaktiebolaget L M Ericsson (Publ) Implementing EPC in a cloud computer with openflow data plane
US8804490B2 (en) * 2011-07-29 2014-08-12 Telefonaktiebolaget L M Ericsson (Publ) Controller placement for fast failover in the split architecture
US9288555B2 (en) * 2011-11-01 2016-03-15 Plexxi Inc. Data center network architecture
US8971338B2 (en) * 2012-01-09 2015-03-03 Telefonaktiebolaget L M Ericsson (Publ) Expanding network functionalities for openflow based split-architecture networks
CN102594664B (zh) * 2012-02-02 2015-06-17 杭州华三通信技术有限公司 流量转发方法和装置
US8705536B2 (en) * 2012-03-05 2014-04-22 Telefonaktiebolaget L M Ericsson (Publ) Methods of operating forwarding elements including shadow tables and related forwarding elements
US9143557B2 (en) * 2012-06-27 2015-09-22 Juniper Networks, Inc. Feedback loop for service engineered paths
US9036638B2 (en) * 2012-08-09 2015-05-19 International Business Machines Corporation Avoiding unknown unicast floods resulting from MAC address table overflows
US9071529B2 (en) * 2012-10-08 2015-06-30 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for accelerating forwarding in software-defined networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102576343A (zh) * 2009-09-28 2012-07-11 日本电气株式会社 计算机系统和虚拟机迁移方法
WO2012070173A1 (en) * 2010-11-22 2012-05-31 Nec Corporation Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
On the Flexibility of MPLS Applications over an OpenFlow-enabled Network;Omar El Ferkouss, Sergio Correia,Racha Ben Ali ET AL;《GLOBAL TELECOMMUNICATIONS CONFERENCE(GLOBECOM 2011)》;20120119;全文 *
OPENFLOW SWITCH SPECIFICATION VERSION 1.3.1;OPENFLOW NETWORKING FOUNDATION;《OPENFLOW SWITCH SPECIFICATION》;20120906;全文 *

Also Published As

Publication number Publication date
EP2908483A1 (en) 2015-08-19
BR112015007232A2 (pt) 2017-07-04
CN104737503A (zh) 2015-06-24
RU2581558C1 (ru) 2016-04-20
EP2908483B1 (en) 2017-11-29
JPWO2014057977A1 (ja) 2016-09-05
EP2908483A4 (en) 2016-05-25
JP5935897B2 (ja) 2016-06-15
US20150256457A1 (en) 2015-09-10
WO2014057977A1 (ja) 2014-04-17
IN2015DN02007A (zh) 2015-08-14
KR101707355B1 (ko) 2017-02-15
KR20150068451A (ko) 2015-06-19
US9819584B2 (en) 2017-11-14
CA2888136A1 (en) 2014-04-17
ES2660738T3 (es) 2018-03-26

Similar Documents

Publication Publication Date Title
CN102792646B (zh) 通信系统、控制装置、通信方法
CN106170952B (zh) 用于在数据网络中部署最大冗余树的方法和系统
US10075371B2 (en) Communication system, control apparatus, packet handling operation setting method, and program
US9692650B2 (en) Control apparatus, communication system, communication method, and program
KR101787861B1 (ko) 제어 장치, 통신 시스템, 스위치 제어 방법 및 프로그램을 기록한 기록 매체
CN107040462A (zh) 路由方法和中间路由器
JP5585660B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
CN104737503B (zh) 通信节点、通信系统、控制装置以及包转发方法
JP5644948B2 (ja) パケット転送システム、制御装置、パケット転送方法およびプログラム
JPWO2013141340A1 (ja) 制御装置、通信装置、通信システム、通信方法及びプログラム
JP2015508950A (ja) コントロール方法、コントロール装置、通信システムおよびプログラム
CN104509045A (zh) 控制装置、通信系统、通信方法和程序
WO2014129624A1 (ja) 制御装置、通信システム、経路切替方法及びプログラム
US20150003291A1 (en) Control apparatus, communication system, communication method, and program
WO2014175423A1 (ja) 通信ノード、通信システム、パケット処理方法及びプログラム
US20150256455A1 (en) Communication system, path information exchange apparatus, communication node, forwarding method for path information and program
CN104885417A (zh) 控制装置、通信系统、通信节点控制方法以及程序
CN104660504A (zh) 计算机网络中进行封包多路径路由选择的装置及其方法
JP6175766B2 (ja) 通信ノード、制御装置、通信システム、エントリ集約方法及びプログラム
WO2014087993A1 (ja) 制御装置、通信システム、通信方法及びプログラム
CN107005490A (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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180102

Termination date: 20211009