CN104135447A - 一种数据包的传输方法和装置 - Google Patents
一种数据包的传输方法和装置 Download PDFInfo
- Publication number
- CN104135447A CN104135447A CN201410384091.3A CN201410384091A CN104135447A CN 104135447 A CN104135447 A CN 104135447A CN 201410384091 A CN201410384091 A CN 201410384091A CN 104135447 A CN104135447 A CN 104135447A
- Authority
- CN
- China
- Prior art keywords
- packet
- power board
- link state
- transmission method
- exchange chip
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据包的传输方法和装置,该数据包的传输方法包括:监测交换芯片与至少两个交换板之间的链路状态,并获取监测结果;根据所述检测结果,判断所述交换芯片与交换板之间的链路状态是否改变;在判断结果为是的情况下,根据改变后的链路状态确定数据包的封装策略;根据确定的所述封装策略对数据包进行封装,并传输封装后的数据包。本发明通过对交换芯片与交换板之间的链路状态进行实时监测,当链路发生变化时可以及时的调整数据包的分发策略,实现了数据包分发的负载均衡,避免了当交换板突发故障或人工插拔导致交换板在位状况发生变化时造成数据分发错误或丢包的情况,保证了系统的稳定性。
Description
技术领域
本发明涉及数据处理领域,并且特别地,涉及一种数据包的传输方法和装置。
背景技术
在刀片服务器的机箱中,有多个槽位为交换板的卡槽,交换板可以实现数据包的跨板转发,机箱中每个刀片服务器与交换板之间的带宽是一定的,当转发流量小于刀片与单个交换板之间的带宽最大上限时,只需要一个交换板即可,反之,就需要单个刀片服务器同时借助多个交换板进行跨板转发。
在现有技术中,为了给节点板提供足够的带宽,通常采用将至少两个交换板同时与节点板连接的方法。
然而该方法虽然保证了节点板对带宽的需求,但是其对于数据包的分发策略是固定的,并且需要多个交换板同时在位,一旦其中某个交换板出现故障或者其他因素导致交换板在位状态发生改变则会发生数据分发不均匀或导致数据包丢包的情况,并且该方法限制了交换板卡可以动态插拔的特性。
针对相关技术中的上述问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出一种数据包的传输方法和装置。
为了实现上述技术目的,根据本发明的一个方面,提供了一种数据包的传输方法。
该数据包的传输方法包括:
监测交换芯片与至少两个交换板之间的链路状态,并获取监测结果;
根据所述检测结果,判断所述交换芯片与交换板之间的链路状态是否改变;
在判断结果为是的情况下,根据改变后的链路状态确定数据包的封装策略;
根据确定的所述封装策略对数据包进行封装,并传输封装后的数据包。
其中,根据确定的所述封装策略对数据包进行封装包括:
对数据包配置标识,所述标识用于表示需要接收该数据包的交换板。
其中,在封装数据包时,可以根据当前链路状态为正常的交换板的数量和/或负载确定需要接收该数据包的交换板并对数据包进行封装。
其中,传输封装后的数据包包括:
将封装后的数据包发送至交换板。
其中,所述交换芯片与交换板之间的链路状态出现改变的情况包括以下至少之一:
部分交换板与交换芯片之间的链路出现异常、部分交换板被拔出、有新的交换板与交换芯片连接。
此外,所述传输方法进一步包括:根据当前的带宽需求以及各个交换板所能够承载的带宽,提示当前所需交换板的数量。
根据本发明的另一方面,还提供了一种数据包的传输装置。
该数据包的传输装置包括:
监测模块,用于监测交换芯片与至少两个交换板之间的链路状态,并获取监测结果;
确定模块,用于根据所述检测结果,判断所述交换芯片与交换板之间的链路状态是否改变,在判断结果为是的情况下,根据改变后的链路状态确定数据包的封装策略;
封装模块,用于根据确定的所述封装策略对数据包进行封装,并传输封装后的数据包。
其中,所述封装模块进一步用于:对数据包配置标识,所述标识用于表示需要接收该数据包的交换板。
其中,所述确定模块进一步用于:
在封装数据包时,根据当前链路状态为正常的交换板的数量和/或负载确定需要接收该数据包的交换板。
其中,所述数据包的传输装置进一步包括:
提示模块,用于根据当前的带宽需求以及各个交换板所能够承载的带宽,提示当前所需交换板的数量。
本发明通过对交换芯片与交换板之间的链路状态进行实时监测,当链路发生变化时可以及时的调整数据包的分发策略,实现了数据包分发的负载均衡,避免了当交换板突发故障或人工插拔导致交换板在位发生变化时造成数据包分发错误或丢包的情况,保证了系统的稳定性。
附图说明
图1是根据本发明实施例提供的数据包的传输方法的流程图;
图2是本发明一具体实施例的数据传输方法的整体结构图;
图3是本发明一具体实施例监测交换芯片端口状态的流程图;
图4是本发明一具体实施例FPGA查询端口状态,并根据该状态确定封装策略并封装的流程图;
图5是根据本发明实施例提供的数据包的传输装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种数据包的传输方法,如图1所示,该方法包括:
步骤S101,监测交换芯片与至少两个交换板之间的链路状态,并获取监测结果;
步骤S103,根据检测结果,判断交换芯片与交换板之间的链路状态是否改变;
步骤S105,在判断结果为是的情况下,根据改变后的链路状态确定数据包的封装策略;
步骤S107,根据确定的封装策略对数据包进行封装,并传输封装后的数据包。
其中,根据确定的封装策略对数据包进行封装包括:对数据包配置标识,该标识用于表示需要接收该数据包的交换板。
此外,根据确定的封装策略对数据包进行封装进一步包括:在封装数据包时,根据当前链路状态为正常的交换板的数量和/或负载确定需要接收该数据包的交换板并对数据包进行封装。
其中,当数据包封装完成后,将封装后的数据包发送至交换板。
其中,交换芯片与交换板之间的链路状态出现改变的情况包括以下至少之一:
部分交换板与交换芯片之间的链路出现异常、部分交换板被拔出、有新的交换板与交换芯片连接。
此外,该传输方法还可以根据当前的带宽需求以及各个交换板所能够承载的带宽,提示当前所需交换板的数量。
下面以一具体实施例对本发明进行进一步说明,如图2示出了本发明一具体实施例的数据传输方法的整体结构图,其中CPU通过PCIE接口分别与交换芯片和FPGA芯片相连,交换芯片通过二区连接器与交换板相连,接口子卡与FPGA芯片相连。其中数据包通过接口子卡进入刀片的FPGA芯片,FPGA芯片将数据包按照特定的转发规则封装后,将封装后的数据包发送给交换芯片,交换芯片通过二区连接器将数据包转发给交换板,实现了数据包的的跨板传输。
为方便对本发明的理解,本实施例以刀片服务器机箱中有两个交换板卡槽为例进行说明。在系统刚上电或者系统运行的过程中,插入交换板的数量是不确定的,刚上电时有可能只有1号交换板或2号交换板在位,也有可能两个交换板同时在位,在系统运行中可能会动态的插拔交换板。
在系统上电后,CPU实时监测交换芯片与两个交换板之间的链路状态,如图3示出了本发明一具体实施的监测交换芯片端口状态的流程图。可以注册一个监测交换芯片与交换板之间接口链路状态的回调函数,当其中任意一个接口链路发生变化时,该回调函数便会将该消息队列上报给CPU,CPU将交换板与交换芯片接口的链路实时的状态通过PCIE接口上报给FPGA相关的寄存器。
其中,交换芯片与交换板之间的链路状态出现改变的情况包括以下至少之一:部分交换板与交换芯片之间的链路出现异常、部分交换板被拔出、有新的交换板与交换芯片连接。
其中,监测状态至少包括当前交换板的在位数及数据带宽。
FPGA读取标识交换芯片与交换板之间链路状态的FPGA相关的寄存器,并根据读取的该链路状态确定封装策略并对数据包进行封装,其中根据确定的封装策略对数据包进行封装包括:
对数据包配置标识,该标识用于表示需要接收该数据包的交换板。
其中,数据包的vlan标识划分如下:
bit1-bit8,用于本版转发时制定所要转发至后插板的端口号;
bit9-bit12,用于跨板转发时制定所要转发至机箱的槽位号;
bit13,决定数据包是通过哪个交换板进行转发。
如图4示出了本发明一具体实施例的FPGA查询端口状态,并根据该状态确定封装策略并封装的流程图。
FPGA查询标识刀片与交换板之间链路状态的寄存器并读取数据,如果只有某一个交换板在位,则将数据包最外层的vlan第13bit设置为与该交换板相匹配的标识,如果两个交换板同时在位,则将数据包最外层vlan的第13bit轮询置0或者1,实现将数据包以轮询的方式通过两个交换板上分别转发至其他刀片上,实现了负载均衡。
比如,交换芯片只与1号交换板相连,则将数据包的vlan标识的bit13置0;交换芯片只与2号交换板相连,则将数据包的vlan标识的bit13置为1;如果1号以及2号交换板同时与交换芯片相连,则将数据包的vlan标识的bit13轮询依次置0、1。
按照上述封装规则将数据包进行封装,将封装后的数据包发送至交换芯片,交换芯片根据vlan标识的13,将数据包转发至对应的交换板,从而实现了数据包发送的负载均衡。
此外,由于单个交换板与刀片之间的带宽是一定的,还可以通过根据当前带宽需求以及各个交换板所能够承载的带宽,提示当前所需要的交换板的数量。
比如,当前有两个交换板在位,如果一个交换板就可以承载当前的带宽,则可以将其中一个交换板拔下,节省硬件开销,并实现了带宽的动态调整。
此外,根据本发明的实施例还提供了一种数据包的传输装置,该传输装置包括:
监测模块51,用于监测交换芯片与至少两个交换板之间的链路状态,并获取监测结果;
确定模块52,用于根据检测结果,判断交换芯片与交换板之间的链路状态是否改变,在判断结果为是的情况下,根据改变后的链路状态确定数据包的封装策略;
封装模块53,用于根据确定的封装策略对数据包进行封装,并传输封装后的数据包。
其中,封装模块53进一步用于,对数据包配置标识,标识用于表示需要接收该数据包的交换板。
其中,确定模块52进一步用于,在封装数据包时,根据当前链路状态为正常的交换板的数量和/或负载确定需要接收该数据包的交换板。
其中,数据包的传输装置进一步包括:
提示模块(未示出),用于根据当前的带宽需求以及各个交换板所能够承载的带宽,提示当前所需交换板的数量。
综上,借助于本发明的上述技术方案,本发明通过对交换芯片与交换板之间的链路状态进行实时监测,当链路发生变化时可以及时的调整数据包的分发策略,实现了数据包分发的负载均衡,避免了当交换板突发故障或人工插拔导致交换板在位状态发生变化时造成数据分发错误或丢包的情况,保证了系统的稳定性,并可以根据当前带宽需求以及各个交换板所能够承载的带宽,提示当前所需交换板的数量,减少了不必要的硬件消耗节省成本,并实现了动态的带宽调整。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据包的传输方法,其特征在于,包括:
监测交换芯片与至少两个交换板之间的链路状态,并获取监测结果;
根据所述检测结果,判断所述交换芯片与交换板之间的链路状态是否改变;
在判断结果为是的情况下,根据改变后的链路状态确定数据包的封装策略;
根据确定的所述封装策略对数据包进行封装,并传输封装后的数据包。
2.根据权利要求1所述的传输方法,其特征在于,根据确定的所述封装策略对数据包进行封装包括:
对数据包配置标识,所述标识用于表示需要接收该数据包的交换板。
3.根据权利要求2所述的传输方法,其特征在于,在封装数据包时,根据当前链路状态为正常的交换板的数量和/或负载确定需要接收该数据包的交换板并对数据包进行封装。
4.根据权利要求1所述的传输方法,其特征在于,传输封装后的数据包包括:
将封装后的数据包发送至交换板。
5.根据权利要求1所述的传输方法,其特征在于,所述交换芯片与交换板之间的链路状态出现改变的情况包括以下至少之一:
部分交换板与交换芯片之间的链路出现异常、部分交换板被拔出、有新的交换板与交换芯片连接。
6.根据权利要求1所述的传输方法,其特征在于,所述传输方法进一步包括:根据当前的带宽需求以及各个交换板所能够承载的带宽,提示当前所需交换板的数量。
7.一种数据包的传输装置,其特征在于,包括:
监测模块,用于监测交换芯片与至少两个交换板之间的链路状态,并获取监测结果;
确定模块,用于根据所述检测结果,判断所述交换芯片与交换板之间的链路状态是否改变,在判断结果为是的情况下,根据改变后的链路状态确定数据包的封装策略;
封装模块,用于根据确定的所述封装策略对数据包进行封装,并传输封装后的数据包。
8.根据权利要求7所述的数据包的传输装置,其特征在于,所述封装模块进一步用于:对数据包配置标识,所述标识用于表示需要接收该数据包的交换板。
9.根据权利要求8所述的数据包的传输装置,其特征在于,所述确定模块进一步用于:
在封装数据包时,根据当前链路状态为正常的交换板的数量和/或负载确定需要接收该数据包的交换板。
10.根据权利要求7所述的数据包的传输装置,其特征在于,所述数据包的传输装置进一步包括:
提示模块,用于根据当前的带宽需求以及各个交换板所能够承载的带宽,提示当前所需交换板的数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410384091.3A CN104135447B (zh) | 2014-08-06 | 2014-08-06 | 一种数据包的传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410384091.3A CN104135447B (zh) | 2014-08-06 | 2014-08-06 | 一种数据包的传输方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104135447A true CN104135447A (zh) | 2014-11-05 |
CN104135447B CN104135447B (zh) | 2018-03-23 |
Family
ID=51807971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410384091.3A Active CN104135447B (zh) | 2014-08-06 | 2014-08-06 | 一种数据包的传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104135447B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016197729A1 (zh) * | 2016-01-04 | 2016-12-15 | 中兴通讯股份有限公司 | 数据发送方法及装置 |
CN113472701A (zh) * | 2020-03-31 | 2021-10-01 | 深圳市中兴微电子技术有限公司 | 路由信息的处理方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777143A (zh) * | 2004-10-25 | 2006-05-24 | 阿尔卡特公司 | 使用分布式网络处理的数据交换机中的内部负载平衡 |
CN101047538A (zh) * | 2006-03-31 | 2007-10-03 | 上海贝尔阿尔卡特股份有限公司 | 基于以太网交换的数据链路的无缝切换系统及其方法 |
US20130013957A1 (en) * | 2011-07-07 | 2013-01-10 | International Business Machines Corporation | Reducing impact of a switch failure in a switch fabric via switch cards |
CN103181133A (zh) * | 2012-10-26 | 2013-06-26 | 华为技术有限公司 | 基于pcie交换的服务器系统及其倒换方法和设备 |
CN103428114A (zh) * | 2013-08-08 | 2013-12-04 | 曙光信息产业股份有限公司 | 一种atca万兆交换板及系统 |
CN103455104A (zh) * | 2013-09-03 | 2013-12-18 | 华为技术有限公司 | 一种交换板及刀片服务器 |
-
2014
- 2014-08-06 CN CN201410384091.3A patent/CN104135447B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777143A (zh) * | 2004-10-25 | 2006-05-24 | 阿尔卡特公司 | 使用分布式网络处理的数据交换机中的内部负载平衡 |
CN101047538A (zh) * | 2006-03-31 | 2007-10-03 | 上海贝尔阿尔卡特股份有限公司 | 基于以太网交换的数据链路的无缝切换系统及其方法 |
US20130013957A1 (en) * | 2011-07-07 | 2013-01-10 | International Business Machines Corporation | Reducing impact of a switch failure in a switch fabric via switch cards |
CN103181133A (zh) * | 2012-10-26 | 2013-06-26 | 华为技术有限公司 | 基于pcie交换的服务器系统及其倒换方法和设备 |
CN103428114A (zh) * | 2013-08-08 | 2013-12-04 | 曙光信息产业股份有限公司 | 一种atca万兆交换板及系统 |
CN103455104A (zh) * | 2013-09-03 | 2013-12-18 | 华为技术有限公司 | 一种交换板及刀片服务器 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016197729A1 (zh) * | 2016-01-04 | 2016-12-15 | 中兴通讯股份有限公司 | 数据发送方法及装置 |
CN106941453A (zh) * | 2016-01-04 | 2017-07-11 | 中兴通讯股份有限公司 | 数据发送方法及装置 |
CN113472701A (zh) * | 2020-03-31 | 2021-10-01 | 深圳市中兴微电子技术有限公司 | 路由信息的处理方法、装置、设备及存储介质 |
CN113472701B (zh) * | 2020-03-31 | 2023-10-10 | 深圳市中兴微电子技术有限公司 | 路由信息的处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104135447B (zh) | 2018-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101505270B (zh) | 分布式交换机聚合链路快速收敛的方法 | |
US8839023B2 (en) | Transmitting network information using link or port aggregation protocols | |
CN101610212B (zh) | 实现数据平面可靠通信的方法和板卡 | |
CN102724030A (zh) | 一种高可靠性的堆叠系统 | |
CN110177058B (zh) | 一种基于fpga的以太网交换板卡状态监控收发装置 | |
CN103152210B (zh) | 修复生成树协议转发状态异常的方法及堆叠设备 | |
CN103023815B (zh) | 聚合链路负载分担方法及装置 | |
CN105656708A (zh) | 单板测试方法及装置 | |
CN104394034A (zh) | 一种基于lldp协议检测链路聚合配置的方法及系统 | |
CN104980293A (zh) | 一种oam报文快速发送和检测处理的方法及装置 | |
CN103178980A (zh) | 网卡管理系统 | |
CN111541609A (zh) | 一种链路聚合组的状态检测方法和装置 | |
CN101841424A (zh) | 基于socks代理连接的ems网管系统和方法 | |
CN103036724B (zh) | 状态信息传输方法、网络设备及组合设备 | |
CN103001802B (zh) | 以太端口故障自动修复方法及系统 | |
CN104135447A (zh) | 一种数据包的传输方法和装置 | |
CN102857436B (zh) | 一种基于irf网络的流量传输方法和设备 | |
CN103067205B (zh) | 同一主机管理下共用同一地址的rt与备份rt切换方法 | |
CN105553865B (zh) | 一种fc交换机芯片信用管理测试方法 | |
CN101911596A (zh) | 共享接入线路带宽的系统和方法 | |
CN103023698A (zh) | 基于以太网链路级oam优化lacp协议链路聚合的方法及装置 | |
CN210927649U (zh) | 一种基于Compact PCI总线千兆双冗余网卡 | |
CN102711163A (zh) | 一种ip-ran设备快速检测告警链路故障的方法 | |
CN107179970B (zh) | 一种分布式设备中大规模oam检测系统及方法 | |
CN103825767B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220729 Address after: 100089 building 36, courtyard 8, Dongbeiwang West Road, Haidian District, Beijing Patentee after: Dawning Information Industry (Beijing) Co.,Ltd. Patentee after: DAWNING INFORMATION INDUSTRY Co.,Ltd. Address before: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing Patentee before: Dawning Information Industry (Beijing) Co.,Ltd. |
|
TR01 | Transfer of patent right |