一种路由管理方法及装置与流程

文档序号:16512742发布日期:2019-01-05 09:26阅读:139来源:国知局
一种路由管理方法及装置与流程

本申请涉及但不限于通信技术领域,尤指一种路由管理方法及装置。



背景技术:

在主机(或虚拟机)数量特别多,且这些主机(或虚拟机)又需要配置网络协议(ip,internetprotocol)地址、默认网关、域名系统(dns,domainnamesystem)等信息时,通常会为其配置动态主机配置协议(dhcp,dynamichostconfigurationprotocol)服务器,通过dhcp服务器将上述信息自动配置到主机(或虚拟机)中。



技术实现要素:

本申请实施例提供了一种路由管理方法及装置,可以实现主机或虚拟机对多个网络的访问需求。

一方面,本申请实施例提供一种路由管理方法,包括:主机或虚拟机向第一网络的dhcp服务器发送dhcp发现报文后,接收所述第一网络的dhcp服务器发送的携带默认网关信息的dhcp响应报文;所述主机或虚拟机向至少一个第二网络的dhcp服务器发送dhcp发现报文后,接收所述第二网络的dhcp服务器发送的携带静态路由信息的dhcp响应报文;所述主机或虚拟机根据所述默认网关信息以及所述静态路由信息,更新路由表。

另一方面,本申请实施例提供一种路由管理方法,包括:dhcp服务器接收dhcp发现报文;当所述dhcp服务器配置有默认网关,所述dhcp服务器发送携带默认网关信息的dhcp响应报文;当所述dhcp服务器没有配置默认网关,所述dhcp服务器发送携带静态路由信息的dhcp响应报文。

再一方面,本申请实施例提供一种路由管理装置,包括:第一传输模块,适于向第一网络的dhcp服务器发送dhcp发现报文后,接收所述第一网络的dhcp服务器发送的携带默认网关信息的dhcp响应报文;第二传输模块,适于向至少一个第二网络的dhcp服务器发送dhcp发现报文后,接收所述第二网络的dhcp服务器发送的携带静态路由信息的dhcp响应报文;处理模块,适于根据所述默认网关信息以及所述静态路由信息,更新路由表。

再一方面,本申请实施例提供一种网络设备,包括:存储器和处理器,所述存储器用于存储路由管理程序,所述路由管理程序被所述处理器执行时实现如上所述的路由管理方法的步骤。

再一方面,本申请实施例提供一种计算机可读介质,存储有路由管理程序,所述路由管理程序被处理器执行时实现如上所述的路由管理方法的步骤。

在本申请实施例中,主机或虚拟机向第一网络的dhcp服务器发送dhcp发现报文后,接收第一网络的dhcp服务器发送的携带默认网关信息的dhcp响应报文;主机或虚拟机向至少一个第二网络的dhcp服务器发送dhcp发现报文后,接收第二网络的dhcp服务器发送的携带静态路由信息的dhcp响应报文;主机或虚拟机根据默认网关信息以及静态路由信息,更新路由表。通过本申请实施例可以保证主机或虚拟机加入多个网络后,正常连接到多个网络。

本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。

图1为本申请实施例提供的一种路由管理方法的流程图;

图2为本申请实施例提供的一种路由管理装置的示意图;

图3为本申请实施例提供的另一种路由管理方法的流程图;

图4为本申请实施例提供的另一种路由管理装置的示意图;

图5为本申请实施例提供的路由管理方法的应用示例图;

图6为本申请实施例提供的网络设备的示意图。

具体实施方式

下面将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

dhcp的大致过程如下:主机(或虚拟机)广播dhcp发现(discovery)报文,请求dhcp服务器为其分配一个ip地址;收到dhcpdiscovery报文的dhcp服务器会回应一个dhcp响应(offer)报文,表示本服务器可以提供一个ip地址,同时,报文中还有此ip地址相关的掩码、网关、dns、路由等信息;主机(或虚拟机)收到dhcpoffer报文后,会回应一个dhcp请求(request)报文,向dhcp服务器请求分配它收到的dhcpoffer报文中的ip地址;dhcp服务器收到dhcprequest报文后,会给主机(或虚拟机)回应一个dhcp确认(ack)报文进行确认;之后,主机(或虚拟机)可以使用dhcp分配的ip地址。

当主机(或虚拟机)因业务需要,有多个网卡,而这些网卡分别加入了不同的虚拟局域网(vlan,virtuallocalareanetwork)(这是一种常见不同业务类型网络隔离开的设置,加入不同vlan的网卡可以被用作管理网、业务网、数据网等),由于这些网络相互之间不是同一个vlan,也不是同一个网段,这就有可能会导致每个网卡发起dhcp后,都会得到它所连接网络的ip地址,同时被设置的还有默认网关、dns等信息。然而,每个网卡从发起dhcp到dhcp过程结束的时间并不固定,也就是哪个网卡先拿到ip地址是随机的,即主机(或虚拟机)的默认网关会因为各个网卡的dhcp先后顺序不同而不同。这样就会导致加入同样的多个vlan的主机(或虚拟机)的默认网关可能是不一样的,进而导致主机(或虚拟机)进行路由访问时存在访问不到网络的问题。

比如,加入同样的多个vlan的两个主机的默认网关可能为以下第一种情况:

或者,也有可能为以下第二种情况:

其中,destination表示目的地,gateway表示网关,genmask表示网络掩码,flags为标志,metric表示跳数,ref表示路由项引用次数,use表示此路由项被路由软件查找的次数,iface表示输出接口。

假如访问100.5.4.0/24这个网段是要通过eth1这个网卡交给100.7.47.254这个网关进行转发,然而在上述第二种情况下,根据路由表,却交给了eth0进行转发,导致无法访问到100.5.4.0/24。

本申请实施例提供一种路由管理方法及装置,可以使得加入多个vlan网络的主机(或虚拟机),在通过dhcp去获取ip地址时,避免默认网关因为不同网卡的dhcp先后顺序不同而造成的不确定性,以保证主机(或虚拟机)加入各个网络后,到各个网络之间的连接正常。

图1为本申请实施例提供的路由管理方法的流程图。如图1所示,本实施例提供的路由管理方法,包括以下步骤:

步骤101、主机或虚拟机向第一网络的dhcp服务器发送dhcp发现报文后,接收第一网络的dhcp服务器发送的携带默认网关信息的dhcp响应报文;

步骤102、主机或虚拟机向至少一个第二网络的dhcp服务器发送dhcp发现报文后,接收第二网络的dhcp服务器发送的携带静态路由信息的dhcp响应报文;

步骤103、主机或虚拟机根据默认网关信息以及静态路由信息,更新路由表。

需要说明的是,本申请对于步骤101和步骤102的先后顺序并不限定。

在一示例性实施方式中,静态路由信息可以通过第二网络的dhcp服务器发送的dhcp响应报文的option33静态路由字段携带。

本实施例中,第一网络可以为主机或虚拟机要加入的常用业务网络,第二网络可以为主机或虚拟机要加入的其他功能性网络,比如,管理网或数据网等。

一般情况下,多个网卡加入不同的vlan网络时,总会设置一个默认网关。为了不受因不同网卡的dhcp过程时间问题对默认网关的先后顺序带来影响,可以将主机或虚拟机要加入的常用业务网络的dhcp服务器设置为正常状态,即常用业务网络的dhcp服务器可以下发默认网关信息;将主机或虚拟机要加入的其他功能性网络(比如,管理网或数据网)的dhcp服务器的默认网关设置为空,即其他功能性网络的dhcp服务器可以下发不含有默认网关信息的信息,使得主机或虚拟机接收到dhcp服务器返回的dhcp响应报文后,不会在路由表中设置默认网关;并且,其他功能性网络的dhcp服务器可以设置静态路由功能,使得主机或虚拟机接收到dhcp响应报文后,可以生成一条静态路由,从而确保主机(或虚拟机)网络连通性。

比如,针对上述第二种情况,在本实施例中,主机或虚拟机接收到携带静态路由信息的dhcp响应报文之后,可以更新路由表如下:

在本实施例中,当主机或虚拟机访问100.5.4.0/24这个网段时,就会通过eth1这个网卡,交给100.7.47.254这个网关进行转发。报文转发由原来由于默认网关不确定造成网络连通性不确定,变为主机或虚拟机只可能有一种默认网关,从而确保主机或虚拟机网络连通性没有问题。

图2为本申请实施例提供的一种路由管理装置的示意图。如图2所示,本实施例提供的路由管理装置,比如可以应用于主机,包括:第一传输模块201、第二传输模块202以及处理模块203。

其中,第一传输模块201,适于向第一网络的dhcp服务器发送dhcp请求报文后,接收第一网络的dhcp服务器发送的携带默认网关信息的dhcp响应报文;第二传输模块202,适于向至少一个第二网络的dhcp服务器发送dhcp请求报文后,接收第二网络的dhcp服务器发送的携带静态路由信息的dhcp响应报文;处理模块203,适于根据默认网关信息以及静态路由信息,更新路由表。

在一示例性实施方式中,静态路由信息可以通过第二网络的dhcp服务器发送的dhcp响应报文的option33静态路由字段携带。

关于本实施例提供的路由管理装置的相关说明可以参照上述方法实施例的描述,故于此不再赘述。

图3为本申请实施例提供的另一种路由管理方法的流程图。如图3所示,本实施例提供的路由管理方法,包括:

步骤301、dhcp服务器接收dhcp发现报文;

步骤302、当dhcp服务器配置有默认网关,dhcp服务器发送携带默认网关信息的dhcp响应报文;

步骤303、当dhcp服务器没有配置默认网关,dhcp服务器发送携带静态路由信息的dhcp响应报文。

在一示例性实施方式中,静态路由信息可以通过dhcp响应报文的option33静态路由字段携带。

比如,当dhcp服务器属于给主机或虚拟机提供常用业务的网络,则dhcp服务器可以配置有默认网关;当dhcp服务器属于给主机或虚拟机提供其他功能性服务的网络,则dhcp服务器的默认网关字段可以为空,并设置静态路由功能。

比如,常用业务网络的dhcp服务器可以设置为正常状态,当主机(或虚拟机)请求分配ip地址时,dhcp服务器可以将ip地址、子网掩码、网关等信息一起下发给主机(或虚拟机)。其他功能性的网络(例如管理网或者数据网)的dhcp服务器的默认网关可以设置为空,当主机(或虚拟机)请求分配ip地址时,dhcp服务器可以将不含有网关信息的ip地址、子网掩码等信息一起下发给主机(或虚拟机);当主机(或虚拟机)收到报文时,不会设置其默认网关。其他功能性的网络的dhcp服务器可以设置静态路由功能,dhcp服务器的dhcp报文的options33静态路由字段中可以携带静态路由信息。

图4为本申请实施例提供的另一种路由管理装置的示意图。如图4所示,本实施例提供的路由管理装置,比如应用于dhcp服务器,可以包括:接收模块401和发送模块402。

其中,接收模块401适于接收dhcp发现报文;发送模块402适于当dhcp服务器配置有默认网关,发送携带默认网关信息的dhcp响应报文;当dhcp服务器没有配置默认网关,发送携带静态路由信息的dhcp响应报文。

关于本实施例提供的路由管理装置的相关说明可以参照图3对应的方法实施例的描述,故于此不再赘述。

图5为本申请实施例提供的路由管理方法的应用示例图。如图5所示,一台主机上有三个网卡(nic1、nic2及nic3),主机的三个网卡分别与交换机的三个端口(端口1、端口2、端口3)相连,实现与dhcp服务器之间的数据交互。

在本示例性实施例中,主机的每个网卡分别加入到不同的vlan,不同vlan相互隔离且网段不同。其中,针对不同网段的dhcp服务器,可以仅给其中一个dhcp服务器设置默认网关字段;其余dhcp服务器的默认网关字段设置为空,且设置这些dhcp服务器的静态路由功能。其中,当需要通过非默认网关连通的网络有多个时,需要给dhcp服务器设置多个静态路由信息。

比如,本示例中,主机通过dhcp过程获取ip地址后,可以自动配置如下的路由表:

其中,加粗部分为通过接收到的dhcp响应报文中携带的静态路由信息配置的。

本实施例通过设置一个网络的dhcp服务器的默认网关字段,禁止其他网络的dhcp服务器的默认网关字段,并设置其他网络的dhcp服务器的dhcp报文的option33静态路由字段,实现主机(或虚拟机)对各个网络的访问需求。

图6为本申请实施例提供的网络设备的示意图。如图6所示,本实施例提供的网络设备600,包括:存储器601和处理器602,存储器601适于存储路由管理程序,该路由管理程序被处理器602执行时实现上述实施例提供的路由管理方法的步骤,比如图1所示的步骤。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的示意图,并不构成对本申请方案所应用于其上的网络设备600的限定,网络设备600可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,处理器602可以包括但不限于微处理器(mcu,microcontrollerunit)或可编程逻辑器件(fpga,fieldprogrammablegatearray)等的处理装置。存储器601可用于存储应用软件的软件程序以及模块,如本实施例中的路由管理方法对应的程序指令或模块,处理器602通过运行存储在存储器601内的软件程序以及模块,从而执行各种功能应用以及数据处理,比如实现本实施例提供的路由管理方法。存储器601可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些示例中,存储器601可包括相对于处理器602远程设置的存储器,这些远程存储器可以通过网络连接至网络设备600。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

此外,本申请实施例还提供一种计算机可读介质,存储有路由管理程序,该路由管理程序被处理器执行时实现上述实施例提供的路由管理方法的步骤,比如,图1所示的步骤。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

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