一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据包转发方法及装置、网络设备和计算设备与流程

2022-08-11 05:08:37 来源:中国专利 TAG:


1.本发明涉及计算机网络技术领域,尤其涉及数据包转发方法及装置、网络设备和计算设备。


背景技术:

2.在虚拟专用局域网业务(vpls,virtual private lan service)中,可使用“水平分割转发”来避免环路。“水平分割转发”是指从公网侧伪线(pw,pseudo wire)收到的数据包不再转发到其他pw上,只能转发到私网侧;从运营商边缘路由器(pe,provider edge)收到的报文不能转发到其他pe。
3.在芯片中vpls的虚拟交换实例(vsi,virtual switch instance)内的泛洪需要进行流量复制。vpls的复制不仅需要复制到物理接口port,还需要复制同一个port上的不同的pw,即复制到不同的下一站(nexthop)。为了节省芯片资源,复制到不同的port使用物理复制,复制到不同的nexthop使用逻辑复制。如果物理接口中的虚接口都为公网侧虚接口,则在此物理接口内是无需进行逻辑复制的。该流量是需要丢弃的流量。但是,在此之前针对此物理接口已经进行了物理复制。在这种情况下的无用的物理复制浪费了复制资源,浪费了带宽。


技术实现要素:

4.鉴于现有技术的以上问题,本技术实施例提供一种数据包转发方法及装置、网络设备和计算设备,可避免因无用物理复制导致的资源浪费,可实现经济高效地进行数据包的水平分割转发,有效节省了芯片资源。
5.为达到上述目的,本技术第一方面提供了一种数据包转发方法,应用于包括第一物理接口和第二物理接口的网络设备,所述方法包括:
6.通过所述第一物理接口中的一虚接口接收一数据包;
7.识别所述数据包来自公网侧时,获取所述第二物理接口的网络标志位,其中所述第二物理接口的网络标志位通过第一值和第二值来表示是否不物理复制到所述第二物理接口;
8.所述第二物理接口的网络标志位为第一值时,所述数据包不物理复制到该第二物理接口,所述第二物理接口的网络标志位为第二值时,将所述数据包物理复制到该第二物理接口。
9.作为第一方面的一种可能的实现方式,所述获取所述第二物理接口的网络标志位,包括:
10.从所述数据包的组播表中获取所述第二物理接口的网络标志位,所述数据包的组播表记录有物理接口网络标志位图。
11.作为第一方面的一种可能的实现方式,所述数据包的组播表记录有物理接口网络标志位图,包括:
12.针对所述数据包的组播表中的每个物理接口,若该物理接口包含的各虚接口全部为公网侧虚接口时,使记录的该物理接口的网络标志位为第一值,若该物理接口包含的各虚接口至少一个为私网侧虚接口时,使记录的该物理接口的网络标志位为第二值。
13.作为第一方面的一种可能的实现方式,所述获取所述第二物理接口的网络标志位,包括:
14.从物理接口表中获取所述第二物理接口的网络标志位,所述物理接口表记录有物理接口网络标志位图。
15.作为第一方面的一种可能的实现方式,所述物理接口表记录有物理接口网络标志位图,包括:
16.针对所述物理接口表中的每个物理接口,若该物理接口与公网侧连接,则使记录的该物理接口网络标志位为第一值,若该物理接口与私网侧连接,则使记录的该物理接口网络标志位为第二值。
17.作为第一方面的一种可能的实现方式,所述方法还包括:
18.识别所述数据包来自私网侧时,将所述数据包物理复制到所述第二物理接口。
19.作为第一方面的一种可能的实现方式,通过判断接收所述数据包的所述虚接口的网络标志位为第三值或第四值,识别所述数据包来自公网侧或来自私网侧,其中,所述第三值和第四值分别用于表示所述数据包是否是从公网侧接收到。
20.本技术第二方面提供了一种数据包转发装置,包括:
21.接收单元,用于通过所述第一物理接口中的一虚接口接收一数据包;
22.获取单元,用于识别所述数据包来自公网侧时,获取所述第二物理接口的网络标志位,其中所述第二物理接口的网络标志位通过第一值和第二值来表示是否不物理复制到所述第二物理接口;
23.复制单元,用于所述第二物理接口的网络标志位为第一值时,所述 数据包不物理复制到该第二物理接口,所述第二物理接口的网络标志位为第二值时,将所述数据包物理复制到该第二物理接口。
24.作为第二方面的一种可能的实现方式,所述获取单元用于:
25.从所述数据包的组播表中获取所述第二物理接口的网络标志位,所述数据包的组播表记录有物理接口网络标志位图。
26.作为第二方面的一种可能的实现方式,所述装置还包括记录单元,所述记录单元用于在所述数据包的组播表记录物理接口网络标志位图,包括:
27.针对所述数据包的组播表中的每个物理接口,若该物理接口包含的各虚接口全部为公网侧虚接口时,使记录的该物理接口的网络标志位为第一值,若该物理接口包含的各虚接口至少一个为私网侧虚接口时,使记录的该物理接口的网络标志位为第二值。
28.作为第二方面的一种可能的实现方式,所述获取单元用于:
29.从物理接口表中获取所述第二物理接口的网络标志位,所述物理接口表记录有物理接口网络标志位图。
30.作为第二方面的一种可能的实现方式,所述装置还包括记录单元,所述记录单元用于在所述物理接口表记录物理接口网络标志位图,包括:
31.针对所述物理接口表中的每个物理接口,若该物理接口与公网侧连接,则使记录
的该物理接口网络标志位为第一值,若该物理接口与私网侧连接,则使记录的该物理接口网络标志位为第二值。
32.作为第二方面的一种可能的实现方式,所述复制单元还用于:
33.识别所述数据包来自私网侧时,将所述数据包物理复制到所述第二物理接口。
34.作为第二方面的一种可能的实现方式,所述装置还包括识别单元,所述识别单元用于:
35.通过判断接收所述数据包的所述虚接口的网络标志位为第三值或第四值,识别所述数据包来自公网侧或来自私网侧,其中,所述第三值和第四值分别用于表示所述数据包是否是从公网侧接收到。
36.本技术第三方面提供了一种网络设备,包括:
37.第一物理接口和第二物理接口,以及上述第二方面任一所述的数据包转发装置。
38.本技术第四方面提供了一种计算设备,包括:
39.通信接口;
40.至少一个处理器,其与所述通信接口连接;以及
41.至少一个存储器,其与所述处理器连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行上述第一方面任一所述的方法。
42.本技术第五方面提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行上述第一方面任一所述的方法。
43.本发明的这些和其它方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
44.以下参照附图来进一步说明本发明的各个特征和各个特征之间的联系。附图均为示例性的,一些特征并不以实际比例示出,并且一些附图中可能省略了本技术所涉及领域的惯常的且对于本技术非必要的特征,或是额外示出了对于本技术非必要的特征,附图所示的各个特征的组合并不用以限制本技术。另外,在本说明书全文中,相同的附图标记所指代的内容也是相同的。具体的附图说明如下:
45.图1为水平分割网络的示意图;
46.图2为现有技术的vpls流量复制的示意图;
47.图3为现有技术的地址重映射的示意图;
48.图4为现有技术的地址重映射的示意图;
49.图5为本技术实施例提供的数据包转发方法的一实施例的示意图;
50.图6为本技术实施例提供的数据包转发方法的一实施例的物理接口的网络标志位图的示意图;
51.图7为本技术实施例提供的数据包转发方法的一实施例的根据ipmc group表中的network标志判断复制的流程图;
52.图8为本技术实施例提供的数据包转发方法的一实施例的根据物理port表中的network标志判断复制的流程图;
53.图9为本技术实施例提供的数据包转发装置的一实施例的示意图;
54.图10为本技术实施例提供的数据包转发装置的一实施例的示意图;
55.图11为本技术实施例提供的计算设备的示意图。
具体实施方式
56.说明书和权利要求书中的词语“第一、第二、第三等”或模块a、模块b、模块c等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
57.在以下的描述中,所涉及的表示步骤的标号,如s110、s120
……
等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
58.说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。因此,表述“包括装置a和b的设备”不应局限为仅由部件a和b组成的设备。
59.本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在一个或多个实施例中,能够以任何适当的方式组合各特定特征、结构或特性,如从本公开对本领域的普通技术人员显而易见的那样。
60.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。如有不一致,以本说明书中所说明的含义或者根据本说明书中记载的内容得出的含义为准。另外,本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。为了准确地对本技术中的技术内容进行叙述,以及为了准确地理解本发明,在对具体实施方式进行说明之前先对本说明书中所使用的术语给出如下的解释说明或定义:
61.1)虚拟专用局域网业务(vpls,virtual private lan service)vpls技术属于二层分组承载技术。其核心思想是利用信令协议在vpls实例中的pe(运营商边缘路由器)节点之间建立及维护pw(伪线),将二层协议帧封装后在pw上传输、交换,使广域范围内多个局域网在数据链路层面被整合为一张网络,向用户提供虚拟的以太网服务。vpls技术支持点到点、点到多点、多点到多点的业务类型,能够在较大网络规模下支持电信级以太网服务。
62.2)伪线(pw,pseudo wire):伪线是通信领域对各种仿真技术的统称,是建立在边缘路由器之间的一个点对点的连接。伪线的主要功能是仿真一些常见的业务,例如帧中继、时分复用业务(tdm)、异步传输业务(atm)和以太网等,将被仿真的业务通过一个隐藏的核心多协议标签交换(mpls,multi-protocol label switching)网络,封装到一个共同的mpls格式中。
63.3)网际互联协议组播(ipmc,internet protocol multicasting):简称ip组播(ip multicasting)。ipmc是对硬件组播的抽象,是对标准ip网络层协议的扩展。它通过使用特定的ip组播地址,按照最大投递的原则,将ip数据包传输到一个组播群组(multicast group)的主机集合。它的基本方法是:当某一个人向一组人发送数据时,它不必将数据向每一个人都发送,只需将数据发送到一个特定的预约的组地址,所有加入该组的人均可以收
到这份数据。这样对发送者而言,数据只需发送一次就可以发送到所有接收者,大大减轻了网络的负载和发送者的负担。
64.下面先对现有的方法进行介绍,然后再对本技术的技术方案进行详细介绍。
65.现有的运营网络中,为整个城市服务的城域网(man)日渐增多。城域网通常提供点到点的业务,并且不能跨广域网(wan)提供服务。为了能在man和wan上提供类似以太网的多点业务,产生了vpls技术。
66.vpls技术是一种基于多协议标签交换(mpls,multi-protocol label switching)和以太网技术的二层虚拟专用网络(vpn,virtual private network)技术。其主要目的是通过分组交换网络(private switched networks)连接多个以太网局域网(lan,local area network)网段,使它们像一个lan那样工作。在以太网上,为了避免环路的发生,一般的二层网络都要求能使能生成树协议(stp,spanning tree protocol)。但在私网的stp协议不应该参与到网络业务提供商(isp,internet service provider)的网络中去,而是只在私网的设备间运行,避免私网设备间的环路。
67.vpls中,可使用“全连接”和“水平分割转发”来避免环路。每一个pe必须为每一个vpls转发实例创建一棵到该实例下的所有其他pe设备的树。每个pe设备必须支持“水平分割”策略来避免环路。即pe不能在具有相同vpls实例的pw上转发报文。“水平分割转发”是指从公网侧pw收到的数据包不再转发到其他pw上,只能转发到私网侧,从pe收到的报文不能转发到其他pe。如图1所示,从公网侧的运营商核心路由器p1通过伪线pw1发出的数据包,可以转发给私网侧的用户端路由器ce1和ce2,但是不能转发给从公网侧的运营商核心路由器p2和p3。在伪线pw2和pw3上的叉号
“×”
表示不允许转发。从用户端路由器ce2发出的数据包,可以转发给私网侧的用户端路由器ce1和公网侧的运营商核心路由器p1、p2和p3。
68.在芯片中vpls的vsi内的泛洪需要进行流量复制。vpls的复制不仅需要复制到物理接口port,还需要复制同一个port上的不同的pw,即复制到不同的下一站(nexthop)。为了节省芯片资源,复制到不同的port使用物理复制,复制到不同的nexthop使用逻辑复制。可将需要转发的数据包存储到预先设置的队列中。如图2所示,根据组播组索引(index)查看网际互联协议组播组接口位图(ipmc group port bitmap)进行组播的操作,对数据包进行复制(ipmc rep),发送到不同的下一站(nexthop)。物理复制发生在入队(enqueue)之前,根据多个port,进入多个队列(queue)。而逻辑复制则是发生在enqueue中,直接在队列(queue)里面复制多份报文,送到出方向的处理引擎去进行不同的编辑。
69.现有技术一:
70.通过标记虚接口的network(网络)标志,可以判断该虚接口是否属于连接公网侧的虚接口。通过查看数据包输入的虚接口的network标志,可以判断该数据包是否是从公网侧pw收到的数据包。如果数据包输入的虚接口network标志置位,则该数据包是来自公网侧的数据包,进行逻辑复制时可查看数据包输出的虚接口的network标志。如果输出的虚接口的network标志也置位,则说明该数据包从公网侧收到并转发到公网侧的。在这种情况下,无需复制该数据包以实现vpls的水平分割。如果某个物理接口中的虚接口都为公网侧虚接口,即某个物理接口中的虚接口的network标志都是置位的,则此物理接口内是无需进行逻辑复制的。但是,在此之前针对此物理接口已经进行了物理复制。该数据包是需要丢弃的,对其进行物理复制浪费了复制资源,浪费了带宽。当公网侧占用物理接口较多时浪费尤为
严重。
71.现有技术二:
72.如图3所示,现有技术中的一种普遍的做法是在获取复制组索引(index)后,根据从虚接口来的流量且network标志置位的条件,判断使用不同复制组索引。如果满足从虚接口来的流量且network标志置位的条件,则进行地址重映射使得每个vsi使用两个复制组;如果不满足上述条件,则查看网际互联协议组播组接口位图(ipmc group port bitmap)进行组播的操作。采用以上方法可以在入方向解决浪费复制资源的问题。但是采用这种方法使得每个vsi使用两个复制组,使得复制组规格折半。参见图4,两个复制组的复制域的范围如下:
73.1)来自网络侧的虚接口vp5的流量的复制域为{vp1,vp2,vp3};
74.2)来自用户侧的虚接口vp1的流量的复制域为{vp2,vp3,vp4,vp5}。
75.现有技术一存在着以下的缺陷:在输入的接口接收数据包,复制之后,在输出的接口判断报文是否符合水平分割条件。如果不符合,则在出接口丢弃数据包。这种情况下的无用的物理复制会占用出接口带宽,浪费了复制资源。
76.现有技术二存在着以下的缺陷:为私网和公网划分两个广播域,但是两个广播域对应两个复制组(group),会占用较多资源。
77.基于上述现有技术所存在的技术问题,本技术提供了一种数据包转发的方法。该方法在输入的接口对来自公网侧的数据包进行判断,判断该数据包的输出的物理接口是否需要复制。对于不需要复制的物理接口不执行数据包的物理复制操作。通过以上技术手段节省了芯片资源,可解决现有技术中提到的因无用物理复制导致资源浪费的技术问题。
78.图5为本技术实施例提供的数据包转发方法的一实施例的示意图。如图5所示,该数据包转发方法可以包括:
79.步骤s110,通过所述第一物理接口中的一虚接口接收一数据包;
80.步骤s120,识别所述数据包来自公网侧时,获取所述第二物理接口的网络标志位,其中所述第二物理接口的网络标志位通过第一值和第二值来表示是否不物理复制到所述第二物理接口;
81.步骤s130,所述第二物理接口的网络标志位为第一值时,所述数据包不物理复制到该第二物理接口,所述第二物理接口的网络标志位为第二值时,将所述数据包物理复制到该第二物理接口。
82.在虚拟专用局域网业务vpls中,水平分割是指来自私网侧的数据包允许向公网侧和私网侧发送;而来自公网侧的数据包只允许向私网侧发送,不允许向公网侧发送。本技术实施例中,对来自公网侧的数据包进行判断,对于输出的物理接口,仅对需要进行物理复制的物理接口进行物理复制,对于不需要进行物理复制的物理接口则避免进行无用复制。
83.在步骤s110中,接收来自第一物理接口中的一虚接口的数据包。其中,物理接口可以是路由器等网络设备上的插口。虚拟接口可以是通过后台程序实现的类似于进入网址的接入端口。虚拟接口可以指定为物理接口的子接口,并使得物理接口能够承载分配至多个接口的流量。在网络系统中,可以指定一个或多个虚拟接口,作为分配给物理接口的子接口。也就是说,虚拟接口可以用于在一个物理接口上提供多个接口。虚拟接口可以简称为虚接口。
来实现存储的,它通过将比特位设置为0或1来达到数据存取的目的。将比特位设置为1可称为将该比特位“置位”,将比特位设置为0可称为将该比特位“清空置位”。
95.本技术实施例中,预先在所述数据包的组播表中设置物理接口的网络标志位图,可包括:在物理接口中的所有虚接口都为公网侧虚接口的情况下,将该物理接口的网络标志位图中的对应位进行置位操作;在物理接口中的所有虚接口中包括至少一个私网侧虚接口的情况下,将该物理接口的网络标志位图中的对应位进行清空置位操作。
96.图6为本技术实施例提供的数据包转发方法的一实施例的物理接口的网络标志位图的示意图。如图6所示,在组播表的信息存储结构中,port bitmap(物理接口的位图)是成员接口的位映射表。也就是说,某个物理接口在port bitmap中的对应位置位,可表示在该组播表中需要将数据包送达的物理接口包括该接口在内。
97.本技术实施例中,可在组播表中添加物理接口的网络标志位图(port network bitmap),也就是在ipmc group表中设置物理接口的network标志的bitmap。在一个示例中,第一值可以为1,第二值可以为0。如果某个物理接口中的所有虚接口都为公网侧虚接口,即所有虚接口的network标志全部置位,这种情况下在port network bitmap将该物理接口的对应位设置为1。另一种情况下,如果某个物理接口中的所有虚接口中包括至少一个私网侧虚接口,即物理接口中存在network标志非置位的虚接口,则在port network bitmap将该物理接口的对应位设置为0。
98.再参见图6,在设置ipmc group表的物理接口的网络标志位图(port network bitmap)时,所有虚接口都为公网侧虚接口的情况下,将物理接口的网络标志位图中的对应位置位;所有虚接口中包括私网侧虚接口的情况下,将物理接口的网络标志位图中的对应位清空置位。因此,在对数据包的输出的物理接口进行判断时,根据以上设置,在物理接口的网络标志位图中的对应位置位的情况下,可确定物理接口中的所有虚接口都为公网侧虚接口,对该物理接口不执行数据包的物理复制操作;在物理接口的网络标志位图中的对应位非置位的情况下,可确定物理接口中的所有虚接口中包括至少一个私网侧虚接口,对该物理接口执行数据包的物理复制操作。
99.在一种实施方式中,所述方法还包括:
100.识别所述数据包来自私网侧时,将所述数据包物理复制到所述第二物理接口。
101.在一种实施方式中,所述方法还包括:
102.通过判断接收所述数据包的所述虚接口的网络标志位为第三值或第四值,识别所述数据包来自公网侧或来自私网侧,其中,所述第三值和第四值分别用于表示所述数据包是否是从公网侧接收到。
103.本技术实施例中,在输入的虚接口接收到数据包后,可先判断该数据包的来源是属于公网侧,还是属于私网侧。通过查看数据包输入的虚接口的network标志,可以判断该数据包是否是从公网侧收到的数据包。在一个示例中,第三值可以为1,表示数据包是从公网侧接收到;第四值可以为0,表示数据包是从私网侧接收到。
104.如果该数据包是来自公网侧的数据包,可执行如图5所示的流程图对该数据包进行处理。如果该数据包是来自私网侧的数据包,可对数据包的输出的物理接口执行数据包的物理复制操作,将复制后的数据包转发给该物理接口。
105.对于来自私网侧的数据包,在水平分割的原则中允许其向公网侧和私网侧发送。
因此,对数据包不必进行输出的物理接口的判断,直接对输出的物理接口执行数据包的物理复制操作,然后将复制后的数据包转发给所述物理接口。
106.图7为本技术实施例提供的数据包转发方法的一实施例的根据ipmc group表中的network标志判断复制的流程图。如图7所示,根据组播组索引(index),判断流量来自虚接口且虚接口network标志是否置位,也就是判断流量是否是从公网侧收到的数据包。再参见图6,如果判断结果该流量不是从公网侧收到的数据包,则根据ipmc group中的port bitmap进行对应接口的物理复制,将流量发送到组播组中指定的物理接口。
107.参见图7,另一种情况下,如果判断结果是流量是从公网侧收到的数据包,则需要判断是否对物理接口执行数据包的物理复制操作。再参见图6,可向ipmc group的port bitmap中port network bitmap非置位的接口进行物理复制,即向(port bitmap)&(~network bitmap)进行物理复制。其中,(port bitmap)置位表示在该组播表中需要将数据包送达到该物理接口;(~network bitmap)表示该物理接口中的所有虚接口中包括至少一个私网侧虚接口。
108.以上是对物理接口进行判断复制的第一种实现方式,即根据ipmc group表中的network标志判断复制的方式。另外,在第二种实现方式中,还可以根据物理port表中的network标志判断复制。以下对第二种实现方式进行描述。
109.在一种实施方式中,图5中的步骤s120,获取所述第二物理接口的网络标志位,包括:
110.从物理接口表中获取所述第二物理接口的网络标志位,所述物理接口表记录有物理接口网络标志位图。
111.本技术实施例中,可预先设置物理接口表,根据物理接口表中的物理接口的网络标志位图,对数据包的输出的物理接口进行判断,判断是否需要对该物理接口执行数据包的物理复制操作。可在物理接口表中设置物理接口的network标志。通过物理接口的network标志,可达到高效准确地对数据包的输出的物理接口进行判断的效果。
112.在物理接口表中,物理接口的network标志也可以以位图的方式存储。其中,各个物理接口的network标志用于表示物理接口中的所有虚接口是否与公网侧连接。查看物理接口表中的物理接口的网络标志位图,根据物理接口的network标志是否置位对数据包的输出的物理接口进行是否需要物理复制操作的判断。
113.在一种实施方式中,所述物理接口表记录有物理接口网络标志位图,包括:
114.针对所述物理接口表中的每个物理接口,若该物理接口与公网侧连接,则使记录的该物理接口网络标志位为第一值,若该物理接口与私网侧连接,则使记录的该物理接口网络标志位为第二值。
115.本技术实施例中,预先设置物理接口表,包括:
116.在所述物理接口表中设置物理接口的网络标志位图;
117.将与公网侧连接的所述物理接口的网络标志位图中的对应位进行置位操作;将与私网侧连接的所述物理接口的网络标志位图中的对应位进行清空置位操作。
118.本技术实施例中,为进一步节省内存资源,可根据网络服务区域内涉及的所有物理接口的信息,在物理接口表中(port表)设置物理接口的network标志的bitmap。在一个示例中,可在网络系统中布置物理接口的连接方式。例如,通常情况下一个物理接口可以是与
公网侧连接的,或者一个物理接口也可以是与私网侧连接的。以上两种连接不能混用。在一个示例中,第一值可以为1,第二值可以为0。可以在物理接口表的network标志中,将确定好与公网侧连接的物理接口表中的network标志的对应位设置为1,将确定好与私网侧连接的物理接口port表中的network标志的对应位设置为0。
119.在以上设置了物理接口表的基础上,在对数据包的输出的物理接口进行判断时,在物理接口的网络标志位图中的对应位置位的情况下,可确定物理接口与公网侧连接,对该物理接口不执行数据包的物理复制操作;在物理接口的网络标志位图中的对应位非置位的情况下,可确定物理接口与私网侧连接,对该物理接口执行数据包的物理复制操作。
120.图8为本技术实施例提供的数据包转发方法的一实施例的根据物理port表中的network标志判断复制的流程图。如图8所示,根据组播组索引(index),判断流量来自虚接口且虚接口network标志是否置位,也就是判断流量是否是从公网侧收到的数据包。再参见图6,如果判断结果是流量不是从公网侧收到的数据包,则根据ipmc group中的port bitmap进行对应接口的物理复制,将流量发送到组播组中指定的物理接口。在这种实现方式中根据物理port表中的network标志判断复制,与第一种实现方式不同,因此图6中的ipmc group表只需包括port bitmap(物理接口的位图),不需要添加物理接口的网络标志位图(port network bitmap)。
121.参见图8,根据组播组索引(index)判断流量是否是从公网侧收到的数据包。如果判断结果是流量是从公网侧收到的数据包,则需要判断是否对物理接口执行数据包的物理复制操作。再参见图6,可根据ipmc group的port bitmap索引,在port表查看port表中的network标志是否置位,如果置位则不进行物理复制,如果没有置位则进行物理复制。
122.综上,本技术实施例提供的数据包转发方法可用于实现vpls水平分割的芯片。该方法通过设置物理接口的network标志,在进行接口物理复制前通过判断network标示是否置位决定是否对复制组中的此物理接口进行物理复制,从而避免无用物理复制浪费资源,避免对带宽的占用,是一种经济高效的实现vpls水平分割的方式。
123.如图9所示,本技术还提供了相应的一种数据包转发装置的实施例,关于该装置的有益效果或解决的技术问题,可以参见与各装置分别对应的方法中的描述,或者参见发明内容中的描述,此处不再一一赘述。
124.在该数据包转发装置的实施例中,该装置包括:
125.接收单元100,用于通过所述第一物理接口中的一虚接口接收一数据包;
126.获取单元200,用于识别所述数据包来自公网侧时,获取所述第二物理接口的网络标志位,其中所述第二物理接口的网络标志位通过第一值和第二值来表示是否不物理复制到所述第二物理接口;
127.复制单元300,用于所述第二物理接口的网络标志位为第一值时,所述 数据包不物理复制到该第二物理接口,所述第二物理接口的网络标志位为第二值时,将所述数据包物理复制到该第二物理接口。
128.在一种实施方式中,所述获取单元200用于:
129.从所述数据包的组播表中获取所述第二物理接口的网络标志位,所述数据包的组播表记录有物理接口网络标志位图。
130.如图10所示,在一种实施方式中,所述装置还包括记录单元400,所述记录单元400
用于在所述数据包的组播表记录物理接口网络标志位图,包括:
131.针对所述数据包的组播表中的每个物理接口,若该物理接口包含的各虚接口全部为公网侧虚接口时,使记录的该物理接口的网络标志位为第一值,若该物理接口包含的各虚接口至少一个为私网侧虚接口时,使记录的该物理接口的网络标志位为第二值。
132.在一种实施方式中,所述获取单元200用于:
133.从物理接口表中获取所述第二物理接口的网络标志位,所述物理接口表记录有物理接口网络标志位图。
134.在一种实施方式中,所述装置还包括记录单元400,所述记录单元400用于在所述物理接口表记录物理接口网络标志位图,包括:
135.针对所述物理接口表中的每个物理接口,若该物理接口与公网侧连接,则使记录的该物理接口网络标志位为第一值,若该物理接口与私网侧连接,则使记录的该物理接口网络标志位为第二值。
136.在一种实施方式中,所述复制单元300还用于:
137.识别所述数据包来自私网侧时,将所述数据包物理复制到所述第二物理接口。
138.在一种实施方式中,所述装置还包括识别单元500,所述识别单元500用于:
139.通过判断接收所述数据包的所述虚接口的网络标志位为第三值或第四值,识别所述数据包来自公网侧或来自私网侧,其中,所述第三值和第四值分别用于表示所述数据包是否是从公网侧接收到。
140.本技术还提供了一种网络设备,包括:
141.第一物理接口和第二物理接口,以及上述任一所述的数据包转发装置。
142.图11是本技术实施例提供的一种计算设备900的结构性示意性图。该计算设备900包括:处理器910、存储器920、通信接口930。
143.应理解,图11中所示的计算设备900中的通信接口930可以用于与其他设备之间进行通信。
144.其中,该处理器910可以与存储器920连接。该存储器920可以用于存储该程序代码和数据。因此,该存储器920可以是处理器910内部的存储单元,也可以是与处理器910独立的外部存储单元,还可以是包括处理器910内部的存储单元和与处理器910独立的外部存储单元的部件。
145.可选的,计算设备900还可以包括总线。其中,存储器920、通信接口930可以通过总线与处理器910连接。总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
146.应理解,在本技术实施例中,该处理器910可以采用中央处理单元(central processing unit,cpu)。该处理器还可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门矩阵(field programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器910采用一个或多个集成电路,用于执行相关程序,以实现本技术实施例所提供的技术方案。
147.该存储器920可以包括只读存储器和随机存取存储器,并向处理器910提供指令和数据。处理器910的一部分还可以包括非易失性随机存取存储器。例如,处理器910还可以存储设备类型的信息。
148.在计算设备900运行时,所述处理器910执行所述存储器920中的计算机执行指令执行上述方法的操作步骤。
149.应理解,根据本技术实施例的计算设备900可以对应于执行根据本技术各实施例的方法中的相应主体,并且计算设备900中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
150.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
151.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
152.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
153.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
154.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
155.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
156.本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行一种多样化问题生成方法,该方法包括上述各个实施例所描述的方案中的至少之一。
157.本技术实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读
存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
158.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
159.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
160.可以以一种或多种程序设计语言或其组合来编写用于执行本技术操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
161.注意,上述仅为本技术的较佳实施例及所运用的技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本技术进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明的构思的情况下,还可以包括更多其他等效实施例,均属于本发明的保护范畴。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献