信息处理装置、端口检测装置、信息处理方法和端口检测方法

文档序号:7947403阅读:156来源:国知局
专利名称:信息处理装置、端口检测装置、信息处理方法和端口检测方法
技术领域
本发明涉及发送数据包(packet)的信息处理装置等。
背景技术
在数据包通信中,有时使用具有NAT(Network Address Translation)功能的通信处理装置。该通信装置装置例如称作路由器。
首先,说明该NAT的分类。NAT有发送端口分配标准和接收滤波标准,通过其组合来进行NAT的分类。发送端口分配标准在NAT的本地侧(例如LAN侧)的信息处理装置的端口和IP地址相同,而不依赖于数据包的目标(IP地址、端口)时,有给NAT分配的全球侧(例如互联网等的WAN侧)的端口相同的锥(Cone)型;按数据包的每个目标地址分配新的端口的地址敏感(Address Sensitive)型;按数据包的每个端口分配新的端口的端口敏感(Port Sensitive)型和分配与发送源的端口相同的端口的端口重新使用(Port Reuse)型。
对从NAT的本地侧发送了数据包的端口判断来自全球侧的数据包的接收可能性的接收滤波标准中,有仅从该端口发送了数据包的地址来接收数据包的地址敏感型;仅从该端口发送了数据包的端口来接收数据包的端口敏感型和不存在滤波的普通型。通过组合这些发送端口分配标准和接收滤波标准,来构成各种NAT。
在使用了这种NAT的通信中,考虑如图38所示的确立不经过PC1和PC2之间的服务器的通信的情况。这些技术内容公开在例如特开2004-180003号公报(第1页,图1等)(下面称作“专利文献1”)和罗津贝格等的文献(J.Resenberg、J.Weinberger、C.Huitema、R.Mahy、“STUN-Simple Traversal of User Datagram Protocol(UDP)Through NetworkAddress Translators(NATs)”、“Online”、2003年3月、Network WorkingGroup Request For Comments3489、“2005年3月9日检索”、互联网<URLhttp//www.ietf.org/rfc/rfc3489.txt>、下面称作“非专利文献1”)中。
如图38所示,在PC1经NAT1与PC2进行通信的情况下,首先,从NAT1的本地侧向全球侧发送数据包(下面称作“冒泡数据包(bubblepacket)”),通过从PC2向该冒泡数据包所通过的NAT1的全球侧的端口发送数据包,从而PC1和PC2可以进行通信。因此,可以正确检测出从PC1发送的冒泡数据包所通过的NAT1的端口的位置很重要。
但是,即使使用上述的专利文献1、非专利文献1所记载的方法,有时也不能正确检测出冒泡数据包所通过的NAT端口的位置。在发送端口分配标准是锥型的NAT中,按照FIFO(First In First Out)来排队没有使用的端口号,并在进行新端口分配时使用该排队的端口号。这种情况下,由于没有以号码为顺序来分配端口号,所以例如若使用上述专利文献1所公开的方法,不能正确检测出冒泡数据包所通过的NAT的端口的位置。另一方面,在发送端口分配标准是地址敏感型、或端口敏感型的NAT中,不能通过上述非专利文献1所公开的方法来检测出冒泡数据包所通过的NAT的端口位置。

发明内容
本发明为解决上述问题而作出,其目的是提供信息处理装置等,在冒泡数据包经具有发送端口分配标准的通信处理装置被发送时,可以正确检测出该冒泡数据包所通过的通信处理装置的端口的位置。
为了实现上述目的,本发明的信息处理装置,经进行与通信有关的处理的通信处理装置来进行通信,其特征在于,包括冒泡数据包发送部,经通信处理装置发送在通信处理装置中保留发送历史用的数据包的冒泡数据包;检测用数据包发送部,根据通信处理装置的种类,经通信处理装置来发送在冒泡数据包的发送中使用的检测作为通信处理装置的端口的冒泡数据包发送端口的位置所用的数据包的检测用数据包,使得作为检测用数据包所通过的通信处理装置的端口的检测用数据包发送端口和冒泡数据包发送端口相同,或不同。
通过这种结构,通过使用从信息处理装置发送的检测用数据包所通过的通信处理装置的端口的位置,可以正确检测出冒泡数据包发送端口的位置,而与通信处理装置的类型无关。结果,可以使用该冒泡数据包发送端口的位置,来可靠确立信息处理装置和其他装置的通信。
本发明的端口检测装置,其特征在于,包括检测用端口信息接收部,接收从信息处理装置中发送的表示检测用数据包所通过的所述通信处理装置的端口的位置的信息的检测用端口信息和冒泡数据包发送端口检测部,根据所述通信处理装置的种类,基于所述检测用端口信息来检测出所述冒泡数据包发送端口的位置。
通过这种结构,在端口检测装置中,可以检测出冒泡数据包发送端口的位置。并且,通过使用该检测出的冒泡数据包发送端口的位置,可以确立信息处理装置和其他装置之间的通信。


图1是表示本发明的实施方式1的信息处理系统的结构图;图2是表示同一实施方式1的信息处理装置的结构框图;图3是表示同一实施方式1的信息处理装置的结构框图;图4是表示同一实施方式1的第一服务器的结构框图;图5是表示同一实施方式的第二服务器的结构框图;图6是表示同一实施方式1的中继服务器的结构框图;图7是表示同一实施方式1的信息处理装置的动作流程图;图8是表示同一实施方式的信息处理系统的动作流程图;图9是说明同一实施方式1中的通信处理装置的类别的判断用的图;图10是表示同一实施方式1的信息处理系统的动作的流程图;图11是说明同一实施方式1中的通信处理装置的端口宽度的检测用的图;图12是表示同一实施方式1的信息处理系统的动作的流程图;图13是表示同一实施方式1中的数据中继中所用的装置识别信息和地址等的对应的图;图14是表示同一实施方式1的信息处理系统的动作的流程图;图15是表示同一实施方式1的信息处理系统的动作的流程图;
图16是说明同一实施方式1中的冒泡数据包发送端口的检测用的图;图17是说明同一实施方式1中的冒泡数据包发送端口的检测用的图;图18是说明同一实施方式1中冒泡数据包发送端口的检测用的图;图19是说明同一实施方式1中的端口重新使用的通信处理装置的动作用的图;图20是说明同一实施方式1中的冒泡数据包发送端口的检测用的图;图21是表示同一实施方式1的信息处理系统的动作的流程图;图22是说明同一实施方式1中的冒泡数据包发送端口的检测用的图;图23是说明同一实施方式中的冒泡数据包发送端口的检测用的图;图24是表示同一实施方式1的信息处理系统的动作的流程图;图25是表示本发明的实施方式2的信息处理装置的结构框图;图26是表示同一实施方式2的第一服务器和第二服务器的结构框图;图27是表示同一实施方式2的信息处理装置的动作的流程图;图28是表示同一实施方式2的信息处理系统的动作的流程图;图29是表示同一实施方式2的信息处理系统的动作的流程图;图30是表示同一实施方式2的信息处理系统的动作的流程图;图31是表示同一实施方式2的信息处理系统的动作的流程图;图32是表示同一实施方式2的信息处理系统的动作的流程图;图33是表示本发明的实施方式3的信息处理装置的结构框图;图34是表示同一实施方式3的信息处理装置的结构框图;图35是表示同一实施方式3的信息处理装置的动作的流程图;图36是表示同一实施方式3的信息处理系统的动作的流程图;图37是表示同一实施方式3的信息处理装置的结构框图;图38是表示现有的信息处理系统的结构图。
图中1-通信线路;2-通信处理装置;10、30、70、100、110-信息处理装置;11-发送目标信息接收部(destination data receiver);12-冒泡数据包发送部(bubble packet transmitter);13-种类判断数据包发送部;14-种类判断端口信息接收部;15、81-种类判断部;16-检测用数据包发送部;17-端口宽度检测用数据包发送部;18-端口宽度检测用端口信息接收部;19、86-端口宽度检测部;20、111-检测用端口信息接收部;21、83、112-冒泡数据包发送端口检测部;22、74、121-输出部;23、34、61-通信部;31-发送目标信息发送部;32、73-冒泡数据包发送端口接收部;33-回复数据包发送部(reply packet transmitter);40、80-第一服务器;41、51-种类判断数据包接收部;42、52-种类判断端口信息发送部;43-检测用数据包接收部;44-检测用端口信息发送部;45-端口宽度检测用数据包接收部;46-端口宽度检测用端口信息发送部;50、90-第二服务器;60-中继服务器;62-地址信息存储部;63-地址信息贮存部;64-地址信息取得部;71-种类信息接收部;72-重新发送指示接收部;82-种类信息发送部;84-重新发送指示发送部;85-冒泡数据包发送端口发送部;101-信息发送部;120-端口检测装置。
具体实施例方式
下面,使用实施方式来说明本发明的信息处理装置等。另外,在下面的实施方式中,添加同一符号的构成要素和步骤相同或相应,有时省略再次的说明。
(实施方式1)图1是表示本发明的实施方式1的信息处理系统的结构图。图1中,本实施方式1的信息处理系统包括通信处理装置2、信息处理装置10、信息处理装置30、第一服务器40、第二服务器50和中继服务器60。通信处理装置2、信息处理装置30、第一服务器40、第二服务器50和中继服务器60分别经有线或无线的通信线路1来进行连接。这里,通信线路1例如是互联网、内联网和公众电话线路网等。
通信处理装置2进行与信息处理装置10、信息处理装置30、第一服务器40、第二服务器50和中继服务器60之间的通信有关的处理。通信处理装置2是具有进行地址变换的NAT功能的装置。
这里,在下面的说明中,在通信处理装置2具有锥型的发送端口分配标准的情况下,通信处理装置2的种类是锥型系统。另外,在通信处理装置2具有地址敏感型的发送端口分配标准的情况下,通信处理装置2的种类是对称系统。在通信处理装置2具有端口重新使用类型的发送端口分配标准的情况下,通信处理装置2的种类是端口重新使用。即,通信处理装置2的种类根据通信处理装置2的发送端口分配标准来加以判断。
图2是表示本实施方式1的信息处理装置10的结构框图。图2中,本实施方式1的信息处理装置10包括发送目标信息接收部11、冒泡数据包发送部12、种类判断数据包判断部13、种类判断端口信息接收部14、种类判断部15、检测用数据包发送部16、端口宽度检测用数据包发送部17、端口宽度检测用端口信息接收部18、端口宽度检测部19、检测用端口信息接收部20、冒泡数据包发送端口检测部21、输出部22和通信部23。
发送目标信息接收部11接收作为与后述的冒泡数据包的发送目标有关的信息的发送目标信息。发送目标信息例如可以是包含表示冒泡数据包的发送目标的地址的信息,或,也可以是包含表示冒泡数据包的发送目标的端口的位置的信息,或也可包含表示作为冒泡数据包的发送目标的端口的基准的端口位置的信息。这里,所谓作为冒泡数据包的发送目标的端口的基准的端口,例如是将10加到作为该基准的端口的端口号后的端口号是冒泡数据包的发送目标的端口的情况。发送目标信息接收部11例如也可接收从输入设备(例如键盘和鼠标、触摸屏等)输入的发送目标信息,也可接收经有线或无线的通信线路发送的发送目标信息,或也可接收从规定的记录介质(例如光盘和磁盘、半导体存储器等)读出的发送目标信息。本实施方式1中,发送目标信息接收部11接收经通信线路发送的发送目标信息。另外,发送目标信息接收部11也可包含或不包含进行接收用的设备(例如调制解调器和网卡等)。另外,发送目标信息接收部11可由硬件来实现,或也可由驱动规定的设备的驱动器等的软件来实现。
冒泡数据包发送部12经通信处理装置2来发送冒泡数据包。这里,所谓冒泡数据包是指在通信处理装置2中保留发送历史用的数据包。即,通过冒泡数据包使通信处理装置2保留发送历史,从而信息处理装置10可以从信息处理装置30中接收向该冒泡数据包所通过的通信处理装置2的端口发送的数据包。该冒泡数据包的有效载荷可以包含任何的信息,也可什么信息都不包含。另外,冒泡数据包例如可以是UDP的数据包。冒泡数据包发送部12根据发送目标信息接收部11所接收的发送目标信息来发送冒泡数据包。冒泡数据包发送部12例如可以将冒泡数据包发送到发送目标信息表示的地址、端口位置上,或也可将冒泡数据包发送到与发送目标信息表示的端口的位置离开规定的间隔的端口的位置上。冒泡数据包发送部12也可在不能检测出冒泡数据包发送端口的位置的情况下,再次发送冒泡数据包。例如,在后述的冒泡数据包发送端口检测部21中不能检测出冒泡数据包发送端口的位置的情况下,冒泡数据包发送部12也可再次发送冒泡数据包。另外,冒泡数据包发送部12也可包含或不包含进行发送用的发送设备(例如调制解调器和网卡等)(这时,冒泡数据包发送部12和通信处理装置2之间存在图中未示的发送设备)。另外,冒泡数据包发送部12可以通过硬件实现,或者,也可通过驱动发送设备的驱动器等的软件来实现。
种类判断数据包发送部13经通信处理装置2来发送种类判断数据包。这里,所谓种类判断数据包是指用于判断通信处理装置2的种类的数据包。后面描述种类判断数据包的发送方法和判断使用了该种类判断数据包的通信处理装置2的种类的方法等。该种类判断数据包的有效载荷可以包含任何的信息,也可什么信息都不包含。另外,种类判断数据包可以是例如UDP的数据包,也可以是TCP(Transmission Control Protocol)的数据包。另外,种类判断数据包发送部13可以包含或不包含进行发送用的发送设备(例如调制解调器和网卡等)(这时,在种类判断数据包发送部13和通信处理装置2之间存在图中未示的发送设备)。另外,种类判断数据包发送部13可以由硬件实现,或也可由驱动发送设备的驱动器等的软件来实现。
种类判断端口信息接收部14接收种类判断端口信息。这里,所谓种类判断端口信息是指表示种类判断数据包发送部13发送的种类判断数据包所通过的通信处理装置2的端口的位置的信息。该端口的位置例如由端口号来表示。种类判断端口信息接收部14例如可接收从输入设备(例如键盘、鼠标和触摸屏等)输入的种类判断端口信息,也可接收经有线或无线的通信线路发送的种类判断端口信息,也可接收从规定的记录介质(例如,光盘和磁盘、半导体存储器等)读出的种类判断端口信息。本实施方式1中,种类判断端口信息接收部14接收经通信线路发送的种类判断端口信息。另外,种类判断端口信息接收部14可以包含或不包含进行接收用的设备(例如调制解调器和网卡等)。另外,种类判断端口信息接收部14可以由硬件实现,或也可由驱动规定的设备的驱动器等的软件来实现。
种类判断部15根据种类判断端口信息接收部14接收的种类判断端口信息,来判断通信处理装置2的种类。后面描述其判断方法。
检测用数据包发送部16经通信处理装置2来发送检测用数据包。这里,所谓检测用数据包是指用于检测冒泡数据包发送端口的位置的数据包。另外,所谓冒泡数据包发送端口是指在冒泡数据包的发送中使用的通信处理装置2的端口。即,冒泡数据包所通过的通信处理装置2的端口是冒泡数据包发送端口。检测用数据包发送部16按照根据通信处理装置2的种类,检测用数据包发送端口和冒泡数据包发送端口相同或不同的方式来发送检测用数据包。这里,所谓检测用数据包发送端口是指检测用数据包所通过的通信处理装置2的端口。另外“根据通信处理装置2的种类,检测用数据包发送端口和冒泡数据包发送端口相同或不同”可以通过检测用数据包发送部16根据通信处理装置2的种类来改变检测用数据包的发送方法来实现,或检测用数据包发送部16发送检测用数据包,使其相同,而与通信处理装置2的种类无关,作为结果,也可以加以实现。检测用数据包发送部16将检测用数据包发送到冒泡数据包发送端口的位置的检测中所用的第一服务器40和第二服务器50。后面描述具体的发送方法。检测用数据包发送部16在不能检测出冒泡数据包发送端口的位置的情况下,也可再次发送检测用数据包。例如,在后述的冒泡数据包发送端口检测部21中不能检测出冒泡数据包发送端口的位置的情况下,检测用数据包发送部16也可再次发送检测用数据包。该检测用数据包的有效载荷可以包含任何的信息,也可什么信息都不包含。另外,检测用数据包可以是例如UDP的数据包,也可以是TCP的数据包。另外,检测用数据包发送部16也可包含或不包含进行发送用的发送设备(例如调制解调器和网卡等)(这时,检测用数据包发送部16和通信处理装置2之间存在图中未示的发送设备)。进一步,检测用数据包发送部16可以由硬件来实现,或者也可由驱动发送设备的驱动器等的软件来实现。
端口宽度检测用数据包发送部17经通信处理装置2来发送端口宽度检测用数据包。这里,所谓端口宽度检测用数据包是指检测通信处理装置2中的端口宽度用的数据包。即,根据端口宽度检测用数据包所通过的通信处理装置2的端口的位置,来检测出通信处理装置2的端口宽度。该检测出的通信处理装置2的端口宽度如后所述,在冒泡数据包发送端口的位置的检测中来使用。所谓通信处理装置2的端口宽度是在通信处理装置2中连续使用的,即,在通信处理装置2中连续分配的端口的宽度(间隔)。例如,在端口的位置由端口号来表示的情况下,端口宽度是“1”表示向端口号“20000”的下一个端口分配的端口是端口号“20001”的端口。另外,端口宽度是“2”表示向端口号“20000”的下一个端口分配的端口是端口号“20002”的端口。该端口判断检测用数据包的有效载荷可以包含任何的信息,也可什么信息都不包含。另外,端口宽度检测用数据包例如可以是UDP的数据包,也可以是TCP的数据包。另外,端口宽度检测用数据包发送部17可以包含也可不包含进行发送用的发送设备(例如调制解调器和网卡等)(这时,端口宽度检测用数据包发送部17和通信处理装置2之间存在图中未示的发送设备)。进一步,端口宽度检测用数据包发送部17可以由硬件来实现,或也可由驱动发送设备的驱动器等的软件来实现。
端口宽度检测用端口信息接收部18接收端口宽度检测用端口信息。这里,所谓端口宽度检测用端口信息是指表示端口宽度检测用数据包发送部17发送的端口宽度检测用数据包所通过的通信处理装置2的端口的位置的信息。该端口的位置例如由端口号来表示。端口宽度检测用端口信息接收部18可以接收从输入设备(例如键盘和鼠标、触摸屏等)输入的端口宽度检测用端口信息,也可接收经有线或无线的通信线路发送的端口宽度检测用端口信息,也可接收从规定的记录介质(例如光盘和磁盘、半导体存储器等)读出的端口宽度检测用端口信息。本实施方式1中,端口宽度检测用端口信息接收部18接收经通信线路发送的端口宽度检测用端口信息。另外,端口宽度检测用端口信息接收部18可以包含也可不包含进行接收用的设备(例如调制解调器和网卡等)。进一步,端口宽度检测用端口信息接收部18可以由硬件来实现,或也可由驱动规定的设备的驱动器等的软件来实现。
端口宽度检测部19根据端口宽度检测用端口信息接收部18接收的端口宽度检测用端口信息,来检测出通信处理装置2的端口宽度。后面描述该检测方法。
检测用端口信息接收部20接收检测用端口信息。这里,所谓检测用端口信息是指表示检测用数据包发送部16发送的检测用数据包所通过的通信处理装置2的端口的位置的信息。该端口的位置例如由端口号来表示。检测用端口信息接收部20例如可以接收从输入设备(例如键盘和鼠标、触摸屏等)输入的检测用端口信息,也可接收经有线或无线的通信线路发送的检测用端口信息,也可接收从规定的记录介质(例如光盘和磁盘、半导体存储器等)读出的检测用端口信息。本实施方式1中,检测用端口信息接收部20接收经通信线路发送的检测用端口信息。另外,检测用端口信息接收部20可以包含也可不包含进行接收用的设备(例如调制解调器和网卡等)。进一步,检测用端口信息接收部20可以由硬件来实现,或也可由驱动规定的设备的驱动器等的软件来实现。
冒泡数据包发送端口检测部21根据检测用端口信息接收部20所接收的检测用端口信息来检测出冒泡数据包发送端口的位置。冒泡数据包发送端口检测部21根据通信处理装置2的种类,来进行该冒泡数据包发送端口的位置的检测。这里,所谓“根据通信处理装置2的种类,来检测出该冒泡数据包发送端口的位置”还包含根据通信处理装置2的种类,作为结果,检测出冒泡数据包发送端口的位置的方法不同的情况。因此,冒泡数据包发送端口检测部21可以根据通信处理装置2的种类,来改变冒泡数据包的发送端口的位置的检测方法,或也可根据其他原因,来改变冒泡数据包的发送端口的位置的检测方法。后面描述冒泡数据包发送端口的检测的具体方法。
输出部22输出冒泡数据包发送端口信息。这里,所谓冒泡数据包发送端口信息是指表示冒泡数据包发送端口检测部21检测到的冒泡数据包发送端口的位置的信息。这里,该输出可以是例如是向显示设备(例如CRT和液晶显示器等)的显示,也可以是经通信线路向规定的设备的发送,也可以是基于打印机的打印,也可以是基于扬声器的声音输出,也可以是向记录介质的存储。本实施方式1中,输出部22经中继服务器60将冒泡数据包发送端口信息发送到信息处理装置30。另外,输出部也可包含或也可不包含进行输出的设备(例如显示设备和打印机等)。另外,输出部22可以通过硬件来实现,也可通过驱动这些设备的驱动器等的软件来实现。
通信部23当在信息处理装置10和信息处理装置30之间确立了不经中继服务器60的对等(Peer to Peer)通信(下面简写为“P2P通信”)的情况下,通过该P2P通信,来进行与信息处理装置30的通信。另外,通信部23也进行用于确立该P2P通信的处理等。另外,通信部23也可包含或也可不包含进行通信用的通信设备(例如,调制解调器和网卡等)(这时,在通信部23和通信处理装置2之间存在没有图示的通信设备)。另外,通信部23可以通过硬件来实现,或也可通过驱动通信设备的驱动器等的软件来实现。
在发送目标信息接收部11、冒泡数据包发送部12、种类判断数据包发送部13、种类判断端口信息接收部14、检测用数据包发送部16、端口宽度检测用数据包发送部17、端口宽度检测用端口信息接收部18、检测用端口信息接收部20、输出部22和通信部23的任何的两个以上的要素具有与通信有关的设备的情况下,这些可以是相同的单元,或也可以是不同的单元。
图3是表示本实施方式1的信息处理装置30的结构框图。图3中,本实施方式1的信息处理装置30包括发送目标信息发送部31、冒泡数据包发送端口接收部32、回复数据包发送部33和通信部34。
发送目标信息发送部31经中继服务器60将发送目标信息发送到信息处理装置10。另外,发送目标信息发送部31可以包含或不包含进行发送用的发送设备(例如调制解调器和网卡等)(这时,在发送目标信息发送部31和通信线路1之间存在图中未示的发送设备)。另外,发送目标信息发送部31可以通过硬件来实现,或也可通过驱动发送设备的驱动器等的软件来实现。
冒泡数据包发送端口接收部32接收冒泡数据包发送端口信息。冒泡数据包发送端口接收部32例如可以接收从输入设备(例如键盘和鼠标、触摸屏等)输入的冒泡数据包发送端口信息,也可接收经有线或无线的通信线路发送的冒泡数据包发送端口信息,也可接收从规定的记录介质(例如光盘和磁盘、半导体存储器等)读出的冒泡数据包发送端口信息。本实施方式1中,冒泡数据包发送端口接收部32接收经通信线路发送的冒泡数据包发送端口信息。另外,冒泡数据包发送端口接收部32可以包含或不包含进行接收用的发送设备(例如调制解调器和网卡等)。另外,冒泡数据包发送端口接收部32可以通过硬件来实现,或,也可通过驱动规定的设备的驱动器等的软件来实现。
回复数据包发送部33根据冒泡数据包发送端口接收部32接收的冒泡数据包发送端口信息,来向冒泡数据包发送端口发送回复数据包。这里,所谓回复数据包是指为了确立信息处理装置10与信息处理装置30之间的P2P通信,而从信息处理装置30发送的数据包。该回复数据包的有效载荷中可以包含任意的信息,也可什么信息都不包含。回复数据包可以是例如UDP的数据包。另外,回复数据包发送部33可以包含也可不包含进行发送用的发送设备(例如调制解调器和网卡等)(这时,在回复数据包发送部33和通信线路1之间存在图中未示的发送设备)。另外,回复数据包发送部33可以通过硬件实现,或也可通过驱动发送设备的驱动器等的软件来实现。
通信部34在信息处理装置10和信息处理装置30之间确立了不经中继服务器60的对等(Peer to Peer)通信(下面简写为“P2P通信”)的情况下,通过该P2P通信,来进行与信息处理装置10的通信。另外,通信部34也进行确立该P2P通信用的处理等。另外,通信部34也可包含或也可不包含进行通信用的通信设备(例如,调制解调器和网卡等)(这时,在通信部34和通信处理装置1之间存在没有图示的通信设备)。另外,通信部34可以通过硬件来实现,或也可通过驱动通信设备的驱动器等的软件来实现。
在发送目标信息发送部31、冒泡数据包发送端口接收部32、回复数据包发送部33、通信部34的任意的2个以上的要素具有与通信有关的设备的情况下,这些可以是同一单元,或也可以是分别不同的单元。
图4是表示本实施方式1的第一服务器40的结构框图。图4中,本实施方式1的第一服务器40包括种类判断数据包接收部41、种类判断端口信息发送部42、检测用数据包接收部43、检测用端口信息发送部44、端口宽度检测用数据包接收部45和端口宽度检测用端口信息发送部46。
种类判断数据包接收部41接收从信息处理装置10发送的种类判断数据包。另外,种类判断数据包接收部41也可包含或不包含进行接收用的接收设备(例如调制解调器和网卡等)(这时,在种类判断数据包接收部41和通信线路1之间存在没有图示的接收设备)。另外,种类判断数据包接收部41可以通过硬件来实现,或也可通过驱动接收设备的驱动器等的软件来实现。
种类判断端口信息发送部42将表示种类判断数据包接收部41所接收的种类判断数据包所通过的通信处理装置2的端口的位置的种类判断端口信息发送到信息处理装置10。这里,“将种类判断端口信息发送到信息处理装置10”包含将种类判断端口信息的发送目标设为通信处理装置2的全球侧的地址的情况。这是因为在通信处理装置2具有NAT功能的情况下,不能将信息处理装置10的地址指定为种类判断端口信息的发送目标,但是通过指定通信处理装置2的地址,在通信处理装置2中进行地址变换,而发送到信息处理装置10。下面的说明中设作相同。另外,种类判断端口信息发送部42可以包含或不包含进行发送用的发送设备(例如调制解调器和网卡等)(这时,在种类判断端口信息发送部42和通信线路1之间存在没有图示的接收设备)。另外,种类判断端口信息发送部42可以通过硬件来实现,或也可通过驱动发送设备的驱动器等的软件来实现。
检测用数据包接收部43接收从信息处理装置10发送的检测用数据包。另外,检测用数据包接收部43可以包含或也可不包含进行接收用的接收设备(例如调制解调器和网卡等)(这时,在检测用数据包接收部43和通信线路1之间存在图中未示的接收设备)。另外,检测用数据包接收部43可以通过硬件来实现,或也可通过驱动接收设备的驱动器等的软件来实现。
检测用端口信息发送部44将表示检测用数据包接收部43所接收的检测用数据包所通过的通信处理装置2的端口的位置的检测用端口信息发送到信息处理装置10。另外,检测用端口信息发送部44可以包含或也可不包含进行发送用的发送设备(例如调制解调器和网卡等)(这时,在检测用端口信息发送部44和通信线路1之间存在图中未示的发送设备)。另外,检测用端口信息发送部44可以通过硬件来实现,或也可通过驱动发送设备的驱动器等的软件来实现。
端口宽度检测用数据包接收部45接收从信息处理装置10发送的端口宽度检测用数据包。另外,端口宽度检测用数据包接收部45可以包含也可不包含进行接收用的接收设备(例如调制解调器和网卡等)(这时,在端口宽度检测用数据包接收部45和通信线路1之间存在图中未示的接收设备)。另外,端口宽度检测用数据包接收部45可以通过硬件来实现,或也可通过驱动接收设备的驱动器等的软件来实现。
端口宽度检测用端口信息发送部46将表示端口宽度检测用数据包接收部45所接收的端口宽度检测用数据包所通过的通信处理装置2的端口的位置的端口宽度检测用端口信息发送到信息处理装置10。另外,端口宽度检测用端口信息发送部46可以包含或也可不包含进行发送用的发送设备(例如调制解调器和网卡等)(这时,在端口宽度检测用端口信息发送部46和通信线路1之间存在没有图示的发送设备)。另外,端口宽度检测用端口信息发送部46可以通过硬件来实现,或也可通过驱动发送设备的驱动器等的软件来实现。
另外,种类判断端口信息发送部42、检测用端口信息发送部44、端口宽度检测用端口信息发送部46可以将种类判断端口信息等发送到种类判断数据包接收部41等接收的数据包的发送源的地址、端口,或也可在信息处理装置10和第一服务器40之间存在通信信息的通信处理装置2的端口的情况下,将种类判断端口信息等发送到该端口。
另外,种类判断数据包接收部41、种类判断端口信息发送部42、检测用数据包接收部43、检测用端口信息发送部44、端口宽度检测用数据包接收部45、端口宽度检测用端口信息发送部46的任意2个以上的要素具有与通信有关的设备的情况下,这些可以是同一单元,或也可以是分别不同的单元。
图5是表示本实施方式1的第二服务器50的结构框图。图5中,本实施方式1的第二服务器50包括种类判断数据包接收部51和种类判断端口信息发送部52。种类判断数据包接收部51和种类判断端口信息发送部52分别与种类判断数据包接收部41、种类判断端口信息发送部42相同,故省略其说明。
图6是表示本实施方式1的中继服务器60的结构框图。图6中,本实施方式1的中继服务器60包括通信部61、地址信息存储部62、地址信息贮存部63和地址信息取得部64。
通信部61进行在信息处理装置10和信息处理装置30之间的信息的发送接收,进行从一个装置向另一个装置的信息的中继。另外,还进行与后述的向地址信息存储部62的地址信息的注册处理等有关的通信。另外,通信部61可以包含或也可不包含进行通信用的通信设备(例如调制解调器和网卡等)(这时,在通信部61和通信线路1之间存在图中未示的通信设备)。另外,通信部61可以通过硬件来实现,或也可通过驱动通信设备的驱动器等的软件来实现。
地址信息存储部62存储地址信息。这里,所谓地址信息是指例如使识别信息处理装置的装置识别信息、地址和端口的位置对应的信息。地址信息存储部62通过规定的记录介质(例如半导体存储器和磁盘、光盘等)来实现。
地址信息贮存部63根据要求注册通信部61所接收的地址信息的信息,来将地址信息贮存到地址信息存储部62中。
地址信息取得部64从地址信息存储部62取得与通信部61所接收的信息的中继目标对应的地址信息。
中继服务器60例如可以是H.323服务器和SIP的服务器等。另外,中继服务器60可以由2个以上的服务器构成。即,信息处理装置10和信息处理装置30之间的数据中继也可经2个以上的中继服务器(例如SIP代理服务器等)来进行。
接着,使用流程图来说明本实施方式1的信息处理系统的动作。图7是表示本实施方式1的信息处理装置10的动作的流程图。
(步骤S101)信息处理装置10进行判断通信处理装置2的种类用的处理。后面描述该处理的细节。
(步骤S102)信息处理装置10进行检测通信处理装置2的端口宽度用的处理。后面描述该处理的细节。
(步骤S103)信息处理装置10通过发送冒泡数据包检测用数据包,来检测出冒泡数据包发送端口的位置。并且,信息处理装置10进行确立与信息处理装置30的P2P通信的处理。后面描述该处理的细节。
(步骤S104)信息处理装置10与信息处理装置30进行P2P通信。
另外,图7的流程图中,不管步骤S101的判断通信处理装置2的种类的处理和步骤S102的检测通信处理装置2的端口宽度的处理的顺序。
图8是表示图7的流程图的步骤S101中的信息处理装置10判断通信处理装置2的种类用的处理的细节的流程图。参考表示种类判断数据包等通过的端口的位置的图9的模式图来进行说明。图8中,所谓“通信源”是指信息处理装置10侧。本实施方式1中,将信息处理装置10、通信处理装置2称作通信源,将信息处理装置30称作通信目标。
(步骤S201)信息处理装置10的种类判断数据包发送部13向第一服务器40的端口P104发送种类判断数据包。种类判断数据包发送部13可以预先知道第一服务器40的地址、端口P104的位置,或也可在种类判断数据包的发送时从其他的构成要素等来获取。从信息处理装置10的端口P101中发送该种类判断数据包。另外,设该端口P101在发送种类判断数据包时,为新分配的端口。这里,所谓新分配的端口是指之前在其他通信中没有使用过的端口。通信处理装置2对该种类判断数据包来分配端口P102。并且,该种类判断数据包由第一服务器40的种类判断数据包接收部41来接收。
(步骤S202)第一服务器40的种类判断端口信息发送部42从由种类判断数据包接收部41接收的种类判断数据包头中取得表示种类判断数据包的发送源的端口位置的信息。并且,种类判断端口信息发送部42构成包含表示该端口位置的信息的种类判断端口信息,向种类判断数据包接收部41所接收的种类判断数据包的发送源的地址、端口P102来进行发送。该种类判断端口信息由种类判断端口信息接收部14来接收。
(步骤S203)信息处理装置10的种类判断数据包发送部13向第一服务器40的端口P104发送种类判断数据包。从信息处理装置10的端口P106来发送该种类判断数据包。这里,端口P106为与端口P101不同的端口。另外,该端口P106在发送种类判断数据包时,为新分配的端口。另外,该端口P106最好不是通常给端口P101的下一个分配端口的端口。例如,在端口P101的端口号为“20000”,通常接着分配的端口的端口号为“20001”的情况下,端口P106的端口号是比“20000”充分大的号、例如“20100”,或比“2000”小的号、例如“19500”。这是因为由此,可以适当判断通信处理装置2的种类是否为端口重新使用。设通信处理装置2对该种类判断数据包来分配端口P107。然后,由第一服务器40的种类判断数据包接收部41来接收该种类判断数据包。
(步骤S204)第一服务器40的种类判断端口信息发送部42与步骤S202相同,发送种类判断端口信息。由种类判断端口信息接收部14来接收该种类判断端口信息。
(步骤S205)信息处理装置10的种类判断数据包发送部13向第二服务器50的端口P105发送种类判断数据包。另外,设端口P105的位置与端口P104的位置不同。种类判断数据包发送部13可以预先知道第二服务器50的地址、端口P105的位置,或也可在种类判断数据包的发送时从其他构出要素等获取。从信息处理装置10的端口P101发送该种类判断数据包。设通信处理装置2对该种类判断数据包分配端口P103。然后,由第二服务器50的种类判断数据包接收部51来接收该种类判断数据包。
(步骤S206)第二服务器50的种类判断端口信息发送部52从由种类判断数据包接收部51接收的种类判断数据包的头中取得表示种类判断数据包的发送源的端口的位置的信息。并且,种类判断端口信息发送部52向构成包含表示该端口位置的信息的种类判断端口信息,向种类判断数据包接收部51所接收的种类判断数据包的发送源的地址、端口P103进行发送。由种类判断端口信息接收部14来接收该种类判断端口信息。
另外,种类判断端口信息发送部52可以经第一服务器40和通信处理装置2向信息处理装置10发送种类判断端口信息,而不是直接经通信处理装置2发送种类判断端口信息到信息处理装置10。
(步骤S207)种类判断部15根据表示种类判断端口信息接收部14所接收的端口P102、P103、P107的位置的信息,来判断通信处理装置2的种类。首先,在端口P101的位置与端口P102的位置相等,且端口P106的位置与端口P107的位置相等的情况下,种类判断部15判断为通信处理装置2的种类为端口重新使用。另一方面,在通信处理装置2的种类不是端口重新使用,而端口P102的位置和端口P103的位置相等的情况下,种类判断部15判断为通信处理装置2的种类是锥型,在通信处理装置2的种类不是端口重新使用,而端口P102的位置和端口P103的位置不同的情况下,种类判断部15判断为通信处理装置2的种类为对称系统。将通过种类判断部15判断出的判断结果适当传到检测用数据包发送部16、冒泡数据包发送端口检测部21。
另外,在接收到步骤S204中发送的种类判断端口信息的时刻,并得知了端口P101和端口P102相等,端口P106和端口P107相等的情况下,不进行步骤S205、S206的处理,而可以在步骤S207的处理中,进行种类的判断。这时,判断为通信处理装置2的种类是端口重新使用。
另外,也可使步骤S205和S206的处理在步骤S201之前进行,或也可在步骤S202和步骤S203之间进行。
另外,例如也可集中一次发送从第一服务器40发送的2个种类判断端口信息。或,也可集中一次发送从第一服务器40和第二服务器50发送的3个种类判断端口信息。这时,例如将种类判断端口信息从第二服务器50传到第一服务器40。
另外,判断通信处理装置2的种类的方法并不限于图8所示的方法,也可通过其他的方法来进行通信处理装置2的种类的判断。例如,也可进行判断发送端口分配标准,还判断接收滤波标准的处理。另外,也可多次重复执行例如步骤S201、S202的处理。其中,设在每次发送种类判断数据包时随机设定发送种类判断数据包的信息处理装置10的端口的位置。并且,对于其中的一定以上的种类判断数据包,在发送该种类判断数据包的信息处理装置10的端口和种类判断数据包所通过的通信处理装置2的端口相等的情况下,可以判断为通信处理装置2的种类为端口重新使用。例如,对于5个种类判断数据包中,4个以上的种类判断数据包,在发送了该种类判断数据包的信息处理装置10的端口和种类判断数据包所通过的通信处理装置2的端口相等的情况下,可以将通信处理装置2的种类判断为端口重新使用。
图10是表示图7的流程图的步骤S 102中的信息处理装置10检测出通信处理装置2的端口宽度用的处理的细节的流程图。参考表示端口宽度检测用数据包等通过端口的位置的图11的模式图来加以说明。
(步骤S301)端口宽度检测用数据包发送部17向第一服务器40的端口P203发送端口宽度检测用数据包。端口宽度检测用数据包发送部17也可以预先知道第一服务器40的地址、端口P203的位置,或也可在种类判断数据包的发送时从其他构成要素等来获取。从信息处理装置10的端口P201发送该端口宽度检测用数据包。另外,端口P201在发送端口宽度检测用数据包时,为新分配的端口。通信处理装置2对该端口宽度检测用数据包分配端口P202。并且,由第一服务器40的端口宽度检测用数据包接收部45来接收该端口宽度检测用数据包。
(步骤S302)第一服务器40的端口宽度检测用端口信息发送部46从由端口宽度检测用数据包接收部45接收的端口宽度检测用数据包的头中取得表示端口宽度检测用数据包的发送源的端口位置的信息。并且,端口宽度检测用端口信息发送部46构成表示包含该端口位置的信息的端口宽度检测用端口信息,并向端口宽度检测用数据包接收部45所接收的端口宽度检测用数据包的发送源的地址、端口P202来进行发送。该端口宽度检测用端口信息由端口宽度检测用端口信息接收部18来接收。
(步骤S303)端口宽度检测用数据包发送部17与步骤S301相同,向第一服务器40的端口P203发送端口宽度检测用数据包。从信息处理装置10的端口P204发送该端口宽度检测用数据包。设端口P204为与端口P201不同的端口。另外,该端口P204在发送端口宽度检测用数据包时,为新分配的端口。通信处理装置2对该端口宽度检测用数据包来分配端口P205。并且,由第一服务器40的端口宽度检测用数据包接收部45来接收该端口宽度检测用数据包。
(步骤S304)第一服务器40的端口宽度检测用端口信息发送部46与步骤S302相同,构成端口宽度检测用端口信息来加以发送。由端口宽度检测用端口信息接收部18来接收该端口宽度检测用端口信息。
(步骤S305)端口宽度检测用数据包发送部17与步骤S301、S303相同,向第一服务器40的端口P203发送端口宽度检测用数据包。从信息处理装置10的端口P206发送该端口宽度检测用数据包。另外,端口P206是与端口P201不同的端口,与端口P204也不同的端口。另外,该端口P206在发送端口宽度检测用数据包时,为新分配的端口。设通信处理装置2对该端口宽度检测用数据包分配端口P207。并且,由第一服务器40的端口宽度检测用数据包接收部45来接收该端口宽度检测用数据包。
(步骤S306)第一服务器40的端口宽度检测用端口信息发送部46与步骤S302、S304相同,构成端口宽度检测用端口信息来加以发送。由端口宽度检测用端口信息接收部18来接收该端口宽度检测用端口信息。
设连续进行步骤S301、S303、S305的端口宽度检测用数据包的发送。即,设以尽可能短的时间间隔来进行步骤S301、S303、S305的端口宽度检测用数据包的发送。这是因为在发送端口宽度检测用数据包的期间,对从与通信处理装置2的本地侧相连的其他设备发送的数据包,在通信处理装置2中进行了新的端口分配的情况下,不能正确进行端口宽度的检测。
(步骤S307)端口宽度检测部19根据表示端口宽度检测用端口信息接收部18所接收的端口P202、P205、P207的位置的信息,来判断通信处理装置2的端口宽度。例如,在端口P202和端口P205的间隔、与端口P205和端口P207的间隔相等的情况下,将该间隔作为通信处理装置2的端口宽度来检测出。另一方面,在端口P202和端口P205的间隔与端口P205和端口P207的间隔中,一个间隔比另一个间隔短的情况下,将短的间隔作为通信处理装置2的间隔检测出。将通过端口宽度检测部19检测出的通信处理装置2的端口宽度传到冒泡数据包发送端口检测部21。
第一服务器40可以在接收3个端口宽度检测用数据包后,集中发送端口宽度检测用端口信息。
另外,检测出通信处理装置2的端口宽度的方法并不限于图10所示的方法,也可通过其他方法来进行通信处理装置2的种类的判断。例如,信息处理装置10可以发送4个以上的端口宽度检测用数据包,或也可仅发送2个端口宽度检测用数据包。
另外,在通信处理装置2的种类是端口重新使用或锥型的情况下,由于在冒泡数据包发送端口的位置的检测中不使用端口宽度,所以也可不进行检测端口宽度的处理。另外,在通信处理装置2中的端口的分配是随机的情况下,也可不进行检测出端口宽度的处理。这是因为在通信处理装置2的种类是端口重新使用的情况下、通信处理装置2中的端口的分配是随机的情况下,即使判断出了通信处理装置2的端口宽度,该端口宽度也没有意义。这里,所谓通信处理装置2中的端口分配是随机的是指无顺序分配的情况,而不是分配端口,使得端口号以一定间隔增加或减小。
图12是表示图7的流程图的步骤S103中的信息处理装置10检测出冒泡数据包发送端口的位置用的处理的细节的流程图。这里,在对图12进行说明之前,说明中继服务器60中的信息处理装置等的地址的注册处理。另外,说明表示端口的位置的信息是端口号。设下面的说明中也相同。
信息处理装置10和信息处理装置30之间进行使用了中继服务器60的数据中继的情况下,信息处理装置10和信息处理装置30事先将地址等注册到中继服务器60中。具体的,例如若识别信息处理装置10的装置的信息即装置识别信息是“A001”,信息处理装置30的装置识别信息是“A002”,则信息处理装置10的通信部23将请求包含该装置识别信息“A001”的地址注册的数据包发送到中继服务器60。这样,该数据包由通信部61来接收后,传到地址信息存储部63中。地址信息存储部63取得该数据包的头中包含的地址、端口号和该数据包的有效载荷中包含的装置识别信息“A001”,并与装置识别信息“A001”相对应,将所取得的地址和端口号存储到地址信息存储部62中。信息处理装置30也相同,将请求地址注册的数据包发送到中继服务器60中。
图13是表示中继服务器60中存储的地址信息的一例的图。第一记录是对应于信息处理装置10的地址信息。这里,与信息处理装置10的装置识别信息“A001”相对应的地址“202.224.135.10”和端口号“12345”是通信处理装置2的地址和端口号。这是因为信息处理装置10经具有NAT功能的通信处理装置2来进行通信。第二记录是对应于信息处理装置30的地址信息。该地址信息的地址、端口号是信息处理装置30的地址和端口号。这是因为信息处理装置30不经具有NAT功能的通信处理装置来进行通信。
接着,说明图12的流程图。
(步骤S401)信息处理装置10的通信部23构成通信请求数据包,其包含将通信源的信息处理装置10的装置识别信息“A001”、通信目标的信息处理装置30的装置识别信息“A002”和发送发送目标信息发送的旨意的要求,将该通信请求数据包发送到中继服务器60。
(步骤S402)中继服务器60的通信部61在接收到该通信请求数据包后,取得该通信请求数据包中包含的通信目标的信息处理装置30的装置识别信息“A002”,并将该装置识别信息“A002”传到地址信息取得部64。这样,地址信息取得部64参考地址信息存储部62所存储的地址信息,取得对应于装置识别信息“A002”的地址、端口号,而传到通信部61。这样,通信部61将从信息处理装置10发送的通信请求数据包发送到从地址信息取得部64获得的地址、端口号。这样,进行通信请求数据包的传送。该通信请求数据包由信息处理装置30的通信部34来加以接收。
(步骤S403)信息处理装置30的通信部34在接收到从中继服务器60发送的通信请求数据包后,将发送发送目标信息的旨意的指示传到发送目标信息发送部31。这样,发送目标信息发送部31构成包含发送源的信息处理装置30的装置识别信息“A002”、通信目标的信息处理装置10的装置识别信息“A001”和包含发送目标信息的发送目标信息数据包,并将该发送目标信息数据包发送到中继服务器60。另外,发送目标信息包含信息处理装置30和信息处理装置10之间进行P2P通信中所用的发送端口的端口号、接收端口的端口号和信息处理装置30的地址。这里,所谓发送端口是指在P2P通信中,信息处理装置30向信息处理装置10发送数据包的端口。所谓发送端口是指P2P通信中,信息处理装置30接收从信息处理装置10发送的数据包的端口。
(步骤S404)中继服务器60的通信部61在接收到从信息处理装置30发送的发送目标信息数据包后,与步骤S402的情况相同,将该数据包传到通信处理装置2。通信处理装置2对该数据包进行地址转换,而发送到信息处理装置10。信息处理装置10的发送目标信息接收部11接收该发送目标信息数据包。
(步骤S405)检测用数据包发送部16、冒泡数据包发送部12分别发送检测用数据包和冒泡数据包。另外,检测用端口信息接收部20接收检测用端口信息。后面描述该处理的细节。
(步骤S406)冒泡数据包发送端口检测部21判断是否可检测出冒泡数据包发送端口的位置。并且,在可以检测出冒泡数据包发送端口的位置的情况下,进入到步骤S407,在不能的情况下,返回到步骤S405。
(步骤S407)冒泡数据包发送端口检测部21检测出冒泡数据包发送端口的位置。
(步骤S408)输出部22构成通信请求数据包,其包含通过冒泡数据包发送端口检测部21检测出的冒泡数据包发送端口的端口号、通信处理装置2的全球侧的地址、通信源的信息处理装置10的装置识别信息“A001”和通信端的信息处理装置30的装置识别信息“A002”,将该通信请求数据包发送到中继服务器60。
(步骤S409)中继服务器60的通信部61与步骤S402相同,将该通信请求数据包传送到信息处理装置30。该通信请求数据包由信息处理装置30的冒泡数据包发送端口接收部32来进行接收。
(步骤S410)通信部34构成响应数据包,其包含通信源的信息处理装置30的装置识别信息“A002”、通信目标的信息处理装置10的装置识别信息“A001”、和可确立P2P通信的环境齐备的旨意,将该响应数据包发送到中继服务器60中。
(步骤S411)中继服务器60的通信部61在接收到从信息处理装置30发送的响应数据包后,与步骤S404的情况相同,将该数据包传到通信处理装置2。通信处理装置2对该数据包进行地址变换,并发送到信息处理装置10。信息处理装置10的通信部23接收该响应数据包。
(步骤S412)通信部23构成确认数据包,其包含通信源的信息处理装置10的装置识别信息“A001”、通信目标的信息处理装置30的装置识别信息“A002”、和接受了响应数据包的旨意,将该确认数据包发送到中继服务器60。
(步骤S413)中继服务器60的通信部61与步骤S402相同,将该确认数据包传送到信息处理装置30。该确认数据包由信息处理装置30的通信部34来接收。
(步骤S414)回复数据包发送部33将回复数据包发送到由冒泡数据包发送端口接收部32接收的通信请求数据包中包含的地址、和冒泡数据包发送端口上。该回复数据包在通信处理装置2中进行地址变换,而发送到信息处理装置10。信息处理装置10的通信部23接收该回复数据包。之后,信息处理装置10的通信部23通过将数据包发送到发送目标信息接收部11所接收的发送目标信息中包含的地址和接收端口,而开始图7的步骤S104的P2P通信。
接着,使用具体例来说明本实施方式1的信息处理系统的动作。该具体例中,说明根据通信处理装置2的种类,来改变检测用数据包的发送方法的情况(具体例1);和与通信处理装置2的种类无关,而通过用规定的方法来发送检测用数据包,结果,对应于通信处理装置2种类的检测用数据包发送的情况(具体例2)。
具体例1在该具体例中,说明检测用数据包发送部16根据通过种类判断部15判断出的通信处理装置2的种类,来进行检测用数据包的发送的情况。
首先,使用图14的流程图来说明通信处理装置2的种类是锥型系统或端口重新使用的情况下的图12的流程图的步骤S405中的处理。
(步骤S501)检测用数据包发送部16从信息处理装置10的某个端口向第一服务器40发送检测用数据包。该检测用数据包由第一服务器40的检测用数据包接收部43来接收。
(步骤S502)第一服务器40的检测用端口信息发送部44从由检测用数据包接收部43接收的检测用数据包的头中取得检测用数据包的发送源的地址和端口号。并且,检测用端口信息发送部44构成包含该地址和端口号的检测用端口信息,并发送到检测用数据包接收部43所接收的检测用数据包的发送源地址、端口号。该检测用端口信息经通信处理装置2发送到信息处理装置10,并由检测用端口信息接收部20来加以接收。
(步骤S503)冒泡数据包发送部12从在步骤S501的检测用数据包的发送中所用的信息处理装置10的端口向发送目标信息接收部11所接收的发送目标信息所表示的地址、端口号发送冒泡数据包。
接着,使用图15的流程图来说明通信处理装置2的种类是对称系统的情况下的图12的流程图步骤S405中的处理。
(步骤S601)检测用数据包发送部16从信息处理装置10中新分配端口向第一服务器40发送检测用数据包。该检测用数据包由第一服务器40的检测用数据包接收部43来接收。
(步骤S602)第一服务器40的检测用端口信息发送部44从由检测用数据包接收部43接收的检测用数据包的头中取得检测用数据包的发送源的地址和端口号。并且,检测用端口信息发送部44构成包含其地址和端口号的检测用端口信息,并将其发送到检测用数据包接收部43所接收的检测用数据包的发送源的地址、端口号。该检测用端口信息经通信处理装置2发送到信息处理装置10,并由检测用端口信息接收部20加以接收。
(步骤S603)冒泡数据包发送部12从信息处理装置10中新分配的端口中向发送目标信息接收部11所接收的发送目标信息表示的地址、端口号发送冒泡数据包。
(步骤S604)检测用数据包发送部16从信息处理装置10中新分配的端口向第一服务器40发送检测用数据包。该检测用数据包由第一服务器40的检测用数据包接收部43来加以接收。
(步骤S605)第一服务器40的检测用端口信息发送部44与步骤S602相同,构成检测用端口信息,来加以发送。该检测用端口信息经通信处理装置2发送到信息处理装置10,并由检测用端口信息接收部20来加以接收。
另外,设连续进行步骤S601、S603、S604中的数据包的发送。即,设以尽可能短的时间间隔来进行步骤S601、S603、S604的检测用数据包和冒泡数据包的发送。这是因为在发送端口宽度检测用数据包期间,对从与通信处理装置2的本地侧相连的其他设备发送的数据包,在通信处理装置2中进行新的端口分配的情况下,不能准确进行冒泡数据包发送端口的位置的检测。
这样,在该具体例中,检测用数据包发送部16在通信处理装置2的种类是锥型系统的情况下,发送检测用数据包,使得检测用数据包发送端口与冒泡数据包发送端口相同,在通信处理装置2的种类是对称系统的情况下,发送检测用数据包,使得检测用数据包发送端口和冒泡数据包发送端口不同。
接着,对于确立该具体例中的信息处理装置之间的P2P通信的处理,分别说明通信处理装置2的种类是锥型系统的情况、对称系统的情况和端口重新使用的情况。
首先,说明通信处理装置2的种类是锥型系统的情况。种类判断数据包发送部13从信息处理装置10的端口号“10000”的端口(下面,将该端口称作“端口10000”。对于其他端口也相同)向第一服务器40的端口12000发送种类判断数据包(步骤S201)。设该种类判断数据包通过通信处理装置2的端口15000由第一服务器40的种类判断数据包接收部41来加以接收。种类判断端口信息发送部42根据由种类判断数据包接收部41进行的种类判断数据包的接收,来将包含表示端口号“15000”的种类判断端口信息的数据包发送到通信处理装置2的端口15000中(步骤S202)。包含该种类判断端口信息的数据包在通信处理装置2中进行地址转换,并由信息处理装置10的种类判断端口信息接收部14来加以接收。
接着,种类判断数据包发送部13从信息处理装置10的端口9500向第一服务器40的端口12000发送种类判断数据包(步骤S203)。设该种类判断数据包通过通信处理装置2的端口15001来由种类判断数据包接收部41加以接收。种类判断端口信息发送部42将包含表示端口号“15001”的种类判断端口信息的数据包发送到通信处理装置2的端口15001中(步骤S204)。包含该种类判断端口信息的数据包在通信处理装置2中进行地址变换后,由信息处理装置10的种类判断端口信息接收部14来加以接收。
接着,种类判断数据包发送部13从信息处理装置10的端口10000向第二服务器50的端口12001发送种类判断数据包(步骤S205)。设该种类判断数据包通过通信处理装置2的端口15000由第二服务器50的种类判断数据包接收部51来加以接收。种类判断端口信息发送部52将包含表示端口号“15000”的种类判断端口信息的数据包发送到通信处理装置2的端口15000中(步骤S206)。包含该种类判断端口信息的数据包在通信处理装置2中进行地址变换后,由信息处理装置10的种类判断端口信息接收部14来加以接收。之后,种类判断部15由于发送了种类判断数据包的信息处理装置10的端口号“10000”、“9500”和该种类判断数据包所通过的通信处理装置2的端口号“15000”“15001”不一致,但是向第一服务器40发送的种类判断数据包所通过的通信处理装置2的端口号“15000”和向第二服务器50发送的种类判断数据包所通过的通信处理装置2的端口号“15000”一致,所以判断为通信处理装置2的种类是锥型系统(步骤S207)。并且,种类判断部15将通信处理装置2的种类是锥型的旨意传到检测用数据包发送部16和冒泡数据包发送端口检测部21。
端口宽度检测用数据包发送部17从信息处理装置10的端口10001向第一服务器40的端口13000发送端口宽度检测用数据包(步骤S301)。设该端口宽度检测用数据包通过通信处理装置2的端口15002由第一服务器40的端口宽度检测用数据包接收部45接收。端口宽度检测用端口信息发送部46将包含表示端口号“15002”的端口宽度检测用端口信息的数据包发送到通信处理装置2的端口15001(步骤S302)。包含该端口宽度检测用端口信息的数据包由通信处理装置2进行地址转换后,由信息处理装置10的端口宽度检测用端口信息接收部18来加以接收。同样,设从信息处理装置10的端口10002、10003也分别发送端口宽度检测用数据包,从第一服务器40分别发送包含表示端口号“15003”“15004”的端口宽度检测用端口信息的数据包,并由端口宽度检测用端口信息接收部18来加以接收(步骤S303~S306)。之后,由于端口宽度检测用数据包所通过的通信处理装置2的端口号是15002、15003、15004,所以端口宽度检测部19检测出通信处理装置2的端口宽度“1”(步骤S307)。
接着,信息处理装置10的通信部23构成包含发送发送目标信息的旨意请求的通信请求数据包,并将该通信请求数据包发送到中继服务器60(步骤S401)。该通信请求数据包经中继服务器60,发送到信息处理装置30(步骤S402)。由于使用图12的流程图详细说明了数据中继,所以在该具体例中,省略与所中继的数据包中包含通信源的信息处理装置10的装置识别信息“A001”和通信目标的信息处理装置30的装置识别信息“A002”等的内容的说明、及中继服务器60中的数据中继的处理有关的说明。
信息处理装置30的通信部34接收从信息处理装置10发送的通信请求数据包,并传送将发送目标信息发送的旨意的指示,到发送目标信息发送部31。这样,发送目标信息发送部31构成发送目标信息数据包,该发送目标信息数据包包含发送目标信息,该发送目标信息包含预先设定的发送端口的端口号“20000”、接收端口的端口号“20001”、信息处理装置30的地址“202.132.10.6”,将所述发送目标信息数据包发送到中继服务器60(步骤S403)。该发送目标信息发送经中继服务器60,发送到信息处理装置10(步骤S404)。该发送目标信息数据包由信息处理装置10的发送目标信息接收部11来接收,将该发送目标信息数据包中包含的发送目标信息传到冒泡数据包发送部12和通信部23。冒泡数据包发送部12和通信部23将该发送目标信息在图中未示的记录介质中加以保持。
由于通过种类判断部15判断为通信处理装置2的种类是锥型系统,所以之后,检测用数据包发送部16等如图14的流程图所示那样进行冒泡数据包、检测用数据包的发送(步骤S405)。使用图16来说明该处理。
首先,检测用数据包发送部16从信息处理装置10的端口10100向第一服务器40的端口14000发送检测用数据包(步骤S501)。设对于该检测用数据包,在通信处理装置2中分配端口15005。该检测用数据包由第一服务器40的检测用数据包接收部43来加以接收,检测用端口信息发送部44从该检测用数据包的头中取得发送源的地址“202.224.135.10”和端口号“15005”,构成包含这些的检测用端口信息,构成包含该检测用端口信息的检测用端口信息数据包,而发送到检测用数据包接收部43所接收的检测用数据包的发送源的地址、端口号(步骤S502)。该检测用端口信息数据包经通信处理装置2的端口15005,发送到信息处理装置10,并由信息处理装置10的检测用端口信息接收部20来加以接收。并且,检测用端口信息从检测用端口信息接收部20传到冒泡数据包发送端口检测部21,并由冒泡数据包发送端口检测部21来保持检测用端口信息。
接着,冒泡数据包发送部12从发送了检测用数据包的信息处理装置10的端口10100发送冒泡数据包(步骤S503)。该冒泡数据包的发送目标是发送目标信息接收部11所接收的发送目标信息数据包中包含的信息处理装置30的地址、发送端口20000。
之后,由于通信处理装置2的种类是锥型系统,所以冒泡数据包发送端口检测部21判断为可以检测出冒泡数据包发送端口的位置(步骤S407),将检测用数据包所通过的通信处理装置2的端口15005作为冒泡数据包发送端口来进行检测(步骤S407)。
输出部22构成通信请求数据包,其包含通过冒泡数据包发送端口检测部21所检测出的冒泡数据包发送端口的端口号“15005”、和检测用端口信息接收部20所接收的检测用端口信息数据包中包含的通信处理装置2的全球侧的地址“202.224.135.10”,并经中继服务器60发送到信息处理装置30(步骤S408、S409)。该通信请求数据包由冒泡数据包发送端口接收部32来加以接收。并且,从信息处理装置30经中继服务器60向信息处理装置10发送包含可确立P2P通信环境齐备的旨意的响应数据包(步骤S410、S411)。该响应数据包由信息处理装置10的通信部23来加以接收,通信部23构成包含接收了响应数据包的旨意的确认数据包,并经中继服务器60发送到信息处理装置30(步骤S412、S413)。该确认数据包由信息处理装置30的通信部34来加以接收。然后,回复数据包发送部33从发送端口20000将回复数据包发送到由冒泡数据包发送端口接收部32接收的通信请求数据包中包含的地址和冒泡数据包发送端口(步骤S414)。该回复数据包经通信处理装置2的冒泡数据包发送端口1505发送到信息处理装置10,并由通信部23来加以接收。之后,信息处理装置10的通信部23通过向信息处理装置30的接收端口20001发送数据包,而在信息处理装置10和信息处理装置30之间,进行不经过中继服务器60的P2P通信(步骤S104)。
接着,说明通信处理装置2的种类是对称系统的情况。设种类判断数据包发送部13与通信处理装置2的种类是锥型系统的情况相同,将种类判断数据包发送到第一服务器40和第二服务器50。结果,从信息处理装置10的端口10000向第一服务器40发送的种类判断数据包通过了通信处理装置2的端口15000。另外,设从信息处理装置10的端口9500向第一服务器40发送的种类判断数据包通过了通信处理装置2的端口15001。从信息处理装置10的端口10000向第二服务器50发送的种类判断数据包通过了通信处理装置2的端口15002。由于从同一端口10000向第一服务器40和第二服务器50发送的种类判断数据包经通信处理装置2的不同的端口来分别进行发送,所以种类判断部15判断为通信处理装置2的种类是对称系统(步骤S207)。并且,将通信处理装置2的种类是对称系统的旨意传到检测用数据包发送部16和冒泡数据包发送端口检测部21。
另外,对于端口宽度检测用数据包发送部17发送端口宽度检测用数据包,并检测通信处理装置2的端口宽度的动作,与通信处理装置2的种类是锥型系统的情况相同,省略其说明。这时也设检测出通信处理装置2的端口宽度“1”。
接着,信息处理装置10的通信部23构成包含发送发送目标信息旨意的请求的通信请求数据包,并经中继服务器60发送到信息处理装置30(步骤S401、S402)。该通信请求数据包由信息处理装置30的通信部34来接收。根据该通信请求数据包的接收,发送目标信息发送部31构成发送目标信息数据包,该发送目标信息数据包包含发送目标信息,该发送目标信息包含预先设定的发送端口的端口号“20000”、接收端口的端口号“20001”和信息处理装置30的地址“202.132.10.6”,经中继服务器60将所述发送目标信息数据包发送到信息处理装置10(步骤S403、S404)。该发送目标信息数据包由信息处理装置10的发送目标信息接收部11来接收,并将该发送目标信息数据包中包含的发送目标信息传到冒泡数据包发送部12和通信部23。冒泡数据包发送部12和通信部23在图中未示的记录介质中保持该发送目标信息。
由于通过种类判断部15判断为通信处理装置2的种类是对称系统,所以之后,检测用数据包发送部16等如图15的流程图所示,进行冒泡数据包、检测用数据包的发送(步骤S405)。使用图17来说明该处理。
首先,检测用数据包发送部16从信息处理装置10的端口10100向第一服务器40的端口14000发送检测用数据包(步骤S601)。该端口10100是在信息处理装置10中新分配的端口。设在通信处理装置2中对该检测用数据包来分配端口15005。该检测用数据包由第一服务器40的检测用数据包接收部43来加以接收,检测用端口信息发送部44从该检测用数据包的头中取得发送源的地址“202.224.135.10”和端口号“15005”,并构成包含这些的检测用端口信息,构成包含该检测用端口信息的检测用端口信息数据包,并发送到检测用数据包接收部43所接收的检测用数据包的发送源地址、端口号(步骤S602)。该检测用端口信息数据包经通信处理装置2的端口15005,发送到信息处理装置10,并由信息处理装置10的检测用端口信息接收部20来加以接收。并且,该检测用端口信息从检测用端口信息接收部20传到冒泡数据包发送端口检测部21,该检测用端口信息由冒泡数据包发送端口检测部21来加以保持。
接着,冒泡数据包发送部12从在信息处理装置10中新分配的端口10101发送冒泡数据包(步骤S603)。该冒泡数据包的发送目标是发送目标信息接收部11所接收的发送目标信息数据包中包含的信息处理装置30的地址“202.132.10.6”和发送端口20000。设在通信处理装置2中对该冒泡数据包分配端口15006。
之后,检测用数据包发送部16再次从信息处理装置10中新分配的端口10102向第一服务器40的端口14000发送检测用数据包(步骤S604)。设在通信处理装置2中对该检测用数据包分配端口15007。该检测用数据包由第一服务器40的检测用数据包接收部43来接收,检测用端口信息发送部44从该检测用数据包的头中取得发送源的地址“202.224.135.10”和端口号“15007”,构成包含这些的检测用端口信息,构成包含该检测用端口信息的检测用端口信息数据包,而发送到检测用数据包接收部43接收的检测用数据包的发送源的地址、端口号(步骤S605)。该检测用端口信息数据包经通信处理装置2的端口15007,发送到信息处理装置10,并由信息处理装置10的检测用端口信息接收部20来加以接收。并且,将该检测用端口信息从检测用端口信息接收部20传到冒泡数据包发送端口检测部21,并由冒泡数据包发送端口检测部21来保持该检测用端口信息。
之后,冒泡数据包发送端口检测部21判断所保持的2个检测用端口信息表示的2个端口号的差是否是通过端口宽度检测部19检测出的通信处理装置2的端口宽度“1”的2倍。这时,由于是2倍,所以判断为可检测出冒泡数据包发送端口,并将冒泡数据包发送端口的端口号检测为检测用端口信息表示的2个端口“15005”、“15007”的正中的端口号“15006”(步骤S407)。之后,通过从信息处理装置10发送通信请求数据包,从信息处理装置30发送响应数据包,从信息处理装置10发送确认数据包,从信息处理装置30发送回复数据包,从而在信息处理装置10和信息处理装置30之间确立了P2P通信。确立了P2P通信的处理与通信处理装置2是锥型系统的情况的说明相同,故省略其说明。
另外,在上述的说明中,说明了从第一服务器40发送的检测用端口信息表示的2个端口号的差是由端口宽度检测部19检测出的通信处理装置2的端口宽度的2倍的情况,但是在不是2倍的情况下,例如,在一检测用端口信息表示的端口号是“15005”,另一检测用端口信息表示的端口号是“15008”的情况下,不能判断冒泡数据包通过了端口号“15006”的端口,还是通过了端口号“15007”的端口。因此,冒泡数据包发送端口检测部21判断为不能检测出冒泡数据包发送端口,并将再次发送冒泡数据包和检测用数据包的旨意的指示传到冒泡数据包发送部12和检测用数据包发送部16。并且,再次进行检测用数据包和冒泡数据包的发送。这里,在再次发送检测用数据包和冒泡数据包的情况下,设这些数据包经在通信处理装置2中新分配的端口来进行发送。因此,例如,只要从信息处理装置10中新分配的端口发送这些数据包即可。
接着,说明通信处理装置2的种类是端口重新使用的情况。设种类判断数据包发送部13与通信处理装置2的种类是锥型系统的情况相同,向第一服务器40和第二服务器50发送种类判断数据包。结果,从信息处理装置10的端口10000向第一服务器40发送的种类判断数据包通过了通信处理装置2的端口10000。另外,从信息处理装置10的端口9500向第一服务器40发送的种类判断数据包通过通信处理装置2的端口9500。设从信息处理装置10的端口10000向第二服务器50发送的种类判断数据包通过了通信处理装置2的端口10000。对于从信息处理装置10向第一服务器40发送的2个种类判断数据包,由于发送源的信息处理装置10的端口的端口号和该种类判断数据包所通过的通信处理装置2的端口的端口号分别相等,所以种类判断部15判断为通信处理装置2的种类是端口重新使用(步骤S207)。并且,将通信处理装置2的种类是端口重新使用的旨意传到检测用数据包发送部16和冒泡数据包发送端口检测部21。
另外,对于端口宽度检测用数据包发送部17发送端口宽度检测用数据包,并检测出通信处理装置2的端口宽度的动作,与通信处理装置2的种类是锥型系统的情况相同,故省略其说明。这时也设检测出了通信处理装置2的端口宽度“1”。这里,在通信处理装置2的种类是端口重新使用的情况下,在其端口分配标准的性质上,设通信处理装置2的端口宽度为“1”。
接着,信息处理装置10的通信部23构成包含将发送目标信息发送的旨意的请求的通信请求数据包,并经中继服务器60发送到信息处理装置30(步骤S401、S402)。由信息处理装置30的通信部34来接收该通信请求数据包。根据该通信请求数据包的接收,发送目标信息发送部31构成发送目标信息数据包,该发送目标信息数据包包含发送目标信息,该发送目标信息包含预先设定的发送端口的端口号“20000”、接收端口的端口号“20001”和信息处理装置30的地址“202.132.10.6”,经中继服务器60将所述发送目标信息数据包发送到信息处理装置10(步骤S403、S404)。该发送目标信息数据包由信息处理装置10的发送目标信息接收部11来接收,并将该发送目标信息数据包中包含的发送目标信息传到冒泡数据包发送部12和通信部23。冒泡数据包发送部12和通信部23在图中未示的记录介质中保持该发送目标信息。
由于通过种类判断部15判断为通信处理装置2的种类是端口重新使用,所以之后,检测用数据包发送部16等如图14的流程图所示进行冒泡数据包、检测用数据包的发送(步骤S405)。使用图18来说明该处理。
首先,检测用数据包发送部16从信息处理装置10的端口10100向第一服务器40的端口14000发送检测用数据包(步骤S501)。该检测用数据包由第一服务器40的检测用数据包接收部43来加以接收,检测用端口信息发送部44从该检测用数据包的头中取得发送源的地址“202.224.135.10”和端口号“10100”,构成包含这些的检测用端口信息,并构成包含该检测用端口信息的检测用端口信息数据包,而发送到检测用数据包接收部43所接收的检测用数据包的发送源的地址、端口号(步骤S502)。该检测用端口信息数据包经通信处理装置2的端口10100,发送到信息处理装置10,并由信息处理装置10的检测用端口信息接收部20来加以接收。并且,检测用端口信息从检测用端口信息接收部20传到冒泡数据包发送端口检测部21,并由冒泡数据包发送端口检测部21来保持检测用端口信息。
接着,冒泡数据包发送部12从同一端口10100中发送冒泡数据包(步骤S503)。该冒泡数据包的发送目标是发送目标信息接收部11所接收的发送目标信息数据包中包含的信息处理装置30的地址、发送端口20000。该冒泡数据包也与检测用数据包相同,通过通信处理装置2的端口10100。
之后,冒泡数据包发送端口检测部21判断从第一服务器40发送的检测用端口信息表示的端口号是否与发送了检测用数据包的信息处理装置10的端口的端口号是否相等。这时,由于两者相等,所以判断为可以检测出冒泡数据包发送端口的位置(步骤S406)。并且,冒泡数据包发送端口检测部21将检测用数据包所通过的通信处理装置2的端口10100作为冒泡数据包发送端口来进行检测(步骤S407)。之后,到信息处理装置10和信息处理装置30之间开始P2P通信为止的处理与通信处理装置2是锥型系统的情况下的说明相同,省略其说明。
冒泡数据包发送端口检测部21在从第一服务器40发送的检测用端口信息表示的端口号与发送了检测用数据包的信息处理装置10的端口的端口号不同的情况下,判断为不能进行冒泡数据包发送端口的位置的检测,并把再次进行检测用数据包的发送、和冒泡数据包的发送的旨意的指示传到冒泡数据包传送部12和检测用数据包发送部16。
这样,检测用数据包发送部16在通信处理装置2的种类是端口重新使用的情况下,在发送检测用数据包的信息处理装置10的端口(将该称作称作“第一端口”)的位置、和该检测用数据包通过的通信处理装置2的端口(将该端口称作“第二端口”)的位置一致为止,从与到此为止检测用数据包的发送中使用的信息处理装置10的端口不同的端口来发送检测用数据包。并且,冒泡数据包发送部12从第一端口的位置和第二端口的位置一致的情况下的第一端口发送冒泡数据包。
即,如在该具体例中所说明的,在第一端口的位置和第二端口的位置相等为止,可以重复检测用数据包的发送和冒泡数据包的发送,或在第一端口的位置和第二端口的位置相等为止,仅重复检测用数据包的发送,在两者变为相等后,从发送了两者相等的检测用数据包的信息处理装置10的端口发送冒泡数据包。
这里,简单说明为什么在通信处理装置2的种类是端口重新使用的情况下,发送检测用数据包的信息处理装置10的端口的端口号和该检测用数据包所通过的通信处理装置2的端口的端口号不同。如图19所示,设在信息处理装置2的本地侧存在信息处理装置10之外的信息处理装置3的情况下,在信息处理装置10从端口10100发送检测用数据包之前,信息处理装置3从端口10100发送了其中一个数据包。这时,对于从该信息处理装置3发送的数据包,在通信处理装置2中分配了端口10100。因此,在信息处理装置10发送了检测用数据包时,由于已经使用了通信处理装置2中的端口10100,所以通信处理装置2将其他端口,例如端口号10101分配给从信息处理装置10发送的检测用数据包。因此,这种情况下,即使信息处理装置2的种类是端口重新使用,发送检测用数据包的信息处理装置10的端口的端口号和该检测用数据包通过的通信处理装置2的端口的端口号不同。
另外,图19中说明的通信处理装置2的发送端口分配标准是一例。例如,还可以有在从信息处理装置3的端口10100向第一服务器40的端口14000发送了其中一个数据包的情况下,对从信息处理装置10的端口10100向第一服务器40的端口14000发送的检测用数据包分配通信处理装置2的端口101000之外的端口,但在从信息处理装置3的端口10100向第一服务器40的端口14000之外的端口,或第一服务器40之外的装置发送了其中一个数据包的情况下,还可以对从信息处理装置10的端口10100发送的检测用数据包,分配通信处理装置2的端口10100的所谓的发送端口分配标准。这时,在信息处理装置3从信息处理装置3的端口10100向第一服务器40的端口14000发送了数据包的情况下,对从信息处理装置10的端口10100发送的检测用数据包在通信处理装置2中分配端口10100之外的端口。
另外,在该具体例中,在通信处理装置2的种类是锥型系统的情况下,说明了检测用数据包发送部16在发送冒泡数据包之前,使用与发送冒泡数据包的信息处理装置10的端口相同的端口来发送检测用数据包,但是检测用数据包发送部16可在发送冒泡数据包后,发送检测用数据包。即,检测用数据包发送部16在通信处理装置2的种类是锥型系统的情况下,在冒泡数据包的发送之前或之后,可以使用与信息处理装置10中的发送了冒泡数据包的端口相同的端口来发送检测用数据包。
另外,在该具体例中,说明了在通信处理装置2的种类是锥型系统的情况下,连续发送冒泡数据包和检测用数据包,但是也可时间上分离冒泡数据包的发送时间和检测用数据包的发送时间。其中,通过通信处理装置2,例如,在从信息处理装置10的端口10100发送的检测用数据包通过端口15005后,经过规定的时间,则之后,对从信息处理装置10的端口10100发送的数据包,分配端口15005之外的端口。将该规定的时间称作端口维持时间。因此,即使在时间上分离冒泡数据包的发送时间和检测用数据包的发送时间的情况下,最好在该端口维持时间以内。
另外,在该具体例中,说明了检测用数据包发送部16在通信处理装置2的种类是对称系统的情况下,在冒泡数据包的发送之前和发送之后,连续发送检测用数据包的情况,但是也可使检测用数据包的发送和冒泡数据包的发送不连续。例如,如图20所示,信息处理装置10以检测用数据包、冒泡数据包、其他的数据包和检测用数据包的顺序连续发送,若可知道检测用数据包所通过的通信处理装置2的端口的端口号和通信处理装置2的端口宽度,则可以检测出冒泡数据包发送端口的位置。这里,所谓“其他的数据包”,是指不是检测数据包,也可不是冒泡数据包的数据包,而是与信息处理装置10或信息处理装置10连接的图中未示的信息处理装置以某一个目的地发送的数据包。例如,图20中,端口P301的端口号是“15005”,端口P302的端口号是“15008”,通信处理装置2的端口宽度是“1”,则可以将冒泡数据包发送端口P303的端口号检测为“15006”。
另外,在该具体例中,说明了检测用数据包发送部16发送检测用数据包,使得在通信处理装置2的种类是锥型系统的情况下,检测用数据包所通过的通信处理装置2的端口与冒泡数据包发送端口相同,在通信处理装置2的种类是对称系统的情况下,使检测用数据包通过的通信处理装置2的端口与冒泡数据包通信端口不同的情况,但是在通信处理装置2的种类是锥型系统的情况下,检测用数据包发送部16也可发送2以上的检测用数据包,该2个以上的检测用数据包中,至少一个与检测用数据包有关的检测用数据包发送端口与冒泡数据包发送端口不同。即,检测用数据包发送部16可发送检测用数据包,使得在通信处理装置2的种类是锥型系统的情况下,至少一个检测用数据包通过的通信处理装置2的端口与冒泡数据包发送端口相同,在通信处理装置2的种类是对称系统的情况下,检测用数据包通过的通信处理装置2的端口与冒泡数据包发送端口不同。
另外,在该具体例中,说明了在通信处理装置2的种类是对称系统时,使用信息处理装置10中新分配的端口来发送检测用数据包的情况,但是由于在通信处理装置2的种类是锥型系统时,通过使2个检测用数据包的发送目标的地址和端口号分别不同,该2个检测用数据包的发送中所分配的通信处理装置2的端口不同,所以可以从信息处理装置10的同一端口发送2个检测用数据包,并使该2个检测用数据包的发送目标的地址和端口号分别不同。这时,设除第一服务器40之外,还存在接收检测用数据包的服务器等。
具体例2在该具体例中,说明通过以规定的方法来发送检测用数据包,而与通信处理装置2的种类无关,结果,为对应于通信处理装置2的种类的检测用数据包的发送的情况。即,检测用数据包发送部16在冒泡数据包的发送前后,从分别不同的端口发送检测用数据包。其中,设检测用数据包发送部16从与冒泡数据包发送部12发送冒泡数据包的端口相同的端口发送冒泡数据包的发送之前发送的检测用数据包。首先,使用图21的流程图来说明图12的流程图中的步骤S405中的处理。
(步骤S701)检测用数据包发送部16从信息处理装置10中新分配的端口向第一服务器40发送检测用数据包。该检测用数据包由第一服务器40的检测用数据包接收部43来接收。
(步骤S702)第一服务器40的检测用端口信息发送部44从检测用数据包接收部43所接收的检测用数据包的头中取得检测用数据包的发送源的地址和端口号。并且,检测用数据包信息发送部44构成包含该地址和端口号的检测用端口信息,并发送到检测用数据包发送部43所接收的检测用数据包的发送源地址、端口号。该检测用端口信息经通信处理装置2发送到信息处理装置10,并由检测用端口信息接收部20来加以接收。
(步骤S703)冒泡数据包发送部12从步骤S701中发送检测用数据包的信息处理装置10的端口向发送目标信息接收部11所接收的发送目标信息所表示的地址、端口号发送冒泡数据包。
(步骤S704)检测用数据包发送部16从信息处理装置10中新分配的端口向第一服务器40发送检测用数据包。即,从与步骤S701的检测用数据包的发送中所用的信息处理装置10的端口不同的端口中发送检测用数据包。该检测用数据包由第一服务器40的检测用数据包接收部43来加以接收。
(步骤S705)第一服务器40的检测用端口信息发送部44与步骤S702相同,构成检测用端口信息,来加以发送。该检测用端口信息经通信处理装置2发送到信息处理装置10,并由检测用端口信息接收部20来加以接收。
接着,参考图22来说明在该具体例中的信息处理装置之间确立P2P通信的处理。另外,对于判断通信处理装置2的种类的处理,与具体例1相同,而省略其说明。另外,在该具体例中,说明将步骤S301~S307的检测出端口宽度的处理、步骤S405的发送冒泡数据包、检测用数据包的处理一体化来进行的情况。因此,首先,在信息处理装置10和信息处理装置30之间,经中继服务器60来进行通信,从信息处理装置30向信息处理装置10发送发送目标信息(步骤S401~S404)。该处理与具体例1相同,而省略其说明。发送目标信息的内容也与具体例1相同。另外,首先说明通信处理装置2的种类是锥型系统或对称系统的情况,最后,说明通信处理装置2的种类是端口重新使用系统的情况。
首先,端口宽度检测用数据包发送部17从信息处理装置10的端口10100向第一服务器40的端口14000发送端口宽度检测用数据包(步骤S301)。设该端口宽度检测用数据包通过通信处理装置2的端口15002由第一服务器40的端口宽度检测用数据包接收部45来加以接收。端口宽度检测用端口信息发送部46将包含表示端口号“15002”的端口宽度检测用端口信息的数据包发送到通信处理装置2的端口15001(步骤S302)。包含该端口宽度检测用端口信息的数据包通过通信处理装置2进行地址变换后,由信息处理装置10的端口宽度检测用端口信息接收部18来加以接收。同样,还从信息处理装置10的端口10002发送端口宽度检测用数据包,从第一服务器40发送包含表示端口号“15003”的端口宽度检测用端口信息的数据包,并由端口宽度检测用端口信息接收部18来加以接收(步骤S303、S304)。
之后,检测用数据包发送部16从信息处理装置10的端口10102向第一服务器40的端口14000发送检测用数据包(步骤S701)。另外,该检测用数据包还兼为端口宽度检测用数据包。设对该检测用数据包,在通信处理装置2中分配端口15004。该检测用数据包由第一服务器40的检测用数据包接收部43来接收,检测用端口信息发送部44从该检测用数据包的头中取得发送源的地址“202.224.135.10”和端口号“15004”,构成包含这些的检测用端口信息,并构成包含该检测用端口信息的检测用端口信息数据包,而发送到检测用数据包接收部43所接收的检测用数据包的发送源的地址、端口号(步骤S702)。该检测用端口信息数据包经通信处理装置2的端口15004,发送到信息处理装置10,并由信息处理装置10的检测用端口信息接收部20来加以接收。检测用端口信息接收部20将在该接收的检测用端口信息数据包中包含的端口号“15004”传到端口宽度检测用端口信息接收部18。结果,端口宽度检测部19可以知道端口宽度检测用数据包所通过的通信处理装置2的端口号“15002”、“15003”、“15004”,而检测出通信处理装置2的端口宽度“1”(步骤S307)。另外,检测用端口信息从检测用端口信息接收部20传到冒泡数据包发送端口检测部21中,检测用端口信息由冒泡数据包发送端口检测部21来进行保持。
冒泡数据包发送部12在发送了检测用数据包之后,立即从发送检测用数据包的信息处理装置10的端口10102发送冒泡数据包(步骤S703)。该冒泡数据包的发送目标是发送目标信息接收部11所接收的发送目标信息数据包中包含的信息处理装置30的地址和发送端口20000。另外,设对该冒泡数据包,分配通信处理装置2的端口P401。该端口P401在通信处理装置2的种类是锥型系统的情况下,是端口15004,在通信处理装置2的种类是对称系统的情况下,是端口15005。
之后,检测用数据包发送部16从信息处理装置10的端口10103向第一服务器40的端口14000发送检测用数据包(步骤S704)。设对该检测用数据包在通信处理装置2中分配端口P402。该端口P402在通信处理装置2的种类是锥型系统的情况下,是端口15005,在通信处理装置2的种类是对称系统的情况下,是端口15006。该检测用数据包由第一服务器40的检测用数据包接收部43来加以接收,检测用端口信息发送部44从该检测用数据包的头中取得发送源的地址“202.224.135.10”和端口P402的端口号,构成包含这些的检测用端口信息,构成包含该检测用端口信息的检测用端口信息数据包,并发送到检测用数据包接收部43所接收的检测用数据包的发送源的地址、端口号(步骤S705)。该检测用端口信息数据包经通信处理装置2的端口P402,发送到信息处理装置10,并由信息处理装置10的检测用端口信息接收部20来加以接收。并且,检测用端口信息从检测用端口信息接收部20传到冒泡数据包发送端口检测部21中,检测用端口信息由冒泡数据包发送端口检测部21来加以保持。
冒泡数据包发送端口检测部21在通过种类判断部15判断出的通信处理装置2的种类是锥型系统的情况下,判断为可以检测出冒泡数据包发送端口的位置(步骤S406),并将端口15004作为冒泡数据包发送端口来加以检测(步骤S407)。
另一方面,通过种类判断部15判断出的通信处理装置2的种类是对称系统的情况下,冒泡数据包发送端口检测部21判断端口P402的端口号和端口号15004的差是否是端口宽度“1”的2倍,若是2倍,判断为可检测出冒泡数据包发送端口,若不是2倍,判断为不能检测出冒泡数据包发送端口,并进行指示,使得将冒泡数据包和检测用数据包分别再次发送到冒泡数据包发送部12和检测用数据包发送部16,重复进行冒泡数据包和检测用数据包的发送。这时,若端口P402的端口号是“15006”,则冒泡数据包发送端口检测部21判断为可检测出冒泡数据包发送端口,并将端口15005作为冒泡数据包发送端口来进行检测(步骤S407)。
在通信处理装置2的种类是端口重新使用的情况下,如图23所示,发送数据包的信息处理装置10的端口号和该数据包通过的通信处理装置2的端口号相等。结果,与通信处理装置2的种类是锥型系统的情况相同,将端口10102作为冒泡数据包发送端口来加以检测(步骤S407)。
之后,到信息处理装置10和信息处理装置30之间开始P2P通信为止的处理与具体例1的说明相同,而省略其说明。
另外,在该具体例中,说明了检测用数据包发送部16从与冒泡数据包发送部12发送冒泡数据包的端口相同的端口中发送冒泡数据包的发送之前发送的检测用数据包的情况,但是,检测用数据包发送部16也可从与冒泡数据包发送部12发送冒泡数据包的端口相同的端口中发送在冒泡数据包的发送之后发送的检测用数据包。这时,设从与冒泡数据包发送部12发送冒泡数据包的端口不同的端口中发送在冒泡数据包的发送之前发送的检测用数据包。这样,检测用数据包发送部16可以在冒泡数据包的发送之前和发送之后,从各自不同的端口中发送检测用数据包,并从与冒泡数据包发送部12发送冒泡数据包的端口相同的端口中发送另一个检测用数据包。
在该具体例中,说明了信息处理装置30的发送端口和接收端口不同的情况,但是发送端口和接收端口也可以是相同的端口。
在该具体例中,说明了在通信处理装置2的种类是对称系统的情况下,通过在2个检测用数据包发送端口中插入冒泡数据包发送端口,来严格进行检测的情况,但是其是一例,例如在通信处理装置2的种类是对称系统的情况下,也可以是将检测用数据包发送到冒泡数据包的前后的其中之一,并将从该检测用数据包所通过的检测用数据包发送端口仅离开端口宽度的端口的位置,作为冒泡数据包发送端口的位置来进行检测。例如,在图17所示的图中,也可不发送第二次的检测用数据包,而将从第一次的检测用数据包所通过的端口1505仅离开端口宽度“1”的端口15006,作为冒泡数据包发送端口来进行检测。
如上所述,根据本实施方式1的信息处理系统,通过根据通信处理装置2的种类,来发送检测用数据包,使得检测用数据包发送端口和冒泡数据包发送端口相同或不同,从而可以正确检测出冒泡数据包发送端口的位置,而与通信处理装置2的种类无关。结果,可以使用表示该检测出的冒泡数据包发送端口的位置的信息,来可靠确立信息处理装置之间的P2P通信。
本实施方式1中,说明了与通信处理装置2的种类无关,而如图12的流程图所示,发送通信请求数据包、冒泡数据包等的情况,但是也可根据通信处理装置2的种类,来改变通信请求数据包、冒泡数据包等的发送顺序。例如,在通信处理装置2的种类是对称系统的情况下,也可如图12所示发送数据包,在通信处理装置2的种类是锥型系统的情况下,也可如图24的流程图所示发送数据包。下面说明图24的流程图。
(步骤S801)信息处理装置10的检测用数据包发送部16向第一服务器40发送检测用数据包。并且,检测处理装置10的检测用端口信息接收部20接收从第一服务器40发送的检测用端口信息。
(步骤S802)冒泡数据包发送端口检测部21根据检测用端口信息接收部20所接收的检测用端口信息,来将检测用端口信息表示的检测用数据包发送端口作为冒泡数据包发送端口来加以检测。
(步骤S803)输出部22与步骤S401相同,将通信请求数据包发送到中继服务器60。但是,该通信请求数据包中包含表示在步骤S802中检测出的冒泡数据包发送端口的位置的冒泡数据包发送端口信息。
(步骤S804)中继服务器60与步骤S402相同,传送通信请求数据包。
(步骤S805)信息处理装置30的通信部34与步骤S403相同,构成发送目标信息数据包,并传到中继服务器60。
(步骤S806)中继服务器60与步骤S404相同,将发送目标信息数据包经通信处理装置2传送到信息处理装置10。
(步骤S807)冒泡数据包发送部12从与步骤S801中发送了检测用数据包的信息处理装置10的端口相同的端口中发送冒泡数据包。该冒泡数据包的发送目标是从信息处理装置30发送的发送目标信息表示的地址和发送端口。
(步骤S808)通信部23构成包含可确立P2P通信的环境齐备的旨意的响应数据包,并将该响应数据包发送到中继服务器60。
(步骤S809)中继服务器60将该响应数据包传送到信息处理装置30。
(步骤S810)回复数据包发送部33将回复数据包发送到从信息处理装置10发送的冒泡数据包发送端口信息表示的地址、冒泡数据包发送端口中。之后,在信息处理装置10和信息处理装置30之间,开始P2P通信的如本实施方式1中所说明的。
这样,在冒泡数据包、检测数据包的发送的顺序和方法中有某种程度的任意性。因此,在本实施方式1和上述具体例中说明的之外的方法中,若可根据通信处理装置2的种类,来适当检测出冒泡数据包发送端口的位置,则可以使用该方法。
(实施方式2)参考附图来说明本发明的实施方式2的信息处理系统等。在本实施方式2的信息处理系统等不是信息处理装置中,而是在服务器中进行通信处理装置的种类的判断、端口宽度的检测和冒泡数据包发送端口的检测。
本实施方式2的信息处理装置的结构除了实施方式1的图1中,代替信息处理装置10、第一服务器40、第二服务器50,而分别具有信息处理装置70、第一服务器80和第二服务器90之外,其他与实施方式1的图1相同,省略信息处理装置70、第一服务器80和第二服务器90之外的说明。
图25是表示本实施方式2的信息处理装置70的结构框图。图25中,本实施方式2的信息处理装置70包括发送目标信息接收部11、冒泡数据包发送部12、种类判断数据包发送部13、检测用数据包发送部16、端口宽度检测用数据包发送部17、通信部23、种类信息接收部71、重新发送指示接收部72、冒泡数据包发送端口接收部73和输出部74。另外,种类信息接收部71、重新发送指示接收部72、冒泡数据包发送端口接收部73和输出部74之外的结构和动作除由第一服务器80进行通信处理装置2的种类的判断、通信处理装置2的端口宽度的检测、冒泡数据包发送端口的检测,除此之外与实施方式1相同,省略其说明。
种类信息接收部71接收表示通信处理装置2的种类的信息即种类信息。该种类信息是表示例如通信处理装置2的种类是锥型系统、对称系统、还是端口重新使用的信息。本实施方式2中,检测用数据包发送部16根据该种类信息表示的通信处理装置2的种类,来进行检测用数据包的发送。即,检测用数据包发送部16根据种类信息表示的通信处理装置2的种类,来改变检测用数据包的发送方法。接收信息接收部71例如可以接收从输入设备(例如键盘和鼠标、触摸屏等)输入的种类信息,也可接收经有线或无线的通信线路发送的种类信息,也可接收从规定的记录介质(例如光盘和磁盘、半导体存储器等)读出的种类信息。本实施方式2中,说明了种类信息接收部71接收的种类信息是根据种类判断数据包发送部13发送的种类判断数据包判断出的结果的情况,但是并不限于此,种类信息接收部71接收的种类信息也可根据例如通信处理装置2的手册(manual)等通过用户判断出的结果。另外,本实施方式2中,种类信息接收部71经通信线路接收从第一服务器80发送的种类信息。另外,种类信息接收部71可包含或不包含进行接收用的设备(例如调制解调器和网卡等)。另外,种类信息接收部71可通过硬件来实现,或也可通过驱动规定的设备的驱动器等的软件来实现。
重新发送指示接收部72接收重新发送指示。这里,所谓重新发送指示是指重新发送冒泡数据包和检测用数据包的旨意的指示。冒泡数据包发送部12、检测用数据包发送部16在重新发送指示接收部72接收了重新发送指示的情况下,分别重新发送冒泡数据包和检测用数据包。冒泡数据包发送部12和检测用数据包发送部16在重新发送冒泡数据包和检测用数据包的情况下,与实施方式1的说明相同,经在通信处理装置2中新分配的端口来发送这些数据包。例如,冒泡数据包发送部12和检测用数据包发送部16通过分别从在信息处理装置70中新分配的端口发送冒泡数据包和检测用数据包,而经在通信处理装置2中新分配的端口来发送这些数据包。重新发送指示接收部72可以例如接收从输入设备(例如键盘和鼠标、触摸屏等)输入的重新发送指示,也可接收经有线或无线的通信线路发送的重新发送指示。本实施方式2中,重新发送指示接收部72接收经通信线路发送的重新发送指示。另外,重新发送指示接收部72可包含或不包含进行接收用的设备(例如调制解调器和网卡等)。另外,重新发送指示接收部72可通过硬件来实现,或也可通过驱动规定的设备的驱动器等的软件来实现。
冒泡数据包发送端口接收部73接收冒泡数据包发送端口信息。这里,所谓冒泡数据包发送端口信息是指表示根据检测用数据包发送部16发送的检测用数据包检测出的冒泡数据包发送端口的位置的信息。冒泡数据包发送端口接收部73例如可以接收例如从输入设备(例如键盘和鼠标、触摸屏等)输入的冒泡数据包发送端口信息,也可接收经有线或无线的通信线路发送的冒泡数据包发送端口信息,也可接收从规定的记录介质(例如光盘和磁盘、半导体存储器等)读出的冒泡数据包发送端口信息。本实施方式2中,冒泡数据包发送端口接收部73接收经通信线路发送的冒泡数据包发送端口信息。另外,冒泡数据包发送端口接收部73可包含或不包含进行接收用的设备(例如调制解调器和网卡等)。另外,冒泡数据包发送端口接收部73可通过硬件来实现,或也可通过驱动规定的设备的驱动器等的软件来实现。
输出部74输出冒泡数据包发送端口接收部73所接收的冒泡数据包发送端口信息。这里,该输出可以是例如向显示设备(例如CRT或液晶显示器等)的显示,可以是经向规定的设备的通信线路的发送,可以是基于打印机的打印,可以是基于扬声器的声音输出,也可以是向记录介质的存储。本实施方式2中,输出部74经通信线路来发送冒泡数据包发送端口信息。另外输出部74可包含或不包含进行输出的设备(例如显示设备和打印机等)。另外,输出部74可通过硬件来实现,或也可通过驱动这些设备的驱动器等的软件来实现。
另外,在发送目标信息接收部11、冒泡数据包发送部12、种类判断数据包发送部13、检测用数据包发送部16、端口宽度检测用数据包发送部17、通信部23、种类信息接收部71、重新发送指示接收部72、冒泡数据包发送端口接收部73、输出部74的任意2个以上的要素具有与通信有关的设备的情况下,这些可以是同一单元,或也可以是各自不同的单元。
图26是表示基于本发明的实施方式2的第一服务器80和第二服务器90的结构框图。图26中,本实施方式2的第一服务器80包括种类判断数据包接收部41、检测用数据包接收部43、端口宽度检测用数据包接收部45、种类判断部81、种类信息发送部82、冒泡数据包发送端口检测部83、重新发送指示发送部84、冒泡数据包发送端口发送部85和端口宽度检测部86。另外,种类判断数据包接收部41、检测用数据包接收部43、端口宽度检测用数据包接收部45的结构和动作与实施方式1相同,而省略其说明。
种类判断部81与实施方式1的种类判断部15相同,根据种类判断数据包接收部41所接收的种类判断数据包,来判断通信处理装置2的种类。这里,所谓“根据种类判断数据包来判断通信处理装置2的种类”是指,使用种类判断数据包所通过的通信处理装置2的端口的位置来判断通信处理装置2的种类。
种类信息发送部82经通信处理装置2将表示种类判断部81所判断出的通信处理装置2的种类的信息即种类信息发送到信息处理装置70。另外,种类信息发送部82可包含或不包含进行发送用的发送设备(例如调制解调器和网卡等)(这时,在种类信息发送部82和通信线路1之间存在图中未示的发送设备)。另外,种类信息发送部82可以通过硬件来实现,或也可通过驱动发送设备的驱动器等的软件来实现。
冒泡数据包发送端口检测部83与实施方式1的冒泡数据包发送端口检测部21相同,根据检测用数据包接收部43所接收的检测用数据包,来检测出冒泡数据包发送端口的位置。这里,所谓“根据检测用数据包检测出冒泡数据包发送端口的位置”是指,使用检测用数据包所通过的通信处理装置2的端口的位置检测出冒泡数据包发送端口的位置。冒泡数据包发送端口检测部83根据种类判断部81判断出的通信处理装置2的种类,来进行该冒泡数据包发送端口位置的检测。
重新发送指示发送部84在冒泡数据包发送端口检测部83不能适当检测出冒泡数据包发送端口的位置的情况下,经通信处理装置2将重新发送指示发送到信息处理装置70。另外,重新发送指示发送部84可包含或不包含进行发送用的发送设备(例如调制解调器和网卡等)(这时,在重新发送指示发送部84和通信线路1之间存在图中未示的发送设备)。另外,重新发送指示发送部84可以通过硬件来实现,或也可通过驱动发送设备的驱动器等的软件来实现。
冒泡数据包发送端口发送部85经通信处理装置2向信息处理装置70发送表示冒泡数据包发送端口检测部83所检测出的冒泡数据包发送端口的位置的冒泡数据包发送端口信息。另外,冒泡数据包发送端口发送部85可包含或不包含进行发送用的发送设备(例如调制解调器和网卡等)(这时,在冒泡数据包发送端口发送部85和通信线路1之间存在图中未示的发送设备)。另外,冒泡数据包发送端口发送部85可以通过硬件来实现,或也可通过驱动发送设备的驱动器等的软件来实现。
端口宽度检测部86与实施方式1的端口宽度检测部19相同,根据端口宽度检测用数据包接收部45所接收的端口宽度检测用数据包,来检测出通信处理装置2的端口宽度。这里,所谓“根据端口宽度检测用数据包来检测出通信处理装置2的端口宽度”是指使用端口宽度检测用数据包所通过的通信处理装置2的端口的位置来检测出通信处理装置2的端口宽度的含义。
另外,种类判断数据包接收部41、检测用数据包接收部43、端口宽度检测用数据包接收部45、种类信息发送部82、重新发送指示发送部84、冒泡数据包发送端口发送部85的任意的2个以上的要素具有与通信有关的设备的情况下,这些可以是同一单元或不同的单元。
本实施方式2的第二服务器90包括种类判断数据包接收部51。另外,种类判断数据包接收部51的构成和动作与实施方式1相同,省略其说明。设种类判断数据包接收部51将所接收的种类判断数据包原样传到第一服务器80的种类判断部81。第二服务器90可包括将种类判断数据包接收部51所接收的种类判断数据包传到第一服务器80用的结构要素,例如发送部等。在通过发送部将种类判断数据包发送到第一服务器80的情况下,为了清楚种类判断数据包所通过的通信处理装置2的端口的位置,例如构成数据包,并发送到第一服务器80中,所述数据包在有效载荷中原样包含种类判断数据包接收部51所接收的种类判断数据包。
接着,使用流程图来说明本实施方式2的信息处理系统的动作。图27是表示本实施方式2的信息处理装置70的动作的流程图。
(步骤S901)种类判断数据包发送部13将多种判断数据包经通信处理装置2发送到第一服务器80。后面描述该处理的细节。
(步骤S902)种类信息接收部71判断是否接收了种类信息。并且,在接收了种类信息的情况下,进入到步骤S903,在不是的情况下,重复步骤S902的处理,直至接收了种类信息。
(步骤S903)端口宽度检测用数据包发送部17经通信处理装置2向第一服务器80发送端口宽度检测用数据包。后面描述该处理的细节。
(步骤S904)信息处理装置7进行冒泡数据包和检测用数据包的发送等。结果,在第一服务器80中检测出冒泡数据包发送端口的位置,而从第一服务器80得到冒泡数据包发送端口信息。并且,信息处理装置70进行确立与信息处理装置30的P2P通信的处理。后面描述该处理的细节。
(步骤S905)信息处理装置70进行信息处理装置30的P2P通信。
另外,在图27的流程图中,不管步骤S901、S902的发送种类判断数据包并接收种类信息的处理、和步骤S903的发送端口宽度检测用数据包的处理的顺序。
图28是表示图27的流程图的步骤S901中的信息处理装置70发送种类判断数据包,并接收种类信息的处理的细节的流程图。另外,步骤S201、S203、S205中,信息处理装置70的种类判断数据包发送部13发送3个种类判断数据包的处理与实施方式1的图8相同,而省略其说明。
(步骤S1001)第二服务器90的种类判断数据包接收部51将所接收的种类判断数据包传到第一服务器80的种类判断部81。
(步骤S1002)第一服务器80的种类判断部81根据种类判断数据包接收部41所接收的2个种类判断数据包和第二服务器90的种类判断数据包接收部51所接收的1个种类判断数据包所通过的通信处理装置2的端口的位置,来判断通信处理装置2的种类。另外,该判断的方法与实施方式1中的使用了图9的说明相同,而省略其说明。
(步骤S1003)种类信息发送部82将表示种类判断部81所判断出的通信处理装置2的种类的种类信息发送到从信息处理装置70发送的任意一个种类判断数据包的发送源。该种类信息由信息处理装置70的种类信息接收部71来接收。
另外,判断通信处理装置2的种类的方法并不限于图28所示的方法,也可通过其他的方法来进行通信处理装置2的种类的判断。例如,与发送端口分配标准一起,还进行判断接收滤波标准的处理。
图29是表示图27的流程图的步骤S903中的信息处理装置70发送端口宽度检测用数据包的处理的细节的流程图。另外,步骤S301、S303、S305中,信息处理装置70的端口宽度检测用数据包发送部17发送3个端口宽度检测用数据包的处理,与实施方式1的图10相同,省略其说明。
(步骤S1101)端口宽度检测部86根据端口宽度检测用数据包接收部所接收的端口宽度检测用数据包所通过的通信处理装置2的端口的位置,来检测出通信处理装置2的端口宽度。该检测的方法与实施方式1中的使用了图11的说明相同,而省略其说明。
检测出通信处理装置2的端口宽度的方法并不限于图29所示的方法,也可通过其他的方法来进行通信处理装置2的种类的判断。例如,信息处理装置70可以发送4个以上的端口宽度检测用数据包,或也可仅发送2个端口宽度检测用数据包。
另外,在通信处理装置2的种类是端口重新使用或锥型系统的情况下,也可不进行检测端口宽度的处理。
图30是表示图27的流程图的步骤S904中的信息处理装置70发送冒泡数据包等的处理的细节的流程图。对于步骤S401~S404、S408~S414的处理,在步骤S408中,除代替冒泡数据包发送端口检测部21所检测出的冒泡数据包发送端口的端口号等,而发送冒泡数据包发送端口接收部73所接收的冒泡数据包发送端口信息表示的冒泡数据包发送端口的端口号等之外,其余与实施方式1相同,而省略其说明。
(步骤S1201)检测用数据包发送部16、冒泡数据包发送部12分别发送检测用数据包和冒泡数据包。后面描述该处理的细节。
(步骤S1202)冒泡数据包发送端口接收部73判断是否接收了冒泡数据包发送端口信息。并且,在接收了冒泡数据包发送端口信息的情况下,进入到步骤S408,在没有接受的情况下,进入到步骤S1203。
(步骤S1203)重新发送指示接收部72判断是否接收重新发送指示。并且,在接收了重新发送指示的情况下,回到步骤S1201,否则返回到步骤S1202。
接着,使用具体例来说明本实施方式2的信息处理系统的动作。在该具体例中,说明根据通信处理装置2的种类,来改变检测用数据包的发送的方法的情况。
首先,对于通信处理装置2的种类是锥型系统或端口重新使用的情况下的图30的流程图的步骤S1201中的处理,使用图31的流程图来进行说明。另外,步骤S501、S503的处理与实施方式1相同,而省略其说明。其中,在通信处理装置2的种类是端口重新使用的情况下,在步骤S501中发送检测用数据包的情况下,发送检测用数据包,其在有效载荷中包含发送该检测用数据包的信息处理装置70的端口号。另外,在通信处理装置2的种类是锥型系统的情况下,也可发送或不发送有效载荷中包含发送的端口号的检测用数据包。
(步骤S1301)冒泡数据包发送端口检测部83判断是否可检测出冒泡数据包发送端口的位置。具体的,在通信处理装置2的种类是锥型系统的情况下,冒泡数据包发送端口检测部83判断为可以检测出冒泡数据包发送端口的位置。另一方面,在通信处理装置2的种类是端口重新使用的情况下,在检测用数据包所通过的通信处理装置2的端口的端口号和发送了该检测用数据包的信息处理装置70的端口号一致时,判断为可检测出冒泡数据包发送端口的位置,在不一致时,判断为不能检测出冒泡数据包发送端口的位置。该判断使用检测用数据包的有效载荷中包含的信息处理装置70的端口号。在可以检测出冒泡数据包发送端口的位置的情况下,进入到步骤S1302,在不是这样的情况下,进入到步骤S1304。
(步骤S1302)冒泡数据包发送端口检测部83检测出冒泡数据包发送端口的位置。具体的,将检测用数据包接收部43所接收的检测用数据包所通过的通信处理装置2的端口号作为冒泡数据包发送端口的位置来进行检测。
(步骤S1303)冒泡数据包发送端口发送部85构成表示冒泡数据包发送端口检测部83所检测出的冒泡数据包发送端口的位置的信息,即,构成表示通信处理装置2中的冒泡数据包发送端口的端口号、和通信处理装置2的全球侧的地址的冒泡数据包发送端口信息,并将该冒泡数据包发送端口信息发送到检测用数据包接收部43所接收的检测用数据包的发送源的地址、端口号。
(步骤S1304)重新发送指示发送部84将重新发送指示发送到检测用数据包接收部43所接收的检测用数据包的发送源的地址、端口号。该重新发送指示可以是重新发送指示发送部84构成的指示,可以是从规定的记录介质读出的指示或从其他的构成要素接收的指示。
接着,使用图32的流程图来说明通信处理装置2的种类是对称系统的情况下的图30的流程图的步骤S1201中的处理。另外,步骤S601、S603、S604的处理与实施方式1相同,而省略其说明。
(步骤S1401)冒泡数据包发送端口检测部83根据检测用数据包接收部43所接收的检测用数据包,来判断是否可检测出冒泡数据包发送端口的位置。该判断通过在2个检测用数据包所通过的通信处理装置2的2个检测用数据包发送端口之间,是否分配了冒泡数据包发送端口之外的端口来加以判断。即,冒泡数据包发送端口检测部83在2个检测用数据包发送端口之间分配了冒泡数据包发送端口之外的端口的情况下,判断为不能检测出冒泡数据包发送端口的位置,在2个检测用数据包发送端口之间仅分配了冒泡数据包发送端口的情况下,判断为可以检测出冒泡数据包发送端口的位置。具体的,判断2个检测用数据包所通过的通信处理装置2的端口的端口号的差是否是通过端口宽度检测部86检测出的通信处理装置2的端口宽度的2倍。并且,在2倍时,判断为可以进行冒泡数据包发送端口的位置的检测,而进入到步骤S1402,在不是2倍的情况下,判断为不能检测出冒泡数据包发送端口的位置,而进入到步骤S1404。
(步骤S1402)冒泡数据包发送端口检测部83根据检测用数据包接收部43所接收的检测用数据包,来检测出冒泡数据包发送端口的位置。具体的,冒泡数据包发送端口检测部83将2个检测用数据包所通过的通信处理装置2的检测用数据包发送端口的正中的端口号作为冒泡数据包发送端口来加以检测。
(步骤S1403)冒泡数据包发送端口发送部85将表示冒泡数据包发送端口检测部83所检测出的冒泡数据包发送端口的位置的冒泡数据包发送端口信息发送到任意一个检测用数据包的发送源。该冒泡数据包发送端口信息经通信处理装置2发送到信息处理装置70,并由信息处理装置70的冒泡数据包发送端口接收部73来加以接收。
(步骤S1404)重新发送指示发送部84将重新发送指示发送到任意一个检测用数据包的发送源。该重新发送指示经通信处理装置2发送到信息处理装置70,并由信息处理装置70的重新发送指示接收部72来加以接收。
另外,通信处理装置2的种类的判断、通信处理装置2的端口宽度的检测和冒泡数据包发送端口的位置的检测等的动作的具体的处理,在信息处理装置10中执行通信处理装置2的种类的判断、通信处理装置2的端口宽度的检测和冒泡数据包发送端口的位置的检测等,取而代之,在第一服务器80中执行,除此之外与实施方式1相同,而省略其说明。
另外,在该具体例中,说明了根据通信处理装置2的种类,来改变信息处理装置7中的检测用数据包的发送的处理的情况,也可如实施方式1的具体例2那样,进行与通信处理装置2的种类无关的检测用数据包的发送,根据通信处理装置2的种类,作为结果,检测用数据包发送端口和冒泡数据包发送端口不同或相同。这时,由于不需要根据通信处理装置2的种类,来改变检测用数据包的发送方法,所以信息处理装置70也可不包括种类信息接收部71。另一方面,在该情况下,需要在第一服务器80的冒泡数据包发送端口检测部83中,根据通信处理装置2的种类,来改变冒泡数据包发送端口的位置的检测方法。例如,若通信处理装置2的种类是锥型系统和端口重新使用,则通过步骤S1302的方法进行检测,在通信处理装置2的种类是对称系统时,通过步骤S1402的方法来进行检测。
如上所述,在本实施方式2的信息处理系统中,通过根据通信处理装置2的种类,来发送检测用数据包,使得检测用数据包发送端口和冒泡数据包发送端口相同,或不同,从而可以准确检测处冒泡数据包发送端口的位置,而与通信处理装置2的种类无关。另外,可以在第一服务器80中执行该冒泡数据包发送端口的检测。
本实施方式2中,说明了信息处理装置70具有接收冒泡数据包发送端口信息的冒泡数据包发送端口接收部73的情况,但是冒泡数据包发送端口信息也可从第一服务器80中不经信息处理装置70发送到信息处理装置30。例如,第一服务器80可以直接将冒泡数据包发送端口信息发送到信息处理装置30。
另外,本实施方式2中,说明了在通信处理装置2的种类是端口重新使用的情况下,为了由第一服务器80判断是否可检测出冒泡数据包发送端口的位置,而发送有效载荷中包含发送检测用数据包的信息处理装置70的端口号的检测用数据包的情况,但是发送检测用数据包的信息处理装置70的端口号也可不包含在检测用数据包中,而从信息处理装置70发送到第一服务器80。
另外,本实施方式2中,说明了信息处理装置70具有重新发送指示接收部72的情况,但是信息处理装置70也可不具有重新发送指示接收部72,即使在发送冒泡数据包和检测用数据包后经过规定的期间,也不能接收冒泡数据包发送端口信息的情况下,也可再次发送冒泡数据包和检测用数据包。
(实施方式3)参考附图来说明本发明的实施方式3的信息处理系统等。本实施方式3的信息处理系统等在发送回复数据包的信息处理装置中,进行冒泡数据包发送端口的检测。
本实施方式3的信息处理系统的结构在实施方式1的图1中,代替信息处理装置10、信息处理装置30,分别具有信息处理装置100和信息处理装置110,除此之外与实施方式1的图1相同,而省略信息处理装置100和信息处理装置110之外的说明。
图33是表示本实施方式3的信息处理装置100的结构框图。图33中,本实施方式3的信息处理装置100具有发送目标信息接收部11、冒泡数据包发送部12、种类判断数据包发送部13、种类判断端口信息接收部14、种类判断部15、检测用数据包发送部16、端口宽度检测用数据包发送部17、端口宽度检测用端口信息接收部18、端口宽度检测部19、检测用端口信息接收部20、通信部23和信息发送部101。另外,信息发送部101之外的结构和动作与实施方式1相同,而省略其说明。
信息发送部101经中继服务器60将种类判断部15判断出的表示通信处理装置2的种类的种类信息、端口宽度检测部19检测出的表示通信处理装置2的端口宽度的端口宽度信息、检测用端口信息接收部20接收的检测用端口信息,发送到信息处理装置110。本实施方式3的检测用端口信息不仅包含表示检测用数据包发送端口的位置的信息,还包含通信处理装置2的全球侧的地址。另外,信息发送部101可以包含或不包含进行发送用的发送设备(例如,调制解调器和网卡等)(这时,在信息发送部101和通信处理装置2之间存在图中未示的发送设备)。另外,信息发送部101可以通过硬件来实现,或也可通过驱动发送设备的驱动器等的软件来实现。
图34是表示本实施方式3的信息处理装置110的结构框图。图34中,本实施方式3的信息处理装置110包括发送目标信息发送部31、回复数据包发送部33、通信部34、检测用端口信息接收部111和冒泡数据包发送端口检测部112。另外,检测用端口信息接收部111、冒泡数据包发送端口检测部112之外的结构和动作与实施方式1相同,而省略其说明。
检测用端口信息接收部111接收表示从信息处理装置100发送的检测用数据包所通过的通信处理装置2的端口的位置的检测用端口信息。另外,本实施方式3中,检测用端口信息接收部111接收检测用端口信息,同时还接收种类信息、端口宽度信息。检测用端口信息接收部111例如可以接收从输入设备(例如键盘和鼠标、触摸屏等)输入的检测用端口信息等,也可接收经有线或无线的通信线路发送的检测用端口信息等,或也可接收从规定的记录介质中(例如,光盘和磁盘、半导体存储器等)读出的检测用端口信息等。本实施方式3中,检测用端口信息接收部111接收经通信线路发送的检测用端口信息等。另外,检测用端口信息接收部111可以包含或不包含进行接收用的设备(例如调制解调器和网卡等)。另外,检测用端口信息接收部111可以由硬件实现,或也可由驱动规定的设备的驱动器等的软件来实现。
冒泡数据包发送端口检测部112根据通信处理装置2的种类,基于检测用端口信息接收部111所接收的检测用端口信息,来检测出冒泡数据包发送端口的位置。另外,本实施方式3中,冒泡数据包发送端口检测部112从检测用端口信息接收部111中接收表示冒泡数据包发送端口的位置的检测所需的通信处理装置2的种类的种类信息、和表示通信处理装置2的端口宽度的端口宽度信息。另外,对于冒泡数据包发送端口的检测动作,与实施方式1的冒泡数据包发送端口检测部21的处理相同,而省略其说明。
接着,使用流程图来说明本实施方式3的信息处理系统的动作。图35是表示本实施方式3的信息处理装置100的动作的流程图。另外,步骤S1501之外的处理与实施方式1的图7的流程图相同,而省略其说明。
(步骤S1501)信息处理装置100将检测用端口信息、端口宽度信息、种类信息发送到信息处理装置110。后面描述该处理的细节。
图36是表示图35的流程图的步骤S1501中的信息处理装置100发送检测用端口信息的处理等的细节的流程图。另外,对于步骤S1601、S1602之外的处理,与实施方式1的图12的流程图相同,而省略其说明。
(步骤S1601)信息发送部101构成通信请求数据包,其包含种类判断部15判断的表示通信处理装置2的种类的种类信息、端口宽度检测部19检测出的表示通信处理装置2的端口宽度的端口宽度信息、检测用端口信息接收部20所接收的检测用端口信息,将所述通信请求数据包发送到中继服务器60。另外,该通信请求数据包经中继服务器60,发送到信息处理装置110(步骤S409),并由信息处理装置110的检测用端口信息接收部111来加以接收。
(步骤S1602)冒泡数据包发送端口检测部112根据检测用端口信息接收部111所接收的通信请求数据包中包含的种类信息、端口宽度信息、检测用端口信息,来检测出冒泡数据包发送端口的位置。将表示该检测出的冒泡数据包发送端口的位置的信息和检测用端口信息中包含的通信处理装置2的全球侧的地址传到回复数据包发送部33和通信部34。并且,步骤S414中,根据从该冒泡数据包发送端口检测部12向回复数据包发送部33传送的表示冒泡数据包发送端口的位置的信息和通信处理装置2的地址,来发送回复数据包。
另外,对于本实施方式3的信息处理系统的动作的具体例,除了在信息处理装置110中进行冒泡数据包发送端口的位置的检测之外,与实施方式1相同,而省略其说明。
如上所述,根据本实施方式3的信息处理系统,通过根据通信处理装置2的种类,来发送检测用数据包,使得检测用数据包发送端口和冒泡数据包发送端口相同,或不同,从而可以正确检测出冒泡数据包发送端口的位置,而与通信处理装置2的种类无关。另外,可以在发送回复数据包的信息处理装置10中来执行该冒泡数据包发送端口的检测。
另外,本实施方式3中,说明了在发送回复数据包的信息处理装置110中进行冒泡数据包发送端口的检测的情况,但进行冒泡数据包发送端口的检测的端口检测装置也可以是如实施方式1那样进行冒泡数据包的发送的信息处理装置,也可以是如实施方式2那样的第一服务器,也可以是如本实施方式3那样进行回复数据包的发送的信息处理装置,或者也可以是其他的装置。在端口检测装置是实施方式1~3中说明的之外的装置的情况下,如图37所示,端口检测装置120也可包括输出部121,其输出冒泡数据包发送端口信息,该冒泡数据包发送端口信息表示冒泡数据包发送端口检测部112检测出的冒泡数据包发送端口的位置。这里,该输出例如可以是向显示设备(例如CRT和液晶显示器等)的显示,也可以是经向规定的设备的通信线路的发送,也可以是基于打印机的印刷,也可以是基于扬声器的声音输出,也可以是向记录介质的存储。另外,输出部121可以包含或不包含进行输出的设备(例如显示设备和打印机等)。另外,输出部121可以通过硬件来实现,或通过驱动这些设备的驱动器等的软件来实现。这里,图37中,表示了端口检测装置120具有发送目标信息发送部31的结构,但是端口检测装置120也可不包含发送目标信息发送部31。
本实施方式3中,说明了从信息处理装置100向信息处理装置110发送了检测用端口信息、种类信息和端口宽度信息的情况,但是例如也可从第一服务器中发送这些信息中,任意一个以上的信息。例如,与实施方式2相同,也可在第一服务器中进行端口宽度的检测等,并将表示该检测出的端口宽度的端口宽度信息等从第一服务器向信息处理装置110发送。或者,端口宽度信息等也可通过用户的手动输入等输入到信息处理装置110中,而不管信息处理装置110接收端口宽度信息、检测用端口信息等的方法。
另外,本实施方式3中,说明了在信息处理装置110中,使用所检测出的冒泡数据包发送端口的位置,来进行回复数据包的发送的情况,但是其是一例,信息处理装置110也可具有使用所检测出的冒泡数据包发送端口的位置,来进行处理的处理部。该处理部例如也可如前所述发送回复数据包,也可存储或发送表示所检测出的冒泡数据包发送端口的位置的信息,或也可使用表示所检测出的冒泡数据包发送端口的位置的信息,来进行其他处理。
另外,上述各实施方式中,说明了仅发送冒泡数据包的信息处理装置经通信处理装置2来进行通信的情况,但是发送回复数据包的信息处理装置也可经进行与通信有关的处理的通信处理装置来进行通信。该通信处理装置与上述实施方式中说明的通信处理装置2相同。
另外,上述各实施方式中,说明了信息处理系统具有第一服务器和第二服务器的结构,但是信息处理系统也可不具有第二服务器。这时,例如也可不使用服务器来判断通信处理装置2的种类。作为不使用服务器的情况,有例如用户通过参考通信处理装置2的手册等,来特定通信处理装置2的种类,并将该种类经规定的输入设备输入到发送冒泡数据包的信息处理装置的情况等。另外,第一服务器和第二服务器也可作为装置而一体构成。
另外,上述各实施方式中,说明了冒泡数据包发送端口检测部接收表示通信处理装置的种类的信息,并使用该信息,来进行冒泡数据包发送端口的检测的情况,但是冒泡数据包发送端口检测部也可不使用表示通信处理装置的种类的信息来进行冒泡数据包发送端口的位置的检测。例如,在实施方式1的具体例1中,冒泡数据包发送端口检测部21在检测用端口信息接收部20接收了表示2个检测用数据包发送端口的端口号的检测用端口信息的情况下,进行通信处理装置2的种类是对称系统的情况下的冒泡数据包发送端口的检测处理,在检测用端口信息接收部20接收了表示1个检测用数据包发送端口的端口号的检测用端口信息的情况下,进行通信处理装置2的种类是锥型系统、端口重新使用的情况下的冒泡数据包发送端口的检测。另外,例如,在实施方式1的具体例2中,冒泡数据包发送端口检测部21接收通信处理装置2的端口宽度“1”和2个检测用数据包发送端口的端口号,若该2个检测用数据包发送端口的端口号的差是端口宽度“1”的2倍,进行在通信处理装置2的种类是对称系统的情况下的冒泡数据包发送端口的检测处理,若2个检测用数据包发送端口的端口号的差是端口宽度“1”的1倍,也可进行通信处理装置2的种类是锥型系统、端口重新使用的情况下的冒泡数据包发送端口的检测。这样,冒泡数据包发送端口检测部在冒泡数据包发送端口的位置检测中,也可不直接使用表示通信处理装置2的种类的信息。但是,如上所述,根据通信处理装置2的种类,来改变冒泡数据包发送端口的检测方法,包含在根据通信处理装置2的种类,来检测出冒泡数据包发送端口的位置的情况中。
实施方式1中,说明了在发送冒泡数据包的信息处理装置10中进行通信处理装置2的判断、通信处理装置2的端口宽度的检测和冒泡数据包发送端口的位置的检测的情况,在实施方式2中,说明了在第一服务器80中进行这些处理的情况,在实施方式3中说明了在发送冒泡数据包的信息处理装置100中进行通信处理装置2的种类的判断、通信处理装置2的端口宽度的检测,在发送回复数据包的信息处理装置110中进行冒泡数据包发送端口的位置的检测,但是通信处理装置2的种类的判断的处理可以在发送冒泡数据包的信息处理装置、服务器、发送回复数据包的信息处理装置或其他装置的任意之一中执行。同样,检测出通信处理装置2的端口宽度的处理也可在发送冒泡数据包的信息处理装置、服务器、发送回复数据包的信息处理装置、或其他装置的任意之一中执行。同样,检测出冒泡数据包发送端口的位置的处理也可以在发送冒泡数据包的信息处理装置、服务器、发送回复数据包的信息处理装置、或其他装置的任意之一中执行。例如,通信处理装置2的种类的判断可以在第一服务器中进行,通信处理装置2的端口宽度的检测可在发送冒泡数据包的信息处理装置中进行,将表示通信处理装置2的种类的信息和表示通信处理装置2的端口宽度的信息发送到发送回复数据包的信息处理装置中,并在发送该回复数据包的信息处理装置中,来进行冒泡数据包发送端口的位置的检测也可以。
另外,上述各实施方式中,考虑了将通信处理装置2的种类分为锥型系统、对称系统、端口重新使用三个来检测出冒泡数据包发送端口的位置的情况,但是在存在除此之外的种类的通信处理装置2的种类的情况下,还可包含该种类,并根据通信处理装置2的种类,来发送检测用数据包,使得检测用数据包发送端口和冒泡数据包发送端口相同或不同,也可根据该通信处理装置2的种类,来进行冒泡数据包发送端口的位置的检测。作为通信处理装置2的种类,可以根据锥型系统、对称系统、端口重新使用的任意的2个通信处理装置2的种类,来发送检测用数据包,也可检测出冒泡数据包发送端口的位置。另外,也可根据通信处理装置2的种类是对称系统、或锥型系统或端口重新使用,来发送检测用数据包,使得检测用数据包发送端口和冒泡数据包发送端口相同,或不同。另外,例如在根据通信处理装置2的种类是锥型系统或对称系统来进行检测用数据包的发送等的情况下,可以在通信处理装置2的种类的判断中,仅判断通信处理装置2的种类是锥型系统或对称系统。
上述各实施方式中,说明了发送冒泡数据包的信息处理装置接收发送目标信息,并根据该发送目标信息来发送冒泡数据包的情况,但是发送目标信息也可在发送冒泡数据包的信息处理装置中预先设定,使用该预先设定的发送目标信息,来进行冒泡数据包的发送。
另外,上述各实施方式中,主要说明了在通信处理装置2中通过调查进行了怎样的发送端口的分配来判断通信处理装置2的种类的情况,但是也可通过除此之外的方法,来判断通信处理装置2的种类。例如,在某个通信处理装置2的制造商仅生产锥型系统的通信处理装置2的情况下,也可通过判断通信处理装置2的制造商,来判断通信处理装置2的种类。通信处理装置2的制造商可以例如通过用户的手工输入来输入到信息处理装置等中,或也可使用通信处理装置2中的MAC地址中包含的销售者ID等,来特定通信处理装置2的制造商。
另外,上述各实施方式中,通过在检测用端口信息、冒泡数据包发送端口信息中包含通信处理装置2的全球侧的地址,从而发送冒泡数据包的信息处理装置可以知道通信处理装置2的全球侧的地址的情况,但是检测用端口信息、冒泡数据包发送端口信息中也可不包含通信处理装置2的全球侧的地址。这时,发送冒泡数据包的信息处理装置可以通过例如从规定的服务器中发送的信息、从用户等输入的信息,来知道通信处理装置2的全球侧的地址。这里,所述规定的服务器可以是将有效载荷中含有所接收的数据包的头中包含的发送源的地址,发送到该接收的数据包的发送源的服务器。第一服务器等具有该规定的服务器的功能。
另外上述各实施方式中,说明了通信处理装置2是具有进行地址变换的NAT功能的装置的情况,但是通信处理装置2只要是基于发送端口分配标准进行发送端口分配的装置即可,也可以是不具有地址变换功能的装置。
另外,上述各实施方式中,说明了发送冒泡数据包的信息处理装置具有种类判断数据包发送部13、端口宽度检测用数据包发送部17的情况,但是在不使用种类判断数据包、端口宽度检测用数据包来进行通信处理装置2的种类的判断、通信处理装置2的端口宽度的检测的情况下,发送冒泡数据包的信息处理装置也可不具有种类判断数据包发送部13、端口宽度用数据包发送部17。这里,作为不使用种类判断数据包、端口宽度检测用数据包来进行通信处理装置2的种类的判断、通信处理装置2的端口宽度的检测的情况,有例如通过参考通信处理装置2的手册等,来特定通信处理装置2的种类和端口宽度的情况等。
上述各个实施方式中,说明了检测用数据包、端口宽度检测用数据包等可以是UDP的数据包,也可以是TCP的数据包,但是有时通过通信处理装置,UDP的数据包和TCP的数据包中端口分配不同。例如,有时向UDP的数据包分配一定范围的端口号,向TCP的数据包分配与所述范围不同的另一范围的端口号。这种情况下,作为检测用数据包、端口宽度检测用数据包等,最好全部使用UDP数据包。
上述实施方式中,检测用数据包或端口宽度检测用数据包、种类判断数据包等中可以包含表示数据包的种类的信息、识别数据包的发送源的装置的信息等。也可在对应于检测用数据包等发送的检测用端口信息、端口宽度检测用端口信息、种类信息等的数据包中,包含表示数据包的种类的信息、表示是与哪个通信处理装置有关的信息的信息等。这样,不依赖于上述各实施方式中的各种数据包的结构。
上述各实施方式中,各处理(各功能)可以通过单一的装置(系统)来集中处理而实现,或通过由多个装置分散处理而实现。
上述各实施方式中,各构成要素可以通过专用的硬件来构成,或对于可由软件实现的构成要素,通过执行程序等来实现。例如,通过CPU等的程序执行部读出在硬盘或半导体存储器等的记录介质中记录的软件/程序而加以执行,从而可以实现各构成要素。另外,实现上述各实施方式的信息处理装置的软件是如下这种程序。即,该程序是使计算机执行经进行与通信有关的处理的通信处理装置来实现通信的程序,并是使计算机执行如下步骤的程序经通信处理装置发送在通信处理装置中保留发送历史用的数据包即冒泡数据包的冒泡数据包发送步骤;将在冒泡数据包的发送中所用的用于检测出通信处理装置的端口即冒泡数据包发送端口的位置的数据包即检测用数据包,根据通信处理装置的种类,经通信处理装置进行发送,使得检测用数据包所通过的通信处理装置的端口即检测用数据包发送端口和冒泡数据包发送端口相同,或不同的步骤。
另外,实现上述各实施方式中的端口检测装置的软件是如下这种程序。即,该程序使计算机执行如下步骤的程序接收表示检测用数据包所通过的通信处理装置的端口的位置的信息即检测用端口信息的检测用端口信息接收步骤;根据通信处理装置的种类,基于检测用端口信息检测出冒泡数据包发送端口的位置的冒泡数据包发送端口检测步骤。
另外,上述程序中,发送信息的发送步骤、接收信息的接收步骤等中,不包含通过硬件进行的处理,例如在发送步骤中的调制解调器、网卡等中进行的处理(仅由硬件进行的处理)。
另外,该程序可以通过从服务器等下载来执行,也可通过读出在规定的记录介质(例如CD-ROM等的光盘和磁盘,半导体存储器等)中记录的程序来执行。
另外,执行该程序的计算机可以是单个,也可以是多个。即,可以进行集中处理,或也可进行分散处理。
另外,本发明并不限于上述的各实施方式,可以进行各种改变,这些也包含在本发明的范围内。
产业上的可用性通过如上,本发明的信息处理装置可以适当确立与其他装置的通信,在2个以上的信息处理装置之间进行通信的信息处理系统等中有用。
权利要求
1.一种信息处理装置,经进行与通信有关的处理的通信处理装置来进行通信,包括冒泡数据包发送部,经所述通信处理装置发送冒泡数据包,该冒泡数据包是用于在所述通信处理装置中保留发送历史的数据包;和检测用数据包发送部,对于在所述冒泡数据包的发送中使用的,检测作为所述通信处理装置的端口的冒泡数据包发送端口的位置所用的数据包,即检测用数据包,根据所述通信处理装置的种类,经所述通信处理装置来发送所述检测用数据包,使得所述检测用数据包所通过的所述通信处理装置的端口即检测用数据包发送端口、和所述冒泡数据包发送端口相同,或不同。
2.根据权利要求1所述的信息处理装置,其特征在于进一步具有发送目标信息接收部,接收与所述冒泡数据包的发送目标有关的信息即发送目标信息,所述冒泡数据包发送部根据所述发送目标信息,来发送所述冒泡数据包。
3.根据权利要求1或2所述的信息处理装置,其特征在于进一步具有种类判断数据包发送部,经所述通信处理装置来发送判断所述通信处理装置的种类所用的数据包即种类判断数据包。
4.根据权利要求3所述的信息处理装置,其特征在于进一步具有种类判断端口信息接收部,接收表示所述种类判断数据包所通过的所述通信处理装置的端口的位置的信息即种类判断端口信息;和种类判断部,根据所述种类判断端口信息,来判断所述通信处理装置的种类,所述检测用数据包发送部根据通过所述种类判断部判断出的所述通信处理装置的种类,来进行所述检测用数据包的发送。
5.根据权利要求1或2所述的信息处理装置,其特征在于进一步具有种类信息接收部,接收表示所述通信处理装置的种类的信息即种类信息,所述检测用数据包发送部根据所述种类信息表示的所述通信处理装置的种类,来进行所述检测用数据包的发送。
6.根据权利要求1或2所述的信息处理装置,其特征在于进一步具有冒泡数据包发送端口接收部,接收表示冒泡数据包发送端口的位置的信息即冒泡数据包发送端口信息,所述冒泡数据包发送端口的位置是根据所述检测用数据包检测出的;和输出部,输出所述冒泡数据包发送端口信息。
7.根据权利要求1或2所述的信息处理装置,其特征在于进一步具有检测用端口信息接收部,接收表示所述检测用数据包所通过的所述通信处理装置的端口的位置的信息即检测用端口信息;冒泡数据包发送端口检测部,根据所述通信处理装置的种类,基于所述检测用端口信息,来检测出所述冒泡数据包发送端口的位置;和输出部,输出冒泡数据包发送端口信息,该冒泡数据包发送端口信息是表示所述冒泡数据包发送端口检测部检测出的冒泡数据包发送端口的位置的信息。
8.根据权利要求1或2所述的信息处理装置,其特征在于所述检测用数据包发送部按照如下方式来发送所述检测用数据包在所述通信处理装置的种类是锥型系统的情况下,使至少一个检测用数据包所通过的所述通信处理装置的端口与所述冒泡数据包发送端口相同,在所述通信处理装置的种类是对称系统的情况下,使检测用数据包所通过的所述通信处理装置的端口和所述冒泡数据包发送端口不同。
9.根据权利要求1或2所述的信息处理装置,其特征在于所述检测用数据包发送部,在所述通信处理装置的种类是锥型系统的情况下,在所述冒泡数据包的发送之前或之后,使用与所述信息处理装置中的发送所述冒泡数据包的端口相同的端口来发送所述检测用数据包。
10.根据权利要求1或2所述的信息处理装置,其特征在于所述检测用数据包发送部,在所述通信处理装置的种类是端口重新使用的情况下,至发送所述检测用数据包的所述信息处理装置的端口即第一端口的位置、和该检测用数据包所通过的所述通信处理装置的端口即第二端口的位置一致为止,从与到此为止所述检测用数据包的发送中所用的所述信息处理装置的端口不同的端口来发送所述检测用数据包,所述冒泡数据包发送部从所述第一端口的位置和所述第二端口的位置一致的情况下的所述第一端口来发送所述冒泡数据包。
11.根据权利要求1或2所述的信息处理装置,其特征在于所述检测用数据包发送部,在所述通信处理装置的种类是端口重新使用的情况下,在所述冒泡数据包的发送之前或之后,使用与所述信息处理装置中的发送所述冒泡数据包的端口相同的端口来发送所述检测用数据包。
12.根据权利要求1或2所述的信息处理装置,其特征在于所述检测用数据包发送部,在所述冒泡数据包的发送之前和发送之后,从分别不同的端口来发送所述检测用数据包,并从与所述冒泡数据包发送部发送所述冒泡数据包的端口相同的端口来发送一方的检测用数据包。
13.根据权利要求1或2所述的信息处理装置,其特征在于所述检测用数据包发送部,在所述通信处理装置的种类是对称系统的情况下,在所述冒泡数据包的发送之前和发送之后,来发送所述检测用数据包。
14.根据权利要求13所述的信息处理装置,其特征在于所述检测用数据包发送部,在所述通信处理装置的种类是对称系统的情况下,使用在所述信息处理装置中新分配的端口来发送所述检测用数据包。
15.根据权利要求12所述的信息处理装置,其特征在于所述冒泡数据包发送部在不能检测出所述冒泡数据包发送端口的位置的情况下,再次发送所述冒泡数据包,所述检测用数据包发送部在不能检测出所述冒泡数据包发送端口的位置的情况下,再次发送所述检测用数据包,再次发送的所述冒泡数据包和所述检测用数据包经所述通信处理装置中的新分配的端口来加以发送。
16.根据权利要求1或2所述的信息处理装置,其特征在于进一步具有端口宽度检测用数据包发送部,经所述通信处理装置来发送用于检测所述通信处理装置中的端口宽度的数据包即端口宽度检测用数据包,使用根据所述端口宽度检测用数据包所通过的所述通信处理装置的端口的位置而检测出的所述通信处理装置的端口宽度,来检测出所述冒泡数据包发送端口的位置。
17.一种端口检测装置,包括检测用端口信息接收部,用来接收检测用端口信息,该检测用端口信息是表示从权利要求1所述的信息处理装置发送的检测用数据包所通过的所述通信处理装置的端口的位置的信息;和冒泡数据包发送端口检测部,根据所述通信处理装置的种类,基于所述检测用端口信息来检测出所述冒泡数据包发送端口的位置。
18.根据权利要求17所述的端口检测装置,其特征在于进一步具有输出部,输出冒泡数据包发送端口信息,该冒泡数据包发送端口信息是表示所述冒泡数据包发送端口检测部检测出的冒泡数据包发送端口的位置的信息。
19.一种信息处理方法,经进行与通信有关的处理的通信处理装置进行通信,包括冒泡数据包发送步骤,经所述通信处理装置发送冒泡数据包,该冒泡数据包是用于在所述通信处理装置中保留发送历史的数据包;和检测用数据包发送步骤,对于在所述冒泡数据包的发送中使用的,检测作为所述通信处理装置的端口的冒泡数据包发送端口的位置所用的数据包,即检测用数据包,根据所述通信处理装置的种类,经所述通信处理装置来发送所述检测用数据包,使得所述检测用数据包所通过的所述通信处理装置的端口即检测用数据包发送端口、和所述冒泡数据包发送端口相同,或不同。
20.一种端口检测方法,包括检测用端口信息接收步骤,接收检测用端口信息,该检测用端口信息是表示通过权利要求19所述的信息处理方法发送的检测用数据包所通过的所述通信处理装置的端口的位置的信息;冒泡数据包发送端口检测步骤,根据所述通信处理装置的种类,基于所述检测用端口信息来检测所述冒泡数据包发送端口的位置。
21.一种程序,用于使计算机执行经进行与通信有关的处理的通信处理装置的通信,该程序使计算机执行以下步骤冒泡数据包发送步骤,经所述通信处理装置发送冒泡数据包,该冒泡数据包是用于在所述通信处理装置中保留发送历史的数据包;和检测用数据包发送步骤,对于在所述冒泡数据包的发送中使用的,检测作为所述通信处理装置的端口的冒泡数据包发送端口的位置所用的数据包,即检测用数据包,根据所述通信处理装置的种类,经所述通信处理装置来发送所述检测用数据包,使得所述检测用数据包所通过的所述通信处理装置的端口即检测用数据包发送端口、和所述冒泡数据包发送端口相同,或不同。
22.一种程序,使计算机执行以下步骤检测用端口信息接收步骤,接收检测用端口信息,该检测用端口信息是表示通过权利要求19所述的信息处理方法发送的检测用数据包所通过的所述通信处理装置的端口的位置的信息;冒泡数据包发送端口检测步骤,根据所述通信处理装置的种类,基于所述检测用端口信息来检测所述冒泡数据包发送端口的位置。
全文摘要
提供一种具有经通信处理装置(1)来发送冒泡数据包的冒泡数据包发送部(12),将检测出冒泡数据包发送端口的位置所用的检测用数据包根据通信处理装置(2)的种类,经通信处理装置(1)来加以发送,使得作为检测用数据包所通过的通信处理装置(2)的端口的检测用数据包发送端口和冒泡数据包发送端口相同或不同的检测用数据包发送部(16)和根据检测用数据包发送端口的位置,来检测出冒泡数据包发送端口的位置的冒泡数据包发送端口检测部(21)的信息处理装置。通过这种结构,在发送通信处理装置中保留了发送历史用的冒泡数据包的情况下,可以正确检测出作为该冒泡数据包所通过的通信处理装置的端口的冒泡数据包发送端口的位置。
文档编号H04L12/56GK1969511SQ20058001955
公开日2007年5月23日 申请日期2005年7月25日 优先权日2005年3月16日
发明者乡原邦男, 前川肇 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1