Vpls网络报文处理方法、设备及系统的制作方法

文档序号:7706636阅读:244来源:国知局
专利名称:Vpls网络报文处理方法、设备及系统的制作方法
技术领域
本发明涉及网络技术领域,尤其涉及一种VPLS网络报文处理方法、i殳备及系统。
背景技术
当今IP网络已经遍布全球,如何利用现有IP网络为企业提供低成本专网逐渐^皮各大运营商所关注。因此,MPLS ( Multiple ProtocolLabel Switch:多协i义标签交换)VPN ( Virtual Private Network:虚拟专用网)技术应运而生,具有在IP网上提供VPN服务、可方便设定任意速率、配置简单等优点。
基于MPLS的VPN业务有两种,分别是L3 ( Layer 3 ) MPLSVPN和L2( Layer 2 ) MPLS VPN。 L2 MPLS VPN包括VPLS( VirtualPrivate LAN Service:虛拟专用LAN业务)和VPWS ( Virtual PrivateWire Service:虚拟专用线业务),其中VPWS仅适用于点到点的组网应用才莫式,而VPLS可以实现多点到多点的VPN组网,因此能够为运营商提供了一种更完备的解决方案,还可以避免像L3 VPN那样介入用户的内部路由层次。这样,运营商就可以只管理、运行一个网络,并在一个网络上同时提供Best-effort IP服务、L3 VPN、 L2 VPN、流量工程、区分服务等许多服务,从而减少运营商大量的建设、维护及运行费用。
VPLS是一种在MPLS网络上提供类似LAN (Local AreaNetwork:局域网)服务的业务,它可以使用户从多个地理位置分散的点同时接入网络,相互访问,就4象这些点直接接入到LAN上一样。VPLS使用户延伸他们的LAN到MAN( Metropolitan Area Network:城域网),甚至WAN ( Wide Area Network:广域网)上。VPLS模拟了 LAN的转发机制,即通过MAC ( Medium AccessControl:媒体接入控制)地址转发ethernet (以太网)报文,对查找MAC地址不能命中的报文进行洪泛(flood:把该报文转发到同属于一个LAN中除接收该报文的端口外的其他所有端口 ) 。 VPLS还模拟了 LAN的学习功能,即当一个报文从一个端口进入时学习该报文的源MAC地址与进入端口的对应关系。VPLS还模拟了 LAN的广播功能,即收到目的MAC地址为广播地址或组播地址的报文时将报文flood到相应的端口。 VPLS把PW ( Pseudo Wire:伪线)模拟成一个以太网端口,学习时要学习源MAC地址与PW的对应关系。VPLS才艮据一套规则动态建立PW。
提供VPLS业务的PE ( Provider Edge:提供者边缘设备)设备需要学习VPN的所有有业务流量的主机的MAC地址,通常业务用户的主机数越来越多时,PE的MAC表容量压力越来越大。
PBB (Provider Backbone Bridge:提供者骨干桥)是IEEE802.1ah任务组制定的以太技术标准,用于PBN (Provider BridgeNetworks:提供者桥网络)的互连,该标准流程中在用户以太或QinQ帧前增加了骨干头,对业务实例数有很大扩展,主要有如下特征
1. 提高了 IEEE 802.1ad的扩展性;
2. 将用户MAC和运营商MAC隔离——采用MAC-in-MAC封
装;
3. 用I-SID表示业务实例。I-SID是业务区分符,将业务实例数从4K扩展到16M;
4. 运营商的VLAN用B-VID表示。B-VID把骨干网分割成若干个广播域。
5. 业务实例(I-SID)和运营商VLAN (B-VID)的清晰分割。PBB over VPLS是PBB技术和VPLS技术的结合,PBB把用户
MAC、 VLAN信息与网络的MAC、 VLAN信息隔离,提高了运营以太网络的扩展性。VPLS则是IP/MPLS网上的LAN仿真业务,可以把以太业务扩展到广域网上。PBB+VPLS结合了 二者的优点。PBBoverVPLS技术与传统的以太局域网相比较,公网MAC与用户MAC分离,保证了网络的稳定,并且也降低了对公网设备的MAC转发表项数量的需求;另夕卜,PBB对业务实例(帧格式的I-SID:24bit)的支持突破了 4KVLANID的限制,能够满足以太传送网对转发隧道数量的需求。
在VPLS技术中,还有一种H-VPLS技术,该技术属于分层VPLS,其中PE设备分成NPE (网络侧PE设备)和UPE (用户侧PE设备),用户设备连入UPE, UPE再链接NPE, NPE之间采用fullmesh链接和水平分割。这种结构可以緩解PE的full mesh拓朴带来的PW的N平方问题, 一定程度上解决了扩展性问题。
但H-VPLS作为传送网存在着MAC转发表项需求过大的问题,如图l所示。在H-VPLS组网应用中,UPE设备只需要学习本地用户以及对端用户的MAC地址,而NPE作为集中式业务点,需要学习整个ME范围内用户以及所有对端用户的MAC地址,随着网络规模的扩大,NPE需要学习的MAC地i止相应增多,因此,网络的扩展性成为严重的问题。
PBB over VPLS技术在解决H-VPLS网络的这个问题上,提供了如图2所示的组网及IP报文处理流程,即接入层交换机、UPE、NPE构成Metro-E区域,VPLS才艮文的转发处理如下
用户数据通过交换机二层转发到UPE,才艮文采用VLAN/QinQ方式。
在UPE位置用户PBN报文进入VSI ( Virtual Switch Instance:虚拟交换实例),并且根据目的MAC查找转发表得到B-DA (公网目的MAC地址),报文通过PW发送时将才艮文封装成Mac-in-Mac格式,其中B-DA为查表所得(表项又是通过学习得到),如果表项不存在,则填充为缺省的广播MAC或指定组播MAC ( 01-lE-83-24bitISID) , B-SA为本UPE的公网MAC。
NPE在VSI内根据B-DA进行转发,因此NPE需要学习B-MAC(即NPE进行标准的VPLS转发,不需要作特殊处理);
10对端从PW接收到报文后,需要进行Mac-in-Mac解封装处理,得到B-SA (公网源MAC ) 、 B-DA (公网目的MAC ) 、 C-SA (用户源MAC ) 、 C-DA (用户目的MAC ) ; UPE在VSI内学习B-SA、C-SA以用于反向流量的MAC转发;UPE向交换机转发时才艮据C-DA查找转发表项(表项不存在时作flood处理),其中保留C-SA、 C-DA信息,B-SA、 B-DA不再存在。
由上述过程可以看出,通过PBB over VPLS进行转发,只需要UPE在VSI内学习本地用户及对端的MAC地址,以及学习乂^网的MAC地址,而NPE则只需要在VSI内学习公网的MAC地址,大大减轻了 NPE对MAC表项的数量,从而使得网络规模的扩展不再存在限制。
但PBB over VPLS 4支术在解决大容量MAC需求问题时仍存在以下缺陷(l)只解决了 NPE的MAC表容量问题,UPE位置的MAC容量问题没有解决;(2)封装效率下降,因为采用MAC-in-MAC封装,报文增加了22字节头,封装效率降低了。

发明内容
本发明的目的是提出一种VPLS网络报文处理方法、设备及系统,能够在不降低封装效率的基础上,解决VPLS网络中PE设备学习MAC地址数量太大的问题,从而消除VPLS网络规模扩展的限制。
为实现上述目的,本发明提供了一种VPLS网络报文处理方法的实施例,包括以下步骤
第一 UPE设备接收到第一 CE设备发送的IP报文,将所述IP报文对应的以太报文中的源MAC地址替换为所述第一 UPE设备的MAC地址,然后根据所述MAC转发表对替换后的所述以太报文进行转发;其中,所述IP报文是^f艮据目的IP地址查询预先生成的ARP表获得查询目的MAC地址,并才艮据所述目的MAC地址进行转发的;第二 UPE设备接收到所述以太报文之后,对所述以太报文剥离以太封装,并根据所述以太报文对应的IP报文的目的IP地址在所述ARP表查询对应的目的MAC地址;
所述第二 UPE设备使用查询到的目的MAC地址重新对剥离封 装后的以太报文进行以太封装,并进行转发。
为实现上述目的,本发明还提供了一种VPLS网络报文处理系统 的实施例,包括
第一UPE设备,用于在接收到第一 CE设备发送IP报文时,将 所述IP报文对应的以太报文中的源MAC地址替换为所述第一 UPE 设备的MAC地址,然后根据所述MAC转发表对替换后的所述以太 报文进行转发;其中,所述IP报文是根据目的IP地址查询预先生成 的ARP表获得目的MAC地址,并才艮据所述目的MAC地址进行转发 的;
第二UPE设备,用于在接收到所述以太才艮文之后,对所述以太 报文剥离以太封装,并根据所述替换后的以太报文对应的IP报文中的 目的IP地址在所述ARP表查询对应的目的MAC地址,然后使用查 询到的目的MAC地址重新对剥离封装后的以太报文进行以太封装, 并进行转发。
为实现上述目的,本发明还提供了一种UPE设备,包括 第一IP报文接收模块,用于接收本侧的CE设备发送的IP报文,
其中,所述IP报文是根据目的IP地址查询预先生成的ARP表获得目
的MAC地址,并根据所述目的MAC地址进行转发的;
第一源MAC替换模块,用于将所述IP报文对应的以太报文中
的源MAC地址替换为本UPE设备的MAC地址;
第一以太报文转发模块,用于根据所述MAC转发表对替换后的
所述以太报文进行转发。
为实现上述目的,本发明还提供了一种UPE设备,包括 第二IP报文接收模块,用于接收对端的UPE设备发送的所述以
太报文;
第一以太重封装模块,用于对所述以太报文剥离以太封装,根据 所述替换后的以太报文对应的IP报文中的目的IP地址在预先生成的
12ARP表查询对应的目的MAC地址,并使用查询到的目的MAC地址 重新对剥离封装后的以太报文进行以太封装;
第二以太报文转发模块,用于根据所述目的MAC地址对重封装 的以太报文进行转发。
基于上述技术方案,本发明实施例通过在发端UPE设备对报文 中源MAC地址采用自身的MAC地址进行替换,然后再转发的方式, 使得报文转发过程中所经过的UPE设备和NPE设备均不会学习到非 本地CE设备的MAC地址,从而同时减轻了 UPE和NPE中MAC表 项的数量,也避免了采用MAC-in-MAC封装带来的效率降低问题。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请 的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构 成对本发明的不当限定。在附图中
图1为现有技术中H-VPLS的MAC转发表扩展问题的示意图。
图2为现有4支术中PBB over VPLS组网示意图。
图3为本发明VPLS网络报文处理方法的第一实施例的流程示意图。
图4为图3实施例的信令交互的示意图。
图5为图3实施例的反向过程的信令交互的示意图。
图6为本发明VPLS网络报文处理方法的第二实施例的流程示意图。
图7为图6实施例的信令交互的示意图。
图8为本发明VPLS网络报文处理方法的第三实施例的流程示意图。
图9为本发明VPLS网络报文处理方法的第四实施例的流程示意图。
图IO为图9实施例的信令交互的示意图。
图11为本发明VPLS网络报文处理方法的第五实施例的流程示意图。
具体实施例方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
如图3所示,为本发明VPLS网络才艮文处理方法的第一实施例的 流程示意图。在本实施例中,VPLS网络报文的处理流程包括
步骤101、第一 UPE设备接收到第一 CE设备发送的IP报文, 将所述IP报文对应的以太报文中的源MAC地址替换为所述第一 UPE 设备的MAC地址;
步骤102、该第一 UPE设备根据MAC转发表对替换后的所述以 太报文进行转发,其中所述IP报文是根据目的IP地址查询预先生成 的ARP表获得目的MAC地址,并根据所述目的MAC地址进行转发
的;
步骤103、第二UPE设备接收到替换后的以太报文之后,对所述 以太报文剥离以太封装;
步骤104 、第二 UPE设备根据替换后的以太报文对应的IP报文 的目的IP地址在第二UPE设备预先生成的ARP表中查询对应的目的 MAC地址;
步骤105、第二 UPE设备使用查询到的目的MAC地址重新对剥 离封装后的以太报文进行以太封装,并进行转发。
在上述技术方案中,第一UPE设备在转发IP报文时,对IP报 文对应的以太报文中的源MAC地址进行替换,将原来的作为源MAC 地址的第一 CE设备及其连接的用户设备的MAC地址替换为自身的 MAC地址。由于PE设备在学习MAC的时候,通常是在自身的緩存 中保存源MAC地址与入端口之间的对应关系,因此当IP报文在第一 UPE设备转发时被替换为该UPE设备自身的MAC地址,会使得在本 端的NPE设备及对端的NPE和UPE设备均只保存第一 UPE设备的 MAC地址与入端口之间的对应关系,而学习不到数量巨大的CE设备
14的MAC地址,从而同时减轻了 UPE和NPE中MAC表项的数量, 也避免了采用MAC-in-MAC封装带来的效率降低问题。
在本实施例中,在第一 CE设备和其连接的用户设备发送IP报 文之前,如果发送目标为广播、组播或者查询第一 CE设备本地预先 生成的ARP表中无法获得单播IP地址对应的MAC地址,则需要第 一 CE设备进行ARP广播,以获得相应目标的MAC地址。
如果发送目标为单播IP地址,且在所述本地的ARP表能查询到 对应的目标主机MAC地址,则将查询到的所述IP地址对应的MAC 地址设为目标主机MAC地址,然后进行转发。
对端的第二 UPE设备在接收到IP报文后,学习了第一 UPE设 备的MAC地址,并且利用自身存储的ARP表进行目标MAC地址的 查询和替换。本端第一 CE设备和第一 UPE设备在进行才艮文转发的时 候不需要关心第二 CE设备的MAC地址,只需要将带有目的IP地址 的报文发送给第二 UPE设备就可以顺利地将报文转发给第二 CE设 备。
如图4所示,为图3实施例的信令交互的示意图,在图中左端的 第一 CE设备(简称CE1)具有IP地址(简称IP1)和MAC地址(简 称Ml) , CE1将IP报文发送给左端的第一 UPE设备(简称UPE1), 该IP报文对应的以太报文中源MAC为Ml,目的MAC为M4(即右 端第二 UPE设备的MAC地址),目的IP为IP2 (即右端第二 CE设 备的IP地址)。UPE1接收到该IP报文后,首先根据IP报文对应的 以太才艮文进行源MAC的学习,并将源MAC替换为自身MAC地址 M3, UPE1通过PW1将该替换后的以太报文转发给MPLS/IP网内的 左端的NPE设备(简称NPE1) , NPE1也进行MAC学习,并将以 太报文转发给另一端的NPE设备(NPE2) , NPE2根据以太报文中 的目的MAC地址通过PW2将以太才艮文转发给UPE2, UPE2进行 MAC学习,并由于该目的地址为M4,需要UPE2进行ARP查表, 查询CE2的IP地址(简称IP2 )所对应的MAC地址(筒称M2 ), 从而将以太报文中的目标MAC地址替换为M2,并转发给CE2。上述流程的反向过程参见图5,此时UPE4作为本端,而UPE3 作为对端,UPE4需要将接收到返回的以太报文的源MAC地址替换 为M4,而目的MAC地址为正向流程中的源MAC地址,即M3,其 他的流程与其正向流程相同,这里就不赘述了。
如图6所示,为本发明VPLS网络报文处理方法的第二实施例的 流程示意图。在前面提到了 ARP表,该表通常在进行CE设备进行 ARP广播时建立,该表保存了 IP地址与MAC地址之间的对应关系。 该ARP请求流程包括以下步骤
步骤201 、所述第一 UPE设备捕获所述第一 CE设备发送的ARP 请求报文之后,进行地址解析生成ARP表项;
步骤202、第一 UPE设备将所述ARP请求报文的源MAC地址 替换为所述第一UPE设备的MAC地址,生成新的ARP请求报文;
步骤203、第一 UPE设备将新的ARP请求报文洪泛(flooding ) 到属于相同VSI的除接收ARP请求报文的端口之外的全部端口 ,该 全部端口包括第一 CE设备同侧的以太网端口和NPE设备的PW。
在本实施例中,第一 UPE设备在处理ARP请求时,需要进行 ARP请求的重构,在重构后的ARP请求才艮文中也将源MAC地址替 换为第一 UPE设备的MAC地址,这样使得NPE设备和对端的UPE 设备只学习第一UPE设备的MAC地址,而学习不到数量众多的本端 CEi殳备的MAC地址。
换句话说,而UPE设备只需要学习本端的CE设备的MAC地址 以及网络中有限的UPE的MAC地址,而学习不到对端的CE设备的 MAC地址,这样就确保了 UPE设备较少的MAC表项数量学习。而 对于网络中的NPE设备,则只需要学习本端和对端的UPE设备的 MAC地址,学习不到CE设备的MAC地址,也确保了 NPE设备较 少的MAC表项数量学习。
如图7所示,为图6实施例的信令交互的示意图。在图中,CE1 向UPE1发出ARP请求报文包括源MAC地址和源IP地址,该源MAC 地址为Ml,源IP地址为IP1。 UPE1接收到该ARP请求报文后,进
16行ARP学习和MAC学习,在緩存中保存IP1和Ml之间的对应关系。 UPEl还重新构造ARP请求报文,将ARP请求才艮文中的源MAC地 址替换为M3。 UPEl通过PWl将该新的ARP报文转发给MPLS/IP 网内的NPE1, NPE1也进行MAC学习,并将新的ARP报文转发给 另 一端的NPE2, NPE2根据IP报文中的目的MAC地址通过PW2将 新的ARP报文转发给UPE2, UPE2进行MAC学习。UPE2将新的 ARP报文洪泛到除PW2之外的端口 ,当CE2接收到该新的ARP请 求报文之后,准备进行ARP应答,并且进行MAC学习和ARP学习, 在ARP表中保存IP1和M3之间的对应关系。
在第一 UPE设备进行洪泛的时候,对于发送到第一 CE设备同 侧的端口时,重构ARP报文对第一 CE设备来说并非必需,因此可以 通过转发目标区分的方式来有选择的发送重构ARP报文。如图8所示, 为本发明VPLS网络报文处理方法的第三实施例的流程示意图。该 ARP广播流程包括以下步骤
步骤301 、第一 UPE设备捕获第一 CE设备发送的ARP请求报 文之后,进行地址解析生成ARP表项;
步骤302、第一UPE设备对转发目标进行区分,对于转发目标为 属于相同VSI的除接收ARP请求报文的端口之外的与第一 CE设备同 侧的以太网端口时,执行步骤303,对于转发目标为属于相同VSI的 NPE设备的PW,执行步骤304;
步骤303、第一 UPE设备直接将所述ARP请求报文洪泛到所述 第一 CE设备同侧的以太网端口;
步骤304、第一 UPE设备将ARP请求报文中源MAC地址替换 为所述第一 UPE设备的MAC地址,生成新的ARP请求报文,并将 新的ARP请求报文洪泛到NPE设备的PW。
如图9所示,为本发明VPLS网络报文处理方法的第四实施例的 流程示意图。在本实施例中提供了 ARP应答的过程,包括以下步骤
步骤401、第二 CE设备接收到该新的ARP请求报文之后,所述 第二 UPE设备捕获第二 CE设备发送的所述ARP应答才艮文,进行地址解析生成ARP表项;
步骤402、第二 UPE设备将所述ARP应答报文的源MAC地址 替换为所述第二UPE设备的MAC地址,生成新的ARP应答报文;
步骤403 、第二 UPE设备根据新的ARP应答报文中的目的MAC 地址经过网络中的NPE将新的ARP应答报文发送到第一UPE设备;
步骤404、第一 UPE设备接收到所述新的ARP应答报文之后, 如果判断新的ARP应答报文中的目的MAC地址为第一 UPE设备的 MAC地址,则进行地址解析生成ARP表项;
步骤405、第一 UPE设备根据ARP应答报文中目的IP地址查询 预先生成的ARP表,得到对应的所述第一 CE设备的MAC地址;
步骤406、第一 UPE设备将所述ARP应答报文的目的MAC地 址替换为所述第一 CE设备的MAC地址,生成新的ARP应答报文;
步骤407、第一 UPE设备将所述新的ARP应答报文发送给所述 第一 CE设备。第一 CE设备接收到新的ARP应答报文后,进行ARP 及MAC地址的学习。
在本实施例中,第二UPE设备需要重新构造ARP应答报文,将 新的ARP应答报文中的源地址替换为第二UPE设备的MAC地址, 这样使得其对端的第一 UPE设备只能学习第一 UPE设备本侧的CE 设备的MAC地址以及其他的UPE设备的MAC地址,而不需要学习 所有的CE设备的MAC地址,这样就使得UPE设备学习的数量不会 过多。
如图10所示,为图9实施例的信令交互的示意图。在图中,CE2 接收到ARP请求报文后,向UPE2发送ARP应答报文,该报文中源 MAC地址为M2,目的MAC地址为M3,源IP地址为IP2,目的IP 地址为IP1。UPE2接收到ARP应答报文之后,进行ARP学习和MAC 学习,在ARP表中保存IP2和M2之间的对应关系。UPE2重构该 ARP应答报文,将源MAC地址替换为M4,然后通过PW2发送给 NPE2,再由NPE2转发给NPE1, NPE1和NPE2均要进行MAC学 习。NPE1将重构的APR应答报文发送给UPE1,UPE1需要进行ARP
18学习和MAC学习,在ARP表中保存IP2和M4之间的对应关系。
由于目的MAC地址正好为UPE1的MAC地址,因此需要进行 ARP查表,前面提到在处理ARP请求报文时,在ARP表中保存了 IP1 和M1之间的对应关系,因此可以查表获得CE1的MAC地址,进而 重构ARP应答报文,将目的MAC地址替换为Ml,再转发给CE1。 当CE1接收到该新的ARP应答报文之后,进行MAC学习和ARP学 习,在ARP表中保存IP2和M4之间的对应关系。
在本发明的另一方法实施例中,在ARP请求和应答流程中,本 端和对端均可以进行统一的源MAC地址的替换,即在所述第一 CE 设备对端的第二 UPE设备接收到所述新的ARP请求报文之后,还包 括以下步骤
所述第二 UPE设备进行地址解析生成ARP表项,并将源MAC 地址替换为所述第二 UPE设备的MAC地址,生成新的ARP请求报
文;
所述第二 UPE设备将新的ARP请求报文发送给所述第二 CE设
所述第二 UPE设备根据所述第二 CE设备返回的ARP应答报文 进行地址解析生成ARP表项,并根据所述ARP应答报文中目的IP 地址查询预先生成的ARP表,得到对应的MAC地址;
所述第二 UPE设备将源MAC地址替换为所述第二 UPE设备的 MAC地址,目的MAC地址替换为查询到的所述第一 UPE设备的 MAC地址,生成新的ARP应答报文,并将所述新的ARP应答报文 发送到所述第一 UPE设备;
在所述第一UPE设备接收到所述新的ARP应答报文之后,如果 判断新的ARP应答报文中的目的MAC地址为所述第一UPE设备的 MAC地址,则进行地址解析生成ARP表项;
所述第一 UPE设备根据所述新的ARP应答报文中目的IP地址 查询预先生成的ARP表,得到对应的所述第一 CE设备的MAC地址, 并将目的MAC地址替换为所述第一 CE设备的MAC地址,生成新的ARP应答报文;
所述第一 UPE设备将所述新的ARP应答报文发送给所述第一 CE设备。
对于L3层网络来说,本发明也可以适用,如图ll所示,为本发 明VPLS网络报文处理方法的第五实施例的流程示意图。与采用L2 层网络的第一实施例相比,在本实施例中,在第一UPE设备的对端的 第二 UPE设备接收到所述替换后的IP报文之后,对替换后的IP报文 进行二层头部封装的剥离(步骤103a),并根据替换后的IP报文中 的目的IP地址查询IP FIB ( Forwarding Information Base:转发数据 库表)(步骤103b)。如果查询结果表示出接口为VSI的虚拟接口, 则在步骤104中根据替换后的IP报文中的目的IP地址在第一UPE设 备预先生成的ARP表查询对应的目的MAC地址。通过上述步骤,本 发明的思想也同样被应用到了 L3网络中。
本领域普通技术人员可以理解实现上述方法实施例的全部或部 分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于 一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实 施例的步骤;而前述的存储介质包括ROM、 RAM、磁碟或者光盘 等各种可以存储程序代码的介质。
本发明还提供了一种VPLS网络报文处理系统的实施例,在该实 施例中,系统包括第一UPE设备,用于在接收到第一 CE设备发送 IP报文时,将所述IP报文对应的以太报文中的源MAC地址替换为 所述第一 UPE设备的MAC地址,然后根据所述MAC转发表对替换 后的所述以太报文进行转发;其中,所述IP报文是根据目的IP地址 查询预先生成的ARP表获得目的MAC地址,并根据所述目的MAC 地址进行转发的;
第二UPE设备,用于在接收到所述以太报文之后,对所述以太 报文剥离以太封装,并根据所述替换后的以太报文对应的IP报文中的 目的IP地址在所述ARP表查询对应的目的MAC地址,然后使用查 询到的目的MAC地址重新对剥离封装后的以太报文进行以太封装,并进行转发。
在上述技术方案中,第一 UPE设备在转发IP才艮文时,对IP报 文对应的以太报文中的源MAC地址进行替换,将原来的作为源MAC 地址的第一 CE设备及其连接的用户设备的MAC地址替换为自身的 MAC地址。由于PE设备在学习MAC的时候,通常是在自身的緩存 中保存源MAC地址与入端口之间的对应关系,因此当IP报文在第一 UPE设备转发时被替换为该UPE设备自身的MAC地址,会使得在本 端的NPE设备及对端的NPE和UPE设备均只保存第一 UPE设备的 MAC地址与入端口之间的对应关系,而学习不到数量巨大的CE设备 的MAC地址,从而同时减轻了 UPE和NPE中MAC表项的数量, 也避免了采用MAC-in-MAC封装带来的效率降低问题。
而且,对端的第二UPE设备对第一UPE设备的MAC地址进行 学习,并且利用自身存储的ARP表进行目标MAC地址的查询和替换。 本端第一 CE设备和第一 UPE设备在进行报文转发的时候不需要关心 第二 CE设备的MAC地址,只需要将带有目的IP地址的报文发送给 第二 UPE设备就可以顺利地将报文转发给第二 CE设备。
本发明还提供了 一种UPE设备的实施例,包括第一 IP报文接收 模块、第一源MAC替换模块和第一以太报文转发模块。第一IP报文 接收模块用于接收本侧的CE设备发送的IP报文,其中,所述IP报 文是#>据目的IP地址查询预先生成的ARP表获得目的MAC地址, 并根据所述目的MAC地址进行转发的。第一源MAC替换模块用于 将所述IP报文对应的以太报文中的源MAC地址替换为本UPE设备 的MAC地址。第一以太报文转发模块用于根据所述MAC转发表对 替换后的所述以太报文进行转发。
在上述技术方案中,由于UPE设备对以太报文的源MAC地址 进行替换,使得对端的UPE设备只需要学习本端的CE设备的MAC 地址以及网络中有限的UPE的MAC地址,而学习不到对端的CE设 备的MAC地址,这样就确保了 UPE设备较少的MAC表项数量学习。 而对于网络中的NPE设备,则只需要学习本端和对端的UPE设备的
21MAC地址,学习不到CE设备的MAC地址,也确保了 NPE设备较 少的MAC表项数量学习。
在另一个实施例中,UPE设备还包括第一 ARP报文捕获模块、 第一ARP表项生成模块、第一ARP表项存储模块、第一ARP报文 生成模块和第一洪泛模块。其中第一 ARP报文捕获模块,用于捕获所 述本侧的CE设备发送的ARP请求才艮文。第一 ARP表项生成模块, 用于根据所述ARP请求报文进行地址解析,生成ARP表项。第一 ARP 表项存储模块,用于存储所述第一 ARP表项生成模块生成的ARP表 项,这些生成的ARP表项构成ARP表。ARP报文生成模块用于将所 述ARP请求报文的源MAC地址替换为所述本UPE设备的MAC地 址,生成新的ARP请求报文。第一洪泛模块用于将所述新的ARP请 求报文洪泛到属于相同VSI的除接收ARP请求报文的端口之外的全 部端口,所述全部端口包括所述本侧的CE设备同侧的以太网端口和 NPE设备的PW。
在第一 UPE设备进行洪泛的时候,对于发送到第一 CE设备同 侧的端口时,重构ARP报文对第一 CE设备来说并非必需,因此可以 通过转发目标区分的方式来有选择的发送重构ARP报文。因此在另一 个实施例中,与上一实施例相比,UPE设备增加转发目标区分模块, 并将第 一洪泛模块替换为第二洪泛模块。其中转发目标区分模块用于 区分转发目标为属于相同VSI的除接收ARP请求报文的端口之外的 所述第一CE设备同侧的以太网端口,还是属于相同VSI的NPE设备 的PW;第二洪泛^t块,用于对于转发目标为属于相同VSI的除接收 ARP请求报文的端口之外的第一 CE设备同侧的以太网端口 ,则直接 将所述ARP请求报文洪泛到所述第一 CE设备同侧的以太网端口 ;对 于转发目标为属于相同VSI的NPE设备的伪线,则将所述新的ARP 请求报文洪泛到所述NPE设备的PW。
本发明还提供了另一种UPE设备的实施例,包括第二IP报文 接收模块、第一以太重封装模块和第二以太报文转发模块。其中,第 二 IP报文接收^=莫块,用于接收对端的UPE设备发送的所述以太报文。第一以太重封装模块用于对所述以太报文剥离以太封装,根据所述替
换后的以太才艮文对应的IP才艮文中的目的IP地址在预先生成的ARP 表查询对应的目的MAC地址,并〗吏用查询到的目的MAC地址重新 对剥离封装后的以太报文进行以太封装。第二以太报文转发模块用于 根据所述目的MAC地址对重封装的以太报文进行转发。
在另一个UPE设备的实施例中,还包括第二ARP报文捕获模 块、第二 ARP表项生成模块、第二 ARP表项存储模块、第二 ARP 报文生成模块和ARP报文发送模块。其中第二 ARP报文捕获模块用 于捕获本侧的CE设备发送的ARP应答报文。第二 ARP表项生成模 块用于根据所述ARP应答报文进行地址解析,生成ARP表项。第二 ARP表项存储模块用于存储所述第二 ARP表项生成模块生成的ARP 表项。第二 ARP才艮文生成才莫块用于将所述ARP应答报文的源MAC 地址替换为本UPE设备的MAC地址,并生成新的ARP应答报文。 ARP报文发送模块用于根据新的ARP应答报文中的目的MAC地址 经过网络中的NPE设备将所述新的ARP应答报文发送到所述对端的 UPE设备。
在本实施例中,第二UPE设备需要重新构造ARP应答报文,将 源地址替换为第二 UPE设备的MAC地址,这样使得其对端的第一 UPE设备只能学习第一 UPE设备本侧的CE设备的MAC地址以及其 他的UPE设备的MAC地址,而不需要学习所有的CE设备的MAC 地址,这样就使得UPE设备学习的数量不会过多。
对于L3层网络来说,本发明也可以适用,在另一实施例中,UPE 设备还可以包括第二以太重封装模块,用于对所述替换后的以太报文 进行二层头部封装的剥离,并根据所述替换后的以太报文对应的IP 报文中的目的IP地址查询IP转发数据库表,如果查询结果表示出接 口为虚拟交换实例的虛拟接口 ,则根据所述目的IP地址在本地的ARP 表查询对应的目的MAC地址,并使用查询到的目的MAC地址重新 对剥离封装后的以太报文进行封装。这样就将本发明的思想应用到了 网络中。最后应当说明的是:以上实施例仅用以说明本发明的技术方案而 非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属 领域的普通技术人员应当理解依然可以对本发明的具体实施方式
进 行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案 的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
权利要求
1、一种VPLS网络报文处理方法,包括以下步骤第一UPE设备接收到第一CE设备发送的IP报文,将所述IP报文对应的以太报文中的源MAC地址替换为所述第一UPE设备的MAC地址,然后根据所述MAC转发表对替换后的所述以太报文进行转发;其中,所述IP报文是根据目的IP地址查询预先生成的ARP表获得目的MAC地址,并根据所述目的MAC地址进行转发的;第二UPE设备接收到所述以太报文之后,对所述以太报文剥离以太封装,并根据所述以太报文对应的IP报文的目的IP地址在所述ARP表查询对应的目的MAC地址;所述第二UPE设备使用查询到的目的MAC地址重新对剥离封装后的以太报文进行以太封装,并进行转发。
2、 根据权利要求1所述的VPLS网络报文处理方法,其中在所 述第一CE设备发送IP报文之前,如果发送目标为广播、组播或者查 询预先生成的ARP表无法获得单播IP地址对应的MAC地址时,所 述第一 CE设备进行ARP广播。
3、 根据权利要求2所述的VPLS网络报文处理方法,其中当所 述第一 CE设备进行ARP广播的步骤具体包括所述第一 UPE设备捕获所述第一 CE设备发送的ARP请求报文 之后,进行地址解析生成ARP表项,并将所述ARP请求才艮文的源 MAC地址替换为所述第一 UPE设备的MAC地址,生成新的ARP请求报文;所述第一 UPE设备将所述新的ARP请求报文洪泛到属于相同虛 拟交换实例的除接收ARP请求报文的端口之外的全部端口,所述全部 端口包括所述第一 CEi殳备同侧的以太网端口和NPEi殳备的伪线。
4、 根据权利要求2所述的VPLS网络报文处理方法,其中当所 述第一CE设备进行ARP广播时,包括以下步骤所述第一 UPE设备捕获所述第一 CE设备发送的ARP请求报文之后,进行地址解析生成ARP表项;当转发端口为属于相同虛拟交换 实例的除接收ARP请求报文的端口之外的所述第一CE设备同侧的以 太网端口时,则直接将所述ARP请求报文洪泛到所述第一 CE设备同 侧的以太网端口;当转发端口为属于相同虚拟交换实例的NPE设备的伪线时,则 将所述ARP请求报文的源MAC地址替换为所迷第一 UPE设备的 MAC地址,生成新的ARP请求才艮文,然后将所述新的ARP请求报 文洪泛到所述NPE设备的伪线。
5、 根据权利要求3或4所述的VPLS网络报文处理方法,其中 所述第一 CE设备对端的第二 CE设备接收到所述新的ARP请求报文 之后,还包括以下步骤所述第二 UPE设备捕获所述第二 CE设备发送的所述ARP应答 报文,进行地址解析生成ARP表项,并将所述ARP应答报文的源 MAC地址替换为所述第二 UPE设备的MAC地址,生成新的ARP应 答报文;所述第二 UPE设备将所述新的ARP应答报文发送到所述第一 UPE设备;所述第一UPE设备接收到所述新的ARP应答报文之后,判断新 的ARP应答报文中的目的MAC地址是否为所述第一 UPE设备的 MAC地址,是则进行地址解析生成ARP表项;所述第一 UPE设备根据ARP应答报文中目的IP地址查询预先 生成的ARP表,得到对应的所述第一 CE设备的MAC地址,并将所 述ARP应答报文的目的MAC地址替换为所述第一 CE设备的MAC 地址,生成新的ARP应答才艮文;所述第一 UPE设备将所述新的ARP应答报文发送给所述第一 CE设备。
6、 根据权利要求3或4所述的VPLS网络报文处理方法,其中 所述第一 CE设备对端的第二 UPE设备接收到所述新的ARP请求报 文之后,还包括以下步骤所述第二 UPE设备进行地址解析生成ARP表项,并将源MAC 地址替换为所述笫二 UPE设备的MAC地址,生成新的ARP请求报文;所述第二 UPE设备将新的ARP请求报文发送给所述第二 CE设备;所述第二 UPE设备根据所述第二 CE设备返回的ARP应答报文 进行地址解析生成ARP表项,并才艮据所述ARP应答l艮文中目的IP 地址查询预先生成的ARP表,得到对应的MAC地址;所述第二 UPE设备将源MAC地址替换为所述第二 UPE设备的 MAC地址,目的MAC地址替换为查询到的所述第一 UPE设备的 MAC地址,生成新的ARP应答l艮文,并将所述新的ARP应答才艮文 发送到所述第一 UPE设备;在所述第一 UPE设备接收到所述新的ARP应答报文之后,如果 判断新的ARP应答报文中的目的MAC地址为所述第一 UPE设备的 MAC地址,则进行地址解析生成ARP表项;所迷第一 UPE设备根据所述新的ARP应答才艮文中目的IP地址 查询预先生成的ARP表,得到对应的所述第一 CE设备的MAC地址, 并将目的MAC地址替换为所述第一 CE设备的MAC地址,生成新 的ARP应答报文;所述第一 UPE设备将所述新的ARP应答报文发送给所述第一 CE设备。
7、根椐权利要求1所述的VPLS网络报文处理方法,其中在所 述第一 UPE设备的对端的第二 UPE设备接收到所述替换后的IP报文 之后,还包括以下步骤所述第二 UPE设备对所述替换后的以太报文进行二层头部封装 的剥离,并根据所述替换后的以太报文对应的IP报文中的目的IP地 址查询IP转发数椐库表;如果查询结果表示出接口为虛拟交换实例的虛拟接口 ,则根据所 述目的IP地址查询本地的ARP表,得到对应的目的MAC地址;所述第二 UPE设备使用查询到的目的MAC地址重新对剥离封 装后的以太报文进行封装,并进行转发。
8、 一种VPLS网络才艮文处理系统,包括第一UPE设备,用于在接收到第一 CE设备发送IP报文时,将 所述IP报文对应的以太才艮文中的源MAC地址替换为所述第一 UPE 设备的MAC地址,然后根据所述MAC转发表对替换后的所述以太 报文进行转发;其中,所述IP报文是根据目的IP地址查询预先生成 的ARP表获得目的MAC地址,并根据所述目的MAC地址进行转发 的;第二UPE设备,用于在接收到所述以太报文之后,对所述以太 报文剥离以太封装,并根据所述替换后的以太报文对应的IP报文中的 目的IP地址在所述ARP表查询对应的目的MAC地址,然后使用查 询到的目的MAC地址重新对剥离封装后的以太报文进行以太封装, 并进行转发。
9、 一种UPEi殳备,包括第一IP报文接收模块,用于接收本侧的CE设备发送的IP报文, 其中,所述IP报文是根据目的IP地址查询预先生成的ARP表获得目 的MAC地址,并^^据所述目的MAC地址进行转发的;第一源MAC替换模块,用于将所述IP报文对应的以太报文中 的源MAC地址替换为本UPE设备的MAC地址;第一以太报文转发模块,用于根据所述MAC转发表对替换后的 所述以太报文进行转发。
10、 根据权利要求9所述的UPE设备,其中还包括第一 ARP报文捕获模块,用于捕获所述本侧的CE设备发送的 ARP请求报文;第一 ARP表项生成模块,用于根据所述ARP请求报文进行地址 解析,生成ARP表项;第一ARP表项存储模块,用于存储所述第一 ARP表项生成模块 生成的ARP表项;第一 ARP报文生成模块,用于将所述ARP请求报文的源MAC 地址替换为所述本UPE设备的MAC地址,生成新的ARP请求报文;第一洪泛模块,用于将所述新的ARP请求报文洪泛到属于相同 虛拟交换实例的除接收ARP请求报文的端口之外的全部端口 ,所述全 部端口包括所述本侧的CE设备同侧的以太网端口和NPE设备的伪 线。
11、 根据权利要求9所述的UPE设备,其中还包括第一 ARP报文捕获模块,用于捕获所述第一 CE设备发送的ARP 请求报文;第一 ARP表项生成模块,用于根据所述ARP请求报文进行地址 解析,生成ARP表项;第一 ARP表项存储模块,用于存储所述第一 ARP表项生成模块 生成的ARP表项;第一 ARP报文生成模块,用于将源MAC地址替换为本UPE设 备的MAC地址,生成新的ARP请求报文;转发目标区分模块,用于区分转发目标为属于相同虚拟交换实例 的除接收ARP请求报文的端口之外的所述本侧的CE设备同侧的以太 网端口,还是属于相同虛拟交换实例的NPE设备的伪线;第二洪泛模块,用于对于转发目标为属于相同虛拟交换实例的除 接收ARP请求报文的端口之外的所述本侧的CE设备同侧的以太网端 口 ,则直接将所述ARP请求报文洪泛到所述本侧的CE设备同侧的以 太网端口;对于转发目标为属于相同虛拟交换实例的NPE设备的伪 线,则将所述新的ARP请求报文洪泛到所述NPE设备的伪线。
12、 一种UPEi殳备,包括第二IP报文接收模块,用于接收对端的UPE设备发送的所述以 太报文;第一以太重封装模块,用于对所述以太报文剥离以太封装,根据 所述替换后的以太报文对应的IP报文中的目的IP地址在预先生成的 ARP表查询对应的目的MAC地址,并4吏用查询到的目的MAC地址重新对剥离封装后的以太报文进行以太封装;第二以太报文转发模块,用于根据所述目的MAC地址对重封装的以太报文进行转发。
13、 根据权利要求12所述的UPE设备,其中还包括第二 ARP报文捕获模块,用于捕获本侧的CE设备发送的ARP 应答报文;第二 ARP表项生成模块,用于根据所述ARP应答报文进行地址 解析,生成ARP表项;第二 ARP表项存储模块,用于存储所述第二 ARP表项生成模块 生成的ARP表项;第二 ARP报文生成模块,用于将所述ARP应答报文的源MAC 地址替换为本UPE设备的MAC地址,并生成新的ARP应答报文;ARP报文发送模块,用于根据新的ARP应答报文中的目的MAC 地址经过网络中的NPE设备将所述新的ARP应答报文发送到所述对 端的UPEi殳备。
14、 根据权利要求13所述的UPE设备,其中还包括第二以太重 封装模块,用于对所述替换后的以太报文进行二层头部封装的剥离, 并才艮据所述替换后的以太才艮文对应的IP才艮文中的目的IP地址查询IP 转发数据库表,如果查询结果表示出接口为虛拟交换实例的虛拟接口 , 则才艮据所述目的IP地址在预先生成的ARP表查询对应的目的MAC 地址,并使用查询到的目的MAC地址重新对剥离封装后的以太报文 进行封装。全文摘要
本发明涉及一种VPLS网络报文处理方法,包括第一UPE设备接收到IP报文,将对应的以太报文中的源MAC地址替换为本机MAC地址,根据MAC转发表对以太报文进行转发;第二UPE设备接收到以太报文后,剥离以太封装,并在ARP表查询对应的目的MAC地址,然后重新以太封装,并进行转发。本发明还涉及一种VPLS网络报文处理系统及UPE设备。本发明实施例通过在发端UPE设备对报文中源MAC地址采用自身的MAC地址进行替换,然后再转发的方式,使得报文转发过程中所经过的UPE设备和NPE设备均不会学习到非本地CE设备的MAC地址,从而同时减轻了UPE和NPE中MAC表项的数量,也避免了采用MAC-in-MAC封装带来的效率降低问题。
文档编号H04L29/06GK101521631SQ20091013132
公开日2009年9月2日 申请日期2009年4月14日 优先权日2009年4月14日
发明者鹏 周 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1