一种主机及其ip地址冲突预防方法

文档序号:9491943阅读:572来源:国知局
一种主机及其ip地址冲突预防方法
【技术领域】
[0001]本发明涉及通信技术领域,特别是涉及一种主机及其IP地址冲突预防方法。
【背景技术】
[0002]随着高科技时代的到来,网络成为了人们不可或缺的一部分,人们的工作学习和生活都离不开网络,通过网络可以使得世界两端的人进行沟通交流、共享经验。在网络世界中,每台主机均应具有唯一的IP(Internet Protocol,网络之间互连的协议)地址,如果一台主机其具有的IP地址不唯一(IP地址冲突),将会导致该主机无法正常访问网络。因此,保证每台主机具有唯一的IP地址,避免IP地址冲突十分重要。

【发明内容】

[0003]有鉴于此,本发明实施例提供一种主机及其IP地址冲突预防方法,以保证每台主机具有唯一的IP地址,避免IP地址冲突。
[0004]为实现上述目的,本发明实施例提供如下技术方案:
[0005]—种IP地址冲突预防方法,包括:
[0006]获取自身IP地址和自身MAC地址,根据所述自身IP地址和自身MAC地址建立ARP请求包,其中,所述ARP请求包中接收方IP地址设置为所述自身IP地址;
[0007]将所述ARP请求包广播至网络上的所有主机,判断是否接收到所述网络上其他主机返回的目的ARP响应包;
[0008]若接收到,则根据所述目的ARP响应包确定目的主机,向网关发送IP地址修改请求,请求所述网关将所述目的主机的IP地址设置为O。
[0009]其中,所述根据所述自身IP地址和自身MAC地址建立ARP请求包包括:
[0010]建立物理帧头,将所述物理帧头中发送方MAC地址设置为所述自身MAC地址,将所述物理帧头中接收方MAC地址设置为空;
[0011 ] 建立ARP帧,将所述ARP帧中发送方MAC地址设置为所述自身MAC地址,将所述ARP帧中接收方MAC地址设置为空,并将所述ARP帧中发送方IP地址和接收方IP地址均设置为所述自身IP地址。
[0012]其中,所述建立物理帧头,将所述物理帧头中发送方MAC地址设置为所述自身MAC地址,将所述物理帧头中接收方MAC地址设置为空后还包括:
[0013]设置所述物理帧头中硬件类型字段、协议类型字段、硬件地址长度、协议地址长度和操作字段。
[0014]其中,所述判断是否接收到所述网络上其他主机返回的目的ARP响应包包括:
[0015]判断是否接收到ARP响应包;
[0016]若接收到,则根据所述ARP响应包获取发送所述ARP响应包的主机的MAC地址,判断所述MAC地址与所述自身MAC地址是否相同;
[0017]若不同,则判定接收到所述网络上其他主机返回的ARP响应包。
[0018]其中,所述根据所述目的ARP响应包确定目的主机包括:
[0019]对所述目的ARP包进行解析,提取所述目的ARP响应包中的发送方MAC地址,得到所述目的主机的MAC地址。
[0020]其中,所述向网关发送IP地址修改请求,请求所述网关将所述目的主机的IP地址设置为O后还包括:
[0021]将所述ARP请求包再次广播至网络上的所有主机,判断是否接收到所述网络上其他主机返回的目的ARP响应包;
[0022]若接收到,则重新向所述网关发送IP地址修改请求,直至不再接收到所述网络上其他主机返回的目的ARP响应包。
[0023]其中,所述向网关发送IP地址修改请求后还包括:
[0024]从零开始累计向所述网关发送IP地址修改请求的次数;
[0025]若所述次数大于预设数值,则输出错误信息,停止重新向所述网关发送IP地址修改请求,将所述次数归零。
[0026]—种主机,包括:请求包建立模块、广播判断模块和请求发送模块;其中,
[0027]所述请求包建立模块,用于获取自身IP地址和自身MAC地址,根据所述自身IP地址和自身MAC地址建立ARP请求包,其中,所述ARP请求包中接收方IP地址设置为所述自身IP地址;
[0028]所述广播判断模块,用于将所述ARP请求包广播至网络上的所有主机,判断是否接收到所述网络上其他主机返回的目的ARP响应包;
[0029]所述请求发送模块,用于当所述广播判定模块判定接收到所述网络上其他主机返回的目的ARP响应包时,根据目的ARP响应包确定目的主机,向网关发送IP地址修改请求,请求所述网关将所述目的主机的IP地址设置为O。
[0030]其中,所述请求包建立模块包括:帧头建立单元和帧建立单元;其中,
[0031]所述帧头建立单元,用于建立物理帧头,将所述物理帧头中发送方MAC地址设置为所述自身MAC地址,将所述物理帧头中接收方MAC地址设置为空;
[0032]所述帧建立单元,用于建立ARP帧,将所述ARP帧中发送方MAC地址设置为所述自身MAC地址,将所述ARP帧中接收方MAC地址设置为空,并将所述ARP帧中发送方IP地址和接收方IP地址均设置为所述自身IP地址。
[0033]其中,所述主机,还包括:广播请求模块和计数模块;其中,
[0034]所述广播请求模块,用于在所述请求发送模块向网关发送IP地址修改请求,请求所述网关将所述目的主机的IP地址设置为O后,将所述ARP请求包再次广播至网络上的所有主机,判断是否接收到所述网络上其他主机返回的目的ARP响应包,若接收到,则重新向所述网关发送IP地址修改请求,直至不再接收到所述网络上其他主机返回的目的ARP响应包;
[0035]所述计数模块,用于从零开始累计向所述网关发送IP地址修改请求的次数,若所述次数大于预设数值,则输出错误信息,控制所述广播请求模块停止重新向所述网关发送IP地址修改请求。
[0036]基于上述技术方案,本发明实施例提供的主机及其IP地址冲突预防方法,获取自身IP地址和自身MAC地址,并根据自身IP地址和自身MAC地址建立ARP请求包,其中,将该建立的ARP请求包中接收方IP地址设置为自身IP地址,然后将该建立的ARP请求包广播至网络上的所有主机,判断是否接收到该网络上其他主机返回的目的ARP响应包,若接收到,则根据该目的ARP响应包确定目的主机,然后向网关发送IP地址修改请求,请求该网关将该目的主机的IP地址设置为O。在访问网络前,主机可通过建立将接收方IP地址设置为自身IP地址的ARP请求包,并向全网广播该ARP请求包,判断是否接收到网络上其他主机返回的目的ARP响应包,来判断网络中是否存在与其自身IP地址相同的其他主机,若判定接收到网络上其他主机返回的目的ARP响应包,即可判定该网络中存在与该主机自身IP地址相同的其他主机,即判定存与该主机自身IP地址冲突的目的主机,则通过向网关发送IP地址修改请求来将该目的主机的IP地址设置为O,来将该目的主机的IP地址修改为与本主机不同,从而保证了该主机自身IP地址的唯一性,有效预防了该主机因为IP地址冲突而无法正常访问网络情况的发生。
【附图说明】
[0037]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0038]图1为本发明实施例提供的IP地址冲突预防方法的流程图;
[0039]图2为本发明实施例提供的IP地址冲突预防方法中根据自身IP地址和自身MAC地址建立ARP请求包的方法流程图;
[0040]图3为本发明实施例提供的IP地址冲突预防方法中判断是否接收到网络上其他主机返回的目的ARP响应包的方法流程图;
[0041]图4示出了本发明实施例提供的IP地址冲突预防方法中根据目的ARP响应包确定目的主机的方法流程图;
[0042]图5示出了本发明实施例提供的IP地址冲突预防方法中重新向网关发送IP地址修改请求的方法流程图;
[0043]图6示出了本发明实施例提供的IP地址冲突预防方法中停止重新向网关发送IP地址修改请求的方法流程图;
[0044]图7为本发明实施例提供的主机的系统框图;
[0045]图8示出了本发明实施例提供的主机中请求包建立模块的结构框图;
[0046]图9示出了本发明实施例提供的主机的另一系统框图。
【具体实施方式】
[0047
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1