CN104135447B - 一种数据包的传输方法和装置 - Google Patents
一种数据包的传输方法和装置 Download PDFInfo
- Publication number
- CN104135447B CN104135447B CN201410384091.3A CN201410384091A CN104135447B CN 104135447 B CN104135447 B CN 104135447B CN 201410384091 A CN201410384091 A CN 201410384091A CN 104135447 B CN104135447 B CN 104135447B
- Authority
- CN
- China
- Prior art keywords
- packet
- power board
- exchange chip
- link state
- link
- 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.)
- Active
Links
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 (7)
1.一种数据包的传输方法,其特征在于,包括:
监测交换芯片与刀片服务器的至少两个交换板之间的链路状态,并获取监测结果;
根据所述监测 结果,判断所述交换芯片与交换板之间的链路状态是否改变;
在判断结果为是的情况下,根据改变后的链路状态确定数据包的封装策略;
根据确定的所述封装策略对数据包进行封装,并传输封装后的数据包;其中,在封装数据包时,根据当前链路状态为正常的交换板的数量和/或负载确定需要接收该数据包的交换板并对数据包进行封装,并将封装后的数据包发送至相应的交换板。
2.根据权利要求1所述的传输方法,其特征在于,根据确定的所述封装策略对数据包进行封装包括:
对数据包配置标识,所述标识用于表示需要接收该数据包的交换板。
3.根据权利要求1所述的传输方法,其特征在于,所述交换芯片与交换板之间的链路状态出现改变的情况包括以下至少之一:
部分交换板与交换芯片之间的链路出现异常、部分交换板被拔出、有新的交换板与交换芯片连接。
4.根据权利要求1所述的传输方法,其特征在于,所述传输方法进一步包括:根据当前的带宽需求以及各个交换板所能够承载的带宽,提示当前所需交换板的数量。
5.一种数据包的传输装置,其特征在于,包括:
监测模块,用于监测交换芯片与刀片服务器的至少两个交换板之间的链路状态,并获取监测结果;
确定模块,用于根据所述监测 结果,判断所述交换芯片与交换板之间的链路状态是否改变,在判断结果为是的情况下,根据改变后的链路状态确定数据包的封装策略;
封装模块,用于根据确定的所述封装策略对数据包进行封装,并传输封装后的数据包;其中,在封装数据包时,根据当前链路状态为正常的交换板的数量和/或负载确定需要接收该数据包的交换板,并将封装后的数据包发送至相应的交换板。
6.根据权利要求5所述的数据包的传输装置,其特征在于,所述封装模块进一步用于:对数据包配置标识,所述标识用于表示需要接收该数据包的交换板。
7.根据权利要求5所述的数据包的传输装置,其特征在于,所述数据包的传输装置进一步包括:
提示模块,用于根据当前的带宽需求以及各个交换板所能够承载的带宽,提示当前所需交换板的数量。
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 CN104135447A (zh) | 2014-11-05 |
CN104135447B true 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) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106941453A (zh) * | 2016-01-04 | 2017-07-11 | 中兴通讯股份有限公司 | 数据发送方法及装置 |
CN113472701B (zh) * | 2020-03-31 | 2023-10-10 | 深圳市中兴微电子技术有限公司 | 路由信息的处理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777143A (zh) * | 2004-10-25 | 2006-05-24 | 阿尔卡特公司 | 使用分布式网络处理的数据交换机中的内部负载平衡 |
CN101047538A (zh) * | 2006-03-31 | 2007-10-03 | 上海贝尔阿尔卡特股份有限公司 | 基于以太网交换的数据链路的无缝切换系统及其方法 |
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 | 华为技术有限公司 | 一种交换板及刀片服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8874955B2 (en) * | 2011-07-07 | 2014-10-28 | International Business Machines Corporation | Reducing impact of a switch failure in a switch fabric via switch cards |
-
2014
- 2014-08-06 CN CN201410384091.3A patent/CN104135447B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777143A (zh) * | 2004-10-25 | 2006-05-24 | 阿尔卡特公司 | 使用分布式网络处理的数据交换机中的内部负载平衡 |
CN101047538A (zh) * | 2006-03-31 | 2007-10-03 | 上海贝尔阿尔卡特股份有限公司 | 基于以太网交换的数据链路的无缝切换系统及其方法 |
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 | 华为技术有限公司 | 一种交换板及刀片服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN104135447A (zh) | 2014-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102148768B (zh) | 报文转发方法和报文转发设备 | |
CN102098301B (zh) | 多链路自适应的数据传输方法与系统 | |
CN108667739A (zh) | 拥塞控制方法、装置及系统 | |
CN103281252B (zh) | 一种基于多路径传输的报文流量控制方法和装置 | |
CN103856361A (zh) | 实现远程调试的方法及系统 | |
CN106444602A (zh) | 安全可编程逻辑控制器通信系统和通信方法 | |
CN105162732B (zh) | 创建扩展端口的方法、装置 | |
CN107547430A (zh) | 一种报文发送方法及装置 | |
CN106162528A (zh) | LoRa信号与蓝牙信号转换模块、转换方法及信号发送装置 | |
CN104135447B (zh) | 一种数据包的传输方法和装置 | |
CN105656708A (zh) | 单板测试方法及装置 | |
CN105939294A (zh) | 报文控制的方法及装置 | |
CN102916833B (zh) | 远程调试方法、系统及调试目标设备 | |
CN107579925A (zh) | 报文转发方法及装置 | |
CN103607360B (zh) | 一种报文处理方法、线卡及交换设备 | |
EP2820804A1 (en) | Technique for bundling in link aggregation | |
CN102870381B (zh) | 一种pcie交换系统、装置及交换方法 | |
CN102438017A (zh) | 基于路由功能的Modbus和BACnet Ethernet协议转化装置及转化方法 | |
CN104160735A (zh) | 发报文处理方法、转发器、报文处理设备、报文处理系统 | |
CN103248536B (zh) | 一种虚链路pw检测方法及设备 | |
CN107277652A (zh) | Pon接入系统的跨盘lacp链路聚合方法及装置 | |
CN107645391A (zh) | 一种接口扩展设备的端口配置方法及装置 | |
CN103701721B (zh) | 报文传输方法及装置 | |
CN102404202A (zh) | 电网数据处理方法和装置 | |
CN104486787B (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 | ||
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. |