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

一种用户信息扩散方法和网络设备与流程

2023-02-10 17:27:30 来源:中国专利 TAG:


1.本技术涉及通信技术领域,尤其涉及一种用户信息扩散方法和网络设备。


背景技术:

2.当前,企业数字化转型,信息技术/运营技术(information technology/operation technology,it/ot)融合,终端设备的数量从有限的办公设备扩大到海量的物联网(internet of things,iot)终端。
3.大量的iot终端接入园区网络,使得园区网络规模越来越大,且无线化和移动化接入成为常态,未来单园区需实现网络设备的数量超4万、终端设备的数量超40万的超大规模组网,网络设备需要存储的用户信息大大增加,对网络协议和架构带来挑战。


技术实现要素:

4.本技术实施例提供了一种用户信息扩散方法和网络设备。
5.本技术第一方面提供了一种用户信息扩散方法,在本技术中,第一网络设备获取第一终端设备的用户信息,第一终端设备属于第一网络设备的子树,用户信息包括第一终端设备的地址,接着第一网络设备通过上行口向第二网络设备发送用户信息,第一网络设备属于第二网络设备的子树,由于第一网络设备仅需存储其子树的终端设备的用户信息,其所需要存储的用户信息大大减少,减轻了第一网络设备的对用户信息的存储负担。
6.在一些可行的实现方式中,所述用户信息包括所述第一终端设备的地址,或,所述用户信息包括所述第一终端设备的地址和所属的安全组,所述第一终端设备的地址包括媒体存取控制位mac地址和/或网络协议ip地址,那么本技术的技术可以在局域网或ip网络中均可实现。
7.在一些可行的实现方式中,所述第一网络设备根据所述用户信息生成用户路由信息表,所述用户路由信息表中关于所述第一终端设备的用户路由信息表项包括下一跳以及对应的端口和所述用户信息,由于路由表是根据用户信息生成的,因此路由表中仅包括第一网络设备的子树的终端设备,其所需要存储的路由表项大大减少,减轻了第一网络设备的存储负担。
8.在一些可行的实现方式中,所述第一网络设备接收数据报文,然后根据所述数据报文的目的地址查询所述用户路由信息表。若在所述用户路由信息表中查询到所述目的地址为所述第一终端设备的地址,则所述第一网络设备向所述第一终端设备转发所述数据报文;若在所述用户路由信息表中查询不到所述目的地址,则所述第一网络设备通过上行口向所述第二网络设备转发所述数据报文。那么,路由表中仅需包括第一网络设备的子树的终端设备,其所需要存储的路由表项大大减少,减轻了第一网络设备的存储负担。
9.在一些可行的实现方式中,所述第一网络设备获取安全组策略表,所述安全组策略表的表项包括源安全组、目的安全组和策略,所述策略为允许和拒绝。那么,所述第一网络设备可以根据所述数据报文的源地址和目的地址确定对应的源安全组和目的安全组,所
述第一网络设备根据所述对应的源安全组和目的安全组从所述安全组策略表中确定对应的策略,若所述策略为允许,则所述第一网络设备执行向所述第一终端设备转发所述数据报文的步骤。从而保障了数据报文依据对应的安全组策略进行转发。
10.在一些可行的实现方式中,当所述第一终端设备下线时,所述第一网络设备在所述用户路由信息表中删除所述第一终端设备的用户路由信息表项;从而减少了第一网络设备中路由表的路由表项的存储。
11.或,所述第一网络设备将所述用户路由信息表中所述第一终端设备的用户路由信息表项设置为不可用。若第一终端设备暂时下线,可以较为容易恢复,不需要经过繁琐的交互信令重新上线。
12.在一些可行的实现方式中,所述第一网络设备通过上行口向所述第二网络设备发送用户删除消息,所述用户删除消息用于指示删除所述用户信息,或指示将所述第二网络设备的用户路由信息表中所述第一终端设备的用户路由信息表项设置为不可用。若第一终端设备暂时下线,可以较为容易恢复,不需要经过繁琐的交互信令重新上线。
13.第二方面,本技术提供一种网络设备,所述网络设备具体为第一网络设备,所述第一网络设备用于执行前述第一方面中任一项所述的方法。
14.第三方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中任一项所述的方法。
15.本技术第四方面提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备实施上述第一方面或者第一方面的任一种可能的实现方式所提供的方法。
16.本技术第五方面提供一种网络设备,用作第一网络设备,该网络设备可以包括至少一个处理器、存储器和通信接口。至少一个处理器与存储器和通信接口耦合。存储器用于存储指令,至少一个处理器用于执行该指令,通信接口用于在至少一个处理器的控制下与其他网络设备进行通信。该指令在被至少一个处理器执行时,使至少一个处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
17.本技术第六方面提供了一种芯片系统,该芯片系统包括处理器,用于支持网络设备实现上述第一方面或第一方面任意一种可能的实现方式中所涉及的功能。
18.在一种可能的设计中,芯片系统还可以包括存储器,存储器,用于保存网络设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
19.其中,第二至第六方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第一方面不同可能实现方式所带来的技术效果,此处不再赘述。
附图说明
20.图1-1为本技术实施例提供的一种网络拓扑架构示意图;
21.图1-2为具体示例的一种通信网络的拓扑架构示意图;
22.图1-3为具体示例的一种通信网络的拓扑架构示意图;
23.图2-1为本技术实施例提供的一种用户信息扩散方法的示意图;
24.图2-2为网络设备a向网络设备b成功发送数据报文的实施例示意图;
25.图2-3为agg1丢弃数据报文的实施例示意图;
26.图2-4为agg1丢弃数据报文的实施例示意图;
27.图2-5为核心网络设备丢弃数据报文的实施例示意图;
28.图2-6为网络设备a向网络设备b成功发送数据报文的实施例示意图;
29.图3为本技术实施例提供的一种网络设备的结构示意图;
30.图4为本技术实施例提供的一种网络设备的结构示意图。
具体实施方式
31.本技术实施例提供了一种用户信息扩散方法和网络设备,用于减少网络设备存储的用户信息。
32.下面结合附图,对本技术的实施例进行描述。
33.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本技术的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
34.下面结合本发明实施例中的附图对本发明实施例进行描述。本技术实施例的方法可应用于任何网络架构,例如企业网、园区网、数据中心网络等。
35.图1-1为本技术实施例提供的一种网络拓扑架构示意图,该网络拓扑架构包括根节点设备(root)10、一个或多个第一子节点设备11(图1-1中仅示例了一个第一子节点设备)、以及一个或多个第二子节点设备12(图1-1中仅示例了一个第二子节点设备),当然,该网络拓扑架构还可以包括更多的子节点设备。其中,根节点设备、第一子节点设备和第二子节点设备具有一个或多个端口。在该示例中,根节点设备的第一端口连接第一子节点设备的第二端口,第一子节点设备的第三端口连接第二子节点设备的第四端口。根节点设备与第一子节点设备直连;第二子节点设备通过第一子节点设备连接至根节点设备,即第二子节点设备与根节点设备非直连。其中,第二子节点设备和第一子节点设备属于根节点设备的子树,第二子节点设备属于第一子节点设备的子树。
36.本技术实施例的方法可应用于任何网络架构,例如企业网、园区网、数据中心网络等。
37.图1-2为具体示例的一种通信网络100的拓扑架构示意图,其中的核心交换机作为整网的root交换机来发现整网拓扑。理论上网络内部任意一台交换机都可以作为root,但一般最上层的核心交换机控制面能力最强,作为root的节点对控制面有一定的要求,所以一般选择核心交换机作为root。当有多个核心交换机时,可任意选择一台配置成root,或者通过一些选举算法从多个核心交换机中选出作为root的交换机。
38.在该示例中,核心交换机通过端口4连接至汇聚交换机(aggregation switch,agg)1的端口1,核心交换机通过端口5连接至汇聚交换机2的端口1,汇聚交换机1的端口4连接至接入交换机(access switch,acc)1的端口1,汇聚交换机1的端口7连接至接入交换机2的端口1,汇聚交换机2的端口8连接至接入交换机3的端口2,终端设备a连接至接入交换机a
的端口3,以及终端设备b连接至接入交换机1的端口4,以及终端设备c连接至接入交换机2的端口6,终端设备d连接至接入交换机2的端口6,终端设备e连接至接入交换机2的端口7。以上网络拓扑仅为示例。
39.如图1-2所示,终端设备a/b属于acc1的子树,终端设备c属于acc2的子树,终端设备d/e属于acc3的子树。需要说明的是,终端设备a/b/c、acc1、acc2都属于agg1的子树,终端设备d/e、acc3都属于agg2的子树,终端设备a/b/c/d/e、acc1、acc2、acc3、agg1、agg2都属于核心交换机的子树。
40.其中,接入交换机、汇聚交换机和核心交换机都属于网络设备,每个网络设备可以是交换机或路由器(router)等在通信网络中用于转发业务报文的设备,每个网络设备可以是相同的网络设备,例如,每个网络设备均可以是路由器,或者,各个网络设备可以是不同的网络设备,例如,一部分网络设备为路由器,另一部分为交换机。其中,路由器是连接两个或多个通信网络的硬件设备,在通信网络间起网关的作用,路由器是能够读取业务报文中的目的地址并决定如何根据该目的地址传送该业务报文的专用智能性的网络设备;路由器能够理解不同的协议,例如某个局域网使用的以太网协议,因特网使用的传输控制协议/互联协议(transmission control protocol/internet protocol,tcp/ip)协议等,这样路由器可以分析各种不同类型网络传来的业务报文的目的地址,把非tcp/ip地址转换成tcp/ip地址,或者反之;再根据选定的路由算法把各个业务报文按最佳传输路径传送到目的地址,所以路由器可以把非tcp/ip网络连接到因特网上。需要指出的是,为了区别于网络设备间的传输路径,图1-2中以虚线的形式示出了终端设备与各个网络设备之间的通信连接,并且,在一些场景中,本技术实施例所述的传输路径也可以称为通信链路、通信通路、通信隧道或隧道通路等。
41.其中,每个终端设备可以是具备无线通信功能的通信设备,例如智能手机、平板电脑、台式计算机、物联网(internet of things,iot)设备等,且每个终端设备可以是相同的通信设备,例如,终端设备均可以是智能手机,或者,终端设备可以是不同的通信设备,例如,终端设备中的一部分是智能手机,另一部分是iot设备。iot设备可以是家用电器、智能家居、交通工具、工具设备、服务设备、服务设施或可穿戴设备等,iot设备例如但不限于:智能冰箱、智能洗衣机、智能水表、智能电表、智能汽车、车载设备或可穿戴设备等等。
42.在一些可行的实现方式中,图1-2中的通信网络100的拓扑架构还可以为如图1-3所示,其中每个网络设备都包括互为主备的两个网络设备。当属于子树的网络设备或终端设备通过上行口发送信息时,需要分别发送给主备两个网络设备。或者,属于子树的网络设备或终端设备通过上行口发送信息时,仅需发送给主网络设备,然后主网络设备发送一份给备网络设备,让备网络设备进行备份。那么,当主网络设备出现故障时,备网络设备可以继续与其子树的网络设备或终端设备通信。例如,终端设备a向acc1发送数据报文时,需要分别发送给acc1(主)和acc1(备)。或者终端设备a向acc1(主)发送数据报文,acc1(主)发送一份数据报文给acc1(备),让acc1(备)进行备份。
43.需要指出的是,图1-2或图1-3所示系统架构中的通信网络100仅用于举例,并非用于限制本技术实施例的技术方案,在具体实现过程中,通信网络还可能包括其他设备,并且可以根据需要来配置网络设备的数量。为了简要说明,在本技术实施例中,使用如图1-2所示的系统架构中的通信网络100为例进行说明。
44.当前,企业数字化转型,it/ot融合,终端设备的数量从有限的办公设备扩大到海量的iot终端。大量的iot终端接入园区网络,使得园区网络规模越来越大,且无线化和移动化接入成为常态。未来单园区需实现网络设备的数量超4万、终端设备的数量超40万的超大规模组网,对网络协议和架构带来挑战,导致网络设备所需要存储的用户信息的表项越来越多。
45.控制面路由协议的核心功能是实现网络设备的连通以及用户路由的可达。传统的园区组网的控制面,既处理设备路由,也处理用户路由,即一个路由控制面,即有设备路由、又有用户路由。但是,传统的园区组网假设拓扑和连接的普遍稳定性,比较适合节点连接关系和接入用户确定的网络。而未来企业网普遍的无线接入、移动性需求,导致接入用户的不确定性,进而引发全网范围的路由收敛(震荡/同步慢)、扩散问题(控制面负载)。
46.为此,业界将园区组网拆解为overlay underlay(o/u)两个控制平面。其中,underlay用于处理设备路由,overlay用于处理用户路由。那么,用户/业务的数据,通过设备间架设的overlay隧道,穿透underlay复杂的组网结构。但是,传统的o/u方案无论在数据面、控制面还是管理面均有比较大的开销。
47.为此,本技术提出了一种用户信息扩散方法和网络设备,在本技术中,第一网络设备获取第一终端设备的用户信息,第一终端设备属于第一网络设备的子树,用户信息包括第一终端设备的地址,接着第一网络设备通过上行口向第二网络设备发送用户信息,第一网络设备属于第二网络设备的子树,由于第一网络设备仅需存储其子树的终端设备的用户信息,其所需要存储的用户信息大大减少,减轻了第一网络设备的对用户信息的存储负担。
48.为此,请参考图2-1,本技术提供了一种用户信息扩散方法,包括:
49.201、第一网络设备获取第一终端设备的用户信息。
50.在本技术实施例中,第一终端设备的用户信息包括第一终端设备的地址(mac地址和/或ip地址),在一些可行的实现方式中,第一终端设备的用户信息还包括第一终端设备所属的安全组。
51.在一些可行的实现方式,第一网络设备可以首先获取第一终端设备的mac地址,或者mac地址和所属的安全组,然后获取第一终端设备的ip地址。
52.一、mac地址,或者mac地址和所属的安全组。
53.示例性的,第一终端设备首先发起认证(例如基于ieee 802.1x的认证),以第一终端设备直连的网络设备作为认证点,实现第一终端设备与认证服务器的通信。例如,与第一终端设备直连的网络设备为第一网络设备。认证服务器对第一终端设备的认证通过后,认证服务器向第一网络设备下发第一终端设备的mac地址,或mac地址和安全组。然后,第一网络设备记录第一终端设备的mac地址,或mac地址和安全组的映射关系。
54.例如,第一网络设备为acc1,第一终端设备为终端设备a或终端设备b,那么acc1可以学习到如下表1所示的终端设备a或终端设备b的mac地址,或mac地址和安全组的映射关系:
55.表1
[0056][0057]
在本技术实施例,mac地址的值或ip地址的值仅为便于说明的举例,不同于实际的mac地址或ip地址,例如表述为ip1、ip2、mac1、mac2、ip(acc1)等。在真实环境中,mac地址可以为18-11-2a-fa-df-45,ip地址可以为10.1.2.1。
[0058]
又例如,第一网络设备为acc2,第一终端设备为终端设备c,那么acc2可以学习到如下表2所示的终端设备c的mac地址,或mac地址和安全组的映射关系:
[0059]
表2
[0060][0061]
又例如,第一网络设备为acc3,第一终端设备为终端设备d或终端设备e,那么acc3可以学习到如下表3所示的终端设备d或终端设备e的mac地址,或mac地址和安全组的映射关系:
[0062]
表3
[0063][0064]
二、ip地址。
[0065]
在本技术实施例中,当第一终端设备认证通过后,第一终端设备向第一网络设备发送dhcp请求,用于请求ip地址。在一些可行的实现方式中,当第一网络设备接收到第一终端设备发送的dhcp请求后,还可以确定接收到该dhcp请求的端口,然后将端口和第一终端设备的mac地址对应。
[0066]
例如,第一网络设备为acc1,第一终端设备为终端设备a或终端设备b,acc1确定终端设备a和终端设备b对应的端口后,与其mac地址对应,得到如下所述表4:
[0067]
表4
[0068][0069]
然后,第一网络设备作为dhcp请求的中转站(relay)接收到dhcp应答后,获得第一终端设备的ip地址。
[0070]
三、用户信息。
[0071]
在本技术实施例中,当第一网络设备获得第一终端设备的ip地址后,第一网络设备可以记录第一终端设备的mac地址、ip地址的映射关系,或第一终端设备的mac地址、ip地址和安全组的映射关系,即用户信息。
[0072]
例如,acc1可以得到如表5所示的用户信息:
[0073]
表5
[0074][0075]
类似的,acc2可以得到如表6所示的用户信息:
[0076]
表6
[0077][0078]
类似的,acc3可以得到如表7所示的用户信息:
[0079]
表7
[0080][0081]
202、第一网络设备根据用户信息生成用户路由信息表。
[0082]
在本技术实施例中,当第一网络设备获得用户信息后,可以根据用户信息生成用户路由信息表,其中,该用户路由信息表包括关于第一终端设备的用户路由信息表项。
[0083]
例如,第一网络设备为acc1,第一终端设备为终端设备a或终端设备b,那么acc1可以生成如下表8所示的用户路由信息表:
[0084]
表8
[0085][0086]
需要说明的是,用户路由信息表项中的地址可以为ip地址,也可以为mac地址,在本技术实施例中,以ip地址为例进行说明。
[0087]
又例如,第一网络设备为acc2,第一终端设备为终端设备c,那么acc2可以生成如下表9所示的用户路由信息表:
[0088]
表9
[0089][0090]
又例如,第一网络设备为acc3,第一终端设备为终端设备d或终端设备e,那么acc3可以生成如下表10所示的用户路由信息表:
[0091]
表10
[0092][0093]
在一些可行的实现方式中,第一网络设备中可以存储有安全组策略表。例如,如表11所示的安全组策略表:
[0094]
表11
[0095][0096]
但是,对于安全组1,上述表11并未记载,那么第一网络设备可以向控制器发送安全组策略表的请求消息,请求消息中携带安全组的id(例如安全组1的id),控制器即下发关于安全组1的安全组策略,那么第一网络设备即可得到如下表12所示的安全组策略表:
[0097]
表12
[0098][0099]
203、第一网络设备通过上行口向第二网络设备发送第一终端设备的用户信息。
[0100]
在本技术实施例中,当第一网络设备获取第一终端设备的用户信息后,可以通过上行口向第二网络设备发送第一终端设备的用户信息。
[0101]
在本技术实施例中,第一终端设备属于第一网络设备的子树。其中,第一网络设备可以为图1-2中的任意网络设备,例如,acc1/2/3,agg1/2,或核心交换机。第一终端设备可以为图1-2中的任意终端设备,例如终端设备a/b/c/d/e,或者图1-2中的终端设备以外的终端设备,例如终端设备f。
[0102]
其中,在本技术实施例中,第一网络设备与第一终端设备直连,第一终端设备可以通过上行口直接将数据报文发送给第一网络设备。需要说明的是,第一终端设备的上行口为向连接的第一网络设备发送数据报文的端口。例如,如图1-2所示,终端设备a的上行口的端口3,终端设备b的上行口的端口4,终端设备c的上行口的端口6,终端设备d的上行口的端口6,终端设备e的上行口的端口7。第一网络设备上也有上行口,例如,如图1-2所示,acc1的上行口为端口1,acc2的上行口为端口1,acc3的上行口为端口2,agg1的上行口为端口1,agg1的上行口为端口1。
[0103]
例如,第一网络设备为acc1,第二网络设备为agg1,那么acc1向agg1发送终端设备a和/或终端设备b的用户信息,如表13所示:
[0104]
表13
[0105][0106]
又例如,第一网络设备为acc2,第二网络设备为agg1,那么acc2向agg1发送终端设备c的用户信息,如表14所示:
[0107]
表14
[0108][0109]
204、第二网络设备根据用户信息生成用户路由信息表。
[0110]
举例说明,agg1接收到acc1和acc2发送的终端设备a/b/c的用户信息后,生成如表15所示的用户路由信息表:
[0111]
表15
[0112][0113]
需要说明的是,ip(acc1)表示acc1的ip地址,ip(acc2)表示acc2的ip地址。相同的,后续的ip(acc3)表示acc3的ip地址,ip(agg1)表示agg1的ip地址,ip(agg2)表示agg2的ip地址。
[0114]
在一些可行的实现方式中,第二网络设备中可以存储有安全组策略表。例如,如表11所示的安全组策略表。但是,对于安全组1,上述表11并未记载,那么agg1可以向控制器发送安全组策略表的请求消息,携带安全组的id(例如安全组1的id),控制器即下发关于安全组1的安全组策略,那么agg1即可得到如表12所示的安全组策略表。
[0115]
又例如,第一网络设备为acc3,第二网络设备为agg2,那么acc3向agg2发送终端设备d或终端设备e的用户信息,如表16所示:
[0116]
表16
[0117][0118]
那么,agg2接收到acc3发送的终端设备d/e的用户信息后,生成如表17所示的用户路由信息表:
[0119]
表17
[0120][0121]
在一些可行的实现方式,agg2可以存储如表11所示的安全组策略表。但是,对于安全组1,上述表11并未记载,那么agg2备可以向控制器发送安全组策略表的请求消息,携带安全组的id(例如安全组1的id),控制器即下发关于安全组1的安全组策略,那么agg2即可得到如表12所示的安全组策略表。
[0122]
进一步的,agg1将终端设备a/b/c的用户信息继续发送给核心交换机,agg2也可以将终端设备d/e的用户信息发送给核心交换机,那么核心交换机可以得到如下表18所示的终端设备a/b/c/d/e的用户信息:
[0123]
表18
[0124][0125]
然后,核心交换机通过表18中的用户信息生成如表19所示的用户路由信息表:
[0126]
表19
[0127][0128]
在一些可行的实现方式中,核心交换机中可以存储有安全组策略表。例如,如表11所示的安全组策略表。但是,对于安全组1,上述表11并未记载,那么核心交换机可以向控制器发送安全组策略表的请求消息,携带安全组的id(例如安全组1的id),控制器即下发关于安全组1的安全组策略,那么核心交换机即可得到如表12所示的安全组策略表。
[0129]
在一些可行的实现方式中,由于核心交换机是根节点设备(root),核心交换机生成如表18所示的用户路由信息表后,不需要继续通过上行口扩散用户信息,可以停止用户信息的泛洪(flooding)。
[0130]
在一些可行的实现方式中,承载用户信息的消息中可以包含源地址(第一网络设备的地址)、目的地址(第二网络设备的地址)、终端设备的id(包括mac地址和/或ip地址)、
终端设备所属的安全组和指令(opcode,例如添加:add)。如表20所示:
[0131]
表20
[0132]
源地址目的地址终端设备的id安全组指令
[0133]
需要说明的是,当核心交换机接收到的承载用户信息的消息,由于核心交换机是根节点设备(root),不再通过上行口发送,从而停止扩散(flooding)。
[0134]
前面步骤201-204描述了第一网络设备获取第一终端设备的用户信息、通过上行口定向扩散用户信息、根据用户信息生成用户路由信息表的过程,下面通过步骤205-208描述基于第一网络设备生成的用户路由信息表,转发数据报文的过程。
[0135]
205、第一网络设备接收数据报文。
[0136]
举例说明,如图1-2所示,终端设备a通过端口3向acc1发送数据报文,终端设备b通过端口4向acc1发送数据报文,终端设备c通过端口6向acc2发送数据报文,终端设备d通过端口6向acc3发送数据报文,终端设备e通过端口7向acc3发送数据报文。
[0137]
206、第一网络设备根据数据报文的目的地址查询用户路由信息表。
[0138]
在本技术实施例中,第一网络设备可以从数据报文中获取目的地址(ip地址或mac地址)。例如,数据报文的目的地址是终端设备b的ip地址或mac地址。在一些可能的实现方式中,ip地址可以是网际协议版本4(internet protocol version 4,ipv4)地址,也可以是网际协议版本6(internet protocol version 6,ipv6)地址,此处不作限定。
[0139]
示例性的,第一网络设备接收到数据报文后,根据数据报文的目的地址查询用户路由信息表。若在用户路由信息表中查询到目的地址对应的第二终端设备,则执行步骤206;若在用户路由信息表中查询不到目的地址,则执行步骤207。
[0140]
在本技术实施例中,基于步骤201-203可知,如果目的地址对应第二终端设备属于第一网络设备的子树,那么第一网络设备可以从用户路由信息表中查询对应的用户路由信息表项。如果目的地址指示的第二终端设备不属于第一网络设备的子树,那么第一网络设备无法从用户路由信息表中查询到对应的用户路由信息表项。
[0141]
例如,终端设备a/b属于acc1/agg1/核心交换机的子树,那么acc1/agg1/核心交换机可以从用户路由信息表中查询到终端设备a/b的ip地址对应的用户路由信息表项。终端设备a/b/c和acc1、acc2属于agg1/核心交换机的子树,那么agg1/核心交换机可以从用户路由信息表中查询到终端设备a/b/c和acc1、acc2的ip地址对应的用户路由信息表项。
[0142]
又例如,终端设备c/d/e不属于acc1的子树,那么acc1无法从用户路由信息表中查询到终端设备c/d/e的ip地址对应的用户路由信息表项。又例如,终端设备a/b/c、acc1、acc2、agg1不属于agg2的子树,那么agg2无法从用户路由信息表中查询到终端设备a/b/c、acc1、acc2、agg1的ip地址对应的用户路由信息表项。
[0143]
207、第一网络设备向第一终端设备转发数据报文。
[0144]
在本技术实施例中,如果第一网络设备可以从用户路由信息表中查询到该目的地址对应的用户路由信息表项,那么第一网络设备还可以从该用户路由信息表项中找到与目
的地址对应的端口和下一跳,然后在该端口中向下一跳转发数据报文。
[0145]
例如,对于acc1中的用户路由信息表如下表8所示,若第一终端设备为终端设备a,第二终端设备为终端设备b,即目的地址为ip地址=2,对应端口4,对应的下一跳为终端设备b,那么,如图2-2所示,acc1可以通过端口4向下一跳(网络设备b)转发数据报文。
[0146]
在本技术实施例中,第一网络设备向第一终端设备转发数据报文之前,还可以根据数据报文的源地址和目的地址确定对应的源安全组和目的安全组,并根据对应的源安全组和目的安全组从安全组策略表中确定对应的策略。若策略为允许,则第一网络设备向第一终端设备转发数据报文。否则,若策略为拒绝,则不转发数据报文。
[0147]
例如,如表8所示,以终端设备a的ip地址为源地址,对应安全组1,终端设备b的地址为目的ip地址,对应安全组2,根据表12所示为安全组策略表,源安全组为1与目的安全组为2所对应的策略为允许,那么acc1则向终端设备b发送数据报文。
[0148]
又例如,对于agg1中的用户路由信息表如表15所示,若第一终端设备为终端设备c,第二终端设备为终端设备b,即目的地址为ip地址=2,对应端口4,对应的下一跳为终端设备acc1,则agg1可以通过端口4向下一跳(acc1)转发数据报文。
[0149]
如表15所示,以终端设备c的ip地址为源地址,对应安全组3,终端设备b的地址为目的ip地址,对应安全组2,根据表12所示为安全组策略表,源安全组为1与目的安全组为2所对应的策略为拒绝,那么如图2-3所示,agg1不向acc1转发发送数据报文,agg1可以丢弃数据报文,且向终端设备c返回拒绝提示。
[0150]
208、第一网络设备通过上行口向第二网络设备转发数据报文。
[0151]
在本技术实施例中,若第一网络设备在用户路由信息表中查询不到数据报文的目的地址,则第一网络设备通过上行口向第二网络设备转发数据报文。其中,第一网络设备属于第二网络设备的子树。
[0152]
例如,第一网络设备为acc1,第二网络设备为agg1,若数据报文的目的地址为终端设备c的地址,由于终端设备c不属于acc1的子树,那么acc1的用户路由信息表中没有数据报文的目的地址对应的用户路由信息表项,那么acc1可以将数据报文通过上行口向agg1转发。
[0153]
然后,第二网络设备接收到第一网络设备通过上行口发送的数据报文后,第二网络设备可以执行与步骤205-207中第一网络设备所执行的步骤。
[0154]
例如,当agg1接收到acc1发送的数据报文后,根据数据报文的目的地址查询用户路由信息表(步骤206)。由于数据报文的目的地址对应的终端设备c属于agg1的子树,因此agg1可以从用户路由信息表中查询到数据报文的目的地址对应的用户路由信息表项。例如,agg1的用户路由信息表如表15所示,那么agg1可以通过用户路由信息表中终端设备c的目的地址确定对应的端口7,然后通过端口7向下一跳(acc2)转发数据报文(步骤207),即agg1通过端口7将数据报文发送到acc2。若数据报文的目的地址对应终端设备d,而终端设备d不属于agg1的子树,agg1无法从用户路由信息表中查询到数据报文的目的地址对应的用户路由信息表项,那么agg1向核心交换机发送数据报文(步骤208)。
[0155]
如表2所示,以终端设备a的地址为源ip地址,对应安全组1,终端设备c的地址为目的地址,对应安全组3,根据表12所示为安全组策略表,源安全组为1与目的安全组为3所对应的策略为拒绝,那么如图2-4所示,agg1则不向acc2发送数据报文,那么agg1可以丢弃该
数据报文,也可以向终端设备a返回拒绝提示,此处不作限定。
[0156]
在本技术实施例中,若agg1向核心交换机发送数据报文,当核心交换机接收到agg1发送的数据报文后,核心交换机可以执行与步骤205-207中第一网络设备所执行的步骤。
[0157]
例如,当核心交换机接收到agg1发送的数据报文后,根据数据报文的目的地址查询用户路由信息表(步骤206)。由于数据报文的目的地址对应的终端设备d属于核心交换机的子树,因此核心交换机可以从用户路由信息表中查询到数据报文的目的地址对应的用户路由信息表项。例如,核心交换机的用户路由信息表如表19所示,那么核心交换机可以通过用户路由信息表中终端设备d的目的地址确定对应的端口5,然后通过端口5向下一跳(agg2)转发数据报文(步骤207),即agg2通过端口5将数据报文发送到agg2。若数据报文的目的地址对应终端设备f,而终端设备f不属于核心交换机的子树,核心交换机无法从用户路由信息表中查询到数据报文的目的地址对应的用户路由信息表项,那么如图2-5所示,核心交换机不该数据报文,而丢弃该数据报文(步骤208)。
[0158]
如表2所示,以终端设备a的地址为源ip地址,对应安全组1,终端设备d的地址为目的地址,对应安全组1,由于终端设备a所属的安全组和终端设备d所属的安全组相同,那么核心交换机则可以向agg2发送数据报文。
[0159]
然后,与前述相同的方式,如图2-6所示,agg2将数据报文转发该acc3,acc3将数据报文转发给终端设备d,此处不做赘述。
[0160]
前面步骤201-203描述了第一网络设备获取第一终端设备的用户信息、通过上行口定向扩散用户信息、根据用户信息生成用户路由信息表的过程,步骤205-208描述基于第一网络设备生成的用户路由信息表,转发数据报文的过程,下面通过步骤209-211描述当第一终端设备下线时的用户信息扩散方法。
[0161]
209、当第一终端设备下线时,第一网络设备在用户路由信息表中删除第一终端设备的用户路由信息表项,或,第一网络设备将用户路由信息表中第一终端设备的用户路由信息表项设置为不可用。
[0162]
在一些可行的实现方式,若第一终端设备发生故障,或者第一终端设备移动到第一网络设备的覆盖区域之外时,第一终端设备就会下线,第一网络设备可以删除用户路由信息表中的第一终端设备的用户路由信息表项,或,第一网络设备将用户路由信息表中第一终端设备的用户路由信息表项设置为不可用。
[0163]
例如,终端设备a下线了,acc1的端口3显示“下线”(down),那么acc1删除如表1所示用户路由信息表的终端设备a对应的用户路由信息表项,或者将该用户路由信息表项设置为不可用(invalid)。以删除终端设备a对应的用户路由信息表项为例,得到如表21所示的用户路由信息表:
[0164]
表21
[0165][0166]
或者,设置该用户路由信息表项设置为不可用(invalid),得到如表22所示的用户路由信息表:
[0167]
表22
[0168][0169]
又例如,终端设备d下线了,acc3端口3显示“下线”(down),那么acc1删除如表1所示用户路由信息表的终端设备a对应的用户路由信息表项,或者将该用户路由信息表项设置为不可用(invalid)。以删除终端设备d对应的用户路由信息表项为例,得到如表23所示的用户路由信息表:
[0170]
表23
[0171][0172]
或者,设置该用户路由信息表项设置为不可用(invalid),得到如表24所示的用户路由信息表:
[0173]
表24
[0174][0175]
210、第一网络设备通过上行口向第二网络设备发送用户删除消息。
[0176]
在本技术实施例中,用户删除消息用于指示删除用户信息,或指示将第二网络设备的用户路由信息表中第一终端设备的用户路由信息表项设置为不可用。
[0177]
例如,当终端设备a下线时,acc1向agg1发送关于终端设备a的用户删除消息。又例如,当终端设备d下线时,acc3向agg2发送关于终端设备a的用户删除消息。需要说明的是,用户删除消息携带第一终端设备的标识(identifier,id)(包括mac地址和/或ip地址)。需要说明的是,一个用户删除消息,可以用于指示删除一个终端设备的用户路由信息表项,也可以指示删除多个终端设备的用户路由信息表项,此处不做限定。
[0178]
当agg1/agg2接收到用户删除消息后,可以继续通过上行口向核心交换机发送该用户删除消息。需要说明的是,当核心交换机接收到的用户删除消息,由于核心交换机是根节点设备(root),不再通过上行口发送,从而停止扩散(flooding)。
[0179]
211、第二网络设备根据用户删除消息删除第一终端设备的用户路由信息表项,或指示将第二网络设备的用户路由信息表中第一终端设备的用户路由信息表项设置为不可用。
[0180]
在本技术实施例中,当第二网络设备接收到第一网络设备通过上行口发送的关于第一终端设备的用户删除消息后,根据用户删除消息中的指示删除第一终端设备的用户路由信息表项,或者将该第一终端设备的用户路由信息表项设置为不可用(invalid)。
[0181]
例如,agg1接收到acc1发送的关于终端设备a的用户删除消息后,删除终端设备a的用户路由信息表项,得到如表25所示的用户路由信息表:
[0182]
表25
[0183][0184]
或者,设置该用户路由信息表项设置为不可用(invalid),得到如表26所示的用户路由信息表:
[0185]
表26
[0186][0187]
又例如,agg2接收到acc3发送的关于终端设备d的用户删除消息后,删除终端设备d的用户路由信息表项,得到如表27所示的用户路由信息表:
[0188]
表27
[0189][0190]
或者,设置该用户路由信息表项设置为不可用(invalid),得到如表28所示的用户路由信息表:
[0191]
表28
[0192][0193]
又例如,核心交换机接收到agg1/agg2发送的关于终端设备a/终端设备d的用户删除消息后,删除终端设备a/终端设备d的用户路由信息表项,得到如表29所示的用户路由信息表:
[0194]
表29
[0195][0196]
或者,设置该用户路由信息表项设置为不可用(invalid),得到如表30所示的用户
路由信息表:
[0197]
表30
[0198][0199]
需要说明的是,当核心交换机接收到的用户删除消息,由于核心交换机是根节点设备(root),不再通过上行口发送,从而停止扩散(flooding)。
[0200]
需要说明的是,用户删除消息中可以包含源地址(第一网络设备的地址)、目的地址(第二网络设备的地址)、终端设备的id(包括mac地址和ip地址)、终端设备所述的安全组和指令(opcode:删除delete)。如表31所示:
[0201]
表31
[0202]
源地址目的地址终端设备的id指令:删除(delete)
[0203]
在本技术实施例中,若第一终端设备由于故障而下线,第一网络设备和/或第二网络设备删除了第一终端设备的用户路由信息表项,当第一终端设备在第一网络设备上重新上线时,可以通过步骤201-204,实现第一终端设备在第一网络设备上重新上线,且更新第二网络设备的用户路由信息表。
[0204]
若第一网络设备和/或第二网络设备将第一终端设备的用户路由信息表项设置为不可用(invalid),当第一终端设备在第一网络设备上重新上线时,可以取消第一终端设备的用户路由信息表项的不可用的设置,让第一终端设备重新上线,并通过上行口通知第二网络设备取消第一终端设备的用户路由信息表项的不可用的设置,且更新第二网络设备的用户路由信息表。
[0205]
在本技术实施例中,若第一终端设备由于切换而下线,当第一终端设备切换到第三网络设备时(例如,从acc1切换到acc2),第一终端设备切换到第三网络设备之间可以通过步骤201-204,实现第一终端设备在第三网络设备上线,且更新第二网络设备的用户路由信息表,此处不做赘述。
[0206]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
[0207]
为便于更好的实施本技术实施例的上述方案,下面还提供用于实施上述方案的相关装置。
[0208]
请参阅图3所示,本技术实施例提供的一种网络设备300,用作第一网络设备,可以包括:处理模块301和收发模块302,其中,
[0209]
处理模块301,用于获取第一终端设备的用户信息,所述第一终端设备属于所述第一网络设备的子树,所述用户信息包括所述第一终端设备的地址。
[0210]
收发模块302,用于通过上行口向第二网络设备发送所述用户信息,所述第一网络设备属于所述第二网络设备的子树。
[0211]
在一些可行的实现方式中,所述用户信息包括所述第一终端设备的地址,或,所述用户信息包括所述第一终端设备的地址和所属的安全组。所述第一终端设备的地址包括mac地址和/或ip地址。
[0212]
在一些可行的实现方式中,所述处理模块301,用于根据所述用户信息生成用户路由信息表,所述用户路由信息表中关于所述第一终端设备的用户路由信息表项包括下一跳以及对应的端口和所述用户信息。
[0213]
在一些可行的实现方式中,所述收发模块302,还用于接收数据报文。
[0214]
所述处理模块301,还用于根据所述数据报文的目的地址查询所述用户路由信息表。
[0215]
所述收发模块302,还用于若在所述用户路由信息表中查询到所述目的地址为所述第一终端设备的地址,则向所述第一终端设备转发所述数据报文。
[0216]
所述收发模块302,还用于若在所述用户路由信息表中查询不到所述目的地址,则通过上行口向所述第二网络设备转发所述数据报文。
[0217]
在一些可行的实现方式中,所述处理模块301,还用于获取安全组策略表,所述安全组策略表的表项包括源安全组、目的安全组和策略,所述策略为允许和拒绝。
[0218]
所述处理模块301,还用于根据所述数据报文的源地址和目的地址确定对应的源安全组和目的安全组。
[0219]
所述处理模块301,还用于根据所述对应的源安全组和目的安全组从所述安全组策略表中确定对应的策略。
[0220]
所述处理模块301,还用于若所述策略为允许,则向所述第一终端设备转发所述数据报文。
[0221]
在一些可行的实现方式中,所述处理模块301,还用于当所述第一终端设备下线时,在所述用户路由信息表中删除所述第一终端设备的用户路由信息表项。或,将所述用户路由信息表中所述第一终端设备的用户路由信息表项设置为不可用。
[0222]
在一些可行的实现方式中,所述收发模块302,还用于通过上行口向所述第二网络设备发送用户删除消息,所述用户删除消息用于指示删除所述用户信息,或指示将所述第二网络设备的用户路由信息表中所述第一终端设备的用户路由信息表项设置为不可用。
[0223]
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其带来的技术效果与本技术方法实施例相同,具体内容可参见本技术前述所示的方法实施例中的叙述,此处不再赘述。
[0224]
本技术实施例还提供一种计算机存储介质,其中,该计算机存储介质存储有程序,
该程序执行包括上述方法实施例中记载的部分或全部步骤。
[0225]
接下来介绍本技术实施例提供的另一种网络设备,用作第一网络设备,请参阅图4所示,网络设备400包括:
[0226]
接收器401、发射器402、处理器403和存储器404(其中网络设备400中的处理器403的数量可以一个或多个,图4中以一个处理器为例)。在本技术的一些实施例中,接收器401、发射器402、处理器403和存储器404可通过总线或其它方式连接,其中,图4中以通过总线连接为例。
[0227]
存储器404可以包括只读存储器和随机存取存储器,并向处理器403提供指令和数据。存储器404的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,nvram)。存储器404存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
[0228]
处理器403控制网络设备400的操作,处理器403还可以称为中央处理单元(central processing unit,cpu)。具体的应用中,网络设备400的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
[0229]
上述本技术实施例揭示的方法可以应用于处理器403中,或者由处理器403实现。处理器403可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器403中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器403可以是通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器404,处理器403读取存储器404中的信息,结合其硬件完成上述方法的步骤。
[0230]
接收器401可用于接收输入的数字或字符信息,以及产生与网络设备400的相关设置以及功能控制有关的信号输入,发射器402可包括显示屏等显示设备,发射器402可用于通过外接接口输出数字或字符信息。
[0231]
本技术实施例中,处理器403,用于执行前述网络设备执行的用户信息方法。
[0232]
在另一种可能的设计中,当网络设备400为芯片时,包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使该终端内的芯片执行上述第一方面任意一项的无线报告信息的发送方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述终端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)等。
[0233]
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,asic,或一个或多个用于控制上述方法的程序执行的集成电路。
[0234]
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本技术提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
[0235]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本技术而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、u盘、移动硬盘、rom、ram、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
[0236]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
[0237]
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献