CN101330390A - 基于多核网络处理器的慢速路径、快速路径及其接口设计方法 - Google Patents

基于多核网络处理器的慢速路径、快速路径及其接口设计方法 Download PDF

Info

Publication number
CN101330390A
CN101330390A CNA2008100470406A CN200810047040A CN101330390A CN 101330390 A CN101330390 A CN 101330390A CN A2008100470406 A CNA2008100470406 A CN A2008100470406A CN 200810047040 A CN200810047040 A CN 200810047040A CN 101330390 A CN101330390 A CN 101330390A
Authority
CN
China
Prior art keywords
path
fast path
interface
packet
slow
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
Application number
CNA2008100470406A
Other languages
English (en)
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.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
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 Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CNA2008100470406A priority Critical patent/CN101330390A/zh
Publication of CN101330390A publication Critical patent/CN101330390A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于多核网络处理器的慢速路径、快速路径及其接口设计方法,其方法是:构建多平面软件架构:包括控制平面、数据平面、快速路径管理器和缓冲管理器;快速路径与慢速路径的接口设计:包括快速路径虚拟接口、快速路径与缓冲管理器接口、快速路径统计接口。本发明针对多核网络处理器的特性,设计多平面分层的软件架构,提供高效的层2到层7的交换路由能力,同时能够发挥多核网络处理器的高性能的软件架构和接口,对Linux内核中没有的快速路径和慢速路径的划分进行了重新设计,并从控制平面和内核的角度新增了多个通用接口,能够从应用复杂性和高性能需求的角度,对多核网络处理器的应用开发提供先进的支持。

Description

基于多核网络处理器的慢速路径、快速路径及其接口设计方法
技术领域
本发明属于一种多核网络处理器,特别是一种基于多核网络处理器的慢速路径、快速路径及其接口设计方法。
背景技术
多核网络处理器是指在单个封装内集成了更多的执行核,每个执行核是独立的处理器,具有自己的执行集合以及体系结构资源;它基于片上系统平台(SOC),集成多层应用加速和安全处理硬件单元,以及可配置的网络接口。多核网络处理器可以高速处理控制/数据平面、应用感知内容处理、深度包检测、模式匹配和加密加速。它被广泛的设计进了各种网络设备,包括路由器、交换机、应用认知(Application-aware)网关、三网合一(Triple-play)网关、无线局域网(WLAN)、3G接入和聚合设备以及网络存储设备等。在这些环境中,网络正在进化成一个可以提供数据、语音和视频内容的多元混合体;应用传输需要线速处理L3-L7的数据和内容,加密、认证、入侵防护和防病毒等多层安全以及多功能的整合也成为了必须。因此,基于多核网络处理器的软件架构的通用性和高性能成为其广泛应用的核心问题。
现在,基于多核网络处理器的软件架构与实现都变为极为复杂,近年来,国内外学者在多核网络处理器的软件架构方面做了大量的研究,但仍然存在许多尚未解决的问题,特别基于不同多核网络处理器架构上,提供高性能的、面向高层应用设计的研究尚处于初期阶段。
发明内容
本发明的目的是在总结前人研究工作的基础上,对多核网络处理器的分层软件架构、软件抽象层、内核优化、并行多线程设计、应用层平台化进行了系统而深入的研究.着重研究了软件架构的控制平面和数据平面分层结构、快速路径与慢速路径及其接口设计,提出了一个从硬件抽象层到应用管理的完整软件架构,实现对多核网络处理器的性能和功能的完整实现的基于多核网络处理器的慢速路径、快速路径及其接口设计方法。
为了实现上述目的,本发明所采用的方法是:
第一步骤:构建多平面软件架构:包括控制平面、数据平面、快速路径管理器和缓冲管理器,其中:
控制平面:用来控制信令协议和本地数据包;
数据平面:包括慢速路径和快速路径,用来完成数据包的转发;
快速路径管理器:在快速路径的存储结构上存储转发路由,从快速路径中收集例外并向慢速路径传送数据包,同时,从快速路径的存储结构中获取统计信息;
缓冲管理器:控制平面内的公共API,通过与快速路径管理器之间的接口,使快速路径管理器感知到控制平面功能参数的改变;
第二步骤:快速路径与慢速路径的接口设计:
快速路径虚拟接口(FPVI):在软件架构中,将快速路径中通过快速路径虚拟接口(FPVI)进入内核网络栈的数据包定义为两类例外过程。这些例外都将数据包传送到慢速路径;
快速路径与缓冲管理器接口(FPC):缓冲管理器通过Netlink监听到异步Netlink事件,然后通过FPC接口将各种内核服务状态转换传送到快速路径管理器(FPM),而后由FPM对快速路径中的处理过程进行同步更新状态;
快速路径统计接口(FPS):是内核收集物理或逻辑接口统计信息与MIB(管理信息数据库)的接口,FPS利用net_device的get_stats()获得网络设备及其活动的统计结果和信息,这些信息以net_device_stats结构的形式返回,net_device结构中没有指向含有统计数据的net_device_stats结构的指针,统计数据的结构必须被容纳在网络驱动程序的私有数据空间中,并由驱动程序方法get_stats()调用。
本发明针对多核网络处理器的特性,设计多平面分层的软件架构,提供高效的层2到层7的交换路由能力。针对多核网络处理器的硬件和软件特性,在系统软件发面进行架构设计,同时利用对Linux内核方面的研究,开发出能够发挥多核网络处理器的高性能的软件架构和接口,对Linux内核中没有的快速路径和慢速路径的划分进行了重新设计,并从控制平面和内核的角度新增了多个通用接口,能够从应用复杂性和高性能需求的角度,对多核网络处理器的应用开发提供先进的支持。
附图说明
图1为本发明多平面软件构架图。
图2为本发明FPVI基本例外处理过程数据流程图。
图3为本发明本地发送例外处理过程图。
图4为本发明FPC与CM服务消息调动流程图。
图5为本发明CM与FPM之间的消息处理流程图。
具体实施方式
下面结合附图对本发明作进一步的详细描述
本发明基于多核网络处理器,多核系统的软件架构可以分为SMP与AMP两种。对于SMP的软件架构,当核的个数多于8个,系统总体性能的提升比较有限。在目前的网络设备软件架构上,多采用AMP方式提高系统的可扩展性。由一个或多个核上运行实时操作系统,其它的核上运行特定的任务。利用多核网络处理器可以实现数据平面、控制平面、管理平面的分离。本发明中的控制平面用来控制信令协议和本地数据包,仅仅影响有限数量的数据包,不会形成数据包转发的瓶颈,控制平面可以运行在核心处理器上负责生成指导对数据报文进行处理的消息,如网络拓扑变化的时候,控制平面向数据平面下刷路由表;数据平面根据控制平面产生的信息对报文进行处理,主要集中在根据路由信息对数据报文进行转发处理;管理平面负责对系统进行配置管理。根据多核网络处理器的特点,本发明中的数据平面可以运行在多个核上,需要处理的报文可以分发到运行数据平面的核上;同样,运行控制平面的核也可以运行在多个核上,每个核可以进行不同的路由管理。运行在多个核上的数据平面与控制平面,很容易实现路由器的负载分担,从总体上提高性能。
数据平面包括慢速路径和快速路径,用来完成数据包的转发。主要包括两部分:
a、快速路径:一系列运行在硬件或硬件抽象层内的代码,高度优化整体系统性能,快速路径中的数据包不会产生例外过程。它们通过特定的软件或硬件逻辑来实现整个快速转发过程。
b、慢速路径:数据平面的慢速路径处理大量的快速路径无法处理的复杂的数据包,它处理快速路径产生的大多数例外。
位于多核网络处理上的快速路径管理器,可以从快速路径中收集例外并向慢速路径传送数据包;同时,从快速路径的存储结构中获取统计信息。对于不同的快速路径管理器,利用3种API来集成并支持快速路径管理器的功能:
a)FPC接口从缓冲管理器获取各种状态和条目。
b)FPVI接口用来在快速路径与慢速路径之间获取或发送数据包,每一个物理端口的逻辑接口都有一个逻辑FPVI接口。
c)FPS接口将快速路径与慢速路径中的统计信息进行整合。
控制平面内缓冲管理器通过与快速路径管理器之间的接口,使快速路径管理器感知到控制平面功能参数的改变。
本发明的具体方法是:
多平面软件架构:控制平面、数据平面;慢速路径、快速路径。
多平面软件架构定义了两个实体来实现网络功能
1)控制平面:用来控制信令协议和本地数据包,例如OSPF、BGP、SSH、等等。这些复杂协议仅仅影响有限数量的数据包,不会形成数据包转发的瓶颈,控制平面可以运行在核心处理器上,例如xcale、PowerPC和X86等等;
2)数据平面:包括慢速路径和快速路径,用来完成数据包的转发。主要包括两部分:
a、快速路径:数据平面的快速路径处理大多数的数据包,负责确定数据包转发。在当前的架构中,快速路径转发是一系列运行在硬件或硬件抽象层内的代码,高度优化整体系统性能,快速路径中的数据包,不会脱离快速路径的处理过程,也就意味着不会产生例外过程。快速路径的接受和发送数据包的过程,是最高性能的,处理过程中需要很少的指令,它们通过特定的软件或硬件逻辑(包括在ASIC、FPGA、多核网络处理器、网络处理器)来实现整个快速转发过程。
b、慢速路径:数据平面的慢速路径处理大量的快速路径无法处理的复杂的数据包。它处理快速路径产生的大多数例外。其重要的处理包括:ICMP回显请求(echo request)、ARP等等。在大多数系统架构设计中,控制平面和慢速路径运行在核心处理器上(例如:Xcale、PowerPC和x86等等)。
3)快速路径管理器(FPM:Fast Path Manager):也可以称为转发路径管理器,它在快速路径特殊的存储结构上存储转发路由,从快速路径中收集例外并向慢速路径传送数据包;同时,从快速路径的存储结构中获取统计信息。对于不同的快速路径管理器,利用3种API来集成并支持快速路径管理器的功能:
a、FPC接口(快速路径与缓冲管理器之间的接口):FPM通过FPC接口从缓冲管理器(Cache Manager)获取各种状态和条目,例如:不同协议状态机的迁移、PPP状态机、路由条目、防火墙条目等等。
b、FPVI接口(快速路径虚拟接口):用来在快速路径与慢速路径之间获取或发送数据包,快速路径管理器负责将数据包标志分为基本例外状态和本地发送状态,FPVI根据数据包不同的状态,将它们正确的发送到慢速路径对于每一个物理端口的逻辑接口都有一个逻辑FPVI接口。
c、FPS接口(快速路径统计接口):针对网络管理的要求,通过FPS接口将快速路径与慢速路径中的统计信息进行整合。FPS扩展Linux内核的系统调用,使内核上半区的代码和用户空间的程序不需要修改,也不需要重新编译就可以读取各种计数器。
4)缓冲管理器(CM:Cache Manager):控制平面内的公共API,通过与快速路径管理器之间的接口,使快速路径管理器感知到控制平面功能参数的改变。缓冲管理器确保控制平面内的功能实现与不同硬件中的快速路径实现过程独立。它监听本地控制平面功能的参数变化(如ARP、NDP条目,或层三路由表)。通过接口,实现快速路径处理参数与控制平面内功能控制参数的同步。
基于上述软件系统架构的设计中,由于FPC、FPS、FPVI可扩展接口的作用,很容易通过用户空间实现各种新的功能。同时,缓冲管理器监听路由套接字接口,并与快速路径同步,本发明能够在套接字接口的基础上增加新的功能,可以同时控制快速路径中数据包。
快速路径与慢速路径的接口设计:
1、快速路径虚拟接口(FPVI):
在软件架构中,将快速路径中通过快速路径虚拟接口(FPVI)进入内核网络栈的数据包定义为两类例外过程。这些例外都将数据包传送到慢速路径,每类例外过程中的数据包状态定义为:
a、转发状态(缺省):直接产生来自于网络设备的原始数据包的例外处理过程,通过与物理接口关联的FPVI接口,直接将层2数据包传送到内核的input链中,接口不对输入包进行修改(包括原始的以太数据包头、IP包头)。
b、本地传送状态:数据包源之系统本机,并且此数据包要前往另一个系统,数据包通过特殊的FPVI接口被传递到内核的Output链中。
根据数据包的两种状态,它将在快速路径中产生两类例外:
a、基本例外:对于转发状态的数据包,基本例外是缺省的例外处理过程,Fast Path将原始的数据包传递给Slow Path,并停止任何进一步的处理。图2是基本例外处理过程的数据流图
b、本地传送状态例外:对于处于本地传送状态的数据包,使用这个例外处理过程,数据包不是被转发,而是作为解封包过程或协议装换过程来处理。图3是本地发送例外处理过程的数据流图
除了上述的集中例外处理过程外,还有一种特殊的例外,但快速路径丢弃一些垃圾报文时(如一些高数据量的网络攻击产生的报文,攻击者期望将这些垃圾报文的压力传递给内核内的慢速路径,这样可以导致系统崩溃),对于这种情况下产生的例外,定义:
c、丢弃例外:这个例外处理过程,将丢弃垃圾报文,并不通知慢速路径,这样可以在垃圾报文进入慢速路径前,就消除网络攻击对内核的影响。
在处理这些例外时,系统架构中的快速路径需要对数据包做以下的基本的处理过程:
1)转发状态例外处理过程:当一个数据包通过这个例外进程,即作为层2的数据包进入内核IP的input链时,系统将执行解封包的过程,并根据路由表完成数据包的转发;反之,这样的数据包转发过程会执行数据包的封包过程。所有这些处理过程将在慢速路径中发生,当数据包完成了所有处理过程后,将通过FPVI接口将数据包从慢速路径传送到快速路径,通过物理接口完成转发过程。这个处理过程意味着:快速路径必须提供给慢速路径原始的来自与网络设备的数据包。
2)本地传送例外处理过程:当数据包在Fast Path中进行封包后,数据包产生一个例外,而后数据包被传送到慢速路径并提交给内核IP的output链。这个例外处理过程,可以将一些对本地数据包进行层2或层3的计算处理过程,从隧道机制的观念来看,类似一个纯粹的层2处理过程,这种“类似”的处理过程,在进行进一步的隧道封装前几乎对系统的复杂性没有影响,并减少数据包在数据平面内处理的困难程度。
2、快速路径与缓冲管理器接口(FPC)
快速路径与缓冲管理器接口FPC是为了在慢速路径与快速路径中同步状态,在同步状态的同时不中断当前的运行服务。这意味着,通过FPC和缓冲管理器的实现,不需要为了适配不同的快速路径去修改当前使用的daemon进程或内核模块。
为了获得控制平面中各种服务的独立性,本发明对传统的控制平面做以下的扩展。
1)增加一个用户空间的daemon进程:缓冲管理器(CM:cachemanage),它用来从内核或用户空间内的服务中获取状态,这些状态的取得通过Netlink接口。
2)扩展Netlink接口,Netlink类似于BSD中的AF_ROUTE,但又比它的功能强大,Netlink内核通信的应用很多,标准的Linux仅针对基本的层3单播、防火墙和Qos提供了支持,无法对分布的快速路径提供支持,特别是缺少对NAT-PT状态机、多播路由条目、PPP状态等等的支持,而这些都是快速路径运行所必须的。为此,我们的软件架构基于Netlink做了大量的扩展。
图4是一个标准的,运用缓冲管理器和FPC接口的服务消息调用流程。图中的消息由daemon服务或内核模块产生,而后消息传递到内核,内核通过Netlink接口来广播状态,缓冲管理器通过Netlink监听到异步Netlink事件,然后通过FPC接口将各种内核服务状态转换传送到快速路径管理器(FPM),而后由FPM对快速路径中的处理过程进行同步更新状态。
缓冲管理器与快速路径管理器之间的通讯基于Unix套接字接口和异步消息机制,使快速路径管理器得到需要的信息。缓冲管理器既可以作为连接套接字的客户端,也可以作为他的服务器。缓冲管理器由三个模块组成:cmgrd-主守护进程;cmstub-堆栈进程;cmct1-主守护进程的控制进程。当缓冲管理器启动时,它从内核内慢速路径获取各类状态,包括接口状态和路由条目等等,并发送CMD_RESET消息,在收到确认消息ack后发送其他消息指令。当通过Netlink接口和ioct1检测到物理接口时,缓冲管理器将异步更新相关的状态。在运行过程中,缓冲管理器监听netlink事件、Qos配置参数的变化,并将相关消息发送给快速路径管理器,同时它也监听来自于快速路径管理器的回应。当缓冲管理器终止运行时,发送CMD_Flush,并且等待确认消息ack后终止运行。消息的处理流程如图5所示。
3、快速路径统计接口(FPS)
快速路径统计接口(Fast Path Statistics)是内核收集物理或逻辑接口统计信息与MIB(管理信息数据库)的接口。在Linux操作系统的网络架构中,给予软件协议与网络适配器之间的接口是通过网络设备来实现的,Net_device结构是Linux内核中所有网络设备的数据结构,表示了高层协议实例与硬件之间的通用接口。FPS利用net_device的get_stats()获得网络设备及其活动的统计结果和信息。这些信息以net_device_stats结构的形式返回,net_device结构中没有指向含有统计数据的net_device_stats结构的指针,统计数据的结构必须被容纳在网络驱动程序的私有数据空间中,并由驱动程序方法get_stats()调用。
用户空间的应用(例如:SNMP主代理,各种管理工具等等),通过系统调用取得来自与逻辑接口和物理接口的统计信息,这些来自于控制平面的系统调用可以调用net_device的get_stat()方法,然后,FPS接口将来自与快速路径管理器(FPM)的统计信息和来自于慢速路径的统计信息进行合并,并上报给用户空间的各种应用。
FastEthernet和GigabitEthernet物理接口的统计信息由这些接口的MAC驱动来维护,当这两类接口的网络设备向内核注册由收到的net_device结构表示网络设备时,get_stat()函数指针必须指向快速路径管理器的快速路径虚拟接口(FPVI)。内核使用net_device_states数据结构,从快速路径获取网络已成功发送和接收包的总数、收到的错误包数量和传输失败的包数量、丢弃的进入包和发出包的数量。
内核在处理数据包的过程中,同时也维护逻辑接口的统计数据(例如:ISATAP、PPP等等);如果数据包需要快速路径进行处理,那么快速路径也需要维护逻辑接口的统计数据,此时,快速路径管理器必须提供函数p_sc_get_iface_stats,这样内核通过直接的同步函数调用,从快速路径获取逻辑接口的统计数据。快速路径管理器通过register_sc_get_iface_stats在FPS中注册,然后通过逻辑接口的get_stats()收集到快速路径的统计数据,并与慢速路径的统计数据进行合并处理,合并后的统计数据通过get_stats()返回。
综上所述,本发明针对多核网络处理器的特性,多平面分层的软件架构,提供高效的层2到层7的交换路由能力。软件架构定义了几个实体来实现网络功能:
1)控制平面:用来控制信令协议和本地数据包,仅仅影响有限数量的数据包,不会形成数据包转发的瓶颈,控制平面可以运行在核心处理器上。
2)数据平面:包括慢速路径和快速路径,用来完成数据包的转发。主要包括两部分:
a、快速路径:一系列运行在硬件或硬件抽象层内的代码,高度优化整体系统性能,快速路径中的数据包不会产生例外过程。它们通过特定的软件或硬件逻辑来实现整个快速转发过程。
b、慢速路径:数据平面的慢速路径处理大量的快速路径无法处理的复杂的数据包,它处理快速路径产生的大多数例外。
3)快速路径管理器:从快速路径中收集例外并向慢速路径传送数据包;同时,从快速路径的存储结构中获取统计信息。对于不同的快速路径管理器,利用3种API来集成并支持快速路径管理器的功能:
a、FPC接口从缓冲管理器获取各种状态和条目。
b、FPVI接口用来在快速路径与慢速路径之间获取或发送数据包,每一个物理端口的逻辑接口都有一个逻辑FPVI接口。
c、FPS接口将快速路径与慢速路径中的统计信息进行整合。
4)缓冲管理器:控制平面内的公共API,通过与快速路径管理器之间的接口,使快速路径管理器感知到控制平面功能参数的改变。
5)对于多核网络处理器系统的软件架构可以分为SMP与AMP两种。对于SMP的软件架构,当核的个数多于8个,系统总体性能的提升比较有限。在目前的网络设备软件架构上,多采用AMP方式提高系统的可扩展性。由一个或多个核上运行实时操作系统,其它的核上运行特定的任务。利用多核网络处理器可以实现数据平面、控制平面、管理平面的分离。
6)根据多核网络处理器的特点,数据平面可以运行在多个核上,需要处理的报文可以分发到运行数据平面的核上;同样,运行控制平面的核也可以运行在多个核上,每个核可以进行不同的路由管理。运行在多个核上的数据平面与控制平面,很容易实现路由器的负载分担,从总体上提高性能。
7)在慢速路径的设计实现中,方案既可以将数据包的处理过程完全在慢速路径中实现,没有利用任何与快速路径的接口;也可以为了提高性能,利用专利方案定义的接口,采用快速路径的实现方案,无论那一种方案,整个数据包处理过程中控制平面的部分可以完全重用。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (5)

1、一种基于多核网络处理器的慢速路径、快速路径及其接口设计方法,所采用的方法是:
第一步骤:构建多平面软件架构:包括控制平面、数据平面、快速路径管理器和缓冲管理器,其中:
控制平面:用来控制信令协议和本地数据包,仅仅影响有限数量的数据包,不会形成数据包转发的瓶颈,控制平面运行在核心处理器上;
数据平面:包括慢速路径和快速路径,用来完成数据包的转发;
快速路径管理器:从快速路径中收集例外并向慢速路径传送数据包,同时,从快速路径的存储结构中获取统计信息;
缓冲管理器:控制平面内的公共API,通过与快速路径管理器之间的接口,使快速路径管理器感知到控制平面功能参数的改变;
第二步骤:快速路径与慢速路径的接口设计:
快速路径虚拟接口(FPVI):在软件架构中,将快速路径中通过快速路径虚拟接口进入内核网络栈的数据包定义为两类例外过程,这些例外都将数据包传送到慢速路径;
快速路径与缓冲管理器接口(FPC):缓冲管理器通过Netlink监听到异步Netlink事件,然后通过FPC接口将各种内核服务状态转换传送到快速路径管理器(FPM),而后由FPM对快速路径中的处理过程进行同步更新状态;
快速路径统计接口(FPS):是内核收集物理或逻辑接口统计信息与MIB的接口,FPS利用net_device的get_stats()获得网络设备及其活动的统计结果和信息,这些信息以net_device_stats结构的形式返回,net_device结构中没有指向含有统计数据的net_device_stats结构的指针,统计数据的结构必须被容纳在网络驱动程序的私有数据空间中,并由驱动程序方法get_stats()调用。
2、如权利要求1所述的基于多核网络处理器的慢速路径、快速路径及其接口设计方法,其特征在于:慢速路径和快速路径是:
快速路径:一系列运行在硬件或硬件抽象层内的代码,高度优化整体系统性能,快速路径中的数据包不会产生例外过程,它们通过软件或硬件逻辑来实现整个快速转发过程;
慢速路径:数据平面的慢速路径处理大量的快速路径无法处理的复杂的数据包,它处理快速路径产生的大多数例外。
3、如权利要求1所述的基于多核网络处理器的慢速路径、快速路径及其接口设计方法,其特征在于:对于不同的快速路径管理器,利用3种API来集成并支持快速路径管理器的功能:
a、FPC接口从缓冲管理器获取各种状态和条目;
b、FPVI接口用来在快速路径与慢速路径之间获取或发送数据包,每一个物理端口的逻辑接口都有一个逻辑FPVI接口;
c、FPS接口将快速路径与慢速路径中的统计信息进行整合。
4、如权利要求1所述的基于多核网络处理器的慢速路径、快速路径及其接口设计方法,其特征在于:第二步骤中定义为两类例外过程是:
每类例外过程中的数据包状态定义为:
a、转发状态:直接产生来自于网络设备的原始数据包的例外处理过程,通过与物理接口关联的FPVI接口,直接将层2数据包传送到内核的input链中,接口不对输入包进行修改(包括原始的以太数据包头、IP包头);
b、本地传送状态:数据包源之系统本机,并且此数据包要前往另一个系统,数据包通过特殊的FPVI接口被传递到内核的Output链中。
5、如权利要求4所述的基于多核网络处理器的慢速路径、快速路径及其接口设计方法,其特征在于:根据数据包的两种状态,它将在快速路径中产生两类例外:
a、基本例外:对于转发状态的数据包,基本例外是缺省的例外处理过程,Fast Path将原始的数据包传递给Slow Path,并停止任何进一步的处理;
b、本地传送状态例外:对于处于本地传送状态的数据包,使用这个例外处理过程,数据包不是被转发,而是作为解封包过程或协议装换过程来处理。
CNA2008100470406A 2008-03-12 2008-03-12 基于多核网络处理器的慢速路径、快速路径及其接口设计方法 Pending CN101330390A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2008100470406A CN101330390A (zh) 2008-03-12 2008-03-12 基于多核网络处理器的慢速路径、快速路径及其接口设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2008100470406A CN101330390A (zh) 2008-03-12 2008-03-12 基于多核网络处理器的慢速路径、快速路径及其接口设计方法

Publications (1)

Publication Number Publication Date
CN101330390A true CN101330390A (zh) 2008-12-24

Family

ID=40206000

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2008100470406A Pending CN101330390A (zh) 2008-03-12 2008-03-12 基于多核网络处理器的慢速路径、快速路径及其接口设计方法

Country Status (1)

Country Link
CN (1) CN101330390A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231709A (zh) * 2011-07-04 2011-11-02 清华大学 虚拟路由装置的控制平面结构及其控制方法
CN102231708A (zh) * 2011-07-04 2011-11-02 清华大学 虚拟路由装置及其路由方法
CN102299862A (zh) * 2011-09-22 2011-12-28 北京傲天动联技术有限公司 二层隧道快速转发设备和方法
CN102938000A (zh) * 2012-12-06 2013-02-20 武汉烽火网络有限责任公司 一种高速并行的无锁流表路由查找方法
CN103106177A (zh) * 2013-01-08 2013-05-15 西安电子科技大学 多核网络处理器的片上互联结构及其方法
CN103902498A (zh) * 2013-12-18 2014-07-02 曲阜师范大学 一种面向异构计算的软件定义服务器系统及方法
CN104050036A (zh) * 2014-05-29 2014-09-17 汉柏科技有限公司 多核处理器网络设备的控制系统及方法
CN104283939A (zh) * 2013-07-10 2015-01-14 布洛凯通讯系统公司 灵活的流卸载
CN104408372A (zh) * 2014-11-26 2015-03-11 大连梯耐德网络技术有限公司 一种基于系统重载的拟态安全实现系统及方法
CN109324908A (zh) * 2017-07-31 2019-02-12 华为技术有限公司 Netlink资源的容器隔离方法及装置
CN112015346A (zh) * 2020-08-28 2020-12-01 北京浪潮数据技术有限公司 一种存储控制器及其数据存储方法、装置和存储介质

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231709A (zh) * 2011-07-04 2011-11-02 清华大学 虚拟路由装置的控制平面结构及其控制方法
CN102231708A (zh) * 2011-07-04 2011-11-02 清华大学 虚拟路由装置及其路由方法
CN102231709B (zh) * 2011-07-04 2013-07-10 清华大学 虚拟路由装置的控制平面结构及其控制方法
CN102299862A (zh) * 2011-09-22 2011-12-28 北京傲天动联技术有限公司 二层隧道快速转发设备和方法
CN102299862B (zh) * 2011-09-22 2014-12-17 北京傲天动联技术股份有限公司 二层隧道快速转发设备和方法
CN102938000A (zh) * 2012-12-06 2013-02-20 武汉烽火网络有限责任公司 一种高速并行的无锁流表路由查找方法
CN102938000B (zh) * 2012-12-06 2015-08-19 武汉烽火网络有限责任公司 一种高速并行的无锁流表路由查找方法
CN103106177A (zh) * 2013-01-08 2013-05-15 西安电子科技大学 多核网络处理器的片上互联结构及其方法
CN103106177B (zh) * 2013-01-08 2016-01-20 西安电子科技大学 多核网络处理器的片上互联结构及其方法
CN104283939A (zh) * 2013-07-10 2015-01-14 布洛凯通讯系统公司 灵活的流卸载
CN104283939B (zh) * 2013-07-10 2018-05-22 博科通讯系统有限公司 用于灵活流卸载的装置、方法及非暂时性计算机可读媒体
CN103902498B (zh) * 2013-12-18 2016-12-07 曲阜师范大学 一种面向异构计算的软件定义服务器系统及方法
CN103902498A (zh) * 2013-12-18 2014-07-02 曲阜师范大学 一种面向异构计算的软件定义服务器系统及方法
CN104050036B (zh) * 2014-05-29 2018-04-27 汉柏科技有限公司 多核处理器网络设备的控制系统及方法
CN104050036A (zh) * 2014-05-29 2014-09-17 汉柏科技有限公司 多核处理器网络设备的控制系统及方法
CN104408372B (zh) * 2014-11-26 2017-07-28 大连国御科技有限公司 一种基于系统重载的拟态安全实现系统及方法
CN104408372A (zh) * 2014-11-26 2015-03-11 大连梯耐德网络技术有限公司 一种基于系统重载的拟态安全实现系统及方法
CN109324908A (zh) * 2017-07-31 2019-02-12 华为技术有限公司 Netlink资源的容器隔离方法及装置
CN109324908B (zh) * 2017-07-31 2021-09-07 华为技术有限公司 Netlink资源的容器隔离方法及装置
US11500666B2 (en) 2017-07-31 2022-11-15 Huawei Technologies Co., Ltd. Container isolation method and apparatus for netlink resource
CN112015346A (zh) * 2020-08-28 2020-12-01 北京浪潮数据技术有限公司 一种存储控制器及其数据存储方法、装置和存储介质
CN112015346B (zh) * 2020-08-28 2022-06-17 北京浪潮数据技术有限公司 一种存储控制器及其数据存储方法、装置和存储介质

Similar Documents

Publication Publication Date Title
CN101330390A (zh) 基于多核网络处理器的慢速路径、快速路径及其接口设计方法
Yasukata et al. {StackMap}:{Low-Latency} networking with the {OS} stack and dedicated {NICs}
CN107046542B (zh) 一种在网络级采用硬件实现共识验证的方法
CN1206600C (zh) 一种全分布式的集群网络服务器系统
CN103154897B (zh) 用于电信网络应用的核抽象层
CN102334112B (zh) 用于虚拟机网络的方法和系统
EP3995955B1 (en) Data processing method, network interface card, and server
CN111614631B (zh) 一种用户态流水线架构防火墙系统
US20070245360A1 (en) Portable networking interface method and apparatus for distributed switching system
WO2018001242A1 (zh) 一种数据报文处理方法及装置
CN104303467A (zh) 集成的异构的软件定义的网络
CN102160328A (zh) 用于协调分布式虚拟网络交换环境中的多播消息传送的中央控制器
CN103581274B (zh) 一种堆叠系统中报文转发方法和装置
CN103049336A (zh) 一种基于哈希的网卡软中断负载均衡方法
CN101834871B (zh) 一种开放式路由器装置及其方法
CN105391635A (zh) 一种基于sdn的网络虚拟化方法
CN102073501A (zh) 一种基于逻辑功能块的网络设备中央控制器的实现方法
CN101296168A (zh) 芯片内部连接表支持策略路由的方法
Agbaria et al. LMPI: MPI for heterogeneous embedded distributed systems
CN107454132B (zh) 支持多租户的网络传输的方法和设备
CN1728702A (zh) 一种将路由器的控制平面同数据平面的硬件相分离的方法
CN104363185B (zh) 一种微型复合网络数据交换系统
CN101621528B (zh) 基于以太交换机集群管理的会话系统及会话通道实现方法
Barrett et al. Analysis of implementation options for MPI-2 one-sided
Tam et al. Efficient scheduling of complete exchange on clusters

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20081224