专利名称:信息处理装置、气泡数据包发送方法以及程序的制作方法
技术领域:
本发明涉及与其他信息处理装置进行通信的信息处理装置等。
背景技术:
以往,开发了不通过服务器,而是在信息处理装置之间直接进行点对点(pear to pear)等通信的技术。在这种通信中,如图9所示,还有一种信息处理装置PC1、PC2分别通过NAT1、NAT2进行通信的情况。这里,NAT1、NAT2进行本地侧(信息处理装置侧)的私有(private)IP地址、与通信线路侧的全局(global)IP地址之间的相互转换。在该NAT1、NAT2等中,有端口分配规则和接收过滤规则,通过其组合来实现NAT的分类。具体而言,在发送端口分配规则中具有如果NAT的本地侧(例如,LAN侧)的信息处理装置的端口与IP地址相同,而与数据包的目的地(IP地址、端口)无关,则对分配给NAT的全局侧(例如互联网等的WAN侧)分配同一个端口的锥形形式(cone type);对每个数据包的目的地地址分配新的端口的地址敏感形式(address sensitive type);和对每个数据包的目的地端口分配新的端口的端口敏感形式。在对于从NAT的本地侧发送了数据包的端口,判断其接收来自全局侧的数据包的可能性的接收过滤规则中,具有只从经由该端口发送了数据包的地址,接收数据包的地址敏感过滤形式、只从经由该端口发送了数据包的端口,接收数据包的端口敏感过滤形式、和不存在过滤器而接收全部的数据包的无过滤形式。
在通过了这样的NAT的通信中,如果从NAT的LAN侧不向WAN侧发送数据包,则不能接收来自WAN侧的其他信息处理装置的数据包,特别是在NAT的接收过滤规则是地址敏感过滤形式或端口敏感过滤形式的情况下,如果不能向WAN侧的信息处理装置或该信息处理装置中的规定的端口发送数据包,则不能接收从该WAN侧的信息处理装置发送来的数据包。因此,以往为了建立通过了NAT的信息处理装置之间的通信,进行了用于在NAT中存留发送历史记录的数据包(气泡数据包(bubblepacket))的发送等。
这些技术内容被记载在以下的文献中J.Rosenberg,J.Weinberger,C.Huitema,R.Mahy,“STUN-Simple Traversal of User Datagram Protocol(UDP)Through Network Address Translators(NATs)”,[Online],2003年3月,[2004年3月17日检索],互联网<URLhttp//www.ietf.org/rfc/rfc3489.txt>;和及川卓也,“Advanced Networking Pack for Windows(注册商标)XP大解剖第一回使Ipv6连接进一步具有透过性Teredo”,[Online],2003年9月29日,[2004年3月17日检索],互联网<URLhttp//www.ipv6style.jp/jp/tryout/20030929/2.shtml>。
但是,根据不同的NAT的种类,为了提高安全性,有些将根据接收过滤规则不能接收的数据包视为攻击数据包,而不接收从该数据包的通信源的IP地址发送来的数据包。在这样的情况下,如果将气泡数据包向通信目的地的NAT发送,则该气泡数据包被视为攻击数据包。其结果,会发生接收了气泡数据包的NAT一律不接收来自发送了气泡数据包的信息处理装置的数据包,从而不能在发送了气泡数据包的信息处理装置与接收到气泡数据包一侧的信息处理装置之间建立适当的通信的情况。
另外,发送气泡数据包的目的在于,在通信源的NAT中存留发送历史记录,以使通信源的NAT能够适当地接收从通信目的地发送来的数据包。因此,通常气泡数据包的发送不是为了传递信息。因此,不希望因这样的不具备传递信息的功能的数据包而增加互联网等通信线路的流量。
发明内容
本发明就是为了解决上述的问题点而提出的,其目的之一是,提供一种能够适当地建立经由了安全级别高的通信控制装置(例如NAT)的通信的信息处理装置等。
另外,本发明的其他目的是,提供一种在抑制通信线路中的流量的增加的同时,发送气泡数据包的信息处理装置等。
为了达到上述的目的,本发明的信息处理装置是经由通信源的通信控制装置与通信目的地的信息处理装置进行通信的通信源的信息处理装置,其中具备寿命设定部,其对于为了在通信源的通信控制装置中存留发送历史记录而从通信源的信息处理装置发送的气泡数据包,设定使该气泡数据包不到达通信目的地的信息处理装置的范围的寿命;和气泡数据包发送部,其经由通信源的通信控制装置,发送具有由寿命设定部所设定的寿命的气泡数据包。
根据本发明的信息处理装置,通过对气泡数据包设定规定的寿命,可适当地建立经由了安全级别高的通信控制装置的通信。而且,通过对气泡数据包设定寿命,可防止通信线路中的流量的增加。
图1是表示本发明的实施方式的通信系统的结构的图。
图2是表示该实施方式的第一信息处理装置的结构的框图。
图3是用于说明该实施方式中的跟踪路由的图。
图4是用于说明该实施方式中的跟踪路由的其他的图。
图5是用于说明该实施方式中的通信系统的动作的图。
图6是用于说明该实施方式中的通信系统的具体例的图。
图7是用于说明该实施方式中的通信系统的具体例的其他的图。
图8是表示该实施方式的通信系统的结构的其他一例的图。
图9是表示以往的通信系统的一例的图。
图中1-第一信息处理装置;2-第二信息处理装置;3-第一通信控制装置;4-第二通信控制装置;5-服务器;11-通信控制部;12-中继节点计数部;13-寿命设定部;14-气泡数据包发送部。
具体实施例方式
(实施方式)下面,参照附图,对本发明的实施方式的通信系统进行说明。
图1是表示本实施方式的通信系统的结构的图。在图1中,本实施方式的通信系统具有第一信息处理装置1、第二信息处理装置2、第一通信控制装置3、第二通信控制装置4和服务器5。第一通信控制装置3和第二通信控制装置4经由有线或无线通信线路6与服务器5连接。该通信线路6例如是互联网。
另外,在图1中,虽然表示了第一信息处理装置1、第二信息处理装置2分别只与第一通信控制装置3、第二通信控制装置4连接的情况,但也可以使除此以外的装置与第一通信控制装置3、第二通信控制装置4连接。
另外,在图1中,虽然表示了与第一信息处理装置1、和第二信息处理装置2分别各连接1个第一通信控制装置3、第二通信控制装置4的情况,但与各个信息处理装置连接的通信控制装置也可以是多级。即,从第一信息处理装置1和第二信息处理装置2到通信线路6之间,也可以存在其他通信控制装置。
另外,在本实施方式中,对第一信息处理装置1作为通信源的信息处理装置动作,第二信息处理装置2作为通信目的地的信息处理装置动作的情况进行说明。这里,所谓通信源的信息处理装置是指在第一信息处理装置1与第二信息处理装置2之间建立通信时,发出通信(连接)请求的一侧(换言之,发送气泡数据包的一侧)。另一方面,所谓通信目的地的信息处理装置是指其相反侧的信息处理装置,即接收通信请求的一侧(换言之,是发送针对气泡数据包的应答数据包的一侧)的信息处理装置。另外,所谓建立通信,是指在第一信息处理装置1与第二信息处理装置2之间,开始进行不经由服务器5的点对点的通信。另外,对于气泡数据包和应答数据包将在后面进行说明。
图2是表示第一信息处理装置1的结构的框图。在图2中,第一信息处理装置1具有通信控制部11、中继节点计数部12、寿命设定部13和气泡数据包发送部14。
通信控制部11进行用于建立在第一信息处理装置1与通信目的地的第二信息处理装置2的通信的处理。关于该处理的详细将在后面说明。
中继节点计数部12对来自第一信息处理装置1的中继节点数进行计数。这里,所谓中继节点是指具有路由功能的路由器,其可以具备地址转换功能(例如进行从私有地址向全局地址的转换的功能),也可以不具备。另外,中继节点也可以将数据包从全局地址中继到全局地址(例如在互联网中进行),也可以将数据包从私有地址中继到私有地址(例如在LAN中进行),也可以在私有地址与全局地址之间进行数据包的中继(例如在LAN与互联网之间进行)。该中继节点数的计数,例如可通过跟踪路由(traceroute)来进行,也可以通过将已设定了TTL(Time To Live)的UDP数据包,一边使该TTL从1顺序加1递增,一边发送的方式进行。在本实施方式中,采用跟踪路由的方式进行中继节点数的计数。关于该计数处理将在后面详细说明。
寿命设定部13对于由气泡数据包发送部14所发送的气泡数据包,设定使该气泡数据包不到达通信目的地的第二通信控制装置4的范围的寿命。寿命设定部13根据由中继节点计数部12所计数的中继节点数,进行其寿命的设定。该寿命的设定,例如是通过设定关于气泡数据包的TTL来进行。另外,由寿命设定部13所设定的气泡数据包的寿命必须能够使气泡数据包经过通信源的通信控制装置(在多级的通信控制装置的情况下,是全部)。气泡数据包由于具有在通信源的通信控制装置中存留发送历史记录,以使能够接收通信目的地的应答数据包的功能,所以在气泡数据包未经过通信源的通信控制装置的情况下,通信源的通信控制装置不能接收到来自通信目的地的应答数据包。
寿命设定部13也可以例如,将气泡数据包的寿命设定为使气泡数据包能够到达将数据包从全局地址中继到全局地址的中继节点的寿命,也可以将气泡数据包的寿命设定为使气泡数据包能够到达将数据包从全局地址中继到全局地址的中继节点中的最接近通信源的第一信息处理装置1的中继节点的寿命,也可以将气泡数据包的寿命设定为使气泡数据包能够到达通信目的地的第二通信控制装置4跟前的中继节点的寿命。另外,在通信目的地的通信控制装置为多级的情况下,也可以将气泡数据包的寿命设定为使气泡数据包到达最接近通信源一侧的通信控制装置跟前的中继节点(即不到达通信目的地的任意一个通信控制装置)的寿命。
气泡数据包发送部14经由通信源的第一通信控制装置3发送具有由寿命设定部13所设定的寿命的气泡数据包。这里,所谓气泡数据包是指为了在通信源的第一通信控制装置3中存留发送历史记录,以使第一通信控制装置3能够接收从通信目的地的第二信息处理装置2发送的应答数据包,而从通信源的第一信息处理装置1发送的数据包。存留发送历史记录,是指分配用来能够接收应答数据包的端口(开通端口)。在该气泡数据包中也可以包含一些信息,也可以不包含任何信息(也可以是伪信息(dummy)),但是,本实施方式的气泡数据包由于不到达通信目的地,所以一般在该气泡数据包中不包含有意义的信息。气泡数据包发送部14例如发送被存储在规定的存储器中的气泡数据包。该气泡数据包根据例如UDP(User Data Protocol)那样的非面向连接型协议进行发送。
第二信息处理装置2针对从第一信息处理装置1发送的气泡数据包,发送应答数据包。这样,在第一信息处理装置1与第二信息处理装置2之间建立了经由第一通信控制装置3、第二通信控制装置4的通信。这里,应答数据包是指向气泡数据包所通过的第一通信控制装置3的端口发送的数据包。通过预先发送气泡数据包,使第一信息处理装置1能够经由第一通信控制装置3接收该应答数据包。在该应答数据包中可以包含一些信息,也可以不包含任何信息。
第一通信控制装置3是具有对从第一信息处理装置1发送的数据包、或向第一信息处理装置1发送的数据包的地址进行转换的NAT(NetworkAddress Translation)的功能的装置。具体而言,在第一信息处理装置1一侧所使用的本地地址与在通信线路6侧所使用的全局地址之间进行相互转换。该第一通信控制装置3具有路由功能,并被包括在中继节点计数部12所计数的中继节点中。另外,第一通信控制装置3也可以具有地址转换以外的其他功能。
第二通信控制装置4也具有进行地址转换的NAT功能,是与第一通信控制装置3相同的装置。
另外,在第一通信控制装置3、第二通信控制装置4中所使用的发送端口的分配规则和接收过滤规则,并不仅仅在为了建立第一信息处理装置1与第二信息处理装置2之间的通信而需要发送气泡数据包的情况下使用。不过,在本实施方式中,对第一通信控制装置3、第二通信控制装置4的发送端口分配规则是锥形形式,接收过滤规则是地址敏感形式的情况进行说明。即,第一通信控制装置3、第二通信控制装置4具有所谓的受限制(restrictived)锥形NAT的功能。
服务器5为了在第一信息处理装置1与第二信息处理装置2之间建立不经由服务器5的通信,进行必要的处理。例如,向第一信息处理装置1通知第二信息处理装置2(严格地讲是第二通信控制装置4)的在通信线路6侧的IP地址,或者向第二信息处理装置2通知从第一信息处理装置1发送的气泡数据包所通过的第一通信控制装置3的端口号。
下面,对中继节点计数部12的中继节点数计数方法进行说明。这里,对使用跟踪路由来计数中继节点数的方法进行说明,在跟踪路由中,通过跟踪IP的路由,可得知至通信目的地的各个中继节点的IP地址。
图3、图4是用于说明跟踪路由的图。在这些图中,中继节点由圆圈表示。如图3所示,首先,第一信息处理装置1的中继节点计数部12向第二通信控制装置4发送TTL=1的检查数据包(check packet)。这里检查数据包是指在跟踪路由中,向发送目的地发送的数据包。在该检查数据包中,设定了TTL(Time To Live)。检查数据包的TTL由于每经由一个中继节点便减少1,所以TTL=1的检查数据包在到达了第一通信控制装置3时,TTL=0,并从第一通信控制装置3因ICMP已超时(time exceeded)而返回到第一信息处理装置1。然后,如图4所示,中继节点计数部12向第二通信控制装置4发送TTL=2的检查数据包。于是,该检查数据包在中继节点51中,成为TTL=0,并因ICMP已超时而从中继节点51返回到第一信息处理装置1。由此,中继节点计数部12能够得知中继节点51的IP地址。这样,检查数据包到达第二通信控制装置4之前,通过一边将TTL逐1递增,一边反复进行检查数据包的发送、和ICMP已超时的接收,能够得知到达第二通信控制装置4之前所经由的各个中继节点的IP地址。另外,在不返回ICMP已超时的中继节点的情况下,中继节点计数部12超时(timeout)后,发送下一个检查数据包。当检查数据包到达第二通信控制装置4后,返回ICMP端口不可获得(port unreachable),从而结束跟踪路由。另外,根据不同的情况,也有取代ICMP端口不可获得,而返回ICMP回应(echo reply)的情况。中继节点计数部12通过进行该跟踪路由,可得知到达第二通信控制装置4之前所经由的中继节点数量、和各个中继节点的IP地址。
另外,这里对针对第二通信控制装置4进行跟踪路由的情况进行了说明,但中继节点计数部12也可以采用跟踪路由以外的方法对中继节点的数量进行计数,另外,检查数据包的发送目的地也可以是第二通信控制装置4以外的例如服务器5等。
下面,使用图5对本实施方式的通信系统中的第一信息处理装置1与第二信息处理装置2建立通信的动作进行说明。另外,在该说明中设为,第一信息处理装置1和第二信息处理装置2,通过服务器5的中继预先得知了第一通信控制装置3、和第二通信控制装置4在通信线路6侧的IP地址。
(步骤S101)中继节点计数部12对到达第二通信控制装置4为止的中继节点的数量进行计数。
(步骤S102)寿命设定部13根据中继节点计数部12的中继节点数的计数结果,设定由气泡数据包发送部14所发送的气泡数据包的寿命。
(步骤S103)通信控制部11向服务器5发送端口检测用数据包。该端口检测用数据包为了检测发送了气泡数据包的第一通信控制装置3中的端口(以下称为“气泡数据包发送端口”)的位置(例如根据端口号确定),在气泡数据包的发送之前所发送的数据包。该端口检测用数据包由服务器5接收。
(步骤S104)气泡数据包发送部14将具有由寿命设定部13所设定的寿命的气泡数据包向第二通信控制装置4发送。该气泡数据包由于在耗尽设定的寿命时便消失,所以不会到达第二通信控制装置4。另外,该气泡数据包经由服务器5,而被直接向第二通信控制装置4发送。
(步骤S105)服务器5根据在步骤S103中发送的端口检测用数据包,检测出气泡数据包发送端口的位置。
(步骤S106)服务器5将在步骤S105中检测出的气泡数据包发送端口的位置通知给第二信息处理装置2。
(步骤S107)第二信息处理装置2向第一通信控制装置3的气泡数据包发送端口发送应答数据包。通过由第一信息处理装置1接收该应答数据包,由此在第一信息处理装置1与第二信息处理装置2之间建立不经由服务器5的通信。
下面,使用具体例对该通信系统的动作进行说明。在该具体例中,如上述那样,设为第一通信控制装置3、第二通信控制装置4具有受限制锥形NAT的功能。另外,设为中继节点计数部12通过跟踪路由进行中继节点数的计数。另外,设为寿命设定部13通过设定气泡数据包的TTL,来设定寿命。另外,第一通信控制装置3、第二通信控制装置4、服务器5的通信线路6侧的各个IP地址设为以下的地址。
第一通信控制装置3202.132.10.6第二通信控制装置4131.206.10.240服务器5155.32.10.10图6、图7是用于说明该具体例的图。在该具体例中,设为从第一信息处理装置1发出连接请求。在图6中,第一信息处理装置1预先得知服务器5的IP地址“155.32.10.10”,并向该服务器5发送第一信息处理装置1的机器ID“1234567890”。这里,作为该机器ID,例如可以使用MAC地址等的GUID(Global Unique ID)。该机器ID可从第一信息处理装置1的端口P1,通过由第一通信控制装置3所分配的端口P2,向服务器5的端口P3发送。通过该发送,服务器5能够得知第一信息处理装置1的机器ID、第一通信控制装置3的IP地址“202.132.10.6”、和第一通信控制装置3中的端口P2的端口号“10034”。这些信息被保持在服务器5中。
第二信息处理装置2也与第一信息处理装置1同样,发送第二信息处理装置2的机器ID“9876543210”。其结果,第二通信控制装置4的IP地址“131.206.10.240”、第二信息处理装置2的机器ID、和第二通信控制装置4中的端口P5的端口号“23495”被保持在服务器5中。
然后,第一信息处理装置1通过将请求连接的第二信息处理装置2的机器ID“9876543210”发送到服务器5,进行对第二信息处理装置2的连接请求。于是,服务器5接收该连接请求,经由端口P2向第一信息处理装置1通知第二通信控制装置4的IP地址“131.206.10.240”、和端口P5的端口号“23495”。
第一信息处理装置1的中继节点计数部12通过对第二通信控制装置4的IP地址“131.206.10.240”进行跟踪路由,由此对到达第二通信控制装置4之前的中继节点数进行计数(步骤S101)。该计数的进行与使用图3、图4进行过的说明同样。而且,中继节点计数部12将第二通信控制装置4之前的中继节点数、以及在第二通信控制装置4之前所经过的各个中继节点的TTL值、与从该中继节点返回的与IP地址之间的对应作为计数结果传递给寿命设定部13。
寿命设定部13在取得基于中继节点计数部12的中继节点数的计数结果后,将气泡数据包的TTL设定为使气泡数据包能够到达因ICMP已超时而从中继节点返回的IP地址是全局地址的最近的(最接近第一通信控制装置3)的中继节点(步骤S102)。具体而言,将与从中继节点返回的全局地址对应的TTL中的最小值的TTL设定为气泡数据包的TTL。通过这样地设定寿命,气泡数据包被设定为具有能够到达将数据包从全局地址向全局地址中继的中继节点中的最近的中继节点的寿命。这里,从第一信息处理装置1开始的第二个中继节点是将数据包从全局地址向全局地址中继的中继节点,被设定为其TTL=2。
通信控制装置11从第一信息处理装置1的端口P7向服务器5的端口P9发送用于检测气泡数据包发送端口的端口检测用数据包(步骤S103)。端口P9,设为由服务器5所指定的端口。另外,该端口P9也可以与端口P3相同。该端口检测用数据包,在第一通信控制装置3中,使用新分配的端口P8(端口号“10040”)进行发送。由服务器5接收该端口检测用数据包,检测出第一通信控制装置3的端口P8的端口号“10040”,并保持该端口号(步骤S105)。
气泡数据包发送部14向第二通信控制装置4的端口P5发送TTL=2的气泡数据包(步骤S104)。该气泡数据包的TTL在第一通信控制装置3中被减1而成为TTL=1,在第一通信控制装置3的下一个中继节点中成为TTL=0而消失。因此,气泡数据包不到达第二通信控制装置4。
服务器5将所保持的气泡数据包发送端口P8的端口号“10040”、和第一通信控制装置3的IP地址“202.132.10.6”,通过端口P5通知给第二信息处理装置2(步骤S106)。
第二信息处理装置2在接收到第一通信控制装置3的IP地址、和端口P8的端口号后,从端口P10向该IP地址、端口号发送应答数据包(参照图7)。该应答数据包由第一通信控制装置3的端口P8接收,并被传递到第一信息处理装置1的端口P7。这样便在第一信息处理装置1与第二信息处理装置2之间建立了通信,然后,在第一信息处理装置1与第二信息处理装置2之间能够进行所希望的数据的发送和接收等。
另外,在该具体例中,说明了寿命设定部13将寿命设定为,使气泡数据包能够到达将数据包从全局地址中继到全局地址的中继节点中的与通信源的第一信息处理装置1最近的中继节点(即,第一通信控制装置3的下一个中继节点)的情况,但这只是一个示例,如上所述,寿命设定部13也可以将寿命设定为使气泡数据包能够到达将数据包从全局地址中继到全局地址的中继节点,也可以将寿命设定为使气泡数据包能够到达通信目的地的第二通信控制装置4跟前的中继节点。
例如,在中继节点中,也有不依照ICMP的节点。具体而言,在跟踪路由中,也有与不减少TTL无关而减少UDP气泡数据包的TTL的中继节点。在通信源的通信控制装置中包括这样的中继节点的情况下,即使根据中继节点计数部12的计数结果发送了具有能够到达将数据包从全局地址中继到全局地址的最近的中继节点的寿命的气泡数据包,实际上气泡数据包也不会经过通信源的全部通信控制装置。其结果,通信源的通信控制装置中的最接近发送目的地一侧的通信控制装置中不能存留发送历史记录,由此不能接收从第二信息处理装置2所发送的应答数据包。为了防止这种情况,也可以将寿命设定为使气泡数据包能够到达在将数据包从全局地址中继到全局地址的最接近的中继节点的下一个(beyond)中继节点,或者也可以将寿命设定为使气泡数据包能够到达通信目的地的通信控制装置的前一个中继节点之前的任意中继节点。
另外,寿命设定部13也可以在通信源的第一信息处理装置1与通信目的地的第二信息处理装置2建立通信之前,在气泡数据包发送部14每次发送气泡数据包时,增加气泡数据包能够到达的中继节点,进行寿命设定。具体而言,也可以首先设定使气泡数据包具有能够到达将数据包从全局地址中继到全局地址的最近的中继节点的寿命,在通过该气泡数据包的发送未能建立信息处理装置之间的通信的情况下,接下来对气泡数据包的寿命(TTL)加1,并发送气泡数据包,在还未能建立信息处理装置之间的通信的情况下,进一步对气泡数据包的寿命加1,而重复进行所谓的尝试进行通信的建立。另外,在未能建立通信的情况下,也可以将气泡数据包能够到达的中继节点每次增加一个,进行寿命设定,或者,也可以将气泡数据包能够到达的中继节点每次增加规定数(也可以按照第几次的增加而不同),进行寿命设定。
如上所述,根据本实施方式的通信系统,通过对第一信息处理装置1所发送的气泡数据包设定寿命,使其不能到达第二通信控制装置4,即使使用了在接收到根据接收过滤规则而不能接收的气泡数据包的情况下,不能从该数据包的通信源接收任何的数据包的第二通信控制装置4,由于气泡数据包不会到达第二通信控制装置4,所以能够适当地建立发送了气泡数据包之后的第一信息处理装置1与第二信息处理装置2之间的通信。
另外,通过预先将气泡数据包的寿命设定为使气泡数据包在到达了将数据包从全局地址中继到全局地址的中继节点中的最接近通信源的中继节点时即刻消失,由此可避免因只具有在通信源的第一通信控制装置3中存留发送历史记录的作用的气泡数据包而增加通信流量的情况。
另外,在本实施方式中,说明了由中继节点计数部12进行中继节点数的计数,由寿命设定部13根据其计数结果设定气泡数据包的寿命的情况,但也可以使第一信息处理装置1不具备中继节点计数部12,而根据从外部输入的通信源的通信控制装置的级数,由寿命设定部13设定气泡数据包的寿命。例如,如图1所示,在通信源的第一通信控制装置3只有1级的情况下,寿命设定部13也可以通过将对该通信控制装置的级数“1”加“1”的“2”设定为TTL,由此进行气泡数据包的寿命设定。
另外,在本实施方式中,说明了在通信目的地的第二信息处理装置2的一侧也具有通信控制装置的情况,但如图8所示,也可以构成通信目的地没有通信控制装置的结构。在这种情况下,寿命设定部13将气泡数据包的寿命设定为不能到达通信目的地的第二信息处理装置2的范围的寿命。这样,可避免通信的流量增加的情况。尤其是在寿命设定部13将气泡数据包的寿命设定为使气泡数据包能够到达将数据包从全局地址中继到全局地址的最近的中继节点的情况下,这种效果更为明显。
另外,在本实施方式中,说明了通信控制装置具有受限制锥形NAT的功能的情况,但通信控制装置也可以是其他种类的NAT。即,对气泡数据包的寿命设定可应用在经由任意种类的NAT而发送气泡数据包的信息处理装置中。另外,在使用了不同种类的NAT的情况下,也可以根据该NAT的种类,进行不同的用于建立通信的处理。
另外,在本实施方式中,关于中继节点计数部12的中继节点数的计数,说明了对作为通信目的地的NAT的第二通信控制装置4之前的中继节点数进行计数的情况,但例如在寿命设定部13将寿命设定为使气泡数据包能够到达将数据包进行从全局地址中继到全局地址的最近的中继节点的情况下,也可以对服务器5或其他服务器之前的中继节点数进行计数。
另外,在本实施方式中,关于在中继节点计数部12的中继节点数的计数中,通过跟踪路由对规定的通信目的地的节点(例如第二通信控制装置4等)之前的全部中继节点进行计数的情况进行了说明,但例如在寿命设定部13将寿命设定为使气泡数据包能够到达将数据包从全局地址中继到全局地址的最近的中继节点的情况下,中继节点数的计数也可以在超出通信源的通信控制装置(在通信控制装置为多级的情况下,该多级的全部通信控制装置)的范围内进行中继节点数的计数。例如,在寿命设定部13将寿命设定为使气泡数据包能够到达将数据包从全局地址中继到全局地址的最近的中继节点的情况下,中继节点数的计数也可以在将数据包从全局地址中继到全局地址的中继的最近的中继节点结束。具体而言,在对UDP的数据包顺序递增设定TTL,并进行发送的情况下,也可以在返回了ICMP已超时的中继节点的IP地址具有全局地址的时刻,结束中继节点数的计数。而且,寿命设定部13也可以将对返回了该全局地址的时刻的UDP数据包所设定的TTL值,设定为气泡数据包的寿命。
另外,在本实施方式中,说明了通过TTL的设定来进行气泡数据包的寿命设定的情况,但也可以采用其他方法进行寿命设定。例如,也可以通过设定发送时的时刻和表示寿命的时间,来设定气泡数据包的寿命。在这种情况下,在中继节点中,当确认到从发送时的时刻经过了表示寿命的时间后,将该气泡数据包丢弃。
另外,在本实施方式中,说明了第一通信控制装置3和第二通信控制装置4具备了NAT功能的情况,但第一通信控制装置3和第二通信控制装置4也可以取代NAT功能,或在具备NAT功能的同时,具备数据包过滤的防火墙(Firewall)功能。这里,所谓数据包过滤是指,例如,进行根据上述的接收过滤规则的接收数据包的选择。在第一通信控制装置3具备这种基于接收过滤规则的防火墙功能的情况下,通过从本地侧(第一信息处理装置1侧)向全局侧(通信线路侧6)发送气泡数据包,在第一通信控制装置3中存留发送历史记录,能够接收被发送到气泡数据包发送端口的应答数据包。另外,即使在第二通信控制装置4具备了在接收了根据接收过滤规则而不能接收的数据包后,不再从该数据包的通信源接收任何数据包那样的防火墙的功能的情况下,通过对气泡数据包设定不能到达通信目的地的第二通信控制装置4的范围的寿命,可适当地建立第一信息处理装置1与第二信息处理装置2之间的通信。
另外,第一通信控制装置3和第二通信控制装置4构成为以硬件形式独立于信息处理装置,而且不具备NAT功能而具备防火墙功能的情况下,这些通信控制装置具有路由功能,一般可成为将TTL减1的中继节点。在这种情况下,例如,通过将气泡数据包的寿命设定为使气泡数据包能够到达将数据包从全局地址中继到全局地址的中继节点,由此即使对于该防火墙(通信控制装置)也能够存留发送历史记录,第一信息处理装置1能够接收从第二信息处理装置2发送来的应答数据包。
另一方面,在对于第一信息处理装置1和第二信息处理装置2作为应用程序而安装了防火墙功能的情况下,因气泡数据包通过防火墙(通信控制装置),而TTL不会被减1(在这种情况下,信息处理装置与通信控制装置构成为一体,其中只另外明示了通信控制装置(防火墙)的功能的部分由图1被表示)。在这种情况下,通过发送TTL为1以上的气泡数据包,能够在防火墙中存留发送历史记录。另外,即使是在该防火墙的全局侧(通信线路6侧)进一步具备NAT功能的通信控制装置,通过将气泡数据包的寿命设定为使气泡数据包能够到达将数据包从全局地址中继到全局地址的中继节点,对于具有该NAT功能的通信控制装置也能够存留发送历史记录,从而使第一信息处理装置1能够接收从第二信息处理装置2发送来的应答数据包。
另外,如图8所示,对于也可以不具备第二通信控制装置4、或也可以从外部输入通信源的通信控制装置的级数的这种情况而言,即使在通信控制装置取代NAT功能、或者在具备NAT功能的同时具备防火墙功能的情况下,也与上述说明的相同。
另外,在本实施方式中,说明了根据IP地址来特定服务器5的情况,但也可以根据域名(例如server.pana.net等)来特定服务器5。在这种情况下,通过使用DNS服务器,将该域名转换为IP地址,来可特定服务器5。
另外,本实施方式中的通信协议例如也可以是Ipv4(Internet Protocolversion4),或者也可以是Ipv6(Internet Protocol version6)。
另外,在上述实施方式中,各个处理(各种功能)也可以通过利用单一的装置(系统)进行集中处理来实现,或者也可以通过利用多个装置进行分散处理来实现。
另外,在上述的实施方式中,各个构成要素也可以由专用的硬件构成,或者对于可由软件实现的构成要素,通过执行程序来实现。例如,通过使CPU等的程序执行部读出记录在硬盘或半导体存储器等记录介质中的软件/程序并执行,从而可实现各个构成要素。另外,实现上述实施方式中的信息处理装置的软件是如下的程序。即,该程序是用于使计算机发送在经由通信源的通信控制装置与通信目的地的信息处理装置进行通信的通信源的信息处理装置中的气泡数据包的程序,其使计算机执行如下步骤寿命设定步骤,为了在通信源的通信控制装置中存留发送历史记录,对于从通信源的信息处理装置发送的气泡数据包,设定使该气泡数据包不能到达通信目的地的信息处理装置的范围的寿命;和气泡数据包发送步骤,经由通信源的通信控制装置,发送具有在寿命设定步骤中所设定的寿命的气泡数据包。
另外,在上述的程序中,在发送数据包的发送步骤等中,不包括利用硬件进行的处理,例如在发送步骤中的由调制解调器或网卡等进行的处理(只能由硬件执行的处理)。
另外,该程序也可以通过从服务器等下载而被执行,也可以通过读出记录在规定的记录介质(例如CD-ROM等光盘或磁盘、半导体存储器等)中的程序而被执行。
另外,执行该程序的计算机也可以是一台,也可以是多台。即,也可以进行集中处理,或也可以进行分散处理。
(产业上的利用可能性)如上所述,本发明的信息处理装置等,是对气泡数据包设定使气泡数据包不能到达通信目的地的信息处理装置、或通信目的地的通信控制装置的范围的寿命的装置,其可使用于在信息处理装置之间的通信建立中,发送气泡数据包的信息处理装置等中。
权利要求
1.一种通信源的信息处理装置,其经由通信源的通信控制装置与通信目的地的信息处理装置进行通信,其中具备寿命设定部,其为了在所述通信源的通信控制装置中存留发送历史记录,对于从所述通信源的信息处理装置发送的气泡数据包,设定使所述气泡数据包不到达所述通信目的地的信息处理装置的范围的寿命;和气泡数据包发送部,其经由所述通信源的通信控制装置发送具有由所述寿命设定部所设定的寿命的气泡数据包。
2.根据权利要求1所述的通信源的信息处理装置,其特征在于,经由通信目的地的通信控制装置,进行所述通信目的地的信息处理装置与所述通信源的信息处理装置之间的通信,所述寿命设定部设定使气泡数据包不到达所述通信目的地的通信控制装置的范围的寿命。
3.根据权利要求1或2所述的通信源的信息处理装置,其特征在于,所述寿命设定部将寿命设定为使所述气泡数据包能够到达将数据包从全局地址中继到全局地址的中继节点。
4.根据权利要求3所述的通信源的信息处理装置,其特征在于,所述寿命设定部将寿命设定为使所述气泡数据包能够到达将数据包从全局地址中继到全局地址的中继节点中的最近的中继节点。
5.根据权利要求3所述的通信源的信息处理装置,其特征在于,所述寿命设定部,在所述通信源的信息处理装置与所述通信目的地的信息处理装置之间的通信建立之前,在所述气泡数据包发送部每次发送气泡数据包时,以逐1增加所述气泡数据包能够到达的中继节点的方式,进行寿命设定。
6.根据权利要求2所述的通信源的信息处理装置,其特征在于,所述寿命设定部将寿命设定为使所述气泡数据包能够到达所述通信目的地的通信控制装置跟前的中继节点。
7.根据权利要求3所述的通信源的信息处理装置,其特征在于,所述寿命设定部进行关于气泡数据包的TTL(Time To Live)的设定。
8.根据权利要求1或2所述的通信源的信息处理装置,其特征在于,还具备中继节点计数部,其对从所述通信源的信息处理装置开始所经过的中继节点数进行计数,所述寿命设定部根据所述中继节点计数部所计数的中继节点数,进行所述气泡数据包的寿命设定。
9.根据权利要求8所述的通信源的信息处理装置,其特征在于,所述中继节点计数部通过跟踪路由进行中继节点数的计数。
10.根据权利要求4所述的通信源的信息处理装置,其特征在于,还具备中继节点计数部,其对于从所述通信源的信息处理装置经由的中继节点数,计数到将数据包从全局地址中继到全局地址的中继节点中的最近的中继节点,所述寿命设定部根据所述中继节点计数部所计数的中继节点数,进行所述气泡数据包的寿命设定。
11.一种气泡数据包发送方法,用于经由通信源的通信控制装置与通信目的地的信息处理装置进行通信的通信源的信息处理装置中,具备寿命设定步骤,为了在所述通信源的通信控制装置中存留发送历史记录,对于从所述通信源的信息处理装置发送的气泡数据包,设定使所述气泡数据包不到达所述通信目的地的信息处理装置的范围的寿命;和气泡数据包发送步骤,经由所述通信源的通信控制装置发送具有在所述寿命设定步骤中所设定的寿命的气泡数据包。
12.一种程序,用于使计算机发送气泡数据包,该气泡数据包在经由通信源的通信控制装置与通信目的地的信息处理装置进行通信的通信源的信息处理装置中,所述程序使计算机执行寿命设定步骤,为了在所述通信源的通信控制装置中存留发送历史记录,对于从所述通信源的信息处理装置发送的气泡数据包,设定使所述气泡数据包不到达所述通信目的地的信息处理装置的范围的寿命;和气泡数据包发送步骤,经由所述通信源的通信控制装置,发送具有在所述寿命设定步骤中所设定的寿命的气泡数据包。
全文摘要
一种经由通信源的NAT与通信目的地的信息处理装置进行通信的通信源的第一信息处理装置(1),其具有寿命设定部(13),其对于为了在通信源的NAT中存留发送历史记录,以便能够接收从通信目的地的信息处理装置发送过来的数据包,而发送的气泡数据包,设定使该气泡数据包不能到达通信目的地的信息处理装置的范围的寿命;和气泡数据包发送部(14),其经由通信源的NAT发送具有由寿命设定部(13)所设定的寿命的气泡数据包。根据这样的结构,可提供能够适当地建立经由了安全级别高的NAT的通信的信息处理装置。
文档编号H04L29/06GK1977499SQ20058001445
公开日2007年6月6日 申请日期2005年4月15日 优先权日2004年5月7日
发明者乡原邦男, 前川肇 申请人:松下电器产业株式会社