CN101133605B - 对基于mac的表执行扩展查找 - Google Patents
对基于mac的表执行扩展查找 Download PDFInfo
- Publication number
- CN101133605B CN101133605B CN200680006475.5A CN200680006475A CN101133605B CN 101133605 B CN101133605 B CN 101133605B CN 200680006475 A CN200680006475 A CN 200680006475A CN 101133605 B CN101133605 B CN 101133605B
- Authority
- CN
- China
- Prior art keywords
- address
- layer
- osi
- multicast
- search terms
- 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/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5069—Address allocation for group communication, multicast communication or broadcast communication
-
- 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/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4645—Details on frame tagging
- H04L12/465—Details on frame tagging wherein a single frame includes a plurality of VLAN tags
-
- 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/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/604—Address structures or formats
Abstract
本发明提出了一种对帧的OSI第2层交换机转发进行优化的方法和系统,所述帧包括IP地址、802.1 QinQ VLAN标识符,多协议标签交换标签以及任何其他对得到所述帧的L2转发结果有意义的有用信息。在一个实施例中,48位OSI第2层地址条目包括作为前缀的16位密钥(520),从而允许查找表中包括32位OSI第3层地址(例如完整的IPv4地址)。提出了这种方案的实现方式,以解决包括单源多播的多播组目标地址中存在的地址混淆问题。还提出了优化IEEE 802.1 QinQ环境中优化帧转发的方案。这些实现方式的结果会减少由包含这样的OSI第2层地址查找表的网络交换机所产生的不必要的网络流量的量。
Description
技术领域
本发明涉及信息网络领域。具体而言,提出了用于在OSI第2层交换机地址表中提供32位地址表示的方法、系统和设备;因此可以在OSI第2层交换机地址表中包括完整的IPv4多播地址,从而消除了地址混淆(aliasing)。
背景技术
当今的网络链路携带海量信息。这些网络链路支持的高带宽应用例如包括流式视频、流式音频以及较大集合的语音流量。将来,网络带宽需求将会增加。诸如流式视频和流式音频的某些应用可以由于将这样的传输发送到多个订阅者而产生大量的网络流量。为了有助于减少由于这些应用所造成的网络流量,开发了网络协议的多播扩展。
多播协议通过复制靠近多播网络帧的目的地的该帧、消除对用于同样目的的多个单播连接的需要、节省网络带宽以及提高吞吐量而允许多播传输(即,一个到多个的连接)。在接收到多播帧之后,网络节点可以检查帧的多播组目标地址(GDA)并确定多播帧的订阅者是否连接到网络节点。然后网络节点可以根据需要复制多播帧并将多播帧传输到任何连接的订阅节点。
图1是网络交换机100的简化框图。该交换机提供端口100(1)-(N),其中到达任何端口的网络帧可以被定向到任何其他连接到通过帧的目标地址的检查所确定的交换机。连接到各个端口的是网络节点120(1,1)-(N,M)。在典型的网络环境中,每个网络节点120(1,1)-(N,M)都具有唯一的媒体访问控制(MAC)地址。因为网络节点120(1,1)-(N,M)彼此经由交换机100传输帧,所以交换机100可以得知这些网络节点的MAC地址。由网络节点传输的每个帧都包含交换机100可以读取并且可以将其与一个端口100(1)-(N)相关联的源MAC地址。这种节点-端口信息存储在地址表中。这种表被称为L2地址表(参考用于实现协议的开放系统互连网络框架的第2层,也称为数据链路层)或MAC地址表。
在OSI网络模型中,网络节点或网络节点上的应用程序可以在模型的每层上具有其网络地址的不同表示。交换机100可以工作在第2层(L2)(即,OSI模型的数据链路层)。网络节点的这些L2或MAC地址对于网络上的每个网络接口是唯一的,并且通常被硬件编码在网络接口中。MAC地址的长度为48位,包含24位的供应商代码,接着是24位的硬件地址。网络节点也可以具有OSI第3层地址,该地址包含诸如因特网协议(IP)地址之类的地址。IP地址是软件编码的,并且可以由管理员提供或者可以在网络节点所在的环境中动态地确定。在因特网协议的第4版本(IPv4)中,L3地址的长度为32位,而在因特网协议的第6版本(IPv6)中,L3地址的长度为128位。当OSI第3层分组在网络上传输时,它将被封装在一个OSI第2层帧中,因此,这些帧可以既包含L2源地址和目标地址,又可以包含L3源地址和目标地址。
图2示出的L2地址表示出了交换机100的节点-端口关联。表中的每个条目都具有关联索引210。表中的条目数可以等于与交换机100连接的节点数(例如P)。表中的每个条目包含与在每个节点所传输的帧中找到的源MAC地址相对应的MAC地址220(例如,SMAC(120(1,1))是节点120(1,1)的源MAC地址)。每个L2地址表的条目还包含对应于该节点的端口230,其中当交换机100从网络节点接收到帧时,它进行该关联。将节点地址链接到特定端口的信息与节点的硬件(例如网络接口)相关并且在L2地址表中通常是静态的,除非一个节点从交换机的一个端口移动到另一个端口。
L2地址表可以自动地用节点-端口指示符填充,但是不能自动地用多播目的地填充。这是因为多播GDA不可能是源MAC地址。L3多播GDA的一部分通过诸如因特网组管理协议(IGMP)之类的软件协议的使用而被包含在L2地址表中。当网络节点希望订阅多播传输时,专用IGMP协议帧被作为多播“参加”请求而传输。IGMP使能交换机具有在交换机上运行的“探听”软件,以读取这样的帧并且为L2地址建立相应的表条目。这样的条目可以将一种形式的多播GDA(L3地址)与连接到订阅节点的端口相关联。
IGMP帧包含L3GDA以及与IGMP帧中所请求的操作相关的其他信息。这样的L3地址要求L2地址表中包含处理(manipulation)。
图3示出了将IPv4和IPv6多播组目标地址转换成可接受的形式,以包含到L2地址表的条目中的处理。IPv4GDA的长度为32位并且在地址224.0.0.0-239.255.255.255的范围内。这样的IP地址在图3中的310处示出。如上所述,L2地址限定为48位,这48位被分成两个24位的段。L2MAC多播地址的前三个八位位组(前24位)被设定为01:00:5E(325)。为了产生与L3GDA相对应的L2地址表的L2MAC多播地址,L3GDA的最后23位被插入到MAC地址320的最后23位中。由于32位IPv4地址的一部分被插入到MAC地址的23位区域中,因此IPv4地址中丢失了9位的信息。9位中的5位是重要的,因为任何IPv4多播地址的前4位总是1110。这种信息的丢失称之为地址混淆,因为多个L3GDA可以由单个L2MAC多播地址表示。(例如,IPv4GDA 239.255.0.1将与诸如238.255.0.1和239.127.0.1之类的其他IPv4GDA共享一个L2MAC多播地址。)如330和340所示出的,这种地址混淆问题在IPv6GDA中被放大了。IPv6地址330的长度为128位,因此80个重要的位在从L3IPv6GDA到L2MAC地址的转换过程中被丢失了。
多播地址的地址混淆可能由于发送到第一IP多播组的帧也被发送到其他的IP多播组而造成网络流量的增加,所述其他的多播组在L3多播地址中共享相同的低位23位。此外,由于未订阅的节点不得不丢弃帧,因此接收节点的开销可能增加。流量的增加和帧的丢弃都导致网络带宽资源的浪费。因此希望以消除或减少L3GDA信息丢失的方式构建L2地址表中的多播条目,从而允许对多播帧进行更多的扩展查找。
发明内容
本发明提供了L2地址表的多播条目中至少32位的寻址信息的可用性。这将允许在L2地址表的条目中包含整个IPv4多播GDA,从而消除了IPv4多播GDA的地址混淆。通过使用连锁(chaining)地址查找,使用这样的L2地址表也将优化在依源而定的多播(SSM)和802.1Q-in-Q(QinQ)情形中出现的转发问题。这种在L2地址表中的增加的地址空间也可以用于减少IPv6L3多播GDA发生的地址混淆。
根据本发明的一个方面,提供了一种用于多播帧的OSI第2层地址表查找的方法,包括:形成包括OSI L3GDA和第一密钥的L2GRP,其中L3GDA指的是第3层多播组目标地址,L2GRP指的是第2层组地址;将所述L2GRP存储在OSI第2层地址表的第一表条目中,其中所述第一密钥标识出所述第一表条目包括所述L3GDA;从多播帧中读取第一OSI第3层组目标地址;形成包括所述第一密钥和所述第一OSI第3层组目标地址的第一搜索项;以及将所述第一搜索项与所述L2GRP进行比较。
根据本发明的另一方面,提供了一种用于多播帧的OSI第2层地址表查找的方法,包括:形成包括OSI L3GDA和第一密钥的L2GRP,其中L3GDA指的是第3层多播组目标地址,L2GRP指的是L2组地址;将所述L2GRP存储在OSI第2层地址表的第一表条目中;将第一PE_VLAN标识符存储在所述第一表条目中,其中PE_VLAN指的是供应商虚拟LAN;以及将第一CE_VLAN标识符存储在所述OSI第2层地址表的第三表条目中,其中CE_VLAN指的是用户虚拟LAN。
根据本发明的另一方面,提供了一种用于多播帧的OSI第2层地址表查找的系统,包括:用于形成包括OSI L3GDA和第一密钥的L2GRP的装置,其中L3GDA指的是第3层多播组目标地址,L2GRP指的是第2层组地址;用于将所述L2GRP存储在OSI第2层地址表的第一表条目中的装置,其中所述第一密钥标识出所述第一表条目包括所述L3GDA;用于从多播帧中读取第一OSI第3层组目标地址的装置;用于形成包括所述第一密钥和所述第一OSI第3层组目标地址的第一搜索项的装置;以及用于将所述第一搜索项与所述L2GRP进行比较的装置。
根据本发明的另一方面,提供了一种用于多播帧的OSI第2层地址表查找的系统,包括:用于形成包括OSI L3GDA和第一密钥的L2GRP的装置,其中L3GDA指的是第3层多播组目标地址,L2GRP指的是L2组地址;用于将所述L2GRP存储在OSI第2层地址表的第一表条目中的装置;用于将第一PE_VLAN标识符存储在所述第一表条目中的装置,其中PE_VLAN指的是供应商虚拟LAN;以及用于将第一CE_VLAN标识符存储在所述OSI第2层地址表的第三表条目中的装置,其中CE_VLAN指的是用户虚拟LAN。
附图说明
通过参考附图,本领域技术人员可以更好地理解本发明,并且清楚其多个目的、特征和优点。
图1示出了网络交换机的简化框图。
图2示出了L2地址表,该表示出了诸如图1所示的交换机之类的交换机的节点-端点关联。
图3示出了将IPv4和IPv6地址转换成可接受的形式,以包含到L2地址表的条目中的处理。
图4示出了包含传统MAC多播目标地址的L2地址表。
图5示出了根据本发明一个实施例的用于多播组地址的修改后L2地址表条目的格式。
图6是示出本发明一个实施例所提出的依源而定的多播(SSM)概念的简化框图。
图7示出了包含根据本发明一个实施例所修改的条目以用于解决依源而定的多播的L2地址表的示例。
图8是示出用供应商VLAN传输用户VLAN的简化框图。
图9示出了根据本发明一个实施例的包含允许QinQ地址解析的元素的L2地址表。
图10是示出根据本发明一个实施例的可以被用于用32位的L3GDA字段来填充L2地址表的步骤的简化流程图。
图11是示出根据本发明一个实施例的多播(包括SSM)帧的L2地址表查找的简化流程图。
图12是示出根据本发明一个实施例的用于解决QinQ环境中的多播寻址的表查找方法的简化流程图。
图13是示出根据本发明一个实施例的用于解决QinQ环境中的单播寻址的表查找方法的简化流程图。
图14示出了适于实现本发明的计算机系统的框图。
图15是示出适用于实现本发明的网络体系结构的框图。
具体实施方式
地址混淆和由于地址混淆而造成的多播帧传输的增加是由于需要将32位的IPv4多播GDA截短为L2地址表条目的23位空间而引起的。如果该L2地址表条目可以包含完整的32位IPv4多播GDA(IPv4GDA),则将不会发生地址混淆,也不会存在由于这种地址混淆所造成的网络多播流量的增加。
多播MAC地址的第一个八位位组的最低位是所谓的I/G位(个体/组位)。I/G位设置为1表示该地址是多播或广播地址。I/G位设置为0表示该地址是单播地址。如果所有目标MAC地址位设置为1(例如目标MAC地址为ff:ff:ff:ff:ff:ff),则广播目标地址就与多播目标地址区别开来。因此,为了将其识别为多播地址所需的MAC地址的仅有一部分是设定为1的I/G位。如上所述,当L2地址表条目中包含多播地址时,前24位包含八位位组01:00:5e。因为这是固定样式(pattern),所以可以使用将I/G位保持为1的某种密钥(key)进行压缩;从而避免干扰存储在L2地址表中的L2单播地址。
图4示出了包含传统MAC多播目标地址的L2地址表。与图2一样,该表包含初始的一组P个条目,每个条目包含索引410、地址420和端口430。如上所述,第一组单播地址440被接收到表中。一组多播目标地址450被示出为附加条目(P+1)和(P+2)。如图所示,一般的MAC多播目标地址460包含:初始的八位位组01:00:5e,接着是随后的一组三个八位位组,来自IPv4GDA的位被插入到所述随后的一组三个八位位组中。每个多播条目与一组链接到订阅网络节点470的一个或多个端口相关联。
图5示出了根据本发明一个实施例的用于多播组地址(L2GRP)的修改后L2地址表条目的格式。如上所述,L2GRP表条目必须包含等于1的I/G位,其中I/G位是地址条目的首个八位位组中的最低位。条目500包含这样的I/G位510,但是将它合并到16位的密钥520中,而不是合并到包含八位位组01:00:5e的32位中。通过将密钥限制为总共16位,32位可用于包含L3GDA 530。
使用16位密钥520而不是八位位组01:00:5e不会破坏L2地址表的利用。除非查找IPv4多播地址,否则不会参考L2地址表的多播L2GRP条目。此外,由于L2GRP地址是动态的并且是由软件输入的,所以不必对硬件做出改变来将L2GRP条目容纳在L2地址表中。
在包含具有对密钥520的匹配的目标MAC地址的一个多播帧(I/G位=1)利用上面的L2地址表到达网络设备的情况下,可能导致到多播订阅者的不正确的转发。一个解决方法可以是根据具体的实现方式,将到来的帧广播到相应的广播域(例如VLAN)上的所有节点或者丢弃帧。可以在任何L2地址表查找之前作出这个决定。例如,选定的密钥可以具有十六进制值0x0101。如果到达的非IP多播帧具有目标MAC地址0101.e022.2222,则这样的MAC地址可能与对应于IPv4GDA 224.34.34.34的L2GRP相冲突,并且如果执行L2地址表查找,则这样的MAC地址将会被错误地转发到订阅该L2GRP的端口。
上述修改后的L2地址表条目的应用超出了解决IPv4GDA所存在的地址混淆问题的范围。这种32位地址表查找的连锁可以用于解决SSM和QinQ应用存在的问题。此外,L2地址表的附加地址空间减少了IPv6多播查找中的更长地址所存在的地址混淆问题,并且允许使用不同类型的查找(例如多协议标签交换(MPLS))。
依源而定的多播
图6是示出本发明一个实施例所提出的依源而定的多播(SSM)概念的简化框图。网络600包含两个多播组610和650。由于诸如地理或者希望在网络600上分发服务器/网络负载之类的原因,对于每个组610和650,都存在多个多播传输源。多播订阅者节点不仅可以规定参加特定组的希望,而且可以订阅传输源。作为示例,组610被分成三个子组610(1)、610(2)和610(3)。每个子组分别由源620、630和640提供服务。类似地,多播订阅者(例如,不同多播传输的订阅者)的第二组被分成两个子组650(1)和650(2),它们分别具有自己的源660和670。
IGMP v3为订阅者节点提供以下能力:不仅规定节点希望参加的多播组而且规定多播源。然而,可以看出,如果L2地址表查找仅限于该组(如上所述),则源的差别将会丢失。此外,如果组地址或源地址仅限于23位,则存在多地址混淆问题。仅仅修改L2地址表条目以包含32位地址字段也不能解决这个问题,因为组地址和源地址是32位的IPv4字段。即使对于上述修改后的L2地址来说,64位组的地址也太大以致于不能包含在单个条目中。修改后的L2地址表中的连锁查找可以解决这个问题。
图7示出了包含根据本发明一个实施例所修改的条目以用于解决依源而定的多播的L2地址表的示例。与图2和图4中一样,所示出的表包含具有地址720和一组与该地址相对应的指定端口730的条目。每个表条目都具有相关索引710。如图2所示,一组条目740对应于单播目标地址1到P。从索引(P+1)开始并且延续到索引(P+Q)的一组条目750包含具有第一密钥(KEY1)和32位GDA(GROUP(1)-GROUP(Q))的L2GRP地址。L2GRP可以是图5所示的格式。条目750也可以包含与订阅L2GRP的节点相对应的每个端口的列表(List(1)-List(Q))。如上所讨论的,KEY1是包含等于1的I/G位的16位字段。
图7包含允许多播源规范的另一组条目760。对于这些条目,32位的源地址(SOURCE(1,1)-SOURCE(Q,R))与第二密钥(KEY2)相关联,总称为L2SRC。KEY2对应于源所关联的组条目的索引(例如,图7的索引710)。例如,参考图6,组610的查找可以确定与组610的条目相关的第一索引。然后使用该第一索引作为与源620、630或640中的一个的32位地址相关联的密钥,该32位地址用于在条目760的查找中确定订阅者目标端口的列表(例如SList(1))。在这种方式下,可以在L2地址表中提供和解析组目标地址端口和源目标端口。
由于与前一章节提出的原因类似的原因,对L2地址表的允许连锁查找来解析SSM目标端口的这种修改将不会干扰传统的L2地址表查找。在没有适当密钥的查找中,对应于多播源的条目不会被查到,并且除非通过初始组目标地址查找获得,否则不会得到这样的密钥。此外,由于多播帧包含L3GDA和L3源地址的指示符,因此多播帧不需要提供新的信息。
QinQ
QinQ网络协议使得服务供应商可以使用单个虚拟LAN(VLAN)来安全地将单个用户的VLAN的大部分或者全部通过服务供应商的城域网(MAN)或广域网(WAN)骨干网传输。允许这么做的软件在服务供应商网络边缘的交换机中的用户流量中增加额外的IEEE 802.1Q标签。该标签为每个用户分配唯一的用户VLAN ID号(PE_VLAN),从而使得每个用户的流量在供应商的网络中是分开的并且是私有的。用户的VLAN(CE_VLAN)的全部都在边缘交换机处合并,以传输到供应商网络中。这允许通过供应商VLAN路由用户VLAN(或者桥域)。
图8是示出使用供应商VLAN传输用户VLAN的简化框图。供应商网络810(MAN或WAN)为两个用户C1和C2提供网络传输。用户C1在网络810的两个站点(site)(站点820和站点830)之间传输流量。同样,用户C2在站点840和850之间传输流量。作为本地化网络流量的机制,用户C1和C2的局域网被分成多个本地VLAN。在站点820处,用户C1支持CE_VLAN(1,1)(822,826)和CE_VLAN(1,2)(824,828)。用户C1在站点830处支持CE_VLAN(1,1)(832,834)和CE_VLAN(1,2)(836)。用户C2在站点840处支持CE_VLAN(2,1)(842)和CE_VLAN(2,2)(844),并且在站点850处支持CE_VLAN(2,1)(852)和CE_VLAN(2,2)(854)。通过使用QinQ编码,例如站点820处的VLAN流量可以通过PE_VLAN 860传输到站点830,C2的流量可以类似地通过PE_VLAN 870进行传输。
QinQ方法存在的问题会发生在单播寻址和多播寻址两者中。对于特定用户来说,供应商网络上PE_VLAN标识符的引入会阻止常规地使用初始CE_VLAN信息来优化L2流量在不同的远程站点中的转发。常规的交换机不能检查和使用PE_VLAN信息和CE_VLAN信息两者以得到对用户帧的转发动作。
图9示出了根据本发明一个实施例的包含允许QinQ地址解析的元素的L2地址表。图9示出的L2地址表的格式与图7所示的格式类似。L2地址表包含MAC地址(920),对于单播地址解析来说,MAC地址(920)可以是连接到端口的网络节点的源MAC地址,而对于多播来说,MAC地址(920)可以是具有16位的密钥和32位的L3GDA的L2GRP条目。L2地址表还包含订阅者端口(930)的列表。每个条目935(单播)和940(多播)包含与桥域相关的附加字段,所述桥域为PE_VLAN(925)。PE_VLAN和CE_VLAN指示符的长度可以在12到14位之间。
对于多播来说,用于解析QinQ地址的表查找类似于图7中用于SSM协议地址的表查找。KEY1被增加到L3GDA中并且PE_VLAN指示符也被从多播帧中取出或者得到。对L2地址表进行搜索以查找与L2GRP(KEY1|L3GDA)和PE_VLAN两者的匹配,从而确定条目索引。该索引变成耦合到来自多播帧的CE_VLAN指示符的第二密钥并且第二表查找被执行。第二表查找的结果确定连接到网络节点的交换机端口,这些网络节点是多播帧的订阅者。
对于单播帧来说,用于解析QinQ地址的表查找与多播地址的表查找类似。目标MAC地址连同PE_VLAN指示符被从单播帧中取出或者得到。对L2地址表进行搜索以查找对表节(table section)920中的目标MAC地址和表节925中的PE_VLAN地址两者的匹配。如果具有匹配,则帧被广播到表节930中所指示的端口。如果没有匹配,则从帧中取出CE_VLAN指示符,并且对L2地址表进行搜索以在表节920和925中分别查找与QinQ_Flood(KEY3|CE_VLAN)和PE_VLAN指示符的匹配。KEY3可以是选定的密钥。该表查找的结果将会或者提供与在其上将传输帧(例如955)的CE_VLAN相对应的一组端口,或者如果没有匹配,则确定是丢弃帧还是在PE_VLAN上广播帧。
如在SSM情形中所讨论的,与KEY2相链接的地址不会干扰L2目的地表的正常操作。如果不提供KEY2,这样的地址甚至都不会被检查,这样的地址只能从L2GRP和PE_VLAN的初始查找中得到。
图10是示出根据本发明一个实施例的可以被用于用具有32位的L3GDA字段的条目来填充L2地址表的步骤的简化流程图。由诸如网络交换机之类的包含L2地址表的节点接收诸如用于参加的IGMPv3消息之类的多播管理消息(1005)。从管理消息中读取IP多播组GDA(L3GDA)(1010)。然后通过将选定的16位密钥和L3GDA的32位合并,形成适于包含在L2地址表中的L2组地址(L2GRP)(1015)。该密钥必须包含等于1的I/G位(即,L2GRP中的第一个八位位组的最低位)。然后确定L2GRP是否已经存在于表中(1020)。如果L2GRP已经存在于表中,则对表条目执行管理消息中所指定的管理操作(1025)。这些操作可以包括增加订阅者,并且因此在需要的情况下增加目标端口到预先存在的条目中的目标端口列表中,或者可以包括去掉一个订阅者,并且因此潜在地去掉该订阅者的端口。如果L2GRP不是已经存在于表中,则新形成的L2GRP和耦合到订阅者节点的至少一个端口的列表一起被增加到L2地址表的新条目中(1030)。
一旦执行了对L2GRP条目的管理,就确定管理帧是否是SSM管理消息(1035)。如果管理帧不是SSM管理消息,则网络设备等待下一个多播管理消息。
如果消息是SSM管理消息,则从消息中读取IP多播源地址(L3SRC)(1040)。然后通过使用在步骤1020确定的或在步骤1030中产生的表索引(例如,来自图7的710)作为与到L3SRC耦合的第二密钥,形成L2源地址(L2SRC)(1045)。然后确定在L2地址表中是否存在对应于L2SRC的条目(1050)。如果有相应的条目,则执行多播管理消息中所指定的管理操作(1055)。如果没有对应于L2SRC的条目,则在MAC目的地表中形成对应于L2SRC的新条目,并且该新条目包含连接到订阅者节点的至少一个端口的列表(1060)。然后该网络设备可以等待下一个多播管理消息。
图11是示出根据本发明一个实施例的多播(SSM和非SSM)帧的L2地址表查找的简化流程图。使用包含上述修改的L2GDA的L2地址表的网络设备(例如交换机)接收多播帧(1105)。然后该设备从多播帧中读取L3组目标地址(L3GDA)(1110)。可以用L3GDA和包含等于1的I/G位的密钥形成第2层组地址(L2GRP),其中密钥与在图10中用于形成表条目的密钥相同(1115)。然后确定所形成的L2GRP是否存在于L2地址表的条目中(1120)。如果表中没有相应的条目,则根据具体实现方式,或者丢弃帧或者将帧广播到所有节点(1125)。如果步骤1115中形成的L2GRP在表中具有相应的条目,则在存在任何第3层源地址(L3SRC)的情况下,网络设备从帧中读取第3层源地址(L3SRC)(1130)。通过将L3SRC和对应于L2GRP的条目的索引(710)的密钥合并,形成L2源地址(L2SRC)(1140)。然后确定在L2地址表中是否存在对应于L2SRC的条目(1150)。如果没有相应的条目(例如,在多播帧中没有L3SRC,或者没有对L2SRC的匹配),则多播帧可以根据需要进行复制并发送到L2GRP条目中所指示的所有订阅者,或者可以根据实现方式丢弃帧(1155)。如果在L2地址表中有对应于L2SRC的条目,则多播帧可以根据需要进行复制并发送到指定的端口(1160)。
图12是示出根据本发明一个实施例的用于解决QinQ环境中的多播寻址的表查找方法的简化流程图。包含体现上述概念的L2地址表的网络设备接收使用QinQ格式化的多播帧(1205)。从接收的多播帧中读取L3GDA(1210)。还从接收的多播帧中读取或得到PE_VLAN指示符和CE_VLAN(1215,1220)。使用KEY1和L3GDA形成L2GRP,其中KEY1包含等于1的I/G位(1225)。确定L2GRP和PE_VLAN在L2地址表中是否具有相应的条目(1230)。如果在L2地址表中没有这种相应的条目,则交换机可以根据实现方式而丢弃或广播多播帧(1235)。如果在L2地址表中具有对应于L2GRP和PE_VLAN的条目,则可以形成L2CVLAN地址,该L2CVLAN地址包含在步骤1230中找到的表条目的索引和从多播帧所得到的指定CE_VLAN(1240)。确定在L2地址表中是否具有匹配L2CVLAN+PE_VLAN的条目(1245)。如果没有这种相应的条目,则帧可以被复制并被根据实现方式传输到订阅L2GRP的端口或者被丢弃(1250)。如果L2地址表中具有对应于L2CVLAN地址的条目,则可以根据需要复制多播帧,并将其发送到指定的端口(1255)。
图13是示出根据本发明一个实施例的用于解决QinQ环境中的单播寻址的表查找方法的简化流程图。包含体现上述概念的L2地址表的网络设备接收使用QinQ格式化的单播帧(1305)。从接收的单播帧中读取目标MAC地址(DMAC)(1310)。还从接收的单播帧中读取或得到PE_VLAN指示符和CE_VLAN(1315,1320)。确定DMAC和PE_VLAN在L2地址表中是否具有相应的条目(1330)。如果L2地址表中具有相应的条目,则交换机将帧传输到表中所指定的端口(1335)。如果L2地址表中没有对应于DMAC和PE_VLAN的条目,则可以形成QinQ_Flood地址,该QinQ_Flood地址包含密钥和从单播帧得到的CE_VLAN指示符(1340)。确定L2地址表中是否存在作为条目的QinQ_Flood地址和PE_VLAN(1345)。如果没有这种相应的条目,则该帧可以根据实现方式而被在PE_VLAN上广播或者被丢弃(1350)。如果L2地址表中具有对应于QinQ_Flood+PE_VLAN的条目,则可以根据需要复制帧,并将其发送到该条目中所指定的端口(1355)。
至此所讨论的示例都涉及使用包含这样的条目以用于查找的L2地址表,所述条目被修改为包含L3地址的32位。这样的32位地址字段可以包含整个IPv4多播组目标地址。但是如果包含IPv6多播GDA,则还是会存在丢失的地址位,因为这些地址包含128位的数据。在给出48位的MAC地址限制的情况下,用本发明不能完全解决IPv6的地址混淆问题,然而,由本发明所产生的地址长度空间的增加可以减小地址混淆问题。此外,通过使用长度小于16位的密钥或者通过结合L2地址表条目的广播域字段中的附加地址空间使用另一个密钥,本发明可以提供多于32位。
示例计算和网络环境
如上所示,本发明可以用各种计算机系统和网络实现。下面参考图14和图15描述一种这样的计算和网络环境的示例。
图14示出了适于实现本发明的计算机系统1410的框图。计算机系统1410包括总线1412,其互连计算机系统1410的主要子系统,例如中央处理器1414、系统存储器1417(通常是RAM,但是也可以包括ROM、闪速RAM等)、输入/输出控制器1418、诸如扬声器系统1420的经由音频输出接口1422的外部音频设备、诸如显示屏1424的经由显示适配器1426的外部设备、串行端口1428和1430、键盘1432(与键盘控制器1433接口连接)、存储接口1434、用于接收软盘1438的软盘驱动器1437、用于连接光纤通道网络1490的主机总线适配器(HBA)接口卡1435A、用于连接SCSI总线1439的主机总线适配器(HBA)接口卡1435B和用于接收光盘1442的光盘驱动器1440。还包含鼠标1446(或者其他点击设备,经由串行端口1428耦合到总线1412)、调制解调器1447(经由串行端口1430耦合到总线1412)和网络接口1448(直接耦合到总线1412)。
总线1412允许中央处理器1414和系统存储器1417之间的数据通信,如上所述,系统存储器1417可以包括只读存储器(ROM)或闪速存储器(均未示出)以及随机存取存储器(RAM)(未示出)。RAM一般是操作系统和应用程序被加载到其中的主存储器。除了其他代码之外,ROM或闪速存储器可以包含基本输入输出系统(BIOS),BIOS控制诸如与外围部件交互之类的基本硬件操作。计算机系统1410所驻留的应用程序一般被存储在计算机可读介质上或者被经由计算机可读介质而访问,计算机可读介质例如是硬盘驱动器(例如固定磁盘1444)、光驱动器(例如光盘驱动1440)、软盘单元1437或其他存储介质。另外,当应用程序被经由网络调制解调器1447或接口1448而访问时,应用程序可以是根据应用和数据通信技术进行调制的电信号形式。
与计算机系统1410的其他存储接口一样,存储接口1434可以连接到用于信息的存储和/或取回的标准计算机可读介质,例如固定磁盘驱动器1444。固定磁盘驱动器1444可以是计算机系统1410的一部分,或者可以是分开的并且可以通过其他接口系统而访问。调制解调器1447可以提供经由电话链路到远程服务器的直接连接或者经由因特网服务供应商(ISP)到因特网的直接连接。网络接口1448可以提供经由直接网络链路到远程服务器的直接连接或者经由POP(存在点)到因特网的直接连接。网络接口1448可以使用无线技术提供这样的连接,包括数字蜂窝电话连接、蜂窝数字分组数据(CDPD)连接、数字卫星数据连接等。
用类似的方式可以连接许多其他设备或子系统(未示出)(例如条形码阅读器、文档扫描仪、数字照相机等)。相反,图14所示的所有设备都不一定用于实践本发明。这些设备和子系统可以通过与图14所示方式不同的方式互联。诸如图14所示的计算机系统之类的计算机系统的操作在本领域中是容易知道的,因此在本申请中将不作详细讨论。实现本发明的代码可以存储计算机可读介质中,所述计算机介质例如是系统存储器1417、固定磁盘1444、光盘1442或软盘1438中的一个或多个。另外,计算机系统1410可以是任何种类的计算设备,并且因此包含个人数字助理(PDA)、网络装置、X-窗口终端或其他这样的计算设备。计算机系统1410上所提供的操作系统可以是 或其他已知的操作系统。计算机系统1410还支持许多因特网接入工具,例如包括具有JavaScript解释器的遵从HTTP的web浏览器,该浏览器例如是NetscapeMicrosoft Internet等。
而且,关于这里所描述的信号,本领域的技术人员将认识到信号可以直接从第一个块传输到第二个块,或者信号可以在块之间进行修改(例如放大、衰减、延迟、锁存、缓冲、反相、过滤或其他修改)。虽然上述实施例的信号的特征在于从一个块传输到下一个块,但是本发明的其他实施例可以包括代替直接传输的信号的修改后信号,只要信号的信息方面和/或功能方面在块之间传输。在某种程度上,由于所涉及的电路的物理限制(例如不可避免的具有某种衰减和延迟),第二块的信号输入可以被概念化为从第一信号得到的第二信号,第一信号是从第一块输出的。因此,不管是由于电路限制还是由于经过不改变第一信号的信息方面和/或最终功能方面的其他电路元件,这里所使用的从第一信号得到的第二信号都包括第一信号或任何对第一信号的修改。
图15是示出网络体系结构1500的框图,其中客户端系统1510、1520和1530以及存储服务器1540A和1540B(这些设备中的任何一个都可以用计算机系统1410实现)耦合到网络1550。存储服务器1540A被进一步描述为具有直接附接(attach)的存储设备1560A(1)-(N),存储服务器1540B被描述为具有直接附接的存储设备1560B(1)-(N)。存储服务器1540A和1540B还连接到SAN构架1570,尽管本发明的操作不要求到存储区域网络的连接。SAN构架1570支持存储服务器1540A和1540B对存储设备1580(1)-(N)的访问,并且支持客户端系统1510、1520和1530经由网络1550的访问。SAN构架1570可以包括被配置为执行虚拟化的一个或多个交换机。还示出了智能存储阵列1540,作为可以经由SAN构架1570访问的具体存储设备的示例。
参考计算机系统1510,调制解调器1547、网络接口1548或某种其他方法可用于提供从客户端计算机系统1510、1520和1530到网络1550的连接。客户端系统1510、1520和1530能够使用例如web浏览器或其他客户端软件(未示出)来访问存储服务器1540A或1540B上的信息。这样的客户端允许客户端系统1510、1520和1530访问由存储服务器1540A或1540B或者存储设备1560A(1)-(N)、1560B(1)-(N)、1580(1)-(N)或智能存储阵列1590之一所存储的数据。图15示出了诸如因特网之类的用于交换数据的网络的使用,但是本发明不限于因特网或任何基于特定网络的环境。
其他实施例
本发明很好地适合于获得所述优点以及其中固有的其他优点。虽然本发明是通过参考本发明的具体实施例进行图示、描述和限定的,但是这些参考不意味对本发明的限制,并且不暗示这种限制。如相关领域的普通技术人员将会认识到的,本发明允许形式上和功能上的非常大的修改、改变和等同物。所示出和描述的实施例仅仅是示例,不是本发明范围的穷举。
上文描述的实施例包含了在其他部件中包含的部件(例如示出为计算机系统1410的部件的各种元件)。这种体系结构仅仅是示例,实际上可以实现获得相同功能的许多其他体系结构。在抽象但仍然明确的意义上,用于实现相同功能的任何部件安排被有效地“关联”以实现所希望的功能。因此,在这里,任何被组合以实现特定功能的两个部件可以视为彼此“关联”以使得实现所希望的功能,而不考虑体系结构或中间部件。同样,任何两个如此关联的部件也可以视为彼此“可操作地连接”或“可操作地耦合”,从而实现所需功能。
上面的详细描述通过框图、流程图和示例的使用给出了本发明的各种实施例。本领域的技术人员将会认识到,通过使用示例所示出的各个框图部件、流程图步骤、操作和/或部件可以通过宽范围的硬件、软件、固件或其任何组合单独和/或共同地实现。
在完全起作用的计算机系统的环境中描述了本发明;然而,本领域的技术人员将会认识到,本发明可以作为程序产品以各种形式分布,并且本发明可以同等地应用,而不管用于实际上实现分布的信号携带介质的具体类型。信号携带介质的示例包括诸如软盘和CD-ROM之类的可记录介质、诸如数字和模拟通信链路之类的传输式介质以及将来所开发的介质存储和分布系统。
上面讨论的示例可以由执行某些任务的软件模块实现。这里所讨论的软件模块可以包括脚本、批处理或其他可执行文件。软件模块可以存储在诸如硬盘驱动器之类的机器可读或计算机可读的存储介质上。用于根据本发明的实施例存储软件模块的存储设备例如可以是磁软盘、硬盘或诸如CD-ROM或CD-R之类的光盘。用于根据本发明的实施例存储固件或硬件模块的存储设备也可以包括基于半导体的存储器,基于半导体的存储器可以永久地、可移动地或者远程地耦合到微处理器/存储器系统。因此,模块可以存储在计算机系统存储器中,从而配置计算机系统来执行模块的功能。其他新的和各种类型的计算机可读存储介质可以用于存储这里所讨论的模块。
希望上述描述是说明本发明的,而不应视为限制本发明。本发明范围内的其他实施例是可能的。本领域的技术人员将会很容易实现用于提供这里所公开的结构和方法的步骤,并且将会了解到,过程参数和步骤顺序被仅通过示例而给出并且可以被改变以获得所希望的结构和本发明范围内的修改。这里所公开的实施例的变化和修改可以基于这里所给出的描述来进行,而不脱离本发明的范围。
因此,希望本发明仅由所附权利要求书的范围来限制,求给出各方面的等同物的全面认识。
虽然结合若干实施例描述了本发明,但是不希望本发明被限于这里所给出的具体形式。相反,希望覆盖可以合理地包括在本发明的由所附权利要求书所限定的范围内的这种替换物、修改和等同物。
Claims (12)
1.一种用于多播帧的OSI第2层地址表查找的方法,包括:
形成包括OSI L3 GDA和第一密钥的L2 GRP,其中L3 GDA指的是第3层多播组目标地址,L2 GRP指的是第2层组地址;
将所述L2 GRP存储在OSI第2层地址表的第一表条目中,其中所述第一密钥标识出所述第一表条目包括所述L3 GDA;
从多播帧中读取第一OSI第3层组目标地址;
形成包括所述第一密钥和所述第一OSI第3层组目标地址的第一搜索项;以及
将所述第一搜索项与所述L2 GRP进行比较。
2.如权利要求1所述的方法,还包括:
如果将所述第一搜索项与所述L2 GRP的比较产生匹配,则经由所述第一表条目中所指定的一个或多个端口传输所述多播帧。
3.如权利要求1所述的方法,还包括:
形成包括第一OSI L3 SRC和第二密钥的L2 SRC,其中L3 SRC指的是第3层多播源地址,L2 SRC指的是第2层源地址;以及
将所述L2 SRC存储在所述OSI第2层地址表的第二表条目中。
4.如权利要求3所述的方法,还包括:
如果所述第一搜索项与所述L2 GRP匹配,则
形成包括所述第一表条目的索引和来自所述多播帧的OSI第3层源地址的第二搜索项,
将所述第二搜索项与所述L2S RC进行比较,并且
如果将所述第二搜索项与所述L2 SRC的比较产生匹配,则经由所述第二表条目中所指定的一个或多个端口传输所述多播帧。
5.一种用于多播帧的OSI第2层地址表查找的方法,包括:
形成包括OSI L3 GDA和第一密钥的L2 GRP,其中L3 GDA指的是第3层多播组目标地址,L2 GRP指的是第2层组地址;
将所述L2 GRP存储在OSI第2层地址表的第一表条目中;
将第一PE_VLAN标识符存储在所述第一表条目中,其中PE_VLAN指的是供应商虚拟LAN;以及
将第一CE-VLAN标识符存储在所述OSI第2层地址表的第三表条目中,其中CE_VLAN指的是用户虚拟LAN;
从QinQ格式化的多播帧中读取第二OSI第3层组目标地址;
形成包括所述第一密钥和所述第二OSI第3层组目标地址的第三搜索项;以及
将所述第三搜索项和来自所述QinQ格式化的多播帧的第一VLAN指示符与所述第一表条目中的所述L2GRP和所述第一PE_VLAN标识符进行比较。
6.如权利要求5所述的方法,还包括:
如果所述第三搜索项和所述第一VLAN指示符与所述L2 GRP和所述第一PE VLAN标识符匹配,则
形成包括所述第一表条目的索引和来自所述QinQ格式化的多播帧的第二VLAN标识符的第四搜索项,
将所述第四搜索项与存储在所述第三表条目中的第二密钥和所述第一CE_VLAN标识符进行比较,并且
如果所述第四搜索项与所述第二密钥和所述第一CE_VLAN匹配,则将来自所述QinQ格式化的多播帧的数据传输到所述第三表条目中所指定的一个或多个网络交换机端口。
7.一种用于多播帧的OSI第2层地址表查找的系统,包括:
用于形成包括OSI L3 GDA和第一密钥的L2 GRP的装置,其中L3GDA指的是第3层多播组目标地址,L2 GRP指的是第2层组地址;
用于将所述L2 GRP存储在OSI第2层地址表的第一表条目中的装置,其中所述第一密钥标识出所述第一表条目包括所述L3 GDA;
用于从多播帧中读取第一OSI第3层组目标地址的装置;
用于形成包括所述第一密钥和所述第一OSI第3层组目标地址的第一搜索项的装置;以及
用于将所述第一搜索项与所述L2 GRP进行比较的装置。
8.如权利要求7所述的系统,还包括:
用于所述第一搜索项与所述L2 GRP匹配,则经由所述第一表条目中所指定的一个或多个端口传输所述多播帧的装置。
9.如权利要求7所述的系统,还包括:
用于形成包括第一OSI L3 SRC和第二密钥的L2 SRC的装置,其中L3 SRC指的是第3层多播源地址,L2 SRC指的是第2层源地址;以及
用于将所述L2 SRC存储在所述OSI第2层地址表的第二表条目中的装置。
10.如权利要求9所述的系统,还包括:
用于如果所述第一搜索项与所述L2 GRP匹配则执行以下操作的装置:
形成包括所述第一表条目的索引和来自所述多播帧的OSI第3层源地址的第二搜索项,
将所述第二搜索项与所述L2 SRC进行比较,并且
如果所述第二搜索项与所述L2 SRC匹配,则经由所述第二表条目中指定的一个或多个端口传输所述多播帧。
11.一种用于多播帧的OSI第2层地址表查找的系统,包括:
用于形成包括OSI L3 GDA和第一密钥的L2 GRP的装置,其中L3GDA指的是第3层多播组目标地址,L2 GRP指的是第2层组地址;
用于将所述L2GRP存储在OSI第2层地址表的第一表条目中的装置;
用于将第一PE_VLAN标识符存储在所述第一表条目中的装置,其中PE_VLAN指的是供应商虚拟LAN;以及
用于将第一CE_VLAN标识符存储在所述OSI第2层地址表的第三表条目中的装置,其中CE_VLAN指的是用户虚拟LAN;
用于从QinQ格式化的多播帧中读取第二OSI第3层组目标地址的装置;
用于形成包括所述第一密钥和所述第二OSI第3层组目标地址的第三搜索项的装置;以及
用于将所述第三搜索项和来自所述QinQ格式化的多播帧的第一VLAN指示符与所述第一表条目中的L2 GRP和所述第一PE VLAN标识符进行比较的装置。
12.如权利要求11所述的系统,还包括:
用于如果所述第三搜索项和所述第一VLAN指示符与所述L2 GRP和所述第一PE_VLAN标识符匹配则执行以下操作的装置:
形成包括所述第一表条目的索引和来自所述QinQ格式化的多播帧的第二VLAN标识符的第四搜索项,
将所述第四搜索项与存储在所述第三表条目中的第二密钥和所述第一CE_VLAN标识符进行比较,并且
如果所述第四搜索项与所述第二密钥和所述第一CE_VLAN匹配,则将来自所述QinQ格式化的多播帧的数据传输到所述第三表条目中指定的一个或多个网络交换机端口。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/096,738 US7586895B2 (en) | 2005-04-01 | 2005-04-01 | Performing extended lookups on MAC-based tables including level 3 multicast group destination addresses |
US11/096,738 | 2005-04-01 | ||
PCT/US2006/011607 WO2006107693A1 (en) | 2005-04-01 | 2006-03-29 | Performing extended lookups on mac-based tables |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101133605A CN101133605A (zh) | 2008-02-27 |
CN101133605B true CN101133605B (zh) | 2011-02-23 |
Family
ID=36607442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680006475.5A Expired - Fee Related CN101133605B (zh) | 2005-04-01 | 2006-03-29 | 对基于mac的表执行扩展查找 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7586895B2 (zh) |
EP (1) | EP1869847B1 (zh) |
CN (1) | CN101133605B (zh) |
AT (1) | ATE469488T1 (zh) |
DE (1) | DE602006014527D1 (zh) |
WO (1) | WO2006107693A1 (zh) |
Families Citing this family (101)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4173866B2 (ja) * | 2005-02-21 | 2008-10-29 | 富士通株式会社 | 通信装置 |
CN100377548C (zh) * | 2005-07-15 | 2008-03-26 | 华为技术有限公司 | 一种实现虚交换的方法和装置 |
CN100377549C (zh) * | 2005-11-22 | 2008-03-26 | 华为技术有限公司 | 数据转发实体转发数据帧的方法 |
US7933268B1 (en) * | 2006-03-14 | 2011-04-26 | Marvell Israel (M.I.S.L.) Ltd. | IP multicast forwarding in MAC bridges |
US7881314B2 (en) * | 2006-05-01 | 2011-02-01 | Cisco Technology, Inc. | Network device providing access to both layer 2 and layer 3 services on a single physical interface |
US7953089B1 (en) * | 2006-05-16 | 2011-05-31 | Cisco Technology, Inc. | Systems and methods for multicast switching in a private VLAN |
CN101119290B (zh) * | 2006-08-01 | 2011-06-01 | 华为技术有限公司 | 以太网支持源特定组播转发的方法及系统 |
US8121051B2 (en) * | 2007-02-26 | 2012-02-21 | Hewlett-Packard Development Company, L.P. | Network resource teaming on a per virtual network basis |
CN101072239B (zh) * | 2007-06-25 | 2010-06-02 | 中兴通讯股份有限公司 | 一种实现ip地址过滤的方法及装置 |
JP4888263B2 (ja) * | 2007-07-19 | 2012-02-29 | ソニー株式会社 | 受信装置、受信方法およびコンピュータプログラム |
JP5427181B2 (ja) | 2007-10-03 | 2014-02-26 | ヴァーテラ テクノロジー サーヴィシズ インコーポレイテッド | 仮想化アプリケーション加速化インフラストラクチャ |
US7940767B2 (en) * | 2007-11-20 | 2011-05-10 | At&T Intellectual Property I, Lp | Method and system of routing a communication within a network |
US7877586B2 (en) * | 2008-02-01 | 2011-01-25 | International Business Machines Corporation | Branch target address cache selectively applying a delayed hit |
US7865705B2 (en) * | 2008-02-01 | 2011-01-04 | International Business Machines Corporation | Branch target address cache including address type tag bit |
US7962722B2 (en) * | 2008-02-01 | 2011-06-14 | International Business Machines Corporation | Branch target address cache with hashed indices |
US7844807B2 (en) | 2008-02-01 | 2010-11-30 | International Business Machines Corporation | Branch target address cache storing direct predictions |
US8086831B2 (en) * | 2008-02-01 | 2011-12-27 | International Business Machines Corporation | Indexed table circuit having reduced aliasing |
JP4969507B2 (ja) * | 2008-04-25 | 2012-07-04 | 株式会社日立製作所 | パケット転送装置 |
US20100135298A1 (en) * | 2008-12-01 | 2010-06-03 | Electronics And Telecommunications Research Institute | Method and system for providing source specific multicast service on ethernet network |
US8594088B2 (en) | 2008-12-08 | 2013-11-26 | Telefonaktiebolaget L M Ericsson (Publ) | Multicasting in a provider backbone bridge network |
US8665886B2 (en) | 2009-03-26 | 2014-03-04 | Brocade Communications Systems, Inc. | Redundant host connection in a routed network |
CN101510855B (zh) * | 2009-04-10 | 2011-06-15 | 华为技术有限公司 | 一种QinQ报文的处理方法和装置 |
US9294395B2 (en) * | 2009-04-23 | 2016-03-22 | Futurewei Technologies, Inc. | Media access control bridging in a mesh network |
CN102148811B (zh) * | 2010-02-10 | 2015-01-28 | 中兴通讯股份有限公司 | 一种实现灵活QinQ的方法及装置 |
US9231890B2 (en) | 2010-06-08 | 2016-01-05 | Brocade Communications Systems, Inc. | Traffic management for virtual cluster switching |
US8625616B2 (en) | 2010-05-11 | 2014-01-07 | Brocade Communications Systems, Inc. | Converged network extension |
US9769016B2 (en) | 2010-06-07 | 2017-09-19 | Brocade Communications Systems, Inc. | Advanced link tracking for virtual cluster switching |
US9716672B2 (en) | 2010-05-28 | 2017-07-25 | Brocade Communications Systems, Inc. | Distributed configuration management for virtual cluster switching |
US9270486B2 (en) | 2010-06-07 | 2016-02-23 | Brocade Communications Systems, Inc. | Name services for virtual cluster switching |
US9461840B2 (en) | 2010-06-02 | 2016-10-04 | Brocade Communications Systems, Inc. | Port profile management for virtual cluster switching |
US8989186B2 (en) | 2010-06-08 | 2015-03-24 | Brocade Communication Systems, Inc. | Virtual port grouping for virtual cluster switching |
US8867552B2 (en) | 2010-05-03 | 2014-10-21 | Brocade Communications Systems, Inc. | Virtual cluster switching |
US9001824B2 (en) | 2010-05-18 | 2015-04-07 | Brocade Communication Systems, Inc. | Fabric formation for virtual cluster switching |
US8630288B2 (en) * | 2010-05-17 | 2014-01-14 | Fujitsu Limited | Hierarchical isolated learning and flooding for metro ethernet bridging domains |
US8634308B2 (en) | 2010-06-02 | 2014-01-21 | Brocade Communications Systems, Inc. | Path detection in trill networks |
US8885488B2 (en) | 2010-06-02 | 2014-11-11 | Brocade Communication Systems, Inc. | Reachability detection in trill networks |
US9608833B2 (en) | 2010-06-08 | 2017-03-28 | Brocade Communications Systems, Inc. | Supporting multiple multicast trees in trill networks |
US8446914B2 (en) | 2010-06-08 | 2013-05-21 | Brocade Communications Systems, Inc. | Method and system for link aggregation across multiple switches |
US9628293B2 (en) | 2010-06-08 | 2017-04-18 | Brocade Communications Systems, Inc. | Network layer multicasting in trill networks |
US9806906B2 (en) * | 2010-06-08 | 2017-10-31 | Brocade Communications Systems, Inc. | Flooding packets on a per-virtual-network basis |
US9246703B2 (en) | 2010-06-08 | 2016-01-26 | Brocade Communications Systems, Inc. | Remote port mirroring |
US9807031B2 (en) | 2010-07-16 | 2017-10-31 | Brocade Communications Systems, Inc. | System and method for network configuration |
WO2012021827A1 (en) * | 2010-08-12 | 2012-02-16 | Eastlake Donald E | Systems and methods for managing network address information |
JP5818268B2 (ja) * | 2010-11-02 | 2015-11-18 | 日本電気株式会社 | 通信システム、制御装置、経路制御方法およびプログラム |
US20120163164A1 (en) * | 2010-12-27 | 2012-06-28 | Brocade Communications Systems, Inc. | Method and system for remote load balancing in high-availability networks |
US9270572B2 (en) | 2011-05-02 | 2016-02-23 | Brocade Communications Systems Inc. | Layer-3 support in TRILL networks |
US8594095B1 (en) | 2011-05-11 | 2013-11-26 | Amdocs Software Systems Limited | System, method, and computer program for modifying an 802.1Q and/or 802.1QinQ header to reduce a size of an associated data packet |
US9407533B2 (en) | 2011-06-28 | 2016-08-02 | Brocade Communications Systems, Inc. | Multicast in a trill network |
US8948056B2 (en) | 2011-06-28 | 2015-02-03 | Brocade Communication Systems, Inc. | Spanning-tree based loop detection for an ethernet fabric switch |
US9401861B2 (en) | 2011-06-28 | 2016-07-26 | Brocade Communications Systems, Inc. | Scalable MAC address distribution in an Ethernet fabric switch |
US8879549B2 (en) | 2011-06-28 | 2014-11-04 | Brocade Communications Systems, Inc. | Clearing forwarding entries dynamically and ensuring consistency of tables across ethernet fabric switch |
US9007958B2 (en) | 2011-06-29 | 2015-04-14 | Brocade Communication Systems, Inc. | External loop detection for an ethernet fabric switch |
US8885641B2 (en) | 2011-06-30 | 2014-11-11 | Brocade Communication Systems, Inc. | Efficient trill forwarding |
US9736085B2 (en) | 2011-08-29 | 2017-08-15 | Brocade Communications Systems, Inc. | End-to end lossless Ethernet in Ethernet fabric |
US9699117B2 (en) | 2011-11-08 | 2017-07-04 | Brocade Communications Systems, Inc. | Integrated fibre channel support in an ethernet fabric switch |
US9450870B2 (en) | 2011-11-10 | 2016-09-20 | Brocade Communications Systems, Inc. | System and method for flow management in software-defined networks |
US8995272B2 (en) | 2012-01-26 | 2015-03-31 | Brocade Communication Systems, Inc. | Link aggregation in software-defined networks |
US9742693B2 (en) | 2012-02-27 | 2017-08-22 | Brocade Communications Systems, Inc. | Dynamic service insertion in a fabric switch |
US9154416B2 (en) | 2012-03-22 | 2015-10-06 | Brocade Communications Systems, Inc. | Overlay tunnel in a fabric switch |
US9374301B2 (en) | 2012-05-18 | 2016-06-21 | Brocade Communications Systems, Inc. | Network feedback in software-defined networks |
US10277464B2 (en) | 2012-05-22 | 2019-04-30 | Arris Enterprises Llc | Client auto-configuration in a multi-switch link aggregation |
EP2853066B1 (en) | 2012-05-23 | 2017-02-22 | Brocade Communications Systems, Inc. | Layer-3 overlay gateways |
US8995275B1 (en) * | 2012-07-31 | 2015-03-31 | Rockwell Collins, Inc. | Methods and systems for network traffic routing |
US9363227B2 (en) * | 2012-08-17 | 2016-06-07 | Cisco Technology, Inc. | Multicast source in group address mapping |
US9602430B2 (en) | 2012-08-21 | 2017-03-21 | Brocade Communications Systems, Inc. | Global VLANs for fabric switches |
US9401872B2 (en) | 2012-11-16 | 2016-07-26 | Brocade Communications Systems, Inc. | Virtual link aggregations across multiple fabric switches |
US9548926B2 (en) | 2013-01-11 | 2017-01-17 | Brocade Communications Systems, Inc. | Multicast traffic load balancing over virtual link aggregation |
US9350680B2 (en) | 2013-01-11 | 2016-05-24 | Brocade Communications Systems, Inc. | Protection switching over a virtual link aggregation |
US9413691B2 (en) | 2013-01-11 | 2016-08-09 | Brocade Communications Systems, Inc. | MAC address synchronization in a fabric switch |
US9565113B2 (en) | 2013-01-15 | 2017-02-07 | Brocade Communications Systems, Inc. | Adaptive link aggregation and virtual link aggregation |
US9565099B2 (en) | 2013-03-01 | 2017-02-07 | Brocade Communications Systems, Inc. | Spanning tree in fabric switches |
US9401818B2 (en) | 2013-03-15 | 2016-07-26 | Brocade Communications Systems, Inc. | Scalable gateways for a fabric switch |
US9699001B2 (en) | 2013-06-10 | 2017-07-04 | Brocade Communications Systems, Inc. | Scalable and segregated network virtualization |
US9565028B2 (en) | 2013-06-10 | 2017-02-07 | Brocade Communications Systems, Inc. | Ingress switch multicast distribution in a fabric switch |
US9806949B2 (en) | 2013-09-06 | 2017-10-31 | Brocade Communications Systems, Inc. | Transparent interconnection of Ethernet fabric switches |
US9912612B2 (en) | 2013-10-28 | 2018-03-06 | Brocade Communications Systems LLC | Extended ethernet fabric switches |
US9548873B2 (en) | 2014-02-10 | 2017-01-17 | Brocade Communications Systems, Inc. | Virtual extensible LAN tunnel keepalives |
US10069802B2 (en) * | 2014-02-18 | 2018-09-04 | Ciena Corporation | Method for securely configuring customer premise equipment |
US10581758B2 (en) | 2014-03-19 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Distributed hot standby links for vLAG |
US10476698B2 (en) | 2014-03-20 | 2019-11-12 | Avago Technologies International Sales Pte. Limited | Redundent virtual link aggregation group |
US10063473B2 (en) | 2014-04-30 | 2018-08-28 | Brocade Communications Systems LLC | Method and system for facilitating switch virtualization in a network of interconnected switches |
US9800471B2 (en) | 2014-05-13 | 2017-10-24 | Brocade Communications Systems, Inc. | Network extension groups of global VLANs in a fabric switch |
US10616108B2 (en) | 2014-07-29 | 2020-04-07 | Avago Technologies International Sales Pte. Limited | Scalable MAC address virtualization |
US9544219B2 (en) | 2014-07-31 | 2017-01-10 | Brocade Communications Systems, Inc. | Global VLAN services |
US9807007B2 (en) | 2014-08-11 | 2017-10-31 | Brocade Communications Systems, Inc. | Progressive MAC address learning |
US9524173B2 (en) | 2014-10-09 | 2016-12-20 | Brocade Communications Systems, Inc. | Fast reboot for a switch |
US9699029B2 (en) | 2014-10-10 | 2017-07-04 | Brocade Communications Systems, Inc. | Distributed configuration management in a switch group |
US9628407B2 (en) | 2014-12-31 | 2017-04-18 | Brocade Communications Systems, Inc. | Multiple software versions in a switch group |
US9626255B2 (en) | 2014-12-31 | 2017-04-18 | Brocade Communications Systems, Inc. | Online restoration of a switch snapshot |
US9942097B2 (en) | 2015-01-05 | 2018-04-10 | Brocade Communications Systems LLC | Power management in a network of interconnected switches |
US10003552B2 (en) | 2015-01-05 | 2018-06-19 | Brocade Communications Systems, Llc. | Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches |
US9807005B2 (en) | 2015-03-17 | 2017-10-31 | Brocade Communications Systems, Inc. | Multi-fabric manager |
US10038592B2 (en) | 2015-03-17 | 2018-07-31 | Brocade Communications Systems LLC | Identifier assignment to a new switch in a switch group |
US10579406B2 (en) | 2015-04-08 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Dynamic orchestration of overlay tunnels |
US10439929B2 (en) | 2015-07-31 | 2019-10-08 | Avago Technologies International Sales Pte. Limited | Graceful recovery of a multicast-enabled switch |
US10171303B2 (en) | 2015-09-16 | 2019-01-01 | Avago Technologies International Sales Pte. Limited | IP-based interconnection of switches with a logical chassis |
US9912614B2 (en) | 2015-12-07 | 2018-03-06 | Brocade Communications Systems LLC | Interconnection of switches based on hierarchical overlay tunneling |
US10237090B2 (en) | 2016-10-28 | 2019-03-19 | Avago Technologies International Sales Pte. Limited | Rule-based network identifier mapping |
CN107968749B (zh) * | 2017-11-21 | 2021-04-20 | 锐捷网络股份有限公司 | 实现QinQ路由终结的方法、交换芯片及交换机 |
CN113438162B (zh) * | 2021-05-21 | 2022-11-04 | 翱捷科技股份有限公司 | 一种二层转发的实现方法及装置 |
CN116915766B (zh) * | 2023-09-13 | 2023-12-08 | 天津普智芯网络测控技术有限公司 | 一种基于交换机的pattern文件多路同步下发方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1458771A (zh) * | 2002-05-15 | 2003-11-26 | 华为技术有限公司 | 一种基于二层交换设备的组播报文转发方法 |
US6697380B1 (en) * | 1999-12-07 | 2004-02-24 | Advanced Micro Devices, Inc. | Multiple key lookup arrangement for a shared switching logic address table in a network switch |
CN1477833A (zh) * | 2002-08-16 | 2004-02-25 | 富士通株式会社 | 局域网交换方法和局域网交换机 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6011795A (en) * | 1997-03-20 | 2000-01-04 | Washington University | Method and apparatus for fast hierarchical address lookup using controlled expansion of prefixes |
US6018524A (en) * | 1997-09-09 | 2000-01-25 | Washington University | Scalable high speed IP routing lookups |
US6563823B1 (en) * | 1997-10-30 | 2003-05-13 | Marconi Communications, Inc. | Multi-resolution tree for longest match address lookups |
US6526055B1 (en) * | 1998-10-20 | 2003-02-25 | Sun Microsystems, Inc. | Method and apparatus for longest prefix address lookup |
US6876655B1 (en) * | 1999-04-22 | 2005-04-05 | Ramot At Tel Aviv University Ltd. | Method for routing with a clue |
US7089240B2 (en) * | 2000-04-06 | 2006-08-08 | International Business Machines Corporation | Longest prefix match lookup using hash function |
US6697363B1 (en) * | 2000-06-28 | 2004-02-24 | Alcatel Canada Inc. | Method and apparatus for longest matching prefix determination in a communication network |
US6910097B1 (en) * | 2001-04-09 | 2005-06-21 | Netlogic Microsystems, Inc. | Classless interdomain routing using binary content addressable memory |
US7116663B2 (en) * | 2001-07-20 | 2006-10-03 | Pmc-Sierra Ltd. | Multi-field classification using enhanced masked matching |
US20030235191A1 (en) * | 2002-06-19 | 2003-12-25 | Heggarty Jonathan W. | VLAN inheritance |
US7260096B2 (en) * | 2002-07-09 | 2007-08-21 | International Business Machines Corporation | Method and router for forwarding internet data packets |
US7039018B2 (en) * | 2002-07-17 | 2006-05-02 | Intel Corporation | Technique to improve network routing using best-match and exact-match techniques |
-
2005
- 2005-04-01 US US11/096,738 patent/US7586895B2/en active Active
-
2006
- 2006-03-29 EP EP06748916A patent/EP1869847B1/en not_active Not-in-force
- 2006-03-29 DE DE602006014527T patent/DE602006014527D1/de active Active
- 2006-03-29 CN CN200680006475.5A patent/CN101133605B/zh not_active Expired - Fee Related
- 2006-03-29 WO PCT/US2006/011607 patent/WO2006107693A1/en active Application Filing
- 2006-03-29 AT AT06748916T patent/ATE469488T1/de not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6697380B1 (en) * | 1999-12-07 | 2004-02-24 | Advanced Micro Devices, Inc. | Multiple key lookup arrangement for a shared switching logic address table in a network switch |
CN1458771A (zh) * | 2002-05-15 | 2003-11-26 | 华为技术有限公司 | 一种基于二层交换设备的组播报文转发方法 |
CN1477833A (zh) * | 2002-08-16 | 2004-02-25 | 富士通株式会社 | 局域网交换方法和局域网交换机 |
Non-Patent Citations (3)
Title |
---|
rfc 1112.txt.IETF standard.1989,第4页第6节-第5页第6.4节. * |
S.deering.Host Extensions for IP Multicasting * |
思科网络学院.Introduction to Multicast.Firewall.cx.2003,第1-4页. * |
Also Published As
Publication number | Publication date |
---|---|
WO2006107693A1 (en) | 2006-10-12 |
US20060221960A1 (en) | 2006-10-05 |
DE602006014527D1 (de) | 2010-07-08 |
ATE469488T1 (de) | 2010-06-15 |
US7586895B2 (en) | 2009-09-08 |
CN101133605A (zh) | 2008-02-27 |
EP1869847B1 (en) | 2010-05-26 |
EP1869847A1 (en) | 2007-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101133605B (zh) | 对基于mac的表执行扩展查找 | |
US8902757B2 (en) | Method and system for transparent LAN services in a packet network | |
US9338079B2 (en) | Method of routing multicast traffic | |
CN102577331B (zh) | 虚拟第2层及使其可扩展的机制 | |
US9246703B2 (en) | Remote port mirroring | |
CN102422600B (zh) | 混合节点中提供的方法、相关网络以及相关网络单元 | |
US20160036773A1 (en) | Internet protocol address resolution | |
US20110299531A1 (en) | Flooding packets on a per-virtual-network basis | |
CN102263646B (zh) | 交换机的分布式控制平面内的多播 | |
US8064458B2 (en) | Method and apparatus for simulating IP multinetting | |
EP2092692A1 (en) | Method and apparatus for exchanging routing information and the establishment of connectivity across multiple network areas | |
CN102694721A (zh) | 多链路透明互连路由桥之间掩蔽的以太网地址的使用 | |
WO2022048412A1 (zh) | 一种生成表项的方法、发送报文的方法、设备及系统 | |
CN102035899B (zh) | 基于IPv6的局域网内的地址确定方法与装置 | |
CN106571968A (zh) | 一种业务切换方法和系统 | |
US11228459B2 (en) | Anycast address configuration for extended local area networks | |
US7769007B2 (en) | Method of providing multicast services in virtual private LAN | |
JP2003324468A (ja) | データ転送システム及びノード装置 | |
CN110660205B (zh) | 报警信息处理方法、装置、电子设备及可读存储介质 | |
CN103546385A (zh) | 流量转发控制方法和设备 | |
JP7314219B2 (ja) | データ伝送方法、装置、およびネットワークデバイス | |
CN110399438B (zh) | 一种gis点位信息查询方法及装置 | |
CN103248577A (zh) | 确定组播路径的方法、接收数据报文的方法及路由器 | |
Seo et al. | Extensible Multiple Spanning Tree Protocol for Virtual eXtensible LAN | |
CN102137108A (zh) | 报文注册的方法、交换机 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110223 Termination date: 20210329 |