一种报文处理方法、装置及系统制造方法及图纸

技术编号:10925925 阅读:160 留言:0更新日期:2015-01-21 08:41
本发明专利技术提供一种报文处理方法,装置及系统。所述方法包括:接收第一OpenFlow交换机上报的ARP请求报文;获取所述ARP请求报文中的目的IP,以及源MAC地址;从维护的IP与OpenFlow交换机端口的映射表中,查询与所述目的IP对应的OpenFlow交换机端口;并,在确定所述OpenFlow交换机端口所在的第二OpenFlow交换机中存在合理的与所述源MAC地址对应的流表转发规则时,将所述ARP请求报文转发至所述OpenFlow交换机端口。通过本发明专利技术的方法,无需处理ARP回应报文和将ARP请求报文泛洪至所有的端口,可以避免产生大量的广播报文,能够提高局域网的带宽利用率、通信吞吐量和性能。

【技术实现步骤摘要】

本专利技术涉及无线通信领域,尤其涉及一种报文处理方法,装置及系统。
技术介绍
在采用以太网技术构建的局域网中,一个主机A(源主机)要和另一个位于同一IP(Internet Protocol,互联网协议)网段的主机B(目的主机)进行直接通信,首先要获取目的主机B的MAC地址。为了获取目的主机B的MAC地址,源主机A将产生一个ARP(Address Resolution Protocol,地址解析协议)请求报文(ARP Request),ARP请求报文的目的IP字段为目的主机B的IP,目的MAC地址为空(全0),而ARP请求报文的源IP和源MAC地址字段则分别为源主机A的IP地址和MAC地址,并把这个报文封装在一个以太网的广播帧(目的MAC地址为FF:FF:FF:FF:FF:FF)中通过网卡发送出去。与主机A相连的以太网交换机收到这个以太网帧,按照以太网协议的转发约定,把该广播帧往除来源端口外的所有端口转发出去,如果有其他以太网交换机与这台交换机相连,则其他以太网交换机也会收到该广播帧并把其往接收端口外的所有端口转发出去。如果目的主机B与这些以太网交换机中的一台相连,则其就会收到该ARP请求报文。收到该ARP请求报文后,主机B解析ARP请求报文并确定请求的目的IP为自身时,则会构造一个ARP回应报文(ARP Reply),ARP回应报文的目的IP字段为主机A的IP,目的MAC地址为主机A的MAC地址,而请求报文的源IP和源MAC地址字段则为主机B的IP地址和MAC地址。目的主机B构造好ARP回应报文后并把这个报文封装在一个以太网的单播帧(目的MAC地址为主机A的MAC地址)中通过网卡发送出去。从而主机A获取到了主机B的MAC地址,然后主机A便可以与主机B通信。如图1所示,为现有技术中一个典型的局域网架构的示意图。在图1所示的局域网中,以太网交换机具备学习MAC地址和端口的映射关系的能力。此时,在图1所示的局域网中,当位于192.168.1.0/24网段上的主机与同网段的主机通信无需经过路由器,其首先产生并发出一个ARP请求报文,由与其直接相连的以太网交换机转发到除来源端口的所有端口(假设其他端口都处于同一个VLAN)。如果有匹配目的IP的主机收到该广播的ARP请求报文,则产生并发出一个ARP回应报文,并由以太网交换机根据之前学到的MAC地址与端口的映射表转发到源主机所在的端口,以使源主机能够获得目的主机的MAC地址,以便于与目的主机通信。然而,上述ARP报文的处理方法会带来大量的广播报文流量:具体的,上述ARP报文处理方法中会产生大量的ARP请求报文,在一个网段内主机之间通信频繁的情况下会影响局域网的吞吐量和转发性能。例如,在一个有65025台主机的IP子网中,这些主机两两之间的通信都会产生ARP请求报文,并由以太网交换机泛洪到其他端口,使得局域网的通信吞吐量和性能都较低。
技术实现思路
本专利技术的目的是提供一种报文处理方法,装置及系统,以克服相关技术中泛洪ARP请求报文,导致大量的广播报文流量,影响局域网的通信吞吐量和性能的问题。本专利技术提供一种报文处理方法,包括:接收第一OpenFlow交换机上报的地址解析协议ARP请求报文;获取所述ARP请求报文中的目的互联网协议IP,以及源MAC地址;从维护的IP与OpenFlow交换机端口的映射表中,查询与所述目的IP对应的OpenFlow交换机端口;并,在确定所述OpenFlow交换机端口所在的第二OpenFlow交换机中存在与所述源MAC地址对应的流表转发规则,且该流表转发规则合理时,将所述ARP请求报文转发至所述OpenFlow交换机端口;其中,所述流表转发规则用于指示所述第二OpenFlow交换机在接收到针对所述源MAC地址的ARP回应报文时,根据所述流表转发规则将所述ARP回应报文转发至相应端口,所述相应端口为通向所述源MAC地址对应的源主机的端口。其中,所述获取所述ARP请求报文中的目的IP,以及源MAC地址之后,所述方法还包括:针对任一下连的OpenFlow交换机,当确定该OpenFlow交换机未接收到与所述源MAC地址对应的流表转发规则时,或当确定该OpenFlow交换机中安装的与所述源MAC地址对应的流表转发规则已失效时,确定该OpenFlow交换机与源MAC地址对应的源主机之间的第一转发路径;并,根据所述第一转发路径生成与所述源MAC地址对应的流表转发规则,并向该OpenFlow交换机下发生成的与所述源MAC地址对应的流表转发规则。其中,所述从维护的IP与OpenFlow交换机端口的映射表中,查询与所述目的IP对应的OpenFlow交换机端口之后,所述方法还包括:当在所述映射表中查询到与所述目的IP对应的OpenFlow交换机端口时,确定查询到的所述OpenFlow交换机端口与所述源MAC地址对应的源主机之间的,用于转发回应所述源MAC地址的ARP请求报文的ARP回应报文的第二转发路径;并向所述第二转发路径上的OpenFlow交换机下发相应的与所述源MAC地址对应的流表转发规则;当在所述映射表中未查询到与所述目的IP对应的OpenFlow交换机端口时,向所有下连的OpenFlow交换机下发相应的与所述源MAC地址对应的流表转发规则。其中,所述方法还包括:当在所述映射表中未查询到与所述目的IP对应的OpenFlow交换机端口时,将所述ARP请求报文转发至除所述ARP请求报文的来源端口以及内部端口之外的其他端口,所述内部端口为OpenFlow交换机之间进行直接连接的端口。其中,所述方法还包括:根据所述ARP请求报文中的源IP和发送所述ARP请求报文的主机所在的OpenFlow交换机端口,更新所述映射表。另一方面,本专利技术还提供一种报文处理装置,所述装置包括:ARP请求接收模块,用于接收第一OpenFlow交换机上报的地址解析协议ARP请求报文;ARP请求分析模块,用于获取所述ARP请求报文中的目的互联网协议IP,以及源MAC地址;端口查询模块,用于获取所述ARP请求报文中的目的互联网协议IP,以及源MAC地址;ARP请求转发模块,用于在确定所述OpenFlow交换机端口所在的第二OpenFlow交换机中存在与所述源MAC地址对应的流表转发规则,且该流表转发规则合理时,将所述ARP请求报文转发至所述OpenFlow交换机端口;其中,...

【技术保护点】
一种报文处理方法,其特征在于,所述方法包括:接收第一OpenFlow交换机上报的地址解析协议ARP请求报文;获取所述ARP请求报文中的目的互联网协议IP,以及源MAC地址;从维护的IP与OpenFlow交换机端口的映射表中,查询与所述目的IP对应的OpenFlow交换机端口;并,在确定所述OpenFlow交换机端口所在的第二OpenFlow交换机中存在与所述源MAC地址对应的流表转发规则,且该流表转发规则合理时,将所述ARP请求报文转发至所述OpenFlow交换机端口;其中,所述流表转发规则用于指示所述第二OpenFlow交换机在接收到针对所述源MAC地址的ARP回应报文时,根据所述流表转发规则将所述ARP回应报文转发至相应端口,所述相应端口为通向所述源MAC地址对应的源主机的端口。

【技术特征摘要】
1.一种报文处理方法,其特征在于,所述方法包括:
接收第一OpenFlow交换机上报的地址解析协议ARP请求报文;
获取所述ARP请求报文中的目的互联网协议IP,以及源MAC地址;
从维护的IP与OpenFlow交换机端口的映射表中,查询与所述目的IP对
应的OpenFlow交换机端口;并,
在确定所述OpenFlow交换机端口所在的第二OpenFlow交换机中存在与
所述源MAC地址对应的流表转发规则,且该流表转发规则合理时,将所述ARP
请求报文转发至所述OpenFlow交换机端口;其中,所述流表转发规则用于指
示所述第二OpenFlow交换机在接收到针对所述源MAC地址的ARP回应报文
时,根据所述流表转发规则将所述ARP回应报文转发至相应端口,所述相应
端口为通向所述源MAC地址对应的源主机的端口。
2.根据权利要求1所述的方法,其特征在于,所述获取所述ARP请求报
文中的目的IP,以及源MAC地址之后,所述方法还包括:
针对任一下连的OpenFlow交换机,当确定该OpenFlow交换机未接收到
与所述源MAC地址对应的流表转发规则时,或当确定该OpenFlow交换机中
安装的与所述源MAC地址对应的流表转发规则已失效时,确定该OpenFlow
交换机与源MAC地址对应的源主机之间的第一转发路径;并,
根据所述第一转发路径生成与所述源MAC地址对应的流表转发规则,并
向该OpenFlow交换机下发生成的与所述源MAC地址对应的流表转发规则。
3.根据权利要求1所述的方法,其特征在于,所述从维护的IP与OpenFlow
交换机端口的映射表中,查询与所述目的IP对应的OpenFlow交换机端口之后,
所述方法还包括:
当在所述映射表中查询到与所述目的IP对应的OpenFlow交换机端口时,
确定查询到的所述OpenFlow交换机端口与所述源MAC地址对应的源主机之
间的,用于转发回应所述源MAC地址的ARP请求报文的ARP回应报文的第

\t二转发路径;并向所述第二转发路径上的OpenFlow交换机下发相应的与所述
源MAC地址对应的流表转发规则;
当在所述映射表中未查询到与所述目的IP对应的OpenFlow交换机端口
时,向所有下连的OpenFlow交换机下发相应的与所述源MAC地址对应的流
表转发规则。
4.根据权利要求1-3中任一所述的方法,其特征在于,所述方法还包括:
当在所述映射表中未查询到与所述目的IP对应的OpenFlow交换机端口
时,将所述ARP请求报文转发至除所述ARP请求报文的来源端口以及内部端
口之外的其他端口,所述内部端口为OpenFlow交换机之间进行直接相连的端
口。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述ARP请求报文中的源IP和发送所述ARP请求报文的主机所在的
OpenFlow交换机端口,更新所述映射表。
6.一种报文处理装置,其特征在于,所述装置包括:
ARP请求接收模块,用于接收第一OpenFlow交换机上报的地址解析协议
ARP请求报文;
ARP请求分析模块,用于获取所述ARP请求报文中的目的互联网协议IP,
以及源MAC地址;
端口查询模块,用于获取所述ARP请求报文中的目的互联网协议IP,以
及...

【专利技术属性】
技术研发人员:陈启昌
申请(专利权)人:福建星网锐捷网络有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1