CN111181682A - 一种基于fpga的gfp帧分片传输的实现方法 - Google Patents
一种基于fpga的gfp帧分片传输的实现方法 Download PDFInfo
- Publication number
- CN111181682A CN111181682A CN201911406248.7A CN201911406248A CN111181682A CN 111181682 A CN111181682 A CN 111181682A CN 201911406248 A CN201911406248 A CN 201911406248A CN 111181682 A CN111181682 A CN 111181682A
- Authority
- CN
- China
- Prior art keywords
- message
- fragment
- length
- frame
- fragmentation
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/16—Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
- H04J3/1605—Fixed allocated frame structures
- H04J3/1611—Synchronous digital hierarchy [SDH] or SONET
- H04J3/1617—Synchronous digital hierarchy [SDH] or SONET carrying packets or ATM cells
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于FPGA的GFP帧分片传输的实现方法,包括:步骤1,将收到的一个完整报文按照预设的分片长度参数给出的分片长度进行分片得到分片报文,对得到的分片报文进行缓存;步骤2,提取缓存的分片报文对应的分片提取信息,所述分片提取信息包括:分片报文缓存首地址、分片报文长度、是否为最后一片报文标识;步骤3,将缓存的分片报文按对应的分片提取信息封装成帧后发送。通过对报文按预设长度分片后再缓存的方式传输,可以有效减少对核心器件FPGA中重要的存储资源的需求,从而有效降低通信设备的设计成本。
Description
技术领域
本发明涉及通信领域,尤其涉及一种基于FPGA的GFP帧分片传输的实现方法。
背景技术
GFP(Generic Framing Procedure,通用成帧规程)是光同步数字传输网SDH上的新数据包传输协议。在MSTP(Multi-Service Transport Platform,多业务传送平台)中,除可以使用传统的点到点协议/高速数据链路协议(PPP/HDLC)、SDH(Synchronous DigitalHierarchy,同步数字体系)上的链路接入规程(LAPS)作为数据分组的封装协议外,GFP是一种新的选择方案,是SDH发展的关键技术之一。
GFP具有数据头的纠错和将通道标识符用于端口复用的功能,可以支持具有成帧映射和透明映射两种工作模式,可以分别应对不同需求的业务。成帧映射需要将客户数据缓存下来再封装到GFP帧结构中,此方式适用于对时延、抖动不敏感的业务;对于那些需要更小时延以及更高传输效率的业务,可以采用透明映射方式,即直接将数据从客户数据块中取出,再映射进周期性的、长度固定的GFP帧结构中。从原理上讲,GFP可以封装任何协议,通过它可以透明地将各种不同物理层或逻辑链路层信号适配进入SDH网络中。
传统用GFP帧封装报文传输的原理如图1所示,包括:
(1)报文缓存:一般是用FPGA的随机存储器来缓存报文,通过写报文的头地址和尾地址来获取报文的长度,所以需要至少能缓存大于一个报文长度的随机存储空间。如果缓存超长帧,那需要占用较多的随机存储器。例如对于一个64K BYTE的巨型Jumbo Frame帧,在接收报文缓存这块至少占用超过64块常规的FPGA的随机存储器,占用过多的FPGA缓存资源。
(2)GFP封装成帧器:按照标准的GFP用户帧结构,将报文封装为GFP帧,标准的GFP客户帧结构图2所示,分为4个字节的核心帧头和4-65535字节的净负荷区;其中PLI是核心帧头的净负荷长度标识,传统设计将报文长度写入该双字,cHEC为核心头差错校验字节;净负荷区用来写入传输的报文数据。
(3)GFP解帧器:根据标准核心帧头解析GFP报文帧同步信息,获取报文净负荷长度信息;根据净负荷长度输出净负荷区的报文数据。
(4)报文缓存和报文发送接口:适配各种报文接口,主要是用来缓存和发送报文数据。
但现有的GFP帧封装报文传输方式需要缓存整个长度的报文,存在占用过多的FPGA缓存资源,灵活性差的问题。
发明内容
基于现有技术所存在的问题,本发明的目的是提供一种基于FPGA的GFP帧分片传输的实现方法,能解决现有的GFP帧封装报文传输方式需要缓存整个长度的报文,存在占用过多的FPGA缓存资源,灵活性差的问题。
本发明的目的是通过以下技术方案实现的:
本发明实施方式提供一种基于FPGA的GFP帧分片传输的实现方法,包括:
步骤1,将收到的一个完整报文按照预设的分片长度参数给出的分片长度进行分片得到分片报文,对得到的分片报文进行缓存;
步骤2,提取缓存的分片报文对应的分片提取信息,所述分片提取信息包括:分片报文缓存首地址、分片报文长度、是否为最后一片报文标识;
步骤3,将缓存的分片报文按对应的分片提取信息封装成帧后发送。
本发明实施方式提供一种基于FPGA的GFP帧分片传输的实现方法,包括:
步骤1,接收由分片报文封装成帧的报文;
步骤2,根据收到报文的核心帧头解出GFP的帧同步信息,在核心帧头中获取分片长度和是否为最后一个分片报文的标识;
步骤3根据分片长度和是否为最后一个分片报文的标识,恢复得到完整的报文并发送。
由上述本发明提供的技术方案可以看出,本发明实施例提供的基于FPGA的GFP帧分片传输的实现方法,其有益效果为:
通过对报文按预设长度分片后再缓存的方式传输,可以有效减少对核心器件FPGA中重要的存储资源的需求,从而有效降低通信设备的设计成本。该方法可适用各种协议、各种长度的以太网报文,可适用各种速率的以太网接口,特别是对于需要支持超长JumboFrame帧传输的设备。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为现有的GFP帧封装报文传输设计原理图;
图2为本发明实施例提供的方法中客户帧的结构示意图;
图3为本发明实施例提供的GFP帧分片传输流程图。
具体实施方式
下面结合本发明的具体内容,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
如图3所示,本发明实施例提供一种基于FPGA的GFP帧分片传输的实现方法,包括:
步骤1,将收到的一个完整报文按照预设的分片长度参数给出的分片长度进行分片得到分片报文,对得到的分片报文进行缓存;
步骤2,提取缓存的分片报文对应的分片提取信息,所述分片提取信息包括:分片报文缓存首地址、分片报文长度、是否为最后一片报文标识;
步骤3,将缓存的分片报文按对应的分片提取信息封装成帧后发送。
上述方法步骤3中,将缓存的分片报文按对应的分片提取信息封装成帧包括:
在核心帧头PLI部分发送该分片报文长度以及该分片报文是否是最后一个分片报文的标识,在净负荷区按分片报文长度填充分片报文数据。
为实现上述方法中,本发明通过在FPGA中设置报文分片缓存模块实现上述步骤1的对完整报文按预设的报文长度进行分片的处理;并使
本发明实施例还提供一种基于FPGA的GFP帧分片传输的实现方法,是一种接收分片报文的处理方法,与上述方法配合使用,包括:
步骤1,接收由分片报文封装成帧的报文;
步骤2,根据收到报文的核心帧头解出GFP的帧同步信息,在核心帧头中获取分片长度和是否为最后一个分片报文的标识;
步骤3根据分片长度和是否为最后一个分片报文的标识,恢复得到完整的报文。
本发明实施例的GFP帧分片传输的实现方法,可基于FPGA实现,通过对报文按预设长度分片后再缓存的方式传输,可以有效减少对核心器件FPGA中重要的存储资源的需求,从而有效降低通信设备的设计成本。该方法可适用各种协议、各种长度的以太网报文,可适用各种速率的以太网接口,特别是对于需要支持超长Jumbo Frame帧传输的设备。
下面对本发明实施例具体作进一步地详细描述。
参见图3,本发明实施例的基于FPGA的GFP帧分片传输方法流程,包括:
(1)报文分片缓存模块:
(11)在该模块中预先设定分片长度参数,能通过控制器灵活控制分片长度;
(12)收到一个完整报文,根据分片长度参数,将该完整报文按照分片长度进行分片后缓存,这样不需要缓存整个长度的报文;
(13)提取每个分片的报文对应的分片提取信息,包括:分片报文缓存首地址、分片报文长度、该片报文是否为一个完整报文的最后一片报文的标识。
(14)实际报文分片缓存空间的大小由分片长度决定。例如:若将一个64kBYTE的超长Jumbo Frame帧分片成1K的长度,那么只需要占用1块FPGA内部的随机存储器,大大降低了对FPGA存储资源的需求。
(2)分片报文信息缓存:执行一次分片操作后,缓存分片报文信息,包括是否有分片报文收到、分片报文缓存首地址、分片报文长度、是否该片报文为最后一片。
(3)GFP封装成帧器:读取分片报文信息缓存内容,当判断有报文收到,读取各分片报文信息。GFP封装成帧器同图2类似,在核心帧头PLI部分发送该分片报文长度以外,还需要发送该分片是否是最后一个分片报文信息。根据分片报文长度,在净负荷区填充分片报文数据。
(4)GFP解帧器:根据核心帧头首先解出GFP的帧同步信息,在核心帧头中获取分片长度和是否最后一个分片报文信息。
(5)报文缓存和报文发送接口:根据分片长度和是否最后一个分片报文信息,恢复出完整报文发送,适配各种接口报文。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (3)
1.一种基于FPGA的GFP帧分片传输的实现方法,其特征在于,包括:
步骤1,将收到的一个完整报文按照预设的分片长度参数给出的分片长度进行分片得到分片报文,对得到的分片报文进行缓存;
步骤2,提取缓存的分片报文对应的分片提取信息,所述分片提取信息包括:分片报文缓存首地址、分片报文长度、是否为最后一片报文标识;
步骤3,将缓存的分片报文按对应的分片提取信息封装成帧后发送。
2.根据权利要求1所述的基于FPGA的GFP帧分片传输的实现方法,其特征在于,所述方法步骤3中,将缓存的分片报文按对应的分片提取信息封装成帧包括:
在核心帧头PLI部分发送该分片报文长度以及该分片报文是否是最后一个分片报文的标识,在净负荷区按分片报文长度填充分片报文数据。
3.一种基于FPGA的GFP帧分片传输的实现方法,其特征在于,包括:
步骤1,接收由分片报文封装成帧的报文;
步骤2,根据收到报文的核心帧头解出GFP的帧同步信息,在核心帧头中获取分片长度和是否为最后一个分片报文的标识;
步骤3根据分片长度和是否为最后一个分片报文的标识,恢复得到完整的报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911406248.7A CN111181682A (zh) | 2019-12-31 | 2019-12-31 | 一种基于fpga的gfp帧分片传输的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911406248.7A CN111181682A (zh) | 2019-12-31 | 2019-12-31 | 一种基于fpga的gfp帧分片传输的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111181682A true CN111181682A (zh) | 2020-05-19 |
Family
ID=70654236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911406248.7A Pending CN111181682A (zh) | 2019-12-31 | 2019-12-31 | 一种基于fpga的gfp帧分片传输的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111181682A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113595932A (zh) * | 2021-08-06 | 2021-11-02 | 上海金仕达软件科技有限公司 | 数据乱序报文的处理方法及专用集成电路 |
CN113595940A (zh) * | 2021-09-28 | 2021-11-02 | 恒生电子股份有限公司 | 分片的发送方法、接收方法和对应装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101022405A (zh) * | 2006-06-23 | 2007-08-22 | 华为技术有限公司 | 一种通用成帧规程封装方法 |
CN103634229A (zh) * | 2013-11-26 | 2014-03-12 | 华为技术有限公司 | 一种片间通讯方法及控制装置 |
CN107995130A (zh) * | 2017-12-05 | 2018-05-04 | 西安交大捷普网络科技有限公司 | 一种分片报文的快转方法 |
-
2019
- 2019-12-31 CN CN201911406248.7A patent/CN111181682A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101022405A (zh) * | 2006-06-23 | 2007-08-22 | 华为技术有限公司 | 一种通用成帧规程封装方法 |
CN103634229A (zh) * | 2013-11-26 | 2014-03-12 | 华为技术有限公司 | 一种片间通讯方法及控制装置 |
CN107995130A (zh) * | 2017-12-05 | 2018-05-04 | 西安交大捷普网络科技有限公司 | 一种分片报文的快转方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113595932A (zh) * | 2021-08-06 | 2021-11-02 | 上海金仕达软件科技有限公司 | 数据乱序报文的处理方法及专用集成电路 |
CN113595932B (zh) * | 2021-08-06 | 2024-05-14 | 上海金仕达软件科技股份有限公司 | 数据乱序报文的处理方法及专用集成电路 |
CN113595940A (zh) * | 2021-09-28 | 2021-11-02 | 恒生电子股份有限公司 | 分片的发送方法、接收方法和对应装置 |
CN113595940B (zh) * | 2021-09-28 | 2021-12-14 | 恒生电子股份有限公司 | 分片的发送方法、接收方法和对应装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103346949B (zh) | 基于嵌入式的双通道网络数据包的拆包和组包方法及系统 | |
WO2021103928A1 (zh) | 一种数据传输方法、装置、终端设备和存储介质 | |
RU2500080C2 (ru) | СПОСОБ РЕГУЛИРОВКИ ПОЛОСЫ ПРОПУСКАНИЯ КАНАЛА ODUflex БЕЗ ПОТЕРЬ И КАНАЛ ODUflex | |
JP3599673B2 (ja) | 無線データ送受信装置及びその方法 | |
US8160106B2 (en) | Method, device and system for transmitting Ethernet packets | |
CN100558037C (zh) | 一种数据帧的传输处理方法 | |
WO2020024721A1 (zh) | 一种业务传输的方法、设备及计算机存储介质 | |
JP2002208903A (ja) | 光回線データを広域/都市域リンクに伝送するためのフレキシブルなマルチプレクサ/デマルチプレクサ及び方法 | |
WO2017012453A1 (zh) | 用于数据传输的方法和设备 | |
CN101022405A (zh) | 一种通用成帧规程封装方法 | |
WO2021103640A1 (zh) | 数据传输方法、装置、终端设备和存储介质 | |
CN104079488A (zh) | 基于以太网二层头压缩的传输设备及方法 | |
CN111181682A (zh) | 一种基于fpga的gfp帧分片传输的实现方法 | |
KR101156619B1 (ko) | 프레임 축소 방법 및 장치 | |
US7672330B2 (en) | Methods for sending and receiving network management messages and/or control messages | |
WO2019128462A1 (zh) | 一种数据传输方法、发送装置及接收装置 | |
EP1648133B1 (en) | A method for encapsulating data stream | |
CN101667959B (zh) | 一种物理层数据传输的方法、装置及数据传输的系统 | |
CN105933325A (zh) | 一种基于NFSoRDMA的内核态RPC通信加速方法 | |
CN101527724A (zh) | 用于在高速互联网协议网络中传送数据的数据传输容器 | |
WO2017118019A1 (zh) | 一种e1结构化时隙压缩模式分组传送的方法及装置 | |
CN103634229B (zh) | 一种片间通讯方法及控制装置 | |
WO2014000439A1 (zh) | 基带射频接口承载传输的方法、装置和系统 | |
US20070233894A1 (en) | Shared buffer for near-end and optical interface flow control in fiber optic communications | |
CN102118356A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200519 |
|
RJ01 | Rejection of invention patent application after publication |