渐进式mac地址学习的制作方法_4

文档序号:9618627阅读:来源:国知局
的MAC地址的ARP应答(操作212)。接着,终端设备116向交换机105发送ARP应答(操作214)。
[0079]交换机105接收ARP应答,学习MAC地址136,并且,由于MAC地址136是本地学习的MAC地址,因此,交换机105同时在转发表183和硬件表184中创建相应的条目(操作216)。由于ARP应答是到终端设备112的单播报文,因此,交换机105转发该ARP应答到交换机103 (操作218)。交换机103接收该ARP应答,只在转发表181中创建相应的条目(操作220)。接着,交换机103转发该ARP应答到终端设备112 (操作222)。
[0080]终端设备112根据接收到的带有MAC地址136的ARP应答,发起它与终端设备116的通信。图2B为根据本发明的一个实施例的基于来自终端设备的初始通信的渐进式MAC地址学习过程的示意图。在操作期间,终端设备112向交换机103发送用于终端设备116的它的第一包(操作252)。交换机103根据接收到的第一包,判断该第一包的目标MAC地址(S卩,MAC地址136)没有出现在硬件表182中。接着,交换机103查找转发表181,识别目标MAC地址136,并在转发表182中创建相应的条目(操作254)。
[0081]交换机103根据在硬件表182中的条目,向交换机105转发第一包(操作256)。交换机105向终端设备116转发第一包(操作258)。接着,终端设备116向交换机105发送响应包(操作260)。交换机105根据接收的响应包,判断响应包的目标MAC地址(即,MAC地址132)没有出现在硬件表184中。接着,交换机105查找转发表183,识别目标MAC地址132,并且在硬件表184中创建相应的条目(操作262)。根据在硬件表184中的条目,交换机105向交换机103转发响应包(操作264)。交换机105向终端设备112转发响应包(操作266)。
[0082]操作
[0083]图3A为根据本发明的一个实施例的交换机通过本地边缘端口学习渐进式MAC地址的过程的流程示意图。在操作期间,交换机通过本地边缘端口从终端设备接收包(例如,包含IP包的以太网帧)(操作302)。交换机学习终端设备的MAC地址(操作304)在转发表和硬件表中创建包含学习的MAC地址及其相关信息的条目(操作306)。相关信息包括、但不限于,出站端口(例如,从已经学习了 MAC地址的端口)、相应的VLAN标记,以及一个或多个标记(例如,来表明洪泛、下载到硬件表等)。
[0084]在一些实施例中,交换机与网络(例如,在架构交换机中)的其他交换机共享各学习的MAC地址。接着,该交换机生成包含学习的MAC地址及其相关信息的通知报文(操作308),并且向网络的各其他成员交换机转发通知报文(操作310)。在一些实施例中,通知报文是控制报文,在其有效负载承载学习的地址。该控制报文可以封装在封装报头(例如,架构的或隧道封装报头)中。交换机通过在网络中的全交换机多播树可以转发该信息报文。
[0085]图3B为根据本发明的一个实施例的交换机从通知信息学习渐进式MAC地址的过程的流程示意图。在操作期间,交换机通过本地交换机间端口接收包含有在远程交换机(即,在远程交换机的端口)学习的MAC地址的通知报文(操作352)。如果该通知报文封装在封装报头中,那么交换机可以将该封装报头去封装。交换机从通知报文中提取MAC地址及其相关信息(操作354)。接着,交换机在本地转发表中创建包含从通知报文中提取的MAC地址及其相关信息的条目(操作356)。
[0086]当交换机根据渐进式MAC地址学习,学习MAC地址,并且在硬件表中具有包含学习的MAC地址的条目,那么由于该MAC地址的不活跃,可以发生老化事件(例如,超时例外)。例如,该MAC地址可能不再参与(例如,作为源地址或目标地址)到有效的通信中。交换机可以在交换机级或芯片级维持该老化过程。当包含对话的MAC地址的条目在硬件表中老化,交换机从所述硬件表中移除该条目。该交换机还对在转发表中的相应条目中表明MAC地址是对话的MAC地址的标记进行复位。
[0087]图3C为根据本发明的一个实施例的交换机对学习的MAC地址超时的过程的流程示意图。在操作期间,交换机检测在硬件表中的MAC地址的老化事件(操作372)。接着,该交换机检查该MAC地址是否是本地学习的(即,从本地边缘端口学习的)MAC地址(操作374)。如果该MAC地址是本地学习的MAC地址,那么该交换机从本地转发表和硬件表中移除包含该MAC地址的各条目(操作376)。该交换机生成表明MAC地址老化的通知报文(例如,用于清除学习的MAC地址的控制报文)(操作378)。接着,该交换机向各其他成员交换机转发通知报文(操作380)。
[0088]另一方面,如果MAC地址不是本地学习的MAC地址,交换机从本地硬件表中移除包含该MAC地址的条目(操作382)。该交换机接收表明该MAC地址老化的通知报文(例如,来自远程交换机的用于清除MAC地址的控制报文)(操作384)。接着,该交换机从本地转发表中移除包含该MAC地址的条目。
[0089]图4为根据本发明的一个实施例的交换机根据学习的渐进式MAC地址转发包的过程的流程示意图。在操作期间,该交换机通过本地边缘端口接收数据包(操作402),并且识别该包的目标MAC地址(操作404)。该交换机检查本地硬件表是否包括该识别的MAC地址(即,该识别的MAC地址在该硬件表中具有相应的条目)(操作406)。如果该硬件表不包括识别的MAC地址,该交换机在转发表中查找(S卩,寻找)识别的MAC地址(操作408),并且,检查该查找是否已经成功(操作410)。
[0090]如果查找没有成功,那么在网络中的交换机还没有学习该MAC网络。因此,该交换机在转发表中创建包含该识别的MAC地址的条目,并且表明用于该MAC地址的洪泛(操作412)。这防止相同未知MAC地址的多个异常。接着,该交换机将包封装在封装报头中,并且在网络中洪泛该封装的包(操作414)。应当注意到,该交换机还通过它的本地边缘端口洪泛该接收的包。在一些实施例中,为了在网络中洪泛该包,该交换机分配多目标标识符作为该封装报头的出口交换机标识符。接着,该交换机根据该多目标标识符转发该封装的包。例如,该交换机可能通过多播树转发该包,其中,该多播树包含网络的各交换机。
[0091]如果查找已经成功,那么该交换机已经在转发表中找到了 MAC地址。接着,该交换机从该转发表获得包含识别的MAC地址的条目(操作416),并且在转发表中创建相应的条目(操作418),结合图1B所示。如果硬件表包含识别的MAC地址(操作406)或者交换机已经在转发表中创建了包含该识别的MAC地址的条目(操作418),那么该交换机在硬件表这种识别与该识别的MAC地址相关联的出口交换机标识符(操作420)。
[0092]接着,交换机将该包封装在封装报头中,并且将出口交换机标识符分配在封装报头中(操作422)。该交换机通过与出口交换机标识符相关联的本地交换机间端口转发该封装的包(操作424)。应当注意的是,如果目标MAC地址是本地MAC地址,该交换机可以将接收的包切换到目标MAC地址,无需基于第二层帧交换封装该包。
[0093]链路聚合组(LinkAggregat1n Group, LAG)
[0094]图5A为根据本发明的一个实施例的支持渐进式MAC地址学习的示例性虚拟链路聚合组的示意图。在这个例子中,交换机103、104和105通过虚拟链路聚合组(VirtualLink Aggregat1n Group, VLAG) 520 连接终端设备 512。交换机 103、104 和 105 配置为工作在终端设备512的特定的“集群”模式。终端设备512将交换机103、104和105视为带有相应虚拟地址的通用虚拟交换机。终端设备512被认为通过逻辑链路逻辑地连接到虚拟交换机。
[0095]虚拟交换机被认为是,可选地,采用零成本链路,逻辑地连接到交换机103、104和105。当从终端设备512转发数据帧时,交换机104和105采用虚拟交换机的地址标记数据帧作为这些数据帧的源地址。因此,网络100中的其他交换机可以学习到终端设备512通过虚拟交换机是可到达的。因此,当其他交换机选择通过交换机103、104和105向虚拟交换机(其在帧中标记为出口交换机)发送数据帧时,可以完成多路径传输。
[0096]在以下描述中,参与到虚拟链路聚合组520中的交换机被称为“伙伴交换机”。由于三个伙伴交换机起到单个逻辑交换机的作用,由各交换机学习的MAC地址可达性与其他伙伴交换机共享。例如,在正常操作期间,终端设备512可能选择只通过到交换机105的链路发送它的传出数据帧。因此,只有交换机105将学习终端设备512的MAC地址532。接着,通过交换机105将信息与交换机103和104共享。
[0097]然而,如果交换机(或芯片)已经有效地参与到通信中,在该交换机中(或在该芯片中)的硬件表包括对话的MAC地址。在操作期间,终端设备512余终端设备116通信。终端设备512向终端设备116发送包542。包542包括作为源MAC地址的MAC地址532,以及作为目标MAC地址的MAC地址136。交换机105接收包542并且识别作为对话的MAC地址的目标MAC地址。接着,交换机105从本地转发表获得MAC地址获得MAC地址136,并且在本地硬件表中创建包含MAC地址136的条目。另一方面,由于交换机104还没有接收到该通信的包,因此,交换机104的硬件表不会包含MAC地址136。
[0098]假设终端设备512与交换机103的芯片152和156连接,并且连接这些芯片的链路参与到虚拟链路聚合组520中。这些链路形成终端设备512和交换机103之间的链路聚合组(Link Aggregat1n Group, LAG)。终端设备512向终端设备116发送包544。包544包括作为源MAC地址的MAC地址532,以及作为目标MAC地址的MAC地址136。芯片152接收包544,识别作为对话的MAC地址的MAC地址532,并且将MAC地址136包含在芯片152的硬件表中。另一方面,由于芯片156还没有接收到该通信的包,芯片156的硬件表不会包含MAC地址136,结合图1C所示。
[0099]图5B为根据本发明的一个实施例的用于支持渐进式MAC地址学习的虚拟链路聚合组的示例性高可用性的示意图。假设可以是链路故障、节点故障或两者都是的故障560使得不能从终端设备512到达交换机105。因此,在虚拟链路聚合组520中的交换机105变得不可用。接着,终端设备512停止通过连接交换机105的端口转发信息量,并且向在虚拟链路聚合组520中的其他有效端口转移该信息量。如果转移的信息量流向MAC地址136已经在硬件表中的芯片或交换机在,那么终端设备512和116之间的通信通过该芯片或交换机继续进行。
[0100]另一方面,转移的信息量可以流向MAC地址136还没有在硬件表中的新的芯片或交换机。接着,芯片或节点在本地转发表中查找包含MAC地址136的条目,并且在本地硬件表中创建相应的条目。例如,终端设备512可以向交换机104发送包548。包548包括作为MAC地址的MAC地址532,以及作为目标MAC地址的MAC地址136。交换机104接收包542,并且识别作为会话的MAC地址的目标MAC地址136。接着,交换机104从本地转发表中获得包含MAC地址136的条目,并且在本地硬件表中创
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1