法律状态公告日
法律状态信息
法律状态
2012-10-17
授权
授权
2008-08-06
实质审查的生效
实质审查的生效
2008-06-11
公开
公开
技术领域
本发明实施例涉及网络通信技术领域,尤其涉及一种提升地址解析协议代理发包效率的方法、装置和系统。
背景技术
随着网络通信的迅速发展,在一些接入网组网结构和其他组网结构中,要求网络设备(尤其是接入设备)采取二三层混合组网,即将相连的二层和三层设备看作一个系统,如图1所示,该系统对外可以看作一个大的三层设备。一般地,将系统连向核心网络或更高一级的网络的一侧称为“网络侧”,将系统连向边缘网络或用户网络的一侧称为“用户侧”。对于网络侧和用户侧来说,这个级联系统应能够屏蔽其内部是一个设备还是多个设备的差异,使整个系统在外部看起来像一个独立的三层设备,如图2所示。目前可能的组网形式包括:一个三层设备级联多个二层设备,此时三层设备起到汇聚的作用。
另外,接入网或类似地位的边缘网络具有这样一个特点:出于安全性的考虑,用户Host(或称主机)之间往往是二层隔离的。他们一般被划分到不同的VLAN(Virtual Local Area Network,虚拟局域网)里;即使属于同一个VLAN,也可能通过一些技术使之隔离。当用户间需要互通的时候,这些被隔离了的用户需要通过一个三层网络互通。这些VLAN下的用户可以属于相同的网段或不同的网段,然而,为了节省IP(Internet Protocol,因特网协议)地址,这些VLAN下的用户一般使用同一个网段。此时,为了实现这些用户之间的三层互通,往往需要借助ARP Proxy(Address Resolution Protocol Proxy,地址解析协议代理)技术,如图3所示,为ARP Proxy技术原理的流程图。
如果各个设备间进行普通的二层互联,仍需要在三层设备上实现ARPProxy技术,此时ARP Proxy的实现是比较复杂的。结合图1和图2,可以看出,需要在三层设备和二层设备之间发送多个ARP请求报文,针对二层设备的每个VLAN都需要发送一个报文,如图4中的二层设备VLAN 3,...,VLAN n。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
现有技术中,在上级设备和下级设备之间互通时,ARP Proxy需要为每个下级设备的每个VLAN发送一个ARP Request广播报文,而且ARP Proxy需要为不同的VLAN发送不同的ARP Request报文,ARP Proxy的发包效率较低,实现较复杂。
发明内容
本发明实施例提供一种提升地址解析协议代理发包效率的方法、装置和系统,以实现ARP Proxy只向每个设备发送一个ARP Request报文,提高了ARP Proxy的发包效率。
为达到上述目的,本发明实施例一方面提供一种提升地址解析协议代理发包效率的方法,包括以下步骤:接收地址解析协议请求报文;替换所述地址解析协议请求报文中发送端设备的媒体访问控制MAC地址和所述发送端设备所属的子虚拟局域网SubVLAN,并向超级虚拟局域网SuperVLAN下的每个设备发送一个已替换MAC地址和SubVLAN的地址解析协议请求报文。
另一方面,本发明实施例还提供一种地址解析协议代理设备,包括:接收模块,用于接收地址解析协议请求报文;替换发送模块,用于替换所述接收模块接收的地址解析协议请求报文中的发送端设备的MAC地址和所述发送端设备所属的SubVLAN,并向SuperVLAN下的每个设备发送一个已替换MAC地址和SubVLAN的地址解析协议请求报文。
再一方面,本发明实施例还提供一种三层网络设备,包括一种地址解析协议代理设备。
再一方面,本发明实施例还提供一种提升发包效率的系统,其特征在于,包括:发送端设备,用于发送地址解析协议请求报文;三层网络设备,用于接收所述地址解析协议请求报文,替换所述地址解析协议请求报文中发送端设备的MAC地址和所述发送端设备所属的SubVLAN,并向SuperVLAN下的每个设备发送一个已替换MAC地址和SubVLAN的地址解析协议请求报文。
与现有技术相比,本发明实施例具有以下优点:通过本发明实施例,三层网络设备向SuperVLAN下的每个设备只发送一个地址解析协议代理请求报文,从而简化了级联场景下三层网络设备实现的复杂度,提高了级联场景下三层网络设备的发包效率。
附图说明
图1为现有技术级联形态的三层系统示意图;
图2为现有技术独立形态的三层系统示意图;
图3为现有技术ARP Proxy的原理图;
图4为现有技术普通级连场景下的ARP Proxy示意图;
图5为本发明实施例使用SuperVLAN技术的级联场景下ARP Proxy的示意图;
图6为本发明实施例提升地址解析协议代理发包效率的方法的流程图;
图7为本发明实施例提升发包效率的系统的结构图。
具体实施方式
本发明实施例提供了一种提升地址解析协议代理发包效率的方法,通过本发明实施例,地址解析协议代理接收地址解析协议代理请求报文,然后替换发送端设备的MAC地址和该发送端设备所属的SubVLAN,并向SuperVLAN(Super Virtual Local Area Network,超级虚拟局域网)下的每个设备发送一个地址解析协议代理请求报文,从而解决了级联场景下地址解析协议代理请求报文发包效率低的问题,以一种简单、快捷的方式实现了跨设备的地址解析协议代理。
本发明实施例在二三层级联组网的场景下,无论二层网络设备有多少VLAN,三层网络设备只需要向二层设备发送一个ARP Request报文,即可实现ARP Proxy的功能,简化了级联场景下ARP Proxy实现的复杂度,提高级联场景下的ARP Proxy发包效率。该二层网络设备可以为交换机、局域网设备、网桥等设备,该三层网络设备可以为路由器等设备。
如图5所示,为本发明实施例使用SuperVLAN技术的级联场景下ARPProxy的示意图,各个设备的VLAN作为SubVLAN,和SuperVLAN建立起一种汇聚关系;该SuperVLAN的ARP广播域分布在各个设备上,用来向该设备上各个SubVLAN的用户广播ARP Request报文,其中,ARP Proxy是SuperVLAN三层接口上启动的一个功能,进行ARP协议的代理。任何一个普通的VLAN在创建三层接口之后,均可以启动ARP Proxy功能。一个SuperVLAN一般要创建一个三层接口才有用,并且创建了三层接口的SuperVLAN往往启动ARP Proxy功能。
如图6所示,为本发明实施例提升地址解析协议代理发包效率的方法的流程图,具体包括以下步骤:
步骤S601,接收ARP Request报文。ARP Proxy接收某个SubVLAN的用户(主机)发出的ARP Request报文,请求所属SuperVLAN下的某SubVLAN的某用户的MAC(Media Access Control,媒体访问控制)地址,该ARP Request报文包含该发送端设备的MAC地址和IP地址。
步骤S602,替换ARP Request报文中发送端设备的MAC地址和该发送端设备所属的SubVLAN,并向SuperVLAN下的每个设备发送一个已替换MAC地址和SubVLAN的ARP Request报文。
具体为:在接收到该发送端设备发送的ARP Request报文后,ARP Proxy记录该ARP Request报文的来源,对ARP Request报文中发送端设备的MAC地址和发送端设备所属的SubVLAN的进行替换处理:用SuperVLAN的三层接口的MAC地址替换该发送端设备的MAC地址,并将该ARP Request报文中的发送端设备所属的SubVLAN替换为SuperVLAN,同时该三层接口学习ARP表项。SuperVLAN的三层接口指三层报文转发的参与者,一般对应一个物理接口或逻辑接口,该三层接口具有自己的IP地址、MAC地址,三层报文转发的出口和入口都是三层接口。在替换源MAC地址和源SubVLAN之后,ARP Proxy在SuperVLAN的ARP广播域中向该SuperVLAN下的每个设备发送一个已替换MAC地址和发送端设备所属的SubVLAN的ARP Request报文。从而使得报文的复制或替换过程得以简化,而且报文的发送从向每个设备的每个SubVLAN发送一份变成了只向每个设备发送一份,提高了ARP Proxy的发包效率。
步骤S603,各个设备将ARP Request报文发送到本设备内的各个SubVLAN。
在ARP Request报文到达各个设备的ARP广播域之后,各个设备将该ARPRequest报文发送到本设备内的各个SubVLAN。
步骤S604,SubVLAN将ARP Request报文发送给本SubVLAN内的各个用户。在接收到设备发送的ARP Request报文之后,SubVLAN向本SubVLAN内的用户广播该ARP Request报文。
步骤S605,被请求用户回复ARP Reply报文。如果某个设备的SubVLAN内的用户在接收到ARP Request报文之后,发现ARP Request报文中要请求的MAC地址对应的IP地址,是自己的IP地址,就填充自己的MAC地址,回复单播的ARP Reply报文至ARP Proxy。
步骤S606,ARP Proxy替换ARP Reply报文的信息,并将其发送给发起ARPRequest报文的用户。其中,替换ARP Reply报文的信息具体为:用发起ARPRequest报文的用户所属的SubVLAN和MAC地址替换ARP Reply报文中的目的SubVLAN和目的MAC地址,用SuperVLAN三层接口的MAC地址替换ARPReply报文中的源MAC地址。
另外,在步骤S602中,还可以替换ARP Request报文中发送端设备的IP地址,具体为:利用SuperVLAN三层接口的IP地址替换该ARP Request报文中发送端设备的IP地址。如果替换了该ARP Request报文中发送端设备的IP地址,则在步骤S606中,需要将ARP Reply报文中的源IP地址替换为SuperVLAN三层接口的IP地址。
上述提升地址解析协议代理发包效率的方法,在级联场景下,ARP Proxy向SuperVLAN的每个设备只发送一个ARP Request报文,从而提高了级联场景下ARP Proxy的发包效率,降低了级联场景下ARP Proxy的实现复杂度。
如图7所示,为本发明实施例提升发包效率的系统的结构图,包括:发送端设备1,用于发送地址解析协议请求报文;三层网络设备2,用于接收发送端设备1发送的地址解析协议请求报文,替换地址解析协议请求报文中发送端设备1的MAC地址和发送端设备1所属的SubVLAN,并向SuperVLAN下的每个设备发送一个已替换MAC地址和SubVLAN的地址解析协议请求报文。
其中,三层网络设备2包括:接收模块21,用于接收发送端设备1发送的地址解析协议请求报文;
替换模块22,用于替换接收模块21接收的地址解析协议请求报文中的发送端设备1的MAC地址和发送端设备1所属的SubVLAN;
发送模块23,用于向SuperVLAN下的每个设备发送一个替换模块22生成的已替换MAC地址和SubVLAN的地址解析协议请求报文。
其中,三层网络设备2还包括:回复接收模块24,用于接收SubVLAN的用户在检测到该SubVLAN的用户的MAC地址是已替换MAC地址和SubVLAN的地址解析协议请求报文中所请求的MAC地址之后,回复的地址解析协议响应报文,该地址解析协议响应报文携带SubVLAN的用户的MAC地址。
其中,替换模块22包括:请求替换子模块221,用于利用SuperVLAN的三层接口的MAC地址和SuperVLAN替换地址解析协议请求报文中发送端设备1的MAC地址和SubVLAN。
其中,替换模块22还包括:响应替换子模块222,用于在回复接收模块23接收到SubVLAN的用户回复的地址解析协议响应报文之后,利用发送端设备1的SubVLAN和MAC地址替换地址解析协议响应报文中的目的SubVLAN和目的MAC地址,用SuperVLAN三层接口的MAC地址替换地址解析协议响应报文中SubVLAN的用户的MAC地址。
发送模块23包括:响应发送子模块231,用于将响应替换子模块222生成的已替换MAC地址和SubVLAN的地址解析协议响应报文发送给发送端设备1。
其中,替换模块22还包括:IP替换子模块223,用于替换地址解析协议请求报文中发送端设备1的IP地址,并在替换地址解析协议请求报文中发送端设备1的IP地址之后,将地址解析协议响应报文中的SubVLAN的用户的IP地址替换为SuperVLAN三层接口的IP地址。
上述提升发包效率的系统,在级联场景下,三层网络设备2向SuperVLAN下的每个设备只发送一个ARP Request报文,从而简化了级联场景下ARPProxy实现的复杂度,提高了级联场景下的ARP Proxy发包效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
机译: 用于多链路操作的代理地址解析协议(ARP)服务的装置和方法
机译: 用于多链路操作的代理地址解析协议(ARP)服务的装置和方法
机译: 一种组装模块化提升装置的方法,一种解组装模块化提升装置的方法以及一种模块化提升装置。