CN111049765A - 聚合端口切换方法、装置、芯片、交换机及存储介质 - Google Patents
聚合端口切换方法、装置、芯片、交换机及存储介质 Download PDFInfo
- Publication number
- CN111049765A CN111049765A CN201911276728.6A CN201911276728A CN111049765A CN 111049765 A CN111049765 A CN 111049765A CN 201911276728 A CN201911276728 A CN 201911276728A CN 111049765 A CN111049765 A CN 111049765A
- Authority
- CN
- China
- Prior art keywords
- aggregation
- port
- state
- connection state
- switch
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
-
- 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/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种聚合端口切换方法、装置、芯片、交换机及存储介质。该方法应用于交换机芯片中,包括:获取交换机内至少一个物理端口的端口连接状态,并将各端口连接状态与当前端口状态表进行匹配,获取端口连接状态改变的状态变更端口;如果所述状态变更端口属于预存的聚合配置表,则根据所述状态变更端口的端口连接状态更新预存的聚合状态表;响应于报文转发请求,从更新后的所述聚合状态表中选择目标聚合端口进行报文转发。本发明实施例的技术方案,实现了通过交换机芯片感知聚合端口的端口连接状态的变化,自动更新聚合状态表。
Description
技术领域
本发明实施例涉及以太网通信技术领域,尤其涉及一种聚合端口切换方法、装置、芯片、交换机及存储介质。
背景技术
链路聚合是将多个物理以太接口聚合在一起形成逻辑上的聚合组,可以在不更换设备的情况下,在一定程度上扩大端口容量,增加链路带宽,增加链路可靠性。
目前,在链路聚合保护模式中,两节点间的某一条链路出现故障时,两端节点需要将流量重新分配到剩余的链路。芯片通过对聚合表(AggGroupTable)中的端口数量和报文描述信息重新进行哈希运算,并根据哈希运算结果,选择聚合成员表(AggMemberTable)中的某个聚合端口重新进行流量转发。
上述现有技术中,AggGroupTable用于记录正常连接的聚合端口数量和报文描述信息,AggMemberTable用于记录正常连接的聚合端口号,AggGroupTable和AggMemberTable都是软件配置的,例如,由交换机的CPU或交换机应用软件配置,并且只能由软件对其进行更新,而芯片在进行流量转发时,只根据软件配置的表项进行转发,并不关注聚合端口的连接状态,因此,当聚合端口连接状态发送变化时,需要软件对配置表项进行刷新,并且在软件刷新配置表项之前,经过哈希计算将负载分担到连接故障的接口上的报文会持续丢失,链路可靠性较差。
发明内容
本发明实施例提供一种聚合端口切换方法、装置、芯片、交换机及存储介质,以实现根据交换机芯片感知聚合端口的端口连接状态的变化,自动更新聚合状态表。
第一方面,本发明实施例提供了一种聚合端口切换方法,应用于交换机芯片中,包括:
获取交换机内至少一个物理端口的端口连接状态,并将各端口连接状态与当前端口状态表进行匹配,获取端口连接状态改变的状态变更端口;
如果所述状态变更端口属于预存的聚合配置表,则根据所述状态变更端口的端口连接状态更新预存的聚合状态表;
响应于报文转发请求,从更新后的所述聚合状态表中选择目标聚合端口进行报文转发。
可选的,在获取交换机内至少一个物理端口的端口连接状态之前,还包括:
建立聚合配置表以及与所述聚合配置表对应的聚合状态表。
可选的,所述聚合配置表包括聚合组配置表以及与所述聚合组配置表关联的聚合成员配置表;
建立聚合配置表以及与所述聚合配置表对应的聚合状态表,包括:
获取聚合组的配置信息;所述配置信息包括聚合组的标识、聚合端口数量以及各聚合端口的端口号;
将所述聚合组的标识以及聚合端口数量写入所述聚合组配置表;
将所述各聚合端口的端口号写入与所述聚合组配置表关联的所述聚合成员配置表。
可选的,所述聚合状态表包括聚合组状态表以及与所述聚合组状态表关联的聚合成员状态表;
建立聚合配置表以及与所述聚合配置表对应的聚合状态表,还包括:
根据所述当前端口状态表,从所述聚合成员配置表中获取正常连接的聚合端口;
将各所述正常连接的聚合端口的端口号分别写入所述聚合成员状态表;
将所述聚合成员状态表中的聚合端口数量以及所述聚合组的标识写入所述聚合组状态表。
可选的,获取交换机内至少一个物理端口的端口连接状态,包括:
扫描所述至少一个物理端口的物理层(Physical Layer,PHY)连接状态,或者,扫描所述至少一个物理端口的PHY连接状态和媒体访问控制层(Media Access Control,MAC)状态;
根据各物理端口的所述PHY连接状态,或者,根据各物理端口的所述PHY连接状态和MAC状态,分别确定各物理端口的端口连接状态。
可选的,如果所述状态变更端口属于预存的聚合配置表,则根据所述状态变更端口的端口连接状态更新预存的聚合状态表,包括:
如果所述状态变更端口属于所述聚合成员配置表,且所述状态变更端口的端口连接状态为正常,则将所述状态变更端口的端口号添加至所述聚合成员状态表,并对应更新所述聚合组状态表中的聚合端口数量;
如果所述状态变更端口属于所述聚合成员配置表,且所述状态变更端口的端口连接状态为故障,则从所述聚合成员状态表中删除所述状态变更端口的端口号,并对应更新所述聚合组状态表中的聚合端口数量。
可选的,响应于报文转发请求,从更新后的所述聚合状态表中选择目标聚合端口进行报文转发,包括:
根据报文转发请求,获取待转发报文的报文描述信息;
根据更新后的所述聚合组状态表中的聚合端口数量以及所述报文描述信息,进行哈希运算;
从更新后的所述聚合成员状态表中,选择与所述哈希运算结果匹配的目标聚合端口进行报文转发;
其中,所述报文描述信息包括源MAC地址、目的MAC地址、源互联网协议IP地址、目的IP地址、L4端口号以及协议类型。
第二方面,本发明实施例还提供了一种聚合端口切换装置,应用于转发芯片中,包括:
连接状态获取模块,用于获取交换机内至少一个物理端口的端口连接状态,并将各端口连接状态与当前端口状态表进行匹配,获取端口连接状态改变的状态变更端口;
状态表更新模块,用于如果所述状态变更端口属于预存的聚合配置表,则根据所述状态变更端口的端口连接状态更新预存的聚合状态表;
报文转发模块,用于响应于报文转发请求,从更新后的所述聚合状态表中选择目标聚合端口进行报文转发。
第三方面,本发明实施例还提供了一种交换机芯片,所述交换机芯片包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例提供的聚合端口切换方法。
第四方面,本发明实施例还提供了一种交换机,所述交换机包括如本发明任意实施例提供的交换机芯片,以及至少一个物理端口。
本发明实施例的技术方案,应用于交换机芯片中,通过获取交换机内至少一个物理端口的端口连接状态,并将各端口连接状态与当前端口状态表进行匹配,获取端口连接状态改变的状态变更端口;如果状态变更端口属于预存的聚合配置表,则根据状态变更端口的端口连接状态更新预存的聚合状态表;响应于报文转发请求,从更新后的聚合状态表中选择目标聚合端口进行报文转发,解决了现有技术中在聚合端口连接状态变化时,软件更新配置表项的耗时较长,导致聚合端口更换期间报文持续丢失的问题,实现了通过交换机芯片感知聚合端口的端口连接状态的变化,自动更新聚合状态表,减少了聚合端口切换期间的丢包,增加了聚合链路的可靠性。
附图说明
图1a是本发明实施例一中的一种聚合端口切换方法的流程图;
图1b是本发明实施例一中的一种端口连接状态的更新示意图;
图1c是本发明实施例一中的一种聚合配置表的结构图;
图2是本发明实施例二中的一种聚合端口切换装置的结构示意图;
图3是本发明实施例三中的一种交换机芯片的结构示意图;
图4是本发明实施例四中的一种交换机的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1a是本发明实施例一中的一种聚合端口切换方法的流程图,本实施例可适用于交换机芯片通过聚合端口进行报文转发的情况,该方法可以由设备的硬件即聚合端口切换装置来执行,例如由交换机中的交换芯片来执行,并一般可以集成在提供链路聚合服务的设备中,例如交换机中。如图1a所示,该方法包括:
步骤110、获取交换机内至少一个物理端口的端口连接状态,并将各端口连接状态与当前端口状态表进行匹配,获取端口连接状态改变的状态变更端口。
本实施例中,交换机是指以太网交换机,即基于以太网传输数据的交换机,可以同时连通许多对物理端口,并且每一对相互通信的节点都能像独占通信媒体一样进行无冲突地传输数据。物理端口可以包括如计算机的串口、并口、输入/输出设备以及适配器接口等,物理端口的端口连接状态包括正常状态和故障状态,只要物理端口能收到相匹配的物理信号(电信号或光信号),该物理端口就处于正常连接状态。当前端口状态表中存储的是上一次端口扫描时记录的交换机的各物理端口的端口连接状态,根据当前端口状态表可以判断各物理端口的端口连接状态是否发生变化,从而找到端口连接状态改变的状态变更端口。
可选的,获取交换机内至少一个物理端口的端口连接状态,可以包括:扫描至少一个物理端口的PHY连接状态,或者,扫描至少一个物理端口的PHY连接状态和MAC状态;根据各物理端口的PHY连接状态,或者,根据各物理端口的PHY连接状态和MAC状态,分别确定各物理端口的端口连接状态。
本实施例中,端口扫描通常是将来自相同信源地址的同一信息发送至交换机的所有所需扫描的物理端口,根据各物理端口返回的端口状态来分析交换机的各物理端口是否打开或者是否可用,也就是确定各物理端口是否正常连接。示例性的,当仅扫描至少一个物理端口的PHY连接状态时,确定PHY连接状态为UP的端口处于正常连接状态,PHY连接状态为DOWN的端口为处于故障连接状态;当扫描至少一个物理端口的PHY连接状态和MAC状态时,确定PHY连接状态为UP,且MAC层的LOCAL_FAULT和REMOTE_FAULT信号都为0的端口处于正常连接状态,其他情况下处于故障连接状态。
可选的,在获取交换机内至少一个物理端口的端口连接状态之前,还可以包括:建立聚合配置表以及与聚合配置表对应的聚合状态表。
本实施例中,为了实现芯片自动更新各正常连接的聚合端口的端口连接状态,将软件配置的聚合组的所有端口信息与聚合组中正常连接端口的端口信息分别写入不同的聚合表中,如图1b所示。其中,聚合组的所有端口信息通过聚合配置表进行维护,聚合组中正常连接端口的端口信息通过聚合状态表进行维护。
需要说明的是,现有技术在软件中建立聚合表来记录正常连接的聚合端口数量,建立聚合成员表来记录正常连接的聚合端口号,交换机芯片只能使用这两个聚合表,但无法根据聚合端口的状态变化对这两个表进行更新,只能依赖软件对其进行更新,并且芯片转发报文时使用的也是聚合表和聚合成员表;而本实施例中的聚合表包括聚合配置表和聚合状态表,通过在交换机芯片中建立聚合配置表来记录所有聚合端口信息,通过建立聚合状态表来记录正常连接的聚合端口信息,由交换机芯片维护这两个表,可以避免当聚合端口连接状态发生变化时,需要软件才能对配置表项进行刷新,并且转发报文时芯片可以直接根据聚合状态表转发,速度更快。
可选的,聚合配置表包括聚合组配置表以及与聚合组配置表关联的聚合成员配置表;建立聚合配置表以及与聚合配置表对应的聚合状态表,可以包括:获取聚合组的配置信息;配置信息包括聚合组的标识、聚合端口数量以及各聚合端口的端口号;将聚合组的标识以及聚合端口数量写入聚合组配置表;将各聚合端口的端口号写入与聚合组配置表关联的聚合成员配置表。
本实施例中,如图1c所示,聚合配置表包括聚合组配置表(AggGroupTableCfg)和聚合成员配置表(AggMemberTableCfg),聚合组配置表中包括:聚合组的标识(GroupID),用于指示是哪一个聚合组的信息;聚合端口数量(PortNum),用于指示该聚合组的所有聚合端口的数量;以及,指向聚合成员配置表的聚合成员(MemberPtr)表项;而聚合成员配置表中包括:聚合组的标识,用于说明以下的聚合端口信息属于哪个聚合组;各聚合端口的端口号(GPort i),用于具体指出该聚合组包括哪些聚合端口。
可选的,聚合状态表包括聚合组状态表以及与聚合组状态表关联的聚合成员状态表;建立聚合配置表以及与聚合配置表对应的聚合状态表,还可以包括:根据当前端口状态表,从聚合成员配置表中获取正常连接的聚合端口;将各正常连接的聚合端口的端口号分别写入聚合成员状态表;将聚合成员状态表中的聚合端口数量以及聚合组的标识写入聚合组状态表。
本实施例中,聚合状态表与聚合配置表相关联,包括聚合组状态表以及与聚合组状态表关联的聚合成员状态表,主要用于记录聚合组中可用的聚合端口的数量以及具体的可用聚合端口。其中,聚合组状态表主要用于记录指定聚合组中可用的聚合端口的数量,聚合成员状态表主要用于指出该指定聚合组中具体的可用聚合端口分别有哪些,交换机芯片通过查询当前端口状态表确定各个聚合端口是否可用。
步骤120、如果状态变更端口属于预存的聚合配置表,则根据状态变更端口的端口连接状态更新预存的聚合状态表。
可选的,如果状态变更端口属于预存的聚合配置表,则根据状态变更端口的端口连接状态更新预存的聚合状态表,可以包括:如果状态变更端口属于聚合成员配置表,且状态变更端口的端口连接状态为正常,则将状态变更端口的端口号添加至聚合成员状态表,并对应更新聚合组状态表中的聚合端口数量;如果状态变更端口属于聚合成员配置表,且状态变更端口的端口连接状态为故障,则从聚合成员状态表中删除状态变更端口的端口号,并对应更新聚合组状态表中的聚合端口数量。
本实施例中,如果状态变更端口不属于预存的聚合配置表,则说明该状态变更端口为非聚合端口,交换机芯片不会使用该端口进行报文转发,因此,在检测到非聚合端口的端口连接状态发生变化时,无需做任何操作。
本实施例中,由于交换机芯片最终是根据聚合状态表中记录的聚合端口进行报文转发,因此,只需根据聚合端口的端口连接状态对聚合状态表进行更新,而无需根据非聚合端口的端口连接状态来更新聚合状态表,如图1b所示,以避免在需要聚合端口切换时,由于端口切换不及时导致丢包。
本实施例中,若通过比对本次的端口扫描结果与当前端口状态表中记录的上一次的端口扫描结果,发现有端口连接状态发生变化的端口,则先判断该状态变更端口是否是软件为交换机配置的聚合端口,若不是,则该端口的连接状态变化不会影响报文转发,无需更新聚合状态表,若是,则进一步判断该状态变更端口的端口连接状态是如何变化的,若状态变更端口的当前端口连接状态为正常,则将该状态变更端口的端口号添加至聚合成员状态表,并对应更新聚合组状态表中该聚合组的可用聚合端口数量,若状态变更端口的端口连接状态为故障,则从聚合成员状态表中删除该状态变更端口的端口号,并对应更新聚合组状态表中该聚合组的可用聚合端口数量。
步骤130、响应于报文转发请求,从更新后的聚合状态表中选择目标聚合端口进行报文转发。
可选的,响应于报文转发请求,从更新后的聚合状态表中选择目标聚合端口进行报文转发,可以包括:根据报文转发请求,获取待转发报文的报文描述信息;根据更新后的聚合组状态表中的聚合端口数量以及报文描述信息,进行哈希运算;从更新后的聚合成员状态表中,选择与哈希运算结果匹配的目标聚合端口进行报文转发;其中,报文描述信息包括源MAC地址、目的MAC地址、源IP地址、目的IP地址、L4端口号以及协议类型。
本实施例将现有技术中的聚合表分为聚合配置表和聚合状态表,并由交换机芯片维护这两个表,当报文转发时交换机芯片直接根据聚合状态表转发,速度更快。
本发明实施例的技术方案,应用于交换机芯片中,通过获取交换机内至少一个物理端口的端口连接状态,并将各端口连接状态与当前端口状态表进行匹配,获取端口连接状态改变的状态变更端口;如果状态变更端口属于预存的聚合配置表,则根据状态变更端口的端口连接状态更新预存的聚合状态表;响应于报文转发请求,从更新后的聚合状态表中选择目标聚合端口进行报文转发,解决了现有技术中在聚合端口连接状态变化时,软件更新配置表项的耗时较长,导致聚合端口更换期间报文持续丢失的问题,实现了通过交换机芯片感知聚合端口的端口连接状态的变化,自动更新聚合状态表,减少了聚合端口切换期间的丢包,增加了聚合链路的可靠性。
实施例二
图2是本发明实施例二中的一种聚合端口切换装置的结构示意图,本实施例可适用于交换机芯片通过聚合端口进行报文转发的情况。如图2所示,该聚合端口切换装置包括:连接状态获取模块210、状态表更新模块220以及报文转发模块230。
连接状态获取模块210,用于获取交换机内至少一个物理端口的端口连接状态,并将各端口连接状态与当前端口状态表进行匹配,获取端口连接状态改变的状态变更端口;
状态表更新模块220,用于如果状态变更端口属于预存的聚合配置表,则根据状态变更端口的端口连接状态更新预存的聚合状态表;
报文转发模块230,用于响应于报文转发请求,从更新后的聚合状态表中选择目标聚合端口进行报文转发。
本发明实施例的技术方案,应用于交换机芯片中,通过获取交换机内至少一个物理端口的端口连接状态,并将各端口连接状态与当前端口状态表进行匹配,获取端口连接状态改变的状态变更端口;如果状态变更端口属于预存的聚合配置表,则根据状态变更端口的端口连接状态更新预存的聚合状态表;响应于报文转发请求,从更新后的聚合状态表中选择目标聚合端口进行报文转发,解决了现有技术中在聚合端口连接状态变化时,软件更新配置表项的耗时较长,导致聚合端口更换期间报文持续丢失的问题,实现了通过交换机芯片感知聚合端口的端口连接状态的变化,自动更新聚合状态表,减少了聚合端口切换期间的丢包,增加了聚合链路的可靠性。
可选的,还包括:建表模块,用于在获取交换机内至少一个物理端口的端口连接状态之前,建立聚合配置表以及与聚合配置表对应的聚合状态表。
可选的,聚合配置表包括聚合组配置表以及与聚合组配置表关联的聚合成员配置表;
建表模块,具体用于:获取聚合组的配置信息;配置信息包括聚合组的标识、聚合端口数量以及各聚合端口的端口号;将聚合组的标识以及聚合端口数量写入聚合组配置表;将各聚合端口的端口号写入与聚合组配置表关联的聚合成员配置表。
可选的,聚合状态表包括聚合组状态表以及与聚合组状态表关联的聚合成员状态表;
建表模块,还用于:根据当前端口状态表,从聚合成员配置表中获取正常连接的聚合端口;将各正常连接的聚合端口的端口号分别写入聚合成员状态表;将聚合成员状态表中的聚合端口数量以及聚合组的标识写入聚合组状态表。
可选的,连接状态获取模块210,具体用于:扫描至少一个物理端口的PHY连接状态,或者,扫描至少一个物理端口的PHY连接状态和MAC状态;根据各物理端口的PHY连接状态,或者,根据各物理端口的PHY连接状态和MAC状态,分别确定各物理端口的端口连接状态。
可选的,状态表更新模块220,具体用于:如果状态变更端口属于聚合成员配置表,且状态变更端口的端口连接状态为正常,则将状态变更端口的端口号添加至聚合成员状态表,并对应更新聚合组状态表中的聚合端口数量;如果状态变更端口属于聚合成员配置表,且状态变更端口的端口连接状态为故障,则从聚合成员状态表中删除状态变更端口的端口号,并对应更新聚合组状态表中的聚合端口数量。
可选的,报文转发模块230,具体用于:根据报文转发请求,获取待转发报文的报文描述信息;根据更新后的聚合组状态表中的聚合端口数量以及报文描述信息,进行哈希运算;从更新后的聚合成员状态表中,选择与哈希运算结果匹配的目标聚合端口进行报文转发;其中,报文描述信息包括源MAC地址、目的MAC地址、源互联网协议IP地址、目的IP地址、L4端口号以及协议类型。
本发明实施例所提供的聚合端口切换装置可执行本发明任意实施例所提供的聚合端口切换方法,具备执行方法相应的功能模块和有益效果。
实施例三
图3为本发明实施例公开的一种交换机芯片的结构示意图。图3示出了适于用来实现本发明实施方式的示例性交换机芯片12的框图。图3显示的交换机芯片12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图3所示,交换机芯片12以通用计算设备的形式表现。交换机芯片12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
交换机芯片12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被交换机芯片12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。交换机芯片12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图3未显示,通常称为“硬盘驱动器”)。尽管图3中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
交换机芯片12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该交换机芯片12交互的设备通信,和/或与使得该交换机芯片12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,交换机芯片12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与交换机芯片12的其它模块通信。应当明白,尽管图中未示出,可以结合交换机芯片12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的聚合端口切换方法。
也即:实现一种聚合端口切换方法,应用于交换机芯片中,包括:
获取交换机内至少一个物理端口的端口连接状态,并将各端口连接状态与当前端口状态表进行匹配,获取端口连接状态改变的状态变更端口;
如果状态变更端口属于预存的聚合配置表,则根据状态变更端口的端口连接状态更新预存的聚合状态表;
响应于报文转发请求,从更新后的聚合状态表中选择目标聚合端口进行报文转发。
实施例四
图4是本发明实施例四中的一种交换机的结构示意图。图4示出了适于用来实现本发明实施方式的示例性交换机的框图。图4显示的交换机仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,交换机的组件可以包括但不限于:交换机芯片12,以及至少一个物理端口(图中未示出)。其中,交换机芯片12可参考图3中的交换机芯片,可以实现本发明任意实施例所提供的聚合端口切换方法。交换机的物理端口类型较多,包括:千兆以太网(Gigabit Ethernet,GE)端口、万兆以太网(10Gigabit Ethernet,10GE)端口、快速以太网(Fast Ethernet,FE)端口、光学载波(Optical Carrier,OC)端口以及基于同步数字体系的(Synchronous Digital Hierarchy,SDH)数据包(Packet over SONET/SDH,POS)端口等。
本实施例中,交换机拥有一条高带宽的背部总线和内部交换矩阵,交换机的所有的端口都挂接在背部总线上,在收到数据包以后,通过查找内存中的地址对照表,确定目的MAC(网卡的硬件地址)的网卡所挂接的目的端口,通过内部交换矩阵迅速将数据包传送到目的端口;若目的MAC不存在,则向交换机的所有物理端口进行广播,并接收各物理端口的回应,根据各物理端口的响应消息学习新的地址,并添加到地址对照表中。
本实施例中,交换机在同一时刻可进行多个物理端口对之间的数据传输。每一端口都可视为独立的网段,连接在其上的网络设备独自享有全部的带宽,无须同其他设备竞争使用。
实施例五
本发明实施例五还提供一种计算机可读存储介质,其上存储有计算机程序,程序在被计算机处理器执行时用于执行一种聚合端口切换方法,该方法应用于交换机芯片中,包括:
获取交换机内至少一个物理端口的端口连接状态,并将各端口连接状态与当前端口状态表进行匹配,获取端口连接状态改变的状态变更端口;
如果状态变更端口属于预存的聚合配置表,则根据状态变更端口的端口连接状态更新预存的聚合状态表;
响应于报文转发请求,从更新后的聚合状态表中选择目标聚合端口进行报文转发。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种聚合端口切换方法,应用于交换机芯片中,其特征在于,包括:
获取交换机内至少一个物理端口的端口连接状态,并将各端口连接状态与当前端口状态表进行匹配,获取端口连接状态改变的状态变更端口;
如果所述状态变更端口属于预存的聚合配置表,则根据所述状态变更端口的端口连接状态更新预存的聚合状态表;
响应于报文转发请求,从更新后的所述聚合状态表中选择目标聚合端口进行报文转发。
2.根据权利要求1所述的方法,其特征在于,在获取交换机内至少一个物理端口的端口连接状态之前,还包括:
建立聚合配置表以及与所述聚合配置表对应的聚合状态表。
3.根据权利要求2所述的方法,其特征在于,所述聚合配置表包括聚合组配置表以及与所述聚合组配置表关联的聚合成员配置表;
建立聚合配置表以及与所述聚合配置表对应的聚合状态表,包括:
获取聚合组的配置信息;所述配置信息包括聚合组的标识、聚合端口数量以及各聚合端口的端口号;
将所述聚合组的标识以及聚合端口数量写入所述聚合组配置表;
将所述各聚合端口的端口号写入与所述聚合组配置表关联的所述聚合成员配置表。
4.根据权利要求3所述的方法,其特征在于,所述聚合状态表包括聚合组状态表以及与所述聚合组状态表关联的聚合成员状态表;
建立聚合配置表以及与所述聚合配置表对应的聚合状态表,还包括:
根据所述当前端口状态表,从所述聚合成员配置表中获取正常连接的聚合端口;
将各所述正常连接的聚合端口的端口号分别写入所述聚合成员状态表;
将所述聚合成员状态表中的聚合端口数量以及所述聚合组的标识写入所述聚合组状态表。
5.根据权利要求4所述的方法,其特征在于,获取交换机内至少一个物理端口的端口连接状态,包括:
扫描所述至少一个物理端口的物理层PHY连接状态,或者,扫描所述至少一个物理端口的PHY连接状态和媒体访问控制层MAC状态;
根据各物理端口的所述PHY连接状态,或者,根据各物理端口的所述PHY连接状态和MAC状态,分别确定各物理端口的端口连接状态。
6.根据权利要求4所述的方法,其特征在于,如果所述状态变更端口属于预存的聚合配置表,则根据所述状态变更端口的端口连接状态更新预存的聚合状态表,包括:
如果所述状态变更端口属于所述聚合成员配置表,且所述状态变更端口的端口连接状态为正常,则将所述状态变更端口的端口号添加至所述聚合成员状态表,并对应更新所述聚合组状态表中的聚合端口数量;
如果所述状态变更端口属于所述聚合成员配置表,且所述状态变更端口的端口连接状态为故障,则从所述聚合成员状态表中删除所述状态变更端口的端口号,并对应更新所述聚合组状态表中的聚合端口数量。
7.根据权利要求6所述的方法,其特征在于,响应于报文转发请求,从更新后的所述聚合状态表中选择目标聚合端口进行报文转发,包括:
根据报文转发请求,获取待转发报文的报文描述信息;
根据更新后的所述聚合组状态表中的聚合端口数量以及所述报文描述信息,进行哈希运算;
从更新后的所述聚合成员状态表中,选择与所述哈希运算结果匹配的目标聚合端口进行报文转发;
其中,所述报文描述信息包括源MAC地址、目的MAC地址、源互联网协议IP地址、目的IP地址、L4端口号以及协议类型。
8.一种聚合端口切换装置,应用于转发芯片中,其特征在于,包括:
连接状态获取模块,用于获取交换机内至少一个物理端口的端口连接状态,并将各端口连接状态与当前端口状态表进行匹配,获取端口连接状态改变的状态变更端口;
状态表更新模块,用于如果所述状态变更端口属于预存的聚合配置表,则根据所述状态变更端口的端口连接状态更新预存的聚合状态表;
报文转发模块,用于响应于报文转发请求,从更新后的所述聚合状态表中选择目标聚合端口进行报文转发。
9.一种交换机芯片,其特征在于,所述交换机芯片包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的聚合端口切换方法。
10.一种交换机,其特征在于,所述交换机包括如权利要求9所述的交换机芯片,以及至少一个物理端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911276728.6A CN111049765B (zh) | 2019-12-12 | 2019-12-12 | 聚合端口切换方法、装置、芯片、交换机及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911276728.6A CN111049765B (zh) | 2019-12-12 | 2019-12-12 | 聚合端口切换方法、装置、芯片、交换机及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111049765A true CN111049765A (zh) | 2020-04-21 |
CN111049765B CN111049765B (zh) | 2022-03-11 |
Family
ID=70235888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911276728.6A Active CN111049765B (zh) | 2019-12-12 | 2019-12-12 | 聚合端口切换方法、装置、芯片、交换机及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111049765B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111970201A (zh) * | 2020-08-28 | 2020-11-20 | 迈普通信技术股份有限公司 | 一种多芯片级联的转发系统及转发控制方法 |
CN112511421A (zh) * | 2020-11-02 | 2021-03-16 | 三明学院 | 一种聚合链路的切换方法、设备、装置、以及存储介质 |
CN112600770A (zh) * | 2020-11-25 | 2021-04-02 | 北京东土军悦科技有限公司 | 一种端口的协同聚合方法、装置、设备及存储介质 |
CN113055286A (zh) * | 2021-04-27 | 2021-06-29 | 融智通科技(北京)股份有限公司 | 交换机端口静态汇聚检测及保护方法、交换机及存储介质 |
CN115996191A (zh) * | 2022-11-21 | 2023-04-21 | 迈普通信技术股份有限公司 | 端口状态控制方法、装置、网络通信设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070053368A1 (en) * | 2005-09-08 | 2007-03-08 | Darda Chang | Graphical representations of aggregation groups |
US7414985B1 (en) * | 2002-02-01 | 2008-08-19 | Ciena Corporation | Link aggregation |
CN101277219A (zh) * | 2007-03-28 | 2008-10-01 | 日本电气株式会社 | 通信装置、通信系统及其使用的lag管理表管理方法 |
WO2009023996A1 (fr) * | 2007-08-20 | 2009-02-26 | Zte Corporation | Procédé de mise en œuvre d'une interconnexion de réseau par l'intermédiaire d'une agrégation de liaisons |
US20140181019A1 (en) * | 2012-12-20 | 2014-06-26 | Hulu, LLC | Automatic Updating of Aggregations for Aggregating Data |
CN103905326A (zh) * | 2012-12-28 | 2014-07-02 | 迈普通信技术股份有限公司 | 以太网链路聚合的报文转发控制方法及网络设备 |
CN104219155A (zh) * | 2014-08-29 | 2014-12-17 | 杭州华三通信技术有限公司 | 一种聚合端口的代理方法和设备 |
CN104468203A (zh) * | 2014-11-26 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 交换机聚合组中端口故障切换的配置方法 |
CN105656772A (zh) * | 2016-03-09 | 2016-06-08 | 上海斐讯数据通信技术有限公司 | 一种交换机端口聚合failover方法及系统 |
CN105871743A (zh) * | 2015-01-21 | 2016-08-17 | 杭州迪普科技有限公司 | 聚合端口状态协商方法以及装置 |
-
2019
- 2019-12-12 CN CN201911276728.6A patent/CN111049765B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7414985B1 (en) * | 2002-02-01 | 2008-08-19 | Ciena Corporation | Link aggregation |
US20070053368A1 (en) * | 2005-09-08 | 2007-03-08 | Darda Chang | Graphical representations of aggregation groups |
CN101277219A (zh) * | 2007-03-28 | 2008-10-01 | 日本电气株式会社 | 通信装置、通信系统及其使用的lag管理表管理方法 |
WO2009023996A1 (fr) * | 2007-08-20 | 2009-02-26 | Zte Corporation | Procédé de mise en œuvre d'une interconnexion de réseau par l'intermédiaire d'une agrégation de liaisons |
US20140181019A1 (en) * | 2012-12-20 | 2014-06-26 | Hulu, LLC | Automatic Updating of Aggregations for Aggregating Data |
CN103905326A (zh) * | 2012-12-28 | 2014-07-02 | 迈普通信技术股份有限公司 | 以太网链路聚合的报文转发控制方法及网络设备 |
CN104219155A (zh) * | 2014-08-29 | 2014-12-17 | 杭州华三通信技术有限公司 | 一种聚合端口的代理方法和设备 |
CN104468203A (zh) * | 2014-11-26 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 交换机聚合组中端口故障切换的配置方法 |
CN105871743A (zh) * | 2015-01-21 | 2016-08-17 | 杭州迪普科技有限公司 | 聚合端口状态协商方法以及装置 |
CN105656772A (zh) * | 2016-03-09 | 2016-06-08 | 上海斐讯数据通信技术有限公司 | 一种交换机端口聚合failover方法及系统 |
Non-Patent Citations (1)
Title |
---|
王小玫: "以太网链路聚合技术的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111970201A (zh) * | 2020-08-28 | 2020-11-20 | 迈普通信技术股份有限公司 | 一种多芯片级联的转发系统及转发控制方法 |
CN112511421A (zh) * | 2020-11-02 | 2021-03-16 | 三明学院 | 一种聚合链路的切换方法、设备、装置、以及存储介质 |
CN112600770A (zh) * | 2020-11-25 | 2021-04-02 | 北京东土军悦科技有限公司 | 一种端口的协同聚合方法、装置、设备及存储介质 |
CN113055286A (zh) * | 2021-04-27 | 2021-06-29 | 融智通科技(北京)股份有限公司 | 交换机端口静态汇聚检测及保护方法、交换机及存储介质 |
CN115996191A (zh) * | 2022-11-21 | 2023-04-21 | 迈普通信技术股份有限公司 | 端口状态控制方法、装置、网络通信设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111049765B (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111049765B (zh) | 聚合端口切换方法、装置、芯片、交换机及存储介质 | |
US10204070B2 (en) | Method, device, system and storage medium for implementing packet transmission in PCIE switching network | |
US9866479B2 (en) | Technologies for concurrency of cuckoo hashing flow lookup | |
US20210200681A1 (en) | Data storage method and apparatus, and server | |
CN110417569B (zh) | 一种网络链路故障处理方法和隧道端点设备 | |
US10044770B2 (en) | Method and apparatus for managing a plurality of sessions in a multi-path routing based network | |
CN110633046A (zh) | 一种分布式系统的存储方法、装置、存储设备及存储介质 | |
US7159010B2 (en) | Network abstraction of input/output devices | |
CN113259273B (zh) | 交换机的控制方法、交换机、计算机设备和存储介质 | |
US6718402B1 (en) | Method and system for persistent unit attention in a fibre channel storage router | |
US20220060382A1 (en) | Method and system for facilitating high availability in a multi-fabric system | |
US7549088B2 (en) | Communication apparatus and program provided with failure determining method and function | |
US20130144977A1 (en) | Shared-bandwidth multiple target remote copy | |
US11436172B2 (en) | Data frame interface network device | |
CN112217718A (zh) | 一种业务处理方法、装置、设备及存储介质 | |
CN113946376A (zh) | 负载调整方法、装置、电子设备及存储介质 | |
CN113434089A (zh) | 数据搬移方法、装置及pcie系统 | |
US11811643B2 (en) | System and method for managing computing resources | |
CN116760850B (zh) | 一种数据处理方法、装置、设备、介质及系统 | |
US20190104195A1 (en) | Computer system and method for controlling communication path | |
CN113904980A (zh) | 一种信道切换方法、装置、交换机及存储介质 | |
CN115801659A (zh) | 设备控制方法、电子设备和多媒体系统 | |
CN117544512A (zh) | 一种数据发送方法、装置、系统、设备和存储介质 | |
CN115225547A (zh) | 心跳检测方法及通信装置 | |
CN116521416A (zh) | 一种信息处理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |