一种报文发送方法及二三层网络设备技术

技术编号:17917640 阅读:31 留言:0更新日期:2018-05-10 21:27
本发明专利技术提供一种报文发送方法,涉及有线通信领域,能够动态配置二三层网络设备中二层口和三层口的数量,并且自由扩展网络拓扑。该方法包括:交换芯片从端口接收报文,其中包括目的媒体访问控制地址MAC地址;所述交换芯片若确定所述报文没有携带虚拟局域网标签VLAN TAG,则为所述报文添加VLAN TAG,其中,所述VLAN TAG中包括VLAN ID;所述交换芯片根据所述报文的VLAN TAG和目的MAC地址查询地址表确定所述报文的目的端口,若所述目的端口为所述CPU口,则将所述报文发送至所述CPU的驱动模块;所述CPU的驱动模块接收所述交换芯片发送的报文;所述CPU的驱动模块若确定接收的报文中的VLAN TAG的VLAN ID为专属VLAN ID,则剥掉所述报文的VLAN TAG,并将剥掉VLAN TAG后的报文发送至所述CPU的上层模块。

【技术实现步骤摘要】
一种报文发送方法及二三层网络设备
本专利技术涉及有线通信领域,尤其涉及一种报文发送方法及二三层网络设备。
技术介绍
对于企业网络来说,随着使用人数和业务的增加,其对网络带宽和网络可扩展性的要求会越来越高,因此需要根据实际情况,对网络进行升级或者扩展。根据需求,需要提升网速、增加网络可靠性或因业务需要接入不同网络的这些场景下,需要使用到多个对外的三层口。在网络内部,需要根据相应的应用,划分多个相互独立的子网,子网之间的通信需求可灵活配置。如图1所示,网络设备上有多个端口,与对外网络连接的端口是三层口,连接用户和内部子网的端口是二层口。比如,图1中端口1、2、3、4是二层口,端口5、6是三层口。目前在低成本交换芯片+网络处理器的硬件方案上,进行二三层端口隔离方案主要有两种:Port-Based(基于端口的)VLAN(VirtualLocalAreaNetwork,虚拟局域网)隔离和利用802.1Q协议进行固定隔离。其中,采用交换芯片的Port-BaseVLAN功能进行隔离的主要实现原理为,将各端口都设置为trunk口(中继端口),并且为每个端口分配一个bitmap(位图),bitmap中的每一位表示该端口是否可以投递报文到目的端口的开关。进行三层隔离时,只需将要设置为三层口的bitmap从其他端口中去除,使其只和CPU(CentralProcessingUnit,中央处理器)口通信。但是二层口之间由于各端口都是trunk口,且不受802.1Q协议的控制,使二层口之间无法灵活的划分子网。因此,该方案可以灵活的划分出三层口,但是,在二层口的配置上存在极大的限制。并且在二层转发过程中,如果两个端口加入了不同的VLAN,硬件层面无法互通,两个端口的所有报文转发都需要上送到CPU,而CPU的处理能力有限,无法达到硬件线速,影响报文收发速率。利用802.1Q协议进行固定隔离的方法,其模型即为经典路由器的配置模型,主要原理是将网络设备中的CPU口和二层口划分到同一个VLAN,将CPU口和三层口划分到同一个VLAN。二层口之间转发由交换芯片根据VLAN表和MAC地址表进行,二层口到三层口之间的流量转发由CPU进行转发。但是,该模型下由于二层口和三层口下都无法处理带VLANTAG的报文或三层口需要和CPU口进行配置强绑定,在网络应用中会受到极大的限制,无法满足下述网络扩展需求:无法在三层口下进行二层拓展,无法在二层口下进行扩展,二层口和三层口之间无法进行动态切换。
技术实现思路
本申请提供一种报文发送方法及二三层网络设备,能够动态配置二三层网络设备中二层口和三层口的数量,并且可以自由扩展二层口、三层口网络拓扑,同时保证报文正确收发和报文收发速率。为达到上述目的,本申请采用如下技术方案:第一方面,本申请提供一种报文发送方法,应用于二三层网络设备,所述二三层网络设备包括交换芯片和中央处理器CPU,所述交换芯片包括N个端口,N大于等于三,每个端口被设置为中继端口trunk口模式,且每个端口具有各自的虚拟局域网标识VLANID;该方法可以包括:所述交换芯片从端口接收报文,其中包括目的媒体访问控制地址MAC地址;所述交换芯片若确定所述报文没有携带虚拟局域网标签VLANTAG,则为所述报文添加VLANTAG,其中,所述VLANTAG中包括VLANID;所述交换芯片根据所述报文的VLANTAG和目的MAC地址查询地址表确定所述报文的目的端口,若所述目的端口为所述CPU口,则将所述报文发送至所述CPU的驱动模块;所述CPU的驱动模块接收所述交换芯片发送的报文;所述CPU的驱动模块若确定接收的报文中的VLANTAG的VLANID为专属VLANID,则剥掉所述报文的VLANTAG,并将剥掉VLANTAG后的报文发送至所述CPU的上层模块。第二方面,本申请提供一种报文发送方法,应用于二三层网络设备,所述二三层网络设备包括交换芯片和中央处理器CPU,所述交换芯片包括N个端口,N大于等于三,每个端口被设置为中继端口trunk口模式,且每个端口具有各自的VLANID;该方法可以包括:所述CPU的驱动模块接收所述CPU的上层模块发送的报文,其中包括目的MAC地址;所述CPU的驱动模块若确定所述报文没有携带VLANTAG,则为所述报文添加VLANTAG,其中,所述VLANTAG中包括VLANID;所述交换芯片接收所述CPU的驱动模块发送的报文,根据所述报文的VLANTAG和目的MAC地址查询地址表确定所述报文的目的端口,将所述报文发送至所述报文的目的端口。第三方面,本申请提供一种二三层网络设备,该二三层网络设备包括:交换芯片和中央处理器CPU,所述交换芯片包括N个端口,N大于等于三,每个端口被设置为中继端口trunk口模式,且每个端口具有各自的VLANID;所述交换芯片,用于从端口接收报文,所述报文中包括目的MAC地址;所述交换芯片,还用于确定接收的报文是否携带VLANTAG;所述交换芯片,还用于若确定所述报文没有携带VLANTAG,则为所述报文添加VLANTAG,其中,所述VLANTAG中包括VLANID;所述交换芯片,还用于根据所述报文的VLANTAG和目的MAC地址查询地址表确定所述报文的目的端口,若所述目的端口为所述CPU口,则将所述报文发送至所述CPU;所述CPU的驱动模块,用于接收所述交换芯片发送的报文;所述CPU的驱动模块,还用于确定接收的报文中的VLANTAG的VLANID是否为专属VLANID;所述CPU的驱动模块,还用于若确定接收的报文中的VLANTAG的VLANID为专属VLANID,则剥掉所述报文的VLANTAG,并将剥掉VLANTAG后的报文发送至所述CPU的上层模块。第四方面,本申请提供一种二三层网络设备,该二三层网络设备包括:交换芯片和中央处理器CPU,所述交换芯片包括N个端口,N大于等于三,每个端口被设置为中继端口trunk口模式,且每个端口具有各自的VLANID;所述CPU的驱动模块,用于接收所述CPU的上层模块发送的报文,其中包括目的MAC地址;所述CPU的驱动模块,还用于确定所述报文是否携带VLANTAG;所述CPU的驱动模块,还用于若确定所述报文没有携带VLANTAG,则为所述报文添加VLANTAG,其中,所述VLANTAG中包括VLANID;所述交换芯片,用于接收所述CPU的驱动模块发送的报文,根据所述报文的VLANTAG和目的MAC地址查询地址表确定所述报文的目的端口,将所述报文发送至所述报文的目的端口。第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有一个或多个程序,一个或多个程序包括计算机执行指令,当该二三层网络设备的处理单元执行该计算机执行指令时,该二三层网络设备执行上述第一方面及其各种可选的实现方式中任意之一所述的报文发送方法。第六方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有一个或多个程序,一个或多个程序包括计算机执行指令,当该二三层网络设备的处理单元执行该计算机执行指令时,该二三层网络设备执行上述第二方面及其各种可选的实现方式中任意之一所述的报文发送方法。第七方面,本申请提供一种有线通信网络,该有线通信网络包括用户、对外网络和第三方面或第四方面及其各种可本文档来自技高网
...
一种报文发送方法及二三层网络设备

【技术保护点】
一种报文发送方法,其特征在于,应用于二三层网络设备,所述二三层网络设备包括交换芯片和中央处理器CPU,所述交换芯片包括N个端口,N大于等于三,每个端口被设置为中继端口trunk口模式,且每个端口具有各自的虚拟局域网标识VLAN ID;所述报文发送方法包括:所述交换芯片从端口接收报文,其中包括目的媒体访问控制地址MAC地址;所述交换芯片若确定所述报文没有携带虚拟局域网标签VLANTAG,则为所述报文添加VLAN TAG,其中,所述VLAN TAG中包括VLAN ID;所述交换芯片根据所述报文的VLAN TAG和目的MAC地址查询地址表确定所述报文的目的端口,若所述目的端口为所述CPU口,则将所述报文发送至所述CPU的驱动模块;所述CPU的驱动模块接收所述交换芯片发送的报文;所述CPU的驱动模块若确定接收的报文中的VLAN TAG的VLANID为专属VLAN ID,则剥掉所述报文的VLAN TAG,并将剥掉VLANTAG后的报文发送至所述CPU的上层模块。

【技术特征摘要】
1.一种报文发送方法,其特征在于,应用于二三层网络设备,所述二三层网络设备包括交换芯片和中央处理器CPU,所述交换芯片包括N个端口,N大于等于三,每个端口被设置为中继端口trunk口模式,且每个端口具有各自的虚拟局域网标识VLANID;所述报文发送方法包括:所述交换芯片从端口接收报文,其中包括目的媒体访问控制地址MAC地址;所述交换芯片若确定所述报文没有携带虚拟局域网标签VLANTAG,则为所述报文添加VLANTAG,其中,所述VLANTAG中包括VLANID;所述交换芯片根据所述报文的VLANTAG和目的MAC地址查询地址表确定所述报文的目的端口,若所述目的端口为所述CPU口,则将所述报文发送至所述CPU的驱动模块;所述CPU的驱动模块接收所述交换芯片发送的报文;所述CPU的驱动模块若确定接收的报文中的VLANTAG的VLANID为专属VLANID,则剥掉所述报文的VLANTAG,并将剥掉VLANTAG后的报文发送至所述CPU的上层模块。2.根据权利要求1所述的方法,其特征在于,所述N个端口中包括一个CPU口,所述CPU口为所述交换芯片和所述CPU的通信端口,除所述CPU口外的N-1个端口中,被配置为以下任意一种端口:第一类端口、第二类端口和第三类端口;所述第一类端口的VLANID为专属VLANID;所述第二类端口包括主接口和子接口,所述第二类端口的主接口配置为二层口,根据配置的VLANID划分所属VLAN;所述第三类端口包括主接口和子接口,所述第三类端口的主接口的VLANID为专属VLANID,所述第三类端口的子接口配置为二层口,根据配置的VLANID划分所属VLAN。3.根据权利要求2所述的方法,其特征在于,所述交换芯片若确定所述报文没有携带虚拟局域网标签VLANTAG,则为所述报文添加VLANTAG,包括:若所述报文的接收端口为第一类端口,则为所述报文添加的VLANTAG中的VLANID为所述专属VLANID;或者,若所述报文的接收端口为第二类端口或第三类端口,则为所述报文添加的VLANTAG中的VLANID为所述第二类端口或第三类端口的主接口的VLANID。4.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法还包括:所述二三层网络设备维护VLAN表,所述VLAN表包含所述N个端口中每个端口的标识,以及与每个端口对应的属性信息;所述属性信息用于指示所述端口的种类;所述二三层网络设备接收用户输入的配置信息,所述配置信息包括至少一个端口的至少一个属性信息;根据所述配置信息配置对应端口的属性信息。5.根据权利要求1-3任意一项所述的方法,其特征在于:所述专属VLANID属于第一数值范围,所述第一数值范围内的VLANID不参与网络的VLAN配置。6.一种报文发送方法,其特征在于,应用于二三层网络设备,所述二三层网络设备包括交换芯片和中央处理器CPU,所述交换芯片包括N个端口,N大于等于三,每个端口被设置为中继端口trunk口模式,且每个端口具有各自的VLANID;所述报文发送方法包括:所述CPU的驱动模块接收所述CPU的上层模块发送的报文,其中包括目的MAC地址;所述CPU的驱动模块若确定所述报文没有携带VLANTAG,则为所述报文添加VLANTAG,其中,所述VLANTAG中包括VLANID;所述交换芯片接收所述CPU的驱动模块发送的报文,根据所述报文的VLANTAG和目的MAC地址查询地址表确定所述报文的目的端口,将所述报文发送至所述报文的目的端口。7.根据权利要求6所述的方法,其特征在于,所述N个端口中包括一个CPU口,所述CPU口为所述交换芯片和所述CPU的通信端口,除所述CPU口外的N-1个端口中,被配置为以下任意一种端口:第一类端口、第二类端口和第三类端口;所述第一类端口的VLANID为专属VLANID;所述第二类端口包括主接口和子接口,所述第二类端口的主接口配置为二层口,根据配置的VLANID划分所属VLAN;所述第三类端口包括主接口和子接口,所述第三类端口的主接口的VLANID为专属VLANID,所述第三类端口的子接口配置为二层口,根据配置的VLANID划分所属VLAN。8.根据权利要求7所述的方法,其特征在于,所述CPU的驱动模块若确定所述报文没有携带VLANTAG,则为所述报文添加VLANTAG,包括:若所述报文的目的端口为第一类端口,则为所述报文添加的VLANTAG中的VLANID为所述专属VLANID;或者,若所述报文的目的端口为第二类端口或第三类端口,则为所述报文添加的VLANTAG中的VLANID为所述第二类端口或第三类端口的主接口的VLANID。9.一种二三层网络设备,其特征在于,包括:交换芯片和中央处理器CPU,所述交换芯片包括N个端口,N大于等于三,每个端口被设置为中继端口trunk口模式,且每个端口具有...

【专利技术属性】
技术研发人员:郭重汝
申请(专利权)人:锐捷网络股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1