专利名称:路由器选择方法及路由器装置的制作方法
技术领域:
本发明涉及一种路由器,尤其涉及在具有向外部网络的连接功能的、有2台或2台以上的路由器装置存在的局域网(LAN)中,决定与特定的包流对应的路由器的路由器选择方法及路由器装置。
背景技术:
以往,作为该路由器的选择方法,具有如文献「Virtual Router RedundancyProtocol」(S.Knight等著)所记载的那样的方法。
该文献所述的方法中,由称为虚拟路由器的路由器集合共有一个IP地址,为主路由器的一台路由器作为LAN的默认路由器运行,其他的路由器作为备用路由器待机。在各路由器上设定优先级。
当主路由器如果由于某种原因不能作为LAN的默认路由器运行时,备用路由器中优先级最高的路由器就接着作为主路由器开始运行。
如果按路由器对包(packet)的转发能力的高低顺序设定优先级,就能提高LAN整体的通信效率。
可是,这种方法在虚拟路由器中可以使用的路由器始终只有一台,不能根据目的选择适当的路由器。
因此,在存在具有向无线LAN的存取接口的路由器(无线LAN路由器)和具有向蜂窝网的存取接口的路由器(蜂窝路由器)的情况下,却不能为了执行需要宽带的FTP而使用无线LAN路由器、为了使用需要可靠性的IP电话而使用蜂窝路由器等、也不能根据应用软件的要求选择使用具有最适于存取接口的路由器。
作为解决该课题的方法,例如,有特表2003-514442号公报所记载的方法。图28是表示该公报所记载的方法的构成图。在图28中,存取选定器151将在信息153上设定的存取能力与在终端用户优先级152上设定的用户所要求的存取能力进行比较,从而决定终端最合适的路由器,该信息153与具备向任意存取网络的接口的路由器的本存取有关。
然而,按上述现有的结构,因为由终端选择路由器,所以就有了不仅是路由器,还要在终端上配备特别功能的问题。一般地,终端的通信功能比路由器的通信功能低,如上述那样追加功能从成本和机器大小的方面看不现实。另外,由于终端个别地对路由器进行选择,于是就产生了如下问题如果多个终端选择了一台路由器,就会负荷集中,不能进行高效通信。
发明内容
本发明的目的是解决上述现有的问题,在遵从应用软件的要求等的同时,提供一种作为网络整体实现高效通信的路由器的选择方法及路由器装置。
本发明的路由器选择方法,是包含进行与外部网络中继的多个路由器的局域网中的路由器选择方法,其特征在于,具有如下步骤同一段内的所有路由器对包含自己的识别符的多播包定期地进行多播的步骤;路由器选择步骤,根据路由器从同一段内的其他路由器接收的、多播包中含有的信息,在同一段内的多个路由器之间选择转发数据包的路由器;依照事先确定的条件,决定是否将各路由器从同一段内的节点或路由器接收到的数据包向其他段进行中继的步骤;转发步骤,当接收了数据包的路由器不向其他段中继数据包时,执行向数据包的发送源指示的重定向,以使将被选择的路由器作为中继目的地,并且向被选择的路由器转发数据包或抛弃;和接收了重定向的发送源节点,向指示的路由器发送数据包以及其后的数据包的步骤,重复进行转发步骤直到被能够中继的路由器接收为止。
据此,最终选择到适合于中继包的路由器。另外,由于只是通过路由器的重定向来进行路由器选择,所以能够不必向终端追加新的功能。
本发明的路由器选择方法,是包含进行与外部网络中继的多个路由器的局域网中的路由器选择方法,其特征在于,具有如下步骤同一段内的所有路由器对包含自己的识别符的多播包定期地进行多播的步骤;根据路由器从同一段内的其他路由器接收的、多播包中含有的信息,在同一段内的多个路由器之间选择转发数据包的路由器的步骤;根据事先确定的条件,决定是否将各路由器从同一段内的节点或路由器接收到的数据包向其他段中继的步骤;当决定不向其他段中继路由器接收到的数据包时,向被选择的路由器转发数据包的步骤;当向其他段中继路由器接收到的数据包时,在数据包不是直接从发送源的节点接收、而是由其他路由器进行转发的转发包的情况下,将表示该路由器自己能够中继转发包的中继报告信息发送给转发源的路由器的步骤;和在转发源的路由器接收到中继报告信息时,判断自己是否是转发作为该中继报告信息对象的数据包的最初路由器,当自己是最初路由器时,向数据包的发送源节点,发送指示可中继的路由器的重定向,在自己不是最初路由器时,将中继报告信息转发给如下路由器的步骤,该路由器是作为中继报告信息对象的数据包的转发源。
据此,最终选择到适合于中继包的路由器。另外,由于只是通过路由器的重定向来进行路由器的选择,所以能够不必对终端追加新的功能。而且,由于只是在决定了能够中继的路由器的时刻才发送重定向包,所以能够抑制因重定向包的增加而导致网络负荷增大。另外,由于终端进行变更路径的次数一次就即可,所以能降低终端的处理负荷。
另外,本发明的路由器选择方法的特征在于,多播包所记载的信息是各路由器的识别符。由此,不需要手动设定顺序。另外,例如通过识别符的升序/降序来决定顺序,能够决定没有重复的顺序。
另外,本发明的路由器选择方法的特征在于,在路由器选择步骤中的路由器选择顺序,只使用多播包中包含的信息。
由此,当所述数据包转发给不对应本发明的路由器选择方法的路由器时,此后顺序的路由器就全部陷入不转发的状态,从而能够防止负荷集中到不对应所述本发明的路由器上。
另外,本发明的路由器选择方法的其特征在于,根据向同一段追加或删除路由器来更新决定被选择的路由器的顺序。由此,在追加路由器时,能够进行包括被追加的路由器在内的路由器选择;在删除路由器时,能够进行除去被删除的路由器的路由器选择。
另外,本发明的路由器选择方法的特征在于,在由各路由器定期发送多播包、并自未接收的路由器接收多播包时,作为将路由器追加到同一段上的路由器而追加到顺序中。由此,追加路由器时也不需要手动更新顺序。
另外,本发明的路由器选择方法的特征在于,当在一定时间没有从特定路由器发送多播包时,将特定的路由器作为从LAN中删除的路由器而从顺序中删除。由此,在删除路由器时就不需要更新顺序了。
本发明的路由器装置,具有多播包发送部,其对包含自己的识别符的多播包定期地进行多播;中继决定部,其按照预先决定的条件,决定是否向其他段的路由器中继从同一段内的节点或路由器接收的、应向其他段中继的数据包;顺序决定部,其根据从同一段内其他路由器接收到的多播包中包含的信息,从同一段内的路由器中,决定转发数据包的路由器;和包中继部,其收到来自中继决定部的不可中继的通知,向由顺序决定部选择的路由器转发数据包,并且,将该转发目的地的路由器作为数据包的中继目的地并向数据包的发送源发出通知、或抛弃数据包。
由此,路由器仅仅通过自己保存的信息就能够决定是否应该将包中继,由于不需要将自己保存的信息传达给其他的终端或路由器,因此就能够在每个路由器上自由设定用于中继决定的条件。另外,最终还能选择到适合中继包的路由器。由于只是根据路由器的重定向来进行该中继路由器的切换,所以没有必要向终端追加新的功能。
本发明的路由器装置,其特征在于,具有多播包发送部,其对包含自己的识别符的多播包定期地进行多播;中继决定部,其按照预先决定的条件,决定是否向其他段的路由器中继从同一段内的节点或路由器接收的、应向其他段中继的数据包;顺序决定部,其根据从同一段内其他路由器接收的多播包中包含的信息,从同一段内的路由器中,决定转发数据包的路由器;包中继部,其收到来自中继决定部的不可中继的通知,向由顺序决定部选择的路由器转发数据包,并且,当该数据包的发送源是节点时,至少使确定该数据包的包识别符与确定发送源的设备识别符相关联,并存储在头部信息存储部;中继报告生成部,其根据来自包中继部的请求来生成报告自己中继包的旨意的中继报告消息;和中继报告转发部,其向数据包的转发源的路由器转发从其他路由器接收到的中继报告消息,包中继部,在作为从其他路由器接收到的中继报告消息对象的数据包、与头部信息存储部中存储的信息相同时,向设备识别符所表示的发送源节点通知中继数据包的路由器。
由此,路由器仅仅通过自己保存的信息就能够决定是否应该将包中继,由于不需要将自己保存的信息传达给其他的终端或路由器,因此能够在每个路由器上自由设定中继决定的条件。另外,最终还能选择到适合中继包的路由器。由于只是根据路由器的重定向来进行该中继路由器的切换,所以没有必要向终端追加新的功能。而且,由于只是在决定了能够中继的路由器的时刻才发送重定向包,所以能够抑制因重定向包增加而导致的网络负荷增大。另外,终端路径变更次数一次即可,所以能降低终端的处理负荷。
本发明的路由器装置的顺序决定部,使用多播包内包含的识别符来决定路由器的选择顺序。由此,不需要手动设定顺序。另外,例如通过识别符的升序/降序来决定顺序,就能够决定没有重复的顺序。
本发明的路由器装置的顺序决定部,使用多播包中含有的标志信息决定路由器的选择顺序。由此,能防止将不是本发明的路由器包含在选择路由器的顺序内,由此,能防止因本发明的路由器在转发数据包时不能进行其后的转发而导致负荷集中的问题。
另外,本发明的路由器装置的顺序决定部具有顺序更新部,该顺序更新部当从不包含在选择顺序中的路由器接收到多播包时,追加到选择顺序中;当在规定时间从选择顺序中包含的路由器接收不到多播包时,从选择顺序中删除。由此,追加或删除路由器时就不需要用手动来更新顺序了。
另外,由本发明的路由器装置的中继决定部决定可否中继的条件为所述数据包的类别、路由器中的拥堵状态、传送能力,由所述中继决定部判断的不进行中继的次数、或通信成本、或这些条件的任意组合而成。由此,因为是在路由器判断访问线路的状况之后进行可否的决定,所以适合中继包的路由器就最终被选择出来了。另外,当未决定适合中继的路由器而在路由器之间多次进行包的转发时,就通过缓和其他条件而进行中继等处理,可防止网络负荷的增大。
如上所述根据本发明,通过只对路由器进行控制就能实现对应各种目的的路由器选择。
另外,各路由器的存取能力只由路由器自己保存就可以,由于不需要向其他的路由器或终端进行传达,所以不需要交换存取能力信息用的消息,在削减通信量的同时还提高了存取能力信息自身的自由度。
图1是本发明的实施方式1及实施方式3的通信系统构成图。
图2是本发明的实施方式1的路由器构成图。
图3是表示在本发明的实施方式1中的数据包及重定向包的发送序列图。
图4是表示在本发明的实施方式1及实施方式3中的路由器广告包的发送序列图。
图5A至图5C是表示在本发明的实施方式1中的路由器保存的顺序表的构成图。
图6是在本发明的实施方式1至3中路由器的路由器广告包的发送处理流程图。
图7是在本发明的实施方式1及实施方式3中路由器的顺序表维持处理流程图。
图8是在本发明的实施方式1及实施方式2中来自路由器的终端的包处理的流程图。
图9是在本发明的实施方式1至3中路由器的中继判断处理的流程图。
图10是在本发明的实施方式1至3中路由器的中继判断处理的流程图。
图11是在本发明的实施方式1至3中路由器的中继判断处理的流程图。
图12是在本发明的实施方式1及实施方式3中路由器广告包的格式图。
图13是在本发明的实施方式1至3中的重定向包格式图。
图14A至图14C是表示在本发明的实施方式1至3中路由器11保存的流程表的构成图。
图15是表示在本发明的实施方式1或2中路由器的特性和中继判断处理的对应例的图。
图16是表示在本发明的实施方式1或2中路由器的特性和中继判断处理的对应例的图。
图17是在本发明的实施方式2中路由器广告包的格式图。
图18是在本发明的实施方式2中路由器的构成图。
图19是在本发明的实施方式2中路由器的顺序表维持处理的流程图。
图20是为了说明在本发明的实施方式2中路由器的重定向目的地的序列图。
图21是在本发明的实施方式3中路由器的构成图。
图22是表示在本发明的实施方式3中路由器保存的顺序表的构成图。
图23是来自本发明的实施方式3的路由器终端的包处理及中继报告消息处理的流程图。
图24是来自本发明的实施方式3的路由器终端的包处理及中继报告消息处理的流程图。
图25是来自本发明的实施方式3的路由器终端的包处理及中继报告消息处理的流程图。
图26是表示在本发明的实施方式3中数据包及重定向包的发送序列图。
图27A与图27B是在本发明的实施方式3中的中继报告消息的格式图。
图28是说明现有路由器选择方法的构成图。
具体实施例方式
下面参照附图对本发明的实施方式进行说明。
(实施方式1)图1是表示在本发明的实施方式中网络的构成图。
在图1中,路由器11、12、13中继LAN1与外部网络2的通信,配备与第3代蜂窝(带宽364kbps、包计费)3、PHS(带宽带宽64kbps、定额)4、无线LAN(带宽带宽5Mbps、定额)5的存取接口(access interface)。终端14、15属于LAN1,外部终端16、17连接到外部网络2。路由器11~13除了存取接口以外还配备LAN接口,与具有相同LAN接口的终端14、15连接。
图2是表示在本实施方式中路由器11、12、13构成的方块图。在图2中,LAN接口208进行与连接LAN1的终端14、15以及其他的路由器的通信中的物理层处理及数据链路层处理的。存取接口209进行与外部网络通信的物理层处理及数据链路层处理的。
RA生成部201生成包括识别自己的识别符在内的路由器广告(RouterAdvertisement)包(以下称RA包)。通过该RA生成部201与LAN接口208的构成,构成多播包发送部。
另外,顺序表更新部202对记载顺序的顺序表进行所谓登录或删除的更新,该顺序是对向其他段中继从同一段内的终端接收到的数据包的、同一段内的路由器进行选择的顺序,更新的顺序表储存在顺序表存储部204,在下次更新时读出。然后,路由器决定部203由该顺序表决定适合的路由器。由这些顺序表更新部202、路由器决定部203、以及顺序表存储部204构成顺序决定部207。
另外,中继决定部205对预先设定的访问线路的所谓拥堵状态、传送能力的条件进行判断,决定是否将经由LAN接口208接收到的数据包向其他段的路由器中继。另外,中继决定部205还具有将相当于发送源地址及发送目的地地址的包群作为流来行管理的流程表。
包中继部206具有路由平台,指示路由器的变更,该路由器按照向中继决定部205的询问结果,按该路由平台将数据包向中继目的地的路由器转发,或向数据包的发送源进行中继。
下面,对上述各功能方块的动作进行说明。
图6是说明RA生成部201动作的流程图。
RA生成部201为了防止在路由器之间RA包发送时刻同步,而在一定时间+随机时间进行待机(步骤S61),经由LAN接口208对RA包进行多播(步骤S62)。该一定时间通常设定为5秒。在这里,RA包的格式表示在图12中。在发送源地址字段(121)上,设定有发送RA包的路由器地址。
图7是说明顺序决定部207动作的流程图。
顺序表更新部202经由LAN接口208检查是否接收到来自其他的路由器的RA包(步骤S71),当没有接收时,就检查从上次到达时刻超过一定时间没有RA包到达的路由器是否已经在所登录的路由器之中(步骤S72)。如果有相应的路由器,顺序表更新部202就从顺序表中删除该路由器(步骤S73),然后返回到步骤S71。当没有相应的路由器时,也返回到步骤S71。
另一方面,当没有接收到RA包时,顺序表更新部202就参照接收的tA包的发送源地址,检查在顺序表上是否登录完毕(步骤S74)。如果登录完毕,该路由器就更新入口(entry)的上次到达时刻(步骤S75),如果没有登录,就向顺序表上追加(步骤S76)。对该顺序表的追加,参照发送源地址字段(121)进行,按路由器的主机地址的升序登录。此外,对各个路由器预先设定按该地址的升序登录的指示。
在这里,路由器11、12、13按图4所示的顺序对RA包进行多播时,在路由器11中顺序表的变迁在图5A至C上表示。此外,在图4中,黑色圆点表示路由器广告包的发送源,白色圆点表示路由器广告包的接收者。
当路由器11没有从其他的路由器接收RA包时(步骤S21),如图5A那样就保存只包含自己地址的顺序表。
6在上次到达时刻栏上录入RA包的接收时刻。
最后一旦接收来自路由器12的RA包(步骤S23),如图5C那样就将路由器12的地址追加在顺序表上。在这里由于按地址的升序生成顺序表,所以在路由器11与路由器13之间追加路由器12的地址。此外,将顺序表最后入口(entry)的下一个做成是最初的入口。
这样,顺序表就保存在每个路由器里了。另外,由于生成顺序表用的规则在所有路由器中是共通的,所以该顺序表除了RA包的上次到达时刻(141)以外,在所有路由器中都保存相同的内容。此外,在本实施方式中,顺序表是按路由器地址的升序,但也可以按降序,只要遵从其规则就可以。
通过以上的RA生成部201与顺序决定部207,路由器11至13将RA生成部201定期生成的RA包经由LAN接口208进行多播,通知自己的识别信息。与此同时,顺序决定部207经由LAN接口根据接收到的其他路由器的识别信息始终更新顺序表。
图9至图11是说明各个路由器11至13的中继决定部205动作的流程图。另外,图14A表示进入上述顺序表的路由器的状态。
最初,用图9对路由器11的中继决定部205的动作进行说明。该路由器11具有第3代蜂窝通信的存取接口,为了降低使用频度,初次转发请求设定成必须向同一段的其他路由器转移。
首先,中继决定部205,通过来自包中继部206的询问启动,参照到达包的发送源地址及发送目的地地址,检查流程表上是否有入口(步骤S91)。此外,将包头部的1或1以上的字段值相等的一连串的包群作为一个流。即,在这里将发送源地址及发送目的地地址相等的包群定义为流。意味着构成特定主机之间通信的包群。当没有关于到达包的流的入口时,就在流程表上设定发送源地址、发送目的地地址之后,就在状态栏上作为重定向(Redirected)而追加入口(步骤S92),并判断为不能中继(步骤S93)。
另一方面,如果流程表有入口,就检查流程表的状态是否是重定向状态(步骤S94),如果不是重定向状态就判断为可以中继(步骤S97)。如果流程表的状态是重定向状态,就检查存取接口是否拥堵(步骤S95)。如果不拥堵,就设定为活动状态(步骤S96),判断为可中继(步骤S97)并向包中继部206返回应答。如果存取接口拥堵,就判断为不可中继(步骤S93),并向包中继部206返回应答。此外,存取接口的拥堵状态,可以通过在包缓冲器中待机中的包数量等来判断。
此外,还可以添加把在一定时间内没有包到达的入口从流程表上删除的手续。
下面,用图10对路由器12的中继决定部205的动作进行说明。该路由器12配有与PHS通信的存取接口。
首先,中继决定部205,通过来自包中继部206的询问启动,检查存取接口是否拥堵(步骤S101)。如果不拥堵,就判定可以中继(步骤S102)并向包中继部206返回应答后结束。
另一方面,如果拥堵(步骤S102),就检查接收到的数据包是否是声音包(步骤S103)。如果是声音包,就判定为可中继(步骤S102)而结束。如果不是声音包,就判定为不可中继(步骤S104)而结束。此外,数据包是否是声音包,可以通过参照TCP/UDP的端口号码等来进行判断。在这里之所以判断是否是声音包,是由于路由器12连接的PHS的段带宽有64kbps,如果是声音那样转发速率比较低的传送,即使拥堵也会有不间断地进行传送声音的能力。
下面,用图11对路由器13的中继决定部205的动作进行说明。该路由器13具有无线LAN的存取接口。
首先,中继决定部205,通过来自包中继部206的询问启动,检查存取接口是否拥堵(步骤S111),如果不拥堵,就判定为可中继(步骤S112)而结束。另一方面,如果不拥堵,就判定为不可中继(步骤S113)并向包中继部206返回应答而结束。
这样,在各个路由器11至13的中继决定部205中,就能决定是否进行对其他段的中继。此外,在本实施方式中,是否进行中继的条件,是线路的拥堵状态或转发能力、以及包流的种类,但也可以不受此限而根据各种通信线路的传送成本进行判断。
另外,存取接口209也可以根据连接外部网络的性质来决定是否进行中继。这种情况,用图15及图16进行说明。
图15是表示在本发明中由3台路由器装置(161~163)、以及3种终端(电影终端164、IP电话165、便携式PC166)构成的LAN的图。
各路由器存取接口209连接的外部网络,具有图15所示的特征。即,路由器161连接的外部网络167的费用为1包1日元,通信带宽为324kbps,安全性高,损耗率低。另外,路由器162连接的外部网络168的费用是固定的,通信带宽为64kbps,安全性高,损耗率是中等水平。另外,路由器163连接的外部网络169的费用固定的,通信带宽为5Mbps,安全性低,损耗率高。因此,对各路由器161至163是否进行中继的条件由下述决定。
·路由器161的条件动画流优先中继。这是因为动画需要一定程度的带宽、低损耗、高安全性。
·路由器162的条件声音流优先中继。这是因为声音流不要求动画那样的带宽、和低损耗率。
·路由器163的条件中继声音、动画以外的流,但如果向其他路由器转发而相同的流(数据包)再次到达时,就进行中继。
在这样的条件下各终端开始通信时,根据本发明的方法,如图15所示,进行重定向到选择到适合于各终端发送的流的路由器为止,如图16所示决定中继各终端的流的路由器。
也就是说,电影终端164向路由器161发送的数据包1501,由于与路由器161的条件相符,所以被原样中继到外部网络167,而IP电话165向路由器161发送的数据包1502,由于与路由器161的条件不相符,所以被转发1503到路由器162。这时,因为从路由器161向IP电话165发送路由器168中继的旨意的重定向消息,所以如图16所示,IP电话165其后向路由器162发送1601。
另外,与此相同便携式PC166开始时向路由器161发送数据包1504,但由于条件不符,就被转发1505到作为下一次转发顺序的路由器162。因为路由器162也不符合中继该数据包的条件,所以就被再次转发1506到路由器163。然后,由于路由器163符合条件,所以就向网络169发送。这时,从路由器161向便携式PC166发送重定向消息,便携式PC166就向路由器162发送数据包1507,但因为路由器162不符合条件,所以就被转发1506到路由器163。然后,路由器162也同样向便携式PC166发送路由器163中继的旨意的重定向消息。便携式PC166收到该消息后,如图16所示,就向以后的路由器163直接发送数据包1602。
此外,默认路由器是路由器161,转发顺序为路由器161、路由器162、路由器163。图8是说明包中继部206的动作的流程图。
首先,如果包中继部206从LAN接口208接收发往外部网络的终端的包(步骤S81),就将IPv6头部的跳跃极限(Hop Limit)字段的值减去1(步骤S82)。减的结果,检查跳跃极限字段的值是不是0(步骤S83),如果是0就抛弃包(步骤S84)。
如果跳跃极限字段的值比0大,就向中继决定部205询问是否进行中继(步骤S85)。
如果从中继决定部205得到中继的指示(步骤S86),包中继部206就按照路由平台,经由存取接口209,向作为其他段的外部网络的转发目的地路由器发送包(步骤S87)。
另一方面,如果没有得到中继的指示,就向顺序决定部207询问应该向同一段内的哪个路由器转发接收的数据包(步骤S88)。
然后,包中继部206将顺序决定部207指示的路由器转发包(步骤S89),向发送源的终端发送重定向包,该重定向包记录了应成为新的中继目的地的路由器(步骤S90)。图13所示为该重定向包的数据格式。
这是因特网控制消息协议版本6(ICMPv6)重定向包的格式。
在图13中,分别向发送源地址(Src Address)字段(131)写入作为重定向包发送源的路由器地址、向目的地地址(Dst Address)字段(132)写入作为重定向目的地包的发送源的终端地址、向目标地址(Target Address)字段(133)写入重定向目的地的路由器地址、向重定向目的地地址(Dst Address)字段(134)写入作为重定向目的地包的目的地地址。此外,本实施方式使用的是ICMPv6,但也可以使用因特网控制消息协议版本4(ICMPv4)。
此后,返回到步骤S81,但如果转发包不被任何一个路由器中继而持续被转发,在转发时的步骤S82中,就减去跳跃极限字段的值。然后,跳跃极限字段的值为「0」的包就会在步骤S84被抛弃。
通过以上的中继决定部205、包中继部206以及顺序决定部207,进行路由器11至13的数据包中继处理和重定向处理。
也就是说,包中继部206在经由LAN接口接收从同一段的终端14、15向其他段的外部终端16、17的数据包时,就询问中继决定部205可否中继。中继决定部205遵从所定的条件决定中继的可否。包中继部206遵从该决定,如果中继就通过路由平台经由存取接口209向外部网络的路由器转发。如果不中继,就向路由器决定部203询问下面应该成为中继路由器的同一段的路由器。路由器决定部203按照顺序表决定中继路由器。包中继部206经由LAN接口208向该被决定的路由器转发数据包,并且向发送源终端发送重定向。
另外,如果通过存取接口209接收包,在包中继部206中确认是不是发给LAN1内的终端的包后,从LAN接口208发送所述包。
接着,针对终端14向外部终端16进行FTP的数据发送(通信速率不定。根据线路容量速度发生变化),终端15与外部终端17进行声音通信(通信速率60kbps)及动画通信(通信速率300kbps)时的动作进行说明。本实施方式的网络为因特网协议第六版(IPv6)的网络而进行以下的说明,但不局限于IPv6,采用因特网协议第四版(IPv4)也可以进行动作。另外,为了简单起见,将路由器11、12、13的LAN接口的IPv6地址定为fe80∷11、fe80∷12、fe80∷13,终端14、15及外部终端16、17的IPv6地址分别作为3∷14、3∷15、及4∷16、4∷17。
此外,上述各存取接口及LAN接口是有线、无线都没有关系。
各路由器如图4与图6所示定期发送RA包,但顺序根据路由器的启动时刻与其他的原因而有所不同。
路由器11最初将RA包进行多播(步骤S21)。接收路由器11发送的RA包的终端14、15将路由器11设定为默认路由器。因此,最初时一定要将路由器11作为中继目的地而发送包。
接着路由器13发送RA包(步骤S22),最后路由器12发送RA包(步骤S23)。由此,各路由器如图5C所示做成顺序表。
图3,是表示终端14及终端15通信时的序列的图。此外,图中实线箭头符号表示数据包的传送,虚线箭头符号表示重定向包的传送。另外,黑色圆点表示重定向包的发送源。
首先,终端14与外部终端16开始FTP的通信,向作为默认网关的路由器11发送数据包(步骤S31)。由于路由器11在流程表上没有入口,所以就在流程表上追加入口(图14A)。然而,由于通信成本高,就通过预先设定的条件在流程表的状态栏上设定重定向,必须将最初时到达的包向其他路由器转发。这按照图5C的顺序表进行,路由器11向路由器12转发接收到的数据包。另外,路由器11同时将路由器12作为中继目的地将指定的重定向包发送给终端14(步骤S32)。
终端14接收该重定向包,把路由器12作为新的中继目的地将下面的包发送给路由器12,继续进行通信(步骤S33)。
接着,终端15与外部终端17开始声音通信(60kbps),向作为默认网关的路由器11发送包(步骤S34)。因为路由器11的流程表中没有入口,所以就在流程表上追加入口(图14B),与步骤S32相同将向路由器12的重定向包发送给终端15(步骤S35)。
终端15接收该重定向包,向路由器12发送数据包,准备继续进行通信(步骤S36)。然而,终端14经由路由器12已经进行通信,发给路由器12的数据包集中而发生拥堵(步骤S37)。因为路由器12,设定成拥堵时对声音通信包以外的包进行重定向,所以对进行FTP通信的终端14,发送对路由器13的重定向包(步骤S38)。其中中继路由器的选择,也按照图5C的顺序表进行。
终端14接收该重定向包,接着作为中继目的地使用路由器13继续执行通信(步骤S39)。
接着,由于终端15结束与外部终端17的声音通信(步骤S40),开始与同一外部终端17的动画通信(300kbps),所以向路由器12发送数据包(步骤S41)。然而,由于动画通信与60kbps的声音通信不同,需要以300kbps的速度发送包,超过了路由器12的线路容量64kbp,所以发生拥堵(步骤S42)。
由于路由器12发生拥堵,按照图5C的顺序表将从终端15接收的数据包向路由器13转发,并且将向路由器13的重定向包发送给终端15(步骤S43)。
接着,终端15接收该重定向包,以路由器13为中继目的地准备继续执行通信(步骤S44),但终端14与外部终端16之间通过FTP所进行通信使路由器13的线路容量已被用完,所以发生拥堵(步骤S45)。因此,路由器13按照图5C的顺序表将从终端15接收的数据包向路由器11转发,并且将向路由器11的重定向包发送给终端15(步骤S46)。
接着,终端15接收该重定向包,向路由器11包发送(步骤S47)。路由器11参照流程表(图14B),由于在入口2有终端15的信息,状态栏为重定向,且存取接口没有拥堵,所以把流程表的状态设为活动(图14C),进行中继。由此,终端15将路由器11作为中继目的地继续进行通信。
此外,在上述的序列中,当路由器判断为不可中继时,就向成为新的中继目的地的路由器转发接收的数据包,但不仅如此,还可以抛弃该接收的数据包。在这种情况下,需要通过ICMP错误信息等向发送源终端转达抛弃包。
如上述,根据本发明,以路由器从其他路由器接收的RA包为基础生成各路由器共通的顺序表,根据访问线路的拥堵状态或传送能力,将接收的数据包按照顺序表向同一段的其他路由器转发。由此,最终选择到适于向外部网络转发数据包的路由器。另外,因为终端只是根据路由器的重定向消息就可以进行路由器的选择,所以不需要在终端追加新的功能。而且,各路由器只要根据自己特性配备中继判断处理即可,不需要预先取得其他路由器的特性。由此,在路由器的追加、删除时不需要进行变更设定。另外,由此还能提高存取能力信息本身的自由度。也就是说,能够做到在某个路由器中只将存取接口的拥堵状态定义为存取能力,在其他的路由器中将存取网的包损失率定义为存取能力。
(实施方式2)在本实施方式中网络构成与图1所示的实施方式1的不同点在于在本发明中对应路由器选择方法的路由器与不对应的路由器(以下称未对应路由器。)存在于同一LAN内。在本实施方式中,仅由对应本发明的路由器(以下称对应路由器。)做成顺序表,未对应路由器另行存储,在对应路由器中,仅在未决定中继的路由器时向未对应路由器转发。
首先,针对本实施方式的路由器的构成及动作,将与实施方式1的不同点进行说明。
图18表示在本实施方式中路由器构成的方块图。
与在实施方式1中路由器的构成(图2)相比不同点在于,它有未对应路由器存储部210。
该未对应路由器存储部210,是用于在接收来自未对应路由器的RA包时,作为未对应路由器一览表而进行存储的存储装置。
图19是说明在本实施方式中顺序决定部207动作的流程图。
顺序表更新部202一接收RA包(步骤S71),发送源的路由器就确认是不是与本发明对应(步骤S2002)。
本实施方式使用的RA包格式的例子由图17表示。与实施方式1的RA包(图12)的不同点是有R(Redirect)标志181。本R标志是用于表示与本发明对应的标志,RA包发送时在R标志181上设定「1」而进行多播。
因此,确认是不是与本发明对应的路由器(步骤S2002)通过调查R标志181是不是「1」来进行。
如果发送源的路由器是对应路由器时,就进行与图7的步骤S74~S76相同的顺序表更新处理(步骤S2003)。
另一方面,如果是未对应路由器时,就进行与步骤S74~S76大体相同的未对应一览表更新处理(步骤S2004)。这是将未对应路由器的地址作为一览表存储在未对应路由器存储部210的处理,当接收来自新的未对应路由器的RA包时,顺序表更新部202就向一览表进行追加,当接收来自一览表内已有的未对应路由器的RA包时,就更新上次到达的时刻。
当没有接收RA包时(步骤S71),顺序表更新部202就将一定时间未接收RA包的路由器的入口从顺序表及未对应路由器的一览表中删除(步骤S72、S2001)。
接着,用图8对在本实施方式中包中继部206的动作进行说明。
在本实施方式中包中继部206的动作与在实施方式1中动作的不同之处是,进行转发目的地询问处理(步骤S88)。
在实施方式1中从顺序表将对应路由器作为转发目的地进行选择,而在本实施方式中,当已经满足既定条件时,就从未对应路由器一览表中选择转发目的地。
该既定条件,可以举出以下的项目。
(1)在IPv6头部的跳跃极限(Hop Limit)字段低于预先规定的阈值。
(2)大于等于既定的次数,转发回相同的包。
也就是说,当在对应路由器中能中继所述包的路由器不存在,被多次转发的可能性大时,就转发给未对应路由器。此外,从未对应路由器一览表中选择转发目的地的方法没有特别限制,能够采用如随机选择、从地址号码小的选择等方法。这时,对特定的未对应路由器不集中选择而使负荷分散是优选的。
通过以上构成的路由器,是如何转发包的,用图20进行说明。这里,LAN1内有对应路由器3台(对应路由器11~13)、未对应路由器2台(未对应路由器21、22)存在。另外,对应路由器11~13用互相的RA包生成顺序表,采用从未对应路由器21、22发送的RA包生成未对应路由器一览表,并进行存储。此外,在图20中,三角形符号表示重定向目的地的路由器,圆圈符号表示重定向包的发送源。
首先,当包2001到达对应路由器11时,如果任何对应路由器11~13都不能中继包时,包就被从对应路由器11向对应路由器12、从对应路由器12向对应路由器13、从对应路由器13向对应路由器11进行转发。然后,再次从对应路由器11向对应路由器12转发时(步骤S2101),对应路由器12就判断跳跃极限字段的值小于等于阈值,并向未对应路由器21转发(步骤S2102)。然后,未对应路由器21判断能否中继接收的包,如果能就向外部网络发送,不能就抛弃包。
同样,当包到达对应路由器12时,也被继续进行转发后(步骤S2103),这次对应路由器13向未对应路由器22进行包的重定向(步骤S2104)。
如上述根据本发明,即使在LAN内的路由器中含有不对应本发明的路由器,也因为按照预先规定的条件向那个未对应路由器转发包,所以能分散因中继处理所产生的负荷。
(实施方式3)在本实施方式中的路由器选择方法,是在包向其他路由器的转发中,向发送源终端不发送包的重定向消息,而是在由进行中继处理的路由器按确定的时刻开始进行发送。图21是在本实施方式中表示路由器构成的方块图。与图2所示的实施方式1的路由器构成的不同点在于,它具有头部信息存储部211、中继报告转发部212、中继报告生成部213。
头部信息存储部211存储头部信息,当中继决定部205决定不中继数据包时,如果自己是最初的转发源路由器,就存储该数据包的头部信息。
另外,中继报告生成部213生成用于报告自己中继的包的中继报告消息。该中继报告消息的构成由图27A、B表示。
在图27A、B中,在IP头部281上,设定发送源、发送目的地的IP地址。另外,在UDP头部282上,设定本消息的端口号码。但是,UDP头部282,也可以用TCP头部,也可以不使用TCP、UDP的任何一个头部。
在中继路由器信息283中设定决定中继路由器的信息。这里面包括,例如,中继路由器的IP地址、MAC地址等。此外,为了在最初转发数据包的路由器向发送源终端发送的重定向包上设定为重定向目的地,而使用该中继路由器信息283。但是,设定决定了向IP头部281中继的路由器的IP地址、并转发中继报告消息的路由器,如果不进行IP头部的变更,就不需要在中继路由器信息283中的IP地址信息。
而且,在包头部信息284中,记载数据包的头部信息,并设定发送源、发送目的地的IP地址或其他IP头部内记述的信息、以及TCP、UDP头部记述的信息等内的必要信息。此外,为了判定路由器自己是不是应该发送重定向包的路由器,而使用该包头部信息284。
中继报告转发部212,在接收该中继报告消息时,如果中继报告消息中含有的数据包头部信息被存储到头部信息存储部211,就将自己作为最初的转发源路由器向包中继部206指示发送重定向包,如果头部信息没有被头部信息存储部211存储,就向转发源路由器转发中继报告消息。
另外,在本实施方式中路由器保存顺序表的构成由图22表示。加在实施方式1的构成(图5A至C)基础上,存储路由器的物理层地址(例如MAC地址)。这是为了判断数据包的转发源是路由器还是终端所必要的,如果数据包发送源的物理层地址被存储在顺序表内就能够判断是路由器,如果没被存储就是终端。这是因为只通过网络地址(例如IP地址),不能进行所述判断。
下面,用图23~图25说明在本实施方式中路由器的动作。
图23是说明包中继动作的流程图。
包中继部206从LAN接口208接收包(步骤S241),如果该包是从终端向外部终端的包(步骤S242)就进行终端包处理(步骤S243),如果不是从终端向外部终端的包(步骤S242),就进行中继报告消息处理(步骤S244)。
此外,如果包中继部206从存取接口209接收包时,确认那个包是不是发往LAN1内的终端的包后,就从LAN接口208发送。
图24是表示上述终端包处理(步骤S243)的流程图。
在图24中,步骤S251至S255,与实施方式1的图8所示的步骤S82至S87的处理相同。
在步骤S255中,包中继部206从存取接口209向下一次转发目的地路由器发送数据包之后,就检查该发送的包是不是其他路由器转发的(步骤S261)。如果是其他路由器转发的,包中继部206就指示中继报告生成部213,生成报告自己中继的旨意的中继报告消息。然后,包中继部206向那个包的转发源路由器发送该中继报告消息(步骤S262)。
该包是不是由路由器转发的,通过包中继部206将包的发送源MAC地址与顺序表(图22)记载的自己的前一个顺序的路由器的MAC地址进行比较就能判断。如果一致,就判断为包就是路由器转发的;如果不一致,就判断为是从终端直接接收的。中继报告消息的发送目的地,也同样是自己的前一个顺序的路由器。
另一方面,在步骤S254中,如果不中继包时,就向顺序决定部207询问应向同一段内的哪个路由器转发(步骤S257),作为转发目的地向指定的路由器转发包(步骤S258)。该处理与实施方式1图8所示的步骤S88与S89相同。
接着,包中继部206检查自己是不是最初的转发源路由器(步骤S259),如果是最初的转发源路由器,就将包的头部信息存储到头部信息存储部211(步骤S260)。
在这里,自己是不是最初的转发源路由器,通过比较包的发送源MAC地址与在顺序表(图22)内记载的自己的前一个顺序的路由器的MAC地址就能够进行判断。也就是说,判断如果不一致自己就是最初的转发源路由器;如果一致就不是最初的转发源路由器。
图25是表示中继报告消息处理(步骤S244)的流程图。
在图25中,如果接收的包是中继报告消息,包中继部206就检查在头部信息存储部211内有没有与其消息所包含的包头部信息284相一致的(步骤S271)。如果在头部信息存储部211里有,包中继部206就判断自己是该包的最初的转发源,将指定发送中继路由器信息283所述的路由器为中继路由器的重定向包,向包头部信息284所述的发送源终端发送(步骤S272)。
另一方面,如果没有一致的,包中继部206就判断自己不是最初的转发源路由器,并向顺序表的顺序中前一个路由器转发中继报告消息(步骤S273)。
通过以上所述构成的路由器,将从终端向外部终端发送数据包时的动作进行如下说明。
图26是表示数据包及重定向包的发送序列的图。在图26中,实线箭头符号表示数据包的发送,虚线箭头符号表示重定向包的发送,断续线箭头符号表示中继报告消息的发送,圆圈符号表示重定向包的发送源。
在图26中,首先,终端14为了与外部终端16进行通信,向作为默认网关的路由器11发送数据包(步骤S281)。路由器11收到后,在这种情况下,决定不进行中继,而是把包转发到作为转发目的地的路由器12(步骤S282)。这时,由于转发的包是从终端14直接接收的,所以路由器11存储包的头部信息。
接着,从路由器11转发包的路由器12也与路由器11一样转发包(步骤S283)。这时,路由器12由于识别到包的发送源MAC地址是路由器11的,所以就不存储头部信息。
接着,从路由器12转发包的路由器13,在这种情况下,决定进行包的中继而中继包。这时,路由器13根据中继的包的发送源MAC地址与顺序表识别到是从路由器12转发的包。然后,路由器13将中继报告消息(图27A)向路由器12发送(步骤S284)。
接着,接收中继报告消息的路由器12,确认该消息中含有的头部信息与存储的是否一致,由于不一致,所以向路由器11转发中继报告消息(图27B)(步骤S285)。
接着,从路由器12接收所转发的中继报告消息的路由器11,同样检查该消息中含有的信息与存储的是否一致,由于一致,所以判断自己是该包最初的转发源。然后,路由器13根据该中继报告消息中含有的中继路由器信息,生成将路由器13指定为中继路由器的重定向包,并向终端14发送(步骤S286)。
接着,接收该重定向包的终端14,就将数据包的中继路由器从路由器11变更为路由器13,而继续执行通信(步骤S287)。
如上述根据本发明,当路由器不向外部网络将请求中继的包进行中继,而是向其他路由器转发时,就不向发送源终端发送重定向消息,在决定了中继路由器时,就向最初的转发源路由器发送中继报告消息。然后,接收了该中继报告消息的、最初转发对象包的路由器,向发送源终端发送指示中继路由器的旨意的重定向包。由此,因为重定向包只向发送源终端发送一次,所以可减少LAN上流动的包数量,从而能降低网络的负荷。
另外,发送源终端,由于中继目的地路由器的变更一次即可,所以能降低发送处理的负荷。
产业上利用的可能性本发明的路由器选择方法,可用于根据应用软件的要求等在选择合适路由器的网络上转发,并适用于通信的QoS控制。另外,还能适用于路由器的负荷分散等用途。
权利要求
1.一种路由器选择方法,是包含进行与外部网络中继的多个路由器的局域网中的路由器选择方法,其特征在于,具有如下步骤同一段内的所有路由器对包含自己的识别符的多播包定期地进行多播的步骤;路由器选择步骤,根据所述路由器从同一段内的其他路由器接收的所述多播包中含有的信息,在同一段内的所述多个路由器之间选择转发数据包的路由器;依照事先确定的条件,决定是否将各路由器从同一段内的节点或路由器接收到的数据包向其他段进行中继的步骤;转发步骤,当接收了所述数据包的路由器不向其他段中继所述数据包时,执行向所述数据包的发送源指示的重定向,以使将所述被选择的路由器作为中继目的地,并且向所述被选择的路由器转发所述数据包或抛弃;和接收了所述重定向的所述发送源节点,向所述指示的路由器发送所述数据包以及其后的数据包的步骤,重复进行所述转发步骤直到被能够中继的路由器接收为止。
2.一种路由器的选择方法,是包含进行与外部网络中继的多个路由器的局域网中的路由器选择方法,其特征在于,具有如下步骤同一段内的所有路由器对包含自己的识别符的多播包定期地进行多播的步骤;根据所述路由器从同一段内的其他路由器接收的所述多播包中含有的信息,在同一段内的所述多个路由器之间选择转发数据包的路由器的步骤;根据事先确定的条件,决定是否将各路由器从同一段内的节点或路由器接收到的数据包向其他段中继的步骤;当决定不向其他段中继所述路由器接收到的数据包时,向所述被选择的路由器转发所述数据包的步骤;当向其他段中继所述路由器接收到的所述数据包时,在所述数据包不是直接从发送源的节点接收,而是由其他路由器进行转发的转发包的情况下,将表示该路由器自己能够中继所述转发包的中继报告信息发送给转发源的路由器的步骤;和在所述转发源的路由器接收到所述中继报告信息时,判断自己是否是转发作为该中继报告信息对象的数据包的最初路由器,当自己是最初路由器时,向所述数据包的发送源节点,发送指示可中继的路由器的重定向,在自己不是最初路由器时,将所述中继报告信息转发给如下路由器的步骤,该路由器是作为所述中继报告信息对象的数据包的转发源。
3.根据权利要求1或2所述的路由器选择方法,其特征在于,所述多播包中记载的信息,是各路由器的识别符。
4.根据权利要求3所述的路由器选择方法,其特征在于,所述路由器选择步骤中的选择路由器的顺序,只使用所述多播包中包含的所述信息。
5.根据权利要求1或2所述的路由器选择方法,其特征在于,根据向同一段追加或删除路由器,来更新决定所述被选择的路由器的顺序。
6.根据权利要求5所述的路由器选择方法,其特征在于,在从各路由器定期地发送所述多播包并自未接收的路由器接收到所述多播包时,将所述路由器作为追加到同一段上的路由器而追加到所述顺序中。
7.根据权利要求6所述的路由器选择方法,其特征在于,当在一定时间没有从特定路由器发送多播包时,将所述特定的路由器作为从LAN中删除的路由器而从所述顺序中删除。
8.一种路由器装置,其特征在于,具有多播包发送部,其对包含自己的识别符的多播包定期地进行多播;中继决定部,其按照预先决定的条件,决定是否向其他段的路由器中继从同一段内的节点或路由器接收的、应向其他段中继的数据包;顺序决定部,其根据从同一段内其他路由器接收到的所述多播包中包含的信息,从同一段内的路由器中,决定转发所述数据包的路由器;和包中继部,其收到来自所述中继决定部的不可中继的通知,向由所述顺序决定部选择的所述路由器转发所述数据包,并且,将该转发目的地的路由器作为所述数据包的中继目的地并向所述数据包的发送源发出通知,或抛弃所述数据包。
9.一种路由器装置,其特征在于,具有多播包发送部,其对包含自己的识别符的多播包定期地进行多播;中继决定部,其按照预先决定的条件,决定是否向其他段的路由器中继从同一段内的节点或路由器接收的、应向其他段中继的数据包;顺序决定部,其根据从同一段内其他路由器接收的所述多播包中包含的信息,从同一段内的路由器中,决定转发所述数据包的路由器;包中继部,其收到来自所述中继决定部的不可中继的通知,向由所述顺序决定部选择的路由器转发所述数据包,并且,当该数据包的发送源是节点时,至少使确定该数据包的包识别符与确定发送源的设备识别符相关联,并存储在头部信息存储部;中继报告生成部,其根据来自所述包中继部的请求来生成报告自己中继包的旨意的中继报告消息;和中继报告转发部,其向所述数据包的转发源的路由器转发从其他路由器接收到的所述中继报告消息,所述包中继部,在作为从其他路由器接收到的所述中继报告消息对象的所述数据包与所述头部信息存储部中存储的信息相同时,向所述设备识别符所表示的发送源节点通知中继所述数据包的路由器。
10.根据权利要求8或9所述的路由器装置,其特征在于,所述顺序决定部,使用所述多播包中包含的所述识别符来决定路由器的选择顺序。
11.根据权利要求10所述的路由器装置,其特征在于,所述顺序决定部,还使用多播包中含有的标志信息来决定路由器的选择顺序。
12.根据权利要求11所述的路由器装置,其特征在于,所述顺序决定部具有顺序更新部,所述顺序更新部当从不包含在所述选择顺序中的路由器接收到多播包时,追加到所述选择顺序中;当在规定时间从所述选择顺序中包含的路由器接收不到多播包时,从选择顺序中删除。
13.根据权利要求8或9所述的路由器装置,其特征在于,所述条件为所述数据包的类别、路由器中的拥堵状态、传送能力,由所述中继决定部判断的不进行中继的次数、或通信成本、或者这些条件中的任意组合。
全文摘要
本发明提供了一种路由器选择方法和路由器装置。具有将自己的识别符定期地进行多播的多播包发送部(201);决定是否将接收的数据包中继给其他段的路由器的中继决定部(205);根据包含在来自其他路由器的多播包中的信息来决定进行转发的路由器的顺序决定部(207);当不进行中继时,将顺序决定部(207)选择的路由器作为中继目的地并通知给发送源,并且,向被选择的路由器进行转发的包中继部(206),由此,最终选择适合于对包进行中继的路由器,而且,仅仅由路由器的重定向就可以进行该中继路由器的切换,因此,不必向终端追加新的功能。
文档编号H04L12/56GK1799226SQ200480014999
公开日2006年7月5日 申请日期2004年10月1日 优先权日2003年10月2日
发明者熊泽雅之, 松本泰辅, 池田新吉, 小林广和, 船引诚, 川原丰树 申请人:松下电器产业株式会社