基于arp侦听的vlan聚合方法、汇聚交换机及系统的制作方法

文档序号:7962388阅读:239来源:国知局
专利名称:基于arp侦听的vlan聚合方法、汇聚交换机及系统的制作方法
技术领域
本发明涉及数据交换网络,尤其涉及一种基于ARP侦听的VLAN聚合方法、汇聚交换机及系统。
背景技术
如今,在众多宽带网组建方案中,IP网以其独有的操作容易,管理简单,技术灵活等特性,在城域网的组建中脱颖而出,占了很大比例。许多地区主要是以三层L3(layer3)交换机为核心交换设备,以VLAN为实现手段和方法,为用户提供高速以太专线,用来实现高速上网或者公司内部之间实现自己的数据业务和其它业务,如视频点播之类。
在VLAN组网方案中,需要在汇聚交换机上启用VLAN汇聚,这是由于在VLAN聚合前,用户接入的VLAN都需要透传到三层交换机上进行终结。当用户接入的VLAN数目较多的时候,需要在L3交换机上进行大量的VLAN终结,每一个VLAN都需要消耗一个L3交换机的路由接口资源,给L3交换机设备处理造成了较大的压力,同样也造成了汇聚网络中VLAN资源的浪费与冲突。汇聚交换机上启用VLAN汇聚以后,可以将用户接入的VLAN全部汇聚为一个上行的VLAN,有效降低了汇聚网络中VLAN资源消耗,同样,也降低了L3交换机VLAN路由接口数量。
在汇聚交换机上进行VLAN聚合可以采用以下三种公知技术方案SuperVLAN方案、PVLAN方案和QinQ方案。
1、Super VLAN方案在公告日为2004年11月24日、公告号为CN1177439C的中国专利申请中公开了一种以太网接入应用中代理地址解析协议的方法。该方法是一种ARP协议变换形式,即由中间设备代表目的端发送ARP应答报文给发送请求的源端,由此实现VLAN的聚合。
Super VLAN(也称VLAN Aggregation,VLAN聚合)技术提供一种机制使处于同一个交换机中分属不同VLAN的主机分配在相同的IPv4子网中,而且使用同一个默认网关。在一个大规模的交换局域网环境内,这种机制相对于传统的IPv4寻址体系具有许多优点。
VLAN聚合的主要优点是节省IP地址。在交换网络环境中引进SubVLAN和Super VLAN,它们是一种可以实现IP地址划分的更加优化的途径。它通常将多个不同的VLAN划分至同一IP子网,而不是每个VLAN单独占用一个子网,然后将整个IP子网指定为一个VLAN聚合(Super VLAN),它包含整个IP子网内的所有VLAN(Sub VLAN)。
实质上不同的Sub VLAN仍保留各自独立的广播域,而一个或多个SubVLAN同属于一个Super VLAN,并且都使用Super VLAN的接口地址为默认网关IP地址。当不同Sub VLAN中的主机需要相互之间通信时,需要在Super VLAN开启ARP代理。
又如,在
公开日为2002年6月27日、专利号为US2002080800的美国专利申请中公开了一种使用ARP报文的VLAN数据交换方法。该方法也通过使用代理ARP服务器,实现在同一IP子网中不同VLAN之间的数据交换,从而减小VLAN之间处理通信量的路由器负载。
但是,由于Super VLAN的聚合方式属于Layer3的组网模式,其缺点是需要在汇聚交换机上使能三层功能,并为交换机配置IP地址,需要运行路由协议才能配合ARP代理完成功能。这种方式对于希望将汇聚网络建成一个二层网络的运营商来说,是不能被接受的方案。
2、PVLAN方案PVLAN,也称为隔离用户vlan(isolate-user-vlan)技术。
PVLAN是一种采用二层VLAN结构的技术。如图1所示,图1是现有技术中PVLAN实现原理示意图。一个PVLAN和多个子VLAN(Secondaryvlan)对应,PVLAN包含所对应的所有子VLAN中包含的端口和上行端口,这样对上层交换机来说,只须识别下层交换机中的PVLAN,而不必关心PVLAN中包含的子VLAN,简化了网络配置,节省了VLAN资源。同时,用户可以采用PVLAN实现二层报文的隔离。
但是PVLAN具有以下限制条件下行的物理端口只能隶属于一个子VLAN组,如果某个下行端口需要接入多个子VLAN,PVLAN是无法支持的。
因此,虽然PVLAN是一个简单的VLAN聚合方案,当汇聚交换机的下行口上有一个以上的VLAN需要聚合的时候,PVLAN将无法发挥作用。
3、QinQ方案在宽带城域网组网中,也可以使用QinQ技术来实现VLAN规划,完成类似VLAN汇聚的功能,该特性也称为Stack VLAN技术。QinQ解决VLAN收敛问题的实质是在汇聚交换机上插入新的VLAN标签,将原始的接入VLAN藏在了报文里面,汇聚层以上的交换机只要根据报文的外层标签进行二层转发,不识别内层的VLAN信息。
用QinQ技术解决VLAN收敛问题的缺点在于汇聚层以上的IP网关设备需要对携带两层VLAN标签的QinQ报文进行终结,目前业界很少有支持这种功能的路由器设备。因此采用该方法做VLAN汇聚给上层IP网关设备增加了额外的负担。

发明内容
鉴于现有技术中的上述缺陷,本发明的主要目的在于提供一种基于ARP侦听的VLAN聚合方案,其可以解决二层网络应用中的VLAN聚合问题,相比于Super VLAN技术,该方案不需要在汇聚交换机上配置IP地址,提供一个纯二层的VLAN聚合方案;相比与PVLAN技术,该方案可以在一个物理端口上接入多个需要汇聚的VLAN;相比于QinQ技术,该方案是单层VLAN方式的VLAN聚合,不需要上游路由器网对携带两层VLAN标签的报文进行三层转发。
为了实现上述目的,本发明提供一种基于ARP侦听的VLAN聚合方法,其适用于由至少一个用户侧VLAN和一个网络侧VLAN构成的组网环境中,其中,该方法可以包括以下步骤1)由一汇聚交换机侦听到一源主机向一目的主机发出的ARP请求报文A;2)该汇聚交换机从该ARP请求报文A中提取该源主机的ARP表项信息,并将其加入到该汇聚交换机的本地ARP缓存表中;3)该汇聚交换机使用该目的主机的信息产生ARP响应报文D,并将其发送至该源主机;以及4)该汇聚交换机基于上述步骤获得的本地ARP缓存表,对该源主机向该目的主机发出的IP报文进行修改,并将修改后的IP报文转发至该目的主机。
根据上述VLAN聚合方法,其中,该ARP请求报文A可以包括源MAC地址、源IP地址、VLAN和目的IP地址,其中该ARP请求报文A中的源MAC地址为该源主机的MAC地址,源IP地址为该源主机的IP地址,VLAN为源主机的VLAN,并且该目的IP地址为该目的主机的IP地址。
根据上述VLAN聚合方法,其中,该本地ARP缓存表的表项可以包括IP地址、MAC地址、VLAN和端口信息。
根据上述VLAN聚合方法,其中,该目的主机的信息可以为该目的主机的VLAN,并且该ARP响应报文D包括源MAC地址、目的MAC地址以及VLAN,其中该响应报文D中的源MAC地址为该汇聚交换机本地的桥MAC地址,该目的MAC地址为该源主机的MAC地址,该VLAN为该源主机的VLAN。
根据上述VLAN聚合方法,其中,在该步骤2与步骤3之间还可以包括下述步骤当该目的主机的表项存在并且该源主机与该目的主机的VLAN相同时,该汇聚交换机不应答,并且不再执行后续步骤。
根据上述VLAN聚合方法,其中,在该步骤2与步骤3之间还可以包括下述步骤当该目的主机的表项存在,并且该源主机与该目的主机处于不同的VLAN时,该汇聚交换机执行步骤3。
根据上述VLAN聚合方法,其中,在该步骤2与步骤3之间还可以包括下述步骤当该目的主机的表项不存在,并且该源主机是任一所述用户侧VLAN的一用户侧主机时,该汇聚交换机修改该ARP请求报文A为ARP请求报文B,然后将该ARP请求报文B发往该目的主机,其中该ARP请求报文B中的源MAC地址为该汇聚交换机本地的桥MAC地址,VLAN为该目的主机的VLAN。
根据上述VLAN聚合方法,其中,在该ARP请求报文B发往该目的主机之后,该汇聚交换机等待该目的主机的ARP响应报文C,并判断是否等待超时,如果超时则该汇聚交换机不应答,并且不再执行后续步骤;否则该汇聚交换机在收到由该目的主机响应的ARP响应报文C之后,再将该目的主机的ARP表项信息加入该本地ARP缓存表中,其中,该ARP响应报文C中的源MAC地址为该目的主机的MAC地址,源IP地址为该目的主机的IP地址,目的MAC地址为该汇聚交换机本地的桥MAC地址,目的IP地址为该源主机的IP地址,VLAN为该目的主机的VLAN;然后执行步骤3。
根据上述VLAN聚合方法,其中,在该步骤2与步骤3之间还可以包括下述步骤当该目的主机的表项不存在,并且该源主机是任一所述网络侧VLAN的一网络侧主机,该汇聚交换机不应答,并且不再执行后续步骤。
根据上述VLAN聚合方法,其中,在该步骤3与步骤4之间还可包括步骤该汇聚交换机选择一台网络侧主机作为网络侧指定主机。
根据上述VLAN聚合方法,其中,该步骤4可以包括以下步骤41)汇聚交换机收到该IP报文后,判断该IP报文的目的MAC地址是否等于汇聚交换机本地的桥MAC地址如果该IP报文的目的MAC地址等于该桥MAC地址,则执行步骤42;如果该IP报文的目的MAC地址不等于桥MAC地址,则对该IP报文作丢弃处理;42)利用该IP报文的目的IP地址查找该本地ARP缓存表,如果在该本地ARP缓存表中找到目的主机的ARP表项,则执行步骤44;如果在该本地ARP缓存表中未找到目的主机的ARP表项,则执行步骤43;43)利用该网络侧指定主机的IP地址再次查找该本地ARP缓存表;如果在该本地ARP缓存表中找到该网络侧指定主机的ARP表项,则执行步骤44;如果未找到该网络侧指定主机的ARP表项,则对该IP报文作丢弃处理;44)判断上述步骤找到的相应ARP表项中的VLAN与该IP报文携带的VLAN是否相同如果相同,则对该IP报文作丢弃处理;如果不同,则执行步骤45;以及45)修改该IP报文将该IP报文的目的MAC地址修改为该相应ARP表项中的MAC地址,将该IP报文的源MAC地址MAC1修改为该桥MAC地址,将该IP报文中的VLAN修改为该相应ARP表项中的VLAN,然后将修改后的IP报文从该相应ARP表项指定的端口转发给该目的主机或者该网络侧指定主机。
为了实现上述目的,本发明还提供一种基于ARP侦听实现VLAN聚合的汇聚交换机,其适用于由至少一个用户侧VLAN和一个网络侧VLAN构成的组网环境中,其中,该汇聚交换机可以包括桥MAC地址存储器,其用于存储一桥MAC地址;ARP高速缓存,其用于存储一本地ARP缓存表;ARP侦听模块,其与该桥MAC地址存储器和该ARP高速缓存连接,用于侦听一源主机向一目的主机发出的ARP请求报文,修改该本地ARP缓存表,并使用该目的主机的信息发送ARP响应报文至该源主机;以及ARP转发模块,其与所述桥MAC地址存储器、ARP高速缓存和ARP侦听模块连接,用于基于该ARP侦听模块所修改的本地ARP缓存表,将该源主机向该目的主机发出的IP报文进行修改,并将修改后的IP报文转发给该目的主机。
根据上述汇聚交换机,其中,该ARP侦听模块还可以包括一修改装置,用于修改该ARP请求报文中的源MAC地址为该汇聚交换机的桥MAC地址,并修改该ARP请求报文中的该源主机的VLAN为该目的主机的VLAN。
根据上述汇聚交换机,其中,该ARP侦听模块还可以包括一判断装置,用于判断该本地ARP缓存表中是否存在该目的主机的ARP表项,并判断该源主机与该目的主机是否处于同一VLAN。
根据上述汇聚交换机,其中,该ARP侦听模块还可以包括一响应装置,用于代替该目的主机对该源主机发出的ARP请求进行响应,并修改该ARP请求报文的源MAC地址为该汇聚交换机的桥MAC地址。
根据上述汇聚交换机,其中,该ARP转发模块可以通过FPGA编程实现或者可以是ASIC芯片。
为了实现上述目的,本发明又提供一种基于ARP侦听实现VLAN聚合的汇聚系统,其中,该VLAN聚合系统可以包括如上所述的汇聚交换机;至少一个用户侧VLAN;以及一个网络侧VLAN。
本发明的VLAN聚合方案具有以下效果1)解决二层组网应用条件下VLAN聚合的问题,在某些组网环境,比如城域运营商的汇聚网络中使用时候,为运营商带来节约VLAN、节约IP地址的好处;2)在节约VLAN的同时,对用户的MAC地址数量也进行了收敛,汇聚层以上的设备不需要学习大量MAC地址;3)相比与传统的三层路由、Super VLAN等技术,本发明的技术方案是二层的组网环境技术方案,实现VLAN聚合的设备不需要启用任何三层的组网技术,比如配置三层路由接口、配置IP地址、启用三层路由协议等技术。因此,本发明的技术方案会给用户带来一个组网简单、操作管理更加容易的网络,降低了网络管理者的复杂度,减少用户的用维成本;4)相比与PVLAN等简单的VLAN聚合技术,本发明的技术方案克服了一个接入端口只能有一个接入VLAN的限制,有更强的通用性;5)相比与QinQ的VLAN聚合技术,该技术对VLAN进行了替换,不需要汇聚层以上的三层网管设备终结两层VLAN标签的报文,因此通用性更强。


图1是现有技术中isolate-user-vlan实现原理示意图。
图2是本发明VLAN聚合的示意图。
图3是本发明ARP侦听处理过程的示意图。
图4是本发明汇聚交换机LSW对用户侧主机发送的ARP请求的处理流程图。
图5是本发明的另一ARP侦听处理过程的示意图。
图6本发明汇聚交换机LSW对网络侧主机发送的ARP请求的处理流程图。
图7是本发明ARP转发处理过程的处理流程图。
图8是本发明汇聚交换的硬件结构示意图。
具体实施例方式
如图2所示,通过本发明汇聚交换机的ARP侦听处理和ARP转发处理实现二层组网的VLAN聚合,下面将分别说明本发明的ARP侦听处理和ARP转发处理。
ARP侦听处理主要涉及ARP侦听模块、ARP高速缓存中的ARP缓存表、桥MAC地址存储器中的桥MAC地址,其中ARP侦听模块、ARP高速缓存和桥MAC地址存储器均设置于汇聚交换机中。
ARP侦听模块用于侦探并捕获相邻设备发出的ARP请求,将相邻设备的ARP缓存表项存储到ARP高速缓存中;对捕获到的相邻设备的ARP报文中的MAC地址和VLAN进行修改,即将相邻设备的ARP报文中的相邻设备的源MAC地址替换为汇聚交换机本身的桥MAC地址,以及将报文中的相邻设备的VLAN修改成被请求设备的VLAN,然后再将修改后的ARP报文发往被请求设备。
ARP缓存表是硬件表项的一部分,需要存放在本地高速RAM存储介质中,这样能够保证ARP处理模块高速读写ARP表项。ARP侦听模块在侦听到网络设备的ARP表项后,将信息写入硬件的ARP缓存表中,以便汇聚交换机包含的ARP转发模块(下文将要详细说明)能够获取ARP表项,方便硬件转发决策。
汇聚交换机的桥MAC地址是交换机设备出厂时候分配好的MAC地址,在设备加电初始化阶段,CPU将桥MAC地址写入硬件的特定区域,以便ARP侦听模块和ARP转发模块能够获取。桥MAC地址一般存放在单板的FLASH、EEPROM等可擦写的低速存储介质中。
以下参照图3至图6说明本发明ARP侦听处理的详细过程。
在执行ARP侦听处理之前,二层交换机先对VLAN进行分类,将VLAN分为用户侧VLAN(例如主机1、主机2、主机4等)与网络侧VLAN(例如主机3)。用户侧VLAN是指位于接入侧、需要用本发明的技术方案进行聚合处理的VLAN。网络侧VLAN是指将用户侧VLAN进行汇聚后的VLAN。所有用户侧VLAN在上行方向通过聚合后,变为同一个网络侧VLAN。从网络侧下行的网络侧VLAN在通过本发明的ARP侦听模块处理后,变为相应的用户侧VLAN。一个网络侧VLAN对应多个用户侧VLAN。
本发明以用户侧主机1与网络侧主机3进行ARP通信的过程为例,说明汇聚交换机LSW的ARP侦听模块进行VLAN聚合的处理流程。本发明的VLAN聚合处理分两种情况对用户侧主机发送的ARP请求的处理以及对网络侧主机发送的ARP请求的处理。
首先结合图3和图4说明本发明汇聚交换机LSW对用户侧主机发送的ARP请求的处理。该处理的详细步骤如下1)用户侧主机1发送ARP请求报文A至目的主机,在该ARP请求报文A中,源MAC地址为主机1的MAC地址(MAC1),源IP地址为主机1的IP地址(IP1.1.1.1),VLAN为主机1的VLAN(VLAN1),目的IP地址为目的主机的IP地址;2)汇聚交换机LSW侦听并接收用户侧主机1的ARP请求报文A之后,从该ARP请求报文A中提取主机1的信息,并将其加入或更新到汇聚交换机的ARP缓存表中(包括MAC1、IP1.1.1.1、VLAN1、端口等信息);
3)判断汇聚交换机LSW的ARP缓存表中是否存在目的主机的表项,如果目的主机的表项存在并且用户侧主机1与目的主机的VLAN相同,也就是说,目的主机(即主机4)与主机1为同一VLAN下的用户侧主机,则汇聚交换机不应答;如果目的主机的表项存在并且主机1与目的主机(即主机3)处于不同VLAN,则执行步骤7;如果目的主机(即主机3)的表项不存在,则执行步骤4;4)汇聚交换机LSW将ARP请求报文A修改为ARP请求报文B,其中,该ARP请求报文B中的源MAC地址为汇聚交换机本地指定的桥MAC地址MAC LSW,VLAN为主机3的VLAN100,然后将修改后的ARP请求报文B发往主机3;5)汇聚交换机LSW等待主机3响应的ARP响应报文C,并判断是否等待超时,如果超时则汇聚交换机不应答;否则执行步骤6;6)汇聚交换机LSW收到主机3响应的ARP响应报文C后,将主机3的信息加入本地ARP缓存表中(包括IP1.1.1.100,MAC3,VLAN100,端口等信息);以及7)汇聚交换机LSW产生ARP响应报文D在该ARP响应报文D中,源MAC地址为汇聚交换机本地的桥MAC地址MAC LSW,源IP地址为主机3的IP地址(IP1.1.1.100),目的MAC地址为主机1的MAC地址(MAC1),目的IP地址为主机1的IP地址(IP1.1.1.1),VLAN为主机1的VLAN(VLAN1);然后将ARP响应报文D发送至用户侧主机1。
在上述步骤4)与步骤5)之间,主机3收到ARP请求报文B后,产生ARP响应报文C,在该ARP响应报文C中,源IP地址为主机3的IP地址(IP1.1.1.100),源MAC地址为主机3的MAC3,目的MAC地址为MACLSW,目的IP地址为主机1的IP地址(IP1.1.1.1),VLAN为VLAN100。
通过上述7个步骤,完成侦听用户侧主机的处理。用户侧主机2与网络侧主机3进行ARP侦听的过程与上述过程相同,在此不再赘述。
学习完相邻设备的ARP信息之后,汇聚交换机LSW的ARP表内容如下Host1IP1.1.1.1,VLAN1,MAC1,端口信息;Host2IP1.1.1.2,VLAN2,MAC2,端口信息;
Host3IP1.1.1.100,VLAN100,MAC3,端口信息。
主机1的ARP表项如下Host3IP1.1.1.100,VLAN1,MAC LSW,端口信息。
主机2的ARP表项如下Host3IP1.1.1.100,VLAN2,MAC LSW,端口信息。
主机3的ARP表项如下Host1IP1.1.1.1,VLAN100,MAC LSW,端口信息;Host2IP1.1.1.2,VLAN100,MAC LSW,端口信息。
下面结合图5和图6说明本发明汇聚交换机LSW对网络侧主机发送的ARP请求的处理。该处理的详细步骤如下1)网络侧主机3发送ARP请求报文A’至目的主机,在ARP报文A’中,源MAC地址为主机3的MAC地址(MAC3),源IP地址为主机3的IP地址(IP1.1.1.100),VLAN为主机3的VLAN(VLAN100),目的IP地址为目的主机的IP地址;2)汇聚交换机LSW收到主机3发出的ARP请求报文A’后,从该ARP请求报文A’中提取主机3的信息,并将其加入或更新到本地ARP缓存表中(包括MAC3、IP1.1.1.100、VLAN100、端口等信息);3)判断本地ARP缓存表中是否存在目的主机的表项,如果目的主机的表项存在并且目的主机与主机3的VLAN相同,或者目的主机的表项不存在,则汇聚交换机不应答;如果目的主机(即主机1)的表项存在并且主机1与主机3处于不同VLAN,则执行步骤4);4)汇聚交换机LSW生成ARP响应报文D’该响应报文D’的源MAC地址为汇聚交换机本地的桥MAC地址MAC LSW;将MAC3作为ARP响应报文D’的目的MAC地址;最后将修改后的ARP响应报文D’发往主机3。
通过上述4个步骤,完成侦听网络侧主机的处理。
通过本发明上述ARP侦听处理所实现的VLAN聚合与现有技术相比具有如下特点1)本发明的汇聚交换机设备在侦听ARP报文的过程中,根据主机设备发出的ARP报文,主动学习周围主机的ARP信息,并记录在ARP缓存表中;2)本发明为了解决VLAN聚合的问题,将VLAN分为了两种类型一种是用户侧VLAN,一种是网络侧VLAN;并且处理用户侧VLAN的ARP请求报文与处理网络侧VLAN的ARP请求报文是不同的;3)不需要对周围主机设备请求解析本机MAC地址的ARP请求做出处理,因为ARP侦听模块不需配置IP地址,不存在解析本地IP地址的情况;4)周围主机设备不用学习交换机设备的ARP表项;5)在捕获的基础上修改主机设备原始ARP报文中的MAC地址、VLAN等信息来欺骗周围主机设备,保证主机设备ARP表项中的MAC地址与交换机设备桥MAC地址一致;6)在侦听到主机的ARP请求报文后,在目的主机ARP表项为空情况下需要继续中继处理收到的ARP请求报文,保证目的主机能收到该报文,并对源主机的ARP请求做出响应。
下面参考图7说明本发明的ARP转发处理的详细过程。
ARP转发处理主要涉及ARP转发模块、CPU、桥MAC地址和ARP缓存表。ARP转发模块基于本发明的ARP侦听模块所生成的上述ARP缓存表,对IP报文进行转发。该ARP转发模块可以通过FPGA编程实现,也可以是ASIC芯片。
ARP转发模块工作之前,从网络侧设备中选择一台网络侧主机作为网络侧指定主机,该网络侧指定主机就是充当默认网关的功能。当ARP转发模块在本地ARP缓存表中查不到目的IP相关ARP表项的时候,可以用该网络侧指定主机的IP地址再次查找本地ARP缓存表。
本发明ARP转发模块转发从用户侧主机1发送至目的主机的IP报文的过程如下1)主机1向目的主机发出一IP报文,在该报文中包括目的IP、源IP(IP1.1.1.1)、目的MAC地址、源MAC地址(MAC1)以及VLAN(VLAN1);2)汇聚交换机LSW收到该IP报文后,判断该IP报文的目的MAC地址是否等于汇聚交换机的本机桥MAC地址MAC LSW如果该IP报文的目的MAC地址等于本机桥MAC地址MAC LSW,则执行步骤3;如果该IP报文的目的MAC地址不等于本机桥MAC地址MAC LSW,则对IP报文作丢弃处理;3)ARP转发模块利用该IP报文的目的IP地址查找本地ARP缓存表,如果在该本地ARP缓存表中找到目的主机的(即主机3)ARP表项,则执行步骤5;如果在该本地ARP缓存表中未找到目的主机的ARP表项,则执行步骤4;4)利用网络侧指定主机的IP地址再次查找本地ARP缓存表;如果在该本地ARP缓存表中找到网络侧指定主机的ARP表项,则执行步骤5;如果未找到网络侧指定主机的ARP表项,则对报文作丢弃处理;5)判断上述步骤找到的相应ARP表项中的VLAN与IP报文携带的VLAN是否相同如果相同,则对报文作丢弃处理;如果不同,则执行步骤6;6)修改该IP报文,将该IP报文的目的MAC地址修改为相应ARP表项中的MAC地址,即目的主机3或者网络侧指定主机的MAC地址,将该IP报文的源MAC地址MAC1修改为本机桥MAC地址MAC LSW,将IP报文中的VLAN修改为相应ARP表项中的VLAN,然后将修改后的IP报文从ARP表项指定的端口转发给目的主机3或者网络侧指定主机。
由上述可知,IP报文携带的目的MAC地址等于本地桥MAC地址是触发ARP转发模块进行报文转发的触发条件。
本发明ARP转发模块转发从网络侧主机3发送至用户侧主机1的IP报文的过程与上述过程类似,在此不再赘述。
与现有的技术相比,本发明的ARP转发模块有如下特点本发明的ARP转发模块只需通过侦听得到的ARP缓存表进行报文转发。而现有的IP报文转发过程一般依赖于两张表,一个是精确匹配的主机路由表,一个是最长匹配的网段路由表,主机路由表一般具有ARP模块生成的表,网段路由表是由路由协议或者静态路由配置得到的转发表。因此,本发明的ARP转发模块转发IP报文的效率更高。
下面结合图8说明本发明汇聚交换的硬件结构示意图。
本发明提供一种基于ARP侦听实现VLAN聚合的汇聚交换机,其适用于由至少一个用户侧VLAN和一个网络侧VLAN构成的组网环境中,其中,该汇聚交换机可以包括桥MAC地址存储器,其用于存储一桥MAC地址;ARP高速缓存,其用于存储一本地ARP缓存表;ARP侦听模块,其与该桥MAC地址存储器和该ARP高速缓存连接,用于侦听一源主机向一目的主机发出的ARP请求报文,修改该本地ARP缓存表,并使用该目的主机的信息发送ARP响应报文至该源主机;以及ARP转发模块,其与所述桥MAC地址存储器、ARP高速缓存和ARP侦听模块连接,用于基于该ARP侦听模块所修改的本地ARP缓存表,将该源主机向该目的主机发出的IP报文进行修改,并将修改后的IP报文转发给该目的主机。所述本地ARP缓存表的表项包括IP地址、MAC地址、VLAN和端口信息。
此外,本发明的ARP侦听模块还可包括一修改装置,用于修改该ARP请求报文中的源MAC地址为该汇聚交换机的桥MAC地址,并修改该ARP请求报文中的该源主机的VLAN为该目的主机的VLAN;一判断装置,用于判断该本地ARP缓存表中是否存在该目的主机的ARP表项,并判断该源主机与该目的主机是否处于同一VLAN;以及一响应装置,用于代替该目的主机对该源主机发出的ARP请求进行响应,并修改该ARP请求报文的源MAC地址为该汇聚交换机的桥MAC地址。
本发明的ARP转发模块可以通过FPGA编程实现,或者可以是ASIC芯片。
本发明还提供一种基于ARP侦听实现VLAN聚合的汇聚系统,其中,该VLAN聚合系统包括如上所述的汇聚交换机;至少一个用户侧VLAN;以及一个网络侧VLAN。
根据上述可知,本发明的VLAN聚合方案具有以下效果1)解决二层组网应用条件下VLAN聚合的问题,在某些组网环境,比如城域运营商的汇聚网络中使用的时候,为运营商带来节约VLAN、节约IP地址的好处;2)在节约VLAN的同时,对用户的MAC地址数量也进行了收敛,汇聚层以上的设备不需要学习大量MAC地址;3)相比于传统的三层路由、Super VLAN等技术,本发明的技术方案是二层的组网环境技术方案,实现VLAN聚合的设备不需要启用任何三层的组网技术,比如配置三层路由接口、配置IP地址、启用三层路由协议等技术。因此,本发明的技术方案会给用户带来一个组网简单、操作管理更加容易的网络,降低了网络管理者的复杂度,减少用户的用维成本;4)相比于PVLAN等简单的VLAN聚合技术,本发明的技术方案克服了一个接入端口只能有一个接入VLAN的限制,有更强的通用性;5)相比于QinQ的VLAN聚合技术,该技术对VLAN进行了替换,不需要汇聚层以上的三层网管设备终结两层VLAN标签的报文,因此通用性更强。
以上所述为本发明的较佳实施例之一,并非用以限定本发明的实施范围,任何本领域的普通技术人员在本发明的领域内,依本发明所做的均等变化与修饰,皆应属于本发明的涵盖范围。
权利要求
1.一种基于ARP侦听的VLAN聚合方法,其适用于由至少一个用户侧VLAN和一个网络侧VLAN构成的组网环境中,其特征在于,该方法包括以下步骤1)由一汇聚交换机侦听到一源主机向一目的主机发出的ARP请求报文A2)该汇聚交换机从该ARP请求报文A中提取该源主机的ARP表项信息,并将其加入或更新到该汇聚交换机的本地ARP缓存表中;3)该汇聚交换机使用该目的主机的信息产生ARP响应报文D,并将其发送至该源主机;以及4)该汇聚交换机基于上述步骤获得的本地ARP缓存表,对该源主机向该目的主机发出的IP报文进行修改,并将修改后的IP报文转发至该目的主机。
2.根据权利要求1所述的VLAN聚合方法,其特征在于,该目的主机的信息为该目的主机的VLAN,并且该ARP响应报文D包括源MAC地址、目的MAC地址以及VLAN,其中该响应报文D中的源MAC地址为该汇聚交换机本地的桥MAC地址,该目的MAC地址为该源主机的MAC地址,该VLAN为该源主机的VLAN。
3.根据权利要求1所述的VLAN聚合方法,其特征在于,在该步骤2与步骤3之间还包括下述步骤当该目的主机的表项存在并且该源主机与该目的主机的VLAN相同时,该汇聚交换机不应答,并且不再执行后续步骤。
4.根据权利要求1所述的VLAN聚合方法,其特征在于,在该步骤2与步骤3之间还包括下述步骤当该目的主机的表项存在,并且该源主机与该目的主机处于不同的VLAN时,该汇聚交换机执行步骤3。
5.根据权利要求1所述的VLAN聚合方法,其特征在于,在该步骤2与步骤3之间还包括下述步骤当该目的主机的表项不存在,并且该源主机是任一所述用户侧VLAN的一用户侧主机时,该汇聚交换机修改该ARP请求报文A为ARP请求报文B,然后将该ARP请求报文B发往该目的主机,其中该ARP请求报文B中的源MAC地址为该汇聚交换机本地的桥MAC地址,目的VLAN为该目的主机的VLAN。
6.根据权利要求5所述的VLAN聚合方法,其特征在于,在该ARP请求报文B发往该目的主机之后,该汇聚交换机等待该目的主机的ARP响应报文C,并判断是否等待超时,如果超时则该汇聚交换机不应答,并且不再执行后续步骤;否则该汇聚交换机在收到由该目的主机响应的ARP响应报文C之后,再将该目的主机的ARP表项信息加入该本地ARP缓存表中,其中,该ARP响应报文C中的源MAC地址为该目的主机的MAC地址,源IP地址为该目的主机的IP地址,目的MAC地址为该汇聚交换机本地的桥MAC地址,目的IP地址为该源主机的IP地址,VLAN为该目的主机的VLAN;然后执行步骤3。
7.根据权利要求1所述的VLAN聚合方法,其特征在于,在该步骤2与步骤3之间还包括下述步骤当该目的主机的表项不存在,并且该源主机是任一所述网络侧VLAN的一网络侧主机,该汇聚交换机不应答,并且不再执行后续步骤。
8.根据权利要求1所述的VLAN聚合方法,其特征在于,在该步骤3与步骤4之间还包括步骤该汇聚交换机选择一台网络侧主机作为网络侧指定主机。
9.根据权利要求8所述的VLAN聚合方法,其特征在于,该步骤4包括以下步骤41)汇聚交换机收到该IP报文后,判断该IP报文的目的MAC地址是否等于汇聚交换机本地的桥MAC地址如果该IP报文的目的MAC地址等于该桥MAC地址,则执行步骤42;如果该IP报文的目的MAC地址不等于桥MAC地址,则对该IP报文作丢弃处理;42)利用该IP报文的目的IP地址查找该本地ARP缓存表,如果在该本地ARP缓存表中找到目的主机的ARP表项,则执行步骤44;如果在该本地ARP缓存表中未找到目的主机的ARP表项,则执行步骤43;43)利用该网络侧指定主机的IP地址再次查找该本地ARP缓存表;如果在该本地ARP缓存表中找到该网络侧指定主机的ARP表项,则执行步骤44;如果未找到该网络侧指定主机的ARP表项,则对该IP报文作丢弃处理;44)判断上述步骤找到的相应ARP表项中的VLAN与该IP报文携带的VLAN是否相同如果相同,则对该IP报文作丢弃处理;如果不同,则执行步骤45;以及45)修改该IP报文将该IP报文的目的MAC地址修改为该相应ARP表项中的MAC地址,将该IP报文的源MAC地址MAC 1修改为该桥MAC地址,将该IP报文中的VLAN修改为该相应ARP表项中的VLAN,然后将修改后的IP报文从该相应ARP表项指定的端口转发给该目的主机或者该网络侧指定主机。
10.一种基于ARP侦听实现VLAN聚合的汇聚交换机,其适用于由至少一个用户侧VLAN和一个网络侧VLAN构成的组网环境中,其特征在于,该汇聚交换机包括桥MAC地址存储器,其用于存储一桥MAC地址;ARP高速缓存,其用于存储一本地ARP缓存表;ARP侦听模块,其与该桥MAC地址存储器和该ARP高速缓存连接,用于侦听一源主机向一目的主机发出的ARP请求报文,修改该本地ARP缓存表,并使用该目的主机的信息发送ARP响应报文至该源主机;以及ARP转发模块,其与所述桥MAC地址存储器、ARP高速缓存和ARP侦听模块连接,用于基于该ARP侦听模块所修改的本地ARP缓存表,将该源主机向该目的主机发出的IP报文进行修改,并将修改后的IP报文转发给该目的主机。
11.根据权利要求10所述的汇聚交换机,其特征在于,该ARP侦听模块还包括一修改装置,用于修改该ARP请求报文中的源MAC地址为该汇聚交换机的桥MAC地址,并修改该ARP请求报文中的该源主机的VLAN为该目的主机的VLAN。
12.根据权利要求10所述的汇聚交换机,其特征在于,该ARP侦听模块还包括一判断装置,用于判断该本地ARP缓存表中是否存在该目的主机的ARP表项,并判断该源主机与该目的主机是否处于同一VLAN。
13.根据权利要求10所述的汇聚交换机,其特征在于,该ARP侦听模块还包括一响应装置,用于代替该目的主机对该源主机发出的ARP请求进行响应,并修改该ARP请求报文的源MAC地址为该汇聚交换机的桥MAC地址。
14.一种基于ARP侦听实现VLAN聚合的汇聚系统,其特征在于,该VLAN聚合系统包括如权利要求10-13中任一项所述的汇聚交换机;至少一个用户侧VLAN;以及一个网络侧VLAN。
全文摘要
一种基于ARP侦听的VLAN聚合方法、汇聚交换机及系统,适用于由至少一个用户侧VLAN和一个网络侧VLAN构成的组网环境中。该方法包括由汇聚交换机侦听到源主机向目的主机发出的ARP请求报文;从ARP请求报文中提取源主机的ARP表项信息,并将其加入到汇聚交换机的本地ARP缓存表中;使用目的主机的信息产生ARP响应报文,并将其发送至源主机;以及基于所获得的本地ARP缓存表,对源主机向目的主机发出的IP报文进行修改,并将修改后的IP报文转发至目的主机。本发明的VLAN汇聚方案可以解决二层网络应用中的VLAN聚合问题,不需要在汇聚交换机上配置IP地址,为用户带来一个组网简单、操作管理更加容易的网络。
文档编号H04L12/28GK1946041SQ200610086838
公开日2007年4月11日 申请日期2006年6月20日 优先权日2006年6月20日
发明者刘建锋, 宁军 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1