CN101488964B - 实现地址解析和实现二层通信的方法、系统和路由器 - Google Patents

实现地址解析和实现二层通信的方法、系统和路由器 Download PDF

Info

Publication number
CN101488964B
CN101488964B CN2009100782192A CN200910078219A CN101488964B CN 101488964 B CN101488964 B CN 101488964B CN 2009100782192 A CN2009100782192 A CN 2009100782192A CN 200910078219 A CN200910078219 A CN 200910078219A CN 101488964 B CN101488964 B CN 101488964B
Authority
CN
China
Prior art keywords
interface
router
address
main frame
arp
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.)
Expired - Fee Related
Application number
CN2009100782192A
Other languages
English (en)
Other versions
CN101488964A (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.)
New 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 CN2009100782192A priority Critical patent/CN101488964B/zh
Publication of CN101488964A publication Critical patent/CN101488964A/zh
Application granted granted Critical
Publication of CN101488964B publication Critical patent/CN101488964B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种实现二层通信的方法。该方法主要是在分别连接属于同一二层网络的不同主机的路由器之间建立GRE隧道,并在所述各路由器上启用ARP监听功能,将收到的ARP报文封装入GRE隧道传输到另一端,并在GRE隧道两端维护相应的转发关系,以实现二层网络报文通过GRE隧道的透传。本发明还公开了一种实现地址解析的方法以及实现地址解析和实现二层通信的系统和路由器。本发明的技术方案对传输网络的要求不高,对业务的可控性强。

Description

实现地址解析和实现二层通信的方法、系统和路由器
技术领域
本发明涉及网络通信技术领域,尤指一种实现地址解析的方法、系统和路由器,以及实现二层通信的方法、系统和路由器。
背景技术
虚拟私有网络(VPN,Virtual Private Network)是近年来随着因特网(Internet)的广泛应用而迅速发展起来的一种新技术,实现在公共网络上构建私有网络,“虚拟”主要指所构建的私有网络是一种逻辑上的网络。
伴随企业和公司的不断扩张,员工出差日益频繁,驻外机构及客户群分布日益分散,合作伙伴日益增多,越来越多的现代企业迫切需要利用公共因特网资源来进行促销、销售、售后服务、培训、合作及其他咨询活动,这为VPN的应用奠定了广阔的市场基础。
在一些业务组网下,需要两台位于不同路由器接口下的主机之间实现二层通信。图1是包含位于不同路由器接口下的两台需要进行二层通信的主机的组网示意图。如图1所示,路由器A和路由器B均连接至公网,路由器A接口下的主机A和路由器B接口下的主机B需要进行二层通信。但是根据现有的地址解析方法,主机A和主机B之间无法进行地址解析,进而无法实现通信。
对于图1所示的不同路由器接口下的两台主机需要进行通信的问题,现有技术中给出了VPN方案和地址解析协议(ARP,Address Resolution Protocol)方案。
VPN方案是在路由器A和路由器B之间建立L2VPN,以承载主机A和主机B之间的二层通信报文。L2VPN主要有L2TP与MPLS。其中,L2TP基于PPP链路封装,主机的业务必须承载在PPP报文或PPPoE报文上,当现实情况是有些主机或业务并不支持PPP链路封装;MPLS则要求路由A和路由器B之间路径上的路由器均支持MPLS转发功能,对传输网络要求高。
ARP代理方案是在路由器A和路由器B上启动ARP代理功能,欺骗主机A和主机B,将主机A和主机B之间的二层通信在路由器上当作三层转发处理。但是在ARP代理方案中,主机的掩码必须比路由器相应接口的掩码短,且两个路由器连接主机的接口网段必须在主机的掩码内。这使得整网的规划变得太繁琐,而且主机地址完全可能由用户来随意指定或是通过其他DHCP机制获取,则主机之间的二层通信将无法实施。因此,这种方案对业务的可控性不强。
综上所述,不同路由器下的两台主机之间无法进行地址解析,更无法实现二层通信,而现有的实现不同路由器接口下的两台主机之间通信的方案对传输网络要求高,对业务的可控性不强。
发明内容
本发明提供了一种实现地址解析的方法,该方法使得不同路由器下的两台主机之间能够进行地址解析。
本发明提供了一种实现二层通信的方法,该方法对传输网络的要求不高,对业务的可控性强。
本发明还提供了一种实现地址解析的系统和路由器,该系统和路由器使得不同路由器下的两台主机之间能够进行地址解析。
本发明还提供了一种实现二层通信的系统和路由器,该系统和路由器能够简单方便地实现不同路由器下的两台主机之间的二层通信,且对传输网络的要求不高,对业务的可控性强。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明公开了一种实现地址解析方法,第一路由器通过自身的第一接口与第一主机相连,第二路由器通过自身的第二接口与第二主机相连,第一主机和第二主机属于同一个二层网络,第一路由器和第二路由器通过通用路由封装GRE隧道通信,第一路由器和第二路由器与所述GRE隧道连接的接口分别为第三接口和第四接口,该方法包括:
第一路由器从第一接口接收第一主机广播的以第二主机的IP地址为目标地址的地址解析协议ARP请求报文,根据预先配置的第一路由器的三层接口与第一路由器的GRE接口之间的对应关系找到与第一接口对应的第三接口,并将该ARP请求报文从第三接口发送至GRE隧道传输;
第二路由器从第四接口接收通过GRE隧道传输的所述ARP请求报文,根据预先配置的第二路由器的三层接口与第二路由器的GRE接口之间的对应关系找到与第四接口对应的第二接口,将所述ARP请求报文的发送者MAC地址设置为第二接口的MAC地址后从第二接口广播出去,从而使得第二主机能够根据该ARP请求报文建立包括第一主机IP地址、第二接口的MAC地址和第二主机接收该ARP请求报文的接口的ARP表;
第二路由器从第二接口接收第二主机返回的ARP响应报文,将该ARP响应报文从第四接口发送至GRE隧道传输;
第一路由器从第三接口接收通过GRE隧道传输的所述ARP响应报文,将所述ARP响应报文的目标MAC地址设置为第一接口的MAC地址后从第一接口发送出去,从而使得第一主机能够根据该ARP响应报文建立包括第二主机IP地址、第一接口MAC地址和第一主机接收该ARP响应报文的接口的ARP表。
本发明公开了一种实现二层通信的方法,第一路由器通过自身的第一接口与第一主机相连,第二路由器通过自身的第二接口与第二主机相连,第一主机和第二主机属于同一个二层网络,第一路由器和第二路由器通过通用路由封装GRE隧道通信,第一路由器和第二路由器与所述GRE隧道连接的接口分别为第三接口和第四接口,该方法包括:
第一路由器从第一接口接收第一主机广播的以第二主机的IP地址为目标地址的地址解析协议ARP请求报文,根据该ARP请求报文建立包括第一主机MAC地址、第一主机IP地址和第一接口的ARP表,根据预先配置的第一路由器的三层接口与第一路由器的GRE接口之间的对应关系找到与第一接口对应的第三接口,并将该ARP请求报文从第三接口发送至GRE隧道传输;
第二路由器从第四接口接收通过GRE隧道传输的所述ARP请求报文,根据预先配置的第二路由器的三层接口与第二路由器的GRE接口之间的对应关系找到与第四接口对应的第二接口,将所述ARP请求报文的发送者MAC地址设置为第二接口的MAC地址后从第二接口广播出去;
第二路由器从第二接口接收第二主机返回的ARP响应报文,根据该ARP响应报文建立包括第二主机MAC地址、第二主机IP地址和第二接口的ARP表,将该ARP响应报文从第四接口发送至GRE隧道传输,并建立包括第一主机IP地址、第二主机IP地址、第四接口和第二接口的流转发表;
第一路由器从第三接口接收通过GRE隧道传输的所述ARP响应报文,将所述ARP响应报文的目标MAC地址设置为第一接口的MAC地址后从第一接口发送出去,并建立包括第一主机IP地址、第二主机IP地址、第一接口和第三接口的流转发表;
之后,第一路由器和第二路由器根据各自建立的ARP表和流转发表转发第一主机和第二主机之间的业务流。
本发明公开了一种实现地址解析的系统,该系统包括第一路由器和第二路由器,第一路由器通过自身的第一接口与第一主机相连,第二路由器通过自身的第二接口与第二主机相连,第一主机和第二主机属于同一二层网络;第一路由器和第二路由器通过通用路由封装GRE隧道通信,第一路由器和第二路由器与所述GRE隧道连接的接口分别为第三接口和第四接口;
第一路由器,用于从第一接口接收第一主机广播的以第二主机的IP地址为目标地址的地址解析协议ARP请求报文,根据预先配置的第一路由器的三层接口与第一路由器的GRE接口之间的对应关系找到与第一接口对应的第三接口,并将该ARP请求报文从第三接口发送至GRE隧道传输;
第二路由器,用于从第四接口接收通过GRE隧道传输的所述ARP请求报文,根据预先配置的第二路由器的三层接口与第二路由器的GRE接口之间的对应关系找到与第四接口对应的第二接口,将所述ARP请求报文的发送者MAC地址设置为第二接口的MAC地址后从第二接口广播出去,从而使得第二主机能够根据该ARP请求报文建立包括第一主机IP地址、第二接口的MAC地址和第二主机接收该ARP请求报文的接口的ARP表;用于从第二接口接收第二主机返回的ARP响应报文,将该ARP响应报文从第四接口发送至GRE隧道传输;
第一路由器,用于从第三接口接收通过GRE隧道传输的所述ARP响应报文,将所述ARP响应报文的目标MAC地址设置为第一接口的MAC地址后从第一接口发送出去,从而使得第一主机能够根据该ARP响应报文建立包括第二主机IP地址、第一接口MAC地址和第一主机接收该ARP响应报文的接口的ARP表。
本发明公开了一种实现二层通信的系统,该系统包括第一路由器和第二路由器,第一路由器通过自身的第一接口与第一主机相连,第二路由器通过自身的第二接口与第二主机相连,第一主机和第二主机属于同一二层网络;第一路由器和第二路由器通过通用路由封装GRE隧道通信,第一路由器和第二路由器与所述GRE隧道连接的接口分别为第三接口和第四接口;
第一路由器,用于从第一接口接收第一主机广播的以第二主机的IP地址为目标地址的地址解析协议ARP请求报文,根据该ARP请求报文建立包括第一主机MAC地址、第一主机IP地址和第一接口的ARP表,根据预先配置的第一路由器的三层接口与第一路由器的GRE接口之间的对应关系找到与第一接口对应的第三接口,并将该ARP请求报文从第三接口发送至GRE隧道传输;
第二路由器,用于从第四接口接收通过GRE隧道传输的所述ARP请求报文,根据预先配置的第二路由器的三层接口与第二路由器的GRE接口之间的对应关系找到与第四接口对应的第二接口,将所述ARP请求报文的发送者MAC地址设置为第二接口的MAC地址后从第二接口广播出去;用于从第二接口接收第二主机返回的ARP响应报文,根据该ARP响应报文建立包括第二主机MAC地址、第二主机IP地址和第二接口的ARP表,将该ARP响应报文从第四接口发送至GRE隧道传输,并建立包括第一主机IP地址、第二主机IP地址、第四接口和第二接口的流转发表;
第一路由器,用于从第三接口接收通过GRE隧道传输的所述ARP响应报文,将所述ARP响应报文的目标MAC地址设置为第一接口的MAC地址后从第一接口发送出去,并建立包括第一主机IP地址、第二主机IP地址、第一接口和第三接口的流转发表;
第一路由器和第二路由器用于根据各自建立的ARP表和流转发表转发第一主机和第二主机之间的业务流。
本发明公开了一种实现地址解析的路由器,该路由器通过自身的第一接口与第一主机相连,并与对端路由器通过通用路由封装GRE隧道通信,所述对端路由器通过自身的第二接口与第二主机相连,第一主机和第二主机属于同一二层网络,该路由器和对端第二路由器与所述GRE隧道连接的接口分别为第三接口和第四接口,该路由器包括:ARP报文处理模块和存储模块;
所述ARP报文处理模块,用于从第一接口接收第一主机广播的以第二主机的IP地址为目标地址的地址解析协议ARP请求报文,根据预先配置的该路由器的三层接口与该路由器的GRE接口之间的对应关系找到与第一接口对应的第三接口,并将该ARP请求报文从第三接口发送至GRE隧道传输;用于从第三接口接收通过GRE隧道传输的ARP响应报文,将所述ARP响应报文的目标MAC地址设置为第一接口的MAC地址后从第一接口发送出去,从而使得第一主机能够根据该ARP响应报文建立包括第二主机IP地址、第一接口MAC地址和第一主机接收该ARP响应报文的接口的ARP表;
其中,对端路由器从第四接口接收通过GRE隧道传输的所述ARP报文处理模块发送的ARP请求报文,根据预先配置的该对端路由器的三层接口与该对端路由器的GRE接口之间的对应关系找到与第四接口对应的第二接口,将所述ARP请求报文的发送者MAC地址设置为第二接口的MAC地址后从第二接口广播出去,从而使得第二主机能够根据该ARP请求报文建立包括第一主机IP地址、第二接口的MAC地址和第二主机接收该ARP请求报文的接口的ARP表;然后从第二接口接收第二主机返回的ARP响应报文,将该ARP响应报文从第四接口发送至GRE隧道传输,使得ARP报文处理模块从第三接口接收所述ARP响应报文;
所述存储模块,用于保存所述预先配置的该路由器的三层接口与该路由器的GRE接口之间的对应关系。
本发明还公开了一种实现二层通信的路由器,该路由器通过自身的第一接口与第一主机相连,并与对端路由器通过通用路由封装GRE隧道通信,所述对端路由器通过自身的第二接口与第二主机相连,第一主机和第二主机属于同一二层网络,该路由器和对端第二路由器与所述GRE隧道连接的接口分别为第三接口和第四接口,该路由器包括:ARP报文处理模块、存储模块和业务报文处理模块;
所述ARP报文处理模块,用于从第一接口接收第一主机广播的以第二主机的IP地址为目标地址的地址解析协议ARP请求报文,根据该ARP请求报文建立包括第一主机MAC地址、第一主机IP地址和第一接口的ARP表,根据预先配置的该路由器的三层接口与该路由器的GRE接口之间的对应关系找到与第一接口对应的第三接口,并将该ARP请求报文从第三接口发送至GRE隧道传输;用于从第三接口接收通过GRE隧道传输的ARP响应报文,将所述ARP响应报文的目标MAC地址设置为第一接口的MAC地址后从第一接口发送出去,并建立包括第一主机IP地址、第二主机IP地址、第一接口和第三接口的流转发表;
其中,对端路由器从第四接口接收通过GRE隧道传输的所述ARP报文处理模块发送的ARP请求报文,根据预先配置的该对端路由器的三层接口与该对端路由器的GRE接口之间的对应关系找到与第四接口对应的第二接口,将所述ARP请求报文的发送者MAC地址设置为第二接口的MAC地址后从第二接口广播出去;然后从第二接口接收第二主机返回的ARP响应报文,根据该ARP响应报文建立包括第二主机MAC地址、第二主机IP地址和第二接口的ARP表,建立包括第一主机IP地址、第二主机IP地址、第四接口和第二接口的流转发表,并将该ARP响应报文从第四接口发送至GRE隧道传输,使得ARP报文处理模块从第三接口接收所述ARP响应报文;
所述存储模块,用于保存所述预先配置的该路由器的三层接口与该路由器的GRE接口之间的对应关系以及所述ARP报文处理模块建立的ARP表和流转发表;
所述业务报文处理模块,用于根据存储模块中的ARP表和流转发表转发第一主机和第二主机之间的业务流;其中,对端路由器根据自身建立的ARP表和流转发表转发第一主机和第二主机之间的业务流。
由上述技术方案可见,本发明这种在分别连接属于同一二层网络的不同主机的路由器之间建立GRE隧道,并在所述各路由器上启用ARP,将收到的ARP报文封装入GRE隧道传输到另一端,并在GRE隧道两端维护相应的转发关系,以实现二层网络报文通过GRE隧道透传的方案,对传输网络的要求不高,对业务的可控性强。
附图说明
图1是包含位于不同路由器接口下的两台需要进行二层通信的主机的组网示意图;
图2是本发明实施例一种实现地址解析的方法的流程图;
图3是本发明实施例一种实现二层通信方法的流程图;
图4是本发明实施例中的一个组网示意图;
图5是本发明实施例一种实现地址解析的系统的组成框图
图6是本发明实施例一种实现二层通信的系统的组成框图;
图7是本发明实施例一种实现地址解析的路由器的组成结构框图;
图8是本发明实施例一种实现二层通信的路由器的组成结构框图。
具体实施方式
本发明的核心思想是:在分别连接属于同一二层网络的不同主机的路由器之间建立通用路由封装(GRE,Generic Routing Encapsulation)隧道,并在所述各路由器上启用地址解析协议(ARP,Address Resolution Protocol)监听功能,将收到的ARP报文封装入GRE隧道传输到另一端,从而使得不同路由器的主机之间能够实现地址解析,并在GRE隧道两端维护相应的转发关系,以实现二层网络报文通过GRE隧道透传。
图2是本发明实施例一种实现地址解析的方法的流程图。第一路由器通过自身的第一接口与第一主机相连,第二路由器通过自身的第二接口与第二主机相连,第一主机和第二主机属于同一个二层网络,第一路由器和第二路由器通过通用路由封装GRE隧道通信,第一路由器和第二路由器与所述GRE隧道连接的接口分别为第三接口和第四接口,则该实现地址的解析的方法包括:
步骤201,第一路由器从第一接口接收第一主机广播的以第二主机的IP地址为目标地址的地址解析协议ARP请求报文,根据预先配置的第一路由器的三层接口与第一路由器的GRE接口之间的对应关系找到与第一接口对应的第三接口,并将该ARP请求报文从第三接口发送至GRE隧道传输;
步骤202,第二路由器从第四接口接收通过GRE隧道传输的所述ARP请求报文,根据预先配置的第二路由器的三层接口与第二路由器的GRE接口之间的对应关系找到与第四接口对应的第二接口,将所述ARP请求报文的发送者MAC地址设置为第二接口的MAC地址后从第二接口广播出去,从而使得第二主机能够根据该ARP请求报文建立包括第一主机IP地址、第二接口的MAC地址和第二主机接收该ARP请求报文的接口的ARP表;
步骤203,第二路由器从第二接口接收第二主机返回的ARP响应报文,将该ARP响应报文从第四接口发送至GRE隧道传输;
步骤204,第一路由器从第三接口接收通过GRE隧道传输的所述ARP响应报文,将所述ARP响应报文的目标MAC地址设置为第一接口的MAC地址后从第一接口发送出去,从而使得第一主机能够根据该ARP响应报文建立包括第二主机IP地址、第一接口MAC地址和第一主机接收该ARP响应报文的接口的ARP表。
通过图2所示的方案可以使得不同路由器下的主机之间实现地址解析,进而为后续实现二层通信奠定了基础。
图3是本发明实施例一种实现二层通信方法的流程图。第一路由器通过自身的第一接口与第一主机相连,第二路由器通过自身的第二接口与第二主机相连,第一主机和第二主机属于同一二层网络,第一路由器和第二路由器通过通用路由封装GRE隧道通信,第一路由器和第二路由器与所述GRE隧道连接的接口分别为第三接口和第四接口,则如图2所示该实现二层通信的方法包括以下步骤:
步骤301,第一路由器从第一接口接收第一主机广播的以第二主机的IP地址为目标地址的地址解析协议ARP请求报文,根据该ARP请求报文建立包括第一主机MAC地址、第一主机IP地址和第一接口的ARP表,根据预先配置的第一路由器的三层接口与第一路由器的GRE接口之间的对应关系找到与第一接口对应的第三接口,并将该ARP请求报文从第三接口发送至GRE隧道传输;
步骤302,第二路由器从第四接口接收通过GRE隧道传输的所述ARP请求报文,根据预先配置的第二路由器的三层接口与第二路由器的GRE接口之间的对应关系找到与第四接口对应的第二接口,将所述ARP请求报文的发送者MAC地址设置为第二接口的MAC地址后从第二接口广播出去;
步骤303,第二路由器从第二接口接收第二主机返回的ARP响应报文,根据该ARP响应报文建立包括第二主机MAC地址、第二主机IP地址和第二接口的ARP表,将该ARP响应报文从第四接口发送至GRE隧道传输,并建立包括第一主机IP地址、第二主机IP地址、第四接口和第二接口的流转发表;
步骤304,第一路由器从第三接口接收通过GRE隧道传输的所述ARP响应报文,将所述ARP响应报文的目标MAC地址设置为第一接口的MAC地址后从第一接口发送出去,并建立包括第一主机IP地址、第二主机IP地址、第一接口和第三接口的流转发表;
步骤305,第一路由器和第二路由器根据各自建立的ARP表和流转发表转发第一主机和第二主机之间的业务流。
图3所示的方案,可以简单地实现不同路由器接口下的属于同一二层网络的两台主机之间二层通信,且对传输网络的要求不高,对业务的可控性强,对用户是透明的,是不可见的。
为使本发明的目的、技术方案及优点更加清楚明白,以下列举一个具体的例子对本发明进一步详细说明。
图4是本发明实施例中的一个组网示意图。如图4所示,主机X、Y、Z和W属于同一二层网络,即属于同一网段内,这里将该网段称为网段AAA;主机Y连接路由器B的三层接口B1,主机W连接路由器B的三层接口B 1,主机X连接路由器A的三层接口A1,主机Z连接路由器C的三层接口C1;路由器A、B和C两两之间通过GRE隧道进行通信,且路由器B的两个GRE接口分别为B2和B3、路由器A的两个GRE接口分别为A2和A3、路由器C的两个GRE接口分别为C2和C3。各个路由器之间建立GRE隧道的过程是现有技术,这里不再详述。路由器A、B和C启用ARP监听功能,监听三层接口连接的局域网内的ARP报文。
在各个路由器上预先静态配置其三层接口和GRE接口的对应关系,其中,所述静态配置的对应关系的三层接口和GRE接口满足如下条件:一个三层接口下的主机与其对应的GRE接口对端路由器下的主机属于同一个二层网络。例如在图4中,为路由器A、B和C分别配置如下的三层接口和GRE接口的对应关系:
路由器A:三层接口A1<--->GRE接口A2和A3;
路由器B:三层接口B1<--->GRE接口B2和B3;
路由器C:三层接口C1<--->GRE接口C2和C3。
上述对应关系可以由网管人员根据实际的组网进行配置,在本实施例中,由于路由器A的接口A1所连接的主机X与路由器A的GRE接口A2和A3的对端路由器下的主机属于同一二层网络,因此设置三层接口A1与GRE接口A2和A3之间的对应关系。路由器B和C上的对应关系设置方式同上。
下面以主机Y和主机X之间进行地址解析并后续进行二层通信的过程为例,对本发明进行说明,具体包括以下步骤:
步骤1,当主机Y需要和主机X进行通信时,需要先请求主机X的MAC地址,则主机Y在自身所处的二层网络内广播ARP请求报文;该ARP请求报文携带的发送者MAC地址为主机Y的MAC地址S_MAC_Y,携带的发送者IP地址为主机Y的IP地址S_IP_Y,携带的目标IP地址为主机X的IP地址T_IP_X。这里“S”表示“发送者(sender)”、“T”表示“目标(Target)”。
步骤2,路由器B从三层接口B1接收到主机Y广播的ARP请求报文后建立相应的ARP表项:主机Y的MAC地址MAC_Y、主机Y的IP地址IP_Y和接口B1;然后路由器B根据该ARP请求报文的目标IP地址判断目标主机属于网段AAA,则根据自身预先配置的三层接口和GRE接口之间的对应关系,找到与三层接口B1对应的GRE接口B2和B3,将ARP请求报文进行GRE封装后从GRE接口B2和B3发送出去。
这里,在路由器B可以在接收到任何目标IP地址属于网段AAA的ARP请求报文时,都查询自身的预先配置的三层接口和GRE接口之间的对应关系,将ARP请求报文通过GRE隧道转发至对端路由器;或者,路由器B只有对于目标IP地址为网络AAA中的指定IP地址(如主机X和Z的IP地址)的ARP报文才查询自身的预先配置的三层接口和GRE接口之间的对应关系,将ARP请求报文通过GRE隧道转发至对端路由器。
步骤3,路由器A从GRE接口A2收到ARP请求报文后,除去GRE封装头,根据自身预先配置的三层接口和GRE接口之间的对应关系,找到与GRE接口A2对应的三层接口A1,将ARP请求报文中的发送者MAC地址改为自己的三层接口A1的MAC地址,并从该三层接口A1广播该ARP请求报文;此时的ARP请求报文中携带的发送者MAC地址为三层接口A1的MAC地址S_MAC_A1,发送者IP地址为主机Y的IP地址S_IP_Y,目标IP地址是主机X的IP地址T_IP_X,即路由器A欺骗网内的主机发送者的MAC地址是自己的MAC地址。
同样,路由器C从GRE接口C2收到ARP请求报文后,除去GRE封装头,根据自身预先配置的三层接口和GRE接口之间的对应关系,找到与GRE接口C2对应的三层接口C1,将ARP请求报文中的发送者MAC地址和以太帧的源MAC地址设置为自己的三层接口C1的MAC地址,并从该三层接口C1广播该ARP请求报文;此时的ARP请求报文中携带的发送者MAC地址为三层接口C1的MAC地址S_MAC_C1,发送者IP地址为主机Y的IP地址S_IP_Y,目标IP地址是主机X的IP地址D_IP_X,即路由器C欺骗网内的主机发送者的MAC地址是自己的MAC地址。
步骤4,主机X收到路由器A广播的ARP请求报文后,根据其中的目标IP地址确认自己就是被请求的目标主机,生成本地的ARP表:MAC_A1、IP_Y和主机X收到ARP请求报文的接口;然后向路由器A单播返回ARP响应报文,其中,该ARP响应报文携带的发送者MAC地址为S_MAC_A1、发送者IP地址为S_IP_Y、目标MAC地址为主机X自身的MAC地址T_MAC_X、目标IP地址为T_IP_X。
对于,路由器C在三层接口C1下广播的ARP请求报文,由于实际组网当中其广播的范围内并没有目标主机X,因此路由器C不会收到相应的ARP响应报文。
步骤5,路由器A从三层接口A1收到单播的ARP响应报文后,根据该ARP响应报文建立主机X的ARP表项:主机X的MAC地址MAC_X、主机X的IP地址IP_X和接口A1;然后将ARP响应报文进行GRE封装后从接收对应的ARP请求报文的GRE接口A2发送出去,并建立关于主机X和主机Y之间的流转发表,该流转发表包括:IP_X、IP_Y、GRE接口A2和三层接口A1。
步骤6,路由器B从GRE接口B2收到ARP响应报文后,除去GRE封装头,将该ARP响应报文中的目标MAC地址设置为自身接收对应ARP请求报文的三层接口B1的MAC地址,并将该ARP响应报文中的以太帧的目的MAC地址根据原来学习的ARP表项填充为MAC_Y后,将该ARP响应报文从三层接口B1发送出去;此处路由器A欺骗网内的主机自己便是被请求的目标主机;同时,路由器B还建立关于主机X和主机Y之间的流转发表,该流转发表包括:IP_X、IP_Y、GRE接口B2和三层接口B1。
步骤7,主机Y收到单播的ARP响应后,生成本地的ARP表:MAC_B1、IP_X和主机Y收到ARP响应报文的接口。
步骤8,之后路由器A和路由器B根据各自建立的ARP表和流转发表转发主机X和主机Y之间的业务流,具体为:
主机Y向主机X发送业务报文时,根据本地的ARP表将业务报文的源IP地址MAC地址设置为主机Y自身的IP地址和MAC地址,目的IP地址设置为IP_X,目的MAC地址设置为MAC_B1后发给路由器B;
路由器B收到从三层接口B1收到所述目的地址为IP_X的业务报文后,根据自身的流转发表从GRE接口B2转发出去;
路由器A从三层接口A2收到所述目的IP为IP_X的业务报文后,根据自身的流转发表确认需要从三层接口A1转发,将所述业务报文的源MAC地址设置为S_MAC_A1,并根据自身的ARP表将所述业务报文的目的MAC地址设置为D_MAC_X后从接口A1发送出去;这样该业务报文就能到达主机X。
主机X向主机Y发送报文的流程与上述主机Y向主机X发送业务报文的流程类似,这里不再复述。
通过上述图4所示的例子可以看出,在本发明的方案中利用GRE隧道承载ARP报文,实现GRE隧道两端的主机的发现,并将GRE隧道技术与ARP监听相结合,实现了二层报文穿越GRE隧道。而且为了实现本发明的方案,只需要对作为用户边缘(CE)设备的路由器进行相应的改进即可,而主机是不需要做任何改变的。
此外,在图4所示的实施例中,由于各个路由器上仅在指定的GRE接口和直连的三层接口之间转发ARP表项,如果图4中的主机Y和主机W之间需要通信,即使ARP报文发送到路由器A和C上,由于没有相应的ARP响应报文,则流转发表也无法建立,主机X和W之间的业务流不会串到路由器A和C上。并且流转发表是根据路由器在指定的GER接口上侦听单播的ARP响应报文建立的,因此可以做到防ARP攻击。
在图4中,为了保证不同路由器下直连的属于同一二层网络的主机网段一样、地址不冲突,可以在路由器上启动DHCP Relay功能,由上层的DHCP服务器统一分配IP地址。
图5是本发明实施例一种实现地址解析的系统的组成框图。如图5所示,该系统包括路由器501和路由器502,路由器501通过自身的第一接口与第一主机相连,路由器502通过自身的第二接口与第二主机相连,第一主机和第二主机属于同一二层网络;路由器501和路由器502通过通用路由封装GRE隧道通信,路由器501和路由器502与所述GRE隧道连接的接口分别为第三接口和第四接口;
路由器501,用于从第一接口接收第一主机广播的以第二主机的IP地址为目标地址的地址解析协议ARP请求报文,根据预先配置的路由器501的三层接口与路由器501的GRE接口之间的对应关系找到与第一接口对应的第三接口,并将该ARP请求报文从第三接口发送至GRE隧道传输;
路由器502,用于从第四接口接收通过GRE隧道传输的所述ARP请求报文,根据预先配置的路由器502的三层接口与路由器502的GRE接口之间的对应关系找到与第四接口对应的第二接口,将所述ARP请求报文的发送者MAC地址设置为第二接口的MAC地址后从第二接口广播出去,从而使得第二主机能够根据该ARP请求报文建立包括第一主机IP地址、第二接口的MAC地址和第二主机接收该ARP请求报文的接口的ARP表;用于从第二接口接收第二主机返回的ARP响应报文,将该ARP响应报文从第四接口发送至GRE隧道传输;
路由器501,用于从第三接口接收通过GRE隧道传输的所述ARP响应报文,将所述ARP响应报文的目标MAC地址设置为第一接口的MAC地址后从第一接口发送出去,从而使得第一主机能够根据该ARP响应报文建立包括第二主机IP地址、第一接口MAC地址和第一主机接收该ARP响应报文的接口的ARP表。
图6是本发明实施例一种实现二层通信的系统的组成框图。如图6所示,该系统包括路由器601和路由器602,路由器601通过自身的第一接口与第一主机相连,路由器602通过自身的第二接口与第二主机相连,第一主机和第二主机属于同一二层网络;路由器601和路由器602通过通用路由封装GRE隧道通信,路由器601和路由器602与所述GRE隧道连接的接口分别为第三接口和第四接口;
路由器601,用于从第一接口接收第一主机广播的以第二主机的IP地址为目标地址的地址解析协议ARP请求报文,根据该ARP请求报文建立包括第一主机MAC地址、第一主机IP地址和第一接口的ARP表,根据预先配置的路由器601的三层接口与路由器601的GRE接口之间的对应关系找到与第一接口对应的第三接口,并将该ARP请求报文从第三接口发送至GRE隧道传输;
路由器602,用于从第四接口接收通过GRE隧道传输的所述ARP请求报文,根据预先配置的路由器602的三层接口与路由器602的GRE接口之间的对应关系找到与第四接口对应的第二接口,将所述ARP请求报文的发送者MAC地址设置为第二接口的MAC地址后从第二接口广播出去;用于从第二接口接收第二主机返回的ARP响应报文,根据该ARP响应报文建立包括第二主机MAC地址、第二主机IP地址和第二接口的ARP表,将该ARP响应报文从第四接口发送至GRE隧道传输,并建立包括第一主机IP地址、第二主机IP地址、第四接口和第二接口的流转发表;
路由器601,用于从第三接口接收通过GRE隧道传输的所述ARP响应报文,将所述ARP响应报文的目标MAC地址设置为第一接口的MAC地址后从第一接口发送出去,并建立包括第一主机IP地址、第二主机IP地址、第一接口和第三接口的流转发表;
路由器601和路由器602用于根据各自建立的ARP表和流转发表转发第一主机和第二主机之间的业务流。
在图6中,路由器601,用于从第一接口收到目的IP地址为第二主机IP地址的业务报文时,根据自身的流转发表从第三接口转发至GRE隧道传输;从第三接口收到通过GRE隧道传输的目的IP地址为第一主机IP地址的业务报文时,根据自身的ARP表和流转发表,将业务报文的源MAC地址设置为第一接口的MAC地址后从第一接口转发出去;
路由器602,进一步用于从第四接口收到通过GRE隧道传输的目的IP地址为第二主机IP地址的业务报文时,根据自身的ARP表和流转发表,将业务报文的源MAC地址设置为第二接口的MAC地址后从第二接口转发出去;从第二接口收到目的IP地址为第一主机IP地址的业务报文时,根据自身的流转发表从第四接口转发至GRE隧道传输。
图7是本发明实施例一种实现地址解析的路由器的组成结构框图。图7中的该路由器通过自身的第一接口与第一主机相连,并与对端路由器通过GRE隧道通信,所述对端路由器通过自身的第二接口与第二主机相连,第一主机和第二主机属于同一二层网络,该路由器和对端第二路由器与所述GRE隧道连接的接口分别为第三接口和第四接口,该路由器包括:ARP报文处理模块701和存储模块702;
ARP报文处理模块701,用于从第一接口接收第一主机广播的以第二主机的IP地址为目标地址的地址解析协议ARP请求报文,根据预先配置的该路由器的三层接口与该路由器的GRE接口之间的对应关系找到与第一接口对应的第三接口,并将该ARP请求报文从第三接口发送至GRE隧道传输;用于从第三接口接收通过GRE隧道传输的ARP响应报文,将所述ARP响应报文的目标MAC地址设置为第一接口的MAC地址后从第一接口发送出去,从而使得第一主机能够根据该ARP响应报文建立包括第二主机IP地址、第一接口MAC地址和第一主机接收该ARP响应报文的接口的ARP表;
其中,对端路由器从第四接口接收通过GRE隧道传输的所述ARP报文处理模块发送的ARP请求报文,根据预先配置的该对端路由器的三层接口与该对端路由器的GRE接口之间的对应关系找到与第四接口对应的第二接口,将所述ARP请求报文的发送者MAC地址设置为第二接口的MAC地址后从第二接口广播出去,从而使得第二主机能够根据该ARP请求报文建立包括第一主机IP地址、第二接口的MAC地址和第二主机接收该ARP请求报文的接口的ARP表;然后从第二接口接收第二主机返回的ARP响应报文,将该ARP响应报文从第四接口发送至GRE隧道传输,使得ARP报文处理模块701从第三接口接收所述ARP响应报文;
存储模块702,用于保存所述预先配置的该路由器的三层接口与该路由器的GRE接口之间的对应关系。
图8是本发明实施例一种实现二层通信的路由器的组成结构框图。图8中的该路由器通过自身的第一接口与第一主机相连,并与对端路由器通过GRE隧道通信,所述对端路由器通过自身的第二接口与第二主机相连,第一主机和第二主机属于同一二层网络,该路由器和对端第二路由器与所述GRE隧道连接的接口分别为第三接口和第四接口;如图8所示,该路由器包括:ARP报文处理模块801、业务报文处理模块802和存储模块803;
ARP报文处理模块801,用于从第一接口接收第一主机广播的以第二主机的IP地址为目标地址的地址解析协议ARP请求报文,根据该ARP请求报文建立包括第一主机MAC地址、第一主机IP地址和第一接口的ARP表,根据预先配置的该路由器的三层接口与该路由器的GRE接口之间的对应关系找到与第一接口对应的第三接口,并将该ARP请求报文从第三接口发送至GRE隧道传输;用于从第三接口接收通过GRE隧道传输的ARP响应报文,将所述ARP响应报文的目标MAC地址设置为第一接口的MAC地址后从第一接口发送出去,并建立包括第一主机IP地址、第二主机IP地址、第一接口和第三接口的流转发表;
其中,对端路由器从第四接口接收通过GRE隧道传输的所述ARP报文处理模块发送的ARP请求报文,根据预先配置的对端路由器的三层接口与该对端路由器的GRE接口之间的对应关系找到与第四接口对应的第二接口,将所述ARP请求报文的发送者MAC地址设置为第二接口的MAC地址后从第二接口广播出去,然后从第二接口接收第二主机返回的ARP响应报文,根据该ARP响应报文建立包括第二主机MAC地址、第二主机IP地址和第二接口的ARP表,建立包括第一主机IP地址、第二主机IP地址、第四接口和第二接口的流转发表,并将该ARP响应报文从第四接口发送至GRE隧道传输,使得ARP请求模块从第三接口接收所述ARP响应报文;
存储模块803,用于保存所述预先配置的该路由器的三层接口与该路由器的GRE接口之间的对应关系以及ARP报文处理模块801建立的ARP表和流转发表;
业务报文处理模块802,用于根据存储模块803中的ARP表和流转发表转发第一主机和第二主机之间的业务流;其中,对端路由器根据自身建立的ARP表和流转发表转发第一主机和第二主机之间的业务流。
在图8中,业务报文处理模块803,用于从第一接口收到目的IP地址为第二主机IP地址的业务报文时,根据ARP报文处理模块建立的流转发表将所述业务报文从第三接口转发至GRE隧道传输;用于从第三接口收到通过GRE隧道传输的目的IP地址为第一主机IP地址的业务报文时,根据ARP报文处理模块建立的ARP表和流转发表,将业务报文的源MAC地址设置为第一接口的MAC地址后从第一接口转发出去。相应地,对端路由器,用于在从第四接口收到通过GRE隧道传输的目的IP地址为第二主机IP地址的业务报文时,根据自身的ARP表和流转发表,将业务报文的源MAC地址设置为第二接口的MAC地址后从第二接口转发出去;从第二接口收到目的IP地址为第一主机IP地址的业务报文时,根据自身的流转发表从第四接口转发至GRE隧道传输。
综上所述,本发明这种在分别连接属于同一二层网络的不同主机的路由器之间建立GRE隧道,并在所述各路由器上启用ARP,将收到的ARP报文封装入GRE隧道传输到另一端,并在GRE隧道两端维护相应的转发关系,以实现地址解析,并进一步实现二层网络报文通过GRE隧道透传的技术方案,只需要对作为客户端边缘设备的路由器进行改进,而不需要改变主机,因此实现起来简单方便。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种实现地址解析方法,其特征在于,第一路由器通过自身的第一接口与第一主机相连,第二路由器通过自身的第二接口与第二主机相连,第一主机和第二主机属于同一个二层网络,第一路由器和第二路由器通过通用路由封装GRE隧道通信,第一路由器和第二路由器与所述GRE隧道连接的接口分别为第三接口和第四接口,该方法包括:
第一路由器从第一接口接收第一主机广播的以第二主机的IP地址为目标地址的地址解析协议ARP请求报文,根据预先配置的第一路由器的三层接口与第一路由器的GRE接口之间的对应关系找到与第一接口对应的第三接口,并将该ARP请求报文从第三接口发送至GRE隧道传输;
第二路由器从第四接口接收通过GRE隧道传输的所述ARP请求报文,根据预先配置的第二路由器的三层接口与第二路由器的GRE接口之间的对应关系找到与第四接口对应的第二接口,将所述ARP请求报文的发送者MAC地址设置为第二接口的MAC地址后从第二接口广播出去,从而使得第二主机能够根据该ARP请求报文建立包括第一主机IP地址、第二接口的MAC地址和第二主机接收该ARP请求报文的接口的ARP表;
第二路由器从第二接口接收第二主机返回的ARP响应报文,将该ARP响应报文从第四接口发送至GRE隧道传输;
第一路由器从第三接口接收通过GRE隧道传输的所述ARP响应报文,将所述ARP响应报文的目标MAC地址设置为第一接口的MAC地址后从第一接口发送出去,从而使得第一主机能够根据该ARP响应报文建立包括第二主机IP地址、第一接口MAC地址和第一主机接收该ARP响应报文的接口的ARP表。
2.一种实现二层通信的方法,其特征在于,第一路由器通过自身的第一接口与第一主机相连,第二路由器通过自身的第二接口与第二主机相连,第一主机和第二主机属于同一个二层网络,第一路由器和第二路由器通过通用路由封装GRE隧道通信,第一路由器和第二路由器与所述GRE隧道连接的接口分别为第三接口和第四接口,该方法包括:
第一路由器从第一接口接收第一主机广播的以第二主机的IP地址为目标地址的地址解析协议ARP请求报文,根据该ARP请求报文建立包括第一主机MAC地址、第一主机IP地址和第一接口的ARP表,根据预先配置的第一路由器的三层接口与第一路由器的GRE接口之间的对应关系找到与第一接口对应的第三接口,并将该ARP请求报文从第三接口发送至GRE隧道传输;
第二路由器从第四接口接收通过GRE隧道传输的所述ARP请求报文,根据预先配置的第二路由器的三层接口与第二路由器的GRE接口之间的对应关系找到与第四接口对应的第二接口,将所述ARP请求报文的发送者MAC地址设置为第二接口的MAC地址后从第二接口广播出去;
第二路由器从第二接口接收第二主机返回的ARP响应报文,根据该ARP响应报文建立包括第二主机MAC地址、第二主机IP地址和第二接口的ARP表,将该ARP响应报文从第四接口发送至GRE隧道传输,并建立包括第一主机IP地址、第二主机IP地址、第四接口和第二接口的流转发表;
第一路由器从第三接口接收通过GRE隧道传输的所述ARP响应报文,将所述ARP响应报文的目标MAC地址设置为第一接口的MAC地址后从第一接口发送出去,并建立包括第一主机IP地址、第二主机IP地址、第一接口和第三接口的流转发表;
之后,第一路由器和第二路由器根据各自建立的ARP表和流转发表转发第一主机和第二主机之间的业务流。
3.如权利要求2所述的方法,其特征在于,
所述预先配置的第一路由器的三层接口与第一路由器的GRE接口之间的对应关系中,相互对应的三层接口和GRE接口满足如下条件:三层接口下的主机与对应的GRE接口对端路由器下的主机属于同一个二层网络;
所述预先配置的第二路由器的三层接口与第二路由器的GRE接口之间的对应关系中,相互对应的三层接口和GRE接口满足如下条件:三层接口下的主机与对应的GRE接口对端路由器下的主机属于同一个二层网络。
4.如权利要求2所述的方法,其特征在于,所述第一路由器和第二路由器根据各自建立的ARP表和流转发表转发第一主机和第二主机之间的业务流包括:
第一路由器从第一接口收到目的IP地址为第二主机IP地址的业务报文时,根据自身的流转发表从第三接口转发至GRE隧道传输;从第三接口收到通过GRE隧道传输的目的IP地址为第一主机IP地址的业务报文时,根据自身的ARP表和流转发表,将业务报文的源MAC地址设置为第一接口的MAC地址后从第一接口转发出去;
第二路由器从第四接口收到通过GRE隧道传输的目的IP地址为第二主机IP地址的业务报文时,根据自身的ARP表和流转发表,将业务报文的源MAC地址设置为第二接口的MAC地址后从第二接口转发出去;从第二接口收到目的IP地址为第一主机IP地址的业务报文时,根据自身的流转发表从第四接口转发至GRE隧道传输。
5.一种实现地址解析的系统,其特征在于,该系统包括第一路由器和第二路由器,第一路由器通过自身的第一接口与第一主机相连,第二路由器通过自身的第二接口与第二主机相连,第一主机和第二主机属于同一二层网络;第一路由器和第二路由器通过通用路由封装GRE隧道通信,第一路由器和第二路由器与所述GRE隧道连接的接口分别为第三接口和第四接口;
第一路由器,用于从第一接口接收第一主机广播的以第二主机的IP地址为目标地址的地址解析协议ARP请求报文,根据预先配置的第一路由器的三层接口与第一路由器的GRE接口之间的对应关系找到与第一接口对应的第三接口,并将该ARP请求报文从第三接口发送至GRE隧道传输;
第二路由器,用于从第四接口接收通过GRE隧道传输的所述ARP请求报文,根据预先配置的第二路由器的三层接口与第二路由器的GRE接口之间的对应关系找到与第四接口对应的第二接口,将所述ARP请求报文的发送者MAC地址设置为第二接口的MAC地址后从第二接口广播出去,从而使得第二主机能够根据该ARP请求报文建立包括第一主机IP地址、第二接口的MAC地址和第二主机接收该ARP请求报文的接口的ARP表;用于从第二接口接收第二主机返回的ARP响应报文,将该ARP响应报文从第四接口发送至GRE隧道传输;
第一路由器,用于从第三接口接收通过GRE隧道传输的所述ARP响应报文,将所述ARP响应报文的目标MAC地址设置为第一接口的MAC地址后从第一接口发送出去,从而使得第一主机能够根据该ARP响应报文建立包括第二主机IP地址、第一接口MAC地址和第一主机接收该ARP响应报文的接口的ARP表。
6.一种实现二层通信的系统,其特征在于,该系统包括第一路由器和第二路由器,第一路由器通过自身的第一接口与第一主机相连,第二路由器通过自身的第二接口与第二主机相连,第一主机和第二主机属于同一二层网络;第一路由器和第二路由器通过通用路由封装GRE隧道通信,第一路由器和第二路由器与所述GRE隧道连接的接口分别为第三接口和第四接口;
第一路由器,用于从第一接口接收第一主机广播的以第二主机的IP地址为目标地址的地址解析协议ARP请求报文,根据该ARP请求报文建立包括第一主机MAC地址、第一主机IP地址和第一接口的ARP表,根据预先配置的第一路由器的三层接口与第一路由器的GRE接口之间的对应关系找到与第一接口对应的第三接口,并将该ARP请求报文从第三接口发送至GRE隧道传输;
第二路由器,用于从第四接口接收通过GRE隧道传输的所述ARP请求报文,根据预先配置的第二路由器的三层接口与第二路由器的GRE接口之间的对应关系找到与第四接口对应的第二接口,将所述ARP请求报文的发送者MAC地址设置为第二接口的MAC地址后从第二接口广播出去;用于从第二接口接收第二主机返回的ARP响应报文,根据该ARP响应报文建立包括第二主机MAC地址、第二主机IP地址和第二接口的ARP表,将该ARP响应报文从第四接口发送至GRE隧道传输,并建立包括第一主机IP地址、第二主机IP地址、第四接口和第二接口的流转发表;
第一路由器,用于从第三接口接收通过GRE隧道传输的所述ARP响应报文,将所述ARP响应报文的目标MAC地址设置为第一接口的MAC地址后从第一接口发送出去,并建立包括第一主机IP地址、第二主机IP地址、第一接口和第三接口的流转发表;
第一路由器和第二路由器用于根据各自建立的ARP表和流转发表转发第一主机和第二主机之间的业务流。
7.如权利要求6所述的系统,其特征在于,
所述第一路由器,用于从第一接口收到目的IP地址为第二主机IP地址的业务报文时,根据自身的流转发表从第三接口转发至GRE隧道传输;从第三接口收到通过GRE隧道传输的目的IP地址为第一主机IP地址的业务报文时,根据自身的ARP表和流转发表,将业务报文的源MAC地址设置为第一接口的MAC地址后从第一接口转发出去;
所述第二路由器,用于从第四接口收到通过GRE隧道传输的目的IP地址为第二主机IP地址的业务报文时,根据自身的ARP表和流转发表,将业务报文的源MAC地址设置为第二接口的MAC地址后从第二接口转发出去;从第二接口收到目的IP地址为第一主机IP地址的业务报文时,根据自身的流转发表从第四接口转发至GRE隧道传输。
8.一种实现地址解析的路由器,其特征在于,该路由器通过自身的第一接口与第一主机相连,并与对端路由器通过通用路由封装GRE隧道通信,所述对端路由器通过自身的第二接口与第二主机相连,第一主机和第二主机属于同一二层网络,该路由器和对端第二路由器与所述GRE隧道连接的接口分别为第三接口和第四接口,该路由器包括:ARP报文处理模块和存储模块;
所述ARP报文处理模块,用于从第一接口接收第一主机广播的以第二主机的IP地址为目标地址的地址解析协议ARP请求报文,根据预先配置的该路由器的三层接口与该路由器的GRE接口之间的对应关系找到与第一接口对应的第三接口,并将该ARP请求报文从第三接口发送至GRE隧道传输;用于从第三接口接收通过GRE隧道传输的ARP响应报文,将所述ARP响应报文的目标MAC地址设置为第一接口的MAC地址后从第一接口发送出去,从而使得第一主机能够根据该ARP响应报文建立包括第二主机IP地址、第一接口MAC地址和第一主机接收该ARP响应报文的接口的ARP表;
其中,对端路由器从第四接口接收通过GRE隧道传输的所述ARP报文处理模块发送的ARP请求报文,根据预先配置的该对端路由器的三层接口与该对端路由器的GRE接口之间的对应关系找到与第四接口对应的第二接口,将所述ARP请求报文的发送者MAC地址设置为第二接口的MAC地址后从第二接口广播出去,从而使得第二主机能够根据该ARP请求报文建立包括第一主机IP地址、第二接口的MAC地址和第二主机接收该ARP请求报文的接口的ARP表;然后从第二接口接收第二主机返回的ARP响应报文,将该ARP响应报文从第四接口发送至GRE隧道传输,使得ARP报文处理模块从第三接口接收所述ARP响应报文;
所述存储模块,用于保存所述预先配置的该路由器的三层接口与该路由器的GRE接口之间的对应关系。
9.一种实现二层通信的路由器,其特征在于该路由器通过自身的第一接口与第一主机相连,并与对端路由器通过通用路由封装GRE隧道通信,所述对端路由器通过自身的第二接口与第二主机相连,第一主机和第二主机属于同一二层网络,该路由器和对端第二路由器与所述GRE隧道连接的接口分别为第三接口和第四接口,该路由器包括:ARP报文处理模块、存储模块和业务报文处理模块;
所述ARP报文处理模块,用于从第一接口接收第一主机广播的以第二主机的IP地址为目标地址的地址解析协议ARP请求报文,根据该ARP请求报文建立包括第一主机MAC地址、第一主机IP地址和第一接口的ARP表,根据预先配置的该路由器的三层接口与该路由器的GRE接口之间的对应关系找到与第一接口对应的第三接口,并将该ARP请求报文从第三接口发送至GRE隧道传输;用于从第三接口接收通过GRE隧道传输的ARP响应报文,将所述ARP响应报文的目标MAC地址设置为第一接口的MAC地址后从第一接口发送出去,并建立包括第一主机IP地址、第二主机IP地址、第一接口和第三接口的流转发表;
其中,对端路由器从第四接口接收通过GRE隧道传输的所述ARP报文处理模块发送的ARP请求报文,根据预先配置的该对端路由器的三层接口与该对端路由器的GRE接口之间的对应关系找到与第四接口对应的第二接口,将所述ARP请求报文的发送者MAC地址设置为第二接口的MAC地址后从第二接口广播出去;然后从第二接口接收第二主机返回的ARP响应报文,根据该ARP响应报文建立包括第二主机MAC地址、第二主机IP地址和第二接口的ARP表,建立包括第一主机IP地址、第二主机IP地址、第四接口和第二接口的流转发表,并将该ARP响应报文从第四接口发送至GRE隧道传输,使得ARP报文处理模块从第三接口接收所述ARP响应报文;
所述存储模块,用于保存所述预先配置的该路由器的三层接口与该路由器的GRE接口之间的对应关系以及所述ARP报文处理模块建立的ARP表和流转发表;
所述业务报文处理模块,用于根据存储模块中的ARP表和流转发表转发第一主机和第二主机之间的业务流;其中,对端路由器根据自身建立的ARP表和流转发表转发第一主机和第二主机之间的业务流。
10.如权利要求9所述的路由器,其特征在于,
所述业务报文处理模块,用于从第一接口收到目的IP地址为第二主机IP地址的业务报文时,根据ARP报文处理模块建立的流转发表将所述业务报文从第三接口转发至GRE隧道传输;用于从第三接口收到通过GRE隧道传输的目的IP地址为第一主机IP地址的业务报文时,根据ARP报文处理模块建立的ARP表和流转发表,将业务报文的源MAC地址设置为第一接口的MAC地址后从第一接口转发出去;
其中,对端路由器,用于在从第四接口收到通过GRE隧道传输的目的IP地址为第二主机IP地址的业务报文时,根据自身的ARP表和流转发表,将业务报文的源MAC地址设置为第二接口的MAC地址后从第二接口转发出去;从第二接口收到目的IP地址为第一主机IP地址的业务报文时,根据自身的流转发表从第四接口转发至GRE隧道传输。
CN2009100782192A 2009-02-20 2009-02-20 实现地址解析和实现二层通信的方法、系统和路由器 Expired - Fee Related CN101488964B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100782192A CN101488964B (zh) 2009-02-20 2009-02-20 实现地址解析和实现二层通信的方法、系统和路由器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100782192A CN101488964B (zh) 2009-02-20 2009-02-20 实现地址解析和实现二层通信的方法、系统和路由器

Publications (2)

Publication Number Publication Date
CN101488964A CN101488964A (zh) 2009-07-22
CN101488964B true CN101488964B (zh) 2011-09-28

Family

ID=40891639

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100782192A Expired - Fee Related CN101488964B (zh) 2009-02-20 2009-02-20 实现地址解析和实现二层通信的方法、系统和路由器

Country Status (1)

Country Link
CN (1) CN101488964B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102137108A (zh) * 2011-03-16 2011-07-27 华为技术有限公司 报文注册的方法、交换机
CN102158407B (zh) * 2011-03-31 2014-07-30 华为技术有限公司 一种配置地址解析协议arp表项的方法和装置
CN102984072B (zh) * 2011-09-02 2017-06-16 南京中兴新软件有限责任公司 一种广播报文中继方法、系统和接入服务路由器
CN102291320B (zh) 2011-09-29 2015-03-18 杭州华三通信技术有限公司 Mac地址学习方法和边缘设备
CN102594943B (zh) * 2012-03-19 2014-10-22 杭州华三通信技术有限公司 用于实现arp侦听的方法和装置
CN102710509B (zh) * 2012-05-18 2015-04-15 杭州华三通信技术有限公司 一种数据中心自动配置方法及其设备
CN102868615B (zh) * 2012-09-17 2016-04-20 瑞斯康达科技发展股份有限公司 一种局域网间传输报文的方法和系统
CN103139075B (zh) * 2013-03-13 2016-01-20 杭州华三通信技术有限公司 一种报文传输方法和设备
CN103647709A (zh) * 2013-11-28 2014-03-19 杭州华三通信技术有限公司 一种arp表项建立方法和装置
CN103763200B (zh) * 2014-01-21 2017-03-01 杭州华三通信技术有限公司 在虚拟二层互联中学习路由的方法和装置
CN104022936B (zh) * 2014-06-20 2018-02-06 新华三技术有限公司 一种隧道建立方法和装置
CN115766340A (zh) * 2022-11-03 2023-03-07 中兴通讯股份有限公司 数据传输方法、路由设备及可读介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1682516A (zh) * 2002-09-16 2005-10-12 思科技术公司 用于防止网络地址盗用的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1682516A (zh) * 2002-09-16 2005-10-12 思科技术公司 用于防止网络地址盗用的方法和装置

Also Published As

Publication number Publication date
CN101488964A (zh) 2009-07-22

Similar Documents

Publication Publication Date Title
CN101488964B (zh) 实现地址解析和实现二层通信的方法、系统和路由器
CN102035729B (zh) 一种组播数据转发方法
US7869432B1 (en) Peer-to-peer link aggregation across a service provider network
ES2565827T3 (es) Método de control de enrutamiento, aparato y sistema de red privada virtual de capa 3
EP1816796B1 (en) Bi-directional forwarding in ethernet-based service domains over networks
CN102932254B (zh) 报文转发方法及装置
US7796611B2 (en) Method for providing efficient multipoint network services
CN101616014B (zh) 一种实现跨虚拟专用局域网组播的方法
EP3069471B1 (en) Optimized multicast routing in a clos-like network
CN102932499A (zh) Vpls网络中的mac地址学习方法及设备
CN105357099A (zh) 一种基于sdn的虚拟专用网络的实现方法
KR101694223B1 (ko) 패킷을 전송하는 방법, 라우팅 브리지, 및 시스템
CN106210157A (zh) 抑制地址解析协议消息的方法与系统、控制器
CN101499951B (zh) 隧道配置方法、虚拟接入节点、虚拟边缘节点以及系统
CN105099847A (zh) 一种多归属接入方法和装置
CN103200120A (zh) 一种直接路由方式下的报文转发方法和网络设备
CN101026547A (zh) 一种将Intranet中的IPv6主机接入全球IPv6网络的方法及系统
CN108712520A (zh) 一种基于lte无线专网的终端ip地址透传系统及方法
CN102255787B (zh) 一种基于服务质量的报文处理方法和运营商网络边缘设备
CN103685007B (zh) 一种边缘设备报文转发时的mac学习方法及边缘设备
CN102282811A (zh) 一种伪线的建立方法、装置和系统
CN104158756B (zh) 一种集群系统对报文进行负载分担的方法和系统
JP2017532875A (ja) データ交換方法、ベースバンド処理ユニット、無線リモートユニット及びリレーユニット
US20080049765A1 (en) Method and system for inter working a point-to-point link and a LAN service
CN116248587B (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
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110928

Termination date: 20200220