发明内容
本发明提供一种在非线速接口板上进行端口带宽配置的方法和非线速接口板,有利于更好地满足接入端用户的业务需求,提高设备端口的接入密度。
为达到上述目的,本发明提供一种在非线速接口板上进行端口带宽配置的方法,应用于包括包处理模块、端口扩展模块以及多个用户端口的非线速接口板,所述包处理模块以及端口扩展模块通过级联通道连接,包括:
将所述级联通道划分成多个虚拟端口,将每个虚拟端口映射到不同的用户端口,并对不同虚拟端口以及对应的用户端口的带宽进行配置;
通过所述虚拟端口与对应的用户端口间的交互实现报文转发。
其中,所述级联通道由所述包处理模块以及端口扩展模块间的一个物理接口组成、或由多个物理接口聚合得到。
其中,所述对不同虚拟端口以及对应的用户端口的带宽进行配置具体包括:
在所述包处理模块中分配所述虚拟端口的带宽进行配置,和/或在所述端口扩展模块中分配所述用户端口的带宽。
其中,所述将每个虚拟端口映射到不同的用户端口后,还包括:
在所述包处理模块中存储用户端口到虚拟端口的映射关系,并为不同的虚拟端口绑定发送队列;
在所述端口扩展模块中存储虚拟端口到用户端口的映射关系。
其中,所述通过所述虚拟端口与对应的用户端口间的交互实现报文转发具体包括:
当所述报文为上行报文时:
所述端口扩展模块从用户端口接收到上行报文时,在所述上行报文中添加所述用户端口的信息并发送到所述包处理模块;
所述包处理模块根据所述上行报文中的用户端口的信息,以及所述用户端口到虚拟端口的映射关系,获取与所述用户端口对应的虚拟端口;
当所述报文为下行报文时:
所述包处理模块接收到目的端口为虚拟端口的下行报文时,在所述下行报文中添加所述虚拟端口的信息并发送到所述对应的发送队列,向所述端口扩展模块发送;
所述端口扩展模块根据所述下行报文中的虚拟端口的信息,以及所述虚拟端口到用户端口的映射关系,获取与所述虚拟端口对应的用户端口,并将所述下行报文向所述获取到的用户端口发送。
本发明还提供一种非线速接口板,包括包处理模块、端口扩展模块以及多个用户端口,所述包处理模块以及端口扩展模块通过级联通道连接,所述非线速接口板还包括:
端口划分模块,用于将所述级联通道划分成多个虚拟端口,将每个虚拟端口映射到不同的用户端口,并对不同虚拟端口以及对应的用户端口的带宽进行配置;
报文转发模块,用于通过所述端口划分模块划分的虚拟端口与对应的用户端口间的交互,实现报文转发。
其中,所述端口划分模块具体包括:
级联通道设置子模块,用于将所述包处理模块以及端口扩展模块间的一个物理接口组成级联通道、或多个物理接口聚合得到级联通道;
端口配置子模块,用于在所述包处理模块中分配所述虚拟端口的带宽,在所述端口扩展模块中分配所述用户端口的带宽。
其中,
所述包处理模块具体包括:第一对应关系存储子模块,用于存储用户端口到虚拟端口的映射关系,并为不同的虚拟端口绑定发送队列;
所述端口扩展模块具体包括:第二对应关系存储子模块,用于存储虚拟端口到用户端口的映射关系。
其中,所述报文转发模块具体包括:
上行信息添加子模块,位于所述端口扩展模块,用于当从用户端口接收到上行报文时,在所述上行报文中添加所述用户端口的信息并发送到所述包处理模块;
上行报文解析子模块,位于所述包处理模块,用于当接收到上行报文时,根据所述上行报文中的用户端口的信息,以及所述第一对应关系存储子模块中用户端口到虚拟端口的映射关系,获取与所述用户端口对应的虚拟端口;
下行信息添加子模块,位于所述包处理模块,用于接收到目的端口为虚拟端口的下行报文时,在所述下行报文中添加所述虚拟端口的信息并发送到所述对应的发送队列,向所述端口扩展模块发送;
上行报文解析子模块,位于所述端口扩展模块,用于接收到下行报文时,根据所述下行报文中的虚拟端口的信息,以及所述第二对应关系存储子模块中虚拟端口到用户端口的映射关系,获取与所述虚拟端口对应的用户端口,并将所述下行报文向所述获取到的用户端口发送。
与现有技术相比,本发明具有以下优点:
通过使用本发明提供的方法,将非线速接口板上的级联通道聚合后划分成多个虚拟端口并映射到不同的用户端口,通过各虚拟端口与对应的用户端口间的交互实现报文的转发。使得用户可以根据业务需求灵活地配置接入端口的带宽,在充分利用级联带宽的同时,又保持了非线速接口板高端口密度的优点,降低了每个端口平均接入成本。
具体实施方式
本发明的核心思想在于,将非线速接口板上的高速级联通道聚合后划分成多个虚拟端口,并将每个虚拟端口映射到不同的用户端口,通过各虚拟端口与对应的用户端口间的交互实现报文的转发,并根据需要对不同虚拟端口以及对应的用户端口的带宽进行配置。
本发明提供一种在非线速接口板上进行端口带宽配置的方法,应用于包括包处理模块、端口扩展模块以及多个用户端口的非线速接口板,所述包处理模块以及端口扩展模块通过高速级联通道连接,如图3所示,包括:
步骤s301、将高速级联通道划分成多个虚拟端口,将每个虚拟端口映射到不同的用户端口,并根据需要对不同虚拟端口以及对应的用户端口的带宽进行配置。
步骤s302、通过虚拟端口与对应的用户端口间的交互实现报文转发。
以下对本发明的具体实施方式作进一步详细描述,如图4所示,包括以下步骤:
步骤s401、把非线速接口板中PP与HSCC间的多个逻辑级联端口聚合成为一个HSCC端口,聚合得到的HSCC的带宽等于上述多个逻辑级联端口的级联带宽总和。
步骤s402、把聚合后的HSCC端口划分成多个虚拟端口,并将每个虚拟端口唯一映射到一个用户端口。
步骤s403、在PP上为每个虚拟端口绑定TxQ(Transmit Queue,发送队列)Group,可以为不同的虚拟端口绑定不同的TxQ Group,也可以将不同的虚拟端口绑定到同一个TxQ Group。每个TxQ Group包含若干个发送队列,对于PP中完成相应转发和处理后的报文,通过TxQ Group中的发送队列向对应的虚拟端口转发。
步骤s404、在PP中和MUX中分配带宽。
具体的,可以采用CAR(CommittedAccess Rate,约定访问策略)或GTS(Generic Traffic Shaping,通用流量整形)等方法进行带宽控制。如在PP中基于TxQ Group分配CAR或者GTS资源,在MUX中基于用户端口分配CAR或者GTS资源。
步骤s405、在PP中增加用户端口到虚拟端口的映射表,以用户端口为索引。
步骤s406、在MUX中增加虚拟端口到用户端口的映射表,以虚拟端口为索引。
上述配置结束后,为了通过用户端口与虚拟端口的交互实现上行和下行报文的转发,需要分别对上行报文和下行报文使用级联Tag封装,把包含端口信息的Tag分别附加在上行报文和下行报文中。具体的,在MUX中使用扩展上行报文封装,把用户端口信息封装在上行报文的级联Tag中通过逻辑级联端口传递到PP,PP根据上述步骤s405中建立的映射表、以及该上行报文中封装的用户端口信息,可以获取到对应的虚拟端口信息,并根据所获取到的虚拟端口进行地址学习、反向路径检查等动作。另外,在PP中使用扩展下行报文封装,把虚拟端口信息封装在下行报文的级联Tag中通过逻辑级联端口传递到MUX;MUX根据步骤s406中建立的映射表、以及该下行报文中封装的虚拟端口信息,可以获取到对应的用户端口信息,剥离级联Tag后把报文从所获取到的用户端口发送出去。
另外,在上行时,通过在MUX上为用户端口绑定CAR或GTS,为用户分配带宽,所有用户端口带宽之和等于级联带宽。在下行时,通过在PP上为虚拟端口绑定CAR或GTS,为用户分配带宽,所有虚拟端口带宽之和等于级联带宽。除上述直接分配带宽外,用户还能够根据实际带宽需求为用户端口分配带宽,现实带宽可配置、混合收敛比。用户端口的带宽调整调整可以表现为绝对值、百分比、收敛比或者端口角色、端口属性的形式。
下面结合一个具体的应用场景,描述本发明中在非线速接口板上进行端口带宽配置的方法。以下以4端口非线速千兆以太网接口板的实现为例,进行端口配置的方法包括以下步骤:
(1)如图5所示,利用以太网端口聚合,把PP与MUX之间的两个1G带宽的逻辑级联端口P1’和P2’捆绑成一个2G带宽的HSCC端口。
(2)对于用户端口P1~P4,将HSCC端口划分成4个VP(Virtual Port,虚拟端口):VP1~VP4。VP1~VP4分别对应用户端口P1~P4,然后为VP分别绑定TxQ Group1~TxQ Group4,如图6所示。
(3)在MUX中增加虚拟端口到用户端口的映射表。映射表的内容可以如表1所示:
表1.虚拟端口到用户端口的映射表
虚拟端口 |
用户端口 |
VP1 |
P1 |
VP2 |
P2 |
VP3 |
P3 |
VP4 |
P4 |
(4)在PP中增加用户端口到虚拟端口的映射表,并为VP分别绑定相应TxQ Group。
表2.端口映射表
用户端口 |
虚拟端口 |
绑定发送队列组 |
P1 |
VP1 |
TxQ Group1 |
P2 |
VP2 |
TxQ Group2 |
P3 |
VP3 |
TxQ Group3 |
P4 |
VP4 |
TxQ Group4 |
通过上述配置,可以实现报文在PP和MUX之间的正常转发。上、下行报文的转发流程分别描述如下。
上行时,MUX从用户端口接收到报文时,MUX将源用户端口信息封装在级联Tag中,通过逻辑级联端口即捆绑后的HSCC端口发送到PP,PP根据用户端口查找表2,得到对应的虚拟端口,并根据虚拟端口进行地址学习、反向路径检查等动作。通过该地址学习,可以获得端口下的终端地址以建立地址转发表项;通过该反向路径检查,可以防止攻击者假冒合法用户的地址对系统进行攻击,增强系统的安全性。
例如,MUX从用户端口P1接收到报文时,将P1端口信息封装在报文的级联Tag中,通过逻辑级联端口P1’即捆绑后的HSCC端口将报文发送给PP。PP接收到报文后,从级联Tag中获取到发送报文的用户端口为P1,则根据表2得到对应的虚拟端口为VP1,并根据VP1进行地址学习、反向路径检查等动作。
下行时,PP接收到需要转发的报文时,根据转发的目的VP查找到绑定的发送队列组,并根据优先级把报文放入相应的发送队列,并将VP信息封装在报文的级联Tag中,通过逻辑级联端口即捆绑后的HSCC端口发送到MUX。MUX接收到报文后,根据级联Tag中的虚拟端口查找表1,得到对应的用户端口,去掉报文中的级联Tag并将报文从对应的用户端口转发出去。
例如,PP接收到需要转发的目的端口为VP1的报文,则将该报文放入TxQ Group1中的发送队列,并将VP1的信息封装在报文的级联Tag中,通过逻辑级联端口P1’即捆绑后的HSCC端口发送到MUX。MUX接收到报文后,从级联Tag中获取到发送报文的端口为VP1,则根据表1查找到对应的用户端口为P1,则去掉报文中的级联Tag并将报文从用户端口P1转发出去。
另外,可以在MUX上通过入方向CAR或GTS为用户端口分配上行带宽,在PP上通过出方向GTS或CAR为VP分配下行带宽。
以4端口非线速千兆以太网接口板中,P1带宽需求为1000M,P2/P3/P4带宽需求分别为500M/300M/200M为例,则在MUX中的配置如下:
表3.MUX中的上行带宽配置
用户端口 |
入方向CAR或者GTS |
P1 |
1000Mbps |
P2 |
500Mbps |
P3 |
300Mbps |
P4 |
200Mbps |
在PP中的配置如下:
表4.PP中的下行带宽配置
虚拟端口 |
绑定发送队列组 |
出方向GTS或CAR |
VP1 |
TxQ Group1 |
1000Mbps |
VP2 |
TxQ Group2 |
500Mbps |
VP3 |
TxQ Group3 |
300Mbps |
VP4 |
TxQ Group4 |
200Mbps |
本发明的该应用场景中,通过使用本发明提供的非线速接口板的端口带宽配置方法,把端口绑定GTS或CAR的速率开放给用户配置,并要求用户所配置的各端口速率之和不超过级联总带宽,这样就实现了用户灵活配置的、混合收敛比对4端口千兆非线速接口板。
通过使用本发明提供的方法,将非线速接口板上的高速级联通道聚合后划分成多个虚拟端口并映射到不同的用户端口,通过各虚拟端口与对应的用户端口间的交互实现报文的转发。使得用户可以根据业务需求灵活地配置接入端口的带宽,在充分利用级联带宽的同时,又保持了非线速接口板高端口密度的优点,降低了每个端口平均接入成本。
本发明还提供一种非线速接口板,如图7所示,包括:包处理模块10、端口扩展模块20、多个用户端口30以及端口划分模块40和报文转发模块50,其中:
包处理模块10与端口扩展模块20通过级联通道连接。
端口划分模块40,用于将级联通道划分成多个虚拟端口,将每个虚拟端口映射到不同的用户端口30,并对不同虚拟端口以及对应的用户端口的带宽进行配置。
报文转发模块50,用于通过端口划分模块40划分的虚拟端口与对应的用户端口间的交互,实现报文在虚拟端口和对应的用户端口间转发。
具体地,如图8所示,端口划分模块40具体包括:
级联通道设置子模块41,用于将包处理模块10以及端口扩展模块40间的一个物理接口组成级联通道、或将包处理模块10以及端口扩展模块40间的多个物理接口聚合得到级联通道。
端口配置子模块42,用于在包处理模块10中分配虚拟端口的带宽,和/或在端口扩展模块20中分配所述用户端口的带宽。
包处理模块10具体包括第一对应关系存储子模块11,用于存储用户端口到虚拟端口的映射关系,并为不同的虚拟端口绑定发送队列;
端口扩展模块20具体包括第二对应关系存储子模块21,用于存储虚拟端口到用户端口的映射关系。
另外,报文转发模块50具体包括:
上行信息添加子模块51,用于当端口扩展模块20从用户端口接收到上行报文时,在端口扩展模块20发送的上行报文中添加用户端口的信息,并由端口扩展模块20将上行报文发送到包处理模块10。
上行报文解析子模块52,用于当包处理模块10接收到上行报文时,根据上行报文中的用户端口的信息,以及第一对应关系存储子模块11中用户端口到虚拟端口的映射关系,获取与所述用户端口对应的虚拟端口。
下行信息添加子模块53,用于当包处理模块10接收到目的端口为虚拟端口的下行报文时,在包处理模块10发送的下行报文中添加所述虚拟端口的信息并发送到所述对应的发送队列,并由包处理模块10将下行报文发送到端口扩展模块20。
下行报文解析子模块54,用于当端口扩展模块20接收到下行报文时,根据下行报文中的虚拟端口的信息,以及第二对应关系存储子模块21中虚拟端口到用户端口的映射关系,获取与虚拟端口对应的用户端口,并由端口扩展模块20将下行报文向所述获取到的用户端口发送。
通过使用本发明提供的非线速接口板,将非线速接口板上的级联通道聚合后划分成多个虚拟端口并映射到不同的用户端口,通过各虚拟端口与对应的用户端口间的交互实现报文的转发。使得用户可以根据业务需求灵活地配置接入端口的带宽,在充分利用级联带宽的同时,又保持了非线速接口板高端口密度的优点,降低了每个端口平均接入成本。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台设备执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。