CN101185292A - 具有arp功能的通信装置 - Google Patents
具有arp功能的通信装置 Download PDFInfo
- Publication number
- CN101185292A CN101185292A CNA200680018920XA CN200680018920A CN101185292A CN 101185292 A CN101185292 A CN 101185292A CN A200680018920X A CNA200680018920X A CN A200680018920XA CN 200680018920 A CN200680018920 A CN 200680018920A CN 101185292 A CN101185292 A CN 101185292A
- Authority
- CN
- China
- Prior art keywords
- garp
- arp
- packet
- address
- machine
- 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.)
- Granted
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明的通信装置包括对数据链路层地址进行管理的地址管理部以及对ARP协议进行处理的ARP处理部,该ARP处理部包括ARP接收部、ARP发送部、重复检测部、重复通知生成部、以及更新GARP生成部,所述更新GARP生成部通过发送GARP来更新同一网络上的通信装置的ARP表,并可以解决通信中断问题。
Description
技术领域
本发明涉及通过网络利用TCP/IP协议(Transmission ControlProtocol/Internet Protocol:传输控制协议-网际协议)进行通信的通信装置、程序、记录介质以及通信方法。
背景技术
通常,在给通信装置重新分配网络层地址(以下称为IP地址)时,有一种检查这些分配的IP地址是否在同一个网络上有重复的方法(以下称为重复检测)。在此重复检测方式中,存在一种与IPv4相关的利用地址解析协议(Address Resolution Protocol,以下略称为ARP)来进行重复检测的方式(例如,参照非专利文献1)。
<关于ARP>
在此,对ARP进行补充说明。ARP是用于解析数据链路层地址和网络层地址的协议,在通信装置之间传输图1所示的格式化的数据包,并解析地址。利用图1进一步说明。
(a)DL头部(header)101
DL头部101是数据链路层协议头(header),具有利用数据链路层协议地址的接收方、发送方、以及网络层协议类型的信息。并且,在数据链路层协议为Ethernet(注册商标)的情况下,向同一个网络上的全部通信装置进行数据包发送时,向接收方DL地址指定“FF:FF:FF:FF:FF:FF”(以下称为Ether广播地址),在向特定的通信装置进行数据包发送时,向接收方DL地址指定通信对方的DL地址。此时,发送方DL地址设定为发送方通信装置的DL地址。
(b)ARP部102
ARP部102由头部103和数据部104构成。
头部103具有以下信息,即:有关数据链路层协议的信息或有关网络层协议的信息,或者这些协议所使用的DL地址及网络层协议地址(以下称为NW地址)长、此ARP数据包请求信息的数据包(以下称为ARP请求数据包)或提供信息的数据包(以下称为ARP应答数据包)的ARP标识符信息。
数据部104由以下要素构成。
发送方DL地址105指定发送方通信装置的数据链路层地址。发送方IP地址106指定发送方通信装置的网络层地址。接收方DL地址107指定地址解析对象的通信装置的数据链路层地址。在地址未解析的情况下,在请求解析的ARP数据包指定为“00:00:00:00:00:00”。接收方IP地址108指定地址解析对象的通信装置的网络层地址。接收方IP地址与自己的通信装置的网络层地址一致,在ARP请求数据包的情况下则成为发送ARP应答数据包。
<利用ARP的重复检测方式>
图2示出了简单的网络构成。网络201为局域网(以下称为LAN),有线无线均可。通信装置202(以下称为机器A)和通信装置200(以下称为机器B)以及通信装置204-1、204-2、…204-N为具有TCP/IP通信功能的通信装置,与网络201相连接。在这样的网络环境中,将利用图3对利用ARP的重复检测处理顺序进行说明,所述ARP是通信装置203(机器B)将要设定与通信装置202(机器A)相同的IP地址时的ARP。
通信装置203(机器B)在执行IP地址设定时,根据自己的重复检测功能确认网络201上是否不存在相同的IP地址。此时,向网络201上的所有通信装置(以下称为广播)发送以后将要进行设定的有关IP地址的ARP请求数据包(#3BF)。接收了向此广播通信装置发送ARP请求数据包的通信装置,确认是否与自己所设定的IP地址不相同。在网络201上,通信装置202(机器A)设定相同的IP地址,从而使IP地址重复。此时,通信装置202(机器A)向通信装置203(机器B,以下称为单播)发送ARP应答数据包(#3AB)。接收了此单播的ARP应答数据包的通信装置203(机器B)在判断将要设定的IP地址已被使用在网络201的通信装置上时,放弃使用此IP地址。
并且,在利用此ARP的重复检测方式中,存在两种方式。这两种方式的不同之处是,通信装置B203进行广播发送的数据包不同。
(1)对Gratuitous ARP(无故ARP,以下称为GARP)进行广播发送的方式(例如,参照非专利文献2)。
(2)对发送方IP地址填埋了0的ARP(以下称为OARP)进行广播发送的方式(例如,参照非专利文献3)。
在方式(1)采用Windows(注册商标)OS(操作系统)(例如,参照非专利文献4)。并且,方式(2)用于Dynamic Host ConfigurationProtocol(动态主机配置协议,以下略称为DHCP)的客户机安装。并且,在基于BSD(Berkeley Software Distribution:美国伯克利软件发行中心)的OS中,不是以对方式(1)的GARP进行重复检测为目的,而是在地址设定时进行发送。然而,在主网页不能忽视两个重复检测方式混在的可能性,因此,有必要考虑到进行采用方式(1)的GARP的方式。
<关于GARP>
在此,对GARP进行补充说明。GARP虽然使用于重复检测,但本来是以其它的目的来规定的。GARP的目的是,通过在网络201上进行广播发送,来改写网络201上的通信装置所管理的通信对象的表(以下称为ARP表),所述网络201上的通信装置例如是:通信装置204-1、204-2、…204-N以及通信装置A202、通信装置B203等。接收了GARP的通信装置例如通信装置204-1、204-2、…204-N以及通信装置A202、通信装置B203等,基于GARP内的发送方IP地址106来检索ARP表,若ARP表中存在发送方IP地址106的项目,则根据接收了GARP的发送方DL地址105来更新上述的项目(例如,参照非专利文献2)。
非专利文献1标准规格书“RFC826”,IETF,“平成17年5月19日检索”,互联网<URL:http://www.ietf.org/rfc/rfc826.txt>
非专利文献2标准规格书“RFC2002”,IETF,“平成17年5月19日检索”,互联网<URL:http://www.ietf.org/rfc/rfc2002.txt>
非专利文献3标准规格书“RFC2131”,IETF,“平成17年5月19日检索”,互联网<URL:http://www.ietf.org/rfc/rfc2131.txt>
非专利文献4 Microsoft Windows(注册商标)2000技术参考,“TCP/IP协议&服务指南”,pp.74-75
<采用GARP的重复检测方式>
然而,GARP改写以上所述的网络上的ARP表。为此,若在重复检测中采用GARP则会发生以下的问题。
(a)初始状态
采用GARP进行重复检测时,由GARP数据包的特征而发生以下的问题。为了简略说明,而将图2所示的通信装置204-1、204-2、…204-N设为1台装置,即利用图4所示的网络构成图进行说明。
通信装置402(以下称为机器A402)如表405所示,IP地址被设定为“192.168.0.100”,且具有“AA:AA:AA:AA:AA:AA”的DL地址。并且,通信装置404(以下称为机器C404)的IP地址被设定为“192.168.0.200”,且具有“CC:CC:CC:CC:CC:CC”的DL地址。此时,机器A402和机器C404进行通信,如图5所示,机器C404保存有ARP表,该ARP表示出IP地址“192.168.0.100”和DL地址“AA:AA:AA:AA:AA:AA”。并且,ARP表中的有效时间表示所述项目在N秒间有效。此N短的有几十秒,长的有几小时,取决于各个通信机器的设定。
(b)开始机器B403的重复检测
此时,通信装置403(以下称为机器B403)如表406所示,DL地址为“BB:BB:BB:BB:BB:BB”,对与机器A402重复的IP地址“192.168.0.100”进行重复检测。以下利用图6对此时的顺序进行说明。
机器A402和机器C404互相通信(#6AC1、#6CA1)。在这样的状况中,机器B403为了重复检测广播发送GARP(#6BF)。此时,机器B403所发送的GARP数据包(#6BF)为图7所示的ARP数据包。以下,对接收了GARP数据包的机器的处理进行说明。
(c)机器A402的工作
接收了此GARP数据包(#6BF)的机器A402判断为与机器A402所使用的IP地址重复时,回答用于通知IP地址重复的ARP应答(以下称为重复通知ARP)数据包(#6AB)。
(d)机器C404的工作
接收了此GARP数据包(#6BF)的机器C404,由于与机器C404所使用的IP地址不重复,因此,不回答重复通知ARP数据包。但是,根据作为GARP的本来目的的ARP表更新功能,机器C404检索保存的ARP表的IP地址“192.168.0.100”的项目,以接收的GARP的信息来改写。其结果是,机器C404的ARP表如图8所示。
(e)重复检测后的机器A402和机器C404的通信
由机器B403进行重复检测之后,在机器A402和机器C404进行通信的情况下,从机器A402向机器C404可以没有任何问题地发送数据包(#6ACN)。但是,在从机器C404向机器A402发送数据包的情况下,在机器C404所保存的ARP表中,如图8所示,根据IP地址为“192.168.0.100”,DL地址为“BB:BB:BB:BB:BB:BB”的信息,而将数据包误发送到机器B403(#6CAN)。
(f)机器C404的通信返回
机器C404仍错误地将机器B403的信息作为机器A402的信息而继续保存在ARP表中。为此,机器C404直至ARP表的有效时间结束为止,一直将给机器A402的数据包误发送到机器B403。经过规定时间N秒后,机器C404消除有关IP地址“192.168.0.100”的项目的ARP表。据此,由于在机器C404的ARP表向机器A402发送的项目已消失,因此,为了解决机器A402的DL地址,而广播发送ARP请求(#6CF)。机器A402接收此ARP请求(#6CF),通过将机器A402的正确DL地址“AA:AA:AA:AA:AA:AA”通知到机器C404,则机器C404的ARP表返回到图5所示的状态(#6ACA)。据此,可以恢复从机器C404到机器A402的通信(#6CAM)。
这样,在采用GARP进行重复检测的通信装置存在的情况下,出现的问题是:在重复检测后,因存在地址重复的机器而陷入不能以规定的时间进行通信。
<Windows(注册商标)的安装>
但是,在以GARP进行重复检测的Windows(注册商标)OS中,在重复检测后,通过进行以下的处理,而试图回避机器C404陷入不能通信的问题。在此,利用图9进行说明。设机器B403为Windows OS。
机器B403在重复检测时广播发送GARP(#9BF)。之后,机器B403接收来自机器A402的ARP应答,并得知IP地址已重复(#9AB)。之后,机器B403假设作为机器A402广播发送GARP(#9AF)。据此,立即将机器C404的ARP表返回到原来,以使以后的通信(#9ACM、#9CAM)不发生障碍。
这样,只要安装了机器B403,机器A402和机器C404的通信就可以立即恢复。但是,机器B403未必是这样的安装,而且,通过装作为机器A402而从机器B403发送数据包,会导致进行广播发送的路径上的交换集线器的DL地址表的信息被破坏的可能性,从而则会发生其它的通信障碍。
发明内容
于是,本发明鉴于上述课题,目的在于提供一种通信装置等,该通信装置等可以解决通信装置在被重复检测后通信中断的问题。
为了达到上述的目的,作为本发明所涉及的第一个发明,本发明的通信装置将网络层地址和数据链路层地址对应起来进行管理,其中包括:ARP接收部,接收以ARP发送来的ARP数据包;重复检测部,在所述ARP接收部所接收的ARP数据包中,检测发送方的网络层地址与本通信装置的网络层地址一致的GARP数据包;重复通知生成部,在所述重复检测部检测到所述GARP数据包的情况下,生成将网络层地址已重复之事宜通知给所述发送方的ARP应答数据包;更新GARP生成部,在所述重复检测部检测到所述GARP数据包的情况下,生成设定本通信装置的网络层地址和数据链路层地址的更新GARP数据包;以及ARP发送部,以ARP来发送在所述重复通知生成部生成的所述ARP应答数据包,以GARP来发送在所述更新GARP生成部生成的所述更新GARP数据包。
据此,通过GARP(Gratuitous ARP)数据包可以将被更新的同一网络上的通信装置的ARP表恢复到原来的状态,从而可以恢复通信。
作为第二个发明,所述更新GARP生成部在所述重复检测部检测到所述GARP数据包的情况下,立即生成所述更新GARP数据包并传送到所述ARP发送部。
据此,通过GARP(Gratuitous ARP)数据包可以将被更新的同一网络上的通信装置的ARP表立即恢复到原来的状态,从而可以立即恢复通信。
作为第三个发明也可以是,所述重复通知生成部在从所述重复检测部受理了重复检测通知的情况下,生成所述ARP应答数据包并传送到所述ARP发送部,所述重复检测通知是用于告知网络层地址已经重复之事宜的通知;所述更新GARP生成部在从所述重复检测部受理了所述重复检测通知的情况下,生成所述更新GARP数据包,并传送到所述ARP发送部;所述重复检测部在所述ARP接收部所接收的ARP数据包中连续检测到所述GARP数据包的情况下,对单位时间内所述重复检测通知被传送到所述重复通知生成部和所述更新GARP生成部的次数进行限制。
据此,可以控制更新GARP数据包的通信量,从而可以减少在网络上的通信中GARP(Gratuitous ARP)数据包所占的比例。
作为第四发明也可以是,所述通信装置进一步包括重复通知部,在所述ARP发送部发送了所述更新GARP数据包之后,在发送方的网络层地址和本通信装置的网络层地址一致的ARP应答数据包由所述ARP接收部接收时,将用于告知网络层地址已重复之事宜的地址重复通知传送到所述重复检测部;所述重复通知生成部在从所述重复检测部受理了重复检测通知的情况下,生成所述ARP应答数据包并传送到所述ARP发送部,所述重复检测通知是用于告知网络层地址已经重复之事宜的通知;所述更新GARP生成部在从所述重复检测部受理了所述重复检测通知的情况下,生成所述更新GARP数据包并传送到所述ARP发送部;所述重复检测部在从所述重复通知部受理了所述地址重复通知的情况下,停止将所述重复检测通知传送到所述重复通知生成部和所述更新GARP生成部。
据此,GARP数据包被用于重复检测目的以外,而且,由于安装有与本发明同样的功能,在同时发送了重复通知ARP数据包和更新GARP数据包的情况下,可以停止发生的更新GARP数据包的工作,从而可以抑制不必要的网络通信量。
作为第五个发明也可以是,所述通信装置进一步包括:重复监视部,在受理了用于告知网络层地址已重复之事宜的地址重复通知的情况下,对本通信装置的网络层地址已在该通信装置所连接的网络上重复之事宜进行输出;以及重复通知部,在所述ARP发送部发送了所述更新GARP数据包之后,在发送方的网络层地址和本通信装置的网络层地址一致的ARP应答数据包由所述ARP接收部接收时,将所述地址重复通知传送到所述重复监视部。
据此,可以检测出网络上存在网络层地址重复的通信装置,通过通知此检测结果从而可以催促用户对设定进行变更。
作为第六个发明也可以是,所述重复通知部将所述发送方的数据链路层地址包含在所述地址重复通知内,一起传送到所述重复监视部;所述重复监视部输出所述地址重复通知中所包含的所述发送方的数据链路层地址。
据此,可以知道具有链路层地址的通信装置中哪个发生了地址重复,从而可以催促用户对发生了地址重复的通信装置的设定进行变更。
作为第七个发明也可以是,所述重复通知部将所述发送方的网络层地址包含在所述地址重复通知内,一起传送到所述重复监视部;所述重复监视部输出所述地址重复通知中所包含的所述发送方的网络层地址。
据此,可以知道在多个具有网络层地址的通信装置中哪个发生了网络层地址重复,从而可以催促用户仅对该网络层地址进行变更。
作为第八个发明也可以是,所述重复检测部包括计数GARP数据包的GARP计数器,所述重复检测部保存最终GARP数据包,即保存所述ARP接收部最后接收的GARP数据包,在所述最终GARP数据包和在所述ARP接收部接收的GARP数据包一致的情况下,使所述GARP计数器的值增加,在不一致的情况下复位所述GARP计数器,在所述GARP计数器超过规定数时,只有在所述最终GARP数据包和在所述ARP接收部接收的GARP数据包一致的情况下,才停止将所述重复检测通知传送到所述重复通知生成部和所述更新GARP生成部。
据此,可以停止与同一个通信装置进行的更新GARP数据包工作,从而可以减少网络通信量。
作为第九个发明也可以是,所述更新GARP生成部生成多个更新GARP数据包,并传送到所述ARP发送部。
据此,在存在无线LAN等数据包丧失率较高的网络的情况下,至少一个更新GARP数据包到达网络上的其它的通信装置的可能性增高,即使在经由各种各样的通信介质的网络上,也可以更新其它的通信装置的ARP表,从而可以恢复与网络上其它的通信装置之间的通信。
作为第十个发明,本发明的通信装置,将网络层地址和数据链路层地址对应起来进行管理,其中包括:ARP接收部,接收以ARP发送来的ARP数据包;重复检测部,在所述ARP接收部所接收的ARP数据包中,检测发送方的网络层地址与本通信装置的网络层地址一致的GARP数据包;重复通知生成部,在所述重复检测部检测到所述GARP数据包的情况下,生成将网络层地址已重复之事宜通知给所述发送方的ARP应答数据包;更新GARP生成部,在所述重复检测部检测到所述GARP数据包的情况下,生成设定本通信装置的网络层地址和数据链路层地址的更新GARP数据包;更新GARP延迟部,使在所述更新GARP生成部生成的所述更新GARP数据包的发送延迟规定的时间;以及ARP发送部,以ARP来发送在所述重复通知生成部生成的所述ARP应答数据包,以GARP来发送在所述更新GARP延迟部被延迟的所述更新GARP数据包。
据此,即使是规定时间内没有更新ARP表的通信装置也可以更新ARP表,从而使通信得以恢复。
作为第十一个发明,本发明的通信装置将网络层地址和数据链路层地址对应起来进行管理,其中包括:ARP接收部,接收以ARP发送来的ARP数据包;重复检测部,在所述ARP接收部所接收的ARP数据包中,检测发送方的网络层地址与本通信装置的网络层地址一致的GARP数据包;重复通知生成部,在所述重复检测部检测到所述GARP数据包的情况下,生成将网络层地址已重复之事宜通知给所述发送方的ARP应答数据包;更新GARP生成部,在所述重复检测部检测到所述GARP数据包的情况下,生成多个设定本通信装置的网络层地址和数据链路层地址的更新GARP数据包;更新GARP延迟部,至少使在所述更新GARP生成部生成的多个所述更新GARP数据包中的一个延迟规定的时间;以及ARP发送部,以ARP来发送在所述重复通知生成部生成的所述ARP应答数据包,以GARP来发送在所述更新GARP延迟部被延迟的所述更新GARP数据包。
据此,连接了通信装置的网络上,即使是立即更新ARP表的通信装置和在规定时间内没有更新ARP表的通信装置混在的情况下,也可以更新通信装置的ARP表,从而可以使网络上所连接的各种各样的通信装置尽早恢复通信。
作为第十二个发明也可以是,所述通信装置进一步包括重复通知部,在所述ARP发送部发送了所述更新GARP数据包之后,在发送方的网络层地址和本通信装置的网络层地址一致的重复通知ARP数据包由所述ARP接收部接收时,将用于告知网络层地址已重复之事宜的地址重复通知传送到所述重复检测部和所述更新GARP延迟部;所述重复通知生成部在从所述重复检测部受理了所述重复检测通知的情况下,生成所述ARP应答数据包,并传送到所述ARP发送部;所述更新GARP生成部在从所述重复检测部受理了所述重复检测通知的情况下,生成多个所述更新GARP数据包并至少将其中的一个传送到所述GARP延迟部;所述重复检测部在从所述重复通知部受理了所述地址重复通知的情况下,停止将所述重复检测通知传送到所述重复通知生成部和所述更新GARP生成部;所述更新GARP延迟部在从所述重复通知部受理了所述地址重复通知的情况下,停止将已经由所述更新GARP生成部受理了的所述更新GARP数据包延迟规定的时间以及向所述ARP发送部的传送。
据此,通过检测出网络上的地址管理部所管理的通信装置的网络层地址已重复,从而可以停止地址重复后的无用的更新GARP数据包的发送,这样,可以减少网络上无用的GAPR数据包所产生的通信量,并可以防止通知装置频繁发生的ARP表更新。
作为第十三个发明也可以是,所述重复检测部在从所述更新GARP生成部受理了的所述更新GARP数据包在所述更新GARP延迟部被延迟规定的时间的过程中,在发送方的网络层地址和本通信装置的网络层地址一致的GARP数据包由所述ARP接收部接收时,将GARP重复接收通知传送到所述更新GARP生成部和所述更新GARP延迟部,所述GARP重复接收通知用于告知网络层地址已和本通信装置的网络层地址重复的GARP数据包已由所述ARP接收部接收之事宜;所述更新GARP生成部在从所述重复检测部受理了所述GARP重复接收通知的情况下,停止将生成的多个所述更新GARP数据包中的至少一个传送到所述更新GARP延迟部;所述更新GARP延迟部在从所述重复检测部受理了所述GARP重复接收通知的情况下,暂时停止将已经由所述更新GARP生成部受理了的所述更新GARP数据包延迟规定的时间以及向所述ARP发送部的传送之后,对所述更新GARP数据包重新延迟规定的时间后传送到所述ARP发送部。
据此,即使在通过GARP数据包进行的重复检测处理被重复多次的通知装置,和在最后接收完同一GARP数据包后没有在规定时间更新ARP表的通信装置混在的网络环境中,也可以更新所有通信装置的ARP表,从而可以使所有通知装置之间的通信得以恢复。
作为第十四个发明也可以是,所述重复检测部进一步将所述GARP数据包的发送方的数据链路层地址作为DL地址信息来保存,将从所述更新GARP生成部受理了的所述更新GARP数据包在所述更新GARP延迟部延迟规定的时间的过程中,仅在发送方的网络层地址和本通信装置的网络层地址一致,且,发送方的数据链路层地址和所述DL地址信息一致的GARP数据包在所述ARP接收部被接收时,才将所述GARP重复接收通知传送到所述更新GARP生成部和所述更新GARP延迟部。
据此,即使在通过GARP数据包进行的重复检测处理被重复多次的通知装置,和在最后接收完同一GARP数据包后没有在规定时间更新ARP表的通信装置混在的网络环境中,也可以对所有的通信装置的ARP表在最适当的时间内进行更新,从而可以使所有的通信装置之间的通信得以迅速恢复。
作为第十五个发明也可以是,所述重复检测部进一步在从所述更新GARP生成部受理了的所述更新GARP数据包在所述更新GARP延迟部延迟规定的时间的过程中,发送方的网络层地址和本通信装置的网络层地址一致的重复ARP数据包在所述ARP接收部被接收时,停止传送所述重复检测通知。
据此,即使GARP数据包在受到拒绝服务攻击(denial of serviceattack)等而大量地被提供时,也可以限制在规定时间中发送的更新GARP数据包的数量,并可以防止自身成为拒绝服务攻击的现象。
作为第十六个发明也可以是,所述通信装置包括:地址重复检索部,利用地址重复检索所使用的网络层地址来检索网络层地址的重复;以及GARP生成部,生成将所述地址重复检索所使用的网络层地址设定为发送目标的网络层地址的检索GARP数据包;所述ARP发送部发送在所述GARP生成部被生成的所述检索GARP数据包;所述重复检测部在所述ARP发送部发送所述检索GARP数据包、并且在所述地址重复检索部正在检索地址重复的过程中,发送目标的网络层地址和所述检索所使用的网络层地址一致的重复ARP数据包被接收时,传送告知网络层地址已重复之事宜的地址重复通知。
据此,可以确认在同一网络上是否不存在具有重复的网络层地址的通信装置,从而可以进行不重复的网络设定。
作为第十七个发明也可以是,所述通信装置进一步包括恢复GARP生成部,将所述重复ARP数据包的发送方的数据链路层地址设定为发送方的数据链路层地址,生成将所述地址重复检索所使用的网络层地址设定为发送目标的网络层地址的恢复GARP数据包;所述重复检测部将所述重复ARP数据包的发送方的数据链路层地址包含在所述地址重复通知中,一起传送到所述地址重复检索部;所述地址重复检索部将所述地址重复通知中所包含的所述重复ARP数据包的发送方的数据链路层地址和所述地址重复检索所使用的网络层地址,发送到所述恢复GARP生成部;所述ARP发送部将所述恢复GARP数据包的发送目标的数据链路层地址设定为数据链路层的广播地址,将所述恢复GARP数据包的发送方的数据链路层地址设定为本通信装置中所设定的数据链路层地址,并发送所述恢复GARP数据包。
据此,可以通过检索GARP,将被更新的同一网络上的通信装置的ARP表恢复为原来的状态,并恢复通信,并且,通过使数据链路层头部的发送方地址使用本通信装置的数据链路层地址,从而可以防止网络上交换器的误记忆。
作为第十八个发明也可以是,所述恢复GARP生成部在从所述地址重复检索部受理了恢复GARP生成通知的情况下,立即生成所述恢复GARP数据包,并传送到所述ARP发送部,所述恢复GARP生成通知指示生成所述恢复GARP数据包。
据此,通过检索GARP,可以使被更新的同一网络上的通信装置的ARP表立即恢复为原来的状态,从而使通信立即得以恢复。
作为第十九个发明也可以是,所述通信装置进一步包括重复监视部,在从所述地址重复检索部受理了所述地址重复通知的情况下,在本通信装置所连接的网络上输出本通信装置的网络层地址已重复之事宜;所述地址重复检索部在发送方的网络层地址和本通信装置的网络层地址一致的重复ARP数据包被接收时,并从所述重复检测部受理了所述地址重复通知的情况下,将所述地址重复通知传送到所述重复监视部。
据此,可以检测出网络上存在网络层地址重复的通信装置,并通过对此检测结果进行通知,从而可以催促用户对设定进行变更。
作为第二十个发明也可以是,所述地址重复检索部将所述重复ARP数据包的发送方的数据链路层地址包含在所述地址重复通知中,一起传送到所述重复监视部;所述重复监视部输出所述地址重复通知中所包含的所述重复ARP数据包的发送方的数据链路层地址。
据此,可以获知具有数据链路层地址的通信装置中哪个发生了地址重复,从而可以催促用户对发生了重复的通信装置的设定进行变更。
作为第二十一个发明也可以是,所述地址重复检索部将所述重复ARP数据包的发送方的网络层地址包含在所述地址重复通知中,一起传送到所述重复监视部;所述重复监视部输出所述地址重复通知中所包含的所述重复ARP数据包的发送方的网络层地址。
据此,可以知道在多个具有网络层地址的通信装置中哪个发生了网络层地址重复,从而可以催促用户仅对该网络层地址进行变更。
作为第二十二个发明也可以是,所述恢复GARP生成部在从所述地址重复检索部受理了所述恢复GARP生成通知的情况下,生成多个所述恢复GARP数据包;所述ARP发送部发送在所述恢复GARP生成部所生成的多个所述恢复GARP数据包。
据此,在存在无线LAN等数据包丧失率较高的网络的情况下,至少一个更新GARP数据包到达网络上的其它的通信装置的可能性增高,即使在经由各种各样的通信介质的网络上,也可以更新其它的通信装置的ARP表,从而可以恢复与网络上其它的通信装置之间的通信。
作为第二十三个发明也可以是,所述通信装置进一步包括恢复GARP延迟部,将从所述恢复GARP生成部受理了的恢复GARP数据包延迟规定的时间后,传送到所述ARP发送部;所述恢复GARP生成部生成多个所述恢复GARP,且将生成的多个所述恢复GARP数据包中的至少一个发送到所述ARP发送部,以及将生成的多个所述恢复GARP数据包中的至少一个传送到所述恢复GARP延迟部。
据此,连接了通信装置的网络上,即使是立即更新ARP表的通信装置和在规定时间内没有更新ARP表的通信装置混在的情况下,也可以更新通信装置的ARP表,从而可以使网络上所连接的各种各样的通信装置尽早恢复通信。
作为第二十四个发明也可以是,所述地址重复检索部在所述地址重复通知被受理的情况下,将已从所述恢复GARP生成部受理了的所述恢复GARP数据包在所述恢复GARP延迟部延迟规定的时间的过程中,停止将所述地址重复通知向所述恢复GARP生成部的传送。
据此,可以减少不必要的恢复GARP的发送,从而可以减少无用的网络通信量。
作为第二十五个发明也可以是,所述通信装置包括:地址重复检索部,利用地址重复检索所使用的网络层地址来检索网络层地址的重复;GARP生成部,生成将所述地址重复检索所使用的网络层地址设定为发送目标的网络层地址的检索GARP数据包;以及ARP检索生成部,生成检索ARP请求数据包,该检索ARP请求数据包用于以下的设定,即:将所述地址重复检索所使用的网络层地址设定为发送目标网络层地址,将发送方网络层地址设定为未指定,将发送目标数据链路层地址设定为未指定,将发送方的数据链路层地址设定为本通信装置的数据链路层地址;所述ARP发送部发送在所述GARP生成部生成的所述检索GARP数据包,以及发送在所述ARP检索生成部生成的所述检索ARP请求数据包;所述重复检测部在所述地址重复检索部正在进行地址重复检索的过程中,在发送目标的网络层地址和所述地址重复检索所使用的网络层地址一致的重复ARP数据包由所述ARP接收部接收的情况下,将用于通知网络层地址已重复的地址重复通知发送到所述地址重复检索部。
据此,即使是没有向检索GARP数据包答复应答的通信装置,也可以答复地址重复应答,进行网络上的网络层地址重复的检测,并可以进行不重复的网络设定。
作为第二十六个发明,本发明的通信装置将网络层地址和数据链路层地址对应起来进行管理,其中包括:重复检测部,在接收的ARP数据包中,检测发送方的网络层地址与本通信装置的网络层地址一致的GARP数据包;以及ARP信息管理部,删除ARP表中所有的信息,所述ARP表的信息在所述重复检测部检测到所述GARP数据包的情况下,将本通信装置所连接的网络上的、有关通信装置的网络层地址和数据链路层地址对应起来管理。
据此,在通信装置开始通信时,可以重新作成ARP表,并可以使通信得以恢复。
并且,本发明不仅可以作为通信装置来实现,也可以作为控制通信装置的通信方法,或作为使计算机系统等执行通信方法的通信程序,或作为记录通信程序的记录介质等来实现。
根据本发明,可以立即恢复相同网络上的ARP表,并可以回避不能以规定时间进行通信的状态。
附图说明
图1是以往的ARP数据包的格式图。
图2是以往的网络构成图。
图3是以往的通信装置在重复检测时的顺序图。
图4是以往的网络构成图。
图5示出了以往的机器C的ARP表。
图6是以往的通信装置的顺序图。
图7是示出以往的GARP数据包的格式图。
图8示出了在发送以往的机器B的GARP数据包后的、机器C的ARP表。
图9是以往的通信装置中Windows(注册商标)的OS在运行时的顺序图。
图10是本发明所涉及的实施例1中的网络构成以及通信装置的设定示例图。
图11是本发明所涉及的实施例1中的通信装置的功能方框图。
图12是本发明所涉及的实施例1中的通信装置的协议堆栈功能的构成图。
图13是本发明所涉及的实施例1中的通信装置的ARP处理部的功能构成的示例图。
图14是示出本发明所涉及的实施例1中的通信装置的顺序图。
图15示出了示出本发明所涉及的实施例1中的机器C的ARP表。
图16是本发明所涉及的实施例1中的机器B在发送GARP数据包后的机器C的ARP表的示例图。
图17是本发明所涉及的实施例1中的机器A在发送GARP数据包后的机器C的ARP表的示例图。
图18是本发明所涉及的实施例1中的通信装置的ARP处理部的功能构成的变形例的示例图。
图19是本发明所涉及的实施例2中的通信装置的ARP处理部的功能构成的示例图。
图20是本发明所涉及的实施例2中的通信装置的顺序图。
图21示出了本发明所涉及的实施例2中的机器C的ARP表。
图22示出了本发明所涉及的实施例2中的机器C的ARP表。
图23示出了本发明所涉及的实施例2中的机器C的ARP表。
图24是本发明所涉及的实施例3中的网络构成以及通信装置的设定示例图。
图25是本发明所涉及的实施例3中的通信装置的ARP处理部的功能构成示例图。
图26是本发明所涉及的实施例3中的重复检测的顺序图。
图27示出了本发明所涉及的实施例3中的机器C的ARP表。
图28示出了本发明所涉及的实施例3中的机器D的ARP表。
图29示出了本发明所涉及的实施例3中的机器B在发送GARP数据包后的机器C的ARP表。
图30示出了本发明所涉及的实施例3中的机器B在发送GARP数据包后的机器D的ARP表。
图31示出了本发明所涉及的实施例3中的机器A在发送更新GARP数据包后的机器C的ARP表。
图32示出了本发明所涉及的实施例3中的机器A在发送延迟GARP数据包后的机器D的ARP表。
图33是本发明所涉及的实施例3中的通信装置的状态迁移图。
图34是本发明所涉及的实施例3中的通信装置的异常状态时的顺序图。
图35是本发明所涉及的实施例3中的通信装置的异常状态时的参考顺序图。
图36是本发明所涉及的实施例4中的通信装置ARP处理部的功能构成示例图。
图37是本发明所涉及的实施例4中的通信装置的顺序图。
图38示出了本发明所涉及的实施例4中的机器A的ARP表。
图39示出了本发明所涉及的实施例4中的机器C的ARP表。
图40示出了本发明所涉及的实施例4中的机器B在发送GARP数据包后机器C的ARP表。
图41示出了本发明所涉及的实施例4中的机器B在发送GARP数据包后的机器A的ARP表。
图42示出了本发明所涉及的实施例4中的机器A在发送ARP请求数据包后的机器C的ARP表。
图43示出了本发明所涉及的实施例4中的机器C在发送ARP应答数据包后的机器A的ARP表。
图44是本发明所涉及的实施例5中的通信装置ARP处理部的功能构成示例图。
图45是本发明所涉及的实施例5中的通信装置的顺序图。
图46是本发明所涉及的实施例6中的通信装置的顺序图。
图47示出了本发明所涉及的实施例6中的机器C的ARP表。
图48示出了本发明所涉及的实施例6中的机器A在发送GARP数据包后的机器C的ARP表。
图49示出了本发明所涉及的实施例6中的机器A在发送恢复GARP数据包后的机器C的ARP表。
图50是本发明所涉及的实施例6中的恢复GARP数据包的格式图。
图51A是本发明所涉及的实施例6中的通信装置ARP处理部的功能构成示例图。
图51B是本发明所涉及的实施例7中的通信装置的ARP处理部的功能构成示例图。
图52是本发明所涉及的实施例8中的通信装置的ARP处理部的功能构成示例图。
图53是本发明所涉及的实施例8中的通信装置的顺序图。
图54示出了本发明所涉及的实施例8中的机器C的ARP表。
图55示出了本发明所涉及的实施例8中的机器D的ARP表。
图56示出了本发明所涉及的实施例8中的机器A在发送GARP数据包后的机器C的ARP表。
图57示出了本发明所涉及的实施例8中的机器A在发送GARP数据包后的机器D的ARP表。
图58示出了本发明所涉及的实施例8中的机器A在发送恢复GARP数据包后的机器C的ARP表。
图59示出了本发明所涉及的实施例8中的机器A在发送恢复GARP数据包时的机器D的ARP表。
图60示出了本发明所涉及的实施例8中的机器A在发送延迟恢复GARP数据包后的机器D的ARP表。
图61是本发明所涉及的实施例9中的网络构成以及通信装置的设定示例图。
图62是本发明所涉及的实施例9中的通信装置的ARP处理部的功能构成示例图。
图63是本发明所涉及的实施例9中的通信装置的顺序图。
图64是本发明所涉及的实施例9中的通信装置的顺序图。
图65是本发明所涉及的实施例10中的网络构成以及通信装置的设定示例图。
图66是本发明所涉及的实施例10中的通信装置的顺序图。
图67示出了本发明所涉及的实施例10中的通信装置的机器C的ARP表。
图68示出了本发明所涉及的实施例10中的通信装置的机器D的ARP表。
图69示出了本发明所涉及的实施例10中的机器A在发送GARP数据包后的机器C的ARP表。
图70示出了本发明所涉及的实施例10中的机器A在发送GARP数据包后的机器D的ARP表。
图71是本发明所涉及的实施例10中的伪造GARP数据包的格式图。
图72示出了本发明所涉及的实施例10中的机器A在发送更新GARP后的机器C的ARP表。
图73示出了本发明所涉及的实施例10中的机器A发送延迟更新GARP数据包时的机器D的ARP表。
图74示出了本发明所涉及的实施10中的机器A在发送延迟更新GARP数据包后的机器D的ARP表。
图75是本发明所涉及的实施例8中的通信装置的顺序图。
图76是本发明所涉及的实施例1中的通信装置的顺序图。
图77是本发明所涉及的实施例3中的通信装置的顺序图。
图78是本发明所涉及的实施例6中的通信装置的顺序图。
附图标记说明:
101 DL头部
102 ARP部
103 头(header)部
104 数据部
105 发送方DL地址
106 发送方IP地址
107 接收方DL地址
108 接收方IP地址
201 网络
202 通信装置
203 通信装置
204-1、204-2、…、204-N 通信装置
401 网络
402 通信装置
403 通信装置
404 通信装置
405 通信装置402的设定状况
406 通信装置403的设定状况
407 通信装置404的设定状况
701 DL头部
702 ARP部
703 头部
704 数据部
705 发送方DL地址
706 发送方IP地址
707 接收方DL地址
708 接收方IP地址
1001 网络
1002 通信装置
1003 通信装置
1004 通信装置
1005 通信装置1002的设定状况
1006 通信装置1003的设定状况
1007 通信装置1004的设定状况
1101 通信装置
1102 通信部
1103 处理部
1104 存储部
1105 网络
1201 Interface(接口)处理部
1202 网络层协议处理部
1203 ARP处理部
1204 传输层协议处理部
1205 应用层处理部
1301 ARP处理部
1302 地址管理部
1303 重复检测部
1304 ARP接收部
1305 更新GARP生成部
1306 重复通知生成部
1307 ARP发送部
#130A 来自Interface处理部的接收流程
#130B 向Interface处理部的发送流程
1801 ARP处理部
1802 地址管理部
1803 重复检测部
1804 ARP接收部
1805 更新GARP生成部
1806 重复通知生成部
1807 ARP发送部
#180A 来自Interface处理部的接收流程
#180B 向Interface处理部的发送流程
1901 ARP处理部
1902 地址管理部
1903 重复检测部
1904 ARP接收部
1905 更新GARP生成部
1906 重复通知生成部
1907 ARP发送部
1908 更新GARP延迟部
#190A 来自Interface处理部的接收流程
#190B 向Interface处理部的发送流程
2401 网络
2402 通信装置
2403 通信装置
2404 通信装置
2405 通信装置
2406 通信装置2402的设定状况
2407 通信装置2403的设定状况
2408 通信装置2404的设定状况
2409 通信装置2405的设定状况
2501 ARP处理部
2502 地址管理部
2503 重复检测部
2504 ARP接收部
2505 更新GARP生成部
2506 重复通知生成部
2507 ARP发送部
2508 更新GARP延迟部
2510 重复通知部
2512 重复监视部
#250A 来自Interface处理部的接收流程
#250B 向Interface处理部的发送流程
S3301 初始状态
S3302 地址设定状态
S3303 更新GARP发送延迟状态
S3304 地址重复状态
#330A 从初始状态向地址设定状态的状态迁移
#330B 从地址设定状态向更新GARP发送延迟状态的状态迁移
#330C 从地址设定状态向初始状态的状态迁移
#330D 从地址设定状态向地址重复状态的状态迁移
#330E 从更新GARP发送延迟状态向更新GARP发送延迟状态的状态迁移
#330F 从更新GARP发送延迟状态向地址设定状态的状态迁移
#330G 从更新GARP发送延迟状态向初始状态的状态迁移
#330H 从更新GARP发送延迟状态向地址重复状态的状态迁移
#330I 从地址重复状态向初始状态的状态迁移
3601 ARP处理部
3602 地址管理部
3603 重复检测部
3604 ARP接收部
3605 重复通知生成部
3606 ARP应答生成部
3607 ARP发送部
3608 ARP信息管理部
3609 ARP请求生成部
#360A 来自Interface处理部的接收流程
#360B 向Interface处理部的发送流程
4401 ARP处理部
4402 地址管理部
4403 重复检测部
4404 ARP接收部
4405 重复通知生成部
4406 ARP应答生成部
4407 ARP发送部
4410 重复通知部
4412 重复监视部
#440A 来自Interface处理部的接收流程
#440B 向Interface处理部的发送流程
5001 DL头部
5002 ARP部
5003 ARP部的头部
5004 ARP部的数据部
5005 发送方DL地址
5006 发送方IP地址
5007 接收方DL地址
5008 接收方IP地址
5009 接收方DL地址
5010 发送方DL地址
5011 NW协议类型
5101 ARP处理部
5102 地址管理部
5103 重复检测部
5104 ARP接收部
5105 更新GARP生成部
5106 重复通知生成部
5107 ARP发送部
5108 地址重复检索部
5109 GARP生成部
5110 恢复GARP生成部
#510A 来自Interface处理部的接收流程
#510B 向Interface处理部的发送流程
5111 重复监视部
5201 ARP处理部
5202 地址管理部
5203 重复检测部
5204 ARP接收部
5205 更新GARP生成部
5206 重复通知生成部
5207 ARP发送部
5208 地址重复检索部
5209 GARP生成部
5210 恢复GARP生成部
5211 恢复GARP延迟部
#520A 来自Interface处理部的接收流程
#520B 向Interface处理部的发送流程
6101 网络
6102 通信装置
6103 通信装置
6104 通信装置
6105 通信装置6102的设定状况
6106 通信装置6103的设定状况
6107 通信装置6104的设定状况
6201 ARP处理部
6202 地址管理部
6203 重复检测部
6204 ARP接收部
6205 更新GARP生成部
6206 重复通知生成部
6207 ARP发送部
6208 地址重复检索部
6209 GARP生成部
6210 ARP检索生成部
#620A 来自Interface处理部的接收流程
#620B 向Interface处理部的发送流程
6501 L2交换器
6502 通信装置
6503 通信装置
6504 通信装置
6505 通信装置
6506 通信装置6502的设定状况
6507 通信装置6503的设定状况
6508 通信装置6504的设定状况
6509 通信装置6505的设定状况
7101 DL头部
7102 ARP部
7103 头部
7104 数据部
7105 发送方DL地址
7106 发送方IP地址
7107 接收方DL地址
7108 接收方IP地址
7109 接收方DL地址
7110 发送方DL地址
7111 NW协议类型
具体实施方式
(实施例1)
以下,利用附图对本发明所涉及的实施例1进行说明。
<概要>
本实施例中的通信装置具有以下(C1)到(C3)所示出的特征。
(C1)本发明的通信装置将网络层地址和数据链路层地址对应起来进行管理,其中包括:ARP接收部,接收以ARP发送来的ARP数据包;重复检测部,在所述ARP接收部所接收的ARP数据包中,检测发送方的网络层地址与本通信装置的网络层地址一致的GARP数据包;重复通知生成部,在重复检测部检测到所述GARP数据包的情况下,生成将网络层地址已重复之事宜通知给所述发送方的ARP应答数据包;更新GARP生成部,在重复检测部检测到所述GARP数据包的情况下,生成设定本通信装置的网络层地址和数据链路层地址的更新GARP数据包;以及ARP发送部,以ARP来发送在重复通知生成部生成的所述ARP应答数据包,以GARP来发送在更新GARP生成部生成的更新GARP数据包。
(C2)更新GARP生成部在重复检测部检测到GARP数据包的情况下,立即生成更新GARP数据包并传送到ARP发送部。
(C3)重复通知生成部在从重复检测部受理了重复检测通知的情况下,生成ARP应答数据包并传送到所述ARP发送部,所述重复检测通知是用于告知网络层地址已经重复之事宜的通知;更新GARP生成部在从重复检测部受理了重复检测通知的情况下,生成所述更新GARP数据包,并传送到所述ARP发送部;重复检测部在ARP接收部所接收的ARP数据包中连续检测到GARP数据包的情况下,对单位时间内重复检测通知被传送到重复通知生成部和更新GARP生成部的次数进行限制。
并且,也可以具有(C8)到(C9)所示的特征。
(C8)重复检测部包括计数GARP数据包的GARP计数器,所述重复检测部保存最终GARP数据包,即保存ARP接收部最后接收的GARP数据包,在最终GARP数据包和在ARP接收部接收的GARP数据包一致的情况下,使GARP计数器的值增加,在不一致的情况下复位GARP计数器,在GARP计数器超过规定数时,只有在最终GARP数据包和在ARP接收部接收的GARP数据包一致的情况下,才停止将所述重复检测通知传送到重复通知生成部和更新GARP生成部。
更新GARP生成部生成多个更新GARP数据包,并传送到ARP发送部。
根据以上几点对本实施例中的通信装置进行说明。
<网络构成>
图10是本实施例中的网络构成以及通信装置的设定示例图。如图10所示,网络1001上连接有通信装置1002(以下称为机器A1002)、通信装置1003(以下称为B1003)以及通信装置1004(以下称为机器C1004)。并且,在本实施例中为了简化说明,而以三台通信装置与网络1001连接为例进行说明。但是,相当于机器B1003的通信装置和相同于机器C1004的通信装置存在多台也一样。
机器A1002、机器B1003、以及机器C1004是具有以有线或无线来连接的通信功能的装置,例如具有Ethernet(注册商标)接口的装置,例如个人电脑或可进行网络通信的家电装置等。网络1001是LAN,是包括有线或无线的网络。
机器A1002具有本实施例中的通信装置的功能,保存数据链路层地址(以下称为DL地址)“AA:AA:AA:AA:从:AA”,并设定有网络层地址(以下称为IP地址)“192.168.0.100”。
机器B1003保存DL地址“BB:BB:BB:BB:BB:BB”,并设定有与机器A重复的IP地址“192.168.0.100”。并且,具有在设定IP地址之前利用GARP进行重复检测的功能。并且,即使在机器B1003也具有本实施例中的通信装置的功能。
机器C1004保存DL地址“CC:CC:CC:CC:CC:CC”,并设定有IP地址“192.168.0.200”。并与机器A1002进行通信。而且,机器C1004也可以具有本实施例中的通信装置的功能。
<通信装置的构成>
图11是本发明的通信装置的构成示例图。通信装置1101包括:通信部1102、处理部1103以及存储部1104。以下分别进行详细说明。
(a)通信部1102
通信部1102是系统总线上所连接的硬件。该通信部1102所具有的功能是将从处理部1103传送来的数据包发送到网络1105(图10中的网路1001)的功能,以及将从网络1105接收的数据包传送到处理部1103的功能。
(b)处理部1103
处理部1103所具有的功能是将从通信部1102传送来的数据移动到存储部1104的功能,以及将存储部1104中所存储的数据移动到通信部1102的功能。并且,对存储部1104中所存储的数据进行数据解析处理或用于发送数据的制作处理等。
(c)存储部1104
存储部1104具有保存数据的功能。并且,从存储部1104到通信部1102、或从存储部1104到通信部1102的数据传送中另外具有直接存储器访问控制器(DMAC:Direct Memory Access Controller),这样,数据的移动可以不通过处理部1103而是可以通过DMA控制器来执行。
<功能构成>
图12是本发明中的通信装置的功能构成示例图。以下对各功能进行说明。
(a)Interface(接口)处理部1201
Interface处理部1201具有的功能是:对通信部1102所接收的数据包进行有关数据链路层协议的解析处理,辨别网络层协议,在ARP数据包的情况下向ARP处理部1203传送接收数据包,在其它的协议的情况下向网络层协议处理部1202传送接收数据包。并且,Interface处理部1201还具有这样的功能,即:对由ARP处理部1203或网络层协议处理部1202所作成的发送数据包进行有关数据链路层协议的头部(header)作成处理,并进行发送处理。此发送数据包通过通信部1102被发送到网络1105。
(b)网络层协议处理部1202
网络层协议处理部1202具有的功能是:对从Interface处理部1201传送来的接收数据包的网络层协议进行头部解析处理,并传送到传输层协议处理部1204。并且,还具有的功能是:对从传输层协议处理部1204传输来的发送数据包进行网络层头部作成处理,并传送到Interface处理部1201。
(c)ARP处理部1203
ARP处理部1203所具有的功能是:对从Interface处理部1201传送来的ARP数据包进行解析处理,并按照解析内容进行相应的处理。并且还具有的功能是:作成ARP数据包,并传送到Interface处理部1201。
(d)传输层协议处理部1204
传输层协议处理部1204所具有的功能是:对网络层协议处理部1202所传送来的接收数据包进行传输层协议头部解析处理,并传送到应用层处理部1205。并且,还具有的功能是:对从应用层处理部1205传送来的发送数据进行传输层协议头部作成处理,并传送到网络层协议处理部1202。
(e)应用层处理部1205
应用层处理部1205所具有的功能是:接受从传输层协议处理部1204传送来的接收数据。并且,还具有将发送数据传送到传输层协议处理部1204的功能。而且,还具有在设定IP地址之前进行地址重复检测的功能。
<详细的功能构成>
图13是示出本实施例中的通信装置的ARP处理部的功能构成例和地址管理部的图。并且,图中虚线箭头表示控制信息流程,实线箭头表示数据包流程。
ARP处理部1301相当于图12中的ARP处理部1203。在此,作为一个例子示出,该ARP处理部1301包括:重复检测部1303、ARP接收部1304、更新GARP生成部1305、重复通知生成部1306以及ARP发送部1307。
(a)地址管理部1302
地址管理部1302管理机器A1002上设定的IP地址和DL地址。并且,管理的地址可以是存储部1104上的数据,也可以是网络层协议处理部1202所管理的信息,也可以是Interface处理部1201所管理的信息,还可以是有关DL地址的通信部1102中所记录的信息。
(b)重复检测部1303
重复检测部1303在接收了Gratuitous(无偿)ARP数据包(以下称为GARP数据包)时,发出重复检测通知,该GARP数据包是地址管理部1302所管理的机器A1002的IP地址和接收ARP数据包的发送方IP地址一致的情况下的GARP数据包。
此重复检测通知被通知到更新GARP生成部1305以及重复通知生成部1306。
此重复检测通知中包括GARP数据包的发送方DL地址以作为信息。并且,GARP数据包本身也可以作为信息被传送。
而且,重复检测部1303可以具有限制单位时间内重复检测通知次数的功能。
并且,重复检测部1303包括计数GARP数据包的GARP计数器,所具有的功能是:保存作为最后接收的GARP数据包的最终GARP数据包,在最终GARP数据包和接收的GARP数据包一致的情况下增大GARP计数器,在不一致的情况下复位GARP计数器,在GARP计数器超过规定数时,仅在最终GARP数据包和ARP接收部所接收的GARP数据包一致的情况下,才停止将重复检测通知传送到重复通知生成部和更新GARP生成部。
(c)ARP接收部1304
ARP接收部1304对从Interface处理部1201传送来的ARP数据包(#130A)进行接收处理以及数据解析处理。
ARP接收部1304的内部包括重复检测部1303。
(d)更新GARP生成部1305
更新GARP生成部1305受理来自重复检测部1303的重复检测通知,生成Gratuitous ARP数据包(以下称为GARP数据包),并传送到ARP发送部1307,所述GARP数据包用于设定地址管理部1302所管理的机器A1002的IP地址和DL地址。
并且,更新GARP生成部1305可以在一次的重复检测通知中生成多个更新GARP数据包。而且,可以将生成的多个更新GARP数据包以规定的间隔传送到ARP发送部1307,也可以改变传送间隔后传送到ARP发送部1307。
(e)重复通知生成部1306
根据ARP数据包来进行重复检测,在判断为与机器A1002的IP地址重复的情况下,重复通知生成部1306从重复检测部1303接受重复通知。接受了重复通知的重复通知生成部1306具有的功能是:对于接受了重复检测用的ARP数据包的发送方,生成通知IP地址已重复的ARP数据包(以下称为重复通知ARP数据包),并传送到ARP发送部1308。
(f)ARP发送部1307
ARP发送部1307生成DL头部,并将ARP数据包传送到Interface处理部1201(#130B)。
<利用GARP的重复检测的顺序>
图14是示出本实施例中通信装置的顺序的图。如图14所示,由机器B1003执行了利用GARP的重复检测的情况下,在机器A1002、机器B1003、以及机器C1004进行以下数据包的工作。
(a)重复检测前的工作
机器A1002和机器C1004相互通信(#14AC1、#14CA1)。此时机器C1004中的ARP表的状况如图15所示。
在此,机器B1003发送连接在网络1001上的用于重复检测的GARP数据包(#14BF)。
(b)机器C1004的工作
机器C1004接收机器B1003向网络1001广播发送的GARP数据包(#14BF)。机器C1004解析接收的GARP数据包的内部(#14BF),并检索机器C1004所管理的ARP表中是否有相对应的项目。检索的结果是,在机器C1004找到到此为止一直进行通信的机器A1002的项目。据此,可以以接收的GARP数据包(#14BF)的信息进行项目的覆盖。结果是机器C1004的ARP表由GARP数据包(#14BF)所覆盖,则成为图16所示。
(c)机器A1002的工作
机器A1002接收机器B1003向网络1001广播发送的GARP数据包(#14BF)。机器A1002检测到接收的GARP数据包(#14BF)已与机器A1002上所设定的IP地址重复。
机器A1002在检测出IP地址重复的情况下,将用于通知IP地址已重复的重复通知ARP数据包(#14AB)发送到机器B1003。而且,机器A1002向网络1001广播发送更新GARP数据包(#14AF)。
并且,在本顺序的说明中,以重复通知ARP数据包(#14AB)、更新GARP数据包(#14AF)的顺序进行了说明,不过也可以交换顺序。
(d)机器A1002发送更新GARP后机器C1004的工作
机器C1004接收更新GARP数据包(#14AF),该更新GARP数据包是机器A1002向网络1001广播发送的更新GARP数据包。机器C1004解析接收的更新GARP数据包的内部(#14AF),并检索机器C1004所管理的ARP表中是否有相对应的项目。检索的结果是在机器C1004找到由GARP数据包(#14BF)所覆盖的向机器A1002发送的项目,所述GARP数据包用于机器B1003的重复检测。结果是机器C1004的ARP表由更新GARP数据包(#14AF)所覆盖,则成为图17所示。
(e)重复检测后的工作
经过以上的顺序,机器C1004的ARP表返回到机器B1003的重复检测之前的状态。据此,机器A1002和机器C1004则与重复检测之前一样,成为互相通信的状态(#14ACN、#14CAN)。
<机器A1002的处理流程>
利用图13和图14对处理流程做进一步的详细说明。
(a)GARP数据包接收处理(#14BF)
机器A1002接收来自机器B1003的GARP数据包(#14BF)。接收的GARP数据包(#14BF)经由Interface处理部1201,被传送到ARP接收部1304(#130A)。
ARP接收部1304中的重复检测部1303根据接收的GARP数据包(#14BF),发出重复检测通知。
(b)更新GARP数据包(#14AF)以及重复通知ARP数据包(#14AB)的发送处理
更新GARP1305受理来自重复检测部1303的重复检测通知,生成更新GARP数据包(#14AF),并传送到ARP发送部1307。
重复通知生成部1306受理来自重复检测部1303的重复检测通知,生成给机器B1003的重复通知ARP数据包(#14AB),并传送到ARP发送部1307。
ARP发送部1307将接受的更新GARP数据包(#14AF)以及重复通知ARP数据包(#14AB)传送到Interface处理部1201,并进行发送处理(#130B)。并且,在本实施例中,是以重复通知ARP数据包(#14AB)、更新GARP数据包(#14AF)的顺序发送到网络1001上的,不过也可以更换此顺序。
而且,在本实施例中以更新GARP生成部1305和重复通知生成部1306独立工作为例进行了说明,不过也可以如图18所示那样,即:在重复通知生成部1806生成重复通知ARP数据包(#14AB),并利用该重复通知ARP数据包(#14AB)信息,在更新GARP生成部1805生成更新GARP数据包(#14AF),并按照更新GARP生成部1805、重复通知ARP数据包(#14AB)、更新GARP数据包(#14AF)、ARP发送部1807的顺序来传送,以此来控制顺序。并且,也可以是与图18所示的顺序相反的顺序,即重复通知ARP数据包(#14AB)、更新GARP数据包(#14AF)的发送顺序。
而且,通过对这一连串的处理连续且迅速进行,从而可以立即更新网络1001上的通信装置的ARP表。
<机器B1003具有更新GARP发送功能的情况下的处理>
机器B1003在接收了与机器B1003的IP地址重复的GARP数据包时,在本发明中将以图76对仅持有更新GARP数据包发送功能的情况进行说明。
机器A1002接收从机器B1003发送来的GARP数据包(#76BF1),直到发送更新GARP数据包为止(#76AF1),均按照到目前为止所说明的顺序。
其次,机器B1003在接收机器A1002所发送的更新GARP数据包(#76AF1)之后,为了恢复用于B1003的ARP表,而发送更新GARP数据包(#76BF2)。
机器A1002在接收机器B1003所发送的更新GARP数据包(#76BF2)的情况下,检测到与机器A1002的IP地址重复。
但是,机器A1002在发送已经发送了的更新GARP数据包(#67AF1)后,由于还未经过规定的时间X,并且停止发送更新GARP数据包(#76AF2)。并且,作为更新GARP数据包(#76AF2)的停止条件是:从刚才发送更新GARP数据包(#76AF1)的时刻开始经过的时间不到规定时间X的情况,或者与上次的GARP数据包的发送装置相同的通信装置的情况,或者也可以将它们组合。
以上,在本实施例中,可以将由机器B1003改写的机器C1004的ARP表恢复到原始状态,并可以恢复机器A1002和机器C1004之间的通信。
并且,通过限制更新GARP数据包的通信量,或通过限制对于来自同一通信装置的GARP数据包的更新GARP数据包发送的连续发送,从而可以控制网络1001上的更新GARP数据包的通信量。例如,在重复通知生成部1306从重复检测部1303受理了重复检测通知的情况下,生成ARP应答数据包并传送到ARP发送部1307,所述重复检测通知用于通知网络层地址重复之事宜。在更新GARP生成部1305从重复检测部1303受理了重复检测通知的情况下,生成更新GARP数据包并传送到ARP发送部1307。并且,重复检测部1303从在ARP接收部1304所接收的ARP数据包中连续检测到GARP数据包时,限制在单位时间内将重复检测通知传送到重复通知生成部1306和更新GARP生成部1305的次数。
并且,通过生成并发送多个更新GARP数据包,从而即使在网络1001上容易发生数据包丧失的环境中也可以很好地对应。
而且,进行重复检测的机器持有利用GARP数据包恢复ARP表的功能的情况下,也可以防止应答GARP数据包和更新GARP数据包。
(实施例2)
以下,利用附图对本发明所涉及的实施例2进行说明。
<概要>
本实施例中的通信装置具有以下(C10)所示的特征。
(C10)本发明的通信装置将网络层地址和数据链路层地址对应起来进行管理,其中包括:ARP接收部,接收以ARP发送来的ARP数据包;重复检测部,在ARP接收部所接收的ARP数据包中,检测发送方的网络层地址与本通信装置的网络层地址一致的GARP数据包;重复通知生成部,在重复检测部检测到GARP数据包的情况下,生成将网络层地址已重复之事宜通知给发送方的ARP应答数据包;更新GARP生成部,在重复检测部检测到GARP数据包的情况下,生成设定本通信装置的网络层地址和数据链路层地址的更新GARP数据包;更新GARP延迟部,使在更新GARP生成部生成的更新GARP数据包的发送延迟规定的时间;以及ARP发送部,以ARP来发送在重复通知生成部生成的ARP应答数据包,以GARP来发送在更新GARP延迟部被延迟的更新GARP数据包。
根据以上所述几点,对本实施例中的通信装置进行说明。
<网络构成>
不过,对于本实施例中的网络构成,因与实施例1相同故省略说明。
<通信装置的构成>
不过,对于本实施例中的通信装置的构成,因与实施例1相同故省略说明。
<功能构成>
不过,对于本实施例中的功能构成,因与实施例1相同故省略说明。
<详细的功能构成>
图19是示出本实施例中通信装置的ARP处理部的功能构成例和地址管理部的图。并且,图中虚线箭头表示控制信息的流程,实线箭头表示数据包流程。
ARP处理部1901相当于图12中的ARP处理部1203。在此,作为一个例子示出,该ARP处理部1901包括:重复检测部1903、ARP接收部1904、更新GARP生成部1905、重复通知生成部1906、ARP发送部1907、以及更新GARP延迟部1908。另外,对于与实施例1相同的功能省略说明。
(a)地址管理部1902
不过,对于本实施例中的地址管理部1902,因与实施例1相同故省略说明。
(b)重复检测部1903
不过,对于本实施例中重复检测部1903,因与实施例1相同故省略说明。
(c)ARP接收部1904
不过,对于本实施例中的ARP接收部1904,因与实施例1相同故省略说明。
(d)更新GARP生成部1905
更新GARP生成部1905受理来自重复检测部1903的重复检测通知,生成GARP数据包并传送到更新ARP延迟部1908,所述GARP数据包用于设定地址管理部1902所管理的机器A1002的IP地址和DL地址。
(e)重复通知生成部1906
不过,对于本实施例中的重复通知生成部1906,因与实施例1相同故省略说明。
(f)ARP发送部1907
不过,对于本实施例中的ARP发送部1907,因与实施例1相同故省略说明。
(g)更新GARP延迟部1908
更新GARP延迟部1908在从更新GARP生成部1905受理了更新GARP数据包的情况下,不是立即将受理的更新GARP数据包传送到ARP发送部1907,而是一直保存到经过规定时间T为止。当经过规定时间T时,将受理了的更新GARP数据包传送到ARP发送部1907。以下,将像上述这样延迟传送到ARP发送部1907的更新GARP数据包称为延迟更新GARP数据包。
<利用GARP的重复检测的顺序>
图20是示出本实施例中通信装置的传送顺序的图。如图20所示,由机器B1003执行了利用GARP的重复检测的情况下,在机器A1002、机器B1003、以及机器C1004进行以下的数据包的操作。
(a)重复检测前的工作
机器A1002和机器C1004互相通信(#20AC1、#20CA1)。此时,机器C1004中的ARP表的状况如图21所示。此时,为了防止拒绝服务攻击(denial of service attack)等连续的ARP数据包频繁地改写ARP表,而机器C1004中的ARP表一直管理到接受更新为止的时间。如图21所示,对于IP地址“192.168.0.100”的项目,因十分钟前被更新,所以到接受更新为止的时间为0秒。即,若对于该项目有必要更新ARP表,则机器C1004立即进行更新。
在此,机器B1003发送网络1001上所连接的、用于重复检测的GARP数据包(#20BF)。
(b)机器C1004的工作
机器C1004接收机器B1003向网络1001广播发送的GARP数据包(#20BF)。机器C1004解析接收的GARP数据包的内部(#20BF),并检索机器C1004所管理的ARP表中是否有相对应的项目。检索的结果是,在机器C1004找到到此为止一直进行通信的机器A1002的项目。此时,因ARP表十分钟前已被更新,所以找到的项目成为可以立即更新的状态。据此,可以以接收的GARP数据包(#20BF)的信息进行项目的覆盖。结果是机器C1004的ARP表由GARP数据包(#20BF)所覆盖,则成为图22所示。并且,到更新受理为止的时间被初始化并被设定为U秒。
(c)机器A1002的工作
机器A1002接收机器B1003向网络1001广播发送的GARP数据包(#20BF)。机器A1002检测到接收的GARP数据包(#20BF)已与设定在机器A1002上的IP地址重复。
机器A1002在检测出IP地址重复的情况下,将用于通知IP地址已重复的重复通知ARP数据包(#20AB)发送到机器B1003。而且,机器A1002以延迟了规定时间以上的时间向网络1001广播发送更新GARP数据包(#20AF)。
(d)机器A1002发送更新GARP后的机器C1004的工作
机器C1004接收更新GARP数据包(#20AF),该更新GARP数据包是机器A1002向网络1001广播发送的更新GARP数据包。机器C1004解析接收的GARP数据包的内部(#20AF),并检索机器C1004所管理的ARP表中是否有相对应的项目。检索的结果是在机器C1004找到由GARP数据包(#20BF)所覆盖的向机器A1002发送的项目,所述GARP数据包用于机器B1003的重复检测。此时,由于机器A1002在规定时间U经过后发送更新GAPR数据包(#20AF),因此,到向机器A1002发送的机器C1004的ARP表项目的更新受理为止的时间为0秒。结果是机器C1004的ARP表由更新GARP数据包(#20BF)所覆盖,则成为图23所示。
(e)重复检测后的工作
经过以上的顺序,机器C1004的ARP表返回到机器B1003的重复检测前的状态。据此,机器A1002和机器C1004与重复检测前一样,成为相互通信状态(#20ACN、#20CAN)。
<在机器A1002的处理流程>
进一步利用图19和图20对处理流程进行详细说明。
(a)GARP数据包发送处理(#20BF)
不过,对于本实施例中的GARP数据包发送处理(#20BF),因与实施例1相同故省略说明。
(b)更新GARP数据包(#20AF)以及重复通知ARP数据包(#20AB)发送处理
更新GARP生成部1905受理来自重复检测部1903的重复检测通知,生成更新GARP数据包(#20AF),并传送到更新GARP延迟部1908。
重复通知生成部1306受理来自重复检测部1903的重复检测通知,生成给机器B1003的重复通知ARP数据包(#20AB),并传送到ARP发送部1907。
更新GARP延迟部1908以延迟规定时间U的时间,将受理的更新GARP数据包(#20AF)发送到ARP发送部1907。
ARP发送部1907将受理的重复通知ARP数据包(#20AB)传送到Interface处理部1201,并进行发送处理(#130B)。而且,延迟更新GARP数据包(#20AF)也被传送到Interface处理部1201,并进行发送处理(#130B)。
以上,在本实施例中,可以将由机器B1003改写的机器C1004的ARP表恢复到原始状态,并可以恢复机器A1002和机器C1004之间的通信,所述机器C1004具有不更新规定时间ARP表的功能。
(实施例3)
以下,利用附图对本发明所涉及的实施例3进行说明。
<概要>
本实施例中的通信装置具有以下(C11)到(C7)所示出的特征。
(C11)本发明的通信装置将网络层地址和数据链路层地址对应起来进行管理,其中包括:ARP接收部,接收以ARP发送来的ARP数据包;重复检测部,在ARP接收部所接收的ARP数据包中,检测发送方的网络层地址与本通信装置的网络层地址一致的GARP数据包;重复通知生成部,在重复检测部检测到GARP数据包的情况下,生成将网络层地址已重复之事宜通知给发送方的ARP应答数据包;更新GARP生成部,在重复检测部检测到GARP数据包的情况下,生成多个设定本通信装置的网络层地址和数据链路层地址的更新GARP数据包;更新GARP延迟部,至少使在更新GARP生成部生成的多个更新GARP数据包中的一个延迟规定的时间;以及ARP发送部,以ARP来发送在重复通知生成部生成的ARP应答数据包,以GARP来发送在更新GARP延迟部被延迟的更新GARP数据包。
并且,也可以具有以下(C12)到(C15)所示出的特征。
(C12)通信装置进一步包括重复通知部,在ARP发送部发送了更新GARP数据包之后,在发送方的网络层地址和本通信装置的网络层地址一致的重复通知ARP数据包由ARP接收部接收时,将用于告知网络层地址已重复之事宜的地址重复通知传送到重复检测部和更新GARP延迟部;重复通知生成部在从重复检测部受理了重复检测通知的情况下,生成ARP应答数据包,并传送到ARP发送部;更新GARP生成部在从重复检测部受理了重复检测通知的情况下,生成多个更新GARP数据包并至少将其中的一个传送到GARP延迟部;重复检测部在从重复通知部受理了地址重复通知的情况下,停止将重复检测通知传送到重复通知生成部和更新GARP生成部;更新GARP延迟部在从重复通知部受理了地址重复通知的情况下,停止将已经由更新GARP生成部受理了的更新GARP数据包延迟规定的时间以及向ARP发送部的传送。
(C13)重复检测部在从更新GARP生成部受理了的更新GARP数据包在更新GARP延迟部被延迟规定的时间的过程中,在发送方的网络层地址和本通信装置的网络层地址一致的GARP数据包由ARP接收部接收时,将GARP重复接收通知传送到更新GARP生成部和更新GARP延迟部,GARP重复接收通知用于告知网络层地址已和本通信装置的网络层地址重复的GARP数据包已由ARP接收部接收之事宜;更新GARP生成部在从重复检测部受理了GARP重复接收通知的情况下,停止将生成的多个更新GARP数据包中的至少一个传送到更新GARP延迟部;更新GARP延迟部在从重复检测部受理了GARP重复接收通知的情况下,暂时停止将已经由更新GARP生成部受理了的更新GARP数据包延迟规定的时间以及向所述ARP发送部的传送之后,对更新GARP数据包重新延迟规定的时间后传送到所述ARP发送部。
(C14)重复检测部进一步将所述GARP数据包的发送方的数据链路层地址作为DL地址信息来保存,将从所述更新GARP生成部受理了的更新GARP数据包在更新GARP延迟部延迟规定的时间的过程中,仅在发送方的网络层地址和本通信装置的网络层地址一致,且,发送方的数据链路层地址和所述DL地址信息一致的GARP数据包在ARP接收部被接收时,才将GARP重复接收通知传送到更新GARP生成部和更新GARP延迟部。
(C15)重复检测部进一步在从更新GARP生成部受理了的更新GARP数据包在更新GARP延迟部延迟规定的时间的过程中,发送方的网络层地址和本通信装置的网络层地址一致的重复ARP数据包在ARP接收部被接收时,停止传送重复检测通知。
根据以上所述几点对本实施例中的通信装置进行说明。
<网络构成>
图24是本实施例中的网络构成以及通信装置的设定示例图。如图24所示,在网络2401上连接有:通信装置2402(以下称为机器A2402),通信装置2403(以下称为机器B2403),通信装置2404(以下称为机器C2404),以及通信装置2405(以下称为机器D2405)。并且,在本实施例中为了简化说明,以四台通信装置与网络2401相连接为例进行说明。不过,相当于机器B2403的通信装置、相当于机器C2404的通信装置以及相当于机器D2405的通信装置在存在多台的情况下也可以。
机器A2402、机器B2403、机器C2404、机器D2405是具有以有线或无线连接的通信功能的装置。例如,像PC或可进行网络通信的家电装置等是具有Ethernet(注册商标)接口的装置。网络2401是LAN,是包括有线或无线的网络。
机器A2402具有本实施例中的通信装置的功能,保存DL地址“AA:AA:AA:AA:AA:AA”,并设定有IP地址“192.168.0.100”。
机器B2403保存DL地址“BB:BB:BB:BB:BB:BB”,并设定有与机器A重复的IP地址“192.168.0.100”。并且,具有在设定IP地址之前利用GARP进行重复检测的功能。并且,即使在机器B2403也具有本实施例中的通信装置的功能。
机器C2404保存DL地址“CC:CC:CC:CC:CC:CC”,并设定有IP地址“192.168.0.200”。并与机器A2402进行通信。而且,机器C2404也可以具有本实施例中的通信装置的功能。
机器D2405保存DL地址“DD:DD:DD:DD:DD:DD”,并设定有IP地址“192.168.0.201”。并与机器A2402进行通信。并且,即使在机器D2405也具有本实施例中的通信装置的功能。
<通信装置的构成>
不过,对于本实施例中的通信装置的构成,因与实施例1相同故省略说明。
<功能构成>
不过,对于本实施例中的功能构成,因与实施例1相同故省略说明。
<详细的功能构成>
图25示出了本实施例中的通信装置的ARP处理部的功能构成例、地址管理部、以及重复监视部。并且,图中以虚线箭头表示控制信息流程,以实线箭头表示数据包流程。
ARP处理部2501相当于图12所示的ARP处理部1203。在此,作为一个例子示出ARP处理部2501包括:ARP接收部2504、更新GARP生成部2505、重复通知生成部2506、ARP发送部2507、更新GARP延迟部2508、以及重复通知部2510。并且,对于与实施例1相同的功能省略说明。
(a)地址管理部2502
不过,对于本实施例中的地址管理部2502,因与实施例1相同故省略说明。
(b)重复检测部2503
不过,对于本实施例中的重复检测部2503,因与实施例1相同故省略说明。
(c)ARP接收部2504
ARP接收部2504对从Interface处理部1201传送来的ARP数据包(#250A)进行接收处理以及数据解析处理。
在ARP接收部2504的内部包括重复检测部2503以及重复通知部2510。
(d)更新GARP生成部2505
更新GARP生成部2505受理来自重复检测部2503的重复检测通知,生成多个GARP数据包,并传送到ARP发送部2507以及更新GARP延迟部2508,所述GARP数据包用于设定地址管理部2502所管理的机器A2402的IP地址和DL地址。并且,在生成三个以上的更新GARP数据包的情况下,也可以将两个以后的更新GARP数据包传送到更新GARP延迟部2508。
(e)重复通知生成部2506
不过,对于本实施例中重复通知生成部2506,因与实施例1相同故省略说明。
(f)ARP发送部2507
不过,对于本实施例中的ARP发送部2507,因与实施例1相同故省略说明。
(g)更新GARP延迟部2508
更新GARP延迟部2508在从更新GARP生成部2505受理了更新GARP数据包的情况下,不是立即将受理的更新GARP数据包传送到ARP发送部2507,而是一直保存到经过规定时间T为止。当经过规定时间T时,将受理了的更新GARP数据包传送到ARP发送部2507。以下,将像上述这样延迟传送到ARP发送部2507的更新GARP数据包称为延迟更新GARP数据包。
更新GARP延迟部2508受理来自重复通知部2510的地址重复通知,停止使更新GARP数据包延迟并传送到ARP发送部2507的更新GARP延迟处理。
并且,更新GARP延迟部2508在更新GARP数据包被传送来多个的情况下,可以以规定时间T的间隔将延迟更新GARP数据包传送到ARP发送部2507,也可以以不同的间隔将延迟更新GARP数据包传送到ARP发送部2507。
(i)重复通知部2510
重复通知部2510在接收了ARP数据包(以下称为重复通知ARP数据包)时,发出地址重复通知,该ARP数据包是地址管理部2502所管理的机器A2402的IP地址和接收ARP数据包的发送方IP地址一致的情况下的ARP数据包。
此地址重复通知被通知到更新GARP延迟部2508以及重复监视部2512。
(j)重复监视部2512
重复监视部2512受理由重复通知部2510所通知的地址重复通知,从而可以知道网络2401上发生了IP地址重复。
而且,重复监视部2512在受理由重复通知部2510发送来的地址重复通知时,在机器A2401可以采用以下的通知方式,即:若具有LED(发光二极管)则可以使LED灯点亮,若具有显示功能则可以显示已重复之通知,若具有扬声器则可以发出声音来通知。
而且,也可以表示检测出重复的通信装置的DL地址,或也可以将实际上发生重复的IP地址作为信息来输出。
而且,也可以具有删除机器A2402上设定的IP地址“192.168.0.100”,而重新设定为其它的IP地址的功能。
<利用GARP的重复检测的顺序>
图26示出了本实施例中通信装置的顺序。如图26所示,由机器B2403执行了利用GARP的重复检测的情况下,在机器A2402、机器B2403、机器C2404、以及D2405进行以下数据包的操作。
(a)重复检测前的工作
机器A2402和机器C2404相互通信(#26AC1、#26CA1)。此时机器C2404中的ARP表的状况如图27所示。
并且,机器A2402和机器D2405相互通信(#26AD1、#26DA1)。此时机器D2405中的ARP表的状况如图28所示。此时,为了防止拒绝服务攻击等连续的ARP数据包频繁地改写ARP表,因此机器D2405中的ARP表一直管理到接受更新为止的时间。如图28所示,对于IP地址“192.168.0.100”的项目,因十分钟前被更新,所以直到接受更新为止的时间为0秒。即,若对于该项目有必要更新ARP表,则机器D2405立即进行更新。
在此,机器B2403发送连接在网络2401上的用于重复检测的GARP数据包(#26BF)。
(b)机器C2404的工作
机器C2404接收机器B2403向网络2401广播发送的GARP数据包(#26BF)。机器C2404解析接收的GARP数据包的内部(#26BF),并检索机器C2404所管理的ARP表中是否有相对应的项目。检索的结果是,在机器C2404找到到此为止一直进行通信的机器A2402的项目。据此,可以以接收了GARP数据包(#26BF)的信息进行项目的覆盖。结果是机器C2404的ARP表由GARP数据包(#26BF)所覆盖,则成为图29所示。
(c)机器D2405的工作
机器C2405接收机器B2403向网络2401广播发送的GARP数据包(#26BF)。机器D2405解析接收的GARP数据包的内部(#26BF),并检索机器C2405所管理的ARP表中是否有相对应的项目。检索的结果是,在机器D2405找到到此为止一直进行通信的机器A2402的项目。此时,因ARP表十分钟前已被更新,所以找到的项目成为可以立即更新的状态。据此,可以以接收了GARP数据包(#26BF)的信息进行项目的覆盖。结果是机器D2405的ARP表由GARP数据包(#26BF)所覆盖,则成为图30所示。并且,到更新受理为止的时间被初始化并被设定为U秒。
(d)机器A2402的工作
机器A2402接收机器B2403向网络1001广播发送的GARP数据包(#26BF)。机器A2402检测到接收的GARP数据包(#26BF)已与设定在机器A2402上的IP地址重复。
机器A2402在检测出IP地址重复时,将用于通知IP地址已重复的重复通知ARP数据包(#26AB)发送到机器B2403。而且,机器A2402向网络2401广播发送更新GARP数据包(#26AF1)。
并且,在本顺序的说明中,以重复通知ARP数据包(#26AB)、更新GARP数据包(#26AF1)的顺序进行了说明,不过也可以交换顺序。
而且,机器A2402使更新GARP数据包(#26AF2)延迟规定时间U以上的时间,并广播发送到网络2401。
(e)机器A2402发送更新GARP后的机器C2404的工作
机器C2404接收更新GARP数据包(#26AF1),该更新GARP数据包是机器A2402向网络2401广播发送的更新GARP数据包。机器C2404解析接收的GARP数据包的内部(#26AF1),并检索机器C2404所管理的ARP表中是否有相对应的项目。检索的结果是在机器C2404找到由GARP数据包(#26BF)所覆盖的向机器A2402发送的项目,所述GARP数据包用于机器B2403的重复检测。结果是机器C2404的ARP表由更新GARP数据包(#26AF1)所覆盖,则成为图31所示。
机器C2404接收更新GARP数据包(#26AF2),该更新GARP数据包是机器A2402向网络2401广播发送的更新GARP数据包。机器C2404解析接收的GARP数据包的内部(#26AF2),并检索机器C2404所管理的ARP表中是否有相对应的项目。检索的结果是在机器C2404找到向机器A2402发送的项目,该机器A2402由更新GARP数据包(#26AF1)所覆盖。结果是机器C2404的ARP表再次被更新GARP数据包(#26AF2)覆盖,因内容一致,所以ARP表仍为图31所示。
(f)机器A2402发送更新GARP后的机器D2405的工作
机器D2405接收更新GARP数据包(#26AF1),该更新GARP数据包是机器A2402向网络2401广播发送的更新GARP数据包。机器D2405解析接收的GARP数据包的内部(#26AF1),并检索机器D2405所管理的ARP表中是否有相对应的项目。检索的结果是在机器D2405找到由GARP数据包(#26BF)所覆盖的向机器A2402发送的项目,所述GARP数据包用于机器B2403的重复检测。不过,由于没有经过到更新受理为止的时间U,因此机器D2405的ARP表不被覆盖,仍为图30所示。
并且,机器D2405接收更新GARP数据包(#26AF2),该更新GARP数据包是机器A2402向网络2401广播发送的更新GARP数据包。机器D2405解析接收的GARP数据包的内部(#26AF2),并检索机器D2405所管理的ARP表中是否有相对应的项目。检索的结果是在机器D2405找到由GARP数据包(#26BF)所覆盖的向机器A2402发送的项目,所述GARP数据包用于机器B2403的重复检测。此时,由于在经过规定时间U以后,机器A2402发送了更新GAPR数据包(#26AF2),因此,到对于机器A2402的机器D2405的ARP表项目的更新受理为止的时间为0秒。结果是机器D2405的ARP表由更新GARP数据包(#26AF2)所覆盖,则成为图32所示。并且,到接受更新为止的时间被初始化并被设定为U秒。
(g)重复检测后的工作
经过以上的顺序,机器C2404的ARP表返回到机器B2403的重复检测之前的状态。据此,机器A2402和机器C2404与重复检测前一样,成为相互通信状态(#26ACN、#26CAN)。
并且,机器D2405的ARP表返回到机器B2403的重复检测之前的状态。据此,机器A2402和机器D2405与重复检测前一样,成为相互通信状态(#26ADN、#26DAN)。
<在机器A2402的状态迁移>
利用图33对机器A2402中的状态迁移进行说明。在机器A中的状态包括:初始状态S3301、地址设定状态S3302、更改GARP发送延迟状态S3303、地址重复状态S3304。以下,将对各个状态、状态的迁移条件、以及状态迁移时的处理内容进行说明。
(a)初始状态S3301
初始状态S3301表示机器A2402中还未被设定IP地址时的状态。
(#330A)从初始状态S3301向地址设定状态S3302的迁移
通过在机器A2402设定IP地址,从而发生状态迁移。
(b)地址设定状态S3302
地址设定状态表示在机器A2402设定了IP地址的状态。
(#330B)从地址设定状态S3302向更新GARP发送延迟状态S3303的迁移
在机器A2402从网络2401上的其它的通信机器接收了GARP数据包时发生状态迁移。此时,对于接收的GARP数据包,发送重复通知ARP数据包以及更新GARP数据包。
(#330C)从地址设定状态S3302向初始状态S3301的迁移
在机器A2402中所设定的IP地址被删除时发生状态迁移。
(#330D)从地址设定状态S3302向地址重复状态S3304的迁移
在机器A2402从网络2401上的其它的通信机器接收了重复通知ARP数据包时,发生状态迁移。
(c)更新GARP发送延迟状态S3303
更新GARP发送延迟状态S3303表示:机器A2402已经发送更新GARP,并使第二次发送以后的更新GARP延迟规定时间U,等待发送的状态。该更新GARP发送延迟状态S3303是图26所示出的从最初的更新GARP数据包发送(#26AF1)到最后的更新GARP发送(#26AF2)之间的状态。而且,在更新GARP数据包三个以上被发送的情况下,到最后的更新GARP数据包被发送之间也是更新GARP发送延迟状态S3303。
(#330E)从更新GARP发送延迟状态S3303向更新GARP发送延迟状态S3303的迁移
在机器A2402从网络2401上的其它的通信装置接收了GARP数据包时,发生状态迁移。此时,对于接收的GARP数据包发送重复通知ARP数据包。并且,同时进行更新GARP数据包的发送。而且,也可以将更新GARP发送延迟时间再次设定为初始的规定时间U。而且,也可以不同时进行更新GARP数据包发送。
(#330F)从更新GARP发送延迟状态S3303向地址设定状态S3302的迁移
迁移到更新GARP发送延迟状态S3303后经过了规定时间U以上的时间时,发生状态迁移。此时,发送最后的更新GARP数据包。并且,在更新GARP数据包三个以上被发送的情况下,在经过了发生最后的更新GARP数据包的规定时间T时,发生状态迁移。
(#330G)从更新GARP发送延迟状态S3303向初始状态S3301的迁移
在机器A2402上所设定的IP地址被删除时,发生状态迁移。
(#330H)从更新GARP发送延迟状态S3303向地址重复状态S3304的迁移
机器A2402从网络2401上的其它的通信装置接收了重复通知ARP数据包时,发生状态迁移。
(d)地址重复状态S3304
地址重复状态S3304是检测机器A2402上所设定的IP地址与网络2401上的其它的通信装置的IP地址重复时的状态。
(#330I)从地址重复状态S3304向初始状态S3301的迁移
在机器A2402上所设定的IP地址被删除时,发生状态迁移。
<在机器A2402的处理流程>
进一步利用图25、图26以及图33对处理流程进行详细说明。
(a)机器A2402的初始状态
机器A2402的IP地址被设定为“192.168.0.100”,处于从初始状态S3301向地址设定状态S3302迁移的状态(#330A)。
(b)GARP数据包接收处理(#26BF)
机器A2402接收来自机器B2403的GARP数据包(#26BF)。接收的GARP数据包(#26BF)经过Interface处理部1201,被传送到ARP接收部1504(#250A)。接收的GARP数据包(#26BF)在ARP接收部2504被解析,在重复检测部2503接受是否与机器A2402上所设定的IP地址重复的判断。在此顺序中,由于发送了将机器B2403与机器A2402设定为同一个IP地址的GARP数据包(#26BF),因此造成“重复”的结果。
(c)更新GARP数据包(#26AF1)以及重复通知ARP数据包(#26AB)发送处理
机器A2402根据“重复”这一结果,由重复检测部2503将重复的GARP数据包(#26BF)信息通知给更新GARP生成部2505以及重复通知生成部2506。
更新GARP生成部2505在接收了“重复”的通知以及GARP数据包(#26BF)信息时,生成设定机器A2402的IP地址和DL地址的更新GARP数据包(#26AF1、#26AF2),并传送到ARP发送部2507以及更新GARP延迟部2508。
重复通知生成部2506在接收了“重复”的通知以及GARP数据包(#26BF)的信息时,对于发送了GARP数据包(#26BF)的机器B2403生成重复通知ARP数据包(#26AB),并传送到ARP发送部2608。
ARP发送部2608将接受的更新GARP数据包(#26AF1)以及重复通知ARP数据包(#26AB)传送到Interface处理部1201,并进行发送处理(#250B)。
此时,机器A2402从地址设定状态S3302迁移到更新GARP发送延迟状态S3303(#330B)。
(d)更新GARP数据包(#26AF2)发送处理
更新GARP延迟部2508在从更新GARP生成部2505受理更新GARP数据包(#26AF2)的情况下,以延迟规定时间U的时间传送到ARP发送部2507。
ARP发送部2507将受理的延迟更新GARP数据包(#26AF2)传送到Interface处理部1201,并进行发送处理(#250B)。
此时,机器A2402从更新GARP发送延迟状态S3303向地址设定状态S3302迁移(#330F)。
以后,在每当接收用于重复检测的GARP数据包时就进行这样的处理流程。
<IP地址重复的通信装置存在时的停止顺序>
以下,对本发明中网络异常时的停止顺序进行说明。
图34示出了本实施例中的通信装置的顺序图。如图34所示,机器B2403即使在发生地址重复的情况下,也在网络2401上重复的IP地址仍留存时,在机器A2402和机器B2403进行以下数据包的操作。而且,为了简化说明省略机器C2404和机器D2405的说明,而仅说明机器A2402和机器B2403。
(a)由机器B2403来开始重复检测
机器B2403连接在网络2401上,向与机器A2402重复的IP地址广播发送GARP数据包(#34BF1)。
(b)机器A2402的工作
机器A2402接收机器B2403向网络2401广播传送的GARP数据包(#34BF1)。机器A2402检测到接收的GARP数据包(#34BF1)与机器A2402上设定的IP地址重复。
在机器A2402检测出IP地址重复的情况下,向机器B2403发送重复通知ARP数据包(#34AB),该重复通知ARP数据包用于通知IP地址重复之事宜。并且,机器A2402将更新GARP数据包(#34AF1)广播发送到网络2401。
并且,在本顺序的说明中,以重复通知ARP数据包(#34AB)、更新GARP数据包(#34AF1)的顺序进行了说明,不过也可以交换顺序。
并且,机器A2402使将更新GARP数据包(#34AF2)向网络2401的广播发送待机规定时间U。
(c)机器B2403的工作
在此,机器B2403不管地址是否重复,继续使用与机器A2402重复的IP地址,而且,是与本发明类似的通信装置,通过接收对机器B2403的GARP数据包,从而具备发送更新GARP数据包的机构。
此时,机器B2403接收机器A2402向网络2401广播传送的GARP数据包(#34AF1)。机器B2403检测到接收的GARP数据包(#34AF1)与机器B2403上设定的IP地址重复。
在机器B2403检测出IP地址重复的情况下,向机器A2402发送重复通知ARP数据包(#34BA),该重复通知ARP数据包用于通知IP地址重复之事宜。并且,机器B2403将更新GARP数据包(#34BF2)广播发送到网络2401。
并且,在本顺序的说明中,以重复通知ARP数据包(#34BA)、更新GARP数据包(#34BF2)的顺序进行了说明,不过也可以交换顺序。
(d)机器B2403发送重复通知ARP数据包后的机器A2402的工作
机器A2402接收机器B2403向机器A2402发送的重复通知ARP数据包(#34BA)。在机器A2402接收了重复通知ARP数据包(#34BA)的情况下,停止发送正在等待发送的更新GARP数据包(#34AF2)。
而且,在机器A2402上若具有LED(发光二极管)则可以使LED灯点亮,若具有显示功能则可以显示已重复之通知,若具有扬声器则可以发出声音来通知。并且,也可以删除机器A2402上设定的IP地址“192.168.0.100”,而再次设定网络地址相同的其它的IP地址。
如果在(d)中不停止更新GARP数据包的发送(#34AF2)而进行发送处理的话,则将会一直重复图35所示的顺序。这样,通过具有停止更新GARP数据包的发送的功能,从而可以防止网络2401上不必要的通信量的发生,并可以回避永久不能通信的状态。
<在机器A2402上的更新GARP数据包发送停止处理流程>
并且,利用图25、图34以及图33的状态迁移图对处理流程进行详细说明。
(a)机器A2402的初始状态
机器A2402上设定有IP地址“192.168.0.100”,处于从初始状态S3301向地址设定状态S3302迁移的状态(#330A)。
(b)GARP数据包接收处理(#34BF1)
机器A2402接收来自机器B2403的GARP数据包(#34BF1)。接收的GARP数据包(#34BF1)经由Interface处理部1201,被传送到ARP接收部2504(#250A)。接收的GARP数据包(#34BF1)在ARP接收部2504被解析,并由重复检测部2503来判断是否与机器A2402上设定的IP地址重复。在本顺序中,由于机器B2403设定了与机器A2402相同的IP地址并发送GARP数据包(#34BF1),因此造成“重复”的结果。
(c)更新GARP数据包(#34AF1)以及重复通知ARP数据包(#34AB)发送处理
机器A2402根据“重复”的结果,由重复检测部2503将重复的GARP数据包(#34BF1)信息通知给更新GARP生成部2505以及重复通知生成部2506。
更新GARP生成部2505在接收了“重复”的通知以及GARP数据包(#34BF1)信息时,生成设定机器A2402的IP地址和DL地址的更新GARP数据包(#34AF1、#34AF2),并传送到ARP发送部2507以及更新GARP延迟部2508。
更新GARP生成部2505在接收了“重复”的通知以及GARP数据包(#34BF1)信息时,对于发送GARP数据包(#34BF1)的机器B2403生成重复通知ARP数据包(#34AB),并发送给ARP发送部2608。
ARP发送部2608将接受的更新GARP数据包(#34AF1)以及重复通知ARP数据包(#34AB)发送到Interface处理部1201并进行发送处理(#250B)。
此时,机器A2402处于从地址设定状态S3302向更新GARP发送延迟状态S3303迁移的状态(#330B)。
(d)重复通知ARP数据包(#34BA)接收处理
机器A2402接收来自机器B2403的重复通知ARP数据包(#34BA)。接收的重复通知ARP数据包(#34BA)经由Interface处理部1201,被传送到ARP接收部2504(#250A)。接收的重复通知ARP数据包(#34BA)在ARP接收部2504被解析,并在重复通知部2510被判断为是重复通知ARP数据包。
在判断为是重复通知ARP数据包的情况下,重复通知部2510将接收了重复通知之事宜通知给更新GARP延迟部2508以及重复监视部2512。
此时,机器A2402处于从更新状态S3302向更新GARP发送延迟状态S3303迁移的状态(#330B)。
(e)更新GARP数据包(#34AF2)发送的停止处理
更新GARP延迟部2508根据重复通知部2510所接收的重复通知,停止将等待了规定时间U的更新GARP数据包传送到ARP发送部2507。此时,被保留而未传送到ARP发送部2507的更新GARP数据包,不是被发送到网络2401,而是由更新GARP延迟部2508所废弃。
而且,重复监视部2512在受理由重复通知部2510发送来的重复通知时,在机器A2402可以采用以下的通知方式,即:若具有LED(发光二极管)则可以使LED灯点亮,若具有显示功能则可以显示已重复之通知,若具有扬声器则可以发出声音来通知。并且,也可以删除机器A2402上设定的IP地址“192.168.0.100”,而再次设定网络地址相同的其它的IP地址。
<机器B2403具有更新GARP发送功能时的处理>
机器B2403在接收了与机器B2403的IP地址重复的GARP数据包时,在本发明中将以图77对仅持有更新GARP数据包发送功能的情况进行说明。
机器A2402接收从机器B2403发送来的GARP数据包(#77BF1),直到发送更新GARP数据包为止(#77AF1),均按照到目前为止所说明的顺序。
其次,机器B2403在接收机器A2402所发送的更新GARP数据包(#77AF1)之后,为了恢复用于B2403的ARP表,而发送更新GARP数据包(#77BF2)。
机器A2402在接收机器B2403发送的更新GARP数据包(#77BF2)的情况下,检测与机器A2402的IP地址的重复。
但是,机器A2402在发送更新GARP数据包(#77AF1)后,由于要等待经过规定时间T,因此不立即发送更新GARP数据包(#77AF2)。并且,停止延迟了规定时间T的更新GARP数据包(#77AF3)的发送。
如以上所述,在本实施例中,可以由机器B2403将被改写的机器C2404的ARP表以及机器D2405的ARP表复原,并可以使具有各种安装的机器A2402、机器C2404、以及机器D2405之间的通信恢复,所述机器D2405是以规定时间来限制ARP表更新的机器。
并且,在具有在网络2401上重复的IP地址的机器存在时,可以控制不必要的更新GARP数据包的发送,从而可以减少网络上的通信量。
并且,在GARP数据包被连续发送来的拒绝服务攻击等的情况下,可以防止因机器A2402的应答而带来的通信量的增加。
而且,进行重复检测的机器持有利用GARP数据包恢复ARP表的功能的情况下,也可以防止应答GARP数据包和更新GARP数据包。
(实施例4)
以下参照附图对本发明所涉及的实施例4进行说明。
<概要>
本实施例中的通信装置具有以下(C26)所示的特征。
(C26)本发明的通信装置将网络层地址和数据链路层地址对应起来进行管理,其中包括:重复检测部,在接收的ARP数据包中,检测发送方的网络层地址与本通信装置的网络层地址一致的GARP数据包;以及ARP信息管理部,删除ARP表中所有的信息,所述ARP表的信息在所述重复检测部检测到所述GARP数据包的情况下,将本通信装置所连接的网络上的、有关通信装置的网络层地址和数据链路层地址对应起来管理。
根据以上所述之处对本实施例中的通信装置进行说明。
<网络构成>
不过,对于本实施例中的网络构成,因与实施例1相同故省略说明。
<通信装置的构成>
不过,对于本实施例中的通信装置的构成,因与实施例1相同故省略说明。
<功能构成>
不过,对于本实施例中的功能构成,因与实施例1相同故省略说明。
<详细的功能构成>
图36示出了本实施例中通信装置的ARP处理部的功能构成例和地址管理部。并且,图中虚线箭头表示控制信息流程,实线箭头表示数据包流程。
ARP处理部3601相当于图12所示的ARP处理部1203。在此,作为一个例子示出ARP处理部3601包括:重复检测部3603、ARP接收部3604、重复通知生成部3605、ARP应答生成部3606、ARP发送部3607、ARP信息管理部3608、以及ARP请求生成部3609。并且,对于与实施例1相同的功能,省略说明。
(a)地址管理部3602
不过,对于本实施例中的地址管理部3602,因与实施例1相同故省略说明。
(b)重复检测部3603
重复检测部3603在接收了GARP数据包时进行比较,比较是否与机器A402上所设定的IP地址重复。在比较结果为重复的情况下,向ARP信息管理部3608通知删除ARP表。并且,并向重复通知生成部3605通知重复之事宜,并传送GARP数据包的发送方DL地址信息。而且,也可以将GARP数据包本身作为信息来传送。
重复检测部3603也可以在接收了OARP数据包时进行比较,比较是否与机器A402上所设定的IP地址重复。并且,也可以在与OARP数据包比较的结果为重复的情况下,向重复通知生成部3605通知重复之事宜,并发送OARP数据包的SRC-DL地址信息。而且,也可以将OARP数据包本身作为信息来传送。
(c)ARP接收部3604
不过,对于本实施例中的ARP接收部3604,因与实施例1相同故省略说明。
(d)重复通知生成部3605
不过,对于本实施例中的重复通知生成部3605,因与实施例1相同故省略说明。
(e)ARP应答生成部3606
不过,对于本实施例中的ARP应答生成部3606,因与实施例1相同故省略说明。
(f)ARP发送部3607
ARP发送部3607具有的功能是将在重复通知生成部2605、ARP应答生成部3606以及ARP请求生成部3609生成的ARP数据包作为ARP数据包(#360B)发送到Interface层处理部。
(g)ARP信息管理部3608
ARP信息管理部3608管理ARP表。ARP表将根据ARP接收部3604的ARP数据包解析结果而被传送来的信息存储到存储部1104,并进行管理。ARP表中示出了IP地址和DL地址的配对,在与网络401上所连接的其它的通信装置之间进行通信时使用此ARP表。并且,ARP信息管理部3608具有的功能是,在接到GARP数据包已从重复检测部3603接收了的通知时,将ARP管理部3608所管理的全部ARP表管理信息删除。而且,ARP信息管理部3608具有的功能是,在机器A402与网络上的其它的装置进行通信时,接收方IP地址中不存在ARP表的项目的情况下,向ARP请求生成部3609发出进行ARP请求之通知。
(h)ARP请求生成部3609
ARP请求生成部3609在ARP信息管理部3608所管理的ARP表中不存在项目的情况下,接受进行ARP请求的要求,所述项目是针对被发送的数据包的接收方IP地址的项目。接受了ARP请求的要求的ARP请求生成部3609具有的功能是,生成ARP请求数据包,并发送到ARP发送部3607。
<利用GARP的重复检测的顺序>
图37示出了本实施例中的通信装置的顺序。如图37所示,在机器B403进行利用GARP的重复检测的情况下,在机器A402、机器B403、以及机器C404进行以下数据包的操作。
(a)重复检测前的工作
机器A402和机器C404相互通信(#37AC1、#37CA1)。此时机器A402中的ARP表的状况如图38所示,机器C404中的ARP表的状况如图39所不。
在此,机器B403被连接于网络401,并发送用于重复检测的GARP数据包(#37BF)。
(b)机器C404的工作
机器C404接收机器B403向网络401广播传送的GARP数据包(#37BF)。机器C404解析接收的GARP数据包的内部(#37BF),并检索机器C404所管理的ARP表中是否有相对应的项目。检索的结果是,在机器C404找到到此为止一直进行通信的机器A402的项目。据此,可以以接收了GARP数据包(#37BF)的信息进行项目的覆盖。结果是机器C404的ARP表由GARP数据包(#37BF)所覆盖,则成为图40所示。
(c)机器A402的工作
机器A402接收机器B403向网络401广播传送的GARP数据包(#37BF1)。机器A402检测到接收的GARP数据包(#37BF)与机器A402上设定的IP地址重复。
在机器A402检测出IP地址重复的情况下,向机器B403发送重复通知ARP数据包(#37AB),该重复通知ARP数据包用于通知IP地址重复之事宜。并且,机器A402删除机器A402所保存的ARP表的所有信息。机器A402的ARP表如图4所示。
(d)机器A402和机器C404的工作
机器A402在开始向机器C404进行数据包发送时,由于机器A402所管理的ARP表被删除,因此,将用于机器C404的DL地址解决处理的ARP请求数据包(#37AF)广播传送到网络401。此时给机器C404的发送数据包保留发送。
机器C404接收ARP请求数据包(#37AF),该ARP请求数据包是机器A402向网络401广播发送的ARP请求数据包。机器C404解析接收的ARP请求数据包(#37AF)的内部,在得知是发送给机器C404的ARP请求数据包时,将ARP应答数据包(#37CA)发送到机器A402,所述ARP应答数据包设定机器C404的DL地址和IP地址。此时机器C404根据接收的ARP请求数据包(#37AF)获得机器A402的DL地址和IP地址,并登记到ARP表。机器C404的ARP表如图42所示。
机器A402接收机器C404所发送的ARP应答数据包(#37CA)。机器A402解析接收的ARP应答数据包(#37CA)的内部,在得知是机器C404的DL地址和IP地址时,登记到机器A402以及ARP表。机器A402的ARP表如图43所示。
机器A402在进行向ARP表的机器C404的项目登记的同时,发送给保留发送的机器C404的数据包(#37ACN)。
以后,来自机器C404的数据包(#37CAN)也被传送到机器A402。
<在机器A402的处理>
进一步利用图36和图37对处理流程进行详细说明。
(a)GARP数据包接收处理(#37BF)
机器A402接收来自机器B403的GARP数据包(#37BF)。接收的GARP数据包(#37BF)经由Interface处理部1201,被传送到ARP接收部3604(#360A)。接收的GARP数据包(#37BF)在ARP接收部3604被解析,并由重复检测部3603来判断是否与机器A402上设定的IP地址重复。在本顺序中,由于机器B403设定了与机器A402相同的IP地址并发送GARP数据包(#37BF),因此造成“重复”的结果。
(b)重复通知ARP数据包(#37AB)发送处理和ARP表的删除
机器A402根据“重复”的结果,由重复检测部3603将重复的GARP数据包(#37BF)信息通知给重复通知生成部3605。并且,重复检测部3603向ARP信息管理部3608通知已重复之事宜。
重复通知生成部3605在接收了“重复”的通知以及GARP数据包(#37BF)信息的情况下,对于发送GARP数据包(#37BF)的机器B403生成重复通知ARP数据包(#37AB),并发送给ARP发送部3607。
ARP发送部3607将受理的重复通知ARP数据包(#37AB)传送到Interface处理部1201,并进行发送处理(#370B)。
并且,ARP信息管理部3608在接收“重复”的通知时,删除ARP信息管理部3608所管理的ARP表中的所有项目。
(c)从机器A402到机器C404的地址解决处理(#37AF)
机器A402在此开始向机器C404发送数据包(#37ACN)。此时,机器A402检索ARP信息管理部3608所管理的ARP表。但是,由于ARP表全部被删除,因此不找到向机器C404的项目。
因此,ARP表所没有找到的ARP信息管理部3608,向ARP请求生成部3609通知生成用于机器C404的地址解决的ARP请求。
ARP请求生成部3609在接收生成ARP请求的通知时,生成向机器C404的ARP请求数据包(#37AF),并传送到ARP发送部3607。ARP发送部3607将ARP请求数据包(#37AF)传送到Interface处理部1201,并进行发送处理(#130B)。
此时,从机器A402向机器C404的发送数据包(#37ACN)在ARP信息管理部3608发送被保留。
(d)从机器C404向机器A402的ARP应答处理(#37CA)
机器A402接收机器C404所发送的ARP应答数据包(#37CA)。接收了ARP应答数据包(#37CA)的ARP发送部3604得知是来自机器C404的应答,将机器C404的DL地址和IP地址发送到ARP信息管理部3608。
ARP信息管理部3608将ARP接收部3604发送来的机器C404的DL地址和IP地址登记到ARP表,并发送给保留发送的机器C404的数据包(#36ACN)。
如上所述,在本实施例中,在网络401上不会发生多余的网络通信量,并能够更新机器A402和机器C404的ARP表,从而恢复机器A402和机器C404的通信。
(实施例5)
以下利用附图对本发明所涉及的实施例5进行说明。
<概要>
本实施例中的通信装置具有以下(C4)~(C7)所示的特征。
(C4)通信装置进一步包括重复通知部,在ARP发送部发送了更新GARP数据包之后,在发送方的网络层地址和本通信装置的网络层地址一致的ARP应答数据包由ARP接收部接收时,将用于告知网络层地址已重复之事宜的地址重复通知传送到重复检测部;重复通知生成部在从重复检测部受理了重复检测通知的情况下,生成ARP应答数据包并传送到ARP发送部,所述重复检测通知是用于告知网络层地址已经重复之事宜的通知;更新GARP生成部在从重复检测部受理了重复检测通知的情况下,生成更新GARP数据包并传送到ARP发送部;重复检测部在从重复通知部受理了地址重复通知的情况下,停止将重复检测通知传送到重复通知生成部和更新GARP生成部。
(C5)通信装置进一步包括:重复监视部,在受理了用于告知网络层地址已重复之事宜的地址重复通知的情况下,对本通信装置的网络层地址已在该通信装置所连接的网络上重复之事宜进行输出;以及重复通知部,在ARP发送部发送了更新GARP数据包之后,在发送方的网络层地址和本通信装置的网络层地址一致的ARP应答数据包由ARP接收部接收时,将地址重复通知传送到重复监视部。
并且,也可以具有以下(c6)、(c7)所示的特征。
(C6)重复通知部将发送方的数据链路层地址包含在地址重复通知内,一起传送到重复监视部;重复监视部输出地址重复通知中所包含的发送方的数据链路层地址。
(C7)重复通知部将发送方的网络层地址包含在地址重复通知内,一起传送到所述重复监视部;重复监视部输出地址重复通知中所包含的发送方的网络层地址。
根据以上所述之处对本实施例中的通信装置进行说明。
<网络构成>
不过,对于本实施例中的网络构成,因与实施例1相同故省略说明。
<通信装置的构成>
不过,对于本实施例中的通信装置的构成,因与实施例1相同故省略说明。
<功能构成>
不过,对于本实施例中的功能构成,因与实施例1相同故省略说明。
<详细功能构成>
图44示出了本实施例中通信装置的ARP处理部的功能构成例、地址管理部以及重复监视部。并且,图中虚线箭头表示控制信息流程,实线箭头表示数据包流程。
ARP处理部4401相当于图12中的ARP处理部1203。在此,作为一个例子示出,该ARP处理部4401包括:重复检测部4403、ARP接收部4404、更新GARP生成部4405、重复通知生成部4406、ARP发送部4408、以及重复通知部4410。
(a)地址管理部4402
不过,对于本实施例中的地址管理部4402,因与实施例1相同故省略说明。
(b)重复检测部4403
重复检测部4403在接收了GARP数据包时,发出重复检测通知,该GARP数据包是地址管理部4402所管理的机器A1002的IP地址和接收ARP数据包的发送方IP地址一致的情况下的GARP数据包。
此重复检测通知被通知到更新GARP生成部4405以及重复通知生成部4406。
此重复检测通知中包括作为信息的GARP数据包的发送方DL地址。而且,也可以将GARP数据包本身作为信息来传送。
并且,重复检测部4403在受理地址重复通知的情况下,停止重复检测通知。而且,对于更新GARP生成部4405仅进行重复检测通知的停止,对于重复通知生成部4406可以不进行重复检测通知的停止。
(c)ARP接收部4404
对于本实施例中的ARP接收部4404,因与实施例3相同故省略说明。
(d)更新GARP生成部4405
不过,对于本实施例中的更新GARP生成部4405,因与实施例1相同故省略说明。
(e)重复通知生成部4406
不过,对于本实施例中的重复通知生成部4406,因与实施例1相同故省略说明。
(f)ARP发送部4408
不过,对于本实施例中的ARP发送部4408,因与实施例1相同故省略说明。
(g)重复通知部4410
重复通知部4410在接收重复通知ARP数据包时,发出地址重复通知。此地址重复通知被发送到重复检测部4403以及重复监视部4412。
(h)重复监视部4412
不过,对于本实施例中重复监视部4412,因与实施例3相同故省略说明。
<利用GARP的重复检测的顺序>
图45示出了本实施例中的通信装置的顺序。如图45所示,机器B403在发送重复检测目的以外的GARP数据包的情况下,在机器A402以及机器B403进行以下数据包的操作。在此,机器B403在发送GARP后,不管机器A402和IP地址是否重复,继续使用重复的IP地址。而且,机器B403具有的功能是,与本发明在一部分上具有相同的安装,发送接收GARP数据包的更新GARP数据包。
(a)机器B403的工作
机器B403向网络401广播发送不是以重复检测为目的的GARP数据包(#45BF1)。
(b)机器A402的工作
机器A402接收机器B403所发送的GARP数据包(#45BF1),发送地址重复通知ARP数据包(#45AB1)以及更新GARP数据包(#45AF1)。
(c)机器A402发送更新GARP数据包后的机器B403的工作
机器B403忽视机器A402所发送来的重复通知ARP数据包(#45AB1),接收更新GARP数据包(#45AF1),因与机器B403上设定的IP地址重复,所以发送重复通知ARP数据包(#45BA)。而且,机器B403根据机器B403的更新GARP发送功能,来发送更新GARP数据包(#45BF2)。
(d)机器B403发送更新GARP数据包后的工作
机器A402接收机器B403所发送的重复通知ARP数据包(#45BA)以及更新GARP数据包(#45BF2)。
但是,通过机器A402接收重复通知ARP数据包,来停止重复通知数据包(#45AB2)以及更新GARP数据包(#45AF2)。
<在机器A404的处理流程>
(a)GARP数据包(##45BF1)接收处理
不过,对于GARP数据包(#45BF1)接收处理,因与实施例1相同故省略说明。
(b)更新GARP数据包(#45AF1)以及重复通知ARP数据包(#45AB1)发送处理
不过,对于更新GARP数据包(#45AF1)以及重复通知ARP数据包(#45AB1)发送处理,因与实施例1相同故省略说明。
(c)重复通知ARP数据包(#45BA)以及更新GARP数据包(#45BF2)接收处理
机器A402接收机器B403所发送的重复通知ARP数据包(#45BA)以及更新GARP数据包(#45BF2)。
首先,对重复通知ARP数据包(#45BA)的处理进行说明。在接收表示机器B403和IP地址重复的重复通知ARP数据包的情况下,ARP接收部4404内部的重复通知部4410将地址重复通知通知给重复检测部4403以及重复监视部4412。
重复检测部4403在受理来自重复通知部4410的地址重复通知的情况下,停止向更新GARP生成部4405以及重复通知生成部4406发送重复检测通知。并且,也可以仅停止向更新GARP生成部4405发送重复检测通知。
重复监视部4412在受理来自重复通知部4410的地址重复通知的情况下,可以得知机器A402的IP地址与网络401上的重复。而且,重复监视部4412通过受理地址重复通知,机器A2401可以具有以下的功能,即:若具有LED(发光二极管)则使LED灯点亮,若具有显示功能则可以显示已重复之通知,若具有扬声器则可以发出声音来通知。并且,也可以具有这样的功能,即可以删除机器A2402上设定的IP地址“192.168.0.100”,而再次设定网络地址相同的其它的IP地址。
其次,对更新GARP数据包(#45BF2)的处理进行说明。在从机器B403接收了更新GARP数据包(#45BF2)时,在重复检测部4403接受处理。此时,由于重复检测部4403受理了来自重复通知部4410的地址重复通知,因此,不将重复检测通知从重复检测部4403发送到更新GARP生成部4405以及重复通知生成部4406。
其结果是,在更新GARP生成部4405和重复通知生成部4406均不进行处理,并且不发送更新GARP数据包(#45AF2)以及重复通知ARP数据包(#45AB2)。
并且,在仅停止向更新GARP生成部4405发出重复检测通知的情况下,只有更新GARP生成部4405不进行处理,虽然重复通知ARP数据包(#45AB2)被发送,但是更新GARP数据包(#45AF2)不被发送。
如上所述,在本实施例中,不管在机器B403是否发生IP地址重复,也在一直保持着重复的IP地址的装置中停止更新GARP数据包的操作,从而可以减少不必要的网络通信量。
并且,由于具有能够检测重复的功能,因此,能够催促用户更改IP地址的设定。
(实施例6)
以下,参照附图对本发明所涉及的实施例6进行说明。
<概要>
本实施例中的通信装置具有以下(C16)~(C18)所示的特征。
(C16)通信装置包括:地址重复检索部,利用地址重复检索所使用的网络层地址来检索网络层地址的重复;以及GARP生成部,生成将地址重复检索所使用的网络层地址设定为发送目标的网络层地址的检索GARP数据包;ARP发送部发送在GARP生成部被生成的检索GARP数据包;重复检测部在ARP发送部发送检索GARP数据包、并且在地址重复检索部正在检索地址重复的过程中,发送目标的网络层地址和所述检索所使用的网络层地址一致的重复ARP数据包被接收时,传送告知网络层地址已重复之事宜的地址重复通知。
(C17)通信装置进一步包括恢复GARP生成部,将重复ARP数据包的发送方的数据链路层地址设定为发送方的数据链路层地址,生成将地址重复检索所使用的网络层地址设定为发送目标的网络层地址的恢复GARP数据包;重复检测部将重复ARP数据包的发送方的数据链路层地址包含在地址重复通知中,一起传送到地址重复检索部;地址重复检索部将地址重复通知中所包含的重复ARP数据包的发送方的数据链路层地址和地址重复检索所使用的网络层地址,发送到恢复GARP生成部;ARP发送部将恢复GARP数据包的发送目标的数据链路层地址设定为数据链路层的广播地址,将恢复GARP数据包的发送方的数据链路层地址设定为本通信装置中所设定的数据链路层地址,并发送恢复GARP数据包。
(C18)恢复GARP生成部在从地址重复检索部受理了恢复GARP生成通知的情况下,立即生成所述恢复GARP数据包,并传送到ARP发送部,所述恢复GARP生成通知指示生成所述恢复GARP数据包。
根据以上所述之处对本实施例中的通信装置进行说明。
<网络构成>
关于网络构成,与实施例1相同。但是,对于机器A1002中的IP地址“192.168.0.100”,既可以是在机器A1002中已设定的,也可以是未被设定的。
<通信装置的构成>
不过,对于本实施例中的通信装置的构成,因与实施例1相同故省略说明。
<功能构成>
不过,对于本实施例中的功能构成,因与实施例1相同故省略说明。
<详细的功能构成>
图51A示出了本实施例中的通信装置的ARP处理部的功能构成例、地址管理部、以及地址重复检索部。并且,图中以虚线箭头表示控制信息的流程,以实线箭头表示数据包的流程。
ARP处理部5101相当于图12中的ARP处理部1203。在此,作为一个例子,ARP处理部5101包括:重复检测部5103、ARP接收部5104、更新GARP生成部5105、重复通知生成部5106、ARP发送部5107、GARP生成部5109、以及恢复GARP生成部5110。并且,对于与实施例1相同的功能省略说明。
(a)地址管理部5102
不过,对于在实施例中的地址管理部5102,因与实施例1相同故省略说明。
(b)重复检测部5103
在接收的ARP数据包的发送方IP地址与地址管理部5102中所管理的机器A1002的IP地址一致的情况下,重复检测部5103将重复检测通知通知给更新GARP生成部5105以及重复通知生成部5106。
而且,地址重复检索部5108对于机器A1002而言处于地址重复检索状态(参照功能部(g)地址重复检索部)的情况下,在接收的ARP数据包的发送方IP地址与进行地址重复检索的IP地址一致的情况下,重复检测部5103将重复检测通知通知给地址重复检索部5108。
在此,这些重复检测通知中包含接收的GARP数据包的发送方DL地址或接收的ARP数据包的发送方DL地址。并且,接收的GARP数据包或接收的ARP数据包本身也可以作为重复检测通知来传送。
(c)ARP接收部5104
不过,对于本实施例中的ARP接收部5104,因与实施例1相同故省略说明。
(d)更新GARP生成部5105
不过,对于本实施例中的更新GARP生成部5105,因与实施例1相同故省略说明。
(e)重复通知生成部5106
不过,对于本实施例中的重复通知生成部5106,因与实施例1相同故省略说明。
(f)ARP发送部5107
不过,对于本实施例中的ARP发送部5107,因与实施例1相同故省咯说明。
(g)地址重复检索部5108
地址重复检索部5108将用于进行地址重复检索的IP地址(以下,称为重复检索IP地址)通知到GARP生成部5109。而且,地址重复检索部5108在从重复检测部5103受理重复检测通知的情况下,将恢复GARP生成通知通知给恢复GARP生成部5110。在此,恢复GARP生成通知中包含重复检索IP地址和重复检测通知中的发送方DL地址。
但是,地址重复检索部5108若在规定的时间经过后不受理重复检测通知,则认为在网络1001上不存在具有重复IP地址的通信装置,而结束地址重复检索处理。并且,将地址重复检索部5108等待规定时间的状态视为地址重复检索状态。
(h)GARP生成部5109
GARP生成部5109在从地址重复检索部5108受理重复检索IP地址的情况下,生成Gratuitous ARP数据包(以下称为GARP数据包)。此时,在生成GARP数据包时,将受理的重复检索IP地址设定到发送方IP地址5006和接收方IP地址5008。将在地址管理部5102所管理的机器A1002的DL地址设定到发送方DL地址5005。对接收方DL地址5007不进行设定。因此,将这样生成的GARP数据包传送到ARP发送部5107。
不过,机器A1002的DL地址可以不由地址管理部5102来管理,可以采用直接从通信部1102中获得等方法。
(i)恢复GARP生成部5110
恢复GARP生成部5110在从地址重复检索部5108受理恢复GARP生成通知的情况下,根据受理的恢复GARP生成通知,生成GratuitousARP数据包(以下称为恢复GARP数据包)。此时,在生成恢复GARP数据包时,将受理的恢复GARP生成通知中所包含的发送方DL地址设定到发送方DL地址5005。并且,将受理的恢复GARP生成通知中所包含的重复检索IP地址设定到发送方IP地址5006和接收方IP地址5008。对接收方DL地址5007不进行设定。因此,将这样生成的恢复GARP数据包传送到ARP发送部5107。
不过,机器A1002的DL地址可以不由地址管理部5102来管理,可以采用直接从通信部1102中获得等方法。
并且,恢复GARP生成部5110可以生成多个恢复GARP数据包,并可以将生成的多个恢复GARP数据包传送到ARP发送部5107。
<利用GARP的重复检测的顺序>
图46示出本实施例中的通信装置的顺序。如图46所示,与实施例1相反,由机器A1002利用GARP进行重复检测的情况下,在机器A1002、机器B1003、以及机器C1004进行以下数据包的操作。
(a)重复检测前的工作
机器B1003和机器C1004相互通信(#46CB1、#46BC1)。此时机器C1004中的ARP表的状况如图47所示。
在此,机器A1002发送连接在网络1001上的用于重复检测的GARP数据包(#46AF1)。
(b)机器C1004的工作
机器C1004接收GARP数据包(#46AF1),该更新GARP数据包是机器A1002向网络1001广播发送的GARP数据包。解析接收的GARP数据包(#46AF1)的内容,并从机器C1004所管理的ARP表中检索与接收的GARP数据包(#46AF1)的发送方IP地址重复的项目。
检索的结果是,找到到此为止一直进行通信的机器A1003的项目。因此,找到的项目被接收的GARP数据包(#46AF1)的信息所覆盖。结果是机器C1004的ARP表由GARP数据包(#46AF1)所覆盖,则成为图48所示。
(c)机器B1003的工作
机器B1003接收GARP数据包(#46AF1),该GARP数据包是机器A1002向网络1001广播发送的GARP数据包。机器B1003检测到接收的GARP数据包(#46AF1)的发送方IP地址与设定在机器B1003上的IP地址重复。将用于通知IP地址已重复的重复通知ARP数据包(#46BA)发送到机器A1002。
(d)机器B1003发送重复通知ARP数据包(#46BA)后的机器A1002的工作
机器A1002接收机器B1003所发送的重复通知ARP数据包(#46BA)。根据接收的重复通知ARP数据包(#46BA)检测到IP地址重复。如图50所示,生成恢复GARP数据包(#46AF2),该恢复GARP数据包是将接收的重复通知ARP数据包的发送方DL地址,即将机器B1003的DL地址“BB:BB:BB:BB:BB:BB”设定到发送方DL地址5005的恢复GARP数据包。并发送生成的恢复GARP数据包(#46AF2)。
并且,如图50所示,从机器A1002发送来的恢复GARP数据包(#46AF2),在DL头部5001的接收方DL地址5009设定为“FF:FF:FF:FF:FF:FF”的情况下,可以进行数据链路层广播发送。在发送方DL地址5010上设定了机器A1002的DL地址,即“AA:AA:AA:AA:AA:AA”。
(e)机器A1002发送恢复GARP数据包(#46AF2)后机器C1004的工作
机器C1004接收恢复GARP数据包(#46AF2),该恢复GARP数据包是机器A1002向网络1001广播发送的恢复GARP数据包。解析接收的恢复GARP数据包的内容(#46AF2),并检索机器C1004所管理的ARP表。检索的结果是通过机器A1002的重复检测,找到由GARP数据包(#46AF1)所覆盖的机器B1003的项目。找到的项目被恢复GARP数据包(#46AF2)的信息所覆盖。结果是机器C1004的ARP表由恢复GARP数据包(#46AF2)所覆盖,则成为图49所示。
(f)重复检测后的工作
经过以上的顺序,机器C1004的ARP表返回到机器A1002的重复检测前的状态。据此,机器B1003和机器C1004可以和重复检测前一样,成为互相通信的状态(#46CBM、#46BCM)。
<在机器A1002的处理流程>
以下利用图51和图46对机器A1002中的处理流程进行说明。
(a)GARP数据包(#46AF1)发送处理
机器A1002将进行地址重复检测的IP地址“192.168.0.100”从地址重复检索部5108通知到GARP生成部5109。
并且,在进行地址重复检测时,在机器A1002也可以不设定IP地址“192.168.0.100”。
GARP生成部5109在从地址重复检索部5108受理IP地址“192.168.0.100”的情况下,生成以受理的IP地址为接收方的GARP数据包(#46AF1)。并将生成的GARP数据包(#46AF1)发送到ARP发送部5107。
ARP发送部5107在从GARP生成部5109受理GARP数据包(#46AF1)的情况下,设定受理的GARP数据包(#46AF1)的DL头部5001。因此,DL头部5001所设定的GARP数据包(#46AF1)经由Interface处理部1201被数据包发送(#510B)。
(b)重复通知ARP数据包(#46BA)接收处理
之后,机器A1002接收机器B1003所发送的重复通知ARP数据包(#46BA)。并且,接收的重复通知ARP数据包(#46BA)经由Interface处理部1201,被传送到ARP接收部5104(#510A)。
ARP接收部5104内的重复检测部5103,在受理经由Interface处理部1201被传送来的ARP数据包(#46BA)的情况下,解析受理的ARP数据包(#46BA),并对受理的ARP数据包的发送方IP地址106和在地址重复检索部5108进行地址重复检索的IP地址进行比较。比较的结果为一致的情况下,将受理的ARP数据包(#46BA)作为重复通知ARP数据包,并将重复通知ARP数据包(#46BA)的发送方DL地址通知到地址重复检索部5108。
但是,在规定时间内重复通知ARP数据包(#46BA)没有被接收的情况下,地址重复检索部5108则视为与进行地址重复检索的IP地址“192.168.0.100”重复的通信装置不存在于网络1001上,而结束地址重复检索。
并且,地址重复检测部5108在从重复检测部5103受理发送方DL地址的情况下,将恢复GARP生成通知通知给恢复GARP生成部5110,所述恢复GARP通知中包括受理的发送方DL地址和进行地址重复检索的IP地址。
(c)恢复GARP数据包(#46AF2)发送处理
恢复GARP生成部5110在从地址重复检测部5108受理恢复GARP生成通知的情况下,生成恢复GARP数据包(#46AF2)。此时,如图50所示,恢复GARP生成部5110在生成恢复GARP数据包(#46AF2)时,将受理的恢复GARP生成通知中所包含的发送方DL地址,即将机器B1003的DL地址“BB:BB:BB:BB:BB:BB”设定到发送方DL地址5005。将受理的重复检索IP地址“192.168.0.100”设定到发送方IP地址5006和接收方IP地址5008。对接收方DL地址5007不进行设定。因此,将这样生成的恢复GARP数据包(#46AF2)传送到ARP发送部5107。
ARP发送部5107在从恢复GARP生成部5110受理恢复GARP数据包(#46AF2)的情况下,对DL头部5001进行设定。因此,DL头部5001所设定的恢复GARP数据包(#46AF2)经由Interface处理部1201被数据包发送(#510B)。并且,被发送的恢复GARP数据包如图50所示。
<机器B1003具有更新GARP发送功能的情况下的对应>
以下利用图78对以下的情况进行说明,即:机器B1003在接收用于机器A1002的重复检测的GARP数据包时,具有通知重复的重复通知ARP数据包和更新GARP数据包发送功能的情况。
机器B1003接收从机器A1002发送来的GARP数据包(#78AF1),到发送重复通知ARP数据包(#78BA)为止都是按照到目前为止所说明的顺序进行。
其次,机器B1003在接收机器A1002发送的GARP数据包(#78AF1)后,为了恢复机器B1003的ARP表,而发送更新GARP数据包(#78BF)。
机器A1002虽然接收机器B1003发送的更新GARP数据包(#78BF),但是忽视该更新GARP数据包(#78BF)。并且,机器A1002可以通过接收机器B1003发送的更新GARP数据包(#78BF),而停止恢复GARP数据包(#78AF2)的发送。
以上,在本实施例中,通过机器A1002进行地址重复检测,从而被改写的机器C1004的ARP表可以返回到原来状态,并且可以使机器B1003和机器C1004之间的通信恢复。
而且,进行重复检测的网络上的机器,即使具有更新GARP数据包发送功能,也可以没有问题地恢复通信。
(实施例7)
以下,参照附图对本发明所涉及的实施例7进行说明。
<概要>
本实施例中的通信装置具有以下(C19)到(C21)所示的特征。
(C19)通信装置进一步包括重复监视部,在从地址重复检索部受理了地址重复通知的情况下,在本通信装置所连接的网络上输出本通信装置的网络层地址已重复之事宜;地址重复检索部在发送方的网络层地址和本通信装置的网络层地址一致的重复ARP数据包被接收时,并从重复检测部受理了地址重复通知的情况下,将地址重复通知传送到重复监视部。
(C20)地址重复检索部将重复ARP数据包的发送方的数据链路层地址包含在地址重复通知中,一起传送到所述重复监视部;重复监视部输出地址重复通知中所包含的重复ARP数据包的发送方的数据链路层地址。
(C21)地址重复检索部将重复ARP数据包的发送方的网络层地址包含在地址重复通知中,一起传送到所述重复监视部;重复监视部输出地址重复通知中所包含的重复ARP数据包的发送方的网络层地址。
以下,根据以上所述之处对本实施例中的通信装置进行说明。
<网络构成>
不过,对于本实施例中的网络构成,因与实施例6相同故省略说明。
<通信装置的构成>
不过,对于本实施例中的通信装置的构成,因与实施例6相同故省略说明。
<功能构成>
不过,对于本实施例中的功能构成,因与实施例6相同故省略说明。
<详细的功能构成>
图51B示出了本实施例中的ARP处理部的功能构成例、地址管理部、地址重复检索部、以及重复监视部。并且,图中的虚线箭头表示控制信息的流程,实线箭头表示数据包的流程。
ARP处理部5101相当于图12中的ARP处理部1203。在此,作为一个例子,ARP处理部5101包括:重复检测部5103、ARP接收部5104、更新GARP生成部5105、重复通知生成部5106、ARP发送部5107、地址重复检索部5108、GARP生成部5109、以及恢复GARP生成部5110。并且,对于与实施例6相同的功能省略说明。
(a)地址管理部5102
不过,对于地址管理部5102,因与实施例6相同故省略说明。
(b)重复检测部5103
不过,对于重复检测部5103,因与实施例6相同故省略说明。
(c)ARP接收部5104
不过,对于ARP接收部5104,因与实施例6相同故省略说明。
(d)更新GARP生成部5105
不过,对于更新GARP生成部5105,因与实施例6相同故省略说明。
(e)重复通知生成部5106
不过,对于重复通知生成部5106,因与实施例6相同故省略说明。
(f)ARP发送部5107
不过,对于ARP发送部5107,因与实施例6相同故省略说明。
(g)地址重复检索部5108
地址重复检索部5108将用于进行地址重复检索的IP地址(以下,称为重复检索IP地址)通知到GARP生成部5109。而且,地址重复检索部5108在从重复检测部5103受理重复检测通知时,将恢复GARP生成通知通知给恢复GARP生成部5110。在此,恢复GARP生成通知中包含重复检索IP地址和重复检测通知中的发送方DL地址。
但是,地址重复检索部5108若在规定的时间经过后不受理重复检测通知,则认为在网络1001上不存在具有重复IP地址的通信装置,而结束地址重复检索处理。
并且,地址重复检索部5108将重复检测通知传送到重复监视部5111。
(h)GARP生成部5109
不过,对于GARP生成部5109,因与实施例6相同故省略说明。
(i)恢复GARP生成部5110
不过,对于恢复GARP生成部5110,因与实施例6相同故省略说明。
(j)重复监视部5111
重复监视部5111在从地址重复检索部5108受理重复检测通知的情况下,可以得知网络1001上的IP地址发生重复。
而且,重复监视部5111在从地址重复检索部5108受理重复检测通知的情况下,机器A1002可以具有以下功能,即:若具有LED(发光二极管)则可以使LED灯点亮,若具有显示功能则可以显示已重复之通知,若具有扬声器则可以发出声音来通知。
而且,也可以表示检测出重复的通信装置的DL地址,或也可以将实际上发生重复的IP地址作为信息来输出。
<利用GARP的重复检测的顺序>
不过,对于在本实施例中利用GARP的重复检测的顺序,因与实施例6相同故省略说明。
<在机器A1002的处理流程>
以下,利用图51B和图46对机器A1002中的处理流程进行说明。
(a)GARP数据包(#46AF1)发送处理
不过,对于GARP数据包(#46AF1)发送处理,因与实施例6相同故省略说明。
(b)重复通知ARP数据包(#46BA)接收处理
不过,对于重复通知ARP数据包(#46BA)接收处理,除进行与实施例6相同的处理之外,还进行以下处理。
地址重复检索部5108在受理发送方DL地址的通知的情况下,将重复通知传送到重复监视部5111。
重复监视部5111在从地址重复检索部5108受理重复通知的情况下,输出地址已重复之事宜。而且,机器A2401可以具有以下功能,即:若具有LED(发光二极管)则可以使LED灯点亮,若具有显示功能则可以显示已重复之通知,若具有扬声器则可以发出声音来通知。而且,也可以表示检测出重复的通信装置的DL地址,或也可以将实际上发生重复的IP地址作为信息来输出。
(c)恢复GARP数据包(#46AF2)发送处理
不过,对于恢复GARP数据包(#46AF2)发送处理,因与实施例6相同故省略说明。
如上所述,在本实施例中,通过机器A1002进行地址重复检测,被改写的机器C1004的ARP表可以返回到原来的状态,而且,还可以将网络1001上IP地址重复之事通知给用户。
(实施例8)
以下,参照附图对本发明所涉及的实施例8进行说明。
<概要>
本实施例中的通信装置具有以下(C22)~(C24)所示的特征。
(C22)恢复GARP生成部在从地址重复检索部受理了恢复GARP生成通知的情况下,生成多个恢复GARP数据包;ARP发送部发送在恢复GARP生成部所生成的多个恢复GARP数据包。
(C23)通信装置进一步包括恢复GARP延迟部,将从恢复GARP生成部受理了的恢复GARP数据包延迟规定的时间后,传送到ARP发送部;恢复GARP生成部生成多个恢复GARP,且将生成的多个恢复GARP数据包中的至少一个发送到ARP发送部,以及将生成的多个恢复GARP数据包中的至少一个传送到恢复GARP延迟部。
(C24)地址重复检索部在地址重复通知被受理的情况下,将已从恢复GARP生成部受理了的恢复GARP数据包在恢复GARP延迟部延迟规定的时间的过程中,停止将地址重复通知向恢复GARP生成部的传送。
根据以上所述之处,对本实施例中的通信装置进行说明。
<网络构成>
关于网络构成,与实施例3相同。但是,在机器A2402中,IP地址“192.168.0.100”既可以作为机器A2402已经设定的地址,也可以作为没有被设定的地址。
<通信装置的构成>
不过,对于本实施例中的通信装置的构成,因与实施例1相同故省略说明。
<功能构成>
不过,对于本实施例中的功能构成,因与实施例1相同故省略说明。
<详细的功能构成>
图52示出了本实施例中的通信装置的ARP处理部的功能构成例、地址管理部、以及地址重复检索部。并且,图中虚线箭头表示控制信息流程,实线箭头表示数据包流程。
ARP处理部5201相当于图12中的ARP处理部1203。在此,作为一个例子,ARP处理部5201包括:重复检测部5203、ARP接收部5204、更新GARP生成部5205、重复通知生成部5206、ARP发送部5207、GARP生成部5209、恢复GARP生成部5210、以及恢复GARP延迟部5211。并且,对于与实施例6相同的功能省略说明。
(a)地址管理部5202
不过,对于地址管理部5202,因与实施例6相同故省略说明。
(b)重复检测部5203
不过,对于重复检测部5203,因与实施例6相同故省略说明。
(c)ARP接收部5204
不过,对于ARP接收部5204,因与实施例6相同故省略说明。
(d)更新GARP生成部5205
不过,对于更新GARP生成部5205,因与实施例6相同故省略说明。
(e)重复通知生成部5206
不过,对于重复通知生成部5206,因与实施例6相同故省略说明。
(f)ARP发送部5207
不过,对于ARP发送部5207,因与实施例6相同故省略说明。
(g)地址重复检索部5208
地址重复检索部5208将用于进行地址重复检索的IP地址(以下,称为重复检索IP地址)通知到GARP生成部5209。而且,地址重复检索部5208在从重复检测部5203受理重复检测通知时,将恢复GARP生成通知通知给恢复GARP生成部5210。在此,恢复GARP生成通知中包含重复检索IP地址和重复检测通知中的发送方DL地址。
但是,地址重复检索部5208若在规定的时间经过后不受理重复检测通知,则认为在网络2401上不存在具有重复IP地址的通信装置,而结束地址重复检索处理。
(h)GARP生成部5209
不过,对于GARP生成部5209,因与实施例6相同故省略说明。
(i)恢复GARP生成部5210
恢复GARP生成部5210在从地址重复检索部5208受理恢复GARP生成通知的情况下,根据受理的恢复GARP生成通知,生成多个Gratuitous ARP数据包(以下称为恢复GARP数据包)。此时,将受理的恢复GARP生成通知中所包含的发送方DL地址设定到发送方DL地址5005。将受理的恢复GARP生成通知中所包含的重复检索IP地址设定到发送方IP地址5006和接收方IP地址5008。对接收方DL地址5007不进行设定。因此,将这样生成的多个恢复GARP数据包分开传送到ARP发送部5207和恢复GARP延迟部5211。
例如,恢复GARP生成部5210在生成了三个以上的恢复GARP数据包的情况下,可以将其中一个恢复GARP数据包传送到ARP发送部5207,将其余的恢复GARP数据包传送到恢复GARP延迟部5211,相反,也可以将其中一个恢复GARP数据包传送到恢复GARP延迟部5211,将其余的恢复GARP数据包传送到ARP发送部5207。
(j)恢复GARP延迟部5211
恢复GARP延迟部5211在从恢复GARP生成部5210受理了恢复GARP数据包时,不是立即将受理的恢复GARP数据包传送到ARP发送部5207,而是一直保存到经过规定时间T为止。当经过规定时间T时,将受理了的恢复GARP数据包传送到ARP发送部5207。以下,将像上述这样延迟传送到ARP发送部5207的恢复GARP数据包称为延迟恢复GARP数据包。
<利用GARP的重复检测的顺序>
图53是本实施例中通信装置的顺序。如图53所示,与实施例3相反,由机器A2402执行了利用GARP的重复检测的情况下,在机器A2402、机器B2403、机器C2404、以及D2405进行以下数据包的操作。
(a)重复检测前的工作
机器B2403、机器C2404、以及机器D2405互相通信(#53CB1、#53BC1以及#53DB1、#53BD1)。此时,机器C2404中的ARP表如图54所示,机器D2405中的ARP表如图55所示。
并且,机器A2402与网络2401相连接,重复检测用的GARP数据包(#53AF1)由机器A2402发送。
(b)机器C2404的工作
机器C2404接收机器A2402向网络2401广播传送的GARP数据包(#53AF1)。解析接收的GARP数据包(#53AF1)的内容,并从机器C2404所管理的ARP表中检索与接收的GARP数据包的发送方IP地址重复的项目。检索的结果是,找到到此为止一直进行通信的机器B2403的项目。因此,找到的项目被接收的GARP数据包(#53AF1)的信息所覆盖。结果是机器C2404的ARP表由GARP数据包(#53AF1)所覆盖,则成为图56所示。
(c)机器D2405的工作
机器D2405接收机器A2402向网络2401广播传送的GARP数据包(#53AF1)。解析接收的GARP数据包(#53AF1)的内容,并从机器D2405所管理的ARP表中检索与接收的GARP数据包的发送方IP地址重复的项目。检索的结果是,找到到此为止一直进行通信的机器B2403的项目。因此,找到的项目被接收的GARP数据包(#53AF1)的信息所覆盖。此时,与图55中的“到接受更新为止的时间”为0的情况的理由相同,由于十分钟前ARP表没有被更新,因此,找到的项目立即成为可以更新的状态。结果是机器D2405的ARP表由GARP数据包(#53AF1)所覆盖,则成为图57所示。并且,直到接受更新为止的时间被初始化并被设定为规定时间U秒。
(d)机器B2403的工作
机器B2403接收机器A2402向网络2401广播传送的GARP数据包(#53AF1)。接收的GARP数据包(#53AF1)被检测到与机器B2403上设定的IP地址重复。并向机器A2402发送用于通知IP地址重复的重复通知ARP数据包(#53BA)。
(e)机器B2403发送重复通知ARP数据包(#53BA)后的机器A2402的工作
机器A2402接收机器B2403所发送的重复通知ARP数据包(#53BA)。根据接收的重复通知ARP数据包(#53BA)检测到IP地址重复。《94%》如图50所示,生成恢复GARP数据包(#53AF2),该恢复GARP数据包(#53AF2)是将接收的重复通知ARP数据包的发送方DL地址,即将机器B2403的DL地址“BB:BB:BB:BB:BB:BB”设定到发送方DL地址5005的恢复GARP数据包。并发送生成的恢复GARP数据包(#53AF2)。
并且,如图50所示,从机器A2402发送来的恢复GARP数据包(#53AF2),将“FF:FF:FF:FF:FF:FF”设定到DL头部5001的接收方DL地址5009。在发送方DL地址5010上设定机器A2302的DL地址,即设定“AA:AA:AA:AA:AA:AA”。
(f)机器A2402发送恢复GARP数据包(#53AF2)后的机器C2404的工作
机器C2404接收机器A2402向网络2401广播发送的恢复GARP数据包(#53AF2)。解析接收的恢复GARP数据包(#53AF2)的内容,并从机器C2404所管理的ARP表中检索与接收的恢复GARP数据包(#53AF2)的发送方IP地址重复的项目。
检测的结果是,在此找到由用于机器A2402的重复检测的GARP数据包(#53AF1)所覆盖的给机器B2403的项目。因此,找到的项目被接收的恢复GARP数据包(#53AF2)的信息所覆盖。结果是机器C2404的ARP表由恢复GARP数据包(#53AF2)所覆盖,则成为图58所示。在此时刻,则成为机器C2404能够与机器B2403通信的状态。
(g)机器A2402发送恢复GARP数据包(#53AF2)后机器D2405的工作
机器D2405接收机器A2402向网络2401广播传送的恢复GARP数据包(#53AF2)。解析接收的恢复GARP数据包(#53AF2)的内容,并从机器C2405所管理的ARP表中检索与接收的恢复GARP数据包(#53AF2)的发送方IP地址重复的项目。
检测的结果是,在此找到由用于机器A2402的重复检测的GARP数据包(#53AF1)所覆盖的给机器B2403的项目。不过,由于没有经过到更新受理为止的规定时间U,因此机器D2405的ARP表不被覆盖,仍为图57所示。在此时刻,机器D2405不能与机器B2403通信。
(h)从机器B2403发送重复通知ARP数据包(#53BA)开始,经过规定时间V后的机器A2402的工作
经过规定时间V后,机器A2402向网络2401广播发送延迟恢复GARP数据包(#53AF3)。此延迟恢复GARP数据包(#53AF3)是与在处理(e)发送的恢复GARP数据包(#53AF2)相同的数据包。
(i)机器A2402发送延迟恢复GARP数据包(#53AF3)后的机器C2404的工作
机器C2404接收机器A2402向网络2401广播传送的延迟恢复GARP数据包(#53AF3)。解析接收的延迟恢复GARP数据包(#53AF3)的内容,并从机器C2404所管理的ARP表中检索与接收的延迟恢复GARP数据包(#53AF3)的发送方IP地址重复的项目。
检测的结果是,在此找到由用于机器A2402的恢复GARP数据包(#53AF2)所覆盖的给机器B2403的项目。但是,在此找到的项目已经被机器A2402所发送的恢复GARP数据包所修改。为此,在接收了延迟恢复GARP数据包(#53AF3)时,不进行任何处理,仍保持图58所示的状态。并且,此时可以对ARP表的有效时间进行更新。
(j)机器A2402发送延迟恢复GARP数据包(#53AF3)后的机器D2405的工作
机器D2405接收机器A2402向网络2401广播传送的延迟恢复GARP数据包(#53AF3)。解析接收的延迟恢复GARP数据包(#53AF3)的内容,并从机器D2405所管理的ARP表中检索与接收的延迟恢复GARP数据包(#53AF3)的发送方IP地址重复的项目。
检索的结果是,在此找到由用于机器A2402的重复检测的GARP数据包(#53AF1)所覆盖的给机器B2403的项目。并且,由于从发送机器B2403发送重复通知ARP数据包(#53BA)的时刻开始经过了规定时间V,因此,找到的项目是图59所示的到接受更新为止的时间为0秒。因此,机器D2405的ARP表由延迟恢复GARP数据包(#53AF3)所覆盖,则成为图60所示。在此时刻,则成为机器C2405能够与机器B2403通信的状态。
(k)重复检测后的工作
经过以上的顺序,机器C2404以及机器D2405的ARP表返回到机器A2402的重复检测前的状态。据此,机器B2403、机器C2404、以及机器D2405与重复检测前一样,为彼此互相通信的状态(#53CBN、#53BCN、#53DBN、#53BDN)。
<在机器A2402的处理流程>
以下,利用图52和图53对机器A2402的处理流程进行说明。
(a)GARP数据包(#53AF1)发送处理
机器A2402将进行地址重复检测的IP地址“192.168.0.100”从地址重复检索部5208通知到GARP生成部5209。
并且,在进行地址重复检测时,在机器A2402也可以不设定IP地址“192.168.0.100”。
GARP生成部5209在从地址重复检索部5208受理IP地址“192.168.0.100”的情况下,生成以受理的IP地址为接收方的GARP数据包(#53AF1)。并将生成的GARP数据包(#53AF1)发送到ARP发送部5207。
ARP发送部5207在从GARP生成部5209受理GARP数据包(#53AF1)的情况下,设定受理的GARP数据包(#53AF1)的DL头部5001。因此,DL头部5001所设定的GARP数据包(#53AF1)经由Interface处理部1201被数据包发送(#520B)。
(b)重复通知ARP数据包(#53BA)接收处理
之后,机器A2402接收机器B2403所发送的重复通知ARP数据包(#53BA)。并且,被接收的重复通知ARP数据包(#53BA)经由Interface处理部1201被传送到ARP接收部5204(#520A)。
ARP接收部5204内的重复检测部5203,在受理经由Interface处理部1201被传送来的ARP数据包(#53BA)的情况下,解析受理的ARP数据包(#53BA),并对受理的ARP数据包的发送方IP地址106和在地址重复检索部5208进行地址重复检索的IP地址进行比较。比较的结果为一致的情况下,将受理的ARP数据包(#53BA)作为重复通知ARP数据包,并将重复通知ARP数据包(#53BA)的发送方DL地址通知到地址重复检索部5208。
但是,在规定时间内重复通知ARP数据包(#53BA)没有被接收的情况下,地址重复检索部5208则视为与进行地址重复检索的IP地址“192.168.0.100”重复的通信装置不存在于网络2401上,而结束地址重复检索。
并且,地址重复检测部5208在从重复检测部5203受理发送方DL地址的情况下,将受理的发送方DL地址和进行地址重复检索的IP地址通知给恢复GARP生成部5210。
(c)恢复GARP数据包(#53AF2)发送处理
恢复GARP生成部5210在从地址重复检索部5208受理恢复GARP生成通知的情况下,生成恢复GARP数据包(#53AF2)。此时,如图50所示,恢复GARP生成部5210在生成恢复GARP数据包(#53AF2)时,将受理的恢复GARP生成通知中所包含的发送方DL地址“BB:BB:BB:BB:BB:BB”设定到发送方DL地址5005。将受理的恢复GARP生成通知中所包含的重复检索IP地址“192.168.0.100”设定到发送方IP地址5006和接收方IP地址5008。对接收方DL地址5007不进行设定。因此,将这样生成的恢复GARP数据包(#53AF2)传送到ARP发送部5207。
并且,恢复GARP生成部5210复制生成的恢复GARP数据包,并将复制后的恢复GARP数据包(#53AF3)传送到恢复GARP延迟部5211。
并且,恢复GARP生成部5210可以将复制后的恢复GARP数据包(#53AF3)传送到恢复GARP延迟部5211,也可以将从地址重复检索部5208受理的恢复GARP生成通知中所包含的发送方DL地址“BB:BB:BB:BB:BB:BB”以及重复检索IP地址“192.168.0.100”传送到恢复GARP延迟部5211。此时,恢复GARP延迟部5211在从恢复GARP生成部5210传送来的信息为发送方DL地址以及重复检索IP地址的情况下,即便是恢复GARP延迟部5211也具有生成恢复GARP数据包(#53AF3)的功能。
并且,ARP发送部5207在从恢复GARP生成部5210受理恢复GARP数据包的情况下,设定DL头部5001。因此,DL头部5001所设定的恢复GARP数据包(#53AF3)经由Interface处理部1201被数据包发送。并且,被发送的恢复GARP数据包如图50所示。
(d)延迟恢复GARP数据包(#53AF3)发送处理
恢复GARP延迟部5211在从恢复GARP生成部5210受理了恢复GARP数据包(#53AF3)的情况下,不是立即将受理的恢复GARP数据包传送到ARP发送部5207,而是一直保存到经过规定时间V为止。当经过规定时间V时,将受理了的恢复GARP数据包(#53AF3)传送到ARP发送部5207。
并且,恢复GARP延迟部5211取代恢复GARP数据包(#53AF3),而从恢复GARP延迟部5211接受发送方DL地址以及重复检索IP地址的情况下,在经过了规定时间V后,利用接受的发送方DL地址以及重复检索IP地址,来生成恢复GARP数据包(#53AF3)。并将生成的恢复GARP数据包(#53AF3)发送到ARP发送部5207。
并且,在从恢复GARP延迟部5211传送给ARP发送部5207的恢复GARP数据包被设定在DL头部5001,并经由Interface处理部1201被数据包发送。被发送的恢复GARP数据包如图50所示。
<机器B2403具有更新GARP发送功能的情况下的对应>
机器B2403在接收了用于机器A4202的重复检测的GARP数据包时,在本发明中将以图75对持有通知重复的重复通知ARP数据包和更新GARP数据包发送功能的情况进行说明。
机器B2403接收从机器A2402发送来的GARP数据包(#75AF1),到发送重复通知ARP数据包(#75BA)为止都是按照到目前为止所说明的顺序进行。
其次,机器B2403在接收机器A2402发送的GARP数据包(#75AF1)后,为了恢复机器B2403的ARP表,而发送更新GARP数据包(#75BF)。
机器A2402虽然接收机器B2403所发送的更新GARP数据包(#75BF),但是忽视该数据包,而发送恢复GARP数据包(#75AF2)。并且,机器A2402可以在接收机器B2403发送的更新GARP数据包(#75BF)后,而停止恢复GARP数据包(#75AF2)的发送。
并且,机器A2402经过规定时间后发送延迟恢复GARP数据包(#75AF3)。
如以上所述,在本实施例中,可以通过由机器B2402进行地址重复检索,而将被改写的机器C2404的ARP表以及限制以规定时间更新ARP表的机器D2405的ARP表复原,并可以使具有各种安装的机器B2403、机器C2404、以及机器D2405之间的通信恢复。
并且,在网络上进行重复检索的机器也可以具有更新GARP数据包发送功能,并可以恢复机器C2404和机器D2405的ARP表。
(实施例9)
以下,参照附图对本发明所涉及的实施例9进行说明。
<概要>
本实施例中的通信装置具有以下(C25)所示的特征。
(C25)通信装置包括:地址重复检索部,利用地址重复检索所使用的网络层地址来检索网络层地址的重复;GARP生成部,生成将地址重复检索所使用的网络层地址设定为发送目标的网络层地址的检索GARP数据包;以及ARP检索生成部,生成检索ARP请求数据包,该检索ARP请求数据包用于以下的设定,即:将地址重复检索所使用的网络层地址设定为发送目标网络层地址,将发送方网络层地址设定为未指定,将发送目标数据链路层地址设定为未指定,将发送方的数据链路层地址设定为本通信装置的数据链路层地址;ARP发送部发送在GARP生成部生成的检索GARP数据包,以及发送在ARP检索生成部生成的检索ARP请求数据包;重复检测部在地址重复检索部正在进行地址重复检索的过程中,在发送目标的网络层地址和地址重复检索所使用的网络层地址一致的重复ARP数据包由ARP接收部接收的情况下,将用于通知网络层地址已重复的地址重复通知发送到地址重复检索部。
根据以上所述之处对本实施例中的通信装置进行说明。
<网络构成>
图61示出了本实施例中的网络构成以及通信装置的设定例。如图61所示,网络6101上连接有通信装置6102(以下称为机器A6102)、通信装置6103(以下称为机器B6103)、以及通信装置6104(以下称为机器C6104)。并且,在本实施例中,为了简化说明,以三台通信装置与网络6101相连接为例。不过,相当于机器B6103的通信装置或相当于机器C6104的通信装置即使存在多台也一样。
机器A6102、机器B6103、以及机器C6104是具有以有线或无线相连接的通信功能的装置。例如,像PC或可进行网络通信的家电装置等是具有Ethernet(注册商标)接口的装置。网络6101是LAN,是包括有线或无线的网络。
机器A6102具有本实施例中的通信装置的功能,保存DL地址“AA:AA:AA:AA:AA:AA”。
机器B6103保存DL地址“BB:BB:BB:BB:BB:BB”,并设定有IP地址“192.168.0.100”。并且,即使在机器B6103也具有本实施例中的通信装置的功能。
机器C6104保存DL地址“CC:CC:CC:CC:CC:CC”,并设定有IP地址“192.168.0.200”。而且,机器C6104也可以具有本实施例中的通信装置的功能。
<通信装置的构成>
不过,对于本实施例中的通信的构成,因与实施例1相同故省略说明。
<构成构成>
不过,对于本实施例中的功能构成,因与实施例1相同故省略说明。
<详细的功能构成>
图62示出了本实施例中的通信装置的ARP处理部的功能构成例、地址管理部、以及地址重复检索部。并且,图中虚线箭头表示控制信息流程,实线箭头表示数据包流程。
ARP处理部6201相当于图12中的ARP处理部1203。在此,作为一个例子示出,该ARP处理部6201包括:重复检测部6203、ARP接收部6204、更新GARP生成部6205、重复通知生成部6206、ARP发送部6207、GARP生成部6209、以及ARP检索生成部6210。并且,对于与实施例1相同的功能省略说明。
(a)地址管理部6202
不过,对于本实施例中的地址管理部6202,因与实施例1相同故省略说明。
(b)重复检测部6203
在接收的ARP数据包的发送方IP地址与地址管理部6202中所管理的机器A6202的IP地址一致的情况下,重复检测部6203将重复检测通知通知给更新GARP生成部6205以及重复通知生成部6106。
而且,地址重复检索部6208对于机器A6202而言处于地址重复检索状态(参照功能部(g)地址重复检索部)的情况下,在接收的ARP数据包的发送方IP地址与进行地址重复检索的IP地址一致的情况下,重复检测部6203将重复检测通知通知给地址重复检索部6208。
在此,在这些重复检测通知中包含了接收的GARP数据包的发送方DL地址或接收的ARP数据包的发送方DL地址。并且,接收的GARP数据包或接收的ARP数据包本身也可以作为重复检测通知来传送。
(c)ARP接收部6204
不过,对于本实施例中的ARP接收部6204,因与实施例1相同故省略说明。
(d)更新GARP生成部6205
不过,对于本实施例中的更新GARP生成部6205,因与实施例1相同故省略说明。
(e)重复通知生成部6206
不过,对于本实施例中重复通知生成部6206,因与实施例1相同故省略说明。
(f)ARP发送部6207
不过,对于本实施例中的ARP发送部6207,因与实施例1相同故省略说明。
(g)地址重复检索部6208
地址重复检索部6208将用于进行地址重复检索的IP地址(以下,称为重复检索IP地址)通知到GARP生成部6209以及ARP检索生成部6210。
并且,地址重复检索部6208在从重复检测部6203受理重复检测通知的情况下,得知进行重复检索的重复检索IP地址已重复。
但是,地址重复检索部6208若在规定的时间经过后不受理重复检测通知,则认为在网络6201上不存在具有重复IP地址的通信装置,而结束地址重复检索处理。并且,将地址重复检索部6208等待规定时间的状态视为地址重复检索状态。
(h)GARP生成部6109
GARP生成部6109在从地址重复检索部6108受理重复检索IP地址的情况下,生成Gratuitous ARP数据包(以下称为GARP数据包)。此时,在生成GARP数据包时,将受理的重复检索IP地址设定到发送方IP地址106和接收方IP地址108。将在地址管理部6102所管理的机器A6102的DL地址设定到发送方DL地址106。对接收方DL地址107不进行设定。并且,将这样生成的GARP数据包传送到ARP发送部6207。
不过,机器A6202的DL地址可以不由地址管理部6202来管理,可以采用直接从通信部1102中获得等方法。
(i)ARP检索生成部6210
ARP检索生成部6210在从地址重复检索部6108受理重复检索IP地址的情况下,根据受理的重复检索IP地址,来生成ARP请求数据包(以下称为ARP检索数据包)。此时,在生成ARP检索数据包时,将受理的重复检索IP地址设定到发送方IP地址108。将在地址管理部6102所管理的机器A6102的DL地址设定到发送方DL地址105。在此,不对接收方DL地址107以及发送方IP地址106进行设定。并且,将这样生成的ARP检索数据包传送到ARP发送部6207。
<机器A6102的重复检测顺序>
图63示出了本实施例中的通信装置的顺序。如图63所示,在机器A6102利用GARP数据包和ARP检索数据包进行重复检测的情况下,在机器A6102和机器B6103之间进行以下数据包的操作。
(a)机器A6102开始重复检测
机器A6102将用于对IP地址“192.168.0.100”进行重复检测的GARP数据包(#63AF1)以及ARP检索数据包(#63AF2)广播发送到网络6101。
并且,GARP数据包(#63AF1)和ARP检索数据包(#63AF2)的发送顺序可以调换。
(b)机器B6103的工作
机器B6103接收机器A6102所发送的GARP数据包(#63AF1)以及ARP检索数据包(#63AF2)。检测到接收的GARP数据包(#63AF1)的发送方IP地址与机器B6103中设定的IP地址重复。并且,接收的ARP检索数据包(#63AF2)因发送方IP地址未设定故取消。其结果是,机器B6303将用于通知IP地址重复的重复通知ARP数据包(#63BA)发送到机器A6102。
(c)机器B6103发送重复通知ARP数据包(#63BA)后的机器A6102的工作
机器A6102接收机器B6103所发送的重复通知ARP数据包(#63BA)。根据接收的重复通知ARP数据包(#63BA),可以得知IP地址“192.168.0.100”已经存在于网络6101上。
并且,机器A6102在规定时间内没有接收重复通知ARP数据包(#63BA)的情况下,则可得知在网络6101上不存在IP地址“192.168.0.100”。
<机器C6103的重复检测顺序>
图64示出了本实施例中的通信装置的顺序。如图64所示,在机器A6 102利用GARP数据包和ARP检索数据包进行重复检测的情况下,在机器A6102和机器C6104之间进行以下数据包的操作。
(a)机器A6102开始重复检测
机器A6102将用于对IP地址“192.168.0.200”进行重复检测的GARP数据包(#64AF1)以及ARP检索数据包(#64AF2)广播发送到网络6101。
并且,GARP数据包(#64AF1)和ARP检索数据包(#64AF2)的顺序也可以调换。
(b)机器C6104的工作
机器C6104接收机器A6102所发送的GARP数据包(#64AF1)以及ARP检索数据包(#64AF2)。检测到接收的GARP数据包(#64AF1)的发送方IP地址与机器C6104中设定的IP地址重复,并取消接收的GARP数据包(#64AF1)。并且,检测到接收的ARP检索数据包(#63AF2)与设定在机器C6304上的IP地址重复。其结果是,机器C6304将用于通知IP地址重复的重复通知ARP数据包(#64CA)发送到机器A6102。
(c)机器C6104发送重复通知ARP数据包(#64CA)后的机器A6102的工作
机器A6102接收机器C6104所发送的重复通知ARP数据包(#64CA)。机器A6102在接收重复通知ARP数据包(#64CA)的情况下,可以得知IP地址“192.168.0.200”已经存在于网络6101上。
并且,机器A6102在规定时间内没有接收重复通知ARP数据包(#64CA)的情况下,则可得知在网络6101上不存在IP地址“192.168.0.200”。
如上所述,在本实施例中,在机器B6103和机器C6104未必必需要答复进行重复检测的GARP数据包的应答的情况下,可以确实地进行重复检测处理。并且,在机器B6103和机器C6104未必必需要答复进行重复检测的检索ARP数据包的情况下,可以确实地进行重复检测处理。
(实施例10)
以下参照附图对本发明所涉及的实施例10进行说明。
<网络构成>
图65示出了本实施例所涉及的网络构成以及通信装置的设定例。如图65所示,在第二层交换器6501(以下称为L2交换器6501)上连接有通信装置6502(以下称为机器A6502)、通信装置6503(以下称为WIN6503)、通信装置6504(以下称为机器C6504)、以及通信装置6505(以下称为机器D6505)。
并且,在本实施例中,为了简化说明,以四台通信装置直接与L2交换器6501连接为例进行说明。但是,相当于WIN6503的通信装置和相当于机器C6504以及机器D6505的通信装置即使存在多台也一样,在L2交换器6501和各通信装置之间也可以存在与L2交换器6501不同的其它的L2交换器或数据处理中心(repeater hub),L2交换器6501和各通信机器之间的传输路径也可以是有线或无线传输路径。
机器A6502、WIN6503、机器C6504、以及机器D6505是具有以有线或无线来连接的通信功能的装置,例如具有以太网(Ethernet,注册商标)接口的装置,诸如个人电脑或可以进行网络通信的家电装置等。
机器A6502是本实施例中的通信装置,被分配有DL地址“AA:AA:AA:AA:AA:AA”,并设定有IP地址“192.168.0.100”。
WIN6503是将Windows(注册商标)作为操作系统(OS)的通信装置,被分配有“BB:BB:BB:BB:BB:BB”,被设定有与机器A6502重复的IP地址“192.168.0.100”,并具有在设定IP地址之前利用GARP进行重复检测的功能。
机器C6504被分配有DL地址“CC:CC:CC:CC:CC:CC”,并设定有IP地址“192.168.0.200”,与机器A6502进行通信。而且,机器C6504也可以是本实施例中的通信装置。
机器D6505被分配有DL地址“DD:DD:DD:DD:DD:DD”并设定有IP地址“192.168.0.200”,与机器A6502进行通信。并且,机器D6505也可以是本实施例中的通信装置。
<通信装置的构成>
不过,对于本实施例中的通信装置的构成,因与实施例3相同故省略说明。
<功能构成>
不过,对于本实施例中的功能构成,因与实施例3相同故省略说明。
<详细的功能构成>
不过,对于本实施例中的详细的功能构成,因与实施例3相同故省略说明。
<利用GARP的重复检测顺序>
图66示出了本实施例中通信装置的顺序。如图66所示,在由WIN6503利用GARP进行重复检测的情况下,在机器A6502、WIN6503、机器C6504、以及机器D6505进行以下数据包的操作。
(a)重复检测前的工作
机器A6502和机器C6504相互通信(#66AC1、#66CA1)。此时机器C6504中的ARP表的状况如图67所示。
并且,机器A6502和机器D6505相互通信(#66AC1、#66CA1)。此时机器D6505中的ARP表如图68所示。此时,为了防止拒绝服务攻击(denial of service attack)等连续的ARP数据包频繁地改写ARP表,而机器D6505中的ARP表一直管理到接受更新为止的时间。《86%》如图68所示,对于IP地址“192.168.0.100”这个项目,因十分钟前被更新,所以直到接受更新为止的时间为0秒。即,若对于该项目有必要更新ARP表,则机器D6505立即进行更新。
并且,WIN6503向L2交换器6501所连接的通信装置广播发送用于重复检测的GARP数据包(#66BF1)。
(b)机器C6504的工作
机器C6504接收WIN6503广播发送来的GARP数据包(#66BF1)。解析GARP数据包(#66BF1)的内容,并在机器C6504所管理的ARP表中检索与接收的GARP数据包(#66BF1)的发送方IP地址重复的项目。
检索的结果是,找到到此为止进行通信的机器A6502的项目。并且,找到的项目被接收的GARP数据包(#66BF1)的信息所覆盖。结果是,机器C6504的ARP表成为图69所示。
(c)机器D6505的工作
机器D6505接收WIN6503广播发送的GARP数据包(#66BF1)。解析接收的GARP数据包(#66BF1)的内容,并在机器D6505所管理的ARP表中检索与接收的GARP数据包(#66BF1)的发送方IP地址重复的项目。
检索的结果是,找到到此为止一直进行通信的机器A6502的项目。并且,由于从更新ARP表开始已经经过了相当长的时间,因此,能够立即更新ARP表。因此,找到的项目被接收的GARP数据包(#66BF1)的信息所覆盖。结果是机器D6505的ARP表成为图70所示。此时,直到更新受理为止的时间被初始化并被设定为U秒。
(d)机器A6502的工作
机器A6502接收WIN6503广播发送来的GARP数据包(#66BF1)。检测到接收的GARP数据包(#66BF1)与机器A6502上所设定的IP地址重复。
机器A6502在检测出IP地址重复的情况下,将用于通知IP地址已重复的重复通知ARP数据包(#66AB)发送到WIN6503。并且,机器A6502向L2交换器6501所连接的通信装置广播发送更新GARP数据包(#66AF1)。
并且,在本顺序的说明中,以重复通知ARP数据包(#66AB)、更新GARP数据包(#66AF1)的顺序进行了说明,不过也可以交换顺序。
而且,机器A6502使更新GARP数据包(#66AF2)延迟规定时间U以上的时间,并在经过规定时间V秒以后广播发送。
(e)机器A6502发送重复通知ARP数据包(#66AB)后的WIN6503的工作
WIN6503接收机器A6502发送的重复通知ARP数据包(#66AB)。根据接收的重复通知ARP数据包(#66AB),可以得知在重复检测时所使用的IP地址“192.168.0.100”在同一网络上已被使用。
与此同时,WIN6503发送假装成机器A6502的GARP数据包(以下称为伪造GARP数据包)(#66BF2)。而且,伪造GARP数据包如图71所示,DL头部7101的发送方DL地址7110被设定为“AA:AA:AA:AA:AA:AA”,ARP部7102的发送方DL地址7105被设定为“AA:AA:AA:AA:AA:AA”。
此时,在DL头部7101的发送方DL地址7109设定机器A6502的DL地址的伪造GARP数据包(#66BF2)通过L2交换器6501。与此同时,L2交换器6501可以识别出被连接在WIN6503的连接端口的分配有DL地址“AA:AA:AA:AA:AA:AA”的通信装置。这是因为,L2交换器6501可以根据通过的数据包的发送方DL地址而得知在哪个端口上连接了哪个通信装置的缘故。
(f)WIN6503发送伪造GARP数据包(#66BF2)后的机器A6502的工作
机器A6502接收WIN6503广播发送来的伪造GARP数据包(#66BF2)。解析接收的伪造GARP数据包(#66BF2)中的内容,并检测到机器A6502上设定的DL地址已与伪造GARP数据包(#66BF2)的发送方DL地址7105重复。结果是,作为机器A6502所发送的ARP数据包,废弃接收的伪造GARP。
(g)机器A6502发送更新GARP数据包(#66AF1)后的机器C6504的工作
机器C6504接收机器A6502广播发送来的更新GARP数据包(#66AF1)。机器C6504解析接收的GARP数据包(#66AF1)的内容,并在机器C6504所管理的ARP表中检索与接收的GARP数据包(#66AF1)的发送方IP地址重复的项目。
检索的结果是,检索到由用于重复检测的WIN6503发送的GARP数据包(#66BF1)所覆盖的机器A6502的项目。因此,找到的项目被接收的更新GARP数据包(#66AF1)的信息所覆盖。结果是机器C6504的ARP表成为图72所示。根据以上所述,机器C6504的ARP表返回到WIN6503进行重复检测以前的状态。
之后,机器C6504接收WIN6503广播发送来的伪造GARP数据包(#66BF2)。解析接收的伪造GARP数据包(#66BF2)的内容,并在机器C6504所管理的ARP表中检索与接收的伪造GARP数据包(#66BF2)的发送方IP地址重复的项目。
检测的结果是,在此找到由机器A6502所发送的更新GARP数据包(#66AF1)所覆盖的机器A6502的项目。因此,找到的项目被接收的伪造GARP数据包(#66BF2)的信息所覆盖。但是由于内容是相同的,因此机器C6504的ARP表仍如图72所示。
并且,在此之后,在经过规定时间V以后,机器C6504接收机器A6502广播发送来的更新GARP数据包(#66AF2)。解析接收的更新GARP数据包(#66AF2)的内容,并在机器C6504所管理的ARP表中检索与接收的更新GARP数据包(#66AF2)的发送方IP地址重复的项目。
检测的结果是,在此找到由机器A6502所发送的更新GARP数据包(#66AF1)所覆盖的机器A6502的项目。因此,找到的项目被接收的更新GARP数据包(#66AF2)的信息所覆盖。结果是机器C6504的ARP表再次被更新GARP数据包(#66AF2)覆盖。但是由于内容是相同的,因此机器C6504的ARP表仍如图72所示。
(h)机器A2402发送更新GARP数据包(#66AF1)后的机器D2405的工作
机器D6505接收机器A6502广播发送来的更新GARP数据包(#66AF1)。解析接收的GARP数据包(#66AF1)的内容,并在机器D6505所管理的ARP表中检索与接收的GARP数据包(#66AF1)的发送方IP地址重复的项目。
检测的结果是,在此找到用于重复检测的WIN6503所发送的GARP数据包(#66BF1)所覆盖的机器A6502的项目。不过,由于还没有经过到接受更新为止的规定时间U秒,因此,找到的项目不被覆盖,仍如图70所示。在此时刻,机器D6505不能和机器A6502通信。
在此之后,机器D6505接收WIN6503广播发送来的伪造GARP数据包(#66BF2)。解析接收的伪造GARP数据包(#66BF2)的内容,并在机器D6505所管理的ARP表中检索与接收的伪造GARP数据包(#66BF2)的发送方IP地址重复的项目。
检测的结果是,在此找到用于重复检测的WIN6503所发送的GARP数据包(#66BF1)所覆盖的机器A6502的项目。不过,由于还没有经过到接受更新为止的规定时间U秒,因此,找到的项目不被覆盖,仍如图70所示。在此时刻,机器D6505不能和机器A6502通信。
并且,在此之后,在经过规定时间V秒以后,机器D6504接收机器A6502广播发送来的更新GARP数据包(#66AF2)。解析接收的更新GARP数据包(#66AF2)的内容,并在机器D6505所管理的ARP表中检索与接收的更新GARP数据包(#66AF2)的发送方IP地址重复的项目。
检测的结果是,在此找到用于重复检测的WIN6503所发送的GARP数据包(#66BF1)所覆盖的机器A6502的项目。并且,由于经过了规定时间U秒以上的时间,因此如图73所示,到接受更新为止的时间为0秒。因此,找到的项目被接收的更新GARP数据包(#66AF2)的信息所覆盖。结果是机器D6505的ARP表成为图74所示。
根据以上所述,机器D6505的ARP表返回到WIN6503进行重复检测以前的状态。
并且,在经过规定时间V秒以后,在L2交换器6501误识别通信装置和该通信装置的连接端口的对应关系的情况下,则可根据由机器A6502发送来的更新GARP数据包(#66AF2)来订正误识别的对应关系。
(i)重复检测后的工作
经过以上的顺序,机器C6504以及机器D6505的ARP表返回到WIN6503的重复检测前的状态。据此,机器A6502、机器C6504、以及机器D6505与重复检测前一样,为彼此互相通信的状态(#66CAM、#66ACM、#66DAN、#66ADN)。
(其它)
并且,本发明所涉及的通信装置也可以具有CPU(CentralProcessing Unit)、系统LSI(Large Scale Integration)、随机存储器(RAM:Random Access Memory)、只读存储器(ROM:Read OnlyMemory)、HDD(Hard Disk Drive)、以及网络接口等。而且,也可以具有能够对如DVD-RAM、蓝光(Blu-ray)光碟、SD(Secure Digital)存储卡等这种可移植性的记录介质进行读写的驱动器装置。而且,也可以具有对声音或图像进行编码或解码的编解码装置。
并且,通信装置也可以作为如IP电话、移动电话、数字记录器、数字电视以及游戏机等组装系统来使用。并且,也可以作为如路由器、多层交换器、网关、家庭服务器、宽频路由器等通信机器来使用。
而且,也可以在HDD或ROM等上安装控制通信装置的程序(以下称为通信程序),通过执行通信程序来实现通信装置的各个功能。
并且,通信程序也可以被记录到能够在硬件系统中进行读取的记录介质中,所述硬件系统诸如计算机系统、组装系统等。而且,也可以通过记录介质由其它的硬件系统读出并执行。据此,可以在其它的硬件系统上实现通信装置的各个功能。在此,作为计算机系统可以读取的记录介质有:光学记录介质(例如CD-ROM等)、磁性记录介质(例如硬盘等)、光磁性记录介质(例如MO等)、以及半导体存储器(例如存储卡等)。
并且,通信程序也可以被保存在与网络相连接的硬件系统中,所述网络诸如因特网、局域网等。而且,也可以通过网络下载到其它的硬件系统并执行。据此,可以在其它的硬件系统上实现通信装置的各个功能。在此,作为网络可以是:地上波广播网络、卫星广播网络、有线广播网络、PLC(电力线通信:Power Line Communication)、移动电话网、有线通信网(例如:IEEE802.3等)、以及无线通信网(例如:IEEE802.11等)。
并且,也可以通过通信装置中安装的通信电路来实现通信装置的各个功能。并且,通信电路也可以形成在全定制大规模集成电路(LargeScale Integration)、或如专用集成电路(Application SpecificIntegrated Circuit)等半定制大规模集成电路、或如现场可编程门阵列(FPGA:Field Programmable Gate Array)及CPLD(复杂可编程逻辑器件:Complex Programmable Logic Device)等可编程逻辑器件、以及可动态改写电路构成的动态可重构器件上。
而且,将通信装置的各个功能形成于通信电路的设计数据也可以作为由硬件描述语言来描述的程序(以下称为HDL程序)。并且,也可以作为将HDL程序逻辑综合而得到的门级网表。并且,也可以作为在门级网表中附加了分配信息、处理条件等的宏单元信息。并且,也可以作为大小或定时等所规定的掩码数据。在此,作为硬件描述语言可以是:甚高速集成电路硬件描述语言(VHDL:Very high speedintegrated circuit Hardware Description Language)、Verilog-HDL(一种硬件描述语言)、以及SystemC(一种系统设计描述语言)。
并且,设计数据也可以被记录到能够在硬件系统中进行读取的记录介质中,所述硬件系统诸如计算机系统、组装系统等。而且,也可以通过记录介质由其它的硬件系统读出并执行。并且,通过这些记录介质被读取到其它的硬件系统的设计数据,也可以通过下载电缆被下载到可编程逻辑器件。
并且,设计数据也可以被保存在与网络相连接的硬件系统中,所述网络诸如因特网、局域网等。而且,也可以通过网络下载到其它的硬件系统并执行。并且,通过这些网络被读取到其它的硬件系统的设计数据,也可以通过下载电缆被下载到可编程逻辑器件。
并且,为了在通电时将设计数据转送到FPGA,而可以事先将设计数据记录到串行ROM中。并且,也可以是串行ROM中所记录的设计数据在通电时被直接下载到FPGA。
并且,也可以是设计数据在通电时由微处理器来生成,并下载到FPGA。
本发明可以用于利用GARP进行重复检测的机器所存在的网络上。
Claims (28)
1.一种通信装置,将网络层地址和数据链路层地址对应起来进行管理,其特征在于,包括:
ARP接收部,接收以ARP发送来的ARP数据包;
重复检测部,在所述ARP接收部所接收的ARP数据包中,检测发送方的网络层地址与本通信装置的网络层地址一致的GARP数据包;
重复通知生成部,在所述重复检测部检测到所述GARP数据包的情况下,生成将网络层地址已重复之事宜通知给所述发送方的ARP应答数据包;
更新GARP生成部,在所述重复检测部检测到所述GARP数据包的情况下,生成设定本通信装置的网络层地址和数据链路层地址的更新GARP数据包;以及
ARP发送部,以ARP来发送在所述重复通知生成部生成的所述ARP应答数据包,以GARP来发送在所述更新GARP生成部生成的所述更新GARP数据包。
2.如权利要求1所述的通信装置,其特征在于,
所述更新GARP生成部在所述重复检测部检测到所述GARP数据包的情况下,立即生成所述更新GARP数据包并传送到所述ARP发送部。
3.如权利要求1所述的通信装置,其特征在于,
所述重复通知生成部在从所述重复检测部受理了重复检测通知的情况下,生成所述ARP应答数据包并传送到所述ARP发送部,所述重复检测通知是用于告知网络层地址已经重复之事宜的通知;
所述更新GARP生成部在从所述重复检测部受理了所述重复检测通知的情况下,生成所述更新GARP数据包,并传送到所述ARP发送部;
所述重复检测部在所述ARP接收部所接收的ARP数据包中连续检测到所述GARP数据包的情况下,对单位时间内所述重复检测通知被传送到所述重复通知生成部和所述更新GARP生成部的次数进行限制。
4.如权利要求1所述的通信装置,其特征在于,
所述通信装置进一步包括重复通知部,在所述ARP发送部发送了所述更新GARP数据包之后,在发送方的网络层地址和本通信装置的网络层地址一致的ARP应答数据包由所述ARP接收部接收时,将用于告知网络层地址已重复之事宜的地址重复通知传送到所述重复检测部;
所述重复通知生成部在从所述重复检测部受理了重复检测通知的情况下,生成所述ARP应答数据包并传送到所述ARP发送部,所述重复检测通知是用于告知网络层地址已经重复之事宜的通知;
所述更新GARP生成部在从所述重复检测部受理了所述重复检测通知的情况下,生成所述更新GARP数据包并传送到所述ARP发送部;
所述重复检测部在从所述重复通知部受理了所述地址重复通知的情况下,停止将所述重复检测通知传送到所述重复通知生成部和所述更新GARP生成部。
5.如权利要求1所述的通信装置,其特征在于,
所述通信装置进一步包括:
重复监视部,在受理了用于告知网络层地址已重复之事宜的地址重复通知的情况下,对本通信装置的网络层地址已在该通信装置所连接的网络上重复之事宜进行输出;以及
重复通知部,在所述ARP发送部发送了所述更新GARP数据包之后,在发送方的网络层地址和本通信装置的网络层地址一致的ARP应答数据包由所述ARP接收部接收时,将所述地址重复通知传送到所述重复监视部。
6.如权利要求5所述的通信装置,其特征在于,
所述重复通知部将所述发送方的数据链路层地址包含在所述地址重复通知内,一起传送到所述重复监视部;
所述重复监视部输出所述地址重复通知中所包含的所述发送方的数据链路层地址。
7.如权利要求5所述的通信装置,其特征在于,
所述重复通知部将所述发送方的网络层地址包含在所述地址重复通知内,一起传送到所述重复监视部;
所述重复监视部输出所述地址重复通知中所包含的所述发送方的网络层地址。
8.如权利要求1所述的通信装置,其特征在于,
所述重复检测部包括计数GARP数据包的GARP计数器,所述重复检测部保存最终GARP数据包,即保存所述ARP接收部最后接收的GARP数据包,在所述最终GARP数据包和在所述ARP接收部接收的GARP数据包一致的情况下,使所述GARP计数器的值增加,在不一致的情况下复位所述GARP计数器,在所述GARP计数器超过规定数时,只有在所述最终GARP数据包和在所述ARP接收部接收的GARP数据包一致的情况下,才停止将所述重复检测通知传送到所述重复通知生成部和所述更新GARP生成部。
9.如权利要求1所述的通信装置,其特征在于,
所述更新GARP生成部生成多个更新GARP数据包,并传送到所述ARP发送部。
10.一种通信装置,将网络层地址和数据链路层地址对应起来进行管理,其特征在于,包括:
ARP接收部,接收以ARP发送来的ARP数据包;
重复检测部,在所述ARP接收部所接收的ARP数据包中,检测发送方的网络层地址与本通信装置的网络层地址一致的GARP数据包;
重复通知生成部,在所述重复检测部检测到所述GARP数据包的情况下,生成将网络层地址已重复之事宜通知给所述发送方的ARP应答数据包;
更新GARP生成部,在所述重复检测部检测到所述GARP数据包的情况下,生成设定本通信装置的网络层地址和数据链路层地址的更新GARP数据包;
更新GARP延迟部,使在所述更新GARP生成部生成的所述更新GARP数据包的发送延迟规定的时间;以及
ARP发送部,以ARP来发送在所述重复通知生成部生成的所述ARP应答数据包,以GARP来发送在所述更新GARP延迟部被延迟的所述更新GARP数据包。
11.一种通信装置,将网络层地址和数据链路层地址对应起来进行管理,其特征在于,包括:
ARP接收部,接收以ARP发送来的ARP数据包;
重复检测部,在所述ARP接收部所接收的ARP数据包中,检测发送方的网络层地址与本通信装置的网络层地址一致的GARP数据包;
重复通知生成部,在所述重复检测部检测到所述GARP数据包的情况下,生成将网络层地址已重复之事宜通知给所述发送方的ARP应答数据包;
更新GARP生成部,在所述重复检测部检测到所述GARP数据包的情况下,生成多个设定本通信装置的网络层地址和数据链路层地址的更新GARP数据包;
更新GARP延迟部,至少使在所述更新GARP生成部生成的多个所述更新GARP数据包中的一个延迟规定的时间;以及
ARP发送部,以ARP来发送在所述重复通知生成部生成的所述ARP应答数据包,以GARP来发送在所述更新GARP延迟部被延迟的所述更新GARP数据包。
12.如权利要求11所述的通信装置,其特征在于,
所述通信装置进一步包括重复通知部,在所述ARP发送部发送了所述更新GARP数据包之后,在发送方的网络层地址和本通信装置的网络层地址一致的重复通知ARP数据包由所述ARP接收部接收时,将用于告知网络层地址已重复之事宜的地址重复通知传送到所述重复检测部和所述更新GARP延迟部;
所述重复通知生成部在从所述重复检测部受理了所述重复检测通知的情况下,生成所述ARP应答数据包,并传送到所述ARP发送部;
所述更新GARP生成部在从所述重复检测部受理了所述重复检测通知的情况下,生成多个所述更新GARP数据包并至少将其中的一个传送到所述GARP延迟部;
所述重复检测部在从所述重复通知部受理了所述地址重复通知的情况下,停止将所述重复检测通知传送到所述重复通知生成部和所述更新GARP生成部;
所述更新GARP延迟部在从所述重复通知部受理了所述地址重复通知的情况下,停止将已经由所述更新GARP生成部受理了的所述更新GARP数据包延迟规定的时间之后向所述ARP发送部的传送。
13.如权利要求11所述的通信装置,其特征在于,
所述重复检测部在从所述更新GARP生成部受理了的所述更新GARP数据包在所述更新GARP延迟部被延迟规定的时间的过程中,在发送方的网络层地址和本通信装置的网络层地址一致的GARP数据包由所述ARP接收部接收时,将GARP重复接收通知传送到所述更新GARP生成部和所述更新GARP延迟部,所述GARP重复接收通知用于告知网络层地址已和本通信装置的网络层地址重复的GARP数据包已由所述ARP接收部接收之事宜;
所述更新GARP生成部在从所述重复检测部受理了所述GARP重复接收通知的情况下,停止将生成的多个所述更新GARP数据包中的至少一个传送到所述更新GARP延迟部;
所述更新GARP延迟部在从所述重复检测部受理了所述GARP重复接收通知的情况下,暂时停止将已经由所述更新GARP生成部受理了的所述更新GARP数据包延迟规定的时间之后向所述ARP发送部的传送,之后,对所述更新GARP数据包重新延迟规定的时间后传送到所述ARP发送部。
14.如权利要求13所述的通信装置,其特征在于,
所述重复检测部进一步将所述GARP数据包的发送方的数据链路层地址作为DL地址信息来保存,将从所述更新GARP生成部受理了的所述更新GARP数据包在所述更新GARP延迟部延迟规定的时间的过程中,仅在发送方的网络层地址和本通信装置的网络层地址一致,且,发送方的数据链路层地址和所述DL地址信息一致的GARP数据包在所述ARP接收部被接收时,才将所述GARP重复接收通知传送到所述更新GARP生成部和所述更新GARP延迟部。
15.如权利要求11所述的通信装置,其特征在于,
所述重复检测部进一步在从所述更新GARP生成部受理了的所述更新GARP数据包在所述更新GARP延迟部延迟规定的时间的过程中,发送方的网络层地址和本通信装置的网络层地址一致的重复ARP数据包在所述ARP接收部被接收时,停止传送所述重复检测通知。
16.如权利要求1所述的通信装置,其特征在于,
所述通信装置包括:
地址重复检索部,利用地址重复检索所使用的网络层地址来检索网络层地址的重复;以及
GARP生成部,生成将所述地址重复检索所使用的网络层地址设定为发送目标的网络层地址的检索GARP数据包;
所述ARP发送部发送在所述GARP生成部被生成的所述检索GARP数据包;
所述重复检测部在所述ARP发送部发送所述检索GARP数据包、并且在所述地址重复检索部正在检索地址重复的过程中,发送目标的网络层地址和所述检索所使用的网络层地址一致的重复ARP数据包被接收时,传送告知网络层地址已重复之事宜的地址重复通知。
17.如权利要求16所述的通信装置,其特征在于,
所述通信装置进一步包括恢复GARP生成部,将所述重复ARP数据包的发送方的数据链路层地址设定为发送方的数据链路层地址,生成将所述地址重复检索所使用的网络层地址设定为发送目标的网络层地址的恢复GARP数据包;
所述重复检测部将所述重复ARP数据包的发送方的数据链路层地址包含在所述地址重复通知中,一起传送到所述地址重复检索部;
所述地址重复检索部将所述地址重复通知中所包含的所述重复ARP数据包的发送方的数据链路层地址和所述地址重复检索所使用的网络层地址,发送到所述恢复GARP生成部;
所述ARP发送部将所述恢复GARP数据包的发送目标的数据链路层地址设定为数据链路层的广播地址,将所述恢复GARP数据包的发送方的数据链路层地址设定为本通信装置中所设定的数据链路层地址,并发送所述恢复GARP数据包。
18.如权利要求17所述的通信装置,其特征在于,
所述恢复GARP生成部在从所述地址重复检索部受理了恢复GARP生成通知的情况下,立即生成所述恢复GARP数据包,并传送到所述ARP发送部,所述恢复GARP生成通知指示生成所述恢复GARP数据包。
19.如权利要求17所述的通信装置,其特征在于,
所述通信装置进一步包括重复监视部,在从所述地址重复检索部受理了所述地址重复通知的情况下,在本通信装置所连接的网络上输出本通信装置的网络层地址已重复之事宜;
所述地址重复检索部在发送方的网络层地址和本通信装置的网络层地址一致的重复ARP数据包被接收时,并从所述重复检测部受理了所述地址重复通知的情况下,将所述地址重复通知传送到所述重复监视部。
20.如权利要求19所述的通信装置,其特征在于,
所述地址重复检索部将所述重复ARP数据包的发送方的数据链路层地址包含在所述地址重复通知中,一起传送到所述重复监视部;
所述重复监视部输出所述地址重复通知中所包含的所述重复ARP数据包的发送方的数据链路层地址。
21.如权利要求19所述的通信装置,其特征在于,
所述地址重复检索部将所述重复ARP数据包的发送方的网络层地址包含在所述地址重复通知中,一起传送到所述重复监视部;
所述重复监视部输出所述地址重复通知中所包含的所述重复ARP数据包的发送方的网络层地址。
22.如权利要求17所述的通信装置,其特征在于,
所述恢复GARP生成部在从所述地址重复检索部受理了所述恢复GARP生成通知的情况下,生成多个所述恢复GARP数据包;
所述ARP发送部发送在所述恢复GARP生成部所生成的多个所述恢复GARP数据包。
23.如权利要求17所述的通信装置,其特征在于,
所述通信装置进一步包括恢复GARP延迟部,将从所述恢复GARP生成部受理了的恢复GARP数据包延迟规定的时间后,传送到所述ARP发送部;
所述恢复GARP生成部生成多个所述恢复GARP,且将生成的多个所述恢复GARP数据包中的至少一个发送到所述ARP发送部,以及将生成的多个所述恢复GARP数据包中的至少一个传送到所述恢复GARP延迟部。
24.如权利要求23所述的通信装置,其特征在于,
所述地址重复检索部在所述地址重复通知被受理的情况下,将已从所述恢复GARP生成部受理了的所述恢复GARP数据包在所述恢复GARP延迟部延迟规定的时间的过程中,停止将所述地址重复通知向所述恢复GARP生成部的传送。
25.如权利要求1所述的通信装置,其特征在于,
所述通信装置包括:
地址重复检索部,利用地址重复检索所使用的网络层地址来检索网络层地址的重复;
GARP生成部,生成将所述地址重复检索所使用的网络层地址设定为发送目标的网络层地址的检索GARP数据包;以及
ARP检索生成部,生成检索ARP请求数据包,该检索ARP请求数据包用于以下的设定,即:将所述地址重复检索所使用的网络层地址设定为发送目标网络层地址,将发送方网络层地址设定为未指定,将发送目标数据链路层地址设定为未指定,将发送方的数据链路层地址设定为本通信装置的数据链路层地址;
所述ARP发送部发送在所述GARP生成部生成的所述检索GARP数据包,以及发送在所述ARP检索生成部生成的所述检索ARP请求数据包;
所述重复检测部在所述地址重复检索部正在进行地址重复检索的过程中,在发送目标的网络层地址和所述地址重复检索所使用的网络层地址一致的重复ARP数据包由所述ARP接收部接收的情况下,将用于通知网络层地址已重复的地址重复通知发送到所述地址重复检索部。
26.一种通信装置,将网络层地址和数据链路层地址对应起来进行管理,其特征在于,包括:
重复检测部,在接收的ARP数据包中,检测发送方的网络层地址与本通信装置的网络层地址一致的GARP数据包;以及
ARP信息管理部,删除ARP表中所有的信息,所述ARP表的信息在所述重复检测部检测到所述GARP数据包的情况下,将本通信装置所连接的网络上的、有关通信装置的网络层地址和数据链路层地址对应起来管理。
27.一种通信方法,将网络层地址和数据链路层地址对应起来进行管理,其特征在于,包括:
ARP接收步骤,接收以ARP发送来的ARP数据包;
重复检测步骤,在所述ARP接收步骤所接收的ARP数据包中,检测发送方的网络层地址与本通信装置的网络层地址一致的GARP数据包;
重复通知生成步骤,在所述重复检测步骤检测到所述GARP数据包的情况下,生成将网络层地址已重复之事宜通知给所述发送方的ARP应答数据包;
更新GARP生成步骤,在所述重复检测步骤检测到所述GARP数据包的情况下,生成设定本通信装置的网络层地址和数据链路层地址的更新GARP数据包;以及
ARP发送步骤,以ARP来发送在所述重复通知生成步骤生成的所述ARP应答数据包,以GARP来发送在所述更新GARP生成步骤生成的所述更新GARP数据包。
28.一种通信程序,将网络层地址和数据链路层地址对应起来进行管理,其特征在于,使计算机执行以下步骤:
ARP接收步骤,接收以ARP发送来的ARP数据包;
重复检测步骤,在所述ARP接收步骤所接收的ARP数据包中,检测发送方的网络层地址与本通信装置的网络层地址一致的GARP数据包;
重复通知生成步骤,在所述重复检测步骤检测到所述GARP数据包的情况下,生成将网络层地址已重复之事宜通知给所述发送方的ARP应答数据包;
更新GARP生成步骤,在所述重复检测步骤检测到所述GARP数据包的情况下,生成设定本通信装置的网络层地址和数据链路层地址的更新GARP数据包;以及
ARP发送步骤,以ARP来发送在所述重复通知生成步骤生成的所述ARP应答数据包,以GARP来发送在所述更新GARP生成步骤生成的所述更新GARP数据包。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP158134/2005 | 2005-05-30 | ||
JP2005158134 | 2005-05-30 | ||
JP069919/2006 | 2006-03-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101185292A true CN101185292A (zh) | 2008-05-21 |
CN100588167C CN100588167C (zh) | 2010-02-03 |
Family
ID=39449531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680018920A Expired - Fee Related CN100588167C (zh) | 2005-05-30 | 2006-05-30 | 具有arp功能的通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100588167C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103024861A (zh) * | 2011-09-20 | 2013-04-03 | 北京信威通信技术股份有限公司 | 无线自中继通信系统中基于garp协议的数据通道更新方法 |
CN114884922A (zh) * | 2022-04-28 | 2022-08-09 | 济南浪潮数据技术有限公司 | 一种数据中心中ip冲突检测方法、设备及存储介质 |
-
2006
- 2006-05-30 CN CN200680018920A patent/CN100588167C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103024861A (zh) * | 2011-09-20 | 2013-04-03 | 北京信威通信技术股份有限公司 | 无线自中继通信系统中基于garp协议的数据通道更新方法 |
CN114884922A (zh) * | 2022-04-28 | 2022-08-09 | 济南浪潮数据技术有限公司 | 一种数据中心中ip冲突检测方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100588167C (zh) | 2010-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4860471B2 (ja) | Arp機能を具備した通信装置 | |
CN1132347C (zh) | 维护所选网络站和移动站之间的路由路径的系统 | |
US7715376B2 (en) | Routing system and method for managing forwarding information therein | |
JP3471622B2 (ja) | データ通信のための装置およびその方法 | |
KR101810587B1 (ko) | 네트워크 상의 마스터/슬레이브 디바이스들의 자동 구성을 위한 시스템 및 방법 | |
CN102422600B (zh) | 混合节点中提供的方法、相关网络以及相关网络单元 | |
EP2005656B1 (en) | Methods of resolving datagram corruption over an internetworking protocol | |
CN1839585B (zh) | 具有增强的可扩展性和可靠性的即插即用网络配置的方法和设备 | |
CN100438439C (zh) | 一种防止mac地址欺骗的方法 | |
CN1788264A (zh) | 用于在有线或无线网络中路由报文的系统和方法 | |
CN101335645A (zh) | 获取相邻网络元件的识别信息 | |
CN101772920A (zh) | 用于使用资源信息发现通用即插即用设备的方法和装置 | |
CN101335646A (zh) | 基于控制协议确定通道的状态 | |
CN101252503B (zh) | 环网的业务倒换方法和装置 | |
US20060215645A1 (en) | Setting control device for layer 2 device | |
US9553764B2 (en) | Migration of guest bridge | |
CN100588167C (zh) | 具有arp功能的通信方法及装置 | |
CN101997772B (zh) | 流量控制方法、装置、系统及网络设备 | |
JP2006135645A (ja) | 異なる通信プロトコルが併存するネットワークにおけるネットワーク接続手段の一元管理システム及び方法 | |
CN100518142C (zh) | 一种防止由于地址老化时间不一致导致网络中断的方法 | |
JP2020113836A (ja) | 情報処理装置、情報処理システム、および設定プログラム | |
CN107113207A (zh) | 网络系统、地址管理装置以及地址管理方法 | |
CN101669325A (zh) | 系统软件产品化框架 | |
JP2000312211A (ja) | 通信装置 | |
CN107786441A (zh) | 一种通信方法、OpenFlow交换机及通信系统 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100203 Termination date: 20130530 |