控制方法及网络架构与流程

文档序号:13010347阅读:183来源:国知局
本发明是有关于一种控制方法及网络架构,且特别是有关于一种减少封包重复接收的控制方法及网络架构。
背景技术
::目前传输封包的常见方式可分为单点传播(unicast)、多点传播(multicast)或广播(broadcast)。在多点传播的系统中需要将封包传送到所有的节点上,例如分发拓朴连接状态至各个节点。在传统的做法中,常会利用泛洪(flooding)的方式将封包转发到所有节点。在泛洪(flooding)的转发方式中,不仅会发生在同一节点上收到两个以上相同的封包,甚至有可能收到由同一节点本身发出的封包,如此一来则造成频宽以及中央处理单元资源的浪费。而在软件定义网络(software-definednetworking,sdn)的做法中,需要经由控制器搜集所有节点传送的信息并计算结果后,再将结果传送到每一个节点上。然而,这样来回传送的做法相当耗费时间及运算资源,相当没有效率。技术实现要素:本发明的一方面是在提供一种控制方法,适用于包含多个节点的网络架构,每一节点直接或间接电性耦接至其余节点,控制方法包含:其中一个节点由直接或间接电性耦接的所述节点接收至少一封包;其中一个节点判断接收到的封包是来自该其中一个节点本身或是来自其余节点;若接收到的该至少一封包是来自该其中一个节点本身,则丢弃该至少一封包;以及,若接收到的该至少一封包是来自其余节点,则根据流量大小以及时间区间选择性地保存该至少一封包。于一实施例中,根据该流量大小以及该时间区间选择性地保存该至少一封包的步骤还包含:判断接收到的该至少一封包的流量是否在该时间区间内超过该流量大小;若接收到的该至少一封包的流量在该时间区间内超过该流量大小,则丢弃该至少一封包;以及,若接收到的该至少一封包的流量在该时间区间内未超过该流量大小,则保存该至少一封包。于一实施例中,每一节点包含计时器,该控制方法还包含:当接收到该至少一封包时,触发该计时器;以及,由该计时器计算是否达到该时间区间,其中若达到该时间区间,则重置该至少一封包的地址信息所对应累积的该至少一封包的流量。于一实施例中,每一节点包含计时器,该控制方法还包含:持续性地驱动该计时器以计算是否达到该时间区间,其中若达到该时间区间,则重置所有地址信息所对应累积的该至少一封包的流量。于一实施例中,该至少一封包的封包型态为控制封包、讯息封包或数据封包。于一实施例中,该流量大小为一个单位封包大小的一倍至两倍。于一实施例中,该至少一封包的地址信息为ip地址或mac地址。本发明的次一方面是在提供一种网络架构包含多个节点,每一所述节点直接或间接电性耦接至其余节点,所述节点其中一个节点接收至少一封包,该其中一个节点判断接收到的至少一封包是来自该其中一个节点本身或是来自其余节点,若接收到的该至少一封包是由该其中一个节点本身传送出来,则丢弃该至少一封包,若接收到的该至少一封包是由其余所述节点传送出来,则根据一流量大小以及一时间区间选择性地保存该至少一封包。于一实施例中,其中所述节点其中一者判断接收到的该至少一封包的流量是否在该时间区间内超过该流量大小,若接收到的该至少一封包的流量在该时间区间内超过该流量大小,则丢弃该至少一封包,若所述节点其中一者接收到的该至少一封包的流量在该时间区间内未超过该流量大小,则保存该至少一封包。于一实施例中,其中每一节点各自包含计时器,当所述节点其中一者接收到该至少一封包时触发该计时器,该计时器计算是否达到该时间区间,其中若达到该时间区间,则所述节点其中一者重置该至少一封包的地址信息所对应累积的该至少一封包的流量。于一实施例中,其中每一节点各自包含计时器,所述节点其中一者持续性地驱动该计时器以计算是否达到该时间区间,其中若达到该时间区间,则所述节点其中一者重置所有地址信息所对应累积的该至少一封包的流量。于一实施例中,其中该至少一封包的封包型态为控制封包、讯息封包或数据封包。综上所述,本发明透过节点判断接收到的封包各自的来源,并进一步判断是否丢弃封包借此减少封包被重复接收、处理的机会,而减少了频宽的浪费以及节省了运算单元资源的使用。附图说明为让本发明的上述和其他目的、特征、优点与实施例能更明显易懂,所附附图的说明如下。图1a是根据本发明的一实施例所绘示的一种控制方法的流程示意图;图1b是图1a中控制方法的步骤的流程示意图;图1c是图1a中控制方法的步骤的流程示意图;以及图2是根据本发明的一实施例所绘示的一种网络架构的示意图。具体实施方式以下揭示提供许多不同实施例或例证用以实施本发明的不同特征。特殊例证中的元件及配置在以下讨论中被用来简化本发明。所讨论的任何例证只用来作解说的用途,并不会以任何方式限制本发明或其例证的范围和意义。此外,本发明在不同例证中可能重复引用数字符号且/或字母,这些重复皆为了简化及阐述,其本身并未指定以下讨论中不同实施例且/或配置之间的关系。在全篇说明书与申请专利范围所使用的用词(terms),除有特别注明外,通常具有每个用词使用在此领域中、在此揭露的内容中与特殊内容中的平常意义。某些用以描述本发明的用词将于下或在此说明书的别处讨论,以提供本领域技术人员在有关本发明的描述上额外的引导。关于本文中所使用的“耦接”或“连接”,均可指二或多个元件相互直接作实体或电性接触,或是相互间接作实体或电性接触,而“耦接”或“连接”还可指二或多个元件相互操作或动作。在本文中,使用第一、第二与第三等等的词汇,是用于描述各种元件、组件、区域、层与/或区块是可以被理解的。但是这些元件、组件、区域、层与/或区块不应该被这些术语所限制。这些词汇只限于用来辨别单一元件、组件、区域、层与/或区块。因此,在下文中的一第一元件、组件、区域、层与/或区块也可被称为第二元件、组件、区域、层与/或区块,而不脱离本发明的本意。如本文所用,词汇“与/或”包含了列出的关联项目中的一个或多个的任何组合。请参阅图1a以及图2。图1a是根据本发明的一实施例所绘示的一种控制方法100的流程示意图。图2是根据本发明的一实施例所绘示的一种网络架构200的示意图。在一些实施例中,网络架构200可以例如为拓扑网络架构,且可以单点传播(unicast)、多点传播(multicast)或广播(broadcast)的方式发送网络连结状态封包的网络架构,本发明并不以此为限。图1a的显示方法100可以应用于图2的网络架构200。控制方法100包含步骤s110~s140。如图2所示,网络架构200包含节点n1~n5。需提醒的是,实际应用中网络架构200可能包含更少或更多的节点,且节点n1~n5可能包含更多的元件,例如包含3个、7个或任意数目个节点,节点n1~n5可能包含运算单元、储存单元等元件,运算单元用以执行指令,储存单元用以储存封包等,在此为了方便说明而仅绘示节点n1~n5来示意网络架构200,实际上网络架构200并不以此为限。每一节点n1~n5直接或间接电性耦接至其余节点。如图2所示,对于节点n1而言,节点n2、n5是直接电性耦接,而节点n3、n4则是间接电性耦接,此处的间接耦接意即节点n1若需传输封包仍然可以先将封包传输至直接电性耦接的节点n2、n5,再透过节点n2、n5传输至节点n3、n4,因此节点n1直接或间接电性耦接至其余节点n2~n5。又或对于节点n2而言,节点n1、n3、n4是直接电性耦接,而节点n5则是间接电性耦接,此处的间接耦接意即节点n2若需传输封包仍然可以先将封包传输至直接电性耦接的节点n1、n3、n4,再透过节点n1、n3、n4传输至节点n5,因此节点n2直接或间接电性耦接至其余节点n1、n3~n5。同样地依循上述说明,对于节点n3~n5来说亦直接或间接电性耦接至其余节点。如图1a所示的控制方法100,步骤s100中,每一节点n1~n5分别传送封包至与直接或间接电性耦接的节点。在此实施例中,假设每一节点n1~n5均产生8个封包,其中符号pij代表由第ni个节点所产生的第j个封包,亦即节点n1产生第1个封包至第8个封包为p11~p18、节点n2产生封包p21~p28、节点n3产生封包p31~p38、节点n4产生封包p41~p48、节点n5产生封包p51~p58,在图2中为避免符号过于杂乱仅绘示节点n1所产生的封包p11~p18,封包p11代表由节点n1所产生的第1个封包,封包p18代表由节点n1所产生的第8个封包。在此实施例中,节点n1~n5所产生的封包的封包型态为控制封包,控制封包可能包含控制指令。在其他实施例中节点n1~n5所产生的封包的封包型态亦可以为包含讯息或数据的讯息封包、数据封包或任意型态的封包。此外,如同先前所述,在实际应用中的节点数目可以为任意数目,此处由节点n1~n5所产生的封包数目亦不仅限于8个,同样可以为任意数目,且每一节点n1~n5所产生的封包数目亦可以不同,并不限制于相同的情况。因此,在步骤s100中,每一节点n1~n5向外传输8个封包,如图2所示,对于节点n1而言,一方面将封包p11~p18传输至节点n2,另一方面亦同时将封包p11~p18传输至节点n5。接着,可再透过节点n2、n5将封包p11~p18传输至节点n3、n4。如此一来,每一节点n1~n5所产生的封包皆可以被传送至网络架构200中的各个节点。接着,如图1a所示的控制方法100,在步骤s110中,其中一个节点由直接或间接电性耦接的所述节点接收至少一封包。举例来说,节点n1用以接收来自各节点的封包。节点n1所接收的至少一封包可以是各节点n2~n5以泛洪(flooding)转发方式所发出或是转送的控制封包/讯息封包/数据封包。也就是说,节点n1所接收到的封包当中,可能包含源自其他节点n2-n5的封包p21~p28、p31~p38、p41~p48或p51~p58,也有可能收到来自本身的封包p11~p18。节点n1在步骤s100中所发出的封包p11~p18,可能因为泛洪(flooding)转发而再次回到同一节点n1。同理,节点n2用以接收来自各节点的封包,其中亦可能包含原自其他节点n1、n3-n5的封包p11~p18、p31~p38、p41~p48或p51~p58。可依此类推每一节点n3~n5。接着,在步骤s120中,其中一个节点判断接收到的封包是来自该其中一个节点或是来自其余节点。在步骤s130中,若接收到的封包是由同一节点传送出来,则丢弃封包。在步骤s140中,若接收到的封包是由其余节点传送出来,则根据流量大小以及时间区间选择性地保存封包。每一个节点可以透过步骤s120、步骤s130至步骤s140来决定如何处理其接收到的各个封包。举例来说,在步骤s120当其中一个节点判断接收到的封包时,可以分辨封包的来源地址,决定是否丢弃该封包。假设,来自节点n1的各封包p11-p18所对应的地址信息m11-m18;来自节点n2的各封包p21-p28所对应的地址信息m21-m28;依此类推,来自节点n5的各封包p51-p58所对应的地址信息m51-m58。例如,若节点n1收到的封包其来源地址信息同样是来自节点n1时(例如经过多次转发的后重回到节点n1),也就是说,若位置信息为m11-m18时,则进入步骤s130,节点n1将其丢弃。当节点n1收到的封包其来源地址信息不是m11-m18,也就是m21-m58任一者时,则进入步骤s140。为避免相同的封包在一定的时间内被节点n1~n5重复地接收及处理,因此在步骤s140,各节点中判断接收到的封包的流量是否在一定的时间区间内超过流量大小,此处的时间区间可设定为1毫秒(millisecond,ms)、10毫秒或1秒等各种适合的时间长度,封包流量大小可设为一个单位封包的大小(例如128bytes,视节点之间单位封包的标准大小而定)。假设,节点n1收到封包p32,因封包p32的地址信息m32表示并不是来自同一节点n1的封包,则节点n1进一步在步骤s140中判断,在1毫秒之内收到的封包p32的总流量是否超过128bytes。若未超过,则节点n1接收并保留封包p32,进行后续处理。若超过1毫秒之内收到的封包p32的总流量是否超过128bytes,则表示节点n1已在短时间内收过类似/相同的封包p32,则节点n1可丢弃封包p32,以相同的封包在一定的时间内被节点n1重复地接收及处理。进一步来说,在部分实施例中,每一节点n1~n5具有存取控制表(accesscontrollisttable,acltable)。存取控制表包含来自各节点n1~n5的各封包p11-p58所对应的地址信息m11-m58。每一节点n1~n5可以配合存取控制表达成上述步骤s120、s130及s140,但本发明并不以此为限。于另一部分实施例中,每一节点n1~n5可以透过处理器、处理电路、通讯控制电路与各节点n1~n5上的储存模块,来执行上述的步骤s120、s130及s140。以节点n1为例,其存取控制表可能的实施情况如下表一所示:表一在此请参阅图1b,图1b是图1a中控制方法100的步骤s120的流程示意图。在此实施例中,以节点n1为例,步骤s120还包含步骤s121以及步骤s122。步骤s121将封包中的地址信息与存取控制表(如表一中所示节点n1的存取控制表)的地址信息匹配。接着,步骤s122判断封包中的地址信息是否匹配至存取控制表中同一节点的栏位。详细来说,在此实施例中,封包的地址信息为ip地址,而封包p11~p18、p21~p28、p31~p38、p41~p48、p51~p58的地址信息可以分别表示为m11~m18、m21~m28、m31~m38、m41~m48、m51~m58,因此每一封包均包含各自的地址信息。地址信息m11~m18均由节点n1发生,分别对应到节点n1第1个产生的封包p11至第8个产生的封包p18,于此实施例中,封包p11至封包p18分别具有不同的地址信息m11~m18。地址信息m11代表其来源是由节点n1第1个产生的封包p11,而地址信息m12代表其来源是由节点n1第2个产生的封包p12,依此类推,例如,地址信息m35代表其来源是由节点n3第5个产生的封包p35。举例来说,其他实施例中,封包的地址信息可以包含节点n1-n5各自的mac地址。如表一所示的存取控制表,对节点n1而言,地址信息m11-m18所对应的操作为丢弃(drop),代表当节点n1收到的封包所带的地址信息m11-m18任一者时,节点n1便将此封包丢弃,于此实施例中,将封包丢弃代表不再对封包进行后续处理,也不再将其转发至其他节点。如此一来,在泛洪(flooding)转发方式,节点n1便不会重复转发自己已发出的封包p11~p18。另一方面,以节点n2为例,其存取控制表可能的实施情况如下表二所示:表二如表二所示的存取控制表,对节点n2的存取控制表而言,地址信息m21-m28所对应的操作为丢弃(drop),代表当节点n2收到的封包所带的地址信息m21-m28任一者时,节点n2便将此封包丢弃,于此实施例中,将封包丢弃代表不再对封包进行后续处理也不再将其转发至其他节点。此外,当节点n1收到的封包所带的地址信息并非同一节点传送出来而是由其他节点送来的封包,也就是步骤s120判断为否时,进入步骤s140。举例来说,若是节点n1收到的封包所带的地址信息为m21-m28、m31-m38、m41-m48或是m51-m58,均代表封包是由其他节点产生。关于步骤s140,在此请参阅图1c,图1c是图1a中控制方法100的步骤s140的流程示意图。在此实施例中,步骤s140还包含步骤s141:判断接收到的封包是否在时间区间内超过流量大小,步骤s142:若接收到的封包的流量在时间区间内超过流量大小,则丢弃封包,以及步骤s143:若接收到的封包的流量在时间区间内未超过流量大小,则保存封包。进一步来说,为避免相同的封包在一定的时间内被节点n1~n5重复地接收及处理,因此在步骤s141中判断接收到的封包的流量是否在一时间区间内超过流量大小。假设节点n1收到节点n4产生的第5个封包p45,封包p45的地址信息为m45。对于节点n1根据表一所示的存取控制表处理封包p45,在节点n1处理其他节点产生的封包p45的过程中,若节点n1在时间区间1ms内接收封包p45的流量超过128bytes,则执行丢弃封包的操作,如表一所示。相对的,若是节点n1在时间区间1ms内接收封包p45的流量未超过128bytes,例如,在1ms内节点n1所收到的封包p45仅为128bytes,则节点n1保存封包p45。于此实施例中,一个单位封包p11-p58的标准大小为128bytes,在时间区间1ms内当节点n1初次接收到封包p45时,封包p45的累积的流量未超过128bytes,故节点n1进入步骤s143保存封包p45。若在同一段时间区间内当节点n1再次接收到封包,此时节点n1封包p45的累积的流量已超过128bytes,节点n1进入步骤s142将此封包p45丢弃。另一方面,假设节点n2收到节点n4产生的第5个封包p45,封包p45的地址信息为m45。对于节点n2根据表一所示的存取控制表处理封包p45,在节点n2处理其他节点产生的封包p45的过程中,若节点n2在时间区间1ms内接收封包p45的流量超过128bytes,则执行丢弃封包的操作,如表二所示。相对的,若是节点n2在时间区间1ms内接收封包p45的流量未超过128bytes,例如,在1ms内节点n2所收到的封包p45仅为32bytes,则节点n2保留封包p45。在时间区间1ms内当节点n2初次接收到封包p45时,封包p45的累积的流量未超过128bytes,故节点n2进入步骤s143保存封包p45。若在同一段时间区间内当节点n2再次接收到封包,此时节点n2封包p45的累积的流量已超过128bytes,节点n2进入步骤s142将此封包p45丢弃。在一些实施例中,时间区间内若来自同一节点的封包到达门槛流量,便会开始丢弃后续收到的封包。于部分实施例中,上述门槛流量可以设定为介于128bytes~256bytes之间的任意数值,也就是说,门槛流量可以设定为一个单位封包大小的一倍至两倍。当单位封包p11-p58的标准大小为128bytes时,门槛流量可以设为128bytes至256bytes,相对地,当单位封包p11-p58的标准大小为512bytes时,门槛流量可以设为512bytes至1024bytes,依此类推。也就是说,节点n1会丢弃自身产生的封包p11-p18,节点n2会丢弃自身产生的封包p21-p28。举例来说,当节点n1在时间区间内初次收到其他节点n2产生的封包p21-p28时会加以保存,接着,若再次收到同一地址的封包p21-p28时将其丢弃。也就是说,节点n1判断在给定的时间区间内(例如本实施例采用的时间区间为1ms)内收到来自同一地址(即节点n2)的封包p21-p28的流量是否过大,若流量过大(例如流量超过128bytes),代表可能收到重复地址的相似封包,于此实施例中,节点n1便可将同样来自节点n2重复地址的封包丢弃,以节约网络频宽与资源。同理,节点n2会丢弃自身产生的封包p21-p28,此外,节点n2在时间区间内初次收到其他节点,例如n5产生的封包p51-p58时会加以保存,若在同一时间区间内再次收到同一地址的封包p51-p58时,便会将其丢弃。在一些实施例中,节点n1~n5各自包含一计时器(未绘示),当节点n1~n5执行步骤s141时,亦即接收到其余节点传送出来的封包时,触发计时器以计算是否达到时间区间。若时间区间计时已满,则重置目前统计到封包的地址信息所对应累积的封包的流量。在时间区间之内,若同一地址信息所对应累积的封包的流量已超过门槛流量,便丢弃同一地址来的后续封包。在其他实施例中,不论是否接收到其余节点传送的封包,节点n1~n5均持续性地驱动计时器以计算是否达到时间区间。若达到时间区间,则重置所有地址信息所对应累积的封包的流量,并重新开始记时。借此,本发明透过节点判断接收到的封包各自的来源,并进一步判断是否丢弃封包借此减少封包被重复接收、处理的机会,而减少了频宽的浪费以及节省了运算单元资源的使用。上述例示包含依序的示范步骤,但所述步骤不必依所显示的顺序被执行。以不同顺序执行所述步骤皆在本发明的考量范围内。另外,在本发明的实施例的精神与范围内,可视情况增加、取代、变更顺序及/或省略所述步骤。综上所述,本发明透过节点判断接收到的封包各自的来源,并进一步判断是否丢弃封包借此减少封包被重复接收、处理的机会,而减少了频宽的浪费以及节省了运算单元资源的使用。虽然本发明已以实施方式揭露如上,然其并非用以限定本发明,任何熟悉此技艺者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视所附的权利要求书所界定的范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1