CN102938794B - 地址解析协议arp消息转发方法、交换机和控制器 - Google Patents
地址解析协议arp消息转发方法、交换机和控制器 Download PDFInfo
- Publication number
- CN102938794B CN102938794B CN201210457413.3A CN201210457413A CN102938794B CN 102938794 B CN102938794 B CN 102938794B CN 201210457413 A CN201210457413 A CN 201210457413A CN 102938794 B CN102938794 B CN 102938794B
- Authority
- CN
- China
- Prior art keywords
- arp
- message
- switch
- response message
- controller
- 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
Links
Abstract
本发明实施例提供一种地址解析协议ARP消息转发方法、交换机和控制器。其中,该方法包括:第一交换机接收ARP消息;所述第一交换机将所述ARP消息发送给网络中的控制器,以使所述控制器根据所述ARP消息,构造包含转发端口信息的响应消息;所述第一交换机接收所述控制器发送的所述响应消息;所述第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息。本发明实施例通过控制器为所管理网络的主机提供ARP服务,可提高网络效率,节省网络带宽。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种地址解析协议ARP消息转发方法、交换机和控制器。
背景技术
目前随着互联网技术的发展壮大,互联网的规模越来越庞大、承载的应用复杂、互联网变得脆弱和迟钝,互联网可控性的问题随之而来。
地址解析协议(AddressResolutionProtocol,以下缩写为ARP)是获取物理地址的一个传输控制协议/因特网互联协议(TransmissionControlProtocol/InternetProtocol,以下缩写为TCP/IP)。源节点通过广播ARP请求获取目的节点的媒体介入控制(MediaAccessControl,以下缩写为MAC)地址,从而实现向目的节点发送数据包。
现有技术中,交换机或者路由器收到ARP请求后,会向与其连接的所有设备转发该ARP请求,从而引发广播风暴,占用带宽,降低网络效率。
发明内容
本发明实施例提供一种地址解析协议ARP消息转发方法、交换机和控制器,以节省带宽,提高网络效率。
本发明一方面提供一种地址解析协议ARP消息转发方法,包括:
第一交换机接收ARP消息;
所述第一交换机将所述ARP消息发送给网络中的控制器,以使所述控制器根据所述ARP消息,构造包含转发端口信息的响应消息;
所述第一交换机接收所述控制器发送的所述响应消息;
所述第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息。
具体的,所述第一交换机接收地址解析协议ARP消息,包括:
所述第一交换机接收源主机发送的第一ARP请求消息。
所述第一交换机接收的响应消息包含与所述第一ARP请求消息对应的第一ARP应答消息,所述第一ARP应答消息中携带所述第一ARP请求消息中的目的IP地址对应的媒体介入控制MAC地址,且所述响应消息中包含的转发端口信息为连接所述第一交换机与所述源主机的端口的信息;
所述第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息,包括:
所述第一交换机根据所述转发端口信息,向所述源主机发送所述第一ARP应答消息。
具体的,所述第一交换机接收的所述响应消息包含所述第一ARP请求消息,且所述响应消息中包含的转发端口信息为至少一个交换端口的信息,所述交换端口为连接第一交换机与第二交换机的端口;
所述第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息,包括:
所述第一交换机根据所述转发端口信息,向至少一个第二交换机发送所述第一ARP请求消息。
所述第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息之后,还包括:
所述第一交换机接收所述第二交换机发送的第二ARP应答消息,所述第二ARP应答消息中携带所述第一ARP请求消息中的目的IP地址对应的MAC地址。
进一步地,所述第一交换机接收地址解析协议ARP消息,包括:
所述第一交换机接收目的主机发送的第二ARP应答消息;
所述第一交换机将所述第二ARP应答消息发送给所述控制器,以使所述控制器根据所述第二ARP应答消息,构造包含转发端口信息的响应消息。
所述第一交换机接收目的主机发送的第二ARP应答消息之前,还包括:
所述第一交换机接收第三交换机发送的第二ARP请求消息;
所述第一交换机向与所述第一交换机连接的至少一个主机发送所述第二ARP请求消息。
具体的,所述第一交换机接收的所述响应消息包含所述第二ARP请求消息,且所述响应消息中包含的转发端口信息为至少一个交换端口的信息,所述交换端口为连接第一交换机与第三交换机的端口;
所述第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息,包括:
所述第一交换机根据所述转发端口信息,向所述第三交换机发送所述第二ARP应答消息。
本发明另一方面提供一种地址解析协议ARP消息转发方法,包括:
控制器接收第一交换机发送的ARP消息;
所述控制器根据所述ARP消息,构造包含转发端口信息的响应消息;
所述控制器向所述第一交换器发送所述响应消息,以使所述第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息。
进一步地,所述ARP消息为第一ARP请求消息;所述控制器根据所述ARP消息,构造包含转发端口信息的响应消息,包括:
若所述控制器查询预先存储的ARP映射缓存表,获取到所述ARP请求消息中携带的目的主机的IP地址对应的MAC地址,则根据所述MAC地址构造与所述第一ARP请求消息对应的第一ARP应答消息,并将所述第一ARP应答消息,以及连接所述第一交换机与源主机的端口信息封装成响应消息;或者,
若所述控制器查询预先存储的ARP映射缓存表,未获取到所述ARP请求消息中携带的目的主机的IP地址对应的MAC地址,则所述控制器将所述第一ARP请求消息,以及至少一个交换端口的信息封装成响应消息;其中,所述交换端口为连接所述第一交换机与第二交换机的端口;所述ARP映射缓存表中包含网络中各主机的互联网协议IP地址与媒体介入控制MAC地址的对应关系。
具体的,所述ARP消息为第二ARP应答消息;所述控制器根据所述ARP消息,构造包含转发端口信息的响应消息,包括:
所述控制器获取所述第二ARP应答消息中携带的源主机的IP地址和源主机的MAC地址,则所述控制器根据所述第二ARP应答消息,构造包含转发端口信息的响应消息,且所述响应消息中包含的转发端口信息为连接与所述源主机连接的第三交换机与所述第一交换机的端口的信息。
本发明又一方面提供一种交换机,包括:
接收模块,用于接收地址解析协议ARP消息;
发送模块,用于将所述接收模块接收到的ARP消息发送给网络中的控制器,以使所述控制器根据所述ARP消息,构造包含转发端口信息的响应消息;
所述接收模块,还用于接收所述控制器发送的所述响应消息;
所述发送模块,还用于根据所述响应消息中的转发端口信息,向对应的端口转发所述响应消息。
具体的,所述接收模块具体用于:接收源主机发送的第一ARP请求消息。
所述接收模块接收的所述响应消息包含与所述第一ARP请求消息对应的第一ARP应答消息,所述第一ARP应答消息中携带所述第一ARP请求消息中的目的IP地址对应的媒体介入控制MAC地址,且所述响应消息中包含的转发端口信息为连接所述交换机与所述源主机的端口的信息;
所述发送模块具体用于:根据所述转发端口信息,向所述源主机发送所述第一ARP应答消息。
所述转发端口信息为至少一个交换端口的信息,所述交换端口为连接交换机与第二交换机的端口;
所述发送模块具体用于:根据所述转发端口信息,向至少一个第二交换机发送所述第一ARP请求消息。
具体的,所述接收模块还用于:接收所述第二交换机发送的第二ARP应答消息,所述第二ARP应答消息中携带所述第一ARP请求消息中的目的IP地址对应的MAC地址。
具体的,所述ARP消息为第二ARP应答消息,所述接收模块具体用于:接收目的主机发送的第二ARP应答消息;
所述发送模块具体用于:将所述第二ARP应答消息发送给所述控制器,以使所述控制器根据所述第二ARP应答消息,构造包含转发端口信息的响应消息。
进一步地,所述接收模块还用于:接收第三交换机发送的第二ARP请求消息;
所述发送模块还用于:向与所述交换机连接的至少一个主机发送所述第二ARP请求消息。
所述转发端口信息为连接所述交换机与所述第三交换机的端口的信息;
所述发送模块还用于:根据所述转发端口信息,向所述第三交换机发送所述第二ARP应答消息。
本发明再一方面提供一种控制器,包括:
接收模块,用于接收第一交换机发送的地址解析协议ARP消息;
确定模块,用于根据所述接收模块接收到的ARP消息,构造包含转发端口信息的响应消息;
发送模块,用于向所述第一交换器发送所述响应消息,以使所述第一交换机根据所述响应消息中的转发端口信息,向对应的端口转发所述响应消息。
进一步地,所述ARP消息为第一ARP请求消息,所述确定模块具体用于:若所述控制器查询预先存储的ARP映射缓存表,获取到所述ARP请求消息中携带的目的主机的IP地址对应的MAC地址,则根据所述MAC地址构造与所述第一ARP请求消息对应的第一ARP应答消息,并将所述第一ARP应答消息,以及连接所述第一交换机与源主机的端口信息封装成响应消息;或者,
所述确定模块具体还用于:若所述控制器查询预先存储的ARP映射缓存表,未获取到所述ARP请求消息中携带的目的主机的IP地址对应的MAC地址,则所述控制器将所述第一ARP请求消息,以及至少一个交换端口的信息封装成响应消息;其中,所述交换端口为连接所述第一交换机与第二交换机的端口;所述ARP映射缓存表中包含网络中各主机的互联网协议IP地址与媒体介入控制MAC地址的对应关系。
具体的,所述ARP消息为第二ARP应答消息,所述确定模块还用于:获取所述第二ARP应答消息中携带的源主机的IP地址和源主机的MAC地址,则所述控制器根据所述第二ARP应答消息,构造包含转发端口信息的响应消息,且所述响应消息中包含的转发端口信息为连接与所述源主机连接的第三交换机与所述第一交换机的端口的信息。
本发明实施例地址解析协议ARP消息转发方法、交换机和控制器,通过交换机将ARP消息发送给网络中的控制器,由控制器确定消息的转发端口,并将确定固定转发端口信息发送给交换机,从而交换机可以根据控制器确定的转发端口转发消息。实现由控制器为所管理网络的交换机确定消息转发端口,可提高网络效率,节省网络带宽。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明地址解析协议ARP消息转发方法实施例一的流程图;
图2为本发明地址解析协议ARP消息转发方法实施例二的流程图;
图3为本发明地址解析协议ARP消息转发方法实施例三的流程图;
图4为本发明地址解析协议ARP消息转发方法实施例四的流程图;
图5为本发明地址解析协议ARP消息转发方法实施例五的流程图;
图6为本发明地址解析协议ARP消息转发方法实施例六的流程图;
图7为本发明交换机实施例一的结构示意图;
图8为本发明交换机实施例二的结构示意图;
图9为本发明交换机实施例三的结构示意图;
图10为本发明控制器实施例一的结构示意图;
图11为本发明控制器实施例二的结构示意图;
图12为本发明控制器实施例三的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例适用于现有的多种类型的网络架构,例如:基于软件定义网络(Software-DefinedNetworking,以下缩写为SDN)的网络架构,其核心技术为开放流(OpenFlow)网络交换模型,该模型通过开放的流表支持用户对网络处理行为进行控制。软件定义网络和现有网络体系的差别在于,转发控制分离、集中策略控制使得新的网络功能很容易,并且集中管理使得网络的可维护性获得质的飞跃。一个软件定义的可控的互联网,除了更加灵活以外,通过恰当的控制算法,将大大提高网络自身的健壮性、运行效率以及安全性。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示的或否则描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
以下通过实施例分别进行详细说明。图1为本发明地址解析协议ARP消息转发方法实施例一的流程图,如图1所示,本实施例的方法可以包括:
S101、第一交换机接收ARP消息;
其中,该ARP消息可以是一个主机发送给第一交换机的APR请求广播包,该ARP消息中可包含该主机的IP地址与MAC地址以及目的主机的的IP地址。网络中主机是进行数据交互的物理设备,可以是PC、交换机、路由器等一切可以接入到网络中的物理设备。
S102、第一交换机将所述ARP消息发送给网络中的控制器,以使所述控制器根据所述ARP消息,构造包含转发端口信息的响应消息;
其中,第一交换机是整个OpenFlow网络的核心部件,主要管理数据层的转发。第一交换机接收到ARP消息后,首先在本地的流表上查找转发目标端口,其中所述流表由很多个流表项组成,每个流表项就是一个转发规则,进入交换机的数据包可通过查询流表来获得该ARP消息转发的目的端口。即若该流表中已存储有ARP消息中的目的主机的IP地址与MAC地址的映射关系,该映射关系就是ARP消息的转发规则。如果本地的流表中有匹配的转发的目的端口的MAC地址,则根据流表上的转发规则对应的IP地址与MAC地址的映射关系转发数据包;如果本地的流表中没有匹配的转发的目的端口的MAC地址,则把ARP消息转发给控制器,由控制层决定转发端口。同样,该ARP消息也可以是目的主机发送的响应消息,那么在本地的流表上查找转发目标端口即为查看本地的流表中若有目的主机响应消息对应的主机的IP地址与MAC地址的映射关系,则根据该映射关系的转发规则转发该响应消息,以使对应的主机收到响应消息后,即可得到目的主机的MAC地址,从而实现主机对目的主机发送数据包的目的;如果本地的流表中没有匹配的响应消息对应的主机的IP地址与MAC地址的映射关系,则把响应消息转发给控制器,由控制层决定转发端口。
S103、第一交换机接收所述控制器发送的所述响应消息;
其中,第一交换机进行数据层的转发,而控制器实现了控制层的功能。控制器通过OpenFlow协议这个标准接口对第一交换机中的流表进行控制,从而实现对整个网络进行集中控制。
S104、第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息。
第一交换机根据所述转发端口信息,例如该转发端口信息为转发给其它交换机或某个主机,则第一交换机根据该转发端口信息,向对应的交换机或某个主机端口转发所述响应消息。
本实施例通过交换机将ARP消息发送给网络中的控制器,由控制器确定消息的转发端口;并将确定固定转发端口信息发送给交换机,从而交换机可以根据控制器确定的转发端口转发消息。本发明实施例可以由控制器为所管理网络的主机提供ARP服务来实现地址解析协议ARP消息转发,可提高网络效率,节省网络带宽。
下面采用几个具体的实施例,对图1所示方法实施例的技术方案进行详细说明。
图2为本发明地址解析协议ARP消息转发方法实施例二的流程图,如图2所示,该实施例提供的地址解析协议ARP消息转发方法是上述图1所示实施例中的交换机端所实现的方法,进一步的,本实施例中所述ARP消息为第一ARP请求消息,所述第一交换机接收地址解析协议ARP消息,包括:
S201、第一交换机接收源主机发送的第一ARP请求消息。
举例来说,主机A要与主机F进行数据交互,首先要获取主机F的MAC地址,然后才能进行数据交互,主机A即为源主机,主机F即为目的主机;第一交换机接收主机A发送的第一ARP请求消息,其中该第一ARP请求消息为APR请求广播包。
S202、第一交换机将所述第一ARP请求消息发送给网络中的控制器,以使所述控制器根据所述ARP消息,构造包含转发端口信息的响应消息;
具体的,上述例子中,第一交换机收到APR请求广播包以后,在本地的流表中查找与APR请求广播包有无相匹配的转发目标端口,若没有找到匹配,通过OpenFlow协议的packetIn包将APR请求广播包转发给控制器;以使控制器根据PacketIn包信息,解析需要转发的数据包是ARP请求广播包,则对ARP请求广播包进行处理,根据所述ARP消息,构造包含转发端口信息的响应消息;控制器通过对APR请求广播包进行解析,解析出目的主机F的IP地址,然后查询控制器内部的ARP映射缓存表中是否存在与该IP地址匹配的MAC地址,如果匹配,则构造ARP应答包,应答包中被查询的主机F的MAC地址即为主机F真实的MAC地址,并且构造该ARP应答包的转发流表,将ARP应答包作为PacketOut消息包的data数据,转发流表作为PacketOut消息包的action数据填充到PacketOut消息包中;如果没有匹配,则构造原ARP请求包的转发流表grouptable,填充到PacketOut消息包action对应数据中;并将PacketOut消息包下发给第一交换机。其中所述ARP映射缓存表存储的是该控制器所管理网络中所有主机设备的IP地址与MAC地址的映射关系,该ARP映射缓存表用于地址的查找,并可在控制器的作用下能够通过增加、删除、修改等方式加以更新。
S203、第一交换机接收所述控制器发送的所述响应消息,所述第一交换机接收的响应消息包含与所述第一ARP请求消息对应的第一ARP应答消息,所述第一ARP应答消息中携带所述第一ARP请求消息中的目的IP地址对应的媒体介入控制MAC地址,且所述响应消息中包含的转发端口信息为连接所述第一交换机与所述源主机的端口的信息;
具体的,上述例子中,第一ARP应答消息为PacketOut消息包,第一交换机收所述响应消息的PacketOut消息包,该PacketOut消息包中携带所述第一ARP请求消息中的目的IP地址对应的媒体介入控制MAC地址。
S204、第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息,包括:
所述第一交换机根据所述转发端口信息,向所述源主机发送所述第一ARP应答消息。
具体的,上述例子中,第一交换机收到所述响应消息的PacketOut消息包后,根据该消息包中的转发流表进行转发,如果是匹配情况,则将data数据转发给主机A,则主机就获得了主机F的MAC地址;
所述第一交换机接收的所述响应消息包含所述第一ARP请求消息,且所述响应消息中包含的转发端口信息为至少一个交换端口的信息,所述交换端口为连接第一交换机与第二交换机的端口;
上述例子中,如果是不匹配情况,则转发端口信息为转发给第二交换机。
所述第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息,包括:
所述第一交换机根据所述转发端口信息,向至少一个第二交换机发送所述第一ARP请求消息;
进一步地,上述例子中,第一交换机根据所述转发端口信息为转发给第二交换机,并根据grouptable的转发规则将原ARP请求广播包,转发到第二交换机。
所述第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息之后,还包括:
所述第一交换机接收所述第二交换机发送的第二ARP应答消息,所述第二ARP应答消息中携带所述第一ARP请求消息中的目的IP地址对应的MAC地址。
具体的,第二交换机收到主机A的ARP请求广播包以后,根据转发规则,将ARP请求广播包发送给主机F。
本实施例的方法是在图1所示方法实施例的技术方案的基础上,进一步的,可以由交换机对各主机的ARP请求消息以及对此ARP请求消息的应答消息进行接收和发送,由控制器确定转发端口,控制各交换机将数据包由源主机向ARP请求消息对应的目的主机MAC地址进行转发,可提高网络效率,节省网络带宽。
图3为本发明地址解析协议ARP消息转发方法实施例三的流程图,如图3所示,本实施例与图2所示实施例的区别在于,所述ARP消息为第二ARP应答消息,所述第一交换机接收地址解析协议ARP消息,包括:
S301、第一交换机接收目的主机发送的第二ARP应答消息;
举例来说,第二ARP应答消息为主机F发来的ARP应答包,主机F在确定是询问本机的MAC地址时发送ARP应答包给第一交换机;
S302、第一交换机将所述第二ARP应答消息发送给所述控制器,以使所述控制器根据所述第二ARP应答消息,构造包含转发端口信息的响应消息。
具体的,上述例子中,第一交换机在本地流表中未查找到主机F的ARP应答包转发匹配的端口,则通过PacketIn消息包将主机F的ARP应答包转发给控制器;以使控制器根据PacketIn包信息,根据所述第二ARP应答消息,构造包含转发端口信息的响应消息;即控制器对ARP应答包进行解析,解析出是ARP应答包以及应答的IP地址、MAC地址等信息,则更新ARP映射缓存表并保存,以备下次使用,然后构造该ARP应答包的转发流表,填充到PacketOut消息包action对应数据中;当其将PacketOut消息包填充完毕后,控制器将PacketOut消息包下发给第一交换机。
第一交换机接收目的主机发送的第二ARP应答消息之前,还包括:
S3010、第一交换机接收第三交换机发送的第二ARP请求消息;
具体的,上述例子中,当第三交换机收到控制器确定的所述转发端口信息为转发给第一交换机,第一交换机接收第三交换机根据grouptable的转发规则转发来的原ARP请求广播包。
S3020、第一交换机向与所述第一交换机连接的至少一个主机发送所述第二ARP请求消息。
具体的,上述例子中,第一交换机收到上述第三交换机转发来的原ARP请求广播包后,向与其连接的至少一个主机发送所述第二ARP请求消息,比如向主机D、主机E、主机F发送,而主机D、主机E确定不是发给自己的,就不应答;而主机F确定是询问本机的MAC地址时发送第二ARP应答包给第一交换机。
S303、第一交换机接收所述控制器发送的所述响应消息,所述第一交换机接收的所述响应消息为第二ARP应答消息,所述第一交换机接收的所述响应消息包含所述第二ARP请求消息,且所述响应消息中包含的转发端口信息为至少一个交换端口的信息,所述交换端口为连接第一交换机与第三交换机的端口;
在上述S302完成后,第三交换机收到主机F的ARP应答以后,该ARP应答的转发端口信息为所述第一交换机与所述第三交换机连接的端口信息;
S304、第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息,包括:
所述第一交换机根据所述转发端口信息,向所述第三交换机发送所述第二ARP应答消息。
上述例子中,第一交换机接收所述控制器发送的响应消息的PacketOut消息包后,根据该消息包中的转发流表,将主机F的ARP应答包转发给第三交换机;
第三交换机收到主机F的ARP应答以后,根据转发规则,将ARP应答包发送给主机A,则主机就获得了主机F的MAC地址;
主机A发送给主机F的数据包,通过第三交换机和第一交换机直接单播发送给主机F。
本实施例的方法是在图2所示方法实施例的技术方案的基础上,进一步的,可以由交换机对各主机的应答信息进行接收和发送,由控制器确定转发端口,控制各交换机将应答消息向对应的转发端口进行转发。
图4为本发明地址解析协议ARP消息转发方法实施例四的流程图,如图4所示,该实施例提供的地址解析协议ARP消息转发方法是上述图1所示实施例中的控制器端所实现的方法,包括:
S401、控制器接收第一交换机发送的ARP消息;
S402、所述控制器根据所述ARP消息,构造包含转发端口信息的响应消息;
S403、所述控制器向所述第一交换器发送所述响应消息,以使所述第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息。
本实施例的方法为图1所示方法实施例的技术方案对应的控制器端的实现方法,其实现原理和技术效果类似,此处不再赘述。
在上述实施例四的基础上,进一步地,S401中所述ARP消息为第一ARP请求消息,S402中所述控制器根据所述ARP消息,构造包含转发端口信息的响应消息,包括:
若所述控制器查询预先存储的ARP映射缓存表,获取到所述ARP请求消息中携带的目的主机的IP地址对应的MAC地址,则根据所述MAC地址构造与所述第一ARP请求消息对应的第一ARP应答消息,并将所述第一ARP应答消息,以及连接所述第一交换机与源主机的端口信息封装成响应消息;或者,
若所述控制器查询预先存储的ARP映射缓存表,未获取到所述ARP请求消息中携带的目的主机的IP地址对应的MAC地址,则所述控制器将所述第一ARP请求消息,以及至少一个交换端口的信息封装成响应消息;其中,所述交换端口为连接所述第一交换机与第二交换机的端口;所述ARP映射缓存表中包含网络中各主机的互联网协议IP地址与媒体介入控制MAC地址的对应关系。
本实施例的方法为图2所示方法实施例的技术方案对应的控制器端的实现方法,该实施例通过控制器接收交换机发送的响应消息,由控制器确定消息的转发端口;并将确定固定转发端口信息发送给交换机,从而使交换机可以根据控制器确定的转发端口转发消息。本发明实施例可以由控制器为所管理网络的主机提供ARP服务来实现地址解析协议ARP消息转发,可提高网络效率,节省网络带宽。
图5为本发明地址解析协议ARP消息转发方法实施例五的流程图,如图5所示,本实施例与上述实施例的区别在于,本实施例中所述ARP消息为第二ARP应答消息,本实施例描述的是由控制器对目的主机的第二ARP应答消息进行处理,并确定该第二ARP应答消息转发端口的过程。具体包括:
S501、控制器接收第一交换机发送的ARP消息;
S502、控制器根据所述ARP消息,构造包含转发端口信息的响应消息,包括:
所述控制器获取所述第二ARP应答消息中携带的源主机的IP地址和源主机的MAC地址,则所述控制器根据所述第二ARP应答消息,构造包含转发端口信息的响应消息,且所述响应消息中包含的转发端口信息为连接与所述源主机连接的第三交换机与所述第一交换机的端口的信息。
本实施例的方法为图3所示方法实施例的技术方案对应的控制器端的实现方法,其实现原理和技术效果类似,此处不再赘述。
图6为本发明地址解析协议ARP消息转发方法实施例六的流程图,本实施例描述的是由源主机发送数据包到目的主机的整个过程,如图6所示,本实施例的方法可以包括:
S601、第一交换机接收源主机发送的ARP请求消息;
在本地的流表中查询有无相匹配的目的主机的MAC地址;
如果没有匹配,则执行S602、第一交换机将所述ARP请求消息发送给网络中的控制器。
S603、控制器根据所述ARP请求消息,构造包含转发端口信息的第一响应消息,可以包括:
所述控制器收到所述ARP请求消息后,由所述控制器解析出所述目的主机的IP地址;
查询ARP映射缓存表中是否存在与所述目的主机的IP地址相匹配的MAC地址;
如果没有匹配,控制器则构建所述ARP请求消息的转发流表,并用所述ARP请求消息的转发流表数据填充构建第一响应消息;
如果有匹配,则所述控制器构建第一ARP应答包,并且构建所述第一ARP应答包的转发流表,其中所述第一ARP应答包中包含所述目的主机的MAC地址;
用所述第一ARP应答包数据和所述第一ARP应答包的转发流表数据填充构建所述第一响应消息;
S604、控制器将第一响应消息发送给所述第一交换机,可以包括:
所述第一交换机接收的所述第一响应消息包含与所述第一ARP请求消息对应的第一ARP应答消息,所述第一ARP应答消息中携带所述ARP请求消息中的目的IP地址对应的媒体介入控制MAC地址,且所述第一响应消息中包含的转发端口信息为连接所述第一交换机与所述源主机的端口的信息;
所述第一交换机根据所述第一响应消息中的所述第一ARP应答包的转发流表数据的转发规则,将所述第一ARP应答包数据发送给所述源主机;
所述源主机获取所述目的主机的MAC地址,通过所述第一交换机和所述第二交换机将数据包直接单播发送给所述目的主机;
或者,S605、第一交换机根据所述第一响应消息中的所述ARP请求消息的转发流表数据的转发规则,将所述ARP请求消息发送到第二交换机;
S606、第二交换机收到所述ARP请求消息后,将所述ARP请求消息发送给其本地的所有主机;
目的主机确定是询问本机的MAC地址,则发送第二ARP应答包给所述第二交换机;
所述第二交换机收到所述第二ARP应答包后,在本地的流表中查询有无相匹配的源主机的MAC地址;
如果没有匹配,则执行S607、第二交换机将第二ARP应答包发送给所述控制器,由所述控制器确定所述第二ARP应答包的转发端口,可以包括:
所述控制器收到所述第二ARP应答包后,由所述控制器解析出所述第二ARP应答包以及所述第二ARP应答包的IP地址、MAC地址,更新所述ARP映射缓存表并保存,以备下次使用,然后构建所述第二ARP应答包的转发流表,并用所述第二ARP应答包的转发流表数据填充构建第二响应消息;
S608、所述控制器将第二响应消息发送给所述第二交换机。
所述控制器将所述第二响应消息发送给所述第二交换机之后,还包括:
S609、所述第二交换机根据所述第二响应消息中的所述第二ARP应答包的转发流表数据的转发规则,将所述第二ARP应答包发送给所述第一交换机;
S6010、所述第一交换机收到第二ARP应答包后,根据转发规则,将所述第二ARP应答包发送给所述源主机;
S6011、所述源主机获取所述目的主机的MAC地址,通过所述第一交换机和所述第二交换机将数据包直接单播发送给所述目的主机。
进一步的,所述第一交换机接收源主机发送的ARP请求消息之前,还包括:
所述控制器通过网络包学习到IP地址与MAC地址的映射,定期更新所述ARP映射缓存表,使各主机在ARP更新请求的时候能直接获取与IP地址映射的MAC地址。
本实施例的方法同时包含图1和图4所示方法实施例的技术方案对应的数据发送的整个过程。该实施例的方法通过控制器对各交换机接收的主机的应答消息进行转发端口的确定,从而各交换机可根据该转发端口将数据正确发送到相应的端口。本实施例可以实现数据的高效转发,同时本实施例的技术方案可以增强网络带宽资源利用率。
图7本发明交换机实施例一的结构示意图,如图7所示,本发明实施例提供的交换机,用于完成图1所示实施例的地址解析协议ARP消息转发方法,该交换机100包括:
接收模块701,用于接收地址解析协议ARP消息;
发送模块702,用于将所述接收模块接收到的ARP消息发送给网络中的控制器,以使所述控制器根据所述ARP消息,构造包含转发端口信息的响应消息;
所述接收模块701,还用于接收所述控制器发送的所述响应消息;
所述发送模块702,还用于根据所述响应消息中的转发端口信息,向对应的端口转发所述响应消息。
本实施例的交换机,主要用于数据层的转发,交换机中存储控制器下发的流表,用来实现各种各样的功能,例如转发、统计、过滤等,流表由多个流表项组成,每个流表项就是一个转发规则。
本实施例的交换机,为本发明提供的地址解析协议ARP消息转发方法的执行设备,其执行地址解析协议ARP消息转发方法的过程可参见图1所示方法实施例的相关描述,其实现原理类似,此处不再赘述。
本实施例的交换机,通过接收模块和发送模块可接收和发送响应消息,可以实现根据转发端口进行数据层的转发的过程。同时通过该实施例的交换机实现数据转发时效率高,并能节省网络带宽。
图8为本发明交换机实施例二的结构示意图,如图8所示,在图7所示实施例的基础上,进一步地,所述ARP消息可以为第一ARP请求消息,所述接收模块701可以具体用于:接收源主机A发送的所述第一ARP请求消息。
所述接收模块701接收的所述响应消息可以为包含与所述第一ARP请求消息对应的第一ARP应答消息,所述第一ARP应答消息中携带所述第一ARP请求消息中的目的IP地址对应的媒体介入控制MAC地址,且所述响应消息中包含的转发端口信息为连接所述交换机100与所述源主机的端口的信息;
所述发送模块702具体可以用于:根据所述转发端口信息,向所述源主机发送所述第一ARP应答消息。
具体的,所述转发端口信息为至少一个交换端口的信息,所述交换端口为连接交换机100与第二交换机300的端口;
所述发送模块702可以具体用于:根据所述转发端口信息,向至少一个第二交换机300发送所述第一ARP请求消息。
所述接收模块701还可以用于:接收所述第二交换机300发送的第二ARP应答消息,所述第二ARP应答消息中携带所述第一ARP请求消息中的目的IP地址对应的MAC地址。
具体的,所述ARP消息可以为第二ARP应答消息,所述接收模块701可以具体用于:接收目的主机发送的第二ARP应答消息;
所述发送模块702可以具体用于:将所述第二ARP应答消息发送给所述控制器200,以使所述控制器200根据所述第二ARP应答消息,构造包含转发端口信息的响应消息。
本实施例的交换机,为本发明提供的地址解析协议ARP消息转发方法的执行设备,其执行地址解析协议ARP消息转发方法的过程可参见图2所示方法实施例的相关描述,其实现原理类似,此处不再赘述。
本实施例的交换机,可以根据控制器确定的转发端口进行相应的数据转发,不但转发效率高,还能节省网络带宽资源。
图9为本发明交换机实施例三的结构示意图,如图9所示,本实施例与图8所示实施例的区别是,进一步地,所述接收模块701还可以用于:接收第三交换机400发送的第二ARP请求消息;
所述发送模块702还可以用于:向与所述交换机100连接的至少一个主机发送所述第二ARP请求消息。
所述转发端口信息为连接所述交换机100与所述第三交换机400的端口的信息;
所述发送模块702还可以用于:根据所述转发端口信息,向所述第三交换机400发送所述第二ARP应答消息。
本实施例的交换机,为本发明提供的地址解析协议ARP消息转发方法的执行设备,其执行地址解析协议ARP消息转发方法的过程可参见图3所示方法实施例的相关描述,其实现原理类似,此处不再赘述。
本实施例的交换机,可用于接收目的主机的应答消息,并根据控制器200确定的该消息的转发端口将该消息发送到相应的端口。
图10为本发明控制器实施例一的结构示意图,如图10所示,本发明实施例提供的控制器200,可以包括:
接收模块901,用于接收第一交换机100发送的地址解析协议ARP消息;
确定模块902,用于根据接收模块接收的所述ARP消息,构造包含转发端口信息的响应消息;
发送模块903,用于向所述第一交换器发送所述响应消息,以使所述第一交换机100根据所述响应消息中的转发端口信息,向对应的端口转发所述响应消息。
本实施例的控制器通过内部接收模块、确定模块、发送模块的配合,控制交换机的消息转发,从而达到控制数据转发的目的。本实施例的控制器可以对网络进行集中控制,为需要转发的数据生成流表项,下发给交换机;并且包含一个网络设备的二层、三层地址映射表和查找算法,用于网络设备的地址查询。
本实施例的控制器,为本发明提供的地址解析协议ARP消息转发方法的执行设备,其执行地址解析协议ARP消息转发方法的过程可参见图4所示方法实施例的相关描述,其实现原理类似,此处不再赘述。
本实施例的控制器,可用于对交换机的应答消息进行处理,由控制器确定该消息的转发端口,并将该转发端口信息发送给交换机,由交换机根据该转发端口信息的转发规则将数据发送到相应的端口。本实施例的控制器可以对各交换机进行转发端口的控制,通过它能提高转发效率,节省带宽资源。
图11为本发明控制器实施例二的结构示意图,如图11所示,本实施例与图10所示实施例的区别是,进一步的,本实施例的控制器200,还可以包括ARP服务器(ARPService)900,该ARPService900作为控制器200中一个模块包含以下几个单元:ARP控制单元904、ARP协议单元905、ARP映射缓存表906,其中:
所述ARP控制单元904是ARPService900的控制引擎,负责调用下述的ARP协议单元905对ARP进行解析和封装,负责ARP映射缓存表906的增、删、改、查,负责构造ARP请求/应答的控制流表,负责下述ARP映射缓存表906的定期更新。
所述ARP协议单元905负责对ARP请求/应答包进行解析,负责构造ARP应答包。
所述ARP映射缓存表906存储的该控制器200所管理网络中所有主机设备的IP地址与MAC地址的映射表,该ARP映射缓存表906具有查找、增加、删除、修改的功能。
举例来说,上述图2所示实施例中所述的控制器通过对APR请求广播包进行解析,解析出目的主机F的IP地址,实际就是控制器200根据PacketIn包信息,解析需要转发的数据包是ARP广播请求包,则调用ARP控制单元904,由ARP控制单元904对ARP广播请求包进行处理;ARP控制单元904调用ARP协议单元905对ARP广播请求包进行解析,解析出被目的主机F的IP地址,然后查询ARP映射缓存表906中是否存在与该IP地址匹配的MAC地址,如果匹配,则通过ARP协议单元905构造ARP应答包,ARP应答包中被查询的目的主机F的MAC地址即为目的主机F真实的MAC地址,并且构造该ARP应答包的转发流表。
进一步的,ARPService通过算法,可权衡各主机的映射缓存表的更新时间,定期更新自己的ARP映射缓存表,例如通过各种网络包学习到IP地址与MAC地址映射,而不一定全是经过接收ARP请求,从而使各主机在ARP更新请求的时候,能直接获取到IP与MAC地址的映射。
本实施例的控制器通过内部ARPService900的ARP控制单元904、ARP协议单元905、ARP映射缓存表906,实现对ARP请求或应答信息的解析及控制,并控制各交换机中的流表,从而可以确定数据的转发端口。
本实施例的控制器,为本发明提供的地址解析协议ARP消息转发方法的执行设备,其执行地址解析协议ARP消息转发方法的过程可参见图5所示方法实施例的相关描述,其实现原理类似,此处不再赘述。
本实施例的控制器,可用于对交换机的应答消息进行处理,由控制器确定该消息的转发端口,控制器可以对各交换机进行转发端口的控制,通过本实施例的控制器能提高转发效率,节省带宽资源。
图12为本发明控制器实施例三的结构示意图,如图11-12所示,在图10所示实施例的基础上,进一步地,所述ARP消息为第一ARP请求消息,所述确定模块902具体可以用于:若所述控制器200查询预先存储的ARP映射缓存表906,获取到所述ARP请求消息中携带的目的主机F的IP地址对应的MAC地址,则根据所述MAC地址构造与所述第一ARP请求消息对应的第一ARP应答消息,并将所述第一ARP应答消息,以及连接所述第一交换机100与源主机A的端口信息封装成响应消息;或者,
所述确定模块902具体还可以用于:若所述控制器200查询预先存储的ARP映射缓存表906,未获取到所述ARP请求消息中携带的目的主机F的IP地址对应的MAC地址,则所述控制器200将所述第一ARP请求消息,以及至少一个交换端口的信息封装成响应消息;其中,所述交换端口为连接所述第一交换机100与第二交换机300的端口;所述ARP映射缓存表906中包含网络中各主机的互联网协议IP地址与媒体介入控制MAC地址的对应关系。
具体的,所述ARP消息为第二ARP应答消息,所述确定模块902还可以用于:获取所述第二ARP应答消息中携带的源主机A的IP地址和源主机的MAC地址,则所述控制器200根据所述第二ARP应答消息,构造包含转发端口信息的响应消息,且所述响应消息中包含的转发端口信息为连接与所述源主机A连接的第三交换机400与所述第一交换机100的端口的信息。
本实施例的控制器,为本发明提供的地址解析协议ARP消息转发方法的执行设备,其执行地址解析协议ARP消息转发方法的过程可参见图4或图5所示方法实施例的相关描述,其实现原理类似,此处不再赘述。
本实施例的控制器,通过内部的接收模块、确定模块、发送模块可以实现对交换机发来的消息进行转发端口的确定,并控制交换机按照该转发端口信息进行消息的转发。
上述各实施例中,仅以包括一个控制器和两个交换机为例进行说明,然而本发明并不以此为限。同时上述各实施例中其他主机要与主机F进行数据交互,可对应参照上述实施例中的原理和过程。
本发明实施例地址解析协议ARP消息转发方法、交换机和控制器,通过第一交换机接收ARP消息,并将所述ARP消息发送给网络中的控制器,以使所述控制器根据所述ARP消息,构造包含转发端口信息的响应消息;所述第一交换机接收所述控制器发送的携带所述转发端口信息的所述响应消息;所述第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息。本发明实施例可以由控制器为所管理网络的主机提供ARP服务来实现地址解析协议ARP消息转发,可提高网络效率,并可避免现有技术中ARP消息转发过程中容易引发广播风暴,占用带宽的问题。
进一步的,本发明上述各实施例的技术方案可以减轻控制器以及各交换机的负担,本发明实施例不需要对所有数据包进行解包和重新封装,也不需要修改主机端协议,兼容性强。并且,还可进一步扩展其应用领域,比如为其他应用提供管理网络的所有设备的IP—MAC数据库资源;或者用来有效防止ARP欺骗攻击,其可选的实现方法为:建立管理网络域内的MAC数据库,以备查询备案;获取域内DHCP服务器的IP地址与MAC地址的映射信息,以备收到ARP欺骗攻击包时进行验证;检查ARP程序包,用脚本文件分析ARP协议,发现ARP攻击包,就不转发并报警,通过上述过程可防止ARP欺骗的攻击。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,也可以通过FPGA、ASIC等纯硬件逻辑来实现。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (22)
1.一种地址解析协议ARP消息转发方法,其特征在于,包括:
第一交换机接收ARP消息;
所述第一交换机在本地的流表中查找转发端口;
若所述本地的流表中没有匹配的所述转发端口,则所述第一交换机将所述ARP消息发送给网络中的控制器,以使所述控制器根据所述ARP消息,构造包含转发端口信息的响应消息;
所述第一交换机接收所述控制器发送的所述响应消息;
所述第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息。
2.根据权利要求1所述的方法,其特征在于,所述第一交换机接收地址解析协议ARP消息,包括:
所述第一交换机接收源主机发送的第一ARP请求消息。
3.根据权利要求2所述的方法,其特征在于,所述第一交换机接收的所述响应消息包含与所述第一ARP请求消息对应的第一ARP应答消息,所述第一ARP应答消息中携带所述第一ARP请求消息中的目的IP地址对应的媒体介入控制MAC地址,且所述响应消息中包含的转发端口信息为连接所述第一交换机与所述源主机的端口的信息;
所述第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息,包括:
所述第一交换机根据所述转发端口信息,向所述源主机发送所述第一ARP应答消息。
4.根据权利要求2所述的方法,其特征在于,所述第一交换机接收的所述响应消息包含所述第一ARP请求消息,且所述响应消息中包含的转发端口信息为至少一个交换端口的信息,所述交换端口为连接第一交换机与第二交换机的端口;
所述第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息,包括:
所述第一交换机根据所述转发端口信息,向至少一个第二交换机发送所述第一ARP请求消息。
5.根据权利要求4所述的方法,其特征在于,所述第一交换机根据所述转发端口信息,向至少一个第二交换机发送所述ARP消息之后,还包括:
所述第一交换机接收所述第二交换机发送的第二ARP应答消息,所述第二ARP应答消息中携带所述第一ARP请求消息中的目的IP地址对应的MAC地址。
6.根据权利要求1所述的方法,其特征在于,所述第一交换机接收地址解析协议ARP消息,包括:
所述第一交换机接收目的主机发送的第二ARP应答消息。
7.根据权利要求6所述的方法,其特征在于,所述第一交换机接收目的主机发送的第二ARP应答消息之前,还包括:
所述第一交换机接收第三交换机发送的第二ARP请求消息;
所述第一交换机向与所述第一交换机连接的至少一个主机发送所述第二ARP请求消息。
8.根据权利要求6所述的方法,其特征在于,所述第一交换机接收的所述响应消息包含所述第二ARP请求消息,且所述响应消息中包含的转发端口信息为至少一个交换端口的信息,所述交换端口为连接第一交换机与第三交换机的端口;
所述第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息,包括:
所述第一交换机根据所述转发端口信息,向所述第三交换机发送所述第二ARP应答消息。
9.一种地址解析协议ARP消息转发方法,其特征在于,包括:
控制器接收第一交换机发送的ARP消息;
所述控制器根据所述ARP消息,构造包含转发端口信息的响应消息;
所述控制器向所述第一交换器发送所述响应消息,以使所述第一交换机根据所述转发端口信息,向对应的端口转发所述响应消息。
10.根据权利要求9所述的方法,其特征在于,所述ARP消息为第一ARP请求消息;所述控制器根据所述ARP消息,构造包含转发端口信息的响应消息,包括:
若所述控制器查询预先存储的ARP映射缓存表,获取到所述ARP请求消息中携带的目的主机的IP地址对应的MAC地址,则根据所述MAC地址构造与所述第一ARP请求消息对应的第一ARP应答消息,并将所述第一ARP应答消息,以及连接所述第一交换机与源主机的端口信息封装成响应消息;或者,
若所述控制器查询预先存储的ARP映射缓存表,未获取到所述ARP请求消息中携带的目的主机的IP地址对应的MAC地址,则所述控制器将所述第一ARP请求消息,以及至少一个交换端口的信息封装成响应消息;其中,所述交换端口为连接所述第一交换机与第二交换机的端口;所述ARP映射缓存表中包含网络中各主机的互联网协议IP地址与媒体介入控制MAC地址的对应关系。
11.根据权利要求9所述的方法,其特征在于,所述ARP消息为第二ARP应答消息;所述控制器根据所述ARP消息,构造包含转发端口信息的响应消息,包括:
所述控制器获取所述第二ARP应答消息中携带的源主机的IP地址和源主机的MAC地址,则所述控制器根据所述源主机的IP地址和源主机的MAC地址,构造包含转发端口信息的响应消息,且所述响应消息中包含的转发端口信息为连接与所述源主机连接的第三交换机与所述第一交换机的端口的信息。
12.一种交换机,其特征在于,包括:
接收模块,用于接收地址解析协议ARP消息;
发送模块,用于在本地的流表中查找转发端口,若所述本地的流表中没有匹配的所述转发端口,则将所述接收模块接收到的ARP消息发送给网络中的控制器,以使所述控制器根据所述ARP消息,构造包含转发端口信息的响应消息;
所述接收模块,还用于接收所述控制器发送的所述响应消息;
所述发送模块,还用于根据所述响应消息中的转发端口信息,向对应的端口转发所述响应消息。
13.根据权利要求12所述的交换机,其特征在于,所述接收模块具体用于:接收源主机发送的第一ARP请求消息。
14.根据权利要求13所述的交换机,其特征在于,所述接收模块接收的所述响应消息包含与所述第一ARP请求消息对应的第一ARP应答消息,所述第一ARP应答消息中携带所述第一ARP请求消息中的目的IP地址对应的媒体介入控制MAC地址,且所述响应消息中包含的转发端口信息为连接所述交换机与所述源主机的端口的信息;
所述发送模块具体用于:根据所述转发端口信息,向所述源主机发送所述第一ARP应答消息。
15.根据权利要求13所述的交换机,其特征在于,所述转发端口信息为至少一个交换端口的信息,所述交换端口为连接交换机与第二交换机的端口;
所述发送模块具体用于:根据所述转发端口信息,向至少一个第二交换机发送所述第一ARP请求消息。
16.根据权利要求15所述的交换机,其特征在于,所述接收模块还用于:接收所述第二交换机发送的第二ARP应答消息,所述第二ARP应答消息中携带所述第一ARP请求消息中的目的IP地址对应的MAC地址。
17.根据权利要求12所述的交换机,其特征在于,所述ARP消息为第二ARP应答消息,所述接收模块具体用于:接收目的主机发送的第二ARP应答消息;
所述发送模块具体用于:将所述第二ARP应答消息发送给所述控制器,以使所述控制器根据所述第二ARP应答消息,构造包含转发端口信息的响应消息。
18.根据权利要求17所述的交换机,其特征在于,所述接收模块还用于:接收第三交换机发送的第二ARP请求消息;
所述发送模块还用于:向与所述交换机连接的至少一个主机发送所述第二ARP请求消息。
19.根据权利要求17所述的交换机,其特征在于,所述转发端口信息为连接所述交换机与第三交换机的端口的信息;
所述发送模块还用于:根据所述转发端口信息,向所述第三交换机发送所述第二ARP应答消息。
20.一种控制器,其特征在于,包括:
接收模块,用于接收第一交换机发送的地址解析协议ARP消息;
确定模块,用于根据接收模块接收的所述ARP消息,构造包含转发端口信息的响应消息;
发送模块,用于向所述第一交换器发送所述响应消息,以使所述第一交换机根据所述响应消息中的转发端口信息,向对应的端口转发所述响应消息。
21.根据权利要求20所述的控制器,其特征在于,所述ARP消息为第一ARP请求消息,所述确定模块具体用于:若所述控制器查询预先存储的ARP映射缓存表,获取到所述ARP请求消息中携带的目的主机的IP地址对应的MAC地址,则根据所述MAC地址构造与所述第一ARP请求消息对应的第一ARP应答消息,并将所述第一ARP应答消息,以及连接所述第一交换机与源主机的端口信息封装成响应消息;或者,
所述确定模块具体还用于:若所述控制器查询预先存储的ARP映射缓存表,未获取到所述ARP请求消息中携带的目的主机的IP地址对应的MAC地址,则所述控制器将所述第一ARP请求消息,以及至少一个交换端口的信息封装成响应消息;其中,所述交换端口为连接所述第一交换机与第二交换机的端口;所述ARP映射缓存表中包含网络中各主机的互联网协议IP地址与媒体介入控制MAC地址的对应关系。
22.根据权利要求20所述的控制器,其特征在于,所述ARP消息为第二ARP应答消息,所述确定模块还用于:获取所述第二ARP应答消息中携带的源主机的IP地址和源主机的MAC地址,则所述控制器根据所述第二ARP应答消息,构造包含转发端口信息的响应消息,且所述响应消息中包含的转发端口信息为连接与所述源主机连接的第三交换机与所述第一交换机的端口的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210457413.3A CN102938794B (zh) | 2012-11-14 | 2012-11-14 | 地址解析协议arp消息转发方法、交换机和控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210457413.3A CN102938794B (zh) | 2012-11-14 | 2012-11-14 | 地址解析协议arp消息转发方法、交换机和控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102938794A CN102938794A (zh) | 2013-02-20 |
CN102938794B true CN102938794B (zh) | 2016-01-13 |
Family
ID=47697662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210457413.3A Active CN102938794B (zh) | 2012-11-14 | 2012-11-14 | 地址解析协议arp消息转发方法、交换机和控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102938794B (zh) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103209121B (zh) * | 2013-03-15 | 2019-02-01 | 中兴通讯股份有限公司 | 基于开放流协议的控制面设备的发现处理方法及装置 |
CN103200069B (zh) * | 2013-03-29 | 2016-01-27 | 华为技术有限公司 | 一种报文处理的方法和设备 |
CN103209225A (zh) * | 2013-04-03 | 2013-07-17 | 北京邮电大学 | 一种基于周期触发代理的sdn广播处理方法 |
CN103269278B (zh) * | 2013-04-19 | 2016-06-29 | 江苏省未来网络创新研究院 | 一种基于sdn的终端设备实时接入、离开感知方法 |
CN104113474B (zh) * | 2013-04-22 | 2017-08-29 | 华为技术有限公司 | 转发路径的生成方法、控制器和系统 |
CN104322023B (zh) * | 2013-05-24 | 2017-07-14 | 华为技术有限公司 | 流转发方法、设备及系统 |
WO2014186986A1 (zh) * | 2013-05-24 | 2014-11-27 | 华为技术有限公司 | 流转发方法、设备及系统 |
CN104468343B (zh) * | 2013-09-25 | 2019-07-26 | 中兴通讯股份有限公司 | 报文处理方法、sdn转发设备以及sdn控制器 |
CN103746892B (zh) * | 2013-11-27 | 2016-01-13 | 北京邮电大学 | 一种基于OpenFlow的SDN虚拟化平台上行信令流标签处理方法 |
WO2015077976A1 (zh) * | 2013-11-29 | 2015-06-04 | 华为技术有限公司 | 一种流表项的下发方法及装置 |
CN104734960B (zh) * | 2013-12-20 | 2018-02-23 | 中国移动通信集团公司 | 一种报文处理方法及控制器设备 |
CN103685607B (zh) * | 2013-12-24 | 2017-10-03 | 中国联合网络通信集团有限公司 | 地址解析协议寻址方法及装置 |
WO2015109478A1 (zh) * | 2014-01-23 | 2015-07-30 | 华为技术有限公司 | 实现arp的方法、交换设备及控制设备 |
CN104980373B (zh) * | 2014-04-04 | 2018-06-19 | 上海宽带技术及应用工程研究中心 | 一种控制服务器及其应用的系统和方法 |
CN104125150A (zh) * | 2014-07-22 | 2014-10-29 | 福建星网锐捷网络有限公司 | 一种协议报文处理方法、装置及系统 |
CN104301446B (zh) * | 2014-08-08 | 2019-04-09 | 新华三技术有限公司 | 一种报文处理方法、交换机设备及系统 |
CN104202364B (zh) * | 2014-08-15 | 2018-08-28 | 新华三技术有限公司 | 一种控制器的自动发现和配置方法和设备 |
CN104135539B (zh) | 2014-08-15 | 2018-03-16 | 华为技术有限公司 | 数据存储方法、sdn控制器和分布式网络存储系统 |
CN104219240B (zh) * | 2014-09-03 | 2018-01-09 | 新华三技术有限公司 | 一种主机学习方法以及装置 |
CN104219340B (zh) * | 2014-09-25 | 2018-01-09 | 新华三技术有限公司 | 一种arp应答代理方法以及装置 |
CN104301238A (zh) * | 2014-10-17 | 2015-01-21 | 福建星网锐捷网络有限公司 | 一种报文处理方法、装置及系统 |
CN104301451B (zh) * | 2014-10-17 | 2019-03-01 | 福建星网锐捷网络有限公司 | 一种跨网段主机通信方法、装置及系统 |
WO2016058261A1 (zh) * | 2014-12-16 | 2016-04-21 | 北京大学深圳研究生院 | 一种基于网络的扁平路由的实现方法 |
CN104780088B (zh) * | 2015-03-19 | 2018-07-31 | 新华三技术有限公司 | 一种业务报文的传输方法和设备 |
EP3313031B1 (en) | 2015-07-27 | 2019-09-25 | Huawei Technologies Co., Ltd. | Sdn-based arp realization method and apparatus |
CN105187325A (zh) * | 2015-10-27 | 2015-12-23 | 上海斐讯数据通信技术有限公司 | 一种sdn流表管理方法及系统、交换机 |
CN105357130A (zh) * | 2015-11-25 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 一种信息传输的系统及控制器 |
CN105634923B (zh) * | 2015-12-29 | 2018-11-02 | 北京邮电大学 | 基于sdn控制器的以太网广播优化处理方法 |
CN107231449B (zh) * | 2016-03-24 | 2020-07-24 | 华为技术有限公司 | 一种arp请求转发方法、装置和wlan通信系统 |
CN106453672A (zh) * | 2016-06-30 | 2017-02-22 | 平安科技(深圳)有限公司 | 一种实现SDN Overlay网络报文转发的方法及终端 |
CN106161673A (zh) * | 2016-07-05 | 2016-11-23 | 刘昱 | 基于sdn的arp管理装置及方法 |
CN107800628B (zh) * | 2016-09-07 | 2020-12-01 | 华为技术有限公司 | 用在软件定义网络中的数据转发装置及数据转发方法 |
CN106572029A (zh) * | 2016-11-11 | 2017-04-19 | 浙江中烟工业有限责任公司 | 一种基于软件定义的网络数据流量牵引实现方法 |
CN106878320A (zh) * | 2017-03-09 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种防止ip地址欺骗的方法和装置 |
CN107404546B (zh) * | 2017-08-07 | 2022-10-14 | 刘昱 | 一种sdn网络内的通信方法及装置 |
CN109729026B (zh) * | 2017-10-27 | 2020-12-01 | 迈普通信技术股份有限公司 | 一种sdn网络的控制方法和sdn控制器 |
CN110752998B (zh) * | 2019-09-10 | 2023-01-20 | 广州西麦科技股份有限公司 | Arp消息处理方法及相关装置 |
CN114124867B (zh) * | 2021-11-18 | 2023-07-04 | 大连九锁网络有限公司 | 一种二三层混合网络结构下的群发即时消息传输方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005086437A (ja) * | 2003-09-08 | 2005-03-31 | Nec Corp | アドレス解決システム |
EP1613023A2 (en) * | 2004-07-01 | 2006-01-04 | Fujitsu Limited | Network system, network bridge device, network management apparatus, network address assignment method and network address resolution method |
CN1972230A (zh) * | 2006-11-09 | 2007-05-30 | 杭州华为三康技术有限公司 | 一种无线局域网地址解析协议广播方法及接入控制器 |
CN101127709A (zh) * | 2007-09-26 | 2008-02-20 | 杭州华三通信技术有限公司 | 一种更新地址解析协议表中端口地址的方法和设备 |
CN101577722A (zh) * | 2009-06-03 | 2009-11-11 | 中兴通讯股份有限公司 | 实现强制mac转发功能的方法和装置 |
CN102075591A (zh) * | 2010-12-21 | 2011-05-25 | 华为技术有限公司 | 获取介质访问控制地址的方法、装置和系统 |
CN102217253A (zh) * | 2011-05-05 | 2011-10-12 | 华为技术有限公司 | 报文转发方法、装置及网络设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2012081631A1 (ja) * | 2010-12-16 | 2014-05-22 | 日本電気株式会社 | スイッチング装置、その上位装置、ネットワーク及びパケット転送方法 |
WO2012096131A1 (ja) * | 2011-01-13 | 2012-07-19 | 日本電気株式会社 | ネットワークシステム、及び経路制御方法 |
-
2012
- 2012-11-14 CN CN201210457413.3A patent/CN102938794B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005086437A (ja) * | 2003-09-08 | 2005-03-31 | Nec Corp | アドレス解決システム |
EP1613023A2 (en) * | 2004-07-01 | 2006-01-04 | Fujitsu Limited | Network system, network bridge device, network management apparatus, network address assignment method and network address resolution method |
CN1972230A (zh) * | 2006-11-09 | 2007-05-30 | 杭州华为三康技术有限公司 | 一种无线局域网地址解析协议广播方法及接入控制器 |
CN101127709A (zh) * | 2007-09-26 | 2008-02-20 | 杭州华三通信技术有限公司 | 一种更新地址解析协议表中端口地址的方法和设备 |
CN101577722A (zh) * | 2009-06-03 | 2009-11-11 | 中兴通讯股份有限公司 | 实现强制mac转发功能的方法和装置 |
CN102075591A (zh) * | 2010-12-21 | 2011-05-25 | 华为技术有限公司 | 获取介质访问控制地址的方法、装置和系统 |
CN102217253A (zh) * | 2011-05-05 | 2011-10-12 | 华为技术有限公司 | 报文转发方法、装置及网络设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102938794A (zh) | 2013-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102938794B (zh) | 地址解析协议arp消息转发方法、交换机和控制器 | |
CN101577722B (zh) | 实现强制mac转发功能的方法和装置 | |
CN101552697B (zh) | 一种网络接入设备升级系统和网络接入设备升级方法 | |
CN103905283B (zh) | 基于可扩展虚拟局域网的通信方法及装置 | |
CN105959254B (zh) | 处理报文的方法和装置 | |
US20130232492A1 (en) | Method and system for realizing virtual machine mobility | |
CN103974380B (zh) | 一种终端接入位置保活的方法及装置 | |
RU2661768C2 (ru) | Способ воплощения arp, устройство коммутатора и модуль управления | |
CN107733670A (zh) | 一种转发策略配置方法和装置 | |
CN101764751A (zh) | 无线用户终端跨vlan漫游报文转发的方法、系统及设备 | |
CN107547349A (zh) | 一种虚拟机迁移的方法及装置 | |
CN102355417A (zh) | 一种数据中心二层互联方法和装置 | |
CN104601468A (zh) | 报文转发方法和设备 | |
CN104320267A (zh) | 基于SDN框架实现VxLAN的ARP广播抑制系统及方法 | |
WO2015043820A1 (en) | A method for centralized address resolution | |
KR101864811B1 (ko) | 교환 장치, 제어기, 및 교환 장치 구성 방법, 및 패킷 처리 방법 및 시스템 | |
CN104980355A (zh) | 一种sdn环境下的源端可控组播数据传输方法及系统 | |
CN104184663A (zh) | 基于软件定义网络和一体化标识网络的通信方法和装置 | |
CN114885443B (zh) | 一种支持终端移动接入的多模态网络控制系统和方法 | |
CN104283802A (zh) | 邻居发现方法和设备 | |
CN103634214A (zh) | 一种路由信息生成方法及装置 | |
CN107547346A (zh) | 一种报文传输方法和装置 | |
CN109194754A (zh) | 设备搜索方法和装置 | |
CN106921551A (zh) | 虚拟通信方法、系统及设备 | |
CN107465621A (zh) | 一种路由器发现方法、sdn控制器、路由器和网络系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |