CN100591038C - 通信装置以及通信方法 - Google Patents

通信装置以及通信方法 Download PDF

Info

Publication number
CN100591038C
CN100591038C CN200580017406A CN200580017406A CN100591038C CN 100591038 C CN100591038 C CN 100591038C CN 200580017406 A CN200580017406 A CN 200580017406A CN 200580017406 A CN200580017406 A CN 200580017406A CN 100591038 C CN100591038 C CN 100591038C
Authority
CN
China
Prior art keywords
router
address
mentioned
bag
communicator
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.)
Active
Application number
CN200580017406A
Other languages
English (en)
Other versions
CN1961542A (zh
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 CN1961542A publication Critical patent/CN1961542A/zh
Application granted granted Critical
Publication of CN100591038C publication Critical patent/CN100591038C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明的目的是,提供一种在多级多个路由器所构成的家庭网络中,通信装置也能够进行路由器设定的通信装置。该通信装置,包括:取得各个路由器的内侧地址的内侧地址取得机构;以及,取得各个路由器的外侧地址的外侧地址取得机构,上述外侧地址取得机构,重复执行根据上述内侧地址取得机构所取得的内侧地址访问路由器,并取得该路由器的外侧地址的动作,上述内侧地址取得机构,重复执行根据上述外侧地址取得机构所取得的外侧地址,取得位于比具有上述外侧地址的路由器更靠广域网侧的路由器的内侧地址的动作。

Description

通信装置以及通信方法
技术领域
本发明,涉及一种在家庭内或公司内等的局域网(以下称作家庭网)中,进行各机器的路由设定的通信装置、通信设定方法、通信设定程序以及记录通信设定程序的记录介质。
背景技术
近年来,信息化社会迅速发展,家庭内或公司内的LAN(Local AreaNetwork)的构成中,有时也存在包括有线LAN、无线LAN的多个网络。为了连接这样的多个网络,有时需要多台连接在两个网络间进行线路选择的路由器。
这样的家庭网络中,在无线连接通信机器的情况或使得能够从互联网访问的情况下,需要通信机器的设定或构成家庭网络的路由器的设定等(也称作网络设定)。存在的问题是,为了执行该路由器设定,需要专业知识,一般用户很难进行。
作为解决这样的问题的方法,公知的有利用对应UPnP(Universal Plugand Play)的宽带路由器等IGD(Internet Gateway Device)的方法。
另外,作为在多个路由器所构成的网络中获得线路上的路由器地址的方法,公知的有专利文献1(特开2002-111665)。
另外,专利文献2中公开了取得连接为可与多个路由器所构成的网络上的路由器通信的通信机器的地址的技术。这里,网络上的各个路由器具有线路信息。经路由器与通信机器相连接的通信装置,从路由器取得该线路信息,通过这样,能够取得未与自终端直接连接的通信机器的地址。
专利文献1:特开2002-111665号公报
专利文献2:特开2002-111668号公报
但是,前述的利用UPnP的方法,是以在家庭网络中经1级路由器连接通信机器为前提。因此,利用UPnP的方法,无法适用于多级路由器所构成的家庭网络的设定。
另外,专利文献1所公开的方法中,虽然能够得知路由器的IP地址,但无法得知用来进行路由器设定的对路由器的设定请求地址(例如端口、URL等)的信息,从而无法适用于家庭网络的设定。
如上所述,多级的路由器所构成的家庭网络的设定较为困难。即使是专利文献2中所公开的方法,在通信装置与通信机器经多级路由器相连接的家庭网络的情况下,这里所使用的家庭用路由器间,基本上RIP(RoutingInformation Protocol)之类的线路信息的交换也无法有效动作。因此,通信装置很难从家庭网络内的路由器取得通信机器的线路信息。
发明内容
因此,本发明鉴于以上问题,目的在于:提供一种能够在多级路由器所构成的家庭网络中,使通信装置能够进行路由器设定的通信装置、通信设定方法、通信设定程序以及记录通信设定程序的记录介质。
另外,本发明的目的在于:提供一种在多级路由器所构成的家庭网络中,能够掌握与各个路由器相连接的通信机器的构成的通信装置、通信设定方法、通信设定程序以及记录通信设定程序的记录介质。
为解决上述问题,本申请的第1发明,提供一种与广域网相连接,包含有多级连接的多个路由器的家庭网络内的通信装置。该通信装置的特征在于包括以下构成要素。
◎取得各个路由器的家庭网络侧地址(以下称作内侧地址)的内侧地址取得机构
◎取得各个路由器的广域网侧地址(以下称作外侧地址)的外侧地址取得机构
这里,上述外侧地址取得机构,重复执行根据上述内侧地址取得机构所取得的内侧地址访问路由器,并取得该路由器的外侧地址的动作;
上述内侧地址取得机构,重复执行根据上述外侧地址取得机构所取得的外侧地址,取得位于比具有上述外侧地址的路由器更靠广域网侧的路由器的内侧地址的动作。
通过上述构成,根据路由器的外侧地址,取得比该路由器更靠近广域网侧的路由器的内侧地址,通过这样来掌握路由器构成。因此,不需要进行变化允许的路由器通过次数的路由器发现用包的生成、以及所生成的包的向家庭网络内的发送,就能够取得路由器的结构。
另外,由于没有转发变化允许的路由器通过次数的路由器发现用包的处理,因此即使在家庭网络内含有在转发路由器发现用包时不进行减少允许路由器通过次数的处理的路由器的情况下,也能够掌握家庭网络内的路由器结构。进而,由于没有接收对路由器发现用包的路由器应答包的处理,因此即使在包含有对路由器应答包进行过滤的路由器的情况下,也能够掌握家庭网络内的路由器结构。
具体来说,对与通信装置直接连接的第1路由器,发送设为允许路由器通过次数=1的路由器发现用包。与此相对,从第1路由器发送包含有第1路由器的内侧地址的路由器应答包。通信装置从路由器应答包取得第1路由器的内侧地址。进而,通信装置通过对第1路由器执行Get ExternalIPAddress,取得第1路由器的外侧地址。接下来,通信装置根据第1路由器的外侧地址,取得位于更靠广域网侧的第2路由器的内侧地址。之后,通过所取得的内侧地址访问第2路由器,取得外侧地址,通过重复上述操作,能够掌握家庭网络内的路由器结构。
本申请的第2发明,提供一种通信装置,特征在于在第1发明中,还包括:路由器发现用包生成机构,其生成包含允许的路由器通过次数作为变量的路由器发现用包;路由器发现用包发送机构,其发送上述路由器发现用包,使其通过上述家庭网络内的多个路由器;路由器应答包接收机构,其从上述多个路由器,接收对上述路由器发现用包进行应答,包含有各个路由器地址的多个路由器应答包;以及,路由器地址取得机构,其从上述路由器应答包抽出各个路由器地址。
路由器从上述通信装置接收路由器发现用包。这里,路由器发现用包中,允许的路由器通过次数被作为变量设定。接收到路由器发现用包的路由器,向位于更靠广域网侧的路由器发送路由器发现用包。此时,路由器将所设定的允许路由器通过次数减1后,发送给下一个连接的路由器。一旦允许路由器通过次数变为“0”,路由器就停止路由器发现用包往广域网侧的发送,将路由器应答包发送给作为路由器发现用包的发送源的通信装置。通过该路由器应答包的接收,通信装置能够容易地掌握家庭网络内的路由器结构。这样,通信装置,除了内侧地址取得机构以及外侧地址取得机构,还能够通过发送以允许路由器通过次数为变量的路由器发现用包,容易地掌握路由器的结构。
如果使用这样的将允许路由器通过次数作为变量来掌握路由器的结构的方法,则在包含有不进行减少路由器通过次数的处理的路由器或对路由器应答包进行过滤的路由器的情况下,有可能无法准确掌握路由器结构。但是,通过并用将路由器通过次数作为变量掌握路由器的结构的方法,与通过内侧地址取得机构以及外侧地址取得机构掌握路由器的结构的方法,就能够解决该问题。例如,通过如下的方法能够解决上述问题。
第1,最好让上述路由器应答包接收机构,还判断是否接收到了上述路由器发现用包生成机构所设定的允许路由器通过次数所对应的路由器应答包,上述路由器地址取得机构还具有外侧地址取得机构,在判断上述路由器应答包接收机构无法接收到路由器应答包的情况下,从所能够接收到的路由器应答包中最大的允许路由器通过次数所对应的路由器应答包中,抽出该路由器的内侧地址,根据所抽出的内侧地址访问路由器,取得该路由器的外侧地址,上述路由器地址取得机构,重复根据上述外侧地址取得机构所取得的外侧地址,取得比位于具有上述外侧地址的路由器更靠广域网侧的路由器的内侧地址的动作,并将所取得的内侧地址输出给上述中继信息设定机构。
通信装置,通过将允许路由器通过次数设为变量,接连发送路由器发现用包,能够从路由器接连接收到路由器应答包,高速取得路由器地址。另一方面,通信装置在无法接收到路由器应答包的情况下,如上所述,从能够接收到的路由器应答包中抽出内侧地址。之后,根据所抽出的内侧地址,取得该路由器的外侧地址。进而,根据所取得的外侧地址,取得更靠近广域网侧的路由器的内侧地址,重复上述动作。通过这样,即使在包含有不减小允许路由器通过次数而是将其忽略,将路由器发现用包转发给下一个路由器,或对来自路由器的路由器应答包进行过滤的路由器的家庭网络中,也能够掌握家庭网络内的路由器结构,进行中继信息的设定。
第2,最好还包含有进行上述内侧地址与上述外侧地址的比较的比较机构,上述路由器发现用包生成机构,生成为了让第1路由器发送应答,而将上述允许路由器通过次数设为第1值的第1路由器发现用包,以及为了让位于比上述第1路由器更靠上述广域网侧的第2路由器发送应答,而将上述允许路由器通过次数设为对上述第1值加1得到的第2值的第2路由器发现用包,上述路由器应答包接收机构,接收对应上述第1路由器发现用包的第1路由器应答包、与对应上述第2路由器发现用包的第2路由器应答包,上述路由器地址取得机构,从上述第1路由器应答包抽出第1内侧地址,从上述第2路由器应答包抽出第2内侧地址,上述外侧地址取得机构,根据上述第1内侧地址访问路由器,取得该路由器的第1外侧地址,上述比较机构,将上述第2内侧地址与上述第1外侧地址进行比较,在上述比较机构判断两者的地址空间有矛盾的情况下,上述路由器地址取得机构,根据上述允许路由器通过次数对应第1值得到的上述第1外侧地址,取得位于比具有上述外侧地址的路由器更靠广域网侧的路由器的第3内侧地址,上述外侧地址取得机构,根据上述第3内侧地址访问路由器,取得该路由器的第3外侧地址,上述比较机构,比较上述第2内侧地址与上述第3外侧地址,判断两者的地址空间中是否有矛盾,通过重复以上动作,取得存在于上述第1路由器与第2路由器之间的路由器的内侧地址,将所取得的各内侧地址输出给上述处理请求目的地取得机构。
如上所述,通过判断从路由器应答包所抽出的内侧地址,与根据前级路由器的内侧地址所取得的外侧地址的一致·不一致,能够判断从路由器应答包所抽出的内侧地址的合法性。在相一致的情况下,能够确认从路由器应答包所抽出的内侧地址,是用来从通信装置访问路由器的正确地址。因此,即使在家庭网络中包含有不减少允许路由器通过次数便转发给下一个路由器的路由器的情况下,通信装置也能够掌握家庭网络内的路由器结构,进行中继信息的设定。
本申请的第3发明,提供一种通信装置,特征在于在第1发明中,还包括:中继信息设定机构,其根据所取得的内侧地址访问路由器,对用来中继与经由上述多级连接的路由器相连接的其他通信装置之间的通信的中继信息进行设定。
通信装置,从路由器应答包取得路由器的内侧地址,根据该内侧地址访问路由器,进行中继信息的设定,同时取得外侧地址。通过这样,能够对家庭网络内的各个路由器进行中继信息的设定。
本申请的第4发明,提供一种通信装置,特征在于在第1发明中,还具有第2判断机构,其判断上述外侧地址取得机构新取得的外侧地址,是否是连接家庭网络与广域网的网关的外侧地址即全局地址,
在上述外侧地址是全局地址的情况下,中止由上述内侧地址取得机构实施的新的内侧地址的取得、以及由上述外侧地址取得机构实施的新的外侧地址的取得。
这种情况下,能够只进行存在于自家的家庭网络内的路由器的设定。
本申请的第5发明,提供一种通信装置,特征在于在第1发明中:上述内侧地址取得机构,生成使上述外侧地址取得机构所取得的外侧地址的一部分变化而得到的试验地址,作为路由器的内侧地址,
上述外侧地址取得机构,根据上述试验地址,访问位于比具有上述外侧地址的路由器更靠广域网侧的路由器,并取得该路由器的外侧地址。
通信装置,通过变化所取得的路由器的外侧地址,能够高效取得位于更靠广域网侧的路由器的内侧地址。
另外,上述内侧地址取得机构,最好通过将上述外侧地址取得机构所取得的外侧地址的最低8位置换成特定的值,来生成上述试验地址。
一般来说,市售的路由器的内侧地址的最低8位,在默认设定的情况下通常设为“1”或“254”。另外,用户变更设定的情况下,通常也设为64或128等特定的值,因此通过根据这样的特定值的试验地址尝试访问,能够高速取得路由器的地址。
本申请的第6发明,提供一种通信装置,特征在于在第1发明中,还包括:机器发现用包生成机构,其根据所取得的外侧地址,生成用来检测与任意的路由器相连接的通信机器的机器发现用包;机器发现用包发送机构,其将上述机器发现用包发送给至少1个通信机器;机器应答包接收机构,其从至少1个通信机器,接收对上述机器发现用包进行应答,包含有该通信机器的机器地址的机器应答包;以及,机器地址取得机构,其从上述机器应答包抽出机器地址。
另外,通信装置不需要进行变化允许路由器通过次数的路由器发现用包的生成以及向家庭网络的发送,就能够容易地掌握家庭网络内的路由器的结构。进而,通信装置能够取得与路由器相连接的通信机器的地址。因此,通信装置即使在多级路由器所构成的家庭网络中,也能够掌握与路由器相连接的通信机器的构成。
本申请的第7发明,提供一种通信装置,特征在于在第6发明中,还包括:通信设定机构,其根据所抽出的机器地址访问通信机器,对上述通信机器以及自身的通信装置之一,进行用于与上述通信机器的通信的设定。
通信装置即使在多级路由器所构成的家庭网络中,也能够访问该通信机器,进行用来中继通信机器的通信的各种设定。
本申请的第8发明,提供一种通信装置,特征在于在第6发明中,还具有机器掌握部,其根据所抽出的机器地址访问通信机器,掌握上述通信机器的地址和属性信息
这种情况下,能够根据通信机器的地址或属性,识别出该通信机器是什么样的通信机器,或处于什么样的状态。
本申请的第9发明,提供一种通信装置,特征在于在第8发明中,还具有显示部,其显示出由上述机器掌握部所取得的通信机器的地址和属性信息。
这种情况下,通过将所取得的路由器以及通信机器的信息显示在显示部中,使得用户的确认变得容易。
本申请的第10发明,提供一种通信装置,特征在于在第1发明中:上述通信装置,是包含有多级连接的多个路由器的第1家庭网络内的通信装置,还具有:路由器结构信息发送部,其将上述多级连接的多个路由器的一部分,即包含通信装置自身所连接的路由器的一部分路由器的路由器结构信息,发送给上述第1家庭网络内的其他通信装置,或通过广域网与上述第1家庭网络相连接的第2家庭网络内的其他通信装置;以及,通信判断部,其从上述其他通信装置,接收上述多个路由器中另一部分路由器的路由器结构信息,根据自身的通信装置的路由器结构信息与所接收到的路由器结构信息,判断可否与上述其他通信装置进行通信,上述路由器结构信息,根据的是各个通信装置的内侧地址取得机构所取得的内侧地址及/或外侧地址取得机构所取得的外侧地址。
该通信装置中,通过在多级路由器所构成的网络中也掌握路由器结构,能够进行NAT设定以及防火墙设定等通信线路设定。通过像这样设定通信线路,即使在一方或双方的通信装置在家庭网络内经多级路由器相连接的情况下,也能够进行通信装置间的P2P通信。
另外,最好还具有路由器发现用包生成机构,其生成包含有允许路由器通过次数作为变量的路由器发现用包;路由器发现用包发送机构,其将上述路由器发现用包,发送给上述家庭网络内的多个路由器;路由器应答包接收机构,其从上述多个路由器接收对上述路由器发现用包进行应答,包含有各个路由器地址的多个路由器应答包;以及,路由器地址取得机构,其从上述路由器应答包抽出各个路由器地址;上述路由器结构信息取得部,根据上述多个路由器的路由器地址,取得上述一部分路由器的路由器结构信息。
从上述通信装置接收到将允许路由器通过次数作为变量的路由器发现用包的路由器,向广域网侧发送路由器发现用包。此时,路由器将所设定的允许路由器通过次数减1后发送给下一个连接的路由器。一旦允许路由器通过次数变为“0”,路由器就停止路由器发现用包向广域网侧的发送,将路由器应答包发送给作为路由器发现用包的发送源的通信装置。通过这样,通信装置能够容易地掌握家庭网络内的路由器结构。因此,通信装置能够访问所掌握的路由器,设定路由器,使得可与经由多级连接的路由器相连接的对方的通信装置间进行通信。
进而,最好还具有取得各个路由器的家庭网络侧地址(以下称作内侧地址)的内侧地址取得机构;取得各个路由器的广域网侧地址(以下称作外侧地址)的外侧地址取得机构;以及中继信息设定机构,其根据所取得的内侧地址访问路由器,对用来中继与经由上述多级连接的路由器相连接的其他通信装置之间的通信的中继信息进行设定;上述外侧地址取得机构,重复执行根据上述内侧地址取得机构所取得的内侧地址访问路由器,并取得该路由器的外侧地址的动作;上述内侧地址取得机构,重复执行根据上述外侧地址取得机构所取得的外侧地址,取得位于比具有上述外侧地址的路由器更靠广域网侧的路由器的内侧地址的动作,上述路由器结构信息取得部,根据所取得的内侧地址及/或外侧地址,取得上述一部分路由器的路由器结构信息。
通过上述构成,根据通信装置侧的路由器的外侧地址,取得靠家庭网络外侧的路由器的内侧地址,通过这样来掌握路由器构成。因此,不需要进行变化允许路由器通过次数的路由器发现用包的生成以及所生成的包向家庭网络内的发送,就能够取得路由器的结构。
另外,由于没有转发变化允许路由器通过次数的路由器发现用包的处理,因此即使在家庭网络内含有在转发路由器发现用包时不进行减少允许路由器通过次数的处理的路由器的情况下,也能够掌握家庭网络内的路由器结构。进而,由于没有接收对路由器发现用包的路由器应答包的处理,因此即使在包含有对路由器应答包进行过滤的路由器的情况下,也能够掌握家庭网络内的路由器结构。
本申请的第11发明,提供一种通信装置,特征在于在第10发明中,还具有中继信息设定机构,其根据上述路由器结构信息,对各个路由器,对用来中继与其他通信装置间的通信的中继信息进行设定。
中继信息设定机构,访问所掌握的路由器,进行中继信息的设定,通过这样,通信装置能够与经由多级连接的路由器相连接的对方的通信装置进行通信。
本申请的第12发明,提供一种通信装置,特征在于在第11发明中:上述路由器结构信息由路由器地址构成,该路由器地址,是从上述通信装置,到家庭网络内以及与广域网的边界处连接双方网络间的边界路由器的各个路由器的内侧地址及/或外侧地址,上述通信判断部,具有分支地址抽出机构,从广域网侧的路由器地址起,顺次判断自身的通信装置的路由器结构信息中包含的路由器地址、与其他通信装置的路由器结构信息中包含的路由器地址的一致或不一致,抽出最初判断为不一致的通信线路的分支点的地址,使用所抽出的分支地址,判断可否与上述其他通信装置通信。
通过判断是否对分支以下的路由器,执行了通信线路设定,能够判断可否进行通信。因此,能够与经由多级连接的路由器相连接的对方的通信装置进行通信。
本申请的第13发明,提供一种通信装置,特征在于在第11发明中:上述路由器结构信息由路由器地址构成,该路由器地址,是从上述通信装置,到家庭网络内以及与广域网的边界处连接双方网络间的边界路由器的各个路由器的内侧地址及/或外侧地址,上述通信判断部,具有:分支地址抽出机构,从广域网侧的路由器地址起,顺次判断自身的通信装置的路由器结构信息中包含的路由器地址、与其他通信装置的路由器结构信息中包含的路由器地址的一致或不一致,抽出最初判断为不一致的通信线路的分支点的地址;以及,分支地址发送机构,将所抽出的分支地址发送给上述中继信息设定机构,上述中继信息设定机构,根据自身的通信装置的路由器结构信息,访问对应上述分支地址的路由器、以及位于该路由器与自身的通信装置间的路由器,来设定中继信息,上述分支地址发送机构,将对应上述分支地址的路由器的中继信息与上述分支地址关联起来,发送给进行通信的其他通信装置。
另外,最好让上述中继信息设定机构,根据上述路由器结构信息取得机构所取得的路由器结构信息,对各个路由器进行用来中继与其他通信装置间的通信的中继信息的设定,上述路由器结构信息,由从上述通信装置,到家庭网络内以及与广域网的边界处连接两个网络间的边界路由器的各个路由器的路由器地址、以及设为中继信息的端口编号构成。这里,上述通信判断部,具有分支地址抽出机构,其从广域网侧的路由器地址起,顺次判断自身的通信装置的路由器结构信息中含有的路由器地址与其他通信装置的路由器结构信息中含有的路由器地址的一致或不一致,抽出其他通信装置的路由器结构信息中所含有的最初判断为不一致的通信线路的分支点的地址,以及对应该地址的路由器中所设定的中继信息的端口编号,使用上述分支地址抽出机构所抽出的上述分支点的地址与端口编号,进行与上述其他通信终端的通信。
通过上述构成,在进行路由器设定之后,能够探索分支点。因此,能够与经由多级连接的路由器相连接的对方通信装置进行通信。
本申请的第14发明,提供一种与广域网相连接,包含有多级连接的多个路由器的家庭网络内的通信装置。通信装置具有以下构成要素。
◎路由器发现用包生成机构,其生成包含允许的路由器通过次数作为变量的路由器发现用包;
◎路由器发现用包发送机构,其发送上述路由器发现用包,使其通过上述家庭网络内的多个路由器;
◎路由器应答包接收机构,其从上述多个路由器,接收对上述路由器发现用包进行应答,包含有各个路由器地址的多个路由器应答包;
◎路由器地址取得机构,其从上述路由器应答包抽出各个路由器地址;以及,
◎处理请求目的地取得机构,其根据所抽出的路由器地址访问路由器,取得中继信息设定处理的请求目的地信息。
路由器,从上述通信装置,接收将允许路由器通过次数设为变量的路由器发现用包。接收到路由器发现用包的路由器,向位于更靠广域网侧的路由器发送路由器发现用包。此时,路由器将所设定的允许路由器通过次数减1后,发送给下一个连接的路由器。一旦允许路由器通过次数变为“0”,路由器就停止路由器发现用包向广域网侧的发送,将路由器应答包发送给作为路由器发现用包的发送源的通信装置。通过该路由器应答包的接收,通信装置能够容易地掌握家庭网络内的路由器结构。并且,能够访问所掌握的地址的路由器,取得用来设定路由器的中继信息的请求目的地信息(端口编号、URL等)。之后,例如根据所取得的请求目的地信息访问路由器,设定路由器,使其能够与经由多级连接的路由器相连接的其他通信装置进行通信。
具体来说,例如对设为允许路由器通过次数=1、2的情况进行说明。通信装置将设为允许路由器通过次数=1的路由器发现用包发送给路由器后,从与通信装置直接连接的第1路由器,包含有第1路由器的内侧地址的路由器应答包被发送给通信装置。这里,内侧地址是指路由器的家庭网络侧地址,通信装置能够根据内侧地址访问各个路由器。这里,通信装置能够从该路由器应答包抽出第1路由器的内侧地址,根据该内侧地址访问第1路由器,进行NAT设定。例如,指定访问时的通信装置自身的端口编号、通信装置的IP地址、第1路由器的端口编号,进行NAT设定。
进而,通信装置通过向路由器发送设为允许路由器通过次数=2的路由器发现用包,取得经第1路由器从通信装置起第2级连接的第2路由器的内侧地址。这样,通信装置也能够访问第2路由器,进行NAT设定。例如,指定第1路由器的外侧地址、第1路由器的端口编号、第2路由器的端口编号等,进行NAT设定。这里,第1路由器的外侧地址,能够通过对第1路由器执行Get External IPAddress来取得。通过以上处理,能够掌握多级路由器所构成的家庭网络内的路由器结构。另外,根据该所掌握的路由器结构,还能够确立与经由多级路由器相连接的对方的通信装置的通信。
本申请的第15发明,特征在于在第14发明中,还具有中继信息设定机构,其根据上述处理请求目的地取得机构所取得的请求目的地信息进行访问,并对用来中继与经由上述多级连接的路由器相连接的其他通信装置间的通信的中继信息进行设定。
通信装置能够根据请求目的地信息访问路由器,对家庭网络内的各个路由器进行中继信息的设定。
本申请的第16发明,提供一种通信装置,特征在于在第15发明中:上述路由器地址,是家庭网络侧地址(以下称作内侧地址),
还具有外侧地址取得机构,根据上述处理请求目的地信息访问路由器,取得该路由器的广域网侧地址(以下称作外侧地址),
上述路由器地址取得机构,重复执行根据上述外侧地址取得机构所取得的外侧地址,取得位于比具有上述外侧地址的路由器更靠广域网侧的路由器的内侧地址的动作,并将所取得的内侧地址输出给上述处理请求目的地取得机构。
通信装置能够使用路由器发现用包取得路由器的内侧地址,或从位于家庭网络侧的路由器的内侧地址取得该路由器的外侧地址,进而根据该外侧地址取得位于更靠广域网侧的路由器的内侧地址。通过这样,能够掌握家庭网络内的路由器结构,同时进行中继信息的设定。
另外,在顺次取得外侧地址以及内侧地址的情况下,即使在包含有不减小允许路由器通过次数而是将其忽略,将路由器发现用包转发给下一个路由器,或对来自路由器的路由器应答包进行过滤的路由器的家庭网络中,也能够掌握家庭网络内的路由器结构,进行中继信息的设定。例如通过以下方法也能够解决上述问题。
第1,通信装置在无法接收到路由器应答包的情况下,最好从能够接收到的路由器应答包中抽出内侧地址。之后,根据所抽出的内侧地址,取得该路由器的外侧地址。进而,根据所取得的外侧地址,取得更靠近广域网侧的路由器的内侧地址,重复上述动作。通过这样,即使在包含有不减小允许路由器通过次数而是将其忽略,将路由器发现用包转发给下一个路由器,或对来自路由器的路由器应答包进行过滤的路由器的家庭网络中,也能够掌握家庭网络内的路由器结构,进行中继信息的设定。
第2,最好判断从路由器应答包所抽出的内侧地址,与根据前级路由器的内侧地址所取得的外侧地址的一致·不一致。通过这样,能够判断从路由器应答包所抽出的内侧地址的合法性。在相一致的情况下,能够确认从路由器应答包所抽出的内侧地址,是用来从通信装置访问路由器的正确地址。因此,即使在不减少允许路由器通过次数便转发给下一个路由器的路由器包括在家庭网络中的情况下,通信装置也能够掌握家庭网络内的路由器结构,进行中继信息的设定。
本申请的第17发明,提供一种通信装置,特征在于在第14发明中:上述路由器地址是内侧地址,
还具有第1判断机构,判断上述内侧地址是否是广域网中所使用的全局地址,
在上述内侧地址是全局地址的情况下,上述中继信息设定机构中止对上述路由器的中继信息的设定。
在所取得的内侧地址是全局地址的情况下,结束家庭网络内的路由器的检测。因此,能够只对家庭网络内的路由器进行中继信息的设定。
本申请的第18发明,提供一种通信装置,特征在于在第14发明中:上述路由器地址是内侧地址;
还具有第1判断机构,判断上述内侧地址是否是广域网中所使用的全局地址,
上述路由器发现用包生成机构,在上述内侧地址是全局地址的情况下,对于比对具有全局地址的路由器所设定的允许路由器通过次数更大的允许路由器通过次数,中止路由器发现用包的生成。
在所取得的内侧地址是全局地址的情况下,结束家庭网络内的路由器的检测。通过这样,能够避免向家庭网络外的路由器,无效地发送变更允许路由器通过次数的包。
另外,最好还具有存储机构,其存储将上述允许路由器通过次数与用来识别上述允许路由器通过次数的通过次数识别符关联起来的对应表,上述路由器发现用包生成机构,生成包含有对应上述允许路由器通过次数的通过次数识别符的路由器发现用包,上述路由器应答包接收机构,接收对上述多个路由器发现用包进行应答,包含上述多个路由器的各个路由器地址以及上述通过次数识别符的多个路由器应答包,上述路由器地址取得机构,根据所接收到的路由器应答包的通过次数识别符,从上述对应表中确定允许路由器通过次数。
以往的路由器应答包中,没有关于允许路由器通过次数的信息。因此,为了掌握是来自哪一个路由器的路由器应答包,需要回发对路由器发现用包的路由器应答包,或等待应答直到检测出时间到。因此,要想掌握线路上的路由器的地址,非常耗费时间。但是,通过上述构成,通信装置能够通过路由器应答包内的通过次数识别符,来掌握是来自哪一个路由器的路由器应答包。因此,即使在接收到多个路由器应答包的情况下,也能够明确是来自哪一个路由器的应答。因此,通信装置可接连发送变化允许路由器通过次数的路由器发现用包,并高速取得家庭网络内的路由器的地址或路由器结构。
另外,在利用UPnP IGD规格的情况下的各个路由器的中继信息的设定中,必须对应在通信装置中特定的应用程序起动的阶段进行中继信息的设定等的动态设定。如前所述,通信装置通过高速取得家庭网络内的路由器的地址或路由器结构,能够对应对各个路由器的动态的中继信息的设定。
进而,最好让上述路由器发现用包生成机构,使用TTL(Time To Live)作为上述允许路由器通过次数,进而生成包含对应上述TTL而变化的发送源端口编号或发送目的地端口编号的UDP包,作为上述路由器发现用包,上述路由器发现用包发送机构,多次发送多个上述UDP包,上述路由器应答包接收机构,接收对上述UDP包进行应答,包含上述多个路由器的各个路由器地址与上述发送源端口编号或发送目的地端口编号之一的ICMP Time Exceeded Message包,作为上述路由器应答包,上述路由器地址取得机构,根据所接收到的ICMP Time Exceeded Message包的上述发送源端口编号或发送目的地端口编号,确定TTL。
通信装置,能够根据ICMP Time Exceeded Message内的发送源端口编号或发送目的地端口编号,来掌握是来自哪个路由器的路由器应答包。因此,在接收到多个ICMP Time Exceeded Message的情况下,也能明确是来自哪一个路由器的应答。因此,通信装置接连发送变化TTL的UDP包,从而能够高速取得家庭网络内的路由器的地址或路由器结构。另外,通信装置通过高速取得路由器结构等,还能够对应对各个路由器的动态中继信息的设定。
另外,最好让上述路由器发现用包生成机构,使用TTL(Time To Live)作为上述允许路由器通过次数,进而生成包含对应上述TTL变化的识别符信息或顺序编号的ICMP回送请求包,作为路由器发现用包,上述路由器发现用包发送机构,多次发送多个上述ICMP回送请求包,上述路由器应答包接收机构,接收对上述ICMP回送请求包进行应答,包含上述多个路由器的各个路由器地址与识别符信息或顺序编号之一的ICMP TimeExceeded Message包,作为上述路由器应答包,上述路由器地址取得机构,根据所接收到的ICMP Time Exceeded Message包的上述识别符信息或顺序编号,确定TTL。
通信装置,能够根据ICMP Time Exceeded Message内的识别符信息或顺序编号,来掌握是来自哪个路由器的路由器应答包。因此,在接收到多个ICMP Time Exceeded Message的情况下,也能明了是来自哪个路由器的应答。因此,通信装置接连发送变化TTL的ICMP回送请求包,从而能够高速取得家庭网络内的路由器的地址或路由器结构。
另外,上述中继信息设定机构最好进行地址变换设定,使路由器的广域网侧的端口编号以及位于比该路由器更靠家庭网络侧的路由器或自身的通信装置的IP地址及/或端口编号能够变换。
这种情况下,即使在多级路由器所构成的住宅内家庭网络中,也能够进行各个路由器的地址变换设定,由通信装置进行用来从广域网侧访问家庭网络侧的通信装置的设定。
另外,上述中继信息设定机构,最好对上述路由器进行包过滤器的设定,其决定从上述广域网侧的包的接收及废弃。
这种情况下,即使在多个路由器所构成的家庭网络中,也能够对各个路由器进行包过滤器设定,可由通信装置进行用来从广域网侧访问通信终端的设定。因此能够提高通信装置的安全性。
本申请的第19发明,提供一种通信装置,特征在于在第14发明中:上述通信装置,是包含有多级连接的多个路由器的第1家庭网络内的通信装置,
具有:路由器结构信息发送部,其将作为上述多级连接的多个路由器的一部分,且包含通信装置自身所连接的路由器的一部分路由器的路由器结构信息,发送给上述第1家庭网络内的其他通信装置,或通过广域网与上述第1家庭网络相连接的第2家庭网络内的其他通信装置;以及,
通信判断部,其从上述其他通信装置接收上述多个路由器中另一部分路由器的路由器结构信息,并根据自身的通信装置的路由器结构信息与所接收到的路由器结构信息,判断可否与上述其他通信装置通信,
上述路由器结构信息,根据的是上述路由器地址取得机构所取得的路由器地址。
该通信装置中,通过在多级路由器所构成的网络中也掌握路由器结构,能够进行NAT设定以及防火墙设定等通信线路设定。通过像这样设定通信线路,即使在一方或双方的通信装置在家庭网络内经多级路由器相连接的情况下,也能够进行通信装置间的P2P通信。
另外,最好还具有:路由器发现用包生成机构,其生成包含允许路由器通过次数作为变量的路由器发现用包;路由器发现用包发送机构,其将上述路由器发现用包,发送给上述家庭网络内的多个路由器;路由器应答包接收机构,其从上述多个路由器接收对上述路由器发现用包进行应答,包含各个路由器地址的多个路由器应答包;以及路由器地址取得机构,其从上述路由器应答包抽出各个路由器地址,上述路由器结构信息取得部,根据上述多个路由器的路由器地址,取得上述一部分路由器的路由器结构信息。
从上述通信装置接收到将允许路由器通过次数作为变量的路由器发现用包的路由器,向广域网侧发送路由器发现用包。此时,路由器将所设定的允许路由器通过次数减1后发送给下一个连接的路由器。一旦允许路由器通过次数变为“0”,路由器就停止路由器发现用包向广域网侧的发送,将路由器应答包发送给作为路由器发现用包的发送源的通信装置。通过这样,通信装置能够容易地掌握家庭网络内的路由器结构。因此,通信装置能够访问所掌握的路由器,设定路由器,使得可与经由多级连接的路由器相连接的对方的通信装置进行通信。
进而,最好还具有:取得各个路由器的家庭网络侧地址(以下称作内侧地址)的内侧地址取得机构;取得各个路由器的广域网侧地址(以下称作外侧地址)的外侧地址取得机构;以及,中继信息设定机构,其根据所取得的内侧地址访问路由器,对用来中继与经由上述多级连接的路由器相连接的其他通信装置的通信的中继信息进行设定,上述外侧地址取得机构,重复执行根据上述内侧地址取得机构所取得的内侧地址访问路由器,并取得该路由器的外侧地址的动作,上述内侧地址取得机构,重复执行根据上述外侧地址取得机构所取得的外侧地址,取得位于比具有上述外侧地址的路由器更靠广域网侧的路由器的内侧地址的动作,上述路由器结构信息取得部,根据所取得的内侧地址及/或外侧地址,取得上述一部分路由器的路由器结构信息。
通过上述构成,根据通信装置侧的路由器的外侧地址,取得更靠家庭网络外侧的路由器的内侧地址,通过这样来掌握路由器构成。因此,不需要变化允许路由器通过次数的路由器发现用包的生成以及所生成的包向家庭网络的发送,就能够取得路由器的结构。
另外,由于没有转发变化允许路由器通过次数的路由器发现用包的处理,因此即使在家庭网络内,包含有在转发路由器发现用包时不进行减少允许路由器通过次数的处理的路由器的情况下,也能够掌握家庭网络内的路由器结构。进而,由于没有接收对路由器发现用包的路由器应答包的处理,因此即使在包含有对路由器应答包进行过滤的路由器的情况下,也能够掌握家庭网络内的路由器结构。
本申请的第20发明,提供一种通信装置,特征在于在第19发明中:还具有中继信息设定机构,其根据上述路由器结构信息,对各个路由器,对用来中继与其他通信装置间的通信的中继信息进行设定。
中继信息设定机构,访问所掌握的路由器,进行中继信息的设定,通过这样,通信装置能够与经由多级连接的路由器相连接的对方的通信装置进行通信。
本申请的第21发明,提供一种通信装置,特征在于在第20发明中:上述路由器结构信息由路由器地址构成,该路由器地址,是从上述通信装置,到家庭网络内以及与广域网的边界处连接双方网络间的边界路由器的各个路由器的内侧地址及/或外侧地址,
上述通信判断部,
具有分支地址抽出机构,从广域网侧的路由器地址起,顺次判断自身的通信装置的路由器结构信息中包含的路由器地址、与其他通信装置的路由器结构信息中包含的路由器地址的一致或不一致,抽出最初判断为不一致的通信线路的分支点的地址,
使用所抽出的分支地址,判断可否与上述其他通信装置通信。
本申请的第22发明,提供一种通信装置,特征在于在第20发明中:上述路由器结构信息,由从上述通信装置,到家庭网络内以及与广域网的边界处连接双方网络间的边界路由器为止的各个路由器的路由器地址构成,
上述通信判断部,
具有:分支地址抽出机构,从广域网侧的路由器地址起,顺次判断自身的通信装置的路由器结构信息中包含的路由器地址、与其他通信装置的路由器结构信息中包含的路由器地址的一致或不一致,抽出最初判断为不一致的通信线路的分支点的地址;以及,
分支地址发送机构,将所抽出的分支地址发送给上述中继信息设定机构,
上述中继信息设定机构,根据自身的通信装置的路由器结构信息,访问对应上述分支地址的路由器、以及位于该路由器与自身的通信装置间的路由器,来设定中继信息,
上述分支地址发送机构,将对应上述分支地址的路由器的中继信息与上述分支地址关联起来,发送给进行通信的其他通信装置。
另外,最好让上述中继信息设定机构,根据上述路由器结构信息取得机构所取得的路由器结构信息,对各个路由器进行用来中继与其他通信装置间的通信的中继信息的设定,上述路由器结构信息,由从上述通信装置,到家庭网络内以及与广域之间的边界处连接双方网络间的边界路由器的各个路由器的路由器地址,以及设为中继信息的端口编号构成。这里,上述通信判断部具有:从广域网侧的路由器地址起,顺次判断自身的通信装置的路由器结构信息中包含的路由器地址、与其他通信装置的路由器结构信息中包含的路由器地址的一致或不一致,抽出其他通信装置的路由器结构信息中所含有的最初判断为不一致的通信线路的分支点的地址,以及对应该地址的路由器中所设定的中继信息的端口编号;使用上述分支地址抽出机构所抽出的上述分支点的地址与端口编号,与其他通信终端进行通信。
通过上述构成,进行路由器设定之后,能够探索分支点。因此,能够与经由多级连接的路由器相连接的对方通信装置进行通信。
本申请的第23发明,提供一种与广域网相连接,包含有多级连接的多个路由器的家庭网络内的通信装置。这里,通信装置包括以下构成要素。
◎路由器发现用包生成机构,其生成包含允许路由器通过次数作为变量的路由器发现用包;
◎路由器发现用包发送机构,其将上述路由器发现用包,发送给上述家庭网络内的多个路由器;
◎路由器应答包接收机构,其从上述多个路由器,接收对上述路由器发现用包进行应答,包含各个路由器地址的多个路由器应答包;
◎路由器地址取得机构,其从上述路由器应答包抽出各个路由器地址;
◎机器发现用包生成机构,其根据所抽出的路由器地址,生成用来检测与任意的路由器相连接的通信机器的机器发现用包;
◎机器发现用包发送机构,其将上述机器发现用包发送给至少1个通信机器;
◎机器应答包接收机构,其从至少1个通信机器接收对上述机器发现用包进行应答,包含该通信机器的机器地址的机器应答包;以及
◎机器地址取得机构,其从上述机器应答包抽出机器地址。
通信装置,不需要发送变化允许路由器通过次数的路由器发现用包,就能够取得家庭网络内的路由器的路由器地址。进而,通信装置通过根据该路由器地址发送机器发现用包,就能够取得与路由器相连接的通信机器的地址。因此,例如通信装置,即使在多级路由器所构成的家庭网络中,也能够访问该通信机器,进行用来中继通信机器的通信的各种设定。
本申请的第24发明,提供一种通信装置,特征在于在第23发明中:还具有通信设定机构,其根据所抽出的机器地址访问通信机器,对上述通信机器以及自身的通信装置之一,进行用于与上述通信机器的通信的设定。
通过这样,通信装置即使在多级路由器所构成的家庭网络中,也能够访问该通信机器,进行用来中继通信机器的通信的各种设定。
本申请的第25发明,提供一种通信装置,特征在于在第23发明中:上述路由器地址是内侧地址;
还具有第1判断机构,判断上述内侧地址是否是全局地址,
在上述内侧地址是全局地址的情况下,中止由上述机器发现用包生成机构实施的机器发现用包的生成、由上述机器应答包接收机构实施的机器应答包的接收、由上述机器地址取得机构实施的机器地址的抽出、以及由上述通信设定机构实施的用于与上述通信机器的通信的设定。
通过这样,只访问家庭网络内的通信机器,从而能够进行稳定的中继信息的设定。
本申请的第26发明,提供一种通信装置,特征在于在第23发明中:上述机器发现用包生成机构,生成包含使所抽出的路由器地址的一部分变化而得到的试验地址作为机器地址的多个机器发现用包;
上述机器地址取得机构,从根据上述试验地址生成的多个机器发现用包所对应的多个机器应答包,抽出上述机器地址。
通过根据路由器地址来决定与路由器相连接的通信机器的机器地址,与无作为地决定机器地址相比,更能够容易地进行机器地址的推测。
另外,上述通信设定机构,最好对上述通信机器,进行包括通信中所使用的无线频道、加密信息、以及认证信息中的至少1个的无线通信的设定。
这种情况下,即使在多个路由器所构成的住宅内家庭网络中,也能够进行用于无线访问的设定。
另外,上述通信设定机构,从上述通信机器抽出包括通信中所使用的无线频道、加密信息、以及认证信息中的至少1个的用来进行无线通信的信息,进行自身的通信装置的无线通信功能的设定。
这种情况下,即使在多个路由器所构成的住宅内家庭网络中,也能够进行用于无线访问的设定。
本申请的第27发明,提供一种通信装置,特征在于在第23发明中:还具有机器掌握部,其根据所抽出的机器地址访问通信机器,掌握上述通信机器的属性信息。
这种情况下,能够根据通信机器的地址或属性识别出该通信机器是什么样的机器,或处于什么样的状态。
本申请的第28发明,提供一种通信装置,特征在于在第27发明中:还具有显示部,显示出由上述机器地址取得机构取得的通信机器的地址,和上述机器掌握部取得的通信机器的属性信息。
这种情况下,通过将所取得的路由器以及通信机器的信息显示在显示部中,使得用户的确认变得容易。
本申请的第29发明,提供一种通信方法,是一种与广域网相连接,包含有多级连接的多个路由器的家庭网络内的通信装置中的通信方法,其中,包括:取得各个路由器的家庭网络侧地址(以下称作内侧地址)的内侧地址取得步骤;及,
取得各个路由器的广域网侧地址(以下称作外侧地址)的外侧地址取得步骤,
上述外侧地址取得步骤,重复执行根据上述内侧地址取得步骤所取得的内侧地址访问路由器,并取得该路由器的外侧地址的动作,
上述内侧地址取得步骤,重复执行根据上述外侧地址取得步骤所取得的外侧地址,取得位于比具有上述外侧地址的路由器更靠广域网侧的路由器的内侧地址的动作。
本申请的发明,能够起到与本申请的第1发明相同的作用效果。
本申请的第30发明,提供一种通信程序,是一种与广域网相连接,包含有多级连接的多个路由器的家庭网络内的通信装置所执行的通信程序,其中:
该通信程序让通信装置作为以下机构发挥功能:取得各个路由器的家庭网络侧地址(以下称作内侧地址)的内侧地址取得机构;及,取得各个路由器的广域网侧地址(以下称作外侧地址)的外侧地址取得机构,上述外侧地址取得机构,重复执行根据上述内侧地址取得机构所取得的内侧地址访问路由器,并取得该路由器的外侧地址的动作,上述内侧地址取得机构,重复执行根据上述外侧地址取得机构所取得的外侧地址,取得位于比具有上述外侧地址的路由器更靠广域网侧的路由器的内侧地址的动作。
本申请的发明,能够起到与本申请的第1发明相同的作用效果。
本申请的第31发明,提供一种计算机可读记录介质,记录有与广域网相连接,包含多级连接的多个路由器的家庭网络内的通信装置所执行的通信程序,实施:取得各个路由器的家庭网络侧地址(以下称作内侧地址)的内侧地址取得步骤;及,取得各个路由器的广域网侧地址(以下称作外侧地址)的外侧地址取得步骤,上述外侧地址取得机构,重复执行根据上述内侧地址取得机构所取得的内侧地址访问路由器,并取得该路由器的外侧地址的动作,上述内侧地址取得机构,重复执行根据上述外侧地址取得机构所取得的外侧地址,取得位于比具有上述外侧地址的路由器更靠广域网侧的路由器的内侧地址的动作。
本申请的发明,能够起到与本申请的第1发明相同的作用效果。
本申请的第32发明,提供一种通信方法,是一种与广域网相连接,包含有多级连接的多个路由器的家庭网络内的通信装置中的通信方法,包括:路由器发现用包生成步骤,其生成包含允许的路由器通过次数作为变量的路由器发现用包;路由器发现用包发送步骤,其发送上述路由器发现用包,使其通过上述家庭网络内的多个路由器;路由器应答包接收步骤,其从上述多个路由器,接收对上述路由器发现用包进行应答,包含各个路由器地址的多个路由器应答包;路由器地址取得步骤,其从上述路由器应答包抽出各个路由器地址;以及,处理请求目的地取得步骤,其根据所抽出的路由器地址访问路由器,取得对路由器的设定处理及/或从路由器的信息取得处理的处理请求目的地信息。
本申请的发明,能够起到与本申请的第14发明相同的作用效果。
本申请的第33发明,提供一种通信程序,是一种与广域网相连接,包含有多级连接的多个路由器的家庭网络内的通信装置所执行的通信程序,该通信程序让通信装置作为以下机构发挥功能:路由器发现用包生成机构,其生成包含允许的路由器通过次数作为变量的路由器发现用包;路由器发现用包发送机构,其发送上述路由器发现用包,使其通过上述家庭网络内的多个路由器;路由器应答包接收机构,其从上述多个路由器,接收对上述路由器发现用包进行应答,包含各个路由器地址的多个路由器应答包;路由器地址取得机构,其从上述路由器应答包抽出各个路由器地址;以及,处理请求目的地取得机构,其根据所抽出的路由器地址访问路由器,取得对路由器的设定处理及/或从路由器的信息取得处理的处理请求目的地信息。
本申请的发明,能够起到与本申请的第14发明相同的作用效果。
本申请的第34发明,提供一种计算机可读记录介质,记录有与广域网相连接,包含多级连接的多个路由器的家庭网络内的通信装置所执行的通信程序,该通信程序包括:路由器发现用包生成步骤,其生成包含有允许路由器通过次数作为变量的路由器发现用包;路由器发现用包发送步骤,其发送上述路由器发现用包,使其通过上述家庭网络内的多个路由器;路由器应答包接收步骤,其从上述多个路由器接收对上述路由器发现用包进行应答,包含有各个路由器地址的多个路由器应答包;路由器地址取得步骤,其从上述路由器应答包抽出各个路由器地址;以及,处理请求目的地取得步骤,其根据所抽出的路由器地址访问路由器,取得对路由器的设定处理及/或从路由器的信息取得处理的处理请求目的地信息。
本申请的发明,能够起到与本申请的第14发明相同的作用效果。
本申请的第35发明,提供一种通信方法,是一种与广域网相连接,包含有多级连接的多个路由器的家庭网络内的通信方法,包括:路由器发现用包生成步骤,其生成包含允许的路由器通过次数作为变量的路由器发现用包;路由器发现用包发送步骤,其将上述路由器发现用包,发送给上述家庭网络内的多个路由器;路由器应答包接收步骤,其从上述多个路由器,接收对上述路由器发现用包进行应答,包含各个路由器地址的多个路由器应答包;路由器地址取得步骤,其从上述路由器应答包抽出各个路由器地址;机器发现用包生成步骤,其根据所抽出的路由器地址,生成用来检测与任意的路由器相连接的通信机器的机器发现用包;机器发现用包发送步骤,其将上述机器发现用包发送给至少1个通信机器;机器应答包接收步骤,其从至少1个通信机器接收对上述机器发现用包进行应答,包含该通信机器的机器地址的机器应答包;以及,机器地址取得步骤,其从上述机器应答包抽出机器地址。
本申请的发明,能够起到与本申请的第23发明相同的作用效果。
本申请的第36发明,提供一种通信程序,是一种与广域网相连接,包含有多级连接的多个路由器的家庭网络内的通信装置所执行的通信程序,该通信程序让通信装置作为以下机构发挥功能:路由器发现用包生成机构,其生成包含允许的路由器通过次数作为变量的路由器发现用包;路由器发现用包发送机构,其将上述路由器发现用包,发送给上述家庭网络内的多个路由器;路由器应答包接收机构,其从上述多个路由器,接收对上述路由器发现用包进行应答,包含各个路由器地址的多个路由器应答包;路由器地址取得机构,其从上述路由器应答包抽出各个路由器地址;机器发现用包生成机构,其根据所抽出的路由器地址,生成用来检测与任意的路由器相连接的通信机器的机器发现用包;机器发现用包发送机构,其将上述机器发现用包发送给至少1个通信机器;机器应答包接收机构,其从至少1个通信机器接收对上述机器发现用包进行应答,包含该通信机器的机器地址的机器应答包;以及,机器地址取得机构,其从上述机器应答包抽出机器地址。
本申请的发明,能够起到与本申请的第23发明相同的作用效果。
本申请的第37发明,提供一种计算机可读记录介质,记录有与广域网相连接,包含多级连接的多个路由器的家庭网络内的通信装置所执行的通信程序,该通信程序用于实施:路由器发现用包生成步骤,其生成包含允许的路由器通过次数作为变量的路由器发现用包;路由器发现用包发送步骤,其将上述路由器发现用包,发送给上述家庭网络内的多个路由器;路由器应答包接收步骤,其从上述多个路由器,接收对上述路由器发现用包进行应答,包含各个路由器地址的多个路由器应答包;路由器地址取得步骤,其从上述路由器应答包抽出各个路由器地址;机器发现用包生成步骤,其根据所抽出的路由器地址,生成用来检测与任意的路由器相连接的通信机器的机器发现用包;机器发现用包发送步骤,其将上述机器发现用包发送给至少1个通信机器;机器应答包接收步骤,其从至少1个通信机器接收对上述机器发现用包进行应答,包含该通信机器的机器地址的机器应答包;以及,机器地址取得步骤,其从上述机器应答包抽出机器地址。
本申请的发明,能够起到与本申请的第23发明相同的作用效果。
通过使用本发明,即使在多级路由器所构成的家庭网络中,通信装置也能够进行路由器设定。
附图说明
图1为本发明的第1实施方式中的家庭网络结构图。
图2为本发明的第1实施方式中的通信装置的结构图。
图3为使用UDP的发现包格式的说明图。
图4为表示使用TTL与UDP的发现包的关系的说明图。
图5为表示本发明的第1实施方式中的发现包发送处理顺序的流程图。
图6为表示本发明的第1实施方式中的路由器地址取得与设定的流程的说明图。
图7为表示ICMP时间超过包的包格式的说明图。
图8为表示本发明的第1实施方式中的发现包的应答接收顺序的流程图。
图9为使用ICMP回送请求的发现包格式的说明图。
图10为表示使用TTL与ICMP回送的发现包的关系的说明图。
图11为本发明的第2实施方式中的家庭网络结构图。
图12为本发明的第2实施方式中的通信装置的结构图。
图13为本发明的第2实施方式中的无线AP地址的掌握与无线设定。
图14为表示本发明的第2实施方式中的发现包发送处理顺序的流程图。
图15为表示本发明的第2实施方式中的无线AP发现用包的发送处理顺序的流程图。
图16为表示路由器地址与无线AP发现用包的发送目的地地址的关系的说明图。
图17为表示本发明的第2实施方式中的路由器发现用包的应答接收顺序的流程图。
图18为表示本发明的第3实施方式中的使用发现包的路由器地址掌握与设定的说明图。
图19为本发明的第3实施方式中的通信装置的结构图。
图20为表示本发明的第3实施方式中的路由器发现用包的应答接收顺序的流程图。
图21为表示本发明的第3实施方式中的路由器发现用包的发送处理顺序的流程图。
图22为表示路由器的WAN侧地址与上层路由器发现用包的发送目的地地址的关系的说明图。
图23为表示本发明的第4实施方式中的无线AP地址的掌握与无线设定的说明图。
图24为本发明的第4实施方式中的通信装置的结构图。
图25为表示本发明的第4实施方式中的路由器发现用包的应答接收顺序的流程图。
图26为表示本发明的第4实施方式中的路由器发现用包的发送处理顺序的流程图。
图27为表示本发明的第4实施方式中的无线AP发现用包的发送处理顺序的流程图。
图28为包含对ICMP进行过滤的路由器的家庭网络的说明图。
图29为本发明的第5实施方式中的通信装置的结构图。
图30为表示本发明的第5实施方式中的第1发现包的发送处理顺序的流程图。
图31为表示本发明的第5实施方式中的时间到检出时的处理顺序的流程图。
图32为表示本发明的第5实施方式中的路由器发现用包的发送处理顺序的流程图。
图33为表示本发明的第5实施方式中的发现包的应答接收顺序的流程图。
图34为表示本发明的第5实施方式中的路由器地址的掌握与路由器设定的说明图。
图35为表示包含有不进行TTL处理的路由器的家庭网络的说明图。
图36为本发明的第6实施方式中的通信装置的结构图。
图37为表示本发明的第6实施方式中的第1发现包的发送处理顺序的流程图。
图38为表示本发明的第6实施方式中的路由器发现用包的发送处理顺序的流程图。
图39为表示本发明的第6实施方式中的发现包的应答接收顺序的流程图。
图40为表示本发明的第6实施方式中的路由器地址的掌握与路由器设定的说明图。
图41为表示本发明的第7实施方式中的网络构成的说明图。
图42为本发明的第7实施方式中的用户终端的结构图。
图43为本发明的第7实施方式中的P2P连接的消息发送处理顺序的说明图。
图44为表示本发明的第7实施方式中的取得家庭网络的构成信息的处理顺序的说明图。
图45为本发明的第7实施方式中的通过地址信息交换所发送的地址信息消息的说明图。
图46为本发明的第7实施方式中的通信线路设定(NAT的设定)顺序的说明图。
图47为本发明的第7实施方式中的用户终端所执行的通信线路设定的说明图。
图48为本发明的第7实施方式中的P2P通信线路的连接确认处理顺序的说明图(能够从两个用户终端连接的情况)。
图49为本发明的第7实施方式中的P2P通信线路的连接确认处理顺序的说明图(只能从用户终端1连接的情况)。
图50为本发明的第7实施方式中的P2P通信线路的连接确认处理顺序的说明图(只能从用户终端2连接的情况)。
图51为表示本发明的第7实施方式中的通信线路的判断处理顺序的流程图。
图52为表示本发明的第7实施方式中的经互联网P2P连接的情况下的网络构成例1的说明图。
图53为表示本发明的第7实施方式中的经互联网P2P连接的情况下的网络构成例2的说明图。
图54为表示本发明的第7实施方式中的在同一个路由器下P2P连接的情况下的网络构成例1的说明图。
图55为表示本发明的第7实施方式中的在同一个路由器下P2P连接的情况下的网络构成例2的说明图。
图56为表示本发明的第7实施方式中的在同一个路由器下P2P连接的情况下的网络构成例3的说明图。
图57为表示本发明的第7实施方式中的在同一个路由器下P2P连接的情况下的网络构成例4的说明图。
图58为表示本发明的第7实施方式中的在同一个路由器下P2P连接的情况下的网络构成例5的说明图。
图59为本发明的第7实施方式中的地址交换消息的扩展的说明图。
图60为本发明的第8实施方式的家庭网络的结构图。
图61为表示通信装置之构成的功能方框图。
图62为表示通信装置的动作的流程图之一例。
图63为用来说明路由器的检测方法的说明图。
图64为用来说明与路由器相连接的通信机器的检测方法的说明图。
图65为表示家庭网络的具体构成例的说明图。
图66为通过通信装置的显示部所显示的网络构成之一例。
图67为本发明的第9实施方式中的装置全体的结构图。
图68为表示通信装置之构成的功能方框图。
图69为表示通信装置的动作的流程图之一例。
图70为用来说明路由器的检测方法的说明图。
图71为表示家庭网络的具体构成例的说明图。
图72为通过通信装置的显示部所显示的网络构成之一例。
图73为本发明的第10实施方式的家庭网络的结构图。
图74为表示通信装置之构成的功能方框图。
图75为表示通信装置的动作的流程图之一例。
图76为包含有进行包过滤的路由器的网络结构图。
图77为包含有不处理TTL的路由器的网络结构图。
具体实施方式
<发明的概要>
本发明的通信装置,在家庭网络内,通信装置连接在多级路由器下的情况下,能够发现各个路由器。通信装置首先给各个路由器发送路由器发现用包。此时,路由器发现用包,包含有每当包被从路由器转发给路由器时就减少的变量。这样,当接收到路由器发现用包的路由器,在变量变为0后,向发送源的通信装置回发路由器应答包。通过这样,即使在家庭网络内路由器多级连接的情况下,通信装置也能够掌握路由器构成(路由器的地址与连接顺序)。并且,能够根据通信装置所得到的路由器的地址来访问路由器,取得路由器设定的请求地址信息。
另外,通过访问上述请求地址信息,还能够对家庭网络内的多级连接的各个路由器进行路由器设定的指示。因此,通信装置能够经过进行路由器设定的路由器,与家庭网络内的其他通信装置进行通信,或与连接于家庭网络的广域网络内的其他通信装置进行通信。
另外,掌握家庭网络内多级连接的路由器的其他方法是,首先通过从通信装置发送路由器发现用包,取得与通信装置直接相连接的路由器的家庭网络侧地址。之后,根据家庭网络侧地址访问路由器,取得该路由器的广域网侧地址。这里,家庭网络侧地址是用来从通信装置访问路由器的路由器地址。另外,广域网侧地址,是在通过路由器对广域网侧向通信装置的通信进行中继时,从广域网侧所看到的路由器的地址。这样,根据如前所取得的广域网侧地址,推测新的家庭网络侧地址。进而,根据所推测的家庭网络侧地址,访问路由器,取得该路由器的广域网侧地址,通过重复上述动作,能够掌握路由器结构。以下的实施方式中,作为一例,将与家庭网络相连接的广域网设为互联网,将家庭网络侧地址设为LAN(LocalArea Network)侧地址,将广域网侧地址设为WAN(Wide Area Network)侧地址进行说明。
(第1实施方式:使用traceroute的情况)
下面对照附图对本发明的第1实施方式进行说明。
(全体结构)
图1中示出了本发明的第1实施方式中的家庭网络之构成。图1中,互联网1与家庭网络2相连接。互联网1中设有路由器10D。家庭网络2由包含有路由器20C、路由器30B以及路由器40A的多级路由器构成。路由器20C设置在与互联网的边界处,进而顺次设置路由器30B与路由器40A。路由器40A中,与用户可操作的PC等所构成的通信装置50相连接。通信装置150具有通信I/F501。
路由器20C具有LAN侧通信I/F202与WAN侧通信I/F201,LAN侧通信I/F被分配本地地址,WAN侧通信I/F被分配全局地址。路由器30B具有LAN侧通信I/F302与WAN侧通信I/F301,路由器40A具有LAN侧通信I/F402与WAN侧通信I/F401。这里,通过由路由器20C使用全局地址与进行通信的互联网1内的路由器10D之间进行连接,来确立家庭网络2与互联网1之间的连接。
(通信装置的构成)
图2中示出了本发明的实施方式中,执行家庭网络的路由器设定的通信装置50之构成。
该通信装置50,具有:控制部51、发现用包生成部52、接收包解析部53、包发送接收部54、通信部55以及路由器设定部56。控制部51给各个功能部作出处理的指示。发现用包生成部52生成用来发现路由器的包(以下称作路由器发现用包)并作出发送指示。接收包解析部53,对路由器发现用包解析由路由器所发送的包,取得各个路由器的地址,掌握路由器结构。包发送接收部54对通信部55指示包的发送处理,解析由通信部55所接收到的包,并转交给对应接收包的功能部。通信部55内置有通信I/F功能,使得能够实现对网络的包发送接收。路由器设定部56,执行家庭网络的路由器的设定。另外,路由器设定部56,具有根据所取得的地址,访问该路由器,并取得对路由器的NAT设定等的请求目的地的处理请求目的地取得部56a。
路由器发现用包生成部52,例如生成如下的包。图3为使用UDP(UserDatagram Protocol)的情况下的路由器发现用包。发现用包生成部52,将图3中的TTL(Time To Live)过滤器从1起顺次变化,与此同时,将UDP头的目的地端口编号从10001起与TTL同样递增,同时生成包。通过生成这样的包,只要能够确认目的地端口编号,就能够确定发送时所指定的TTL。
图4中示出了路由器发现用包的TTL与目的地端口编号之一例。本图的目的地端口编号仅仅是一例,目的地端口编号并不仅限于该值。可以只根据目的地端口编号来确定TTL。另外,发现用包生成部52,具有存储如图4所示的对应表的存储部(未图示),根据该存储部来进行TTL的确定。
(路由器设定的动作)
下面对与如上所构成的家庭网络2相连接,执行路由器设定的通信装置50的动作进行说明。
(1)路由器发现用包的发送处理
首先,对路由器发现用包的发送处理进行说明。图5中示出了通信装置50所执行的路由器发现用包的发送处理顺序。路由器发现用包的发送处理如下来执行。
在有由控制部51作出的发现用包生成的指示的情况下,通信装置50开始该路由器发现用包的发送处理顺序。
步骤S101:通信装置50的发现用包生成部52,判断来自控制部51的包生成的指示是否持续。
发现用包生成部52,在判断为没有来自控制部51的包生成指示的情况下,结束该顺序。这里,在接下来要说明的来自路由器的包接收处理中满足特定的条件时,控制部51在包生成指示后进行停止指示。
步骤S102:发现用包生成部52,在判断为包生成指示持续的情况下,生成将TTL从1起顺次递增的路由器发现用包。
步骤S103:发现用包生成部52,生成路由器发现用包之后,指示包发送接收部54发送包。包发送接收部54,通过通信部55,发送路由器发现用包。
这里,发现用包生成部52可构成为,不等待来自路由器的对所发送的路由器发现用包的应答,发送不同的路由器发现用包。以往的对路由器发现用包的应答包中不含有用来识别TTL的信息。因此,为了掌握是来自哪一个路由器的路由器应答包,需要对路由器发现用包的路由器应答包是否返回,在检测到时间到(time out)之前等待应答。因此,掌握线路上的路由器的地址非常耗费时间。但是,通过上述构成,通信装置能够根据路由器应答包内的目的地端口编号等信息,来掌握是来自哪一个路由器的路由器应答包。从而,即使在接收到多个路由器应答包的情况下,也能够得知是来自哪个路由器的应答。因此,通信装置能够一个接一个地发送变更了TTL的路由器发现用包,高速取得家庭网络内的路由器的地址和路由器结构。另外,利用UPnP IGD规格的情况下的对各个路由器的路由器设定中,需要对应由通信装置在特定的应用程序起动的阶段进行路由器设定等动态设定。如前所述,通信装置通过高速取得家庭网络内的路由器的地址或路由器结构,能够对应对各个路由器的动态路由器设定。
另外,路由器发现用包,可构成为向互联网上的特定全局地址目的地发送。
以上,是通信装置50所执行的路由器发现用包的发送处理顺序。
(2)ICMP超时间(Time Exceeded)包的接收处理
接下来说明的是,对路由器发现用包,从路由器所发送的ICMP超时间(Time Exceeded)包的接收处理。
(2-1)ICMP超时间包的接收处理概要
图6中示出了路由器发现用包、与对应其而从路由器发送的ICMP超时间包的关系。各个路由器,在将从通信装置50侧(以下称作LAN侧)所接收到的路由器发现用包发送给家庭网络外侧方向(以下称作WAN侧)的网络时,将TTL的值减1发送。各个路由器通过进行该TTL的减法,在TTL变为0后将包废弃,不再向WAN侧发送,将ICMP超时间作为应答包发送给包的发送源即通信装置。
图7中示出了ICMP超时间包。ICMP超时间包中的数据中,添加有废弃的包的IP头及与其相接的64位的数据。因此,发为TTL=1的路由器发现用包,被向互联网上的地址发送后,在路由器40A中要向WAN侧发送时,为TTL=0。因此,该路由器发现用包被废弃之后,从路由器40A向通信装置50发送ICMP超时间包。该ICMP超时间包的发送源地址,是路由器40A的LAN侧地址。因此,通信装置50通过确认该ICMP超时间包的发送源地址,能够取得路由器40A的LAN侧地址。
同样,通信装置50发送设为TTL=2的路由器发现用包后,能够取得路由器30B的LAN侧地址。即,通信装置50通过发送TTL=3、TTL=4的路由器发现用包,能够分别取得路由器20C、路由器10D的LAN侧地址。
(2-2)ICMP超时间包接收处理的详细说明
图8中示出了ICMP超时间包的接收处理。
步骤S104:通信部55接收到对应路由器发现用包的ICMP超时间包之后,包发送接收处理部54将所接收到的ICMP超对间包发送给接收包解析部53。
接收包解析部53取出ICMP超时间包的数据部中所含有的发送源端口编号,根据该信息来确定路由器发现用包发送时所指定的TTL。同时,接收包解析部53通过参照所接收到的ICMP超时间包的发送源地址,取得发送ICMP超时间包的路由器的LAN侧地址。
例如,设发现用包生成部53生成如图3所示的根据UDP的路由器发现用包并发送。此时,由于在ICMP超时间包的数据部中所含有的发送目的地端口编号为10001时,根据图4可以得知,是对TTL=1的路由器发现用包的ICMP,因此能够识别出接收包解析部53取得了路由器40A的LAN侧地址。同样,如果发送目的地端口编号为10002,由于接收包解析部53能够判断是对TTL=2的路由器发现用包的ICMP,因此能够识别出取得了路由器30B的LAN侧地址。
步骤S105:接下来,通信装置50的控制部51,判断所取得的地址是否是本地地址。
步骤S106:通信装置50的控制部51,在判断所接收到的ICMP超时间包中含有的发送源地址是本地地址的情况下,向路由器设定部56指示路由器设定。接收到指示的路由器设定部56的处理请求目的地取得部56a,根据所取得的地址,访问该路由器,如后述的利用UPnP IGD规格的NAT设定所示,首先,取得对路由器的NAT设定等请求目的地。之后,路由器设定部56访问该路由器的上述请求目的地(动作请求的发送目的地URL),执行NAT设定与防火墙设定。
步骤S107:通信装置50的控制部51,在判断所接收到的ICMP超时间包中含有的发送源地址是全局地址的情况下,向发现用包生成部52指示发现用包生成的中止,结束处理。这样,在发送源地址是全局地址的情况下,结束家庭网络内的路由器的检测。通过这样,能够避免通信装置50向家庭网络外的路由器,无用地发送变更了TTL的包。另外,还能够只对家庭网络内的路由器进行NAT设定或防火墙设定。
如前所述,路由器设定部56进行NAT设定与防火墙设定等路由器设定的理由如下所述。
互联网上用全局地址执行通信,而家庭网络内通过本地地址执行通信。因此,家庭网络2内的通信装置50,无法直接与互联网1上的通信装置进行通信。解决这一问题的是NAT设定。NAT设定是地址变换的设定,例如,通过执行路由器20C、路由器30B、路由器40A的全体路由器的设定,能够从家庭网络2外部的互联网1上的通信装置,访问家庭网络2内的通信装置50。但是,有时候各个路由器中设定有防火墙,即使正确进行地址变换的设定,有时也因该防火墙导致包被中途废弃。
防火墙设定的典型例子是包过滤器的设定,与地址变换的设定一样,设定到达通信装置50为止的家庭网络的路由器,也即通过进行允许来自WAN侧的连接,能够防止包废弃。
通常,路由器具有Web页的用户界面,通过向路由器的LAN侧地址发送适当的http消息,能够进行NAT设定或包过滤器设定。另外,NAT设定还可以使用UPnP IGD规格来进行。
(利用UPnP IGD规格的NAT设定)
下面作为一例,对利用UPnP IGD规格进行NAT设定的情况下的处理进行说明。另外,关于UPnP IGD规格,在UPnP FORUM资料InternetGateway Device(IGD)V1.0(获取地址:http://www.upnp.org/standardizeddcps/igd.asp)及UPnP(TM)DeviceArchitecture(获取地址:http://www.upnp.org/download/UPnPDA10_20000613.htm)中有详细记载。
在对应设为TTL=1的路由器发现用包的发送,接收包解析部53取得路由器40A的LAN侧地址的情况下,该取得的LAN侧地址,被经控制部51发送给路由器设定部56。
之后,通信装置50的路由器设定部56的处理请求目的地取得部56a,对与通信装置50直接相连接的路由器40A的LAN侧地址,通过单播发送M-Search请求。对所发送的M-Search请求的应答包中,表示有表示设备的详细信息(设备描述)的取得处的URL。通信装置50的通信部55以及经包发送接收部54接收到应答包的处理请求目的地取得部56a,从该设备描述的取得处,取得包含有设备的种类、设备所提供的服务·功能的起动方法、设备的状态取得信息等的设备描述,根据其获得动作请求的发送目的地URL的信息。
路由器设定部56,通过向所取得的动作请求的发送目的地URL发送AddPortMapping动作,在路由器40A中进行NAT设定。作为该动作执行时所指定的参数,指定来自互联网上的通信装置的访问时所使用的通信装置50自身的端口编号(Px)、通信装置的IP地址、路由器40A的端口编号。
在进行对通信装置50自身的端口编号(Px)的NAT设定的情况下,典型的例子,为指定路由器40A的端口编号Px并执行NAT设定。
接下来,在接收包解析部53取得对应TTL=2的路由器30B的LAN侧地址时,路由器设定部56指定路由器40A的WAN侧地址、端口编号Px以及路由器30B的端口编号Px,执行AddPortMapping,通过这样能够进行对路由器30B的NAT设定。这里,路由器40A的WAN侧地址,能够通过对路由器40A发送GetExternalIPAddress动作夹取得。
同样,在接收包解析部53取得了对应TTL=3的路由器20C的LAN侧地址时,路由器设定部56指定路由器30B的WAN侧地址、端口编号Px以及路由器20C的端口编号Px,执行AddPortMapping,通过这样能够进行对路由器20C的NAT设定。
另外,在对应TTL=1的应答包之前,先接收到了对应TTL=2或3的路由器的应答包的情况下,尚未取得用来进行NAT设定的变换目的地地址。因此,路由器设定部56,在取得对应所接收到的TTL的路由器的LAN侧所连接的路由器的地址时,执行NAT设定。例如,设在对应TTL=1的路由器40A的应答包之前,先接收到了对应TTL=2的路由器30B的应答包。此时,在接收到来自对应TTL=1的路由器40A的应答包并取得了路由器40A的WAN侧地址之后,执行路由器30B的NAT设定。
(作用效果)
如上所述,本发明的通信装置中,从上述通信装置接收到以TTL为变量的路由器发现用包的路由器,从LAN侧也即通信装置侧,对WAN侧也即通信装置向家庭网络的外侧发送路由器发现用包。此时,路由器将所设定的中继路由器数减1后,发送给下一个相连接的路由器。路由器在中继路由器数变为“0”时,停止向WAN侧的路由器发现用包的发送,将路由器应答包发送给作为路由器发现用包的发送源的通信装置。通过这样,通信装置能够容易地掌握家庭网络内的路由器的结构。这样,通信装置访问所掌握的路由器,进行路由器设定,使其能够与经多级连接的路由器连接的其他通信装置进行通信。
另外,虽然该第1实施方式中,在取得了全局地址作为路由器的LAN侧地址时,结束路由器发现用包的发送,但也可给路由器发现用包的TTL设定上限值,在达到了上限值时,结束路由器发现用包的发送。
另外,虽然该第1实施方式中,以连接有3台路由器的家庭网络为例进行了说明,但这仅仅是一例,本发明对于1台路由器至N台路由器所构成的家庭网络同样能够适用。
另外,虽然该第1实施方式中,在路由器发现用包中变更TTL与目的地端口编号,但变更TTL与目的地IP地址或发送源端口编号,也能够同样进行处理。进而,路由器发现用包还能够通过如图9所示的ICMP回送请求来生成。在使用ICMP回送请求的情况下也一样,通过同样变更TTL,通信装置能够从各个路由器取得如前述图7所示的ICMP超时间包。在使用ICMP回送请求的情况下,通过将顺序编号或目的地IP地址或识别符与TTL一起进行变化,能够进行与使用UDP的路由器发现用包一样的控制。图10中示出了让路由器发现用包的TTL与顺序编号相对应的情况之一例。这里,顺序编号的值仅仅是一例,并不仅限于该值,可以只根据顺序编号来确定TTL。
另外,该第1实施方式中所说明的是,路由器设定部56的处理请求目的地取得部56a,通过单播来发送M-Search请求。之后,从其应答取得表示设备的详细信息(设备描述)的取得处的URL,根据本URL取得对路由器的中继信息的设定请求目的地的信息。但是,使用UPnP的例子是本发明的一实施方式,处理请求目的地取得部56a还可以通过其他方法,根据路由器LAN侧地址获知处理请求目的地的信息。例如,处理请求目的地取得部56a,可以将现有的信息(例如,well-know端口编号或well-know URL信息)与路由器的LAN侧地址组合起来,生成处理请求目的地的信息。
(第2实施方式:进行无线网络的设定的情况)
下面对照附图对本发明的第2实施方式进行说明。
(全体结构)
图11中示出了本发明的第2实施方式中的家庭网络之构成。图11中,互联网1001与家庭网络1002相连接。互联网1001中设有路由器110D。家庭网络1002由包含有路由器120C、路由器130B以及路由器140A的多级路由器构成。路由器120C设置在与互联网的边界处,进而顺次设置路由器130B与路由器140A。这里,路由器120C是具有无线AP(接入点)功能的无线路由器。另外,路由器130B与无线AP160相连接,路由器140A中,与用户可操作的PC等所构成的通信装置150相连接。通信装置150具有有线通信I/F1501与无线通信I/F1502,如后所述进行自装置的无线通信功能的设定以及无线AP160的设定。
路由器120C,具有LAN侧通信I/F1202与WAN侧通信I/F1201,LAN侧通信I/F被分配本地地址,WAN侧通信I/F被分配全局地址。路由器130B具有LAN侧通信I/F1302与WAN侧通信I/F1301,路由器140A具有LAN侧通信I/F1402与WAN侧通信I/F1401。这里,通过由路由器120C使用全局地址与进行通信的互联网1001内的路由器110D之间进行连接,来确立家庭网络1002与互联网1001之间的连接。另外,无线AP160具有通信I/F1601。
(通信装置的构成)
图12为表示通信装置150之构成的功能方框图。该通信装置150具有:控制部151、发现用包生成部152、接收包解析部153、包发送接收部154、通信部155、无线AP设定部156、无线通信设定部157、以及无线通信部158。控制部151,给各个功能部作出处理的指示。发现用包生成部152,生成用来发现路由器的包(以下称作路由器发现用包)并作出发送指示。另外,发现用包生成部152,生成用来发现与路由器相连接的通信机器的包(以下,称作机器发现用包)并作出发送指示。接收包解析部153,对路由器发现用包解析由路由器发送的包,取得各个路由器的地址,掌握路由器结构。包发送接收部154,对通信部155指示包的发送处理,解析由通信部155所接收到的包,并转交给对应接收包的功能部。通信部155,内置有通信I/F功能,能够实现对网络的包发送接收。无线AP设定部156,对无线AP160设定加密密钥、SSID等识别信息、无线频道以及认证信息等。无线通信设定部157,给自装置的无线通信部158设定加密密钥、SSID等识别信息、无线频道以及认证信息等。无线通信部158能够进行无线通信。
(无线网络设定的动作)
下面对与如上所构成的家庭网络1002相连接,执行无线网络设定的通信装置150的动作进行说明。
(1)处理的概要
首先,对发现各个路由器的路由器地址,使用所发现的路由器地址,发现无线AP160的过程的概要进行说明。
图13示出了发现路由器的路由器地址,使用该所发现的地址,发现无线AP160的过程。首先,通信装置150,发送将TTL从1起变化的路由器发现用包。通信装置150,接收对应TTL=1的ICMP超时间包作为路由器发现用包的应答。另外,通信装置能够从路由器130B接收ICMP超时间包,作为TTL=2的路由器发现用包的应答。通信装置150,能够根据所接收到的ICMP超时间包的发送源地址,得知路由器130B的LAN侧地址。通信装置150,根据所获得的路由器130B的LAN侧地址,检测出属于同一网络组内的无线AP160的机器地址。进而,通信装置150,执行该无线AP160的通信设定及/或取得无线AP160的设定信息并进行通信装置150自身的无线功能的设定。
(2)路由器发现用包的发送处理顺序
首先,对路由器发现用包的发送处理顺序进行说明。图14是由发现用包生成部152所执行的,变化了TTL的路由器发现用包的发送处理顺序。
在有由控制部151作出的发现用包生成的指示的情况下,通信装置150,开始该路由器发现用包的发送处理顺序。
步骤S201:通信装置150的发现用包生成部152,判断来自控制部151的包生成的指示是否持续。
发现用包生成部152,在判断为没有包生成指示的情况下,结束该顺序。这里,在接下来要说明的来自路由器的包接收处理中满足特定的条件时,控制部151在包生成指示后作出停止指示。
步骤S202:发现用包生成部152,在判断为包生成指示持续的情况下,生成将TTL从1起顺次递增的路由器发现用包。
步骤S203:发现用包生成部152,生成路由器发现用包后,指示包发送接收部154发送包。包发送接收部154,通过通信部155,发送路由器发现用包。
另外,该路由器发现用包的发送处理顺序,与第1实施方式的图5中所示的顺序相同。
(3)无线AP发现用包的发送处理
图15为发现用包生成部152所执行的,使用对应于所发送的路由器发现用包所得到的路由器的IP地址,来发送用来检测出无线AP的无线AP发现用包的顺序。以下对该动作进行说明。
步骤S204:首先,通信装置150的发现用包生成部152,判断控制部151是否指示了无线AP发现用包的生成。
发现用包生成部152,在判断为无线AP发现用包的生成指示没有持续的情况下,中止无线AP发现用包的生成,结束处理。
步骤S205:在判断为控制部151指示了无线AP发现用包的生成的情况下,通信装置150的发现用包生成部152,根据控制部151所指示的路由器的IP地址,推测无线AP的地址,生成无线AP发现用包。
另外,关于控制部151作出表示中止无线AP发现用包的生成的指示的时序,将在后述的路由器以及无线AP发现用包的接收处理顺序中说明。
步骤S206:接下来,发现用包生成部152推测无线AP160的地址,无线AP发现用包的生成完成后,包发送接收部154以及有线通信部155,将无线AP发现用包发送到家庭网络1002内。
上述步骤S205中的,由发现用包生成部152实施的无线AP发现用包的发送目的地地址的推测,例如通过以下方法来进行,首先判断地址的种类(种类A、种类B、种类C),之后着眼于有可能在同一个网络中变化的地址内的位,顺次变化该值。图16为无线AP发现用包的目的地地址,通信装置通过作出对该地址的包的生成指示,能够发现种类C的地址的路由器属下所连接的无线AP。
这里,考虑到在判明了LAN侧地址的路由器中安装有无线AP功能的情况,通信装置,首先向该路由器的地址发送无线AP发现用包。
由于无线AP通常安装有Web页的用户界面,因此通过向无线AP160的IP地址,发送适当的http消息作为无线AP发现用包的内容,并接收其应答包,就能够检测出无线AP160的存在。
另外,还可以使用UPnP WLAN Access Point Device V 1.0(详细文档获得地址:http://upnp.org/standardizeddcps/wlanap.asp)的规格,检测出无线AP160。
具体来说,对所推测的无线AP160的地址,通过单播发送M-Search请求,发现WLAN Access Point Device(虽然UPnP中,通过多播发送M-Search请求是正式规格,但大部分机器也接收单播的M-Search)。
以上,是发现用包生成部152所执行的、发送无线AP发现用包的顺序。这里,发现用包生成部152,可以不等待来自无线AP的对无线AP发现用包的应答,就发送下一个无线AP发现用包,还能够通过同时发送多个发现用包,高速检测出无线AP。
另外,发送AP发现用包的顺序中,通信装置还可以使用多个路由器的IP地址(例如路由器140A、路由器130B、路由器120C),并列生成无线AP发现用包,同时检测出多级路由器属下的无线AP。
(4)对各个包的应答包的接收处理
接下来说明的是,对路由器发现用包以及无线AP发现用包的应答的接收处理。
图17中示出了对路由器发现用包与无线AP发现用包的应答的接收处理顺序。下面对照图17,对该接收处理顺序进行说明。
步骤S207:首先,有线通信部155,从家庭网络1002接收到对应路由器发现用包或无线AP发现用包的应答包后,将所接收到的应答包转交给包发送接收部154。包发送接收部154,判断应答包的内容,如果判断为是路由器发现用包或无线AP发现用包的应答包,便将应答包的包信息转交给接收包解析部153。
接收包解析部153接收到应答包的包信息之后,判断该应答包是对路由器发现用包的应答,还是对无线AP发现用包的应答。
接下来,通信装置150根据应答包是对路由器发现用包的应答,还是对无线AP发现用包的应答,来进行处理。
(4-1)对路由器发现用包的应答包的接收处理
首先,说明对路由器发现用包的应答包的接收处理。通信装置150,在判断为接收包是对路由器发现用包的应答包的情况下,执行与第1实施方式中所说明的图8的S104~S107相同的处理(S208、S209、S211)。另外,通信装置150检测出路由器的LAN侧地址后,便通过控制部151向发现用包生成部152请求无线AP发现用包的生成处理(S210)。具体如下所述。
步骤S208:接收包解析部153取出ICMP超时间包的数据部中所含有的发送源端口编号,根据该信息来确定路由器发现用包发送时所指定的TTL。接收包解析部53通过从ICMP超时间包取得发送源地址,来取得路由器的LAN侧地址。
步骤S209:接下来,通信装置150的控制部151,判断所取得的路由器的LAN侧地址是否是本地地址。
步骤S210:通信装置150的控制部151,在判断为所取得的路由器的LAN侧地址是本地地址的情况下,指示发现用包生成部152生成无线AP发现用包。此时,控制部151将路由器的LAN侧的IP地址发送给发现用包生成部152。
步骤S211:通信装置150的控制部151,在判断为所取得的路由器的LAN侧地址是全局地址的情况下,向发现用包生成部152指示路由器发现用包生成的中止,结束处理。在LAN侧地址是全局地址的情况下,结束家庭网络内的路由器的检测。因此,通过对应于所取得的LAN侧地址是否是全局地址来进行控制,能够只检测出家庭网络内的路由器的地址。
(4-2)对无线AP发现用包的应答包的接收处理
接下来,对所接收到的应答包是无线AP发现用包的应答的情况下的处理进行说明。
步骤S212:首先,通信装置150的接收包解析部153,解析对无线AP发现用包的应答包的内容。这里,接收包解析部153,从对无线AP发现用包的应答包中取得无线AP160的机器地址以及用来确立无线通信的各种信息。接收包解析部153,经控制部151将无线AP160的机器地址以及各种信息,输出给无线AP设定部156以及无线通信设定部157。然后,无线AP设定部156使用从应答包所得到的信息,执行无线AP160的设定。也即,无线AP设定部156,根据机器地址访问无线AP160,对无线AP160设定无线通信时的加密密钥、通信频道、SSID(Service Set ID)、MAC过滤(添加对自身的无线通信部158的MAC的许可)等无线通信用信息,设为能够通过无线AP进行无线通信的状态。
步骤S213:接下来,无线通信设定部157,根据需要从无线AP160得到无线通信用信息,对自己的无线通信部158,执行无线通信时的加密密钥、通信频道、SSID等无线通信用的设定。
步骤S214:设定结束之后,控制部151向发现用包生成部152指示无线AP发现用包的生成中止与路由器发现用包的生成中止。
这里,虽然是设定无线AP的方法以及从无线AP取得信息的方法,但无线AP通常也具有有线通信功能,另外,安装有Web页的用户界面,因此还能够通过向无线AP的有线通信部所具有的IP地址发送适当的http消息,设定无线AP的无线通信用信息,或取得预先设定的信息。
另外,还可以使用UPnP WLAN Access Point Device V1.0(详细的文档获得地址:http://upnp.org/standardizeddcps/wlanap.asp)的规格,设定无线AP160。具体来说,通过单播发送M-Search请求,作为无线AP发现用包。之后,从应答包发现WLAN Access Point Device,取得设备描述、服务描述。通过所取得的信息,识别动作请求的发送目的地,向无线AP发送动作请求。通过这样,能够设定无线AP的无线通信用信息,或取得预先设定的信息。
(作用效果)
如上所述,通信装置通过发送以TTL为变量的路由器发现用包,能够取得家庭网络内的路由器的路由器地址。进而,通信装置通过根据该路由器地址,发送机器发现用包,能够取得与路由器相连接的通信机器的地址。因此,通信装置即使在多级路由器所构成的家庭网络内,也能够进行用来访问该通信机器并确立通信机器的通信的各种设定。
另外,虽然该第2实施方式中,发现了无线AP之后,进行无线AP160的设定与无线通信部158的设定,但也可以只进行由无线通信部158读出预先设定在无线AP160中的关于无线的信息(加密密钥、频道信息、SSID等,并根据所读出的信息,进行无线通信部158的设定的处理。另外,无线AP设定部156也可以只进行无线AP的设定。
另外,虽然该第2实施方式中,关于家庭网络内最初所发现的无线AP,以设定完成便结束全体的处理为例进行了说明,但也可以将家庭网络内所连接的无线AP160全部找到,之后由用户选择进行设定的无线AP,对无线AP160执行设定。或者,还可以从所选择的无线AP取得设定信息,执行无线通信部158的设定。或者还可以执行以上双方。
另外,虽然第2实施方式中,关于家庭网络内最初所发现的无线AP,以设定完成便结束全体的处理为例进行了说明,但也可以在完成了最初的无线AP的设定之后不结束处理,向能考虑到的所有无线AP的地址发送无线AP发现用包,进行家庭网络内的所有无线AP的设定。
(第3实施方式:使用UPnP的情况)
下面对本发明的第3实施方式进行说明。上述第1实施方式中,示出了变化路由器发现用包的TTL,来取得路由器的LAN侧地址,根据该地址对路由器进行NAT设定与防火墙设定的实施方式。而本第3实施方式中,首先使用UPnP(Universal Plug and Play)IGD(Internet Gateway Device)规格等,取得路由器的LAN侧地址。之后,根据该路由器的LAN侧地址,取得WAN侧地址,根据所取得的WAN侧地址,取得更上层的路由器的地址。第3实施例中,一边进行以上操作一边进行路由器设定。这里,关于UPnP IGD规格,在UPnP FORUM的公知文献Universal Plug and PlayDevice Architecture Version 1.0.1(文档所在位置:http://www.upnp.org/resources/doucuments.asp)以及Internet Gateway Device(IGD)V1.0(文档所在位置:http://www.upnp.org/standardizeddcps/igd.asp)中有详细记载。
图18为本发明的第3实施方式中的家庭网络的结构图。互联网2001与家庭网络2002相连接。互联网2001中设有路由器210D。家庭网络2002由包含有路由器220C、路由器230B以及路由器240A的多级路由器构成。路由器220C设置在与互联网2001的边界处,进而顺次设置路由器230B与路由器240A。路由器240A上,连接有用户可操作的PC等所构成的通信装置250。通信装置250,具有通信I/F2501。
路由器220C,具有LAN侧通信I/F2202与WAN侧通信I/F2201,LAN侧通信I/F被分配本地地址,WAN侧通信I/F被分配全局地址。路由器230B具有LAN侧通信I/F2302与WAN侧通信I/F2301,路由器240A具有LAN侧通信I/F2402与WAN侧通信I/F2401。这里,通过由路由器220C使用全局地址与进行通信的互联网2001内的路由器210D之间进行连接,来确立家庭网络2002与互联网2001之间的连接。
(通信装置的构成)
图19为第3实施方式的通信装置250的结构图。该通信装置250具有:控制部251、发现用包生成部252、接收包解析部253、包发送接收部254、通信部255、路由器设定部256、以及WAN侧地址取得部259。控制部251给各个功能部作出处理的指示。发现用包生成部252生成用来发现路由器的包(以下称作路由器发现用包)并作出发送指示。接收包解析部253,对路由器发现用包解析从路由器发送的包,取得各个路由器的地址,掌握路由器结构。包发送接收部254,对通信部255指示包的发送处理,解析由通信部255所接收到的包,并转交给对应接收包的功能部。通信部255内置有通信I/F功能,能够实现对网络的包发送接收。路由器设定部256,执行家庭网络的路由器的设定。另外,路由器设定部256具有根据所取得的地址,访问该路由器,取得对路由器的NAT设定等的请求目的地的处理请求目的地取得部256a。WAN侧地址取得部259,使用UPnPIGD规格,取得路由器的WAN侧地址。
(路由器设定动作)
以下对与如上所构成的家庭网络2002相连接,执行路由器设定的通信装置250的动作进行说明。
(1)对路由器发现用包的应答包的接收处理
图20为接收对路由器发现用包的路由器的应答包的处理顺序。下面,使用图20,说明对路由器发现用包的应答包的接收处理顺序。
步骤S301:首先,通信装置250的控制部251,指示发现用包生成部252检测出通信装置250连接的网络内的路由器。接收到指示的发现用包生成部252,多播发送UPnP的发现消息M-Search。
步骤S302:接下来,通信装置250的控制部251,判断是否接收到了来自路由器的对通信部255以及包发送接收部254所发送的路由器发现用包的应答包,进行待机直到接收到应答包。
步骤S303:一旦通信装置250的接收包解析部253接收到来自路由器的应答包,便解析接收包,取得该路由器的LAN侧地址。在使用UPnP的情况下,路由器设定部256的处理请求目的地取得部256a,利用应答包中含有的信息,取得设备描述、服务描述,还一并取得用于动作发送的信息。用于动作发送的信息,例如是动作的发送目的地等。
步骤S304:接下来,通信装置250的控制部251,在本次所接收到的应答包,是对发现用包生成部252所生成并发送的路由器发现用包的应答包的情况下,指示发现用包生成部252中止路由器发现用包。
步骤S305:之后,通信装置250的路由器设定部256,根据从应答包所取得的路由器的LAN侧地址或处理请求目的地取得部256a所取得的信息,访问该路由器,与第1实施方式一样,执行NAT的设定或防火墙的设定,或其双方。
步骤S306:通信装置205的控制部251,将接收包解析部253所取得的LAN侧地址发送给WAN侧地址取得部259,指示取得所检测出的路由器的WAN侧地址。WAN侧地址取得部259,取得路由器的WAN侧地址。
作为取得路由器的WAN侧地址的方法之一例,对使用UPnP IGD规格的情况进行说明。在使用UPnP IGD规格的情况下,对步骤S303中所取得的动作的发送目的地,发送GetExternalIPAddress动作。通过来自路由器的对其的应答,能够得到路由器的WAN侧地址。
另外,通常的路由器中安装有Web页的用户界面,还能够使用该用户界面来确认路由器的WAN侧地址。另外,还能够将适当的http消息发送给路由器,并接收其应答包,通过这样来取得路由器的WAN侧地址。
步骤S307:接下来,通信装置250的控制部251,确认所取得的路由器的WAN侧地址是否是本地地址。通信装置250的控制部251,在判断所取得的路由器的WAN侧地址是全局地址的情况下,确定该路由器的上层路由器是互联网上的路由器,结束处理。也即,推测为对家庭网络2002内的所有路由器完成了路由器设定后,结束处理。
步骤S308:通信装置250的控制部251,在判断为路由器的WAN侧地址是本地地址的情况下,识别出所发现的路由器的上层还有属于家庭网络的路由器。然后,控制部251将所发现的路由器的WAN侧地址转交给发现用包生成部252,指示生成路由器发现用包。之后,通信装置250的控制部251,再次等待对发送路由器发现用包的应答包的接收。
这里,虽然作为一例,通过UPnP的发现消息M-Search的多播以及单播发送,检测出路由器,但也可以与第2实施方式一样,通过发送适当的http消息并接收其应答,来确认是路由器。另外,通信装置250连接的路由器的地址,通常与通信装置250的默认GW地址相一致,路由器连接的上层路由器的地址,通常与路由器的WAN侧I/F的默认GW(Gateway)地址相一致。因此,还可以给所检测出的路由器发送适当的http消息,取得路由器的WAN侧I/F的默认GW地址,将所取得的默认GW地址作为上层路由器的地址(省略步骤S301~S304的步骤),从S305起执行处理。
以上是路由器发现用包的应答接收处理顺序。
(2)路由器发现用包的发送处理
接下来,使用图21,对发现用包生成部252所执行的路由器发现用包的发送处理进行说明。
步骤S310:首先,通信装置250,判断是否由控制部251持续作出路由器发现用包的生成指示。通信装置250,通过执行该判断处理,能够在路由器发现用包的生成与对路由器发现用包的应答接收处理独立进行动作的状况下,检测出路由器,在不需要发送路由器发现用包时,停止该处理。
在作出路由器发现用包的生成指示的情况下,通信装置250的控制部251,将成为路由器的LAN侧地址的生成依据的地址,即路由器的WAN侧地址,发送给发现用包生成部252。发现用包生成部252,从控制部251取得路由器的WAN侧地址。
步骤S311:接下来,通信装置250的发现用包生成部252,根据从控制部251所接收到的WAN侧地址,推测上层路由器的LAN侧地址,根据所推测的LAN侧地址,生成路由器发现用包。
步骤S312:之后,通信装置250的路由器发现用包生成部252,将所生成的路由器发现用包通过包发送接收部254以及通信部255,发送到家庭网络内。
在使用UPnP的路由器发现用包发送处理的情况下,构成为能够对所推测的地址,通过单播发送M-Search请求(虽然UPnP FORUM的规格中M-Search只有多播,但几乎所有的路由器也能够接收单播的M-Search)。
另外,通常的路由器中,安装有Web页的用户界面,因此与第2实施方式一样,通过将适当的http消息发送给所推测的地址,并接收其应答包,能够检测出路由器。
图22中示出了发现用包生成部252所推测的上层路由器的地址。路由器的LAN侧地址,若在出厂时的状态下进行使用,使用种类C的本地地址,并且其低8位是1或254。因此,发现用包生成部252,在推测上层路由器的地址的情况下,优先处理将从控制部251所得到的路由器的WAN侧地址的低8位替换成1或254所得到的地址。然后,发现用包生成部252,生成对该替换过的地址的路由器发现用包并发送。通过进行该处理,通信装置250,相比无作为地推测地址,能够更加高速地检测出上层路由器。另外,在用户变更了路由器的LAN侧地址的情况下,通常也多是设为64、128等特定的值的情况,因此,对将地址的低8位设定为用户设定的频度较高的特定地址得到的地址,也优先发送路由器发现用包。
另外,路由器发现用包生成部252,可以与发现用包的接收处理独立动作,不等待所发送的路由器发现用包的应答结果的判断,就发送下一个路由器发现用包。通过执行这样的发送处理,能够高速发现上层路由器。
(作用效果)
该第3实施方式中,通过上述构成,通过根据路由器的WAN侧地址,由该路由器取得互联网侧的路由器的LAN侧地址,来掌握路由器结构。因此,不进行变更TTL的路由器发现用包的生成、或所生成的包往家庭网络内的发送,就能够取得路由器的构成。
另外,由于不进行转发变更了TTL的路由器发现用包的处理,因此即使在家庭网络内,包含有在转发路由器发现用包时不进行减少TTL的处理的路由器的情况下,也能够掌握家庭网络内的路由器的构成。另外,由于没有接收对路由器发现用包的路由器应答包的处理,因此即使在包含有对路由器应答包进行过滤的路由器的情况下,也能够掌握家庭网络内的路由器的结构。
另外,本实施方式中,以在接收对路由器发现用包的应答的情况下,作出路由器发现用包的生成中止的指示为例进行了说明,但路由器发现用包的生成中止,也可以在给所能够考虑到的所有路由器地址发送路由器发现用包时进行。通过这样,即使在某个路由器与多级路由器相连接等情况下(多引导(multi homing)等),也能够正确进行NAT设定、FW(防火墙)设定。
(第4实施方式:使用UPnP的无线设定的情况)
对照附图对本发明的第4实施方式进行说明。上述第2实施方式中,变更路由器发现用包的TTL,来取得路由器的LAN侧地址,根据该地址检测出无线AP,通信装置350进行自身的无线通信功能的设定以及无线AP的设定。而本第4实施方式中,通过与第3实施方式相同的方法取得家庭网络的各个路由器的WAN侧地址,根据该地址发现无线AP,通信装置350进行自身的无线通信功能的设定以及无线AP的设定。
(全体结构)
图23为本发明的实施方式中的家庭网络的结构图。图23中,互联网3001与家庭网络3002相连接。互联网3001中设有路由器310D。家庭网络3002,由包含有路由器320C、路由器330B以及路由器340A的多级路由器构成。路由器320C设置在与互联网的边界处,进而顺次设置路由器330B与路由器340A。这里,路由器320C是具有无线AP(接入点)功能的无线路由器。另外,路由器330B与无线AP360相连接,路由器340A,与用户可操作的PC等所构成的通信装置350相连接。通信装置350具有有线通信I/F3501与无线通信I/F3502,如后所述进行自装置的无线通信功能的设定以及无线AP360的设定。
路由器320C,具有LAN侧通信I/F3202与WAN侧通信I/F3201,LAN侧通信I/F被分配本地地址,WAN侧通信I/F被分配全局地址。路由器330B具有LAN侧通信I/F3302与WAN侧通信I/F3301,路由器340A具有LAN侧通信I/F3402与WAN侧通信I/F3401。这里,通过由路由器320C使用全局地址与进行通信的互联网3001内的路由器310D之间进行连接,来确立家庭网络3002与互联网3001之间的连接。另外,无线AP360具有通信I/F3601。
(通信装置的构成)
图24为第4实施方式的通信装置350的结构图。该通信装置350具有:控制部351、发现用包生成部352、接收包解析部353、包发送接收部354、通信部355、无线AP设定部356、无线通信设定部357、无线通信部358、以及WAN侧地址取得部359。
控制部351,对各个功能部下达处理的指示。发现用包生成部352生成用来发现路由器的包(以下称作路由器发现用包)并作出发送指示。另外,发现用包生成部352,生成用来发现与路由器相连接的通信机器的包(以下称作机器发现用包)并作出发送指示。接收包解析部353,对路由器发现用包解析从路由器发送的包,取得各个路由器的地址,掌握路由器结构。包发送接收部354,对通信部355指示包的发送处理,解析由通信部355所接收到的包,并转交给对应接收包的功能部。通信部355内置有通信I/F功能,能够实现对网络的包发送接收。无线AP设定部356,对无线AP360设定加密密钥、SSID等识别信息、无线频道以及认证信息等。无线通信设定部357,给自装置的无线通信部358设定加密密钥、SSID等识别信息、无线频道以及认证信息等。无线通信部358能够进行无线通信。WAN侧地址取得部359,使用UPnP IGD规格,取得路由器的WAN侧地址。
(路由器设定以及无线网络设定的动作)
对如上所构成的通信装置350的动作进行说明。图25为对路由器/无线AP发现用包的应答接收时的处理顺序。图中,关于S401~S408的路由器检测与对路由器的NAT以及防火墙的设定的处理,与第3实施方式相同。
(1)应答包的接收处理
步骤S401:首先,通信装置350的控制部351,指示发现用包生成部352检测出通信装置350连接的路由器以及无线AP。接收到指示的发现用包生成部352,多播发送用来检测出路由器(IGD:Internet Gateway Device)与无线AP(WLAN Access Point Device)的UPnP的发现消息M-Search。
这里,示出了通信装置350通过多播发送UPnP的发现消息M-Search来检测出路由器的例子。但是,也可以与第3实施方式等一样,首先由通信装置350推测路由器以及无线AP的地址。之后,通信装置350通过单播发送适当的http消息。通信装置350接收对该http消息的应答包,检测出路由器与无线AP。
步骤S402:通信装置350的控制部351,判断是否通过通信部355及包发送接收部354接收到了对发现用包生成部352所生成的路由器/无线AP发现用包的应答包。这里,在接收到了应答包的情况下,控制部351判断其是对路由器发现用包的应答包还是对无线AP发现用包的应答包。
接下来,通信装置350,根据应答包是对路由器发现用包的应答还是对无线AP发现用包的应答,进行处理。
(1-1)对路由器发现用包的应答包的接收处理。
首先,说明对路由器发现用包的接收包的接收处理。通信装置350,在接收到来自路由器的对路由器发现用包的应答包的情况下,执行以下所示的与第3实施方式相同的处理(S403~S408)。
步骤S403:通信装置350的接收包解析部353解析接收包,取得路由器的地址信息。在使用UPnP的情况下,利用应答包中记载的信息,取得设备描述、服务描述,还一并取得用于动作发送的信息。用于动作发送的信息,例如是动作的发送目的地地址等。
步骤S404:接下来,通信装置350的控制部351,在判断为本次所接收到的包是对发现用包生成部352所生成并发送的路由器发现用包的应答包的情况下,指示发现用包生成部352停止路由器发现用包的生成。
步骤S405:之后,通信装置350的无线AP设定部356,根据所取得的路由器的LAN侧地址,访问该路由器,与第1实施方式一样,执行NAT设定或防火墙的设定,或其双方。
步骤S406:通信装置350的控制部351,指示WAN侧地址取得部359取得所检测出的路由器的WAN侧地址。WAN侧地址取得部359,执行路由器的WAN侧地址的取得处理。
作为取得路由器的WAN侧地址的方法之一例,对使用UPnP IGD规格的情况进行说明。在使用UPnP IGD规格的情况下,对步骤S403中所取得的动作的发送目的地,发送GetExternalIPAddress动作。通过来自路由器的对其的应答,能够得到路由器的WAN侧地址。
另外,通常的路由器中安装有Web页的用户界面,还能够使用该用户界面来确认路由器的WAN侧地址。因此,还能够将适当的http消息发送给路由器,并接收其应答信息,通过这样来取得路由器的WAN侧地址。
步骤S407:接下来,通信装置350的控制部351,确认所取得的路由器的WAN侧地址是本地地址还是全局地址。通信装置350的控制部351,在判断为所取得的路由器的WAN侧地址是全局地址的情况下,推定该路由器的上层路由器是互联网上的路由器,结束该处理。也即,推测为对家庭网络3002内的所有路由器完成路由器设定后,结束处理。
步骤S408:通信装置350的控制部351,在判断为所取得的路由器的WAN侧地址是本地地址的情况下,识别出所检测的路由器的上层还有属于家庭网络的路由器。这样,控制部351,将所检测出的路由器的WAN侧地址转交给发现用包生成部352,指示生成路由器发现用包与无线AP发现用包。之后,通信装置350的控制部351,再次等待对路由器发现用包或无线AP发现用包的应答包的接收。
(1-2)对无线AP发现用包的应答包的接收处理
接下来,对接收来自无线AP的应答包的情况下的处理进行说明。通信装置350,接收到来自无线AP的应答包后,执行相当于第2实施方式的S212~S214的处理(S409~S411)。
步骤S409:首先,通信装置350的接收包解析部353,对所接收到的应答包的内容进行解析。这里,接收包解析部353,从对无线AP发现用包的应答包中取得无线AP360的机器地址以及用来确立无线通信的各种信息。接收包解析部353,经控制部351将无线AP360的机器地址以及各种信息,输出给无线AP设定部356以及无线通信设定部357。然后,无线AP设定部356,使用从应答包所得到的信息,执行无线AP360的设定。也即,无线AP设定部356,根据机器地址访问无线AP360,对无线AP360设定无线通信时的加密密钥、通信频道、SSID、MAC过滤(添加对自身的无线通信部358的MAC的许可)等无线通信用信息,设为能够通过无线AP进行无线通信的状态。
步骤S410:接下来,通信装置350的无线通信设定部357,根据需要从无线AP360得到无线通信用的信息。然后,无线通信设定部357,对通信装置350自己的无线通信部358,执行无线通信时的加密密钥、通信频道、SSID等无线通信用的设定。
步骤S411:设定结束之后,通信装置350的控制部351向发现用包生成部352指示无线AP发现用包的生成中止及路由器发现用包的生成中止。
这里,虽然是设定无线AP的方法以及从无线AP取得信息的方法,但通常的无线AP还具有有线通信功能,另外,安装有Web页的用户界面,因此还能够通过向无线AP的有线通信部所具有的IP地址发送适当的http消息,来设定无线AP的无线通信用信息,或取得预先设定的信息。
另外,还可以使用UPnP WLAN Access Point Device V 1.0(详细的文档获得地址:http://upnp.org/standardizeddcps/wlanap.asp)的规格,设定无线AP360。具体的说,从通信装置350通过单播发送M-Search请求作为无线AP发现用包,检测出WLAN Access Point Device,取得设备描述、服务描述。通信装置350,能够通过所取得的信息,识别动作请求的发送目的地,向无线AP发送动作请求,通过这样,能够设定无线AP的无线通信用信息,或取得预先设定的信息。
(2)路由器发现用包与无线AP发现用包的发送处理
接下来,对路由器发现用包与无线AP发现用包的发送处理进行说明。
(2-1)路由器发现用包的发送处理
首先,对发现用包生成部352所执行的路由器发现用包与无线AP发现用包的发送处理进行说明。图26为路由器发现用包的发送处理之一例。图26所示的路由器发现用包的发送处理,与第3实施方式相同,其处理顺序与图21的S310~S312的处理相同。
步骤S420:首先,通信装置350判断是否由控制部351持续作出路由器发现用包的生成指示。通信装置350通过执行该判断处理,能够在路由器发现用包的生成与对路由器发现用包的应答接收处理独立进行动作的状况下,检测出路由器,在不需要发送路由器发现用包时,停止该处理。
在作出路由器发现用包的生成指示的情况下,通信装置350的控制部351,将路由器发现用包的发送目的地地址,作为成为路由器的LAN侧地址的生成依据的地址,也即路由器的WAN侧地址,发送给发现用包生成部352。发现用包生成部352从控制部351取得路由器的WAN侧地址。
步骤S421:接下来,通信装置350的发现用包生成部352,根据从控制部351所接收到的地址,推测上层路由器的LAN侧地址,根据该LAN侧地址,生成路由器发现用包。
步骤S422:之后,路由器发现用包生成部352,将所生成的路由器发现用包通过包发送接收部354以及通信部355进行发送。
(2-2)无线AP发现用包的发送处理
接下来,对发现用包生成部352所执行的无线AP发现用包的发送处理进行说明。图27为无线AP发现用包的发送处理之一例。无线AP发现用包的发送处理,与第2实施方式相同,其处理顺序与图15的S204~S206的处理相同。
步骤S434:首先,通信装置350判断控制部351是否指示了无线AP发现用包的生成。
通信装置350,在判断为无线AP发现用包的生成指示没有持续作出的情况下,中止无线AP发现用包的生成,结束处理。
步骤S435:在判断为控制部351指示了无线AP发现用包的生成的情况下,通信装置350的发现用包生成部352,根据控制部351所指示的路由器的IP地址,推测无线AP的地址,生成无线AP发现用包。
另外,关于控制部351作出表示中止无线AP发现用包的生成的指示的时序,在上述的路由器以及无线AP发现用包的接收处理顺序中已经说明。
步骤S436:接下来,发现用包生成部352推测无线AP360的地址,一旦无线AP发现用包的生成完成,包发送接收部354以及有线通信部355,便将无线AP发现用包发送给家庭网络3002。
上述步骤S435中的、由发现用包生成部352实施的无线AP发现用包的发送目的地地址的推测方法,例如可以使用在首先判断了地址的种类(种类A、种类B、种类C)之后,着眼于有可能在同一个网络上进行变化的地址内的位,并顺次变化该值的方法。
(作用效果)
该第4实施方式的通信装置,取得了路由器的LAN侧地址之后,进行路由器的WAN侧地址的取得。然后,通信装置根据所取得的WAN侧地址,取得无线AP的地址及更上层的路由器的地址。再有,通信装置根据所取得的无线AP的地址以及路由器的地址,进行关于无线的网络设定以及包括路由器设定的网络设定。因此,不需要进行变更了TTL的路由器发现用包的生成或所生成的包的往家庭网络内的发送,就能够取得路由器的构成。
另外,由于不进行转发变更了TTL的路由器发现用包的处理,因此即使在家庭网络内,包含有在转发路由器发现用包时不进行减少TTL的处理的路由器的情况下,也能够掌握家庭网络内的路由器的构成。再有,由于没有接收对路由器发现用包的路由器应答包的处理,因此即使在包含有对路由器应答包进行过滤的路由器的情况下,也能够掌握家庭网络内的路由器的结构。
另外,该第4实施方式中,关于家庭网络内最初所检测出的无线AP360,以设定完成后结束全体的处理为例进行了说明,但也可以将家庭网络内所连接的无线AP全部检测出来,之后由用户选择进行设定的无线AP,执行对无线AP360的设定。另外,还可以从所选择的无线AP360取得信息,根据所取得的信息执行通信装置350的无线通信部358的设定。再有,还可以执行对无线AP360的设定与通信装置350的无线通信部358的设定双方。
另外,该第4实施方式中,公开了检测到无线AP360之后,进行无线AP360的设定与通信装置350的无线通信部358的设定。但是,可以首先由无线通信设定部357读出预先设定在无线AP360中的关于无线的信息(加密密钥、频道信息、SSID等)。之后,根据无线通信设定部357所读出的信息,只进行设定无线通信部358的处理。另外,无线AP设定部356也可以只进行无线AP的设定。
另外,该第4实施方式中,以家庭网络内每次检测出无线AP360时,进行对各个无线AP的无线设定为例进行了说明。但是,也可以将家庭网络所连接的无线AP全部检测出来,之后由用户选择进行设定的无线AP,执行对所选择的无线AP360的设定。或者,还可以从所选择的无线AP取得信息,执行通信装置350的无线通信部358的设定。或者还可以执行对无线AP360的设定与通信装置350的无线通信部358的设定双方。
另外,第4实施方式中,以对家庭网络内最初所发现的无线AP完成设定后,结束无线AP的发现处理为例进行了说明,但也可以在完成最初的无线AP的设定之后也不结束处理,向能够考虑到的所有无线AP的地址发送无线AP发现用包,进行家庭网络内的所有无线AP的设定。
另外,第4实施方式中,以在接收到对路由器发现用包的应答的情况下,作出路由器发现用包的生成中止的指示为例进行了说明,但路由器发现用包的生成中止,也可以在给所能够考虑到的所有路由器地址发送路由器发现用包时进行。通过这样,即使在某个路由器与多级路由器相连接等情况下(多引导等),也能够正确进行NAT设定、FW设定。
(第5实施方式:使用ICMP与UPnP的路由器检测)
下面根据附图对本发明的第5实施方式进行说明。图28中示出了用来说明第5实施方式之概要的家庭网络的构成。
第1实施方式中,对变更路由器发现用包的TTL来取得路由器的LAN侧地址,并对路由器进行路由器设定的方法进行了说明。这样的方式中,变更了TTL的路由器发现用包的发送不需要等待应答就执行。因此,能够非常高效地得知与通信装置50相连接的家庭网络上的路由器的地址,并执行路由器设定。
但是,实际的市售路由器中,有些对ICMP超时间包进行过滤。因此,在包含有这样的路由器的家庭网络中使用上述方式的情况下,有时上层路由器的ICMP超时间包被中途的路由器所废弃。因此,发生了无法正确检测出家庭网络内的路由器的情况。其结果是,产生了无法进行完全的路由器设定的问题。
例如,图28中示出了路由器430B是废弃ICMP超时间包的类型的路由器的例子。这种情况下,路由器420C、410D,接收被设为TTL=3以及TTL=4的路由器发现用包,将与其对应的ICMP超时间包发送给通信装置450。但是,来自该路由器420C、路由器410D的ICMP超时间包被路由器430B废弃。因此,通信装置450无法检测出作为家庭网络内的路由器的路由器420C。
而第3实施方式中,对取得路由器的WAN侧地址,根据该地址检测出更上层的路由器,并进行路由器设定的方法进行了说明。该方式中,由于不使用ICMP,因此在包含有对ICMP超时间包进行过滤的路由器的家庭网络中,也能够使用。但是,在路由器发现用包的发送时,需要推测路由器的地址来发送包,在处理效率方面不如第1实施方式的方法。
第5实施方式中,对能够在包含有对ICMP超时间包进行过滤的路由器的家庭网络中使用,同时还提高了处理效率的家庭路由器设定方法进行说明。该第5实施方式中,为了实现上述效果,使用第1实施方式中所说明的使用变更了TTL的路由器发现用包的方法,与第3实施方式中所说明的取得路由器的WAN侧地址,并根据该地址发现更上层的路由器的方法这双方。
(全体构成)
再次对照图28,对本发明的第5实施方式中的家庭网络之构成进行说明。
图28中,互联网4001与家庭网络4002相连接。互联网4001中设有路由器410D。家庭网络4002,由包含有路由器420C、路由器430B以及路由器440A的多级路由器构成。路由器420C设置在与互联网的边界处,进而顺次设置路由器430B与路由器440A。路由器440A,与用户可操作的PC等所构成的通信装置450相连接。通信装置450具有通信I/F4501。
路由器420C,具有LAN侧通信I/F4202与WAN侧通信I/F4201,LAN侧通信I/F被分配本地地址,WAN侧通信I/F被分配全局地址。路由器430B具有LAN侧通信I/F4302与WAN侧通信I/F4301,路由器440A具有LAN侧通信I/F4402与WAN侧通信I/F4401。这里,通过由路由器420C使用全局地址与进行通信的互联网4001内的路由器410D之间进行连接,来确立家庭网络4002与互联网4001之间的连接。
(通信装置的构成)
图29表示第5实施方式的通信装置450的结构。该通信装置450具有:控制部451、发现用包生成部452、接收包解析部453、包发送接收部454、通信部455、路由器设定部456、WAN侧地址取得部459、以及时间到检测部460。控制部451对各个功能部下达处理的指示。发现用包生成部452,生成用来发现路由器的包(以下称作路由器发现用包)并作出发送指示。接收包解析部453,对路由器发现用包解析从路由器发送的包,取得各个路由器的地址,掌握路由器结构。包发送接收部454,对通信部455指示包的发送处理,解析由通信部455所接收到的包,并转交给对应接收包的功能部。通信部455内置有通信I/F功能,能够实现对网络的包发送接收。路由器设定部456,执行家庭网络的路由器的设定。另外,路由器设定部456,具有根据所取得的地址,访问该路由器,取得对路由器的NAT设定等的请求目的地的处理请求目的地取得部456a。WAN侧地址取得部459,使用UPnP IGD规格,取得路由器的WAN侧地址。时间到检测部460,检测出变化了TTL的值的路由器发现用包的应答包的接收所对应的时间到。
(路由器设定的动作)
以下,对与如上所构成的家庭网络4002相连接,执行路由器设定的通信装置450的动作进行说明。
(1)路由器发现用包的发送处理
首先,对通常的路由器发现用包的发送处理进行说明。图30示出了发现用包生成部452所执行的路由器发现用包的发送处理顺序。
通信装置450的控制部451在执行路由器设定的情况下,首先指示开始变化TTL的路由器发现用包的发送处理。
步骤S501,通信装置450的发现用包生成部452,判断来自控制部451的包生成的指示是否持续作出。
发现用包生成部452,在判断为控制部451中没有作出包生成指示的情况下,结束该顺序。这里,在接下来要说明的来自路由器的包接收处理中满足特定的条件时,控制部451在包生成指示后作出停止指示。
步骤S502:发现用包生成部452,在判断为包生成指示持续作出的情况下,由发现用包生成部452生成将TTL从1起依次递增得到的路由器发现用包。
步骤S503:时间到检测部460,在发送路由器发现用包时,登录对该路由器发现用包的应答包的接收的时间到时刻。例如,时间到检测部460,与该路由器发现用包的TTL关联地登录时间到时刻。然后,时间到检测部460,从路由器发现用包的发送时刻起计数时间到时刻,在时间到的情况下通知给控制部451。这样,通过由时间到检测部460管理时间到时刻,能够判断是否接收到了应答包。
步骤S504:发现用包生成部452,生成路由器发现用包之后,指示包发送接收部454发送包。包发送接收部454,通过通信部455,发送路由器发现用包。
这里,发现用包生成部452可构成为,不等待来自路由器的对所发送的路由器发现用包的应答,就发送不同的路由器发现用包。这样,通过同时发送多个路由器发现用包,能够高速发现路由器。例如,在应答包内包含有与路由器发现用包内的TTL相对应的信息的情况下,通信装置能够根据该信息来掌握是来自哪一个路由器的应答包。因此,通信装置能够一个接一个地发送变更了TTL的路由器发现用包,高速取得家庭网络内的路由器的地址或路由器结构。另外,利用UPnP IGD规格的情况下的对各个路由器的路由器设定中,需要对应由通信装置在特定的应用程序起动的阶段进行路由器设定等的动态设定。如前所述,通信装置通过高速取得家庭网络内的路由器的地址或路由器结构,能够对应对各个路由器的动态路由器设定。
另外,路由器发现用包,能够向互联网上的特定全局地址目的地发送。
(2)检测出时间到的情况下的处理
接下来,对照图31,对时间到检测部460检测到对路由器发现用包的应答包接收的时间到的情况下的处理进行说明。
步骤S505:首先,通信装置450的时间到检测部460,检测出时间到后,将此通知给控制部451。接收到时间到的通知的控制部451,判断时间到处理时的路由器发现用包发送处理是否已经在起动中。通信装置450的控制部451,在判断为时间到处理时的路由器发现用包发送处理正在起动中的情况下,结束该处理。
接下来,通信装置450,在判断为时间到处理时的路由器发现用包发送处理不在起动中的情况下,执行以下的处理(S506~S508)。
步骤S506:通信装置450的接收包解析部453,经通信部455以及包发送接收部454接收应答包。之后,接收包解析部453,使用当前所接收到的应答包中TTL值最大者,取出所取得的路由器的LAN侧地址。
这里,由于变化TTL的路由器发现用包的发送,从TTL=1起依次递增并同时发送,因此时间到的发生从TTL较小者起顺次发生。例如图28的例子中,路由器430B是对ICMP进行过滤的路由器。因此,对来自作为路由器430B的上层路由器的路由器420C、410D的设为TTL=3、TTL=4的路由器发现用包的应答包,均为时间到。这里,首先时间到的是对设为TTL=3的路由器发现用包的应答。因此能够认为,对应于比首先时间到的应答包的TTL值小1的TTL值而检测出的路由器,为对ICMP进行过滤的路由器。这种情况下,可以得知,对应于比首先时间到的应答包的TTL=3小1的TTL=2而检测出的路由器30B,实施过滤。
但是,在很难取得时间到的包的TTL值的情况下,可以使用此时所接收到的应答包中具有最大TTL值的包,将所检测出的路由器看作对ICMP进行过滤的路由器。
通过以上,接收包解析部453,根据来自进行过滤的路由器430B的应答包,取得路由器430B的LAN侧地址。
步骤S507:接着,控制部451,将接收包解析部453所取得的路由器的LAN侧地址发送给WAN侧地址取得部459,指示取得路由器的WAN侧地址。WAN侧地址取得部459,与第3实施方式一样使用UPnP IGD规格等,取得UPnP动作的请求目的地信息。之后,向路由器的动作请求目的地发送UPnP动作,接收其应答包,取得路由器的WAN侧地址。然后,WAN侧地址取得部459将所取得的WAN侧地址转交给控制部451。
步骤S508:之后,控制部451,对发现用包生成部452,指示停止变更了TTL的路由器发现用包的发送处理(图30的处理)。进而,控制部451,将所取得的WAN侧地址转交给发现用包生成部452,指示根据该WAN侧地址,推测上层路由器的地址,来开始发送路由器发现用包的处理(与第3实施方式的图21相同的处理)。
时间到检测部460检测到路由器发现用包的应答接收的时间到的情况下的处理,如上所述。
(3)推测到上层路由器的地址的路由器发现用包的发送处理
接下来,使用图32,对发现用包生成部452所执行的推测到上层路由器的地址的路由器发现用包的发送处理进行说明。
步骤S530:发现用包生成部452,在被控制部451指示路由器发现用包的生成,并取得了WAN侧地址的情况下,继续路由器发现用包的生成。
步骤S531:接下来,通信装置450的发现用包生成部452,根据从控制部451所接收到的WAN侧地址推测上层路由器的LAN侧地址。之后,根据该LAN侧地址生成路由器发现用包。
例如,LAN侧地址,如果在出厂时的状态下进行使用,使用种类C的本地地址,并且其低8位是1或254。因此,发现用包生成部452,在推测上层路由器的地址的情况下,优先处理将从控制部451所得到的路由器的WAN侧地址的低8位替换成1或254得到的地址,来推测LAN侧地址。通过进行该处理,通信装置450与无作为地推测地址相比,能够更加高速地检测出上层路由器。
步骤S532:之后,发现用包生成部452,通过包发送接收部454以及通信部455发送所生成的路由器发现用包。
(4)应答包的接收处理
接下来,对照图33对路由器发现用包的应答包的接收处理进行说明。
步骤S510:控制部451指示发现用包生成部452发送路由器发现用包之后,指示接收包解析部453接收其应答包。之后,由通信装置450的接收包解析部453等待应答包的接收。
步骤S511:控制部451在接收到了应答包的情况下,判断该应答包是对变化了TTL的路由器发现用包的应答,还是对根据WAN侧地址,推测上层路由器的地址并发送的路由器发现用包的应答。
(4-1)对路由器发现用包的应答包的接收处理
通信装置450,在判断为所接收到的应答包是对变化了TTL的路由器发现用包的应答的情况下,执行以下的处理(S518~S521)。
步骤S518:该图33中的S518~S521的处理,与第1实施方式的图4的接收处理(S104~S107)相同。也即,通信部455接收到作为对路由器发现用包的应答的ICMP超时间包之后,包发送接收处理部454将所接收到包转交给接收包解析部453。
接收包解析部453,取出ICMP超时间包的数据部中所含有的发送目的地端口编号,根据该信息来确定路由器发现用包发送时所指定的TTL。同时,接收包解析部453,通过取出发送源地址,来取得路由器的LAN侧地址。
步骤S519:接下来,通信装置450的控制部451,判断所取得的路由器的LAN侧地址是全局地址还是本地地址。
步骤S520:通信装置450,在判断为所取得的路由器的LAN侧地址是本地地址的情况下,通过控制部451对路由器设定部456设定路由器。接收到了指示的路由器设定部456,执行NAT设定与防火墙设定。
步骤S521:通信装置450,在判断为所取得的路由器的LAN侧地址是全局地址的情况下,通过控制部451向发现用包生成部452指示发现用包生成的中止,结束该处理。通过像这样进行控制,能够只对家庭网络内的路由器进行NAT设定或防火墙设定。
以上,是所接收到的应答是对变化了TTL的路由器发现用包的应答的情况下的处理。
(4-2)对推测上层路由器的地址并发送的路由器发现用包的应答包的接收处理
接下来说明的是,接收到对根据WAN侧地址,推测上层路由器的地址并发送的路由器发现用包的应答的情况下的处理(S512~S517)。该S512~S517的处理,与第3实施方式的图20的S303~S308的处理相同。
步骤S512:通信装置450的接收包解析部453,接收到应答包后解析接收包,取得路由器的地址。在使用UPnP的情况下,利用应答中记载的信息,取得设备描述、服务描述,还一并取得用于动作发送的信息。
步骤S513:接下来,通信装置450的控制部451,在判断本次所接收到的应答包是对发现用包生成部452所生成并发送的路由器发现用包的应答的情况下,指示发现用包生成部452中止路由器发现用包的发送处理。
步骤S514:通信装置450的路由器设定部456,使用所取得的路由器的LAN侧地址,访问该路由器。之后,路由器设定部456与第1实施方式一样,执行NAT的设定或防火墙的设定,或其双方。
步骤S515:进而,控制部451,将接收包解析部453所取得的LAN侧地址发送给WAN侧地址取得部459,指示取得所检测出的路由器的WAN侧地址。WAN侧地址取得部459,例如使用UPnP IGD规格,根据路由器的LAN侧地址取得WAN侧地址。
步骤S516:接下来,通信装置450的控制部451,判断所取得的路由器的WAN侧地址是全局地址还是本地地址。通信装置450的控制部451,在判断为所取得的路由器的WAN侧地址是全局地址的情况下,由于能够推定该路由器的上层路由器是互联网上的路由器,因此检测结束该处理。也即,由于能够推定为对家庭网络内的所有路由器,完成了路由器设定,因此结束处理。
步骤S517:通信装置450的控制部451,在判断为路由器的WAN侧地址是本地地址的情况下,推定所检测出的路由器的上层还有属于家庭网络的路由器。因此,控制部451将所检测出的路由器的WAN侧地址转交给发现用包生成部452,指示生成路由器发现用包。
之后,通信装置450的控制部451,再次回到步骤S510,等待接收对路由器发现用包的应答包。
(处理例子)
图34为通过第5实施方式所记载的方式设定家庭网络的情况下的动作之一例。
通信装置450的发现用包生成部452,发送将TTL从1起顺次进行设定的路由器发现用包。通信装置450的接收包解析部453,从路由器440A、路由器430B接收ICMP超时间包,作为所发送的路由器发现用包的应答。之后,接收包解析部453,从设为TTL=1的路由器发现用包的应答包中取得路由器440A的LAN侧地址,从设为TTL=2的路由器发现用包的应答包中取得路由器430B的LAN侧地址。路由器设定部456,根据所取得的LAN侧地址,访问路由器440A以及路由器430B,执行NAT设定以及防火墙设定。
但是,由于路由器430B中ICMP被过滤,因此通信装置450的通信部455,无法接收到来自位于路由器430B上层的路由器420C、路由器410D的应答包。因此,时间到检测部460,检测出TTL=3的路由器发现用包(用来检测出路由器420C的路由器发现用包)的时间到。同时,通信装置450的发现用包生成部452,中止变化了TTL的路由器发现用包的发送处理。之后,发现用包生成部452,以路由器的WAN侧地址为依据推测上层路由器的地址,并起动发送路由器发现用包的处理。此时,发现用包生成部452,能够从用TTL=2(对应路由器430B)所得到的路由器的WAN侧地址起开始处理。
接下来,通信装置450的接收包解析部453,从对应所发送的路由器发现用包的应答包中取得路由器420C的LAN侧地址。之后,路由器设定部456,根据所取得的LAN侧地址访问路由器420C,执行NAT设定与防火墙设定。进而,通信装置450的WAN侧地址取得部459,取得路由器420C的WAN侧地址。之后,在检测出所取得的WAN侧地址是全局地址的情况下,结束处理。
(作用效果)
第5实施方式的通信装置,在接收到应答包的情况下,发送变化TTL而设定的路由器发现用包。通过这样,通信装置能够根据来自路由器的应答包取得路由器地址,高速进行路由器设定。另外,通信装置在无法接收到应答包的情况下,如上所述,根据从能够接收到的应答包所取得的LAN侧地址,取得WAN侧地址。之后,通信装置,重复根据所取得的WAN侧地址,取得更靠WAN侧的路由器的LAN侧地址。通过这样,即使在包含对应答包进行过滤的路由器的家庭网络中,也能够掌握家庭网络内的路由器的结构,进行路由器设定。
另外,虽然该第5实施方式中,对路由器的NAT设定、防火墙设定进行了说明,但通过在第2实施方式及第4实施方式中使用本方法,即使存在于对ICMP进行过滤的家庭网络中这样的环境下,也能够高速且准确地执行无线AP60的设定,或通信装置450的无线通信部58的设定,或其双方。
(第6实施方式:使用ICMP与UPnP的路由器检测)
上述第5实施方式中,描述了即使在家庭网络中含有对ICMP进行过滤的路由器的情况下,也能够使用的高效的路由器设定方法。与此相对,第6实施方式中记载的是,在家庭网络中含有不处理TTL的情况下,也能够使用的高效的路由器设定方法。
下面根据附图,对本发明的第6实施方式进行说明。图35为本发明的第6实施方式中的家庭网络的构成之一例。另外,以下假设图35的路由器530B是不处理TTL的路由器。
图35中,如第1实施方式等所述,从通信装置550将变化了TTL的路由器发现用包从TTL=1起顺次设定并发送。此时,TTL=2的路由器发现用包,本来应当在路由器530B变为TTL=0,从路由器530B发送ICMP超时间包,但是,由于路由器530B不进行TTL处理,因此设为TTL=2的路由器发现用包,在路由器540A中递减,在变为TTL=1的状态下发送给路由器520C。之后,在路由器520C中,由于该路由器发现用包变为TTL=0,因此,对指定为TTL=2的路由器发现用包的应答,被从路由器520C作为ICMP超时间包发送。
其结果是,如果在这样的家庭网络中使用第1实施方式的路由器设定,通信装置550中,无法识别出路由器540A与路由器520C之间存在路由器530B,会结束路由器设定。
另外,第3实施方式中,对取得路由器的WAN侧地址,根据该地址发现更上层的路由器,并进行路由器设定的方法进行了说明。该方式中,由于不使用变化了TTL的路由器发现用包,因此能够在包含有不执行TTL处理的路由器的家庭网络中使用。但是,在发送路由器发现用包时,需要推测路由器的地址来进行包发送等,在处理效率方面不如第1实施方式的方法。
第6实施方式中,对在包含有不执行TTL处理的路由器的家庭网络中也能够使用,同时提高了处理效率的家庭路由器设定方法进行说明。
该第6实施方式中为了实现上述目的,使用第1实施方式中所说明的使用变更TTL的路由器发现用包的方法,以及第3实施方式中所说明的取得路由器的WAN侧地址,并根据该地址发现更上层的路由器的方法双方。
(全体构成)
再次对照图35,对本发明的第6实施方式中的家庭网络之构成进行说明。
图35中,互联网5001与家庭网络5002相连接。互联网5001中设有路由器510D。家庭网络5002,由包含路由器520C、路由器530B以及路由器540A的多级路由器构成。路由器520C设置在与互联网的边界处,进而顺次设置路由器530B与路由器540A。路由器540A中,与用户可操作的PC等所构成的通信装置550相连接。通信装置550具有通信I/F5501。
路由器520C具有LAN侧通信I/F5202与WAN侧通信I/F5201,LAN侧通信I/F被分配本地地址,WAN侧通信I/F被分配全局地址。路由器530B,具有LAN侧通信I/F5302与WAN侧通信I/F5301,路由器540A具有LAN侧通信I/F5402与WAN侧通信I/F5401。这里,通过由路由器520C使用全局地址与进行通信的互联网5001内的路由器510D之间进行连接,来确立家庭网络5002与互联网5001之间的连接。
(通信装置的构成)
图36示出了第6实施方式中的通信装置550之构成。该通信装置550,具有:控制部551、发现用包生成部552、接收包解析部553、包发送接收部554、通信部555、路由器设定部556、WAN侧地址取得部559、以及路由器地址验证部570。控制部551给各个功能部下达处理的指示。发现用包生成部552,生成用来发现路由器的包(以下称作路由器发现用包)并下达发送指示。接收包解析部553,对路由器发现用包解析从路由器所发送的包,取得各个路由器的地址,掌握路由器结构。包发送接收部554,对通信部555指示包的发送处理,解析由通信部555所接收到的包,并转交给对应接收包的功能部。通信部555,内置有通信I/F功能,能够实现对网络的包发送接收。路由器设定部556,执行家庭网络的路由器的设定。另外,路由器设定部556,具有根据所取得的地址,访问该路由器,取得对路由器的NAT设定等请求目的地的处理请求目的地取得部556a。WAN侧地址取得部559,使用UPnP IGD规格,取得路由器的WAN侧地址。路由器地址验证部570,验证从变化TTL的路由器发现用包的应答包所取得的路由器地址的正当性。也即,验证是否存在无法取得地址的路由器。
(路由器设定动作)
以下对与如上所构成的家庭网络5002相连接,并执行路由器设定的通信装置550的动作进行说明。
(1)发送处理
(1-1)路由器发现用包的发送处理
首先,对通常的路由器发现用包的发送处理进行说明。图37示出了发现用包生成部552所执行的,变更TTL的值而生成的路由器发现用包的发送处理顺序。该顺序是与第1实施方式的图5相同的处理。
在有控制部551作出的发现用包生成部指示的情况下,通信装置550开始该路由器发现用包的发送处理顺序。
步骤S601:通信装置550的发现用包生成部552,判断来自控制部551的包生成指示是否持续。
发现用包生成部552,在判断为控制部551没有作出包生成指示的情况下,结束该顺序。这里,在接下来要说明的来自路由器的包接收处理中满足特定的条件时,控制部551在包生成指示后作出停止指示。
步骤S602:发现用包生成部552,在判断为包生成指示持续的情况下,生成将TTL从1起顺次递增的路由器发现用包。
步骤S603:发现用包生成部552,生成了路由器发现用包之后,指示包发送接收部554发送包。包发送接收部554,通过通信部555,发送路由器发现用包。
这里,发现用包生成部552,可以不等待来自路由器的对所发送的路由器发现用包的应答,发送不同的路由器发现用包。这样,通过同时发送多个路由器发现用包,能够高速发现路由器。例如,在应答包内包含有与路由器发现用包内的TTL相对应的信息的情况下,通信装置能够根据该信息来掌握是来自哪一个路由器的应答包。因此,通信装置能够一个接一个地发送变更了TTL的路由器发现用包,高速取得家庭网络内的路由器的地址或路由器结构。另外,利用UPnP IGD规格的情况下的对各个路由器的路由器设定中,需要在由通信装置特定的应用程序起动的阶段对应进行路由器设定等动态设定。如前所述,通信装置通过高速取得家庭网络内的路由器的地址或路由器结构,能够与对各个路由器的动态路由器设定相对应。
另外,路由器发现用包,能够构成为向互联网上的特定全局地址发送。
(1-2)推测上层路由器的地址的路由器发现用包的发送处理
接下来,使用图38,对发现用包生成部552所执行的推测上层路由器的地址得到的路由器发现用包的发送处理进行说明。
步骤S630:发现用包生成部552,在被控制部551指示生成路由器发现用包,并取得了WAN侧地址的情况下,继续路由器发现用包的生成。
步骤S631:接下来,通信装置550的发现用包生成部552,根据从控制部551所接收到的WAN侧地址推测上层路由器的LAN侧地址。之后,根据该LAN侧地址生成路由器发现用包。
例如,LAN侧地址,如果在出厂时的状态下进行使用,使用种类C的本地地址,并且其低8位是1或254。因此,发现用包生成部552,在推测上层路由器的地址的情况下,优先使用将从控制部551所得到的路由器的WAN侧地址的低8位替换成1或254得到的地址,来推测LAN侧地址。
步骤S632:之后,发现用包生成部552,通过包发送接收部554以及通信部555发送所生成的路由器发现用包。
(2)应答包的接收处理
接下来,对照图39说明对路由器发现用包的应答接收处理。
步骤S605:控制部551,对发现用包生成部552指示发送路由器发现用包之后,指示接收包解析部553接收其应答包。之后,通信装置550的接收包解析部553等待应答包的接收。
步骤S606:控制部551,在接收到应答包的情况下,判断该应答包是对变化TTL的路由器发现用包的应答,还是对根据WAN侧地址,推测上层路由器的地址并发送的路由器发现用包的应答。
(2-1)对变化TTL的路由器发现用包的应答包的接收处理
通信装置550,在判断为所接收到的应答包是对变化TTL的路由器发现用包的应答的情况下,执行以下的处理(S612~S617)。
步骤S612:首先,通信部555接收作为对应路由器发现用包的应答包的ICMP超时间包。之后,接收包解析部553,经通信部555以及包发送接收部554,接收ICMP超时间包。
接收包解析部553,取出ICMP超时间包的数据部中含有的发送目的地端口编号,根据该信息确定发送路由器发现用包时所设定的TTL的值。这里,设所确定的TTL的值为N来进行说明。同时,接收包解析部553,通过取出发送源地址,来取得路由器的LAN侧地址。
步骤S613:接下来,通信装置550的控制部551,指示WAN侧地址取得部559,对由设为TTL=N-1的路由器发现用包所检测出的路由器,取得WAN侧地址。这里,控制部551将接收包解析部553所取得的路由器的LAN侧地址,发送给WAN侧地址取得部559。WAN侧地址取得部559,根据LAN侧地址取得WAN侧地址。
进而,通信装置550的控制部551,将所取得的路由器的WAN侧地址发送给路由器地址验证部570,指示路由器地址验证部570验证该WAN侧的地址。
路由器地址验证部570,对由设为TTL=N的路由器发现用包所取得的路由器的LAN侧地址、与由设为TTL=N-1的路由器发现用包检测出的路由器的WAN侧地址的地址空间是否相一致进行检验。也即,比较相邻的路由器的LAN侧地址与WAN侧地址,检验所取得的WAN侧地址是否是正当的地址。这里,路由器地址验证部570,在判断为由对设为TTL=N的路由器发现用包的ICMP超时间包所取得的路由器的LAN侧地址,与由设为TTL=N-1的路由器发现用包所检测出的路由器的WAN侧地址的地址空间不一致的情况下,识别出应答了对应于TTL=N的ICMP超时间包的路由器、与应答了对应于TTL=N-1的ICMP超时间包的路由器之间,存在其他路由器。
步骤S614:路由器地址验证部570检测出地址空间不一致后,控制部551根据路由器的WAN侧地址来类推地址,指示发现用包生成部552进行第2路由器发现用包的发送处理。此时,控制部551,将用TTL=N-1指定的路由器发现用包所检测出的路由器的WAN侧地址,发送给发现用包生成部552。
另外,在N=1的情况下,路由器地址验证部570,对所得到的路由器的地址与通信装置550的地址的地址空间是否相一致进行检验。在不一致的情况下,控制部551根据通信装置550的地址,指示发现用包生成部552进行第2路由器发现用包的发送。
通信装置550的控制部551,在判断为由设为TTL=N的路由器发现用包所取得的路由器的LAN侧地址,与由设为TTL=N-1的路由器发现用包所检测出的路由器的WAN侧地址的地址空间相一致的情况下,执行下面的S615的处理。
步骤S615:通信装置550的控制部551,判断所取得的LAN侧地址是全局地址还是本地地址。
步骤S616:通信装置550的控制部551,在判断为所取得的LAN侧地址是本地地址的情况下,指示路由器设定部556实施路由器设定。接收到了指示的路由器设定部556,访问所取得的LAN侧地址,对该路由器执行NAT设定与防火墙设定。
步骤S617:通信装置550的控制部551,在判断为所取得的路由器的LAN侧地址是全局地址的情况下,指示发现用包生成部552中止变化TTL的路由器发现用包生成的生成。
步骤S618:之后,通信装置550的控制部551,判断是否需要接收以路由器的WAN侧地址为依据类推地址并发送的第2路由器发现用包的应答,或值比本次所接收到的TTL更小的TTL的路由器发现用包的应答等,其他路由器发现用包的应答,在不需要的情况下结束处理。
另一方面,在通信装置550的控制部551,判断为需要接收其他应答的情况下,再次回到步骤S605,等待应答包的接收。
通过像这样进行控制,能够只对家庭网络内的路由器进行NAT设定或防火墙设定。
以上,是所接收到的应答是对变化TTL的路由器发现用包的应答的情况下的处理。
(2-2)对推测上层路由器的地址并发送的路由器发现用包的应答包的接收处理
接下来,说明所接收到的包,是对根据WAN侧地址推测上层路由器的地址并发送的路由器发现用包的应答的情况下的处理(S607~S611)。
步骤S607:首先,通信装置550的接收包解析部553,接收到应答包后解析接收包,取得路由器的LAN侧地址。在使用UPnP的情况下,利用应答中含有的信息,取得设备描述、服务描述,还一并取得用于动作发送的信息。
步骤S608:通信装置550的控制部551,在判断为本次所接收到的包,是对发现用包生成部552所生成并发送的路由器发现用包的应答包的情况下,指示发现用包生成部552中止第2路由器发现用包的发送处理。
步骤S609:之后,通信装置550的控制部551,指示路由器地址验证部570,比较所取得的路由器的LAN侧地址与通过TTL=N的路由器发现用包所得到的路由器的LAN侧地址的值。在路由器地址验证部570判断所取得的路由器的LAN侧地址与通过TTL=N的路由器发现用包所得到的路由器的LAN侧地址相一致的情况下,控制部551执行S618的结束判断处理。
在路由器地址验证部570,判断为所取得的路由器地址与通过TTL=N的路由器发现用包所得到的路由器地址不一致的情况下,执行以下处理(8610、S611)。
步骤S610:由于所取得的路由器地址与通过TTL=N的路由器发现用包所得到的路由器地址不一致,因此所检测出的路由器,是不进行NAT设定与防火墙设定的路由器。因此,通信装置550的控制部551,将所得到的路由器的LAN侧地址发送给路由器设定部556。路由器设定部556,根据该LAN侧地址访问该路由器,与第1实施方式一样,执行NAT设定或防火墙设定,或其双方。
步骤S611:由于所取得的路由器地址与通过TTL=N的路由器发现用包所得到的路由器地址不一致,因此在由设为TTL=N的路由器发现用包所检测出的路由器之前,有可能存在其他路由器。因此,通信装置550的控制部551,将所得到的路由器的LAN侧地址发送给WAN侧地址取得部559。WAN侧地址取得部559,根据LAN侧地址取得该路由器的WAN侧地址。控制部551,进而将WAN侧地址发送给发现用包生成部552。发现用包生成部552实施第2路由器发现用包的发送处理,其取得所检测出的路由器的WAN侧地址,根据路由器的WAN侧地址推测上层路由器的地址,并生成路由器发现用包。这些处理结束后,控制部551等待接收对路由器发现用包的应答包。
以上是对路由器发现用包的应答接收处理。
(处理例子)
图40中示出了由第6实施方式所记载的方式设定家庭网络的情况下的动作。这里,假设路由器530B是不进行TTL处理的路由器。
通信装置550的发现用包生成部552,发送将TTL从1起顺次设定的路由器发现用包。之后,接收包解析部553作为其应答,对应TTL=1的路由器发现用包,取得路由器540A的LAN侧地址。另外,由于路由器530B是不进行TTL处理的路由器,因此到达路由器530B的TTL=2的路由器发现用包,没有进行TTL处理就直接发送给路由器520C。因此,接收包解析部553,对应于TTL=2的路由器发现用包,取得路由器520C的地址。之后,路由器设定部556,根据所取得的LAN侧地址,访问路由器540A以及路由器520C,分别执行NAT设定以及防火墙设定。
此时,设对应于TTL=1的路由器发现用包所取得的路由器540A的WAN侧地址是“192.168.10.3”。WAN侧地址取得部559,根据从对应于TTL=1的路由器发现用包的应答包所取得的路由器540A的LAN侧地址,取得该路由器540A的WAN侧地址。另外,设对应于TTL=2的路由器发现用包所取得的路由器520C的LAN侧地址是“192.168.2.1”。因此,路由器地址验证部570,检测出两者的网络地址不一致。
根据该网络地址的不一致,通信装置可识别出路由器520C与路由器540A之间存在其他路由器。因此,通信装置550的发现用包生成部552,根据路由器540A的WAN侧地址“192.168.10.3”,推测作为其上层路由器的路由器530B的地址,发送路由器发现用包。其结果是,通信装置550的接收包解析部553,从对路由器发现用包的应答包,取得路由器530B的LAN侧地址“192.168.10.1”。路由器设定部556,根据该LAN侧地址,执行路由器530B的NAT设定与防火墙设定。
进而,通过取得路由器530B的LAN侧地址,WAN侧地址取得部559能够取得路由器530B的WLAN侧地址。之后,发现用包生成部552根据该WAN侧地址的值,生成并发送路由器发现用包,取得作为上层路由器的路由器520C的LAN侧地址。
在路由器地址验证部570判断为所取得的路由器520C的LAN侧地址,与对应于设为TTL=2的路由器发现用包所取得的路由器的地址值相一致的情况下,控制部551判断为未发现的路由器均被找到。
(作用效果)
第6实施方式的通信装置,判断从路由器应答包所抽出的LAN侧地址的地址空间,与根据前级路由器的LAN侧地址所取得的WAN侧地址的地址空间的一致·不一致。通过这样,能够判断从路由器应答包所抽出的LAN侧地址的正当性。在一致的情况下,能够确认从路由器应答包所抽出的LAN侧地址,是用来从通信装置访问路由器的正确地址。因此,即使在家庭网络内包含有不减小TTL就传送给下一个路由器的这种路由器的情况下,通信装置也能够掌握家庭网络内的路由器结构,进行路由器设定。
另外,虽然该第6实施方式中,对路由器的NAT设定、防火墙设定进行了说明,但通过在第2实施方式及第4实施方式中使用该第6实施方式的方法,即使在家庭网络内存在不处理TTL的路由器的环境下,也能够高速且准确地执行无线AP60的设定,或通信装置550的无线通信部58的设定,或其双方。
另外,虽然第5实施方式、第6实施方式中,对在使用第1实施方式中所述的将变化TTL的路由器发现用包从TTL=1起顺次设定并发送的方法,检测路由器的地址信息的过程中检测到问题时,使用第2实施方式中所述的推测路由器的LAN侧地址并发送路由器发现用包的方法,来取得路由器的地址信息的方法进行了说明,但这仅仅是一例,还可以构成为从一开始就同时执行第1实施方式中所述的将变化TTL的路由器发现用包从TTL=1起顺次设定并发送的方法、与第2实施方式中所述的推测路由器的LAN侧地址并发送路由器发现用包的方法,并控制为将所得到的两者方法下的结果结合起来,通过这样也能够得到与第5实施方式、第6实施方式相同的效果。
另外,虽然第1实施方式至第6实施方式中,路由器的发现、WAN侧地址的取得、NAT设定、防火墙设定中,使用http或UPnP,但这仅仅是一例,协议还可以使用SLP、SNMP等其他协议。
(第7实施方式:对P2P通信的应用)
上述第1至第6实施方式中,对使用变化TTL的路由器发现用包或UPnP的发现用包等,发现路由器,进行防火墙或NAT设定进行了说明。而本第7实施方式中,公开了通过与第1实施方式至第6实施方式相同的方法进行家庭网络内的规格路由器的防火墙或NAT的设定,使用由该防火墙或NAT设定执行而设定的通信线路,在终端间进行直接通信(以下称作P2P通信)。也即,本第7实施方式,将上述第1实施方式至第6实施方式的家庭网络内的路由器设定,应用于P2P通信。
一般来说,在没有生成P2P通信线路的状态下,用户终端间无法进行通信。因此,即使其他用户终端想要进行P2P通信,也无法通知通信对方的用户终端。P2P服务器具有解决该问题的功能,各个用户终端,预先与P2P服务器之间形成通信线路。然后,通过由P2P服务器进行用户终端间的通信消息的中继,在P2P通信线路的形成之前,就能够进行用户终端间的通信。
对用户终端与P2P服务器之间所确立的通信线路进行说明。路由器中,一般在从LAN侧向WAN侧进行通信的情况下,自动进行NAT设定或防火墙设定。因此,在来自发送目的地的对用户终端自身所发送的包的应答,从路由器的WAN侧进入的情况下,即使不进行特别的设定,与LAN侧相连接的用户终端也能够接收。以下,将该路由器所具有的NAT设定或防火墙的自动设定功能,称作动态NAPT。
因此,P2P服务器与各个用户终端之间的通信线路,如果通过路由器的动态NAPT,从各个用户终端对P2P服务器开始通信,就能够简单地建立。例如可以考虑,从各个用户终端到P2P服务器建立TCP对话的方法,或每隔一定时间从各个用户终端向P2P服务器发送UDP包的方法等。另外,在各个用户终端对P2P服务器建立通信线路时,可以将自身的识别信息同时登录到P2P服务器中,由P2P服务器将上述识别信息与用户终端的地址信息关联起来进行管理。通过这样,用户终端在消息的发送目的地指定了通信对方的识别信息,P2P服务器就根据识别信息中继与对方的用户终端间的通信。也即,各个进行P2P通信的用户终端,只要事先知道通信对方的识别信息,就能够进行通信。
如上所述,从LAN侧向WAN侧的通信能够通过动态NAPT简单地进行。但是,像后述的图41的用户终端a与用户终端e那样,在用户终端间的通信中,一般在通信对方的路由器中需要从WAN侧到LAN侧的通信线路。因此,很多情况下只通过路由器的动态NAPT无法进行通信。本实施方式中,能够进行此从WAN侧向LAN侧的通信线路的设定,进行P2P通信。
对照附图对本发明的第7实施方式进行说明。图41为本发明的第7实施方式中的网络构成。
(全体构成)
图41中,家庭网络7002与家庭网络7003经互联网7001相连接。另外,互联网7001中连接有P2P服务器703,辅助终端间的P2P通信用通信线路的生成。家庭网络7002中存在进行P2P通信的用户终端a~d,设有多级连接的路由器702A~702E。另外,家庭网络7003中设有进行P2P通信的用户终端e以及多级连接的路由器702F、702G。对于本第7实施方式的P2P用的用户终端,该701a~701e的任何用户终端的组合均能够进行P2P通信。
(通信装置的构成)
图42为第7实施方式的用户终端701(用户终端701a~用户终端701e)的结构图。该用户终端701,具有:控制部711、家庭网络解析部712、P2P通信判断部713、通信线路设定部714、通信部715。
控制部711对各个功能部下达处理指示。家庭网络解析部712检测出家庭网络的各个路由器,取得所检测出的路由器的连接关系,以及路由器的LAN侧地址以及WAN侧地址,保存到网络结构信息存储部中。P2P通信判断部713,使用家庭网络解析部712所取得的家庭网络的结构信息及通过通信部715所得到的通信对方的家庭网络结构信息,判断能否进行P2P通信。进而,P2P通信判断部713,判断用来进行P2P通信的通信线路。通信线路设定部714,根据P2P通信判断部713的判断结果,对各个路由器进行通信线路的设定。通信线路设定部714,具有根据所取得的地址访问该路由器,取得对路由器的NAT设定等的请求目的地的处理请求目的地取得部714a。通信部715,执行与各个路由器702、P2P服务器703或P2P通信对方的用户终端等间的数据发送接收处理。
对如上所构成的用户终端701的动作进行说明。图43中示出了用户终端701所执行的P2P通信的连接时的顺序。
首先,希望进行P2P通信的用户终端(以下称作用户终端1),通过P2P服务器703,向希望进行P2P通信的对方的用户终端(以下称作用户终端2),通知想进行P2P通信的意思。接收到通知的用户终端2,将承诺的应答返回给用户终端1。
<STEP1:网络结构信息的掌握>
之后,用户终端1与用户终端2,调查彼此的家庭网络的结构信息。另外,在家庭网络的结构信息已取得完成的情况下,不需要执行。
构成信息的调查,在用户终端1与用户终端2中,从控制部711接收到指示的家庭网络解析部712,发现家庭网络内的路由器,取得各个路由器的WAN侧地址信息与各个路由器的连接关系的信息。这里,连接关系是指,各个路由器按照怎样的顺序连接在一起的信息。这些信息,例如通过以下的(1)~(4)的方法取得。另外,各个用户终端,可以掌握关于自身的用户终端所属的家庭网络内的一部分的路由器的路由器结构,例如从自身的用户终端到对应全局地址的路由器的路由器结构。
(1)信息取得方法1
发现路由器,并取得各个路由器的WAN侧地址信息与各个路由器的连接关系的信息的方法,可以使用与第1实施方式中所述的使用变化TTL的路由器发现用包的方法相同的方法(参照图43中,(1)由Traceroute实现的网络结构掌握)。
具体的说,用户终端1与用户终端2中,分别如下取得各个路由器的WAN侧地址信息与各个路由器的连接关系。首先,各个用户终端将变化了路由器发现用包的TTL的路由器发现用包发送给家庭网络内的路由器。然后,各个用户终端,接收来自路由器的对路由器发现用包的应答包,从该应答包内取得各个路由器的LAN侧地址。之后,各个用户终端根据LAN侧地址,访问各个路由器,从而能够取得路由器的WAN侧地址。各个用户终端的家庭网络解析部712,根据这些所取得的地址,能够掌握家庭网络内的路由器的连接关系。
(2)信息取得方法2
另外,取得各个路由器的WAN侧地址信息与各个路由器的连接关系的信息的方法,可以使用与第3实施方式中所述的采用UPnP IDG规格的发现用包的方法相同的方法(参照图43中,(2)由UPnP得到的网络结构掌握)。
具体来说,首先,各个用户终端将变化了路由器发现用包的TTL的路由器发现用包发送给家庭网络内的路由器。之后,各个用户终端接收来自路由器的对路由器发现用包的应答包,从该应答包内取得各个路由器的LAN侧地址。之后,各个用户终端,根据LAN侧地址取得WAN侧地址。接下来,各个用户终端根据所取得的WAN侧地址,取得更上层的路由器的LAN侧地址,同样又根据LAN侧地址取得WAN侧地址,并重复上述动作。各个用户终端的家庭网络解析部712,根据这些所取得的地址,能够掌握家庭网络内的路由器的连接关系。
(3)信息取得方法3
另外,取得各个路由器的WAN侧地址信息与各个路由器的连接关系的信息的方法,可以使用与第5实施方式中所述的方法相同的方法,其能够应用于包含有对ICMP超时间包进行过滤的路由器的家庭网络中,同时处理效率较高。
具体来说,首先各个用户终端,将变化了路由器发现用包的TTL的路由器发现用包发送给家庭网络内的路由器。之后,各个用户终端,对各个路由器发现用包中所设定的时间进行计数,检测出是否能够接收到对各个路由器发现用包的应答包。在无法接收到应答包的情况下,各个用户终端,可以认为对应于比首先时间到的应答包的TTL值小1的TTL值检测出的路由器,是对ICMP进行过滤的路由器。之后,各个用户终端根据从来自进行过滤的路由器的应答包所取得的LAN侧地址,取得WAN侧地址。进而,各个用户终端根据所取得的WAN侧地址,取得更上层的路由器的LAN侧地址,同样又根据LAN侧地址取得WAN侧地址,重复上述操作。各个用户终端的家庭网络解析部712,根据这些所取得的地址,能够掌握家庭网络内的路由器的连接关系。
(4)信息取得方法4
另外,取得各个路由器的WAN侧地址信息与各个路由器的连接关系的信息的方法,可以使用与第6实施方式中所述的方法相同的方法,其能够应用于包含有不执行TTL处理的路由器的家庭网络中,同时处理效率较高。
具体的说,首先,各个用户终端将变化了路由器发现用包的TTL的路由器发现用包发送给家庭网络内的路由器。之后,各个用户终端接收来自路由器的对路由器发现用包的应答包,从该应答包内取得各个路由器的LAN侧地址。之后,各个用户终端根据LAN侧地址,取得WAN侧地址。
这里,各个用户终端,对通过设为TTL=N的路由器发现用包所取得的路由器的LAN侧地址,与通过设为TTL=N-1的路由器发现用包所检测出的路由器的WAN侧地址的地址空间是否相一致进行检验。各个用户终端,在判断为不一致的情况下,根据从对TTL=N--1的路由器发现用包的应答包所取得的路由器的WAN侧地址来类推地址,进行路由器发现用包的发送,并接收对其的应答。之后,各个用户终端从该应答包取得TTL=N的路由器的LAN侧地址,根据该LAN侧地址取得路由器的WAN侧地址。各个用户终端的家庭网络解析部712,根据这些所取得的地址,能够掌握家庭网络内的路由器的连接关系。
图44中示出了使用采用UPnP IGD规格的发现用包,来取得家庭网络的各个路由器的WAN侧地址信息与各个路由器的连接关系的信息之一例。另外此发现路由器,取得各个路由器的WAN侧地址信息与各个路由器的连接关系的信息的顺序,与第1实施方式至第6实施方式中所述的方法相同。简单来说,各个用户终端通过默认的GW(Gate Way),也即对默认的路由器的M-Search请求及应答、设备描述取得请求及应答,取得对路由器的动作的请求目的地信息。之后,取得自身所连接的路由器的LAN侧地址。之后,各个用户终端,通过对具有该LAN侧地址的路由器的Get External IPAddress请求以及应答,取得该路由器的WAN侧地址。之后,各个用户终端根据所取得的WAN侧地址,推测构成家庭网络的各个路由器的LAN侧地址,作出单播的M-Search请求。之后,各个用户终端通过对该M-Search请求的应答、设备描述取得请求及应答,取得对路由器的动作的请求目的地信息。之后,取得各个路由器的LAN侧地址。进而,各个用户终端,同样通过Get External IPAddress请求及应答,取得该路由器的WAN侧地址。各个用户终端的家庭网络解析部712,通过这些所取得的地址,能够掌握家庭网络内的路由器的连接关系。
<STEP2:地址信息的发送>
取得了与自身的上游(远离用户终端的方向,也即接近互联网的方向)相连接的家庭网络的各个路由器的WAN侧地址信息及连接关系的信息(家庭网络的构成信息)的用户终端,指示P2P通信判断部713交换构成信息。
如图43中(3)地址信息交换所示,接收到指示的P2P通信判断部713,使用网络构成信息存储部721中所保存的信息,生成地址交换消息,通过通信部715发送给P2P服务器703。接收到上述地址交换消息的P2P服务器703,参照本消息中所保存的发送目的地信息,将该地址交换消息发送给通信对方的用户终端2。
用户终端2的P2P通信判断部713,经通信部715接收上述地址交换消息。之后,用户终端2的P2P通信判断部713,将所接收到的信息存储到对方网络结构信息存储部722中。进而,P2P通信判断部713,与用户终端1一样生成地址交换消息,通过通信部715发送给P2P服务器703。本消息,同样通过P2P服务器703来中继,由通信装置1接收。
接收到来自用户终端2的地址交换消息的用户终端1的P2P通信判断部713,同样将所接收到的信息存储到对方网络结构信息存储部722中。
图45中示出了用户终端1的地址交换消息之一例。用户终端1所生成并发送的地址交换消息中,包含有P2P服务器识别发送目的地使用的发送目的地信息、家庭网络的各个路由器的WAN侧地址信息、以及用户终端1自身的地址信息。
对地址交换消息示出具体例子。如果是前述的图41中的用户终端a,则从互联网7001起的路由器数是3。因此,路由器702E、路由器702C、路由器702A的WAN侧地址以及用户终端a自身的地址,被包括在地址交换消息中发送。另外,如果是用户终端c,则从互联网7001起的路由器数是2。因此,路由器702E、路由器702C的WAN侧地址以及用户终端c自身的地址,被包括在地址交换消息中发送。
<STEP3:通信线路的确保与访问目的地信息的发送>
STEP3中,进行图43中(4)由UPnP实现的NAT设定、(5)访问目的地信息交换。通过这样,用户终端1与用户终端2的P2P通信判断部713,分别判断与对方的用户终端间的通信线路。另外,在NAT设定已完成的情况下,不需要进行NAT设定。
该通信线路的判断,使用网络结构信息存储部721中所保存的自身的家庭网络结构信息,及对方网络结构信息存储部722中所保持的通信对方的用户终端的家庭网络结构信息来执行。关于该通信线路的判断方法,将在后面详细说明。
P2P通信判断部713的通信线路判断结束后,通信线路设定部714进行用来确保P2P通信判断部713所判断的通信线路的设定。该设定方法与第1实施方式至第6实施方式相同,使用家庭网络结构掌握时所取得的各个路由器的LAN侧地址,执行NAT设定或防火墙的设定,或其双方。例如,用户终端a与用户终端d之间的P2P通信中,用户终端a的P2P通信判断部713判断需要在路由器702C与路由器702A中确保通信线路。用户终端a的通信线路设定部714按照该判断,在路由器702C与路由器702A中执行NAT设定或防火墙设定,或其双方。另外,用户终端d的P2P通信判断部713,判断需要在路由器702D与路由器702B中确保通信线路。用户终端d的通信线路设定部714按照该判断,在路由器702D与路由器702B中执行NAT设定或防火墙设定,或其双方。
图46中示出了使用UPnP IGD规格,进行通信线路的设定的顺序之一例。另外,图47中示出了用户终端a所执行的NAT设定与防火墙设定之一例。使用图47对设定之一例进行说明。
现在,设用户终端a在端口编号PoTa进行P2P通信。用户终端a,设定路由器C与路由器A,使得包能够从通信对方的用户终端d到达自身的IP地址AdTa、端口编号PoTa。这里,设路由器C的WAN侧地址为AdRCw,路由器A的WAN侧地址为AdRAw。用户终端a,执行NAT的设定与防火墙设定,使得从路由器C的WAN侧所到达的包能够到达用户终端a的PoTa。为此,用户终端a对路由器C进行设定,使得到达路由器C的特定端口PoRCw1的包被变换成路由器A的WAN侧地址以及特定端口(AdRAw,PoRAw1)。进而,用户终端a执行路由器A的设定,使得到达路由器A的WAN侧地址的端口PoRAw1中的包被变换成指向用户终端a的端口编号PoTa(AdTa,PoTa)。该设定的结果是,如果用户终端d将包发送往IP地址:AdRCw,端口编号:PoRAw1,该包到达用户终端a的端口编号PoTa。
像这样完成了通信线路的确保之后,通信线路设定部714,为了进行P2P通信,将对方的用户终端应当发送包的地址与端口编号的信息(访问目的地信息),经由P2P服务器703发送给对方的用户终端。图47的例子中,用户终端a通知路由器C的WAN侧地址与实施了NAT设定的端口编号(AdRCw,PoRCw1),作为访问目的地信息。
另外,在对判断为需要线路设定的路由器的线路设定(NAT设定或防火墙设定)即使在1台路由器中失败的情况下,取消设定的其余路由器的线路设定,在访问目的地信息的交换中发送表示“没有访问目的地”的信息。
<STEP4:连接方向的判断与连接确认>
接下来的STEP4中,包括图43中的(6)连接请求、(7)连接应答、(8)连接完成、(9)由UPnP实现的NAT删除、(10)连接完成/连接失败的各个步骤。另外,在利用预先设定的通信线路的情况下,不需要(9)NAT设定的删除。
访问信息的交换完成之后,各个用户终端的控制部711进行连接方向的判断。连接方向的判断,使用访问目的地信息交换的结果来进行。访问目的地信息交换的结果,存在如下所述的4种情况。下面,对各个情况进行说明。
(a)双方用户终端均不是“没有访问目的地”的情况
(b)用户终端1为“没有访问目的地”的情况
(c)用户终端2为“没有访问目的地”的情况
(d)双方用户终端均为“没有访问目的地”的情况
下面对上述4个情况分别进行说明。
(a)的情况
在双方用户终端均不是“没有访问目的地”的情况下,不管从用户终端1与用户终端2中的哪个用户终端处开始通信,都能够进行P2P通信。这里,设为从用户终端1处开始通信来进行说明。
用户终端1,将连接请求消息发送给用户终端2。此时,连接请求消息中,根据预先从用户终端2接收到的访问目的地信息消息,发送给用户终端2的指定IP地址与端口编号。另外,该连接请求消息,不经由P2P服务器就发送给用户终端2。该连接请求消息,通过上述的通信线路确保时所设定的NAT设定,发送目的地信息被地址变换,并且到达用户终端2。
接收到连接请求消息的用户终端2,从连接请求消息的头信息取出其发送源地址与端口编号并存储起来。然后,对该所取出的发送源地址与端口编号发送连接应答消息。
一般来说,路由器执行了从WAN向LAN的发送目的地地址变换之后,在予定的一定期间中,确立通信线路。也即,通信线路确立后,从LAN侧向WAN侧发送的包的发送源信息,通过为了从WAN向LAN的通信而设定的NAT设定进行变换。并且,具有在用户终端接收到包时,包的发送源信息,被变换成与接收到包的用户终端的地址·端口编号相一致的性质。
例如,使用图47对变换例进行说明。首先,设用户终端a,经由路由器C的端口PoRCw1与路由器A的端口编号PoRAw1,在用户终端a的PoTa中接收到来自用户终端d的连接请求消息的包。接下来,用户终端a从端口编号PoTa向作为消息的发送源的用户终端d发送连接应答。此时,作为端口编号PoTa的发送源信息,被路由器A变换成(AdRAw,PoRAw1),进而,被路由器C变换成(AdRCw,PoRCw1)。其结果是,用户终端d中接收到包后,用户终端a的发送源信息,与用户终端d自身所发送的目的地信息(地址,端口编号)相一致。
接下来,用户终端1,从用户终端2接收到连接应答消息后,发送连接完成消息。之后,执行以下的P2P通信中的数据发送接收。
图48中示出了双方的用户终端均不是“没有访问目的地”的情况,也即从两终端侧均能够连接的情况下的顺序。另外,在通过UDP执行P2P通信的情况下,该连接请求等消息也使用UDP进行。另外,考虑到包有被废弃的可能性,还可以多次发送各个消息。例如图48所示,在作为发起者的用户终端1开始通信的情况下,首先用户终端1对用户终端2作出连接请求。之后,在一定时间内无法接收到来自用户终端2的连接应答的情况下,用户终端1向用户终端2再次发送连接请求。同样,作为接受者的用户终端2,在将连接请求发送给用户终端1起一定时间内,无法从用户终端1接收到连接完成的情况下,再次发送连接应答。以上的说明中,从作为发起者的用户终端1开始通信。但是(a)的情况下,用户终端1与用户终端2均能够取得家庭网络的结构信息,从这两个用户终端均能够开始连接。因此,在用户终端2是发起者的情况下,能够从用户终端2开始通信。
另外,在TCP的情况下,TCP的连接步骤本身起到与这里所说明的连接请求消息等同等的作用。
另外,由于防火墙等的设定不完全等理由,在从用户终端1向用户终端2的连接失败的情况下,也可以执行从用户终端2向用户终端1的连接。另外,从用户终端1向用户终端2的连接,与从用户终端2向用户终端1的连接这双方,可以都试一次。
(b)的情况
用户终端1为“没有访问目的地”的情况,也即用户终端1无法取得家庭网络的结构信息,用户终端1发送给用户终端2的访问目的地信息是“没有访问目的地”的情况。也即,用户终端1从用户终端2所接收到的访问目的地信息中,记载有访问目的地的地址与端口编号的情况。因此,意味着只能从用户终端1向用户终端2进行连接。该图49中,示出了用户终端1为“没有访问目的地”的情况下的顺序。(b)的情况下,从用户终端1对用户终端2执行最初的访问。之后,用户终端1发送连接完成消息,用户终端2接收到连接完成消息之后,在两终端间执行P2P的数据发送接收。另外,如果没有来自用户终端1的访问,用户终端2无法访问用户终端1。
(c)的情况
用户终端2为“没有访问目的地”的情况,也即用户终端2无法取得家庭网络的结构信息,用户终端2发送给用户终端1的访问目的地信息是“没有访问目的地”的情况。也即,用户终端2从用户终端1所接收到的访问目的地信息中,记载有访问目的地的地址与端口编号的情况。因此,意味着只能从用户终端2向用户终端1进行连接。该图50中,示出了用户终端2为“没有访问目的地”的情况下的顺序。(c)的情况下,从用户终端2对用户终端1执行最初的访问。之后,用户终端2发送连接完成消息,用户终端1接收到本消息之后,在两终端间执行P2P的数据发送接收。另外,如果没有来自用户终端2的访问,用户终端1无法访问用户终端2。
(d)的情况
双方的用户终端均为“没有访问目的地”,为双方用户终端均通过访问目的地信息交换发送了“没有访问目的地”的情况。也即,两个用户终端均无法取得家庭网络的结构信息的情况。这种情况下,控制部711,判断为无法进行P2P通信,中止P2P通信的通信处理。另外,这种情况下,也可以通过切换成经由P2P服务器703的用户终端间的通信,来在用户终端间执行数据的发送接收。
以上,是用户终端701所执行的P2P通信时的顺序。另外,本实施方式中,使用上述图43的说明中,进行P2P通信时,使用变化了TTL的路由器发现用包或采用UPnP IGD规格的发现用包,来掌握家庭网络的结构信息。但是,也可以在用户终端的电源接通等时,预先取得家庭网络的结构信息,并利用该信息。
另外,使用图43的说明中,在地址信息交换后根据通信判断部713的判断结果,进行通信线路的设定。但是,也可以在用户终端的电源接通时等,预先实施到最上层的路由器的通信线路设定。之后,在P2P通信判断部713判断为需要通信线路设定的最上层路由器中,预先进行NAT设定来将某个端口编号与IP地址,作为访问目的地信息通知给用户终端2。这种情况下,即使在P2P通信失败时以及通信完成时,也不删除通信线路的设定。
<通信线路判断的方法>
接下来,对P2P通信判断部713所进行的通信线路判断的顺序进行说明。P2P通信判断部713,执行上述地址信息交换之后,通过将网络结构信息存储部721中所保存的自身的家庭网络结构信息,与从对方的用户终端所接收到的地址信息交换消息内的信息相比较,来判断通信线路。
下面进行具体说明。图51为P2P通信判断部713所进行的通信线路判断的顺序之一例。以下,设用户终端1与用户终端2之间进行家庭网络的结构信息的交换。因此,用户终端1,具有用户终端1自身的家庭网络的结构信息与用户终端2的家庭网络的结构信息。下面,着眼于用户终端1中的通信线路判断的方法进行说明。
步骤S4601:首先,用户终端1的P2P通信判断部713,取出自己的家庭网络的结构信息的最上层(也即,最接近Internet的路由器)的路由器的WAN侧地址。同样,用户终端1的P2P通信判断部713,取得作为通信对方的用户终端2的结构信息的最上层路由器的WAN侧地址。之后,将自己的WAN侧地址与对方的WAN侧地址进行比较。也即,P2P通信判断部713,首先比较自己的最上层的路由器的WAN侧地址与通信对方的最上层路由器的WAN侧地址。
另外,在再次回到步骤S4601的情况下,将用户终端1与用户终端2各自的第2个路由器的WAN侧地址互相进行比较。这样,从用户终端1自己的家庭网络结构信息的最上层路由器的WAN侧地址起,顺次与通过地址信息交换消息所取得的通信对方即用户终端2的结构信息的WAN侧地址进行比较。
步骤S4602:接下来,用户终端1的P2P通信判断部713,对用户终端1或用户终端2的任一个,判断是否仍有要比较的WAN侧地址的信息。
步骤S4603:在用户终端1的P2P通信判断部713,对用户终端1或用户终端2的任一个,判断为没有要比较的WAN侧地址的信息的情况下,接下来判断用户终端1自身的结构信息中是否仍有成为比较对象的WAN侧地址。在用户终端1的结构信息中没有成为比较对象的WAN侧地址的情况下,进入步骤S4605。反之,在用户终端2的结构信息中没有成为比较对象的WAN侧地址的情况下,进入步骤S4607。
步骤S4604:在用户终端1的结构信息中没有成为比较对象的WAN侧地址的情况下,用户终端1的P2P通信判断部713,判断为不需要通信线路的设定。
步骤S4605:之后,用户终端1的通信线路设定部714,在步骤S4604中判断为不需要通信线路的设定后,完全不进行通信线路的设定。之后,用户终端1的通信线路设定部714,将用户终端自己的IP地址与P2P通信中所使用的端口编号,作为访问目的地信息通知给用户终端2。
步骤S4606:用户终端1的P2P通信判断部713,在步骤S4602中,对用户终端1或用户终端2的任一个,均判断为仍有要比较的WAN侧地址的信息的情况下,进行以下处理。P2P通信判断部713,判断用户终端1自身的家庭网络结构信息内的WAN侧地址,与作为通信对方的用户终端2的家庭网络结构信息内的WAN侧地址是否一致。其结果,在用户终端1的P2P通信判断部713判断为一致的情况下,返回步骤S4601。
步骤S4607:在步骤S4606中判断为地址不一致的情况下,用户终端1的P2P通信判断部713,对位于WAN侧地址互不相同的路由器的下层的路由器,判断为需要进行通信线路的设定。
或者,在步骤S4603中,用户终端2的结构信息中没有成为比较对象的WAN侧地址的情况下,判断为通信对方的用户终端2,与用户终端2自己的家庭网络内的上游路由器直接相连接。也即,通信对方的用户终端2,与某个路由器直接连接。另外,用户终端1经另外的1个以上的路由器,与直接连接于用户终端2的路由器相连接。因此,用户终端1的P2P通信判断部713,用家庭网络的构成信息判断出作为当前比较对象的路由器到用户终端1之间存在的各个路由器需要通信线路设定。
步骤S4608:之后,用户终端1的通信线路设定部714,根据步骤S4607中的判断结果,执行NAT的设定与防火墙的设定。也即,用户终端1的P2P通信判断部713,在步骤S4606中判断为地址不一致的情况下,指示通信线路设定部714,对位于WAN侧地址互不相同的路由器之下的路由器执行NAT设定与防火墙设定。
另一方面,设用户终端1的P2P通信判断部713,在步骤S4603中,判断为用户终端2的结构信息中没有成为比较对象的WAN侧地址。这种情况下,通信线路设定部714,对从作为当前比较对象的路由器到用户终端1之间存在的各个路由器,执行NAT的设定与防火墙的设定。另外,如前所述,由于通信对方的用户终端2自己与上游的路由器直接连接,因此可认为,本来,如果从用户终端1自身连接通信对方,通过动态NAPT,用户终端不需要进行通信线路设定就能够连接。但是,考虑到因不处理ICMP的路由器等的影响,所取得的结构信息中有时有错,进行通信线路的设定,使得从对方的用户终端也能够进行连接,通过这样提高P2P连接的可靠性。
之后,用户终端1,对通信对方中地址不同的路由器,或通信对方的用户终端2直接连接的路由器属下直接连接的路由器,将其WAN侧地址与进行过NAT设定的端口编号,作为访问目的地信息通知给通信对方的用户终端2。也即,用户终端1自身所取得的路由器的WAN侧地址之中,与对方的用户终端2所取得的WAN侧地址最初为不同值的WAN侧地址,以及该WAN侧地址的路由器中通过NAT设定所设定的端口编号,被通知给用户终端2。例如,P2P通信判断部713,将自身的结构信息与通信对方的结构信息中互不相同时的WAN侧地址,发送给通信对方的通信装置。另外,通信线路设定部714,将通过对具有互不相同时WAN侧地址的路由器的NAT设定所设定的端口编号,发送给通信对方的通信装置。
以上,是P2P通信判断部713所进行的通信线路判断的顺序。
另外,可以考虑各种设定P2P通信的方法。例如可采用的方法为,首先,取得从通信装置到家庭网络中以及与广域网的边界中连接这两个网络间的边界路由器为止的各个路由器的路由器地址。对方的通信装置也同样取得到边界路由器为止的路由器地址。之后,与对方的通信装置之间互相交换路由器地址。接下来,通过判断路由器地址的一致或不一致,来探索通信线路的分支点。之后,进行到分支点的通信线路设定,通信线路的设定完成之后,将分支点的地址信息通知给通信对方的方法。另外,还可以采用下面的方法设定P2P通信。首先,预先进行从通信装置到广域网的通信线路设定。接下来,取得到边界路由器为止的各个路由器的路由器地址,与对方的通信装置之间互相交换路由器地址,来探索分支点。之后,能够通过将分支点的地址信息通知给通信对方,来进行P2P通信。
<通信线路判断的顺序的具体例子>
接下来,使用具体例子对该P2P通信判断部713所进行的通信线路判断的顺序进行说明。下面,对(1)用户终端间的通信经互联网进行的情况,与(2)属于同一个家庭网络的用户终端间的通信的情况进行说明。
(1)经互联网的通信的情况
图52与图53,为用户终端1(T1)与用户终端2(T2)经互联网进行通信的情况的例子。
(1-1)构成例1
图52的构成例1中,用户终端1取得位于互联网与自终端间的路由器R1的WAN侧地址(AR1W),作为家庭网络结构。而用户终端2取得位于互联网与自终端间的路由器R2的WAN侧地址(AR2W),作为家庭网络结构。之后,用户终端1通过地址信息交换消息通知路由器R1的WAN侧地址(AR1W)与用户终端自身的地址AT1。同样,用户终端2通知路由器R2的WAN侧地址(AR2W)与用户终端2的地址AT2。
用户终端1的P2P通信判断部713,比较该地址信息,由于AR1W与AR2W不同,因此判断需要对路由器R1的通信线路设定。之后,用户终端1的通信线路设定部714,执行路由器R1的NAT设定,并根据需要执行防火墙设定之后,将设定了NAT的路由器R1的IP地址与端口编号,作为访问目的地信息通知给用户终端2。同样,用户终端2的P2P通信判断部713,判断需要路由器R2的通信线路设定。之后,通信线路设定部714执行路由器R2的通信线路设定之后,将设定了NAT的路由器R2的IP地址与端口编号,作为访问目的地信息通知给用户终端1。
(1-2)构成例2
接下来,对图53的构成例2进行说明。构成例2,是家庭网络由多级路由器构成的情况。这种情况下,用户终端1取得位于互联网与自终端间的路由器2的WAN侧地址(AR2W)与路由器R1的WAN侧地址(AR1W),作为家庭网络结构。而用户终端2取得位于互联网与自终端间的路由器R5的WAN侧地址(AR5W)与路由器R4的WAN侧地址(AR4W)以及路由器R3的WAN侧地址(AR3W),作为家庭网络结构。之后,用户终端1通过地址信息交换消息,通知路由器R2的WAN侧地址(AR2W)与路由器R1的WAN侧地址(AR1W)以及用户终端自身的地址AT1。另外,用户终端2通过地址信息交换消息,通知路由器R5的WAN侧地址(AR5W)、路由器R4的WAN侧地址(AR4W)、路由器R3的WAN侧地址(AR3W)、以及用户终端2的地址AT2。
用户终端1的P2P通信判断部713,将自己的结构信息的最上层路由器(R2)的WAN侧地址、与用户终端2所通知的地址信息的最上层路由器(R5)的WAN侧地址进行比较,由于AR2W与AR5W不同,因此判断需要位于路由器R2下游的路由器,也即路由器R2及路由器R1的通信线路设定。根据该判断结果,用户终端1的通信线路设定部714执行路由器R2与路由器R1的通信线路设定之后,将进行了NAT设定的路由器R2的IP地址与端口编号作为访问目的地信息通知给用户终端2。另外,用户终端2也一样,判断需要路由器R5、路由器R4、路由器R3的通信线路设定。之后,执行路由器R5、路由器R4、路由器R3的通信线路设定,将进行了NAT设定的路由器R5的IP地址与端口编号作为访问目的地信息通知给用户终端1。
(2)同一路由器下属的通信的情况
图54~图58,为属于同一个家庭网络的用户终端间进行通信的情况的例子。
(2-1)构成例1
图54的构成例1中,用户终端1取得位于互联网与自终端间的路由器GR(GR)的WAN侧地址(AGRW),作为家庭网络结构。而用户终端2取得位于互联网与自终端间的路由器GR(GR)的WAN侧地址(AGRW),作为家庭网络结构。之后,用户终端1(T1),通过地址信息交换消息,通知路由器GR(GR)的WAN侧地址(AGRW)与用户终端自身的地址AT1。用户终端2(T2),通过地址信息交换消息通知路由器GR(GR)的WAN侧地址(AGRW)与用户终端2自己的地址AT2。
用户终端1的P2P通信判断部713,将自己的结构信息的最上层路由器(GR)的WAN侧地址与用户终端2所通知的地址信息的最上层路由器(GR)的WAN侧地址进行比较,由于两者一致,因此要比较下个地址。但是,由于不存在自身的结构信息的下个路由器,因此判断不需要通信线路设定。根据该判断,通信线路设定部714将用户终端1的IP地址与P2P通信用端口编号,作为访问目的地信息通知给用户终端2。另外,在判断不需要通信线路的设定时,可以在检测出没有用户终端2的下个路由器的信息时,判断为与同一个路由器(这种情况下为GR)相连接,验证各个用户终端的地址是否是同一个地址空间,如果是不在同一地址空间的情况,判断为无法连接。
另外,用户终端2也通过同样的顺序,判断为不需要通信线路设定,通信线路设定部714将用户终端2的IP地址与P2P通信用的端口编号,作为访问目的地信息通知给用户终端1。
(2-2)构成例2
图55的构成例2中,用户终端1取得位于互联网与自终端间的路由器GR(GR)的WAN侧地址(AGRW),作为家庭网络结构。而用户终端2取得位于互联网与自终端间的路由器GR(GR)的WAN侧地址(AGRW)与路由器R1的WAN侧地址(AR1W),作为家庭网络结构。之后,用户终端1(T1)与构成例1一样,通过地址信息交换消息通知路由器GR(GR)的WAN侧地址(AGRW)与用户终端自身的地址AT1。另外,用户终端2(T2),通过地址信息交换消息通知路由器GR(GR)的WAN侧地址(AGRW)、路由器R1的WAN侧地址(AR1W)以及用户终端自身的地址AT2。
用户终端1的P2P通信判断部713,将自己的结构信息的最上层路由器(GR)的WAN侧地址与用户终端2所通知的地址信息的最上层路由器(GR)的WAN侧地址进行比较,由于两者一致,因此要比较下个地址。但是由于不存在自身的结构信息的下个路由器,因此判断为不需要通信线路设定。根据该判断,通信线路设定部714将用户终端1的IP地址与P2P通信用的端口编号,作为访问目的地信息通知给用户终端2。用户终端1的P2P通信判断部713,将自己的结构信息的最上层路由器(GR)的WAN侧地址与用户终端2所通知的地址信息的最上层路由器(GR)的WAN侧地址进行比较,由于两者一致,因此要比较下个地址。但是由于不存在自身的结构信息的下个路由器,因此判断为不需要通信线路设定。根据该判断,通信线路设定部714将用户终端1的IP地址与P2P通信用的端口编号,作为访问目的地信息通知给用户终端2。
另外,用户终端2的P2P通信判断部713,将自己的结构信息的最上层路由器(GR)的WAN侧地址与用户终端1所通知的地址信息的最上层路由器(GR)的WAN侧地址进行比较,由于两者一致,因此要比较下个地址。但是,虽然存在自身的结构信息的下个路由器(R1),但由于用户终端1所通知的地址信息中不存在下一个路由器的信息,因此判断为需要路由器R1的通信线路设定。根据该判断,通信线路设定部714执行路由器R1的通信线路设定,将执行了NAT设定的路由器R1的IP地址与端口编号,作为访问目的地信息通知给用户终端1。
(2-3)构成例3
图56的构成例3中,用户终端1取得位于互联网与自终端间的路由器GR(GR)的WAN侧地址(AGRW)、路由器R2的WAN侧地址(AR2W)、以及路由器R1的WAN侧地址(AR1W),作为家庭网络结构。而用户终端2取得位于互联网与自终端间的路由器GR(GR)的WAN侧地址(AGRW)、路由器R5的WAN侧地址(AR5W)、路由器R4的WAN侧地址(AR4W)、路由器R3的WAN侧地址(AR3W),作为家庭网络结构。之后,用户终端1(T1),通过地址信息交换消息通知路由器GR(GR)的WAN侧地址(AGRW)、路由器R2的WAN侧地址(AR2W)、路由器R1的WAN侧地址(AR1W)、以及用户终端自身的地址AT1。另外,用户终端2(T2)通过地址信息交换消息通知路由器GR(GR)的WAN侧地址(AGRW)、路由器R5(R5)的WAN侧地址(AR5W)、路由器R4的WAN侧地址(AR4W)、路由器R3的WAN侧地址(AR3W)、以及用户终端自身的地址AT2。
用户终端1的P2P通信判断部713,将自己的结构信息的最上层路由器(GR)的WAN侧地址与用户终端2所通知的地址信息的最上层路由器(GR)的WAN侧地址进行比较,由于两者一致,因此要比较下个地址。下个路由器的比较中,在自己的结构信息中,比较路由器R2的WAN侧地址(AR2W)与用户终端2所通知的地址信息的路由器R5的WAN侧地址(AR5W),检测出两者不一致。结果是,P2P通信判断部713判断需要路由器R2以下的各个路由器即路由器R2与路由器R1的通信线路设定。
用户终端2的P2P通信判断部713,同样执行了路由器GR的WAN侧地址彼此的比较之后,执行路由器R5与路由器R2的WAN侧地址的比较,检测出两者不一致,判断需要路由器R5以下的各个路由器即路由器R5、路由器R4、以及路由器R3的通信线路设定。
(2-4)构成例4
图57的构成例4中,用户终端1取得位于互联网与自终端间的路由器GR(GR)的WAN侧地址(AGRW)、路由器R2的WAN侧地址(AR2W)、以及路由器R1的WAN侧地址(AR1W),作为家庭网络结构。而用户终端2取得位于互联网与自终端间的路由器GR(GR)的WAN侧地址(AGRW)、路由器R2的WAN侧地址(AR2W)、路由器R1的WAN侧地址(AR1W)、以及路由器R3的WAN侧地址(AR3W),作为家庭网络结构。之后,用户终端1(T1),通过地址信息交换消息通知路由器GR(GR)的WAN侧地址(AGRW)、路由器R2的WAN侧地址(AR2W)、路由器R1的WAN侧地址(AR1W)、以及用户终端自身的地址AT1。另外,用户终端2(T2)通过地址信息交换消息通知路由器GR(GR)的WAN侧地址(AGRW)、路由器R2的WAN侧地址(AR2W)、路由器R1的WAN侧地址(AR1W)、路由器R3的WAN侧地址(AR3W)、以及用户终端自身的地址AT2。
用户终端1的P2P通信判断部713,将自己的结构信息的最上层路由器(GR)的WAN侧地址与用户终端2所通知的地址信息的最上层路由器(GR)的WAN侧地址进行比较,由于两者一致,因此比较作为下个路由器的路由器R2的WAN侧地址。由于该信息也相一致,因此比较作为下个路由器的路由器R1的WAN侧地址。然后,由于其相一致,因此要比较下个路由器,由于不存在自身的结构信息的下一个路由器,因此判断不需要通信线路设定。根据该判断,通信线路设定部714将用户终端自身的IP地址与P2P通信用的端口编号,作为访问目的地信息通知给用户终端1。
用户终端2的P2P通信判断部713,同样由于路由器GR的WAN侧地址相一致,因此顺次进行路由器R2的WAN侧地址、路由器R1的WAN侧地址的比较。之后,要比较下个路由器的WAN侧地址。但是,虽然存在自身的结构信息的下个路由器(R3),但用户终端1所通知的地址信息中不存在下个路由器的信息,因此判断需要路由器R3的通信线路设定。根据该判断,通信线路设定部714执行路由器R3的通信线路设定,将执行了NAT设定的路由器R3的IP地址与端口编号,作为访问目的地信息通知给用户终端1。
(2-5)构成例5
图58的构成例5中,用户终端1取得位于互联网与自终端间的路由器GR(GR)的WAN侧地址(AGRW)、路由器R3的WAN侧地址(AR3W)、路由器R2的WAN侧地址(AR2W)、以及路由器R1的WAN侧地址(AR1W),作为家庭网络结构。而用户终端2取得位于互联网与自终端间的路由器GR(GR)的WAN侧地址(AGRW)、路由器R3的WAN侧地址(AR3W)、路由器R2的WAN侧地址(AR2W)、路由器R5的WAN侧地址(AR5W)、以及路由器R4的WAN侧地址(AR4W),作为家庭网络结构。之后,用户终端1(T1),通过地址信息交换消息通知路由器GR(GR)的WAN侧地址(AGRW)、路由器R3的WAN侧地址(AR3W)、路由器R2的WAN侧地址(AR2W)、路由器R1的WAN侧地址(AR1W)、以及用户终端自身的地址AT1。另外,用户终端2(T2)通过地址信息交换消息通知路由器GR(GR)的WAN侧地址(AGRW)、路由器R3的WAN侧地址(AR3W)、路由器R2的WAN侧地址(AR2W)、路由器R5的WAN侧地址(AR5W)、路由器R4的WAN侧地址(AR4W)、以及用户终端自身的地址AT2。
用户终端1的P2P通信判断部713,将自己的结构信息的最上层路由器(GR)的WAN侧地址与用户终端2所通知的地址信息的最上层路由器(GR)的WAN侧地址进行比较,由于两者一致,因此比较作为下个路由器的路由器R3的WAN侧地址。由于该信息也相一致,因此比较作为下个路由器的路由器R2的WAN侧地址。之后,由于其相一致,比较下个路由器的信息,通过这样,比较路由器R1的WAN侧地址(AR1W)与路由器R5的WAN侧地址(AR5W),并检测出两者不一致。其结果是,用户终端1的P2P通信判断部713,判断需要对路由器R1进行通信线路设定。根据该判断,通信线路设定部714执行路由器R1的通信线路设定,将执行了NAT设定的路由器R1的IP地址与端口编号,作为访问目的地信息通知给用户终端2。
另外,用户终端2的P2P通信判断部713,同样顺次比较最上层的路由器GR的WAN侧地址、路由器R3的WAN侧地址、路由器R2的WAN侧地址,比并较路由器R5的WAN侧地址(AR5W)与路由器R1的WAN侧地址(AR1W),检测出两者不一致。其结果是,用户终端2的P2P通信判断部713,判断需要对路由器R5以下的各个路由器即路由器R5、路由器R4实施通信线路设定。根据该判断,通信线路设定部714执行路由器R5与路由器R4的通信线路设定,将执行了NAT设定的路由器R5的IP地址与端口编号,作为访问目的地信息通知给用户终端1。
<通过地址信息交换所发送的地址信息>
接下来,对通过地址信息交换所发送的地址信息的另一例进行说明。如图45所示,输入用户终端自身的地址,作为通过地址信息交换所发送的地址信息。但是,也可以不输入用户终端自身的地址,将设在同一路由器属下时地址空间是否相一致的确认,放在取得访问目的地信息消息时进行。
另外,如图59(a)所示,还可以在地址信息消息中同时发送路由器的LAN侧地址,对于无法取得WAN侧地址的路由器,通过LAN侧地址的比较来代替。但是,这种情况下,即使地址一致,也不能够明确地说是同一个路由器。
另外,虽然地址信息交换中发送路由器的WAN侧地址,但该路由器的WAN侧地址信息是用来识别路由器的信息,也可以是能够通过其他协议取得的路由器的识别编号等(例如UPnP中的UUID等)信息。
另外,地址信息消息中,还可以如图59(b)所示,利用P2P服务器,取得分配给用户终端的全局地址,将该地址也通过地址信息来通知。通过这样,P2P通信判断部713在顺次比较路由器的WAN侧地址之前,首先比较该全局地址,这样能够避免因无法取得真正的最上层路由器的WAN侧地址,P2P通信判断部713进行错误判断。
这里,利用P2P服务器取得分配给用户终端的全局地址的方法,例如可以通过如下来实施,从用户终端将要求取得全局地址的消息发送给P2P服务器,接收到该消息的P2P服务器,发送净荷中设置了该消息的发送源信息(IP地址,端口编号)的应答消息。
另外,如图59(c)所示,可以在用户终端的电源ON时等,事先进行到最上层的路由器的通信线路设定,在地址信息交换时,将各个路由器中设定的通信线路的信息(进行NAT设定的端口编号)一并发送。通过这样,P2P通信判断部713在判断需要通信线路设定的路由器的同时,还得知了访问目的地,因此不需要访问目的地信息的交换阶段能够进行高速动作。
(作用效果)
本通信装置中,在多级路由器所构成的网络中也能够掌握路由器结构,通过这样,能够进行NAT设定以及防火墙设定等通信线路设定。通过像这样进行通信线路设定,即使在一方或两方的通信装置在家庭网络内经多级路由器相连接的情况下,也能够进行通信装置间的P2P通信。
(第8实施方式:进行通信机器的设定的情况)
下面,根据附图对本发明的第8实施方式进行说明。
(全体构成)
图60中示出了本发明的第8实施方式的家庭网络之构成。家庭网络7002中,多级连接有多个路由器。通信装置750,作为检测出家庭网络的状态的网络结构检测装置发挥功能。
图60中,互联网7001与家庭网络7002相连接。家庭网络7002中,多级连接有第1路由器720、第2路由器730、第3路由器740。第3路由器740的属下,连接有作为网络结构检测装置发挥功能的通信装置750。另外,第1路由器720,经WAN侧通信I/F7201与互联网7001相连接,经LAN侧通信I/F7202与第2路由器730及具有通信功能的第1通信机器760相连接。第1路由器720的LAN侧通信I/F7202,与第2路由器730的WAN侧通信I/F7301以及第1通信机器760的WAN侧通信I/F7601一起构成同一阶层的网络。
第2路由器730,经WAN侧通信I/F7301与第1路由器720相连接,同时经LAN侧通信I/F7302与第3路由器740、第2通信机器765相连接。第2路由器730的LAN侧通信I/F7302,与第3路由器740的WAN侧通信I/F7401、第2通信机器765的WAN侧通信I/F7605构成同一阶层的网络。
第3路由器740,经WAN侧通信I/F7401与第2路由器730相连接,同时经LAN侧通信I/F7402与通信装置750、具有通信功能的第3通信机器770相连接。第3路由器740的LAN侧通信I/F7402、通信装置750的WAN侧通信I/F7501、以及第3通信机器770的WAN侧通信I/F7610,构成同一阶层的网络。
这里,可以采用包含无线LAN下的网络的结构。例如,在构成为具有无线LAN接口作为第2路由器730的LAN侧通信I/F7302的情况下,第2通信机器765与第2路由器730的连接,可以采用无线LAN下的网络结构。
(通信装置的构成)
图61为表示通信装置750的构成的功能方框图。通信装置750,具有TTL调节部781、包发送部782、地址生成部783、路由器掌握部784、地址掌握部785、包接收部786、机器掌握部787、显示部788、以及IP处理部789。
首先,TTL调节部781,为了检测出网络中存在的路由器,调节TTL的值并同时生成ICMP的探索包。这里,为了检测出家庭网络中存在的路由器,将TTL的值在1~3程度的值上进行调节,来生成探索包。包发送部782,将所生成的探索包,经IP处理部789发送给适当设定的地址目的地(例如互联网上的地址)。这里,探索包,包括用来发现路由器的路由器发现用包以及用来发现与路由器相连接的通信机器的机器发现用包。
包接收部786,经IP处理部789接收对从包发送部782所发送的探索包的应答包。
地址掌握部785,接收由包接收部786所接收到的应答包。之后,地址掌握部785根据该应答包,抽出家庭网络内的路由器或通信机器的地址。地址掌握部785,将路由器的地址发送给路由器掌握部784,将各个通信机器的地址发送给机器掌握部787。
地址生成部783,根据地址掌握部785所抽出的路由器或通信机器的地址,生成成为包的发送目的地的地址。
路由器掌握部784,根据所取得的路由器地址,掌握关于该路由器的信息。同样,机器掌握部787,根据所取得的通信机器地址,掌握关于该通信机器的属性信息。这里,机器掌握部787,通过SNM(Simple NetworkManagement Protocol)等,参照MIB(Management Information Base)信息判别通信机器。
显示部788,显示出路由器掌握部784所检测出的路由器的信息以及机器掌握部787所检测出的通信机器的信息。
(处理流程)
下面对与如上所构成的家庭网络7002相连接的通信装置750的动作进行说明。图62为表示通信装置750的动作的流程图之一例。
(1)路由器的掌握及显示
首先,对路由器的掌握及显示的处理进行说明。
步骤S700、S701:开始本处理之后,通信装置750的TTL调节部781,通过TTL调节部781对TTL的值进行初始化(S700),进而将TTL的值递增(S701)。TTL是用来防止发送包因设定错误而变为无限循环而设置的。通过设定TTL,表示出包的有效期间。
步骤S702:TTL调节部781,判断TTL的值是否超过了给定值。在TTL调节部781判断为TTL的值为预先设定的给定值以下的情况下,进入步骤S703的处理。而在判断为TTL调节部781超过了给定值的情况下,结束路由器检测的处理,进入步骤S709的处理。
步骤S703:步骤S702中在TTL的值没有超过预先设定的给定值的情况下,包发送部782经IP处理部789发送用来检测出路由器的探索包。接收到探索包的路由器,在让探索包通过时将TTL的值递减,在该值变为“0”的情况下,将Time Exceeded消息包回发给发送源。
步骤S704、S705:通信装置750的包接收部786,接收路由器回发的应答包(S704)。地址掌握部785,对包接收部786所接收到的应答包进行解析,取得将应答包发送过来的路由器的LAN侧地址。
步骤S706:地址掌握部785,判断所取得的路由器的LAN侧地址是全局地址还是本地地址。
步骤S707、S708:地址掌握部785,在判断路由器的LAN侧地址是本地地址的情况下,识别出其为存在于网络上的路由器。之后,路由器掌握部784,访问该路由器,取得路由器的信息(S707)。路由器掌握部784,将关于网络内的路由器的信息输出给显示部788,显示部788将该路由器显示在画面上(S708)。这里,地址掌握部785,根据所取得的路由器的LAN侧地址,将用来取得该路由器的WAN侧地址的取得请求包,发送给相应的路由器。之后,地址掌握部785,从该路由器接收应答包来取得WAN侧地址,掌握该路由器。这里,路由器掌握部784,能够通过SNMP等参照MIB信息,来判别机器。
之后,再次回到步骤S701,通过TTL调节部781对TTL的值进行递减。之后,进行探索包的发送以及应答包的接收,来掌握网络上的路由器,并重复以上动作。
(2)通信机器的掌握与显示
接下来,对通信机器的掌握与显示的处理进行说明。
步骤S709:地址掌握部785,在判断为所取得的路由器的LAN侧地址是全局地址的情况下,识别出该路由器是家庭网络外的互联网上的路由器。之后,地址掌握部785,指示地址生成部782中止路由器探索用地址的生成,中止路由器的检索处理。另一方面,地址掌握部785,指示地址生成部782生成用来探索与路由器相连接的通信机器的地址。
地址生成部782,根据地址掌握部785所取得的路由器的LAN侧地址,生成成为检索对象的通信机器的地址。家庭网络中所使用的地址,有各种各样的种类(种类A、种类B、种类C),但这里以使用种类C为例,通过让所取得的路由器的LAN侧的地址的低8位长,在1~254之间进行变化,能够推测与路由器相连接的通信机器的地址。因此,地址生成部783,根据所取得的路由器的LAN侧地址,推测并生成通信机器的地址。
另外,在网络是种类C以外的种类A、种类B等地址种类的情况下,也能够根据这些种类来推测通信机器的地址。
步骤S710:包发送部782,将地址生成部783所生成的地址作为目的地,生成并发送用来检测出通信机器的探索包。
在对应于包发送部782所发送的探索包的通信机器存在于家庭网络7002上的情况下,对应的通信机器发送对探索包的应答包。从而,包接收部786接收来自通信机器的应答包,地址掌握部785,从应答包取得通信机器的地址。另外,作为检索通信机器的包,除了ICMP包之外,还可以使用用来根据IP地址请求物理层的网络地址的ARP(Address ResolutionProtocol)包。
步骤S711、S712:包接收部786,接收来自通信机器的对所发送的探索包的应答包(S711)。接下来,地址掌握部785,判断是否从应答包取得了通信机器的地址(S712)。在取得了机器地址的情况下,进行步骤S713,在没有取得的情况下,进行步骤S715。
步骤S713:机器掌握部787,根据所取得的通信机器的地址,取得关于通信机器的通信机器信息。
步骤S714:机器掌握部787,将所取得的通信机器的信息输出给显示部788,显示部788显示该通信机器的信息。
步骤S715、S716:地址掌握部785,判断是否生成用于下个探索包的地址(S715)。这里,在判断为对推测为连接在路由器属下的通信机器的地址的地址全部检索完成的情况下,执行检索结束处理(S716)。另外,地址掌握部785,在进一步生成地址并进行检索的情况下,指示地址生成部783生成下一个地址。通过该指示,地址生成部783进行地址的生成(S709)。通过这样,来继续通信机器的检索。
通过以上的构成,通信装置750通过将变化了TTL的值的探索包发送给路由器,能够分别取得图60的第3路由器740的LAN侧通信I/F7402、第2路由器730的LAN侧通信I/F7302、第1路由器720的LAN侧通信I/F7202的地址。
(路由器的地址的取得)
根据图63,对取得这样的网络内的路由器结构的方法进行说明。图63,是用来说明路由器的检测方法的说明图。
例如,从通信装置750发送将TTL设为1的ICMP的Echo Request消息包ER1后,在要通过第3路由器740的时刻,TTL变为0。之后,第3路由器740对作为发送源的通信装置750,回发ICMP的Time Exceeded消息包TE1。
接下来,从通信装置750发送将TTL设为2以及3的ICMP的EchoRequest消息包ER2以及ER3后,该消息包ER2以及ER3分别到达第2路由器730与第1路由器720。之后,第2路由器730与第1路由器720,分别将ICMP的Time Exceeded消息包TE2与TE3回发给通信装置750。
另外,还可以从通信装置750同时并列发送TTL的值不同的多个ICMP的Echo Request消息包。例如,从通信装置750同时发送TTL的值为1~3的3个ICMP的Echo Request消息包ER1~ER3。这种情况下,设为TTL=1的包ER1送到第3路由器740,设为TTL=2的包ER2送到第2路由器730,设为TTL=3的包ER3送到第1路由器720。之后,从各个路由器将ICMP的Time Exceeded消息包TE1~TE3,回发给通信装置750。
对于通信装置750所发送的ICMP的Echo Request消息包ER,从路由器回发来的应答包TE的发送源地址,表示各个路由器的LAN侧地址。
这里,对设为TTL=1并由通信装置750所发送的ICMP的EchoRequest消息包ER1的应答包TE1的发送源地址,为第3路由器740的LAN侧地址。同样,应答包TE2以及TE3的发送源地址,为第2路由器730以及第1路由器720的LAN侧地址。通过这样,能够掌握位于网络上的各个路由器的LAN侧地址。
这里,在通信装置750同时发送多个ICMP的Echo Request消息包时,在将TTL的值递减的同时,将顺序编号递增来生成包,并发送所生成的ICMP的Echo Request。通信装置750,能够接收路由器所发送的ICMP TimeExceeded Message包,使用所接收到的包中含有的ICMP的Echo Request消息的顺序编号,确定发送时所指定的TTL的值。
(通信机器的地址的取得)
根据图60与图64,对取得网络内的通信机器之构成的方法进行说明。图64为用来说明与路由器相连接的通信机器的检测方法的说明图。另外,图64中只示出了第1通信机器的检测方法。
家庭网络中,使用各种地址(种类A、种类B、种类C)。例如,以使用种类C的地址的情况为例,根据图64,对从各个路由器的LAN侧地址检测出与该路由器相连接的通信机器的地址的方法进行说明。
通信装置750的地址生成部783,通过上述图63所示的方法,根据路由器的LAN侧地址,推测与该路由器相连接的通信机器的地址。例如,若设取得的路由器的LAN侧地址是种类C,地址生成部783,通过让LAN侧地址的低8位在1~254间进行变化,来推测并生成被认为与路由器相连接的通信机器的地址。例如,如下来推测地址。
另外,如图60与图64所示,设第1路由器720与互联网7001的连接关系为第1网络711,第1路由器720的LAN侧网络为第2网络712,第2路由器730的LAN侧网络为第3网络713,第3路由器740的LAN侧网络为第4网络714。
与第2网络712相连接的第1通信机器760的地址,是与第1路由器720的LAN侧地址相同的类型。另外,该通信机器的地址,应当设为使除了该地址种类中所设定的网络掩码之外的低位变化的值。在设第1路由器720的LAN侧地址为种类C的情况下,生成低8位长在1~254间变化的地址。通过这样,能够网罗存在于第2网络712上的第1通信机器760的地址。对这里所生成的地址,从通信装置750发送ICMP的Echo Request的消息包。另外,如果所生成的地址是存在于第2网络712上的第1通信机器760的地址,则第1通信机器760正常回发作为应答包的ICMP的EchoReply消息包。通过这样,能够将该地址确定为第1通信机器760的地址。另外,生成通信机器的地址时,还可以是种类C以外的种类A或种类B。
在能够确定通信机器的地址的情况下,对于能从通信装置750确定地址的通信机器,能使用SNMP等进行访问,取得各个通信机器的属性信息。这里,属性信息是指机器的Location、用户昵称、机器的状态、图标状态、型号等与机器相关联的信息。
另外,虽然取得各个通信机器的属性信息时使用SNMP,但也可以使用UPnP(Universal Plug and Play),来取得设备的设备描述,或通过动作请求取得属性信息。
在对通信装置750所发送的ICMP的Echo Request的消息包,没有ICMP的Echo Reply消息的情况下,变更地址,并同样发送ICMP的EchoRequest消息包。
另外,虽然以地址生成部783根据地址掌握部785的指示,逐次生成地址,并由包发送部782逐次发送为例进行了说明,但还可以让地址生成部783一次进行多个地址生成,包发送部782将探索包同时发送给所生成的多个地址。例如,在第1路由器720的LAN侧地址是种类C的情况下,可以由地址生成部783一次生成低8位长在1~254间变化的地址,将探索包一次发送给包发送部782所生成的地址。
(具体例子)
图65为表示家庭网络的具体构成例的说明图。家庭网络内,多级连接有第1、第2、第3路由器720、730、740。另外,第2路由器730上,连接有具有通信功能的DVD与照相机,第3路由器740上连接有具有通信功能的电视机。
通信装置750,取得第3路由器740的LAN侧地址“192.168.0.1”后,推测与该第3路由器740相连接的通信机器的地址,发送探索包。之后,通信装置750能够从电视机发送来的应答包中取得通信机器的地址“192.168.0.5”。通信装置750,对该通信机器的地址发送请求机器信息的包,并接收应答包。通过这样,能够取得该通信机器是电视机的这一机器信息。
另外,通信装置750,取得第2路由器730的LAN侧地址“192.168.5.2”后,推测与该第2路由器730相连接的通信机器的地址,并发送探索包。之后,通信装置750,能够通过接收来自通信机器的应答包,取得各自的地址“192.168.5.10”、“192.168.5.13”。另外,通信装置750,能够对通信机器的地址从通信装置750发送请求包,取得各自的机器信息。其结果是,通信装置750能够取得与第2路由器730相连接的通信机器是DVD录像机以及照相机这一机器信息。同样,通信装置750,能够取得连接在第1路由器720属下的通信机器的地址以及机器信息。
另外,通信装置750,检测到第1路由器720连接互联网的接口7011的全局地址后,中止路由器的检索处理。通过这样,通信装置750能够只检测出家庭网络内的网络结构。
通过将通信装置750如上所取得的各个路由器以及通信机器的信息显示在画面上,即使在多级存在路由器的网络中,用户也能够掌握网络结构。图66为通过通信装置的显示部所显示的网络结构之一例。如图66所示,显示画面中示出了各个路由器以及各个通信机器的连接结构。另外,对于各个路由器,显示出设置场所、电源的ON/OFF状态、以及LAN侧IP地址。另外,对各个通信机器,表示出设置场所、电源的ON/OFF状态、以及IP地址。
另外,本实施方式中,关于图62中ICMP的Echo Request消息包的处理,也可以同时发送多个ICMP的Echo Request消息包,掌握路由器的LAN侧地址。
另外,虽然本实施方式中,机器检索包中也是对1个包进行处理,但也可以在同时发送多个机器检索包之后,等待来自机器的应答。
另外,虽然为了检测出路由器,使用ICMP包,但也可以使用UDP。在使用UDP的情况下,通过变化TTL,同时变化目的地地址或端口编号,能够进行与ICMP同样的控制。
(作用效果)
如上所述,通信装置通过发送以TTL为变量的路由器发现用包,能够取得家庭网络内的路由器的路由器地址。进而,通信装置根据该路由器地址发送探索通信机器的包,通过这样能够取得与路由器相连接的通信机器的地址。另外,通过显示出访问这些路由器以及通信机器所取得的信息,即使在多级路由器所构成的家庭网络中,用户也能够掌握网络结构。
(第9实施方式)
下面对照附图,对本发明的第9实施方式进行说明。
(全体构成)
图67中示出了本发明的第9实施方式中的装置全体之构成,示出了家庭网络中,路由器多级连接的网络的结构图。
图67中,互联网8001与家庭网络8002相连接。家庭网络8002中,多级连接有第1路由器820、第2路由器830、第3路由器840,第3路由器840的属下连接有起到网络结构检测装置的功能的通信装置850。另外,第1路由器820上连接有第1通信机器860,第2路由器830上连接有第2通信机器865。这里,各个路由器以及通信机器,经LAN侧IF通信以及WAN侧IF通信8201、8202、8301、8302、8401、8402、8501、8601、8605互相连接。
(通信装置之构成)
图68为表示通信装置之构成的功能方框图。通信装置850,由通常的计算机构成,例如通过将网络结构检测方法的程序展开到RAM上,来构成网络结构检测装置。
通信装置850,具有地址生成部881、包发送部882、包接收部886、地址掌握部885、路由器掌握部884、显示部888、机器掌握部887、以及IP处理部889。
(处理的流程)
下面对与如上所构成的家庭网络8002相连接的通信装置850的动作进行说明。图69为表示通信装置750的动作的流程图之一例。
(1)路由器的掌握与显示
首先,对路由器的掌握与显示的处理进行说明。
步骤S800~S802:通信装置850的包发送部882,为了掌握直接连接的路由器的LAN侧地址,发送用来检索路由器的包(S800)。包接收部886,接收对所发送的包的应答包(S801)。地址掌握部885,从应答包取得路由器的LAN侧地址(S802)。
步骤S803:地址掌握部885取得LAN侧地址,根据该LAN侧地址取得路由器的WAN侧地址。
步骤S804:地址掌握部885,判断是探索存在于网络上的路由器,还是探索连接在路由器属下的通信机器。
步骤S805:在进行路由器的探索的情况下,地址生成部881根据路由器的WAN侧地址,推测位于更靠WAN侧的上层路由器的LAN侧地址,并生成地址。这里,家庭网络中所使用的地址的种类,有种类A、种类B、种类C等。在使用种类C的地址的情况下,通过将路由器的WAN侧地址的低8位在1~254间变化,能够推测并生成上层路由器的LAN侧地址。
步骤S806:包发送部882,为了掌握上层路由器的LAN侧地址,向地址生成部881所生成的地址目的地发送用来检索路由器的探索包。这里,关于用来探索路由器的探索包,可以向所生成的地址通过单播发送M-SEARCH作为UPnP的机器检索包。
步骤S807:包接收部886,如果从发送探索包起经过一定时间还没有来自路由器的应答,就判断为所生成的地址中不存在路由器。此时,地址生成部881再次生成地址(S805),包发送部882向所生成的地址目的地发送探索包(S806)。
步骤S808:包接收部886接收到应答包后,将所接收到的应答包转交给地址掌握部885。地址掌握部885,从应答包取得路由器的LAN侧地址。
地址生成部881、包发送部882、地址掌握部885等,重复执行处理,直到检测出作为检索对象的路由器。
步骤S809:地址掌握部885,判断所取得的路由器的LAN侧地址是全局地址还是本地地址。地址掌握部885,在判断为所取得的路由器的LAN侧地址是全局地址的情况下,结束该检索处理。
步骤S810:在判断为地址掌握部885所取得的路由器的LAN侧地址是本地地址的情况下,路由器掌握部884根据该LAN侧地址,取得路由器的信息,掌握路由器。
步骤S811:路由器掌握部884,将所取得的路由器的信息发送给显示部888,显示部888显示出路由器的信息。
之后,从所取得的路由器的LAN侧地址发送路由器的地址请求包,取得路由器的WAN侧地址(S803),并重复以下的处理。
(2)通信机器的掌握与显示
接下来,对通信机器的掌握与显示的处理进行说明。
步骤S812:在通信装置750进行通信机器的检索的情况下(S804),地址生成部881,根据地址掌握部885所取得的路由器的WAN侧地址,产生用来预测通信机器的地址的地址。地址生成部881与路由器的探索同样,根据路由器的WAN侧地址,推测与位于更靠WAN侧的上层路由器同一阶层的网络中所连接的通信机器的地址,并生成地址。与前述相同,在使用种类C的地址的情况下,通过将路由器的WAN侧地址的低8位在1~254间变化,能够推测并生成上层路由器属下所连接的通信机器的地址。
步骤S813:包发送部822对地址生成部881所生成的地址,发送用来探索通信机器的机器探索包。
步骤S814:包接收部886,判断是否接收到了对所发送的机器探索包的应答包。在包接收部886经过给定时间仍没有接收到应答包的情况下,地址生成部881生成用于下一机器探索包的地址。另外,还能够同时发送多个机器探索包。
步骤S815:包接收部886,在判断为接收到了对所发送的机器探索包的应答包的情况下,地址掌握部885从应答包取得通信机器的地址。
步骤S816:机器掌握部887,根据所取得的通信机器的地址,取得并存储该通信机器的属性信息。
步骤S817:显示部888显示出所取得的通信机器的信息。
步骤S818、S819:地址掌握部885,判断为了预测通信机器的地址所可能产生的地址是否已经结束(S818),在判断地址已经结束的情况下,结束检索处理(S819)。
(路由器以及通信机器的地址取得)
根据图70,对取得这样的网络内的路由器构成与通信机器的构成的方法进行说明。图70为用来说明路由器的检测方法的说明图。
通信装置850,指定路由器作为成为检索对象的设备,多播发送UPnP下的M-SEARCH请求。如果通信线路上存在路由器,路由器对从通信装置850所发送的包进行应答。通信装置850,能够从该应答信息取得通信装置850直接连接的路由器的LAN侧地址。这种情况下,通信装置850中,取得第3路由器840的LAN侧通信I/F8402的地址。
接下来,通信装置850,向第3路由器840的LAN侧地址,发送用来取得第3路由器840的WAN侧地址的请求包。通信装置850,接收来自第3路由器840的应答包,取得第3路由器840的WAN侧地址。这里,从通信装置850对第3路由器840,进行UPnP IGD所规定的Get ExternalIP Address请求。之后,从第3路由器840向通信装置850发送了GetExternal IP Address应答包后,通信装置850能够从该应答包取得第3路由器840的WAN侧地址。
通信装置850,为了推测第2路由器830的LAN侧地址,生成变更了第3路由器840的WAN侧地址的一部分的地址。这里,第2路由器830的LAN侧地址,存在于与第3路由器840的WAN侧通信I/F8401同一网络即第3网络803中。通信装置850,向所生成的地址发送用来探索路由器的探索包。这里,通信装置850,通过接收来自第2路由器830的应答包,能够在网络上发现作为检索对象的第2路由器830。进而,通信装置850通过应答包的接收,能够根据通信装置850所生成的地址掌握第2路由器830的LAN侧地址。
这里,通信装置850,对所生成的地址单播发送UPnP的M-SEARCH请求,检索路由器作为成为检索对象的设备。通信装置850,生成LAN侧地址,并向所生成的地址发送M-SEARCH请求,直到发现路由器。通信装置850,通过接收M-SEARCH应答,能够发现存在于网络上的路由器。
另外,在掌握路由器的LAN侧地址的情况下也一样,对通信机器也生成推测的地址,发送用来检索通信机器的探索包。通信装置850通过接收对探索包的应答包,能够识别出所生成的地址目的地中存在通信机器。
另外,虽然以上说明的是,地址生成部881根据地址掌握部885的指示,逐次生成地址,并由包发送部882逐次发送,但地址生成部881也可以一次进行多个地址生成,向包发送部882所生成的多个地址同时发送探索包。例如,在第1路由器的LAN侧地址是种类C的情况下,地址生成部881一次生成低8位长在1~254间变化的地址,并且包发送部882向所生成的地址一次发送探索包。
(具体例子)
图71为表示家庭网络的具体构成例的说明图。如图71所示,设通信装置850,识别出直接连接的第3路由器840的LAN侧地址“192.168.0.1”。这里,通信装置850,推测与第3路由器840相连接的具有通信功能的通信机器的地址,并发送探索包,通过从通信机器所发送的应答包能够取得地址“192.168.0.5”。通信装置850向该地址发送请求机器信息的包,并接收应答包。通过这样,例如,能够取得该通信机器是是电视机的这一属性信息。
另外,通信装置850向第3路由器840发送请求WAN侧地址的包,取得第3路由器840的WAN侧地址“192.168.5.12”。通信装置850,根据该第3路由器840的WAN侧地址,推测第2路由器830的LAN侧地址以及通信机器210、220的地址,发送探索包。之后,通信装置850,通过接收来自通信机器的应答包,取得“192.168.5.2”、“192.168.5.10”、“192.168.5.13”。另外,通信装置850,能够向这些通信机器的地址发送请求包,取得各自的属性信息。这里,属性信息是机器的Location、用户昵称、机器的状态、图标状态、型号。其结果是,通信装置850能够得到通信机器是DVD录像机以及照相机之类的属性信息。
进而,通信装置850,向第2路由器830发送地址请求包,取得第2路由器830的WAN侧地址即“192.168.10.1”。
通信装置850,根据第2路由器830的WAN侧地址,推测第1路由器820的LAN侧地址,发送路由器探索包。通信装置850,通过接收对该路由器探索包的应答包,能够取得第1路由器820的LAN侧地址即“192.168.10.5”。
进而,通信装置850向第1路由器820发送地址请求包,取得第1路由器820的WAN侧地址即“xxx.131.132.132”。该第1路由器820的WAN侧地址,是全局地址。因此,通信装置850能够检测出该第1路由器820与互联网相连接,此时可识别出能够掌握家庭网络的结构。
另外,虽然本实施方式中,关于进行路由器检索的探索包以及探索机器的探索包的发送接收的顺序,进行1个包的发送并实施接收的处理,但也能够同时发送接收多个探索包。
通过将通信装置850如上所取得的各个路由器以及通信机器的信息显示在画面中,即使在多级存在有路由器的网络中,用户也能够掌握网络结构。图72为通过通信装置的显示部所显示的网络结构之一例。如图72所示,显示画面中示出了各个路由器以及各个通信机器的连接结构。
(作用效果)
本实施方式的通信装置,不进行变化TTL的路由器发现用包的生成或将生成的包向家庭网络内的发送,也能够取得路由器的结构。另外,即使在包含有转发路由器发现用包时不进行减少TTL的处理的路由器的情况下,也能够掌握家庭网络内的路由器结构。进而,即使在包含有对路由器应答包进行过滤的路由器的情况下,也能够掌握家庭网络内的路由器的结构。
(第10实施方式:使用ICMP与UPnP的路由器检测)
下面对照附图,对本发明的第10实施方式进行说明。
(全体构成)
图73为本发明的第10实施方式的家庭网络的结构图。
图73中,互联网9001与家庭网络9002相连接。家庭网络9002中,多级连接有第1路由器920、第2路由器930、第3路由器940,第3路由器940的属下连接有起到网络结构检测装置的功能的通信装置950。另外,第1路由器920上连接有第1通信机器960。这里,各个路由器以及通信机器,经LAN侧IF通信以及WAN侧IF通信9201、9202、9301、9302、9401、9402、9501、9601互相连接。
(通信装置之构成)
图74为表示通信装置之构成的功能方框图。
通信装置950,具有TTL调节部981、包发送部982、地址生成部983、路由器掌握部984、地址掌握部985、包接收部986、机器掌握部987、显示部988、以及IP处理部989。
(处理的流程)
图75为表示通信装置950的动作的流程图之一例。
步骤S900、S901:TTL调节部981,对TTL的值进行初始化(S900),进而将TTL的值递增(S901)。
步骤S902:TTL调节部981,判断TTL的值是否超过了给定值。在TTL的值超过了预先设定的给定值的情况下,结束路由器检测的处理,进行步骤S914。
步骤S903:在TTL的值没有超过给定值的情况下,包发送部982,发送用来检测出路由器的探索包。
步骤S904:包接收部786,接收从路由器返回来的应答包。在接收到应答包的情况下进行步骤S910,在没有接收应答包的情况下,进行步骤S905。
步骤S905:包接收部986,在判断为Time Exceed消息包经过一定时间仍没有回发的情况下,地址掌握部985,取得没有Time Exceed消息包的应答的路由器的下层侧路由器的WAN侧地址。
步骤S907、S908:地址生成部983,生成用来根据地址掌握部985所取得的路由器的WAN侧地址推测位于其上层的路由器的WAN侧地址的地址(S907),包发送部982发送探索包(S908)。
步骤S909、S910:包接收部986,接收对所发送的探索包的应答包(S909),地址掌握部985,取得路由器的LAN侧地址(S910)。
步骤S911:地址掌握部985,判断所取得的路由器的LAN侧地址是全局地址还是本地地址。
步骤S912、S913:路由器掌握部984,根据所取得的路由器的LAN侧地址,取得路由器的信息,并掌握该路由器(S912)。显示部988显示出所取得的路由器的信息(S913)。
步骤S914:在地址掌握部985判断为路由器的LAN侧地址是全局地址的情况下,识别出该路由器是家庭网络外的互联网上的路由器,中止路由器的检索处理。之后,地址生成部983根据所取得的路由器的LAN侧地址,推测并生成成为检索对象的通信机器的地址。
步骤S915:包发送部982,将地址生成部983所生成的地址作为地址目的地,发送用来检测出通信机器的探索包。包接收部986,接收来自存在于网络内的通信机器的应答包,地址掌握部985取得该通信机器的地址。
步骤S916~S918:包接收部986,对所发送的探索包接收来自通信机器的应答包(S916),判断是否取得了通信机器的地址(S917)。地址掌握部985取得通信机器的地址。接下来,机器掌握部987取得关于通信机器的通信机器信息(S918)。
步骤S919、S920:地址生成部983判断是否生成用于下一探索包的地址(S919)。地址生成结束之后,显示部988将所掌握的通信机器的信息显示到显示部988中(S920)。
另外,作为检索通信机器的包,除了ICMP包之外,还可以使用用来根据IP地址请求物理层的网络地址的ARP(AddressResolution Protocol)包。
另外,本实施方式中所说明的是,在存在将TTL设为0并且没有回发应答的路由器的网络上,同时使用ICMP与UPnP,高效地掌握网络结构。但是,在不进行TTL处理的路由器或对ICMP包进行过滤的路由器中,通过同时使用ICMP与UPnP,也能够高效地掌握网络结构。
(具体例)
图76为包含有进行包过滤的路由器的网络结构图。如图76所示,如果存在对ICMP包进行过滤的第1路由器920,则即使发送ICMP包,也没有来自路由器的应答。因此,进行ICMP处理,直到发送ICMP并应答的路由器(这里为第2路由器930)。之后,使用通过ICMP处理所掌握的第2路由器930的LAN侧地址,通过UPnP处理掌握第2路由器930的WAN侧地址、第1路由器920的LAN侧地址。以上,通过使用ICMP处理与UPnP处理,即使存在对ICMP包进行过滤的路由器,也能够高效地掌握路由器的结构。根据这样所掌握的路由器的地址,进行通信机器的检索。
图77是包含不处理TTL的路由器的网络结构图。如图77所示,如果第2路由器930是不处理TTL的路由器,则发送TTL=2的ICMP的EchoRequest消息包ER2后,该包所到达的是第1路由器920。这样,通信装置950就无法掌握第2路由器930的存在。因此,使用UPnP处理来检验路由器地址的正当性。通过这样,通信装置950掌握第2路由器930的存在。
通信装置950,通过UPnP处理掌握第3路由器940的WAN侧地址。之后,通信装置950,将通过ICMP处理所取得的第1路由器920的LAN侧地址与该WAN侧地址进行比较。在第3路由器940与第1路由器920间不存在第2路由器930的情况下,第3路由器940的WAN侧地址与第1路由器920的LAN侧地址的地址空间相同。但是,由于存在第2路由器930,因此地址空间不同。通过这样,通信装置950能够掌握第1路由器920与第3路由器940间存在其他路由器。因此,通信装置950,通过UPnP处理取得第2路由器930的LAN侧地址,同时掌握第2路由器930的WAN侧地址。接下来,通信装置950,将第2路由器930的WAN侧地址与第3路由器940的LAN侧地址进行比较。如果是相同地址空间,则能够掌握不存在路由器。以上,使用UPnP处理以及ICMP处理,进行路由器的地址检验,即使存在不处理TTL的路由器,也能够高效地掌握路由器的存在。根据像这样所掌握的路由器的地址,进行通信机器的检索。
(作用效果)
即使在家庭网络内含有不减小TTL就向下个路由器转发的路由器的情况下,通信装置也能够掌握家庭网络内的路由器结构以及通信机器的结构。
<其他实施方式例>
上述实施方式例中,公开了在包含有多级路由器的家庭网络内所连接的通信装置,能够掌握多级路由器的结构信息的结构。但是,家庭网络内的路由器数目没有限定,例如在1个路由器的家庭网络内,也能够适用本发明。
让计算机执行前述方法的计算机程序以及记录该计算机程序的计算机可读记录介质,包括在本发明的范围内。这里,作为计算机可读记录介质,例如可以列举出软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blue-ray Disc)、以及半导体存储器。
上述计算机程序,并不仅限于记录在上述记录介质中,还可以经由电气通信线路、无线或有线通信线路、以互联网为代表的网络等进行传送。
通过本发明,在多级路由器所构成的家庭网络中,能够进行路由器设定。另外,还能够进行与多级路由器所构成的家庭网络相连接的用户终端间的P2P通信。

Claims (14)

1.一种通信装置,位于与广域网相连接的,包含有多级连接的一个以上的路由器的家庭网络内,其特征在于:
具有:取得作为各个路由器的家庭网络侧地址的内侧地址的内侧地址取得机构;及,
取得作为各个路由器的广域网侧地址的外侧地址的外侧地址取得机构,
上述外侧地址取得机构,重复执行根据上述内侧地址取得机构所取得的内侧地址访问路由器,并取得该路由器的外侧地址的动作,
上述内侧地址取得机构,重复执行根据上述外侧地址取得机构所取得的外侧地址,取得位置比具有上述外侧地址的路由器更靠广域网侧的路由器的内侧地址的动作。
2.如权利要求1所述的通信装置,其特征在于,还具有:
路由器发现用包生成机构,其生成包含允许的路由器通过次数作为变量的路由器发现用包;
路由器发现用包发送机构,其发送上述路由器发现用包,使其通过上述家庭网络内的上述一个以上的路由器;
路由器应答包接收机构,其从上述一个以上的路由器,接收对上述路由器发现用包进行应答的,包含有各个路由器地址的路由器应答包;以及,
路由器地址取得机构,其从上述路由器应答包抽出上述路由器地址。
3.如权利要求1所述的通信装置,其特征在于,还具有:
中继信息设定机构,其根据所取得的内侧地址访问路由器,对用来中继与经由上述一个以上的路由器相连接的其他通信装置之间的通信的中继信息进行设定。
4.如权利要求1所述的通信装置,其特征在于:
还具有第2判断机构,其判断上述外侧地址取得机构新取得的外侧地址,是否是连接上述家庭网络与广域网的网关的外侧地址即全局地址,
在上述外侧地址是全局地址的情况下,中止由上述内侧地址取得机构实施的新的内侧地址的取得、以及由上述外侧地址取得机构实施的新的外侧地址的取得。
5.如权利要求1所述的通信装置,其特征在于:
上述内侧地址取得机构,生成使上述外侧地址取得机构所取得的外侧地址的一部分变化而得到的试验地址,作为路由器的内侧地址,
上述外侧地址取得机构,根据上述试验地址,访问位置比具有上述外侧地址的路由器更靠广域网侧的路由器,并取得该路由器的外侧地址。
6.如权利要求1所述的通信装置,其特征在于,还具有:
机器发现用包生成机构,其根据所取得的外侧地址,生成用来检测与任意的路由器相连接的通信机器的机器发现用包;
机器发现用包发送机构,其将上述机器发现用包发送给至少1个通信机器;
机器应答包接收机构,其从至少1个通信机器,接收对上述机器发现用包进行应答,包含有该通信机器的机器地址的机器应答包;以及,
机器地址取得机构,其从上述机器应答包抽出机器地址。
7.如权利要求6所述的通信装置,其特征在于:
还具有通信设定机构,其根据所抽出的机器地址访问通信机器,对上述通信机器以及自身的通信装置之一,进行用于与上述通信机器的通信的设定。
8.如权利要求6所述的通信装置,其特征在于:
还具有机器掌握部,其根据所抽出的机器地址访问通信机器,掌握上述通信机器的地址和属性信息。
9.如权利要求8所述的通信装置,其特征在于:
还具有显示部,其显示出由上述机器掌握部所取得的通信机器的地址和属性信息。
10.如权利要求1所述的通信装置,其特征在于:
上述通信装置,是包含有上述一个以上的路由器的第1家庭网络内的通信装置,
还具有:路由器结构信息发送部,其将第1路由器结构信息,发送给上述第1家庭网络内的其他通信装置,或通过广域网与上述第1家庭网络相连接的第2家庭网络内的其他通信装置,上述第1路由器结构信息,是上述路由器、即包含上述通信装置自身所连接的路由器的路由器的结构信息;以及,
通信判断部,其从上述其他通信装置,接收第2路由器结构信息,该第2路由器结构信息是其他的一个以上的路由器中一部分路由器的结构信息,根据自身的通信装置的路由器结构信息与所接收到的路由器结构信息,判断可否与上述其他通信装置进行通信,
上述第1路由器结构信息或上述第2路由器结构信息,包含各个通信装置的内侧地址取得机构所取得的内侧地址及/或外侧地址取得机构所取得的外侧地址。
11.如权利要求10所述的通信装置,其特征在于:
还具有中继信息设定机构,其根据上述第1路由器结构信息以及上述第2路由器结构信息,对上述一个以上的路由器,对用来中继与上述其他通信装置间的通信的中继信息进行设定。
12.如权利要求11所述的通信装置,其特征在于:
上述路由器结构信息由路由器地址构成,该路由器地址,是上述第1家庭网络或上述第2家庭网络内的各个路由器的内侧地址及/或外侧地址,
上述通信判断部,
具有分支地址抽出机构,从广域网侧的路由器地址起,顺次判断自身的通信装置的路由器结构信息中包含的路由器地址、与其他通信装置的路由器结构信息中包含的路由器地址的一致或不一致,抽出最初判断为不一致的通信线路的分支点的地址,
使用上述抽出的分支点的地址,判断可否与上述其他通信装置通信。
13.如权利要求11所述的通信装置,其特征在于:
上述路由器结构信息由路由器地址构成,该路由器地址,是上述第1家庭网络或上述第2家庭网络内的各个路由器的内侧地址及/或外侧地址,
上述通信判断部,
具有:分支地址抽出机构,从广域网侧的路由器地址起,顺次判断自身的通信装置的路由器结构信息中包含的路由器地址、与其他通信装置的路由器结构信息中包含的路由器地址的一致或不一致,抽出最初判断为不一致的通信线路的分支点的地址;以及,
分支地址发送机构,将上述抽出的分支点的地址发送给上述中继信息设定机构,
上述中继信息设定机构,根据自身的通信装置的路由器结构信息,访问对应上述分支点的地址的路由器、以及位于该路由器与自身的通信装置间的路由器,来设定中继信息,
上述分支地址发送机构,将对应上述分支点的地址的路由器的中继信息与上述分支点的地址关联起来,发送给进行通信的其他通信装置。
14.一种通信方法,是一种与广域网相连接,包含有多级连接的一个以上的路由器的家庭网络内的通信装置中的通信方法,其中:
包括:取得作为各个路由器的家庭网络侧地址的内侧地址的内侧地址取得步骤;及,
取得作为各个路由器的广域网侧地址的外侧地址的外侧地址取得步骤,
上述外侧地址取得步骤,重复执行根据上述内侧地址取得步骤所取得的内侧地址访问路由器,并取得该路由器的外侧地址的动作,
上述内侧地址取得步骤,重复执行根据上述外侧地址取得步骤所取得的外侧地址,取得位置比具有上述外侧地址的路由器更靠广域网侧的路由器的内侧地址的动作。
CN200580017406A 2004-06-30 2005-06-28 通信装置以及通信方法 Active CN100591038C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004194001 2004-06-30
JP194001/2004 2004-06-30
JP218671/2004 2004-07-27
JP083904/2005 2005-03-23

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2010100021014A Division CN101771613B (zh) 2004-06-30 2005-06-28 通信装置以及通信方法

Publications (2)

Publication Number Publication Date
CN1961542A CN1961542A (zh) 2007-05-09
CN100591038C true CN100591038C (zh) 2010-02-17

Family

ID=38072147

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200580017406A Active CN100591038C (zh) 2004-06-30 2005-06-28 通信装置以及通信方法

Country Status (1)

Country Link
CN (1) CN100591038C (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107534585B (zh) * 2016-03-29 2020-04-21 华为技术有限公司 通信方法和终端

Also Published As

Publication number Publication date
CN1961542A (zh) 2007-05-09

Similar Documents

Publication Publication Date Title
CN101771613B (zh) 通信装置以及通信方法
JP4569649B2 (ja) 情報処理装置、情報再生装置、情報処理方法、情報再生方法、情報処理システムおよびプログラム
EP2803177B1 (en) Device arrangement and method for implementing a data transfer network used in remote control of properties
WO2006075616A1 (ja) 通信システム、端末機器および通信機器
JPH1196131A (ja) 通信装置、ネットワーク情報提示方法及び位置情報通知方法
JP2006108823A (ja) ネットワークシステム、ゲートウエイ及び無線端末装置
KR20020042305A (ko) 홈게이트웨이와 홈포탈서버를 이용한 홈네트워크 접근방법 및 그 장치
CN106031121A (zh) 媒体内容的共享方法及装置
JPWO2007043381A1 (ja) ネットワーク通信機器、ネットワーク通信方法、アドレス管理機器
EP2843909A1 (en) Information processing apparatus, method for controlling the same and computer program
US10999243B2 (en) Sharing media among remote access clients in a universal plug and play environment
US7839807B2 (en) Communication apparatus, method executed by communication apparatus, and storage medium storing software for executing method
WO2008023934A1 (en) Outdoor remote control system and method for home network device
US20130064250A1 (en) Remotely accessing and controlling user equipment in a private network
JP3779971B2 (ja) クライアント機器への接続をルーティングするためのサーバ
CN103959720A (zh) 中继服务器以及中继通信系统
CN100591038C (zh) 通信装置以及通信方法
JP5142216B2 (ja) ホームネットワーク内の端末から広域ネットワークへコンテンツを送信するコンテンツ送信方法及びシステム
JP4713420B2 (ja) 通信システム、およびネットワーク機器の共有方法
JP4689388B2 (ja) 通信装置、その制御方法及び制御プログラム
JP5405617B2 (ja) 移動通信端末及びプログラム
JP4543837B2 (ja) Vpn設定システム、方法及び前記システムで用いる携帯端末用プログラム
CN101997935B (zh) 通信设备和通信方法
JP3742390B2 (ja) Httpトンネリングサーバを用いた通信方法および通信装置、プログラム
JP2005284398A (ja) 家電管理サーバ

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant