CN103974380A - 一种终端接入位置保活的方法及装置 - Google Patents

一种终端接入位置保活的方法及装置 Download PDF

Info

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
Application number
CN201310030197.9A
Other languages
English (en)
Other versions
CN103974380B (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.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201310030197.9A priority Critical patent/CN103974380B/zh
Priority to US14/651,176 priority patent/US20150326526A1/en
Priority to PCT/CN2014/070442 priority patent/WO2014114196A1/en
Publication of CN103974380A publication Critical patent/CN103974380A/zh
Application granted granted Critical
Publication of CN103974380B publication Critical patent/CN103974380B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/58Caching 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地址映射记录和终端接入位置记录进行保活。
CN201310030197.9A 2013-01-24 2013-01-24 一种终端接入位置保活的方法及装置 Active CN103974380B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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的终端设备实时接入、离开感知方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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