区域网络的链路层通信方法及其应用的网络设备的制作方法

文档序号:7627741阅读:135来源:国知局
专利名称:区域网络的链路层通信方法及其应用的网络设备的制作方法
技术领域
本发明涉及分组网络的数据链路层技术,尤其涉及区域网络的链路层通信方法及应用该方法的网络设备。
背景技术
随着城域网的发展,以太网连接被越来越广泛的采用,一种新的数据链路层VPN(Virtual Private Network,虚拟私有网络)技术,VPLS(Virtual PrivateLAN Service,虚拟私有局域网服务)快速发展起来。通过VPLS,可以将多个LAN(Local Area Network,局域网)或VLAN(Virtual Local Area Network,虚拟局域网)连接在一起,实现跨WAN(Wide Area Network,广域网)的链路层报文转发。
典型的VPLS组网结构如图1所示,区域(Site)Site_1至区域Site_6通过CE(Custom Edge,用户边界设备)与PE(Provider Edge,服务提供商边界设备)连接,其中CE为与服务提供商的网络连接的用户设备,Site为以一个CE所连接的用户端网络,PE为服务提供商的网络中用来连接用户端网络的设备。服务提供商内部的网络中P(Provider,服务提供商核心设备)将各个PE连接起来。
通过VPLS,可以将图1中的区域Site_1、Site_2、Site_4和Site_6包括在一个VPN中,而将区域Site_3和Site_5包括在另一个VPN中,同一个VPN中的各个Site之间在链路层互通。这样组网,可以方便的将VPN扩展到城域网,使得服务提供商可以方便地为用户提供一个虚拟专用的LAN服务。
在LAN内部,网络设备通过学习MAC(Media Access Control,媒介接入控制)地址来进行链路层报文的转发。图2所示为最简单的VPLS结构,Site 241和Site 242属于同一个VPN,CE 231将Site 241接入PE 221,CE 232将Site 242接入PE 222,P 210将PE 221和PE 222连接起来,则Site 241中的PC(Personal Computer,个人计算机)251、252可以与Site 242中的PC 253、254通过其间连接的各个设备进行链路层通信。
当PC 251向PC 253发送报文时,通过逐跳转发,CE 231、PE 221、PE 222、CE 232都通过MAC地址自学习,在MAC表中保存了该报文的源MAC地址即PC 251的MAC地址;同样,当PC 253向PC 251发送报文时,CE 232、PE 222、PE 221、CE 231又学习到PC 253的MAC地址。
可见,一个VPN内所有的网络设备需要学习该VPN内所有通信节点的MAC地址。尤其是对于图1中连接多个VPN的PE设备,需要学习所有连接的VPN中的MAC地址。
VPLS技术在方便用户组网的同时也极大地扩展了VPN的容量,而网络设备内用于存储MAC地址的MAC表的容量是有限的。现有的网络设备的MAC表的容量无法满足大型VPLS组网的需要,网络设备无法学习到超出MAC表容量的部分MAC地址,导致这部分MAC地址的节点可能无法正常通信,或通信时需要进行反复广播的过程,对网络性能造成严重影响。

发明内容
本发明要解决的是现有技术中网络设备需要学习的MAC地址过多导致网络性能下降的问题。
本发明中区域网络的链路层通信方法用以通过至少一个边界设备实现所述区域网络内的多个通信节点与外部网络在链路层的互通,包括以下步骤为区域网络设置虚拟媒介接入控制MAC地址;建立区域网络中通信节点的MAC地址与其节点标识的对应关系;边界设备向外部网络转发报文前,将报文内该区域网络中通信节点的MAC地址替换为其虚拟MAC地址;边界设备接收到目的地址中包括虚拟MAC地址的报文时,根据通信节点的MAC地址与节点标识的对应关系,将虚拟MAC地址替换为对应的MAC地址后转发该报文。
优选地,所述节点标识为通信节点的网络层地址。
优选地,所述网络层地址为IP地址;所述建立区域网络中通信节点的MAC地址与其节点标识的对应关系具体为在边界设备向外部网络转发地址解析协议ARP报文前,记录该ARP报文中源MAC地址与源IP地址的对应关系。
优选地,对向外部网络转发的ARP报文,边界设备以虚拟MAC地址替换的报文中的MAC地址包括ARP报头中的源MAC地址和ARP报文体中的请求源MAC地址。
可选地,所述网络层地址为IP地址;所述建立区域网络中通信节点的MAC地址与其节点标识的对应关系具体为配置区域网络中的通信节点进行免费ARP广播;边界设备记录接收到的免费ARP报文中源MAC地址与源IP地址的对应关系。
优选地,所述区域网络包括虚拟私有局域网服务VPLS的区域Site和该Site的用户边界设备CE;所述外部网络包括VPLS的服务提供商边界设备PE和与所述区域网络在同一个虚拟私有网络VPN中的至少一个Site;所述边界设备为CE或PE。
优选地,所述区域网络包括一个链路层网络中的部分通信节点,所述外部网络包括该链路层网络中区域网络之外的通信节点,区域网络中的通信节点能且只能通过边界设备与外部网络进行链路层通信。
本发明所述第一种网络设备将至少一个区域网络与其外部网络在链路层连接起来,包括区域网络接口单元、存储单元、地址转换单元和外部网络接口单元,其中区域网络接口单元用来与区域网络中的通信节点进行链路层报文转发;外部网络接口单元用来与外部网络进行链路层报文转发;存储单元用来存储所连接区域网络的虚拟MAC地址,以及该区域网络中通信节点的MAC地址与其节点标识的对应关系;地址转换单元用来将以外部网络接口单元为出接口的报文内该区域网络中通信节点的MAC地址转换为虚拟MAC地址,以及根据通信节点的MAC地址与节点标识的对应关系,将以区域网络接口单元为出接口的报文中的虚拟MAC地址转换为对应的MAC地址。
优选地,所述节点标识为通信节点的网络层地址;所述网络层地址为IP地址;所述网络设备还包括ARP侦听单元,连接区域网络接口单元、存储单元和地址转换单元,用来在以外部网络接口单元为出接口的报文中识别出来自该区域网络的ARP报文,将ARP报文中的源MAC地址与源IP地址的对应关系写入存储单元,并将该ARP报文输出到地址转换单元。
可选地,所述节点标识为通信节点的网络层地址;所述网络层地址为IP地址;所述网络设备还包括ARP侦听单元,用来识别来自区域网络接口单元的免费ARP报文,将免费ARP报文中的源MAC地址与源IP地址的对应关系写入存储单元。
本发明所述的另一种区域网络的链路层通信方法用以通过至少一个边界设备实现所述区域网络内的多个通信节点与外部网络在链路层的互通,包括以下步骤在所述边界设备上设置至少一个虚拟MAC地址;区域网络发送往外部网络的报文到达边界设备;边界设备将该报文中区域网络内通信节点的MAC地址修改为虚拟MAC地址,并转发该报文。
优选地,所述方法还包括外部网络发送至区域网络的报文达到边界设备;边界设备将所述报文中的虚拟MAC地址修改为具有所述报文目的网络层地址的通信节点的MAC地址,并转发所述报文。
优选地,所述目的网络层地址为目的IP地址;所述方法还包括通过查找边界设备的ARP表或进行ARP解析过程得到具有所述目的IP地址的通信节点的MAC地址。
优选地,当具有超过一个虚拟MAC地址时,所述边界设备将通信节点的MAC地址修改为虚拟MAC地址具体为边界设备根据通信节点的MAC地址与虚拟MAC地址的转换规则,将区域网络内通信节点的MAC地址转换为虚拟MAC地址。
本发明所述的第二种网络设备位于运营商网络边缘用以为至少一个虚拟专用网VPN的区域Site提供服务,包括VPN用户接口单元,用来与VPN Site中的主机进行链路层报文转发;运营商网络接口单元,用来与运营商网络内的其他设备进行链路层报文转发;MAC存储单元,用来存储在运营商网络内具有唯一性的虚拟MAC地址,以及与VPN Site中的主机MAC地址对应并可表示该主机在该VPN中唯一身份的主机标识;MAC地址转换单元,用来将VPN Site上行报文内的Site中主机的MAC地址转换为虚拟MAC地址,并根据MAC地址与主机标识的对应关系,将下行报文中的虚拟MAC地址转换为对应的MAC地址。
优选地,所述主机标识为该主机的IP地址;所述网络设备还包括ARP监听单元,连接VPN用户接口单元、MAC存储单元和MAC地址转换单元,用来在上行报文中识别出ARP报文,将ARP报文中的源MAC地址与源IP地址的对应关系写入MAC存储单元,并将该ARP报文输出到MAC地址转换单元。
可选地,所述VPN Site中主机标识为该主机所在的虚拟局域网标识VLAN ID。
本发明所述的第三种网络设备包括第一端口组,包括至少一个端口,连接至少一个区域网络;第二端口组,包括至少一个端口,连接所述区域网络的外部网络;交换单元,对来自第一端口组、以第二端口组为出口的报文,将其中所述区域网络中通信节点的MAC地址替换为虚拟MAC地址后,从第二端口组转发。
优选地,所述交换单元对来自第二端口组,以第一端口组为出口的报文,将其中的虚拟MAC地址替换为具有该报文目的网络层地址的通信节点的MAC地址后,从第一端口组转发。
优选地,所述网络设备还包括地址映射存储单元,连接交换单元,用来存储区域网络中通信节点的网络层地址与MAC地址的对应关系。
优选地,所述网络层地址为IP地址;
所述网络设备还包括ARP单元,用来根据来自第一端口组的ARP报文生成IP地址与MAC地址的对应关系,存入地址映射存储单元。
本发明通过将链路层网络划分为以边界设备连接起来的区域网络和外部网络,区域网络中通信节点在向外部网络发送报文时统一采用区域网络的虚拟MAC地址,在接收外部网络的报文时根据报文中的网络层地址找到对应的目的通信节点,使得该区域网络内的MAC地址仅仅在其内部学习和传播,而在外部网络中对该区域网络只需要学习一个虚拟MAC地址,从而有效地限制了学习MAC地址的数量,节省了链路层设备的MAC表资源,避免因链路层网络的规模影响网络的性能。


图1为VPLS组网结构示意图;图2为跨城域网的VPN连接结构示意图;图3为本发明第一实施例中所述链路层通信方法的流程图;图4为本发明第二实施例中所述网络设备的第一种结构图;图5为本发明第二实施例中所述网络设备的第二种结构图;图6为本发明第三实施例中所述链路层通信方法的流程图;图7为本发明第五实施例中所述网络设备的结构图;图8为本发明应用示例一中MAC地址转换示意图;图9为本发明应用示例二的网络结构图;图10为本发明应用示例三的网络结构图。
具体实施例方式
在VPLS的组网结构中,整个链路层网络中,大量的通信节点主要分布在各个Site中,而各个Site到服务商网络的连接设备,即CE或PE设备的数量却相当少,通常只有一个。因此,各个Site与该Site外部的链路层网络节点的通信必须经过数量极少的连接设备来转发,这样的网络结构使得将Site内通信节点MAC地址的传播和学习限制在Site内部成为可能。
对在某个连接设备上向Site的外部网络转发的所有报文,如果将其中的源MAC地址映射为统一的MAC地址,则对该Site的外部网络中的网络设备而言,只需要学习这个统一的MAC地址即可将报文发送至该连接设备,再由该连接设备转发至Site内部的通信节点。将此方法应用于VPLS的各个Site,可以极大地降低VPLS中网络设备所需要的MAC地址数量。
事实上,现有的链路层网络通常都采用两级或多级交换机级联的组网结构,把每一个交换机所连接的下级交换机和/或网络节点看成是该链路层网络中的一个区域,这些区域到链路层网络其他部分的连接都需要通过该交换机来进行,因此也可以以区域为单位进行MAC地址的多到一映射,以将MAC地址的学习和传播隔离开来。同时,这样的区域可以由用户根据需要自己定义其范围。
适用MAC地址多到一映射方法的组网可以抽象为如下的网络结构一个链路层网络划分为两个部分,一个部分称之为区域网络,另一个部分位于该区域网络的外部,称之为外部网络;区域网络和外部网络之间通过至少一个边界设备实现链路层连接。边界设备可以属于区域网络,也可以属于外部网络。
不难理解,在同一个链路层网络中,一种划分方式形成的外部网络中可能包括以另一种划分方式形成的另一个区域网络,而另一种划分方式形成的外部网络中则包括这种划分方式下的区域网络。例如,图2中的链路层网络中,以CE 231和Site 241为区域网络时,服务提供商的网络、CE 232和Site242则构成了外部网络;而当以CE 232和Site 242为区域网络时,CE 231和Site 241则位于其外部网络中。
第一实施例中,本发明所述区域网络的链路层通信方法的流程如图3所示。在步骤S310,设置区域网络的虚拟MAC地址。区域网络的虚拟MAC地址在由区域网络和外部网络构成的链路层网络的范围内具有唯一性。
可以为区域网络设置超过1个的虚拟MAC地址,其实现与只设置1个虚拟MAC地址并无不同。当然,用户可以根据实际网络运行情况的需要决定如何使用超过1个的虚拟MAC地址。
在步骤S320,建立区域网络内通信节点的MAC地址与其节点标识的对应关系。
在报文由区域网络发送至外部网络的过程中,进行的是MAC地址的多到一映射,以使外部网络中的网络设备能够以一个统一的MAC地址标识区域网络中的各个通信节点。而相应地,外部网络也只会使用这个统一的MAC地址来向区域网络中的各个通信节点发送报文。外部网络发送的报文可以根据统一的MAC地址到达边界设备,而边界设备也可以由某种机制进行MAC地址的一到多逆映射,找到这个报文在区域网络内真正的目的通信节点。
为了使MAC地址的映射和逆映射过程对外部网络透明,最佳选择是采用在报文的现有报头字段中的目的网络层地址作为目的通信节点的标识来进行逆映射。网络层地址本来就是用来标识目的通信节点的字段,而且在链路层通信中不会被改写。
在一些链路层网络中,通信节点的部分网络层地址在区域网络的范围内即具有唯一性,可以用来作为节点标识。例如在IP(Internet Protocol,互联网协议)的链路层网络中,IP地址包括网络号/子网号和主机号两部分,而其中的主机号即可在区域网络中作为节点标识。
另外,经过映射的传输层标志也可以作为节点标识,具体映射方法请参见RFC(Recommended For Comment)1631和RFC 3022,只需将映射后的传输层标志与网络层地址的对应关系修改为与MAC地址的对应关系即可。
建立区域网络内通信节点的MAC地址与其节点标识的对应关系的方法可以根据所采用的节点标识、通信协议来由用户具体设定。
在步骤S330,在将来自区域网络的报文转发至外部网络前,边界设备将报文中区域网络内通信节点的MAC地址替换为该区域网络的虚拟MAC地址。在具有超过一个虚拟MAC地址的情况下,可以任意选择一个虚拟MAC地址来进行替换。当然,用户也可以根据需要自行决定如何将通信节点的MAC地址转换为这些虚拟MAC地址。
由于网络设备是通过报文中的源MAC地址来进行MAC地址学习,这样对外部网络中的网络设备而言,从区域网络内的各个通信节点发送的报文中都只能学习到区域网络的同一个虚拟MAC地址。
在步骤S340,在将来自外部网络的报文转发至区域网络前,根据在步骤S320中建立的通信节点的MAC地址与节点标识的对应关系,边界设备查找到对应的MAC地址,将报文中该区域网络的虚拟MAC地址替换为查找到的MAC地址。
通过上述方法,区域网络内通信节点的MAC地址得到有效隔离。
当网络层协议为IP协议时,可以以其网络层地址作为节点标识,并利用其地址解析过程来建立区域网络内通信节点的MAC地址与其IP地址的对应关系。
在区域网络内的通信节点A与外部网络中的通信节点B进行通信前,会先发送ARP(Address Resolution Protocol,地址解析协议)报文来获得通信节点B的MAC地址。
设通信节点A的MAC地址为MAC_A、IP地址为IP_A,通信节点B的IP地址为IP_B,设区域网络的虚拟MAC地址为SV_MAC,则当边界设备接收到通信节点A发送的APR报文的格式如下表所示

上表中,前三个字段为ARP报文的报头字段,其中广播/单播MAC为该ARP报文的目的MAC地址;MAC_A为该ARP报文的源MAC地址;0X0806为帧类型,表明本报文为ARP报文。后续字段构成ARP报文的报文体,其中MAC_A为发出ARP请求的通信节点的MAC地址,即ARP请求源的MAC地址;IP_A为发出ARP请求的通信节点的IP地址;0/单播MAC地址为该报文要解析的IP地址对应的MAC地址,在请求进行IP地址解析的APR报文中为0;IP_B为该报文要解析的IP地址。
当边界设备接收到通信节点A发送的APR报文后,将ARP报文体中MAC_A与IP_A的对应关系记录下来,这样,通过在边界设备上侦听ARP报文即可自动生成区域网络内通信节点的MAC地址与IP地址的对应关系。
在记录完MAC地址与IP地址的对应关系后,边界设备用区域网络的虚拟MAC地址SV_MAC替换ARP报文中的MAC_A,既替换ARP报头中的源MAC地址字段中的MAC_A,也替换ARP报文体中的请求源MAC地址字段中的MAC_A。在替换完成后,边界设备向外部网络转发的ARP报文的格式如下表

该ARP报文在外部网络中传输至通信节点B,传输过程中经过的节点和通信节点B从该报文中学习到通信节点A的MAC地址即是SV_MAC而不是MAC_A。这样,这些节点以后向通信节点A发送报文时,就会使用SV_MAC作为目的MAC地址。同理,外部网络中的节点在和区域网络中的其他通信节点传输报文的过程中,也只会学习到SV_MAC一个MAC地址。
另外,还可以通过免费ARP报文来获得区域网络内通信节点的MAC地址与其IP地址的对应关系。在通信节点上配置了免费ARP广播后,当通信节点获得IP地址或上电启动后,会主动发送免费ARP报文。免费ARP报文利用广播方式请求解析发送者自己的IP地址,在报文中源IP地址和目的IP地址是相同的,而且已经填写了发送者自己的源和目的MAC地址。边界设备通过侦听免费ARP报文,即可得到区域网络内通信节点MAC地址与其IP地址的对应关系。并且,边界设备不向外部网络转发免费ARP报文。
当区域网络通过超过一个边界设备与外部网络在链路层连接时,由于通信节点可能通过不同的边界设备进行与外部网络的通信,在这种情况下通过侦听免费ARP报文可以使每个边界设备上都维护一份完整的区域网络内通信节点MAC地址与其IP地址的对应关系。
请参见图1,如前所述,Site_1、Site_2、Site_4和Site_6包括在一个VPN中,而区域Site_3和Site_5包括在另一个VPN中。如果将Site_1和与之连接的CE作为一个区域网络,则Site_2、Site_4、Site_6和与其连接的CE、以及服务提供商网络的PE和P构成了该区域网络的外部网络;如果将Site_3和与之连接的CE作为另一个区域网络,则Site_5和与其连接的CE、以及服务提供商网络的PE和P构成了另一个区域网络的外部网络。这两个区域网络可以分别采用与Site_1连接的CE、与Site_3连接的CE作为各自的边界设备,也可以采用将Site_1和Site_3接入服务提供商网络的PE同时作为这两个区域网络的边界设备。
当一个网络设备用作边界设备时,将至少一个区域网络与对应于该区域网络的外部网络在链路层实现互通。在本发明第二实施例中,这样的网络设备所具有的结构参见图4,地址转换单元420分别与区域网络单元410、存储单元430、外部网络接口单元440连接。
区域网络接口单元410连接区域网络中的通信节点,与区域网络中的通信节点进行链路层报文转发。外部网络接口单元440连接外部网络中的通信节点,与外部网络中的节点进行链路层报文转发。存储单元430中存储与网络设备连接的区域网络的至少一个虚拟MAC地址,和这些区域网络中通信节点的MAC地址与其节点标识的对应关系。区域网络的虚拟MAC地址在该区域网络和对应于该区域网络的外部网络中是唯一的。
区域网络接口单元410将区域网络中通信节点发送的以外部网络接口单元440为出接口的报文输出至地址转换单元420,地址转换单元420将报文内该区域网络中通信节点的MAC地址替换为存储单元430中该区域网络的虚拟MAC地址,并将地址替换后的报文输出至外部网络接口单元440,由其转发至外部网络。
在连接超过一个的区域网络时,地址转换单元420要根据报文来源于哪个区域网络,而将区域网络中通信节点的MAC替换为该区域网络的虚拟MAC地址。而不同的区域网络可以具有相同的虚拟MAC地址,只要该MAC地址能够满足在各个区域网络及其外部网络中的唯一性即可。
外部网络接口单元440将外部网络发送的以区域网络接口单元410为出接口的报文输出至地址转换单元420,根据存储单元420中存储的节点标识与通信节点MAC地址的对应关系,地址转换单元420查找到对应的MAC地址,将报文中区域网络的虚拟MAC地址替换为查找出的MAC地址,并将地址替换后的报文输出至区域网络接口单元410,由其转发至区域网络中的目的通信节点。
在连接超过一个的区域网络时,地址转换单元420可以根据报文中虚拟MAC地址属于哪个区域网络,而在该区域网络的MAC地址与节点标识的对应关系中查找对应的MAC地址。
对采用IP协议工作的网络设备,可以以IP地址作为节点标识,通过以下两种方式利用IP协议的地址解析过程生成存储单元430中存储的MAC地址与IP地址的对应关系一种如图4所示,增加ARP侦听单元450,分别连接至区域网络接口单元410、地址转换单元420和存储单元430,在区域网络接口单元410输出的以外部网络接口单元440为出接口的报文中识别出ARP报文,提取出ARP报文中的源MAC地址和源IP地址,将其对应关系写入存储单元430,再将ARP报文输出至地址转换单元420。对区域网络接口单元410输出的其他报文和地址转换单元420输出至区域网络接口单元410的报文,ARP侦听单元450不做处理。
另一种如图5所示,增加免费ARP侦听单元460,这种方式需要在区域网络中配置免费ARP广播特性。免费ARP侦听单元460分别连接至区域网络接口单元410和存储单元430,在区域网络接口单元410输出的报文中识别出免费ARP报文,提取出免费ARP报文中的源MAC地址和源IP地址,将其对应关系写入存储单元430。
在第三实施例中,本发明所述链路层通信方法的流程如图6所示。在步骤S610,在边界设备上设置至少一个虚拟MAC地址。
在步骤S620,区域网络中通信节点发送的以外部网络为出口的报文到达边界设备。
在步骤S630,边界设备将以外部网络为出口的报文中区域网络内通信节点的MAC地址替换为虚拟MAC地址。区域网络内通信节点的MAC地址不仅会出现该报文的链路层报头中,也可能出现在链路层载荷中。
当在边界设备上设置了超过一个的MAC地址时,用户可以自行定义区域网络内通信节点的MAC地址到这些虚拟MAC地址的转换规则,边界设备根据这样的转换规则来进行通信节点的MAC地址到虚拟MAC地址的转换。
在步骤S640,边界设备向外部网络转发MAC地址修改后的该报文。
经过步骤S610至步骤S640,区域网络内部通信节点的MAC地址已经被边界设备隔离在区域网络内部。
在步骤S650,外部网络发送的以区域网络为出口的报文达到边界设备。
在步骤S660,边界设备将以区域网络为出口的报文中的虚拟MAC地址替换为具有该报文目的网络层地址的通信节点的MAC地址。
通常在边界设备中,有将区域网络中通信节点的网络层地址对应于MAC地址的地址解析表,边界设备可以根据此表和报文中的目的网络层地址得到对应的MAC地址。如果在该表中没有目的网络层地址的表项,则可利用现有的地址解析方法对报文中的目的网络层地址进行解析,从而得到目的通信节点的MAC地址。例如,运行IP协议的边界设备上的ARP表中存有MAC地址与IP地址的对应关系,而通过ARP地址解析过程得到与目的MAC地址对应的MAC地址在IP协议中应用非常普遍。
在步骤S670,边界设备向区域网络转发修改MAC地址后的该报文。
本发明的第四实施例为连接至少一个区域网络和每个区域网络的外部网络的网络设备。当该网络设备作为边界设备连接超过一个区域网络时,这些区域网络的外部网络有可能包括相同的通信节点。
该网络设备包括第一端口组和第二端口组,以及连接在第一端口组和第二端口组之间的交换单元。第一端口组和第二端口组中的端口数量均为至少一个,其中第一端口组用来连接一个或多个区域网络,第二端口组用来连接这些区域网络的外部网络。
当第一端口组接收到以第二端口组为出口的报文时,将报文传输至交换单元。交换单元将报文中第一端口组所连接的区域网络中通信节点的MAC地址替换为虚拟MAC地址后,从第二端口组转发至外部网络。
当第二端口组接收到以第一端口组为出口的报文时,将报文传输至交换单元。交换单元将报文中的虚拟MAC地址替换为具有该报文目的网络层地址的通信节点的MAC地址后,从第一端口组转发至区域网络。
交换单元可以在地址解析表项中查找与目的网络层地址对应的MAC地址,也可以通过地址解析过程获得该MAC地址。
另外,还可以通过在网络设备中增加地址映射存储单元,与交换单元连接,在其中存储区域网络中通信节点的网络层地址与其MAC地址的对应关系,这样交换单元在接收到以第一端口组为出口的报文时,可以在地址映射存储单元中查找到与该报文的目的网络层地址对应的MAC地址。
当本实施例中的网络设备运行IP协议时,通信节点的网络层地址为IP地址,在网络设备中增加ARP单元,根据来自第一端口组的ARP报文生成IP地址与MAC地址的对应关系,存入地址映射存储单元。如何根据ARP报文生成IP地址与MAC地址的对应关系在第一和第二实施例中已有详细说明,此处不再重复。
本发明第五实施例中的网络设备位于运营商网络边缘,用来为至少一个VPN的Site提供服务。例如,该网络设备可以是图1中的各个PE。本实施例中网络设备的结构如图7所示,MAC地址转换单元720分别与VPN用户接口单元710、MAC存储单元730、运营商网络接口单元740连接。
VPN用户接口单元710外接至一个或多个VPN的Site,与这些Site中的主机进行链路层报文转发。
运营商网络接口单元740外接运营商网络,与运营商网络内的其他设备进行链路层报文转发。
在MAC存储单元730中存储为本实施例中网络设备设置的虚拟MAC地址,此虚拟MAC地址在运营商网络中是唯一的。MAC存储单元730还用来存储与VPN Site中的主机MAC地址对应的主机标识,此主机标识可以在其所在的VPN中唯一地表明该主机的身份。
将VPN用户接口单元710接收的、来自VPN Site以运营商网络接口单元740为出口的报文称为上行报文,将运营商网络接口单元740接收的、以VPN用户接口单元710为出口的报文称为下行报文,则对上行报文,MAC地址转换单元720将其中的Site内主机的MAC地址转换为虚拟MAC地址;对下行报文,MAC地址转换单元720根据MAC地址与主机标识的对应关系,将下行报文中的虚拟MAC地址转换为对应的MAC地址。
对Site内主机标识的选择、MAC存储单元730中主机MAC地址与主机标识对应关系的建立等,本实施例中均可用采用与第一实施例中相同的方法,此处不再重复。
当VPN用户接口单元710所连接的某个Site中每个主机分别属于不同的VLAN时,也可以用VLAN ID(虚拟局域网标识)作为其主机标识。
当本实施例中的网络设备运行IP协议时,可以将VPN Site内主机的IP地址作为主机标识。此时,可以通过ARP地址解析过程生成MAC存储单元730中IP地址与MAC地址的对应关系。在上述结构中增加ARP监听单元750,分别连接至VPN用户接口单元710、MAC存储单元730和MAC地址转换单元720。ARP监听单元750在上行报文中识别出ARP报文,将ARP报文中的源MAC地址与源IP地址的对应关系写入MAC存储单元730,并将该ARP报文输出到MAC地址转换单元720。
与第二实施例、第四实施例相同,虚拟MAC地址可以是一个以上,并且,不同的Site可以使用同一个虚拟MAC地址。
以下举例说明本发明的具体应用。
在应用示例一中,在图2所示的网络结构中实施本发明。以CE 231和Site241为第一个区域网络,设其虚拟MAC地址为SVMAC_1,以CE 231为边界设备;以CE 232和Site 242为第二个区域网络,设其虚拟MAC地址为SVMAC_2,以CE 232为边界设备;在第一个区域网络和第二个区域网络中分别应用本发明,设Site 241中的PC 251和Site 242中的PC 253的MAC地址分别为MAC_251和MAC_253,则当PC 251和PC 253通信时,报文中的MAC地址转换过程如图8所示。
PC 251以MAC_251为源MAC地址,以SVMAC_2为目的MAC地址向PC 253发送报文,当报文到达时CE 231时,MAC_251被替换为SVMAC_1;报文以SVMAC_1为源MAC地址,以SVMAC_2为目的MAC地址由CE 231发送至CE 232;报文到达CE 232时,SVMAC_2被替换为PC 253的实际地址MAC_253;报文以SVMAC_1源MAC地址,以MAC_253为目的MAC地址由CE 232发送至PC 253。当PC 253向PC 251发送报文时,则经历逆向的地址替换过程,此处不再赘述。
本应用示例中,每个应用本发明的区域网络对其外部网络而言,只有一个虚拟MAC地址需要学习,区域网络的内部MAC地址的学习被限制在区域网络的内部。
本发明的应用示例二以图9所示的网络为应用环境。在图9中的链路层网络中,三个边缘区域分别通过三个BL(Border Linker,边界连接器)接入骨干区域,三个边缘区域和骨干区域内的所有节点在链路层互通。对三个边缘区域而言,必须通过BL来连通其他的区域。将每个边缘区域作为一个区域网络应用本发明,以将其接入骨干区域的BL作为边界设备。
假设骨干区域中除3个边界设备BL外有N1个通信节点,每个边缘区域中都有N2个通信节点,在应用本发明前,该链路层网络中的网络设备需要学习(N1+3*N2+2)个MAC地址;而应用本发明后,边界设备BL和边缘区域内的网络设备只需要学习(N1+N2+2)个MAC地址,骨干区域内的其他网络设备只需要学习(N1+5)个MAC地址。可见,本发明对减少链路层网络中网络设备需要学习的MAC地址数量有显著的效果。
在应用示例三中,本发明应用于图10中的区域网络。区域网络通过超过一个边界设备与外部网络连接,且区域网络中的通信节点只能通过边界设备与外部网络进行链路层通信。在为区域网络设置了虚拟MAC地址后,只要在每个边界设备上都进行本发明中的地址转换过程,则区域网络内部的MAC地址学习同样可以限制在区域网络内。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
权利要求
1.一种区域网络的链路层通信方法,用以通过至少一个边界设备实现所述区域网络内的多个通信节点与外部网络在链路层的互通,其特征在于,包括以下步骤为区域网络设置虚拟媒介接入控制MAC地址;建立区域网络中通信节点的MAC地址与其节点标识的对应关系;边界设备向外部网络转发报文前,将报文内该区域网络中通信节点的MAC地址替换为其虚拟MAC地址;边界设备接收到目的地址中包括虚拟MAC地址的报文时,根据通信节点的MAC地址与节点标识的对应关系,将虚拟MAC地址替换为对应的MAC地址后转发该报文。
2.如权利要求1所述区域网络的链路层通信方法,其特征在于所述节点标识为通信节点的网络层地址。
3.如权利要求2所述区域网络的链路层通信方法,其特征在于所述网络层地址为IP地址;所述建立区域网络中通信节点的MAC地址与其节点标识的对应关系具体为在边界设备向外部网络转发地址解析协议ARP报文前,记录该ARP报文中源MAC地址与源IP地址的对应关系。
4.如权利要求3所述区域网络的链路层通信方法,其特征在于对向外部网络转发的ARP报文,边界设备以虚拟MAC地址替换的报文中的MAC地址包括ARP报头中的源MAC地址和ARP报文体中的请求源MAC地址。
5.如权利要求2所述区域网络的链路层通信方法,其特征在于所述网络层地址为IP地址;所述建立区域网络中通信节点的MAC地址与其节点标识的对应关系具体为配置区域网络中的通信节点进行免费ARP广播;边界设备记录接收到的免费ARP报文中源MAC地址与源IP地址的对应关系。
6.如权利要求1至5任意一项所述区域网络的链路层通信方法,其特征在于所述区域网络包括虚拟私有局域网服务VPLS的区域Site和该Site的用户边界设备CE;所述外部网络包括VPLS的服务提供商边界设备PE和与所述区域网络在同一个虚拟私有网络VPN中的至少一个Site;所述边界设备为CE或PE。
7.如权利要求1至5任意一项所述区域网络的链路层通信方法,其特征在于所述区域网络包括一个链路层网络中的部分通信节点,所述外部网络包括该链路层网络中区域网络之外的通信节点,区域网络中的通信节点能且只能通过边界设备与外部网络进行链路层通信。
8.一种网络设备,将至少一个区域网络与其外部网络在链路层连接起来,其特征在于,包括区域网络接口单元、存储单元、地址转换单元和外部网络接口单元,其中区域网络接口单元用来与区域网络中的通信节点进行链路层报文转发;外部网络接口单元用来与外部网络进行链路层报文转发;存储单元用来存储所连接区域网络的虚拟MAC地址,以及该区域网络中通信节点的MAC地址与其节点标识的对应关系;地址转换单元用来将以外部网络接口单元为出接口的报文内该区域网络中通信节点的MAC地址转换为虚拟MAC地址,以及根据通信节点的MAC地址与节点标识的对应关系,将以区域网络接口单元为出接口的报文中的虚拟MAC地址转换为对应的MAC地址。
9.如权利要求8所述的网络设备,其特征在于所述节点标识为通信节点的网络层地址;所述网络层地址为IP地址;所述网络设备还包括ARP侦听单元,连接区域网络接口单元、存储单元和地址转换单元,用来在以外部网络接口单元为出接口的报文中识别出来自该区域网络的ARP报文,将ARP报文中的源MAC地址与源IP地址的对应关系写入存储单元,并将该ARP报文输出到地址转换单元。
10.如权利要求8所述的网络设备,其特征在于所述节点标识为通信节点的网络层地址;所述网络层地址为IP地址;所述网络设备还包括ARP侦听单元,用来识别来自区域网络接口单元的免费ARP报文,将免费ARP报文中的源MAC地址与源IP地址的对应关系写入存储单元。
11.一种区域网络的链路层通信方法,用以通过至少一个边界设备实现所述区域网络内的多个通信节点与外部网络在链路层的互通,其特征在于,包括以下步骤在所述边界设备上设置至少一个虚拟MAC地址;区域网络发送往外部网络的报文到达边界设备;边界设备将该报文中区域网络内通信节点的MAC地址修改为虚拟MAC地址,并转发该报文。
12.如权利要求11所述区域网络的链路层通信方法,其特征在于,所述方法还包括外部网络发送至区域网络的报文达到边界设备;边界设备将所述报文中的虚拟MAC地址修改为具有所述报文目的网络层地址的通信节点的MAC地址,并转发所述报文。
13.如权利要求12所述区域网络的链路层通信方法,其特征在于所述目的网络层地址为目的IP地址;所述方法还包括通过查找边界设备的ARP表或进行ARP解析过程得到具有所述目的IP地址的通信节点的MAC地址。
14.如权利要求11至13任意一项所述区域网络的链路层通信方法,其特征在于,当具有超过一个虚拟MAC地址时,所述边界设备将通信节点的MAC地址修改为虚拟MAC地址具体为边界设备根据通信节点的MAC地址与虚拟MAC地址的转换规则,将区域网络内通信节点的MAC地址转换为虚拟MAC地址。
15.一种网络设备,位于运营商网络边缘用以为至少一个虚拟专用网VPN的区域Site提供服务,其特征在于,包括VPN用户接口单元,用来与VPN Site中的主机进行链路层报文转发;运营商网络接口单元,用来与运营商网络内的其他设备进行链路层报文转发;MAC存储单元,用来存储在运营商网络内具有唯一性的虚拟MAC地址,以及与VPN Site中的主机MAC地址对应并可表示该主机在该VPN中唯一身份的主机标识;MAC地址转换单元,用来将VPN Site上行报文内的Site中主机的MAC地址转换为虚拟MAC地址,并根据MAC地址与主机标识的对应关系,将下行报文中的虚拟MAC地址转换为对应的MAC地址。
16.如权利要求15所述的网络设备,其特征在于所述主机标识为该主机的IP地址;所述网络设备还包括ARP监听单元,连接VPN用户接口单元、MAC存储单元和MAC地址转换单元,用来在上行报文中识别出ARP报文,将ARP报文中的源MAC地址与源IP地址的对应关系写入MAC存储单元,并将该ARP报文输出到MAC地址转换单元。
17.如权利要求15或16所述的网络设备,其特征在于所述VPN Site中主机标识为该主机所在的虚拟局域网标识VLAN ID。
18.一种网络设备,其特征在于,包括第一端口组,包括至少一个端口,连接至少一个区域网络;第二端口组,包括至少一个端口,连接所述区域网络的外部网络;交换单元,对来自第一端口组、以第二端口组为出口的报文,将其中所述区域网络中通信节点的MAC地址替换为虚拟MAC地址后,从第二端口组转发。
19.如权利要求18所述的网络设备,其特征在于所述交换单元对来自第二端口组,以第一端口组为出口的报文,将其中的虚拟MAC地址替换为具有该报文目的网络层地址的通信节点的MAC地址后,从第一端口组转发。
20.如权利要求19所述的网络设备,其特征在于所述网络设备还包括地址映射存储单元,用来存储区域网络中通信节点的网络层地址与MAC地址的对应关系;所述交换单元根据地址映射存储单元存储的对应关系,获得与以第一端口组为出口的报文中目的网络层地址相对应的MAC地址。
21.如权利要求20所述的网络设备,其特征在于所述网络层地址为IP地址;所述网络设备还包括ARP单元,用来根据来自第一端口组的ARP报文生成IP地址与MAC地址的对应关系,存入地址映射存储单元。
全文摘要
本发明公开了一种区域网络的链路层通信方法,包括为区域网络设置虚拟MAC地址;建立区域网络中通信节点的MAC地址与其节点标识的对应关系;边界设备向外部网络转发报文前,将报文内该区域网络中通信节点的MAC地址替换为其虚拟MAC地址;边界设备接收到目的地址中包括虚拟MAC地址的报文时,根据通信节点的MAC地址与节点标识的对应关系,将虚拟MAC地址替换为对应的MAC地址后转发该报文。本发明使得区域网络内的MAC地址仅仅在其内部学习和传播,从而有效地限制了MAC地址的数量,节省了链路层设备的MAC表资源,避免因链路层网络的规模影响网络的性能。
文档编号H04L12/46GK1968184SQ20051012364
公开日2007年5月23日 申请日期2005年11月18日 优先权日2005年11月18日
发明者王飓 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1