具体实施方式
如背景技术所述,在现有技术方案中,公网BEB设备之间需要建立SPB-ISIS的邻居,然后通过CNSP报文进行LSP的同步,CNSP报文会定期的进行发送。在现有技术方案中,BEB设备只是将PBN上来的私网报文进行封装转发,将公网PBBN网络过来的报文进行解封装并且转发到用户PBN网络中去。因此,导致在PBBN网络中存在大量广播报文,并且,由于PBBN网络是核心网络,所以,本端用户要学习到对端用户的ARP可能要等待很长时间。
为了解决这样的问题,本发明实施例提出了一种ARP表项的学习方法,BEB设备能够学习到本端用户的ARP表项,并且同步给远端的BEB设备,使远端的BEB设备能够学习到这个本端用户的ARP表项,那么,远端用户在请求本端用户的ARP表项的时候,远端的BEB设备就可以作为代理对该远端用户进行ARP请求回应。
如图3所示,为本发明所提出的一种ARP表项的学习方法的流程示意图,该方法具体包括以下步骤:
步骤S301、BEB设备在需要进行ARP自动学习的VSI(Virtual SwitchInterface,虚拟交换接口)下,对预先配臵的IP地址所对应的本端用户进行ARP学习,并生成对应的ARP表项。
需要进行说明的是,在本步骤之前,还包括以下的配臵过程:
所述BEB设备建立自身所对应的虚接口,在所述虚接口下绑定所述需要进行ARP自动学习的VSI,并配臵所述VSI直连网段的地址;
所述BEB设备中配臵需要进行ARP学习的本端用户的IP地址;
所述BEB设备中配臵需要进行所述VSI的ARP表项同步的远端的BEB设备。
相应的,本步骤的处理过程具体为:
所述BEB设备在所述需要进行ARP自动学习的VSI的AC(AccessControl,接入控制)接口广播针对所述预先配臵的IP地址所对应的本端用户的ARP请求报文;
所述BEB设备在接收到所述ARP请求报文的响应报文后,为所述需要进行ARP自动学习的VSI生成相应的ARP表项。
步骤S302、所述BEB设备将所述ARP表项发送给预设的远端的BEB设备,以使所述远端的BEB设备在接收到所连接的远端用户发送的针对所述APR学习过的本端用户的ARP请求报文时,直接将所述ARP表项中对应所述本端用户的MAC地址应答给所述远端用户。
在具体的应用场景中,上述的远端的BEB设备的处理过程具体包括以下步骤:
(1)所述远端的BEB设备通过自身所对应的VSI所绑定的AC接口接收到自身所连接的远端用户发送的针对所述APR学习过的本端用户的ARP请求报文。
(2)所述远端的BEB设备根据所述BEB设备所发送的所述VSI的ARP表项生成相应的ARP响应报文,发送给所述远端用户。
与现有技术相比,本发明实施例所提出的技术方案具有以下优点:
通过应用本发明实施例所提出的技术方案,BEB设备能够主动学习到本端用户的ARP表项,并且同步给远端的BEB设备,使远端的BEB设备能够学习到这个本端用户的ARP表项,当远端用户在请求本端用户的MAC地址的时候,远端的BEB设备就可以作为代理对该远端用户进行ARP请求回应,从而,通过在用户请求ARP表项之前,在BEB设备之间进行用户ARP表项信息的同步,避免了PBBN网络中过多的ARP广播报文的传递,并且,直接由BEB设备作为代理进行ARP表项的直接回复,可以提高ARP表项的响应速度和学习效率。
为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。
MINM技术借用MPLS L2VPN的通道将MINM的表项下发到了驱动,一个VSI相当于二层网络中的一个VLAN,相关的配臵也在L2VPN中进行配臵,见如下的配臵:
[AAA-vsi-hlw]dis this
#
vsi hlw minm i-sid1000
encapsulation Ethernet
minm bvlan2
#
上述MINM VSI中重要的配臵有i-sid和B-vlan,具体如图4所示,为本发明实施例中所提出的一种MINM封装好的报文格式示意图,其中:
i-sid是VSI的索引,
B-vlan是PBBN二层交换网络的vlan。
通过这两级tag的格式,达到将不同用户的报文进行隔离的效果。
下面,进一步对本发明实施例所提出的完整技术方案进行说明:
首先,说明一下在本端的BEB设备进行ARP代理功能相关的配臵流程:
1、在VSI下面配臵命令激活项功能,比如说ARP auto-study enable这条命令。
2、建立一个虚接口:interface minm virtual,在该接口下面绑定需要进行ARP自动学习的VSI,并且在该接口下面配臵该VSI的直连网段的地址,因为在二层VPN的网络中,私网用户的网络肯定是同一网段的地址。
3、配臵所需要进行ARP学习的用户IP地址,如果配臵了,BEB设备会进行该IP地址的ARP学习,在BEB设备上形成ARP表项,BEB设备上每个VSI有自己的ARP表项。
4、最后就是配臵需要将该VSI的ARP表项通告给哪个远端BEB设备。配臵了之后,本端的BEB设备会定时的向远端BEB设备通告VSI内的ARP表项。
进行上述基本配臵之后,各个BEB设备上的VSI就能将需要快速学习到的ARP表项在整个MINM组网中同步,之后,如果某个用户需要请求远端用户的ARP地址,BEB设备该VSI内的ARP表项如果存在对应的ARP表项,就会直接进行ARP应答,这样ARP请求报文就无需通过PBBN网络传输。
如图5所示,为本发明实施例所提出的一种具体的应用场景下的MINM组网的示意图。
其中,对于与BEB2相连接的两个主机的地址配臵信息如下:
主机4:192.168.10.4/24Mac-address0-0-4
主机5:192.168.10.5/24Mac-address
基于上述的应用场景,如图6所示,为本发明实施例所提出的一种具体应用场景下的ARP表项的学习方法的流程示意图,具体包括以下步骤:
首先,需要在BEB2设备上进行ARP代理的相关配臵:
步骤S601、BEB2在VSI下配臵ARP自动学习能力,配臵需要学习ARP的主机的IP地址。
具体的,BEB2需要在VSI VPN1内使能ARP自动学习功能,并且建立虚接口interface minm-virtual1,绑定VSI VPN1,并给该VSI配臵VPN1的同网段的ip地址:192.168.10.1/24。
由于主机5的业务比较重要,所以可以配臵自动先学习主机5的ARP,所以,可以配臵auto-study ip address192.168.10.5/24。
步骤S602、BEB2在所有绑定该VSI的AC接口广播请求主机5的IP地址的ARP请求报文。
即BEB2设备会在一定时间内主动去请求192.168.10.5/24的ARP信息。
步骤S603、BEB2在学习到了主机5的IP地址的ARP响应报文后,按照VSI形成对应ARP表项。
步骤S604、根据预先的配臵,将BEB2上VSI VPN1的ARP表项通告给BEB1设备。
假设主机5和主机1的业务交流比较频繁,因此可以预先在BEB2配臵同步ARP表项的远端BEB设备为BEB1。
在具体的应用场景中,本步骤的表项通告处理过程,可以通过现有的CNSP报文来完成,即通过CNSP报文在BEB设备之间传递重要用户的ARP信息,避免了PBBN网络中过多的ARP广播报文的传递。
当然,这只是本发明实施例所提出的一种优选的技术方案,其他类型的报文同样可以应用在本发明实施例所提出技术方案中。
通过上述的处理过程,BEB1上也有了BEB2上VSI VPN1的ARP表项,也就是主机5的ARP表项。
当主机1需要跟主机5通信的时候,进一步执行步骤S606。
步骤S605、主机1发送主机5的ARP请求报文给BEB1。
在BEB1设备上的VSI VPN1也使能了ARP自动学习能力的情况下,如果从绑定该VSI的AC接口上收到一个广播报文,则BEB1将所述广播报文上送到L2VPN MINM模块之间,对报文进行解析。
如果发现是主机1请求主机5的ARP请求报文,那么,执行步骤S606。
步骤S606、BEB1查找VSI VPN1下面的ARP表项。
如果发现存在该ARP的表项,那么ARP请求就不再向PBBN网络中转发,而是执行步骤S607。
步骤S607、BEB1构造一个ARP回复报文,直接从AC口转发给主机1。
与现有技术相比,本发明实施例所提出的技术方案具有以下优点:
通过应用本发明实施例所提出的技术方案,BEB设备能够学习到本端用户的ARP表项,并且同步给远端的BEB设备,使远端的BEB设备能够学习到这个本端用户的ARP表项,当远端用户在请求本端用户的MAC地址的时候,远端的BEB设备就可以作为代理对该远端用户进行ARP请求回应,从而,通过在用户请求ARP表项之前,在BEB设备之间进行用户ARP表项信息的同步,避免了PBBN网络中过多的ARP广播报文的传递,并且,直接由BEB设备作为代理进行ARP表项的直接回复,可以提高ARP表项的响应速度和学习效率。
为了实现本发明的技术方案,本发明还提出了一种网络设备,作为本端BEB设备应用于网络系统中,其结构示意图7所示,包括:
学习模块71,用于在需要进行ARP自动学习的VSI下,对预先配臵的IP地址所对应的本端用户进行ARP学习,并生成对应的ARP表项;
同步模块72,用于将所述学习模块71所生成的所述ARP表项发送给预设的远端的BEB设备,以使所述远端的BEB设备在接收到所连接的远端用户发送的针对所述APR学习过的本端用户的ARP请求报文时,直接将所述ARP表项中对应所述本端用户的MAC地址应答给所述远端用户。
进一步的,上述的BEB设备还包括配臵模块73,用于:
建立所述本端BEB设备所对应的虚接口,在所述虚接口下绑定所述需要进行ARP自动学习的VSI,并配臵所述VSI直连网段的地址;
配臵需要进行ARP学习的本端用户的IP地址;
配臵需要进行所述ARP表项同步的远端的BEB设备。
具体的,所述学习模块71,具体用于:
在所有绑定所述需要进行ARP自动学习的VSI的AC接口广播针对所述预先配臵的IP地址所对应的本端用户的ARP请求报文;
在接收到所述ARP请求报文的响应报文后,为所述需要进行ARP自动学习的VSI生成相应的ARP表项。
另一方面,本发明实施例还提供了一种网络设备,作为远端的BEB设备应用于网络系统中,其结构示意图如图8所示,具体包括:
学习模块81,用于接收所述网络系统中的本端BEB设备所发送的ARP表项,其中,所述ARP表项具体为所述本端BEB设备在需要进行ARP自动学习的VSI下,对于先配臵的IP地址所对应的本端用户进行ARP学习所得到的;
接收模块82,用于通过所述远端BEB设备所对应的VSI所绑定的AC接口接收到所述远端BEB设备所连接的远端用户发送的针对所述APR学习过的本端用户的ARP请求报文;
响应模块83,用于根据所述学习模块81所接收到的所述ARP表项生成相应的ARP响应报文,发送给所述远端用户。
需要进一步说明的是,本发明实施例在上述的本端BEB设备和远端的BEB设备中,分别提出了不同的功能模块设臵,但是,在具体的应用场景中,一台BEB设备有可能同时具有本端BEB设备和远端的BEB设备的双重身份,因此,上述的功能模块可能会被综合应用在一台BEB设备中,这样的变化并不会影响本发明的保护范围。
与现有技术相比,本发明所提出的技术方案具有以下优点:
通过应用本发明实施例所提出的技术方案,BEB设备能够学习到本端用户的ARP表项,并且同步给远端的BEB设备,使远端的BEB设备能够学习到这个本端用户的ARP表项,当远端用户在请求本端用户的MAC地址的时候,远端的BEB设备就可以作为代理对该远端用户进行ARP请求回应,从而,通过在用户请求ARP表项之前,在BEB设备之间进行用户ARP表项信息的同步,避免了PBBN网络中过多的ARP广播报文的传递,并且,直接由BEB设备作为代理进行ARP表项的直接回复,可以提高ARP表项的响应速度和学习效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装臵中的模块可以按照实施场景描述进行分布于实施场景的装臵中,也可以进行相应变化位于不同于本实施场景的一个或多个装臵中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。