地址分配方法及系统与流程

文档序号:17148141发布日期:2019-03-19 23:10阅读:259来源:国知局
地址分配方法及系统与流程

本发明涉及数据网络通信领域,尤其是涉及到地址分配方法及系统。



背景技术:

传统宽带接入服务器(bras)主要完成两方面功能,一是网络承载功能:负责终结用户的以太网上运行点对点协议(point-to-pointprotocoloverethernet,简称pppoe)用于在以太网上传送ppp会话,可实现连接、汇聚用户的流量功能;二是控制实现功能:与认证系统、计费系统和客户管理系统及服务策略控制系统相配合实现用户接入的认证、计费和管理功能。

随着网络虚拟化的日益兴起,转发和控制面分离已成为当今主流,在转控分离场景下,控制面做资源的集中管理,地址池资源是首要之一,对地址池集中管理,相对于传统的分布式地址池配置,能够很大程度提高地址利用率。

然而,地址池集中管理后,所有用户都通过转发设备都向该控制面获取地址,导致地址分配到转发器比较离散,如果转发器上会对外通告大量的离散路由,引起核心路由器cr路由震荡。

针对相关技术中转发设备对外通告路由过多的问题,现有技术还未提出有效的解决方案。



技术实现要素:

本发明实施例提供了地址分配方法及系统,解决了相关技术中转发设备对外通告路由过多的问题。

根据本发明实施例的一个方面,提供一种地址通告方法,包括:接收用户通过转发设备上报的地址请求报文;从该转发设备获取的ip地址段中为该用户分配ip地址,其中,该ip地址段用于为接入该转发设备的用户提供ip地址资源。

进一步,在从该转发设备获取的ip地址段中为该用户分配ip地址之前,该方法还包括:在该转发设备未获取ip地址段,或该转发设备获取的ip地址段中无可分配ip地址的情况下,为该转发设备分配ip地址段。

进一步,该为该转发设备分配ip地址段包括:建立该转发设备自身的ip地址与转发设备id间的映射关系;根据该转发设备id为该转发设备分配ip地址段。

进一步,该为该转发设备分配ip地址段包括:为分配的ip地址段添加该转发设备id。

进一步,在为该转发设备分配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地址段中为该用户分配ip地址,其中,该ip地址段用于为接入该转发设备端口的用户提供ip地址资源。

进一步,该转发设备包括宽带远程接入服务器bras,宽带网络网关bng,宽带业务网关bsg,业务路由器sr,宽带接入服务器bas,开放流逻辑交换机ofls、开放流交换机ofs,以及无线接入控制器ac。

通过本发明,采用控制器为转发设备分配连续的ip地址段以供通过该转发设备接入的用户占用的技术方案,解决了相关技术中转发设备对外通告路由过多的问题,降低转发设备对外通告路由的数量。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的地址分配方法的流程图;

图2是根据本发明实施例的地址分配系统的结构框图一;

图3是根据本发明实施例的地址分配系统的结构框图二;

图4是根据本发明优选实施例的上线用户报文传输系统的组网图一;

图5是根据本发明优选实施例的地址分配方法的流程图;

图6是根据本发明优选实施例的上线用户报文传输系统的组网图二。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

在本实施例中提供了一种地址分配方法,图1是根据本发明实施例的的流程图一,如图1所示,该流程包括如下步骤:

步骤s102,接收用户通过转发设备上报的地址请求报文;

步骤s104,从该转发设备获取的ip地址段中为该用户分配ip地址,其中,该ip地址段用于为接入该转发设备的用户提供ip地址资源。

在转发设备未形成转发池的传统场景中,可选地,在该转发设备未获取ip地址段,或该转发设备获取的ip地址段中无可分配ip地址的情况下,为该转发设备分配ip地址段。该转发设备根据获取到的ip地址段为用户分配ip地址。

可选地,可以通过建立该转发设备自身的ip地址与转发设备id间的映射关系;根据该转发设备id为该转发设备分配ip地址段的方式为该转发设备分配ip地址段。

更进一步地,将转发设备id添加在分配的ip地址段中,从而维护转发设备与ip地址段间的映射关系。

可选地,在存在用户接入该转发设备的情况下,将分配的ip地址段同步给该转发设备,以用于将分配的ip地址段作为路由进行通告,分配的ip地址段的路由通告在无用户接入该转发设备的情况下被撤销。优选地,为了避免避免路由重复删除添加而引起震荡,可以设置定时器,使得该分配的ip地址段的路由通告在无用户接入该转发设备时延时预设时间间隔后被撤销。

在转发设备形成转发池的场景中,转发池中的每个转发设备在发生故障的情况下可以通过流量负载分担的方式保证业务不断,也即将出现故障的转发设备/链路的流量迁移到其他转发设备/链路中。亦可以用于促使各转发设备承担的流量均衡,防止经过某一转发设备流量冲高。转发池中每个转发设备配置有多个转发设备端口。控制面根据接收到该地址请求报文的第一转发设备端口确定ip地址段,并根据该第一转发设备端口确定ip地址段,从确定的ip地址段中为该用户分配ip地址,上述ip地址段用于为接入该第一转发设备端口的用户提供ip地址资源。

可选地,在该用户与该第一转发设备端口间的网络不可达的情况下,将该用户迁移到该转发池中第二转发设备端口,以使得该用户通过该第二转发设备端口获取ip地址并进行报文转发。优选的,可以将该第一转发设备端口获取的ip地址段重新分配给该第二转发设备端口,以用于将重新分配的ip地址段作为路由进行通告,以充分利用有限的ip地址资源。

优选地,每个转发设备端口配置有多个转发池组,从该第一转发设备端口确定的ip地址段中为该用户分配ip地址包括:从该第一转发设备端口的转发池组确定的ip地址段中为该用户分配ip地址。所谓转发池组是指一个转发池下可以绑定多个端口,这些端口可以来自同一设备或者不同设备,这些端口实现负荷分担和数据备份,为了实现负荷分担,绑入转发池的每个端口被分配了特定的转发池组。具备共同特征的用户可以从同一转发池组接入,例如按用户mac或者电路信息进行转发池组的划分。

在第一转发设备端口配置有该第一转发池组与该第二转发池组,且该用户与该第一转发设备端口间的网络不可达的情况下,可以将通过第一转发池组接入的用户迁移到该转发池中第二转发设备端口;将通过第二转发池组接入的用户迁移到该转发池中第三转发设备端口。转发池组的方案可以细化负荷分担的颗粒度,使得流量在分担时更加均匀可调。

图2是根据本发明实施例的地址分配系统的结构框图一,如图2所示,该系统包括:转发设备和控制器:该转发设备,用于将用户发送的地址请求报文上报该控制器;该控制器,用于从该转发设备获取的ip地址段中为该用户分配ip地址,其中,该ip地址段用于为接入该转发设备的用户提供ip地址资源。

图3是根据本发明实施例的地址分配系统的结构框图二,如图3所示,该转发设备包括多台,该多台转发设备形成一转发池,该转发池包括第一转发设备:该第一转发设备,还用于通过第一转发设备端口将用户发送的地址请求报文上报该控制器,其中,转发池配置有多个转发设备端口;该控制器,还用于从该第一转发设备端口获取的ip地址段中为该用户分配ip地址,其中,该ip地址段用于为接入该转发设备端口的用户提供ip地址资源。

值得一提的是,上述转发设备包括但不限于宽带远程接入服务器bras,宽带网络网关bng,宽带业务网关bsg,业务路由器sr,宽带接入服务器bas,开放流逻辑交换机ofls、开放流交换机ofs,以及无线接入控制器ac。

下面结合具体实施例对本发明进行进一步说明。

本发明实施例提供一种集中地址管理方法,在控制面下挂多个转发设备的情况下,能够根据转发设备分配特定的地址段,确保地址分配集中和利用高效,同时对外按段通告路由,降低对cr的路由影响。

进一步的,转发面可以为多台转发设备构成的转发设备池,准确而言是转发池绑定有转发设备的端口。对于转发池场景,如果一台转发设备的端口下连接的链路发生问题,那么这台转发设备内的该链路用户可以切换到该转发池里的其他转发设备上继续工作,对应的路由也要切换到到新设备上由切换后的设备发布。亦或者,在一台转发设备的端口下连接的链路发生问题的情况下,那么这台转发设备内的该链路用户可以切换到该转发设备的其他端口上。

图4是根据本发明优选实施例的上线用户报文传输系统的组网图一,如图4所示,包括控制器、转发设备、用户及核心路由器。该控制器可以放在数据中心,转发设备可以放在城域网接入边缘,通过在控制器上配置各个转发设备,待连接建立好后,为转发设备分配设备id,设备id全局唯一。用户通过转发设备与核心路由器c以及控制器进行报文收发。具体的,用户发送的协议报文通过转发设备上送到控制器,用户发送的转发流量从转发设备发往核心路由器(简称cr)。

图5是根据本发明优选实施例的地址分配方法的流程图,如图5所示,该方法包括以下步骤:

步骤s501,控制器在地址池中配置待分配ip地址段大小,该待分配ip地址段的大小是可以动态配置的,可根据不同粒度进行独立配置,例如掩码配置24,如果配置的地址段是10.1.1.1/16,配置完后分成的段为10.1.1.0/24,10.1.2.0/24,10.1.3.0/24…

步骤s502,在控制器收到由转发设备上报的来自用户的地址分配请求后,根据转发设备携带的设备属性信息为用户分配ip地址。其中,该设备属性信息是唯一的,为转发设备独占,由控制面统一分配。可选地,该设备属性信息可以为设备id。可选地,上述地址分配请求可以为用户上线请求。

优选地,在控制器和转发器网络可达的情况下,在控制器上配置转发设备的远端ip地址,该转发设备的远端ip地址用于唯一标识上述转发设备。控制器和转发设备建立连接,使得控制器可以下发配置数据及流表信息。在连接建立后,根据转发设备的远端ip地址为每台设备分配一个设备id,该设备id全局唯一,同时建立转发设备ip地址和id的映射关系。在转发设备断链的情况下,恢复连接时优先根据转发设备ip分配同一设备id,以尽可能保证转发设备的设备id不变。

值得一提的是,连接建立的方式不限,可以包括但不限于基于tcp协议的netconf协议,隧道,openflow协议等。

步骤s503,判断是否已为该转发设备分配ip地址段,若判断结果为是执行步骤s504,若判断结果为否跳转执行步骤s505;

步骤s504,判断上述ip地址段中是否存在未占用地址资源,所谓ip地址段中ip地址都已分配完是指ip地址段中的地址资源全部被从上述转发设备接入的用户所占用,无空余ip地址可分配。若判断结果为否执行步骤s505,若判断结果为是跳转执行步骤s506;

步骤s505,新申请一段ip地址,优选的,可以为该ip地址段打上设备标记,该标记可以为设备id;

步骤s506,将地址段中未分配地址资源分配给用户;

具体的,分配地址时,优先选用该转发设备已分配的ip地址段,例如如果转发设备1已从10.1.1.0/24分配ip地址段,该地址段就不能被其他设备分配,如果该ip地址段有ip地址未分配,下次该从该转发设备分配ip地址的时候,优先从该ip地址段分配ip地址

步骤s507,将新分配的地址段同步到对应转发设备上,并在转发设备上发布该段路由通告;

当一段地址被新分配以后,需要将该段路由从相应的转发设备通告给核心路由器,具体而言可利用控制面和转发面之前的通道将网段路由通告出去,以使得通过核心路由器转发回来的网络侧流量能够被用户接收。

步骤s508,当该段地址全部下线时,通知对应的转发设备撤销该段路由发布

优选地,当该网段路由全部下线时,延时一段时间后,如果没有用户再上线,就从丛该转发器上撤销通告路由,避免路由重复删除添加,引起震荡。

在网络虚拟化大背景下,控制转发分离已成为未来趋势,控制面分离包括将原来分布在各个物理设备上的资源配置集中管理,尤其是地址资源管理。采用上述方式,解决了资源集中管理的问题,问题也解决了路由通告问题,避免转发设备通告用户路由引起震荡。

图6是根据本发明优选实施例的上线用户报文传输系统的组网图二,如图6所示,包括控制器、转发设备、交换机、用户及核心路由器,上述转发设备组成一个转发池。上述控制器可以放在数据中心,转发设备可以放在城域网接入边缘。在初始状态下,交换机将用户发送的地址分配报文广播给转发池中的所有转发设备,转发设备将收到的地址分配报文发送给控制器,由控制器为该用户指定转发设备,该指定的转发设备用于将用户的协议报文转发给控制器,将用户的转发流量转发给核心路由器。

在另一个可选实施例中,对于转发池场景下,在控制器上配置各个转发设备,待连接建立好后,该控制器为转发设备分配设备id,设备id全局唯一,将各个转发设备上的物理端口绑定在一个转发池组内。所谓转发池组是指一个转发池下可以绑定多个端口,这些端口可以来自同一设备或者不同设备,这些端口实现负荷分担和数据备份,为了实现负荷分担,绑入转发池的每个端口被分配了特定的转发池组。具备共同特征的用户可以从同一转发池组接入,例如按用户mac或者电路信息进行转发池组的划分。

转发池里每个端口对应有一个ip地址段,转发设备端口将用户发送的地址分配请求上送给控制器,以便于该控制器从该转发设备端口分配到的ip地址段中确定一ip地址分配给该用户。在该转发设备端口与用户之间的网络不可达的情况下,例如该转发设备端口与用户设备之间的物理链路发生故障,或该转发设备端口与用户设备之间的协议连接出现问题,将该转发设备端口下的用户迁移到转发池内其他转发设备端口下。上述其他转发设备端口也即迁移后的转发设备端口,与迁移前的转发设备端口可以属于不同转发设备,也可以为同一转发设备中的不同端口。具体的,该用户迁移方法可以为将待迁移用户的用户信息同步给其他转发设备端口,并将该发生故障的转发设备端口分配到的ip地址段释放。进一步地,sdn控制器可以将该地址段重新分配给其他转发设备端口,以使得用户能通过其他转发设备端口与sdn控制器和核心路由器进行报文收发,而不至于断链掉线。综上,在转发池组的场景下,转发设备互为备份,可增加提高服务的稳定性和可靠性。

在优选实施例中,每个转发设备端口都配置有至少一个转发池组。转发设备在上报来自用户的地址分配请求时,将转发池组的信息也携带上来,上述转发池组的信息是唯一的,为转发设备端口独占,由控制面统一分配。控制器为每个转发池组分配ip地址段。在分配的ip地址段中ip地址都已经分配完,或未获取到ip地址段的情况下新申请一段ip地址;在该转发设备已分配有ip地址段,且上述ip地址段中存在未占用地址资源,就从该地址段为用户分配ip地址。

下面以转发池绑定了三个转发设备端口为例描述端口分组流程。

转发池里的端口用于负荷分担,也即三个端口都支持用户上线。当用户发送上线报文时,三个端口都可以收到并且上送到控制面,由控制面决定该用户上线的转发设备,也即控制器确定该用户上线的转发池组。

将这个转发池下分成n个组,当转发池仅有一个端口加入时,那么这n个组都可以从该端口上线。在转发池存在两个端口的情况下,两个端口分担n个转发池组,如为第一个端口配置转发池组(1,n/2),为第二个端口配置转发池组(n/2,n)。在第三个端口加入转发池的情况下,由三份端口分担n个转发池组,以此类推。值得一提的是,一个转发池组只对应于一个端口,一个端口上可以包含多个转发池组。

在该转发设备端口与用户之间的网络不可达的情况下,例如该转发设备端口与用户设备之间的物理链路发生故障,或该转发设备端口与用户设备之间的协议连接出现问题,将该转发设备端口下的用户迁移到转发池内其他转发设备端口下。上述其他转发设备端口也即迁移后的转发设备端口,与迁移前的转发设备端口可以属于不同转发设备,也可以为同一转发设备中的不同端口。优选地,根据每台设备现在的容量,及设备的优先级等制定不同的同步策略,将发生故障的转发设备端口下的用户迁移到其他多个转发设备端口上。举例而言,控制器需将a链路的用户信息同步给转发池中的转发设备2和转发设备3,可以根据每台设备现在的容量,及设备的优先级等制定不同的同步策略,同时删除转发设备1用户信息及路由信息,在转发设备2和转发设备3上通告该端口分配的网段信息。分组是为了实现负荷分担,使得转发设备端口与用户一旦发生出现断链也即网络不可达,可以将该转发设备端口下的用户分担到多个转发设备端口。且由于每个转发池组的颗粒度小于每个转发设备端口的颗粒度,从而负荷分担的比例可调节。

可选地,可以根据用户的mac作为映射,例如对于mac进行固定的算法后,映射到一转发池组中。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

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