一种网络协议IP地址的获取方法及通信设备与流程

文档序号:16786554发布日期:2019-02-01 19:25阅读:379来源:国知局
一种网络协议IP地址的获取方法及通信设备与流程

本发明涉及通信领域,尤其涉及一种网络协议IP地址的获取方法及通信设备。



背景技术:

动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)是一种局域网的网络协议,它提供了一种动态分配网络协议(Internet Protocol,IP)地址和配置参数的机制,可以通过基于DHCP协议的DHCP服务器给网络中的通信设备动态分配IP地址。在Windows操作系统平台上,通过DHCP动态分配IP地址的过程中,需要通过调用Windows操作系统提供的应用程序编程接口(Application Programming Interface,API)函数向DHCP服务器发送DHCP报文以申请或者释放IP地址。在Windows操作系统平台上,如果想要通过DHCP实现IP地址的切换,就需要先通过调用API函数向DHCP服务器发送DHCP报文释放先前的IP地址,而后重新申请新的IP地址。

现有技术中,当某一通信设备需要进行IP地址切换时,例如当IP地址在A网段的通信设备想要访问B网段的资源时,需要首先进行身份认证,认证成功后,通信设备需要调用API函数并通过DHCP报文将A网段的IP地址切换为B网段的IP地址,从而可以访问B网段的资源。通信设备在通过调用Windows操作系统提供的API函数,向DHCP服务器发送DHCP Release报文请求释放IP地址后,通信设备需要等待一段时间(例如12s)才能向DHCP服务器发送DHCP Discover报文,重新申请新的IP地址,其中IP地址切换过程中DHCP报文交互的流程可以参见图1。也就是说,现有技术通过DHCP动态分配IP地址的过程中,在调用API函数进行IP地址释放时存在阻塞操作,使得通信设备无法立即申请新的IP地址,从而导致了通信设备在切换IP地址的过程中,获取IP地址的速度慢,获取时间长,同时也使得相关应用软件的在较长的切换时间内无法提供应用服务,因而也降低了应用软件的性能。



技术实现要素:

本发明实施例提供一种网络协议IP地址的获取方法及通信设备,能够解决现有技术中由于调用API函数进行IP地址释放时存在阻塞操作而引起的切换IP地址的速度慢的问题。

为达到上述目的,本发明采用如下技术方案:

第一方面,提供一种网络协议IP地址的获取方法,包括:

通信设备在确定物理网卡需要切换当前的第一IP地址时,控制所述物理网卡与动态主机配置协议DHCP服务器中断连接;

所述通信设备控制所述物理网卡与所述DHCP服务器连接,以触发所述物理网卡与所述DHCP服务器进行DHCP报文交互获取所述物理网卡的待切换后的第二IP地址。

结合第一方面,在第一方面的第一种可能实现的方式中,所述通信设备控制所述物理网卡与动态主机配置协议DHCP服务器中断连接,控制所述物理网卡与所述DHCP服务器连接包括:

所述通信设备控制操作系统的应用层向所述操作系统的驱动层发送消息,所述消息包括所述物理网卡的网卡名和指示信息,所述指示信息包括用于指示所述物理网卡与所述DHCP服务器中断连接的第一信息,以及用于指示所述物理网卡与所述DHCP服务器连接的第二信息;

所述通信设备控制所述驱动层获取所述消息中的网卡名和所述指示信息,并根据所述网卡名和所述指示信息中的第一信息控制所述物理网卡与所述DHCP服务器中断连接;

所述通信设备控制所述驱动层根据所述网卡名和所述指示信息中的第二信息控制所述物理网卡与所述DHCP服务器连接。

结合第一方面的第一种可能的实现方式,在第一方面的第二种可能实现的方式中,所述物理网卡的网卡名和所述指示信息以I/O控制码的方式表示。

结合第一方面的第二种可能的实现方式,在第一方面的第三种可能实现的方式中,所述通信设备控制所述驱动层获取所述消息中的网卡名和所述指示信息,并根据所述网卡名和所述指示信息中的第一信息控制所述物理网卡与所述DHCP服务器中断连接,根据所述网卡名和所述指示信息中的第二信息控制所述物理网卡与所述DHCP服务器连接包括:

所述通信设备控制所述驱动层根据所述I/O控制码获取所述物理网卡的网卡名,并根据所述网卡名确定与所述网卡名对应的驱动过滤模块;

所述通信设备通过所述驱动过滤模块根据所述网卡名和所述第一信息将所述物理网卡的属性设置为断连接,以使所述物理网卡与所述DHCP服务器中断连接;

所述通信设备通过所述驱动过滤模块根据所述网卡名和所述第二信息将所述物理网卡的属性设置为连接,以使所述物理网卡与所述DHCP服务器连接。

结合第一方面至第一方面的第三种可能的实现方式中的任意一种,在第一方面的第四种可能实现的方式中,所述通信设备触发所述物理网卡与所述DHCP服务器进行DHCP报文交互获取所述物理网卡的待切换后的第二IP地址包括:

所述通信设备触发所述物理网卡向所述DHCP服务器发送DHCP请求报文;

所述通信设备通过所述物理网卡接收所述DHCP服务器发送的DHCP响应报文,所述DHCP响应报文包括所述DHCP服务器为所述物理网卡分配的待切换后的所述第二IP地址。

第二方面,提供一种通信设备,包括:

确定单元,用于确定所述通信设备的物理网卡是否需要切换当前的第一IP地址;

控制单元,用于在所述确定单元的确定结果为是时,控制所述物理网卡与动态主机配置协议DHCP服务器中断连接,并控制所述物理网卡与所述DHCP服务器连接,以触发所述物理网卡与所述DHCP服务器进行DHCP报文交互获取所述物理网卡的待切换后的第二IP地址。

结合第二方面,在第二方面的第一种可能实现的方式中,所述控制单元具体用于:

控制所述通信设备的操作系统的应用层向所述操作系统的驱动层发送消息,所述消息包括所述物理网卡的网卡名和指示信息,所述指示信息包括用于指示所述物理网卡与所述DHCP服务器中断连接的第一信息,以及用于指示所述物理网卡与所述DHCP服务器连接的第二信息;

控制所述驱动层获取所述消息中的网卡名和所述指示信息,并根据所述获取子单元获取的网卡名和所述指示信息中的第一信息控制所述物理网卡与所述DHCP服务器中断连接,并根据所述网卡名和所述指示信息中的第二信息控制所述物理网卡与所述DHCP服务器连接。

结合第二方面的第一种可能的实现方式,在第二方面的第二种可能实现的方式中,所述物理网卡的网卡名和所述指示信息以I/O控制码的方式表示。

结合第二方面的第二种可能的实现方式,在第二方面的第三种可能实现的方式中,所述控制单元具体用于:

控制所述驱动层根据所述I/O控制码获取所述物理网卡的网卡名,并根据所述网卡名确定与所述网卡名对应的驱动过滤模块;

通过所述驱动过滤模块根据所述网卡名和所述第一信息将所述物理网卡的属性设置为断连接,以使所述物理网卡与所述DHCP服务器中断连接;

通过所述驱动过滤模块根据所述网卡名和所述第二信息将所述物理网卡的属性设置为连接,以使所述物理网卡与所述DHCP服务器连接。

结合第二方面至第二方面的第三种可能的实现方式中的任意一种,在第二方面的第四种可能实现的方式中,所述控制单元还用于:

触发所述物理网卡向所述DHCP服务器发送DHCP请求报文;

通过所述物理网卡接收所述DHCP服务器发送的DHCP响应报文,所述DHCP响应报文包括所述DHCP服务器为所述物理网卡分配的待切换后的所述第二IP地址。

第三方面,提供一种通信系统,所述通信系统包括动态主机配置协议DHCP服务器,还包括如权利要求6~10所述的通信设备。

本发明实施例提供一种网络协议IP地址的获取方法及通信设备,当物理网卡需要切换当前的第一IP地址时,控制物理网卡与动态主机配置协议DHCP服务器中断连接,而后控制物理网卡与DHCP服务器连接,以触发物理网卡与DHCP服务器进行DHCP报文交互获取物理网卡待切换后的第二IP地址。其中,将物理网卡与DHCP服务器中断连接,可以阻止物理网卡向DHCP服务器发送释放IP地址的DHCP报文,再将物理网卡与DHCP服务器连接后,可以立即进行申请IP地址的操作,从而可以快速获取到切换后的第二IP地址,因而可以避免现有技术中由于调用API函数进行IP地址释放时存在阻塞操作而引起的切换IP地址速度慢的问题。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术中通过调用API函数实现IP地址切换过程中DHCP报文交互的流程图;

图2为本发明实施例提供的一种获取网络协议IP地址的方法流程图;

图3为本发明实施例提供的另一种获取网络协议IP地址的方法流程图;

图4为本发明实施例提供的一种申请IP地址过程中的DHCP报文交互流程图;

图5为本发明实施例提供的一种通信设备结构图;

图6为本发明实施例提供的另一种通信设备结构图;

图7为本发明实施例提供的一种通信系统结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

Microsoft Windows(微软视窗),是微软公司制作和研发的一种桌面操作系统,即Windows操作系统,它是管理和控制计算机(Personal Computer,PC)资源的计算机软件系统或程序集合。Windows操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口,负责计算机的全部软件、硬件资源的管理,控制和协调并发活动,实现信息的存储和保护。

Windows操作系统可以分为应用层和内核层。其中,应用层包括为用户提供应用服务的应用程序Application或应用软件,它可以和用户进行交互,一般具有可视的用户界面。内核层是操作系统最基本的部分,是为应用程序提供对计算机硬件进行安全访问的一部分软件,负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。

驱动层位于内核层中,是内核层中可以使计算机和设备通信的驱动程序,相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备正常工作。

过滤驱动程序是驱动层中的一种驱动程序,过滤驱动程序可以修改已有驱动程序,也可以对数据进行过滤加密等。根据驱动程序所起的作用不同,驱动层还可以包括功能驱动等。

运行Windows操作系统的计算机处理器有两种不同运行模式:用户模式和内核模式。应用层的应用程序在Windows操作系统的用户模式下运行,内核层中的多数驱动程序在内核模式下运行,其中,应用程序通过调用应用层编程接口API函数和操作系统交互,操作系统为应用程序提供相应系统资源。

物理网卡是连接计算机与外界通信网络的网络接口板,又称为通信适配器或网络适配器(Network Adapter)或网络接口卡(Network Interface Card,NIC)。

通信设备例如计算机一般通过接入设备接入网络,在典型的组网环境中,Radius服务器负责通信设备的认证,其中配置了相关接入规则,DHCP负责分配网络IP地址,交换机负责广播域的切换和接入规则的执行,其中一个网段一般为一个广播域。例如,通信设备可以向Radius服务器发送Radius报文以进行认证,Radius服务器检查通信设备的用户信息是否合法,若用户信息合法,则Radius服务器向交换机下发相关接入规则,并通知通信设备认证成功,此时交换机将该通信设备切换至相关接入规则中事先配置的网段。在切换后的网段中,DHCP服务器可以为该通信设备分配IP地址。DHCP服务器可以是一个单独的服务器设备,也可以作为一个组件集成在其它网络设备中。通信设备可以通过DHCP中继代理服务器DHCP Agent或DHCP Proxy与DHCP服务器相连,其中运行DHCP中继代理的相关程序的通信设备即可称为DHCP中继代理服务器。DHCP中继代理服务器负责中转通信设备和DHCP服务器之间的交互信息,例如DHCP报文。

虚拟局域网(Virtual Local Area Network,VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据管理功能来划分。在共享网络中,一个物理的网段就是一个广播域,而在交换网络中,广播域可以是有一组任意选定的第二层网络地址组成的VLAN网段。VLAN网段可以限制广播范围,形成虚拟工作组,还可以用于控制网络中不同部门、不同站点之间的互相访问,从而可以动态管理网络。

本发明实施例提供一种网络协议IP地址的获取方法,参见图2,包括:

201、通信设备在确定物理网卡需要切换当前的第一IP地址时,控制物理网卡与动态主机配置协议DHCP服务器中断连接。

202、通信设备控制物理网卡与DHCP服务器连接,以触发物理网卡与DHCP服务器进行DHCP报文交互获取物理网卡的待切换后的第二IP地址。

本发明实施例提供一种网络协议IP地址的获取方法,当物理网卡需要切换当前的第一IP地址时,控制物理网卡与动态主机配置协议DHCP服务器中断连接,而后控制物理网卡与DHCP服务器连接,以触发物理网卡与DHCP服务器进行DHCP报文交互获取物理网卡待切换后的第二IP地址。其中,将物理网卡与DHCP服务器中断连接,可以阻止物理网卡向DHCP服务器发送释放IP地址的DHCP报文,再将物理网卡与DHCP服务器连接后,可以立即进行申请IP地址的操作,从而可以快速获取到切换后的第二IP地址,因而可以避免现有技术中由于调用API函数进行IP地址释放时存在阻塞操作而引起的切换IP地址速度慢的问题。

本发明实施例提供另一种网络协议IP地址的获取方法,参见图3,其主要步骤可以包括:

301、通信设备在确定物理网卡需要切换当前的第一IP地址时,控制操作系统的应用层向操作系统的驱动层发送消息,消息包括物理网卡的网卡名和指示信息,指示信息包括用于指示物理网卡与DHCP服务器中断连接的第一信息,以及用于指示物理网卡与DHCP服务器连接的第二信息。

302、通信设备控制驱动层获取消息中的网卡名和指示信息,并根据网卡名和指示信息中的第一信息控制物理网卡与DHCP服务器中断连接。

303、通信设备控制驱动层根据网卡名和指示信息中的第二信息控制物理网卡与DHCP服务器连接,以触发物理网卡与DHCP服务器进行DHCP报文交互获取物理网卡待切换后的第二IP地址。

其中,这里的通信设备可以是计算机等网络通信设备,通信设备中的物理网卡工作在链路层,是网络中连接通信设备和传输媒介的接口,可以实现与网络传输媒介之间的物理连接和电信号匹配,一台通信设备上可以有多个物理网卡,网卡名与物理网卡是一一对应的。IP地址是IP协议提供的一种统一格式的逻辑地址,DHCP服务器可以为网络中通信设备的每一个物理网卡动态分配一个IP地址,从而将该物理网卡所在的通信设备连接到网络,实现与网络的通信。

需要说明的是,这里的DHCP服务器并不限定于单独的服务器设备,也可以集成于其它网络设备上,例如可以将DHCP服务器集成在交换机上,本发明实施例不做限定。

为了满足通信过程中的不同应用需求,例如,为了满足应用层中应用程序的服务需求,通信设备可能需要对某一物理网卡当前分配的第一IP地址进行切换。示例性的,若通信设备一通过交换机与DHCP服务器相连,同时通过交换机与Radius服务器相连,且Radius服务器事先配置有以下相关接入规则:假设存在VLAN广播域B,其对应的DHCP服务器一仅为VLAN广播域B中的通信设备分配B网段中的IP地址;同理,假设存在VLAN广播域A,其对应的DHCP服务器二仅为VLAN广播域A中的通信设备分配A网段的IP地址。如果通信设备一上的某一物理网卡认证前处于A网段,当通信设备一需要访问B网段的资源时,通信设备一首先需要通过交换机向Radius服务器发送认证请求消息,Radius服务器接收到该认证请求消息后,查询信息库中的用户信息是否合法,若用户信息合法,则向交换机发送一个认证成功消息,以触发交换机根据Radius服务器事先配置的相关接入规则将通信设备一由当前的VLAN广播域A切换到VLAN广播域B,即由A网段切换到B网段,并将该认证成功消息转发给通信设备一,以便通知通信设备一发送DHCP请求,向DHCP服务器申请获取B网段的IP地址,从而访问B网段的资源。

其中,由于Windows操作系统是基于消息的操作系统,而操作系统执行程序的进程是通过多线程同时执行来实现的,多线程同时处理可以提高程序的处理性能,而Windows操作系统中线程与线程之间通过消息进行信息交互,则Windows操作系统中的应用层内部、驱动层内部,以及应用层与驱动层之间是通过传递消息来保证正常工作的。因而,在通信设备一接收到Radius服务器发送的认证成功消息之后,应用程序中的相应线程可以对该认证成功消息进行消息处理,并将处理后得到的切换IP地址的指令传递给其它线程,以便于其它线程进行切换IP地址的操作。

可选地,应用程序中的线程得到上述切换IP地址的指令后,在步骤301中,物理网卡的网卡名和指示信息可以以I/O控制码的方式表示;其中,指示信息包括用于指示物理网卡与DHCP服务器中断连接的第一信息,以及用于指示物理网卡与DHCP服务器连接的第二信息。

也就是说,通信设备一的应用层可以通过发送I/O控制码的方式向驱动层发送物理网卡的网卡名和指示信息。这里的I/O控制码即Ioctl控制码,发送Ioctl控制码是应用层与驱动层之间的一种通信方式,通过在宏中定义设备类型、功能码、缓冲方式、存取权限等就可以创建一个Ioctl控制码,通过Ioctl控制码中不同的功能码可以区分不同的Ioctl功能函数,从而提供不同的功能。Ioctl功能函数是驱动程序中对通信设备中连接用户模式和内核模式的I/O通道进行管理的函数。

具体的,当应用程序中的线程接收到切换IP地址的指令后,应用程序可以在一次发送过程中向操作系统的驱动层发送两个I/O控制码,并在两个I/O控制码中分别设置网卡名和指示信息。其中,第一I/O控制码包括待切换IP地址的物理网卡的网卡名和第一信息,第一信息用于指示物理网卡与DHCP服务器一中断连接;第二I/O控制码包括待切换IP地址的物理网卡的网卡名和第二信息,第二信息用于指示物理网卡与DHCP服务器一连接。

进一步的,在应用层向驱动层发送消息后,在步骤302中,通信设备控制驱动层根据I/O控制码获取物理网卡的网卡名,并根据网卡名确定与网卡名对应的驱动过滤模块,而后通信设备通过驱动过滤模块根据网卡名和第一信息将物理网卡的属性设置为断连接,以使物理网卡与DHCP服务器中断连接。

具体的,在通信设备一的应用层向驱动层发送两个I/O控制码后,驱动层获取I/O控制码中待切换IP地址的物理网卡的网卡名,并根据网卡名确定对应的驱动过滤模块。其中,与网卡名对应的驱动过滤模块挂载在驱动程序之上,可以实现对应网卡的信息资源规划(Information Resource Planning,IRP)拦截、功能扩展、数据加密等功能。

在通信设备一不需要进行IP地址切换时,物理网卡处于正常工作时的开启状态,物理网卡的属性为连接,且物理网卡与网络连接的传输媒介连通,即网卡链路状态属性为连接,此时物理网卡与DHCP服务器一连接。在IP地址切换时,在确定与网卡名对应的驱动过滤模块后,可以根据第一I/O控制码中代表断连接的第一信息将物理网卡的属性由正常工作时的连接设置为断连接,则物理网卡处于关闭状态,不再为通信设备一提供相应的连接功能,且物理网卡与网络连接的传输媒介断开,即网卡链路状态属性由正常工作时的连接变为断连接,此时物理网卡与网络中的DHCP服务器一中断连接,从而阻断了通信设备一向DHCP服务器一发送报文,因而不会出现现有技术中通过API函数进行IP地址释放时的DHCP报文交互过程。

再进一步的,在通信设备将物理网卡的属性设置为断连接后,在步骤303中,可以通过驱动过滤模块根据网卡名和第二信息将物理网卡的属性设置为连接,以使物理网卡与DHCP服务器连接,以触发物理网卡与DHCP服务器一进行DHCP报文交互获取物理网卡待切换后的第二IP地址。

具体的,通信设备一通过驱动过滤模块根据网卡名和指示信息中的第一信息将物理网卡的属性设置为断连接后,可以根据第二I/O控制码中代表连接的第二信息,将物理网卡的属性由之前设置的断连接重新设置为连接,则物理网卡处于开启状态,可以为通信设备一提供相应的连接功能,且物理网卡与网络连接的传输媒介处于连通状态,即网卡链路状态属性也由之前设置的断连接重新变为连接,此时物理网卡与网络中的DHCP服务器一连接。其中,将物理网卡与网络连接的传输媒介连通,并将物理网卡开启,可以立即触发物理网卡进行获取IP地址的操作,即可以立即触发通信设备一的物理网卡与DHCP服务器一进行DHCP报文交互获取物理网卡待切换后的第二IP地址。

对比现有技术,现有技术中从发送DHCP Release报文释放第一IP地址,到发送DHCP Discover报文从而开始进入申请IP地址流程之间,由于存在阻塞操作需要等待12s左右,因而从开始进行切换第一IP地址到获取到新的第二IP地址的整个切换流程至少需要12s的时间。在本发明实施例中,从将物理网卡的属性设置为断连接,到将物理网卡的属性设置为连接,从而发送DHCP Request报文开始进入申请IP地址流程,中间几乎可以没有延时(为了防止抖动也可以设置500ms的延时),而从开始进行切换第一IP地址到获取到新的第二IP地址的整个切换流程大概需要5s~6s的时间,一般情况下不超过10s。可见,在切换IP地址的过程中,本发明实施例提供的获取IP地址的方法比现有技术中的获取速度快,获取所需的时间短,可以使得通信设备一由于切换IP地址导致的断网时间短,从而提高了用户的使用性能。可见,本发明实施例提供的获取IP地址的方法,可以避免现有技术中由于调用API函数进行IP地址释放时存在阻塞操作而引起的获取IP地址的速度慢的问题。

可选地,上述过程中,物理网卡与DHCP服务器进行DHCP报文交互获取物理网卡的待切换后的第二IP地址可以包括:通信设备触发物理网卡向DHCP服务器发送DHCP请求报文,而后通信设备通过物理网卡接收DHCP服务器发送的DHCP响应报文,其中,DHCP响应报文包括DHCP服务器为物理网卡分配的待切换后的第二IP地址。

具体的,物理网卡向DHCP服务器一发送DHCP请求报文,并接收DHCP服务器一发送的DHCP响应报文,即物理网卡通过与DHCP服务器一进行DHCP报文交互,申请新的IP地址。其中,物理网卡内部包括处理器和存储器,通信设备一的物理网卡可以将DHCP报文组装成帧发送给网络中的DHCP服务器一,DHCP服务器一中的物理网卡接收通信设备一物理网卡发送的帧,并将DHCP服务器一返回的DHCP报文组装成帧发送给通信设备一。

示例性的,若通信设备一原VLAN网段A中的第一IP地址为192.168.3.254,且要切换为VLAN网段B中的第二IP地址,而根据Radius服务器的配置规则,给通信设备一分配VLAN网段B中的IP地址的是VLAN网段B中的DHCP服务器一,则参见图4,申请IP地址时物理网卡与DHCP服务器一的报文交互流程可以包括以下步骤:

1)通信设备一向DHCP服务器一发送第一DHCP Request报文;

2)通信设备一接收DHCP服务器一发送的DHCP NAK响应报文;

3)通信设备一向DHCP服务器一发送DHCP Discover报文;

4)通信设备一接收DHCP服务器一发送的DHCP Offer响应报文;

5)通信设备一向DHCP服务器一发送第二DHCP Request报文;

6)通信设备一接收DHCP服务器一发送的第一DHCP ACK响应报文。

示例性的,在执行上述报文交互步骤过程可以为,由于通信设备一要将原来的第一IP地址192.168.3.254切换为第二IP地址,在物理网卡的属性重新设置为连接且处于开启状态后,通信设备一向VLAN网段B中的DHCP服务器一发送包含原第一IP地址的第一DHCP Request报文(第一请求报文),请求继续获取第一IP地址192.168.3.254。根据Radius服务器中配置的相关规则,在进行IP地址切换之前,通信设备一的原VLAN网段A中的第一IP地址是由VLAN网段A中的DHCP服务器二分配的,VLAN网段B中的DHCP服务器一不能分配该VLAN网段A中的第一IP地址,因而DHCP服务器一向通信设备一发送一个DHCP NAK(Negative Acknowledgement,非确认报文)响应报文,通知通信设备一该第一IP地址无法分配,通信设备一进而向DHCP服务器一发送一个DHCP Discover报文(发现报文),请求租用一个可分配的VLAN网段B中的IP地址,当DHCP服务器一能够给通信设备一分配VLAN网段B中可用IP地址时,向通信设备一发送一个DHCP Offer响应报文(提供报文),通信设备一接收到该DHCP Offer响应报文后向DHCP服务器一发送第二DHCP Request报文(第二请求报文)以请求使用该IP地址。

而后,DHCP服务器一向通信设备一发送第一DHCP ACK(Acknowledgement)响应报文(第一确认报文),通知通信设备一已经接收到通信设备一发送的第二DHCP Request报文(第二请求报文)。此时通信设备一已基本完成了获取第二IP地址的过程,可以在网络中进行通信。此外,通信设备一在已经获取到第二IP地址后,还可以向DHCP服务器一发送DHCP Inform报文(信息报文)以获取一些其它网络配置信息,DHCP服务器一便将查询到的相关配置信息通过第二DHCP ACK响应报文(第二确认报文)发送给通信设备一。

需要说明的是,本发明实施例中是以应用层向驱动层一次发送两个I/O控制码为例进行说明的,其中的第一I/O控制码中包括表示断连接的第一信息,第二I/O控制码中包括表示连接的第二信息,以便于根据指示信息先将物理网卡的属性设置为断连接,再设置为连接。当然应用层也可以在第一次发送一个包括表示断连接的第一I/O控制码,以便于根据第一I/O控制码先将物理网卡的属性设置为断连接;在第二次发送一个包括表示连接的第二I/O控制码,以便于根据该第二I/O控制码再将物理网卡的属性设置为连接。本发明实施例对具体实施方式不做限定。

需要说明的是,通信设备与DHCP服务器之间可以通过DHCP中继代理服务器进行连接,也可以不通过DHCP中继代理服务器进行连接,本发明实施例不做限定。

另外,本发明实施例是以VLAN网段间的IP地址切换为应用场景对IP地址的获取方法进行说明的,当然该方法还可以应用于其它场景时的IP地址切换,本发明实施例不做限定。

本发明实施例提供一种网络协议IP地址的获取方法,当物理网卡需要切换当前的第一IP地址时,通过控制操作系统的应用层向驱动层发送消息,并根据消息中的网卡名和指示信息,控制物理网卡与DHCP服务器中断连接,而后控制物理网卡与DHCP服务器连接,从而触发物理网卡与DHCP服务器交互DHCP报文以获取切换后的第二IP地址。其中,将物理网卡与DHCP服务器断连接,可以阻止物理网卡向DHCP服务器发送释放IP地址的DHCP报文,再将物理网卡与DHCP服务器连接后,可以立即进行申请IP地址的操作,从而可以快速获取到切换后的第二IP地址,因而可以避免现有技术中由于调用API函数进行IP地址释放时存在阻塞操作而引起的切换IP地址速度慢的问题。

本发明实施例提供一种通信设备500,参见图5,可以包括:

确定单元501,可以用于确定通信设备500的物理网卡是否需要切换当前的第一IP地址。

控制单元502,可以用于在确定单元501的确定结果为是时,控制物理网卡与动态主机配置协议DHCP服务器中断连接,并控制物理网卡与DHCP服务器连接,以触发物理网卡与DHCP服务器进行DHCP报文交互获取物理网卡的待切换后的第二IP地址。

其中,物理网卡工作在链路层,是网络中连接通信设备500和传输媒介的接口,可以实现与网络传输媒介之间的物理连接和电信号匹配,一台通信设备500上可以有多个物理网卡,网卡名与物理网卡是一一对应的。IP地址是IP协议提供的一种统一格式的逻辑地址,DHCP服务器可以为网络中通信设备500的每一个网卡动态分配一个IP地址,从而将该网卡所在的通信设备500连接到网络,实现与网络的通信。为了满足通信过程中的不同应用需求,例如,为了满足应用层中应用程序的服务需求,通信设备500可能需要对某一物理网卡当前分配的第一IP地址进行切换。

需要说明的是,这里的DHCP服务器并不限定于单独的服务器设备,也可以集成于其它网络设备上,例如可以将DHCP服务器集成在交换机上,本发明实施例不做限定。

可选的,控制单元502可以具体用于:

控制通信设备500的操作系统的应用层向操作系统的驱动层发送消息,消息包括物理网卡的网卡名和指示信息,指示信息包括用于指示物理网卡与DHCP服务器中断连接的第一信息,以及用于指示物理网卡与DHCP服务器连接的第二信息;

控制驱动层获取消息中的网卡名和指示信息,并根据获取子单元获取的网卡名和指示信息中的第一信息控制物理网卡与DHCP服务器中断连接,并根据网卡名和指示信息中的第二信息控制物理网卡与DHCP服务器连接。

其中,在进行IP地址切换时,中断物理网卡与DHCP服务器的连接,可以阻断通信设备500的物理网卡向DHCP服务器发送DHCP报文,即不会进行现有技术中通过API函数进行IP地址释放时的DHCP报文交互过程。而在通信设备500中断物理网卡与DHCP服务器的连接,阻断物理网卡向DHCP服务器发送DHCP报文后,再连接物理网卡与DHCP服务器,可以直接触发通信设备500向DHCP服务器发送申请IP地址的DHCP报文。即在IP地址的切换过程中,通信设备500没有像现有技术那样发送DHCP Release报文后再进入申请IP地址的流程,而是不发送DHCP Release报文直接进入了申请新的IP地址即物理网卡待切换后的第二IP地址的申请流程。

可选地,物理网卡的网卡名和指示信息可以以I/O控制码的方式表示。

可选地,控制单元502可以具体用于:

控制驱动层根据I/O控制码获取物理网卡的网卡名,并根据网卡名确定与网卡名对应的驱动过滤模块;

通过驱动过滤模块根据网卡名和第一信息将物理网卡的属性设置为断连接,以使物理网卡与DHCP服务器中断连接;

通过驱动过滤模块根据网卡名和第二信息将物理网卡的属性设置为连接,以使物理网卡与DHCP服务器连接。

可选地,控制单元502还可以用于:

触发物理网卡向DHCP服务器发送DHCP请求报文;

通过物理网卡接收DHCP服务器发送的DHCP响应报文,DHCP响应报文包括DHCP服务器为物理网卡分配的待切换后的第二IP地址。

本发明实施例提供一种通信设备500,当通信设备500的物理网卡需要切换当前的第一IP地址时,通过控制操作系统的应用层向驱动层发送消息,并根据消息中的网卡名和指示信息,控制物理网卡与DHCP服务器中断连接,而后控制物理网卡与DHCP服务器连接,从而触发物理网卡与DHCP服务器交互DHCP报文以获取切换后的第二IP地址。其中,将物理网卡与DHCP服务器断连接,可以阻止物理网卡向DHCP服务器发送释放IP地址的DHCP报文,再将物理网卡与DHCP服务器连接后,可以立即进行申请IP地址的操作,从而可以快速获取到切换后的第二IP地址,因而可以避免现有技术中由于调用API函数进行IP地址释放时存在阻塞操作而引起的切换IP地址速度慢的问题。

本发明实施例还提供一种通信设备600,如图6所示,该通信设备600可以包括:总线603;以及连接到总线603的处理器601、存储器602,其中该存储器602用于存储指令和数据;该处理器601执行该指令用于在确定物理网卡需要切换当前的第一IP地址时,控制物理网卡与动态主机配置协议DHCP服务器中断连接;该处理器601执行该指令还用于控制物理网卡与DHCP服务器连接,以触发物理网卡与DHCP服务器进行DHCP报文交互获取物理网卡的待切换后的第二IP地址。

在本发明实施例中,可选地,该处理器601执行该指令用于控制物理网卡与动态主机配置协议DHCP服务器中断连接,控制物理网卡与DHCP服务器连接可以包括:

控制操作系统的应用层向操作系统的驱动层发送消息,消息包括物理网卡的网卡名和指示信息,指示信息包括用于指示物理网卡与DHCP服务器中断连接的第一信息,以及用于指示物理网卡与DHCP服务器连接的第二信息;

控制驱动层获取消息中的网卡名和指示信息,并根据网卡名和指示信息中的第一信息控制物理网卡与DHCP服务器中断连接;

控制驱动层根据网卡名和指示信息中的第二信息控制物理网卡与DHCP服务器连接。

在本发明实施例中,可选地,物理网卡的网卡名和指示信息以I/O控制码的方式表示。

在本发明实施例中,可选地,该处理器601执行该指令用于控制驱动层获取消息中的网卡名和指示信息,并根据网卡名和指示信息中的第一信息控制物理网卡与DHCP服务器中断连接,根据网卡名和指示信息中的第二信息控制物理网卡与DHCP服务器连接可以包括:

控制驱动层根据I/O控制码获取物理网卡的网卡名,并根据网卡名确定与网卡名对应的驱动过滤模块;

通过驱动过滤模块根据网卡名和第一信息将物理网卡的属性设置为断连接,以使物理网卡与DHCP服务器中断连接;

通过驱动过滤模块根据网卡名和第二信息将物理网卡的属性设置为连接,以使物理网卡与DHCP服务器连接。

在本发明实施例中,可选地,该处理器601执行该指令用于触发物理网卡与DHCP服务器进行DHCP报文交互获取物理网卡的待切换后的第二IP地址可以包括:

触发物理网卡向DHCP服务器发送DHCP请求报文;

通过物理网卡接收DHCP服务器发送的DHCP响应报文,DHCP响应报文包括DHCP服务器为物理网卡分配的待切换后的第二IP地址。

此外,通信设备600与DHCP服务器之间可以通过DHCP中继代理服务器进行连接,也可以不通过DHCP中继代理服务器进行连接,本发明实施例不做限定。

本发明实施例提供一种通信设备600,当通信设备600的物理网卡需要切换当前的第一IP地址时,控制物理网卡与动态主机配置协议DHCP服务器中断连接,而后控制物理网卡与DHCP服务器连接,以触发物理网卡与DHCP服务器进行DHCP报文交互获取物理网卡待切换后的第二IP地址。其中,将物理网卡与DHCP服务器断连接,可以阻止物理网卡向DHCP服务器发送释放IP地址的DHCP报文,再将物理网卡与DHCP服务器连接后,可以立即进行申请IP地址的操作,从而可以快速获取到切换后的第二IP地址,因而可以避免现有技术中由于调用API函数进行IP地址释放时存在阻塞操作而引起的切换IP地址速度慢的问题。

本发明实施例还提供一种通信系统1,如图7所示,包括DHCP服务器,还包括如图5、图6中所阐述的通信设备,该通信设备的具体实现方式可以参见上述实施例,此处不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的方法和通信设备,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,在本发明各个实施例中的设备中,各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。且上述的各单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read Only Memory,缩写:ROM)、随机存取存储器(英文:Random Access Memory,缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1