局域网端口配置方法及装置、交换芯片和路由交换设备与流程

文档序号:15743683发布日期:2018-10-23 22:43阅读:238来源:国知局

本发明涉及路由技术领域,尤其涉及一种局域网端口配置方法及装置、交换芯片和路由交换设备。



背景技术:

图1为路由交换设备的基本结构框图,具体,CPU(Central Processing Unit,中央处理器)芯片通过MII(Media Independent Interface,媒体独立接口)接口连接方式同交换芯片(switch芯片)相连,而交换芯片通过RJ45接口(布线系统中信息插座(即通信引出端)连接器)连接网线,从而与用户PC(Personal Computer个人电脑)等设备相连。同时,CPU芯片通过特定接口连接方式和WAN(Wide Area Network,广域网)端处理芯片(DSL/PON芯片(DSL,Digital Subscriber Line,数字用户线路;PON,Passive Optical Network,无源光纤网络))相连。相关WAN端处理芯片与相应的WAN侧物理线路相连。操作系统运行在CPU上,相关的TCP/IP协议栈处理流程由CPU完成。

参见图1中的LAN1口(Port1)~LAN4口(Port4),路由交换设备具有不同的LAN口(LAN,Local Area Network,局域网)以方便对用户的不同设备进行管理。为了区分不同的LAN口,操作系统需要能够区分通过不同LAN口进来的数据报文,通常是通过虚拟局域网(VLAN,Virtual Local Area Network)技术帮助上层系统区分不同的LAN接口。一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。

现有技术通常采用每一LAN口对应放入一广播域中,不同的LAN口所位于的广播域并不相同,CPU口放入不同LAN口的广播域中。实际中不同LAN口互传数据采用的方式为:LAN口互传的数据经过CPU口(如图1中的Port5)中转,最终经过CPU上运行的TCP/IP协议栈进行三层路由转发处理后,才能转发给LAN3口,从而到达相应设备。这时存在两方面的问题:

1)由于路由交换设备CPU芯片性能一般相对PC机性能较低,无法及时处理相应LAN-LAN流量,从而导致LAN口间转发性能较低,特别是在目前LAN侧的RJ45接口普遍采用1000Mbps标准的情况下,在该常用vlan配置方案下,LAN-LAN转发性能往往远远低于LAN接口线速(1000Mbps)。

2)由于路由交换设备的CPU芯片使用大量资源用于LAN-LAN转发,无法充分发挥交换芯片的作用,所以当用户在内网拷贝数据时,会导致用户使用其他路由交换设备功能时,卡顿明显,极为影响用户使用,降低用户体验。



技术实现要素:

本发明实施例提供一种局域网端口配置方法及装置、交换芯片和路由交换设备,能有效解决现有技术不同LAN口间转发性能不足的问题,充分利用交换芯片的硬件资源,提高用户体验。

本发明一实施例提供一种局域网端口配置方法,适用于路由交换设备,所述路由交换设备包括交换芯片,所述交换芯片上设有若干局域网端口,所述配置方法包括:

将每一所述局域网端口的下行方向均设置一对应的第一局域网,将每一所述局域网端口的上行方向均设置一对应的第二局域网,且将每一所述局域网端口均加入其它所述局域网端口所对应的第一局域网;

当通过任一所述局域网端口接收到数据报文时,对所述数据报文打上接收所述数据报文的所述局域网端口所对应的第一局域网的地址标签;

分析所述数据报文的目的地址所对应的端口;

当所述数据报文的目的地址所对应的端口为所述局域网端口时,直接通过所述目的地址对应的所述局域网端口转发所述数据报文。

进一步的,所述路由交换设备还包括中央处理器芯片,所述交换芯片还设有连接所述中央处理器芯片的中央处理器端口,则所述配置方法还包括:将所述中央处理器端口加入所有所述局域网端口所对应的所述第一局域网和所述第二局域网。

进一步的,所述分析所述数据报文的目的地址所对应的端口后还包括:

当所述数据报文的目的地址所对应的端口为所述中央处理器端口时,将所述数据报文打上的所述第一局域网的地址标签修改对接收所述数据报文的局域网端口的第二局域网的地址标签。

进一步的,每一所述第一局域网均设有一对应的地址表,所述地址表包括加入所述第一局域网的每一所述局域网端口与地址信息的匹配关系;则,

所述分析所述数据报文的目的地址所对应的端口包括:

获取所述数据报文中的目的地址的地址信息;

根据所述目的地址的地址信息查找在所述地址表中是否存在所对应的局域网端口。

相应的,本发明实施例还提供一种局域网端口配置装置,适用于路由交换设备,所述路由交换设备包括交换芯片,所述交换芯片上设有若干局域网端口,所述配置装置包括:

配置单元,用于每一所述局域网端口的上行方向均设置一对应的第一局域网,每一所述局域网端口的下行方向均设置一对应的第二局域网,且每一所述局域网端口均加入其它所述局域网端口所对应的第一局域网;

标签单元,用于当通过任一所述局域网端口接收到数据报文时,对所述数据报文打上接收所述数据报文的所述局域网端口所对应的第一局域网的地址标签;

分析单元,用于分析所述数据报文的目的地址所对应的端口;

转发单元,用于当所述数据报文的目的地址所对应的端口为所述局域网端口时,直接通过所述目的地址对应的所述局域网端口转发所述数据报文。

进一步的,所述路由交换设备还包括中央处理器芯片,所述交换芯片还设有连接所述中央处理器芯片的中央处理器端口,则所述配置单元还用于将所述中央处理器端口加入所有所述局域网端口所对应的所述第一局域网和所述第二局域网。

所述局域网端口配置装置还包括:

标签修改单元,用于当所述数据报文的目的地址所对应的端口为所述中央处理器端口时,将所述数据报文打上的所述第一局域网的地址标签修改对接收所述数据报文的局域网端口的第二局域网的地址标签。

进一步的,每一所述第一局域网均设有一对应的地址表,所述地址表包括加入所述第一局域网的每一所述局域网端口与地址信息的匹配关系;则,

所述分析所述数据报文的目的地址所对应的端口包括:

获取所述数据报文中的目的地址的地址信息;

根据所述目的地址的地址信息查找在所述地址表中是否存在所对应的局域网端口。

相应的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明任一实施例所提供的所述局域网端口配置方法的步骤。

相应的,本发明实施例还提供一种交换芯片,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如本发明任一实施例所提供的一种局域网端口配置方法;

所述交换芯片还包括若干局域网端口。

相应的,本发明实施例还提供一种路由交换设备,包括本发明任一实施例所提供的一种交换芯片,所述路由交换设备还包括中央处理器芯片,所述交换芯片还设有中央处理器端口,所述中央处理器端口连接所述中央处理器芯片;

所述路由交换设备还包括无源光纤网络芯片或数字用户线路芯片。

与现有技术相比,本发明实施例公开的局域网端口配置方法及装置、交换芯片和路由交换设备,交换芯片的局域网端口的上行方向及下行方向分别设置不同的局域网,用设计上的复杂性换取了性能上的提升,解决了普通vlan配置方案下的局域网间转发性能不足的问题,充分利用了交换芯片硬件资源,提升了用户体验。

附图说明

图1是一种路由交换设备方法的流程示意图;

图2是本发明实施例提供的一种局域网端口配置方法的流程示意图;

图3是本发明实施例提供的一种局域网端口配置装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图2,是本发明实施例提供的一种局域网端口配置方法的流程示意图,适用于路由交换设备,路由交换设备的结构可以采用图1所示的,路由交换设备包括交换芯片(switch芯片)、中央处理器芯片(CPU芯片)和PON/DSL芯片,交换芯片上设有若干局域网端口,如Port1~Port4口,交换芯片设有中央处理器芯片端口Port5,中央处理器芯片上设有端口eth0连接该中央处理器芯片端口Port5,中央处理器芯片(CPU芯片)通过特定接口连接方式和wan端处理芯片(DSL/PON芯片)相连。

本实施例配置方法包括步骤:

S0、将每一局域网端口的下行方向均设置一对应的第一局域网,将每一局域网端口的上行方向均设置一对应的第二局域网,且将每一局域网端口均加入其它局域网端口所对应的第一局域网;

S1、当通过任一局域网端口接收到数据报文时,对数据报文打上接收数据报文的局域网端口所对应的第一局域网的地址标签;

S2、分析数据报文的目的地址所对应的端口;

S3、当数据报文的目的地址所对应的端口为局域网端口时,直接通过目的地址对应的局域网端口转发数据报文;

具体,步骤S0为一配置状态,即在路由交换设备工作过程中,各个局域网端口保持该配置情况。步骤S1~S3为当局域网端口接收到数据报文时顺次执行的步骤。

具体,步骤S1的下行方向表示局域网端口接收数据(RX)的方向,上行方向表示局域网端口发射数据(TX)的方向。

进一步的,配置方法的步骤S0还包括:将中央处理器端口加入所有局域网端口所对应的第一局域网和第二局域网。

需要说明的是,对于步骤S3“当数据报文的目的地址所对应的端口为局域网端口时,直接通过目的地址对应的局域网端口转发数据报文”中的“直接”指的是当确定相应转发的局域网端口时,可以直接进行交换硬件数据转发,此时相关数据报文无需经过从路由交换设备的中央处理器芯片端口(CPU口)进入到中央处理器芯片从而进入到TCP/IP协议栈处理之后,再由中央处理器芯片转发回交换芯片的过程。

进一步的,步骤S2分析数据报文的目的地址所对应的端口后还包括:

S4、当数据报文的目的地址所对应的端口为中央处理器端口时,将数据报文打上的第一局域网的地址标签修改对接收数据报文的局域网端口的第二局域网的地址标签。

进一步的,本实施例中每一第一局域网均设有一对应的mac地址表,mac地址表包括加入第一局域网的每一局域网端口与地址信息的匹配关系;则,

步骤S2分析数据报文的目的地址所对应的端口具体包括:

S21、获取数据报文中的目的地址的地址信息;

S22、根据目的地址的地址信息查找在mac地址表中是否存在所对应的局域网端口。

进一步的,数据报文可以包括的结构信息:源地址SA、目的地址DA、标签Tag、类型Type、数据Data和校验字段CRC。

进一步的,构建mac地址表的方法可以为:交换芯片会学习到从对应的局域网端口的进来的数据报文的源地址SA,并将该局域网端口和该源地址SA填入对应的mac地址表中,从而学习到端口及其对应匹配的地址信息。下述表格1为mac地址表的一种示例。

表格1

另外,这里需要说明,当一个数据报文从一局域网端口进来,该局域网端口所配置第一局域网的地址标签为(vlan tag)的0x801,第二局域网的地址标签为0x1;数据报文被打上0x801的地址标签后,如果该数据报文不是LAN-LAN转发而是应该被路由器路由到wan侧。这时,路由交换设备实际上是无法处理被打上0x801的地址标签数据报文,这里采用修改linux内核协议栈代码的方式,使得当数据报文进入内核协议栈时,将带0x801的地址标签的数据报文改为0x1。也就是说,在上层系统看来,硬件swtich的vlan配置表现与通用简单方案一致。屏蔽LAN侧复杂vlan配置方案造成的复杂性。

结合图1所示的路由交换设备的结构,以下表2作为例子进一步说明本实施例:

表格2

这里对表2的内容进行解释说明:表2中呈现了switch芯片端口的上行方向及下行方向所对应加入的局域网端口,标注“Y”表示该端口的该数据传输方向加入该虚拟局域网分组,RX表示接收,即下行方向;TX表示发射,即上行方向;表中举例的路由交换设备具有4个局域网端口Port0、Port1、Port2和Port3以及一中央处理器接口Port5;具体的:

局域网端口Port0的下行方向对应设置的第一局域网为0x801,上行方向对应设置的第二局域网为0x1,Port1、Port2、Port3和Port5的下行方向均加入该局域网0x801;

局域网端口Port1的下行方向对应设置的第一局域网为0x802,上行方向对应设置的第二局域网为0x2,Port0、Port2、Port3和Port5的下行方向均加入该局域网0x802;

局域网端口Port2的下行方向对应设置的第一局域网为0x803,上行方向对应设置的第二局域网为0x3,Port0、Port1、Port3和Port5的下行方向均加入该局域网0x803;

局域网端口Port3的下行方向对应设置的第一局域网为0x804,上行方向对应设置的第二局域网为0x4,Port0、Port1、Port2和Port5的下行方向均加入该局域网0x804。

当数据报文从交换芯片的端口的进入时,需要打上相应的虚拟局域网标签VLAN,是switch硬件端口的入口vlan规则。基于上述设置,则从Port0口进入的数据报文打上0x801的vlan tag,从Port1口进入的数据报文打上0x802的vlan tag,从Port2口进入的数据报文打上0x803的vlan tag,从Port3口进入的数据报文打上0x804的vlan tag。而出口vlan规则为非CPU口直接丢掉vlan头部,即从Port0~Port4口出去的数据报文,都会被去掉vlan tag。而CPU口为透传规则,即不对vlan头部进行处理。

另外的,每一局域网均构建了一份mac地址表,记录了加入该局域网中端口(包括局域网端口和中央处理器芯片端口)及其地址信息的匹配关系,通过上述配置方式影响mac表的查找,不考虑共享mac表的影响;举例说明:假设有Port0进来的数据报文,首先该数据报文会被打上Port0所对应的第一局域网的标签0x801,读取该数据报文中的目的地址信息,然后,通过查阅该第一局域网0x801所构建的mac地址表,以确定目的地址信息所对应的端口为局域网端口Port1时,加入的第一局域网0x801的局域网端口可以学习到第一局域网0x801的mac地址表,从局域网端口Port1直接把该数据报文转发出去,其它端口不受影响,那么从Port0到Port1的数据报文就能实现直接转发。如果未查找到该mac地址,交换芯片会采取洪泛方式,即每个端口均复制一份。

相比于现有技术的配置方法,本实施例通过对交换芯片(switch芯片)的端口的上行方向及下行方向分别设置不同的vlan,该vlan配置方案解决了普通vlan配置方案下的LAN-LAN转发性能不足的问题,充分利用了switch交换芯片硬件资源,实现了性能上的提升,提高了用户体验;且通过内核协议栈修改,使得系统上层看到的vlan配置与简单通用方式一致。同时,在协议栈中屏蔽LAN到LAN的数据报文软件转发,避免特定情况下,存在数据被软件及硬件同时转发的问题。

另外,现有技术的某些switch芯片下,可能有特定的硬件处理这一问题。例如,某些switch芯片会为进入芯片的数据报文打上专用的特定数据报文包头,在该数据头中加入LAN口信息。这些方案下可不使用vlan进行不同LAN口数据报文的区分,规避了前文性能影响问题,但这些方案具有硬件相关性,硬件成本相对较高,且不具有普适性。本实施例的配置方法通过设计上的改动解决了vlan配置方案下的LAN-LAN转发性能不足的问题,无需对硬件进行改动,具有普遍适应性。

相应的,本发明实施例还提供一种局域网端口配置装置,适用于路由交换设备,路由交换设备包括交换芯片(switch芯片),交换芯片上设有若干局域网端口,参见图1所示的Port1~Port4,配置装置包括:

配置单元1,用于每一局域网端口的上行方向均设置一对应的第一局域网,每一局域网端口的下行方向均设置一对应的第二局域网,且每一局域网端口均加入其它局域网端口所对应的第一局域网;

标签单元2,用于当通过任一局域网端口接收到数据报文时,对数据报文打上接收数据报文的局域网端口所对应的第一局域网的地址标签;

分析单元3,用于分析数据报文的目的地址所对应的端口;

转发单元4,用于当数据报文的目的地址所对应的端口为局域网端口时,直接通过目的地址对应的局域网端口转发数据报文。

进一步的,路由交换设备还包括中央处理器芯片(cpu芯片),交换芯片还设有连接中央处理器芯片的中央处理器端口Port5,则配置单元1还用于将中央处理器端口加入所有局域网端口所对应的第一局域网和第二局域网。

局域网端口配置装置还包括:

标签修改单元5,用于当数据报文的目的地址所对应的端口为中央处理器端口时,将数据报文打上的第一局域网的地址标签修改对接收数据报文的局域网端口的第二局域网的地址标签。

进一步的,每一第一局域网均设有一对应的地址表,地址表包括加入第一局域网的每一局域网端口与地址信息的匹配关系;则,

分析数据报文的目的地址所对应的端口包括:

获取数据报文中的目的地址的地址信息;

根据目的地址的地址信息查找在地址表中是否存在所对应的局域网端口。

相应的,本发明实施例还提供一种交换芯片,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如本发明任一实施例所提供的一种局域网端口配置方法;例如图2所示的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述交换芯片中的执行过程。例如,所述计算机程序可以被分割成如下模块:

配置单元1,用于每一所述局域网端口的上行方向均设置一对应的第一局域网,每一所述局域网端口的下行方向均设置一对应的第二局域网,且每一所述局域网端口均加入其它所述局域网端口所对应的第一局域网;

标签单元2,用于当通过任一所述局域网端口接收到数据报文时,对所述数据报文打上接收所述数据报文的所述局域网端口所对应的第一局域网的地址标签;

分析单元3,用于分析所述数据报文的目的地址所对应的端口;

转发单元4,用于当所述数据报文的目的地址所对应的端口为所述局域网端口时,直接通过所述目的地址对应的所述局域网端口转发所述数据报文。

所述交换芯片,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。

所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述交换芯片的控制中心,利用各种接口和线路连接整个交换芯片的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述交换芯片的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等。

其中,所述交换芯片集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

进一步的,本实施例提供的所述交换芯片还包括若干局域网端口。

相应的,本发明实施例还提供一种路由交换设备,包括本发明任一实施例所提供的一种交换芯片,所述路由交换设备还包括中央处理器芯片,所述交换芯片还设有中央处理器端口,所述中央处理器端口连接所述中央处理器芯片;

所述路由交换设备还包括无源光纤网络芯片或数字用户线路芯片。

一般而言,路由交换设备都会有其他硬件设备,LED灯,硬件按钮(回复出厂等),无线芯片(2.4G/5G等)及天线等,内存DDR,FLASH。其中,LED灯与硬件按钮通常和CPU芯片的gpio引脚相连。无线芯片使用pci总线和CPU相连,然后相关天线等外设与无线芯片相应引脚相连。内存DDR及FLASH都是直接连在CPU相应引脚上。

需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1