CN106789179B - 一种基于sdn架构的资源分配方法 - Google Patents
一种基于sdn架构的资源分配方法 Download PDFInfo
- Publication number
- CN106789179B CN106789179B CN201611092219.4A CN201611092219A CN106789179B CN 106789179 B CN106789179 B CN 106789179B CN 201611092219 A CN201611092219 A CN 201611092219A CN 106789179 B CN106789179 B CN 106789179B
- Authority
- CN
- China
- Prior art keywords
- domain
- management module
- qos
- transmission path
- resource reservation
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4645—Details on frame tagging
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/825—Involving tunnels, e.g. MPLS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于SDN架构的资源分配方法,目的是解决现有资源分配方法不能高效地利用全网网络资源,难以提供QoS保证的问题。技术方案是先构建基于三层管理节点的QoS管理架构:底层管理节点为路由器;二层管理节点为自治域服务节点S‐QoSN;顶层管理节点为总控服务节点M‐QoSN。其中,每个自治域部署一个S‐QoSN,负责本自治域的资源分配管理;全网部署一个M‐QoSN,负责跨自治域的资源分配管理。接着通过该QoS管理架构,以集中式与分布式相结合的方式对全网的QoS进行资源分配。采用本发明能根据应用业务系统的QoS和流量需求进行全局传输路径计算,能在源终端和目的终端之间建立一条确保带宽资源的QoS隧道,能高效地利用全网网络资源,提供QoS保证。
Description
技术领域
本发明涉及计算机网络技术领域,特别涉及一种基于SDN(Software DefineNetwork)架构的资源分配方法。
背景技术
随着网络技术的快速发展,带宽接入速率的不断提高,多媒体应用在互联网中得到了广泛部署。多媒体应用通常对端到端时延及带宽有着较高的需求,如网络电话、视频会议、视频点播等。因此,为了更好的支持多媒体应用,有效地为网络业务提供服务质量QoS(Quality of Service)保证成为了网络技术发展的重要难题。
对此,互联网工程任务组在QoS解决方案上提出了集成服务模型IntServ(Integrated Services)。该模型采用资源预留协议RSVP(Resource ReservationProtocol),从接受端开始向发送端逐条发送资源预约请求报文,并在路由器等网络元素上建立和维护QoS控制服务用的路径状态和预约状态,从而在发送端至接受端路径中的逐台网络元素中预留资源,来实现端到端的网络服务质量保证。但是,现有的技术通过分布式的方式(如基于约束的标签分发协议CR-LDP)进行网络资源的分配,这种分布式方式难以感知全网链路带宽的使用情况,因而不能合理地规划传输路径并高效地利用网络资源,从而导致在复杂网络条件下端到端的网络服务质量难以保证,以及全网网络资源利用率降低的问题。
鉴于此,如何设计一种基于SDN架构的资源分配方法,实现网络资源的统一管控,从而更高效地提供网络服务质量保证成为了本领域研究人员亟待解决的问题。
发明内容
本发明提供一种基于SDN架构的资源分配方法,用于解决现有技术中不能高效地利用全网网络资源,难以提供QoS保证的问题。
为了实现以上目的,本发明提供一种基于SDN架构的资源分配方法,通过以下技术方案实现:
第一步,构建基于三层管理节点的QoS管理架构。底层管理节点为路由器,负责路由信息的通告与上报,以及QoS隧道(即有资源保证的标签路径)的维护;二层管理节点为N个自治域服务节点S-QoSN(Area QoS Node),每个自治域(指一个管理机构管辖下的所有网络和路由器的全体)部署一个S-QoSN,负责本自治域的资源分配管理,N为自治域个数;顶层管理节点为总控服务节点M-QoSN(Master QoS Node),全网部署一个M-QoSN,M-QoSN与每个S-QoSN相连,负责跨自治域的资源分配管理,M-QoSN还与映射服务器相连。映射服务器是网络中装有映射数据库的服务器,映射数据库的内容为映射数据表,映射数据表的每个表项为<终端标识,与终端相连的接入路由器的ID号>。M-QoSN节点通过查询映射数据库获得终端与该终端相连的接入路由器之间的映射关系。
M-QoSN节点是一台服务器,其上安装有QoS需求输入模块、资源预留管理模块、域间QoS管理模块、流标签管理模块;S-QoSN节点也是一台服务器,其上安装有域内QoS管理模块;路由器上安装有路由管理模块、QoS隧道维护模块。
QoS需求输入模块与资源预留管理模块相连,负责接收用户提出的QoS需求(包括源终端标识、目的终端标识、带宽、跳数、协议类型、端口、通信行为的发生时间),QoS需求使用5W(Who、Where、Which、What、When)描述。Who(何人)定义需要通信的双方终端实体,即源终端标识、目的终端标识,Where(何地)定义本次传输系统需要经过的自治域(没有特殊要求时,自治域可以为空),Which(何协议)定义本次通信需要使用的协议类型、端口,What(何要求)表示本次通信要求的带宽、跳数,When(何时)定义本次通信行为的发生时间。同时,QoS需求输入模块会将QoS需求通告给资源预留管理模块。
资源预留管理模块与QoS需求输入模块、域间QoS管理模块、流标签管理模块相连。该模块接收QoS需求输入模块发送的QoS需求,并将QoS需求保存到QoS需求表中,其中QoS需求表的内容为:<源终端标识、目的终端标识、带宽、协议类型、端口、通信行为的发生时间>。该模块根据QoS需求向域间QoS管理模块发送传输路径计算请求以及资源预留请求,并负责向流标签管理模块发送流标签分配请求及流标签释放请求。资源预留管理模块将从域间QoS管理模块接收的QoS隧道的路径计算结果以及资源预留结果保存到QoS隧道管理表中。QoS隧道管理表有N1个表项,表项的内容为:<隧道ID、传输路径计算状态、资源预留状态、流标签分配状态>,其中,隧道ID是隧道的标识、传输路径计算状态表示该隧道是否完成传输路径的计算、资源预留状态表示该隧道是否完成资源预留、流标签分配状态表示该隧道是否完成流标签分配,N1等于隧道的个数。资源预留管理模块还从域间QoS管理模块接收隧道路径失效信息,若接收到隧道路径失效信息,则资源预留管理模块尝试重新建立QoS隧道,并将QoS隧道建立成功消息发送给域间QoS管理模块。
域间QoS管理模块与资源预留管理模块、域内QoS管理模块相连。该模块从资源预留管理模块接收传输路径计算请求,完成域间传输路径的计算,再根据域间传输路径的计算结果,向该域间传输路径所经过自治域的域内QoS管理模块发送域内传输路径计算请求,同时将域间传输路径的计算结果保存至域间传输路径表中。域间传输路径表为链表形式,链表的每个元素即为传输路径中的路由器ID,上游路由器ID与下游路由器ID逐个相连。域间QoS管理模块从资源预留管理模块接收资源预留请求和隧道建立成功消息,向域间传输路径所经过自治域的域内QoS管理模块发送域内资源预留请求、隧道建立成功消息。域间QoS管理模块负责从域内QoS管理模块收集域间链路状态信息、域内路径计算结果、域内资源预留结果和域内隧道路径失效信息。域间QoS管理模块维护域间链路状态数据库InterLSDB,该数据库有N2个表项,表项内容为:<路由器ID 1、路由器ID 2、最大链路带宽、可用链路带宽、不可用链路带宽>,其中,路由器ID 1、路由器ID 2表示一个域间链路两端路由器的ID,最大链路带宽表示该链路的最大链路带宽、可用链路带宽表示该链路当前可以预约的链路带宽、不可用链路带宽表示该链路当前不可预约的链路带宽,N2等于域间链路的个数。
流标签管理模块与资源预留管理模块相连。该模块对全网的流标签(流标签指用于唯一标识一个转发等价类的固定长度的短标识符)信息进行统一管理,负责接收资源预留管理模块的分配流标签请求及释放流标签请求,对流标签进行分配及释放,并将分配流标签结果及释放流标签结果发送给资源预留管理模块。流标签管理模块维护空闲流标签表和已分配流标签表,其中,空闲流标签表和已分配流标签表均以链表的形式保存数据,空闲流标签表的链表元素为空闲的流标签,初始化为1000个流标签;已分配流标签表的链表元素为已分配的流标签,初始化为空。
域内QoS管理模块与域间QoS管理模块、路由管理模块、QoS隧道维护模块相连。该模块从域间QoS管理模块接收域内传输路径计算请求,完成域内传输路径的计算,并将域内路径计算结果返回域间QoS管理模块。域内QoS管理模块从域间QoS管理模块接收域内资源预留请求,根据域内传输路径表(域内传输路径表为链表形式,链表的每个元素即为域内传输路径中的路由器ID,上游路由器ID与下游路由器ID逐个相连)的传输路径信息,向该域内路径所经过的路由器发送流标签添加消息,并将域内资源预留结果反馈到域间QoS管理模块。域内QoS管理模块从域间QoS管理模块接收域内资源释放请求,根据域内路径计算结果,向该域内路径所经过的路由器发送流标签删除消息,并将域内资源释放结果反馈到域间QoS管理模块。同时,域内QoS管理模块定期收集本自治域内路由器中QoS隧道维护模块发送的QoS隧道邻居不可达信息,当收到QoS隧道邻居不可达信息,则向域间QoS管理模块通告域内隧道路径失效信息。域内QoS管理模块维护域内链路状态数据库IntraLSDB。该数据库有N3个表项,表项内容为:<路由器ID 1、路由器ID 2、最大链路带宽、可用链路带宽、不可用链路带宽>,其中,路由器ID 1、路由器ID 2表示一个域内链路两端路由器的ID,最大链路带宽表示该链路的最大链路带宽、可用链路带宽表示该链路当前可以预约的链路带宽、不可用链路带宽表示该链路当前不可预约的链路带宽,N3等于域内链路的个数。
QoS隧道维护模块与域内QoS管理模块相连。该模块从域内QoS管理模块接收流标签添加请求或者流标签删除请求,确定流标签的生存时间,对安装在路由器的流标签表进行管理。流标签表有N4项,每个表项的内容为:<流标签、建立时间、生存时间、隧道带宽>,其中,建立时间指该表项在流标签表所建立的时间,生存时间指该流标签表项有效的生存时间,隧道带宽指该流标签对应的隧道所占用的带宽,N4等于该路由器的流标签个数。该模块还将流标签添加请求或者流标签删除请求操作结果反馈给域内QoS管理模块。同时,QoS隧道维护模块维护标签转发表,该表有N5项,每个表项的内容为:<流标签、转发接口>,其中,转发接口表示该表项中的流标签对应的转发接口,N5等于该路由器的流标签个数。QoS隧道维护模块对域间及域内传输路径上的邻居定期发送隧道维护报文,当QoS隧道维护模块检测到隧道邻居不可达时,将QoS隧道邻居不可达信息发送给域内QoS管理模块。
路由管理模块与域内QoS管理模块相连,该模块定期向域内QoS管理模块发送域内链路状态信息及域间链路状态信息,内容均为相邻路由器之间的带宽信息。
第二步,各自治域S-QoSN上的的域内QoS管理模块并行初始化域内链路状态数据库IntraLSDB,方法是:
2.1在各自治域中,域内的路由器之间通过链路状态更新报文交互域内链路状态信息,包括最大链路带宽、可用链路带宽和不可用链路带宽信息,从而使该自治域内所有路由器都具有该自治域内完整的链路状态数据。
2.2每个自治域内拥有最小路由器ID的路由器被指派为该自治域的代理路由器,每个代理路由器的路由管理模块将该自治域的域内链路状态信息上报给该代理路由器所属自治域中S-QoSN的域内QoS管理模块;
2.3各自治域的域内QoS管理模块对其域内状态数据库IntraLSDB进行初始化,即将域内链路状态信息中路由器间的最大链路带宽、可用链路带宽和不可用链路带宽信息及其相应路由器ID号填入IntraLSDB。
第三步,M-QoSN上的域间QoS管理模块初始化域间链路状态数据库InterLSDB,方法是:
3.1域间的边界路由器(指自治域的网关路由器)之间交互邻居通告消息,通过路由学习后,每个边界路由器得到本自治域到其他自治域的路由,随后每个边界路由器通过路由管理模块将本路由器的域间路由信息上报给该自治域的S-QoSN的域内QoS管理模块,再由该S-QoSN上报给M-QoSN的域间QoS管理模块。
3.2域间QoS管理模块接收域内QoS管理模块发送的域间链路信息,对域间链路状态数据库InterLSDB进行初始化,即将域间链路状态信息中路由器间的最大链路带宽、可用链路带宽和不可用链路带宽信息及其相应路由器ID号填入InterLSDB。
第四步,QoS需求输入模块接收网络管理员输入的QoS需求,并将QoS需求发送给资源预留管理模块。资源预留管理模块从QoS需求输入模块接收QoS需求消息,并将QoS需求保存到QoS需求表中。
第五步,资源预留管理模块从QoS需求输入模块接收QoS需求,向域间QoS管理模块发送传输路径计算请求。
第六步,域间QoS管理模块从资源预留管理模块接收传输路径计算请求,通过查询映射服务器确定源终端和目的终端的接入路由器,若源终端和目的终端分属不同自治域,则执行步骤6.1;若源终端和目的终端属于相同自治域,则执行步骤6.2;
6.1域间QoS管理模块进行跨域传输路径计算:
6.1.1域间QoS管理模块采用CSPF路由计算算法(基于约束的最短路径计算,被运用于MPLS流量工程中,如RFC 4105(第3页)),根据域间链路状态数据库InterLSDB,计算域间传输路径,若具有多条等价路径,转步骤6.1.7;若正好计算结果只有一条域间传输路径,转6.1.2;若不能找到满足条件的路径,域间QoS管理模块将传输路径计算结果置为失败,并发送给资源预留管理模块,转第6.3步;
6.1.2域间QoS管理模块根据域间传输路径计算结果向该路径所经过自治域的域内QoS管理模块发送域内传输路径计算请求,并将域间传输路径保存到本地的域间传输路径表中;
6.1.3域内QoS管理模块接收域间QoS管理模块发送的域内传输路径计算请求,同样采用CSPF路由计算算法,根据域内链路状态数据库IntraLSDB,计算本自治域的传输路径,若具有多条等价路径,则将多条等价路径发送给域间QoS管理模块,转步骤6.1.7;若正好计算结果只有一条域内传输路径,转6.1.4;若不能找到满足条件的路径,域内QoS管理模块将域内传输路径计算结果置为失败,并发送给域间QoS管理模块,并转第6.1.6步;
6.1.4域内QoS管理模块将域内传输路径保存到本地的域内传输路径表中,并将域内传输路径计算结果发送到域间QoS管理模块;
6.1.5域间QoS管理模块接收从域内QoS管理模块发送的域内传输路径计算结果,将传输路径计算结果发送给资源预留管理模块;转第6.3步;
6.1.6域间QoS管理模块将传输路径计算结果置为失败,并发送给资源预留管理模块,转到第6.3步;
6.1.7域间QoS管理模块按多条路径仲裁方法进行对多条等价路径进行仲裁,多条路径仲裁方法是:
6.1.7.1.选择拥有最大的预留带宽的路径;
6.1.7.2.如果最大的预留带宽的路径仍有多条,选择具有最小跳数的路径,路数在域间路径中指经过的自治域个数,在域内路径中指经过的路由器个数;
6.1.7.3.如果仍然有多条路径,随机选择一条。
6.1.8若等价路径为域间传输路径,转到步骤6.1.2;若等价路径为域内传输路径,则转到6.1.4;
6.2域间QoS管理模块进行非跨域传输路径计算:
6.2.1域间QoS管理模块向源终端和目的终端的接入路由器所在自治域的域内QoS管理模块发送域内传输路径计算请求;
6.2.2域内QoS管理模块接收域间QoS管理模块发送的域内传输路径计算请求,采用CSPF路由计算算法,根据域内链路状态数据库IntraLSDB,计算本自治域的传输路径,若具有多条等价路径,则将多条等价路径发送给域间QoS管理模块,转步骤6.2.6;若正好计算结果只有一条域内传输路径,转6.2.3;若不能找到满足条件的路径,则转第6.2.5步;
6.2.3域内QoS管理模块将域内传输路径计算结果保存到本地的域内传输路径表中,并将计算结果发送到域间QoS管理模块;
6.2.4域间QoS管理模块接收从域内QoS管理模块发送的域内传输路径计算结果,将传输路径计算结果发生给资源预留管理模块;转第6.3步;
6.2.5域间QoS管理模块将传输路径计算结果置为失败,并发送给资源预留管理模块。转到第6.3步;
6.2.6域间QoS管理模块按6.1.7所述多条路径仲裁方法对多条等价路径进行仲裁,仲裁得到的路径为域内传输路径计算结果,转到6.2.3。
6.3资源预留管理模块从域间QoS管理模块接收传输路径计算结果,如果传输路径计算结果为成功,则将QoS隧道管理表的传输路径计算状态置为成功,转第七步;如果传输路径计算结果为失败,则将QoS隧道管理表的传输路径计算状态置为失败,转第四步;
第七步,资源预留管理模块请求流标签分配,流标签管理模块对流标签进行分配方法是:
7.1资源预留管理模块向流标签管理模块发送流标签分配请求,请求全网唯一的流标签;
7.2流标签管理模块接收资源预留模块的流标签分配请求,判断空闲流标签表是否为空,若不为空,则从空闲流标签表中取出一个流标签,并插入到已分配流标签表中,同时将该流标签分配结果返回给资源预留管理模块;如果空闲流标签表为空,则向给资源预留管理模块发送流标签分配失败消息;
7.3资源预留管理模块从流标签管理模块接收流标签分配结果,若流标签分配成功,则转第八步;若流标签分配失败,则转第四步。
第八步,资源预留管理模块将流标签分配状态保存到QoS隧道管理表中,然后对网络资源进行分配,方法是:
8.1资源预留模块向域间QoS管理模块发送资源预留请求;
8.2域间QoS管理模块从资源预留管理模块接收资源预留请求,根据资源预留请求查询域间传输路径表,以获得该隧道的域间传输路径,然后向所经过所有自治域的域内QoS管理模块发送资源预留请求;
8.3域内QoS管理模块从域间QoS管理模块接收资源预留请求,根据资源预留请求查询域内传输路径表,以获得域内传输路径包含的路由器,然后向该路径包含的路由器发送流标签添加请求;
8.4路由器的QoS隧道维护模块从域内QoS管理模块接收流标签添加请求,提取流标签添加请求中的流标签、建立时间、生存时间、带宽,并将这些信息保存到路由器流标签表中,同时,将流标签、转发接口添加到路由器的标签转发表中,并将操作结果(成功或者失败)返回给域内QoS管理模块;
8.5域内QoS管理模块从路由器的QoS隧道维护模块接收返回结果,若路径包含的所有路由器的返回结果均为成功,则表明域内资源预留成功,将域内资源预留结果置为成功并发送给域间QoS管理模块;若存在一个路由器的返回结果为失败,则表明域内资源预留失败,将域内资源预留结果置为失败并发送给域间QoS管理模块;
8.6域间QoS管理模块从域内QoS管理模块接收域内资源预留结果,若路径包含的所有自治域的域内资源预留结果为成功,则表明资源预留成功,将资源预留结果置为成功并发送给资源预留管理模块;若存在一个自治域的域内资源预留结果为失败,则表明资源预留失败,将资源预留结果置为失败并发送给资源预留管理模块;
8.7资源预留模块接收域间QoS管理模块的资源预留结果,将资源预留结果保存到QoS隧道管理表中,如果资源预留结果为成功,则转第九步;如果结果为失败,则等待t秒(t一般为60),然后返回第四步,尝试重新建立QoS隧道。
第九步,资源预留管理模块逐级下发QoS隧道建立成功通知,方法是:
9.1资源预留模块发送隧道建立成功的通知到域间QoS管理模块;
9.2域间QoS管理模块从资源预留管理模块接收隧道建立成功的通知,并在本地的传输路径表中将该条传输路径置为建立成功,然后向域内QoS管理模块下发隧道建立成功的通知;
9.3域内QoS管理模块接收域间QoS管理模块发送的隧道建立成功的通知,将本地域内传输路径表中该条传输路径置为建立成功。
采用本发明可以达到以下技术效果:
1.采用基于三层管理节点的QoS管理架构,以集中式与分布式相结合的方式对全网的QoS进行资源分配;
2.能根据应用业务系统的QoS需求和流量需求进行全局的传输路径计算,并能在源终端的接入路由器和目的终端的接入路由器之间建立一条能够确保带宽资源的QoS隧道。
3.与现有的基于分布式方式的网络资源分配技术相比,本发明能够感知网络链路带宽使用情况,提高全网资源利用率,用于解决现有技术中不能高效地利用全网网络资源,难以提供QoS保证的问题。
附图说明
图1为本发明总体流程图;
图2为本发明第一步构建的基于三层管理节点的QoS管理架构示意图;
图3为本发明基于三层管理节点的QoS管理架构中软件布署逻辑结构图;
图4为本发明在QoS需求输入中的5W模型描述图。
具体实施方式
图1为本发明总体流程图;本发明包括以下步骤:
第一步,构建如图1所示的基于三层管理节点的QoS管理架构。
如图1所示,底层管理节点为路由器,负责路由信息的通告与上报,以及QoS隧道的维护;二层管理节点为N个自治域服务节点S-QoSN,每个自治域部署一个S-QoSN,负责本自治域的资源分配管理,N为自治域个数;顶层管理节点为总控服务节点M-QoSN,全网部署一个M-QoSN,M-QoSN与每个S-QoSN相连,负责跨自治域的资源分配管理,M-QoSN还与映射服务器相连。映射服务器是网络中装有映射数据库的服务器,映射数据库的内容为映射数据表,映射数据表的每个表项为<终端标识,与终端相连的接入路由器的ID号>。M-QoSN节点通过查询映射数据库获得终端与该终端相连的接入路由器之间的映射关系。
如图2所示,M-QoSN节点是一台服务器,其上安装有QoS需求输入模块、资源预留管理模块、域间QoS管理模块、流标签管理模块;S-QoSN节点也是一台服务器,其上安装有域内QoS管理模块;路由器上安装有路由管理模块、QoS隧道维护模块。
QoS需求输入模块与资源预留管理模块相连,负责接收用户提出的QoS需求(包括源终端标识、目的终端标识、带宽、跳数、协议类型、端口、通信行为的发生时间)同时,QoS需求输入模块会将QoS需求通告给资源预留管理模块。
资源预留管理模块与QoS需求输入模块、域间QoS管理模块、流标签管理模块相连。该模块接收QoS需求输入模块发送的QoS需求,并将QoS需求保存到QoS需求表中,其中QoS需求表的内容为:<源终端标识、目的终端标识、带宽、协议类型、端口、通信行为的发生时间>。该模块根据QoS需求向域间QoS管理模块发送传输路径计算请求以及资源预留请求,并负责向流标签管理模块发送流标签分配请求及流标签释放请求。资源预留管理模块将从域间QoS管理模块接收的QoS隧道的路径计算结果以及资源预留结果保存到QoS隧道管理表中。QoS隧道管理表有N1个表项,表项的内容为:<隧道ID、传输路径计算状态、资源预留状态、流标签分配状态>,其中,隧道ID是隧道的标识、传输路径计算状态表示该隧道是否完成传输路径的计算、资源预留状态表示该隧道是否完成资源预留、流标签分配状态表示该隧道是否完成流标签分配,N1由隧道的个数决定。资源预留管理模块还从域间QoS管理模块接收隧道路径失效信息,若接收到隧道路径失效信息,则资源预留管理模块尝试重新建立QoS隧道,并将QoS隧道建立成功消息发送给域间QoS管理模块。
域间QoS管理模块与资源预留管理模块、域内QoS管理模块相连。该模块从资源预留管理模块接收传输路径计算请求,完成域间传输路径的计算,再根据域间传输路径的计算结果,向该域间传输路径所经过自治域的域内QoS管理模块发送域内传输路径计算请求,同时将域间传输路径的计算结果保存至域间传输路径表中。域间传输路径表为链表形式,链表的每个元素即为传输路径中的路由器ID,上游路由器ID与下游路由器ID逐个相连。域间QoS管理模块从资源预留管理模块接收资源预留请求和隧道建立成功消息,向域间传输路径所经过自治域的域内QoS管理模块发送域内资源预留请求、隧道建立成功消息。域间QoS管理模块负责从域内QoS管理模块收集域间链路状态信息、域内路径计算结果、域内资源预留结果和域内隧道路径失效信息。域间QoS管理模块维护域间链路状态数据库InterLSDB,该数据库有N2个表项,表项内容为:<路由器ID 1、路由器ID 2、最大链路带宽、可用链路带宽、不可用链路带宽>,其中,路由器ID 1、路由器ID 2表示一个域间链路两端路由器的ID,最大链路带宽表示该链路的最大链路带宽、可用链路带宽表示该链路当前可以预约的链路带宽、不可用链路带宽表示该链路当前不可预约的链路带宽,N2由域间链路的个数决定。
流标签管理模块与资源预留管理模块相连。该模块对全网的流标签(流标签指用于唯一标识一个转发等价类的固定长度的短标识符)信息进行统一管理,负责接收资源预留管理模块的分配流标签请求及释放流标签请求,对流标签进行分配及释放,并将分配流标签结果及释放流标签结果发送给资源预留管理模块。流标签管理模块维护空闲流标签表和已分配流标签表,其中,空闲流标签表和已分配流标签表均以链表的形式保存数据,空闲流标签表的链表元素为空闲的流标签,初始化为1000个流标签;已分配流标签表的链表元素为已分配的流标签,初始化为空。
域内QoS管理模块与域间QoS管理模块、路由管理模块、QoS隧道维护模块相连。该模块从域间QoS管理模块接收域内传输路径计算请求,完成域内传输路径的计算,并将域内路径计算结果返回域间QoS管理模块。域内QoS管理模块从域间QoS管理模块接收域内资源预留请求,根据域内传输路径表(域内传输路径表为链表形式,链表的每个元素即为域内传输路径中的路由器ID,上游路由器ID与下游路由器ID逐个相连)的传输路径信息,向该域内路径所经过的路由器发送流标签添加消息,并将域内资源预留结果反馈到域间QoS管理模块。域内QoS管理模块从域间QoS管理模块接收域内资源释放请求,根据域内路径计算结果,向该域内路径所经过的路由器发送流标签删除消息,并将域内资源释放结果反馈到域间QoS管理模块。同时,域内QoS管理模块定期收集本自治域内路由器中QoS隧道维护模块发送的QoS隧道邻居不可达信息,当收到QoS隧道邻居不可达信息,则向域间QoS管理模块通告域内隧道路径失效信息。域内QoS管理模块维护域内链路状态数据库IntraLSDB。该数据库有N3个表项,表项内容为:<路由器ID 1、路由器ID 2、最大链路带宽、可用链路带宽、不可用链路带宽>,其中,路由器ID 1、路由器ID 2表示一个域内链路两端路由器的ID,最大链路带宽表示该链路的最大链路带宽、可用链路带宽表示该链路当前可以预约的链路带宽、不可用链路带宽表示该链路当前不可预约的链路带宽,N3由域内链路的个数决定。
QoS隧道维护模块与域内QoS管理模块相连。该模块从域内QoS管理模块接收流标签添加请求或者流标签删除请求,确定流标签的生存时间,对安装在路由器的流标签表进行管理。流标签表有N4项,每个表项的内容为:<流标签、建立时间、生存时间、隧道带宽>,其中,建立时间指该表项在流标签表所建立的时间,生存时间只该流标签表项有效的生存时间,隧道带宽指该流标签对应的隧道所占用的带宽,N4由该路由器的流标签个数决定。该模块还将流标签添加请求或者流标签删除请求操作结果反馈给域内QoS管理模块。同时,QoS隧道维护模块维护标签转发表,该表有N5项,每个表项的内容为:<流标签、转发接口>,其中,转发接口表示该表项中流标签对应的转发接口,N5由该路由器的流标签个数决定。QoS隧道维护模块对域间及域内传输路径上的邻居定期发送隧道维护报文,当QoS隧道维护模块检测到隧道邻居不可达时,将QoS隧道邻居不可达信息发送给域内QoS管理模块。
路由管理模块与域内QoS管理模块相连,该模块定期向域内QoS管理模块发送域内链路状态信息及域间链路状态信息,内容均为相邻路由器之间的带宽信息。
第二步,各自治域S-QoSN上的的域内QoS管理模块并行初始化域内链路状态数据库IntraLSDB。
第三步,M-QoSN上的域间QoS管理模块初始化域间链路状态数据库InterLSDB。
第四步,QoS需求输入模块接收网络管理员输入的QoS需求,并将QoS需求发送给资源预留管理模块。资源预留管理模块从QoS需求输入模块接收QoS需求消息,并将QoS需求保存到QoS需求表中。
第五步,资源预留管理模块从QoS需求输入模块接收QoS需求,向域间QoS管理模块发送传输路径计算请求。
第六步,域间QoS管理模块从资源预留管理模块接收传输路径计算请求,通过查询映射服务器确定源终端和目的终端的接入路由器,若源终端和目的终端分属不同自治域,则执行步骤6.1;若源终端和目的终端属于相同自治域,则执行步骤6.2;
6.1域间QoS管理模块进行跨域传输路径计算:
6.1.1域间QoS管理模块采用CSPF路由计算算法(基于约束的最短路径计算,被运用于MPLS流量工程中,如RFC 4105(第3页)),根据域间链路状态数据库InterLSDB,计算域间传输路径,若具有多条等价路径,转步骤6.1.7;若正好计算结果只有一条域间传输路径,转6.1.2;若不能找到满足条件的路径,域间QoS管理模块将传输路径计算结果置为失败,并发送给资源预留管理模块,转第6.3步;
6.1.2域间QoS管理模块根据域间传输路径计算结果向该路径所经过自治域的域内QoS管理模块发送域内传输路径计算请求,并将域间传输路径保存到本地的域间传输路径表中;
6.1.3域内QoS管理模块接收域间QoS管理模块发送的域内传输路径计算请求,同样采用CSPF路由计算算法,根据域内链路状态数据库IntraLSDB,计算本自治域的传输路径,若具有多条等价路径,则将多条等价路径发送给域间QoS管理模块,转步骤6.1.7;若正好计算结果只有一条域内传输路径,转6.1.5;若不能找到满足条件的路径,域内QoS管理模块将域内传输路径计算结果置为失败,并发送给域间QoS管理模块,并转第6.1.6步;
6.1.4域内QoS管理模块将域内传输路径保存到本地的域内传输路径表中,并将域内传输路径计算结果发送到域间QoS管理模块;
6.1.5域间QoS管理模块接收从域内QoS管理模块发送的域内传输路径计算结果,将传输路径计算结果发送给资源预留管理模块;转第6.3步;
6.1.6域间QoS管理模块将传输路径计算结果置为失败,并发送给资源预留管理模块,转到第6.3步;
6.1.7域间QoS管理模块按多条路径仲裁方法进行对多条等价路径进行仲裁,多条路径仲裁方法是:
6.1.7.1.选择拥有最大的预留带宽的路径;
6.1.7.2.如果最大的预留带宽的路径仍有多条,选择具有最小跳数的路径,路数在域间路径中指经过的自治域个数,在域内路径中指经过的路由器个数;
6.1.7.3.如果仍然有多条路径,随机选择一条。
6.1.8若等价路径为域间传输路径,转到步骤6.1.2;若等价路径为域内传输路径,则转到6.1.4;
6.2域间QoS管理模块进行非跨域传输路径计算:
6.2.1域间QoS管理模块向源终端和目的终端的接入路由器所在自治域的域内QoS管理模块发送域内传输路径计算请求;
6.2.2域内QoS管理模块接收域间QoS管理模块发送的域内传输路径计算请求,采用CSPF路由计算算法,根据域内链路状态数据库IntraLSDB,计算本自治域的传输路径,若具有多条等价路径,则将多条等价路径发送给域间QoS管理模块,转步骤6.2.6;若正好计算结果只有一条域内传输路径,转6.2.3;若不能找到满足条件的路径,则转第6.2.5步;
6.2.3域内QoS管理模块将域内传输路径计算结果保存到本地的域内传输路径表中,并将计算结果发送到域间QoS管理模块;
6.2.4域间QoS管理模块接收从域内QoS管理模块发送的域内传输路径计算结果,将传输路径计算结果发生给资源预留管理模块;转第6.3步;
6.2.5域间QoS管理模块将传输路径计算结果置为失败,并发送给资源预留管理模块。转到第6.3步;
6.2.6域间QoS管理模块按6.1.7所述多条路径仲裁方法对多条等价路径进行仲裁,仲裁得到的路径为域内传输路径计算结果,转到6.2.3。
6.3资源预留管理模块从域间QoS管理模块接收传输路径计算结果,如果传输路径计算结果为成功,则将QoS隧道管理表的传输路径计算状态置为成功,转第七步;如果传输路径计算结果为失败,则将QoS隧道管理表的传输路径计算状态置为失败,转第四步;
第七步,资源预留管理模块请求流标签分配,流标签管理模块对流标签进行分配方法是:
7.1资源预留管理模块向流标签管理模块发送流标签分配请求,请求全网唯一的流标签;
7.2流标签管理模块接收资源预留模块的流标签分配请求,判断空闲流标签表是否为空,若不为空,则从空闲流标签表中取出一个流标签,并插入到已分配流标签表中,同时将该流标签分配结果返回给资源预留管理模块;如果空闲流标签表为空,则向给资源预留管理模块发送流标签分配失败消息;
7.3资源预留管理模块从流标签管理模块接收流标签分配结果,若流标签分配成功,则转第八步;若流标签分配失败,则转第四步。
第八步,资源预留管理模块将流标签分配状态保存到QoS隧道管理表中,然后对网络资源进行分配,方法是:
8.1资源预留模块向域间QoS管理模块发送资源预留请求;
8.2域间QoS管理模块从资源预留管理模块接收资源预留请求,根据资源预留请求查询域间传输路径表,以获得该隧道的域间传输路径,然后向所经过所有自治域的域内QoS管理模块发送资源预留请求;
8.3域内QoS管理模块从域间QoS管理模块接收资源预留请求,根据资源预留请求查询域内传输路径表,以获得域内传输路径包含的路由器,然后向该路径包含的路由器发送流标签添加请求;
8.4路由器的QoS隧道维护模块从域内QoS管理模块接收流标签添加请求,提取流标签添加请求中的流标签、建立时间、生存时间、带宽,并将这些信息保存到路由器流标签表中,同时,将流标签、转发接口添加到路由器的标签转发表中,并将操作结果(成功或者失败)返回给域内QoS管理模块;
8.5域内QoS管理模块从路由器的QoS隧道维护模块接收返回结果,若路径包含的所有路由器的返回结果均为成功,则表明域内资源预留成功,将域内资源预留结果置为成功并发送给域间QoS管理模块;若存在一个路由器的返回结果为失败,则表明域内资源预留失败,将域内资源预留结果置为失败并发送给域间QoS管理模块;
8.6域间QoS管理模块从域内QoS管理模块接收域内资源预留结果,若路径包含的所有自治域的域内资源预留结果为成功,则表明资源预留成功,将资源预留结果置为成功并发送给资源预留管理模块;若存在一个自治域的域内资源预留结果为失败,则表明资源预留失败,将资源预留结果置为失败并发送给资源预留管理模块;
8.7资源预留模块接收域间QoS管理模块的资源预留结果,将资源预留结果保存到QoS隧道管理表中,如果资源预留结果为成功,则转第九步;如果结果为失败,则等待60秒,然后返回第四步,尝试重新建立QoS隧道。
第九步,资源预留管理模块逐级下发QoS隧道建立成功通知,方法是:
9.1资源预留模块发送隧道建立成功的通知到域间QoS管理模块;
9.2域间QoS管理模块从资源预留管理模块接收隧道建立成功的通知,并在本地的传输路径表中将该条传输路径置为建立成功,然后向域内QoS管理模块下发隧道建立成功的通知;
9.3域内QoS管理模块接收域间QoS管理模块发送的隧道建立成功的通知,将本地域内传输路径表中该条传输路径置为建立成功。
图4为本发明在QoS需求输入中的5W模型描述图。Who(何人)定义需要通信的双方终端实体,即源终端标识、目的终端标识,Where(何地)定义本次传输系统需要经过的自治域(没有特殊要求时,自治域可以为空),Which(何协议)定义本次通信需要使用的协议类型、端口,What(何要求)表示本次通信要求的带宽、跳数,When(何时)定义本次通信行为的发生时间。
Claims (13)
1.一种基于SDN架构的资源分配方法,其特征在于包括以下步骤:
第一步,构建基于三层管理节点的QoS管理架构:底层管理节点为路由器,负责路由信息的通告与上报,以及QoS隧道的维护;二层管理节点为N个自治域服务节点S-QoSN,每个自治域部署一个S-QoSN,负责本自治域的资源分配管理,N为自治域个数;顶层管理节点为总控服务节点M-QoSN,全网部署一个M-QoSN,M-QoSN与每个S-QoSN相连,负责跨自治域的资源分配管理,M-QoSN还与映射服务器相连;映射服务器是网络中装有映射数据库的服务器,映射数据库的内容为映射数据表,映射数据表的每个表项为<终端标识,与终端相连的接入路由器的ID号>;M-QoSN节点通过查询映射数据库获得终端与该终端相连的接入路由器之间的映射关系;
M-QoSN节点是一台服务器,其上安装有QoS需求输入模块、资源预留管理模块、域间QoS管理模块、流标签管理模块;S-QoSN节点也是一台服务器,其上安装有域内QoS管理模块;路由器上安装有路由管理模块、QoS隧道维护模块;
QoS需求输入模块与资源预留管理模块相连,负责接收用户提出的QoS需求并将QoS需求通告给资源预留管理模块,QoS需求包括源终端标识、目的终端标识、带宽、跳数、协议类型、端口、通信行为的发生时间;
资源预留管理模块与QoS需求输入模块、域间QoS管理模块、流标签管理模块相连,该模块接收QoS需求输入模块发送的QoS需求,并将QoS需求保存到QoS需求表中;该模块根据QoS需求向域间QoS管理模块发送传输路径计算请求以及资源预留请求,并负责向流标签管理模块发送流标签分配请求及流标签释放请求;资源预留管理模块将从域间QoS管理模块接收的QoS隧道的路径计算结果以及资源预留结果保存到QoS隧道管理表中;资源预留管理模块还从域间QoS管理模块接收隧道路径失效信息,若接收到隧道路径失效信息,则资源预留管理模块尝试重新建立QoS隧道,并将QoS隧道建立成功消息发送给域间QoS管理模块;
域间QoS管理模块与资源预留管理模块、域内QoS管理模块相连,该模块从资源预留管理模块接收传输路径计算请求,完成域间传输路径的计算,再根据域间传输路径的计算结果,向该域间传输路径所经过自治域的域内QoS管理模块发送域内传输路径计算请求,同时将域间传输路径的计算结果保存至域间传输路径表中;域间QoS管理模块从资源预留管理模块接收资源预留请求和隧道建立成功消息,向域间传输路径所经过自治域的域内QoS管理模块发送域内资源预留请求、隧道建立成功消息;域间QoS管理模块负责从域内QoS管理模块收集域间链路状态信息、域内路径计算结果、域内资源预留结果和域内隧道路径失效信息;域间QoS管理模块维护域间链路状态数据库InterLSDB;
流标签管理模块与资源预留管理模块相连,该模块对全网的流标签信息进行统一管理,负责接收资源预留管理模块的分配流标签请求及释放流标签请求,对流标签进行分配及释放,并将分配流标签结果及释放流标签结果发送给资源预留管理模块;流标签管理模块维护空闲流标签表和已分配流标签表,空闲流标签表的元素为空闲的流标签,已分配流标签表的元素为已分配的流标签;
域内QoS管理模块与域间QoS管理模块、路由管理模块、QoS隧道维护模块相连,该模块从域间QoS管理模块接收域内传输路径计算请求,完成域内传输路径的计算,并将域内路径计算结果返回域间QoS管理模块;域内QoS管理模块从域间QoS管理模块接收域内资源预留请求,根据域内传输路径表的传输路径信息,向该域内路径所经过的路由器发送流标签添加消息,并将域内资源预留结果反馈到域间QoS管理模块;域内QoS管理模块从域间QoS管理模块接收域内资源释放请求,根据域内路径计算结果,向该域内路径所经过的路由器发送流标签删除消息,并将域内资源释放结果反馈到域间QoS管理模块;同时,域内QoS管理模块定期收集本自治域内路由器中QoS隧道维护模块发送的QoS隧道邻居不可达信息,当收到QoS隧道邻居不可达信息,则向域间QoS管理模块通告域内隧道路径失效信息;域内QoS管理模块维护域内链路状态数据库IntraLSDB;
QoS隧道维护模块与域内QoS管理模块相连,该模块从域内QoS管理模块接收流标签添加请求或者流标签删除请求,确定流标签的生存时间,对安装在路由器的流标签表进行管理;该模块还将流标签添加请求或者流标签删除请求操作结果反馈给域内QoS管理模块;同时,QoS隧道维护模块维护标签转发表;QoS隧道维护模块对域间及域内传输路径上的邻居定期发送隧道维护报文,当QoS隧道维护模块检测到隧道邻居不可达时,将QoS隧道邻居不可达信息发送给域内QoS管理模块;
路由管理模块与域内QoS管理模块相连,该模块定期向域内QoS管理模块发送域内链路状态信息及域间链路状态信息,内容均为相邻路由器之间的带宽信息;
第二步,各自治域S-QoSN上的的域内QoS管理模块并行初始化域内链路状态数据库IntraLSDB,将域内链路状态信息中路由器间的最大链路带宽、可用链路带宽和不可用链路带宽信息及其相应路由器ID号填入IntraLSDB;
第三步,M-QoSN上的域间QoS管理模块初始化域间链路状态数据库InterLSDB,将域间链路状态信息中路由器间的最大链路带宽、可用链路带宽和不可用链路带宽信息及其相应路由器ID号填入InterLSDB;
第四步,QoS需求输入模块接收网络管理员输入的QoS需求,并将QoS需求发送给资源预留管理模块,资源预留管理模块从QoS需求输入模块接收QoS需求消息,并将QoS需求保存到QoS需求表中;
第五步,资源预留管理模块从QoS需求输入模块接收QoS需求,向域间QoS管理模块发送传输路径计算请求;
第六步,域间QoS管理模块从资源预留管理模块接收传输路径计算请求,通过查询映射服务器确定源终端和目的终端的接入路由器,若源终端和目的终端分属不同自治域,则执行步骤6.1;若源终端和目的终端属于相同自治域,则执行步骤6.2:
6.1 域间QoS管理模块进行跨域传输路径计算:
6.1.1 域间QoS管理模块根据域间链路状态数据库InterLSDB,计算域间传输路径,若具有多条等价路径,转步骤6.1.7;若正好计算结果只有一条域间传输路径,转6.1.2;若不能找到满足条件的路径,域间QoS管理模块将传输路径计算结果置为失败,并发送给资源预留管理模块,转第6.3步;
6.1.2 域间QoS管理模块根据域间传输路径计算结果向该路径所经过自治域的域内QoS管理模块发送域内传输路径计算请求,并将域间传输路径保存到本地的域间传输路径表中;
6.1.3 域内QoS管理模块接收域间QoS管理模块发送的域内传输路径计算请求,根据域内链路状态数据库IntraLSDB,计算本自治域的传输路径,若具有多条等价路径,则将多条等价路径发送给域间QoS管理模块,转步骤6.1.7;若正好计算结果只有一条域内传输路径,转6.1.4;若不能找到满足条件的路径,域内QoS管理模块将域内传输路径计算结果置为失败,并发送给域间QoS管理模块,并转第6.1.6步;
6.1.4 域内QoS管理模块将域内传输路径保存到本地的域内传输路径表中,并将域内传输路径计算结果发送到域间QoS管理模块;
6.1.5 域间QoS管理模块接收从域内QoS管理模块发送的域内传输路径计算结果,将传输路径计算结果发送给资源预留管理模块;转第6.3步;
6.1.6 域间QoS管理模块将传输路径计算结果置为失败,并发送给资源预留管理模块,转到第6.3步;
6.1.7 域间QoS管理模块按多条路径仲裁方法进行对多条等价路径进行仲裁;
6.1.8 若等价路径为域间传输路径,转到步骤6.1.2;若等价路径为域内传输路径,则转到6.1.4;
6.2 域间QoS管理模块进行非跨域传输路径计算:
6.2.1 域间QoS管理模块向源终端和目的终端的接入路由器所在自治域的域内QoS管理模块发送域内传输路径计算请求;
6.2.2 域内QoS管理模块接收域间QoS管理模块发送的域内传输路径计算请求,根据域内链路状态数据库IntraLSDB,计算本自治域的传输路径,若具有多条等价路径,则将多条等价路径发送给域间QoS管理模块,转步骤6.2.6;若正好计算结果只有一条域内传输路径,转6.2.3;若不能找到满足条件的路径,则转第6.2.5步;
6.2.3 域内QoS管理模块将域内传输路径计算结果保存到本地的域内传输路径表中,并将计算结果发送到域间QoS管理模块;
6.2.4 域间QoS管理模块接收从域内QoS管理模块发送的域内传输路径计算结果,将传输路径计算结果发生给资源预留管理模块;转第6.3步;
6.2.5 域间QoS管理模块将传输路径计算结果置为失败,并发送给资源预留管理模块;转到第6.3步;
6.2.6 域间QoS管理模块按多条路径仲裁方法对多条等价路径进行仲裁,仲裁得到的路径为域内传输路径计算结果,转到6.2.3;
6.3 资源预留管理模块从域间QoS管理模块接收传输路径计算结果,如果传输路径计算结果为成功,则将QoS隧道管理表的传输路径计算状态置为成功,转第七步;如果传输路径计算结果为失败,则将QoS隧道管理表的传输路径计算状态置为失败,转第四步;
第七步,资源预留管理模块请求流标签分配,流标签管理模块对流标签进行分配,方法是:
7.1 资源预留管理模块向流标签管理模块发送流标签分配请求,请求全网唯一的流标签;
7.2 流标签管理模块接收资源预留模块的流标签分配请求,判断空闲流标签表是否为空,若不为空,则从空闲流标签表中取出一个流标签,并插入到已分配流标签表中,同时将该流标签分配结果返回给资源预留管理模块;如果空闲流标签表为空,则向给资源预留管理模块发送流标签分配失败消息;
7.3 资源预留管理模块从流标签管理模块接收流标签分配结果,若流标签分配成功,则转第八步;若流标签分配失败,则转第四步;
第八步,资源预留管理模块将流标签分配状态保存到QoS隧道管理表中,然后对网络资源进行分配,方法是:
8.1 资源预留模块向域间QoS管理模块发送资源预留请求;
8.2 域间QoS管理模块从资源预留管理模块接收资源预留请求,根据资源预留请求查询域间传输路径表,以获得该隧道的域间传输路径,然后向所经过所有自治域的域内QoS管理模块发送资源预留请求;
8.3 域内QoS管理模块从域间QoS管理模块接收资源预留请求,根据资源预留请求查询域内传输路径表,以获得域内传输路径包含的路由器,然后向该路径包含的路由器发送流标签添加请求;
8.4 路由器的QoS隧道维护模块从域内QoS管理模块接收流标签添加请求,提取流标签添加请求中的流标签、建立时间、生存时间、带宽,并将这些信息保存到路由器流标签表中,同时,将流标签、转发接口添加到路由器的标签转发表中,并将操作结果返回给域内QoS管理模块;
8.5 域内QoS管理模块从路由器的QoS隧道维护模块接收返回结果,若路径包含的所有路由器的返回结果均为成功,则表明域内资源预留成功,将域内资源预留结果置为成功并发送给域间QoS管理模块;若存在一个路由器的返回结果为失败,则表明域内资源预留失败,将域内资源预留结果置为失败并发送给域间QoS管理模块;
8.6 域间QoS管理模块从域内QoS管理模块接收域内资源预留结果,若路径包含的所有自治域的域内资源预留结果为成功,则表明资源预留成功,将资源预留结果置为成功并发送给资源预留管理模块;若存在一个自治域的域内资源预留结果为失败,则表明资源预留失败,将资源预留结果置为失败并发送给资源预留管理模块;
8.7 资源预留模块接收域间QoS管理模块的资源预留结果,将资源预留结果保存到QoS隧道管理表中,如果资源预留结果为成功,则转第九步;如果结果为失败,则等待t秒,t为正整数,然后返回第四步,尝试重新建立QoS隧道;
第九步,资源预留管理模块逐级下发QoS隧道建立成功通知,方法是:
9.1 资源预留模块发送隧道建立成功的通知到域间QoS管理模块;
9.2 域间QoS管理模块从资源预留管理模块接收隧道建立成功的通知,并在本地的传输路径表中将该条传输路径置为建立成功,然后向域内QoS管理模块下发隧道建立成功的通知;
9.3 域内QoS管理模块接收域间QoS管理模块发送的隧道建立成功的通知,将本地域内传输路径表中该条传输路径置为建立成功。
2.如权利要求1所述的一种基于SDN架构的资源分配方法,其特征在于所述QoS需求使用5W即Who、Where、Which、What、When描述,Who定义需要通信的双方终端实体,即源终端标识、目的终端标识,Where定义本次传输系统需要经过的自治域,Which定义本次通信需要使用的协议类型、端口,What表示本次通信要求的带宽、跳数,When定义本次通信行为的发生时间。
3.如权利要求1所述的一种基于SDN架构的资源分配方法,其特征在于所述QoS需求表每个表项的内容为:<源终端标识、目的终端标识、带宽、协议类型、端口、通信行为的发生时间>。
4.如权利要求1所述的一种基于SDN架构的资源分配方法,其特征在于所述QoS隧道管理表有N1个表项,表项的内容为:<隧道ID、传输路径计算状态、资源预留状态、流标签分配状态>,其中,隧道ID是隧道的标识、传输路径计算状态表示该隧道是否完成传输路径的计算、资源预留状态表示该隧道是否完成资源预留、流标签分配状态表示该隧道是否完成流标签分配,N1等于隧道的个数。
5.如权利要求1所述的一种基于SDN架构的资源分配方法,其特征在于所述域间传输路径表和域内传输路径表均为链表形式,域间传输路径表的每个元素即为域间传输路径中的路由器ID,上游路由器ID与下游路由器ID逐个相连;域内传输路径的每个元素即为域内传输路径中的路由器ID,上游路由器ID与下游路由器ID逐个相连。
6.如权利要求1所述的一种基于SDN架构的资源分配方法,其特征在于所述空闲流标签表和已分配流标签表均以链表的形式保存数据,空闲流标签表初始化为1000个流标签;已分配流标签表初始化为空。
7.如权利要求1所述的一种基于SDN架构的资源分配方法,其特征在于所述域间链路状态数据库InterLSDB有N2个表项,表项内容为:<路由器ID1、路由器ID2、最大链路带宽、可用链路带宽、不可用链路带宽>,其中,路由器ID1、路由器ID2表示一个域间链路两端路由器的ID,最大链路带宽表示该链路的最大链路带宽、可用链路带宽表示该链路当前可以预约的链路带宽、不可用链路带宽表示该链路当前不可预约的链路带宽,N2等于域间链路的个数;所述域内链路状态数据库IntraLSDB有N3个表项,表项内容为:<路由器ID1、路由器ID2、最大链路带宽、可用链路带宽、不可用链路带宽>,其中,路由器ID1、路由器ID2表示一个域内链路两端路由器的ID,最大链路带宽表示该链路的最大链路带宽、可用链路带宽表示该链路当前可以预约的链路带宽、不可用链路带宽表示该链路当前不可预约的链路带宽,N3等于域内链路的个数。
8.如权利要求1所述的一种基于SDN架构的资源分配方法,其特征在于所述流标签表有N4项,每个表项的内容为:<流标签、建立时间、生存时间、隧道带宽>,其中,建立时间指该表项在流标签表所建立的时间,生存时间指该流标签表项有效的生存时间,隧道带宽指该流标签对应的隧道所占用的带宽,N4等于该路由器的流标签个数;所述标签转发表有N5项,每个表项的内容为:<流标签、转发接口>,其中,转发接口表示该表项中的流标签对应的转发接口,N5等于该路由器的流标签个数。
9.如权利要求1所述的一种基于SDN架构的资源分配方法,其特征在于第二步所述各自治域S-QoSN上的的域内QoS管理模块并行初始化域内链路状态数据库IntraLSDB的方法是:
2.1 在各自治域中,域内的路由器之间通过链路状态更新报文交互域内链路状态信息,包括最大链路带宽、可用链路带宽和不可用链路带宽信息,从而使该自治域内所有路由器都具有该自治域内完整的链路状态数据;
2.2 每个自治域内拥有最小路由器ID的路由器被指派为该自治域的代理路由器,每个代理路由器的路由管理模块将该自治域的域内链路状态信息上报给该代理路由器所属自治域中S-QoSN的域内QoS管理模块;
2.3 各自治域的域内QoS管理模块对其域内状态数据库IntraLSDB进行初始化,即将域内链路状态信息中路由器间的最大链路带宽、可用链路带宽和不可用链路带宽信息及其相应路由器ID号填入IntraLSDB。
10.如权利要求1所述的一种基于SDN架构的资源分配方法,其特征在于第三步所述M-QoSN上的域间QoS管理模块初始化域间链路状态数据库InterLSDB的方法是:
3.1 域间的边界路由器之间交互邻居通告消息,通过路由学习后,每个边界路由器得到本自治域到其他自治域的路由,随后每个边界路由器通过路由管理模块将本路由器的域间路由信息上报给该自治域的S-QoSN的域内QoS管理模块,再由该S-QoSN上报给M-QoSN的域间QoS管理模块;
3.2 域间QoS管理模块接收域内QoS管理模块发送的域间链路信息,对域间链路状态数据库InterLSDB进行初始化,即将域间链路状态信息中路由器间的最大链路带宽、可用链路带宽和不可用链路带宽信息及其相应路由器ID号填入InterLSDB。
11.如权利要求1所述的一种基于SDN架构的资源分配方法,其特征在于第六步计算域间和自治域内的传输路径的方法均为CSPF路由计算算法即基于约束的最短路径计算算法。
12.如权利要求1所述的一种基于SDN架构的资源分配方法,其特征在于6.1.7步所述多条路径仲裁方法是:
6.1.7.1.选择拥有最大的预留带宽的路径;
6.1.7.2.如果最大的预留带宽的路径仍有多条,选择具有最小跳数的路径,路数在域间路径中指经过的自治域个数,在域内路径中指经过的路由器个数;
6.1.7.3.如果仍然有多条路径,随机选择一条。
13.如权利要求1所述的一种基于SDN架构的资源分配方法,其特征在于第8.7步所述t为60。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611092219.4A CN106789179B (zh) | 2016-11-30 | 2016-11-30 | 一种基于sdn架构的资源分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611092219.4A CN106789179B (zh) | 2016-11-30 | 2016-11-30 | 一种基于sdn架构的资源分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106789179A CN106789179A (zh) | 2017-05-31 |
CN106789179B true CN106789179B (zh) | 2019-07-09 |
Family
ID=58915718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611092219.4A Active CN106789179B (zh) | 2016-11-30 | 2016-11-30 | 一种基于sdn架构的资源分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106789179B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109561473B (zh) * | 2017-09-25 | 2021-01-15 | 华为技术有限公司 | 一种通信资源的释放方法及装置、非暂态计算机存储介质 |
CN108768889A (zh) * | 2018-05-07 | 2018-11-06 | 广州大学华软软件学院 | 一种sdn网络多通道线路带宽动态分配方法 |
CN109639831B (zh) * | 2019-01-21 | 2020-07-03 | 北京邮电大学 | 与网络服务匹配的传输资源的分配方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104202264A (zh) * | 2014-07-31 | 2014-12-10 | 华为技术有限公司 | 云化数据中心网络的承载资源分配方法、装置及系统 |
CN104518993A (zh) * | 2014-12-29 | 2015-04-15 | 华为技术有限公司 | 云化网络通信路径的分配方法、装置及系统 |
CN104954226A (zh) * | 2015-07-28 | 2015-09-30 | 上海斐讯数据通信技术有限公司 | 一种基于SDN的支持QoS的通信隧道建立方法及系统 |
CN105357068A (zh) * | 2015-11-03 | 2016-02-24 | 华中科技大学 | 一种面向应用QoS保障的OpenFlow网络流量控制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150382278A1 (en) * | 2014-06-25 | 2015-12-31 | Michael F. Fallon | Techniques for Generating a Routing Table for a Mesh Network Having Ad Hoc Connections |
-
2016
- 2016-11-30 CN CN201611092219.4A patent/CN106789179B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104202264A (zh) * | 2014-07-31 | 2014-12-10 | 华为技术有限公司 | 云化数据中心网络的承载资源分配方法、装置及系统 |
CN104518993A (zh) * | 2014-12-29 | 2015-04-15 | 华为技术有限公司 | 云化网络通信路径的分配方法、装置及系统 |
CN104954226A (zh) * | 2015-07-28 | 2015-09-30 | 上海斐讯数据通信技术有限公司 | 一种基于SDN的支持QoS的通信隧道建立方法及系统 |
CN105357068A (zh) * | 2015-11-03 | 2016-02-24 | 华中科技大学 | 一种面向应用QoS保障的OpenFlow网络流量控制方法 |
Non-Patent Citations (1)
Title |
---|
《面向网络虚拟化技术的管控架构》;高先明等;《北京邮电大学学报》;20151215;第38卷(第6期);第120-126页 |
Also Published As
Publication number | Publication date |
---|---|
CN106789179A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102238443B (zh) | 一种满足波长连续性约束条件的跨域路径建路方法 | |
CN100461755C (zh) | 基于mpls te隧道的数据报文传输方法和节点设备 | |
CN100454841C (zh) | 一种多域路由计算方法和系统 | |
RU2541940C2 (ru) | Способ применения экземпляра службы к сети mpls (варианты) и сеть mpls | |
CN101065677B (zh) | 被配置用于根据规定路由协议输出指定了所连接的活动路径的检测到的属性变化的更新消息的路由器 | |
CN101502063B (zh) | 多层网络中分布式的基于pce的系统和结构 | |
CN100553232C (zh) | 一种流量工程隧道的建立方法和装置 | |
CN101610433A (zh) | 一种支持策略解析的多约束条件路由选择方法 | |
CN103155499A (zh) | 用于计算点到多点标签交换路径的备份出口的系统和方法 | |
CN1996921B (zh) | 建立业务连接的方法、路由设备、业务网络 | |
CN106789179B (zh) | 一种基于sdn架构的资源分配方法 | |
CN102571565A (zh) | 包传输装置 | |
CN101170497A (zh) | 报送网络资源信息数据的方法及装置 | |
CN103493443B (zh) | 使用子路径维护单元(spme)用于多协议标签交换(mpls)共享网格保护 | |
CN105634941A (zh) | 一种跨域路径的计算方法及装置 | |
CN100450077C (zh) | 一种在网络中路由转发的方法 | |
CN103597786A (zh) | 配置服务质量的方法和设备 | |
US8014371B1 (en) | System, model and method for evaluating a network | |
CN100579025C (zh) | 一种自动交换光网络的路由信息维护方法 | |
CN102447611A (zh) | 一种建立和拆除双向点到多点标签转发路径的方法及系统 | |
CN116319549B (zh) | 分布式流量调度方法及装置 | |
CN1756186B (zh) | 一种资源管理的实现方法 | |
CN101257455A (zh) | 基于t-mpls分组传送网络的标签预分发机制 | |
CN100370748C (zh) | 承载网间拓扑资源信息同步的实现方法 | |
CN101997760B (zh) | 一种确定转发邻接标签交换路径上首尾节点的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |