发明内容
针对上述问题,本发明提供了一种EPA网关设备以及使用该EPA网络设备的EPA跨网通信方法。通过在EPA网关设备中实现各个不同EPA网络的网络协议并且由EPA网关设备的专门的数据转发模块将接收的数据报文转发给其位于另一EPA网络中的实际目的地址,解决了存在多个不同EPA网络的情况下的跨网通信问题。
根据本发明的一个方面,提供了一种EPA网关设备。该EPA网关设备包括:多个EPA通信模块,每个EPA通信模块包括EPA协议电路、一个或多个MAC层电路和一个或多个PHY层电路,所述EPA协议电路用于实现多个EPA网络中的一个EPA网络的网络协议;以及数据转发模块,经由所述多个EPA通信模块中的第一EPA通信模块接收所述多个EPA网络中的第一EPA网络中的第一EPA设备发送的数据报文的用户数据,并且在确定所述数据报文的实际目的地是所述多个EPA网络中的第二EPA网络中的第二EPA设备时,将所述数据报文转发给所述第二EPA网络。
在一些实施例中,所述数据转发模块被配置为:经由所述第一EPA通信模块接收所述用户数据,其中所述数据报文的第一目的地址是所述EPA网关设备的地址;对所述用户数据进行解析以确定所述数据报文的第二目的地址;以及确定所述第二目的地址属于所述第二EPA网络并且将所述用户数据和所述第二目的地址发送给所述多个EPA通信模块中、与所述第二EPA网络对应的第二EPA通信模块。
在一些实施例中,所述第二EPA通信模块还被配置为:基于所述第二EPA网络的网络协议将所述用户数据和所述第二目的地址打包为第二数据报文,所述第二数据报文的目的地址是所述第二目的地址;以及将所述第二数据报文发送给所述第二目的地址所对应的第二EPA网络。
在一些实施例中,所述数据转发模块还被配置为:对所述用户数据进行合法性检测以确定所述用户数据是否符合所述第二EPA网络的规则;以及响应于确定所述用户数据符合所述第二EPA网络的规则,将所述用户数据和所述第二目的地址发送给所述第二EPA通信模块。
在一些实施例中,所述第一EPA通信模块还包括一个或多个网络变压器,每个网络变压器与一个第一PHY层电路相连,以将所述第一PHY层电路的电压与所述第一EPA网络匹配。
在一些实施例中,所述EPA网关设备通过一个或多个第一EPA通道连接所述第一EPA网络,并且每个第一PHY层电路提供一个第一EPA通道。
在一些实施例中,所述EPA网关设备通过一个或多个第二EPA通道连接所述第二EPA网络,并且每个第二PHY层电路提供一个第二EPA通道。
根据本发明的另一个方面,提供了一种EPA跨网通信的方法,包括:经由EPA网关设备的第一EPA通信模块接收第一EPA网络的第一EPA设备发送的数据报文的用户数据,其中所述数据报文的第一目的地址是所述EPA网关设备的地址;对所述用户数据进行解析以确定所述数据报文的第二目的地址;以及确定所述第二目的地址属于第二EPA网络并且将所述用户数据和所述第二目的地址发送给所述EPA网关设备的多个EPA通信模块中、与所述第二EPA网络对应的第二EPA通信模块。
在一些实施例中,所述方法还包括:基于所述第二EPA网络的网络协议将所述用户数据和所述第二目的地址打包为第二数据报文,所述第二数据报文的目的地址是所述第二目的地址;以及经由所述第二EPA通信模块将所述第二数据报文发送给所述第二目的地址所对应的第二EPA网络。
在一些实施例中,所述方法还包括:对所述用户数据进行合法性检测以确定所述用户数据是否符合所述第二EPA网络的规则;以及响应于确定所述用户数据符合所述第二EPA网络的规则,将所述用户数据和所述第二目的地址发送给所述第二EPA通信模块。
利用本发明的方案,使用不同网络协议的EPA网络能够通过EPA网关设备互相发送数据报文,从而实现了跨网通信。
具体实施方式
下面将参照附图更详细地描述本发明的优选实施方式。虽然附图中显示了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整的传达给本领域的技术人员。
在下文的描述中,出于说明各种发明的实施例的目的阐述了某些具体细节以提供对各种发明实施例的透彻理解。但是,相关领域技术人员将认识到可在无这些具体细节中的一个或多个细节的情况来实践实施例。在其它情形下,与本申请相关联的熟知的装置、结构和技术可能并未详细地示出或描述从而避免不必要地混淆实施例的描述。
除非语境有其它需要,在整个说明书和权利要求中,词语“包括”和其变型,诸如“包含”和“具有”应被理解为开放的、包含的含义,即应解释为“包括,但不限于”。
在整个说明书中对“一个实施例”或“一些实施例”的提及表示结合实施例所描述的特定特点、结构或特征包括于至少一个实施例中。因此,在整个说明书的各个位置“在一个实施例中”或“在一些实施例”中的出现不一定全都指相同实施例。另外,特定特点、结构或特征可在一个或多个实施例中以任何方式组合。
此外,说明书和权利要求中所用的第一、第二、第三等术语,仅仅出于描述清楚起见来区分各个对象,而并不限定其所描述的对象的大小或其他顺序等,除非另有说明。
图1示出了根据本发明的实施例的示例性EPA跨网通信系统100的示意图。如图1中所示,EPA跨网通信系统100包括多个不同的EPA网络和连接这些EPA网络的EPA网关设备。每个EPA网络包括多个EPA设备,使用相应的网络协议进行通信。每个EPA网络可以具有不同的拓扑结构,并且取决于所采用的器件而具有不同的通信能力,例如一个EPA网络可能采用的是能够产生千兆带宽的通信通道的光器件,而另一个EPA网络可能采用的是能够产生百兆带宽的通信通道的电器件等。EPA网关设备,如EPA网关设备30,能够将来自一个EPA网络中的EPA设备的数据报文转发给另一EPA网络中的EPA设备。
图1中示意性地示出了2个EPA网络,即第一EPA网络10和第二EPA网络20。如图1中所示,第一EPA网络10包括多个第一EPA设备12,第二EPA网络20包括多个第二EPA设备22。在图1的实例中,第一EPA网络10具有双星型拓扑结构,每个第一EPA设备12具有两个EPA通道,分别与两个交换机14相连,两个EPA通道构成双冗余。第二EPA网络20具有双环形拓扑结构,每个第二EPA设备22具有4个EPA通道,其中每两个EPA通道为一对,组成一个环形通道,两个环形通道互为冗余。
注意,图1中以双星型拓扑结构和双环形拓扑结构为例示出了第一EPA网络10和第二EPA网络20,但是本领域技术人员可以理解,各个EPA网络并不限于图1所示的拓扑结构,而是可以具有其他类型的拓扑结构,如线型结构、星型结构或者混合型结构等。在这种情况下,EPA网络可以具有与图1中所示的不同的结构。例如,在第一EPA网络10是星型拓扑结构的情况下,各个第一EPA设备可以仅与一个交换机14相连,即仅有一个EPA通道而没有冗余通道。
EPA网关设备30能够将一个EPA网络中的一个EPA设备的数据报文转发给另一EPA网络中的另一EPA设备。
图2示出了根据本发明实施例的EPA网关设备30的结构示意图。EPA网关设备30可以包括多个EPA通信模块,这些EPA通信模块的数量大于或等于EPA网关设备30所连接的EPA网络的数量。每个EPA通信模块可以包括EPA协议电路、一个或多个媒体访问控制(MAC)层电路和一个或多个物理(PHY)层电路。每个EPA通信模块的EPA协议电路与该一个或多个MAC层电路相连,每个MAC层电路与一个PHY层电路相连以使得该PHY层电路提供一个与对应的EPA网络相连的EPA通道。其中EPA协议电路用于实现对应的EPA网络的网络协议,即根据EPA网络的网络协议对接收的数据进行处理。每个MAC层电路可以对接收的数据报文进行MAC层处理,并将处理后的数据报文发送给下一级的PHY层电路或者EPA协议电路。每个PHY层电路可以对接收的数据报文进行PHY层处理,并将处理后的报文发送给下一级的MAC层电路或者EPA通道。以下以图1所示的包括第一EPA网络10和第二EPA网络20的EPA跨网通信系统100为例来对EPA网关设备30的结构和操作进行描述。
如图2中所示,EPA网关设备30可以包括第一EPA通信模块310,其包括第一EPA协议电路312、一个或多个第一MAC层电路314和一个或多个第一PHY层电路316。第一EPA协议电路312与一个或多个第一MAC层电路314相连,每个第一MAC层电路314与一个第一PHY层电路316相连以使得该第一PHY层电路316提供一个与第一EPA网络10相连的第一EPA通道。其中第一EPA协议电路312用于实现第一EPA网络10的网络协议。每个第一MAC层电路314与一个第一PHY层电路316相连。第一EPA协议电路312根据要实现的通道数驱动相应数量的第一MAC层电路314和第一PHY层电路316以实现相应数量的第一EPA通道。每个第一PHY层电路316提供一个连接第一EPA网络10的第一EPA通道。如图1中所示,第一EPA网络10是双星型拓扑结构,两个交换机14各自通过一个EPA通道与EPA网关设备30相连,因此在EPA网关设备30中,需要为第一EPA网络10实现两个EPA通道。在这种情况下,第一EPA协议电路312需要驱动两个第一MAC层电路314和两个第一PHY层电路316以构建分别与两个交换机14相连的两个EPA通道。
EPA网关设备30还可以包括第二EPA通信模块320,其包括第二EPA协议电路322、一个或多个第二MAC层电路324和一个或多个第二PHY层电路326。第二EPA协议电路322与一个或多个第二MAC层电路324相连,每个第二MAC层电路324与一个第二PHY层电路326相连以使得该第二PHY层电路326提供一个与第二EPA网络20相连的第二EPA通道。其中第二EPA协议电路322用于实现第二EPA网络20的网络协议。每个第二MAC层电路324与一个第二PHY层电路326相连。第二EPA协议电路322根据要实现的EPA通道数驱动相应数量的第二MAC层电路324和第二PHY层电路326以实现相应数量的第二EPA通道。每个第二PHY层电路326提供一个连接第二EPA网络20的第二EPA通道。如图1中所示,第二EPA网络20是双环型拓扑结构,EPA网关设备30通过四个EPA通道接入第二EPA网络20,因此在EPA网关设备30中,需要为第二EPA网络20实现四个EPA通道。在这种情况下,第二EPA协议电路322需要驱动四个第二MAC层电路324和四个第二PHY层电路326以构建与两个第二EPA设备22进行双环形连接的四个EPA通道。
此外,在一些实施例中,EPA通信模块还可以包括一个或多个网络变压器,每个网络变压器与该EPA通信模块的一个PHY层电路相连,以将该PHY层电路的电压与相应的EPA网络匹配。例如,如图2中所示,第一EPA通信模块310还包括一个或多个网络变压器318,每个网络变压器318与一个第一PHY层电路316相连,以将该第一PHY层电路316的电压与第一EPA网络10匹配。
EPA网关设备30还包括数据转发模块330,其经由第一EPA通信模块310从第一EPA设备12接收一个数据报文,并且在确定该数据报文的目的地是一个第二EPA设备22时,将该数据报文转发给该第二EPA设备22。
数据转发模块330例如可以通过单独的处理器或者单独的终端设备来实现。在这种情况下,EPA网关设备30还可以包括接口单元340,其用于实现数据转发模块330与第一EPA通信模块310或第二EPA通信模块320之间的通信。如图2中所示,数据转发模块330与第一EPA通信模块310和第二EPA通信模块320实现在单独的芯片上,数据转发模块330可以通过接口单元340来对第一EPA通信模块310或第二EPA通信模块320进行控制。接口单元340例如可以通过EBI(外部总线接口)来实现。数据转发模块330可以通过向接口单元340发送片选信号以选择第一EPA通信模块310或第二EPA通信模块320来建立通信。数据转发模块330还可以通过向接口单元340发送操作指令和操作数据,如读操作指令、写操作指令、指令地址等。
在一些实现中,如图2中所示,可以将第一EPA协议电路312、第一MAC层电路314、第二EPA协议电路322、第二MAC层电路324和接口单元340实现在一个单独的实体上,例如实现为一个单独的电路或芯片等。
此外,EPA网关设备30还可以包括PHY初始化模块350和配置模块370。PHY初始化模块350可以位于第一EPA协议电路312、第一MAC层电路314、第二EPA协议电路322、第二MAC层电路324和接口单元340所位于的芯片上,并且与各个第一PHY层电路316和第二PHY层电路326相连,而配置模块370可以位于另一不同芯片上。配置模块370中存储有执行代码,PHY初始化模块350在上电时自动从配置模块370加载该执行代码以对第一PHY层电路316和第二PHY层电路326进行初始化配置。通过这种方式,PHY初始化模块350能够对片外的PHY芯片(即第一PHY层电路316和第二PHY层电路326)进行初始化,以将其配置为相应的工作模式(如百兆全双工模式)并获取网络连接和第一PHY层电路316和第二PHY层电路326的状态信息。
EPA网关设备30还可以包括参数及状态管理模块360和存储模块380。参数及状态管理模块360可以位于第一EPA协议电路312、第一MAC层电路314、第二EPA协议电路322、第二MAC层电路324和接口单元340所位于的芯片上,并且与第一EPA协议电路312和第二EPA协议电路322相连,而存储模块380可以位于另一不同芯片上。存储模块380用于存储各个EPA网络的协议栈的配置参数和组态参数,参数及状态管理模块360在上电后自动从参数及状态管理模块360读取该配置参数和组态参数并向第一EPA协议电路312和第二EPA协议电路322提供该配置参数和组态参数。该配置参数和组态参数用于控制第一EPA协议电路312和第二EPA协议电路322的运行。此外,参数及状态管理模块360还可以获取第一EPA协议电路312和第二EPA协议电路322的新的运行参数并通过写访问将其写入存储模块380,同时更新对应的寄存器的数值和状态。
在第一EPA网络10中的一个第一EPA设备12需要向第二EPA网络20发送数据时,其首先将该数据发送至EPA网关设备30,并且由该EPA网关设备30将该数据转发给第二EPA网络20中的第二EPA设备22。由于当前的EPA数据报文的数据结构无法支持二次寻址,即无法支持有两个目的地址,因此在本发明的方案中,通过在第一EPA设备发送的数据(即作为数据报文的有效载荷的用户数据)中嵌入其实际目的地址来使得EPA网关设备30能够正确寻址到对应的第二EPA设备22。
如图1中所示,假设第一EPA网络10的IP地址网段为192.168.1,其每个第一EPA设备12的IP地址分别为192.168.1.1、192.168.1.2、192.168.1.3……;第二EPA网络20的IP地址网段为192.168.2,其每个第二EPA设备22的IP地址分别为192.168.2.1、192.168.2.2、192.168.2.3、192.168.2.4……;EPA网关设备30的IP地址为192.168.1.20。以下将结合图3来描述根据本发明实施例的EPA网关设备30的跨网通信方法400的流程图。
如图3中所示,在步骤410,数据转发模块330可以经由EPA网关设备30的第一EPA通信模块310接收第一EPA网络10的第一EPA设备12发送的数据报文的用户数据,其中该数据报文的第一目的地址是EPA网关设备30的地址。
如前所述,第一EPA网络10中的每个第一EPA设备12在第一EPA网络10内通信时,其可以通过交换机14的转发直接将数据报文发送给另一第一EPA设备12。例如,如果IP地址为192.168.1.3的第一EPA设备12想要向IP地址为192.168.1.2的第一EPA设备12发送用户数据,其可以在数据报文的报文头中指示目的地址是192.168.1.2,并且将该数据报文发送给交换机14,交换机14可以基于该报文头中的目的地址确定IP地址为192.168.1.2的第一EPA设备12属于同一EPA网络,并且直接将该数据报文转发给IP地址为192.168.1.2的第一EPA设备12。然而,如果IP地址为192.168.1.3的第一EPA设备12想要向IP地址为192.168.2.1的第二EPA设备22发送数据,由于源和目的EPA设备分别属于不同的EPA网络,具有不同的协议类型和运行方式,从而无法直接通过交换机14的转发将该数据发送给第二EPA设备22。在这种情况下,第一EPA设备12例如可以在数据报文中设置两个目的地址,其中第一个目的地址是EPA网关设备30的IP地址192.168.1.20,第二个目的地址(即实际目的地址)是第二EPA设备22的IP地址192.168.2.1。例如,第一EPA设备12可以在数据报文的报文头中将第一目的地址设置为EPA网关设备30的IP地址192.168.1.20,在数据报文的有效载荷中将第二目的地址设置为第二EPA设备22的IP地址192.168.2.1,并且将该数据报文发送给交换机14,交换机14可以根据数据报文的报文头中的第一目的地址192.168.1.20经由第一EPA通道将该数据报文转发给EPA网关设备30。EPA网关设备30从第一EPA通道接收到该数据报文,经由第一EPA通信模块310根据第一EPA网络10的网络协议对该数据报文进行协议处理并将其数据(即有效载荷或用户数据)发送给数据转发模块330。
在步骤420,数据转发模块330对接收到的用户数据进行解析以确定该数据报文的第二目的地址。如前所述,第一EPA设备12在其数据报文的有效载荷(用户数据)中设置了第二目的地址作为该数据报文的实际目的地址,因此,在步骤420,数据转发模块330可以从用户数据中解析出该第二目的地址,例如为192.168.2.1。
在步骤430,数据转发模块330可以确定该第二目的地址属于第二EPA网络20并且将该用户数据和第二目的地址发送给EPA网关设备30的多个EPA通信模块中、与第二EPA网络20对应的第二EPA通信模块320。这里,数据转发模块330可以预先存储系统100中的各个EPA网络的网段信息和/或各个EPA网络中的各个EPA设备的IP地址,从而可以根据第二目的地址确定该第二目的地址所属的EPA网络。在系统100中仅包含两个EPA网络的情况下,数据转发模块330可以更加简单地确定解析出的第二目的地址属于另一EPA网络(因为同一EPA网络的数据分组不会被转发给EPA网关设备30)。
进一步地,在步骤440,第二EPA通信模块320(例如第二EPA协议电路322)可以基于第二EPA网络20的网络协议将该用户数据和第二目的地址打包为第二数据报文,其中该第二数据报文的目的地址(例如报文头中)是该第二目的地址。
在步骤450,可以经由第二EPA通信模块320将该第二数据报文发送给与该第二目的地址所指示的第二EPA网络20相连的第二EPA通道以发送该第二EPA设备22。例如,第二EPA协议电路322可以分别经由第二MAC层电路324和第二PHY层电路326对该第二数据报文进行MAC层处理和PHY层处理以通过第二EPA通道发送给与EPA网关设备30相连的第二EPA设备22,如IP地址为192.168.2.3和/或192.168.2.4的第二EPA设备22。该第二数据报文经由与EPA网关设备30相连的第二EPA设备22发送给第二EPA网络20的每个第二EPA设备22。接收到该第二数据报文的每个第二EPA设备22可以根据该第二数据报文的报文头中的目的地址确定该第二数据报文是否是针对它的数据报文,如果是,则对该数据报文进行处理,如果不是,则丢弃该数据报文。
在一些实施例中,在步骤430中,数据转发模块330还对该用户数据进行合法性检测以确定该用户数据是否符合第二EPA网络20的规则。例如,可以确定该用户数据的数据包长、IP地址、发送时间等是否符合第二EPA网络20的规则。
只有在确定该用户数据符合第二EPA网络10的规则时,将该用户数据和该第二目的地址发送给第二EPA通信模块320。
在上述描述中,以第一EPA网络10向第二EPA网络20发送数据为例对根据本发明的EPA跨网通信方案进行了描述,然而本领域技术人员可以理解,本发明并不局限于此,上述实例中的第一EPA网络10和第二EPA网络20可以互换以实现从第二EPA网络20向第一EPA网络10发送数据的EPA跨网通信方案,不同之处仅在于,对于前者,EPA网关设备30从第一EPA网络10的交换机14接收数据分组,对于后者,EPA网关设备30从第二EPA网络20的相邻的第二EPA设备22接收数据分组。
图4示出了适合实现本公开的实施例的EPA网关设备500的方框图。EPA网关设备500可以用来实现如图1中所示的EPA网关设备30。
如图所示,EPA网关设备500可以包括处理器510。处理器510控制EPA网关设备500的操作和功能。例如,在某些实施例中,处理器510可以借助于与其耦合的存储器520中所存储的指令530来执行各种操作。存储器520可以是适用于本地技术环境的任何合适的类型,并且可以利用任何合适的数据存储技术来实现,包括但不限于基于半导体的存储器件、磁存储器件和系统、光存储器件和系统。尽管图4中仅仅示出了一个存储器520,但是本领域技术人员可以理解,EPA网关设备500可以包括更多个物理上不同的存储器520。
处理器510可以是适用于本地技术环境的任何合适的类型,并且可以包括但不限于通用计算机、专用计算机、微处理器、数字信号处理器(DSP)以及基于处理器的多核处理器架构中的一个或多个多个。EPA网关设备500也可以包括多个处理器510。处理器510与收发器540耦合,收发器540可以借助于一个或多个通信部件来实现信息的接收和发送。上文参考图1至图3所描述的所有特征均适用于EPA网关设备500,在此不再赘述。
本发明可以实现为方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明的各个方面的计算机可读程序指令。
在一个或多个示例性设计中,可以用硬件、软件、固件或它们的任意组合来实现本发明所述的功能。例如,如果用软件来实现,则可以将所述功能作为一个或多个指令或代码存储在计算机可读介质上,或者作为计算机可读介质上的一个或多个指令或代码来传输。
本文公开的装置的各个单元可以使用分立硬件组件来实现,也可以集成地实现在一个硬件组件,如处理器上。例如,可以用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件或用于执行本文所述的功能的任意组合来实现或执行结合本发明所描述的各种示例性的逻辑块、模块和电路。
本领域普通技术人员还应当理解,结合本发明的实施例描述的各种示例性的逻辑块、模块、电路和算法步骤可以实现成电子硬件、计算机软件或二者的组合。
本发明的以上描述用于使本领域的任何普通技术人员能够实现或使用本发明。对于本领域普通技术人员来说,本发明的各种修改都是显而易见的,并且本文定义的一般性原理也可以在不脱离本发明的精神和保护范围的情况下应用于其它变形。因此,本发明并不限于本文所述的实例和设计,而是与本文公开的原理和新颖性特性的最广范围相一致。