CN102143244B - 配置子网掩码的方法及设备 - Google Patents
配置子网掩码的方法及设备 Download PDFInfo
- Publication number
- CN102143244B CN102143244B CN 201010532089 CN201010532089A CN102143244B CN 102143244 B CN102143244 B CN 102143244B CN 201010532089 CN201010532089 CN 201010532089 CN 201010532089 A CN201010532089 A CN 201010532089A CN 102143244 B CN102143244 B CN 102143244B
- Authority
- CN
- China
- Prior art keywords
- address
- detection
- arp
- gateway
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供一种配置子网掩码的方法及设备。该方法包括构造探测IP地址;采用所述探测IP地址,发送请求消息;根据所述请求消息的响应情况,确定子网掩码的网络位长度,以进行子网掩码的配置;其中,所述子网掩码的网络位的长度为能够临界接收到所述请求消息对应的响应消息时,所述探测IP地址与同一网段内的网关的IP地址中连续相同的高位的个数,所述探测IP地址与所述网关的IP地址满足如下条件:所述探测IP地址与所述网关的IP地址中紧邻相同的高位的低位互为反码。本发明实施例可以实现子网掩码的自动配置。
Description
技术领域
本发明涉及通信技术,尤其涉及一种配置子网掩码的方法及设备。
背景技术
子网掩码(subnet mask)在因特网协议(Internet Protocol,IP)通信中承担着重要角色,可以用于确定源设备与目标设备是否在同一网段中(同一以太网广播域),以便进行不同的路由。子网掩码的长度与IP地址的长度相同,包括网络位和主机位,网络位为全1,主机位为全0。源设备要向目标设备发送IP包时,该IP包头中包含探测IP地址和目的IP地址,通过将探测IP地址与子网掩码按位相与得到一个网络地址,通过将目的IP地址与子网掩码按位相与得到另一个网络地址。如果得到的两个网络地址相同,则表明源设备与目标设备在同一个网段,源设备可以直接将IP包发送给目标设备,中间不需要经过网关转发;如果得到的两个网络地址不同,则表明源设备与目标设备不在同一个网段,则源地址需要将IP包发送给网关,由网关转发给目标设备。
子网掩码是IP路由的重要信息,保证子网掩码准确方便的获取是IP网络部署的重要环节。同一网段内的通信设备与网关都必须配置子网掩码,并且要求通信设备与网关的子网掩码一样。为了保证二者的子网掩码配置一样,通信设备通常是直接引用网关的子网掩码。所以,获取网关的子网掩码,并配置通信设备的子网掩码是IP通信配置的重要环节。
现有技术中,承载网规划者在做网络配置时,会完成子网掩码的规划,其中包括对网关的子网掩码规划。网络业务使用者可以从承载网规划者处获取网关的子网掩码,之后,将得到的网关的子网掩码配置给与该网关同一网段的通信设备。
发明人发现,现有技术中至少存在如下问题:现有对通信设备的子网掩码的配置属于人工配置方案,该人工配置方案存在数据获取可能错误、配置可能错误、数据获取所需时间长、配置所需时间长、对技术人员要求高等问题。
发明内容
本发明实施例提供一种配置子网掩码的方法及设备,用以解决现有技术中人工配置方案存在的问题。
本发明实施例提供一种配置子网掩码的方法,包括:
构造探测IP地址;
采用所述探测IP地址,发送请求消息;
根据所述请求消息的响应情况,确定子网掩码的网络位的长度,以进行子网掩码的配置;
其中,所述子网掩码的网络位的长度为能够临界接收到所述请求消息对应的响应消息时,所述探测IP地址与同一网段内的网关的IP地址中连续相同的高位的个数,所述探测IP地址与所述网关的IP地址满足如下条件:所述探测IP地址与所述网关的IP地址中紧邻相同的高位的低位互为反码。
本发明实施例提供一种配置子网掩码的设备,包括:
构造模块,用于构造探测IP地址;
发送模块,用于采用所述探测IP地址,发送请求消息;
确定模块,用于根据所述请求消息的响应情况,确定子网掩码的网络位的长度,以进行子网掩码的配置;
其中,所述子网掩码的网络位的长度为能够临界接收到所述请求消息对应的响应消息时,所述探测IP地址与同一网段内的网关的IP地址中连续相同的高位的个数,所述探测IP地址与所述网关的IP地址满足如下条件:所述探测IP地址与所述网关的IP地址中紧邻相同的高位的低位互为反码。
由上述技术方案可知,本发明实施例的配置子网掩码的方法及设备,通过构造探测IP地址,根据采用该探测IP地址发送的ARP请求的响应情况,配置子网掩码,实现子网掩码的自动配置,避免人工配置引起的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例的方法流程示意图;
图2为本发明第二实施例的方法流程示意图;
图3为本发明第二实施例中网关的IP地址的示意图;
图4为本发明第二实施例中构造的探测IP地址的示意图;
图5为本发明第三实施例的方法流程示意图;
图6为本发明第四实施例的方法流程示意图;
图7为本发明第四实施例中探测IP地址和网关的IP地址的结构比较示意图;
图8为本发明第六实施例的方法流程示意图;
图9为本发明第六实施例中探测IP地址和网关的IP地址的结构比较示意图;
图10为本发明第七实施例的方法流程示意图;
图11为本发明第七实施例中探测IP地址和网关的IP地址的结构比较示意图;
图12为本发明第八实施例的设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的技术方案的思路是:(1)网络地址掩码的长度是有限的,采用以限次假设的网络地址掩码去试探,一定可以找到最终的网络地址掩码。(2)利用最终网络地址掩码N的特点:网关路由器认为只有主机的IP地址N位与自己的前位N位相同时,网关路由器才会认为自己主机同属一网段。(3)通过不断的调整假设的网络掩码值,步步逼近,找到满足上述条件(2)的N值。
图1为本发明第一实施例的方法流程示意图,包括:
步骤11:配置子网掩码的设备,例如主机构造探测IP地址;
步骤12:主机采用该探测IP地址,发送请求消息;
步骤13:主机根据该请求消息的响应情况,确定子网掩码的网络位的长度,以进行子网掩码的配置,其中,该子网掩码的网络位的长度为能够临界接收到该请求消息对应的响应消息时,该探测IP地址与同一网段内的网关的IP地址中连续相同的高位个数,该探测IP地址与该网关的IP地址中紧邻相同的高位的低位互为反码。
其中,以配置的子网掩码的网络位的长度为N为例,能够临界接收到该请求消息对应的响应消息是指:
当该探测IP地址的高N位与同一网段内的网关的IP地址的高N位相同,且按照从高到低的顺序,该探测IP地址的第N+1位与该网关的第N+1位互为反码时,能够接收到该请求消息对应的响应消息;以及/或,
当该探测IP地址的高N-1位与该网关的IP地址的高N-1位相同,且按照从高到低的顺序,该探测IP地址的第N位与该网关的第N位互为反码时,不能接收到该请求消息对应的响应消息。
具体地,以探测IP地址的高n-1位与该网关的IP地址的高n-1位相同,且按照从高到低的顺序,该探测IP地址的第n位与该网关的第n位互为反码时为例,探测IP地址与网关的IP地址的对应关系可以如下:
例如,以IP地址为32位为例,假设网关的IP地址为:
Y1 Y2 Y3 … Yn-1 Yn … Y32,其中,Y1为最高位,Y32为最低位。
则构造的探测IP地址为:
Y1 Y2 Y3 … Yn-1 Zn … Z32,
其中,Y1 Y2 Y3 … Yn-1与网关的IP地址的高n-1位相同,Zn与Yn互为反码,即对于其他的Zn+1…Z32可以任选。可选的,如果考虑到保留的主机地址,即主机位全0或者全1作为保留位不予分配,此种情况下,Zn…Z32不能为全0或者全1。
该采用该探测IP地址,发送请求消息,可以包括:
采用该探测IP地址,向该网关发送地址解析协议(Address Reso1utionProtocol,ARP)请求。
进一步地,在发送ARP请求之前,可以先广播免费ARP请求,以判断探测IP地址是否在本网段内已经存在(或者理解为该探测IP地址在本网段活动),以避免地址冲突,即,本实施例在采用探测IP地址发送ARP请求之前,还可以进一步包括:
主机采用该探测IP地址广播免费ARP请求以判断探测IP地址是否在本网段内活动;
当探测IP地址不在本网段内活动时,采用该探测IP地址向网关发送ARP请求。
其中,当主机广播免费ARP请求后,如果收到ARP响应或者免费ARP响应,则表明构造的探测IP地址在同一网段内活动,表明地址冲突。
本发明实施例中,具体地,构造的探测IP地址和网关的IP地址具体的相同高位的个数n可以从大到小进行处理,和/或,也可以从小到大进行处理,且,处理时可以按位依次进行增加和/或减小,也可以每次增加和/或减小大于1位:
方式一,从大到小处理:构造满足第一限定条件的探测IP地址,该第一限定条件为:该探测IP地址的高N-M位与预先获取的网关的IP地址的高N-M位相同,且按照从高到低的顺序,该探测IP地址的第N-M+1位与该网关的IP地址的第N-M+1位互为反码,其中,N、M为变量,满足一定条件后的N为待配置的子网掩码的网络位的长度,M为步长,N的初始值为能够取得的子网掩码的网络位的最大长度,M的初始值为预先设定的初始步长。
满足的一定条件可以包括:该采用该探测IP地址,发送请求消息,包括:采用该探测IP地址,向该网关发送ARP请求。该根据该请求消息的响应情况,配置子网掩码,包括:当接收到该网关发送的ARP响应时,将接收到该ARP响应时的M作为差值对N进行减小处理,并重新设定M,根据减小后的N及重新设定的M重新构造探测IP地址,并采用重新构造的探测IP地址向该网关发送ARP请求,直至接收不到该网关发送的ARP响应。当接收不到该网关发送的ARP响应时,如果接收不到该网关发送的ARP响应时的M为1,则将接收不到该ARP响应时的N作为配置的子网掩码的网络位的长度;或者,如果接收不到该网关发送的ARP响应时的M大于1,则对接收不到该网关发送的ARP响应时的M进行更新处理,使得更新后的M小于更新前的M,并根据该更新后的M重新构造探测IP地址,并采用重新构造的探测IP地址向该网关发送ARP请求,直至接收不到该ARP响应时的M为1。
另外,为了避免地址冲突,还可以包括广播免费ARP请求的步骤,即还可以包括:采用该探测IP地址广播免费ARP请求以判断该探测IP地址是否在本网段内活动;当判断出该探测IP地址在本网段内活动时,将判断出探测IP地址在本网段内活动时的M作为差值对N进行减小处理,并重新设定M,根据减小后的N及重新设定的M重新构造探测IP地址,直至构造的探测IP地址不在本网段内活动。当判断出该探测IP地址不在本网段内活动时,采用该探测IP地址,向该网关发送ARP请求。具体内容可以参见后续实施例。
方式二,从小到大进行处理:构造满足第二限定条件的探测IP地址,该第二限定条件为:该探测IP地址的高L+M位与预先获取的网关的IP地址的高L+M位相同,且按照从高到低的顺序,该探测IP地址的第L+M+1位与该网关的IP地址的第L+M+1位互为反码,其中,L、M为变量,满足一定条件后的L为待配置的子网掩码的网络位的长度,M为步长,L的初始值为-1,M的初始值为预先设定的初始步长。
满足的一定条件可以包括:该采用该探测IP地址,发送请求消息,包括:采用该探测IP地址,向该网关发送ARP请求。该根据该请求消息的响应情况,配置子网掩码,包括:当接收不到该网关发送的ARP响应时,将接收不到该ARP响应时的M作为增值对L进行增加处理,并重新设定M,根据增加后的L及重新设定的M重新构造探测IP地址,并采用重新构造的探测IP地址向该网关发送ARP请求,直至接收到该网关发送的ARP响应。当接收到该网关发送的ARP响应时,如果接收到该网关发送的ARP响应时的M为1,则将接收到该ARP响应时的L增加1后作为配置的子网掩码的网络位的长度;或者,如果接收到该网关发送的ARP响应时的M大于1,则对接收到该网关发送的ARP响应时的M进行更新处理,使得更新后的M小于更新前的M,并根据该更新后的M重新构造探测IP地址,并采用重新构造的探测IP地址向该网关发送ARP请求,直至接收到该ARP响应时的M为1。
其中,采用该探测IP地址,向该网关发送ARP请求可以包括:采用该探测IP地址广播免费ARP请求以判断该探测IP地址是否在本网段内活动;当判断出该探测IP地址不在本网段内活动时,采用该探测IP地址,向该网关发送ARP请求。
另外,该采用该探测IP地址,发送请求消息,可以包括:
采用该探测IP地址,广播免费ARP请求以判断该探测IP地址是否在本网段内活动;该根据该请求消息的响应情况,配置子网掩码,包括:当判断出该探测IP地址在本网段内活动时,如果判断出该探测IP地址在本网段内活动时的M为1,则将判断出该探测IP地址在本网段内活动时的L增加1后作为配置的子网掩码的网络位的长度;或者,如果判断出该探测IP地址在本网段内活动时的M大于1,则对判断出该探测IP地址在本网段内活动时的M进行更新处理,使得更新后的M小于更新前的M,并根据该更新后的M重新构造探测IP地址,直至构造的探测IP地址不在本网段内活动,或者,判断出该探测IP地址在本网段内活动时的M为1。具体内容可以参见下述实施例。
方式三,从大到小及从小到大逐次逼近的方式:该构造探测IP地址,包括:构造满足第三限定条件的探测IP地址,该第三限定条件为:该探测IP地址的高Q位与预先获取的网关的IP地址的高Q位相同,且按照从高到低的顺序,该探测IP地址的第Q+1位与该网关的IP地址的第Q+1位互为反码,其中,Q大于L且小于N,Q、L、N为变量,N的初始值为能够取得的子网掩码的网络位的最大长度,L为初始值为-1。
该采用该探测IP地址,发送请求消息,包括:采用该探测IP地址,向该网关发送ARP请求。该根据该请求消息的响应情况,配置子网掩码,包括:当接收到该网关发送的ARP响应时,对该N进行减小处理,使得减小处理后的N为减小处理前对应的Q;以及,当接收不到该网关发送的ARP响应时,对该L进行增加处理,使得增加处理后的L为增加处理前对应的Q;如果该减小处理后的N与减小处理前对应的L相差1,或者,增加处理前对应的N与增加处理后的L相差1,则将N与L相差1时的N作为配置的子网掩码的网络位的长度;或者,如果该减小处理后的N与减小处理前对应的L相差大于1,则重新选取Q,使得重新选取的Q大于减小处理前对应的L小于减小处理后的N,或者,如果该增加处理前对应的N与增加处理后的L相差大于1,则重新选取Q,使得重新选取的Q大于增加处理后的L小于增加处理前对应的N;根据重新选取的Q重新构造探测IP地址,并采用重新构造的探测IP地址向该网关发送ARP请求,直至该减小处理后的N与减小处理前对应的L相差1,或者,增加处理前对应的N与增加处理后的L相差1。
其中,该采用该探测IP地址,向该网关发送ARP请求,包括:采用该探测IP地址广播免费ARP请求以判断该探测IP地址是否在本网段内活动;当判断出该探测IP地址在本网段内活动时,采用该探测IP地址,向该网关发送ARP请求。
另外,该采用该探测IP地址,发送请求消息,包括:采用该探测IP地址,广播免费ARP请求以判断该探测IP地址是否在本网段内活动;该根据该请求消息的响应情况,配置子网掩码,包括:当判断出该探测IP地址在本网段内活动时,对该N进行减小处理,使得减小处理后的N为减小处理前对应的Q;如果该减小处理后的N与减小处理前对应的L相差1,则将N与L相差1时的N作为配置的子网掩码的网络位的长度;或者,如果该减小处理后的N与减小处理前对应的L相差大于1,则重新选取Q,使得重新选取的Q大于减小处理前对应的L小于减小处理后的N;根据重新选取的Q重新构造探测IP地址,并采用重新构造的探测IP地址向该网关发送ARP请求,直至构造的探测IP地址不在本网段内活动,或者,判断出该探测IP地址在本网段内活动时对该N进行减小处理后的N与减小处理前对应的L相差1。具体内容可以参见下述实施例。
本实施例通过构造探测IP地址,根据采用该探测IP地址发送的ARP请求的响应情况,配置子网掩码,实现子网掩码的自动配置,避免人工配置引起的问题,保证主机配置的子网掩码的正确性,保证配置子网掩码时的快速性及方便性,保证配置子网掩码时无需人工参与,降低人工技术及成本要求。通过对n进行增加或者减小处理,可以提高适用范围。通过首先进行免费ARP过程,可以避免地址冲突。
图2为本发明第二实施例的方法流程示意图,本实施例以网络位长度从大到小依次按位处理为例。参见图2,本实施例包括:
步骤201:主机读取网关的IP地址,假设网关的IP地址为IP0。
图3为本发明第二实施例中网关的IP地址的示意图,参见图3,以32位的IP地址为例,IP0按照从高到低的顺序为:Y1 Y2 … Y32。
步骤202:主机设置子网掩码的网络位长度N的初始值。
假设N的初始值N0=30。
步骤203:主机根据网络位的长度构造探测IP地址,假设该探测IP地址为IP1。
图4为本发明第二实施例中构造的探测IP地址的示意图,参见图4,该探测IP地址满足如下条件:该探测IP地址的高N-1位与网关的IP地址的高N-1位分别相同,即探测IP地址的高N-1位分别为:Y1 Y2 … YN-1,从高到低的顺序,第N位与网关的IP地址的第N位互为反码,即ZN与YN互为反码,其余的ZN+1…Z32可以任选。同样的,如果考虑到保留位的问题,ZN…Z32不能为全0或者全1。初始时N为设置的初始值N0。
步骤204:主机在本网段内广播免费ARP请求,该免费ARP请求的源IP地址和目的IP地址均为该探测IP地址。
通过广播免费ARP请求,可以查询该网关的网段内是否存在地址为IP1的主机,以防止发生IP地址冲突。
为了防止数据丢失,例如,防止免费ARP请求丢失,主机可以多次广播免费ARP请求。
步骤205:主机判断是否接收到地址为IP1的主机发送的ARP响应或者免费ARP响应,若是,执行步骤206,否则执行步骤207。
其中,主机可以设置一个时间阈值T1,判断在该时间阈值T1内是否收到上述的ARP响应包或者免费ARP响应包。当网关所属网段内存在地址为IP1的主机时,该地址为IP1的主机在接收到免费ARP请求后,可能会反馈ARP响应,也可能会反馈免费ARP响应,不论是反馈ARP响应还是免费ARP响应均表明IP1在本网段内活动,也即地址存在冲突。当地址冲突时,表明网关所属网段内存在IP1,进一步的意思是IP1和IP0同属的子网掩码的网络位长度小于等于N-1。
步骤206:主机将网络位的长度进行减小处理,例如,将N的数值减1,即执行N=N-1的处理,之后,重复执行步骤203及其后续步骤。
步骤207:主机采用探测IP地址向网关发送ARP请求,该ARP请求的源地址为IP1,目的地址为IP0。
为了防止数据丢失,主机可以多次发送ARP请求。
步骤208:主机判断是否接收到网关发送的ARP响应,若是,执行步骤209,否则执行步骤210。
其中,主机可以设置一个时间阈值T2,判断在该时间阈值T2内是否收到网关发送的ARP响应。
当收到ARP响应时,表明IP0和IP1同属的子网掩码的网络位的长度小于等于N-1。
步骤209:主机将网络位的长度进行减小处理,例如,将N的数值减1,即执行N=N-1的处理,之后,重复执行步骤203及其后续步骤。
步骤210:确定当前的N为要配置的子网掩码的网络位的长度,之后,根据该当前的N配置子网掩码。例如,网络位为16位,则子网掩码为高16位为1,低16位为0。
本实施例根据网络位的长度构造探测IP地址,采用探测IP地址向网关发送ARP请求,根据网关对ARP请求的响应情况更新网络位的长度,重复上述过程直至确定最终的网络位长度,可以自动完成子网掩码的配置,无需人工配置,避免人工配置的问题。本实施例可以应用于对网络位长度从大到小处理的场景。
图5为本发明第三实施例的方法流程示意图,本实施例以网络位长度从小到大依次按位处理为例。参见图5,本实施例包括:
步骤501:主机读取网关的IP地址,假设网关的IP地址为IP0。
例如,IP0按照从高到低的顺序为:Y1 Y2 Y3…Y32。
步骤502:主机设置L的初始值L0=-1。
步骤503:主机根据L构造探测IP地址,假设该探测IP地址为IP1。
其中,该探测IP地址满足如下条件:该探测IP地址的高L+1位与网关的IP地址的高L+1位分别相同,即探测IP地址的高L+1位分别为:Y1 Y2Y3…YL+1,从高到低的顺序,第L+2位与网关的IP地址的第L+2位互为反码,即ZL+2与YL+2互为反码,其余的ZL+3…Z32可以任选,但是如果考虑到保留位的问题,ZL+2…Z32不能为全0或者全1。步骤504:主机广播免费ARP请求,该免费ARP请求的源IP地址和目的IP地址均为该探测IP地址。
通过广播免费ARP请求,可以查询该网关的网段内是否存在地址为IP1的主机,以防止发生IP地址冲突。
为了防止数据丢失,主机可以多次广播免费ARP请求。
步骤505:主机判断是否接收到地址为IP1的主机发送的ARP响应或者免费ARP响应,若否,执行步骤506,若是,执行步骤509。
其中,当接收到ARP响应或者免费ARP响应时,表明网关所属网段内存在IP1,进一步的意思是IP1和IP0同属的子网掩码的网络位长度小于等于L+1。
步骤506:主机采用探测IP地址向网关发送ARP请求,该ARP请求的源地址为IP1,目的地址为IP0。
为了防止数据丢失,主机可以多次发送ARP请求。
步骤507:主机判断是否接收到网关发送的ARP响应,若是,执行步骤509,否则执行步骤508。
其中,主机可以设置一个时间阈值T2,判断在该时间阈值T2内是否收到网关发送的ARP响应。
当未收到ARP响应时,表明IP0和IP1同属的子网掩码的网络位的长度大于L+1;
当接收到ARP响应时,表明IP0和IP1同属的子网掩码的网络位的长度小于等于L+1。
步骤508:主机将L进行增加处理,例如,将L的数值加1,即执行L=L+1的处理,之后,重复执行步骤503及其后续步骤。
步骤509:确定当前的L增加1后为要配置的子网掩码的网络位的长度,即,网络位的长度为L+1,之后,根据该网络位的长度L+1配置子网掩码。例如,网络位为16位,则子网掩码为高16位为1,低16位为0。
本实施例根据网络位的长度构造探测IP地址,采用探测IP地址向网关发送ARP请求,根据网关对ARP请求的响应情况更新网络位的长度,重复上述过程直至确定最终的网络位长度,可以自动完成子网掩码的配置,无需人工配置,避免人工配置的问题。本实施例可以应用于对网络位长度从小到大处理的场景。
上述分别描述了对网络位长度减小或者增加的流程,可以理解的是,在实施过程中也可以减小、增加都进行,并且,减小或者增加的数值也不限于1,也可以为其他数值。
下面以不限于1的步长为例,说明本发明实施例。
图6为本发明第四实施例的方法流程示意图,本实施例以不限于1的步长为例,且探测IP地址与网关IP地址相同的高位数按照从大到小的顺序变化为例。参见图6,本实施例包括:
步骤601:读取网关的IP地址。
例如网关的IP地址为IP0。
步骤602:设置子网掩码的网络位长度N为最大值M。
例如,参见上述实施例,如果考虑到可用的IP地址空间,以IP地址为32位为例,则M=30。
步骤603:设置步长m。
步长m满足:0<m≤N。
步骤604:构造探测IP地址。
其中,图7为本发明第四实施例中探测IP地址和网关的IP地址的结构比较示意图,本实施例中,以网关的IP地址为IP0,探测IP地址为IP1为例。
参见图7,IP1和IP0满足如下条件:高N-m位与预先获取的网关的IP地址的高N-m位相同,且按照从高到低的顺序,该探测IP地址的第N-m+1位与该网关的IP地址的第N-m+1位互为反码。其中,图7中,MSB表示高位,LSB表示低位,变化位即为互为反码位。
步骤605:判断探测IP地址是否在本网段内活动,若是,执行步骤610,否则,执行步骤606。
具体内容可以参见上述实施例,例如,向本网段内以该探测IP地址广播免费ARP请求,如果收到对应的响应消息,例如收到免费ARP响应或者ARP响应,则表明探测IP地址在本网段内活动,否则为探测IP地址未在本网段内活动。
步骤606:采用该探测IP地址向网关发送ARP请求。
步骤607:判断是否收到网关返回的ARP响应,若是,执行步骤610,否则,执行步骤608。
步骤608:判断采用的步长是否为1,若是,执行步骤609,否则,执行步骤611。
步骤609:确定N为待配置的子网掩码的网络位的长度。之后,可以根据子网掩码的网络位的长度配置子网掩码。
步骤610:采用设置的步长m对N进行减小处理。之后,重复执行步骤603及其后续步骤。
例如,减小后的N=减小前的N-m。
步骤611:更新步长值,其中,更新后的步长大于0,小于更新前的步长。之后,重复执行步骤604及其后续步骤。
本实施例可以实现子网掩码的自动配置,并且,本实施例对步长值没有特别限制,可以扩大适用范围。
图8为本发明第六实施例的方法流程示意图,本实施例以不限于1的步长为例,且探测IP地址与网关IP地址相同的高位数按照从小到大的顺序变化为例。参见图8,本实施例包括:
步骤801:读取网关的IP地址。
例如网关的IP地址为IP0。
步骤802:设置L的初始值为-1。
步骤803:设置步长m。
步长m满足:0<m≤M-L。
步骤804:构造探测IP地址。
其中,图9为本发明第六实施例中探测IP地址和网关的IP地址的结构比较示意图,本实施例中,以网关的IP地址为IP0,探测IP地址为IP1为例。
参见图9,IP1和IP0满足如下条件:高L+m位与预先获取的网关的IP地址的高L+m位相同,且按照从高到低的顺序,该探测IP地址的第L+m+1位与该网关的IP地址的第L+m+1位互为反码。其中,图9中,MSB表示高位,LSB表示低位,变化位即为互为反码位。
步骤805:判断探测IP地址是否在本网段内活动,若是,执行步骤808,否则,执行步骤806。
具体内容可以参见上述实施例,例如,向本网段内以该探测IP地址广播免费ARP请求,如果收到对应的响应消息,例如收到免费ARP响应或者ARP响应,则表明探测IP地址在本网段内活动,否则为探测IP地址未在本网段内活动。
步骤806:采用该探测IP地址向网关发送ARP请求。
步骤807:判断是否收到网关返回的ARP响应,若是,执行步骤808,否则,执行步骤810。
步骤808:判断采用的步长是否为1,若是,执行步骤809,否则,执行步骤811。
步骤809:确定L+1为待配置的子网掩码的网络位的长度。之后,可以根据子网掩码的网络位的长度配置子网掩码。
步骤810:采用设置的步长m对L进行增加处理。之后,重复执行步骤803及其后续步骤。
例如,增加后的L=增加前的L+m。
步骤811:更新步长值,其中,更新后的步长大于0,小于更新前的步长。之后,重复执行步骤804及其后续步骤。
本实施例可以实现子网掩码的自动配置,并且,本实施例对步长值没有特别限制,可以扩大适用范围。
图6、8所示的实施例以更新步长为例,也可以采用逐次逼近的方式获取上述的子网掩码的网络位长度,参见图10。
图10为本发明第七实施例的方法流程示意图,本实施例以采用逐次逼近的方式获取网络位的长度为例。参见图10,本实施例包括:
步骤1001:读取网关的IP地址。
例如网关的IP地址为IP0。
步骤1002:设置L、N的初始值。
其中L的初始值为-1,N的初始值为能够取得的子网掩码的网络位的最大长度,以32为IP地址且需要包括4个地址空间为例,N的初始值=M=30。
步骤1003:在L、N之间选取Q。
其中,Q满足:L<Q<N。
步骤1004:构造探测IP地址。
其中,图11为本发明第七实施例中探测IP地址和网关的IP地址的结构比较示意图,本实施例中,以网关的IP地址为IP0,探测IP地址为IP1为例。
参见图11,IP1和IP0满足如下条件:高Q位与预先获取的网关的IP地址的高Q位相同,且按照从高到低的顺序,该探测IP地址的第Q+1位与该网关的IP地址的第Q+1位互为反码。其中,图11中,MSB表示高位,LSB表示低位,变化位即为互为反码位。
步骤1005:判断探测IP地址是否在本网段内活动,若是,执行步骤1008,否则,执行步骤1006。
具体内容可以参见上述实施例,例如,向本网段内以该探测IP地址广播免费ARP请求,如果收到对应的响应消息,例如收到免费ARP响应或者ARP响应,则表明探测IP地址在本网段内活动,否则为探测IP地址未在本网段内活动。
步骤1006:采用该探测IP地址向网关发送ARP请求。
步骤1007:判断是否收到网关返回的ARP响应,若是,执行步骤1008,否则,执行步骤1009。
步骤1008:调整N值,使得调整后的N值与调整前的Q相等,即,调整后的N=Q。之后,执行步骤1010。
步骤1009:调整L值,使得调整后的L值与调整前的Q相等,即调整后的L=Q。
步骤1010:判断N-L是否等于1,若是,执行步骤1011,否则,执行步骤1003及其后续步骤。
其中,如果N调整了,则该步骤判断时采用的N为调整后的N;如果L调整了,则该步骤判断时采用的L为调制后的L。
步骤1011:确定N为待配置的子网掩码的网络位的长度。之后,可以根据子网掩码的网络位的长度配置子网掩码。
其中,如果N发生了调整,则该步骤中的N为调整后的N。
本实施例可以实现子网掩码的自动配置,并且,本实施例对步长值没有特别限制,可以扩大适用范围。
图12为本发明第八实施例的设备结构示意图,包括构造模块121、发送模块122和确定模块123;构造模块121用于构造探测IP地址;发送模块122用于采用该探测IP地址,发送请求消息;确定模块123用于根据该请求消息的响应情况,确定子网掩码的网络位长度,以进行子网掩码的配置;其中,该子网掩码的网络位的长度为能够临界接收到该请求消息对应的响应消息时,该探测IP地址与同一网段内的网关的IP地址中连续相同的高位的个数,该探测IP地址与该网关的IP地址满足如下条件:该探测IP地址与该网关的IP地址中紧邻相同的高位的低位互为反码。
具体可以是,该构造模块121具体用于构造满足第一限定条件的探测IP地址,该第一限定条件为:该探测IP地址的高N-M位与预先获取的网关的IP地址的高N-M位相同,且按照从高到低的顺序,该探测IP地址的第N-M+1位与该网关的IP地址的第N-M+1位互为反码,其中,N、M为变量,N的初始值为能够取得的子网掩码的网络位的最大长度,M的初始值为预先设定的初始步长;该请求消息为ARP请求,该发送模块122具体用于将该探测IP地址作为该ARP请求的源IP地址,向该网关发送ARP请求。该确定模块123具体用于当接收到该网关发送的ARP响应时,将接收到该ARP响应时的M作为差值对N进行减小处理,并重新设定M,根据减小后的N及重新设定的M重新构造探测IP地址,并采用重新构造的探测IP地址向该网关发送ARP请求,直至接收不到该网关发送的ARP响应;该确定模块123还用于当接收不到该网关发送的ARP响应时,如果接收不到该网关发送的ARP响应时的M为1,则将接收不到该ARP响应时的N作为配置的子网掩码的网络位的长度;或者,如果接收不到该网关发送的ARP响应时的M大于1,则对接收不到该网关发送的ARP响应时的M进行更新处理,使得更新后的M小于更新前的M,并根据该更新后的M重新构造探测IP地址,并采用重新构造的探测IP地址向该网关发送ARP请求,直至接收不到该ARP响应时的M为1。
此时,还可以包括广播模块,用于将该探测IP地址作为免费ARP请求的源IP地址和目的IP地址,广播免费ARP请求以判断该探测IP地址是否在本网段内已经存在;处理模块,用于当判断出该探测IP地址在本网段内已经存在时,将判断出探测IP地址在本网段内已经存在时的M作为差值对N进行减小处理,并重新设定M,根据减小后的N及重新设定的M重新构造探测IP地址,直至构造的探测IP地址在本网段内未存在;此时,该发送模块122具体用于当判断出该探测IP地址在本网段内未存在时,将该探测IP地址作为该ARP请求的源IP地址,向该网关发送ARP请求。
也可以是,该构造模块121具体用于构造满足第二限定条件的探测IP地址,该第二限定条件为:该探测IP地址的高L+M位与预先获取的网关的IP地址的高L+M位相同,且按照从高到低的顺序,该探测IP地址的第L+M+1位与该网关的IP地址的第L+M+1位互为反码,其中,L、M为变量,L的初始值为-1,M的初始值为预先设定的初始步长。
该请求消息为ARP请求,该发送模块122具体用于将该探测IP地址作为该ARP请求的源IP地址,向该网关发送ARP请求;该确定模块123具体用于当接收不到该网关发送的ARP响应时,将接收不到该ARP响应时的M作为增值对L进行增加处理,并重新设定M,根据增加后的L及重新设定的M重新构造探测IP地址,并采用重新构造的探测IP地址向该网关发送ARP请求,直至接收到该网关发送的ARP响应;当接收到该网关发送的ARP响应时,如果接收到该网关发送的ARP响应时的M为1,则将接收到该ARP响应时的L增加1后作为配置的子网掩码的网络位的长度;或者,如果接收到该网关发送的ARP响应时的M大于1,则对接收到该网关发送的ARP响应时的M进行更新处理,使得更新后的M小于更新前的M,并根据该更新后的M重新构造探测IP地址,并采用重新构造的探测IP地址向该网关发送ARP请求,直至接收到该ARP响应时的M为1。该发送模块122具体用于将该探测IP地址作为免费ARP请求的源IP地址和目的IP地址,广播免费ARP请求以判断该探测IP地址是否在本网段内已经存在;当判断出该探测IP地址在本网段内未存在时,将该探测IP地址作为该ARP请求的源IP地址,向该网关发送ARP请求。
或者,该请求消息为免费ARP请求;该发送模块122具体用于将该探测IP地址作为免费ARP请求的源IP地址和目的IP地址,广播免费ARP请求以判断该探测IP地址是否在本网段内已经存在;该确定模块123具体用于当判断出该探测IP地址在本网段内已经存在时,如果判断出该探测IP地址在本网段内已经存在时的M为1,则将判断出该探测IP地址在本网段内已经存在时的L增加1后作为配置的子网掩码的网络位的长度;或者,如果判断出该探测IP地址在本网段内已经存在时的M大于1,则对判断出该探测IP地址在本网段内已经存在时的M进行更新处理,使得更新后的M小于更新前的M,并根据该更新后的M重新构造探测IP地址,直至构造的探测IP地址在本网段内未存在,或者,判断出该探测IP地址在本网段内已经存在时的M为1。
也可以是,该构造模块121具体用于构造满足第三限定条件的探测IP地址,该第三限定条件为:该探测IP地址的高Q位与预先获取的网关的IP地址的高Q位相同,且按照从高到低的顺序,该探测IP地址的第Q+1位与该网关的IP地址的第Q+1位互为反码,其中,Q大于L且小于N,Q、L、N为变量,N的初始值为能够取得的子网掩码的网络位的最大长度,L为初始值为-1。
该请求消息为ARP请求,该发送模块122具体用于将该探测IP地址作为ARP请求的源IP地址,向该网关发送ARP请求;该确定模块123具体用于当接收到该网关发送的ARP响应时,对该N进行减小处理,使得减小处理后的N为减小处理前对应的Q;以及,当接收不到该网关发送的ARP响应时,对该L进行增加处理,使得增加处理后的L为增加处理前对应的Q;如果该减小处理后的N与减小处理前对应的L相差1,或者,增加处理前对应的N与增加处理后的L相差1,则将N与L相差1时的N作为配置的子网掩码的网络位的长度;或者,如果该减小处理后的N与减小处理前对应的L相差大于1,则重新选取Q,使得重新选取的Q大于减小处理前对应的L小于减小处理后的N,或者,如果该增加处理前对应的N与增加处理后的L相差大于1,则重新选取Q,使得重新选取的Q大于增加处理后的L小于增加处理前对应的N;根据重新选取的Q重新构造探测IP地址,并采用重新构造的探测IP地址向该网关发送ARP请求,直至该减小处理后的N与减小处理前对应的L相差1,或者,增加处理前对应的N与增加处理后的L相差1。该发送模块122具体用于将该探测IP地址作为免费ARP请求的源IP地址和目的IP地址,广播免费ARP请求以判断该探测IP地址是否在本网段内已经存在;当判断出该探测IP地址在本网段内未存在时,采用该探测IP地址,向该网关发送ARP请求。
或者,
该请求消息为免费ARP请求,该发送模块122具体用于将该探测IP地址作为免费ARP请求的源IP地址和目的IP地址,广播免费ARP请求以判断该探测IP地址是否在本网段内已经存在;该确定模块123具体用于当判断出该探测IP地址在本网段内已经存在时,对该N进行减小处理,使得减小处理后的N为减小处理前对应的Q;如果该减小处理后的N与减小处理前对应的L相差1,则将N与L相差1时的N作为配置的子网掩码的网络位的长度;或者,如果该减小处理后的N与减小处理前对应的L相差大于1,则重新选取Q,使得重新选取的Q大于减小处理前对应的L小于减小处理后的N;根据重新选取的Q重新构造探测IP地址,并采用重新构造的探测IP地址向该网关发送ARP请求,直至构造的探测IP地址在本网段内未存在,或者,判断出该探测IP地址在本网段内已经存在时对该N进行减小处理后的N与减小处理前对应的L相差1。
本实施例通过构造探测IP地址,根据采用该探测IP地址发送的ARP请求的响应情况,配置子网掩码,实现子网掩码的自动配置,避免人工配置引起的问题,保证主机配置的子网掩码的正确性,保证配置子网掩码时的快速性及方便性,保证配置子网掩码时无需人工参与,降低人工技术及成本要求。通过对n进行增加或者减小处理,可以提高适用范围。通过首先进行免费ARP过程,可以避免地址冲突。
可以理解的是,上述方法及设备中的相应特征可以相互适用。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (24)
1.一种配置子网掩码的方法,其特征在于,包括:
构造探测因特网协议IP地址;
采用所述探测IP地址,发送请求消息;
根据所述请求消息的响应情况,确定子网掩码的网络位的长度,以进行子网掩码的配置;
其中,所述子网掩码的网络位的长度为能够临界接收到所述请求消息对应的响应消息时,所述探测IP地址与同一网段内的网关的IP地址中连续相同的高位的个数,所述探测IP地址与所述网关的IP地址满足如下条件:所述探测IP地址与所述网关的IP地址中紧邻相同的高位的低位互为反码。
2.根据权利要求1所述的方法,其特征在于,所述构造探测IP地址,包括:
构造满足第一限定条件的探测IP地址,所述第一限定条件为:所述探测IP地址的高N-M位与预先获取的网关的IP地址的高N-M位相同,且按照从高到低的顺序,所述探测IP地址的第N-M+1位与所述网关的IP地址的第N-M+1位互为反码,其中,N、M为变量,N的初始值为能够取得的子网掩码的网络位的最大长度,M的初始值为预先设定的初始步长;
所述请求消息为地址解析协议ARP请求,所述采用所述探测IP地址,发送请求消息,包括:
将所述探测IP地址作为所述ARP请求的源IP地址,向所述网关发送ARP请求。
3.根据权利要求2所述的方法,其特征在于,所述根据所述请求消息的响应情况,确定子网掩码的网络位长度,包括:
当接收到所述网关发送的ARP响应时,将接收到所述ARP响应时的M 作为差值对N进行减小处理,并重新设定M,根据减小后的N及重新设定的M重新构造探测IP地址,并采用重新构造的探测IP地址向所述网关发送ARP请求,直至接收不到所述网关发送的ARP响应;
当接收不到所述网关发送的ARP响应时,
如果接收不到所述网关发送的ARP响应时的M为1,则将接收不到所述ARP响应时的N作为配置的子网掩码的网络位的长度;
或者,
如果接收不到所述网关发送的ARP响应时的M大于1,则对接收不到所述网关发送的ARP响应时的M进行更新处理,使得更新后的M小于更新前的M,并根据所述更新后的M重新构造探测IP地址,并采用重新构造的探测IP地址向所述网关发送ARP请求,直至接收不到所述ARP响应时的M为1。
4.根据权利要求2所述的方法,其特征在于,还包括:
将所述探测IP地址作为免费ARP请求的源IP地址和目的IP地址,广播免费ARP请求以判断所述探测IP地址是否在本网段内已经存在;
当判断出所述探测IP地址在本网段内已经存在时,将判断出探测IP地址在本网段内已经存在时的M作为差值对N进行减小处理,并重新设定M,根据减小后的N及重新设定的M重新构造探测IP地址,直至构造的探测IP地址在本网段内未存在;
所述将所述探测IP地址作为所述ARP请求的源IP地址,向所述网关发送ARP请求,包括:
当判断出所述探测IP地址在本网段内未存在时,将所述探测IP地址作为所述ARP请求的源IP地址,向所述网关发送ARP请求。
5.根据权利要求1所述的方法,其特征在于,所述构造探测IP地址,包括:
构造满足第二限定条件的探测IP地址,所述第二限定条件为:所述探测 IP地址的高L+M位与预先获取的网关的IP地址的高L+M位相同,且按照从高到低的顺序,所述探测IP地址的第L+M+1位与所述网关的IP地址的第L+M+1位互为反码,其中,L、M为变量,L的初始值为-1,M的初始值为预先设定的初始步长。
6.根据权利要求5所述的方法,其特征在于,所述请求消息为ARP请求,所述采用所述探测IP地址,发送请求消息,包括:
将所述探测IP地址作为所述ARP请求的源IP地址,向所述网关发送ARP请求;
所述根据所述请求消息的响应情况,确定子网掩码的网络位长度,包括:
当接收不到所述网关发送的ARP响应时,将接收不到所述ARP响应时的M作为增值对L进行增加处理,并重新设定M,根据增加后的L及重新设定的M重新构造探测IP地址,并采用重新构造的探测IP地址向所述网关发送ARP请求,直至接收到所述网关发送的ARP响应;
当接收到所述网关发送的ARP响应时,
如果接收到所述网关发送的ARP响应时的M为1,则将接收到所述ARP响应时的L增加1后作为配置的子网掩码的网络位的长度;
或者,
如果接收到所述网关发送的ARP响应时的M大于1,则对接收到所述网关发送的ARP响应时的M进行更新处理,使得更新后的M小于更新前的M,并根据所述更新后的M重新构造探测IP地址,并采用重新构造的探测IP地址向所述网关发送ARP请求,直至接收到所述ARP响应时的M为1。
7.根据权利要求6所述的方法,其特征在于,所述将所述探测IP地址作为所述ARP请求的源IP地址,向所述网关发送ARP请求,包括:
将所述探测IP地址作为免费ARP请求的源IP地址和目的IP地址,广播免费ARP请求以判断所述探测IP地址是否在本网段内已经存在;
当判断出所述探测IP地址在本网段内未存在时,将所述探测IP地址作为所述ARP请求的源IP地址,向所述网关发送ARP请求。
8.根据权利要求5所述的方法,其特征在于,所述请求消息为免费ARP请求,所述采用所述探测IP地址,发送请求消息,包括:
将所述探测IP地址作为免费ARP请求的源IP地址和目的IP地址,广播免费ARP请求以判断所述探测IP地址是否在本网段内已经存在;
所述根据所述请求消息的响应情况,确定子网掩码的网络位长度,包括:
当判断出所述探测IP地址在本网段内已经存在时,
如果判断出所述探测IP地址在本网段内已经存在时的M为1,则将判断出所述探测IP地址在本网段内已经存在时的L增加1后作为配置的子网掩码的网络位的长度;
或者,
如果判断出所述探测IP地址在本网段内已经存在时的M大于1,则对判断出所述探测IP地址在本网段内已经存在时的M进行更新处理,使得更新后的M小于更新前的M,并根据所述更新后的M重新构造探测IP地址,直至构造的探测IP地址在本网段内未存在,或者,判断出所述探测IP地址在本网段内已经存在时的M为1。
9.根据权利要求1所述的方法,其特征在于,所述构造探测IP地址,包括:
构造满足第三限定条件的探测IP地址,所述第三限定条件为:所述探测IP地址的高Q位与预先获取的网关的IP地址的高Q位相同,且按照从高到低的顺序,所述探测IP地址的第Q+1位与所述网关的IP地址的第Q+1位互为反码,其中,Q大于L且小于N,Q、L、N为变量,N的初始值为能够取得的子网掩码的网络位的最大长度,L的初始值为-1。
10.根据权利要求9所述的方法,其特征在于,所述请求消息为ARP请求,所述采用所述探测IP地址,发送请求消息,包括:
将所述探测IP地址作为ARP请求的源IP地址,向所述网关发送ARP请求;
所述根据所述请求消息的响应情况,确定子网掩码的网络位长度,包括:
当接收到所述网关发送的ARP响应时,对所述N进行减小处理,使得减小处理后的N为减小处理前对应的Q;以及,当接收不到所述网关发送的ARP响应时,对所述L进行增加处理,使得增加处理后的L为增加处理前对应的Q;
如果所述减小处理后的N与减小处理前对应的L相差1,或者,增加处理前对应的N与增加处理后的L相差1,则将N与L相差1时的N作为配置的子网掩码的网络位的长度;
或者,
如果所述减小处理后的N与减小处理前对应的L相差大于1,则重新选取Q,使得重新选取的Q大于减小处理前对应的L小于减小处理后的N,或者,如果所述增加处理前对应的N与增加处理后的L相差大于1,则重新选取Q,使得重新选取的Q大于增加处理后的L小于增加处理前对应的N;根据重新选取的Q重新构造探测IP地址,并采用重新构造的探测IP地址向所述网关发送ARP请求,直至所述减小处理后的N与减小处理前对应的L相差1,或者,增加处理前对应的N与增加处理后的L相差1。
11.根据权利要求10所述的方法,其特征在于,所述将所述探测IP地址作为ARP请求的源IP地址,向所述网关发送ARP请求,包括:
将所述探测IP地址作为免费ARP请求的源IP地址和目的IP地址,广播免费ARP请求以判断所述探测IP地址是否在本网段内已经存在;
当判断出所述探测IP地址在本网段内未存在时,采用所述探测IP地址, 向所述网关发送ARP请求。
12.根据权利要求10所述的方法,其特征在于,所述请求消息为免费ARP请求,所述采用所述探测IP地址,发送请求消息,包括:
将所述探测IP地址作为免费ARP请求的源IP地址和目的IP地址,广播免费ARP请求以判断所述探测IP地址是否在本网段内已经存在;
所述根据所述请求消息的响应情况,确定子网掩码的网络位长度,包括:
当判断出所述探测IP地址在本网段内已经存在时,对所述N进行减小处理,使得减小处理后的N为减小处理前对应的Q;
如果所述减小处理后的N与减小处理前对应的L相差1,则将N与L相差1时的N作为配置的子网掩码的网络位的长度;
或者,
如果所述减小处理后的N与减小处理前对应的L相差大于1,则重新选取Q,使得重新选取的Q大于减小处理前对应的L小于减小处理后的N;根据重新选取的Q重新构造探测IP地址,并采用重新构造的探测IP地址向所述网关发送ARP请求,直至构造的探测IP地址在本网段内未存在,或者,判断出所述探测IP地址在本网段内已经存在时对所述N进行减小处理后的N与减小处理前对应的L相差1。
13.一种配置子网掩码的设备,其特征在于,包括:
构造模块,用于构造探测因特网协议IP地址;
发送模块,用于采用所述探测IP地址,发送请求消息;
确定模块,用于根据所述请求消息的响应情况,确定子网掩码的网络位的长度,以进行子网掩码的配置;
其中,所述子网掩码的网络位的长度为能够临界接收到所述请求消息对应的响应消息时,所述探测IP地址与同一网段内的网关的IP地址中连续相同的高位的个数,所述探测IP地址与所述网关的IP地址满足如下条件:所 述探测IP地址与所述网关的IP地址中紧邻相同的高位的低位互为反码。
14.根据权利要求13所述的设备,其特征在于,
所述构造模块具体用于构造满足第一限定条件的探测IP地址,所述第一限定条件为:所述探测IP地址的高N-M位与预先获取的网关的IP地址的高N-M位相同,且按照从高到低的顺序,所述探测IP地址的第N-M+1位与所述网关的IP地址的第N-M+1位互为反码,其中,N、M为变量,N的初始值为能够取得的子网掩码的网络位的最大长度,M的初始值为预先设定的初始步长;
所述请求消息为ARP请求,所述发送模块具体用于将所述探测IP地址作为所述ARP请求的源IP地址,向所述网关发送地址解析协议ARP请求。
15.根据权利要求14所述的设备,其特征在于,所述确定模块具体用于当接收到所述网关发送的ARP响应时,将接收到所述ARP响应时的M作为差值对N进行减小处理,并重新设定M,根据减小后的N及重新设定的M重新构造探测IP地址,并采用重新构造的探测IP地址向所述网关发送ARP请求,直至接收不到所述网关发送的ARP响应;
所述确定模块还用于当接收不到所述网关发送的ARP响应时,如果接收不到所述网关发送的ARP响应时的M为1,则将接收不到所述ARP响应时的N作为配置的子网掩码的网络位的长度;或者,如果接收不到所述网关发送的ARP响应时的M大于1,则对接收不到所述网关发送的ARP响应时的M进行更新处理,使得更新后的M小于更新前的M,并根据所述更新后的M重新构造探测IP地址,并采用重新构造的探测IP地址向所述网关发送ARP请求,直至接收不到所述ARP响应时的M为1。
16.根据权利要求14所述的设备,其特征在于,还包括:
广播模块,用于将所述探测IP地址作为免费ARP请求的源IP地址和目的IP地址,广播免费ARP请求以判断所述探测IP地址是否在本网段内已经存在;
处理模块,用于当判断出所述探测IP地址在本网段内已经存在时,将判断出探测IP地址在本网段内已经存在时的M作为差值对N进行减小处理,并重新设定M,根据减小后的N及重新设定的M重新构造探测IP地址,直至构造的探测IP地址在本网段内未存在;
所述发送模块具体用于当判断出所述探测IP地址在本网段内未存在时,将所述探测IP地址作为所述ARP请求的源IP地址,向所述网关发送ARP请求。
17.根据权利要求13所述的设备,其特征在于,
所述构造模块具体用于构造满足第二限定条件的探测IP地址,所述第二限定条件为:所述探测IP地址的高L+M位与预先获取的网关的IP地址的高L+M位相同,且按照从高到低的顺序,所述探测IP地址的第L+M+1位与所述网关的IP地址的第L+M+1位互为反码,其中,L、M为变量,L的初始值为-1,M的初始值为预先设定的初始步长。
18.根据权利要求17所述的设备,其特征在于,
所述请求消息为ARP请求,所述发送模块具体用于将所述探测IP地址作为所述ARP请求的源IP地址,向所述网关发送ARP请求;
所述确定模块具体用于当接收不到所述网关发送的ARP响应时,将接收不到所述ARP响应时的M作为增值对L进行增加处理,并重新设定M,根据增加后的L及重新设定的M重新构造探测IP地址,并采用重新构造的探测IP地址向所述网关发送ARP请求,直至接收到所述网关发送的ARP响应;当接收到所述网关发送的ARP响应时,如果接收到所述网关发送的ARP响应时的M为1,则将接收到所述ARP响应时的L增加1后作为配置的子网掩码的网络位的长度;或者,如果接收到所述网关发送的ARP响应时的M大于1,则对接收到所述网关发送的ARP响应时的M进行更新处理,使得更新后的M小于更新前的M,并根据所述更新后的M重新构造探测IP地址,并 采用重新构造的探测IP地址向所述网关发送ARP请求,直至接收到所述ARP响应时的M为1。
19.根据权利要求18所述的设备,其特征在于,所述发送模块具体用于将所述探测IP地址作为免费ARP请求的源IP地址和目的IP地址,广播免费ARP请求以判断所述探测IP地址是否在本网段内已经存在;当判断出所述探测IP地址在本网段内未存在时,将所述探测IP地址作为所述ARP请求的源IP地址,向所述网关发送ARP请求。
20.根据权利要求17所述的设备,其特征在于,
所述请求消息为免费ARP请求;
所述发送模块具体用于将所述探测IP地址作为免费ARP请求的源IP地址和目的IP地址,广播免费ARP请求以判断所述探测IP地址是否在本网段内已经存在;
所述确定模块具体用于当判断出所述探测IP地址在本网段内已经存在时,如果判断出所述探测IP地址在本网段内已经存在时的M为1,则将判断出所述探测IP地址在本网段内已经存在时的L增加1后作为配置的子网掩码的网络位的长度;或者,如果判断出所述探测IP地址在本网段内已经存在时的M大于1,则对判断出所述探测IP地址在本网段内已经存在时的M进行更新处理,使得更新后的M小于更新前的M,并根据所述更新后的M重新构造探测IP地址,直至构造的探测IP地址在本网段内未存在,或者,判断出所述探测IP地址在本网段内已经存在时的M为1。
21.根据权利要求13所述的设备,其特征在于,
所述构造模块具体用于构造满足第三限定条件的探测IP地址,所述第三限定条件为:所述探测IP地址的高Q位与预先获取的网关的IP地址的高Q位相同,且按照从高到低的顺序,所述探测IP地址的第Q+1位与所述网关的IP地址的第Q+1位互为反码,其中,Q大于L且小于N,Q、L、N为变量,N的初始值为能够取得的子网掩码的网络位的最大长度,L的初始值为-1。
22.根据权利要求21所述的设备,其特征在于,
所述请求消息为ARP请求,所述发送模块具体用于将所述探测IP地址作为ARP请求的源IP地址,向所述网关发送ARP请求;
所述确定模块具体用于当接收到所述网关发送的ARP响应时,对所述N进行减小处理,使得减小处理后的N为减小处理前对应的Q;以及,当接收不到所述网关发送的ARP响应时,对所述L进行增加处理,使得增加处理后的L为增加处理前对应的Q;如果所述减小处理后的N与减小处理前对应的L相差1,或者,增加处理前对应的N与增加处理后的L相差1,则将N与L相差1时的N作为配置的子网掩码的网络位的长度;或者,如果所述减小处理后的N与减小处理前对应的L相差大于1,则重新选取Q,使得重新选取的Q大于减小处理前对应的L小于减小处理后的N,或者,如果所述增加处理前对应的N与增加处理后的L相差大于1,则重新选取Q,使得重新选取的Q大于增加处理后的L小于增加处理前对应的N;根据重新选取的Q重新构造探测IP地址,并采用重新构造的探测IP地址向所述网关发送ARP请求,直至所述减小处理后的N与减小处理前对应的L相差1,或者,增加处理前对应的N与增加处理后的L相差1。
23.根据权利要求22所述的设备,其特征在于,所述发送模块具体用于将所述探测IP地址作为免费ARP请求的源IP地址和目的IP地址,广播免费ARP请求以判断所述探测IP地址是否在本网段内已经存在;当判断出所述探测IP地址在本网段内未存在时,采用所述探测IP地址,向所述网关发送ARP请求。
24.根据权利要求21所述的设备,其特征在于,
所述请求消息为免费ARP请求,所述发送模块具体用于将所述探测IP地址作为免费ARP请求的源IP地址和目的IP地址,广播免费ARP请求以判断所述探测IP地址是否在本网段内已经存在;
所述确定模块具体用于当判断出所述探测IP地址在本网段内已经存在时,对所述N进行减小处理,使得减小处理后的N为减小处理前对应的Q;如果所述减小处理后的N与减小处理前对应的L相差1,则将N与L相差1时的N作为配置的子网掩码的网络位的长度;或者,如果所述减小处理后的N与减小处理前对应的L相差大于1,则重新选取Q,使得重新选取的Q大于减小处理前对应的L小于减小处理后的N;根据重新选取的Q重新构造探测IP地址,并采用重新构造的探测IP地址向所述网关发送ARP请求,直至构造的探测IP地址在本网段内未存在,或者,判断出所述探测IP地址在本网段内已经存在时对所述N进行减小处理后的N与减小处理前对应的L相差1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010532089 CN102143244B (zh) | 2010-11-01 | 2010-11-01 | 配置子网掩码的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010532089 CN102143244B (zh) | 2010-11-01 | 2010-11-01 | 配置子网掩码的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102143244A CN102143244A (zh) | 2011-08-03 |
CN102143244B true CN102143244B (zh) | 2013-08-07 |
Family
ID=44410456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010532089 Active CN102143244B (zh) | 2010-11-01 | 2010-11-01 | 配置子网掩码的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102143244B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106487939B (zh) * | 2015-08-26 | 2019-10-29 | 阿里巴巴集团控股有限公司 | 一种确定用户ip子网的方法和装置、一种电子设备 |
CN113472911B (zh) * | 2021-06-10 | 2023-05-16 | 新华三信息安全技术有限公司 | 一种子网划分方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094150A (zh) * | 2006-06-22 | 2007-12-26 | 上海未来宽带技术及应用工程研究中心有限公司 | 一种基于缆桥技术的设备自动配置方法 |
CN101651722A (zh) * | 2009-08-28 | 2010-02-17 | 华为技术有限公司 | Ip地址自动配置方法及其装置、系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8223716B2 (en) * | 2006-12-05 | 2012-07-17 | Toshiba America Research, Inc. | Assisted proactive IP address acquisition |
-
2010
- 2010-11-01 CN CN 201010532089 patent/CN102143244B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094150A (zh) * | 2006-06-22 | 2007-12-26 | 上海未来宽带技术及应用工程研究中心有限公司 | 一种基于缆桥技术的设备自动配置方法 |
CN101651722A (zh) * | 2009-08-28 | 2010-02-17 | 华为技术有限公司 | Ip地址自动配置方法及其装置、系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102143244A (zh) | 2011-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103636167A (zh) | 在基站中,一种开站配置方法、基站及服务器 | |
CN102291320A (zh) | Mac地址学习方法和边缘设备 | |
CN103781055A (zh) | 一种数据下载方法及相关设备 | |
US9197598B2 (en) | MAC address distribution | |
CN102143244B (zh) | 配置子网掩码的方法及设备 | |
CN103916484A (zh) | 配置ip地址的方法和设备 | |
CN103607482A (zh) | 一种ip地址分配方法及装置 | |
CN106357542A (zh) | 提供组播业务的方法和软件定义网络控制器 | |
EP4270902A1 (en) | Data conversion method and apparatus, and storage medium and electronic apparatus | |
CN102572012A (zh) | 一种消息处理方法、交换机及系统 | |
CN104754521A (zh) | 一种报文转发方法、无线接入点、无线控制器和系统 | |
CN103503413A (zh) | 传输网络信息的方法及装置 | |
CN104486453A (zh) | 一种老化时间的调整方法及装置 | |
CN101702680B (zh) | 媒体接入控制地址的老化方法、装置和通信设备 | |
CN103973747A (zh) | 一种获取内容的方法和装置 | |
CN103441931B (zh) | 一种报文发送方法及装置 | |
CN108353335A (zh) | 路由方法、装置、nfcc以及dh | |
JP4527650B2 (ja) | 物理配線制御装置、物理配線制御方法および物理配線制御プログラム | |
CN110636149B (zh) | 远程访问方法、装置、路由器及存储介质 | |
CN103532852A (zh) | 一种路由调度方法、装置及网络设备 | |
CN105656794A (zh) | 数据分发方法及装置 | |
CN109992197B (zh) | 一种数据读写方法、装置、电子设备和存储介质 | |
CN106170946B (zh) | 网络设备与终端设备通信的方法、网络设备及终端设备 | |
CN101656639A (zh) | Mlppp链路的空洞识别方法、装置及接收设备 | |
CN104994182A (zh) | 调整地址池的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |