CN101385284B - 节点、网络系统、帧传送方法和帧传送程序 - Google Patents
节点、网络系统、帧传送方法和帧传送程序 Download PDFInfo
- Publication number
- CN101385284B CN101385284B CN200780005887.1A CN200780005887A CN101385284B CN 101385284 B CN101385284 B CN 101385284B CN 200780005887 A CN200780005887 A CN 200780005887A CN 101385284 B CN101385284 B CN 101385284B
- Authority
- CN
- China
- Prior art keywords
- port
- frame
- output
- node
- output port
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
通过使用扩展生成树协议的最佳路由传送技术可以解决在整个网络中吞吐量降低的问题。网络节点的帧交换单元(730)包括:STP控制单元(880),用于当生成树的端口状态改变时,将生成树标识符和端口中的预定端口的端口号报告给表控制单元(890);表控制单元(890),用于将所接收的该预定端口的端口号设置为节点ID=生成树标识符的条目的输出端口,以用于转发表存储单元(840);以及表搜索单元(830),用于从通过从帧分析单元(800)接收帧信息而获得的输出端口中确定输出目的地。
Description
技术领域
本发明涉及通信网络中的帧传送,更具体地涉及用于执行帧的最短路径传送的通信网络节点、网络系统、帧传送方法和帧传送程序。
背景技术
近年来,作为公司使用的合适的数据服务而引人注目的是广域以太网(注册商标)VPN服务(广域以太(wide area Ether)),该广域以太网VPN服务是在现有LAN中广泛使用的以太网(注册商标)技术向广域网的扩展。广域以太继承了现有以太网(注册商标)技术的包括使用方便在内的优点,例如即插即用和低成本。
图49示出了广域以太网络的一个示例。该广域以太网络由边缘交换机E1、E2、E3和E4以及核心交换机C1和C2组成,其中,边缘交换机E1、E2、E3和E4分别收纳了用户终端T1、T2、T3和T4,并且核心交换机C1和C2仅执行中继操作而没有容纳用户终端。作为用于在广域以太网络而非在普通以太网(注册商标)中传送帧的系统来提出的是例如在稍后将描述的文献1中记载的方法,在文献1中,在向边缘交换机E1到E4指派节点ID的情况下,广域以太网(注册商标)网络中的每个节点基于该节点ID来传送帧。在文献1中记载的方法中,对于从用户终端T1~T4接收的帧,入口边缘交换机在VLAN标签字段(在下文中称为扩展标签)中存储目的地用户终端T1~T4所连接到的出口边缘交换机的节点ID,广域以太网(注册商标)网络中的每个节点基于该扩展标签来传送帧,并且出口边缘交换机在从帧中删除扩展标签的情况下将帧传送到用户终端T1~T4。在图49所示的示例中,在边缘交换机E1、E2、E3和E4中设置了g1、g2、g3和g4作为它们的节点ID。
参考图50和51,将描述帧格式。图50示出了以太网(注册商标)帧200的格式。以太网(注册商标)帧200由目的地MAC地址210、发送源MAC地址220、VLAN标签230、类型240、有效载荷250和FCS 260。另一方面,图51示出了添加了扩展标签的扩展标签帧的格式。扩展标签帧300在以太网(注册商标)帧200的发送源MAC地址220和VLAN标签230之间插入了扩展标签310。在图50和51中,存在VLAN标签230没有被添加的情况。在本说明书中,将在添加了VLAN标签230的前提下进行描述。
根据以太网(注册商标)技术,在没有任何措施的情况下,当在网络中存在环路结构时,帧可能持续在环路上循环,从而使得网络可能出现故障,尤其是当广播帧持续循环时。为了避免这种情形,即使当在网络中存在环路结构时,用于形成无环路网络的生成树协议(在下文中称为STP,该技术由IEEE 802.1D定义)或者作为该协议的高速操作版本的快速生成树协议(在下文中称为RSTP,该技术由IEEE 802.1w定义)被用在逻辑上排除环路的可能情况中。当使用STP或RSTP时,环路结构中的任意端口进入阻塞状态(既不执行主信号帧的发送也不执行主信号帧的接收的状态,更精确而言,帧在被传送时,该帧在处于阻塞状态中的端口处被丢弃),从而使得该结构为无环路。在作为示例的图49所示的网络中,当在边缘交换机E3、核心交换机C1、核心交换机C2和边缘交换机E4之间存在环路结构时,由核心交换机C2的端口p2获得阻塞状态使得该结构为无环路。但是,在使用所述STP或RSTP的情况下,因为不允许连接到阻塞端口的链路传送帧,所以当在特定交换机之间传送帧时,无法通过最短路径(具有最小数目的跳的路径)来传送该帧。在图49所示的示例中,当从用户终端T2向用户终端T1传送帧时,因为边缘交换机E2的端口p1处于阻塞状态中,无法通过从边缘交换机E2到边缘交换机E1的路径来传送的帧将通过从边缘交换机E2、核心交换机C2、边缘交换机E4、边缘交换机E3、核心交换机C1和边缘交换机E1到达用户终端T1的路径来传送。换言之,虽然就物理拓扑而言距离仅为一跳,但是就逻辑拓扑而言应当经过五跳,从而阻止了某些情况下的最短路径。
作为用于解决这个问题的技术,在文献2中记载了这样一种方法:其中,利用能够针对所使用的每个VLAN管理多个STP/RSTP的多STP(在下文中称为MSTP),每个边缘交换机生成以其自身的交换机作为路由节点的STP/RSTP,从而使得目的地为将成为各个STP/RSTP的路由节点的边缘交换机的帧的传送路径为其STP/RSTP。因为在STP/RSTP中,被使得活动的链路(不包括阻塞端口的链路)被选择成为一条从路由节点起的链路代价为最小的链路,所以在文献2中记载的方法的使用使得可以通过最短路径来传送。图52所示的是将文献2所记载的方法用于以上参考图49描述的从用户终端T2到T1的帧传送的示例。在图52中,从用户终端T2到T1的帧传送是通过使用以边缘交换机E1作为路由节点的STP/RSTP来执行的(从边缘交换机E3和E4到E1的传送也是通过使用以边缘交换机E1作为路由节点的STP/RSTP来执行的)。因此,来自用户终端T2的帧经由边缘交换机E2和边缘交换机E1而到达用户终端T1。因此,在各个节点之间的传送可以通过最短路径来实现。
为了实现上述这种传送,文献2所记载的是下述处理。在边缘交换机之间传送时,在各个边缘交换机中设置的节点ID存储在VLAN标签中的情况下,各个边缘交换机和核心交换机基于该ID来传送帧。在图52中,在向边缘交换机E1、E2、E3和E4分别指派了节点ID g1、g2、g3和g4的情况下,如上所述,在从边缘交换机E2向边缘交换机E1传送时,VLAN标签g1在边缘交换机E2处被堆在帧中(这个VLAN标签将被表示为扩展标签),以使得边缘交换机E2基于该扩展标签g1向边缘交换机E1传送帧。在各个交换机的转发表中,针对扩展标签值的输出端口被进行管理,其中,被设置为输出端口的是下述STP/RSTP的路由端口(该端口的状态于是为指示出允许传送的状态的转发状态)的端口号:其路由节点为具有等于扩展标签值的节点ID的边缘交换机。在图52中,对于针对扩展标签g1的输出端口,各个交换机在STP-ID为g1的STP/RSTP中设置处于转发状态中的路由端口的端口号。类似地,对于目的地为用户终端T2的帧的传送,以边缘交换机E2为路由节点的STP/RSTP将成为传送路径;对于目的地为用户终端T3的帧的传送,以边缘交换机E3作为路由节点的STP/RSTP树将成为传送路径;并且对于目的地为用户终端T4的帧的传送,以边缘交换机E4作为路由节点的STP/RSTP将成为传送路径。在图53(A)~(D)中图示了各条传送路径的配置。因此,根据帧目的地用户终端,使其路由节点为该用户终端所连接的边缘交换机的STP/RSTP树成为传送路径,使得各个节点的帧传送路径可以成为最佳路径。
文献1:Hidaka等人的“Proposal of Next Generation Ethernet(registered trademark)Architecture GOE(Global Optical Ethernet(registeredtrademark))-(1)Basic Concept·Framework·Element Technique(下一代以太网(注册商标)体系结构GOE(全球光以太网(注册商标))-(1)基本概念·架构·要素技术)”,日本电子、信息和通信工程师协会,2002年学术会议,B-7-11。
文献2:Umayabashi等人的“Proposal of Next Generation Ethernet(registered trademark)Architecture GOE(Global Optical Ethernet(registeredtrademark))-(2)High Efficiency Routing and High-speed Protection(下一代以太网(注册商标)体系结构GOE(全球光以太网(注册商标))-(2)高效路由和高速保护)”,日本电子、信息和通信工程师协会,2002年学术会议,B-7-12。
但是,关注特定传送路径,将发现以下缺点。
例如,在其目的地节点为图53(A)所示的边缘交换机E1的路径的情况下(在目的地为与边缘交换机E1相连接的用户终端的帧的传送路径的情况下),虽然所选择的链路形成了到边缘交换机E1的最短路径,但是因为STP/RSTP的原有特性,将端口设置为阻塞状态使得存在无法用于传送的链路。
在图53(A)所示的示例中,这样的链路对应于核心交换机C1和核心交换机C2之间的链路以及边缘交换机E3和边缘交换机E4之间的链路。此外,在图53(B)~(D)中,也存在无法用于帧传送的链路。在图53所示的示例中,在帧传送的所有传送路径中都没有使用核心交换机C1和核心交换机C2之间的链路(是否存在如上所述根本不使用的链路取决于包括拓扑、链路代价和端口号在内的参数)。
换而言之,文献2所记载的路径设置实现了最短路径传送,但是同时存在改进链路使用效率的空间。
本发明的一个示例目的是,提供在执行最短路径传送的同时使得可以在整体上提高网络吞吐量的节点、网络系统、帧传送方法和帧传送程序。
发明内容
根据本发明的第一示例性方面,一种用于传送从发送源终端向目的地终端发送的数据帧的网络的节点包括:用于使用其路由节点为与目的地终端相连接的节点的生成树作为数据帧从网络中的各个节点到所述节点的传送路径的装置,
用于基于生成树的端口信息来确定针对所述节点的输出端口的装置,以及
用于通过所确定的输出端口来向所述节点传送数据帧的装置。
根据本发明的第二示例性方面,一种在用于传送从发送源终端向目的地终端发送的数据帧的网络中的帧传送方法,其中,网络中的各个节点
使用其路由节点为与目的地终端相连接的节点的生成树作为数据帧到与目的地终端相连接的所述节点的传送路径,
基于生成树的端口信息来确定针对与目的地终端相连接的所述节点的输出端口,并且
通过所确定的输出端口来向与目的地终端相连接的所述节点传送数据帧。
根据本发明第三示例性方面,一种用于传送从发送源终端向目的地终端发送的数据帧的网络系统,其中,网络中的各个节点包括:
用于使用其路由节点为与目的地终端相连接的节点的生成树作为数据帧到与目的地终端相连接的所述节点的传送路径的装置,
用于基于生成树的端口信息来确定针对与目的地终端相连接的所述节点的输出端口的装置,以及
用于通过所确定的输出端口来向与目的地终端相连接的所述节点传送数据帧的装置。
根据本发明的第四示例性方面,一种存储有下述帧传送程序的计算机可读介质,该帧传送程序在作为在用于传送从发送源终端向目的地终端发送的数据帧的网络中的计算机的节点上执行,该帧传送程序包括以下功能:
使用其路由节点为与目的地终端相连接的节点的生成树作为去往与目的地终端相连接的所述节点的传送路径,
基于生成树的端口信息来确定针对与目的地终端相连接的所述节点的输出端口,以及
通过所确定的输出端口来向与目的地终端相连接的所述节点传送帧。
根据本发明,因为其路由节点为与目的地终端相连接的节点的生成树被用作网络中的帧传送路径,所以帧可以通过最短路径来传送,并且因为帧是通过基于生成树的端口信息确定的输出端口来传送的,所以在背景技术中没有使用的链路(路径)可以被用于帧传送,从而在整体上提高网络的吞吐量。
附图说明
图1是示出根据本发明的广域以太的网络模型的示图;
图2是示出根据本发明的交换机的结构的示图;
图3是示出根据本发明第一示例性实施例的帧交换单元的结构的示图;
图4是示出本发明的转发表存储单元的结构的示图;
图5是本发明的Tag(标签)表;
图6是本发明的MAC/Tag表;
图7是本发明的MAC表;
图8是本发明的STP端口状态管理表;
图9是在本发明的表控制单元890中设置Tag表900的流程图;
图10是在本发明的表搜索单元830处确定所接收帧的输出目的地的流程图;
图11是根据本发明的各个交换机的STP端口状态管理表;
图12是根据本发明的第一示例性实施例的边缘交换机E8的转发表;
图13是根据本发明第一示例性实施例的核心交换机C6的转发表;
图14是根据本发明第一示例性实施例的边缘交换机E6的转发表;
图15是根据本发明第一示例性实施例的边缘交换机E5的转发表;
图16是根据本发明第一示例性实施例的边缘交换机E7的转发表;
图17是根据本发明第一示例性实施例的核心交换机C5的转发表;
图18示出了以太网(注册商标)帧的一个示例;
图19示出了扩展标签帧的一个示例;
图20是根据本发明、在故障发生的情况下的广域以太的网络模型的示图;
图21是根据本发明第一示例性实施例的核心交换机C6的转发表的另一个示例;
图22是根据本发明第一示例性实施例的边缘交换机E6的转发表的另一个示例;
图23是示出根据本发明第二示例性实施例的帧交换单元的结构的示图;
图24是示出根据本发明的转发表存储单元的另一种结构的示图;
图25是根据本发明的Tag表的另一个示例;
图26是在本发明的表控制单元2690处设置Tag表2700的流程图;
图27是在本发明的表搜索单元2630处确定所接收帧的输出目的地的流程图;
图28是根据本发明第二示例性实施例的边缘交换机E8的转发表;
图29是根据本发明第二示例性实施例的核心交换机C6的转发表;
图30是根据本发明第二示例性实施例的核心交换机C6的转发表的另一个示例;
图31示出了根据本发明的Tag表的又一个示例;
图32是示出根据本发明第三示例性实施例的帧交换单元的结构的示图;
图33是在本发明的表控制单元2890处设置Tag表2800的流程图;
图34是在本发明的表搜索单元3230处确定所接收帧的输出目的地的流程图;
图35是示出根据本发明的广域以太的另一种网络模型的示图;
图36是根据本发明第三示例性实施例的边缘交换机E8的转发表;
图37是根据本发明第三示例性实施例的核心交换机C6的转发表;
图38是根据本发明第三示例性实施例的核心交换机C6的转发表的另一个示例;
图39示出了以太网(注册商标)帧的另一个示例;
图40是示出VLAN标签的结构的示图;
图41示出了扩展标签帧的另一个示例;
图42是示出根据本发明第四示例性实施例的帧交换单元的结构的示图;
图43是示出根据本发明的转发表存储单元的另一种结构的示图;
图44示出了根据本发明的Tag表的又一个示例;
图45是在本发明的表控制单元3790处设置Tag表3800的流程图;
图46是在本发明的表搜索单元3730处确定所接收帧的输出目的地的流程图;
图47是根据本发明第四示例性实施例的边缘交换机E8的转发表;
图48是根据本发明第四示例性实施例的核心交换机C6的转发表;
图49是根据背景技术的广域以太的一种网络模型的示图;
图50示出了以太网(注册商标)帧的格式;
图51示出了扩展标签帧的格式;
图52是根据背景技术的广域以太的另一种网络模型的示图;
图53示出了当使用背景技术时获得的帧传送路径。
具体实施方式
接下来,将参考附图来详细描述用于实现本发明的最佳模式。
(第一示例性实施例)
以下,将参考附图来详细描述本发明的一个示例性实施例。
图1示出了本发明所适用的物理网络结构的示例。
除了现有功能之外,图1所示的边缘交换机E5、E6、E7和E8以及核心交换机C5和C6都还具有根据本发明的功能。各个交换机以下述方式相互连接:
(1)边缘交换机E5的端口p3和边缘交换机E6的端口p1,
(2)边缘交换机E5的端口p2和核心交换机C5的端口p1,
(3)核心交换机C5的端口p2和边缘交换机E7的端口p1,
(4)边缘交换机E7的端口p3和边缘交换机E8的端口p2,
(5)边缘交换机E8的端口p1和核心交换机C6的端口p3,
(6)核心交换机C6的端口p1和边缘交换机E6的端口p2,以及
(7)核心交换机C5的端口p3和核心交换机C6的端口p2。
各个边缘交换机E5到E8以下述方式来连接用户终端T5到T8:
(1)边缘交换机E5的端口p1和用户终端T5,
(2)边缘交换机E6的端口p3和用户终端T6,
(3)边缘交换机E7的端口p2和用户终端T7,以及
(4)边缘交换机E8的端口p3和用户终端T8。
作为在如上所述的网络中的帧传送,将以下述内容为前提对典型示例进行描述:从用户终端T5到T8发送的以太网(注册商标)帧在边缘交换机E5到E8处被添加扩展标签的情况下被转换为扩展标签帧,被基于该扩展标签通过核心交换机C5和C6来传送,并在所添加的扩展标签在目的地用户终端侧的边缘交换机E5到E8处被删除的情况下被传送到目的地用户终端T5到T8。
首先,将参考图2对边缘交换机E5到E8以及核心交换机C5和C6的结构进行描述。
图2所示的交换机700具有对边缘交换机E5到E8以及核心交换机C5和C6而言共同的结构。
交换机700由PHY 711、712、713和714,MAC 721、722、723和724,帧交换单元730,存储器740,CPU 750,控制台I/O 760以及故障管理单元770组成。
PHY 711、712、713和714连接到IF 701、702、703和704,MAC721、722、723和724连接到PHY 711、712、713和714,帧交换单元703连接到MAC 721、722、723和724。
从IF 701、702、703和704输入的以太网(注册商标)帧分别通过PHY 711、712、713和714以及MAC 721、722、723和724而被施加给帧交换单元730,并且在帧交换单元730处通过稍后将描述的操作来确定适当的输出IF的情况下,帧分别通过MAC 721、722、723和724以及PHY711、712、713和714而被输出到IF 701、702、703和704。
当感测到在与其相连接的IF 701、702、703和704处的故障时,PHY711、712、713和714将故障信息通知给故障管理单元770。
管理各个IF的状态(正常/故障)的故障管理单元770在从PHY711、712、713和714接收到故障信息之后,将故障的发生通知给帧交换单元730和CPU 750之一或两者。
CPU 750和其中存储了必要数据和用于控制帧交换单元730的操作的程序的存储器740向帧交换单元730下关于控制的指令。
控制台I/O 760是与设备中的各个单元的设置管理相关的外部接口。
图3示出了帧交换单元730的详细结构。
帧交换单元730由帧分析单元800、帧重写单元810、帧传送单元820、表搜索单元830、转发表存储单元840、MAC学习单元850、控制帧分发单元870、STP控制单元880、表控制单元890和设置控制单元895构成。
帧交换单元730具有下述功能:如上所述,判断从MAC 712到724输入的以太网(注册商标)帧的输出IF,并向与预定IF相连接的MAC 721到724传送以太网(注册商标)帧。
当交换机700是边缘交换机E5~E8时,将被输入/输出的帧的种类是以下任意一种:
作为输入的图50所示的以太网(注册商标)帧200和作为输出的图51所示的扩展标签帧300,作为输入的扩展标签帧300和作为输出的以太网(注册商标)帧200,以及既作为输入帧又作为输出帧的扩展标签帧300。
在交换机700为核心交换机C5、C6的情况下,将被输入/输出的帧的种类是既作为输入帧又作为输出帧的扩展标签帧300。
以下,将描述帧交换单元730的各个单元。
帧分析单元800分析从MAC 721到724输入的帧,并且当该帧是作为普通以太网(注册商标)帧200或扩展标签帧300的主信号数据帧时,将头部信息、帧种类信息和输入端口信息传送到表搜索单元830,并且当该帧是以太网(注册商标)帧200时,也向MAC学习单元850传送相同信息。此外,还向帧重写单元810传送整个帧或有效载荷部分。当输入帧是控制帧时,向控制帧分发单元870传送整个帧。
当受表搜索单元830指示时,帧重写单元810针对从帧分析单元800接收的主信号数据帧执行帧重写。在帧重写时,通过将扩展标签推入栈而将以太网(注册商标)帧200重写为扩展标签帧300。或者,通过删除扩展标签将扩展标签帧300重写为以太网(注册商标)帧200。在执行前述重写中的任意一个之后,或者当重写不必要时,在从帧分析单元800接收到帧之后,将该帧传送到帧传送单元820。
对于主信号数据帧,帧传送单元820将从帧重写单元810接收的主信号数据帧传送到与从表搜索单元830接收的输出端口相对应的MAC 721到724。对于控制帧,该单元将从控制帧分发单元870接收的控制帧同时传送到与所接收的输出端口相对应的MAC 721到724。
表搜索单元830基于从帧分析单元800接收的头部信息、帧种类信息和输入端口信息而参考转发表存储单元840,以获得输出端口信息和帧重写信息。
(1)当帧种类信息是以太网(注册商标)帧200并且输入端口是在用户终端侧的端口时,参考转发表存储单元840的MAC/Tag表910(图6,稍后将描述),以获得MAC_DA的扩展标签,同时参考Tag表900(图5,稍后将描述),以获得该扩展标签的输出端口。之后,将所获得的扩展标签通知给帧重写单元810,以指示将扩展标签推入栈。此外,还将输出端口信息通知给帧传送单元820。
(2)当帧种类信息是扩展标签帧300并且输入端口是网络侧的端口时,操作随指示出其自身节点的地址的扩展标签的值和指示出其它节点的地址的值而变化。
(2-1)在其它节点地址的情况下,参考转发表存储单元840的Tag表900,获得针对扩展标签的输出端口。之后,将输出端口信息通知给帧传送单元820,并通知帧重写单元810没有帧重写。
(2-2)在其自身节点地址的情况下,参考转发表存储单元840的MAC表920(图7,稍后将描述),而获得针对MAC_DA和VLAN的输出端口。之后,将输出端口信息通知给帧传送单元820,并指示帧重写单元810删除扩展标签。
当参考Tag表900而获得针对扩展标签的输出端口时,在本发明中出现获得多个输出端口的情况。作为用于从所述多个输出端口中确定针对所考虑的帧的输出端口的算法,可以在没有特别限制的情况下使用以下所示出的常见方法。例如,可以使用诸如轮询(round robin)或加权轮询之类的算法。当使用加权轮询时,可以以相关端口的链路速率等作为参数来设置指配给各个端口的权重。作为另一种方法,可以通过使用包括目的地MAC地址和发送源MAC地址在内的以太网(注册商标)帧的头部信息,或者存储在以太网(注册商标)帧的有效载荷中的、包括目的地IP地址和发送源IP地址在内的IP分组的头部信息,或者这些信息的组合来进行哈希(hashing),从而选择输出端口。
在确定输出端口之后,将所确定的端口通知给帧传送单元820。
转发表存储单元840具有存储用于传送帧的信息的各种表。这些表包括用于根据扩展标签获得输出端口的Tag表,用于根据MAC地址和VLAN标签获得扩展标签的MAC/Tag表,以及用于根据MAC地址和VLAN标签获得输出端口的MAC表。
图4示出了转发表存储单元840的结构的一个示例。
转发表存储单元840由Tag表900、MAC/Tag表910、MAC表920、表写入控制单元930和表读取控制单元940构成。向各个表写入新数据通过表写入控制单元930来执行,并且从各个表读取数据通过表读取控制单元940来执行。
Tag表900、MAC/Tag表910和MAC表920的结构分别如图5、图6和图7所示。表结构并不限于图5、图6和图7所示的那些,并且图6的MAC/Tag表910和图5的Tag表可以组合,以例如添加针对MAC/Tag表910中的扩展标签的输出端口。
以下,将根据图5、图6和图7所示的结构进行描述。
在从帧分析单元800接收到头部信息之后,MAC学习单元850参考转发表存储单元840的MAC表920,以搜索针对所接收的头部信息的MAC_SA和VLAN的输出端口,并且当不存在条目时,将MAC_SA存储在MAC地址字段中,将VLAN存储在VLAN字段中,并将接收端口存储在输出端口字段中。这里,当因为设置使得接收端口为是网络侧的端口时,上述学习功能可以停止。
控制帧分发单元870将从帧分析单元800接收的控制帧传送到预定的处理单元,并将从该处理单元接收的控制帧和输出端口信息传送到帧传送单元820。在本结构中,因为处理单元仅仅是STP控制单元880,所以控制帧(在下文中称为网桥协议数据单元:BPDU)被传送到STP控制单元880,同时从STP控制单元880接收的BPDU和输出端口信息被传送到帧传送单元820。
STP控制单元880基于从控制帧分发单元870接收的BPDU等,来执行更新STP/RSTP的端口信息的处理,以重新生成BPDU并将其传送到相邻交换机,还将BPDU和输出端口信息传送到控制帧分发单元870。本发明是基于其中为每个VLAN激活RSTP的MSTP为前提的,其中,针对每个VLAN来管理RSTP的端口信息。
作为用于管理当前信息的表,提供了图8所示的STP端口信息管理表1300。
针对每个VLAN,即,针对STP端口信息管理表1300中的每个树ID来管理的是关于与相应交换机的端口相关的STP的信息。
作为STP的端口信息来管理的是端口的功能和端口的状态。
端口的功能包括根端口、指定端口和替代端口。在图8中,它们分别表示为R、D和A。
端口的状态包括转发状态、学习状态和丢弃状态。在图8中,它们分别表示为f、1和d,并且作为端口功能/端口状态成对表示。
在例如在开始RSTP或改变RSTP的结构时改变STP端口状态管理表1300中的端口状态的情况下,STP控制单元880更新STP端口状态管理表1300的内容,并从每棵树中提取端口功能为根端口并且端口状态为转发状态的端口(在图8中表示为R/f),以及端口功能为替代端口的端口(虽然端口状态可以是任何状态,但是其基本上为丢弃状态,在图8中表示为A/d),以将树ID和相关端口的端口号通知给表控制单元890。
表控制单元890具有以下功能:基于从STP控制单元880通知的STP的端口信息,设置针对扩展标签的输出端口(更新转发表存储单元840中的Tag表900)。
在从STP控制单元880接收到树ID及其相应端口信息(端口功能为根端口且端口状态为转发状态的端口或者端口功能为替代端口的端口的端口号)之后,表控制单元890将所接收的端口号记载在转发表存储单元840中的Tag表900中,作为扩展标签字段等同于所接收的树ID的条目中的端口号。
设置控制单元895通过CPU 750接收经由图2所示的控制台I/O 760输入的设置信息,以针对适当的设置单元执行设置处理。更具体而言,在STP控制单元880中设置STP参数等。
在图9中图示了在表控制单元890处对Tag表900的设置处理的流程图,并且在图10中图示了在表搜索单元830处的所接收帧输出端口确定处理的流程图,它们是在前述各个单元中的本发明的特性处理。
如图9所示,在步骤A1处从STP控制单元880接收STP端口信息之后,在步骤A2处表控制单元890基于所接收的STP端口信息来更新Tag表900。
此外,如图10所示,在步骤B1处从帧分析单元800接收到所接收的帧信息之后,在步骤B2处表搜索单元830参考Tag表900,以获得针对扩展标签的输出端口。这里,当在步骤B3处判断所获得的输出端口是单个还是多个的结果是发现存在多个端口时,在步骤B4处通过以所获得的多个端口作为目标使用预定算法来确定输出目的地。当在步骤B3处作出的判定是所获得的端口为一个端口时,在步骤B5处将所获得端口判定为输出目的地。之后,在步骤B6处,将所确定的输出端口信息通知给帧传送单元820。
针对在图1所示的由边缘交换机E5到E8以及核心交换机C5和C6构成的网络(以前述结构为例)中从终端T8到终端T5的帧传送,将对本发明的帧传送方法进行描述。根据本发明的帧传送方法的使用实现了从用户终端T8到用户终端T5的最短路径传送(这是现有技术的特性),同时使用了在背景技术中没有使用的用于帧传送的链路,使得可以提高整个网络的带宽使用效率。
在图1中,因为终端T5是目的地终端,所以其路由节点为终端T5所连接到的边缘交换机E5的RSTP树将成为帧传送的路径。以g5作为该树的STP-ID,当前树被用VLAN=g5来标识。在这种情况下,在各个交换机中的STP端口状态管理表1300如图11(A)到(F)所示,其中,分别向边缘交换机E5、E6、E7和E8以及核心交换机C5和C6指派了标号1401、1402、1403、1404、1405和1406。这里所图示的仅仅是其路由节点为边缘交换机E5的RSTP树。实践中,还提供了与以其它节点作为路由节点的树相关的信息。
参考图1,在从终端T8到终端T5的帧传送中,根据现有技术帧经由通过边缘交换机E8、核心交换机C6、边缘交换机E6和边缘交换机E5的传送路径到达终端T5,而作为本发明的特性由于向替代端口的输出,该帧还使用以下路径到达终端T5:从边缘交换机E8到边缘交换机E7然后通过核心交换机C5和边缘交换机E5来传送的传送路径,以及从核心交换机C6到核心交换机C5然后通过边缘交换机E5来传送的传送路径。将描述在各个交换机处用于实现前述操作而执行的表内容和表设置过程。
边缘交换机E8的表在图12(A)到(D)中的块中图示出。
在边缘交换机E8中,STP控制单元880具有STP端口状态管理表1404。
当STP的端口状态变为稳定时,STP控制单元880参考STP端口状态管理表1404,以将VLAN=g5和端口功能为根端口且端口状态为转发状态的端口1、以及VLAN=g5和端口功能为替代端口的端口2通知给表控制单元890。
在转发表存储单元840的Tag表900中,表控制单元890将从STP控制单元880通知的端口p1和p2设置为针对扩展标签=g5的输出端口。
得到的Tag表900将是图12(B)所示的Tag表1501。
因为根据本发明,转发表存储单元840的MAC/Tag表910和MAC表920可以利用控制帧等来统计地设置或者自动地设置,所以为了简化说明的目的,将描述设置之后的状态。
在图12中,两个表被登记为MAC/Tag表1502和MAC表1503。
随后,将参考图13来描述作为在边缘交换机E8之后一跳的节点的核心交换机C6的表。
在核心交换机C6中,STP控制单元880具有图13(A)所示的STP端口状态管理表1406。
STP控制单元880根据STP端口状态通过与以上针对E8描述的处理相同的处理来设置Tag表。更具体而言,当STP的端口状态变为稳定时,STP控制单元880参考STP端口状态管理表1406,以将VLAN=g5和端口功能为根端口且端口状态为转发状态的端口1、以及VLAN=g5和端口功能为替代端口的端口2通知给表控制单元890。
在转发表存储单元840的Tag表900中,表控制单元890将从STP控制单元880通知的端口p1和p2设置为针对扩展标签=g5的输出端口。得到的Tag表900将成为如图13(B)所示的Tag表1601。核心交换机C6不具有MAC/Tag表910和MAC表920。
随后,将参考图14(A)到(D)来描述作为在传送路径上在核心交换机C6之后一跳的节点的边缘交换机E6的表。
在边缘交换机E6中,STP控制单元880具有图14(A)所示的STP端口状态管理表1402。类似于上述边缘交换机E8,当STP的端口状态变为稳定时,STP控制单元880参考STP端口状态管理表1402,以将VLAN=g5和端口功能为根端口且端口状态为转发状态的端口1通知给表控制单元890。因为并不存在作为端口功能的替代端口,所以将不进行对其的通知。
在转发表存储单元840的Tag表900中,表控制单元890将从STP控制单元880通知的端口p1设置为针对扩展标签=g5的输出端口。得到的Tag表900将成为如图14(B)所示的Tag表1701。转发表存储单元840的MAC/Tag表910和MAC表920被登记为如图14(C)和(D)所示的MAC/Tag表1702和MAC表1703的那些。
随后,将参考图15(A)到(D)来描述作为在传送路径上在最后一级节点且作为在边缘交换机E6之后一跳的节点的边缘交换机E5的表。
在边缘交换机E5中,STP控制单元880具有图15(A)所示的STP端口状态管理表1401。类似于上述各个交换机,当STP的端口状态变为稳定时,STP控制单元880参考STP端口状态管理表1401,以通知满足条件的端口。在这种情况下,因为边缘交换机E5是当前传送的出口边缘交换机并且是树的路由节点,所以不存在端口功能为根端口且端口状态为转发状态的端口、或者端口功能为替代端口的端口,因此什么也没有被通知(即,因为边缘交换机E5是当前传送的出口边缘交换机,所以针对下一跳的输出端口的设置是不必要的)。转发表存储单元840的MAC/Tag表910和MAC表920被登记为如图15(C)和(D)所示的MAC/Tag表1802和MAC表1803的那些。
如上所述,因为在本发明中还执行了向替代端口的输出,所以帧被从边缘交换机E8向边缘交换机E7、并从核心交换机C6向核心交换机C5传送。边缘交换机E7和核心交换机C5的表分别如图16(A)到(D)以及图17(A)和(B)所示。因为基于STP状态管理表1403和1405来更新Tag表1901和2001的方法与目前为止已经描述过的边缘交换机E5、E6和E8以及核心交换机C6的相同,所以不再对其进行详细描述。
以下,在处于参考图3所示的节点结构的示图和图12到17的表进行前述表设置的状态中的各个交换机处的帧传送处理将得以描述。
已经接收到图18所示的、从终端T8去往终端T5的以太网(注册商标)帧2100的边缘交换机E8在帧分析单元800处分析得出输入帧为普通以太网(注册商标)帧200,从而将头部信息、帧种类信息和输入端口信息通知给表搜索单元830,并将整个帧或者有效载荷部分通知给帧重写单元810。
因为所接收的帧是以太网(注册商标)帧200并且输入端口是在用户终端侧的端口,所以表搜索单元830参考MAC/Tag表1502,以获得针对目的地MAC地址t5和VLAN=A的扩展标签g5,并指示帧重写单元810执行扩展标签入栈处理。此外,还参考Tag表1501获得针对扩展标签g5的输出端口p1和p2。之后,以所获得的端口p1和p2作为目标,通过预定方法来确定输出目的地端口,以将该端口通知给帧传送单元820。
预定方法可以是诸如如上所述的轮询或加权轮询之类的算法,或者通过使用包括目的地MAC地址和发送源MAC地址的以太网(注册商标)帧的头部信息、或者存储在以太网(注册商标)帧的有效载荷中的包括目的地IP地址和发送源IP地址在内的IP分组的头部信息、或者这些条信息的组合,来进行哈希从而选择输出端口的方法。
帧重写单元810针对从帧分析单元800接收的帧或有效载荷,对由表搜索单元830指示的扩展标签g5执行入栈处理。结果,将要被输出的帧将是图19所示的扩展标签帧2200。在重写帧之后,帧重写单元810将扩展标签帧2200传送到帧传送单元820。
帧传送单元820将扩展标签帧2200输出给从表搜索单元830接收的输出端口p1或p2。与这里所描述的帧传送处理相平行地,还执行了学习处理。
帧分析单元800将信息通知给帧重写单元810和表搜索单元830,并将头部信息、帧种类信息和输入端口信息通知给MAC学习单元850。
已经接收到所述信息的MAC学习单元850参考MAC表1502,以搜索针对所接收的头部信息的MAC_SA=t8且VLAN=A的输出端口,并且当不存在相关条目时,将MAC_SA=t8存储在MAC地址字段中,将VLAN=A存储在VLAN字段中,并将接收端口p3存储在输出端口字段中。如上所述,在本示例性实施例中,在学习处理完成之后的表状态被记载在MAC表1503中。
随后,将描述在边缘交换机E8的端口p1侧连接的下一跳处的核心交换机C6。
已经从边缘交换机E8接收到扩展标签帧2200的核心交换机C6在帧分析单元800处分析得出输入帧为扩展标签帧300,从而将头部信息、帧种类信息和输入端口信息通知给表搜索单元830,并将整个帧或有效载荷部分通知给帧重写单元810。
因为所接收的帧是扩展标签帧300,输入端口是网络侧的端口,并且扩展标签的值是其它节点的节点ID,所以表搜索单元830参考Tag表1601,以获得针对扩展标签g5的输出端口p1和p2。之后,以所获得的端口p1和p2作为目标,通过预定算法来确定输出目的地端口。之后,将没有帧重写通知给帧重写单元810,并将所确定的输出端口p1或p2通知给帧传送单元820。
帧重写单元810将从帧分析单元800接收的扩展标签帧2200传送给帧传送单元820,而不进行重写处理。
帧传送单元820将扩展标签帧2200输出给从表搜索单元830接收的输出端口p1或p2。因为当前交换机是核心交换机,所以没有执行学习处理。
随后,将描述在核心交换机C6的端口p1侧连接的下一跳处的边缘交换机E6。
已经从核心交换机C6接收到扩展标签帧2200的边缘交换机E6在帧分析单元800处分析得出输入帧是扩展标签帧300,从而将头部信息、帧种类信息和输入端口信息通知给表搜索单元830,并将整个帧或有效载荷部分通知给帧重写单元810。
因为所接收的帧是扩展标签帧300,输入端口是网络侧的端口,并且扩展标签的值是其它节点的节点ID,所以表搜索单元830参考Tag表1701,以获得针对扩展标签g5的输出端口p1。之后,将没有帧重写通知给帧重写单元810,并将输出端口p1通知给帧传送单元820。
帧重写单元810将从帧分析单元800接收的扩展标签帧2200传送给帧传送单元820,而不进行重写处理。
帧传送单元820将扩展标签帧2200输出给从表搜索单元830接收的输出端口p1。虽然当前交换机是边缘交换机,但是因为帧的接收端口是网络侧的端口,所以不执行学习处理。
随后,将描述在边缘交换机E6之后一跳处的边缘交换机E5。
已经从边缘交换机E6接收到扩展标签帧2200的边缘交换机E5在帧分析单元800处分析得出输入帧是扩展标签帧300,从而将头部信息、帧种类信息和输入端口信息通知给表搜索单元830,并将整个帧或有效载荷部分通知给帧重写单元810。
因为所接收的帧是扩展标签帧300,输入端口是网络侧的端口并且扩展标签值是其自身节点的节点ID,所以表搜索单元830指示帧重写单元810执行扩展标签删除处理,并参考MAC表1803,以获得针对MAC_DA=t5且VLAN=A的输出端口p1,并将该端口通知给帧传送单元820。
帧重写单元810针对从帧分析单元800接收的帧或有效载荷,执行对由表搜索单元830指示的扩展标签的删除处理。结果,将被输出的帧将成为图18所示的以太网(注册商标)帧2100。
当帧重写单元810将以太网(注册商标)帧2100传送给帧传送单元820时,帧传送单元820将以太网(注册商标)帧2100输出给从表搜索单元830接收的输出端口p1。虽然当前交换机是边缘交换机,但是因为帧接收部分是网络侧的端口,所以不执行学习处理。
随后,将针对输出到边缘交换机E8的端口p2侧的帧和输出到核心交换机C6的端口p2侧的帧,对接收交换机的处理进行描述。
已经接收到输出到边缘交换机E8的端口p2侧的扩展标签帧2200的边缘交换机E7在帧分析单元800处分析得出输入帧是扩展标签帧300,从而将头部信息、帧种类信息和输入端口信息通知给表搜索单元830,并将整个帧或有效载荷部分通知给帧重写单元810。
因为所接收的帧是扩展标签帧300,输入端口是网络侧的端口,并且扩展标签的值是其它节点的节点ID,所以表搜索单元830参考Tag表1901,以获得针对扩展标签g5的输出端口p1。之后,将没有帧重写通知给帧重写单元810,并将输出端口p1输出给帧传送单元820。
帧重写单元810将从帧分析单元800接收的扩展标签帧2200传送给帧传送单元820,而不进行重写处理。
帧传送单元820将扩展标签帧2200输出给从表搜索单元830接收的输出端口p1。虽然当前交换机是边缘交换机,但是因为帧的接收端口是网络侧的端口,所以不执行学习处理。
随后,将描述已经接收到输出给核心交换机C6的端口p2侧的扩展标签帧2200的核心交换机C5。
在从核心交换机C6和边缘交换机E7接收到扩展标签帧2200之后,核心交换机C5在帧分析单元800处分析得出输入帧是扩展标签帧300,从而将头部信息、帧种类信息和输入端口信息通知给表搜索单元830,并将整个帧或有效载荷部分通知给帧重写单元810。
因为所接收的帧是扩展标签帧300,输入端口是网络侧的端口并且扩展标签的值是其它节点的节点ID,所以表搜索单元830参考Tag表2001,以获得针对扩展标签g5的输出端口p1。之后,将没有帧重写通知给帧重写单元810,并将输出端口p1通知给帧传送单元820。
帧重写单元810将从帧分析单元800接收的扩展标签帧2200传送给帧传送单元820,而不进行重写处理。
帧传送单元820将扩展标签帧2200输出给从表搜索单元830接收的输出端口p1。因为当前交换机是核心交换机,所以不执行学习处理。
随后,在核心交换机C5之后的一跳处的边缘交换机E5执行与上述处理相同的处理,以将扩展标签帧2200转换为以太网(注册商标)帧2100,并将以太网(注册商标)帧2100输出给端口p1,因此所述帧到达作为目的地的用户终端T5。
如上所述,根据现有技术,从用户终端T8发送给用户终端T5的扩展标签帧2200被允许经由通过边缘交换机E8、核心交换机C6、边缘交换机E6和边缘交换机E5的最短路径来到达作为目的地的用户终端T5,而作为本发明的特性,所述帧也被允许使用通过边缘交换机E8、边缘交换机E7、核心交换机C5和边缘交换机E5的路径、或者通过核心交换机C6、核心交换机C5和边缘交换机E5的路径来到达作为目的地的用户终端T5。
换而言之,根据本发明,帧还被传送到替代端口。在现有RSTP中,替代端口是进入阻塞状态以防止环路的端口,因此使替代端口传送帧可能会导致帧在所形成的环路上循环。
另一方面,根据本发明,即使替代端口被使能以传送帧时,已经接收到所传送的帧的相对节点(opposing node)也将所接收的帧传送到根端口。换而言之,所述帧被单向传送到树的根节点。因此,即使当作为逻辑路径形成环路时,帧也将仅仅被单向传送到根节点,并且将不会在环路上循环,从而实现帧向替代端口传送。
结果,在现有中没有使用的在边缘交换机E8和边缘交换机E7之间的链路、以及在核心交换机C6和核心交换机C5之间的链路可以被用于帧传送,这在整体上提高了网络中的带宽使用效率。
随后,将描述在网络中发生故障时的帧传送。
作为故障(作为本发明的特性,故障是到替代端口侧上的链路的传送中发生的变化)的一个示例,这里将描述以下情况:在如图20所示的核心交换机C6和边缘交换机E6之间的链路上发生故障。
当在图1所示的网络中的核心交换机C6和边缘交换机E6之间的链路上发生故障时,RSTP重构处理开始被在故障部分的相对节点处的故障检测所触发。因为该处理符合RSTP的标准操作,所以将不对其进行详细描述。假设作为重构的结果,如图20的配置所示,状态变为稳定。
这里,核心交换机C6和边缘交换机E6因为重构使得在树的端口信息方面有所改变。对于核心交换机C6,作为树重构的结果,图13的STP端口状态管理表1406所示的端口状态改变为图21所示的STP状态管理表2400所示的端口状态。
在核心交换机C6中,当STP的端口状态变为稳定时,STP控制单元880参考STP状态管理表2400,以将VLAN=g5和端口功能为根端口且端口状态为转发状态的端口p2通知给表控制单元890。
表控制单元890在转发表存储单元840的Tag表900中,将由STP控制单元880通知的端口p2设置为针对扩展标签g5的输出。结果,Tag表900改变为如图21所示的Tag表2401。
此外,在边缘交换机E6中,Tag表也根据STP的端口状态的改变而更新。更新后的表如图22所示(虽然在图22中,STP状态管理表2500改变自图14所示的STP状态管理表1402,但是因为根端口没有改变,所以其它表都没有改变)。
将描述在如上所述发生故障时表被更新的情况下将执行的帧传送处理。因为仅仅核心交换机C6具有与从用户终端T8到T5的上述传送相关的表变化,所以将对核心交换机C6处的传送处理进行描述。
已经从边缘交换机E8接收到扩展标签帧2200的核心交换机C6在帧分析单元800处分析得出输入帧是扩展标签帧300,从而将头部信息、帧种类信息和输入端口信息通知给表搜索单元830,并将整个帧或有效载荷部分通知给帧重写单元810。
因为所接收的帧是扩展标签帧300,输入端口是网络侧的端口,并且扩展标签的值是其它节点的节点ID,所以表搜索单元830参考Tag表1601,以获得针对扩展标签g5的输出端口p2。之后,将没有帧重写通知给帧重写单元810,并将输出端口p2通知给帧传送单元820。
帧重写单元810将从帧分析单元800接收的扩展标签帧2200传送给帧传送单元820,而不进行重写处理。
帧传送单元820将扩展标签帧2200输出给从表搜索单元830接收的输出端口p2。
与在故障发生之前不同,核心交换机C6将从边缘交换机E8接收的所有帧都输出到端口p2,从而这些帧通过核心交换机C5和边缘交换机E5而到达目的地用户终端T5。
如上所述,因为即使当故障发生时,在根据RSTP过程更新树的端口状态之后,也基于新端口信息来设置Tag表的输出端口,从而在帧传送时根据该Tag表的输出端口来传送帧,所以使得通过与普通状态的处理相同的处理可以进行帧传送。
(第一示例性实施例的效果)
如以上的本示例性实施例所述,根据现有技术,从用户终端T8向用户终端T5发送的以太网(注册商标)帧2200被允许经由通过边缘交换机E8、核心交换机C6、边缘交换机E6和边缘交换机E5的最短路径来到达作为目的地的用户终端T5,而作为本发明的特性,所述帧也被允许经由通过边缘交换机E8、边缘交换机E7、核心交换机C5和边缘交换机E5的路径、或者通过核心交换机C6、核心交换机C5和边缘交换机E5的路径来到达作为目的地的用户终端T5。即使当故障发生时,根据故障之后的树配置也可以进行最短路径传送,同时通过使用在现有技术中没有使用的链路也可以进行传送。
更具体而言,根据前述节点结构、表生成方法和数据传送方法,在边缘交换机E8和核心交换机C6中,如图12中的STP状态管理表1404和Tag表1501以及图13中的STP状态管理表1406和Tag表1601所示,不仅是转发状态中的根端口,而且替代端口也被设置为Tag表中的输出端口,从而在分发载荷时将帧传送到多个输出端口。
这使得在现有技术中尚未被使用的在边缘交换机E8和边缘交换机E7之间的链路、以及在核心交换机C6和核心交换机C5之间的链路可以被用于帧传送,从而在整体上提高网络中的带宽使用效率。
此外,因为新近允许传送到的替代端口是针对根节点的代价为第二小的端口,所以通过在替代端口侧的链路(通过该链路的帧传送新近被允许)来到达目的地根节点的路径是代价等于或者仅次于根据现有技术的最短路径的路径,因此本发明的帧传送可以在分发载荷的同时通过最短路径来实现。
结果,本发明的帧传送方法通过使用在现有技术的网络中没有使用的链路,使得在整体上提高了网络的带宽使用效率。
(第二示例性实施例)
将参考附图来详细描述本发明的第二示例性实施例。
图23示出了根据本示例性实施例的帧交换单元730的详细结构。图23所示的是在根据图3所示的第一示例性实施例的帧交换单元730中,转发表存储单元840被转发表存储单元2640所取代,并且相应地表控制单元890被表控制单元2690所取代,且表搜索单元830被表搜索单元2630所取代。以下,主要将描述与第一示例性实施例的不同。
首先,将描述转发表存储单元2640。
与根据参考图4描述的第一示例性实施例的转发表存储单元840相比较,转发表存储单元2640具有取代Tag表900的Tag表2700。Tag表2700的结构如图25所示。
类似于根据第一示例性实施例的、针对扩展标签来管理输出端口的Tag表900,如图25所示,Tag表2700也针对扩展标签来管理输出端口。
随后,将描述表控制单元2690。
类似于表控制单元890,表控制单元2690基于由STP控制单元880通知的STP端口信息来设置针对扩展标签的输出端口。
在从STP控制单元880接收到与树ID相对应的端口信息(即,端口功能为根端口且端口状态为转发状态的端口、或者端口功能为替代端口的端口的端口号)之后,表控制单元2690在转发表存储单元2640的Tag表2700中的、扩展标签字段等同于所接收的树ID的条目中,记载端口功能为根端口且端口状态为转发状态的端口的端口号、以及端口功能为替代端口的端口的端口号,作为输出端口。
随后,将描述表搜索单元2630。
表搜索单元2630执行与由表搜索单元830参考Tag表900获得针对扩展标签的输出端口的处理相同的处理。更具体而言,表搜索单元830获得存储在Tag表900的输出端口字段中的一个或多个端口,而表搜索单元2630获得存储在Tag表2700的输出端口字段中的一个或多个端口。
当针对扩展标签从Tag表2700获得多个输出端口时,用作从所述多个输出端口中确定用于所考虑的帧的输出端口的算法可以是在第一示例性实施例中描述的方法。
在故障发生的情况下,在从故障管理单元770接收到通知之后,当从存储在Tag表2700的输出端口字段中的端口中获得的端口数目为多个时,表搜索单元2630从所获得的端口中(从将被选择作为输出端口的端口中)去除发生错误的端口。
用作在去除错误发生端口之后从多个输出端口中确定输出目的地的算法的是在第一示例性实施例中描述的任意方法。
在确定输出端口之后,表搜索单元2630将所确定的输出端口信息通知给帧传送单元820。
在表控制单元2690处的Tag表2700设置处理的流程图在图26中示出,并且在表搜索单元2630处的所接收帧输出端口确定处理在图27中示出,这些处理是在前述各个单元中的本发明的特性处理。
如图26所示,在步骤A1处从STP控制单元880接收到STP端口信息之后,在步骤A2处表控制单元2690基于所接收的STP端口信息来更新Tag表2700。
另外,如图27所示,在步骤B1处,在从帧分析单元800接收到所接收的帧信息之后,在步骤B2处,表搜索单元2630参考Tag表2700获得针对扩展标签的输出端口。
这里,当在步骤B3处判断是存在一个所获得的输出端口还是存在多个输出端口的结果是发现存在多个输出端口时,在步骤D4处进一步判断所获得的多个输出端口是否包括其故障被故障管理单元770检测到的端口。
当在步骤D4处包括检测到故障的端口时,在步骤D5处执行从所获得的多个输出端口中去除检测到故障的端口的处理。
检测到故障的输出端口被表控制单元2690从Tag表2700的输出端口中删除。
然后,在步骤B4处,以没有被检测到故障的端口的输出端口作为目标、通过使用预定算法来确定输出目的地。之后,在步骤B6处,将所确定的输出端口信息通知给帧传送单元820。
当在步骤B3处获得的端口数目为一个端口时,在步骤B5处将所获得的输出端口确定作为输出目的地。之后,在步骤B6处,将所确定的输出端口信息通知给帧传送单元820。
针对在图1所示的由边缘交换机E5到E8以及核心交换机C5和C6构成的网络(以前述结构为例)中从终端T8到终端T5的帧传送,将对本发明的帧传送方法进行描述。
类似于第一示例性实施例,根据本发明的帧传送方法的使用实现了从用户终端T8到用户终端T5的最短路径传送(这是现有技术的特性),同时在现有技术中没有使用的、用于帧传送的链路的使用提高了网络在总体上的带宽使用效率。
以下,将描述Tag表2700处在存在检测到故障的端口的情况下、在边缘交换机E8和核心交换机C6处的表内容和表设置过程,这与第一示例性实施例有很大的不同。
边缘交换机E8的表在图28的块中示出。
在边缘交换机E8处,STP控制单元880具有图28(A)所示的STP端口状态管理表1404。当STP的端口状态变为稳定时,STP控制单元880参考STP端口状态管理表1404,以将VLAN=g5和端口功能为根端口且端口状态为转发状态的端口1、以及VLAN=g5和端口功能为替代端口的端口2通知给表控制单元2690。
在转发表存储单元2640的Tag表2700中,表控制单元2690将STP控制单元880所通知的端口p1(其端口功能为根端口且其端口状态为转发状态)和STP控制单元880所通知的端口p2(其端口功能为替代端口)设置为针对扩展标签=g5的输出端口。
得到的Tag表2700将成为图28(B)所示的Tag表2901。其它表被按如图12所示的MAC/Tag表1502(图28(C))和MAC表1503(图28(D))所指示地登记。
随后,将参考图29来描述作为在传送路径上的、在边缘交换机E8之后一跳的节点的核心交换机C6的表。
在核心交换机C6中,STP控制单元880具有图29(A)所示的STP端口状态管理表1406。
通过与以上针对E8描述的处理相同的处理,STP控制单元880基于STP端口状态来设置Tag表2700。更具体而言,当STP的端口状态变为稳定时,STP控制单元880参考STP端口状态管理表1406,以将VLAN=g5和端口功能为根端口且端口状态为转发状态的端口1、以及VLAN=g5和端口功能为替代端口的端口2通知给表控制单元2690。
在转发表存储单元2640的Tag表2700中,表控制单元2690将STP控制单元880所通知的端口p1(其端口功能为根端口且其端口状态为转发状态)和STP控制单元880所通知的端口p2(其端口功能为替代端口)设置为针对扩展标签=g5的输出端口。
得到的Tag表2700将成为如图29(B)所示的Tag表3001,其输出端口字段设置了端口p1和p2。
以下,参考图23所示的节点结构的示图以及图28和29的表,在处于进行了前述表设置的状态中的各个交换机处的帧传送处理将得以描述。
已经接收到图18所示的、从终端T8去往终端T5的以太网(注册商标)帧2100的边缘交换机E8在帧分析单元800处分析得出输入帧为普通以太网(注册商标)帧200,从而将头部信息、帧种类信息和输入端口信息通知给表搜索单元2630,并将整个帧或者有效载荷部分通知给帧重写单元810。
因为所接收的帧是以太网(注册商标)帧200并且输入端口是在用户终端侧的端口,所以表搜索单元2630参考MAC/Tag表1502,以获得针对目的地MAC地址t5和VLAN=A的扩展标签g5,并指示帧重写单元810执行扩展标签入栈处理。此外,还参考Tag表2901获得针对扩展标签g5的输出端口p1和p2。之后,以所获得的端口p1和p2作为目标,通过预定方法来确定输出目的地端口,并将该端口通知给帧传送单元820。
预定方法可以是诸如如上所述的轮询或加权轮询之类的算法,或者通过使用包括目的地MAC地址和发送源MAC地址的以太网(注册商标)帧的头部信息、或者存储在以太网(注册商标)帧的有效载荷中的包括目的地IP地址和发送源IP地址的IP分组的头部信息、或者这些条信息的组合,来进行哈希从而选择输出端口的方法。
帧重写单元810针对从帧分析单元800接收的帧或有效载荷,对由表搜索单元2630指示的扩展标签g5执行入栈处理。结果,将要被输出的帧将是图19所示的扩展标签帧2200。
在重写帧之后,帧重写单元810将扩展标签帧2200传送到帧传送单元820。
帧传送单元820将扩展标签帧2200输出给从表搜索单元2630接收的输出端口p1或p2。当需要时,类似于第一示例性实施例,与帧传送处理相平行地,还执行了学习处理。
随后,将描述在与边缘交换机E8的端口p1侧相连接的下一跳处的核心交换机C6。
已经从边缘交换机E8接收到扩展标签帧2200的核心交换机C6在帧分析单元800处分析得出输入帧为扩展标签帧300,从而将头部信息、帧种类信息和输入端口信息通知给表搜索单元2630,并将整个帧或有效载荷部分通知给帧重写单元810。
因为所接收的帧是扩展标签帧300,输入端口是网络侧的端口,并且扩展标签的值是其它节点的节点ID,所以表搜索单元2630参考Tag表3001,以获得针对扩展标签g5的输出端口p1和p2。之后,以所获得的端口p1和p2作为目标,通过预定方法来确定输出目的地端口。之后,将没有帧重写通知给帧重写单元810,并将所确定的输出端口p1或p2通知给帧传送单元820。
帧重写单元810将从帧分析单元800接收的扩展标签帧2200传送给帧传送单元820,而不进行重写处理。
帧传送单元820将扩展标签帧2200输出给从表搜索单元2630接收的输出端口p1或p2。
与核心交换机C6的端口p1侧相连接的边缘交换机E6、在边缘交换机E6之后一跳处的边缘交换机E5、与边缘交换机E8的端口p2侧相连接的边缘交换机E7、以及与核心交换机C6的端口p2侧相连接的核心交换机C5执行与在第一示例性实施例中描述的处理相同的处理。结果,以太网(注册商标)帧2100到达了作为目的地的用户终端T5。
如上所述,根据现有技术,从用户终端T8发送给用户终端T5的以太网(注册商标)帧2200被允许经由通过边缘交换机E8、核心交换机C6、边缘交换机E6和边缘交换机E5的最短路径,来到达作为目的地的用户终端T5,而作为本发明的特性,所述帧也被允许使用通过边缘交换机E8、边缘交换机E7、核心交换机C5和边缘交换机E5的路径、或者通过核心交换机C6、核心交换机C5和边缘交换机E5的路径来到达作为目的地的用户终端T5。
这使得在现有技术中没有被使用的在边缘交换机E8和边缘交换机E7之间的链路、以及在核心交换机C6和核心交换机C5之间的链路可以用于帧传送,从而在整体上提高了网络的带宽使用效率。
随后,将描述当在网络中发生故障时将要执行的帧传送。作为故障(作为本发明的特性,故障是到替代端口侧的链路的传送中发生的变化)的一个示例,这里将描述以下情况:核心交换机C6和边缘交换机E6之间的链路发生了如图20所示的故障。利用本示例性实施例的结构,虽然与现有技术相比在带宽使用效率方面维持了与第一示例性实施例相同的效果,但是从故障恢复可以比第一示例性实施例快很多。
在核心交换机C6和边缘交换机E6之间的链路发生故障的情况下,在检测到故障之后,核心交换机C6中的故障管理单元770将故障通知给STP控制单元880和表搜索单元2630。
STP控制单元880开始树重构处理。因为该处理符合RSTP的标准操作,所以将不对其进行详细描述。
在从故障管理单元770接收到故障通知之后,表搜索单元2630改变输出端口确定方法。在接收到故障通知时及之后,表搜索单元2630从得自Tag表2700的输出端口中去除检测到故障的输出端口,以仅仅获得其余输出端口的端口号。参考图29,在处于正常状态中时,端口p1和p2被从Tag表3001中获得从而通过预定方法来确定输出目的地;在接收到故障通知之时及之后,仅仅端口p2被获得并被视为输出目的地,而检测到故障的端口p1被从得自Tag表3001的端口p1和p2中去除。
已经从边缘交换机E8接收到扩展标签帧2200的核心交换机C6在帧分析单元800处分析得出输入帧是扩展标签帧300,从而将头部信息、帧种类信息和输入端口信息通知给表搜索单元2630,并将整个帧或有效载荷部分通知给帧重写单元810。
因为所接收的帧是扩展标签帧300,输入端口是网络侧的端口,并且扩展标签的值是其它节点的节点ID,所以表搜索单元2630参考Tag表3001,以获得输出端口p2作为针对扩展标签g5的输出端口。之后,将没有帧重写通知给帧重写单元810,并将输出端口p2通知给帧传送单元820。
帧重写单元810将从帧分析单元800接收的扩展标签帧2200传送给帧传送单元820,而不进行重写处理。
帧传送单元820将扩展标签帧2200输出给从表搜索单元2630接收的输出端口p2。
与在故障发生之前不同,核心交换机C6将从边缘交换机E8接收的所有帧都输出到端口p2,从而这些帧通过核心交换机C5和边缘交换机E5而到达作为目的地的用户终端T5。
此外,在核心交换机C6中,还在STP控制单元880中执行了在故障发生之后的树重构处理。
图30示出了在STP的端口状态变为稳定之后的各个表的状态。
假设在STP的端口状态变为稳定之后,STP的端口状态将如图30(A)中的STP端口状态管理表2400所示。
参考STP端口状态管理表2400,STP控制单元880将VLAN=g5和作为端口功能为根端口且端口状态为转发状态的端口的端口2通知给表控制单元2690。因为在STP端口状态管理表2400中不存在端口功能为替代端口的端口,所以没有与其相关的信息被通知。
在转发表存储单元2640的Tag表2700中,表控制单元2690将从STP控制单元880通知的端口p2设置为针对扩展标签g5的输出。得到的Tag表2700如图30(B)中的Tag表3101所示。
在更新Tag表2700时,表控制单元2690还将Tag表3101的更新通知给表搜索单元2630。
表搜索单元2630将确定处理恢复为普通处理,以参考Tag表2700的输出端口来确定输出端口。
这里,因为存储在输出端口中的端口号是已有输出端口,其结果是输出目的地保持相同,因此,核心交换机C6将从边缘交换机E8接收的所有帧都输出到端口p2,这些帧通过核心交换机C5和边缘交换机E5而到达目的地用户终端T5。
如上所述,本示例性实施例通过在故障时、在根据RSTP过程更新树的端口状态以确定输出目的地之前,预先将帧传送到要成为输出目的地的端口,使得可以加快故障时的恢复。
虽然上述第二示例性实施例被构造为:当参考Tag表2700获得的输出端口存在多个时,如果所获得的多个输出端口包括检测到故障的端口,则执行从所获得的多个输出端口中去除检测到故障的端口的处理,从而以不包括检测到故障的端口的其余输出端口作为目标、通过使用预定算法来确定输出目的地。但是其也可以被构造为:在如图31中的Tag表2800所示提供的用于故障发生的输出端口的字段中,将端口功能为替代端口的端口的端口号设置为用于故障发生的输出端口。
在这种情况下,在没有进行故障通知的普通状态中,以Tag表2800中的输出端口和用于故障发生的输出端口作为目标、通过使用预定算法来确定输出目的地从而获得输出端口;而在接收到故障通知之后,设置在Tag表2800中的用于故障发生的输出端口处的端口被用作输出端口。这使得可以加速在故障时的恢复。
(第二示例性实施例的效果)
如本示例性实施例所述,根据现有技术,从用户终端T8发送到用户终端T5的以太网(注册商标)帧2200被允许经由通过边缘交换机E8、核心交换机C6、边缘交换机E6和边缘交换机E5的最短路径而到达作为目的地的用户终端T5,而作为本发明的特性,所述帧也被允许使用通过边缘交换机E8、边缘交换机E7、核心交换机C5和边缘交换机E5的路径、或者通过核心交换机C6、核心交换机C5和边缘交换机E5的路径而到达作为目的地的用户终端T5。此外,当故障发生时,在检测到故障之前,切换到拓扑中的在故障之后的将成为传送目的地的端口使得可以加速故障恢复。
简而言之,本示例性实施例通过将在现有技术中没有被使用的链路用于帧传送,使现在分发载荷的同时的帧传送,并且实现最短路径传送,从而在整体上提高了网络的带宽使用效率,并进一步加快了故障时的恢复。
(第三示例性实施例)
将参考附图来详细描述本发明的第三示例性实施例。
图32示出了根据第三示例性实施例的帧交换单元730的详细结构。
图32所示的是在根据图23所图示的第二示例性实施例的帧交换单元730中,表搜索单元2630被改变为表搜索单元3230,并且帧分析单元800被改变为帧分析单元3200。另外,转发表存储单元2640被改变为转发表存储单元2840,并且相应地表控制单元2690被改变为表控制单元2890,且表搜索单元2630被改变为表搜索单元3230。
首先,将描述转发表存储单元2840。转发表存储单元2840的Tag表被改变为具有如图31所示的输出端口和用于故障发生的输出端口的字段的Tag表2800。Tag表2800的结构如图31所示,其中,如图31所示,Tag表2800针对扩展标签而管理用于普通状态的输出端口和用于故障发生的输出端口,而Tag表900针对扩展标签管理输出端口。
随后,将描述表控制单元2890。
类似于表控制单元890,表控制单元2890基于由STP控制单元880通知的STP的端口信息来设置针对扩展标签的输出端口。
在从STP控制单元880接收到与树ID相对应的端口信息(即,端口功能为根端口且端口状态为转发状态的端口的端口号,或者端口功能为替代端口的端口的端口号)之后,表控制单元2890在转发表存储单元2840的Tag表2800中的、扩展标签字段等同于所接收的树ID的条目中,将端口功能为根端口且端口状态为转发状态的端口的端口号记载为输出端口,并将端口功能为替代端口的端口的端口号记载作为用于故障发生的输出端口。
随后,将描述帧分析单元3200。
除了根据第一和第二示例性实施例的帧分析单元800的处理之外,帧分析单元3200还将帧优先级信息作为将要被通知的帧种类信息,来通知给表搜索单元3230。其它处理与帧分析单元800相同。
随后,将描述表搜索单元3230。
在由表搜索单元830执行的参考Tag表900以获得针对扩展标签的输出端口的处理方面,表搜索单元3230有所变化。表搜索单元830获得存储在Tag表900的输出端口字段中的一个或多个端口,而表搜索单元2630既获得Tag表2800中的存储在输出端口字段中的端口,又获得存储在用于故障发生的输出端口字段中的端口。因为没有相关端口会存在作为用于故障发生的输出端口,所以所获得的端口将是一个或多个。
表搜索单元3230参考Tag表2800,以获得针对扩展标签的输出端口和用于故障发生的输出端口,而当在所获得的端口中不存在用于故障发生的输出端口时,从得自Tag表2800的输出端口字段的端口中确定输出端口,而不考虑帧优先级。当获得多个端口时,在第一示例性实施例中示出的任意方法可以被用作用于从多个输出端口中确定输出目的地的算法。
当在所获得的端口中存在用于故障发生的输出端口时,在考虑到帧优先级的情况下从所获得的普通状态输出端口和用于故障发生的输出端口中确定输出端口。
在确定输出端口之后,表搜索单元3230将所确定的输出端口信息通知给帧传送单元820。
如前所述,因为根据本发明新近允许通过其传送的替代端口是针对根节点的代价为仅次于根端口的端口,所以通过替代端口侧的链路到达作为目的地的根节点的路径等同于或仅次于根据现有技术的最短路径。因此,当参考Tag表2800以获得输出端口和用于故障发生的输出端口时,表搜索单元3230针对优先级为高的帧将输出端口视为输出目的地,并且针对优先级为低的帧将用于故障发生的输出端口视为输出目的地。
一般而言,帧优先级是基于VLAN标签的优先级比特来确定的。在某些情况下,优先级可以针对目的地MAC地址或发送源MAC地址来设置,以基于其来进行确定。
执行这样的传送处理使得高优先级帧可以通过最短路径来传送到目的地,并且使得低优先级帧可以通过代价尽可能低的路径(虽然不是最短路径)来到达目的地。
当故障发生时,在从故障管理单元770接收到通知之后,表搜索单元3230获得存储在Tag表2700的用于故障发生的输出端口中的端口的端口号以确定输出目的地。
在确定输出端口之后,表搜索单元830将所确定的输出端口信息通知给帧传送单元820。
在表搜索单元3230处的所接收帧输出端口确定流程在图34中示出,这是在前述各个单元中的本发明的特性处理。由表控制单元2890执行的Tag表2800的设置处理的流程图在图33中示出。
如图33所示,在步骤A1处从STP控制单元880接收到STP端口信息之后,在步骤C2处表控制单元2890基于所接收的STP端口信息来更新Tag表2800。
如图34所示,在步骤B1处从帧分析单元3200接收到所接收的帧信息(包括帧优先级信息)之后,在步骤D2处表搜索单元3230参考Tag表2800,以获得针对扩展标签的输出端口和用于故障发生的输出端口。
这里,当在步骤D3处判断是否存在用于故障发生的输出端口的结果是发现存在用于故障发生的输出端口时,在步骤E4处将所确定的输出端口确定为高优先级帧的输出目的地,并将用于故障发生的输出端口确定为低优先级帧的输出目的地。
当在步骤D3处不存在用于故障发生的输出端口时,在步骤E5处将所获得的输出端口确定为输出目的地而不考虑帧优先级。
之后,在步骤B6处将所确定的输出端口信息通知给帧传送单元820。
将在由边缘交换机E5到E8以及核心交换机C5和C6构成的具有与图1相同的拓扑的网络(具有前述结构)的情况下描述根据本发明的帧传送方法,其中,终端T10和终端T8一起与边缘交换机E8相连接,并且终端T9和终端T5一起与边缘交换机E5相连接,从而从终端T8向终端T5或者从终端T10向终端T9传送帧。图35是网络结构的示图。
类似于第一和第二示例性实施例,根据本发明的帧传送方法的使用实现了从用户终端T8、T10向用户终端T5、T9的最短路径传送(这是现有技术的特性),同时通过使用在现有技术中没有使用的链路来用于帧传送,在整体上提高了网络的带宽使用效率。除了上述特性之外,本示例性实施例使得根据要被传送的帧的优先级,可以通过最短路径来传送高优先级帧,并通过代价尽可能低的仅次于最短路径的路径来传送低优先级帧。
这里,将针对在Tag表2800中存在用于故障发生的输出端口的边缘交换机E8和核心交换机C6来描述表内容和表设置过程,这与第一示例性实施例有很大不同。
在图36的块中图示了边缘交换机E8的表。
在边缘交换机E8中,STP控制单元880具有STP端口状态管理表1404。当STP的端口状态变为稳定时,STP控制单元880参考STP端口状态管理表1404,以将VLAN=g5和端口功能为根端口且端口状态为转发状态的端口1、以及VLAN=g5和端口功能为替代端口的端口2通知给表控制单元2890。
在转发表存储单元2840的Tag表2800中,表控制单元2890将STP控制单元880所通知的端口p1(其端口功能为根端口且其端口状态为转发状态)设置为针对扩展标签=g5的输出端口,并且将STP控制单元880所通知的端口p2(其端口功能为替代端口)设置为用于故障发生的输出端口。
得到的Tag表Tag表2800在图36的Tag表2901中示出。其它表具有与图12中的MAC/Tag表1502和MAC表1503相同的记录。
随后,将参考图37来描述作为在传送路径上的、在边缘交换机E8之后一跳的节点的核心交换机C6的表。
在核心交换机C6中,STP控制单元880具有STP端口状态管理表1406。
通过与上述E8相同的处理,STP控制单元880基于STP端口状态来设置Tag表。更具体而言,当STP的端口状态变为稳定时,STP控制单元880参考STP端口状态管理表1406,以将VLAN=g5和端口功能为根端口且端口状态为转发状态的端口1、以及VLAN=g5和端口功能为替代端口的端口2通知给表控制单元2890。
在转发表存储单元2840的Tag表2800中,表控制单元2890将STP控制单元880所通知的端口p1(其端口功能为根端口且其端口状态为转发状态)设置为针对扩展标签=g5的输出端口,并将STP控制单元880所通知的端口p2(其端口功能为替代端口)设置为用于故障发生的输出端口。
得到的Tag表2700将如图37的Tag表3001所示。
以下,将参考图32所示的节点结构的示图以及图36和37所示的表,针对Tag表2800具有用于故障发生的输出端口的边缘交换机E8和核心交换机C6来描述帧传送处理,这是本发明的特性。
假设图18所示的以太网(注册商标)帧2100被从用户终端T8向用户终端T5传送,并且图39所示的以太网(注册商标)帧3400被从用户终端T10向用户终端T9传送。
这里假设关于帧优先级,以太网(注册商标)帧2100是高优先级帧,并且以太网(注册商标)帧3400是低优先级帧。优先级记载在以太网(注册商标)帧2100和3400的VLAN标签A中的优先级比特中,如图40的VLAN标签格式所示。
虽然本示例性实施例基于优先级信息存储在以太网(注册商标)帧2100和3400的VLAN标签中的前提,但是优先级信息可以存储在扩展标签中,或者在在扩展标签和VLAN标签之间插入用于标识客户的标签(虽然在本说明书中没有描述)的一些情况下,优先级信息可以存储在该用于标识客户的标签中。在任意情况中,如前所述,在本发明中,帧传送都基于帧优先级来执行。
已经接收到从终端T8去往终端T5的以太网(注册商标)帧2100的边缘交换机E8在帧分析单元3200处分析得出输入帧为普通以太网(注册商标)帧200,从而发现它是高优先级帧,并将头部信息、帧种类信息、输入端口信息和优先级信息通知给表搜索单元3230,且将整个帧或者有效载荷部分通知给帧重写单元810。
因为所接收的帧是以太网(注册商标)帧200并且输入端口是在用户终端侧的端口,所以表搜索单元3230参考MAC/Tag表1502,以获得针对目的地MAC地址t5和VLAN=A的扩展标签g5,并指示帧重写单元1020执行扩展标签入栈处理。此外,因为所接收帧是高优先级帧,所以还参考Tag表2901获得针对扩展标签g5的输出端口p1,并将其通知给帧传送单元820。
帧重写单元810针对从帧分析单元3200接收的帧或有效载荷,对由表搜索单元3230指示的扩展标签g5执行入栈处理。结果,要被输出的帧将是图19所示的扩展标签帧2200。
在重写帧之后,帧重写单元810将扩展标签帧2200传送到帧传送单元820。
帧传送单元820将扩展标签帧2200输出给从表搜索单元3230接收的输出端口p1。
当所接收的帧是从终端T10去往终端T9的以太网(注册商标)帧3400时,边缘交换机E8在帧分析单元3200处分析得出输入帧为普通以太网(注册商标)帧200,从而发现它是低优先级帧,并将头部信息、帧种类信息、输入端口信息和优先级信息通知给表搜索单元3230,且将整个帧或者有效载荷部分通知给帧重写单元810。
因为所接收的帧是以太网(注册商标)帧200并且输入端口是在用户终端侧的端口,所以表搜索单元3230参考MAC/Tag表1502,以获得针对目的地MAC地址t5和VLAN=A的扩展标签g5,并指示帧重写单元1020执行扩展标签入栈处理。此外,因为所接收帧是低优先级帧,所以还参考Tag表2901获得针对扩展标签g5的用于故障发生的输出端口p2,并将其通知给帧传送单元820。
帧重写单元810针对从帧分析单元3200接收的帧或有效载荷,对由表搜索单元3230指示的扩展标签g5执行入栈处理。结果,要被输出的帧将是图41所示的扩展标签帧3600。
在重写帧之后,帧重写单元810将扩展标签帧3600传送到帧传送单元820。帧传送单元820将扩展标签帧3600输出给从表搜索单元3230接收的输出端口p2。
随后,将描述在与边缘交换机E8的端口p1侧相连接的下一跳处的核心交换机C6。
已经从边缘交换机E8接收到扩展标签帧2200的核心交换机C6在帧分析单元3200处分析得出输入帧为扩展标签帧300,从而将头部信息、帧种类信息、输入端口信息和优先级信息通知给表搜索单元3230,并将整个帧或有效载荷部分通知给帧重写单元810。这里,输入帧的输入信息指示高优先级帧。
因为所接收的帧是扩展标签帧300,输入端口是网络侧的端口,扩展标签的值是其它节点的节点ID并且帧是高优先级帧,所以表搜索单元3230参考Tag表3001,以获得针对扩展标签g5的输出端口p1。之后,以所获得的端口p1和p2作为目标,通过预定方法来确定输出目的地端口。之后,将没有帧重写通知给帧重写单元810,并将所确定的输出端口p1通知给帧传送单元820。
帧重写单元810将从帧分析单元3200接收的扩展标签帧2200传送给帧传送单元820,而不执行重写处理。
帧传送单元820将扩展标签帧2200输出给从表搜索单元3230接收的输出端口p1。
与核心交换机C6的端口p1侧相连接的边缘交换机E6、在边缘交换机E6之后一跳处的边缘交换机E5、与边缘交换机E8的端口p2侧相连接的边缘交换机E7、以及与核心交换机C6的端口p2侧相连接的核心交换机C5执行与第一和第二示例性实施例所述的相同的处理以传送帧(虽然在各个情况下用于故障发生的输出端口被新近引入到Tag表2700,但是因为各个交换机在本网络结构中没有保持替代端口,所以实质处理是相同的)。其结果是,以太网(注册商标)帧2100到达了作为目的地的用户终端T5。
如前所述,因为从用户终端T8发送给用户终端T5的以太网(注册商标)帧2100是高优先级帧,所以该帧被允许通过到作为目的地的用户终端T5所连接的边缘交换机E5的最短路径来到达作为目的地的用户终端T5,即,该路径通过边缘交换机E8、核心交换机C6、边缘交换机E6和边缘交换机E5。
另外,因为从用户终端T10向用户终端T9发送的以太网(注册商标)帧3400是低优先级帧,所以该帧被允许通过使用在现有技术中没有使用的在边缘交换机E8和边缘交换机E7之间的链路,经由通过边缘交换机E8、边缘交换机E7、核心交换机C5和边缘交换机E5的次最低代价传送路径,朝向作为目的地的用户终端T9所连接的边缘交换机E5而到达作为目的地的用户终端T9。
因此,根据本示例性实施例的传送方法,高优先级帧被通过最低代价路径来传送,并且低优先级帧被通过使用在现有技术中没有使用的链路、经由代价尽可能低的路径来传送。这使得可以在整体上提高网络的带宽使用效率,同时使能了基于数据优先级的传送。
随后,将描述当在网络中发生故障时将执行的帧传送。作为故障(作为本发明的特性,故障是到替代端口侧的链路的传送中发生的变化)的一个示例,这里将描述以下情况:核心交换机C6和边缘交换机E6之间的链路发生了如图20所示的故障。
在普通状态中,根据帧优先级,表搜索单元3230将Tag表2800中的输出端口视为用于高优先级帧的输出目的地,并将用于故障发生的输出端口视为用于低优先级帧的输出目的地。另一方面,在故障发生之后,在从故障管理单元770接收到故障通知时,表搜索单元3230仅获得Tag表2800中的用于故障发生的输出端口的端口号,以将用于故障发生的输出端口视为高优先级帧和低优先级帧两者的输出目的地。
在核心交换机C6中,STP控制单元880执行在故障发生之后的树重构处理。这个树重构处理与第二示例性实施例相同,并且图38示出了在树重构之后STP的端口状态变为稳定之后的各个表。
利用这种配置,本示例性实施例在根据RSTP过程更新树的端口状态以确定输出目的地之前,通过预先向要成为输出目的地的端口传送帧来加速在故障发生时的故障恢复。
(第三示例性实施例的效果)
如前针对本示例性实施例所述,当对要被传送的帧考虑优先级时,高优先级帧被允许通过最低代价路径来到达目的地用户终端,并且低优先级帧被通过使用在现有技术中没有使用的链路、经由代价尽可能低的路径来传送到目的地用户终端。这使得可以在整体上提高网络的带宽使用效率,同时使能基于数据优先级的传送。此外,当故障发生时,可以通过在检测到故障之后预先切换到拓扑中的在故障之后的要成为传送目的地的端口来加速故障恢复。
简而言之,本示例性实施例使能最短路径传送,并通过考虑到帧优先级、在分发载荷时使用在现有技术中没有使用的链路来使能帧传送,并使得可以在整体上提高网络的带宽使用效率,从而加速从故障恢复。
(第四示例性实施例)
将参考附图来详细描述本发明的第四示例性实施例。
图42示出了根据第四示例性实施例的帧交换单元730的详细结构。
图42所示的是在根据图32所示的第三示例性实施例的帧交换单元730中,表搜索单元3230被改变为表搜索单元3730,转发表存储单元2840被改变为转发表存储单元3740,并且表控制单元2690被改变为表控制单元3790。以下,将主要描述与第三示例性实施例的不同。
首先,将描述转发表存储单元3740。
图43示出了转发表存储单元3740的结构的示例。
在转发表存储单元3740中,与第三示例性实施例的转发表存储单元2840相比,图31所示的Tag表2800被改变为Tag表3800。
Tag表3800的结构如图44所示。Tag表2700针对扩展标签来管理输出端口和用于故障发生的输出端口,而图44所示的Tag表3800管理输出端口、用于故障发生的输出端口和各个端口的路由路径代价。路由路径代价是STP/RSTP的参数,其表示路由节点的代价。
随后,将描述表控制单元3790。
除了类似于表控制单元2690、基于从STP控制单元880通知的STP的端口信息来设置针对扩展标签的输出端口之外,表控制单元3790还设置各个端口的路由路径代价。
作为来自STP控制单元880的端口信息,表控制单元3790与端口功能和端口状态一起获得路由路径代价。于是,在转发表存储单元3740的Tag表3800中,一起记载的是输出端口、用于故障发生的输出端口以及它们的路由路径代价。
随后,将描述表搜索单元3730。表搜索单元3230在考虑到帧优先级的情况下确定输出端口。类似于在考虑到帧优先级的情况下确定输出端口,表搜索单元3730在考虑到各个端口的路由路径代价的情况下确定输出目的地。
当参考Tag表2700获得输出端口和用于故障发生的输出端口时,表搜索单元3230对具有高优先级的帧将输出端口视为输出目的地,而对具有低优先级的帧将用于故障发生的输出端口视为输出目的地。
当用于故障发生的输出端口=替代端口时,路由节点的代价(路由路径代价)仅次于输出端口=根端口的路径被选择。
在某些网络结构中,当两个端口的路由路径代价相等时,通过诸如端口号之类的参数来确定根或替代。
这是因为当路由路径代价相等时,即使用于故障发生的输出端口=替代端口被选择,通过最短路径到达目的地也类似于输出端口=根端口被选择的情况。
因此,当参考Tag表3800针对扩展标签而获得输出端口和用于故障发生的输出端口时,如果两个端口的路由路径代价相等,则表搜索单元3730以这两个端口作为目标通过使用上述预定方法来确定输出目的地,而不考虑帧的优先级,并且如果输出端口=根端口的路由路径代价小于用于故障发生的输出端口=替代端口的路由路径代价,则将高优先级帧输出到输出端口,并将低优先级帧输出到用于故障发生的输出端口。
当故障发生时执行的处理与表搜索单元2630和表搜索单元3230的相同。在从故障管理单元770接收到通知之后,表搜索单元3730获得存储在Tag表3800中的用于故障发生的输出端口中的端口的端口号,以确定输出目的地。
在确定输出端口之后,表搜索单元3730将所确定的输出端口信息通知给帧传送单元820。
在表控制单元3790中设置Tag表3800的流程在图45中示出,并且在表搜索单元3730处执行的所接收帧输出端口确定流程在图46中示出,这些流程是在前述各个单元中的本发明的特性处理。
如图45所示,在步骤F1处从STP控制单元880接收到STP端口信息(包括路由路径代价信息)之后,在步骤F2处表控制单元3790基于所接收的STP端口信息来更新Tag表3800。
如图46所示,在步骤E1处从帧分析单元3200接收到所接收的帧信息(包括帧优先级信息)之后,在步骤G2处表搜索单元3730参考Tag表3800以针对扩展标签获得输出端口、用于故障发生的输出端口、以及各个端口的路由路径代价。
这里,当在步骤D3处判断是否存在用于故障发生的输出端口的结果是发现存在时,在步骤G4处对所获得的输出端口和用于故障发生的输出端口的路由路径代价进行比较,并且当它们相等时,在步骤G6处以两个端口作为目标通过使用预定算法来确定输出目的地而不考虑帧优先级。
当在步骤G4处所述代价不相等时,在步骤E4处将所获得的输出端口确定为高优先级帧的输出目的地,并将用于故障发生的输出端口确定为低优先级帧的输出目的地。
当在步骤D3处不存在用于故障发生的输出端口时,在步骤E5处将所获得的输出端口确定为输出目的地而不考虑帧优先级。之后,在步骤B6处将所确定的输出端口信息通知给帧传送单元820。
当在由边缘交换机E5到E8以及核心交换机C5和C6构成的网络(具有前述图35所示的结构)中,类似于第三示例性实施例,帧被从终端T8向终端T5或从终端T10向终端T9传送时,将要执行的本发明的帧传送方法将得以描述。在本示例性实施例中,假设仅仅核心交换机C5和核心交换机C6之间的链路具有100Mbps带宽,而其它链路具有1Gbps的带宽。在本示例性实施例中,因而假设作为各个链路的代价,100Mbps链路的代价为10,并且其它1Gbps链路的代价为1。
类似于第一到第三示例性实施例,根据本发明的帧传送方法的使用实现了从用户终端T8、T10向用户终端T5、T9的最短路径传送(这是现有技术的特性),同时通过将在现有技术中没有使用的链路用于帧传送在整体上提高了网络的带宽使用效率。
此外,除了上述特性之外,本示例性实施例使得可以根据要被传送的帧的优先级,通过最短路径来传送高优先级帧,并通过代价尽可能低的仅次于最短路径的路径来传送低优先级帧,而且,当候选路径的代价相等时在不考虑优先级的情况下进行分发,而当所述代价不同时,执行根据优先级的传送使得可以通过最短路径来传送高优先级帧,同时尽可能多地降低了由优先级导致的不平衡。
以下,将针对在Tag表3800中存在用于故障发生的输出端口(这是本发明的特性)的边缘交换机E8和核心交换机C6来描述帧传送处理过程。边缘交换机E8的表在图47(A)到(D)中示出,并且核心交换机C6的表在图48(A)和(B)中示出。
类似于第三示例性实施例,假设图18所示的以太网(注册商标)帧2100被从用户终端T8向用户终端T5传送,并且图39所示的以太网(注册商标)帧3400被从用户终端T10向用户终端T9传送,并且关于帧优先级,以太网(注册商标)帧2100是高优先级帧,而以太网(注册商标)帧3400是低优先级帧。
已经接收到从终端T8去往终端T5的以太网(注册商标)帧2100的边缘交换机E8在帧分析单元3200处分析得出输入帧为普通以太网(注册商标)帧200,从而发现它是高优先级帧,并将头部信息、帧种类信息、输入端口信息和优先级信息通知给表搜索单元3730,并且将整个帧或者有效载荷部分通知给帧重写单元810。
因为所接收的帧是以太网(注册商标)帧200并且输入端口是在用户终端侧的端口,所以表搜索单元3730参考MAC/Tag表1502,以获得针对目的地MAC地址t5和VLAN=A的扩展标签g5,并指示帧重写单元1020执行扩展标签入栈处理。此外,参考Tag表4001还发现针对扩展标签=g5的输出端口是端口p1,且路由路径代价为3,并且用于故障发生的输出端口是端口p2,且路由路径代价为3。
虽然所接收的帧是高优先级帧,但是因为两个端口的路由路径代价相等,所以以两个端口作为输出目的地目标通过使用预定方法来确定输出目的地,并将所确定的输出端口通知给帧传送单元820。
针对从帧分析单元3200接收的帧或有效载荷,帧重写单元810对从表搜索单元3730指示的扩展标签=g5执行入栈处理。结果,要被输出的帧将是图19所示的扩展标签帧2200。
在重写帧之后,帧重写单元810将扩展标签帧2200传送到帧传送单元820。
帧传送单元820将扩展标签帧2200输出给作为从表搜索单元3230接收的输出端口的端口p1或端口p2。
当所接收的帧是从终端T10去往终端T9的以太网(注册商标)帧3400时,由于针对扩展标签g5的是相同的输出端口和相同的路由路径代价,所以边缘交换机E8以两种端口作为输出目的地目标、通过使用预定方法来确定输出目的地,而不考虑帧优先级,并将其输出。要被输出的帧是扩展标签帧3600。因为细节内容与从终端T8去往终端T5的以太网(注册商标)帧2100的那些相同,所以将不对其进行描述。
随后,将描述在与边缘交换机E8的端口p1侧相连接的下一跳处的核心交换机C6。
已经从边缘交换机E8接收到扩展标签帧2200的核心交换机C6在帧分析单元3200处分析得出输入帧为扩展标签帧300,从而将头部信息、帧种类信息、输入端口信息和优先级信息通知给表搜索单元3730,并将整个帧或有效载荷部分通知给帧重写单元810。这里,输入帧的输入信息指示高优先级帧。
表搜索单元3730参考Tag表4001,从而发现针对扩展标签=g5的输出端口是端口p1,且路由路径代价为2,并且用于故障发生的输出端口是端口p2,且路由路径代价是11。
因为所接收的帧是高优先级帧且两种端口的路由路径代价并不相等,所以将输出端口p1确定为输出目的地。之后,将没有帧重写通知给帧重写单元810,并将所确定的输出端口p1通知给帧传送单元820。
帧重写单元810将从帧分析单元3200接收的扩展标签帧2200传送给帧传送单元820,而不执行重写处理。
帧传送单元820将扩展标签帧2200输出给从表搜索单元3730接收的输出端口p1。
另一方面,当核心交换机C6从边缘交换机E8接收扩展标签帧3600时将要执行的处理如下所述。帧分析单元3200分析得出输入帧是扩展标签帧300,从而将头部信息、帧种类信息、输入端口信息和优先级信息通知给表搜索单元3730,并将整个帧或有效载荷部分通知给帧重写单元810。这里,输入帧的输入信息指示低优先级帧。
因为参考Tag表4001发现针对扩展标签=g5的输出端口是端口p1且路由路径代价为2,并且用于故障发生的输出端口是端口p2且路由路径代价为11,并因为所接收帧是低优先级帧,所以表搜索单元3730将输出端口p2确定为输出目的地。之后,将没有帧重写通知给帧重写单元810,并将所确定的输出端口p2通知给帧传送单元820。
帧重写单元810将从帧分析单元3200接收的扩展标签帧3600传送给帧传送单元820,而不执行重写处理。
帧传送单元820将扩展标签帧3600输出给从表搜索单元3730接收的输出端口p2。
与核心交换机C6的端口p1侧相连接的边缘交换机E6、在边缘交换机E6之后一跳处的边缘交换机E5、与边缘交换机E8的端口p2侧相连接的边缘交换机E7、以及与核心交换机C6的端口p2侧相连接的核心交换机C5执行与第一和第二示例性实施例所述的相同的处理以传送帧(虽然在各个情况下输出端口和用于故障发生的输出端口的路由路径代价被新近引入到Tag表3800,但是因为各个交换机在本网络结构中没有保持替代端口,所以实质处理是相同的)。其结果是,以太网(注册商标)帧2100和3400到达了作为目的地的用户终端T5和T9。
因为当在网络中发生故障时将要执行的帧传送与第三示例性实施例相同,所以将不对其进行描述。
如前所述,因为从用户终端T8发送给用户终端T5的高优先级以太网(注册商标)帧2100和从用户终端T10发送给用户终端T9的低优先级以太网(注册商标)帧3400将通过去往作为目的地的边缘交换机E5的最低代价路径(即,通过边缘交换机E8、核心交换机C6、边缘交换机E6和边缘交换机E5的路径(a)、或者通过边缘交换机E8、边缘交换机E7、核心交换机C5和边缘交换机E5的路径(b))而被传送到目的地用户终端T5和T9。
这里,关于在(a)路径上传送的帧,因为核心交换机C6具有用于故障发生的输出端口,所以所接收的帧中的低优先级帧将被输出到端口p2侧,并通过核心交换机C6、核心交换机C5、边缘交换机E5而被传送到作为目的地的用户终端T9。
可以设计为:当去往作为发送目的地的终端的路由路径的代价超过预先为网络系统设置的路由路径代价可允许值时,从Tag表3800中删除去往相关路径的端口。
这样的配置防止了选择路由路径代价超过可允许值的路径。
(第四示例性实施例的效果)
因此,本示例性实施例的传送方法通过使用在现有技术中没有使用的链路,使得可以提高整个网络的带宽使用效率。
此时,当存在到目的地的代价相等的多条路径时,在不考虑优先级的情况下分散地执行传送,并且当存在代价不同的多条路径时,通过最低代价路径来传送高优先级帧,并通过代价尽可能低的其它路径来传送低优先级帧。
这实现了基于数据优先级的传送,同时降低了由优先级导致的数据量的不平衡,以平均化帧传送量。
根据本发明的示例性实施例,基于其路由节点为目的地终端所连接的节点的生成树的端口信息,网络上的各个节点在保存了与目的地终端所连接的节点的标识符相对应的输出端口的转发表中,将其路由节点为目的地终端所连接的节点的生成树的端口中下述端口设置为针对连接到目的地终端的节点的输出端口:功能为路由端口且状态为转发状态的端口、或者适用功能为替代端口的端口条件的端口。
然后,当传送从发送源终端向目的地终端发送的数据帧时,参考其中设置了针对目的地终端所连接的节点的输出端口的转发表,获得针对该节点的输出端口,并且当不存在多个获得的输出端口时,将相关输出端口确定为输出目的地并传送数据帧。
当存在多个获得的输出端口时,基于预定算法(例如,诸如轮询或加权轮询之类的方法)从所述多个输出端口中,确定针对目的地终端所连接的节点的输出端口,用以传送数据帧。
虽然已经参考示例性实施例来具体示出并描述了本发明,但是本发明并不限于这些实施例。本领域普通技术人员将会了解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以在其中进行形式和细节方面的各种改变。
通过引用的结合
本申请基于2006年2月16日提交的日本专利申请No.2006-038894并要求该申请的优先权,该申请公开的内容通过引用而全部结合于此。
Claims (30)
1.一种用于传送从发送源终端向目的地终端发送的数据帧的网络的节点,该节点包括:
生成树控制单元,该生成树控制单元根据控制帧执行对其路由节点为与所述目的地终端相连接的节点的生成树的端口信息进行更新的处理,并且从每个树提取其端口功能为根端口并且端口状态为转发状态的端口和其端口功能为替代端口的端口,并且向表控制单元通知所述生成树的树ID和与所述生成树的树ID相对应的端口的端口号;
表控制单元,该表控制单元接收从所述生成树控制单元通知的所述生成树的树ID和与所述树ID相对应的端口号,并且将所述树ID和所述端口号作为所述节点的输出端口写入到转发表中;
输出端口确定单元,该输出端口确定单元通过基于数据帧的头部信息、帧类型信息和输入端口信息参考所述转发表中的扩展标签的内容来确定所述节点的输出端口;以及
帧传送单元,该帧传送单元通过所确定的所述输出端口来向所述节点传送数据帧。
2.如权利要求1所述的节点,在确定针对与所述目的地终端相连接的所述节点的输出端口时,将所述生成树的端口中的、功能为根端口且状态为转发状态的端口或者满足功能为替代端口的端口条件的端口视为针对所述节点的输出端口。
3.如权利要求1所述的节点,当确定针对与所述目的地终端相连接的所述节点的输出端口,而发现在所述生成树的端口中存在多个功能为根端口且状态为转发状态的端口或者满足功能为替代端口的端口条件的端口时,基于下述算法从这多个端口中确定针对所述节点的输出端口:该算法是通过轮询或者加权轮询,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于所述数据帧的头部信息,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于记载在所述数据帧的有效载荷中的内容,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于所述数据帧的头部信息和记载在所述数据帧的有效载荷中的内容,从多个端口中确定数据帧将从其输出的端口的方法。
4.如权利要求1所述的节点,当确定针对与所述目的地终端相连接的所述节点的输出端口,而发现在所述生成树的端口中存在多个功能为根端口且状态为转发状态的端口或者满足功能为替代端口的端口条件的端口时,在考虑到要被发送的数据帧的优先级的情况下从这多个端口中确定针对所述节点的输出端口。
5.如权利要求4所述的节点,当确定针对与所述目的地终端相连接的所述节点的输出端口,而发现在所述生成树的端口中存在多个功能为根端口且状态为转发状态的端口或者满足功能为替代端口的端口条件的端口时,将优先级为高的所述数据帧的输出端口确定为作为根端口且状态为转发状态的端口,并将优先级为低的所述数据帧的输出端口确定为作为替代端口的端口。
6.如权利要求4所述的节点,当确定针对与所述目的地终端相连接的所述节点的输出端口,而发现在所述生成树的端口中存在多个功能为根端口且状态为转发状态的端口或者满足功能为替代端口的端口条件的端口时,将优先级为高的所述数据帧的输出端口确定为作为替代端口的端口,并将优先级为低的所述数据帧的输出目的地确定为作为根端口且状态为转发状态的端口。
7.如权利要求1所述的节点,当确定针对与所述目的地终端相连接的所述节点的输出端口,而发现在所述生成树的端口中存在多个功能为根端口且状态为转发状态的端口或者满足功能为替代端口的端口条件的端口时,在考虑到到所述节点的路径代价和数据帧的优先级的情况下确定针对所述节点的输出端口。
8.如权利要求7所述的节点,当确定针对与所述目的地终端相连接的所述节点的输出端口,而发现在所述生成树的端口中存在多个功能为根端口且状态为转发状态的端口或者满足功能为替代端口的端口条件的端口时,如果各个端口到所述节点的路径代价相等,则基于下述算法来确定针对所述节点的输出端口,并且如果所述路径代价不相等,则在考虑到所述路径代价和数据帧的优先级的情况下确定针对所述节点的输出端口:该算法是通过轮询或者加权轮询,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于所述数据帧的头部信息,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于记载在所述数据帧的有效载荷中的内容,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于所述数据帧的头部信息和记载在所述数据帧的有效载荷中的内容,从多个端口中确定数据帧将从其输出的端口的方法。
9.如权利要求8所述的节点,当确定针对与所述目的地终端相连接的所述节点的输出端口,而发现在所述生成树的端口中存在多个功能为根端口且状态为转发状态的端口或者满足功能为替代端口的端口条件的端口时,如果各个端口到所述节点的路径代价相等,则基于所述算法来确定针对所述节点的输出端口,并且如果所述路径代价不相等,则将优先级为高的所述数据帧的输出目的地确定为作为根端口且状态为转发状态的端口,并将优先级为低的所述数据帧的输出目的地确定为作为替代端口的端口。
10.如权利要求8所述的节点,当确定针对与所述目的地终端相连接的所述节点的输出端口,而发现在所述生成树的端口中存在多个功能为根端口且状态为转发状态的端口或者满足功能为替代端口的端口条件的端口时,如果各个端口到所述节点的路径代价相等,则基于所述算法来确定针对所述节点的输出端口,并且如果所述路径代价不相等,则将优先级为高的所述数据帧的输出目的地确定为作为替代端口的端口,并将优先级为低的所述数据帧的输出目的地确定为作为根端口且状态为转发状态的端口。
11.如权利要求3所述的节点,其中,当所述算法是通过加权轮询的方法时,从满足所述条件的端口中选择作为输出数据帧的端口的概率由与所述端口相连接的链路的链路速度确定。
12.如权利要求3所述的节点,其中,当所述算法是通过加权轮询的方法时,从满足所述条件的端口中选择作为输出数据帧的端口的概率由所述端口到与所述目的地终端相连接的所述节点的路径代价确定。
13.如权利要求1所述的节点,包括:
转发表存储单元,该转发表存储单元存储所述转发表,所述转发表保存与和所述目的地终端相连接的节点的标识符相对应的输出端口;
生成树控制单元,执行对所述生成树的处理;
表控制单元,基于从所述生成树控制单元通知的所述生成树的端口信息,将所述生成树的端口中的、功能为根端口且状态为转发状态的端口或者满足功能为替代端口的端口条件的端口,作为针对所述节点的输出端口写入到所述转发表,其中,所述生成树的路由节点是所述节点;以及
输出端口确定单元,参考所述转发表来确定针对所述节点的输出端口。
14.如权利要求1所述的节点,包括:
转发表存储单元,该转发表存储单元存储所述转发表,所述转发表保存与和所述目的地终端相连接的节点的标识符相对应的输出端口;
生成树控制单元,执行对所述生成树的处理;
表控制单元,基于从所述生成树控制单元通知的所述生成树的端口信息,将所述生成树的端口中的、功能为根端口且状态为转发状态的端口或者满足功能为替代端口的端口条件的端口,作为针对所述节点的输出端口写入到所述转发表,其中,所述生成树的路由节点是所述节点;以及
输出端口确定单元,参考所述转发表来获得针对所述节点的输出端口,并且当存在多个所述输出端口时,基于下述算法来确定针对所述节点的输出端口:该算法是通过轮询或者加权轮询,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于所述数据帧的头部信息,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于记载在所述数据帧的有效载荷中的内容,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于所述数据帧的头部信息和记载在所述数据帧的有效载荷中的内容,从多个端口中确定数据帧将从其输出的端口的方法。
15.如权利要求1所述的节点,包括:
转发表存储单元,该转发表存储单元存储所述转发表,所述转发表保存与和所述目的地终端相连接的节点的标识符相对应的输出端口和用于故障生成的输出端口;
生成树控制单元,执行对所述生成树的处理;
表控制单元,基于从所述生成树控制单元通知的所述生成树的端口信息,将所述生成树的端口中的、功能为根端口且状态为转发状态的端口或者满足功能为替代端口的端口条件的端口,作为针对所述节点的输出端口写入到所述转发表,其中,所述生成树的路由节点是所述节点;以及
输出端口确定单元,参考所述转发表来获得针对所述节点的输出端口,并且当存在多个所述输出端口时,如果所述多个端口包括被检测到故障的端口,则从所述多个端口中去除该被检测到故障的端口,以基于下述算法来确定针对所述节点的输出端口:该算法是通过轮询或者加权轮询,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于所述数据帧的头部信息,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于记载在所述数据帧的有效载荷中的内容,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于所述数据帧的头部信息和记载在所述数据帧的有效载荷中的内容,从多个端口中确定数据帧将从其输出的端口的方法。
16.如权利要求1所述的节点,包括:
转发表存储单元,该转发表存储单元存储所述转发表,所述转发表保存与和所述目的地终端相连接的节点的标识符相对应的输出端口和用于故障生成的输出端口;
生成树控制单元,执行对所述生成树的处理;
表控制单元,基于从所述生成树控制单元通知的所述生成树的端口信息,将所述生成树的端口中的功能为根端口且状态为转发状态的端口写入到所述转发表中作为针对所述节点的输出端口,并将所述生成树的端口中的功能为替代端口的端口写入到所述转发表中作为针对所述节点的用于故障生成的输出端口,其中,所述生成树的路由节点是所述节点;以及
输出端口确定单元,参考所述转发表来获得针对所述节点的输出端口和用于故障生成的输出端口,并且当存在多个所获得的端口时,在考虑到所述数据帧的优先级的情况下确定输出端口。
17.如权利要求16所述的节点,其中,当参考所述转发表并获得针对所述节点的输出端口和用于故障生成的输出端口从而发现存在多个所获得的端口时,所述输出端口确定单元将针对所述节点的优先级为高的数据帧的输出目的地确定为所述输出端口,并将针对所述节点的优先级为低的数据帧的输出目的地确定为所述用于故障生成的输出端口。
18.如权利要求16所述的节点,其中,当参考所述转发表并获得针对所述节点的输出端口和用于故障生成的输出端口从而发现存在多个所获得的端口时,所述输出端口确定单元将针对所述节点的优先级为高的数据帧的输出目的地确定为所述用于故障生成的输出端口,并将针对所述节点的优先级为低的数据帧的输出目的地确定为所述输出端口。
19.如权利要求1所述的节点,包括:
转发表存储单元,所述转发表存储单元存储所述转发表,所述转发表保存与和所述目的地终端相连接的节点的标识符相对应的输出端口和该输出端口的路由路径代价以及用于故障发生的输出端口和该用于故障发生的输出端口的路由路径代价;
生成树控制单元,执行对所述生成树的处理;
表控制单元,基于从所述生成树控制单元通知的所述生成树的端口信息,将所述生成树的端口中的功能为根端口且状态为转发状态的端口作为针对所述节点的输出端口与该输出端口的路由路径代价一起写入到所述转发表中,并将功能为替代端口的端口作为针对所述节点的用于故障发生的输出端口与该用于故障发生的输出端口的路由路径代价一起写入到所述转发表中,其中,所述生成树的路由节点是所述节点;以及
输出端口确定单元,参考所述转发表来获得针对所述节点的输出端口和用于故障生成的输出端口,并且当存在多个所述输出端口时,在考虑到作为到所述节点的路径的代价的路由路径代价和数据帧的优先级的情况下确定输出端口。
20.如权利要求19所述的节点,其中,当参考所述转发表并获得针对所述节点的输出端口和用于故障生成的输出端口从而发现存在多个所获得的端口时,所述输出端口确定单元基于下述算法来确定针对所述节点的所述输出端口,并且如果各个所述路由路径代价不相等,则在考虑到所述数据帧的优先级的情况下确定针对所述节点的输出端口:该算法是通过轮询或者加权轮询,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于所述数据帧的头部信息,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于记载在所述数据帧的有效载荷中的内容,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于所述数据帧的头部信息和记载在所述数据帧的有效载荷中的内容,从多个端口中确定数据帧将从其输出的端口的方法。
21.如权利要求19所述的节点,其中,当参考所述转发表并获得针对所述节点的输出端口和用于故障生成的输出端口从而发现存在多个所获得的端口时,如果各个所述路由路径代价相等,则所述输出端口确定单元基于下述算法来确定针对所述节点的输出端口,并且如果各个所述路由路径代价不相等,则所述输出端口确定单元将针对所述节点的优先级为高的数据帧的输出目的地确定为所述输出端口,并将针对所述节点的优先级为低的数据帧的输出目的地确定为所述用于故障生成的输出端口:该算法是通过轮询或者加权轮询,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于所述数据帧的头部信息,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于记载在所述数据帧的有效载荷中的内容,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于所述数据帧的头部信息和记载在所述数据帧的有效载荷中的内容,从多个端口中确定数据帧将从其输出的端口的方法。
22.如权利要求19所述的节点,其中,当参考所述转发表并获得针对所述节点的输出端口和用于故障生成的输出端口从而发现存在多个所获得的端口时,如果各个所述路由路径代价相等,则所述输出端口确定单元基于下述算法来确定针对所述节点的输出端口,并且如果各个所述路由路径代价不相等,则所述输出端口确定单元将针对所述节点的优先级为高的数据帧的输出目的地确定为所述用于故障生成的输出端口,并将针对所述节点的优先级为低的数据帧的输出目的地确定为所述输出端口:该算法是通过轮询或者加权轮询,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于所述数据帧的头部信息,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于记载在所述数据帧的有效载荷中的内容,从多个端口中确定数据帧将从其输出的端口的方法,或者是基于所述数据帧的头部信息和记载在所述数据帧的有效载荷中的内容,从多个端口中确定数据帧将从其输出的端口的方法。
23.如权利要求14所述的节点,其中,当所述输出端口确定单元所使用的所述算法是通过加权轮询的方法时,从满足所述条件的端口中选择作为数据帧将要从其输出的端口的概率由与所述端口相连接的链路的链路速度确定。
24.如权利要求14所述的节点,其中,当所述输出端口确定单元所使用的所述算法是通过加权轮询的方法时,从满足所述条件的端口中选择作为数据帧将要从其输出的端口的概率由所述端口到与所述目的地终端相连接的所述节点的路径代价确定。
25.如权利要求1所述的节点,其中,与所述目的地终端相连接的节点的标识符存储在VLAN标签中。
26.如权利要求1所述的节点,其中,与所述目的地终端相连接的节点的标识符是MAC地址。
27.一种在用于传送从发送源终端向目的地终端发送的数据帧的网络中的帧传送方法,其中,所述网络中的各个节点
根据控制帧执行对其路由节点为与所述目的地终端相连接的节点的生成树的端口信息进行更新的处理,并且从每个树提取其端口功能为根端口并且端口状态为转发状态的端口和其端口功能为替代端口的端口,并且向表控制单元通知所述生成树的树ID和与所述生成树的树ID相对应的端口的端口号,
接收从生成树控制单元通知的所述生成树的树ID和与所述树ID相对应的端口号,并且将所述树ID和所述端口号作为所述节点的输出端口写入到转发表中,
通过基于数据帧的头部信息、帧类型信息和输入端口信息参考所述转发表中的扩展标签的内容来确定针对与所述目的地终端相连接的所述节点的输出端口,并且
通过所确定的所述输出端口来向与所述目的地终端相连接的所述节点传送数据帧。
28.如权利要求27所述的帧传送方法,其中,在确定针对与所述目的地终端相连接的所述节点的输出端口时,功能为根端口且状态为转发状态的端口或者满足功能为替代端口的端口条件的端口被视为所述生成树的端口中的针对所述节点的输出端口。
29.一种用于传送从发送源终端向目的地终端发送的数据帧的网络系统,其中,所述网络中的各个节点包括
生成树控制单元,该生成树控制单元根据控制帧执行对其路由节点为与所述目的地终端相连接的节点的生成树的端口信息进行更新的处理,并且从每个树提取其端口功能为根端口并且端口状态为转发状态的端口和其端口功能为替代端口的端口,并且向表控制单元通知所述生成树的树ID和与所述生成树的树ID相对应的端口的端口号;
表控制单元,该表控制单元接收从所述生成树控制单元通知的所述生成树的树ID和与所述树ID相对应的端口号,并且将所述树ID和所述端口号作为所述节点的输出端口写入到转发表中;
输出端口确定单元,该输出端口确定单元通过基于数据帧的头部信息、帧类型信息和输入端口信息参考所述转发表中的扩展标签的内容来确定所述节点的输出端口;以及
帧传送单元,该帧传送单元通过所确定的所述输出端口来向与所述目的地终端相连接的所述节点传送数据帧。
30.如权利要求29所述的网络系统,其中,在确定针对与所述目的地终端相连接的所述节点的输出端口时,功能为根端口且状态为转发状态的端口或者满足功能为替代端口的端口条件的端口被视为所述生成树的端口中的针对所述节点的输出端口。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006038894 | 2006-02-16 | ||
JP038894/2006 | 2006-02-16 | ||
PCT/JP2007/053339 WO2007094520A1 (ja) | 2006-02-16 | 2007-02-16 | ノード、ネットワークシステム、フレーム転送方法及びフレーム転送プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101385284A CN101385284A (zh) | 2009-03-11 |
CN101385284B true CN101385284B (zh) | 2014-07-02 |
Family
ID=38371687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780005887.1A Expired - Fee Related CN101385284B (zh) | 2006-02-16 | 2007-02-16 | 节点、网络系统、帧传送方法和帧传送程序 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8094584B2 (zh) |
JP (1) | JPWO2007094520A1 (zh) |
CN (1) | CN101385284B (zh) |
WO (1) | WO2007094520A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009065429A (ja) * | 2007-09-06 | 2009-03-26 | Hitachi Communication Technologies Ltd | パケット転送装置 |
JP5387349B2 (ja) * | 2009-11-11 | 2014-01-15 | 富士通株式会社 | 中継装置 |
US8619546B2 (en) * | 2010-08-17 | 2013-12-31 | Alcatel Lucent | Method and apparatus for coping with link failures in central control plane architectures |
DE102011004064A1 (de) * | 2011-02-14 | 2012-08-16 | Siemens Aktiengesellschaft | Zwischennetzwerk in Ringtopologie und Verfahren zum Herstellen einer Netzwerkverbindung zwischen zwei Netzwerkdomänen |
US9124524B2 (en) * | 2011-06-29 | 2015-09-01 | Broadcom Corporation | System and method for priority based flow control between nodes |
JP2013198077A (ja) * | 2012-03-22 | 2013-09-30 | Yazaki Corp | ネットワーク及びブリッジ |
CN102739309B (zh) * | 2012-06-15 | 2014-12-24 | 烽火通信科技股份有限公司 | 智能odn系统中快速感知端口状态的方法 |
US9246821B1 (en) * | 2014-01-28 | 2016-01-26 | Google Inc. | Systems and methods for implementing weighted cost multi-path using two-level equal cost multi-path tables |
NO2776466T3 (zh) * | 2014-02-13 | 2018-01-20 | ||
CN106453022A (zh) * | 2016-09-14 | 2017-02-22 | 上海斐讯数据通信技术有限公司 | 一种网络设备和数据包发送方法 |
CN108683580B (zh) * | 2018-05-24 | 2020-11-03 | 西安电子科技大学 | 基于Mac地址划分的虚拟局域网数据处理方法 |
US10721163B1 (en) * | 2019-03-15 | 2020-07-21 | Dell Products L.P. | Spanning tree protocol bridge-based link selection system |
US11354269B2 (en) | 2020-01-27 | 2022-06-07 | Bank Of America Corporation | Snapshot load framework |
US11269826B2 (en) * | 2020-01-27 | 2022-03-08 | Bank Of America Corporation | View tables framework |
US11308065B2 (en) | 2020-01-27 | 2022-04-19 | Bank Of America Corporation | Condenser framework |
US11689455B2 (en) * | 2020-05-28 | 2023-06-27 | Oracle International Corporation | Loop prevention in virtual layer 2 networks |
JP2023535149A (ja) | 2020-07-14 | 2023-08-16 | オラクル・インターナショナル・コーポレイション | Vlanスイッチングおよびルーティングサービスのためのシステムおよび方法 |
CN112422447B (zh) * | 2020-11-13 | 2022-04-26 | 新华三技术有限公司合肥分公司 | 一种成员端口的选择方法及装置 |
CN112104451B (zh) * | 2020-11-20 | 2021-02-09 | 武汉绿色网络信息服务有限责任公司 | 一种数据包传输端口的刷新方法和装置 |
US11652743B2 (en) | 2020-12-30 | 2023-05-16 | Oracle International Corporation | Internet group management protocol (IGMP) of a layer-2 network in a virtualized cloud environment |
US11671355B2 (en) | 2021-02-05 | 2023-06-06 | Oracle International Corporation | Packet flow control in a header of a packet |
US11777897B2 (en) | 2021-02-13 | 2023-10-03 | Oracle International Corporation | Cloud infrastructure resources for connecting a service provider private network to a customer private network |
CN113783806B (zh) * | 2021-08-31 | 2023-10-17 | 上海新氦类脑智能科技有限公司 | 分流器路由跳转方法、装置、介质、设备及其应用的多核系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003318933A (ja) * | 2002-04-22 | 2003-11-07 | Hitachi Ltd | 冗長ポートの有効利用方法 |
CN1510873A (zh) * | 2002-12-26 | 2004-07-07 | 华为技术有限公司 | 基于多生成树协议的域根切换实现方法 |
JP2004214816A (ja) * | 2002-12-27 | 2004-07-29 | Nec Corp | スパニングツリーシステム、スパニングツリー構成方法及び構成プログラム、スパニングツリー構成ノード |
WO2004088931A1 (ja) * | 2003-03-31 | 2004-10-14 | Fujitsu Limited | データ通信負荷分散制御プログラム、およびデータ負荷分散制御方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6178448B1 (en) * | 1997-06-18 | 2001-01-23 | International Business Machines Corporation | Optimal link scheduling for multiple links by obtaining and utilizing link quality information |
US6556541B1 (en) * | 1999-01-11 | 2003-04-29 | Hewlett-Packard Development Company, L.P. | MAC address learning and propagation in load balancing switch protocols |
US6717950B2 (en) * | 2002-01-20 | 2004-04-06 | General Instrument Corporation | Method and apparatus for priority-based load balancing for use in an extended local area network |
JP3799010B2 (ja) * | 2002-12-19 | 2006-07-19 | アンリツ株式会社 | メッシュ型ネットワーク用ブリッジ |
US20040225725A1 (en) * | 2003-02-19 | 2004-11-11 | Nec Corporation | Network system, learning bridge node, learning method and its program |
US7532588B2 (en) * | 2003-02-19 | 2009-05-12 | Nec Corporation | Network system, spanning tree configuration method and configuration program, and spanning tree configuration node |
JP4089698B2 (ja) * | 2005-03-30 | 2008-05-28 | 日本電気株式会社 | ネットワークシステム、ツリー再構成処理方法、ノード、ツリー再構成処理プログラム |
-
2007
- 2007-02-16 JP JP2008500596A patent/JPWO2007094520A1/ja active Pending
- 2007-02-16 CN CN200780005887.1A patent/CN101385284B/zh not_active Expired - Fee Related
- 2007-02-16 US US12/279,682 patent/US8094584B2/en not_active Expired - Fee Related
- 2007-02-16 WO PCT/JP2007/053339 patent/WO2007094520A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003318933A (ja) * | 2002-04-22 | 2003-11-07 | Hitachi Ltd | 冗長ポートの有効利用方法 |
CN1510873A (zh) * | 2002-12-26 | 2004-07-07 | 华为技术有限公司 | 基于多生成树协议的域根切换实现方法 |
JP2004214816A (ja) * | 2002-12-27 | 2004-07-29 | Nec Corp | スパニングツリーシステム、スパニングツリー構成方法及び構成プログラム、スパニングツリー構成ノード |
WO2004088931A1 (ja) * | 2003-03-31 | 2004-10-14 | Fujitsu Limited | データ通信負荷分散制御プログラム、およびデータ負荷分散制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US8094584B2 (en) | 2012-01-10 |
US20100232322A1 (en) | 2010-09-16 |
JPWO2007094520A1 (ja) | 2009-07-09 |
CN101385284A (zh) | 2009-03-11 |
WO2007094520A1 (ja) | 2007-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101385284B (zh) | 节点、网络系统、帧传送方法和帧传送程序 | |
US11134012B2 (en) | Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow | |
US9178762B2 (en) | Configuring networks including spanning trees | |
CN104272679B (zh) | 通信系统、控制装置、通信方法以及记录介质 | |
CN103026669B (zh) | 通信系统、控制设备以及通信方法 | |
US8498297B2 (en) | Forwarding table minimisation in ethernet switches | |
US7869439B1 (en) | Varying packet switch behavior based on a quantity of virtual interfaces associated with a virtual switch | |
US5910955A (en) | Switching hub capable of controlling communication quality in LAN | |
CN104704779A (zh) | 用于加速软件定义网络中的转发的方法和设备 | |
WO2004075485A1 (ja) | ネットワークシステム、スパニングツリー構成方法及び構成プログラム、スパニングツリー構成ノード | |
CN101136921A (zh) | 通信装置及通信系统 | |
WO2005020022A2 (en) | Self-healing tree network | |
JPH118646A (ja) | ブリッジ | |
US9515881B2 (en) | Method, device, and system for packet processing | |
CN101171802B (zh) | 网络节点,网络,产生在网络中传送信息的对应关系产生方法 | |
US20120063319A1 (en) | Method for managing paths between a source node and a destination node within the data link layer, corresponding source node and table | |
CN104509045A (zh) | 控制装置、通信系统、通信方法和程序 | |
US20110110369A1 (en) | Relay device | |
CN105830402B (zh) | 分组转发系统、控制装置及中继设备的控制方法和程序 | |
US10218612B2 (en) | Method and a device for defining implementation of a look-up table for a network element of a software-defined network | |
CN103916322B (zh) | 定义软件定义网络的网络元件的查找系统的方法和设备 | |
CN104429026A (zh) | 通信系统、控制装置、通信方法及程序 | |
Faghani et al. | New forwarding strategy for metro Ethernet networks based on hierarchical addressing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140702 Termination date: 20160216 |
|
CF01 | Termination of patent right due to non-payment of annual fee |