CN115208838B - 一种报文转发装置、方法及操作系统 - Google Patents

一种报文转发装置、方法及操作系统 Download PDF

Info

Publication number
CN115208838B
CN115208838B CN202211024676.5A CN202211024676A CN115208838B CN 115208838 B CN115208838 B CN 115208838B CN 202211024676 A CN202211024676 A CN 202211024676A CN 115208838 B CN115208838 B CN 115208838B
Authority
CN
China
Prior art keywords
real
message
soft switch
container
time client
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
CN202211024676.5A
Other languages
English (en)
Other versions
CN115208838A (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.)
Kedong Guangzhou Software Technology Co Ltd
Original Assignee
Kedong Guangzhou Software Technology Co Ltd
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 Kedong Guangzhou Software Technology Co Ltd filed Critical Kedong Guangzhou Software Technology Co Ltd
Priority to CN202211024676.5A priority Critical patent/CN115208838B/zh
Publication of CN115208838A publication Critical patent/CN115208838A/zh
Application granted granted Critical
Publication of CN115208838B publication Critical patent/CN115208838B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags

Landscapes

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

Abstract

本发明提供一种报文转发装置、方法及操作系统,在操作系统内部实现若干个用于业务处理的实时客户容器的报文转发,该操作系统运行在具有若干个物理端口的芯片上,所述装置包括:若干个软交换模块、一个网络路由调度器;每个软交换模块连接其对应的实时客户容器、网络路由调度器,用于实现其对应的各实时客户容器之间和其对应的实时客户容器与网络路由调度器之间的报文转发;网络路由调度器还连接芯片的各物理端口,用于实现各软交换模块之间和各所述物理端口与各软交换模块之间的报文转发。本发明的技术方案提高了操作系统的报文交换能力和芯片上运行的实时业务的实时性。

Description

一种报文转发装置、方法及操作系统
技术领域
本发明涉及操作系统领域,尤其涉及一种报文转发装置、方法及操作系统。
背景技术
在嵌入式工业控制领域,现场工业设备的以太网趋势越来越明显,所采用的处理器能力越来越强。芯片制造商逐步推出多核异构的工业SOC(System on Chip)芯片方案,操作系统也随着硬件能力的提升而逐步设计异构的操作系统,采用异构的软硬件方案可以灵活的部署现场业务。
在实际的使用过程中,不仅要充分利用SOC芯片的硬件资源,还要满足业务实时性的需求。虽然SOC芯片在CPU、内存及计算方面能力很强,但SOC芯片的物理端口往往受限,成为芯片的数据交换的瓶颈,需要从操作系统层面去弥补,以满足对实时性要求高的工业控制领域的需求。
现有的技术方案在SOC芯片外面外接交换机,弥补SOC芯片的物理端口受限,但是实施成本高,且影响了芯片上业务的实时性。
发明内容
有鉴于此,本发明实施例提供了一种报文转发装置、方法及操作系统的各实施例,在操作系统内部实现若干个用于业务处理的实时客户容器的报文转发,所述操作系统运行在具有若干个物理端口的芯片上,通过若干个与实时客户容器一一对应的软交换模块和一个网络路由调度器实现实时客户容器与芯片的物理端口之间的数据转发,还实现各实时客户容器之间数据转发,降低了芯片的物理端口受限对芯片的实时业务的影响。在一些实施例中,还增加与实时客户容器一一对应的逻辑网络进一步提高实时客户容器数据转发的实时性,还通过地址映射模块实现操作系统内部与外部的安全隔离。本发明实施例的技术方案通过操作系统,提高了芯片内部的报文交换能力,降低了在芯片物理端口受限对芯片的实时业务的影响,相对于通过外接交换机的现有方案,本发明实施例的技术方案成本低,且提高芯片上运行的实时业务的实时性。
第一方面,本发明实施例提供了一种报文转发装置,在操作系统内部实现若干个用于业务处理的实时客户容器的报文转发,所述操作系统运行在具有若干个物理端口的芯片上,所述装置包括:若干个与实时客户容器一一对应的软交换模块、一个网络路由调度器;每个软交换模块连接其对应的实时客户容器、网络路由调度器,用于实现其对应的各实时客户容器之间和其对应的实时客户容器与网络路由调度器之间的报文转发;网络路由调度器还连接所述芯片的各物理端口,用于实现各软交换模块之间和各所述物理端口与各软交换模块之间的报文转发。在一些实施例中,所述芯片为SOC芯片。
由上,通过在操作系统内部设置软交换模块和网络路由调度器,实现操作系统内部各实时客户容器之间、各实时客户容器与芯片物理端口之间和芯片物理端口之间的报文交互,提高了操作系统的报文交换能力,降低了在芯片物理端口受限对芯片的实时业务的影响,相对于通过外接交换机的现有方案,本发明实施例的技术方案成本低,且提高芯片上运行的实时业务的实时性。
在第一方面的一种可能实施方式中,还包括与每个实时客户容器一一对应的逻辑网络,一个实时客户容器的逻辑网络用于连接该实时客户容器与其对应的软交换模块。
由上,通过每个实时客户容器的逻辑网络连接对应的软交换模块,实现每个实时客户容器具有独享的网络协议栈,实现实时客户容器之间、实时客户容器与实时服务容器之间的网络环境隔离,并提高报文交互的实时性。
在第一方面的一种可能实施方式中,还包括若干个地址映射模块,用于实现报文的源地址和目的地址在操作系统的内部地址和外部地址之间转换;每个地址映射模块对应一个所述物理端口。
由上,通过地址映射模块实现操作系统内部地址与外部地址的隔离,提高报文的安全性。
在第一方面的一种可能实施方式中,还包括:实时服务容器,各软交换模块、各地址映射模块和网络路由调度器位于实时服务容器内部。实时服务容器还用于初始化所述物理端口,至少包括:初始化所述物理端口的驱动、安装所述物理端口的中断、注册所述物理端口的接口回调及网络设备驱动到实时服务容器。
由上,实时服务容器初始化芯片的物理端口,使芯片的物理端口可与转发装置之间进行报文交互。
在第一方面的一种可能实施方式中,网络路由调度器还用于激活所述物理端口,该激活过程至少包括:匹配所述物理端口的网络设备驱动、分配所述物理端口的MAC地址、设置所述物理端口的IP地址和启动所述物理端口的网络设备。
由上,通过网络路由调度器激活芯片的物理端口,使芯片的物理端口可与网络路由调度器进行报文交互。
在第一方面的一种可能实施方式中,每个软交换模块还用于根据到达报文维护其端口MAC地址表项。
由上,软交换模块根据到达报文维护其端口MAC地址表项,提高了软交换模块的交换能力。
在第一方面的一种可能实施方式中,网络路由调度器还用于根据收到的ARP应答类型的报文维护其ARP表项。
由上,网络路由调度器根据收到的ARP应答类型的报文维护其ARP表项。提高了网络路由调度器的调度能力。
第二方面,本发明实施例提供了一种报文转发方法,运行在第一方面任一实施方式所述装置上,包括:在所述装置的一个软交换模块对应的两个实时客户容器之间进行报文交互,通过该软交换模块进行报文转发;在所述装置的两个不同软交换模块对应的实时客户容器之间报文交互时,通过该两个不同软交换模块和所述装置的网络路由调度器进行报文转发;在所述芯片的物理端口与所述装置的实时客户容器之间进行报文交互时,通过所述装置的网络路由调度器和该实时客户容器对应的软交换模块进行报文转发。在一些实施例中,所述芯片为SOC芯片。
由上,通过在操作系统内部设置软交换模块和网络路由调度器,实现操作系统内部各实时客户容器之间、各实时客户容器与芯片物理端口之间和芯片物理端口之间的报文交互,提高了操作系统的报文交换能力,降低了在芯片物理端口受限对芯片的实时业务的影响,相对于通过外接交换机的现有方案,本发明实施例的技术方案成本低,且提高芯片上运行的实时业务的实时性。
在第二方面的一种可能实施方式中,还包括:所述装置的实时客户容器通过其逻辑网络收发对应的软交换模块的报文,其中,所述装置的一个实时客户容器的逻辑网络连接该实时客户容器与其对应的软交换模块。
由上,通过每个实时客户容器的逻辑网络连接对应的软交换模块,实现每个实时客户容器具有独享的网络协议栈,实现实时客户容器之间、实时客户容器与实时服务容器之间的网络环境隔离,并提高报文交互的实时性。
在第二方面的一种可能实施方式中,还包括:当接收到所述装置的一个物理端口的报文时该物理端口的对应的地址映射模块把该报文中的源地址和目的地址转换为在实时服务容器内对应的内部地址;当向所述装置的一个物理端口发送报文时该物理端口的对应的地址映射模块把该报文中的源地址和目的地址转换为对应的外部地址。
由上,通过地址映射模块实现实时服务容器内部地址的隔离,即芯片内部与外部地址的隔离,提高报文的安全性。
在第二方面的一种可能实施方式中,还包括:各软交换模块、各地址映射模块和网络路由调度器位于实时服务容器内部,实时服务容器初始化所述物理端口,该初始化至少包括:初始化所述物理端口的驱动、安装所述物理端口的中断、注册所述物理端口的接口回调及网络设备驱动到实时服务容器。
由上,实时服务容器初始化芯片的物理端口,使芯片的物理端口可与转发装置之间进行报文交互。
在第二方面的一种可能实施方式中,还包括:网络路由调度器激活所述芯片的物理端口,该激活过程至少包括:匹配所述物理端口的网络设备驱动、分配所述物理端口的MAC地址、设置所述物理端口的IP地址和启动所述物理端口的网络设备。
由上,通过网络路由调度器激活芯片的物理端口,使芯片的物理端口可与网络路由调度器进行报文交互。
在第二方面的一种可能实施方式中,还包括:每个软交换模块根据到达报文维护其端口MAC地址表项。
由上,软交换模块根据到达报文维护其端口MAC地址表项,提高了软交换模块的交换能力。
在第二方面的一种可能实施方式中,还包括:网络路由调度器根据收到的ARP应答类型的报文维护其ARP表项。
由上,网络路由调度器根据收到的ARP应答类型的报文维护其ARP表项。提高了网络路由调度器的调度能力。
第三方面,本发明实施例提供了一种操作系统,包括:第一方面任一所述装置。
第四方面,本发明实施例提供了一种计算设备,包括:芯片和通信接口,所述芯片执行第二方面任一所述实施方式,所述通信接口实现所述芯片的物理端口与外部通信。
第五方面,本发明实施例提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令在芯片上执行时使得所述芯片执行第二方面任一所述实施方式。
附图说明
图1A为本发明的各实施例应用场景的结构示意图;
图1B为本发明的一种报文转发装置实施例一的结构示意图;
图2为本发明的一种报文转发装置实施例二的结构示意图;
图3为本发明的一种报文转发方法实施例一的转发路径示意图;
图4为本发明的一种报文转发方法实施例二的流程示意图;
图5为本发明的一种报文转发方法实施例二的转发装置创建的流程示意图;
图6为本发明的一种计算设备的结构示意图。
具体实施方式
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三等”或模块A、模块B、模块C等,仅用于区别类似的对象,或用于区别不同的实施例,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
在以下的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
本发明实施例提供了一种报文转发装置、方法及操作系统的各实施例,在操作系统内部实现若干个用于业务处理的实时客户容器的报文转发,所述操作系统运行在具有若干个物理端口的芯片上,通过若干个与实时客户容器一一对应的软交换模块和一个网络路由调度器实现实时客户容器与芯片的物理端口之间的数据转发,还实现各实时客户容器之间数据转发,降低了芯片的物理端口受限对芯片的实时业务的影响。在一些实施例中,还增加与实时客户容器一一对应的逻辑网络进一步提高实时客户容器数据转发的实时性,还通过地址映射模块实现操作系统内部与外部的安全隔离。本发明实施例的技术方案通过操作系统,提高了芯片内部的报文交换能力,降低了在芯片物理端口受限对芯片的实时业务的影响,相对于通过外接交换机的现有方案,本发明实施例的技术方案成本低,且提高芯片上运行的实时业务的实时性。
下面先介绍图1A示出的本发明的实施例的使用场景,其包括芯片、操作系统,芯片上具有若干个物理端口,操作系统中运行若干个实时客户容器和微内核,实时客户容器用于处理实际业务。本发明的实施例通过操作系统实现各实时客户容器之间和各实时客户容器与芯片的各物理端口之间的报文交互。
下面根据图1B和图2介绍本发明的报文转发装置实施例。
一种报文转发装置实施例一在操作系统内部实现若干个用于业务处理的实时客户容器的报文转发,所述操作系统运行在具有若干个物理端口的芯片上,通过若干个与实时客户容器一一对应的软交换模块和一个网络路由调度器实现实时客户容器与芯片的物理端口之间的数据转发,还实现各实时客户容器之间数据转发,降低了芯片的物理端口受限对芯片的实时业务的影响。
下面以图1B为例介绍了一种报文转发装置实施例一。
图1B示出了一种报文转发装置实施例一的结构,其包括:操作系统10和芯片100,操作系统10包括实时客户容器401、实时客户容器402、实时客户容器403和实时客户容器404、软交换模块311、软交换模块312、网络路由调度器320和微内核200。
微内核200对芯片100的资源进行虚拟化。各实时客户容器用于运行实际业务。其中,芯片100为SOC芯片,当SOC芯片本身硬件资源不足时,还可以增加内存和外设,微内核200也对外接内存和外设进行虚拟化。
示例地,图1B中以芯片具有2个物理端口为例,实际场景中,芯片具有多个物理端口。
实时客户容器401、实时客户容器402、实时客户容器403和实时客户容器404运行在微内核200上,微内核200为各实时客户容器分配虚拟资源。
示例地,图1B中以4个实时客户容器为例,实际场景可以根据业务需求部署多个实时客户容器,部署方便灵活。
在一些实施例中,软交换模块311、软交换模块312、网络路由调度器320在一个容器或多个容器中,通过该一个容器或多个容器运行在微内核200上。与各实时客户容器对比,该一个容器或多个容器对微内核200中虚拟化资源具有更高的特权级别。
在另一些实施例中,软交换模块311、软交换模块312、网络路由调度器320运行在微内核200内部。
软交换模块311连接其对应的实时客户容器401和实时客户容器402,还用于实时客户容器401和实时客户容器401之间报文转发;软交换模块311还连接网络路由调度器320,用于实时客户容器401和实时客户容器402与网络路由调度器320之间报文转发。
软交换模块312连接其对应的实时客户容器403和实时客户容器404,用于实时客户容器403和实时客户容器404之间报文转发;软交换模块312还连接网络路由调度器320,用于实时客户容器403和实时客户容器404与网络路由调度器320之间报文转发。
在一些实施例中,软交换模块311通过一个逻辑网络连接实时客户容器401和实时客户容器402,软交换模块312通过另一个逻辑网络连接实时客户容器403和实时客户容器404;在另一些实施例中,实时客户容器401和实时客户容器402分别通过各自的逻辑网络连接软交换模块311,实时客户容器403和实时客户容器404也分别通过各自的逻辑网络连接软交换模块312。
网络路由调度器320连接软交换模块311和交换模块312,还通过微内核连接芯片的物理端口101和物理端口102。
网络路由调度器320用于软交换模块311和软交换模块312与物理端口101和物理端口102(以太网端口,也称为eth 101和eth 102)之间的报文转发,还用于与软交换模块311和软交换模块312之间报文转发。
示例地,图1B中以两个软交换模块为例,每个软交换模块连接2个实时客户容器,实际场景中可以运行多个软交换模块,网络路由调度器320连接该多个软交换模块,每个软交换模块可以连接多个实时客户容器。
示例地,图1B中以芯片具有2个物理端口为例,实际场景中,芯片具有多个物理端口,网络路由调度器320连接该多个物理端口。
由上,通过网络路由调度器320、软交换模块311和软交换模块312实现实时客户容器401和实时客户容器402与实时客户容器403和实时客户容器404之间的数据转发;通过网络路由调度器320和软交换模块311实现实时客户容器401和实时客户容器402与物理端口101和物理端口102之间的数据转发;通过网络路由调度器320和软交换模块312实现实时客户容器403和实时客户容器403与物理端口101和物理端口102之间的数据转发。
在一些实施例中,网络路由调度器320还用于物理端口101和物理端口102之间报文转发。
综上,一种报文转发装置实施例一在操作系统内部,通过若干个与实时客户容器一一对应的软交换模块和一个网络路由调度器,实现实时客户容器与芯片的物理端口之间的数据转发,还实现各实时客户容器之间数据转发,降低了芯片的物理端口受限对芯片的实时业务的影响。本发明实施例的技术方案成本低,且提高了对芯片上运行的实时业务的时效性满足程度。
一种报文转发装置实施例二在一种报文转发装置实施例一的基础上,把网络路由调度器和各软交换模块封装在一个实时服务容器内,并为每个实时客户容器创建一个专属的逻辑网络,各实时容器通过各自逻辑网络连接对应的软交换模块,实现各实时容器的网络协议栈资源的隔离,还增加地址映射模块以实现操作系统的内部地址与外部地址之间转换,实现操作系统的地址与芯片外部地址隔离。一种报文转发装置实施例二通过每个实时客户容器专属的逻辑网络进一步提高了操作系统的报文交换能力和芯片上运行的实时业务的时效性满足程度,同时与地址交换模块一起实现一种报文转发装置实施例实时业务与外部的安全隔离。
图2示出了一种报文转发装置实施例二的结构,其在图1B的一种报文转发装置实施例一的结构上,增加了逻辑网路411、逻辑网路412、逻辑网路413和逻辑网路414,各软交换模块和网络路由调度器320位于实时服务容器300中,实时服务容器300还增加了地址映射模块331和地址映射模块332。实时服务容器300运行在微内核200上,相对于各实时客户容器,实时服务容器300对微内核200内部的资源具有更高的权限。
逻辑网路411和逻辑网路412分别用于实时客户容器401和实时客户容器402与软交换模块311之间连接,逻辑网路413和逻辑网路413分别用于实时客户容器403和实时客户容器404与软交换模块312之间连接。
示例地,图2中以逻辑网路411、逻辑网路412、逻辑网路413和逻辑网路414这4个逻辑网络为例,实际场景中可以为每个实时客户容器创建一个专属的逻辑网络连接对应的软交换模块。
由上,通过每个实时客户容器的逻辑网络连接对应的软交换模块,实现每个实时客户容器具有独享的网络协议栈,实现实时客户容器之间、实时客户容器与实时服务容器之间的网络环境隔离,并提高报文交互的实时性。
地址映射模块331用于对物理端口101收发的报文的目的地址和源地址进行实时服务容器300的内外部地址转换,地址映射模块332用于对物理端口102收发的报文的目的地址和源地址进行实时服务容器300的内外部地址转换。
示例地,图2中以地址映射模块331和地址映射模块332这两个地址映射模块为例,实际场景中可以为每个物理端口设置一个地址映射模块。
由上,通过地址映射模块实现实时服务容器内部地址的隔离,即操作系统内部与外部地址的隔离,提高报文的安全性。
在本实施例中,每个软交换模块还用于根据到达报文维护其端口MAC地址表项。
具体地,以软交换模块311为例,当软交换模块311从一个端口收到一个报文时,不仅对报文进行转发还利用报文维护其端口的MAC地址表项。
具体地,当软交换模块311从一个端口收到一个报文时,识别解析该报文的目的MAC地址并查找MAC地址表项,如果报文的目的MAC地址和该端口的MAC地址一样,则不进行数据转发处理,否则,当该报文的源MAC地址不在MAC地址表项中,则插入一条新的MAC地址以及对应的该端口号,并根据报文的目的MAC地址进行数据转发。
具体地,当软交换模块311从一个端口收到一个报文时,还把该报文中MAC地址和该端口对应起来,当该对应关系不在软交换模块311的MAC地址表项里,则把该对应关系加到软交换模块311的端口MAC地址表项里。软交换模块311至少包括:实时客户容器401和实时客户容器402接入的端口以及网络路由调度器320接入的端口。
在本实施例中,网络路由调度器320还用于对请求类型的ARP报文进行应答或转发,还根据收到的ARP应答类型的报文维护其端口的MAC地址表项。
具体地,当网络路由调度器320收到一个ARP报文,如果ARP报文类型为请求码且识别到IP地址是本机端口地址,则返回ARP应答报文;如果ARP报文类型为请求码且识别到IP地址不是本机端口地址,则根据该IP地址进行数据转发;如果ARP报文类型为应答类型,则根据该ARP报文维护其ARP表项把其中否则对该报文进行学习、更新ARP表项。
在本实施例中,实时服务容器300还用于初始化各物理端口,至少包括初始化各物理端口的驱动、安装其中断、注册其接口回调及网络设备驱动。
在本实施例中,网络路由调度器320还用于激活物理端口,该激活过程至少包括:匹配物理端口的网络设备驱动、分配其MAC地址、设置其IP地址和启动其网络设备。
综上,一种报文转发装置实施例二在一种报文转发装置实施例一的基础上,实时服务容器为每个实时客户容器创建一个专属的逻辑网络,各实时容器通过各自逻辑网络连接对应的软交换模块,还增加地址映射模块实现实时服务容器的内部地址与外部地址之间转换,实现芯片内部的地址与芯片外部地址隔离。一种报文转发装置实施例二通过每个实时客户容器专属的逻辑网络进一步提高了操作系统的报文交换能力和对芯片上运行的实时业务的时效性满足程度,同时与地址交换模块一起实现操作系统内部各实时业务与外部的安全隔离。
下面根据图3和图5介绍本发明的一种报文转发方法实施例。
一种报文转发方法实施例一使用一种报文转发装置实施例一进行报文转发,实现实时客户容器之间、物理端口与实时客户容器之间和物理端口之间报文转发,降低物理端口受限的影响,提高了对芯片上运行的实时业务的实时性。
一种报文转发方法实施例方法实施例一实现以下各种场景的报文转发:同一个软交换模块对应的实时客户容器之间、不同软交换模块对应的实时客户容器之间、物理端口与实时客户容器之间,不同物理端口之间。
下面根据图3介绍一种芯片的报文转发方法实施例一的各种场景下的报文转发的路径。
1)一个软交换模块对应的实时客户容器之间.
在这种场景下,通过实时客户容器对应的软交换模块实现报文转发,图3中以实时客户容器401与实时容器402之间交互报文为例,图中实时客户容器401和实时容器402之间的连接虚线为报文转发路径。
实时客户容器401向实时容器402发送报文时,软交换模块311先从实时客户容器401接收该报文,根据该报文的目的地址直接把该报文交换至实时容器402,实现实时客户容器401向实时容器402发送报文。实时客户容器402向实时容器401发送报文时,方法和路径相同,不再详述。
2)不同软交换模块对应的实时客户容器之间
在这种场景下,通过发送的实时客户容器对应的软交换模块、网络路由调度器和接收的实时客户容器对应的软交换模块实现报文转发,图3以实时客户容器402与实时容器403之间交互报文为例,图中实时客户容器402和实时容器403之间的连接虚线为报文转发路径。
实时客户容器402向实时容器403发送报文时,软交换模块311先从实时客户容器402接收该报文,根据该报文的目的地址把该报文交换至网络路由调度器320,网络路由调度器320再根据该报文的目的地址把该报文调度至软交换模块312,软交换模块312最后根据该报文的目的地址把该报文交换至实时容器403。实时客户容器403向实时容器402发送报文时,方法和路径相同,不再详述。
3)物理端口与实时客户容器之间
在这种场景下,通过网络路由调度器和实时客户容器对应的软交换模块实现报文转发,图3以实时客户容器404与物理端口102之间报文转发为例,图中实时客户容器404和物理端口102之间的连接虚线为报文转发路径。
当物理端口102向客户容器404发送报文时,网络路由调度器320先从物理端口102接收该报文,根据该报文的目的地址把该报文调度至软交换模块312,软交换模块312再根据该报文的目的地址把该报文交换到客户容器404,以实现物理端口102向客户容器404发送报文。
当客户容器404向物理端口102发送报文时,软交换模块312先从实时客户容器404接收该报文,根据该报文的目的地址把该报文交换至网络路由调度器320,网络路由调度器320再根据该报文的目的地址把该报文调度至物理端口102,以实现客户容器404向物理端口102发送报文。
4)不同物理端口之间
在这种场景下,通过网络路由调度器实现报文转发,图3以物理端口101与物理端口102之间转发报文为例,图中连接物理端口101与物理端口102的虚线为转发路径。
物理端口101向物理端口102发送报文时,网络路由调度器320先从物理端口101接收该报文,根据该报文的目的地址把该报文直接调度至物理端口102,实现物理端口101向物理端口102发送报文。反之,物理端口102向物理端口101发送报文时,方法和路径相同。
一种报文转发方法实施例二使用一种报文转发装置实施例二进行报文转发,通过每个实时客户容器专属的逻辑网络进一步提高了操作系统的报文交换能力,同时通过地址交换模块实现操作系统的实时业务与外部的安全隔离。
一种报文转发方法实施例二以使用图2示出的一种报文转发装置实施例二为例,在进行转发之前先创建转发装置,在报文转发时还自动更新软交换模块的端口MAC地址表项,网络路由调度器的ARP表项。
图4示出了一种报文转发方法实施例二的流程,其包括步骤S510至S540。
S510:实时服务容器300创建转发装置。
图5示出了本步骤中实时服务容器300创建转发装置的详细流程,包括步骤S5110至S5160。
S5110:实时服务容器300创建网络环境,包括逻辑网络创建和初始化物理端口。
其中,实时服务容器300为各实时客户容器分别创建一个专属的逻辑网络,示例地,为实时客户容器401、实时客户容器402、实时客户容器403和实时客户容器404创建逻辑网络411、逻辑网络412和逻辑网络413和逻辑网络414。
其中,实时服务容器300在初始化物理端口时,至少包括初始化芯片100的MAC控制器和各物理端口的网络驱动,创建周期查询定时器和发送超时定时器,安装网络中断,并把网络接口up/down回调、数据转发回调、MAC硬件接口回调和网络设备到实时服务容器300。
S5120:在实时服务容器300中创建各软交换模块,每个软交换模块通过对应的逻辑网络连接对应的实时客户容器。
其中,每个软交换模块的连接关系和工作原理,请参考一种报文转发装置实施例二。
S5130:在实时服务容器300中创建网络路由调度器320,其连接各个软交换模块和物理端口。
其中,网络路由调度器320的连接关系和工作原理,请参考一种报文转发装置实施例二。
S5140:在实时服务容器300中创建各地址映射模块,每个地址映射模块对应于一个物理端口,建立地址映射模块中涉及的内部地址与外部地址对应关系。
其中,地址映射模块的连接关系和工作原理,请参考一种报文转发装置实施例二。
S5150:网络路由调度器320激活各物理端口,该激活过程至少包括:匹配物理端口的网络设备驱动、分配其MAC地址、设置其IP地址和启动其网络设备驱动。
具体地,网络路由调度器320对每个物理端口枚举已注册的网络设备驱动进行匹配,匹配成功则对物理端口分配MAC地址、设置IP地址、启动网络设备驱动,使物理端口处于激活link up状态。
S5160:初始化每个软交换模块的端口MAC表项和网络路由调度器320的ARP表项。
S520:通过各软交换模块和/或网络路由调度器320实现各种场景的报文转发。
具体地,请参考一种报文转发方法实施例一。其中,对物理端口与实时客户容器之间报文转发增加地址映射模块的内部和外部地址转换。
(1)当物理端口101向客户容器401发送报文时,地址映射模块431先把报文的源地址和目的地址从外部地址转换为内部地址后发送至网络路由调度器320,网络路由调度器320根据该报文的目的地址把该报文调度至软交换模块311,软交换模块311再根据该报文的目的地址把该报文交换到客户容器401,以实现物理端口101向客户容器401发送报文。
(2)当客户容器401向物理端口101发送报文时,软交换模块311先从实时客户容器401接收该报文,根据该报文的目的地址把该报文交换至网络路由调度器320,网络路由调度器320再根据该报文的目的地址把该报文调度至物理端口101,在该报文到达物理端口101之前地址映射模块431先把报文的源地址和目的地址从内部地址转换为外部地址,便于外网识别,再发送至物理端口101,以实现客户容器401向物理端口101发送报文。
S530:每个软交换模块根据到达报文维护其端口MAC地址表项。
具体地,以软交换模块311为例,当软交换模块311从一个端口收到一个报文时,不仅对报文进行转发还利用报文维护其端口的MAC地址表项。
具体地,当软交换模块311从一个端口收到一个报文时,识别解析该报文的目的MAC地址并查找MAC地址表项,如果报文的目的MAC地址和该端口的MAC地址一样,则不进行数据转发处理,否则,当该报文的源MAC地址不在MAC地址表项中,则插入一条新的MAC地址以及对应的该端口号,并根据报文的目的MAC地址进行数据转发。
具体地,当软交换模块311从一个端口收到一个报文且时,还把该报文中MAC地址和该端口对应起来,当该对应关系不在软交换模块311的MAC地址表项里,则把该对应关系加到软交换模块311的端口MAC地址表项里。软交换模块311至少包括:实时客户容器401和实时客户容器402接入的端口以及网络路由调度器320接入的端口。
S540:网络路由调度器320根据收到的ARP应答类型的报文维护其ARP表项。
具体地,当网络路由调度器320收到一个ARP报文,如果ARP报文类型为请求码且识别到IP地址是本机端口地址,则返回ARP应答报文;如果ARP报文类型为请求码且识别到IP地址不是本机端口地址,则根据该IP地址进行数据转发;如果ARP报文类型为应答类型,则根据该ARP报文维护其ARP表项把其中否则对该报文进行学习、更新ARP表项。
需要强调的是,步骤S520、S530和S540是并行进行,也可以以任何顺序串行进行。
本发明实施例提供了一种操作系统,包括:一种报文转发装置实施例一所述装置或一种报文转发装置实施例二所述装置。
本发明实施例还提供了一种计算设备,下面结合图6详细介绍。
该计算设备600包括,芯片610和若干个通信接口620
应理解,芯片610中执行一种报文转发方法实施例一所述方法或一种报文转发方法实施例二所述方法。
应理解,该图所示的计算设备600中的通信接口620可以实现芯片610的各个物理端口与其他设备之间的通消息。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序执行一种报文转发方法实施例一所述方法或一种报文转发方法实施例二所述方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括,具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,均属于本发明保护范畴。

Claims (10)

1.一种报文转发装置,其特征在于,在操作系统内部实现若干个用于业务处理的实时客户容器的报文转发,所述操作系统运行在具有若干个物理端口的芯片上,所述装置包括:若干个与实时客户容器一一对应的软交换模块、一个网络路由调度器;
每个软交换模块连接其对应的实时客户容器、网络路由调度器,用于实现其对应的各实时客户容器之间和其对应的实时客户容器与网络路由调度器之间的报文转发;
网络路由调度器还连接所述芯片的各物理端口,用于实现各软交换模块之间和各所述物理端口与各软交换模块之间的报文转发;
在所述装置的一个软交换模块对应的两个实时客户容器之间进行报文交互,通过该软交换模块进行报文转发;
在所述装置的两个不同软交换模块对应的实时客户容器之间报文交互时,通过该两个不同软交换模块和所述装置的网络路由调度器进行报文转发;
在所述芯片的物理端口与所述装置的实时客户容器之间进行报文交互时,通过所述装置的网络路由调度器和该实时客户容器对应的软交换模块进行报文转发。
2.根据权利要求1所述装置,其特征在于,还包括:与实时客户容器一一对应的逻辑网络,用于连接各实时客户容器与相应的软交换模块。
3.根据权利要求1所述装置,其特征在于,还包括若干个地址映射模块,用于实现报文的源地址和目的地址在所述操作系统的内部地址和外部地址之间转换;
每个地址映射模块对应一个所述物理端口。
4.根据权利要求1所述装置,其特征在于,还包括:实时服务容器,各软交换模块、各地址映射模块和网络路由调度器位于实时服务容器内部。
5.根据权利要求4所述装置,其特征在于,实时服务容器还用于初始化所述物理端口,至少包括下列之一:初始化所述物理端口的驱动、安装所述物理端口的中断、注册所述物理端口的接口回调及网络设备驱动到实时服务容器。
6.根据权利要求1所述装置,其特征在于,网络路由调度器还用于激活所述物理端口,该激活过程至少包括下列之一:匹配所述物理端口的网络设备驱动、分配所述物理端口的MAC地址、设置所述物理端口的IP地址和启动所述物理端口的网络设备;和/或
网络路由调度器还用于根据收到的ARP应答类型的报文维护其ARP表项。
7.根据权利要求1所述装置,其特征在于,每个软交换模块还用于根据到达报文维护其端口MAC地址表项。
8.一种报文转发方法,其特征在于,运行在权利要求1至7任一所述装置上,包括:
在所述装置的一个软交换模块对应的两个实时客户容器之间进行报文交互,通过该软交换模块进行报文转发;
在所述装置的两个不同软交换模块对应的实时客户容器之间报文交互时,通过该两个不同软交换模块和所述装置的网络路由调度器进行报文转发;
在所述芯片的物理端口与所述装置的实时客户容器之间进行报文交互时,通过所述装置的网络路由调度器和该实时客户容器对应的软交换模块进行报文转发。
9.根据权利要求8所述方法,其特征在于,还包括:所述装置的实时客户容器通过其逻辑网络收发对应的软交换模块的报文,其中,所述装置的一个实时客户容器的逻辑网络连接该实时客户容器与其对应的软交换模块。
10.一种操作系统,其特征在于,包括:权利要求1至7任一所述装置。
CN202211024676.5A 2022-08-25 2022-08-25 一种报文转发装置、方法及操作系统 Active CN115208838B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211024676.5A CN115208838B (zh) 2022-08-25 2022-08-25 一种报文转发装置、方法及操作系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211024676.5A CN115208838B (zh) 2022-08-25 2022-08-25 一种报文转发装置、方法及操作系统

Publications (2)

Publication Number Publication Date
CN115208838A CN115208838A (zh) 2022-10-18
CN115208838B true CN115208838B (zh) 2023-05-05

Family

ID=83571755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211024676.5A Active CN115208838B (zh) 2022-08-25 2022-08-25 一种报文转发装置、方法及操作系统

Country Status (1)

Country Link
CN (1) CN115208838B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112615778A (zh) * 2020-11-06 2021-04-06 北京东土军悦科技有限公司 报文转发方法、装置、路由器、存储介质及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105591867B (zh) * 2015-07-01 2019-01-08 新华三技术有限公司 Ict融合设备和ict融合方法
US9948577B2 (en) * 2015-09-30 2018-04-17 Nicira, Inc. IP aliases in logical networks with hardware switches
CN111556136B (zh) * 2020-04-26 2022-08-30 全球能源互联网研究院有限公司 一种电力边缘物联代理内部容器间的数据交互方法
CN113765799A (zh) * 2020-06-05 2021-12-07 中兴通讯股份有限公司 容器报文发送和接收的方法及存储介质、容器通信系统
CN112532526B (zh) * 2020-11-30 2022-05-17 迈普通信技术股份有限公司 数据转发方法、装置及网络设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112615778A (zh) * 2020-11-06 2021-04-06 北京东土军悦科技有限公司 报文转发方法、装置、路由器、存储介质及系统

Also Published As

Publication number Publication date
CN115208838A (zh) 2022-10-18

Similar Documents

Publication Publication Date Title
US9413554B2 (en) Virtual network overlays
US11645104B2 (en) Intelligent data plane acceleration by offloading to distributed smart network interfaces
US7634608B2 (en) Bridging network components
CN111131037B (zh) 基于虚拟网关的数据传输方法、装置、介质与电子设备
CN103384551B (zh) 一种基于pcie网络的虚拟机通信方法、服务器及系统
US10872056B2 (en) Remote memory access using memory mapped addressing among multiple compute nodes
US20100274876A1 (en) Network interface device with memory management capabilities
WO2021226948A1 (zh) 基于开放虚拟软交换机ovs的数据包处理方法及设备
WO2018111509A1 (en) Network semantics integrated into central processing unit (cpu) chipset
CN103733574A (zh) 虚拟化与非虚拟化网络之间的虚拟化网关
US20140279885A1 (en) Data replication for a virtual networking system
US6742075B1 (en) Arrangement for instigating work in a channel adapter based on received address information and stored context information
US8468551B2 (en) Hypervisor-based data transfer
CN111294293B (zh) 一种基于用户态协议栈的网络隔离方法和装置
CN113676564B (zh) 数据传输方法、装置及存储介质
CN115208838B (zh) 一种报文转发装置、方法及操作系统
CN109698845B (zh) 数据传输的方法、服务器、卸载卡及存储介质
EP3605346A1 (en) Control device, control system, control method and program
US11652666B2 (en) Methods for identifying a source location in a service chaining topology
CN111294316B (zh) 基于用户态协议栈虚拟路由器的网络隔离方法和装置
EP3369217B1 (en) Multiple gateway operation on single operating system
CN110868364A (zh) 一种带宽隔离装置及方法
CN115408127B (zh) 一种type1型操作系统中任务分担的装置与方法
CN105874757A (zh) 一种数据处理方法及多核处理器系统
US20230060132A1 (en) Coordinating data packet processing between kernel space and user space

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