CN105704036B - 报文转发方法、装置和系统 - Google Patents

报文转发方法、装置和系统 Download PDF

Info

Publication number
CN105704036B
CN105704036B CN201410706094.4A CN201410706094A CN105704036B CN 105704036 B CN105704036 B CN 105704036B CN 201410706094 A CN201410706094 A CN 201410706094A CN 105704036 B CN105704036 B CN 105704036B
Authority
CN
China
Prior art keywords
address
message
source
host
mac
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
Application number
CN201410706094.4A
Other languages
English (en)
Other versions
CN105704036A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410706094.4A priority Critical patent/CN105704036B/zh
Priority to EP15195151.4A priority patent/EP3026872B1/en
Priority to US14/947,485 priority patent/US9825861B2/en
Publication of CN105704036A publication Critical patent/CN105704036A/zh
Application granted granted Critical
Publication of CN105704036B publication Critical patent/CN105704036B/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
    • 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/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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/677Multiple interfaces, e.g. multihomed nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • 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/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种报文转发方法、装置和系统,该方法包括:接收网关发送的第一报文,解析所述第一报文,获得第一报文的源IP地址和源MAC地址;查询主机缓存表,并在主机缓存表中不存在源IP地址和源MAC地址的映射关系时,将所述源IP地址和所述源MAC地址的映射关系保存在所述主机缓存表中;根据所述第一报文生成响应报文,并查询所述主机缓存表,获取与所述响应报文中的第一目的IP地址对应的第一目的MAC地址;根据所述响应报文中的第一目的IP地址对应的第一目的MAC地址,将所述响应报文通过网关转发给外部网络。本发明提供的报文转发方法、装置和系统使得依赖双向报文经过的路径必须一致才能运行的业务能够正常工作。

Description

报文转发方法、装置和系统
技术领域
本发明涉及通信技术,尤其涉及一种报文转发方法、装置和系统。
背景技术
在数据中心中,通常采用多活网关技术解决跨区域的流量迂回问题,其中,多活网关技术,是指多个网关可以同时为同一网段的服务器提供网关服务。
图1为现有技术中报文的转发过程的示意图。如图1所示,该报文的转发过程所基于的网络架构主要包括:路由器11、第一网关12、第二网关13、第一服务器14、第二服务器15、第三服务器16和第四服务器17。其中,第一网关12和第二网关13是属于网段A.A.A.A/X的网关;第一网关12为第一服务器14和第二服务器15提供网关服务;第二网关13为第三服务器16和第四服务器17提供网关服务。另外,具体的,该报文的转发过程主要为:若第一网关12和第二网关13同时给路由器11发布A.A.A.A/X的路由,此时,在路由器11上会形成等价多路径(英文:equal-cost multi-path routing;简称:ECMP)。当外部网络访问第一服务器14时,目的地址为第一服务器14的报文在路由器11上被匹配到A.A.A.A/X的等价路由,路由器11会将所述报文通过第一网关12或第二网关13发给第一服务器14。第一服务器14收到所述报文进行响应时,由于为第一服务器14提供网关服务的是第一网关12,因此,第一服务器14将响应报文通过第一网关12发给路由器11,以此实现多活网关技术。
但是,由于路由器11可能会通过第二网关13将所述报文发送给第一服务器14,而第一服务器14是通过第一网关12返回所述报文对应的响应报文。因此,造成了外部网络通过网关访问服务器时发送的报文所经过的路径,与服务器通过网关发往外部网络的响应报文所经过的路径不一致,从而导致了必须依赖双向报文经过的路径一致才能运行的业务无法正常工作的问题。
发明内容
本发明提供一种报文转发方法、装置和系统,用以解决现有技术中外部网络通过网关访问服务器时报文经过的路径,与服务器通过网关发往外部网络的响应报文所经过的路径不一致,从而导致依赖双向报文经过的路径必须一致才能运行的业务无法正常工作的问题。
第一方面,本发明提供一种报文转发方法,包括:
接收网关发送的第一报文,解析所述第一报文,获得所述第一报文的源网络协议IP地址和源介质访问控制MAC地址;
查询主机缓存表,并在所述主机缓存表中不存在所述源IP地址和所述源MAC地址的映射关系时,将所述源IP地址和所述源MAC地址的映射关系保存在所述主机缓存表中;
根据所述第一报文生成响应报文,并查询所述主机缓存表,获取与所述响应报文中的第一目的IP地址对应的第一目的MAC地址;其中,所述第一目的IP地址与所述源IP地址相同;
根据所述响应报文中的第一目的IP地址对应的第一目的MAC地址,将所述响应报文通过所述网关转发给外部网络。
结合第一方面,在第一方面的第一种可能的实现方式中,还包括:
查询所述主机缓存表,若所述主机缓存表中不存在与待发送报文中的第二目的IP地址对应的第二目的MAC地址,则查询地址解析协议ARP表,获取与所述待发送报文中的第二目的IP地址对应的第二目的MAC地址,并将所述待发送报文通过与所述第二目的MAC地址对应的网关转发给所述外部网络。
结合第一方面、第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,还包括:
当所述映射关系被保存到所述主机缓存表后,在预设时间内,若所述映射关系没有被匹配到或者没有被更新,则从所述主机缓存表中删除包括所述映射关系的表项。
第二方面,本发明提供一种报文转发装置,包括:
接收模块,用于接收网关发送的第一报文;
解析模块,用于解析所述第一报文,获得所述第一报文的源网络协议IP地址和源介质访问控制MAC地址;
处理模块,用于查询主机缓存表,并在所述主机缓存表中不存在所述源IP地址和所述源MAC地址的映射关系时,将所述源IP地址和所述源MAC地址的映射关系保存在所述主机缓存表中;
所述处理模块还用于根据所述第一报文生成响应报文,并查询所述主机缓存表,获取与所述响应报文中的第一目的IP地址对应的第一目的MAC地址;其中,所述第一目的IP地址与所述源IP地址相同;
发送模块,用于根据所述响应报文中的第一目的IP地址对应的第一目的MAC地址,将所述响应报文通过所述网关转发给外部网络。
结合第二方面,在第二方面的第一种可能的实现方式中,还包括:所述处理模块还用于查询所述主机缓存表,若所述主机缓存表中不存在与待发送报文中的第二目的IP地址对应的第二目的MAC地址,则查询地址解析协议ARP表,获取与所述待发送报文中的第二目的IP地址对应的第二目的MAC地址;
所述发送模块还用于将所述待发送报文通过与所述第二目的MAC地址对应的网关转发给所述外部网络。
结合第二方面、第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述处理模块还用于当所述映射关系被保存到所述主机缓存表后,在预设时间内,若所述映射关系没有被匹配到或者没有被更新,则从所述主机缓存表中删除包括所述映射关系的表项。
第三方面,本发明提供一种报文转发系统,包括:客户端、路由器、网关和第二方面、第二方面的第一种至第二方面的第二种任一种报文转发装置。
本发明提供的报文转发方法、装置和系统,通过接收网关发送的第一报文,解析所述第一报文,获得所述第一报文的源IP地址和源MAC地址;查询主机缓存表,并在所述主机缓存表中不存在所述源IP地址和所述源MAC地址的映射关系时,将所述源IP地址和所述源MAC地址的映射关系保存在所述主机缓存表中;根据所述第一报文生成响应报文,并查询所述主机缓存表,获取与所述响应报文中的第一目的IP地址对应的第一目的MAC地址;其中,所述第一目的IP地址与所述源IP地址相同;根据所述响应报文中的第一目的IP地址对应的第一目的MAC地址,将所述响应报文通过所述网关转发给外部网络。由于将所述源IP地址和所述源MAC地址的映射关系记录在所述主机缓存表中,通过查询所述主机缓存表获得所述第一目的IP地址对应的第一目的MAC地址,由于该第一目的MAC地址是网关的真实MAC地址,根据该第一目的MAC地址可以将响应报文转发到相应的网关,以使该网关将所述响应报文通过与转发第一报文相同的网关转发给外部网络,从而完成报文的交互,实现了外部网络中的客户端与主机之间正常的通信,而且保证了在多活网关场景下,双向报文经过的路径相同,使得双向报文的路径必须一致才能运行的业务能够正常工作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中报文的转发过程的示意图
图2为本发明报文转发方法实施例一的流程示意图;
图3为本发明报文转发装置实施例一的结构示意图;
图4为本发明提供的主机实施例一的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明报文转发方法实施例一的流程示意图。本发明实施例提供了一种报文转发方法,本实施例的执行主体是主机。如图2所示,本实施例的方法可以包括:
步骤201、接收网关发送的第一报文,解析所述第一报文,获得所述第一报文的源IP地址和源MAC地址。
在本实施例中,当有外部网络中的客户端访问主机时,客户端会将报文发送给网关,再由网关发送到主机。其中,由网关发送给主机的第一报文中,封装有源IP地址和源MAC地址,其中,所述源IP地址是外部网络中客户端的IP地址,其用于指示外部网络中的哪一台客户端访问该主机;所述第一报文中封装的所述源MAC地址是网关的真实MAC地址。由于每个网关的真实MAC都不一样,因此彼此不会发生冲突,这样,主机对接收到的所述第一报文进行解析,获得所述第一报文的MAC地址之后,就能获知此第一报文是由哪一个网关进行处理的。
步骤202、查询主机缓存表,并在所述主机缓存表中不存在所述源IP地址和所述源MAC地址的映射关系时,将所述源IP地址和所述源MAC地址的映射关系保存在所述主机缓存表中。
在本实施例中,当主机接收到所述第一报文之后,会动态地学习所述第一报文的源IP地址与源MAC地址的映射关系,并通过查询主机缓存表,判断所述主机缓存表中是否存在所述源IP地址与所述源MAC地址的映射关系,若不存在时,将所述源IP地址与所述源MAC地址的映射关系保存在所述主机缓存表中;若所述主机缓存表中已存在所述源IP地址与所述源MAC地址的映射关系,则不进行重复保存。
另外,该主机缓存表可以记录所述第一报文是由哪一个网关发送给主机的。例如:IP地址为1.1.1.1的第一客户端通过网关GW1向主机发送第一报文,其中,网关GW1的真实MAC地址为1-1-1;当主机接收到所述第一报文之后,首先查询主机缓存表中是否有源IP地址为1.1.1.1,源MAC地址为1-1-1的表项,若没有,则将该映射关系保存在所述主机缓存表中,若有,则不再重复保存。
步骤203、根据所述第一报文生成响应报文,并查询所述主机缓存表,获取与所述响应报文中的第一目的IP地址对应的第一目的MAC地址;其中,所述第一目的IP地址与所述源IP地址相同。
在本实施例中,主机接收到网关发送的第一报文之后,根据所述第一报文生成响应报文。其中,所述响应报文中封装有第一目的IP地址,该第一目的IP地址与所述源IP地址相同,以保证将该响应报文发送给外部网络中正在访问所述主机的客户端。所述主机根据所述响应报文中的所述第一目的IP地址查询主机缓存表,以获取与该第一目的IP地址对应的第一目的MAC地址,并将该第一目的MAC地址封装在所述响应报文中。
步骤204、根据所述响应报文中的第一目的IP地址对应的第一目的MAC地址,将所述响应报文通过所述网关转发给外部网络。
在本实施例中,由于该第一目的MAC地址是网关的真实MAC地址,因此,根据该第一目的MAC地址可以将响应报文转发到相应的网关,以使该网关将所述响应报文转发给外部网络中的客户端,从而完成报文的交互,实现了外部网络中的客户端与主机之间正常的通信,而且保证了双向报文经过同一网关进行转发,使得双向报文的路径必须一致才能运行的业务能够正常工作。
本发明实施例提供的报文转发方法,通过接收网关发送的第一报文,解析所述第一报文,获得所述第一报文的源IP地址和源MAC地址;查询主机缓存表,并在所述主机缓存表中不存在所述源IP地址和所述源MAC地址的映射关系时,将所述源IP地址和所述源MAC地址的映射关系保存在所述主机缓存表中;根据所述第一报文生成响应报文,并查询所述主机缓存表,获取与所述响应报文中的第一目的IP地址对应的第一目的MAC地址;其中,所述第一目的IP地址与所述源IP地址相同;根据所述响应报文中的第一目的IP地址对应的第一目的MAC地址,将所述响应报文通过所述网关转发给外部网络。由于将所述源IP地址和所述源MAC地址的映射关系记录在所述主机缓存表中,通过查询所述主机缓存表获得所述第一目的IP地址对应的第一目的MAC地址,由于该第一目的MAC地址是网关的真实MAC地址,根据该第一目的MAC地址可以将响应报文转发到相应的网关,以使该网关将所述响应报文通过与转发第一报文相同的网关转发给外部网络,从而完成报文的交互,实现了外部网络中的客户端与主机之间正常的通信,而且保证了在多活网关场景下,双向报文经过的路径相同,使得双向报文的路径必须一致才能运行的业务能够正常工作。
如上所述的方法实施例,可选地,该方法还可以进一步包括:
查询所述主机缓存表,若所述主机缓存表中不存在与待发送报文中的第二目的IP地址对应的第二目的MAC地址,则查询地址解析协议(英文:Address ResolutionProtocol,简称:ARP)表,获取与所述待发送报文中的第二目的IP地址对应的第二目的MAC地址,并将所述待发送报文通过与所述第二目的MAC地址对应的网关转发给所述外部网络。
具体地,待发送报文为主机通过网关先向外部网络中的客户端发送的报文。本领域技术人员可以理解,ARP为根据IP地址获取物理地址的协议。主机发送所述待发送报文前,首先将包含第二目的IP地址的ARP请求广播到网络上的所有其它的主机,并接收其它主机返回的ARP响应,以此确定第二目的MAC地址。由此可见,当所述主机访问外部网络中的客户端时,由于主机缓存表中不存在所述待发送报文中的第二目的IP地址对应的第二目的MAC地址,因此,所述主机可以通过查询ARP表获取第二目的MAC地址,并根据该第二目的MAC地址将所述待发送报文发送给对应的网关,以供所述网关将所述待发送报文转发给外部网络中的客户端。
本发明实施例提供的报文转发方法,当主机缓存表中不存在与待发送报文中的第二目的IP地址对应的第二目的MAC地址时,通过查询ARP表,获取所述第二目的MAC地址,根据该第二目的MAC地址将所述待发送报文通过网关转发给外部网络,使得报文在本地主机先发出的情形下,也能被正常转发。
如上所述的方法实施例,可选地,该方法还可以进一步包括:
当所述映射关系被保存到所述主机缓存表后,在预设时间内,若所述映射关系没有被匹配到或者没有被更新,则从所述主机缓存表中删除包括所述映射关系的表项。
具体地,本领域技术人员可以理解,在报文转发的过程中,即使是同一对IP地址之间进行报文的收发,由于用户数据报协议(英文:User Datagram Protocol,简称:UDP)或传输控制协议(英文:Transmission Control Protocol,简称:TCP)端口号的变化,路由器在等价路由中进行选路时,会导致选路的变化而将包括同一源IP地址的报文发送给不同的网关。在这种情况下,主机接收到报文后,会出现报文的源IP地址相同,但是对应的源MAC地址却不相同的现象。因此,主机每接收到一个报文都要在主机缓存表中查询,若所述主机缓存表中没有该源IP地址和其对应的源MAC地址的映射关系时,都要将该报文的源IP地址和其对应的源MAC地址的映射关系进行保存,以实时更新所述主机缓存表,提高查询的准确性。
当所述映射关系被保存到所述主机缓存表之后,在预设时间段内,若所述主机缓存表中源IP地址和其对应的源MAC地址的映射关系没有被更新,或响应报文没有被匹配到所述映射关系,则从主机缓存表中删除该映射关系,以节省主机的资源。其中,预设时间段可以很据经验进行选取,例如1h、1.5h等,对于预设时间段的具体值的选取,本发明对此不作特别限制。
图3为本发明报文转发装置实施例一的结构示意图,如图3所示,本发明实施例提供的报文转发装置包括:接收模块301,解析模块302,处理模块303和发送模块304。
其中,接收模块301用于接收网关发送的第一报文;解析模块302用于解析所述第一报文,获得所述第一报文的源网络协议IP地址和源介质访问控制MAC地址;处理模块303用于查询主机缓存表,并在所述主机缓存表中不存在所述源IP地址和所述源MAC地址的映射关系时,将所述源IP地址和所述源MAC地址的映射关系保存在所述主机缓存表中;所述处理模块303还用于根据所述第一报文生成响应报文,并查询所述主机缓存表,获取与所述响应报文中的第一目的IP地址对应的第一目的MAC地址;其中,所述第一目的IP地址与所述源IP地址相同;发送模块304用于根据所述响应报文中的第一目的IP地址对应的第一目的MAC地址,将所述响应报文通过所述网关转发给外部网络。
本发明实施例提供的报文转发装置,接收模块301通过接收网关发送的第一报文;解析模块302解析所述第一报文,获得所述第一报文的源IP地址和源MAC地址;处理模块303查询主机缓存表,并在所述主机缓存表中不存在所述源IP地址和所述源MAC地址的映射关系时,将所述源IP地址和所述源MAC地址的映射关系保存在所述主机缓存表中;处理模块303根据所述第一报文生成响应报文,并查询所述主机缓存表,获取与所述响应报文中的第一目的IP地址对应的第一目的MAC地址;其中,所述第一目的IP地址与所述源IP地址相同;发送模块304根据所述响应报文中的第一目的IP地址对应的第一目的MAC地址,将所述响应报文通过所述网关转发给外部网络。由于将所述源IP地址和所述源MAC地址的映射关系记录在所述主机缓存表中,通过查询所述主机缓存表获得所述第一目的IP地址对应的第一目的MAC地址,根据该第一目的MAC地址可以将响应报文转发到相应的网关,以使该网关将所述响应报文通过与转发第一报文相同的网关转发给外部网络,从而完成报文的交互,实现了外部网络中的客户端与主机之间正常的通信,而且保证了在多活网关场景下,双向报文经过的路径相同,使得双向报文的路径必须一致才能运行的业务能够正常工作。
可选地,所述处理模块303还用于查询所述主机缓存表,若所述主机缓存表中不存在与待发送报文中的第二目的IP地址对应的第二目的MAC地址,则查询地址解析协议ARP表,获取与所述待发送报文中的第二目的IP地址对应的第二目的MAC地址;
所述发送模块304还用于将所述待发送报文通过与所述第二目的MAC地址对应的网关转发给所述外部网络。
可选地,所述处理模块303还用于当所述映射关系被保存到所述主机缓存表后,在预设时间内,若所述映射关系没有被匹配到或者没有被更新,则从所述主机缓存表中删除包括所述映射关系的表项。
本实施例的报文转发装置,可以用于执行本发明任意实施例所提供的报文转发方法的技术方案,其实现原理和技术效果类似,此处不再赘述。
本发明还提供一种报文转发系统,包括:客户端、网关、路由器和报文转发装置;其中,报文转发装置可以采用图3所示的报文转发装置实施例中提供的装置,其具体结构和功能此处不再赘述。
本实施例的报文转发系统,可以用于执行本发明任意实施例所提供的报文转发方法的技术方案,其实现原理和技术效果类似,此处不再赘述。
图4为本发明提供的主机实施例一的结构示意图。如图4所示,本发明实施例提供的主机包括接收器401、处理器402和发送器403。
其中,接收器401用于接收网关发送的第一报文;处理器402用于解析所述第一报文,获得所述第一报文的源网络协议IP地址和源介质访问控制MAC地址;所述处理器402还用于查询主机缓存表,并在所述主机缓存表中不存在所述源IP地址和所述源MAC地址的映射关系时,将所述源IP地址和所述源MAC地址的映射关系保存在所述主机缓存表中;所述处理器402还用于根据所述第一报文生成响应报文,并查询所述主机缓存表,获取与所述响应报文中的第一目的IP地址对应的第一目的MAC地址;其中,所述第一目的IP地址与所述源IP地址相同;发送器403用于根据所述响应报文中的第一目的IP地址对应的第一目的MAC地址,将所述响应报文通过所述网关转发给外部网络。
本实施例的主机,可以用于执行本发明任意实施例所提供的报文转发方法的技术方案,其实现原理和技术效果类似,此处不再赘述。
可选地,所述处理器402还用于查询所述主机缓存表,若所述主机缓存表中不存在与待发送报文中的第二目的IP地址对应的第二目的MAC地址,则查询地址解析协议ARP表,获取与所述待发送报文中的第二目的IP地址对应的第二目的MAC地址;所述发送器403还用于将所述待发送报文通过与所述第二目的MAC地址对应的网关转发给所述外部网络。
可选地,所述处理器402还用于当所述映射关系被保存到所述主机缓存表后,在预设时间内,若所述映射关系没有被匹配到或者没有被更新,则从所述主机缓存表中删除包括所述映射关系的表项。
本实施例的主机,可以用于执行本发明任意实施例所提供的报文转发方法的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (7)

1.一种报文转发方法,其特征在于,包括:
主机接收网关发送的第一报文,解析所述第一报文,获得所述第一报文的源网络协议IP地址和源介质访问控制MAC地址;所述第一报文为IP报文;所述源网络协议IP地址为访问所述主机的客户端的IP地址,所述源介质访问控制MAC地址为所述网关的MAC地址;
所述主机查询主机缓存表,并在所述主机缓存表中不存在所述源IP地址和所述源MAC地址的映射关系时,将所述源IP地址和所述源MAC地址的映射关系保存在所述主机缓存表中;
所述主机根据所述第一报文生成响应报文,并查询所述主机缓存表,获取与所述响应报文中的第一目的IP地址对应的第一目的MAC地址;其中,所述第一目的IP地址与所述源IP地址相同;
所述主机根据所述响应报文中的第一目的IP地址对应的第一目的MAC地址,将所述响应报文通过所述网关转发给外部网络。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述主机查询所述主机缓存表,若所述主机缓存表中不存在与待发送报文中的第二目的IP地址对应的第二目的MAC地址,则查询地址解析协议ARP表,获取与所述待发送报文中的第二目的IP地址对应的第二目的MAC地址,并将所述待发送报文通过与所述第二目的MAC地址对应的网关转发给所述外部网络。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
当所述映射关系被保存到所述主机缓存表后,在预设时间内,若所述映射关系没有被匹配到或者没有被更新,所述主机则从所述主机缓存表中删除包括所述映射关系的表项。
4.一种报文转发装置,其特征在于,包括:
接收模块,用于接收网关发送的第一报文;所述第一报文为IP报文;
解析模块,用于解析所述第一报文,获得所述第一报文的源网络协议IP地址和源介质访问控制MAC地址;所述源网络协议IP地址为访问所述装置的客户端的IP地址,所述源介质访问控制MAC地址为所述网关的MAC地址;
处理模块,用于查询主机缓存表,并在所述主机缓存表中不存在所述源IP地址和所述源MAC地址的映射关系时,将所述源IP地址和所述源MAC地址的映射关系保存在所述主机缓存表中;
所述处理模块还用于根据所述第一报文生成响应报文,并查询所述主机缓存表,获取与所述响应报文中的第一目的IP地址对应的第一目的MAC地址;其中,所述第一目的IP地址与所述源IP地址相同;
发送模块,用于根据所述响应报文中的第一目的IP地址对应的第一目的MAC地址,将所述响应报文通过所述网关转发给外部网络。
5.根据权利要求4所述的装置,其特征在于,所述处理模块还用于查询所述主机缓存表,若所述主机缓存表中不存在与待发送报文中的第二目的IP地址对应的第二目的MAC地址,则查询地址解析协议ARP表,获取与所述待发送报文中的第二目的IP地址对应的第二目的MAC地址;
所述发送模块还用于将所述待发送报文通过与所述第二目的MAC地址对应的网关转发给所述外部网络。
6.根据权利要求4或5所述的装置,其特征在于,所述处理模块还用于当所述映射关系被保存到所述主机缓存表后,在预设时间内,若所述映射关系没有被匹配到或者没有被更新,则从所述主机缓存表中删除包括所述映射关系的表项。
7.一种报文转发系统,其特征在于,包括:客户端、网关和如权利要求4-6任一项所述的报文转发装置。
CN201410706094.4A 2014-11-27 2014-11-27 报文转发方法、装置和系统 Active CN105704036B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410706094.4A CN105704036B (zh) 2014-11-27 2014-11-27 报文转发方法、装置和系统
EP15195151.4A EP3026872B1 (en) 2014-11-27 2015-11-18 Packet forwarding method, apparatus, and system
US14/947,485 US9825861B2 (en) 2014-11-27 2015-11-20 Packet forwarding method, apparatus, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410706094.4A CN105704036B (zh) 2014-11-27 2014-11-27 报文转发方法、装置和系统

Publications (2)

Publication Number Publication Date
CN105704036A CN105704036A (zh) 2016-06-22
CN105704036B true CN105704036B (zh) 2019-05-28

Family

ID=54703763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410706094.4A Active CN105704036B (zh) 2014-11-27 2014-11-27 报文转发方法、装置和系统

Country Status (3)

Country Link
US (1) US9825861B2 (zh)
EP (1) EP3026872B1 (zh)
CN (1) CN105704036B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106059931B (zh) * 2016-08-04 2019-09-17 杭州迪普科技股份有限公司 报文转发方法及装置
EP3863247A1 (en) * 2017-07-10 2021-08-11 BGC Partners, L.P. Networks for packet monitoring and replay
CN107809333B (zh) * 2017-11-15 2020-10-13 深圳创维数字技术有限公司 一种电缆调制解调器的升级方法及电缆调制解调器
CN107948076B (zh) * 2017-12-29 2021-08-24 杭州迪普科技股份有限公司 一种转发报文的方法及装置
CN110149248B (zh) * 2019-06-06 2020-03-03 杭州商湾网络科技有限公司 一种快速统计分析路由器流量的方法
CN110351193B (zh) * 2019-07-05 2022-02-25 京信网络系统股份有限公司 一种路由更新方法及装置、计算机装置及可读存储介质
CN111064824B (zh) * 2019-12-29 2022-05-13 苏州浪潮智能科技有限公司 一种交换机端口ip地址增删校验方法、装置、设备和介质
CN113395309B (zh) * 2020-03-14 2023-09-26 阿里巴巴集团控股有限公司 一种通信方法及计算机网络
CN111600947A (zh) * 2020-05-13 2020-08-28 北京天融信网络安全技术有限公司 一种资源管理方法、装置、存储介质和电子设备
CN112532526B (zh) * 2020-11-30 2022-05-17 迈普通信技术股份有限公司 数据转发方法、装置及网络设备
CN116915777B (zh) * 2023-09-13 2023-12-05 杭州立方控股股份有限公司 一种坐席人员协同的智能停车管理系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009689A (zh) * 2006-01-26 2007-08-01 西门子(中国)有限公司 一种防止地址解析欺骗的方法
CN101123614A (zh) * 2007-09-04 2008-02-13 中兴通讯股份有限公司 一种处理地址解析协议报文的方法及通信装置
CN101193116A (zh) * 2007-07-09 2008-06-04 福建星网锐捷网络有限公司 一种联动对抗地址解析协议攻击的方法、系统及路由器
CN101217448A (zh) * 2008-01-18 2008-07-09 福建星网锐捷网络有限公司 实现网关动态负载分担的方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873985B2 (en) * 2002-01-08 2011-01-18 Verizon Services Corp. IP based security applications using location, port and/or device identifier information
US20040193716A1 (en) * 2003-03-31 2004-09-30 Mcconnell Daniel Raymond Client distribution through selective address resolution protocol reply
US8533285B2 (en) * 2010-12-01 2013-09-10 Cisco Technology, Inc. Directing data flows in data centers with clustering services
US9900224B2 (en) * 2011-08-04 2018-02-20 Midokura Sarl System and method for implementing and managing virtual networks
US9590905B2 (en) * 2012-03-23 2017-03-07 Nec Corporation Control apparatus and a communication method, apparatus, and system to perform path control of a network
US9369383B2 (en) * 2013-07-02 2016-06-14 Arista Networks, Inc. Method and system for overlay routing with VXLAN
EP2854377B1 (en) * 2013-09-27 2016-07-13 Alcatel Lucent A method for centralized address resolution

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009689A (zh) * 2006-01-26 2007-08-01 西门子(中国)有限公司 一种防止地址解析欺骗的方法
CN101193116A (zh) * 2007-07-09 2008-06-04 福建星网锐捷网络有限公司 一种联动对抗地址解析协议攻击的方法、系统及路由器
CN101123614A (zh) * 2007-09-04 2008-02-13 中兴通讯股份有限公司 一种处理地址解析协议报文的方法及通信装置
CN101217448A (zh) * 2008-01-18 2008-07-09 福建星网锐捷网络有限公司 实现网关动态负载分担的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Using ARP to Implement Transparent Subnet Gateway;Smoot Carl-Mitchell, John S. Quarterman;《Network Working Group Request for Comments: 1027》;19871030;第1-8页

Also Published As

Publication number Publication date
US20160156555A1 (en) 2016-06-02
US9825861B2 (en) 2017-11-21
EP3026872A1 (en) 2016-06-01
CN105704036A (zh) 2016-06-22
EP3026872B1 (en) 2017-10-04

Similar Documents

Publication Publication Date Title
CN105704036B (zh) 报文转发方法、装置和系统
CN104301451B (zh) 一种跨网段主机通信方法、装置及系统
CN103929507B (zh) 一种实现可离线化dns服务的方法及装置
CN107181688B (zh) 一种sdn网络中实现服务器端跨域数据传输优化的系统和方法
CN105939332B (zh) 防御arp攻击报文的方法及装置
CN103916311B (zh) 一种信息传输控制方法,装置及系统
CN104869063B (zh) 虚拟子网中的主机路由处理方法及相关设备和通信系统
US11252126B1 (en) Domain name resolution in environment with interconnected virtual private clouds
CN105227466B (zh) 通信处理方法和装置
CN106464745B (zh) Dns的服务器、客户端及数据同步方法
CN106656911A (zh) 一种Portal认证方法、接入设备和管理服务器
CN104639497B (zh) 远程访问配置方法、远程访问方法、装置和系统
CN104168140B (zh) Vtep异常情况处理方法及装置
CN103118148A (zh) 一种arp缓存更新方法和设备
WO2017096888A1 (zh) 域名解析系统的实现方法及装置
CN103581361A (zh) 一种域名解析代理方法、设备及系统
CN104144223B (zh) 一种数据获取方法及装置
CN104468805A (zh) 消息路由装置和方法
US20170353486A1 (en) Method and System For Augmenting Network Traffic Flow Reports
CN109413224A (zh) 报文转发方法和装置
CN103763133B (zh) 一种实现访问控制的方法、设备与系统
CN106685979B (zh) 基于STiP模型的安全终端标识及认证方法及系统
CN102316004B (zh) 在通信网络中用于确定节点间路由信息的方法及装置
US10686817B2 (en) Identification of a DNS packet as malicious based on a value
CN108924052A (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