CN103974380A - 一种终端接入位置保活的方法及装置 - Google Patents
一种终端接入位置保活的方法及装置 Download PDFInfo
- Publication number
- CN103974380A CN103974380A CN201310030197.9A CN201310030197A CN103974380A CN 103974380 A CN103974380 A CN 103974380A CN 201310030197 A CN201310030197 A CN 201310030197A CN 103974380 A CN103974380 A CN 103974380A
- Authority
- CN
- China
- Prior art keywords
- record
- terminal equipment
- mac address
- access position
- terminal
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4552—Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/58—Caching of addresses or names
Abstract
本发明公开了一种终端接入位置保活的方法和装置,所述方法和装置应用于Openflow网络环境下,所述Openflow网络环境中包括有运行具体应用的终端设备,Openflow交换机以及Openflow控制器。所述Openflow控制器通过周期性接收终端设备发送的ARP报文,及时更新终端设备的IP/MAC地址映射记录以及终端接入位置记录,以实现对所述终端设备的IP/MAC地址映射记录以及终端接入位置记录进行保活,进而确保终端设备的接入位置记录不会老化。
Description
技术领域
本发明涉及数据通信领域,尤其涉及一种基于Openflow网络环境下终端接入位置保活的方法及装置。
背景技术
随着互联网业务的不断发展,互联网业务对于在互联网上部署的时间要求越来越短,比如几年前一个业务部署往往需要几个月的时间,而且还要花费大量的人力;现在一个互联网业务可能会要求在投入少量人力的情况下,在几天内完成部署。如何快速部署一个互联网业务,这涉及到一些新的技术,比如SDN(Software Defined Network,软件定义网络),在SDN定义的模型下,可以通过软件的方式实现对业务的部署,从而减少人力投入,缩短工期。在众多SDN技术中,OpenFlow是其中最具代表性的一种技术。
如图1所示,为典型的OpenFlow组网结构示意图。在该网络环境下,OpenFlow交换机除了彼此之间存在数据转发链路(图1所示的Openflow数据通道)外,还通过一条独立的管理通道(图1所示的Openflow管理通道)和OpenFlow控制器建立连接。当OpenFlow交换机收到报文后,会将报文上报给OpenFlow控制器,OpenFlow控制器经过一定的计算,再告诉OpenFlow交换机如何处理该报文,是丢弃、限流、还是从哪个端口发送出去。比如图1所示的Server2给Server1发送一个ICMP请求报文时,完整的报文转发过程如图2所示,具体包括如下步骤:
步骤1、Server2(MAC地址为MAC2)发送一个ICMP请求给Server1(MAC地址为MAC1),报文首先到达OpenFlow交换机Switch5;
步骤2、OpenFlow交换机Switch5将ICMP报文通过OpenFlow管理通道上报给OpenFlow控制器;
步骤3、OpenFlow控制器解析ICMP报文的目标MAC地址,通过查找终端接入位置记录,发现MAC1是从OpenFlow交换机Switch4上接入的;通过计算OpenFlow交换机Switch5和OpenFlow交换机Switch4之间的路径,发现报文可以通过OpenFlow交换机Switch5的端口eth1发送给OpenFlow交换机Switch4,于是OpenFlow控制器通过OpenFlow管理通道给OpenFlow交换机Switch5发送一条指令,要求将目标ICMP报文从端口eth1发送出去;
步骤4、OpenFlow交换机Switch5根据OpenFlow控制器要求将报文从端口eth1发送出去;
步骤5、OpenFlow交换机Switch2将ICMP报文通过OpenFlow管理通道上报给OpenFlow控制器;
步骤6、OpenFlow控制器收到报文后,按照和步骤3完全相同的处理,通过OpenFlow管理通道给OpenFlow交换机Switch2发送一条指令,要求将目标ICMP报文从端口eth2发送出去;
步骤7、OpenFlow交换机Switch5根据OpenFlow控制器要求将报文从端口eth2发送出去;
步骤8、OpenFlow交换机Switch4将ICMP报文通过OpenFlow管理通道上报给OpenFlow控制器;
步骤9、OpenFlow控制器解析ICMP报文的目标MAC地址,通过查找终端接入位置记录,发现MAC1是从OpenFlow交换机Switch4上接入的,即报文已经到达目标交换机;由于终端接入位置记录还记录了MAC1是从端口eth2接入的,于是OpenFlow控制器通过OpenFlow管理通道给OpenFlow交换机Switch4发送一条指令,要求将目标ICMP报文从端口eth2发送出去;
步骤10、OpenFlow交换机Switch4根据OpenFlow控制器要求将报文从端口eth2发送出去,ICMP请求报文到达Server1。
在上述转发过程中,OpenFlow控制器参考了一个重要的数据结构“终端接入位置记录”,如果终端接入位置记录没有目标MAC地址的相关信息,OpenFlow控制器则不得不将报文执行泛洪(广播)转发。另一方面,如果终端接入位置记录不准确,将会导致报文转发错误。因此OpenFlow控制器需要对终端接入位置记录进行正确维护。
OpenFlow控制器可以通过解析报文源MAC来增加终端接入位置记录:如果OpenFlow交换机接收报文的端口没有连接其它OpenFlow交换机,则认为解析得到的终端设备MAC地址从OpenFlow交换机接收端口接入。为了解决终端接入位置记录中MAC地址对应服务器发生位置迁移的问题,如果OpenFlow控制器长时间没有收到终端接入位置记录中MAC地址发送的报文(即报文的源MAC地址为终端接入位置记录的MAC地址),则老化/删除终端接入位置记录的相关信息。
然而,在上面对终端接入位置记录执行老化处理的过程中,假如MAC1对应的服务器Server1并没有发生位置迁移,只是Server1长时间没有给外部发送报文,这将导致MAC1在终端接入位置记录的信息被错误的老化掉,以后发送给Server1的报文不得不执行广播。如果OpenFlow网络中存在大量类似设备,将会导致OpenFlow控制器大量发送广播报文,影响整个网络的转发性能。
发明内容
有鉴于此,本发明提供一种终端接入位置保活的方法和装置,以解决上述现有技术中存在的不足。
本发明是通过如下技术方案实现的:
一种终端接入位置保活的方法,应用于Openflow网络环境下,所述Openflow网络环境中包括有运行具体应用的终端设备,Openflow交换机以及Openflow控制器,其中所述方法包括如下步骤:
步骤1、OpenFlow控制器接收终端设备的报文,更新终端设备的IP/MAC地址映射记录以及终端接入位置记录;
步骤2、周期性发送ARP请求报文,对终端设备的IP/MAC地址映射记录以及终端接入位置记录进行保活;
步骤3、周期性老化终端设备的IP/MAC地址映射记录以及终端接入位置记录。
进一步地,所述步骤1中当OpenFlow控制器从报文中获取源IP/MAC地址,进一步判断报文在OpenFlow交换机上的输入端口是否连接了其它的OpenFlow交换机,如果未连接,则更新终端设备的IP/MAC地址映射记录以及终端接入位置记录。
进一步地,所述更新终端设备的IP/MAC地址映射记录以及终端接入位置记录,具体为:
步骤11、获取源MAC地址及在OpenFlow交换机上的输入端口,并在终端接入位置记录中查找是否已经存在相应记录,如果存在,则将已存在记录里的时间修改为当前时间;如果不存在,则根据获取的源MAC地址、OpenFlow交换机IP地址及OpenFlow交换机端口新增一条终端接入位置记录,时间等于当前时间。
步骤12、如果报文是ARP报文,获取源IP/MAC地址,在终端设备的IP/MAC地址映射记录中查找是否存在相应记录,如果存在,则将已存在记录里的时间修改为当前时间;如果不存在,则根据获取的源IP/MAC地址新增一条终端设备的IP/MAC地址映射记录,时间等于当前时间。
进一步地,所述步骤2具体包括:
步骤21、遍历终端设备的IP/MAC地址映射记录,对于每一条记录,执行步骤22;
步骤22、根据终端设备的IP/MAC地址映射记录中包含的MAC在终端接入位置记录中查找接入位置,如果查找不到,继续执行下一条记录,否则执行步骤23;
步骤23、根据步骤22获取到的接入位置,构造一个ARP请求报文,ARP目的IP为终端设备的IP地址、目标MAC为空、源IP地址为OpenFlow控制器本地的一个IP、源MAC地址为OpenFlow控制器本地的一个MAC,通过获取到的接入位置发送出去;
步骤24、接收来自终端设备的ARP响应报文,对终端设备的IP/MAC地址映射记录和终端接入位置记录进行保活。
本发明还同时提供一种终端接入位置保活的装置,应用于Openflow网络环境下,所述Openflow网络环境中包括有运行具体应用的终端设备,Openflow交换机以及Openflow控制器,其中所述装置具体为Openflow控制器,包括:
记录更新模块,用于接收终端设备的报文,并记录更新终端设备的IP/MAC地址映射记录以及终端接入位置;
ARP报文发送模块,用于周期性发送ARP请求报文,对终端设备的IP/MAC地址映射记录以及终端接入位置记录进行保活;
老化模块,用于周期性老化终端设备的IP/MAC地址映射记录以及终端接入位置记录。
进一步地,所述记录更新模块当从终端设备发送的报文中获取源IP/MAC地址时,进一步判断报文在OpenFlow交换机上的输入端口是否连接了其它的OpenFlow交换机,如果未连接,则更新终端设备的IP/MAC地址映射记录以及终端接入位置记录。
进一步地,所述记录更新模块更新终端设备的IP/MAC地址映射记录以及终端接入位置记录,具体为:
步骤11、获取源MAC地址及在OpenFlow交换机上的输入端口,并在终端接入位置记录中查找是否已经存在相应记录,如果存在,则将已存在记录里的时间修改为当前时间;如果不存在,则根据获取的源MAC地址、OpenFlow交换机IP地址及OpenFlow交换机端口新增一条终端接入位置记录,时间等于当前时间。
步骤12、如果报文是ARP报文,获取源IP/MAC地址,在终端设备的IP/MAC地址映射记录中查找是否存在相应记录,如果存在,则将已存在记录里的时间修改为当前时间;如果不存在,则根据获取的源MAC地址、源IP地址新增一条终端设备的IP/MAC地址映射记录,时间等于当前时间。
进一步地,所述ARP报文请求模块对终端设备的IP/MAC地址映射记录以及终端接入位置记录进行保活,具体为:
步骤21、遍历终端设备的IP/MAC地址映射记录,对于每一条记录,执行步骤22;
步骤22、根据当前终端设备的IP/MAC地址映射记录中包含的MAC在终端接入位置记录中查找接入位置,如果查找不到,继续执行下一条记录,否则执行步骤23;
步骤23、根据步骤22获取到的接入位置,构造一个ARP请求报文,ARP目的IP为终端设备的IP地址、目标MAC为空、源IP地址为OpenFlow控制器本地的一个IP、源MAC地址为OpenFlow控制器本地的一个MAC,通过获取到的接入位置发送出去;
步骤24、接收来自终端设备的ARP响应报文,对终端设备的IP/MAC地址映射记录和终端接入位置记录进行保活。
与现有的技术相比,本发明Openflow控制器通过周期性接收终端设备发送的ARP报文,及时更新终端设备的IP/MAC地址映射记录以及终端接入位置记录,以实现对所述终端设备的IP/MAC地址映射记录以及终端接入位置记录进行保活,进而确保终端设备的接入位置记录不会老化。
附图说明
图1为现有典型的Openflow组网结构示意图。
图2为图1所示网络环境下,Server2给Server1发送ICMP请求报文的转发流程图。
图3为本发明终端接入位置保活的方法流程示意图。
图4为某一应用场景下本发明终端接入位置保活的示例图。
图5为本发明终端接入位置保活的装置结构示意图。
具体实施方式
为实现本发明目的,本发明采用的核心思想为:所述Openflow控制器通过周期性接收终端设备发送的ARP报文,及时更新终端设备的IP/MAC地址映射记录以及终端接入位置记录,以实现对所述终端设备的IP/MAC地址映射记录以及终端接入位置记录进行保活,进而确保终端设备的接入位置记录不会老化。
为使本领域技术人员更加清楚和明白,以下结合附图及实施例详细说明本发明的具体实现方式。
如图3所示,为本发明终端接入位置保活的方法流程示意图。其中所述方法应用于Openflow网络环境下,所述Openflow网络环境中包括有运行具体应用的终端设备(通常为服务器),Openflow交换机以及Openflow控制器。所述方法包括如下步骤:
步骤1、OpenFlow控制器接收终端设备的报文,更新终端设备的IP/MAC地址映射记录以及终端接入位置记录。
在本发明中,终端设备的IP/MAC地址映射记录如下(通常为ARP表):
进一步地,在本发明中,终端接入位置记录定义如下:
当OpenFlow控制器从报文中获取源IP/MAC地址后,进一步判断报文在OpenFlow交换机上的输入端口是否连接了其它的OpenFlow交换机,如果未连接,则处理步骤11;否则,则通过一定的算法指示Openflow交换机对该接收的报文进行相应的处理。
步骤11、获取源MAC地址及在OpenFlow交换机上的输入端口,并在终端接入位置记录g_oMacLocMap中查找是否已经存在相应记录,如果存在,则将已存在记录里的时间updateTime修改为当前时间;如果不存在,则根据获取的源MAC地址、OpenFlow交换机IP地址及OpenFlow交换机端口新增一条终端接入位置记录,时间updateTime等于当前时间。
步骤12、如果报文是ARP报文,获取源IP/MAC地址,在终端设备的IP/MAC地址映射记录g_oIpMacMap中查找是否存在相应记录,如果存在,则将已存在记录里的时间updateTime修改为当前时间;如果不存在,则根据获取的源MAC地址、源IP地址新增一条终端设备的IP/MAC地址映射记录,时间updateTime等于当前时间。
步骤2、周期性发送ARP请求报文,对终端设备的IP/MAC地址映射记录以及终端接入位置记录进行保活。
具体地,本发明Openflow控制器执行如下步骤:
步骤21、遍历终端设备的IP/MAC地址映射记录g_oIpMacMap,对于每一条记录,执行步骤22;
步骤22、根据当前终端设备的IP/MAC地址映射记录(假设当前IP/MAC记录中包含的IP地址为IP1,MAC地址为MAC1)中包含的MAC(假设为MAC1)在终端接入位置记录g_oMacLocMap查找接入位置,如果查找不到,继续执行下一条记录,否则执行步骤23;
步骤23、根据步骤22获取到的接入位置(假设为Switch1的Port1端口),构造一个ARP请求报文,ARP目的IP为终端设备的IP地址(假定为IP1)、目标MAC为空、源IP地址为OpenFlow控制器本地的一个IP、源MAC地址为OpenFlow控制器本地的一个MAC,通过获取到的接入位置(假设Switch1的Port1端口)发送出去。
ARP请求报文发送出去以后,如果此时终端设备仍然存在,将会发送ARP响应报文,当Openflow控制器收到来自终端设备的ARP响应报文后,返回步骤1对终端设备的IP/MAC地址映射记录和终端接入位置记录进行更新。
步骤3、周期性老化终端设备的IP/MAC地址映射记录以及终端接入位置记录。
具体地,本步骤中,本发明Openflow控制器执行如下步骤:
步骤31、遍历终端设备的IP/MAC地址映射记录g_oIpMacMap,对于每一条记录,执行步骤32;
步骤32、如果当前时间减去当前记录里的时间updateTime大于老化时间,则删除当前记录;
步骤33、遍历终端接入位置记录g_oMacLocMap,对于每一条位置记录,执行步骤34;
步骤34、如果当前时间减去当前位置信息的时间updateTime大于老化时间,则删除当前记录。
通过上述过程,本发明专利很好地解决了终端接入位置被错误老化的问题:如果终端在线,终端对应的终端接入位置记录不会老化;如果终端不在线,在经过一个老化周期后,终端对应的终端接入位置记录将会老化。
需要说明的是,为了保证终端设备的IP/MAC地址映射记录以及终端接入位置记录在老化之前,至少发送了一次ARP请求,要求该终端设备的IP/MAC地址映射记录以及终端接入位置记录的老化周期必须大于ARP请求的发送周期。
为使本领域技术人员更加容易理解,下面仍以图1所示的网络环境为例进行说明。假如在某一应用场景下,Server1和Server2是两台接入终端设备,Server1的IP地址是IP1,MAC地址是MAC1;Server2的IP地址是IP2,MAC地址是MAC2。Server1和Server2在向其它设备发送报文时,OpenFlow控制器在步骤1中记录了这两台设备的相关信息:
终端设备的IP/MAC地址映射记录
终端接入位置记录
后来,Server1不再向外部发送报文,Server2离线,如图4所示。
根据本发明步骤2所述,OpenFlow控制器将周期性(假设发送的周期1分钟)发送ARP请求报文。
所述Openflow控制器首先遍历终端设备的IP/MAC地址映射记录g_oIpMacMap,g_oIpMacMap包含两条记录,{IP1,{IP1,MAC1,updateTime1}}和{IP2,{IP2,MAC2,updateTime2}};
对于{IP1,{IP1,MAC1,updateTime1}},通过终端接入位置记录g_oMacLocMap,可知道IP1接在Switch4的端口eth2上;构造一个ARP请求报文,ARP目的IP为IP1、目标MAC为空、源IP地址为OpenFlow控制器本地的一个IP、源MAC地址为OpenFlow控制器本地的一个MAC,通过Switch4的eth2端口发送出去;
对于{IP2,{IP2,MAC2,updateTime2}},通过终端接入位置记录g_oMacLocMap,可知道IP2接在Switch5的端口eth2上;构造一个ARP请求报文,ARP目的IP为IP2、目标MAC为空、源IP地址为OpenFlow控制器本地的一个IP、源MAC地址为OpenFlow控制器本地的一个MAC,通过Switch5的eth2端口发送出去。
由于Server1在线,Server1会发送ARP响应报文,ARP响应报文包含Server1的IP地址IP1和MAC地址MAC1,根据本发明步骤1所述,OpenFlow控制器执行下述处理:
步骤11、从报文中获取源MAC地址,由于报文在OpenFlow交换机上的输入端口eth2未连接其它OpenFlow交换机,在g_oMacLocMap中查找存在相应记录,将已存在记录的updateTime修改为当前时间updateTime6;
步骤12、由于报文是ARP报文,获取源IP地址及源MAC地址,在g_oIpMacMap中查找存在相关记录,将已存在记录的updateTime修改为当前时间updateTime6。
经过步骤1处理后,终端设备的IP/MAC地址映射记录g_oIpMacMap和终端接入位置记录g_oMacLocMap包含的数据更新时间将会发生变化。
OpenFlow控制器周期(周期为1分钟)执行g_oIpMacMap和g_oMacLocMap老化(老化周期为5分钟):
首先、Openflow控制器遍历终端设备的IP/MAC地址映射记录g_oIpMacMap,g_oIpMacMap包含{IP1,{IP1,MAC1,updateTime6}}和{IP2,{IP2,MAC2,updateTime2}},对于{IP1,{IP1,MAC1,updateTime6}},由于每隔1分钟都会更新一次,因此当前时间减去updateTime6将不会大于5分钟,相关记录将会得到保留;对于{IP2,{IP2,MAC2,updateTime2}},由于Server2已经离线,在本发明步骤1中收不到该服务器的报文,在最多经过5分钟后,当前时间减去updateTime2将会大于5分钟,因此该记录将会被删除;
接着、Openflow控制器遍历终端接入位置记录g_oMacLocMap,g_oMacLocMap包含{MAC1,{Switch4,eth2,updateTime6}}和{MAC2,{Switch5,eth2,updateTime4}},对于{MAC1,{Switch4,eth2,updateTime6}},由于每隔1分钟都会更新一次,因此当前时间减去updateTime6将不会大于5分钟,相关记录将会得到保留;对于{MAC2,{Switch5,eth2,updateTime4}},由于Server2已经离线,在本发明步骤1中收不到该服务器的报文,在最多经过5分钟后,当前时间减去updateTime4将会大于5分钟,因此该记录将会被删除;
上述处理过程执行完毕后,终端设备的IP/MAC地址映射记录g_oIpMacMap和终端接入位置记录g_oMacLocMap包含的数据最终变为:
从而确保了Server1的终端接入位置记录永远不会被老化。当终端不主动给外部发送报文时,终端接入位置记录不会被错误老化。
本专利通过Openflow控制器通过周期性接收终端设备发送的ARP报文,及时更新终端设备的IP/MAC地址映射记录以及终端接入位置记录,以实现对所述终端设备的IP/MAC地址映射记录以及终端接入位置记录进行保活,进而确保终端设备的接入位置记录不会老化。
本发明同时提供了一种终端设备保活的装置,所述装置应用于Openflow网络环境下,所述Openflow网络环境中包括有运行具体应用的终端设备(通常为服务器),Openflow交换机以及Openflow控制器。所述装置在本发明中具体为Openflow控制器,具体包括:
记录更新模块,用于所述装置接收到来自终端设备的报文时,更新终端设备的IP/MAC地址映射记录以及终端接入位置记录。
在本发明中,终端设备的IP/MAC地址映射记录如下(通常为ARP表):
进一步地,在本发明中,终端接入位置记录定义如下:
当所述记录更新模块从来自终端设备的报文中获取源IP/MAC地址后,还需进一步判断报文在OpenFlow交换机上的输入端口是否连接了其它的OpenFlow交换机,如果未连接,则处理步骤11;否则,则通过一定的算法指示Openflow交换机对该接收的报文进行相应的处理。
步骤11、获取源MAC地址及在OpenFlow交换机上的输入端口,并在终端接入位置记录g_oMacLocMap中查找是否已经存在相应记录,如果存在,则将已存在记录里的时间updateTime修改为当前时间;如果不存在,则根据获取的源MAC地址、OpenFlow交换机IP地址及OpenFlow交换机端口新增一条终端接入位置记录,时间updateTime等于当前时间。
步骤12、如果报文是ARP报文,获取源IP/MAC地址,在终端设备的IP/MAC地址映射记录g_oIpMacMap中查找是否存在相应记录,如果存在,则将已存在记录里的时间updateTime修改为当前时间;如果不存在,则根据获取的源IP/MAC地址新增一条终端设备的IP/MAC地址映射记录,时间updateTime等于当前时间。
ARP报文发送模块,用于周期性发送ARP请求报文,对终端设备的IP/MAC地址映射记录以及终端接入位置记录进行保活。
具体地,本发明ARP报文发送模块执行如下步骤:
步骤21、遍历终端设备的IP/MAC地址映射记录g_oIpMacMap,对于g_oIpMacMap包含的每一条记录,执行步骤22;
步骤22、根据当前终端设备的IP/MAC地址映射记录(假设当前IP/MAC记录中包含的IP地址为IP1,MAC地址为MAC1)中包含的MAC(假设为MAC1)在终端接入位置g_oMacLocMap查找接入位置,如果查找不到,继续执行下一条记录,否则执行步骤23;
步骤23、根据步骤22获取到的接入位置(假设为Switch1的Port1端口),构造一个ARP请求报文,ARP目的IP为终端设备的IP地址(假定为IP1)、目标MAC为空、源IP地址为OpenFlow控制器本地的一个IP、源MAC地址为OpenFlow控制器本地的一个MAC,通过获取到的接入位置(例如Switch1的Port1端口)发送出去。
ARP请求报文发送出去以后,如果此时终端设备仍然存在,将会发送ARP响应报文,当记录更新模块收到来自终端设备的ARP响应报文后,对终端设备的IP/MAC地址映射记录和终端接入位置记录进行更新。
老化模块、用于周期性老化终端设备的IP/MAC地址映射记录以及终端接入位置记录。
具体地,本步骤中,本发明老化模块执行如下步骤:
步骤31、遍历终端设备的IP/MAC地址映射记录g_oIpMacMap,对于g_oIpMacMap包含的每一条记录,执行步骤32;
步骤32、如果当前时间减去当前记录里的时间updateTime大于老化时间,则删除当前记录;
步骤33、遍历终端接入位置记录g_oMacLocMap,对于g_oMacLocMap包含的每一条位置记录,执行步骤34;
步骤34、如果当前时间减去当前位置记录里的时间updateTime大于老化时间,则删除当前记录。
通过上述过程,本发明专利很好地解决了终端接入位置被错误老化的问题:如果终端在线,终端对应的终端接入位置记录不会老化;如果终端不在线,在经过一个老化周期后,终端对应的终端接入位置记录将会老化。
需要说明的是,为了保证终端设备的IP/MAC地址映射记录以及终端接入位置记录在老化之前,至少发送了一次ARP请求,要求该IP/MAC地址间对应关系以及终端接入位置记录的老化周期必须大于ARP请求的发送周期。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种终端接入位置保活的方法,应用于Openflow网络环境下,所述Openflow网络环境中包括有运行具体应用的终端设备,Openflow交换机以及Openflow控制器,其特征在于,所述方法包括如下步骤:
步骤1、OpenFlow控制器接收终端设备的报文,更新终端设备的IP/MAC地址映射记录以及终端接入位置记录;
步骤2、周期性发送ARP请求报文,对终端设备的IP/MAC地址映射记录以及终端接入位置记录进行保活;
步骤3、周期性老化终端设备的IP/MAC地址映射记录以及终端接入位置记录。
2.如权利要求1所述的方法,其特征在于,所述步骤1中当OpenFlow控制器从报文中获取源IP/MAC地址,进一步判断报文在OpenFlow交换机上的输入端口是否连接了其它的OpenFlow交换机,如果未连接,则更新终端设备的IP/MAC地址映射记录以及终端接入位置记录。
3.如权利要求1或2所述的方法,其特征在于,所述更新终端设备的IP/MAC地址映射记录以及终端接入位置记录,具体为:
步骤11、获取源MAC地址及在OpenFlow交换机上的输入端口,并在终端接入位置记录中查找是否已经存在相应记录,如果存在,则将已存在记录里的时间修改为当前时间;如果不存在,则根据获取的源MAC地址、OpenFlow交换机IP地址及OpenFlow交换机端口新增一条终端接入位置记录,时间等于当前时间。
步骤12、如果报文是ARP报文,获取源IP/MAC地址,在终端设备的IP/MAC地址映射记录中查找是否存在相应记录,如果存在,则将已存在记录里的时间修改为当前时间;如果不存在,则根据获取的源IP/MAC地址新增一条终端设备的IP/MAC地址映射记录,时间等于当前时间。
4.如权利要求1所述的方法,其特征在于,所述步骤2具体包括:
步骤21、遍历终端设备的IP/MAC地址映射记录,对于每一条记录,执行步骤22;
步骤22、根据终端设备的IP/MAC地址映射记录中包含的MAC在终端接入位置记录中查找接入位置,如果查找不到,继续执行下一条记录,否则执行步骤23;
步骤23、根据步骤22获取到的接入位置,构造一个ARP请求报文,ARP目的IP为终端设备的IP地址、目标MAC为空、源IP地址为OpenFlow控制器本地的一个IP、源MAC地址为OpenFlow控制器本地的一个MAC,通过获取到的接入位置发送出去;
步骤24、接收来自终端设备的ARP响应报文,对终端设备的IP/MAC地址映射记录和终端接入位置记录进行保活。
5.一种终端接入位置保活的装置,应用于Openflow网络环境下,所述Openflow网络环境中包括有运行具体应用的终端设备,Openflow交换机以及Openflow控制器,其特征在于,所述装置具体为Openflow控制器,包括:
记录更新模块,用于接收终端设备的报文,并记录更新终端设备的IP/MAC地址映射记录以及终端接入位置;
ARP报文发送模块,用于周期性发送ARP请求报文,对终端设备的IP/MAC地址映射记录以及终端接入位置记录进行保活;
老化模块,用于周期性老化终端设备的IP/MAC地址映射记录以及终端接入位置记录。
6.如权利要求5所述的装置,其特征在于,所述记录更新模块当从终端设备发送的报文中获取源IP/MAC地址时,进一步判断报文在OpenFlow交换机上的输入端口是否连接了其它的OpenFlow交换机,如果未连接,则更新终端设备的IP/MAC地址映射记录以及终端接入位置记录。
7.如权利要求5或6所述的装置,其特征在于,所述记录更新模块更新终端设备的IP/MAC地址映射记录以及终端接入位置记录,具体为:
步骤11、获取源MAC地址及在OpenFlow交换机上的输入端口,并在终端接入位置记录中查找是否已经存在相应记录,如果存在,则将已存在记录里的时间修改为当前时间;如果不存在,则根据获取的源MAC地址、OpenFlow交换机IP地址及OpenFlow交换机端口新增一条终端接入位置记录,时间等于当前时间。
步骤12、如果报文是ARP报文,获取源IP/MAC地址,在终端设备的IP/MAC地址映射记录中查找是否存在相应记录,如果存在,则将已存在记录里的时间修改为当前时间;如果不存在,则根据获取的源MAC地址、源IP地址新增一条终端设备的IP/MAC地址映射记录,时间等于当前时间。
8.如权利要求5所述的装置,其特征在于,所述ARP报文请求模块对终端设备的IP/MAC地址映射记录以及终端接入位置记录进行保活,具体为:
步骤21、遍历终端设备的IP/MAC地址映射记录,对于每一条记录,执行步骤22;
步骤22、根据当前终端设备的IP/MAC地址映射记录中包含的MAC在终端接入位置记录中查找接入位置,如果查找不到,继续执行下一条记录,否则执行步骤23;
步骤23、根据步骤22获取到的接入位置,构造一个ARP请求报文,ARP目的IP为终端设备的IP地址、目标MAC为空、源IP地址为OpenFlow控制器本地的一个IP、源MAC地址为OpenFlow控制器本地的一个MAC,通过获取到的接入位置发送出去;
步骤24、接收来自终端设备的ARP响应报文,对终端设备的IP/MAC地址映射记录和终端接入位置记录进行保活。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310030197.9A CN103974380B (zh) | 2013-01-24 | 2013-01-24 | 一种终端接入位置保活的方法及装置 |
US14/651,176 US20150326526A1 (en) | 2013-01-24 | 2014-01-10 | Keeping a terminal access location record alive |
PCT/CN2014/070442 WO2014114196A1 (en) | 2013-01-24 | 2014-01-10 | Keeping a terminal access location record alive |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310030197.9A CN103974380B (zh) | 2013-01-24 | 2013-01-24 | 一种终端接入位置保活的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103974380A true CN103974380A (zh) | 2014-08-06 |
CN103974380B CN103974380B (zh) | 2018-05-15 |
Family
ID=51226917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310030197.9A Active CN103974380B (zh) | 2013-01-24 | 2013-01-24 | 一种终端接入位置保活的方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150326526A1 (zh) |
CN (1) | CN103974380B (zh) |
WO (1) | WO2014114196A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104283983A (zh) * | 2014-10-27 | 2015-01-14 | 杭州华三通信技术有限公司 | 一种软件定义网络中虚拟机ip地址分配方法及装置 |
CN104539543A (zh) * | 2014-12-22 | 2015-04-22 | 华为技术有限公司 | 一种数据通信方法及装置 |
CN105391628A (zh) * | 2014-08-27 | 2016-03-09 | 横河电机株式会社 | 数据传送系统、数据传送方法、控制装置、控制方法以及非临时性计算机可读存储介质 |
CN112637373A (zh) * | 2020-11-17 | 2021-04-09 | 新华三技术有限公司合肥分公司 | 一种保持哑终端在线的方法及设备 |
CN112769610A (zh) * | 2020-12-30 | 2021-05-07 | 北京天融信网络安全技术有限公司 | 集中管理系统的管理方法、装置、电子设备和存储介质 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9762508B2 (en) * | 2014-10-02 | 2017-09-12 | Microsoft Technology Licensing, Llc | Relay optimization using software defined networking |
JP2016158011A (ja) * | 2015-02-23 | 2016-09-01 | ルネサスエレクトロニクス株式会社 | 配信制御装置、データ配信システム、配信制御方法及びプログラム |
CN106375231B (zh) | 2015-07-22 | 2019-11-05 | 华为技术有限公司 | 一种流量切换方法、设备及系统 |
US9917775B2 (en) * | 2015-12-22 | 2018-03-13 | Mcafee, Llc | Intelligent devices in a software-defined network |
CN106899612B (zh) * | 2017-04-01 | 2020-01-24 | 汕头大学 | 一种自动检测假冒主机arp欺骗的方法 |
TWI639325B (zh) * | 2017-09-01 | 2018-10-21 | 財團法人工業技術研究院 | 自動配置的交換機、自動配置交換機的方法、交換機自動部署的軟體定義網路系統及其方法 |
EP3713165B1 (en) * | 2017-12-11 | 2023-05-31 | Huawei Cloud Computing Technologies Co., Ltd. | Network and network management method |
US11303505B2 (en) * | 2020-07-22 | 2022-04-12 | Arista Networks, Inc. | Aggregated control-plane tables |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102576343A (zh) * | 2009-09-28 | 2012-07-11 | 日本电气株式会社 | 计算机系统和虚拟机迁移方法 |
CN102843300A (zh) * | 2012-09-12 | 2012-12-26 | 盛科网络(苏州)有限公司 | 实现Openflow交换机系统中控制器负载平衡的方法及系统 |
CN102868645A (zh) * | 2012-09-26 | 2013-01-09 | 盛科网络(苏州)有限公司 | Openflow交换机系统及其报文处理方法 |
WO2013185715A1 (zh) * | 2012-09-18 | 2013-12-19 | 中兴通讯股份有限公司 | 一种实现虚拟网络的方法和虚拟网络 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103081409B (zh) * | 2010-09-09 | 2015-07-08 | 日本电气株式会社 | 网络系统和网络管理方法 |
EP2745208B1 (en) * | 2011-08-17 | 2018-11-28 | Nicira, Inc. | Distributed logical l3 routing |
US9178833B2 (en) * | 2011-10-25 | 2015-11-03 | Nicira, Inc. | Chassis controller |
CN102594689B (zh) * | 2012-02-22 | 2015-06-10 | 中兴通讯股份有限公司 | 一种分布式网络控制方法及装置 |
CN103209225A (zh) * | 2013-04-03 | 2013-07-17 | 北京邮电大学 | 一种基于周期触发代理的sdn广播处理方法 |
CN103269278B (zh) * | 2013-04-19 | 2016-06-29 | 江苏省未来网络创新研究院 | 一种基于sdn的终端设备实时接入、离开感知方法 |
-
2013
- 2013-01-24 CN CN201310030197.9A patent/CN103974380B/zh active Active
-
2014
- 2014-01-10 WO PCT/CN2014/070442 patent/WO2014114196A1/en active Application Filing
- 2014-01-10 US US14/651,176 patent/US20150326526A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102576343A (zh) * | 2009-09-28 | 2012-07-11 | 日本电气株式会社 | 计算机系统和虚拟机迁移方法 |
CN102843300A (zh) * | 2012-09-12 | 2012-12-26 | 盛科网络(苏州)有限公司 | 实现Openflow交换机系统中控制器负载平衡的方法及系统 |
WO2013185715A1 (zh) * | 2012-09-18 | 2013-12-19 | 中兴通讯股份有限公司 | 一种实现虚拟网络的方法和虚拟网络 |
CN102868645A (zh) * | 2012-09-26 | 2013-01-09 | 盛科网络(苏州)有限公司 | Openflow交换机系统及其报文处理方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105391628A (zh) * | 2014-08-27 | 2016-03-09 | 横河电机株式会社 | 数据传送系统、数据传送方法、控制装置、控制方法以及非临时性计算机可读存储介质 |
CN105391628B (zh) * | 2014-08-27 | 2018-11-27 | 横河电机株式会社 | 数据传送系统及数据传送方法 |
CN104283983A (zh) * | 2014-10-27 | 2015-01-14 | 杭州华三通信技术有限公司 | 一种软件定义网络中虚拟机ip地址分配方法及装置 |
CN104283983B (zh) * | 2014-10-27 | 2018-01-09 | 新华三技术有限公司 | 一种软件定义网络中虚拟机ip地址分配方法及装置 |
CN104539543A (zh) * | 2014-12-22 | 2015-04-22 | 华为技术有限公司 | 一种数据通信方法及装置 |
CN104539543B (zh) * | 2014-12-22 | 2018-01-05 | 华为技术有限公司 | 一种数据通信方法及装置 |
CN112637373A (zh) * | 2020-11-17 | 2021-04-09 | 新华三技术有限公司合肥分公司 | 一种保持哑终端在线的方法及设备 |
CN112637373B (zh) * | 2020-11-17 | 2022-05-27 | 新华三技术有限公司合肥分公司 | 一种保持哑终端在线的方法及设备 |
CN112769610A (zh) * | 2020-12-30 | 2021-05-07 | 北京天融信网络安全技术有限公司 | 集中管理系统的管理方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20150326526A1 (en) | 2015-11-12 |
CN103974380B (zh) | 2018-05-15 |
WO2014114196A1 (en) | 2014-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103974380A (zh) | 一种终端接入位置保活的方法及装置 | |
CN102291320B (zh) | Mac地址学习方法和边缘设备 | |
JP5610247B2 (ja) | ネットワークシステム、及びポリシー経路設定方法 | |
CN104506408A (zh) | 基于sdn的数据传输的方法及装置 | |
JPWO2013115177A1 (ja) | ネットワークシステム、及びトポロジー管理方法 | |
CN108259215B (zh) | 一种设备管理方法及装置 | |
CN102165741A (zh) | 在ipv6网络中用于封锁和搜索主机的方法 | |
US9521071B2 (en) | Federation of controllers management using packet context | |
CN106130819B (zh) | Vtep异常的检测方法及装置 | |
CN110098988B (zh) | 用于处理因特网协议包的方法和系统 | |
CN104301238A (zh) | 一种报文处理方法、装置及系统 | |
CN103931144A (zh) | 一种在虚拟域中通信的方法、设备和系统 | |
EP3021533A1 (en) | Switching device, controller, and method and system for switching device configuration and packet processing | |
CN114064206A (zh) | 一种访问边缘节点的pod方法、系统、设备及存储介质 | |
CN111934969A (zh) | Mac转发表的维护方法及装置 | |
CN107465621A (zh) | 一种路由器发现方法、sdn控制器、路由器和网络系统 | |
CN105391612A (zh) | 一种vxlan vtep邻接学习的方法及装置 | |
WO2016101600A1 (zh) | 线卡的确定、确定处理方法及装置、线卡的确定系统 | |
CN105515995A (zh) | 报文处理方法、流表生成方法及装置 | |
CN105338127A (zh) | 媒体接入控制mac地址表更新方法、交换机及系统 | |
CN103916489A (zh) | 一种单域名多ip的域名解析方法及系统 | |
KR101984846B1 (ko) | 객체 이동성을 제공하는 통신 방법 및 장치 | |
CN115685971A (zh) | 一种车辆诊断方法及相关装置 | |
CN112511440B (zh) | 报文转发方法、系统、存储介质和电子设备 | |
CN104780138A (zh) | 私有冗余协议网络中stp/rstp报文的透传方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate 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: 310053 Hangzhou science and Technology Development Zone, Zhejiang high tech park, No. six and road, No. 310 Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |