第2层虚拟专用网络中继系统的利记博彩app

文档序号:7929755阅读:228来源:国知局
专利名称:第2层虚拟专用网络中继系统的利记博彩app
技术领域
本发明涉及一种通过一个公用网络的VPN(Virtual Private Network,虚拟专用网络)中继系统。
背景技术
近来,一个企业等已经越来越多地通过经由因特网连接跨国家分散的基站来构成一个虚拟网络(VPN)。随着这个趋势,提供VPN连接服务的电信公司网络/供应商网络的数目一直在增加。
当前有两种VPN连接形式一种其中使用第3层来连接基站的形式(在下文中称作一个“第3层-VPN”),和一种其中使用第2层来连接基站的形式(在下文中称作一个“第2层-VPN”)。
在一个第3层-VPN中,使用一个第3层来连接基站,而在一个第2层-VPN中,使用一个第2层来连接基站。
在一个第2层-VPN中,由于基站可以被连接而无需把协议限制为一个在一个VPN内使用的第3层协议,所以和一个第3层-VPN网络相比可以构成一个更加灵活的虚拟网络。因此,可以预见,电信公司/供应商对一个第2层-VPN的需要、以及对一种用于在IP网络或MPLS网络中实现一个高速第2层-VPN的技术的需要在将来将会增加,其中IP网络或MPLS网络都是用于现有因特网的基础结构。
用于允许一个第2层-VPN的现有技术描述如下。
-L2TP(第2层嵌套协议)(Layer 2 Tunneling Protocol)
L2TP是一种其中可以通过由一个PPP/L2TP/UDP的首部封装一个帧来在一个IP网络中构成一个VPN的协议。由于PPP是一种其中各种第3层帧和一MAC帧可以被封装的协议,所以可以通过使用这个协议实现一个第2层-VPN。
然而,由于L2TP需要一个复杂的过程,例如,L2TP需要序列号管理,所以不推荐把L2TP应用到一个用于一个电信公司/供应商等的高速网络。
-使用第2层-交换机的VLAN(Virtual LAN,虚拟局域网)配置VLAN是一种其中可以通过由一个VLAN的首部封装一个帧和在该首部中插入一个作为用于标识VLAN的标识符的VID来把一个VPN分成各个LAN的协议。可以通过使用这个协议实现一个第2层-VPN。
然而,由于VLAN在一个比IP更低级的层中操作,所以VLAN不能被使用在一个IP中。
-LANE(LAN仿真)LANE是一种用于在一个ATM中仿真一个LAN的技术。然而,由于LANE仅仅在一个ATM中操作,所以LANE不能被应用于由一个不同于ATM的网络构成的一个电信公司网络。
如上所述,上面所述的协议中没有一个可以在一个由MPLS(Multi-Protocol Label Switching,多协议标签交换)或一个IP构成的电信公司网络中实现一个高速的第2层-VPN。特别地,由于因为一个复杂过程使得一个L2TP不能以高速操作、并且在VLAN(如下所述的VLAN是一个在IEEE802.1Q中规定的VLAN协议)或LANE中在一个比IP层更低级的层中操作,所以不能通过利用一个IP网络的协议来构成一个VPN。

发明内容
本发明的一个目的是实现一个用于在由IP或MPLS构成的一个网络中使用一个第2层来以高速连接多个站点的VPN。
本发明中的中继系统通过经由一个公用网络连接第一和第二个第2层网络来构成一个VPN。该系统包括一个连接建立单元,通过把第一个第2层网络与第二个第2层网络相关来建立一个MPLS连接;一个存储单元,存储在连接到该系统的第一个第2层网络和该MPLS连接之间的对应关系;一个发送单元,在从第一个第2层网络接收到一帧时从存储单元获得一个MPLS连接,并把该帧发送到MPLS连接;以及一个广播单元,用于当对应于从第一个第2层网络接收的帧的一个MPLS连接没有被存储在存储单元中时,广播该帧。
根据本发明,由于使用了一个MPLS而且中继所需的处理数目被最小化,所以可以构成一个能使用一个MPLS中继设备(MPLS中继设备是用于IP中继的基础设施)的VPN中继系统,其中MPLS是一种作为与一个IP协议兼容的方法在市场上已被接受的协议,用于提高IP中继速度,IP协议是一个因特网协议。


图1显示了在本发明第一个优选实施例中的第2层-VPN实现设备和边沿节点的配置(No.1);图2显示了在本发明第一个优选实施例中的第2层-VPN实现设备和边沿节点的配置(No.2);图3显示了在本发明第二个优选实施例中的第2层-VPN实现设备和边沿节点的配置(No.1);图4显示了在本发明第二个优选实施例中的第2层-VPN实现设备和边沿节点的配置(No.2);图5显示了本发明优选实施例中的获悉功能(learning function)(No.1);图6显示了本发明优选实施例中的获悉功能(No.2);图7显示了本发明优选实施例中的获悉功能(No.3);图8显示了本发明优选实施例中的获悉功能(No.4);图9显示了本发明优选实施例中的获悉功能(No.5);
图10显示了本发明优选实施例中的获悉功能(No.6);图11显示了本发明优选实施例中的获悉功能(No.7);图12显示了第一个优选实施例中的一个特定示例(No.1);图13显示了第一个优选实施例中的一个特定示例(No.2);图14显示了第一个优选实施例中的一个特定示例(No.3);图15显示了第一个优选实施例中的一个特定示例(No.4);图16显示了第一个优选实施例中的一个特定示例(No.5);图17显示了第一个优选实施例中的一个特定示例(No.6);图18显示了第一个优选实施例中的一个特定示例(No.7);图19显示了第一个优选实施例中的一个特定示例(No.8);图20显示了第一个优选实施例中的一个特定示例(No.9);图21显示了第一个优选实施例中的一个特定示例(No.10);图22显示了第一个优选实施例中的一个特定示例(No.11);图23显示了第一个优选实施例中的一个特定示例(No.12);图24是一个序列图表,显示了用于在第一个优选实施例的特定示例中建立一个LSP的过程;图25是一个显示了帧转发的序列图表(No.1);图26是一个显示了帧转发的序列图表(No.2);图27显示了当建立一个VPN连接LSP 20时将在一个转发面(forwardingplane)上生成的一个标签表10;图28显示了生成一个控制面(control plane)的一个LSP反向转换表25;图29显示了被建立以构成如图12所示的VPN的边沿-连接LSP1和VPN-连接LSP 20;图30是一个序列图表,显示了用于在第二个优选实施例的特定示例中建立一个LSP的过程;图31是一个显示了帧转发的序列图表(No.1);
图32是一个显示了帧转发的序列图表(No.2);图33是一个序列图表,显示了用于在第三个优选实施例的特定示例中建立一个LSP的过程;图34是一个显示了帧转发的序列图表(No.1);以及图35是一个显示了帧转发的序列图表(No.2)。
具体实施例方式
在下面的说明书中,一个在由一个IP或MPLS构成的网络中以高速连接多个站点的VPN被称作一个“第2层-VPN”。
在下面的说明书中,假定像如图1所示的边沿节点(1)那样,一个边沿节点包括一个交换结构以及一个或多个容纳一个端口的端口容纳单元(portaccomodation unit),而且各个容纳单元连接到交换结构。连接到一个用户网络(专用网络)的一个端口容纳单元和连接到一个MPLS网络的一个端口容纳单元分别被称作一个“线路容纳单元”和一个“MPLS网络容纳单元”。
图1和2显示了在本发明第一个优选实施例中的第2层-VPN实现设备和边沿节点的配置。
特别地,图1显示了在第2层-VPN中继系统中在一个MPLS网络的边沿节点之间建立的LSP(MPLS连接)。图2显示了如图1所示的边沿节点的基本配置。图2显示了在一个MPLS网络的入口处的一个节点(在下文中简单地称作一个“入口节点”)的配置、和在MPLS网络的出口处的一个节点(在下文中简单地称作一个“出口节点”)的配置,其中该入口节点从一个用户网络中接收一帧,出口节点把从入口节点接收的帧通过MPLS网络中继到一个用户网络。
图1显示了一个其中在分别是入口和出口节点的边沿节点(1)和(2)之间建立一个连接的状态。一个边沿节点包括一个线路容纳单元、一个作为一个用于在线路上进行交换的连接设备的交换结构、和一个MPLS网络容纳单元。在图1中,在边沿节点之间的一个LSP被建立在每个边沿节点的线路容纳单元和另一个边沿节点的输出端口之间。特别地,当建立一个LSP时,每个边沿节点的线路容纳单元被设置为一个发送源,而且另一个边沿节点的端口被指定为一个发送目的地。
作为一条MPLS路径的一个边沿连接LSP1被建立在边沿节点之间,而且作为在一个入口节点的线路容纳单元和一个出口节点的端口之间的一条路径的一个VPN连接LSP4被建立在边沿连接LSP1中。在这种情况下,一个MPLS与作为一个因特网协议的一个IP协议兼容,而且是作为用于提高IP中继速度的方法在市场上被接受了的一个协议。
边沿连接LSP是一个在边沿节点之间相互建立的LSP(MPLS连接)。边沿连接LSP是在所有边沿之间使用一个现有的用于LSP建立的协议、诸如一个LDP(Label Distribution Protocol,标签分配协议)以完全网状(full mesh)而建立的。
如图2所示的边沿节点管理表2管理由每个边沿节点建立的边沿连接LSP1。特别地,边沿管理表2管理一个LSP连接目的地边沿的第3层地址、一个用于一个边沿连接LSP1的发送标签、和有关边沿连接LSP1的信息、诸如一个用于边沿连接LSP的输出端口等。
一个VPN定义表3定义一个属于每个端口(在下文中,一个物理接口或捆绑多个物理接口的一个逻辑接口被称作一个“端口”)的VPN。
如图1所示的VPN连接LSP4被建立在MPLS网络中一个边沿节点的每个线路容纳单元和另一个边沿节点的线路容纳单元中的一个端口之间。
使用如图2所示的VPN管理表5,每个边沿节点管理在属于每个VPN的一个网络中的端口。特别地,每个边沿节点管理在属于每个VPN的一个网络中的所有端口和容纳这些端口的边沿节点的一个第3层地址列表。如果该列表包括另一个边沿节点中的一个端口,则每个边沿节点管理一个用于LSP的、作为有关一个用于该端口的VPN连接LSP4的信息的发送标签。
使用如图2所示的L2路由表6,每个边沿节点管理用于一个具有一个MAC地址(在连接到一个边沿节点的一个专用网络中使用的一个第2层协议的地址)的节点的路由。这个表逻辑上被划分用于每个VPN。如果输出目的地是一个本地端口(一个本地节点的线路容纳单元的端口),则该端口的标识符被登记作为路由信息。如果输出目的地是另一个边沿节点的端口,则有关输出目的地的VPN连接LSP4和边沿连接LSP1的信息(一个发送标签、一个输出端口等)被登记下来。
如图2所示的L2转发单元7检查一帧的一对发送源MAC地址(在下文中被称作“发送源MAC”)和接收端口是否已经被获悉作为一个路由,并且基于一个发送目的地MAC地址(在下文中被称作“发送目的地MAC”)确定一个路由。特别地,当接收到一帧时,单元7从一个VPN定义表3中获得一个对应于接收端口的VPN,并且使用一个发送源MAC从一个用于该VPN的L2路由表6中检索数据。如果检索失败,则单元7判断该路由没有被登记,并且通知一个路由登记单元8该路由未登记。
L2转发单元7进一步使用发送目的地MAC从该表中检索数据,并且获得有关一个输出目的地的信息,特别是一个本地端口或者有关一个输出目的地的VPN连接LSP4/边沿连接LSP1的信息。如果检索失败,则单元7把该帧传送到一个稍后描述的VPN内的广播单元12。
如果输出目的地是一个本地端口,则L2转发单元7把该帧发送到该端口。如果输出目的地是一个LSP,则单元7把该帧传送到一个标签添加单元9。
一个路由登记单元8使用来自于L2转发单元7的路由未登记通知作为一个触发信号,在用于一个对应于该端口的VPN的L2路由表6中登记一对发送源MAC和接收端口作为一个新路由。
此外,路由登记单元8从VPN管理表5中获得容纳一个用于该VPN的端口的所有边沿节点的一个列表,并且向每个边沿节点的路由登记单元8通知VPN的标识符、发送源MAC、接收端口的标识符和边沿节点的第3层地址的一个组合作为一个新路由。
当收到该通知时,每个边沿节点分别从VPN管理表5和边沿节点管理表2中获得有关一个对应于被通知的端口的VPN连接LSP4的信息、和有关一个对应于被通知的第3层地址(IP地址)的边沿连接LSP1的信息,并且在L2路由表6中登记这两个信息。
标签添加单元9基于从L2路由表6中获得的信息把一个标签附加到该帧上。一个标签表10用一个标签、一个发送标签、随后的中继段信息等指定用于每个所接收标签的一个路由和一个中继处理、诸如一帧的标签操作(在下文中,添加/删除/替换被称作一个“标签操作”)。该VPN的出口节点的标签表10还指定一个输出目的地端口和标签删除。
一个标签转发单元11为从一个MPLS网络容纳单元中的一个端口接收的一个帧使用该帧的标签来查看该标签表10,基于所获得的信息执行该帧的标签操作,并且输出该帧到一个输出端口。一个VPN的出口节点依据该表删除该标签。
VPN内的广播单元12把该帧广播到该VPN的除一个接收端口以外的所有端口。特别地,单元12从VPN管理表5中获得在该VPN中的端口的一个列表,同时把该帧广播到用于该VPN的所有本地端口和用于该VPN的另一个边沿节点的端口。当把该帧发送到另一个边沿节点的端口时,单元12还进一步查看边沿节点管理表2,并且获得与输出目的地的VPN连接LSP4和边沿连接LSP1有关的信息。如果输出目的地是一个本地端口,则单元12发送该帧而没有执行其它任何处理。如果输出目的地是一个LSP,则单元12把该帧传送到标签添加单元9。
该帧由现有技术、诸如一个处理器、一个广播服务器等再现。如果使用了一个广播服务器,则该服务器还可以被安装在一个边沿节点的外部。
然而,只有当路由登记单元8没有在L2路由表6中存储所接收的MAC帧的目的地时才执行这个广播。这是因为在这种状态下这个MAC帧应该被发送到哪儿是未知的。因此,在这种情况下,MAC帧被发送到该VPN的所有发送目的地端口。
这个优选实施例假定这样一个网络,在该网络中操作一个现有的IP路由选择协议、诸如BGP、OSPF等、和一个现有的MPLS控制协议、诸如LDP等,而且每个边沿节点可以以一个IP或MPLS相互连接。首先,为帧中继作准备,这个优选实施例中的设备定义了一个VPN,并且在边沿节点之间建立了一个LSP。特别地,执行下列操作。
-现有的LSP建立单元(诸如一个LDP等)建立一个用于相互连接边沿节点的边沿连接LSP1,并且在用于每个连接目的地的边沿节点管理表2中登记有关边沿连接LSP1的信息、诸如一个第3层地址(IP地址)、用于边沿连接LSP1的一个发送标签、一个输出端口等。一个MPLS网络的节点在标签表10中登记用于每个标签的一个路由以及标签操作。
-在把在一个本地节点的线路容纳单元中的每个端口(在下文中被称作一个“本地端口”)与一个VPN相关、并且在VPN定义表3中登记了对应关系之后,每个边沿节点通过规定的协商获得与在由另一个边沿节点容纳的每一个端口和VPN之间的对应关系有关的信息,并且在容纳一个属于该VPN的端口的每个线路容纳单元和属于与由一个本地边沿节点容纳的一个VPN相同的VPN的另一个边沿节点的所有端口之间建立一个LSP(VPN连接LSP4)当建立一个LSP时,每个边沿节点在用于每个VPN的VPN管理表5中登记另一个边沿节点的端口的一个列表、与一个对应于每个端口的VPN连接LSP4有关的信息、和一个本地边沿节点的端口的一个列表。
同时,每个边沿节点生成标签表10,它指定了由另一个边沿节点所建立的VPN连接LSP4中的标签删除。
在如上所述的准备之后,当从一个本地端口接收一帧时,每个边沿节点执行下列帧中继操作。
(1)在使用VPN定义表3识别了一个对应于接收端口的VPN之后,L2转发单元7使用该帧的发送源MAC作为一个关键字从一个用于该VPN的L2路由表6中检索数据。
如果检索成功,则单元7执行过程(2)。
如果检索失败,则单元7通知路由登记单元8该路由未登记。当接收了该通知时,单元8在用于一个对应于该端口的VPN的一个L2路由表6中登记一对发送源MAC和接收端口。同时,单元8从VPN管理表5中获得具有一个属于与该VPN相同的VPN的端口的边沿节点的一个列表,并且向每个边沿节点通知VPN的标识符、发送源MAC、接收端口的标识符、和边沿节点的第3层地址的一个组合作为该VPN的新路由。
当收到该通知时,每个边沿节点基于被通知的内容查看VPN管理表5和边沿节点管理表2,获得有关一个用于该第3层的边沿连接LSP1的信息、并且在用于每个VPN的一个L2路由表21中登记该信息以及被通知的内容。
(2)L2转发单元7进一步使用该帧的发送目的地MAC作为一个关键字从对应于该VPN的L2路由表6中检索数据。
如果检索成功,则单元7从该表中获得有关输出目的地的信息。如果输出目的地是一个本地端口,则该信息与该端口的标识符有关。如果输出目的地是一个LSP,则该信息与用于边沿连接LSP1/VPN连接LSP4的发送标签和一个输出端口有关。
如果检索失败了,则VPN内的广播单元12分别从VPN管理表5和边沿节点管理表2中获得在该VPN中的输出目的地本地端口的一个列表和有关输出目的地VPN连接LSP4/边沿连接LSP1的信息,并且把该帧广播到每个输出目的地。
(3)此外,如果输出目的地是一个本地端口,则L2转发单元7把该帧发送到该端口。如果输出目的地是一个LSP,则标签添加单元9添加用于边沿连接LSP/VPN连接LSP的发送标签,并且把该帧发送到LSP。
当从一个MPLS网络容纳单元的端口收到该帧时,每个边沿节点执行下列帧中继操作。
(4)一个标签转发单元11使用该帧的标签查看该标签表10,依据所获得的信息删除该帧的标签,并且把该帧输出到一个输出端口。
如上所述,这个优选实施例中的设备可以执行通过一个发送源MAC进行的地址获悉、通过一个发送目的地MAC进行的路由确定、和在未获悉发送目的地MAC时在该VPN内的广播,并且借此可以构成一个第2层-VPN。
由于转发面处理过程是一个简单的、用于使用该帧的具有一个固定长度的参数查看一个表、并且执行方向确定和首部添加/删除的处理过程,所以该处理过程的速度可以被很容易地提高。
图3和4显示了在本发明第二个优选实施例中的第2层-VPN实现设备和边沿节点的配置。特别地,图3显示了在本发明的第2层-VPN系统中在一个MPLS网络的边沿节点之间建立的LSP。图4显示了如图3所示的边沿节点的基本配置,并且显示了在一个MPLS网络的入口处的一个节点(在下文中被简单地称作一个“入口节点”)的配置、和在该MPLS网络的出口处的一个节点(在下文中被简单地称作一个“出口节点”)的配置,其中该入口节点从一个用户网络中接收一帧,出口节点把从入口节点接收的帧通过MPLS网络中继到用户网络。
只有不同于第一个优选实施例的部分描述如下。
一个VPN连接LSP20被相互以完全网状地建立在MPLS网络中的一个边沿节点的每个线路容纳单元的一个端口和一个边沿节点的该线路容纳单元的一个端口之间。
使用一个L2路由表21,每个边沿节点管理一个用于一个具有一个MAC地址的边沿节点的路由。在这个优选实施例中,这个表逻辑上被划分用于每个端口。如果一个输出目的地是一个本地端口,则该端口的标识符被登记作为路由信息。如果输出目的地是另一个边沿节点的端口,则有关输出目的地的VPN连接LSP20/边沿连接LSP1的信息(一个发送标签、一个输出端口等)被登记下来。
一个L2转发单元22检查一帧的一对发送源MAC地址(在下文中被称作“发送源MAC”)和接收端口是否已经被获悉作为一个路由,并且基于一个发送目的地MAC地址(在下文中被称作“发送目的地MAC”)确定一个路由。
特别地,当接收到一帧时,单元22从VPN定义表3中获得一个对应于接收端口的VPN,并且使用一个发送源MAC从一个用于一个接收端口的L2路由表21中检索数据。如果检索失败,则单元22判断该路由没有被登记,并且通知一个入口路由登记单元23该路由未登记。
L2转发单元22进一步使用一个发送目的地MAC从该表中检索数据,并且获得有关一个输出目的地的信息,特别是一个本地端口或者有关一个输出目的地的VPN连接LSP20/边沿连接LSP1的信息。如果检索失败,则单元22把该帧传送到一个VPN内的广播单元12。
如果输出目的地是一个本地端口,则L2转发单元22把该帧发送到该端口而没有执行其它任何处理。如果输出目的地是一个LSP,则单元22把该帧传送到一个标签添加单元9。
一个入口路由登记单元23使用来自于L2转发单元22的路由未登记通知作为一个触发信号,在用于一个对应于该端口的VPN的L2路由表21中登记一对发送源MAC和接收端口作为一个新路由。
LSP反向转换表25是这样一个表,每个边沿节点通过这个表把来自于另一个边沿节点中的一个端口的、用于一个本地端口的一个VPN连接LSP 20与有关该反向VPN连接LSP 20和边沿连接LSP1的信息相关。
路由登记确认单元26使用该帧的发送源MAC从用于一个输出端口的一个L2路由表21中检索数据。如果检索失败,则单元26通知一个出口路由登记单元27该路由未登记。
出口路由登记单元27使用来自于路由登记确认单元26的路由未登记通知作为一个触发信号,登记用于一个具有发送源MAC的边沿节点的一个路由。特别地,单元27通过基于该帧的接收标签查看LSP反向转换表25,从LSP反向转换表25中获得作为所接收的VPN连接LSP 20的返回路由的VPN连接LSP 20和边沿连接LSP1,并且在用于一个输出目的地端口的L2路由表21中登记这些连接。
如在先前描述的优选实施例中那样,在这个优选实施例的设备中,操作一个现有的IP路由选择协议、诸如BGP、OSPF等、和一个现有的MPLS控制协议、诸如LDP等,而且每个边沿节点可以以一个IP或MPLS相互连接。
首先,为帧中继作准备,这个优选实施例中的设备定义了一个VPN,并且在边沿节点之间建立了一个LSP。特别地,执行下列操作。
-现有的LSP建立单元(诸如一个LDP等)建立一个用于相互连接边沿节点的边沿连接LSP1,并且在用于每个连接目的地边沿节点的边沿节点管理表2中登记有关一个边沿连接LSP1的信息、诸如一个第3层地址、用于一个边沿连接LSP1的一个发送标签、一个输出端口等。在一个MPLS网络中的一个节点在标签表10中登记用于每个标签的一个路由以及标签操作。
-在把一个本地节点的线路容纳单元的每个端口(在下文中被称作一个“本地端口”)与一个VPN相关、并且在VPN定义表3中登记了这个对应关系之后,每个边沿节点通过规定的协商获得与在由另一个边沿节点容纳的每一个端口和VPN之间的对应关系有关的信息,并且在属于该VPN的每个本地端口和属于与由每个本地节点容纳的VPN相同的VPN的另一个边沿节点的所有端口之间建立一个LSP(VPN连接LSP20)。
当建立一个LSP时,每个边沿节点在用于每个VPN的VPN管理表5中登记在另一个边沿节点中的端口的一个列表、与一个对应于每个端口的VPN连接LSP20有关的信息、和在一个本地边沿节点中的端口的一个列表。
同时,每个边沿节点生成标签表10,它指定了由另一个边沿节点建立的一个VPN连接LSP20的标签删除。
在如上所述的准备之后,当从一个本地端口接收到一帧时,每个边沿节点执行下列帧中继操作。
(1)在使用VPN定义表3识别了一个对应于接收端口的VPN之后,L2转发单元22使用该帧的发送源MAC作为一个关键字从用于一个接收端口的L2路由表21中检索数据。
如果检索成功,则单元22继续一个随后的处理,而不执行其它任何处理。
如果检索失败,则单元22通知入口路由登记单元23该路由未登记。当接收了该通知时,单元23在用于该端口的一个L2路由表21中登记一对发送源MAC和接收端口。
(2)L2转发单元22进一步使用该帧的发送目的地MAC作为一个关键字从对应于该VPN的一个L2路由表21中检索数据。
如果检索成功,则单元22从该表中获得有关一个输出目的地的信息。如果输出目的地是一个本地端口,则该信息与该端口的标识符有关。如果输出目的地是一个LSP,则该信息与用于边沿连接LSP1和VPN连接LSP4的发送标签和一个输出端口有关。
如果检索失败了,则VPN内的广播单元12从VPN管理表5中获得在该VPN中的端口的一个列表,并且把该帧广播到用于该端口的所有本地端口和VPN连接LSP20。
(3)此外,如果输出目的地是一个本地端口,则L2转发单元22把该帧发送到该端口。如果输出目的地是一个LSP,则标签添加单元9把用于边沿连接LSP和VPN连接LSP的发送标签添加到该帧上,然后把该帧发送到LSP。
当从一个MPLS网络容纳单元的端口收到该帧时,每个边沿节点执行下列帧中继操作。
(1)一个标签转发单元23基于该帧的标签查看标签表10,并且确定一个输出端口。同时,单元23依据所获得的信息删除该帧的标签。
(2)一个路由登记确认单元26使用在标签删除之后的该帧的发送源MAC作为一个关键字,从用于由标签转发单元23获得的一个输出目的地端口的L2路由表中检索数据。如果检索成功,则单元23输出该帧,而不执行其它任何处理。
如果检索失败,则单元23通知出口路由登记单元27该路由未登记。当收到该通知时,出口路由登记单元27从LSP反向转换表25获得作为所接收的VPN连接LSP 20的返回路由的VPN连接LSP 20和边沿连接LSP1,并且把这些连接和被通知的发送源MAC成对地在用于VPN的L2路由表21中进行登记。
如上所述,由于根据本发明第二个优选实施例中的设备可以执行通过一个发送源MAC进行的地址获悉、通过一个发送目的地MAC进行的路由确定、和在未获悉发送目的地MAC时在该VPN内的广播,所以可以构成一个第2层-VPN。
由于转发面处理过程是一个简单的、用于使用该帧的具有一个固定长度的参数查看一个表、并且执行方向确定和首部添加/删除的处理过程,所以该处理过程的速度可以被很容易地提高。
第三个优选实施例描述如下。
一个L2转发单元31检查一帧的一对发送源MAC地址(在下文中被称作“发送源MAC”)和接收端口是否已经被获悉作为一个路由,并且基于一个发送目的地MAC地址(在下文中被称作“发送目的地MAC”)确定一个路由。
特别地,当接收到一帧时,单元31从VPN定义表3中获得一个对应于接收端口的VPN,并且使用一个发送源MAC从一个用于一个接收端口的L2路由表21中检索数据。如果检索失败,则单元31判断该路由没有被登记,并且通知一个路由登记单元32该路由未登记。
L2转发单元31进一步使用发送目的地MAC从该表中检索数据,并且获得有关一个输出目的地的信息,特别是一个本地端口或者有关一个输出目的地的VPN连接LSP20和边沿连接LSP1的信息。如果检索失败,则单元31把该帧传送到一个VPN内的广播单元12。
如果输出目的地是一个本地端口,则L2转发单元31把该帧发送到该端口,而不执行其它任何处理。如果输出目的地是一个LSP,则单元31把该帧传送到一个标签添加单元9。
路由登记单元32使用来自于L2转发单元7的路由未登记通知作为一个触发信号,在用于一个对应于该端口的VPN的L2路由表21中登记这对发送源MAC和接收端口作为一个新路由。
此外,路由登记单元32从VPN管理表5中获得容纳用于该VPN的端口的所有边沿节点的第3层地址的列表,并且向每个边沿节点通知该VPN的标识符、发送源MAC、接收端口的标识符、和边沿节点的第3层地址的一个组合作为一个新路由。
当收到该通知时,每个边沿节点分别从VPN管理表5和边沿节点管理表2中获得有关一个对应于被通知的端口的VPN连接LSP4的信息、和有关对应于被通知的第3层地址的边沿连接LSP1的信息,并且在L2路由表6中登记这两个信息。
假定一个在其中边沿节点可以以一个IP或MPLS相互连接的网络,由于操作一个现有的IP路由选择协议、诸如BGP、OSPF等、和一个现有的MPLS控制协议、诸如LDP等,所以可以实现这个优选实施例中的设备。
首先,为帧中继作准备,这个优选实施例中的设备定义了一个VPN,并且建立了一个LSP。特别地,执行下列操作。
-现有的LSP建立单元(诸如一个LDP等)在边沿节点之间建立一个用于相互连接边沿节点的边沿连接LSP1,并且在用于每个连接目的地边沿节点的边沿节点管理表2中登记有关该边沿连接LSP1的信息、诸如一个第3层地址、用于该边沿连接LSP1的一个发送标签、一个输出端口等。在一个MPLS网络中的一个节点在标签表10中登记用于每个标签的一个路由以及标签操作。
-在把在一个本地节点中的线路容纳单元的每个端口(在下文中被称作一个“本地端口”)与一个VPN相关、并且在VPN定义表3中登记了这个对应关系之后,每个边沿节点通过某些协商获得与在由另一个边沿节点容纳的每一个端口和该VPN之间的对应关系有关的信息,并且在属于该VPN的每个本地端口和属于与由一个本地节点容纳的VPN相同的VPN的另一个边沿节点的所有端口之间建立一个LSP(VPN连接LSP20)。
当建立一个LSP时,每个边沿节点在用于每个VPN的VPN管理表5中登记另一个边沿节点的端口的一个列表、与一个对应于每个端口的VPN连接LSP20有关的信息、和一个本地节点的端口的一个列表。
同时,每个边沿节点生成标签表10,它指定了由另一个边沿节点所建立的VPN连接LSP20的标签删除。
在如上所述的准备之后,当从一个本地端口接收到一帧时,每个边沿节点执行下列帧中继操作。
(1)在使用VPN定义表3识别了对应于一个接收端口的一个VPN之后,L2转发单元31使用该帧的发送源MAC作为一个关键字从用于一个接收端口的L2路由表12中检索数据。
如果检索成功,则单元31继续一个随后的处理,而不执行其它任何处理。
如果检索失败,则单元31通知路由登记单元32该路由未登记。当接收了该通知时,单元32在用于一个接收端口的L2路由表21中登记一对发送源MAC和接收端口。同时,单元32从VPN管理表5中获得具有一个属于与该VPN相同的VPN的端口的边沿节点的一个列表,并且向每个边沿节点通知VPN的标识符、发送源MAC、接收端口的标识符、和边沿节点的第3层地址的一个组合作为该VPN的一个新路由。
当收到该通知时,每个边沿节点使用被通知的第3层地址获得有关用于该第3层的边沿连接LSP1的信息、并且在用于每个端口的一个L2路由表21中登记该信息以及被通知的内容。
(2)L2转发单元31进一步使用该帧的发送目的地MAC作为一个关键字从对应于该VPN的一个L2路由表21中检索数据。
如果检索成功,则单元31从该表中获得有关输出目的地的信息。如果输出目的地是一个本地端口,则该信息与该端口的标识符有关。如果输出目的地是一个LSP,则该信息与用于边沿连接LSP1和VPN连接LSP20的发送标签和一个输出端口有关。
如果检索失败了,则VPN内的广播单元12分别从VPN管理表5和边沿节点管理表2中获得在该VPN中的端口的一个列表、和有关在该VPN中的输出目的地VPN连接LSP20和边沿连接LSP1的信息,并且把该帧广播到用于该端口的所有本地端口和VPN连接LSP20。
(3)此外,如果输出目的地是一个本地端口,则L2转发单元31把该帧发送到该端口。如果输出目的地是一个LSP,则标签添加单元9添加用于边沿连接LSP和VPN连接LSP的发送标签,然后把该帧发送到LSP。
如在现有的MPLS中那样,在从一个入口节点发送该帧之后,在图1和2中未显示的、在MPLS网络中的一个节点基于该标签确定路径方向,并且把该帧中继直到出口节点。
当从一个MPLS网络容纳单元的端口收到该帧时,出口节点执行下列帧中继操作。
(4)标签转发单元11基于该帧的标签查看该标签表10,依据所获得的信息删除该帧的标签,并且把该帧输出到出口端口。
如上所述,由于根据本发明第二个优选实施例中的设备可以执行通过一个发送源MAC进行的地址获悉、通过一个发送目的地MAC进行的路由确定、和在未获悉发送目的地MAC时在该VPN内的广播,所以可以构成一个第2层-VPN。
由于转发面处理过程是一个简单的、用于使用该帧的具有一个固定长度的参数查看一个表、并且执行方向确定和首部添加/删除的处理过程,所以该处理过程的速度可以被很容易地提高。
第四个优选实施例描述如下。
一个VPN定义表50把一帧的VLAN标识符(VID)与一个VPN和一个接收逻辑端口(在下文中与一个VID相关的一个逻辑端口被这样称呼)相关联。
一个L2转发单元41检查一帧的一对发送源MAC地址(在下文中被称作“发送源MAC”)和接收端口是否已经被获悉作为一个路由,并且基于一个发送目的地MAC地址(在下文中被称作“发送目的地MAC”)确定一个路由。
特别地,当接收到该帧时,单元41从一个VPN定义表40中获得对应于该帧的VID的一个VPN,并且使用一个发送源MAC从用于该VPN的一个L2路由表6中检索数据。如果检索失败,则单元41通知路由登记单元8该路由未登记。
单元41进一步使用发送目的地MAC从该表中检索数据,并且获得有关一个输出目的地的信息,特别是一个本地端口或者有关一个输出目的地的VPN连接LSP4和边沿连接LSP1的信息。如果检索失败,则单元41把该帧传送到VPN内的广播单元12。
如果输出目的地是一个本地端口,则单元41把该帧发送到该端口,而不执行其它任何处理。如果输出目的地是一个LSP,则单元41把该帧传送到标签添加单元9。
一个标签表42在输出一帧时用一个标签、一个输出目的地端口、和附加到该帧上的一个VLAN标识符(VID)指定该帧的标签删除。
标签转发单元43使用在该帧中的标签查看一个标签表42,并且基于所获得的信息删除该帧的标签。同时,单元43在标签删除之后获得一个将被附加到一个输出帧上的VLAN标识符,其通过VID重写到该帧中的VLAN首部。
在这种情况下,假定这样一个网络,在该网络中操作一个现有的IP路由选择协议、诸如BGP、OSPF等、和一个现有的MPLS控制协议、诸如LDP等,而且每个边沿节点可以通过一个IP或MPLS相互连接。
为帧中继作准备,这个优选实施例中的设备定义一个VPN并且建立一个LSP。特别地,执行下列操作。
-现有的LSP建立单元(诸如一个LDP等)在边沿节点之间建立一个用于相互连接边沿节点的边沿连接LSP1,并且在用于每个连接目的地边沿节点的边沿节点管理表2中登记有关该边沿连接LSP1的信息、诸如一个第3层地址、用于该边沿连接LSP1的一个发送标签、一个输出端口等。在一个MPLS网络中的节点在标签表42中登记用于每个标签的一个路由以及标签操作。
-在把一个VLAN标识符(VID)与一个VPN相关联、并且在一个VPN定义表40中登记这个对应关系之后,每个边沿节点在一个本地节点的每个线路容纳单元和另一个边沿节点的所有端口之间建立一个LSP(VPN连接LSP4)。
当建立一个LSP时,每个边沿节点在用于每个VPN的VPN管理表5中登记在另一个边沿节点中的端口的一个列表、与对应于每个端口的一个VPN连接LSP4有关的信息、和在一个本地节点中的端口的一个列表。
同时,每个边沿节点生成标签表42,它指定了由另一个边沿节点所建立的VPN连接LSP4中的标签删除。
在如上所述的准备之后,当从一个本地端口接收到一帧时,每个边沿节点执行下列帧中继操作。
(1)在使用VPN定义表40识别了对应于该帧的VID的一个VPN之后,L2转发单元41使用该帧的发送源MAC作为一个关键字从用于该VPN的L2路由表6中检索数据。
如果检索成功,则单元41继续处理过程(2),而不执行其它任何处理。
如果检索失败,则单元41通知路由登记单元8该路由未登记。当接收了该通知时,单元8在用于该VPN的一个L2路由表6中登记一对发送源MAC和接收端口。同时,单元8从VPN管理表5中获得具有一个属于与该VPN相同的VPN的端口的边沿节点的一个列表,并且向每个边沿节点通知VPN的标识符、发送源MAC、接收端口的标识符、和边沿节点的第3层地址的一个组合作为该VPN的一个新路由。
当收到该通知时,每个边沿节点在一个L2路由表6中登记被通知的路由。
(2)L2转发单元41进一步使用该帧的发送目的地MAC作为一个关键字从对应于该VPN的一个L2路由表6中检索数据。
如果检索成功,则单元41从该表中获得有关输出目的地的信息。如果输出目的地是一个本地端口,则该信息与该端口的标识符有关。如果输出目的地是一个LSP,则该信息与用于边沿连接LSP1和VPN连接LSP20的发送标签和一个输出端口有关。
如果检索失败了,则VPN内的广播单元12分别从VPN管理表5和边沿节点管理表2中获得在该VPN中的输出目的地本地端口的一个列表、和有关输出目的地VPN连接LSP4/边沿连接LSP1的信息,并且把该帧广播到每个输出目的地。
(3)此外,如果输出目的地是一个本地端口,则L2转发单元41把该帧转发到该端口。如果输出目的地是一个LSP,则标签添加单元9添加用于边沿连接LSP和VPN连接LSP的发送标签,然后发送该帧。
当从一个MPLS网络容纳单元的端口收到该帧时,每个边沿节点执行下列帧中继操作。
(4)标签转发单元43使用该帧的标签查看标签表42,并且基于所获得的信息删除该帧的标签。同时,单元43把包括从该表中获得的VID的一个VLAN首部附加到该帧上,并且把该帧输出到一个输出帧。
如上所述,由于本发明中的设备可以执行通过一个发送源MAC进行的地址获悉、通过一个发送目的地MAC进行的路由确定、和在未确定发送目的地MAC时在该VPN内的广播,所以可以在一个第2层中构成一个VPN连接的VLANs。
由于转发面处理过程是一个简单的、用于使用该帧的具有一个固定长度的参数查看一个表、并且执行方向确定和首部添加/删除的处理过程,所以该处理过程的速度可以被很容易地提高。
第五个优选实施例描述如下。
一个L2转发单元52检查一帧的一对发送源MAC地址(在下文中被称作“发送源MAC”)和接收端口是否已经被获悉作为一个路由,并且基于一个发送目的地MAC地址(在下文中被称作“发送目的地MAC”)确定一个路由。
特别地,当接收到该帧时,单元52从一个VPN定义表50中获得一个对应于该帧的VID的VPN和一个接收逻辑端口,并且使用一个发送源MAC从用于该接收逻辑端口的一个L2路由表21中检索数据。如果检索失败,则单元52通知入口路由登记单元23该路由未登记。
单元52进一步使用发送目的地MAC从该表中检索数据,并且获得有关一个输出目的地的信息,特别是一个本地逻辑端口或者有关一个输出目的地的VPN连接LSP4/边沿连接LSP1的信息。如果检索失败,则如下所述,单元52把该帧传送到VPN内的广播单元12。
如果输出目的地是一个逻辑本地端口,则单元52把该帧发送到该端口,而不执行其它任何处理。如果输出目的地是一个LSP,则单元52把该帧传送到标签添加单元9。
入口路由登记单元23使用来自于L2转发单元52的路由未登记通知作为一个触发信号,在用于一个对应于该逻辑端口的VPN的一个L2路由表21中登记一对发送源MAC和接收逻辑端口作为一个新路由。
在这种情况下,假定这样一个网络,在该网络中操作一个现有的IP路由选择协议、诸如BGP、OSPF等、和一个现有的MPLS控制协议、诸如LDP等,而且每个边沿节点可以以一个IP或MPLS相互连接。
为帧中继作准备,这个优选实施例中的设备定义一个VPN并且建立一个LSP。特别地,执行下列操作。
-现有的LSP建立单元(诸如一个LDP等)在边沿节点之间建立一个用于相互连接边沿节点的边沿连接LSP1,并且在用于每个连接目的地边沿节点的边沿节点管理表2中登记有关该边沿连接LSP1的信息、诸如一个第3层地址、用于该边沿连接LSP1的一个发送标签、一个输出端口等。在一个MPLS网络中的一个节点在标签表10中登记用于每个标签的一个路由以及标签操作。
-在把一个VLAN标识符(VID)与一个VPN和一个逻辑端口相关联、并且在VPN定义表50中登记这个对应关系之后,每个边沿节点在属于该VPN的每个逻辑端口和另一个边沿节点的所有逻辑端口之间建立一个LSP(VPN连接LSP20)。
当建立一个LSP时,每个边沿节点在用于每个VPN的VPN管理表5中登记在另一个边沿节点中的逻辑端口的一个列表、与一个对应于每个逻辑端口的VPN连接LSP20有关的信息、和在一个本地节点中的逻辑端口的一个列表。
同时,每个边沿节点生成标签表10,它指定了由另一个边沿节点所建立的VPN连接LSP20的标签删除。
在上面的准备之后,从一个逻辑本地端口接收到一帧的边沿节点执行以下的帧中继操作。
(1)在使用VPN定义表50识别了一个对应于接收逻辑逻辑端口的VPN之后,L2转发单元52使用该帧的发送源MAC作为一个关键字从用于一个接收逻辑端口的L2路由表21中检索数据。
如果检索成功,则单元52继续一个随后的处理,而不执行其它任何处理。
如果检索失败,则单元52通知入口路由登记单元23该路由未登记。当接收了该通知时,单元23在用于该逻辑端口的L2路由表21中登记这对发送源MAC和接收逻辑端口。
(2)L2转发单元52进一步使用该帧的发送目的地MAC作为一个关键字从对应于该接收本地端口的一个L2路由表21中检索数据。
如果检索成功,则单元52从该表中获得有关一个输出目的地的信息。如果输出目的地是一个逻辑本地端口,则该信息与该端口的标识符有关。如果输出目的地是一个LSP,则该信息与用于边沿连接LSP1和VPN连接LSP20的发送标签和一个输出逻辑端口标签有关。
如果检索失败,则VPN内的广播单元12从VPN管理表5中获得在该VPN中的逻辑端口的一个列表,并且把该帧广播到用于该逻辑端口的所有逻辑本地端口和VPN连接LSP20。
(3)此外,如果输出目的地是一个本地端口,则L2转发单元52把该帧发送到该端口。如果输出目的地是一个LSP,则标签添加单元9添加用于边沿连接LSP和VPN连接LSP的发送标签,然后把该帧发送到LSP。
当从一个MPLS网络容纳单元的端口收到该帧时,每个边沿节点执行下列帧中继操作。
(4)标签转发单元23使用该帧的标签查看标签表10,并且基于所获得的信息删除该帧的标签。同时,单元23把包括从该表中获得的VID的一个VLAN首部附加到该帧上。
(5)路由登记确认单元26从用于一个从标签转发单元23中获得的输出目的地端口的一个L2路由表21中检索数据。如果检索成功,则单元26输出该帧,而不执行其它任何处理。
如果检索失败,则单元26通知出口路由登记单元27该路由未登记。当收到该通知时,出口路由登记单元27从LSP反向转换表25中获得对应于所接收的VPN连接LSP 20的反向VPN连接LSP 20和边沿连接LSP1,并且把这些连接和被通知的发送源MAC成对地在用于由标签转发单元23获得的一个输出端口的L2路由表21中进行登记。
如上所述,本发明中的设备可以执行通过一个发送源MAC进行的地址获悉、通过一个发送目的地MAC进行的路由确定、和在未获悉发送目的地MAC时在该VPN内的广播,并且可以在一个第2层中构成一个VPN连接的VLANs。
由于转发面处理过程是一个简单的、用于使用该帧的具有一个固定长度的参数查看一个表、并且执行方向确定和首部添加/删除的处理过程,所以该处理过程的速度可以被很容易地提高。
第六个优选实施例描述如下。
一个L2转发单元61检查一帧的一对发送源MAC地址(在下文中被称作“发送源MAC”)和接收端口是否已经被获悉作为一个路由,并且基于一个发送目的地MAC地址(在下文中被称作“发送目的地MAC”)确定一个路由。
特别地,当接收到该帧时,单元61从一个VPN定义表50中获得一个对应于该帧的VID的VPN和一个接收逻辑端口,并且使用一个发送源MAC从用于该接收逻辑端口的一个L2路由表21中检索数据。如果检索失败,则单元61通知路由登记单元8该路由未登记。
单元61进一步使用发送目的地MAC从该表中检索数据,并且获得有关一个输出目的地的信息,特别是一个本地端口或者有关一个输出目的地的VPN连接LSP20和边沿连接LSP1的信息。如果检索失败,则单元61把该帧传送到VPN内的广播单元12(将稍后描述)。
如果输出目的地是一个本地端口,则单元61把该帧发送到该端口,而不执行其它任何处理。如果输出目的地是一个LSP,则单元61把该帧传送到标签添加单元9。
在这种情况下,假定这样一个网络,在该网络中操作一个现有的IP路由选择协议、诸如BGP、OSPF等、和一个现有的MPLS控制协议、诸如LDP等,而且每个边沿节点可以以一个IP或MPLS相互连接。
为帧中继作准备,这个优选实施例中的设备定义一个VPN并且建立一个LSP。特别地,执行下列操作。
-现有的LSP建立单元(诸如一个LDP等)在边沿节点之间建立一个用于相互连接边沿节点的边沿连接LSP1,并且在用于每个连接目的地边沿节点的边沿节点管理表2中登记有关该边沿连接LSP1的信息、诸如一个第3层地址、用于该边沿连接LSP1的一个发送标签、一个输出端口等。在MPLS网络中的一个节点在标签表10中登记用于每个标签的一个路由以及标签操作。
-在把一个VLAN标识符(VID)与一个VPN相关联、并且在VPN定义表3中登记这个对应关系之后,每个边沿节点在属于该VPN的每个逻辑端口和另一个边沿节点的所有逻辑端口之间建立一个LSP(VPN连接LSP20)。
当建立一个LSP时,每个边沿节点在用于每个VPN的VPN管理表5中登记在另一个边沿节点中的逻辑端口的一个列表、与对应于每个逻辑端口的一个VPN连接LSP20有关的信息、和在一个本地节点中的逻辑端口的一个列表。
同时,每个边沿节点生成标签表10,它指定了由另一个边沿节点所建立的VPN连接LSP20的标签删除。
在如上所述的准备之后,当从一个本地端口接收到一帧时,每个边沿节点执行下列帧中继操作。
(1)在使用VPN定义表3识别了一个对应于接收逻辑端口的VPN之后,L2转发单元61使用该帧的发送源MAC作为一个关键字从用于该接收端口的L2路由表21中检索数据。
如果检索成功,则单元61继续一个随后的处理过程,而不执行其它任何处理。
如果检索失败,则单元61通知路由登记单元8该路由未登记。当接收了该通知时,单元8在用于一个对应于该端口的VPN的L2路由表21中登记这对发送源MAC和接收端口。同时,单元61从VPN管理表5中获得具有一个属于与该VPN相同的VPN的端口的边沿节点的一个列表,并且向每个边沿节点通知VPN的标识符、发送源MAC、接收端口的标识符、和边沿节点的第3层地址的一个组合。
当收到该通知时,每个边沿节点在L2路由表中登记被通知的路由。
(2)L2转发单元55进一步使用该帧的发送目的地MAC作为一个关键字从对应于该VPN的一个L2路由表21中检索数据。
如果检索成功,则单元55从该表中获得有关输出目的地的信息。如果输出目的地是一个本地端口,则该信息与该端口的标识符有关。如果输出目的地是一个LSP,则该信息与用于边沿连接LSP1和VPN连接LSP20的发送标签和一个输出端口有关。
如果检索失败了,则VPN内的广播单元12分别从VPN管理表5和边沿节点管理表2中获得在该VPN中的端口的一个列表、和有关输出目的地VPN连接LSP20/边沿连接LSP1的多条信息的一个列表,并且把该帧广播到用于该端口的所有本地端口和VPN连接LSP20。
(3)此外,如果输出目的地是一个本地端口,则L2转发单元55把该帧发送到该端口。如果输出目的地是一个LSP,则标签添加单元9添加用于边沿连接LSP和VPN连接LSP的发送标签,然后把该帧发送到LSP。
当从一个MPLS网络容纳单元的端口收到该帧时,每个边沿节点执行下列帧中继操作。
(4)标签转发单元11使用该帧的标签查看标签表10,并且依据所获得的信息删除该标签。同时,单元11把包括从该表中获得的VID的一个VLAN首部附加到该帧上,并且把该帧输出到一个输出端口。
如上所述,本发明中的设备可以执行通过一个发送源MAC进行的地址获悉、通过一个发送目的地MAC进行的路由确定、和在未获悉发送目的地MAC时在该VPN内的广播,并且可以在一个第2层中构成一个VPN连接的VLANs。
由于转发面处理过程是一个简单的、用于使用该帧的具有一个固定长度的参数查看一个表、并且执行方向确定和首部添加/删除的处理过程,所以该处理过程的速度可以被很容易地提高。
图5到11显示了在本发明优选实施例中的获悉功能。
本发明优选实施例中的一个特征是一个MAC地址的获悉功能。
由于,通常,桥接器(其在两个不同的网络之间桥接一个边沿节点)是一个第2层中继设备,所以在一个LAN内广播一个中继帧(具体地说,到所有端口)。然而,当收到一个中继目标帧时,桥接器通常预先在一个作为高速缓存的转发表中登记一对该帧的发送源MAC地址(临时被描述为MAC#A)和该帧的接收端口(暂时被描述为端口#1-1)。这意味着桥接器已经获悉了具有MAC#A的一个终端在端口#1-1中被容纳。在这个获悉之后,当收到用于MAC#A的一帧时,基于存储在转发表中的内容,一帧被单点传送和中继到端口#1-1(而不是把该帧广播到所有端口)。
如果一个终端A行进,则通常桥接器可以更新位置信息。如果终端A停止或如果终端A很少通信,则继续在转发表中存储终端A的信息是对表容量的浪费。因此,定时器管理通常被应用于这个表,而且有关一个持续一特定时间周期没有发送帧的终端的信息通常被从该表中删掉。
以上所述的获悉功能是现有技术,其在图6到图8中进行了显示。然而,在像这个优选实施例这样通过一个核心网络(MPLS网络等)的配置中,由于以下问题使得一个现有的获悉单元不能在没有修改的情况下就被使用。
特别地,尽管在边沿#1和边沿#2之间(参见图9),边沿#1的端口xxx应该被获悉作为有关终端A的位置信息,但是由于端口xxx属于边沿#1,所以边沿#2不能获悉端口xxx。
因此,在本发明的第二个优选实施例中,通过一条路径(LSP)的获悉而不是通过接收一个帧的端口xxx的获悉被应用于边沿#2。
特别地,在边沿#2中进行如下表登记。
-终端A的MAC地址和在端口xxx和yyy之间建立的一个LSP被成对登记在一个转发表中。由于在MPLS中的路径(LSP)是单向的,所以在该表中进行登记必须注意方向。可以象在一个现有的桥接器中那样在边沿#1中进行表登记。
通过一个LSP从边沿#1接收一帧的边沿#2的操作概括如下。
边沿#2识别由终端A从LSP-1发送到终端B的一帧的接收(从LSP-1接收一帧可以通过一个附加到该帧上的标签来识别)。当该接收被识别时,一对MAC地址和LSP-1r被登记在一个表中,作为对终端A的获悉。在这种情况下,由于LSP-1r是LSP-1的反向版本。这是因为一条MPLS路径是单向的。
这样,当在将来为终端A从终端B接收一帧时,边沿#2可以查看该转发表,可以获得LSP-1r作为对应于MAC-DA(=地址#A)的发送目的地LSP,并且可以发送到该LSP(参见图10)。
在第一个优选实施例中的获悉与以上所述的获悉稍有不同。
特别地,在边沿#2中进行如下表登记(参见图11)。
-终端A的MAC地址和在一个线路容纳单元与端口xxx之间建立的一个LSP被成对登记在一个转发表中。由于MPLS路径(LSP)是单向的,所以在该表中进行登记必须注意方向。
通过一个LSP从边沿#1接收一帧的边沿#2的操作概括如下。
边沿#2可以识别为终端B从终端A从LSP-1发送的一帧的接收。然而,由于LSP-1是从边沿#1的线路容纳单元发送的,所以边沿#2不能从该帧中判断该帧是从哪个端口发送的(由于线路容纳单元容纳多个端口,所以边沿#2不能判断该帧是从边沿#1的哪个端口发送的)。
因此,有关终端A的获悉仅仅在边沿#1中执行,而且边沿#1通知边沿#2所获悉的内容。换句话说,在边沿#2中不执行通过一中继帧的获悉。
因此,边沿#2在该表中登记这对MAC地址A和LSP-1r。在这种情况下,LSP-1r被建立在边沿#2的线路容纳单元和边沿#1的端口xxx之间。
这样,当在将来为终端A从终端B接收一帧时,边沿#2可以查看一个转发表,可以获得LSP-1r作为对应于MAC-DA(地址#A)的发送目的地LSP,并且可以发送到该LSP。
在第一个优选实施例中,在一个线路容纳单元和一个端口之间建立一个LSP,而在第二个优选实施例中在端口之间建立一个LSP。因此,在第一个优选实施例中所需要的LSP的数目可以被减少。
图12到23显示了第一个优选实施例中的特定例子。
如图12所示,在这个特定例子中,连接用户网络#100-1和#100-3以构成一个VPN(VPN#100),而且连接用户网络#200-1、#200-2-1、#200-2-2和#200-3以构成另一个VPN(VPN#200)。在这种情况下,假定在图12中所示的边沿节点A、B和C的第3层地址分别为A、B和C。
以下在这个特定例子中,将假定在如图12到23所示的电信公司MPLS网络中的节点之间的所有链接应为一个PPP而给出说明(本发明没有限制一个链路层)。
VPN定义和LSP建立(为帧中继作准备)首先,描述为在这个优选实施例的第2层-VPN系统中的用户网络之间的帧中继作准备而执行的、LSP建立和VPN定义的流程。
-建立边沿连接LSP
-生成边沿节点管理表在边沿节点A、B和C之间由一个现有的LSP建立单元(诸如LDP等)建立用于互相连接边沿节点的边沿连接LSP1,并且在一个控制面的边沿节点管理表2中登记所建立的LSP(参见图13)。
在该表中,将在一帧被发送到LSP时被附加到该帧上的一个标签和一个输出端口被作为LSP参数登记下来。尽管在一个MPLS网络中的一个节点(不同于一个边沿节点的节点)也建立这样的一个表,但是在图13中省略了对不同于边沿节点A的节点的描述。
图14显示了所建立的边沿连接LSP1(仅仅显示了在边沿节点A和B之间的LSP1。在边沿节点A和C之间的LSP1被省略了)。
-生成标签表在每个MPLS网络中的一个节点(边沿节点和在一个MPLS网络中的每个节点)基于所建立的LSP生成一个转发面的标签表10。
图15显示了所生成的标签表10(仅仅显示了在边沿节点A和B之间的LSP1。在边沿节点A和C之间的LSP1被省略了)。
在图15中,在LSP中这样生成一个表,以便在刚好在一个出口节点(在图14中显示的MPLS中继节点ab2和ba2)之前的一个节点中删除一个标签。现有MPLS的一个规范是在刚好在一个出口节点之前的一个节点中删除一个标签。尽管在一些现有MPLS规范中,在出口节点中删除一个标签,但是假定在刚好在一个出口节点之前的一个节点中删除一个标签对这个优选实施例中的特定例子及随后的优选实施例中的例子进行说明。
-VPN定义和建立VPN连接LSP-生成VPN定义表基于在图12中显示的用户网络和VPN定义,把一个所属的VPN与在一个边沿节点中的每个端口相关联。图16显示了一个描述了这种对应关系的VPN定义表3。
-建立VPN连接LSP每个边沿节点通过某些协商获得与在由另一个边沿节点容纳的端口和一个VPN之间的对应关系有关的信息,并且在容纳一个属于该VPN的端口的每个线路容纳单元、和在属于与由一本地节点容纳的VPN相同的VPN的另一个节点中的所有端口之间建立一个LSP(VPN连接LSP4)。
尽管在这个优选实施例可以通过一种任意方法实现该协商和VPN连接LSP4建立,但是在这个例子中假定应该通过向由边沿连接LSP1连接的所有边沿节点进行如下通知来建立一个VPN连接LSP4。
-通知内容(图17)在每个节点中的一个本地端口的标识符、该端口所属于的一个VPN、用于分配给该端口的一个VPN连接LSP4的一个发送标签、和一个本地节点的第3层地址的一个组合。
-通知方法一个现有的MPLS-VPN控制协议重新被定义以便包括以上所述的组合作为一条控制消息。
-图17显示了通知消息的一个例子(有关边沿节点B的端口#2的一则通知的例子)。
每一个被通知的边沿节点A、B和C在容纳属于该VPN的一个端口的每个线路容纳单元、和属于与由一本地节点容纳的VPN相同的VPN的另一个节点的所有端口之间建立一个VPN连接LSP 4。所建立的VPN连接LSP 4被保存在一个VPN管理表5中(图18)。
图19显示了当建立一个VPN连接LSP4时在一个转发面上生成的一个标签表10。
尽管在这个例子中假定在一个MPLS网络中(其中在该MPLS网络中一个VPN连接LSP标签和一个边沿节点连接LSP标签被堆叠,并且从一个MPLS网络的入口节点中继到出口节点)在中继时仅仅查看一个出口节点的标签表一次,但是每个边沿节点还是可以独立地准备一个对应于每个标签堆的表,并且可以在中继时查看每个表。
如果该设备包括多个线路容纳单元/MPLS网络容纳单元,而且如果这多个容纳单元由一个交换结构在一个出口节点中连接,则采用这样一个中继表单/表方案,以便使得一个标签表也可以在一个接收MPLS网络容纳单元中被查看,一帧的标签也可以被替换为用于在该设备输出端上的一个容纳单元的一个转发标签,而且该标签表还可以再次在输出端上的容纳单元中被查看。
图20显示了由以上所述的处理过程生成的边沿连接LSP1和VPN连接LSP4,以构成在图12中所示的VPN。在图20中,仅仅描述了用来构成VP#200的LSP,而用来构成VPN#100的LSP被省略了。
在入口节点(边沿节点A)中的MAC帧中继过程由于在以上所述的准备之后在收到后面的从一个用户网络#200-1从端口#2发送的帧时,边沿节点A从线路容纳单元的端口接收一帧,所以边沿节点A使用一个L2转发单元7和一个标签添加单元9在下面的转发面中中继该帧。
-发送目的地MAC00aabb000001-发送源MAC00bbaa000002在这一点上假定到发送目的地MAC的路由还没有被登记在一个L2路由表6中。
-L2转发单元(边沿节点A)边沿节点A的L2转发单元7的处理过程描述如下。
-识别对应于接收端口的VPN单元7使用VPN定义表3获得VPN#200,作为对应于一个接收端口#2的一个VPN的标识符。
-有关发送源MAC的路由获悉检查单元7使用一帧的发送源MAC作为一个关键字从用于VPN#200的一个L2路由表6中检索数据。
如果检索成功,则单元7继续一个随后的处理过程,而不执行其它任何操作。在这种情况下,由于用于一个MAC地址00bbaa000002的一个路由没有被登记在L2路由表6中,所以检索失败。因此,单元7通知路由登记单元32该路由未登记。然后,路由登记单元32执行下列处理过程,并且在该VPN中的所有L2路由表6中登记用于该发送源MAC的路由。
(i)单元7在用于VPN#200的一个L2路由表6(图21)中登记一对发送源MAC和接收端口。
(ii)单元7从VPN管理表5(图18)中获得具有一个属于VPN#200的端口的一个边沿节点的第3层地址(B、C)。
(iii)单元7向节点B和C通知下列组合作为在该VPN中的一个新路由。
{VPN#200,发送源MAC,端口#2,第3层地址(A)}在由边沿节点B和C收到该通知时,边沿节点B和C中的每一个从VPN管理表5(图18)中获得被通知的第3层地址A和对应于端口#2的一个VPN连接LSP4发送标签,并且从边沿节点管理表2(图13)中获得用于地址A的一个边沿连接LSP发送标签和一个输出端口。然后,每个边沿节点在用于VPN#200的L2路由表6(图21)中登记该数据。如果一个特定条目的地址是一个LSP,则在图21中所示的标签操作字段指定标签添加。在这种情况下,当从节点A侧观看时,节点B和C横跨一个MPLS网络。因此,指定了标签添加。
尽管每个L2路由表逻辑上把一个发送目的地MAC与分别用于每个VPN的一个输出目的地相关联,如图21所示,但是通过还在一个表检索关键字中包括一个VPN标识符,多个L2路由表还可以被物理地组合成一个表。
-地址检索单元7使用一帧的发送目的地MAC作为一个关键字从用于VPN#200的一个L2路由表6中检索数据。如果检索成功,则单元7获得一个输出目的地本地端口或是有关一个边沿连接LSP和VPN连接LSP4的信息。在这种情况下,用于一个MAC地址00aabb000001的一个路由还没有被登记在L2路由表6中,而且检索失败。因此,单元7把该帧传送到VPN内的广播单元12。
VPN内的广播单元12把该帧广播到在该VPN中的所有端口。尽管在这个优选实施例可以使用一个任意的广播单元,但是在这个例子中一个入口节点复制一个帧,并且把该帧发送到在该VPN中的所有端口。
特别地,VPN内的广播单元12查看VPN管理表5(图18),并且获得属于VPN#200的本地端口号的一个列表、以及与用于另一个节点中的端口的VPN连接LSP有关的多条信息的一个列表。在这种情况下,单元12获得下列内容。
(1)本地端口(#2)端口#2的列表(2)VPN连接LSP的列表-用于边沿节点B=发送标签(B200-2-1)的端口#1的VPN连接LSP4-用于边沿节点B=发送标签(B200-2-2)的端口#2的VPN连接LSP4-用于边沿节点C=发送标签(B200-3-2)的端口#2的VPN连接LSP4单元12进一步查看边沿节点管理表2(图13),并且获得与容纳广播目的地的每个边沿节点有关的多条边沿连接LSP1发送信息的一个列表。
-用于边沿节点B(发送标签(ab1)=输出端口=(#10))的边沿连接LSP1-用于边沿节点C(发送标签(ac1)=输出端口=(#10))的边沿连接LSP1VPN内的广播单元12进一步再现该帧并发送到在VPN#200中所获得的所有输出目的地中除接收端口#2之外的三个输出目的地。
-输出帧(边沿节点A)VPN内的发送单元12把该帧发送到所获得的所有输出目的地。在这种情况下,如果输出目的地是一个本地端口,则单元12发送该帧而不执行其它任何处理。如果输出目的地是一个LSP,则标签添加单元9把一个标签附加到该帧的顶部并且发送该帧。图22A和22B分别显示了由一个用户发送的一MAC帧和在标签添加之后的帧格式。在图22B中所示的Shim首部是当在一个PPP链路中使用一个现有的MPLS时在一个第3层首部之前附加的首部。在这个例子中,在由VPN内的广播单元12复制的每一帧的如图22A所示的MAC首部之前,如下堆叠和附加一个标签。
-在第一Shim首部中的标签用于边沿连接LSP1的发送标签-在第二Shim首部中的标签用于VPN连接LSP4的发送标签因此附加到每一帧上的标签显示如下(按照从顶端开始第二个Shim和第一个Shim的次序)-用于边沿节点B的端口#1的帧(ab1)和(B200-2-1)-用于边沿节点B的端口#2的帧(ab1)和(B200-2-2)-用于边沿节点C的端口#2的帧(ab2)和(C200-2-2)在一个Shim首部的每一字段Exp、S和TTL中,象在现有的MPLS中那样指定一个适当的值。
在MPLS中继节点中的MPLS帧中继过程被发送到边沿节点B的端口#1的一帧在一个MPLS网络中的中继过程描述如下。
-具有标签的帧的中继(节点ab1和ab2)象在现有的MPLS中继过程中那样,在边沿节点之间的通道上的一个MPLS中继节点ab1使用标签转发单元11查看该节点的标签表10(图15),因此用(ab2)代替在第一个Shim首部中的一个标签,并且把该帧从端口#1发送到节点ab2。
类似地,在边沿节点之间的通道上的一个MPLS中继节点ab2使用标签转发单元11查看该节点的标签表10(图15),因此删除第一个Shim首部(Shim首部,包括一个标签值ab2),并且把该帧从端口#1发送到节点B。
图22C显示了在删除第一个Shim首部之后的帧格式。
在出口节点(边沿节点B)中的MPLS帧中继过程在出口节点B中的帧中继描述如下。
-标签转发单元(边沿节点B)在从一个MPLS网络容纳单元的端口收到一帧时,边沿节点B查看标签表10(图19),因此,删除第一个Shim首部(Shim首部,包括一个标签值B200-2-1),并且从端口#1中发送该帧。
通过当在VPN#200中向目的地广播时把以上所述的过程应用到所有复制的帧,可以在VPN#200内部实现帧广播。
接下来,描述在如上所述的、边沿节点B响应于从用户网络#200-1发送的帧,从端口#1接收从用户网络#200-2-1发送的一MAC帧的情况下的一个中继过程。
这个MAC帧的地址-发送目的地MAC00bbaa000002-发送源MAC00aabb000001在入口节点(边沿节点B)中的MPLS帧中继过程在从一个线路容纳单元的端口收到一帧时,边沿节点B使用L2转发单元7和标签添加单元9如下在一个转发面中中继该帧。
-L2转发单元(边沿节点B)-识别对应于接收端口的VPNL2转发单元使用VPN定义表3获得VPN#200,作为对应于接收端口#1的一个VPN的标识符。
-有关发送源MAC的路由获悉检查该单元使用该帧的发送源MAC作为一个关键字从用于VPN#200的一个L2路由表6中检索数据。
如果检索成功,则该单元继续一个随后的处理过程,而不执行其它任何操作。然而,在这种情况下,由于用于MAC地址00aabb000001的一个路由还没有被登记在L2路由表6中,因此检索失败,象在有关边沿节点A的转发单元的发送源MAC的路由获悉检查中那样,路由登记单元32在该VPN中的所有路由表6中登记用于该发送源MAC的一个路由。图23显示了登记结果。
-地址检索该单元使用该帧的发送目的地MAC作为一个关键字从用于VPN#200的L2路由表6中检索数据。如果检索成功,则该单元获得一个输出目的地的本地端口或是有关边沿连接LSP和VPN连接LSP4的信息。如果检索失败,则该单元把该帧传送到VPN内的广播单元12。
在这种情况下,由于一个MAC地址00bbaa000002已经被登记在L2路由表6(图23)中了,所以检索成功。因此,该单元获得有关一个输出目的地的边沿连接LSP的信息(标签值ba1和输出端口#10)以及有关VPN连接LSP4的信息(标签值A200-1-2)。
-输出帧(边沿节点B)该单元把该帧发送到所获得的输出目的地。在这种情况下,如果输出目的地是一个本地端口,则该单元发送该帧而不执行其它任何处理。如果输出目的地是一个LSP,则标签添加单元9把一个标签附加到该帧的顶部并且发送该帧。在这个例子中,由于输出目的地是一个LSP,所以该单元按从顶端开始的标签值ba1和A200-1-2的次序在一个第3层首部之前附加一个Shim首部,如在转发单元的操作中那样。
在MPLS中继节点中的MPLS帧中继过程-具有标签的帧的中继(节点ba1和ba2)如在一个MPLS中继节点中一个MPLS帧中继过程的具有一个标签的帧中继中那样,在边沿节点之间的通道上的MPLS中继节点ba1和ba2通过现有的MPLS中继过程删除第一个Shim首部,并且把该帧发送到节点A。
在出口节点(边沿节点A)中的MPLS帧中继过程-标签转发单元(边沿节点A)在从一个MPLS网络容纳单元的端口收到一帧时,边沿节点B使用标签转发单元11查看标签表10(图19),因此删除第一个Shim首部(Shim首部,包括标签值A200-1-2),并且从端口#2发送该帧。
如上所述,由于根据本发明的设备可以执行通过一个发送源MAC进行的地址获悉、通过一个发送目的地MAC进行的路由确定、和在未获悉发送目的地MAC时在该VPN内的广播,所以可以构成一个第2层-VPN。
由于转发面处理过程是一个简单的、用于使用该帧的具有一个固定长度的参数查看一个表、并且执行方向确定和首部添加/删除的处理过程,所以该处理过程的速度可以被很容易地提高。
图24是一个序列图表,显示了在第一个优选实施例的特定示例中直到LSP建立的一个过程。
首先,假定中继节点ab1和ab2被安装在边沿节点A和B之间。边沿节点A和B中每一个开始一个现有的LSP建立单元。然后,节点A和B中的每一个生成一个边沿节点管理表2。然后,边沿节点A/B和中继节点ab1/ab2中的每一个生成一个标签表10。这样,在边沿节点A和B之间建立一个边沿连接LSP1。
然后,边沿节点A和B中每一个生成一个VPN定义表3,并且进行协商以建立一个VPN连接LSP。在协商之后每个节点生成一个VPN管理表5。然后,边沿节点A和B中每一个生成一个标签表10,并且建立一个VPN连接LSP4。在第一个优选实施例中,这个VPN连接LSP4把一个始发边沿节点的线路容纳单元连接到一个终止边沿节点的端口。
图25和26是显示了帧转发的序列图表。
首先,在收到一MAC帧时,作为一个入口节点的边沿节点A使用L2转发单元7从VPN定义表3中获得对应于接收端口的一个VPN的标识符。在此,VPN标识符被假定为A。然后,检查路由获悉。特别地,查看用于VPN-A的一个L2路由表6,并且检索发送源MAC是否被登记了。如果检索失败,则把一个路由登记请求发布到路由登记单元8,而且检索该地址。如果检索成功,则仅仅检索该地址。
在路由登记请求中,路由登记单元8通过查看用于VPN-A的L2路由表6在用于VPN-A的L2路由表6中登记发送源MAC的位置信息。在这种情况下,登记发送源MAC和接收端口。然后,查看VPN管理表5,和具有一个端口VPN-A的所有节点的第3层地址。在这时候,生成一个第3层地址列表。然后,向每一个所获得的第3层地址通知发送源MAC的位置信息。这个通知的内容包括VPN标识符A、发送源MAC、接收端口、和接收节点的第3层地址。响应于来自边沿节点A的该通知,作为一个出口节点的边沿节点B通过使用路由登记单元8查看VPN管理表5,获得一个用于通知目的地端口的发送标签。特别地,获得用于一个VPN连接LSP4的一个发送标签。然后,通过查看边沿节点管理表2获得用于通知源节点/端口的发送标签。特别地,获得一个用于一个边沿连接LSP1的发送标签和一个发送端口。然后,被通知的MAC的位置信息被登记在用于VPN-A的L2路由表6中。特别地,登记一个MAC、一个用于节点A的边沿连接LSP1发送标签、一个发送端口和一个用于一个被通知的端口的VPN连接LSP4发送标签。
如果在路由获悉检查中检索了用于VPN-A的L2路由表6并且获得了一个发送源MAC,则L2转发单元7执行地址检索而不发布登记请求。
在地址检索中,查看用于VPN-A的L2路由表6,并且检索是否已经登记了发送源MAC。如果检索成功,而且如果输出目的地是另一个节点,则获得一个用于一个VPN连接LSP4的发送标签、一个用于一个边沿连接LSP1的发送标签和一个发送端口。如果输出目的地是一个本地端口,则获得一个发送目的地端口。然后,在帧输出中判断该输出端口是否为一个本地端口。如果输出端口是一个本地端口,则发送该帧而不执行其它任何处理。如果输出端口不是一个本地端口,则标签添加单元9把一个标签附加到该帧上并且发送该帧。
如果在地址检索中断定发送源MAC还没有被登记(检索失败),则把一个广播请求发布到VPN内的广播单元12。在收到该广播请求时,VPN内的广播单元12通过查看VPN管理表5获得在VPN-A中的所有端口列表,并且获得有关每一个所获得端口的发送信息。特别地,单元12判断输出目的地端口是否为一个本地端口。如果输出目的地端口是一个本地端口,则单元12获得一个输出目的地端口。如果输出目的地端口不是一个本地端口,则单元12从VPN管理表5中获得用于每个端口的一个VPN连接LSP4发送标签,并且进一步通过查看边沿节点管理表2获得用于一个容纳每个端口的节点的边沿连接LSP发送标签/端口。这个所获得的信息包括一个用于一个边沿连接LSP1的发送标签、一个发送端口和一个发送目的地端口。在获得有关所有这些端口的发送信息之后,单元12为在VPN-A中的除一个接收端口以外的所有端口复制该帧。然后,流程继续到帧输出。
在帧输出中,如果输出端口是一个本地端口,则发送该帧而不执行其它任何处理。如果输出端口不是一个本地端口,则标签添加单元9把一个标签附加到该帧上并且发送该帧。
在收到具有一个标签的该帧时,一个出口节点的标签转发单元11从标签表10中获得对应于该标签的用于发送的信息。特别地,单元11获得一个输出目的地端口并且执行一个标签操作。然后,单元11删除该标签并且发送该帧。
第二个优选实施例中的一个特定例子描述如下。
这个优选实施例中的特定例子假定建立与如图12中所示的VPN相同的VPN。
-VPN定义和LSP建立(为帧中继作准备)首先,描述在这个优选实施例的第2层-VPN系统中的用户网络之间的帧中继作之前执行的LSP建立和VPN定义的流程。
-建立边沿连接LSP-生成边沿节点管理表一个现有的LSP建立单元(诸如LDP等)在边沿节点A、B和C之间建立用于互相连接边沿节点的边沿连接LSP1,并且在一个控制面的边沿节点管理表2中登记所建立的LSP。
在边沿节点管理表2中,存储在把一帧发送到LSP时被附加到该帧上的一个标签和输出端口。尽管在一个MPLS网络中的一个节点(不同于一个边沿节点的节点)也生成这样一个表,但是在图13中省略了不同于边沿节点的节点。
-生成标签表在每个MPLS网络中的每一个节点(边沿节点和在一个MPLS网络中的每个节点)使用所生成的LSP生成一个转发面的标签表10。
-VPN定义和建立VPN连接LSP-生成VPN定义表基于在图12中显示的用户网络和VPN定义,把一个所属的VPN与在边沿节点中的每个端口相关联。
-建立VPN连接LSP每个边沿节点通过规定的协商获得与在由另一个边沿节点容纳的端口和该VPN之间的对应关系有关的信息,并且在该节点和在属于与由一本地节点容纳的VPN相同的VPN的另一个节点中的所有端口之间建立一个双向的LSP(VPN连接LSP4)。
象在第一个优选实施例中那样,一个任意的单元可以指导该协商并且建立一个VPN连接LSP20。在VPN管理表5中登记所建立的VPN连接LSP4,同时在LSP反向转换表25中为每个接收标签登记与VPN连接LSP4的反向VPN连接LSP4和一个边沿连接LSP1有关的信息,特别是一个用于反向VPN连接LSP4的发送标签、一个用于一个边沿连接LSP1的发送标签、和一个输出端口。
图27和28分别显示了当建立一个VPN连接LSP4时在一个转发面上生成的一个标签表10、以及在一个控制面上生成的一个LSP反向转换表25。
图29显示了由迄今为止描述的处理过程建立的边沿连接LSP1和VPN连接LSP4,以构成如图12中所示的VPN。
在图29中,仅仅显示了用来构成VP#200的LSP,而用来构成VPN#100的LSP被省略了。
在入口节点(边沿节点A)中的MAC帧中继过程在如上所述的准备之后在从端口#2收到下列从一个用户网络#200-1发送的MAC帧时,由于边沿节点A已经从一个线路容纳单元的端口接收了一帧,所以边沿节点A如下使用L2转发单元55和标签添加单元9在一个转发面中中继该帧。
-发送目的地MAC00aabb000001-发送源MAC00bbaa000002此刻假定用于发送目的地MAC的一个路由还没有被登记在一个L2路由表21中。
-L2转发单元(边沿节点A)边沿节点A的L2转发单元55的处理过程描述如下。
-识别对应于接收端口的VPNL2转发单元55从VPN定义表3中获得VPN#200,作为对应于接收端口#2的一个VPN的标识符。
-有关发送源MAC的路由获悉检查单元55使用发送源MAC作为一个关键字从用于接收端口#2的一个L2路由表21中检索数据。
如果检索成功,则流程继续到一个随后的地址检索,而不执行其它任何处理。然而,在这种情况下,用于一个MAC地址00bbaa000002的一个路由还没有被登记在L2路由表21中,因此检索失败。因此,边沿节点A通知一个入口路由登记单元23该路由未登记。入口路由登记单元23执行下列处理过程,并且在用于接收端口的L2路由表21中登记用于该发送源MAC的路由。
单元55在用于一个接收端口#2的L2路由表21中登记一对发送源MAC和接收端口。
-地址检索单元55使用该帧的发送目的地MAC作为一个关键字从用于端口#2的L2路由表21中检索数据。
如果检索成功,则单元55获得一个输出目的地的本地端口、或是有关边沿连接LSP和VPN连接LDP4的信息。然而,在这种情况下,用于一个MAC地址00aabb000001的一个路由还没有被登记在L2路由表21中,因此检索失败。因此,单元55把该帧传送到VPN内的广播单元12。
VPN内的广播单元12把该帧广播到在该VPN中的所有端口。尽管在这个优选实施例可以使用一个任意的广播单元,但是在这个例子中,一个入口节点复制该帧,并且把该帧发送到所有端口。
特别地,VPN内的广播单元12查看VPN管理表5,并且获得属于VPN#200的一个本地端口号以及有关在另一个节点中的端口的信息。
(i)本地端口(#2)端口#2的列表(ii)VPN连接LSP的列表-用于边沿节点B的端口#1的VPN连接LSP20-用于边沿节点B的端口#2的VPN连接LSP20-用于边沿节点C的端口#2的VPN连接LSP20单元12进一步查看边沿节点管理表2,并且获得有关与容纳广播目的地端口的每个边沿节点有关的边沿连接LSP1发送信息的多条信息的一个列表。
-用于边沿节点B的边沿连接LSP1发送标签(ab1)和输出端口(#10)-用于边沿节点C的边沿连接LSP1发送标签(ac1)和输出端口(#10)此外,VPN内的广播单元12复制该帧,并把该帧发送到在VPN#200中所获得的所有输出目的地中除接收端口#2之外的三个输出目的地。
-帧输出(边沿节点A)单元12把该帧发送到所获得的所有输出目的地。在这种情况下,如果输出目的地是一个本地端口,则发送该帧而不执行其它任何处理。如果输出目的地是一个LSP,则标签添加单元9把一个标签附加到该帧的顶部并且发送该帧。
在MPLS中继节点中的MPLS帧中继过程被发送到边沿节点B的端口#1的一帧在一个MPLS网络中的中继过程描述如下。
-具有标签的帧的中继(节点ab1和ab2)象在现有的MPLS中继过程中那样,在边沿节点之间的通道上的一个MPLS中继节点ab1使用标签转发单元11查看该节点的标签表10,因此用(ab2)代替在第一个Shim首部中的一个标签,并且把该帧从端口#1发送到节点ab2。
类似地,在边沿节点之间的通道上的一个MPLS中继节点ab2使用标签转发单元11查看该节点的标签表10,因此删除第一个Shim首部(Shim首部,包括一个标签值ab2),并且把该帧从端口#1发送到节点B。
在出口节点(边沿节点B )中的MPLS帧中继过程在出口节点B中的帧中继描述如下。
-标签转发单元(边沿节点B)在从一个MPLS网络容纳单元的端口收到一帧时,边沿节点B使用标签转发单元11查看标签表10,因此,删除第一个Shim首部,并且还获得一个相应的输出端口。
-路由登记确认单元(边沿节点B)路由登记确认单元26从用于由标签转发单元(边沿节点B)获得的一个输出端口的一个L2路由表21中检索数据。如果检索失败,则单元26通知出口路由登记单元27该路由未登记。因为在这种情况下,当被通知该路由未登记时检索失败,所以出口路由登记单元27从LSP反向转换表25中计算所接收的VPN连接LSP4的反向VPN连接LSP4和一个边沿连接LSP1,并且在用于该端口的L2路由表2中登记这些连接,而且从端口#1发送该帧。
通过当在VPN#200中向目的地广播时把以上所述的过程应用到所有复制的帧,可以在VPN#200中实现帧广播。
接下来,描述了在边沿节点B响应于从用户网络#200-1中发送的帧,从端口#1接收从用户网络#200-2-1发送的一MAC帧的情况下的一个中继过程。
这个MAC帧的地址
-发送目的地MAC00bbaa000002-发送源MAC00aabb000001在入口节点(边沿节点B )中的MPLS帧中继过程在从一个线路容纳单元的端口收到一帧时,边沿节点B如下使用L2转发单元55和标签添加单元9在一个转发面中中继该帧。
-L2转发单元(边沿节点B)-识别对应于接收端口的VPN该单元从VPN定义表3中获得VPN#200,作为对应于一个接收端口#1的一个VPN的标识符。
-有关发送源MAC的路由获悉检查该单元使用该帧的发送源MAC作为一个关键字从用于VPN#200的一个L2路由表21中检索数据。
如果检索成功,则该单元继续一个随后的处理过程,而不执行其它任何操作。然而,在这种情况下,由于用于一个MAC地址00aabb000001的一个路由还没有被登记在L2路由表21中,因此检索失败。因此,象在有关发送源MAC的路由获悉检查中那样,路由登记单元8在用于属于该VPN的每个端口的L2路由表21中登记用于该发送源MAC的路由。
-地址检索该单元使用该帧的发送目的地MAC作为一个关键字从用于VPN#200的L2路由表21中检索数据。
如果检索成功,则该单元获得一个输出目的地的本地端口或是有关边沿连接LSP/VPN连接LSP4的信息。如果检索失败,则该单元把该帧发送到VPN内的广播单元12。
在这种情况下,由于一个MAC地址00bbaa000002已经被登记在L2路由表21中了,所以检索成功。因此,该单元获得有关一个输出目的地的边沿连接LSP的信息(标签值ba1和输出端口#10)以及有关VPN连接LSP4的信息。
-输出帧(边沿节点B)该单元把该帧发送到所获得的输出目的地。在这种情况下,如果输出目的地是一个本地端口,则该单元发送该帧而不执行其它任何处理。如果输出目的地是一个LSP,则标签添加单元9把一个标签附加到该帧的头部并且发送该帧。在这个例子中,由于输出目的地是一个LSP,所以该单元在一个第3层首部之前附加一个Shim首部。
在MPLS中继节点中的MPLS帧中继过程-具有标签的帧的中继(节点ba1和ba2)如在具有一个标签的帧中继中那样(节点ab1和ab2),在边沿节点之间的通道上的每一个MPLS中继节点ba1和ba2通过现有的MPLS中继过程删除第一个Shim首部,并且把该帧发送到节点B。
在出口节点(边沿节点A)中的MPLS帧中继过程-标签转发单元(边沿节点A)在从一个MPLS网络容纳单元的端口收到该帧时,边沿节点B使用标签转发单元11查看标签表10,因此,删除第一个Shim首部,并且还获得一个相应的输出端口。
-路由登记确认单元(边沿节点B)路由登记确认单元26使用该帧的发送源MAC作为一个关键字从用于由标签转发单元(边沿节点A)获得的一个输出端口的L2路由表21中检索数据。如果检索失败,则单元26通知出口路由登记单元27该路由未登记。在这种情况下,由于检索成功,所以单元26从端口#2发送该帧而不执行其它任何处理。
如上所述,本发明中的系统可以执行通过一个发送源MAC进行的地址获悉、通过一个发送目的地MAC进行的路由确定、和在未获悉发送目的地MAC时在该VPN内的广播,因此可以构成一个第2层-VPN。
由于转发面处理过程是一个简单的、用于使用该帧的具有一个固定长度的参数查看一个表、并且执行方向确定和首部添加/删除的处理过程,所以该处理过程的速度可以被很容易地提高。
图30是一个序列图表,显示了在第二个优选实施例的特定示例中直到建立一个LSP的一个过程。
在这个例子假定中继节点ab1和ab2被安装在边沿节点A和B之间。首先,边沿节点A和B中每一个开始一个现有的LSP建立单元。然后,节点A和B中的每一个生成一个边沿节点管理表2。然后,边沿节点A/B和中继节点ab1/ab2中的每一个生成一个标签表10。这样,在边沿节点A和B之间建立一个边沿连接LSP1。
然后,边沿节点A和B中每一个生成一个VPN定义表3,并且边沿节点A和B协商以建立一个VPN连接LSP。然后,边沿节点A和B中的每一个生成一个VPN管理表5。然后,边沿节点A和B中的每一个生成一个LSP反向转换表25。通过每个节点生成一个标签表10,建立了一个VPN连接LSP20。特别地,在一个边沿节点的入口节点的端口和出口节点的端口之间建立一个连接。
图31和32是显示帧转发的序列图表。
首先,当作为一个入口节点的边沿节点A收到一MAC帧时,一个L2转发单元22通过查看VPN定义表3开始获得对应于接收端口的一个VPN的标识符。在这个例子中,VPN标识符被假定为A。
然后,在路由获悉检查中,通过查看用于一个接收端口的一个L2路由表2检索发送源MAC是否已经被登记了。如果检索成功,则流程继续到地址检索。如果检索失败,则把一个路由登记请求发布到入口路由登记单元23,而且流程继续到地址检索。
入口路由登记单元23在用于一个接收端口的L2路由表21中登记该发送源MAC的位置信息。特别地,单元23登记发送源MAC和接收端口。
在地址检索中,通过查看用于一个接收端口的L2路由表21检索该发送源MAC是否已经被登记了。如果检索成功,则流程继续到帧输出。在这种情况下,如果输出目的地是另一个节点,则一个用于一个VPN连接LSP20的发送标签、一个用于一边沿连接LSP1的发送标签、和一个发送端口被发送到一个帧输出。如果输出目的地是一个本地端口,则一个发送端口被发送到一个帧输出。
如果在发送源MAC是否已经被登记的检索中断定检索失败,则把一个广播请求发布到VPN内的广播单元12。VPN内的广播单元12从VPN管理表5中获得在VPN-A中的所有端口列表,并且获得多条有关所获得的所有端口的发送信息。特别地,判断每个输出端口的输出目的地端口是否为一个本地端口。如果输出目的地端口是一个本地端口,则获得一个发送目的地端口作为发送信息。如果输出目的地端口不是一个本地端口,则从VPN管理表5中获得用于该端口的一个VPN连接LSP20发送标签,并且进一步通过查看边沿节点管理表2获得用于一个容纳每个端口的节点的发送标签/端口。这个所获得的信息包括一个用于一个边沿连接LSP1的发送标签、一个发送端口和一个发送目的地端口。然后,在获得有关所有这些端口的发送信息之后,为在VPN-A中的所有端口复制该帧。然后,流程继续到帧输出。
如果在地址检索中断定发送目的地MAC被登记了,则在帧输出中判断输出目的地端口是否为一个本地端口。如果输出目的地端口是一个本地端口,则发送该帧。如果输出目的地端口不是一个本地端口,则标签添加单元把一个标签附加到该帧上并且发送该帧。如果该帧也被广播了,则在帧输出中判断输出目的地端口是否为一个本地端口。如果输出目的地端口是一个本地端口,则发送该帧。如果输出目的地端口不是一个本地端口,则标签添加单元把一个标签附加到该帧上并且发送该帧。
在收到该帧时,一个出口节点使用标签转发单元11从标签表10中获得对应于所接收帧的标签的、用于发送的信息。在这种情况下,获得一个输出目的地端口,并且执行一个标签操作。然后,删除一个用于在端口之间传送的标签,而且路由登记确认单元26从用于一个输出目的地端口的L2路由表21中检索该发送源MAC是否被登记了。如果检索成功,则输出该帧。如果检索失败,则把一个路由登记请求发布到出口路由登记单元27。
出口路由登记单元27通过查看LSP反向转换表25获得用于一个所接收的VPN连接LSP20的反向LSP的发送标签/端口。在这种情况下,获得一个用于一个边沿连接LSP1的发送标签、一个发送端口、一个用于一个VPN连接LSP20的发送标签等。然后,在用于一个输出目的地端口的L2路由表21中登记该发送源MAC的位置信息。特别地,登记发送源MAC和接收端口。在这种情况下,路由登记单元26查看用于一个输出目的地端口L2路由表21。
第三个优选实施例中的一个特定例子描述如下。
这个优选实施例中的特定例子假定与如图12中所示相同的VPN建立。
VPN定义和LSP建立(为帧中继作准备)首先,描述为在本发明的第2层-VPN系统中的用户网络之间的帧中继作准备而执行的、LSP建立和VPN定义的流程。
-建立边沿连接LSP-生成边沿节点管理表一个现有的LSP生成单元(诸如一个LDP等)在边沿节点A、B和C之间预先建立用于互相连接边沿节点的一个边沿连接LSP1,并且在一个控制面的边沿节点管理表2中登记所生成的LSP。
在该表中,把在发送一个帧到LSP时被附加到该帧上的一个标签和一个输出端口存储作为LSP参数。尽管在一个MPLS网络中的一个节点(不同于一个边沿节点的节点)也生成这样一个表,但是在图13中省略了对不同于边沿节点的节点的描述。
-生成标签表在每个MPLS网络中的每一个节点(边沿节点和在一个MPLS网络中的每个节点)基于所生成的LSP生成一个转发面的标签表10。
-VPN定义和建立VPN连接LSP-生成VPN定义表基于在图12中显示的用户网络和VPN定义,把一个所属的VPN与在一个边沿节点中的每个端口相关联。
-建立VPN连接LSP每个边沿节点通过某些协商获得与在由另一个边沿节点容纳的端口和一个VPN之间的对应关系有关的信息,并且在由一个本地节点容纳的一个VPN和在属于该VPN的另一个节点中的所有端口之间建立一个双向的LSP(VPN连接LSP20)。
象在第一个优选实施例中那样,一个任意的单元可以指导该协商,并且可以建立该VPN连接LSP20。每个边沿节点在VPN管理表5中登记所建立的VPN连接LSP20,并且进一步在用于每个接收标签的LSP反向转换表25中登记与VPN连接LSP20的反向VPN连接LSP20和一个边沿连接LSP1有关的信息,特别是一个用于一个反向VPN连接LSP20的发送标签、一个用于一个边沿连接LSP1的发送标签、和一个输出端口。
图27和28分别显示了当生成一个VPN连接LSP20时将在一个转发面中生成的一个标签表10、以及在一个控制面中生成的一个LSP反向转换表25。
图29显示了被建立以构成如图12所示的VPN的一个边沿连接LSP1和一个VPN连接LSP20。在图29中,仅仅显示了用来构成VPN#200的LSP,而用来构成VPN#100的LSP被省略了。
在入口节点(边沿节点A)中的MAC帧中继过程在如上所述的准备之后在从端口#2收到下列从一个用户网络#200-1发送的MAC帧时,由于边沿节点A已经从一个线路容纳单元中的端口接收了一帧,所以边沿节点A如下使用L2转发单元22和标签添加单元9在一个转发面中中继该帧。
-发送目的地MAC00aabb000001-发送源MAC00bbaa000002此刻假定用于发送目的地MAC的一个路由还没有被登记在一个L2路由表21中。
-L2转发单元(边沿节点A)边沿节点A的L2转发单元22的处理过程描述如下。
-识别对应于接收端口的VPN从VPN定义表3中获得VPN#200,作为一个对应于接收端口#2的VPN的标识符。
-有关发送源MAC的路由获悉检查L2转发单元22使用该发送源MAC作为一个关键字从用于接收端口#2的一个L2路由表21中检索数据。
如果检索成功,则流程继续一个随后的地址检索,而不执行其它任何处理。然而,在这种情况下,用于一个MAC地址00bbaa000002的一个路由还没有被登记在L2路由表21中,并且检索失败。因此,向路由登记单元8通知该路由未登记。路由登记单元8执行下列处理过程,并且在用于所有属于该VPN的端口的L2路由表21中登记用于该发送源MAC的路由。
-单元22在用于一个接收端口的L2路由表21中登记一对发送源MAC和接收端口。
-单元22从VPN管理表5中获得具有一个属于VPN#200的端口的一个边沿节点的第3层地址(B和C)。
-单元22向节点B和C通知下列组合作为在该VPN中的一个新路由。
{VPN#200、发送源MAC、端口#2、和第3层地址(A)}在收到该通知时,边沿节点B和C中的每一个从VPN管理表5(图18)中获得用于一个对应于被通知的端口#2的VPN连接LSP20的一个发送标签,并且从边沿节点管理表2(图13)中获得用于地址A的一个边沿连接LSP发送标签和一个输出端口。边沿节点B和C中的每一个在用于所有属于VPN#200的端口的一个L2路由表(图21)中登记多个数据。
-地址检索单元22使用该帧的发送目的地MAC作为一个关键字从用于端口#2的L2路由表21中检索数据。
如果检索成功,则单元22获得一个输出目的地的本地端口或是有关边沿连接LSP/VPN连接LSP4的信息。然而,在这种情况下,由于用于一个MAC地址00aabb000001的一个路由还没有被登记在L2路由表21中,因此检索失败。因此,单元22把该帧传送到VPN内的广播单元12。
VPN内的广播单元12把该帧广播到在该VPN中的所有端口。尽管在这个优选实施例可以使用一个任意的广播单元,但是在这个例子中,一个入口节点复制该帧,并且把该帧发送到在该VPN中的所有端口。
特别地,VPN内的广播单元12查看VPN管理表5,并且获得属于VPN#200的一个本地端口号以及有关在另一个节点中的端口的信息。
(i)本地端口(#2)端口#2的列表(ii)VPN连接LSP的列表-用于边沿节点B的端口#1的VPN连接LSP20-用于边沿节点B的端口#2的VPN连接LSP20-用于边沿节点C的端口#2的VPN连接LSP20单元12进一步查看边沿节点管理表2,并且获得与容纳一个广播目的地端口的每个边沿节点有关的多条边沿连接LSP1发送信息的一个列表。
-用于边沿节点B的边沿连接LSP1发送标签(ab1)和输出端口(#10)-用于边沿节点C的边沿连接LSP1发送标签(ac1)和输出端口(#10)此外,VPN内的广播单元12复制该帧,并发送该帧到在VPN#200中所获得的所有输出目的地中除接收端口#2之外的三个输出目的地。
-帧输出(边沿节点A)单元12把该帧发送到所获得的所有输出目的地。在这种情况下,如果输出目的地是一个本地端口,则发送该帧而不执行其它任何处理。如果输出目的地是一个LSP,则标签添加单元9把一个标签附加到该帧的顶部并且发送该帧。
在MPLS中继节点中的MPLS帧中继过程被发送到边沿节点B的端口#1的一个帧在一个MPLS网络中的中继过程描述如下。
-具有标签的帧的中继(节点ab1和ab2)象在现有的MPLS中继过程中那样,在边沿节点之间的通道上的一个MPLS中继节点ab1使用标签转发单元11查看该节点的标签表10,因此用(ab2)代替在第一个Shim首部中的一个标签,并且把该帧从端口#1发送到节点ab2。
类似地,在边沿节点之间的通道上的一个MPLS中继节点ab2使用标签转发单元11查看该节点的标签表10,因此删除第一个Shim首部(Shim首部,包括一个标签值ab2),并且把该帧从端口#1发送到节点B。
在出口节点(边沿节点B)中的MPLS帧中继过程在出口节点B中的帧中继描述如下。
-标签转发单元(边沿节点B)在从一个MPLS网络容纳单元的端口收到一帧时,边沿节点B使用标签转发单元11查看标签表10,因此,删除第一个Shim首部,并且还从输出端口#1中发送该帧。
通过当在VPN#200中向目的地广播时把以上所述的过程应用到所有复制的帧,可以在VPN#200中实现帧广播。
接下来,描述了在边沿节点B响应于从用户网络#200-1发送的帧,从端口#1接收从用户网络#200-2-1发送的一MAC帧的情况下的一个中继过程。
这个MAC帧的地址-发送目的地MAC00bbaa000002-发送源MAC00aabb000001在入口节点(边沿节点B)中的MPLS帧中继过程在从一个线路容纳单元的端口收到一帧时,边沿节点B如下使用L2转发单元31和标签添加单元9在一个转发面中中继该帧。
-L2转发单元(边沿节点B)-识别对应于接收端口的VPN该单元从VPN定义表3中获得VPN#200,作为对应于接收端口#1的一个VPN的标识符。
-有关发送源MAC的路由获悉检查该单元使用该帧的发送源MAC作为一个关键字从用于VPN#200的一个L2路由表21中检索数据。
如果检索成功,则该单元继续一个随后的处理过程,而不执行其它任何操作。然而,在这种情况下,由于用于一个MAC地址00aabb000001的一个路由还没有被登记在L2路由表21中,因此检索失败。因此,象在有关发送源MAC的路由获悉检查中那样,路由登记单元8在用于属于该VPN的每个端口的L2路由表21中登记用于该发送源MAC的一个路由。
-地址检索该单元使用该帧的发送目的地MAC作为一个关键字从用于VPN#200的L2路由表21中检索数据。
如果检索成功,则该单元获得一个输出目的地的本地端口或是有关边沿连接LSP/VPN连接LSP4的信息。如果检索失败,则该单元把该帧传送到VPN内的广播单元12。
在这种情况下,由于一个MAC地址00bbaa000002已经被登记在L2路由表21中了,所以检索成功。因此,该单元获得有关一个输出目的地的边沿连接LSP的信息(标签值ba1和输出端口#10)以及有关VPN连接LSP20的信息。
-帧输出(边沿节点B)单元12把该帧发送到所获得的输出目的地。在这种情况下,如果输出目的地是一个本地端口,则该单元发送该帧而不执行其它任何处理。如果输出目的地是一个LSP,则标签添加单元9把一个标签附加到该帧的顶部并且发送该帧。在这个例子中,由于输出目的地是一个LSP,所以该单元在一个第2层首部之前附加一个Shim首部。
在MPLS中继节点中的MPLS帧中继过程-具有标签的帧的中继(节点ba1和ba2)如在具有一个标签的帧中继(节点ab1和ab2)中那样,在边沿节点之间的通道上的每一个MPLS中继节点ba1和ba2通过现有的MPLS中继过程删除第一个Shim首部,并且把该帧发送到节点A。
在出口节点(边沿节点A )中的MPLS帧中继过程-标签转发单元(边沿节点A)在从一个MPLS网络容纳单元的端口收到该帧时,边沿节点B使用标签转发单元11查看标签表10,因此,删除第一个Shim首部,并且还获得一个相应的输出端口。
如上所述,本发明中的系统可以执行通过一个发送源MAC进行的地址获悉、通过一个发送目的地MAC进行的路由确定、和在未获悉发送目的地MAC时在该VPN内的广播,因此可以构成一个第2层-VPN。
由于转发面处理过程是一个简单的、用于使用该帧的具有一个固定长度的参数查看一个表、并且执行方向确定和首部添加/删除的处理过程,所以该处理过程的速度可以被很容易地提高。
图33是一个序列图表,显示了在第三个优选实施例的特定示例中直到建立一个LSP的一个过程。
在这个例子中,假定中继节点ab1和ab2被安装在边沿节点A和B之间。首先,边沿节点A和B中的每一个开始一个现有的LSP建立单元。然后,节点A和B中的每一个生成一个边沿节点管理表2。然后,边沿节点A/B和中继节点ab1/ab2中的每一个生成一个标签表10。这样,在边沿节点A和B之间建立一个边沿连接LSP1。
然后,边沿节点A和B中的每一个生成一个VPN定义表3,并且边沿节点A和B协商以建立一个VPN连接LSP。然后,边沿节点A和B中的每一个进一步生成一个VPN管理表5。然后,边沿节点A/B和中继节点ab1/ab2中的每一个生成一个标签表10。通过每个节点生成一个标签表10,建立了一个VPN连接LSP20。这个VPN连接LSP20连接边沿节点A的端口和边沿节点B的端口。
图34和35显示了说明帧转发的序列图表。
首先,当作为一个入口节点的边沿节点A收到一MAC帧时,一个L2转发单元31通过查看VPN定义表3获得对应于接收端口的一个VPN的标识符。在这个例子中,VPN标识符被假定为A。然后,流程继续到路由获悉检查。在路由获悉检查中,首先,通过查看用于一个接收端口的一个L2路由表2检索该发送源MAC是否已经被登记了。如果检索成功,则流程继续到地址检索。如果检索失败,则把一个路由登记请求发布到路由登记单元32,而且流程继续到地址检索。
路由登记单元32在用于一个接收端口的L2路由表21中登记该发送源MAC的位置信息。在这种情况下,登记发送源MAC和接收端口。然后,单元32获得具有一个在VPN-A中的端口的所有节点的第3层地址。在这种情况下,生成一个第3层地址列表。单元32向每一个所获得的第3层地址通知发送源MAC的位置信息。在这种情况下,该通知包括VPN标识A、一个发送源MAC、一个接收端口、和一个接收节点的第3层地址。
在收到该通知时,一个出口节点使用路由登记单元32从VPN管理表5中获得一个用于一个通知源端口的发送标签。特别地,获得用于一个VPN连接LSP20的一个发送标签。单元32进一步从边沿节点管理表2获得用于一个通知源的发送标签/端口。在这种情况下,获得一个用于一个边沿连接LSP1的发送标签和一个发送端口。然后,单元32在用于VPN-A的一个L2路由表21中登记被通知给用于所有属于VPN-A的端口的L2路由表21的一个MAC的位置信息。在这种情况下,登记一个MAC、一个端口、一个用于节点A的边沿连接1发送标签、一个发送端口、和一个用于一个被通知的端口的VPN连接LSP20发送标签。
在边沿节点A中,在地址检索中,通过查看用于一个接收端口的一个L2路由表21,检索该发送目的地MAC是否已经被登记了。如果检索成功,则流程继续到帧输出。如果在帧输出中输出目的地是另一个节点,则一个用于一个VPN连接LSP20的发送标签、一个用于一个边沿连接LSP1的发送标签、和一个发送端口被确定下来。如果输出目的地是一个本地端口,则确定一个发送端口。
如果在发送目的地MAC是否已经被登记的检索中断定检索失败,则把一个广播请求发布到VPN内的广播单元12。VPN内的广播单元12从VPN管理表5中获得在VPN-A中的所有端口列表,并且获得有关所获得的所有端口的发送信息。特别地,单元12为每个输出端口判断输出目的地端口是否为一个本地端口。如果输出目的地端口是一个本地端口,则单元12获得一个发送目的地端口作为发送信息。如果输出目的地端口不是一个本地端口,则单元12从VPN管理表5中获得用于该端口的一个VPN连接LSP20发送标签作为发送信息,并且进一步通过查看边沿节点管理表2获得用于一个容纳每个端口的节点的发送标签/端口。这个所获得的信息包括一个用于一个边沿连接LSP1的发送标签、一个发送端口和一个发送目的地端口。然后,在获得有关所有这些端口的发送信息之后,单元12为在VPN-A中的所有端口复制该帧。然后,流程继续到帧输出。
在帧输出中判断一待发送帧的输出目的地端口是否为一个本地端口。如果输出目的地是一个本地端口,则单元12发送该帧。如果输出目的地不是一个本地端口,则标签添加单元9把一个标签附加到一帧上并且发送该帧。
在收到该帧时,一个出口节点使用标签转发单元11从标签表10中获得对应于该标签的、有关转发的信息。特别地,单元11获得一个输出目的地端口并且执行一个标签操作。然后,单元12删除该不必要的标签并且发送该帧。
以上所述的所有L2标签表中、第一个和第二个优选实施例中的L2标签表在以下方面不同第一个优选实施例具有一个以VPN标识符为单位的L2路由表,而第二个优选实施例具有一个以端口为单位的L2路由表。
这个差别是由于以下事实在前者中在一个线路容纳单元和一个端口之间建立一个LSP,而在后者中在端口之间建立一个LSP。特别地,尽管不论是哪种情况,一个地址检索过程都是通过查看一个L2路由表来确定一个地址。
-在后者中,系统必须具有一个以端口为单位的LSP,是因为即使发送目的地端口是相同的,一个LSP的地址也会依据一个接收端口而改变。
-而在前者中,如果系统具有一个以VPN为单位的LSP,则是可以接受的,是因为只有当一接收的帧所属的VPN的号码已知时才可以指定一个发送目的地LSP。
尽管在第一个到第三个优选实施例中,在一个边沿节点内部执行一个本地中继过程而不附加一个标签,以便不考虑该中继是否为本地中继或在节点之间的中继而统一一个标签添加/删除过程,在本地中继中在该设备内部也可以暂时地附加一个L2标签,而且该L2标签还可以在发送之前被删除。做为选择,在本地中继中,可以建立与在节点之间的中继的LSP相同的LSP(特别地,在第一个优选实施例中,可以在线路容纳单元和一个设备的一个端口之间建立一个VPN连接LSP,而在第二个和第三个优选实施例中,可以在一个设备的端口之间建立一个VPN连接LSP)。
尽管在第一个到第三个优选实施例中,在一个入口节点中执行VPN广播,以便降低一个入口节点的处理负荷,例如,还可以准备另一个节点(例如,用于专门执行一个广播过程的一个特殊节点),而且该节点也可以执行广播过程。
尽管在第二优选实施例中,一个入口/出口路由登记单元仅仅在用于一个接收端口的一个L2路由表中登记路由选择信息,但是路由选择信息不仅可以被登记在用于一个接收端口的表中,而且还可以被登记在用于该设备的所有端口中、在与一个接收VPN相同的VPN中的所有端口的一个表中。特别地,入口/出口路由登记单元不仅可以在用于一个接收端口的一个L2路由表中执行登记,而且还可以执行以下过程。
-该单元获得在与一个接收VPN相同的VPN中的所有端口。
-该单元提取在该设备的VPN中的所有端口的一个列表。
-该单元在用于这些端口的一个L2路由表中登记路由选择信息。
在第一个到第三个优选实施例中,按以下次序进行流程。
1.路由获悉2.地址检索然而,该次序还可以被颠倒。特别地,还可以按以下次序进行该流程。
1.地址检索2.路由获悉尽管在第四个、第五个和第六个优选实施例中,一个入口边沿节点把一个Shim首部附加到从一个用户网络接收的具有VLAN首部的一帧上,而且发送直到一个出口边沿节点而不执行其它任何处理,以便通过减少在一个MPLS网络中的首部长度节省带宽,该入口还可以删除该VLAN首部,而且出口边沿节点还可以再次附加该VLAN首部。
在第四个、第五个和第六个优选实施例中,为了连接每个分配有一个不同VID的VLAN网络,一个入口边沿节点还可以把从一个用户网络接收的具有VLAN首部的帧中的VLAN首部删除,而且一个出口边沿节点还可以再次附加一个包括有分配给一个连接目的地VLAN网络的VID的VLAN首部。
做为选择,一个入口边沿节点可以把一个Shim首部附加到从一个用户接收的具有一个VLAN首部的一帧上,而不从该帧中删除该VLAN首部,并且把该帧发送直到出口边沿节点,而出口边沿节点还可以用分配给一个连接目的地VLAN网络的一个VID替换该VLAN首部的VID(字段)。
依据本发明,通过使用一个现有的MPLS网络连接由一个VPN连接的用户网络、以及用本发明的边沿节点代替该边沿节点,可以构成一个第2层-VPN网络。该第2层-VPN网络还可以执行通过一个中继桥接器中继发送源MAC进行的地址获悉、通过一个地址MAC进行的路由确定、和在地址MAC未确定时在一个VPN内部的广播。
由于转发面处理过程是一个简单的、用于使用该帧的具有一个固定长度的参数查看一个表、并且执行方向确定和首部添加/删除的处理过程,所以该处理过程的速度可以被很容易地提高。
权利要求
1.一种用于通过一个公用网络连接第一个和第二个第2层网络并进行帧中继的中继系统,其中第一个和第二个第2层网络是虚拟专用网络,该中继系统包括连接建立单元,把第一个第2层网络与第二个第2层网络相关联,并且建立一个MPLS连接;存储单元,当从第一个第2层网络接收一帧时存储在连接到该系统的第一个第2层网络和MPLS连接之间的对应关系;发送单元,在从第一个第2层网络收到一帧时,从该存储单元中获得一个MPLS连接并且发送该帧;以及广播单元,如果对应于从第一个第2层网络接收的帧的一个MPLS连接没有被存储在该存储单元中,则广播该帧。
2.如权利要求1所述的中继系统,其特征在于把一个物理接口或者一个逻辑接口称作一个端口,在第一个第2层网络连接到的一个中继系统的一个线路容纳单元、和第二个第2层网络连接到的一个中继系统的一个输出端口之间建立该MPLS连接。
3.如权利要求1所述的中继系统,其特征在于把一个物理接口或者一个逻辑接口称作一个端口,在容纳第一个VLAN的一个线路容纳单元和容纳第二个VLAN的一个逻辑端口之间建立该MPLS连接。
4.如权利要求1所述的中继系统,其特征在于把一个物理接口或者一个逻辑接口称作一个端口,在第一个第2层网络连接到的一个中继系统的一个输入端口、和第二个第2层网络连接到的一个中继系统的一个输出端口之间建立该MPLS连接。
5.如权利要求1所述的中继系统,其特征在于把一个物理接口或者一个逻辑接口称作一个端口,在对应于在收到一个帧时识别的一个第2层网络的存储单元的存储信息中,登记在在该帧中的一个发送源地址和一个接收端口之间的对应关系,同时把该对应关系通知给其中每个都具有一个对应于公用网络中的该第2层网络的一个端口的所有边沿节点,并且登记在发送源地址和用于接收端口的MPLS连接之间的对应关系。
6.如权利要求1所述的中继系统,其特征在于把一个物理接口或者一个逻辑接口称作一个端口,在从一个MPLS连接收到一帧时,把在该帧中的一个发送源地址和一个MPLS连接相关联并且登记下来,其中该MPLS连接具有一个发送目的地和一个发送源分别作为该连接的一个发送源端口和该连接的一个输出目的地端口。
7.如权利要求1所述的中继系统,在从公用网络收到一帧时,获得对应于在该帧中的一个标签的一个输出目的地,删除该标签,并且发送该帧。
8.如权利要求1所述的中继系统,其特征在于如果第一个第2层网络和第二个第2层网络都在由IEEE802.1Q(IEEE802.1Q虚拟LAN)规定的一个VLAN中进行操作,而且如果一个物理接口或者一个逻辑接口被称作一个端口,则在容纳第一个VLAN的一个逻辑端口和容纳第二个VLAN的一个逻辑端口之间建立该MPLS连接。
9.如权利要求1所述的中继系统,其特征在于该公用网络是一个MPLS网络。
10.如权利要求1所述的中继系统,其特征在于该帧是一MAC帧。
11.一种用于通过一个公用网络连接第一个和第二个第2层网络并进行帧中继的中继方法,其中该第一个和第二个第2层网络是虚拟专用网络,该中继方法包括把第一个第2层网络与第二个第2层网络相关联,并且建立一个MPLS连接;当从第一个第2层网络接收一帧时存储在连接到该系统的第一个第2层网络和MPLS连接之间的对应关系;在从第一个第2层网络中收到一帧时,从存储单元中获得一个MPLS连接并且发送该帧;以及如果对应于从第一个第2层网络接收的帧的一个MPLS连接没有被存储在存储单元中,则广播该帧。
12.如权利要求11所述的中继方法,其特征在于把一个物理接口或者一个逻辑接口称作一个端口,在第一个第2层网络连接到的一个中继系统的一个线路容纳单元、和第二个第2层网络连接到的一个中继系统的一个输出端口之间建立该MPLS连接。
13.如权利要求11所述的中继方法,其特征在于把一个物理接口或者一个逻辑接口称作一个端口,在容纳第一个VLAN的一个线路容纳单元和容纳第二个VLAN的一个逻辑端口之间建立该MPLS连接。
14.如权利要求11所述的中继方法,其特征在于把一个物理接口或者一个逻辑接口称作一个端口,在第一个第2层网络连接到的一个中继系统的一个输入端口、和第二个第2层网络连接到的一个中继系统的一个输出端口之间建立该MPLS连接。
15.如权利要求11所述的中继方法,其特征在于把一个物理接口或者一个逻辑接口称作一个端口,在对应于在收到一个帧时识别的一个第2层网络的存储单元的存储信息中,登记在在该帧中的一个发送源地址和一个接收端口之间的对应关系,同时把该对应关系通知给其中每个都具有一个对应于公用网络中的该第2层网络的一个端口的所有边沿节点,并且登记在发送源地址和用于接收端口的MPLS连接之间的对应关系。
16.如权利要求11所述的中继方法,其特征在于把一个物理接口或者一个逻辑接口称作一个端口,在从一个MPLS连接收到一帧时,把在该帧中的一个发送源地址和一个MPLS连接相关联并且登记下来,其中该MPLS连接具有一个发送目的地和一个发送源分别作为该连接的一个发送源端口和该连接的一个输出目的地端口。
17.如权利要求11所述的中继方法,其特征在于在从公用网络中收到一帧时,中继系统获得对应于在该帧中的一个标签的一个输出目的地,删除该标签,并且发送该帧。
18.如权利要求11所述的中继方法,其特征在于如果第一个第2层网络和第二个第2层网络都在由IEEE802.1Q(IEEE802.1Q虚拟LAN)规定的一个VLAN中进行操作,而且如果一个物理接口或者一个逻辑接口被称作一个端口,则在容纳第一个VLAN的一个逻辑端口和容纳第二个VLAN的一个逻辑端口之间建立该MPLS连接。
19.如权利要求11所述的中继方法,其特征在于该公用网络是一个MPLS网络。
20.如权利要求11所述的中继方法,其特征在于该帧是一MAC帧。
全文摘要
一种中继系统。从一个本地专用网络连接到的(在一个线路容纳单元中的)一个端口输入的一MAC帧被进一步输入到一个L2转发单元7。通过查看一个VPN定义表3或一个L2路由表6判断所接收的MAC帧应该被传送到何处,而且该MAC帧被输出到一个本地端口或是在把一个标签附加到该MAC帧上之后该MAC帧被发送到一个MPLS网络。如果没有获得一个发送目的地,则把所接收的MAC帧的MAC地址和一个输入端口相关联,并且在一个路由登记单元中存储该对应关系用于以后的桥接。做为选择,把该MAC帧广播到不同于该接收端口的所有端口。
文档编号H04L12/56GK1405986SQ02142710
公开日2003年3月26日 申请日期2002年9月18日 优先权日2001年9月18日
发明者久保田真, 鹤冈哲明 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1