首页> 中国专利> 源地址选择系统、路由器装置、通信节点和源地址选择方法

源地址选择系统、路由器装置、通信节点和源地址选择方法

摘要

本发明提供能够有效地利用多平台环境的源地址选择系统,及源地址选择方法。其特征在于:通信节点(N)向路由器(R1)发送信息包,路由器(R1)当不能确认与接收的信息包的源地址的前缀对应的因特网服务提供者(ISPa)的连接性时,不进行该信息包的传送,并向节点(N)发出包含不传送该信息包的信息和能确认连接性的因特网服务提供者(ISPb)所对应的前缀的通知,节点(N)把信息包的源地址变更为根据接收的前缀生成的网络地址,再度发送。

著录项

  • 公开/公告号CN1455555A

    专利类型发明专利

  • 公开/公告日2003-11-12

    原文格式PDF

  • 申请/专利权人 株式会社东芝;

    申请/专利号CN03108391.9

  • 发明设计人 石山政浩;神明達哉;玉田雄三;

    申请日2003-03-28

  • 分类号H04L12/28;H04L12/24;H04L29/06;H04Q3/545;H04Q3/00;

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人王以平

  • 地址 日本东京都

  • 入库时间 2023-12-17 15:01:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-06-01

    未缴年费专利权终止 IPC(主分类):H04L12/28 授权公告日:20060215 终止日期:20100328 申请日:20030328

    专利权的终止

  • 2006-02-15

    授权

    授权

  • 2003-11-12

    公开

    公开

说明书

技术领域

本发明涉及家庭和SOHO等平时使用IPv6,通过多个ISP连接到因特网时,用于恰当地选择出口路由器的源地址选择系统、路由器装置、通信节点和源地址选择方法。

背景技术

近年,世界上最大的计算机网络“因特网(Internet)”的利用普及起来,与该因特网连接来利用公开的信息、服务,或相反,通过因特网向来访的外部用户提供信息、服务,来开拓新的计算机商务。另外,针对因特网的利用,正在进行新的技术开发、展现。在因特网中,各计算机具有被称作IP地址的标识符,以该IP地址为基础进行信息包的交换。通常,当连接因特网时,要与因特网服务提供者ISP(InternetService Provider)签约,接受地址的分配。

现在的IPv6的地址分配是基于提供者的(Provider Base)。即当与某提供者签约时,接受该提供者已经分配的地址的部分集合的分配。

今后,即使是家庭和SOHO等小规模网络,为了稳定地利用因特网,也要考虑与多个提供者签约。这时,该网络与因特网的连接点变为多个,把这样的状况称为多平台。

如图12所示,节点N通过提供者A和B连接因特网。在IPv6中,因为节点具有多个地址,所以这时,节点N能使用由提供者A分配的地址和由提供者B分配的地址。

这里,在图12中,在提供者A发生故障,信息包无法从因特网通过提供者A到达节点N。

如果节点N在源地址(发送源地址)中使用属于提供者A的地址,要与服务器S进行通信的情况下,就无法与服务器S进行通信了。如果从节点N,把属于提供者A的地址作为源地址来发送信息包,则因为提供者A一侧发生故障,所以到服务器S的路线断了。

因此,例如象现在的IPv4协议进行的那样,如果能改变路线,把向属于提供者A的地址发送的信息包经过提供者B送达,就能解决问题,但是这样的变更需要路线表的大幅度的增加,要在地址空间广大的IPv6协议中实现,在以往的技术中是极端困难的。

须指出的是,假定把所述的属于提供者A的地址为源地址的信息包通过提供者B的路线送达服务器S。这时,服务器S如果接收到把所述的属于提供者A的地址作为源地址的信息包,就要根据该地址尝试与发送源节点进行通信,所以要确立经过提供者A的路线的通信。可是,来自服务器S的回信信息包因为提供者A存在故障,所以无法到达节点N,就无法通信。还有,在IPv6中,使用准入过滤器(ingressfilter)(IETF RFC2267 RFC2827)的情形非常多,当导入了它时,不允许以属于提供者A的地址作为接收地址的信息包通过提供者B,信息包就无法送达服务器S。

在SOHO等中,因为这样的问题,而无法高效地利用多平台时,就很难提高因特网的可靠性。

如上所述,在以往的技术中,在IPv6环境中,很难有效利用多平台。

发明内容

本发明是考虑所述事实而提出的,其目的在于:提供能有效利用多平台的源地址选择系统、路由器装置、通信节点和源地址选择方法。

本发明的包含连接了多个因特网服务提供者的路由器装置和连接在该路由器上的通信节点的源地址选择系统,其特征在于:所述路由器装置具有:确认与所述因特网服务提供者的连接性的第一确认部件;接收通过所述确认部件确认了连接性的所述因特网服务提供者所提供的网络前缀的第一接收部件;通知所述接收了的网络前缀的通知部件;所述通信节点具有:从所述路由器接收所述网络前缀的第二接收部件;根据所述网络前缀和本通信节点固有的标识符,生成网络地址的生成部件;在发送信息包时,把所述网络地址作为源地址附加在标题中发送的发送部件;所述路由器装置还具有:确认从所述通信节点接收的信息包是否为具有从本路由器装置确认了连接性的因特网服务提供者接收的网络前缀的源地址的第二确认部件;当所述源地址为具有从本路由器装置确认了连接性的因特网服务提供者接收的网络前缀的源地址时,向接收到该网络前缀的因特网服务提供者传送该信息包;当所述源地址不是具有从本路由器装置确认了连接性的因特网服务提供者接收的网络前缀的源地址时,不进行该信息包的传送,向所述通信节点发送不进行信息包传送的通知的控制部件。

理想的所述路由器装置的所述控制部件还具有以下功能:当所述源地址不是具有从本路由器装置确认了连接性的因特网服务提供者接收的网络前缀的源地址时,不进行该信息包的传送,向所述通信节点发送不进行信息包传送的通知,并且把通过所述确认部件确认了连接性的所述因特网服务提供者所提供的网络前缀通知所述通信节点。

理想的是,当所述通信节点针对发送的信息包,从所述路由器接收到不进行传送的通知,并且接收到确认了连接性的因特网服务提供者的网络前缀的通知时,把所述信息包的源地址变更为根据新接收到所述通知的网络前缀和本通信节点固有的标识符生成的网络地址,再次发送所述信息包。

理想的是,当所述通信节点针对发送的信息包,从所述路由器接收到不进行传送的通知,并且接收到确认了连接性的因特网服务提供者的网络前缀的通知时,把基于该网络前缀的所述网络地址只用于该信息包的再发送。

理想的是,当所述通信节点针对发送的信息包,从所述路由器接收到不进行传送的通知,并且接收到确认了连接性的因特网服务提供者的网络前缀的通知时,使用基于该网络前缀的所述网络地址直到它变为无效。

理想的所述路由器装置的所述控制部件还具有以下功能:当所述源地址不是具有从本路由器装置确认了连接性的因特网服务提供者接收的网络前缀的源地址时,如果在该时刻不存在通过所述确认部件确认了连接性的所述因特网服务提供者,就不进行该信息包的传送,向所述通信节点发送不进行信息包传送的通知,并且把应该是所述信息包的发送目的地的其他路由器装置通知所述通信节点。

理想的所述路由器装置的所述控制部件还具有以下功能:当所述源地址是具有从本路由器装置确认了连接性的因特网服务提供者接收的网络前缀的源地址,并满足给定的条件时,向所述通信节点发送不进行信息包传送的通知,并且把应该使用的所述因特网服务提供者所提供的网络前缀向所述通信节点通知。

本发明的连接了多个因特网服务提供者,并且连接了局域网,传送连接在该局域网上的通信节点的信息包的路由器装置,其特征在于具有:确认与所述因特网服务提供者的连接性的第一确认部件;接收通过所述确认部件确认了连接性的所述因特网服务提供者所提供的网络前缀的第一接收部件;向所述局域网通知所述接收的网络前缀的通知部件;确认从所述通信节点接收的信息包是否为具有从本路由器装置确认了连接性的因特网服务提供者接收的网络前缀的源地址的第二确认部件;当所述源地址为具有从本路由器装置确认了连接性的因特网服务提供者接收的网络前缀的源地址时,向接收了该网络前缀的因特网服务提供者传送该信息包,当所述源地址不是具有从本路由器装置确认了连接性的因特网服务提供者接收的网络前缀的源地址时,不进行该信息包的传送,向所述通信节点发送不进行信息包传送的通知的控制部件。

本发明的通过连接了多个因特网服务提供者的路由器装置与所希望的通信节点进行通信的通信节点,其特征在于具有:从所述路由器接收因特网服务提供者所提供的网络前缀的接收部件;根据所述网络前缀和本通信节点固有的标识符,生成网络地址的生成部件;在发送信息包时,把所述网络地址作为源地址附加在标题中发送的发送部件;其中当针对用所述发送装置发送的信息包,从所述路由器接收到不进行传送的通知,并且接收到确认了连接性的因特网服务提供者的网络前缀的通知时,把所述信息包的源地址变更为根据新接收到所述通知的网络前缀和本通信节点固有的标识符生成的网络地址,再次发送所述信息包。

本发明的连接了多个因特网服务提供者,并且连接了局域网,传送连接在该局域网上的通信节点的信息包的路由器装置的源地址选择方法,其特征在于:确认与所述因特网服务提供者的连接性;接收确认了连接性的所述因特网服务提供者所提供的网络前缀;向所述局域网通知所述接收到的网络前缀;确认从所述通信节点接收的信息包是否为具有从本路由器装置确认了连接性的因特网服务提供者接收的网络前缀的源地址;当所述源地址为具有从本路由器装置确认了连接性的因特网服务提供者接收的网络前缀的源地址时,向接收了该网络前缀的因特网服务提供者传送该信息包;当所述源地址不是具有从本路由器装置确认了连接性的因特网服务提供者接收的网络前缀的源地址时,不进行该信息包的传送,向所述通信节点发送不进行信息包传送的通知。

本发明的使计算机作为连接了多个因特网服务提供者,并且连接了局域网,传送连接在该局域网上的通信节点的信息包的路由器装置而起作用的程序,其特征在于具有以下功能:确认与所述因特网服务提供者的连接性的第一确认功能;接收通过所述确认部件确认了连接性的所述因特网服务提供者所提供的网络前缀的第一接收功能;向所述局域网通知所述接收的网络前缀的通知功能;确认从所述通信节点接收的信息包是否为具有从本路由器装置确认了连接性的因特网服务提供者接收的网络前缀的源地址的第二确认功能;当所述源地址为具有从本路由器装置确认了连接性的因特网服务提供者接收的网络前缀的源地址时,向接收到该网络前缀的因特网服务提供者传送该信息包,当所述源地址不是具有从本路由器装置确认了连接性的因特网服务提供者接收的网络前缀的源地址时,不进行该信息包的传送,向所述通信节点发送不进行信息包传送的通知的控制功能。

本发明的通过连接了多个因特网服务提供者的路由器装置与所希望的通信节点进行通信的通信节点的源地址选择方法,其特征在于:从所述路由器接收因特网服务提供者所提供的网络前缀;根据所述网络前缀和本通信节点固有的标识符,生成网络地址;当发送信息包时,把所述网络地址作为源地址附加在标题中发送;当针对发送的所述信息包,从所述路由器接收到不进行传送的通知,并且接收到确认了连接性的所述因特网服务提供者的网络前缀的通知时,把所述信息包的源地址变更为根据新接收到所述通知的网络前缀和本通信节点固有的标识符生成的网络地址,再次发送所述信息包。

本发明的使计算机作为通过连接了多个因特网服务提供者的路由器装置与所希望的通信节点进行通信的通信节点而起作用的程序,其特征在于具有以下功能:从所述路由器接收因特网服务提供者所提供的网络前缀的接收功能;根据所述网络前缀和本通信节点固有的标识符,生成网络地址的生成功能;当发送信息包时,把所述网络地址作为源地址附加在标题中发送的发送功能;当针对用所述发送功能发送的所述信息包,从所述路由器接收到不进行传送的通知,并且接收到确认了连接性的因特网服务提供者的网络前缀的通知时,把所述信息包的源地址变更为根据新接收到所述通知的网络前缀和本通信节点固有的标识符生成的网络地址,再次发送所述信息包的功能。

本发明的包含连接了多个因特网服务提供者的路由器装置和连接在该路由器上的通信节点的源地址选择系统的源地址选择方法,其特征在于:所述路由器装置确认与所述因特网服务提供者的连接性;接收通过所述确认部件确认了连接性的所述因特网服务提供者所提供的网络前缀;通知所述接收到的网络前缀;所述通信节点从所述路由器接收所述网络前缀;根据所述网络前缀和本通信节点固有的标识符,生成网络地址;在发送信息包时,把所述网络地址作为源地址附加在标题中发送;所述路由器装置还确认从所述通信节点接收的信息包是否为具有从本路由器装置确认了连接性的因特网服务提供者接收的网络前缀的源地址;当所述源地址为具有从本路由器装置确认了连接性的因特网服务提供者接收的网络前缀的源地址时,向接收到该网络前缀的因特网服务提供者传送该信息包;当所述源地址不是具有从本路由器装置确认了连接性的因特网服务提供者接收的网络前缀的源地址时,不进行该信息包的传送,向所述通信节点发送不进行信息包传送的通知。

须指出的是,相关于装置的发明作为相关于方法的发明也成立,相关于方法的发明作为相关于装置的发明也成立。

另外,相关于装置或方法的发明作为用于在计算机上执行相当于相应发明的步骤的(或者,使计算机作为相当于相应发明的部件起作用的,或者在计算机上实现相当于相应发明的功能的)程序也成立,作为记录了该程序的计算机可读取的记录介质也成立。

根据本发明,通过考虑与因特网服务提供者的连接状况,能够选择与连接到因特网的出口路由器相应的源地址,能有效地利用多平台环境。

附图说明

下面简要说明附图。

图1是表示本发明的一个实施例的网络系统的结构例的图。

图2是表示该实施例的路由器的结构例的图。

图3是表示该实施例的通信节点的结构例的图。

图4是表示该实施例的路由器的处理步骤的一个例子的流程图。

图5是表示该实施例的通信节点的处理步骤的一个例子的流程图。

图6是表示该实施例的路由器的处理步骤的其他例子的流程图。

图7是表示该实施例的ICMP信息的结构例的图。

图8是表示该实施例的通信节点的处理步骤的其他例子的流程图。

图9是表示该实施例的网络系统的序列例的图。

图10是表示该实施例的网络系统的序列例的图。

图11是表示该实施例的前缀管理表的结构例的图。

图12是用于说明以往的多平台环境的网络系统的图。

具体实施方式

下面,参照附图说明发明的实施例。

图1表示本发明的一个实施例的包含多平台环境的网络系统的结构例。在图1中,表示了应用于家庭内和SOHO等中的网络结构的例子。

在图1中,N是具有IPv6地址的通信节点。通信节点N在典型意义上是计算机,但是并不局限于此,如果是分别通过多个因特网服务提供者能连接到因特网上的装置,则可以是移动电话终端和信息家电等任意的形态。

I是因特网。

S是连接在因特网上的服务器,在本实施例中,表示为通信节点N的通信对象的一个例子。当然,通信节点N的通信对象也可以是服务器以外的多种类的通信节点。

R1、R2都是路由器,是从通信节点N连接到因特网的出口路由器。

ISPa和ISPb都是连接在因特网上,向通信节点提供连接因特网服务的因特网服务提供者(的网络),如果从通信节点N观察,是连接在路由器R1一侧的。

ISPc和ISPd都是连接在因特网上,向通信节点提供连接因特网服务的因特网服务提供者(的网络),如果从通信节点N观察,是连接在路由器R2一侧的。

在本例子中,各因特网服务提供者ISPa~ISPd向通信节点N提供使与因特网上的服务器S的通信成为可能的服务(以下,把因特网服务提供者适当描述为提供者或ISP)。

这里,提供者ISPa和路由器R1之间可以是使用专线的固定连接的连接形态,也可以是拨号的连接形态。ISPb和路由器R1之间的连接形态、ISPc和路由器R2之间的连接形态、ISPd和路由器R2之间的连接形态也都是同样的。

须指出的是,“Pa”表示提供者ISPa提供的前缀(网络前缀)。同样,“Pb”、“Pc”、“Pd”分别表示提供者ISPb、ISPc、ISPd提供的前缀。

另外,一旦通信节点N分别从因特网服务提供者ISPa、ISPb、ISPc、ISPd取得前缀,如果通信节点N的接口ID(Interface ID)(通信节点N固有的标识符)为N,则通信节点N就具有“Pa∷N”、“Pb∷N”、“Pc∷N”、“Pd∷N”四个网络地址(这时的全局地址)。这里,128位的IPv6地址中,假定“高位64位”由“从提供者取得的前缀”构成,“低位64位”由“接口ID”构成。须指出的是,网络地址通常被付与各接口。

须指出的是,在图1的结构例中,通信节点N通过两台路由器的任意一个,能利用四个ISP,当然,是几台都可以,可以利用几个ISP都可以。另外,通过一台路由器利用几个ISP都可以。

另外,在图1的结构例中,通信节点只表示了一台,但是在与通信节点N相同的子网中可以存在其他的通信节点。

另外,在图1的结构例中,通信节点N的通信对象只表示了一台,但是当然还可以存在其它的。另外,通信节点N的通信对象可以直接连接在因特网上,也可以通过与通信节点N不同的ISP连接,也可以通过与通信节点N相同的ISP连接,也可以通过ISP以外的子网连接。另外,通信节点N的通信对象可以是利用了本发明的多平台的利用者,也可以不是。

以下,主要以路由器R1为例,说明它的结构、动作,但是只对路由器R1说明的部分对于路由器R2基本上也是同样的。

图2表示本发明的实施例的路由器(R1、R2)。

如图2所示,本实施例的路由器具有:用于从通信节点N(与之相连的各线路)一侧或ISP(与之相连的各线路)一侧接收信息包的接收部件31;用于向通信节点N(与之相连的各线路)一侧或ISP(与之相连的各线路)一侧发送信息包的发送部件32;用于与通常的路由器任务即为了发送信息包所必要的处理一起,细节如后所述,根据与ISP的连接性对从通信节点向ISP可否传送信息包进行判断、当不传送信息包时向通信节点N通知、向通信节点N通知应该使用的前缀等的信息包传送处理部件33;用于管理(确认连接性)成为对象的ISP的状态的ISP状态管理部件34;用于管理成为对象的ISP提供的前缀的前缀管理部件35。须指出的是,关于ISP状态的信息(例如,表示是否确认了连接性的信息)和分配的前缀等必要的信息被存储在适当的存储装置中。另外,在图2中,省略了用于与通信节点N连接的子网进行连接的通信接口和用于与各ISP相连的线路进行连接的各通信接口。

须指出的是,本路由器R1能使用计算机实现,另外,能通过程序实施全部或一部分的处理,能通过专用的半导体集成电路实施处理的全部或一部分。

图3表示本发明的一个实施例的通信节点N的结构例。

如图3所示,本实施例的通信节点具有:用于从连接了路由器R1、R2的子网接收信息包的接收部件11;用于向该子网发送信息包的发送部件12;用于与通信对象之间进行信息包交换所必要的处理,细节如后所述,选择应该使用的ISP、对来自路由器(R1、R2)的通知进行处理等的信息包传送处理部件13;用于管理从路由器(R1、R2)通知的前缀的前缀管理部件14;用于根据从路由器(R1、R2)通知的前缀和本通信节点的接口ID,生成网络地址的网络地址生成部件15。须指出的是,这些前缀和网络地址等必要信息被存储在适当的存储装置中。另外,在图3中省略了通信接口。

须指出的是,本通信节点中,能通过程序实施处理的全部或一部分,也能通过专用的半导体集成电路实施处理的全部或一部分。

下面,对本实施例的动作加以说明。

首先,对初始的阶段加以说明。

路由器R1确认与ISPa、ISPb的连接性,接收确认了连接性的ISP所提供的前缀,存储并管理接收的前缀,并且把它的全部或一部分通知通信节点N(或者在子网内广播)。

同样,路由器R2确认与ISPc、ISPd的连接性,接收确认了连接性的ISP所提供的前缀,存储并管理接收的前缀,并且把它的全部或一部分通知通信节点N(或者在子网内广播)。

而通信节点N从路由器R1或路由器R2接收前缀,存储接收的前缀,根据接收的前缀和本通信节点的接口ID生成网络地址,提供给相应接口。例如,如前所示,生成了“Pa∷N”、“Pb∷N”、“Pc∷N”、“ Pd∷N”四个网络地址,并被提供(给接口)。

通信节点N在生成了一个以上的网络地址后,就能与(如果与该ISP具有连接性)服务器S通信。

另外,在通信节点N生成了两个以上的网络地址,并提供给同一接口后,对于该接口,可以适当选择作为源地址而应该使用的网络地址。须指出的是,选择的方法有:随机选择的方法、以某些顺序选择为基准、当前缀具有时限时就选择具有最晚到期时限的等各种变化。另外,有时,也根据进行通信的通信主体(例如应用软件等),按照应该使用的ISP的属性(例如传送速度、服务内容、费用等)指定优先级。另外,有时根据通信主体指定应该使用的ISP的属性。

下面,说明定期确认基于路由器的与各ISP的连接性。

须指出的是,路由器R1定期确认与ISPa、ISPb的连接性,如果连接性有变化,就更新前缀的管理内容。例如,当此前确认了连接性的ISP的连接性无法确认时,在保存了从确认了连接性的ISP接收的分配的前缀的管理信息中,把从变为无法确认连接性的ISP接收的分配的前缀更新为不能使用,或者从该管理信息删除该前缀。另外,例如当此前无法确认连接性的ISP的连接性被确认了时,在保存了从确认了连接性的ISP接收的分配的前缀的管理信息中,把从变为能确认其连接性的ISP接收的分配的前缀更新为能使用,或者从该ISP接收前缀,追加到该管理信息中。当连接性有变化时,可以通知通信节点N(或者在子网内广播),但是也可以在此后,当从通信节点N接收到信息包时,再根据需要(例如,根据接收的信息包的源地址的前缀进行判断,如果有必要),通知通信节点N。

虽然未特别指定路由器R1定期确认各ISP的连接性的方法,但是,例如可以以给定的间隔,通过想确认的ISP,把邻近探索信息包发送给希望的通信节点。另外,例如也可以从ISP一侧定期地接收连接正常的通知,也可以接收比连接的ISP更靠上游的通信线路的状态。

下面,图4表示路由器R1从通信节点N接收到信息包时的处理步骤的一个例子。

路由器R1一旦从通信节点N接收到信息包(步骤S1),就确认位于该信息包的标题部分中的源地址(src addr)是否满足给定的条件(步骤S2)。

这里,给定的条件是指接收的信息包的源地址的前缀是确认了连接性的ISP提供的前缀。即例如,当确认了ISPa和ISPb的连接性时,路由器R1确认该源地址是否为具有从现在本路由器连接着的ISPa接收到的分配的前缀和从ISPb接收到的分配的前缀的任意一个所对应的前缀的地址。另外,例如当只确认了ISPa的连接性时,路由器R1确认该源地址是否为具有从现在本路由器连接着的ISPa接收到的分配的前缀中任意一个所对应的前缀的地址。

当来自通信节点N的接收的信息包的源地址是具有从现在本路由器连接着的ISP接收到的分配的前缀中任意一个所对应的前缀的地址时(步骤S3),路由器R1向该ISP发送该接收到的信息包(步骤S4)。

而该源地址不是具有从现在本路由器连接着的ISP接收到的分配的前缀中任意一个所对应的前缀的地址时(步骤S3),使用例如因特网控制信息协议ICMP(Internet Control Message Protocol),向发来该信息包的通信节点N发送表示不进行信息传送的意思(即无法使用该源地址具有的前缀的意思)的信息。

接着,图5表示通信节点N发送以服务器S为目的地的信息包,它被传送给路由器R1,当路由器R1不传送该信息包时的处理步骤的一个例子。

首先,通信节点N发送以服务器S为目的地的信息包(步骤S11)。

这时,作为源地址而选择的地址的前缀是与现在通过路由器R1无法确认连接性状态的ISP相关的。这时,如上所述,路由器R1向通信节点N发送包含不进行信息包传送的意思的通知信息。

于是,当通信节点N从路由器R1接收到不进行信息包发送的通知时(步骤S12),针对接收到的该通知的该信息包,调查能否把与发送时使用的源地址的前缀不同的前缀的网络地址作为发向服务器S的信息包的源地址使用(步骤S13)。

如果能使用(步骤S14),则把该能使用的网络地址作为源地址附加在标题中,再次发送以服务器S为目的地的信息包(步骤S15)。

而如果不能使用(除了不存在基于不同的前缀的网络地址的情况,也有,即使有但是由于某种理由,而无法在该通信中使用的情况。)(步骤S14),则进行出错处理(步骤S16)。作为出错处理,可以考虑什么也不做、只向上层通知通信失败的信息(该源地址具有的前缀无法使用的信息)、等待一定时间后返回步骤S13等各种变化。

须指出的是,在步骤S13中,代替上述处理,可以针对接收到的该通知的信息包,调查与发送时使用的源地址的前缀相关的ISP不同的ISP的前缀的网络地址能否作为发向服务器S的信息包的源地址使用。

另外,在步骤S12中,当从路由器R1接收到不传送信息包的通知时,也有立刻转移到出错处理(例如,什么也不做、向上层通知通信失败的信息(该源地址具有的前缀无法使用的信息)、通知通信失败的信息和这时使用的前缀等)的方法(此后,例如可以由上层进行处理或者由用户进行处理)。

下面,图6表示路由器R1从通信节点N接收到信息包时的处理步骤的其他例子。

在图4的步骤例中,因为接收的信息包的源地址不满足给定的条件而不传送该信息包时,路由器R1向通信节点N通知不进行信息包传送的信息,而在此步骤例中,这时在该通知(例如ICMP信息)中还包含现在确认了连接性的ISP提供的前缀,所以也要向通信节点N通知(步骤S23,S25)。

例如,当ISPa由于某种理由而断开了连接,只确认了ISPb的连接性时,如果从通信节点N接收到具有与ISPb相关的前缀以外的前缀(例如与ISPa相关的前缀)的源地址的信息包,就只向通信节点N通知ISPb提供的前缀Pb。

另外,例如当确认了ISPa、ISPb双方的连接性时,如果从通信节点N接收到具有与ISPa、ISPb相关的前缀以外的前缀的源地址的信息包,就只向通信节点N通知由ISPa提供的前缀Pa和ISPb提供的前缀Pb。

图7表示这时的ICMP(前缀无效prefix-incorrect)信息的结构例。

在图7中,“IPv6标题”(图中,21)表示是IPv6信息包的标题;

“ICMP标题”(图中,22)表示是ICMP信息的标题;

“target dst prefixlen(对象目的地前缀长度)”(图中23)是用于表示该ICMP信息中包含的preferred-prefix(推荐的前缀)成为有效的目的地(destination)的地址范围的字段;

“number 0f preferred-prefix”(推荐的前缀数)(图中,24)是用于表示该ICMP信息中包含的preferred-prefix的数量的字段。

“preferred-prefix”(推荐的前缀)(图中,25)是用于表示推荐使用的前缀的字段;

“原因信息包”(图中,28)是成为从路由器R1发出该ICMP信息的原因的信息包。

这里,“target dst prefixlen”例如如果是128,就意味着“/128”,通过高位128位指定有效的地址范围。通常,只有成为原因的信息包的目的地是有效的,例如如果该值是64,则因为只限于高位64位的前缀一致时,才使用该推荐的前缀(preferred-prefix),所以能通过有效的ISP发送信息包。当路由器R1通过某些方法取得该值时,就插入得到的恰当的值。如果不这样,就插入-1(当具有明确的主路由器(host route)时插入128)。

下面,图8表示通信节点N的处理步骤的其他例子(与图6的步骤例对应的例子)。

首先,通信节点N发送以服务器S为目的地的信息包(步骤S31)。

这时,作为源地址而选择的地址的前缀如果是与通过路由器R1未确认现在有连接性的状态的ISP有关,则路由器R1向通信节点N发送包含不进行信息包传送的信息和现在确认了连接性的ISP提供的前缀的通知信息。

然后,通信节点N从路由器R1接收该包含不进行信息包传送的信息和现在确认了连接性的ISP提供的前缀的通知(步骤S32)。

这时,通信节点N根据需要,根据接收到该通知的前缀和本通信节点的接口ID,生成网络地址(步骤S33)。针对接收到的该通知的信息包,把源地址变更为该生成的地址(把生成的地址作为源地址附加到标题中),再次发送(步骤S34)。

须指出的是,当已经生成了该地址,并已经提供给接口时,可以跳过步骤S33。

另外,当被通知了多个前缀时,虽然能生成多个网络地址,但是这时,可以用刚才例示的选择方法等适当地选择应该作为源地址使用的网络地址。

另外,根据应用软件等通信主体,有可能不能把基于通知的前缀的网络地址作为源地址使用。

而且,在路由器R1中,关于进行怎样的信息包传送控制、或采用怎样的preferred-prefix(推荐的前缀)通知方法,可以考虑各种变化。

例如,路由器R1预先知道ISPa一侧的线路的频带较宽,则设定把ISPa一侧作为缺省值使用,即使当在从通信节点N接收的信息包的源地址中使用了ISPb一侧的前缀Pb时,也可以进行控制,把该指示作为优先,向ISPb一侧传送该信息包。

另外,例如,当ISPa一侧的线路的频带比ISPb宽很多时,当从通信节点N接收的信息包是使用了ISPb一侧的前缀的源地址时,(即使确认了ISPb的连接性)在向通信节点N通知ICMP(前缀无效prefix-incorrect)等的信息的同时,也可以通知使用ISPa的前缀。由此,虽然通信节点N在最初发送的信息包中使用了ISPb,但是通过从路由器R1接收ISPa一侧的前缀的通知,就能通过更宽频带的ISPa的进行通信了。

另外,例如,也可以考虑代替路由器R1向通信节点N通知与本通信节点连接的ISPa、ISPb有关的前缀,而采用与路由器R2进行重定向应答的控制。

那么,以下参照图9和图10的序列例,对路由器R1的动作例加以说明。

首先,考虑在图1的结构例中,当路由器R1从通信节点N接收到信息包时,确认了ISPa的连接性时的情形。

这时,如图9(a)所示,通信节点N向路由器R1发送了源地址=“Pa∷N”、目的地地址=“S”的信息包(src=Pa∷N,dst=S)(S101)。这里,如果在路由器R1中预先把ISPa设定为优先的ISP,则这时,路由器R1把从通信节点N接收的信息包向ISPa传送(S102)。

接着,考虑当路由器R1从通信节点N接收了信息包时,ISPa切断了连接时的情形。

这时,如图9(b)所示,通信节点N向路由器R1发送了源地址=“Pa∷N”、目的地地址=“S”的信息包(src=Pa∷N,dst=S)(S121)。

这里,即使把接收的信息包向保持有连接性的其他的ISPb传送,也因为常常使用了准入过滤器(ingress filter),预先知道ISPb会拒绝该信息包的传送,所以路由器R1向通信节点N发送ICMP信息(参照图7)(S122)。这时,该ICMP信息包含前缀无效(prefix-incorrect)和推荐的前缀(preferred Prefix):Pb。

通信节点N接收该通知,如果向路由器R1发送了源地址=“Pb∷N”、目的地地址=“S”的信息包(src=Pb∷N,dst=S)(S123),则这时,路由器R1把从通信节点N接收的信息包向ISPb传送(S124)。

接着,如图9(c)所示,考虑通信节点N向路由器R2发送了源地址=“Pa∷N”、目的地地址=“S”的信息包(src=Pa∷N,dst=S)时的情形。

这时,路由器R2基本上进行与上述的路由器R1同样的动作。

即从通信节点N接收到所述的信息包的路由器R2确认被附加在接收的信息包的源地址中的前缀Pa是否为由与本路由器R2连接着的ISP通知的前缀。

因为该前缀Pa不是由与本路由器R2连接着的ISP通知的前缀,所以向通信节点N发送ICMP信息(S132)。该ICMP信息包含:前缀无效(prefix-incorrect)和路由器R2推荐的前缀(preferred Prefix):Pc,Pd(是在ISPc、ISPd的连接性都能确认的情况下)。这里,预先确认了ISPc、ISPd的连接性。

通信节点N接收该通知,例如选择Pc,向路由器R2发送源地址=“Pc∷N”、目的地地址=“S”的信息包(src=Pc∷N,dst=S)(S133),路由器R2再把从通信节点N接收的信息包传送给ISPc(S134)。

接着,假定ISPa、ISPb双方的连接断开了时的情形。这时,路由器R1无法实现向因特网的连接。

这里,如图10所示,通信节点N向路由器R1发送了源地址=“Pa∷N”、目的地地址=“S”的信息包(src=Pa∷N,dst=S)(S141)。

这时,因为ISPa、ISPb的连接断开了,所以路由器R1对通信节点N发送重定向(redirect)的ICMP信息,据此,就可以向通信节点N发出指令,促使其选择路由器R2作为信息包的发送目的地(S142)。

须指出的是,路由器R1知道作为(例如,通过路由器间的信息交换)重定向对象的其他路由器存在路由器R2(或者能知道)。

通信节点N根据该ICMP信息,首先,向路由器R2发送源地址=“Pa∷N”、目的地地址=“S”的信息包(src=Pa∷N,dst=S)(S143)。

这里,因为ISPa是未被连接的ISP的前缀,所以路由器R2发送包含前缀无效(prefix-incorrect)和路由器R2推荐的前缀(preferredPrefix):Pc,Pd(可是,ISPc、ISPd的连接性都能确认时)的ICMP信息(S144)。

通信节点N接收该通知,例如选择Pc,向路由器R2发送源地址=“Pc∷N”、目的地地址=“S”的信息包(src=Pc∷N,dst=S)(S145),路由器R2把从通信节点N接收的信息包传送给ISPc(S146)。

须指出的是,当ISPa、ISPb双方的连接断开时,如果成为重定向对象的路由器存在多个,则路由器R1向通信节点N返回从这些中适当选择的一个路由器。

另外,当ISPa、ISPb双方的连接断开时,如果知道不存在成为重定向对象的路由器,或者成为重定向对象的路由器都关着,就向通信节点N返回出错。

下面,参照图9和图10的序列例,就通信节点N的动作例加以说明。

首先,说明如上所述的通信节点N接收到ICMP信息时的情形。

通信节点N向路由器R1发送源地址=“Pa∷N”、目的地地址=“S”的信息包(src=Pa∷N,dst=S)(参照图9(b)的S121)。

这里,作为源地址使用的前缀例如是预先从缺省路由器即路由器R1接收的通知的前缀。

接着,如上所述,假定该接收的信息包指定的ISPa的连接断开了。这时,从路由器R1发来图7所示的ICMP信息。该ICMP信息包含:前缀无效(prefix-incorrect)和推荐的前缀(preferred Prefix):Pb(参照图9(b)的S122)。

通信节点N如果接收到该ICMP信息,则根据图7的成为原因的信息包(28)判断该信息是关于哪个信息包发送的信息。

接着,用该信息中包含的携荐的前缀(preferred Prefix)(这里是Pb)替换成为原因的刚才的信息包的源地址,再次发送出去。

这时通过将作为推荐的前缀(preferred Prefix)而接收的前缀(Pb)和通信节点N具有的接口ID进行组合而生成的网络地址“Pb∷N”如果还未预先准备,就现在生成它并使用。

另外,这里,可以调查成为原因的信息包,调查现在是否存在与它对应的连接后,再发送信息包。

当有与成为原因的信息包关联的连接时,就调查它是否为确立前即呼叫中。例如在TCP上,能通过调查是否为SYN SENT的状态来实现。

当是呼叫中时,通过将在刚才的ICMP信息中接收的前缀赋予该连接的源地址,再次进行连接的设定。可是,当应用程序明确地指定了源地址时,可以控制不进行再设定。作为一个例子,当使用一般的端口时,在调用conncet()之前,会调用bind(),因此,是明确地指定了源地址的情形。

也可以把从路由器R1或R2接收的ICMP信息保存在图11所示的前缀管理表中。这里,如果接收到了ICMP信息,则把该结果以目的地的地址或地址范围、推荐的前缀(preferred-prefix)的组的形式存储起来。

作为一个例子,说明向“S∷a”发送信息包,针对此事,从路由器R1接收到了前缀无效(prefix-incorrect)的ICMP信息时的情形。

在该ICMP信息中,作为推荐的前缀(preferred-prefix)记载了“Pa”。通过把该结果以地址或地址范围、前缀的组的形式存储起来,则当下次向“S∷a”发送信息包时,就参照该表,把源地址变更为推荐的前缀“Pa∷a”,发送信息包。

另外,在具有“S∷/64”前缀的地址的情况下,可以参照该表,控制优先使用Pa。据此,因为能优先使用预先推荐的前缀,所以能减少从路由器接收ICMP信息的次数。在缺省路由器变更了,或通信节点N的信息包发送目的地的规则变更了时,也可以废弃该表的存储。

下面,说明通信节点N向路由器R2发送源地址=“Pa∷N”、目的地地址=“S”的信息包(src=Pa∷N,dst=S)的情形(参照图10的S131)。例如,假定该信息包是用于设定TCP连接的信息包。

接收到了该信息包的路由器R2通过检测该信息包的源地址中包含的Pa的前缀,知道该Pa的前缀不是由路由器R2的上游的ISP分配的。

因此,路由器R2向发送该信息包的通信节点N发送ICMP信息(prefix-incorrect)(参照图10的S132)。在该ICMP信息中,包含有路由器R2推荐的前缀(preferred prefix):Pc,Pd。

通信节点N如果接收到该ICMP信息,首先比较设定在本通信节点N(通信节点N的接口即接口N)中的地址和接收的推荐的前缀(preferred prefix)。因为通信节点N也保持着具有Pc和Pd的前缀的地址,所以选择任意一个作为源地址。这里,选择Pc,则源地址为“Pc∷N”。

接着,调查ICMP信息中的成为原因的信息包。这时,通过调查成为原因的信息包的源地址(src addr)、目的地地址(dst addr)、源端口(src port)、目的地端口(dst port)四组,就知道是向哪个连接目标发出的哪个要求了。接着,如上所述,调查该要求是否在确立前即呼叫中。然后,当为确立前时,把源地址变更为“Pc∷N”,再次发送信息包。

以下,说明通信节点N中的对从路由器以ICMP信息等形式通知的前缀的管理方法。

关于将从路由器以ICMP信息等形式通知的前缀使用到何时,或者何时废弃,有各种变化。

须指出的是,如果前缀管理表是高速缓存,则基本上任何时候废弃都不会影响通信。

下面,说明其中几种变化。

(1)通知的前缀只在当时的信息包再发送中被使用和废弃。

当存储器的容量小的通信节点进行通信时,最好这样做。针对相同的通讯对象,如果要再次建立连接时,则重复相同的步骤。

(2)平常在预先设定的事件发生之前,保存通知的前缀,如果预先设定的事件发生,就废弃它的全部或一部分。

例如,设定表的大小,如果数据溢出,就在该时刻(例如将最后参照的条目)依次废弃。

(3)基本上,平常处理时,不进行废弃,当变成应该废弃的状况时,再废弃通知的前缀的全部或一部分。

应该废弃的状况例如有:

(3-1)接收到重定向(Redirect);

(3-2)使用的路由器(刚刚)关闭。

下面,说明接收到所述的(3-1)的重定向(Redirect)时的情形。

例如,在节点N能通过路由器R1和路由器R2连接因特网的状况下,过去从路由器R2接收到了前缀无效(prefix-incorrect),被通知了prefix:pd。这时,存储从R2接收到的“关于S,推荐前缀pd”的通知。不久,虽然能通过pd进行通信,但是在某时刻,从路由器R2发来了“关于S,推荐路由器R1”(重定向ICMP)的通知。这时,因为pd是依存于路由器R2的前缀,所以至少先废弃它。另外,此前使用的线路突然被重向(redirect),路由器R1、R2的连接状况有可能发生很大变化(例如,路由器R2的此前的连接全部断开等),所以可以废弃全部前缀。

下面,说明所述的(3-2)正在使用的路由器(刚刚)被关闭时的情形。

当保持着“关于S向路由器R2传送”的信息时,如果知道了路由器R2已被关闭(例如,IPv6节点定期地对自己使用的路由器进行存在确认(NUD,RFC2461),据此,能知道),因为状况发生了相当的变化,所以保存的前缀已无意义,可以把它们都废弃。

(3)的处理只要是(1)的情况,都最好实施(能避免无用步骤的增加)。

(4)使用时限(lifetime)。

当通信节点N在表等中登记前缀时,可以决定(例如通信节点N独自地)它的时限(例如,n秒),并与该前缀相互对应地进行登记。这时,经过了该时限时,就废弃。

须指出的是,可以把以上的各功能作为软件实现。

另外,本实施例作为在计算机上实现给定方法(或者,使计算机作为给定的部件起作用的,或者在计算机上实现给定的功能的)的程序也能实施,作为记录了该程序的计算机可读取的记录介质也能实施。

须指出的是,本发明的实施例中例示的结构是一个例子,但并不表示排除此外的结构,用其他的结构置换例示的结构中的一部分,或省略例示的结构的一部分,或在例示的结构中附加其他功能或要素,或通过组合它们而取得别的结构也是可能的。另外,与例示的结构在逻辑上等价的别的结构、包含与例示的结构在逻辑上等价的部分的别的结构、与例示的结构的主要部分在逻辑上等价的别的结构等也是可能的。另外,实现与例示的结构同一或类似的目的的别的结构、与例示的结构产生同一或类似的效果的别的结构等也是可能的。

另外,能适当组合本发明的实施例中例示的各种构成部分进行各种变形而实施。

另外,本发明的实施例包含:作为个别装置的发明、关于具有关联的两个以上的装置的发明、作为系统全体的发明、关于个别装置内部的结构部分的发明、或与它们对应的方法的发明等、与各种观点、阶段、概念或范畴有关的发明。

因此,从本发明的实施例所描述的内容能不限定于例示的结构而抽出发明。

本发明并不局限于上述的实施例,在它的技术范围中,能进行各种变形而实施。

根据本发明,能有效地利用多平台环境。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号