通信装置、控制方法以及计算机可读存储介质与流程

文档序号:13450016阅读:182来源:国知局
通信装置、控制方法以及计算机可读存储介质与流程

本发明总体涉及通信装置、控制方法以及计算机可读存储介质,特别涉及一种决定在通信中使用的地址的技术。



背景技术:

近年来,对于诸如pc(个人计算机)、打印机和数字照相机等的设备,具有网络功能并被连接到诸如互联网或家庭lan等的网络已经成为常见做法。此外,这些设备可以具有要连接到网络的多个接口(在下文中被称为“i/f”)。例如,许多智能电话中的各个具有lte(longtermevolution,长期演进)接口和无线lan或(蓝牙)接口。在连接到家庭中的由接入点形成的无线lan的同时,诸如打印机等的一些设备也能够通过无线lan同时连接到智能电话。

当具有通信功能的各个设备通过使用互联网协议(ip)与网络上的其他设备通信时,用于表示各个设备在网络上的位置的ip地址被分配给各个设备。然后,网络上的各设备能够通过决定包传送路径并使用ip地址识别设备来相互通信。在ipv4(互联网协议版本4)中,一个ip地址通常对应于各个i/f。另一方面,在最近盛行的ipv6(互联网协议版本6)中,多个ip地址对应于一个i/f。例如,在连接到网络时,根据ipv6的通信设备基于从路由器发送的网络信息,能够具有全局单播地址(globalunicastaddress)。在连接到网络时,通信设备还能够具有由其自身生成的链路本地地址。当在网络上存在dhcp服务器时,通信设备还能够具有来自dhcp服务器的由dhcp服务器发布的唯一本地单播地址。在ipv4和ipv6混合的环境中,通信设备具有更多的ip地址。

如果通信设备具有多个ip地址,则需要在包发送处理中选择要存储在ip包头部的发送源ip地址字段中的ip地址。除非通信设备适当地选择发送源ip地址,否则不能进行符合用户或应用的要求的通信。

为了应对于此,日本特开2011-010206号公报描述了一种如下的方法:当服务器根据发送源ip地址提供服务时,根据发送数据的内容来选择客户端的发送源ip地址。日本特开2013-219830号公报描述了一种如下的方法:根据应用,优先选择没有任何有效期限的类型的ip地址和能够延长有效期限的类型的ip地址。

当包括多个i/f的通信设备针对多个i/f中的各个获得ip地址时,可以选择在第一i/f中获得的ip地址并将其用作第二i/f中的发送源地址。此时,如果与网络的连接在第一i/f中断开,则在某些情况下不能使用在第一i/f中获得的ip地址。在ip地址获得源的网络中,可以认识到在网络中不使用该ip地址,并且可以收回或改变该ip地址。在这些情况下,在使用在第一i/f中获得的ip地址的第二i/f中,可能无意中引起通信禁用状态。在用于数据通信的第二i/f中,能够接收寻址到在第一i/f中获得的ip地址的包。然而,由于上述原因不能使用ip地址,无意中导致通信禁用状态。



技术实现要素:

本发明在通信装置能够利用多个网络接口时,通过地址选择来防止通信变得不稳定。

根据本发明的一个方面,提供了一种通信装置,所述通信装置包括:多个网络接口;存储单元,其用于将所述通信装置在网络中的地址与所述多个网络接口中的一个网络接口相关联地存储;决定单元,其用于在存在要发送的信号的情况下,从所述多个网络接口当中决定要用来发送要发送的信号的网络接口;确定单元,其用于确定所述存储单元中是否存储有,与由所述决定单元决定的网络接口相关联的一个或更多个第一地址;以及控制单元,其用于在所述存储单元中存储有至少一个第一地址的情况下,进行控制,以基于至少用来设置可通信范围的值从第一地址当中选择第二地址,并且通过使用第二地址作为发送源地址来发送要发送的信号。

根据本发明的另一方面,提供了一种通信装置,所述通信装置包括:多个网络接口;存储单元,其用于将所述通信装置在网络中的地址与所述多个网络接口中的一个网络接口相关联地存储;确定单元,其用于在接收到信号的情况下,确定是否在所述存储单元中与所述多个网络接口当中的用来接收信号的网络接口相关联地存储有接收到的信号中包括的目的地地址;以及控制单元,其用于未在所述存储单元中与用来接收信号的网络接口相关联地存储有目的地地址的情况下,进行控制,以丢弃所接收的信号。

根据本发明的又一方面,提供了一种通信装置的控制方法,所述通信装置包括存储单元和多个网络接口,所述存储单元用于将所述通信装置在网络中的地址与所述多个网络接口中的一个网络接口相关联地存储,所述控制方法包括:在存在要发送的信号的情况下,从所述多个网络接口当中决定要用来发送要发送的信号的网络接口;确定所述存储单元中是否存储有,与所决定的网络接口相关联的一个或更多个第一地址;以及在所述存储单元中存储有至少一个第一地址的情况下,进行控制,以基于至少用来设置可通信范围的值从第一地址当中选择第二地址,并且通过使用第二地址作为发送源地址来发送要发送的信号。

根据本发明的又一方面,提供了一种通信装置的控制方法,所述通信装置包括存储单元和多个网络接口,所述存储单元用于将所述通信装置在网络中的地址与所述多个网络接口中的一个网络接口相关联地存储,所述控制方法包括:在接收到信号的情况下,确定是否在所述存储单元中与所述多个网络接口当中的用来接收信号的网络接口相关联地存储有接收到的信号中包括的目的地地址;以及未在所述存储单元中与用来接收信号的网络接口相关联地存储有目的地地址的情况下,进行控制,以丢弃所接收的信号。

通过以下(参照附图)对示例性实施例的描述,本发明的其他特征将变得清楚。

附图说明

并入说明书中并构成说明书的一部分的附图例示了本发明的实施例,并且与描述一起用来解释本发明的原理。

图1是示出网络的构造的示例的图;

图2是示出数字照相机的功能布置的示例的框图;

图3是示出包发送处理的序列的流程图;

图4是示出ip发送处理的序列的流程图;

图5是示出发送源ip地址选择处理的序列的流程图;以及

图6是示出包接收处理的序列的流程图。

具体实施方式

现在将参照附图详细描述本发明的示例性实施例。应当注意,除非另有具体声明,否则这些实施例中阐述的部件的相对布置、数值表达式和数值不限制本发明的范围。

下面将参照附图描述本发明的实施例。

(网络构造)

首先,将参照图1描述根据本实施例的网络的构造的示例。该网络包括数字照相机(在下文中被称为“dc”)1、智能电话2、蜂窝通信的基站(bts3)、存储图像等的服务器(图像服务器5)以及接入点(ap6)。bts3、图像服务器5和ap6经由互联网4彼此连接。例如,ap6能够经由网关(gw7)连接到互联网4。ap6是无线lan接入点,但是可以作为涉及除无线lan以外的无线通信的基站(或中继站)来进行操作。bts3能够是例如根据lte(长期演进)标准进行操作的基站,但是可以是例如根据诸如lte-advanced等的最新的标准或诸如cdma等的过去的标准进行操作的基站。注意,智能电话2可以不一定连接到蜂窝通信的基站,并且可以根据其他无线通信标准用基站或中继站替换bts3。dc1和智能电话2中的各个是作为终端进行操作的通信装置的示例,并且可以使用除这些以外的装置。也就是说,可以例如用诸如pc(个人计算机)、pda(个人数字助理)或平板电脑等的便携式设备替换dc1和智能电话2中的各个。此外,dc1和智能电话2中的各个可以由打印机、扫描器等来替换,并且还可以由固定到一个位置并被构造为不移动的任意设备来替换。

根据本实施例的dc1包括多个网络接口,并且能够通过无线lan连接到ap6并通过使用第一网络接口访问互联网。在通过第一网络接口建立无线连接的同时,也能够使用第二网络接口通过无线lan将dc1连接到智能电话2。智能电话2通过使用例如lte无线连接到作为lte基站的bts3,并且dc1能够经由智能电话2访问互联网。

注意,将在其布置和要进行的处理方面,在下面的描述中说明dc1。然而,以下讨论当然适用于除dc1以外的装置。也就是说,包括多个网络接口的通信装置可以具有下面要描述的dc1的功能,然后可以进行下面要描述的处理。注意,dc1包括下面的两个无线lan接口。然而,dc1可以包括三个或更多个无线lan接口。作为选择,dc1可以包括除无线lan以外的网络接口。

(数字照相机布置)

图2示出了dc1的功能布置的示例。dc1包括例如关于摄像的诸如透镜和图像传感器等的硬件、诸如cpu(中央处理单元)等的处理器以及诸如存储器等的存储设备,并且通过使用其硬件来实现如图2中的功能布置。注意,处理器可以不是cpu,但是例如可以使用专用集成电路(asic),或者可以使用现场可编程门阵列(fpga)等来实现特定功能。此外,处理器的数量不必是一个,而是可以使用多个处理器。例如,可以分开准备通信处理器和控制整个dc1的处理器。存储设备可以是rom(只读存储器)、ram(随机存取存储器)或其他存储介质,能够使用能够保持信息的任意设备。

处理控制单元201控制图2中的dc1的功能块的操作,并且还通常控制由dc1进行的处理。

摄像单元202由透镜和图像传感器实现,并且将从透镜输入的拍摄光信息以拍摄数字信息的格式输出到另一功能块。图像处理单元203对从摄像单元202输出的拍摄数字信息进行至预定图像数据格式的转换、诸如曝光调整的图像质量调整处理等。图像数据记录单元204记录由图像处理单元203处理和输出的图像数据。注意,图像数据记录单元204能够与图像数据一起创建和记录图像数据管理信息。

用户界面(在下文中被称为“ui”)205接受例如用户操作,诸如摄像操作、观看拍摄图像的操作以及指示通信设置的操作和上传或下载图像数据的操作。ui205还能够向用户做出诸如拍摄图像的显示或操作显示等的信息呈现。

应用处理单元206根据在ui205中接受的用户操作来执行用于进行处理的应用程序。应用处理单元206还能够执行应用程序,该应用程序进行诸如由dc1自主独立于用户操作而进行的图像数据管理或通信设置管理。

tcp/udp处理单元207进行tcp(transmissioncontrolprotocol,传输控制协议)或udp(userdatagramprotocol,用户数据报协议)的协议处理。例如,在从应用处理单元206接收到数据(例如图像数据)的发送请求时,tcp/udp处理单元207通过tcp或udp的协议处理将该发送数据封包,并且将该包输出到ip处理单元208。此外,在从ip处理单元208接收到数据(tcp包或udp包)接收通知时,tcp/udp处理单元207从该接收到的数据中提取数据部分,并且通过tcp或udp的协议处理将其输出到应用处理单元206。

ip处理单元208进行ip(互联网协议)协议处理,即ipv4或ipv6处理。例如,通过ip协议处理,ip处理单元208对从tcp/udp处理单元207接收到的发送目标的tcp包或udp包进行ip封包,并且将该ip包输出到phy/mac处理单元209。此外,在从phy/mac处理单元209接收到包(ip包)接收通知时,ip处理单元208通过ip协议处理从接收到的ip包中提取数据部分(tcp包或udp包)。然后,ip处理单元208将所提取的tcp包或udp包输出到tcp/udp处理单元207。

phy/mac处理单元209进行phy(physicallayer,物理层)和mac(mediumaccesscontrollayer,介质访问控制层)的协议处理。phy/mac处理单元209在使用无线lan接口的通信中进行由例如ieee802.11ac标准定义的phy和mac处理。当发送包时,phy/mac处理单元209创建ieee802.11ac头部和物理头部,并生成要发送到网络的包。此外,phy/mac处理单元209针对从网络接收到的包,去除物理头部和ieee802.11ac头部,并且提取ip包。phy/mac处理单元209还能够在使用有线lan接口的通信中进行相同的处理。phy/mac处理单元209能够进行例如以太网头部处理、物理头部处理等。

第一网络接口(在下文中被称为“第一i/f”)210是用于将网络和dc1连接的、与网络的(例如,物理的)输入/输出端点。第一i/f210能够是例如符合根据无线lan的ieee802.11ac标准的无线lan模块、根据有线lan的1000baset的以太网模块等。在本实施例中,第一i/f210是ieee802.11ac的模块,并且dc1经由第一i/f210无线连接到ap6。如在第一i/f210中,第二网络接口(在下文中被称为“第二i/f”)211是用于将网络和dc1连接的、(例如,物理的)与网络的输入/输出端点。在本实施例中,第二i/f211是ieee802.11ac的模块,并且dc1经由第二i/f211无线连接到智能电话2。注意,这里将假设第一i/f210和第二i/f211是无线lan接口来给出描述。然而,这些接口中的至少一个可以是诸如有线lan等的其他网络接口。名称“i/f”在下面通常用作通信接口的缩写。

注意,经由共同tcp/udp处理单元207、ip处理单元208和phy/mac处理单元209进行由第一i/f210和第二i/f211进行的通信。然而,本本发明不限于此。也就是说,dc1可以针对各i/f,分开地包括各自进行tcp/udp、ip和mac/phy中的至少一者的处理的功能单元。然而,第一i/f210和第二i/f211至少在理论上能够例如通过第二i/f211通过使用例如在第一i/f210中获得的ip地址接收信号。

路由表管理单元212通过例如存储至少将目的地ip地址信息和用于发送的i/f信息彼此关联的条目信息,来管理路由信息。例如,基于在发送ip包时从应用处理单元206传递的目的地ip地址信息,路由表管理单元212决定用于发送的i/f。

ip地址登记管理单元213进行外部获得或内部生成dc1自身的ip地址的处理。ip地址登记管理单元213能够通过例如根据dhcp协议从网络上的dhcp服务器接收ip地址来外部获得ip地址。ip地址登记管理单元213还能够通过在ipv6中根据从网络上的路由器通知的网络信息获得全局单播地址,来获得ip地址。此外,ip地址登记管理单元213通过由自身用作dhcp服务器以向自身给出ip地址或由自动ip生成的ip地址,来生成ip地址。此时,ip地址登记管理单元213决定向哪个i/f给出给予自身的ip地址。ip地址登记管理单元213还能够在ipv6中针对各个i/f生成链路本地单播地址。

当获得dc1自身的ip地址时,ip地址登记管理单元213使ip地址存储单元214将用来获得该ip地址的i/f的i/f识别信息与该ip地址彼此关联地存储。当在dc1内生成ip地址时,ip地址登记管理单元213还使ip地址存储单元214将该ip地址被给出到的i/f的i/f识别信息与该ip地址彼此关联地存储。

ip地址存储单元214存储dc1的ip地址和与该ip地址相关联的i/f识别信息。ip地址存储单元214将它们,例如使用特定ip地址的ip地址管理信息和与其相关联的i/f识别信息,视为一个单位。然后,ip地址存储单元214针对所有ip地址中的各个创建ip地址管理信息,并且做出ip地址管理信息的列表,从而管理所有ip地址。注意,ip地址存储单元214可以保持所有ip地址的列表以及如下i/f的ip地址的列表,在该i/f中仅收集用于各个i/f的与i/f相关联的ip地址。在这种情况下,ip地址存储单元214在例如登记新的ip地址时,能够做出或更新这些列表中的任何一个或全部。ip地址缩窄处理单元215仅将ip地址存储单元214中存储的dc1的ip地址当中的、与指定i/f相关联的ip地址,创建为特定i/f的ip地址列表。注意,在ip地址存储单元214做出和管理特定i/f的ip地址列表的情况下,ip地址缩窄处理单元215可以进行仅决定使用特定i/f的ip地址列表的处理。

发送源ip地址选择处理单元216对通过ip地址缩窄处理单元215的处理获得的ip地址列表进行发送源ip地址选择处理。稍后将参照图5描述发送源ip地址选择处理单元216的具体处理的序列的示例。

发送确定单元217确认针对要在ip处理单元208的ip发送处理之后发送的ip包是否未决定发送源ip地址,并且丢弃未决定发送源ip地址的包。接收确定单元218在由phy/mac处理单元209进行的包接收处理之后,针对由ip处理单元208进行的ip接收处理,确定是否传送该包。例如,接收确定单元218参照并获得在包接收处理之后的包的目的地ip地址的字段中表示的ip地址。接下来,接收确定单元218参照由ip地址缩窄处理单元215做出的特定i/f的ip地址列表,并且确认该列表是否包括所获得的ip地址。如果特定i/f的ip地址列表不包括所获得的ip地址,则接收确定单元218丢弃包括所获得的ip地址的包。

(处理序列)

现在将描述由上述的dc1进行的处理序列。

[包发送中的处理]

首先,将描述当dc1将图像数据上载到经由网络可通信的图像服务器5时的处理。在下文中,dc1使用第一i/f210来经由ap6和gw7访问互联网,并且将图像数据上载到前面存在的图像服务器5。

图3是示出当dc1发送包时进行的包发送处理的序列的示例的流程图。注意,在下文中,用户使用dc1完成对图像的拍摄,并且将作为摄像的结果而获得的图像数据记录在图像数据记录单元204中。注意,每次生成发送目标数据(包)时,能够进行图3的处理。

首先,假设ui205接受指示dc1将记录在图像数据记录单元204中的图像数据上载到图像服务器5的用户操作。注意,dc1通过名称解析协议掌握图像服务器5的ip地址,或者用户知道该ip地址,并且经由ui205来接收该指定。然后,应用处理单元206与图像服务器5建立tcp连接并且发送图像数据,因而向tcp/udp处理单元207发布寻址到图像服务器5的ip地址的tcp连接建立请求(步骤s301)。

然后,tcp/udp处理单元207创建tcpsyn包,并且向ip处理单元208发布寻址到图像服务器5的ip地址的ip包发送请求(步骤s302)。ip处理单元208创建寻址到图像服务器5的ip地址的ip头部,并且还进行发送源ip地址选择处理(步骤s303)。稍后将参照图4详细描述步骤s303中的处理。

随后,发送确定单元217确认作为ip处理单元208的处理的结果是否决定了发送源ip地址(步骤s304),并且如果未决定发送源ip地址(在步骤s304中为“否”),则丢弃所创建的包(步骤s305)。另一方面,如果决定了发送源ip地址(在步骤s304中为“是”),则发送确定单元217向phy/mac处理单元209发布包发送请求(步骤s306)。

现在将参照图4更详细地描述由ip处理单元208进行的步骤s303中的处理。

在从tcp/udp处理单元207接收到ip包发送请求时,ip处理单元208参照由路由表管理单元212管理的路由信息(步骤s401)。然后,基于图像服务器5的ip地址信息,ip处理单元208决定用于发送的i/f(步骤s402)。这里,如上所述,ip处理单元208选择第一i/f210作为发送i/f。

ip处理单元208确认是否由应用处理单元206指定了发送源ip地址(步骤s403)。如果指定了地址(在步骤s403中为“是”),则处理进入步骤s404。如果未指定地址(在步骤s403中为“否”),则处理进入步骤s405。注意,在步骤s403中能够确定所指定的发送源ip地址是否与dc1中包括的多个通信i/f中的一个相关联地存储。在这种情况下,如果所指定的发送源ip地址与多个通信i/f中的一个相关联地存储,则ip处理单元208使处理进入步骤s404。另一方面,如果所指定的发送源ip地址与多个通信i/f中的任一个都不相关联地存储,则ip处理单元208可以不使用所指定的发送源ip地址。如果ip处理单元208不使用所指定的发送源ip地址,则它例如决定不发送信号并且直接结束处理。

注意,可以在步骤s403中确定与在步骤s402中决定的发送i/f(例如,第一i/f210)相关联地存储的ip地址是否被指定为发送源ip地址。在这种情况下,如果所指定的发送源ip地址与在步骤s402中决定的通信i/f相关联地存储,则ip处理单元208使处理进入步骤s404。另一方面,如果所指定的发送源ip地址与在步骤s402中决定的通信i/f未相关联地存储,则ip处理单元208能够避免使用所指定的发送源ip地址。此时,如果ip处理单元208不使用所指定的发送源ip地址,则ip处理单元208不发送信号,并且可以直接结束该处理或者可以使处理进入步骤s405。ip处理单元208在步骤s404中将所指定的ip地址决定为发送源地址,结束处理。

另一方面,在步骤s405中,ip地址缩窄处理单元215参照对ip地址存储单元214中存储的所有ip地址进行管理的ip地址列表。然后,ip地址缩窄处理单元215从ip地址列表中提取与第一i/f210相关联的ip地址,并且针对第一i/f210做出ip地址列表(步骤s405)。如果用于各个i/f的ip地址列表存储在ip地址存储单元214中,则ip地址缩窄处理单元215可以在步骤s405中仅读出与第一i/f有关的ip地址列表。

参照用于第一i/f210的ip地址列表,发送源ip地址选择处理单元216确认是否存在包括在该列表中的ip地址,即,该列表是否包括一个或更多个ip地址(步骤s406)。如果在用于第一i/f210的ip地址列表中不存在ip地址(在步骤s406中为“否”),则发送源ip地址选择处理单元216结束处理而不决定发送源ip地址(步骤s407)。另一方面,如果用于第一i/f210的ip地址列表包括一个或更多个ip地址(在步骤s406中为“是”),则发送源ip地址选择处理单元216使处理进入步骤s408。

在步骤s408中,发送源ip地址选择处理单元216从用于第一i/f210的ip地址列表中包括的ip地址当中选择发送源ip地址。将参照图5描述该处理。注意,图5中所示的发送源ip地址选择处理仅仅是示例,并且可以进行在顺序、缩窄确定规则的类型、数量等方面与图5中所示的处理不同的处理。注意,在稍后描述的步骤s503中的处理之前,基于上述的步骤s405中的发送i/f信息来对ip地址进行缩窄。

发送源ip地址选择处理单元216首先确定目的地ip地址是否与用于第一i/f210的ip地址列表中的ip地址匹配(步骤s501)。也就是说,发送源ip地址选择处理单元216确认ip包是否寻址到dc1的第一i/f210。如果ip包寻址到dc1的第一i/f210(在步骤s501中为“是”),则发送源ip地址选择处理单元216将发送源ip地址决定为目的地ip地址(步骤s502),结束图5的处理。

另一方面,如果ip包不寻址到dc1的第一i/f210(在步骤s501中为“否”),则发送源ip地址选择处理单元216使处理进入步骤s503。在步骤s503中,发送源ip地址选择处理单元216将目的地ip地址的作用域(scope)信息与用于第一i/f210的ip地址列表中包括的各个ip地址的作用域信息进行比较,缩窄适当作用域的ip地址。作用域信息是用来设置可通信范围的值,并且是表示ip地址的范围的信息。发送源ip地址选择处理单元216能够例如从用于第一i/f210的ip地址列表中包括的ip地址当中提取与目的地ip地址相同作用域的ip地址。例如,如果目的地ip地址的作用域是全局的,则发送源ip地址选择处理单元216能够提取具有全局作用域信息的ip地址,如果目的地ip地址是链路本地的,则能够提取具有链路本地作用域信息的ip地址。作为选择,发送源ip地址选择处理单元216可以例如从用于第一i/f210的ip地址列表中包括的ip地址当中,提取作用域具有至少等于或大于目的地ip地址的作用域的范围的ip地址。如果目的地ip地址的作用域是链路本地的,则发送源ip地址选择处理单元216能够提取例如具有全局或链路本地作用域信息的ip地址。

例如,如果不存在满足用于第一i/f210的ip地址列表中包括的ip地址中的条件的ip地址,则发送源ip地址选择处理单元216能够留下所有ip地址并且进入下一个缩窄条件。也就是说,发送源ip地址选择处理单元216通过如上所述的缩窄处理来提取一个或更多个ip地址。发送源ip地址选择处理单元216能够进行更新,以在用于第一i/f210的ip地址列表中仅留下作为缩窄处理的结果而获得的ip地址。注意,也将在下文中的缩窄处理中类似地进行这样的处理。也就是说,同样在下面的步骤s505、s507、s509、s511和s513中,即使在用于第一i/f210的ip地址列表中剩余的所有ip地址目前都不满足缩窄条件,也提取一个或更多个ip地址。从用于第一i/f210的ip地址列表中排除未被提取的ip地址。

发送源ip地址选择处理单元216通过在步骤s503中确定作为缩窄处理的结果的、ip地址是否能够被缩窄为一个ip地址,来确定是否结束处理(步骤s504)。注意,如在步骤s504中,也在要在下面描述的步骤s506、s508、s510、s512和s514中确定作为缩窄处理的结果的、是否指定了一个ip地址,并且如果仅获得一个ip地址,则确定处理结束。注意,如果发送源ip地址选择处理单元216确定处理结束(在步骤s504中为“是”),则它将用于第一i/f210的ip地址列表中剩余的一个ip地址决定为发送源ip地址。另一方面,如果缩窄为一个ip地址未完成,则发送源ip地址选择处理单元216确定不结束处理(在步骤s504中为“否”),并且使处理进入步骤s505。也就是说,如果在用于第一i/f210的ip地址列表中剩余两个或更多个ip地址,则发送源ip地址选择处理单元216进行进一步的缩窄处理。

在步骤s505中,发送源ip地址选择处理单元216确认用于第一i/f210的ip地址列表中剩余的各个ip地址的有效期限信息,并且提取具有适合的有效期限的ip地址。发送源ip地址选择处理单元216例如能够从用于第一i/f210的ip地址列表中包括的ip地址当中,提取具有未到期的有效期限的ip地址或有效期的剩余时段等于或大于预定长度的ip地址。随后,发送源ip地址选择处理单元216通过如参照步骤s504所描述的在步骤s505中确定作为缩窄处理的结果的、ip地址是否能够被缩窄为一个ip地址,来确定是否结束处理(步骤s506)。当确定结束处理时(在步骤s506中为“是”),发送源ip地址选择处理单元216将用于第一i/f210的ip地址列表中剩余的一个ip地址决定为发送源ip地址。另一方面,如果发送源ip地址选择处理单元216确定不结束处理(在步骤s506中为“否”),则使处理进入步骤s507。

在步骤s507中,发送源ip地址选择处理单元216从用于第一i/f210的ip地址列表中剩余的各ip地址当中提取移动ip类型的ip地址。随后,如在步骤s504中,如果发送源ip地址选择处理单元216确定结束处理(在步骤s508中为“是”),则其将用于第一i/f210的ip地址列表中剩余的一个ip地址决定为发送源ip地址。另一方面,如果发送源ip地址选择处理单元216确定不结束处理(在步骤s508中为“否”),则其使处理进入步骤s509。

在步骤s509中,发送源ip地址选择处理单元216从用于第一i/f210的ip地址列表中剩余的ip地址当中,基于标签信息提取ip地址。发送源ip地址选择处理单元216能够例如从用于第一i/f210的ip地址列表中包括的ip地址当中,提取具有与目的地ip地址相同的标签信息的ip地址。注意,这里的标签信息能够是例如由应用或用户向各个ip地址给出的并且能够指定优先级或进行分组的信息。随后,如在步骤s504中,如果发送源ip地址选择处理单元216确定结束处理(在步骤s510中为“是”),则其将用于第一i/f210的ip地址列表中剩余的一个ip地址决定为发送源ip地址。另一方面,如果发送源ip地址选择处理单元216确定不结束处理(在步骤s510中为“否”),则其使处理进入步骤s511。

在步骤s511中,发送源ip地址选择处理单元216提取用于第一i/f210的ip地址列表中剩余的各个ip地址的类型为临时地址的ip地址。该临时地址例如对应于例如ipv6的匿名地址。随后,如在步骤s504中,如果发送源ip地址选择处理单元216确定结束处理(在步骤s512中为“是”),则其将用于第一i/f210的ip地址列表中剩余的一个ip地址决定为发送源ip地址。另一方面,如果发送源ip地址选择处理单元216确定不结束处理(在步骤s512中为“否”),则其使处理进入步骤s513。

在步骤s513中,发送源ip地址选择处理单元216基于用于第一i/f210的ip地址列表中剩余的各个ip地址的前缀信息和目的地ip地址的前缀信息,来对ip地址进行缩窄。例如,发送源ip地址选择处理单元216指定用于第一i/f210的ip地址列表中的ip地址的前缀信息的、包含与目的地ip地址的共同前缀信息的部分的长度。然后,发送源ip地址选择处理单元216能够提取满足条件的ip地址,诸如包含共同前缀信息的部分的长度为最长或为等于或大于预定长度的ip地址。注意,在步骤s515中,如果在用于第一i/f210的ip地址列表中不包括包含共同前缀信息的部分的长度为等于或大于预定长度的ip地址,则发送源ip地址选择处理单元216能够将所有ip地址设置为提取目标。作为选择,如果存在各自使包含共同前缀信息的部分的长度等于或大于预定长度的多个ip地址,则发送源ip地址选择处理单元216可以在ip地址列表中留下该多个ip地址。随后,如果发送源ip地址选择处理单元216确定结束处理(在步骤s514中为“是”),则其将用于第一i/f210的ip地址列表中剩余的一个ip地址决定为发送源ip地址,如在步骤s504中。另一方面,如果发送源ip地址选择处理单元216确定不结束处理(在步骤s514中为“否”),则其使处理进入步骤s515。

在步骤s515中,发送源ip地址选择处理单元216确认用于第一i/f210的ip地址列表中剩余的各ip地址的登记顺序信息,决定最后登记的一个ip地址,并且将其设置为发送源ip地址。因此,发送源ip地址选择处理单元216结束处理。注意,在步骤s515中,发送源ip地址选择处理单元216可以不选择最近登记的ip地址而是选择最近使用的ip地址,或者可以选择具有最高使用频率的ip地址。

注意,当ip地址被新登记在ip地址列表中时,发送源ip地址选择处理单元216可以针对各个i/f选择要用来发送信号的ip地址。例如,发送源ip地址选择处理单元216可以根据ip地址的登记顺序,预先选择最后登记的ip地址,如在上述的步骤s515中。在这种情况下,在步骤s408的处理中,能够根据在步骤s402中决定的i/f,将预先选择的ip地址作为最终选择结果输出。

因而通过从用于数据通信的i/f中获得或生成的ip地址当中选择发送源ip地址,能够防止因来自不用于数据通信的i/f的影响而发生设置在通信禁用状态下的事件。

[包接收中的处理]

现在将描述当dc1从例如图像服务器5接收到服务询问时的ip地址选择方法。dc1例如选择用来判断是否应该接收包的、自身的ip地址。注意,在下文中,dc1使用第一i/f210来经由ap6和gw7访问互联网,并且从前面存在的图像服务器5接收服务询问。

图6是示出当dc1接收包时的处理的序列的图。注意,在下文中,dc1将图像从第一i/f210和第二i/f211二者上载到图像服务器5,因此图像服务器5知道dc1的多个ip地址。

图像服务器5通过使用udp向与dc1相关联的多个ip地址发送服务询问,以询问dc1是否更新服务信息。然后,dc1经由ap6和gw7在第一i/f210中接收该服务询问包。

此时,在第一i/f210中接收到包时,dc1在phy/mac处理单元209中提取ip包格式的数据。接收确定单元218针对ip包格式的数据,获得用来接收该包的i/f(在下文中被称为“接收i/f”)信息(步骤s601)。接收确定单元218在此确定第一i/f210是接收i/f。

基于接收i/f信息,ip地址缩窄处理单元215做出对第一i/f210唯一的ip地址列表(步骤s602)。作为选择,如果做出了用于第一i/f210的ip地址列表并将其存储在ip地址存储单元214中,则在步骤s602中,ip地址缩窄处理单元215可以仅决定使用所存储的ip地址列表。

接收确定单元218确认在用于第一i/f210的ip地址列表中是否包括在接收到的包的目的地ip地址字段中表示的ip地址(步骤s603)。如果在用于第一i/f210的ip地址列表中不包括接收到的包的目的地ip地址(在步骤s603中为“否”),则接收确定单元218丢弃该接收到的包(步骤s604),并且结束图6中的处理。另一方面,如果在用于第一i/f210的ip地址列表中包括接收到的包的目的地ip地址(在步骤s603中为“是”),则接收确定单元218使处理进入步骤s605。

在步骤s605中,ip处理单元208进行ip接收处理并且提取udp包格式的数据。然后,tcp/udp处理单元207从udp包格式的数据中提取要传递到应用处理单元206的数据(步骤s606)。应用处理单元206处理从tcp/udp处理单元207传递的数据(步骤s607)。这里,应用处理单元206响应于来自图像服务器5的服务询问,对服务信息进行收集和响应。

因而通过在用于数据通信的i/f中获得或生成的ip地址当中,选择由自身接收信号时的ip地址,能够防止因来自不用于数据通信的i/f的影响而发生设置在通信禁用状态下的事件。

注意,在上述实施例中,已经描述了选择第一i/f210作为用于通信的网络接口的示例。然而,当选择第二i/f211时,也能够进行相同的处理。

此外,在上述实施例中,以ip地址为例给出了说明。然而,地址可以不一定是ip地址格式,只要是表示dc1的网络地址的信息即可。类似地,显而易见的是,上述描述中使用的术语用于示例性的目的,并且可以由各自表示相同作用的其它术语代替。

根据本发明,能够在通信装置能够利用多个网络接口的情况下,通过地址选择来防止通信变得不稳定。

其他实施例

还可以通过读出并执行记录在存储介质(也可更完整地称为“非暂时性计算机可读存储介质”)上的计算机可执行指令(例如,一个或更多个程序)以执行上述实施例中的一个或更多个的功能、并且/或者包括用于执行上述实施例中的一个或更多个的功能的一个或更多个电路(例如,专用集成电路(asic))的系统或装置的计算机,来实现本发明的实施例,并且,可以利用通过由系统或装置的计算机例如读出并执行来自存储介质的计算机可执行指令以执行上述实施例中的一个或更多个的功能、并且/或者控制一个或更多个电路以执行上述实施例中的一个或更多个的功能的方法,来实现本发明的实施例。计算机可以包括一个或更多个处理器(例如,中央处理单元(cpu)、微处理单元(mpu)),并且可以包括分开的计算机或分开的处理器的网络,以读出并执行计算机可执行指令。计算机可执行指令可以例如从网络或存储介质被提供给计算机。存储介质可以包括例如硬盘、随机存取存储器(ram)、只读存储器(rom)、分布式计算系统的存储器、光盘(诸如压缩光盘(cd)、数字通用光盘(dvd)或蓝光光盘(bd)tm)、闪存装置以及存储卡等中的一个或更多个。

本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(cpu)、微处理单元(mpu)读出并执行程序的方法。

虽然参照示例性实施例对本发明进行了描述,但是应当理解,本发明不限于所公开的示例性实施例。应当对所附权利要求的范围给予最宽的解释,以使其涵盖所有这些变型例以及等同的结构和功能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1