获取虚拟局域网标识和网络协议地址的方法及客户端的制作方法

文档序号:7753585阅读:102来源:国知局
专利名称:获取虚拟局域网标识和网络协议地址的方法及客户端的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种获取虚拟局域网(Virtual Local Area Network,简称为VLAN)标识和网络协议(Internet Protocol,简称为IP)地址的方法及客户端。
背景技术
虚拟局域网是一种将物理网络划分成多个逻辑局域网(Local Area Network,简 称为LAN)的技术,每个VLAN都有一个虚拟局域网标识符(VLAN ID)。利用VLAN技术,网络 管理者能够根据实际应用需要,把同一物理局域网中的用户逻辑划分成不同的广播域(每 个广播域即一个VLAN),使具有相同需求的用户处于同一广播域,不同需求的用户处于不同 的广播域。每个VLAN在逻辑上就像一个独立的局域网,与物理上形成的LAN有相同的属性。 同一个VLAN中的所有广播和单播流量都被限制在该VLAN中,不会转发到其它VLAN中。动态主机分配协议(DynamicHost Configuration Protocol,简称为DHCP)。它的 执行主体分为两个一个是服务器端,另一个是客户端。所有的IP网络设定资料都由DHCP 服务器集中管理,并负责处理客户端的DHCP要求;而客户端则使用从服务器分配下来的IP 信息。整个IP分配过程自动实现,在客户端上无需做任何IP环境设定;所有的IP网络设 定资料都由DHCP服务器统一管理,还可以帮客户端指定网络掩码(netmask)、域名服务器 (Domain Name Server,简称为DNS)、缺省网关等参数。相关技术中,如果网络传输要求DHCP客户端设备发出的报文携带VLAN ID的报 文,DHCP客户端需要在发送报文前配置好自己的VLAN ID,该过程比较繁琐且容易出错,从 而导致DHCP协商失败。

发明内容
本发明的主要目的在于提供一种获取VLAN ID和IP地址的方法及客户端,以解决 相关技术中,如果网络传输要求DHCP客户端设备发出的报文携带VLAN ID的报文,DHCP客 户端需要在发送报文前配置好自己的VLAN ID,该过程比较繁琐且容易出错,从而导致DHCP 协商失败的问题。为了实现上述目的,根据本发明的一个方面,提供了一种获取虚拟局域网标识 VLAN ID和网络协议IP地址的方法。根据本发明的获取虚拟局域网标识VLAN ID和网络协议IP地址的方法包括虚拟局域网VLAN中客户端确定客户端发送的报文需要携带虚拟局域网标识VLAN ID ;客户端向VLAN中的动态主机分配协议DHCP服务器发送多个携带有VLAN ID的动态主 机分配协议发现DHCP DISCOVER报文,其中每个DHCP DISCOVER报文对应一个VLAN ID ;在 第一预定时间内,如果客户端接收到来自服务器的DHCP DISCOVER报文对应的DHCP响应报 文,则根据DHCP响应报文获取VLAN ID和IP地址。进一步地,VLAN中客户端确定客户端发送的报文需要携带VLAN ID包括客户端发送DHCP报文,其中DHCP报文取消携带VLAN ID ;在第二预定时间内,如果客户端未接收 到DHCP报文对应的DHCP响应报文,则确定客户端发送的报文需要携带VLANID。进一步地,客户端发送多个携带有VLAN ID的DHCPDISC0VER报文包括客户端在 DHCP DISCOVER报文中携带预定的DHCP选项,其中,DHCP选项为系统设置的用于标识客户 端对应的服务器的值。进一步地,客户端根据DHCP响应报文获取VLAN ID和IP地址包括客户端判断 DHCP响应报文是否携带有DHCP选项;如果判断结果为是,则确定DHCP响应报文来自对应 的服务器,并从DHCP响应报文中获取VLAN ID和IP地址。进一步地,DHCP DISCOVER报文发送的最大数量为4094。为了实现上述目的,根据本发明的另一个方面,提供了 一种客户端。根据本发明的客户端包括确定模块,用于确定客户端发送的报文需要携带虚拟 局域网标识VLAN ID ;发送模块,用于向VLAN中的动态主机分配协议DHCP服务器发送多 个携带有VLAN ID的动态主机分配协议发现DHCP DISCOVER报文,其中每个DHCPDISC0VER 报文对应一个VLAN ID ;获取模块,用于在第一预定时间内,在客户端接收到来自服务器的 DHCP DISCOVER报文对应的DHCP响应报文时,根据DHCP响应报文获取VLAN ID和IP地址。进一步地,确定模块包括发送子模块,用于发送DHCP报文,其中DHCP报文取消携 带VLAN ID ;VLAN ID确定子模块,用于在第二预定时间内,在客户端未接收到DHCP报文对 应的DHCP响应报文时,确定客户端发送的报文需要携带VLAN ID。进一步地,发送模块包括携带子模块,用于在DHCPDISC0VER报文中携带预定的 DHCP选项,其中,DHCP选项为系统设置的用于标识客户端对应的服务器的值。进一步地,获取模块包括判断子模块,用于判断DHCP响应报文是否携带有DHCP 选项;报文确定子模块,用于在判断结果为是时,确定DHCP响应报文来自对应的服务器;获 取子模块,用于从DHCP响应报文中获取VLAN ID和IP地址。进一步地,第一发送模块发送的DHCP DISCOVER报文的最大发送数量为4094。通过本发明,采用虚拟局域网VLAN中客户端确定客户端发送的报文需要携带虚 拟局域网标识VLAN ID;客户端向VLAN中的服务器发送多个携带有VLAN ID的动态主机分 配协议DHCPDISCOVER报文,其中每个DHCP DISCOVER报文对应一个VLANID ;在第一预定时 间内,如果客户端接收到来自服务器的DHCPDISC0VER报文对应的DHCP响应报文,则根据 DHCP响应报文获取VLAN ID和IP地址,解决了相关技术中,如果网络传输要求DHCP客户 端设备发出的报文携带VLAN ID的报文,DHCP客户端需要在发送报文前配置好自己的VLAN ID和IP地址,该过程比较繁琐且容易出错,从而导致DHCP协商失败的问题,进而达到了提 高网络配置效率和准确率的效果。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据相关技术的VLAN网络拓扑图;图2是根据本发明实施例的获取VLAN ID和IP地址的方法的流程图;图3是根据本发明优选实施例的获取VLAN ID和IP地址的方法的流程图4是根据本发明实施例的客户端的结构框图;以及图5是根据本发明实施例的客户端的优选的结构框图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。在本发明的下述实施例都是基于在VLAN网络中的应用,图1是根据相关技术的 VLAN网络拓扑图,如图1所示,客户端通过交换机接入到网络中,和DHCP服务器进行通信。实施例一在本实施例中,提供了一种获取VLAN ID和IP地址的方法。图2是根据本发明实 施例的获取VLAN ID和IP地址的方法的流程图,如图2所示,包括步骤S202,VLAN中客户端确定该客户端发送的报文需要携带虚拟局域网标识 VLAN ID0步骤S204,客户端向VLAN中的DHCP服务器发送多个携带有VLAN ID的动态主机 分配协议发现DHCP DISCOVER报文,其中每个DHCP DISCOVER报文对应一个VLAN ID。步骤S206,在第一预定时间内,如果客户端接收到来自服务器的DHCP DISCOVER 报文对应的DHCP响应报文,则根据DHCP响应报文获取VLAN ID和IP地址。通过上述步骤,根据DHCP响应报文获取VLAN ID和IP地址,避免了相关技术中如 果网络传输要求DHCP客户端设备发出的报文携带VLAN ID的报文,DHCP客户端需要在发 送报文前配置好自己的VLAN ID,该过程比较繁琐且容易出错,从而导致DHCP协商失败的 问题,实现了 DHCP客户端自动获取VLAN ID和IP地址,提高了网络配置的效率及准确性。下面对步骤S202中VLAN中客户端确定客户端发送的报文需要携带VLAN ID的一 个优选的实施方式进行说明。在该优选实施方式中,客户端首先发送DHCP报文,其中DHCP 报文取消携带VLAN ID;然后在第二预定时间内,如果客户端未接收到DHCP报文对应的 DHCP响应报文,则确定客户端发送的报文需要携带VLAN ID。通过该优选实施例的确定步 骤,在第二预定时间内,可以根据客户端未接收到DHCP报文对应的DHCP响应报文确定客户 端发送的报文需要携带VLAN ID,通过该实施例实现了对客户端发送的报文是否携带虚拟 局域网标识VLAN ID的判断。例如向网络连续发送多个带VLAN标签的DHCP DISCOVER报文,每个DISCOVER报 文的VLAN ID均不一样。如果在发送过程中收到了带VLAN标签的DHCP响应报文并且报文 内容正确,选项校验正确,则立即停止发送报文,并且通过响应报文获取VLANID以及IP地 址,在后续发送报文使用获得的VLAN ID与IP地址。通过这种方式,如果收到响应报文的 速度较慢,那么发送DHCP报文的最大数量为4094个(一个VLAN ID对应一个DHCP报文)。下面对步骤S204中客户端发送多个携带有VLAN ID的DHCPDISCOVER报文的一个 优选的实施方式进行说明。在该优选实施方式中,客户端在DHCP DISCOVER报文中携带预 定的DHCP选项,其中,DHCP选项为系统设置的用于标识客户端对应的服务器的值。通过该 优选实施例的携带步骤,可以在DHCP DISCOVER报文中携带用于标识客户端对应的服务器 的值,可以避免收到干扰的DHCP响应报文,实现了客户端对与其对应的服务器的标识。下面对步骤S206中客户端根据DHCP响应报文获取VLAN ID和IP地址的一个优选的实施方式进行说明。在该优选实施方式中,客户端首先判断DHCP响应报文是否携带有 DHCP选项;如果判断结果为是,则确定DHCP响应报文来自对应的服务器,并从DHCP响应报 文中获取VLAN ID和IP地址。通过该优选实施例的判断步骤,判断该DHCP响应报文是来 自对应服务器的正确报文,从而可以从该DHCP响应报文中获取VLAN ID和IP地址,实现了 对不同服务器的响应报文的鉴别。例如在实际系统中,在DHCP服务器上配置选项60,选项60的值为一个特殊的标 识值。在DHCP CLIENT设备构造报文时,在请求列表中添加鉴别选项60,并当DHCP SERVER 收到设备的请求后,在响应报文中填充这个特殊的标识。DHCP CLIENT设备收到DHCP响应 时,提取选项60的值,并与特殊值进行比较,如果相同,则认为是期望的DHCP响应报文,认 为收到了正确的响应,从这个报文中提取VLAN ID与IP地址;否则,认为这个响应报文不正 确,丢弃这个响应报文。优选地,DHCP DISCOVER报文发送的最大数量为4094,该优选实施例限定了 DHCP DISCOVER报文的发送的最大数量。实施例二在本实施例中,实现了客户端对VLAN ID和IP地址的获取。图3是根据本发明优选实施例的获取VLAN ID和IP地址的方法的流程图,如图3 所示,包括步骤S302,构造一个不带VLAN标签的DHCP DISCOVER报文,选项请求列表中携带 选项60,通过网络接口将报文发送出去。步骤S304,设置一个定时器进入等待状态;如果在等待的60s内收到了 DHCP OFFER报文,并且DHCP OFFER报文通过了选项60的校验,则设备构造DHCP REQUEST分组 并通过网络接口发送出去,如果收到了 DHCP ACK报文,并且报文内容正确,则设备完成了正 确的DHCP报文交互过程,并且获取的IP地址是有效的,进入到步骤S306 ;如果判断结果为 否,即在在60s内没有收到正确的DHCP ACK报文,则进入到步骤S310。步骤S306,设置网络的VLAN ID是无效的,此后通过网络接口发送报文时,发出的 报文均不带VLAN ID。步骤S308,从DHCP响应报文(DHCP OFFER报文与DHCPACK报文)中提取IP地址, 并使用这个地址进行报文收发。步骤S310,一秒钟构造100个DHCP DISCOVER报文,请求列表中携带选项60,每个 报文都携带VLAN标签,每个报文携带的VLAN ID依序增加,并且各不相同,通过网络接口 100个报文连续发送出去。步骤S312,检查是否收到带VLAN的选项60正确的DHCP0FFER响应;若没有收到 正确的响应,则转到步骤S314 ;若收到正确的响应,则转到步骤S316。步骤S314,判断是否已经发送完4094个报文,若没有发送完毕,则转到步骤S310 继续发送报文;若已经发送完毕,则不再发送。步骤S316,如果收到了带VLAN的DHCP OFFER报文,设备构造DHCP REQUEST报文, 并且在以太网层填充与OFFER报文相同的VLAN标签,通过网络接口将DHCP REQUEST发送 出去,当收到了 DHCP ACK报文后,并且报文内容正确,则设备完成了正确的DHCP报文交互 过程,并且获取的IP地址是有效的,进入到步骤S318。
步骤S318,设置网络的VLAN ID为DHCP OFFER报文的VLAN ID,此后通过网络接 口发送报文时,发出的报文均都携带VLAN标签,并且VLAN ID与DHCP OFFER报文的VLAN ID相同。步骤S320,从DHCP响应报文(DHCP OFFER报文与DHCPACK报文)中提取IP地址, 并使用这个地址进行报文收发。在实施例中,客户端可以识别网络场景,实现了在不带VLANID场景中通过正常的 DHCP报文获取IP地址,在带VLAN ID的场景中,通过发送多个VLAN的DHCP报文获取VLAN ID和IP地址。实施例三本实施例综合了实施例一及其中的优选实施方式,在本实施例中提供了 一种客户 端。图4是根据本发明实施例的客户端的结构框图,如图4所示,该客户端包括确定模块42,用于确定客户端发送的报文需要携带虚拟局域网标识VLAN ID ;发 送模块44,连接至确定模块42,在确定模块42确定客户端发送的报文需要携带虚拟局域网 标识VLAN ID时,用于向VLAN中的DHCP服务器发送多个携带有VLAN ID的动态主机分配 协议DHCP DISCOVER报文,其中每个DHCP DISCOVER报文对应一个VLAN ID ;获取模块46, 连接至发送模块44,用于在第一预定时间内,在客户端接收到来自服务器的发送模块44发 送的DHCP DISCOVER报文对应的DHCP响应报文时,根据DHCP响应报文获取VLAN ID和IP 地址。图5是根据本发明实施例的客户端的优选的结构框图,如图5所示,确定模块42 包括发送子模块422和VLAN ID确定子模块424,发送模块44包括携带子模块442,获取 模块44包括判断子模块462、报文确定子模块464和获取子模块466,下面对上述结构进 行详细描述确定模块42包括发送子模块422,用于发送DHCP报文,其中DHCP报文取消携带 VLAN ID ;VLAN ID确定子模块424,连接至发送子模块422,用于在第二预定时间内,在客户 端未接收到发送子模块422发送的DHCP报文对应的DHCP响应报文时,确定客户端发送的 报文需要携带VLAN ID。发送模块44包括携带子模块442,连接至VLAN ID确定子模块424,用于在DHCP DISCOVER报文中携带预定的DHCP选项,其中,DHCP选项为系统设置的用于标识客户端对应 的服务器的值。获取模块46包括判断子模块462,用于判断DHCP响应报文是否携带有DHCP选项;报文确定子模块 464,连接至判断子模块462,用于在判断子模块462判断结果为是时,确定DHCP响应报文来 自对应的服务器;获取子模块466,连接至报文确定子模块464,用于在报文确定子模块464 确定DHCP响应报文来自对应的服务器时,从DHCP响应报文中获取VLAN ID和IP地址。优选地,第一发送模块发送的DHCP DISCOVER报文的最大发送数量为4094。通过本发明上述的实施例,DHCP客户端设备能够适应不同的网络场景获取IP地 址。在不带VLAN的场景中通过正常的DHCP报文获取IP地址,在带VLAN的网络环境中,通 过发送多个VLANID的DHCP报文获取IP地址,提高了网络配置的效率和准确率。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示 出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种获取虚拟局域网标识VLAN ID和网络协议IP地址的方法,其特征在于,包括虚拟局域网VLAN中客户端确定所述客户端发送的报文需要携带虚拟局域网标识VLAN ID;所述客户端向所述VLAN中的动态主机分配协议DHCP服务器发送多个携带有VLAN ID的动态主机分配协议发现DHCP DISCOVER报文,其中每个所述DHCP DISCOVER报文对应一个VLAN ID;在第一预定时间内,如果所述客户端接收到来自所述服务器的所述DHCP DISCOVER报文对应的DHCP响应报文,则根据所述DHCP响应报文获取所述VLAN ID和所述IP地址。
2.根据权利要求1所述的方法,其特征在于,VLAN中客户端确定所述客户端发送的报 文需要携带VLAN ID包括所述客户端发送DHCP报文,其中所述DHCP报文取消携带所述VLAN ID ;在第二预定时间内,如果所述客户端未接收到所述DHCP报文对应的DHCP响应报文,则 确定所述客户端发送的报文需要携带所述VLAN ID。
3.根据权利要求1所述的方法,其特征在于,所述客户端发送多个携带有VLANID的 DHCP DISCOVER 报文包括所述客户端在所述DHCP DISCOVER报文中携带预定的DHCP选项,其中,所述DHCP选项 为系统设置的用于标识所述客户端对应的服务器的值。
4.根据权利要求3所述的方法,其特征在于,所述客户端根据所述DHCP响应报文获取 所述VLAN ID和所述IP地址包括所述客户端判断所述DHCP响应报文是否携带有所述DHCP选项;如果判断结果为是,则确定所述DHCP响应报文来自对应的所述服务器,并从所述DHCP 响应报文中获取所述VLANID和所述IP地址。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述DHCPDISCOVER报文发送 的最大数量为4094。
6.一种客户端,其特征在于,包括确定模块,用于确定所述客户端发送的报文需要携带虚拟局域网标识VLAN ID ;发送模块,用于向所述VLAN中的动态主机分配协议DHCP服务器发送多个携带有VLAN ID的动态主机分配协议发现DHCP DISCOVER报文,其中每个所述DHCPDISCOVER报文对应一 个 VLAN ID ;获取模块,用于在第一预定时间内,在所述客户端接收到来自所述服务器的所述DHCP DISCOVER报文对应的DHCP响应报文时,根据所述DHCP响应报文获取所述VLAN ID和所述 IP地址。
7.根据权利要求6所述的客户端,其特征在于,所述确定模块包括发送子模块,用于发送DHCP报文,其中所述DHCP报文取消携带所述VLAN ID ;VLAN ID确定子模块,用于在第二预定时间内,在所述客户端未接收到所述DHCP报文 对应的DHCP响应报文时,确定所述客户端发送的报文需要携带所述VLAN ID。
8.根据权利要求6所述的客户端,其特征在于,所述发送模块包括携带子模块,用于在所述DHCP DISCOVER报文中携带预定的DHCP选项,其中,所述DHCP 选项为系统设置的用于标识所述客户端对应的服务器的值。
9.根据权利要求8所述的客户端,其特征在于,所述获取模块包括 判断子模块,用于判断所述DHCP响应报文是否携带有所述DHCP选项;报文确定子模块,用于在判断结果为是时,确定所述DHCP响应报文来自对应的所述服 务器;获取子模块,用于从所述DHCP响应报文中获取所述VLAN ID和所述IP地址。
10.根据权利要求6至9任一项所述的客户端,其特征在于,所述第一发送模块发送的 DHCP DISCOVER报文的最大发送数量为4094。
全文摘要
本发明公开了一种获取虚拟局域网标识和网络协议地址的方法及客户端,该方法包括虚拟局域网VLAN中客户端确定客户端发送的报文需要携带虚拟局域网标识VLAN ID;客户端向VLAN中的动态主机分配协议DHCP服务器发送多个携带有VLAN ID的动态主机分配协议发现DHCP DISCOVER报文,其中每个DHCPDISCOVER报文对应一个VLAN ID;在第一预定时间内,如果客户端接收到来自服务器的DHCP DISCOVER报文对应的DHCP响应报文,则根据DHCP响应报文获取VLAN ID和IP地址。通过本发明,提高了网络配置效率和准确率。
文档编号H04L12/46GK101883158SQ20101022045
公开日2010年11月10日 申请日期2010年6月28日 优先权日2010年6月28日
发明者吴水华, 常伟, 廖俊锋, 柳锋, 胡晓娇, 赵金明, 邓长兵 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1