CN1875580A - 通信系统、信息处理装置、服务器及通信方法 - Google Patents

通信系统、信息处理装置、服务器及通信方法 Download PDF

Info

Publication number
CN1875580A
CN1875580A CNA2004800316988A CN200480031698A CN1875580A CN 1875580 A CN1875580 A CN 1875580A CN A2004800316988 A CNA2004800316988 A CN A2004800316988A CN 200480031698 A CN200480031698 A CN 200480031698A CN 1875580 A CN1875580 A CN 1875580A
Authority
CN
China
Prior art keywords
port
grouping
bubble
information
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2004800316988A
Other languages
English (en)
Inventor
乡原邦男
前川肇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1875580A publication Critical patent/CN1875580A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal

Abstract

第1信息处理装置(1)通过第1通信控制装置(3)向第2通信控制装置(4)发送在第1通信控制装置(3)保留发送履历用的气泡分组,第2信息处理装置(2)向至少包括作为在气泡分组的发送中使用的、第1通信控制装置(3)的端口的气泡分组发送端口的至少一个或一个以上的端口发送回信分组,第1信息处理装置(1)接收从第2信息处理装置(2)通过第2通信控制装置(4)发送给气泡分组发送端口的回信分组。根据这种结构,提供一种能够更加可靠地建立通过通信控制装置(NAT)进行通信的多个信息处理装置之间的通信的通信系统。

Description

通信系统、信息处理装置、服务器及通信方法
技术领域
本发明涉及建立多个信息处理装置之间的通信的通信系统等。
背景技术
首先说明NAT(网络地址转换:Network Address Translation)的分类。NAT具有发送端口分配规则和接收过滤规则,根据其组合进行NAT的分类。发送端口分配规则具有:Cone类型,不依赖于分组的发送目的地(IP地址、端口),只要NAT的本地侧(例如LAN端)的信息处理装置的端口和IP地址相同,分配给NAT的全局侧(例如因特网等的WAN端)的端口就相同;Address Sensitive类型,按照每个分组的发送目的地地址分配新端口;和Port Sensitive类型,按照每个分组的发送目的地端口分配新端口。针对从NAT的本地侧发送了分组的端口判断接收来自全局侧的分组的可能性的接收过滤规则具有:只从由其端口发送了分组的地址接收分组的Address Sensitive过滤;只从由该端口发送了分组的端口接收分组的Port Sensitive过滤;和不存在过滤的No过滤。通过组合这些发送端口分配规则和接收过滤规则,可以把NAT分成以下五种类型。
Full Cone NAT:发送端口分配规则属于Cone类型,接收端口过滤规则属于No过滤。
Restricted Cone NAT:发送端口分配规则属于Cone类型,接收端口过滤规则属于Address Sensitive过滤。
Port Restricted Cone NAT:发送端口分配规则属于Cone类型,接收端口过滤规则属于Port Sensitive过滤。
Address Sensitive Symmetric NAT:发送端口分配规则属于AddressSensitive类型,接收端口过滤规则属于Address Sensitive过滤。
Port Sensitive Symmetric NAT:发送端口分配规则属于Port Sensitive类型,接收端口过滤规则属于Port Sensitive过滤。
在使用这种NAT的通信中,有如图40所示的在PC1和PC2之间建立不通过服务器的通信的情况。
上述的技术内容例如记载于以下文献中,D.Yon,“Connection-Oriented Media Transport in SDP”,“Online”,2003年3月,“2003年9月29日检索”,因特网 URL: http://www.ietf.org/internet-drafts/draft-ietf-mmusic-sdp-comedia-05.txt(以下称为“非专利文献1”);或者Y.Takeda,“Symmetric NAT Traversalusing STUN”,“Online”,2003年6月,“2003年9月29日检索”,因特网 URL: http://www.ietf.org/internet-drafts/draft-takeda-symmetric-nat-traversal-0 0.txt(以下称为“非专利文献2”)。另外,还记载于以下文献中,J.Rosenberg,J.Weinberger,C.Huitema,R.Mahy,“STUN-Simple Traversal of UserDatagram Protocol(UDP)Through Network Adddress Translators(NATs)”,“Online”,2003年3月,Network Working Group Request forComments:3489,“2003年9月29日检索”,因特网 URL: http://www.ietf.org/rfc/rfc3489.txt(以下称为“非专利文献3”)。
但是,即使在这种情况下,也有可能存在不能建立通信的NAT的组合。在图40中,在从连接于NAT1的本地侧的信息处理装置即PC1向PC2进行通信时,把NAT1称为发送侧的NAT,把NAT2称为接收侧的NAT。这样,在PC1和PC2之间能够建立通信的NAT的组合如图41所示。另外,关于图41中的NAT的略称参照下述实施方式中的说明。
此处,图41中的“*1”的连接是以往公知的,“*2”的连接记载于上述非专利文献1中,“*3”的连接记载于上述非专利文献2中。并且,即使是能够建立通信的NAT的组合,在“*3”的连接中,只要无法确切得知NAT的端口宽度、且无法确切得知接收侧的NAT的最新端口的位置,就不能建立通信,存在具有不确定性的问题。
另外,作为建立信息处理装置之间的通信的前提,需要检测从一方信息处理装置发送的气泡分组(bubble packet)(为了在NAT中保留发送履历而发送的分组)通过的NAT的端口范围。
发明内容
本发明的目的之一是提供一种通信系统等,能够可靠地建立通过控制通信的通信控制装置进行通信的多个信息处理装置之间的通信。
本发明的其他目的是提供一种通信系统等,能够检测从信息处理装置发送的气泡分组通过的通信控制装置的端口范围。
为了达到上述目的,本发明的通信系统包括:第1信息处理装置;第2信息处理装置;控制所述第1信息处理装置的通信的第1通信控制装置;控制所述第2信息处理装置的通信的第2通信控制装置;和建立所述第1信息处理装置和所述第2信息处理装置之间的通信的服务器,所述第1信息处理装置包括:气泡分组发送部,通过所述第1通信控制装置,把用于在所述第1通信控制装置保留发送履历的气泡分组发送给所述第2通信控制装置;和回信分组接收部,接收从所述第2信息处理装置通过所述第2通信控制装置发送给在所述气泡分组的发送中使用的作为所述第1通信控制装置的端口的气泡分组发送端口的回信分组,所述第2信息处理装置包括回信分组发送部,向至少包含所述气泡分组发送端口的一个或一个以上的端口发送所述回信分组。
根据这种结构,通过向根据气泡分组的发送而分配的第1通信控制装置的端口发送回信分组,可以建立第1信息处理装置和第2信息处理装置之间的通信。
并且,本发明的第1信息处理装置通过控制第1信息处理装置的通信的第1通信控制装置、和控制第2信息处理装置的通信的第2通信控制装置,与所述第2信息处理装置通信,包括:气泡分组发送部,通过所述第1通信控制装置,把用于在所述第1通信控制装置保留发送履历的气泡分组发送给所述第2通信控制装置;和回信分组接收部,接收从所述第2信息处理装置通过所述第2通信控制装置发送给在所述气泡分组的发送中使用的作为所述第1通信控制装置的端口的气泡分组发送端口的回信分组。
根据这种结构,通过发送气泡分组,可以把为了与第2信息处理装置之间建立通信而使用的气泡分组发送端口分配给第1通信控制装置,通过接收发送给该气泡分组发送端口的回信分组,可以建立第1信息处理装置和第2信息处理装置之间的通信。
并且,本发明的服务器,用于建立第1信息处理装置和第2信息处理装置通过控制所述第1信息处理装置的通信的第1通信控制装置、和控制所述第2信息处理装置的通信的第2通信控制装置进行的通信,包括:所述第1信息处理装置;所述第2信息处理装置;接收发送信息的信息接收发送部;判断所述第1通信控制装置和所述第2通信控制装置的特性的特性判断部;和接收发送确定部,根据所述特性判断部的判断结果,把所述第1信息处理装置和所述第2信息处理装置中任一方确定为发送侧(发送侧信息处理装置),把另一方确定为接收侧(接收侧信息处理装置)。
根据这种结构,可以根据第1通信控制装置和第2通信控制装置的特性,把第1信息处理装置和第2信息处理装置中一方确定为发送侧、把另一方确定为接收侧,以便可以建立第1信息处理装置和第2信息处理装置之间的通信。
并且,本发明的服务器,用于建立第1信息处理装置和第2信息处理装置通过控制所述第1信息处理装置的通信的第1通信控制装置、和控制所述第2信息处理装置的通信的第2通信控制装置进行的通信,包括:检测用端口检测部,接收用于检测包括气泡分组发送端口在内的端口范围的范围检测用分组,检测该范围检测用分组通过的所述第1通信控制装置的端口位置,该气泡分组发送端口是从所述第1信息处理装置向所述第2通信控制装置发送用于在所述第1通信控制装置保留发送履历的气泡分组时使用的、所述第1通信控制装置的端口;和检测用端口信息发送部,把表示所述检测用端口检测部检测的端口位置的检测用端口信息发送给所述第1信息处理装置。
根据这种结构,可以把在第1信息处理装置中检测包括气泡分组发送端口在内的端口范围时使用的检测用端口信息发送给第1信息处理装置。
并且,本发明的服务器,用于建立第1信息处理装置和第2信息处理装置通过控制所述第1信息处理装置的通信的第1通信控制装置、和控制所述第2信息处理装置的通信的第2通信控制装置进行的通信,包括气泡分组发送对象端口发送部,向所述第1信息处理装置发送表示气泡分组发送对象端口的位置的气泡分组发送对象端口信息,该气泡分组发送对象端口是所述第1信息处理装置发送用于在所述第1通信控制装置保留发送履历的气泡分组的对象的所述第2通信控制装置的端口。
根据这种结构,可以利用气泡分组发送对象端口信息把气泡分组发送对象端口的位置通知第1信息处理装置。
并且,本发明的通信系统包括信息处理装置、控制所述信息处理装置的通信的通信控制装置和服务器,所述信息处理装置包括:气泡分组发送部,通过所述通信控制装置发送用于在所述通信控制装置保留发送履历的一个或一个以上的气泡分组;和范围检测用分组发送部,向所述服务器发送检测包括一个或一个以上的所述气泡分组发送端口在内的范围时使用的范围检测用分组,该气泡分组发送端口是在一个或一个以上的所述气泡分组的发送中使用的所述通信控制装置的端口,所述服务器包括范围检测部,接收所述范围检测用分组,根据该范围检测用分组,检测包括一个或一个以上的所述气泡分组发送端口在内的端口范围。
根据这种结构,可以利用从信息处理装置发送的范围检测用分组,在服务器中检测包括气泡分组发送端口在内的端口范围。通过在包括该检测的气泡分组发送端口在内的端口范围中从其他装置发送分组,该分组可以在信息处理装置中接收。
并且,本发明的通信系统包括信息处理装置、控制所述信息处理装置的通信的通信控制装置和服务器,所述信息处理装置包括:气泡分组发送部,通过所述通信控制装置发送用于在所述通信控制装置保留发送履历的一个或一个以上的气泡分组;范围检测用分组发送部,向所述服务器发送为了检测包括一个或一个以上的气泡分组发送端口在内的端口范围所使用的范围检测用分组,该气泡分组发送端口是在一个或一个以上的所述气泡分组的发送中使用的所述通信控制装置的端口;检测用端口信息接收部,接收表示所述范围检测用分组通过的所述通信控制装置的端口的位置的检测用端口信息;和范围检测部,根据所述检测用端口信息接收部接收的检测用端口信息,检测包括一个或一个以上的所述气泡分组发送端口在内的端口范围,所述服务器包括:检测用端口检测部,接收所述范围检测用分组,检测该范围检测用分组通过的所述通信控制装置的端口的位置;和检测用端口信息发送部,向所述信息处理装置发送检测用端口信息,该信息表示所述检测用端口检测部检测的端口的位置。
根据这种结构,可以利用从信息处理装置发送的范围检测用分组,在信息处理装置中检测包括气泡分组发送端口在内的端口范围。通过在包括该检测的气泡分组发送端口在内的端口范围中从其他装置发送分组,该分组可以在信息处理装置中接收。
附图说明
图1是表示本发明的实施方式1的通信系统的结构的方框图。
图2是表示该实施方式的第1信息处理装置的结构的方框图。
图3是表示该实施方式的第2信息处理装置的结构的方框图。
图4是表示该实施方式的第1和第2服务器的结构的方框图。
图5是表示该实施方式的通信系统的动作的流程图。
图6是表示该实施方式的与接收发送的确定相关的处理的流程图。
图7是说明该实施方式的通信控制装置的特性判断的图。
图8是说明该实施方式的通信控制装置的特性判断的图。
图9是说明该实施方式的通信控制装置的特性判断的图。
图10是表示该实施方式的与建立通信相关的处理的流程图。
图11是说明该实施方式的端口宽度检测的图。
图12是说明该实施方式的具体示例的图。
图13是说明该实施方式的具体示例的图。
图14是说明该实施方式的具体示例的图。
图15是说明该实施方式的具体示例的图。
图16是说明该实施方式的具体示例的图。
图17是表示该实施方式的能够进行连接的通信控制装置的特性的组合的图。
图18是表示本发明的实施方式2的第1信息处理装置的结构的方框图。
图19是表示该实施方式的第2信息处理装置的结构的方框图。
图20是表示该实施方式的第1和第2服务器的结构的方框图。
图21是表示该实施方式的与建立通信相关的处理的流程图。
图22是表示该实施方式的与建立通信相关的处理的流程图。
图23是表示该实施方式的与建立通信相关的处理的流程图。
图24是表示本发明的实施方式3的通信系统的结构的方框图。
图25是表示本发明的实施方式4的通信系统的结构的方框图。
图26是表示该实施方式的第1信息处理装置的结构的方框图。
图27是表示该实施方式的第2信息处理装置的结构的方框图。
图28是表示该实施方式的服务器的结构的方框图。
图29是表示该实施方式的与接收发送的确定相关的处理的流程图。
图30是说明该实施方式的通信控制装置的特性判断的图。
图31是表示该实施方式的与建立通信相关的处理的流程图。
图32是表示该实施方式的与建立通信相关的处理的流程图。
图33是表示该实施方式的与建立通信相关的处理的流程图。
图34是说明该实施方式的具体示例的图。
图35是说明该实施方式的具体示例的图。
图36是说明该实施方式的具体示例的图。
图37是说明该实施方式的具体示例的图。
图38是说明该实施方式的具体示例的图。
图39是表示该实施方式的能够进行连接的通信控制装置的特性的组合的图。
图40是表示通信系统的一例图。
图41是表示以往技术的能够进行连接的NAT的组合的图。
符号说明
1第1信息处理装置;2第2信息处理装置;3第1通信控制装置;4第2通信控制装置;5通信线路;6第1服务器;7第2服务器;11、21、61、71通信部;12、22气泡分组发送部;13、23范围检测用分组发送部;14、24回信分组发送部;15、25端口宽度检测用分组发送部;16、26气泡分组发送对象端口接收部;17、27范围接收部;18、28端口宽度接收部;19、29回信分组发送部;62信息发送部;63特性判断部;64接收发送确定部;65气泡分组发送对象端口发送部;66范围检测部;67范围发送部;68端口宽度检测部;69端口宽度发送部
具体实施方式
(实施方式1)
以下,参照附图说明本发明的实施方式1的通信系统。
图1是表示本实施方式1的通信系统的结构的方框图。在图1中,本实施方式的通信系统包括:第1信息处理装置1;第2信息处理装置2;第1通信控制装置3;第2通信控制装置4;第1服务器6;和第2服务器7。第1通信控制装置3、第2通信控制装置4、第1服务器6和第2服务器7通过有线或无线的通信线路5连接着。该通信线路5例如是因特网。
另外,在图1中,示出在第1通信控制装置3和第2通信控制装置4分别只连接第1信息处理装置1和第2信息处理装置2的情况,但除此以外的装置也可以连接第1通信控制装置3和第2通信控制装置4。
图2是表示第1信息处理装置1的结构的方框图。在图2中,第1信息处理装置1包括:通信部11;气泡分组发送部12;范围检测用分组发送部13;回信分组接收部14;端口宽度检测用分组发送部15;气泡分组发送对象端口接收部16;范围接收部17;端口宽度接收部18;和回信分组发送部19。
通信部11进行气泡分组发送部12等第1信息处理装置1内部的各个构成要素与第1通信控制装置3之间的通信。
气泡分组发送部12通过通信部11和第1通信控制装置3向第2通信控制装置4发送气泡分组。此处,所说气泡分组指为了建立第1信息处理装置1和第2信息处理装置2之间的通信,而在第1通信控制装置3保留发送履历用的分组。并且,所说建立通信,指在第1信息处理装置1和第2信息处理装置2之间开始不通过服务器的点对点的(Peer to Peer)通信。并且,所说保留发送履历,指在第1通信控制装置3中分配用于接收后述的回信分组的端口(打开端口)。另外,一般以保留其发送履历为目的发送气泡分组,但发送规定分组的结果,也可以在第1通信控制装置3保留用于接收回信分组的发送履历(此时,保留了该发送履历的规定分组成为所说的气泡分组)。该气泡分组可以包含任何信息,也可以不包含任何信息。该气泡分组例如利用UDP(用户数据报协议:User Datagram Protocol)那样的无连接式通信协议发送。
范围检测用分组发送部13把范围检测用分组发送给第1服务器6或第2服务器7。该范围检测用分组在检测包括气泡分组发送端口在内的端口范围时使用。此处,所说气泡分组发送端口指在气泡分组的发送中使用的第1通信控制装置3的端口。该范围检测用分组在发送气泡分组之前、和/或发送气泡分组之后发送。在发送气泡分组的前后发送范围检测用分组时,也可以在其前后向分别不同的地址(IP地址)发送范围检测用分组。该范围检测用分组例如利用UDP、TCP(传输控制协议:TransmissionControl Protocol)发送。该范围检测用分组可以包含某种信息,也可以不包含任何信息。
回信分组接收部14接收从第2信息处理装置2通过第2通信控制装置4发送的回信分组。该回信分组被发送给根据第1通信控制装置3的气泡分组的发送而分配的端口、即气泡分组发送端口。通过接收该回信分组,建立第1信息处理装置1和第2信息处理装置2之间的通信。该回信分组例如利用UDP发送。该回信分组可以包含某种信息,也可以不包含任何信息。
端口宽度检测用分组发送部15把用于检测第1通信控制装置3的端口宽度的端口宽度检测用分组,通过第1通信控制装置3发送给第1服务器6。此处,所说端口宽度指连续使用的(被分配的)端口的宽度(间隔)。例如,端口宽度为“1”时,在端口序号“20000”的端口之后被使用的端口是端口序号“20001”的端口。另一方面,端口宽度为“2”时,在端口序号“20000”的端口之后被使用的端口是端口序号“20002”的端口。该端口宽度检测用分组例如利用UDP、TCP发送。该端口宽度检测用分组可以包含某种信息,也可以不包含任何信息。
气泡分组发送对象端口接收部16接收气泡分组发送对象端口信息。此处,所说气泡分组发送对象端口信息,指表示第2通信控制装置4中气泡分组要发送到的对象的端口即气泡分组发送对象端口的位置的信息。例如,通过使气泡分组发送对象端口的端口序号包含于气泡分组发送对象端口信息中,第1信息处理装置1可以知道气泡分组发送对象端口的位置。作为该气泡分组发送对象端口,例如有第2信息处理装置2与第1服务器6之间进行信息的接收发送用的端口。
以上从气泡分组发送部12到气泡分组发送对象端口接收部16的各个部分,在第1信息处理装置1作为发送侧的信息处理装置动作时使用。此处,所说发送侧的信息处理装置,指建立第1信息处理装置1和第2信息处理装置2之间的通信时发送气泡分组的一方。在本实施方式中,只要不进行后述的接收发送交替,则发送气泡分组的一方和提出通信(连接)请求的一方(呼叫方)相同,所说发送侧也指提出通信请求的一方。另一方面,把其相反侧的信息处理装置、即发送相对于气泡分组的回信分组的一方的信息处理装置称为接收侧的信息处理装置。在本实施方式中,只要不进行接收发送交替,则发送回信分组的一方和接受通信请求的一方(被叫方)相同,所说接收侧也指接受通信请求的一方。以下说明的从范围接收部17到回信分组发送部19的各个部分,在第1信息处理装置1作为接收侧的信息处理装置进行动作时使用。
范围接收部17接收范围信息。此处,所说范围信息指表示回信分组发送部19向第2通信控制装置4发送回信分组的端口的范围信息。在范围信息中,包括第2通信控制装置4的气泡分组发送端口(从第2信息处理装置2向第1通信控制装置3发送气泡分组时使用的端口)在内的端口范围,例如利用端口序号表示。另外,在范围信息中,可以只利用端口的上限或端口的下限来表示端口范围,或者也可以利用端口的上限和下限来表示端口范围。此处,所说端口的上限指端口序号中较大一方的端口,所说端口的下限指端口序号中较小一方的端口。
端口宽度接收部18接收作为表示第2通信控制装置4的端口宽度的信息的端口宽度信息。
回信分组发送部19向第2通信控制装置4的至少包括气泡分组发送端口的一个或一个以上的端口发送回信分组。此时,通过向范围接收部17接收的范围信息表示的范围的端口发送回信分组,可以向第2通信控制装置4的包括气泡分组发送端口的端口发送回信分组。并且,在向两个或两个以上的端口发送回信分组时,按照每个端口宽度信息表示的每个端口宽度发送回信分组。结果,在端口宽度信息表示的端口宽度为两个或两个以上时,可以高效地发送回信分组。并且,回信分组例如也可以从第1信息处理装置1与第1服务器6进行通信的端口发送。
图3是表示第2信息处理装置2的结构的方框图。在图3中,第2信息处理装置2包括:通信部21;气泡分组发送部22;范围检测用分组发送部23;回信分组接收部24;端口宽度检测用分组发送部25;气泡分组发送对象端口接收部26;范围接收部27;端口宽度接收部28;和回信分组发送部29。此处,第2信息处理装置2的从通信部21到回信分组发送部29的各个部分,除了第1信息处理装置1、第1通信控制装置3被第2信息处理装置2、第2通信控制装置4替换以外,其他与第1信息处理装置1的从通信部11到回信分组发送部19的结构相同,所以省略其说明。
另外,第2信息处理装置2的从气泡分组发送部22到气泡分组发送对象端口接收部26,在第2信息处理装置2作为发送侧进行动作时使用。另一方面,从范围接收部27到回信分组发送部29在第2信息处理装置2作为接收侧进行动作时使用。
第1通信控制装置3控制第1信息处理装置1的通信,使用所谓的纳特(NAT),控制本地侧(第1信息处理装置1侧)和全局侧(通信线路5侧)的通信。该NAT包括:全锥型纳特(Full Cone NAT)、有限锥型纳特(Restricted Cone NAT,以下略称为“R NAT”)、端口限制锥型纳特(Port Restricted Cone NAT,以下略称为“PR NAT”)、地址敏感均衡纳特(Address Sensitive Symmetric NAT,以下略称为“AS NAT”)、端口敏感均衡纳特(Port Sensitive Symmetric NAT,以下略称为“PSNAT”)。
并且,第2通信控制装置4控制第2信息处理装置2的通信,与第1通信控制装置3相同使用纳特。如后面所述,作为第1通信控制装置3和第2通信控制装置4的组合,除PS NAT之间的组合之外,都可以建立第1信息处理装置1和第2信息处理装置2之间的通信。另外,在第1通信控制装置3和第2通信控制装置4中,端口的分配是按照每个规定的端口宽度使端口序号增大或减小来进行的。在以下说明中,说明端口序号增大的分配情况。
图4是表示第1服务器6和第2服务器7的结构的方框图。在图4中,第1服务器6包括:通信部61;信息接收发送部62;特性判断部63;接收发送确定部64;气泡分组发送对象端口发送部65;范围检测部66;范围发送部67;端口宽度检测部68;和端口宽度发送部69。并且,第2服务器7包括通信部71。
通信部61、71进行信息接收发送部62等第1服务器6的各个部分与第1信息处理装置1和第2信息处理装置2等的通信。并且,通信部61和通信部71进行服务器之间的信息传递。另外,第2服务器7虽然只示出通信部71,但除该通信部71以外,也可以包括其他构成要素。
信息接收发送部62与第1信息处理装置1和第2信息处理装置2接收发送信息。该信息接收发送部62的信息接收发送通过通信部61、通信部71等进行。
特性判断部63判断第1通信控制装置3和第2通信控制装置4的特性。所说第1通信控制装置3和第2通信控制装置4的特性,指在第1通信控制装置3等中使用的NAT的类型。因此,第1通信控制装置3的特性例如判断为Full Cone NAT、AS NAT等。
接收发送确定部64根据特性判断部63的判断结果,把第1信息处理装置1和第2信息处理装置2中任一方确定为发送侧(发送侧信息处理装置),把另一方确定为接收侧(接收侧信息处理装置)。根据这种确定,第1通信控制装置3和第2通信控制装置4中控制发送侧信息处理装置的通信的通信控制装置成为发送侧通信控制装置,控制接收侧信息处理装置的通信的通信控制装置成为接收侧通信控制装置。
气泡分组发送对象端口发送部65向发送侧信息处理装置发送气泡分组发送对象端口信息,该信息表示接收侧通信控制装置的气泡分组发送对象端口的位置。
范围检测部66接收从发送侧信息处理装置发送的范围检测用分组,根据所接收的范围检测用分组,检测包括气泡分组发送端口在内的端口范围。该端口范围的检测也可以获取范围检测用分组的头部中包含的端口序号,并记录在规定的存储器等中。另外,范围检测用分组可以从发送侧信息处理装置发送给通信部61,或者也可以通过通信部61接收发送给第2服务器7的通信部71的分组。在后者时,在第1服务器6和第2服务器7中的IP地址不同。
范围发送部67向接收侧信息处理装置发送范围信息,该范围信息是表示包括范围检测部66检测的气泡分组发送端口在内的端口范围的信息。
端口宽度检测部68接收从发送侧信息处理装置通过发送侧通信控制装置发送的端口宽度检测用分组。此处,所说端口宽度检测用分组,指检测发送侧通信控制装置的端口宽度时使用的分组。端口宽度检测部68根据所接收的端口宽度检测用分组,检测发送侧通信控制装置的端口宽度。
端口宽度发送部69向接收侧信息处理装置发送端口宽度信息,该端口宽度信息是表示端口宽度检测部68检测的端口宽度的信息。
下面,说明本实施方式的通信系统的动作。特别使用图5的流程图,说明截止到第1信息处理装置1和第2信息处理装置2开始通信时的通信方法。
(步骤S101)利用第1服务器6的特性判断部63,判断第1通信控制装置3和第2通信控制装置4的特性,由此确定第1信息处理装置1和第2信息处理装置2中哪方是发送侧、哪方是接收侧。
此处,在发送侧使用PS NAT、接收侧使用AS NAT时,或者在发送侧使用PR NAT、接收侧使用AS NAT或PS NAT时,不能建立信息处理装置之间的通信,所以进行该发送侧和接收侧的确定。另外,在发送侧和接收侧使用PS NAT时,在本实施方式的方法中,不能建立信息处理装置之间的通信。关于上述情况下不能建立通信的理由将在后面叙述。
(步骤S102)从发送侧信息处理装置向接收侧信息处理装置发送气泡分组,从接收侧信息处理装置向至少包括气泡分组发送端口的一个或一个以上的端口发送回信分组,从而建立通信。另外,关于步骤S101、S102的具体处理将在后面叙述。
图6是表示在步骤S101中第1服务器6确定接收发送的处理的流程图。此处,在该流程图的说明中,设从第1信息处理装置1对第2信息处理装置2进行通信。因此,第1信息处理装置1和第1通信控制装置3成为发送侧的装置,第2信息处理装置2和第2通信控制装置4成为接收侧的装置。另外,在从第2信息处理装置2对第1信息处理装置1进行通信时,除了第1信息处理装置1和第1通信控制装置3被第2信息处理装置2和第2通信控制装置4替换外,其他与以下流程图中的说明相同。
(步骤S201)第1服务器6的特性判断部63判断发送侧的第1通信控制装置3的特性。关于特性的判断方法将在后面叙述。
(步骤S202)接收发送确定部64判断第1通信控制装置3是否使用PS NAT。在使用PS NAT时转入步骤S205,在不使用时转入步骤S203。
(步骤S203)接收发送确定部64判断第1通信控制装置3是否使用PR NAT。在使用PR NAT时转入步骤S204,在不使用时结束接收发送的确定处理。即,把第1信息处理装置1和第1通信控制装置3作为发送侧的装置,把第2信息处理装置2和第2通信控制装置4作为接收侧的装置,进行步骤S102的建立通信的处理。
(步骤S204)接收发送确定部64进行接收发送的交替,接收发送的确定处理结束。即,把第1信息处理装置1和第1通信控制装置3作为接收侧的装置,把第2信息处理装置2和第2通信控制装置4作为发送侧的装置,进行步骤S102的建立通信的处理。
(步骤S205)特性判断部63判断接收侧的第2通信控制装置4的特性。
(步骤S206)接收发送确定部64判断第2通信控制装置4是否使用PS NAT。在使用PS NAT时,则成为发送侧、接收侧双方使用PS NAT,使得通信不能建立,出现错误。另一方面,在不使用PS NAT时,转入步骤S207。
(步骤S207)接收发送确定部64判断第2通信控制装置4是否使用AS NAT。在使用AS NAT时转入步骤S204,在不使用时结束接收发送的确定处理。即,把第1信息处理装置1和第1通信控制装置3作为发送侧的装置,把第2信息处理装置2和第2通信控制装置4作为接收侧的装置,进行步骤S102的建立通信的处理。
另外,该流程图是确定接收发送的处理的一例,也可以利用除此以外的方法确定接收发送。例如,在该流程图中,在发送侧使用PR NAT时,为了减少判断处理的次数,不判别接收侧使用的NAT的类型即进行接收发送的交替,但在判断处理的次数较多也可以时,在判断发送使用PR NAT后,判断接收侧是使用PS NAT还是使用AS NAT,结果,只在判断为使用其中某一方时,进行接收的交替。
下面,使用图7~图9说明第1通信控制装置3的特性的判断方法。另外,第2通信控制装置4的特性也可以利用相同方法判断。
在图7中,第1信息处理装置1向第1服务器6的端口P101发送规定的分组。此处,该分组通过第1通信控制装置3的端口P100。该发送的分组通过通信部61,由特性判断部63接收。并且,特性判断部63把通过接收该分组所检测到的向第1通信控制装置3的端口P100发送分组的指示,通过通信部61转发给第2服务器7的通信部71。这样,从通信部71向端口P100发送分组。在第1信息处理装置1能够接收从该通信部71发给端口P100的分组时,特性判断部63判断为第1通信控制装置3使用FullCone NAT。另一方面,在第1信息处理装置1不能接收从该通信部71发给端口P100的分组时,按照图8中说明的方法进行判断。
在图8中,第1信息处理装置1向第1服务器6的端口P101、端口P103和第2服务器7的端口P102发送规定的分组。特性判断部63接收发送给该端口P101、P103的分组,并且通过通信部71接收发送给端口P102的分组。并且,判断分组通过的第1通信控制装置3的端口Pa、Pb是否相同。在端口Pa和端口Pb不同时,判断为第1通信控制装置3使用PSNAT。
在端口Pa和端口Pb相同时,判断端口Pb和端口Pc是否相同。在端口Pb和端口Pc不同时,判断为第1通信控制装置3使用AS NAT。在端口Pa、端口Pb和端口Pc相同时,按照图9中说明的方法进行判断。
在图9中,第1信息处理装置1向第1服务器6的端口P101发送规定的分组。特性判断部63接收该分组,并从与端口P101不同的端口P103向该分组通过了的第1通信控制装置3的端口P100发送分组。在第1信息处理装置1可以接收来自端口P103的分组时,特性判断部63判断为第1通信控制装置3使用R NAT,在第1信息处理装置1不能接收来自端口P103的分组时,特性判断部63判断为第1通信控制装置3使用PR NAT。
这样,按照使用图7~图9说明的方法,特性判断部63可以判断第1通信控制装置3的特性。另外,在上述说明中省略了具体细节的说明,但从第1信息处理装置1的分组的发送等是按照特性判断部63的指示进行的。
下面,使用图10说明图5所示流程图中的步骤S102的处理。图10是说明与建立通信相关的、发送侧信息处理装置和服务器和接收侧信息处理装置之间的信息传递和处理的图。另外,图10中的服务器指第1服务器6和第2服务器7双方。并且,为了便于说明,把第1信息处理装置1和第1通信控制装置3作为发送侧,把第2信息处理装置2和第2通信控制装置4作为接收侧。
(步骤S301)第1服务器6的信息接收发送部62向第1信息处理装置1发送表示第2通信控制装置4的IP地址的地址信息。该发送的地址信息由第1信息处理装置1的通信部11接收,并转发给气泡分组发送部12。
(步骤S302)气泡分组发送对象端口发送部65向第1信息处理装置1发送气泡分组发送对象端口信息。该发送的气泡分组发送对象端口信息通过通信部11由气泡分组发送对象端口接收部16接收,并转发给气泡分组发送部12。
(步骤S303)第1信息处理装置1的端口宽度检测用分组发送部15向第1服务器6发送端口宽度检测用分组。此处,在该发送中,设多个端口宽度检测用分组通过的第1通信控制装置3的端口互不相同。该端口宽度检测用分组例如是从第1信息处理装置1的端口序号互不相同的多个端口发送的。图11是说明端口宽度检测用分组的发送的图。端口宽度检测用分组发送部15从互不相同的端口P205~P208依次向第1服务器6的端口P200发送端口宽度检测用分组。这样,在第1通信控制装置3中,这些分组通过互不相同的端口P201~P204。另外在图11中,按照从端口P205~P208的顺序发送分组。并且,设第1信息处理装置1在发送端口宽度检测用分组之前,在与第1服务器6的通信中不使用端口P205~P208。
(步骤S304)第1服务器6的端口宽度检测部68接收从第1信息处理装置1发送的端口宽度检测用分组,根据该端口宽度检测用分组,检测端口宽度。说明该端口宽度的检测方法。端口宽度检测部68通过接收端口宽度检测用分组,从而可以检测在各个端口宽度检测用分组的发送中使用的第1通信控制装置3的端口P201~P204。并且,例如端口P202和端口P201的端口间隔是12、端口P203和端口P202的端口间隔是6、端口P204和端口P203的端口间隔是18时,可以把最小的端口间隔“6”检测为端口宽度。另一方面,也可以把这些端口间隔的最大公约数检测为端口宽度。例如,端口P202和端口P201的端口间隔是12、端口P203和端口P202的端口间隔是6、端口P204和端口P203的端口间隔是9时,可以把它们的最大公约数“3”检测为端口宽度。这样检测的端口宽度被转发给端口宽度发送部69。另外,端口宽度的检测方法不限于这些,也可以利用其他方法检测端口宽度。并且,在检测端口宽度时发送的端口宽度检测用分组的数量不限于4个,可以在能够检测端口宽度的范围内任意设定。
(步骤S305)范围检测用分组发送部13把范围检测用分组通过第1通信控制装置3发送给第1服务器6。在该发送中,设在进行分组的发送时使范围检测用分组通过第1通信控制装置3中最新分配的端口。这是为了能够适当限定包括气泡分组发送端口在内的端口的范围。例如,范围检测用分组发送部13使用在第1信息处理装置1和第1服务器6之间的通信中此前没有使用的第1信息处理装置1的端口,发送范围检测用分组。这样发送的范围检测用分组在第1服务器6的范围检测部66被接收。该范围检测部66参照所接收的范围检测用分组的头部中包含的端口序号,可以知道在范围检测用分组的发送中使用的第1通信控制装置3的端口的位置。
(步骤S306)气泡分组发送部12根据利用在步骤S301发送的地址信息表示的第2通信控制装置4的IP地址、和在步骤S302发送的气泡分组发送对象端口信息,向第2通信控制装置4的气泡分组发送对象端口发送气泡分组。另外,在通过该气泡分组的发送不建立通信的前提基础下,说明以下的步骤,但假定第2通信控制装置4使用Full Cone NAT,在气泡分组发送对象端口是在第2信息处理装置2和第1服务器6之间进行信息接收发送时使用的端口等那样已经由第2信息处理装置2使用的端口时,第2信息处理装置2接收气泡分组,从而建立通信。
(步骤S307)范围检测用分组发送部13把范围检测用分组通过第1通信控制装置3发送给第2服务器7。该范围检测用分组通过通信部71和通信部61由范围检测部66接收。另外,在第1通信控制装置3有可能使用AS NAT时,需要这样向第2服务器7发送范围检测用分组,但在第1通信控制装置3不可能使用AS NAT时,也可以向第1服务器6发送气泡分组发送后的范围检测用分组。该情况时,与步骤S305相同,例如使用在与第1服务器6之间的通信中此前没有使用的第1信息处理装置1的端口,进行该范围检测用分组的发送。这样发送的范围检测用分组在第1服务器6的范围检测部66被接收。该范围检测部66可以知道在范围检测用分组的发送中使用的第1通信控制装置3的端口位置。
(步骤S308)范围检测部66根据在步骤S305和步骤S307发送的范围检测用分组,检测包括气泡分组发送端口在内的端口范围。具体讲,把从在步骤S305的范围检测用分组的发送中使用的第1通信控制装置3的端口、到在步骤S307的范围检测用分组的发送中使用的第1通信控制装置3的端口,检测为包括气泡分组发送端口在内的端口的范围。
(步骤S309)范围发送部67向第2信息处理装置2发送由范围检测部66检测的、表示包括气泡分组发送端口在内的端口范围的范围信息。该范围信息由第2信息处理装置2的范围接收部27接收,并转发给回信分组发送部29。
(步骤S310)信息接收发送部62向第2信息处理装置2发送表示第1通信控制装置3的IP地址的地址信息。该发送的地址信息由通信部21接收,并转发给回信分组发送部29。
(步骤S311)端口宽度发送部69向第2信息处理装置2发送由端口宽度检测部68检测的表示端口宽度的端口宽度信息。该端口宽度信息由第2信息处理装置2的端口宽度接收部28接收,并转发给回信分组发送部29。
(步骤S312)回信分组发送部29向利用在步骤S310接收的地址信息表示的IP地址确定的第1通信控制装置3发送回信分组。该回信分组按照每个端口宽度信息表示的端口宽度被发送给从范围接收部27接收的范围信息表示的范围的端口。
(步骤S313)第1信息处理装置1的回信分组接收部14接收从第2信息处理装置2发送的回信分组。通过接收该回信分组,建立第1信息处理装置1和第2信息处理装置2之间的通信。并且,以后在第1信息处理装置1和第2信息处理装置2之间进行不通过第1服务器6和第2服务器7的信息接收发送(例如,隧道通信)。
另外,在图10中,端口宽度的检测(步骤S303、S304)只要在端口宽度信息的发送(步骤S311)之前进行即可,例如可以在端口宽度的检测(步骤S304)之后马上向接收侧发送端口宽度信息。并且,发送侧的地址的发送(步骤S310)例如可以与接收侧的地址的发送(步骤S301)同时进行。这样,在图10中,处理的顺序具有一定程度的任意性。
并且,在回信分组的发送中,即使按照每个端口宽度信息表示的端口宽度发送回信分组,在回信分组未被接收时(即,发送回信分组后经过规定时间后,第2信息处理装置2仍没有从第1信息处理装置1接收到已接收回信分组的信息时),由于所检测的端口宽度也有可能不同,所以第2信息处理装置2把端口宽度设定为1,再次进行回信分组的发送。或者,在利用最大公约数计算端口宽度时,依次把从最大公约数到1的公约数设定为端口宽度,再次进行回信分组的发送。例如,在所检测的端口宽度为“8”、“4”时,把最大公约数“4”设定为端口宽度并进行回信分组的发送,在不能建立通信时,把“2”设定为端口宽度并进行回信分组的发送。在即使如此也不能建立通信时,把端口宽度设定为“1”。
下面,使用具体示例说明本实施方式的通信系统的动作。在该具体示例中,第1通信控制装置3、第2通信控制装置4、第1服务器6、第2服务器7的IP地址(第1和第2通信控制装置3、4为通信线路5侧的地址)分别如下。
第1通信控制装置3:202.132.10.6
第2通信控制装置4:131.206.10.240
第1服务器6:155.32.10.10
第2服务器7:155.32.10.20
并且,设从第1信息处理装置1进行向第2信息处理装置2的连接请求。即,开始第1信息处理装置1为发送侧的处理。
在以下的具体示例中,在具体例1中说明第1通信控制装置3为ASNAT、第2通信控制装置4为PS NAT的情况。在具体例2中说明第1通信控制装置3为PS NAT、第2通信控制装置4为AS NAT的情况。在具体例3中说明第1通信控制装置3为PS NAT、第2通信控制装置4为PRNAT的情况。在具体例4中说明第1通信控制装置3和第2通信控制装置4为Full Cone NAT的情况。
(具体例1)
图12、图13是说明具体例1的图。首先,说明从第1信息处理装置1进行连接请求的动作。在图12中,第1信息处理装置1预先知道第1服务器6的IP地址“155.32.10.10”、和第2服务器7的IP地址“155.32.10.20”,向该第1服务器6发送第1信息处理装置1的设备ID“1234567890123456”。此处,作为该设备ID,例如可以使用MAC地址、基于EU164的地址等的GUID(全球唯一ID:Global Uinque ID)。该设备ID的发送通过第1通信控制装置3的端口P1发送给第1服务器6的端口P3。通过该发送,第1服务器6的信息接收发送部62可以知道第1信息处理装置1的设备ID、第1通信控制装置3的IP地址“202.132.10.6”和第1通信控制装置3的端口P1的端口序号“10130”。这些信息被保存在信息接收发送部62中。
然后,第1信息处理装置1向第1服务器6发送请求连接的第2信息处理装置2的设备ID“9876543210123456”,由此进行针对第2信息处理装置2的连接请求。此时,第1服务器6的信息接收发送部62接收该连接请求,判断第2信息处理装置2是否已经访问(Access)第1服务器6。该第2信息处理装置2的访问也与上述的第1信息处理装置1相同,通过发送第2信息处理装置2的设备ID来进行。因此,在第2信息处理装置2已经访问第1服务器6时,第1服务器6已经知道第2信息处理装置2的设备ID“9876543210123456”、第2通信控制装置4的IP地址“131.206.10.240”、在第2信息处理装置2和第1服务器6之间的信息接收发送中使用的第2通信控制装置4的端口P2的端口序号“21000”,这些信息被保存在信息接收发送部62中。在第2信息处理装置2已经访问第1服务器6时,信息接收发送部62向特性判断部63转发进行接收发送的确定(步骤S101)的指示,由此开始确定接收发送的处理。另一方面,在第2信息处理装置2没有访问第1服务器6时,来自第1信息处理装置1的连接请求成为错误,不能建立第1信息处理装置1和第2信息处理装置2之间的通信。
在确定接收发送时,特性判断部63判断发送侧的通信控制装置即第1通信控制装置3的特性(步骤S201)。于是,判断第1通信控制装置3使用AS NAT,并将该信息转发给接收发送确定部64。接收发送确定部64判断发送侧的通信控制装置没有使用PS NAT,并且没有使用PR NAT(步骤S202、S203)。结果,不进行接收发送的交替,第1信息处理装置1、第1通信控制装置3作为发送侧,第2信息处理装置2、第2通信控制装置4作为接收侧的信息,被转发给信息接收发送部62、气泡分组发送对象端口发送部65、范围发送部67和端口宽度发送部69。
信息接收发送部62接收到第1信息处理装置1是发送侧的信息时,把表示接收侧的第2通信控制装置4的IP地址“131.206.10.240”的地址信息,通过端口P1发送给第1信息处理装置1(步骤S301)。并且,气泡分组发送对象端口发送部65把作为表示第2通信控制装置4的端口P2的端口序号“21000”的信息的气泡分组发送对象端口信息,通过端口P1发送给第1信息处理装置1(步骤S302)。
结果,这些信息被第1信息处理装置1的通信部11接收,表示第2通信控制装置4的IP地址“131.206.10.240”的地址信息被转发给气泡分组发送部12,气泡分组发送对象端口信息被转发给气泡分组发送对象端口接收部16。于是,气泡分组发送对象端口信息由气泡分组发送对象端口接收部16接收,并转发给气泡分组发送部12。这样,气泡分组发送部12获取气泡分组的发送目的地即第2通信控制装置4的IP地址。
通信部11告知端口宽度检测用分组发送部15已接收气泡分组发送对象端口信息等,端口宽度检测用分组发送部15按照图11所示发送多个端口宽度检测用分组(步骤S303)。另外,在图12、图13中没有示出端口宽度检测用分组的发送。该端口宽度检测用分组由端口宽度检测部68接收,并检测端口宽度。该情况时,端口宽度被检测为“1”(步骤S304)。所检测的端口宽度被转发给端口宽度发送部69。
气泡分组发送部12在发送气泡分组之前,向范围检测用分组发送部13转发发送范围检测用分组的指示。此时,范围检测用分组发送部13使用与和第1服务器6的通信中使用的端口不同的端口,向第1服务器6发送范围检测用分组(步骤S305)。另外,该范围检测用分组的发送目的地端口即端口P6由第1服务器6指示给第1信息处理装置。设该范围检测用分组使用第1通信控制装置3的端口P5发送。此时,接收了该范围检测用分组的范围检测部66,检测该第1通信控制装置3的端口P5的端口序号“10135”。范围检测部66保存该端口P5的端口序号“10135”。
范围检测用分组发送部13在发送范围检测用分组后,告知气泡分组发送部12已发送范围检测用分组。此时,气泡分组发送部12把气泡分组发送给从通信部11接收的地址信息表示的、IP地址为“131.206.10.240”的第2通信控制装置4的端口序号“21000”的气泡分组发送对象端口(步骤S306)。这里,设该气泡分组使用第1通信控制装置3的端口P7(端口序号“10142”)发送。
气泡分组发送部12在发送气泡分组后,向范围检测用分组发送部13转发发送范围检测用分组的指示。此时,范围检测用分组发送部13向IP地址为“155.32.10.20”的第2服务器7发送范围检测用分组(步骤S307)。而且,设气泡分组和第2次的范围检测用分组是从发送了第1次范围检测用分组的第1信息处理装置1的端口发送的。
设在发送气泡分组后发送的范围检测用分组是使用第1通信控制装置3的端口P8发送的。此时,范围检测部66通过第2服务器7的通信部71和第1服务器6的通信部61接收该范围检测用分组,检测端口P8的端口序号“10145”。并且,范围检测部66检测出以所保存的端口P5的端口序号“10135”和所检测的端口P8的端口序号“10145”,分别作为下限和上限的范围(步骤S308)。并且,如果把该范围转发给范围发送部67,则范围发送部67把表示该范围的范围信息,通过第2通信控制装置4的端口P2发送给第2信息处理装置2(步骤S309)。该范围信息由第2信息处理装置2的范围接收部27接收,并转发给回信分组发送部29。
另外,端口P5、P7、P8不是连续的端口序号,这是由于以下情况产生的,即,在第1通信控制装置3的本地侧连接有第1信息处理装置1以外的装置(未图示),在从范围检测用分组的发送到气泡分组的发送、或者从气泡分组的发送到范围检测用分组的发送中,把第1通信控制装置3的端口分配给了该装置。
范围发送部67告知信息接收发送部62和端口宽度发送部69已发送范围信息,信息接收发送部62把表示第1通信控制装置3的IP地址“202.132.10.6”的地址信息发送给第2信息处理装置2(步骤S310)。并且,端口宽度发送部69向第2信息处理装置2发送由端口宽度检测部68检测的表示端口宽度的端口宽度信息(步骤S311)。于是,表示第1通信控制装置3的IP地址的地址信息,从通信部21转发给回信分组发送部29,端口宽度信息转发给端口宽度接收部28,并转发给回信分组发送部29。这样,回信分组发送部29获取回信分组的发送目的地即第1通信控制装置3的IP地址。
回信分组发送部29向从通信部21接收的地址信息表示的IP地址为“202.132.10.6”的第1通信控制装置3发送回信分组。该回信分组例如图13所示,按照每个端口宽度信息表示的端口宽度“1”,发送给利用范围信息表示的从端口序号“10135”到“10145”为止的端口。此处,第2通信控制装置4是PS NAT,所以从第2信息处理装置2发送的回信分组使用从端口P10到端口P11的11个端口发送(步骤S312)。在第1通信控制装置3中,通过发送气泡分组,在端口P7保留发送履历,所以回信分组中发送给端口P7(端口序号“10142”)的回信分组被转发给第1信息处理装置1,通过通信部11由回信分组接收部14接收(步骤S313)。这样,第1信息处理装置1可以知道在回信分组的发送中使用的第2通信控制装置4的端口位置。然后,第1信息处理装置1通过第1通信控制装置3的端口P7向该端口发送信息,由此能够建立第1信息处理装置1和第2信息处理装置2之间的通信,可以不通过服务器直接进行基于UDP的通信。
另外,在该具体例1中,气泡分组发送端口(端口P7)的端口序号是“10140”,在第1通信控制装置3的端口宽度是“5”时,回信分组只发送给3个端口即端口P5、P7、P8,由此可以高效地进行回信分组的发送。
并且,在该具体例1中,说明了第2信息处理装置2从与第1服务器6进行通信的端口(第2信息处理装置2的端口)发送回信分组的情况,但也可以从其他端口发送回信分组。例如,第1服务器6为了检测气泡分组发送对象端口的位置,也可以从发送了从第2信息处理装置2发送给第1服务器6的分组的第2信息处理装置2的端口发送回信分组。另外,该情况时,该分组通过的第2通信控制装置4的端口成为气泡分组发送对象端口。
并且,在该具体例1中,说明了气泡分组和第2次范围检测用分组从发送了第1次范围检测用分组的第1信息处理装置1的端口发送的情况,但气泡分组和第2次范围检测用分组也可以从第1信息处理装置1中新分配的互不相同的端口发送。
(具体例2)
在具体例2中,说明第1通信控制装置3使用PS NAT、第2通信控制装置4使用AS NAT的情况。
关于从第1信息处理装置1进行连接请求的动作,由于与具体例1相同,所以省略其说明。
下面,说明进行确定接收发送的动作。特性判断部63判断发送侧的通信控制的第1通信控制装置3的特性(步骤S201)。并且,在判断为第1通信控制装置3使用PS NAT时,将该信息转发给接收发送确定部64。接收发送确定部64判断为发送侧的通信控制装置使用PS NAT(步骤S202),向特性判断部63转发判断接收侧的第2通信控制装置4的特性的指示。于是,特性判断部63判断第2通信控制装置4的特性(步骤S205)。并且,在判断为第2通信控制装置4使用AS NAT时,将该信息转发给接收发送确定部64。接收发送确定部64判断为接收侧的通信控制装置使用AS NAT(步骤S206、S207),进行接收发送的交替(步骤S204)。因此,第1信息处理装置1、第1通信控制装置3被设定为接收侧,第2信息处理装置2、第2通信控制装置4被设定为发送侧。并且,第1信息处理装置1和第1通信控制装置3被设定为接收侧、第2信息处理装置2和第2通信控制装置4被设定为发送侧的信息,被转发给信息接收发送部62、气泡分组发送对象端口发送部65、范围发送部67、端口宽度发送部69。关于以后的动作,除了第1信息处理装置1被第2信息处理装置2替换、第1通信控制装置3被第2通信控制装置4替换以外,其他和具体例1相同,所以省略其说明。
另外,也可以把第1信息处理装置1和第1通信控制装置3是接收侧、第2信息处理装置2和第2通信控制装置4是发送侧的情况,通知第1信息处理装置1、第2信息处理装置2等,或者第1信息处理装置1、第2信息处理装置2等在接收到气泡分组发送对象端口信息时检测为是发送侧,而在接收到范围信息时检测为是接收侧。
(具体例3)
在具体例3中,说明第1通信控制装置3使用PS NAT、第2通信控制装置4使用PR NAT的情况。
关于从第1信息处理装置1进行连接请求的动作由于与具体例1相同,所以省略其说明。
下面,说明进行确定接收发送的动作。特性判断部63判断作为发送侧的通信控制的第1通信控制装置3的特性(步骤S201)。于是,在判断为第1通信控制装置3使用PS NAT时,将该信息转发给接收发送确定部64。接收发送确定部64判断为发送侧的通信控制装置使用PS NAT(步骤S202),向特性判断部63转发判断接收侧的第2通信控制装置4的特性的指示。于是,特性判断部63判断第2通信控制装置4的特性(步骤S205)。并且,在判断为第2通信控制装置4使用PR NAT时,将该信息转发给接收发送确定部64。接收发送确定部64判断为接收侧的通信控制装置不使用PS NAT、也不使用AS NAT(步骤S206、S207)。结果,不进行接收发送的交替,第1信息处理装置1和第1通信控制装置3是发送侧、第2信息处理装置2和第2通信控制装置4是接收侧的信息,被转发给信息接收发送部62、气泡分组发送对象端口发送部65、范围发送部67、端口宽度发送部69。
以后,从第1信息处理装置1发送气泡分组、范围检测用分组、范围信息、第1通信控制装置3的IP地址和端口宽度信息等被第2信息处理装置2接收,这些动作和具体例1相同,所以省略其说明。
图14是说明来自第2信息处理装置2的回信分组的发送的图。在图14中,第2信息处理装置2的回信分组发送部29,根据范围接收部27从第1服务器6接收的范围信息,向IP地址为“202.132.10.6”的第1通信控制装置3的从端口序号“10135”的端口P5到端口序号“10145”的端口P8发送回信分组(步骤S312)。该回信分组的发送是按照每个端口宽度接收部28接收的端口宽度信息表示的端口宽度“1”进行的。另外,由于第2通信控制装置4使用PR NAT,所以回信分组通过端口P2发送给第1通信控制装置3。即,回信分组是从与第1服务器6进行通信的第2信息处理装置2的端口发送。除此以外的动作和具体例1相同,所以省略其说明。
另外,在该具体例3中,发送侧的第1通信控制装置3不是AS NAT。因此,范围检测用分组发送部13也可以从特性判断部63等接收该信息,把发送回信分组后的范围检测用分组发送给第1服务器6而不是第2服务器7。此处,在该具体例3的情况下,由于发送侧的第1通信控制装置3使用PS NAT,所以在向第1服务器6发送范围检测用分组时,可以使发送该分组的第1信息处理装置1的端口成为与和第1服务器6通过端口1通信时使用的端口相同的端口。但是,在该情况下,由于在第1通信控制装置3中被分配了新的端口,所以需要向第1服务器6的不同端口即端口P3和端口P6发送范围检测用分组。
(具体例4)
在具体例4中,说明第1通信控制装置3和第2通信控制装置4使用Full Cone NAT的情况。另外,只说明该情况时的特征部分,省略与上述具体例相同的部分的说明。
关于从第1信息处理装置1进行连接请求的动作由于与具体例1相同,所以省略其说明。
然后,在确定接收发送时,由于双方的通信控制装置是Full ConeNAT,所以不进行接收发送的交替,并确定第1信息处理装置1和第1通信控制装置3为发送侧,第2信息处理装置2和第2通信控制装置4为接收侧。
下面,使用图15、图16简单说明气泡分组的发送等。在图15中,如果第1通信控制装置3是Full Cone NAT,则范围检测用分组和气泡分组使用相同的端口P5发送。因此,气泡分组发送端口根据范围信息确定为一个。为此,如图16所示,从第2信息处理装置2发送的回信分组通过端口P2发送给端口P5,这样,可以建立第1信息处理装置1和第2信息处理装置2之间的通信。
在该说明中按照图10中的处理流程进行了说明,但在第2通信控制装置4是Full Cone NAT时,可以在第2信息处理装置2接收所发送的气泡分组,所以在该时间点建立通信。因此,也可以不进行范围检测用分组的发送、回信分组的发送等。
另外,在上述各个具体例中,把气泡分组的发送目的地设为端口P2(第2信息处理装置2与第1服务器6通信时使用的端口),这是因为在发送侧的第1通信控制装置3使用PR NAT或PS NAT,而且接收侧的第2通信控制装置4使用Full Cone NAT或PR NAT时,也能够建立通信。因此,如果是除此以外的情况(例如具体例4的情况),也可以向端口P2以外的端口发送气泡分组。特别是在第1通信控制装置3是Full Cone NAT时,气泡分组也可以发送给不是第2通信控制装置4的装置。
并且,在发送侧的第1通信控制装置3使用AS NAT以外的NAT时,也可以把发送给第2服务器7的范围检测用分组发送给第1服务器6。
并且,也可以使用在第1信息处理装置1中新分配的端口,分别向第1服务器6发送在发送气泡分组前后发送的范围检测用分组。这样,每当发送范围检测用分组时,在第1通信控制装置3中分配新的端口,从而能够检测分组括气泡分组发送端口在内的端口的范围。因此,即使在发送侧的第1通信控制装置3使用AS NAT时,也可以不使用第2服务器7即可检测分组括气泡分组发送端口在内的端口的范围。另外,在第1信息处理装置1中从不同端口发送了气泡分组和范围检测用分组时,该范围检测用分组通过的第1通信控制装置3的端口、与气泡分组通过的第1通信控制装置3的端口不同。因此,在这种情况下,可以把相比从与发送了气泡分组的端口不同的端口(第1信息处理装置1的端口)发送的范围检测用分组通过的端口(第1通信控制装置3的端口),向气泡分组发送端口附近靠近一个端口宽度的端口的位置设为发送回信分组的范围的端部。在发送两次范围检测用分组时,也可以使发送一方的范围检测用分组的端口(第1信息处理装置1的端口)、与发送气泡分组的端口为相同的端口。在这种情况下,在分组括气泡分组发送端口在内的端口范围内,包含从与发送气泡分组的端口相同的端口(第1信息处理装置1的端口)发送的范围检测用分组通过的第1通信控制装置3的端口。
另外,在发送侧的第1通信控制装置3是Full Cone NAT、R NAT、PR NAT中任一方时,也可以只在发送气泡分组之前或之后发送范围检测用分组。这是因为在第1通信控制装置3使用R NAT、PR NAT中任一方时,只要从第1信息处理装置1的相同端口发送气泡分组和范围检测用分组,则如图15所示,端口P5、端口P7和端口P8成为相同端口,可以根据其中一个范围检测用分组确定气泡分组发送端口。并且,在发送侧的第1通信控制装置3例如通过与第1服务器6进行通信的端口(例如图15中的端口P1)发送气泡分组时,也可以不发送范围检测用分组。
图17是表示关于在通信控制装置中使用的NAT类型是否可以连接的表。在本实施方式的通信系统中,除第1通信控制装置3、第2通信控制装置4双方使用PS NAT的情况之外,都可以进行第1信息处理装置1和第2信息处理装置2的连接。在上述各个具体例的说明中,也进行了有关对应于在通信控制装置中使用的NAT类型的例外处理的记载,但与通信控制装置中使用的NAT类型无关,把发送气泡分组之前的范围检测用分组和发送气泡分组之后的范围检测用分组发送到不同地址,把气泡分组发送目的地的端口作为接收侧的信息处理装置与服务器进行信息接收发送时使用的端口,在包括使用范围检测用分组检测的气泡分组发送端口在内的端口范围中发送回信分组,由此对图17中的“○”符号的组合,可以进行信息处理装置之间的连接。并且,对图17中的“△”符号的组合,通过进行接收发送的交替,也可以进行信息处理装置之间的连接。
此处,在发送侧使用PS NAT、接收侧使用PS NAT、AS NAT时,以及发送侧使用PR NAT、接收侧使用AS NAT或PS NAT时,不能建立信息处理装置之间的通信,下面使用图12~图14简单说明其原因。
(1)发送侧使用PS NAT,接收侧使用PS NAT、AS NAT时
该情况时,由于第1通信控制装置3使用PS NAT,向端口P2发送气泡分组时,第1信息处理装置1只能接收从该端口P2发送的回信分组。另一方面,在第2通信控制装置4使用PS NAT或AS NAT时,由于第2通信控制装置4在与第1服务器6的通信中使用端口P2,所以第2信息处理装置2不能通过端口P2向第1通信控制装置3发送回信分组(即,如图14所示,不能发送回信分组)。因此,该情况时,不能建立通信。但是,除发送侧和接收侧双方使用PS NAT的情况之外,通过交替发送侧和接收侧,能够建立通信。
(2)发送侧使用PR NAT,接收侧使用PS NAT、AS NAT时
该情况时,与上述(1)相同,由于第1通信控制装置3使用PR NAT,向端口P2发送气泡分组时,第1信息处理装置1只能接收来自该端口P2的回信分组。另一方面,由于第2通信控制装置4使用AS NAT或PS NAT,所以不能通过端口P2发送回信分组。因此,该情况时,不能建立通信。另外,该情况时,第1通信控制装置3的端口P5、P7、P8成为相同端口,这与前面叙述的相同。该情况时,通过交替发送侧和接收侧,能够建立通信。
如上所述,根据本实施方式的通信系统,除第1通信控制装置3和第2通信控制装置4双方是PS NAT的情况之外,可以建立第1信息处理装置1和第2信息处理装置2之间的通信。
(实施方式2)
参照附图说明本发明的实施方式2的通信系统。在本实施方式的通信系统中,包括气泡分组发送端口在内的端口范围的检测、端口宽度的检测等,不是由服务器进行,而是由信息处理装置进行,由此减轻服务器的处理负荷。
本实施方式的通信系统的结构利用第1信息处理装置10、第2信息处理装置20、第1服务器60,分别代替了第1信息处理装置1、第2信息处理装置2、第1服务器6,除此以外和图1所示相同,所以省略其说明。
图18是表示本实施方式的第1信息处理装置10的结构的方框图。在图18中,第1信息处理装置10包括:通信部11;气泡分组发送部12;范围检测用分组发送部13;回信分组接收部14;端口宽度检测用分组发送部15;气泡分组发送对象端口接收部16;范围接收部17;端口宽度接收部18;回信分组发送部19;检测用端口信息接收部71;范围检测部72;范围发送部73;端口宽度检测用端口信息接收部74;端口宽度检测部75;和端口宽度发送部76。另外,除检测用端口信息接收部71、范围检测部72、范围发送部73、端口宽度检测用端口信息接收部74、端口宽度检测部75和端口宽度发送部76之外的结构和动作,除端口宽度接收部18接收从第2信息处理装置20通过第1服务器60发送的端口宽度信息之外,与实施方式1相同,所以省略其说明。
检测用端口信息接收部71通过通信部11接收从第1服务器60发送的检测用端口信息。此处,所说检测用端口信息,指表示由范围检测用分组发送部13发送的范围检测用分组通过的第1通信控制装置3的端口位置的信息。
范围检测部72根据检测用端口信息接收部71接收的检测用端口信息,检测分组括气泡分组发送端口在内的端口范围。该端口范围的检测也可以获取检测用端口信息的分组的有效数据中包含的端口序号,并记录在规定的存储器等中。
范围发送部73通过第1服务器60向第2信息处理装置20发送范围信息,该范围信息是表示包括范围检测部72检测的气泡分组发送端口在内的端口范围的信息。
端口宽度检测用端口信息接收部74接收端口宽度检测用端口信息。此处,所说端口宽度检测用端口信息,指表示由端口宽度检测用分组发送部15发送的端口宽度检测用分组通过的第1通信控制装置3的端口位置的信息。该端口宽度检测用端口信息是从第1服务器60发送的。
端口宽度检测部75根据端口宽度检测用端口信息接收部74接收的端口宽度检测用端口信息,检测第1通信控制装置3的端口宽度。该端口宽度的检测与实施方式1的端口宽度检测部68进行的动作相同,所以省略其说明。
端口宽度发送部76通过第1服务器60向第2信息处理装置20发送端口宽度信息,该端口宽度信息是表示端口宽度检测部75检测的第1通信控制装置3的端口宽度的信息。
另外,第1信息处理装置10的从气泡分组发送部12到气泡分组发送对象端口接收部16、以及从检测用端口信息接收部71到端口宽度发送部76,在第1信息处理装置10作为发送侧进行动作时使用。另一方面,从范围接收部17到回信分组发送部19在第1信息处理装置10作为接收侧进行动作时使用。
图19是表示本实施方式的第2信息处理装置20的结构的方框图。在图19中,第2信息处理装置20包括:通信部21;气泡分组发送部22;范围检测用分组发送部23;回信分组接收部24;端口宽度检测用分组发送部25;气泡分组发送对象端口接收部26;范围接收部27;端口宽度接收部28;回信分组发送部29;检测用端口信息接收部81;范围检测部82;范围发送部83;端口宽度检测用端口信息接收部84;端口宽度检测部85;和端口宽度发送部86。此处,第2信息处理装置20的从通信部21到端口宽度发送部86的各个部分,除了第1信息处理装置10、第1通信控制装置3被第2信息处理装置20、第2通信控制装置4替换以外,其他与第1信息处理装置10的从通信部11到端口宽度发送部76的结构相同,所以省略其说明。
另外,第2信息处理装置20的从气泡分组发送部22到气泡分组发送对象端口接收部26、以及从检测用端口信息接收部81到端口宽度发送部86,在第2信息处理装置20作为发送侧进行动作时使用。另一方面,从范围接收部27到回信分组发送部29在第2信息处理装置20作为接收侧进行动作时使用。
图20是表示本实施方式的第1服务器60的结构的方框图。在图20中,第1服务器60包括:通信部61;信息接收发送部62;特性判断部63;接收发送确定部64;气泡分组发送对象端口发送部65;检测用端口检测部91;检测用端口信息发送部92;端口宽度检测用端口检测部93;端口宽度检测用端口信息发送部94。另外,除检测用端口检测部91、检测用端口信息发送部92、端口宽度检测用端口检测部93和端口宽度检测用端口信息发送部94以外的结构和动作,与实施方式1相同,所以省略其说明。
检测用端口检测部91接收从发送侧信息处理装置发送的范围检测用分组,根据该范围检测用分组检测范围检测用分组通过的发送侧信息处理装置的端口位置。该端口位置的检测通过获取范围检测用分组中包含的(例如范围检测用分组的头部中包含的)、范围检测用分组通过的发送侧通信控制装置的端口位置来进行。另外,范围检测用分组可以是从发送侧信息处理装置发送给通信部61的分组,或者也可以是通过通信部61获取的发送给第2服务器70的通信部71的分组。在后者时,设在第1服务器60和第2服务器70中的IP地址不同。
检测用端口信息发送部92向发送侧信息处理装置发送表示检测用端口检测部91检测的端口位置的检测用端口信息。
端口宽度检测用端口检测部93接收从发送侧信息处理装置通过发送侧通信控制装置发送的端口宽度检测用分组,根据该端口宽度检测用分组,检测该端口宽度检测用分组通过的发送侧通信控制装置的端口位置。
端口宽度检测用端口信息发送部94向发送侧信息处理装置发送端口宽度检测用端口信息,该信息表示端口宽度检测用端口检测部93检测的端口宽度检测用分组通过的发送侧通信控制装置的端口位置。
下面,说明本实施方式的通信系统的动作。另外,本实施方式的通信系统的动作,除了在第1信息处理装置10、第2信息处理装置20进行包括气泡分组发送端口在内的端口范围的检测和端口宽度的检测外,其他和实施方式1的图5所示的动作相同,所以省略其说明。
下面,使用图21~图23,说明图5所示流程图中的步骤S102的处理。图21~图23是说明发送侧、服务器和接收侧之间的信息传递和处理的图。另外,图21~图23中的服务器指第1服务器60和第2服务器7双方。并且,为了便于说明,把第1信息处理装置10和第1通信控制装置3作为发送侧,把第2信息处理装置20和第2通信控制装置4作为接收侧。并且,步骤S301~S303、S305~S307、S310、S312、S313的处理,与实施方式1的图10中的相关说明相同,所以省略其说明。
(步骤S401)第1服务器60的端口宽度检测用端口检测部93接收从第1信息处理装置10发送的端口宽度检测用分组。并且,端口宽度检测用端口检测部93检测端口宽度检测用分组的头部中包含的、该端口宽度检测用分组通过的第1通信控制装置3的端口位置。
(步骤S402)端口宽度检测用端口信息发送部94向第1信息处理装置10发送端口宽度检测用端口信息,该信息是表示由端口宽度检测用端口检测部93检测的端口宽度检测用分组通过的第1通信控制装置3的端口位置的信息。该端口宽度检测用端口信息由第1信息处理装置10的端口宽度检测用端口信息接收部74接收。
(步骤S403)端口宽度检测部75根据由端口宽度检测用端口信息接收部74接收的端口宽度检测用端口信息,检测第1通信控制装置3的端口宽度。另外,该端口宽度的检测进行与实施方式1相同的动作,所以省略其说明。
(步骤S404)第1服务器60的检测用端口检测部91接收从第1信息处理装置10发送的范围检测用分组。并且,检测用端口检测部91检测范围检测用分组的头部中包含的、该端口检测用分组通过的第1通信控制装置3的端口位置。
(步骤S405)检测用端口信息发送部92向第1信息处理装置10发送检测用端口信息,该信息表示由检测用端口检测部91检测的范围检测用分组通过的第1通信控制装置3的端口位置。该检测用端口信息由第1信息处理装置10的检测用端口信息接收部71接收。
(步骤S406)第1服务器60的检测用端口检测部91接收从第1信息处理装置10发送的范围检测用分组。并且,检测用端口检测部91检测范围检测用分组的头部中包含的、该端口检测用分组通过的第1通信控制装置3的端口位置。
(步骤S407)检测用端口信息发送部92向第1信息处理装置10发送检测用端口信息,该信息表示由检测用端口检测部91检测的范围检测用分组通过的第1通信控制装置3的端口位置。该检测用端口信息由第1信息处理装置10的检测用端口信息接收部71接收。
(步骤S408)第1信息处理装置10的范围检测部72从检测用端口信息接收部71接收的检测用端口信息,获取在步骤S305、S307发送的范围检测用分组通过的第1通信控制装置3的端口位置,检测把这两个端口的位置作为两端的端口的范围。
(步骤S409)第1信息处理装置10的范围发送部73向第1服务器60发送作为在步骤S408检测的表示端口范围的信息的范围信息、以及向第2信息处理装置20发送该范围信息的指示。
(步骤S410)第1服务器60的通信部61接收范围信息,把该范围信息发送给第2信息处理装置20。该范围信息由第2信息处理装置20的范围接收部27接收。
(步骤S411)端口宽度发送部76向第1服务器60发送在步骤S403检测的表示第1通信控制装置3的端口宽度的端口宽度信息、以及向第2信息处理装置20发送该端口宽度信息的指示。
(步骤S412)第1服务器60的通信部61接收端口宽度信息,把该端口宽度信息发送给第2信息处理装置20。该范围信息由第2信息处理装置20的端口宽度接收部28接收。
另外,在图21~图23中,与图10所示相同,其处理顺序具有某种程度的任意性。例如,发送侧的地址发送(步骤S310)可以在与接收侧的地址发送(步骤S301)相同的定时进行。特别是在图22中,范围检测用分组的发送和气泡分组的发送(步骤S305~S307),可以不等待检测用端口信息的接收即可进行。只不过,在进行了检测用端口信息的接收后,进行范围检测(步骤S408)。
并且,关于本实施方式的通信系统的动作的具体例,除了在发送侧信息处理装置进行发送侧通信控制装置的端口宽度检测、在发送侧信息处理装置进行包括气泡分组发送端口在内的端口范围的检测、及伴随它们进行的处理(例如,从第1信息处理装置10向第2信息处理装置20发送范围信息等)以外,与实施方式1的具体例相同,所以省略其说明。
在以上所述的本实施方式的通信系统中,除了与实施方式1相同的效果外,通过在第1信息处理装置10或第2信息处理装置20进行第1通信控制装置3或第2通信控制装置4的端口宽度的检测、包括气泡分组发送端口在内的端口范围的检测等,可以减轻第1服务器60的处理负荷。特别是需要进行等待的处理(例如,发送了第1次范围检测用分组之后,等待发送第2次范围检测用分组的处理等)由于处理负荷较大,所以不在服务器中进行这种需要进行等待的处理,可以使第1服务器60的处理负荷大大减轻。
另外,在本实施方式中,说明了在信息处理装置中进行通信控制装置的端口宽度的检测、包括气泡分组发送端口在内的端口范围的检测的情况,但与实施方式1相同,也可以在服务器中进行其中某一方的处理。
并且,在本实施方式中,说明了在服务器中进行通信控制装置的特性判断的情况,但通信控制装置的特性判断也可以在信息处理装置中进行。在该情况时,也可以通过从服务器向信息处理装置发送表示从信息处理装置发送的分组通过的通信控制装置的端口的位置的信息,可以与实施方式1相同地在信息处理装置中进行通信控制装置的特性判断。
(实施方式3)
参照附图说明本发明的实施方式3的通信系统。本实施方式的通信系统是一方信息处理装置不通过通信控制装置而直接进行通信的通信系统。
图24是表示本实施方式的通信系统的结构的方框图。在图24中,本实施方式的通信系统包括:第1信息处理装置1、第2信息处理装置2、第1通信控制装置3、第1服务器6和第2服务器7。另外,该图24示出的本实施方式的通信系统除了不具备第2通信控制装置以外,其他和实施方式1的通信系统相同。并且,第1信息处理装置1、第2信息处理装置2、第1服务器6和第2服务器7的结构及动作与实施方式1相同,所以省略其说明。
此处,第2信息处理装置2不通过通信控制装置即进行通信,第2信息处理装置2被判断为好像通过Full Cone NAT的通信控制装置进行通信。因此,本实施方式的动作成为与实施方式1中的第2通信控制装置4是Full Cone NAT时相同的处理,能够建立第1信息处理装置1和第2信息处理装置2之间的通信。
如上所述,根据本实施方式的通信系统,在第2信息处理装置2不通过通信控制装置即进行通信的情况下,也能够建立第1信息处理装置1和第2信息处理装置2之间的通信。
另外,在本实施方式中,说明了在实施方式1的通信系统中不具备第2通信控制装置的结构,但也可以是在实施方式2的通信系统中不具备第2通信控制装置的结构。这样,在第2信息处理装置2不通过通信控制装置的情况下,也能够建立第1信息处理装置和第2信息处理装置之间的通信。
并且,在本实施方式中,说明了第2信息处理装置2不通过通信控制装置即进行通信的情况,但在第2信息处理装置2通过通信控制装置进行通信、第1信息处理装置1不通过通信控制装置即进行通信的情况下,同样能够建立第1信息处理装置1和第2信息处理装置2之间的通信。
并且,在上述各个实施方式的说明中,说明了在确定信息处理装置和通信控制装置的发送侧、接收侧时,首先把一方信息处理装置等暂定为发送侧,然后根据通信控制装置的特性将其交替的情况,但也可以在第1服务器6等从信息处理装置接收了需要与其他信息处理装置建立通信的意思时,判断第1通信控制装置3和第2通信控制装置4的特性,根据该判断结果,进行发送侧的信息处理装置和接收侧的信息处理装置等的确定(该情况时,没有“接收发送的交替”这种概念)。
(实施方式4)
参照附图说明本发明的实施方式4的通信系统。本实施方式的通信系统发送一个或一个以上的气泡分组。
图25是表示本实施方式的通信系统的结构的方框图。在图25中,本实施方式的通信系统包括:第1信息处理装置30、第2信息处理装置40、第1通信控制装置3、第2通信控制装置4和服务器50。第1通信控制装置3、第2通信控制装置4与实施方式1相同,所以省略其说明。
图26是表示本实施方式的第1信息处理装置30的结构的方框图。在图26中,第1信息处理装置30包括:通信部11;气泡分组发送部12;范围检测用分组发送部13;回信分组接收部14;端口宽度检测用分组发送部15;气泡分组发送对象端口接收部16;范围接收部17;端口宽度接收部18;回信分组发送部19;检测用端口信息接收部71;范围检测部72;范围发送部73;端口宽度检测用端口信息接收部74;端口宽度检测部75;端口宽度发送部76;端口分配分组发送部31;气泡分组发送对象端口发送部32;特性判断部33和特性发送部34。另外,除特性判断部33和特性发送部34之外的结构和动作,气泡分组发送部12发送一个或一个以上的气泡分组,检测用端口信息接收部71和范围检测部72进行与气泡分组发送端口相关的范围检测处理、以及与后述的端口分配分组发送部31发送的端口分配分组相关的范围检测处理,除此之外与实施方式2相同,所以省略其说明。
端口分配分组发送部31发送用于在第1通信控制装置3中分配用于发送回信分组的端口的端口分配分组。该端口分配分组被发送给第2通信控制装置4。被发送了端口分配分组的第2通信控制装置4的端口是任意的。例如,向在第2信息处理装置40与服务器50的通信中使用的第2通信控制装置4的端口发送端口分配分组。另外,回信分组发送部19在发送回信分组时,从该端口分配分组发送部31发送了端口分配分组的第1信息处理装置30的端口发送回信分组。
气泡分组发送对象端口发送部32把一个或一个以上的端口范围作为气泡分组发送对象端口信息,通过服务器50发送给第2信息处理装置40,该一个或一个以上的端口包括由范围检测部72检测的、端口分配分组发送部31通过的第1通信控制装置3的端口(称为“端口分配分组发送端口”)。
特性判断部33判断第1通信控制装置3的特性。具体讲,通过向服务器50发送特性判断用分组,并接收作为表示该特性判断用分组通过的第1通信控制装置3的端口位置的信息的特性判断用分组信息,来判断第1通信控制装置3的特性。
特性发送部34通过服务器50,向第2信息处理装置40发送特性判断部33判断的表示第1通信控制装置3的特性的信息即特性信息。
另外,在本实施方式中,第1信息处理装置30的从气泡分组发送部12到气泡分组发送对象端口接收部16、以及从检测用端口信息接收部71到端口宽度发送部76,在第1信息处理装置30作为发送侧进行动作时使用。另一方面,从范围接收部17到回信分组发送部19、范围检测用分组发送部13、端口分配分组发送部31、气泡分组发送对象端口发送部32以及从检测用端口信息接收部71到端口宽度发送部76,在第1信息处理装置30作为接收侧进行动作时都被使用。即,范围检测用分组发送部13和从检测用端口信息接收部71到端口宽度发送部76,在第1信息处理装置30作为发送侧动作时、以及作为接收侧进行动作时使用。在本实施方式中,说明了使范围检测用分组发送部13和从检测用端口信息接收部71到端口宽度发送部76的各个构成部分,在第1信息处理装置30作为发送侧动作时、以及作为接收侧动作时的两种情况下使用的情况,但对这些各个构成部分中的一个或一个以上的构成部分,也可以分别设置成在第1信息处理装置30作为发送侧动作时和作为接收侧动作时分别具有该构成。
图27是表示本实施方式的第2信息处理装置40的结构的方框图。在图27中,第2信息处理装置40包括:通信部21;气泡分组发送部22;范围检测用分组发送部23;回信分组接收部24;端口宽度检测用分组发送部25;气泡分组发送对象端口接收部26;范围接收部27;端口宽度接收部28;回信分组发送部29;检测用端口信息接收部81;范围检测部82;范围发送部83;端口宽度检测用端口信息接收部84;端口宽度检测部85;端口宽度发送部86;端口分配分组发送部41;气泡分组发送对象端口发送部42;特性判断部43和特性发送部44。此处,第2信息处理装置40的从通信部21到端口宽度发送部86的各个部分,除了第1信息处理装置30、第1通信控制装置3被第2信息处理装置40、第2通信控制装置4替换之外,与第1信息处理装置30的从通信部11到端口宽度发送部76的结构相同,所以省略其说明。
另外,在本实施方式中,第2信息处理装置40的从气泡分组发送部22到气泡分组发送对象端口接收部26、以及从检测用端口信息接收部81到端口宽度发送部86,在第2信息处理装置40作为发送侧进行动作时使用。另一方面,从范围接收部27到回信分组发送部29、范围检测用分组发送部23、端口分配分组发送部41、气泡分组发送对象端口发送部42以及从检测用端口信息接收部81到端口宽度发送部86,在第2信息处理装置40作为接收侧进行动作时使用。即,范围检测用分组发送部23和从检测用端口信息接收部81到端口宽度发送部86,在第2信息处理装置40作为发送侧动作时、以及作为接收侧进行动作时使用。在本实施方式中,说明了使范围检测用分组发送部23和从检测用端口信息接收部81到端口宽度发送部86的各个构成部分,在第2信息处理装置40作为发送侧动作时、以及作为接收侧动作时的两种情况下使用的情况,但对这些各个构成部分中的一个或一个以上的构成部分,也可以分别设置成在第2信息处理装置40作为发送侧动作时和作为接收侧动作时分别具有该构成。
图28是表示本实施方式的服务器50的结构的方框图。在图28中,服务器50包括:通信部61;信息接收发送部62;气泡分组发送对象端口发送部65;检测用端口检测部91;检测用端口信息发送部92;端口宽度检测用端口检测部93;端口宽度检测用端口信息发送部94;特性判断用端口检测部95;特性判断用端口信息发送部96;气泡分组发送对象端口接收部97。另外,服务器50中除特性判断用端口检测部95、特性判断用端口信息发送部96、和气泡分组发送对象端口接收部97之外的结构和动作,检测用端口检测部91、检测用端口信息发送部92、端口宽度检测用端口检测部93和端口宽度检测用端口信息发送部94对发送侧信息处理装置和接收侧信息处理装置双方进行处理,除此之外与实施方式2相同,所以省略其说明。此处,本实施方式的气泡分组发送对象端口发送部65发送气泡分组发送对象端口接收部97接收的气泡分组对象端口信息。
特性判断用端口检测部95接收从第1信息处理装置30或第2信息处理装置40发送的特性判断用分组,根据该特性判断用分组,检测特性判断用分组通过的第1通信控制装置3或第2通信控制装置4的端口位置。该端口位置的检测通过获取特性判断用分组中包含的(例如,特性判断用分组的头部中包含的)、特性判断用分组通过的第1通信控制装置3或第2通信控制装置4的端口位置来进行。
特性判断用端口信息发送部96把特性判断用端口检测部95检测的表示端口位置的特性判断用端口信息,发送给发送了特性判断用分组的信息处理装置。
气泡分组发送对象端口接收部97接收表示气泡分组发送对象端口的信息即气泡分组发送对象端口信息。利用该气泡分组发送对象端口信息表示的气泡分组发送对象端口是一个或一个以上的端口。
下面,说明本实施方式的通信系统的动作。另外,本实施方式的通信系统的动作与实施方式1的图5所示的动作相同,所以省略其说明。
下面,使用图29说明图5所示流程图中的步骤S101的处理。图29是表示确定信息处理装置的发送侧和接收侧的处理的流程图。此处,在该流程图的说明中,从第2信息处理装置40向第1信息处理装置30请求进行通信。因此,第1信息处理装置30和第1通信控制装置3成为被叫方的装置,第2信息处理装置40和第2通信控制装置4成为呼叫方的装置。另外,在从第1信息处理装置30向第2信息处理装置40请求进行通信时,除了第1信息处理装置30、第1通信控制装置3被第2信息处理装置40、第2通信控制装置4替换之外,其他与以下流程图的说明相同。另外,所说呼叫方指请求与对方装置通信的一方,所说被叫方指从呼叫方的装置接受通信请求的一方。
(步骤S501)第2信息处理装置40的特性判断部43判断呼叫方的通信控制装置即第2通信控制装置4的特性。关于特性的判断方法将在后面叙述。
(步骤S502)特性判断部43判断第2通信控制装置4是否使用PSNAT。并且,在使用PS NAT时,特性发送部44把表示第2通信控制装置4使用PS NAT的含义的特性信息通过服务器50发送给第1信息处理装置30,并转入步骤S504,反之则转入步骤S503。
(步骤S503)特性判断部43把呼叫方的装置即第2信息处理装置40确定为接收侧的装置,即确定为接收气泡分组的一侧的装置。并且,结束接收发送的确定处理。
(步骤S504)第1信息处理装置30的特性判断部33判断被叫方的通信控制装置即第1通信控制装置3的特性。关于特性的判断方法将在后面叙述。
(步骤S505)特性判断部33判断第1通信控制装置3是否使用PSNAT。并且,在使用PS NAT时,由于发送侧、接收侧双方都使用PS NAT,所以出现错误。另一方面,在不使用PS NAT时,则转入步骤S506。
(步骤S506)特性判断部33把被叫方的装置即第1信息处理装置30确定为接收侧的装置,即确定为接收气泡分组的装置。并且,结束接收发送的确定处理。
下面,使用图30说明第1通信控制装置3的特性判断方法。另外,第2通信控制装置4的特性也可以进行相同的判断。
在图30中,第1信息处理装置30的特性判断部33从相同的端口P100,分别向服务器50的端口P300和P301发送两个特性判断用分组。此处,端口P300和P301是不同的端口。服务器50的特性判断用端口检测部95检测发送给端口P300、P301的各个特性判断用分组通过的第1通信控制装置3的端口位置(P200、P201)。并且,表示该端口的位置的信息即特性判断用端口信息,从特性判断用端口信息发送部96发送给第1信息处理装置30。特性判断部33接收该特性判断用端口信息,根据P200、P201是否相同来判断第1通信控制装置3的特性。具体讲,在端口P200与端口P201相同时,判断为第1通信控制装置3不使用PS NAT。另一方面,在端口P200与端口P201不同时,判断为第1通信控制装置3使用PS NAT。
下面,使用图31~图33说明图5所示流程图中的步骤S102的处理。图31~图33是说明与建立通信相关的、发送侧信息处理装置、服务器和接收侧信息处理装置之间的信息传递和处理的图。并且,为了便于说明,把第1信息处理装置30和第1通信控制装置3作为发送侧,把第2信息处理装置40和第2通信控制装置4作为接收侧。
(步骤S601)服务器50的信息接收发送部62向第2信息处理装置40发送表示第1通信控制装置3的IP地址的地址信息。该发送的地址信息由第2信息处理装置40的通信部21接收,并转发给端口分配分组发送部41。
(步骤S602)第2信息处理装置40的端口宽度检测用分组发送部25把端口宽度检测用分组发送给服务器50。此处,在该发送中,多个端口宽度检测用分组通过的第2通信控制装置4的端口互不相同。该端口宽度检测用分组例如从第2信息处理装置40的端口序号分别不同的多个端口发送。
(步骤S603)服务器50的端口宽度检测用端口检测部93接收从第2信息处理装置40发送的端口宽度检测用分组。并且,端口宽度检测用分组检测部93检测端口宽度检测用分组的头部中包含的、该端口宽度检测用端口通过的第2通信控制装置4的端口位置。
(步骤S604)端口宽度检测用端口信息发送部94向第2信息处理装置40发送端口宽度检测用端口信息,该信息是由端口宽度检测用端口检测部93检测的表示端口宽度范围检测用分组通过的第2通信控制装置4的端口位置的信息。该端口宽度检测用端口信息由第2信息处理装置40的端口宽度检测用端口信息接收部84接收。
(步骤S605)端口宽度检测部85根据由端口宽度检测用端口信息接收部84接收的端口宽度检测用端口信息,检测第2通信控制装置4的端口宽度。另外,该端口宽度的检测进行与实施方式1相同的动作,所以省略其说明。
(步骤S606)范围检测用分组发送部23把范围检测用分组通过第2通信控制装置4发送给服务器50。设在该发送中,在进行分组的发送时使范围检测用分组通过在第2通信控制装置4中最新分配的端口。这是为了能够适当限定包括气泡分组发送端口在内的端口的范围。例如,范围检测用分组发送部23使用在此前的通信中没有使用的第2信息处理装置40的端口,发送范围检测用分组。
(步骤S607)服务器50的检测用端口检测部91接收从第2信息处理装置40发送的范围检测用分组。并且,检测用端口检测部91检测范围检测用分组的头部中包含的、该端口检测用分组通过的第2通信控制装置4的端口位置。
(步骤S608)检测用端口信息发送部92向第2信息处理装置40发送检测用端口信息,该信息表示由检测用端口检测部91检测的范围检测用分组通过的第2通信控制装置4的端口位置。该检测用端口信息由第2信息处理装置40的检测用端口信息接收部81接收。
(步骤S609)端口分配分组发送部41把端口分配分组发送给第1通信控制装置3。第1通信控制装置3的地址使用在步骤S601发送的地址。
(步骤S610)范围检测用分组发送部23通过第2通信控制装置4向服务器50发送范围检测用分组。
(步骤S611)服务器50的检测用端口检测部91接收从第2信息处理装置40发送的范围检测用分组。并且,检测用端口检测部91检测范围检测用分组的头部中包含的、该端口检测用分组通过的第2通信控制装置4的端口位置。
(步骤S612)检测用端口信息发送部92向第2信息处理装置40发送检测用端口信息,该信息表示由检测用端口检测部91检测的范围检测用分组通过的第2通信控制装置4的端口位置。该检测用端口信息由第2信息处理装置40的检测用端口信息接收部81接收。
(步骤S613)第2信息处理装置40的范围检测部82从检测用端口信息接收部81接收的检测用端口信息,获取在步骤S606、S610发送的范围检测用分组通过的第2通信控制装置4的端口位置,根据这两个端口的位置,检测包括端口分配分组发送端口在内的端口的范围(气泡分组发送对象端口)。另外,该气泡分组发送对象端口有时是一个端口,或者有时包括两个或两个以上的端口。
(步骤S614)第2信息处理装置40的端口宽度发送部86,向服务器50发送在步骤S605检测的作为表示第2通信控制装置4的端口宽度的信息的端口宽度信息、以及把该端口宽度信息发送给第1信息处理装置30的指示。并且,第2信息处理装置40的气泡分组发送对象端口发送部42,向服务器50发送在步骤S613检测的表示气泡分组发送对象端口的气泡分组发送对象端口信息、以及把该气泡分组发送对象端口信息发送给第1信息处理装置30的指示。这些信息可以利用相同的分组发送,或者也可以利用不同的分组发送。
(步骤S615)服务器50的通信部61接收端口宽度信息和气泡分组发送对象端口信息,把这些信息发送给第1信息处理装置30。气泡分组发送对象端口被气泡分组发送对象端口接收部97接收,并通过气泡分组发送对象端口发送部65发送给第1信息处理装置30。该端口宽度信息被第1信息处理装置30的端口宽度接收部18接收,气泡分组发送对象端口信息被气泡分组发送对象端口接收部16接收。
(步骤S616)服务器50的信息接收发送部62把表示第2通信控制装置4的IP地址的地址信息发送给第1信息处理装置30。该发送的地址信息被第1信息处理装置30的通信部11接收,并转发给气泡分组发送部12。
(步骤S617)第1信息处理装置30的端口宽度检测用分组发送部15把端口宽度检测用分组发送给服务器50。此处,设在该发送中,使多个端口宽度检测用分组通过的第1通信控制装置3的端口互不相同。该端口宽度检测用分组例如从第1信息处理装置30的端口序号分别不同的多个端口发送。
(步骤S618)服务器50的端口宽度检测用端口检测部93接收从第1信息处理装置30发送的端口宽度检测用分组。并且,端口宽度检测用端口检测部93检测端口宽度检测用分组的头部中包含的、该端口宽度检测用分组通过的第1通信控制装置3的端口位置。
(步骤S619)端口宽度检测用端口信息发送部94向第1信息处理装置30发送端口宽度检测用端口信息,该信息是表示由端口宽度检测用端口检测部93检测的、端口宽度范围检测用分组通过的第1通信控制装置3的端口位置的信息。该端口宽度检测用端口信息由第1信息处理装置30的端口宽度检测用端口信息接收部74接收。
(步骤S620)端口宽度检测部75根据由端口宽度检测用端口信息接收部74接收的端口宽度检测用端口信息,检测第1通信控制装置3的端口宽度。另外,该端口宽度的检测进行与实施方式1相同的动作,所以省略其说明。
(步骤S621)范围检测用分组发送部13通过第1通信控制装置3把范围检测用分组发送给服务器50。
(步骤S622)服务器50的检测用端口检测部91接收从第1信息处理装置30发送的范围检测用分组。并且,检测用端口检测部91检测范围检测用被包含在分组的头部中的、该端口检测用分组通过的第1通信控制装置3的端口位置。
(步骤S623)检测用端口信息发送部92向第1信息处理装置30发送检测用端口信息,该信息表示由检测用端口检测部91检测的、范围检测用分组通过的第1通信控制装置3的端口位置。该检测用端口信息由第1信息处理装置30的检测用端口信息接收部71接收。
(步骤S624)气泡分组发送部12根据利用在步骤S616发送的地址信息表示的第2通信控制装置4的IP地址、和在步骤S614、S615发送的气泡分组发送对象端口信息,向第2通信控制装置4的气泡分组发送对象端口发送气泡分组。在气泡分组发送对象端口包括两个或两个以上的端口时,气泡分组发送部12按照每个由端口宽度接收部18接收的端口宽度信息表示的端口宽度发送气泡分组。
(步骤S625)范围检测用分组发送部13通过第1通信控制装置3把范围检测用分组发送给服务器50。
(步骤S626)服务器50的检测用端口检测部91接收从第1信息处理装置30发送的范围检测用分组。并且,检测用端口检测部91检测范围检测用被包含在分组的头部中的、该端口检测用分组通过的第1通信控制装置3的端口位置。
(步骤S627)检测用端口信息发送部92向第1信息处理装置30发送检测用端口信息,该信息表示由检测用端口检测部91检测的、范围检测用分组通过的第1通信控制装置3的端口位置。该检测用端口信息由第1信息处理装置30的检测用端口信息接收部71接收。
(步骤S628)第1信息处理装置30的范围检测部72从检测用端口信息接收部71接收的检测用端口信息,获取在步骤S621、S625发送的范围检测用分组通过的第1通信控制装置3的端口位置,根据这两个端口的位置,检测包括气泡分组发送端口在内的端口的范围。另外,该端口的范围有时是一个端口,或者有时包括两个或两个以上的端口。
(步骤S629)第1信息处理装置30的范围发送部73,向服务器50发送在步骤S628检测的表示端口范围的信息即范围信息、以及把该范围信息发送给第2信息处理装置40的指示。并且,端口宽度发送部76向服务器50发送在步骤S620检测的表示第1通信控制装置3的端口宽度的信息即端口宽度信息、以及把该端口宽度信息发送给第2信息处理装置40的指示。该范围信息和端口宽度信息可以利用相同的分组发送,或者也可以利用不同的分组发送。
(步骤S630)服务器50的通信部61接收范围信息和端口宽度信息,把该范围信息等发送给第2信息处理装置40。该范围信息被第2信息处理装置40的范围接收部27接收。端口宽度信息被端口宽度接收部28接收。
(步骤S631)回信分组发送部29向利用在步骤S601获取的地址信息表示的IP地址确定的第1通信控制装置3发送回信分组。该回信分组被按照每个端口宽度信息表示的端口宽度,发送给由范围接收部27获取的范围信息表示的范围的端口。
(步骤S632)第1信息处理装置30的回信分组接收部14接收从第2信息处理装置40发送的回信分组。通过接收该回信分组,建立第1信息处理装置30和第2信息处理装置40之间的通信。然后,在第1信息处理装置30和第2信息处理装置40之间进行不通过服务器50的信息接收发送(例如隧道通信)。
另外,在图31~图33中,端口宽度的检测可以在发送端口宽度信息之前进行,例如在检测端口宽度后马上将端口宽度信息发送给接收侧。并且,发送侧的地址的发送(步骤S601)例如也可以与检测用端口信息的发送(步骤S608)同时发送。这样,在图31~图33中,关于处理的顺序具有某种程度的任意性。并且,在图32中,范围检测用分组的发送、端口分配分组的发送(步骤S606、S609、S610)、范围检测用分组的发送、和气泡分组的发送(步骤S621、S624、S625),也可以不等待检测用端口信息的接收即进行。
下面,使用具体例说明本实施方式的通信系统的动作。在该具体例中,第1通信控制装置3等的IP地址,除了第1服务器6变为服务器50外,其他与实施方式1的具体例相同。
另外,设第2信息处理装置40成为呼叫方。在以下的具体例中,在具体例1中说明第2通信控制装置4为PS NAT之外的情况。并且,在具体例2中说明第2通信控制装置4为PS NAT、第1通信控制装置3为PSNAT之外的情况。
另外,在该具体例中,说明为了有效进行服务器50和第1信息处理装置30之间、或者服务器50和第2信息处理装置40之间的分组的接收发送,使接收发送的确定(步骤S101)和建立通信(步骤S102)的处理的一部分并行进行的情况。
(具体例1)
图34~图38是说明具体例的图。另外,设从第1信息处理装置30和第2信息处理装置40进行对服务器50的访问,在服务器50中已经保存有第1通信控制装置3的IP地址、第1通信控制装置3的端口P1的端口序号、第1信息处理装置30的设备ID。同样,在服务器50中已经保存有第2通信控制装置4的IP地址、第2通信控制装置4的端口P2的端口序号、第2信息处理装置40的设备ID。
首先,说明从第2信息处理装置40进行连接请求时的动作。在图34中,第2信息处理装置40向服务器50发送第1信息处理装置30的设备ID和连接请求。此时,服务器50把第1通信控制装置3的IP地址和端口P1的端口序号发送给第2信息处理装置40(步骤S601)。该发送通过端口P2进行。
第2信息处理装置40的端口宽度检测用分组发送部25,从第2信息处理装置40的端口LP0、LP1、LP2分别发送3个端口宽度检测用分组(为UDP的分组)。此处,设端口LP0、LP1、LP2成为在第2信息处理装置40中新分配的不同端口。因此,与第2通信控制装置4的特性无关,各个端口宽度检测用分组在第2通信控制装置4中通过各不相同的端口P5、P6、P7发送给服务器50(步骤S602)。各个端口宽度检测用分组通过服务器50的通信部61由端口宽度检测用端口检测部93接收,并检测各个被包含在分组的头部中的第2通信控制装置4的端口P5、P6、P7的端口序号(步骤S603)。端口宽度检测用端口信息发送部94向各个端口宽度检测用分组通过的第2通信控制装置4的端口,发送把各个端口序号包含在有效数据中的分组即端口宽度检测用端口信息(步骤S604)。具体讲,对于通过端口P5发送的端口宽度检测用分组,向端口P5发送把该端口P5的端口序号包含在有效数据中的端口宽度检测用端口信息。该端口宽度检测用端口信息在第2通信控制装置4进行地址转换,并发送给第2信息处理装置40的端口LP0。该端口宽度检测用端口信息通过通信部21由端口宽度检测用端口信息接收部84接收。同样,通过端口P6、P7向第2信息处理装置40发送端口宽度检测用端口信息。另外,在该具体例中,由于还使用范围检测用分组进行端口宽度的检测,所以在该阶段不进行端口宽度的检测。并且,通过端口P7发送的端口宽度检测用分组,也兼作用于判断第2通信控制装置4的特性的分组即特性判断用分组,所以通过第2通信控制装置4的端口P7发送的端口宽度检测用端口信息,还从通信部21转发给特性判断部43。
第2信息处理装置40的范围检测用分组发送部23把范围检测用分组(设为UDP的分组),从端口LP2发送给服务器50的端口P3(步骤S606)。另外,在该具体例中,该范围检测用分组也兼作端口宽度检测用分组。
端口P3是与端口宽度检测用分组的发送目的地即端口P4不同的端口。因此,在第2通信控制装置4的端口分配规则是Port Sensitive类型时,即第2通信控制装置4是PS NAT时,该范围检测用分组通过的第2通信控制装置4的端口P8成为与从端口LP2发送的端口宽度检测用分组通过的端口P7不同的端口,但在第2通信控制装置4的端口分配规则是PortSensitive类型以外的类型时,端口P7和端口P8是相同端口。
服务器50的检测用端口检测部91通过通信部61接收发送给端口P3的范围检测用分组。检测用端口检测部91检测该被包含在分组的头部中的第2通信控制装置4的端口P8的端口序号(步骤S607)。检测用端口信息发送部92向第2通信控制装置4的端口P8发送把该检测的端口P8的端口序号包含于有效数据中的检测用端口信息(步骤S608)。该检测用端口信息在第2通信控制装置4中进行地址转换,并发送给第2信息处理装置40的端口LP2,然后由检测用端口信息接收部81接收。另外,在该具体例中,由于发送给服务器50的端口P3的范围检测用分组兼作端口宽度检测用分组、特性判断用分组,所以检测用端口信息也从通信部21转发给端口宽度检测用端口信息接收部84、特性判断部43。
在该具体例中,由于使特性判断用分组兼作端口宽度检测用分组和范围检测用分组,所以,可以不使用服务器50的特性判断用端口检测部95、和特性判断用端口信息发送部96。
端口宽度检测部85根据在端口宽度检测用信息接收部84接收的第2通信控制装置4的端口P5、P6、P7、P8的端口序号,进行第2通信控制装置4的的端口宽度的检测(步骤S605)。具体讲,在端口P8和端口P7之差不是0时,把端口P6和端口P5之差、端口P7和端口P6之差、端口P8和端口P7之差中最小的值检测为第2通信控制装置4的端口宽度。另一方面,在端口P8和端口P7之差是0时,把端口P6和端口P5之差、端口P7和端口P6之差中较小的一方检测为第2通信控制装置4的端口宽度。在该具体例中,由于第2通信控制装置4不是PS NAT,所以端口P8和端口P7之差是0。并且,在该具体例中,设端口宽度被检测为“1”。
特性判断部43根据端口P7、P8的端口序号,判断第2通信控制装置4的特性(步骤S501)。具体讲,在端口P8和端口P7相同时,第2通信控制装置4的特性被判断为Full Cone NAT、R NAT、PR NAT(设把这3个端口分配类型为Cone的NAT称为Cone系列的NAT)、AS NAT中的任一个(即,端口分配规则是Cone类型、或者Address Sensitive类型),在端口P8和端口P7不同时,第2通信控制装置4的特性被判断为PS NAT(即,端口分配规则是Port Sensitive类型)。在该具体例中,第2通信控制装置4不是PS NAT,所以如前面所述,端口P7和端口P8相同,特性判断部43判断第2通信控制装置4不是PS NAT(步骤S502)。结果,呼叫方的第2信息处理装置40作为接收侧的信息处理装置动作(步骤S503)。
第2信息处理装置40的端口分配分组发送部41使用从服务器50发送的第1通信控制装置3的地址,向第1通信控制装置3的端口P1发送UDP的分组即端口分配分组(步骤S609)。该端口分配分组也从第2信息处理装置40的端口LP2发送。该端口分配分组通过第2通信控制装置4的端口P9发送。如果第2通信控制装置4是AS NAT,则端口P8和端口P9不同,如果第2通信控制装置4是Cone系列的NAT,则端口P8和端口P9相同。另外,也可以通过设定该端口分配分组的寿命(例如设定在该分组中的TTL等),使端口分配分组在到达端口P1之前消灭。发送端口分配分组是为了在第2通信控制装置4中保留发送履历,因为端口分配分组也可以不到达第1通信控制装置3。
范围检测用分组发送部23从第2信息处理装置40的端口LP3向服务器50的端口P4发送作为UDP分组的范围检测用分组(步骤S610)。端口LP3是与端口LP0、LP1、LP2任一方都不同的、在第2信息处理装置40中新分配的分组。该范围检测用分组通过第2通信控制装置4的端口P10发送。此处,端口P10是与端口P7、P8、P9任一方都不同的端口。该范围检测用分组由服务器50的检测用端口检测部91接收,并检测头部中包含的端口P10的端口序号(步骤S611)。包含该端口序号的检测用端口信息,从检测用端口信息发送部92通过端口P10发送给第2信息处理装置40(步骤S612)。该检测用端口信息由第2信息处理装置40的检测用端口信息检测部81接收。并且,通过范围检测部82进行气泡分组发送对象端口的检测(步骤S613)。在该检测中,从端口P8的端口位置到被分配的端口P10的前一个的端口位置,被检测为气泡分组发送对象端口。根据第2通信控制装置4的特性,虽然端口P8和端口P9有可能相同,但与第2通信控制装置4的特性无关地,端口P9和端口P10不同。应该分配给端口P10的前一个的端口位置是利用从端口P10的端口序号中减去由端口宽度检测部85检测的第2通信控制装置4的端口宽度(在该具体例中为“1”)的端口序号表示的位置。气泡分组发送对象端口发送部42向服务器50发送由范围检测部82检测的气泡分组发送对象端口的气泡分组发送对象端口信息、以及将其发送给第1信息处理装置30的指示(步骤S614)。并且,端口宽度发送部86也向服务器50发送表示第2通信控制装置4的端口宽度的端口宽度信息、以及将其发送给第1信息处理装置30的指示(步骤S614)。而且,特性发送部44也向服务器50发送表示第2通信控制装置4的特性的信息、即含义是第2通信控制装置4不是PS NAT的特性信息、以及将其发送给第1信息处理装置30的指示。
这些信息在服务器50中被中继,通过第1通信控制装置3的端口P1发送给第1信息处理装置30(步骤S615)。气泡分组发送对象端口信息由气泡分组发送对象端口接收部16接收。端口宽度信息由端口宽度接收部18接收,并且经过未图示的路径转发给气泡分组发送部12。特性信息被转发给端口宽度检测用分组发送部15、范围检测用分组发送部13、气泡分组发送部12等,由于第2通信控制装置4不是PS NAT,所以判断为第1信息处理装置30进行作为发送侧装置的处理序列。
服务器50把接收侧的第2通信控制装置4的IP地址发送给第1信息处理装置30(步骤S616)。
第1信息处理装置30的端口宽度检测用分组发送部15把各个UDP分组即端口宽度检测用分组,从第1信息处理装置30的不同端口LP4、LP5发送给服务器50的端口P3(步骤S617)。这些端口宽度检测用分组通过第1通信控制装置3的不同端口P11、P12发送给服务器50,由端口宽度检测用端口检测部93接收。在端口宽度检测用端口检测部93中,与从第2信息处理装置40发送的端口宽度检测分组相同,检测端口P11、P12的端口序号(步骤S618)。端口宽度检测用端口信息发送部94通过各个端口P11、P12,向第1信息处理装置30发送把端口P11、P12的被检测的端口序号包含在有效数据中的分组即端口宽度检测用端口信息(步骤S619)。该端口宽度检测用端口信息在端口宽度检测用端口信息接收部74中被接收。另外,在该具体例中,也使用范围检测用分组进行端口宽度的检测,所以在该阶段不进行端口宽度的检测。
范围检测用分组发送部13从第1信息处理装置30的的端口LP6发送作为UDP分组的范围检测用分组(步骤S621)。该范围检测用分组通过第1通信控制装置3的端口P13发送给服务器50的端口P3。此处,该范围检测用分组兼作端口宽度检测用分组。并且,端口LP6是与端口LP4、LP5分别不同的、在第1信息处理装置30中新分配的端口。
该范围检测用分组由服务器50的检测用端口检测部91接收,并检测端口P13的端口序号(步骤S622)。检测用端口信息发送部92通过端口P13,向第1信息处理装置30发送把该检测的端口P13的端口序号包含在有效数据中的分组即检测用端口信息(步骤S623)。该检测用端口信息被检测用端口信息接收部71接收。并且,该范围检测用分组兼作端口宽度检测用分组,所以通信部11也把该检测用端口信息转发给端口宽度检测用端口信息接收部74。
端口宽度检测部75根据在端口宽度检测用信息接收部84接收的第1通信控制装置3的端口P11、P12、P13的端口序号,进行第1通信控制装置3的端口宽度的检测(步骤S620)。具体讲,把端口P12和端口P11之差、端口P13和端口P12之差中较小的一方检测为第1通信控制装置3的端口宽度。在该具体例中,端口宽度被检测为“1”。
气泡分组发送部12向气泡分组发送对象端口信息表示的范围的气泡分组发送对象端口发送气泡分组(步骤S624)。该气泡分组被从第1信息处理装置30的端口LP6发送。并且,在气泡分组发送对象端口是包括多个端口的范围时,气泡分组按照每个由端口宽度接收部18接收的、第2通信控制装置4的端口宽度信息表示的端口宽度(在该具体例中为“1”)被发送。在该具体例中,如图37所示,设气泡分组通过第1通信控制装置3的端口P14到端口P15的端口被发送。另外,根据第2通信控制装置4的特性,有时不能在端口LP2接收气泡分组,但在该具体例中,为了能够可靠地建立第1信息处理装置30和第2信息处理装置40之间的通信,继续进行处理。
范围检测用分组发送部13把范围检测用分组从第1信息处理装置30的端口LP7发送给服务器50的端口P3(步骤S625)。端口LP7是与端口LP6不同的端口,是在第1信息处理装置30中新分配的端口。由于端口LP7是新端口,所以该范围检测用分组通过的端口P16是与端口P15不同的端口。通过端口P16发送的范围检测用分组被服务器50的检测用端口检测部91接收,并检测端口P16的端口序号(步骤S626)。检测用端口信息发送部92通过第1通信控制装置3的端口P16,向第1信息处理装置30发送使该检测的端口序号包含于有效数据中的分组即检测用端口信息(步骤S627)。从服务器50发送的检测用端口信息被检测用端口信息接收部71接收。并且,范围检测部72根据端口P13、端口P16的端口位置,检测包含气泡分组发送端口在内的端口的范围(步骤S628)。在该检测中,从端口P13的端口位置到被分配的端口P16的前一个的端口位置,被检测为包括气泡分组发送端口的范围。与第1通信控制装置3的特性无关,由于端口P15和端口P16不同,所以该范围中不包含端口P16。被分配的端口P16的前一个的端口位置是利用从端口P16的端口序号中减去由端口宽度检测部75检测的第1通信控制装置3的端口宽度(在该具体例中为“1”)的端口序号表示的位置。范围发送部73向服务器50发送由范围检测部72检测的表示端口范围的范围信息、以及将其发送给第2信息处理装置40的指示(步骤S629)。并且,端口宽度发送部76也向服务器50发送表示第1通信控制装置3的端口宽度的端口宽度信息、以及将其发送给第2信息处理装置40的指示(步骤S629)。
这些信息在服务器50中被中继,通过第2通信控制装置4的端口P2发送给第2信息处理装置40(步骤S630)。范围信息由范围接收部27接收。端口宽度信息由端口宽度接收部28接收。回信分组发送部29向范围接收部27接收的范围信息表示的范围的端口发送回信分组(步骤S631)。
该回信分组从第1信息处理装置30的端口LP6发送。并且,在范围信息是包括多个端口的范围时,回信分组被按照每个由端口宽度接收部28接收的第1通信控制装置3的端口宽度信息表示的端口宽度(在该具体例中为“1”)发送。在该具体例中,如图38所示,回信分组通过第2通信控制装置4的端口P9发送。由于第2通信控制装置4不是PS NAT,所以发送给第1通信控制装置3的回信分组全部通过端口P9发送。这样,第2信息处理装置40预先把端口分配分组从端口LP2发送给第1通信控制装置3,以使所有的回信分组从端口P9发送。
从第2信息处理装置40发送的回信分组中、发送给面向端口P9发送的气泡分组通过的气泡分组发送端口的回信分组,在第1通信控制装置3中进行地址转换,并由第1信息处理装置30的回信分组接收部24接收(步骤S632)。根据第1通信控制装置3的特性,有时通过第1信息处理装置30接收多个回信分组。
这样,建立第1信息处理装置30和第2信息处理装置40之间的通信。
此处,简单说明在本实施方式的通信系统中发送端口分配分组的理由。在发送气泡分组之前,向第1通信控制装置3发送端口分配分组,由此在第2通信控制装置4中被分配端口P9。由于接收侧的装置不是PS NAT(参照图29),所以第2通信控制装置4不是PS NAT(即,端口分配规则不是Port Sensitive类型)。因此,通过从发送了该端口分配分组的端口LP2向第1通信控制装置3发送回信分组,该回信分组通过借助于端口分配分组的发送而分配的第2通信控制装置4的端口P9被发送。
通过检测包括该端口P9的范围、并向该范围发送气泡分组,可以向端口P9发送至少一个气泡分组。然后,在包括气泡分组发送端口在内的端口的范围内,从端口LP2发送回信分组,由此可以通过端口P9向发送给端口P9的气泡分组通过的第1通信控制装置3的端口发送回信分组。结果,例如第1通信控制装置3使用PR NAT、PS NAT时,回信分组由第1信息处理装置30接收,能够建立第1信息处理装置30和第2信息处理装置40之间的通信。这样,端口分配分组是为了预先在第2通信控制装置4中分配回信分组将要通过的端口(换言之,为了确定气泡分组发送对象端口的范围)而发送的。
(具体例2)
在具体例2中,说明第2通信控制装置4使用PS NAT、第1通信控制装置3使用PS NAT之外的NAT的情况。另外,第2信息处理装置40作为呼叫方,这与具体例1相同。
从第2信息处理装置40发送端口宽度检测用分组、范围检测用分组、端口分配分组,检测第2信息处理装置40的端口宽度,检测气泡分组发送对象端口的位置,判断第2通信控制装置4的特性,这些动作由于与具体例1相同。
从第2信息处理装置40通过服务器50发送端口宽度信息、气泡分组发送对象端口信息、特性信息(步骤S614、S615),从而第1信息处理装置30得知第2通信控制装置4是PS NAT。此时,第1信息处理装置30执行从步骤S601到步骤S614的处理、以及步骤S504的判断被叫方(第1信息处理装置30侧)的第1通信控制装置3的特性的处理(在具体例1中,使用图34、图35说明的处理)。这些处理除了接收侧和发送侧进行交替以外,其他与具体例1的说明相同,所以省略其说明。在该具体例中,第1通信控制装置3不使用PA NAT,所以判断被叫方是接收侧(步骤S506)。并且,在具体例1中接收侧和发送侧进行交替的方式中,进行气泡分组的发送、包括气泡分组发送端口在内的范围检测、回信分组的发送等,从而建立第1信息处理装置30和第2信息处理装置40之间的通信。这些处理的具体说明与具体例1相同,所以省略其说明。
另外,在上述各个具体例中,说明了从与发送第1次范围检测用分组的端口相同的端口(端口LP2)发送端口分配分组的情况,但也可以从与发送第2次范围检测用分组的端口相同的端口(端口LP3)发送端口分配分组。该情况时,气泡分组发送对象端口为从被分配的紧邻端口P8之后的端口到端口P10。或者,也可以从分别不同的端口(分别在第2信息处理装置40中新分配的端口)发送端口分配分组和第2次范围检测用分组。该情况时,气泡分组发送对象端口为从被分配的紧邻第1次范围检测用分组通过的第2通信控制装置4的端口之后的端口、到被分配的紧邻第2次范围检测用分组通过的第2通信控制装置4的端口之前的端口。另外,这些气泡分组发送对象端口作为最低限的端口进行了说明,也可以把包括这些气泡分组发送对象端口的更宽的端口范围作为气泡分组发送对象端口。
同样,气泡分组的发送也可以不从端口PL6发送,而从端口PL7发送。该情况时,发送回信分组的范围为从被分配的端口P13之后的端口到端口P16。或者,也可以从分别不同的端口(分别在第1信息处理装置30中新分配的端口)发送气泡分组和第2次范围检测用分组。该情况时,包括气泡分组发送端口在内的端口范围为从被分配的第1次范围检测用分组通过的第1通信控制装置3的端口之后的端口、到第2次范围检测用分组通过的第1通信控制装置3的端口之前一个分配的端口。另外,包括这些气泡分组发送端口在内的端口范围作为最低限的范围进行了说明,也可以把包括这些端口在内的更宽的端口范围作为包括气泡分组发送端口在内的端口范围。
并且,在上述各个具体例中,为了减少服务器50和信息处理装置之间的通信次数,说明了一个分组起到多种作用并有效进行分组的通信的情况,但也可以像一个分组起到一种作用那样进行分组的发送。并且,在上述各个具体例中,说明了并行进行通信控制装置的特性判断和信息处理装置之间的通信的建立的情况,但也可以分别进行这些处理。在这种情况下,可以在特性判断中使用特性判断用端口检测部95、特性判断用端口信息发送部96。
如上所述,根据本实施方式的通信系统,除第1通信控制装置3和第2通信控制装置4双方都是PS NAT时之外,能够建立第1信息处理装置30和第2信息处理装置40之间的通信。进一步,该通信的建立,仅通过判断通信控制装置是否使用PS NAT即可执行,不需要进行详细判断。
并且,只要实施方式1的方法,在发送侧的装置是PR NAT时,需要进行接收发送的交替(参照图17),但只要本实施方式的方法,在发送侧、接收侧的信息处理装置任一方是PR NAT时,不需要进行接收发送的交替。因此,在通信系统中使用Cone系列的NAT时,不进行接收发送的交替即可建立信息处理装置之间的通信(参照图39)。
并且,在本实施方式中,可以不进行通信控制装置是否使用AS NAT的判断(只进行是否使用PS NAT的判断即可),也可以不进行确定使用了两个或两个以上的服务器的通信控制装置的判断,所以能够形成结构简洁的通信系统。
另外,在本实施方式中,说明了在信息处理装置中进行端口宽度的检测、包括气泡分组发送端口在内的端口范围的检测、气泡分组发送对象端口的检测的情况,但也可以与实施方式1相同,在服务器50中进行这些处理中的任意一种或一种以上的处理。
并且,在本实施方式中,说明了为了进行气泡分组发送对象端口的检测,而在端口分配分组的发送前后发送两个范围检测用分组的情况,但也可以只发送一方的范围检测用分组,气泡分组发送对象端口信息可以只表示气泡分组发送对象端口的上限或下限。该情况时,也可以向可能包含于该范围中的所有端口发送气泡分组。
并且,也可以向接收侧的通信控制装置的所有端口发送气泡分组。这样,可以向在端口分配分组的发送中使用的端口发送气泡分组。此处,如果是所有分组,也可以将预先确定了用途的被熟知(Well-known)端口除外,而向Well-known端口以外的端口发送回信分组。并且,在按照每个规定的端口宽度发送气泡分组时,也可以使发送侧的信息处理装置知道作为其基点的端口的位置。
并且,在本实施方式中,即使在单方通信控制装置也不存在的通信系统中,与实施方式3相同,当然能够建立信息处理装置之间的通信。
并且,在上述各个实施方式中,通信系统包括发送气泡分组的信息处理装置、和进行用于检测包括气泡分组发送端口在内的端口范围的服务器(该服务器可以是两个或两个以上的服务器),可以用来检测包括该气泡分组发送端口在内的端口范围。即,本发明的通信系统可以是以下所述的通信系统。该通信系统包括信息处理装置、控制信息处理装置的通信的通信控制装置和服务器,信息处理装置包括:气泡分组发送部,通过通信控制装置发送用于在通信控制装置保留发送履历的一个或一个以上的气泡分组;和范围检测用分组发送部,向服务器发送在检测端口的范围时使用的范围检测用分组,该端口包括在一个或一个以上的气泡分组的发送中使用的、通信控制装置的端口即一个或一个以上的气泡分组发送端口,服务器包括范围检测部,该范围检测部接收范围检测用分组,根据该范围检测用分组检测包括一个或一个以上的气泡分组发送端口在内的端口范围。在该通信系统中,气泡分组的发送目的地例如可以是信息处理装置的通信对方即另一方通信控制装置,也可以是控制通信对方即另一方通信控制装置的通信的通信控制装置等。并且,在该通信系统中,在服务器中检测的端口范围可以通过发送部发送给信息处理装置,或者也可以利用其他方法转发给信息处理装置。作为其他方法,例如,可以把表示端口的范围的信息记录在记录介质中,信息处理装置从该记录介质读出信息,或者,在服务器中显示表示端口范围的信息,通过观看该显示,用户向信息处理装置输入表示端口范围的信息。并且,像实施方式4那样,也可以在该通信系统中发送一个或一个以上的气泡分组。
并且,其他的通信系统包括信息处理装置、控制信息处理装置的通信的通信控制装置和服务器,信息处理装置包括:气泡分组发送部,通过通信控制装置发送用于在通信控制装置保留发送履历的一个或一个以上的气泡分组;范围检测用分组发送部,向服务器发送在检测端口的范围时使用的范围检测用分组,该端口包括在一个或一个以上的气泡分组的发送中使用的、通信控制装置的端口即一个或一个以上的气泡分组发送端口;检测用端口信息接收部,接收表示范围检测用分组通过的通信控制装置的端口位置的检测用端口信息;和范围检测部,根据检测用端口信息接收部接收的检测用端口信息,检测包括一个或一个以上的气泡分组发送端口在内的端口范围,服务器包括:检测用端口检测部,接收范围检测用分组,检测该范围检测用分组通过的通信控制装置的端口位置;和检测用端口信息发送部,向信息处理装置发送检测用端口检测部检测的表示端口位置的检测用端口信息。这样,也可以不在服务器中进行范围的检测,而在信息处理装置中进行。在该通信系统中,气泡分组的发送目的地例如可以是信息处理装置的通信对方即另一方通信控制装置,也可以是控制通信对方即另一方通信控制装置的通信的通信控制装置等。并且,在该通信系统中,在信息处理装置中检测的端口范围可以通过发送部发送给其他信息处理装置,或者也可以利用其他方法转发给其他信息处理装置。作为其他方法,例如,可以把表示端口的范围的信息记录在记录介质中,其他信息处理装置从该记录介质读出信息,或者,在信息处理装置中显示表示端口范围的信息,通过观看该显示,用户向其他信息处理装置输入表示端口范围的信息。并且,像实施方式4那样,也可以在该通信系统中发送一个或一个以上的气泡分组。
并且,在上述各个实施方式中,说明了第1服务器6、60、服务器50具有将对方的通信控制装置的IP地址通知信息处理装置的功能的情况,但该功能也可以在与第1服务器6等不同的服务器中实现。即,也可以是将另一方通信控制装置的地址通知一方信息处理装置的服务器,和与进行范围检测分组等相关处理的服务器不同的服务器。并且,在将另一方通信控制装置的地址通知一方信息处理装置的处理、呼叫方的信息处理装置调出对方(被叫方)的信息处理装置的处理等中,也可以使用SIP(SessionInitiation Protocol)。
另外,在上述各个实施方式的说明中,按照每个端口宽度信息表示的端口宽度发送回信分组,但也可以与端口宽度无关,而以端口间隔“1”发送回信分组。
并且,虽然在上述各个实施方式的说明中,设在范围信息表示的端口范围中发送回信分组,但也可以向发送侧的通信控制装置的所有端口发送回信分组。这样,可以向在气泡分组的发送中使用的气泡分组发送端口发送回信分组。并且,在利用范围信息只示出了范围的上限或下限时,也可以向该范围内的所有端口发送回信分组。此处,如果是所有端口,也可以将预先确定了用途的公知(Well-known)端口除外,而向Well-known端口以外的端口发送回信分组。并且,在按照每个规定的端口宽度发送回信分组时,也可以使接收侧的信息处理装置知道作为其基点的端口的位置。
并且,在上述各个实施方式的说明中,说明了在第1服务器6等、或在信息处理装置中判断通信控制装置使用的NAT类型的情况,但是,例如也可以在第1服务器6等中保存通过用户的手工输入等从信息处理装置输入的通信控制装置的特性(NAT类型),或者,在通信控制装置具有的存储单元(例如,非易失性存储器等)中存储特性,第1服务器6等读出该存储的特性,由此判断通信控制装置的特性。另外,该通信控制装置的特性也可以存储在通信控制装置以外的装置中。例如,也可以以使通信控制装置的ID和型号相对应的方式在规定的数据库服务器中存储特性。
并且,在上述各个实施方式中,说明了在第1服务器6等或信息处理装置中检测通信控制装置的特性的情况,没有涉及该检测的定时。即,可以在任一方信息处理装置请求建立通信之后、或者信息处理装置已连接第1服务器6等的时间点,预先进行特性的判断。
并且,关于通信控制装置的IP地址、通信控制装置的端口宽度等,也可以不从第1服务器6等发送,而通过用户的手工输入转发给信息处理装置,或者获取存储在通信控制装置等中的端口宽度等。
并且,说明了从第1服务器6等或接收侧的信息处理装置将气泡分组发送对象端口告知发送侧信息处理装置的情况,但也可以在发送侧信息处理装置中预先设定气泡分组发送对象端口,或者通过用户的手工输入或访问规定的服务器等,发送侧信息处理装置检测气泡分组发送对象端口的位置。
并且,在实施方式1~3中,说明了第1服务器和第2服务器直接进行通信的情况,但是,例如第1服务器和第2服务器也可以通过规定的共享记录介质,进行服务器之间的信息(例如,图12中的端口P8的端口序号等)的共享。
并且,在上述各个实施方式中,主要说明了为了把气泡分组发送对象端口限定为规定的端口而发送气泡分组发送对象端口信息的情况,但该气泡分组发送对象端口信息也可以不用于限定气泡分组发送对象端口,而单纯地为了指定气泡分组的发送目的地的端口而进行发送。
并且,在上述各个实施方式中,说明了各个信息处理装置只通过一个通信控制装置连接通信线路5的情况,但在通过多个通信控制装置连接通信线路5的情况下(即多段连接的NAT),也能够建立信息处理装置之间的通信。
并且,在上述各个实施方式中,说明了第1通信控制装置3和第2通信控制装置4具有NAT的功能,但第1通信控制装置3和第2通信控制装置4也可以替代或与NAT功能一起具有分组过滤的防火墙(Firewall)功能,以代替NAT功能。此处,所说分组过滤,例如进行基于前述的接收过滤规则的接收分组的选择。第1通信控制装置3具有这种基于接收过滤规则的防火墙功能时,通过从本地侧(第1信息处理装置1等一侧)向全局侧(通信线路5)发送气泡分组,并在第1通信控制装置3中保留发送履历,从而可以接收发送给气泡分组发送端口的回信分组。并且,第2通信控制装置4具有这种基于接收过滤规则的防火墙功能时,借助于通过从本地侧(第2信息处理装置2等一侧)到全局侧的气泡分组发送对象端口的回信分组的发送,可以建立第1信息处理装置1等和第2信息处理装置2等之间的通信。
并且,第1信息处理装置1等和第2信息处理装置2等可以安装作为应用的防火墙功能,也可以不安装。
并且,在上述各个实施方式中,说明了利用IP地址确定第1服务器6等的情况,但也可以利用域名(例如server.pana.net等)确定第1服务器6等。该情况时,该域名使用DNS服务器被转换为IP地址,从而可以确定第1服务器6等。
并且,在上述各个实施方式的通信中使用的协议可以是IPv4(InternetProtocol version 4),也可以是IPv6(Internet Protocol version 6)。
并且,在上述各个实施方式中,各个处理(各个功能)也可以通过利用单一的装置(系统)集中处理来实现,或者通过利用多个装置分散处理来实现。
并且,在上述各个实施方式中,各个构成要素可以利用专用的硬件构成,或者对可以利用软件实现的构成要素,利用基于程序控制的软件构成。另外,实现上述各个实施方式的信息处理装置的软件是以下所述的程序。即,该程序使计算机执行,通过控制第1信息处理装置的通信的第1通信控制装置和控制第2信息处理装置的通信的第2通信控制装置,与第2信息处理装置进行通信的第1信息处理装置中的处理,以及执行以下步骤:气泡分组发送步骤,通过第1通信控制装置向第2通信控制装置发送用于在第1通信控制装置保留发送履历的气泡分组;回信分组接收步骤,接收从第2信息处理装置通过第2通信控制装置发送给气泡分组发送端口的回信分组,该端口是在气泡分组的发送中使用的第1通信控制装置的端口。
并且,在该程序中,使计算机进一步执行范围检测用分组发送步骤,发送为了检测包括气泡分组发送端口在内的端口范围而使用的范围检测用分组。
并且,在该程序中,在范围检测用分组发送步骤中,也可以在气泡分组发送步骤的气泡分组的发送前后分别发送范围检测用分组。
并且,在该程序中,在范围检测用分组发送步骤中,也可以在发送气泡分组的前后,分别向不同地址发送范围检测用分组。
并且,在该程序中,使计算机进一步执行气泡分组发送对象端口接收步骤,接收表示气泡分组发送对象端口的位置的气泡分组发送对象端口信息,该气泡分组发送对象端口是第2通信控制装置中发送气泡分组的对象端口,在气泡分组发送步骤中,也可以向气泡分组发送对象端口信息表示的气泡分组发送对象端口发送气泡分组。
并且,在该程序中,气泡分组发送对象端口也可以是在第2信息处理装置与服务器之间进行信息的接收发送的端口,该服务器用于建立第1信息处理装置和第2信息处理装置之间的通信。
并且,在该程序中,使计算机进一步执行端口宽度检测用分组发送步骤,通过第1通信控制装置发送用于检测第1通信控制装置的端口宽度的端口宽度检测用分组。
并且,在该程序中,第1通信控制装置从第2信息处理装置通过第2通信控制装置发送用于在第2通信控制装置保留发送履历的气泡分组,使计算机进一步执行回信分组发送步骤,向至少包括从第2信息处理装置发送气泡分组时使用的、第2通信控制装置的端口的一个或一个以上的端口发送回信分组。
并且,在该程序中,使计算机进一步执行范围接收步骤,接收表示将要发送回信分组的端口的范围的信息即范围信息,在回信分组发送步骤中,也可以向范围信息表示的范围的端口发送回信分组。
并且,在该程序中,使计算机进一步执行端口宽度接收步骤,接收作为表示第2通信控制装置的端口宽度的信息的端口宽度信息,在回信分组发送步骤中,也可以按照每个端口宽度信息表示的端口宽度发送回信分组。
并且,实现上述各个实施方式的信息处理装置的软件是以下所述的程序。即,该程序使计算机执行第1信息处理装置中的处理,该第1信息处理装置通过控制第1信息处理装置的通信的第1通信控制装置和控制第2信息处理装置的通信的第2通信控制装置,与第2信息处理装置通信,第1通信控制装置从第2信息处理装置通过第2通信控制装置发送用于在该第2通信控制装置保留发送履历的气泡分组,进一步执行回信分组发送步骤,向至少包括从第2信息处理装置发送气泡分组时使用的、第2通信控制装置的端口的一个或一个以上的端口发送回信分组。
并且,在该程序中,使计算机进一步执行范围接收步骤,接收表示将要发送回信分组的端口的范围的信息即范围信息,在回信分组发送步骤中,也可以向范围信息表示的范围的端口发送回信分组。
并且,在该程序中,使计算机进一步执行端口宽度接收步骤,接收作为表示第2通信控制装置的端口宽度的信息的端口宽度信息,在回信分组发送步骤中,也可以按照每个端口宽度信息表示的端口宽度发送回信分组。
并且,实现上述各个实施方式的服务器的软件是以下所述的程序。即,该程序使计算机执行服务器的处理,该服务器用于建立第1信息处理装置和第2信息处理装置的通信,该通信是通过控制第1信息处理装置的通信的第1通信控制装置、和控制第2信息处理装置的通信的第2通信控制装置进行,并且执行以下步骤:使第1信息处理装置和第2信息处理装置接收发送信息的信息接收发送步骤;判断第1通信控制装置和第2通信控制装置的特性的特性判断步骤;和接收发送确定步骤,根据特性判断步骤的判断结果,把第1信息处理装置和第2信息处理装置中任一方确定为发送侧(发送侧信息处理装置),把另一方确定为接收侧(接收侧信息处理装置)。
并且,在该程序中,使计算机进一步执行气泡分组发送对象端口发送步骤,向发送侧信息处理装置发送表示气泡分组发送对象端口的位置的气泡分组发送对象端口信息,该气泡分组发送对象端口是控制接收侧信息处理装置的通信的通信控制装置(接收侧通信控制装置)的、发送侧信息处理装置发送气泡分组的对象的端口,该气泡分组用于在控制发送侧信息处理装置的通信的通信控制装置(发送侧通信控制装置)保留发送履历。
并且,在该程序中,气泡分组发送对象端口信息表示的气泡分组发送对象端口,也可以是在信息接收发送部和接收侧信息处理装置的通信中使用的接收侧通信控制装置的端口。
并且,在该程序中,使计算机进一步执行范围检测步骤,通过接收用于检测包括气泡分组发送端口在内的端口范围的范围检测用分组,来检测包括气泡分组发送端口在内的端口范围,该气泡分组发送端口是从发送侧信息处理装置向接收侧通信控制装置的气泡分组发送对象端口发送气泡分组时使用的、发送侧通信控制装置的端口;和范围发送步骤,发送作为表示在范围检测步骤检测的、包括气泡分组发送端口在内的端口范围的信息的范围信息。
并且,在该程序中,在范围检测步骤中,也可以根据发送给多个地址的范围检测用分组来进行检测。
并且,在该程序中,使计算机进一步执行端口宽度检测步骤,接收从发送侧信息处理装置通过发送侧通信控制装置发送的、用于检测发送侧通信控制装置的端口宽度的端口宽度检测用分组,根据该端口宽度检测用分组,检测发送侧通信控制装置的端口宽度;和端口宽度发送步骤,发送作为表示在端口宽度检测步骤检测的发送侧通信控制装置的端口宽度的信息的端口宽度信息。
并且,在该程序中,使计算机进一步执行检测用端口信息接收步骤,接收表示范围检测用分组通过的第1通信控制装置的端口位置的检测用端口信息;范围检测步骤,根据在检测用端口信息接收步骤接收的检测用端口信息,检测包括气泡分组发送端口在内的端口范围;和范围发送步骤,发送表示在范围检测步骤检测的包括气泡分组发送端口在内的端口范围的信息即范围信息。
并且,在上述程序中,使计算机进一步执行端口宽度检测用端口信息接收步骤,接收表示端口宽度检测用分组通过的第1通信控制装置的端口位置的端口宽度检测用端口信息;端口宽度检测步骤,根据在端口宽度检测用端口信息接收步骤接收的端口宽度检测用端口信息,检测第1通信控制装置的端口宽度;和端口宽度发送步骤,通过服务器向第2信息处理装置发送作为表示在端口宽度检测步骤检测的表示第1通信控制装置的端口宽度的信息的端口宽度信息。
并且,在该程序中,使计算机进一步执行气泡分组发送对象端口接收步骤,接收表示气泡分组发送对象端口的位置的气泡分组发送对象端口信息,该气泡分组发送对象端口是第2通信控制装置的发送气泡分组的对象的端口,在气泡分组发送步骤中,也可以向气泡分组发送对象端口信息表示的气泡分组发送对象端口发送气泡分组。
并且,在上述程序中,气泡分组发送对象端口信息是表示一个或一个以上的气泡分组发送对象端口的位置的信息,在气泡分组发送步骤中,也可以向气泡分组发送对象端口信息表示的一个或一个以上的气泡分组发送对象端口发送气泡分组。
并且,在该程序中,使计算机进一步执行端口分配分组发送步骤,发送用于在第1通信控制装置中分配发送回信分组用的端口的端口分配分组,在回信分组发送步骤中,也可以从发送了端口分配分组的第1信息处理装置的端口发送回信分组。
并且,在上述程序中,使计算机进一步执行范围检测用分组发送步骤,发送为了检测包括端口分配分组发送端口在内的端口范围所使用的范围检测用分组,该端口分配分组发送端口是在端口分配分组的发送中使用的第1通信控制装置的端口。
并且,实现上述各个实施方式的信息处理装置的软件是以下所述的程序。即,该程序使计算机执行构成通信系统的信息处理装置的处理,该通信系统包括信息处理装置、控制信息处理装置的通信的通信控制装置和服务器,并且执行以下步骤:气泡分组发送步骤,通过通信控制装置发送用于在通信控制装置保留发送履历的一个或一个以上的气泡分组;和范围检测用分组发送步骤,发送在为了检测包括一个或一个以上的气泡分组发送端口在内的端口范围所使用的范围检测用分组,该气泡分组发送端口是在一个或一个以上的气泡分组的发送中使用的通信控制装置的端口。
并且,在该程序中,使计算机进一步执行检测用端口信息接收步骤,接收表示范围检测用分组通过的通信控制装置的端口位置的检测用端口信息;和范围检测步骤,根据在检测用端口信息接收步骤接收的检测用端口信息,检测包括一个或一个以上的气泡分组发送端口在内的端口范围。
并且,在该程序中,使计算机进一步执行范围发送步骤,发送在范围检测步骤检测的包括一个或一个以上的气泡分组发送端口在内的端口范围的信息即范围信息。
并且,实现上述各个实施方式的服务器装置的软件是以下所述的程序。即,该程序使计算机执行构成通信系统的服务器中的处理,该通信系统包括信息处理装置、控制信息处理装置的通信的通信控制装置和服务器,并且执行以下步骤:范围检测步骤,接收为了检测包括一个或一个以上的气泡分组发送端口在内的端口范围所使用的、从信息处理装置发送的范围检测用分组,根据该范围检测用分组,检测包括一个或一个以上的气泡分组发送端口在内的端口范围,该气泡分组发送端口是为了在通信控制装置保留发送履历而发送的一个或一个以上的气泡分组的发送中使用的通信控制装置的端口;和范围发送步骤,发送在范围检测步骤检测的、表示包括一个或一个以上的气泡分组发送端口在内的端口范围的信息即范围信息。
并且,其他的程序使计算机执行构成通信系统的服务器中的处理,该通信系统包括信息处理装置、控制信息处理装置的通信的通信控制装置和服务器。并且执行以下步骤:检测用端口检测步骤,接收为了检测包括一个或一个以上的气泡分组发送端口在内的端口范围所使用的、从信息处理装置发送的范围检测用分组,检测该范围检测用分组通过的通信控制装置的端口位置,该气泡分组发送端口是为了在通信控制装置保留发送履历而发送的一个或一个以上的气泡分组的发送中使用的通信控制装置的端口;和检测用端口信息发送步骤,向信息处理装置发送作为表示在检测用端口检测步骤检测的端口位置的信息的检测用端口信息。
另外,在上述程序中,在发送信息的发送步骤、接收信息的接收步骤等中,不包括通过硬件进行的处理,例如发送步骤中在调制解调器和接口卡等进行的处理(只通过硬件进行的处理)。
并且,该程序通过从服务器等下载可以进行流通,而且也可以通过记录在规定的记录介质(例如CD-ROM等的光盘和磁盘、半导体存储器等)中来流通。
并且,执行该程序的计算机可以是单个,也可以是多个。即,可以集中处理也可以分散处理。
这样,本发明的通信系统等,可以建立通过通信控制装置的多个信息处理装置之间的通信,作为进行信息处理装置之间的通信用的设备非常有用。

Claims (106)

1.一种通信系统,具备:第1信息处理装置;第2信息处理装置;控制所述第1信息处理装置的通信的第1通信控制装置;控制所述第2信息处理装置的通信的第2通信控制装置;和建立所述第1信息处理装置和所述第2信息处理装置之间的通信的服务器;其中,
所述第1信息处理装置具备:
气泡分组发送部,通过所述第1通信控制装置,把用于在所述笫1通信控制装置保留发送履历的气泡分组发送给所述第2通信控制装置;和
回信分组接收部,接收从所述第2信息处理装置通过所述第2通信控制装置发送给在所述气泡分组的发送中使用的作为所述第1通信控制装置的端口的气泡分组发送端口的回信分组;
所述第2信息处理装置具备:
回信分组发送部,向至少包含所述气泡分组发送端口的一个或一个以上的端口发送所述回信分组。
2.根据权利要求1所述的通信系统,其中,
所述第1信息处理装置进一步具备:
范围检测用分组发送部,向所述服务器发送用于检测包括所述气泡分组发送端口在内的端口范围的范围检测用分组;
所述服务器进一步具备:
范围检测部,接收所述范围检测用分组,根据该范围检测用分组,检测包含所述气泡分组发送端口在内的端口范围;和
范围发送部,向所述第2信息处理装置发送作为表示包括所述范围检测部检测的所述气泡分组发送端口在内的端口范围的信息的范围信息;
所述第2信息处理装置进一步具备:
接收所述范围信息的范围接收部;
其中,所述回信分组发送部向所述范围信息表示的范围的端口发送所述回信分组。
3.根据权利要求1或2所述的通信系统,其中,
所述服务器进一步具备:
气泡分组发送对象端口发送部,向所述第1信息处理装置发送表示气泡分组发送对象端口的位置的气泡分组发送对象端口信息,该气泡分组发送对象端口是所述第2通信控制装置中的、所述气泡分组要发送到的对象的端口;
所述第1信息处理装置进一步具备:
气泡分组发送对象端口接收部,接收所述气泡分组发送对象端口信息;
其中,所述气泡分组发送部向所述气泡分组发送对象端口信息表示的气泡分组发送对象端口发送所述气泡分组。
4.根据权利要求1所述的通信系统,其中,
所述第1信息处理装置进一步具备:
端口宽度检测用分组发送部,通过所述第1通信控制装置向所述服务器发送用于检测所述第1通信控制装置的端口宽度的端口宽度检测用分组;
所述服务器进一步具备:
端口宽度检测部,接收所述端口宽度检测用分组,根据该端口宽度检测用分组,检测所述第1通信控制装置的端口宽度;和
端口宽度发送部,向所述第2信息处理装置发送作为表示所述端口宽度检测部检测出的所述第1通信控制装置的端口宽度的信息的端口宽度信息;
所述第2信息处理装置进一步具备:
接收所述端口宽度信息的端口宽度接收部;
其中,所述回信分组发送部按照每个所述端口宽度信息表示的端口宽度发送所述回信分组。
5.一种第1信息处理装置,通过控制第1信息处理装置的通信的第1通信控制装置、和控制第2信息处理装置的通信的第2通信控制装置,与所述第2信息处理装置通信,具备:
气泡分组发送部,通过所述第1通信控制装置,把用于在所述第1通信控制装置保留发送履历的气泡分组发送给所述第2通信控制装置;和
回信分组接收部,接收从所述第2信息处理装置通过所述第2通信控制装置发送给在所述气泡分组的发送中使用的作为所述第1通信控制装置的端口的气泡分组发送端口的回信分组。
6.根据权利要求5所述的第1信息处理装置,进一步具备:
范围检测用分组发送部,发送用于检测包括所述气泡分组发送端口在内的端口范围的范围检测用分组。
7.根据权利要求6所述的第1信息处理装置,其中,
所述范围检测用分组发送部在所述气泡分组发送部发送所述气泡分组的前后,分别发送所述范围检测用分组。
8.根据权利要求7所述的第1信息处理装置,其中
所述范围检测用分组发送部在所述气泡分组的发送前后,向分别不同的地址发送所述范围检测用分组。
9.根据权利要求7所述的第1信息处理装置,其中
所述范围检测用分组发送部在所述气泡分组的发送前后,分别使用在所述第1信息处理装置中新分配的端口发送所述范围检测用分组。
10.根据权利要求5~9中任一项所述的第1信息处理装置,进一步具备:
气泡分组发送对象端口接收部,接收表示气泡分组发送对象端口的位置的气泡分组发送对象端口信息,该气泡分组发送对象端口是所述第2通信控制装置中的、所述气泡分组要发送到的对象的端口;
其中,所述气泡分组发送部向所述气泡分组发送对象端口信息表示的气泡分组发送对象端口发送所述气泡分组。
11.根据权利要求10所述的第1信息处理装置,其中,所述气泡分组发送对象端口是在所述第2信息处理装置与建立所述第1信息处理装置和所述第2信息处理装置之间的通信的服务器之间进行信息的接收发送的端口。
12.根据权利要求5所述的笫1信息处理装置,进一步具备:
端口宽度检测用分组发送部,通过所述第1通信控制装置发送用于检测所述第1通信控制装置的端口宽度的端口宽度检测用分组。
13.根据权利要求5所述的第1信息处理装置,其中,
所述第1通信控制装置从所述笫2信息处理装置通过所述第2通信控制装置被发送用于在所述第2通信控制装置保留发送履历的气泡分组,
所述第1信息处理装置进一步具备:
回信分组发送部,向至少包括从所述第2信息处理装置进行的所述气泡分组的发送中使用的所述第2通信控制装置的端口的一个或一个以上的端口,发送回信分组。
14.根据权利要求13所述的第1信息处理装置,进一步具备:
范围接收部,接收作为表示所述回信分组要发送到的端口的范围的信息的范围信息;
其中,所述回信分组发送部向所述范围信息表示的范围的端口发送所述回信分组。
15.根据权利要求13或14所述的第1信息处理装置,进一步具备:
端口宽度接收部,接收作为表示所述第2通信控制装置的端口宽度的信息的端口宽度信息;
其中,所述回信分组发送部按照每个所述端口宽度信息表示的端口宽度发送所述回信分组。
16.一种第1信息处理装置,通过控制第1信息处理装置的通信的第1通信控制装置、和控制第2信息处理装置的通信的第2通信控制装置,与所述第2信息处理装置通信,
其中,所述第1通信控制装置从所述第2信息处理装置通过所述第2通信控制装置被发送用于在所述第2通信控制装置保留发送履历的气泡分组,
所述第1信息处理装置进一步具备:
回信分组发送部,向至少包括从所述第2信息处理装置进行的所述气泡分组的发送中使用的所述第2通信控制装置的端口的一个或一个以上的端口,发送回信分组。
17.根据权利要求16所述的第1信息处理装置,进一步具备:
范围接收部,接收作为表示所述回信分组要发送到的端口的范围的信息的范围信息,
所述回信分组发送部向所述范围信息表示的范围的端口发送所述回信分组。
18.根据权利要求16或17所述的第1信息处理装置,进一步具备:
端口宽度接收部,接收作为表示所述第2通信控制装置的端口宽度的信息的端口宽度信息;
其中,所述回信分组发送部按照每个所述端口宽度信息表示的端口宽度发送所述回信分组。
19.一种服务器,其用于建立第1信息处理装置和第2信息处理装置的通信,该通信是通过控制所述第1信息处理装置的通信的第1通信控制装置和控制所述第2信息处理装置的通信的第2通信控制装置进行的,所述服务器具备:
与所述第1信息处理装置和所述第2信息处理装置进行信息接收发送的信息接收发送部;
判断所述第1通信控制装置和所述第2通信控制装置的特性的特性判断部;和
接收发送确定部,根据所述特性判断部的判断结果,把所述第1信息处理装置和所述第2信息处理装置中任一方确定为发送侧(发送侧信息处理装置),把另一方确定为接收侧(接收侧信息处理装置)。
20.根据权利要求19所述的服务器,进一步具备:
气泡分组发送对象端口发送部,向所述发送侧信息处理装置发送表示气泡分组发送对象端口的位置的气泡分组发送对象端口信息,该气泡分组发送对象端口是控制所述接收侧信息处理装置的通信的通信控制装置(接收侧通信控制装置)中、所述发送侧信息处理装置发送气泡分组的对象的端口,该气泡分组用于在控制所述发送侧信息处理装置的通信的通信控制装置中(发送侧通信控制装置)保留发送履历。
21.根据权利要求20所述的服务器,其中,所述气泡分组发送对象端口信息表示的气泡分组发送对象端口是在所述信息接收发送部与所述接收侧信息处理装置的通信中使用的、所述接收侧通信控制装置的端口。
22.根据权利要求20或21所述的服务器,进一步具备:
范围检测部,通过接收用于检测包括气泡分组发送端口在内的端口范围的范围检测用分组,来检测包括所述气泡分组发送端口在内的端口范围,该气泡分组发送端口是从所述发送侧信息处理装置向所述接收侧通信控制装置的所述气泡分组发送对象端口发送所述气泡分组中使用的、所述发送侧通信控制装置的端口;和
范围发送部,发送作为表示所述范围检测部检测的包括所述气泡分组发送端口在内的端口范围的信息的范围信息。
23.根据权利要求22所述的服务器,其中,所述范围检测部根据发送给多个地址的所述范围检测用分组,进行所述检测。
24.根据权利要求20所述的服务器,进一步具备:
端口宽度检测部,接收从所述发送侧信息处理装置通过所述发送侧通信控制装置发送的、用于检测所述发送侧通信控制装置的端口宽度的端口宽度检测用分组,根据该端口宽度检测用分组,检测所述发送侧通信控制装置的端口宽度;和
端口宽度发送部,发送作为表示所述端口宽度检测部检测的所述发送侧通信控制装置的端口宽度的信息的端口宽度信息。
25.一种通信方法,其用于使第1信息处理装置和第2信息处理装置进行通信,该通信是通过控制所述第1信息处理装置的通信的第1通信控制装置、和控制所述第2信息处理装置的通信的第2通信控制装置进行的,所述通信方法包括:
气泡分组发送步骤,所述第1信息处理装置通过所述第1通信控制装置,把用于在该第1通信控制装置保留发送履历的气泡分组发送给所述第2通信控制装置;和
回信步骤,所述第2信息处理装置通过所述第2通信控制装置,向至少包括在所述气泡分组发送步骤的气泡分组发送中使用的、作为所述第1通信控制装置的端口的气泡分组发送端口的一个或一个以上的端口,发送回信分组。
26.根据权利要求25所述的通信方法,进一步包括:
第1地址获取步骤,所述第1信息处理装置获取所述第2通信控制装置的地址;
其中,在所述气泡分组发送步骤中,向在所述第1地址获取步骤获取的地址发送所述气泡分组。
27.根据权利要求25或26所述的通信方法,进一步包括:
第2地址获取步骤,所述第2信息处理装置获取所述第1通信控制装置的地址;
其中,在所述回信步骤中,向在所述第2地址获取步骤获取的地址发送所述回信分组。
28.根据权利要求25所述的通信方法,进一步包括:
范围检测步骤,检测包括所述气泡分组发送端口在内的端口的范围;
其中,在所述回信步骤,向在范围检测步骤检测的范围的端口发送所述回信分组。
29.根据权利要求28所述的通信方法,其中,所述范围检测步骤进一步包括:
所述第1信息处理装置在发送所述气泡分组之前,发送用于检测所述范围的第1范围检测用分组的步骤;
接收所述第1范围检测用分组,检测在所述第1范围检测用分组的发送中使用的所述第1通信控制装置的端口位置的步骤;
所述第1信息处理装置在发送所述气泡分组之后,发送用于检测所述范围的第2范围检测用分组的步骤;和
接收所述第2范围检测用分组,检测在所述第2范围检测用分组的发送中使用的所述第1通信控制装置的端口位置的步骤。
30.根据权利要求29所述的通信方法,其中,所述第1范围检测用分组和所述第2范围检测用分组被发送到不同的地址。
31.根据权利要求29所述的通信方法,其中,所述第1范围检测用分组和所述第2范围检测用分组使用在所述第1信息处理装置中新分配的端口发送。
32.根据权利要求25所述的通信方法,其中,所述第2通信控制装置的、所述气泡分组要发送到的对象的端口即气泡分组发送对象端口,是在所述第2信息处理装置与建立所述第1信息处理装置和所述第2信息处理装置之间的通信的服务器之间进行信息接收发送的端口。
33.根据权利要求25所述的通信方法,进一步包括:
特性判断步骤,判断所述第1通信控制装置和/或所述第2通信控制装置的特性;和
交替步骤,根据在所述特性判断步骤判断的特性,交替所述第1信息处理装置和所述第2信息处理装置的任务。
34.根据权利要求25所述的通信方法,其中,在所述回信步骤中向两个或两个以上的端口发送所述回信分组时,按照每个所述第1通信控制装置的端口宽度的间隔发送。
35.根据权利要求34所述的通信方法,进一步包括:
端口宽度检测步骤,检测所述第1通信控制装置的端口宽度;
其中,在所述回信步骤,按照每个在所述端口宽度检测步骤检测的端口宽度的间隔发送所述回信分组。
36.一种程序,用于使计算机执行第1信息处理装置中的处理,该第1信息处理装置通过控制第1信息处理装置的通信的第1通信控制装置和控制第2信息处理装置的通信的第2通信控制装置,与所述第2信息处理装置通信,该程序用于使计算机执行以下步骤:
气泡分组发送步骤,通过所述第1通信控制装置向所述第2通信控制装置发送用于在所述第1通信控制装置保留发送履历的气泡分组;和
回信分组接收步骤,接收从所述第2信息处理装置通过所述第2通信控制装置发送给气泡分组发送端口的回信分组,该端口是在所述气泡分组的发送中使用的所述第1通信控制装置的端口。
37.根据权利要求36所述的程序,用于使计算机进一步执行范围检测用分组发送步骤,发送为了检测包括所述气泡分组发送端口在内的端口范围而使用的范围检测用分组。
38.根据权利要求37所述的程序,其中,在所述范围检测用分组发送步骤中,在所述气泡分组发送步骤的所述气泡分组的发送前后分别发送所述范围检测用分组。
39.根据权利要求38所述的程序,其中,在所述范围检测用分组发送步骤中,在所述气泡分组的发送前后,分别向不同地址发送所述范围检测用分组。
40.根据权利要求38所述的程序,其中,在所述范围检测用分组发送步骤中,在所述气泡分组的发送前后,分别使用在所述第1信息处理装置新分配的端口发送所述范围检测用分组。
41.根据权利要求36~40中任一项所述的程序,用于使计算机进一步执行气泡分组发送对象端口接收步骤,接收表示气泡分组发送对象端口的位置的气泡分组发送对象端口信息,该气泡分组发送对象端口是所述第2通信控制装置中所述气泡分组要发送到的对象的端口,
其中,在所述气泡分组发送步骤中,向所述气泡分组发送对象端口信息表示的气泡分组发送对象端口发送所述气泡分组。
42.根据权利要求41所述的程序,其中,所述气泡分组发送对象端口是在所述第2信息处理装置与服务器之间进行信息的接收发送的端口,该服务器用于建立所述第1信息处理装置和所述第2信息处理装置之间的通信。
43.根据权利要求36所述的程序,用于使计算机进一步执行端口宽度检测用分组发送步骤,通过所述第1通信控制装置发送用于检测所述第1通信控制装置的端口宽度的端口宽度检测用分组。
44.根据权利要求36所述的程序,
其中,所述第1通信控制装置从所述第2信息处理装置通过所述第2通信控制装置被发送用于在所述第2通信控制装置保留发送履历的气泡分组,
所述程序用于使计算机进一步执行回信分组发送步骤,向至少包括从所述第2信息处理装置进行的所述气泡分组的发送中使用的所述第2通信控制装置的端口的一个或一个以上的端口,发送回信分组。
45.根据权利要求44所述的程序,用于使计算机进一步执行范围接收步骤,接收作为表示所述回信分组要发送到的端口的范围的信息的范围信息,
在所述回信分组发送步骤中,向所述范围信息表示的范围的端口发送所述回信分组。
46.根据权利要求44或45所述的程序,用于使计算机进一步执行端口宽度接收步骤,接收作为表示所述第2通信控制装置的端口宽度的信息的端口宽度信息,
在所述回信分组发送步骤中,按照每个所述端口宽度信息表示的端口宽度发送所述回信分组。
47.一种程序,用于使计算机执行第1信息处理装置中的处理,该第1信息处理装置通过控制所述第1信息处理装置的通信的第1通信控制装置和控制第2信息处理装置的通信的第2通信控制装置,与所述第2信息处理装置通信,
其中,所述第1通信控制装置从所述第2信息处理装置通过所述第2通信控制装置被发送用于在该第2通信控制装置保留发送履历的气泡分组,
上述程序使计算机执行回信分组发送步骤,向至少包括从所述第2信息处理装置进行的所述气泡分组的发送中使用的所述第2通信控制装置的端口的一个或一个以上的端口,发送回信分组。
48.根据权利要求47所述的程序,用于使计算机进一步执行范围接收步骤,接收作为表示所述回信分组要发送到的端口的范围的信息的范围信息,
在所述回信分组发送步骤中,向所述范围信息表示的范围的端口发送所述回信分组。
49.根据权利要求47或48所述的程序,用于使计算机进一步执行端口宽度接收步骤,接收作为表示所述第2通信控制装置的端口宽度的信息的端口宽度信息,
在所述回信分组发送步骤中,按照每个所述端口宽度信息表示的端口宽度发送所述回信分组。
50.一种程序,用于使计算机执行服务器中的处理,该服务器用于建立第1信息处理装置和第2信息处理装置的通信,该通信通过控制所述第1信息处理装置的通信的第1通信控制装置、和控制所述第2信息处理装置的通信的第2通信控制装置进行,上述程序使计算机执行以下步骤:
与所述第1信息处理装置和所述第2信息处理装置进行信息接收发送的信息接收发送步骤;
判断所述第1通信控制装置和所述第2通信控制装置的特性的特性判断步骤;和
接收发送确定步骤,根据所述特性判断步骤的判断结果,把所述第1信息处理装置和所述第2信息处理装置中任一方确定为发送侧(发送侧信息处理装置),把另一方确定为接收侧(接收侧信息处理装置)。
51.根据权利要求1所述的通信系统,其中,
所述第1信息处理装置进一步具备:
范围检测用分组发送部,向所述服务器发送用于检测包括所述气泡分组发送端口在内的端口范围的范围检测用分组;
检测用端口信息接收部,接收表示所述范围检测用分组通过的所述第1通信控制装置的端口的位置的检测用端口信息;
范围检测部,根据所述检测用端口信息接收部接收的检测用端口信息,检测包括所述气泡分组发送端口在内的端口范围;和
范围发送部,发送作为表示所述范围检测部检测的包括所述气泡分组发送端口在内的端口的范围的信息的范围信息;
所述服务器进一步具备:
检测用端口检测部,接收所述范围检测用分组,检测该范围检测用分组通过的所述第1通信控制装置的端口位置;和
检测用端口信息发送部,向所述第1信息处理装置发送表示所述检测用端口检测部检测的端口的位置的检测用端口信息,
所述第2信息处理装置进一步具备:
接收所述范围信息的范围接收部;
其中,所述回信分组发送部向所述范围信息表示的范围的端口发送所述回信分组。
52.根据权利要求1、2或51所述的通信系统,其中,
所述第1信息处理装置进一步具备:
端口宽度检测用分组发送部,通过所述第1通信控制装置向所述服务器发送用于检测所述第1通信控制装置的端口宽度的端口宽度检测用分组;
端口宽度检测用端口信息接收部,接收表示所述端口宽度检测用分组通过的所述第1通信控制装置的端口位置的端口宽度检测用端口信息;
端口宽度检测部,根据所述端口宽度检测用端口信息接收部接收的端口宽度检测用端口信息,检测所述第1通信控制装置的端口宽度;和
端口宽度发送部,通过所述服务器向所述第2信息处理装置发送作为表示所述端口宽度检测部检测出的所述第1通信控制装置的端口宽度的信息的端口宽度信息;
所述服务器进一步具备:
端口宽度检测用端口检测部,接收所述端口宽度检测用分组,根据该端口宽度检测用分组,检测所述端口宽度检测用分组通过的所述第1通信控制装置的端口位置;和
端口宽度检测用端口信息发送部,向所述第1信息处理装置发送表示所述端口宽度检测用端口检测部检测的端口位置的端口宽度检测用端口信息;
所述第2信息处理装置进一步具备:
接收所述端口宽度信息的端口宽度接收部;
其中,所述回信分组发送部按照每个所述端口宽度信息表示的端口宽度发送所述回信分组。
53.根据权利要求51所述的通信系统,其中,
所述服务器进一步具备:
气泡分组发送对象端口发送部,向所述第1信息处理装置发送表示气泡分组发送对象端口的位置的气泡分组发送对象端口信息,该气泡分组发送对象端口是所述第2通信控制装置中的、所述气泡分组要发送到的对象的端口;
所述第1信息处理装置进一步具备:
气泡分组发送对象端口接收部,接收所述气泡分组发送对象端口信息;
其中,所述气泡分组发送部向所述气泡分组发送对象端口信息表示的气泡分组发送对象端口发送所述气泡分组。
54.根据权利要求6~9中任一项所述的第1信息处理装置,进一步具备:
检测用端口信息接收部,接收表示所述范围检测用分组通过的所述第1通信控制装置的端口的位置的检测用端口信息;
范围检测部,根据所述检测用端口信息接收部接收的检测用端口信息,检测包括所述气泡分组发送端口在内的端口范围;和
范围发送部,发送作为表示所述范围检测部检测的包括所述气泡分组发送端口在内的端口的范围的信息的范围信息,
55.根据权利要求54所述的第1信息处理装置,进一步具备:
气泡分组发送对象端口接收部,接收表示气泡分组发送对象端口的位置的气泡分组发送对象端口信息,该气泡分组发送对象端口是所述第2通信控制装置中的、所述气泡分组要发送到的对象的端口,
其中,所述气泡分组发送部向所述气泡分组发送对象端口信息表示的气泡分组发送对象端口发送所述气泡分组。
56.根据权利要求55所述的第1信息处理装置,进一步具备:
端口宽度检测用端口信息接收部,接收表示所述端口宽度检测用分组通过的所述第1通信控制装置的端口位置的端口宽度检测用端口信息;
端口宽度检测部,根据所述端口宽度检测用端口信息接收部接收的端口宽度检测用端口信息,检测所述第1通信控制装置的端口宽度;和
端口宽度发送部,通过所述服务器向所述第2信息处理装置发送作为表示所述端口宽度检测部检测出的所述第1通信控制装置的端口宽度的信息的端口宽度信息。
57.一种服务器,其用于建立第1信息处理装置和第2信息处理装置的通信,该通信是通过控制所述第1信息处理装置的通信的第1通信控制装置和控制所述第2信息处理装置的通信的第2通信控制装置进行的,所述服务器具备:
检测用端口检测部,接收用于检测包括气泡分组发送端口在内的端口范围的范围检测用分组,检测该范围检测用分组通过的所述第1通信控制装置的端口位置,该气泡分组发送端口是从所述第1信息处理装置向所述第2通信控制装置发送用于在所述第1通信控制装置保留发送履历的气泡分组时使用的、所述第1通信控制装置的端口;和
检测用端口信息发送部,把表示所述检测用端口检测部检测的端口位置的检测用端口信息发送给所述第1信息处理装置。
58.根据权利要求57所述的服务器,进一步具备:
端口宽度检测用端口检测部,接收从所述笫1信息处理装置通过所述第1通信控制装置发送的、用于检测所述第1通信控制装置的端口宽度的端口宽度检测用分组,根据该端口宽度检测用分组,检测所述端口宽度检测用分组通过的所述第1通信控制装置的端口位置;和
端口宽度检测用端口信息发送部,向所述第1信息处理装置发送表示所述端口宽度检测用端口检测部检测的端口位置的端口宽度检测用端口信息。
59.根据权利要求37~40中任一项所述的程序,用于使计算机进一步执行:
检测用端口信息接收步骤,接收表示所述范围检测用分组通过的所述第1通信控制装置的端口的位置的检测用端口信息;
范围检测步骤,根据在所述检测用端口信息接收步骤接收的检测用端口信息,检测包括所述气泡分组发送端口在内的端口范围;和
范围发送步骤,发送作为表示在所述范围检测步骤检测的包括所述气泡分组发送端口在内的端口范围的信息的范围信息。
60.根据权利要求59所述的程序,用于使计算机进一步执行:
气泡分组发送对象端口接收步骤,接收表示气泡分组发送对象端口的位置的气泡分组发送对象端口信息,该气泡分组发送对象端口是所述第2通信控制装置中的、所述气泡分组要发送到的对象的端口;
在所述气泡分组发送步骤中,向所述气泡分组发送对象端口信息表示的气泡分组发送对象端口发送所述气泡分组。
61.根据权利要求60所述的程序,用于使计算机进一步执行:
端口宽度检测用端口信息接收步骤,接收表示所述端口宽度检测用分组通过的所述第1通信控制装置的端口位置的端口宽度检测用端口信息;
端口宽度检测步骤,根据在所述端口宽度检测用端口信息接收步骤接收的端口宽度检测用端口信息,检测所述第1通信控制装置的端口宽度;和
端口宽度发送步骤,通过所述服务器向所述第2信息处理装置,发送作为表示在所述端口宽度检测步骤检测的所述第1通信控制装置的端口宽度的信息的端口宽度信息。
62.根据权利要求53所述的通信系统,其中,所述气泡分组发送对象端口信息是表示一个或一个以上的气泡分组发送对象端口的位置的信息,
所述气泡分组发送部向所述气泡分组发送对象端口信息表示的一个或一个以上的气泡分组发送对象端口,发送所述气泡分组。
63.根据权利要求55所述的第1信息处理装置,其中,所述气泡分组发送对象端口信息是表示一个或一个以上的气泡分组发送对象端口的位置的信息,
所述气泡分组发送部向所述气泡分组发送对象端口信息表示的一个或一个以上的气泡分组发送对象端口,发送所述气泡分组。
64.根据权利要求63所述的第1信息处理装置,其中,所述气泡分组发送对象端口信息表示的一个或一个以上的气泡分组发送对象端口,包括端口分配分组发送端口,其是通过了用于在所述第2通信控制装置中分配用于发送所述回信分组的端口的从所述第2信息处理装置发送的端口分配分组的所述第2通信控制装置的端口。
65.根据权利要求64所述的第1信息处理装置,进一步具备:
端口宽度接收部,接收作为表示所述第2通信控制装置的端口宽度的信息的端口宽度信息;
其中,所述气泡分组发送部按照每个所述端口宽度信息表示的端口宽度发送所述气泡分组。
66.根据权利要求16所述的第1信息处理装置,进一步具备:
端口分配分组发送部,发送用于在所述第1通信控制装置中分配发送所述回信分组用的端口的端口分配分组;
其中,所述回信分组发送部从被发送了所述端口分配分组的所述第1信息处理装置的端口发送所述回信分组。
67.根据权利要求66所述的第1信息处理装置,进一步具备:
范围检测用分组发送部,发送为了检测包括端口分配分组发送端口在内的端口范围所使用的范围检测用分组,该端口分配分组发送端口是在所述端口分配分组的发送中使用的所述第1通信控制装置的端口。
68.根据权利要求67所述的第1信息处理装置,所述范围检测用分组发送部在所述端口分配分组发送部发送所述端口分配分组的前后,分别发送所述范围检测用分组。
69.根据权利要求68所述的第1信息处理装置,其中,所述范围检测用分组发送部在所述端口分配分组的发送前后,分别使用在所述第1信息处理装置中新分配的端口,发送所述范围检测用分组。
70.根据权利要求67~69中任一项所述的第1信息处理装置,进一步具备:
检测用端口信息接收部,接收表示所述范围检测用分组通过的所述第1通信控制装置的端口的位置的检测用端口信息;
范围检测部,根据所述检测用端口信息接收部接收的检测用端口信息,检测包括发送了所述端口分配分组的所述第1通信控制装置的端口在内的端口范围;和
气泡分组发送对象端口发送部,发送作为表示端口范围的信息的气泡分组发送对象端口信息,该端口范围包括发送了所述范围检测部检测的所述端口分配分组的所述第1通信控制装置的端口。
71.根据权利要求66~69中任一项所述的第1信息处理装置,进一步具备端口宽度检测用分组发送部,通过所述第1通信控制装置发送用于检测所述第1通信控制装置的端口宽度的端口宽度检测用分组。
72.根据权利要求71所述的第1信息处理装置,进一步具备:
端口宽度检测用端口信息接收部,接收表示所述端口宽度检测用分组通过的所述第1通信控制装置的端口位置的端口宽度检测用端口信息;
端口宽度检测部,根据所述端口宽度检测用端口信息接收部接收的端口宽度检测用端口信息,检测所述第1通信控制装置的端口宽度;和
端口宽度发送部,通过所述服务器向所述第2信息处理装置发送作为表示所述端口宽度检测部检测出的所述第1通信控制装置的端口宽度的信息的端口宽度信息,
73.一种服务器,其用于建立第1信息处理装置和第2信息处理装置的通信,该通信是通过控制所述第1信息处理装置的通信的第1通信控制装置和控制所述第2信息处理装置的通信的第2通信控制装置进行的,所述服务器具备:
气泡分组发送对象端口发送部,向所述第1信息处理装置发送表示气泡分组发送对象端口的位置的气泡分组发送对象端口信息,该气泡分组发送对象端口是作为所述第1信息处理装置发送用于在所述第1通信控制装置保留发送履历的气泡分组的对象的所述第2通信控制装置的端口。
74.根据权利要求73所述的服务器,其中,所述气泡分组发送对象端口信息是表示一个或一个以上的气泡分组发送对象端口的位置的信息,
该一个或一个以上的气泡分组发送对象端口包括端口分配分组发送端口,该端口分配分组发送端口是通过了端口分配分组的所述第2通信控制装置的端口,该端口分配分组是为了在所述第2通信控制装置中分配用于发送回信分组的端口而从所述第2信息处理装置发送来的,该回信分组是相对于所述气泡分组的发送而从所述第2信息处理装置发送的回信分组。
75.根据权利要求74所述的服务器,进一步具备:
检测用端口检测部,接收用于检测包括所述端口分配分组发送端口在内的端口范围的范围检测用分组,检测该范围检测用分组通过的所述笫2通信控制装置的端口位置;
检测用端口信息发送部,向所述第2信息处理装置发送表示所述检测用端口检测部检测的端口的位置的检测用端口信息;和
气泡分组发送对象端口接收部,接收表示端口范围的气泡分组发送对象端口信息,该端口范围包括从所述第2信息处理装置发送的所述端口分配分组;
其中,所述气泡分组发送对象端口发送部发送所述气泡分组发送对象端口接收部接收的所述气泡分组发送对象端口信息。
76.根据权利要求74所述的服务器,进一步具备:
范围检测部,接收用于检测包括所述端口分配分组发送端口在内的端口范围的范围检测用分组,检测包括所述端口分配分组发送端口在内的端口范围;
其中,所述气泡分组发送对象端口发送部根据所述范围检测部检测的端口范围,发送所述气泡分组发送对象端口信息。
77.根据权利要求74~76中任一项所述的服务器,进一步具备:
端口宽度检测用端口检测部,接收从所述第2信息处理装置通过所述笫2通信控制装置发送的、用于检测所述第2通信控制装置的端口宽度的端口宽度检测用分组,根据该端口宽度检测用分组,检测所述端口宽度检测用分组通过的所述第2通信控制装置的端口位置;和
端口宽度检测用端口信息发送部,向所述第2信息处理装置发送表示所述端口宽度检测用端口检测部检测的端口位置的端口宽度检测用端口信息。
78.根据权利要求74~76中任一项所述的服务器,进一步具备:
端口宽度检测部,接收从所述第2信息处理装置通过所述第2通信控制装置发送的、用于检测所述第2通信控制装置的端口宽度的端口宽度检测用分组,根据该端口宽度检测用分组,检测所述第2通信控制装置的端口宽度;和
端口宽度发送部,向所述第1信息处理装置发送所述端口宽度检测部检测的、作为表示所述第2通信控制装置的端口宽度的信息的端口宽度信息。
79.根据权利要求25所述的通信方法,其中,在所述气泡分组发送步骤,向一个或一个以上的端口发送所述气泡分组。
80.根据权利要求41所述的程序,其中,所述气泡分组发送对象端口信息是表示一个或一个以上的气泡分组发送对象端口的位置的信息,
在所述气泡分组发送步骤,向所述气泡分组发送对象端口信息表示的一个或一个以上的气泡分组发送对象端口发送所述气泡分组。
81.根据权利要求48所述的程序,用于使计算机进一步执行端口分配分组发送步骤,发送用于在所述第1通信控制装置中分配发送所述回信分组用的端口的端口分配分组,
在所述回信分组发送步骤,从被发送了所述端口分配分组的所述第1信息处理装置的端口发送所述回信分组。
82.根据权利要求81所述的程序,用于使计算机进一步执行范围检测用分组发送步骤,发送为了检测包括端口分配分组发送端口在内的端口范围所使用的范围检测用分组,该端口分配分组发送端口是在所述端口分配分组的发送中使用的所述第1通信控制装置的端口。
83.一种通信系统,具备信息处理装置、控制所述信息处理装置的通信的通信控制装置和服务器,其中,
所述信息处理装置具备:
气泡分组发送部,通过所述通信控制装置发送用于在所述通信控制装置保留发送履历的一个或一个以上的气泡分组;和
范围检测用分组发送部,向所述服务器发送为了检测包括一个或一个以上的气泡分组发送端口在内的端口范围所使用的范围检测用分组,该气泡分组发送端口是在一个或一个以上的所述气泡分组的发送中使用的所述通信控制装置的端口;
所述服务器具备:
范围检测部,接收所述范围检测用分组,根据该范围检测用分组,检测包括一个或一个以上的所述气泡分组发送端口在内的端口范围。
84.根据权利要求83所述的通信系统,其中,所述服务器进一步具备:
范围发送部,发送作为表示包括所述范围检测部检测的一个或一个以上的所述气泡分组发送端口在内的端口范围的信息的范围信息。
85.一种通信系统,具备信息处理装置、控制所述信息处理装置的通信的通信控制装置和服务器,其中,
所述信息处理装置具备:
气泡分组发送部,通过所述通信控制装置发送用于在所述通信控制装置保留发送履历的一个或一个以上的气泡分组;
范围检测用分组发送部,向所述服务器发送为了检测包括一个或一个以上的气泡分组发送端口在内的端口范围所使用的范围检测用分组,该气泡分组发送端口是在一个或一个以上的所述气泡分组的发送中使用的所述通信控制装置的端口;
检测用端口信息接收部,接收表示所述范围检测用分组通过的所述通信控制装置的端口的位置的检测用端口信息;和
范围检测部,根据所述检测用端口信息接收部接收的检测用端口信息,检测包括一个或一个以上的所述气泡分组发送端口在内的端口范围,
所述服务器具备:
检测用端口检测部,接收所述范围检测用分组,检测该范围检测用分组通过的所述通信控制装置的端口位置;和
检测用端口信息发送部,向所述信息处理装置发送表示所述检测用端口检测部检测的端口的位置的检测用端口信息。
86.根据权利要求85所述的通信系统,其中,所述信息处理装置进一步具备:
范围发送部,发送作为表示所述范围检测部检测的包括一个或一个以上的所述气泡分组发送端口在内的端口范围的信息的范围信息。
87.根据权利要求84或86所述的通信系统,进一步具备第2信息处理装置,该第2信息处理装置具备:
接收所述范围信息的范围接收部;和
向所述范围信息表示的范围的端口发送回信分组的回信分组发送部,
所述信息处理装置进一步具备回信分组接收部,接收从所述第2信息处理装置发送的回信分组。
88.根据权利要求83或85所述的通信系统,其中,所述范围检测用分组发送部在所述气泡分组发送部发送一个或一个以上的所述气泡分组的前后,分别发送所述范围检测用分组。
89.根据权利要求88所述的通信系统,其中,所述范围检测用分组发送部在一个或一个以上的所述气泡分组的发送前后,分别向不同地址发送所述范围检测用分组。
90.根据权利要求88所述的通信系统,其中,所述范围检测用分组发送部在一个或一个以上的所述气泡分组的发送前后,分别使用在所述信息处理装置中新分配的端口发送所述范围检测用分组。
91.根据权利要求83或85所述的通信系统,其中,
所述服务器进一步具备:
气泡分组发送对象端口发送部,向所述信息处理装置发送表示气泡分组发送对象端口的位置的气泡分组发送对象端口信息,该气泡分组发送对象端口是发送一个或一个以上的所述气泡分组的对象的端口,
所述信息处理装置进一步具备:
气泡分组发送对象端口接收部,接收所述气泡分组发送对象端口信息,
所述气泡分组发送部向所述气泡分组发送对象端口信息表示的气泡分组发送对象端口发送一个或一个以上的所述气泡分组。
92.一种构成权利要求83或85所述的通信系统的信息处理装置。
93.一种构成权利要求87所述的通信系统的第2信息处理装置。
94.一种构成权利要求83或85所述的通信系统的服务器。
95.一种在通信系统中使用的通信方法,该通信系统具备信息处理装置、控制所述信息处理装置的通信的通信控制装置和服务器,所述通信方法包括:
气泡分组发送步骤,所述信息处理装置通过所述通信控制装置,把用于在该通信控制装置保留发送履历的一个或一个以上的气泡分组发送给通信对方;和
范围检测步骤,检测包括一个或一个以上的气泡分组发送端口在内的端口范围,该气泡分组发送端口是在一个或一个以上的所述气泡分组的发送中使用的所述通信控制装置的端口。
96.根据权利要求95所述的通信方法,其中,所述范围检测步骤包括:
所述信息处理装置在发送一个或一个以上的所述气泡分组之前,向服务器发送用于检测所述范围的第1范围检测用分组的步骤;
所述服务器接收所述第1范围检测用分组,检测在所述第1范围检测用分组的发送中使用的所述第1通信控制装置的端口位置的步骤;
所述信息处理装置在发送一个或一个以上的所述气泡分组之后,发送用于检测所述范围的第2范围检测用分组的步骤;和
所述服务器接收所述第2范围检测用分组,检测在所述第2范围检测用分组的发送中使用的所述通信控制装置的端口位置的步骤。
97.一种通信方法,其在信息处理装置中被使用,该信息处理装置构成通信系统,该通信系统具备信息处理装置、控制所述信息处理装置的通信的通信控制装置和服务器,所述通信方法包括:
气泡分组发送步骤,通过所述通信控制装置发送用于在所述通信控制装置保留发送履历的一个或一个以上的气泡分组;和
范围检测用分组发送步骤,发送在为了检测包括一个或一个以上的气泡分组发送端口在内的端口范围所使用的范围检测用分组,该气泡分组发送端口是在一个或一个以上的气泡分组的发送中使用的所述通信控制装置的端口。
98.根据权利要求97所述的通信方法,进一步包括:
检测用端口信息接收步骤,接收表示所述范围检测用分组通过的所述通信控制装置的端口的位置的检测用端口信息;和
范围检测步骤,根据在所述检测用端口信息接收步骤接收的检测用端口信息,检测包括一个或一个以上的所述气泡分组发送端口在内的端口范围。
99.根据权利要求98所述的通信方法,进一步包括:
范围发送步骤,发送作为表示在所述范围检测步骤检测的包括一个或一个以上的所述气泡分组发送端口在内的端口范围的信息的范围信息。
100.一种通信方法,其在服务器中被使用,该服务器构成通信系统,该通信系统具备信息处理装置、控制所述信息处理装置的通信的通信控制装置和所述服务器,所述通信方法包括:
范围检测步骤,接收为了检测包括一个或一个以上的气泡分组发送端口在内的端口范围所使用的、从所述信息处理装置发送的范围检测用分组,根据该范围检测用分组,检测包括一个或一个以上的所述气泡分组发送端口在内的端口范围,该气泡分组发送端口是为了在所述通信控制装置保留发送履历而发送的一个或一个以上的气泡分组的发送中使用的、所述通信控制装置的端口;和
范围发送步骤,发送作为表示在所述范围检测步骤检测的包括一个或一个以上的所述气泡分组发送端口在内的端口范围的信息的范围信息。
101.一种通信方法,其在服务器中被使用,该服务器构成通信系统,该通信系统具备信息处理装置、控制所述信息处理装置的通信的通信控制装置和服务器,所述通信方法包括:
检测用端口检测步骤,接收为了检测包括一个或一个以上的气泡分组发送端口在内的端口范围所使用的、从所述信息处理装置发送的范围检测用分组,检测该范围检测用分组通过的所述通信控制装置的端口位置,该气泡分组发送端口是为了在所述通信控制装置保留发送履历而发送的一个或一个以上的气泡分组的发送中使用的、所述通信控制装置的端口;和
检测用端口信息发送步骤,向所述信息处理装置发送作为表示在所述检测用端口检测步骤检测的端口位置的信息的检测用端口信息。
102.一种程序,用于使计算机执行构成通信系统的信息处理装置中的处理,该通信系统具备所述信息处理装置、控制所述信息处理装置的通信的通信控制装置和服务器,所述程序使计算机执行以下步骤:
气泡分组发送步骤,通过所述通信控制装置发送用于在所述通信控制装置保留发送履历的一个或一个以上的气泡分组;和
范围检测用分组发送步骤,发送在为了检测包括一个或一个以上的气泡分组发送端口在内的端口范围所使用的范围检测用分组,该气泡分组发送端口是在一个或一个以上的气泡分组的发送中使用的所述通信控制装置的端口。
103.根据权利要求102所述的程序,用于使计算机进一步执行以下步骤:
检测用端口信息接收步骤,接收表示所述范围检测用分组通过的所述通信控制装置的端口的位置的检测用端口信息;和
范围检测步骤,根据在所述检测用端口信息接收步骤接收的检测用端口信息,检测包括一个或一个以上的气泡分组发送端口在内的端口范围。
104.根据权利要求103所述的程序,用于使计算机进一步执行:
范围发送步骤,发送作为表示在所述范围检测步骤检测的包括一个或一个以上的所述气泡分组发送端口在内的端口范围的信息的范围信息。
105.一种程序,用于使计算机执行构成通信系统的服务器中的处理,该通信系统具备信息处理装置、控制所述信息处理装置的通信的通信控制装置和所述服务器,所述程序使计算机执行以下步骤:
范围检测步骤,接收为了检测包括一个或一个以上的气泡分组发送端口在内的端口范围所使用的、从所述信息处理装置发送的范围检测用分组,根据该范围检测用分组,检测包括一个或一个以上的所述气泡分组发送端口在内的端口范围,该气泡分组发送端口是为了在所述通信控制装置保留发送履历而发送的一个或一个以上的气泡分组的发送中使用的、所述通信控制装置的端口;和
范围发送步骤,发送作为表示在所述范围检测步骤检测的包括一个或一个以上的所述气泡分组发送端口在内的端口范围的信息的范围信息。
106.一种程序,用于使计算机执行构成通信系统的服务器中的处理,该通信系统具备信息处理装置、控制所述信息处理装置的通信的通信控制装置和所述服务器,所述程序使计算机执行以下步骤:
检测用端口检测步骤,接收为了检测包括一个或一个以上的气泡分组发送端口在内的端口范围所使用的、从所述信息处理装置发送的范围检测用分组,检测该范围检测用分组通过的所述通信控制装置的端口位置,该气泡分组发送端口是为了在所述通信控制装置保留发送履历而发送的一个或一个以上的气泡分组的发送中使用的、所述通信控制装置的端口;和
检测用端口信息发送步骤,向所述信息处理装置发送表示在所述检测用端口检测步骤检测的端口位置的检测用端口信息。
CNA2004800316988A 2003-10-27 2004-10-22 通信系统、信息处理装置、服务器及通信方法 Pending CN1875580A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003365668 2003-10-27
JP365668/2003 2003-10-27

Publications (1)

Publication Number Publication Date
CN1875580A true CN1875580A (zh) 2006-12-06

Family

ID=34510185

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2004800316988A Pending CN1875580A (zh) 2003-10-27 2004-10-22 通信系统、信息处理装置、服务器及通信方法

Country Status (8)

Country Link
US (2) US7623513B2 (zh)
EP (1) EP1681811B1 (zh)
JP (1) JP3933182B2 (zh)
KR (1) KR20060102333A (zh)
CN (1) CN1875580A (zh)
MY (1) MY138020A (zh)
TW (1) TW200527860A (zh)
WO (1) WO2005041500A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234383B2 (en) * 2003-11-07 2012-07-31 Panasonic Corporation Bubble packet port identification using detection packets
US7680065B2 (en) * 2005-01-18 2010-03-16 Cisco Technology, Inc. System and method for routing information packets
JP4665568B2 (ja) * 2005-03-16 2011-04-06 パナソニック株式会社 情報処理装置、ポート検出装置、情報処理方法、及びポート検出方法
JP4489008B2 (ja) 2005-11-16 2010-06-23 株式会社東芝 通信装置、通信方法および通信プログラム
JP4600518B2 (ja) * 2008-05-20 2010-12-15 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラム
JP5218357B2 (ja) * 2009-09-25 2013-06-26 ブラザー工業株式会社 通信方法、通信システム、端末装置
JP5887507B2 (ja) * 2011-11-28 2016-03-16 パナソニックIpマネジメント株式会社 通信機器間の接続確立方法、通信機器、及びサーバ装置
JP2016208162A (ja) * 2015-04-17 2016-12-08 富士通株式会社 判定方法および情報処理装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031275B1 (en) * 2000-12-28 2006-04-18 Utstarcom, Inc. Address management for mobile nodes
US6687245B2 (en) * 2001-04-03 2004-02-03 Voxpath Networks, Inc. System and method for performing IP telephony
TWI232655B (en) * 2002-05-07 2005-05-11 Realtek Semiconductor Corp Device and method for network address-port translation
US7280557B1 (en) * 2002-06-28 2007-10-09 Cisco Technology, Inc. Mechanisms for providing stateful NAT support in redundant and asymetric routing environments
US20060101145A1 (en) * 2002-10-04 2006-05-11 James Hoffman Method for running servers behind firewalls, routers, proxy servers and network address translation software and devices
JP2004180003A (ja) 2002-11-27 2004-06-24 Kitt Peak:Kk 通信ネットワークシステムおよび通信の接続方法
US7899932B2 (en) * 2003-01-15 2011-03-01 Panasonic Corporation Relayed network address translator (NAT) traversal
US7245622B2 (en) * 2003-03-27 2007-07-17 Microsoft Corporation Allowing IPv4 clients to communicate over an IPv6 network when behind a network address translator with reduced server workload
JP3741312B2 (ja) 2003-03-28 2006-02-01 ソニー株式会社 ネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラム
JP3933183B2 (ja) * 2003-11-07 2007-06-20 松下電器産業株式会社 通信システム、情報処理装置、サーバ、および通信方法
EP1723533A1 (en) * 2004-03-09 2006-11-22 Clique Communications Llc System and method for peer-to-peer connection of clients behind symmetric firewalls
US7451212B2 (en) * 2004-03-17 2008-11-11 At&T Intellectual Property I, L.P. Logical port configuration system
US8050272B2 (en) * 2004-06-29 2011-11-01 Damaka, Inc. System and method for concurrent sessions in a peer-to-peer hybrid communications network

Also Published As

Publication number Publication date
US7929541B2 (en) 2011-04-19
EP1681811B1 (en) 2019-08-28
US20070140226A1 (en) 2007-06-21
WO2005041500A1 (ja) 2005-05-06
JP3933182B2 (ja) 2007-06-20
KR20060102333A (ko) 2006-09-27
US20100023646A1 (en) 2010-01-28
TW200527860A (en) 2005-08-16
JPWO2005041500A1 (ja) 2007-11-29
EP1681811A1 (en) 2006-07-19
MY138020A (en) 2009-04-30
US7623513B2 (en) 2009-11-24
EP1681811A4 (en) 2011-04-27

Similar Documents

Publication Publication Date Title
CN1969511A (zh) 信息处理装置、端口检测装置、信息处理方法和端口检测方法
CN1860768A (zh) 客户请求的外部地址映射
CN1969292A (zh) 用户轮廓管理系统
CN1268104C (zh) 设置防火墙的方法和设备
CN101053224A (zh) 通信系统、信息处理设备、中介服务器、标识信息传送服务器及其通信方法和程序
CN101039246A (zh) 用于探测虚拟专用网通信的方法和设备
CN1930838A (zh) 信息处理装置、服务器、通信系统、地址决定方法、地址变更方法及程序
CN1111795C (zh) 利用网络的信息分发系统
CN1647489A (zh) 能够连接到具有本地地址域的网络的方法及系统
CN1650572A (zh) 群组判定设备
CN1450765A (zh) 服务器负载平衡系统、装置以及内容管理装置
CN1968251A (zh) 数据通信装置
CN1201519C (zh) 数据一致性检测装置、数据一致性判断装置及数据挑选装置
CN1525708A (zh) 无线局域网设备
CN1801814A (zh) 一种离线消息发送和接收方法
CN1615646A (zh) 通信装置
CN1255967C (zh) 频带保证系统、中继装置及网络管理服务器
CN1262093C (zh) 移动通信系统、服务器装置和数据发送方法
CN1437413A (zh) 通讯系统、通讯设备和通讯方法
CN1832457A (zh) 数据包通信装置及功能扩展方法
CN1442984A (zh) 通信设备和网络系统
CN1416276A (zh) 中间数据接收装置、方法、程序和记录媒体以及发送装置、传输方法
CN1489327A (zh) 无线信号接收设备和无线信号接收方法
CN1290300C (zh) 接收设备及其流控制方法和发送设备及其流控制方法
CN1875580A (zh) 通信系统、信息处理装置、服务器及通信方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20061206