一种报文传输方法和装置与流程

文档序号:14594517发布日期:2018-06-05 03:39阅读:118来源:国知局
本申请涉及通信
技术领域
,尤其涉及一种报文传输方法和装置。
背景技术
:如图1所示,为纵向堆叠的组网示意图,可以将多个PEX(PortExtender,端口扩展)设备连接到CB(ControllingBridge,控制桥)设备,每个PEX设备可以虚拟化成CB设备的远程业务板,由CB设备统一管理。使用这种虚拟化技术,可以提高CB设备的接口密度,简化网络拓扑,降低网络维护成本。目前,PEX设备在接收到主机发送的报文后,直接将该报文发送给CB设备,由CB设备利用转发表项发送该报文。在上述过程中,PEX设备不需要维护任何转发表项,PEX设备会将接收到的所有报文,均发送给CB设备。在上述方式下,虽然可以提高PEX设备的利用率,简化PEX设备的处理过程。但是,CB设备需要维护大量转发表项,占用了大量表项资源。而且,CB设备需要处理大量报文,对CB设备的性能要求很高,占用了大量处理资源。技术实现要素:本申请提供一种报文传输方法,应用于控制桥CB设备,包括:在映射表项中维护第一端口扩展PEX设备与主机的介质访问控制MAC地址的对应关系,所述主机是与所述第一PEX设备连接的主机;接收第二PEX设备发送的第一类数据报文,通过所述第一类数据报文的目的MAC地址查询所述映射表项,得到所述目的MAC地址对应的第一PEX设备,并将所述第一类数据报文发送给得到的第一PEX设备。本申请提供一种报文传输方法,应用于端口扩展PEX设备,包括:在学习到主机的介质访问控制MAC地址后,在转发表项中记录所述MAC地址与第三接口的对应关系,所述第三接口是本设备上与所述主机连接的接口;生成包括所述MAC地址的协议报文,将所述协议报文发送给控制桥CB设备,以使CB设备在映射表项维护所述MAC地址与本设备的对应关系;在接收到数据报文后,通过数据报文的目的MAC地址查询所述转发表项,得到所述目的MAC地址对应的第三接口,并通过该第三接口将所述数据报文发送给所述主机;所述数据报文来自于其它主机、或CB设备、或其它PEX设备。本申请提供一种报文传输装置,应用于控制桥CB设备,包括:维护模块,用于在映射表项中维护第一端口扩展PEX设备与主机的介质访问控制MAC地址的对应关系,所述主机是与所述第一PEX设备连接的主机;接收模块,用于接收第二PEX设备发送的第一类数据报文;获得模块,用于通过所述第一类数据报文的目的MAC地址查询所述映射表项,得到所述目的MAC地址对应的第一PEX设备;发送模块,用于将所述第一类数据报文发送给得到的第一PEX设备。本申请提供一种报文传输装置,应用于端口扩展PEX设备,包括:维护模块,用于在学习到主机的介质访问控制MAC地址后,在转发表项中记录所述MAC地址与第三接口的对应关系,其中,所述第三接口是所述PEX设备上与所述主机连接的接口;生成模块,用于生成包括所述MAC地址的协议报文;发送模块,用于将所述协议报文发送给控制桥CB设备,以使所述CB设备在映射表项维护所述MAC地址与所述PEX设备的对应关系;获得模块,用于在接收到数据报文后,通过所述数据报文的目的MAC地址查询所述转发表项,得到所述目的MAC地址对应的第三接口;发送模块,用于通过该第三接口将所述数据报文发送给所述主机;其中,所述数据报文来自于其它主机、或CB设备、或其它PEX设备。基于上述技术方案,本申请实施例中,可以在PEX设备上维护转发表项,并充分利用PEX设备的表项资源,而不是将所有的转发表项均维护在CB设备上,从而可以减少CB设备维护的表项数量,并节约CB设备的表项资源。而且,PEX设备可以基于本地的转发表项传输报文,而不用将所有的报文均发送给CB设备进行处理,从而可以减少CB设备处理的报文数量,降低对CB设备的性能要求,节约CB设备的处理资源,并可以降低CB设备的转发压力。附图说明为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是纵向堆叠的组网示意图;图2是本申请一种实施方式中的报文传输方法的流程图;图3是本申请一种实施方式中的应用场景示意图;图4是本申请一种实施方式中的CB设备的硬件结构图;图5是本申请一种实施方式中的报文传输装置的结构图;图6是本申请一种实施方式中的PEX设备的硬件结构图;图7是本申请一种实施方式中的报文传输装置的结构图。具体实施方式在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本申请实施例中提出一种报文传输方法,该方法可以应用于纵向堆叠的网络中,该网络中可以包括CB设备和至少两个PEX设备,每个PEX设备均连接到CB设备。参见图2所示,为该报文传输方法的流程图,该方法可以包括:步骤201,CB设备在映射表项(可以维护在CB设备的内存,而不占用CB设备的硬件资源)中维护第一PEX设备与主机的MAC(MediaAccessControl,介质访问控制)地址的对应关系,该主机是与该第一PEX设备连接的主机。在一个例子中,针对“CB设备在映射表项中维护第一PEX设备与主机的MAC地址的对应关系”的过程,可以包括:CB设备接收第一PEX设备发送的携带其学习到的MAC地址的协议报文,在映射表项中维护第一PEX设备的标识与该MAC地址的对应关系,该标识是CB设备为第一PEX设备分配的标识。在一个例子中,第一PEX设备在学习到主机的MAC地址后,在转发表项中记录该MAC地址与第三接口的对应关系,该第三接口是本第一PEX设备上与该主机连接的接口。之后,第一PEX设备可以生成包括该MAC地址的协议报文,并将该协议报文发送给CB设备。CB设备在接收到该协议报文后,可以在映射表项中记录该第一PEX设备的标识与该MAC地址的对应关系。在一个例子中,主机可以主动发送免费ARP(AddressResolutionProtocol,地址解析协议)报文,当主机与第一PEX设备连接时,该免费ARP报文可以被第一PEX设备接收到。第一PEX设备可以从免费ARP报文中学习到主机的MAC地址,且第三接口是第一PEX设备上接收到该免费ARP报文的接口。基于此,第一PEX设备可以在转发表项中记录该MAC地址与该第三接口的对应关系。针对“CB设备接收第一PEX设备发送的协议报文,并在映射表项中记录MAC地址与第一PEX设备的标识的对应关系”的过程,在一个例子中,CB设备在该协议报文之前,还可以为第一PEX设备分配标识,且CB设备为不同的第一PEX设备分配的标识不同。基于此,CB设备在接收到第一PEX设备发送的该协议报文后,可以确定出该第一PEX设备的标识,继而可以在映射表项中记录该协议报文中携带的MAC地址与该第一PEX设备的标识的对应关系。在一个例子中,CB设备在为第一PEX设备分配标识之后,CB设备还可以在转发表项中,记录该标识与第一接口的对应关系,该第一接口可以是本CB设备上与该第一PEX设备连接的接口。而且,针对每个PEX设备,CB设备可以在转发表项(可以维护在CB设备的硬件芯片,由于每个PEX设备只需要一条记录,因此所占用的硬件芯片的表项资源很少)中记录该PEX设备的标识与第一接口(即本CB设备上与该PEX设备连接的接口)的对应关系。步骤202,CB设备接收第二PEX设备发送的第一类数据报文,通过该第一类数据报文的目的MAC地址查询映射表项,得到该目的MAC地址对应的第一PEX设备,并将该第一类数据报文发送给得到的该第一PEX设备。在一个例子中,由于在CB设备的映射表项中记录了MAC地址与第一PEX设备的标识的对应关系,因此,CB设备在通过第一类数据报文的目的MAC地址查询该映射表项时,可以得到该目的MAC地址对应的第一PEX设备的标识。在一个例子中,针对“CB设备将该第一类数据报文发送给得到的该第一PEX设备”的过程,可以包括:CB设备通过第一PEX设备的标识查询转发表项,得到该标识对应的第一接口,并通过该第一接口发送该第一类数据报文,从而可以将该第一类数据报文发送给该标识对应的第一PEX设备。其中,由于CB设备的转发表项中记录了标识与第一接口的对应关系,因此,CB设备在通过该标识查询该转发表项时,可以得到该标识对应的第一接口。步骤203,第一PEX设备在接收到数据报文之后,通过该数据报文的目的MAC地址查询转发表项(即第一PEX设备维护的转发表项),得到该目的MAC地址对应的第三接口,并通过该第三接口将该数据报文发送给主机。在一个例子中,由于第一PEX设备的转发表项中记录了MAC地址与第三接口的对应关系,因此,第一PEX设备在通过数据报文的目的MAC地址查询该转发表项时,可以得到该目的MAC地址对应的第三接口。在一个例子中,该数据报文可以来自于其它主机、或者CB设备、或者其它PEX设备。其中,当第一PEX设备接收到来自于其它主机的数据报文后,可以通过数据报文的目的MAC地址查询转发表项,得到该目的MAC地址对应的第三接口,并通过该第三接口将数据报文发送给主机,而不用将该数据报文发送给CB设备。当第一PEX设备接收到来自于CB设备的数据报文(即步骤202中,CB设备发送给第一PEX设备的第一类数据报文)后,可以通过数据报文的目的MAC地址查询转发表项,得到该目的MAC地址对应的第三接口,并通过该第三接口将数据报文发送给主机。当第一PEX设备接收到来自于其它PEX设备的数据报文后,可以通过数据报文的目的MAC地址查询转发表项,得到该目的MAC地址对应的第三接口,并通过该第三接口将数据报文发送给主机。在一个例子中,CB设备在将该第一类数据报文发送给第一PEX设备后,CB设备还可以向第二PEX设备发送第一表项,该第一表项包括目的MAC地址(即第一类数据报文的目的MAC地址)与第一PEX设备的标识的对应关系。第二PEX设备接收来自CB设备的第一表项,并在本地存储该第一表项。第二PEX设备在接收到来自主机的第二类数据报文后,通过该第二类数据报文的目的MAC地址查询该第一表项,得到该目的MAC地址对应的标识,并在该第二类数据报文中添加该标识,将修改后的第二类数据报文发送给CB设备。CB设备在接收到第二PEX设备发送的第二类数据报文后,利用第二类数据报文中携带的第一PEX设备的标识查询转发表项,得到第一PEX设备的标识对应的第一接口,并通过该第一接口发送该第二类数据报文,从而将第二类数据报文发送给第一PEX设备。在该方式下,CB设备不需要在硬件芯片维护新的表项。在一个例子中,CB设备在将该第一类数据报文发送给第一PEX设备后,CB设备还可以向第二PEX设备发送目的MAC地址(即第一类数据报文的目的MAC地址)与第一PEX设备的对应关系。第二PEX设备在接收到该对应关系后,查询到本第二PEX设备上与该第一PEX设备连接的第二接口,并生成包括该目的MAC地址与该第二接口的第二表项。第二PEX设备在接收到来自主机的第二类数据报文后,通过该第二类数据报文的目的MAC地址查询该第二表项,得到该目的MAC地址对应的第二接口,并通过该第二接口直接将该第二类数据报文发送给第一PEX设备,而不再将该第二类数据报文发送给CB设备。在一个例子中,CB设备在将该第一类数据报文发送给第一PEX设备后,还可以在转发表项中记录目的MAC地址(即第一类数据报文的目的MAC地址)、第一PEX设备的标识对应的第一接口的对应关系。第二PEX设备在接收到来自主机的第二类数据报文后,直接将该第二类数据报文发送给CB设备。CB设备在接收到第二PEX设备发送的第二类数据报文后,利用第二类数据报文的目的MAC地址查询转发表项,得到该目的MAC地址对应的第一接口,并通过该第一接口将该第二类数据报文发送给PEX设备。在该方式下,CB设备需要在硬件芯片维护新的表项,即上述目的MAC地址与第一接口的对应关系。基于上述技术方案,本申请实施例中,可以在PEX设备上维护转发表项,并充分利用PEX设备的表项资源,而不是将所有的转发表项均维护在CB设备上,从而可以减少CB设备维护的表项数量,并节约CB设备的表项资源。而且,PEX设备可以基于本地的转发表项传输报文,而不用将所有的报文均发送给CB设备进行处理,从而可以减少CB设备处理的报文数量,降低对CB设备的性能要求,节约CB设备的处理资源,可以降低CB设备的转发压力。以下结合图1所示的应用场景,对上述过程进行详细说明。在本应用场景下,该纵向堆叠的网络可以包括但不限于:CB设备、PEX设备1、PEX设备2、主机1、主机2、主机3、主机4,各设备的连接关系可以参见图1所示。在一个例子中,该纵向堆叠的网络可以应用于VXLAN(VirtualeXtensibleLAN,可扩展虚拟局域网络)中,且CB设备、PEX设备1、PEX设备2共同完成VTEP(VXLANTunnelEndPoint,VXLAN隧道端点)设备的功能。而且,主机1、主机2、主机3、主机4可以为VM(VirtualMachine,虚拟机)。在一个例子中,CB设备可以分别为PEX设备1、PEX设备2分配标识,且PEX设备1、PEX设备2分配到的标识不同。例如,CB设备为PEX设备1分配虚MAC地址1-1-1,并为PEX设备2分配虚MAC地址2-2-2。之后,CB设备可以在转发表项中记录虚MAC地址1-1-1与接口31(即第一接口)的对应关系,以及虚MAC地址2-2-2与接口32的对应关系,如表1所示。表1虚MAC地址出接口1-1-1接口312-2-2接口32本应用场景下,以主机4、主机2、主机3向主机1发送数据报文为例进行说明,因此,PEX设备1为第一PEX设备,PEX设备2为第二PEX设备。在一个例子中,PEX设备1在学习到主机1的MAC地址A-A-A后,在转发表项中记录该MAC地址A-A-A与接口11(第三接口)的对应关系,如表2所示。其中,主机1可以主动发送免费ARP报文,且PEX设备1在接收到该免费ARP报文后,可以从该免费ARP报文中学习到主机1的MAC地址A-A-A。表2MAC地址出接口A-A-A接口11进一步的,PEX设备1在学习到主机1的MAC地址A-A-A后,还可以生成包括该MAC地址A-A-A的协议报文,并将该协议报文发送给CB设备。CB设备在接收到PEX设备1发送的该协议报文之后,可以在映射表项中记录该MAC地址A-A-A与PEX设备1的虚MAC地址1-1-1的对应关系,如表3所示。表3MAC地址虚MAC地址A-A-A1-1-1在上述过程的基础上,本申请实施例中的数据报文传输过程可以包括:情况一、主机2向主机1发送数据报文,该数据报文的目的MAC地址可以为A-A-A,对于该数据报文的其它字段,本申请实施例中不再说明。PEX设备1在接收到主机2向主机1发送的数据报文后,通过该数据报文的目的MAC地址A-A-A查询表2所示的转发表项,得到该目的MAC地址A-A-A对应的接口11,并通过该接口11将该数据报文发送给主机1。情况二、主机4向主机1发送数据报文,该数据报文的目的MAC地址可以为A-A-A,对于该数据报文的其它字段,本申请实施例中不再说明。CB设备在接收到主机4向主机1发送的第一个数据报文(将其称为第一类数据报文)之后,通过该第一类数据报文的目的MAC地址A-A-A查询表3所示的映射表项,得到该目的MAC地址A-A-A对应的虚MAC地址1-1-1。然后,CB设备通过该虚MAC地址1-1-1查询表1所示的转发表项,得到接口31。然后,CB设备通过该接口31将该第一类数据报文发送给PEX设备1。PEX设备1在接收到来自CB设备的第一类数据报文后,通过第一类数据报文的目的MAC地址A-A-A查询表2所示的转发表项,得到该目的MAC地址A-A-A对应的接口11,并通过该接口11将该第一类数据报文发送给主机1。在一个例子中,CB设备通过该接口31将该第一类数据报文发送给PEX设备1之后,还可以在转发表项中记录目的MAC地址A-A-A与接口31的对应关系,如表4所示。这样,CB设备在接收到主机4向主机1发送的第二个以及第二个之后的数据报文(将其称为第二类数据报文)时,就可以直接通过该第二类数据报文的目的MAC地址A-A-A查询表4所示的转发表项,得到接口31。然后,CB设备可以通过该接口31将该第二类数据报文发送给PEX设备1。表4MAC地址出接口A-A-A接口31PEX设备1在接收到来自CB设备的第二类数据报文后,通过第二类数据报文的目的MAC地址A-A-A查询表2所示的转发表项,得到该目的MAC地址A-A-A对应的接口11,并通过该接口11将该第二类数据报文发送给主机1。在一个例子中,对第一类数据报文和第二类数据报文处理方式不同的原因可以是:上述转发表项维护在硬件芯片和内存中,而上述映射表项只维护在内存中。因此,针对第一类数据报文,CB设备的硬件芯片在接收到第一类数据报文后,无法基于转发表项直接转发第一类数据报文,而是需要将第一类数据报文发送给CPU(CentralProcessingUnit,中央处理器),由CPU利用映射表项和转发表项,将第一类数据报文发送给PEX设备1,并在硬件芯片上下发表4所示的转发表项。这样,针对第二类数据报文,CB设备的硬件芯片在接收到第二类数据报文后,可以基于表4所示的转发表项直接转发第二类数据报文。情况三、主机3向主机1发送数据报文,该数据报文的目的MAC地址可以为A-A-A,对于该数据报文的其它字段,本申请实施例中不再说明。PEX设备2在接收到主机3向主机1发送的第一个数据报文(将其称为第一类数据报文)之后,直接将该第一类数据报文发送给CB设备。CB设备在接收到第一类数据报文之后,通过该第一类数据报文的目的MAC地址A-A-A查询表3所示的映射表项,得到该目的MAC地址A-A-A对应的虚MAC地址1-1-1。然后,CB设备通过该虚MAC地址1-1-1查询表1所示的转发表项,得到接口31。然后,CB设备通过该接口31将该第一类数据报文发送给PEX设备1。而且,PEX设备1在接收到来自CB设备的第一类数据报文后,通过第一类数据报文的目的MAC地址A-A-A查询表2所示的转发表项,得到该目的MAC地址A-A-A对应的接口11,并通过该接口11将该第一类数据报文发送给主机1。在一个例子中,CB设备通过该接口31将该第一类数据报文发送给PEX设备1之后,还可以向PEX设备2发送第一表项,由PEX设备2在本地存储第一表项(如在PEX设备2的硬件芯片存储第一表项),该第一表项可以包括目的MAC地址A-A-A与虚MAC地址1-1-1的对应关系。PEX设备2在接收到主机3向主机1发送的第二个以及第二个之后的数据报文(将其称为第二类数据报文)时,通过该第二类数据报文的目的MAC地址A-A-A查询该第一表项,得到该目的MAC地址A-A-A对应的虚MAC地址1-1-1,并在该第二类数据报文中添加该虚MAC地址1-1-1,并将修改后的第二类数据报文发送给CB设备。CB设备在接收到第二类数据报文后,利用该第二类数据报文中携带的虚MAC地址1-1-1查询表1所示的转发表项,得到接口31。然后,CB设备通过该接口31将该第二类数据报文发送给PEX设备1。而且,PEX设备1在接收到来自CB设备的第二类数据报文后,通过第二类数据报文的目的MAC地址A-A-A查询表2所示的转发表项,得到该目的MAC地址A-A-A对应的接口11,并通过该接口11将该第二类数据报文发送给主机1。情况四、主机3向主机1发送数据报文,该数据报文的目的MAC地址可以为A-A-A,对于该数据报文的其它字段,本申请实施例中不再说明。在本应用场景下,对传统的纵向堆叠网络进行改进,在图1所示的纵向堆叠网络的基础上,增加PEX设备之间的链路,如图3所示,在PEX设备1与PEX设备2之间增加链路,在此应用场景下,则数据报文传输过程如下所示:PEX设备2在接收到主机3向主机1发送的第一个数据报文(将其称为第一类数据报文)之后,直接将该第一类数据报文发送给CB设备。CB设备在接收到第一类数据报文之后,通过该第一类数据报文的目的MAC地址A-A-A查询表3所示的映射表项,得到该目的MAC地址A-A-A对应的虚MAC地址1-1-1。然后,CB设备通过该虚MAC地址1-1-1查询表1所示的转发表项,得到接口31。然后,CB设备通过该接口31将该第一类数据报文发送给PEX设备1。而且,PEX设备1在接收到来自CB设备的第一类数据报文后,通过第一类数据报文的目的MAC地址A-A-A查询表2所示的转发表项,得到该目的MAC地址A-A-A对应的接口11,并通过该接口11将该第一类数据报文发送给主机1。在一个例子中,CB设备通过该接口31将该第一类数据报文发送给PEX设备1之后,还可以向PEX设备2发送目的MAC地址A-A-A与PEX设备1的对应关系,PEX设备2在接收到目的MAC地址A-A-A与PEX设备1的对应关系后,查询到PEX设备2上与该PEX设备1连接的接口23,并存储第二表项(如在PEX设备2的硬件芯片存储第二表项),该第二表项可以包括目的MAC地址A-A-A与接口23的对应关系。PEX设备2在接收到主机3向主机1发送的第二个以及第二个之后的数据报文(将其称为第二类数据报文)时,通过该第二类数据报文的目的MAC地址A-A-A查询该第二表项,得到该目的MAC地址A-A-A对应的接口23,并通过接口23直接将该第二类数据报文发送给PEX设备1。PEX设备1在接收到来自PEX设备2的第二类数据报文后,通过第二类数据报文的目的MAC地址A-A-A查询表2所示的转发表项,得到该目的MAC地址A-A-A对应的接口11,并通过该接口11将该第二类数据报文发送给主机1。情况五、主机3向主机1发送数据报文,该数据报文的目的MAC地址可以为A-A-A,对于该数据报文的其它字段,本申请实施例中不再说明。PEX设备2在接收到主机3向主机1发送的第一个数据报文(将其称为第一类数据报文)之后,直接将该第一类数据报文发送给CB设备。CB设备在接收到第一类数据报文之后,通过该第一类数据报文的目的MAC地址A-A-A查询表3所示的映射表项,得到该目的MAC地址A-A-A对应的虚MAC地址1-1-1。然后,CB设备通过该虚MAC地址1-1-1查询表1所示的转发表项,得到接口31。然后,CB设备通过该接口31将该第一类数据报文发送给PEX设备1。而且,PEX设备1在接收到来自CB设备的第一类数据报文后,通过第一类数据报文的目的MAC地址A-A-A查询表2所示的转发表项,得到该目的MAC地址A-A-A对应的接口11,并通过该接口11将该第一类数据报文发送给主机1。在一个例子中,CB设备通过该接口31将该第一类数据报文发送给PEX设备1之后,还可以在转发表项中记录目的MAC地址A-A-A与接口31的对应关系,如上述表4所示。PEX设备2在接收到主机3向主机1发送的第二个以及第二个之后的数据报文(将其称为第二类数据报文)时,直接将第二类数据报文发送给CB设备。CB设备在接收到第二类数据报文后,就可以直接通过该第二类数据报文的目的MAC地址A-A-A查询表4所示的转发表项,得到接口31。然后,CB设备可以通过该接口31将该第二类数据报文发送给PEX设备1。而且,PEX设备1在接收到来自CB设备的第二类数据报文后,通过第二类数据报文的目的MAC地址A-A-A查询表2所示的转发表项,得到该目的MAC地址A-A-A对应的接口11,并通过该接口11将该第二类数据报文发送给主机1。基于上述技术方案,本申请实施例中,可以在PEX设备上维护转发表项,并充分利用PEX设备的表项资源,而不是将所有的转发表项均维护在CB设备上,从而可以减少CB设备维护的表项数量,并节约CB设备的表项资源。而且,PEX设备可以基于本地的转发表项传输报文,而不用将所有的报文均发送给CB设备进行处理,从而可以减少CB设备处理的报文数量,降低对CB设备的性能要求,节约CB设备的处理资源,可以降低CB设备的转发压力。基于与上述方法同样的申请构思,本申请实施例中还提供了一种报文传输装置,该报文传输装置应用在CB设备上。其中,该报文传输装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的CB设备的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图4所示,为本申请提出的报文传输装置所在的CB设备的一种硬件结构图,除了图4所示的处理器、非易失性存储器外,CB设备还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该CB设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。如图5所示,为本申请提出的报文传输装置的结构图,所述装置具体包括:维护模块11,用于在映射表项中维护第一端口扩展PEX设备与主机的介质访问控制MAC地址的对应关系,所述主机是与所述第一PEX设备连接的主机;接收模块12,用于接收第二PEX设备发送的第一类数据报文;获得模块13,用于通过所述第一类数据报文的目的MAC地址查询所述映射表项,得到所述目的MAC地址对应的第一PEX设备;发送模块14,用于将所述第一类数据报文发送给得到的第一PEX设备。所述维护模块11,具体用于在映射表项中维护第一PEX设备与主机的MAC地址的对应关系的过程中,接收所述第一PEX设备发送的携带其学习到的MAC地址的协议报文;在所述映射表项中记录所述第一PEX设备的标识与所述MAC地址的对应关系;所述标识是所述CB设备为所述第一PEX设备分配的标识。在一个例子中,所述维护模块11,还用于针对每个PEX设备,在转发表项中记录所述PEX设备的标识与第一接口的对应关系,所述第一接口是所述CB设备上与所述PEX设备连接的接口。在一个例子中,所述发送模块14,具体用于在将所述第一类数据报文发送给得到的第一PEX设备的过程中,通过所述目的MAC地址对应的第一PEX设备的标识查询所述转发表项,得到该标识对应的第一接口,并通过该第一接口发送所述第一类数据报文。所述发送模块14,还用于向所述第二PEX设备发送第一表项,所述第一表项包括所述目的MAC地址与所述第一PEX设备的标识的对应关系;所述接收模块12,还用于接收所述第二PEX设备利用所述第一表项发送的第二类数据报文;所述获得模块13,还用于利用所述第二类数据报文中携带的所述第一PEX设备的标识查询所述转发表项,得到所述第一PEX设备的标识对应的第一接口;所述发送模块14,还用于通过该第一接口发送所述第二类数据报文;或者,所述发送模块14,还用于向所述第二PEX设备发送所述目的MAC地址与所述第一PEX设备的对应关系,以使所述第二PEX设备查询到本设备上与所述第一PEX设备连接的第二接口,并生成包括所述目的MAC地址与所述第二接口的第二表项,并在接收到第二类数据报文时,利用所述第二表项发送所述第二类数据报文;或者,所述维护模块11,还用于在所述转发表项中记录所述目的MAC地址、所述第一PEX设备的标识对应的第一接口的对应关系;所述接收模块12,还用于在所述转发表项中记录所述目的MAC地址、所述第一PEX设备的标识对应的第一接口的对应关系;所述获得模块13,还用于利用所述第二类数据报文的目的MAC地址查询所述转发表项,得到该目的MAC地址对应的第一接口;所述发送模块14,还用于通过该第一接口发送所述第二类数据报文。其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。基于与上述方法同样的申请构思,本申请实施例中还提供了一种报文传输装置,该报文传输装置应用在PEX设备上。其中,该报文传输装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的PEX设备的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图6所示,为本申请提出的报文传输装置所在的PEX设备的一种硬件结构图,除了图6所示的处理器、非易失性存储器外,PEX设备还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该PEX设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。如图7所示,为本申请提出的报文传输装置的结构图,所述装置具体包括:维护模块21,用于在学习到主机的介质访问控制MAC地址后,在转发表项中记录所述MAC地址与第三接口的对应关系,其中,所述第三接口是所述PEX设备上与所述主机连接的接口;生成模块22,用于生成包括所述MAC地址的协议报文;发送模块23,用于将所述协议报文发送给控制桥CB设备,以使所述CB设备在映射表项维护所述MAC地址与所述PEX设备的对应关系;获得模块24,用于在接收到数据报文后,通过所述数据报文的目的MAC地址查询所述转发表项,得到所述目的MAC地址对应的第三接口;发送模块23,用于通过该第三接口将所述数据报文发送给所述主机;其中,所述数据报文来自于其它主机、或CB设备、或其它PEX设备。在一个例子中,该报文传输装置还包括:接收模块(在图中未体现)所述接收模块,用于接收来自CB设备的第一表项,所述第一表项包括MAC地址与其它PEX设备的标识的对应关系;所述获得模块24,还用于在接收到来自主机的数据报文后,通过所述数据报文的目的MAC地址查询所述第一表项,得到该目的MAC地址对应的标识;所述发送模块23,还用于在所述数据报文中添加该标识,将修改后的数据报文发送给所述CB设备;或者,所述接收模块,用于接收来自CB设备的MAC地址与其它PEX设备的对应关系;所述生成模块,还用于查询所述设备PEX设备上与所述其它PEX设备连接的第二接口,并生成包括所述MAC地址与所述第二接口的第二表项;所述获得模块24,还用于在接收到来自主机的数据报文后,通过所述数据报文的目的MAC地址查询第二表项,得到该目的MAC地址对应的第二接口;所述发送模块23,还用于通过所述第二接口发送所述数据报文。其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1