【技术实现步骤摘要】
本申请涉及通信领域,尤其涉及一种报文传输方法、CPU以及网络设备。
技术介绍
网络设备(如路由器、交换机等)是以CPU(CentralProcessingUnit,中央处理器)为核心,进行网络报文的处理与转发,如图1所示,为网络设备的CPU的结构示意图。在CPU内部集成有CPU核、内存控制器、网络控制器1和网络控制器2。网络控制器1在接收到网络报文后,通过内存控制器,将网络报文写入到系统内存的Buffer(缓冲区)中。CPU核从Buffer中获取网络报文,并对网络报文进行修改(如修改网络报文的源IP地址、目的IP地址等),并将修改后的网络报文存储到系统内存的Buffer中,以替换修改前的网络报文。网络控制器2从Buffer中获取到修改后的网络报文,并完成网络报文的发送。为了提高网络设备的处理能力,可以在CPU内集成多个CPU核,如图2所示,为集成多个CPU核的结构示意图。但是,由于制造工艺等原因,在CPU内集成的CPU核的数量有限,为了进一步提高网络设备的处理能力,在网络设备内部可以部署多个CPU,这多个CPU之间通过总线连接起来,如图3所示,为两个CPU互联的结构示意图,在每个CPU内均可以集成多个CPU核。如图3所示,网络控制器1在接收到网络报文后,将网络报文写入到系统内存1的Buffer1中。假设由网络控制器2发送该网络报文,则网络控制器2可以通过内存控制器,从Buffer1中获取到该网络报文,网络报文的转发性能较高。但是,如果由网络控制器4发送该网络报文,则网络控制器4需要经过两个互联控制器和一个内存控制器,才能够从Buffer1中获取到该网络报 ...
【技术保护点】
一种报文传输方法,应用于网络设备的中央处理器CPU上,其特征在于,所述网络设备包括至少两个CPU,每个CPU对应一个系统内存,且系统内存中包括有为该CPU划分的第一缓冲区以及第二缓冲区;所述方法包括:接收网络控制器接收到网络报文,内存镜像控制器将该网络报文存储到本端CPU对应的第一缓冲区,并向对端CPU发送该网络报文的写操作,以使所述对端CPU存储该网络报文;内存镜像控制器接收到对端CPU的网络报文的写操作时,将该网络报文存储到本端CPU对应的第二缓冲区;内存镜像控制器接收到网络报文的读操作时,从本端CPU对应的第二缓冲区读取该网络报文并发送,该网络报文为对端CPU的接收网络控制器接收到的网络报文;所述对端CPU为除本端CPU以外的任一CPU。
【技术特征摘要】
1.一种报文传输方法,应用于网络设备的中央处理器CPU上,其特征在于,所述网络设备包括至少两个CPU,每个CPU对应一个系统内存,且系统内存中包括有为该CPU划分的第一缓冲区以及第二缓冲区;所述方法包括:接收网络控制器接收到网络报文,内存镜像控制器将该网络报文存储到本端CPU对应的第一缓冲区,并向对端CPU发送该网络报文的写操作,以使所述对端CPU存储该网络报文;内存镜像控制器接收到对端CPU的网络报文的写操作时,将该网络报文存储到本端CPU对应的第二缓冲区;内存镜像控制器接收到网络报文的读操作时,从本端CPU对应的第二缓冲区读取该网络报文并发送,该网络报文为对端CPU的接收网络控制器接收到的网络报文;所述对端CPU为除本端CPU以外的任一CPU。2.根据权利要求1所述的方法,其特征在于,所述内存镜像控制器将该网络报文存储到本端CPU对应的第一缓冲区,并向对端CPU发送该网络报文的写操作,包括:所述内存镜像控制器接收所述接收网络控制器发送的网络报文的写操作,从该写操作中解析出子地址信息为本端CPU对应的第一缓冲区中的地址,则将该网络报文存储到本端CPU对应的第一缓冲区;所述内存镜像控制器将该写操作中的子地址信息替换为对端CPU对应的第二缓冲区中的地址,并将修改后的写操作发送给所述对端CPU。3.根据权利要求1所述的方法,其特征在于,所述将该网络报文存储到本端CPU对应的第二缓冲区,包括:所述内存镜像控制器从接收的写操作中解析出子地址信息为本端CPU对应的第二缓冲区中的地址,则将该网络报文存储到本端CPU对应的第二缓冲区。4.根据权利要求2所述的方法,其特征在于,该方法还包括:CPU核读取本端CPU对应的第一缓冲区中的网络报文进行修改;CPU核向内存镜像控制器发送修改后的网络报文的写操作;内存镜像控制器从该写操作中解析出子地址信息为本端CPU对应的第一缓冲区中的地址,则将所述修改后的网络报文存储到本端CPU对应的第一缓冲区;内存镜像控制器向对端CPU发送修改后的网络报文的写操作,以使对端CPU存储修改后的网络报文,该写操作携带的子地址信息为对端CPU对应的第二缓冲区中的地址。5.根据权利要求3所述的方法,其特征在于,该方法还包括:CPU核读取本端CPU对应的第二缓冲区中的网络报文进行修改;CPU核向内存镜像控制器发送修改后的网络报文的写操作;内存镜像控制器从该写操作中解析出子地址信息为本端CPU对应的第二缓冲区中的地址,则将所述修改后的网络报文存储到本端CPU对应的第二缓冲区;内存镜像控制器根据本端CPU对应的第二缓冲区中的地址确定对应的第一缓冲区的地址,将修改后的网络报文的写操作的子地址信息替换为确定出的第一缓冲区的地址,并发送给确定出的第一缓冲区对应的CPU,以使该CPU存储该修改后的网络报文。6.根据权利要求1所述的方法,其特征在于,所述从本端CPU对应的第二缓冲区读取该网络报文并发送,包括:所述内存镜像控制器从所述读操作中解析出子地址信息为对端CPU对应的第一缓冲区中的地址,确定对应的本端CPU对应的第二缓冲区中的地址,从本端CPU对应的第二缓冲区读取该网络报文,通过发送网络控制器发送;其中,所述读操作是所述对端CPU确定由本端CPU的发送网络控制器发送该网络报文时发出的;或者,所述内存镜像控制器从所述读操作中解析出子地址信息为本端CPU对应的第二缓冲区中的地址,从本端CPU对应的第二缓冲区读取该网络报文,通过发送网络控制器发送;其中,所述读操作是本端CPU的CPU核确定由本端CPU的发送网络控制器发送该网络报文时发出的。7.根据权利要求1至6任一所述的方法,其特征在于,本端CPU对应的第一缓冲区中的地址与除本端CPU外的任一CPU对应的第二缓冲区中的地址存在映射关系。8.一种中央处理器CPU,其特征在于,所述CPU对应系统内存,所述系统内存中包括有为所述CPU划分的第一缓冲区以及第二缓冲区;所述CPU包括:接收网络控制器,用于接收到网络报文;内存镜像控制器,用于通过内存控制器将该网络报文...
【专利技术属性】
技术研发人员:赵志宇,
申请(专利权)人:杭州华三通信技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。