CN111541624B - 空间以太网缓存处理方法 - Google Patents

空间以太网缓存处理方法 Download PDF

Info

Publication number
CN111541624B
CN111541624B CN202010288931.1A CN202010288931A CN111541624B CN 111541624 B CN111541624 B CN 111541624B CN 202010288931 A CN202010288931 A CN 202010288931A CN 111541624 B CN111541624 B CN 111541624B
Authority
CN
China
Prior art keywords
emac
network
buffer
network data
data packet
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
Application number
CN202010288931.1A
Other languages
English (en)
Other versions
CN111541624A (zh
Inventor
胡浩
王茂森
邱源
滕树鹏
叶恒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai aerospace computer technology research institute
Original Assignee
Shanghai aerospace computer technology research institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai aerospace computer technology research institute filed Critical Shanghai aerospace computer technology research institute
Priority to CN202010288931.1A priority Critical patent/CN111541624B/zh
Publication of CN111541624A publication Critical patent/CN111541624A/zh
Application granted granted Critical
Publication of CN111541624B publication Critical patent/CN111541624B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9015Buffering arrangements for supporting a linked list
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种空间以太网缓存处理方法,包括以下步骤:S1:当数据链路层接收到网络数据包时,将其缓存在EMAC层的接收缓存中;S2:从接收到的网络数据中提取缓存描述符,存储在内部存储器中;S3:当有发送需求时,将网络数据从EMAC接收缓存区EDMA搬移至EMAC发送缓存区并通过PHY接口进行发送。该方法能够满足星载以太网大容量数据交换的特殊应用需求,无需将数据链路层的网络数据整体二次拷贝至内存中,突破星载处理器对高速网络交换数据的处理能力瓶颈,具有较强的实时数据交换和处理能力,可以有效兼顾多种网络信源,网络传输速率不限,与标准的TCP/IP协议具有良好的兼容性。

Description

空间以太网缓存处理方法
技术领域
本发明涉及一种空间以太网缓存处理方法。
背景技术
随着互联网技术的高速发展,航天器领域已经采用高速网络技术来实现星上实时处理,星间链路传输和星上数据融合。
基于TCP/IP五层经典模型以及各层协议标准,统型了以太网络软硬件标准设计。很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但TCP/IP协议族允许它们互相进行通信。TCP/IP作为一个放系统,起源于60年代末美国政府资助的一个分组交换网络研究项目,到90年代已发展成为计算机之间最常应用的组网形式。
应用层,传输层,网络层,数据链路层和物理层在各自层级的关系来维护整个网络数据传输的过程。其中物理层主要作用是定义物理设备如何传输数据,链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口,网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。运输层主要为两台主机上的应用程序提供端到端的通信,应用层负责处理特定的应用程序细节。
但现有TCP/IP网络处理技术无法在硬件处理能力受限的情况下满足星载高速网络交换的应用需求。
发明内容
本发明的目的在于提供一种空间以太网缓存处理方法。
为解决上述问题,本发明提供一种空间以太网缓存处理方法,包括:
当数据链路层接收到网络数据包时,将网络数据包缓存在EMAC接收缓存区中;
从接收到的网络数据包中提取缓存描述符,存储在内部存储器中;
当有发送需求时,根据所述缓存描述符,并通过PHY接口将网络数据包从EMAC接收缓存区搬移至EMAC发送缓存区。
进一步的,在上述方法中,所述步骤S1,包括:
S11:根据网络五层模型定义,设置数据链路层包含PHY接口芯片、EMAC接收缓存区和EMAC发送缓存区两个独立的缓存;
S12:当所述数据链路层接收到网络数据后,EMAC自带DMA控制器,自动将网络数据包通过PHY接口从EMAC接收缓存区搬移至EMAC接收缓存区;
S13:EMAC完成网络数据包搬移后通知CPU已经完成网络数据的数据链路层处理,等待后续操作。
进一步的,在上述方法中,所述步骤S2包括:
S21:CPU仅根据EMAC接收缓存区中接收的网络数据包,提取其缓存描述符;
S22:CPU在其内部存储器中开辟专用的存储空间用于维护缓存描述符的链表。
进一步的,在上述方法中,所述缓存描述符采用双向链表数据结构。
进一步的,在上述方法中,所述缓存描述符采用双向链表数据结构,包括:
下个缓存描述符指针、缓存指针、缓存偏移量、缓存长度、标志位和网络包长。
进一步的,在上述方法中,所述步骤S3包括:
S31:CPU根据应用需求,触发网络发送需求;
S32:遍历缓存描述符的链表,查找待发送的网络数据包的缓存指针,根据查找到的缓存指针,查找网络数据包在EMAC接收缓存中存放地址;
S33:配置并启动EDMA,将待发送的网络数据包通过PHY接口从EMAC接收缓存区搬移至EMAC发送缓存区。
进一步的,在上述方法中,所述步骤S2包括:
采用写保护机制保障进入EMAC接收缓存区的网络数据包在搬移至EMAC发送缓存区前,EMAC接收缓存区所分配的存储空间范围不充许写入新的网络数据包。
与现有技术相比,本发明通过引入对缓存描述符的扩展应用以及对EMAC层接收缓存的适用性优化设计,无需将数据链路层的网络数据整体二次拷贝至内存中,突破星载处理器对高速网络交换数据的处理能力瓶颈,兼顾标准TCP/IP网络应用以及星载高速网络交换的特殊需求,具有较强的实时数据交换和处理能力,够满足星载以太网大容量数据交换的特殊应用需求,可以有效兼顾多种网络信源,网络传输速率不限,与标准的TCP/IP协议具有良好的兼容性。
附图说明
图1为本发明方法整体流程图;
图2为本发明方法应用的星载服务器及客户端的五层模型;
图3为本发明优选实施例的物理链路层处理示意图;
图4为本发明优选实施例为对不同网络终端发送速度兼容的EMAC接收缓存设计示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本发明提供一种空间以太网缓存处理方法,包括:
步骤S1,当数据链路层接收到网络数据包时,将网络数据包缓存在EMAC接收缓存区中;
步骤S2,从接收到的网络数据包中提取缓存描述符,存储在内部存储器中;
步骤S3,当有发送需求时,根据所述缓存描述符,并通过PHY接口将网络数据包从EMAC接收缓存区搬移至EMAC发送缓存区。
在此,通过引入对缓存描述符的扩展应用以及对EMAC层接收缓存的适用性优化设计,无需将数据链路层的网络数据整体二次拷贝至内存中,突破星载处理器对高速网络交换数据的处理能力瓶颈,兼顾标准TCP/IP网络应用以及星载高速网络交换的特殊需求,具有较强的实时数据交换和处理能力,够满足星载以太网大容量数据交换的特殊应用需求,可以有效兼顾多种网络信源,网络传输速率不限,与标准的TCP/IP协议具有良好的兼容性。
优选的,所述步骤S1进一步包括:
S11:根据网络五层模型定义,设置数据链路层包含PHY接口芯片、EMAC接收缓存区和EMAC发送缓存区两个独立的缓存,缓存大小默认512*1518Byts;
S12:当所述数据链路层接收到网络数据后,EMAC自带DMA控制器,自动将网络数据包通过PHY接口从EMAC接收缓存区搬移至EMAC接收缓存区;
S13:EMAC完成网络数据包搬移后通知CPU已经完成网络数据的数据链路层处理,等待后续操作。
优选的,所述步骤S2进一步包括:
S21:受限于处理性能,CPU仅根据EMAC接收缓存区中接收的网络数据包,提取其缓存描述符,无需将完整的网络数据包拷贝至内存中进行处理;
较优的,所述缓存描述符采用双向链表数据结构,包含下个缓存描述符指针、缓存指针、缓存偏移量、缓存长度、标志位和网络包长等相关信息;
S22:CPU在其内部存储器中开辟专用的存储空间用于维护缓存描述符的链表。
优选的,所述步骤S3进一步包括:
S31:CPU根据应用需求,触发网络发送需求;
S32:遍历缓存描述符的链表,查找待发送的网络数据包的缓存指针,根据查找到的缓存指针,查找网络数据包在EMAC接收缓存中存放地址;
S33:配置并启动EDMA,将待发送的网络数据包通过PHY接口从EMAC接收缓存区搬移至EMAC发送缓存区。
具体的,通过CPU在其内部存储器中开辟专用的存储空间用于维护缓存描述符链表,缓存描述符链表与存放于EMAC接收缓存区的网络数据包属于快速映射关系,当接收到新的网络数据包,则往缓存描述符链表插入新的缓存描述符节点,当网络数据包需要被发送,则将EMAC接收缓存数据搬移至EMAC发送缓存,同时在缓存描述符链表中删除该节点。
实施时以某型号为例,该型号的单机CPU为TMS320C6455,源程序代码使用C语言进行编写,在标准的以太网协议栈上进行适应性修改,通过优化重构软件设计,引入对缓存描述符的扩展应用以及对EMAC层接收缓存的适用性优化设计,无需将数据链路层的网络数据整体二次拷贝至内存中,突破星载处理器对高速网络交换数据的处理能力瓶颈,兼顾标准TCP/IP网络应用以及星载高速网络交换的特殊需求,具有较强的实时数据交换和处理能力,可以有效兼顾多种网络信源,网络传输速率不限,能适应网络终端接入速率动态可变范围的应用需求。
优选的,所述步骤S2进一步包括:
S24:考虑到应用需求,需要满足多个网络终端同时并行向本网络服务器发送数据,其发送数据的速率可能存在较大的差异,而EMAC接收缓存区与常规的内存相比,其存储容量极其有限(512*1518Byts),因此EMAC接收缓存不适用FIFO模式,存在高速率网络报文覆盖低速率的网络报文的可能性。为了保证传输性能,采用写保护机制保障进入EMAC接收缓存区的网络数据包在搬移至EMAC发送缓存区前,EMAC接收缓存区所分配的存储空间范围不充许写入新的网络数据包。
在此,为了防止接收缓存内的数据覆盖问题,进行定制的写保护设计。
具体的实施例中该方法适用的航天器网络交换系统需要有下面两个条件:
1、以太网传输能力要求
由于该方法是空间以太网数据交换传输的典型应用。因此,本实例为支持TCP/IP协议的网络交换服务器设计,其网络交换的总处理能力能满足各网络终端的最大网络传输能力之和,且各网络终端的发送速率受控、均匀,可保证瞬时全部网络突发的概率较低。
2、基本的存储处理能力
本实施例的方法的核心功能是满足星载以太网大容量数据交换的特殊应用需求,无需将数据链路层的网络数据整体二次拷贝至内存中,其主要的存储资源开销为保存缓存描述符链表,处理能力需保证能遍历和维护缓存描述符链表,配置和启动EMAC的EDMA寄存器。
鉴于上述两个条件一般的航天器网络交换系统都满足,故本实施例的方法可以应用到大多数的航天器网络交换系统进行以太网网络数据交换。
如图2所示,该方法使用的星载网络系统由卫星交换机(服务器)1、卫星网络终端2和卫星网路终端3组成。其中,卫星网络终端2将两种速率的网络数据包(450Mb和1Mb)通过网络交换机服务器发送给卫星网络终端3,其主要特点为根据通讯协议和应用要求,卫星网络终端2和卫星网路终端3的网段不同,需要卫星交换机(服务器)进行网络交换,且卫星交换机(服务器)在数据链路层完成了两类网络数据的接收和转发工作。
图3为本发明优选实施例的物理链路层处理示意图。
如图4所示,物理链路层的EMAC层接收缓冲区按FIFO的设计方式,若同时接收多个终端,且终端的速度差异较大,存在高速终端数据覆盖低速终端数据,因此需要额外设计,在接收到新的网络报文数据后申请EMAC接收缓存时需要在FIFO基础上增加该包数据是否已经被发送过的判据,即任意包仅在发送后释放句柄,这时该包所占区域才能重新分配给新收到的报文。
本实施例具有极佳的可扩展性,任何符合TCP/IP协议标准的网络终端均可以快速便利的加入本系统,而不需修改卫星交换机(服务器)1即其他卫星网络终端的软硬件设计。
本实施例具体采用了一种空间以太网零拷贝高速缓存处理方法,在星载计算机运算和存储能力受限的使用条件下,为满足高速网络数据交换的应用需求,不同于典型的网络接收处理方法,将网络数据临时存放在数据链路层,CPU采用零拷贝策略仅需处理其缓存描述符保证高效稳定传输。
本发明具有能够满足星载以太网大容量数据交换的特殊应用需求,无需将数据链路层的网络数据整体二次拷贝至内存中,突破星载处理器对高速网络交换数据的处理能力瓶颈,具有较强的实时数据交换和处理能力,可以有效兼顾多种网络信源,网络传输速率不限,与标准的TCP/IP协议具有良好的兼容性,具有较好的通用性和扩展性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

Claims (1)

1.一种空间以太网缓存处理方法,其特征在于,包括:
步骤S1,当数据链路层接收到网络数据包时,将网络数据包缓存在EMAC接收缓存区中;
步骤S2,从接收到的网络数据包中提取缓存描述符,存储在内部存储器中;
步骤S3,当有发送需求时,根据所述缓存描述符,并通过PHY接口将网络数据包从EMAC接收缓存区搬移至EMAC发送缓存区;
所述步骤S1,包括:
S11:根据网络五层模型定义,设置数据链路层包含PHY接口芯片、EMAC接收缓存区和EMAC发送缓存区两个独立的缓存;
S12:当所述数据链路层接收到网络数据后,EMAC自带DMA控制器,自动将网络数据包通过PHY接口从EMAC接收缓存区搬移至EMAC接收缓存区;
S13:EMAC完成网络数据包搬移后通知CPU已经完成网络数据的数据链路层处理,等待后续操作;
所述步骤S2包括:
S21: CPU仅根据EMAC接收缓存区中接收的网络数据包,提取其缓存描述符;
S22:CPU在其内部存储器中开辟专用的存储空间用于维护缓存描述符的链表;
所述缓存描述符采用双向链表数据结构;
所述缓存描述符采用双向链表数据结构,包括:
下个缓存描述符指针、缓存指针、缓存偏移量、缓存长度、标志位和网络包长;
所述步骤S3包括:
S31:CPU根据应用需求,触发网络发送需求;
S32:遍历缓存描述符的链表,查找待发送的网络数据包的缓存指针,根据查找到的缓存指针,查找网络数据包在EMAC接收缓存中存放地址;
S33:配置并启动EDMA,将待发送的网络数据包通过PHY接口从EMAC接收缓存区搬移至EMAC发送缓存区;
所述步骤S2包括:采用写保护机制保障进入EMAC接收缓存区的网络数据包在搬移至EMAC发送缓存区前,EMAC接收缓存区所分配的存储空间范围不充许写入新的网络数据包。
CN202010288931.1A 2020-04-13 2020-04-13 空间以太网缓存处理方法 Active CN111541624B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010288931.1A CN111541624B (zh) 2020-04-13 2020-04-13 空间以太网缓存处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010288931.1A CN111541624B (zh) 2020-04-13 2020-04-13 空间以太网缓存处理方法

Publications (2)

Publication Number Publication Date
CN111541624A CN111541624A (zh) 2020-08-14
CN111541624B true CN111541624B (zh) 2023-08-01

Family

ID=71977383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010288931.1A Active CN111541624B (zh) 2020-04-13 2020-04-13 空间以太网缓存处理方法

Country Status (1)

Country Link
CN (1) CN111541624B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115225592B (zh) * 2022-06-01 2024-01-12 裕太微(上海)电子有限公司 一种直接存储器访问数据传输方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101022412A (zh) * 2007-03-16 2007-08-22 北京航空航天大学 天基网络星载路由交换方法
EP3203656A1 (fr) * 2016-02-05 2017-08-09 Thales Procede de transport transparent de paquets de donnees de bout en bout dans un systeme de telecommunications spatial utilisant un reseau de satellites regeneratifs avec isls

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7735099B1 (en) * 2005-12-23 2010-06-08 Qlogic, Corporation Method and system for processing network data
DE102015016716A1 (de) * 2015-12-22 2017-06-22 Giesecke & Devrient Gmbh Verfahren zur Übermittlung von Sendedaten von einer Sendeeinrichtung zu einer Empfangseinrichtung zur Verarbeitung der Sendedaten und Mittel zur Durchführung des Verfahrens
CN107220187B (zh) * 2017-05-22 2020-06-16 北京星网锐捷网络技术有限公司 一种缓存管理方法、装置及现场可编程门阵列
CN109634881A (zh) * 2018-11-16 2019-04-16 中国航空工业集团公司洛阳电光设备研究所 一种基于fpga的千兆以太网dma数据传输设计装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101022412A (zh) * 2007-03-16 2007-08-22 北京航空航天大学 天基网络星载路由交换方法
EP3203656A1 (fr) * 2016-02-05 2017-08-09 Thales Procede de transport transparent de paquets de donnees de bout en bout dans un systeme de telecommunications spatial utilisant un reseau de satellites regeneratifs avec isls

Also Published As

Publication number Publication date
CN111541624A (zh) 2020-08-14

Similar Documents

Publication Publication Date Title
US7870306B2 (en) Shared memory message switch and cache
USRE47756E1 (en) High performance memory based communications interface
EP1687997B1 (en) A method and apparatus to provide data streaming over a network connection in a wireless mac processor
US7502826B2 (en) Atomic operations
US6801927B1 (en) Network adaptor card with reverse proxy and cache and method implemented therewith
US5752078A (en) System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory
US6735647B2 (en) Data reordering mechanism for high performance networks
US5884313A (en) System and method for efficient remote disk I/O
EP1949645B1 (en) Hashing algorithm for network receive filtering
US6799200B1 (en) Mechanisms for efficient message passing with copy avoidance in a distributed system
US7865633B2 (en) Multiple context single logic virtual host channel adapter
US20030115350A1 (en) System and method for efficient handling of network data
CN101237415B (zh) 一种实现arp协议ip核的方法
CN1802836A (zh) 网络协议卸载引擎存储器管理
US6570885B1 (en) Segment-controlled process for controlling castouts from a communication cache in a port in any of multiple nodes in a communications network
CN111459417A (zh) 一种面向NVMeoF存储网络的无锁传输方法及系统
US20080263171A1 (en) Peripheral device that DMAS the same data to different locations in a computer
US7925798B2 (en) Data packet processing device
CN111541624B (zh) 空间以太网缓存处理方法
US20070088854A1 (en) Apparatus for searching TCP and UDP sockets
US6973558B2 (en) Netbufs: communication protocol packet buffering using paged memory management
US6108694A (en) Memory disk sharing method and its implementing apparatus
JPH07239808A (ja) 分散データ管理方式
US7032035B2 (en) Method and apparatus for improving transmission performance by caching frequently-used packet headers
CN107615259A (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