CN112199211A - 基于RapidIO的CORBA中间件ORB间通信方法 - Google Patents
基于RapidIO的CORBA中间件ORB间通信方法 Download PDFInfo
- Publication number
- CN112199211A CN112199211A CN202011042983.7A CN202011042983A CN112199211A CN 112199211 A CN112199211 A CN 112199211A CN 202011042983 A CN202011042983 A CN 202011042983A CN 112199211 A CN112199211 A CN 112199211A
- Authority
- CN
- China
- Prior art keywords
- rapidio
- layer
- ethernet
- iiop
- tcp
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开的一种基于RapidIO的CORBA中间件ORB间通信方法,涉及软件无线电领域,本发明通过下述技术方案予以实现:基于IIOP协议提供的TCP/IP协议栈,通过协议覆盖方式,增加以太网到RapidIO网络的适配层,实现以太网数据包运行于RapidIO网络之上,将以太网物理层替换成RapidIO层,在以太网链路层和RapidIO层之间增加一层适配层;通过TCP/IP协议栈和以太网链路层将IIOP数据层层封装,成为以太网帧,适配层将映射后的RapidIO源ID、目的ID填入RapidIO头,将RapidIO头添加到以太网帧最前面,组合成RapidIO数据格式,通过RapidIO层发送出去。
Description
技术领域
本发明涉及软件无线电领域,具体涉及一种软件通信体系结构中基于RapidIO的CORBA中间件ORB间通信方法。
背景技术
软件通信体系结构(SCA,Software Communi-cations Architecture)为软件无线电的设计提供了一种与实现无关的开放式架构。SCA通过分层的结构使波形应用与底层硬件及操作系统分离,并通过通用对象请求代理体系结构CORBA(Common Object RequestBroker Architecture)技术提供分布式的处理环境,实现了波形的可移植性。SCA2.2.2版本以前,SCA规范明确规定必须采用CORBA中间件技术作为传输总线,虽然从SCA next开始不明确指定具体的传输机制,将CORBA改为可选项,但与其他可选技术相比,CORBA在成熟度、操作模型、易于实现性等方面均一定的优势,在SCA中的地位仍然无可替代。
对象请求代理ORB(Object Request Broker)是CORBA的核心,规定了分布对象的接口和语言映射,负责对象在分布式环境中透明地收发请求和响应,实现对象间的通信和互操作。在CORBA规范中定义了两个ORB间通信协议(Inter-ORB Protocol),一个是GIOP(通用ORB互通协议,General Inter-ORB Protocol),而另一个是DCE ESIOP(DCE环境中的ORB间通信协议)。
GIOP不是一种具体的协议,并不能直接用于ORB之间的通信,它只是一种协议的抽象,其描述了具体实现协议的要求及特征以适用于GIOP框架。IIOP(网络ORB间互通协议,Internet Inter-ORB Protocol)协议是GIOP的一种具体实现,现有开源和商业CORBA产品几乎都采用的IIOP协议,IIOP协议是目前应用最为广泛的ORB互通协议,几乎所有知名开源或者商业CORBA产品都默认采用的IIOP协议。
以太网最初的定位是大量PC机或是工作站互联,而软件无线电是基于嵌入式式环境,相对于以太网的协议处理开销大,高带宽带来的高成本,RapidIO拥有更高的小包传输效率,灵活的拓扑结构,更高的系统健壮性、更高效率的流控机制、更强的错误管理机制以及更低的CPU负载,适用于要求高带宽、高实时性、高可靠性的软件无线电系统的作为互联总线。RapidIO采用三层分级体系结构,逻辑、通用传输层、物理层,其中RapidIO逻辑层位于RapidIO最高层,定义了RapidIO全部协议和包的格式,它们为端点器件发起和完成事务提供必要的信息;RapidIO传输层位于RapidIO中间层,定义了RapidIO地址空间和在端点器件间传输包所需要的路由信息;RapidIO物理层规范在整个RapidIO分层结构的底部,包括器件级接口的细节,如包传输机制、流量控制、电气特性和低级错误管理等功能。
已有的基于RapidIO的CORBA中间件ORB间通信方法为一种名为RIO-IOP的自定义ORB间通信方法,它是在RapidIO之上自定义了RCS(RapidIO协议栈)取代基于TCP/IP的Socket传输机制,并在RCS之上制定了RIO-IOP取代IIOP。基于RIO-IOP的ORB间通信方法,实现了基于RapidIO的ORB间通信,使CORBA能够在RapidIO网络环境中得到应用,但是,该方法有一下不足:
一、SCA的目标就是要集成现有软硬件成果的基础上,通过规范的架构、标准的服务及接口,使得系统更加通用化,而自定义协议使得通用性变差;
二、现有开源和商业CORBA产品几乎都采用的IIOP协议,自定义协议难以适配到现有CORBA产品;
三、CORBA部署的环境都含操作系统,而这些操作系统都带有TCP/IP协议栈,再自定义与TCP/IP协议栈类似的RCS协议栈,不仅浪费宝贵的嵌入式处理器资源,而且还会增加功耗;
四、新开发一套类TCP/IP协议栈和类IIOP协议栈,不仅需要大量的开发成本,同时也需要大量的验证成本。
发明内容
本发明的目的针对上述现有技术存在的不足之处,在于提供一种低投入的基于RapidIO的CORBA中间件ORB间通信方法。
为达到以上目的,本发明提供的一种基于RapidIO的CORBA中间件ORB间通信方法,其特征在于包括如下步骤:
1、基于IIOP协议和操作系统提供的TCP/IP协议栈,通过协议覆盖方式,增加以太网到RapidIO网络的适配层,实现以太网数据包运行于RapidIO网络之上,以太网链路层保持不变,将以太网物理层替换成RapidIO层,并在以太网链路层和RapidIO层之间增加一层适配层;
2、IIOP发送过程:IIOP只需调用套接字Socket接口,通过TCP/IP协议栈和以太网链路层将IIOP数据层层封装,最终成为携带太网帧头、IP头、TCP/UDP头、IIOP数据的以太网帧,适配层实现以太网源MAC地址、目的MAC地址到RapidIO源ID、目的ID的映射,并将映射后的RapidIO源ID、目的ID填入RapidIO头,最后将RapidIO头添加到以太网帧最前面,组合成RapidIO数据格式,通过RapidIO层发送出去。
3、IIOP接收过程:RapidIO层接收到携带RapidIO头、太网帧头、IP头、TCP/UDP头、IIOP数据的RapidIO帧,适配层实现RapidIO源ID、目的ID到以太网源MAC地址、目的MAC地址的映射,并用映射后的太网源MAC地址、目的MAC地址替换当前帧的太网源MAC地址、目的MAC地址,再通过以太网链路层、TCP/IP协议栈层层解包,最终IIOP得到IIOP数据。
本发明相比于现有技术具有如下有益效果:
通用性好。本发明基于成熟的IIOP协议和操作系统提供的TCP/IP协议栈,采用建立在TCP/IP网络之上的IIOP协议,以太网的Socket传输机制,通过协议覆盖方式,增加以太网到RapidIO网络的适配层,实现以太网数据包运行于RapidIO网络之上,从而花最小代价实现了基于RapidIO的ORB间通信,具有良好的通用性。
与现有CORBA产品无缝对接。本发明直接采用标准的IIOP而非自定义的ORB间通信协议,可与现有CORBA产品无缝对接。
节约处理资源。本发明利用操作系统自带的TCP/IP协议栈而非自定义重新再实现一套类TCP/IP协议栈,避免了浪费宝贵的嵌入式处理器资源,同时也避免了增加功耗。
节约成本。本发明采用成熟的IIOP、Socket、TCP/IP、以太网链路层保持不变,避免了新开发一套类TCP/IP协议栈和类IIOP协议栈带来的开发成本和验证成本大幅增加。
附图说明
下面结合附图进一步说明本发明的技术方案,但本发明所保护的内容不局限于以下所述。
图1为本发明的基于RapidIO的CORBA中间件ORB间通信方法协议栈示意图。
具体实施方式
参阅图1。根据本发明包括采用如下步骤:
1、基于IIOP协议和操作系统提供的TCP/IP协议栈,通过协议覆盖方式,增加以太网到RapidIO网络的适配层,实现以太网数据包运行于RapidIO网络之上,以太网链路层保持不变,将以太网物理层替换成RapidIO层,并在以太网链路层和RapidIO层之间增加一层适配层;
2、IIOP发送过程:IIOP只需调用Socket接口,通过TCP/IP协议栈和以太网链路层将IIOP数据层层封装,最终成为携带太网帧头、IP头、TCP/UDP头、IIOP数据的以太网帧,适配层实现以太网源MAC地址、目的MAC地址到RapidIO源ID、目的ID的映射,并将映射后的RapidIO源ID、目的ID填入RapidIO头,最后将RapidIO头添加到以太网帧最前面,组合成RapidIO数据格式,通过RapidIO层发送出去。
3、IIOP接收过程:RapidIO层接收到携带RapidIO头、太网帧头、IP头、TCP/UDP头、IIOP数据的RapidIO帧,适配层实现RapidIO源ID、目的ID到以太网源MAC地址、目的MAC地址的映射,并用映射后的太网源MAC地址、目的MAC地址替换当前帧的太网源MAC地址、目的MAC地址,再通过以太网链路层、TCP/IP协议栈层层解包,最终IIOP得到IIOP数据。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (2)
1.一种基于RapidIO的CORBA中间件ORB间通信方法,其特征在于包括如下步骤:
1、基于IIOP协议和操作系统提供的TCP/IP协议栈,通过协议覆盖方式,增加以太网到RapidIO网络的适配层,实现以太网数据包运行于RapidIO网络之上,以太网链路层保持不变,将以太网物理层替换成RapidIO层,并在以太网链路层和RapidIO层之间增加一层适配层;
2、IIOP发送过程:IIOP只需调用套接字Socket接口,通过TCP/IP协议栈和以太网链路层将IIOP数据层层封装,最终成为携带太网帧头、IP头、TCP/UDP头、IIOP数据的以太网帧,适配层实现以太网源MAC地址、目的MAC地址到RapidIO源ID、目的ID的映射,并将映射后的RapidIO源ID、目的ID填入RapidIO头,最后将RapidIO头添加到以太网帧最前面,组合成RapidIO数据格式,通过RapidIO层发送出去。
2.如权利要求1所述的RapidIO的CORBA中间件ORB间通信方法,其特征在于:RapidIO层接收到携带RapidIO头、太网帧头、IP头、TCP/UDP头、IIOP数据的RapidIO帧,适配层实现RapidIO源ID、目的ID到以太网源MAC地址、目的MAC地址的映射,并用映射后的太网源MAC地址、目的MAC地址替换当前帧的太网源MAC地址、目的MAC地址,再通过以太网链路层、TCP/IP协议栈层层解包,最终IIOP得到IIOP数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011042983.7A CN112199211B (zh) | 2020-09-28 | 2020-09-28 | 基于RapidIO的CORBA中间件ORB间通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011042983.7A CN112199211B (zh) | 2020-09-28 | 2020-09-28 | 基于RapidIO的CORBA中间件ORB间通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112199211A true CN112199211A (zh) | 2021-01-08 |
CN112199211B CN112199211B (zh) | 2023-02-28 |
Family
ID=74006849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011042983.7A Active CN112199211B (zh) | 2020-09-28 | 2020-09-28 | 基于RapidIO的CORBA中间件ORB间通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112199211B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112737867A (zh) * | 2021-02-10 | 2021-04-30 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 集群rio网络管理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060114933A1 (en) * | 2004-12-01 | 2006-06-01 | Sandy Douglas L | Method of transporting an IP packet over a RapidIO network |
CN105162858A (zh) * | 2015-08-20 | 2015-12-16 | 中国人民解放军国防科学技术大学 | 针对corba中间件的通用传输协议框架、通信系统及方法 |
CN105791214A (zh) * | 2014-12-18 | 2016-07-20 | 中兴通讯股份有限公司 | 一种RapidIO报文和以太网报文之间的转换方法和设备 |
-
2020
- 2020-09-28 CN CN202011042983.7A patent/CN112199211B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060114933A1 (en) * | 2004-12-01 | 2006-06-01 | Sandy Douglas L | Method of transporting an IP packet over a RapidIO network |
CN105791214A (zh) * | 2014-12-18 | 2016-07-20 | 中兴通讯股份有限公司 | 一种RapidIO报文和以太网报文之间的转换方法和设备 |
CN105162858A (zh) * | 2015-08-20 | 2015-12-16 | 中国人民解放军国防科学技术大学 | 针对corba中间件的通用传输协议框架、通信系统及方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112737867A (zh) * | 2021-02-10 | 2021-04-30 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 集群rio网络管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112199211B (zh) | 2023-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101409715B (zh) | 一种利用InfiniBand网络进行通信的方法及系统 | |
CN102339234B (zh) | 一种协议栈运行装置和方法 | |
US8176187B2 (en) | Method, system, and program for enabling communication between nodes | |
US9380134B2 (en) | RoCE packet sequence acceleration | |
EP1892929B1 (en) | A method, an apparatus and a system for message transmission | |
US7966380B2 (en) | Method, system, and program for forwarding messages between nodes | |
US9240899B2 (en) | Method for implementing virtual network port and embedded device for implementing virtual network port | |
US10609125B2 (en) | Method and system for transmitting communication data | |
CN112631788B (zh) | 数据传输方法及数据传输服务器 | |
US11902184B2 (en) | Methods and systems for providing a virtualized NVMe over fabric service | |
JP2008510338A (ja) | パケット交換制御用の集積回路及び方法 | |
US11895027B2 (en) | Methods and systems for service distribution using data path state replication and intermediate device mapping | |
CN106534178A (zh) | RapidIO网络通用套接字的实现系统及方法 | |
US20080192741A1 (en) | High Speed Data Processing Communication Method and Apparatus for Embedded System | |
CN112199211B (zh) | 基于RapidIO的CORBA中间件ORB间通信方法 | |
US11593294B2 (en) | Methods and systems for loosely coupled PCIe service proxy over an IP network | |
CN113285839A (zh) | 基于dpdk的可编程数据平面软件交换机的设计方法 | |
CN101030927B (zh) | 基于通信中间件的电信oss子系统间的接口通信方法 | |
US20080056263A1 (en) | Efficient transport layer processing of incoming packets | |
CN101312412A (zh) | 一种基于嵌入式的以太网传输系统 | |
CN103067412A (zh) | 一种GIOP到RapidIO的新协议 | |
Friedley et al. | Scalable high performance message passing over Infiniband for Open MPI | |
CN102065028B (zh) | 一种网关设备以及报文处理方法 | |
US11949589B2 (en) | Methods and systems for service state replication using original data packets | |
CN100472450C (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 |